ethz-asl / segmap

A map representation based on 3D segments
BSD 3-Clause "New" or "Revised" License
1.07k stars 391 forks source link

GTSAM error on loop closure #89

Open isakdiaz opened 6 years ago

isakdiaz commented 6 years ago

On the loop closure launch file using the kitti dataset I get an error right after it finds the first loop. Anybody else experiencing this? I am using a Jetson TX2 with a base ROS install.

I0715 20:08:52.220171 4611 incremental_estimator.cpp:251] linked_workers after Group 0: 0 terminate called after throwing an instance of 'gtsam::IndeterminantLinearSystemException' what():
Indeterminant linear system detected while working near variable 415 (Symbol: 415).

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 http://borg.cc.gatech.edu/ on gtsam::IndeterminantLinearSystemException for more information. [segmapper-4] process has died [pid 4391, exit code -6, cmd /home/nvidia/ws/devel/lib/segmapper/segmapper_node name:=segmapper log:=/home/nvidia/.ros/log/0177a092-888c-11e8-9e49-00044ba7e9bf/segmapper-4.log]. log file: /home/nvidia/.ros/log/0177a092-888c-11e8-9e49-00044ba7e9bf/segmapper-4*.log

rdube commented 6 years ago

Hi @isakdiaz could you look further into this issue? Did the loop closure appear to be correct? Was it in a location where a loop should be closed? You could try experimenting with different noise models. It is also possible to print or export the GTSAM graph to see whether anything looks wrong.

paulacarbo07 commented 4 years ago

Hi! I'm running with the exact same issue. After a loop closure has been found, when trying to correct the map, I get the same error. The loop closure seemed correct in rviz. Some more hints on how to solve this would be awesome, as I'm not familiar with the GTSAM library. Thanks in advance!