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
Lucas De Marchi
2591261af6
Global: rename min and max macros to uppercase
...
The problem with using min() and max() is that they conflict with some
C++ headers. Name the macros in uppercase instead. We may go case by
case later converting them to be typesafe.
Changes generated with:
git ls-files '*.cpp' '*.h' -z | xargs -0 sed -i 's/\([^_[:alnum:]]\)max(/\1MAX(/g'
git ls-files '*.cpp' '*.h' -z | xargs -0 sed -i 's/\([^_[:alnum:]]\)min(/\1MIN(/g'
2015-12-01 16:28:09 -02: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
Caio Marcelo de Oliveira Filho
ea08b6115d
AC_AttControl: use millis/micros/panic functions
2015-11-20 12:27:03 +09:00
Randy Mackay
c9340dbeb6
AC_PosControl: run velocity controller z-axis at 400hz
2015-11-18 13:31:21 +09:00
Randy Mackay
dbc8ce1d69
AC_PosControl: default z-axis controller to 400hz
...
No functional change as vehicle code always sets it explicitely
2015-11-18 13:31:20 +09:00
Randy Mackay
323a527734
AC_PosControl: velocity controller uses feed-forward althold
2015-11-18 13:31:19 +09:00
Randy Mackay
4b41710261
AC_AttControl: minor comment fix
2015-11-18 13:31:18 +09:00
Robert Lefebvre
1bc13fb9c0
AC_AttitudeControl_Heli: Add Hover Roll Trim Scalar
2015-11-12 19:37:35 +09:00
Robert Lefebvre
0b33ef3862
AC_AttitudeControl: Add Hover Roll Trim functionality for helicopters.
2015-11-12 19:37:26 +09:00
Robert Lefebvre
62864c9e2b
AC_AttitudeControl_Heli: Remove commented out Cyclic Cross-Coupling code. Will resurrect in future.
2015-11-12 19:37:19 +09:00
Robert Lefebvre
b8ce23970d
AC_AttitudeControl_Heli: Implement Pirouette Compensation
2015-11-12 19:37:18 +09:00
Robert Lefebvre
f39ac7c900
AC_AttitudeControl_Heli: Add initialization of _flags_heli members
2015-11-12 19:37:17 +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
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