Problem with 3D lidar SLAM

asked 2022-06-08 13:25:34 -0500

nonolox gravatar image

Hello guys,

I'm trying to set up my Summit-XL robot for SLAM (using a 3D Lidar and RGBD Camera) in ros-Kinetic (Ubuntu 16.04). I found out about the rtabmap_ros package and I thought it was perfect for what I had in mind. The thing is I keep having some issues while mapping the environment in the simulation:

1: This infolog warn with four zeroes keeps showing up for every iteration. I tried to look for its meaning but there's been no luck so far:

 [ INFO] [1654685446.346322355, 28.370000000]: rtabmap 0.20.7 started...
    [ INFO] [1654685446.517758606, 28.485000000]: rtabmap (1): Rate=1.00s, Limit=0.000s, RTAB-Map=0.2606s, Maps update=0.0007s pub=0.0003s (local map=1, WM=1)
    [ WARN] [1654685447.658428373, 29.221000000]: 0 0 0 0
    [ INFO] [1654685447.881682301, 29.364000000]: rtabmap (2): Rate=1.00s, Limit=0.000s, RTAB-Map=0.2224s, Maps update=0.0007s pub=0.0000s (local map=1, WM=1)
    [ WARN] [1654685449.412164546, 30.350000000]: 0 0 0 0

2: When configuring my .launch file, is it better to set an odom_topic or an odom_frame_id? I tried both and it seems that passing directly the topic yields better results.

3: When I launch RTABMAP, the mapping starts great, but after a few loops, this warning starts to pop up:

[ INFO] [1654686277.259672016, 52.067000000]: rtabmap (44): Rate=1.00s, Limit=0.000s, RTAB-Map=0.2069s, Maps update=0.0084s pub=0.0003s (local map=30, WM=30)
[ WARN] [1654686278.587216962, 53.009000000]: 0 0 0 0
[ WARN] (2022-06-08 13:04:38.813) RegistrationIcp.cpp:983::computeTransformationImpl() ICP PointToPlane ignored as structural complexity is too low (corridor-like environment): (from=0.009587 || to=0.000955) < 0.020000 (Icp/PointToPlaneMinComplexity). PointToPoint is done instead, orientation is still optimized but translation will be limited to direction of normals (To: n1=0.149701,0.049477,-0.987493 n2=-0.932965,-0.323608,-0.157648).
[ WARN] (2022-06-08 13:04:38.814) RegistrationIcp.cpp:1209::computeTransformationImpl() libpointmatcher icp...temporary maxDist=0.05 (Icp/MaxCorrespondenceDistance=0.100000, Icp/VoxelSize=0.000000)
[ INFO] [1654686278.827228558, 53.145000000]: rtabmap (45): Rate=1.00s, Limit=0.000s, RTAB-Map=0.2323s, Maps update=0.0073s pub=0.0003s (local map=31, WM=31)
[ WARN] (2022-06-08 13:05:59.567) OptimizerGTSAM.cpp:701::optimize() GTSAM exception caught: 
Indeterminant linear system detected while working near variable
1 (Symbol: 1).

Thrown when a linear system is ill-posed.  The most common cause for this
error is having underconstrained variables.  Mathematically, the system is
underdetermined.  See the GTSAM Doxygen documentation at on gtsam::IndeterminantLinearSystemException for more information.

And eventually, either the process ends abruptly or the odom_frame and the map_frame get misaligned. As I understand, this issue occurs because the environment isn't "cluttered" enough. I've investigated and tried to tune up the parameters, but the issue persists.

The process also shows this warning at the beginning sometimes:

[WARN] (2022-06-08 12:28:02.159) Memory.cpp:919::addSignatureToStm ...
edit retag flag offensive close merge delete


Duplicate of (see answer there)

matlabbe gravatar image matlabbe  ( 2022-10-09 17:14:14 -0500 )edit