Commit Graph

48344 Commits

Author SHA1 Message Date
Paul Riseborough
6637d9dece 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-25 09:30:25 +10:00
Andrew Tridgell
e042f2693b Plane: disable EKF3 default airspeed fusion by default
this fusion can cause problems with wind estimation, disable by
default for now
2021-07-25 09:30:25 +10:00
Paul Riseborough
1d3ed8e9da AP_NavEKF3: Rework non-airspeed wind estimation
Faster wind estimation when not using airspeed with acceptable noise in wind velocity estimates.
2021-07-25 09:30:25 +10:00
Paul Riseborough
fb6de9ad9d AP_NAvEKF3: use #define value for bad IMU hold time 2021-07-25 09:30:25 +10:00
Paul Riseborough
00806ac9fb Copter: rework ekf_check to use the EKF vibration_affected status 2021-07-25 09:30:25 +10:00
Paul Riseborough
ca00da81cd AP_NavEKF3: Increase lower state variance limit when vibration affected
This makes state corrections from GPS and baro observations more aggressive
2021-07-25 09:30:25 +10:00
Paul Riseborough
c3f38ec159 AP_NavEKF3: Use sensor variance when checking for bad IMU 2021-07-25 09:30:25 +10:00
Paul Riseborough
00b91b4799 AP_NavEKF3: Make bad IMU status more persistent 2021-07-25 09:30:25 +10:00
Paul Riseborough
14c2bb0c9b AP_AHRS: Add accessor function for vibration affected status
AP_AHRS: fix rebase build error
2021-07-25 09:30:25 +10:00
Paul Riseborough
fdea45a3e4 AP_NavEKF3: Add accessor function for vibration affected status 2021-07-25 09:30:25 +10:00
Paul Riseborough
ace601f1dd AP_NavEKF3: Don't update accel bias states if vibration affected 2021-07-25 09:30:25 +10:00
Paul Riseborough
8b16d8dc4c AP_NavEKF3: Use large accel process noise when IMU data is bad 2021-07-25 09:30:25 +10:00
Paul Riseborough
eb5a82dd38 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-25 09:30:25 +10:00
Paul Riseborough
21c4058acf Tools: relax navigation test accuracy 2021-07-25 09:30:25 +10:00
Paul Riseborough
942a1f329f AP_NavEKF3: Allow smaller dvel bias state variances for improved tuning 2021-07-25 09:30:25 +10:00
Paul Riseborough
ffce6fab70 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-25 09:30:25 +10:00
Paul Riseborough
c087be94cb 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-25 09:30:25 +10:00
Paul Riseborough
77082e414b AP_NavEKF3: Make gyro bias learning less noisy 2021-07-25 09:30:25 +10:00
Paul Riseborough
a32fd0a97c AP_NavEKF3: Fix bug preventing learning of XY IMU dvel bias in flight 2021-07-25 09:30:25 +10:00
Paul Riseborough
90a8dc48d1 AP_NavEKF3: Change powf(x,2) to sq(x) 2021-07-25 09:30:25 +10:00
Paul Riseborough
bb88aef1b3 AP_NavEKF3: Update covariance prediction equations 2021-07-25 09:30:25 +10:00
Paul Riseborough
b6a2f4b4f5 AP_NavEKF3: Use alternate form for quaternion to rotmat equations in derivation 2021-07-25 09:30:25 +10:00
Peter Barker
0761aeff5a Tools: split yaw-vehicle-for-mount-roi test out 2021-07-25 09:30:25 +10:00
WillyZehnder
8f0d04ad68 Plane: GCS_Plane.cpp Fix chronological sequence
to avoid inappropriate critical warning CRT:NoRCReceiver by ensuring the
call of plane.failsafe.last_valid_rc_ms before calling millis()
2021-07-22 16:01:01 +10:00
Peter Barker
5f3f5e9d75 Plane: do not run any prearm checks if we are armed or arming is not required
Co-authored-by: TunaLobster <unknown>
2021-07-22 16:01:01 +10:00
Andrew Tridgell
36174d198f AP_Math: fix uses of single precision 2021-07-22 16:01:01 +10:00
Randy Mackay
b375fe291f AR_WPNav: integrate PathPlanner returning path_planner_used
Rover does not need to handle the results differently based on the planner used
2021-07-22 16:01:01 +10:00
Randy Mackay
6dd100df7b AC_WPNav_OA: minor formatting and comment fixes 2021-07-22 16:01:01 +10:00
Randy Mackay
3242bd0ee8 AC_WPNav_OA: separate handlers for results from Dijkstra's and BendyRuler
also bendy ruler uses pos controller
2021-07-22 16:01:01 +10:00
Randy Mackay
6cbc62744b AC_Avoidance: BendyRuler returned destination are shortened 2021-07-22 16:01:01 +10:00
Randy Mackay
3177759a1d AC_Avoidance: bendy ruler format fixes 2021-07-22 16:01:01 +10:00
Randy Mackay
8d641e1bb3 AC_Avoidance: OA_PathPlanner returns which planner was used
this replaces get_bendy_type
2021-07-22 16:01:01 +10:00
Randy Mackay
6b74dd2ab4 AC_Avoidance: BendyRuler returns which type was used
also make serach_xxx_path methods private
2021-07-22 16:01:01 +10:00
Randy Mackay
7084009454 AP_Common: add Location::linear_interpolate_alt 2021-07-22 16:01:01 +10:00
Andy Piper
8cd3ae12a7 AP_BLHeli: ensure correct rotation through telemetry ESCs 2021-07-22 16:01:01 +10:00
Pierre Kancir
62be72d3ba AC_WPNav: remove unused variable following https://github.com/ArduPilot/ardupilot/pull/18076 2021-07-22 16:01:01 +10:00
Leonard Hall
730ac9cb20 AC_PosControl: Add MAX(bla,0) because safe_sqrt isn't safe 2021-07-22 16:01:01 +10:00
Leonard Hall
6606ab4996 Copter: Guided and Loiter mode returns Crosstrack error 2021-07-22 16:01:01 +10:00
Leonard Hall
5001f47313 WP_Nav: Return Crosstrack error 2021-07-22 16:01:01 +10:00
Leonard Hall
3d6dd8cff8 AC_AttitudeControl: AC_PosControl: calculate cross track 2021-07-22 16:01:01 +10:00
Randy Mackay
b916f7742e AC_WPNav: use get_terrain_margin instead of constant 2021-07-22 16:01:01 +10:00
Andrew Tridgell
efed331f8b Copter: replace use of TERRAIN_MARGIN with WPNAV_TER_MARGIN
# Conflicts:
#	ArduCopter/Parameters.cpp
#	ArduCopter/Parameters.h
#	ArduCopter/terrain.cpp
2021-07-22 16:01:01 +10:00
Randy Mackay
7a09ac1aa6 AC_WPNav: add TER_MARGIN param 2021-07-22 16:01:01 +10:00
Leonard Hall
2dea0fa966 AC_AttitudeControl: AC_PosControl: Auto Terain following update 2021-07-22 16:01:01 +10:00
Leonard Hall
fc8242db68 AC_WPNav: Auto Terain following update 2021-07-22 16:01:01 +10:00
Andrew Tridgell
3fb09de378 Copter: Fix guided yaw bug.
# Conflicts:
#	ArduCopter/GCS_Mavlink.cpp
2021-07-22 16:01:01 +10:00
Andrew Tridgell
8b3e389112 autotest: add test for two consecutive drops with no reboot 2021-07-22 16:01:01 +10:00
Peter Barker
9aa033d84a Copter: simplify throttle-is-unlimited check
Now not the same pattern as the other checks - but it is much shorter
2021-07-22 16:01:01 +10:00
Peter Barker
ce408ca58b Copter: wait for motors to spool up before trying to upright vehicle
This stops us from progressing through the whole throw mode if the
vehicle just happens to be in the right state - which is can be for a
drop.
2021-07-22 16:01:01 +10:00
Peter Barker
952c8f7ff5 Copter: constify some ModeThrow methods 2021-07-22 16:01:01 +10:00