Instituto Polit�cnico Nacional
Instituto Politécnico Nacional
"La Técnica al Servicio de la Patria"

 

Boletín No. 86
1o. de septiembre de 2021




USO DE SIMULADORES GAZEBO Y SITL (SOFTWARE IN THE LOOP) PARA VEHÍCULOS AÉREOS NO TRIPULADOS EN ENTORNOS VIRTUALES 3D

 

M. en C. Esther Viridiana Vázquez Carmona
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.

M. en C. Luis Alberto Flores Montaño
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.

M. en C. Rodrigo Vázquez López
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.

Dr. Juan Carlos Herrera Lozada
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.

Instituto Politécnico Nacional
Centro de Innovación y Desarrollo Tecnológico en Cómputo

 

Resumen

Debido a la demanda de nuevos sistemas en el ámbito de la industria, la robótica se ha convertido en un tema importante de estudio y desarrollo dentro del campo de la investigación. La robótica hace uso de diferentes disciplinas, como la mecánica, electrónica, inteligencia artificial, física y e ingeniería de control, entre otras. Su objetivo es construir sistemas que puedan llevar a cabo tareas de usuario en las que se requiere la intervención humana o automatización, siendo a su vez capaces de operar en entornos inestables y poseer un mayor grado de autonomía. Para ello es importante mencionar que dentro de las etapas que integran la metodología del desarrollo de dichos sistemas, se encuentra la etapa de simulación de realidad virtual, la cual permite al robot funcionar en un entorno virtual, con características muy similares a las de los ambientes reales para no arriesgar equipos, vidas obteniendo resultados similares a los que se tendría en la vida real. En este documento se muestra el uso del simulador Gazebo en colaboración con SITL para ejecutar una trayectoria de un vehículo aéreo no tripulado (VANT) dentro de un entorno 3D predefinido por Gazebo. Adicionalmente se utiliza el software de Mission Planner de Ardupilot que se encarga de generar los waypoints o coordenadas dentro de una región de interés (en inglés Region of Interest ROI) para realizar el recorrido del VANT dentro de dicha región. Se anexan las figuras que integran la simulación del VANT, así como las configuraciones y comandos necesarios para llevar a cabo la misión.

 

1. Introducción

El desarrollo de sistemas robóticos requiere de diseño y construcción de robots que puedan realizar trabajos forzados o realizar tareas en el que el ser humano pueda estar en peligro, como manipulación de residuos químicos, inspección o mantenimiento (Revista de Robots, 2021).

1.1 Automatización y robótica

Los últimos avances de la ingeniería robótica han demostrado que los robots pueden realizar tareas complejas como manipulación de objetos, realizar operaciones de forma autónoma o tareas que requieren de colaboración. Por ejemplo, para un sistema automatizado, las producciones en masa y a gran escala resultan ser productivas debido a la precisión, también existen robots que pueden ser reprogramables para ejecutar diversas tareas o robots que se encuentran en diferentes etapas de un proceso, como la obtención de información, el procesamiento y la toma de decisiones. Para llevar a cabo estas tareas, es necesario establecer funciones en cada subsistema del robot, esto se le conoce como metodología de diseño de un robot. La principal característica de esta metodología es que está integrada por diferentes disciplinas como el diseño conceptual, el análisis cinemático, el análisis dinámico, el diseño mecánico y la simulación virtual que se ejecutan de forma paralela (Kchir, 2016).

1.2 Simuladores

Los simuladores son entornos que permiten trabajar la programación de los módulos antes mencionados de manera virtual, emulando cada una de sus funciones, algunos permiten la simulación 3D en ambientes realistas con el objetivo de investigar el comportamiento de los robots móviles sin necesidad de construirlo, garantizando la realización de pruebas a muy bajo costo. MATLAB y Simulink, Fleet Simulator, EV3DEV Python Simulator, Miranda, mBot robot simulator, Codey Rocky simulator, Open Roberta Lab, Robot Virtual Worlds, Gazebo, SITL, FlightGear, GEeoFS, Google Earth, Rise of Flight, World of Warplanes son solo algunos simuladores para el diseño de sistemas de control y navegación de vehículos terrestres y aéreos. Para este trabajo de investigación se eligió el simulador Gazebo debido a que puede simular robots en entornos exteriores 3D bajo diversas condiciones compatible con el uso independiente (sin ROS) en colaboración con SITL que permite probar el comportamiento del vehículo sin uso del hardware, en este del propio vehículo (JuegosRobotica, 2020).

1.3 Mission Planner de Ardupilot

Ardupilot es una plataforma conformada por varias herramientas que permite el control, la comunicación en tiempo real y el uso de sistemas en VANTs. Una de las herramientas de esta plataforma es Mission planner, que permite planear una misión de vuelo a través de puntos de referencia, coordenadas o waypoints, para ello se dibuja la forma de un polígono sobre la ROI, posteriormente se crea una serie de waypoints para que el vehículo realice la trayectoria. Para llevar a cabo la comunicación entre Gazebo y SITL, se utiliza el protocolo MAVLink, que permite el intercambio de mensajes entre una estación de control en tierra (en inglés ground control station GCS) y el VANT, en este caso MAVProxy trabaja como un GCS que admite el protocolo MAVLink, está basado en comandos y puede trabajar con Mission Planner para proporcionar una interfaz gráfica. En la tabla 1 se presentan los comandos más utilizados de MAVProxy, así como la función que cada uno realiza (Ardupilot, 2021) .

 

Tabla. 1.
Comandos MAVproxy.

 

2. Desarrollo

Se realizó la misión en un VANT sobre una ROI, a través del simulador Gazebo en colaboración con SITL. Para ello se eligió una ROI a los alrededores del Bosque de Chapultepec que puede llegar a utilizarse con fines de monitoreo o inspección.

2.1 Delimitación de la ROI y waypoints en Mission Planner

Para realizar la misión en un VANT, se utilizó el software Mission Planner, para delimitar el área de interés, primero se insertan las coordenadas (latitud, longitud y altitud) donde el VANT realizará el despegue, también llamado home. Las coordenadas utilizadas, se ubican en el castillo de Chapultepec, posteriormente se delimita la región, dibujando un polígono alrededor del área. En la figura 1 se puede observar la ROI delimitada por un polígono, así como los parámetros antes mencionados.

 

Figura 1. Las coordenadas ingresadas para la ROI fueron 19.4201704705298, -99.1819149255753, 25.

 

Posteriormente se generó el archivo de waypoints con Mission Planner, a través de la función Auto WP que se encuentra en el menú, este archivo puede tener como extensión .txt o .waypoints. En la figura 2 se puede observar la ruta o path generado.

 

Figura 2. Path generado por Mission Planner, en la parte lateral pueden modificarse parámetros como altitud, ángulo de giro, la velocidad, la distancia entre líneas de vuelo, entre otros que se utilizaran durante la misión del VANT. Una vez que se modificaron estos parámetros, los waypoints se guardan en un archivo, el cual se puede observar en la figura de la derecha.

 

2.2 SITL

El simulador SITL suele ejecutarse en Linux y en Windows, debido a que existen algunos paquetes ya obsoletos que deben ocuparse para ambos simuladores, se trabajó sobre la distribución de Linux en Ubuntu 18. En la figura 3 se muestra el proceso de instalación (ArduPilot Dev,2021).

 

Figura 3. Pasos para seguir para la instalación de SITL. Se crea una carpeta llamada ardupilot, en ella se encuentran los archivos con los parámetros para que el VANT pueda despegar.

 

Adicionalmente se debe modificar un archivo titulado “locations.txt” que se encuentra en ~ardupilot/Tools/autotest, en él se debe ingresar las coordenadas antes mencionadas de donde despegará el VANT y el nombre que caracteriza este lugar, para efectos de este trabajo lo nombraremos “Castillo= 19.4201704705298, -99.1819149255753, 25”.

2.3 Gazebo

Gazebo se caracteriza por ser un simulador externo para SITL. Además del simulador, se instala un complemento para prescindir de ROS llamado “khancyr” (Open Source Robotics Foundation, 2014) . A continuación, se presenta el proceso de instalación de Gazebo y el respectivo complemento, el cual se puede observar en la figura 4.

 

Figura 4. Pasos para seguir para la instalación de Gazebo. El simulador y SITL se deben instalar en Ubuntu 16.04 o 18.04 ya que el complemento funciona solo con las versiones de Gazebo 7 o 9.

 

Para iniciar ambos simuladores, requiere insertar la instrucción gazebo --verbose worlds/bayland_iris.world en la terminal de Ubuntu. Cabe destacar que bayland_iris.world es un archivo tipo world, diseñado con anterioridad para modelar un entorno similar a un bosque. Se utiliza el mundo bayland que está dentro de los archivos de gazebo en combinación con el Cuadricóptero 3DR IRIS.

Posteriormente en otra ventana de la terminal se cd ~/ardupilot/ArduCopter seguido de ../Tools/autotest/sim_vehicle.py -L Castillo -f gazebo-iris --map --console. La figura 5 muestra el entorno en el que se incluyen ambos simuladores.

 

Figura 5. La parte izquierda de la figura muestra el ambiente de Gazebo, mostrado la vista exterior. La parte media de la figura muestra el ambiente de Gazebo haciendo un acercamiento al VANT. Finalmente, la se muestra el entorno de SITL.

 

3. Resultados

La simulación del VANT sobre el bosque de Chapultepec se llevó a cabo en un tiempo aproximado de 20min a una velocidad de 2m/s. En la figura 6 se muestran los comandos de MAVProxy para iniciar el recorrido de VANT.

 

Figura 6. La figura muestra los comandos para iniciar el simulador de Gazebo y SITL, como se puede observar cada simulador se inicia en diferentes ventanas. Los comandos MAVProxy se introducen dentro de la terminal donde inicia SITL.

 

Finalmente, parte de la simulación se muestra en la figura 7.

 

Figura 7. En la parte izquierda de la figura, se muestra el entorno 3D. La parte media de la figura muestra la vista del simulador SITL, este simulador solo permite vistas 2D. Finalmente se puede observar como el VANT llega a la zona de aterrizaje sin chocar con los árboles, debido a la altura que se fijó en un principio.

 

 

Conclusiones

En este trabajo, se muestra el uso del simulador Gazebo en colaboración con SITL. Se presentan los pasos a seguir para realizar la simulación de un VANT que seguirá una trayectoria sobre una ROI, en este caso se eligió el castillo de Chapultepec como punto de partida. Para ello se dibuja un polígono alrededor de la ROI, posteriormente Mission Planner se encarga de generar la trayectoria para que el VANT pueda realizar la misión siguiendo un conjunto de waypoints. Los waypoints son leídos por SITL, integra un GCS y a través de MAVProxy puede comunicarse con el simulador Gazebo, de modo que conforme el vehículo se mueva en SITL se vea reflejado en un entorno 3D que en este caso es el simulador Gazebo, con el objetivo de observar el comportamiento del VANT en un ambiente cercano a la realidad para fines de inspección, monitoreo y entrega de insumos o suministros.

Referencias

  1. Ardupilot. (2021). Mission Planner Home — Mission Planner documentation. Mission Planner Home. Recuperado 20 junio, 2021, de https://ardupilot.org/planner/

  2. ArduPilot Dev Team. (2021). Ardupilot. Using Gazebo Simulator with SITL. Recuperado 25 junio, 2021, de https://ardupilot.org/dev/docs/using-gazebo-simulator-with-sitl.html

  3. JuegosRobotica. (2020). Juegos Robótica. Robótica educativa #45 Entornos virtuales para programar robots emulados. Recuperado 23 junio, 2021, de https://juegosrobotica.es/podcast-045/

  4. AutorKchir, S., Dhouib, S., Tatibouet, J., Gradoussoff, B., & da Silva Simoes, M. (2016). RobotML for industrial robots: Design and simulation of manipulation scenarios. 2016 IEEE 21st International Conference on Emerging Technologies and Factory Automation (ETFA). Published. https://doi.org/10.1109/etfa.2016.7733727

  5. Open Source Robotics Foundation. (2014). Gazebo Tutorials. Gazebo. Recuperado 27 junio, 2021, de http://gazebosim.org/tutorials

  6. Revista de Robots. (2021). Revista de Robots. ¿Qué es la robótica? Recuperado 29 junio, 2021, de https://revistaderobots.com/robots-y-robotica/que-es-la-robotica/