199 Commits

Author SHA1 Message Date
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
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
b3ceb37272 ekf2: Add parameter to set range dependant noise 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
Paul Riseborough
4b7ae78fda ekf2: publish vertical position derivative 2017-06-19 09:09:52 +02: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