ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Umkipp's profile - activity

2021-07-30 01:16:22 -0500 received badge  Student (source)
2018-06-22 04:28:47 -0500 received badge  Famous Question (source)
2018-05-17 05:43:56 -0500 received badge  Notable Question (source)
2018-05-15 18:23:16 -0500 marked best answer Question about AMCL covariance calculation

Hello everyone,

I'm quite new to robotics and ROS and have worked the past several months with nav2d. In that context I have tried to understand how AMCL (used in the localization of nav2d) works.

I have stumbled upon a little mystery (for me, at least) concerning the calculation of the covariance matrix cov.m[][], more precicely the last of the nine values of it.

As far as I have understood the covariance matrix in general, its size depends on the dimensionality of the problem; if we move in a 2-dimensional space, we have a 2x2 matrix, while in a 3-dimensional space, we have a 3x3 matrix. As AMCL is probably developed to be used for 2D as well as 3D localization, it offers a 3x3 matrix, which I would assume would only be parially filled with data in a 2D-environment.

While looking at the data inside this matrix during a run in nav2d (2-dimensional problem), I indeed found, that the matrix does not contain values for the covariance of the (presumed) third dimension. But it does for the third variance. Example of the matrix, refined for a little bit better overview:

(9.792434; -7.420428; 0.000000; )

(-7.420428; 19.095132; 0.000000; )

(0.000000; 0.000000; 3.259822; )

The third variance (m[2][2]) gets automatically calculated in the file pf.c, in the function called pf_cluster_stats, right at the bottom of it, with the formula:

set->cov.m[2][2] = -2 * log(sqrt(m[2] * m[2] + m[3] * m[3]));

My question ist now, what this third variance represents and why it gets automatically computed. I would have assumed, that it would only be computed if a third dimension was present, but as nav2d is generally 2-dimensional and this value has a content non-the-less (which is no wonder, as it gets computed by the AMCL anyway, no matter what it is used for), it would seem, that this assumption is wrong?

I would be thankful for any hint in that matter.

2018-05-15 18:23:16 -0500 received badge  Scholar (source)
2018-05-15 18:22:49 -0500 commented answer Question about AMCL covariance calculation

Yes, thank you for that clarification, and also for the link to the Website. I found going through that quite informativ

2018-05-15 18:19:40 -0500 received badge  Supporter (source)
2018-05-14 02:04:45 -0500 received badge  Popular Question (source)
2018-05-13 15:24:31 -0500 asked a question Question about AMCL covariance calculation

Question about AMCL covariance calculation Hello everyone, I'm quite new to robotics and ROS and have worked the past s