Como faço para usar o Rtabmap no Turtlebot

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

Como faço para usar o Rtabmap no Turtlebot

Leo
Did you install Rtabmap via Ros, and I wonder what I should do so that you can put to run Rtabmap in turtlebot, for the same move the robot and generate a site map that the robot is inserted. If you can help me I will be very grateful directing me what commands I run!


Many Thanks
Reply | Threaded
Open this post in threaded view
|

Re: Como faço para usar o Rtabmap no Turtlebot

matlabbe
Administrator
This post was updated on .
It depends, if you want the latest changes/fixes, clone the GitHub repository (visit here for compilation instructions). For turtlebot, a configuration like the "Kinect+Odometry+Fake 2D laser from Kinect" could be used. Maybe need some remaps of the topics if turtlebot doesn't use the same.
Leo
Reply | Threaded
Open this post in threaded view
|

Re: How do I use the Rtabmap in Turtlebot

Leo
I believe that as the topics the turtlebot uses the same standard as they are, but I would like to know which launchs should I run for the turtlebot navigate and create autonomously map by RTABMAP.


Tks
Reply | Threaded
Open this post in threaded view
|

Re: How do I use the Rtabmap in Turtlebot

matlabbe
Administrator
You can copy the launch file from the configuration "Kinect + Odometry + Fake 2D laser from Kinect". Assuming that the turtlebot bringup is done (odometry/Kinect/TF ready), you could start this (verify that topics match those of Turtlebot):
<launch>
  <!-- Kinect cloud to laser scan -->
    <node pkg="depthimage_to_laserscan" type="depthimage_to_laserscan" name="depthimage_to_laserscan">
      <remap from="image"     to="/camera/depth_registered/image_raw"/>
      <remap from="camera_info" to="/camera/depth_registered/camera_info"/>
      <remap from="scan" to="/kinect_scan"/>
      <param name="range_max" type="double" value="4"/>
    </node>

  <!-- SLAM -->
  <group ns="rtabmap">
    <node name="rtabmap" pkg="rtabmap_ros" type="rtabmap" output="screen" args="--delete_db_on_start">
          <param name="frame_id" type="string" value="base_footprint"/>

          <param name="subscribe_depth" type="bool" value="true"/>
          <param name="subscribe_laserScan" type="bool" value="true"/>

          <remap from="odom" to="/base_controller/odom"/>
          <remap from="scan" to="/kinect_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"/>

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

          <!-- RTAB-Map's parameters -->
          <param name="RGBD/OptimizeFromGraphEnd" type="string" value="false"/>
          <param name="Kp/MaxDepth" type="string" value="4.0"/>
          <param name="LccIcp/Type" type="string" value="2"/>
          <param name="LccIcp2/CorrespondenceRatio" type="string" value="0.5"/>
          <param name="LccBow/MinInliers" type="string" value="3"/>
          <param name="LccBow/InlierDistance" type="string" value="0.05"/>
          <param name="RGBD/AngularUpdate" type="string" value="0.01"/>
          <param name="RGBD/LinearUpdate" type="string" value="0.01"/>
          <param name="Rtabmap/TimeThr" type="string" value="700"/>
          <param name="Mem/RehearsalSimilarity" type="string" value="0.45"/>
    </node>

    <!-- to generate an occupancy  grid map -->
    <node pkg="rtabmap_ros" type="grid_map_assembler" name="grid_map_assembler"/>

  </group>
</launch>