diff --git a/src/modules/navigator/mission_block.cpp b/src/modules/navigator/mission_block.cpp index 6a4d381027..789945e4ac 100644 --- a/src/modules/navigator/mission_block.cpp +++ b/src/modules/navigator/mission_block.cpp @@ -354,14 +354,17 @@ MissionBlock::set_takeoff_item(struct mission_item_s *item, float min_clearance, if (min_clearance > 0.0f) { item->altitude += min_clearance; + + /* we must takeoff to a point further above ground than the acceptance radius */ + if (_navigator->get_acceptance_radius() > min_clearance) { + item->altitude += _navigator->get_acceptance_radius(); + } } item->altitude_is_relative = false; item->yaw = NAN; item->loiter_radius = _navigator->get_loiter_radius(); item->loiter_direction = 1; - item->acceptance_radius = (_navigator->get_acceptance_radius() > min_clearance / 2.0f) ? - (min_clearance / 2) : _navigator->get_acceptance_radius(); item->time_inside = 0.0f; item->pitch_min = min_pitch; item->autocontinue = false;