move_base global/local planner configuration
I'm having a hard time setting move_base parameters for my global/local planner. I would expect move_base to complain about invalid parameters instead of using old parameters as it seems. Is there a cache of some sort for the planner configs?
For example in my costmap_common_params_waffle.yaml I have this:
map_type: costmap
observation_sources: scan
scan: {sensor_frame: base_scan, data_type: LaserScan, topic: scan, marking: true, clearing: true}
Now if I comment out all lines, move_base still subscribes to the topic 'scan'. If I rename the topic from 'scan' to 'scan-123' (non-existent topic), move_base still subscribes to the topic 'scan'. In fact, even if I don't even pass this file to move_base it still behaves the same:
<rosparam file="$(find turtlebot3_navigation)/param/costmap_common_params_waffle.yaml" command="load" ns="global_costmap" />
This is a real mystery to me. Is there a way I can debug move_base and see where it gets it's configs from?
Just FYI, if you don't restart the roscore or clear your rosparams manually they will remain even if you comment them out.
That was my problem! I needed to delete the rosparams in order to clear the cache (e.g. 'rosparam delete /move_base/global_costmap/obstacle_layer/scan/sensor_frame').
Thanks @bob-ROS for pointing that out. Small details you don't get taught when you study ROS.