Troubleshooting · Navigation and control
Robot fails in narrow corridors
In a narrow passage the margin is a few centimetres. Check the footprint, inflation, planner and localisation error against the passage width.
1. Symptoms
- The planner finds no path through a door the robot physically fits.
- The robot stops or oscillates in a corridor.
- The robot clips the door frame.
2. Possible causes
- Inflation radius too large, making the passage look blocked.
- Footprint larger than the real robot, or a circular approximation of a long robot.
- A planner that assumes a circular robot.
- Localisation error comparable to the free margin.
- Controller speed or critic weights keep it away from walls.
- Costmap resolution too coarse.
3. Measurements to collect
- Passage width versus robot width and the costmap cell size.
- Inflation and footprint in the costmap visualisation.
- Localisation error at the passage.
4. Diagnostic commands
Commands are not executed by the site’s automated tests (they need a ROS 2 Jazzy installation or the robot).
ros2 param get /global_costmap/global_costmap inflation_layer.inflation_radius
ros2 topic echo /local_costmap/published_footprint --once
ros2 topic echo /global_costmap/costmap --once5. Step-by-step investigation
- Visualise the costmaps with the inflated areas at the passage.
- Compare passage width with the robot width plus margin.
- Check footprint and inflation against the real robot.
- Check the planner assumptions (see the planner guide).
- Check localisation error and goal tolerances.
- Reduce speed in the passage.
6. Corrective actions
- Set the footprint to the true shape and reduce inflation where safe.
- Use a footprint-aware planner (state lattice) for non-circular robots.
- Improve localisation or add a marker at the doorway.
- Use higher costmap resolution near narrow places.
7. Validation after the fix
- The robot passes the narrowest passage ten times without contact.
References
- See the costmap guide and the planner guide.