Prima di selezionare il candidato ottimo viene fatto un controllo atto ad eliminare i candidati non raggiungibili. Le posizioni non raggiungibili sono quelle per cui il robot rischia di collidere con oggetti presenti nell'ambiente durante lo spostamento effettuato per raggiungerle. Il robot raggiunge un punto candidato mediante una rotazione, atta a direzionarlo verso la posizione scelta e con una successiva traslazione che lo porta nella nuova posizione da cui eseguire il successivo passo di esplorazione.
Per valutare la raggiungibilità di una posizione l'algoritmo effettua un controllo sui punti presenti nella mappa globale. Affinchè la navigazione del robot sia sicura dovrà accadere che nessun punto si trovi all'interno del rettangolo di ingombro tracciato dal robot mentre esso si sposta nella nuova posizione.
Considero un punto di destinazione
. La traiettoria che il robot compie per
raggiungere
può essere espressa in modo parametrico, secondo la seguente formula;
![]() |
Per un qualsiasi punto
della mappa globale si può calcolare il valore di
associato. Si possono distinguere i seguenti casi:
Nel terzo caso viene effettuato il seguente controllo: se la distanza del punto considerato
è maggiore dell'ingombro del robot (fissato a 80 cm nelle prove sperimentali),
allora
sarà una destinazione valida (il candidato
considerato è raggiungibile), altrimenti
verrà scartata non essendo raggiungibile.
|
Una volta effettuato tale controllo, la scelta del candidato ottimo viene ristretta ai soli candidati
raggiungibili. In Figura 3.7 vengono visualizzati i soli candidati raggiungibili,
ottenuti a partire da quelli generati in Figura 3.5. Per rendere realmente
raggiungibile il candidato, è stato aggiunto un ulteriore controllo. Per evitare
che la parte frontale del robot urti contro qualche ostacolo nelle immediate vicinanze del
punto di destinazione (a causa della non-idealità degli spostamenti)
è stato settato a
, anzichè a
. Così facendo si ottiene un margine di sicurezza
che dipende dalla lunghezza dello spostamento effettuato. La componente
aggiunta
è stata ottenuta sperimentalmente.
|
|