Commit Graph

18694 Commits

Author SHA1 Message Date
Paul Riseborough 1b8a93ef0c AP_NavEKF2: Update function header comments 2015-10-20 15:21:38 +11:00
Paul Riseborough 6899767d28 AP_NavEKF2: Disable magnetic field learning if we have no absolute position reference 2015-10-20 15:21:38 +11:00
Paul Riseborough 75a61df627 Copter: Enable access to EKF2 height tuning 2015-10-20 15:21:38 +11:00
Paul Riseborough d0aba09503 Copter: Access EKF healthy through AHRS object
Enables EKF2 use
2015-10-20 15:21:38 +11:00
Paul Riseborough 19785c1033 Copter: Access EKF origin through AHRS object
Enables EKF2 use
2015-10-20 15:21:38 +11:00
Paul Riseborough 7c6b31b585 Copter: Access EKF variance checks through AHRS object
Supports flight using EKF2
2015-10-20 15:21:38 +11:00
Paul Riseborough 0722ebe8a0 AP_AHRS: Add EKF variance checks 2015-10-20 15:21:38 +11:00
Paul Riseborough 242b9641c8 AP_NavEKF2: Fix in-air logic bug 2015-10-20 15:21:38 +11:00
Paul Riseborough e7de2d3ea3 AP_NavEKF: Update magnetic field learning options
Provide an option to always do learning
Make field learning decision logic clearer
Change defaults so that plane learns when airborne
Change defaults so that Rover does not learn (large external magnetic interference)
2015-10-20 15:21:38 +11:00
Paul Riseborough 495809f211 AP_NavEKF2: Allow magnetic field learning to be faster 2015-10-20 15:21:38 +11:00
Paul Riseborough 84a02efd52 AP_NavEKF2: Improve efficiency of Z magnetometer fusion 2015-10-20 15:21:37 +11:00
Paul Riseborough 35b08849f7 AP_NavEKF2: Reduce effect of rounding errors on covariance prediction 2015-10-20 15:21:37 +11:00
Paul Riseborough 4e928bf294 AP_NavEKF2: Fix bug preventing pre-takeoff reference measurements 2015-10-20 15:21:37 +11:00
Paul Riseborough 71c399674a AP_NavEKF2: Delay use of magnetic field states until off-ground
Magnetic interference whilst on the ground can adversely affect filter states. This patch ensures that the simpler and more robust magnetic heading observation method is used until the vehicle has cleared the ground.
2015-10-20 15:21:37 +11:00
Paul Riseborough 99c2dc41e0 AP_NavEKF2: Miscellaneous tuning changes 2015-10-20 15:21:37 +11:00
Paul Riseborough 2d44441d6b DataFlash: Make EKF2 PosDownDerivative interface follow coding conventions
Updates arising from peer review.
2015-10-20 15:21:37 +11:00
Paul Riseborough ae830b44c4 AP_AHRS: Make EKF2 PosDownDerivative interface follow coding conventions
Updates arising from peer review.
2015-10-20 15:21:37 +11:00
Paul Riseborough 840f307d58 AP_NavEKF: Make EKF2 PosDownDerivative interface follow coding conventions
Updates arising from peer review.
2015-10-20 15:21:37 +11:00
Paul Riseborough 1323db10e8 DataFlash: Make EKF2 PosDownDerivative interface follow coding conventions
Updates arising from peer review.
2015-10-20 15:21:37 +11:00
Paul Riseborough e8037f94ad AP_AHRS: Make EKF2 PosDownDerivative interface follow coding conventions
Updates arising from peer review
2015-10-20 15:21:37 +11:00
Paul Riseborough 47ae0f35f6 AP_NavEKF2: Make EKF2 PosDownDerivative interface follow coding conventions
Updates arising from peer review.
2015-10-20 15:21:37 +11:00
Paul Riseborough f63c32531c AP_InertialNav: Address peer review comments
The decision to set the origin to zero has been moved out of the AHRS library and into the inertial nav library as this is consumer specific.
2015-10-20 15:21:36 +11:00
Paul Riseborough 58d57994f4 AP_AHRS: Rectify coding errors found during peer review
Fixes code that didn't take into account fall-through behaviour of C++ switch statements
Makes get_rigin furnction more generic allowing the consumer to decide what to do with an invalid origin
2015-10-20 15:21:36 +11:00
Paul Riseborough 27393855f1 AP_NavEKF2: Change assumed gyro calibration accuracy
If an external gyro calibration has been performed, we should assume that it has been done under static conditions
Otherwise it is pointless and we should allow the EKF to find its own gyro bias offsets.
2015-10-20 15:21:36 +11:00
Paul Riseborough 67a669fcdc AP_NavEKF2: Correct comments for height measurement 2015-10-20 15:21:36 +11:00
Paul Riseborough 0dc570b5a5 AP_NavEKF2: Improve optical flow takeoff detection logic
Ensure takeoff detect status goes to false when on ground
2015-10-20 15:21:36 +11:00
Paul Riseborough d3a6690e4f AP_NavEKF2: Fix bugs preventing use of optical flow navigation 2015-10-20 15:21:36 +11:00
Paul Riseborough 24c0309e85 AP_InertialNav: Enable flight using EKF2
All EKF functions are accessed via the AHRS library enabling AHRS_EKF_TYPE to determine which EKF is being used by the control loops
2015-10-20 15:21:36 +11:00
Paul Riseborough e65ae51564 AP_AHRS: Enable AP_InertialNav to access all EKF functions via AP_AHRS
This patch adds additional methods to the the AHRS library so that the AP_InertialNav library dow nto have to access the EKF directly. This enables Copter to fly using the EKF nominated by AHRS_EKF_TYPE.
It will also pave the way to elimination of the AP_InertialNav library.
2015-10-20 15:21:36 +11:00
Paul Riseborough f062ed4180 AP_InertialNav: Add output method for rate of change of vertical position 2015-10-20 15:21:36 +11:00
Paul Riseborough dab658f6ed AP_NavEKF: Add methods to output and calculate vertical position derivative 2015-10-20 15:21:36 +11:00
Paul Riseborough 9e3d9d15fc DataFlash: Log vertical position derivative output 2015-10-20 15:21:35 +11:00
Paul Riseborough 52fd369b2f AP_NavEKF2: Add methods to output and calculate vertical position derivative
This patch calculates a derivative of the vertical position (positive down).
The derivative is exposed via a public function.
2015-10-20 15:21:35 +11:00
Andrew Tridgell a39b341308 PX4: clean out .d dependency files from uavcan on px4-cleandep 2015-10-20 15:09:28 +11:00
Andrew Tridgell f5b5a3b0f8 AP_NavEKF: added EKF_DISABLE_INTERRUPTS
this helps with performance tuning
2015-10-20 14:37:41 +11:00
Andrew Tridgell 7ae5d3220a PX4: allow up to 1300 bytes frame size
needed for optimised EKF code
2015-10-20 14:36:58 +11:00
Andrew Tridgell 10fddf4c7e AP_NavEKF: enable optimisation level 3 for the EKF 2015-10-20 14:36:56 +11:00
Andrew Tridgell c9ec8b3f67 AP_Math: added O3 optimisation to core math libraries
this costs some flash space but speeds things up considerably
2015-10-20 14:36:53 +11:00
Andrew Tridgell 2ae0811458 AP_NavEK2: fixed perf counter names for EKF2 2015-10-20 14:36:49 +11:00
Randy Mackay 756d564b7c Mission: sanity check command altitudes 2015-10-19 16:15:08 +09:00
Randy Mackay acd8252e4b Common: add location alt max definition 2015-10-19 16:15:05 +09:00
Randy Mackay d03489263d Copter: remove gyro cal on first arming 2015-10-19 12:00:41 +09:00
Randy Mackay b751d2bb18 InertialSensor: remove gyro cal on first arming 2015-10-19 12:00:38 +09:00
Andrew Tridgell 2ea23d66b0 PX4: use -fsingle-precision-constant for PX4 APM build
this will prevent us having to chase cases where developers forget to
add the f to a floating point constant in APM code
2015-10-19 12:12:20 +11:00
Jonathan Challinger 598925f8d2 Copter: EKF failsafe action always Land if RC failsafe active 2015-10-18 10:06:05 +09:00
orlando3d 6d266d2063 Update 3DR_X8-M_RTF.param 2015-10-18 09:27:54 +09:00
orlando3d 7c0239e59c Update 3DR_X8+_RTF.param 2015-10-18 09:27:51 +09:00
orlando3d 11ae5a64d0 Update 3DR_Iris+.param 2015-10-18 09:27:49 +09:00
Andrew Tridgell 4e220284e0 PX4: allow I2C airspeed sensor on either bus 2015-10-16 18:38:40 +11:00
Randy Mackay 073828a764 Plane: add ahrs health pre-arm check 2015-10-16 13:50:59 +09:00