「具身智能落地实战」系列第 7 篇
前几篇我们拆解了具身机器人的硬件、VLA 大脑、SLAM 空间认知和占据栅格网络。但 SLAM 和导航的基础是「定位」——机器人要知道自己在哪、朝哪个方向、走了多远。而定位的基础是传感器。本文聚焦两种最基础也最重要的定位传感器——IMU(惯性测量单元)和轮速计(编码器),拆解它们的工作原理、各自的缺陷,以及如何通过多传感器融合实现高精度、高鲁棒的定位。
引言:机器人的「方向感」从哪来
人类走路时,即使闭上眼睛,也能大致知道自己走了多远、转了多少弯、现在面朝哪个方向。这种「方向感」来自我们的前庭系统(内耳的半规管和耳石器)和本体感觉(肌肉和关节的运动感知)。
机器人没有天生的方向感,它完全依赖传感器来感知自身的运动和姿态。在所有定位传感器中,有两种是最基础也最重要的:
- IMU(惯性测量单元):机器人的「内耳」,感知加速度和角速度,推算姿态和运动
- 轮速计(编码器):机器人的「脚感」,通过测量轮子转速推算移动距离和速度
这两种传感器各有优势,也各有致命缺陷。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 的分类与选型
| 等级 | 典型器件 | 零偏不稳定性 | 价格 | 适用场景 |
|---|---|---|---|---|
| 消费级 MEMS | MPU6050、BMI088 | 10-100 °/h | 几块-几十块 | 玩具、简单平衡、消费电子 |
| 工业级 MEMS | ADIS16470、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 和轮速计是机器人定位的两种基础传感器,各有优势和缺陷,通过多传感器融合可以实现高精度、高鲁棒的定位。
核心要点回顾:
- IMU(惯性测量单元):机器人的「内耳」,测量加速度和角速度,高频响应、不受环境影响,但漂移严重(位置误差随时间二次方增长),需要外部传感器校正
- 轮速计(编码器):机器人的「脚感」,测量轮子旋转推算运动,精度高、稳定,但怕打滑、有非等径和累积误差,仅适用于轮式机器人
- 多传感器融合:IMU + 轮速计 + 视觉/激光融合,取长补短,实现「1 + 1 > 2」的效果。常见方案包括 VIO(视觉+IMU)、LIO(激光+IMU)、全融合(轮速+IMU+视觉/激光)
- 融合算法:EKF(实时性好、计算量小)和因子图优化(精度高、支持回环),两者结合是趋势
- 工程关键:传感器标定、时间同步、打滑检测、故障容错、计算资源优化,这些工程细节决定了融合系统的实际性能
定位是机器人所有功能的基础——没有准确的定位,就没有可靠的导航、避障和任务执行。理解 IMU 和轮速计的原理与缺陷,掌握多传感器融合的方法,是做好机器人定位系统的必备基础。
关于作者: 越微智能(Yuewell)专注具身智能与工业 AI 视觉落地,基于自研 VLA 多模态大模型,提供全品牌机器人二次开发(适配宇树/优必选/智元/傅利叶)与工业级视觉算法定制,具备多传感器融合与定位系统开发能力,支持从算法、硬件到产线实机部署的全栈交付。
下一篇预告: 《灵巧手与力控技术:从二指夹爪到多指灵巧操作》,我们将拆解机器人的「手」——从简单的二指夹爪到复杂的多指灵巧手,以及力控技术如何让机器人「温柔而精确」地操作物体,敬请关注。