Andrew Tridgell
f2efea4e1d
AC_AttitudeControl: added inverted flight support
...
for helis
2017-10-03 10:16:41 +11:00
Leonard Hall
ed0063d10d
AC_AttControl: save accel max using shorter set_and_save
...
no functional change
2017-06-22 15:20:16 +09:00
Leonard Hall
0544cf1d82
AC_AttControl: add step input for autotune
2017-06-22 15:18:04 +09:00
Andrew Tridgell
fe3e7e8153
AC_AttitudeControl: added get_throttle_mix()
...
and when we use set_throttle_mix_value(), set both desired and actual
thanks to Leonard for the suggestions
2017-04-19 09:08:43 +10:00
Randy Mackay
67097c8d59
AC_AttitudeControl: use gyro_latest
...
This allows moving the attitude control before the ahrs/ekf update
We continue to use ahrs.get_gyro for the non-time-critical heli
passthrough functions. We should avoid using get_gyro_latest() unless we know there is a direct benefit because it could lead to inconsistent gyro values vs what the EKF is using.
2017-03-03 13:14:28 +11:00
Andrew Tridgell
e5ed20d6f7
AC_AttitudeControl: added set_throttle_mix_value()
...
used by quadplane
2017-02-26 09:20:51 +11:00
Andrew Tridgell
1345bf8737
AC_AttitudeControl: added support for AP_AHRS_View
...
this allows for tailsitters with a different attitude view
2017-02-18 17:26:43 +11:00
Leonard Hall
c6d2fc3d5d
AC_AttitudeControl: add rpy mix manual
...
This allows adjusting the attitude control vs throttle level in manual
flight modes (Stabilize, ACRO)
2017-01-17 14:19:09 +09:00
Andrew Tridgell
5cf1c0869d
AC_AttitudeControl: expose all functions via abstract class
...
this allows for a single class to be used for heli and multicopter
2017-01-12 17:39:37 +11:00
Dr.-Ing. Amilcar Do Carmo Lucas
8419045aea
Spell in comments
2017-01-06 10:57:39 -08: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
Tom Pittenger
3adf8c3e51
AC_AttitudeControl: comment odd math in get_att_target_euler_cd
...
degree(100) = 1 float multiplicaiton
vector3f * degree(100.0f) = 4 float multiplications
degree(vector3f) * 100.0f = 6 float multiplications and needs new degree(vector3f) function
degree(vector3f * 100.0f) = 6 float multiplications and needs new degree(vector3f) function
These all come to the same conclusion but the one that is faster appears to be a bug but is mathematically correct.
2016-09-27 17:04:53 -07:00
Randy Mackay
44830be172
AC_AttControl: add parameter check of throttle mix
2016-09-02 09:27:15 +09:00
Randy Mackay
535158e0d8
AC_AttControl: move var_info declaration
...
No functional change
2016-09-02 09:27:12 +09:00
Leonard Hall
50b694444b
AC_AttControl: correct method comments
...
No functional change
2016-08-08 11:24:42 +09:00
Leonard Hall
ac04fcd836
AC_AttControl: fix set_yaw_target_to_current_heading
2016-08-05 12:40:37 +09:00
Leonard Hall
011bc0a350
AC_AttControl: add reset_rate_controller_I_terms()
2016-08-05 12:40:37 +09:00
Randy Mackay
d5c18dc987
AC_AttControl: remove unused 100hz definition
2016-08-01 17:21:04 +09:00
Leonard Hall
8737f6b62d
AC_AttitudeControl: enhanced quaternion attitude controller
2016-06-24 17:17:11 +09:00
Leonard Hall
117ae89505
AC_AttitudeControl: increase SLEW_YAW default to 60deg/sec
2016-06-24 16:24:17 +09:00
Randy Mackay
558f29b95c
AC_AttitudeControl: control mixing made protected
2016-06-18 11:55:49 +09:00
Leonard Hall
096bdd67f8
AC_AttitudeControl: add ATC_ANG_LIM_TC parameter
...
This allow adjusting the reponse to limit lean angles to reduce altitude loss
2016-06-18 11:55:49 +09:00
Randy Mackay
dafc45eb26
AC_AttitudeControl: move get_althold_lean_angle_max to parent class
2016-06-18 11:55:49 +09:00
Leonard Hall
3d27ecca92
AC_AttitudeControl: add TC for Alt_Hold angle limit
2016-06-18 11:55:49 +09:00
Randy Mackay
7ff0fcb25d
AC_AttitudeControl: multicopter specific rate_controller_run
2016-06-18 11:55:49 +09:00
Leonard Hall
1fb4c12cd0
AC_AttitudeControl: move in throttle vs attitude prioritisation
...
Previously this prioritisation of throttle vs attitude was done in the
AP_Motors library
2016-06-18 11:55:49 +09:00
Randy Mackay
0870ce9fc1
AC_AttitudeControl: remove get_throttle_boosted from parent class
...
This is only called from multicopters
2016-06-18 11:55:49 +09:00
Leonard Hall
25c77c154f
AC_AttitudeControl: rename get_boosted_throttle to get_throttle_boosted
2016-06-18 11:55:49 +09:00
Leonard Hall
35ef761deb
AC_AttitudeControl: Move set_throttle_out to _Multi and _Heli
2016-06-18 11:55:49 +09:00
Andrew Tridgell
e070aeebe3
AC_AttitudeControl: added accessors for P and D RMS controller values
2016-06-10 17:48:31 +10:00
Andrew Tridgell
1c463e3f3b
AC_AttitudeControl: log rms P and D separately
...
as discussed with Leonard
2016-06-10 17:48:31 +10:00
Andrew Tridgell
b4bdfa2451
AC_AttitudeControl: return roll, pitch and yaw controller error separately
...
as discussed with Leonard
2016-06-01 17:18:58 +10:00
Andrew Tridgell
6330060e49
AC_AttitudeControl: added monitoring of controller error
...
use RMS P+I+FF output. Thanks to Leonard for the suggestion
2016-05-28 17:33:30 +10:00
Andrew Tridgell
c7664291f9
AC_AttitudeControl: fixed comment on function
2016-04-28 17:46:58 +10:00
Randy Mackay
75042e5e27
AC_AttControl: remove rate PIDs
2016-04-01 11:59:30 +09:00
Randy Mackay
17c9db08f3
AC_AttControl: add angle and rate PIDs
2016-04-01 11:59:30 +09:00
Randy Mackay
c5e5b4f783
AC_AttControl: fix rate controller max definitions to -1 to +1 range
2016-04-01 11:59:30 +09:00
Leonard Hall
2822b93cd4
AC_AttControl: add get_throttle_in accessor
...
Used for logging only
2016-04-01 11:59:30 +09:00
Leonard Hall
c0f209fa42
AC_AttControl: angle_boost to float
2016-04-01 11:59:30 +09:00
Lucas De Marchi
f42484bcc5
AC_AttitudeControl: replace header guard with pragma once
2016-03-16 18:40:39 +11:00
Jonathan Challinger
e946e047e6
AC_AttitudeControl: add attitude_controller_run functions, call from input functions
2016-03-02 20:16:18 +09:00
Leonard Hall
49a4bde5d9
AC_AttControl: lower minimum accelerations for large copters
2016-02-18 20:49:13 +09:00
Randy Mackay
5ddd332277
AC_AttControl: add ANGLE_BOOST param
...
This allows disabling angle boost
2016-01-07 12:31:52 +09:00
Jonathan Challinger
3d4bd92b48
AC_AttitudeControl: add helper functions to retrieve rotation matrices
2015-12-23 11:38:12 +09:00
Randy Mackay
c8661f804f
AC_AttControl: reduce compiler warnings by fixing member init order
...
Also increased _dt's default to 400hz (no functional change)
2015-12-09 20:04:42 +09:00
Randy Mackay
02eda4dcab
AC_AttControl: remove comment, fix formatting
2015-12-09 20:04:32 +09:00
Jonathan Challinger
e8345fbaab
AC_AttitudeControl: rename getters for attitude target and attitude error
2015-12-09 19:58:48 +09:00
Jonathan Challinger
3a06edcee3
AC_AttitudeControl: rename local variable to match naming convention
2015-12-09 19:58:46 +09:00
Jonathan Challinger
162d2a9112
AC_AttitudeControl: naming changes in response to Leonard's review
2015-12-09 19:58:42 +09:00
Jonathan Challinger
a48f201a04
AC_AttitudeControl: comment changes in response to Paul's review
2015-12-09 19:58:41 +09:00
Jonathan Challinger
0baf86c485
AC_AttitudeControl: fixup more names
2015-12-09 19:58:39 +09:00
Jonathan Challinger
41e580e53a
AC_AttitudeControl: add input_att_quat_bf_ang_vel and use for ACRO
2015-12-09 19:58:38 +09:00
Jonathan Challinger
5919e95635
AC_AttitudeControl: add input_ prefix to input shaper functions
2015-12-09 19:58:36 +09:00
Jonathan Challinger
bba360ea2b
AC_AttitudeControl: correct bugs found in review
2015-12-09 19:58:35 +09:00
Jonathan Challinger
9208003aab
AC_AttitudeControl: remove unused variable
2015-12-09 19:58:34 +09:00
Jonathan Challinger
1afab89991
AC_AttitudeControl: extensive renaming and recommenting
2015-12-09 19:58:29 +09:00
Jonathan Challinger
06c8457efd
AC_AttitudeControl: rename and modify frame_conversion functions to follow conventions
2015-12-09 19:58:27 +09:00
Jonathan Challinger
7330de86e5
AC_AttitudeControl: change internals to use radians instead of centidegrees
2015-12-09 19:58:26 +09:00
Andrew Tridgell
d8ee9feaac
AC_AttitudeControl: fixed external tail gyro with no flybar
...
this sets up the tail pass-through for acro mode
2015-11-27 15:24:41 +09:00
Robert Lefebvre
0b33ef3862
AC_AttitudeControl: Add Hover Roll Trim functionality for helicopters.
2015-11-12 19:37:26 +09:00
Leonard Hall
c8872e082d
AC_AttControl: rename set_throttle_out parameter
...
No functional change
2015-09-07 15:10:15 +09:00
Leonard Hall
29ff5035b4
AC_AttControl: limit lean angle from throttle
2015-09-07 15:10:09 +09:00
Gustavo Jose de Sousa
d49f10d2e5
AC_AttitudeControl: 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
Randy Mackay
93dd7dd970
AC_AttControl: get_boosted_throttle purely virtual
2015-07-21 16:25:50 +09:00
Randy Mackay
1e3e65e443
AC_AttControl: add shift_ef_yaw_target
...
This allows shifting the target heading in case the EKF shifts it's
heading estimate
2015-06-24 11:49:32 +09:00
Leonard Hall
cfc388934b
AC_AttControl: add set_accel_roll_max
...
Also equivalents for pitch and yaw
2015-06-18 23:06:33 +09:00
Randy Mackay
7951346d72
AC_AttControl: bf_feedfoward_save made more concise
2015-05-08 14:29:49 +09:00
Leonard Hall
cf45a1cf3a
AC_AttitudeControl: add get accel and save ff
2015-05-08 14:14:30 +09:00
Leonard Hall
1900cc7582
AC_AttitudeControl: Enable FF by default
2015-05-08 14:14:21 +09:00
Jonathan Challinger
b7f7624aac
AC_AttitudeControl: add throttle filter cutoff parameter to set_throttle_out functions
2015-04-16 21:00:04 +09:00
Jonathan Challinger
518e798f53
AC_AttitudeControl: rework angle_boost
2015-04-16 20:59:58 +09:00
Jonathan Challinger
f3555d0d43
AC_AttitudeControl: modify throttle interface to specify stabilization
2015-04-16 20:59:45 +09:00
Jonathan Challinger
5c2341009a
AC_AttitudeControl: throttle is a float
2015-04-16 20:59:42 +09:00
Leonard Hall
4d9da2720b
AC_AttitudeControl: add get for angle bf errors
2015-04-16 13:29:52 +09:00
Leonard Hall
afcd1c6ec3
AC_AttitudeControl: sqrt controller on Stab
2015-04-09 20:19:43 +09:00
Leonard Hall
09aa2f8114
AC_AttitudeControl: Fix function discription
2015-03-23 07:40:04 -07:00
Leonard Hall
6b104c0529
AC_AttitudeControl: No Overshoot limit for Stab
...
This maybe done in a more obvious way using a switch rather than just
making the overshoot larger than 180 degrees.
2015-03-23 07:40:02 -07:00
Leonard Hall
792b2a2eb3
AC_AttControl: separate accel max for roll, pitch, yaw
...
Also add:
Rate filters
rename rate filter defines
d-term only filter for roll, pitch rate control
accessors to save max accel for roll, pitch, yaw
fix for duplicate ACCEL_Y_MAX param
2015-03-06 14:02:33 +09:00
Leonard Hall
9833c91b2b
AC_AttControl: get_max_rate_step_bf_roll, pitch and yaw
2015-03-06 14:02:30 +09:00
Leonard Hall
f00025e5c9
AC_AttControl: accessor for rate feedforward
2015-03-06 14:02:27 +09:00
Leonard Hall
691fb8947e
AC_AttControl: accessor for rate_bf_targets
2015-03-06 14:02:25 +09:00
Leonard Hall
784a4ce51a
AC_AttControl: increase max angle overshoot to 30deg
2015-03-06 14:02:23 +09:00
Robert Lefebvre
743c5e4fde
AC_AttitudeControl: Remove un-needed #include
2015-01-21 14:36:54 +09:00
Randy Mackay
98f5a93e10
AC_AttControl: remove unused logging structure
2014-11-08 10:17:32 +09:00
Randy Mackay
fc898a00a3
AC_AttControl: add sqrt_controller
...
Original code by Jonathan Challinger
2014-10-27 15:20:40 +09:00
Randy Mackay
c45338f080
AC_AttControl: div-by-zero check for bf-to-ef conversion
2014-08-22 22:56:15 +09:00
Randy Mackay
c2f8571f37
AC_AttControl: FF and accel limiting off by default
...
Also adjust parameter ranges used by GCSs
2014-07-17 16:22:32 +09:00
lthall
fb55658c91
Copter: Acro use same error limit in all three axis
2014-07-16 17:46:13 +09:00
Randy Mackay
581838b271
AC_AttControl: initialise _acro_angle_switch
...
Resolves a compiler warning
2014-07-16 15:11:12 +09:00
Randy Mackay
83a84c7b90
AC_AttControl: add empty virtual destructor
...
This resolves pixhawk bricking and reduces one compiler warning
2014-07-16 14:56:52 +09:00
Jonathan Challinger
6e66cf43cb
AC_AttitudeControl: Use bias-corrected angular rates instead of raw gyro measurements
2014-07-16 14:40:56 +09:00
Randy Mackay
5f623ac859
AC_AttControl: re-enable rate feedforward by default
...
Roll and Pitch rate controllers became sluggish without feed-forward
enabled.
2014-07-11 15:31:00 +09:00
Randy Mackay
46f25c52a4
AC_AttControl: allow enabling/disabling feedforward and accel limiting
2014-06-10 20:03:02 +09:00
Randy Mackay
02b4b21f67
AC_AttControl: disable feed forward by default
...
Can be re-enabled by setting ATC_RATE_FF_ENAB parameter to 1
2014-06-10 20:02:55 +09:00
Randy Mackay
2bb30b3ef9
AC_AttControl: add set_yaw_target_to_current_heading method
2014-06-10 20:02:49 +09:00
Randy Mackay
d9c966c927
AC_AttControl: RATE_FF_ENAB param to disable rate feed forward
2014-06-10 20:02:48 +09:00
Randy Mackay
5209598459
AC_AttControl: rename init_targets to relax_bf_rate_controller
2014-06-10 20:02:27 +09:00
Randy Mackay
7e3213edbf
AC_AttControl: increase default accel max
2014-05-29 17:40:26 +09:00
Randy Mackay
0969e464fb
AC_AttControl: set roll, pitch, yaw rate control D term filters
2014-05-29 17:40:17 +09:00
Randy Mackay
71fae1e6f2
AC_AttControl: lean_angle_max accessor fn const
2014-05-08 16:15:36 +09:00
Randy Mackay
5876a2fe47
AC_AttControl: increase default rp accel to 900deg/s/s
2014-04-07 13:37:08 +09:00
Randy Mackay
b478c3a321
AC_AttControl: return angle_ef_targets as const ref
2014-04-07 13:36:49 +09:00
Randy Mackay
3ad635feeb
AC_AttControl: 45deg/sec yaw rate for Auto, RTL
2014-03-30 15:44:14 +09:00
Randy Mackay
25ee5d5dc8
AC_AttControl: smoothing_gain to angle_ef_roll_pitch_rate_ef_yaw_smooth
...
pair-programmed with lthall
2014-03-04 22:23:14 +09:00
lthall
15f88c2a2b
AC_AttControl: Stabilize input shaping
2014-03-04 21:52:18 +09:00
lthall
b8d9bdb794
AC_AttControl: accel limit for roll, pitch yaw rates
2014-02-16 13:35:23 +11:00
Randy Mackay
ff9f4fe6e7
AC_AttControl: replace APM_PI with AC_P
2014-02-15 06:09:08 +11:00
Randy Mackay
a6ad51b38f
AC_AttControl: rename most methods
2014-02-15 06:09:08 +11:00
lthall
65c2fc0cc6
AC_AttControl: ACRO fixes
2014-02-15 06:09:08 +11:00
Randy Mackay
f216cffb77
AC_AttControl: use motor accessors to set roll, pitch, yaw, thr
...
Saves 8bytes of RAM
2014-02-15 05:27:49 +11:00
Randy Mackay
98224db1e4
AC_AttControl: Leaonard's rate feedforward
...
Also saves 24bytes of RAM
2014-02-15 05:27:49 +11:00
Randy Mackay
d76180d605
AC_AttControl: use trig values from ahrs
2014-02-15 05:27:48 +11:00
Randy Mackay
2db24659d0
AC_AttControl: add slew_yaw
2014-02-15 05:27:42 +11:00
Randy Mackay
2dae0d68c5
AC_AttControl: add RATE_RP_MAX, RATE_Y_MAX params
...
These replace the ANGLE_RATE_MAX parameter from the main code
2014-02-15 05:27:42 +11:00
Randy Mackay
c2efb91ece
AC_AttControl: trad heli angle boost
2014-02-15 05:27:42 +11:00
Randy Mackay
4f738ffdba
AC_AttControl: add trad heli support
2014-02-15 05:27:42 +11:00
Randy Mackay
a2b017abd2
AC_AttControl: add rateef_rpy
...
rateef_rpy takes earth frame rates and applies them to the earth frame
angle targets and then converts them to body frame rates
2014-02-15 05:27:40 +11:00
Randy Mackay
468be05867
AC_AttControl: make ahrs, ins objects const
2014-02-15 05:27:40 +11:00
Randy Mackay
4003b4da9b
AC_AttControl: leonard's body frame rate controller
2014-02-15 05:27:38 +11:00
Randy Mackay
ba3ba9e157
AC_AttControl: bug fix for yaw target handling
2014-02-15 05:27:37 +11:00
Randy Mackay
9fe4d883d0
AC_AttControl: accessor for lean angle max
2014-02-15 05:27:35 +11:00
Randy Mackay
0e0a15f4a8
AC_AttControl: add high level angle controllers
2014-02-15 05:27:35 +11:00
Randy Mackay
89b7e6b1c8
AC_AttControl: implement angle_boost
2014-02-15 05:27:34 +11:00
Randy Mackay
715c8eaf02
AC_AttitudeControl: first draft of library
2014-02-15 05:27:32 +11:00