任务模式
任务模式使飞机执行已上载到飞行控制器的预定义的自主任务(飞行计划)。 通常使用地面控制站(GCS)应用程序(如QGroundControl(QGC))创建和上载任务。
Note This mode requires 3d position information (e.g. GPS). The vehicle must be armed before this mode can be engaged. This mode is automatic - no user intervention is required to control the vehicle. RC control switches can be used to change flight modes on any vehicle. RC stick movement will by default change the vehicle to Position mode when flying as a multicopter unless handling a critical battery failsafe (stick movement is ignored for fixed-wing flight).
参数描述
通常在地面控制站(例如,QGroundControl)中创建任务并在发射之前上载。 它们也可以由开发者API创建,和/或在飞行中上传。
以适合于每个飞机飞行特性的方式处理单独的任务命令(例如,留待指令对于旋翼机是悬停,对于固定翼是转圈)。 VTOL飞机在固定翼模式下遵循固定翼的行为和参数,在多旋翼模式下遵循旋翼机的行为和参数。
任务被上传到需要在启动自动驾驶仪之前插入的SD卡上。
在高级别,所有飞机类型在使用MISSION模式时表现相同:
如果任务被存储并且PX4正在飞行,则它将从当前步骤执行任务/飞行计划</ 0>。
- 如果存储了任务, 并且PX4着陆:
- 在旋翼机上PX4 将执行任务/飞行计划. 如果任务没有
TAKEOFF
命令,则在从当前步骤执行飞行计划的剩余部分之前,PX4将使飞机飞行到最小高度。 - 在固定翼飞行器上,PX4不会自动起飞(自动驾驶仪将检测运动并将油门设置为零)。 如果在任务模式下手动或弹射发射,飞机可以开始执行任务。
- 在旋翼机上PX4 将执行任务/飞行计划. 如果任务没有
- 如果没有存储任务,或者PX4已完成所有任务命令:
- 如果正在飞行,飞机将会留待。
- 如果已着陆,飞机将“等待”。
- 您可以通过在QGroundControl中选择它来手动更改当前任务命令。 注如果在任务中有跳转到项目命令,则移动到另一个项目将不重置循环计数器。 也就意味着,如果将当前任务命令更改为1,则不会“完全重启”任务。
- 该任务仅在飞机锁定或上传新任务时重置。 要在飞机着陆后自动锁定,请在QGroundControl中转到飞机设置>安全,导航至着陆模式设置并选中标有之后锁定的框。 在锁定飞机之前输入着陆后等待的时间。
可以通过激活HOLD模式暂停任务。 当您重新激活MISSION飞行模式时,任务将从当前任务命令继续。 在任务模式下飞行时,如果您决定停止任务并切换到任何其他模式,例如位置模式,用遥控器将飞机转移到其他地方,然后切换回任务模式,飞机将从当前位置继续执行任务,并将飞往尚未访问的下一个任务点。
警告在切换到任何RC模式之前确保油门不为零(否则飞机会坠毁)。我们建议您在切换到任何其他模式之前将控制杆回中。
有关任务规划的更多信息,请参阅:
QGroundControl支持
QGroundControl提供额外的GCS级任务处理支持(除了飞行控制器提供的支持)。 有关详细信息,请参阅︰
任务参数
任务行为受许多参数的影响。 这些内容涵盖了,例如,在任务期间( NAV_RCL_ACT </ 0>)失去与遥控器的连接时飞机的行为方式,固定翼留待半径( NAV_LOITER_RAD </ 1>),到达航路点的接收半径等。
这些记录在此处:参数参考>任务
支持的任务命令 {#mission_commands}
PX4在任务模式下“接受”以下MAVLink任务命令(注意:下面列出的警告)。 Unless otherwise noted, the implementation is as defined in the MAVLink specification.
- MAV_CMD_NAV_WAYPOINT
- 参数3(飞越)被忽略。 如果参数1(time_inside)> 0,则始终启用飞越。
- MAV_CMD_NAV_LOITER_UNLIM
- MAV_CMD_NAV_LOITER_TIME
- MAV_CMD_NAV_LAND
- MAV_CMD_NAV_TAKEOFF
- MAV_CMD_NAV_LOITER_TO_ALT
- MAV_CMD_NAV_ROI
- MAV_CMD_DO_SET_ROI
- MAV_CMD_DO_SET_ROI_LOCATION
- MAV_CMD_NAV_VTOL_TAKEOFF
- MAV_CMD_NAV_VTOL_LAND
- MAV_CMD_NAV_FENCE_RETURN_POINT
- MAV_CMD_NAV_FENCE_POLYGON_VERTEX_INCLUSION
- MAV_CMD_NAV_FENCE_POLYGON_VERTEX_EXCLUSION
- MAV_CMD_NAV_FENCE_CIRCLE_INCLUSION
- MAV_CMD_NAV_FENCE_CIRCLE_EXCLUSION
- MAV_CMD_NAV_RALLY_POINT
- MAV_CMD_DO_JUMP
- MAV_CMD_NAV_ROI
- MAV_CMD_DO_SET_ROI
- MAV_CMD_DO_CHANGE_SPEED
- MAV_CMD_DO_SET_HOME
- MAV_CMD_DO_SET_SERVO
- MAV_CMD_DO_LAND_START
- MAV_CMD_DO_TRIGGER_CONTROL
- MAV_CMD_DO_DIGICAM_CONTROL
- MAV_CMD_DO_MOUNT_CONFIGURE
- MAV_CMD_DO_MOUNT_CONTROL
- MAV_CMD_IMAGE_START_CAPTURE
- MAV_CMD_IMAGE_STOP_CAPTURE
- MAV_CMD_VIDEO_START_CAPTURE
- MAV_CMD_VIDEO_STOP_CAPTURE
- MAV_CMD_DO_SET_CAM_TRIGG_DIST
- MAV_CMD_DO_SET_CAM_TRIGG_INTERVAL
- MAV_CMD_SET_CAMERA_MODE
- MAV_CMD_DO_VTOL_TRANSITION
- MAV_CMD_NAV_DELAY
- MAV_CMD_NAV_RETURN_TO_LAUNCH
- MAV_CMD_DO_SET_ROI_WPNEXT_OFFSET
- MAV_CMD_DO_SET_ROI_NONE
注:
PX4解析上述消息,但它们不是必须*操作</ 0>。 例如,某些消息是特定于飞机类型的。
- 对于任务命令,PX4通常不支持本地坐标系(例如,MAV_FRAME_LOCAL_NED)。
- 并非所有消息/命令都通过QGroundControl公开。
The list may become out of date as messages are added. 您可以通过检查代码来检查当前设置。 在/src/modules/mavlink/mavlink_mission.cpp中支持
MavlinkMissionManager:: parse_mavlink_mission_item
(在此git变更列表中生成的列表)。如果您发现丢失/不正确的消息,请添加错误修复或PR。