Commit Graph

48397 Commits

Author SHA1 Message Date
Paul Riseborough 73229371c7 AP_NavEKF3: retune wind process noise for better airspeed fault detection 2021-07-25 09:30:25 +10:00
Paul Riseborough 8744b0954f 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-25 09:30:25 +10:00
Paul Riseborough a829bc435c Tool: Allow more time for quadplane autotest to land and disarm 2021-07-25 09:30:25 +10:00
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