L'immagine di profondità del corridoio a partire dai dati sonar viene generata mediante semplici procedure di geometria tridimensionale. Le equazioni dei piani della pareti laterali, del pavimento e del soffito viengono ricavate, dopodiché si calcola il punto di intersezione tra la linea di vista che passa per un pixel dell'immagine e ognuno dei piani:
L'equazione di un piano in uno spazio tridimensionale ha la forma
dove i primi tre parametri sono legati alla normale del piano dalla relazione
La linea di vista passante per un pixel viene espressa in forma parametrica con
dove t è il parametro,
è il vettore che congiunge il
centro ottico con il pixel, e
è il vettore della posizione
della telecamera.
Mettendo in sistema le equazioni
e
si individua il valore del parametro nel punto di intersezione:
per cui il vettore del punto di intersezione è
e la distanza tra il centro ottico della telecamera e il punto di intersezione è data da
Nel caso in cui il prodotto scalare
fosse pari
a zero, il muro e la linea di vista non hanno intersezioni, quindi la
distanza viene considerata infinita.
Per ogni pixel vengono calcolati i punti di intersezione con i quattro
piani che costituiscono il corrodoio. Vengono scartate le intersezioni
che avvengono alle spalle del robot, e, delle restanti, si sceglie la
più vicina, che è quella che determina la distanza lungo la
linea di vista del pixel considerato. La distanza viene poi convertita
in disparità. Il risultato finale è riportato in figura
.
Figure: Modello di profondità del corridoio, calcolato sulla base
della posizione delle pareti stimate dai dati sonar. Punti più scuri
corrispondono a punti più lontani.