diff --git a/src/modules/flight_mode_manager/tasks/Orbit/FlightTaskOrbit.cpp b/src/modules/flight_mode_manager/tasks/Orbit/FlightTaskOrbit.cpp index e038605158..04d6666ee3 100644 --- a/src/modules/flight_mode_manager/tasks/Orbit/FlightTaskOrbit.cpp +++ b/src/modules/flight_mode_manager/tasks/Orbit/FlightTaskOrbit.cpp @@ -69,10 +69,16 @@ bool FlightTaskOrbit::applyCommandParameters(const vehicle_command_s &command) } float new_velocity = signFromBool(new_is_clockwise) * new_absolute_velocity; - _started_clockwise = new_is_clockwise; - _sanitizeParams(new_radius, new_velocity); - _orbit_radius = new_radius; - _orbit_velocity = new_velocity; + + if (math::isInRange(new_radius, _radius_min, _radius_max)) { + _started_clockwise = new_is_clockwise; + _sanitizeParams(new_radius, new_velocity); + _orbit_radius = new_radius; + _orbit_velocity = new_velocity; + + } else { + ret = false; + } // commanded heading behaviour if (PX4_ISFINITE(command.param3)) {