mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-21 18:33:33 +08:00
fw_pos_control_l1: add takeoff minimum pitch parameter
- remove mavlink mechanism for setting minimum pitch
This commit is contained in:
@@ -752,11 +752,6 @@ Mission::set_mission_items()
|
||||
_mission_item.nav_cmd = NAV_CMD_WAYPOINT;
|
||||
/* ignore yaw here, otherwise it might yaw before heading_sp_update takes over */
|
||||
_mission_item.yaw = NAN;
|
||||
/* since _mission_item.time_inside and and _mission_item.pitch_min build a union, we need to set time_inside to zero
|
||||
* since in NAV_CMD_TAKEOFF mode there is currently no time_inside.
|
||||
* Note also that resetting time_inside to zero will cause pitch_min to be zero as well.
|
||||
*/
|
||||
_mission_item.time_inside = 0.0f;
|
||||
|
||||
} else if (_mission_item.nav_cmd == NAV_CMD_VTOL_TAKEOFF
|
||||
&& _work_item_type == WORK_ITEM_TYPE_DEFAULT
|
||||
@@ -783,10 +778,6 @@ Mission::set_mission_items()
|
||||
_mission_item.nav_cmd = NAV_CMD_WAYPOINT;
|
||||
/* ignore yaw here, otherwise it might yaw before heading_sp_update takes over */
|
||||
_mission_item.yaw = NAN;
|
||||
/* since _mission_item.time_inside and and _mission_item.pitch_min build a union, we need to set time_inside to zero
|
||||
* since in NAV_CMD_TAKEOFF mode there is currently no time_inside.
|
||||
*/
|
||||
_mission_item.time_inside = 0.0f;
|
||||
}
|
||||
|
||||
/* if we just did a VTOL takeoff, prepare transition */
|
||||
@@ -1864,7 +1855,6 @@ bool Mission::position_setpoint_equal(const position_setpoint_s *p1, const posit
|
||||
(p1->yawspeed_valid == p2->yawspeed_valid) &&
|
||||
(fabsf(p1->loiter_radius - p2->loiter_radius) < FLT_EPSILON) &&
|
||||
(p1->loiter_direction == p2->loiter_direction) &&
|
||||
(fabsf(p1->pitch_min - p2->pitch_min) < FLT_EPSILON) &&
|
||||
(fabsf(p1->a_x - p2->a_x) < FLT_EPSILON) &&
|
||||
(fabsf(p1->a_y - p2->a_y) < FLT_EPSILON) &&
|
||||
(fabsf(p1->a_z - p2->a_z) < FLT_EPSILON) &&
|
||||
|
||||
@@ -582,9 +582,6 @@ MissionBlock::mission_item_to_position_setpoint(const mission_item_s &item, posi
|
||||
|
||||
} else {
|
||||
sp->type = position_setpoint_s::SETPOINT_TYPE_TAKEOFF;
|
||||
|
||||
// set pitch and ensure that the hold time is zero
|
||||
sp->pitch_min = item.pitch_min;
|
||||
}
|
||||
|
||||
break;
|
||||
@@ -667,7 +664,7 @@ MissionBlock::set_loiter_item(struct mission_item_s *item, float min_clearance)
|
||||
}
|
||||
|
||||
void
|
||||
MissionBlock::set_takeoff_item(struct mission_item_s *item, float abs_altitude, float min_pitch)
|
||||
MissionBlock::set_takeoff_item(struct mission_item_s *item, float abs_altitude)
|
||||
{
|
||||
item->nav_cmd = NAV_CMD_TAKEOFF;
|
||||
|
||||
@@ -680,7 +677,6 @@ MissionBlock::set_takeoff_item(struct mission_item_s *item, float abs_altitude,
|
||||
item->altitude_is_relative = false;
|
||||
|
||||
item->loiter_radius = _navigator->get_loiter_radius();
|
||||
item->pitch_min = min_pitch;
|
||||
item->autocontinue = false;
|
||||
item->origin = ORIGIN_ONBOARD;
|
||||
}
|
||||
|
||||
@@ -116,7 +116,7 @@ protected:
|
||||
/**
|
||||
* Set a takeoff mission item
|
||||
*/
|
||||
void set_takeoff_item(struct mission_item_s *item, float abs_altitude, float min_pitch = 0.0f);
|
||||
void set_takeoff_item(struct mission_item_s *item, float abs_altitude);
|
||||
|
||||
/**
|
||||
* Set a land mission item
|
||||
|
||||
@@ -153,7 +153,6 @@ struct mission_item_s {
|
||||
struct {
|
||||
union {
|
||||
float time_inside; /**< time that the MAV should stay inside the radius before advancing in seconds */
|
||||
float pitch_min; /**< minimal pitch angle for fixed wing takeoff waypoints */
|
||||
float circle_radius; /**< geofence circle radius in meters (only used for NAV_CMD_NAV_FENCE_CIRCLE*) */
|
||||
};
|
||||
float acceptance_radius; /**< default radius in which the mission is accepted as reached in meters */
|
||||
|
||||
Reference in New Issue
Block a user