机器人学基础-第8章-机器人编程-蔡自兴_第1页
机器人学基础-第8章-机器人编程-蔡自兴_第2页
机器人学基础-第8章-机器人编程-蔡自兴_第3页
机器人学基础-第8章-机器人编程-蔡自兴_第4页
机器人学基础-第8章-机器人编程-蔡自兴_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

1、1 中南大学中南大学 蔡自兴,谢蔡自兴,谢 斌斌 zxcai, 2010 机器人学基础机器人学基础 第八章第八章 机器人编程机器人编程 1 Ch.8 Robot Programming Fundamentals of Robotics 2 Review General Considerations in Trajectory Planning Interpolated Calculation of Joint Trajectories Planning of Cartesian Path Trajectories Real Time Generation of Planning Traject

2、ories 2Fundamentals of Robotics 3 3 Questions According to level of task description, how many categories can robot programming languages be split into? List out several commonly used robot programming languages. Comparison between off-line programming and teach by showing. Ch.8 Robot Programming 4

3、Contents Requirements and Language Types to Robot Programming Structure and Basic Functions of Robot Language System Commonly-Used Language for Robot Programming Off-Line Programming of Robots Summary 4Ch.8 Robot Programming 5 Ch.8 Robot Programming 机器人编程语言是一种程序描述语言程序描述语言,它能十分简洁 地描述工作环境工作环境和机器人的动作动作

4、,能把复杂的操作内 容通过尽可能简单的程序来实现。 机器人编程语言也和一般的程序语言一样,应当具有 结构简明结构简明、概念统一概念统一、容易扩展容易扩展等特点。 由于机器人的控制装置和作业要求多种多样,国内外 尚未制订统一的机器人控制代码标准,所以编程语言 也是多种多样多种多样的。 Ch.8 Robot Programming 6 8.1 Requirements to Robot Programming move garm to goal2 linearly; move garm to goal3 via via1; 8.1 Requirements and Types of Robot P

5、rogramming Languages 10 8.1.1 Requirements to Robot Programming Flow of execution 允许用户执行测试、分支、循环、调用子程序以及中断等流程。 Programming environment 包含断点调试功能,以及典型的编程支持(如文本编辑、调试程 序和文件系统等)。 Sensor integration 在编程和作业过程中,应便于人与机器人之间进行信息交换。 能与传感器进行信息交互,以此来控制程序的流程。 8.1 Requirements and Types of Robot Programming Languag

6、es 1111 8.1.2 Types of Robot Programming 机器人编程的类型机器人编程的类型 根据编程方式,机器人编程可以分为: Teach by showing (示教编程示教编程) 手把手示教 Robot programming languages (机器人语言编程机器人语言编程) 用专用的或通用的机器人语言来描述机器人的动作轨迹 Off-line programming (离线编程离线编程) 在专门的软件环境软件环境支持下用专用或通用程序,在离线离线情况下 进行机器人轨迹规划编程 示教盒示教 8.1 Requirements and Types of Robot P

7、rogramming Languages 12 Teach by showing 8.1 Requirements and Types of Robot Programming Languages 1313 8.1.2 Types of Robot Programming 根据作业描述水平作业描述水平的高低,机器人编程语言可以分为: Motion-level programming (动作级动作级) 以机器人关节关节或末端执行器末端执行器的动作为中心来描述各种操作; Object-level programming (对象级对象级) 以描述操作物体之间的关系操作物体之间的关系为中心的语言; T

8、ask-level programming (任务级任务级) 只要直接指定操作内容操作内容就可以了,为此,机器人必须一边思 考一边工作。 8.1 Requirements and Types of Robot Programming Languages 14 Contents Requirements and Language Types to Robot Programming Structure and Basic Functions of Robot Language System Commonly-Used Language for Robot Programming Off-Line

9、 Programming of Robots Summary 14Ch.8 Robot Programming 1515 8.2 Structure & Basic Functions of Robot Programming System 机器人语言系统的结构和基本功能机器人语言系统的结构和基本功能 8.2.1 Structure of A Robot Programming System 机器人语言系统的结构机器人语言系统的结构 8.2 Structure and Basic Functions of A Robot Programming System 1616 8.2.2 Basic

10、Functions of Robot Programming Languages 机器人编程语言的基本功能机器人编程语言的基本功能 运算运算(Calculation):是机器人最重要的功能之一。包括机 器人的正解、逆解、坐标变换及矢量运算等。 机械手运动机械手运动(Motion of Robot Manipulators):是机器人最 基本的功能。机器人语言用最简单的方法向各关节伺服 装置提供一系列关节位置及姿态信息,由伺服系统实现 运动。 工具指令工具指令(Tool Instruction):包括工具种类及工具号的选 择、工具参数的选择及工具的动作(工具的开关、分合)。 8.2 Struct

11、ure and Basic Functions of A Robot Programming System 1717 8.2.2 Basic Functions of Robot Programming Languages 决策决策(Decision):是指机器人根据作业空间范围内的传感 信息而做出的判断决策。这种决策功能一般由条件转移 指令实现。 通信通信(Communication):即机器人系统与操作人员的各式 通信,包括机器人向操作人员要求信息和操作人员知道 机器人的状态、机器人的操作意图等。 传感数据处理传感数据处理(Sensor Data Processing):机器人只有与传 感

12、器连接起来才能具有感知能力,具有某种智能。传感 器输入和输出信号的形式、性质及强弱不同,往往需要 进行大量的复杂运算和处理。 8.2 Structure and Basic Functions of A Robot Programming System 18 Contents Requirements and Language Types to Robot Programming Structure and Basic Functions of Robot Language System Commonly-Used Language for Robot Programming Off-Line

13、 Programming of Robots Summary 18Ch.8 Robot Programming 19 研究室里的实验语言 美国斯坦福大学开发的AL语言 IBM公司开发的AUTOPASS语言 英国爱丁堡大学开发的RAPT语言等; 商用的机器人语言 由AL语言演变而来的VAL语言 日本九州大学开发的IML语言 IBM公司开发的AML语言等。 8.3 Commonly Used Robot Programming Languages 常用的机器人编程语言常用的机器人编程语言 8.3 Commonly Used Robot Programming Languages 20 8.3 Co

14、mmonly Used Robot Programming Languages 8.3 Commonly Used Robot Programming Languages 21 8.3 Commonly Used Robot Programming Languages 8.3 Commonly Used Robot Programming Languages 2222 斯坦福大学1974年开发的AL语言是一种高级程序设计系 统,描述诸如装配装配(Assembly)一类的任务。它有类似 ALGOL的源语言,有将程序转换为机器码的编译程序编译程序和 由控制操作机械手和其他设备的实时系统实时系统。

15、基本功能语句: 标量(SCALAR) 矢量(VECTOR) 旋转(ROT) 坐标系(FRAME) 变换(TRANS) AL Language 8.3 Commonly Used Robot Programming Languages 23 上图是机器人插螺栓作业的示意图。可以建立起图中的 base坐标系、beam坐标系和feeder坐标系。 Example: 机器人插螺栓作业 8.3 Commonly Used Robot Programming Languages 24 base FRAME (nilrot,VECTOR (20,0,15)*inches); 坐标系base的原点位于世界坐标

16、系原点(20,0,15)英寸 处,z轴平行于世界坐标系的 z 轴 base坐标系 例. 机器人插螺栓作业 8.3 Commonly Used Robot Programming Languages 25 beam FRAME (ROT (z,90*deg),VECTOR (20,15,0)*inches); 坐标系beam原点位于世界坐标系原点(20,15,0)英寸处, 并绕世界坐标系 z 轴旋转90 beam坐标系 例. 机器人插螺栓作业 8.3 Commonly Used Robot Programming Languages 26 feeder FRAME (nilrot,VECTOR(

17、25,20,0)*inches); 坐标系feeder的原点位于世界坐标系(25,20,0)英寸处, 且z轴平行于世界坐标系的z轴 feeder坐标系 例. 机器人插螺栓作业 8.3 Commonly Used Robot Programming Languages 27 Tg base*TRANS(ROT(x,180*deg),VECTOR(15,0,0)*inches); 建立坐标系Tg,其 z 轴绕base坐标系的 x 轴旋转180,原 点距base坐标系原点(15,0,0)英寸处。 Tg坐标系 例. 机器人插螺栓作业 8.3 Commonly Used Robot Programmin

18、g Languages 28 E Tg*TRANS (nilrot,VECTOR (0,0,5)*inches); 建立坐标系 E,其z轴平行于Tg坐标系的 z 轴,原点距 Tg 坐 标系原点(0,0,5)英寸处 手爪 E 坐标系 例. 机器人插螺栓作业 8.3 Commonly Used Robot Programming Languages 29 MOVE语句用来表示机器人由初始位置和姿态到目标位 置和姿态的运动。 假定机械手在任意位置,可把它运动到停放位置: MOVE barm TO bpark; 如果要求在4s内把机械手移动到停放位置: MOVE barm TO bpark WITH

19、DURATION = 4*seconds; AL Language 8.3 Commonly Used Robot Programming Languages 30 符号“”可用在语句中,表示当前位置,如: MOVE barm TO 2*zhat* inches; 该指令表示机械手从当前位置向下移动2in。 由此可以看出,基本的MOVE语句具有如下形式: MOVE TO ; MOVE barm TO VIA f1 f2 f3 表示机械手经过中间点f1、f2、f3移动到目标坐标系 。 AL Language 8.3 Commonly Used Robot Programming Language

20、s 31 用AL语言编制上图中机器人把螺栓插入其中一个孔里的作业。这个作业 需要把机器人移至料斗上方A点,抓取螺栓,经过B点、C点再把它移至 导板孔上方D点,并把螺栓插入其中一个孔里。 参考步骤: (1)定义机座、导板、料斗、导板孔、螺栓柄等的位置和姿态; (2)把装配作业划分为一系列动作,如移动机器人、抓取物体和完成插 入等; (3)加入传感器以发现异常情况和监视装配作业的过程; (4)重复步骤13,调试改进程序。 Home Work 思考题 8.3 Commonly Used Robot Programming Languages 32 Contents Requirements and

21、Language Types to Robot Programming Structure and Basic Functions of Robot Language System Commonly-Used Language for Robot Programming Off-Line Programming of Robots Summary 32Ch.8 Robot Programming 3333 8.4 Off-Line Programming of Robots 机器人的离线编程机器人的离线编程 8.4.1 Features of Robot Off-Line Programmin

22、g 随着机器人应用范围的扩大和所完成任务复杂程度的 提高,示教方式编程已很难满足要求 机器人离线编程系统利用计算机图形学计算机图形学建立机器人及 其工作环境的模型,再利用规划算法通过对图形的控 制和操作,在离线的情况下进行轨迹规划 示教编程示教编程和离线编程离线编程两种方式的比较 8.4 Off-Line Programming of Robots 3434 8.4.1 Features of Robot Off-Line Programming 可减少机器人非工作时间非工作时间,当对下一个任务进行编程 时,机器人仍可在生产线上工作; 使编程者远离危险远离危险的工作环境; 便于和CAD/CAM

23、系统结合,做到CAD/CAM/机器人 一体化一体化; 可使用高级计算机编程语言对复杂任务复杂任务进行编程; 便于修改修改机器人程序。 8.4 Off-Line Programming of Robots 3535 82图 离线编程系统框图 8.4.2 Structure of Robot Off-Line Programming System 8.4 Off-Line Programming of Robots 3636 8.4.2 Structure of Robot Off-Line Programming System User interface 3-D modeling Kinema

24、tic emulation Path-planning emulation Dynamic emulation Multiprocess simulation Simulation of sensors Language translation to target system Workcell calibration 8.4 Off-Line Programming of Robots 3737 8.4.2 Structure of Robot Off-Line Programming System User interface 3-D modeling Kinematic emulatio

25、n Path-planning emulation Dynamic emulation Multiprocess simulation Simulation of sensors Language translation to target system Workcell calibration 工业机器人一般提供两个用户接口两个用户接口: 用于示教编程示教编程,即用示教盒直接编制机器人程序。 用于语言编程语言编程,即用机器人语言编制程序,使机 器人完成给定的任务。 8.4 Off-Line Programming of Robots 3838 8.4.2 Structure of Robot

26、 Off-Line Programming System User interface 3-D modeling Kinematic emulation Path-planning emulation Dynamic emulation Multiprocess simulation Simulation of sensors Language translation to target system Workcell calibration 机器人系统的几何构型几何构型大多采用三种形式的组合三种形式的组合: 结构立体几何表示(覆盖的形体种类较多) 扫描变换表示 (便于生成轴对称的形体 ) 边

27、界表示(最便于形体在计算机内表示、运算、修 改和显示) 8.4 Off-Line Programming of Robots 3939 8.4.2 Structure of Robot Off-Line Programming System User interface 3-D modeling Kinematic emulation Path-planning emulation Dynamic emulation Multiprocess simulation Simulation of sensors Language translation to target system Workc

28、ell calibration 分为运动学正解运动学正解和运动学反解运动学反解两部分 就运动学反解而言,离线编程系统与机器人控制柜的 联系有两种选择 l用离线编程系统代替机器人控制柜的逆运动学,将机器人关 节坐标值通讯给控制柜 l将笛卡儿坐标值输送给控制柜,由控制柜提供的逆运动学方 程求解机器人的形态 Which method is better? 8.4 Off-Line Programming of Robots 4040 8.4.2 Structure of Robot Off-Line Programming System User interface 3-D modeling Kin

29、ematic emulation Path-planning emulation Dynamic emulation Multiprocess simulation Simulation of sensors Language translation to target system Workcell calibration 离线编程系统需要对机器人的运动 轨迹进行仿真。 规划的两种类型 l自由移动自由移动(仅由初始状态和目标 状态定义) l依赖于轨迹的约束运动约束运动 (受到路 径、运动学和动力学约束 ) 轨迹规划算法 l关节空间的插补关节空间的插补 l笛卡儿空间的插补笛卡儿空间的插补 8.

30、4 Off-Line Programming of Robots 4141 8.4.2 Structure of Robot Off-Line Programming System User interface 3-D modeling Kinematic emulation Path-planning emulation Dynamic emulation Multiprocess simulation Simulation of sensors Language translation to target system Workcell calibration 当机器人跟踪期望的运动轨迹时

31、,如果所产生的误差在允许范围误差在允许范围 内,则离线编程系统可以只从运动学的角度进行轨迹规划,而不 考虑机器人的动力学特性。 如果机器人工作在高速高速和重负载重负载的情况下,则必须考虑动力学特 性,以防止产生比较大的误差。 从软件设计的观点看,动力学模型的建立分为三类 l数字法 l符号法 l解析(数字符号)法 快速有效地建立动力学模型动力学模型是机器人离线编程的主要任务之一 8.4 Off-Line Programming of Robots 4242 8.4.2 Structure of Robot Off-Line Programming System User interface 3-

32、D modeling Kinematic emulation Path-planning emulation Dynamic emulation Multiprocess simulation Simulation of sensors Language translation to target system Workcell calibration 并行操作是在同一时刻同一时刻对多个装置多个装置工作进行仿真的技术 用于提供对不同装置工作过程进行仿真的环境 工作原理 l在执行过程中,首先对每一装置分配并联并联和串联串联存储器 l如果可以分配几个不同处理器共一个并联存储器,则可 使用并行处理,

33、否则应该在各存储器中交换执行情况, 并控制各工作装置的运动程序的执行时间 8.4 Off-Line Programming of Robots 4343 8.4.2 Structure of Robot Off-Line Programming System User interface 3-D modeling Kinematic emulation Path-planning emulation Dynamic emulation Multiprocess simulation Simulation of sensors Language translation to target sys

34、tem Workcell calibration 在离线编程系统中,对传感器进行建模传感器进行建模以及能对装有 传感器的机器人的误差校正进行仿真误差校正进行仿真是很重要的。 传感器主要分局部局部的和全局全局的两类 l局部传感器有力觉、触觉和接近觉等传感器 l全局传感器有视觉等传感器 传感器功能可以通过几何图形仿真几何图形仿真获取信息 8.4 Off-Line Programming of Robots 4444 8.4.2 Structure of Robot Off-Line Programming System User interface 3-D modeling Kinematic e

35、mulation Path-planning emulation Dynamic emulation Multiprocess simulation Simulation of sensors Language translation to target system Workcell calibration 在离线编程系统中通讯接口通讯接口 起着联结软件系统和机器人 控制柜的桥梁作用。 离线编程系统实用化的一个主 要问题是缺乏标准的通讯接口缺乏标准的通讯接口 通讯接口通讯接口把仿真系统所生成的 机器人运动程序转换成机器人 控制柜可以接受的代码 解决办法可以是选择一种较为 通用通用的机器人语言,然后通过 对该语言加工加工使其转换成机器 人控制柜可接受的语言 8.4 Off-Line Programming of Robots 4545 8.4.2 Structure of Ro

温馨提示

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

评论

0/150

提交评论