Andrew Tridgell
aafec1fbe7
APM_Control: fixed use of configured() vs configured_in_storage()
2022-06-06 13:11:50 +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
Randy Mackay
c233f114bd
AR_PosControl: fixup logging to record desired and target velocity and acceleration
2022-03-30 15:34:14 +09:00
Randy Mackay
74df1c0b22
AR_PosControl: reduce default I term to zero
2022-03-30 15:34:14 +09:00
Randy Mackay
abc7bd446a
AR_PosControl: rover position controller
2022-03-30 15:34:14 +09:00
murata
bb72f91dda
APM_Control: Change from division to multiplication
2022-03-16 18:41:52 +11:00
xianglunkai
2e5c201222
AR_AttitudeControl: use _desired_speed instead of desired_speed for throttle-speed controller
2022-03-04 17:51:19 +11:00
Randy Mackay
619f4976a2
AR_AttitudeControl: get_turn_rate_from_heading applies acceleration limit
...
Limits rate output so that vehicle will not overshoot the target heading
2022-02-10 07:45:12 +09:00
Hwurzburg
d1f02916cf
APM_Control: correct metadata description for roll/pitch rate limits
2022-01-25 08:37:39 +11:00
Randy Mackay
91d40b768c
AR_AttitudeControl: get_throttle_speed_pid_info.FF includes base throttle
2022-01-07 09:36:44 +09:00
Randy Mackay
53135b2df0
AR_AttitudeControl: improve get_turn_lat_accel accessor comments
2022-01-03 09:07:21 +09:00
Andrew Tridgell
639447142a
APM_Control: use EKF yaw bias to correct fixed wing yaw damper
2021-12-07 17:05:54 +11:00
Andrew Tridgell
c83da810da
APM_Control: tweaks from review feedback
2021-11-30 16:19:26 +11:00
Andrew Tridgell
81d20ae49d
APM_Control: support yaw rate controller autotune
2021-11-30 16:19:26 +11:00
Andrew Tridgell
6685ce0527
APM_Control: added yaw rate controller for fixed wing
...
enabled with YAW_RATE_ENABLE parameter
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
Randy Mackay
e85a95f21c
AR_AttitudeControl: reduce some param defaults
...
These reductions are based on experirence helping users setup new vehicle. In the vast majority of cases the existing values are too high
STEER_ANG_P is the default for the angle-to-rate controller and is used during pivot turns. This value may still be slightly too high.
STEER_RATE_MAX is the maximum turn rate so the new value allows a 360 turn in 3 seconds
STEER_ACCEL_MAX is the acceleration for the turn rate meaning a vehicle can get to 120 deg/sec in 1 sec
THR_ACCEL_MAX is the maximum acceleration. This new value means a vehicle can accelerate to 1m/s in 1 second.
2021-11-17 19:18:23 +11:00
Randy Mackay
9c54b3d252
AR_AttitudeControl: move param defines from .h to .cpp
2021-11-17 19:18:23 +11:00
Andrew Tridgell
8a73bdcbe6
APM_Control: suppress roll/pitch D term in ground_mode
...
prevent oscillations which are quite common
2021-10-30 18:45:53 +11:00
Iampete1
a590a675d6
AP_RollController: return floats
2021-10-20 18:29:58 +11:00
Iampete1
da4fd7a914
AP_PitchController: return floats
2021-10-20 18:29:58 +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
Ben Wolsieffer
68ee2c21dd
AP_Control: apply pitch rate limit to turn coordination
...
At high bank angles, for example when rolling to/from inverted, a large turn
coordination pitch rate offset is requested. Before this patch, this offset was
not subject to the configured pitch rate limit, which could result in pitch
controller integrator windup.
2021-09-29 17:03:32 +01:00
Randy Mackay
570c12215d
AR_AttitudeControl: fix get_throttle_out_speed use of passed in limits
2021-09-10 07:50:00 +09:00
Peter Barker
066ad0f8da
APM_Control: remove unused variables
2021-08-23 08:39:41 +09: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
Iampete1
bb624074dd
APM_Control: remove outdated tuning guide
2021-07-28 18:26:31 +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
Peter Barker
d2102ce9b7
APM_Control: stop taking references to ahrs in APM_Control
2021-07-21 18:27:23 +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
Hwurzburg
4f4389df2f
APM_Control: make centideg metadata incr and range consistent
2021-05-25 10:10:18 +10:00
Iampete1
bc90ba5486
AR_AttitudeControl: get_steering_out_rate use abs speed for G limit
2021-05-19 16:02:20 +01:00
Randy Mackay
b4fd9848df
AR_AttitudeControl: add get_stop_speed accessor
2021-05-11 15:31:17 +09:00
Iampete1
980c41e273
APM_Control: G limit all turn rates
2021-05-03 19:22:16 -04: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
bb1dc7192b
APM_Control: lower default target filter frequencies
...
this will remove a lot of the level flight noise causing oscillation
at higher gains
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