Questo sito utilizza cookie di terze parti per inviarti pubblicità in linea con le tue preferenze. Se vuoi saperne di più clicca QUI 
Chiudendo questo banner, scorrendo questa pagina, cliccando su un link o proseguendo la navigazione in altra maniera, acconsenti all'uso dei cookie. OK

Path Planning e Sliding Autonomy per robotica mobile in applicazioni spaziali

Tesi di Laurea Magistrale

Facoltà: Ingegneria

Autore: Alessandro Eros Piscioneri Contatta »

Composta da 107 pagine.

 

Questa tesi ha raggiunto 97 click dal 26/01/2018.

Disponibile in PDF, la consultazione è esclusivamente in formato digitale.

 

 

Estratto della Tesi di Alessandro Eros Piscioneri

Mostra/Nascondi contenuto.
Capitolo 2 - Definizione del problema e stato dell’arte 13 RICERCA_IN_AVANTI Open.insert(x s ) Mark x s as visited while (Open not empty) do x = Open.GetFirst() if (x == x g ) return SUCCESS forall u in U(x) x i = f(x,u) if x i not visited Mark x i as visited Open.insert(x i ) else resolve duplicate x i return FAILURE Per semplicità possiamo inizialmente assumere la lista Open come una coda FIFO (First In First Out). Un ciclo esegue continuamente il corpo del programma fino a quando vi è almeno un elemento all’interno della lista dei nodi Open. Ad ogni iterazione viene prelevato un elemento dalla lista Open, se questo corrisponde al nodo l’algoritmo ha trovato una soluzione è termina con successo. Al contrario, se la lista è vuota e non si è individuata una soluzione e l’algoritmo restituisce come risultato fallimento. Come si può evincere dallo pseudocodice (Codice 1) occorre tener traccia dei nodi visitati. Vi sono molteplici strutture dati che possono assolvere questo compito, come tabelle di hash, alberi, matrici, ecc.. A seconda del tipo di problema si andrà a scegliere la struttura più adatta a tale rappresentazione. Alcuni algoritmi necessitano il calcolo di uno, o più, costi da associare ad ogni stato. Se uno nodo è raggiunto più di una volta da percorsi differenti, il costo deve essere aggiornato. Questo costo può essere usato, mediante una qualche euristica, per ordinare la lista dei nodi Open. Solitamente tali costi devono avere la proprietà di monotonicità: man mano che ci si avvicina al risultato desiderato il costo deve aumentare e mai diminuire. Tale accorgimento evita il crearsi di fastidiosi cicli. Possiamo dare una visione unificata del generico funzionamento degli algoritmi di ricerca in avanti: 1. Inizializzazione: vengono inizializzate le strutture dati ed inserita nella lista Open il nodo di partenza; 2. Selezione di un vertice: selezione di un vertice da espandere (secondo una qualche euristica) dalla lista Open; 3. Applicare un azione: selezione di un azione in modo da generare un nuovo stato; Codice 1: Pseudo codice di un generico algoritmo di ricerca in avanti trato da [1].
Estratto dalla tesi: Path Planning e Sliding Autonomy per robotica mobile in applicazioni spaziali