工业机器人编程与调试课件

上传人:无*** 文档编号:242861072 上传时间:2024-09-09 格式:PPT 页数:71 大小:1.21MB
返回 下载 相关 举报
工业机器人编程与调试课件_第1页
第1页 / 共71页
工业机器人编程与调试课件_第2页
第2页 / 共71页
工业机器人编程与调试课件_第3页
第3页 / 共71页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,目 录,第一章 工业机器人概论,第二章 工业机器人的数学基础,第三章 工业机器人的机械系统,第四章 工业机器人的动力系统,第五章 工业机器人的感知系统,第六章 工业机器人的控制系统,第七章 工业机器人编程与调试,工业机器人技术基础,工业机器人技术基础,1,第,7,章 工业机器人编程与调试,主要内容,7.1 机器人,编程要求与语言类型(掌握),7.2,机器人语言系统结构和基本功能,(了解),7.3,常用的机器人编程语言,(了解),7.4,机器人的示教编程与离线编程,(掌握),工业机器人技术基础,第7章 工业机器人编程与调试主要内容工业机器人技术基础,2,概述:,机器人要实现一定的动作和功能,除了依靠机器人的硬件支撑外,相当一部分是是靠编程来完成的。伴随着机器人的发展,机器人编程技术也得到了不断完善,现已成为机器人技术的一个重要组成部分。,机器人编程是使用某种特定语言来描述机器人动作轨迹,它通过对机器人动作的描述,使机器人按照既定运动和作业指令完成编程者想要的各种操作。,7,.1 机器人,编程要求与语言类型,目前工业机器人常用编程方法有示教编程和离线编程两种。一般在调试阶段,可以通过示教盒对编译好的程序进行逐步执行、检查、修正,等程序完全调试成功后,即可投入正式使用。不管使用何种语言,机器人编程过程都要求能够通过语言进行程序的编译,能够把机器人的源程序转换成机器码,以便机器人控制系统能直接读取和执行。一般情况下,机器人的编程系统必须做到以下几点:,工业机器人技术基础,第,7,章 工业机器人编程与调试,概述:机器人要实现一定的动作和功能,除了依靠机器人的硬件支撑,3,7,.1 机器人,编程要求与语言类型,一般情况下,机器人的,编程,要求,必须做到以下几点:,1,能够建立世界坐标系,在进行机器人编程时,需要一种描述物体在三维空间内的运动方式,因此要给机器人及其相关物体建立一个基础坐标系。这个坐标系与大地相连,也称世界坐标系。为了方便机器人工作,也可以建立其他坐标系,但需要同时建立这些坐标系与机座坐标系的变换关系。机器人编程系统应具有在各种坐标系下描述物体位姿的能力和建模能力。,2,能够描述机器人作业,机器人作业的描述与其环境模型密切相关,编程语言水平决定了描述水平。现有的机器人语言需要给出作业顺序,由语法和词法定义输入语句,并由它描述整个作业过程。例如,装配作业可描述为世界模型的一系列状态,这些状态可用工作空间内所有物体的位姿给定。这些位姿也可利用物体间的空间关系来说明。,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.1 机器人编程要求与语言类型工业机器人技术基础第7章 工,4,7,.1 机器人,编程要求与语言类型,一般情况下,机器人的编程系统必须做到以下几点:,3,能够描述机器人运动,描述机器人需要进行的运动是机器人编程语言的基本功能之一。用户能够运用语言中的运动语句,与路径规划器连接,允许用户规定路径上的点及目标点,决定是否采用点插补运动或笛卡儿直线运动,用户还可以控制运动速度或运动持续时间。,4,允许用户规定执行流程,同一般的计算机编程语言一样,机器人编程系统允许用户规定执行流程,包括试验和转移、循环、调用子程序以至中断等。,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.1 机器人编程要求与语言类型工业机器人技术基础第7章 工,5,7,.1 机器人,编程要求与语言类型,一般情况下,机器人的编程系统必须做到以下几点:,5,具有良好的编程环境,如同任何计算机系统一样,一个好的编程环境有助于提高程序员的工作效率。好的编程系统应具有下列功能:,(,1,)在线修改和重启功能,机器人在作业时需要执行复杂的动作和花费较长的执行时间,当任务在某一阶段失败后,从头开始运行程序并不总是可行,因此需要编程软件或系统必须有在线修改程序和随时重新启动的功能。,(,2,)传感器输出和程序追踪功能,因为机器人和环境之间的实时相互作用常常不能重复,因此编程系统应能随着程序追踪记录传感器的输入输出值。,(,3),仿真功能,可以在没有机器人实体和工作环境的情况下进行不同任务程序的模拟调试。,(,4,)人机接口和综合传感信号,在编程和作业过程中,编程系统应便于人与机器人之间进行信息交换,方便机器人出现故障时及时处理,确保安全。而且,随着机器人动作和作业环境的复杂程度的增加,编程系统需要提供功能强大的人机接口。,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.1 机器人编程要求与语言类型工业机器人技术基础第7章 工,6,7,.1,.2 机器人,语言类型,伴随着机器人的发展,机器人语言也得到了不断发展和完善。早期的机器人由于功能单一,动作简单,可采用固定程序或者示教方式来控制机器人的运动。随着机器人作业动作的多样化和作业环境的复杂化,依靠固定的程序或示教方式已经满足不了要求,必须依靠能适应作业和环境随时变化的机器人语言编程来完成机器人工作。,目前,工业级机器人按照作业描述水平的高低分为动作级、对象级和任务级三类。,1,动作级编程语言,动作级编程语言是最低一级的机器人语言。它以机器人的运动描述为主。通常一条指令对应机器人的一个动作,表示从机器人的一个位姿运动到另一个位姿。,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.1 .2 机器人语言类型工业机器人技术基础第7章 工业,7,7,.1,.2 机器人,语言类型,目前,工业级机器人按照作业描述水平的高低分为动作级、对象级和任务级三类。,1,动作级编程语言,动作级编程语言的优点是比较简单,编程容易。其缺点是功能有限,无法进行繁复的数学运算,不能接受复杂的传感器信息,只能接受传感器开关信息;与计算机的通信能力很差。,典型的动作级编程语言是是美国,Unimation,公司于,1979,年推出的一种机器人编程语言,主要配置在,PUMA,和,UNIMATION,等型机器人上,如,“MOVE TO ”,其含义为机器人从当前位姿运动到目的位姿。,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.1 .2 机器人语言类型工业机器人技术基础第7章 工业,8,7,.1,.2 机器人,语言类型,工业级机器人按照作业描述水平的高低分为动作级、对象级和任务级,1,动作级编程语言,又可以分为关节级编程和末端执行器级编程两种动作编程。,(,1,) 关节级编程,关节级编程是以机器人的关节为对象,编程时给出机器人一系列各关节位置的时间序列,在关节坐标系中进行的一种编程方法。对于直角坐标型机器人和圆柱坐标型机器人,由于直角关节和圆柱关节的表示比较简单,这种方法编程较为适用;而对具有回转关节的关节型机器人,由于关节位置的时间序列表示困难,即使一个简单的动作也要经过许多复杂的运算,故这一方法并不适用。关节级编程可以通过简单的编程指令来实现,也可以通过示教盒示教和键入示教实现。,(,2,) 末端执行器级编程,末端执行器级编程在机器人作业空间的直角坐标系中进行。在此直角坐标系中给出机器人末端执行器一系列位姿组成位姿的时间序列,连同其他一些辅助功能如力觉、触觉、视觉等的时间序列,同时确定作业量、作业工具等,协调地进行机器人动作的控制。这种编程方法允许有简单的条件分支,有感知功能,可以选择和设定工具,有时还有并行功能,数据实时处理能力强。,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.1 .2 机器人语言类型工业机器人技术基础第7章 工业,9,7,.1,.2 机器人,语言类型,工业级机器人按照作业描述水平的高低分为动作级、对象级和任务级,2,对象,级编程语言,对象级语言是描述操作对象即作业物体本身动作的语言。它不需要描述机器人手爪的运动,只要由编程人员用程序的形式给出作业本身顺序过程的描述和环境模型的描述,即描述操作物与操作物之间的关系,通过编译程序机器人即能知道如何动作。,对象级编程语言典型的例子有,IBM,公司的,AML,及,AUTOPASS,等语言,是比动作级编程语言高一级的编程语言,除具有动作级编程语言的全部动作功能外,还具有以下特点:,(1),较强感知能力,除能处理复杂的传感器信息外,还可以利用传感器信息来修改、更新环境的描述和模型,也可以利用传感器信息进行控制、测试和监督。,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.1 .2 机器人语言类型工业机器人技术基础第7章 工业,10,7,.1,.2 机器人,语言类型,工业级机器人按照作业描述水平的高低分为动作级、对象级和任务级,2,对象,级编程语言,具有以下特点:,(2),良好的开放性,对象级编程语言系统为用户提供了开发平台,用户可以根据需要增加指令,扩展语言功能。,(3),较强的数字计算和数据处理能力,对象级编程语言可以处理浮点数,能与计算机进行即时通信。,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.1 .2 机器人语言类型工业机器人技术基础第7章 工业,11,7,.1,.2 机器人,语言类型,工业级机器人按照作业描述水平的高低分为动作级、对象级和任务级,3,任务,级编程语言,任务级编程语言是比前两类更高级的一种语言,也是最理想的机器人高级语言。这类语言不需要用机器人的动作来描述作业任务,也不需要描述机器人对象物的中间状态过程,只需要按照某种规则描述机器人对象物的初始状态和最终目标状态,机器人语言系统即可利用已有的环境信息和知识库、数据库自动进行推理、计算,从而自动生成机器人详细的动作、顺序和数据。,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.1 .2 机器人语言类型工业机器人技术基础第7章 工业,12,7,.1,.2 机器人,语言类型,工业级机器人按照作业描述水平的高低分为动作级、对象级和任务级,3,任务,级编程语言,例如,一台产线上的装配机器人欲完成轴和轴承的装配,轴承的初始位置和装配后的目标位置已知,当发出抓取轴承的命令时,语言系统从初始位置到目标位置之间寻找路径,在复杂的作业环境中找出一条不会与周围障碍物产生碰撞的合适路径,在初始位置处选择恰当的姿态抓取轴承,沿此路径运动到目标位置。在此过程中,作业中间状态作业方案的设计、工序的选择、动作的前后安排等一系列问题都由计算机自动完成。,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.1 .2 机器人语言类型工业机器人技术基础第7章 工业,13,7,.1,.2 机器人,语言类型,工业级机器人按照作业描述水平的高低分为动作级、对象级和任务级,3,任务,级编程语言,任务级编程语言的结构十分复杂,需要人工智能的理论基础和大型知识库、数据库的支持,目前还不是十分完善,是一种理想状态下的语言,有待于进一步的研究。但可以相信,随着人工智能技术及数据库技术的不断发展,任务级编程语言必将取代其他语言而成为机器人语言的主流,使得机器人的编程应用变得十分简单。,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.1 .2 机器人语言类型工业机器人技术基础第7章 工业,14,7.2,机器人语言系统结构和基本功能,7.2 .1,机器人语言系统结构,机器人语言是在人与机器人之间的一种记录信息或交换信息的程序语言,它提供了一种方式来解决人,机通信问题,是一种专用语言。它不仅包含语言自身,实际上还同时包含语言的处理过程。它能够支持机器人编程、控制,以及与外围设备、传感器和人机接口,同时还支持与计算机系统的通信。,机器人语言系统包括三个基本操作状态:监控状态、编辑状态和执行状态。,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.2 机器人语言系统结构和基本功能工业机器人技术基础第7,15,7.2,机器人语言系统结构和基本功能,7.2 .1,机器人语言系统结构,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.2 机器人语言系统结构和基本功能工业机器人技术基础第7,16,7.2,机器人语言系统结构和基本功能,7.2 .1,机器人语言系统结构,1.,监控状态,监控状态用于整个系统的监督控制,操作者可以用示教盒定义机器人在空间中的位置,设置机器人的运动速度,存储和调出程序等。,2,编辑状态,编辑状态用于操作者编制或编辑程序。一般都包括:写入指令,修改或删去指令以及插入指令等。,3,执行状态,执行状态用来执行机器人程序。在执行状态,机器人执行程序的每一条指令,都是经过调试的,不允许执行有错误的程序。,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.2 机器人语言系统结构和基本功能工业机器人技术基础第7,17,7.2,机器人语言系统结构和基本功能,7.2 .2,机器人语言基本功能,机器人语言的基本功能包括运算、决策、通讯、机械手运动、工具指令以及传感器数据处理等。机器人语言体现出来的基本功能都是通过机器人系统软件形成的。,1,运算,机器语言的运算功能指的是对机器人位姿的解析几何计算。通过对机械手位姿的求解、坐标运算、位置表示以及向量运算等来控制机器人的动作路径,实现操作者想要实现的动作。,2,决策,决策是指机器人不进行任何运算,依靠传感器的输入信息能够直接执行机器人下一步任务的能力。这种决策能力使机器人控制系统的功能更强有力,一条简单的条件转移指令,(,例如检验零值,),就足以执行任何决策算法。,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.2 机器人语言系统结构和基本功能工业机器人技术基础第7,18,7.2,机器人语言系统结构和基本功能,7.2 .2,机器人语言基本功能,3,通讯,通讯能力是指机器人系统与操作人员之间的信息沟通能力。允许机器人要求操作人员提供信息、告诉操作者下一步该干什么,以及让操作者知道机器人打算干什么。人和机器能够通过许多不同方式进行通讯。常见的通讯设备有:信号灯、显示器或输入输出按钮等。,4,工具指令,一个工具控制指令通常是由闭合某个开关或继电器而开始触发的。继电器闭合可以把电源接通或断开,以直接控制工具的运动,或者送出一个小功率信号给电子控制器,让后者去控制工具。,5, 传感器数据处理,用于现场作业的机器人只有与传感器连接起来,才能发挥其全部效用。所以,传感数据处理是许多机器人程序编制的十分重要而又复杂的组成部分。当采用触觉、听觉或视觉传感器时,更是如此。,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.2 机器人语言系统结构和基本功能工业机器人技术基础第7,19,7.3,常用的机器人编程语言,自机器人发明以来,用以记录人与机器人之间信息交换的专用语言也在不断地更新和发展。世界上第一种机器人语言是美国斯坦福大学于,1973,年研制的,WAVE,语言,,WAVE,语言是一种机器人动作级语言,它主要用以机器人的动作描述,辅助视觉传感器进行机器人的手、眼协调控制。此后,随着世界各国对机器人研究的不断深入,不同种类的机器人语言也不断出现。到目前为止,国内外主要的机器人语言大概有,24,种,.,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.3 常用的机器人编程语言工业机器人技术基础第7章 工业,20,7.3,常用的机器人编程语言,工业机器人技术基础,第,7,章 工业机器人编程与调试,序号,语言名称,国 家,研 究 单 位,简 要 说 明,1,AL,美,Stanford Artificial Intelligence Laboratory,机器人动作及对象物描述,是目前机器人语言研究的基础,2,Autopass,美,IBM,组装机器人用语言,3,LAMA-S,美,MIT,高级机器人语言,4,VAL,美,Unimation 公司,用于,PUMA机器人(采用MC6800和DECLSI-11高级微型机),5,RLAL,美,Automatic 公司,用视觉传感器检查零件时用的机器人语言,6,WAVE,美,Stanford Artificial Intelligence Laboratory,操作器控制符号语言,7,DIAL,美,Charles Stark Draper Laboratory,具有,RCC顺应性手腕控制的特殊指令,8,RPL,美,Stanford Research Institute Intemational,可与,Unimate机器人操作程序结合,预先定义子程序库,9,REACH,美,Bendix Corporation,适于两臂协调动作,和,VAL一样是使用范围广的语言,10,MCL,美,McDonnell Douglas Corporation,编程机器人、机床传感器、摄像机及其控制的计算机综合制造用语言,11,INDA,美,SRI International and Philips,相当于,RTL/2编程语言的子集,具有使用方便的处理系统,12,RAPT,美,University of Edinburgh,类似,NC语言APT(用DEC20,LSI11/2微型机),13,LM,美,Artificial Intell Inelligence Group of IMAG,类似,PASCAL,数据类似AL。用于装配机器人(用LS11/3微型机),14,ROBEX,美,Machine Tool Laboratory TH Archen,具有与高级,NC语言EXAPT相似结构的脱机编程语言,15,SIGLA,美,Olivetti,SIGMA机器人语言,16,MAL,美,Milan Polytechnic,两臂机器人装配语言,其特征是方便、易于编程,17,SERF,美,三协精机,SKILAM装配机器人(用Z-80微型机),18,PLAW,美,小松制作所,RW系列弧焊机器人,19,IML,美,九州大学,动作级机器人语言,20,KAREL,Robot studio,日本,FANUC,发那科研发的用于点焊、涂胶、搬用等工业用途的编程语言,21,RAPID,瑞典,ABB,ABB公司用于ICR5控制器示教器的编程语言,22,Robotics Studio,美国,Microsoft,微软公司开发的多语言、可视化编程与仿真语言,23,INFORM,日本,YASKAWA,24,KUKA,德国,7.3 常用的机器人编程语言工业机器人技术基础第7章 工业,21,7.3,常用的机器人编程语言,7.3.1 AL语言,1,AL,语言概述,AL,语言是,1974,年由美国斯坦福大学基于,WAVE,语言基础开发的功能比较完善的动作级机器人语言,它兼有对象级语言的某些特征,适合于装配作业的描述。,AL,语言原设计用于具有传感器反馈的多台机器人并行或协同控制的编程。它具有,PASCAL,语言的特点,可以编译成机器语言在实时控制机上执行,支持实时编程语言的同步操作、条件操作、现场建模。,2,AL,语言格式,(1),程序,BEGIN,开始,由,END,结束。,(2),语句与语句之间用,“,;,”,隔开。,(3),变量先定义类型,后使用。通常变量名以英文字母开头,由字母、数字和下画线组成字符串,字母大、小写不分。,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.3 常用的机器人编程语言工业机器人技术基础第7章 工业,22,7.3,常用的机器人编程语言,7.3.1 AL语言,如:定义机器人三种不同坐标系,,FRAME Base,,,Beam,,,Feeder,;,三种不同坐标系的变量定义,(4),程序的注释用大括号括起来(见上例)。,(5),变量,赋值语句,中如所赋的内容为,表达式,,则先计算表达式的值,再把该值赋给等式左边的变量。,3,AL,语言中的数据类型,(1),标量,(SCALAR),标量是,AL,语言中最基本的数据类型,它可以是时间、距离、角度及力等机器人能够感知或捕捉的数据,它可以进行加、减、乘、除和指数等运算,也可以进行三角函数、自然对数和指数换算。,如,: SCALAR PI; PI=3.14159 PI,为,AL,语言中预先定义的标量。,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.3 常用的机器人编程语言工业机器人技术基础第7章 工业,23,7.3,常用的机器人编程语言,7.3.1 AL语言,(2),向量,(VECTOR),向量与数学中的向量类似,也具有相同的运算法则,可以由三个标量来构造。如:,VECTOR (1,,,0,,,0);,(3),旋转,(ROT),ROT,用来描述一个轴的旋转或绕某个轴的旋转姿态。用,ROT,变量表示旋转变量时带有两个参数,一个代表旋转轴的简单向量,另一个表示旋转角度。,(4),坐标系,(FRAME),FRAME,用来建立坐标系,变量的值表示物体固连坐标系与空间作业的参考坐标系之间的相对位置与姿态。,(5),变换,(TRANS),TRANS,用来进行坐标之间的变换,具有旋转和向量两个参数,执行时先旋转再平移。,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.3 常用的机器人编程语言工业机器人技术基础第7章 工业,24,7.3,常用的机器人编程语言,7.3.1 AL语言,4. AL,语言常用指令介绍,(,1,),MOVE,指令,MOVE,指令用来描述机器人手爪的运动,如手爪从一个位置运动到另一个位置。,MOVE,指令的格式为:,MOVE TO ,(,2,)手爪,控制,指令,OPEN,:手爪打开指令。,CLOSE,:手爪闭合指令。,语句的格式为,OPEN TO ,CLOSE TO ,其中,SVAL,为开度距离值,在程序中已预先指定。,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.3 常用的机器人编程语言工业机器人技术基础第7章 工业,25,7.3,常用的机器人编程语言,7.3.1 AL语言,(,3,),控制,指令,常用控制指令有:,IF THEN ELSE ,WHILE DO ,CASE ,DO UNTIL ,FORSTEPUNTIL,(,4,),AFFIX,和,UNFIX,指令,机器人在装配作业时,经常需要将一个物体粘到另一个物体上或一个物体从另一个物体上剥离。语句,AFFIX,为两物体粘贴的操作,语句,UNFIX,为两物体分离的操作,如:,AFFIX BEAM_BORE TO BEAM BEAM_BORE,和,BEAM,两种不同坐标系粘贴在一起,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.3 常用的机器人编程语言工业机器人技术基础第7章 工业,26,7.3,常用的机器人编程语言,7.3.1 AL语言,即一个坐标系的运动也将引起另一个坐标系的同样运动。然后执行下面的语句,UNFIX BEAM_BORE FROM BEAM BEAM_BORE,和,BEAM,两坐标系的附着关系被解除,(,5,)力觉的处理,在,MOVE,语句中使用条件监控子语句可实现使用传感器信息来完成一定的动作。,监控子语句如:,ON DO ,例如:,MOVE BARM TO,-0.1*INCHES ON FORCE(Z)10*OUNCES DO STOP,表示在当前位置沿,Z,轴向下移动,0.1,英寸,如果感觉,Z,轴方向的力超过,10,盎司,则立即命令机械手停止运动。,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.3 常用的机器人编程语言工业机器人技术基础第7章 工业,27,7.3,常用的机器人编程语言,7.3.1 AL语言,5,AL,语言编程示例,如图,7-2,所示,要求用,AL,语言编制机器人将料槽坐标位置螺栓插入立柱孔的作业程序。具体动作分解为:,机器人末端执行器移至料斗上方,A,点;,抓取螺栓;,经过,B,点、,C,点再把它移至立柱孔上方,D,点;,完成螺栓插入立柱孔的动作。,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.3 常用的机器人编程语言工业机器人技术基础第7章 工业,28,7.3,常用的机器人编程语言,7.3.1 AL语言,5,AL,语言编程示例,程序步骤是:,(a),定义机座、导板、料斗、导板孔、螺栓柄等的位置和姿态;,(b),把装配作业划分为一系列动作,如移动机器人、抓取物体和完成插入等;,(c),加入传感器以发现异常情况和监视装配作业的过程;,(d),重复步骤(,a,)(,c,),调试改进程序。,按照上面的步骤,编制的程序如下:,BEGIN insertion,设置变量,bolt-diameter-0.5*inches;,bolt-heiSht-1* inches;,Tries-0;,Grasped-false;,定义机座坐标系,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.3 常用的机器人编程语言工业机器人技术基础第7章 工业,29,7.3,常用的机器人编程语言,7.3.1 AL语言,编程示例,工业机器人技术基础,第,7,章 工业机器人编程与调试,Beam-FRAME(ROT(2,90*deg),VECTOR(20,15,0)*inches);,Feeder- FRAME(nilrot, VECTOR,(,25,20,0,),* inches);,定义特征坐标系,bolt-grasp-feeder*TRANS(nilrot,nilvect),bolt-tip-bolt-grasp*TRANS(nilrot,VECTOR(0,0,0.5)*inches);,beam-bore-beam*TRANS(nilrot, VECTOR(0,0,1) * inches);,定义经过的点坐标系,A-feeder*TRANS(nilrot,VECTOR(0,0,0.5)*inches);,B-feeder*TRANS(nilrot,VECTOR(0,0,8)*inches);,C-beam-bore*TRANS(nilrot,VECTOR(0,0,5)*inches);,D-beam-bore*TRANS(nilrot,bolt-height*Z);,张开手爪,OPEN bhand TO bolt-diameter+1* inches;,使手爪准确定位于螺栓上方,MOVE barm TO bolt-grasp VIA A;,WITH APPROACH =-Z WRT feeder;,试着抓取螺栓,DO,CLOSE bhand TO 0.9 bolt-diameter;,IF bhand bolt-diameter THEN BEGIN,抓取螺栓失败,再试一次,OPEN bhand TO bolt-diameter+1* inches;,MOVE barm TO -1*Z* inches;,EDN ELSE grasped-TRUE;,Tdes3);,如果尝试,3,次未能抓取螺栓,则取消这一动作,IF NOT grasped THEN ABORT;,抓取螺栓失败,将手臂移动到,B,位置,MOVE barm TO B;,VIA A;,WITH DEPARTURE=Z WRT deeder;,7.3 常用的机器人编程语言工业机器人技术基础第7章 工业,30,7.3,常用的机器人编程语言,7.3.1 AL语言,编程示例,工业机器人技术基础,第,7,章 工业机器人编程与调试,将手臂移动到,D,位置,MOVE barm TO D VIA C;,WITH APPROACH =Z WRT beam-bore;,检验是否有孔,MOVE barm TO -0.1*Z* inches ON FORCE(Z)10*ounce,;,DO ABORT;,无孔,进行柔顺性插入,MOVE barm TO beam-bore DIRECTLY;,WITH FORCE(z)=-10*ounce;,WITH FORCE(x)=-0*ounce;,WITH FORCE(y)=-0*ounce;,WITH DURATION=5*seconds;,END insertion,7.3 常用的机器人编程语言工业机器人技术基础第7章 工业,31,7.3,常用的机器人编程语言,7.3.2 VAL语言,编程,VAL,语言是美国,Unimation,公司于,1979,年推出的一种机器人编程语言,主要配置在,PUMA,和,UNIMATION,等类型机器人上,它是一种面向动作级的计算机语言。,VAL,语言结构与,BASIC,语言结构很类似,是基于,BASIC,语言发展起来的一种机器人语言。,VAL,语言一般用于上下两级计算机控制的,机器人系统,,,上位机,为,LSI-11/23,,下位机为,6503,微处理器。上位机主要进行系统的编程和管理,下位机控制各关节的实时运动。,VAL,语言具有命令简单清晰,机器人作业动作及与上位机的通信方便,实时交互功能强等特点。可以在在线和离线两种不同状态下编程,能够迅速计算不同坐标系下机器人复杂运动轨迹,能够生成机器人的连续,控制信号,,可以与操作者实时在线修改程序和生成程序,,VAL,语言适用于多种计算机控制的机器人。,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.3 常用的机器人编程语言工业机器人技术基础第7章 工业,32,7.3,常用的机器人编程语言,7.3.2 VAL语言,编程,VAL,语言系统包括监控指令和程序指令两个部分。,1,监控指令(,6,种),监控指令包括位置定义、程序和数据列表、程序和数据存储、系统状态设置和控制、系统开关控制、系统诊断和修改等。,常见的监控指令有:,POINT,定义执行终端位置、或以关节位置表示的精确点位赋值(位置定义指令),DPOINT,删除包括精确点或变量在内的任意数量的当前位置(位置定义指令),EDIT,允许用户建立或修改一个指定名字的程序,为用户,编辑程序,的起始,(,程序指令,),DIRECTORY,显示存储器,中的全部,用户程序,名(数据列表指令),LOADL,将文件中指定的位置变量送入系统内存(数据存储指令),DO,执行单步指令(控制程序指令),工业机器人技术基础,第,7,章 工业机器人编程与调试,7.3 常用的机器人编程语言工业机器人技术基础第7章 工业,33,7.3,常用的机器人编程语言,7.3.2 VAL语言,编程,ABORT,紧急停止指令 (控制程序指令),CALIB,校准关节位置传感器(系统状态控制指令),2,程序指令(,6,种),程序指令主要包括控制机器人关节或末端执行器运动、位姿等状态的指令,常见的指令如下:,(,1),运动指令,GO,、,MOVE,、,MOVEI,、,MOVES,、,DRAW,、,APPRO,、,APPROS,、,DEPART,、,DRIVE,、,READY,、,OPEN,、,OPENI,、,CLOSE,、,CLOSEI,、,RELAX,、,GRASP,及,DELAY,等。,(,2),机器人位姿控制指令,RIGHTY,、,LEFTY,、,ABOVE,、,BELOW,、,FLIP,及,NOFLIP,等。,(,3),赋值指令,SETI,、,TYPEI,、,HERE,、,SET,、,SHIFT,、,TOOL,、,INVERSE,及,FRAME,等。,(,4),控制指令,GOTO,、,GOSUB,、,RETURN,、,IF,、,IFSIG,、,REACT,、,REACTI,、,IGNORE,、,SIGNAL,、,WAIT,、,PAUSE,及,STOP,等。,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.3 常用的机器人编程语言工业机器人技术基础第7章 工业,34,7.3,常用的机器人编程语言,7.3.2 VAL语言,编程,(,5),开关量赋值指令,SPEED,、,COARSE,、,FINE,、,NONULL,、,NULL,、,INTOFF,及,INTON,等。,(,6),其他指令,REMARK,及,TYPE,等。,3,VAL,语言编程示例,例,7.1,建立一个名为,DEMO,的,VAL,程序:要求将物体从位置,1,(,PICK,位置)搬运至位置,2,(,PLACE,位置)。,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.3 常用的机器人编程语言工业机器人技术基础第7章 工业,35,7.3,常用的机器人编程语言,3,VAL,语言编程示例,程序如下:,EDIT DEMO,启动编辑状态,PROGRAM DEMO VAL,响应,1. OPEN,下一步手张开,2. APPRO PICK 50,运动至距,PICK,位置,50mm,处,3. SPEED 30,下一步降至,30%,满速,4. MOVE PICK,运动至,PICK,位置,5. CLOSEI,闭合手,6. DEPART 70,沿手向量方向后退,70mm,7. APPROS PLACE 75,沿直线运动至距离,PLACE,位置上,8. SOEED 20,下一步降至,20%,满速,9. MOVES PLACE,沿直线运动至,PLACE,位置上,10. OPENI,在下一步之前手张开,11. DEPART 50,自,PLACE,位置后退,50mm,12. E,退出编辑状态返回监控状态,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.3 常用的机器人编程语言工业机器人技术基础第7章 工业,36,7.3,常用的机器人编程语言,7.3.3 IML (Interactive Manipulator Language),语言,IML (Interactive Manipulator Language),语言是日本九州大学开发的一种对话性好、简单易学、面向应用的机器人语言。它和,VAL,等语言一样,是一种着眼于末端执行器教作进行编程的动作级语言。,用户可以使用,IML,语言给出机器人的工作点、操作路线,或给出目标物体的位置、姿态,直接操纵机器人。除此之外,,IML,语言还有如下一些特征:,(1),描述往返操作可以不用循环语句;,(2),可以直接在工作坐标系内使用;,(3),能把要示教的轨迹,(,末端执行器位姿矢量的变化,),定义成指令,加入到语言中;所示教的数据还可以用力控制方式再现出来。,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.3 常用的机器人编程语言工业机器人技术基础第7章 工业,37,7.3,常用的机器人编程语言,7.3.4 PAPID,语言,PAPID,语言是瑞典,ABB,公司对针对机器人进行逻辑、运动以及,IO,控制开发的机器人编程语言。,RAPID,语言类似于高级语言编程,与,VB,和,C,语言结构相近。,PAPID,语言所包含的指令包含机器人运动的控制,系统设置的输入、输出,还能实现决策、重复、构造程序、与系统操作员交流等功能。,工业机器人技术基础,第,7,章 工业机器人编程与调试,PAPID程序,系统模块,程序模块,1,程序模块,2,程序模块,N,程序数据,主程序,main,例行程序,中断程序,功能,程序数据,例行程序,中断程序,功能,程序数据,例行程序,中断程序,功能,程序数据,例行程序,中断程序,功能,7.3 常用的机器人编程语言工业机器人技术基础第7章 工业,38,7.3,常用的机器人编程语言,7.3.4 PAPID,语言,PAPID,应用程序是由系统模块和程序模块构成。系统模块包含主程序,一般用于系统方面的控制,而程序模块可由操作者来构建完成机器人的动作控制。所有的,ABB,机器人都自带两个系统模块,,USER,模块和,BASE,模块,使用时系统自动生成的任何模块都不能进行修改。每一个程序模块也包含了程序数据、编程指令、中断程序和功能四种对象。,1.,程序数据,程序数据是在程序模块中设定的一些环境数据,创建的程序数据由同一个模块或其他模块的指令进行引用。,ABB,机器人程序数据的存储的类型有变量,VAR,可变量,PERS,常量,CONST,。,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.3 常用的机器人编程语言工业机器人技术基础第7章 工业,39,7.3,常用的机器人编程语言,7.3.4 PAPID,语言,ABB,机器人程序数据的存储的类型有变量,VAR,可变量,PERS,常量,CONST,。,(,1,) 变量,VAR,变量型数据在程序执行的过程中和停止,会保持当前的值。但如果程序指针被移到主程序后,数值会丢失。,举例说明:,VAR num length:=0;,名称为,length,的数字数据,VAR string name:=”John”;,名称为,name,的字符数据,VAR bool finished:=FALSE;,名称为,finished,的布尔量数据,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.3 常用的机器人编程语言工业机器人技术基础第7章 工业,40,7.3,常用的机器人编程语言,7.3.4 PAPID,语言,ABB,机器人程序数据的存储的类型有变量,VAR,可变量,PERS,常量,CONST,。,(,2,)可变量,PERS,可变量最大的特点是,无论程序的指针如何,都会保持最后赋予的值,直到对其进行重新赋值。,举例说明:,PRES string text:=”Hello”;,名称为,text,的字符数据,PRES num nbr :=1;,名称为,nbr,的数字数据,(,3,)常量,CONST,常量的特点是在定义时已赋予了数值,并不能在程序中进行修改,除非手动修改。,举例说明:,CONST num givgg:=1;,名称为,givgg,的数字数据,CONST sting greating:=”Hello”;,名称为,greating,的字符数据,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.3 常用的机器人编程语言工业机器人技术基础第7章 工业,41,7.3,常用的机器人编程语言,7.3.4 PAPID,语言,2.,编程指令,(,1,)基本运动指令,MoveL,,,MoveC, MoveJ, MoveAbsJ,。,MoveL:,线性运动指令。机器人的工具中心(,TCP,)从起点到终点之间的路径始终保持为直线,工业机器人技术基础,第,7,章 工业机器人编程与调试,例:,MoveL p1,,,v100,,,z10, tool1,P1,目标位置,v100,机器人运行速度,z10,转弯半径,tool1,工具坐标,7.3 常用的机器人编程语言工业机器人技术基础第7章 工业,42,7.3,常用的机器人编程语言,7.3.4 PAPID,语言,2.,编程指令,(,1,)基本运动指令,MoveL,,,MoveC, MoveJ, MoveAbsJ,。,MoveC:,圆弧运动指令。机器人沿着可到达的空间范围内的三个点运动,第一个点为圆弧的起点,第二点用于圆弧的中点,第三个点是圆弧的终点,。,工业机器人技术基础,第,7,章 工业机器人编程与调试,例:,MoveC p1,,,p2,,,v100,,,z1,,,tool1,7.3 常用的机器人编程语言工业机器人技术基础第7章 工业,43,7.3,常用的机器人编程语言,7.3.4 PAPID,语言,2.,编程指令,(,1,)基本运动指令,MoveL,,,MoveC, MoveJ, MoveAbsJ,。,MoveJ,:关节运动指令。在路径精度要求不高的情况下,机器人的工具中心点从一个位置移动到另一个位置,两个位置之间的路径不一定是直线,。,MoveAbsJ,:绝对位置运动指令。机器人使用六个轴和外轴的角度来定义目标位置数据。,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.3 常用的机器人编程语言工业机器人技术基础第7章 工业,44,7.3,常用的机器人编程语言,7.3.4 PAPID,语言,2.,编程指令,(2,),I/O,控制指令,Do,指机器人输出信号,Di,指机器人输入信号,Set,用于数字输出设置,,“1”,为接通,,“0”,为断开。,Reset,复位输出指令,(3),程序流程指令,IF,判断执行指令,WHILE,循环执行指令,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.3 常用的机器人编程语言工业机器人技术基础第7章 工业,45,7.3,常用的机器人编程语言,7.3.4 PAPID,语言,2.,编程指令,(,4,)停止指令,STOP,软停止指令,机器人停止运行,直接运行下一句,EXIT,硬停止指令,机器人停止运行,复位,(,5,)赋值指令,Date,:,=Value,(,6,)等待指令,WaitTime Time,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.3 常用的机器人编程语言工业机器人技术基础第7章 工业,46,7.4,机器人的示教编程与离线编程,机器人编程是指为了使机器人完成某项作业而进行的程序设计。早期的机器人只具有简单的动作功能,采用固定的程序进行控制,动作适应性较差。随着机器人技术的发展及对机器人功能要求的提高,需要一台机器人通过相应的程序完成各种工作,并具有较好的通用性。,目前,工业机器人常用的编程方式有示教编程和离线编程两种。,7.4.1,示教编程,示教编程一般用于示教,再现型机器人中,目前大部分工业机器人的编程方式都是采用示教编程。,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.4 机器人的示教编程与离线编程工业机器人技术基础第7章,47,7.4,机器人的示教编程与离线编程,7.4.1,示教编程,示教编程分为三个步骤:,(,1,)示教:就是示教人员或操作者根据机器人作业任务把机器人末端执行器送到目标位置。,(,2,)存储:示教的工程中机器人控制系统将这一运动过程和各关节位姿参数存储到机器人的内部存储器中。,(,3,)再现:当需要机器人工作时,机器人控制系统调用存储器中的对应数据,驱动关节运动,再现操作者的手动操作过程,从而完成机器人作业的不断重复和再现。,优点:示教操作时不需要操作者具备复杂的专业知识,也无需复杂的设备,所以操作简单,易于掌握。目前常用于一些任务简单、轨迹重复、定位精度要求不高的场合,如焊接、码垛、喷涂以及搬用作业。,缺点:在于很难示教一些复杂的运动轨迹,且重复性差,无法与其它机器人配合操作。,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.4 机器人的示教编程与离线编程工业机器人技术基础第7章,48,7.4,机器人的示教编程与离线编程,7.4.1,示教编程,示教编程示例:,例,7-2,:使用图,7-7,所示的日本安川,MOTOMAN UP6,型工业机器人,完成图,7-8,所示工件的焊接,焊点顺序为,1,、,2,、,3,、,4,、,5,、,6,。,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.4 机器人的示教编程与离线编程工业机器人技术基础第7章,49,7.4,机器人的示教编程与离线编程,7.4.1,示教编程,例,7-2,:使用图,7-7,所示的日本安川,MOTOMAN UP6,型工业机器人,完成图,7-8,所示工件的焊接,焊点顺序为,1,、,2,、,3,、,4,、,5,、,6,。,步骤:,1.,首先接通主电源,将控制柜开关旋钮打到,“ON”,进行系统初始化诊断;,诊断完成后,手持示教器,接通伺服电源;,新建示教程序,具体步骤如下:,确认示教编程器上的模式旋钮对准,“TEACH”,,设定为示教模式;, 按,伺服准备,键,在主菜单选择,程序,然后在子菜单选择,新建程序,;,显示新建程序画面后,按,选择,键;,显示字符输入画面后,输入程序名,“TEST”,,按,回车,键进行登录;, 光标移动到,“,执行,”,上,按,选择,键,程序,“TEST”,被登录,画面上显示该程序,,“NOP”,和,“END”,命令自动生成。,工业机器人技术基础,第,7,章 工业机器人编程与调试,7.4 机器人的示教编程与离线编程工业机器人技术基础第7章,50,7.4,机器人的示教编程与离线编程,7.4.1,示教编程,4.,示教,手握示教器,接通伺服电源,机器人进入可动作状态。,工业机器人技术基础,第,7,章 工业机器人编程与调试,程序点,1,输入过程,。,用轴操作键把机器人移到适合作业准备的位置。,按插补方式键,把插补方式定为关节插补,在输入缓冲显示行中以,MOVJ,表示关节插补命令,=,MOVJ VJ=0.78,光标停在行号,0000,处,按选择键。,光标停在显示速度,“VJ=*.*”,上,按转换键的同时按光标键,设定再现速度,如设为,50%,。,=,MOVJ VJ=50.00,按回车键,输入程序点,1,(行,0001,)。,0000 NOP,0001 MOVJ VJ=50.00,0002 END,7.4 机器人的示教编程与离线编程工业机器人技术基础第7章,51,7.4,机器人的示教编程与离线编程,7.4.1,示教编程,4.,示教,手握示教器,接通伺服电源,机器人进入可动作状态。,工业机器人技术基础,第,7,章 工业机器人编程与调试,程序点,2,输入过程,用轴操作键设定机器人为可作业姿态。,用轴操作键移动机器人到适当位置。,按回车键输入程序点,2,(行,0002,)。,0000 NOP,0001 MOVJ VJ=50.00,0002 MOVJ VJ=50.00,0003 END,7.4 机器人的示教编程与离线编程工业机器人技术基础第7章,52,7.4,机器人的示教编程与离线编程,7.4.1,示教编程,4.,示教,手握示教器,接通伺服电源,机器人进入可动作状态。,工业机器人技术基础,第,7,章 工业机器人编程与调试,程序点,3,输入过程,按手动速度高或低键选择示教速度。,保持程序点,2,的姿态不变,按坐标键设定机器人坐标系为直角坐标系,用轴操作键把机器人移到作业开始位置。,光标在,0002,行上按选择键。,光标位于显示速度,“VJ=50.00”,上,按转换键的同时按光标键,设定再现速度,例如设为,12.50%,。,=,MOVJ VJ=12.50,按回车键输入程序点,3,。,0000 NOP,0001 MOVJ VJ=50.00,0002 MOVJ VJ=50.00,0003 MOVJ VJ=12.00,0004 END,7.4 机器人的示教编程与离线编程工业机器人技术基础第7章,53,7.4,机器人的示教编程与离线编程,7.4.1,示教编程,4.,示教,手握示教器,接通伺服电源,机器人进入可动作状态。,工业机器人技术基础,第,7,章 工业机器人编程与调试,程序点,4,输入过程,用轴操作键把机器人移到作业结束位置。,按插补方式键,设定插补方式为直线插补(,MOVL,)。如果作业轨迹为圆弧,则插补方式为圆弧插补(,MOVC,)。,=,MOVL V=66,光标在行号,0003,处,按选择键。,光标位于显示速度,“V=66”,上,按转换键的同时按光标键,设定再现速度,例如把速度设为,138 cm/min,。,=,MOVL V=138,按回车键输入程序点,4,。,0000 NOP,0001 MOVJ VJ=50.00,0002 MOVJ VJ=50.0
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!