# Localització i mapatge simultani

La localització i mapatge simultani (SLAM) és el problema computacional de construir o actualitzar un mapa d'un entorn desconegut alhora que es fa un seguiment de la ubicació d'un agent intel·ligent dins d'aquest mapa. Tot i que inicialment sembla ser un problema de l'ou o la gallina, hi ha diversos algorismes coneguts per resoldre'l en, almenys aproximadament, un temps tractable per a determinats entorns. Els mètodes de solució aproximats populars inclouen el filtre de partícules, el filtre de Kalman estès, la intersecció de covariància i GraphSLAM. Els algorismes SLAM es basen en conceptes de geometria computacional i visió per ordinador, i s'utilitzen en la navegació de robots, mapes robòtics i odometria per a realitat virtual o realitat augmentada.
Els algorismes SLAM s'adapten als recursos disponibles i no estan dirigits a la perfecció sinó al compliment operatiu. Els enfocaments publicats s'utilitzen en cotxes autònoms, vehicles aeris no tripulats, vehicles submarins autònoms, rovers planetaris, robots domèstics més moderns, i fins i tot dins del cos humà.

## Descripció matemàtica del problema

Donat una sèrie de controls $u_{t}$ i observacions de sensors $o_{t}$ en passos de temps discrets $t$, el problema SLAM és calcular una estimació de l'estat de l'agent $x_{t}$ i un mapa de l'entorn $m_{t}$. Totes les quantitats solen ser probabilistes, de manera que l'objectiu és calcular
$P(m_{t+1},x_{t+1}|o_{1:t+1},u_{1:t})$
L'aplicació de la regla de Bayes proporciona un marc per actualitzar seqüencialment els posteriors de la ubicació, donat un mapa i una funció de transició $P(x_{t}|x_{t-1}$)
$P(x_{t}|o_{1:t},u_{1:t},m_{t})=\sum _{m_{t-1}}P(o_{t}|x_{t},m_{t},u_{1:t})\sum _{x_{t-1}}P(x_{t}|x_{t-1})P(x_{t-1}|m_{t},o_{1:t-1},u_{1:t})/Z$
De la mateixa manera, el mapa es pot actualitzar seqüencialment per
$P(m_{t}|x_{t},o_{1:t},u_{1:t})=\sum _{x_{t}}\sum _{m_{t}}P(m_{t}|x_{t},m_{t-1},o_{t},u_{1:t})P(m_{t-1},x_{t}|o_{1:t-1},m_{t-1},u_{1:t})$
Com molts problemes d'inferència, les solucions per inferir les dues variables juntes es poden trobar, a una solució òptima local, alternant actualitzacions de les dues creences en una forma d'algorisme d'expectativa-maximització.

## Algorismes

Les tècniques estadístiques utilitzades per aproximar les equacions anteriors inclouen filtres de Kalman i filtres de partícules (l'algorisme que hi ha darrere de la localització de Monte Carlo). Proporcionen una estimació de la distribució de probabilitat posterior per a la postura del robot i per als paràmetres del mapa. Els mètodes que aproximen de manera conservadora el model anterior mitjançant la intersecció de covariància són capaços d'evitar la dependència dels supòsits d'independència estadística per reduir la complexitat algorítmica per a aplicacions a gran escala. Altres mètodes d'aproximació aconsegueixen una eficiència computacional millorada mitjançant l'ús de representacions simples de regions limitades de la incertesa.
Les tècniques de pertinença de conjunt es basen principalment en la propagació de restriccions d'interval. Proporcionen un conjunt que inclou la postura del robot i una aproximació conjunta del mapa. L'ajust de paquets i, en general, l'estimació de màxima probabilitat a posteriori (MAP), és una altra tècnica popular per SLAM que utilitza dades d'imatge, que estima conjuntament posicions i posicions de referència, augmentant la fidelitat del mapa, i s'utilitza en sistemes SLAM comercialitzats com l'ARCore de Google, que substitueix la seva plataforma informàtica de realitat augmentada anterior anomenada Tango, abans Project Tango. Els estimadors MAP calculen l'explicació més probable de les posicions del robot i el mapa donades les dades del sensor, en lloc d'intentar estimar tota la probabilitat posterior.
Els nous algorismes SLAM segueixen sent una àrea de recerca activa i sovint es deuen a diferents requisits i supòsits sobre els tipus de mapes, sensors i models tal com es detalla a continuació. Molts sistemes SLAM es poden veure com una combinació d'opcions de cadascun d'aquests aspectes.

### Cartografia

Els mapes topològics són un mètode de representació de l'entorn que capturen la connectivitat (és a dir, la topologia) de l'entorn en lloc de crear un mapa geomètricament precís. Els enfocaments SLAM topològics s'han utilitzat per reforçar la coherència global en algorismes SLAM mètrics.
En canvi, els mapes de quadrícula utilitzen matrius (normalment quadrades o hexagonals) de cel·les discretitzades per representar un món topològic i fer inferències sobre quines cel·les estan ocupades. Normalment se suposa que les cel·les són estadísticament independents per simplificar el càlcul. Sota aquest supòsit, $P(m_{t}|x_{t},m_{t-1},o_{t})$ s'estableixen a 1 si les cel·les del mapa nou són coherents amb l'observació $o_{t}$ a la ubicació $x_{t}$ i 0 si és inconsistent.
Els cotxes moderns de conducció autònoma en la seva majoria simplifiquen el problema de la cartografia a gairebé res, fent un ús extensiu de dades de mapes molt detallades recopilades per endavant. Això pot incloure anotacions de mapes al nivell de les ubicacions de marcatge de segments de línia blanca individuals i vorals de la carretera. Les dades visuals etiquetades amb la ubicació, com ara StreetView de Google, també es poden utilitzar com a part dels mapes. Essencialment, aquests sistemes simplifiquen el problema SLAM a una tasca més senzilla només de localització, potser permetent que objectes en moviment com ara cotxes i persones només s'actualitzin al mapa en temps d'execució.

### Sensat

SLAM sempre utilitzarà diversos tipus de sensors diferents, i les potències i els límits de diversos tipus de sensors han estat un dels principals impulsors dels nous algorismes. La independència estadística és el requisit obligatori per fer front al biaix mètric i al soroll en les mesures. Els diferents tipus de sensors donen lloc a diferents algorismes SLAM, quins supòsits són els més apropiats per als sensors. En un extrem, les exploracions làser o les característiques visuals proporcionen detalls de molts punts dins d'una àrea, de vegades fent innecessària la inferència SLAM perquè les formes d'aquests núvols de punts es poden alinear fàcilment i sense ambigüitats a cada pas mitjançant el registre d'imatge. A l'extrem oposat, els sensors tàctils són extremadament escassos, ja que només contenen informació sobre punts molt propers a l'agent, de manera que requereixen models previs forts per compensar en SLAM purament tàctil. La majoria de les tasques pràctiques SLAM es troben entre aquests extrems visuals i tàctils.

## Mètodes d'implementació

S'implementen diversos algorismes SLAM a les biblioteques del sistema operatiu per a robots (ROS) de programari de codi obert, que s'utilitzen sovint juntament amb la biblioteca de núvols de punts per a mapes 3D o funcions visuals d'OpenCV.

### EKF SLAM

En robòtica, EKF SLAM és una classe d'algorismes que utilitza el filtre de Kalman estès (EKF) per SLAM. Normalment, els algorismes EKF SLAM es basen en funcions i utilitzen l'algoritme de màxima probabilitat per a l'associació de dades. A les dècades de 1990 i 2000, EKF SLAM havia estat el mètode de facto per SLAM, fins a la introducció de FastSLAM.
Associada a l'EKF hi ha la hipòtesi del soroll gaussià, que perjudica significativament la capacitat d'EKF SLAM per fer front a la incertesa. Amb una major quantitat d'incertesa a la part posterior, la linealització de l'EKF falla.

### GraphSLAM

En robòtica, GraphSLAM és un algorisme SLAM que utilitza matrius d'informació escassa produïdes generant un gràfic de factors d'interdependències d'observació (dues observacions estan relacionades si contenen dades sobre la mateixa fita). Es basa en algorismes d'optimització.

## Referències

* ↑ «Understanding SLAM in Robotics and Autonomous Vehicles» (en anglès). [Consulta: 15 febrer 2025].
* ↑ Thrun, Sebastian. Probabalistic Robotics (en anglès). The MIT Press, p. 309.
* ↑ Jaulin, L. IEEE Transactions on Robotics, 25, 2009, pàg. 88–98. DOI: 10.1109/TRO.2008.2010358.
* ↑ Jaulin, L. IEEE Transactions on Robotics, 27, 5, 2011, pàg. 1004–1010. DOI: 10.1109/TRO.2011.2147110.
* ↑ Cadena, Cesar; Carlone, Luca; Carrillo, Henry; Latif, Yasir; Scaramuzza, Davide (en anglès) IEEE Transactions on Robotics, 32, 6, 2016, pàg. 1309–1332. arXiv: 1606.05830. Bibcode: 2016arXiv160605830C. DOI: 10.1109/tro.2016.2624754. ISSN: 1552-3098.
* ↑ Cummins, Mark; Newman, Paul The International Journal of Robotics Research, 27, 6, 6-2008, pàg. 647–665. DOI: 10.1177/0278364908090961 [Consulta: 23 juliol 2014].
* ↑ Magnabosco, M.; Breckon, T.P. Robotics and Autonomous Systems, 63, 2, 2-2013, pàg. 195–208. DOI: 10.1016/j.robot.2012.09.023 [Consulta: 5 novembre 2013].
* ↑ Thrun, S. Probabilistic Robotics (en anglès). Cambridge: The MIT Press, 2005. ISBN 0-262-20162-3.
* ↑ Thrun, S. Probabilistic Robotics (en anglès). Cambridge: The MIT Press, 2005. ISBN 0-262-20162-3.