L’ultima novità tecnologica relativa alle Hmi viene da Microchip che ha recentemente proposto una tecnologia di interfaccia gestuale multitouch e 3D. Si tratta della fusione di due tecnologie, la PCap (Projected Capacitive) con la tecnologia GestIC per il riconoscimento nello spazio (quindi 3D) dei gesti senza contatto fino a 20 centimetri dalla superficie. Questa combinazione porta a un sistema di interfaccia gestuale molto evoluto che, oltre ad operare nello spazio tridimensionale, consente di riconoscere il gesto dell’articolazione di più dita della mano. Questo sistema di interfaccia oltre ad essere un periferica Hmi di un qualsiasi sistema embedded può essere anche la periferica di interazione Hmi di un Pc, in quanto il suo firmware alla connessione Usb consente al sistema operativo del Pc, senza istallazione di driver, di rilevarne automaticamente la presenza e di utilizzarla come una periferica di interazione Hid (Human interface device).
La Projected Capactitive Multitouch Technology
La tecnologia Projected Capacitive Multitouch è stata integrata da Microchip nel controller MTCH6303, un dispositivo di signal processing molto avanzato che che consente di rilevare fino a 10 dita che toccano il display tipicamente a 100 Hz per cinque tocchi. Si tratta di una variante della tecnologia del touch capacitivo, e consiste in una matrice di righe e colonne di materiale conduttivo stratificato su fogli di vetro. Applicando una tensione a questa griglia si ottiene un campo elettrostatico uniforme. Qualsiasi oggetto (per esempio le dita di una mano) che entra in contatto con tale campo elettrostatico, ne deforma la sua struttura. La misura di questa distorsione consente di rilevare il gesto e interpretarlo per farne conseguire un comando all’applicazione cui fa riferimento il sistema PCap. Ci sono varie modalità di costruzione di un PCap. Questo kit utilizza la tecnologia del campo elettrico e consente di rilevare il gesto sia per contatto con il display, sia a distanza (fino a 20 cm) senza contatto. Per lo sviluppatore l’utilizzo del kit per realizzare una interfaccia gestuale ad alto livello è abbastanza facile in quanto è disponibile un ambiente di sviluppo di tipo Gui (Aurea 2.0), che consente di parametrizzare in maniera semplice l’interfaccia e verificarne il funzionamento attraverso una grafica molto efficace e intuitiva. Il kit di sviluppo è basato sul chip MTCH6303 PCap controller e sull’MGC3130 3D gesture controller, e un sensore touch trasparente da 8 pollici che consente la prototipazione rapida dell’applicazione. Nell’insieme il kit realizza un sistema completo per tracciare il movimento della mano a 200 Hz e interpretarne i pattern.
I gesti e il riconoscimento
Il riconoscimento dei gesti è un’attività di pattern recognition abbastanza complessa che richiede un’elevata capacità computazionale. Nel caso del kit DV102014 in parte questa capacità viene espletata dai due controller, il 2D PCap e il 3D GestIC, in parte dal software di controllo dell’applicazione Colibri suite che esegue un algoritmo di pattern matching basato sula Hmm (Hidden Markov Models) che consente il riconoscimento dei gesti indipendentemente dal soggetto che interagisce con il sistema. Il riconoscimento avviene entro certi limiti operativi. Il gesto più semplice e tipico è il cosiddetto Flick, Un movimento della mano o del dito in una specifica direzione. I movimenti Flick vengono effettuati nella sensing area, riconosciuti e tradotti in un codice gestuale grafico o numerico. I gesti circolari sono movimenti della mano impostati su una traiettoria circolare avente una direzione (oraria o antioraria). Questi sono di due tipologie: Discrete Circle, movimenti circolari della mano eseguiti nell’area di sensing che vengono terminati con uno stop del moto circolare o un’uscita dall’area di sensing; il riconoscimento è in base alla forma e alla durata e Airwheel, movimenti circolari della mano di natura continua (senza stop) che permangono nell’area di sensing; il riconoscimento è in base alla forma e alla durata e viene conteggiato anche il numero di giri (orari e antiorari) effettuati.