3. KUKA机器人运动学基础
输送链跟踪的本质,是让机器人在“链上工件正在移动”的条件下,仍然把工具TCP准确送到工件上的目标点。要做到这一点,控制器必须同时掌握四类坐标信息:机器人各轴当前转到了哪里(关节坐标系)、TCP此刻在空间中处于什么位姿(笛卡尔坐标系)、TCP相对于法兰偏置了多少(工具坐标系),以及整条输送链相对于机器人本体处于什么位置和方向(基坐标系/工件坐标系)。这四者不是并列概念,而是一条从“电机转角”到“工件上的点”的换算链。理解这条链,才能理解为什么跟踪参数填错一个数,机器人就会整体偏一个方向。
一、关节坐标系:机器人自身的“内感受”
KUKA机器人的关节坐标系由A1~A6六个旋转轴组成,每个轴的角度以度为单位,正负号遵循右手定则:从电机侧看向轴端,逆时针为正。例如一台KR 6 R900 sixx在初始姿态附近,A1=0°、A2=-90°、A3=90°、A4=0°、A5=0°、A6=0°,此时机器人手臂大致竖直向上。关节坐标系的特点是:它只描述“机器人自己怎么摆”,不直接对应空间中的某个点。同一个空间位置,机器人可能有多组关节角都能到达(逆解多解),因此关节坐标系不能直接用来描述工件位置。
但在跟踪中,关节坐标系有两个不可替代的作用。第一,它是运动学正解的唯一输入:控制器把A1~A6的角度代入DH参数,算出法兰在基坐标系中的位姿。第二,它是奇异点和轴限位的判断依据。跟踪过程中如果某个轴接近±180°或接近奇异位形(如A5接近0°),即使笛卡尔路径看起来正常,机器人也可能突然降速或报错。因此在示教跟踪轨迹时,应尽量让A5远离0°,并让A1、A4、A6留出足够余量。
二、笛卡尔坐标系:空间中的“外感受”
笛卡尔坐标系用X、Y、Z三个平移量和A、B、C三个旋转量描述位姿,单位分别是mm和度。KUKA默认采用ZYX欧拉角约定:A绕Z轴、B绕Y轴、C绕X轴。基坐标系的原点通常在机器人底座中心,X轴指向机器人正前方,Z轴竖直向上。笛卡尔坐标系的优势是直观:工件在链上移动了200 mm,就是Y方向变化200 mm;工具需要倾斜30°,就是B或C变化30°。
跟踪中,笛卡尔坐标系承担“目标点表达”的角色。视觉系统或PLC给出的工件抓取点,通常就是基坐标系下的X、Y、Z、A、B、C。机器人需要在这个点的基础上叠加输送链的实时位移,再反解成关节角。这里有一个关键约定必须全文统一:本文所有笛卡尔坐标均以基坐标系为参照,X向前、Y向左、Z向上,旋转正方向按右手定则。如果现场视觉给出的坐标是相机坐标系,必须先通过手眼标定矩阵转换到基坐标系,否则跟踪会整体偏斜。
三、工具坐标系:把法兰“变成”工具尖端
法兰盘中心并不是实际工作点。焊枪、吸盘、夹爪的尖端相对于法兰有一个固定的平移和旋转偏置,这就是工具坐标系(TOOL)。KUKA用X、Y、Z、A、B、C六个值描述TCP相对于法兰的位姿。例如一个吸盘工具,TCP在法兰前方150 mm、下方80 mm处,且吸盘轴线与法兰Z轴同向,则TOOL可设为X=0、Y=0、Z=150、A=0、B=0、C=0(具体数值取决于法兰坐标系定义,需以实际标定为准)。
工具坐标系在跟踪中的意义在于:跟踪的目标是“工具尖端对准工件”,而不是“法兰对准工件”。如果TOOL标定有5 mm误差,机器人法兰走对了,吸盘却会偏5 mm,工件就吸不住。更隐蔽的是姿态误差:如果TOOL的B角标定偏了2°,在抓取点距离法兰300 mm时,尖端位置误差约为300×sin2°≈10.5 mm,足以导致抓取失败。因此跟踪工程中,TOOL必须用四点法或六点法重新标定,并在示教器上验证:手动把TCP移到某个尖点,切换不同姿态,TCP应始终停在该点。
四、基坐标系与工件坐标系:跟踪的“公共舞台”
基坐标系是机器人所有笛卡尔坐标的根参照。输送链跟踪中,链的运动方向、链速、工件间距,最终都要表达成基坐标系下的一个位移矢量。如果链沿基坐标系Y轴运动,链速0.2 m/s,那么每10 ms工件沿Y移动2 mm。控制器把这个位移叠加到示教点上,就得到当前时刻的目标点。
但链不一定与基坐标系轴平行。实际安装中,链可能斜着走,或者机器人底座与链不平行。这时需要建立工件坐标系(BASE),把链的运动方向定义成BASE的一个轴。例如用三点法建立BASE:原点取链上某固定标记,X轴指向链运动方向,Y轴指向链宽度方向,Z轴垂直链面向上。这样链速就变成BASE下沿X的纯平移,跟踪计算最简单,也最不容易出错。BASE的另一个作用是统一视觉、PLC和机器人的坐标表达:所有目标点都先转到BASE,再转到基坐标系,最后反解关节角。
五、四类坐标系在跟踪中的协同关系
把上述四类坐标系串起来,跟踪的计算过程可以概括为:视觉或PLC给出工件在BASE下的目标点P_teach;控制器按跟踪周期读取链的实际位移,叠加得到当前时刻目标点P_target = P_teach + v·Δt;再用TOOL把P_target换算成法兰目标位姿;最后通过逆解得到A1~A6的目标角度,驱动各轴运动。整个链条中,BASE决定“往哪个方向跟”,TOOL决定“跟到哪个点”,笛卡尔坐标系决定“目标点怎么表达”,关节坐标系决定“机器人怎么动”。
实际调试中,最常见的错误是坐标系混用。例如视觉给出的是相机坐标,却直接当成BASE坐标填入;或者TOOL标定时只标了平移没标旋转,导致抓取姿态偏斜。排查时可以用一个简单方法:把机器人手动移到示教点,记录当前BASE下的笛卡尔坐标和TOOL下的TCP坐标,再与视觉给出的目标点对比。如果X、Y、Z中某一项整体偏一个固定值,通常是BASE原点或TOOL平移有误;如果偏差随姿态变化,则多半是TOOL旋转或BASE方向有误。
- BASE是否用三点法或直接数值法定义,X轴是否与链运动方向一致;
- TOOL是否用四点法标定,TCP在切换姿态时是否稳定停在同一尖点;
- 视觉/PLC坐标是否已转换到BASE,转换矩阵是否经过验证;
- 跟踪周期Δt是否与控制器实际插补周期一致,链速v是否使用同一单位(mm/s或m/s);
- 示教点附近A5是否远离0°,A1、A4、A6是否留有余量。
理解这四类坐标系的分工与换算关系,是后续配置输送链跟踪参数、编写跟踪程序、排查跟踪偏差的基础。坐标系不是抽象概念,而是每一个跟踪点能否准确落到工件上的实际依据。