Commit Graph

20348 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
Peter Barker
c515d17a4a AP_ServoRelayEvents: use Relay singleton 2019-07-03 23:59:24 -07:00
Peter Barker
8e5ec84317 AP_Relay: add AP::relay() to get relay singleton 2019-07-03 23:59:24 -07:00
Rajat Singhal
82413a1528 SITL: JSBSim: Fix comments 2019-07-03 23:58:22 -07:00
Peter Barker
39b17e42d0 AP_HAL_SITL: add missing include for AP_BoardConfig.h 2019-07-04 13:57:40 +10:00
Peter Barker
ebd8170a15 GCS_MAVLink: add missing include for AP_RTC 2019-07-04 13:57:40 +10:00
Peter Barker
3d91547039 AP_Logger: add missing include for AP_RTC 2019-07-04 13:57:40 +10:00
Peter Barker
cee3d8086b AP_InternalError: move include of BoardConfig to cpp
This breaks an include loop when building for skyviper-v2450
2019-07-04 13:57:40 +10:00
Atxheli
7f3cb09da2 correct comment placement for second led 2019-07-04 08:36:33 +10:00
Hwurzburg
a9783de61c correct include paths, uncomment alarm pin, fix conflict with rssi 2019-07-04 08:36:33 +10:00
Hwurzburg
3e3d7b8e7f Change to "include" style for new board, fix to allow LED to be used as status indicator 2019-07-04 08:36:33 +10:00
Hwurzburg
10838387c5 Split Omnibus F4 pro and non-pro into two boards to allow pro boards to have 8 pwm outputs 2019-07-04 08:36:33 +10:00
Andrew Tridgell
5151416080 AP_NavEKF3: force first EKF lane when disarmed
this ensures we consistently fly with EKF lane1 if it is healthy at
the point we arm. Otherwise the choice of lane will be a lottery.

This is important as many systems have quite different filtering and
vibration characteristics on their different IMUs. We by default
enable fast sampling only on the first IMU for example, which means
the 2nd and 3rd IMUs are more vulnerable to high freq causing
aliasing.
2019-07-04 06:48:23 +10:00
Andrew Tridgell
567c902e75 AP_NavEKF2: force first EKF lane when disarmed
this ensures we consistently fly with EKF lane1 if it is healthy at
the point we arm. Otherwise the choice of lane will be a lottery.

This is important as many systems have quite different filtering and
vibration characteristics on their different IMUs. We by default
enable fast sampling only on the first IMU for example, which means
the 2nd and 3rd IMUs are more vulnerable to high freq causing
aliasing.
2019-07-04 06:48:23 +10:00
Tom Pittenger
bf11746da5 AP_AHRS: allow EKF_TYPE==10 to send a good status report
Some GUIs, including DroneKit, will consider GPS locations invalid if the EKF status is not good
2019-07-03 21:22:09 +10:00
Peter Barker
e58eae3c48 AP_Mount: remove unneeded typedefs
Also note that one of these was incorrectly sized.
2019-07-03 16:12:40 +09:00