mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-28 23:03:35 +08:00
@@ -41,6 +41,7 @@ then
|
|||||||
param set PE_POSNE_NOISE 0.5
|
param set PE_POSNE_NOISE 0.5
|
||||||
param set PE_POSD_NOISE 1.0
|
param set PE_POSD_NOISE 1.0
|
||||||
|
|
||||||
|
param set NAV_ACCEPT_RAD 2.0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
set PWM_RATE 400
|
set PWM_RATE 400
|
||||||
|
|||||||
@@ -1477,27 +1477,27 @@ Navigator::check_mission_item_reached()
|
|||||||
acceptance_radius = _parameters.acceptance_radius;
|
acceptance_radius = _parameters.acceptance_radius;
|
||||||
}
|
}
|
||||||
|
|
||||||
float dist = -1.0f;
|
|
||||||
float dist_xy = -1.0f;
|
|
||||||
float dist_z = -1.0f;
|
|
||||||
|
|
||||||
/* calculate AMSL altitude for this waypoint */
|
|
||||||
float wp_alt_amsl = _mission_item.altitude;
|
|
||||||
|
|
||||||
if (_mission_item.altitude_is_relative)
|
|
||||||
wp_alt_amsl += _home_pos.alt;
|
|
||||||
|
|
||||||
dist = get_distance_to_point_global_wgs84(_mission_item.lat, _mission_item.lon, wp_alt_amsl,
|
|
||||||
(double)_global_pos.lat, (double)_global_pos.lon, _global_pos.alt,
|
|
||||||
&dist_xy, &dist_z);
|
|
||||||
|
|
||||||
if (_do_takeoff) {
|
if (_do_takeoff) {
|
||||||
if (_global_pos.alt > wp_alt_amsl - acceptance_radius) {
|
/* require only altitude for takeoff */
|
||||||
/* require only altitude for takeoff */
|
if (_global_pos.alt > _pos_sp_triplet.current.alt - acceptance_radius) {
|
||||||
_waypoint_position_reached = true;
|
_waypoint_position_reached = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
float dist = -1.0f;
|
||||||
|
float dist_xy = -1.0f;
|
||||||
|
float dist_z = -1.0f;
|
||||||
|
|
||||||
|
/* calculate AMSL altitude for this waypoint */
|
||||||
|
float wp_alt_amsl = _mission_item.altitude;
|
||||||
|
|
||||||
|
if (_mission_item.altitude_is_relative)
|
||||||
|
wp_alt_amsl += _home_pos.alt;
|
||||||
|
|
||||||
|
dist = get_distance_to_point_global_wgs84(_mission_item.lat, _mission_item.lon, wp_alt_amsl,
|
||||||
|
(double)_global_pos.lat, (double)_global_pos.lon, _global_pos.alt,
|
||||||
|
&dist_xy, &dist_z);
|
||||||
|
|
||||||
if (dist >= 0.0f && dist <= acceptance_radius) {
|
if (dist >= 0.0f && dist <= acceptance_radius) {
|
||||||
_waypoint_position_reached = true;
|
_waypoint_position_reached = true;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user