• 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

La MPR obliqua, invece, permette di avere sezioni radiali delle arcate secondo piani ortogonali all’asse longitudinale delle arcate stesse, per poter studiare la

Infine, la casistica dei pazienti è stata suddivisa in 3 gruppi: un primo gruppo di 91 pazienti che presentano IgE specifiche e Prick test negativi per la nocciola; un secondo

Gli impulsi del primo generatore durano 2.59 ns, quelli del secondo durano

2 registri: il primo dove vengono registrate le presenze giornaliere degli alunni e del personale scolastico ed educativo, il secondo dove vengono registrate le presenze di tutti

Al primo edifi cio che si incontra sul percorso di visita provenien- do dal Colle di Tenda corri- sponde la sezione del Forte Giaura, al secondo il Forte Pernante, al terzo il Forte

Il modulo, dedicato alle aziende che operano con Sede Principale ed alcune Sedi Secondarie presso le quali vengono effettuate operazioni di vendita anche al dettaglio, permette

Come si può evincere dalla figura sopra citata, i frame di ingresso e di uscita vengono scambiati con delle memorie FIFO e quindi bisognerà comprendere anche i segnali per il

Due numeri sono divisibili tra loro se, scomponendoli in fattori primi, tutti i fattori del secondo numero (divisore) sono presenti anche nel primo numero (dividendo). Il primo