Commit Graph

73 Commits

Author SHA1 Message Date
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
Peter Barker d1f5bcb1ab APM_Control: stop taking reference to dataflash, use singleton 2019-01-18 14:14:22 +11:00
Michael du Breuil 84b1a6a58b APM_Control: Supress some compilier warnings about strncpy 2018-05-29 00:10:40 +01: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
Ricardo de Almeida Gonzaga 8d6cc587c5 APM_Control: Fix typos 2016-05-13 19:20:05 -03:00
Will Sackfield 8c98eb2b84 APMControl: Cast type to uint8
* Clang requires that the type be explicitly cast
to uint8
2016-02-29 14:14:37 +11:00
Lucas De Marchi cfb5bbeb9f APM_Control: stop using Progmem.h 2015-12-27 15:58:12 -02:00
Caio Marcelo de Oliveira Filho fe718a6ce8 APM_Control: use millis/micros/panic functions 2015-11-20 12:28:20 +09:00