Skip to content
Snippets Groups Projects
Commit 24e6e404 authored by Dennis Mannhart's avatar Dennis Mannhart Committed by Lorenz Meier
Browse files

PositionControl: format clean up

parent 89c0259b
No related branches found
No related tags found
No related merge requests found
......@@ -80,7 +80,8 @@ protected:
private:
uORB::Subscription<position_setpoint_triplet_s> *_sub_triplet_setpoint{nullptr};
DEFINE_PARAMETERS_CUSTOM_PARENT(FlightTask, (ParamFloat<px4::params::MPC_XY_CRUISE>) _mc_cruise_default); /**< Default mc cruise speed.*/
DEFINE_PARAMETERS_CUSTOM_PARENT(FlightTask,
(ParamFloat<px4::params::MPC_XY_CRUISE>) _mc_cruise_default); /**< Default mc cruise speed.*/
map_projection_reference_s _reference; /**< Reference frame from global to local. */
......
......@@ -65,17 +65,17 @@ protected:
State _current_state{State::none};
DEFINE_PARAMETERS_CUSTOM_PARENT(FlightTaskAuto,
(ParamFloat<px4::params::MPC_LAND_SPEED>) _land_speed,
(ParamFloat<px4::params::MPC_Z_VEL_MAX_UP>) _vel_max_up,
(ParamFloat<px4::params::MPC_Z_VEL_MAX_DN>) _vel_max_down,
(ParamFloat<px4::params::MPC_ACC_HOR_MAX>) _acc_max_xy,
(ParamFloat<px4::params::MPC_ACC_HOR>) _acc_xy,
(ParamFloat<px4::params::MPC_ACC_UP_MAX>) _acc_max_up,
(ParamFloat<px4::params::MPC_ACC_DOWN_MAX>) _acc_max_down,
(ParamFloat<px4::params::MPC_CRUISE_90>) _cruise_speed_90,
(ParamFloat<px4::params::NAV_ACC_RAD>) _nav_rad,
(ParamFloat<px4::params::MIS_YAW_ERR>) _mis_yaw_error
)
(ParamFloat<px4::params::MPC_LAND_SPEED>) _land_speed,
(ParamFloat<px4::params::MPC_Z_VEL_MAX_UP>) _vel_max_up,
(ParamFloat<px4::params::MPC_Z_VEL_MAX_DN>) _vel_max_down,
(ParamFloat<px4::params::MPC_ACC_HOR_MAX>) _acc_max_xy,
(ParamFloat<px4::params::MPC_ACC_HOR>) _acc_xy,
(ParamFloat<px4::params::MPC_ACC_UP_MAX>) _acc_max_up,
(ParamFloat<px4::params::MPC_ACC_DOWN_MAX>) _acc_max_down,
(ParamFloat<px4::params::MPC_CRUISE_90>) _cruise_speed_90,
(ParamFloat<px4::params::NAV_ACC_RAD>) _nav_rad,
(ParamFloat<px4::params::MIS_YAW_ERR>) _mis_yaw_error
)
void _generateIdleSetpoints();
void _generateLandSetpoints();
......
......@@ -43,7 +43,7 @@
using namespace matrix;
PositionControl::PositionControl(ModuleParams *parent) :
ModuleParams(parent)
ModuleParams(parent)
{}
void PositionControl::updateState(const vehicle_local_position_s &state, const Vector3f &vel_dot)
......@@ -200,7 +200,8 @@ void PositionControl::_velocityController(const float &dt)
Vector3f vel_err = _vel_sp - _vel;
// Consider thrust in D-direction.
float thrust_desired_D = MPC_Z_VEL_P.get() * vel_err(2) + MPC_Z_VEL_D.get() * _vel_dot(2) + _thr_int(2) - MPC_THR_HOVER.get();
float thrust_desired_D = MPC_Z_VEL_P.get() * vel_err(2) + MPC_Z_VEL_D.get() * _vel_dot(2) + _thr_int(
2) - MPC_THR_HOVER.get();
// The Thrust limits are negated and swapped due to NED-frame.
float uMax = -MPC_THR_MIN.get();
......@@ -221,7 +222,7 @@ void PositionControl::_velocityController(const float &dt)
if (fabsf(_thr_sp(0)) + fabsf(_thr_sp(1)) > FLT_EPSILON) {
// Thrust set-point in NE-direction is already provided. Only
// scaling by the maximum tilt is required.
float thr_xy_max = fabsf(_thr_sp(2)) * tanf(MPC_MAN_TILT_MAX.get());
float thr_xy_max = fabsf(_thr_sp(2)) * tanf(MPC_MAN_TILT_MAX_rad.get());
_thr_sp(0) *= thr_xy_max;
_thr_sp(1) *= thr_xy_max;
......@@ -268,8 +269,8 @@ void PositionControl::updateConstraints(const Controller::Constraints &constrain
// Check if adjustable constraints are below global constraints. If they are not stricter than global
// constraints, then just use global constraints for the limits.
if (!PX4_ISFINITE(constraints.tilt_max) || !(constraints.tilt_max < MPC_TILTMAX_AIR.get())) {
_constraints.tilt_max = MPC_TILTMAX_AIR.get();
if (!PX4_ISFINITE(constraints.tilt_max) || !(constraints.tilt_max < MPC_TILTMAX_AIR_rad.get())) {
_constraints.tilt_max = MPC_TILTMAX_AIR_rad.get();
}
if (!PX4_ISFINITE(constraints.vel_max_z_up) || !(constraints.vel_max_z_up < MPC_Z_VEL_MAX_UP.get())) {
......
......@@ -192,22 +192,23 @@ private:
bool _skip_controller{false}; /**< skips position/velocity controller. true for stabilized mode */
DEFINE_PARAMETERS(
(ParamFloat<px4::params::MPC_THR_MAX>) MPC_THR_MAX,
(ParamFloat<px4::params::MPC_THR_HOVER>) MPC_THR_HOVER,
(ParamFloat<px4::params::MPC_THR_MIN>) MPC_THR_MIN,
(ParamFloat<px4::params::MPC_MANTHR_MIN>) MPC_MANTHR_MIN,
(ParamFloat<px4::params::MPC_XY_VEL_MAX>) MPC_XY_VEL_MAX,
(ParamFloat<px4::params::MPC_Z_VEL_MAX_DN>) MPC_Z_VEL_MAX_DN,
(ParamFloat<px4::params::MPC_Z_VEL_MAX_UP>) MPC_Z_VEL_MAX_UP,
(ParamFloat<px4::params::MPC_TILTMAX_AIR>) MPC_TILTMAX_AIR,
(ParamFloat<px4::params::MPC_MAN_TILT_MAX>) MPC_MAN_TILT_MAX,
(ParamFloat<px4::params::MPC_Z_P>) MPC_Z_P,
(ParamFloat<px4::params::MPC_Z_VEL_P>) MPC_Z_VEL_P,
(ParamFloat<px4::params::MPC_Z_VEL_I>) MPC_Z_VEL_I,
(ParamFloat<px4::params::MPC_Z_VEL_D>) MPC_Z_VEL_D,
(ParamFloat<px4::params::MPC_XY_P>) MPC_XY_P,
(ParamFloat<px4::params::MPC_XY_VEL_P>) MPC_XY_VEL_P,
(ParamFloat<px4::params::MPC_XY_VEL_I>) MPC_XY_VEL_I,
(ParamFloat<px4::params::MPC_XY_VEL_D>) MPC_XY_VEL_D
(ParamFloat<px4::params::MPC_THR_MAX>) MPC_THR_MAX,
(ParamFloat<px4::params::MPC_THR_HOVER>) MPC_THR_HOVER,
(ParamFloat<px4::params::MPC_THR_MIN>) MPC_THR_MIN,
(ParamFloat<px4::params::MPC_MANTHR_MIN>) MPC_MANTHR_MIN,
(ParamFloat<px4::params::MPC_XY_VEL_MAX>) MPC_XY_VEL_MAX,
(ParamFloat<px4::params::MPC_Z_VEL_MAX_DN>) MPC_Z_VEL_MAX_DN,
(ParamFloat<px4::params::MPC_Z_VEL_MAX_UP>) MPC_Z_VEL_MAX_UP,
(ParamFloat<px4::params::MPC_TILTMAX_AIR>)
MPC_TILTMAX_AIR_rad, // maximum tilt for any position controlled mode in radians
(ParamFloat<px4::params::MPC_MAN_TILT_MAX>) MPC_MAN_TILT_MAX_rad, // maximum til for stabilized/altitude mode in radians
(ParamFloat<px4::params::MPC_Z_P>) MPC_Z_P,
(ParamFloat<px4::params::MPC_Z_VEL_P>) MPC_Z_VEL_P,
(ParamFloat<px4::params::MPC_Z_VEL_I>) MPC_Z_VEL_I,
(ParamFloat<px4::params::MPC_Z_VEL_D>) MPC_Z_VEL_D,
(ParamFloat<px4::params::MPC_XY_P>) MPC_XY_P,
(ParamFloat<px4::params::MPC_XY_VEL_P>) MPC_XY_VEL_P,
(ParamFloat<px4::params::MPC_XY_VEL_I>) MPC_XY_VEL_I,
(ParamFloat<px4::params::MPC_XY_VEL_D>) MPC_XY_VEL_D
)
};
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment