0
$\begingroup$

Rosanswers logo

Hello all,

I'm trying to use this package in our navigation system. We want to fuse odometry + amcl + visual landmarks for localization, but the current version of the package can only fuse two odometry sources. So here the first question:

a) Any clue on when will be ready the version that listen to 'n' sensor sources stated in the roadmap?

By now, I'm just fussing odometry and visual landmarks, and use the output as the odometry feed for amcl. The TF tree resulting is:

map ---> odom ---> footprint

 (amcl)   (ekf)

I find this solution quite ugly, as the ideal scenario would be robot_pose_ekf providing the only correction between map and odom.

But by now this is the only way I have found to fuse the three localization sources.

b) Any advice about how to do it better?

Thank you very much for your help.


Originally posted by jorge on ROS Answers with karma: 2284 on 2012-03-15

Post score: 0


Original comments

Comment by maysamsh on 2013-11-06:
Did you find a solution for your problem? I'm trying to do similar task, fusing odometry data and landmark positions acquired by kinect.

Comment by jorge on 2013-11-06:
yes, but I think your case is different. I did a module for fussing an arbitrary number of global localization sources, as amcl and landmarks. You ask for odom-landmarks fusion, but they provide complementary information, so navi stack combines, not fuse, them (amcl tf section explains this well)

Comment by Mehdi. on 2015-08-06:
Hi Jorge, how did you solve your problem? Is your code open? I also need to combine amcl and global localization markers.

Comment by jorge on 2015-08-25:
Hi Mehdi, nop, unfortunatelly the code is not open. But it is not complicated, neither: just modify robot_pose_ekf to subscribe to global poses topics as the one published by amcl. Also, for the prediction step in the EKF filter, you should use the velocity measured by the odometry, but feel free

Comment by jorge on 2015-08-25:
to explore different options.

$\endgroup$

2 Answers 2

0
$\begingroup$

Rosanswers logo

The robot pose ekf is meant to fuse continuous sources of odometry, where the assumption of Gaussian uncertainty is reasonable. The output of amcl does not fit this description: the output pose can arbitrary 'jump' to a new location when the localization module computes a new best guess for the robot pose. You should think through really well what you're actually trying to achieve when you merge all the sources you mention. Our approach has been to separate continuous odometry sources from discontinuous localization sources. You can read more about this in this REP.


Originally posted by Wim with karma: 2915 on 2012-03-16

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by jorge on 2012-03-18:
Thank you for the answer (and the interesting REP). Looks like I'm forcing robot pose ekf to work in a different than designed situation. What I need is a different approach for fussing amcl and landmark localization independent of the odometry.

Comment by jorge on 2012-03-18:
But even if it's not a neat solution, robot pose ekf seems to work as long as there are at least one continuous localization source, corrected only when visual landmarks are available. To make this work, I must set the sensor_timeout as low as possible, to minimize the time filter is waiting.

$\endgroup$
0
$\begingroup$

Rosanswers logo

You have access to the source code, fork it and feel free to pitch in and develop that capability.


Originally posted by Kevin with karma: 2962 on 2012-03-15

This answer was NOT ACCEPTED on the original site

Post score: 1


Original comments

Comment by Mehdi. on 2015-08-06:
Dead Link.

$\endgroup$

Your Answer

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