Launch file setup needed

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

Launch file setup needed

krush
Here's my configuration:
1. Stereo camera(zed) giving topics zed/right/image_raw, zed/left/image_raw, zed/right/camera_info, zed/left/camera_info
2. 3D Lidar giving topic /velodyne_points
3. Odometry on /robot_control/odom


I need help in making the launch file for implementing SLAM using rtabmap_ros. As this is my first time using rtabmap, I am getting many errors and warnings and cannot set up the launch file(s) correctly.
Let me know if you need any additional information.
Thanks in advance.  
Reply | Threaded
Open this post in threaded view
|

Re: Launch file setup needed

matlabbe
Administrator
You also need static transforms to link your sensors against the base frame of your robot. Assuming the base frame is base_link:
base_link->velodyne
         \
           -> zed
otherwise, you will get a lot of tf warnings from rtabmap.

Without any parameter tuning, just to feed data to rtabmap, it could be done like this example but with stereo_sync instead of rgbd_sync and using subscribe_scan_cloud instead of scan:
<launch>
  <group ns="rtabmap">

    <node pkg="nodelet" type="nodelet" name="stereo_sync" args="standalone rtabmap_ros/stereo_sync" output="screen">
      <remap from="left/image_rect"    to="/zed/right/image_raw"/>
      <remap from="right/image_rect"   to="/zed/left/image_raw"/>
      <remap from="left/camera_info"   to="/zed/left/camera_info"/>
      <remap from="right/camera_info"  to="/zed/right/camera_info"/>
      <remap from="rgbd_image"         to="rgbd_image"/> <!-- output -->
      <param name="approx_sync"       value="false"/>  <!-- exac sync for stereo -->
    </node>

    <node name="rtabmap" pkg="rtabmap_ros" type="rtabmap" output="screen" args="--delete_db_on_start">
          <param name="frame_id" type="string" value="base_link"/>

          <param name="subscribe_depth" type="bool" value="false"/>
          <param name="subscribe_rgbd" type="bool" value="true"/>
          <param name="subscribe_scan_cloud" type="bool" value="true"/>

          <remap from="odom" to="/robot_control/odom "/>
          <remap from="scan_cloud" to="/velodyne_points"/>
          <remap from="rgbd_image" to="rgbd_image"/>

          <param name="queue_size" type="int" value="10"/>

          <!-- RTAB-Map's parameters -->
          <param name="RGBD/CreateOccupancyGrid"  type="string" value="false"/> 
    </node>
  </group>
</launch>

To use velodyne points with ICP registration, I would refer to this launch file: https://github.com/introlab/rtabmap_ros/blob/master/launch/tests/test_velodyne.launch

cheers,
Mathieu