Andrew Tridgell
0430923639
APM_Control: change LIM_ROLL_CD to ROLL_LIMIT_DEG
2024-01-23 15:00:30 +11:00
Andrew Tridgell
93c4b75a60
APM_Control: convert LIM_PITCH_MIN/MAX -> PTCH_LIM_MIN/MAX_DEG
2024-01-23 15:00:30 +11:00
Peter Barker
f930c38712
APM_Control: allow compilation with HAL_LOGGING_ENABLED false
2024-01-17 18:25:55 +11:00
Andrew Tridgell
69bfe9b837
APM_Control: added D_FF support for fixed wing
2023-11-21 13:26:23 +11:00
Michael du Breuil
f1b6a7d586
APM_Control: Allow autotune level 0 to actually reach the lowest entries of the autotune level table
2023-10-31 11:42:27 +11:00
Andy Piper
ee883b6ad0
APM_Control: allow autotune FLTD and FLTT updates to be disabled
2023-08-23 18:06:22 +10:00
Peter Barker
7f202b8a0e
APM_Control: change namespace of MultiCopter and FixedWing params
...
this stops the libraries knowing anything about AP_Vehicle
2022-11-09 19:04:37 +11:00
Henry Wurzburg
dcde718f20
AP_Control: change I determination for Roll axis
2022-07-26 09:40:02 +10:00
Peter Barker
73c6eabde2
APM_Control: tidy includes
2022-05-03 09:14:58 +10:00
Peter Barker
dd589934cc
APM_Control: 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
Andrew Tridgell
81d20ae49d
APM_Control: support yaw rate controller autotune
2021-11-30 16:19:26 +11:00
Andrew Tridgell
5a996f308b
APM_Control: fixed code style of plane rate controllers
2021-11-30 16:19:26 +11:00
Andrew Tridgell
724301ea53
APM_Control: make 2nd reduction of P smaller
...
this prevents severe P reductions when we get a small oscillation
glitch after we've already got the primary P gain
2021-11-30 10:31:34 +11:00
Andrew Tridgell
08fcfa04ae
APM_Control: only save autotune gains when P finished
...
this prevents saving values which are temporarily high due to tuning
process
See this bug report
https://discuss.ardupilot.org/t/plane-4-1-0-stable/76507/45
2021-10-10 19:00:57 +11:00
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
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
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
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
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
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
ead011c7c2
APM_Control: move to only ACPID
2021-04-15 06:57:16 +10:00
Peter Barker
cb692c6946
APM_Control: move logger include to .cpp
2019-07-09 10:57:20 +10:00
Tom Pittenger
0a95785ff0
APM_Control: rename dataflash to logger
2019-03-28 16:40:57 +11:00
Tom Pittenger
752804c2a5
APM_Control: unify singleton naming to _singleton and get_singleton()
2019-02-10 19:09:58 -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