Formación multi-drone
Visión general
Sección titulada «Visión general»El vuelo en formación es una aplicación avanzada de la cooperación multi-drone. En este proyecto aprenderás a implementar el vuelo en formación de 3 drones.
Lo que aprenderás
Sección titulada «Lo que aprenderás»- Sistemas multiagente
- Algoritmos de control cooperativo
- Estrategias de control de formación
- Modo líder-seguidor
Materiales necesarios
Sección titulada «Materiales necesarios»| Artículo | Cantidad | Descripción |
|---|---|---|
| 3 drones ESP32-S3 | 3 | - |
| Ordenador | 1 | Con Python + Pygame |
formation_simulator.py |
1 | Simulador de formaciones |
Paso 1: Elegir la estrategia de control de formación
Sección titulada «Paso 1: Elegir la estrategia de control de formación»El modo líder-seguidor (Leader-Follower) es la estrategia de control de formaciones más utilizada.
Paso 2: Abrir el proyecto
Sección titulada «Paso 2: Abrir el proyecto»Descomprime formation_flight.zip y ábrelo con VS Code.
Paso 3: Implementar la estrategia líder-seguidor
Sección titulada «Paso 3: Implementar la estrategia líder-seguidor»Abre formation.c e implementa el control de los seguidores:
void follower_control(float leader_x, float leader_y, float leader_z, float offset_x, float offset_y, float offset_z) { // 1. Calcular la posición deseada: pos_líder + desfase float desired_x = leader_x + offset_x; float desired_y = leader_y + offset_y; float desired_z = leader_z + offset_z;
// 2. Calcular los comandos de velocidad con un controlador PID float vx = pid_controller(&pos_pid_x, desired_x, current_x); float vy = pid_controller(&pos_pid_y, desired_y, current_y); float vz = pid_controller(&pos_pid_z, desired_z, current_z);
// 3. Convertir los comandos de velocidad en revoluciones de los motores motorsSetRatio(MOTOR_M1, current_ratio + vx - vy + vz); motorsSetRatio(MOTOR_M2, current_ratio - vx - vy + vz); motorsSetRatio(MOTOR_M3, current_ratio - vx + vy + vz); motorsSetRatio(MOTOR_M4, current_ratio + vx + vy + vz);}Paso 4: Configurar los parámetros de la formación
Sección titulada «Paso 4: Configurar los parámetros de la formación»- Líder (drone 1): posición (0, 0, 1)
- Seguidor 1 (drone 2): posición (1, 0, 1) (1 metro a la derecha del líder)
- Seguidor 2 (drone 3): posición (0.5, sqrt(3)/2, 1) (1 metro al frente-izquierda del líder, formando un triángulo equilátero)
Paso 5: Probar
Sección titulada «Paso 5: Probar»- La estación terrestre envía el comando “iniciar formación”
- Observa si los 3 drones forman y mantienen una figura triangular
- Reto: implementa un “cambio de formación”, pasando del triángulo a una formación en línea
Solución de problemas
Sección titulada «Solución de problemas»La formación es inestable
Sección titulada «La formación es inestable»- Ajusta los parámetros PID
- Optimiza la frecuencia de comunicación
Los seguidores se rezagan
Sección titulada «Los seguidores se rezagan»- Aumenta la velocidad de seguimiento
- Reduce la separación de la formación
Sensación de logro
Sección titulada «Sensación de logro»¡Enhorabuena! Has implementado el vuelo en formación de varios drones, ¡una aplicación avanzada de la cooperación multi-drone!
Siguiente paso
Sección titulada «Siguiente paso»En el siguiente proyecto aprenderás a desarrollar un sistema de seguimiento e identificación visual basado en IA.
Publicado por primera vez endrone.imagrove.com/es/advanced/formation/Al citar o reproducir, indica la fuente Imagrove y enlaza a esta página.
¿Dudas o problemas con este tutorial?
Inicia sesión con GitHub para comentar. Si un paso te falla, avísanos: lo verificamos y actualizamos el tutorial.
© 2026 ESP32 Drone. Todos los derechos reservados.