Ir al contenido

As de la evasión

La evitación de obstáculos en tiempo real es una garantía clave para el vuelo seguro del drone. En este proyecto aprenderás a desarrollar un sistema de evitación de obstáculos en tiempo real.

  • Principios de los algoritmos de evitación
  • Método de campos potenciales artificiales
  • Histograma de campos vectoriales (VFH)
  • Método de la ventana dinámica (DWA)
Artículo Cantidad Descripción
Drone con sensores de distancia 1 Sensores VL53L0X, TOF
Ordenador 1 Con entorno VS Code + ESP-IDF
Cable de datos USB 1 Para programar
Espacio interior 1 Para colocar obstáculos

El sistema de evitación detecta los obstáculos circundantes mediante sensores, planifica una ruta segura y controla el drone para que los esquive.

Algoritmos de evitación habituales:

  • Método de campos potenciales artificiales
  • Histograma de campos vectoriales (VFH)
  • Método de la ventana dinámica (DWA)

Instala varios sensores de distancia alrededor del drone (delantero, trasero, izquierdo, derecho) para lograr una detección de obstáculos en todas las direcciones.

Paso 3: Implementación del algoritmo de evitación

Sección titulada «Paso 3: Implementación del algoritmo de evitación»

Elige DWA (método de la ventana dinámica):

void obstacleAvoidance() {
// Leer los datos de los sensores y detectar obstáculos
float dist_front = readDistanceSensor(FRONT);
float dist_left = readDistanceSensor(LEFT);
float dist_right = readDistanceSensor(RIGHT);
// Construir la lista de obstáculos
Obstacle obstacle_list[10];
int obs_count = 0;
if (dist_front < 200) {
obstacle_list[obs_count].x = current_x + dist_front;
obstacle_list[obs_count].y = current_y;
obs_count++;
}
// Usar el algoritmo DWA para planificar una velocidad segura
float vx, vy, vz, yaw_rate;
dwaPlanner(&vx, &vy, &vz, &yaw_rate, obstacle_list, obs_count);
// Controlar el drone para ejecutar la maniobra de evitación
commanderSetVelocitySetpoint(vx, vy, vz, yaw_rate);
}
  1. Compila y graba el código
  2. Prueba en un espacio interior con obstáculos colocados
  • Optimiza la frecuencia de lectura de los sensores
  • Simplifica el algoritmo de evitación
  • Ajusta los parámetros de DWA
  • Añade más sensores

¡Enhorabuena! Has implementado un sistema de evitación de obstáculos en tiempo real, ¡una garantía importante para el vuelo seguro del drone!

En el siguiente proyecto aprenderás a implementar el seguimiento en tiempo real de objetivos por color con la librería OpenCV.

Publicado por primera vez endrone.imagrove.com/es/advanced/obstacle-avoidance/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.

ImagroveMás tutoriales sobre ESP32 · ESP32 IoT Tutorial

© 2026 ESP32 Drone. Todos los derechos reservados.