Commit Graph

12184 Commits

Author SHA1 Message Date
Andrew Tridgell 85ebe81ed3 AP_NavEKF: fixed logic for divergence test
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-05-11 18:00:38 +10:00
priseborough 40dc0e56fe AP_NavEKF: Add protection for badly conditioned innovation variances 2014-05-11 18:00:38 +10:00
priseborough 925c5751bd AP_NavEKF: Add ability to inhibit in-flight mag cal and clean up moding
This will enable in-flight magnetometer calibration to be inhibited unconditionally,
This is required for long balloon carriage flights where ground speed can be high
enough to put it into in-air state, but with very poor observability of magnetic field
states causing bad state estimates and heading offsets to develop over time.

The covariance matrix no longer has rows and columns artificially zeroed when in static
mode. Instead booleans indicating whether wind or magentic field state estimation is
active are used to:

a) Set the process noise on these states to zero to stop their variances from increasing
unchecked when not being updated, and
b) Turn off updates for these states when measurement fusion is being performed.

This reduces the likelihood of a badly conditioned covariance matrix forming
during static mode operation.

A filter divergence check has also been added that will declare the filter unhealthy if
position, velocity and magnetic field observations are all failing their innovation
consistency checks. This unhealthy status will persist for 10 seconds after the
condition clears.

AP_NavEKF: Remove unnecessary zeroing of wind covariances
2014-05-11 18:00:38 +10:00
priseborough 3026ccee13 AP_NavEKF: Use baro data during launch transients whilst in static mode
Baro data can be used as it will still be valid during the launch and
is not a synthesised measurement.
2014-05-11 18:00:38 +10:00
Randy Mackay a38e00c048 Copter: remove unused HIGH, LOW definitions
Minor commit to kick off the auto build so AC3.2-rc1 will go out
2014-05-09 16:35:21 +09:00
Randy Mackay 3f329d0857 Copter: version to AC3.2-rc1 2014-05-09 13:48:47 +09:00
Randy Mackay e75d6a2da6 Copter: remove meaningless check from motor_test 2014-05-09 13:48:44 +09:00
Randy Mackay 0c7a3f1ec5 Copter: remove unused Log_Write_GPS function 2014-05-09 13:48:41 +09:00
Randy Mackay b4dcad725c Copter: remove unused servo_write function 2014-05-09 13:48:38 +09:00
Randy Mackay 1e8b99ad17 Copter: update release notes for AC3.2-rc1 2014-05-09 13:48:35 +09:00
Randy Mackay 05f5164dfa Mission: rename AUTORESET to RESTART 2014-05-09 11:31:37 +09:00
Andrew Tridgell cc1b75ad29 autotest: restore timeout in log download
this removes the debug code now that the issue has been found (it was
an old version of pymavlink causing the problem)
2014-05-09 09:50:22 +10:00
Andrew Chapman 3f0a52cb53 Copter: ch7/8 switch for auto pause/continue
- added new mode for CH7/CH8 (#24, auto mission reset)
- changed mission.start() to mission.start_or_resume() in auto_init()
2014-05-08 23:09:42 +09:00
Andrew Chapman 8640e11728 Copter: bug fix rally point landing target
was drifting toward home by some distance as (0,0,0) was hard-coded in
control_rtl.pde. Fixed, tested in SITL
2014-05-08 23:09:40 +09:00
Hug0 6b0d5f9770 AP_InertialNav: fix pos error degradation rate
degrate position_error to 10% over 2 seconds (assumes 5hz update rate)
must be *0.7943 instead of 0.7934
2014-05-08 23:09:39 +09:00
Andrew Tridgell 73dc32108f autotest: try to debug log download timeouts 2014-05-08 17:38:49 +10:00
Randy Mackay badc127c34 AC_WPNav: fix example sketch 2014-05-08 16:25:13 +09:00
Randy Mackay 9b6a4e0fc7 AC_Sprayer: fix example sketch 2014-05-08 16:25:11 +09:00
lthall 9ab9eaec25 AC_WPNav: Loiter jerk default to 10m/s/s/s
Pair programmed with Randy
2014-05-08 16:16:05 +09:00
Randy Mackay 197d83e32a Copter: bug fix to sport roll pitch control 2014-05-08 16:16:02 +09:00
Randy Mackay 0af9d502d9 Copter: set pos controller speeds before circle init
This ensures stopping point is calculated correctly
2014-05-08 16:15:59 +09:00
Randy Mackay 1cb297580f Copter: reduce Circle init twitch by using stopping point 2014-05-08 16:15:57 +09:00
Randy Mackay 3cc5b9446f Copter: AUTO and Guided call wp_and_spline_init 2014-05-08 16:15:55 +09:00
Randy Mackay 11918869a5 Copter: RTL calls wp_and_spline_init 2014-05-08 16:15:52 +09:00
Randy Mackay 091ff91a70 WPNav: add wp_and_spline_init to set speeds an init pos controller 2014-05-08 16:15:50 +09:00
Randy Mackay c13db680b7 AC_PosControl: remove reset_I_xy
lean_angles_to_accel is now used to load the position rate I terms based
on vehicle's initial roll and pitch angle
2014-05-08 16:15:48 +09:00
Randy Mackay cd8b1f278c AC_PosControl: remove unused _cos_yaw variable
Also removed _sin_yaw, _cos_pitch, _step saving a total of 17bytes of
RAM
Also made get_speed_up, get_speed_down, lean_angles_to_accel functions
const
2014-05-08 16:15:46 +09:00
Randy Mackay 48ec0caf75 AC_WPNav: run navigation at 10hz in SITL 2014-05-08 16:15:44 +09:00
Randy Mackay 0819e05896 AC_PosControl: lean_angles_to_accel added for smooth initialisation
init_xy_controller also added to capture initialisation all in one place
2014-05-08 16:15:41 +09:00
lthall b38c484874 AC_WPNav: add LOIT_JERK parameter
Limit accel output from loiter controller.
Call new pos_control.init_xy_controller when loiter starts
Remove sudden stop when pilot requested acceleration is zero

Pair programmed with Randy
2014-05-08 16:15:38 +09:00
Randy Mackay 71fae1e6f2 AC_AttControl: lean_angle_max accessor fn const 2014-05-08 16:15:36 +09:00
Randy Mackay ff1a58e078 Copter: increase LOITER_RATE_IMAX to 1000
This allows us to load up the I term with the vehicle's current
acceleration during mode transitions

pair programmed with Randy
2014-05-08 16:15:34 +09:00
Randy Mackay fb2be07b44 Copter: update AC_WPNav instantiation 2014-05-08 16:15:29 +09:00
Randy Mackay fd9f8f571f AC_WPNav: replace inav, ahrs pointers with references 2014-05-08 16:15:26 +09:00
lthall 21c93e48ab AC_PosControl: include vel error when get_stopping_point_z
Pair programmed with Randy
2014-05-08 16:15:24 +09:00
Randy Mackay a1f1dd8059 AC_PosControl: add is_active_z method
Consolidated z-axis timeout checks to save 4bytes of RAM
Added POS_CONTROL_ACTIVE_TIMEOUT_MS to make timeout consistent
2014-05-08 16:15:22 +09:00
Andrew Tridgell 3909a9574b AVR: fixed some build warnings with gcc 4.8.2 2014-05-08 15:15:55 +10:00
Andrew Tridgell b6774b8bc7 autotest: raise the time for log download 2014-05-08 15:15:55 +10:00
Randy Mackay 10d7ab5840 Copter: update release notes for AC3.1.4 2014-05-08 11:58:37 +09:00
Andrew Tridgell 603e84a688 SITL: disable missing initializer warnings
not specifying all initializers is normal
2014-05-08 11:11:35 +10:00
Andrew Tridgell 74227cd7f0 AP_HAL: prevent some FastDelegate warnings 2014-05-08 11:11:03 +10:00
Andrew Tridgell 0991af86f3 Plane: removed some usused code
setting up flight modes by CLI is not used any more
2014-05-08 11:10:50 +10:00
Andrew Tridgell a295760e56 AP_Rally: fixed indentation
previous indentation confused emacs24
2014-05-08 11:01:52 +10:00
Andrew Tridgell 3dc0404e2b SITL: prevent unused parameter warnings 2014-05-08 11:01:32 +10:00
Andrew Tridgell cd8fd86565 Rover: use mission.start_or_resume()
this allows the user to setup whether a mission restarts or resumes
2014-05-08 08:36:40 +10:00
Craig Elder 32a1fac612 Frame_params: Removed TRIM_AUTO,1 2014-05-06 14:53:53 -07:00
Andrew Tridgell 4efcae46ab SITL: cope with more rubbish startup values from JSBSim 2014-05-04 17:30:10 +10:00
Andrew Tridgell c1aa2181dc Plane: update release notes for 3.0.2 2014-05-04 16:31:07 +10:00
Andrew Tridgell f233f95785 Plane: prepare for release of 3.0.2 2014-05-04 16:04:08 +10:00
Andrew Tridgell 320834a5e7 HAL_PX4: read from FRAM in 128 byte chunks (2nd try)
this time without the amazingly silly bug
2014-05-02 22:12:45 +10:00