Skip to content

Commit

Permalink
FLightTaskAuto: limit nudging speed based on distance sensor
Browse files Browse the repository at this point in the history
  • Loading branch information
MaEtUgR committed Feb 7, 2024
1 parent 584d8ab commit 97cb933
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions src/modules/flight_mode_manager/tasks/Auto/FlightTaskAuto.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -281,6 +281,12 @@ void FlightTaskAuto::_prepareLandSetpoints()
sticks_xy.setZero();
}

// If ground distance estimate valid (distance sensor) during nudging then limit horizontal speed
if (PX4_ISFINITE(_dist_to_bottom)) {
// Below 50cm no horizontal speed, above allow per meter altitude 0.5m/s speed
max_speed = math::max(0.f, math::min(max_speed, (_dist_to_bottom - .5f) * .5f));
}

_stick_acceleration_xy.setVelocityConstraint(max_speed);
_stick_acceleration_xy.generateSetpoints(sticks_xy, _yaw, _land_heading, _position,
_velocity_setpoint_feedback.xy(), _deltatime);
Expand Down

0 comments on commit 97cb933

Please sign in to comment.