3. 误差源分析:几何参数误差、非几何参数误差

做机器人参数辨识这么多年,我最大的体会就是——误差这东西,你躲不掉,只能认清楚它从哪来的。很多新手一上来就急着调算法、跑优化,结果辨识出来的参数一塌糊涂。为什么?因为连误差的根儿都没摸清楚。

这一章,我们就来掰扯掰扯误差的源头。说白了,就两大类:几何参数误差和非几何参数误差。我习惯把它们比作「硬伤」和「软病」——一个来自制造装配,一个来自物理特性。

3.1 几何参数误差:那些「差之毫厘,谬以千里」的事

几何参数误差,指的是机器人名义模型和实际物理结构之间的偏差。你图纸上画的是100mm,实际加工出来是100.05mm,这就是几何误差。

我在项目中遇到过一台六轴机器人,标称重复定位精度±0.02mm,但实际干活时末端偏差能到0.3mm。查了半天,最后发现是连杆长度误差和关节零位偏移叠加造成的。嗯,这就是典型的几何参数误差。

几何参数误差的主要来源:
  • 连杆长度误差:加工公差、装配间隙导致实际长度与DH参数不符
  • 关节零位偏移:编码器安装时没对准,或者机械限位有偏差
  • 关节轴线不平行/不垂直:装配时轴线角度偏离设计值
  • 基座安装误差:机器人底座没调平,或者固定螺栓有松动
  • 工具中心点(TCP)误差:末端执行器安装位置与标定值不一致

你想想看,这些误差单个看都不大,但经过运动学链的传递,到了末端就是几倍甚至几十倍的放大。我见过最夸张的一次,一个0.01°的关节零位偏移,在1米臂展末端产生了0.17mm的偏差——这就是杠杆效应。

3.2 非几何参数误差:那些「看不见摸不着」的力

几何误差好歹还能用尺子量、用激光跟踪仪测。非几何参数误差就麻烦了——它跟受力、温度、磨损都有关系,是动态变化的。

我个人习惯把非几何误差分成三类:柔性变形、齿轮间隙、其他乱七八糟的(摩擦、热膨胀、迟滞等)。

3.2.1 柔性变形:机器人也会「弯腰」

很多初学者以为机器人是刚体,其实不是。你拿一个50kg的负载装在末端,关节和连杆都会变形。尤其是谐波减速器和RV减速器,它们的扭转刚度有限,受力后会产生明显的角度偏差。

我曾经调试过一个重载搬运机器人,空载时定位精度很好,一抓取工件就偏了0.5mm。排查了很久,最后发现是关节柔性导致的。后来在模型里加入了柔性参数,精度直接提升了一个数量级。

我的经验:柔性误差通常用关节刚度矩阵来建模。每个关节可以看作一个扭转弹簧,刚度系数K_j。受力矩τ时,产生的变形量Δθ = τ / K_j。这个模型虽然简单,但工程上非常实用。

3.2.2 齿轮间隙:回程误差的元凶

齿轮间隙,也叫背隙或回程误差。说白了就是齿轮啮合时,齿和齿之间那点「空档」。当关节换向时,电机转了一小段,但输出端没动——这就是间隙在作怪。

我记得有一次做轨迹跟踪实验,机器人走圆形轨迹时,在四个象限切换点出现了明显的「毛刺」。一开始以为是控制参数没调好,后来用激光干涉仪一测,发现是RV减速器的背隙在换向时产生了约0.02°的跳变。

注意:齿轮间隙是非线性的!它跟负载大小、运动方向、磨损程度都有关系。简单的线性模型往往不够用,我建议使用滞回模型或死区模型来描述。

3.3 误差源分类总结

为了让你看得更清楚,我整理了一张表。这张表我在做项目时经常翻出来对照,排查问题很有用。

误差类别 具体来源 典型量级 辨识难度 我的建议
几何参数误差 连杆长度 0.01~0.5 mm 低 用激光跟踪仪直接测量
关节零位偏移 0.001°~0.1° 中 通过辨识算法反算
轴线不平行度 0.01°~0.2° 中 需要多姿态测量数据
非几何参数误差 关节柔性 0.001°~0.5° 高 加载实验+刚度辨识
齿轮间隙 0.005°~0.1° 高 换向实验+滞回模型

3.4 误差源之间的耦合:别把它们割裂开看

这里我要强调一点:几何误差和非几何误差不是独立的。它们会相互影响,甚至相互放大。

举个例子:一个关节有0.05°的零位偏移(几何误差),同时这个关节的减速器刚度较低(柔性误差)。当机器人带负载运动时,柔性变形会改变实际关节角度,进而让零位偏移的「表现」变得更加复杂。你单独辨识任何一个,结果都不准。

我曾经踩过这个坑。一开始只辨识了几何参数,精度提升到0.2mm就卡住了。后来把柔性参数加进去,精度直接干到0.05mm。再后来发现齿轮间隙也有影响,补上之后到了0.02mm。所以我的建议是:能一起辨识就别分开,能建耦合模型就别用独立模型。

3.5 误差源分析的核心逻辑

下面这张图是我自己总结的误差源分析框架。每次做参数辨识前,我都会先按这个逻辑走一遍,确定哪些误差是主要的,哪些可以忽略。

误差源分析核心逻辑 机器人末端总误差 几何参数误差 非几何参数误差 连杆长度误差 关节零位偏移 关节柔性变形 齿轮间隙 直接测量法 最小二乘辨识 加载实验+刚度辨识 换向实验+滞回模型 建立完整误差模型 → 参数辨识 → 补偿 耦合

这张图的核心思想是:从末端总误差出发,逐层分解到具体来源,再选择合适的辨识方法。我每次做项目都会先画这么一张图,把主要误差源标出来,然后决定先辨识哪个、后辨识哪个。

3.6 避坑指南

最后,分享几个我踩过的坑,希望能帮你少走弯路。

避坑1:我曾经以为几何误差是主要的,花了很多精力去标定连杆长度。结果发现柔性误差的影响更大。所以我的建议是——先做一次负载实验,看看空载和满载的偏差有多大。如果偏差明显,那柔性误差就是大头,别在几何参数上死磕。
避坑2:齿轮间隙的辨识,千万别只测一个方向。我吃过这个亏——只测了正转方向的数据,结果模型在反转时完全不准。一定要做正反转双向测量,才能把间隙的滞回特性抓出来。
避坑3:温度对非几何误差的影响比你想象的大。有一次我在夏天标定的参数,到了冬天精度就变了。后来发现是润滑油的粘度变化导致摩擦特性变了。所以标定环境要尽量接近实际工作环境,或者在不同温度下做多组标定。

好了,这一章的内容就到这里。误差源分析是参数辨识的基石,地基打不牢,后面盖什么楼都得塌。希望你能把这些概念吃透,下一章我们就要开始动手做辨识实验了。


可可精品资料库