Why doesn't RTABmap use my optical rotation?
When i run RTABmap, the poincloud is located on z axis of my base_footprint frame. My TF tree is quite simple:
I also apply optical transform from camera_link to duo3d_camera:
<launch>
<arg name="pi/2" value="1.5707963267948966" />
<node pkg="tf" type="static_transform_publisher" name="duo3d_base_link" args="0 0 0 -$(arg pi/2) 0 $(arg pi/2) camera_link duo3d_camera 100" />
But that does not change anything.
My point cloud:
Make sure
frame_id
parameter of rtabmap node is set tobase_footprint
. Also make sure theframe_id
set in image topics isduo3d_camera
.I don't think that's a legal name for a ROS resource. If it is, I would still not recommend embedding
/
in a resource name.Refer to wiki/names for more info on legal names.
@matlabbe The frame_id on my camera_info is duo3d_camera so my guess is that RTABmap will produce point cloud based on duo3d_camera. It means I need to transform from duo3d_camera to camera_link and make frame_id to be duo3d_camera instead of base_footprint. Am I correct?
@matlabbe Also, from my previous question: https://answers.ros.org/question/3195... Setting master_uri on host pc did make a trick but after a while, I again got that error, that RTABmap did not receive the topics. Is that really due to time sync problem? Did you ever encounter such problem?
Please post how rtabmap is launched (i.e., the launch file used), I am not sure if you set
frame_id
parameter correctly. Theframe_id
of the camera messages should beduo3d_camera
. Theframe_id
parameter of rtabmap nodes should bebase_footprint
.