• Non ci sono risultati.

5.2Speci che 5.1Introduzionealladocumentazione Capitolo5Kss-KinematicSensorSystem

N/A
N/A
Protected

Academic year: 2021

Condividi "5.2Speci che 5.1Introduzionealladocumentazione Capitolo5Kss-KinematicSensorSystem"

Copied!
9
0
0

Testo completo

(1)

Kss - Kinematic Sensor System

5.1 Introduzione alla documentazione

Kss, acronimo di Kinematic Sensor System, e il software di gestione del si-stema di rilevamento della cinematica corporea. Il suo sviluppo e cominciato con questo lavoro di tesi ed e fornita una documentazione completa del codice nora scritto1.

Nei successivi paragra e data una breve descrizione di quelle che sono le speci che e le caratteristiche del programma; per maggiori approfondimenti si rimanda alla documentazione vera e propria riportata in appendice A.

5.2 Speci che

Nell'ambito della realizzazione di un sistema di gestione dei segnali acqui-siti dalla maglietta sensorizzata, si vuole realizzare un software

apposita-1La struttura della documentazione e stata generata col software Doxygen. Per chi non

conoscesse l'output di questo tool basti sapere che e un sistema di documentazione auto-matica per codice scritto in C, C++, Java, IDL (Corba) e con alcune estensioni al PHP: esso riconosce la struttura logica generale del programma attraverso le sue dipendenze gerarchiche di classi, oggetti e funzioni ed e in grado di fornire una versione preliminare di documentazione in HTML e LATEX, in generale ben organizzata, da completare da parte

(2)

Kss - Kinematic Sensor System

mente dedicato. Il linguaggio di programmazione adottato e del tipo OOD (dall'inglese Object-Oriented Design).

Il primo e necessario passo e quello di e ettuare la cosiddetta analisi e progettazione orientata agli oggetti (OOAD, Object-Oriented Analysis and Design), ossia si de niscono le linee guida di analisi e progettazione del si-stema per la soluzione di un dato problema. Questo deve essere de nito anzitutto in maniera astratta: si ha a disposizione una maglietta sensoriz-zata, la quale e indossata da un paziente che svolge degli esercizi in fase di teleriabilitazione, fornendo ad un sistema di acquisizione un set di segnali elettrici che devono essere acquisiti, elaborati, processati ed interpretati. In- ne, vista l'attuale fase di sviluppo, deve essere possibile accedere ai dati in maniera diretta.

Si devono quindi garantire le seguenti funzionalita:

 visualizzazione sullo schermo del terminale di un avatar che rappresenti in maniera intuitiva i segmenti articolari movimentati dalla maglietta sensorizzata;

 visualizzazione sullo schermo del terminale degli sviluppatori della con-dizione di funzionamento della maglietta, ossia dei segnali che essa fornisce;

 possibilita di accedere ai dati dei sensori e di interagire con l'utente tramite connessione remota;

5.3 Caratteristiche

Per la realizzazione di questo software sono state prese le seguenti decisioni:  Come gia detto nella pesentazione e stato utilizzato solo software di tipo OS (Open Source) e tale e rilasciato il presente. Il sistema operativo adottato e il GNU/Linux (distribuzione Debian, kernel 2.4.26), ma e contemplata la possibilita di esportare il tutto verso altre piattaforme;

(3)

 Il linguaggio di programmazione adottato e il C++; questo a causa della sua enorme versatilita e della sua vastissima di usione. Esso permette inoltre la realizzazione di applicazioni di tipo real time che sono richieste in questo ambito. L'editor usato e il GNU Emacs e il compilatore e il gcc versione 3.3.2;

 Per i suddetti motivi di portabilita, le librerie di interfaccia gra ca adot-tate sono le Qt - Free edition versione 3.2.3 ([22]). Esse si programma-no in C++ e soprogramma-no supportate dalle seguenti piattaforme: M$/Windows (95, 98, NT 4.0, ME, 2000, XP), Unix/X11 (Linux, Sun Solaris, HP-UX, Compaq Tru64 UNIX, IBM AIX, SGI IRIX e molte altre), Macin-tosh (Mac OS X), Embedded (piattaforme Linux col supporto frame-bu er). Sono estremamente versatili ed o rono inoltre apposite classi di interfaccia con altre applicazioni;

 Per quanto riguarda il rendering di oggetti tridimensionali, quali lo sono i modelli articolari adottati in questo lavoro sono state utilizzate le librerie OpenGL ([21]). Le Qt o rono apposite classi di interfaccia per le applicazioni OpenGL e quindi si integrano perfettamente in questo ambiente;

 Oltre alla libreria matematica fornita con la STL (Standard Templa-te Library) del C++, e stato utilizzato un'altro pacchetto di librerie matematiche: le It++ versione 3.0.3 ([13]): esso fornisce una serie di strumenti utili all'elaborazione dei segnali ed altre funzioni e classi per le applicazioni di comunicazione. Per quanto riguarda invece la visua-lizzazione gra ca dei segnali si sono utilizzate le librerie Qwt ([23]), versione 0.4.1, che forniscono applicazioni tecniche in ambiente Qt;  Per quanto riguarda la comunicazione con l'elettronica d'acquisizione

(schede integrate National Instruments 6024E pcmcia e PCI-MIO-16E-4) sono stati utilizzati i driver OS per Linux Comedi ([3]), versioni 0.7.68 (API) e 0.7.21 (lib).

(4)

Kss - Kinematic Sensor System

Figura 5.1: Finestra principale di Kss.

5.4 Interfaccia gra ca

Nel rispetto delle speci che, al momento, Kss presenta le seguenti caratteri-stiche:

 ambiente gra co di visualizzazione tridimensionale dei modelli artico-lari sviluppati;

 ambiente di acquisizione e visualizzazione gra ca dei segnali.  ambiente di pre-elaborazione dei segnali acquisiti;

5.4.1 Kss - main window

Questa nestra, visibile in g. 5.1, e l'ambiente principale di Kss. Da essa sono accessibili le opzioni principali del programma ed e splittata in due frame orizzontali: quello dell'ambiente OpenGL e quello dei menu laterali. Nel primo frame e possibile interagire col modello attraverso varie combinazioni da tastiera:

(5)

 Per cambiare il punto di vista e mouversi nell'ambiente tridimensionale si usano i tasti F1-F6 che incrementano/decrementano la posizione della telecamera lungo gli assi del sistema di riferimento principale tenendo sso il punto di osservazione;

 Per quanto riguarda il controllo in cinematica diretta delle articolazio-ni, queste sono selezionabili dal relativo menu a tendina nella toolbar e si possono incrementare gli angoli che caratterizzano le coordinate lagrangiane dei vari giunti attraverso i tasti 1-7 (1-3 per i modelli a 3 gdl, come le gambe) e decrementare con i tasti Q-U (Q-E). Il tronco si muove con i tasti 8-I e K-L ed in ne il collo con i tasti 9-O e 0-P;  E' presente un target, ragurato da una pallina rossa. Questa e mossa

nella direzione degli assi coordinati tramite le quattro frecce ed i tasti PgUp e PgDown. Questo servira per poter e ettuare degli esercizi di inseguimento ai pazienti che indosseranno la maglietta.

Dalla toolbar sono accessibili le seguenti opzioni:

 selezionare se visualizzare o nascondere il target, gli assi principali del SDR OpenGL e lo sfondo, cosiccome cambiare alcune opzioni di visualizzazione;

 caricare un le di dati corrispondenti ad un determinato movimento. Al momento i dati caricati sono valori interi e corrispondono alle gran-dezze angolari della coordinata lagrangiana associata alla essione del ginocchio2;

 selezionare i modelli articolari da muovere attraverso il menu a tendina;  ripristinare la con gurazione iniziale delle coordinate lagrangiane del modello di arto selezionato (l'essere a sembianze umane e posto ini-zialmente nella cosiddetta posizione standard descritta nella sezione 2.2);

2Questa opzione e inserita, vista l'attuale presenza di una ginocchiera sensorizzata

(6)

Kss - Kinematic Sensor System

 eseguire un'iterpolazione lineare sferica (Slerp) tra due posture dell'arto corrente acquisendole successivamente: i giunti sono controllati tramite gli angoli di Eulero e le posizioni sono convertite in termini di quater-nioni unitari per poi interpolare tra le due (si veda l'appendice C per maggiori delucidazioni);

 collegarsi in remoto tramite connessione socket TCP/IP ad un server di acquisizione e di elaborazione dei segnali provenienti dalla maglietta;  eseguire le operazioni di calibrazione e di riconoscimento di posizione;  interagire con i gra ci di visualizzazione dei segnali;

 ripristinare la con gurazione iniziale di tutti i parametri, inclusa tele-camera e posizione del target (si veda piu avanti);

 visualizzare la mappa dei caratteri associata al controllo dei modelli articolari.

Nella parte inferiore della nestra OGL si ha una serie di display, dei quali: il primo rappresenta la distanza tra l'end e ector del braccio destro (la punta della mano) e il target; i sette successivi rappresentano l'attuale valore delle coordinate lagrangiane del modello caricato (ovviamente, per i modelli a tre gdl solo i primi tre sono attivi) e in ne l'ultimo e attivo solo in fase di acquisizione e da un'indice della deformazione globale dei sensori della maglietta.

Nel secondo frame sono invece visualizzati i segnali che fornisce la ma-glietta; si hanno:

 Andamento temporale dell'uscita di un determinato canale della scheda d'acquisizione;

 Derivata prima del suddetto;  Gra co globale di tutti i canali;

(7)

Figura 5.2: Finestra di elaborazione dei dati in Kss.

5.4.2 Elaborazione dei segnali

Questa nestra, visibile in g. 5.2, e accessibile tramite la barra dei menu della nestra principale. Essa e suddivisa in due frame orizzontali: il primo, quello principale, nel quale vengono visualizzati i dati caricati e il secondo che permette le operazioni di elaborazione. Attualmente, questa netra e usata per caratterizzare le proprieta dinamiche dei sensori successivamente al veri carsi di un picco, come gia esposto nel capitolo 4.

5.4.3 Visualizzazione dei segnali

Questa nestra, visibile in g. 5.3, e accessibile tramite la barra dei menu della nestra principale. Essa e suddivisa in due frame orizzontali: il primo, quello principale, nel quale vengono visualizzati i dati dei segnali provenien-ti dalla maglietta, e il secondo che permette le operazioni di connessione all'elettronica di acquisizione e di attivare varie opzioni di elaborazione in process.

(8)

Kss - Kinematic Sensor System

Figura 5.3: Finestra di visualizzazione dei dati in Kss.

5.5 Riconoscitore di posizioni

Nello sviluppo della tecnologia dei sensori cinestetici indossabili, un obietti-vo posto e stato quello di validare la maglietta sensorizzata anzitutto come riconoscitore di posizioni. Questo e il primo passo verso una ricostruzione della cinematica vera e propria.

La logica seguita e quella di eseguire una calibrazione acquisendo un certo numero di posizioni corrispondenti a determinate uscite dei sensori, tali da costruire una relazione del tipo:

~

S ! ~Q

dove S e lo spazio dei sensori e Q e lo spazio delle con gurazioni . Il primo ha dimensioni p  c, dove p e il numero delle posizioni considerate e c e il numero dei canali acquisiti dalla maglietta, ognuno corrispondente ad un determinato sensore (in questa analisi si sono acquisiti c = 15 canali); il secondo ha invece dimensioni p  n, com n corrispondente al numero dei gradi di liberta dell'arto in considerazione (n = 7 per l'arto superiore).

(9)

Figura 5.4: Esempio gra co di riconoscimento delle posizioni tramite analisi della generica con gurazione dei segnali.

Il riconoscimento avviene acquisendo ad intervalli regolari la generica con- gurazione S e confrontandola con quelle di calibrazione di ~S cercando quella a cui e piu vicina, ossia per cui e minimo lo scarto quadratico :

j = c X i=1 (S2 i S~ij2)

con i = 1 : : : p. In gura 5.4 si riporta un esempio gra co di cio che si e detto. Notare bene che i segnali non sono ancora normalizzati.

Dall'analisi sperimentale si e poi visto che la deformazione dei sensori in-torno ad un'articolazione non in uisce molto sui rimanenti (anche se questo va ancora quanti cato). E' quindi possibile dividere l'algoritmo di riconosci-mento in tre parti, una per ogni articolazione e quindi calibrare tre posizioni distinte in una sola acquisizione.

Figura

Figura 5.1: Finestra principale di Kss.
Figura 5.2: Finestra di elaborazione dei dati in Kss. 5.4.2 Elaborazione dei segnali
Figura 5.3: Finestra di visualizzazione dei dati in Kss.
Figura 5.4: Esempio graco di riconoscimento delle posizioni tramite analisi della generica congurazione dei segnali.

Riferimenti

Documenti correlati

14.19 - Indici delle retribuzioni lorde per unità di lavoro equivalente a tempo pieno (Ula) per settore di attività

7 - Industria INdICI dEllA PRoduZIoNE INduSTRIAlE 7.1 - Indici della produzione industriale: generale, per sezione e sottosezione di attività

14.22 - Indici destagionalizzati delle retribuzioni lorde, degli oneri sociali e del costo del lavoro per unità di lavoro equivalente a tempo pieno (Ula) per i settori dell'industria

14.22 - Indici destagionalizzati delle retribuzioni lorde, degli oneri sociali e del costo del lavoro per unità di lavoro equivalente a tempo pieno (Ula) per i settori dell'industria

In ogni caso, anche alla luce del differimento del termine per la presentazione delle offerte, come già chiarito nell’ “Avviso di ulteriore differimento dei termini”,

Calcolare il lavoro totale compiuto sul blocco, il lavoro fatto dalla fune sul blocco, il lavoro fatto dalle forze di attrito sul blocco, il coefficiente di attrito dinamico

[5 punti] Si forniscano le definizioni di stabilit`a asintotica e stabilit`a BIBO per un sistema LTI e causale descritto da un’equazione differenziale lineare a coefficienti

La risoluzione di disequazioni di grado superiore al secondo è possibile se si scompone in fattori il polinomio associato.. In tal caso si studia il segno dei diversi fattori e