• Non ci sono risultati.

1 La misura della posizione mediante interfaccia hand free

N/A
N/A
Protected

Academic year: 2021

Condividi "1 La misura della posizione mediante interfaccia hand free"

Copied!
10
0
0

Testo completo

(1)

1 La misura della posizione mediante interfaccia

hand free

1.1 Motivazione ed obiettivi

Lo scopo di questa tesi è quello di creare un’interfaccia hand free in grado di fornire una misura dello spostamento dell’utente, che sia poco pesante ed ingombrante in modo da essere utilizzata anche per lunghi periodi di tempo.

La scelta effettuata è stata quella di strutturare un sistema sensorizzato su di un paio d’occhiali in maniera da lasciare i movimenti completamente liberi durante lo spostamento.

Con spostamento possiamo intendere sia una vera e propria deambulazione da parte dell’utente che una semplice variazione d’inclinazione, o rotazione della testa.

La motivazione di un sistema basato su occhiali è collegata sia all’accuratezza di movimento con cui il soggetto riesce a governare la propria testa, sia all’intuitività d’uso che all’elevata tollerabilità in fase di vestizione.

La nostra sarà un’interfaccia per la navigazione interattiva in ambienti di realtà virtuale, pertanto quello che ci prefiggiamo non è tanto di avere una misura precisa ed accurata della posizione, ma piuttosto quello di avere una buona stima di quello che è stato lo spostamento: non è infatti importante, ai fini della navigazione in un ambiente, avere una lettura estremamente precisa dello spostamento reale, in quanto l’utente non è in grado di distinguere con esattezza gli errori di spostamento tra il mondo reale e quello virtuale, tuttavia avendo esso una grande sensibilità sui versi dello spostamento, sarà necessario mettere in atto un’interfaccia sufficientemente pronta e sensibile. Inoltre bisogna tener conto quando l’ambiente di lavoro è dissociato da quello reale (come nel caso della realtà virtuale) l’isocinematica tra spostamenti reali e digitali non è un prerequisito estremamente stringente.

(2)

Si pensi ad esempio ad un’interfaccia di navigazione d’uso comune quale il mouse: com’è ben noto, grazie a questo dispositivo è possibile spostare con facilità un puntatore in un ambiente bidimensionale, nonostante l’accuratezza nella misura di quest’ultimo sia ben lungi dall’essere elevata; un esperimento che chiunque può fare è quello di portare il puntatore del mouse, nel centro del monitor, ed iniziare a muoverlo a destra e sinistra con frequenza piuttosto elevata, salterà subito all’occhio un fenomeno di drift che porterà il puntatore verso un lato del monitor, pur essendo lo spostamento a valor medio nullo. Il fenomeno è abbastanza comune e riscontrabile in vari dispositivi per la navigazione, dove non si ha a disposizione il sistema di riferimento assoluto: infatti i vari errori commessi nella misura vanno a sommarsi, in modo che ripetendo più volte lo stesso spostamento si può assistere ad un fenomeno di drift.

Se però l’errore commesso è abbastanza limitato, questo fenomeno non è particolarmente fastidioso, visto che il drift non sarà apprezzabile se non per frequenze molto alte, con cui sicuramente non avremo a che fare.

Nel nostro progetto quindi, cercheremo di stimare gli spostamenti, cercando di trovare il giusto compromesso tra accuratezza e percezione della posizione, tenendo presente che l’interazione dell’operatore porterà il compenso dovuto, essendo infatti un errore di posizione intrinseco nella scelta delle componenti del sistema (basato su sensori di accelerazione). Il compito del setup di un sistema di navigazione per ambienti virtuali, non è tanto quello di rendere l’interfaccia il più accurata possibile quanto quella di rendere l’interazione la più interattiva e governabile possibile.

Ciò spiega l’introduzione anche di un metodo di navigazione aggiuntivo basato sull’inclinazione pura della testa (Joystick like Navigation) che nulla ha a che vedere con gli spostamenti reali ma sopperisce bene alla difficoltà di navigazione in spazi estesi.

Rimane comunque inteso che se si riuscisse ad ottenere una misura fedele della posizione, ancor più numerose sarebbero le applicazioni di tali interfaccia: in ambito medico ad esempio, monitorando per lungo tempo gli spostamenti della testa, si potrebbero associare particolari patologie a particolari tipi di movimenti ripetuti; ciò è comunque fattibile solamente se si dispone di una lettura molto accurata.

(3)

In particolare nel secondo capitolo, si cercherà di trovare un algoritmo che minimizzi gli errori di lettura della posizione, in modo tale da minimizzare l’effetto di drift, ed al tempo stesso creare una procedura generale usabile anche in futuri sviluppi di tale progetto.

Una delle specifiche fondamentali che cercheremo di tener presente, sarà il costo totale del dispositivo: in commercio infatti esistono già dispositivi, quali i tracker ad ultrasuoni, che consentono anche una misura precisa della posizione, ma che hanno per contro un ingombro maggiore e sopratutto un costo piuttosto elevato.

1.2 Descrizione del sistema di navigazione

Il sistema di navigazione da noi studiato sfrutta uno schema di questo tipo:

Aggiorname nto della posizione Stima della posizione Misura della accelerazione

La stima della posizione viene effettuata tramite un set di microsensori (basati su tecnologia MEMS) distribuiti lungo la geometria degli occhiali. Un’opportuna calibrazione del sistema (descritta più avanti) provvederà a convertire gli stimoli elettrici generati dai sensori d’accelerazione in un segnale vettoriale (a sei componenti) collegato con le accelerazioni della testa.

In queste condizioni appare evidente che il sistema dovrà compensare per un ampio numero di fattori quali:

• Errori di misura dell’accelerazione lineare (errori collegati al sensore). • Rumori elettrici e meccanici, nella misura e nel trattamento del segnale. • Errori di discretizzazione e quantizzazione.

• Geometria e distribuzione dei sensori.

(4)

Un adeguato trattamento del segnale consentirà da queste componenti di ottenere una stima del segnale d’accelerazione.

Una volta ottenuta la misura dell’accelerazione, sarà possibile ricavare la posizione, impiegando un opportuno algoritmo d’integrazione doppio, visto e considerato il legame che esistente tra le due grandezze, esprimibile come:

(

( )

)

0 0

)

(t a t dt dt v t p

p =

+ +

dove con e intendiamo rispettivamente la posizione e l’accelerazione lineare in funzione del tempo di un generico punto nello spazio, mentre con e , la velocità e la posizione iniziale.

) (t

p a(t)

0

v p0

Si può quindi pensare di realizzare l’interfaccia, prendendo un paio d’occhiali, e andando a montare su di essa degli accelerometri come in figura

Fig. 1.2.1: occhiali vista frontale e prospettica

In questo modo sarà possibile monitorare l’accelerazione della testa dell’utente, e grazie ad essa si potrà risalire alla spostamento da lui compiuto.

(5)

Per il loro corretto utilizzo gli occhiali dovranno venire indossati in maniera naturale, senza dover prestare attenzione alla perpendicolarità col terreno, rispettando ovviamente certi limiti: se è infatti impensabile che colui che indossa gli occhiali sia in grado di posizionarli in maniera perfetta, non dovrà neanche accadere che vengano indossati in posizione capovolta.

Nel nostro sistema sarà inoltre presente una pulsantiera, dove saranno inseriti tre tasti: uno per il reset esterno della posizione, uno per il cambio di modalità di navigazione che ci apprestiamo a discutere nel prossimo paragrafo, ed uno da premere al momento dell’indosso.

Sebbene possa sembrare un controsenso inserire una pulsantiera in un’interfaccia di tipo hand free, va ricordato che in realtà l’utilizzo di tale oggetto è necessario soltanto nel momento d’indosso, e diventa totalmente opzionale in fase d’utilizzo.

Fig. 1.2.2: pulsantiera

L’utente, una volta indossati gli occhiali, dovrà premere il tasto d’indosso iniziale, avendo l’accortezza di stare il più fermo possibile con la testa per qualche istante, dopodiché potrà navigare nell’ambiente virtuale, camminando in avanti/indietro e lateralmente o anche inclinando la testa, in base al tipo di modalità scelta (selezionata

(6)

Fig. 1.2.3 : possibile utilizzo degli occhiali .

Se si sceglie di navigare deambulando, ad ogni spostamento frontale o laterale che sia, sarà associato uno spostamento dello stesso tipo nell’ambiente virtuale, se invece si sceglie di navigare inclinando la testa, ad inclinazioni laterali (roll) saranno associati spostamenti laterali nello stesso verso (inclinazione verso sinistra Æ spostamento verso sinistra), mentre ad inclinazioni in alto o in basso (pitch) saranno associati spostamenti di tipo frontale (inclinazione verso il basso Æ spostamento in avanti); maggiore sarà l’inclinazione della testa, e maggiore sarà la velocità di spostamento nel verso corrispondente.

In entrambi i tipi di navigazione, si dovrà far sì che l’interfaccia non risenta delle piccole ma inevitabili rotazioni della testa fatte involontariamente dall’utente, onde evitare grossi problemi di controllo della posizione.

Per ritornare nella posizione iniziale l’utente potrà o muoversi di conseguenza oppure, per velocizzare la procedura, premere il pulsante di reset (tale velocizzazione è particolarmente utile in fase di prototipazione).

(7)

Gli occhiali dovranno infine comunicare con il PC, o con qualche altro generico dispositivo remoto che implementa l’ambiente virtuale: a tal fine la pulsantiera è dotata di un cavo seriale semplice (RS232).

L’alimentazione viene prelevata da batterie che sono state inserite nella pulsantiera, questo al fine di non avere un ulteriore filo che vada ad un eventuale alimentatore: tale filo infatti insieme al cavo seriale, limiterebbe non poco i movimenti dell’utente.

1.3 Obiettivi della tesi

Come già accennato in precedenza, la testa di una persona che cammina può essere assimilata ad un sistema a sei gradi di libertà: alle tre componenti d’accelerazione lineari dovute alla camminata vanno infatti aggiunte le tre componenti d’accelerazione angolare dovute alle possibili rotazioni della testa.

(8)

I 3 gradi di deambulazione I 3 gradi di rotazione

Fig. 1.3.1 : I sei gradi di libertà illustrati

Sebbene il monitoraggio di tutti e sei i gradi di libertà sia senz’altro utile, in taluni casi può essere non necessario: gli ambienti virtuali ad esempio seppur tridimensionali, difficilmente consentono la navigazione lungo l’asse verticale z durante una deambulazione, inoltre durante la deambulazione, un utente non compie rotazioni di tipo pitch e roll di valore elevato. Uno strumento che monitora pertanto soltanto tre o quattro gradi di libertà dei sei presenti, può benissimo andar bene nella maggioranza dei tipi d’applicazione.

Un’ulteriore semplificazione che si può apportare è quella di creare uno strumento che consenta due modalità di navigazione separate, una in cui l’utente deambula non

(9)

compiendo movimenti volontari di rotazione della testa di alcun tipo, ed una in cui sta fermo (ad esempio stando seduto) e naviga inclinando la testa.

Tale semplificazione non fa perdere molto di generalità all’utilizzo del dispositivo, anche se avremo il limite di non poter deambulare compiendo rotazioni della testa di tipo yaw, ma fornisce in compenso una notevole semplificazione alla complessità del sistema, che viene portato ad avere due soli gradi di libertà alla volta.

Nello sviluppo di questo progetto, studieremo una possibile soluzione per il monitoraggio completo di tutte e sei le variabili di sistema, che come vedremo comporterà un ampio numero di problemi non risolubili soltanto a livello software, e ci concentreremo pertanto sulla semplificazione appena citata, che sarà fondamentale per il funzionamento e l’economia della nostra interfaccia.

1.4 Applicazioni

Le applicazioni di questo tipo d’interfaccia sono molte: • Navigazione in ambienti virtuali

• Applicazioni per persone disabili • Applicazioni di carattere medico • Utilizzo come sensore di movimento

in sistemi di tipo estremamente complesso, quali gli ambienti virtuali, l’utilità dell’interfaccia è notevole: in tali ambienti il grado d’interazione dell’individuo è talmente elevato che il solo uso delle mani non è sufficiente, è infatti tipico che l’individuo abbia entrambe le mani occupate nell’interazione con un’interfaccia aptica, ovvero un dispositivo elettro-meccanico con ritorno di forza, capace di consentire ad un operatore un’interazione tattile con ambienti virtuali o sistemi remoti teleoperati. In tal caso è richiesto che la navigazione sia effettuata o tramite una vera e propria deambulazione, o tramite rotazioni della testa.

Il dispositivo può comunque essere utilizzato per qualsiasi altro tipo d’applicazione dove si abbia la necessità di spostare un oggetto in uno spazio bidimensionale, come ad esempio il puntatore di un mouse, sostituendo quindi qualsiasi tipo d’interfaccia

(10)

che richieda l’utilizzo delle mani: si evince pertanto l’utilità che può avere nelle applicazioni per persone disabili.

Abbiamo già accennato all’utilità che si potrebbero avere in ambito medico, soprattutto per quanto riguarda la diagnosi delle patologie, ma com’è facile immaginare, per far sì che gli errori siano minimi, dovremo dotare il nostro dispositivo di sensori molto più costosi (giroscopi), perdendo quindi la specifica di basso costo. Nei prossimi capitoli discuteremo anche di qualche possibile soluzione per adattare l’interfaccia a tali applicazioni.

Figura

Fig. 1.2.1:   occhiali vista frontale e prospettica
Fig. 1.2.2:  pulsantiera
Fig. 1.2.3 :  possibile utilizzo degli occhiali  .
Fig. 1.3.1 :  I sei gradi di libertà illustrati

Riferimenti

Documenti correlati