mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-06-02 03:49:12 +08:00
ekf2: fix sideslip fusion sign
This commit is contained in:
committed by
Mathieu Bresciani
parent
53865118fb
commit
bdd043f27f
@@ -126,7 +126,7 @@ def compute_sideslip_innov_and_innov_var(
|
|||||||
|
|
||||||
sideslip_pred = predict_sideslip(state, epsilon);
|
sideslip_pred = predict_sideslip(state, epsilon);
|
||||||
|
|
||||||
innov = 0.0 - sideslip_pred
|
innov = sideslip_pred - 0.0
|
||||||
|
|
||||||
H = sf.V1(sideslip_pred).jacobian(state)
|
H = sf.V1(sideslip_pred).jacobian(state)
|
||||||
innov_var = (H * P * H.T + R)[0,0]
|
innov_var = (H * P * H.T + R)[0,0]
|
||||||
|
|||||||
+2
-2
@@ -30,7 +30,7 @@ void ComputeSideslipInnovAndInnovVar(const matrix::Matrix<Scalar, 24, 1>& state,
|
|||||||
const matrix::Matrix<Scalar, 24, 24>& P, const Scalar R,
|
const matrix::Matrix<Scalar, 24, 24>& P, const Scalar R,
|
||||||
const Scalar epsilon, Scalar* const innov = nullptr,
|
const Scalar epsilon, Scalar* const innov = nullptr,
|
||||||
Scalar* const innov_var = nullptr) {
|
Scalar* const innov_var = nullptr) {
|
||||||
// Total ops: 277
|
// Total ops: 276
|
||||||
|
|
||||||
// Input arrays
|
// Input arrays
|
||||||
|
|
||||||
@@ -85,7 +85,7 @@ void ComputeSideslipInnovAndInnovVar(const matrix::Matrix<Scalar, 24, 1>& state,
|
|||||||
if (innov != nullptr) {
|
if (innov != nullptr) {
|
||||||
Scalar& _innov = (*innov);
|
Scalar& _innov = (*innov);
|
||||||
|
|
||||||
_innov = -_tmp15 * _tmp21;
|
_innov = _tmp15 * _tmp21;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (innov_var != nullptr) {
|
if (innov_var != nullptr) {
|
||||||
|
|||||||
Reference in New Issue
Block a user