Commit Graph

48249 Commits

Author SHA1 Message Date
Paul Riseborough
d90c67a079 AP_NavEKF3: Revert IMU and wind speed process noise parameter defaults
These give noisier state estimates, but are more robust to rapid changes in IMU biases.
TODO implement a means of using the modified parameters when there are more than one EKF instance running with IMU's that are sampling at a higher rate.
2021-07-23 10:19:50 +09:00
Paul Riseborough
7fb30597eb Tools: Rework Plane.EKFlaneswitch autotest 2021-07-23 10:19:50 +09:00
Paul Riseborough
9e48eb9ac8 Tools: Rework Copter VibrationFailsafe test to use commanded land 2021-07-23 10:19:50 +09:00
Paul Riseborough
28224c001a AP_NavEKF3: retune wind process noise for better airspeed fault detection 2021-07-23 10:19:50 +09:00
Paul Riseborough
5a3f785798 AP_NavEKF3: Fix bug preventing copter wind estimation at low speed
Also re-tunes process noise default for smoother wind velocity state estimates.
2021-07-23 10:19:50 +09:00
Paul Riseborough
f202b7944e Tool: Allow more time for quadplane autotest to land and disarm 2021-07-23 10:19:50 +09:00
Paul Riseborough
4b4bb18f50 AP_NavEKF3: Revert EK3_BETA_MASK parameter extension
These are not required due to use of bit 7 in FLIGHT_OPTIONS to achieve the same function.
2021-07-23 10:19:50 +09:00
Andrew Tridgell
1369f3b565 Plane: disable EKF3 default airspeed fusion by default
this fusion can cause problems with wind estimation, disable by
default for now
2021-07-23 10:19:50 +09:00
Paul Riseborough
a98583e0ca AP_NavEKF3: Rework non-airspeed wind estimation
Faster wind estimation when not using airspeed with acceptable noise in wind velocity estimates.
2021-07-23 10:19:50 +09:00
Paul Riseborough
51a1b9ae9a AP_NAvEKF3: use #define value for bad IMU hold time 2021-07-23 10:19:50 +09:00
Paul Riseborough
3da71c5de5 Copter: rework ekf_check to use the EKF vibration_affected status 2021-07-23 10:19:50 +09:00
Paul Riseborough
edd75e3981 AP_NavEKF3: Increase lower state variance limit when vibration affected
This makes state corrections from GPS and baro observations more aggressive
2021-07-23 10:19:50 +09:00
Paul Riseborough
6166b666b6 AP_NavEKF3: Use sensor variance when checking for bad IMU 2021-07-23 10:19:50 +09:00
Paul Riseborough
835b97f5e8 AP_NavEKF3: Make bad IMU status more persistent 2021-07-23 10:19:50 +09:00
Paul Riseborough
3ce5633701 AP_AHRS: Add accessor function for vibration affected status
AP_AHRS: fix rebase build error
2021-07-23 10:19:50 +09:00
Paul Riseborough
a220ca20a6 AP_NavEKF3: Add accessor function for vibration affected status 2021-07-23 10:19:50 +09:00
Paul Riseborough
e7ff7f629d AP_NavEKF3: Don't update accel bias states if vibration affected 2021-07-23 10:19:50 +09:00
Paul Riseborough
82f585a515 AP_NavEKF3: Use large accel process noise when IMU data is bad 2021-07-23 10:19:50 +09:00
Paul Riseborough
7b40e89463 AP_NavEKF3: Adjust gyro bias process noise tuning
NEw value is a compromise between roll/pitch angle and horizontal state velocity estimation errors and the noise in the gyro bias estimate
2021-07-23 10:19:50 +09:00
Paul Riseborough
b6bbaed0db Tools: relax navigation test accuracy 2021-07-23 10:19:50 +09:00
Paul Riseborough
082f8e42f6 AP_NavEKF3: Allow smaller dvel bias state variances for improved tuning 2021-07-23 10:19:50 +09:00
Paul Riseborough
315d9ef9d8 AP_NavEKF3: Retune IMU process noise
Required to achieve equivalent fusion noise and weighting on IMU vs other sources to previous param defaults with the old covariance prediction equations.
2021-07-23 10:19:50 +09:00
Paul Riseborough
e13e888c31 Tools: Fix AIRSPEED_AUTOCAL test failure
The mission plan for this test causes a lot of overshoot when turning onto final approach with the result that there is still some lateral offset when passing the landing waypoint that is not a measure of estimator accuracy.
2021-07-23 10:19:50 +09:00
Paul Riseborough
344f2d0eb7 AP_NavEKF3: Make gyro bias learning less noisy 2021-07-23 10:19:50 +09:00
Paul Riseborough
fcf7a7c8f7 AP_NavEKF3: Fix bug preventing learning of XY IMU dvel bias in flight 2021-07-23 10:19:49 +09:00
Paul Riseborough
4096e75b15 AP_NavEKF3: Change powf(x,2) to sq(x) 2021-07-23 10:19:49 +09:00
Paul Riseborough
5cb4cf870d AP_NavEKF3: Update covariance prediction equations 2021-07-23 10:19:49 +09:00
Paul Riseborough
14edac7e5c AP_NavEKF3: Use alternate form for quaternion to rotmat equations in derivation 2021-07-23 10:19:49 +09:00
Peter Barker
a298480207 Tools: split yaw-vehicle-for-mount-roi test out 2021-07-23 10:19:49 +09:00
Andrew Tridgell
c2e221dd09 AP_Math: fix uses of single precision 2021-07-23 10:19:49 +09:00
Randy Mackay
e4684f65dc AR_WPNav: integrate PathPlanner returning path_planner_used
Rover does not need to handle the results differently based on the planner used
2021-07-23 10:19:49 +09:00
Randy Mackay
0c9fbf9456 AC_WPNav_OA: minor formatting and comment fixes 2021-07-23 10:19:49 +09:00
Randy Mackay
b95c6b5e5d AC_WPNav_OA: separate handlers for results from Dijkstra's and BendyRuler
also bendy ruler uses pos controller
2021-07-23 10:19:49 +09:00
Randy Mackay
c991ff4318 AC_Avoidance: BendyRuler returned destination are shortened 2021-07-23 10:19:49 +09:00
Randy Mackay
075c05baea AC_Avoidance: bendy ruler format fixes 2021-07-23 10:19:49 +09:00
Randy Mackay
0b26bace7f AC_Avoidance: OA_PathPlanner returns which planner was used
this replaces get_bendy_type
2021-07-23 10:19:49 +09:00
Randy Mackay
980909deb5 AC_Avoidance: BendyRuler returns which type was used
also make serach_xxx_path methods private
2021-07-23 10:19:49 +09:00
Randy Mackay
400731df1b AP_Common: add Location::linear_interpolate_alt 2021-07-23 10:19:49 +09:00
Andy Piper
74a8891099 AP_BLHeli: ensure correct rotation through telemetry ESCs 2021-07-23 10:19:49 +09:00
Pierre Kancir
3cee86e63f AC_WPNav: remove unused variable following https://github.com/ArduPilot/ardupilot/pull/18076 2021-07-23 10:19:49 +09:00
Leonard Hall
6f5d2008e3 AC_PosControl: Add MAX(bla,0) because safe_sqrt isn't safe 2021-07-23 10:19:49 +09:00
Leonard Hall
2e314a00b2 Copter: Guided and Loiter mode returns Crosstrack error 2021-07-23 10:19:49 +09:00
Leonard Hall
6f26ca6b65 WP_Nav: Return Crosstrack error 2021-07-23 10:19:49 +09:00
Leonard Hall
d6df47fd06 AC_AttitudeControl: AC_PosControl: calculate cross track 2021-07-23 10:19:49 +09:00
Randy Mackay
fce7db0d18 AC_WPNav: use get_terrain_margin instead of constant 2021-07-23 10:19:49 +09:00
Andrew Tridgell
61b72cd50d Copter: replace use of TERRAIN_MARGIN with WPNAV_TER_MARGIN
# Conflicts:
#	ArduCopter/Parameters.cpp
#	ArduCopter/Parameters.h
#	ArduCopter/terrain.cpp
2021-07-23 10:19:49 +09:00
Randy Mackay
33ec14ce70 AC_WPNav: add TER_MARGIN param 2021-07-23 10:19:49 +09:00
Leonard Hall
767281dc76 AC_AttitudeControl: AC_PosControl: Auto Terain following update 2021-07-23 10:19:49 +09:00
Leonard Hall
4bbc69ef6e AC_WPNav: Auto Terain following update 2021-07-23 10:19:49 +09:00
Andrew Tridgell
f3f1e72b0b Copter: Fix guided yaw bug.
# Conflicts:
#	ArduCopter/GCS_Mavlink.cpp
2021-07-23 10:19:48 +09:00