ROS Answers: Open Source Q&A Forum - RSS feedhttps://answers.ros.org/questions/Open source question and answer forum written in Python and DjangoenROS Answers is licensed under Creative Commons Attribution 3.0Mon, 21 Oct 2019 15:46:43 -0500AMCL Covariance : define a "good" covariancehttps://answers.ros.org/question/335831/amcl-covariance-define-a-good-covariance/Hello,
hello,I am using AMCL to localize my robot. When i suscribe to `/amcl_pose`, I get some `geometry_msgs::StampedPoseWithCovariance`.
I read a lot about AMCL and covariance and I understood what lines of the matrix represent (Position X,Y,Z and Rotation X,Y,Z) => Only position(X,Y) and Rotation(Z) are non null/usefull as my robot is not flying.
[This thread](https://answers.ros.org/question/291013/question-about-amcl-covariance-calculation/) which contain usefull informations.
I now hace 2 questions and found only partial informations:
1) Are the covariance sent by `amcl_pose` relative to the last update (eg. at T1 covariance is relative to T0)
2) What define a "good covariance"? A threshold on values? How to determine it?
Thank you by advance !!Mon, 21 Oct 2019 11:09:34 -0500https://answers.ros.org/question/335831/amcl-covariance-define-a-good-covariance/Answer by stevemacenski for <p>Hello,</p>
<p>hello,I am using AMCL to localize my robot. When i suscribe to <code>/amcl_pose</code>, I get some <code>geometry_msgs::StampedPoseWithCovariance</code>.</p>
<p>I read a lot about AMCL and covariance and I understood what lines of the matrix represent (Position X,Y,Z and Rotation X,Y,Z) => Only position(X,Y) and Rotation(Z) are non null/usefull as my robot is not flying.
<a href="https://answers.ros.org/question/291013/question-about-amcl-covariance-calculation/">This thread</a> which contain usefull informations.</p>
<p>I now hace 2 questions and found only partial informations: <br>
1) Are the covariance sent by <code>amcl_pose</code> relative to the last update (eg. at T1 covariance is relative to T0) <br>
2) What define a "good covariance"? A threshold on values? How to determine it? </p>
<p>Thank you by advance !!</p>
https://answers.ros.org/question/335831/amcl-covariance-define-a-good-covariance/?answer=335841#post-id-335841The covariances are the current process uncertainty. Its not recursive (well, recursively updated, but the numbers you get out are relative to the current state).
"good" is automatically biased by requirements, you're better off either deriving some covariances from requirements probablistically or easier just take some data for what you define as "good" situations and get familiar with it.Mon, 21 Oct 2019 12:24:51 -0500https://answers.ros.org/question/335831/amcl-covariance-define-a-good-covariance/?answer=335841#post-id-335841Comment by luchko for <p>The covariances are the current process uncertainty. Its not recursive (well, recursively updated, but the numbers you get out are relative to the current state).</p>
<p>"good" is automatically biased by requirements, you're better off either deriving some covariances from requirements probablistically or easier just take some data for what you define as "good" situations and get familiar with it.</p>
https://answers.ros.org/question/335831/amcl-covariance-define-a-good-covariance/?comment=335861#post-id-335861Thanks, Will do that :)Mon, 21 Oct 2019 15:46:43 -0500https://answers.ros.org/question/335831/amcl-covariance-define-a-good-covariance/?comment=335861#post-id-335861Comment by stevemacenski for <p>The covariances are the current process uncertainty. Its not recursive (well, recursively updated, but the numbers you get out are relative to the current state).</p>
<p>"good" is automatically biased by requirements, you're better off either deriving some covariances from requirements probablistically or easier just take some data for what you define as "good" situations and get familiar with it.</p>
https://answers.ros.org/question/335831/amcl-covariance-define-a-good-covariance/?comment=335860#post-id-335860The covariance given in update N is for measurement N, but computed from N-1 and measurement N's match/quality.
A covariance doesn't have units that can be trivially converted to distance units, I'd recommend becoming more familiar with probablistic representations to learn more about valuesMon, 21 Oct 2019 15:41:27 -0500https://answers.ros.org/question/335831/amcl-covariance-define-a-good-covariance/?comment=335860#post-id-335860Comment by luchko for <p>The covariances are the current process uncertainty. Its not recursive (well, recursively updated, but the numbers you get out are relative to the current state).</p>
<p>"good" is automatically biased by requirements, you're better off either deriving some covariances from requirements probablistically or easier just take some data for what you define as "good" situations and get familiar with it.</p>
https://answers.ros.org/question/335831/amcl-covariance-define-a-good-covariance/?comment=335859#post-id-335859Thank you Steven! Allow me to ask you some clarification
*The covariances are the current process uncertainty.*
Thank you, so the covariance at T time represent the uncertainty relative to the T-1 time?
*"good" is automatically biased by requirements*
Well... You're damn right. If it is possible to, for example, transform a X axis covariance into "real world" centimeters, I could find out what my requirments are... Do you know if it's possible?Mon, 21 Oct 2019 15:28:46 -0500https://answers.ros.org/question/335831/amcl-covariance-define-a-good-covariance/?comment=335859#post-id-335859