Costruire una periferica di Head Tracking professionale con 25€

1
1900

Avete appena installato il simulatore di volo ma non riuscite a gestire tutti i comandi o volete avere una visione a 360° nel vostro FPS preferito o vi siete semplicemente stufati di usare il mouse? Allora un Head Tracking fa al caso vostro! Ma vediamo nello specifico di cosa si tratta…

L’Head Tracking è una periferica che permette di tracciare i movimenti della testa dell’utente trasformandoli in comandi che possono poi essere utilizzati in gioco. Nello specifico permette di ampliare notevolmente il campo visivo permettendo di visualizzare aree che altrimenti richiederebbero l’interazione del mouse o semplicemente consentirvi di guardare in giro per aumentare la vostra consapevolezza di quello che vi sta attorno senza che questo comporti un movimento “fisico” del PG.

Esistono principalmente due tipi di head tracking quello basato sul riconoscimento facciale e quello basato sul point tracking. Il primo distingue alcune parti fisiognomiche del nostro volto (occhi, mento, naso) e ne traccia lo spostamento nello spazio; il secondo, invece, segue gli spostamenti di alcuni punti luminosi “fissati” alla testa dell’utente. Nella mia esperienza il metodo di riconoscimento facciale è risultato molto impreciso e soggetto a bug, senza considerare l’ampio dispendio di risorse (processore), per cui mi era praticamente impossibile usare l’head tracking in game. Il secondo invece utilizza dei LED ad infrarossi che vengono tracciati come punti fissi; è sicuramente più laborioso ma posso garantire che se seguirete nel dettaglio la mia guida il risultato sarà sorprendente non solo estremamente preciso ma anche molto leggero per il sistema!Il point traking “classico” è di due tipi: attaccato alle cuffie (3 LED) o attaccato ad un cappellino (3 o 4 LED). Il principio è semplice: si forniscono al PC i dati delle distanze spaziali dei led e lui tramite un algoritmo determina il centro “virtuale” di rotazione della testa e ne percepisce i movimenti. In questa guida vi presenterò solo il primo sistema (attaccato alle cuffie) che a mio parere è molto più pratico in quanto è meno ingombrante. non fa sudare, non si logora e non deve essere lavato, non limita il campo visivo ed è compatibile con le cuffie che altrimenti sarebbero da tenere sotto il cappello… non proprio comodo eh? Vediamo quindi cosa occorre

Materiali necessari: spesa stimata: 25€

  • Webcam senza filtro IR e possibilmente alti FPS (meglio PS3 Eye)
  • 3 LED infrarossi 880nm (meglio OSRAM SFH485P)
  • 1 Attaccapanni da lavanderia in fil di ferro
  • 1 resistenza opportunamente scelta
  • 1 vecchio floppy o dei vecchi negativi fotografici o alla peggio una radiografia
  • 1 fonte di alimentazione (vecchia USB o connettore dedicato, vecchio alimentatore, pile, centrale nucleare, ecc…)
  • almeno 5m di cavo elettrico bipolare piccolo
  • nastro isolante

Strumenti necessari:

  • ‍cuffie classiche “ad archetto”
  • saldatore e stagno da elettronica
  • pinze (meglio se 2 piccole), tenaglie
  • webcam almeno 320×240 (meglio PS3 Eye)
  • pazienza

Procedimento

STEP 1 – La struttura di sostegno

Come primo step iniziamo a costruire la struttura portante che verrà realizzata utilizzando un semplice appendino da lavanderia in fil di ferro. Nessuno chiaramente vi vieta di utilizzare metodi diversi o stamparvi in 3D una struttura; in ogni caso la soluzione dell’archetto a mio avviso è molto pratica e resistente inoltre vi consente di effettuare tutti gli eventuali aggiustamenti che volete.s

La base per costruire un Head Tracking

Per cominciare fate su un foglio un disegno con lo schema di posizionamento dei led come si vede in figura.

Schema di montaggio dell'Head Tracking

Le linee nere rappresentano la struttura che viene per praticità “divisa” in due triangoli rettangoli che forniranno le misure da inserire successivamente nel programma di tracking.Personalmente ho scelto di fare L1 di 10cm e L2 di 15cm ma le misure possono variare; solitamente si preferisce fare la stanghetta in alto più corta e quella in basso un po’ più lunga ed entrambe angolate a 45°. Tenete conto che più sono lunghe più il movimento è accurato ma bisognerà che la webcam abbia un campo sufficientemente ampio da poter seguire sempre i vostri movimenti.Quindi pinze e tenaglie alle mani date la forma all’appendino per renderlo come il vostro schema avendo l’accortezza di piegare l’ultimo centimetro per avere tutti i leds rivolti in avanti. La parte del gancio diventerà il blocco da applicare alle cuffie e qui dipende dal modello.Io uso le AKG K141 per giocare e fare qualunque altra cosa (le trovate in tutti gli studi di registrazione e alla rai.. sono quelle di tutti i quizzettoni esatto!!), e costando parecchio non volevo intaccarle perciò ho creato un aggancio rimovibile sostenuto da un elastico. Se avete delle cuffie da sacrificare usate colla a caldo e nastro in abbondanza!

Base dell'Head Tracking pronta

A questo punto non resta che isolare i punti di fissaggio dei led con una passata di nastro isolante e la struttura è completata.

Base dell'Head Tracking isolata

STEP 2 – La scelta dell’alimentazione

Allora intanto decidete quale fonte di alimentazione volete usare; personalmente consiglio o un vecchio alimentatore o un connettore USB 2.0. Sconsiglio vivamente soluzioni “portatili” con le pile in quanto si scaricano e non danno prestazioni sempre al 100%.Se avete scelto l’alimentatore basta leggere i dati di voltaggio e amperaggio in uscita sul retro che serviranno ad acquistare la resistenza adeguata (nel caso in figura 12V e 1.5A). Vi serve un alimentatore da almeno 4.5V per mettere 3 led in serie altrimenti dovranno essere disposti in parallelo (almeno 300mA). Quindi spellare i cavi e verificare quale sia il polo positivo fra i due e siete pronti per procedere.

Come leggere i dati di un'alimentatore

Nel caso invece in cui abbiate deciso di utilizzare la porta USB potete acquistare direttamente un connettore da assemblare o utilizzare un vecchio cavetto. Sappiate che di default una USB 2.0 fornisce una tensione di 5V ed una corrente massima di 500mA; la tensione vi servità per il calcolo della resistenza. Lo schema della porta è il seguente, voi dovete collegare i pin 1 (+5V) e 4 (ground); verificate poi il tutto con un tester per non rischiare di invertire i poli.

STEP 3 – Il circuito dei LED

Materiale elettronico per costruire un Head Tracking

Iniziamo subito col dire che i migliori LED disponibili per questa applicazione sono gli OSRAM SFH485P in quanto presentano una diffusione della luce più ampia rispetto ai LED con la capocchia tonda che direzionano il fascio tutto in avanti. Io comunque li ho comprati ma per pigrizia sono ho ancora nel cassetto in quanto utilizzo dei led generici da 880nm a cui ho appiattito la testa con un disco diamantato e il risultato è lo stesso.

Una volta scelti i LED da utilizzare dovete acquistare una resistenza adeguata; per fare questo vi servono 3 dati: tensione dell’alimentazione (es. 12V), caduta di tensione del LED (1,5V per gli OSRAM) e rapporto di corrente del LED (mA) (100mA per gli OSRAM).Questi valori vanno inseriti in uno dei tanti calcolatori automatici per resistenze (come ad esempio QUESTO che vi sceglie anche la miglior disposizione serie/parallelo, scegliete “wiring diagram” come disegno) per definire quale resistenza vi serve mettendo i 3 led in serie (o parallelo). Qualora abbiate un alimentatore con un voltaggio inferiore a 4.5V i LED dovranno essere messi in parallelo. Ricordatevi di indicare al programmino che i led sono 3!

A questo una volta comprata la resistenza adeguata inizia il lavoro pratico. Tagliate, spellate il cavo, saldate ecc… Ricordate che il LED non è una lampadina, e quindi deve essere orientato in maniera corretta o al primo collegamento si brucera! Polo positivo sul pin più lungo e negativo su quello più corto; non accorciateli alla stessa misura!

Esempio di circuito per Head Tracking

STEP 4 – Montaggio

Semplice: munitevi di nastro isolante e attaccate i led, tutti nella stessa direzione, alla struttura metallica. Coprite poi tutto con il nastro perchè altrimenti l’appendino riflette la luce dei led dando false immagini, ed ecco il risultato finale.

Head Tracking montato sulle cuffie

STEP 5 – Webcam

Ora arriva la fase più complessa e delicata. La webcam è in assoluto la componente più importante per avere un tracking preciso e stabile. Le caratteristiche più importanti che deve avere sono:

campo ampio per prendere tutti gli spostamenti anche in caso di zoom intenso o movimenti lateralialti FPS, una webcam a 30 fps darà movimenti scattosi e poco fluidi, ne servono almeno 60 per avere movimenti precisi e per permettere l’elaborazione dei dati con un filtrobassa risoluzione (es 320×240), esatto avete capito bene! più la risoluzione è alta maggiori saranno le risorse richieste per l’elaborazione e maggiore sarà il ritardo; sappiate che una bassa risoluzione non incide affatto sulla precisione!possibilità di rimuovere il filtroIR

Il mio consiglio è quello di acquistare la vecchia PS3-EyeCreate disponibile su Amazon per 12-15€. Questa rappresenta la scelta di gran lunga migliore in quanto utilizza una risoluzione di 320×240 pixel a 120 Hz e 75° di angolo visivo, insomma tutto quello che vi serve per tracking ben filtrato preciso e molto stabile al pari del professionale.

PS3 Eye

La procedura più complessa è quella necessaria per rimozione del filtro IR che altrimenti non permette di captare ed isolare il segnale dei LED. Per la procedura vi rimando a questa videoguida con un paio di raccomandazioni:

Avere mooolta pazienza, il filtro viene via ma ci vuole un po’ non abbiate frettaUsare un cutter ben affilato, scaldarlo su una fiamma vi aiuta notevolmenteEvitare di usare frese (a meno che non siate dentisti)Eseguire un’incisione tutto attorno al filtro ed andarla ad approfondire pian pianoIl filtro è spesso quasi 1mm ma è rigido e difficile da rompereEsiste un’altra versione in commercio della webcam, se trovate una configurazione interna diversa da quella nel video fate una ricerca sul web

Una volta rimosso il filtro IR è necessario metterci il nostro per permettere alla periferica di isolare selettivamente le sorgenti LEDir. Per fare questo prendete il disco interno ad un vecchio floppy (negativi fotografici o peggio la parte nera di una radiografia), sagomateli ed adagiateli nella circonferenza esterna più ampia sopra a dove avete rimosso il filtro. Per bloccarli utilizzate colla a caldo o colla vinilica, ASSOLUTAMENTE NON ATTACK che va ovunque e può intaccare la lente. QUI potete trovare la seconda parte del video sopra proposto con un esempio di applicazione del filtro.

La ps3 Eye nasce per la console ma sono stati sviluppati anche i drivers Pc che sul sito ufficiale sono a pagamento ma si possono anche trovare gratuitamente qui. Una volta scaricati potete avviare il programmino “CL-Eye test” incluso con i drivers e questo è quello che dovrebbe risultare.

Immagine esempio di Head Tracking

STEP 6 – Impostare il programma

Il programma migliore da utilizzare è a mio avviso FaceTrackNoIR. Recentemente è uscita la versione 2.00 che non è più freeware ma richiede un “obolo” di 2.85€ poichè lo sviluppatore è ammalato di cancro e richiede una piccola collaborazione per combattere la malattia e poi cavolo a mio parere se li merita tutti!!!Se non volete spendere si trova ancora la vecchia versione che funziona perfettamente anche se ha drivers un po’ datati. Unica pecca dell’ultima versione rispetto alla precedente è che è un po’ più pesante ma comunque il consumo del 3-4% della CPU sembra del tutto trascurabile…

Iniziamo con il download, dopo aver effettuato il pagamento a questo link: http://www.facetracknoir.nl/ Cliccate sull’icona di PayPal per pagare e avere il link del client e sul link verde a destra per avere gratuitamente i drivers aggiornati. Installate client e drivers quindi avviate il programma. FreeTrackNoIR è un’applicazione molto versatile e volendo incredibilmente complessa che noi sfrutteremo solo in parte, permette ad esempio di interfacciare più sistemi di tracking per aumentare la precisione o trasmettere i dati ad un altro pc in rete e molto altro. Il pannello principale è molto semplice: vi sono i vari profili che possono essere salvati e caricati, lo smoothing, le caselle per invertire gli assi se necessario, i protocolli di input e output con il relativo filtro, le scorciatoie della tastiera e le curve che sono totalmente personalizzabili in un’apposita schermata.

Tra i protocolli disponibili sceglieremo per l’acquisizione Point Tracker, come filtro Accelera Filter e come output il mitico Free Track che emula anche il TrackIR.

Configurare Face Track per l'Head Tracking

Ora aprite le impostazioni di point tracker. Dal primo menu (General) abilitate gli assi che vi servono, inizialmente consiglio per chi è nuovo a questo sistema di utilizzare solo Pitch, Yaw e Z se volete anche lo zoom; in seguito una volta acquisita la giusta dimestichezza e fatta passare la tensione cervicale si possono attivare anche X e Y. Per quanto riguarda i settaggi vanno messi al pari di quelli in figura con l’unica eccezione dello sleep time che rappresenta la frequenza di aggiornamento delle immagini al secondo come vengono “prelevate” dalla webcam. Quindi se si vogliono 120FPS teorici,e la webcam li può fare, bisogna dividere un millesimo di secondo per il numero di FPS e quindi 1000/120=8; quindi testare il valore e scendere fino a che non si raggiungono gli FPS massimi. La nuova versione tiene scarsa considerazione di questo valore, che sembra non essere più così fondamentale come la vecchia ma valori troppo bassi avranno come conseguenza un maggior numero di immagini elaborate a cui conseguirà una diminuzione di prestazioni e precisione.

Configurare gli assi e il framerate di Face Track per l'Head Tracking

Nel secondo menu a tendina troviamo le impostazione della webcam e della sua posizione che deve essere definita per avere uno zoom preciso (asse Z) che altrimenti avrà anche componenti di movimento verticale (asse Y). Per la PS3-Eye impostare la prima parte come in figura a webcam spenta, o l’applicazione crasha. L’ultimo riquadro va configurato invece a webcam accesa e quindi uscite dalle impostazioni, date lo start e rientrate. Va impostata la sensibilità del taglio (molto alta se avete fatto bene le cose), il diametro minimo dei punti e quello massimo che devono essere impostati avvicinandosi al massimo e allontanandosi al massimo in modo che il programma continui a tracciare i 3 led.

Configurare gli assi di Face Track per l'Head Tracking

 Nel terzo menu a tendina (Model) inserite le misurazioni che avete fatto. Se la webcam non riesce a tenere nella visuale tutti i movimenti cambiate l’angolazione della struttura, ma attenzione I LED NON DEVONO MAI SOVRAPPORSI IN NESSUN MOVIMENTO o l’applicazione perde il riferimento con risultati deleteri in gioco!!! Quando avete inserito i dati (in millimetri mi raccomando!) salvate. In fine se tutto è ok cliccate su Calibrate; quindi muovete la testa come vi pare fino a quando i valori non si fermano; ricliccate Calibrate e salvate.

Calibrazione di Face Track per l'Head Tracking

Nel programma esiste un pulsante Shortkeys dove potete impostare le scorciatoie su tastiera (molto limitate purtroppo) per abilitare o fermare il motore in-game.Fondamentale a tale proposito è impostare un tasto per il Center, che permetterà di resettare il tracker se si cambia la posizione della testa. Con il tasto Start/Stop potete invece avviare e bloccare il tracking (fondamentale per i simulatori di fanteria).

Sempre in questo menu può essere definito il comportamento del programma nel caso in cui venga perso il segnale e cosa succede fermando il motore. Se si imposta Zero ogni qual volta viene perso il segnale ad es. a causa di movimenti mooolto veloci, oppure se vi avvicinate troppo andando fuori campo o passate ad esempio una mano davanti alla camera, lo schermo torna a zero. Con Stay invece lo schermo rimane fermo all’ultima posizione nota anche in essenza di segnale. Esistono vantaggi e svantaggi per ognuna di queste due tipologie: zero comporta che ogni errore del software faccia ritornare per un millisecondo lo schermo al centro confondendovi; stay se per caso succede un casino (si spengolo i led, crasha il programma…) non ci capite più un cavolo! Secondo me la soluzione migliore è utilizzare Stay e tenere sulla cloche un tasto rapido del gioco per far tornare la visuale al centro in caso di emergenza.L’altra impostazione (Engine Tracker) permette di definire cosa succede premendo il tasto per lo stop: o si ferma il motore (Stop Engine) o il motore continua a tracciare senza però fornire output. Sul mio sistema ho notato che lo stop engine è buggato e schiacciando il tasto l’applicazione utilizza il 50% del processore senza motivo. Quindi per forza di cose ho dovuto utilizzare keep tracking ma non ho notato alcuna influenza negativa sulla fluidità in gioco.

Configurare i tasti su Face Track per l'Head Tracking

Ora è venuto il tempo di entrare in gioco ed impostare la sensibilità. Per i giochi che non supportano Free Track o il simulatore di TrackIR utilizzate VJoy nel menu a tendina del Game Protocol. Si tratta di un programma che crea un Joystick virtuale con cui comandare gli assi della visuale.

Premiamo quindi curves che permette di settare in appositi grafici i rapporti input/output. Chiaramente è fondamentale per avere movimenti naturali e configurarli richiede parecchio tempo. Solitamente io uso una “zona precisa” frontale dove i movimenti sono minimi per zoomare i comandi dei mezzi  e una o più zone esterne meno precise che servono solo per avere la consapevolezza di cosa vi sta attorno. Il resto sta alla vostra creatività e preferenza.

Configurare le curve di Face Track per l'Head Tracking

Ancora un’ultima cosa: nel menu a tendina File possono essere aperti e salvati vari profili del programma. Io personalmente uso un profilo per ogni gioco anche perchè non sempre gli output sono proporzionali tra i vari games e molti (tra cui arma3 ahimè) non permettono una configurazione accurata degli assi come ad esempio in DCS e molti altri simulatori di volo, cosa che invece è possibile fare nella sezione curves del programma. Chiaramente prima di iniziare a creare profili siate sicuri che le impostazioni generali siano quelle definitive o ogni volta che fare una modifica generale dovete poi riportarla su tutti i profili…

Inserisco un video di una partenza (non da manuale) con DCS Black Shark utilizzando la mia prima periferica di Head Tracking senza IR ma con dei LED rossi (la nuova è molto più precisa):

Qua trovate altre guide:

Consapevole di essere stato molto sintetico, spero che questa guida serva a qualcuno! se servono implementazioni o suggerimenti scrivetemi che li aggiungo!!Ah dimenticavo che lo stesso sistema ma professionale si può comprare sul web (completo per circa 150€) e si chiama TrackIR!!!

1 COMMENT

  1. […] Ci vengono incontro una serie di periferiche, più o meno professionali, che hanno loscopo di sopperire a questa necessità; la più famosa di tutte è il Track IR della Natural Point, periferica composta da una telecamera ad infrarossi, che va montata sul monitor principale, e da un kit di sensori (dei LED ad infrarossi appunto) che vanno montati sulle cuffie o, in alternativa, di una serie di riflettenti che vanno messi su un cappellino da indossare durante il gioco. Abbiamo già trattato questo tipo di sistema ed è presenta anche una nostra guida per la costruzione di Head Tracking ad infrarossi con € 25. […]

Comments are closed.