mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-11-05 07:21:36 +08:00
added covariances to estimator_status and logging
This commit is contained in:
@@ -478,8 +478,13 @@ int AttitudePositionEstimatorEKF::check_filter_state()
|
||||
size_t max_states = (sizeof(rep.states) / sizeof(rep.states[0]));
|
||||
rep.n_states = (ekf_n_states < max_states) ? ekf_n_states : max_states;
|
||||
|
||||
// Copy diagonal elemnts of covariance matrix
|
||||
float covariances[28];
|
||||
_ekf->get_covariance(covariances);
|
||||
|
||||
for (size_t i = 0; i < rep.n_states; i++) {
|
||||
rep.states[i] = ekf_report.states[i];
|
||||
rep.covariances[i] = covariances[i];
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -3337,3 +3337,10 @@ void AttPosEKF::setIsFixedWing(const bool fixedWing)
|
||||
{
|
||||
_isFixedWing = fixedWing;
|
||||
}
|
||||
|
||||
void AttPosEKF::get_covariance(float c[EKF_STATE_ESTIMATES])
|
||||
{
|
||||
for (unsigned int i = 0; i < EKF_STATE_ESTIMATES; i++) {
|
||||
c[i] = P[i][i];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -379,6 +379,8 @@ public:
|
||||
*/
|
||||
void ZeroVariables();
|
||||
|
||||
void get_covariance(float c[28]);
|
||||
|
||||
protected:
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user