定位技术基础:GNSS、INS、轮速里程计与视觉定位

各位同学好,我是老张。今天咱们聊聊定位技术的四大基石。说实话,这四样东西单独拿出来都不算完美,但组合起来,就是自动驾驶和机器人定位的核心骨架。

我个人习惯把定位技术分成两类:一类是「绝对定位」,比如GNSS,它能告诉你在地球上的绝对坐标;另一类是「相对定位」,比如INS、轮速计、视觉里程计,它们只能告诉你「我从哪里走了多远」。嗯,这个区分很重要,后面讲融合的时候你会体会到。

1. GNSS定位原理:天上看下来的尺子

GNSS,说白了就是卫星导航系统。GPS、北斗、GLONASS、Galileo,都是这玩意儿。原理其实不复杂:卫星在天上飞,不断广播自己的位置和时间。地面上的接收机收到信号,算出自己到卫星的距离。

怎么算距离?光速乘以时间差。卫星说「我在时间T0发了信号」,你收到时是T1,那距离就是 (T1 - T0) × 光速。理论上,有三颗卫星就能解出三维位置。但实际中,接收机时钟不准,所以需要第四颗卫星来消除钟差。

核心公式: 伪距观测方程 ρ = √[(x - x_s)² + (y - y_s)² + (z - z_s)²] + c·Δt + ε
其中 ρ 是伪距,c·Δt 是钟差,ε 是各种误差。

我在项目中遇到过一个问题:城市峡谷里,GNSS信号被高楼遮挡,定位直接飘到马路对面去了。这就是多路径效应——信号打到墙上再反射过来,路径变长了,算出来的位置自然不准。

避坑指南: 我曾经在隧道测试时忘了关GNSS,结果定位直接跳到隧道外面去了。记住:GNSS在遮挡环境下不可信,一定要用其他传感器来「兜底」。

2. 惯性导航系统(INS)基础:自己身体的感知

INS靠的是加速度计和陀螺仪。加速度计测线加速度,陀螺仪测角速度。你想想看,如果你知道初始位置和速度,然后不断积分加速度,是不是就能算出当前位置?

原理上很简单:

  • 陀螺仪输出角速度 → 积分得到姿态(横滚、俯仰、航向)
  • 加速度计输出比力 → 扣除重力 → 积分得到速度 → 再积分得到位置

但这里有个大坑:误差会累积。加速度计有零偏,积分一次变成速度误差,再积分一次变成位置误差。这就是为什么纯INS定位几分钟就飘得没边了。

我的经验: 做INS时,一定要关注「艾伦方差」曲线。它能告诉你传感器的噪声特性——是白噪声主导,还是随机游走主导。选型时,我一般看陀螺仪的零偏稳定性,低于1°/h的才算能用。

嗯,这里要注意:INS的更新频率很高,通常100Hz以上。而GNSS只有10Hz。所以INS能填补GNSS的空白,反过来GNSS能修正INS的漂移。这就是融合的基本逻辑。

3. 轮速里程计原理:车轮转了多少圈

轮速里程计,说白了就是数车轮转了多少圈。每个车轮上装一个编码器,转一圈输出N个脉冲。脉冲数乘以轮子周长,就是走过的距离。

但事情没这么简单。你想想看:

  • 轮胎气压变化,周长就变了
  • 转弯时内外轮转速不一样
  • 打滑时轮子转但车没动

所以实际中,我们通常用差速模型来推算航向变化。比如两轮差速机器人:

// 两轮差速模型
v = (v_left + v_right) / 2          // 线速度
ω = (v_right - v_left) / wheel_base // 角速度

// 更新位姿
x += v * cos(θ) * dt
y += v * sin(θ) * dt
θ += ω * dt

我在做AGV小车时遇到过一个问题:地面有水,轮子打滑,里程计显示走了10米,实际只走了8米。后来加了IMU做辅助,用加速度来检测打滑——当轮速变化率远大于加速度时,基本就是打滑了。

关键点: 轮速里程计在短距离内精度很高(误差通常小于1%),但长距离会累积误差。而且它只能提供二维位姿(x, y, θ),没有高度信息。

4. 视觉定位(VO)简介:用眼睛看世界

视觉里程计,就是通过摄像头图像来推算运动。原理有点像人眼——你看到物体在画面中移动,就知道自己在动。

基本流程分三步:

  1. 特征提取: 从图像中找角点、边缘等特征点(比如ORB、SIFT)
  2. 特征匹配: 在相邻帧之间找对应的特征点
  3. 运动估计: 用对极几何或PnP算法解出相机运动

举个例子,对极几何的核心思想:

// 对极约束
x2^T * F * x1 = 0

// 其中 F 是基础矩阵,x1和x2是匹配点
// 通过8点法可以解出F,再分解得到旋转R和平移t

我做过一个项目,在纹理丰富的室内,VO效果很好,误差不到1%。但一到白墙走廊,特征点全没了,VO直接崩了。这就是视觉定位的致命弱点——依赖纹理。

注意: VO存在尺度模糊问题。单目相机无法知道物体是远是小,所以估计的平移量只有方向没有大小。需要IMU或轮速计来提供尺度信息。

知识体系总览

下面这张图,是我自己画的四大定位技术的关系图。你看一眼就能明白它们各自的特点和局限。

定位技术四大基石 GNSS 绝对定位 精度:米级~厘米级 更新率:10Hz 弱点:遮挡、多路径 INS 相对定位 精度:短时高 更新率:100Hz+ 弱点:长期漂移 轮速里程计 相对定位 精度:<1% 短距 更新率:50Hz 弱点:打滑、无高度 视觉VO 相对定位 精度:1%~5% 更新率:30Hz 弱点:纹理、光照 传感器 融合 卡尔曼滤波 四种定位技术各有优劣,融合才是王道 GNSS提供绝对基准,INS填补高频空白 轮速计约束打滑,VO提供视觉特征 绝对定位 相对定位

你看这张图就明白了:GNSS是唯一能给出绝对坐标的,但容易受遮挡。INS和轮速计是「死推算」,短时准但长时飘。VO靠图像特征,环境好时很准,但怕白墙和暗光。

我个人做融合时,习惯用GNSS做长期约束,INS做高频插值,轮速计做地面约束,VO做视觉辅助。四者互补,才能得到稳定可靠的定位结果。

一个小技巧: 做融合前,先把每个传感器的误差特性摸清楚。比如GNSS的协方差矩阵要根据卫星颗数和DOP值动态调整。INS的噪声参数要通过艾伦方差标定。这些基础工作做好了,融合效果自然就上去了。

好了,这一章就到这里。四种定位技术各有各的脾气,理解它们的特点,是做好融合的第一步。

可可精品资料库