1、 第第7 7章章 工业机器人编程与调试工业机器人编程与调试概述:概述:机器人要实现一定的动作和功能,除了依靠机器人的硬件支撑外,机器人要实现一定的动作和功能,除了依靠机器人的硬件支撑外,相当一部分是是靠编程来完成的。伴随着机器人的发展,机器人编程技术相当一部分是是靠编程来完成的。伴随着机器人的发展,机器人编程技术也得到了不断完善,现已成为机器人技术的一个重要组成部分。也得到了不断完善,现已成为机器人技术的一个重要组成部分。机器人编程是使用某种特定语言来描述机器人动作轨迹,它通过对机器人机器人编程是使用某种特定语言来描述机器人动作轨迹,它通过对机器人动作的描述,使机器人按照既定运动和作业指令完成
2、编程者想要的各种操动作的描述,使机器人按照既定运动和作业指令完成编程者想要的各种操作。作。7 7.1 .1 机器人机器人编程要求与语言类型编程要求与语言类型目前工业机器人常用编程方法有示教编程和离线编程两种。一般在调试阶目前工业机器人常用编程方法有示教编程和离线编程两种。一般在调试阶段,可以通过示教盒对编译好的程序进行逐步执行、检查、修正,等程序段,可以通过示教盒对编译好的程序进行逐步执行、检查、修正,等程序完全调试成功后,即可投入正式使用。不管使用何种语言,机器人编程过完全调试成功后,即可投入正式使用。不管使用何种语言,机器人编程过程都要求能够通过语言进行程序的编译,能够把机器人的源程序转换
3、成机程都要求能够通过语言进行程序的编译,能够把机器人的源程序转换成机器码,以便机器人控制系统能直接读取和执行。一般情况下,机器人的编器码,以便机器人控制系统能直接读取和执行。一般情况下,机器人的编程系统必须做到以下几点:程系统必须做到以下几点:第第7 7章章 工业机器人编程与调试工业机器人编程与调试7 7.1 .1 机器人机器人编程要求与语言类型编程要求与语言类型一般情况下,机器人的一般情况下,机器人的编程编程要求要求必须做到以下几点:必须做到以下几点:1 1能够建立世界坐标系能够建立世界坐标系在进行机器人编程时,需要一种描述物体在三维空间内的运动方式,因此在进行机器人编程时,需要一种描述物体
4、在三维空间内的运动方式,因此要给机器人及其相关物体建立一个基础坐标系。这个坐标系与大地相连,要给机器人及其相关物体建立一个基础坐标系。这个坐标系与大地相连,也称世界坐标系。为了方便机器人工作,也可以建立其他坐标系,但需要也称世界坐标系。为了方便机器人工作,也可以建立其他坐标系,但需要同时建立这些坐标系与机座坐标系的变换关系。机器人编程系统应具有在同时建立这些坐标系与机座坐标系的变换关系。机器人编程系统应具有在各种坐标系下描述物体位姿的能力和建模能力。各种坐标系下描述物体位姿的能力和建模能力。2 2能够描述机器人作业能够描述机器人作业机器人作业的描述与其环境模型密切相关,编程语言水平决定了描述水
5、平机器人作业的描述与其环境模型密切相关,编程语言水平决定了描述水平。现有的机器人语言需要给出作业顺序,由语法和词法定义输入语句,并。现有的机器人语言需要给出作业顺序,由语法和词法定义输入语句,并由它描述整个作业过程。例如,装配作业可描述为世界模型的一系列状态由它描述整个作业过程。例如,装配作业可描述为世界模型的一系列状态,这些状态可用工作空间内所有物体的位姿给定。这些位姿也可利用物体,这些状态可用工作空间内所有物体的位姿给定。这些位姿也可利用物体间的空间关系来说明。间的空间关系来说明。第第7 7章章 工业机器人编程与调试工业机器人编程与调试7 7.1 .1 机器人机器人编程要求与语言类型编程要
6、求与语言类型一般情况下,机器人的编程系统必须做到以下几点:一般情况下,机器人的编程系统必须做到以下几点:3 3能够描述机器人运动能够描述机器人运动描述机器人需要进行的运动是机器人编程语言的基本功能之一。用户能够描述机器人需要进行的运动是机器人编程语言的基本功能之一。用户能够运用语言中的运动语句,与路径规划器连接,允许用户规定路径上的点及运用语言中的运动语句,与路径规划器连接,允许用户规定路径上的点及目标点,决定是否采用点插补运动或笛卡儿直线运动,用户还可以控制运目标点,决定是否采用点插补运动或笛卡儿直线运动,用户还可以控制运动速度或运动持续时间。动速度或运动持续时间。4 4允许用户规定执行流程
7、允许用户规定执行流程同一般的计算机编程语言一样,机器人编程系统允许用户规定执行流程,同一般的计算机编程语言一样,机器人编程系统允许用户规定执行流程,包括试验和转移、循环、调用子程序以至中断等。包括试验和转移、循环、调用子程序以至中断等。第第7 7章章 工业机器人编程与调试工业机器人编程与调试7 7.1 .1 机器人机器人编程要求与语言类型编程要求与语言类型一般情况下,机器人的编程系统必须做到以下几点:一般情况下,机器人的编程系统必须做到以下几点:5 5具有良好的编程环境具有良好的编程环境如同任何计算机系统一样,一个好的编程环境有助于提高程序员的工作效如同任何计算机系统一样,一个好的编程环境有助
8、于提高程序员的工作效率。好的编程系统应具有下列功能:率。好的编程系统应具有下列功能:(1 1)在线修改和重启功能)在线修改和重启功能机器人在作业时需要执行复杂的动作和花费较长的执行时间,当任务在某机器人在作业时需要执行复杂的动作和花费较长的执行时间,当任务在某一阶段失败后,从头开始运行程序并不总是可行,因此需要编程软件或系一阶段失败后,从头开始运行程序并不总是可行,因此需要编程软件或系统必须有在线修改程序和随时重新启动的功能。统必须有在线修改程序和随时重新启动的功能。(2 2)传感器输出和程序追踪功能)传感器输出和程序追踪功能因为机器人和环境之间的实时相互作用常常不能重复,因此编程系统应能因为
9、机器人和环境之间的实时相互作用常常不能重复,因此编程系统应能随着程序追踪记录传感器的输入输出值。随着程序追踪记录传感器的输入输出值。(3) 3) 仿真功能仿真功能可以在没有机器人实体和工作环境的情况下进行不同任务程序的模拟调试可以在没有机器人实体和工作环境的情况下进行不同任务程序的模拟调试。(4 4)人机接口和综合传感信号)人机接口和综合传感信号在编程和作业过程中,编程系统应便于人与机器人之间进行信息交换,方在编程和作业过程中,编程系统应便于人与机器人之间进行信息交换,方便机器人出现故障时及时处理,确保安全。而且,随着机器人动作和作业便机器人出现故障时及时处理,确保安全。而且,随着机器人动作和
10、作业环境的复杂程度的增加,编程系统需要提供功能强大的人机接口。环境的复杂程度的增加,编程系统需要提供功能强大的人机接口。第第7 7章章 工业机器人编程与调试工业机器人编程与调试7 7.1 .1 .2 .2 机器人机器人语言类型语言类型伴随着机器人的发展,机器人语言也得到了不断发展和完善。早期的机器伴随着机器人的发展,机器人语言也得到了不断发展和完善。早期的机器人由于功能单一,动作简单,可采用固定程序或者示教方式来控制机器人人由于功能单一,动作简单,可采用固定程序或者示教方式来控制机器人的运动。随着机器人作业动作的多样化和作业环境的复杂化,依靠固定的的运动。随着机器人作业动作的多样化和作业环境的
11、复杂化,依靠固定的程序或示教方式已经满足不了要求,必须依靠能适应作业和环境随时变化程序或示教方式已经满足不了要求,必须依靠能适应作业和环境随时变化的机器人语言编程来完成机器人工作。的机器人语言编程来完成机器人工作。目前,工业级机器人按照作业描述水平的高低分为动作级、对象级和任务目前,工业级机器人按照作业描述水平的高低分为动作级、对象级和任务级三类。级三类。1 1动作级编程语言动作级编程语言动作级编程语言是最低一级的机器人语言。它以机器人的运动描述为主。动作级编程语言是最低一级的机器人语言。它以机器人的运动描述为主。通常一条指令对应机器人的一个动作,表示从机器人的一个位姿运动到另通常一条指令对应
12、机器人的一个动作,表示从机器人的一个位姿运动到另一个位姿。一个位姿。第第7 7章章 工业机器人编程与调试工业机器人编程与调试7 7.1 .1 .2 .2 机器人机器人语言类型语言类型目前,工业级机器人按照作业描述水平的高低分为动作级、对象级和任务目前,工业级机器人按照作业描述水平的高低分为动作级、对象级和任务级三类。级三类。1 1动作级编程语言动作级编程语言动作级编程语言的优点是比较简单,编程容易。其缺点是功能有限,无法动作级编程语言的优点是比较简单,编程容易。其缺点是功能有限,无法进行繁复的数学运算,不能接受复杂的传感器信息,只能接受传感器开关进行繁复的数学运算,不能接受复杂的传感器信息,只
13、能接受传感器开关信息;与计算机的通信能力很差。信息;与计算机的通信能力很差。典型的动作级编程语言是是美国典型的动作级编程语言是是美国UnimationUnimation公司于公司于19791979年推出的一种机器年推出的一种机器人编程语言,主要配置在人编程语言,主要配置在PUMAPUMA和和UNIMATIONUNIMATION等型机器人上,如等型机器人上,如“MOVE TO ”,“MOVE TO ”,其含义为机器人从当前位姿运动到目的位其含义为机器人从当前位姿运动到目的位姿。姿。第第7 7章章 工业机器人编程与调试工业机器人编程与调试7 7.1 .1 .2 .2 机器人机器人语言类型语言类型工
14、业级机器人按照作业描述水平的高低分为动作级、对象级和任务级工业级机器人按照作业描述水平的高低分为动作级、对象级和任务级1 1动作级编程语言动作级编程语言又可以分为关节级编程和末端执行器级编程两种动作编程。又可以分为关节级编程和末端执行器级编程两种动作编程。(1 1) 关节级编程关节级编程关节级编程是以机器人的关节为对象,编程时给出机器人一系列各关节位关节级编程是以机器人的关节为对象,编程时给出机器人一系列各关节位置的时间序列,在关节坐标系中进行的一种编程方法。对于直角坐标型机置的时间序列,在关节坐标系中进行的一种编程方法。对于直角坐标型机器人和圆柱坐标型机器人,由于直角关节和圆柱关节的表示比较
15、简单,这器人和圆柱坐标型机器人,由于直角关节和圆柱关节的表示比较简单,这种方法编程较为适用;而对具有回转关节的关节型机器人,由于关节位置种方法编程较为适用;而对具有回转关节的关节型机器人,由于关节位置的时间序列表示困难,即使一个简单的动作也要经过许多复杂的运算,故的时间序列表示困难,即使一个简单的动作也要经过许多复杂的运算,故这一方法并不适用。关节级编程可以通过简单的编程指令来实现,也可以这一方法并不适用。关节级编程可以通过简单的编程指令来实现,也可以通过示教盒示教和键入示教实现。通过示教盒示教和键入示教实现。(2 2) 末端执行器级编程末端执行器级编程末端执行器级编程在机器人作业空间的直角坐
16、标系中进行。在此直角坐标末端执行器级编程在机器人作业空间的直角坐标系中进行。在此直角坐标系中给出机器人末端执行器一系列位姿组成位姿的时间序列,连同其他一系中给出机器人末端执行器一系列位姿组成位姿的时间序列,连同其他一些辅助功能如力觉、触觉、视觉等的时间序列,同时确定作业量、作业工些辅助功能如力觉、触觉、视觉等的时间序列,同时确定作业量、作业工具等,协调地进行机器人动作的控制。这种编程方法允许有简单的条件分具等,协调地进行机器人动作的控制。这种编程方法允许有简单的条件分支,有感知功能,可以选择和设定工具,有时还有并行功能,数据实时处支,有感知功能,可以选择和设定工具,有时还有并行功能,数据实时处
17、理能力强。理能力强。第第7 7章章 工业机器人编程与调试工业机器人编程与调试7 7.1 .1 .2 .2 机器人机器人语言类型语言类型工业级机器人按照作业描述水平的高低分为动作级、对象级和任务级工业级机器人按照作业描述水平的高低分为动作级、对象级和任务级2 2对象对象级编程语言级编程语言对象级语言是描述操作对象即作业物体本身动作的语言。它不需要描述机对象级语言是描述操作对象即作业物体本身动作的语言。它不需要描述机器人手爪的运动,只要由编程人员用程序的形式给出作业本身顺序过程的器人手爪的运动,只要由编程人员用程序的形式给出作业本身顺序过程的描述和环境模型的描述,即描述操作物与操作物之间的关系,通
18、过编译程描述和环境模型的描述,即描述操作物与操作物之间的关系,通过编译程序机器人即能知道如何动作。序机器人即能知道如何动作。对象级编程语言典型的例子有对象级编程语言典型的例子有IBMIBM公司的公司的AMLAML及及AUTOPASSAUTOPASS等语言,是比等语言,是比动作级编程语言高一级的编程语言,除具有动作级编程语言的全部动作功动作级编程语言高一级的编程语言,除具有动作级编程语言的全部动作功能外,还具有以下特点:能外,还具有以下特点:(1) (1) 较强感知能力较强感知能力除能处理复杂的传感器信息外,还可以利用传感器信息来修改、更新环境除能处理复杂的传感器信息外,还可以利用传感器信息来修
19、改、更新环境的描述和模型,也可以利用传感器信息进行控制、测试和监督。的描述和模型,也可以利用传感器信息进行控制、测试和监督。第第7 7章章 工业机器人编程与调试工业机器人编程与调试7 7.1 .1 .2 .2 机器人机器人语言类型语言类型工业级机器人按照作业描述水平的高低分为动作级、对象级和任务级工业级机器人按照作业描述水平的高低分为动作级、对象级和任务级2 2对象对象级编程语言级编程语言具有以下特点:具有以下特点:(2) (2) 良好的开放性良好的开放性对象级编程语言系统为用户提供了开发平台,用户可以根据需要增加指令对象级编程语言系统为用户提供了开发平台,用户可以根据需要增加指令,扩展语言功
20、能。,扩展语言功能。(3) (3) 较强的数字计算和数据处理能力较强的数字计算和数据处理能力对象级编程语言可以处理浮点数,能与计算机进行即时通信。对象级编程语言可以处理浮点数,能与计算机进行即时通信。第第7 7章章 工业机器人编程与调试工业机器人编程与调试7 7.1 .1 .2 .2 机器人机器人语言类型语言类型工业级机器人按照作业描述水平的高低分为动作级、对象级和任务级工业级机器人按照作业描述水平的高低分为动作级、对象级和任务级3 3任务任务级编程语言级编程语言任务级编程语言是比前两类更高级的一种语言,也是最理想的机器人高级任务级编程语言是比前两类更高级的一种语言,也是最理想的机器人高级语言
21、。这类语言不需要用机器人的动作来描述作业任务,也不需要描述机语言。这类语言不需要用机器人的动作来描述作业任务,也不需要描述机器人对象物的中间状态过程,只需要按照某种规则描述机器人对象物的初器人对象物的中间状态过程,只需要按照某种规则描述机器人对象物的初始状态和最终目标状态,机器人语言系统即可利用已有的环境信息和知识始状态和最终目标状态,机器人语言系统即可利用已有的环境信息和知识库、数据库自动进行推理、计算,从而自动生成机器人详细的动作、顺序库、数据库自动进行推理、计算,从而自动生成机器人详细的动作、顺序和数据。和数据。第第7 7章章 工业机器人编程与调试工业机器人编程与调试7 7.1 .1 .
22、2 .2 机器人机器人语言类型语言类型工业级机器人按照作业描述水平的高低分为动作级、对象级和任务级工业级机器人按照作业描述水平的高低分为动作级、对象级和任务级3 3任务任务级编程语言级编程语言例如,一台产线上的装配机器人欲完成轴和轴承的装配,轴承的初始位置例如,一台产线上的装配机器人欲完成轴和轴承的装配,轴承的初始位置和装配后的目标位置已知,当发出抓取轴承的命令时,语言系统从初始位和装配后的目标位置已知,当发出抓取轴承的命令时,语言系统从初始位置到目标位置之间寻找路径,在复杂的作业环境中找出一条不会与周围障置到目标位置之间寻找路径,在复杂的作业环境中找出一条不会与周围障碍物产生碰撞的合适路径,
23、在初始位置处选择恰当的姿态抓取轴承,沿此碍物产生碰撞的合适路径,在初始位置处选择恰当的姿态抓取轴承,沿此路径运动到目标位置。在此过程中,作业中间状态作业方案的设计、工序路径运动到目标位置。在此过程中,作业中间状态作业方案的设计、工序的选择、动作的前后安排等一系列问题都由计算机自动完成。的选择、动作的前后安排等一系列问题都由计算机自动完成。第第7 7章章 工业机器人编程与调试工业机器人编程与调试7 7.1 .1 .2 .2 机器人机器人语言类型语言类型工业级机器人按照作业描述水平的高低分为动作级、对象级和任务级工业级机器人按照作业描述水平的高低分为动作级、对象级和任务级3 3任务任务级编程语言级
24、编程语言任务级编程语言的结构十分复杂,需要人工智能的理论基础和大型知识库任务级编程语言的结构十分复杂,需要人工智能的理论基础和大型知识库、数据库的支持,目前还不是十分完善,是一种理想状态下的语言,有待、数据库的支持,目前还不是十分完善,是一种理想状态下的语言,有待于进一步的研究。但可以相信,随着人工智能技术及数据库技术的不断发于进一步的研究。但可以相信,随着人工智能技术及数据库技术的不断发展,任务级编程语言必将取代其他语言而成为机器人语言的主流,使得机展,任务级编程语言必将取代其他语言而成为机器人语言的主流,使得机器人的编程应用变得十分简单。器人的编程应用变得十分简单。第第7 7章章 工业机器
25、人编程与调试工业机器人编程与调试7.2 7.2 机器人语言系统结构和基本功能机器人语言系统结构和基本功能7.2 .1 7.2 .1 机器人语言系统结构机器人语言系统结构机器人语言是在人与机器人之间的一种记录信息或交换信息的程序语言,机器人语言是在人与机器人之间的一种记录信息或交换信息的程序语言,它提供了一种方式来解决人它提供了一种方式来解决人机通信问题,是一种专用语言。它不仅包含机通信问题,是一种专用语言。它不仅包含语言自身,实际上还同时包含语言的处理过程。它能够支持机器人编程、语言自身,实际上还同时包含语言的处理过程。它能够支持机器人编程、控制,以及与外围设备、传感器和人机接口,同时还支持与
26、计算机系统的控制,以及与外围设备、传感器和人机接口,同时还支持与计算机系统的通信。通信。机器人语言系统包括三个基本操作状态:监控状态、编辑状态和执行状态机器人语言系统包括三个基本操作状态:监控状态、编辑状态和执行状态。第第7 7章章 工业机器人编程与调试工业机器人编程与调试7.2 7.2 机器人语言系统结构和基本功能机器人语言系统结构和基本功能7.2 .1 7.2 .1 机器人语言系统结构机器人语言系统结构第第7 7章章 工业机器人编程与调试工业机器人编程与调试7.2 7.2 机器人语言系统结构和基本功能机器人语言系统结构和基本功能7.2 .1 7.2 .1 机器人语言系统结构机器人语言系统结
27、构1. 1. 监控状态监控状态监控状态用于整个系统的监督控制,操作者可以用示教盒定义机器人在空监控状态用于整个系统的监督控制,操作者可以用示教盒定义机器人在空间中的位置,设置机器人的运动速度,存储和调出程序等。间中的位置,设置机器人的运动速度,存储和调出程序等。2 2编辑状态编辑状态编辑状态用于操作者编制或编辑程序。一般都包括:写入指令,修改或删编辑状态用于操作者编制或编辑程序。一般都包括:写入指令,修改或删去指令以及插入指令等。去指令以及插入指令等。3 3执行状态执行状态执行状态用来执行机器人程序。在执行状态,机器人执行程序的每一条指执行状态用来执行机器人程序。在执行状态,机器人执行程序的每
28、一条指令,都是经过调试的,不允许执行有错误的程序。令,都是经过调试的,不允许执行有错误的程序。第第7 7章章 工业机器人编程与调试工业机器人编程与调试7.2 7.2 机器人语言系统结构和基本功能机器人语言系统结构和基本功能7.2 .2 7.2 .2 机器人语言基本功能机器人语言基本功能机器人语言的基本功能包括运算、决策、通讯、机械手运动、工具指令以机器人语言的基本功能包括运算、决策、通讯、机械手运动、工具指令以及传感器数据处理等。机器人语言体现出来的基本功能都是通过机器人系及传感器数据处理等。机器人语言体现出来的基本功能都是通过机器人系统软件形成的。统软件形成的。1 1运算运算机器语言的运算功
29、能指的是对机器人位姿的解析几何计算。通过对机械手机器语言的运算功能指的是对机器人位姿的解析几何计算。通过对机械手位姿的求解、坐标运算、位置表示以及向量运算等来控制机器人的动作路位姿的求解、坐标运算、位置表示以及向量运算等来控制机器人的动作路径,实现操作者想要实现的动作。径,实现操作者想要实现的动作。2 2决策决策决策是指机器人不进行任何运算,依靠传感器的输入信息能够直接执行机决策是指机器人不进行任何运算,依靠传感器的输入信息能够直接执行机器人下一步任务的能力。这种决策能力使机器人控制系统的功能更强有力器人下一步任务的能力。这种决策能力使机器人控制系统的功能更强有力,一条简单的条件转移指令,一条
30、简单的条件转移指令( (例如检验零值例如检验零值) )就足以执行任何决策算法。就足以执行任何决策算法。第第7 7章章 工业机器人编程与调试工业机器人编程与调试7.2 7.2 机器人语言系统结构和基本功能机器人语言系统结构和基本功能7.2 .2 7.2 .2 机器人语言基本功能机器人语言基本功能3 3通讯通讯通讯能力是指机器人系统与操作人员之间的信息沟通能力。允许机器人要通讯能力是指机器人系统与操作人员之间的信息沟通能力。允许机器人要求操作人员提供信息、告诉操作者下一步该干什么,以及让操作者知道机求操作人员提供信息、告诉操作者下一步该干什么,以及让操作者知道机器人打算干什么。人和机器能够通过许多
31、不同方式进行通讯。常见的通讯器人打算干什么。人和机器能够通过许多不同方式进行通讯。常见的通讯设备有:信号灯、显示器或输入输出按钮等。设备有:信号灯、显示器或输入输出按钮等。4 4工具指令工具指令一个工具控制指令通常是由闭合某个开关或继电器而开始触发的。继电器一个工具控制指令通常是由闭合某个开关或继电器而开始触发的。继电器闭合可以把电源接通或断开,以直接控制工具的运动,或者送出一个小功闭合可以把电源接通或断开,以直接控制工具的运动,或者送出一个小功率信号给电子控制器,让后者去控制工具。率信号给电子控制器,让后者去控制工具。5 5 传感器数据处理传感器数据处理用于现场作业的机器人只有与传感器连接起
32、来,才能发挥其全部效用。所用于现场作业的机器人只有与传感器连接起来,才能发挥其全部效用。所以,传感数据处理是许多机器人程序编制的十分重要而又复杂的组成部分以,传感数据处理是许多机器人程序编制的十分重要而又复杂的组成部分。当采用触觉、听觉或视觉传感器时,更是如此。当采用触觉、听觉或视觉传感器时,更是如此。第第7 7章章 工业机器人编程与调试工业机器人编程与调试7.3 7.3 常用的机器人编程语言常用的机器人编程语言自机器人发明以来,用以记录人与机器人之间信息交换的专用语言也在不自机器人发明以来,用以记录人与机器人之间信息交换的专用语言也在不断地更新和发展。世界上第一种机器人语言是美国斯坦福大学于
33、断地更新和发展。世界上第一种机器人语言是美国斯坦福大学于19731973年研年研制的制的WAVEWAVE语言,语言,WAVEWAVE语言是一种机器人动作级语言,它主要用以机器语言是一种机器人动作级语言,它主要用以机器人的动作描述,辅助视觉传感器进行机器人的手、眼协调控制。此后,随人的动作描述,辅助视觉传感器进行机器人的手、眼协调控制。此后,随着世界各国对机器人研究的不断深入,不同种类的机器人语言也不断出现。着世界各国对机器人研究的不断深入,不同种类的机器人语言也不断出现。到目前为止,国内外主要的机器人语言大概有到目前为止,国内外主要的机器人语言大概有2424种种. .第第7 7章章 工业机器人
34、编程与调试工业机器人编程与调试7.3 7.3 常用的机器人编程语言常用的机器人编程语言第第7 7章章 工业机器人编程与调试工业机器人编程与调试序号序号语语言名称言名称国国 家家研研 究究 单单 位位简简 要要 说说 明明1AL美Stanford Artificial Intelligence Laboratory机器人动作及对象物描述,是目前机器人语言研究的基础2Autopass美IBM 组装机器人用语言3LAMA-S美MIT高级机器人语言4VAL美Unimation 公司用于PUMA机器人(采用MC6800和DECLSI-11高级微型机)5RLAL美Automatic 公司用视觉传感器检查零
35、件时用的机器人语言6WAVE美Stanford Artificial Intelligence Laboratory操作器控制符号语言7DIAL美Charles Stark Draper Laboratory具有RCC顺应性手腕控制的特殊指令8RPL美Stanford Research Institute Intemational可与Unimate机器人操作程序结合,预先定义子程序库9REACH美Bendix Corporation适于两臂协调动作,和VAL一样是使用范围广的语言10MCL美McDonnell Douglas Corporation编程机器人、机床传感器、摄像机及其控制的计算机
36、综合制造用语言11INDA美SRI International and Philips相当于RTL/2编程语言的子集,具有使用方便的处理系统12RAPT美University of Edinburgh类似NC语言APT(用DEC20,LSI11/2微型机)13LM美Artificial Intell Inelligence Group of IMAG类似PASCAL,数据类似AL。用于装配机器人(用LS11/3微型机)14ROBEX美Machine Tool Laboratory TH Archen具有与高级NC语言EXAPT相似结构的脱机编程语言15SIGLA美OlivettiSIGMA机器
37、人语言16MAL美Milan Polytechnic两臂机器人装配语言,其特征是方便、易于编程17SERF美三协精机SKILAM装配机器人(用Z-80微型机)18PLAW美小松制作所RW系列弧焊机器人19IML美九州大学动作级机器人语言20KARELRobot studio日本FANUC发那科研发的用于点焊、涂胶、搬用等工业用途的编程语言21RAPID瑞典ABBABB公司用于ICR5控制器示教器的编程语言22Robotics Studio美国Microsoft微软公司开发的多语言、可视化编程与仿真语言23INFORM日本YASKAWA 24KUKA德国 7.3 7.3 常用的机器人编程语言常用
38、的机器人编程语言7.3.1 AL7.3.1 AL语言语言1 1ALAL语言概述语言概述ALAL语言是语言是19741974年由美国斯坦福大学基于年由美国斯坦福大学基于WAVEWAVE语言基础开发的功能比较完语言基础开发的功能比较完善的动作级机器人语言,它兼有对象级语言的某些特征,适合于装配作业善的动作级机器人语言,它兼有对象级语言的某些特征,适合于装配作业的描述。的描述。ALAL语言原设计用于具有传感器反馈的多台机器人并行或协同控制语言原设计用于具有传感器反馈的多台机器人并行或协同控制的编程。它具有的编程。它具有PASCALPASCAL语言的特点,可以编译成机器语言在实时控制机语言的特点,可以
39、编译成机器语言在实时控制机上执行,支持实时编程语言的同步操作、条件操作、现场建模。上执行,支持实时编程语言的同步操作、条件操作、现场建模。2 2ALAL语言格式语言格式(1) (1) 程序程序BEGINBEGIN开始,由开始,由ENDEND结束。结束。(2) (2) 语句与语句之间用语句与语句之间用“;”隔开。隔开。(3) (3) 变量先定义类型,后使用。通常变量名以英文字母开头,由字母、数变量先定义类型,后使用。通常变量名以英文字母开头,由字母、数字和下画线组成字符串,字母大、小写不分。字和下画线组成字符串,字母大、小写不分。第第7 7章章 工业机器人编程与调试工业机器人编程与调试7.3 7
40、.3 常用的机器人编程语言常用的机器人编程语言7.3.1 AL7.3.1 AL语言语言如:定义机器人三种不同坐标系,如:定义机器人三种不同坐标系,FRAME BaseFRAME Base,BeamBeam, Feeder Feeder; 三种不同坐标系的变量定义三种不同坐标系的变量定义 (4) (4) 程序的注释用大括号括起来(见上例)。程序的注释用大括号括起来(见上例)。(5) (5) 变量变量赋值语句赋值语句中如所赋的内容为中如所赋的内容为表达式表达式,则先计算表达式的值,再把,则先计算表达式的值,再把该值赋给等式左边的变量。该值赋给等式左边的变量。3 3ALAL语言中的数据类型语言中的数
41、据类型(1) (1) 标量标量(SCALAR)(SCALAR)标量是标量是ALAL语言中最基本的数据类型,它可以是时间、距离、角度及力等机语言中最基本的数据类型,它可以是时间、距离、角度及力等机器人能够感知或捕捉的数据,它可以进行加、减、乘、除和指数等运算,器人能够感知或捕捉的数据,它可以进行加、减、乘、除和指数等运算,也可以进行三角函数、自然对数和指数换算。也可以进行三角函数、自然对数和指数换算。如如: SCALAR PI; PI=3.14159 PI: SCALAR PI; PI=3.14159 PI为为ALAL语言中预先定义的标量。语言中预先定义的标量。第第7 7章章 工业机器人编程与调
42、试工业机器人编程与调试7.3 7.3 常用的机器人编程语言常用的机器人编程语言7.3.1 AL7.3.1 AL语言语言(2) (2) 向量向量(VECTOR)(VECTOR)向量与数学中的向量类似,也具有相同的运算法则,可以由三个标量来构造。向量与数学中的向量类似,也具有相同的运算法则,可以由三个标量来构造。如:如:VECTOR (1VECTOR (1,0 0,0);0);(3) (3) 旋转旋转(ROT)(ROT)ROTROT用来描述一个轴的旋转或绕某个轴的旋转姿态。用用来描述一个轴的旋转或绕某个轴的旋转姿态。用ROTROT变量表示旋转变量变量表示旋转变量时带有两个参数,一个代表旋转轴的简单
43、向量,另一个表示旋转角度。时带有两个参数,一个代表旋转轴的简单向量,另一个表示旋转角度。(4) (4) 坐标系坐标系(FRAME)(FRAME)FRAMEFRAME用来建立坐标系,变量的值表示物体固连坐标系与空间作业的参考坐标用来建立坐标系,变量的值表示物体固连坐标系与空间作业的参考坐标系之间的相对位置与姿态。系之间的相对位置与姿态。(5) (5) 变换变换(TRANS)(TRANS)TRANSTRANS用来进行坐标之间的变换,具有旋转和向量两个参数,执行时先旋转再用来进行坐标之间的变换,具有旋转和向量两个参数,执行时先旋转再平移。平移。第第7 7章章 工业机器人编程与调试工业机器人编程与调试
44、7.3 7.3 常用的机器人编程语言常用的机器人编程语言7.3.1 AL7.3.1 AL语言语言4. AL4. AL语言常用指令介绍语言常用指令介绍(1 1) MOVE MOVE指令指令MOVEMOVE指令用来描述机器人手爪的运动,如手爪从一个位置运动到另一个位置。指令用来描述机器人手爪的运动,如手爪从一个位置运动到另一个位置。MOVEMOVE指令的格式为:指令的格式为:MOVE TO MOVE TO (2 2)手爪)手爪控制控制指令指令OPENOPEN:手爪打开指令。:手爪打开指令。CLOSECLOSE:手爪闭合指令。:手爪闭合指令。语句的格式为语句的格式为OPEN TO OPEN TO C
45、LOSE TO CLOSE TO 其中其中SVALSVAL为开度距离值,在程序中已预先指定。为开度距离值,在程序中已预先指定。第第7 7章章 工业机器人编程与调试工业机器人编程与调试7.3 7.3 常用的机器人编程语言常用的机器人编程语言7.3.1 AL7.3.1 AL语言语言(3 3)控制控制指令指令常用控制指令有:常用控制指令有:IF IF THEN THEN ELSE ELSE WHILE WHILE DO DO CASE CASE DO DO UNTIL UNTIL FORSTEPUNTILFORSTEPUNTIL(4 4)AFFIXAFFIX和和UNFIXUNFIX指令指令机器人在装
46、配作业时,经常需要将一个物体粘到另一个物体上或一个物体从另一机器人在装配作业时,经常需要将一个物体粘到另一个物体上或一个物体从另一个物体上剥离。语句个物体上剥离。语句AFFIXAFFIX为两物体粘贴的操作,语句为两物体粘贴的操作,语句UNFIXUNFIX为两物体分离的操为两物体分离的操作,如:作,如:AFFIX BEAM_BORE TO BEAM BEAM_BOREAFFIX BEAM_BORE TO BEAM BEAM_BORE和和BEAMBEAM两种不同坐标系粘贴在一起两种不同坐标系粘贴在一起 第第7 7章章 工业机器人编程与调试工业机器人编程与调试7.3 7.3 常用的机器人编程语言常用
47、的机器人编程语言7.3.1 AL7.3.1 AL语言语言即一个坐标系的运动也将引起另一个坐标系的同样运动。然后执行下面的语句即一个坐标系的运动也将引起另一个坐标系的同样运动。然后执行下面的语句UNFIX BEAM_BORE FROM BEAM BEAM_BOREUNFIX BEAM_BORE FROM BEAM BEAM_BORE和和BEAMBEAM两坐标系的附着关系两坐标系的附着关系被解除被解除 (5 5)力觉的处理)力觉的处理在在MOVEMOVE语句中使用条件监控子语句可实现使用传感器信息来完成一定的动作。语句中使用条件监控子语句可实现使用传感器信息来完成一定的动作。监控子语句如:监控子语
48、句如:ON ON DO DO 例如:例如:MOVE BARM TO MOVE BARM TO -0.1-0.1* *INCHES ON FORCE(Z)10INCHES ON FORCE(Z)10* *OUNCES DO STOPOUNCES DO STOP表示在当前位置沿表示在当前位置沿Z Z轴向下移动轴向下移动0.10.1英寸,如果感觉英寸,如果感觉Z Z轴方向的力超过轴方向的力超过1010盎司,则盎司,则立即命令机械手停止运动。立即命令机械手停止运动。第第7 7章章 工业机器人编程与调试工业机器人编程与调试7.3 7.3 常用的机器人编程语言常用的机器人编程语言7.3.1 AL7.3.1
49、 AL语言语言5 5ALAL语言编程示例语言编程示例如图如图7-27-2所示,要求用所示,要求用ALAL语言编制机器人将料槽坐标位置螺栓插入立柱孔的作业语言编制机器人将料槽坐标位置螺栓插入立柱孔的作业程序。具体动作分解为:程序。具体动作分解为:机器人末端执行器移至料斗上方机器人末端执行器移至料斗上方A A点;点;抓取螺栓;抓取螺栓;经过经过B B点、点、C C点再把它移至立柱孔上方点再把它移至立柱孔上方D D点;点;完成螺栓插入立柱孔的动作。完成螺栓插入立柱孔的动作。第第7 7章章 工业机器人编程与调试工业机器人编程与调试7.3 7.3 常用的机器人编程语言常用的机器人编程语言7.3.1 AL
50、7.3.1 AL语言语言5 5ALAL语言编程示例语言编程示例程序步骤是:程序步骤是:(a) (a) 定义机座、导板、料斗、导板孔、螺栓柄等的位置和姿态;定义机座、导板、料斗、导板孔、螺栓柄等的位置和姿态;(b) (b) 把装配作业划分为一系列动作,如移动机器人、抓取物体和完成插入等;把装配作业划分为一系列动作,如移动机器人、抓取物体和完成插入等;(c) (c) 加入传感器以发现异常情况和监视装配作业的过程;加入传感器以发现异常情况和监视装配作业的过程;(d) (d) 重复步骤(重复步骤(a a)()(c c),调试改进程序。),调试改进程序。按照上面的步骤,编制的程序如下:按照上面的步骤,编
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。