Commit Graph

520 Commits

Author SHA1 Message Date
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
Randy Mackay 550ba478c9 AC_PosControl: add shift_pos_xy_target 2015-10-30 12:24:08 +09:00
Randy Mackay 16a0281c92 AC_PosControl: remove unused set_vel_target 2015-10-30 12:24:07 +09:00
Randy Mackay ee0abb1750 AC_PosControl: add set_jerk_xy 2015-10-29 12:10:44 +09:00
Randy Mackay 73f4533995 AC_PosControl: minor comment update 2015-10-28 20:21:53 +09:00
Randy Mackay 895a40893d AC_PosControl: use_desvel_ff flag added
This allows turning on/off desired velocity feedforward without setting desired_vel.z to zero.  Setting desired_vel.z to zero has the side effect of disrupting the landing detection which needs to know if we are trying to descend
2015-10-28 20:21:52 +09:00
Leonard Hall aec66c5db6 AC_PosControl: faster z-axis slowdown when over speed 2015-10-28 20:21:38 +09:00
Leonard Hall 245f7ce268 AC_PosControl: allow desired vel z to be above speed limit 2015-10-28 17:59:36 +09:00
Leonard Hall f55c31a157 AC_PosControl: add alt hold without feed forward 2015-10-28 17:57:20 +09:00
Andrew Tridgell e3f7b002c2 AC_AttitudeControl: use non-flybar leaky I handling
The standard leaky-I handling works fine on a flybar, so better not to
have a special case that isn't needed
2015-09-25 12:05:43 +10:00
Leonard Hall c8872e082d AC_AttControl: rename set_throttle_out parameter
No functional change
2015-09-07 15:10:15 +09:00
Leonard Hall cf5db31053 AC_PosControl: allow limiting lean angle to avoid alt loss 2015-09-07 15:10:10 +09:00
Leonard Hall 29ff5035b4 AC_AttControl: limit lean angle from throttle 2015-09-07 15:10:09 +09:00
Leonard Hall b58cc7ea8d AC_PosControl: move accel constraint to accel_to_lean_angles 2015-09-07 14:51:43 +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 157c97447d AC_AttControlHeli: init passthrough_yaw 2015-07-21 16:26:27 +09:00
Randy Mackay 8b4805bfcb AC_AttControl_heli: add MotorsHeli include 2015-07-21 16:25:56 +09:00
Randy Mackay bf2bf2e3fa AC_AttControl_Multi: new multirotor specific attitude control class 2015-07-21 16:25:53 +09:00
Randy Mackay 93dd7dd970 AC_AttControl: get_boosted_throttle purely virtual 2015-07-21 16:25:50 +09:00
Robert Lefebvre 14882bc6a8 AC_AttitudeControl: Remove unused takeoff jump #define 2015-07-14 20:16:58 +09:00
Andrew Tridgell eeb97800ae AC_AttitudeControl: allow for tail pass-thru in ACRO mode
this allows for all channels to be passed through
2015-06-26 12:45:38 +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 d2f93dd379 AC_PosControl: init flags
Resolves warning from Coverity
2015-06-08 14:46:32 +09:00
Randy Mackay 382f5d087f AC_PosControl: explicitly set set_alt_target_from_climb_rate params 2015-06-05 15:51:02 +09:00
Randy Mackay 6ea60aa662 AC_PosControl: remove default from set_alt_target_from_climb_rate 2015-06-05 15:15:03 +09:00
Randy Mackay 11fee21f06 AC_PosControl: init accel_last_z_cms 2015-06-05 15:06:34 +09:00
Robert Lefebvre 4da54783fd AC_AttitudeControl_Heli: Semantic Change. Motor Runup to Rotor Runup. 2015-05-29 17:46:23 +09:00
Robert Lefebvre 18bac524a3 Copter: TradHeli, change Rate FF LPF to 10Hz 2015-05-29 17:46:05 +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 353879cd2b AC_AttitudeControl_Heli: Add Rate Accel FF to Yaw control 2015-05-27 14:28:47 +10:00
Robert Lefebvre 810b12a1ac AC_AttitudeControlHeli: Change Rate Yaw FF LPF from 5Hz to 10Hz. 2015-05-27 14:28:46 +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
Robert Lefebvre e87ca6de6f AC_PosControl: Change motors.get_throttle_out
to get_throttle to follow function renaming in AP_Motors
2015-05-25 22:13:34 +09:00
Randy Mackay d1808c645d AC_PosControl: recalc leash length on speed or accel change
This resolves an issue in which do-set-speed would not take effect until
one waypoint too late in a mission.
2015-05-19 18:16:39 +09:00
Tom Pittenger 4f1dd2c8a4 AC_AttitudeControl: compiler warning stuff
float to double promotion via cos & sin instead of cosf & sinf
(this code is commented out but in case it ever gets included it would be nice to be correct
2015-05-16 08:21:36 +10:00
Tom Pittenger 70bef20a29 AC_AttitudeControl: replace fabs() with fabsf() 2015-05-09 09:57:26 +10:00
Randy Mackay 3781f133d7 AC_AttControlHeli: remove unused definitions 2015-05-08 14:50:38 +09:00
Randy Mackay bef5633ed5 AC_AttControlHeli: use params from parent class 2015-05-08 14:50:36 +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
Andrew Tridgell 872583f441 AC_AttitudeControl: removed fast_atan 2015-05-05 13:57:16 +10:00
Andrew Tridgell 84ac721340 AC_AttitudeControl: use M_PI_F instead of (float)M_PI 2015-05-05 13:44:19 +10: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
Randy Mackay 31edd6a72b AC_PosControl: add_takeoff_climb_rate method
This function simply increments the current altitude target given a
climb rate and dt
2015-05-01 12:56:30 +09:00
Jonathan Challinger ab2532a609 AC_AttitudeControl: constrain _angle_boost to avoid overflow 2015-04-24 16:30:43 +09:00
Tom Pittenger 84d3069a77 AttControl_Heli: fix compile warning re member init order 2015-04-24 14:15:35 +09:00
Jonathan Challinger 12957867fd AC_PosControl: fix thr twitch when changing modes 2015-04-18 12:38:44 +09:00
Jonathan Challinger 738b1967ad AC_PosControl: use LowPassFilterVector2f 2015-04-17 10:47:01 +09:00
Jonathan Challinger 8f667b3d1c AC_PosControl: fix up comments 2015-04-17 10:46:59 +09:00
Jonathan Challinger 87500d9d70 AC_AttitudeControl: use new lowpass filter 2015-04-17 10:46:45 +09:00
Leonard Hall c2a6a0a9e2 AC_PosControl: add accel filter parameter 2015-04-16 21:00:45 +09:00
Leonard Hall a632a57d79 AC_PosControl: accessors to log z-axis vel and accel 2015-04-16 21:00:32 +09:00
Leonard Hall 0aca3c4be6 AC_PosControl: add relax Alt Hold controllers 2015-04-16 21:00:25 +09:00
Leonard Hall 24b8d32b0e AC_AttitudeControl: add comment 2015-04-16 21:00:22 +09:00
Leonard Hall 7cb3c4ba39 AC_PosControl: add feed forward to Alt Hold 2015-04-16 21:00:20 +09:00
Randy Mackay a1e6a3ee32 AC_PosControl: minor format fix 2015-04-16 21:00:14 +09:00
Jonathan Challinger 3e0dab7b2d AC_PosControl: remove accel error filter and set throttle output filter instead 2015-04-16 21:00:07 +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 7abd02baf2 AC_PosControl: change int32/int16 to float in accel_to_throttle 2015-04-16 20:59:55 +09:00
Jonathan Challinger d14893fcd5 AC_PosControl: don't limit throttle any more 2015-04-16 20:59:51 +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 48fb487a8c AC_AttitudeControl: Formatting fix 2015-04-15 22:04:27 +09:00
Randy Mackay bdfe8bbc54 AC_AttControl_Heli: remove RATE_RP_MAX, RATE_Y_MAX 2015-04-09 20:19:54 +09:00
Leonard Hall afcd1c6ec3 AC_AttitudeControl: sqrt controller on Stab 2015-04-09 20:19:43 +09:00
Jonathan Challinger 127791127c AC_PosControl: fix double literals 2015-03-24 06:29:04 -07: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 9a3f48cc1f AC_PosControl: ensure throttle output above zero 2015-03-16 14:49:33 +09:00
Randy Mackay bb74b8dec8 AC_PosControl: fix twitch when entering RTL
Also removed slow_cpu flag
Fixed bug in update to _accel_target_jerk_limited.
2015-03-13 20:47:19 +09:00
Randy Mackay 90702e2d79 AC_AttControl: remove example sketch
This sketch only tested compiling anyway
2015-03-13 16:40:50 +09:00
Jonathan Challinger 88ec13b10d AC_PosControl: fix build 2015-03-11 10:00:00 +09:00
Randy Mackay 50d2e98aa4 AC_AttControl: init throttle_hover in constructor 2015-03-10 22:10:36 +09:00
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
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 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
Randy Mackay e4d48fdc92 AC_AttControlHeli: separate accel max for roll, pitch
renamed _accel_y_max to _accel_yaw_max
2015-03-06 14:02:36 +09:00
Leonard Hall 51455af51a AC_AttConHeli: integrate PID input filter 2015-03-06 14:02:35 +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 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
Leonard Hall eb084f7c58 AC_AttControl: bf yaw control uses input filtered PID 2015-03-06 14:02:21 +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
Andrew Tridgell 78dadcb5c6 AC_AttitudeControl: fixed example build 2015-02-09 13:08:34 +11: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 d7f7af8c13 AC_AttControl: fix example sketch 2015-01-28 17:15:32 +09:00
Robert Lefebvre 743c5e4fde AC_AttitudeControl: Remove un-needed #include 2015-01-21 14:36:54 +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
Andrew Tridgell 5c4440a9ac AC_AttitudeControl: updates for new AP_Baro API 2015-01-09 11:50:56 +11:00
Randy Mackay 2a5a133bbf AC_AttControl: remove deprecated trigger_xy method 2015-01-07 14:03:49 +09:00
Randy Mackay c36253b9b2 AC_PosControl: add comments
No functional change
2014-12-31 14:03:22 +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
Randy Mackay d34ea4c124 AC_PosControl: fix to default force_descend param 2014-11-13 18:40:45 -08: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 98f5a93e10 AC_AttControl: remove unused logging structure 2014-11-08 10:17:32 +09:00
Randy Mackay ac7ea2a12c AC_PosControl: use AttControl's sqrt_controller 2014-10-27 15:20:48 +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 779baa006d AC_PosControl: Use sqrt_controller function 2014-10-27 15:20:44 +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
Andrew Tridgell 9a98e63702 AC_AttitudeControl: fixed example build 2014-10-24 12:10:39 +11: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 f65e81cb07 AC_AttControl: remove some old comments 2014-10-04 23:49:21 +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 3e1bd04c94 TradHeli: update AttControl params to match multicopters 2014-09-09 14:41:57 +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 f6e12bda06 AC_AttControlHeli: integrate div-by-zero check for bf-to-ef conversion 2014-08-22 22:56:18 +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 691a3d8126 AC_AttControlHeli: add passthrough_bf_roll_pitch_rate_yaw 2014-08-22 16:28:57 +09:00
Robert Lefebvre 7d3e22af59 AC_AttitudeControl_Heli: Add use_flybar_passthrough accessor function. 2014-08-22 16:28:45 +09:00
Robert Lefebvre 9b1d9e3cf0 AC_AttitudeControl_Heli: Add passthrough_to_motor_roll_pitch function. 2014-08-22 16:28:42 +09:00
Robert Lefebvre 5c04af6d20 AC_AttitudeControl_Heli: Create Flybar Passthrough flag which will be used for control pass-through. 2014-08-22 16:28:38 +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
Andrew Tridgell a9153519dc AC_AttitudeControl: fixed example build 2014-08-13 21:45:38 +10:00
Randy Mackay e0fc2dd50e AC_PosControl: remove 20cm on takeoff 2014-08-05 09:11:57 +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 e550c1e9a3 AC_PosControl: add set_alt_target_to_current_alt method 2014-08-04 16:54:04 +09:00
Randy Mackay 424cb1aeca AC_AttControl: fix example sketch 2014-07-29 12:00:33 +09:00
Andrew Tridgell 6df2890fd8 AC_AttitudeControl: fixed example build 2014-07-25 17:52:53 +10: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
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 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
Randy Mackay 76507a9e67 AC_AttControlHeli: remove hal declaration to clear compiler warning 2014-07-16 14:38:32 +09:00
Randy Mackay 5128991a84 AC_AttControlHeli: cast fabs to float to resolve compiler warning 2014-07-16 14:38:29 +09:00
Randy Mackay 0f7178e447 AC_AttControl: cast fabs to float to resolve compiler warning 2014-07-16 14:38:20 +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
Robert Lefebvre a7f6a91827 AC_AttitudeControl_Heli: Remove ToDo. Rate controllers should always run even if throttle is zero. 2014-07-13 17:11:20 +09:00
Randy Mackay 971411e0db AC_AttControl: fixed typo in parameter description 2014-07-13 10:31:11 +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
Andrew Tridgell 8af876fe8a AC_AttitudeControl: fixed build
includes are case sensitive on the build server
2014-07-09 10:19:17 +10:00
Robert Lefebvre 26be7aed97 AC_AttControl_Heli: Add LPF filter to Rate Feedforward terms 2014-07-08 20:18:13 +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 0c9a496262 AC_AttControlHeli: add ATC_RATE_FF_ENAB parameter
Because this class inherits from AC_AttitudeControl library this new
parameter must be added here as well
2014-06-10 21:25:33 +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 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