diff --git a/src/modules/mc_pos_control/mc_pos_control_main.cpp b/src/modules/mc_pos_control/mc_pos_control_main.cpp index bdf32ba58b..636278484d 100644 --- a/src/modules/mc_pos_control/mc_pos_control_main.cpp +++ b/src/modules/mc_pos_control/mc_pos_control_main.cpp @@ -805,7 +805,11 @@ MulticopterPositionControl::scale_control(float ctl, float end, float dz, float return -dy + (ctl + dz) * (1.0f - dy) / (end - dz); } else { - return ctl * (dy / dz); + if (dz < FLT_EPSILON) { + return 0; + } else { + return ctl * (dy / dz); + } } }