Hello @David Lu
My robot runs on four tracks whose angle can be adjusted during runtime. To account for the change of the robots' footprint, I use the dynamic recunfigure callback mechanism by calling the /move_base/global_costmap/set_parameters and /move_base/local_costmap/set_parameters services, passing a new footprint string.
My problem is that each footprint change while move_base navigation is active causes the global costmap to be reset. When digging into the code of the costmap_2d layer plugins, I discovered that setting the parameter footprint_clearing_enabled=false prevents this from happening, see this [code section in obstacle_layer.cpp](https://github.com/ros-planning/navigation/blob/53087ca5242fb40f06c84a6bcc74057c3470eff7/costmap_2d/plugins/obstacle_layer.cpp#L418).
However, setting footprint_clearing_enabled=false is not what I want, as this causes these errors when navigation starts and the robot has not moved yet:
The origin for the sensor at (-0.00, 0.00, 0.00) is out of map bounds. So, the costmap cannot raytrace for it.
What do you suggest how to keep footprint_clearing_enabled but without resetting the costmaps each time?
Thanks
↧