|
|
|
@ -224,7 +224,10 @@ MissionBlock::is_mission_item_reached()
@@ -224,7 +224,10 @@ MissionBlock::is_mission_item_reached()
|
|
|
|
|
* Therefore the item is marked as reached once the system reaches the loiter |
|
|
|
|
* radius (+ some margin). Time inside and turn count is handled elsewhere. |
|
|
|
|
*/ |
|
|
|
|
if (dist >= 0.0f && dist <= _navigator->get_acceptance_radius(fabsf(_mission_item.loiter_radius) * 1.2f) |
|
|
|
|
float radius = (fabsf(_mission_item.loiter_radius) > NAV_EPSILON_POSITION) ? fabsf(_mission_item.loiter_radius) : |
|
|
|
|
_navigator->get_loiter_radius(); |
|
|
|
|
|
|
|
|
|
if (dist >= 0.0f && dist <= _navigator->get_acceptance_radius(fabsf(radius) * 1.2f) |
|
|
|
|
&& dist_z <= _navigator->get_altitude_acceptance_radius()) { |
|
|
|
|
|
|
|
|
|
_waypoint_position_reached = true; |
|
|
|
|