Commit Graph

14391 Commits

Author SHA1 Message Date
priseborough
284fc0f3c5 AP_NavEKF3: Fix bug in flow fusion for terrain estimation
Also remove unused class variables
2017-06-20 02:08:56 +01:00
priseborough
b7e6e6f95f AP_NavEKF2: Fix bug in flow fusion for terrain estimation
Also remove unused class variables
2017-06-20 02:08:56 +01:00
Michael du Breuil
0b26908359 Landing: Disarm on land for deepstall 2017-06-19 17:02:23 -07:00
Andrew Tridgell
a1508b58c1 AP_NavEKF3: use AHRS likely flying state
this sets inFlight when AHRS has indicated flying for 5s
2017-06-20 09:44:44 +10:00
Andrew Tridgell
cbffc29f0b AP_NavEKF2: use AHRS likely flying state
this sets inFlight when AHRS has indicated flying for 5s
2017-06-20 09:44:44 +10:00
Andrew Tridgell
770f697cfc AP_AHRS: added set/get for flying state
this allows the vehicle code to set the likely flying state, which can
be used by EKF to trigger changes which should only happen when flying
(such as mag alignment)
2017-06-20 09:44:44 +10:00
priseborough
647db728ce AP_NavEKF2: Improve is flying check for non fly forward vehicles
Will enable use of EK3_MAG_TYPE = 0 for coptersAP_NavEKF2:
2017-06-19 06:09:07 +10:00
priseborough
edee8396ba AP_NavEKF3: Improve in-flight check for non fly forward vehicles
This will enable the EK3_MAG_TYPE 0 option to be used for multirotors
2017-06-19 06:09:07 +10:00
Andrew Tridgell
a0e4ec0f3a AP_Compass: fixed bitmask typo 2017-06-18 18:15:47 +10:00
Touch
5da2e0b3fb Update code format 2017-06-18 17:25:20 +10:00
ljwang
8fff1ec4d4 add QMC5883L driver for GPS compass module 2017-06-18 17:25:20 +10:00
ljwang
e648f2e61e add QMC5883L driver for GPS compass module 2017-06-18 17:25:20 +10:00
Peter Barker
5c19f09cd7 DataFlash: handle mavlink messages, not just remote-log-block-statuses 2017-06-17 15:07:48 +01:00
Peter Barker
cf918d233f GCS_MAVLink: move MAVLINK_MSG_ID_REMOTE_LOG_BLOCK_STATUS handling up 2017-06-17 15:07:48 +01:00
Andrew Tridgell
abd0831239 AP_Motors: changed BRUSHED16kHz to BRUSHED 2017-06-17 17:37:45 +10:00
Andrew Tridgell
11396919c8 HAL_PX4: changed BRUSHED16kHz to BRUSHED 2017-06-17 17:37:45 +10:00
Andrew Tridgell
1c741e78e6 AP_HAL: changed BRUSHED16kHz to BRUSHED 2017-06-17 17:37:45 +10:00
Andrew Tridgell
96627bc4e5 HAL_PX4: allow any pulse freq in brushed mode 2017-06-17 17:37:45 +10:00
Andrew Tridgell
97e88501c6 AP_OpticalFlow: support pixart 3901 2017-06-16 17:14:10 +01:00
Peter Barker
6a03af8f3e DataFlash: make EnableWrites a frontend thing 2017-06-16 17:07:48 +01:00
Peter Barker
07e37281ef DataFlash: add a should_log method 2017-06-16 17:07:48 +01:00
Peter Barker
001d3a7118 DataFlash: correct consts on CardInserted 2017-06-16 17:07:48 +01:00
Peter Barker
244365767d DataFlash: remove DataFlash_Block and DataFlash_SITL 2017-06-16 13:52:45 +01:00
Dr.-Ing. Amilcar Do Carmo Lucas
6a01c65197 AP_NavEKF3: Fix long description of EK3_OGN_HGT_MASK parameter (NFC) 2017-06-16 12:05:20 +01:00
Dr.-Ing. Amilcar Do Carmo Lucas
7426bdb9b7 AP_NavEKF2: Fix long description of EK2_OGN_HGT_MASK parameter 2017-06-16 12:05:20 +01:00
Randy Mackay
a199604348 AP_Beacon: fix get_boundary_points num_points
Thanks @OXINARF for finding this!
2017-06-15 09:36:27 +09:00
priseborough
b42fb31d7d AP_NavEKF2: Change default value of EK2_OGN_HGT_MASK
Turn off by default.
Update parameter description
2017-06-14 12:44:41 +01:00
priseborough
49ec2b4032 AP_NavEKF3: Change default value of EK3_OGN_HGT_MASK
Turn off by default.
Update parameter description.
2017-06-14 12:44:41 +01:00
priseborough
fd25450632 AP_NavEKF2: Ensure reported local height = global height - origin height 2017-06-14 12:44:41 +01:00
priseborough
6d14cf0ab8 AP_NavEKF3: Ensure reported local height = global height - origin height 2017-06-14 12:44:41 +01:00
priseborough
798d5f85a2 DataFlash: Log EKF origin height 2017-06-14 12:44:41 +01:00
priseborough
a3483d0d34 AP_AHRS: Update for compatibility with EKF interface change 2017-06-14 12:44:41 +01:00
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
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
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
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
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
Michael du Breuil
3534d0a0eb AP_Landing: Fix missing doc for LAND_TYPE 2017-06-13 20:06:41 +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
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
cdd0397bbf DataFlash: check all backends for sensor health 2017-06-11 20:34:12 +01:00
Peter Barker
7221b0def2 DataFlash: StartUnstartedLogging replaces logging_started/start_logging 2017-06-11 20:34:12 +01:00
Peter Barker
bd747006aa DataFlash: eliminate calls to manipulate _writes_enabled 2017-06-11 20:34:12 +01:00
Peter Barker
0be2e7962f DataFlash: create a WritesOK method for WritePrioritisedBlock 2017-06-11 20:34:12 +01:00
Randy Mackay
e84b5c63be LandingGear: remove unused enabled method
Also minor formatting fix
2017-06-10 10:34:33 +09:00
Randy Mackay
45147af455 AP_Beacon: fit SITL beacon location 2017-06-09 15:24:36 +09:00
Randy Mackay
db45442de2 AP_Math: remove unused angle method 2017-06-09 15:21:58 +09:00
Andrew Tridgell
bcd305c821 AP_Compass: fixes for merge with master 2017-06-09 14:56:33 +10:00
Andrew Tridgell
04430457d5 AP_Compass: attempts to diagnose the twitches in MMC3416 2017-06-09 14:56:33 +10:00
Andrew Tridgell
36932a2959 AP_Compass: implement full state machine for MMC3416
this uses 100Hz readings most of the time, but does slow offset
readings every 50 samples
2017-06-09 14:56:33 +10:00
Andrew Tridgell
167988b5c4 AP_Compass: implement MMC3416 temperature compensation
this is much slower, but removes temperature offset
2017-06-09 14:56:33 +10:00
Andrew Tridgell
736fb715ec AP_Compass: MMC3416 magnetometer driver 2017-06-09 14:56:33 +10:00
Francisco Ferreira
a960c6526c
AP_Rangefinder: set type for VL53L0X 2017-06-08 01:32:11 +01:00
Pierre Kancir
d5cc1e64ed GCS_Common: rename send_rangefinder to send_rangefinder_downward 2017-06-08 01:32:04 +01:00
Pierre Kancir
e9685ba13e GCS_MAVLink: add rangefinder msg 2017-06-08 01:22:07 +01:00
Pierre Kancir
0848d96354 GCS_MAVLink: add send_distance_sensor_downward function 2017-06-08 01:22:07 +01:00
Pierre Kancir
f0369bc507 GCS_MAVLink: add distance sensor msg 2017-06-08 01:22:07 +01:00
Pierre Kancir
38540b4dcc AP_Proximity: add PROXIMITY_MAX_DIRECTION and PROXIMITY_SENSOR_ID_START 2017-06-08 01:22:07 +01:00
Pierre Kancir
8b38bd2e33 AP_RangeFinder: add sensor type to backend 2017-06-08 01:22:07 +01:00
Andrew Tridgell
b29db0aa5b AP_RangeFinder: implement VL53L0X rangefinder 2017-06-07 23:05:01 +01:00
Peter Barker
5c15c1e4d2 AP_BoardConfig: add public method returning true if on sensor error 2017-06-07 12:56:46 +01:00
Randy Mackay
1ce2a7fcee AP_Compass: resolve AK09916 driver compiler warning 2017-06-07 20:38:12 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas
ca72f4d283 AC_Stats: NFC Statistics are read-only variables 2017-06-07 19:53:09 +09:00
Pierre Kancir
1c8d169814 AP_HAL_SITL: sitl_airspeed simplify include 2017-06-07 20:29:02 +10:00
Pierre Kancir
775ca9303a AP_HAL_SITL: sitl_airspeed correct style 2017-06-07 20:29:02 +10:00
Pierre Kancir
0afc907b0a AP_HAL_SITL: rename sitl_ins & _update_ins to sitl_airspeed & _update_airspeed 2017-06-07 20:29:02 +10:00
Pierre Kancir
b176ba53d7 SIM_Aircraft: move advance in time from update_position to time_advance 2017-06-07 20:29:02 +10:00
Pierre Kancir
579f655e76 SIM_Aircraft: change define in favor of static constexpr 2017-06-07 20:29:02 +10:00
Pierre Kancir
22dd81e298 AP_HAL_SITL: rangefinder const correctness 2017-06-07 20:28:25 +10:00
Pierre Kancir
3f045a4905 AP_HAL_SITL: airspeed_simulated use is_zero 2017-06-07 20:28:25 +10:00
Pierre Kancir
148e84320b SITL: Sim_aircraft correct style 2017-06-07 20:28:25 +10:00
Pierre Kancir
4acf4538c7 AP_HAL_SITL: rangefinder don't adjust value from FDM on external data 2017-06-07 20:28:25 +10:00
Pierre Kancir
599e3d7b83 SITL: make range finder a standalone sitl plugin 2017-06-07 20:28:25 +10:00
Andrew Tridgell
0e27d4bd6f AP_Soaring: fixed Log_Write call 2017-06-07 20:10:20 +10:00
samuelctabor
f6b3c00b19 AP_Soaring: Fix initialisers in SoaringController. In-line method to get altitude in Variometer. 2017-06-07 20:10:11 +10:00
samuelctabor
4cbff71689 AP_Soaring: Separate the vario functionality into a seperate class from the soaring/thermalling functionality. 2017-06-07 20:10:03 +10:00
Andrew Tridgell
c9e140a946 AP_Terrain: removed unused variable 2017-06-07 19:59:14 +10:00