Ir al contenido

Maestro de la planificación de rutas

La planificación de rutas es la tecnología central del vuelo autónomo del drone. En este proyecto aprenderás a implementar la planificación autónoma de rutas del drone con el algoritmo A*.

  • Principios del algoritmo A*
  • Búsqueda heurística
  • Bases de teoría de grafos
  • Optimización de algoritmos
Artículo Cantidad Descripción
Drone ESP32-S3 1 -
Ordenador 1 Con Python + Pygame
path_planner.py 1 Simulador de planificación de rutas

f(n) = g(n) + h(n)

  • g(n) es el coste desde el origen hasta el punto actual
  • h(n) es el coste estimado desde el punto actual hasta el destino

Gestionan los nodos pendientes de explorar y los ya explorados.

Descomprime path_planning.zip y ábrelo con VS Code.

Paso 3: Implementar la función central del algoritmo A*

Sección titulada «Paso 3: Implementar la función central del algoritmo A*»

Abre astar.c e implementa la búsqueda A*:

void astar_search(Point start, Point goal, Obstacle* obstacles, int obs_count) {
// 1. Inicializar las listas abierta y cerrada
List open_list, close_list;
list_init(&open_list);
list_init(&close_list);
// 2. Añadir el punto de inicio a la lista abierta
Node start_node;
start_node.pos = start;
start_node.g = 0;
start_node.h = calculate_heuristic(start, goal);
start_node.f = start_node.g + start_node.h;
list_add(&open_list, &start_node);
// 3. Bucle principal
while (!list_is_empty(&open_list)) {
// Seleccionar de la lista abierta el nodo con menor valor f
Node* current = get_min_f_node(&open_list);
// Comprobar si se llegó al destino
if (is_goal(current->pos, goal)) {
// Retroceder para generar la ruta
generate_path(current);
return;
}
// Mover el nodo actual a la lista cerrada
list_remove(&open_list, current);
list_add(&close_list, current);
// Generar los nodos vecinos
generate_neighbors(current, &open_list, &close_list, goal, obstacles, obs_count);
}
}
  1. En path_planner.py, define el origen, el destino y los obstáculos
  2. Ejecuta el simulador y observa si el algoritmo encuentra la ruta óptima

Convierte los datos de la ruta en comandos de vuelo del drone y prueba el vuelo en interiores.

  • Comprueba la configuración de los obstáculos
  • Ajusta la función heurística
  • Añade un algoritmo de suavizado de rutas
  • Aumenta la densidad de puntos de paso

¡Enhorabuena! Has implementado el algoritmo de planificación de rutas A*, ¡la tecnología central del vuelo autónomo del drone!

En el siguiente proyecto aprenderás a desarrollar un sistema de evitación de obstáculos en tiempo real.

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