Contents — find the section you need
Change parameters and verify
Open the panel, then press Run to load Python. You can stop execution and reset parameters. Results are computed on this device. No Python installation is required.
Local execution steps below are optional for reproducing the source results; they are not required for the browser experiment.
The experiment controls are in English.
Para un primer experimento con Nav2, separe el mapeo de la navegación en un mapa guardado utilizando la simulación oficial de TurtleBot. Este procedimiento sigue la documentación de Jazzy, revisada el 7 de septiembre de 2026. Gazebo no se ejecutó en el entorno de escritura.
Registro del entorno
Utilice Ubuntu 24.04 con una interfaz gráfica de usuario (GUI), ROS 2 Jazzy y su entorno Gazebo compatible. Con ROS 2 ya instalado, prepare los paquetes siguiendo la Guía de inicio rápido de Nav2. No combine las instrucciones de Gazebo Classic de la época de Humble con esta configuración.
source /opt/ros/jazzy/setup.bash
sudo apt update
sudo apt install ros-jazzy-navigation2 ros-jazzy-nav2-bringup ros-jazzy-slam-toolbox ros-jazzy-nav2-minimal-tb3-sim
dpkg-query -W ros-jazzy-navigation2 ros-jazzy-nav2-bringup ros-jazzy-slam-toolbox ros-jazzy-nav2-minimal-tb3-sim
ros2 launch nav2_bringup tb3_simulation_launch.py --show-args
Guarde las versiones instaladas y verifique los argumentos slam, map y use_sim_time con el código fuente de Jazzy (https://raw.githubusercontent.com/ros-navigation/navigation2/jazzy/nav2_bringup/launch/tb3_simulation_launch.py).
Iniciar el modo de mapeo
Usa un entorno ROS dedicado sin robots físicos. El ID de dominio que se muestra a continuación es un ejemplo; confirma que ningún robot real lo comparte. Usa la misma configuración en cada terminal nueva.
source /opt/ros/jazzy/setup.bash
export ROS_DOMAIN_ID=73
ros2 launch nav2_bringup tb3_simulation_launch.py slam:=True headless:=False use_sim_time:=True
En el procedimiento oficial de SLAM, SLAM proporciona /map y map → odom. No añadas AMCL como segundo publicador de esa transformación durante el mapeo.
Probar objetivos cercanos
En otra terminal, carga el entorno y configura export ROS_DOMAIN_ID=73, luego inspecciona las interfaces.
ros2 topic list
ros2 topic hz /scan
ros2 run tf2_ros tf2_echo map base_link
Verifica que el mapa, LaserScan y la pose del robot coincidan en RViz. Establece un objetivo Nav2 en el espacio libre observado cercano y luego muévete hacia la siguiente área. Un objetivo en lo profundo del espacio desconocido puede provocar fallos en la planificación, incluso si SLAM funciona correctamente.
Guardar el mapa y reiniciar
Desde otra terminal con el mismo entorno, guarda el mapa en un nuevo directorio de trabajo. Elige un nombre de archivo que no sobrescriba el mapa que necesitas.
mkdir -p nav2-map-lab
cd nav2-map-lab
ros2 run nav2_map_server map_saver_cli -f map --ros-args -p use_sim_time:=true
Conserva tanto map.yaml como su imagen de referencia. Detén el lanzamiento original con Ctrl+C y espera a que se apague. Desde el directorio nav2-map-lab, reinicia con el mapa guardado.
ros2 launch nav2_bringup tb3_simulation_launch.py slam:=False map:="$PWD/map.yaml" headless:=False use_sim_time:=True
Utiliza la función de estimación de pose 2D de RViz para establecer la ubicación y la dirección simuladas actuales del robot. Solicita un objetivo cercano y comprueba tanto la generación de la ruta como la llegada. La localización del mapa guardado tiene un propósito diferente al de actualizar un mapa con SLAM.
Diagnosticar fallos por interfaz
| Síntoma | Primera comprobación |
|---|---|
| Robot o mundo faltante | Registros del simulador y modelos instalados |
| Mapa faltante | /scan, nodo SLAM y reloj de simulación |
| TF faltante | Dominio compartido, marcas de tiempo y nombres de fotogramas |
| Mapa guardado desalineado | Referencia de imagen YAML y pose inicial |
| Sin ruta | Objetivo de espacio libre conocido y espacio libre para la huella del robot |
Conserve las versiones, los comandos, los mapas y los registros de éxito o fracaso en cada etapa. El registro de implementación de newbot incluye LiDAR 3D y una fuente de odometría diferente; identifique cada cambio con respecto a esta configuración mínima a medida que la lea.
Comentarios
Inicia sesión para continuar.
Todavía no hay datos.