Unable to resolve error when using Rtabmap.

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view

Unable to resolve error when using Rtabmap.

This post was updated on .
Hello, I am a newbie to ROS.

I would like to use D455 and T265 with Rtabmap.
But I am suffering from two errors.

I am using Ubuntu 20.04 and ROS Noetic.
I will provide any information that may be relevant to solving the problem. Please let me know if there is any other information you would like.

First of all when I run the Rtabmap launch file I get two errors.

[ WARN] [1666770145.346296763]: /rtabmap/rtabmap: Did not receive data since 5 seconds! Make sure the input topics are published ("$ rostopic hz my_topic") and the timestamps in their header are set. If topics are coming from different computers, make sure the clocks of the computers are synchronized ("ntpdate"). If topics are not published at the same rate, you could increase "queue_size" parameter (current=10).
/rtabmap/rtabmap subscribed to (approx sync):
   /t265/odom/sample \

[ WARN] [1667193322.253748533]: /rtabmap/rgbd_sync: Did not receive data since 5 seconds! Make sure the input topics are published ("$ rostopic hz my_topic") and the timestamps in their header are set. Parameter "approx_sync" is false, which means that input topics should have all the exact timestamp for the callback to be called.

As per the error message, when I run [rostopic hz my_topic] I get the following output.

$ rostopic hz /d400/color/camera_info
subscribed to [/d400/color/camera_info]
no new messages
no new messages
no new messages

$rostopic hz /t265/odom/sample
subscribed to [/t265/odom/sample]
average rate: 199.918
        min: 0.000s max: 0.048s std dev: 0.01357s window: 194

$ rostopic hz /rtabmap/rgbd_image
subscribed to [/rtabmap/rgbd_image]
no new messages
no new messages
no new messages
no new messages
no new messages
/rtabmap/rgbd_sync subscribed to (exact sync):
   /d400/color/image_raw \
   /d400/aligned_depth_to_color/image_raw \

Next, I changed [frame_id] to [camera_link], etc. I did my own research and tried everything, but could not solve the problem.

[rqt_graph] looks like this.

Below are the camera launch file and the Rtabmap launch file.

the camera launch file
  <arg name="device_type_camera1"     default="t265"/>
  <arg name="device_type_camera2"     default="d455"/>               
  <arg name="serial_no_camera1"     default=""/>
  <arg name="serial_no_camera2"     default=""/>
  <arg name="camera1"               default="t265"/>
  <arg name="camera2"               default="d455"/>
  <arg name="tf_prefix_camera1"         default="$(arg camera1)"/>
  <arg name="tf_prefix_camera2"         default="$(arg camera2)"/>
  <arg name="initial_reset"             default="false"/>
  <arg name="enable_fisheye"            default="false"/>
  <arg name="color_width"               default="640"/>
  <arg name="color_height"              default="480"/>
  <arg name="depth_width"               default="640"/>
  <arg name="depth_height"              default="480"/>
  <arg name="clip_distance"             default="-2"/>
  <arg name="topic_odom_in"             default="odom_in"/>
  <arg name="calib_odom_file"           default=""/>
  <arg name="depth_fps"           default="5"/>
  <arg name="infra_fps"           default="30"/>
  <arg name="color_fps"           default="5"/>

  <group ns="$(arg camera1)">
    <include file="$(find realsense2_camera)/launch/includes/nodelet.launch.xml">
      <arg name="device_type"           value="$(arg device_type_camera1)"/>
      <arg name="serial_no"             value="$(arg serial_no_camera1)"/>
      <arg name="tf_prefix"         value="$(arg tf_prefix_camera1)"/>
      <arg name="initial_reset"         value="$(arg initial_reset)"/>
      <arg name="enable_fisheye1"       value="$(arg enable_fisheye)"/>
      <arg name="enable_fisheye2"       value="$(arg enable_fisheye)"/>
      <arg name="topic_odom_in"         value="$(arg topic_odom_in)"/>
      <arg name="calib_odom_file"       value="$(arg calib_odom_file)"/>
      <arg name="enable_pose"           value="true"/>

  <group ns="$(arg camera2)">
    <include file="$(find realsense2_camera)/launch/includes/nodelet.launch.xml">
      <arg name="device_type"           value="$(arg device_type_camera2)"/>
      <arg name="serial_no"             value="$(arg serial_no_camera2)"/>
      <arg name="tf_prefix"          value="$(arg tf_prefix_camera2)"/>
      <arg name="initial_reset"         value="$(arg initial_reset)"/>
      <arg name="align_depth"           value="true"/>
      <arg name="filters"               value="pointcloud"/>
      <arg name="color_width"           value="$(arg color_width)"/>
      <arg name="color_height"          value="$(arg color_height)"/>
      <arg name="depth_width"           value="$(arg depth_width)"/>
      <arg name="depth_height"          value="$(arg depth_height)"/>
      <arg name="clip_distance"         value="$(arg clip_distance)"/>
      <arg name="depth_fps"         value="$(arg depth_fps)"/>
      <arg name="infra_fps"         value="$(arg infra_fps)"/>
      <arg name="color_fps"         value="$(arg color_fps)"/>
  <node pkg="tf" type="static_transform_publisher" name="t265_to_d400" args="0.02 0.045 -0.11 0 0 0 /$(arg tf_prefix_camera1)_link /$(arg tf_prefix_camera2)_link 100"/>
  <node pkg="tf" type="static_transform_publisher" name="real1" args="0 0 0.6 0 0 0 t265_pose_frame t265_link 100"/>
  <node pkg="tf" type="static_transform_publisher" name="real2" args="-0.184 0 0 0 0 0 t265_pose_frame robot_center 100"/>

The Rtabmap lunch file.
  <arg name="rtabmapviz"              default="false" /> 
  <arg name="rviz"                    default="true" />
  <arg name="localization"            default="false"/>
  <arg name="rtabmapviz_cfg"          default="$(find rtabmap_ros)/launch/config/rgbd_gui.ini" />
  <arg name="rviz_cfg"                default="$(find rtabmap_ros)/launch/config/rgbd.rviz" />
  <arg name="frame_id"                default="robot_center"/>
  <arg name="odom_topic"              default="/t265/odom/sample"/>
  <arg name="rgbd_sync"               default="true"/>
  <arg name="approx_rgbd_sync"        default="false"/>
  <arg name="visual_odometry"         default="false"/>
  <arg name="rgb_topic"               default="/d400/color/image_raw" />
  <arg name="depth_topic"             default="/d400/aligned_depth_to_color/image_raw" />
  <arg name="camera_info_topic"       default="/d400/color/camera_info" />

  <include file="$(find rtabmap_ros)/launch/rtabmap.launch">
    <arg name="rtabmapviz"              value="$(arg rtabmapviz)" /> 
    <arg name="rviz"                    value="$(arg rviz)" />
    <arg name="localization"            value="$(arg localization)"/>
    <arg name="gui_cfg"                 value="$(arg rtabmapviz_cfg)" />
    <arg name="rviz_cfg"                value="$(arg rviz_cfg)" />                                                                         

    <arg name="odom_topic"              value="$(arg odom_topic)"/>
    <arg name="frame_id"                value="$(arg frame_id)"/>
    <arg name="rgbd_sync"               value="$(arg rgbd_sync)"/>
    <arg name="depth_topic"             value="$(arg depth_topic)"/>
    <arg name="rgb_topic"               value="$(arg rgb_topic)"/>
    <arg name="camera_info_topic"       value="$(arg camera_info_topic)"/>
    <arg name="approx_rgbd_sync"        value="$(arg approx_rgbd_sync)"/>
    <arg name="visual_odometry"         value="$(arg visual_odometry)"/>   


I don't think I can solve this problem alone.
I trust you can help me.
Thank you.
Reply | Threaded
Open this post in threaded view

Re: Unable to resolve error when using Rtabmap.

I changed all [d400] to [d455] in [The Rtabmap lunch file] and it started fine.

We apologize for any inconvenience caused.