Peter Barker
608608f32f
AP_AHRS: internalise application of correct_centrifugal
...
This is a DCM-only option but that's not clear with the interface.
Internalise the variable and base it off build type.
2021-08-17 10:36:46 +10:00
Peter Barker
1cfd9f57ce
AP_AHRS: move VehicleClass handling to AHRS frontend
...
.... and renaming the enumeration while we're at it
2021-08-17 10:34:07 +10:00
Peter Barker
29aed55a74
AP_AHRS: remove pointless zeroing of gyro_estimate vector
...
This value is assigned to in the following "if" block in both the for
and against cases, and isn't used to determine the new value.
2021-08-12 08:52:24 +10:00
Peter Barker
73bad9fd2d
AP_AHRS: move fly_forward flag to front end
...
This same flag is requested by the DAL so AN_NavEKF2 and AP_NavEKF3 can
use it in their estimates - so AP_AHRS_DCM accessing it via the same
mechanism is not out-of-shape
2021-08-11 15:36:22 -07:00
Peter Barker
e9c56a2b0a
AP_AHRS: move takeoff/touchdown flags to frontend
2021-08-11 18:45:34 +10:00
Peter Barker
ecd488b3c3
AP_AHRS: move trim-related functionality to front end
2021-08-10 09:41:19 +10:00
Peter Barker
7f4a4a99d6
AP_AHRS: move home and origin methods to frontend
2021-08-05 10:37:47 +10:00
bugobliterator
62b6350af1
AP_AHRS: use typename SIM instead of SITL as it conflicts with namespace name
2021-08-05 07:25:31 +10:00
bugobliterator
114d7b22f4
AP_AHRS: change class name from SITL::SITL to SITL::SIM
2021-08-05 07:25:31 +10:00
Peter Barker
107e647d00
AP_AHRS: correct compilation under SITL with no EKF3
2021-08-04 18:15:55 +10:00
Andrew Tridgell
5dab362286
AP_AHRS: mark log messages as streaming
2021-08-03 10:23:36 +10:00
Peter Barker
383807e334
AP_AHRS: move AOA state to private in frontend
...
AP_AHRS: make update_AOA_SSA non-virtual
2021-08-02 20:55:04 +10:00
Peter Barker
d131cf01d3
AP_AHRS: use compass reference rather than pointer
2021-07-30 17:37:08 +10:00
Peter Barker
ca58aa9c5f
AP_AHRS: stop using AHRS as conduit for Compass pointer
2021-07-30 12:19:42 +10:00
Peter Barker
e4bceb2417
AP_AHRS: move AOA/SSA to AP_AHRS, don't recalc on fetch
2021-07-30 11:23:06 +10:00
Iampete1
9cceb2d5c1
AP_AHRS: update orientation param values
2021-07-28 18:09:05 +10:00
Peter Barker
f557d41145
AP_AHRS: rotate quaternions into vehicle body frame
...
DCM was having it both ways depending on whether it was
primary/secondary.
These are mostly uses for reporting, in which case you would expect the
quaternion to match the eulers.
2021-07-28 17:20:28 +10:00
Peter Barker
5160b4f6ca
AP_AHRS: move AP_NMEA_Output to AHRS frontend
2021-07-27 16:55:35 +10:00
Peter Barker
88d49effe7
AP_AHRS: move variable init into variable declaration
2021-07-23 09:55:14 +10:00
Peter Barker
15e5831002
AP_AHRS: remove unused get_expected_mag_field method
...
there's get_mag_field_NED on AP_AHRS....
2021-07-23 09:55:14 +10:00
Peter Barker
5b372dae06
AP_AHRS: stop storing gyro drift rate as variable
...
This is constant and is just folded into whereever it is used.
2021-07-23 09:55:14 +10:00
Peter Barker
a4d98a457b
AP_AHRS: move init of dcm state into variable declarations
2021-07-23 09:55:14 +10:00
Peter Barker
4f9201a160
AP_AHRS: move parameters back into AP_AHRS.h
...
metadata collection kind of dies otherwise
2021-07-22 21:21:40 +10:00
Peter Barker
d351b7c7dc
AP_AHRS: fix includes for moved files
2021-07-22 21:21:40 +10:00
Peter Barker
b7d4166b28
AP_AHRS: rename AP_AHRS_NavEKF.* to AP_AHRS.*
2021-07-22 21:21:40 +10:00
Peter Barker
97b394a5ef
AP_AHRS: rename AP_AHRS.* to AP_AHRS_Backend.*
2021-07-22 21:21:40 +10:00
Paul Riseborough
8f1b98a0cb
AP_AHRS: Add accessor function for vibration affected status
...
AP_AHRS: fix rebase build error
2021-07-22 18:20:45 +10:00
Peter Barker
a6a18fe193
AP_AHRS: punt to correct parent class when no index for getCorrectedDeltaVelocityNED
2021-07-21 21:01:39 +10:00
Peter Barker
b450a96698
AP_AHRS: shuffle AP_AHRS classes
2021-07-21 21:01:39 +10:00
Peter Barker
0d391533b0
AP_AHRS: remove ability to use DCM as AHRS
2021-07-21 21:01:39 +10:00
Peter Barker
141e2aae91
AP_AHRS: pass NavEKF failures back up to callers
2021-07-21 18:02:26 +10:00
Peter Barker
a92fc7845c
AP_AHRS: remove unused active_accel_instance
...
Not a great member function as only DCM updates this
2021-07-20 20:37:40 +10:00
Peter Barker
b185d84dc5
AP_AHRS: remove unused _gps_delay variable
2021-07-20 15:24:45 +09:00
Peter Barker
dc5656d34a
AP_AHRS: remove accessors only used internally
2021-07-20 12:38:57 +10:00
CallanDaniel
396a27b17e
AP_AHRS: add semaphore around set_origin
...
added semaphore around set_origin() to prevent thread racing
2021-07-08 11:54:37 +09:00
Andrew Tridgell
cd3ac639fe
AP_AHRS: added AHRS_GPS_USE=2 for no baro
...
this allows DCM to use the GPS instead of the baro for height
2021-07-08 07:56:51 +10:00
CallanDaniel
76f5db93dc
AP_AHRS: add semaphore around set_home()
...
added semaphore around set_home() to avoid thread racing
2021-06-23 10:11:02 +09:00
Peter Barker
ee0a373b60
AP_AHRS: remove HIL support
2021-06-15 09:47:31 +10:00
Pierre Kancir
d2278fb525
AP_AHRS: NavEKF: make set_origin and get_origin WARN_IF_UNUSED as base class
2021-06-12 00:01:23 +10:00
Randy Mackay
ab5d4da776
AP_AHRS: attitudes_consistent fix for roll-pitch difference calc
...
previously yaw difference would appear as roll, pitch differrences
2021-06-08 12:55:17 +09:00
Peter Barker
9eeec61cec
AP_AHRS: new APIs for takeoff/touchdown expected
...
timeout handling now in AP_AHRS, and state stored in AHRS and
requested by AP_DAL
2021-06-02 11:13:16 +09:00
Peter Barker
e141578376
AP_AHRS: remove optical flow pointer from AP_AHRS
...
Nothing was ever using it.
2021-05-30 10:44:42 +10:00
Peter Barker
28bbe4b776
AP_AHRS: remove unused AP_Beacon.h include
2021-05-30 10:44:42 +10:00
Leonard Hall
bddf6602f0
AP_AHRS: PosControl fixes
2021-05-24 20:13:37 +10:00
murata
fcba2a6e69
AP_AHRS: Remove unused methods
2021-05-18 10:06:53 +10:00
Peter Barker
52a4ac028c
AP_AHRS: remove duplicate log metadata fields
2021-04-27 16:38:40 +10:00
Hwurzburg
cf41548ce1
AP_AHRS: expand RATE log message description
2021-04-27 12:32:44 +10:00
Peter Barker
ea1884f491
AP_AHRS: remove separate calls to get delta-times for vel and ang
2021-03-13 11:29:29 +11:00
Paul Riseborough
9b53d505ea
AP_AHRS: Handle airspeed estimation with have_inertial_nav() == false
2021-03-05 12:10:01 +11:00
Paul Riseborough
aa49e92edc
AP_AHRS: Remove unused AP_AHRS_NavEKF::yaw_alignment_complete API
2021-03-05 12:10:01 +11:00
Paul Riseborough
1a3258a039
AP_AHRS: Fall back to DCM airspeed estimate if EKF velocity not available
2021-03-05 12:10:01 +11:00
Paul Riseborough
ec401083bf
AP_AHRS: Remove unused variable
2021-03-05 12:10:01 +11:00
Paul Riseborough
af2bf6097b
AP_AHRS: Add accessor function for EKF3 yaw alignment status
2021-03-05 12:10:01 +11:00
Paul Riseborough
a0faa55ef5
AP_AHRS: Fix rebase build error
2021-03-05 12:10:01 +11:00
Andrew Tridgell
6d6ec44d59
AP_AHRS: fixed build on boards without EKF2
2021-03-05 12:10:01 +11:00
Paul Riseborough
d1d790019c
AP_AHRS: Improve use of estimated airspeed
...
Enable default airspeed variance to be specified externally to the EKF
Enable use of EKF airspeed estimates
2021-03-05 12:10:01 +11:00
Pierre Kancir
77367c1376
AP_AHRS: fix example
2021-03-03 18:07:38 +11:00
Randy Mackay
62932f884f
AP_AHRS: pre_arm_check may skip position checks
2021-01-26 10:46:49 +11:00
Peter Barker
358069df24
AP_AHRS: use ground_course in preference to ground_course_cd
2021-01-26 10:22:28 +11:00
Peter Barker
60d0b0f07c
AP_AHRS: add WARN_IF_UNUSED to some getters
2021-01-21 20:41:17 +11:00
Andrew Tridgell
1ce77111e5
AP_AHRS: allow override of default EKF type
2021-01-20 10:06:45 +11:00
Randy Mackay
0cc9fd2b5d
AP_AHRS_NavEKF: get_secondary_quat and position may return EKF3 value
2021-01-16 08:24:23 +09:00
Randy Mackay
1b3ad9cd8d
AP_AHRS: use ekf3 by default
2021-01-16 08:24:23 +09:00
Peter Barker
9099a9b622
AP_AHRS: correct names for active EKF type
2021-01-12 10:23:08 +11:00
Josh Henderson
62ff9a4d4b
AP_AHRS: move logging functions to AHRS
2021-01-12 10:13:22 +11:00
Andrew Tridgell
b73131cdbc
AP_AHRS: review fixes
2021-01-05 21:13:12 +11:00
Andrew Tridgell
4e33b74d69
AP_AHRS: call external AHRS update
2021-01-05 21:13:12 +11:00
Andrew Tridgell
b5b9b57c9e
AP_AHRS: added external AHRS mavlink status
2021-01-05 21:13:12 +11:00
Andrew Tridgell
75ad1a7d31
AP_AHRS: send a text msg when active EKF changes
2021-01-05 21:13:12 +11:00
Andrew Tridgell
9dbd2d3eba
AP_AHRS: expose active EKF type for logging
2021-01-05 21:13:12 +11:00
Andrew Tridgell
e284c5694d
AP_AHRS: added AHRS_EKF_TYPE=11 for external AHRS
2021-01-05 21:13:12 +11:00
Paul Riseborough
3a0105fcc3
AP_AHRS: Add accessor function for body frame airspeed vector
2020-12-11 15:21:41 +11:00
Peter Barker
ca41a19072
AP_AHRS: AHRS itself must also be healthy to arm, not just the "backend"
2020-12-11 09:55:40 +11:00
Peter Barker
55cb3e8ef0
AP_AHRS: get airspeed sensor from singleton not AHRS object
2020-12-07 15:57:28 -08:00
Peter Barker
0fca126d06
AP_AHRS: mark get_hagl as WARN_IF_UNUSED
2020-12-07 12:10:33 +11:00
Andrew Tridgell
0a80fce8b8
AP_AHRS: removed inhibitGps and inhibitGpsVertVel options
...
these were unused
2020-12-01 10:33:50 +11:00
Randy Mackay
8c2688605e
AP_AHRS: active_EKF_type fallback to DCM checks if GPS configured for use
2020-11-25 21:00:07 +11:00
Randy Mackay
4b542aa714
AP_AHRS: add get_vel_innovations_and_variances_for_source
2020-11-20 16:43:44 +09:00
Randy Mackay
dc5d1d099b
AP_AHRS: add set_posvelyaw_source_set
2020-11-20 16:43:44 +09:00
Andrew Tridgell
cb830dcc11
AP_AHRS: added comment from review
2020-11-10 16:15:45 +11:00
Andrew Tridgell
dab091a801
AP_AHRS: cope with INS_MAX_INSTANCES below 3
2020-11-10 16:15:45 +11:00
Andrew Tridgell
1bc82d3118
AP_AHRS: removed have_ekf_logging()
2020-11-10 16:15:45 +11:00
Andrew Tridgell
9b35bfba55
AP_AHRS: use enum class for takeoff/touchdown states
...
Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
2020-11-10 16:15:45 +11:00
Andrew Tridgell
31fbb59384
AP_AHRS: delay EKF start until logging ready
...
for replay to work reliably we need all the parameters output before
we init the EKF.
Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
2020-11-10 16:15:45 +11:00
Peter Barker
814aa4e5ec
AP_AHRS: take secondary attitude from EKF3 if it is configured
2020-11-10 10:59:08 +11:00
Iampete1
d7e8ad1c13
AP_AHRS: add ARSPD_OPTION note to WIND_MAX
2020-10-27 11:21:04 +11:00
Randy Mackay
6a72805f07
AP_AHRS: get_variances does not return offset
...
the offset is not a variance and is not actually used by any callers of this function
2020-10-21 08:58:45 +09:00
Peter Barker
d4cb14b262
AP_AHRS: remove magic resetting of EKF type 1 to 2
...
If EKF2 is not compiled in the current compatability code will not work
so well.
Throw the user over to the config error loop and they can fix it there.
2020-10-20 11:32:57 +11:00
Peter Barker
565b29a72c
AP_AHRS: remove FLAG_NONE; it's not a flag, it's a bitmask value
2020-10-20 11:24:34 +11:00
Peter Barker
1ef92bb691
AP_AHRS: remove un-needed initialisations
2020-10-20 11:24:34 +11:00
Peter Barker
9d45669a58
AP_AHRS: reuse ins object for multiple calls, simplify delta_t variable
2020-10-20 11:24:34 +11:00
Peter Barker
99e95666e8
AP_AHRS: remove unused AP_AHRS_TYPE define
2020-10-18 09:41:29 +11:00
Randy Mackay
1d97416a51
AP_AHRS: replace prearm_healthy with pre_arm_check
...
Also removes prearm_failure_reason
2020-10-07 11:53:07 +11:00
Andrew Tridgell
a4e7c72635
AP_AHRS: removed duplicate implementation of airspeed_estimate()
2020-08-27 20:20:51 +10:00
Harshit Kumar Sankhla
b5b3298f0a
AP_AHRS: get airspeed estimate from non-primary instances too
...
with multiple airspeed sensors and airspeed affinity in EKF3,
it is possible to have switched over to a lane not using the
primary airspeed sensor, so AHRS should know which airspeed
sensor to use, i.e, the one being used by the primary lane.
2020-08-27 20:20:51 +10:00
Andrew Tridgell
e5e092d077
AP_AHRS: check EKF status for having horizontal position estimate
...
this will allow a fixed wing to fall back to DCM if the EKF stops
providing an absolute position while we have 3D GPS lock. The
using_gps flag is not enough, as lagged GPS data can lead to the EKF
stopping fusing when the data is behind the fusion time horizon. In
that case EKF3 gives using_gps=1 but sets horiz_pos_abs=0
2020-08-25 10:22:05 +10:00
Andrew Tridgell
3f69f97d60
AP_AHRS: added get_accel() for lua access
2020-08-16 08:55:27 -07:00
Peter Barker
e55057ad5d
AP_AHRS_DCM: limit measured airspeed according to WIND_MAX
2020-08-15 18:14:05 +10:00
Peter Barker
37340b846d
AP_AHRS: correct includes
2020-08-07 19:20:07 +10:00
Peter Barker
4e12f16608
AP_AHRS: provide accessor for synthetic airspeed
2020-08-04 23:12:03 +10:00
Peter Barker
ad435dcdbb
AP_AHRS: remove unused base-class airspeed_estimate method
2020-08-04 10:08:22 +10:00
Andrew Tridgell
d0d7a46492
AP_AHRS: fixed SITL origin handling
...
we need to keep origin and home separate for AHRS_EKF_TYPE=10. This
caused issues with resets in RealFlight leading to the plane not
descending
2020-07-10 10:08:51 +09:00
Randy Mackay
d0a2198e00
AP_AHRS: expose EKF setTerrainHgtStable accessor
2020-06-24 21:16:50 +09:00
Randy Mackay
839e03f3e4
AP_AHRS: attitudes_consistent obeys always_use_EKF
2020-06-16 11:29:24 +10:00
Peter Barker
8c0aed9c6c
AP_AHRS: remove use of Vector3 as function
2020-06-16 11:06:47 +10:00
Andrew Tridgell
f896213770
AP_AHRS: drop rotate prefix on 2D rotates
2020-06-04 09:49:52 +10:00
Andrew Tridgell
7d520c8307
AP_AHRS: added body/earth frame ops for Lua
2020-06-04 09:49:52 +10:00
Randy Mackay
cad9889656
AP_AHRS: send vision-speed-estimates to EKF3
2020-06-02 08:33:42 +09:00
chobits
c9e363d529
AP_AHRS: support VISION_SPEED_ESTIMATE
2020-06-01 17:51:24 +09:00
Randy Mackay
b2ad1caf75
AP_AHRS: writeBodyFrameOdom accepts delay
2020-05-15 10:07:52 +09:00
Randy Mackay
762e82d49d
AP_AHRS: writeExtNavData accepts delay
2020-05-15 10:07:52 +09:00
Andrew Tridgell
8868ac2d6f
AP_AHRS: disable EKF2 by default on 1M boards
2020-05-10 15:09:54 +10:00
priseborough
471372cc7f
AP_AHRS: Write external nav data to EKF3
2020-04-30 15:55:59 +09:00
Peter Barker
36fd632a49
AP_AHRS: create and use INTERNAL_ERROR macro so we get line numbers
2020-04-30 13:21:36 +10:00
Randy Mackay
8caf7d5811
AP_AHRS: add set_alt_measurement_noise
...
These calls the EKF2 and EKF3's set_baro_alt_noise
2020-04-28 09:38:23 +09:00
Randy Mackay
2ae31f9d76
AP_AHRS: get_position obeys always_use_EKF
...
Co-Authored-By: WickedShell <Wicked.Shell.Scripts@gmail.com>
2020-04-28 09:20:05 +09:00
Randy Mackay
585c806618
AP_AHRS: add get_primary_core_index
2020-04-24 18:18:05 +09:00
Paul Riseborough
a66479104d
AP_AHRS: fix failure to arm when not using compass for yaw
2020-04-24 09:43:23 +10:00
Paul Riseborough
22c2ea7cbf
AP_AHRS: Add accessor function for EKF yaw reset request
...
AP_AHRS: Send yaw reset request to EKF2
2020-04-24 09:43:23 +10:00
Paul Riseborough
9cf75bf22e
AP_AHRS: Enable EKF3 default airspeed to be set
...
AP_AHRS: Send default airspeed to EKF2
2020-04-24 09:43:23 +10:00
Randy Mackay
79afc70cdb
AP_AHRS: remove writeExtNavData sensOffset argument
...
EKF pulls this directly from AP_VisualOdom
2020-04-14 10:28:03 +10:00
Andrew Tridgell
5c399fce41
AP_AHRS: auto-switch to EK3/EK2 if selected option disabled
...
if we have an EKF backend selected and that backend doesn't exist then
auto-switch to the other backend.
This fixes MatekF405-Wing which has EKF2 disabled and was falling back
to DCM
2020-04-14 09:15:43 +10:00
Andrew Tridgell
83ad1c17a8
AP_AHRS: disable DCM yaw consistency check when using external yaw
...
when EKF3 is using an external (typically GPS) supplied yaw then we
don't expect DCM to have the right yaw so should not do the DCM yaw
consistency check
2020-04-11 21:14:31 +10:00
Randy Mackay
b0b78e974b
AP_AHRS: add get_quaternion
2020-04-09 19:41:08 +09:00
Randy Mackay
e1c623183e
AP_AHRS: minor comment fix and move var_info lower
2020-04-09 19:41:08 +09:00
Randy Mackay
24bb4876a8
AP_AHRS: move is_ext_nav_used_for_yaw to parent
2020-04-09 19:41:08 +09:00
Andrew Tridgell
393a8785f3
AP_AHRS: implement get_vibration method on AHRS
2020-03-12 08:36:40 +11:00
Peter Barker
583b25e6aa
AP_AHRS: allow NavEKFs to be compiled out
2020-01-21 11:53:18 +11:00
Peter Barker
14fce28e1b
AP_AHRS: move EKF objects in; this requires unconsting some methods
2020-01-21 11:53:18 +11:00
Andrew Tridgell
3b95b5e692
AP_AHRS: make all semaphores recursive
...
the cost is very similar and this prevents an easy coding error which
can occur on less used code paths
2020-01-19 20:19:30 +11:00
Peter Hall
f6897632f8
AP_AHRS: move to airspeed_estimate with pointer
2020-01-14 22:34:37 -07:00
Peter Hall
775e4c90da
AP_AHRS: remove flying time and bool
2020-01-14 22:34:37 -07:00
Peter Barker
9997cbf203
AP_AHRS: make ekf_type return from enum class
...
Eliminate default cases and rely on compiler to enforce all cases
handled in switch statement. This will be important when we make EKF2
optional.
2020-01-14 11:58:11 +11:00
Peter Barker
968d8cf7d9
AP_AHRS_NavEKF: canonicalise use of get_active_NavEKF result
...
Some places had a default case, many didn't.
2020-01-14 11:58:11 +11:00
Peter Barker
7a5b8136ad
AP_AHRS_NavEKF: inform all running EKFs that takeoff or touchdown is expected
...
Several other methods in here poke both EKFs like this.
2020-01-07 11:06:36 +11:00
Peter Barker
a608e9f7d7
AP_AHRS: NavEKF constructors no longer take rangefinder
2019-12-11 08:09:01 +11:00
Peter Barker
d3ede184cf
AP_AHRS: force the use of EKF for Copter and Sub
2019-12-02 09:16:22 +11:00
Randy Mackay
4a1247b9f7
AP_AHRS: add get_innovations
2019-10-18 11:15:25 +09:00
vierfuffzig
2af0be3947
AP_AHRS: fix custom orientation ToRad conversion
2019-10-01 09:35:09 +10:00
Randy Mackay
fb38db6640
AP_AHRS: resolve compile warning in AP_AHRS_DCM::use_compass
2019-09-05 08:39:10 +10:00
Peter Barker
98eca63201
AP_AHRS: var_info is now in GCS_MAVLINK_Parameters
2019-08-14 18:25:43 +10:00
hoangthien94
916de076ec
AP_AHRS: add method to check if ext nav is used for yaw
2019-08-03 08:44:11 +09:00
Peter Barker
c3bf090815
AP_AHRS: rangefinder no longer takes SerialManager in constructor
2019-07-16 09:29:48 +10:00
Randy Mackay
32e25d8b57
AP_AHRS: add accessor for roll, pitch and yaw
2019-07-12 13:57:28 +09:00
Andrew Tridgell
3dd7e7e83a
AP_AHRS: only use enabled IMUs in DCM
...
honor the INS_USE parameters for DCM
2019-07-07 19:03:01 +10:00
Peter Barker
9732940220
AP_AHRS: navekf: add Log_Write access point
2019-07-06 19:05:51 +10:00
Tom Pittenger
bf11746da5
AP_AHRS: allow EKF_TYPE==10 to send a good status report
...
Some GUIs, including DroneKit, will consider GPS locations invalid if the EKF status is not good
2019-07-03 21:22:09 +10:00
Peter Barker
2bcaaf5aaf
AP_AHRS: remove handling of beacon
2019-07-01 07:20:58 +09:00
Michael du Breuil
1226eb825a
AP_AHRS: Reduce scope of AP_Baro.h
2019-06-27 14:56:21 +10:00
Michael du Breuil
0a7cf77de4
AP_AHRS: Update function descriptions in header
2019-06-18 00:06:32 -07:00