目录第一章工业机器人概论第二章工业机器人的数学基础第三章工业机器人的机械系统第四章工业机器人的动力系统第五章工业机器人的感知系统第六章工业机器人的控制系统第七章工业机器人编程与调试工业机器人技术基础第7章工业机器人编程与调试主要内容7.1机器人编程要求与语言类型(掌握)7.2机器人语言系统结构和基本功能(了解)7.3常用的机器人编程语言(了解)7.4机器人的示教编程与离线编程(掌握)工业机器人技术基础概述:机器人要实现一定的动作和功能,除了依靠机器人的硬件支撑外,相当一部分是是靠编程来完成的。伴随着机器人的发展,机器人编程技术也得到了不断完善,现已成为机器人技术的一个重要组成部分。机器人编程是使用某种特定语言来描述机器人动作轨迹,它通过对机器人动作的描述,使机器人按照既定运动和作业指令完成编程者想要的各种操作。7.1机器人编程要求与语言类型目前工业机器人常用编程方法有示教编程和离线编程两种。一般在调试阶段,可以通过示教盒对编译好的程序进行逐步执行、检查、修正,等程序完全调试成功后,即可投入正式使用。不管使用何种语言,机器人编程过程都要求能够通过语言进行程序的编译,能够把机器人的源程序转换成机器码,以便机器人控制系统能直接读取和执行。一般情况下,机器人的编程系统必须做到以下几点:工业机器人技术基础第7章工业机器人编程与调试7.1机器人编程要求与语言类型一般情况下,机器人的编程要求必须做到以下几点:1.能够建立世界坐标系在进行机器人编程时,需要一种描述物体在三维空间内的运动方式,因此要给机器人及其相关物体建立一个基础坐标系。这个坐标系与大地相连,也称世界坐标系。为了方便机器人工作,也可以建立其他坐标系,但需要同时建立这些坐标系与机座坐标系的变换关系。机器人编程系统应具有在各种坐标系下描述物体位姿的能力和建模能力。2.能够描述机器人作业机器人作业的描述与其环境模型密切相关,编程语言水平决定了描述水平。现有的机器人语言需要给出作业顺序,由语法和词法定义输入语句,并由它描述整个作业过程。例如,装配作业可描述为世界模型的一系列状态,这些状态可用工作空间内所有物体的位姿给定。这些位姿也可利用物体间的空间关系来说明。工业机器人技术基础第7章工业机器人编程与调试7.1机器人编程要求与语言类型一般情况下,机器人的编程系统必须做到以下几点:3.能够描述机器人运动描述机器人需要进行的运动是机器人编程语言的基本功能之一。用户能够运用语言中的运动语句,与路径规划器连接,允许用户规定路径上的点及目标点,决定是否采用点插补运动或笛卡儿直线运动,用户还可以控制运动速度或运动持续时间。4.允许用户规定执行流程同一般的计算机编程语言一样,机器人编程系统允许用户规定执行流程,包括试验和转移、循环、调用子程序以至中断等。工业机器人技术基础第7章工业机器人编程与调试7.1机器人编程要求与语言类型一般情况下,机器人的编程系统必须做到以下几点:5.具有良好的编程环境如同任何计算机系统一样,一个好的编程环境有助于提高程序员的工作效率。好的编程系统应具有下列功能:(1)在线修改和重启功能机器人在作业时需要执行复杂的动作和花费较长的执行时间,当任务在某一阶段失败后,从头开始运行程序并不总是可行,因此需要编程软件或系统必须有在线修改程序和随时重新启动的功能。(2)传感器输出和程序追踪功能因为机器人和环境之间的实时相互作用常常不能重复,因此编程系统应能随着程序追踪记录传感器的输入输出值。(3)仿真功能可以在没有机器人实体和工作环境的情况下进行不同任务程序的模拟调试。(4)人机接口和综合传感信号在编程和作业过程中,编程系统应便于人与机器人之间进行信息交换,方便机器人出现故障时及时处理,确保安全。而且,随着机器人动作和作业环境的复杂程度的增加,编程系统需要提供功能强大的人机接口。工业机器人技术基础第7章工业机器人编程与调试7.1.2机器人语言类型伴随着机器人的发展,机器人语言也得到了不断发展和完善。早期的机器人由于功能单一,动作简单,可采用固定程序或者示教方式来控制机器人的运动。随着机器人作业动作的多样化和作业环境的复杂化,依靠固定的程序或示教方式已经满足不了要求,必须依靠能适应作业和环境随时变化的机器人语言编程来完成机器人工作。目前,工业级机器人按照作业描述水平的高低分为动作级、对象级和任务级三类。1.动作级编程语言动作级编程语言是最低一级的机器人语言。它以机器人的运动描述为主。通常一条指令对应机器人的一个动作,表示从机器人的一个位姿运动到另一个位姿。工业机器人技术基础第7章工业机器人编程与调试7.1.2机器人语言类型目前,工业级机器人按照作业描述水平的高低分为动作级、对象级和任务级三类。1.动作级编程语言动作级编程语言的优点是比较简单,编程容易。其缺点是功能有限,无法进行繁复的数学运算,不能接受复杂的传感器信息,只能接受传感器开关信息;与计算机的通信能力很差。典型的动作级编程语言是是美国Unimation公司于1979年推出的一种机器人编程语言,主要配置在PUMA和UNIMATION等型机器人上,如“MOVETOdestination”,其含义为机器人从当前位姿运动到目的位姿。工业机器人技术基础第7章工业机器人编程与调试7.1.2机器人语言类型工业级机器人按照作业描述水平的高低分为动作级、对象级和任务级1.动作级编程语言又可以分为关节级编程和末端执行器级编程两种动作编程。(1)关节级编程关节级编程是以机器人的关节为对象,编程时给出机器人一系列各关节位置的时间序列,在关节坐标系中进行的一种编程方法。对于直角坐标型机器人和圆柱坐标型机器人,由于直角关节和圆柱关节的表示比较简单,这种方法编程较为适用;而对具有回转关节的关节型机器人,由于关节位置的时间序列表示困难,即使一个简单的动作也要经过许多复杂的运算,故这一方法并不适用。关节级编程可以通过简单的编程指令来实现,也可以通过示教盒示教和键入示教实现。(2)末端执行器级编程末端执行器级编程在机器人作业空间的直角坐标系中进行。在此直角坐标系中给出机器人末端执行器一系列位姿组成位姿的时间序列,连同其他一些辅助功能如力觉、触觉、视觉等的时间序列,同时确定作业量、作业工具等,协调地进行机器人动作的控制。这种编程方法允许有简单的条件分支,有感知功能,可以选择和设定工具,有时还有并行功能,数据实时处理能力强。工业机器人技术基础第7章工业机器人编程与调试7.1.2机器人语言类型工业级机器人按照作业描述水平的高低分为动作级、对象级和任务级2.对象级编程语言对象级语言是描述操作对象即作业物体本身动作的语言。它不需要描述机器人手爪的运动,只要由编程人员用程序的形式给出作业本身顺序过程的描述和环境模型的描述,即描述操作物与操作物之间的关系,通过编译程序机器人即能知道如何动作。对象级编程语言典型的例子有IBM公司的AML及AUTOPASS等语言,是比动作级编程语言高一级的编程语言,除具有动作级编程语言的全部动作功能外,还具有以下特点:(1)较强感知能力除能处理复杂的传感器信息外,还可以利用传感器信息来修改、更新环境的描述和模型,也可以利用传感器信息进行控制、测试和监督。工业机器人技术基础第7章工业机器人编程与调试7.1.2机器人语言类型工业级机器人按照作业描述水平的高低分为动作级、对象级和任务级2.对象级编程语言具有以下特点:(2)良好的开放性对象级编程语言系统为用户提供了开发平台,用户可以根据需要增加指令,扩展语言功能。(3)较强的数字计算和数据处理能力对象级编程语言可以处理浮点数,能与计算机进行即时通信。工业机器人技术基础第7章工业机器人编程与调试7.1.2机器人语言类型工业级机器人按照作业描述水平的高低分为动作级、对象级和任务级3.任务级编程语言任务级编程语言是比前两类更高级的一种语言,也是最理想的机器人高级语言。这类语言不需要用机器人的动作来描述作业任务,也不需要描述机器人对象物的中间状态过程,只需要按照某种规则描述机器人对象物的初始状态和最终目标状态,机器人语言系统即可利用已有的环境信息和知识库、数据库自动进行推理、计算,从而自动生成机器人详细的动作、顺序和数据。工业机器人技术基础第7章工业机器人编程与调试7.1.2机器人语言类型工业级机器人按照作业描述水平的高低分为动作级、对象级和任务级3.任务级编程语言例如,一台产线上的装配机器人欲完成轴和轴承的装配,轴承的初始位置和装配后的目标位置已知,当发出抓取轴承的命令时,语言系统从初始位置到目标位置之间寻找路径,在复杂的作业环境中找出一条不会与周围障碍物产生碰撞的合适路径,在初始位置处选择恰当的姿态抓取轴承,沿此路径运动到目标位置。在此过程中,作业中间状态作业方案的设计、工序的选择、动作的前后安排等一系列问题都由计算机自动完成。工业机器人技术基础第7章工业机器人编程与调试7.1.2机器人语言类型工业级机器人按照作业描述水平的高低分为动作级、对象级和任务级3.任务级编程语言任务级编程语言的结构十分复杂,需要人工智能的理论基础和大型知识库、数据库的支持,目前还不是十分完善,是一种理想状态下的语言,有待于进一步的研究。但可以相信,随着人工智能技术及数据库技术的不断发展,任务级编程语言必将取代其他语言而成为机器人语言的主流,使得机器人的编程应用变得十分简单。工业机器人技术基础第7章工业机器人编程与调试7.2机器人语言系统结构和基本功能7.2.1机器人语言系统结构机器人语言是在人与机器人之间的一种记录信息或交换信息的程序语言,它提供了一种方式来解决人—机通信问题,是一种专用语言。它不仅包含语言自身,实际上还同时包含语言的处理过程。它能够支持机器人编程、控制,以及与外围设备、传感器和人机接口,同时还支持与计算机系统的通信。机器人语言系统包括三个基本操作状态:监控状态、编辑状态和执行状态。工业机器人技术基础第7章工业机器人编程与调试7.2机器人语言系统结构和基本功能7.2.1机器人语言系统结构工业机器人技术基础第7章工业机器人编程与调试7.2机器人语言系统结构和基本功能7.2.1机器人语言系统结构1.监控状态监控状态用于整个系统的监督控制,操作者可以用示教盒定义机器人在空间中的位置,设置机器人的运动速度,存储和调出程序等。2.编辑状态编辑状态用于操作者编制或编辑程序。一般都包括:写入指令,修改或删去指令以及插入指令等。3.执行状态执行状态用来执行机器人程序。在执行状态,机器人执行程序的每一条指令,都是经过调试的,不允许执行有错误的程序。工业机器人技术基础第7章工业机器人编程与调试7.2机器人语言系统结构和基本功能7.2.2机器人语言基本功能机器人语言的基本功能包括运算、决策、通讯、机械手运动、工具指令以及传感器数据处理等。机器人语言体现出来的基本功能都是通过机器人系统软件形成的。1.运算机器语言的运算功能指的是对机器人位姿的解析几何计算。通过对机械手位姿的求解、坐标运算、位置表示以及向量运算等来控制机器人的动作路径,实现操作者想要实现的动作。2.决策决策是指机器人不进行任何运算,依靠传感器的输入信息能够直接执行机器人下一步任务的能力。这种决策能力使机器人控制系统的功能更强有力,一条简单的条件转移指令(例如检验零值)就足以执行任何决策算法。工业机器人技术基础第7章工业机器人编程与调试7.2机器人语言系统结构和基本功能7.2.2机器人语言基本功能3.通讯通讯能力是指机器人系统与操作人员之间的信息沟通能力。允许机器人要求操作人员提供信息、告诉操作者下一步该干什么,以及让操作者知道机器人打算干什么。人和机器能够通过许多不同方式进行通讯。常见的通讯设备有:信号灯、显示器或输入输出按钮等。4.工具指令一个工具控制指令通常是由闭合某个开关或继电器而开始触发的。继电器闭合可以把电源接通或断开,以直接控制工具的运动,或者送出一个小功率信号给电子控制器,让后者去控制工具。5.传感器数据处理用于现场作业的机器人只有与传感器连接起来,才能发挥其全部效用。所以,传感数据处理是许多机器人程序编制的十分重要而又复杂的组成部分。当采用