Randy Mackay
965db2c7f7
AC_PosControl: add comments and defines for jerk limits
2015-03-10 22:10:34 +09:00
Jonathan Challinger
4408c1b935
AC_PosControl: 2d jerk constraint in accel_to_lean_angles
2015-03-10 22:10:32 +09:00
Jonathan Challinger
9871b95586
AC_PosControl: fix dt sanity checking
2015-03-10 22:10:30 +09:00
Leonard Hall
7de5bccc93
AC_PosControl: remove THR_HOVER parameter
...
Parameter is set by main code so no need to store to eeprom
2015-03-06 14:02:46 +09:00
Leonard Hall
9866eaded1
AC_PosControl: rename p_alt_pos to p_pos_z
...
Also pid_alt_accel to pid_accel_z
2015-03-06 14:02:44 +09:00
Leonard Hall
349f1aeceb
AC_PosControl: use 2-axis PI controller
2015-03-06 14:02:42 +09:00
Leonard Hall
8d4f0ec80c
AC_PosControl: integrate PID input filter
2015-03-06 14:02:39 +09:00
Jonathan Challinger
e9bbe062f3
AC_PosControl: modify accel_to_lean_angles to apply filters before yaw rotation
2015-02-24 16:41:03 +09:00
Randy Mackay
186337f18e
AC_PosControl: rename xy_mode enum values
...
Also added a few comments and fixed formatting
2015-02-06 17:00:55 +09:00
Jonathan Challinger
3faca88423
AC_PosControl: allow control of xy rate constraint behavior
2015-02-06 17:00:48 +09:00
Robert Lefebvre
14d76d158a
AC_AttitudeControl: Correct comment.
2015-02-03 14:55:30 +09:00
Randy Mackay
07a0388f25
AC_PosControl: move alt limit to set_alt_target_from_climb_rate
...
The alt limit is instead enforced when the target is set using the
set_alt_target_from_climb_rate function
Also updated comments
2015-01-30 14:13:52 +09:00
Robert Lefebvre
02f3f96310
AC_PosControl: Enable altitude limit checking.
2015-01-30 14:13:45 +09:00
Randy Mackay
aeecc46f7b
AC_PosControl: remove unnecessary set of desired_accel
...
The desired_accel is set again 11 lines lower so this line did nothing.
2015-01-14 16:23:26 +09:00
Jonathan Challinger
9ebd0e9960
AC_PosControl: reincarnate dead block of code
2015-01-14 16:20:17 +09:00
Jonathan Challinger
a580cd83e8
AC_PosControl: Fill _vel_desired.z for reporting
2015-01-14 16:08:48 +09:00
Randy Mackay
2a5a133bbf
AC_AttControl: remove deprecated trigger_xy method
2015-01-07 14:03:49 +09:00
Jonathan Challinger
557d339cf1
AC_PosControl: remove various unnecessary timing hacks
2014-12-31 14:03:18 +09:00
Jonathan Challinger
d6e455417f
AC_PosControl: change keep_xy_I_terms to a parameter of init_xy_controller
2014-12-31 14:03:13 +09:00
priseborough
12ea1d6e85
AC_AttitudeControl: Scale angle demand noise filter
...
Scales filter frequency using EKF nav gain scaler to take advantage of the reduced nav frequency whichcan tolerate a slower angle response.
This is required to reduce the effect of EKF optical flow noise increase with height.
2014-12-06 18:16:51 +11:00
priseborough
e80b1c67cd
AC_AttitudeControl: Add EKF optical flow noise gain scaler
...
Allows gains to be adjusted to compensate for optical flow noise
2014-12-06 18:16:50 +11:00
priseborough
2dff76394d
AC_PosControl: Add spike and noise filter to demanded angles
...
This has been done to provide a smooth psotion hold when using an optical flow aided EKF which can be noisy.
Signed-off-by: priseborough <p_riseborough@live.com.au>
2014-12-06 18:16:49 +11:00
Jonathan Challinger
bfe71fea82
AC_PosControl: Use blended accelerometer measurement in altitude control
2014-12-05 19:40:10 +09:00
Jonathan Challinger
e81c1dd5a1
AC_PosControl: add force_descend option to set_alt_target_from_climb_rate
2014-11-13 18:40:38 -08:00
Randy Mackay
ac7ea2a12c
AC_PosControl: use AttControl's sqrt_controller
2014-10-27 15:20:48 +09:00
Jonathan Challinger
779baa006d
AC_PosControl: Use sqrt_controller function
2014-10-27 15:20:44 +09:00
Randy Mackay
a1cfd03c9b
AC_PosControl: bug fix dt calculation
...
fixes issue in which now could be earlier than _last_update_xy_ms
leading to a large dt value and a sudden lean on takeoff
2014-10-21 11:40:47 +09:00
Jonathan Challinger
4a397a8d67
AC_PosControl: Protect from divide-by-zero in get_stopping_point_xy
2014-10-10 21:17:12 +09:00
Randy Mackay
1754cacf3c
AC_PosControl: remove completed to-do comments
2014-10-04 23:49:24 +09:00
Randy Mackay
cf3b2be99c
AC_PosControl: 4hz filter on z-axis velocity error
2014-09-22 13:40:01 +09:00
Randy Mackay
665f353416
AC_PosControl: 2hz filter on accel error
...
Replaced hard-coded filter with LowPassFilter class allowing the
filter's to be 2hz on both APM and Pixhawk
2014-09-21 17:53:55 +09:00
Randy Mackay
1362bdc338
AC_PosControl: smooth take-off with accel PID's I term
...
This avoids an instantaneous jump in throttle during take-off by loading
the accel PID's I term with the expected change in throttle level
2014-08-04 21:04:09 +09:00
Randy Mackay
70568225a6
AC_PosControl: init members to resolve compiler warnings
2014-07-16 14:38:40 +09:00
Randy Mackay
9233bbab14
AC_PosControl: cast fabs to float to resolve compiler warnings
2014-07-16 14:38:38 +09:00
Jonathan Challinger
762bb3e6e8
AC_AttitudeControl: Limit _pos_target.z to below alt_max before computing error
2014-07-13 21:14:34 +09:00
Jonathan Challinger
5f66027ba3
AC_AttitudeControl: Fixup some minor mistakes in AC_PosControl
2014-07-13 17:17:31 +09:00
Randy Mackay
82ed70b25e
AC_PosControl: add xyz velocity controller
...
Velocity controller interpretsthe velocity requests as
desired velocities (i.e. feed forward). These are then used to update
the target position and also added to the target velocity.
Also renamed the set_desired_velocity() function to
set_desired_velocity_xy() to make clear only lat and lon axis are
updated.
2014-07-06 17:01:02 +09:00
Randy Mackay
4d4c7a2118
AC_AttControl: move freeze_ff to flags structure
2014-06-10 20:02:46 +09:00
lthall
8bbce7e658
AC_PosControl: freeze feed forward for alt control in Auto
2014-06-10 20:02:36 +09:00
lthall
0d87298221
AC_PosControl: freeze feed forward and vector fixes
2014-06-10 20:02:33 +09:00
Randy Mackay
2b0f142a17
AC_PosControl: fix typo in D-filter definition
2014-05-29 17:50:48 +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
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
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
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
90e205c905
AC_PosControl: replace safe_sqrt with pythagorous2
2014-04-01 20:43:51 +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
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
9130c88f15
AC_PosControl: throttle rate to simple P controller
2014-02-16 13:35:44 +11:00
Randy Mackay
94fb9c4274
AC_PosControl: replace APM_PI with AC_P
2014-02-15 06:09:08 +11:00
Randy Mackay
8b8d6a8e01
AC_PosControl: use trig values from ahrs
2014-02-15 05:27:48 +11:00
Randy Mackay
551836c49d
AC_PosControl: make some methods 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
de34359808
AC_PosControl: recalculate leash when speed or accel modified
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
bbcf8cc84c
AC_PosControl: add horizontal pos control
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
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