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
Paul Riseborough
46ece548cd
ekf2: Changes following code review
2017-05-03 08:37:14 +02:00
Paul Riseborough
6474922224
ekf2: Save learned magnetometer biases
2017-05-03 08:37:14 +02:00
priseborough
1f5908786e
ekf2: don't publish estimator status and innovations unless updated
2017-05-03 08:37:14 +02:00
priseborough
fb6e050b06
ekf2: Improve error reporting
...
Add missing velocity accuracy reporting
Add missing dead reckoning reporting
2017-05-03 08:37:14 +02:00
Paul Riseborough
9983bf2364
ekf2: fix errors in publishing of local position origin validity flags
2017-05-01 17:23:11 +02:00
ChristophTobler
6c15666368
ekf2: accept min/max range
2017-04-27 21:15:47 +02:00
Paul Riseborough
ed9a9b772e
ekf2: minimum change required to use updated ecl library
2017-04-21 08:34:19 +02:00
Beat Küng
eaa9e6a019
ekf2: set att.timestamp to now in replay mode before ekf is initialized
...
logger will always log this topic, and a 0 timestamp will look worse in
FlightPlot. This will show a period of 0 attitude instead before ekf
is initialized.
2017-03-04 22:47:54 +08:00
Beat Küng
aabdc4125b
ekf2: publish ekf2_timestamps topic
2017-03-04 22:47:54 +08:00
Beat Küng
2220c3a60d
ekf2: use sensors timestamp for published topics when in replay mode
...
when doing fast replay, hrt_absolute_time() will not match the replayed time
thus we just use the same timestamp as the input sensors.
2017-03-04 22:47:54 +08:00
Beat Küng
018846fadf
ekf2_replay.msg: use timestamp instead of time_ref, remove unused time_usec_vel
2017-03-04 22:47:54 +08:00
Daniel Agar
ecb2511a7b
add matrix copyTo
2017-02-25 11:04:02 +01:00
Roman
4bffb1478f
ekf2: added parameter for range sensor pitch offset
...
Signed-off-by: Roman <bapstroman@gmail.com >
2017-02-22 22:21:41 +01:00
Kabir Mohammed
7236bafee1
ekf2 : move to new vision topic
2017-02-15 21:48:33 +01:00
Daniel Agar
e927f3e040
clang-tidy modernize-use-nullptr
2017-02-01 22:15:50 -05:00
Paul Riseborough
27e6f07485
ekf2: publish control state gyro bias data
2017-01-19 19:24:52 +01:00
Lorenz Meier
50002a0ff6
Update EEKF2 to match ecl updates
2017-01-15 01:57:38 -08:00
Lorenz Meier
b7f5a33c90
EKF2: Code style and efficiency
...
Its sufficient to use sqrtf() with floating point resolution and its better to use the Matrix library call for local and global position yaw
2016-12-25 18:15:51 +01:00
Matthias Grob
537f72073d
minor: uppercase typo and unused header
2016-12-20 09:46:36 +01:00
Roman
1e1bf7e4bb
ekf2 reset: fix sign of delta altitude for global position topic
...
Signed-off-by: Roman <bapstroman@gmail.com >
2016-11-21 07:29:21 +01:00
Roman
d4c87d62f1
fixed code style
...
Signed-off-by: Roman <bapstroman@gmail.com >
2016-11-21 07:29:21 +01:00
tumbili
0e481a5d00
ekf2: publish state reset information
2016-11-21 07:29:21 +01:00
Paul Riseborough
9ff1feb92f
ekf2: fix formatting
2016-11-15 23:58:05 +01:00
Paul Riseborough
056ac3c9c6
EKF: Update default value for sideslip fusion noise
...
Use value obtained from tuning on replay logs
2016-11-15 23:58:05 +01:00
Paul Riseborough
680a8f0b44
ekf2: fix rebase compile errors
2016-11-15 23:58:05 +01:00
CarlOlsson
72ad6627e1
updated beta noise
...
Conflicts:
src/modules/ekf2/ekf2_params.c
2016-11-15 23:58:05 +01:00
CarlOlsson
e4f5710ec3
added logic for beta fusion
2016-11-15 23:58:05 +01:00
CarlOlsson
f00f6e6eff
added parameter for when to fuse sideslip
2016-11-15 23:58:05 +01:00
CarlOlsson
d550290e63
modified ekf2_main.cpp
2016-11-15 23:58:05 +01:00
Paul Riseborough
246dc5421b
ekf2: remove unnecessary variables found during review
2016-11-08 11:17:07 +01:00
Paul Riseborough
0ee75dbc6b
ekf2: Allow adjustment of min arrival time delta parameter
2016-11-08 11:17:07 +01:00
Paul Riseborough
5ac73f3440
ekf2: code style fixes
2016-11-08 11:17:07 +01:00
Paul Riseborough
699edd2535
ekf2: Prevent loss of baro data due to buffer time arrival checks
...
Baro data arriving too soon after the last measurement due to a high sampling rate or timing jitter is rejected inside the ecl EKF to prevent the data buffer overflowing.
This patch checks the timestamp difference from the last measurement, and if to small, the data is accumulated and the average sent to the EKF when the time delta
is acceptable.
2016-11-08 11:17:07 +01:00
Paul Riseborough
ef7ed97cbd
ekf2: Don't send un-usable mag and baro data to the EKF
...
Fixes:
1) Invalid data with a zero time stamp could be the EKF ends up in the data buffers and result in loss of 'good' data from the buffers
2) Magnetometer data was arriving at a rate faster than the data buffers could handle resulting in loss of data.
2016-11-08 11:17:07 +01:00
Beat Küng
d1a3261e81
ekf2_main: reduce stack (according to the reductions in the commit before)
2016-11-06 14:48:20 +01:00
Beat Küng
5bcfa3c7e6
ekf2_main: add {} to limit variable scope and save stack
...
Reformatting makes it look worse than it is, but it really only adds {}
2016-11-06 14:48:20 +01:00