Hey,

When plotting the logs of flight i noticed the ATT.ErrRP value.

What do these values mean ATT.ErrRP and ATT.ErrYaw? and in what units are they calculated??

Hey,

When plotting the logs of flight i noticed the ATT.ErrRP value.

What do these values mean ATT.ErrRP and ATT.ErrYaw? and in what units are they calculated??

Hi Ahmad,

These are the average size of the roll/pitch and yaw error estimate. I can’t answer how they are calculated as that involves a bit of math inside DCM.

Thanks for the reply man @OXINARF

Yea i got that. Thanks.

could you at least point me in the direction of where that math is? i can look at it myself. Also, DCM?

I dont know if you can help me with why is the error of roll and pitch coupled? im assuming their control is also coupled? and hence a coupled error value?

Sure, for roll/pitch it starts at ardupilot/libraries/AP_AHRS/AP_AHRS_DCM.cpp at master · ArduPilot/ardupilot · GitHub. Look for the `_error_rp`

variable, that is where the error estimate is stored.

For yaw it is at ardupilot/libraries/AP_AHRS/AP_AHRS_DCM.cpp at master · ArduPilot/ardupilot · GitHub, look for `_error_yaw`

.

DCM means Direction Cosine Matrix and is our old estimation algorithm. It is still logged in Copter, but not used anymore, so these values probably don’t have much meaning these days.

This isn’t my area of expertise so I can’t help much. But this is an error estimate calculated in our attitude and heading estimation library, so it isn’t where control is made.