mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-05-31 02:16:53 +08:00
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:
committed by
Lorenz Meier
parent
b5731e0ccd
commit
cc0bc05156
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in New Issue
Block a user