Commit Graph

66 Commits

Author SHA1 Message Date
Andy Piper eeda86ccb4 AC_AttitudeControl: rate_controller_run_dt() takes dt as last argument 2024-09-26 19:25:33 +10:00
Andy Piper 02a2c788da AC_AttitudeControl: ensure plane always gets the latest gyro 2024-09-26 19:25:33 +10:00
Andy Piper 6b5da48641 AC_AttitudeControl: provide function to reset target modifiers 2024-09-26 19:25:33 +10:00
Andy Piper ff002cba3f AC_AttitudeControl: ensure the rate and attitude controllers can't interfere with the target at the same time 2024-09-26 19:25:33 +10:00
Andy Piper c28e38e9b5 AC_AttitudeControl: pass in gyro sample to rate controller 2024-09-26 19:25:33 +10:00
Andy Piper bb2249f766 AC_AttitudeControl: record latest gyro value and time used for logging
move Write_Rate() to AC_AttitudeControl
move RATE log structure to AC_AttitudeControl
2024-09-10 16:33:04 +01:00
Andy Piper b7a969d462 AC_AttitudeControl: update for new AC_PID settings
enable filters with AP_FILTER_ENABLED
2023-11-21 13:26:23 +11:00
Andy Piper d6287e90f1 AC_AttitudeControl: update PID notch centres
add documentation for PID notches and D feed-foward
add notches and D feedforward to heli PIDs
add advanced flag to PIDs and selectively compile advanced PID options
2023-11-21 13:26:23 +11:00
Leonard Hall ac0244e430 AC_AttitudeControl: Support PD Max 2023-09-26 10:41:05 +10:00
Peter Barker 70109f968c AC_AttitudeControl: tidy AC_PID construction 2023-08-31 11:09:10 +10:00
Andy Piper 8ecd1d9a37 AC_AttitudeControl: move THR_G_BOOST to Multicopter only
refactor PD and Angle P boosting into update_throttle_gain_boost()
call update_throttle_gain_boost() from rate_controller_run()
2023-01-31 08:22:40 +09:00
Andy Piper 53b7f96a5d AC_AttitudeControl: boost PD on roll and pitch when slew limit is hit
boost angle P when slew limit is hit
move to a single parameter for thrust-gain boosting
add PD scaling support
2023-01-11 18:59:52 +11:00
Leonard Hall 3c69d28237 AC_AttitudeControl: Support changing update period 2022-12-13 17:10:06 +11:00
Henry Wurzburg b9452e58b7 AC_AttitudeControl: generalize pid descriptions 2022-11-22 10:55:45 +11:00
Peter Barker 48d25cfc9f AC_AttitudeControl: change namespace of MultiCopter and FixedWing params
this stops the libraries knowing anything about AP_Vehicle
2022-11-09 19:04:37 +11:00
Andy Piper 1287fc4fff AC_AttitudeControl: reset throttle mix to used mix when scaling mix down 2022-06-22 16:17:26 +09:00
Andrew Tridgell 1b0631669c AC_AttitudeControl: fixed limiting of throttle mix values
use constrain instead of reset to keep as much of user requested value
as possible

also raise limit for MIX_MIN to 0.5 after discussion with Leonard
2021-11-23 16:47:25 +09:00
Leonard Hall 0ad2bf15bc AC_AttitudeControl: Support thrust to weight of 10:1 2021-08-03 17:04:43 +09:00
Hwurzburg 27620322ec AC_AttitudeControl: remove % as units on params that are unitless 2021-05-30 22:38:27 -07:00
Leonard Hall b43c7f4ed1 AC_AttitudeControl: Parameter rename (non-functional) 2021-04-21 12:17:42 +10:00
Andrew Tridgell 0a7c628355 AC_AttitudeControl: added SMAX param docs 2020-10-25 10:32:48 +11:00
Randy Mackay aff854f485 AC_AttitudeControl: update param ranges 2020-02-26 08:02:27 +09:00
Leonardo Felipe L. S. dos Santos 07f45e1ef9 AC_AttitudeControlMulti: fix update_althold_lean_angle_max use of
throttle_in
2020-01-29 10:58:56 +09:00
Randy Mackay b9ff846162 AC_AttitudeControl: remove old RAT_FILT param desc 2020-01-21 13:06:56 +09:00
Leonard Hall 3ca713fdcb AC_AttitudeControl: limit ATC_MOT_MIX_MAX in case of a fly away 2019-10-31 12:23:48 +08:00
Leonard Hall 5afb5b4956 AC_AttitudeControl: Prevent loss of yaw control during large angle recovery. 2019-10-31 11:53:27 +08:00
Leonard Hall 0834726b48 AC_AttitudeControl: Support System ID tests 2019-10-16 08:17:09 +09:00
Leonard Hall 7f5d6662b3 AC_AttitudeControl: Support seperate roll and pitch limits 2019-08-03 12:06:32 +09:00
Leonard Hall bbe33e38f3 AC_AttitudeControl: support for upgrade to PID object 2019-07-25 17:38:15 +09:00
Leonard Hall 32cc642b2e AC_AttitudeControl: Formatting Changes 2019-04-20 09:31:56 +09:00
Andrew Tridgell 9766c4ed26 AC_AttitudeControl: fixed use of double precision maths 2018-05-07 11:43:23 +10:00
Leonard Hall 691abab95e AC_AttitudeControl: Update parameter ranges 2018-01-27 11:38:09 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas 188dfb6936 AC_AttitudeControl: Use SI units conventions in parameter units
Follow the rules from:
http://physics.nist.gov/cuu/Units/units.html
http://physics.nist.gov/cuu/Units/outside.html
and
http://physics.nist.gov/cuu/Units/checklist.html
one further constrain is that only printable (7bit) ASCII characters are allowed
2017-05-17 18:07:25 +10:00
Randy Mackay 67097c8d59 AC_AttitudeControl: use gyro_latest
This allows moving the attitude control before the ahrs/ekf update

We continue to use ahrs.get_gyro for the non-time-critical heli
passthrough functions.  We should avoid using get_gyro_latest() unless we know there is a direct benefit because it could lead to inconsistent gyro values vs what the EKF is using.
2017-03-03 13:14:28 +11:00
Randy Mackay d79403707b AC_AttControl: add feed forward param descriptions
No functional change
2017-03-01 14:59:44 +09:00
Andrew Tridgell 1345bf8737 AC_AttitudeControl: added support for AP_AHRS_View
this allows for tailsitters with a different attitude view
2017-02-18 17:26:43 +11:00
Randy Mackay 189b766f2b AC_AttControl: remove redundant parameter set 2017-01-17 14:56:07 +09:00
Leonard Hall c6d2fc3d5d AC_AttitudeControl: add rpy mix manual
This allows adjusting the attitude control vs throttle level in manual
flight modes (Stabilize, ACRO)
2017-01-17 14:19:09 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas 8419045aea Spell in comments 2017-01-06 10:57:39 -08:00
murata bcdd836820 AC_AttControl: remove unnecessary check of thr-mix-min
Checks directly above ensure this check can never be true
2016-12-01 13:52:04 +09:00
Leonard Hall 8af192ed9d AC_AttControl: allow MOT_THR_MIX_MAX to be 2.0
The parameter description maximum of 0.9 should keep most users from
setting this parameter above 0.9 but there are rare cases for very high powered copters with low hover-throttle values where setting as high as 2.0 improves attitude control
2016-11-30 17:56:34 +09:00
Peter Barker 2e2d39e628 AC_AttitudeControl: add missing parameter metadata 2016-10-27 09:15:03 -07:00
Mathieu OTHACEHE 152edf7189 Global: remove mode line from headers
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Randy Mackay 44830be172 AC_AttControl: add parameter check of throttle mix 2016-09-02 09:27:15 +09:00
Randy Mackay 24044e5611 AC_AttControl: get_throttle_avg_max always returns value in 0 to 1 range
throttle_avg_max is the total average throttle level (expressed as a number from 0 to 1) that the motors can safely be raised to in order to maintain attitude control.  This level can be higher than the pilot's or autopilot provided throttle level.
Previously passing in a negative throttle_in could result in a negative throttle_avg_max being returned.
2016-08-05 12:40:37 +09:00
Leonard Hall 8737f6b62d AC_AttitudeControl: enhanced quaternion attitude controller 2016-06-24 17:17:11 +09:00
Randy Mackay da946288a2 AC_AttitudeControl: rename throttle_ave_max to throttle_avg_max 2016-06-18 11:55:49 +09:00
Randy Mackay 570920c7d7 AC_AttitudeControlMulti: run control_monitor_update in rate_controller_run 2016-06-18 11:55:49 +09:00
Leonard Hall 096bdd67f8 AC_AttitudeControl: add ATC_ANG_LIM_TC parameter
This allow adjusting the reponse to limit lean angles to reduce altitude loss
2016-06-18 11:55:49 +09:00
Randy Mackay dafc45eb26 AC_AttitudeControl: move get_althold_lean_angle_max to parent class 2016-06-18 11:55:49 +09:00