GeofenceBreachAvoidance: improve behavior when using max dist to home option

- ensure that the vehicle is loitering with sufficient clearance to the boundary

Signed-off-by: Julian Kent <julian@auterion.com>
This commit is contained in:
RomanBapst
2021-01-13 10:26:10 +01:00
committed by Julian Kent
parent a5dfa0c803
commit 3fa15cec91
4 changed files with 58 additions and 35 deletions
+7 -1
View File
@@ -512,10 +512,16 @@ Navigator::run()
}
}
_gf_breach_avoidance.setTestPointDistance(test_point_distance);
_gf_breach_avoidance.setHorizontalTestPointDistance(test_point_distance);
_gf_breach_avoidance.setVerticalTestPointDistance(vertical_test_point_distance);
_gf_breach_avoidance.setTestPointBearing(test_point_bearing);
_gf_breach_avoidance.setCurrentPosition(_global_pos.lat, _global_pos.lon, _global_pos.alt);
_gf_breach_avoidance.setMaxHorDistHome(_geofence.getMaxHorDistanceHome());
_gf_breach_avoidance.setMaxVerDistHome(_geofence.getMaxVerDistanceHome());
if (home_position_valid()) {
_gf_breach_avoidance.setHomePosition(_home_pos.lat, _home_pos.lon, _home_pos.alt);
}
fence_violation_test_point = _gf_breach_avoidance.getFenceViolationTestPoint();