3.4 定位技术
3.4.1 定位技术概述:室外与室内
室外定位有成熟的天基基础设施,室内定位则多是短距无线技术的竞技场。工程师面对的根本问题是:精度、成本、覆盖和功耗之间如何取舍。一台在密集货架间穿梭、需要自动对接取货口的AGV,要求分米甚至厘米级位置;而一辆在园区行驶的网联卡车,室外数米精度已足够调度中心判断它在哪个仓库附近。两个场景代表了物联网定位中反复出现的工程平衡。
室外定位:卫星全球覆盖
室外定位最成熟的技术依托全球导航卫星系统(GNSS,Global Navigation Satellite System),包括美国的GPS(全球定位系统,Global Positioning System)、中国的北斗卫星导航系统(BDS,BeiDou Navigation Satellite System),以及俄罗斯的格洛纳斯(GLONASS,Global Orbiting Navigation Satellite System)和欧洲的伽利略(Galileo Navigation Satellite System)。接收机通过捕获至少四颗卫星的定时信号,利用信号到达时间差计算三维坐标与接收机钟差。
工程实践中依据服务等级分出三种典型模式。单点定位仅依赖卫星广播信号,在无遮挡开阔环境下,民用接收机的位置估计通常处于数米量级,足以支撑车辆导航和人员位置上报。差分GNSS(DGNSS,Differential GNSS)利用地面基准站播发的修正量,可将误差降至亚米级,适用于农业精准作业。实时动态定位(RTK,Real-Time Kinematic)通过基准站将载波相位观测值实时发送给流动站,解算得到厘米级相对位置,代价是需要额外部署基准站或购买服务。
GNSS在物理遮挡环境下信号衰减明显。高楼林立的城市街谷、地下停车场、隧道和室内空间难以稳定接收卫星信号。物联网定位系统几乎都需要“室外用卫星、室内用无线电”的双模设计。
室内定位:场景决定选型
室内没有全球统一的基础设施,建筑布局、金属货架、人员流动都会干扰无线信号。工程师面对的主流方案集中在Wi-Fi、蓝牙低功耗(BLE,Bluetooth Low Energy)和超宽带(UWB,Ultra-Wideband)三种技术之间。
Wi-Fi定位的基础最为广泛:复用已有接入点,接收端扫描周围AP的信号强度,结合衰减模型或指纹法估算位置,典型精度在米到十米级之间。最大优点是零额外硬件投入;代价是货架移动、人员密度波动会导致指纹图精度明显下降。
蓝牙定位常依托BLE信标阵列。固定部署的信标以特定间隔广播数据包,接收端测量信号强度估算距离,通过多点三角测量可达到米量级。BLE信标功耗极低,纽扣电池可维持一年以上广播;单信标成本也相对较低。常用于商场楼层导航、展馆导览等对精度要求不苛刻的场景。
超宽带(UWB)是当前室内定位中精度最高的商用方案。UWB使用纳秒级极窄脉冲信号直接测量信号的飞行时间(ToF,Time of Flight)或到达时间差(TDoA,Time Difference of Arrival)。在视距条件下,UWB精度一般为 10–30cm,最佳条件可接近厘米级。代价也直接:每颗UWB基站或标签的硬件成本明显高于BLE或Wi-Fi模组,且需要独立部署基站网络。
下面这张对比表基于工程经验范围给出(作者经验范围,仅供选型参考)。实际精度会因环境、设备型号和算法实现而有显著差异。
表3-2 室外与室内定位技术对比
| 技术 | 典型精度(开阔/视距条件) | 覆盖范围 | 端侧功耗 | 部署成本 | 典型应用 |
|---|---|---|---|---|---|
| GNSS(单频民用) | 数米至十米级 | 全球(室外为主) | 中等 | 低 | 车辆追踪、人员位置上报 |
| GNSS + RTK | 厘米级 | 室外 + 基准站覆盖 | 高 | 最高 | 农业自动驾驶、工程测量 |
| Wi-Fi 指纹法 | 米至十米级 | 建筑尺度 | 低(复用终端) | 近乎零成本(复用AP) | 商场导航、人员签到 |
| BLE 信标 | 米量级 | 数十米范围 | 极低 | 低 | 室内导览、客流统计 |
| UWB(ToF/TDoA) | 10–30cm(最佳可近厘米级) | 数十米范围 | 中等 | 中高 | AGV定位、仓储机器人 |
| 地磁指纹 | 数米级 | 室内 | 极低 | 极低(仅终端软件) | 手机室内定位备选方案 |
多技术融合与场景权衡
实际物联网项目很少只依赖一种定位技术。一个典型的智能仓储方案是:室外车辆用GNSS(含RTK)导航到仓库门口;进入仓库后,AGV切换到UWB定位于货架间分米级位置;同时每个货架上的资产标签通过BLE信标定期广播位置,用于库位级盘点。这种“GNSS + UWB + BLE”多层嵌套的设计,本质是用不同精度和成本的水平解决不同层级的定位需求。
定位方案的核心是找到精度需求、环境覆盖面积、总拥有成本三者之间的平衡点。当精度要求超过单频GNSS或Wi-Fi指纹法能力范围时,就需引入更昂贵但能给出连续可靠位置的方案。反之,若场景只需要知道“人在哪个区域”,BLE信标的性价比往往远高于UWB。理解了室外与室内定位技术的选型逻辑之后,剩下的核心问题是:RSSI、ToF 这些原始测量值如何解算成具体坐标。
编者注:表3-2及图3-7中的精度与成本数据均为作者基于多年工程经验给出的定性范围,不代表对任何具体厂商产品或测试结果的断言,仅供读者在方案规划阶段用作选型参考。
3.4.2 定位算法基础:三角测量与指纹法
信号进入接收机后,原始数据只是到达时间或信号强度——它们本身不是坐标,必须经过位置解算才能变成地理上的 (x, y) 甚至 (x, y, z)。感知层定位的主流技术路线可归结为两大流派:三角测量和指纹法。前者是几何求解,后者类似地图匹配。本节从测距基础出发,分析两种算法的原理、工程边界和典型适用场景。
测距方式的物理基础
无论是三角测量还是指纹法,第一步都是获取信号特征值。常用的测距方式有三种,各有不同的信号类型与精度边界。
RSSI(Received Signal Strength Indicator,接收信号强度指示)。通过测量接收信号强度,利用信号传播模型(典型如对数距离路径损耗模型)反向估算距离。Wi‑Fi、蓝牙信标大多沿用此方式。优势在于硬件成本极低——几乎任何无线芯片都提供 RSSI 寄存器。缺陷也非常明显:信号强度受多径、遮挡、天线方向影响严重,可能导致距离误差达数米。因此 RSSI 只适合米级精度且成本敏感的场合。在 AIoT 实践中,端侧可以对 RSSI 序列做简单的低通滤波或卡尔曼滤波,平滑单点波动。
ToA(Time of Arrival,到达时间)。测量信号从发射端到接收端的传播时间,乘以光速得到距离。GPS 和 UWB 主要用这种方法。ToA 对时间同步要求极高:1 纳秒的时钟误差对应约 30 厘米的距离偏差,因此 UWB 芯片必须配备专用硬件做纳秒级时间戳捕获。ToA 在视距条件下可达厘米级精度,但非视距(NLOS)场景中信号反射会引入额外时延,造成系统性正偏差。加权最小二乘可以在一定程度上去抑制这些粗差。
AoA(Angle of Arrival,到达角)。通过天线阵列测量信号的到达角度,利用两个或更多角度交会确定位置。蓝牙 5.1 引入了 AoA 支持,天线阵列的相位差计算是硬件和算力的主要开销。AoA 的工程优势在于仅需两个参考节点即可在二维平面内确定方向线,但天线阵列的尺寸和校准难度限制了它在小尺寸设备上的落地。
三种方式的核心工程权衡:RSSI 用成本换精度,ToA 用带宽和功耗换精度,AoA 用硬件复杂度换精度。在物联网项目中,RSSI 加三角测量的组合最常见;而 UWB 加 ToA 用于需要亚米级的场景,如机器人对接或精细资产盘点。
三点定位与最小二乘修正
三角测量的几何思想来自中学解析几何:已知三个参考点的坐标,以及待测点到这三个点的距离,可以通过三圆相交解算出待测点坐标。这是 GNSS 和多数室内定位系统的数学基础。
图3-8展示的是理想抽象。真实工程中,每个距离测量值都包含噪声——RSSI 的波动、ToA 的时钟偏移、多径造成的额外时延——三圆大概率不会精确交于一点,而是形成一个模糊的交叉区域。这时候需要从三点定位升级为 最小二乘(Least Squares)方法。
假设有 N 个参考节点(N ≥ 3),每个节点贡献一个方程:
[ (x - x_i)^2 + (y - y_i)^2 = d_i^2 ]
这是个超定方程组。最小二乘的核心是找到一组 (x, y),使所有方程的残差平方和最小。标准解法是线性化后构造矩阵方程 (\mathbf{A}\mathbf{p} = \mathbf{b}),再通过伪逆求解。当测距误差服从高斯分布时,最小二乘解是统计最优的。工程中更常用的是加权最小二乘(Weighted Least Squares, WLS),为可信度高的测距值赋予更大权重,以抑制 NLOS 粗差。
案例:基于 Wi‑Fi RSSI 的三角测量定位。假设一栋办公楼的中庭部署了 4 台 Wi‑Fi 接入点(AP),坐标已标定。一台巡检机器人扫描周围 AP 的 RSSI 值,通过路径损耗模型估算距离。由于信号波动,单个 AP 的测距误差可达数米。若仅用 3 个 AP 做三点定位,三圆交叉区域可能是一个直径较大的模糊范围。加入第四个 AP 并应用最小二乘后,四个方程共同约束,误差被平均化,输出坐标的稳定性显著提升。
指纹法:离线建库,在线匹配
三角测量的前提是部署前已知参考节点的精确坐标,且传播模型可假设。但在商场、机场、地下停车场等大规模室内场景中,多径反射使 RSSI 与距离的映射关系严重偏离经典模型,三角测量精度急剧下降。指纹法(Fingerprinting) 提供另一种思路:不依赖传播模型,而是直接使用环境实测的信号特征来匹配位置。
指纹法分为两个阶段:
离线建库:在目标区域按一定间距(通常 0.5–2 米)划定网格点。在每个网格点上,采集所有可被检测到的无线信号的特征向量。向量的每个维度对应某个 AP 或蓝牙信标的 RSSI 值(不可见的信源以 -100 dBm 填充)。这个向量称为“指纹”。所有指纹及其对应的物理坐标构成指纹库。建库过程需要人工或机器人持终端逐点扫描,工作量随面积线性增长。
在线匹配:终端设备扫描当前时刻的信号向量,与指纹库中的记录比对。最常用的匹配方法是 K 最近邻(K-Nearest Neighbors, KNN):计算待测向量与每个指纹点的欧氏距离,选取距离最小的 K 个指纹点(通常 K=3–5),然后按距离倒数加权平均它们的坐标,得到最终位置估计。K 值过小易受单点噪声影响,过大则区域平均导致精度下降。
案例:Wi‑Fi 指纹定位实验。假设一个数百平方米的开放式办公区,以 1 米左右的间隔采样,得到数百个指纹点,每个指纹点记录周围多个 AP 的 RSSI 值。在线阶段,终端扫描到当前 RSSI 向量后,用 KNN(K=3)匹配,选取距离最小的 3 个指纹点,按距离倒数加权平均得到坐标。实测中,该方法的平均定位误差通常优于同环境下三角测量误差。近年来,一些实践开始用轻量级神经网络替代 KNN,将指纹匹配转化为分类或回归问题,但需要更多离线训练数据和端侧算力支持。
指纹法的核心优势在于抗多径能力强——它直接将环境中的多径反射当作“特征”而非“干扰”来利用。主要短板有二:一是建库成本随面积线性增长;二是环境变化(货架调整、AP 移动)会导致指纹库过时,需要周期性刷新。众包方式可以缓解建库成本:利用携带定位 APP 的移动终端在正常使用中被动收集指纹,经云端融合后增量更新指纹库。
两种算法的工程权衡
三角测量和指纹法没有绝对优劣,选择取决于项目的前置条件。下表总结了关键判断点。
| 判断条件 | 推荐路线 | 工程原因 |
|---|---|---|
| 参考节点坐标精确、传播模型可建模 | 三角测量(最小二乘) | 利用已知几何关系,部署成本低,无需建库 |
| 信号多径严重、传播模型不准 | 指纹法 | 不依赖模型,直接把多径当成特征吸收 |
| 定位面积大(数万平方米以上) | 三角测量 | 指纹法建库成本急剧上升 |
| 环境频繁变化(货物移动、装修) | 三角测量 | 指纹法需重复建库,维护成本高 |
| 已有大量带 Wi‑Fi/蓝牙的终端 | 指纹法(众包方式) | 被动采集指纹,降低主动建库工作量 |
| 需要绝对厘米级坐标 | UWB + ToA + 三角测量 | 指纹法绝对精度受限于网格间距 |
在确定算法主干前,先明确一个工程问题:你到底需要“绝对坐标”还是“区域判断”?前者适合三角测量,后者只要指纹法的 KNN 就能覆盖。这个判断决定了后续所有软硬件投入的方向。
3.4.3 多源融合定位工程实践
没有哪种单一定位技术能包打天下。GPS进室内就失锁,UWB遇到金属货架遮挡精度暴跌,Wi‑Fi指纹在环境变化后跳动不定。工程师的应对思路是让几种技术互补——一种的长处掩盖另一种的短处。这背后的数学框架叫多源融合定位(multi-source fusion positioning),即把来自不同传感器的位置数据加权整合,输出一个比任何单源都更可靠的最终结果。
单一技术的工程边界
- GPS/BDS:室外开阔地可到米级,但一进室内信号完全中断,城市高楼峡谷区多径误差可达数十米。
- UWB:视距下 10–30cm,最佳条件可接近厘米级,是室内高精度定位的首选。但金属货架、人体遮挡后NLOS(非视距)误差急剧恶化,严重时可能跳变数米。
- Wi‑Fi RSSI指纹:部署成本低、覆盖广,但RSSI受多径、温湿度和人员走动影响波动大,环境改变后指纹库需重新采集。
- BLE信标区域:低功耗、低成本,适合区域级定位。信标电池寿命有限,维护成本常被低估。
- IMU+编码器:短时相对精度好,但零偏漂移随时间累积,纯推算几分钟后误差便不可接受。
融合的目标不是追求单点精度世界纪录,而是确保任意时刻至少有一条可信源在工作,且在系统中提供一个带不确定性的位置(position with uncertainty),让上层任务(如AGV路径规划)能根据置信度做出安全决策。
例子:AGV在仓库中的多源融合定位
一个自动化仓库,AGV需将托盘从A运到B,全程约200米,途经货架密集区和半开阔通道。方案设计如下(所有数值均为假设场景下的示意值,不代表具体产品指标):
- 主定位源:UWB。屋顶锚点覆盖主干通道,视距下 10–30cm,最佳条件可接近厘米级。
- 辅助校正源:BLE信标。安装在货架底部和地面,AGV经过时触发事件,位置强行校正至信标坐标。每经过一个信标大幅压缩累计漂移。
- 连续推算源:IMU+轮式编码器。维持短时相对精度,弥补UWB遮挡间隙。
工作模式切换逻辑:
- 正常:UWB以约10 Hz提供连续坐标,卡尔曼滤波用UWB观测校正,IMU只在间隙内推。
- UWB遮挡:AGV进入货架深处,UWB更新率下降或跳变。滤波器自动增大UWB观测噪声协方差,降低其权重,切换到IMU推算为主。位置不确定性逐渐增大,但BLE信标作为后备。
- 经过BLE信标:BLE扫描触发事件型观测,位置强制设定在信标坐标(观测噪声标准差设为3 m),滤波加权融合后不确定性大幅压缩。
- 回到UWB覆盖:恢复UWB主力模式。
卡尔曼滤波:融合骨架
最经典的融合工具是卡尔曼滤波。下面用简化的二维匀速模型伪代码展示其核心循环。实际工程中状态向量可扩展为六维(位置、速度、姿态),但原理一致。
// 卡尔曼滤波伪代码:二维位置+速度融合
// 状态 x = [pos_x, pos_y, vel_x, vel_y]^T
// 观测 z = [measured_x, measured_y]^T
x = {0, 0, 0, 0};
P = diag({1000, 1000, 1000, 1000}); // 高初始不确定性
Q = diag({0.1, 0.1, 0.1, 0.1}); // 运动模型过程噪声
R = diag({5.0, 5.0}); // 默认观测噪声
while (running) {
dt = getDeltaTime();
// ---------- 预测 ----------
F = { {1,0,dt,0}, {0,1,0,dt}, {0,0,1,0}, {0,0,0,1} };
x = F * x; // 匀速状态转移
P = F * P * F^T + Q;
// ---------- 观测源选择 ----------
if (uwbAvailable()) {
R = diag({0.5, 0.5}); // UWB 高信任,小噪声
correct(uwbPos, R);
} else if (bleDetected()) {
R = diag({3.0, 3.0}); // BLE 低信任,大噪声
correct(blePos, R);
} else {
// 无观测,纯推算,不确定性继续增长
continue;
}
}
void correct(z, R) {
H = { {1,0,0,0}, {0,1,0,0} };
y = z - H * x; // 观测残差
S = H * P * H^T + R; // 新息协方差
K = P * H^T * inv(S); // 卡尔曼增益
x = x + K * y; // 状态更新
P = (I - K * H) * P; // 协方差更新
}关键在于卡尔曼增益 (K) 的大小由观测噪声 (R) 控制:(R) 越小,(K) 越大,观测权重越高;(R) 越大,滤波器更信任运动模型的推算。上述伪代码中UWB的 (R) 为0.5,BLE为3.0,因此BLE仅在UWB不可用时起压漂移作用,不会过度干扰主源。
部署注意事项
时间戳对齐。不同传感器的采样时钟独立,滤波前必须统一到系统时钟(如边缘节点NTP同步,或通过RTC脉冲同步)。若时差过大,融合结果容易出现震荡。实践中通常让所有传感器数据带上硬件时间戳,并在滤波前按系统时钟进行线性插值对齐。
传感器失效判别。UWB在只有1–2个锚点时可能输出大幅偏离的坐标。常用策略是:计算观测残差(即新息向量模长),若超过3倍当前观测噪声标准差,则丢弃该观测或降低其权重(例如将 (R) 临时放大10倍)。BLE信标同样需要判断信号强度是否在合理范围内。
计算约束。二维定位状态矩阵4×4,求逆计算量很小(约4×4矩阵求逆只需几十次浮点运算),ARM Cortex‑M4 MCU可在50–100 Hz稳定运行。若扩展到三维并加入气压计、磁力计,建议在边缘网关处理器上完成滤波,主MCU只输出原始观测。
工程收益。多源融合定位的真实收益不在单点精度,而在覆盖率与鲁棒性的平衡——无论环境怎么变,系统总有一个可用且带置信度的位置。工程师需要管理三种能力:源选择策略(何时信任哪个源)、噪声建模(量化每个源的不确定性,最好通过离线标定获得)以及部署运维(确保所有信标、锚点持续可用,定期巡检电池和安装位置)。
融合不是一次性调参,而是一个持续迭代的过程:每次现场环境变化(如新增货架、金属设备移动),都可能需要重新标定某些源的噪声参数。成熟的定位系统会保留融合后的定位日志,用于离线分析各源的表现,并据此在线更新部分参数。