Commit Graph

14494 Commits

Author SHA1 Message Date
priseborough
5bd4ee9715 AP_NavEKF: Use compensation for baro delay in position hold mode 2014-12-31 13:13:58 +09:00
priseborough
4dc1ee2d66 AP_NavEKF: Rename static mode to avoid confusion with other non-GPS modes
This renames static mode as posHoldMode to make it clearer what this and the other non-GPS modes do
2014-12-31 13:13:54 +09:00
priseborough
b160f4c03b AP_NavEKF: Compensate optical flow fusion for GPS glitch recovery offset 2014-12-31 13:13:52 +09:00
priseborough
e4c969084d AP_NavEKF: Improve behaviour recovering from a GPS timeout
When regaining GPS after a timeout, an offset is applied when fusing  GPS velocity so that GPS velocity and position data as fused by the EKF is kinematically consistent.
This velocity offset is also accounted for when fusing air data so that wind estimates are not corrupted when the GPS position offset is being pulle back to zero.
The intended behaviour is that the EKF position will be pulled back to the GPS position at a rate of 5m/s for planes and 1 m/s for copters. This avoids large deviations in trajectory when GPS is regained.
2014-12-31 13:13:50 +09:00
priseborough
6eb533121c AP_NavEKF: Add static mode to solution status message 2014-12-31 13:13:48 +09:00
priseborough
5c3a56a087 AP_NavEKF: Fix error in comments 2014-12-31 13:13:46 +09:00
priseborough
3891dada78 AP_NavEKF: remove unnecessary function 2014-12-31 13:13:44 +09:00
priseborough
a16253796f AP_NavEKF: Fix bug preventing the non-GPS mode being selected externally
When on the ground it is likely the flow sensor will be returning  data that does not meet the minimum quality requirements selected.
The previous check was for the presence of valid data. This has been loosened to look for the presence of data.
When the vehicle becomes airborne, the quality of flow data normally improves as the image comes into focus.
2014-12-31 13:13:42 +09:00
priseborough
a42100e4c5 AP_NavEKF: Improved handling of no GPS
This patch enables indoor operation of the EKF by putting it into static mode if optical flow operation is not enabled and no GPS is available
2014-12-31 13:13:40 +09:00
priseborough
73a06cd0c1 AP_NavEKF: Fix bug causing magnetic field state learning to be forgotten 2014-12-31 13:13:37 +09:00
priseborough
bf89c56e54 AP_NavEKF: Fix comments error in description of flow sensor sign conventions 2014-12-31 13:13:35 +09:00
priseborough
685fa383e4 DataFlash: Log EKF solution status message
This message is a bitmasked integer that will be used by control software to determine what data is available from the EKF and decide what control modes are available.
Duplicate static mode message removed. Static mode is now contained in the bitmasked solution status message
2014-12-31 13:13:33 +09:00
priseborough
4eb19c2324 AP_NavEKF: Rationalise health status reporting
1) Un-used public methods to report height and position drifting have been removed
2) A time-out has been added to the airspeed innovation consistency check so that if we are relying on airspeed to constrain velocity drift, a filter divergence or other fault that causes the airspeed to be continually rejected will trigger a change in health status.
3) A timeout of velocity, position or height measurements does not cause a filter fault to be reported. Timeouts can be due to sensor errors and do not necessarily indicate that the filter has failed.
4) Time-outs of various measurements are used to present a consolidated bitmask which inidicates which parts of the solution can be used, eg attitude, height, velocity, relative position, absolute position, etc.
2014-12-31 13:13:31 +09:00
priseborough
78b30e4ce5 AP_NavEKF: Increase rate at which GPS glitch offsets are reduced for planes 2014-12-31 13:13:29 +09:00
Randy Mackay
82a83200b1 AutoTest: minor fix to AVC copter params
remove unnecessary AHRS_EKF_USE because it's on by default now
2014-12-30 20:48:53 +09:00
Randy Mackay
4ea48f8f64 AutoTest: increase throttle for fly_square test 2014-12-30 20:48:12 +09:00
Andrew Tridgell
e0943851d6 DataFlash: log gyro and accel error counts 2014-12-30 12:16:02 +11:00
Andrew Tridgell
b9adc6e466 AP_InertialSensor: prefer sensors that have zero error counts
if a sensor has failed in flight then try not to use it if another
error-free sensor is available
2014-12-29 21:19:35 +11:00
Andrew Tridgell
8d393c89d0 autotest: fixed bash syntax 2014-12-27 21:40:57 +11:00
Randy Mackay
f2b0fc3566 Copter: disarm on landing regardless of pilot input 2014-12-27 13:33:06 +09:00
Randy Mackay
4a1ba9b186 AC_WPNav: minor const fix 2014-12-27 13:19:32 +09:00
Randy Mackay
72127cde35 Copter: remove broken support for do-change-alt
This command was not implemented fully removing this code resolves a
compiler warning
2014-12-26 22:17:45 +09:00
Randy Mackay
2bc1b7e4d6 Copter: skip pre-arm checks when already armed 2014-12-26 22:01:43 +09:00
Brandon Basso
4ace5bcccb CHDK script changes
S100 settings
2014-12-26 16:04:35 +09:00
Randy Mackay
990a34cb75 Copter: remove support for do-set-home mission command
This avoids the chance of an arithmetic exception in cases where the
position is moved too far
2014-12-26 15:55:26 +09:00
Randy Mackay
c7192c5eef Notify: remove Led class
This class didn't add any functionality beyond what the NotifyDevice class
already provided so in keeping with our desire to keep things simple we
can remove this class
2014-12-26 13:06:41 +09:00
Randy Mackay
352b52d73f Notify: remove reliance on Led class 2014-12-26 13:06:24 +09:00
Randy Mackay
860e4b1ce2 Tracker: pre_arm_gps_check flag always true 2014-12-26 12:32:43 +09:00
Randy Mackay
4db219e70a Rover: pre_arm_gps_check flag always true 2014-12-26 12:32:41 +09:00
Randy Mackay
11def53ca7 Plane: pre_arm_gps_check flag always true 2014-12-26 12:32:38 +09:00
Randy Mackay
2ea9b8a5a8 Copter: set pre_arm_gps_check flag 2014-12-26 12:32:36 +09:00
Randy Mackay
d67b4a8d49 Notify: add pre_arm_gps_check flag
RGB LED will remain flashing blue when vehicle is disarmed and this
check has failed (i.e. false).
2014-12-26 12:32:34 +09:00
The Gitter Badger
e757d75f54 Added Gitter badge 2014-12-23 05:38:32 +00:00
Andrew Tridgell
c93ae67541 DataFlash: don't try and open logfile on failure more than once
this prevents a corrupted microSD card from causing a continuous
attempt to open a log file while in flight, which can cause large
scheduler delays

Pair-Programmed-With: Grant Morphett <grant@gmorph.com>
2014-12-21 14:50:42 +11:00
Andrew Tridgell
abd1ece6e3 DataFlash: don't write out parameters if log open fails 2014-12-21 14:50:42 +11:00
priseborough
f2c506339a AP_NavEKF: Reduce time required to recover from GPS timeouts
The time required for GPS to be lost or rejected before vehicles with airspeed sensors either reset to GPS or invoke the zero side-slip assumption to constrain drift has been reduced from 15 to 10 seconds
A duplicate zeroing of the GPS position offset has been removed
If the vehicle is a non hovering vehicle (eg a plane) then the speed at which the GPS offset is pulled back to zero after a reset is increased from 1 to 3  m/s

This also improves recovery from bad inertial data for planes
2014-12-18 21:50:40 +11:00
priseborough
f73816dbb5 AP_NavEKF: Improve robustness to long periods without GPS 2014-12-18 21:07:45 +11:00
Randy Mackay
a44b4b5e87 Mission: allow 15 do-jump commands on Pixhawk 2014-12-18 17:02:48 +09:00
Randy Mackay
05fedbf98f Copter: minor formatting fixes 2014-12-18 16:38:34 +09:00
Jonathan Challinger
91bff63267 Copter: Fix LAND overshoot issue 2014-12-18 16:38:31 +09:00
priseborough
3afde0061f AP_NavEKF: Use named states for velocity reset
Readibility improvement
2014-12-18 17:29:50 +11:00
priseborough
f6ce25df2a AP_NavEKF: Do not reset vertical velocity state from GPS
Doing this can cause large height and height rate errors if large GPS velocity errors cause the GPS tn be rejected for long enough to cause a timeout and reset of states.
2014-12-18 17:29:47 +11:00
Andrew Tridgell
597273cfff AP_TECS: remove lag from height demand in landing
this predicts ahead the height demand for landing, where we have a
continuous demanded descent. This removes the effect of the lag
introduced by the height demand filters
2014-12-18 09:58:12 +11:00
Andrew Tridgell
eb13395967 Plane: cleanup mavlink_system setup 2014-12-17 11:30:04 +11:00
Andrew Tridgell
87df3c3442 Rover: cleanup mavlink_system setup 2014-12-17 11:29:50 +11:00
Andrew Tridgell
b5a5b71512 GCS_MAVLink: reverse sense of check_and_forward()
also increase number of routes on larger systems and improved route
learning logic
2014-12-17 10:32:28 +11:00
Andrew Tridgell
a967a682a4 GCS_MAVLink: added routing test sketch 2014-12-17 10:32:28 +11:00
Andrew Tridgell
7f817502c4 GCS_MAVLINK: implement new routing rules
see description in coments
2014-12-17 10:32:28 +11:00
Randy Mackay
b6bcf841e1 Copter: remove second camera mount 2014-12-16 21:26:20 +09:00
Andrew Tridgell
976ae14f1f Plane: improve landing aim point calculation
try to account for wind and current ground speed to dynamically update
glide slope in landing to flare at the right point
2014-12-15 21:51:08 +11:00