1. 课程导入
各位同学好,我是老张。做定位算法这行十几年了,从最早的GPS单点定位做到现在的多系统融合,踩过的坑不少。今天咱们先不急着写代码,先把整个定位技术的「家谱」理清楚。
你想想看,现在手机里随便一个地图App都能告诉你位置,但背后的技术其实分了好几个流派。我刚开始入行时也犯过迷糊——为什么有的定位能精确到厘米,有的却只能到几十米?
嗯,这背后其实是一棵完整的「定位技术家族树」。咱们今天就用一张图把它讲透。
1.1 定位技术的两大分支
先说个大框架。所有定位技术,说白了就两类:
- 卫星定位:靠天上的卫星给你算位置,覆盖全球,但室内不行。
- 地面定位:靠基站、Wi-Fi、蓝牙这些地面设施,室内室外都能用,但覆盖范围有限。
我个人习惯把卫星定位叫「天基」,地面定位叫「地基」。这两者不是互斥的,现在很多方案都是「天基+地基」融合着用。
核心观点:没有一种定位技术能通吃所有场景。卫星定位在开阔地带无敌,但进了隧道就抓瞎;地面定位在室内好用,但出了城就没信号。所以现代定位模块基本都是「多技术融合」。
1.2 卫星定位家族:从GPS到北斗
卫星定位这块,目前全球有四大系统:
| 系统名称 | 所属国家 | 卫星数量(约) | 特点 |
|---|---|---|---|
| GPS | 美国 | 31 | 最成熟,全球覆盖,民用精度5-10米 |
| 北斗 | 中国 | 30 | 有短报文功能,亚太地区精度更高 |
| GLONASS | 俄罗斯 | 24 | 高纬度地区表现好 |
| Galileo | 欧盟 | 26 | 民用信号免费,精度高 |
我记得2015年做第一个多系统接收机项目时,只支持GPS和GLONASS,北斗还没完全组网。现在倒好,新出的芯片基本都是全系统全频段了。
避坑指南:我曾经在项目里只开了GPS,结果在重庆那种高楼峡谷里定位飘得厉害。后来把北斗和GLONASS都加上,情况好很多。多系统融合不是锦上添花,是刚需。
1.3 定位精度的四个层级
同样是卫星定位,精度可以差好几个数量级。我习惯把它分成四个层级:
- 单点定位(SPS):只用一颗卫星的伪距,精度5-10米。手机里默认就是这种。
- 差分定位(DGPS):加一个地面基准站修正误差,精度1-3米。
- RTK(实时动态定位):用载波相位做差分,精度厘米级。
- PPP(精密单点定位):不用基准站,靠精密星历,精度分米到厘米。
你想想看,从10米到1厘米,差了三个数量级。但代价也不一样——RTK需要架基站或者用网络RTK服务,PPP需要等收敛时间。
注意:RTK虽然精度高,但有个致命弱点——一旦卫星失锁,就得重新初始化。我在做无人机项目时就吃过这个亏,飞机飞过一片树林,RTK解算直接崩了,差点炸机。
1.4 地面定位技术:室内场景的救星
卫星信号进不了室内,怎么办?地面定位技术就派上用场了。常见的有:
- Wi-Fi定位:靠信号强度(RSSI)指纹匹配,精度3-10米。
- 蓝牙定位:用iBeacon或者AOA到达角,精度1-3米。
- UWB定位:超宽带,精度10-30厘米,但需要部署基站。
- 基站定位:靠手机信号塔,精度50-200米,只能看个大概。
我个人觉得,UWB是室内定位的未来。去年帮一个工厂做AGV小车定位,用的就是UWB+IMU融合,效果比纯Wi-Fi好太多了。
1.5 一张图看懂定位技术家族树
说了这么多,咱们用一张SVG图把整个家族树画出来。这张图我画了好几个版本,最后定下来这个结构——从「天基」和「地基」两大分支往下展开,再到具体的系统和算法。
1.6 怎么选?我的经验之谈
看完这张图,你可能想问:那我做项目时到底该用哪种?
我个人的经验是,先看三个条件:
- 场景:室外还是室内?开阔还是遮挡?
- 精度:要米级还是厘米级?
- 成本:能接受加基站吗?还是只用现成的卫星?
举个例子,做共享单车定位,用GPS单点定位就够了,成本低、功耗小。但做自动驾驶,必须上RTK+IMU+视觉融合,少一个都不行。
我的建议:刚开始做定位项目时,别一上来就追求最高精度。先跑通单点定位,再逐步往上加差分、加融合。我曾经见过一个团队,上来就搞RTK,结果连最基础的伪距解算都没调通,折腾了三个月。