Andrew Tridgell
47854ac4b7
APM_Control: lower the tuning trigger threshold
...
this allows for slower stick movements during tuning
This is based on analysing the log from kir850 on rcgroups
2021-07-31 10:01:14 +10:00
Iampete1
bb624074dd
APM_Control: remove outdated tuning guide
2021-07-28 18:26:31 +10:00
Andrew Tridgell
45cf726a4b
APM_Control: new autotune scheme
...
this separately tunes D and then P, which more closely follows the
technique used for a manual tune
2021-07-24 15:32:55 +10:00
Peter Barker
d2102ce9b7
APM_Control: stop taking references to ahrs in APM_Control
2021-07-21 18:27:23 +10:00
Andrew Tridgell
1633afb6cd
APM_Control: adjust fixed wing filter defaults
...
adjust defaults based on discussions with Paul, and initialise the
FLTT value based on the controller time constant
2021-07-05 20:07:47 +10:00
Andrew Tridgell
cd43c0ecef
APM_Control: use FF to increase but not reduce tau in autotune
...
if user wants a slow time constant we should not override
2021-05-25 12:14:38 +10:00
Hwurzburg
4f4389df2f
APM_Control: make centideg metadata incr and range consistent
2021-05-25 10:10:18 +10:00
Iampete1
bc90ba5486
AR_AttitudeControl: get_steering_out_rate use abs speed for G limit
2021-05-19 16:02:20 +01:00
Randy Mackay
b4fd9848df
AR_AttitudeControl: add get_stop_speed accessor
2021-05-11 15:31:17 +09:00
Iampete1
980c41e273
APM_Control: G limit all turn rates
2021-05-03 19:22:16 -04:00
Andrew Tridgell
f64c6f9ba1
APM_Control: fixed cygwin build
...
FF0 is a macro in cygwin
2021-04-15 06:57:16 +10:00
Andrew Tridgell
767a0b2a99
APM_Control: tweak the activation detection to catch more events
2021-04-15 06:57:16 +10:00
Andrew Tridgell
bb1dc7192b
APM_Control: lower default target filter frequencies
...
this will remove a lot of the level flight noise causing oscillation
at higher gains
2021-04-15 06:57:16 +10:00
Andrew Tridgell
dd98f00947
APM_Control: prevent cross-axis tuning
...
this should fix tuning at higher AUTOTUNE_LEVEL values
2021-04-15 06:57:16 +10:00
Andrew Tridgell
320d3d20c2
APM_Control: log autotune at 25Hz
2021-04-15 06:57:16 +10:00
Andrew Tridgell
72b51a389c
APM_Control: use ATRP log msg via structure
2021-04-15 06:57:16 +10:00
Andrew Tridgell
7b073a61f1
APM_Control: allow for gain reductions when idle
2021-04-15 06:57:16 +10:00
Andrew Tridgell
91856b1d8c
APM_Control: prevent bad init of FF in autotune
2021-04-15 06:57:16 +10:00
Andrew Tridgell
3fdd507157
APM_Control: log I and prevent numercial errors in autotune
2021-04-15 06:57:16 +10:00
Andrew Tridgell
24d53eade4
APM_Control: adjust filter for autotune to 0.75 Hz
...
this should give a better FF estimate
2021-04-15 06:57:16 +10:00
Paul Riseborough
9e6561e6b5
APM_Control: Ensure adequate trim speed
2021-04-15 06:57:16 +10:00
Andrew Tridgell
fa88967b6e
APM_Control: adjust min value for tconst
2021-04-15 06:57:16 +10:00
Andrew Tridgell
b079da33c5
APM_Control: use slew rate to move gains more smoothly
2021-04-15 06:57:16 +10:00
Andrew Tridgell
772b1262d4
APM_Control: added proportional reduction to D and P
2021-04-15 06:57:16 +10:00
Andrew Tridgell
d561cd358f
APM_Control: log RMAX and TAU
2021-04-15 06:57:16 +10:00
Andrew Tridgell
d914ce6829
APM_Control: reset filters on autotune start
2021-04-15 06:57:16 +10:00
Andrew Tridgell
7e64875a02
APM_Control: tweak tuning settings
2021-04-15 06:57:16 +10:00
Andrew Tridgell
ccd7b15d06
APM_Control: apply pitch limiting at high roll to rate
...
this fixes an issue with a large elevator trim error when rolled at
close to 90 degrees
2021-04-15 06:57:16 +10:00
Andrew Tridgell
4694820ac3
APM_Control: allow for smaller minimum tconst
2021-04-15 06:57:16 +10:00
Andrew Tridgell
97f88f67f6
APM_Control: allow for AUTOTUNE_LEVEL=0
...
this means keep the existing TCONST and RMAX parameters, if non-zero
2021-04-15 06:57:16 +10:00
Andrew Tridgell
316541017a
APM_Control: fixed handling of clipped actuator in autotune
2021-04-15 06:57:16 +10:00
Andrew Tridgell
9997b191a8
APM_Control: log smoothed rates
2021-04-15 06:57:16 +10:00
Andrew Tridgell
20ef242280
APM_Control: fixed restore of tconst on autotune abort
2021-04-15 06:57:16 +10:00
Andrew Tridgell
53ee13a083
APM_Control: use instance logging and allow AUTOTUNE_LEVEL adjustments
2021-04-15 06:57:16 +10:00
Andrew Tridgell
70c194c358
APM_Control: fixed LoggerDocumentation test
2021-04-15 06:57:16 +10:00
Andrew Tridgell
0b76a8018f
APM_Control: move rmax and tau more slowly
2021-04-15 06:57:16 +10:00
Andrew Tridgell
3cb32a18f0
APM_Control: fixed for cygwin build
2021-04-15 06:57:16 +10:00
Andrew Tridgell
364fa0680d
APM_Control: use shorter tau for autotune higher levels
2021-04-15 06:57:16 +10:00
Andrew Tridgell
f88622def8
APM_Control: implement new autotune system
...
use actuator/rate ratio with median filter for FF and Dmod/overshoot
for P,I,D
2021-04-15 06:57:16 +10:00
Andrew Tridgell
12fad55891
APM_Control: fixed pid_info for pitch controller
2021-04-15 06:57:16 +10:00
Andrew Tridgell
ead011c7c2
APM_Control: move to only ACPID
2021-04-15 06:57:16 +10:00
Andrew Tridgell
6ca9033dde
APM_Control: run AC_PID in parallel with old PID for roll/pitch
2021-04-15 06:57:16 +10:00
Randy Mackay
f0ffaa5624
AR_AttitudeControl: reset speed filter and I term when stopped
2021-03-04 09:07:32 +09:00
Andrew Tridgell
9a244eef29
APM_Control: added SMAX param docs
2020-10-25 10:32:48 +11:00
Andrew Tridgell
d2a4505184
APM_Control: fixed bug in slew filter
2020-10-25 10:32:48 +11:00
Peter Barker
d20c6ceb3b
APM_Control: replace '@User: User' with '@User: Standard'
2020-09-22 14:56:04 +10:00
Randy Mackay
2db57dffac
AR_AttitudeControl: update param desc increment and range
2020-09-16 16:49:40 +09:00
Paul Riseborough
548bab5d24
APM_Control: Add gyro feedback limit cycle protection
2020-07-13 13:47:50 +10:00
Mark Whitehorn
442fa60651
APM_Control: validate parameter ARSPD_FBW_MIN
2020-04-02 19:43:06 -07:00
Peter Barker
c9f2b9ff87
AR_AttitudeControl: correct spelling error in param docs
2020-03-16 17:44:35 +11:00
Peter Hall
84fe5f4e78
APM_Control: move to airspeed_estimate with pointer
2020-01-14 22:34:37 -07:00
Peter Hall
c71cbe2729
APM_Control: AR_AttitudeControl: add description for new PID params
2019-09-23 09:45:46 +09:00
Peter Barker
7fbaea7971
APM_Control: wrap_180_cd no longer solely returns floats
2019-09-18 12:57:02 +10:00
Randy Mackay
1b533295a8
AR_AttitudeControl: minor comment fixes
2019-08-06 20:00:05 +09:00
Peter Hall
65d8047165
AR_AttitudeControl: fix sailboat heel PID
2019-08-06 20:00:05 +09:00
Leonard Hall
6f14673f08
APM_Control: support for upgrade to PID object
2019-07-25 17:38:15 +09:00
Leonard Hall
157f786adf
Global: rename desired to target in PID info
2019-07-25 17:38:15 +09:00
Peter Barker
cb692c6946
APM_Control: move logger include to .cpp
2019-07-09 10:57:20 +10:00
Andrew Tridgell
05bd0cb9f4
APM_Control: added decay_I() function
...
used by VTOL planes to decay integrator on fixed wing components when
at very low airspeed
2019-07-07 18:16:47 +10:00
Michael du Breuil
197804412a
APM_Control: Fix AP_GPS include
2019-06-18 10:02:05 +10:00
Randy Mackay
a96c146758
AR_AttitudeControl: set-throttle-out-stop considered same as running speed controller
...
update the speed-last-ms time when set-throttle-out-stop runs or else the desired throttle will not be acceleration limited when the desired speed is next increased above zero
2019-06-08 09:35:36 +09:00
Randy Mackay
4e68d16526
AR_AttitudeControl: use speed_control_active in get_desired_speed_accel_limited
...
also minor formatting fixes
this is a non-functional change
2019-05-10 06:55:35 +09:00
Randy Mackay
6d4d1bc20a
AR_AttitudeControl: add get_turn_rate_from_heading
2019-05-10 06:55:35 +09:00
Randy Mackay
8907b727f6
AR_AttitudeControl: add get_turn_rate_from_lat_accel
2019-05-10 06:55:35 +09:00
Peter Hall
505e1d8c1d
APM_Control: AP_RollContorller: move rate limit
2019-05-06 19:16:26 +10:00
Randy Mackay
415042e557
AR_AttitudeControl: minor declaration ordering change
2019-05-04 14:49:32 +09:00
Randy Mackay
f6f5967a82
AR_AttitudeControl: minor param desc fix
2019-05-04 14:49:26 +09:00
Tom Pittenger
0a95785ff0
APM_Control: rename dataflash to logger
2019-03-28 16:40:57 +11:00
IamPete1
49ec059420
APM_Control: add function to relax rover i terms
2019-02-27 08:51:24 +09:00
Tom Pittenger
752804c2a5
APM_Control: unify singleton naming to _singleton and get_singleton()
2019-02-10 19:09:58 -07:00
Andrew Tridgell
d7f90963ea
APM_Control: fill in Act field of PID logs for plane
2019-01-28 09:38:32 +09:00
Nathan E
548a573803
Update AP_YawController.cpp
2019-01-23 09:24:18 -07:00
Nathan E
f9aac6919c
Update AP_RollController.cpp
2019-01-23 09:24:18 -07:00
Nathan E
fbb2252fd9
Update AP_PitchController.cpp
2019-01-23 09:24:18 -07:00
Peter Barker
6fc76a32af
GLOBAL: use AP::logger() and strip redundant Log_ from methods
2019-01-18 18:08:20 +11:00
Peter Barker
b47733142f
GLOBAL: rename DataFlash_Class to AP_Logger
2019-01-18 18:08:20 +11:00
Peter Barker
d1f5bcb1ab
APM_Control: stop taking reference to dataflash, use singleton
2019-01-18 14:14:22 +11:00
Peter Barker
b276034c60
APM_Control: correct use of incorrect abs functions
2018-10-19 08:46:43 +11:00
IamPete1
e443b864c6
AR_AttitudeControl: add sail heel PID
2018-09-28 10:40:12 +09:00
Andrew Tridgell
3ab7fe348a
APM_Control: halve the default pitch D term for planes
...
this is based on feedback from the 3.9.1 release
2018-09-14 07:32:13 +10:00
Randy Mackay
d7d6c6ab04
AR_AttitudeControl: clarify units of get_steering_out_heading argument
...
also update comments
2018-09-11 14:39:50 +09:00
Randy Mackay
96097586c3
AR_AttitudeControl: reset I if speed controller not called recently
2018-09-04 15:00:41 +09:00
Randy Mackay
106b8abab7
AR_AttitudeControl: get_throttle_out_from_pitch accepts vehicle speed
2018-08-27 16:44:33 +09:00
Randy Mackay
d5ef3c2e0f
AR_AttitudeControl: get_throttle_out_from_pitch uses motor limits
...
This allows removing I-term build up from throttle hitting 100%
2018-08-27 16:44:33 +09:00
Randy Mackay
65b020eac3
AR_AttitudeControl: re-order pitch control to match other similar methods
2018-08-27 16:44:33 +09:00
Andrew Tridgell
9e2933df89
APM_Control: raised default PID gains for roll/pitch
2018-08-17 20:42:25 +10:00
Randy Mackay
1c18d06aa3
AR_AttitudeControl: move unnecessary else
2018-08-06 11:30:22 +09:00
Randy Mackay
9b60e0844b
AR_AttitudeControl: add get_desired_pitch accessor
2018-08-06 11:30:22 +09:00
Ebin
ccb32cf357
APM_Control: BRAKE param default is true
2018-07-20 14:41:32 +10:00
Ebin
1dc1b28234
APM_Control: changed default PID for Balance Bot
2018-07-20 14:41:32 +10:00
Randy Mackay
9eebb6225a
AR_AttitudeControl: brake fix to set limit in only one direction
2018-07-19 09:04:50 +08:00
Ebin
30b3d63e8a
APM_Control: New default PID values for balance bots
2018-07-06 19:41:09 +10:00
Ebin
ce182fd307
APM_Control: fixed test condition in AR_AttutudeControl.cpp
2018-07-06 19:41:09 +10:00
Ebin
97a260a980
APM_Control: get_throttle_out_from_pitch() accepts dt as argument
2018-06-28 21:55:20 +09:00
Ebin
657ff06380
APM_Control: added balancing function for BalanceBot
2018-06-28 21:55:20 +09:00
Randy Mackay
5e7b37f0b2
AR_AttitudeControl: remove constraint on steering output
2018-06-12 17:44:10 +09:00
Ammarf
b614ca9b75
AR_AttitudeControl: disable limits when _ACCEL_MAX is zero
2018-06-11 08:54:59 +09:00
Randy Mackay
67475a9eaa
AR_AttitudeControl: reset turn-rate I term if not run for 0.2sec
2018-06-01 15:06:13 +09:00
disgruntled-patzer
2c41db9e4d
AP_RollController.cpp: Updated description of ArduPlane Roll Controller for accuracy
...
AP_RollController's get_servo_out function does not return an elevator deflection as was previously described in the function comments.
Instead, it should return an aileron deflection. Thus, the function description should be updated to reflect this more accurately
2018-05-30 09:46:08 +09:00
Randy Mackay
e691b680ca
AR_AttitudeControl: add speed-control-active method
...
allows caller check if speed controller if active
also consolidated other methods to use this check to reduce a little bit of duplicate code
2018-05-29 16:37:31 +09:00