wh200720041 / iscloam

Intensity Scan Context based full SLAM implementation for autonomous driving. ICRA 2020
Other
559 stars 131 forks source link

GTSAM optimizer stuck #5

Closed Fingolfin007 closed 3 years ago

Fingolfin007 commented 4 years ago

In a scenario that i tested, where a loop closure is detected (not the first loop closure), the optimization node was stuck at: gtsam::LevenbergMarquardtOptimizer(graph, initials).optimize()

The program didn't crash, but continued without any type of exit. Do you have any insight on what might be the cause?

Thanks!

Fingolfin007 commented 4 years ago

A follow up piece of information is that I am using Ubuntu 18.04, with ROS Melodic, and GTSAM 4.0.0alpha2. Could you provide guidance on which GTSAM version you are using?

wh200720041 commented 4 years ago

Hi, Fingolfin007. The GTSAM version I use is 3.2.3. Did you include the mapping thread at the same time? If you include the mapping core, it may takes longer for optimization process (The global map optimization can be very slow if your map scale is large).

Fingolfin007 commented 4 years ago

Thanks for the quick response. I was using iscloam_mapping.launch. I believe the mapping thread was on. The point cloud map have about 750 frames by then. This was not the first instance of loop closure. In fact, in the previous frames (also around frame 750) there was already loop closure found, and the map optimization was carried out without problem.

In addition, the program basically was stuck there at the optimization step and never moves forward to the next step no matter how long time I wait. So I am pretty sure it's stuck in there.

wh200720041 commented 4 years ago

In this case I am not sure if this is caused by version upgrade in GTSAM. It seems the problem is caused by GTSAM based on your description. Perhaps you can use lower version and try again, or you may share your rosbag file here so that I can have to quick test to find out the problem.

wh200720041 commented 3 years ago

If there is no further question this issue will be closed

kinggreat24 commented 3 years ago

Thanks for the quick response. I was using iscloam_mapping.launch. I believe the mapping thread was on. The point cloud map have about 750 frames by then. This was not the first instance of loop closure. In fact, in the previous frames (also around frame 750) there was already loop closure found, and the map optimization was carried out without problem.

In addition, the program basically was stuck there at the optimization step and never moves forward to the next step no matter how long time I wait. So I am pretty sure it's stuck in there.

Have you solved this problem? Is the GTSAM version caused this ?

wh200720041 commented 3 years ago

Hi @kinggreat24

I am not sure if it is caused by GTSAM version because I can't retrieve the same problem. The program works on my platform.

Regards Han