Probabilistic techniques in semantic mapping for mobile robotics
Ruiz Sarmiento, José Raúl · 2016
Los mapas semanticos son representaciones del mundo que permiten a un robot entender no solo aspectos espaciales de su lugar de trabajo, sino tambien el significado de sus elementos (objetos, habitaciones, etc.) y como humanos interactuan con ellos (e.g. funcionalidades, eventos y relaciones). Para conseguirlo, un mapa semantico anade a las representaciones puramente espaciales, tales como mapas geometricos o topologicos, meta-informacion sobre tipos de elementos y relaciones que pueden encontrarse en el entorno de trabajo. Esta meta-informacion, denominada conocimiento semantico o de sentido comun, se codifica tipicamente en Bases de Conocimiento. Un ejemplo de este tipo de informacion podria ser: los frigorificos son objetos grandes, con forma rectangular, colocados normalmente en las cocinas, y que pueden contener comida perecedera y medicacion. Codificar y manejar este conocimiento semantico permite al robot razonar acerca de la informacion obtenida de un cierto lugar de trabajo, asi como inferir nueva informacion con el fin de ejecutar eficientemente tareas de alto nivel como ihola robot! llevale la medicacion a la abuela, por favor. La presente tesis propone la utilizacion de tecnicas probabilisticas para construir y mantener mapas semanticos, lo cual presenta tres ventajas principales en comparacion con enfoques tradicionales: i) permite manejar incertidumbre (proveniente de sensores imprecisos del robot y de modelos empleados), ii) provee representaciones del entorno coherentes por medio del aprovechamiento de las relaciones contextuales entre elementos observados (e.g. frigorificos usualmente se encuentran en las cocinas) desde un punto de vista holistico, y iii) produce valores de certidumbre que reflejan el grado de exactitud de la comprension del robot acerca de su entorno. Especificamente, las contribuciones presentadas pueden agruparse en dos temas principales. El primer conjunto de contribuciones se basa en el problema del reconocimiento de objetos y/o habitaciones, ya que sistemas de mapeo semantico deben contar con algoritmos de reconocimiento fiables para la construccion de representaciones validas. Para ello se ha explorado la utilizacion de Modelos Graficos Probabilisticos (Probabilistic Graphical Models o PGMs en ingles) con el fin de aprovechar las relaciones de contexto entre objetos y/o habitaciones a la vez que se maneja la incertidumbre inherente al problema de reconocimiento, y el empleo de Bases de Conocimiento para mejorar su desempeno de distintos modos, e.g., detectando resultados incoherentes, proveyendo informacion a priori, reduciendo la complejidad de algoritmos de inferencia probabilistica, generando ejemplos de entrenamiento sinteticos, habilitando el aprendizaje a partir de experiencias pasadas, etc. El segundo grupo de contribuciones acomoda resultados probabilisticos provenientes de algoritmos de reconocimiento desarrollados en una nueva representacion semantica, denominada Multiversal Semantic Map (MvSmap). Este mapa gestiona multiples interpretaciones del espacio de trabajo del robot, llamadas universos, cuales son anotados con la probabilidad de ser correctos de acuerdo con el conocimiento actual del robot. Asi, este enfoque proporciona una creencia fundamentada sobre la exactitud de la comprension del robot sobre su entorno, lo que le permite operar de una manera mas eficiente y coherente. Los algoritmos probabilisticos propuestos han sido testeados concienzudamente y comparados con otros enfoques actuales e innovadores empleando conjuntos de datos del estado del arte. De manera adicional, esta tesis tambien contribuye con dos conjuntos de datos, UMA-Offices and Robot@Home, cuales contienen informacion sensorial capturada en distintos entornos de oficinas y casas, asi como dos herramientas software, la libreria Undirected Probabilistic Graphical Models in C++ (UPGMpp), y el conjunto de herramientas Object Labeling Toolkit (OLT), para el trabajo con Modelos Graficos Probabilisticos y el procesamiento de conjuntos de datos respectivamente.