
Se da la definición de un cuatrirrotor y se explica brevemente cómo funciona.
Se muestra el procedimiento para obtener el modelo dinámico de un cuatrirrotor.
Se explica cómo es posible controlar un cuatrirrotor mediante velocidades, es decir, tomar en cuenta su modelo cinemático.
Se presentan las suposiciones para usar el modelo cinemático de un cuatrirrotor.
Se muestra detalladamente el procedimiento para clonar los paquetes de ROS necesarios para utilizar drones con ROS. El video muestra el caso en ROS Kinetic pero en el material descargable están los comandos de instalación para el caso con ROS Melodic y ROS Noetic.
Se muestran los comandosde ROS para controlar un dron simulado en Gazebo.
Se muestra el procedimiento para clonar el paquete de ROS utilizado en este curso. También, se da una breve explicación de los archivos que lo componen.
Se explica el código, en lenguaje C++, para despegar y aterrizar el dron, asignar velocidades y obtener su posición y orientación.
En futuras clases se volverán a revisar las instrucciones y funciones más utilizadas.
Se describen detalladamente las trayectorias consideradas para las simulaciones.
Se explica detalladamente el proceso de diseño del controlador para resolver el problema de seguimiento de trayectorias.
Se explica el código, en lenguaje C++, utilizado para abordar el seguimiento de trayectoria deseada usando el controlador presentado en una clase pasada.
Se explica el código para resolver el problema de seguimiento de trayectoria usando un cuatrirrotor en Gazebo. Además, se explica cómo programar el nodo de ROS para visualizar la trayectoria descrita por el dron y la trayectoria deseada.
En esta clase se realiza una muestra de cómo utilizar los scripts de Python. También se explican las diferencias entre utilizar nodos programados en C++ y en Python.
Para utilizar 2 o más drones, se describe el esquema de formación líder-seguidor. También, se muestra detalladamente cómo obtener la trayectoria deseada del robot seguidor a partir de la postura del robot líder.
Se describe detalladamente cómo lanzar múltiples drones en Gazebo y configurar los para su correcta visualización en Rviz.
Se explica detalladamente el código para realizar la simulación en Gazebo utilizando 2 drones y empleando el esquema líder-seguidor.
Finalmente, se explica el código para realizar la simulación en Gazebo utilizando 2 drones, empleando el esquema líder-seguidor y la manera de visualizar en Rviz las rutas descritas por ambos drones y la trayectoria deseada para robot líder.
En este curso conocerás el procedimiento para obtener el modelo dinámico y cinemático de un cuatrirrotor.
También, aprenderás a diseñar un controlador para resolver el problema de seguimiento de trayectoria en el espacio 3D, considerando el modelo cinemático del dron.
Con el fin de mostrar el desempeño del controlador, te muestro paso a paso el procedimiento para programar un nodo de ROS que permita visualizar el dron, su trayectoria descrita y su trayectoria deseada utilizando el visualizador Rviz y el simulador Gazebo.
Brevemente, te muestro cómo personalizar tu dron usando el formato urdf.
Finalmente, te explico cómo abordar el problema de control de formación usando el esquema líder-seguidor, esto es, que un dron siga a otro.
Así mismo, te enseño a programar, en lenguaje C++ y en Python, el nodo correspondiente para que realices la simulación utilizando múltiples cuatrirrotores.
El contenido del curso se muestra a continuación:
Sección 1: Introducción al modelado de un cuatrirrotor
Obtener y entender el modelo matemático que describe a un cuatrirrotor.
- Definición de un cuatrirrotor.
- Modelo dinámico de un cuatrirrotor.
- Estrategias para controlar al sistema sub-actuado.
- Modelo cinemático de un cuatrirrotor.
Sección 2: Instalación de paquetes para utilizar un dron con ROS (Kinetic, Melodic y Noetic)
Instalar los paquetes de ROS necesarios para simular drones con ROS.
- Procedimiento para clonar los paquetes para simular el dron.
- Comandos básicos de ROS y funcionamiento del cuatrirrotor simulado en Gazebo.
- Personalización del dron simulado.
Sección 3: Diseño del controlador para el seguimiento de trayectoria en el espacio
Diseñar un controlador para resolver el problema de seguimiento de trayectoria usando el modelo cinemático del cuatrirrotor.
- Nodo para asignar entradas de control y obtener la postura del dron.
- Definición de las trayectorias deseadas.
- Diseño del controlador basado en el modelo cinemático.
- Nodo para resolver el problema de seguimiento de trayectoria.
- Código con el controlador para la visualización de las trayectorias en Rviz.
- Comparación y explicación de los scripts en Python.
Sección 4: Esquema de formación líder-seguidor (usando 2 o más drones)
Entender el esquema líder-seguidor y realizar las simulaciones en Gazebo con ROS y Rviz.
- Esquema líder-seguidor.
- Explicación del launcher para lanzar 2 drones en Gazebo.
- Nodo para que un cuatrirrotor siga a otro.
- Esquema líder-seguidor y visualización de las trayectorias en Rviz.