纪慧君 苗鸿宾② 李孟虔 双 立 贾 磊
(①中北大学机械工程学院,山西 太原 030051;②山西省深孔加工工程技术研究中心,山西 太原 030051)
双机器人坐标系标定,包含机器人自身参数的标定和双机器人协调运动系统的标定。前者主要指单个机器人工具坐标系的标定,后者指两个机器人基坐标系的标定。由于机器人运动学建模中其基坐标系位于机器人内部,无法通过直接的手段测量两个机器人基坐标系之间的关系。与单机器人标定相比,双机器人标定指通过特定方法得到两个机器人基坐标系之间的位姿变换矩阵。由于非接触式标定过程复杂、设备昂贵,接触式标定的定位精度不够,目前还没有大范围使用的双机器人标定算法。
为了解决多工作任务下频繁更换末端执行器带来的精度问题,需要对工具坐标系进行标定,其实质就是确定机器人末端法兰坐标系与机器人工具坐标系二者之间的关系[1]。一般通过使用标定针与标定台的组合可以满足高精度要求,使用标定针当作机器人的末端执行器,把标定针在笛卡尔坐标系中固连的坐标系作为工具坐标系(tool coordinate system,TCS),这个工具坐标系的原点叫做工具中心点(tool center poin,TCP)。为了方便计算,把 TCP固定在标定针的尖端,TCS中Z轴沿着标定针指向的方向,可以做横滚运动;Y方向沿着机器人末端侧面的方向,可以做俯仰运动;X轴根据右手定则确定,如图1所示。
单机器人标定原理已经相对成熟。常用的有三点标定法、四点标定法和五点标定法[2-3],主要原理是操纵机器人使其末端执行器以不同的姿态接触空间中的多个标定点,读取此刻的机器人参数,采用四点标定法必须规定工具坐标系的中心位置。为了便于操作,故将其定义在标定针尖端,通过移动机器人标定针尖端以不同的姿态到达标定台中心4次。然后定义工具坐标系XYZ轴方向以及工具坐标系的XOY平面,4种位姿方向加上一次X轴平移和XOY面移动共同约束了工具坐标系的姿态以及原点的位置。四点标定如图2所示。
双机器人标定的核心是通过矩阵变换确定两个机器人的位置关系[4]。由于非接触式标定操作过程复杂、容易引入新的误差且成本较高故不予考虑。在接触式标定中学者们普遍采用的是三点“握手”标定法或者空间投影法[5-7],这些方法虽然可以得到相对准确的双机器人基坐标系之间的关系,但是三点“握手”标定法的操作过程相较复杂,需要变换机器人各个关节角度进行标定,空间投影法计算过程繁琐,计算量大。基于以上问题提出了一种操作简单、计算量少且满足精度的双机器人基坐标系标定方法。
双机器人基坐标系标定的前提是完成单机器人自身的建模与标定。首先在两个机器人末端分别安装标定针和标定台,规定主机器人安装标定台,从机器人安装标定针。然后按照第1节中的描述完成每一个机器人自标定。主从机器人标定针和标定台按图3所示相互配合。
为了简化计算,规定从机器人除关节1外,其余关节不动。通过移动从机器人关节1旋转3次,得到其末端TCP的3个位姿点,记为:
R2Pi=(R2xi,R2yi,R2zi),i=1,2,3
同时分别示教主机器人末端TCP到达R2Pi点,得到在主机器人基坐标系下的3个对应的位姿点,记为:
R1Pi=(R1xi,R1yi,R1zi),i=1,2,3
根据三点定圆原则确定P1、P2、P3三点的圆心R1O3(xO3,yO3,zO3)定义为坐标系{R3}的原点,R1O3为从机器人基坐标系轴上平移点,故可得其位置:
其中:
kR1PIR1PJ为直线R1PIR1PJ之间的斜率:
圆的半径为:
r=|R1O3R1P1|
(3)
由于P1、P2、P3均由变化从机器人的第一个关节得到,因此{R2}坐标系的x、y、z轴方向与{R3}坐标系u、v、w一致,{R2}坐标系原点O2与{R3}坐标系原点R1O3竖直方向的距离为:
(4)
式中:R1xO2、R1yO2、R1zO2分别代表坐标系{R2}的原点O2相对于坐标系{R1}的空间位置;Δz为O2与R1O3竖直方向上的距离,并且有Δz=R2z1。
(5)
在实际操作过程中,使用上述方法对双机器人基坐标系标定时难免会产生误差。机器人自身机械加工制造和装配存在一定的误差且不可避免;机器人电机编码器在工作中受到噪声影响,从而产生不可避免的误差;人的操作误差也同样会导致一定的标定误差。
双机器人基坐标系标定方法理论上能够准确地进行标定,引入电机编码器噪声的干扰和人眼观测误差的干扰,验证提出的标定方法抗误差干扰性能。已知人眼能识别的最短距离为0.1~0.2 mm,使用以下公式模拟此误差:
m=n+0.2×rand(1,1)
(6)
其中:n代表理论数据,rand(1,1)表示在0~1随机产生一个数,m为模拟误差后的数据。根据标定方法,主机器人在读取P1、P2、P3点的位置时就会引入此误差,本文也在获取3个点的位置中添加误差。
电机编码器主要的噪声源是热噪声。典型的是高斯白噪声。将其造成的干扰引入理论中编码器测量的数据,这里采用1%幅度的高斯白噪声,加入方法是:
a=b+0.01×b×(rand(1,1)-0.5)
(7)
其中:功率谱密度服从μ=0的均匀分布,振幅为0.01,b为理论数据,a表为受干扰数据。
基于上述误差模型和标定方法,加入高斯白噪声后的关节角如下:
引入高斯白噪声与观测误差后的坐标系{R1}相对于{R3}变换矩阵:
Frobenius范数用于衡量实际矩阵与理论矩阵相似性,2-范数是衡量空间中两点之间的距离的向量范数,它们的值越小,说明两个矩阵之间的误差越小,分别将理论矩阵与实际矩阵中的旋转矩阵和位置向量相减得到:
由上式得出旋转矩阵的Frobenius范数为0.004 4,
表3 加入误差后的机器人数据
位置向量的2-范数为3.290 5 mm,两个范数的值都较小,说明在受到电机编码器噪声干扰和人为操作干扰的情况下,产生的误差小,验证了本文提出的标定方法精度较高,具有一定的应用价值。
为了验证改进算法的可行性与正确性,针对实验室现有JLRB8-600型机械臂,首先按照1节中四点法进行试验研究。本实验室六自由度机械臂默认世界坐标系原点为第二轴线中心,为了便于操作,故手动设定世界坐标系为第四轴z轴方向和第一轴x轴线重合点为世界坐标系原心。故末端标定针理论TCP值为[293,0,370]。在满足法兰盘位置偏距和姿态[2]的情况下进行两组实验。
表4 单机器人标定实验
根据上述实验结果可以看出即使满足法兰盘位置偏距和姿态的前提下,由于人眼、算法、操作误差以及机械臂出厂坐标系设定误差等,实际结果与理论值有较大偏差。
双机器人基坐标系标定试验采用Matlab联合Coppeliasim仿真实验平台,结合上述实验方法,在满足运动空间的前提下将双机器人基坐标系复杂化,同时改变它们之间的相对位姿。
通过V-REP读取中实际两台机器人基坐标系之间的位姿矩阵:
(11)
按照设计的基坐标系标定方法进行操作与记录。为了方便进行标定工作,这里设定从机器人初始关节角度为[0,-90,0,0,0,0]。然后以任意角度转动从机器人第1轴,这里分别转动0°、15°、35°。记录下此位置相对主机器人与从机器人的空间位置以及各自关节转动的角度,图4为每一个点中两个机器人各自的标定情况。
表5 记录主机器人信息
表6 记录从机器人信息
根据标定算法计算得:
(12)
由此得出由基于“三点定圆”的改进双机器人基坐标系标定方法计算的值与在 Coppeliasim 仿真中得出的值完全一致,由此证明此算法的可行性与正确性。
针对现阶段双机器人基坐标系技术操作繁琐,过程复杂与辅助设备昂贵等问题,提出基于“三点定圆”的改进双机器人基坐标系标定方法,通过引入误差,对比实验室单机器人四点标定法,改进后的双机器人基坐标系标定方法在理论和引入误差的实验情况下均能满足精度要求,具有实际意义。