Query about RTABMAP on drones

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

Query about RTABMAP on drones

Masoumeh
Hi,

I have a question about applying RTABMAP on drones. based on your github (https://github.com/matlabbe/rtabmap_drone_example), you applied docker.
1) what is docker, and what it does here?
2) did you use any GPU? if yes why and how?
3) And would you please tell me what does this launch file do? (https://github.com/matlabbe/rtabmap_drone_example/blob/master/launch/spawn_drone.launch)

Thanks
Reply | Threaded
Open this post in threaded view
|

Re: Query about RTABMAP on drones

matlabbe
Administrator
Hi,

1) For what is docker, it would be easier to check official doc or some videos. Here, it is used to use a specific version of PX4 (you may have another version depending if you are already working with drones), and it is also a recipe to make sure that all dependencies are installed. Another advantage is that it doesn't screw up your catkin workspace to only try it.
2) GPU is used here for the simulator, to run smoothly, but it is not required.
3) It is a common approach to spawn a robot in a gazebo simulation. You may find `spawn_tutlebot.launch` in other projects. After launching the simulator, you may call `spawn_drone.launch` to create the simulated robot in your simulated environment.

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

Re: Query about RTABMAP on drones

Masoumeh
Thanks a lot Mathieu,

Just one more question, did you also implement or apply Bundle adjustment? if yes, how did you implement it? how many images did you use for this technique?
and was bundle adjustment happening in real-time?
I want to know more about how Bundle adjustment has been implemented for this drone.

Thanks a lot
Reply | Threaded
Open this post in threaded view
|

Re: Query about RTABMAP on drones

matlabbe
Administrator
Hi,

there is a local bundle adjustment done with visual odometry, see F2M approach from this paper (figure 2). The bundle adjustment is implemented in OptimizerG2O class, while its usage is done in OdometryF2M.

If you want to learn more about bundle adjustment alone, there is a minimal example in g2o repo.

cheers,
Mathieu