In many fields of Robotics and Artificial Intelligence path planning task is really important. Path planning is the search of a path from a state A to a state B. If an agent can make a high quality plan, it will execute its work more easily. Trajectory planning is a specific kind of path planning specialized in the construction of a trajectory travelable by an autonomous vehicle from a start configuration of the vehicle to a goal configuration of the vehicle. To have a high quality plan it is important that the trajectory found is feasible by the vehicle. If it is unfeasible or it is done without considering kinematic and dynamic constraints of the vehicle, there are possibilities of collisions or fails in the execution phase. The goal of this thesis is the creation of a planner for an autonomous ATV (All Terrain Vehicle) to be used in exploration missions, integrated with ROS middleware installed on the vehicle, and, if possible, easy to port to other vehicles, e.g., differential drive vehicles or UAVs (Unmanned Aerial Vehicles). It is important to consider that terrains traversed by an ATV vehicle can be irregular and faster path can be more dangerous. Other important aspects to contemplate are the vehicle constraints and the possibility of overtaking of the vehicle. All these factors influence the quality of the resulted trajectory because an unsafe or an unfeasible path planned can lead to a robot break or to a human intervention (when possible). In our work, we have used and extended the SBPL (Search Based Planning Library), a planning library that exploits search algorithms to find an optimal path between two states into a graph. The graph is obtained by making a discretization on the vehicle state space. We have extended the library by creating new environments for the planner and goo d lattice primitives to reproduce accurately the behavior of the vehicle. Two softwares have been used to face the latter problem: ACADO and Bocop. Moreover, to take into account the morphology of the terrain we have developed a method to create a cost map; we take into account the slopes in the terrain using heights reported on a DEM (Digital Elevation Model) of the place where the plan is done. Finally a particular cost function is used, to consider both of the morphology of the terrain and the time to execute a plan found.

Il processo di pianificazione è molto importante nell'ambito della Robotica e dell'Intelligenza Artificiale. Per pianificazione si intende la ricerca di un percorso da uno stato A a uno stato B. Se un agente riesce a effettuare una pianificazione di alta qualità, allora sarà molto più semplice effettuare il proprio lavoro. La pianificazione di traiettoria è un particolare processo di pianificazione che si occupa di costruire una traiettoria sotto forma di percorso attraversabile da un veicolo autonomo, partendo da una configurazione iniziale. Per generare un piano di alta qualità è importante che si considerino tutti gli aspetti e i vincoli necessari affinché la traiettoria individuata sia effettivamente attuabile. Se non fosse percorribile, o comunque venisse costruita senza prendere in considerazione vincoli cinematici e dinamici del robot, la pianificazione fatta potrebbe portare a collisioni o errori nella fase di esecuzione. L'obiettivo principale della tesi è la creazione di un pianificatore utilizzabile su un ATV (All Terrain Vehicle) autonomo principalmente a scopo di missioni di esplorazione, integrato con il middleware ROS che è installato sul veicolo. Questo tipo di veicolo ha una cinematica Ackermann e durante la pianificazione è necessario tenerne conto. Inoltre, se possibile, il pianificatore dovrebbe essere facilmente portabile ad altre tipologie di veicolo, ad esempio veicoli con cinematica differential drive o UAV (Unmanned Aerial Vehicle), come, ad esempio, droni a quattro rotori. Nel caso di un ATV, è importante considerare che il terreno attraverso il quale il veicolo può passare non è regolare, quindi percorsi più brevi o con una velocità di percorrenza elevata possono essere più pericolosi di altri percorsi. Di conseguenza durante la pianificazione è importante considerare anche i limiti del veicolo, tra cui la possibilità di ribaltamento. Infatti un percorso non sicuro o non percorribile può portare il robot al danneggiamento o alla necessità di un intervento umano. Nel nostro lavoro per costruire un pianificatore efficace, abbiamo utilizzato ed esteso una libreria chiamata SBPL (Search Based Planning Library) che affronta i problemi di pianificazione usando degli algoritmi di ricerca in grado di trovare il percorso ottimo tra due stati di un grafo. Il grafo è ottenuto attuando una discretizzazione dello spazio degli stati del robot. Noi abbiamo esteso la libreria creando un nuovo ambiente per la pianificazione e un set di primitive di moto che riproducano accuratamente il comportamento del veicolo. Per affrontare quest'ultimo problema sono stati utilizzati due software per la soluzione di problemi di controllo ottimo: ACADO e Bocop. Le primitive sono state infatti generate risolvendo il problema di controllo ottimo che porta da una configurazione del veicolo a un’altra. Inoltre, per tenere in considerazione la morfologia del terreno è stato utilizzato un metodo particolare per creare delle mappe di costo che tiene conto dell'altezza o della pendenza del terreno nei vari punti (la seconda modalità è quella usata in via definitiva) partendo da una rappresentazione DEM (Digital Elevation Model) del luogo nel quale la pianificazione avviene. Infine, è stata utilizzata una pa rticolare funzione di costo per tenere in considerazione sia le caratteristiche del terreno sia il tempo impiegato per percorrere il percorso trovato.

On the development of a search-based trajectory planner for an Ackermann vehicle in rough terrains

CONFORTO, ANDREA
2013/2014

Abstract

In many fields of Robotics and Artificial Intelligence path planning task is really important. Path planning is the search of a path from a state A to a state B. If an agent can make a high quality plan, it will execute its work more easily. Trajectory planning is a specific kind of path planning specialized in the construction of a trajectory travelable by an autonomous vehicle from a start configuration of the vehicle to a goal configuration of the vehicle. To have a high quality plan it is important that the trajectory found is feasible by the vehicle. If it is unfeasible or it is done without considering kinematic and dynamic constraints of the vehicle, there are possibilities of collisions or fails in the execution phase. The goal of this thesis is the creation of a planner for an autonomous ATV (All Terrain Vehicle) to be used in exploration missions, integrated with ROS middleware installed on the vehicle, and, if possible, easy to port to other vehicles, e.g., differential drive vehicles or UAVs (Unmanned Aerial Vehicles). It is important to consider that terrains traversed by an ATV vehicle can be irregular and faster path can be more dangerous. Other important aspects to contemplate are the vehicle constraints and the possibility of overtaking of the vehicle. All these factors influence the quality of the resulted trajectory because an unsafe or an unfeasible path planned can lead to a robot break or to a human intervention (when possible). In our work, we have used and extended the SBPL (Search Based Planning Library), a planning library that exploits search algorithms to find an optimal path between two states into a graph. The graph is obtained by making a discretization on the vehicle state space. We have extended the library by creating new environments for the planner and goo d lattice primitives to reproduce accurately the behavior of the vehicle. Two softwares have been used to face the latter problem: ACADO and Bocop. Moreover, to take into account the morphology of the terrain we have developed a method to create a cost map; we take into account the slopes in the terrain using heights reported on a DEM (Digital Elevation Model) of the place where the plan is done. Finally a particular cost function is used, to consider both of the morphology of the terrain and the time to execute a plan found.
BASCETTA, LUCA
ING - Scuola di Ingegneria Industriale e dell'Informazione
29-apr-2014
2013/2014
Il processo di pianificazione è molto importante nell'ambito della Robotica e dell'Intelligenza Artificiale. Per pianificazione si intende la ricerca di un percorso da uno stato A a uno stato B. Se un agente riesce a effettuare una pianificazione di alta qualità, allora sarà molto più semplice effettuare il proprio lavoro. La pianificazione di traiettoria è un particolare processo di pianificazione che si occupa di costruire una traiettoria sotto forma di percorso attraversabile da un veicolo autonomo, partendo da una configurazione iniziale. Per generare un piano di alta qualità è importante che si considerino tutti gli aspetti e i vincoli necessari affinché la traiettoria individuata sia effettivamente attuabile. Se non fosse percorribile, o comunque venisse costruita senza prendere in considerazione vincoli cinematici e dinamici del robot, la pianificazione fatta potrebbe portare a collisioni o errori nella fase di esecuzione. L'obiettivo principale della tesi è la creazione di un pianificatore utilizzabile su un ATV (All Terrain Vehicle) autonomo principalmente a scopo di missioni di esplorazione, integrato con il middleware ROS che è installato sul veicolo. Questo tipo di veicolo ha una cinematica Ackermann e durante la pianificazione è necessario tenerne conto. Inoltre, se possibile, il pianificatore dovrebbe essere facilmente portabile ad altre tipologie di veicolo, ad esempio veicoli con cinematica differential drive o UAV (Unmanned Aerial Vehicle), come, ad esempio, droni a quattro rotori. Nel caso di un ATV, è importante considerare che il terreno attraverso il quale il veicolo può passare non è regolare, quindi percorsi più brevi o con una velocità di percorrenza elevata possono essere più pericolosi di altri percorsi. Di conseguenza durante la pianificazione è importante considerare anche i limiti del veicolo, tra cui la possibilità di ribaltamento. Infatti un percorso non sicuro o non percorribile può portare il robot al danneggiamento o alla necessità di un intervento umano. Nel nostro lavoro per costruire un pianificatore efficace, abbiamo utilizzato ed esteso una libreria chiamata SBPL (Search Based Planning Library) che affronta i problemi di pianificazione usando degli algoritmi di ricerca in grado di trovare il percorso ottimo tra due stati di un grafo. Il grafo è ottenuto attuando una discretizzazione dello spazio degli stati del robot. Noi abbiamo esteso la libreria creando un nuovo ambiente per la pianificazione e un set di primitive di moto che riproducano accuratamente il comportamento del veicolo. Per affrontare quest'ultimo problema sono stati utilizzati due software per la soluzione di problemi di controllo ottimo: ACADO e Bocop. Le primitive sono state infatti generate risolvendo il problema di controllo ottimo che porta da una configurazione del veicolo a un’altra. Inoltre, per tenere in considerazione la morfologia del terreno è stato utilizzato un metodo particolare per creare delle mappe di costo che tiene conto dell'altezza o della pendenza del terreno nei vari punti (la seconda modalità è quella usata in via definitiva) partendo da una rappresentazione DEM (Digital Elevation Model) del luogo nel quale la pianificazione avviene. Infine, è stata utilizzata una pa rticolare funzione di costo per tenere in considerazione sia le caratteristiche del terreno sia il tempo impiegato per percorrere il percorso trovato.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
2014_04_Conforto.pdf

accessibile in internet per tutti

Descrizione: Testo della tesi
Dimensione 11.51 MB
Formato Adobe PDF
11.51 MB Adobe PDF Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/92328