石 磊,金忠全
(1.西南科技大学制造科学与工程学院,四川绵阳 621010;2.西南交通大学 机械工程学院,成都 610000)
20世纪,机器人被开发出来并应用到诸多领域。世界各国都竞相发展机器人技术,使机器人无论是在技术上、数量上还是其应用领域都有前所未有的发展。机器人仿真是机器人研究中的一项重要内容,可以利用计算机的计算和可视化功能,模拟机器人的动态特性和运动轨迹,在机器人示教编程、轨迹规划、碰撞检测等方面有着广泛的应用。目前,机器人的三维仿真技术大致可以分为两类:一种是依托专业软件实现机器人运动仿真,如利用ADAMS建立机器人仿真平台[1-2],利用Pro/E软件完成机械手的虚拟装配[3],利用Solid Works软件建立海洋平台导管架弧焊机器人离线编程系统[4],利用CATIA V5软件对工业机器人运动学进行仿真[5]等;另一种是利用编程语言自行开发以实现机器人运动仿真,如利用C++编程语言实现机器人的运动仿真[6-7],基于 Java3D的仿人型机器人三维仿真[8]等。前一种方法结合专业软件的优势,分析和计算功能较强,而后一种方法自行开发,具有一定的周期,但更具有自主性。
随着仿真技术的发展,工业机器人末端位姿的运动轨迹需要更加实时精确。而与机器人仿真技术相关的机器人学涉及了较多的数学知识,在编程和开发中存在大量的数组运算。如果利用编程语言编写这些数组运算,将使得程序复杂、不容易调试且实时效果不理想。MATLAB在数学计算上有着得天独厚的优势,具有很强的数据运算功能,特别是矩阵运算。这是其他软件或编程语言所无法比拟的。但MATLAB三维建模的功能明显弱于通用的一些软件,如3DMAX,Pro/E等等。因此采用MATLAB和Pro/E结合以构建四自由度机器人平台。
四自由度SCARA机器人是一种通用工业机器人[9],常用于搬取零件和装配工作。它具有四个关节和四个运动自由度,其中有三个旋转关节,一个移动关节。移动关节用于完成末端执行件的升降运动。SCARA机器人的模型如图1。
图1 四自由度SCARA机器人
对四自由度SCARA机器人按照D-H方法建立各连杆坐标系,相应的四自由度SCARA机器人连杆参数如表1。
表1 机器人连杆参数
表中参数满足:-160°≤θ1≤160°,-110°≤θ2≤110°,0≤d3≤60mm,-266°≤θ4≤266°,L1=200mm,L2=135mm。
根据建立的连杆坐标和连杆参数,我们通过式1得到各连杆变换矩阵。
各连杆变换矩阵的乘积得到四自由度机器人的运动学方程式(6):
对四自由度SCARA机器人,将其分解为底座、大臂、小臂、移动关节和末端五个模块。在Pro/E绘制相应模块,选择模块的对应各个连杆正确的原点及正确的坐标轴指向,建立草图,进行拉伸,得到各个连杆的3D 模型[10]。
Pro/E建立的各连杆的3D模型(prt文件)不能直接被MATLAB调用,需要进行格式的转换。STL(ASCII)格式的三维模型是由许多的数据点构成的,而以任意三个数据点组成的三角形的集合来表示物体外部轮廓形状的几何模型。其中,每个三角形面片由四个数据行表示,即三角形的三个顶点坐标值和三角形面片的外法线矢量坐标值,STL文件其实就是由多个三角形面片的组合而成的。在研究了MATLAB和Pro/E支持的文件类型的基础上,提出了如图2的解决方案。
图2 模型的导入流程
MAT文件是MATLAB可以调用的格式。根据STL(ASCII)格式的特点,编写接口函数,实现数据的存储工作。MAT文件存储了STL文件中重要的数据信息,如三角面片的法向量坐标值及构成面片的三个顶点的坐标值等。
可视化是仿真技术的特征之一。利用MATA-LAB三维可视化技术对机器人操作界面进行设计。操作界面分为了运动区和控制区,通过uicontrol,uimenu与uicontextmenu等函数构建出需要的GUI。
建立figure对象来作为整个GUI的基础窗口,并设置该窗口的相关属性。然后建立axes或uicontrol,uimenu,uicontextmenu对象,并设置它们的相关属性及callback函数来实现相关的控制操作。导入四自由度各连杆的3D模型数据,并采用patch()函数正确组装四自由度SCARA机器人整体模型,实现了图形区的设计。控制区域包括包含滑动条、文本框及控制按钮的建立等。建立的控制区图3所示,其中各个关节变量的范围由SCARA机器人的设计参数决定。
图3 机器人的运动控制面板
在导入四自由度SCARA机器人各连杆3D模型数据和建立控制区域后,编写SCARA机器人的正运动学函数SCARADK()和逆运动学函数SCARAIK()。对于四自由度SCARA机器人,由于它的三个旋转关节轴线平行,所以最多只有两组解。采用行程最小的原则选取最优解。并对SCARA机器人的正解和反解加以验证以保证其正确性。
搭建完毕的四自由度SCARA机器人仿真平台如图4。
图4 SCARA机器人仿真平台
假定期望轨迹为从(250,0,60)到(300,0,60)的一条直线,机器人运动轨迹如图5。
图5 SCARA机器人直线运动轨迹
在研究了机器人建模方法的基础上,采用MATLAB和Pro/E相结合的方法搭建了四自由度SCARA机器人仿真平台,并利用三维可视化技术展示了机器人了实时动态的运动情况,实现了机器人的运动学仿真。结果证明,这种建模和仿真的方法是有效的,模型是可操作的,可以为机器人进一步分析和研究提供参考。
[1]Ting Yao,Yu-xian Gai and Hui-ying Liu,Commercial CAD Tools Based Digital Integrated Development Platform for Laser Cutting Robot,Proceedings of the 2009 IEEE International Conference on Robotics and Biomimetics,December 19-23,2009:2114-2118.
[2]毛立民,邹剑.关节型码垛机械手运动学分析及仿真[J].组合机床与自动化加工技术,2010(9):44-47.
[3]谭晓东,刘鑫,赵岩.PUMA560机械手虚拟装配过程中的视觉分析和变换计算的研究[J].组合机床与自动化加工技术,2010(1):27-31.
[4]张牧,李亮玉,王天琪,等.基于Solid Works的海洋平台导管架弧焊机器人离线编程系统[J].上海交通大学学报,2008(S1):12-14.
[5]邢迪雄,张琦.基于CATIA V5的工业机器人运动学仿真研究[J].机械,2011(1):57-61.
[6]顾剑锋,张兴国,朱龙彪.基于DSP运动控制器的5R工业机器人系统设计[J].组合机床与自动化加工技术,2009(11):52-55.
[7]李吉平,杜江,彭健均.基于精度可控几何模型的CRT工业机器人运动仿真[J].组合机床与自动化加工技术,2010(9):67-69.
[8]孙毅军,佘蕾斌,邱长伍,等.基于Java3D的仿人型机器人三维仿真[J].上海交通大学学报,2007(8):1287-1291.
[9]郭其龙,张连东.SCARA型机器人鲁棒控制及仿真的研究[J].组合机床与自动化加工技术,2008(2):38-41.
[10]钟日铭.Pro/ENGINEER产品建模与Cinema4D渲染表现[M].北京:清华大学出版社,2010.