Skip to content

Commit

Permalink
vtol: do not control deceleration during backtransition manual, acro …
Browse files Browse the repository at this point in the history
…or stabilized

Signed-off-by: RomanBapst <bapstroman@gmail.com>
  • Loading branch information
RomanBapst authored and LorenzMeier committed Apr 14, 2020
1 parent 588195f commit 338dd45
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 4 deletions.
6 changes: 4 additions & 2 deletions src/modules/vtol_att_control/standard.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -282,8 +282,10 @@ void Standard::update_transition_state()

_v_att_sp->roll_body = _fw_virtual_att_sp->roll_body;

// control backtransition deceleration using pitch.
_v_att_sp->pitch_body = update_and_get_backtransition_pitch_sp();
if (_v_control_mode->flag_control_climb_rate_enabled) {
// control backtransition deceleration using pitch.
_v_att_sp->pitch_body = update_and_get_backtransition_pitch_sp();
}

const Quatf q_sp(Eulerf(_v_att_sp->roll_body, _v_att_sp->pitch_body, _v_att_sp->yaw_body));
q_sp.copyTo(_v_att_sp->q_d);
Expand Down
5 changes: 3 additions & 2 deletions src/modules/vtol_att_control/tiltrotor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -361,7 +361,9 @@ void Tiltrotor::update_transition_state()
_mc_yaw_weight = 1.0f;

// control backtransition deceleration using pitch.
_v_att_sp->pitch_body = update_and_get_backtransition_pitch_sp();
if (_v_control_mode->flag_control_climb_rate_enabled) {
_v_att_sp->pitch_body = update_and_get_backtransition_pitch_sp();
}

// while we quickly rotate back the motors keep throttle at idle
if (time_since_trans_start < 1.0f) {
Expand All @@ -380,7 +382,6 @@ void Tiltrotor::update_transition_state()
const Quatf q_sp(Eulerf(_v_att_sp->roll_body, _v_att_sp->pitch_body, _v_att_sp->yaw_body));
q_sp.copyTo(_v_att_sp->q_d);


_mc_roll_weight = math::constrain(_mc_roll_weight, 0.0f, 1.0f);
_mc_yaw_weight = math::constrain(_mc_yaw_weight, 0.0f, 1.0f);
_mc_throttle_weight = math::constrain(_mc_throttle_weight, 0.0f, 1.0f);
Expand Down

0 comments on commit 338dd45

Please sign in to comment.