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
9208003aab
AC_AttitudeControl: remove unused variable
2015-12-09 19:58:34 +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
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