I am trying to get to run RTABMAP with KITTI dataset, following the roslaunch command and altering few parameters as discussed in these 2 posts:
https://answers.ros.org/question/330157/large-kitti-data-mapor-loopclosure-make-rtabmap_ros-and-the-whole-ubuntu-crash/ https://answers.ros.org/questions/330157/revisions/ I am getting an error in generating Odometry after `35 seconds, how can I resolve this? I also tried playing around with few other parameters for RTAB_Settings and Visual Registration in RTABMAB->Preferences, but still same error. Not enough inliers found; OdometryF2M.cpp:557::computeTransform() Registration failed: "Not enough inliers 0/20 (matches=63) between -1 and 351" Any suggestion on what individual parameters I should tweek with. Thanks. |
Administrator
|
I don't what are the spec of your computer, but with rosbags, it is not like processing the dataset offline, so processing power will change the results as less frames will be computed online. I am currently downloading the dataset to test more (not sure why, but can only download at 200KB/s, so I will get it in 27 hours). In the mean time, if you can show the terminal output of the rtabmap/odometry, it could help to see if the processing time is as expected.
|
Laptop Specs: i7-9750H, 16GB RAM and 6GB GTX-1660Ti, I even tried playing the rosbag at 0.5 and 0.1 rate still it fails at same position.
I am attaching ther terminal screenshots: Part where it was working and second when it crashed. Additionally, I tried setting the ROI ratios: [0.001 0 0 0] to prevent decimation error with 1241x376 image size but still I am getting this warning for some frames. |
Administrator
|
Hi,
your odometry processing time is similar to mine (around 40 ms), so it may be not the problem. I followed all my instructions from this post, and it is mapping correctly: Here are the complete instructions: 1. Download a dataset: wget https://s3.eu-central-1.amazonaws.com/avg-kitti/raw_data/2011_10_03_drive_0027/2011_10_03_drive_0027_sync.zip wget https://s3.eu-central-1.amazonaws.com/avg-kitti/raw_data/2011_10_03_calib.zip unzip 2011_10_03_drive_0027_sync.zip unzip 2011_10_03_calib.zip 2. Copy "image_00/timestamps.txt" to "image_01/timestamps.txt" and "image_02/timestamps.txt" to "image_03/timestamps.txt" 3. Using kitti2bag, to avoid the pandas error with the docker, do: $ docker run -v `pwd`:/data -it --entrypoint /bin/bash tomas789/kitti2bag # pip install pandas==0.23 # /kitti2bag/docker_entrypoint.sh -t 2011_10_03 -r 0027 raw_synced . # exit $ sudo chown $USERNAME kitti_2011_10_03_drive_0027_synced.bag 4. Now start rtabmap_ros with: roslaunch rtabmap_ros rtabmap.launch \ stereo:="true" \ left_image_topic:=/kitti/camera_color_left/image_raw \ right_image_topic:=/kitti/camera_color_right/image_raw \ left_camera_info_topic:=/kitti/camera_color_left/camera_info \ right_camera_info_topic:=/kitti/camera_color_right/camera_info \ rtabmap_args:="--delete_db_on_start \ --RGBD/CreateOccupancyGrid false \ --Rtabmap/ImageBufferSize 0 \ --Odom/ImageBufferSize 0 \ --Rtabmap/CreateIntermediateNodes true" \ approx_sync:=false \ use_sim_time:=true \ frame_id:=base_link \ queue_size:=100 5. For the RAM issue, in rtabmap_viz, do window->Preferences, under 3D Rendering panel: - set Decimation 8 for Map and Odom columns, - set ROI "0.001 0.0 0.0 0.0" for Map and Odom columns, - set Maximum Depth to 30 m for Map column. 6. We are all set, start the bag: rosbag play --clock --pause kitti_2011_10_03_drive_0027_synced.bag You should see final results as above. |
I tried following the exact same steps as you have suggested, it improved but it fails after 38 seconds. I tried reducing the bag playback rate to 0.5, it didn't made any difference. I also tried turning off 3D map visualization.
Additionally, I am not sure if there is an issue with RAM usage as I was observed RAM usage and it never increased more than 5 GB. Can you suggest any other methods that I can follow to further improve, or will it be possible if you could share your configuration file, I can try with? Thanks. |
Administrator
|
Can you show the rtabmap version you are using (with dependencies)?
rtabmap --version I don't use specific configuration file, everything is there is my previous post. |
|
Administrator
|
Hi, I was using a version with OpenCV from source (With OpenCV xfeatures2d: true), which used different features by default. However I just tried again with ros binaries:
rtabmap --version RTAB-Map: 0.20.21 PCL: 1.10.0 With VTK: 7.1.1 OpenCV: 4.2.0 With OpenCV xfeatures2d: false With OpenCV nonfree: false With ORB OcTree: true With SuperPoint Torch: false With Python3: false With FastCV: false With OpenGV: false With Madgwick: true With PDAL: false With TORO: true With g2o: true With GTSAM: false With Vertigo: true With CVSBA: false With Ceres: false With OpenNI2: true With Freenect: true With Freenect2: false With K4W2: false With K4A: false With DC1394: true With FlyCapture2: false With ZED: false With ZED Open Capture: false With RealSense: false With RealSense SLAM: false With RealSense2: false With MYNT EYE S: false With DepthAI: false With libpointmatcher: true With CCCoreLib: false With octomap: true With cpu-tsdf: false With open chisel: false With Alice Vision: false With LOAM: false With FLOAM: false With FOVIS: false With Viso2: false With DVO: false With ORB_SLAM: false With OKVIS: false With MSCKF_VIO: false With VINS-Fusion: false With OpenVINS: false I don't see big differences, here is the result: You may try to show the Odometry/Inliers statistics, to make sure we have similar number of inliers (around 300): |
This post was updated on .
I followed all the steps mentioned above, and am getting the same issue while trying to run rtabmap on the mentioned Kitti dataset.
I tried tweaking a couple of parameters in the rtabmap.launch file. I tried different "Odom/Strategy" to use different feature detectors, but it has not been of much help. I am getting only around 100-120 inliers Not sure how to proceed with getting it working. Thanks. |
Administrator
|
Hi,
tested again even with images not exactly synchronized, cannot reproduce your problem... You can make sure you are using the rtabmap binaries by re-sourcing only /opt/ros/noetic/setup.bash before the launch: sudo apt install ros-noetic-rtabmap-ros source /opt/ros/noetic/setup.bash roslaunch ... You can also show the actual processing time on your computer. Here are my results: We can see for the 37 first seconds, we don't have the same number of inliers: |
Free forum by Nabble | Edit this page |