DoRG

Some Algorithms


Navigazione monosensore a scelta singola

Un semplice esempio di come affrontare la navigazione in ambiente sconosciuto da parte di un robot dotato di visione locale elementare (bumper o sensore di prossimità). Il sensore è singolo e posto in posizione frontale. Si ipotizza che il suo range di rilevazione sia compreso approssimativamente tra i 2 e i 10 cm.
GoFwd
Il punto di partenza dell'algoritmo è l'azione "go fwd" fino a che non trova un oggetto. Durante l'azione "go fwd" si esegue periodicamente l'azione "object?" da parte del sensore che darà risposta negativa o positiva. Se negativa si torna all'azione "go fwd" ciclicamente, se positiva si esegue l'azione "go left" ciclicamente combinata con l'azione "object?".
In pratica abbiamo due cicli combinati in forma di "otto" che funzionano alternativamente a seconda che il robot trovi un ostacolo frontale oppure no.


Navigazione multisensore a scelta multipla

Questo è un esempio un po' più complesso di navigazione in ambiente sconosciuto, sempre con visione parzialmente locale elementare (bumper e sensori di distanza). I sensori sono posti sempre in posizione frontale ma i sensori di distanza rilevano oggetti a distanza maggiore, idealmente tra 20 e 100 cm. Non c'è una singola azione di disimpegno (go left) ma più di una.
GoFwd
L'azione di partenza è "navigate", la somma delle singole azioni (catena) determina l'azione totale e l'azione totale è sempre ciclica. Il risultato di una azione la chiameremo convenzionalmente "situazione".

In verde ci sono le azioni semplici (cw, ccw, ...).
In giallo ci sono le azioni complesse o multiple (look around).
In grigio ci sono le situazioni risultanti dalla visione "a distanza".

Partendo dall'inizio dell'algoritmo etichettato con "navigate", passiamo all'azione (logicamente corretta) "go fwd" che accoppiata dall'azione sottintesa "object?" genererà due situazioni abbastanza ovvie:
e


Entrambi i casi sono interessanti perché in entrambi i casi ci sono oggetti nell'intorno del robot.

Caso "no object":

Caso "object":

Alla fine di ogni catena si torna al punto di inizio "navigate" per ricominciare di nuovo.



Sorry, No items found for Navigation
There are no comments on this page.
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki