Bug report
When the footprint of the robot is changed using the costmap topic, the planner doesn't update the collision_checker so it can plan in obstacles. It can be seen in the /planned_footprints (they are using the costmap footprint)

The footprint is not a dynamic parameter of the planner, and it's a good point, It must retrieve it from the costmap.
Required Info:
- Operating System:
- ROS2 Version:
- Version or commit hash:
- DDS implementation:
Steps to reproduce issue
- Start the navigation
- Change the footprint of the costmap using the topic
- The costmap is updated
- The collision_checker of the planner is not updated
Expected behavior
The planner updates the collision_checker and the path doesn't go into obstacles
Actual behavior
The planner doesn't update the collision_checker and the path can go into obstacles
Additional information
Note : If you change the value of the parameter angle_quantization_bins, the collision_checker is updated and the path is good.
Implementation possibilities:
- Easy and dirty: on every
createPlan(), update collision_checker before setting the a_start. (tested ✔️ )
- Strangely to work perfectly, you need to recreate the collision_checker, not just set the footprint;
- Hard and clean : Make collision_checker aware of the costmap changes.
Bug report
When the footprint of the robot is changed using the costmap topic, the planner doesn't update the collision_checker so it can plan in obstacles. It can be seen in the
/planned_footprints(they are using the costmap footprint)The footprint is not a dynamic parameter of the planner, and it's a good point, It must retrieve it from the costmap.
Required Info:
Steps to reproduce issue
Expected behavior
The planner updates the collision_checker and the path doesn't go into obstacles
Actual behavior
The planner doesn't update the collision_checker and the path can go into obstacles
Additional information
Note : If you change the value of the parameter
angle_quantization_bins, the collision_checker is updated and the path is good.Implementation possibilities:
createPlan(), update collision_checker before setting the a_start. (tested ✔️ )