工业机器人离线编程与仿真
上QQ阅读APP看书,第一时间看更新

1.2 工业机器人的离线编程技术

1.2.1 离线编程及其特点

(1)离线编程的组成

基于CAD/CAM的机器人离线编程示教,是利用计算机图形学的成果,建立起机器人及其工作环境的模型,使用某种机器人编程语言,通过对图形的操作和控制,离线计算和规划出机器人的作业轨迹,然后对编程的结果进行三维图形仿真,以检验编程的正确性。最后在确认无误后,生成机器人可执行代码下载到机器人控制器中,用以控制机器人作业。

离线编程系统主要由用户接口、机器人系统的三维几何构型、运动学计算、轨迹规划、三维图形动态仿真、通信接口和误差校正等部分组成。其相互关系如图1-3所示。

图1-3 机器人离线编程系统组成

① 用户接口 工业机器人一般提供两个用户接口,一个用于示教编程,另一个用于语言编程。

示教编程可以用示教器直接编制机器人程序。语言编程则是用机器人语言编制程序,使机器人完成给定的任务。

② 机器人系统的三维几何构型 离线编程系统中的一个基本功能是利用图形描述对机器人和工作单元进行仿真,这就要求对工作单元中的机器人所有的卡具、零件和刀具等进行三维实体几何构型。目前,用于机器人系统三维几何构型的主要方法有以下三种:结构的立体几何表示、扫描变换表示和边界表示。

③ 运动学计算 运动学计算就是利用运动学方法在给出机器人运动参数和关节变量的情况下,计算出机器人的末端位姿,或者是在给定末端位姿的情况下,计算出机器人的关节变量值。

④ 轨迹规划 在离线编程系统中,除需要对机器人的静态位置进行运动学计算之外,还需要对机器人的空间运动轨迹进行仿真。

⑤ 三维图形动态仿真 机器人动态仿真是离线编程系统的重要组成部分,它能逼真地模拟机器人的实际工作过程,为编程者提供直观的可视图形,进而可以检验编程的正确性和合理性。

⑥ 通信接口 在离线编程系统中,通信接口起着连接软件系统和机器人控制柜的桥梁作用。

⑦ 误差校正 离线编程系统中的仿真模型和实际的机器人之间存在误差。产生误差的原因主要包括机器人本身结构上的误差、工作空间内难以准确确定物体(机器人、工件等)的相对位置和离线编程系统的数字精度等。

(2)系统特点

① 离线编程系统具有强大的兼容性,可输入多种不同类型的三维信息,包括CAD模型、三维扫描仪扫描数据、便携式CMM数据以及CNC路径等。

② 多种机器人路径生成方式相结合:用鼠标在三维模型上选点;自动在曲面上产生UV曲线、边缘曲线、特征曲线等;曲面与曲面的相交线;曲线的分割、整合等;机器人路径的批量产生等。

③ 通过加工过程参数,在机器人加工路径的基础上,可自动生成完整的机器人加工程序。生成的程序可直接应用到实际机器人上,进行生产加工。

④ 基于ABB虚拟控制器技术,可以向离线编程系统中导入各种类型的机器人和外部轴设备,这些机器人具备和真实机器人同样的机械结构和控制软件,因此可以在离线编程系统中模拟机器人的各种运动、控制过程,全程对生产过程时间及周期进行准确测算,还可以进行系统的布局设计、碰撞检测等。

(3)系统效益

① 降低新系统应用的风险:在采用新的机器人系统前,可以通过离线编程平台进行新系统的测试,从而避免应用上的风险,同时降低新系统的测试成本。

② 缩短机器人系统编程时间:尤其是对于复杂曲面形状的工件来说,采用离线编程软件可显著缩短产生机器人运动路径的时间。

③ 无需手工编写机器人程序:通过各种控制模型,在离线编程软件中可以自动生成完整的可用于实际机器人上的机器人程序。

④ 缩短新产品投产的时间。

⑤ 通过离线编程,减少了占用实际生产系统的时间,增加生产效益。

⑥ 虚拟仿真技术(如图1-4所示)的应用提高了机器人系统的安全性。

图1-4 虚拟仿真图

1.2.2 离线编程系统的软件架构

说到离线编程就不得不说说离线编程软件了,像RobotArt、RobotMaster、RobotWorks、RobotStudio等,这些都是在离线编程行业中首屈一指的。以RobotStudio离线编程软件为例,这款离线编程软件最大特点是根据虚拟场景中的零件形状,自动生成加工轨迹,并且可以控制大部分主流机器人。软件根据几何数模的拓扑信息生成机器人运动轨迹,之后轨迹仿真、路径优化、后置代码,同时集碰撞检测、场景渲染、动画输出于一体,可快速生成效果逼真的模拟动画,广泛应用于打磨、去毛刺、焊接、激光切割、数控加工等领域。图1-5就是这款软件的一个界面,这款软件有如下优点。

图1-5 RobotStudio离线编程软件

① 支持多种格式的三维CAD模型,可导入扩展名为step、igs、stl、x_t、prt(UG)、prt(ProE)、CATPart、sldpart等格式的CAD模型;

② 支持多种品牌工业机器人离线编程操作,如ABB、KUKA、FANUC、Yaskawa、Staubli、KEBA系列、新时达、广数等;

③ 拥有大量航空航天高端应用经验;

④ 自动识别与搜索CAD模型的点、线、面信息生成轨迹;

⑤ 轨迹与CAD模型特征关联,模型移动或变形,轨迹自动变化;

⑥ 一键优化轨迹与几何级别的碰撞检测;

⑦ 支持多种工艺包,如切割、焊接、喷涂、去毛刺、数控加工。

以RobotArt离线编程软件(如图1-6所示)为例,介绍离线编程系统的软件架构。RobotArt 软件采用 CS 架构(客户端、服务器架构),在云端的服务器通过云计算技术,接收客户端发送的请求,将计算结果返回客户端,通过3D显示技术呈现出来。RobotArt 针对教学实际情况,增加了模拟示教器、自由装配等功能,帮助初学者在虚拟环境中快速认识机器人、快速学会机器人示教器的基本操作,大大缩短了学习周期。

图1-6 RobotArt离线编程软件

(1)RobotArt离线编程软件的组成

RobotArt离线编程软件主要分为以下四大模块。

① 机器人编程:机器人编程中各项必备功能,包括零件、工具、轨迹、仿真、后置等。

② 曲线操作:强大的 2D、3D 曲线功能,自由设计自己的轨迹曲线。

③ 定位检查:包含零件定位、碰撞检测、测量、间隙检查等多项功能。

④ 场景渲染:提供零件与场景渲染器,可做出更出色的渲染图与动画。

(2)RobotArt离线编程软件的特点

① 一站式解决方案,集轨迹生成、修改,机器人仿真、后置和工艺于一体。

② 自由的轨迹规划,提供了2D、3D曲线用于设计任意的轨迹。

③ 兼容各种厂商的机器人,在具备机器人参数与几何模型前提下,可定义任意的 3~7 轴机器人。

④ 可视化工艺管理,提供可视化工艺管理工具,最终用户可定义自己的工艺包。

⑤ 多种实用工具,提供碰撞检测、测量、场景渲染等多种功能,无论设计或展示,都得心应手。

⑥ 强大的技术支持,公司在北京,美国亚特兰大有两个研发团队致力于此产品的研发与服务。

机器人离线编程系统正朝着一个智能化、专用化的方向发展,用户操作越来越简单方便,并且能够快速生成控制程序。在某些具体的应用领域可以实现参数化,极大地简化了用户的操作。同时机器人离线编程技术对机器人的推广应用及其工作效率的提升有着重要的意义,离线编程可以大幅度节约制造时间,实现机器人的实时仿真,为机器人的编程和调试提供灵活的工作环境,所以说离线编程是机器人发展的一个大的方向。

1.2.3 离线编程的基本步骤

(1)机器人离线编程的组成

机器人离线编程系统不仅要在计算机上建立起机器人系统的物理模型,而且要对其进行编程和动画仿真,以及对编程结果后置处理。一般说来,机器人离线编程系统包括以下一些主要模块:传感器、机器人系统CAD建模、离线编程、图形仿真、人机界面以及后置处理等。

① CAD建模 CAD建模需要完成以下任务:零件建模;设备建模;系统设计和布置;几何模型图形处理。因为利用现有的CAD数据及机器人理论结构参数所构建的机器人模型与实际模型之间存在着误差,所以必须对机器人进行标定,对其误差进行测量、分析及不断校正所建模型。随着机器人应用领域的不断扩大,机器人作业环境的不确定性对机器人作业任务有着十分重要的影响,固定不变的环境模型是不够的,极可能导致机器人作业的失败。因此,如何对环境的不确定性进行抽取,并以此动态修改环境模型,是机器人离线编程系统实用化的一个重要问题。

② 图形仿真 离线编程系统的一个重要作用是离线调试程序,而离线调试最直观有效的方法是在不接触实际机器人及其工作环境的情况下,利用图形仿真技术模拟机器人的作业过程,提供一个与机器人进行交互作用的虚拟环境。计算机图形仿真是机器人离线编程系统的重要组成部分,它将机器人仿真的结果以图形的形式显示出来,直观地显示出机器人的运动状况,从而可以得到从数据曲线或数据本身难以分析出来的许多重要信息,离线编程的效果正是通过这个模块来验证的。随着计算机技术的发展,在PC的Windows平台上可以方便地进行三维图形处理,并以此为基础完成CAD、机器人任务规划和动态模拟图形仿真。一般情况下,用户在离线编程模块中为作业单元编制任务程序,经编译连接后生成仿真文件。在仿真模块中,系统解释控制执行仿真文件的代码,对任务规划和路径规划的结果进行三维图形动画仿真,模拟整个作业的完成情况。检查发生碰撞的可能性及机器人的运动轨迹是否合理,并计算机器人的每个工步的操作时间和整个工作过程的循环时间,为离线编程结果的可行性提供参考。

③ 编程 编程模块一般包括:机器人及设备的作业任务描述(包括路径点的设定)、建立变换方程、求解未知矩阵及编制任务程序等。在进行图形仿真以后,根据动态仿真的结果,对程序做适当的修正,以达到满意效果,最后在线控制机器人运动以完成作业。在机器人技术发展初期,较多采用特定的机器人语言进行编程。一般的机器人语言采用了计算机高级程序语言中的程序控制结构,并根据机器人编程的特点,通过设计专用的机器人控制语句及外部信号交互语句来控制机器人的运动,从而增强了机器人作业描述的灵活性。面向任务的机器人编程是高度智能化的机器人编程技术的理想目标——使用最适合于用户的类自然语言形式描述机器人作业.通过机器人装备的智能设施实时获取环境的信息,并进行任务规划和运动规划,最后实现机器人作业的自动控制。面向对象机器人离线编程系统所定义的机器人编程语言把机器人几何特性和运动特性封装在一块,并为之提供了通用的接口。基于这种接口,可方便地与各种对象,包括传感器对象打交道。由于语言能对几何信息直接进行操作且具有空间推理功能,因此它能方便地实现自动规划和编程。此外,还可以进一步实现对象化任务级编程语言,这是机器人离线编程技术的又一大提高。

④ 传感器 近年来,随着机器人技术的发展,传感器在机器人作业中起着越来越重要的作用,对传感器的仿真已成为机器人离线编程系统中必不可少的一部分,并且也是离线编程能够实用化的关键。利用传感器的信息能够减少仿真模型与实际模型之间的误差,增加系统操作和程序的可靠性,提高编程效率。对于有传感器驱动的机器人系统,由于传感器产生的信号会受到多方面因素的干扰(如光线条件、物理反射率、物体几何形状以及运动过程的不平衡性等),使得基于传感器的运动不可预测。传感器技术的应用使机器人系统的智能性大大提高,机器人作业任务已离不开传感器的引导。因此,离线编程系统应能对传感器进行建模,生成传感器的控制策略,对基于传感器的作业任务进行仿真。

⑤ 后置处理 后置处理的主要任务是把离线编程的源程序编译为机器人控制系统能够识别的目标程序。即当作业程序的仿真结果完全达到作业的要求后,将该作业程序转换成目标机器人的控制程序和数据,并通过通信接口下装到目标机器人控制柜,驱动机器人去完成指定的任务。由于机器人控制柜的多样性,要设计通用的通信模块比较困难,因此一般采用后置处理将离线编程的最终结果翻译成目标机器人控制柜可以接受的代码形式,然后实现加工文件的上传及下载。机器人离线编程中,仿真所需数据与机器人控制柜中的数据是有些不同的。所以离线编程系统中生成的数据有两套:一套供仿真用,一套供控制柜使用,这些都是由后置处理进行操作的。

(2)离线编程的操作过程

本次采用RobotStudio软件进行简单离线编程。

第一步:建立作业路径。RobotStudio离线编程软件默认编程路径为C:\Users\Administrator\Documents\RobotStudio\Solutions,编程时,可根据自己的需要更改路径。此外,新建机器人工作站的名称也可以根据自己的需要进行更改。接着,单击“创建”按钮即可,如图1-7所示。

图1-7 RobotStudio建立作业路径

第二步:机器人建模。单击“ABB模型库”,选择需要的机器人后,进入图1-8所示界面。接着,单击确定,就会出现如图1-9所示的画面。

图1-8 RobotStudio选取机器人

图1-9 RobotStudio机器人放置在软件中的效果

第三步:放置工具、目标元器件和附属部件,如图1-10~图1-12所示。

图1-10 RobotStudio放置工具

图1-11 RobotStudio放置目标元器件

图1-12 RobotStudio放置附属部件

第四步:创建机器人系统。整个系统建立后,要通过离线软件建立系统,以便于进行下一步的操作。如图1-13~图1-15所示。

图1-13 RobotStudio创建机器人系统

图1-14 RobotStudio系统创建过程

图1-15 RobotStudio机器人系统创建完成

第五步:建立工件坐标系。工件坐标系是编程时使用的坐标系,又称编程坐标系,该坐标系是人为设定的,可以采用三点法确定工件坐标系。如图1-16所示。

图1-16 RobotStudio建立工件坐标系

第六步:调整机器人作业位置,如图1-17所示。

图1-17 RobotStudio机器人作业位置

第七步:离线编程,创建新的路径,单击示教指令按键,就会在新路径下生成第一条指令,如图1-18所示。

图1-18 RobotStudio离线编程

第八步:机器人作业仿真,单击仿真、播放,就能实现机器人的仿真,机器人会按照设定的路径运行,如图1-19所示。

图1-19 RobotStudio机器人的仿真运行