Commit Graph

103 Commits

Author SHA1 Message Date
Peter Barker 5eeed442c8 AP_AHRS: correct comment 2017-12-13 10:04:50 +09:00
Peter Barker 8a4ab685c7 AP_AHRS: implement get_hgt_ctrl_limit on base class
If no limits are required false can be returned, so an trivial
implementation is possible
2017-12-08 11:27:37 +09:00
Randy Mackay 82cd320bd0 AP_AHRS: add get_origin method to parent 2017-12-01 09:28:56 +09:00
Lucas De Marchi e2a9d9c001 AP_AHRS: add static create method 2017-09-26 03:01:21 +01:00
Lucas De Marchi 40fd1b346c global: remove rangefinder from AP_AHRS_NavEKF
AP_AHRS_NavEKF doesn't use the rangefinder, it just delegates the
calls to the right estimator.

For libraries/AP_AHRS/examples/AHRS_Test/AHRS_Test.cpp the initialization
order has also been modified to match the order on vehicles. It's more
correct since it passes a reference when EKF2/EKF3 are already
constructed, while thos constructors use a pointer.  Ideally these
should be moved to an init() method though, or use a get_instance().
2017-09-26 03:01:21 +01:00
Randy Mackay 0af9433c8e AP_AHRS: add set_origin 2017-04-22 10:37:31 +09:00
Eugene Shamaev 5c080ce875 AP_AHRS: calculation and reporting of AOA and SSA 2017-04-19 20:48:42 +10:00
priseborough 90cd46f4d7 AP_AHRS: simulate body frame odometry sensor 2017-04-19 11:04:40 +09:00
priseborough 3b82f60b08 AP_AHRS: add interface for use of visual odometry data 2017-04-19 11:04:40 +09:00
Andrew Tridgell 5758532326 AP_AHRS: make AHRS2 quaternion available 2017-04-16 14:01:36 +10:00
Andrew Tridgell a11dca5229 AP_AHRS: added optional skip_ins_update to AHRS::update()
avoid the ins update if already done in copter fast_loop()
2017-04-03 13:04:11 +09:00
Peter Barker e744460ff5 AP_AHRS: mark many functions as override
Also take the opportunity to remove void parameter
2017-02-24 21:13:08 +11:00
Peter Barker 6ee4045878 AP_AHRS: mark new relative position functions override 2017-02-24 21:13:08 +11:00
Michael du Breuil 3274f1dbb1 AP_AHRS: Split all NED methods into a collection of NED relative to home vs origin 2017-02-13 09:23:14 +11:00
priseborough 93aa40a9e0 AP_AHRS: Fix EKF3 gyro bias reporting and improve code clarity 2017-02-08 19:11:08 +00:00
priseborough e2757c17c8 AP_AHRS_NavEKF: fix ekf variable naming and initialisation 2017-01-27 16:57:42 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas 8419045aea Spell in comments 2017-01-06 10:57:39 -08:00
priseborough 33a7c682a3 AP_AHRS: Add EKF3 and remove EKF1 2016-12-19 08:07:10 +11:00
Andrew Tridgell ab05472e0e AP_AHRS: added EKF3 for EKF experimentation
Conflicts:
	libraries/AP_AHRS/AP_AHRS_NavEKF.cpp
2016-12-18 10:28:04 +11:00
Randy Mackay c615bac1cd AP_AHRS: add getLastPosDownReset accessor 2016-11-24 19:57:53 +09:00
Andrew Tridgell 772209b3f3 AP_AHRS: make posOffset a const reference 2016-10-27 15:45:24 +11:00
priseborough 6069c37b19 AP_AHRS: add position offset to optical flow interface 2016-10-27 14:54:42 +11:00
Mathieu OTHACEHE 152edf7189 Global: remove mode line from headers
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Jonathan Challinger 25a14fe0dc AP_AHRS: add interface to retrieve corrected delta velocities in NED frame 2016-10-14 10:45:58 +09:00
floaledm 27e977289a AP_AHRS: add the get_variances method found in AP_AHRS_NavEKF to AP_AHRS 2016-09-27 09:20:32 -07:00
Andrew Tridgell 334db0a1a5 AP_AHRS: added get_primary_accel_index() and get_primary_gyro_index() 2016-09-05 12:56:36 +10:00
Andrew Tridgell c62fc336cb AP_AHRS: use current EKF2 IMU core in gyro estimate
The EKF2 implementation uses one IMU per EKF2 core. When reporting the
gyro estimate, accel_ef estimate and gyro bias estimate we need to use
the values associated with the current IMU index being used by the
current EKF2 core. Otherwise we will have an inconsistency between the
gyro estimate and attitude estimate

This affects all multi-IMU systems using EKF2
2016-09-05 12:54:53 +10:00
LukeMike d8cc2668cb VRBRAIN / AP_AHRS_NavEKF: set AP_AHRS_WITH_EKF1 to 1 only for VR Brain 5.4 2016-08-07 20:31:51 +10:00
priseborough 5454f76702 AP_AHRS: Add separate interfaces for local horizontal and vertical position 2016-07-19 12:16:49 +10:00
Andrew Tridgell 8486d4ab5e AP_AHRS: disable EKF1 on all PX4v1 and PX4v2 boards
we're out of space in copter now too
2016-05-21 15:25:18 +10:00
Ricardo de Almeida Gonzaga 2bf9aa94ad AP_AHRS: Fix typos 2016-05-13 19:20:06 -03:00
Andrew Tridgell 795080742e AP_AHRS: added have_ekf_logging() API 2016-05-07 18:27:19 +10:00
Andrew Tridgell 07060051cf AP_AHRS: added API for forcing EKF to start
used by Replay to sync start times
2016-05-07 18:27:18 +10:00
Jonathan Challinger 6a5f1c0bec AP_AHRS_NavEKF: reflect changes to getMagOffsets 2016-04-21 09:53:03 +10:00
Jonathan Challinger 18240107f0 AP_AHRS_NavEKF: add getGpsGlitchStatus 2016-04-14 12:24:04 +09:00
Andrew Tridgell 9db618c73c AP_AHRS: disable EKF1 for plane
we are running too close to the 1MByte limit for pixhawk. This
recovers nearly 100kbyte of flash
2016-04-04 11:08:03 +10:00
Lucas De Marchi e0153faa85 AP_AHRS: replace header guard with pragma once 2016-03-16 18:40:40 +11:00
Andrew Tridgell d0b67ce007 AP_AHRS: allow for EKF without GPS on plane in VTOL modes
this allows for testing quadplanes indoors
2016-03-05 08:58:08 +11:00
Jonathan Challinger cbf2309023 AP_AHRS: add get_mag_field_NED and get_mag_field_correction 2016-01-23 10:35:36 +09:00
Jonathan Challinger a2999ece54 AP_AHRS_NavEKF: add setTakeoffExpected, setTouchdownExpected 2015-12-28 13:51:24 +09:00
Jonathan Challinger 6682b27456 AP_AHRS: rename get_dcm_matrix to get_rotation_body_to_ned 2015-12-18 18:08:37 +11:00
Andrew Tridgell b3e6129fd4 AP_AHRS: added EKF type 10 for SITL
this bypasses all attitude and position estimators and uses the SITL
state directly. It can be used for when the SITL backend cannot
provide perfect sensor data
2015-11-22 17:30:28 +11:00
Randy Mackay 4e959ef6f9 AP_AHRS: constify getLastPosNorthEastReset
Also constify getLastVelNortEastReset
2015-10-30 12:24:13 +09:00
Randy Mackay 7c20577ee0 AP_AHRS: constify getLastYawResetAngle 2015-10-30 12:24:10 +09:00
Paul Riseborough f67f6b01f4 AP_AHRS: Publish the EKF position and velocity reset deltas 2015-10-30 12:24:05 +09:00
Caio Marcelo de Oliveira Filho f7c73fbb13 AP_AHRS: remove AHRS_EKF_USE_ALWAYS define
This option now is passed when instantiating the code in ArduCopter, so
selecting the default value at compile time is not necessary anymore.

The motivation is to move vehicle specifc code out of the general
libraries. This patch shouldn't change behavior.
2015-10-21 11:01:11 +11:00
Caio Marcelo de Oliveira Filho 9d2e3157fe AP_AHRS: add a runtime flag for always using EKF
The AHRS_EKF_USE_ALWAYS define is used to force EKF to be always
used. It is defined only for building ArduCopter. Change it to be a
runtime flag. Keep its default value still based on the original define,
once the Copter uses it the define will be removed.

The motivation is to move vehicle specifc code out of the general
libraries. This patch shouldn't change behavior.
2015-10-21 11:01:10 +11:00
Paul Riseborough 0722ebe8a0 AP_AHRS: Add EKF variance checks 2015-10-20 15:21:38 +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 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