Skip to content

Commit

Permalink
VTOL type and tiltrotor: use math::constrain() for constraining
Browse files Browse the repository at this point in the history
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
  • Loading branch information
sfuhrer committed Feb 7, 2020
1 parent 9da8025 commit ce2a691
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 5 deletions.
4 changes: 1 addition & 3 deletions src/modules/vtol_att_control/tiltrotor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -397,9 +397,7 @@ float Tiltrotor::thrust_compensation_for_tilt()
{

// only compensate for tilt angle up to 0.5 * max tilt
float compensated_tilt = _tilt_control;
compensated_tilt = compensated_tilt < 0.0f ? 0.0f : compensated_tilt;
compensated_tilt = compensated_tilt > 0.5f ? 0.5f : compensated_tilt;
float compensated_tilt = math::constrain(_tilt_control, 0.0f, 0.5f);

// increase vertical thrust by 1/cos(tilt), limmit to [0,1]
return math::constrain(_v_att_sp->thrust_body[2] / cosf(compensated_tilt * M_PI_2_F), 0.0f, 1.0f);
Expand Down
3 changes: 1 addition & 2 deletions src/modules/vtol_att_control/vtol_type.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -434,8 +434,7 @@ float VtolType::pusher_assist()

forward_thrust = (sinf(-pitch_down) - sinf(_params->down_pitch_max)) * _params->forward_thrust_scale;
// limit forward actuation to [0, 0.9]
forward_thrust = forward_thrust < 0.0f ? 0.0f : forward_thrust;
forward_thrust = forward_thrust > 0.9f ? 0.9f : forward_thrust;
forward_thrust = math::constrain(forward_thrust, 0.0f, 0.9f);

// return the vehicle to level position
float pitch_new = 0.0f;
Expand Down

0 comments on commit ce2a691

Please sign in to comment.