Paul Riseborough
62eff63267
AP_NavEKF : Increase the tuning range for magnetometer measurement noise
2014-02-27 17:20:38 +11:00
Andrew Tridgell
a9e683dada
AP_NavEKF: use the accelerometer chosen by DCM for each step
2014-02-27 09:41:48 +11:00
Paul Riseborough
78a1cac560
AP_NavEKF : Improved heading and magnetic field state initialisation
2014-02-27 08:12:10 +11:00
Paul Riseborough
d83b382e59
AP_NavEKF : Fix variance constraint bug
...
Constraining variances to a minimum value of 1e-9 was causing problems
with gyro bias and angular accuracy in noisy GPS environments.
Because the constraint is applied after every covariance prediction
and correction, a lower value of 0 is more appropriate.
2014-02-27 08:12:03 +11:00
Andrew Tridgell
8b59e564ba
AP_NavEKF: improved replay timing
2014-02-27 08:11:04 +11:00
Andrew Tridgell
66f238c0da
AP_NavEKF: support 400Hz replay from 50Hz logs
2014-02-26 19:34:01 +11:00
Andrew Tridgell
63874dfffd
AP_NavEKF: set fix type in GPS replay
2014-02-25 21:10:49 +11:00
Andrew Tridgell
09cce5d24e
AP_NavEKF: fixed replay with current copter logs
2014-02-25 20:56:53 +11:00
Paul Riseborough
72a91ccbca
AP_NavEKF : Prevents aliasing triggering innovation consistency check failures
2014-02-25 15:55:44 +11:00
Paul Riseborough
5db9a87d31
AP_NavEKF : fixed bug in velocity rate of change filter
...
This bug meant the velocity rate of change used to scale the GPS measurement variances was noisy and too small
2014-02-23 19:50:37 +11:00
Paul Riseborough
01c84c3f47
AP_NavEKF : fixed bug in height limit range
2014-02-23 19:50:36 +11:00
Paul Riseborough
36d619ec3a
AP_NavEKF : Changed default IMU bias process noise to use smallest value
2014-02-23 19:50:36 +11:00
Paul Riseborough
89e0b48320
AP_NavEKF : Bug fix for height drift due to timer wrap-around
2014-02-23 19:50:35 +11:00
Paul Riseborough
939a32a7bb
AP_NavEKF : Improved stability of Z accel bias
2014-02-23 19:50:34 +11:00
Andrew Tridgell
ffbd655ba0
AP_NavEKF: support dual sensors in log replay, and fix flight altitude
2014-02-23 08:17:55 +11:00
Andrew Tridgell
707cc2b532
AP_NavEKF: allow log filename to be specified in replay
2014-02-23 08:17:01 +11:00
Andrew Tridgell
4e56196655
AP_NavEKF: allow states to be accessed using names as well as a Vector22
2014-02-21 20:24:47 +11:00
Andrew Tridgell
20b0444c15
AP_NavEKF: remove sleep on init of EKF
...
this prevents HIL from locking up, and also prevents a possible 1s
delay in flight on EKF init
2014-02-19 22:04:12 +11:00
Andrew Tridgell
c9d0c1face
AP_NavEKF: use ahrs->get_armed() for static mode demanded
2014-02-19 10:52:57 +11:00
Andrew Tridgell
536160a3fb
AP_NavEKF: use AHRS get_correct_centrifugal()
2014-02-19 10:28:45 +11:00
Andrew Tridgell
869e41fd03
AP_NavEKF: fixed detection of airspeed sensor
...
the get_airspeed() AHRS call can change as the user enables/disables
the airspeed sensor, plus it only gets enabled after the NavEKF
constructor runs.
2014-02-19 09:22:45 +11:00
Paul Riseborough
1ade39977a
AP_NavEKF : covariance prediction cleanup
2014-02-19 09:22:45 +11:00
Paul Riseborough
8daca145d0
AP_NavEKF : useAirspeed set automatically
2014-02-19 09:22:45 +11:00
Paul Riseborough
6fbada26d3
AP_NavEKF : Improvements to staticMode robustness
2014-02-19 09:22:45 +11:00
Andrew Tridgell
5bf170c440
AP_NavEKF: fixed log replay code
...
also added BARO and ARSP messages
2014-02-18 09:25:07 +11:00
Paul Riseborough
7a82746fcc
AP_NavEKF : fixed bug in pos and vel reset when in static mode
2014-02-16 22:35:19 +11:00
Paul Riseborough
275ef86f86
AP_NavEKF : Position and Velocity reset bugfix
2014-02-16 21:05:37 +11:00
Paul Riseborough
b22dc706b2
AP_NavEKF : staticMode bugfix and robustness improvements
2014-02-16 21:04:55 +11:00
Paul Riseborough
2926602718
AP_NavEKF : Cleaned up InitialiseFilterDynamic
2014-02-16 21:04:51 +11:00
Paul Riseborough
404fbafe26
AP_NavEKF : Changed timout behaviour to only reset PosVel states
2014-02-16 21:04:46 +11:00
Andrew Tridgell
24e1070eb2
AP_NavEKF: initialise quaternion from rotation matrix
2014-02-15 12:21:11 +11:00
Andrew Tridgell
c6b24c521b
AP_NavEKF: force healthy false when initialising
...
this prevents us feeding off our own values when booting
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-02-15 09:25:40 +11:00
Andrew Tridgell
8201f9c928
AP_NavEKF: don't build example
2014-02-15 06:40:06 +11:00
Andrew Tridgell
a7a44a9a5c
AP_NavEKF: fixed init order warning
2014-02-15 05:48:24 +11:00
Paul Riseborough
b56c8211c9
AP_NavEKF: Reduced number of Mavlink tuneable parameters
2014-02-15 05:48:23 +11:00
Paul Riseborough
c20fac1269
AP_NavEKF: Updated comments for private functions
2014-02-15 05:48:23 +11:00
Paul Riseborough
deb64c4cbd
AP_NavEKF: Pos Vel reset after long GPS timeout
2014-02-15 05:48:23 +11:00
Paul Riseborough
7ac0172db1
AP_NavEKF: removed repeated intialisation
2014-02-15 05:48:23 +11:00
Paul Riseborough
28fb5e364b
AP_NavEKF: Fixed bug in pos/vel/hgt reset on timout
2014-02-15 05:48:23 +11:00
Paul Riseborough
f74cce8b4e
AP_NavEKF : Removed double to float conversions
2014-02-15 05:48:23 +11:00
Paul Riseborough
80f6dba694
AP_NavEKF: Improved control of fusion update intervals
2014-02-15 05:48:23 +11:00
Paul Riseborough
13b9daeff5
AP_NavEKF: Added constraints to Mavlink tuneable parameters
2014-02-15 05:48:23 +11:00
Paul Riseborough
b123e1bb16
AP_NavEKF: Improved in-air reset behaviour
2014-02-15 05:48:22 +11:00
Paul Riseborough
1651980b9f
AP_NavEKF: Improved behaviour following loss and regaining of GPS
2014-02-15 05:48:22 +11:00
Paul Riseborough
14eb63e7c9
AP_NavEKF: Made most tuning parameters Mavlink adustable
2014-02-15 05:48:22 +11:00
Andrew Tridgell
f800f5592d
AP_NavEKF: fixup parameter handling
2014-02-15 05:48:22 +11:00
Paul Riseborough
f0f76920fa
AP_NavEKF : Mavlink tunable parameter - first attempt
2014-02-15 05:48:22 +11:00
Paul Riseborough
128f71157d
AP_NavEKF: Fixed bug in pre GPS fix updates
2014-02-15 05:48:22 +11:00
Paul Riseborough
357743ee2d
AP_NavEKF: Adjusted tuning parameters for plane use
2014-02-15 05:48:22 +11:00
Paul Riseborough
b4171853b1
AP_NavEKF: allow initialisation before GPS lock to aid indoor testing
2014-02-15 05:48:21 +11:00
Paul Riseborough
7fb60812c2
AP_NavEKF: Added pitch and roll inertial sensor to body trim adjustment
2014-02-15 05:48:21 +11:00
Paul Riseborough
9d375da550
AP_NavEKF: changed sqrt to sqrtf
2014-02-15 05:48:21 +11:00
Paul Riseborough
1f0b4b02d0
AP_NavEKF: fixed merge error that inverted static mode
2014-02-15 05:48:21 +11:00
Paul Riseborough
401e3aee43
AP_NavEKF : Changes to test harness to support accel bias states
2014-02-15 05:48:21 +11:00
Paul Riseborough
5219869389
AP_NavEKF : Added Z accel bias state and bootstrap initialisation method
2014-02-15 05:48:21 +11:00
Randy Mackay
301a04b74a
AP_NavEKF: update params for copter
2014-02-15 05:48:21 +11:00
Randy Mackay
7c73020015
AP_NavEKF: make params public so they can be tuned
2014-02-15 05:48:20 +11:00
Paul Riseborough
5c3dea28dc
AP_NavEKF : Enable staticMode to be set externally
2014-02-15 05:48:20 +11:00
Andrew Tridgell
77c4968342
AP_NavEKF: enable plotting in plot2.dat too
2014-02-15 05:48:20 +11:00
Andrew Tridgell
ab2a5a0672
AP_NavEKF: enable some debug
2014-02-15 05:48:20 +11:00
Paul Riseborough
0d4d287215
AP_NavEKF: comment and parameter tweaks for ground testing
2014-02-15 05:48:20 +11:00
Paul Riseborough
b6b0c2a489
AP_NavEKF: fixed bug in flag reset for hgt fusion
2014-02-15 05:48:19 +11:00
Paul Riseborough
2f3b2a7111
AP_NavEKF: second attempt at higher rate baro fusion
2014-02-15 05:48:19 +11:00
Paul Riseborough
cdbc5a3f35
AP_NavEKF: added position observations to static mode
2014-02-15 05:48:19 +11:00
Paul Riseborough
da2c341914
Revert "AP_NavEKF: Modifed Vel Pos fusion to fuse height data whenever baro reading has changed"
...
This reverts commit d1e1be192a0e7ab0771edc9f2c03547da25697cf.
2014-02-15 05:48:19 +11:00
Paul Riseborough
32cc427ff4
AP_NavEKF: Modifed Vel Pos fusion to fuse height data whenever baro reading has changed
2014-02-15 05:48:19 +11:00
Paul Riseborough
2998aa1a6a
AP_NavEKF: Amended tuning parameter list, and changed from variance to noise definitions
2014-02-15 05:48:19 +11:00
Paul Riseborough
f9aae1b90b
AP_NavEKF: fixed bug in variance constraint code
2014-02-15 05:48:19 +11:00
Paul Riseborough
735c9684da
AP_NavEKF: removed error in constructor comments
2014-02-15 05:48:19 +11:00
Paul Riseborough
8f999fe787
AP_NavEKF: Misc tuning adjustments for Plane testing
2014-02-15 05:48:19 +11:00
Paul Riseborough
c87a5aaf34
AP_NavEKF: added PositionReset public function to fix pre-arm loss of solution
2014-02-15 05:48:19 +11:00
Paul Riseborough
fec4fd463c
AP_NavEKF: reduced On Ground yaw gyro bias drift variance scaler
2014-02-15 05:48:19 +11:00
Paul Riseborough
619fffec3e
AP_NavEKF: added static mode for pre-arm and bench testing
2014-02-15 05:48:18 +11:00
Paul Riseborough
d0831c708d
AP_NavEKF : Added position and height reset public method
2014-02-15 05:48:18 +11:00
Andrew Tridgell
1b1f9e41ab
AP_NavEKF: improved playback initialisation
2014-02-15 05:48:18 +11:00
Andrew Tridgell
d9ef45234b
AP_NavEKF: useful plotting function
2014-02-15 05:48:18 +11:00
Andrew Tridgell
0816642436
AP_NavEKF: handle intertial nav
2014-02-15 05:48:18 +11:00
Andrew Tridgell
77c6e3206a
AP_NavEKF: some debug code
2014-02-15 05:48:18 +11:00
Andrew Tridgell
c33da7b3a2
AP_NavEKF: fixed log playback for copter
2014-02-15 05:48:18 +11:00
Andrew Tridgell
9b53db66cb
AP_NavEKF: tweak parameters based on randys copter log
2014-02-15 05:48:18 +11:00
Andrew Tridgell
4c42f53636
AP_NavEKF: use INS delta_time
2014-02-15 05:48:17 +11:00
Andrew Tridgell
5193ce90dc
AP_NavEKF: copter specific dtIMUAvg
2014-02-15 05:48:17 +11:00
Paul Riseborough
8b1d056e07
AP_NavEKF: updated timeout for GPS retry and reduced onGround gyro bias noise multiplier
2014-02-15 05:48:16 +11:00
Paul Riseborough
7e026d41df
AP_NavEKF: explicitly zeroed covariance matrix priro to setting initial values
2014-02-15 05:48:16 +11:00
Paul Riseborough
6e6e3d923e
AP_NavEKF: improved covariance matrix numerical stability protection
2014-02-15 05:48:16 +11:00
Andrew Tridgell
66dbaa6657
AP_NavEKF: make health() API const
2014-02-15 05:48:16 +11:00
Andrew Tridgell
c493d980d8
AP_NavEKF: fixed check for airspeed sensor available
2014-02-15 05:48:15 +11:00
Andrew Tridgell
2dbfed19b8
AP_NavEKF: fixed airspeed estimate check
2014-02-15 05:48:15 +11:00
Paul Riseborough
e69eea3086
AP_NavEKF: Bug fix in covariance error correction
2014-02-15 05:48:15 +11:00
Paul Riseborough
43dc9bc055
AP_NavEKF: Added improved covariance matrix error fix
2014-02-15 05:48:15 +11:00
Paul Riseborough
4a56ea84b5
AP_NavEKF: Removed accel bias states
2014-02-15 05:48:15 +11:00
Andrew Tridgell
093481786e
AP_NavEKF: added SIM state to playback tool
2014-02-15 05:48:15 +11:00
Andrew Tridgell
5578552574
AP_NavEKF: fixed example for new API
2014-02-15 05:29:48 +11:00
Andrew Tridgell
2acf1e7ce5
AP_NavEKF: allow filter to run as single or double precision
...
useful for checking if there are numerical precision issues
2014-02-15 05:29:48 +11:00
Paul Riseborough
efd444b02e
AP_NavEKF: covariance protection (not enabled) and tuning changes for stability
2014-02-15 05:29:48 +11:00
Paul Riseborough
be9f276f45
AP_NavEKF: fixed compass offset sign error
2014-02-15 05:29:48 +11:00
Andrew Tridgell
ee774f69d0
AP_NavEKF: fixed some time handling bugs
...
use get_delta_time() and removed broken time wrap code
2014-02-15 05:29:48 +11:00
Andrew Tridgell
95c5aeaa43
AP_NavEKF: removed more unused variables
2014-02-15 05:29:47 +11:00
Andrew Tridgell
a53fc0636a
AP_NavEKF: zero more variables on filter re-init
2014-02-15 05:29:47 +11:00
Andrew Tridgell
91cbad52a1
AP_NavEKF: handle conversion of AHRS to handle altitude
...
fixed accuracy of position for cm level lat/lng
2014-02-15 05:29:47 +11:00
Andrew Tridgell
9ef71a9dec
AP_NavEKF: added healthy() API
2014-02-15 05:29:46 +11:00
Andrew Tridgell
bfd48a95b7
AP_NavEKF: fixed example build
2014-02-15 05:29:45 +11:00
Andrew Tridgell
ea0f9392ef
AP_NavEKF: don't report altitude yet, and removed debug code
2014-02-15 05:29:45 +11:00
Andrew Tridgell
33673c954d
AP_NavEKF: implemented getRotationBodyToNED()
2014-02-15 05:28:10 +11:00
Andrew Tridgell
2c86a490ed
AP_NavEKF: make it possible for NavEKF to be a AHRS member
...
ready for AHRS integration
2014-02-15 05:28:09 +11:00
Paul Riseborough
6f31961fb5
AP_NavEKF: Added height rate adaptive wind speed process noise
2014-02-15 05:28:09 +11:00
Paul Riseborough
de884dabab
AP_NavEKF: brought some tuning parameters out to header
2014-02-15 05:28:09 +11:00
Paul Riseborough
3ee5ef852b
AP_NavEKF : improved On Ground check
2014-02-15 05:28:09 +11:00
Paul Riseborough
8bc14d09b2
AP_NavEKF : remove onGround airspeed detect bug
2014-02-15 05:28:09 +11:00
Paul Riseborough
a507fa7570
AP_NavEKF : remove debug code
2014-02-15 05:28:09 +11:00
Paul Riseborough
2f95685bfc
Plane : EKF data logging fixes
2014-02-15 05:28:09 +11:00
Paul Riseborough
6b9733c013
AP_NavEKF : Additional flash logging
2014-02-15 05:28:09 +11:00
Paul Riseborough
c28e89e4b7
AP_NavEKF: bug fixes for height fusion and covariance initialisation
2014-02-15 05:28:08 +11:00
Paul Riseborough
aed6c79135
AP_NavEKF: Added gyro bias variance scale for on-ground
2014-02-15 05:28:08 +11:00
Paul Riseborough
cb42e1e490
AP_NavEKF: Added public function to get NED position
2014-02-15 05:28:08 +11:00
Paul Riseborough
2c567cd721
AP_NavEKF: Added tuning parameter for onGround yaw gyro variance
2014-02-15 05:28:08 +11:00
Paul Riseborough
9515f6c745
AP_NavEKF: Cleaned up on-ground state and covariance update logic
2014-02-15 05:28:08 +11:00
Andrew Tridgell
9c5647eef3
AP_NavEKF: stop log for gdb friendly playback
2014-02-15 05:28:08 +11:00
Andrew Tridgell
4adf6000f3
AP_NavEKF: only build on fast CPUs
2014-02-15 05:28:08 +11:00
Paul Riseborough
1647ba9bd0
AP_NavEKF: Reduced heading drift on ground
2014-02-15 05:28:08 +11:00
Paul Riseborough
63d8b1bb0b
AP_NavEKF: Scheduler Improvements
2014-02-15 05:28:07 +11:00
Andrew Tridgell
df42dd691c
AP_NavEKF: added perf counters on PX4
2014-02-15 05:28:07 +11:00
Andrew Tridgell
3d6cb9eade
AP_NavEKF: use float arrays when not doing bounds checking
...
g++ is doing a lousy job of inlining VectorN, so avoid it when we
don't need bounds checking for production code
2014-02-15 05:28:07 +11:00
Andrew Tridgell
010250a966
AP_NavEKF: use quaternion normalize and cleanup sqrt calls
2014-02-15 05:28:07 +11:00
Paul Riseborough
406fb31a57
AP_NavEKF: Load levelling scheduler - first attempt
2014-02-15 05:28:07 +11:00
Andrew Tridgell
163cfd839d
AP_NavEKF: enable airspeed and fix getLLH()
2014-02-15 05:28:07 +11:00
Andrew Tridgell
4771a4fc77
AP_NavEKF: use radians values from AHRS directly
2014-02-15 05:27:53 +11:00
Paul Riseborough
6b798d2821
AP_NavEKF: first working GPS + Mag fusion
2014-02-15 05:27:53 +11:00
Paul Riseborough
bccadb6e25
AP_NavEKF: first working GPS fusion
2014-02-15 05:27:53 +11:00
Andrew Tridgell
90cd04def3
AP_NavEKF: fixed build for non-Linux
2014-02-15 05:27:53 +11:00
Andrew Tridgell
0b71618f4f
AP_NavEKF: use vectorN to make indexes safe
2014-02-15 05:27:53 +11:00
Andrew Tridgell
e972acbc9f
AP_NavEKF: removed delay callback
2014-02-15 05:27:53 +11:00
Andrew Tridgell
8f16647a0c
AP_NavEKF: added write_flot valgrind functions
2014-02-15 05:27:53 +11:00
Andrew Tridgell
a8ddd51355
AP_NavEKF: added pause to gnuplot scripts
2014-02-15 05:27:53 +11:00
Andrew Tridgell
4298625daf
AP_NavEKF: added convenient plotting scripts
2014-02-15 05:27:53 +11:00
Paul Riseborough
fca1090694
AP_NavEKF: debug updates
2014-02-15 05:27:53 +11:00
Andrew Tridgell
95f51123d7
AP_NavEKF: added plot.dat output
2014-02-15 05:27:53 +11:00
Andrew Tridgell
050b0fb9f1
AP_NavEKF: fixed compass declination, baro cal and time shift
...
now runs much faster
2014-02-15 05:27:53 +11:00
Andrew Tridgell
776cedf368
AP_NavEKF: try running EKF on log data
2014-02-15 05:27:52 +11:00
Andrew Tridgell
ffce1f64cc
AP_NavEKF: added euler angle functions
2014-02-15 05:27:52 +11:00
Andrew Tridgell
977ad4bbf6
AP_NavEKF: added dataflash log reader
...
this gives log playback into HIL
2014-02-15 05:27:52 +11:00
Andrew Tridgell
f3dfde2025
AP_NavEKF: initial test sketch for NavEKF
2014-02-15 05:27:52 +11:00
Paul Riseborough
361bb5b18f
AP_NavEKF: Updated comments in header file
2014-02-15 05:27:52 +11:00
Paul Riseborough
00df068967
AP_NavEKF: Explicitly defined numerical constants as single precision using f suffix
2014-02-15 05:27:52 +11:00
Andrew Tridgell
eb505eef91
AP_NavEKF: fixed build for APM environment
2014-02-15 05:27:52 +11:00
Paul Riseborough
0dd5463e77
AP_NavEKF : Changed file and variable names
2014-02-15 05:27:52 +11:00
Paul Riseborough
1e993d2ef5
AP_NavEKF: Added constructor for measurements
2014-02-15 05:27:52 +11:00
Paul Riseborough
4a7f81e50a
AP_NavEKF: Corrected height update timeout error
2014-02-15 05:27:51 +11:00
Paul Riseborough
0f3ebb8e31
AP_NavEKF: Updated measurement fusion control
2014-02-15 05:27:51 +11:00
Paul Riseborough
c557bd7df5
AP_NavEKF: Updated GPS input processing
2014-02-15 05:27:51 +11:00
Paul Riseborough
1d4b040c67
AP_NavEKF: Inertial Navigation Code - 24 State EKF
...
initial version converted from matlab
2014-02-15 05:27:51 +11:00