239 Commits

Author SHA1 Message Date
Paul Riseborough
3fc7aba178 TECS: Use version in ECL library
This change updates a number of interfaces to use the new TECS implementation from the ECL library.
2017-10-22 21:56:06 +02:00
ChristophTobler
d7c8d53489 use get() for BlockParam 2017-10-18 11:08:58 +02:00
ChristophTobler
40b8d8bd48 use distance to ground if on ground an distance is out of range 2017-10-18 11:08:58 +02:00
Paul Riseborough
ed950d70ce ekf2: Add missing documentation 2017-10-09 08:58:01 +02:00
Paul Riseborough
dbc3a13236 ekf2: remove unused parameter
The logging of replay data is now controlled by the logging module
2017-10-09 08:58:01 +02:00
Paul Riseborough
6cfee65060 ekf2: Add parameters to tune accelerometer bias learning
These parameters enable the accel bias limiting and learning inhibit logic in the ecl EKF to be easily tuned during testing and replay.
2017-10-09 08:58:01 +02:00
Paul Riseborough
66277d0c02 ekf2: Added @reboot_required to parameters 2017-10-09 08:58:01 +02:00
ChristophTobler
ec61ae0003 ekf2: add some comments 2017-10-04 13:11:11 +02:00
Lorenz Meier
f9c9890a49 EKF2: Add minimal stack for M7 targets 2017-09-29 10:13:51 -04:00
ChristophTobler
ee82e80517 ekf2: subscribe to multi dist instances and check orientation 2017-09-25 08:52:21 +02:00
Daniel Agar
b4755297ec delete control_state and cleanup vehicle_attitude (#7882) 2017-09-21 16:24:53 -04:00
Matthias Grob
5bea264a5f Matrix Quaternions: Apply simpler call for constructor and copying to all remaining modules 2017-09-21 17:44:57 +02:00
Daniel Agar
3498fe0c6f delete sdlog2 EKF2 replay (#7982) 2017-09-19 10:20:41 -04:00
Daniel Agar
545ce9ae24 modules remove extra semicolons 2017-09-16 21:29:52 +01:00
Daniel Agar
9b5fe8c476 ignore -Wsign-compare per module 2017-09-07 10:27:36 +02:00
Daniel Agar
dc18112697 EKF2 limit map reprojection (#7900) 2017-09-05 12:56:53 -04:00
Daniel Agar
b70b8288b9 px4_includes cleanup incomplete list 2017-08-20 20:42:42 +02:00
Lorenz Meier
cae4694d6a EKF: Use estimator scheduling order 2017-08-02 21:18:35 +02:00
Paul Riseborough
08059caf89 EKF: Enable compensation for static pressure positional error (#7264)
* msg: add reporting of multi rotor drag fusion

* ekf2: add reporting of multi rotor drag fusion

* ekf2: Add parameters required to tune multi-rotor wind estimation

* ekf2: Add correction for static pressure position error

* ekf2: Use correct air density for position error corrections

* ekf2: fix parameter documentation error

* ekf2: Add separate forward and reverse position error correction factors

* ekf2: Fix formatting and parameter descriptions

* ekf2: Improve comments
2017-08-01 07:29:08 +10:00
ChristophTobler
02ea10ed99 range finder: reject if min/max value 2017-07-31 17:33:02 +02:00
Daniel Agar
cf87096b05 EKF2 don't poll parameter_update 2017-07-29 09:15:52 +02:00
Paul Riseborough
5324f30cb6 ekf2: Let the EKF know if the vehicle is operating as a fixed wing type. (#7667)
Setting this enables the EKF to use the GPS velocity to recover from bad compass yaw at launch.
2017-07-29 07:18:58 +10:00
ChristophTobler
bc951f6f15 add constraint to ground distance to avoid values below rng_gnd_clearance (#7662) 2017-07-22 07:49:00 +10:00
Paul Riseborough
f93be992ce ekf2: Update documentation for compatibility with Doxygen (#7657) 2017-07-20 22:05:29 +10:00
ChristophTobler
03e11c4d18 update ecl and add param for innovation consistency checks for range aid fusion (#7585) 2017-07-19 18:25:12 +10:00
Beat Küng
d419537a72 ekf2_main: initialize _mag_time_sum_ms & _balt_time_sum_ms 2017-07-18 12:54:28 +02:00
Carl Olsson
d92377a6e6 ekf2: remove unused function (#7529)
* ekf2: remove unused function

Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>

* ekf2: removed unused variable _mag_decl_saved

Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2017-07-17 17:24:23 +10:00
Nicolae Rosia
0a22a9c47c change gyro & accel dt from float to uint64. This has the benefit of
calculating the estimator timeslip correctly.

Signed-off-by: Nicolae Rosia <nicolae.rosia@gmail.com>
2017-07-16 14:08:37 +02:00
Beat Küng
a63699060d ekf2: use ModuleBase & add module documentation 2017-07-14 11:57:11 +02:00
Lorenz Meier
3bdd0e95dd EKF2: Show time slip on console 2017-07-09 21:58:41 +02:00
Lorenz Meier
91144f502f EKF2 build fix 2017-07-07 08:29:10 +02:00
Paul Riseborough
63cbce6bd3 ekf2: Increase RAM to remove stack space warnings 2017-07-06 22:20:48 +02:00
Paul Riseborough
ee75f0eb0e ekf2: Use updated quaternion type def 2017-07-06 22:20:48 +02:00
Paul Riseborough
d68dd6ae1e ekf2: Fix parameter description typo 2017-06-21 09:28:42 +02:00
Paul Riseborough
b3ceb37272 ekf2: Add parameter to set range dependant noise 2017-06-21 09:28:42 +02:00
ChristophTobler
929ecd0e94 change to uint32 to match updated type from ecl 2017-06-21 09:28:42 +02:00
Roman
33495e8143 ekf2: added parameters to specify horizontal speed and absolute altitude
thresholds for range aid mode

Signed-off-by: Roman <bapstroman@gmail.com>
2017-06-21 09:28:42 +02:00
Roman
b5a94481a8 ekf2_main: support range aid feature
Signed-off-by: Roman <bapstroman@gmail.com>
2017-06-21 09:28:42 +02:00
Roman
68c2eb9dec ekf2_params: added range aid parameter
Signed-off-by: Roman <bapstroman@gmail.com>
2017-06-21 09:28:42 +02:00
Paul Riseborough
4b7ae78fda ekf2: publish vertical position derivative 2017-06-19 09:09:52 +02:00
Daniel Agar
833cdc9236 EKF2 update GPS and airspeed delay defaults (#7353)
* update ecl to latest

* EKF2_GPS_DELAY change default 200ms -> 110ms

 - 110msec is more representative of what most users are flying

* EKF2_ASP_DELAY change default 200ms -> 100ms

The EKF is relatively insensitive to airspeed sensor delays and the effective delay is installation specific, so it has been set to a value that does not cause the data buffers to be longer than is required to accomodate GPS delays.
2017-06-05 10:31:46 +10:00
Daniel Agar
1671c32238 BlockParamExt replace with BlockParam reference types 2017-06-04 18:22:42 +08:00
Daniel Agar
b03818cd0e controllib move old blocks to segway 2017-06-04 18:22:42 +08:00
Daniel Agar
5d626bd940 clang-tidy remove redundant init 2017-06-02 19:35:18 -04:00
Paul Riseborough
ec3fe09602 ekf2: format fix 2017-05-20 10:24:08 +02:00
Paul Riseborough
889fb30029 ekf2: Improve control of magnetometer bias learning
Adds parameters so that the motion checks used to switch between magnetic yaw and 3-axis fusion can be adjusted.
Modifies the check used to determine if learned mag biases  can be saved. A cumulated calibration time is used rather than continuous calibration time to allow for for switching in and out of 3-axis fusion mode that is required to do calibration.
2017-05-20 10:24:08 +02:00
Paul Riseborough
aa69ae0ee6 ekf2: Add preflight checking of velocity and height innovations
Filters the vertical position and 3-axis velocity innovations and sets the local and global position as invalid if they exceed limits during ARMING_STATE_STANDBY.
2017-05-20 10:24:08 +02:00
Paul Riseborough
2d34a3e096 ekf2: monitor estimator time slip
Used to check if the ekf2 module is failing to keep up with the IMU data
2017-05-20 10:24:08 +02:00
Paul Riseborough
5bfe6d7fec ekf2: Fix failure to save mag declination 2017-05-03 08:37:14 +02:00
Paul Riseborough
b64e40b5da ekf2: format fixes 2017-05-03 08:37:14 +02:00