赵修琪,卢继霞,陈相如,薛嘉乐
(中国矿业大学(北京)机电与信息工程学院,北京 100083)
近几年机械臂在很多生产领域得到广泛的应用,是由于它不仅使用方便、动作灵活迅速、而且能适于各种工作环境,减少劳动力、提高生产效率[1]。当今的工业生产领域中有很多类型的工业机械臂,如自动喷涂机械臂、自动涂装机械臂、自动上下料机械臂等,在镀膜领域除了自动镀膜机外,目前国内外公开发表的资料中暂时没有机械臂应用在镀膜领域,但是自动镀膜机体积大、价格昂贵。
这里设计的五自由度自动镀膜机械臂的主要工作是对DW1介质恒压堵塞型油液污染度自动检测仪[2]所需要的微孔滤膜进行镀覆。滤膜镀覆的标准工艺流程是基于课题组的前期研究结果[3-5],包含了除油、水洗、除锈、水洗、预镀镍、化学镀镍等操作,目前介质恒压堵塞型油污检测仪采用的滤膜都是人工镀覆,但是人工镀覆存在以下问题:(1)人工镀覆不仅效率低,而且有时在镀膜的过程中会因为各种外来因素的影响使得镀膜时间不精准,影响化学镀膜的质量;(2)完成一次完整镀膜过程的时间大约是35min左右,如果连续人工镀膜就会非常耗时耗力;(3)化学镀膜避免不了一些化学药品的挥发,长时间镀膜会对工作人员健康产生不良影响。
机械臂不仅定位精准,而且每个动作的时间控制精准,从而可以提高镀膜的质量,减少劳动力,提高生产率。设计的五自由度自动镀膜机械臂,如图1所示。
图1 五自由度自动镀膜机械臂Fig.1 Five-Degree-of-Freedom Manipulator
机械臂的5个关节都是转动关节,两关节之间由连杆连接。关节(1~4)可以使末端执行器到达任意位置,关节5的设计是为了保证滤膜镀覆中的水洗操作。底座起支撑作用,控制器也放在底座中。末端执行器用来抓取滤膜夹。
(1~8)分别对应机械臂进行微孔滤膜镀覆时所需要的8道工序:上样、除油、水洗、除锈、水洗、预镀镍、化学镀镍和下样,这8道工序中所需要的器具以相互间隔25°分布在半径为400mm的半圆边界上,如图2所示。
图2 机械臂镀膜工作空间示意图Fig.2 Mechanical Arm Plating Working Space Diagram
图中:0—五自由度自动镀膜机械臂所在的位置;1、8—对应机械臂取放滤膜所在位置;2—除油工序,所需超声除油装置高为280mm;3~6工序中所需要的装置为1000mL烧杯;7—化学镀镍,所需装置为长宽高均为200mm的恒温箱。
为了解所设计的机械臂能否满足镀膜的工作要求,需要对其运动学特性、工作空间及运行轨迹等进行仿真分析。
首先根据镀膜的作业要求确定机械臂的初始位姿,按照改进D-H法[6]建立坐标系,为了简化运算,把基坐标与关节1的坐标重合。机械臂的D-H坐标系,如图3所示。连杆参数,如表1所示。
图3 机械臂的改进D-H坐标系Fig.3 Improved D-H Coordinate System for the Manipulator
表1 机械臂连杆参数Tab.1 Mechanical Arm Link Parameters Determined
正运动学就是根据两连杆坐标系之间的矩阵,然后将这些变换矩阵相乘得到机械臂的运动学方程,即末端执行器的位置。两连杆之间的变换矩阵可以用式(1)表示[7-8]。
将表1中各连杆参数代入可得各连杆变换矩阵:
式中:ci=cosθi,si=sinθi,i=1,2,3,4,5。
将上述矩阵一次连续相乘得到正向运动学方程:
机械臂的逆运动学问题,可以理解为通过运动学方程:
求解一系列的关节角θ1,θ2,θ3,θ4,θ5[9]。
2.3.1 求解第一关节角
使方程(4)左右两边矩阵的(2,4)元素对应相等可得:
可以得出θ1的解:
2.3.2 求解第二关节角
令方程(4)两边的元素(1,4)和元素(3,4)分别相等,得到:
令方程(4)两边的元素(1,3)和(3,3)分别对应相等,得到:
把式(8)代入到式(7)中,消去c234、s234项,并两边平方,可得:
其中,K1=c1px+s1py-d5c1ɑx-d5s1ɑy;K2=pz-d5ɑz
对(9)的两个等式相加并进行整理,把含有θ2移动到一侧,得到:
(正负号对应于θ2的两个解)
2.3.3 求解第三关节角
利用同样的方法将式(8)代入式(7),消去c234、s234项,并分离出含有s23、c23的项得到:
把(12)中的两个等式相加,并求得:
(正负号对应θ2+θ3的两个解)
所以得:
根据θ2和θ2+θ3解得4种可能组合,θ3有四种解。
2.3.4 求解第四关节角
重新整理式(3)得:
令式(15)两边元素(1,3),(2,3)分别对应相等得:
(由于θ2+θ3有两种可能解,所以θ4有2种可能的解)
2.3.5 求解第五关节角
令式(14)两边元素(3,1),(3,2)分别对应相等得:
末端执行器能够到达的所有区域就是机械臂的工作空间,工作空间是衡量机械臂工作能力的重要指标,可以运用蒙特卡洛(Monte Carlomethod)的方法对机械臂进行工作空间仿真分析[10]。
生成蒙特卡洛法工作空间的思路如下:
(1)通过正运动学方程,求解出末端执行器的相对于基座的位置向量。
(2)利用rand函数在各关节角度范围内产生N个0到1之间均匀随机数rand(N,1)作为随机步长×rand(N,1),从而得到机械臂关节变量的伪随机值为:
(3)将上述(2)中得到的关节角度值代入正运动学方程,求得执行器的坐标。
(4)Matlab输出的结果即为机械臂的工作空间。
使用蒙特卡洛法在Matlab上的Robotics Toolbox中对机械臂的工作空间进行仿真分析。取随机坐标点数目N=10000,得到五自由度机械臂工作空间,如图4所示。
图4 机械臂末端运动空间在坐标平面上的投影Fig.4 Projection of the End of the Arm Movement Space on the Coordinate Plane
如图4(a)所示,机械臂末端执行器能够到达的最远距离为700mm,如图4(b)~图4(c)所示,机械臂末端执行能到达最高高度为700mm,满足镀膜所需的工作空间。
Matlab中的Robotics Toolbox的工具箱功能很强大可以完成对机械臂建模、仿真分析、轨迹规划等任务,并且以图形的方式将仿真结果体现出来,可以直观的看出机械臂的运动情况。
在Matlab中,调用Link()函数可以很方便的建立机臂模型,调用格式为:
其中,(sign=0表示只有转动关节,modified为改进D-H参数),编写仿真模型的步骤如下:
(1)调用Link()函数并把表1中的θi、di、ɑi-1、αi-1、0依次代入Link()函数,得到L1、L2、L3、L4、L5,其中0表示转动关节;
(2)调用SerialLink()函数把L1、L2、L3、L4、L5命名为机械臂;
(3)设置机械臂的初始位姿时各关节的角度为[0-pi/2pi/2 0 0];
(4)调用teach()和plo(t)函数画出模型驱动器和机械臂仿真模型;
所建仿真模型,如图5所示。
图5 机械臂模型Fig.5 Robotic Arm Model
机械臂模型驱动器,可以拖动图中的滑块,使机械臂运动,如图5(a)所示。机械臂初始位置的仿真模型,如图5(b)所示。
机械臂在进行作业前,都需要对其运动规划,以保证机械臂按照作业要求进行相应的动作。根据图2知自动镀膜机械臂镀膜过程中需要8道工序,这8道工序所需要的装置以间隔25°平均分布在半圆工作空间的边界线上。除了第一道工序中滤膜的抓取动作外机械臂完成每道工序的动作都是提升→旋转→下降,只是在每个器具中停留的时间不一致。这里对从第一道工序转移到第二道工序过程时的旋转动作进行规划。
利用Robotics Toolbox中的jtrɑj函数可以实现机械臂关节空间规划。调用jtrɑj函数的格式为:[qqdqdd]=jtrɑj(q0q1t),其中q为从状态q0到状态q1的关节空间规划轨迹,qd、qdd分别为该规划轨迹的速度和加速度,t为给定的时间长度向量。以第一道工序正上方360mm处的点A为机械臂旋转前位置,点A的坐标为(400,0,360),第二道工序(超声除油)装置正上方360mm处点B的坐标可以通过三角函数计算获得(363,169,360),点B为机械臂旋转后位置的坐标。以A和B两点为例,利用已建立机械臂模型进行运动学轨迹仿真。过程如下:
(1)首先设置采样时间为2s,步长为0.056s;
(2)设置机械臂模型规划仿真的初始位置A和终点位置B分别 为[0-1.4850 1.1245 0.3605 0]、[0.3927-1.4850 1.1245 0.3605 0];
(3)调用[q,v,ɑ]=jtrɑj[q,q0,q1]进行轨迹规划
(4)调用plo(t)函数画出机械臂的运动图;
(5)利用finke()函数计算出变换矩阵,并用squeeze()函数提取动态变换矩;
(6)调用plot3()函数画出空间轨迹,调用plo(t)函数角位移、角速度、角加度随时间变化曲线;
机械臂旋转前A点所在位置,如图6所示。机械臂旋转后B点所在位置,如图7所示。机械臂到达预定位置的运动轨迹,如图8所示。可以看出末端执行器仅在X、Y轴有位移的变化,在Z方向上没有位移波动。
图6 机械臂起始位置AFig.6 Schematic Diagram of the Starting Position of the Arm
图7 机械臂终点位置BFig.7 Robot Arm End Position
图8 机械臂末端执行器空间轨迹Fig.8 Robot Arm End Effector Space Trajectory
对机械臂进行轨迹规划仿真不仅可以将机械臂各关节相关运动参数直观显示出,还很方便的分析结果。例如上述图9列出了关节1的角位移、角速度、角加速度随时间变化曲线,从图中很明显的看到它们随时间的变化不存在间断和突变。其它关节分析结果类似。由以上分析可知机械臂及其末端执行器可以连续平稳地完成所需的镀膜作业。
图9 关节1的相关运动参数随时间变化曲线Fig.9 Curve of Time-Dependent Curve of Joint 1
主要是对自动镀膜机械臂正、逆运动学进行了分析求解,并在此基础上运用蒙特卡洛法对机械臂的工作空间进行仿真分析。使用Matlab软件中的Robotics Toolbox工具箱建立机械臂的仿真模型并进行运动轨迹仿真,得到机械臂相关运动参数随时间变换的曲线图。通过分析所得到的仿真结果表明所设计的机械臂可以满足微孔滤膜镀覆的工作要求。