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 知识体系总览
下面这张图把本章的核心逻辑串起来了。你可以把它当作坐标系与地理基础的“速查地图”。
3.6 避坑指南
最后,分享几个我踩过的坑:
- 坐标系混用:不同地面站或数据源可能用不同坐标系。导入航点时,务必确认坐标系一致。
- 高度基准混淆:在Mission Planner里,
Alt字段默认是相对高度。如果你从其他软件复制AMSL数据过来,记得改Frame参数。 - 忽略GPS高程误差:GPS的AMSL误差通常比水平误差大2-3倍。在需要精确高度控制的场景(如植保喷洒),建议用气压计或RTK做高度修正。
- 跨带投影问题:虽然WGS84是全球统一的,但如果你用UTM投影做局部规划,注意投影带边界处的精度下降。
一个小习惯:我每次建新任务,都会在航点列表里随机抽查几个点的经纬度和高度,用在线地图或RTK基站数据做交叉验证。花不了5分钟,但能避免大问题。