Andrew Tridgell
81d20ae49d
APM_Control: support yaw rate controller autotune
3 years ago
Andrew Tridgell
5a996f308b
APM_Control: fixed code style of plane rate controllers
3 years ago
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
3 years ago
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
3 years ago
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
4 years ago
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
4 years ago
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
4 years ago
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
4 years ago
Andrew Tridgell
f64c6f9ba1
APM_Control: fixed cygwin build
...
FF0 is a macro in cygwin
4 years ago
Andrew Tridgell
767a0b2a99
APM_Control: tweak the activation detection to catch more events
4 years ago
Andrew Tridgell
dd98f00947
APM_Control: prevent cross-axis tuning
...
this should fix tuning at higher AUTOTUNE_LEVEL values
4 years ago
Andrew Tridgell
320d3d20c2
APM_Control: log autotune at 25Hz
4 years ago
Andrew Tridgell
72b51a389c
APM_Control: use ATRP log msg via structure
4 years ago
Andrew Tridgell
7b073a61f1
APM_Control: allow for gain reductions when idle
4 years ago
Andrew Tridgell
91856b1d8c
APM_Control: prevent bad init of FF in autotune
4 years ago
Andrew Tridgell
3fdd507157
APM_Control: log I and prevent numercial errors in autotune
4 years ago
Andrew Tridgell
24d53eade4
APM_Control: adjust filter for autotune to 0.75 Hz
...
this should give a better FF estimate
4 years ago
Paul Riseborough
9e6561e6b5
APM_Control: Ensure adequate trim speed
4 years ago
Andrew Tridgell
fa88967b6e
APM_Control: adjust min value for tconst
4 years ago
Andrew Tridgell
b079da33c5
APM_Control: use slew rate to move gains more smoothly
4 years ago
Andrew Tridgell
772b1262d4
APM_Control: added proportional reduction to D and P
4 years ago
Andrew Tridgell
d561cd358f
APM_Control: log RMAX and TAU
4 years ago
Andrew Tridgell
d914ce6829
APM_Control: reset filters on autotune start
4 years ago
Andrew Tridgell
7e64875a02
APM_Control: tweak tuning settings
4 years ago
Andrew Tridgell
97f88f67f6
APM_Control: allow for AUTOTUNE_LEVEL=0
...
this means keep the existing TCONST and RMAX parameters, if non-zero
4 years ago
Andrew Tridgell
316541017a
APM_Control: fixed handling of clipped actuator in autotune
4 years ago
Andrew Tridgell
9997b191a8
APM_Control: log smoothed rates
4 years ago
Andrew Tridgell
20ef242280
APM_Control: fixed restore of tconst on autotune abort
4 years ago
Andrew Tridgell
53ee13a083
APM_Control: use instance logging and allow AUTOTUNE_LEVEL adjustments
4 years ago
Andrew Tridgell
70c194c358
APM_Control: fixed LoggerDocumentation test
4 years ago
Andrew Tridgell
0b76a8018f
APM_Control: move rmax and tau more slowly
4 years ago
Andrew Tridgell
3cb32a18f0
APM_Control: fixed for cygwin build
4 years ago
Andrew Tridgell
364fa0680d
APM_Control: use shorter tau for autotune higher levels
4 years ago
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
4 years ago
Andrew Tridgell
ead011c7c2
APM_Control: move to only ACPID
4 years ago
Peter Barker
cb692c6946
APM_Control: move logger include to .cpp
6 years ago
Tom Pittenger
0a95785ff0
APM_Control: rename dataflash to logger
6 years ago
Tom Pittenger
752804c2a5
APM_Control: unify singleton naming to _singleton and get_singleton()
6 years ago
Peter Barker
6fc76a32af
GLOBAL: use AP::logger() and strip redundant Log_ from methods
6 years ago
Peter Barker
b47733142f
GLOBAL: rename DataFlash_Class to AP_Logger
6 years ago
Peter Barker
d1f5bcb1ab
APM_Control: stop taking reference to dataflash, use singleton
6 years ago
Michael du Breuil
84b1a6a58b
APM_Control: Supress some compilier warnings about strncpy
7 years ago
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.
9 years ago
Ricardo de Almeida Gonzaga
8d6cc587c5
APM_Control: Fix typos
9 years ago
Will Sackfield
8c98eb2b84
APMControl: Cast type to uint8
...
* Clang requires that the type be explicitly cast
to uint8
9 years ago
Lucas De Marchi
cfb5bbeb9f
APM_Control: stop using Progmem.h
9 years ago
Caio Marcelo de Oliveira Filho
fe718a6ce8
APM_Control: use millis/micros/panic functions
9 years ago
Lucas De Marchi
5244559010
Minimize AP_Progmem.h includes
...
Most of AP_Progmem is already gone so we can stop including it in most
of the places. The only places that need it are the ones using
pgm_read_*() APIs.
In some cases the header needed to be added in the .cpp since it was
removed from the .h to reduce scope. In those cases the headers were
also reordered.
10 years ago
Lucas De Marchi
1b07dabeb7
Replace prog_char and prog_char_t with char
...
prog_char and prog_char_t are now the same as char on supported
platforms. So, just change all places that use them and prefer char
instead.
AVR-specific places were not changed.
10 years ago
Lucas De Marchi
831d8acca5
Remove use of PROGMEM
...
Now variables don't have to be declared with PROGMEM anymore, so remove
them. This was automated with:
git grep -l -z PROGMEM | xargs -0 sed -i 's/ PROGMEM / /g'
git grep -l -z PROGMEM | xargs -0 sed -i 's/PROGMEM//g'
The 2 commands were done so we don't leave behind spurious spaces.
AVR-specific places were not changed.
10 years ago