How to get large map files out of ros?

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

How to get large map files out of ros?

nburn42
Hey,

Background

I have a robot running rtabmap as its only mapping software.
(I'm using a zed and have not found something that works better.)

My plan is to map the area I am going to be running the robot in,
then run the robot so it just uses that map to localize.

Problem

So in mapping mode I can map a small area then ctrl-c out of ros and the database saves where I want it to.
If I make a large map then ctrl-c rtabmap starts saving the database, but ros will escalate to sigterm and sigkill after a while of waiting, killing rtabmap before it finishes.

I tried piping the output of service get_map to a file in the hopes that it was a way to trigger rtabmap to dump the database. I'm not sure what get_map gives me but its not a db file.

I'm not sure if i'm just missing a way to dump the database or if I'm doing something fundamentally wrong.

Sorry about the noob question.
Thanks for any help.

Nathan
Reply | Threaded
Open this post in threaded view
|

Re: How to get large map files out of ros?

matlabbe
Administrator
Hi,

2 options:

1) Increase shutdown time before "escalating to sigterm": http://answers.ros.org/question/11353/how-to-delay-escalation-to-sig-term-after-sending-sig-int-to-roslaunch/

2) You can call /rtabmap/backup service, which will close rtabmap.db, copy to "rtabmap.db.back" then reload rtabmap.db.
$rosservice call /rtabmap/backup

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

Re: How to get large map files out of ros?

nburn42
Thanks so much!