机器人技术基础及应用 课件 项目3、4 认识工业机器人控制系统、认识工业机器人编程语言_第1页
机器人技术基础及应用 课件 项目3、4 认识工业机器人控制系统、认识工业机器人编程语言_第2页
机器人技术基础及应用 课件 项目3、4 认识工业机器人控制系统、认识工业机器人编程语言_第3页
机器人技术基础及应用 课件 项目3、4 认识工业机器人控制系统、认识工业机器人编程语言_第4页
机器人技术基础及应用 课件 项目3、4 认识工业机器人控制系统、认识工业机器人编程语言_第5页
已阅读5页,还剩125页未读 继续免费阅读

下载本文档

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

文档简介

机器人技术基础及应用项目三认识工业机器人控制系统

任务一

认识工业机器人系统组成与分类目录任务工单2任务提出1任务准备3任务总结5任务实施4一、任务提出任务提出

本任务主要了解工业机器人控制系统的功能、结构组成、特点、结构分类,熟悉机器人操作系统的特点、优劣以及典型工业机器人控制系统的特点。二、任务工单任务工单项目名称项目三

初识工业机器人控制系统任务名称任务一

初识工业机器人系统组成与分类实训场地

实训设备

学号

工位号

知识目标(1)了解工业机器人控制系统的功能、特点。(2)了解工业机器人控制系统的结构组成、结构分类。(3)掌握工业机器人操作系统。技能目标(1)能够使用典型工业机器人操作系统。素质目标(1)增长见闻、关注行业;(2)安全生产、提高效率;(3)文明生产、保证质量;(4)提升自信、服务产业。任

容1.工业机器人控制系统的功能。

2.工业机器人控制系统的特点。

3.工业机器人控制系统的结构组成。

4.工业机器人控制系统的结构分类。

5.工业机器人操作系统。三、任务准备(一)思维导图三、任务准备(二)知识详解1.工业机器人控制系统的功能(1)记忆功能:具备存储作业顺序、运动路径、运动方式、运动速度和与生产工艺有关的信息的功能。(2)示教再现功能:机器人控制系统可实现离线编程、在线示教及间接示教等功能在线示教又包括通过示教器进行示教和导引示教两种情况。(3)坐标设置功能:一般的工业机器人控制器设置有关节坐标、绝对坐标、工具坐标及用户坐标4种坐标系,用户可根据作业要求选用不同的坐标系并可以进行各坐标系之间的转换。(4)位置伺服功能

:可实现多轴联动、运动控制、速度和加速度控制、力控制及动态补偿等功能。在运动过程中,还可以实现状态监测、故障诊断下的安全保护和故障自诊断等功能。三、任务准备(二)知识详解1.工业机器人控制系统的功能(5)人机接口:包括示教器、操作面板、显示屏。(6)传感器接口:包括位置检测、视觉、触觉、力觉等。(7)与外围设备联系的功能:外围设备包括输入接口、输出接口、通信接口、网络接口和同步接口。三、任务准备2.工业机器人控制系统的特点(二)知识详解(1)多关节联动控制(2)加(减)速控制(3)基于坐标变换的运动控制(4)运动描述复杂(5)信息运算量大(6)重复定位精度,系统刚性好(7)示教再现控制方式三、任务准备3.工业机器人控制系统的结构组成(二)知识详解(1)控制计算机(2)示教器(3)操作面板(4)磁盘存储(5)数字和模拟量输入/输出(6)打印机接口

(7)传感器接口(8)轴控制器(9)辅助设备控制(10)通信接口(11)

伺服控制器(12)网络接口三、任务准备4.工业机器人控制系统的结构分类(二)知识详解机器人控制系统的硬件结构按照其控制方式可分为三类:集中控制系统主从控制系统分散控制系统三、任务准备4.工业机器人控制系统的结构分类(二)知识详解(1)集中控制系统

优点:

硬件成本较低,

便于信息的采集和分析,

易于实现系统的最优控制,

整体性与协调性较好

基于计算机的系统硬件扩展较为方便。

缺点:实时性差。由于工业机器人控制涉及位置控制、速度控制、加速度控制、轨迹规划等各种数据,对实时性要求较高。三、任务准备4.工业机器人控制系统的结构分类(二)知识详解(2)主从控制系统

优点

主从控制系统实时性较好

适用于高精度、高速度控制

缺点

系统扩展性较差

维修困难三、任务准备4.工业机器人控制系统的结构分类(二)知识详解(3)分散控制系统

优点:

系统灵活性好,

控制系统的危险性降低,

有利于系统功能的并行执行、提高了系统的处理效率,缩短响应时间。

缺点

当系统中轴的数量或控制算法变得很复杂时,其控制性能会恶化,可能会导致系统的重新设计。三、任务准备5.机器人操作系统(二)知识详解(1)VxWorks

所属公司:美国WindRiver(风河系统公司)

设计时间:1983年

开发环境:嵌入式实时操作系统,是Tormado嵌入式开发环境的关键组成部分。

系统特点:

使用可裁剪微内核结构,

具有高效的任务管理、灵活的任务间通信、微秒级的中断处理,

支持多种物理介质及标准、完整的TCP/IP网络协议等。

典型应用:ABB、KUKA等。三、任务准备5.机器人操作系统(二)知识详解(2)WindowsCE所属公司:美国微软公司

开发环境:嵌入式实时操作系统。

系统特点:

与Widows系列有较好的兼容性,

为建立针对上设备、无线设备的动应用程序和服务提供了一种功能丰富的操作系统平台,

适用于那些对内存占用空间具有一定限制的设备。

软实时操作系统,

开发资源丰富

典型应用:KUKA三、任务准备5.机器人操作系统(二)知识详解(3)嵌入式Linux

开发环境:嵌入式操作系统

系统特点:

遵从GPL,是开放源代码和免费的;

有庞大的开发人员群体,无须专门的人才,只要懂Unix/Linux和C语言即可;

支持各种硬件的驱动程序源代码且都可以得到,为用户编写自己专有硬件的驱动程序带来很大方便。

典型应用:中小型机器人公司、科研院所三、任务准备5.机器人操作系统(二)知识详解(4)μC/OS-II

开发环境:嵌入式操作系统

系统特点:

公开源代码

可移植性好

可固化

可裁剪性

占先式内核

可确定性

典型应用:教学机器人、服务机器人、工业机器人科研三、任务准备6.典型工业机器人控制系统(二)知识详解(1)ABBABB总部:瑞士苏黎世

诞生时间:1974年,ABB第一台机器人诞生

典型系统:IRC5控制系统,

框架:x86架构;

操作系统:VxWorks实时操作系统;

功能:负责机器人任规划、外部通信、参数配置等上层任务;三、任务准备6.典型工业机器人控制系统(二)知识详解(2)KUKAKUKA总部:德国巴伐利亚州奥格斯堡

成立时间:1995年

典型系统:KRC4控制系统

框架:x86架构;

操作系统:“VxWorks+Windows”控制系统实时操作系统;三、任务准备6.典型工业机器人控制系统(二)知识详解(3)新松SRCC5

SRCC5智能控制系统

支持虚拟仿真、机器视觉(2D/3D)、力觉传感等多种智能技术的应用

可以通过不同行业的工艺软件包,在焊接、搬运、码垛、磨抛装配、喷涂等多个领域作业。

采用全新的控制柜设计

SRCC5智能控制系统在软、硬件性能得到提升

体积缩减43%,重量降低32%,

柜内机器人控制器、安全控制器、伺服驱动器高度融合,

全方位保障作业安全性。

采用触摸屏横版示教盒

具有高灵敏度的触屏体验,适用于新型系统所有机型。

集成通电按钮、模式选择开关、状态指示灯、急停按钮,更加快捷方便。

示教器线缆与控制柜通过快插连接器连接,能够快速插拔,可以实现示教器与机器人一对多的组合方式。四、任务实施1.选择题(1)示教再现功能是指机器人控制系统可实现离线编程、

及间接示教等功能。A.在线示教B.仿真示教C.虚拟试教D.引导示教

(2)以下哪个不是机器人控制系统的特点。A.多关节联动控制B.信息运算量小

C.基于坐标变换的运动控制D.加(减)

速控制(3)伺服驱动器和伺服电动机构成伺服控制系统,将伺服电动机的编码器的反馈连接到伺服驱动器,形成

控制系统。A.开环B.步进C.闭环D.分散(4)机器人集中控制系统的优点是

。A.硬件成本较低B.便于信息的采集和分析C.易于实现系统的最优控制D.实时性好(5)新松SRCC5控制系统不支持

。A.EMD校准B.虚拟仿真C.机器视觉(2D/3D)D.力觉传感四、任务实施2.填空题(1)机器人的记忆功能具备存储作业顺序、

、运动方式、运动速度和与生产工艺有关的信息的功能。(2)机器人的在线示教又包括通过示教器进行示教和

示教两种情况。(3)工业机器人控制系统是一个与运动学和动力学密切相关的、紧耦合的、

的多变量控制系统。(4)机器人控制系统的硬件结构按照其控制方式可分为三类:集中控制系统、主从控制系统和

。(5)机器人操作系统主要有

、WindowsCE、嵌入式Linux、μC/OS-II。四、任务实施3.判断题(1)一般的工业机器人控制器设置有关节坐标、绝对坐标、工具坐标及用户坐标4种坐标系,用户可根据作业要求选用不同的坐标系并可以进行各坐标系之间的转换。(

)(2)描述机器人状态和运动的数学模型是一个线性模型。(

)(3)主从控制系统采用主、从两级处理器实现系统的全部控制功能,适用于高精度、高速度控制。(

)(4)机器人操作系统是工业机器人控制系统的“软部分”,实质上都是采用了嵌入式实时操作系统(RTOS)。(

)(5)ABB机器人的控制系统是IRC5。(

)四、任务实施4.技能实践1.绘制工业机器人控制系统的结构组成。五、任务总结01020304任务提出任务工单任务准备任务实施26感谢聆听!机器人技术基础及应用项目三认识工业机器人控制系统

任务二

初识工业机器人伺服控制目录任务工单2任务提出1任务准备3任务总结5任务实施4一、任务提出任务提出

工业机器人的驱动源于伺服电机,伺服控制则是工业机器人的控制基础,亦是位置控制、速度控制的载体,其良好的控制功能是控制机器人精准定位、运行的关键。本任务主要了解工业机器人的伺服驱动器、伺服控制的基本流程以及控制方式的选用方法。二、任务工单任务工单项目名称项目三

初识工业机器人控制系统任务名称任务二

初识工业机器人伺服控制实训场地

实训设备

学号

工位号

知识目标(1)了解工业机器人伺服驱动器。(2)掌握工业机器人伺服控制的基本流程。(3)掌握工业机器人伺服驱动控制方式的选用方法。技能目标(1)能够绘制工业机器人伺服控制的基本流程。(2)能够选用工业机器人伺服驱动器控制方式。素质目标(1)增长见闻、关注行业;(2)安全生产、提高效率;(3)文明生产、保证质量;(4)提升自信、服务产业。任

容1.工业机器人伺服驱动器的技术指标。

2.工业机器人伺服驱动器的通讯方式。

3.工业机器人伺服控制的基本控制任务。

4.工业机器人伺服驱动控制方式的选用方法。

三、任务准备(一)思维导图三、任务准备(二)知识详解1.工业机器人的伺服驱动器(1)组成工业机器人的伺服驱动器是指控制机器人伺服电动机的专用控制器,可通过位置、速度和转矩三种方式对工业机器人的伺服电动机进行闭环控制。三、任务准备(二)知识详解1.工业机器人的伺服驱动器(2)通讯传统模式驱控一体化新型模式(ALLinONE)

优势

体积小、重量轻、部署灵活、成本低、可靠性高

可高效处理完成复杂的机器人算法

通过共享内存传输更多控制、状态信息

通信速度高达100Mbit/s

劣势

在于高集成度开发难度较大

高集成度系统扩展性欠缺三、任务准备(二)知识详解1.工业机器人的伺服驱动器(3)分类功率等级

400W伺服驱动器

1kW同服驱动器

2kW伺服驱动器

5.5kw伺服驱动器

7.5kW伺服驱动器

11kW伺服驱动器

18kw伺服驱动器三、任务准备(二)知识详解1.工业机器人的伺服驱动器(3)分类电动机编码器类型

增量型旋转编码器伺服驱动器

旋转变压器伺服驱动器

磁编码器伺服驱动器

高精度编码器伺服驱动器三、任务准备(二)知识详解1.工业机器人的伺服驱动器(3)分类总线控制方式

EtherCAT总线伺服驱动器

Powerlink总线伺服驱动器

Mechatrolink总线伺服驱动器三、任务准备(二)知识详解2.工业机器人伺服控制的基本流程(1)被控对象不同分类位置控制速度控制加速度控制力控制力矩控制力和位置混合控制三、任务准备(二)知识详解2.工业机器人伺服控制的基本流程(2)基本控制流程三、任务准备(二)知识详解3.工业机器人伺服驱动器控制方式的选用方法(1)根据整体控制需求选用(2)根据伺服驱动器的上位控制器具体情况选用四、任务实施1.选择题(1)工业机器人的伺服驱动器可通过位置、速度和转矩三种方式对工业机器人的伺服电动机进行

控制。A.闭环B.开环C.步进D.主从

(2)采用ALLinONE方式的缺点是

。A.体积小B.高集成度系统扩展性C.重量轻D.部署灵活(3)实现机器人

是工业机器人的基本控制任务。A.位置控制B.速度控制C.加速度控制D.力和位置混合控制四、任务实施2.填空题(1)工业机器人一般采用交流伺服系统作为执行单元来完成机器人特定的轨迹运动、并满足在运行速度、动态响应、

等方面的技术要求。(2)工业机器人的上位控制器和伺服驱动器采用脉冲指令和

的方式进行通信。(3)工业机器人伺服驱动器可按照

、电动机编码器类型、总线控制方式等进行分类。四、任务实施3.判断题(1)工业机器人的伺服驱动器是指控制机器人伺服电动机的专用控制器。(

)(2)ALLinONE方式可高效处理完成复杂的机器人算法。(

)(3)机器人伺服驱动器的速度控制和转矩控制都是用数字量来控制的,位置控制是通过发脉冲来控制的。(

)四、任务实施4.技能实践1.绘制工业机器人的位置控制框图。五、任务总结01020304任务提出任务工单任务准备任务实施46感谢聆听!机器人技术基础及应用项目四认识工业机器人编程语言

任务一

认识工业机器人常用编程语言目录任务工单2任务提出1任务准备3任务总结5任务实施4一、任务提出任务提出

工业机器人编程语言按照其作业描述水平的角度来,机器人编程语言的水平可以分为动作级、对象级和任务级。本次任务主要了解常用的AL编程语言和VAL编程语言。二、任务工单任务工单项目名称项目四

认识工业机器人编程语言任务名称任务一

认识工业机器人常用编程语言实训场地

实训设备

学号

工位号

知识目标(1)了解工业机器人编程语言分类。(2)了解AL编程语言。(3)掌握VAL编程语言。技能目标(1)能够使用VAL注释工业机器人程序。素质目标(1)增长见闻、关注行业;(2)安全生产、提高效率;(3)文明生产、保证质量;(4)提升自信、服务产业。任

容1.工业机器人编程语言分类方式。

2.AL编程语言变量的基本类型。

3.AL编程语言常用编程指令。

4.VAL编程语言系统。

5.VAL编程语言常用编程指令。

三、任务准备(一)思维导图三、任务准备(二)知识详解1.工业机器人编程语言分类(1)按照其作业描述水平的角度动作级:以机器人的运动作为描述中心,通常由使末端执行器从一个位置到另一个位置的一系列命令组成。对象级:不需要描述机器人末端执行器的运动,只需由编程人员用程序的形式给出作业本身顺序过程的描述和环境模型的描述,即描述操作物体与作业物体之间的关系,通过编译程序机器人即可知道如何动作。任务级:允许使用者对工作任务所要求达到的目标直接下命令,而不需要规定机器人所做的每一个动作的细节。只要按某种原则给出最初的环境模型和最终工作状态,机器人可自动进行推理、计算,最后自动生成机器人的动作。三、任务准备(二)知识详解1.工业机器人编程语言分类(2)按照编程功能面向点位控制:要求用户采用示教盒上的操作按钮或移动示教操作杆引导机器人做一系列的运动,然后将这些运动转变成机器人的控制指令。面向运动:以描述机器人执行机构的动作为中心,语言的核心部分是描述手部的各种运动语句,语言的指令由系统软件解释执行。结构化:在PASCAL语言基础上发展起来的,具有较好的模块化结构。它由编译程序和运行时间系统组成。面向任务:以描述作业对象的状态变化为核心,编程人员通过工件(作业对象)的位置、姿态和运动来描述机器人的任务。三、任务准备(二)知识详解2.常见机器人语言(1)AL语言:一种编译形式的高级程序设计系统语言,描述诸如装配一类的任务。(2)AML语言:由IBM公司开发的一种交互式面向任务的编程语言,专门用于控制制造过程。(3)AutoPASS语言:IBM公司下属研究所提出的AutoPASS机器人语言。AutoPASS语言是一种对象级语言。(4)VAL语言:美国Unimation公司开发推出了VAL语言,主要配置在PUMA和UNIMATION等型机器人上,是一种专用的动作类描述语言。(5)MCL语言:由美国麦道飞机公司为工作单元离线编程而开发的一种机器人语言。(6)SERF语言:由日本三协精机制作所开发的控制SKILAM机器人的语言。(7)SIGLA语言:由意大利Olivetti公司开发的一种面向装配的语言,其主要特点是为用户提供了定义机器人任务的能力。三、任务准备(二)知识详解3.认识AL语言(1)AL语言的编程格式

程序BEGIN开始,由END结束。

语句与语句之间用分号隔开。

变量先定义说明其类型,后使用。变量名以英文字母开头,由字母、数字和下画线组成,字母大、小写不分。

程序的注释用大括号括起来。

变量赋值语句中如所赋的内容为表达式,则先计算表达式的值,再把该值赋给等式左边的变量。三、任务准备(二)知识详解3.认识AL语言(2)变量的表达及特征

标量

与计算机语言中的实数一样是浮点数,可以进行加、减、乘、除和指数五种运算,也可以进行三角函数和自然对数的变换。

AL中的标量可以表示:时间(TIME)、距离(DISTANCE)、角度(ANGLE)、力(FORCE)或者它们的组合,并可以处理这些变量的量纲,如英寸(in)、度(deg)等。

事先定义的标量:PI=3.14159,TRUE=1,FALES=0等。三、任务准备(二)知识详解3.认识AL语言(2)变量的表达及特征

矢量

由一个三元实数(x,y,z)构成,它表示对应于某坐标系的平移和位置之类的量,与标量一样具有量纲。

利用VECTOR函数,可以由三个标量表达式来构造失量。

可进行加、减、内积、叉积及与标量相乘、相除等运算。

在AL中有几个事先定义过的矢量:xhat<-VECTOR(1,0,0);yhat<-VECTOR(0,1,0);zhat<-VECTOR(0,0,1);nilvect<-VECTOR(O,O,O);三、任务准备(二)知识详解3.认识AL语言(2)变量的表达及特征

旋转

旋转表示绕一个轴旋转,用以表示姿态。

旋转用函数ROT来构造,ROT函数有两个参数,一个代表旋转轴,用矢量表示;另一个是旋转角度。

旋转规则按右手法则进行。

x函数AXIS(x)表示求取x的旋转轴,而|x|表示求取x的旋转角。

AL中有一个称为nilrot事先说明过的旋转,定义为ROT(zhat,0*deg)。三、任务准备(二)知识详解3.认识AL语言(2)变量的表达及特征

坐标系

坐标系可通过调用函数FRAME来构成,其变量值表示物体固连坐标系与空间作业的参考坐标系之间的相对位置与姿态。

具有两个参数,一个表示姿态的旋转,另一个表示位置的距离矢量。

AL中定义STATION代表工作空间的基准坐标系,其他坐标的建立均以STATION为参考系。三、任务准备(二)知识详解3.认识AL语言(2)变量的表达及特征

变换

TRANS型变量用来进行坐标系间的变换。

TRANS包括两部分:一个旋转和一个向量。

执行时,先旋转再平移,即先与相对于作业空间的基坐标系旋转部分相乘,然后再加上向量部分。

当算术运算符“<-"作用于两个坐标系时,是指把第一个坐标系的原点移到第二个坐标系的原点,再经过旋转使其轴重合。三、任务准备(二)知识详解3.认识AL语言(3)常用AL语言语句1)MOVE语句

用来描述机器人手爪的运动,如手爪从一个位置运动到另一个位置。

MOVE语句的格式为

MOVE<HAND>TO<目的地>三、任务准备(二)知识详解3.认识AL语言(3)常用AL语言语句2)手爪控制语句

命令OPEN:手爪打开语句。CLOSE:手爪闭合语句。

语句格式为OPEN<HAND>TO<SVAL>CLOSE<HAND>TO<SVAL>其中SVAL为开度距离值,在程序中已预先指定。三、任务准备(二)知识详解3.认识AL语言(3)常用AL语言语句3)控制语句

IF<条件>THEN<语句>ELSE<语句>

WHILE<条件>DO<语句>

CASE<语句>

DO<语句>UNTIL<条件>

FOR…STEP…UNTIL…三、任务准备(二)知识详解4.认识VAL语言(1)VAL语言系统

文本编辑:可以通过键盘输入文本程序,也可通过示教盒在示教方式下输入程序。在输入过程中可修改、编辑、生成程序,最后保存到存储器中。在此状态下也可调用已存在的程序。

系统命令:位置定义、程序和数据列表、程序和数据存储、系统状态设置和控制、系统开关控制、系统诊断和修改。

编程语言:把一条条程序语句转换执行。三、任务准备(二)知识详解4.认识VAL语言(2)常用VAL语言指令①位置及姿态定义指令

命令POINT指令:执行终端位置、姿态的齐次变换或以关节位置表示的精确点位赋值。HERE指令:此指令使变量或精确点的值等于当前机器人的位置。WHERE指令:该指令用来显示机器人在直角坐标空间中的当前位置和关节变量值。BASE指令:设置当前基坐标系(工作坐标系),后续运动指令基于此坐标系执行。TOOLI指令:此指令的功能是对工具终端相对工具支承面的位置和姿态赋值。

语句格式为POINT<变量名>=<位置表达式>HERE<变量名>WHERE<变量名>BASE<基坐标系编号>TOOLI<工具编号>=<X>,<Y>,<Z>,<ROLL>,<PITCH>,<YAW>三、任务准备(二)知识详解4.认识VAL语言(2)常用VAL语言指令②运动指令

命令GO指令:以关节插补方式(各关节独立运动)快速移动到目标位置,路径不确定,常用于空行程。MOVE指令:以直线插补方式(TCP沿直线运动)移动到目标位置,路径确定,用于精确作业。MOVEI指令:与MOVE类似,但使用增量位置(相对于当前位置的偏移)。MOVES指令:沿平滑曲线移动到目标位置,通过中间点自动生成平滑轨迹,用于连续路径作业。DRAW指令:与MOVE类似,但强制保持工具姿态不变(仅改变位置)。APPRO指令:沿当前工具Z轴方向(通常是工具尖端朝向)接近目标位置,用于工件的切入。DEPART指令:与APPRO类似,但使用平滑曲线接近目标位置。DRIVE指令:单独驱动指定关节到目标角度,用于机器人的手动调试。READY指令:使机器人回到初始位置(通常是安全的待机位置),等效于GOREADY。三、任务准备(二)知识详解4.认识VAL语言(2)常用VAL语言指令②运动指令

语句格式为GO<位置变量>MOVE<位置变量>MOVEI<位置变量>MOVES<位置变量1>,<位置变量2>,<位置变量3>DRAW<位置变量>APPRO<位置变量>,<距离>DEPART<距离>DRIVE<关节号>,<角度>READY三、任务准备(二)知识详解4.认识VAL语言(2)常用VAL语言指令③机器人位姿控制指令

命令RIGHTY指令:设置为右手系(默认),工具X轴指向右侧。LEFTY指令:设置为左手系,工具X轴指向左侧。ABOVE指令:工具从上方接近目标位置(沿Z轴负方向)。BELOW指令:工具从下方接近目标位置(沿Z轴正方向)。FLIP指令:翻转工具姿态(通常是绕工具Z轴旋转180°)。NOFLIP指令:不翻转工具姿态(保持当前状态)。三、任务准备(二)知识详解4.认识VAL语言(2)常用VAL语言指令③机器人位姿控制指令

语句格式为RIGHTYLEFTYABOVEBELOWFLIPNOFLIP三、任务准备(二)知识详解4.认识VAL语言(2)常用VAL语言指令④赋值指令

命令SETI指令:对数字输出端口的状态进行设置。TYPEI指令:读取数字输入端口的状态。SET指令:对数值变量或位置变量进行赋值。SHIFT指令:对位置变量进行偏移,生成一个新的位置。TOOL指令:选择预先定义的工具坐标系。INVERSE指令:计算位置变量的逆变换(相当于求矩阵的逆)。FRAME指令:选择预先定义的基坐标系。三、任务准备(二)知识详解4.认识VAL语言(2)常用VAL语言指令④赋值指令

语句格式为SETI<输出端口号>=<值>TYPEI<输入端口号>SET<变量>=<表达式>SHIFT<位置变量>,<X偏移>,<Y偏移>,<Z偏移>,<ROLL偏移>,<PITCH偏移>,<YAW偏移>TOOL<工具编号>INVERSE<位置变量>FRAME<基坐标系编号>三、任务准备(二)知识详解4.认识VAL语言(2)常用VAL语言指令⑤控制指令

命令GOTO指令:无条件跳转到程序中指定的行号执行。GOSUB指令:调用子程序(从指定行号开始),执行完毕后通过RETURN返回到调用行的下一行。RETURN指令:从子程序返回主程序,通常与GOSUB配合使用。IF指令:有条件跳转。IFSIG指令:检查指定信号是否被触发(通常用于外部事件响应)。REACT指令:定义信号触发时的中断处理程序(中断发生时立即跳转到指定行号)。REACTI指令:中断处理程序执行完毕后不恢复原程序,而是继续从中断处理程序返回后的位置执行。IGNORE指令:忽略指定信号的触发,暂时禁用中断响应。SIGNAL指令:触发一个自定义信号,用于程序内部通信。WAIT指令:暂停程序执行,直到条件表达式为真。PAUSE指令:暂停程序执行,等待操作员按下继续按钮后恢复。STOP指令:终止程序执行,需要重新启动程序才能继续。三、任务准备(二)知识详解4.认识VAL语言(2)常用VAL语言指令⑤控制指令

语句格式为GOTO<行号>GOSUB<行号>RETURNIF<条件表达式>THEN<语句>IFSIG<信号名>THEN<语句>REACT<信号名>GOSUB<行号>REACTI<信号名>GOSUB<行号>IGNORE<信号名>WAIT<条件表达式>PAUSESTOP三、任务准备(二)知识详解4.认识VAL语言(3)程序分析1.PROGRAMGRAPPER//程序名。2.SPEED25ALWAYS//设定机器人的速度。3.height=50//设定沿末端执行器z轴方向抬起或落下的距离。4.MOVEpl//运动机器人到点p1。5.MOVESp2//沿直线运动机器人到点p2。6.REACTI1001//如果端口1输入信号为高电平(关),立即停止机器人。7.BREAK//当上述动作完成后停止执行。8.DELAY1//延迟1s执行。三、任务准备(二)知识详解4.认识VAL语言(3)程序分析9.IFSIG(1001)GOTO100//检测输入端口1,如果为高电平(关),执行第100行命令,否则执行下一行命令。10.OPEN//打开手爪。11.MOVEp3//运动到点p3。12.SIGNAL2//打开输出端口2。13.APPROp4,height//将机器人以p4为基准点,沿手爪(工具坐标系)的z轴偏移height距离。14.MOVEp4//运动到位于p4点。15.CLOSEI//关闭手爪,并等待直至手爪闭合。三、任务准备(二)知识详解4.认识VAL语言(3)程序分析16.DEPARTheight//将机器人以p4为基准点,偏移height距离。17.MOVEpl//机器人移到pl点。18.END//程序结束四、任务实施1.选择题(1)(

)语言的语句比较简单,易于编程。A.动作级B.对象级C.任务级D.控制级(2)(

)语言的程序BEGIN开始,由END结束。A.VALB.ALC.RAPIDD.KRL(3)AL编程语言中(

)型变量用来进行坐标系间的变换。A.矢量B.旋转C.变换D.坐标系(4)AL编程语言中(

)用来描述机器人手爪的运动,如手爪从一个位置运动到另一个位置。A.OPENB.CLOSEC.HERED.MOVE(5)VAL语言的运动指令不包括(

)。A.GOTOB.MOVEC.DRAWD.OPEN四、任务实施2.填空题(1)按照其作业描述水平的角度来,机器人编程语言可以分为

、对象级和任务级。(2)

语言是一种高级的机器人语言,这类语言允许使用者对工作任务所要求达到的目标直接下命令,而不需要规定机器人所做的每一个动作的细节。

(3)AL编程语言变量的基本类型有

、矢量、旋转、坐标系和变换。(4)AL编程语言的

变量用函数ROT来构造,ROT函数有两个参数。(5)VAL语言系统包括文本编辑、

和编程语言三个部分。四、任务实施3.判断题(1)动作级语言是以机器人的运动作为描述中心,通常由使末端执行器从一个位置到另一个位置的一系列命令组成。(

)(2)所谓对象,即作业及作业物体本身,它不需要描述机器人末端执行器的运动。(

(3)任务级语言的概念类似于人工智能中程序自动生成的概念,机器人能够边思考边工作。(

)(4)AL语言是一种高级程序设计系统,可描述诸如焊接、装配等任务。(

)(5)VAL语言中POINT指令此指令的功能是对工具终端相对工具支承面的位置和姿态赋值。(

)四、任务实施4.技能实践1.实训题:注释下列VAL程序语句1.PROGRAM GET2.SPEED30ALWAYS3.height=504.MOVEpl5.MOVESp26.IFSIG(1001)7.OPEN8.DELAY19.APPROp3,height10.MOVEp311.CLOSEI12.DEPARTheight13.MOVESp214.MOVEpl15.END五、任务总结01020304任务提出任务工单任务准备任务实施83感谢聆听!机器人技术基础及应用项目四认识工业机器人编程语言

任务二

认识典型工业机器人编程语言目录任务工单2任务提出1任务准备3任务总结5任务实施4一、任务提出任务提出

汽车领域所使用的典型工业机器人为ABB机器人和KUKA机器人。本次任务主要了解ABB机器人编程所使用的RAPID编程语言和KUKA机器人编程所使用的KRL编程语言。二、任务工单任务工单项目名称项目四

认识工业机器人编程语言任务名称任务二

认识典型工业机器人编程语言实训场地

实训设备

学号

工位号

知识目标(1)掌握RAPID编程语言。(2)掌握KRL编程语言。技能目标(1)能够注释RAPID工业机器人程序。(2)能够注释KRL工业机器人程序。素质目标(1)增长见闻、关注行业;(2)安全生产、提高效率;(3)文明生产、保证质量;(4)提升自信、服务产业。任

容1.RAPID编程语言函数类型。

2.RAPID编程语言常用数据类型。

3.RAPID编程语言常用编程指令。

4.KRL编程语言结构化编程的目的。

5.KRL编程语言常用编程指令。

三、任务准备(一)思维导图三、任务准备(二)知识详解1.认识RAPID编程语言RAPID语言是ABB机器人特有的工业机器人编程语言。具有较大的灵活性和扩展性,可支持用户自定义数据类型。RAPID语言RAPID语言支持分层编程方案,在分层编程方案中,可为特定机器人系统安装新程序、数据对象和数据类型。该方案能对编程环境进行自定义(扩展编程环境的功能),并获得RAPID编程语言的充分支持。三、任务准备(二)知识详解1.认识RAPID编程语言(1)任务与模块化RAPID应用可视为一系列任务,每一个任务包含一组模块,每一个模块包换若干数据和程序声明。RAPID模块可以分为系统模块和任务模块。三、任务准备(二)知识详解1.认识RAPID编程语言(2)函数类型

有返回值函数:返回用户定义的特定类型的数值,经常用于表达式里面。

无返回值函数:不返回任何数值,经常用于语句中

有输入值函数:用于输入用户定义好的参数,也常用于表达式中。

无输入值函数:用户不能输入参数,也常用于表达式中。三、任务准备(二)知识详解1.认识RAPID编程语言(3)常用数据类型tooldata:用于描述工具的特征。此类特征包括工具中心点(TCP)的位置和方位以及工具负载的物理特征。wobjdata:用于描述机械臂焊接、处理、于其内部移动等的工件。loaddata:用于描述附于机械臂机械界面(机械臂安装法兰)的负载。常常定义机械臂的有效负载或支配负载。robtarget:用于定义机械臂和附加轴的位置。位置数据用于定义移动机械臂和附加轴的移动指令中的位置。jointtagert:

用于确定通过指令MoveAbsJ而将机械臂和外轴移动到的位置。pos:

用于描述X、Y和Z位置的坐标(仅X、Y和Z各位置)。三、任务准备(二)知识详解1.认识RAPID编程语言(3)常用数据类型signalxx:

signalai:模拟信号输入信号

signalao:模拟信号输出信号

signaldi:数字信号输入信号

signaldo:数字信号输出信号

signalgi:数字信号输入信号组

signalgo:数字信号输出信号组三、任务准备(二)知识详解1.认识RAPID编程语言(3)常用数据类型bool:

用于逻辑值(真/假)。num:

用于数值;例如,计数器。string:用于字符串。三、任务准备(二)知识详解1.认识RAPID编程语言(4)常用编程指令移动指令MoveAbsJ:用于将机械臂和外轴移动至轴位置中指定的绝对位置。MoveJ:

当该运动无须位于直线中时,用于将机械臂迅速地从一点移动至另一点。MoveL:

用于将工具中心点沿直线移动至给定目的。MoveC:

用于将工具中心点(TCP)沿圆周移动至给定目的地。三、任务准备(二)知识详解1.认识RAPID编程语言(4)常用编程指令等待指令WaitDI:用于等待,直至已设置数字信号输入。WaitDO:

用于等待,直至已设置数字信号输出。三、任务准备(二)知识详解1.认识RAPID编程语言(4)常用编程指令信号设定指令Set:

用于将数字信号输出信号的值设置为“1”。Reset:

用于将数字信号输出信号的值设置为“0”。三、任务准备(二)知识详解1.认识RAPID编程语言(4)常用编程指令信号设定指令Set:

用于将数字信号输出信号的值设置为“1”。Reset:

用于将数字信号输出信号的值设置为“0”。三、任务准备(二)知识详解1.认识RAPID编程语言(4)常用编程指令信号设定指令IF:

分支指令,根据是否满足条件,执行不同的指令。

格式:IF<条件语句>THEN<执行语句>ENDIF三、任务准备(二)知识详解1.认识RAPID编程语言(4)常用编程指令信号设定指令FOR:

循环指令,当一个或多个指令重复多次时,使用FOR。

格式:FOR<ID>FROM<Start>TO<End>STEP<EXP>DO<执行语句>ENDFOR三、任务准备(二)知识详解1.认识RAPID编程语言(4)常用编程指令信号设定指令WHILE:

循环指令,只要给定条件表达式评估为TRUE值,当重复一些指令时,使用WHILE。如果可能确定重复的数量,则可以使用FOR指令。

格式:WHILE<EXP>DO<执行语句>ENDWHILE三、任务准备(二)知识详解1.认识RAPID编程语言(4)常用编程指令信号设定指令TEST:

分支指令。根据表达式或数据的值,当有待执行不同的指令时,使用TEST。如果并没有太多的替代选择,则亦可使用IF...ELSE指令。

格式:TEST<EXP>:CASE<EXP><执行语句>ENDTEST三、任务准备(二)知识详解1.认识RAPID编程语言(4)常用编程指令程序调用指令PROCALL:

过程调用,用于将程序执行转移至另一个无返回值程序。

当充分执行无返回值程序后,执行原程序中的后续指令。RETURN

用于完成程序的执行。

如果程序是一个函数,则同时返回函数值。三、任务准备(二)知识详解1.认识RAPID编程语言(5)程序分析PROCmain()程序名。MoveAbsJpHome\NoEOffs,v1000,fine,mytool;!运行机器人到点pHome。MoveJp10,v1000,fine,mytool;!

运动机器人到点p10。MoveLp20,v1000,fine,mytool;!

沿直线运动机器人到点p20。MoveLp30,v1000,fine,mytool;!沿直线运动机器人到点p30。MoveLp40,v1000,fine,mytool;!

沿直线运动机器人到点p40。MoveLp50,v1000,fine,mytool;!

沿直线运动机器人到点p50MoveCp60,p70,v1000,fine,mytool;!沿圆弧运动机器人经p60到p70。三、任务准备(二)知识详解1.认识RAPID编程语言(5)程序分析MoveLp80,v1000,fine,mytool;!

沿直线运动机器人到点p80。MoveJp90,v1000,fine,mytool;!

运动机器人到点p90IFdi1=1THEN!如果输入信号di为真,则执行if内语句,否则跳出if语句。 Resetdo1;!

沿直线运动机器人到点 WaitTime1;!

等待1s。 MoveLOffs(p100,0,0,50),v1000,fine,mytool;!

机器人到点p100的z正方向50mm的位置。三、任务准备(二)知识详解1.认识RAPID编程语言(5)程序分析MoveLp100,v1000,fine,mytool;!

沿直线运动机器人到点。 Griper;!

调用抓取程序。 MoveLOffs(p100,0,0,50),v1000,fine,mytool;!机器人到点p100的z正方向50mm的位置。ENDIF!if分支程序结束。MoveJp110,v1000,fine,mytool;!

运动机器人到点p110。MoveAbsJpHome\NoEOffs,v1000,fine,mytool;!

运动机器人到点pHome。ENDPROC!程序结束。三、任务准备(二)知识详解2.认识KRL编程语言(1)结构化采用统一编程方法

通过严密的分段结构方便地解决复杂的问题。

以清晰易懂的方式展示基本方法。

提高维护、修改和扩展程序的效率。前瞻性程序规划

使复杂的任务得以分解成几个简单的分步任务。

降低编程时的总耗时。

使相同性能的组成部分得以更换。

单独开发各组成部分。三、任务准备(二)知识详解2.认识KRL编程语言(1)结构化移动指令

高效

无误

易懂

维护简便

清晰明了

具有良好的经济效益三、任务准备(二)知识详解2.认识KRL编程语言(2)常用编程指令移动指令

PTP(PointtoPoint):点到点运动,是最快的轨迹到目标点的指令。

LIN(Linear):线性运动,用于设定速度进行直线移动。

CIRC(Circular):圆周运动,用于设定速度进行圆周轨迹移动。三、任务准备(二)知识详解2.认识KRL编程语言(2)常用编程指令相对运动指令

PTP_Rel(PointtoPointRelative):点到点相对运动,用于指定相对运动的起点和终点坐标。

LIN_Rel(LinearRelative):直线相对运动,用于指定相对运动的起点和终点坐标。

CIRC_Rel(CircularRelative):圆弧相对运动,用于指定圆弧运动的起点和终点坐标。三、任务准备(二)知识详解2.认识KRL编程语言(2)常用编程指令等待指令

WAIT:等待特定时间的指令。

WAITFOR:等待特定信号发生的指令。三、任务准备(二)知识详解2.认识KRL编程语言(4)常用编程指令信号设定指令

IN:输入信号的指令。

OUT:输出信号的指令,可以是开关信号或脉冲信号。三、任务准备(二)知识详解2.认识KRL编程语言(2)常用编程指令逻辑指令IF:

分支指令,用于将程序分为多个路径。IF指令会对可能为真(TRUE)或为假(FALSE)的条件进行检查,以此来判断是否执行指令。

格式:IF<条件语句>THEN<执行语句>ELSE<执行语句>ENDIF三、任务准备(二)知识详解2.认识KRL编程语言(2)常用编程指令逻辑指令SWITCH:

分支指令。若需要区分多种情况并为每种情况执行不同操作,则可用SWITCH-CASE指令达到目的。

格式:SWITCH<EXP>CASE<EXP><执行语句>ENDSWITCH三、任务准备(二)知识详解2.认识KRL编程语言(2)常用编程指令逻辑指令LOOP:

无限循环指令。每次运行完之后都会重新运行的循环,可直接用EXIT退出

格式:LOOP<执行语句>ENDLOOP三、任务准备(二)知识详解2.认识KRL编程语言(2)常用编程指令逻辑指令FOR:

计数循环指令,可以通过规定重复次数执行一个或多个指令的控制结构。

格式:FORcounter=startTOlastSTEPincrement<执行语句>ENDFOR三、任务准备(二)知识详解2.认识KRL编程语言(2)常用编程指令逻辑指令WHILE:

当型循环也被称为前测试循环。这种循环会一直重复过程,直至满足条件(conition)为止。

格式:WHILEcondition<执行语句>ENDWHILE三、任务准备(二)知识详解2.认识KRL编程语言(2)常用编程指令逻辑指令REPEAT:

直到型循环也称为后测试循环。先执行指令,在结束时测试退出循环的条件(condition)是否已经满足。

格式:REPEAT<执行语句>UNTILcondition三、任务准备(二)知识详解2.认识KRL编程语言(3)程序分析DEFMY_PROG();程序名。DECLINTn;

声明整型变量n。INI;初始化。n=10;n赋值10。PTPHOMEVel=100%DEFAULT;运行机器人到点HOME。PTPP20Vel=100%PDAT20tool[1]base[1];运行机器人到点P20。三、任务准备(二)知识详解2.认识KRL编程语言(3)程序分析SWITCHn;Switch分支

温馨提示

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

评论

0/150

提交评论