mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-24 13:33:33 +08:00
fixing takeoff mission and swtiching to previous flight mode after land/takeoff
This commit is contained in:
committed by
Lorenz Meier
parent
64349c7a09
commit
f17c5d8d55
@@ -119,8 +119,16 @@ MissionBlock::is_mission_item_reached()
|
||||
|
||||
if (_mission_item.nav_cmd == NAV_CMD_TAKEOFF && _navigator->get_vstatus()->is_rotary_wing) {
|
||||
/* require only altitude for takeoff for multicopter */
|
||||
|
||||
/* _mission_item.acceptance_radius is not always set */
|
||||
float mission_acceptance_radius = _mission_item.acceptance_radius;
|
||||
/* if set to zero use the default instead */
|
||||
if (mission_acceptance_radius < NAV_EPSILON_POSITION) {
|
||||
mission_acceptance_radius = _navigator->get_acceptance_radius();
|
||||
}
|
||||
|
||||
if (_navigator->get_global_position()->alt >
|
||||
altitude_amsl - _navigator->get_acceptance_radius()) {
|
||||
altitude_amsl - mission_acceptance_radius) {
|
||||
_waypoint_position_reached = true;
|
||||
}
|
||||
} else if (_mission_item.nav_cmd == NAV_CMD_TAKEOFF) {
|
||||
@@ -301,7 +309,7 @@ MissionBlock::set_loiter_item(struct mission_item_s *item, float min_clearance)
|
||||
void
|
||||
MissionBlock::set_takeoff_item(struct mission_item_s *item, float min_clearance, float min_pitch)
|
||||
{
|
||||
item->nav_cmd = NAV_CMD_LOITER_UNLIMITED;
|
||||
item->nav_cmd = NAV_CMD_TAKEOFF;
|
||||
|
||||
/* use current position and use return altitude as clearance */
|
||||
item->lat = _navigator->get_global_position()->lat;
|
||||
|
||||
Reference in New Issue
Block a user