随着自动化技术的发展,工业机器人的应用越来越广泛,已经渗透到各行各业[1-2]。机器人技术在军事、医药、工业自动化、抢险救灾等方面已经成为不可或缺的好帮手[3-4]。一个国家的机器人发展水平也能从侧面体现国家科技的发展水平。本文以广泛意义上的六自由度的机械臂为实例,分析了机械臂的运动学正反解问题。分别利用OpenGL三维仿真技术和Matlab机器人工具箱嵌入机器人技术模块,对六自由度机械臂进行系统模拟仿真,同时建立了机械臂可视化页面。在研发和设计机器人的过程中,机器人仿真技术是一种安全有效的方法,它发挥着至关重要的作用,并且应该广泛地推广[5]。国内外一些学者和研究机构在机器人运动学仿真方面进行了实验性的研究。例如Ding Jienan、GOLDMAN R E、Xu Kai和ALLEN P K设计了一种基于单端口诊断可插入的机器人运动学系统平台[6]。KLOETZER M、MAGDICI S和BURLACU A设计了一种针对规划移动机器人的实验平台和Matlab工具箱[7]。鉴于此,本文选用Matlab机器人工具箱和OpenGL图形图像仿真系统工具,对工业机器人进行在线仿真系统的开发。1 机械臂仿真系统研究本文以ABB公司的IRB4600机器人为研究对象,进行了机器人在线仿真系统的研究与开发应用。ABB的IRB4600工业机器人的精度较高、操作速度快、废品率低,在扩大产能和提升效率方面起到举足轻重的作用,适合切削、点胶、机加工、测量、装配及焊接应用。IRB4600具有超大的工作范围和创新的优化设计,机身紧凑轻巧,所获周期时间与行业标准相比最短可缩减25%,从而提高产能与效率。机器人设计仿真系统的原理如图1所示。在机器人在线仿真系统研究与应用中,一般以Windows作为开发平台,选用Visual C++ 6.0、Matlab机器人工具箱和OpenGL仿真软件作为开发工具来完成机器人模型的设计和建立,具有可视化操作的优点。在机器人的几何模型建立与仿真程序设计的过程中,用户通过对人机交互界面的操作间接地控制目标模型,为机器人的在线仿真系统建立和求解空间模型提供了很好的基础条件。
2 机器人在线仿真系统2.1 ABB的机器人仿真系统Robot Studio是ABB的机器人仿真系统广泛使用的工具,就像真正的机器人在你的电脑。使用ABB的模拟和离线编程软件Robot Studio,可以使得用户在办公室内进行远距离的机器人编程,以满足不同情况下的生产需求。Robot Studio可以提供工具来提高盈利能力的机器人系统,便于执行任务,例如培训、编程和优化无干扰生产。这提供了众多的好处,包括减少风险、快速启动、更短的转换及提高了生产率。Robot Studio可以帮助开发者非常逼真地模拟执行,在程序和配置文件相同的情况下,使用虚拟机器人与真实机器人可以达到一致效果。2.2 基于Inventor的机器人仿真系统Inventor是美国AutoDesk公司推出的一款三维可视化实体模拟软件。借助Inventor的运动仿真功能,用户能了解机器在真实条件下如何运转才能节省花费在构建物理样机上的成本、时间和高额的咨询费用。基于Inventor的机器人仿真系统用户可以根据实际工况添加载荷、摩擦特性和运动约束,然后通过运行仿真功能验证设计。借助与应力分析模块的无缝集成,可将工况传递到某一个零件上,来优化零部件设计。2.3 基于Matlab的机器人仿真系统通过Matlab这个强大的计算平台,采用Robot Toolbox中所提供的接口函数编制简单的程序。对工业机器人进行正、逆问题求解,并且对机器人的运动轨迹进行仿真,如图2所示。在对工业机器人仿真前,先输入机器人的参数,定义其连杆的关节参数矩阵。建立仿真运动学仿真平台步骤如下:
L=link([alpha A theta D],′modified′);R=robot({L1 L2});%用LINK来创建一个机器人对象;plot(r,[0 0]);%绘制机器人图像;t=0:0.056:2; [q,qd,qdd]=jtraj(qz,qr,t);%轨迹规划;T=fkine(SCARA, qz); %运动学正解;qi=ikine SCARA, T);%运动学反解;drivebot(r);%动画演示运动学;2.4 基于OpenGL的机器人仿真系统利用OpenGL对机器人建模时,需要在建模之前,对光照(glLightfv)、材质(glMaterialfv)、颜色模式(glShadeModel)进行预先设置,使得场景更逼真。场景建模包括地板、工件放置台、摄像机、工件放置槽几个部分。根据摄像机标定的相互位置关系,调用OpenGL函数,根据实际设备的几何形状,建立工业机器人在线仿真系统平台。OpenGL 独立于硬件和窗口系统,使用方便,C、C++、Java 等多种常用的编程语言都可以直接或间接调用OpenGL库中的函数。如图3所示,为基于OpenGL的工业机器人在线仿真系统。该系统方便与Visual C++ 6.0配合使用嵌入机器人模块算法,来对机器人进行在线系统仿真。