I dati sonar hanno una precisione sufficiente a calcolare l'orientazione delle pareti relativamente al robot. Tuttavia, quando un ostacolo si interpone tra il robot e la parete, non è più possibile effettuare correttamente la misura. Si è adottata una tecnica di stima che è in grado di ricostruire la più probabile posizione e orientazione della parete, anche in presenza di ostacoli.
Le pareti sono supposte essere verticali, con questa assunzione il problema si riduce a stimare la linea di intersezione tra la parete e il piano del pavimento.
La stima avviene memorizzando tutte le letture sonar effettuate dal robot e calcolandone l'approssimazione lineare. L'approssimazione non avviene mediante il metodo dei minimi quadrati, ma mediante una tecnica di stima robusta basata sulla minimizzazione della deviazione assoluta [24].
Chiamando
e
le coordinate dei punti sonar, cerchiamo quali
sono i valori dei parametri a,b che, sostituiti nell'equazione
minimizzano la funzione costo, data dalle deviazioni in valore assoluto:
La mediana
di un insieme di numeri
è il valore che
minimizza la somma delle deviazioni assolute (come si può verificare
derivando la
rispetto a
e ponendo a zero
la derivata)
Segue che, per b fissato, il valore che minimizza la
è
Il minimo dell'equazione
si trova azzerandone
la derivata rispetto a b
dove
va interpretato come 0. Sostituendo nella
la variabile a con la funzione
dell'equazione
, otteniamo una equazione che può
essere risolta numericamente mediante il metodo di bisezione.
Due esempi di applicazione di questa tecnica al problema della stima
del corridoio sono riportati nelle figure
e
.
Figure: Stima della posizione della parete sinistra. Il robot si
muove dall'origine degli assi verso le coordinate X positive
Figure: Stima della posizione della parete destra. Il robot si
muove dall'origine degli assi verso le coordinate X positive
Le figure sono state ricavate dai dati sonar, registrati durante una corsa di prova del robot lungo un corridoio dell'IRST. Il robot si muove dall'origine degli assi verso destra, in direzione delle ascisse positive. La prima delle due curve rappresenta la posizione del muro ricavata dalle misure di distanza dai sonar e dei dati odometrici. La seconda rappresenta la stima istantanea della posizione della parete mediante l'algoritmo di stima robusta.
L'evoluzione delle curve mostra che la stima della posizione del muro del corridoio converge rapidamente a valori molto vicini a quelli reali. Quando un numero sufficiente di punti sono stati raccolti, la stima della posizione del muro si mantiene accurata anche in presenza di aperture di corridoi o di oggetti fra il muro e il robot.