Iampete1
731405c465
AC_PID: correct error caculation to use latest target
2024-08-21 17:10:45 +10:00
Iampete1
d53b73468b
AC_PID: add reset and I term set flags to PIDInfo
2024-01-03 12:28:59 +09:00
Iampete1
9146458d4a
AC_PID: remove unused set_integrator methods
2024-01-03 12:28:59 +09:00
Iampete1
2d75b0312e
AC_PID: return P and D as output with slew limit and sum limit applyed
2024-01-03 12:28:59 +09:00
Iampete1
5065770e30
AC_PID: tidy interface
2024-01-03 12:28:59 +09:00
Andy Piper
fc76312fc3
AC_PID: use AP_Filter for notch configuration
...
enable filters with AP_FILTER_ENABLED
dynamically allocate notches
remove load/save for notches, update docs
move feedfoward update to update_all()
restrict load_gains() and save_gains() to just what autotune needs
add D_FF logging
2023-11-21 13:26:23 +11:00
Andy Piper
b17b78e329
AC_PID: add notch filters to target and error terms
...
calculate D feed-forward and notch applications correctly
only update notches when enabled
add notches and D feedforward to heli PIDs
add advanced flag an selectively compile advanced options
2023-11-21 13:26:23 +11:00
Michael du Breuil
dc35b2f6bc
AC_PID: If PD max limiting isn't active clear the flag
2023-10-17 10:14:45 +11:00
Mykhailo Kuznietsov
df88281e07
AC_PID: Fix some typos
...
Fixed some typos found in the code.
2023-10-12 18:30:42 +11:00
Iampete1
9e9aaed1b5
AC_PID: Simplify update_error method by calling update all
2023-10-03 11:27:07 +11:00
Iampete1
9599318fff
AC_PID: apply PD limit in such that limit flag is set and reported P and D terms are correct
2023-09-26 10:41:05 +10:00
Leonard Hall
3de0bcefdb
AC_PID: Support PD Max
2023-09-26 10:41:05 +10:00
Randy Mackay
11ddf9f7c7
AC_PID: add const kP accessor
2023-09-12 19:14:01 +10:00
Peter Barker
06a8dafbf5
AC_PID: tidy AC_PID construction
2023-08-31 11:09:10 +10:00
Randy Mackay
99bfcb7498
AC_PID: AC_PID_2D integrates SlewCalculator2D
2023-08-01 09:16:17 +10:00
Iampete1
b7907e10c8
AC_PID: AC_PI: fix param defualting
2023-02-06 08:09:13 +09:00
Iampete1
18d0dbcd8a
AC_PID: use new defualt pattern
2023-01-24 10:16:56 +11:00
Iampete1
f90990b3a2
AC_PID: move to new method for setiung defualts
2023-01-24 10:16:56 +11:00
Iampete1
2371d83620
AC_PID: dont change pid_info.I in set/reset methods
2023-01-17 11:19:39 +11:00
Andy Piper
f3ecb4ee6c
AC_PID: support PD boosting
2023-01-11 18:59:52 +11:00
lthall
0fefe1a05a
AC_PID: Support changing update period
2022-12-13 17:10:06 +11:00
Iampete1
8d216fbce3
AC_PID: params always use set method
2022-08-03 13:43:48 +01:00
Iampete1
3f84ba12c0
AC_PID: use set_and_defualt to set defualt values
2022-07-20 17:59:59 +10:00
esaldiran
9d8bf5004e
AC_PID: update pid_info with integrator reset for logging purposes
2022-07-19 11:40:03 +01:00
Peter Barker
e5e4dee708
AC_PID: stop libraries including AP_Logger.h in .h files
...
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h
This necessitated moving The PID_Info structure out of AP_Logger's
namespace. This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!
There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Bill Geyer
b1d6e41fb9
AC_PID: tradheli-change param name from _VFF to _FF
2022-02-04 08:03:38 +09:00
Leonard Hall
8d330a95b5
AC_PID: replace reset_I_smoothly with relax_integrator
2022-01-25 13:20:47 +09:00
Randy Mackay
39b0d76121
AC_PID: minor format fix
2022-01-11 13:09:34 +09:00
Randy Mackay
9d12130689
AC_PID_2D: minor format fix
2022-01-07 13:41:16 +09:00
Leonard Hall
b7801947af
AC_PID: AC_PID_2D: let I term change direction but not grow when limited
2021-12-16 09:54:49 +09:00
Iampete1
6162775dd0
AC_PID: P 1D, P 2D: remove unused limit flags
2021-11-23 13:49:02 +09:00
Peter Hall
82dd216195
AC_PID_2D: correct limit caculation
2021-11-23 13:47:10 +09:00
Andy Piper
e84a05d5ba
AC_PID: add slew_rate modifier
2021-11-11 08:13:23 +09:00
Leonard Hall
d21b07db98
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-10 08:33:56 +09:00
Andrew Tridgell
c8079a318c
AC_PID: convert AC_P_2D to double
2021-06-24 21:34:30 +10:00
Andrew Tridgell
476e9fc15a
AC_PID: use CLASS_NO_COPY()
2021-06-08 11:14:52 +10:00
Leonard Hall
16ba99149b
AC_PID: Fix before squash 2
2021-05-24 20:13:37 +10:00
Leonard Hall
9e9e139f99
AC_PID: Fix before squash
2021-05-24 20:13:37 +10:00
Leonard Hall
6bed10c434
AC_PID: Add error variable with accessor and clean up
2021-05-24 20:13:37 +10:00
Leonard Hall
eb07bfee2b
AC_PID: minor format fixes
2021-05-12 17:16:00 +10:00
Andrew Tridgell
95b375dc87
AC_PID: log SRate in pid info and expose slew rate
2021-04-15 06:57:16 +10:00
Andrew Tridgell
6f2e592943
AC_PID: allow for slew limit scaler
...
used by plane to have slew limiter in deg/s
2021-04-15 06:57:16 +10:00
Andrew Tridgell
62afa46924
AC_PID: added accessor for IMAX
2021-04-15 06:57:16 +10:00
Leonard Hall
1d720cc5e9
AC_PID: library update and additional functions
...
includes corrections from peer review
2021-04-03 12:07:59 +09:00
Leonard Hall
f0f87be06d
AC_PID: AC_PI_2D format changes
2021-02-18 12:59:39 +09:00
Patrick José Pereira
f9732b6c70
AC_PID: Add missing const in member functions
...
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-03 18:45:14 +11:00
Peter Hall
1a14c8a05b
AC_PID: populate pid_info limit feild
2021-01-05 10:27:28 +11:00
bnsgeyer
c565536afa
AC_PID: add support to smoothly reset the integrator
2020-12-21 23:33:48 -05:00
Andrew Tridgell
9e73922fd9
AC_PID: use calc_lowpass_alpha_dt()
2020-11-10 16:15:45 +11:00
Andrew Tridgell
739410953b
AC_PID: added slew limiter AC_PID
...
this adds the fixed wing slew limiter as an optional part of
AC_PID. It allows the user to configure a maximum slew limit to
prevent oscillations in PIDs when gains are too high
2020-10-25 10:32:48 +11:00