Per chi non lo sapesse Lighthouse è il sistema di rilevamento della posizione che usa il Vive mentre Constellation è il sistema che usa il Rift. Entrambi i sistemi hanno dei pro e dei contro ma io vorrei spiegarvi perché secondo me il migliore e Lighthouse.
Premetto che non ho provato nessuno dei due sistemi ma ho una certa esperienza nei sistemi ottici di misura di distanza, lavoro in una azienda italiana che fa apparecchi per metrologia e io mi occupo della progettazione ottica di strumenti che usano varie tecnologie ottiche per misurare le distanze e le forme senza contatto. Sistemi ottici a proiezione d'ombra, a triangolazione laser, a tempo di volo, interferometri, luce strutturata etc. Ho una buona esperienza dei pro e dei contro di queste tecnologie.
A breve inizierò ad aggiungere una descrizione dei due sistemi, sono graditi i vostri pareri ovviamente ;-)
Constellation
Il sistema Constellation usato da Oculus è composto da una o più telecamere posizionate in modo da riprendere il visore e i controller che devono essere tracciati. Il visore e i controller sono dotati di numerosi punti luminosi che vengono tracciati dalle telecamere, questi punti luminosi devono essere dispoti nei visore e nei controller in una configurazione tale che ad ogni istante, (indipendentemente dalla orientazione dei suddetti, ci sia almeno un certo numero minimo di led inquadrati dalla telecamera, in genere il numero minimo per utilizzare questa tecnica è 3, ma più sono e meglio è.
La disposizione in cui sono messi i led è chiamata Constellation e non è un caso, infatti il modo con cui il sistema rileva le posizioni è simile a quello che usavano gli astronomi per identificare una posizione in cielo. Si può infatti identificare univocamente una stella sulle miliardi che sono presenti in cielo basandosi semplicemente sulla forma e orientazione del triangolo che forma con altre due stelle adiacenti.
L'obiettivo però in questo caso non è di identificare il led ma la posizione del visore nello spazio. Sistema di oculus è un misuratore ottico a triangolazione. Ogni immagine catturata dalla telecamera presenta una serie di puntini luminosi. Il sistema si basa sulla forma dei triangoli e sul fatto che i led sono impulsati a periodi diversi per identificare in modo univoco ogni led. Poi conoscendo la disposizione geometrica di fabbrica con cui i led sono disposti sul visore (le loro mutue distanze in millimetri) e l'orientamento angolare del visore (che conosce grazie ad un giroscopio presente in esso) può stimare la distanza e posizione semplicemente dalla distanza tra i punti luminosi misurata nel frame.
Si tratta di triangolazione perché la distanza tra i led nel frame altro non è che un angolo che la distanza reale in millimetri tra i led sottende alla telecamera. Immaginiamo che la telecamera inquadri un campo corrispondente ad un cono di 45° se i due punti luminosi sono ai bordi opposti del frame vuol dire che la loro distanza sottende alla telecamera un angolo di 45°, e di conseguenza, conoscendo la distanza reale in millimetri tra i due led si può misurare la distanza tra il visore e la telecamera con la semplice trigonometria.
Punti deboli.
-la risoluzione con cui misuri le distanze dipende dal numero di pixel che ci sono tra un led e l'altro nel frame. Ovviamente questo numero aumenta quando sei più vicino alla telecamera e riduce quando ti allontani, cosicché il sistema è più preciso a misurare le distanze se sei a poche decine di cm dalla telecamera e la precisione crolla quando ti trovi a metri di distanza. A propri si può obiettare che basterebbe aumentare la risoluzione della telecamera ma così facendo si aumenta la capacità di calcolo necessaria per processare i dati.
-da qui l'altro punto debole: per funzionare questo sistema ha bisogno di acquisire una enorme quantità di frame hd al secondo e quindi necessità di una capacità e una velocità di trasmettere e processare i dati molto alta.
- altro punto debole di questa tecnologia è il campo di vista inquadrato dalla telecamera, tale Fov è limitato, 55° circa e questo impedisce di mettersi troppo vicino alla telecamera perché si rischia di finire fuori campo, al tempo stesso non si può aumentare il fov perché questo porterebbe sia a distorsioni ottiche ma soprattutto a una perdita di risoluzione dovuta al fatto che i pixel sono distribuiti su una fov maggiore
- la necessità di acquisire i segnali video delle telecamere impone il collegamento diretto di queste al pc tramite porte usb aumentando il numero di cavi necessari per una configurazione multi telecamera ( necessaria per il room scale)
Oculus può fare il room scale?
In teoria si in pratica è un inferno (almeno a mio parere). Il motivo è che probabilmente saranno necessarie almeno 4 telecamere per fare il room scale con tutto l'intreccio di cavi necessario perché ogni telecamera va collegata al pc tramite una porta usb.
Perché servono 4 telecamere? A priori ne basterebbero 2, una nella parete opposta all'altra nella stanza. In questo modo si può evitare che girandoci di 180 gradi occultiamo con il nostro corpo i controller alla telecamera che cosi perderebbe il segnale e non potrebbe più tracciarne il movimento. Il problema però è che le telecamere hanno un fov stretto, intorno alla 50ina di gradi. Se siamo troppo vicini alla telecamera rischiamo di non essere inquadrati, se siamo troppo lontani perdiamo in risoluzione. Esiste una distanza limite al di la della quale la risoluzione si riduce sotto gli standard necessari. A questa distanza limite però purtroppo non possiamo muoverci troppo perché dopo poche decine di cm usciremmo dal campo di vista. La prova di questa limitazione la abbiamo vista al GDC: nelle demo di oculus touch venivano usate due telecamere ma entrambe erano disposte sulla stessa parete quindi non servivano per poter giocare a 360°, la loro funzione era ovvia: aumentare il campo orizzontale inquadrato, infatti finché una telecamera deve tracciare solo il movimento della testa di una persona seduta il rischio di uscire fuori campo è zero. Ma quando iniziamo a dover tracciare anche i movimenti delle mani e piccoli spostamenti laterali di una persona il campo da inquadrare e molto maggiore di quello che può coprire una singola telecamera a quella distanza. Ecco perché oculus ne usava due sulla stessa parete. Ecco perchè oculus touch verrà venduto con un'altra telecamera: non per il room scale ma per metterla sulla stessa parete della prima per giocare con i controller ma limitati ancora ai 180°. Ed ecco perché stimo che per avere il room scale serviranno almeno 4 telecamere
Il sistema Lighthouse
Questo sistema condivide con Constellation la tecnica di misura a triangolazione ottica ma lavora in modo differente.
È composto da un paio di illuminatori da appendere ai due angoli opposti della stanza e da qualche decina di fotodiodi (misuratori di luce distribuiti sul visore e sui controller un po come erano distribuiti i led nel sistema Constellation.
Gli illuminatori posseggono due scanner laser ciascuno, questi scanner proiettano due linee che scorrono una dall'alto verso il basso e l'altra da sinistra a destra. Il campo inquadrato da questo scanner è di 120° in tutte e due le direzioni (ne basterebbero 90 nel caso di stanze con pareti ad angoli retti quindi tutta la stanza risulta inquadrata non ci sono punti al di fuori del fov. A cosa servono i laser?
All'inizio dell scansione viene fatto un breve flash con dei led infrarossi, il flash serve a far capire, ai fotodiodi che lo rilevano e quindi al pc, che il processo di scansione sta iniziando. A questo punto il pc comincia a contare il tempo che scorre mentre la linea scanner orizzontale scende e arriva ad illuminare il led. Il pc sa che il secondo picco di luce vuol dire che il fotodiodo è stato investito dal laser e contando il tempo trascorso sa in che angolazione stava puntando lo scanner quando il fotodiodo è stato investito dalla sua luce. Dopodiché parte il secondo laser scanner (quello della linea verticale). Anche in questo caso il pc identifica l'angolo misurando il tempo intercorso dal flash iniziale.
La precisione con cui vengono misurati questi angoli dipende principalmente dalla precisione in cui il pc misura i tempi ed è una precisione molto alta e maggiore rispetto a quella ottenibile da Constellation contando i pixel tra un punto luce e l'altro.
Ma cosa se ne fa il pc di questi due angoli?
Grazie ai due angoli il pc identifica la retta che collega il proiettore al fotodiodo però ancora non ha la distanza, senza l'aiuto di almeno un altro fotodiodo non ci sarebbe modo di sapere dove, lungo questa retta è posto il visore.
Pero similmente a Constellation il visore è fatto in modo che in ogni istante, indipendentemente dal l'orientamento del visore, almeno tre fotodiodi sono affacciati al medesimo scanner. In questo modo il pc per due fotodiodi conosce la direzione delle due rette che li uniscono allo scanner e quindi ricava l'angolo relativo tra queste due rette. Sapendo qual'è la distanza in mm tra i due fotodiodi nel visore e conoscendo l'angolo delle due rette ricava la distanza di essi dal proiettore e finalmente identifica una posizione univoca nello spazio
Trovate delle immagini e gif esplicative in questa pagina:
http://www.hizook.com/blog/2015/05/1...obotics?ref=HN
Punti deboli.
-Principalmente uno: gli specchi e le superfici altamente riflettenti, Se ne avete nella stanza dovete oscurarli altrimenti non funzionerà niente.
Alcuni potrebbero pensare che la necessità di usare fotodiodi anziché led sia un punto negativo in realtà i fotodiodi costano poco quanto i led se non meno e sicuramente non necessitano della stessa potenza di alimentazione per funzionare.
-Resta però la necessità di dotare ogni gadget di cui vogliamo tracciare la posizione di una connessione senza fili per trasmettere i dati al pc, cosa che invece non è necessaria nel caso dei led quindi con Lighthouse ogni gadget tracciabile potrebbe essere più costoso della controparte Constellation.
Vantaggi del Lighthouse non solo per il room scale
-Campo inquadrato senza limiti: avendo i due laser una fov di 120 gradi, se li piazziamo agli angoli della stanza avremo l'intero campo coperto. Bastano quindi solo due scanner per il room scale.
-I laser scanner non vanno collegati al pc, basta solo collegarli alla presa di corrente: molti meno cavi in giro.
- Siccome la risoluzione dipende dalla capacità di misurare i tempi del fotodiodo la misura è molto più accurata di quello che fa Constellation contando il numero di pixel tra i punti luce. Anche in questo caso la risoluzione diminuisce con la distanza ma essendo una risoluzione elevatissima il problema non si pone e Lighthouse funziona bene anche a distanza di numerosi metri
- la quantità di dati da processare e centinaia di volte inferiore rispetto a Constellation perché qui bastano una manciata di fotodiodi, cioè una manciata di numeri mentre in Constellation si tratta di un frame hd composto da qualche milione di pixel che è una matrice con milioni di numeri.
- Con Lighthouse si può giocare anche seduti e in qualunque punto della stanza la precisione sarà altissima, con Constellation bisogna mettersi per forza davanti alla telecamera e non troppo lontani da essa.
- Questa la aggiungo come mia ipotesi: esiste la possibilità di poter sfruttare il segnale della telecamera posta davanti al Vive e il segnale dello scanner per ricavare una scansione 3D della stanza in modo simile (anche se un po diverso) a quello che otteneva il kinect...(in teoria sarebbe possibile ma non so se ci sono limiti hardware a cui non ho ancora pensato, ci sono però delle voci in giro che parlano di una feature misteriosa della cam del Vive e potrebbe trattarsi di questo.
Conclusione
In base a tutte queste considerazioni la mio opinione è che la tecnologia Lighthouse del Vive è superiore a quella Constellation del Rift, c'è una tale differenza che sembra quasi una tecnologia di seconda generazione e se mi permettete di fare una previsione: alla fine Lighthouse diventerà lo standard, le prossime versioni dell'oculus e tutti i visori di seconda generazione useranno Lighthouse, chi compra il Vive adesso potrebbe non dover comprare un nuovo sistema di tracciamento anche se decidesse di passare alla nuova generazione. Mentre non vedo futuro per la tecnologia Constellation
Fine del mega post ;-)