En los próximos años, los robots móviles serán más y más comunes en nuestra
vida cotidiana, llegando a áreas como educación, salud o asistir a humanos en tareas
del día a día. Para efectuar estas tareas de forma autónoma los robots deben
ser capaces de reconocer su entorno de trabajo (es decir, construir un mapa) y
ser capaces de localizarse dentro de ellos. Estos dos problemas deben resolverse
simultáneamente, un paradigma clave en robótica llamado SLAM (Simultaneous
localization and mapping), el cual es un importante área de investigación hoy en
día. Este trabajo de fin de grado desarrolla un sistema SLAM usando optimización
de grafo de poses, que logra una solución de la secuencia de poses (posición y orientación)
del robot en el plano (2D). Este tipo de sistemas se denominan Full SLAM,
ya que se estiman la trayectoria completa del robot. Observaciones del entorno
son dadas por un par de cámaras estéreo calibradas montadas en el robot desde
donde se obtienen las coordenadas 3D de los landmarks. Por esto, el proceso se
denomina SLAM Visual. Un objetivo adicional de este proyecto es implementar
el sistema de SLAM Visual de manera que pueda ser usada de forma ilustrativa y
educacional en clases relacionadas con la Visión por Computador y la Robótica,
con la intención de mostrar cómo estos campos que están de moda pueden trabajar
juntos. Para ello, técnicas de visión por computador son aplicadas a las imágenes
estéreo obtenidas por el robot móvil para extraer keypoints de las imágenes,
establecer correspondencias fiables entre ellos y triangular los pares correspondientes
para obtener landmarks 3D en el espacio. Además de la implementación
del sistema de SLAM Visual con las características previamente mencionadas, este
proyecto también proporciona un modelo virtual del entorno, haciendo uso de la
librería Unity 3D, donde robots móviles equipados con cámaras RGB pueden ser
simulados para generar datasets para ser usados por el sistema.