diff --git a/src/modules/flight_mode_manager/tasks/Utility/StickAccelerationXY.cpp b/src/modules/flight_mode_manager/tasks/Utility/StickAccelerationXY.cpp index d9c056a9ae..91b35814f0 100644 --- a/src/modules/flight_mode_manager/tasks/Utility/StickAccelerationXY.cpp +++ b/src/modules/flight_mode_manager/tasks/Utility/StickAccelerationXY.cpp @@ -129,7 +129,7 @@ Vector2f StickAccelerationXY::calculateDrag(Vector2f drag_coefficient, const flo _brake_boost_filter.setParameters(dt, .8f); if (stick_xy.norm_squared() < FLT_EPSILON) { - _brake_boost_filter.update(math::max(2.f, sqrtf(_param_mpc_vel_manual.get()))); + _brake_boost_filter.update(_param_mpc_brake_factor.get()); } else { _brake_boost_filter.update(1.f); diff --git a/src/modules/flight_mode_manager/tasks/Utility/StickAccelerationXY.hpp b/src/modules/flight_mode_manager/tasks/Utility/StickAccelerationXY.hpp index 06ae583ae4..f258af4200 100644 --- a/src/modules/flight_mode_manager/tasks/Utility/StickAccelerationXY.hpp +++ b/src/modules/flight_mode_manager/tasks/Utility/StickAccelerationXY.hpp @@ -81,6 +81,8 @@ private: DEFINE_PARAMETERS( (ParamFloat) _param_mpc_vel_manual, (ParamFloat) _param_mpc_acc_hor, + (ParamFloat) _param_mpc_acc_hor_max, + (ParamFloat) _param_mpc_brake_factor, (ParamFloat) _param_mpc_jerk_max, (ParamFloat) _param_mpc_tiltmax_air ) diff --git a/src/modules/mc_pos_control/mc_pos_control_params.c b/src/modules/mc_pos_control/mc_pos_control_params.c index aaff96e00b..f718e7ff5d 100644 --- a/src/modules/mc_pos_control/mc_pos_control_params.c +++ b/src/modules/mc_pos_control/mc_pos_control_params.c @@ -508,9 +508,22 @@ PARAM_DEFINE_FLOAT(MPC_ACC_HOR_MAX, 5.0f); * @decimal 2 * @group Multicopter Position Control */ - PARAM_DEFINE_FLOAT(MPC_ACC_HOR, 3.0f); +/** + * Factor for faster braking than accelerating in position mode + * + * Note: In manual, this parameter is only used in MPC_POS_MODE 1. + * + * @unit m/s^2 + * @min 2.0 + * @max 15.0 + * @increment 1 + * @decimal 2 + * @group Multicopter Position Control + */ +PARAM_DEFINE_FLOAT(MPC_BRAKE_FACTOR, 2.0f); + /** * Maximum vertical acceleration in velocity controlled modes upward *