Navegación Autónoma en ROS
Esta entrada está disponible también en los siguientes idiomas: Euskara, English
La navegación autónoma es uno de los pilares de la robótica móvil autónoma, y a su vez, un campo de investigación activo, que capacita a los robots para desplazarse de manera independiente (sin intervención humana), en entornos dinámicos. Implica el uso de múltiples sensores, algoritmos y sistemas de control para poder percibir el entorno, planificar una ruta y navegar de manera segura hacia un destino.
Se distinguen dos tipos de navegación autónoma, en función del tipo de entorno:
- Navegación autónoma indoor: navegación en interiores o donde la cobertura de señal GPS sea inexistente o no presente la calidad suficiente. Entre otras, intralogística en almacenes, la vigilancia de seguridad en interiores de edificios o las rutinas de inspección en fábricas son algunas de las aplicaciones de la navegación autónoma indoor.
- Navegación autónoma outdoor: navegación en exteriores o donde la cobertura de señal GPS sea de calidad. Algunas aplicaciones de la navegación autónoma outdoor son la conducción autónoma de vehículos, la agricultura de precisión, la exploración y cartografía, la seguridad y vigilancia, etc
A principios de este curso, desde el área de especialización de Robótica Autónoma de Tknika, se organizó una formación sobre navegación autónoma indoor en ROS (Robot Operating System), al cual acudieron profesores de varios centros de Formación Profesional de Euskadi. En esta formación se trataron los fundamentos que sustentan la navegación autónoma indoor:
- Tecnología LiDAR (Light Detection and Ranging): es el tipo de sensor más utilizado para la percepción del entorno en navegación autónoma indoor.
- SLAM (Simultaneous Localization and Mapping): es la técnica computacional a través del cual, los robots construyen el mapa de entornos que no conocen previamente.
- AMCL (Adaptive Monte Carlo Localization): es la técnica computacional a través del cual, los robots son capaces de determinar su posición y orientación en base a mediciones del sensor y estimación probabilística.
- Stack de navegación de ROS: es el conjunto de herramientas y algoritmos para la planificación de trayectorias y evasión de obstáculos. Incluye planificadores y mapas globales y locales, y algoritmos de recuperación.
- Gazebo: simulador 3D de código abierto donde es posible simular robots y escenarios realistas.
- RViz (ROS Visualization): es una herramienta de visualización 3D de código abierto para visualizar y analizar todos aquellos datos que estén siendo tratados por ROS.
- Simulación de diferentes plataformas robóticas: Turtlebot, Tiago y Jetbot (robots compatibles con ROS).
Los conocimientos adquiridos en este curso, no sólo se están aplicando sobre plataformas robóticas reales en el área de especialización de Robótica Autónoma de Tknika, sino que también en los siguientes proyectos de innovación de viceconsejería:
- Silla robotizada autónoma para niñas y niños con parálisis cerebral y con graves problemas de movilidad.
- Desarrollo en ROS para 2 robots autónomos y 1 robot delta en célula de producción inteligente.
En el siguiente vídeo, se muestra una demostración de navegación autónoma utilizando como plataforma robótica un JetAuto. Tal y como se ve en el vídeo, se dispone de un mapa previamente creado por SLAM, y durante la navegación, el robot se topa con obstáculos no previstos; el robot sortea los obstáculos y retoma la trayectoria para alcanzar el punto marcado como destino.