RTABMap rgbd_odometry getting lost

asked 2018-02-13 14:39:34 -0500

Andreluizfc gravatar image


I am trying to use the rgbd_odometry to publish Odom information to the Gmapping package. I have an aero board and use the R200 camera, so I can just rely on visual odometry to run the Gmapping. Also I am using the depthimage_to_laserscan package.

For some reason the rgbd_odometry gets lost very fast, even if I move slow and away from the first scan. If I move away from the first scan it says

No transform from Transform [sender=unknown_publisher]

For frame [/camera_depth_frame]: No transform to fixed frame [map].  TF error: [Lookup would require extrapolation into the future.  Requested time 1518552116.724870413 but the latest data is at time 1518552116.058380480, when looking up transform from frame [camera_depth_frame]

In the rgbd_odometry tab:

[ WARN] (2018-02-13 15:50:17.789) OdometryF2M.cpp:372::computeTransform() Registration failed: "Not enough 3D features in images (old=2000, new=10, min=20)"
[ INFO] [1518547817.791709400]: Odom: quality=0, std dev=0.000000m|0.000000rad, update time=0.090951s

Below is my launch file:

<?xml version="1.0"?>

<!-- Bring up RealSense-based laser scan using nodelets
     For historical reasons, assumes a R200.  For a ZR300 camera
     use scan_zr300.launch.

  <!-- "camera" should uniquely identify the device. 
       All topics are pushed down into the "camera" namespace, 
       and it is prepended to tf frame ids. 

  <param name="robot_description" command="$(find xacro)/xacro --inorder '$(find realsense_ros_camera)/urdf/test_r200_camera.urdf.xacro'" />
  <node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher" />

  <node pkg="tf" type="static_transform_publisher" name="base_link_2_camera_link" args="0 0 0 0 0 0 /base_link /camera_link 100"/>

  <arg name="manager"     value="nodelet_manager"/>
  <!-- Worker threads for the nodelet manager --> 
  <arg name="num_worker_threads" default="4" />

  <arg name="output"      default="screen"/>

  <arg name="camera"      default="camera"/>
  <arg name="camera_type" default="R200"/>
  <arg name="serial_no"   default="" />
  <arg name="usb_port_id" default="" /> <!-- USB "Bus#-Port#" -->
  <arg name="publish_tf"  default="true"/>  <!-- coming from URDF already -->

  <!-- Factory-calibrated depth registration -->
  <arg name="depth_registration" default="false"/>

  <!-- Laserscan topic -->
  <arg name="scan_topic" default="scan"/>

  <!-- Processing Modules and Parameters -->
  <arg name="rgb_processing"                  default="true"/>
  <arg name="ir_processing"                   default="true"/>
  <arg name="depth_processing"                default="true"/>
  <arg name="depth_registered_processing"     default="true"/>
  <arg name="disparity_processing"            default="true"/>
  <arg name="disparity_registered_processing" default="true"/>

  <!-- pick depth mode -->
  <arg if="$(arg depth_registration)" name="depth" value="depth_registered" />
  <arg unless="$(arg depth_registration)" name="depth" value="depth" />

  <!-- other camera parameters -->
  <arg name="mode"              default="manual" />
  <arg name="enable_depth"      default="true" />
  <arg name="enable_ir"         default="true" />
  <arg name="enable_ir2"        default="true" />
  <arg name="enable_color"      default="true" />
  <arg name="enable_pointcloud" default="true" />
  <arg name="enable_tf"         default="false" />
  <!-- lower value of depth resolution improves (reduces) min range -->
  <arg name="depth_width"       default="640" />
  <arg name="depth_height"      default="480" />
  <!-- lower camera resolution for enhanced performance -->
  <arg name="color_width"       default="640" />
  <arg name="color_height"      default="480" />
  <arg name="depth_fps"         default="30" />
  <arg name="color_fps"         default="30" />

  <!-- set up as camera driver parameters -->
  <param name="$(arg camera)/driver/mode"              type="str"  
         value="$(arg mode)" />
  <param name="$(arg camera)/driver/enable_depth"      type="bool" 
         value="$(arg enable_depth)" />
  <param name="$(arg camera)/driver/enable_ir"         type="bool" 
         value="$(arg enable_ir)" />
  <param name="$(arg camera)/driver ...
edit retag flag offensive close merge delete


matlabbe gravatar imagematlabbe ( 2018-02-13 21:16:37 -0500 )edit