343 Commits

Author SHA1 Message Date
Paul Riseborough
6ecbefd7e4 EKF: add matlab script to test complementary filter gains 2016-04-30 11:05:03 +10:00
Paul Riseborough
15df20831a EKF: improve output complementary filter tracking
Optimise for height tracking and adjust gains automatically with changes in time delay.
2016-04-30 11:03:45 +10:00
Paul Riseborough
4fa1e9c651 EKF: Fix timing errors in state prediction
IMU corrections were being applied at the wrong time horizon to the EKF states
IMU downsampling rotates the delta velocities into the orientation produced by the last delta angle, but this wasn't consistent with the way the state prediction was using the delta velocity data.
2016-04-30 11:02:19 +10:00
Paul Riseborough
4c9c102597 Merge pull request #115 from PX4/fix_isfinite_again
ekf: another stab at fixing isfinite for all
2016-04-29 09:12:59 +10:00
Julian Oes
f8a48f9cc5 ekf: now it should even compile for NuttX 2016-04-28 16:30:49 +02:00
Julian Oes
12f4d6f703 ekf: another stab at fixing isfinite for all
The previous solution did not work for Snapdragon, so I needed to copy
what is used in px4_defines.h.
2016-04-28 16:09:12 +02:00
Paul Riseborough
22ad87599c Merge pull request #112 from PX4/fix_ubuntu1604_2
ekf: compile fix for Ubuntu 16.04
2016-04-27 21:21:04 +10:00
Julian Oes
46e207106b ekf: use std::isfinite instead of isnan 2016-04-27 12:58:22 +02:00
Lorenz Meier
7b702ee37e Merge pull request #105 from georgehines/matlab-log-import
fix a field name that I missed last time
2016-04-26 10:03:37 +02:00
Lorenz Meier
7c7945961e Merge pull request #107 from dagar/l1_init
L1 initialize everything
2016-04-26 10:01:27 +02:00
Daniel Agar
fe5a337c99 l1 initialize everything 2016-04-25 14:39:11 -04:00
George Hines
9994aa7fdb fix a field name that I missed last time 2016-04-22 17:21:47 -07:00
Paul Riseborough
42635903cd Merge pull request #102 from priseborough/pr-ekf2HeightReset
EKF: Improve height reset behaviour
2016-04-23 10:04:13 +10:00
Paul Riseborough
4fcbfb5d42 EKF: correct error in comment 2016-04-23 07:55:25 +10:00
Paul Riseborough
13814681d7 Merge pull request #104 from georgehines/matlab-log-import
Matlab log import
2016-04-23 07:50:07 +10:00
Paul Riseborough
3e81b86280 EKF: improve height reset logic
Don't use failed sensors unless necessary and handle case where not height sensor is available for reset
2016-04-22 10:50:53 +10:00
Paul Riseborough
874558d194 EKF: improve detection of bad vert accel data
Improve ability to detect if bad vertical accel data has caused loss of height accuracy by using historical data.
2016-04-22 09:24:04 +10:00
Paul Riseborough
469a7d1711 EKF: rework height reset
calculate and save the amount that the vertical states have changed and the time of the change
apply the change delta to the output observer states and buffer
2016-04-22 08:43:56 +10:00
Paul Riseborough
e3365525c2 EKF: rework height reset logic 2016-04-22 08:39:24 +10:00
Paul Riseborough
421703c267 EKF: rework initialisation of height state and offsets 2016-04-22 08:38:41 +10:00
Paul Riseborough
a7417657c3 EKF: ensure fusion timeout counters are reset when required 2016-04-22 08:33:11 +10:00
Paul Riseborough
10bf05e9a6 EKF: publish the vertical position offset 2016-04-22 08:30:46 +10:00
Paul Riseborough
0de15b1b20 EKF: Add variables to monitor vertical position and height offset 2016-04-22 08:28:56 +10:00
Paul Riseborough
62c6d40f1f EKF: Add methods to ring buffer to access specific indices 2016-04-22 08:21:36 +10:00
George Hines
59df1a3552 rename log GUI consistent with its assumptions 2016-04-21 10:58:28 -07:00
George Hines
62bdcf3e9b supports APM dataflash logs 2016-04-21 10:54:37 -07:00
Paul Riseborough
b295f9050c EKF: ensure GPS check status is correctly initialised 2016-04-20 21:53:15 +10:00
Lorenz Meier
9487eac505 Merge pull request #98 from priseborough/pr-ekf2StatusReporting
EKF: improve reporting of filter status
2016-04-20 11:44:02 +02:00
Roman Bapst
6344fa0e8c limit maximum rates of all measurement at which they are stored into the buffers 2016-04-19 12:47:57 +02:00
Roman Bapst
00c8821006 disable airspeed fusion for now. Needs more testing and implementation of side slip fusion 2016-04-19 11:18:45 +02:00
Paul Riseborough
2fa8a11a29 EKF: replace unnecessary memcopy 2016-04-19 19:10:41 +10:00
Roman Bapst
99fc61c27c ekf2 airspeed fusion:
- finished logic for fusion
- fixed bug where previous control status was set in the wrong location
2016-04-19 09:53:31 +02:00
Paul Riseborough
82920da232 EKF: strengthen checking of local position status
provides immediate status reporting when dropping out of optical flow mode
2016-04-19 17:38:22 +10:00
Paul Riseborough
31bf342fc1 EKF: publish GPS check status 2016-04-19 17:38:22 +10:00
Paul Riseborough
6fa13c7806 EKF: publish control mode status 2016-04-19 17:37:27 +10:00
Roman Bapst
60abf07bee added function to return accelerometer bias 2016-04-18 17:52:16 +02:00
Roman Bapst
f32303de69 added function to return accelerometer bias 2016-04-18 17:00:17 +02:00
Lorenz Meier
3455931617 EKF init: Fix initialization statement 2016-04-17 19:29:23 +02:00
Lorenz Meier
e1ce948768 Merge pull request #97 from dagar/cmake_update
cmake STACK -> STACK_MAIN
2016-04-17 15:58:52 +02:00
Daniel Agar
861c13f1fe cmake STACK -> STACK_MAIN 2016-04-16 21:46:50 -04:00
Paul Riseborough
55db3d8725 Merge pull request #94 from priseborough/pr-sensorPosComp
Add compensation for EKF sensor position offsets
2016-04-14 11:45:24 +10:00
Paul Riseborough
ea38aa130f EKF: update default time delay parameter values 2016-04-14 08:53:59 +10:00
Paul Riseborough
8c55e36ca9 EKF: use common value for gravity 2016-04-12 11:14:31 +10:00
Paul Riseborough
163c08a3ac EKF: Improve output observer documentation 2016-04-12 11:14:31 +10:00
Paul Riseborough
2dcc6e2053 EKF: Improve accuracy of state prediction
Use an a common estimator value for gravity
Use average orientation across update interval when rotating delta velocities
2016-04-12 11:14:31 +10:00
Paul Riseborough
5bf02517a7 EKF: Rationalise use of rotation matrices and improve efficiency 2016-04-12 11:14:31 +10:00
Paul Riseborough
e10093854a EKF: correct outputs for IMU offset 2016-04-12 11:14:31 +10:00
Paul Riseborough
b46053415f EKF: Compensate optical flow data for sensor position offset 2016-04-12 11:14:31 +10:00
Paul Riseborough
48b105b748 EKF: correct range finder data for sensor position offset 2016-04-12 11:14:31 +10:00
Paul Riseborough
e89dbb9f63 EKF: correct GPS data for antenna position offset 2016-04-12 11:14:31 +10:00