next up previous contents
Next: Scelta del candidato ottimo: Up: Scelta del punto di Previous: Generazione dei candidati   Indice

Raggiungibilità di un candidato

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 $ P_D(x_D,y_D)$. La traiettoria che il robot compie per raggiungere $ P_D$ può essere espressa in modo parametrico, secondo la seguente formula;

\begin{displaymath}\begin{cases}x(u) = x_D \cdot u \\ y(u) = y_D \cdot u \end{cases}\end{displaymath}    

in cui per $ u=0$ ($ u_{min}$) il robot si trova nella sua posizione originale (il centro del sistema di riferimento considerato) e per $ u=1$ ($ u_{max}$) si trova nella posizione di destinazione.

Per un qualsiasi punto $ P(x_P,y_P)$ della mappa globale si può calcolare il valore di $ u$ associato. Si possono distinguere i seguenti casi:

  1. $ u<u_{min}$: il punto $ P$ si trova dietro il robot.
  2. $ u>u_{max}$: il punto $ P$ si trova oltre il punto di destinazione $ P_D$.
  3. $ u_{min}<u<u_{max}$: il punto $ P$ si trova tra il punto di partenza e quello di destinazione.

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 $ P_D$ sarà una destinazione valida (il candidato considerato è raggiungibile), altrimenti $ P_D$ verrà scartata non essendo raggiungibile.

Figura 3.6: In figura viene mostrata una destinazione non raggiungibile a causa della presenza del punto 4, all'interno del rettangolo d'ingombro del robot
\resizebox{9cm}{5cm}{\includegraphics{images/dest.eps}}

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) $ u_{max}$ è stato settato a $ 1+0.85/\rho$, anzichè a $ 1$. Così facendo si ottiene un margine di sicurezza che dipende dalla lunghezza dello spostamento effettuato. La componente $ 0.85/\rho$ aggiunta è stata ottenuta sperimentalmente.

Figura 3.7: La scelta del candidato ottimo viene effettuata nell'insieme dei candidati raggiungibili


next up previous contents
Next: Scelta del candidato ottimo: Up: Scelta del punto di Previous: Generazione dei candidati   Indice
umberto 2004-04-16