From cc0bc051560b432d0f359ce96ca38b3f46748fc9 Mon Sep 17 00:00:00 2001 From: Matthias Grob <maetugr@gmail.com> Date: Tue, 22 May 2018 07:55:19 +0100 Subject: [PATCH] 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. --- ROMFS/px4fmu_common/init.d/10017_steadidrone_qu4d | 1 - ROMFS/px4fmu_common/init.d/12002_steadidrone_mavrik | 1 - ROMFS/px4fmu_common/init.d/13001_caipirinha_vtol | 1 - ROMFS/px4fmu_common/init.d/13002_firefly6 | 1 - ROMFS/px4fmu_common/init.d/13005_vtol_AAERT_quad | 1 - .../px4fmu_common/init.d/13006_vtol_standard_delta | 1 - ROMFS/px4fmu_common/init.d/13007_vtol_AAVVT_quad | 1 - ROMFS/px4fmu_common/init.d/13008_QuadRanger | 1 - ROMFS/px4fmu_common/init.d/13012_convergence | 1 - ROMFS/px4fmu_common/init.d/13013_deltaquad | 1 - ROMFS/px4fmu_common/init.d/15001_coax_heli | 1 - ROMFS/px4fmu_common/init.d/16001_helicopter | 1 - ROMFS/px4fmu_common/init.d/4003_qavr5 | 1 - ROMFS/px4fmu_common/init.d/4009_qav250 | 1 - ROMFS/px4fmu_common/init.d/4013_bebop | 1 - ROMFS/px4fmu_common/init.d/4050_generic_250 | 1 - ROMFS/px4fmu_common/init.d/4051_s250aq | 1 - ROMFS/px4fmu_common/init.d/4070_aerofc | 1 - ROMFS/px4fmu_common/init.d/4080_zmr250 | 1 - ROMFS/px4fmu_common/init.d/4090_nanomind | 1 - posix-configs/bebop/px4.config | 1 - src/modules/mc_att_control/mc_att_control.hpp | 2 -- src/modules/mc_att_control/mc_att_control_main.cpp | 8 +++----- src/modules/mc_att_control/mc_att_control_params.c | 13 ------------- 24 files changed, 3 insertions(+), 41 deletions(-) diff --git a/ROMFS/px4fmu_common/init.d/10017_steadidrone_qu4d b/ROMFS/px4fmu_common/init.d/10017_steadidrone_qu4d index b6ef969ed4..0284bbaf5f 100644 --- a/ROMFS/px4fmu_common/init.d/10017_steadidrone_qu4d +++ b/ROMFS/px4fmu_common/init.d/10017_steadidrone_qu4d @@ -36,7 +36,6 @@ then param set MC_YAWRATE_P 0.2 param set MC_YAWRATE_I 0.1 param set MC_YAWRATE_D 0.0 - param set MC_YAW_FF 0.5 param set BAT_N_CELLS 4 fi diff --git a/ROMFS/px4fmu_common/init.d/12002_steadidrone_mavrik b/ROMFS/px4fmu_common/init.d/12002_steadidrone_mavrik index 3db8e69db2..2be4f39005 100644 --- a/ROMFS/px4fmu_common/init.d/12002_steadidrone_mavrik +++ b/ROMFS/px4fmu_common/init.d/12002_steadidrone_mavrik @@ -37,7 +37,6 @@ then param set MC_YAWRATE_P 0.2 param set MC_YAWRATE_I 0.1 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_THR_MIN 0.15 diff --git a/ROMFS/px4fmu_common/init.d/13001_caipirinha_vtol b/ROMFS/px4fmu_common/init.d/13001_caipirinha_vtol index a5c516b24a..b266012481 100644 --- a/ROMFS/px4fmu_common/init.d/13001_caipirinha_vtol +++ b/ROMFS/px4fmu_common/init.d/13001_caipirinha_vtol @@ -28,7 +28,6 @@ then param set MC_PITCHRATE_D 0.003 param set MC_PITCHRATE_FF 0.0 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_I 0.02 param set MC_YAWRATE_D 0.0 diff --git a/ROMFS/px4fmu_common/init.d/13002_firefly6 b/ROMFS/px4fmu_common/init.d/13002_firefly6 index 504b9056a3..bcaa78048c 100644 --- a/ROMFS/px4fmu_common/init.d/13002_firefly6 +++ b/ROMFS/px4fmu_common/init.d/13002_firefly6 @@ -33,7 +33,6 @@ then param set MC_PITCHRATE_D 0.004 param set MC_PITCHRATE_FF 0.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_I 0.02 param set MC_YAWRATE_D 0.0 diff --git a/ROMFS/px4fmu_common/init.d/13005_vtol_AAERT_quad b/ROMFS/px4fmu_common/init.d/13005_vtol_AAERT_quad index cca99f49dc..1fc37ebd04 100644 --- a/ROMFS/px4fmu_common/init.d/13005_vtol_AAERT_quad +++ b/ROMFS/px4fmu_common/init.d/13005_vtol_AAERT_quad @@ -39,7 +39,6 @@ then param set MC_PITCHRATE_D 0.004 param set MC_PITCHRATE_FF 0.0 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_I 0.02 param set MC_YAWRATE_D 0.0 diff --git a/ROMFS/px4fmu_common/init.d/13006_vtol_standard_delta b/ROMFS/px4fmu_common/init.d/13006_vtol_standard_delta index 9d5c85a086..26d138b54c 100644 --- a/ROMFS/px4fmu_common/init.d/13006_vtol_standard_delta +++ b/ROMFS/px4fmu_common/init.d/13006_vtol_standard_delta @@ -35,7 +35,6 @@ then param set MC_PITCHRATE_D 0.003 param set MC_PITCHRATE_FF 0.0 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_I 0.1 param set MC_YAWRATE_D 0.0 diff --git a/ROMFS/px4fmu_common/init.d/13007_vtol_AAVVT_quad b/ROMFS/px4fmu_common/init.d/13007_vtol_AAVVT_quad index 216dfd728d..5efcf70fbc 100644 --- a/ROMFS/px4fmu_common/init.d/13007_vtol_AAVVT_quad +++ b/ROMFS/px4fmu_common/init.d/13007_vtol_AAVVT_quad @@ -27,7 +27,6 @@ then param set MC_PITCHRATE_D 0.003 param set MC_PITCHRATE_FF 0.0 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_I 0.02 param set MC_YAWRATE_D 0.0 diff --git a/ROMFS/px4fmu_common/init.d/13008_QuadRanger b/ROMFS/px4fmu_common/init.d/13008_QuadRanger index c3fe1716b3..23b2e50358 100644 --- a/ROMFS/px4fmu_common/init.d/13008_QuadRanger +++ b/ROMFS/px4fmu_common/init.d/13008_QuadRanger @@ -30,7 +30,6 @@ then param set MC_PITCHRATE_D 0.004 param set MC_PITCHRATE_FF 0.0 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_I 0.04 param set MC_YAWRATE_D 0.0 diff --git a/ROMFS/px4fmu_common/init.d/13012_convergence b/ROMFS/px4fmu_common/init.d/13012_convergence index 416ea45074..9928af42e4 100644 --- a/ROMFS/px4fmu_common/init.d/13012_convergence +++ b/ROMFS/px4fmu_common/init.d/13012_convergence @@ -62,7 +62,6 @@ then param set MC_ROLL_P 6.0 param set MC_YAWRATE_MAX 120 param set MC_YAWRATE_P 0.27 - param set MC_YAW_FF 0.35 param set MC_YAW_P 2.5 param set MC_YAWRATE_P 0.3 diff --git a/ROMFS/px4fmu_common/init.d/13013_deltaquad b/ROMFS/px4fmu_common/init.d/13013_deltaquad index 58c2eca715..01e49cefb8 100644 --- a/ROMFS/px4fmu_common/init.d/13013_deltaquad +++ b/ROMFS/px4fmu_common/init.d/13013_deltaquad @@ -93,7 +93,6 @@ then param set MC_PITCHRATE_FF 0.0 param set MC_PITCHRATE_MAX 80 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_I 0.1 param set MC_YAWRATE_D 0.0 diff --git a/ROMFS/px4fmu_common/init.d/15001_coax_heli b/ROMFS/px4fmu_common/init.d/15001_coax_heli index 853bc4823a..1e2db92f22 100644 --- a/ROMFS/px4fmu_common/init.d/15001_coax_heli +++ b/ROMFS/px4fmu_common/init.d/15001_coax_heli @@ -37,7 +37,6 @@ then param set MC_PITCHRATE_D 0.005 param set MC_PITCHRATE_FF 0 param set MC_YAW_P 2 - param set MC_YAW_FF 0.5 param set MC_YAWRATE_P 0.1 param set MC_YAWRATE_I 0.1 param set MC_YAWRATE_D 0.0 diff --git a/ROMFS/px4fmu_common/init.d/16001_helicopter b/ROMFS/px4fmu_common/init.d/16001_helicopter index a91a60fb5f..a4e4d768b3 100644 --- a/ROMFS/px4fmu_common/init.d/16001_helicopter +++ b/ROMFS/px4fmu_common/init.d/16001_helicopter @@ -39,7 +39,6 @@ then param set MC_YAWRATE_P 0.1 param set MC_YAWRATE_I 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_PITCHRATE_MAX 720.0 param set MC_YAWRATE_MAX 400.0 diff --git a/ROMFS/px4fmu_common/init.d/4003_qavr5 b/ROMFS/px4fmu_common/init.d/4003_qavr5 index 4e5f641332..932480278f 100644 --- a/ROMFS/px4fmu_common/init.d/4003_qavr5 +++ b/ROMFS/px4fmu_common/init.d/4003_qavr5 @@ -26,7 +26,6 @@ then param set MC_YAWRATE_P 0.15 param set MC_YAWRATE_I 0.1 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_RATE_P 0.3 param set PWM_MIN 1075 diff --git a/ROMFS/px4fmu_common/init.d/4009_qav250 b/ROMFS/px4fmu_common/init.d/4009_qav250 index dc92f5eb5a..6b4127da75 100644 --- a/ROMFS/px4fmu_common/init.d/4009_qav250 +++ b/ROMFS/px4fmu_common/init.d/4009_qav250 @@ -24,7 +24,6 @@ then param set MC_YAWRATE_P 0.3 param set MC_YAWRATE_I 0.2 param set MC_YAWRATE_D 0.0 - param set MC_YAW_FF 0.5 param set PWM_MIN 1075 param set MPC_THR_MIN 0.06 param set MPC_MANTHR_MIN 0.06 diff --git a/ROMFS/px4fmu_common/init.d/4013_bebop b/ROMFS/px4fmu_common/init.d/4013_bebop index 8b23184307..0459a45280 100644 --- a/ROMFS/px4fmu_common/init.d/4013_bebop +++ b/ROMFS/px4fmu_common/init.d/4013_bebop @@ -35,7 +35,6 @@ then param set MC_YAWRATE_P 0.05 param set MC_YAWRATE_I 0.001 param set MC_YAWRATE_D 0.0 - param set MC_YAW_FF 0.7 fi set OUTPUT_MODE bebop diff --git a/ROMFS/px4fmu_common/init.d/4050_generic_250 b/ROMFS/px4fmu_common/init.d/4050_generic_250 index 7c5af498a5..333ffbf37b 100644 --- a/ROMFS/px4fmu_common/init.d/4050_generic_250 +++ b/ROMFS/px4fmu_common/init.d/4050_generic_250 @@ -24,7 +24,6 @@ then param set MC_YAWRATE_P 0.2 param set MC_YAWRATE_I 0.1 param set MC_YAWRATE_D 0.0 - param set MC_YAW_FF 0.5 param set MC_ROLLRATE_MAX 1600.0 param set MC_PITCHRATE_MAX 1600.0 diff --git a/ROMFS/px4fmu_common/init.d/4051_s250aq b/ROMFS/px4fmu_common/init.d/4051_s250aq index 473c11e647..facc965fbc 100644 --- a/ROMFS/px4fmu_common/init.d/4051_s250aq +++ b/ROMFS/px4fmu_common/init.d/4051_s250aq @@ -40,7 +40,6 @@ then param set MC_YAWRATE_P 0.2 param set MC_YAWRATE_I 0.1 param set MC_YAWRATE_D 0.0 - param set MC_YAW_FF 0.5 param set MC_ROLLRATE_MAX 720.0 param set MC_PITCHRATE_MAX 720.0 param set MC_YAWRATE_MAX 400.0 diff --git a/ROMFS/px4fmu_common/init.d/4070_aerofc b/ROMFS/px4fmu_common/init.d/4070_aerofc index 0eb2d773ba..506bd361fa 100644 --- a/ROMFS/px4fmu_common/init.d/4070_aerofc +++ b/ROMFS/px4fmu_common/init.d/4070_aerofc @@ -41,7 +41,6 @@ then param set MC_YAWRATE_P 0.119999997317790985 param set MC_YAWRATE_I 0.050000000745058060 param set MC_YAWRATE_D 0.0 - param set MC_YAW_FF 0.5 param set MPC_LAND_SPEED 0.7000 param set MPC_MANTHR_MIN 0.0400 diff --git a/ROMFS/px4fmu_common/init.d/4080_zmr250 b/ROMFS/px4fmu_common/init.d/4080_zmr250 index 0c01e4f75b..e39a987796 100644 --- a/ROMFS/px4fmu_common/init.d/4080_zmr250 +++ b/ROMFS/px4fmu_common/init.d/4080_zmr250 @@ -31,7 +31,6 @@ then param set MC_YAWRATE_P 0.15 param set MC_YAWRATE_I 0.2 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_P_MAX 1000.0 diff --git a/ROMFS/px4fmu_common/init.d/4090_nanomind b/ROMFS/px4fmu_common/init.d/4090_nanomind index 0d16f79c5b..b629038eac 100644 --- a/ROMFS/px4fmu_common/init.d/4090_nanomind +++ b/ROMFS/px4fmu_common/init.d/4090_nanomind @@ -31,7 +31,6 @@ then param set MC_YAWRATE_P 0.2 param set MC_YAWRATE_I 0.1 param set MC_YAWRATE_D 0.0 - param set MC_YAW_FF 0.5 param set BAT_N_CELLS 1 diff --git a/posix-configs/bebop/px4.config b/posix-configs/bebop/px4.config index 5b35caf9e5..9e20c39ad2 100644 --- a/posix-configs/bebop/px4.config +++ b/posix-configs/bebop/px4.config @@ -15,7 +15,6 @@ param set MPC_XY_VEL_MAX 2 param set MC_YAW_P 4.0 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_D 0.001 diff --git a/src/modules/mc_att_control/mc_att_control.hpp b/src/modules/mc_att_control/mc_att_control.hpp index 5f2f032b1f..50a3b1b3ae 100644 --- a/src/modules/mc_att_control/mc_att_control.hpp +++ b/src/modules/mc_att_control/mc_att_control.hpp @@ -204,8 +204,6 @@ private: (ParamFloat<px4::params::MC_YAWRATE_D>) _yaw_rate_d, (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_TPA_BREAK_P>) _tpa_breakpoint_p, /**< Throttle PID Attenuation breakpoint */ diff --git a/src/modules/mc_att_control/mc_att_control_main.cpp b/src/modules/mc_att_control/mc_att_control_main.cpp index 5626f96e02..16479dbf83 100644 --- a/src/modules/mc_att_control/mc_att_control_main.cpp +++ b/src/modules/mc_att_control/mc_att_control_main.cpp @@ -430,16 +430,14 @@ MulticopterAttitudeControl::control_attitude(float dt) _rates_sp = eq.emult(attitude_gain); /* 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). * 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 * such that it can be added to the rates setpoint. */ - Vector3f yaw_feedforward_rate = q.inversed().dcm_z(); - yaw_feedforward_rate *= _v_att_sp.yaw_sp_move_rate * _yaw_ff.get(); - _rates_sp += yaw_feedforward_rate; + _rates_sp += q.inversed().dcm_z() * _v_att_sp.yaw_sp_move_rate; /* limit rates */ diff --git a/src/modules/mc_att_control/mc_att_control_params.c b/src/modules/mc_att_control/mc_att_control_params.c index a8182c7e98..5da8bae009 100644 --- a/src/modules/mc_att_control/mc_att_control_params.c +++ b/src/modules/mc_att_control/mc_att_control_params.c @@ -263,19 +263,6 @@ PARAM_DEFINE_FLOAT(MC_YAWRATE_D, 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 * -- GitLab