I've been trying to get RTAB-Map going in simulation using a depth camera plugin. I've been able to get it all working, however it seems that RTAB-Map uses its default parameters, rather than the ones loaded in my launch file. For example, I want to simulate the ZED camera which has depth range 1m -> 20m. So, I'd set Grid/DepthMin and Grid/DepthMax to 1 and 20 respectively:
<node name="rtabmap" pkg="rtabmap_ros" type="rtabmap" output="screen" args="--delete_db_on_start">
...
<param name="Grid/DepthMin" type="string" value="1.0"/>
<param name="Grid/DepthMax" type="string" value="20.0"/>
...
</node>
However, when viewing the parameter server after launching the node, there are two instances of these parameters: one under the rtabmap namespace (with the correct value), and one in the global namespace (with default values of 0 and 4). It seems to me that the rtabmap node is loading its own parameters into the global namespace and using them, rather than using the ones set in the launch file (rviz shows a maximum range of approx 4m for the MapCloud).
I've tried loading the parameters into the global namespace, and then launching rtabmap, but they just get overwritten with the defaults again. Just to be clear, I'm using my own launch file and launching the node itself, not launching through rtabmap_ros/rtabmap.launch. All parameters seem to be default, not just these two used as examples.
Is there anything basic that I could be missing which would cause rtabmap to use default values?
Cheers.
Originally posted by ufr3c_tjc on ROS Answers with karma: 885 on 2017-11-01
Post score: 0