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
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
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
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
4d4c7a2118
AC_AttControl: move freeze_ff to flags structure
2014-06-10 20:02:46 +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
8bbce7e658
AC_PosControl: freeze feed forward for alt control in Auto
2014-06-10 20:02:36 +09:00
lthall
922026c15c
AC_AttControl: rate compensation for yaw
2014-06-10 20:02:34 +09:00
lthall
0d87298221
AC_PosControl: freeze feed forward and vector fixes
2014-06-10 20:02:33 +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
2b0f142a17
AC_PosControl: fix typo in D-filter definition
2014-05-29 17:50:48 +09:00
Randy Mackay
7e3213edbf
AC_AttControl: increase default accel max
2014-05-29 17:40:26 +09:00
Randy Mackay
29ca7a10df
AC_PosControl: set alt hold accel control D term filter
2014-05-29 17:40:23 +09:00
Randy Mackay
0969e464fb
AC_AttControl: set roll, pitch, yaw rate control D term filters
2014-05-29 17:40:17 +09:00
Robert Lefebvre
7c9249de93
AC_AttitudeControl_Heli: Change to use AC_HELI_PID class instead of AC_PID. Remove FF parameters from class.
2014-05-29 17:39:06 +09:00
Randy Mackay
c13db680b7
AC_PosControl: remove reset_I_xy
...
lean_angles_to_accel is now used to load the position rate I terms based
on vehicle's initial roll and pitch angle
2014-05-08 16:15:48 +09:00
Randy Mackay
cd8b1f278c
AC_PosControl: remove unused _cos_yaw variable
...
Also removed _sin_yaw, _cos_pitch, _step saving a total of 17bytes of
RAM
Also made get_speed_up, get_speed_down, lean_angles_to_accel functions
const
2014-05-08 16:15:46 +09:00
Randy Mackay
0819e05896
AC_PosControl: lean_angles_to_accel added for smooth initialisation
...
init_xy_controller also added to capture initialisation all in one place
2014-05-08 16:15:41 +09:00
Randy Mackay
71fae1e6f2
AC_AttControl: lean_angle_max accessor fn const
2014-05-08 16:15:36 +09:00
lthall
21c93e48ab
AC_PosControl: include vel error when get_stopping_point_z
...
Pair programmed with Randy
2014-05-08 16:15:24 +09:00
Randy Mackay
a1f1dd8059
AC_PosControl: add is_active_z method
...
Consolidated z-axis timeout checks to save 4bytes of RAM
Added POS_CONTROL_ACTIVE_TIMEOUT_MS to make timeout consistent
2014-05-08 16:15:22 +09:00
Randy Mackay
937e9ea687
AC_PosControl: add set_target_to_stopping_point_xy method
...
Fixed bug in get_stopping_point_xy in which it would update Z-axis
target if vehicle was moving less than 10cm/s horizontally
2014-04-30 21:46:20 +09:00
Randy Mackay
9f63de9b59
AC_PosControl: set_speed_z accepts positive descent speeds
2014-04-30 21:46:09 +09:00
Randy Mackay
098f8169b0
AC_PosControl: add keep_xy_I_terms method
...
Stops horizontal PID's I terms from being reset when the controller is
next updated
2014-04-23 15:00:12 +09:00
Ju1ien
6c71569775
AC_PosControl: update_xy_controller allows not resetting I term
2014-04-23 14:59:49 +09:00
Randy Mackay
09a35cf90f
AC_PosControl: bugfix for freezing I-term build-up
2014-04-23 11:33:53 +09:00
Randy Mackay
9c6995d8bb
AC_PosControl: add get_accel_z method
2014-04-22 23:05:08 +09:00
Randy Mackay
e565ee6d33
AC_PosControl: stop I term build-up when motors at max
2014-04-22 23:05:06 +09:00
Randy Mackay
6f6c9e2585
AC_PosControl: bug fix to vertical speed limit
...
Vehicle was not reaching target climb or descent rate because of
incorrectly defaulted acceleration
2014-04-21 21:36:02 +09:00
Randy Mackay
7e376bc517
PosControl: update_pos_controller renamed to update_xy_controller
2014-04-21 13:31:55 +09:00
Randy Mackay
02775e8dc5
AC_PosControl: get_accel_target returns const ref
2014-04-14 11:34:14 +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
90e205c905
AC_PosControl: replace safe_sqrt with pythagorous2
2014-04-01 20:43:51 +09:00
Andrew Tridgell
3b8c6e629d
AC_AttitudeControl: updated example for new GPS API
2014-04-01 06:38:25 +11:00
Randy Mackay
3ad635feeb
AC_AttControl: 45deg/sec yaw rate for Auto, RTL
2014-03-30 15:44:14 +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
Andrew Tridgell
73ae38eaf0
AC_AttitudeControl: fixed example build
2014-03-19 12:13:56 +09:00
Randy Mackay
dd45647626
AC_PosControl: update some comments re leash lengths
2014-03-17 10:13:02 +09:00
Holger Steinhaus
345115fddd
AC_PosControl: fixed leash length calc for descent speed
2014-03-17 10:12:47 +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
jschall
024855014f
AC_PosControl: update _pos_error if it is being limited
...
This fixes a bug that causes 10hz throttle noise.
2014-02-17 22:33:06 +09:00
Randy Mackay
d277b6cabd
AC_AttControl: fix @Units parameter descriptions
2014-02-16 22:36:59 +09:00
Andrew Tridgell
856dfd0ee6
AC_AttitudeControl: fixed example build
2014-02-16 18:43:15 +11:00
Randy Mackay
9130c88f15
AC_PosControl: throttle rate to simple P controller
2014-02-16 13:35:44 +11:00
Randy Mackay
34b62fc078
AC_AttControlHeli: add ACCEL_RP_MAX, ACCEL_Y_MAX
2014-02-16 13:35:26 +11:00
lthall
b8d9bdb794
AC_AttControl: accel limit for roll, pitch yaw rates
2014-02-16 13:35:23 +11:00
Randy Mackay
c35bd84e21
AC_AttControl: fix example sketch
2014-02-15 06:09:08 +11:00
Randy Mackay
451910fc94
AC_AttControlHeli: replace APM_PI with AC_P
2014-02-15 06:09:08 +11:00
Randy Mackay
ff9f4fe6e7
AC_AttControl: replace APM_PI with AC_P
2014-02-15 06:09:08 +11:00
Randy Mackay
94fb9c4274
AC_PosControl: 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
78c12eaebf
AC_PosControl: get_pos_xy_kP accessor method
2014-02-15 05:27:50 +11:00
Randy Mackay
8baf5ebf4a
AC_AttControlHeli: use motor accessors to set roll, pitch, yaw, thr
2014-02-15 05:27:49 +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
8b8d6a8e01
AC_PosControl: use trig values from ahrs
2014-02-15 05:27:48 +11:00
Randy Mackay
082c5021ee
AC_AttControlHeli: add comments
2014-02-15 05:27:47 +11:00
Randy Mackay
a7504faa7d
TradHeli: empty angle_boost for trad heli
2014-02-15 05:27:44 +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
2643ee9724
AC_AttControl_Heli: adjust for new slew_yaw param
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
959f5ec3b2
AC_AttControl: tradheli add RATE_RP_MAX
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
ebbff24a04
AC_AttControl: trad heli yaw
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
551836c49d
AC_PosControl: make some methods const
2014-02-15 05:27:40 +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
26b257c8ba
AC_AttControl: alternative get_stopping_point_z
2014-02-15 05:27:39 +11:00
Randy Mackay
1b8791a142
AC_PosControl: remove debug
2014-02-15 05:27:39 +11:00
Randy Mackay
4003b4da9b
AC_AttControl: leonard's body frame rate controller
2014-02-15 05:27:38 +11:00
Randy Mackay
171203370f
AC_PosControl: add accessor for speed_up and down
2014-02-15 05:27:37 +11:00
Randy Mackay
de34359808
AC_PosControl: recalculate leash when speed or accel modified
2014-02-15 05:27:37 +11:00
Randy Mackay
ba3ba9e157
AC_AttControl: bug fix for yaw target handling
2014-02-15 05:27:37 +11:00
Randy Mackay
80ae3dca2e
AC_PosControl: remove debug
2014-02-15 05:27:36 +11:00
Randy Mackay
b9ae3ce2ff
AC_PosControl: fixed example sketch
2014-02-15 05:27:36 +11:00
Randy Mackay
9fe4d883d0
AC_AttControl: accessor for lean angle max
2014-02-15 05:27:35 +11:00
Randy Mackay
bbcf8cc84c
AC_PosControl: add horizontal pos control
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
3ce1c0a9d5
AC_PosControl: add get_alt_error method
2014-02-15 05:27:34 +11:00
Randy Mackay
89b7e6b1c8
AC_AttControl: implement angle_boost
2014-02-15 05:27:34 +11:00
Randy Mackay
8988b48ad8
AC_PosControl: add init take-off
2014-02-15 05:27:34 +11:00
Randy Mackay
dcac124105
AC_PosControl: add throttle controller
2014-02-15 05:27:33 +11:00
Randy Mackay
05bb943a69
AC_AttControl: first draft of PosControl class
2014-02-15 05:27:33 +11:00
Randy Mackay
715c8eaf02
AC_AttitudeControl: first draft of library
2014-02-15 05:27:32 +11:00