diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2013-03-23 22:39:54 +0100 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2013-03-23 22:39:54 +0100 |
commit | 482cada59ba87bc1ac538f7f165a57880e7fbeda (patch) | |
tree | cbc8939fb22e9aae5a0e7b0b39f52fad71285f5c /apps/position_estimator_mc/kalman_dlqe3.m | |
parent | 0dc96dbd891cf108a4ecc01539f5f710c6dd92e9 (diff) | |
download | px4-firmware-482cada59ba87bc1ac538f7f165a57880e7fbeda.tar.gz px4-firmware-482cada59ba87bc1ac538f7f165a57880e7fbeda.tar.bz2 px4-firmware-482cada59ba87bc1ac538f7f165a57880e7fbeda.zip |
Butchered position estimator from Damian Aregger into shape, publishes now global position estimate as well. Compiling, needs HIL testing
Diffstat (limited to 'apps/position_estimator_mc/kalman_dlqe3.m')
-rwxr-xr-x | apps/position_estimator_mc/kalman_dlqe3.m | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/apps/position_estimator_mc/kalman_dlqe3.m b/apps/position_estimator_mc/kalman_dlqe3.m new file mode 100755 index 000000000..4c6421b7f --- /dev/null +++ b/apps/position_estimator_mc/kalman_dlqe3.m @@ -0,0 +1,17 @@ +function [x_aposteriori] = kalman_dlqe3(dt,k1,k2,k3,x_aposteriori_k,z,posUpdate,addNoise,sigma)
+ st = 1/2*dt^2;
+ A = [1,dt,st;
+ 0,1,dt;
+ 0,0,1];
+ C=[1,0,0];
+ K = [k1;k2;k3];
+ if addNoise==1
+ noise = sigma*randn(1,1);
+ z = z + noise;
+ end
+ if(posUpdate)
+ x_aposteriori=A*x_aposteriori_k+K*(z-C*A*x_aposteriori_k);
+ else
+ x_aposteriori=A*x_aposteriori_k;
+ end
+end
\ No newline at end of file |