机器人操作臂离线编程仿真系统
2015-03-09邱焕能林仕高欧元贤
邱焕能,林仕高,欧元贤
(华南理工大学机械与汽车工程学院,广东广州 510640)
机器人操作臂离线编程仿真系统
邱焕能,林仕高,欧元贤
(华南理工大学机械与汽车工程学院,广东广州 510640)
简述了离线编程仿真系统相对传统示教编程的优势,提出了基于OpenGL与QT的机器人操作臂离线编程仿真系统,建立机器人操作臂及工件的三维模型并实现了机械臂的运动学动态仿真。设计开发了离线编程仿真系统各功能模块,包括机器人语言编程模块 (编程语言及其翻译器)、运动规划模块、机器人运动仿真模块、模型管理及辅助模块等。最后给出了仿真系统对机器人搬运工件的应用实例。
离线编程仿真系统;机器人操作臂;QT;OpenGL
0 前言
伴随着工业现代化的快速发展,机器人技术作为体现工业自动化水平和智能化程度的重要标杆[1],得到了人们日益的关注。其中,机器人操作臂离线编程仿真系统结合计算机图形学、语言学和机器人技术,很好地解决了传统示教编程的不足,有效保证了生产的产品质量、提高劳动生产率和改善工作环境。
相对于传统的示教编程的方法,离线编程具有以下的优点:(1)减少实体机器人的占用时间,可以并发处理多个作业人任务,从而提高了生产率,易于实现柔性生产[2];(2)结合计算机图形学技术和机器人编程语言,对于复杂的运动进行描述和编程,并进行高精度的仿真,可以实现复杂运动轨迹和运动参数的优化[3];(3)对机器人的轨迹规划等算法进行验证,并及早将运行过程中可能出现的问题通过仿真暴露出来,可以防止作业过程中实体机器人因为操作失当造成的损坏;(4)相对于示教编程,机器人控制程序可以不需要改动或者少量的改动就可以从一个型号的机器人移植到另外一个机器人上,从而进行相同的作业任务,另外一个方面采用文本的编程方法,也很方便地进行程序的修改和编辑;(5)离线仿真编程可以很方便地与智能控制算法相结合,提高机器人作业的质量和稳定性;(6)通过编程仿真,生产者可以根据实际的作业环境和生产需求测试不同类型的机器人及其运行的效果,从而为机器人的选型提供了有效的依据。因此,离线编程系统相对于传统的示教编程有极大的优势,日趋成为机器人研究领域的研究热点。本文作者提出了一种基于QT和OpenGL的离线编程仿真系统,该系统使用自主设计的一套机器人编程语言及其翻译系统,并具备运动仿真,场景管理、程序编程和校验功能,能对运动过程进行碰撞干涉的检验,能输出机器人运动学数据。
1 离线编程仿真系统的基本组成
该系统的总体框架如图1所示,包括了机器人语言编程模块 (编程语言及其翻译器)、运动规划模块、机器人运动仿真模块、模型管理模块和辅助模块等。系统工作的流程为:用户设置从模型库选择机器人模型和工作环境的模型,或者用户可以导入自定义的三维模型数据,根据机器人的作业要求,设置示教点,并在代码编辑器中对机器人进行编程,所得到的程序由机器人语言处理模块进行处理,并结合运动规划模块进行机器人运动学仿真,在仿真过程中进行碰撞检测和可行性检测,最后生成整个仿真作业任务的运动学的图表信息,以便进行下一步的分析检验工作。
图1 离线编程仿真系统的总体框架图
各个模块的功能如下:(1)机器人语言编程模块。该模块包含两部分的内容,编程语言和语言翻译。本文作者结合轨迹规划器和机器人的特点,设计出一套机器人编程语言。根据该语言的特点,设计出语言的翻译器。翻译器的整体框架如图2所示。
图2 翻译器的整体框架图
翻译器的作用是将输入的源程序代码,通过前端的词法、语法和语义分析器,生成中间表达形式的语法树和符号表,末端的执行器结合语法树和符号表,将机器人的运动指令序列按照机器人控制程序的依次送到运动规划模块。
(2)运动规划模块。该模块包含两个部分的内容,运动学计算和轨迹规划。该模块接收到语言编程模块的输入指令,轨迹规划器根据作业任务的要求和运动学和动力学的约束条件,在每个插补周期计算出插补点的位置。轨迹规划器的流程图如图3所示。
经过轨迹规划器便可以得到插补点的位姿,再通过机器人的运动学逆解,便可以得到机器人每个关节的角位移。
图3 轨迹规划器流程图
(3)机器人的运动仿真模块。通过上面的运动规划器得到的一系列机器人各关节的关节角序列,按照插补周期,将每一个位姿按照时间连续地现实出来,就能够现实机器人作业的仿真动画。作为仿真模块的重要组成部分,还实现了运动碰撞检测、位姿限制检测和视角控制等功能。
(4)模型管理模块。在该系统中,为了最大程度地对实际作业环境进行模拟仿真,从而可以对设计的机器人运动轨迹进行充分地验证及合理性分析。文中统一采用图形接口的方式导入机器人及环境模型。
(5)辅助模块。为了对机器人仿真结果有一个参数化的评价提供依据,实现的系统能够对运动过程中所有的运动学参数进行统计,并制作成图表。另外也实现了对于机器人的状态观测,包括I/O的状态、工具加载状态和示教点管理等功能。
2 离线编程仿真系统的应用
机器人操作臂离线编程仿真系统的窗口如图4所示。
图4 机器人操作臂离线编程仿真系统的主要界面
主要包括工具栏显示区、场景显示区、场景管理区和状态消息显示区。工具栏显示区主要包括了一些常用的快捷按钮,场景显示区用来对仿真的场景进行显示,场景管理区对场景中的物件进行管理,状态消息显示区主要是对命令和快捷按钮的提示及对警告和错误信息的提示等。通过导入机器人及场景的三维模型建立机器人的作业环境,如图5所示。
图5 作业环境的初始化设置
通过对初始条件的设置,包括机器人的初始位置、示教点的设置和各个I/O的状态设置,场景中各个物件的位姿,得到如图6所示的虚拟环境界面。调用机器人的程序编辑器,按照机器人编程语言的语法规则结合机器人的作业任务,在程序编辑器中编写机器人的控制程序。编译该程序,如果编译没有发生错误,执行该程序,便可以实现机器人的运动仿真的过程。如图7所示,为机器人对架子A上的黄色物件块,搬运到架子B的任务进行编程中。
图6 机器人程序编辑器及其控制程序的录入
各个关键位置的仿真界面如图7所示。
图7 机器人的运动控制仿真
得到各个关节的位置运动图表如图8所示。
图8 运动学状态图表
3 结论
详细讨论了基于QT和OpenGL开发的机器人操作臂离线编程仿真系统的实现方法。用户界面友好,易于操作。具有统一的图形接口,可以方便地导入不同的环境模型和机器人模型,对机器人进行编程仿真。系统既可以对机器人的运动正确性及运动碰撞等进行检验,又可通过仿真所生成的运动学信息图表对机器人控制算法进行深入评估。
[1]董文辉.基于机器视觉的工业机器人抓取技术的研究[D].武汉:华中科技大学,2011.
[2]熊有伦.机器人技术基础[M].武汉:华中科技大学出版社,2011.
[3]张爱云,张秋菊.机器人虚拟示教编程系统[J].机械工程师,2002(12):15-17.
Off-line Programm ing Simulation System of Robotic Manipulators
QIU Huanneng,LIN Shigao,OU Yuanxian
(School of Mechanical and Automotive Engineering,South China University of Technology,Guangzhou Guangdong 510640,China)
The advantages of the off-line programming and simulation system were introduced,as compared with traditional teaching programming by demonstration.An off-line programming and simulation system of robot based on OpenGL and QTwas established,in which three dimentional(3D)models,aswellas kinematics simulation ofa roboticmanipulator and workpieceswere builtand implemented.Every modules of the off-line programming and simulation system were developed and designed,including robotic programming languagemodule(programming language and its translator),motion planningmodule,roboticmotion simulationmodule andmodeladministration and assistant module,and etc.In the end,an application casewas provided of the simulation system about the transportation and handing process of the robot.
Off-line programming and simulation system;Robotic manipulator;QT;OpenGL
TP249
A
1001-3881(2015)21-028-4
10.3969/j.issn.1001 -3881.2015.21.006
2014-09-26
广州市科技计划项目资助 (2013J4300012)
邱焕能,硕士研究生,主要研究方向为智能机器人控制和嵌入式系统开发。E-mail:qiu_hn@163.com。