mc_att_control: remove useless parameter MC_YAW_FF

It scales the yawspeed setpoint arbitrarily by default with 0.5.
This makes no sense because when you give a setpoint of 1rad/s then
you expect the setpoint to get executed. If you want manual yawspeed
response to be less agressive on the stick use the scaling parameter
for the stick MPC_MAN_Y_MAX.
This commit is contained in:
Matthias Grob
2018-05-22 07:55:19 +01:00
committed by Lorenz Meier
parent b5731e0ccd
commit cc0bc05156
24 changed files with 3 additions and 41 deletions
@@ -36,7 +36,6 @@ then
param set MC_YAWRATE_P 0.2 param set MC_YAWRATE_P 0.2
param set MC_YAWRATE_I 0.1 param set MC_YAWRATE_I 0.1
param set MC_YAWRATE_D 0.0 param set MC_YAWRATE_D 0.0
param set MC_YAW_FF 0.5
param set BAT_N_CELLS 4 param set BAT_N_CELLS 4
fi fi
@@ -37,7 +37,6 @@ then
param set MC_YAWRATE_P 0.2 param set MC_YAWRATE_P 0.2
param set MC_YAWRATE_I 0.1 param set MC_YAWRATE_I 0.1
param set MC_YAWRATE_D 0.0 param set MC_YAWRATE_D 0.0
param set MC_YAW_FF 0.5
param set MPC_HOLD_MAX_XY 0.25 param set MPC_HOLD_MAX_XY 0.25
param set MPC_THR_MIN 0.15 param set MPC_THR_MIN 0.15
@@ -28,7 +28,6 @@ then
param set MC_PITCHRATE_D 0.003 param set MC_PITCHRATE_D 0.003
param set MC_PITCHRATE_FF 0.0 param set MC_PITCHRATE_FF 0.0
param set MC_YAW_P 3.8 param set MC_YAW_P 3.8
param set MC_YAW_FF 0.5
param set MC_YAWRATE_P 0.22 param set MC_YAWRATE_P 0.22
param set MC_YAWRATE_I 0.02 param set MC_YAWRATE_I 0.02
param set MC_YAWRATE_D 0.0 param set MC_YAWRATE_D 0.0
@@ -33,7 +33,6 @@ then
param set MC_PITCHRATE_D 0.004 param set MC_PITCHRATE_D 0.004
param set MC_PITCHRATE_FF 0.0 param set MC_PITCHRATE_FF 0.0
param set MC_YAW_P 4.0 param set MC_YAW_P 4.0
param set MC_YAW_FF 0.5
param set MC_YAWRATE_P 0.22 param set MC_YAWRATE_P 0.22
param set MC_YAWRATE_I 0.02 param set MC_YAWRATE_I 0.02
param set MC_YAWRATE_D 0.0 param set MC_YAWRATE_D 0.0
@@ -39,7 +39,6 @@ then
param set MC_PITCHRATE_D 0.004 param set MC_PITCHRATE_D 0.004
param set MC_PITCHRATE_FF 0.0 param set MC_PITCHRATE_FF 0.0
param set MC_YAW_P 2.8 param set MC_YAW_P 2.8
param set MC_YAW_FF 0.5
param set MC_YAWRATE_P 0.22 param set MC_YAWRATE_P 0.22
param set MC_YAWRATE_I 0.02 param set MC_YAWRATE_I 0.02
param set MC_YAWRATE_D 0.0 param set MC_YAWRATE_D 0.0
@@ -35,7 +35,6 @@ then
param set MC_PITCHRATE_D 0.003 param set MC_PITCHRATE_D 0.003
param set MC_PITCHRATE_FF 0.0 param set MC_PITCHRATE_FF 0.0
param set MC_YAW_P 3.5 param set MC_YAW_P 3.5
param set MC_YAW_FF 0.5
param set MC_YAWRATE_P 0.2 param set MC_YAWRATE_P 0.2
param set MC_YAWRATE_I 0.1 param set MC_YAWRATE_I 0.1
param set MC_YAWRATE_D 0.0 param set MC_YAWRATE_D 0.0
@@ -27,7 +27,6 @@ then
param set MC_PITCHRATE_D 0.003 param set MC_PITCHRATE_D 0.003
param set MC_PITCHRATE_FF 0.0 param set MC_PITCHRATE_FF 0.0
param set MC_YAW_P 2.8 param set MC_YAW_P 2.8
param set MC_YAW_FF 0.5
param set MC_YAWRATE_P 0.22 param set MC_YAWRATE_P 0.22
param set MC_YAWRATE_I 0.02 param set MC_YAWRATE_I 0.02
param set MC_YAWRATE_D 0.0 param set MC_YAWRATE_D 0.0
@@ -30,7 +30,6 @@ then
param set MC_PITCHRATE_D 0.004 param set MC_PITCHRATE_D 0.004
param set MC_PITCHRATE_FF 0.0 param set MC_PITCHRATE_FF 0.0
param set MC_YAW_P 3.5 param set MC_YAW_P 3.5
param set MC_YAW_FF 0.7
param set MC_YAWRATE_P 0.6 param set MC_YAWRATE_P 0.6
param set MC_YAWRATE_I 0.04 param set MC_YAWRATE_I 0.04
param set MC_YAWRATE_D 0.0 param set MC_YAWRATE_D 0.0
@@ -62,7 +62,6 @@ then
param set MC_ROLL_P 6.0 param set MC_ROLL_P 6.0
param set MC_YAWRATE_MAX 120 param set MC_YAWRATE_MAX 120
param set MC_YAWRATE_P 0.27 param set MC_YAWRATE_P 0.27
param set MC_YAW_FF 0.35
param set MC_YAW_P 2.5 param set MC_YAW_P 2.5
param set MC_YAWRATE_P 0.3 param set MC_YAWRATE_P 0.3
@@ -93,7 +93,6 @@ then
param set MC_PITCHRATE_FF 0.0 param set MC_PITCHRATE_FF 0.0
param set MC_PITCHRATE_MAX 80 param set MC_PITCHRATE_MAX 80
param set MC_YAW_P 3.5 param set MC_YAW_P 3.5
param set MC_YAW_FF 0.5
param set MC_YAWRATE_P 0.2 param set MC_YAWRATE_P 0.2
param set MC_YAWRATE_I 0.1 param set MC_YAWRATE_I 0.1
param set MC_YAWRATE_D 0.0 param set MC_YAWRATE_D 0.0
@@ -37,7 +37,6 @@ then
param set MC_PITCHRATE_D 0.005 param set MC_PITCHRATE_D 0.005
param set MC_PITCHRATE_FF 0 param set MC_PITCHRATE_FF 0
param set MC_YAW_P 2 param set MC_YAW_P 2
param set MC_YAW_FF 0.5
param set MC_YAWRATE_P 0.1 param set MC_YAWRATE_P 0.1
param set MC_YAWRATE_I 0.1 param set MC_YAWRATE_I 0.1
param set MC_YAWRATE_D 0.0 param set MC_YAWRATE_D 0.0
@@ -39,7 +39,6 @@ then
param set MC_YAWRATE_P 0.1 param set MC_YAWRATE_P 0.1
param set MC_YAWRATE_I 0.0 param set MC_YAWRATE_I 0.0
param set MC_YAWRATE_D 0.0 param set MC_YAWRATE_D 0.0
param set MC_YAW_FF 0.0
param set MC_ROLLRATE_MAX 720.0 param set MC_ROLLRATE_MAX 720.0
param set MC_PITCHRATE_MAX 720.0 param set MC_PITCHRATE_MAX 720.0
param set MC_YAWRATE_MAX 400.0 param set MC_YAWRATE_MAX 400.0
-1
View File
@@ -26,7 +26,6 @@ then
param set MC_YAWRATE_P 0.15 param set MC_YAWRATE_P 0.15
param set MC_YAWRATE_I 0.1 param set MC_YAWRATE_I 0.1
param set MC_YAWRATE_D 0.0 param set MC_YAWRATE_D 0.0
param set MC_YAW_FF 0.5
param set MC_TPA_BREAK_P 0.7 param set MC_TPA_BREAK_P 0.7
param set MC_TPA_RATE_P 0.3 param set MC_TPA_RATE_P 0.3
param set PWM_MIN 1075 param set PWM_MIN 1075
-1
View File
@@ -24,7 +24,6 @@ then
param set MC_YAWRATE_P 0.3 param set MC_YAWRATE_P 0.3
param set MC_YAWRATE_I 0.2 param set MC_YAWRATE_I 0.2
param set MC_YAWRATE_D 0.0 param set MC_YAWRATE_D 0.0
param set MC_YAW_FF 0.5
param set PWM_MIN 1075 param set PWM_MIN 1075
param set MPC_THR_MIN 0.06 param set MPC_THR_MIN 0.06
param set MPC_MANTHR_MIN 0.06 param set MPC_MANTHR_MIN 0.06
-1
View File
@@ -35,7 +35,6 @@ then
param set MC_YAWRATE_P 0.05 param set MC_YAWRATE_P 0.05
param set MC_YAWRATE_I 0.001 param set MC_YAWRATE_I 0.001
param set MC_YAWRATE_D 0.0 param set MC_YAWRATE_D 0.0
param set MC_YAW_FF 0.7
fi fi
set OUTPUT_MODE bebop set OUTPUT_MODE bebop
@@ -24,7 +24,6 @@ then
param set MC_YAWRATE_P 0.2 param set MC_YAWRATE_P 0.2
param set MC_YAWRATE_I 0.1 param set MC_YAWRATE_I 0.1
param set MC_YAWRATE_D 0.0 param set MC_YAWRATE_D 0.0
param set MC_YAW_FF 0.5
param set MC_ROLLRATE_MAX 1600.0 param set MC_ROLLRATE_MAX 1600.0
param set MC_PITCHRATE_MAX 1600.0 param set MC_PITCHRATE_MAX 1600.0
-1
View File
@@ -40,7 +40,6 @@ then
param set MC_YAWRATE_P 0.2 param set MC_YAWRATE_P 0.2
param set MC_YAWRATE_I 0.1 param set MC_YAWRATE_I 0.1
param set MC_YAWRATE_D 0.0 param set MC_YAWRATE_D 0.0
param set MC_YAW_FF 0.5
param set MC_ROLLRATE_MAX 720.0 param set MC_ROLLRATE_MAX 720.0
param set MC_PITCHRATE_MAX 720.0 param set MC_PITCHRATE_MAX 720.0
param set MC_YAWRATE_MAX 400.0 param set MC_YAWRATE_MAX 400.0
-1
View File
@@ -41,7 +41,6 @@ then
param set MC_YAWRATE_P 0.119999997317790985 param set MC_YAWRATE_P 0.119999997317790985
param set MC_YAWRATE_I 0.050000000745058060 param set MC_YAWRATE_I 0.050000000745058060
param set MC_YAWRATE_D 0.0 param set MC_YAWRATE_D 0.0
param set MC_YAW_FF 0.5
param set MPC_LAND_SPEED 0.7000 param set MPC_LAND_SPEED 0.7000
param set MPC_MANTHR_MIN 0.0400 param set MPC_MANTHR_MIN 0.0400
-1
View File
@@ -31,7 +31,6 @@ then
param set MC_YAWRATE_P 0.15 param set MC_YAWRATE_P 0.15
param set MC_YAWRATE_I 0.2 param set MC_YAWRATE_I 0.2
param set MC_YAWRATE_D 0.0 param set MC_YAWRATE_D 0.0
param set MC_YAW_FF 0.5
param set MC_ACRO_R_MAX 1000.0 param set MC_ACRO_R_MAX 1000.0
param set MC_ACRO_P_MAX 1000.0 param set MC_ACRO_P_MAX 1000.0
-1
View File
@@ -31,7 +31,6 @@ then
param set MC_YAWRATE_P 0.2 param set MC_YAWRATE_P 0.2
param set MC_YAWRATE_I 0.1 param set MC_YAWRATE_I 0.1
param set MC_YAWRATE_D 0.0 param set MC_YAWRATE_D 0.0
param set MC_YAW_FF 0.5
param set BAT_N_CELLS 1 param set BAT_N_CELLS 1
-1
View File
@@ -15,7 +15,6 @@ param set MPC_XY_VEL_MAX 2
param set MC_YAW_P 4.0 param set MC_YAW_P 4.0
param set MC_YAWRATE_P 0.08 param set MC_YAWRATE_P 0.08
param set MC_YAW_FF 0.5
param set MC_ROLLRATE_P 0.08 param set MC_ROLLRATE_P 0.08
param set MC_ROLLRATE_D 0.001 param set MC_ROLLRATE_D 0.001
@@ -204,8 +204,6 @@ private:
(ParamFloat<px4::params::MC_YAWRATE_D>) _yaw_rate_d, (ParamFloat<px4::params::MC_YAWRATE_D>) _yaw_rate_d,
(ParamFloat<px4::params::MC_YAWRATE_FF>) _yaw_rate_ff, (ParamFloat<px4::params::MC_YAWRATE_FF>) _yaw_rate_ff,
(ParamFloat<px4::params::MC_YAW_FF>) _yaw_ff, /**< yaw control feed-forward */
(ParamFloat<px4::params::MC_DTERM_CUTOFF>) _d_term_cutoff_freq, /**< Cutoff frequency for the D-term filter */ (ParamFloat<px4::params::MC_DTERM_CUTOFF>) _d_term_cutoff_freq, /**< Cutoff frequency for the D-term filter */
(ParamFloat<px4::params::MC_TPA_BREAK_P>) _tpa_breakpoint_p, /**< Throttle PID Attenuation breakpoint */ (ParamFloat<px4::params::MC_TPA_BREAK_P>) _tpa_breakpoint_p, /**< Throttle PID Attenuation breakpoint */
@@ -430,16 +430,14 @@ MulticopterAttitudeControl::control_attitude(float dt)
_rates_sp = eq.emult(attitude_gain); _rates_sp = eq.emult(attitude_gain);
/* Feed forward the yaw setpoint rate. /* Feed forward the yaw setpoint rate.
* The yaw_feedforward_rate is a commanded rotation around the world z-axis, * yaw_sp_move_rate is the feed forward commanded rotation around the world z-axis,
* but we need to apply it in the body frame (because _rates_sp is expressed in the body frame). * but we need to apply it in the body frame (because _rates_sp is expressed in the body frame).
* Therefore we infer the world z-axis (expressed in the body frame) by taking the last column of R.transposed (== q.inversed) * Therefore we infer the world z-axis (expressed in the body frame) by taking the last column of R.transposed (== q.inversed)
* and multiply it by the yaw setpoint rate (yaw_sp_move_rate) and gain (_yaw_ff). * and multiply it by the yaw setpoint rate (yaw_sp_move_rate).
* This yields a vector representing the commanded rotatation around the world z-axis expressed in the body frame * This yields a vector representing the commanded rotatation around the world z-axis expressed in the body frame
* such that it can be added to the rates setpoint. * such that it can be added to the rates setpoint.
*/ */
Vector3f yaw_feedforward_rate = q.inversed().dcm_z(); _rates_sp += q.inversed().dcm_z() * _v_att_sp.yaw_sp_move_rate;
yaw_feedforward_rate *= _v_att_sp.yaw_sp_move_rate * _yaw_ff.get();
_rates_sp += yaw_feedforward_rate;
/* limit rates */ /* limit rates */
@@ -263,19 +263,6 @@ PARAM_DEFINE_FLOAT(MC_YAWRATE_D, 0.0f);
*/ */
PARAM_DEFINE_FLOAT(MC_YAWRATE_FF, 0.0f); PARAM_DEFINE_FLOAT(MC_YAWRATE_FF, 0.0f);
/**
* Yaw feed forward
*
* Feed forward weight for manual yaw control. 0 will give slow responce and no overshot, 1 - fast responce and big overshot.
*
* @min 0.0
* @max 1.0
* @decimal 2
* @increment 0.01
* @group Multicopter Attitude Control
*/
PARAM_DEFINE_FLOAT(MC_YAW_FF, 0.5f);
/** /**
* Max roll rate * Max roll rate
* *