rtabmap.launch used with subscribe_rgbd and subscribe_scan_cloud

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

rtabmap.launch used with subscribe_rgbd and subscribe_scan_cloud

This post was updated on .
Dear people.

I do have a Asus Xtion Pro and a  roslaunch  was implemented based on  
  as shown in the picture:

I may say that the 3D mapping was successful,  well some problems with the odometry.

However, I do have a laser data set and a rgb data set and I wanted to applied the previous roslaunch but I could not make it work, specially with the rgbd_odometry so I decided to search for another kind of odometry and I found a ros package (rf2o_laser_odometry_node) that could calculate odometry based on 2D laser scan, so I converted the 3D pointcloud using the pointcloud_to_laserscan_node.

Then, I wanted to used the rtabmap_ros, but I could not open rtabmapviz and I could not produce any cloud_map.

So, I decided to used rtabmap.launch using subscribe_rgbd and subscribe_scan_cloud to true.

Now, I can see the map in rtabmapviz but not in rviz and also I the loop closure detection between images is very poor I mean practically zero.

I often get this INFO in the terminal Assembled 0 obstacle and 0 ground clouds (69 points, 0.000042s)

I do not know whether rtabmap.lauch can be used with subscribe_rgbd and subscribe_scan_cloud. I suppose it can be used but maybe I am using the wrong parameters or wrong values.

I post the rtabmap.launch code.

 <include file="$(find rtabmap_ros)/launch/rtabmap.launch">
     <arg name="rtabmap_args"  value="--delete_db_on_start  --Grid/FromDepth true --Optimizer/GravitySigma 0.3"  />
        <arg name="frame_id"                value="camera_link"/> 
        <--param name="subscribe_depth"       type="bool"    value="false"/>
        <--param name="subscribe_rgb"         type="bool"    value="false"/>
        <arg name="subscribe_rgbd"            value="true"/>
        <aeg name="subscribe_scan_cloud"      value="true"/>
        <--param name="rtabmapviz"            type="bool"    value="true" />
        <arg name="approx_sync"               value="true"/>
        <arg name="visual_odometry"               value="false" />
        <remap from="scan_cloud" to="/camera/depth_registered/points"/>
        <remap from="rgbd_image" to="/rtabmap/rgbd_image"/>
        <remap from="odom" to="/rtabmap/odom"/>
          <arg name="queue_size"    value="10"/>
         <--param name="Vis/MinInliers"  type="int"  value="6"/>
         <--param name="Grid/CellSize" type="string" value="5"/>
         <--param name="Odom/MinInliers" type="string" value="6"/>
         <--param name="SURF/HessianThreshold"  type="int"  value="100"/>
       <--param name="Grid/RangeMax"             type="double" value="0"/>
       <--param name="Grid/FromDepth"            type="bool" value="true"/>
       <--param name="Grid/MaxObstacleHeight" type="string" value="5.0" />
         <--param name="Odom/ResetCountdown"              value="0" />
         <--param name="RGBD/NeighborLinkRefining"  type="string" value="true"/>
         <--param name="RGBD/ProximityBySpace"      type="string" value="true"/>
         <--param name="RGBD/AngularUpdate"         type="string" value="0.01"/>
         <--param name="RGBD/LinearUpdate"          type="string" value="0.01"/>
         <--param name="RGBD/OptimizeFromGraphEnd"  type="string" value="false"/>
         <--param name="Grid/FromDepth"             type="string" value="false"/>
         <--param name="Reg/Force3DoF"              type="string" value="true"/>
         <--param name="Reg/Strategy"               type="string" value="0"/>
         <--param name="RGBD/OptimizeMaxError"      type="string" value="0"/>

   <arg name="odom_tf_angular_variance"  value="0.001"/>
   <arg name="odom_tf_linear_variance"  value="0.001"/>

I post also the map in rtabmapviz

Any help I do appreciate it, thank you
Reply | Threaded
Open this post in threaded view

Re: rtabmap.launch used with subscribe_rgbd and subscribe_scan_cloud


I do have a laser data
Do you mean from a real lidar? 2D or 3D? or a simulated one from the xtion point cloud? lidar odometry nodes would not work well with scan data simulated from xtion point cloud.

If it is a real lidar, you could look at this example: