Append mode in rtabmap app

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

Append mode in rtabmap app

Sora
Hi,

I'm new in using rtabmap and I'm currently working on the reconstruction and localization using rtabmap on ipad. I wonder if there is way to only record poses based on the previous reconstruction of the map? I want to have the poses based on the previous reconstrution of the map. However, as I do the append scan to record poses, it will also update the mapping which will fully rendering my memory and then crash. Is there any solution to solve this? Thank you so much!

Reply | Threaded
Open this post in threaded view
|

Re: Append mode in rtabmap app

matlabbe
Administrator
It seems you are referring to localization mode instead of remapping/appending. See from 3:00 in this video. The poses are not recorded in the database though. You would need to add parameter Mem/LocalizationDataSaved=true in the code to save localization data, but if you only want to record the poses in map frame, you may save the trajectory to a file directly here.

Reply | Threaded
Open this post in threaded view
|

Re: Append mode in rtabmap app

Sora
Thank you so much for your help. I only use the original app and haven't tried the open source yet. I will try it later.
Reply | Threaded
Open this post in threaded view
|

Re: Append mode in rtabmap app

Sora
In reply to this post by matlabbe
Hi sorry to bother you again. What we're currently trying to do is to create a new option for append mode such that it will only record poses after loop closure detection. But it seems to save the positions only when odometry events were received even though the grey line is shown in the map, which seemed like it actually have the pose data measured. So in this way, we won't be able to record the pose data since it will stop recording. I'm a little bit confused with the method you mentioned to set Mem/LocalizationDataSaved=true in localization mode. Would you mind further explain it? Thank you so much
Reply | Threaded
Open this post in threaded view
|

Re: Append mode in rtabmap app

matlabbe
Administrator
What we're currently trying to do is to create a new option for append mode such that it will only record poses after loop closure detection.
It should be already doing that. The new frames won't be recorded in database till the first localization happens with previous session. See from 4:15 in the video.

With Mem/LocalizationDataSaved=true, if you start a localization session, rtabmap will still save the received frames in the database but they will be disjoint from the original session. We can browse them in rtabmap-databaseViewer, but they won't be linked to map in that database.

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

Re: Append mode in rtabmap app

Sora
Sorry for the misunderstanding. What we want is that after the first localization successfully by the loop closure detection, we pause the mapping function, no longer recording the new mapping but keep recording the positioining of the track. so when we do the positioning, it won't render full memory and crash.

I haven't figured out where the parameter Mem/LocalizationDataSaved is since we are using ipad. Sorry this might be a silly question but would you mind showing me where is this parameter in the open source so i can change it? Thank you so much
Reply | Threaded
Open this post in threaded view
|

Re: Append mode in rtabmap app

matlabbe
Administrator
You could add the parameter "Mem/LocalizationDataSaved" to "true" here. You would have to start in localization mode (see at 3:00 in the video to enable it) and set "Rtabmap/StartNewMapOnLoopClosure" to "true" here even for localization mode.

If you only want to save the poses without image data, set also "Mem/BinDataKept" to false here.