50 #include <px4_platform_common/module_params.h> 75 const float &yawrate_sp,
const float dt);
117 const float &yawrate_sp,
const float dt);
128 const float &yawrate_sp);
168 (ParamFloat<px4::params::MPC_ACC_HOR_MAX>) _param_mpc_acc_hor_max,
169 (ParamFloat<px4::params::MPC_ACC_HOR>) _param_mpc_acc_hor,
170 (ParamFloat<px4::params::MPC_DEC_HOR_SLOW>) _param_mpc_dec_hor_slow,
171 (ParamFloat<px4::params::MPC_JERK_MIN>) _param_mpc_jerk_min,
172 (ParamFloat<px4::params::MPC_JERK_MAX>) _param_mpc_jerk_max,
173 (ParamFloat<px4::params::MPC_VEL_MANUAL>) _param_mpc_vel_manual
matrix::Vector2f _getWorldToHeadingFrame(const matrix::Vector2f &vec, const float &yaw)
Rotate vector from local frame into heading frame.
void overwriteHoverAcceleration(float acc)
Overwrite methods: Needed if different parameter values than default required.
ManualSmoothingXY(ModuleParams *parent, const matrix::Vector2f &vel)
void overwriteDecelerationMin(float dec)
void updateMaxVelocity(const float &vel_max)
Maximum velocity is required to detect user intention.
float _acc_state_dependent
velocity change limit that depends on Intention
matrix::Vector2f _getHeadingToWorldFrame(const matrix::Vector2f &vec, const float &yaw)
Rotate vector from heading frame to local frame.
void overwriteJerkMin(float jerk)
float _jerk_state_dependent
acceleration change limit during brake
Intention _getIntention(const matrix::Vector2f &vel_sp, const matrix::Vector2f &vel, const float &yaw, const float &yawrate_sp)
Gets user intention.
matrix::Vector2f _vel_sp_prev
previous velocity setpoint
void _updateAcceleration(matrix::Vector2f &vel_sp, const matrix::Vector2f &vel, const float &yaw, const float &yawrate_sp, const float dt)
Sets velocity change limits (=acceleration).
float _vel_max
maximum horizontal speed allowed
void overwriteJerkMax(float jerk)
void overwriteMaxAcceleration(float acc)
void smoothVelocity(matrix::Vector2f &vel_sp, const matrix::Vector2f &vel, const float &yaw, const float &yawrate_sp, const float dt)
Smoothing of velocity setpoint horizontally based on flight direction.
void _velocitySlewRate(matrix::Vector2f &vel_sp, const float dt)
Limits the velocity setpoint change.
Intention getIntention()
Get user intention.
Intention _intention
user intention
void _setStateAcceleration(const matrix::Vector2f &vel_sp, const matrix::Vector2f &vel, const Intention &intention, const float dt)
Set acceleration depending on Intention.
~ManualSmoothingXY()=default