ABB工业机器人编程与操作PPT完整全套教学课件_第1页
ABB工业机器人编程与操作PPT完整全套教学课件_第2页
ABB工业机器人编程与操作PPT完整全套教学课件_第3页
ABB工业机器人编程与操作PPT完整全套教学课件_第4页
ABB工业机器人编程与操作PPT完整全套教学课件_第5页
已阅读5页,还剩153页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

工业机器人及应用项目一、任务1一、机器人的一般概念1.机器人的产生机器人凡是用来代替人的机器,都属于机器人的范畴。机器人不一定类人。

概念辨析:机器、机床

只是工具,不能代替人。名词的由来☞

Robot=Robota(捷克语)=奴隶、苦力。

提出:1921,捷克作家KarelČapek(卡雷尔·恰佩克)

Robotics=机器人学(学科名)。

提出:1942,美国科幻小说家IsaacAsimov(艾萨克·阿西莫夫)。机器人(研发)三原则要点:

不得伤害人类;执行人的命令;能够自我保护。

最早的产品

Unimate(美国,1959年)。☞

性质:工业机器人(用于工业生产环境的机器人)。2.机器人的发展

第一代:行为需人演示、教导(示教),但能记录并复制(再现)动作。☞示教(Teach.in)机器人。

第二代:有一定传感器,能进行简单分析、推理,适当调整行为。☞感知机器人。第三代:有大量传感器,能进行复杂分析、推理,自主决定行为。☞智能机器人。☺要点:

判别机器人的标准:是否能离开人独立工作。只要能代替人的机器,都属于机器人范畴。

洗碗机、扫地机、理疗机、无人飞机、火星探测车、无人潜水器都是机器人。最早研制的机器人是工业机器人。工业机器人以第一代为主;服务机器人属于第三代。3.机器人的分类

☞按应用场合,分工业机器人、服务机器人两类;见P6图1-2-1。

工业机器人(IndustrialRobots,简称IR)

用于工业环境的可编程、多用途自动化设备;

作业环境、要求为已知,产品以第一代机器人居多;用来代替人工操作,保障人身安全、减轻劳动强度、提高劳动生产率。☞主要产品:

加工类:焊接、切割、抛光、研磨等粗加工。

目的:保障人身安全与健康,不是、也不能用于精密加工(与CNC机床不同)!装配类:喷涂、油漆、电子元件插接(3C行业)等;目的:保障人身健康、代替重复劳动、提高生产效率。搬运类:物品输送、装卸等;目的:提高自动化程度、避免繁重作业。包装类:分拣、包装(食品、药品行业),码垛等;目的:保障安全卫生、提高自动化程度。服务机器人(ServiceRobots):服务于人类非生产性活动的机器人总称;作业环境为未知,大多具备“行走”功能,产品技术要求高,以第二、三代机器人居多;市场广阔、潜力巨大,产品占机器人的95%以上。☞主要产品:个人/家庭机器人(Personal/DomesticRobots):洗碗、扫地、麻将机等。军事机器人(MilitaryRobots)

:无人驾驶飞行器(无人机)、机器人武装战车、多功能后勤保障机器人、机器人战士等。医疗机器人(medicaltreatmentRobots):诊断、手术或手术辅助、康复机器人等。场地机器人(FieldRobots):用于科学研究和公共事业服务的、可进行大范围作业的机器人。如太空探测、水下作业、危险作业、消防救援、园林作业等。4.各国水平

美国:

机器人发源地,水平遥遥领先,产品以第三代机器人为主,占全球60%以上市场。

☞著名企业:个人/家用机器人:iRobot、Neato等。医疗机器人:IntuitiveSurgical(直觉外科)等。军事机器人:LockheedMartin(洛克希德马丁)、BostonDynamics(波士顿动力,已被Google并购)等

场地机器人:

Boeing(波音)、NASA(NationalAeronauticsandSpaceAdministration,美国宇航局)、Remotec等

。BigDog-LS3(军事)Curiosity火星车(场地)

Care-O-Bot4(家庭)

日本:

工业机器人及减速器、个人/家用机器人,产量第一(占50%)、护理(医疗)机器人水平领先。

☞著名企业:工业机器人&机器人减速器:FANUC(发那科)、YASKAWA(安川)、KAWASAKI(川崎)等。个人/家用&护理机器人:Panasonic(松下)、HONDA(本田)、RikenInstitute(理化学研究所)等。

欧盟:

☞著名企业:工业机器人:ABB(瑞典&瑞士)、KUKA(库卡,德)、REIS(徕斯,KUKA成员)。服务机器人:德国宇航中心、Karcher、FraunhoferInstituteforManufacturingEngineeringandAutomatic(弗劳恩霍夫制造技术自动化研究所)等。

中国:工业机器人:全球最大的市场。2014年:全球22.5万,中国5.7万、占25.3%;

2015年:全球24.8万,中国6.7万、占27%;

2016年:全球29.4万,中国8.7万、占30%;

2017年:全球38万,中国14.1万、占37%。军事、场地机器人:处于世界先进水平。☺练一练:

完成P17技能训练项目一、任务2一、工业机器人组成与特点1.系统组成(P17、图2-1-1)☞后述内容中,工业机器人简称“机器人”☞机电设备=机械+电气

机械部分

本体(必需)

又称操作机,实现机器人动作的执行机构;

包括机械部件、驱动电机、传感器等;

由关节(Joint)和连杆(Link)连接而成;☞关节:可回转、摆动的间接连接机构(转动副);连杆:连接关节的刚性构件。执行器(必需)用于作业的工具;安装在机器人末端关节上;可以根据需要更换。变位器(可选)

扩大机器人作业范围(增加自由度)的辅助机构;

包括机械部件、驱动电机、传感器等;

有回转、直线两类,通常为1~4轴。回转变位器直线变位器关节执行器连杆本体

电气部分控制器

功能与数控系统相同;

产生机器人运动轨迹控制脉冲;

控制轴数较多(通常6轴)。操作单元机器人的操作面板;又称示教器;结构简单、采用手持式结构。

驱动器将控制脉冲转换为电机转角;多采用交流伺服驱动系统。☞控制器、驱动器安装在控制柜内示教器控制柜2.基本特点拟人

结构形态类似人类;部件称腰、手臂(上、下臂)、手腕(手腕、爪);传感器以视觉、听觉、触觉为主(智能机器人)。柔性

有完整、独立的控制系统;可通过编程来改变其动作和行为;可安装不同的执行器,实现不同的应用。通用

可通过程序改变动作;可通过执行器改变功能。3.工业机器人

PK

数控机床相同点

控制要求(轨迹控制)、控制系统结构相同;定义类似:可编程、可定位、多用途设备。区别

作用

CNC机床:工作母机,零件加工的必需设备;

IR:服务于机床、代替人工操作的辅助设备。地位

CNC机床:国民经济基础的基础;

IR:自动化制造的配套设备。价值

CNC机床:占装备总价的85%以上,最高可达数亿;

IR:在装备总价的10%左右,最高为数十万。形态

CNC机床:直线运动轴为主,回转、摆动为辅;

IR:回转、摆动轴为主,直线运动为辅。性能

CNC机床:高精度轮廓加工,多为0.001mm级;

IR:粗略轨迹运动,多为0.1mm级。

控制

CNC机床:一般5轴及以下,准确轮廓运动;

IR:一般6轴及以上,粗略轨迹运动。

软件

CNC机床:笛卡尔坐标运动为主,相对简单;

IR:多轴摆动空间合成运动,相当复杂。☞结论:不在同一体量。4.工业机器人

PK机械手PLC机械手机器人控制系统相同点

作用相同,都是自动化制造的辅助设备;定义类似:机器人=可编程的机械手。区别

控制

机械手:由CNC系统的PLC控制,无独立控制系统;

IR:有独立的控制系统。作用

机械手:单功能、固定用途和动作;

IR:可操作、可编程,多功能、多用途。驱动

机械手:PLC开关量控制,液压、气动系统为主;

IR:轨迹插补控制,必须用伺服驱动系统。二、工业机器人结构形态1.垂直串联(VerticalArticulated

)要点

最常见结构,1973年KUKA研发;关节沿垂直方向串联,数量5-7个;通用性好,可用于各种场合。关节名称S(或J1):腰(Swing)回转;L(或J2):下臂(LowerArm)摆动;U(或J3):上臂(UpperArm)摆动;R(或J4):腕回转(Wrist

Rolling

);B(或J5):腕摆动(WristBending

);T(或J6):手回转(Turning

)。☞关节数量可根据实际需要增减(如5、7)。名词说明机身:S/L/U(J1/J2/J3)轴,主要用于机器人作业工具定位,称为定位机构;手腕:R/B/T(J4/J5/J6)轴,主要用来调整作业工具方向,称为定向机构。

回转(Roll):转动范围一般大于270°;

摆动(Bend):转动范围一般小于等于270°。2.水平串联(HorizontalArticulated

)要点典型结构为日本山梨大学1978年研发,称SCARA(SelectiveComplianceAssemblyRobotArm),关节以水平串联为主(2~3个),总数4-5个;速度快,多用于轻载、平面作业(3C、食品、药品)。Z3.并联(Parallel

)要点基本结构为6连杆运动,1965年英国Stewart研发(简称Stewart平台);简化结构为3连杆摆动(常用)

,1985年瑞士研发(简称Delta结构)。Stewart平台Delta结构

Stewart平台至少6个直线升降轴、控制复杂,多用于重载搬运工业机器人,较少采用。Delta机身为3轴摆动结构、手腕安装在机身上,控制简单;一般采用倒挂式安装,多用于食品、药品行业的轻载包装(分拣)工业机器人;三、工业机器人的技术性能☞参见P26、表1.2-1主要参数:工作范围(作业空间)、承载能力、自由度、运动速度、定位精度。1.工作范围(WorkingRange)

要点是工业机器人TRP点能够运动的区域。☞TRP:工具参考点(Tool

Reference

Point),机器人工具安装的基准位置——手腕工具安装法兰中心。

典型结构机器人的TRP点位置如下图:TRPTRPTRP垂直串联DeltaSCARA通常场合可用“作业半径R”简单表示。工作范围大多是不规则形状、不完整空间。

☞垂直串联结构(包括球坐标、圆柱坐标)的作业死区较大,称“部分范围作业”机器人。R=740RR☞SCARA、Delta结构(以及直角坐标)机器人的作业死区较小,称“全范围作业”机器人。2.承载能力(Payload)

要点机器人可承受的最大负载(质量、转矩或切削力);实际承载能力与负载的重心位置有关,样本数据通常是假设负载重心位于TRP点时的最大理论值。☞承载能力6kg机器人的允许负载图:尺寸基准TRP负载重心ZL1003006kg1kg3.自由度(DegreeofFreedom

要点

机器人能产生的独立运动数(相对于地面),包括直线、回转、摆动;自由度实际就是机器人系统的总控制轴数;自由度包括变位器运动,使用变位器可增加自由度;自由度不包括执行器的运动(如刀具旋转等);自由度越多,运动越灵活;有6个自由度,理论上可实现3维空间的任意运动;自由度可用规定的符号表示。☞见P33、图2.3-6。4.速度与精度

要点

程序速度是机器人TCP点相对与大地的运动速度;☞TCP:工具控制点(ToolControlPoint),有时称工具中心点(ToolCenterPoint),是机器人作业位置和运动控制目标点

样本参数为机器人空载时,各关节所能达到的最大回转速度的形式表示;

TCP速度(程序速度)是所有参与运动的关节轴的速度合成值;速度反映机器人工作效率,速度越高、效率越高。精度以TCP实际位置和理论位置的误差表示;通常以重复定位精度的形式表示;测量标准与CNC机床不同,即使数值相同,实际误差远大于CNC机床;

机器人不是高精度设备,不能用于精密加工。☺练一练:

完成P34技能训练。项目二、任务1☞基本概念:产量小,没有统一的编程标准、语言、格式;无导向部件(导轨),很难描述运动、只能示教;粗略控制、定位点基本靠目测。一、程序与编程1.编程方法

不同厂家的机器人,虽程序不同,但方法一致:FANUC、安川:程序结构、编程方法类似,指令不同;ABB:RAPID语言,结构最复杂(可参见《ABB工业机器人应用技术全集》,人民邮电出版社、2020。★概念辨析示教编程一种编程方法(最简单),通过手动机器人移动、人机对话操作,将机器人位置、运动要求告知控制器(示教);控制器记录、保存运动过程,在需要时重复相同动作(再现);再现运行的机器人运动速度,可与示教操作不同;虽然,示教编程必须在机器人现场、在线进行,但不能将其称为“现场编程”或“在线编程”。现场编程只表明编程场所,是否在机器人现场(车间);不限定编程方法,可采用示教、也可采用虚拟仿真。在线、离线编程只表明设备的电气连接状态,机器人控制器与编程设备有电气连接(电缆线):在线;无连接:离线。不限定编程方法,可采用示教、也可采用虚拟仿真。虚拟仿真用仿真软件的机器人虚拟运动,代替示教操作的机器人实际运动,生成程序的一种方法;与编程场所、是否存在电气连接无关。★结论:机器人编程方法只有示教、虚拟仿真2种,其他的提法都不够严谨。2.RAPID程序结构任务(Task)包含一项作业所需的全部指令和数据,是一个完整的RAPID应用程序。由若干程序模块、系统模块组成;简单系统通常只有一个任务;复杂控制系统,可同步执行多个任务;任务的属性,可通过任务特性参数定义。程序模块(Programmodule)RAPID应用程序的主体,它程序数据(Programdata)、作业程序(Routine,ABB说明书称例行程序);程序数据用来定义移动目标位置、工具、工件、作业参数等指令操作数;作业程序是用来控制机器人动作。系统模块(Systemmodule)用来定义控制系统功能和参数的程序;定义机器人系统的软硬件功能;定义机器人规格结构;由程序(Routine)和数据(Systemdata)组成;由工业机器人的生产厂家定义,用户一般不可更改;在控制系统起动时自动加载;与用户编程无关。二、程序模块格式1.组成标题(Header)程序的简要说明文本;可根据实际需要添加、无强制性要求;以字符“%%%”作为开始、结束标记。注释(comment)为了方便程序阅读所附加的说明文本;注释只能显示,而不具备任何其他功能;可根据要求自由添加或省略;以符号“!”(指令COMMENT的简写)作为起始标记;以换行符结束。指令(Instruction)系统的控制命令,用来定义系统需要执行的操作。☞如:PERStooldatatMIG1:=……

用来定义系统的工具数据tMIG1;

MoveJp1,v100,z30,……

用来定义机器人运动等。标识(identifier)又称名称,它是应用程序构成元素的识别标记。☞如:PERStooldatatMIG1:=…,tMIG1工具数据名;VARspeeddatavrapid:=…,vrapid移动速度名。32字、首字符必须为字母,不能使用空格、保留字;不可重复使用,不能仅通过大小写区分。2.格式主模块

MODULE模块名称(属性);//模块声明(起始)模块注释程序数据定义主程序子程序1……子程序n

ENDMODULE//模块结束

三、作业程序格式1.程序格式主程序Mainprogram

PROC主程序名称(参数表)//程序声明程序注释一次性执行子程序

WHILETRUEDO循环子程序执行等待指令

ENDWHILEERROR错误处理程序

ENDIFENDPROC普通程序PROC(Procedures)

PROC程序名称(参数表)//程序声明程序指令……

ENDPROC功能程序FUNC(Functions)

FUNC数据类型功能名称(参数表)//程序声明程序数据定义程序指令……

RETURN返回数据

ENDFUNC中断程序TRAP(Traproutines)//程序声明

TRAP程序名称(参数表)程序指令……

ENDTRAP2.程序声明格式

使用范围限定调用该程序的模块,可为全局(GLOBAL)或局域(LOCAL);系统默认GLOBAL(可省略);

局域程序只能由本模块调用,优先级高于全局程序;局域程序的结构、编程方法与全局程序并无区别。程序类型可选择普通(PROC)、功能(FUNC)和中断(TRAP)。程序名称程序的识别标记,按RAPID标识规定定义;

功能程序FUNC的名称前必须定义返回数据的类型。程序参数用于参数化程序,在名称后的括号内附加(见后述);不使用参数的普通程序PROC需要保留括号;中断程序TRAP不能使用参数,名称后不能加括号;功能程序FUNC必须使用参数。3.程序参数格式

选择标记无前缀:必需参数;前缀“\”:可选参数;

可选参数通常用于以函数命令Present(当前值)作为判断条件的IF指令。访问模式参数转换方式:IN(输入)、INOUT(输入/输出);

IN参数系统默认、可省略IN;需要指定初始值;

不能在程序中改变参数值(数值不变)。INOUT参数。必须加INOUT;需要指定初始值;

可以在程序中改变参数值(数值可变)。数据性质定义使用方法及保存、赋值、更新要求(见后述);可为VAR(程序变量)、PERS(永久数据);VAR(程序变量)为系统默认,无需标注。数据类型用来规定参数的数据格式,

十进制数值num、逻辑状态bool等。参数/数组名称参数识别标记,数组名称后需要加“{*}”。排斥参数用“|”分隔,只能选择其中之一;通常用于以Present作为判断条件的IF指令。4.数据性质常量CONST

具有恒定的值,程序执行完成可继续保持;

必须通过数据定义指令定义;

通常在模块中定义;☞定义示例赋值指令:CONSTnuma:=3;表达式:CONSTnumindex:=a+6;数组(1阶、3元数组):CONSTposseq{3}:=[[0,0,0],[0,0,500],[0,0,1000]];☞“:=”为赋值符,相当于等号“=”。永久数据PERS可定义初始值,数值可利用程序改变、结果能保存;

只能在模块中定义,主程序、子程序可使用、改变;可利用赋值指令、函数命令或表达式定义或修改;全局永久数据未定义初始值,系统将自动取0(空白)。☞定义示例赋值指令:PERSnuma:=3;表达式:PERSnumindex:=a+6;数组(1阶、3元数组):PERSposseq{3}:=[[0,0,0],[0,0,500],[0,0,1000]];永久数据PERS可定义初始值,数值可利用程序改变、结果能保存;

只能在模块中定义,主程序、子程序可使用、改变;可利用赋值指令、函数命令或表达式定义或修改;全局永久数据未定义初始值,系统将自动取0(空白)。☞定义示例赋值指令:PERSnuma:=3;表达式:PERSnumindex:=a+6;数组(1阶、3元数组):PERSposseq{3}:=[[0,0,0],[0,0,500],[0,0,1000]];程序变量VAR可在模块、程序中自由定义、自由使用;

数值只对指定的程序有效;

程序执行完成后,变量值将被自动清除;

可通过程序中的赋值指令、函数命令或表达式定义或修改。☞定义示例赋值指令:VARnum

counter;

//counter=0VARpospStart:=[100,100,50];表达式:VARnum

index:=a+b数组(1阶、3元数组):VARposseq{3}:=[[0,0,0],[0,0,500],[0,0,1000]];

四、普通程序执行与调用1.一次性执行在主程序起始位置编制;以无条件调用指令调用;

子程序无条件调用指令ProcCall可直接省略;只需要在程序行编写子程序名称。☞调用示例rCheckHomePos;//无条件调用子程序rCheckHomePosrWelding;//无条件调用子程序rWelding2.循环执行

一般通过条件循环指令“WHILE—DO”实现;循环条件可使用判别、比较式、逻辑状态;如果循环条件直接定义为“TRUE”,将无限重复WHILE至ENDWHILE间的指令。☞调用示例

WHILE

循环条件

DO子程序名称(子程序调用指令)……执行等待指令ENDWHILEENDPROC3.重复调用

一般通过指令FOR实现,重复次数由计数器指定;

子程序调用指令(名称)编写在指令FOR至ENDFOR之间;

可附加正(加)或负(减)整数STEP,执行FOR至ENDFOR间的指令,计数值可加一个STEP;

省略STEP时,默认“STEP=1”。☞调用示例FOR计数器FROM起始值TO结束值[STEP增量]DO

子程序名称(子程序调用指令)

……

ENDFOR4.IF条件调用

IF—THEN指令:子程序调用指令编写在IF与ENDIF间,如满足IF条件,调用子程序;否则,跳过子程序;☞调用示例

IFreg1<5THENwork1;//reg1<5时执行子程序work1

ENDIF

IF—THEN—ELSE指令:IF条件满足,执行IF与ELSE间的子程序、跳过ELSE与ENDIF间的子程序;IF条件不满足,跳过IF与ELSE间的子程序、执行ELSE与ENDIF间的子程序。

5.TEST条件调用TEST测试数据等于CASE测试值(可多个),执行随后的指令;

CASE编程次数不受限制;DEFAULT可使用或省略;☞调用示例

TEST测试数据

CASE

测试值1,测试值2,……:子程序名称(子程序调用指令)

CASE测试值n,测试值n+1,……:子程序名称(子程序调用指令)

DEFAULT:

//以上条件都不满足子程序名称(子程序调用指令)ENDTEST项目二、任务2一、程序数据定义指令格式

使用范围分全局GLOBAL、任务TASK和局部LOCAL三类。

GLOBAL可供所有任务、模块和程序使用、数值唯一;GLOBAL是系统默认,无需在指令中声明;TASK只供本任务使用、LOCAL只供本模块使用;

系统优先使用LOCAL,可替代同名的GLOBAL、TASK。使用范围可以是CONST、PERS、VAR(variable)和程序参数;程序参数用于参数化编程的程序。数据类型用来规定程序数据的格式与用途;☞例如:num:十进制数值bool:二进制逻辑状态string:字符串文本robtarget:机器人TCP位置可通过等同指令ALIAS,对数据类型增加一个别名。数据名称/个数数据名称是程序数据的识别标记,不应重复定义;数组数据的名称后需要后缀“{数据元数}”,标明个数。数据初始值必须符合程序数据的格式要求;可为数值,也可以为表达式的运算结果;未定义时,自动取系统默认值“0”或“空白”等。☞注意:类型相同的数据可直接使用表达式,结果为同类数据;不同类型的数据原则上不能直接运算。二、基本型数据定义基本说明

基本型(atomic)数据在ABB机器人说明书中译为“原子型数据”;通常由数字、字符等基本元素构成;

一般只能整体使用,而不能进行分解。主要有数值(num)、双精度数值(dnum)、字节(byte)、逻辑状态(bool)、字符串(string或stringdig)4类。数值型数据用数值表示,分为num、dnum2类;num、dnum可为整数、小数、指数;也可为二进制(bin)、8进制(oct)或16进制(hex);十进制的表示方法

num:32位二进制,数值23位、指数8位、符号1位;数值范围-223~(223-1);

dnum:64位二进制,数值52位、指数11位、符号1位;数值范围-252~(252-1)。在num数值范围内,num/dnum可自动转换,并进行运算。通过运算得到的num、dnum数据不能用于“等于”、“不等于”比较运算。字节、逻辑状态型数据字节型数据byte只能是8位二进制正整数,数值范围0~255;字节型数据主要用来表示开关量输入/输出组信号的状态。逻辑状态型数据bool数据只能是逻辑状态;

逻辑状态0、1通常以字符“FALSE”、“TRUE”表示。字符串型数据称string数据,由字母、数字、符号组成,80字符以下。在RAPID程序中需要用双引号(")标记;数据本身的双引号"、反斜杠\,需要连续书写2个;由纯数字0~9组成的特殊字符串称stringdig,可用来表示正整数,数值范围0~232;stringdig数据可直接进行算术运算和比较处理。三、复合型数据与数组定义复合型数据

复合型数据recode由多个数据(构成元)按规定格式复合而成;

在ABB机器人说明书中有时译为“记录型”数据;

构成元可为基本型数据,也可为其他复合型数据;

复合型数据可整体使用,也可只用一部分,或部分数据中的某一项;复合型数据及构成元均可用表达式、函数命令;

构成元、数据项可用“数据名.构成元名”、“数据名.构成元名.数据项名”的形式引用。数组

类型相同的多个数据可用数组一次性定义;多个数组还可用复合数组(多价数组)定义;

复合数组所包含的数组数称为价数或维数;每一数组所包含的数据数,称为数据元数;以数组形式定义的数据,其名称相同;1价(1维)数组需要在名称后加“{元数}”;引用时,需要在名称后加“{元序号}”;

对于多价(多维)数组需要在名称后加“{价数,元数}”,引用时需要在名称后加“{阶序号,元序号}”。四、表达式与运算表达式

用来计算程序数据数值、逻辑状态的运算式或比较式;表达式可用于程序数据赋值、定义IF条件等;运算数可以是程序数据或CONST、PERS、VAR;

运算数需要用运算符连接;简单四则运算和比较操作可使用基本运算符,复杂运算需要用函数命令或功能程序。☞参见P54、表2.2-1。运算指令

☞参见P56、表2.2-3,P57、表2.2-4。函数命令

☞参见P55、表2.2-2。项目二、任务3一、机器人基准与轴组1.运动轴与运动单元运动轴伺服电机驱动、控制机器人或工件运动的坐标轴;以关节回转为主;又称关节轴、运动轴;机器人运动轴众多,需要进行分组控制。运动单元根据机械组件的功能、用途,对伺服轴进行的分组;ABB:机器人关节轴称机器人单元,机器人整体移动轴称基座单元,工件运动轴称工装单元;基座轴、工装轴统称外部轴;系统越复杂、轴组越多,单机器人只有1个机器人单元。单元1:机器人1单元2:机器人2单元3:机器人1基座单元4:工装☞见P63、图2.3-42.机器人基准点

☞机器人的基准点有工具控制点(TCP)、工具参考点(TRP)、手腕中心点(WCP)3个。TCP工具控制点(ToolControlPoint)的英文简称,又称工具中心点(ToolCenterPoint);是机器人末端执行器(工具)的实际作业点和机器人运动控制的目标点;机器人手动操作、编程位置、插补运动轨迹都是针对TCP点而言;TCP点的位置与作业工具的形状、安装方式等密切相关。

弧焊机器人TCP:焊枪枪尖;

点焊机器人TCP:焊钳固定电极的端点。TRP机器人工具参考点(ToolReferencePoint)的英文简称;是机器人工具安装的基准点,通常为机器人手腕上的工具安装法兰中心点;是确定TCP、定义工具质量和重心的基准位置和工具坐标系原点;不安装工具或未定义工具坐标系,系统默认的TCP位置就是TRP。TRPWCP是机器人手腕中心点(WristCenterPoint)的英文简称;是确定机器人姿态、判别奇点(Singularity)的基准位置;垂直串联机器人的WCP点一般为手腕摆动轴j5、手回转轴j6的回转中心线交点。WCP3.垂直串联机器人基准线☞

垂直串联机器人有回转中心线、下臂中心线、上臂中心线、手回转中心线。作用:定义机器人坐标系、判别机器人奇点。

☞奇点(Singularity):机器人运动状态和速度不可预测的点,奇点不能用正常的方法控制。机器人回转中心线:通过腰回转轴J1(S)回转中心、且与安装底平面垂直的直线。下臂中心线:机器人下臂上,与下臂摆动轴j2中心线和上臂摆动轴j3摆动中心线垂直相交的直线。上臂中心线:机器人上臂上,通过手腕回转轴j4回转中心,且与手腕摆动轴摆动中心线垂直相交的直线。手回转中心线:通过手回转轴J6(T)回转中心,且与手腕工具安装法兰面垂直的直线。二、

机器人本体坐标系☞基座坐标系、关节坐标系是所有机器人必备的基本坐标系基座坐标系(Basecoordinates)以机器人安装基座为基准的虚拟笛卡尔直角坐标系,用来描述机器人相对于基座的运动;又称机器人坐标系、全局坐标系;以机器人回转中心线为Z轴、以机器人基座安装底面为XY平面的虚拟笛卡尔直角坐标系;垂直安装底面向上方向为+Z向,垂直基座前侧面向外的方向为+X向,Y轴用右手定则进行确定。关节坐标系(Jointcoordinates)用来表示关节位置(相对于零位的绝对回转角度)的坐标系;每一轴独立定义,坐标轴方向、零点位置由机器人生产厂家规定(见下);是系统进行实际控制的基准坐标系,机器人工作范围就是关节坐标系的运动范围;☞

关节坐标原点及方向(

★基准:基座坐标系

):腰回转轴J1(S);以+Z轴为基准、右手定则确定方向;上臂中心线平行+XZ平面的位置为0°。下臂摆动轴J2(L);J1=0°时,以+Y为基准、右手定则确定方向,下臂中心线与+Z轴平行位置为0°。上臂摆动轴J3(U);J1、J2均0°时,以-Y轴为基准、用右手定则确定方向,上臂中心线与+X轴平行的位置,为0°。腕回转轴J4(R);J1~J3均为0°时,以-X轴为基准、用右手定则确定方向,手回转中心线与+Z轴平行的位置为0°。腕弯曲轴J5(B);J1~J4均为0°时,以-Y轴为基准、用右手定则确定方向,手回转中心线与-X轴平行的位置为0°。手回转轴J6(T);J1~J5均为0°时,以-X轴为基准、用右手定则确定方向;J6轴通常可无限回转,零点位置由工具安装法兰上的定位基准确定。右手定则回转轴直线轴☞基座坐标系&关节坐标系4.

其他坐标系☞工具(作业必需)

;工件/大地/用户坐标系(选择)工件坐标系(Objectcoordinates)以工件为基准、用来描述机器人相对于工件运动的笛卡尔直角坐标系;进行多工件、相同作业时,对不同工件的作业,只需要改变工件坐标系、无需改变程序。工具坐标系(Toolcoordinates)以手腕基准坐标系为基准、用来描述机器人工具姿态(TCP位置和方向)的坐标系;无工具时,工具坐标系和手腕基准坐标系重合;机器人用不同工具进行相同作业时,对不同工具,只需要改变工具坐标系、无需改变程序。

☞手腕基准坐标系

原点:手腕工具安装基准点(TRP);大地坐标系(Worldcoordinates)又称世界坐标系。以大地为基准、用来描述机器人基座相对于地面运动的笛卡尔直角坐标系;无基座轴(机器人变位器)的机器人系统,大地坐标系与基座坐标系重合。用户坐标系(Usercoordinates)以工装零位为基准、用来描述机器人相对于工装运动(工件变位器运动)的笛卡尔直角坐标系;无工装轴组(工件变位器)的机器人系统,用户坐标系与基座坐标系重合。方向:J5=0°时,基座坐标系+X向、+Z向分别为手腕基准坐标系的+Z向、+X向(注意轴交换!)三、机器人与工具姿态1.机器人位置的指定关节位置直接以关节坐标系位置描述,称为关节位置;由于关节位置以电机相对零位所转过的脉冲数表示,故又称脉冲位置;

☞机器人关节位置是准确的、唯一的位置。XYZ位置以基座、工件、工具等虚拟笛卡尔直角坐标系的X/Y/Z坐标值描述的位置;可通过多种关节位置合成,必须同时规定机器人与工具的姿态。例如:对于P1点定位:机身向前下臂向上、上臂前伸、手向下俯机身向前下臂前伸、上臂上仰、手向下俯机身向后下臂后倾、上臂上仰、手向上仰2.机器人姿态(Robotconfiguration)姿态与定义用来描述机器人关节轴的状态,又称机器人形态或机器人配置;不同公司产品的定义方法不统一;安川机器人用机身前/后、正肘/反肘、手腕俯/仰,以及J1/J4/J6(S/R/T)轴角度进行定义。机身状态(前/后)判别依据:、手腕中心点(WCP)在基准面的位置(与J1轴位置有关);基准面:基座坐标系YZ平面。

机身前后(P66、图2.3-7)J1<180°J1≥180°前前后后J1<180°:WCP位于基准面前侧为“前”;J1≥180°:WCP位于基准面后侧为“前”;臂奇点:WCP位于基准平面为臂奇点。正肘/反肘用来描述机器人上/下臂J2/J3(L/U)轴状态;基准:过WCP点、与J2轴回转中心线垂直相交的直线;下臂中心线与基准线夹角α>0°为正肘、α<0°为反肘;α=0°为肘奇点

(J2/J3/J5回转中心线在同一平面)。α>0°α<0°正肘反肘手腕俯/仰用来描述腕摆动J5(B)轴状态;基准线:上臂中心线;手回转中心线与基准线夹角β>0°为仰,β<0为俯,β=0°为腕奇点(J4和J6中心线重合)。

β>0°β<0°仰俯J1/J4/J6(S/R/T)区间用来限定奇点运动、避免失控,ABB用象限代号定义。臂奇点:J1/J4(S/R)失控。肘奇点:J4(R)失控。腕奇点:J4/J6(R/T)失控。臂奇点肘奇点腕奇点3.工具姿态(Toolconfiguration)姿态与定义工具姿态用来规定作业工具的TCP位置和方向;一般通过设定工具坐标系定义;工具方向有多种描述方法;安川、FANUC用坐标旋转角度描述,ABB用四元数描述。TCPTCP工具坐标系的设定基准:手腕基准坐标系;TCP位置:TCP点在手腕基准坐标系的X/Y/Z值;工具方向:工具坐标系绕手腕基准坐标系X/Y/Z回转的角度/Rx/Ry/Rz。Rx=180Ry

=90、Rz

=180项目二、任务4一、机器人定位位置1.移动要素定位位置移动指令的目标位置,又称程序点、示教点;可以直接在程序中给定,也可以通过示教操作设定;可以是机器人、外部轴关节坐标系的绝对位置;也可是机器人TCP点在笛卡尔直角坐标系上的XYZ值;以笛卡尔直角坐标系XYZ方式定义的目标位置,需要同时规定机器人的姿态。到位区间又称定位等级(PositioningLevel)、定位类型(Continuoustermination)、定位允差等;是控制系统用来判断机器人是否到达目标位置的依据;

☞如机器人TCP已到达目标位置的到位区间范围,控制系统便认为当前的移动指令已经执行完成、执行下一程序指令。

注意!!

☞闭环位置控制系统(伺服驱动系统)的到位区间并不是运动轴最终的定位误差,运动轴到达到位区间后,伺服系统仍能够通过闭环自动调节功能,进一步消除误差、直至达到系统可能的最小值。移动轨迹就是机器人TCP点在3维空间的运动路线;需要通过移动指令规定,项目四学习

MoveAbsJ:绝对位置定位

MoveJ:关节插补

MoveL:直线插补

MoveC:圆弧插补等。

移动速度定义机器人、外部轴的运动速度;关节坐标系的绝对定位直接指定关节回转或直线移动速度;关节、直线、圆弧插补指定机器人TCP点在笛卡尔直角坐标系的移动速度(合成速度)。

2.关节位置以各关节轴自身的计数零位(原点)为基准,直接用回转角度或直线位置描述的关节轴、外部轴绝对位置;关节位置是机器人绝对定位的目标位置,无需考虑机器人、工具姿态。☞关节位置:j1~j4、j6=0°;j5=30°;e1=682mm,e2=45°关节位置数据jointtarget定义robax:机器人本体关节轴绝对位置;extax:外部轴(基座、工装轴)绝对位置,未使用的外部轴位置定义为“9E9”。☞

格式&示例VARjointtargetp0;//

仅程序点(取初始值0);p0:=[[0,0,0,0,0,0],[0,0,9E9,9E9,9E9,9E9]];//完整p0.robax:=[0,45,30,0,-30,0];//仅本体p0.extax:=[-500,-180,9E9,9E9,9E9,9E9];//仅外部轴

2.TCP位置利用虚拟笛卡尔直角坐标系定义的机器人TCP位置;是关节、直线、圆弧插补的移动目标位置;与所选择的坐标系有关。☞P1的TCP位置:基座坐标系:(800,0,1000);大地坐标系:(600,682,1200);工件坐标系:(300,200,500)P1TCP位置数据robtarget定义trans:TCP在指定坐标系上的(x,y,z)值。rot:用四元数法表示的工具姿态;robconf:机器人姿态[cf1,cf4,cf6,cfx],cf1/cf4/cf6为j1/j4/j6轴区间号(见图3.4-7),cfx机器人姿态号0~7(见任务1、练习2);extax:外部轴e1~e6绝对位置,同关节位置。☞

格式&示例VARrobtargetp1;//仅定义程序点,初始值0p1:=[[0,0,0],[1,0,0,0],[0,1,0,0],[0,0,9E9,9E9,9E9,9E9]];//完整p1.pos:=[50,100,200];//仅定义XYZp1.pos.z:=200;//仅定义Z值二、机器人到位区间作用是系统结束当前指令、启动下一指令的条件,不是机器人TCP的实际定位误差;连续移动转换点,系统一方面闭环调节上一指令误差;同时开始下一移动,将产生圆拐角;到位区间越大,移动指令的执行时间就越短,运动连续性就越好;到位区间大,TCP的运动轨迹偏离指令目标点就越远、轨迹精度也就越低。编程ABB机器人称到位区间(zone);系统预定义到位区间为z0~z200,z0为准确定位、z200为半径200mm的范围;也通过程序数据zonedata,直接在程序中定义。准确定位添加一个大于100ms的程序暂停动作;利用到位区间fine自动实现的机器人准确定位;到位检测还可进一步增加移动速度、停顿时间、拐角半径等更多的判断条件。到位区间数据zonedata定义finep:定位方式,TRUE为暂停、FALSE为连续;pzone_tcp:TCP到位区间,单位mm;pzone_ori:工具姿态到位区间,≥pzone_tcp;pzone_eax:外部轴到位区间,≥pzone_tcp;zone_ori:工具定向到位区间,单位deg;zone_leax:外部直线轴到位区间,单位mm;zone_reax:外部回转轴到位区间,单位deg。☞

格式&示例VARzonedatapath1;//定义到位区间、初始值0path1:=[FALSE,25,35,40,10,35,5];//完整Path1.pzone_tcp:=30;//仅定义TCP区间Path1.pzone_ori:=40;//仅定义工具姿态区间

系统预定义z0:准确定位(fine);z1/5/10/15/20/30/40/50/60/80/100/150/200:pzone_tcp=1/5/10/15/20/30/40/50/60/80/100/150/200;pzone_ori/pzone_eax/zone_leax/zone_ori/zone_reax

=1.5×(pzone_tcp)。☞

需要时可增加到位检测条件添加项\Inpos三、机器人移动速度关节速度用于机器人手动、关节绝对定位;通常,回转/摆动轴单位°/s;直线轴单位mm/s;最大速度不允许超过,TCP、工具定向速度受此限制。通常以最大速度倍率(百分率)的形式定义;不能用于机器人TCP点运动速度的定义;手动操作、关节绝对定位时,TCP线速度为各关节轴运动的合成。TCP速度关节、直线、圆弧插补时的机器人TCP线速度;所有参与插补的运动合成速度,基本单位mm/s;可用速度值、移动时间的形式定义;关节轴的实际关节速度需要通过TCP速度的逆向求解得到,但不能超过关节轴的最大速度,否则,控制系统将自动限制TCP速度。工具定向速度工具定向是TCP点不变的工具方向调整运动;通过TRP绕TCP的回转运动实现,单位°/s;关节轴回转速度最大速度;可采用速度值或移动时间定义。速度数据speeddata定义格式:[v_tcp,v_ori,v_leax,v_reax]v_tcp:TCP速度定义,单位mm/s;v_ori:工具定向速度定义,单位°/s;v_leax:外部直线轴移动速度定义,单位mm/s;v_reax:外部回转轴回转速度定义,单位°/s。☞

格式&示例VARspeeddatav_work;//定义速度,初始值0v_work:=[500,30,250,15];//完整v_work.v_tcp:=200;//仅定义v_tcpv_work.v_ori:=12;//仅定义v_ori☞

系统预定义TCP速度(mm/s):v5/10/20/30/40/50/60/80/100/150/200/300/400/500/600/800/1000/1500/2000/2500/3000/4000/5000/6000/7000。v_ori:500°/s;v_reax:1000°/s;v_leax:5000mm/s。回转速度(°/s):vrot1/2/5/10/20/50/100;v_tcp、v_leax:0。直线运动速度(mm/s):vlin10/20/50/100/200/500/1000。v_tcp、v_ori、v_reax:0。一、移动指令格式指令

见P91、表3.1-1。MoveAbsJ:机器人绝对定位(关节位置);MoveExtJ:外部轴绝对定位(关节位置);MoveJ:关节插补(TCP位置);MoveL:直线插补(TCP位置);MoveC:圆弧插补(TCP位置)。项目三、任务1程序数据目标位置ToJointPoint:关节位置,数据类型jointtarget;ToPoint:TCP位置,数据类型robtarget,可通过工具偏移RelTool、程序偏移Offs等函数命令指定;

*:通过手动示教操作指定目标位置。移动速度数据类型为speeddata;可使用系统预定义的速度v*、vrot*、vlin*;可通过添加项\V或\T直接设定。到位区间数据类型为zonedata;可为系统预定义的区间z*、fine;可通过数据添加项\Z、\Inpos,直接指定到位允差、到位检测条件。作业工具数据类型为tooldata;用来确定TCP位置、工具方向、负载特性等;未安装工具时,选择系统预定义数据Tool0;可通过添加项\WObj、\TLoad、\Corr;工具固定、机器人移动工件时必须加\WObj。添加项\Conc:连续执行,机器人移动的同时,启动并执行后续的非移动指令。\V或\T:\V直接定义TCP速度;\T可定义运动时间,间接指定移动速度。\Z、\Inpos:直接定义到位区间、到位检测条件。\Wobj:选择工件坐标系、用户坐标系等工件数据;工具固定、机器人移动工件时必须加。

\TLoad:机器人负载,使用Load0以外数据时,工具数据tooldata中的负载特性项tload将无效。二、

移动指令编程1.定位指令编程绝对定位MoveAbsJ[\Conc,]ToJointPoint[\ID][\NoEOffs],Speed[\V]│[\T],Zone[\Z][\Inpos],Tool[\Wobj][\TLoad];用于机器人本体快速定位(关节位置)。☞编程示例MoveAbsJp1,v1000,fine,grip1;//使用系统预定义数据定位MoveAbsJ\Conc,p4[\NoEOffs],v1000,fine,tool1;//使用指令添加项外部轴绝对定位MoveExtJ[\Conc,]ToJointPoint[\ID][\UseEOffs],Speed[\T],Zone[\Inpos];用于变位器(外部轴)快速定位(关节位置);机器人相对于基座无运动,无工具、负载影响,不需要指定工具、工件数据。☞编程示例

MoveExtJp1,vrot10,z30;

//使用系统预定义数据定位MoveExtJ\Conc,p3,vrot10,fine;//使用指令添加项2.插补指令编程关节插补MoveJ[\Conc,]ToPoint[\ID],Speed[\V]│[\T],Zone[\Z][\Inpos],Tool[\Wobj][\TLoad];用于机器人TCP定位(TCP位置);机器人全部轴同时启动、同时停止,TCP运动轨迹通常不是直线。☞编程示例

MoveJp1,v1000,fine,grip1;

//使用系统预定义数据插补MoveJp2,v500\V:=520,z30\Z:=35,tool1;//直接指定速度和到位区间直线插补MoveL[\Conc,]ToPoint[\ID],Speed[\V]│[\T],Zone[\Z][\Inpos],Tool[\Wobj][\Corr][\TLoad];用于机器人TCP直线移动;机器人全部轴同步运动,TCP运动轨迹为连接起点和终点的直线。☞编程示例

MoveLp1,v500,z30,Tool1;

//使用系统预定义数据插补MoveLp2,v1000\T:=5,fine\Inpos:=inpos20,tool1;//直接指定移动时间和到位区间圆弧插补MoveC[\Conc,]CirPoint,ToPoint[\ID],Speed[\V]│[\T],Zone[\Z][\Inpos],Tool[\Wobj][\Corr][\TLoad];用于机器人TCP圆弧移动;机器人全部轴同步运动,TCP运动轨迹为连接起点、中间点(CirPoint)和终点(ToPoint

)的圆弧。☞编程示例

MoveCp1,p2,v500,z30,Tool1;

//使用系统预定义数据插补MoveCp2,p3,v500\V:=550,z30\Z:=35,Tool1;//直接指定移动速度和到位区间

要点:不能用于终点和起点重合的360°全圆移动;全圆需要2条或以上的圆弧插补指令实现;3点定圆弧,中间点(CirPoint)尽可能选择在圆弧中间位置;起点(Start)、中间点(CirPoint)、终点(ToPoint

)需要满足图示条件。☞编程示例

MoveLp1,v500,z30,Tool1;

//直线移动至P1

MoveCp2,p3,v500,z30,Tool1;//圆弧插补至P3

MoveLp4,v500,z30,Tool1;

//直线移动至P4P4P1P2P3起点3.编程实例假设弧焊机器人(工具数据tool1)的运动要求如图所示,试编制机器人移动程序。p0→p1:绝对定位v800、z50;p1→p2:关节插补v500、z30;p2→p3:直线插补v300、fine;p3→p4:直线插补10s、z10;p4→p5:直线插补125mm/sec、inpos20;p5→p6:直线插补v300、z30;p6→p1:关节插补v500、fine。移动程序:

MoveAbsJp1,v800,z50,tool1;//P0→P1

MoveJp2,v500,z30,tool1;//P1→P2

MoveLp3,v300,z30,tool1;//P2→P3MoveLp4,v300\T:=10,z10,tool1;//P3→P4

MoveLp5,v100\T:=125,fine,tool1;

//P4→P5

MoveLp6,v300,z30,tool1;

//P5→P6

MoveJp1,v500,fine,tool1;//P6→P1一、状态读入函数命令

1.指令与功能状态读入指令输入信号DI、GI、AI:直接用程序数据di*、gi*、ai*读取;输出信号DO、GO、AO:通过函数命令读取。

见P189、表4.2-1。项目三、任务22.指令编程DI/DO、AI/AO状态读入利用赋值指令、函数命令读入;执行结果为DIO数值(dionum)数据(0或1)。☞编程示例

flag1:=di1;//读入di1状态flag2:=DOutput(do1);//读入do1状态reg1:=ai1;//读入ai1值reg2:=AOutput(ao1);//读入ao1值GI/GO状态读入一次性读入8~32点DI/DO信号状态;执行结果为数值数据num或双精度数值数据dnum。☞编程示例

reg1:=gi1;//读入gi1组16点DI状态reg2:=GOutput(go1);//读入go1组16点DO状态reg3:=GInputDnum(gi1);//读入gi1组32点DI状态reg4:=GOutputDnum(go1);//读入go1组32点DO状态二、输出控制命令编程输出ON/OFF设定DO信号输出ON/OFF状态;使DO信号现行输出状态翻转。☞指令&编程Setdo2;//do2输出ONResetdo15;//do15输出OFFInvertDOdo10;//do10输出状态取反脉冲输出在DO信号输出脉冲信号;可使用以下添加项:

\PLength:脉冲宽度s,系统默认0.2s。

\High:执行前DO为“0”,输出正脉冲;执行前DO为“1”,保持\PLength时间(默认0.2s);☞指令&编程PulseDOdo15;//do15输出0.2s脉冲PulseDO\PLength:=1.0,do2;//do2输出1s脉冲PulseDO\High,do3;//do3输出0.2s脉冲,或保持1状态0.2s输出设置设定DO、GO、AO信号输出状态;可使用以下添加项:

\Sdelay:输出延时,允许0.001~2000s;脉冲宽度s,系统默认0.2s。

\Sync:需要确认实际输出状态,只有实际输出状态改变后,才能继续执行下一指令。☞指令&编程SetDOdo1,1;//do1输出1SetAOao1,5.5;//ao1输出5.5SetGOgo1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论