how to record database and perform rtabmap later?

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

how to record database and perform rtabmap later?

kapilyadav
Hi,

I am making a bot with kinect camera and rpi2 on it. I want to only record kinect data on the rpi and later use it to make 3d map on a computer. Then I need to use that same database for localisation code running on rpi. Only rtabmap standalone works on rpi2.  
I am trying the following steps -
1. Record data using rtabmap-dataRecorder on rpi - success
2. Transfer that db file on computer and run rtabmap-console on computer - failed
3. Run rtabmap in localization mode on rpi - success (probably)

In the 2nd step i.e. when running rtabmap-console, i keep get this error -
"camera init failed for path "./output.db"

How can I resolve this error?

Thanking You,
Kapil Yadav
Reply | Threaded
Open this post in threaded view
|

Re: how to record database and perform rtabmap later?

matlabbe
Administrator
This post was updated on .
1. good!

2. rtabmap-console is for loop closure detection only, not for RGB-D mapping. You must process the database with rtabmap application using the database as source. The problem when using the rtabmap-recorder alone is that you can't have a feedback while recording if the odometry can be computed (like using the recorder from from the EDIT menu of rtabmap). So if the recorded images are poor in features, you will only know it when replaying it in rtabmap and if the odometry get lost.

3. You could run rtabmap standalone in localization mode, but you will not get any output (readable from another app at the same time) like the topics sent by the rtabmap node in ROS. You may use RTAB-Map library in your C++ code though.

cheers