Troubleshooting · Navigation and control
Path planning fails
Planning fails when the goal or start is invalid in the costmap, or no path exists at the inflated size. Read the planner’s error and look at the costmap.
1. Symptoms
- “Failed to create a plan” or no path found errors.
- The path ends short of the goal.
- Planning works for some goals and not others.
2. Possible causes
- The goal lies on an inflated or occupied cell.
- The start is inside the inflated obstacle area (the robot is already too close).
- Unknown space not allowed, or the map is incomplete.
- Planner tolerance too small.
- Transform or timing problems (the pose is stale).
- Costmap not updated or sensor data missing.
3. Measurements to collect
- The costmap value at the start and the goal.
- Planner error code and log.
- The transform from the map to the base frame and its age.
4. Diagnostic commands
Commands are not executed by the site’s automated tests (they need a ROS 2 Jazzy installation or the robot).
ros2 topic echo /global_costmap/costmap --once
ros2 run tf2_ros tf2_echo map base_link
ros2 action send_goal /compute_path_to_pose nav2_msgs/action/ComputePathToPose "{}"5. Step-by-step investigation
- View the global costmap in RViz with the start and goal.
- Check the cell value at the goal and at the start.
- Check the planner tolerance and allow_unknown parameters.
- Check transforms and their age.
- Check the sensors feeding the costmap.
6. Corrective actions
- Move the goal out of inflated cells or reduce inflation.
- Allow a larger planner tolerance.
- Fix the map or enable unknown space where appropriate.
- Fix transforms and timing.
7. Validation after the fix
- Plans are produced to every goal in the test set.
References
- Nav2 default parameters (jazzy): nav2_params.yaml, read 2026-11-06 (NavFn
tolerance: 0.5,allow_unknown: true).