Documented target: Ubuntu 24.04 · ROS 2 Jazzy · Gazebo Harmonic where used. Browser labs tested; ROS/Ubuntu/hardware execution not performed here.
What you will understand
- Identify navigation responsibilities.
- Follow a known simulation baseline.
- Interpret feedback and cancellation.
Prerequisites: Make a map and check its limits and its stated environment.
The idea, made clear.
Navigation combines a planner, local motion control, obstacle costmaps and mission behavior. A route through free cells is not enough: footprint, speed limits and moving obstacles affect execution. Separate the responsibilities when diagnosing a failed mission.
Begin with the documented Jazzy simulator quickstart. Establish an initial pose and verify localization before submitting a goal. Inspect action feedback and lifecycle state. A green path does not prove the robot reached its destination.
Define cancellation, blocked paths and lost-localization behavior. Browser grid planning here computes a static four-neighbour path, not a full Nav2 stack. It excludes footprint inflation, dynamic obstacles, real sensors and motors.
Try it, step by step.
Prepare the baseline
Follow the official Nav2 Jazzy quickstart for additional simulation packages and world.
sudo apt install ros-jazzy-navigation2 ros-jazzy-nav2-bringupExpected: Nav2 installed; simulator prerequisites remain as documented.
Inspect actions
After bringing up the quickstart simulation, inspect the available server.
ros2 action list -t
ros2 interface show nav2_msgs/action/NavigateToPoseExpected: A typed navigation action when active.
Test failure
Block the grid lab completely, then open a gap.
Expected: A route exists only when connected free cells reach the goal.
If something goes wrong
- Goal rejected
- Check server lifecycle, frame and localization.
- Path uses narrow gap
- Review footprint/inflation in the real stack.
Check your understanding
Make it yours
Write start, success, cancellation and failure conditions.
Optional progress stays in this browser. No account needed.
Go to the source documentation
Commands are educational examples for the stated environment, not a transcript of local ROS execution. Verify actual behavior on your machine.