Pose drifts on specific environment

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

Pose drifts on specific environment

Alexa
I am using Intel RealSense D435i and T265 on ROS Noetic for SLAM and 2D/3D mapping. I can generate 2D/3D maps successfully in some environments, such as streets and workshops. I have problems testing in a pipe. The pipe is narrow at one end. I put the robot at the wider end and start mapping. As the robot moves towards the narrower section, the odometry data from the Intel RealSense T265 starts to drift, causing positional errors. This makes the map inaccurate.

Do you have any suggestions? I can give you more information if you need it. I also have an RPLidar S3. Can I use this to fix the problem? How can I add it to RTAB-Map?

To start SLAM, I run the following commands (These opens Rtabmap and RVIZ):

roslaunch rtabmap_launch rtabmap.launch \
   args:="-d --Mem/UseOdomGravity true --Optimizer/GravitySigma 0.3" \
   odom_topic:=/t265/odom/sample \
   frame_id:=t265_link \
   rgbd_sync:=true \
   depth_topic:=/d400/aligned_depth_to_color/image_raw \
   rgb_topic:=/d400/color/image_raw \
   camera_info_topic:=/d400/color/camera_info \
   approx_rgbd_sync:=false \
   visual_odometry:=false \
   queue_size:=30



roslaunch realsense2_camera rs_rtabmap.launch



Reply | Threaded
Open this post in threaded view
|

Re: Pose drifts on specific environment

matlabbe
Administrator
Can you show a picture of what looks like inside the pipe? What is the radius of the pipes? Is it dark? If T265 is drifting that much, probably there are not a lot of visual features...

I am think the worst scenario: dark, no texture, small, flat geometry, maybe you may need to get the odometry a different way. I mix of IMU and wheel odometry could maybe give a good estimate. In that scenario a 2d lidar may not help that much.
Reply | Threaded
Open this post in threaded view
|

Re: Pose drifts on specific environment

Alexa
The height at the entrance of the pipe is about 1.20 metres, the height at the maximum distance robot can reach is about 1.10 metres. Texture properties are as shown in the photos.

There are lights on left, right and top of the robot.




Reply | Threaded
Open this post in threaded view
|

Re: Pose drifts on specific environment

matlabbe
Administrator
Hi Alexa,

Just found other similar posts:
http://official-rtab-map-forum.206.s1.nabble.com/Cloud-warping-and-lost-odometry-when-scanning-confined-space-td8533.html#a8552
http://official-rtab-map-forum.206.s1.nabble.com/Distortion-in-overlaps-of-database-on-RTAB-Map-for-iOS-td8745.html

I think there are enough visual features to use visual odometry, so not sure why the T265 is diverging that much. You may try rtabmap's odometry to compare. Here is comparison of some combinations of T265 and D435 cameras. Note that it may not be easy to setup T265 to get stereo images with calibration. You could try first with the D435i alone, following the RealSense D435i camera (IR-Depth) example.

cheers,
Mathieu

Reply | Threaded
Open this post in threaded view
|

Re: Pose drifts on specific environment

Alexa
Thank you very much Matlabbe. I have other questions:

1)How can I improve the 3D map quality and precision. I want Rtabmap to give me a map with maximum quality. I have set some parameters such as voxel size to 0, reconstructed clouds to 0, cloud decimation to 1. Do you have more advice?

2) How can I measure the distance on 3D Map in milimeters? I can measure on rtabmap "3D view" section but in meter. Is there a setting to change the measure unit meter to milimeter on rtabmap? If not, how can I measure in milimeter on 3D map?
Reply | Threaded
Open this post in threaded view
|

Re: Pose drifts on specific environment

matlabbe
Administrator
Can you share a database? In term of quality, stereo cameras don't give super accurate geometry, in particular if you want to measure in mm.

For measuring, you may need to export the point cloud / mesh and open it in another 3D software that can provide a measuring tool (example).