Andrew Tridgell
a11948e175
APM_Control: new autotune scheme
...
this separately tunes D and then P, which more closely follows the
technique used for a manual tune
2021-08-28 17:10:29 +09:00
Andrew Tridgell
079577a6e5
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-23 10:19:45 +09: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
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.
2015-10-30 14:35:32 +09:00
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.
2015-10-30 14:35:30 +09:00
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.
2015-10-30 14:35:16 +09:00
Lucas De Marchi
1336d621be
Replace use of strcpy_P() with strcpy()
2015-10-30 14:35:12 +09:00
Lucas De Marchi
2c38e31c93
Remove use of PSTR
...
The PSTR is already define as a NOP for all supported platforms. It's
only needed for AVR so here we remove all the uses throughout the
codebase.
This was automated with a simple python script so it also converts
places which spans to multiple lines, removing the matching parentheses.
AVR-specific places were not changed.
2015-10-30 14:35:04 +09:00
Gustavo Jose de Sousa
db9f037e4b
APM_Control: 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
Lucas De Marchi
4a595bd797
APM_Control: use ARRAY_SIZE
2015-07-21 14:24:52 +09:00
Andrew Tridgell
131b345ccc
APM_Control: cleanup some coverity warnings
2015-06-20 13:30:32 +10:00