邹泽成
伯明翰大学 英国 伯明翰 B15 2TT
在拆卸过程中,轴孔拆卸是一项常见的高重复性任务,机器人执行起来并不容易。究其原因,主要是在轴栓和轴孔刚性高、柔度不够的情况下,即使在位置或方向上稍有偏差,也会产生无约束的接触力,从而导致拆卸失败[1]。在本研究中,我们设计了一个完整机器学习的演示方法,以克服卡阻和楔入的问题,生成能够实现轴孔自动化拆卸控制策略。在KUKA iiwa上,应用该控制策略进行自动轴孔拆卸。
2.1 演示前的过程分解 轴孔拆卸过程分为三个主要阶段:(1)抓取阶段:机器人上的夹持器移动到预设位置,抓住轴栓的头部。(2)方位调整阶段:夹钳夹紧轴栓,绕自由端旋转,使轴栓与轴孔的轴线平行对齐。(3)分离阶段:在垂直向上的方向施加适当的力,使其分离。在分离阶段,力的大小和方向是不断调整,以尽量减少轴栓和轴孔之间的阻力。
图表1 Peg-hole disassembly process
在控制策略训练之前,演示数据要进行时域同步。因为人类无法高精度地重复同一动作,而不一致会对控制策略产生不利影响。在DTW 算法中,假设在时域上数据有两组演示数据P'A(t)和P'B(t)。数据P'A(t)和P'Bt()的序列分别为m 和n,排列在网格板的两侧。网格表示时间间隔。如图6所示,在m×n网格板中,每个网格都有一个坐标(i,j)。
为了对齐这两个序列,点上(i,j)的数字是到这两个点Ai和Bj的距离d
由于精确的定位系统,机器人(KUKA iiwa14)在给定位置信息的情况下,抓取轴栓头部并不困难。同时,轴栓与轴孔之间的卡阻和楔入一般发生在第二、第三阶段。因此,演示的重点是如何调整方向偏差和运用适当的作用力。
2.2 拆卸过程的演示 演示过程由人类握住低刚度的机械臂,并且执行被夹持器抓住的轴栓与孔分离。从夹具抓住轴栓起,传感器开始同时记录腕部信息W 和轴栓的姿势信息P,直到拆卸完成。若刚度太高,人很难移动机械臂。反之刚度太低,机械臂无法承受其重量并跌落到地面。因此,应改变轴X,Y,Z的刚度以适应不同阶段。
传感器记录的数据要能够提供足够的信息以便充分学习。轴孔拆卸在三维空间中,坐标原点OH位于孔的中心,栓头部中心为OP。轴栓姿势信息为P=[x,y,z,α,β,γ]T。(x,y,z)表示位置,(α,β,γ)表示以z-x-z顺序的欧拉角。腕部信息表示为W=[Fx,Fy,Fz,Mx,My,Mz]T。(Fx,Fy,Fz)表示施加的力,(Mx,My,Mz)表示力矩。由于整体形成十二维数据组,将导致额外的训练,且控制策略不可靠。因而需要将数据减少到低维度进行训练,执行运动时恢复高维度。训练前三维减少到二维,忽略切向方向上的数据。
将桩孔拆卸压缩成二维平面。其中栓的姿态信息可以表示为三个变量P'= [r ,z',φ]T,腕部信息也表示为三个W'=[Fz',Fr,M]T.映射函数计算如下:(Ai,Bj)。这是序列A 和序列B各点之间的相似性。距离越小,相似性越高。两点之间的欧氏距离是。DTW 的目标是通过从左下角(1,1)到右上角(m,n)的连续点找到最佳路径。通过计算,构成路径的点是两个序列的对齐点。沿着这条路径,累积欧氏距离D(m,n)最小,其中K 为对齐点的总数。累积距离表示为:
本文使用高斯混合回归来计算输入和输出之间的关系。输入最直观影响的是速度的变化,因此,选择位置的导数(相对速度)作为输出。
既,
该控制策略是建立在给定腕部W 的基础上,它将产生最佳的校正速度,使p( W)最大化。校正速度的具体函数如下所示。
由于所确定的参数较多,计算负担较低,能够实时生成校正速度。用速度在KUKA iiwa上实现了速度控制策略。
第二个测试是将轴孔放置到距离原来位置30 cm 的位置,测试结果与第一组对比如下,实验结果表明,成功率均为100%,可以实现自主轴孔拆卸。两种情况下的平均试验时间小于演示的平均时间,表明机器人在学习了人类的技能后可以很快执行。演示中X-Y 平面有一些偏差,使所学的技能在新的位置上有过多的修正。平均时间误差和接触力误差分别为7.1%和4.9%,对计算结果没有显著影响,这种控制策略仍然可以被认为是有用的。
在本课题中,介绍了一种基于人体演示的轴孔拆卸方法,达到了自主拆卸轴孔的目的。与其他费时的学习方法相比,该方法实验次数少,学习范围大大缩小,易于在实际中应用。提高学习的效率,同时提高控制的效率。