ABB工业机器人编程应用研究

发表时间:2021/5/25   来源:《科学与技术》2021年5期   作者:张志伟 郑法 范亚刚
[导读] 随着消费品个性化需求的提高,产品的迭代速率越来越快,
        张志伟 郑法 范亚刚
        唐山机车车辆有限公司 河北 唐山 063000
        摘要:随着消费品个性化需求的提高,产品的迭代速率越来越快,产品趋于有个性化引起的中小批量生成,传统的离线编程及仿真技术越来越不能更好适应这一发展趋势。因此设计一种工业机器人易编程系统。采用模块化主程序采用调用指令 ProcCall 对例行程序进行调用,对工业机器人编程的ABB工业机器人编程应用有一定的指导作用。
        关键词:ABB;工业机器人;编程   
        为了提升制造业水平,加快企业转型升级,大量的机器人正被广泛地应用于各种生产制造当中。然而,机器人目前主要还是采用人工示教编程的方式,完成一些较低端的工作。当面对复杂的加工任务时,机器人的编程能力就显得尤为不足,并在很大程度上制约着机器人性能的发挥。显然手工示教法难以满足高精度的生产需求。自动化的现代生产系统要求与之匹配的智能化的编程方式,离线编程能够弥补手工示教的劣势,可以更好地利用机器人的性能优势来完成更高精度的作业。工业机器人仿真系统是指在工业机器人领域上的,通过计算机仿真技术对特定应用场合进行工业机器人系统建模、编程以及进行可行性分析,最终确定系统方案的软件平台。离线编程是指通过仿真系统对工业机器人系统方案的可行性进行验证,并借助仿真环境完成预编程。工业机器人系统通常造价很高,借助离线编程,能够降低工业机器人系统的调试时间,提高系统的生产有效时间。
        一、系统设计
        面对现实需求,开发了一套以平面加工任务为目标的工业机器人易编程软件系统是非常必要的。在该方案中,研究与开发的主要任务集中在工业机器人易编程软件的实现上,对机器人系统和视觉定位系统进行集成开发,以满足系统需要。
        1、系统需求。根据易编程系统实现方案,结合系统需求,确定系统具有以下功能: 设计文件中包括了工件模型和使用 DXF文件描述的加工任务轨迹,并且工件模型和机器人加工的工件是相对应的。通过摄像头获取工件图像,经视觉处理、计算机图形识别,获取定位数据,完成工件坐标系的标定,使仿真环境中加工对象与实际中加工对象相吻合。从机器人控制器中获取工业机器人的关键参数,使软件中的机器人模型与实际的机器人参数相对应。构建一个只需要输入设计文件就能驱动机器人完成特定加工任务的工业机器人易编程系统。软件项目可以保存,存储构建的模型和任务,各对象相关数据。能够通过系统加载项目文件可自动重建项目环境。
        2、模块划分。工业机器人易编程系统软件有四个部分构成,根据具体实现,将软件划分为提供基本函数库的工具包、实现具体功能的应用程序模块、接收数据输入或扩展功能的应用程序接口,以及由四个部分以及辅助工具构成的应用层: 建模,用户通过交互操作将使用 CAD 软件绘制的设计文件加载到易编程软件中,构建起工业机器人应用环境的组织结构和三维模型; 任务,易编程软件从机器人控制器中获取工业机器人的工具坐标系参数和关节标定参数,从视觉处理计算机获取定位数据用于标定工件的坐标系,将以上数据输入任务,并结合模型和加工任务创建针对平面加工任务构建的“任务”对象; 仿真,执行“任务”对象中定义的加工任务,驱动仿真环境中的三维模型运动,在三维仿真环境中将加工过程呈现出来,以验证工业机器人运动轨迹是否达到实际加工的需求,并存储仿真过程的中运动控制数据; 后置处理阶段,将根据具体的机器人控制器型号和机器人程序的标准,将仿真获得的运动控制数据转换为机器人程序文件,以驱动机器人完成加工任务。
        应用程序模块主要划分为: 项目管理模块、模型管理模块、数据管理模块、任务管理模块、运动参数管理模块、运动仿真管理模块、后置处理模块以及易编程过程管理模块。项目管理主要负责工业机器人易编程软件数据在内存与文件存储之间交换。模型管理主要完成模型的构建过程,包括模型的三维组织、布局和相应的运动算法。数据模块是易编程软件数据在内存中的载体,是数据集中管理的模块。任务管理模块主要负责加工任务的组织和描述。

运动参数管理主要负责将通过接口获取的数据更新到模型中。通过运动仿真来完成工业机器人的仿真过程,驱动各模型按照加工任务运动,验证编程的正确性。后置处理是将编程结果按照具体机器人的语言规范转换成机器人程序。易编程过程是指带视觉定位的自动化的编程过程的实现。
        3、系统标定与定位。在工业机器人编程过程中,工业机器人和被加工对象的相对位姿关系,工业机器人 DH 参数的标定数据,以及工业机器人末端工具的工具坐标系标定数据都需要通过硬件设备获得。工业机器人官方都会提供工业机器人参数的标定方案,并将相关算法封装在机器人控制器中,因此,机器人参数的标定仅需参照工业机器人相关手册即可完成。工业机器人 DH 参数的标定数据,工业机器人工具坐标系标定数据均可通过机器人控制器获得,将标定数据传输给工业机器人易编程软件的机器人参数数据接口,将数据同步到对应模型。工业机器人和被加工对象的相对位姿关系是工业机器人完成加工任务的前提。系统中,通过摄像头获取工件图像,将图像传输到一台专用的视觉处理计算机中,经图像识别,获取工件定位数据。将定位数据传输给工件的坐标系标定接口,将数据同步到工件模型。通过上述过程,便可将工业机器人易编程软件环境和硬件环境的关键参数同步起来,构建软件和硬件沟通的桥梁,同时为机器人编程过程提供了一条反馈机制,使工业机器人编程形成一个闭环。
        二、ABB 机器人编程语言
        自从机器人以来,一些机器人技术发达的国家开始了对机器人语言的研究。在世界上第一种机器人语言——WAVE 语言,WAVE 是一种机器人的动作语言,即以语言的方式对机器人的运动加以描述,还能配合力觉传感器和视觉传感器进行机器人的手、眼协调控制。后来随着机器人技术不断地发展,一些著名的工业机器人公司开始研发针对用户的语言平台,形成了各自的编程语言风格,通俗易懂,例如 KUKA 的 KRL 语言、ABB的 RAPID 语言、FANUC 的 KAREL 语言等。结合课题,此处主要解析一下 ABB 的RAPID 编程语言。
        ABB 的 RAPID 整体编程风格与面向过程编程的 C 语言风格相类似。RAPID 主 要是以模块为单位进行编程,将完成不同功能的例行程序封装成不同的模块。这样以便于对程序进行管理和调用。一般的是通过新建编程模块来构建机器人的程序,RAPID 程序可以依据不同的功能来创建多个程序模块,如专门用于计算和存放数据的模块,专门用于主控制的程序模块等,这样便于归类和管理不同用途的例行程序与数据。一般情况下一个程序模块会包含例行程序、功能、程序数据和中断程序四种对象,但并不一定在每一个模块中都包含有这四种对象,并且模块之间的例行程序、中断程序和功能之间可以相互调用。系统模块是系统内部自带的模块,一般情况下不对系统模块做任何操作。系统模块通常用来定义系统本身的专用数据和程序,如工具数据等。系统模块不会随程序一同保存,也就是说,对系统模块的任何更新都会影响程序内存中当前或随后会载入其中的所有程序。与 C 语言一样,RAPID 程序必须包含一个主程序即MainRoutine 函数来作为整个程序的入口点,其可以存在于任何一个模块中,执行程序实际上就是执行整个 Main 过程。
        在机器人离线编程技术的基础上,确立了工业机器人易编程系统的整体结构 ,并以设计了一套工业机器人易编程系统。从系统需求、软件功能划分和标定定位方案详细的阐述了工业机器人易编程系统的设计与实现方案,目标是提高机器人编程的自动化水平。
        参考文献:
        [1]郭 军.工业机器人技术应用实训环境建设探究[J]. 丝路视野,2018( 27) : 20 - 23.
        [2]魏志丽,林燕文. 工业机器人应用基础———基于 ABB机器人[M]. 北京: 北京航空航天大学出版社,2019.
        [3]郑林飞.基于局部构图的移动机器人三维地形环境感知建模研究[D]. 长春: 吉林大学,2019.
        [4]王海玲. 基于 ROS 视觉定位的机器人智能抓取系统研究[D]. 天津: 天津理工大学,2019.
投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: