Running Rtabmap using ZED2i but tf tree is causing errors...
The Error :
tabmap-3] [ WARN] (2026-05-18 20:24:22.858) MsgConversion.cpp:2010::getTransform() (getting transform base_link -> zed_left_camera_frame_optical) Lookup would require extrapolation into the future. Requested time 1779116062.012223 but the latest data is at time 1779116060.612197, when looking up transform from frame [zed_left_camera_frame_optical] to frame [base_link] (wait_for_transform=0.200000)
[rtabmap-3] [ERROR] (2026-05-18 20:24:22.858) MsgConversion.cpp:2182::convertRGBDMsgs() TF of received image for camera 0 at time 1779116062.012223s is not set!
[rtabmap-3] [ WARN] (2026-05-18 20:24:23.067) MsgConversion.cpp:2010::getTransform() (getting transform base_link -> zed_left_camera_frame_optical) Lookup would require extrapolation into the future. Requested time 1779116062.212203 but the latest data is at time 1779116060.612197, when looking up transform from frame [zed_left_camera_frame_optical] to frame [base_link] (wait_for_transform=0.200000)
[rtabmap-3] [ERROR] (2026-05-18 20:24:23.067) MsgConversion.cpp:2182::convertthRGBDMsgs() TF of received image for camera 0 at time 1779116062.212203s is not set!
I cant make out what the exact problem is but ig something to do with time mismatch between tf and depth image
I tried to broadcast time on all transforms but that also causes the same error currecntly zed camera link -> zed camera center till the optical frames is being published by zed wrapper and the rest are just static transforms with odom -> base link beind done by an ekf filter node
# Bridge IMU to Camera
imu_frame_fix = Node(
package='tf2_ros',
executable='static_transform_publisher',
name='imu_frame_alias',
arguments=[
'0', '0', '0', # x, y, z
'0', '0', '0', # roll, pitch, yaw
'zed_camera_link',
'zed_imu_link'
],
parameters=[{'use_sim_time': False}], # CRITICAL FIX
)
# Bridge Rover Center (base_link) to Camera (The "Neck")
base_to_camera_fix = Node(
package='tf2_ros',
executable='static_transform_publisher',
name='base_to_camera',
arguments=[
'0.0', '0', '0.0', # x, y, z (REPLACE with actual offsets!)
'0', '0', '0', # roll, pitch, yaw
'base_link',
'zed_camera_link'
],
parameters=[{'use_sim_time': False}], # CRITICAL FIX
)