aboutsummaryrefslogtreecommitdiff
path: root/apps/position_estimator_inav/position_estimator_inav_params.c
diff options
context:
space:
mode:
authorAnton Babushkin <rk3dov@gmail.com>2013-05-02 19:02:32 +0400
committerAnton Babushkin <rk3dov@gmail.com>2013-05-02 19:02:32 +0400
commit861a21ef7559386d8301c6b8860a13ac2fc0ef64 (patch)
tree18e15a70acdc8ad819b6faa6f1e300339ec7d78e /apps/position_estimator_inav/position_estimator_inav_params.c
parent2b7e79cd21c30d373ee67d2f6470ae224135ae7f (diff)
downloadpx4-firmware-861a21ef7559386d8301c6b8860a13ac2fc0ef64.tar.gz
px4-firmware-861a21ef7559386d8301c6b8860a13ac2fc0ef64.tar.bz2
px4-firmware-861a21ef7559386d8301c6b8860a13ac2fc0ef64.zip
Position estimation using accel+GPS implemented
Diffstat (limited to 'apps/position_estimator_inav/position_estimator_inav_params.c')
-rw-r--r--apps/position_estimator_inav/position_estimator_inav_params.c35
1 files changed, 27 insertions, 8 deletions
diff --git a/apps/position_estimator_inav/position_estimator_inav_params.c b/apps/position_estimator_inav/position_estimator_inav_params.c
index bb2b01481..8466bcd0a 100644
--- a/apps/position_estimator_inav/position_estimator_inav_params.c
+++ b/apps/position_estimator_inav/position_estimator_inav_params.c
@@ -40,8 +40,6 @@
#include "position_estimator_inav_params.h"
-/* Kalman Filter covariances */
-/* gps measurement noise standard deviation */
PARAM_DEFINE_INT32(INAV_USE_GPS, 0);
PARAM_DEFINE_FLOAT(INAV_K_ALT_00, 0.0f);
@@ -51,6 +49,13 @@ PARAM_DEFINE_FLOAT(INAV_K_ALT_11, 0.0f);
PARAM_DEFINE_FLOAT(INAV_K_ALT_20, 0.0f);
PARAM_DEFINE_FLOAT(INAV_K_ALT_21, 0.0f);
+PARAM_DEFINE_FLOAT(INAV_K_POS_00, 0.0f);
+PARAM_DEFINE_FLOAT(INAV_K_POS_01, 0.0f);
+PARAM_DEFINE_FLOAT(INAV_K_POS_10, 0.0f);
+PARAM_DEFINE_FLOAT(INAV_K_POS_11, 0.0f);
+PARAM_DEFINE_FLOAT(INAV_K_POS_20, 0.0f);
+PARAM_DEFINE_FLOAT(INAV_K_POS_21, 0.0f);
+
int parameters_init(struct position_estimator_inav_param_handles *h) {
h->use_gps = param_find("INAV_USE_GPS");
@@ -61,18 +66,32 @@ int parameters_init(struct position_estimator_inav_param_handles *h) {
h->k_alt_20 = param_find("INAV_K_ALT_20");
h->k_alt_21 = param_find("INAV_K_ALT_21");
+ h->k_pos_00 = param_find("INAV_K_POS_00");
+ h->k_pos_01 = param_find("INAV_K_POS_01");
+ h->k_pos_10 = param_find("INAV_K_POS_10");
+ h->k_pos_11 = param_find("INAV_K_POS_11");
+ h->k_pos_20 = param_find("INAV_K_POS_20");
+ h->k_pos_21 = param_find("INAV_K_POS_21");
+
return OK;
}
int parameters_update(const struct position_estimator_inav_param_handles *h, struct position_estimator_inav_params *p) {
param_get(h->use_gps, &(p->use_gps));
- param_get(h->k_alt_00, &(p->k[0][0]));
- param_get(h->k_alt_01, &(p->k[0][1]));
- param_get(h->k_alt_10, &(p->k[1][0]));
- param_get(h->k_alt_11, &(p->k[1][1]));
- param_get(h->k_alt_20, &(p->k[2][0]));
- param_get(h->k_alt_21, &(p->k[2][1]));
+ param_get(h->k_alt_00, &(p->k_alt[0][0]));
+ param_get(h->k_alt_01, &(p->k_alt[0][1]));
+ param_get(h->k_alt_10, &(p->k_alt[1][0]));
+ param_get(h->k_alt_11, &(p->k_alt[1][1]));
+ param_get(h->k_alt_20, &(p->k_alt[2][0]));
+ param_get(h->k_alt_21, &(p->k_alt[2][1]));
+
+ param_get(h->k_pos_00, &(p->k_pos[0][0]));
+ param_get(h->k_pos_01, &(p->k_pos[0][1]));
+ param_get(h->k_pos_10, &(p->k_pos[1][0]));
+ param_get(h->k_pos_11, &(p->k_pos[1][1]));
+ param_get(h->k_pos_20, &(p->k_pos[2][0]));
+ param_get(h->k_pos_21, &(p->k_pos[2][1]));
return OK;
}