Open kenhuang1964 opened 11 months ago
what is the size of the file? If rtabmap.db is empty, it means mapping didn't work.
For convenience, the optimized poses will be in Admin table under opt_ids
and opt_poses
fields.
https://github.com/introlab/rtabmap/blob/f56875db4ada45ce9e8564c6a3911ebd809b83bd/corelib/src/resources/DatabaseSchema.sql.in#L123-L124
The pose
in Node
table is the odometry pose, not the one optimized after loop closures. To optimize the odometry poses, you can look at the Export
tool: https://github.com/introlab/rtabmap/blob/f56875db4ada45ce9e8564c6a3911ebd809b83bd/tools/Export/main.cpp#L973-L984
Hey @matlabbe, I really appreciate your help! I checked the file size and it is 73 kb, but when I opened it up in sqlite3, it was empty. Just to reiterate, the optimized poses only get saved after RTAB-Map closes, not when loop closure is detected right? Can I just use the Export tool to optimize the odometry poses whenever I want? is there a reason that the poses only get optimized after the RTAB-Map closes? Thanks in advance! :+1:
Yes, optimized poses are saved only when closing rtabmap. We didn't find the need to re-write them in database at every rtabmap updates. The export tool does re-optimize the graph anyway, so if they are saved or not, they could be regenerated.
73Kb seems pretty small. Are you in ROS? if so you should see a warning in terminal telling you that rtabmap didn't receive data.
I am trying to extract the poses of the device from rtabmap.db, but when I looked into it, it seemed to be empty. How can I fix this issue?