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
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
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
Iampete1
f90990b3a2
AC_PID: move to new method for setiung defualts
2023-01-24 10:16:56 +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
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
Leonard Hall
8d330a95b5
AC_PID: replace reset_I_smoothly with relax_integrator
2022-01-25 13:20:47 +09:00
Andy Piper
e84a05d5ba
AC_PID: add slew_rate modifier
2021-11-11 08:13:23 +09:00
Andrew Tridgell
476e9fc15a
AC_PID: use CLASS_NO_COPY()
2021-06-08 11:14:52 +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
bnsgeyer
c565536afa
AC_PID: add support to smoothly reset the integrator
2020-12-21 23:33:48 -05: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
Peter Barker
c78dcb15a1
AC_PID: remove dead get_ff(float target) method as per TODO comment
2020-09-09 13:19:17 +09:00
Randy Mackay
0052dcc8f8
AC_PID: update pid_info when integrator set
2019-10-18 11:15:25 +09:00
Leonard Hall
ab0bdc9fe6
AC_PID: upgrade to PID object
2019-07-25 17:38:15 +09:00
Randy Mackay
cae020c307
AC_PID: minor format fix
2019-04-16 11:23:46 +09:00
Peter Barker
b47733142f
GLOBAL: rename DataFlash_Class to AP_Logger
2019-01-18 18:08:20 +11:00
Randy Mackay
b381ae7bf3
AC_PID: support storing actual
2018-08-27 16:44:33 +09:00
Randy Mackay
4e8155f4e5
AC_PID: allow non-zero ff gain default
2018-01-05 13:33:21 +09:00
Randy Mackay
91d489d91e
AC_PID: implement reset_filter
2017-10-26 19:44:47 +09:00
Andrew Tridgell
b97bf5d15e
AC_PID: added feed-forward to AC_PID
2017-02-18 17:26:43 +11:00
Andrew Tridgell
ccae8979c1
AC_PID: expose filt_hz as a AP_Float
...
this allows defaults to be overridden
2017-01-12 17:39:37 +11:00
Andrew Tridgell
2086b591a2
AC_PID: expose ff() method in AC_PID
...
this allows for an abstract AC_PID class to be used in
AC_AttitudeControl for both multicopter and heli
2017-01-12 17:39:37 +11: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
Andrew Tridgell
412dc10353
AC_PID: expose parameters as AP_Float
...
this enables full tuning capability
2016-05-07 18:34:03 +10:00
Ricardo de Almeida Gonzaga
5bd034a5a8
Global: start using cmath instead of math.h
2016-04-05 21:06:19 -07:00
Lucas De Marchi
f637a29ab6
AC_PID: replace header guard with pragma once
2016-03-16 18:40:39 +11:00
Gustavo Jose de Sousa
286d084d83
AC_PID: standardize inclusion of libaries headers
...
This commit changes the way libraries headers are included in source files:
- If the header is in the same directory the source belongs to, so the
notation '#include ""' is used with the path relative to the directory
containing the source.
- If the header is outside the directory containing the source, then we use
the notation '#include <>' with the path relative to libraries folder.
Some of the advantages of such approach:
- Only one search path for libraries headers.
- OSs like Windows may have a better lookup time.
2015-08-11 16:28:41 +10:00
Andrew Tridgell
3ec8857fbc
AC_PID: added set_desired_rate() interface
...
used to setup _pid_info for logging
2015-05-27 14:28:48 +10:00
Robert Lefebvre
967071ca62
AC_PID: Integrate PID Logging functionality.
2015-05-27 14:28:44 +10:00
Tom Pittenger
9d74f57ed3
AP_PID: replace fabs() with fabsf()
2015-05-09 09:57:26 +10:00
Jonathan Challinger
6ea91d012e
AC_PID: calculate filt_alpha every time the filter is run
2015-04-14 16:19:02 +09:00
Randy Mackay
c10b0b34ca
AC_PID: replace set_filt_hz method with filt_hz
...
Thanks to Jonathan Challinger for spotting this bug
Also add sanity check to filt_hz
2015-03-11 17:28:20 +09:00
Leonard Hall
517448e536
AC_PID: add input filtering and restructure
2015-03-06 14:01:52 +09:00
Randy Mackay
0a46afa6c4
AC_PID: init members to reduce compiler warnings
2014-07-16 17:46:14 +09:00
Robert Lefebvre
b35ec4339e
AC_PID: Add method to set the D-term Filter Rate from main code.
2014-05-29 17:39:10 +09:00
Robert Lefebvre
f1c3f2a3d1
AC_PID: Remove get_leaky_i function which is now found in AC_HELI_PID.
2014-05-29 17:39:08 +09:00
Robert Lefebvre
ef7dc815cd
AC_PID: Change Private members to Protected so that AC_HELI_PID can access them.
2014-05-29 17:38:59 +09:00
Randy Mackay
fbc5af2705
AC_PID: results returned as float
2014-02-15 06:09:08 +11:00
Andrew Tridgell
8c25a504c3
AC_PID: fixed indent-tabs-mode
2013-05-30 09:54:53 +10:00
Andrew Tridgell
2294acc652
AC_PID: fixed build on ARM
2013-01-02 22:09:02 +11:00
Andrew Tridgell
9349259487
AC_PID: updates for new AP_Param API
2012-12-20 14:51:38 +11:00