0
$\begingroup$

Rosanswers logo

Hi all,

I have an AR drone with a Lidar attached. I have hector_slam running giving out a position estimate for the drone which is working fine. I also have a PTAM node running which is also spitting out a position estimate.

What is the best way to combine these position estimates to give a best guess for the location of the drone?


Originally posted by andythepandy93 on ROS Answers with karma: 55 on 2016-04-10

Post score: 1


Original comments

Comment by al-dev on 2016-04-10:
Are you using these 2 SLAM algorithms to estimate motion increments (local pose estimation) or to estimate a "fused map"+pose within the fused map (map+global pose estimation) ?

Comment by andythepandy93 on 2016-04-10:
hector_slam is building up a map as it goes along and giving out that map and a pose estimate. The PTAM slam is working out increments I think as it gets its key points when it starts up and then goes from there, (it also uses control inputs for the drone for the pose estimate)

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

It seems that you are running 2 SLAM algorithms in parallel which is a bit confusing, but you could still try one of the following :

  1. The output of SLAM is {map+global pose estimate} so you actually have 2 different maps with 2 different global pose estimates. There is no trivial way to fuse all these directly AFAIK. I guess if you are not interested in fusing the maps, you could take one of them as a reference and then just fuse the global pose estimates through an EKF/UKF via the robot_localization package.

  2. If one of these 2 SLAM algorithms was using odometry as an input and you already had a source of odometry (e.g wheel odometry, visual odometry...) you could try to use the other SLAM algorithm to provide an alternative odometry estimate, and then fuse it through an EKF/UKF with your existing odometry. Then give the "improved" (?) odometry estimate to your second SLAM algorithm.

For instance, hector_slam can provide such an odometry estimate via the undocumented pub_odometry parameter, see this question

The problem here is that none of the two SLAM algorithms you mentioned - I am less familiar with PTAM though - use any source of odometry... You could try to modify hector_slam to use odometry but that requires some work, see this question. As for PTAM, I don't know.


Originally posted by al-dev with karma: 883 on 2016-04-11

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by andythepandy93 on 2016-04-11:
Okay great there's lots to think about in there, thanks. I had heard of the pub_odometry parameter but not looked into it so will give that a look. Also just looked at the robot_localization package and it looks good. Cheers!

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.