Commit Graph

14709 Commits

Author SHA1 Message Date
priseborough
073b8e7c43 AP_NavEKF: Always explicitly set required const pos or vel mode when arming
This additional explicit setting of the constPosMode and constVelMode reduces the likelihood of logic errors being introduced in the future as it places the intended setting of these parameters at arming in the one place. the constVelmode and constPosMode only have one set of conditions each that can trigger these modes in flight, so if these modes are true after arming it will be clear that it was the in-flight condition that triggered.
2015-01-22 14:40:59 +09:00
priseborough
9c6dabe1cc AP_NavEKF: Add separate flow default parameters for platform types
Also reduces flow measurement noise default for copter only and increases gate to compensate.
2015-01-22 14:40:57 +09:00
priseborough
d2da16e652 AP_NavEKF: Consistently set timeout flags whenever aiding is inhibited
This ensures the position and velocity measurement status will be set as timed out immediately after use of those measurements is inhibited. This will improve the timeliness of filter status reporting.
2015-01-22 14:40:55 +09:00
priseborough
824425625c AP_NavEKF: Update public method used to inhibit GPS use
This method is not currently used by any of our vehicle types, but will be required to enable a user selectable 'indoor mode'.
2015-01-22 14:40:52 +09:00
priseborough
1033f5fc1e AP_NavEKF: Apply flow nav vehicle limits regardless of sensor health
It does not make sense to relax the limits on vehicle speed and nav gains just because we have received some invalid flow data. This could make the situation worse if the invalid data was being caused by too much speed.
If we are relying on flow data the vehicle limits should always be applied.
2015-01-22 14:40:50 +09:00
priseborough
14b51f6d74 AP_NavEKF: Unconditionally fuse velocity in constant velocity mode
The zero velocity measurements in this mode are by definition always correct and should never be rejected
2015-01-22 14:40:48 +09:00
priseborough
6663d80176 AP_NavEKF: Simplify nested logic - functionally equivalent
Additional if else statement was unnecessary
2015-01-22 14:40:45 +09:00
priseborough
12c3368c4d AP_NavEKF: Bypass GPS glitch logic when not aiding
When we are not using GPS measurements, we should not be allowing the GPS glitch logic to reset position states as this can interfere with operation of non GPS modes.
2015-01-22 14:40:43 +09:00
priseborough
5c8e71a8d1 AP_NavEKF: Don't reset the position measurement timeout if not aiding
When PV aiding is disabled, then the timeout time reference should not be reset becasue we want the position measurement timeout status to remain true the whole time the measurement is not being used.
2015-01-22 14:40:41 +09:00
priseborough
c505a458de AP_NavEKF: Always declare a position measurement timeout if aiding not used
If position and velocity aiding is turned off, then the position measurement should always be reported as timed out.
2015-01-22 14:40:39 +09:00
priseborough
3b166372cc AP_NavEKF: Always declare a velocity measurement timeout if velocity not used
If position and velocity aiding is turned off, then the velocity measurement should always be reported as timed out.
2015-01-22 14:40:36 +09:00
priseborough
95c3197170 AP_NavEKF: Ensure velocity will not be reset unless needed for aiding 2015-01-22 14:40:34 +09:00
priseborough
8aeec82846 AP_NavEKF: Continually turn off aiding whilst the vehicle is disarmed
This prevents the possibility of any logic errors turning aiding back on.

AP_NavEKF: Fix bug in logic
2015-01-22 14:40:31 +09:00
priseborough
81ee339e25 AP_NavEKF: Synchronise non-aiding mode state corrections
Synchronise with covariance prediction to improve numerical stability and accuracy of angle corrections. The 'noise' this produces in the position and velocity estimate is irrelevantbecause these are not used by the control loops during this mode of operation (they are nominally zero anyway).
2015-01-22 14:40:29 +09:00
priseborough
ae6b85e63d AP_NavEKF: Explicitly set aiding to off when disarmed
This fixes a bug that could cause the AHRS to drift whilst the vehicle was disarmed depending sensor combinations at startup.
2015-01-22 14:40:27 +09:00
priseborough
fb1962b111 AP_NavEKF: Let reported position whilst disarmed show inertial errors
Showing the positon states (which are nominally zero) in addition to the last known offset can provide useful log information.
2015-01-22 14:40:25 +09:00
Randy Mackay
d26121036f AutoTest: param file to enable SIM OptFlow 2015-01-22 14:40:23 +09:00
Randy Mackay
1819bd48f4 Copter: remove home_is_set checks from Loiter, PosHold, RTL
This allows these flight modes to potentially operate even when the
vehicle has never had a GPS lock.
Potentially we should replace this with a check that the EKF's origin
has been set
2015-01-22 14:40:19 +09:00
Randy Mackay
01c669ee15 RangeFinder: minor param description update
Also initialise primary instance to 0.
No functional change.
2015-01-22 14:40:16 +09:00
Randy Mackay
d49489ca7e Copter: optflow_position_ok requires using EKF 2015-01-22 14:40:13 +09:00
Randy Mackay
01f1ce4cb3 Copter: position_ok false when EKF in const pos mode 2015-01-22 14:40:11 +09:00
Randy Mackay
74ac79ba10 Copter: Drift uses throttle_zero flag 2015-01-22 14:40:08 +09:00
Randy Mackay
02d0b05926 Copter: minor format fix 2015-01-22 14:40:05 +09:00
Randy Mackay
4185d17915 Copter: fix to RTL, PosHold and Loiter's use of filter status 2015-01-22 14:40:02 +09:00
Randy Mackay
cc52bbbffb Copter: update current loc once home is set 2015-01-22 14:39:59 +09:00
Randy Mackay
f1a6b06586 Copter: remove redundant filter status checks 2015-01-22 14:39:57 +09:00
Randy Mackay
3641d3d508 Copter: send inav velocities in global position message
Also absolute alt now calculated from home alt + current alt above home
instead of using GPS absolute alt
2015-01-22 14:39:54 +09:00
Randy Mackay
e464909ddf Copter: position_ok true when EKF predicts it will be ok
This resolves the chicken and egg problem of the EKF filter status's
position flags not becoming true until after the vehicle has been armed
at least once.
2015-01-22 14:39:52 +09:00
Randy Mackay
58ac9de94b Copter: update home position when disarmed
This resolves the issue in which the vehicle's position jumped back to
it's home location when disarmed and using the EKF.  This also makes
copter consistent with plane.
2015-01-22 14:39:50 +09:00
Randy Mackay
fd0b82f669 Copter: add optflow_position_ok and use for loiter
This allows entering Loiter flight mode with only optical flow based
position
2015-01-22 14:39:47 +09:00
Randy Mackay
199dc3454d Copter: replace GPS_ok with position_ok
position_ok uses the EKF's filter status if the EKF is being used
otherwise it falls back to the GPS based checks used by inertial nav
2015-01-22 14:39:45 +09:00
Randy Mackay
a4f71e5946 Copter: replace inav's position_ok with get_filter_status 2015-01-22 14:39:42 +09:00
Randy Mackay
c24e997fb2 AC_Fence: use inertial nav's get_filter_status 2015-01-22 14:39:40 +09:00
Randy Mackay
f35efc56e0 InertialNav_EKF: get_filter_status replaces position_ok 2015-01-22 14:39:37 +09:00
Randy Mackay
5d80481723 InertialNav: get_filter_status replaces position_ok
altitude_ok also replaced.
2015-01-22 14:39:35 +09:00
Dario Lindo Andres
7f5243026d Plane: Cleanup code to remove 1280 ifdefs
Due to the imposibility to fit actual code on Legacies 1280 chips, some
cleanup is needed.
2015-01-22 16:12:26 +11:00
Andrew Tridgell
61be4ce2d2 HAL_Linux: fixed #if for linux builds 2015-01-22 15:58:20 +11:00
Víctor Mayoral Vilches
2b74d018fe HAL_Linux: Adjust set_system_clock
Do nothing for HAL_BOARD_SUBTYPE_NONE.
2015-01-22 15:43:16 +11:00
Víctor Mayoral Vilches
974f243c7e HAL_Linux: Add set_system_clock 2015-01-22 15:43:16 +11:00
Jonathan Challinger
d679831c75 GCS_MAVLink: run generate.sh 2015-01-22 15:28:44 +11:00
Jonathan Challinger
0997ab23a4 GCS_MAVLink: merge upstream changes to common.xml 2015-01-22 15:19:47 +11:00
Grant Morphett
5b4443a137 Rover: Improved message when AUTO selected but no commands loaded.
I updated the message when you select AUTO mode but you haven't put
any waypoints in.  It now says "No commands so can't set AUTO- setting
HOLD instead"
2015-01-22 15:12:00 +11:00
Grant Morphett
236efad159 AP_HAL_AVR: Increased number of AVR input channels from 8 to 11 2015-01-22 14:48:15 +11:00
mirkix
d11c5286c3 AP_HAL: HAL_COMPASS_AK8963 used but not defined anywhere 2015-01-22 14:35:51 +11:00
mirkix
9a65a8c8fb AP_Compass: add AK8963 to auto-detect in test suite 2015-01-22 14:34:23 +11:00
mirkix
e9d4165a8d AP_Compass: add AK8963 support to test suite 2015-01-22 14:34:17 +11:00
mirkix
7ceb93befa AP_HAL: make the examples usable with Linux 2015-01-22 14:30:47 +11:00
Andrew Tridgell
b4ce3e0ba5 autotest: lock in the altitude before the FBWB test 2015-01-22 11:33:25 +11:00
Andrew Tridgell
5512a6f8a0 SITL: lower the default noise in SITL
the noise levels were well above realistic levels, especially for gyro
noise, and were causing EKF issues
2015-01-22 11:33:09 +11:00
Andrew Tridgell
d239d8314a Replay: fixed replay for re-organised dataflash messages 2015-01-21 14:38:37 +09:00