
Advanced Robotic Vehicles Programming
Gabriel Sepulveda-Cervantes, Humberto Sossa-Azuela, Julio Alberto Mendoza-Mendoza, Mauricio Mendez-Martinez, Victor Javier Gonzalez-Villela
- Editorial
- Apress
- Año
- 2020
- Páginas
- ~433
- Nivel
- Avanzado
De qué trata
Tratado técnico avanzado y riguroso dedicado a la programación de bajo nivel de vehículos autónomos robóticos no tripulados utilizando el hardware de control de vuelo Pixhawk (basado en microcontroladores ARM Cortex-M4 STM32) y las librerías de código abierto de ArduPilot en C++. Escrito por un equipo multidisciplinar de doctores e investigadores en robótica, el texto está dirigido a estudiantes de ingeniería mecatrónica, investigadores y desarrolladores de software embebido con un nivel avanzado que ya dominan la programación en C/C++, el álgebra lineal y los fundamentos de dinámica y control de sistemas.
La obra enseña a desarrollar firmware de control a medida desde el SDK de ArduPilot, alejándose de los configuradores gráficos comerciales para trabajar directamente sobre las abstracciones de hardware (AP_HAL). Cubre la adquisición y filtrado digital de señales de sensores inerciales integrados (acelerómetros, giroscopios y magnetómetros dentro de la IMU), altímetros barométricos y receptores de posición global (GPS), así como la decodificación de señales de radiocontrol (canales PPM/S.Bus). Enseña el control de actuadores mediante señales PWM de alta resolución para ESCs de motores brushless y servomotores, la comunicación serie UART para telemetría bidireccional con estaciones de tierra (Mission Planner), y el almacenamiento de datos de vuelo en tarjetas SD. Además, aborda la formulación matemática de matrices de asignación de empuje (allocation matrix) y el salto de un bucle de ejecución secuencial hacia una arquitectura concurrente y multitarea en tiempo real gobernada por el planificador cooperativo AP_Scheduler.
El núcleo práctico del libro se plasma en la concepción y programación de dos firmwares completos para drones multirrotor: un controlador secuencial que implementa un modo de vuelo suave (smooth flight mode) con estabilización y mezcla de motores, y un sistema avanzado en tiempo real que estructura tareas periódicas con prioridades estrictas y telemetría activa. Su valor reside en su profundidad académica y en abrir la "caja negra" del código fuente de ArduPilot para permitir el diseño de algoritmos de navegación propios en drones aéreos, rovers terrestres o vehículos submarinos. Su limitación principal es una curva de aprendizaje pronunciada que exige un firme dominio matemático de ecuaciones de movimiento y teoría de control, prescindiendo deliberadamente de visión por computador o marcos como ROS para concentrarse en la aviónica de vuelo crítico.
- ArduPilot
- Pixhawk
- Drones autónomos
- Cuadricóptero
- Sistemas de tiempo real
- C++ embebido
- Teoría de control
- Unidad IMU
- Telemetría UART
- STM32
¿Cómo enseña?
Con proyectos
- ✗ Sin ejercicios
- ✓ Incluye proyectos
Proyectos
Controlador de vuelo secuencial para dron cuadricóptero
Firmware en bucle secuencial que integra lectura y filtrado de sensores inerciales y GPS, procesamiento de mandos por radio y aplicación de una matriz de asignación de motores con modo de vuelo suave (smooth flight mode).
Sistema de control multirrotor en tiempo real con ArduPilot Scheduler
Arquitectura de control de vuelo concurrente basada en el planificador AP_Scheduler de ArduPilot, que gestiona tareas periódicas priorizadas, telemetría serie UART y registro de datos para su análisis en Mission Planner.