# 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 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?

edit retag close merge delete

Sort by ยป oldest newest most voted

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).

"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.

more

Thank 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?

( 2019-10-21 15:28:46 -0600 )edit

The 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 values

( 2019-10-21 15:41:27 -0600 )edit
1

Thanks, Will do that :)

( 2019-10-21 15:46:43 -0600 )edit