RTABmap breaks my TF
I am doing a remote mapping and I cannot set the TF right. When I set the launch file like this:
<arg name="frame_id" default="camera_link"/> <!-- Fixed frame id, you may set "base_link" or "base_footprint" if they are published -->
<arg name="map_frame_id" default="map"/>
<arg name="ground_truth_frame_id" default=""/> <!-- e.g., "world" -->
<arg name="ground_truth_base_frame_id" default=""/> <!-- e.g., "tracker", a fake frame matching the frame "frame_id" (but on different TF tree) -->
<arg name="namespace" default="rtabmap"/>
<arg name="database_path" default="~/.ros/rtabmap.db"/>
<arg name="queue_size" default="20"/>
<arg name="wait_for_transform" default="0.2"/>
<arg name="args" default="--delete_db_on_start"/> <!-- delete_db_on_start, udebug -->
<arg name="rtabmap_args" default="$(arg args)"/> <!-- deprecated, use "args" argument -->
<arg name="launch_prefix" default=""/> <!-- for debugging purpose, it fills launch-prefix tag of the nodes -->
<arg name="output" default="screen"/> <!-- Control node output (screen or log) -->
<arg name="publish_tf_map" default="true"/>
<arg name="odom_frame_id" default=""/>
RTABmap makes a TF from Map to camera_link and if I instead place "base_footprint", which is my fixed base, RTABmap also breaks the tree by providing TF from odom to camera_link.
How can I ensure that it does not break the tree? My tf looks like this:
Which nodes do you start? the
frame_id
parameter should bebase_footprint
. For odom to camera_link TF, maybe a visual odometry node is also started, remove that node. If you are using rtabmap.launch, setvisual_odometry
to false.