ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

[Noetic]Errors when using Rtabmap are not resolved.

asked 2022-10-28 02:13:49 -0500

donguri gravatar image

updated 2023-06-18 10:06:31 -0500

lucasw gravatar image

I am trying to use T265 and D455 with Rtabmap to do SLAM.

However, when I run the launch file for Rtabmap, I get the following error: "The launch file for Rtabmap is not available.

[ 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 \
   /rtabmap/rgbd_image

I asked this question because I have tried the following methods and they did not lead to a solution.

$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

As a reference, below are the camera launch files for the T265 and D455.

<launch>
  <arg name="device_type_camera1"           default="t265"/>
  <arg name="device_type_camera2"           default="d455"/>        <!-- Note: using regular expression. match D435, D435i, D415... -->
  <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=""/>

  <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"/>
    </include>
  </group>

  <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)"/>
    </include>
  </group>

  <node pkg="tf" type="static_transform_publisher" name="t265_to_d400" args="0 0 0 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 ...
(more)
edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted
1

answered 2022-11-06 19:34:56 -0500

matlabbe gravatar image

There are two synchronizations going on. One for the d400 topics, make sure they are all published:

rostopic hz /d400/color/image_raw \
   /d400/aligned_depth_to_color/image_raw \
   /d400/color/camera_info

then another one for rgbd_image and odom:

rostopic hz /t265/odom/sample \
   /rtabmap/rgbd_image
edit flag offensive delete link more

Comments

Thank you, matlabbe.

I was able to resolve the error regarding d400.

The problem was that the topic names were different in the camera launch file and the RTABMap launch file.

<arg name="camera2"                       default="d455"/>
↓
<arg name="camera2"                       default="d400"/>

I changed the camera launch file as described above and it works.

The error about t265 was also resolved for some reason. For this, it is unclear why it was resolved. I'm terribly sorry.

rostopic hz /t265/odom/sample \
   /rtabmap/rgbd_image

Incidentally, entering the above code produced the following output, which is the same as the question text.

$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
dondon gravatar image dondon  ( 2022-11-06 23:47:22 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2022-10-28 02:13:49 -0500

Seen: 57 times

Last updated: Nov 06 '22