RGBD + Lidar for SLAM and autonomous navigation

Posted by Blupon on
URL: http://official-rtab-map-forum.206.s1.nabble.com/RGBD-Lidar-for-SLAM-and-autonomous-navigation-tp3511.html

Hi !

I'm an intern working on a robot designed to compete at the ERL Emergency Robots.

I chose to work with rtabmap_ros since it offers software adapted to outdoor navigation (stereovision)  and obstacle avoidance (so, first of all, thanks for this nice piece of software ! ).

Still, I'm having difficulties using the launch file available on ROS wiki - Setup RTAB-Map on Your Robot !, the one that uses hector_mapping to generate odometry thanks to lidar collected data.

I'm aware of a very similar post existing on this forum, but I couldn't solve my issues thanks to the information it holds.

Hardware


At the moment, I'm trying to obtain SLAM and autonomous navigation with a lab made robot that is equipped with:
   - an Asus Xtion RGBD camera
   - a hokuyo UTM-30LX lidar

Since the robot is homemade, I have designed an URDF (zerobin link) to publish:
   - base_footprint
   - base_link
   - laser_link

which seems to be working (the TF appear as expected in RVIZ when I launch everything).

Edited demo_hector_mapping.launch


Here is the launch file I'm using for rtabmap, where, as told in the very similar post, I edited the following information:

          param name="scan_topic" value="/scan"
 
          <remap from="scan" to="/scan"/>
          <remap from="rgb/image"       to="/camera/rgb/image_rect_color"/>
   <remap from="depth/image"     to="/camera/depth_registered/image_raw"/>
   <remap from="rgb/camera_info" to="/camera/rgb/camera_info"/>

 roslaunch sequence


Here are the different shell commands I'm using to launch everything, with the logs associated with it:

1. roslaunch openni2_launch openni2.launch depth_registration:=true
       
      logs here

2. rosrun urg_node urg_node

      logs here

      This is to get the /scan from the LIDAR, the ERRORs shouldn't be the real problem since the laser scan appears (though being slow) in RVIZ

3. roslaunch erl_ugv_description beta.launch

     launch file here
     logs here

     the ERROR shouldn't be problematic, according to this ROS Q&A

4. roslaunch rtabmap_ros demo_hector_mapping.launch rtabmap_args:="--delete_db_on_start" rviz:=false rtabmapviz:=false

       launch file is the demo_hector_mapping.launch I edited as said earlier
       logs here

       NB: rviz and rtabmapviz are set to 'false' because I launch RVIZ on a remote PC

Once all of these have been launched, I can obtain the following view_frames frames.pdf :



There are several laser static tf because I think the one from my urdf is useless, one of them (if I remember well) is named in order to comply with rtabmap_ros need (as asked for on rtabmap ROS wiki), the last one...well I don't exactly remember
for what node I made a tf with such a name but I keep it just to be sure not to break something !

So now, my so-called question:

    - why isn't rtabmap working ? I don't have a /map, nor a TF(/map -> /odom), nor the points clouds.
    - is rtabmap_ros supposed to provide the TF( /odom -> /base_footprint) in this configuration ? because I'm lost on what node is supposed to give it, since here, we expect odometry from hector_mapping.


Thanks !