Commit Graph

27780 Commits

Author SHA1 Message Date
priseborough 3ae7998f51 AP_NavEKF3: Allow reporting of origin height for specified instance 2017-06-14 12:44:41 +01:00
priseborough 77d21f72d4 AP_NavEKF2: Allow reporting of origin height for specified instance 2017-06-14 12:44:41 +01:00
priseborough e58ba8044d AP_NavEKF3: Improve protection for badly conditioned dVel bias covariances
If variance falls below desired minimum, set state noise to a larger value.
If variance drops below safe value, set to desired minimum and reset off-diagonals to zero.
2017-06-14 12:44:41 +01:00
priseborough bf963f8b65 AP_NavEKF3: Raise lower limit on del vel bias state variances
This is required to prevent co-variance matrix errors due to long periods without movement causing height divergence.
2017-06-14 12:44:41 +01:00
priseborough 628d140319 AP_NavEKF3: Make target covariance time step larger
The target covariance time step has been increased from 10 to 12 msec to improve conditioning of the covariance prediction calculation.
2017-06-14 12:44:41 +01:00
priseborough 4c08622a7c DataFlash: Add logging for EKF3 state variances 2017-06-14 12:44:41 +01:00
priseborough 2b97d0f5c9 AP_NavEKF3: Add public accessor for state variances 2017-06-14 12:44:41 +01:00
priseborough 9f97cbfc3b AP_NavEKF3: Revert auto-code to original form and remove micro optimisations
To eliminate the possibility of editing errors, revert the covariance prediction auto-code to the original auto-code without the replacement fo the /2 and /4 operations. The compiler optimisations are able to correctly handle the /2 and /4 operations.

Also use local variables for intermediate covariance calculations. The use of class variables for these small arrays was unnecessary.
2017-06-14 12:44:41 +01:00
priseborough f38fccd57c AP_NavEKF3: Prevent possible race condition re-zeroing state variances 2017-06-14 12:44:41 +01:00
priseborough 7adaea6019 AP_NavEKF3: Improve partitioning and efficiency of the covariance prediction
This patch ensures that covariance matrix entries for inactive states are always set to zero.
It also halves the number of copy operations from the updated to stored matrix.
2017-06-14 12:44:41 +01:00
priseborough a1c117360c AP_NavEKF3: Ensure Kalman gain calculatons respect deactivated states
All Kalman gain calculations now explicity set gains for deactivated states to zero.
Previous use of loops to set gains to zero have been replaced with more efficient memset operations.
2017-06-14 12:44:41 +01:00
priseborough 5058405f8c AP_NavEKF3: add gyro bias state inhibit and rework index limit calculation
Inhibiting gyro bias estimation during the initial tilt alignment speeds alignment.
The calculation of the maxmum state index required has been modified so that it can handle all combinations of inhibited states.
Limiting the maximum state index accessed by all EKF operations result in significant processing reductions when higher index states are not being used.
2017-06-14 12:44:41 +01:00
priseborough 0cba133a1e AP_NavEKF3: Fix initialisation of state inhibit flags 2017-06-14 12:44:41 +01:00
priseborough 36e7dfb5f6 AP_NavEKF2: Improve GPS reference height estimator
Fix rounding error bug preventing state from updating after initial convergence.
Decouple GPS reference height from published EKf origin height.
Add bitmask parameter to control update and publishing of GPS reference height.
2017-06-14 12:44:41 +01:00
priseborough 9da3caca47 AP_NavEKF3: Improve GPS reference height estimator
Fix rounding error bug preventing state from updating after initial convergence.
Decouple GPS reference height from published EKf origin height.
Add bitmask parameter to control update and publishing of GPS reference height.
2017-06-14 12:44:41 +01:00
Pierre Kancir e7a5dd6a69 AP_Marvelmind: fix warning in example 2017-06-14 12:40:47 +01:00
Pierre Kancir 5d0972f589 Arduplane: fix implicit cast to double warning in quadplane 2017-06-14 12:40:47 +01:00
Pierre Kancir 914bc53100 Dataflash: fix shadowing of logstructure in SITL 2017-06-14 12:40:47 +01:00
Peter Barker af6eb4e41d DataFlash: remove unused NeedPrep function 2017-06-14 12:20:29 +01:00
Peter Barker 9fb4ac2143 DataFlash: update examples for init simplification 2017-06-14 12:20:29 +01:00
Peter Barker 91b62abfe5 DataFlash: simplify dataflash initialisation 2017-06-14 12:20:29 +01:00
Peter Barker 5a0cb40c47 Sub: simplify dataflash initialisation 2017-06-14 12:20:29 +01:00
Peter Barker c6beb3a867 Plane: simplify dataflash initialisation 2017-06-14 12:20:29 +01:00
Peter Barker 019dd02569 Copter: simplify dataflash initialisation 2017-06-14 12:20:29 +01:00
Peter Barker c1e07255b4 Tracker: simplify dataflash initialisation 2017-06-14 12:20:29 +01:00
Peter Barker 8c074c7b73 Rover: simplify dataflash initialisation 2017-06-14 12:20:29 +01:00
Peter Barker 6f7954298c Sub: do not reset LOG_BITMASK when no CardInserted
This really just confuses everyone
2017-06-14 12:20:29 +01:00
Randy Mackay 3bcc410048 AP_Beacon: fix pozyx west-east processing 2017-06-14 16:07:32 +09:00
Randy Mackay af7f4fef0a DataFlash: protect against large testRatio from EKF
This should be resolved in the EKF but for now this stops the floating point exception
2017-06-14 16:07:32 +09:00
Shingo Matsuura 0800c6be52 Copter: add beacon object to avoidance object 2017-06-14 16:07:32 +09:00
Shingo Matsuura 7b0f6edf31 AC_Avoidance: add adjust velocity by beacon fence 2017-06-14 16:07:32 +09:00
Randy Mackay cded78022c AP_Beacon: update_boundary_points calculates outer perimeter around beacons 2017-06-14 16:07:32 +09:00
Shingo Matsuura c9475c2747 AP_Beacon: add get_boundary_points 2017-06-14 16:07:32 +09:00
kmine b3bf72020f Tools: added my name to GitSuccess 2017-06-14 16:00:46 +09:00
Paulo Neves 3158cafefd AP_Beacon: Added Marvelmind beacon example.
This commit includes an example program to
run the code of AP_Marvelmind class.
It also includes a dump from the marvelmind
serial as well as a script that injects
this dump into the example for demonstration.
2017-06-14 09:33:23 +09:00
Randy Mackay 3e130273a9 AP_AHRS: do not fallback to DCM if EKF can provide relative position 2017-06-14 09:12:20 +09:00
Randy Mackay a07920c5b2 Rover: add init_compass method
no functional change
2017-06-14 09:12:20 +09:00
Randy Mackay eb2aa80fca Rover: compass set-initial-location uses ahrs location
Previously it could attempt to use a gps location even if gps was not being used
Also compass-accumulate moved to sensors.cpp
2017-06-14 09:12:20 +09:00
Randy Mackay 584974fd74 Rover: set home from ekf position 2017-06-14 09:12:20 +09:00
Randy Mackay 0da6e73d76 Rover: add support for visual odometry 2017-06-14 09:12:20 +09:00
Randy Mackay b56e246da6 Rover: add visual odometry to build 2017-06-14 09:12:20 +09:00
Michael du Breuil 3534d0a0eb AP_Landing: Fix missing doc for LAND_TYPE 2017-06-13 20:06:41 +09:00
Randy Mackay a5ea9420c0 Copter: landing gear position set less often
This change means no pwm output is sent to the landing gear servos until the pilot has moved the switch
2017-06-13 13:56:07 +09:00
Randy Mackay c9cc0de83d AP_LandingGear: set pwm only when set_position called
Also simplify interface and internal state
2017-06-13 13:56:07 +09:00
Randy Mackay 32cb3f8764 Tools: add e-flight convergence parameter file 2017-06-12 09:41:33 +09:00
Michael du Breuil 6c3db3939e AP_GPS: Update comment on get_rate_ms()
AP_GPS::get_rate_ms() is only meant to help the GPS backends
2017-06-12 01:06:38 +01:00
Peter Barker b5029aad4f DataFlash: correct dataflash examples 2017-06-11 20:34:12 +01:00
Peter Barker 6d1f42d1c5 Tracker: unconditionally start unstarted logging 2017-06-11 20:34:12 +01:00
Peter Barker 10b69b46e1 Replay: StartUnstartedLogging replaces logging_started/start_logging 2017-06-11 20:34:12 +01:00
Peter Barker cdd0397bbf DataFlash: check all backends for sensor health 2017-06-11 20:34:12 +01:00