4、航点类型详解:普通航点、起飞航点、降落航点、悬停航点、ROI(感兴趣区域)航点

航线设计这件事,说白了就是告诉飞机「去哪、干啥、怎么干」。而航点,就是这些指令的最小单元。

我见过不少新手,一上来就把所有航点都设成「普通航点」,结果飞机到了目标点就傻站着,该拍的没拍到,该降的降不准。嗯,今天我们就把这五种航点掰开揉碎了讲清楚。

核心认知: 每种航点类型,本质上是一组预定义的飞行行为 + 参数集合。选对类型,比调对参数更重要。
PX4 航点类型体系 航点类型 普通航点 起飞航点 降落航点 悬停航点 ROI 航点 关键区别: • 普通航点:飞过即走,不做特殊动作 • 起飞/降落航点:触发完整的起降流程 • 悬停航点:到达后悬停等待 • ROI 航点:锁定目标方向,云台自动对准

4.1 普通航点(Waypoint)

这是最基础的航点类型。飞机飞到指定经纬度、高度后,不做停留,直接飞向下一个点。

你想想看,做测绘航线的时候,几百个点全是普通航点。飞机像「串糖葫芦」一样,一个接一个地过。

我的习惯: 普通航点只用于「路过」场景。如果需要飞机在某个点做动作,我会换成其他类型。

参数配置很简单:

# QGC 中普通航点的核心参数
lat = 39.123456    # 纬度
lon = 116.654321   # 经度
alt = 50.0         # 海拔高度(米)
hold_time = 0      # 停留时间(秒),0 表示不停留
accept_radius = 2.0  # 到达判定半径(米)

这里有个坑——accept_radius。我曾经在密集城区做巡检,设了 5 米的到达半径,结果飞机在楼宇间来回修正航线,差点撞楼。后来我改成 2 米,航线就顺多了。

4.2 起飞航点(Takeoff)

起飞航点不是「从地面起飞的点」,而是「飞机起飞后要去的第一个目标点」。

说白了,它的逻辑是:飞机原地解锁、垂直上升到安全高度,然后平飞到该点。

参数 说明 我常用的值
高度 起飞后的目标高度 10~30 米(视周边障碍物)
位置 平飞过去的目标点 通常设在起飞点正上方或附近
油门行为 自动控制,无需设置 —
注意: 起飞航点必须放在航线第一条。我曾经见过有人把起飞航点放在中间,结果飞机飞到一半突然触发起飞流程,直接原地爬升——嗯,那次差点炸机。

我个人习惯在起飞航点上方再加一个悬停航点,让飞机先稳定一下,再进入任务航线。尤其是大风天,这个「缓冲」很有用。

4.3 降落航点(Land)

降落航点告诉飞机:到这里,开始降落。

飞机到达该点后,会执行完整的降落流程:减速、下降、触地检测、螺旋桨停转。

参数上,降落航点只需要经纬度和高度。但高度这个参数有点特殊——

# 降落航点的高度含义
alt = 0    # 表示降落到地面(推荐)
alt > 0    # 表示降落到该高度后悬停(特殊场景用)

我记得有一次做精准降落测试,把降落航点高度设成了 5 米,结果飞机降到 5 米就悬停了,死活不下去。后来查文档才发现,降落航点的高度 > 0 时,飞机会把它当成「悬停指令」处理。

避坑指南: 降落航点的高度永远设 0。如果你想让飞机在某个高度悬停再降落,用两个航点——先悬停航点,再降落航点。

4.4 悬停航点(Loiter)

悬停航点,顾名思义:到了这个点,停下来等。

什么时候用?我总结三个场景:

  • 等待指令: 比如等待飞手切换模式、等待机载电脑处理数据
  • 定点观测: 对某个目标持续拍摄
  • 航线缓冲: 在复杂动作之间加一个悬停点,让飞机稳定姿态

悬停航点的核心参数是 停留时间:

# 悬停航点示例
hold_time = 30    # 悬停 30 秒
loiter_radius = 5 # 悬停时的位置保持半径(米)

这里有个细节——loiter_radius。GPS 信号不好时,飞机可能会在这个半径内漂移。我一般在城市峡谷中设 3 米,开阔地带设 5 米。

经验之谈: 悬停航点不要设太久。我见过有人设 600 秒(10 分钟),结果电池耗尽,飞机在空中触发低电量保护,直接原地降落——下面是条河。

4.5 ROI 航点(感兴趣区域)

ROI 航点,全称 Region of Interest。它不控制飞机的位置,只控制云台/相机的朝向。

你想想看,做电力巡检时,飞机沿着铁塔飞一圈,但相机始终对准塔顶——这就是 ROI 的典型用法。

工作原理:

  1. 飞机飞到普通航点 A
  2. ROI 航点指定目标点 B(经纬度 + 高度)
  3. 云台自动旋转,始终对准 B 点
  4. 飞机飞到下一个航点 C,云台继续对准 B

参数配置:

# ROI 航点参数
roi_lat = 39.123456    # 目标纬度
roi_lon = 116.654321   # 目标经度
roi_alt = 100.0        # 目标高度(米)
mode = "ROI"           # 航点类型标识
重要提醒: ROI 航点本身不包含位置信息,它只改变云台朝向。你必须把它和普通航点配合使用。

我曾经犯过一个错误:在一条 50 个点的航线上,只在第一个点设了 ROI。结果飞机飞到第 20 个点时,云台角度已经偏了 30 度,目标早跑出画面了。

后来我学乖了——每隔 5~8 个航点,重新设置一次 ROI。这样云台会持续修正角度,目标始终在画面中央。

4.6 五种航点对比一览

类型 控制对象 是否停留 典型用途 常见坑点
普通航点 位置 否 测绘航线、巡检路径 accept_radius 设太大导致绕路
起飞航点 位置 + 高度 否(自动过渡) 任务起始 放在非首位会触发异常
降落航点 位置 是(降落后停) 任务结束 高度设 > 0 会变悬停
悬停航点 位置 是(定时) 等待、观测、缓冲 停留时间过长导致低电量
ROI 航点 云台朝向 否 目标跟踪、定点拍摄 需周期性重置,否则角度偏移
我的设计原则: 一条好航线,五种航点各司其职。起飞航点管开始,普通航点管路径,悬停航点管等待,ROI 管拍摄,降落航点管收尾。别想着用一个类型包打天下。

嗯,航点类型就讲到这里。这些内容看着简单,但实际飞起来,每个类型都有它的脾气。你多飞几次,自然就摸透了。