Re: rgbd_odometry does not pose anythintg

Posted by Megacephalo on
URL: http://official-rtab-map-forum.206.s1.nabble.com/rgbd-odometry-does-not-pose-anythintg-tp1239p1244.html

Hi,

Thanks for replying so fast! I modified to add some more parameters you indicated in your reply. I double check if the node gets every topic it needs as follows:

Node [/rgbd_odometry]
Publications:
 * /rgbd_odom [nav_msgs/Odometry]
 * /tf [tf/tfMessage]
 * /rosout [rosgraph_msgs/Log]
 * /odom_local_map [sensor_msgs/PointCloud2]
 * /odom_last_frame [sensor_msgs/PointCloud2]
 * /odom_info [rtabmap_ros/OdomInfo]

Subscriptions:
 * /camera/rgb/image_raw [sensor_msgs/Image]
 * /tf [tf/tfMessage]
 * /camera/rgb/camera_info [sensor_msgs/CameraInfo]
 * /tf_static [tf2_msgs/TFMessage]
 * /camera/depth/image_raw [sensor_msgs/Image]
 * /clock [rosgraph_msgs/Clock]

and set output="screen". From the warnings it seems that the odometry is working, but the warnings appear in between the infos, like these lines that I extracted:

[ INFO] [1461744454.319656827, 792.447000000]: Odom: quality=0, std dev=0.000000m, update time=0.029590s
[ WARN] (2016-04-27 16:07:34.391) OdometryBOW.cpp:318::computeTransform() Local map too small!? (3 < 20)
[ INFO] [1461744454.392321245, 792.497000000]: Odom: quality=0, std dev=0.000000m, update time=0.027326s
[ WARN] (2016-04-27 16:07:34.453) OdometryBOW.cpp:318::computeTransform() Local map too small!? (3 < 20)
[ INFO] [1461744454.453368104, 792.537000000]: Odom: quality=0, std dev=0.000000m, update time=0.017773s

well, at least it is much better of detecting something 3<20 rather than 0<20 as before. I thought this may due to a lack of minimum required number of features, since the simulated environment is kind of featuresless, as shown in the picture below



So I added the following parameters

  <node pkg="rtabmap_ros" type="rgbd_odometry" name="rgbd_odometry" output="screen">
      <remap from="rgb/image"       to="/camera/rgb/image_raw"/>
      <remap from="depth/image"     to="/camera/depth/image_raw"/>
      <remap from="rgb/camera_info" to="/camera/rgb/camera_info"/>
      <remap from="/odom" to="/rgbd_odom"/> 
      <remap from="scan" to="/beebot/laser/scan" />
      < param name="frame_id" type="string" value="camera_link"/>
      < param name="subscribe_depth" type="bool"   value="true"/>
      < param name="Odom/Holonomic" type="bool" value="false" />
      < param name="Odom/MaxFeatures" type="int" value="0" />
      < param name="Odom/ParticleSize" type="int" value="5000" />
      < param name="RGBD/PoseScanMatching" type="string" value="true" />
  </node>

and thus I get the following kind of messsages:

[ INFO] [1461746823.867357842, 1087.660000000]: Odom: quality=0, std dev=0.000000m, update time=0.027174s
[ WARN] (2016-04-27 16:47:03.924) OdometryBOW.cpp:318::computeTransform() Local map too small!? (11 < 20)
[ INFO] [1461746823.924531255, 1087.696000000]: Odom: quality=0, std dev=0.000000m, update time=0.024988s
[ WARN] (2016-04-27 16:47:03.986) OdometryBOW.cpp:318::computeTransform() Local map too small!? (11 < 20)
[ INFO] [1461746823.986350252, 1087.733000000]: Odom: quality=0, std dev=0.000000m, update time=0.024611s
[ WARN] (2016-04-27 16:47:04.082) OdometryBOW.cpp:318::computeTransform() Local map too small!? (11 < 20)
[ INFO] [1461746824.082515543, 1087.778000000]: Odom: quality=0, std dev=0.000000m, update time=0.036423s

At this point, rgbd_odometry still cannot publish any odometry messages. Why is that ? Thank you so much !

Cheers !