aboutsummaryrefslogtreecommitdiff
path: root/apps/attitude_estimator_ekf/attitude_estimator_ekf_params.c
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2013-01-21 17:30:53 +0100
committerLorenz Meier <lm@inf.ethz.ch>2013-01-21 17:30:53 +0100
commitac215185a9604a88665d0b5b8382659f8cedaf56 (patch)
treef7ba1eca830745fd7c002f954de27d38ea0995da /apps/attitude_estimator_ekf/attitude_estimator_ekf_params.c
parent48e497e4069a2f8773d90f2d1887967a81e487d8 (diff)
downloadpx4-firmware-ac215185a9604a88665d0b5b8382659f8cedaf56.tar.gz
px4-firmware-ac215185a9604a88665d0b5b8382659f8cedaf56.tar.bz2
px4-firmware-ac215185a9604a88665d0b5b8382659f8cedaf56.zip
Better attitude filter, not sensitive to sudden accelerations
Diffstat (limited to 'apps/attitude_estimator_ekf/attitude_estimator_ekf_params.c')
-rwxr-xr-x[-rw-r--r--]apps/attitude_estimator_ekf/attitude_estimator_ekf_params.c40
1 files changed, 1 insertions, 39 deletions
diff --git a/apps/attitude_estimator_ekf/attitude_estimator_ekf_params.c b/apps/attitude_estimator_ekf/attitude_estimator_ekf_params.c
index 91fec9ccb..5b7756611 100644..100755
--- a/apps/attitude_estimator_ekf/attitude_estimator_ekf_params.c
+++ b/apps/attitude_estimator_ekf/attitude_estimator_ekf_params.c
@@ -50,15 +50,6 @@ PARAM_DEFINE_FLOAT(EKF_ATT_Q2, 1e1f);
/* gyro offsets process noise */
PARAM_DEFINE_FLOAT(EKF_ATT_Q3, 1e-4f);
PARAM_DEFINE_FLOAT(EKF_ATT_Q4, 1e-4f);
-PARAM_DEFINE_FLOAT(EKF_ATT_Q5, 1e-4f);
-/* accelerometer process noise */
-PARAM_DEFINE_FLOAT(EKF_ATT_Q6, 1e-1f);
-PARAM_DEFINE_FLOAT(EKF_ATT_Q7, 1e-1f);
-PARAM_DEFINE_FLOAT(EKF_ATT_Q8, 1e-1f);
-/* magnetometer process noise */
-PARAM_DEFINE_FLOAT(EKF_ATT_Q9, 1e-1f);
-PARAM_DEFINE_FLOAT(EKF_ATT_Q10, 1e-1f);
-PARAM_DEFINE_FLOAT(EKF_ATT_Q11, 1e-1f);
/* gyro measurement noise */
PARAM_DEFINE_FLOAT(EKF_ATT_R0, 0.01f);
@@ -66,12 +57,7 @@ PARAM_DEFINE_FLOAT(EKF_ATT_R1, 0.01f);
PARAM_DEFINE_FLOAT(EKF_ATT_R2, 0.01f);
/* accelerometer measurement noise */
PARAM_DEFINE_FLOAT(EKF_ATT_R3, 1e2f);
-PARAM_DEFINE_FLOAT(EKF_ATT_R4, 1e2f);
-PARAM_DEFINE_FLOAT(EKF_ATT_R5, 1e2f);
-/* magnetometer measurement noise */
-PARAM_DEFINE_FLOAT(EKF_ATT_R6, 1e-1f);
-PARAM_DEFINE_FLOAT(EKF_ATT_R7, 1e-1f);
-PARAM_DEFINE_FLOAT(EKF_ATT_R8, 1e-1f);
+
/* offsets in roll, pitch and yaw of sensor plane and body */
PARAM_DEFINE_FLOAT(ATT_ROLL_OFFS, 0.0f);
PARAM_DEFINE_FLOAT(ATT_PITCH_OFFS, 0.0f);
@@ -85,23 +71,11 @@ int parameters_init(struct attitude_estimator_ekf_param_handles *h)
h->q2 = param_find("EKF_ATT_Q2");
h->q3 = param_find("EKF_ATT_Q3");
h->q4 = param_find("EKF_ATT_Q4");
- h->q5 = param_find("EKF_ATT_Q5");
- h->q6 = param_find("EKF_ATT_Q6");
- h->q7 = param_find("EKF_ATT_Q7");
- h->q8 = param_find("EKF_ATT_Q8");
- h->q9 = param_find("EKF_ATT_Q9");
- h->q10 = param_find("EKF_ATT_Q10");
- h->q11 = param_find("EKF_ATT_Q11");
h->r0 = param_find("EKF_ATT_R0");
h->r1 = param_find("EKF_ATT_R1");
h->r2 = param_find("EKF_ATT_R2");
h->r3 = param_find("EKF_ATT_R3");
- h->r4 = param_find("EKF_ATT_R4");
- h->r5 = param_find("EKF_ATT_R5");
- h->r6 = param_find("EKF_ATT_R6");
- h->r7 = param_find("EKF_ATT_R7");
- h->r8 = param_find("EKF_ATT_R8");
h->roll_off = param_find("ATT_ROLL_OFFS");
h->pitch_off = param_find("ATT_PITCH_OFFS");
@@ -117,23 +91,11 @@ int parameters_update(const struct attitude_estimator_ekf_param_handles *h, stru
param_get(h->q2, &(p->q[2]));
param_get(h->q3, &(p->q[3]));
param_get(h->q4, &(p->q[4]));
- param_get(h->q5, &(p->q[5]));
- param_get(h->q6, &(p->q[6]));
- param_get(h->q7, &(p->q[7]));
- param_get(h->q8, &(p->q[8]));
- param_get(h->q9, &(p->q[9]));
- param_get(h->q10, &(p->q[10]));
- param_get(h->q11, &(p->q[11]));
param_get(h->r0, &(p->r[0]));
param_get(h->r1, &(p->r[1]));
param_get(h->r2, &(p->r[2]));
param_get(h->r3, &(p->r[3]));
- param_get(h->r4, &(p->r[4]));
- param_get(h->r5, &(p->r[5]));
- param_get(h->r6, &(p->r[6]));
- param_get(h->r7, &(p->r[7]));
- param_get(h->r8, &(p->r[8]));
param_get(h->roll_off, &(p->roll_off));
param_get(h->pitch_off, &(p->pitch_off));