Test rtabmap RGBD mapping using TUM RGBD database

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

Test rtabmap RGBD mapping using TUM RGBD database

Tracy
Hi guys,

Recently I tested the rtabmap RGBD mapping using the TUM RGBD database.

Here is the launch file

<include file="$(find rtabmap_ros)/launch/rgbd_mapping.launch" >
       <arg name="rtabmap_args" value="--delete_db_on_start" />
       <arg name="frame_id" value="openni_camera" />
       <arg name="rgb_topic" value="/camera/rgb/image_color" />
       <arg name="depth_registered_topic" value="/camera/depth/image" />
       <arg name="camera_info_topic" value="/camera/rgb/camera_info" />
 </include>

But after playing the bags, the Visual Odometry is easy to lost. Any idea how to handle this? Should I adjust some parameters?

Many thanks for your help!
 
Reply | Threaded
Open this post in threaded view
|

Re: Test rtabmap RGBD mapping using TUM RGBD database

matlabbe
Administrator
This post was updated on .
Hi Tracy,

The TUM bags contain a TF tree that cannot be used as is with rtabmap launch files:


I recommend to use rgbdslam_datasets.launch file with TUM bags (like in this post or this one). Keeping the original TF tree, I fake a second tree for the mapping so that we can compare the ground truth TF (/kinect) and the estimated TF (/kinect_est) of rtabmap (make sure the TUM bags are decompressed):
$ wget http://vision.in.tum.de/rgbd/dataset/freiburg3/rgbd_dataset_freiburg3_long_office_household.bag
$ rosbag decompress rgbd_dataset_freiburg3_long_office_household.bag

$ roslaunch rtabmap_ros rgbdslam_datasets.launch
$ rosbag play --clock rgbd_dataset_freiburg3_long_office_household.bag

For datasets with faster camera movements, you could add these rgbd_odometry parameters:
<node pkg="rtabmap_ros" type="rgbd_odometry" name="rgbd_odometry" output="screen">
     [...]
      <param name="GFTT/MinDistance" type="string" value="5"/>
      <param name="Odom/MinInliers" type="string" value="10"/>
</node>

cheers,
Mathieu
Reply | Threaded
Open this post in threaded view
|

Re: Test rtabmap RGBD mapping using TUM RGBD database

Tracy
Hi Matlabbe

Many thanks for your on time help every time.

Now I know the problem is the TF tree. And I made a new test using TUM dataset. It works very well in office environment. But you know, the TUM dataset includes office and industrial environment data. My work is focus on industrial environment.
So I made tests using the industrial hall data fr2/large_with_loop. During the whole progress, there are three times visual odometry lost like below:


And I had decompressed the bag data and add the parameter to VO
      param name="GFTT/MinDistance" type="string" value="5"
      param name="Odom/MinInliers" type="string" value="10"
Then I run:
$ roslaunch rtabmap_ros rgbdslam_datasets.launch rtabmapviz:=true rviz:=false
$ rosbag play --clock -r 0.2 rgbd_dataset_freiburg2_large_with_loop.bag

Any suggestions to how to handle this? Should I adjust some parameters of rtabmap?
Reply | Threaded
Open this post in threaded view
|

Re: Test rtabmap RGBD mapping using TUM RGBD database

Tracy
In reply to this post by matlabbe
And another question is:

When I finished 3D mapping in the office environment in TUM dataset, the pose.txt file only have 44 poses data. In the groundTruth file, there are 4890 poses data. So it is a little difficult to make ATE and RPE quantitative analysis.

If I want to increase poses data record, which parameter should I adjust?

Many thanks for your help!!!
Reply | Threaded
Open this post in threaded view
|

Re: Test rtabmap RGBD mapping using TUM RGBD database

matlabbe
Administrator

Hi,

rtabmap node will process odometry poses up to "Rtabmap/DetectionRate" parameter:
<node name="rtabmap" type="rtabmap" pkg="rtabmap_ros">
...
<param name="Rtabmap/DetectionRate" type="string" value="1"/>
</node>
So by default, it will add a node to its graph at 1 Hz. You could increase the detection rate to 2 for example, you will get 2x poses. However, increasing the detection rate will increase computation time more faster (the map will be 2x bigger for example).

On the standalone, we can set the parameter "Rtabmap/CreateIntermediateNodes" for convenience, which will create empty nodes in RTAB-Map's graph (without increasing computation time) for all odometry poses not used. Unfortunately, this option is not yet officially available for ROS (but it will be very soon on version 0.11).

cheers
Reply | Threaded
Open this post in threaded view
|

Re: Test rtabmap RGBD mapping using TUM RGBD database

Tracy
Hi Matlabbe

Many thanks for your help. It works now.