第13章术语和概念说明13.1.关于本章概述本章介绍了本手册中使用的重要概念和词汇的定义和说明。注意,在说明这些功能的各章中可能还有更多的信息。13.2.机器人系统简介13.2.机器人系统简介说明机器人系统这一概念涉及操纵器、控制器以及控制器控制的所有设备(工具和传感器等)。它包括操作机器人所需的所有硬件和软件。该术语不包括特殊应用的软件和硬件,例如点焊设备等。13.3.机械单元、操纵器和定位器简介机械单元机械单元可被进行微动控制。机械单元可以是1个机器人,1根附加轴(如1个电机)或1组附加轴,如1个双轴定位器或1个非ABB机器人。操纵器操纵器是用来移动工件、工具等的机械单元的总称。操纵器这一术语包括机器人和定位器。机器人机器人是带TCP的机械单元。机器人可经设定移至TCP的笛卡尔坐标(x、y和z)中的指定位置,方向与工具方向一致。定位器定位器是用于移动工件的机械单元。它有1根或若干轴,但通常不超过3根。定位器通常没有TCP。附加轴机器人控制器可以控制除机器人轴以外的附加轴。这些机械单元可以经过微动控制,与机器人的运动协调。图示,该图描述以下概念之间的关系:机械单元、操纵器、机器人、定位器和附加轴。13.4.什么是工具?工具工具是能够直接或间接安装在机器人转动盘上,或能够装配在机器人工作范围内固定位置上的物件。固定装置(夹具)不是工具。所有工具必须用TCP(工具中心点)定义。为了获取精确的工具中心点位置,必须测量机器人使用的所有工具并保存测量数据。图示13.5.什么是工具中心点?图示以下是围绕工具中心点(TCP)定义工具/操纵器机械腕方向的示意图。说明工具中心点(TCP)是定义所有机器人定位的参照点。通常TCP定义为与操纵器转动盘上的位置相对。TCP可以微调或移动到预设目标位置。工具中心点也是工具坐标系的原点。机器人系统可处理若干TCP定义,但每次只能存在一个有效TCP。TCP有两种基本类型:移动或静止。移动TCP多数应用中TCP都是移动的,即TCP会随操纵器在空间移动。典型的移动TCP可参照弧焊枪的顶端、点焊的中心或是手锥的末端等位置定义。静止TCP某些应用程序中使用固定TCP,例如使用固定的点焊枪时。此时,TCP要参照静止设备而不是移动的操纵器来定义。13.6.什么是工件?图示说明工件是拥有特定附加属性的坐标系。它主要用于简化编程(因置换特定任务和工件进程等而需要编辑程序时)。工件坐标系必须定义于两个框架:用户框架(与大地基座相关)和工件框架(与用户框架相关)。创建工件可用于简化对工件表面的微动控制。可以创建若干不同的工件,这样,您就必须选择一个用于微动控制的工件。使用夹具时,有效载荷是一个重要因素。为了尽可能精确地定位和操纵工件,必须考虑工件重量。您必须选择一个用于微动控制。13.7.什么是坐标系?概述坐标系从一个称为原点的固定点通过轴定义平面或空间。机器人目标和位置通过沿坐标系轴的测量来定位。机器人使用若干坐标系,每一坐标系都适用于特定类型的微动控制或编程。•基坐标系位于机器人基座。它是最便于机器人从一个位置移动到另一个位置的坐标系。•工件坐标系与工件相关,通常是最适于对机器人进行编程的坐标系。•工具坐标系定义机器人到达预设目标时所使用工具的位置。•大地坐标系可定义机器人单元,所有其他的坐标系均与大地坐标系直接或间接相关。它适用于微动控制、一般移动以及处理具有若干机器人或外轴移动机器人的工作站和工作单元。•用户坐标系在表示持有其他坐标系的设备(如工件)时非常有用。基坐标系基坐标系在机器人基座中有相应的零点,这使固定安装的机器人的移动具有可预测性。因此它对于将机器人从一个位置移动到另一个位置很有帮助。对机器人编程来说,其它如工件坐标系等坐标系通常是最佳选择。在正常配置的机器人系统中,当您站在机器人的前方并在基坐标系中微动控制,将控制杆拉向自己一方时,机器人将沿X轴移动;向两侧移动控制杆时,机器人将沿Y轴移动。扭动控制杆,机器人将沿Z轴移动。大地坐标系大地坐标系在工作单元或工作站中的固定位置有其相应的零点。这有助于处理若干个机器人或由外轴移动的机器人。在默认情况下,大地坐标系与基坐标系是一致的。工件坐标系工件坐标系对应工件:它定义工件相对于大地坐标系(或其它坐标系)的位置。工件坐标系必须定义于两个框架:用户框架(与大地基座相关)和工件框架(与用户框架相关)。机器人可以拥有若干工件坐标系,或者表示不同工件,或者表示同一工件在不同位置的若干副本。您对机器人进行编程时就是在工件坐标系中创建目标和路径。这带来很多优点:•重新定位工作站中的工件时,您只需更改工件坐标系的位置,所有路径将即刻随之更新。•允许操作以外轴或传送导轨移动的工件,因为整个工件可连同其路径一起移动。位移坐标系有时,会在若干位置对同一对象或若干相邻工件执行同一路径。为了避免每次都必须为所有位置编程,可以定义一个位移坐标系。此坐标系还可与搜索功能结合使用,以抵消单个部件的位置差异。位移坐标系基于工件坐标系而定义。工具坐标系工具坐标系将工具中心点设为零位。它会由此定义工具的位置和方向。工具坐标系经常被缩写为TCPF(ToolCenterPointFrame),而工具坐标系中心缩写为TCP(ToolCenterPoint)。执行程序时,机器人就是将TCP移至编程位置。这意味着,如果您要更改工具(以及工具坐标系),机器人的移动将随之更改,以便新的TCP到达目标。所有机器人在手腕处都有一个预定义工具坐标系,该坐标系被称为tool0。这样就能将一个或多个新工具坐标系定义为tool0的偏移值。微动控制机器人时,如果您不想在移动时改变工具方向(例如移动锯条时不使其弯曲),工具坐标系就显得非常有用。用户坐标系用户坐标系可用于表示固定装置、工作台等设备。这就在相关坐标系链中提供了一个额外级别,有助于处理持有工件或其它坐标系的处理设备。13.8.什么是RAPID应用程序?目的RAPID应用程序或程序中包含了一连串控制机器人的指令,执行这些指令可以实现需要的操作。RAPID应用程序的内容应用程序用称为RAPID编程语言的特定词汇和语法编写而成。RAPID是一种英文编程语言,所包含的指令可以移动机器人、设置输出、读取输入,还能实现决策、重复其它指令、构造程序、与系统操作员交流等。RAPID应用程序的结构如何保存应用程序?要使用的或运行的应用程序必须在控制器的程序内存中加载。这个过程被称为加载应用程序。、需要使用其它应用程序时,将它们安全地保存在控制器的硬盘或其它磁盘存储器中。13.9.什么是映射?说明映射可在特定的映射面上创建程序、模块或例行程序的副本。映射功能可以应用于任何程序、模块或例行程序。映射可以通过两种不同的方法完成:•基础框架坐标系上的默认值。映射过程将在基础框架坐标系的xz平面上进行。特定程序、模块或者例行程序的指令使用过的所有位置和工件框架都将被映射。定位定向轴x和y将被映射。•趋近于一个特定的映射框架。将在一个特定的工件框架的xy平面内进行映射操作,影射框架。映射特定程序、模块和例行程序中的所有位置。如果指令中的工件变元并非映射对话中的特定变元,影射操作中将会使用指令中的工件。也可能会确定定位定向系中那两条轴(x和z或者y和z)将被映射。以下对映射的描述解释了高级映射。映射面映射功能将映射映射面中的所有位置(robtargets),即被映射的位置将被对称的置于平面的另一面,同原始位置相对应。映射面总是工件框架的xy平面,用于映射。这一工件框架由工件数据定义,如名称为MIRROR_FRAME。映射例行程序映射可创建例行程序的副本,所有位置(robtargets)都映射于特定的映射面。一般,例行程序中使用的robtarget类型的所有数据都将被映射,无论是本地数据还是全局数据。不管robtarget数据是否被声明为常量(应该属于)、持续量(持续)还是一般变量,都没有区别。任何其它数据都不会被映射,比如pos、pose和orient等类型。映射数据只会影响初始化值,即任何当前值都将被忽略。这意味着如果一个robtarget变量在没有初始化值的情况下被定义,这个变量将不能被映射。新的映射例行程序将赋予一个新名(建议一个默认名称)。例行程序中所有存储的robtarget类型数据都将被映射并用新名称存储(旧名称以“_m”结尾)。运动指令中带有“*”的所有直接robtarget数据也会被映射。映射值和变元映射一个例行程序时,将扫描新的例行程序寻找其中的任何本地robtarget数据,并用初始化值在例行程序中进行声明。此类数据的所有初始化值都将被映射。然后扫描新的例行程序,寻找含有一个或多个robtarget类型变元的声明。找到一个声明时,将采取以下行动:•如果变元以一个局部变量或常量为参照编程,这个变元将被忽视,因为已经对它进行了如上的映射。•如果变元以带星号“*”的直接robtarget数据进行编程,这个取值将被直接映射。•如果变元参照全局变量、持续量或常量进行编程并在例行程序之外用初始化值定义,将在新名称(旧名称以“_m”结尾)模块内创建并存储一个副本。此类新数据的初始化值将被映射,声明中的变元将被改为新名称。这意味着模块数据列表将会扩大,增加许多新映射的robtarget数据。例行程序中的错误句柄或步退句柄将不会被映射。工件框架所有将被映射的位置都涉及一个特定的工件框架(上图中的B)。这表示robtarget数据的坐标都将用该工件框架的相对值来表示。此外,映射位置也将与同一工件框架相关。映射之前,必须声明特定工件。工件将作为所有待映射变量的参照框架。确保声明的工件同最初用来定义robtarget数据并作为运动指令参数的工件为同一个工件。如果没有使用任何工件,应声明wobj0。映射位置的方向robtarget位置的方向也将被映射。方向映射可采用两种不同的方法来执行,即可以使用x和z轴来映射,也可以使用y和z轴来映射。采用的方法,x或y轴z轴总会被映射),取决于使用的工具和工具坐标系是如何定义的。例1:一个机器人的映射例行程序的一个映射副本org将被创建并以mir名存储。所有的位置都与工件wobj3相关。可以从平面中的三个位置p1、p2和p3了解映射面。org中的初始位置A被映射至A_m。为执行此映射,必须首先定义映射框架。要执行此项操作,需要创建一个新的工件并对其进行命名(如mirror)。随后,使用三个点(p1至p3)通过使用机器人定义工件坐标系。此后,这一例行程序org可以使用wobj3和mirror映射作为输入资料。例2:用两个机器人映射例行程序org在一个机器人上被创建,应该映射并在另一个机器人上使用。假定一个电焊机器人,机器人1,被用在汽车车体的左侧。左侧程序完成后,应当映射并使用在右侧的机器人2身上。初始程序org相对于工件wobj1进行编程,在汽车车体左侧的三个点A、B和C协助下进行定义。映射程序mir将同相应的工件wobj1相关,使用汽车车体右侧的点D、E和F进行定义。用机器人2定义出机器人2的Wobj1。注意点D、E和F是点A、B和C的映射,机器人2的wobj1也将被映射。这样出现的一个后果就是z轴有下降的倾向。工件wobj1被定义之后,本框架内的所有编程结束。然后使用同一wobj1框架作为映射框架来映射程序。位置p1将被映射到新的位置p1_m。此后,按如上方法使用工件wobj1将被映射程序移至机器人2。这意味着被映射位置p1_m将会“显现”,仿佛映射在了两个机器人之间的“虚拟”映射面上。13.10.什么是数组?概述数组是一种特殊类型的变量:普通的变量包含一个数据值,而数组可以包含许多数据值。可将其描述为一份一维或多维表格。编程或操作机器人系统时,使用的数据(例如数值、字符串或变量)都保存在此表中。3维数组示例这是一个称为“Array”,以a、b和c三维定义的数组。a维和b维都有3行(列),c维有2行。此数组和数组内容可表示为Array{a,b,c}。例1:Array{2,1,1}=29例2:Array{1,3,2}=12