RTABMap GPS Integration

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

RTABMap GPS Integration

derektan1995
This post was updated on .
Hi Matthieu,

I would like to ask a question on integrating GPS data to RTABMap's localization capabilities. My robot would have to go through sparse / dense terrains, and both indoors / outdoors. My hope is for my robot to rely mainly on GPS RTK whenever possible, but switch to rely on RTABMap's ICP Localization when I do not get signal for the GPS RTK. I have looked around for more information, and found the 2 following approaches:

1) Using the 'gps/fix' parameter
From this post, it states that we are able to feed in GPS data into RTABMap for via the 'gps/fix' parameter to achieve 'more robust graph optimization and loop closure detection'. Does this mean that localization data via ICP is not refined via this GPS input?

I am confused because based on this post, it implies that you could store GPS data in the pose graph, as if it is used directly as a source for localization. How does this tie in with ICP?


2) Using Robot Localization
From this post, along with some other posts in the forum, you suggested using Robot Localization to fuse GPS Pose data with other localization sources. With this, GPS data can be fused with RTABMap's localization pose data(via ICP).

Yet from this post, we can use GPS data to fuse with other odometry sources to obtain more reliable odometry. We can then feed in this odometry data to be refined via ICP in RTABMap. Would this approach be better?

If so, would you suggest both methods 1 and 2 to get better localization for Graph Optimization scenario, and for localization during runtime (When no loop closure is detected)?

Much thanks,
Derek
Reply | Threaded
Open this post in threaded view
|

Re: RTABMap GPS Integration

Masoumeh
Hi Mattieu,

I have also the same question. would you please help us to solve this issue?
thanks
Reply | Threaded
Open this post in threaded view
|

Re: RTABMap GPS Integration

matlabbe
Administrator
In reply to this post by derektan1995

1) It won't replace ICP, it will just help to select good candidates for loop closure detection, making loop closure detection more robust to similar looking places but not at real same location. The GPS values are used in the graph as priors, so even with loop closure detection, they may help to get the graph aligned with GPS values even if odometry is drifting.

2) I didn't have much real field experience with robot_localization in a two level setup using GPS. If the GPS RTK topics are published at same rate than lidar frequency, I guess the GPS RTK could act like an odometry input to robot_localization  (in differential mode) along icp_odometry's odometry. Thus using only one instance of robot_localization for odometry. If GPS RTK is not received, robot_localization will still continue to estimate with icp_odometry. The GPS could also be set as gps/fix to rtabmap node to add GPS constraints to graph.

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

Re: RTABMap GPS Integration

derektan1995
Hi Mathieu,

Thanks for the explanation!
Reply | Threaded
Open this post in threaded view
|

Re: RTABMap GPS Integration

Masoumeh
Dear  @derektan1995

Did you get the result? did you manage to navigate based on gps, while using rtabmap?! if yes, would you please also guide me as well, i have also a number of questions,I have searched a lot but could not find a specific solution.

Kind Regards
Reply | Threaded
Open this post in threaded view
|

Re: RTABMap GPS Integration

derektan1995
Hi Masoumeh,

I have yet to try it yet, since RTAB's lidar-based SLAM has already been working well, even in outdoors settings. From Matthieu's description, it doesn't seem like a difficult thing to try out, so you should definitely give it a shot.

Regards,
Derek