aboutsummaryrefslogtreecommitdiff
path: root/src/modules/ekf_att_pos_estimator
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2014-04-22 10:26:44 +0200
committerLorenz Meier <lm@inf.ethz.ch>2014-04-22 10:26:44 +0200
commit1e80e624916a0eb1b13adccb4f700adeeee66bba (patch)
treea433da69ecec9965d605de4a0d1e2c18f542f385 /src/modules/ekf_att_pos_estimator
parentbd637697e4880d3efbb79c2c05647564d3582cde (diff)
downloadpx4-firmware-1e80e624916a0eb1b13adccb4f700adeeee66bba.tar.gz
px4-firmware-1e80e624916a0eb1b13adccb4f700adeeee66bba.tar.bz2
px4-firmware-1e80e624916a0eb1b13adccb4f700adeeee66bba.zip
ekf: Better variable zeroing
Diffstat (limited to 'src/modules/ekf_att_pos_estimator')
-rw-r--r--src/modules/ekf_att_pos_estimator/estimator.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/modules/ekf_att_pos_estimator/estimator.cpp b/src/modules/ekf_att_pos_estimator/estimator.cpp
index 14761831c..ac9abf5ca 100644
--- a/src/modules/ekf_att_pos_estimator/estimator.cpp
+++ b/src/modules/ekf_att_pos_estimator/estimator.cpp
@@ -153,8 +153,16 @@ AttPosEKF::AttPosEKF() :
useCompass(true),
useRangeFinder(true),
numericalProtection(true),
- storeIndex(0)
+ storeIndex(0),
+ gpsHgt(0.0f),
+ baroHgt(0.0f),
+ GPSstatus(0),
+ VtasMeas(0.0f),
{
+ velNED[0] = 0.0f;
+ velNED[1] = 0.0f;
+ velNED[2] = 0.0f;
+
InitialiseParameters();
ZeroVariables();
}
@@ -1967,7 +1975,7 @@ void AttPosEKF::calcLLH(float (&posNED)[3], float lat, float lon, float hgt, flo
void AttPosEKF::OnGroundCheck()
{
- onGround = (((sq(velNED[0]) + sq(velNED[1]) + sq(velNED[2])) < 4.0f) && (VtasMeas < 8.0f));
+ onGround = (((sq(velNED[0]) + sq(velNED[1]) + sq(velNED[2])) < 4.0f) && (VtasMeas < 6.0f));
if (staticMode) {
staticMode = !(GPSstatus > GPS_FIX_2D);
}
@@ -2515,6 +2523,7 @@ void AttPosEKF::ZeroVariables()
magstate.DCM.identity();
memset(&current_ekf_state, 0, sizeof(current_ekf_state));
+
}
void AttPosEKF::GetFilterState(struct ekf_status_report *state)