工业视觉AI

机器人定位传感器全解:IMU、轮速计与多传感器融合

「具身智能落地实战」系列第 7 篇
前几篇我们拆解了具身机器人的硬件、VLA 大脑、SLAM 空间认知和占据栅格网络。但 SLAM 和导航的基础是「定位」——机器人要知道自己在哪、朝哪个方向、走了多远。而定位的基础是传感器。本文聚焦两种最基础也最重要的定位传感器——IMU(惯性测量单元)和轮速计(编码器),拆解它们的工作原理、各自的缺陷,以及如何通过多传感器融合实现高精度、高鲁棒的定位。


引言:机器人的「方向感」从哪来

人类走路时,即使闭上眼睛,也能大致知道自己走了多远、转了多少弯、现在面朝哪个方向。这种「方向感」来自我们的前庭系统(内耳的半规管和耳石器)和本体感觉(肌肉和关节的运动感知)。

机器人没有天生的方向感,它完全依赖传感器来感知自身的运动和姿态。在所有定位传感器中,有两种是最基础也最重要的:

  1. IMU(惯性测量单元):机器人的「内耳」,感知加速度和角速度,推算姿态和运动
  2. 轮速计(编码器):机器人的「脚感」,通过测量轮子转速推算移动距离和速度

这两种传感器各有优势,也各有致命缺陷。IMU 响应快但漂移大,轮速计精度高但怕打滑。单独使用任何一种,都无法实现长期稳定的定位。只有通过多传感器融合(IMU + 轮速计 + 视觉/激光),才能实现高精度、高鲁棒的定位。

本文就来系统性拆解这两种基础传感器,以及它们的融合方法。


一、IMU:机器人的「内耳」

1.1 什么是 IMU

IMU(Inertial Measurement Unit,惯性测量单元)是一种测量物体加速度和角速度的传感器。它通常由三个部分组成:

传感器测量量物理原理
加速计(Accelerometer)三个方向的线加速度(ax, ay, az)利用质量块在加速度作用下的位移或电容变化测量加速度
陀螺仪(Gyroscope)三个方向的角速度(ωx, ωy, ωz)利用科里奥利力或光学效应测量角速度
磁力计(Magnetometer,可选)三个方向的磁场强度利用霍尔效应或磁阻效应测量地磁场,用于辅助确定航向

一个 6 轴 IMU 包含加速计 + 陀螺仪(6 个测量量),一个 9 轴 IMU 再加上磁力计(9 个测量量)。

IMU 的输出是高频的(通常 100-1000Hz),可以实时反映机器人的运动状态。通过对加速度积分得到速度,再积分得到位置;对角速度积分得到姿态(旋转角度)。

1.2 IMU 的工作原理

加速计:

加速计测量的是「比力」(Specific Force),即加速度减去重力加速度。当 IMU 静止时,加速计测量到的是重力加速度(约 9.8m/s²,方向竖直向下)。通过分析三个方向的加速度分量,可以推算出 IMU 相对于重力方向的倾斜角度(横滚 roll 和俯仰 pitch)。

陀螺仪:

陀螺仪测量的是角速度(单位时间内的旋转角度)。通过对角速度积分,可以得到 IMU 的姿态变化(横滚、俯仰、偏航 yaw 的角度变化量)。

磁力计:

磁力计测量地磁场的方向。地磁场在地球表面大致指向北方,通过测量磁场方向可以确定 IMU 的航向(偏航角 yaw)。但磁力计容易受到周围铁磁物质和电磁干扰的影响,在室内环境中精度有限。

姿态解算:

将加速计、陀螺仪、磁力计的数据融合,可以解算出 IMU 的完整姿态(roll, pitch, yaw)。常见的姿态解算算法包括互补滤波(Complementary Filter)、Mahony 滤波、Madgwick 滤波、扩展卡尔曼滤波(EKF)等。

1.3 IMU 的优势

1. 高频响应

IMU 的采样频率通常在 100-1000Hz,远高于摄像头(30Hz)和激光雷达(10-20Hz)。在两次视觉/激光帧之间,IMU 可以提供高频的运动估计,填补时间空白。

2. 不受环境影响

IMU 是惯性传感器,不依赖外部环境(光照、纹理、障碍物),在任何环境下都能工作。黑暗中、强光下、空旷地带、纹理缺失的场景,IMU 都能正常输出。

3. 短时精度高

在短时间内(几秒以内),IMU 的积分精度很高,可以准确推算机器人的运动和姿态变化。

4. 体积小、功耗低、成本低

MEMS IMU 体积可以小到几毫米,功耗只有几毫瓦,成本从几块钱到几百块钱不等,非常适合机器人和移动设备。

1.4 IMU 的致命缺陷:漂移

IMU 最大的问题是漂移(Drift)

为什么会漂移?因为 IMU 测量的是加速度和角速度,要得到位置和姿态,需要积分。而积分会把测量误差不断累积:

  • 角速度积分 → 姿态漂移:陀螺仪的测量有微小的零偏误差(bias),积分后姿态误差随时间线性增长
  • 加速度积分 → 速度漂移:加速计的测量有噪声和零偏,积分后速度误差随时间增长
  • 速度再积分 → 位置漂移:速度有误差,再积分得到位置,位置误差随时间二次方增长

这就是所谓的「双重积分」问题——位置误差随时间二次方增长,非常可怕。

具体表现:

  • 一个普通的 MEMS IMU,静止放置几秒后,积分得到的位置可能已经漂移了几十厘米
  • 几十秒后,位置可能漂移了几米甚至几十米
  • 航向角(yaw)也会缓慢漂移,因为陀螺仪的零偏会被积分
  • 即使是高精度的光纤陀螺或激光陀螺,长时间也会漂移,只是漂移速度慢得多

漂移的来源:

  • 零偏(Bias):传感器在零输入时的非零输出,是最主要的漂移来源
  • 噪声(Noise):测量中的随机噪声,积分后也会累积
  • 温度漂移:传感器参数随温度变化,导致零偏和灵敏度变化
  • 尺度因子误差:测量值与真实值的比例不完全准确
  • 非正交误差:三个轴不完全正交,导致测量串扰

工程视角: IMU 的漂移是「物理规律决定的」,无法完全消除,只能通过外部传感器校正。这就像一个人闭着眼睛走路——短时间内可以靠「感觉」走对,但走得越久,偏差越大,必须时不时睁开眼睛看看周围,校正自己的位置。IMU 就是那个「闭眼走路的感觉」,而视觉/激光就是「睁开的眼睛」。两者结合,才能既高频又精确。

1.5 IMU 的分类与选型

等级典型器件零偏不稳定性价格适用场景
消费级 MEMSMPU6050、BMI08810-100 °/h几块-几十块玩具、简单平衡、消费电子
工业级 MEMSADIS16470、BMI088(高配置)1-10 °/h几百-几千块工业机器人、无人机、AGV
战术级光纤陀螺、激光陀螺0.1-1 °/h几万-几十万军用、高精度导航、自动驾驶
导航级高精度激光陀螺0.01 °/h 以下几十万以上航空航天、潜艇导航

对于大多数机器人应用(人形机器人、四足机器人、AGV、服务机器人),工业级 MEMS IMU 就够用了。关键是要做好温度校准和零偏估计,以及与视觉/激光的融合。


二、轮速计:机器人的「脚感」

2.1 什么是轮速计

轮速计(Wheel Odometer),也叫编码器(Encoder),是一种测量轮子旋转角度和转速的传感器。通过测量轮子转了多少圈、转得多快,可以推算机器人移动了多远、速度是多少。

常见的轮速计类型:

类型原理特点
增量式光电编码器通过光电码盘和光电管测量旋转角度和方向分辨率高、响应快、成本适中,最常用
绝对式编码器码盘上有唯一编码,直接输出绝对角度断电后不丢失位置,但成本高
霍尔编码器利用霍尔效应测量磁场变化成本低、耐用,但分辨率较低
旋转变压器(Resolver)利用电磁感应测量角度非常耐用、抗干扰,适合恶劣环境,但成本高

对于轮式机器人,通常在每个驱动轮上安装一个编码器,测量轮子的旋转角度。

2.2 轮速计的工作原理

基本原理很简单:

  • 轮子的周长 = π × 轮子直径
  • 轮子转一圈,机器人前进的距离 = 轮子周长(假设纯滚动,不打滑)
  • 编码器测量轮子转了 N 圈(或 N/分辨率 个脉冲),则前进距离 = N × 周长
  • 单位时间内转的圈数 × 周长 = 前进速度

差速轮式机器人的运动学:

对于两轮差速驱动的机器人(最常见的轮式机器人结构),通过左右轮的转速差可以推算机器人的线速度和角速度:

  • 线速度 v = (v_left + v_right) / 2
  • 角速度 ω = (v_right - v_left) / L(L 为左右轮间距)
  • 积分线速度得到位置,积分角速度得到航向角

这样,通过两个轮速计的数据,就可以推算机器人在平面上的位姿(x, y, θ)——这就是「轮式里程计」(Wheel Odometry)。

2.3 轮速计的优势

1. 精度高(在不打滑的情况下)

编码器的分辨率可以做到很高(如 1000 线/圈甚至更高),测量轮子旋转角度非常精确。在纯滚动的情况下,轮式里程计的定位精度很高,短距离内误差可以控制在百分之几以内。

2. 高频输出

编码器的输出频率可以很高(通常 100Hz 以上),可以实时反映机器人的运动状态。

3. 不受环境影响

轮速计测量的是轮子自身的旋转,不依赖外部环境(光照、纹理、障碍物),在任何环境下都能工作。

4. 成本低、可靠性高

编码器技术成熟、成本低、可靠性高,是轮式机器人的标准配置。

5. 没有 IMU 那种严重的漂移

轮速计直接测量轮子旋转,不需要双重积分,位置误差随时间线性增长(而不是二次方),比 IMU 稳定得多。

2.4 轮速计的三大硬伤

轮速计看起来很完美,但它有一个致命的前提假设:轮子纯滚动,不打滑。一旦这个假设不成立,轮速计就会出问题。具体来说,有三大硬伤:

硬伤一:打滑(Slip)

当轮子与地面之间发生相对滑动时,轮子转了,但机器人没走那么远(或者走了但轮子没转那么多)。这时候轮速计测量的距离就不准了。

常见的打滑场景:

  • 启动和停止时的加减速过快
  • 地面湿滑、有油污、有灰尘
  • 轮子压到电线、门槛、地毯边缘
  • 急转弯时的侧向滑动
  • 上下坡时的滑动
  • 轮子悬空(如压到障碍物、两轮离地)

打滑是轮速计最常见的误差来源,而且很难检测和补偿。

硬伤二:轮子非等径(Wheel Diameter Mismatch)

理论上左右轮直径相同,但实际上由于制造误差、磨损不均、气压不同(充气轮)等原因,左右轮直径可能有微小差异。

影响:

  • 即使机器人走直线,左右轮转的圈数相同,但实际前进距离不同
  • 这会导致机器人实际走的是弧线,而轮速计以为走的是直线
  • 长时间累积后,航向角和位置都会有显著误差
  • 而且这种误差是系统性的、持续的,不会自行消失

应对: 通过标定修正左右轮的直径比例,但磨损会随时间变化,需要定期重新标定。

硬伤三:累积误差(Cumulative Error)

即使没有打滑、轮子等径,轮速计也有累积误差——每一步的微小误差会不断累积,走得越远,误差越大。

累积误差的来源:

  • 编码器的测量噪声和量化误差
  • 轮子周长的估计误差
  • 左右轮间距的估计误差
  • 轮子的微小形变(弹性轮在负载下会形变)
  • 安装误差(编码器与轮子的传动间隙)

累积误差随距离线性增长——走 1 米误差 1cm,走 100 米误差可能就有 1 米。对于需要长距离导航的机器人,累积误差是不可忽视的。

工程视角: 轮速计的三大硬伤(打滑、非等径、累积误差)本质上都是「假设与现实的偏差」——假设纯滚动、假设等径、假设无噪声,但现实中这些假设都不完全成立。应对策略有两个方向:一是「改进硬件和标定」——用好的编码器、定期标定轮子参数、减少打滑(用好的轮胎材质和运动控制);二是「外部传感器校正」——用视觉/激光 SLAM 定期校正轮速计的累积误差,就像 IMU 需要外部校正一样。在实际项目中,轮速计通常不是单独使用的,而是与 IMU、视觉、激光融合使用,取长补短。

2.5 轮速计 vs IMU:对比

维度IMU轮速计
测量量加速度、角速度轮子旋转角度、转速
推算量姿态、速度、位置(双重积分)位置、航向(运动学模型)
误差特性位置误差随时间二次方增长(漂移严重)位置误差随距离线性增长(累积误差)
最大缺陷漂移打滑、非等径
短时精度高(几秒内)高(不打滑时)
长时稳定性差(漂移快)中等(累积误差,但比 IMU 稳定)
环境适应性强(不受环境影响)强(不受光照影响,但依赖地面条件)
适用机器人所有机器人(人形、四足、轮式、无人机)仅轮式机器人
成本低-中(取决于等级)

三、多传感器融合:1 + 1 > 2

单独使用 IMU 或轮速计都有缺陷,只有通过多传感器融合,才能实现高精度、高鲁棒的定位。

3.1 为什么需要融合

IMU 的问题需要外部校正:

  • IMU 漂移快,需要视觉/激光定期校正位置和姿态
  • IMU 的零偏需要在线估计和补偿

轮速计的问题需要外部校正:

  • 轮速计怕打滑,需要 IMU 检测打滑(IMU 测量的运动与轮速计不一致时,可能打滑了)
  • 轮速计有累积误差,需要视觉/激光定期校正

视觉/激光的问题需要 IMU/轮速计补充:

  • 视觉/激光帧率低(30Hz/10Hz),需要 IMU 提供高频运动估计填补帧间空白
  • 视觉在弱纹理、快速运动、光照变化时容易丢失,需要 IMU/轮速计维持定位
  • 激光在空旷地带特征少,需要 IMU/轮速计辅助

融合的价值:

  • 每种传感器都有自己的「擅长时段」和「失效场景」
  • 融合后,当某一种传感器失效时,其他传感器可以「兜底」
  • 多种传感器的信息可以互相校验,检测异常(如打滑、传感器故障)
  • 最终的定位精度和鲁棒性远高于任何单一传感器

这就是「1 + 1 > 2」的效果。

3.2 常见的融合方案

方案一:VIO(视觉惯性里程计)

VIO(Visual-Inertial Odometry)= 摄像头 + IMU 融合。

融合原理:

  • IMU 提供高频(200-1000Hz)的运动估计,在视觉帧之间填补空白
  • 视觉提供低频但无漂移的位姿估计,用来校正 IMU 的累积漂移
  • 两者紧耦合联合优化,同时估计位姿、IMU 零偏、视觉特征位置

优势:

  • 解决了单目视觉的尺度不确定性问题(IMU 提供加速度,可以恢复尺度)
  • 快速运动时视觉丢帧,IMU 可以继续提供位姿
  • 体积小、成本低,适合消费级产品(无人机、AR 眼镜、手机)

代表算法: VINS-Mono、MSCKF、OKVIS、Kimera-VIO

方案二:LIO(激光惯性里程计)

LIO(Lidar-Inertial Odometry)= 激光雷达 + IMU 融合。

融合原理:

  • IMU 用于激光点云的去畸变(机器人运动时,一帧点云的不同扫描线是在不同时刻获取的,需要用 IMU 运动补偿)
  • 激光提供精确的位姿估计,校正 IMU 漂移
  • 两者紧耦合优化,得到高精度、高鲁棒的位姿和地图

优势:

  • 精度高(激光测距精确)
  • 不受光照影响
  • 适合室外、大范围、高精度场景

代表算法: LIO-SAM、FAST-LIO、FAST-LIVO、R3LIVE

方案三:轮速计 + IMU + 视觉/激光(全融合)

对于轮式机器人,最完整的融合方案是轮速计 + IMU + 视觉/激光三者融合。

各传感器的角色:

  • 轮速计:提供稳定的平面运动估计(不打滑时精度高),是基础
  • IMU:提供高频运动估计和姿态,检测打滑,辅助轮速计
  • 视觉/激光:提供全局定位和回环检测,校正累积误差,构建地图

融合架构:

  • 松耦合:每个传感器先独立估计位姿,然后把多个位姿结果融合(如 EKF 融合)
  • 紧耦合:把所有传感器的原始观测放在一起联合优化(如因子图优化、迭代 EKF)

目前主流的机器人系统(如 ROS Navigation、自动驾驶方案)通常采用紧耦合的多传感器融合架构,以获得最高精度。

3.3 融合算法:EKF 与因子图

扩展卡尔曼滤波(EKF):

  • 原理:用卡尔曼滤波的预测-更新框架,融合多个传感器的数据
  • 预测步:用 IMU/轮速计的运动模型预测状态和协方差
  • 更新步:用视觉/激光的观测更新状态,校正预测
  • 优点:计算量小、实时性好、易于实现
  • 缺点:假设高斯噪声、一阶线性化近似,处理强非线性和回环检测能力有限
  • 适用:实时性要求高、计算资源有限的嵌入式系统

因子图优化(Factor Graph Optimization):

  • 原理:把机器人的位姿作为图中的节点,把传感器观测作为约束边,通过优化整个图得到全局一致的轨迹
  • 可以处理回环检测、重定位、多传感器联合优化
  • 优点:精度高、可以处理回环、灵活性强
  • 缺点:计算量大、需要迭代优化、实时性挑战
  • 适用:有足够计算资源、需要高精度和回环的场景

目前的趋势是「EKF 做高频实时输出 + 因子图做低频全局优化」——EKF 保证实时性,因子图保证全局精度,两者结合。

3.4 融合中的关键工程问题

1. 传感器标定(Calibration)

多传感器融合的前提是精确的传感器标定,包括:

  • 内参标定:摄像头的焦距、主点、畸变系数;激光的内参
  • 外参标定:传感器之间的相对位置和姿态(摄像头到 IMU、激光到 IMU、轮速计到机器人中心)
  • 时间同步:传感器之间的时间偏移(硬件触发同步或软件时间戳对齐)
  • IMU 标定:零偏、尺度因子、非正交误差、温度漂移

标定不准,融合效果会大打折扣。在实际项目中,标定往往占整个定位系统开发的 30%-40% 工作量。

2. 打滑检测与处理

轮式机器人融合中,打滑是最大的挑战。需要:

  • 打滑检测:当 IMU 测量的运动与轮速计推算的运动不一致时,判断可能打滑
  • 打滑处理:检测到打滑后,降低轮速计在融合中的权重,更多依赖 IMU 和视觉/激光
  • 运动控制优化:通过平滑加减速、限制转弯速度等方式减少打滑

3. 传感器故障检测与容错

多传感器系统需要具备故障检测和容错能力:

  • 当某个传感器数据异常(如摄像头被遮挡、激光被干扰、IMU 数据跳变),能及时检测
  • 故障传感器被自动降权或剔除,系统继续用其他传感器维持定位
  • 故障恢复后,自动重新接入融合

4. 计算资源与实时性

多传感器融合计算量大,需要在有限的嵌入式计算资源上保证实时性:

  • 合理选择融合算法(EKF 比因子图快)
  • 优化代码(定点运算、NEON 加速、GPU 加速)
  • 合理设置传感器帧率和融合频率(不需要所有传感器都满帧率融合)

工程视角: 多传感器融合说起来简单(「把多个传感器的数据合在一起」),做起来全是细节。最大的挑战不是算法,而是标定、同步、异常处理这些「脏活累活」。一个好的融合系统,90% 的精力花在这些工程细节上,算法只占 10%。在实际项目中,建议优先选择已经做好标定和融合的成熟方案(如 ROS 的 robot_localization 包、FAST-LIO、VINS 等),不要从零写融合算法——把精力花在场景适配和参数调优上,投入产出比更高。


四、不同机器人的定位传感器配置

不同类型的机器人,定位传感器配置不同:

4.1 轮式机器人(AGV、服务机器人、扫地机器人)

典型配置: 轮速计 + IMU + 2D 激光雷达(或视觉)

  • 轮速计是基础,提供稳定的平面运动估计
  • IMU 辅助姿态估计和打滑检测
  • 2D 激光雷达做 SLAM 和避障,校正累积误差
  • 成本敏感的产品(如扫地机器人)可能用视觉替代激光

4.2 人形机器人

典型配置: IMU + 视觉(深度相机/多目)+ 激光雷达(可选)+ 关节编码器

  • 人形机器人没有轮子,不能用轮速计,主要依赖 IMU + 视觉
  • IMU 是核心,提供姿态和高频运动估计(人形机器人对平衡控制要求高,IMU 至关重要)
  • 视觉(深度相机)做 VIO 和环境感知
  • 激光雷达可选,用于高精度导航和避障
  • 关节编码器提供腿部运动信息,辅助姿态估计

4.3 四足机器人

典型配置: IMU + 关节编码器 + 视觉(可选)+ 激光雷达(可选)

  • IMU 是核心,提供姿态和平衡控制反馈
  • 关节编码器提供腿部运动信息,推算足端位置和身体运动
  • 视觉和激光雷达用于导航和避障,不是必须(很多四足机器人主要靠遥控或预设轨迹)

4.4 无人机

典型配置: IMU + 气压计 + GPS(室外)/ 视觉(室内)+ 激光雷达(可选)

  • IMU 是核心,提供姿态和高频运动估计(无人机对姿态控制要求极高)
  • 气压计提供高度估计
  • GPS 提供室外绝对定位
  • 室内用视觉(VIO)或激光做定位
  • 激光雷达用于避障和精细定位

五、总结

IMU 和轮速计是机器人定位的两种基础传感器,各有优势和缺陷,通过多传感器融合可以实现高精度、高鲁棒的定位。

核心要点回顾:

  1. IMU(惯性测量单元):机器人的「内耳」,测量加速度和角速度,高频响应、不受环境影响,但漂移严重(位置误差随时间二次方增长),需要外部传感器校正
  2. 轮速计(编码器):机器人的「脚感」,测量轮子旋转推算运动,精度高、稳定,但怕打滑、有非等径和累积误差,仅适用于轮式机器人
  3. 多传感器融合:IMU + 轮速计 + 视觉/激光融合,取长补短,实现「1 + 1 > 2」的效果。常见方案包括 VIO(视觉+IMU)、LIO(激光+IMU)、全融合(轮速+IMU+视觉/激光)
  4. 融合算法:EKF(实时性好、计算量小)和因子图优化(精度高、支持回环),两者结合是趋势
  5. 工程关键:传感器标定、时间同步、打滑检测、故障容错、计算资源优化,这些工程细节决定了融合系统的实际性能

定位是机器人所有功能的基础——没有准确的定位,就没有可靠的导航、避障和任务执行。理解 IMU 和轮速计的原理与缺陷,掌握多传感器融合的方法,是做好机器人定位系统的必备基础。


关于作者: 越微智能(Yuewell)专注具身智能与工业 AI 视觉落地,基于自研 VLA 多模态大模型,提供全品牌机器人二次开发(适配宇树/优必选/智元/傅利叶)与工业级视觉算法定制,具备多传感器融合与定位系统开发能力,支持从算法、硬件到产线实机部署的全栈交付。
下一篇预告: 《灵巧手与力控技术:从二指夹爪到多指灵巧操作》,我们将拆解机器人的「手」——从简单的二指夹爪到复杂的多指灵巧手,以及力控技术如何让机器人「温柔而精确」地操作物体,敬请关注。