3. 坐标系与地理基础:WGS84坐标系、经纬度、海拔高度

做航线规划,说白了就是在三维空间里给飞机画一条路。但这条路画在哪儿、怎么画,得有个统一的尺子。这把尺子,就是坐标系和地理基准。

我见过不少新手,一上来就调参数、设航点,结果飞机飞出去偏了十几米,还以为是GPS坏了。其实啊,多半是坐标系没搞明白。今天咱们就把这个基础打牢。

3.1 WGS84坐标系——全球通用的“地尺”

WGS84,全称World Geodetic System 1984。你不需要背全名,但得知道它是什么。

简单说,WGS84是一个地心坐标系。它把地球近似为一个椭球体,用数学方式描述地球表面每个点的位置。GPS卫星发下来的定位数据,用的就是WGS84。

核心要点:ArduPilot所有位置数据(航点、家点、围栏)默认都基于WGS84坐标系。你从Mission Planner或QGC里看到的经纬度,就是WGS84下的坐标。

我记得有一次在山区做测试,飞控日志里显示飞机位置和实际航线差了将近50米。排查了半天,发现是地面站软件里误设了另一个坐标系。嗯,从那以后我每次建新任务,第一件事就是确认坐标系设置。

3.2 经纬度——地球上的“网格”

经纬度是WGS84坐标系下的具体表达方式。纬度(Latitude)分南北,经度(Longitude)分东西。

概念 范围 表示方式 ArduPilot中的单位
纬度 -90° ~ +90° 北纬为正,南纬为负 度(十进制)
经度 -180° ~ +180° 东经为正,西经为负 度(十进制)

你可能会问:为什么用十进制度,而不是度分秒?

我个人习惯用十进制度,因为飞控内部计算方便。Mission Planner里虽然可以显示度分秒,但上传到飞控时都会转成十进制。你想想看,如果每次计算都要做度分秒换算,多麻烦。

实用技巧:1度纬度 ≈ 111公里。1度经度的距离随纬度变化:赤道处约111公里,北京(北纬40°)处约85公里。规划长距离航线时,这个换算很有用。

3.3 海拔高度——AMSL与相对高

高度是航线规划里最容易出问题的地方。ArduPilot里涉及两种高度基准:

  • AMSL(Above Mean Sea Level):平均海平面高度。GPS直接给出的海拔就是AMSL。
  • 相对高度(Relative Altitude):相对于起飞点的高度。飞控里常用这个来控制飞行。

为什么会这样?因为GPS测高误差大,尤其在城市或山区,AMSL可能偏差十几米。而相对高度靠气压计和超声波,短距离内更准。

重要提醒:在ArduPilot的航点命令中,Alt字段的单位是米,但具体是AMSL还是相对高度,取决于Frame参数。默认Frame=0表示相对高度,Frame=1表示AMSL。搞混了,飞机可能直接撞地。

我曾经在高原地区做过一次测绘任务。起飞点海拔3800米,航线高度设了100米(AMSL)。结果飞机一离地,气压计显示高度只有20米——因为气压计校准是在海平面做的,到了高原直接“水土不服”。后来我改用相对高度,问题就解决了。

3.4 坐标系对航线规划的实际影响

理论说完了,咱们看看实际中会遇到什么坑。

3.4.1 经纬度精度与航点间距

WGS84下,经纬度的小数位数决定了定位精度:

小数位数 精度(约) 适用场景
4位 11米 粗略航线
5位 1.1米 常规测绘
6位 0.11米 精细作业
7位 0.011米 厘米级RTK

我建议在Mission Planner里至少保留6位小数。低于这个精度,航线可能产生肉眼可见的偏移。

3.4.2 高度基准的选择策略

不同场景下,高度基准的选择有讲究:

  • 平原地区、短距离飞行:用相对高度。简单、可靠。
  • 山区、长距离飞行:用AMSL。因为地形起伏大,相对高度可能让飞机撞山。
  • 海面飞行:用AMSL。海平面就是0米,相对高度反而不好用。

我的经验:如果你不确定用哪个,优先用相对高度。大多数消费级飞控和ArduPilot的默认设置都是相对高度。只有在需要精确跟随地形时,才考虑AMSL+地形跟随。

3.5 知识体系总览

下面这张图把本章的核心逻辑串起来了。你可以把它当作坐标系与地理基础的“速查地图”。

坐标系与地理基础知识体系 坐标系与地理基础 · 知识体系 地理坐标系基础 WGS84坐标系 经纬度系统 海拔高度 地心椭球模型 GPS默认基准 纬度(-90~+90) 经度(-180~+180) AMSL(海平面) 相对高度 对航线规划的实际影响 航点间距与精度 高度基准选择 坐标系一致性 地形跟随策略 核心原则:所有航点数据必须基于同一坐标系,高度基准需根据场景明确选择

3.6 避坑指南

最后,分享几个我踩过的坑:

  • 坐标系混用:不同地面站或数据源可能用不同坐标系。导入航点时,务必确认坐标系一致。
  • 高度基准混淆:在Mission Planner里,Alt字段默认是相对高度。如果你从其他软件复制AMSL数据过来,记得改Frame参数。
  • 忽略GPS高程误差:GPS的AMSL误差通常比水平误差大2-3倍。在需要精确高度控制的场景(如植保喷洒),建议用气压计或RTK做高度修正。
  • 跨带投影问题:虽然WGS84是全球统一的,但如果你用UTM投影做局部规划,注意投影带边界处的精度下降。

一个小习惯:我每次建新任务,都会在航点列表里随机抽查几个点的经纬度和高度,用在线地图或RTK基站数据做交叉验证。花不了5分钟,但能避免大问题。