Commit Graph

38588 Commits

Author SHA1 Message Date
Andrew Tridgell 3f9e48951b AP_NavEKF3: set terrainState to zero on height datum reset 2019-07-07 19:20:32 +10:00
Andrew Tridgell f5fd38aef2 AP_NavEKF2: set terrainState to zero on height datum reset 2019-07-07 19:20:32 +10:00
Andrew Tridgell f3fc910abe AP_NavEKF3: continuously update gpsGoodToAlign
use it to determine how to handle a height datum reset
2019-07-07 19:20:32 +10:00
Andrew Tridgell 9372073f63 AP_NavEKF2: continuously update gpsGoodToAlign
use it to determine how to handle a height datum reset
2019-07-07 19:20:32 +10:00
Andrew Tridgell b9a5794671 AP_NavEKF3: ensure that both AMSL and relative alt are correct after a reset
this forces the EKF origin to the GPS alt on a height datum reset if
we have GPS lock. If we don't do this then the reported AMSL alt will
drift over time away from the GPS alt when we reset while on the
ground
2019-07-07 19:20:32 +10:00
Andrew Tridgell 20ebb2500b AP_NavEKF2: ensure that both AMSL and relative alt are correct after a reset
this forces the EKF origin to the GPS alt on a height datum reset if
we have GPS lock. If we don't do this then the reported AMSL alt will
drift over time away from the GPS alt when we reset while on the
ground
2019-07-07 19:20:32 +10:00
Andrew Tridgell ff08de033e Plane: fixed home reset alt bias
this fixes a bug in the set of home alt while disarmed. The set had a
circular dependency which could cause a large bias to build up between
home alt and gps alt due to small fluctuations in barometer data

Thanks to Nick Allen for spotting this
2019-07-07 19:20:32 +10:00
Andrew Tridgell a38b030c41 RC_Channel: disable kill IMU with HAL_MINIMIZE_FEATURES 2019-07-07 19:03:01 +10:00
Andrew Tridgell 8e5c0fa32b AP_InertialSensor: disable kill IMUs with HAL_MINIMIZE_FEATURES 2019-07-07 19:03:01 +10:00
Andrew Tridgell 2208689893 AP_NavEKF3: don't use disabled gyros in opticalflow takeoff detection 2019-07-07 19:03:01 +10:00
Andrew Tridgell ddef40fa3d AP_NavEKF2: don't use disabled gyros in opticalflow takeoff detection 2019-07-07 19:03:01 +10:00
Andrew Tridgell a45e364252 AP_Mount: don't use disabled IMUs in solo gimbal code 2019-07-07 19:03:01 +10:00
Andrew Tridgell 3dd7e7e83a AP_AHRS: only use enabled IMUs in DCM
honor the INS_USE parameters for DCM
2019-07-07 19:03:01 +10:00
Andrew Tridgell 09d3392aee AP_InertialSensor: zero accumulators on time step
this zeros the delta angle and delta velocity accumulators when a
sensor is unavailable for a period of 0.1s. This prevents garbage
values being passed into the EKF when a sensor dies and then becomes
available again some time later
2019-07-07 19:03:01 +10:00
Andrew Tridgell 3444e82ef9 AP_InertialSensor: added RC switch for killing IMUs 2019-07-07 19:03:01 +10:00
Andrew Tridgell 30d27147a8 RC_Channel: added RC switch for killing IMUs 2019-07-07 19:03:01 +10:00
Andrew Tridgell 898150e460 HAL_ChibiOS: cope with calling delay_microseconds_boost() multiple times
needed for updated IMU wait code
2019-07-07 19:03:01 +10:00
Andrew Tridgell 053f0cb689 AP_InertialSensor: try much harder to get all IMU samples
this we ensures we get new data for all active IMUs on each loop,
rather than sometimes returning with some IMUs not having data.

This matters as not having a sample on an IMU for a single loop can
cause an EKF IMU failover, which will degrade the learned bias
variances

The issue is usually only seen under high load, such as requesting a
loop rate beyond what the hardware is capable of
2019-07-07 19:03:01 +10:00
Andrew Tridgell 209bca162c AP_NavEKF3: added inactive bias learning
this allows for biases on inactive IMUs to be learned so that an IMU
switch within an EKF lane does not cause a jump in the IMU data
2019-07-07 19:03:01 +10:00
Andrew Tridgell 1c4c5a6850 AP_NavEKF2: learn gyro biases for inactive gyros
this allows us to learn the gyro biases each lane would need if it had
to switch to another gyro due to a sensor failure. This prevents a
sudden change in gyro bias on IMU failure
2019-07-07 19:03:01 +10:00
Andrew Tridgell aa18c75689 Plane: decay fw rate integrators when at low airspeed
this prevents large fixed wing control surface integrators from
causing issues when we have wind from behind in hover
2019-07-07 18:16:47 +10:00
Andrew Tridgell 05bd0cb9f4 APM_Control: added decay_I() function
used by VTOL planes to decay integrator on fixed wing components when
at very low airspeed
2019-07-07 18:16:47 +10:00
Andrew Tridgell ebe2278f5d Plane: reset rate controller integrators if not run for 2s
this prevents a bug where integrator buildup can happen from a
previous flight mode
2019-07-07 18:16:47 +10:00
Randy Mackay 030eab0f86 AR_WPNav: stop vehicle if OA processing fails 2019-07-07 06:46:26 +09:00
Randy Mackay 951ded1f51 AP_OAPathPlanner: report errors to caller 2019-07-07 06:46:26 +09:00
Michael du Breuil 104164d2e4 AP_Scripting: Tighten range checks on library calls 2019-07-06 09:01:13 -07:00
Peter Barker bb677756a0 Tools: Replay: EKF logging moved to AHRS from logger 2019-07-06 19:05:51 +10:00
Peter Barker ce45baa034 AP_NavEKF3: factor out and logging functions, reuse for 2nd core 2019-07-06 19:05:51 +10:00
Peter Barker 6a0a466f42 AP_NavEKF2: factor out and logging functions, reuse for 2nd core 2019-07-06 19:05:51 +10:00
Peter Barker b6efd0bea1 Sub: EKF logging moved into EKF from logger 2019-07-06 19:05:51 +10:00
Peter Barker 1674cb0a85 Plane: EKF logging moved into EKF from logger 2019-07-06 19:05:51 +10:00
Peter Barker 40a3bf94f4 Copter: EKF logging moved into EKF from logger 2019-07-06 19:05:51 +10:00
Peter Barker befc150d0e Tracker: EKF logging moved into EKF from logger 2019-07-06 19:05:51 +10:00
Peter Barker ca03c5b2a9 Rover: EKF logging moved into EKF from logger 2019-07-06 19:05:51 +10:00
Peter Barker 9732940220 AP_AHRS: navekf: add Log_Write access point 2019-07-06 19:05:51 +10:00
Peter Barker f3f364de26 AP_NavEKF3: move logging in from AP_Logger 2019-07-06 19:05:51 +10:00
Peter Barker 5175d23cc1 AP_NavEKF2: move logging in from AP_Logger 2019-07-06 19:05:51 +10:00
Peter Barker e009b7aee5 AP_Logger: move logging of EKF packets out to EKF 2019-07-06 19:05:51 +10:00
Peter Barker c6533723de GCS_Param: correct sending of parameters of length 16 2019-07-06 18:06:17 +10:00
Andrew Tridgell 5ffb8bb546 AP_HAL: enable GPIO scripting on the Disco 2019-07-06 09:02:54 +10:00
Andrew Tridgell ea212af2e5 Tools: added an example gpio.sh for the disco
trigger camera actions
2019-07-06 09:02:54 +10:00
Andrew Tridgell 2bab0efc41 HAL_Linux: implement HAL_GPIO_SCRIPT support
this allows Linux boards to trigger an external script on GPIO
writes. This can be hooked up to relays with either RC options or
mavlink or mission items to trigger actions that can be scripted
2019-07-06 09:02:54 +10:00
Andrew Tridgell 8a49c84d57 AP_Motors: fixed col max and min for dual heli
fixes H_SV_MAN behaviour
2019-07-06 08:57:18 +10:00
Andrew Tridgell 0f4c54aaa6 AP_RCProtocol: fixed a overflow in SRXL decoder
thanks to coverity 343308 and Peter for noticing
2019-07-06 08:53:44 +10:00
Andrew Tridgell 626c632859 SITL: fixed pitch constraint on fixed wing takeoff
fixes issue with jet takeoff
2019-07-05 20:12:22 +10:00
Andrew Tridgell 5bfb6ced84 AP_GPS: fixed u-blox F9 auto configuration 2019-07-05 13:31:40 +10:00
Peter Barker 502f74f0d9 AP_Logger: switch to using stderr for log structure debug
The console output doesn't seem to appear anywhere now.
2019-07-05 12:05:27 +10:00
Peter Barker 288952b5a2 AP_Logger: reserve W for watts as a unit 2019-07-05 12:05:04 +10:00
Hwurzburg 44f6f7335e Plane: Added Quadplane option for QRTL failsafe action 2019-07-05 11:25:56 +10:00
Peter Barker 9d95933845 Rover: ServoRelayEvents uses Relay singleton 2019-07-03 23:59:24 -07:00