Posted by
Bracky on
URL: http://official-rtab-map-forum.206.s1.nabble.com/Localization-after-mapping-session-using-lidar-only-tp9260p9290.html
Hello Matthieu,
matlabbe wrote
Hi,
set only scan_voxel_size parameter. In the warning, voxel=0.05 not 0.5 (maybe it is a warning not coming from odometry but another node, check with rqt_console). With range up to 100 meters, at 5 cm there could be indeed overflow. Outdoor (with long range lidars) I generally set voxel size between 0.3 and 0.5.
So I tried filtering the distance (20m) and replaced my ICP/VoxelSize with scan_voxel_size but still have the warning issue and the size being 0.05 instead of 0.5.

[ WARN] (2023-01-16 10:28:00.561) util3d_filtering.cpp:539::voxelizeImpl() Leaf size is too small for the input dataset. Integer indices would overflow. We will split space to be able to voxelize (lvl=0 cloud=131072 min=[-109.331596 -99.119019 -1.479200] max=[77.939636 46.475895 15.413268] voxel=0.050000).
However, this message does not appear in rqt_console (tools that I did not know the existence of, thanks for the tip !!) .
Not sure to understand this comment:
- merge WM clouds, neither using rtabmap with use_scan_clouds or use_scan_descriptor from cmr_lidarloop. I do not know where to look into : either robot_localization or rtabmap.
but in your launch, if you use
subscribe_scan_descriptor, you should remap
scan_descriptor topic too.
Yes I have done the remap (in cmr_lidarloop) but my point is that whether I use cmr_lidarloop or not, I always have the same issue which is that my point cloud remains in the working memory and that there is nothing in the local map :
[ INFO] [1673858543.918015586, 1673343087.419828279]: Assembled 1 obstacle and 1 ground clouds (59294 points, 0.004693s)
[ INFO] [1673858543.938769094, 1673343087.419828279]: rtabmap (9): Rate=0.20s, Limit=0.000s, Conversion=0.0018s, RTAB-Map=1.4808s, Maps update=1.4485s pub=0.0254s (local map=0, WM=9)
My bet is that I have a poorly tuned parameter. But maybe it is because the odometry is not so good. I used gps+ imu + rtamap in my robot_localization setup.
I Actually do not know the proper behavior of the tf map->odom but it is shaking and drifting and I hoped the lidar odometry to correct that. I do not know if the odom is poor because of the bad results from icp or if icp cannot provides good results because of crappy odom.


The point cloud is fine, but the occupancy grid etc are not. Is it because of an error in map -> odom ? Do you have clues where I should look into ?
Another point related to this post is that I am receiving 0 using Floam and crash with Loam.
I would need your system configuration, which repos you used exactly and commit version of those repos.
cheers,
Mathieu
So I am on Ubuntu 20.04, ros noetic, rtabmap 0.20.22 and the latest rtabmap_ros. For the floam I did the following :
cd ~/catkin_ws/src
git clone https://github.com/wh200720041/floam && \
cd floam && \
wget https://gist.githubusercontent.com/matlabbe/d8ab56e69146c18afbd1a3b05444c649/raw/f1f37ece5d5787c77f008cb89e9446fc20a40c1f/floam_as_library_support.patch && \
git apply floam_as_library_support.patch
cd ../..
catkin_make
Thank you as always for your availability and help ;)
UPDATE : changed for point to plane -> solved most of my pbm