https://github.com/juanfran24/path_planner_robot
Miniproyecto para la asignatura Inteligencia Artificial sobre planificador de rutas para robots usando el algoritmo A* que busca encontrar la ruta más corta desde un punto de inicio a fin en un grafo 2D.
https://github.com/juanfran24/path_planner_robot
a-star-algorithm ia python
Last synced: 5 months ago
JSON representation
Miniproyecto para la asignatura Inteligencia Artificial sobre planificador de rutas para robots usando el algoritmo A* que busca encontrar la ruta más corta desde un punto de inicio a fin en un grafo 2D.
- Host: GitHub
- URL: https://github.com/juanfran24/path_planner_robot
- Owner: Juanfran24
- Created: 2025-03-20T16:43:29.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-21T01:17:36.000Z (about 1 year ago)
- Last Synced: 2025-03-21T01:23:34.345Z (about 1 year ago)
- Topics: a-star-algorithm, ia, python
- Language: Python
- Homepage:
- Size: 1.95 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.txt
Awesome Lists containing this project
README
# Planificación de Rutas para Robots con A*
## Descripción
Este proyecto implementa un sistema de planificación de rutas para un robot en un entorno 2D con obstáculos generados aleatoriamente. Utiliza el algoritmo A* para encontrar la ruta más corta desde un punto de inicio hasta un destino evitando obstáculos.
## Requisitos
Para ejecutar el proyecto, asegúrate de tener instalado **Python 3.x** y las siguientes librerías:
```bash
pip install matplotlib networkx
```
## Cómo ejecutar el proyecto
1. Clona este repositorio o descarga los archivos.
2. Abre una terminal en la carpeta del proyecto.
3. Ejecuta el script principal:
```bash
python main.py
```
## Funcionamiento
- Se genera una cuadrícula de 10x10 representando el entorno.
- Se añaden obstáculos en posiciones aleatorias.
- El robot parte de la posición (0,0) y debe llegar a (9,9).
- Se usa el algoritmo A* con la heurística de Manhattan para encontrar la mejor ruta.
- Se muestra una visualización con el camino óptimo, obstáculos y nodos del grafo.
## Archivos principales
- **main.py**: Código principal del proyecto.
- **README.md**: Este archivo con la descripción y guía de uso.
## Mejoras futuras
- Permitir movimientos diagonales con heurística euclidiana.
- Optimizar el tiempo de ejecución en entornos más grandes.
- Implementar una interfaz gráfica para mayor interacción.
## Autor
Desarrollado por Juan Esteban Franco Estacio.