--- title: 20- Il problema della localizzazione nei robot mobili tags: Misure description: Blocco slide parte 20 --- # Introduzione La parola robot significa lavoro pesante, infatti inizalmente i robot venivano impiegati in settori che richiedevano lavori duri e ripetitivi. Ora questo termine viene utilizzato con un'accezione più generale per indicare ogni macchina che svolge un compito in maniera automatica. I sensori permettono ai robot di osservare l'ambiente che li circonda, e di conoscere il loro stato interno (es. energia residua). Per quanto riguarda i robot mobili, una delle grandezze principali che bisogna determinare è la posizione. # Unmanned Vehicle (UV) Da un punto di vista formale gli Unmanned Vehicles possono essere definiti come veicoli in grado di portare a termine un compito senza l’ausilio dell’uomo. I veicoli autonomi fanno affidamento su: - **sensori**, che forniscono l’informazione relativa all’ambiente esterno o agli stati interni del sistema; - **attuatori**, che realizzano fisicamente il movimento desiderato; - **controllori**, che pilotano gli attuatori in modo da portare a termine il compito richiesto. I veicoli senza pilota sono invece quelli che richiedono un controllo manuale da parte di un operatore (es. radiotelecomandati) ## Problema della navigazione Affinché un veicolo autonomo (e nel senso più generale del termine un robot mobile) possa “portare a termine un compito senza l’ausilio dell’uomo”, è necessario che esso sappia rispondere ai seguenti quesiti: 1. come faccio a sapere dove mi trovo? 2. come faccio a sapere dove devo andare? 3. come faccio a sapere come raggiungere il punto di destinazione? Il primo problema è definito **problema della localizzazione**: il veicolo deve essere in grado di stimare la sua posizione a partire da un punto di partenza o all’interno di una mappa (nota a priori oppure costruita dinamicamente a seguito degli spostamenti del veicolo). Il secondo problema è definito **problema dell’individuazione del target**: il veicolo, noto il punto di partenza, deve essere in grado di definire il prossimo punto verso il quale muoversi. Il terzo problema è detto **problema della definizione della traiettoria**: il veicolo, noto il punto di partenza e quello di arrivo, deve essere in grado di stabilire il percorso (la traiettoria) da seguire, nel rispetto di opportune specifiche (e.g.: evitare possibili ostacoli sul percorso). I problemi della localizzazione, individuazione del target e definizione della traiettoria, considerati nel loro insieme, costituiscono il cosiddetto problema della navigazione. Esistono due possibili approcci alla localizzazione: 1. **dead reckoning**: il robot stima la propria posizione in base al cammino fatto (più tempo passa, più la stima è soggetta ad errore); 2. **map-based positioning**: il robot misura la propria posizione rispetto a punti di riferimento. (noi ci concentriamo su questa tipologia) ### Dead reckoning Può essere raggiunto a partire da due tecniche: #### Odometria Il dead reckoning può essere realizzato facendo affidamento sull’odometria, ovvero sulla stima della posizione attuale a partire dalla misura indiretta dei parametri di moto (e.g. stima della posizione a partire dalla conoscenza del raggio di una ruota e del numero di giri fornito da un encoder). È sensibile all’incertezza della misura indiretta dei parametri, agli errori accumulati, alle approssimazioni, ecc… ![](https://i.imgur.com/ymVU4fG.png) #### Navigazione inerziale Il dead reckoning può essere realizzato facendo affidamento sulla navigazione inerziale, cioè basando la stima della posizione a partire dalla misura diretta dei parametri di moto (e.g. velocità e accelerazione). Richiede l’integrazione nel tempo delle variabili misurate le quali, affette da rumore, comportano una deriva della stima, che può essere corretta tramite misure esterne. Tipici sensori inerziali sono gli accelerometri, i giroscopi e le Unità di Misura Inerziali (Inertial Measurement Unit - IMU). ![](https://i.imgur.com/oFdGf5G.png) ### Map-based positioning #### Tracciamento della posizione Nota la posizione iniziale si stima la posizione attuale avvalendosi della mappa. L’incertezza ad ogni waypoint tende ad aumentare, in quanto di volta in volta diminuisce l’informazione sul punto di partenza. #### Localizzazione globale La posizione iniziale non è conosciuta, ma confrontando le letture sensoriali con la mappa si esegue una stima della posizione. Risolve il problema del “kidnapping”, ovvero lo spostamento del robot da un punto noto ad un punto non noto della mappa. ### Simultaneous Localization and Mapping (SLAM) Posizionamento in mappe costruite dal robot durante la navigazione: il robot è dotato della sensoristica necessaria alla costruzione della mappa e della potenza di calcolo necessaria all’elaborazione della mappa a partire dalle misure sensoriali. Fa uso di riconoscimento topologico e riconoscimento geometrico e individua landmark nell’ambiente, ovvero oggetti rilevanti, punti salienti fissi, facili da trovare e posizionabili sulla mappa. sensori tipici per lo SLAM sono: - laser range finder; - sensori ultrasonori; - sistemi di visione. ### Sensori propriocettivi ed eterocettivi In base al sistema di riferimento in cui vengono fornite le misure, i sensori possono dirsi: **propriocettivi**: misure nel sistema di riferimento del robot. In altre parole mi restituiscono informazioni riguardo l'oggetto in cui sono montate (es. accelerometri, giroscopi, unità di misura inerziali); **eterocettivi**: misure nel sistema di riferimento inerziale. Mi danno informazioni su un sistema di riferimento esterno ("assoluto") come la mappa 2D prodotta da un lidar. (es. GPS, sonar, laser, sistemi di visione). In realtà sistemi come il sonar, laser e di visione possono essere considerati ibridi se montati direttamente su un robot: da una parte danno informazioni che dipendono dalla posizione e dalle azioni del robot stesso (caratteristica propriocettiva), ma allo stesso tempo raccolgono informazioni sull'ambiente circostante (caratteristica eterocettiva), con le quali riescono ad orientarsi. ![](https://i.imgur.com/dwmN0Ki.png) ### Sistemi di riferimento Esistono diversi tipologie di sistemi di riferimento: - **Inertial Frame (IF)**: Ha come origine il centro della terra e assi non rotanti rispetto alle stelle fisse; gli assi sono definiti secondo la notazione: $x_{i}$, $y_{i}$ e $z_{i}$. - **Earth Frame (EF)**: Ha come origine il centro della terra e assi fissi, rispetto alla terra, definiti da $x_{e}$, $y_{e}$ e $z_{e}$, dove $z_{e}$ è allineato secondo l’asse polare (supposto fisso). $x_{e}$ è passante per l’intersezione tra il meridiano di Greenwich e l’equatore. l’EF ruota rispetto all’IF ad una velocità Ω attorno all’asse $z_{i}$. - **Navigation Frame (NF)**: È il sistema di riferimento geografico locale; ha come origine un punto $P$ scelto sulla superficie terrestre, e assi orientati secondo le direzioni del Nord, Est e del vettore gravità locale. La velocità di rotazione del NF rispetto all’EF, $\omega_{en}$ è dovuta dal moto del punto $P$ rispetto alla terra. - **Body Frame (BF)**: è un set di assi ortogonali allineati secondo gli assi del veicolo e centrato tipicamente nel centro di massa del veicolo. ### I sistemi di riferimento nei robot mobili: rappresentazione grafica Nel caso di robot mobili il cui spostamento è limitato ad ambienti di dimensioni limitate e per periodi di tempo limitati, si considera l’EF come un sistema inerziale e si studia il moto del robot a partire dal BF. ![](https://i.imgur.com/MFBUrox.png) *$R_{B}$ rappresenta il set di assi ortogonali allineati secondo gli assi del veicolo e centrato nel centro di massa del veicolo. $R$ indica il sistema di rifermineto assoluto* A partire dai due sistemi di riferimento ($R(O, x, y, z)$ e $R_{B}(O_{B}, x_{B}, y_{B}, z_{B}$)) è possibile calcolare le seguenti grandezze (utili ai fini della localizzazione): ![](https://i.imgur.com/hyh3zlv.png) I parametri angolari posso essere espressi in molti modi, quelli più comuni sono basate sugli angoli di Eulero nella convenzione del mondo areonautico roll, pitch e yaw. # Domande - Che cosa si intende per problema della localizzazione? - Enunciare la differenza tra sensori propriocettivi e sensori eterocettivi. - Quanti sono gli approcci per la soluzione del problema della localizzazione e come funzionano? - Dead reckoning o Map-based positioning - Come sono classificabili i sensori per la localizzazione dei robot mobili? - A che cosa servono gli angoli di Eulero? - Quante variabili devo stimare (6) del moto di un corpo: 3 posizioni (fornite dal GPS) 3 angoli (fornite da UMI, unità di misura inerziale)