4. 任务规划器入门:Mission Planner界面布局、地图操作基础、航点添加与编辑、任务文件(.mission)结构
好,咱们正式开始动手了。这一章我带你认识ArduPilot最常用的地面站——Mission Planner。说白了,它就是你和无人机之间的“翻译官”。你告诉它你想让飞机怎么飞,它帮你编译成飞控能懂的指令。
我第一次用Mission Planner的时候,说实话,被满屏的按钮吓了一跳。但别慌,核心功能其实就那么几块。咱们一个一个拆开看。
4.1 Mission Planner界面布局:别被按钮吓到
打开Mission Planner,默认连上飞控后,你会看到这样一个界面。我习惯把它分成四个区域:
| 区域 | 位置 | 核心作用 |
|---|---|---|
| 菜单栏 & 工具栏 | 顶部 | 切换飞行数据、飞行计划、初始设置、配置/调试等核心模块 |
| 地图区 | 中央(最大面积) | 显示飞机位置、航点、地理围栏、实时轨迹 |
| 状态/数据面板 | 左侧或右侧 | 显示GPS状态、电池电压、高度、空速、飞行模式等实时数据 |
| 操作/动作面板 | 底部或浮动 | 连接/断开、解锁/上锁、加载/保存任务、执行动作(如“航拍”) |
我的习惯: 我会把左侧面板收起来,只留地图和底部状态栏。这样地图视野更大,规划航线时不容易看花眼。需要看详细数据时,鼠标悬停到对应图标上就行。
4.2 地图操作基础:平移、缩放、测距
地图操作是基本功。你想想看,如果连地图都玩不转,航点规划就是纸上谈兵。
- 平移地图: 按住鼠标左键拖动。或者用键盘的WASD键,我个人觉得键盘更精准。
- 缩放地图: 滚动鼠标滚轮。或者双击地图上的某个点,它会以那个点为中心放大。
- 测距: 按住
Shift键,然后在地图上点击起点和终点,Mission Planner会自动显示直线距离。这个功能我经常用来估算航线总长。
注意: 地图默认是“北向上”模式。如果你习惯“航向向上”,可以在右上角的地图设置里切换。但做航点规划时,我强烈建议用“北向上”,否则你很容易搞混航点的绝对方向。
4.3 航点添加与编辑:从零画一条航线
好,重头戏来了。咱们来添加第一个航点。
- 切换到“飞行计划”页面: 点击顶部菜单栏的“飞行计划”标签。
- 添加航点: 在地图上你想让飞机到达的位置,右键点击,选择“添加航点”。
- 设置动作: 默认动作是“导航”(NAV_WAYPOINT)。你可以改成“悬停”(LOITER_TIME)、“降落”(LAND)等。
- 调整参数: 在右侧的航点列表里,可以修改每个航点的经纬度、高度、停留时间、转弯半径等。
举个例子,一个简单的“起飞-绕圈-降落”任务,航点列表大概长这样:
QGC WPL 110
0 1 0 16 0 0 0 0 0.000000 0.000000 0.000000 1
1 0 3 22 0.000000 0.000000 0.000000 0 0.000000 0.000000 0.000000 1
2 0 3 16 0.000000 0.000000 0.000000 0 47.123456 8.654321 50.000000 1
3 0 3 16 0.000000 0.000000 0.000000 0 47.123789 8.654987 50.000000 1
4 0 3 21 0.000000 0.000000 0.000000 0 0.000000 0.000000 0.000000 1
嗯,这里要注意,第0行是文件头,不用管。第1行是“起飞”指令(MAV_CMD_NAV_TAKEOFF)。第2、3行是导航航点。第4行是“降落”指令(MAV_CMD_NAV_LAND)。
核心技巧: 编辑航点时,按住
Ctrl 键可以多选,然后批量修改高度或动作。我曾经在做一个测绘项目时,需要把50个航点的高度统一从100米改成120米,用这个功能10秒就搞定了。
4.4 任务文件(.mission)结构:看懂飞控的“剧本”
任务文件,说白了就是飞控的“剧本”。它告诉飞控每一步该干什么。这个文件是纯文本格式,你可以用记事本打开。
它的结构非常清晰,每一行代表一个“指令”。我拆解给你看:
QGC WPL 110
<序号> <当前航点> <坐标系> <指令ID> <参数1> <参数2> <参数3> <参数4> <纬度> <经度> <高度> <是否自动继续>
咱们拿一个实际的航点来解析:
2 0 3 16 0.000000 0.000000 0.000000 0 47.123456 8.654321 50.000000 1
| 字段 | 值 | 含义 |
|---|---|---|
| 序号 | 2 | 这是第3个指令(从0开始计数) |
| 当前航点 | 0 | 通常为0,表示顺序执行 |
| 坐标系 | 3 | 3代表绝对坐标系(经纬度+海拔),0代表相对坐标系 |
| 指令ID | 16 | 16代表“导航至航点”(MAV_CMD_NAV_WAYPOINT) |
| 参数1-4 | 0.000000 | 停留时间、转弯半径等,具体含义取决于指令ID |
| 纬度 | 47.123456 | 目标点纬度 |
| 经度 | 8.654321 | 目标点经度 |
| 高度 | 50.000000 | 目标点高度(单位:米) |
| 自动继续 | 1 | 1表示执行完这个指令后自动执行下一个 |
避坑指南: 我曾经遇到过一个问题,任务上传后飞机不执行。后来发现是“坐标系”字段写错了。如果你用的是相对高度(比如离起飞点50米),坐标系应该是0;如果你用的是绝对海拔高度,坐标系应该是3。搞混了,飞控就会飞到莫名其妙的地方去。
为了让你更直观地理解整个任务规划的逻辑,我画了一张流程图:
这张图把咱们刚才讲的内容串起来了。从启动软件到最终写入飞控,每一步都离不开对界面和文件结构的理解。
一个小技巧: 如果你不想从头画航线,可以找一个现成的 .mission 文件,用记事本打开,把里面的经纬度替换成你自己的。但一定要检查“坐标系”和“高度”字段,否则容易出问题。