机器人的"方向感"从哪来?定位传感器一次讲透
机器人要导航、要避障、要执行任务,第一步得先知道自己在哪、朝哪个方向、走了多远。
这个"方向感",靠的是两类最基础的传感器:IMU(惯性测量单元)和轮速计(编码器)。
它们一个像"内耳",一个像"脚感",各有绝活,也各有致命伤。单独用谁都撑不住,只有融合起来,才能又准又稳。
先说 IMU:机器人的"内耳"
人闭着眼走路,靠前庭系统也能估个大概。IMU 就是机器人的前庭------它测的是加速度和角速度。
🔹 加速计 :测三个方向的线加速度,静止时能感知重力方向,用来算倾斜角
🔹 陀螺仪 :测三个方向的角速度,积分一下就是姿态变化
🔹 磁力计(可选):测地磁场,辅助确定航向,但室内容易受干扰
IMU 的三大优势很实在:
🔹 频率高 ------通常 100~1000Hz,比摄像头(30Hz)、激光雷达(10~20Hz)快得多,能在两帧之间填补运动空白
🔹 不挑环境 ------黑暗、强光、无纹理,都能正常输出
🔹 短时精度高------几秒内,积分出来的运动估计很靠谱
但它有个致命缺陷:漂移。
因为位置是"加速度积分→速度→再积分"得到的,误差会一路累积,位置误差随时间二次方增长。一个普通 MEMS IMU,静止放几十秒,积分出来的位置可能已经漂了好几米。
一句话记住:IMU 是"闭着眼走路的感觉",走越久偏越远,必须时不时"睁开眼"校正。
再说轮速计:机器人的"脚感"
轮速计测的是轮子转了多少圈、转多快,再按周长换算成走了多远。对轮式机器人,左右轮转速差还能算出航向------这就是"轮式里程计"。
它的优势:精度高(不打滑时)、频率高、便宜可靠,而且误差是线性累积,比 IMU 稳定得多。
但它有三大硬伤:
🔹 打滑 ------轮子转了、车没走那么远。启动急刹、湿滑地面、压到电线门槛,都会让它"数错步数"
🔹 轮子非等径 ------左右轮磨损或气压不同,实际走的是弧线,里程计却以为在走直线,误差是系统性、持续的
🔹 累积误差------每步小误差叠起来,走越远偏越多
轮速计的假设是"纯滚动、不打滑、轮子等径",现实里这些假设都不完全成立。
关键在融合:1 + 1 > 2
单打独斗谁都有短板,所以实战里都是多传感器融合:
🔹 VIO (视觉 + IMU)------视觉低频但无漂移,负责校正;IMU 高频填补帧间空白。VINS、OKVIS 都是这条路
🔹 LIO (激光 + IMU)------激光测距精确、不怕光照,IMU 做点云去畸变。FAST-LIO、LIO-SAM 很经典
🔹 全融合(轮速 + IMU + 视觉/激光)------轮速做基础、IMU 检打滑、视觉/激光做全局校正,主流机器人方案都用这套
融合算法上,EKF 保证实时性,因子图优化保证全局精度,两者结合是当前趋势。
一线踩坑:真正费劲的不是算法
行业里反复翻车的地方,反而不是算法本身,而是这些"脏活累活":
🔹 标定不准 ------摄像头、激光、IMU 之间的相对位姿和时间同步没做好,融合效果大打折扣,标定往往占整个定位系统开发工作量的三四成
🔹 打滑没检测 ------IMU 测的运动和轮速计对不上时,就是打滑信号,得及时降权轮速计
🔹 异常没兜底------某路传感器失效(摄像头被挡、IMU 跳变),系统要能自动降权或剔除,等恢复了再接回来
所以新手别从零写融合算法,优先用成熟方案(ROS 的 robot_localization、FAST-LIO、VINS 等),把精力花在场景适配和参数调优上,投入产出比更高。
定位是机器人一切功能的地基------地基不牢,导航避障都是空中楼阁。
关于作者:越微智能(Yuewell)专注具身智能与工业 AI 视觉落地,基于自研 VLA 多模态大模型,提供全品牌机器人二次开发(适配宇树/优必选/智元/傅利叶)与工业级视觉算法定制,支持从算法、硬件到产线实机部署的全栈交付。