Entorno de simulación basado en Gazebo y ROS 2 para probar vehículos de superficie no tripulados en escenarios marinos, inspirado en las pruebas de la competición RobotX.
ros-navigation/navigation2
Framework de navegación para ROS 2 que permite a robots móviles planificar rutas, seguirlas y evitar obstáculos mediante un stack basado en árboles de comportamiento.
- Estrellas
- 5,008
- Forks
- 2,014
- Issues abiertos
- 109
- Último commit
- hace 14 horas
¿Qué es?
Nav2 es el framework y sistema de navegación para ROS 2, el sistema operativo para robots. Proporciona los componentes que un robot móvil necesita para desplazarse de una pose a otra: crear y mantener costmaps a partir de datos de sensores, calcular rutas globales y locales, ejecutar comandos de control y recuperarse cuando queda atascado. Nav2 es el sucesor del stack de navegación de ROS 1 y está organizado como un conjunto de plugins y servidores gestionados mediante el ciclo de vida.
El comportamiento de alto nivel se coordina mediante un navegador basado en árboles de comportamiento, lo que permite a los desarrolladores cambiar cómo reacciona un robot ante distintos eventos editando las configuraciones del árbol, en lugar de reescribir código. El proyecto incluye varios planificadores y controladores intercambiables como plugins, además de paquetes para el servidor de mapas, la localización AMCL, el monitor de colisiones, el acoplamiento y la navegación basada en rutas. También incluye archivos launch para simulación y puesta en marcha.
El repositorio es un workspace de ROS 2 con varios paquetes. La documentación registra el estado de las versiones para cada distribución de ROS 2, y el proyecto ofrece imágenes de Docker y compilaciones desde el código fuente y paquetes Debian para las distribuciones compatibles.
Funciones clave
- 01Navegador basado en árboles de comportamiento que coordina la planificación, el control y la recuperación.
- 02Planificadores globales y controladores locales intercambiables, implementados como plugins de ROS 2.
- 03Representación de obstáculos basada en costmaps creados a partir de datos de sensores.
- 04Localización AMCL y servidor de mapas para la navegación basada en mapas.
- 05Paquetes para el monitor de colisiones, el acoplamiento y la navegación basada en rutas.
Casos de uso
- Navegación autónoma de robots móviles o con ruedas que usan ROS 2.
- Creación de prototipos y prueba de algoritmos de navegación en simulación antes de implementarlos en hardware.
- Desarrollo de planificadores o controladores personalizados como plugins para un stack de navegación existente.
- Robots móviles industriales o de almacén que necesitan evitar obstáculos y acoplarse.
Inicio rápido
- 1
Lee la guía Getting Started en el sitio de documentación
- 2
Sigue la guía Build & Install o utiliza los contenedores Docker
Antes de usarlo
- La licencia no se ha detectado claramente en los metadatos, así que consulta las condiciones de licencia del repositorio antes de usarlo.
- Funciona con ROS 2 y requiere una distribución de ROS configurada y una instalación de robot, por lo que no es una biblioteca independiente.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es navigation2?
- Framework de navegación para ROS 2 que permite a robots móviles planificar rutas, seguirlas y evitar obstáculos mediante un stack basado en árboles de comportamiento. Nav2 es el framework y sistema de navegación para ROS 2, el sistema operativo para robots. Proporciona los componentes que un robot móvil necesita para desplazarse de una pose a otra: crear y mantener costmaps a partir de datos de sensores, calcular rutas globales y locales, ejecutar comandos de control y recuperarse cuando queda atascado. Nav2 es el sucesor del stack de navegación de ROS 1 y está organizado como un conjunto de plugins y servidores gestionados mediante el ciclo de vida.
- ¿navigation2 es gratuito? ¿Qué licencia tiene?
- navigation2 es open source bajo la licencia Other. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿navigation2 sigue mantenido?
- Mantenimiento activo. El último commit de navigation2 fue el 5 nov 2026.
- ¿Para qué puedo usar navigation2?
- Navegación autónoma de robots móviles o con ruedas que usan ROS 2. Creación de prototipos y prueba de algoritmos de navegación en simulación antes de implementarlos en hardware. Desarrollo de planificadores o controladores personalizados como plugins para un stack de navegación existente. Robots móviles industriales o de almacén que necesitan evitar obstáculos y acoplarse.
- ¿Cómo se instala navigation2?
- Lee la guía Getting Started en el sitio de documentación Sigue la guía Build & Install o utiliza los contenedores Docker
- ¿Dónde consigo navigation2?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/ros-navigation/navigation2
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Un simulador de robots ligero, basado en Python, para navegación, control y aprendizaje, configurable mediante archivos YAML.
Simulador de robots de código abierto para modelar, programar y simular robots, vehículos y sistemas mecánicos.
Simulador de código abierto e independiente del motor para drones, aeronaves de ala fija y vehículos terrestres, con renderizado opcional en Unreal Engine 5.
Simulador ligero de dinámica 2.5D para robots móviles con ruedas y vehículos, disponible de forma independiente, mediante ROS 1/2 o desde C++ y Python.
Colección de código Python y libro de texto sobre algoritmos de robótica que abarcan localización, mapeo, SLAM, planificación de rutas y control.