Error loading rtabmap parameters when opening a database.

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

Error loading rtabmap parameters when opening a database.

cpsarras
Hi Mathieu,

I should probably post this as an issue in github, as it is more of a code bug. When I open a database with rtabmap-databaseViewer and the recording had some parameters different from the default I am prompted to change the parameters. When i accept, i get the following error:

[ WARN] (2017-06-29 07:46:48.640) Parameters.cpp:771::readINI() Section "Core" in /home/chris/.rtabmap/rtabmap.ini doesn't exist... Ignore this warning if the ini file does not exist yet. The ini file will be automatically created when this node will close.
[ INFO] (2017-06-29 07:46:48.643) DBDriverSqlite3.cpp:343::connectDatabaseQuery() Using database "/home/chris/.ros/rtabmap.db" from the hard drive.
[ INFO] (2017-06-29 07:46:48.643) DBDriverSqlite3.cpp:382::connectDatabaseQuery() Database version = 0.12.5
[ WARN] (2017-06-29 07:46:48.647) DatabaseViewer.cpp:754::openDatabase() Parameter "Optimizer/Robust": database="true" Preferences="false"
[ WARN] (2017-06-29 07:46:48.648) DatabaseViewer.cpp:754::openDatabase() Parameter "Reg/VarianceFromInliersCount": database="true" Preferences="false"
[ WARN] (2017-06-29 07:46:48.648) DatabaseViewer.cpp:754::openDatabase() Parameter "Stereo/MaxDisparity": database="1200" Preferences="128"
[ WARN] (2017-06-29 07:46:48.648) DatabaseViewer.cpp:754::openDatabase() Parameter "Stereo/MaxLevel": database="4" Preferences="3"
[ WARN] (2017-06-29 07:46:48.648) DatabaseViewer.cpp:754::openDatabase() Parameter "Stereo/MinDisparity": database="0" Preferences="1"
[ WARN] (2017-06-29 07:46:48.648) DatabaseViewer.cpp:754::openDatabase() Parameter "Stereo/WinHeight": database="6" Preferences="3"
[ WARN] (2017-06-29 07:46:48.648) DatabaseViewer.cpp:754::openDatabase() Parameter "Stereo/WinWidth": database="30" Preferences="15"
[ WARN] (2017-06-29 07:46:48.648) DatabaseViewer.cpp:754::openDatabase() Parameter "Vis/EstimationType": database="1" Preferences="0"
[ WARN] (2017-06-29 07:46:48.648) DatabaseViewer.cpp:754::openDatabase() Parameter "Vis/FeatureType": database="0" Preferences="6"
ASSERT failure in QList<T>::at: "index out of range", file /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h, line 510
[1]    5685 abort (core dumped)  rtabmap-databaseViewer ~/.ros/rtabmap.db



Of course, if I choose not to load the same parameters in rtabmap-databaseViewer the error does not occur, and I can continue viewing the contents of the database. As I have never used this utility before, I am not sure if I am losing something in functionality when i don't load the same parameters that where used when the database was taken.


Thank you,
Chris
Reply | Threaded
Open this post in threaded view
|

Re: Error loading rtabmap parameters when opening a database.

matlabbe
Administrator
Hi,

databaseViewer doesn't modify the database unless you are warned explicitly (except for "Edit -> Edit depth image..."). Loading parameters is optional, but are convenient when editing the database afterward.

I cannot reproduce the problem with the current version I use (0.13.0). Also tried binaries version on kinetic 0.11.13:
[ WARN] (2017-06-29 14:46:28.837) Parameters.cpp:764::readINI() Section "Core" in /home/mathieu/.rtabmap/rtabmap.ini doesn't exist... Ignore this warning if the ini file does not exist yet. The ini file will be automatically created when this node will close.
[ INFO] (2017-06-29 14:46:28.841) DBDriverSqlite3.cpp:343::connectDatabaseQuery() Using database ".ros/rtabmap.db" from the hard drive.
[ INFO] (2017-06-29 14:46:28.842) DBDriverSqlite3.cpp:381::connectDatabaseQuery() Database version = 0.11.13
[ WARN] (2017-06-29 14:46:28.847) DatabaseViewer.cpp:629::openDatabase() Parameter "Optimizer/Robust": database="true" Preferences="false"
[ WARN] (2017-06-29 14:46:28.847) DatabaseViewer.cpp:629::openDatabase() Parameter "Reg/VarianceFromInliersCount": database="true" Preferences="false"
[ WARN] (2017-06-29 14:46:28.848) DatabaseViewer.cpp:629::openDatabase() Parameter "Stereo/MaxDisparity": database="1200" Preferences="128"
[ WARN] (2017-06-29 14:46:28.848) DatabaseViewer.cpp:629::openDatabase() Parameter "Stereo/MaxLevel": database="4" Preferences="3"
[ WARN] (2017-06-29 14:46:28.848) DatabaseViewer.cpp:629::openDatabase() Parameter "Stereo/MinDisparity": database="0" Preferences="1"
[ WARN] (2017-06-29 14:46:28.848) DatabaseViewer.cpp:629::openDatabase() Parameter "Stereo/WinHeight": database="6" Preferences="3"
[ WARN] (2017-06-29 14:46:28.848) DatabaseViewer.cpp:629::openDatabase() Parameter "Stereo/WinWidth": database="30" Preferences="15"
[ WARN] (2017-06-29 14:46:28.848) DatabaseViewer.cpp:629::openDatabase() Parameter "Vis/CorFlowMaxLevel": database="5" Preferences="3"
[ WARN] (2017-06-29 14:46:28.848) DatabaseViewer.cpp:629::openDatabase() Parameter "Vis/EstimationType": database="1" Preferences="0"
[ WARN] (2017-06-29 14:46:28.848) DatabaseViewer.cpp:629::openDatabase() Parameter "Vis/FeatureType": database="0" Preferences="6"
[ INFO] (2017-06-29 14:46:31.100) DatabaseViewer.cpp:1140::updateIds() Loading all IDs...

I assume that you built rtabmap from source, can you copy/paste cmake output?
$ cd rtabmap/build
$ cmake ..

cheers,
Mathieu
Reply | Threaded
Open this post in threaded view
|

Re: Error loading rtabmap parameters when opening a database.

cpsarras
I upgraded to rtabmap (0.13.0) and the problem is fixed. For anyone else upgrading, you need to run

$ sudo ldconfig

after the install, so that the cached libraries are synced, or your are going to experience an error like the following:

$ ./rtabmap: error while loading shared libraries: librtabmap_gui.so.0.13: cannot open shared object file: No such file or directory

If you are still interested in the output of the rtabmap (0.12.5) cmake, here you go:

$ cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DWITH_ZED=false ..

rtab_output.txt

Thank you for the assistance,
Chris