Leonard Hall
ee82943f85
AC_AttitudeControl: add input_shaping_rate_predictor
2018-03-16 13:50:57 +09:00
Leonard Hall
6175a896ee
AC_AttitudeControl: add set smoothing gain
...
Smoothing gain value should be set once when entering a mode
2018-03-16 13:50:57 +09:00
Leonard Hall
692e6518cc
AC_AttitudeControl: update param desc values for large copters
2018-01-27 11:54:04 +09:00
Leonard Hall
62cc25022c
AC_AttitudeControl: protect against overshoot in sqrt controller
2018-01-16 12:13:48 +09:00
Leonard Hall
75de0cb4ef
AC_AttitudeControl: sqrt_controller accepts dt
2018-01-16 12:13:48 +09:00
Leonard Hall
cddd815a75
AC_AttitudeControl: comment thrust_heading_rotation_angles
...
non-functional change
2018-01-12 15:20:47 +09:00
Leonard Hall
0544cf1d82
AC_AttControl: add step input for autotune
2017-06-22 15:18:04 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas
188dfb6936
AC_AttitudeControl: Use SI units conventions in parameter units
...
Follow the rules from:
http://physics.nist.gov/cuu/Units/units.html
http://physics.nist.gov/cuu/Units/outside.html
and
http://physics.nist.gov/cuu/Units/checklist.html
one further constrain is that only printable (7bit) ASCII characters are allowed
2017-05-17 18:07:25 +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
5acbf5d16e
AC_AttitudeControl: use FF from AC_PID
2017-02-18 17:26:43 +11:00
Leonard Hall
ea0e413b04
AC_AttControl: do not limit rate if ATC_ACCEL_MAX param is zero
2016-11-23 14:43:29 +09: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
Leonard Hall
29d4790fc7
AC_AttControl: reduce max_rate_step based on hover throttle
...
This changes reduces AutoTune's twitch size based on the hover throttle
This method is only used by AutoTune
2016-08-12 22:29:53 +09:00
Leonard Hall
011bc0a350
AC_AttControl: add reset_rate_controller_I_terms()
2016-08-05 12:40:37 +09:00
Leonard Hall
80bda572ba
AC_AttutudeControl: Yaw shift fix
2016-06-24 18:15:48 +09:00
Leonard Hall
8737f6b62d
AC_AttitudeControl: enhanced quaternion attitude controller
2016-06-24 17:17:11 +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
Randy Mackay
b7431b7d0c
AC_AttitudeControl: update throttle rpy mix on every iteration
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
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
Randy Mackay
4a06ca4be2
AC_AttControl: remove unused call to motors.set_stabilizing
...
Also minor change to order of a call to motors library to make stabilizing
and non-stabilizing calls consistent.
Non functional change
2016-05-07 10:08:38 +09:00
Leonard Hall
b30606bb22
AC_AttControl: remove scaling for centi-degrees and legacy motor input
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
Leonard Hall
979534279a
AC_AttControl: roll, pitch, yaw output to motors in -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
Jonathan Challinger
e946e047e6
AC_AttitudeControl: add attitude_controller_run functions, call from input functions
2016-03-02 20:16:18 +09:00
Randy Mackay
5ddd332277
AC_AttControl: add ANGLE_BOOST param
...
This allows disabling angle boost
2016-01-07 12:31:52 +09:00
Randy Mackay
86bb03aa79
AC_AttControl: use ahrs get_rotation_body_to_ned
...
ahrs.get_dcm_matrix renamed to ahrs.get_rotation_body_to_ned
2015-12-23 11:38:21 +09:00
Jonathan Challinger
46e6ff3ca9
AC_AttitudeControl: modify comment on kinematic correction feedforward
2015-12-23 11:38:19 +09:00
Jonathan Challinger
829d6037fc
AC_AttitudeControl: convert euler rates to angular velocity using the correct attitude
2015-12-23 11:38:16 +09:00
Jonathan Challinger
ae3357baee
AC_AttitudeControl: rotate angular velocity feedforward into vehicle frame
2015-12-23 11:38:14 +09:00
Jonathan Challinger
3d4bd92b48
AC_AttitudeControl: add helper functions to retrieve rotation matrices
2015-12-23 11:38:12 +09:00
Jonathan Challinger
ee8090e25f
AC_AttitudeControl: reflect renamed function in AP_AHRS
2015-12-18 18:08:37 +11:00
Randy Mackay
02eda4dcab
AC_AttControl: remove comment, fix formatting
2015-12-09 20:04:32 +09:00
Jonathan Challinger
3a06edcee3
AC_AttitudeControl: rename local variable to match naming convention
2015-12-09 19:58:46 +09:00
Jonathan Challinger
846ee7d2af
AC_AttitudeControl: fix regression in angular velocity controller
2015-12-09 19:58:45 +09:00
Jonathan Challinger
b8223771d3
AC_AttitudeControl: properly protect sqrt_controller from nonpositive acceleration limits
2015-12-09 19:58:44 +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
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
f8c709478a
AC_AttitudeControl: quaternion acro controller
2015-12-09 19:58:33 +09:00
Jonathan Challinger
8b886bc479
AC_AttitudeControl: minor comment changes and reorganization
2015-12-09 19:58:32 +09:00
Jonathan Challinger
edda7e4e1e
AC_AttitudeControl: keep _att_target_euler_deriv_rads updated in euler_angle_roll_pitch_yaw
2015-12-09 19:58:31 +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
58f0abaf4c
AC_AttitudeControl: fixed one usage of zero accel limits
...
in other places zero accel limit means no limit
2015-12-07 13:43:14 +09:00
Randy Mackay
4b41710261
AC_AttControl: minor comment fix
2015-11-18 13:31:18 +09:00
Robert Lefebvre
0b33ef3862
AC_AttitudeControl: Add Hover Roll Trim functionality for helicopters.
2015-11-12 19:37:26 +09:00
Jonathan Challinger
6784fd8625
AC_AttitudeControl: reserve parameter IDs
2015-11-10 12:56:52 +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
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
0bf1d04172
AC_AttControl: relax earth frame rate targets along with bf
2015-07-28 15:16:22 +09: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
Andrew Tridgell
521dae1c65
AC_AttitudeControl: use set_desired_rate() on PID controllers
...
this sets them up for logging of PIDs
2015-05-27 14:28:49 +10:00
Robert Lefebvre
23adf2773c
AC_AttitudeControl: Remove To-Do comments for Attitude Rate logging.
2015-05-27 14:28:44 +10:00
Robert Lefebvre
915236f1f5
AC_AttitudeControl: Non-functional comment change
...
Don't encourage future misuse of g.rc3
2015-05-25 22:13:37 +09:00
Andrew Tridgell
326b0b33ea
AC_AttitudeControl: revert AP_Math class change
2015-05-05 13:27:04 +10:00
Tom Pittenger
1bca81eaed
AC_AttitudeControl: compiler warnings: apply is_zero(float) or is_equal(float) and float to doubles
2015-05-05 13:26:55 +10:00
Jonathan Challinger
ab2532a609
AC_AttitudeControl: constrain _angle_boost to avoid overflow
2015-04-24 16:30:43 +09:00
Leonard Hall
24b8d32b0e
AC_AttitudeControl: add comment
2015-04-16 21:00:22 +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
afcd1c6ec3
AC_AttitudeControl: sqrt controller on Stab
2015-04-09 20:19:43 +09:00
Jonathan Challinger
e2383581cc
AC_AttitudeControl: relax_bf_rate_controller resets rate integrators
2015-03-06 14:02:57 +09:00
Leonard Hall
20de383084
AC_AttControl: accel limiting for angular control only if feed forward enabled
2015-03-06 14:02:52 +09: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
eb084f7c58
AC_AttControl: bf yaw control uses input filtered PID
2015-03-06 14:02:21 +09:00
Jonathan Challinger
7224669399
AC_AttitudeControl: cleanup angle_ef_roll_pitch_rate_ef_yaw_smooth
2014-10-27 15:20:46 +09:00
Jonathan Challinger
0c4a489491
AC_AttitudeControl: use sqrt_controller function
2014-10-27 15:20:43 +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
f65e81cb07
AC_AttControl: remove some old comments
2014-10-04 23:49:21 +09:00
Randy Mackay
5a66ff1ef9
AC_AttControl: bug fix for ef target during acro
2014-08-23 22:17:54 +09:00
Randy Mackay
3e0b573dfe
AC_AttControl: remove debug message
2014-08-22 22:58:48 +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
58257e3858
AC_AttControl: set rate D term filter from ins filter
2014-08-14 11:47:35 +09:00
lthall
329118b7c9
Copter: AC_ATT correct yaw error calculation
2014-08-14 11:47:13 +09:00
lthall
90dc9411a5
Copter: ACRO Error calculation fix
2014-08-14 11:47:08 +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
Randy Mackay
eebd32f306
AC_AttControl: remove duplicate rate_ef_desired to resolve compiler warning
2014-07-16 21:50:31 +09:00
lthall
fb55658c91
Copter: Acro use same error limit in all three axis
2014-07-16 17:46:13 +09:00
lthall
2889f5abc4
AC_AttControl: Fix feedforward behavior
2014-07-16 17:46:06 +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
0f7178e447
AC_AttControl: cast fabs to float to resolve compiler warning
2014-07-16 14:38:20 +09:00
Randy Mackay
971411e0db
AC_AttControl: fixed typo in parameter description
2014-07-13 10:31:11 +09:00
Randy Mackay
46f25c52a4
AC_AttControl: allow enabling/disabling feedforward and accel limiting
2014-06-10 20:03:02 +09:00
Randy Mackay
130eb07d48
AC_AttControl: angle_ef_roll_pitch_rate_ef_yaw supports zero yaw accel
2014-06-10 20:02:58 +09:00
Randy Mackay
b57c0dabf6
AC_AttControl: check accel_rp_max instead of rate_bff_ff_enabled
...
We use the accel_rp_max, accel_y_max to check whether to apply accel
limiting or not. This is related to separate from the
body-frame-feed-forward.
2014-06-10 20:02:54 +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
a662f87ffb
AC_AttControl: remove resolved To-Do
...
This To-Do is resolved by heli flight modes calling the
relax_bf_rate_controller method
2014-06-10 20:02:45 +09:00
Randy Mackay
7f734f38d6
AC_AttControl: add earth frame angle constraints
...
This should help recovery time if pilot switches out of ACRO (into
Stabilize, AltHold, etc) while inverted
2014-06-10 20:02:43 +09:00
Randy Mackay
698cf934b8
AC_AttControl: formatting fixes
2014-06-10 20:02:42 +09:00
lthall
2bb63857fa
AC_AttControl: clean up stabilize
2014-06-10 20:02:40 +09:00
lthall
c24d293e1b
AC_AttControl: zero _accel_xyz_max stops feed forward
...
Also added place holder for turning off feed forward.
2014-06-10 20:02:39 +09:00
lthall
922026c15c
AC_AttControl: rate compensation for yaw
2014-06-10 20:02:34 +09:00
Randy Mackay
5209598459
AC_AttControl: rename init_targets to relax_bf_rate_controller
2014-06-10 20:02:27 +09:00
lthall
1bdde31f6b
Copter: Fix zero throttle flip issue Stabilize
...
The problem is that the init_targets is intended to ensure the
controller doesn't build up the I term when the throttle is low. Because
it is poorly named (or used) it have been written to do something else.
Here I change it to do what the code is trying to use it to do.
2014-06-10 20:02:01 +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
5876a2fe47
AC_AttControl: increase default rp accel to 900deg/s/s
2014-04-07 13:37:08 +09:00
Randy Mackay
7bff8e9312
AC_AttControl: constrain earth frame yaw angle error
...
This temporarily resolves the wobble we see in Auto when the target
heading is suddenly changed leading to a large yaw angle error
2014-03-29 20:42:21 +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
Randy Mackay
d277b6cabd
AC_AttControl: fix @Units parameter descriptions
2014-02-16 22:36:59 +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
5f89e9e746
AC_AttControl: bug fix to yaw rate limit
2014-02-15 05:27:48 +11:00
Randy Mackay
d76180d605
AC_AttControl: use trig values from ahrs
2014-02-15 05:27:48 +11:00
Randy Mackay
eda376c7f6
AC_AttControl: init_targets() clears body frame angle errors
...
This should ensure that we don't get sudden jerks when entering acro
mode
2014-02-15 05:27:43 +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
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