adding more loop closures in database viewer

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

adding more loop closures in database viewer

wumple
I recently made a map using a Kinect over several separate mapping sessions.  After saving the map, I attempted to run it in localization mode but received this error upon starting from GTSAM

Thrown when a linear system is ill-posed.  The most common cause for this
error is having underconstrained variables.  Mathematically, the system is
underdetermined.

I came across a post from several years ago recommending TORO over GTSAM when this occurs.  I tried TORO and the map loaded, but it didn't look very good.  I loaded the database into databaseViewer and clicked the add more loop closures option, which added several thousand extra loop closures.  The gridmap as viewed in databaseViewer looked much better with the additional loop closures.  I would now like to save it and use it for localization with my robot.  What is the proper way to save a database with added loop closures from databaseViewer?  Using the default settings from 'export database', I get the error

The working memory is empty and the memory is not incremental (Mem/IncrementalMemory=False), no loop closure can be detected! Please set Mem/IncrementalMemory=true to increase the memory with new images or decrease the STM size (which is 1 including the new one added)

when attempting to load the updated database in localization mode.  

If I close the databaseViewer and reload the updated database (with the extra loop closures) it says that there are 0 poses and 0 links in the map when it is loaded.  

I'm currently using version 0.11.10.  Any suggestions for getting the updated map running in localization mode would be great!  Thanks.  
Reply | Threaded
Open this post in threaded view
|

Re: adding more loop closures in database viewer

matlabbe
Administrator
Hi,

Normally, after adding new loop closures with Database Viewer, just close database viewer and you will be asked to save the loop closures in database on exit. "Export database" option is just used to extract raw data of the current database (without links and localization stuff).

I don't have a 0.11.10 version installed, but I did try 0.11.8 and 0.11.11 binaries and they work as expected.

cheers