LESSON 15 · NAVIGATION

Plan a route and supervise a mission

Connect planning, control and localization with visible failure states.

Environment and verification

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.

Localized poseGlobal planLocal controlAction result
An original overview of the information or commissioning sequence.

Try it, step by step.

1

Prepare the baseline

Follow the official Nav2 Jazzy quickstart for additional simulation packages and world.

nav2-autonomous-missions-1.txt
sudo apt install ros-jazzy-navigation2 ros-jazzy-nav2-bringup

Expected: Nav2 installed; simulator prerequisites remain as documented.

2

Inspect actions

After bringing up the quickstart simulation, inspect the available server.

nav2-autonomous-missions-2.txt
ros2 action list -t
ros2 interface show nav2_msgs/action/NavigateToPose

Expected: A typed navigation action when active.

3

Test failure

Block the grid lab completely, then open a gap.

Expected: A route exists only when connected free cells reach the goal.

Explore the interactive lab →

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

Does a route guarantee travel?

Make it yours

Write start, success, cancellation and failure conditions.

Your learning progress

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.

Look up a term · Version notes · Report an issue