Paul Riseborough
fe9ddfdfeb
AP_NavEKF2: remove code that prevents attitude updates after mag reset
...
This code assumes a vehicle is close to level and will not work for all vehicle types. It will be replaced by a different method.
9 years ago
Paul Riseborough
fe85c68344
AP_NavEKF2: move yaw reset for no compass case
...
Should not be in a function that performs reset on magnetic field states
9 years ago
Paul Riseborough
da0622827d
AP_NavEKF: update tuning defaults
...
Increase speed of scale factor learning
9 years ago
Paul Riseborough
9eef97d108
AP_NavEKF2: use consistent parameter naming
...
M_NSE is a measurement noise
P_NSE is a observation noise
I_GATE is an innovation gate
This also ensures the new parameter values required to use the EKF2 will be enforced.
9 years ago
Paul Riseborough
74121fdaeb
AP_NavEKF2: fix bug preventing in-flight alignment
9 years ago
Paul Riseborough
16cb7078cd
AP_NavEKF2: Fix misleading pre-flight status reporting
9 years ago
Paul Riseborough
38d61f5281
AP_NavEKF2: Update status reporting to handle no-magnetometer startup
9 years ago
Paul Riseborough
9aa3cdfaae
AP_NavEKF2: Update GPS yaw re-alignment function
...
Updates to support initial alignment without magnetometer
9 years ago
Paul Riseborough
e3c966661b
AP_NavEKF2: Remove unnecessary variance reset
...
This reset is unnecessary give that a synthetic yaw angle is fused at a low rate to prevent variances from becoming badly conditioned.
9 years ago
Paul Riseborough
1179c08473
AP_NavEKF2: Handle case where we are in-flight and haven't yet aligned the yaw
...
This happens if planes are flown without a compass
9 years ago
Paul Riseborough
581c1aa0d4
AP_NavEKF2: Adjust attitude variance values used after a heading reset
...
Because these errors are in body frame, a spherical error should be used to accommodate different orientations
9 years ago
Paul Riseborough
5ec8d523f6
AP_NavEKF: remove unwanted co-variance reset
...
The co-variance resets required following a velocity and position state reset is now performed in the stte reset function
9 years ago
Paul Riseborough
66e4d9d6e8
AP_NavEKF2: Reset co-variance values when doing a pos,vel,hgt reset
...
Ensures consistent behaviour after resets and reduces attitude disturbances
9 years ago
Paul Riseborough
cf8175a073
AP_NavEKF2: Allow immediate use of GPS in-flight for plane without compass
...
Planes operating without a compass must align the yaw to the GPS heading immediately after launch or takeoff and cannot wait for GPS accuracy checks.
9 years ago
Paul Riseborough
08de4e6d95
AP_NavEKF: Do not perform start-up yaw alignment if no compass
...
Yaw cannot be aligned until in-flight when there is sufficient GPS velocity.
9 years ago
Paul Riseborough
d2694fe5dc
AP_NavEKF2: Remove duplicate transition into GPS aiding
...
This decision is made in one place in setAidingMode()
9 years ago
Paul Riseborough
7201f7d2fd
AP_NavEKF2: fix comment
9 years ago
Paul Riseborough
64a8153b68
AP_NavEKF2: update function name
...
The primary purpose of this function is re-alignment
9 years ago
Paul Riseborough
addd213af0
AP_NavEKF2: reduce effect of acceleration on non-GPS mode attitude
9 years ago
Paul Riseborough
a3b78e6231
AP_NavEKF2: update tuning defaults
9 years ago
Paul Riseborough
65f63341d7
AP_NavEKF2: Improve numerical error protection in optical flow fusion
...
Abort fusion of data if variances will become negative and publish the fault
9 years ago
Paul Riseborough
42da33593d
AP_NavEKF2: fix yaw fusion numerical health reporting
9 years ago
Paul Riseborough
6eb9d43507
AP_NavEKF2: add numerical error checking and isolation to mag decl fusion
9 years ago
Paul Riseborough
b325c5faeb
AP_NavEKF2: add error checking and isolation to mag heading fusion
9 years ago
Paul Riseborough
a0b1dc5325
AP_NavEKF2: add error checking and isolation to 3D amg fusion
9 years ago
Paul Riseborough
51a3df0319
AP_NavEKF2: Add error checking and isolation to pos vel fusion
9 years ago
Paul Riseborough
71b589c89c
AP_NavEKF2: extend fusion fault reporting coverage
9 years ago
Paul Riseborough
0982bd0b2b
AP_NavEKF2: update parameter documentation
9 years ago
Paul Riseborough
46a2993a0d
AP_NavEKF: use intuitive units for imu bias process noise parameters
9 years ago
Paul Riseborough
8c374fd679
AP_NavEKF2: correct comments
9 years ago
Paul Riseborough
6be9eaa524
AP_NavEKF2: use receiver estimated accuracy
...
Adjust the GPS observation noise based on receiver accuracy output if available.
9 years ago
Paul Riseborough
dddc213836
AP_NavEKF2: Open up tuning limits
...
Done to assist tuning assessments
9 years ago
Paul Riseborough
cf05e110fc
AP_NavEKF2: fix scaling error in use of IMU noise parameters
...
Also remove process noise from state transition matrix where it was mistakenly left in after the derivation
9 years ago
Andrew Tridgell
4080c6091d
AP_NavEKF2: fixed an assumption that _ahrs->get_compass() always works
...
if MAG_ENABLE=0 in plane there is no compass
9 years ago
Tom Pittenger
d67b1edf10
AP_NavEKF2: (potential) compiler warning of float to double promotion
9 years ago
Ricardo de Almeida Gonzaga
64d14356b9
AP_NavEKF2: Fix typos
9 years ago
dgrat
41661f815f
AP_Math: Replace the pythagorous* functions with a variadic template
...
The new function can deal with a variable number of function parameters.
Additionally, I renamed the functions to norm(), because this is the
standard name used in several other projects.
9 years ago
Andrew Tridgell
ea508f1b80
AP_NavEKF2: use LOG_REPLAY and EK2_LOG_MASK parameters
9 years ago
Andrew Tridgell
32af886ba9
AP_NavEKF2: use consistent logging timestamps for sensors
9 years ago
Andrew Tridgell
4e4c575f16
AP_NavEKF2: added have_ekf_logging()
9 years ago
Andrew Tridgell
b7ba0fa458
AP_NavEKF2: added ad-hoc logging example to EKF2
9 years ago
Andrew Tridgell
223c512188
AP_NavEKF2: added logging of sensor data in EKF2
9 years ago
Andrew Tridgell
f92279f436
AP_NavEKF2: allow logging of IMT data from inside EKF2
9 years ago
Andrew Tridgell
9c4dd024bf
AP_NavEKF2: auto change EK2_GPS_TYPE for NMEA
...
this fixes a problem where users of NMEA GPS receivers could not arm
with default EK2 parameters.
9 years ago
Andrew Tridgell
ac60901b0c
AP_NavEKF2: use vector comparison for new mag vector
9 years ago
Jonathan Challinger
97112ccd44
AP_NavEKF2: check mag instance id when returning mag offsets
9 years ago
Jonathan Challinger
1185cd1be7
AP_NavEKF2: move getMagOffsets into outputs
9 years ago
Jonathan Challinger
acfaafe276
AP_NavEKF2: detect changes to magnetometer offset parameters and reset states
9 years ago
Paul Riseborough
1ecc206eee
AP_NavEKF2: Allow use in planes without a magnetometer
...
Implements the following techniques to enable planes to operate without magnetometers.
1) When on ground with mag use inhibited, a synthetic heading equal to current heading is fused to prevent uncontrolled covariance growth.
2) When transitioning to in-flight, the delta between inertial and GPS velocity vector is used to align the yaw.
3) The yaw gyro bias state variance is reset following an in-flight heading reset to enable the yaw gyro bias to be learned faster.
9 years ago
Paul Riseborough
6d9ba8c527
AP_NavEKF2: Improve protection against ground based mag interference
...
Reset the mag field states and yaw earlier than the normal 5m height threshold if toilet bowling is detected.
9 years ago