From f99471f34ce4fe4c6b6b549522dec2c4bc78104a Mon Sep 17 00:00:00 2001 From: Matthias Grob <maetugr@gmail.com> Date: Tue, 6 Mar 2018 18:57:09 +0000 Subject: [PATCH] PositionControl: refactor remove Data define for Vector This define results in super unreadable code. --- .../mc_pos_control/PositionControl.cpp | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/src/modules/mc_pos_control/PositionControl.cpp b/src/modules/mc_pos_control/PositionControl.cpp index 781fc9e189..0b5d4e6294 100644 --- a/src/modules/mc_pos_control/PositionControl.cpp +++ b/src/modules/mc_pos_control/PositionControl.cpp @@ -50,8 +50,6 @@ using namespace matrix; -using Data = matrix::Vector3f; - PositionControl::PositionControl() { _Pz_h = param_find("MPC_Z_P"); @@ -73,20 +71,20 @@ PositionControl::PositionControl() _setParams(); }; -void PositionControl::updateState(const struct vehicle_local_position_s state, const Data &vel_dot) +void PositionControl::updateState(const struct vehicle_local_position_s state, const Vector3f &vel_dot) { - _pos = Data(&state.x); - _vel = Data(&state.vx); + _pos = Vector3f(&state.x); + _vel = Vector3f(&state.vx); _yaw = state.yaw; _vel_dot = vel_dot; } void PositionControl::updateSetpoint(struct vehicle_local_position_setpoint_s setpoint) { - _pos_sp = Data(&setpoint.x); - _vel_sp = Data(&setpoint.vx); - _acc_sp = Data(&setpoint.acc_x); - _thr_sp = Data(setpoint.thrust); + _pos_sp = Vector3f(&setpoint.x); + _vel_sp = Vector3f(&setpoint.vx); + _acc_sp = Vector3f(&setpoint.acc_x); + _thr_sp = Vector3f(setpoint.thrust); _yaw_sp = setpoint.yaw; _yawspeed_sp = setpoint.yawspeed; _interfaceMapping(); @@ -204,12 +202,12 @@ void PositionControl::_velocityController(const float &dt) * */ - Data vel_err = _vel_sp - _vel; + Vector3f vel_err = _vel_sp - _vel; /* TODO: add offboard acceleration mode * PID-controller */ - Data offset(0.0f, 0.0f, _ThrHover); - Data thr_sp = Pv.emult(vel_err) + Dv.emult(_vel_dot) + _thr_int - offset; + Vector3f offset(0.0f, 0.0f, _ThrHover); + Vector3f thr_sp = Pv.emult(vel_err) + Dv.emult(_vel_dot) + _thr_int - offset; /* Get maximum tilt */ float tilt_max = PX4_ISFINITE(_constraints.tilt_max) ? _constraints.tilt_max : M_PI_2_F; -- GitLab