Andy Piper
ab24f97275
APM_Control: implement single-cycle feed-forward scaler for roll and pitch
2023-09-13 18:02:44 +10:00
Andy Piper
ee883b6ad0
APM_Control: allow autotune FLTD and FLTT updates to be disabled
2023-08-23 18:06:22 +10:00
Randy Mackay
57b54a4263
AR_PosControl: add singleton and get_srate
2023-08-01 09:16:17 +10:00
Randy Mackay
68e1769cc1
AR_AttitudeControl: add singleton and get_srate
2023-08-01 09:16:17 +10:00
Randy Mackay
9c15dcb206
AR_PosControl: limit and zero velocity I-term
...
zero in forward-back direction
limit in lateral direction
2023-07-05 20:27:54 +09:00
Randy Mackay
6f52eaf9a7
AR_AttitudeContol: add steering_limited checks
2023-07-05 20:27:54 +09:00
Randy Mackay
385e828fdd
AR_PosControl: add input_pos_vel_accel target
2023-05-30 10:17:13 +10:00
Iampete1
c99c17f1ce
AMP_Control: Roll and Pitch Controller: don't reset pid_info.I in reset_I calls
2023-01-17 11:19:39 +11:00
Leonard Hall
2f2143ca6f
AP_Control: Support changing update period
2022-12-13 17:10:06 +11:00
Henry Wurzburg
2d4d915b45
APM_Control: generalize pid descriptions
2022-11-22 10:55:45 +11:00
Randy Mackay
71ae3f0a13
AR_AttitudeControl: balancebot gets pitch limit protection
2022-11-15 09:00:57 +09:00
Randy Mackay
3d89bd9f14
AR_AttitudeControl: balancebot pitch feedforward uses current pitch angle
2022-11-15 09:00:57 +09:00
Randy Mackay
30b2e03a85
AR_AttitudeControl: improve balancebot pitch control param description
2022-11-15 09:00:57 +09: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
Peter Barker
326789f0ed
APM_Control: remove unused methods
2022-11-01 10:58:27 +11:00
Andrew Tridgell
01d006ebd1
APM_Control: added access to time constant
2022-10-18 07:38:39 +11:00
jackhong12
4a4f361a17
all: use CLASS_NO_COPY() macro
2022-10-04 11:23:04 +11:00
MatthewHampsey
822c26f811
APM_Control: fixed yaw PID reset
2022-09-22 05:55:15 +10:00
Iampete1
ad32d277ff
APM_Control: YawController: add enabled method
2022-09-20 11:21:54 +10:00
Iampete1
c6e0ba7360
APM_Control: SteerController: add active method
2022-09-20 11:21:54 +10:00
Shiv Tyagi
7d3f013695
AR_PosControl: add accessor for reversed
2022-09-06 11:23:51 +09:00
Andrew Tridgell
9a453bfc82
APM_Control: removed use of "blended" earth frame accel
2022-08-21 18:51:59 +10:00
Iampete1
6875ef17a0
APM_Control: params always use set method
2022-08-03 13:43:48 +01:00
Henry Wurzburg
dcde718f20
AP_Control: change I determination for Roll axis
2022-07-26 09:40:02 +10:00
esaldiran
545cf0504a
APM_Control: AP_YawController: update pid_info with integrator reset for logging purposes
2022-07-19 11:40:03 +01:00
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