任务规划
任务规划是 Mission Planner 的核心功能,允许用户创建、编辑和管理基于 ArduPilot 的飞行器的自主飞行任务。本页介绍任务规划系统及其组件,以及如何使用它来创建和管理基于航点的自主飞行任务。
任务规划系统概述
Mission Planner 中的任务规划系统负责创建和编辑由航点和指令组成的飞行任务。它提供了一个可视化界面,用于在地图上放置航点、配置航点参数以及将这些指令上传到飞行器。
核心组件
任务规划系统由以下关键组件组成:
FlightPlanner 类
该类FlightPlanner
是任务规划系统的主要组成部分。它提供:
- 用于可视化和创建航点的地图界面
- 用于查看和编辑航点参数的数据网格
- 向车辆上传和下载任务的功能
- 管理地理围栏和集结点的工具
- 保存和加载任务的文件操作
地图交互系统
地图交互系统允许用户:
- 通过点击地图添加航点
- 将航点拖到新位置
- 查看航点之间的飞行路径
- 与地理围栏和集结点互动
任务数据结构
Mission Planner 中的任务由一系列带有参数的命令组成。每个命令都有特定的类型和一组控制其行为的参数。
指挥结构
每个任务物品包含:
场地 | 描述 |
---|---|
命令 | MAVLink 命令类型(例如 WAYPOINT、TAKEOFF、LAND) |
P1-P4 | 命令特定参数 |
纬度 | 纬度坐标(如适用) |
液化天然气 | 经度坐标(如适用) |
Alt | 高度值(相对或绝对) |
框架 | 坐标框架参考(例如相对、绝对、地形) |
海拔模式
Mission Planner 支持不同的高度参考模式:
模式 | 描述 | MAVLink 框架 |
---|---|---|
相对的 | 相对于原点的高度 | MAV_FRAME.GLOBAL_RELATIVE_ALT |
绝对 | 绝对高度(高于平均海平面) | MAV_FRAME.GLOBAL |
地形 | 相对于地形的高度 | MAV_FRAME.GLOBAL_TERRAIN_ALT |
任务创建工作流程
创建任务的典型工作流程包括:
关键类别和技术细节
任务规划系统围绕几个关键类别构建:
FlightPlanner
- 主用户界面和控制逻辑GMapControl
- 地图显示与交互PointLatLngAlt
- 增强了高度坐标类MAVLinkInterface
- 与车辆的通信Grid
- 网格/调查模式生成逻辑
主要技术特点包括:
- 支持多个 MAVLink 协议版本
- 各种坐标变换和投影
- 具有缓存功能的多个地图提供商
- 地形高程数据集成
- 支持不同的任务物品框架和命令