Commit Graph

26612 Commits

Author SHA1 Message Date
Leonard Hall
b6c4ccb683 AC_AttitudeControl: AC_PosControl: Non functional clean up 2021-08-28 14:41:27 +09:00
Leonard Hall
283c83fb6e AC_WPNav: Fix Jerk units 2021-08-28 14:41:27 +09:00
Leonard Hall
bb5b00d920 AC_AttitudeControl: AC_PosControl: limit initial acceleration 2021-08-28 14:41:27 +09:00
Leonard Hall
feafbe81a3 AC_AttitudeControl: AC_PosControl: fix stopping point initialization 2021-08-28 14:41:27 +09:00
Iampete1
e1972c7132 AC_PosControl: init_z_controller_stopping_point: remove duplicate set_integrator 2021-08-28 14:41:27 +09:00
Randy Mackay
61cf45c944 AP_Scripting: copter-fast-descent.lua example script 2021-08-28 14:41:27 +09:00
Randy Mackay
400c9ee6b0 AP_Vehicle: add virtual set_target methods 2021-08-28 14:41:27 +09:00
Randy Mackay
ee81583669 AP_Scripting: add AP_Vehicle set_target_pos_NED and posvelaccel_NED bindings 2021-08-28 14:41:27 +09:00
Randy Mackay
08c2508e0c AP_Scripting: minor reorder of AP_Vehicle bindings
this is a slightly better grouping
2021-08-28 14:41:27 +09:00
Randy Mackay
a4664cc388 AP_Scripting: add AHRS:get_relative_position_NED_origin binding 2021-08-28 14:41:27 +09:00
Randy Mackay
93b7e614f6 AP_Scripting: add copter-circle-speed.lua example
Co-authored-by: Iampete1 <iampete@hotmail.co.uk>
2021-08-28 14:41:27 +09:00
Randy Mackay
a2a732c91c AP_Scripting: add bindings for get_circle_radius, set_circle_rate 2021-08-28 14:41:27 +09:00
Randy Mackay
3bebd0bfaa AP_Vehicle: add get_circle_radius, set_circle_rate 2021-08-28 14:41:27 +09:00
Iampete1
2868128847 AP_Vehicle: #ifdef scripting specific functions 2021-08-28 14:41:27 +09:00
Iampete1
ac70c38187 AC_AttitudeControl: check for zero rate Y max before taking min 2021-08-28 14:41:27 +09:00
Randy Mackay
cede4bb028 AP_NavEKF2: init rngOnGnd to 5cm to avoid div-by-zero 2021-08-28 14:41:27 +09:00
Pierre Kancir
fad42e8c9c AP_InertialSensor: fix externalAHRS detection
'A = B >= C' kind. The expression is calculated as following: 'A = (B >= C)'
2021-08-28 14:41:27 +09:00
Pierre Kancir
3043ab6b01 AP_Baro: fix externalAHRS detection
'A = B >= C' kind. The expression is calculated as following: 'A = (B >= C)'
2021-08-28 14:41:27 +09:00
Pierre Kancir
adb82e13ee AP_Compass: fix externalAHRS detection
'A = B >= C' kind. The expression is calculated as following: 'A = (B >= C)'
2021-08-28 14:41:27 +09:00
Andrew Tridgell
84d9ff108e HAL_ChibiOS: switch to minimum scheduling delta of 10us
this avoids an issue with the ChibiOS 20.3 virtual timer
implementation that can result in a scheduling slip equal to the
system timer period.

Andy has been suggesting this change for a while. I resisted it as I
thought it would impact on soft-serial parsing, but it turns out it
doesn't.

Fixes issue #18383
2021-08-28 14:41:27 +09:00
Andy Piper
3c8dbf8e30 AP_HAL_ChibiOS: use hardware serial inversion pins on F4 boards that support it
change mamba F405 to active high as per betaflight
2021-08-28 14:41:27 +09:00
Randy Mackay
945600a49e AP_HAL_ChibiOS: swap Pixhawk4 blue and red LEDs 2021-08-28 14:41:27 +09:00
Andrew Tridgell
cc5bfc8375 AC_AttitudeControl: this fixes an issue with Z accel initialisation
tailsitter quadplanes were climbing a lot on transition from fixed
wing to Q modes. Leonard tracked it down to a bug in the Z accel init
2021-08-28 14:41:27 +09:00
Andrew Tridgell
7ae696340a SITL: prevent flip over of RF9 quadplanes on reboot
send a zero channel mask until we are initialised
2021-08-28 14:41:27 +09:00
Hwurzburg
8b484738a5 AP_OSD: fixes bug introduced by #16477 2021-08-14 10:44:08 +09:00
Pierre Kancir
ae59533af1 AP_Beacon: fix comparison order to prevent using wrong beacon_instance first 2021-08-14 10:44:08 +09:00
Randy Mackay
a3c658ea01 AP_NavEKF3: remove unused EK3_GSF_DELAY param 2021-08-14 10:44:08 +09:00
Randy Mackay
25af40adde AP_NavEKF2: remove unused EK2_GSF_DELAY param 2021-08-14 10:44:08 +09:00
Tatsuya Yamaguchi
7b77dd39e0 AC_Avoid: use proximity_avoidance_enabled function 2021-08-14 10:44:08 +09:00
Tatsuya Yamaguchi
4044ea1a42 AC_Avoid: confirm USE_PROXIMITY_SENSOR to check if proximity is enabled 2021-08-14 10:44:08 +09:00
Tatsuya Yamaguchi
03e382b1e3 AC_Avoidance: handle upward proximity enable and disable 2021-08-14 10:44:08 +09:00
Andy Piper
d6b991768e AP_Vehicle: output rcout banner when initialization is done
move down ready message
2021-08-14 10:44:08 +09:00
Andy Piper
87018b859e AP_HAL_ChibiOS: output initializing from PWM banner when not available 2021-08-14 10:44:08 +09:00
Pierre Kancir
aad2733d06 AP_ESC_Telem: prevent possible overrun 2021-08-14 10:44:08 +09:00
Pierre Kancir
2c62d32ca8 AP_ESC_TELEM: prevent overrun, esc_index should be < to ESC_TELEM_MAX_ESCS 2021-08-14 10:44:08 +09:00
Pierre Kancir
04a4a27a14 AP_ESC_Telem: fix out of bound access 2021-08-14 10:44:08 +09:00
Pierre Kancir
61a50c5481 AP_OSD: check for nullptr before using it 2021-08-14 10:44:08 +09:00
Leonard Hall
ba70c50a07 AP_Math: Spelling fix 2021-08-14 10:44:08 +09:00
Leonard Hall
a363468281 AC_AttitudeControl: AC_PosControl: support Control: Refactor to use Jerk 2021-08-14 10:44:08 +09:00
Leonard Hall
eb652b71f9 AC_WPNav: support Control: Refactor to use Jerk 2021-08-14 10:44:08 +09:00
Leonard Hall
eff91e87ca AP_Math: Control: Refactor to use Jerk 2021-08-14 10:44:08 +09:00
Leonard Hall
397cd8cbe0 AP_Math: Control: protect against divide by zero 2021-08-14 10:44:08 +09:00
Leonard Hall
8cd70f2569 AC_WPNav: Fix Angle Vel units on function 2021-08-14 10:44:08 +09:00
Leonard Hall
0ee9dbc059 AC_AttitudeControl: Fix Angle Vel units on function 2021-08-14 10:44:08 +09:00
Leonard Hall
988f2dbb7e AP_Hal_ChibiOS: Skyviper Parameters PSC_VELXY_FLTE 2021-08-14 10:44:08 +09:00
Leonard Hall
2e6e3d7b89 AC_AttitudeControl: AC_PosControl: fix PID filter names FILT -> FLTE, D_FILT -> FLTD 2021-08-14 10:44:08 +09:00
Leonard Hall
b3a10e45ba AC_PID: fix PID filter names FILT -> FLTE, D_FILT -> FLTD
Follow used guided but references the maximum velocity settings. As Guided does not set maximum velocities these values come back as zero. So we need to reference WP_Nav to get safe maximums.
2021-08-14 10:44:08 +09:00
Andrew Tridgell
516df460b8 AP_GPS: added doc message for bit 2 of DRV_OPTIONS 2021-08-14 10:44:08 +09:00
Andrew Tridgell
f735804035 AP_GPS: added GPS_DRV_OPTIONS bit for forcing ublox GPS to 115200
this may help with some GPS modules
2021-08-14 10:44:08 +09:00
Andy Piper
796fdab984 AP_HAL_ChibiOS: probe for compasses on FlywooF745 2021-08-14 10:44:08 +09:00
Randy Mackay
3c5bd942a6 AP_NavEKF3: skip GSF reset count check if source actively changed
also only fail all compass on emergency reset
2021-08-14 10:44:08 +09:00
Andrew Tridgell
c00fa705b7 AP_NavEKF3: fixed output LLH to account for IMU offset
thanks to Paul and Randy
2021-08-14 10:44:08 +09:00
Leonard Hall
8d41b2225b AC_AttitudeControl: Support thrust to weight of 10:1 2021-08-14 10:44:08 +09:00
Andy Piper
d2c084bf69 AP_Motors: remove tri yaw servo from motor mask 2021-08-14 10:44:08 +09:00
Andrew Tridgell
d7c72af849 AP_GPS: added arming checks for yaw available on ublox RTK rover 2021-08-14 10:44:08 +09:00
bugobliterator
62d89e840f AP_RangeFinder: use separate register_driver method while contructing CAN Driver 2021-08-14 10:44:08 +09:00
bugobliterator
f33188b95f AP_EFI: use separate register_driver method while contructing CAN Driver 2021-08-14 10:44:08 +09:00
bugobliterator
b8c2a18eaf AP_BattMonitor: use separate register_driver method while contructing CAN Driver 2021-08-14 10:44:08 +09:00
bugobliterator
cf535481e9 AP_CANSensor: create a separate register driver method 2021-08-14 10:44:08 +09:00
Andrew Tridgell
c1f72d6683 AP_AHRS: build fix 2021-07-22 19:07:36 +09:00
Paul Riseborough
b2c24a0b58 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-22 19:07:36 +09:00
Paul Riseborough
762529a987 AP_NavEKF3: retune wind process noise for better airspeed fault detection 2021-07-22 19:07:36 +09:00
Paul Riseborough
dd9cc70ad4 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-22 19:07:36 +09:00
Paul Riseborough
84693ea3c4 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-22 19:07:36 +09:00
Paul Riseborough
d841615710 AP_NavEKF3: Rework non-airspeed wind estimation
Faster wind estimation when not using airspeed with acceptable noise in wind velocity estimates.
2021-07-22 19:07:36 +09:00
Paul Riseborough
1812d8ea3a AP_NAvEKF3: use #define value for bad IMU hold time 2021-07-22 19:07:36 +09:00
Paul Riseborough
6d6699f9f9 AP_NavEKF3: Increase lower state variance limit when vibration affected
This makes state corrections from GPS and baro observations more aggressive
2021-07-22 19:07:36 +09:00
Paul Riseborough
7abecb4e0e AP_NavEKF3: Use sensor variance when checking for bad IMU 2021-07-22 19:07:36 +09:00
Paul Riseborough
1cc7dc59a1 AP_NavEKF3: Make bad IMU status more persistent 2021-07-22 19:07:36 +09:00
Paul Riseborough
6907fa8e88 AP_AHRS: Add accessor function for vibration affected status
AP_AHRS: fix rebase build error
2021-07-22 19:07:36 +09:00
Paul Riseborough
662bda1bbd AP_NavEKF3: Add accessor function for vibration affected status 2021-07-22 19:07:36 +09:00
Paul Riseborough
f37caffb31 AP_NavEKF3: Don't update accel bias states if vibration affected 2021-07-22 19:07:36 +09:00
Paul Riseborough
36ead940d6 AP_NavEKF3: Use large accel process noise when IMU data is bad 2021-07-22 19:07:36 +09:00
Paul Riseborough
82ed96a927 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-22 19:07:36 +09:00
Paul Riseborough
3714c1b2e2 AP_NavEKF3: Allow smaller dvel bias state variances for improved tuning 2021-07-22 19:07:36 +09:00
Paul Riseborough
a24df9d633 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-22 19:07:36 +09:00
Paul Riseborough
5a3e0e7f17 AP_NavEKF3: Make gyro bias learning less noisy 2021-07-22 19:07:36 +09:00
Paul Riseborough
827d871c85 AP_NavEKF3: Fix bug preventing learning of XY IMU dvel bias in flight 2021-07-22 19:07:36 +09:00
Paul Riseborough
aa13e86ac9 AP_NavEKF3: Change powf(x,2) to sq(x) 2021-07-22 19:07:36 +09:00
Paul Riseborough
cb6371e952 AP_NavEKF3: Update covariance prediction equations 2021-07-22 19:07:36 +09:00
Paul Riseborough
4f8f187b81 AP_NavEKF3: Use alternate form for quaternion to rotmat equations in derivation 2021-07-22 19:07:36 +09:00
Andrew Tridgell
7f3bc8ba1f AP_Math: fix uses of single precision 2021-07-22 19:07:36 +09:00
Randy Mackay
92008ebb8f 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 19:07:36 +09:00
Randy Mackay
cca86c7a24 AC_WPNav_OA: minor formatting and comment fixes 2021-07-22 19:07:36 +09:00
Randy Mackay
0a5d6c48e6 AC_WPNav_OA: separate handlers for results from Dijkstra's and BendyRuler
also bendy ruler uses pos controller
2021-07-22 19:07:36 +09:00
Randy Mackay
55e23d7230 AC_Avoidance: BendyRuler returned destination are shortened 2021-07-22 19:07:36 +09:00
Randy Mackay
ae81e8ab2b AC_Avoidance: bendy ruler format fixes 2021-07-22 19:07:36 +09:00
Randy Mackay
f98efd7ef8 AC_Avoidance: OA_PathPlanner returns which planner was used
this replaces get_bendy_type
2021-07-22 19:07:36 +09:00
Randy Mackay
1536249b33 AC_Avoidance: BendyRuler returns which type was used
also make serach_xxx_path methods private
2021-07-22 19:07:36 +09:00
Randy Mackay
d946a2c95d AP_Common: add Location::linear_interpolate_alt 2021-07-22 19:07:36 +09:00
Andy Piper
b6ce206c3d AP_BLHeli: ensure correct rotation through telemetry ESCs 2021-07-22 19:07:36 +09:00
Pierre Kancir
9f2bfd330d AC_WPNav: remove unused variable following https://github.com/ArduPilot/ardupilot/pull/18076 2021-07-22 19:07:36 +09:00
Leonard Hall
9d1a51969b AC_PosControl: Add MAX(bla,0) because safe_sqrt isn't safe 2021-07-22 19:07:36 +09:00
Leonard Hall
efd854562f WP_Nav: Return Crosstrack error 2021-07-22 19:07:36 +09:00
Leonard Hall
8e31de412c AC_AttitudeControl: AC_PosControl: calculate cross track 2021-07-22 19:07:36 +09:00
Randy Mackay
aad2f883d6 AC_WPNav: use get_terrain_margin instead of constant 2021-07-22 19:07:36 +09:00
Randy Mackay
9775d23883 AC_WPNav: add TER_MARGIN param 2021-07-22 19:07:36 +09:00
Leonard Hall
dbf1020c16 AC_AttitudeControl: AC_PosControl: Auto Terain following update 2021-07-22 19:07:36 +09:00
Leonard Hall
185c6cf845 AC_WPNav: Auto Terain following update 2021-07-22 19:07:36 +09:00
Andy Piper
3efb3336a5 AP_HAL_ChibiOS: only control widest pulse for dshot and oneshot 2021-07-22 19:07:36 +09:00