4. 任务规划器入门:Mission Planner界面布局、地图操作基础、航点添加与编辑、任务文件(.mission)结构

好,咱们正式开始动手了。这一章我带你认识ArduPilot最常用的地面站——Mission Planner。说白了,它就是你和无人机之间的“翻译官”。你告诉它你想让飞机怎么飞,它帮你编译成飞控能懂的指令。

我第一次用Mission Planner的时候,说实话,被满屏的按钮吓了一跳。但别慌,核心功能其实就那么几块。咱们一个一个拆开看。

4.1 Mission Planner界面布局:别被按钮吓到

打开Mission Planner,默认连上飞控后,你会看到这样一个界面。我习惯把它分成四个区域:

区域 位置 核心作用
菜单栏 & 工具栏 顶部 切换飞行数据、飞行计划、初始设置、配置/调试等核心模块
地图区 中央(最大面积) 显示飞机位置、航点、地理围栏、实时轨迹
状态/数据面板 左侧或右侧 显示GPS状态、电池电压、高度、空速、飞行模式等实时数据
操作/动作面板 底部或浮动 连接/断开、解锁/上锁、加载/保存任务、执行动作(如“航拍”)
我的习惯: 我会把左侧面板收起来,只留地图和底部状态栏。这样地图视野更大,规划航线时不容易看花眼。需要看详细数据时,鼠标悬停到对应图标上就行。

4.2 地图操作基础:平移、缩放、测距

地图操作是基本功。你想想看,如果连地图都玩不转,航点规划就是纸上谈兵。

  • 平移地图: 按住鼠标左键拖动。或者用键盘的WASD键,我个人觉得键盘更精准。
  • 缩放地图: 滚动鼠标滚轮。或者双击地图上的某个点,它会以那个点为中心放大。
  • 测距: 按住 Shift 键,然后在地图上点击起点和终点,Mission Planner会自动显示直线距离。这个功能我经常用来估算航线总长。
注意: 地图默认是“北向上”模式。如果你习惯“航向向上”,可以在右上角的地图设置里切换。但做航点规划时,我强烈建议用“北向上”,否则你很容易搞混航点的绝对方向。

4.3 航点添加与编辑:从零画一条航线

好,重头戏来了。咱们来添加第一个航点。

  1. 切换到“飞行计划”页面: 点击顶部菜单栏的“飞行计划”标签。
  2. 添加航点: 在地图上你想让飞机到达的位置,右键点击,选择“添加航点”。
  3. 设置动作: 默认动作是“导航”(NAV_WAYPOINT)。你可以改成“悬停”(LOITER_TIME)、“降落”(LAND)等。
  4. 调整参数: 在右侧的航点列表里,可以修改每个航点的经纬度、高度、停留时间、转弯半径等。

举个例子,一个简单的“起飞-绕圈-降落”任务,航点列表大概长这样:

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 Planner 航点规划核心流程 Mission Planner 航点规划核心流程 启动 Mission Planner 连接飞控(USB/数传) 切换到“飞行计划”页面 在地图上右键 → 添加/编辑航点 保存为 .mission 文件 点击“写入” → 上传至飞控 关键指令ID 16 → 导航至航点 21 → 降落 22 → 起飞 183 → 图像采集

这张图把咱们刚才讲的内容串起来了。从启动软件到最终写入飞控,每一步都离不开对界面和文件结构的理解。

一个小技巧: 如果你不想从头画航线,可以找一个现成的 .mission 文件,用记事本打开,把里面的经纬度替换成你自己的。但一定要检查“坐标系”和“高度”字段,否则容易出问题。