Posted by
matlabbe on
URL: http://official-rtab-map-forum.206.s1.nabble.com/Using-RTAB-with-Manipulator-tp11147p11176.html
You can use odom_frame_id = base_link, but you need to use RGBD/LinearUpdate=0 to update the map like you did. However, it will update all the time, if you want to update the map only with the end effector is moving, set frame_id to wrist_link and set RGBD/LinearUpdate to some minimum motion to update.
The biggest concern I have seeing the log is:
[rtabmap-12] [INFO] [1746798276.786549815] [rtabmap]: rtabmap (1): Rate=1.00s, Limit=0.000s, Conversion=0.0175s, RTAB-Map=2.9141s, Maps update=0.0003s pub=0.0001s delay=1.4180s (local map=1, WM=1)
It seems that just creating a single node is already slower than 1 Hz. Can you share the database even if there is a single node, I would like the see the details of processing time to know where it is so slow.
For this warning:
If I set "'RGBD/LinearUpdate': '0.0'" and "'RGBD/AngularUpdate': '0.0'" I inexplicably get "[ WARN] (2025-05-12 17:11:46.634) SensorData.cpp:762::uncompressDataConst() Requested laser scan data, but the sensor data (182) doesn't have laser scan."
You have set Reg/Strategy=1, assuming there is a lidar. In your setup you are not using a lidar or a PointCloud2 input. You could set it back to Reg/Strategy=0 or remove it from your config.
1) What changes if I put "wrist_link" or "tool_link" as "frame_id"? Where can I find the pose estimate for these frames?
Use TF to recover the pose. In that example, I assume that base_link to all links on the arm are already updated by the robot controller (forward kinematics).
2) Are these the octomap topics you mean?
yes
I am not sure what Moveit-External-Octomap-Updater package actually does, but yes, if it can provide an external octomap subscriber to move_it, rtabmap's octomap output topic could be connected to it.
For your updates, "RTAB-Map=0.3603s" looks more reasonable. Ray tracing is indeed expensive to use with small Grid/CellSize, if it was the cause of the high processing time.
- The only warning I still get is "[move_group-7] [INFO] [1747316592.865220175] [move_group]: Message Filter dropping message: frame 'depth_camera_optical_link' at time 374.105 for reason 'the timestamp on the message is earlier than all the data in the transform cache'", but I only get this at startup and not during the simulation. [Note: I do NOT get this warning if I do NOT start RTAB-Map].
It sounds like a lack of processing resources when rtabmap is running, which may starve other parts of the system, causing the warning.