为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

机器人学基础_第8章_机器人编程

2011-12-09 49页 ppt 1MB 72阅读

用户头像

is_744782

暂无简介

举报
机器人学基础_第8章_机器人编程null机器人学基础 第八章 机器人编程中南大学 蔡自兴,谢 斌 zxcai, xiebin@mail.csu.edu.cn 2010机器人学基础 第八章 机器人编程*Ch.8 Robot ProgrammingFundamentals of RoboticsFundamentals of Robotics    Review General Considerations in Trajectory Planning  Interpolated Calculation of Joint Trajectori...
机器人学基础_第8章_机器人编程
null机器人学基础 第八章 机器人编程中南大学 蔡自兴,谢 斌 zxcai, xiebin@mail.csu.edu.cn 2010机器人学基础 第八章 机器人编程*Ch.8 Robot ProgrammingFundamentals of RoboticsFundamentals of Robotics    Review General Considerations in Trajectory Planning  Interpolated Calculation of Joint Trajectories  Planning of Cartesian Path Trajectories  Real Time Generation of Planning Trajectories *Fundamentals of RoboticsQuestions*QuestionsAccording 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    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 *Ch.8 Robot ProgrammingCh.8 Robot Programming Ch.8 Robot Programming 机器人编程语言是一种程序描述语言,它能十分简洁地描述工作环境和机器人的动作,能把复杂的操作内容通过尽可能简单的程序来实现。 机器人编程语言也和一般的程序语言一样,应当具有结构简明、概念统一、容易扩展等特点。 由于机器人的控制装置和作业要求多种多样,国内外尚未制订统一的机器人控制代码,所以编程语言也是多种多样的。Ch.8 Robot Programming8.1 Requirements to Robot Programming & Type of Languages 机器人编程要求和语言类型8.1 Requirements to Robot Programming & Type of Languages 机器人编程要求和语言类型8.1.1 Requirements to Robot Programming 对机器人编程的要求 World modeling 能够建立世界模型 Task specification 能够描述机器人的作业 Motion specification 能够描述机器人的运动 Flow of execution 允许用户规定执行 Programming environment 要有良好的编程环境 Sensor integration 需要人机接口和综合传感信号 8.1 Requirements and Types of Robot Programming Languages8.1.1 Requirements to Robot Programming8.1.1 Requirements to Robot ProgrammingWorld modeling8.1 Requirements and Types of Robot Programming Languages8.1.1 Requirements to Robot Programming8.1.1 Requirements to Robot ProgrammingTask specification 8.1 Requirements and Types of Robot Programming Languages8.1.1 Requirements to Robot Programming8.1.1 Requirements to Robot ProgrammingMotion specification 例. 机械手运动如下:(1)移至位置“goal1”;(2)再以直线移至位置“goal2”;(3)不停顿地移动经过“via1”,到达停止位置“goal3”。用VAL-II语言: move goal1 moves goal2 move via1 move goal3用AL语言(控制机械手garm): move garm to goal1; move garm to goal2 linearly; move garm to goal3 via via1;8.1 Requirements and Types of Robot Programming Languages8.1.1 Requirements to Robot Programming8.1.1 Requirements to Robot ProgrammingFlow of execution 允许用户执行测试、分支、循环、调用子程序以及中断等流程。 Programming environment 包含断点调试功能,以及典型的编程支持(如文本编辑、调试程序和文件系统等)。 Sensor integration 在编程和作业过程中,应便于人与机器人之间进行信息交换。 能与传感器进行信息交互,以此来控制程序的流程。 8.1 Requirements and Types of Robot Programming Languages8.1.2 Types of Robot Programming 机器人编程的类型*8.1.2 Types of Robot Programming 机器人编程的类型根据编程方式,机器人编程可以分为: Teach by showing (示教编程) 手把手示教 Robot programming languages (机器人语言编程) 用专用的或通用的机器人语言来描述机器人的动作轨迹 Off-line programming (离线编程) 在专门的软件环境支持下用专用或通用程序,在离线情况下进行机器人轨迹编程 示教盒示教8.1 Requirements and Types of Robot Programming LanguagesTeach by showingTeach by showing8.1 Requirements and Types of Robot Programming Languages8.1.2 Types of Robot Programming*8.1.2 Types of Robot Programming根据作业描述水平的高低,机器人编程语言可以分为: Motion-level programming (动作级) 以机器人关节或末端执行器的动作为中心来描述各种操作; Object-level programming (对象级) 以描述操作物体之间的关系为中心的语言; Task-level programming (任务级) 只要直接指定操作内容就可以了,为此,机器人必须一边思考一边工作。8.1 Requirements and Types of Robot Programming Languages    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 *Ch.8 Robot Programming8.2 Structure & Basic Functions of Robot Programming System 机器人语言系统的结构和基本功能*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 System8.2.2 Basic Functions of Robot Programming Languages 机器人编程语言的基本功能*8.2.2 Basic Functions of Robot Programming Languages 机器人编程语言的基本功能运算(Calculation):是机器人最重要的功能之一。包括机器人的正解、逆解、坐标变换及矢量运算等。 机械手运动(Motion of Robot Manipulators):是机器人最基本的功能。机器人语言用最简单的方法向各关节伺服装置提供一系列关节位置及姿态信息,由伺服系统实现运动。 工具指令(Tool Instruction):包括工具种类及工具号的选择、工具参数的选择及工具的动作(工具的开关、分合)。 8.2 Structure and Basic Functions of A Robot Programming System8.2.2 Basic Functions of Robot Programming Languages*8.2.2 Basic Functions of Robot Programming Languages决策(Decision):是指机器人根据作业空间范围内的传感信息而做出的判断决策。这种决策功能一般由条件转移指令实现。 通信(Communication):即机器人系统与操作人员的各式通信,包括机器人向操作人员要求信息和操作人员知道机器人的状态、机器人的操作意图等。 传感数据处理(Sensor Data Processing):机器人只有与传感器连接起来才能具有感知能力,具有某种智能。传感器输入和输出信号的形式、性质及强弱不同,往往需要进行大量的复杂运算和处理。 8.2 Structure and Basic Functions of A Robot Programming System    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 *Ch.8 Robot Programming8.3 Commonly Used Robot Programming Languages 常用的机器人编程语言 8.3 Commonly Used Robot Programming Languages 常用的机器人编程语言 研究室里的实验语言 美国斯坦福大学开发的AL语言 IBM公司开发的AUTOPASS语言 英国爱丁堡大学开发的RAPT语言等; 商用的机器人语言 由AL语言演变而来的VAL语言 日本九州大学开发的IML语言 IBM公司开发的AML语言等。8.3 Commonly Used Robot Programming Languages8.3 Commonly Used Robot Programming Languages8.3 Commonly Used Robot Programming Languages8.3 Commonly Used Robot Programming Languages8.3 Commonly Used Robot Programming Languages8.3 Commonly Used Robot Programming Languages8.3 Commonly Used Robot Programming LanguagesAL Language*斯坦福大学1974年开发的AL语言是一种高级程序设计系统,描述诸如装配(Assembly)一类的任务。它有类似ALGOL的源语言,有将程序转换为机器码的编译程序和由控制操作机械手和其他设备的实时系统。 基本功能语句: 标量(SCALAR) 矢量(VECTOR) 旋转(ROT) 坐标系(FRAME) 变换(TRANS) AL Language8.3 Commonly Used Robot Programming LanguagesExample: 机器人插螺栓作业 Example: 机器人插螺栓作业 上图是机器人插螺栓作业的示意图。可以建立起图中的base坐标系、beam坐标系和feeder坐标系。8.3 Commonly Used Robot Programming Languages例. 机器人插螺栓作业 例. 机器人插螺栓作业 base< − FRAME (nilrot,VECTOR (20,0,15)*inches);{坐标系base的原点位于世界坐标系原点(20,0,15)英寸处,z轴平行于世界坐标系的 z 轴}base坐标系8.3 Commonly Used Robot Programming Languages例. 机器人插螺栓作业 例. 机器人插螺栓作业 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例. 机器人插螺栓作业 例. 机器人插螺栓作业 feeder< − FRAME (nilrot,VECTOR(25,20,0)*inches);{坐标系feeder的原点位于世界坐标系(25,20,0)英寸处,且z轴平行于世界坐标系的z轴} feeder坐标系8.3 Commonly Used Robot Programming Languages例. 机器人插螺栓作业 例. 机器人插螺栓作业 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 Programming Languages例. 机器人插螺栓作业 例. 机器人插螺栓作业 E< − Tg*TRANS (nilrot,VECTOR (0,0,5)*inches);{建立坐标系 E,其z轴平行于Tg坐标系的 z 轴,原点距 Tg 坐标系原点(0,0,5)英寸处}手爪 E 坐标系8.3 Commonly Used Robot Programming LanguagesAL LanguageMOVE语句用来表示机器人由初始位置和姿态到目标位置和姿态的运动。 假定机械手在任意位置,可把它运动到停放位置: MOVE barm TO bpark; 如果要求在4s内把机械手移动到停放位置: MOVE barm TO bpark WITH DURATION = 4*seconds;AL Language8.3 Commonly Used Robot Programming LanguagesAL Language符号“@”可用在语句中,表示当前位置,如: MOVE barm TO @ − 2*zhat* inches; 该指令表示机械手从当前位置向下移动2in。 由此可以看出,基本的MOVE语句具有如下形式: MOVE <机械手> TO <目的地> <修饰子句>; MOVE barm TO VIA f1 f2 f3 表示机械手经过中间点f1、f2、f3移动到目标坐标系。 AL Language8.3 Commonly Used Robot Programming LanguagesHome Work 思考题Home Work 思考题用AL语言编制上图中机器人把螺栓插入其中一个孔里的作业。这个作业需要把机器人移至料斗上方A点,抓取螺栓,经过B点、C点再把它移至导板孔上方D点,并把螺栓插入其中一个孔里。参考步骤: (1)定义机座、导板、料斗、导板孔、螺栓柄等的位置和姿态; (2)把装配作业划分为一系列动作,如移动机器人、抓取物体和完成插入等; (3)加入传感器以发现异常情况和监视装配作业的过程; (4)重复步骤1~3,调试改进程序。8.3 Commonly Used Robot Programming Languages    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 *Ch.8 Robot Programming8.4 Off-Line Programming of Robots 机器人的离线编程*8.4 Off-Line Programming of Robots 机器人的离线编程8.4.1 Features of Robot Off-Line Programming 随着机器人应用范围的扩大和所完成任务复杂程度的提高,示教方式编程已很难满足要求 机器人离线编程系统利用计算机图形学建立机器人及其工作环境的模型,再利用规划算法通过对图形的控制和操作,在离线的情况下进行轨迹规划 示教编程和离线编程两种方式的比较 8.4 Off-Line Programming of Robots8.4.1 Features of Robot Off-Line Programming*8.4.1 Features of Robot Off-Line Programming可减少机器人非工作时间,当对下一个任务进行编程时,机器人仍可在生产线上工作; 使编程者远离危险的工作环境; 便于和CAD/CAM系统结合,做到CAD/CAM/机器人一体化; 可使用高级计算机编程语言对复杂任务进行编程; 便于修改机器人程序。8.4 Off-Line Programming of Robots8.4.2 Structure of Robot Off-Line Programming System* 8.4.2 Structure of Robot Off-Line Programming System8.4 Off-Line Programming of Robots8.4.2 Structure of Robot Off-Line Programming System*8.4.2 Structure of Robot Off-Line Programming SystemUser interface 3-D modeling Kinematic emulation Path-planning emulation Dynamic emulationMultiprocess simulation Simulation of sensors Language translation to target system Workcell calibration 8.4 Off-Line Programming of Robots8.4.2 Structure of Robot Off-Line Programming System*8.4.2 Structure of Robot Off-Line Programming SystemUser interface 3-D modeling Kinematic emulation Path-planning emulation Dynamic emulationMultiprocess simulation Simulation of sensors Language translation to target system Workcell calibration 工业机器人一般提供两个用户接口: 用于示教编程,即用示教盒直接编制机器人程序。 用于语言编程,即用机器人语言编制程序,使机器人完成给定的任务。 8.4 Off-Line Programming of Robots8.4.2 Structure of Robot Off-Line Programming System*8.4.2 Structure of Robot Off-Line Programming SystemUser interface 3-D modeling Kinematic emulation Path-planning emulation Dynamic emulationMultiprocess simulation Simulation of sensors Language translation to target system Workcell calibration 机器人系统的几何构型大多采用三种形式的组合: 结构立体几何表示(覆盖的形体种类较多) 扫描变换表示 (便于生成轴对称的形体 ) 边界表示(最便于形体在计算机内表示、运算、修改和显示)8.4 Off-Line Programming of Robots8.4.2 Structure of Robot Off-Line Programming System*8.4.2 Structure of Robot Off-Line Programming SystemUser interface 3-D modeling Kinematic emulation Path-planning emulation Dynamic emulationMultiprocess simulation Simulation of sensors Language translation to target system Workcell calibration 分为运动学正解和运动学反解两部分 就运动学反解而言,离线编程系统与机器人控制柜的联系有两种选择 用离线编程系统代替机器人控制柜的逆运动学,将机器人关节坐标值通讯给控制柜 将笛卡儿坐标值输送给控制柜,由控制柜提供的逆运动学方程求解机器人的形态Which method is better?8.4 Off-Line Programming of Robots8.4.2 Structure of Robot Off-Line Programming System*8.4.2 Structure of Robot Off-Line Programming SystemUser interface 3-D modeling Kinematic emulation Path-planning emulation Dynamic emulationMultiprocess simulation Simulation of sensors Language translation to target system Workcell calibration 离线编程系统需要对机器人的运动轨迹进行仿真。 规划的两种类型 自由移动(仅由初始状态和目标状态定义) 依赖于轨迹的约束运动 (受到路径、运动学和动力学约束 ) 轨迹规划算法 关节空间的插补 笛卡儿空间的插补 8.4 Off-Line Programming of Robots8.4.2 Structure of Robot Off-Line Programming System*8.4.2 Structure of Robot Off-Line Programming SystemUser interface 3-D modeling Kinematic emulation Path-planning emulation Dynamic emulationMultiprocess simulation Simulation of sensors Language translation to target system Workcell calibration 当机器人跟踪期望的运动轨迹时,如果所产生的误差在允许范围内,则离线编程系统可以只从运动学的角度进行轨迹规划,而不考虑机器人的动力学特性。 如果机器人工作在高速和重负载的情况下,则必须考虑动力学特性,以防止产生比较大的误差。 从软件设计的观点看,动力学模型的建立分为三类 数字法 符号法 解析(数字—符号)法 快速有效地建立动力学模型是机器人离线编程的主要任务之一 8.4 Off-Line Programming of Robots8.4.2 Structure of Robot Off-Line Programming System*8.4.2 Structure of Robot Off-Line Programming SystemUser interface 3-D modeling Kinematic emulation Path-planning emulation Dynamic emulationMultiprocess simulation Simulation of sensors Language translation to target system Workcell calibration 并行操作是在同一时刻对多个装置工作进行仿真的技术 用于提供对不同装置工作过程进行仿真的环境 工作原理 在执行过程中,首先对每一装置分配并联和串联存储器 如果可以分配几个不同处理器共一个并联存储器,则可使用并行处理,否则应该在各存储器中交换执行情况,并控制各工作装置的运动程序的执行时间 8.4 Off-Line Programming of Robots8.4.2 Structure of Robot Off-Line Programming System*8.4.2 Structure of Robot Off-Line Programming SystemUser interface 3-D modeling Kinematic emulation Path-planning emulation Dynamic emulationMultiprocess simulation Simulation of sensors Language translation to target system Workcell calibration 在离线编程系统中,对传感器进行建模以及能对装有传感器的机器人的误差校正进行仿真是很重要的。 传感器主要分局部的和全局的两类 局部传感器有力觉、触觉和接近觉等传感器 全局传感器有视觉等传感器 传感器功能可以通过几何图形仿真获取信息 8.4 Off-Line Programming of Robots8.4.2 Structure of Robot Off-Line Programming System*8.4.2 Structure of Robot Off-Line Programming SystemUser interface 3-D modeling Kinematic emulation Path-planning emulation Dynamic emulationMultiprocess simulation Simulation of sensors Language translation to target system Workcell calibration 在离线编程系统中通讯接口起着联结软件系统和机器人控制柜的桥梁作用。 离线编程系统实用化的一个主要问题是缺乏标准的通讯接口 通讯接口把仿真系统所生成的机器人运动程序转换成机器人控制柜可以接受的代码 解决办法可以是选择一种较为通用的机器人语言,然后通过对该语言加工使其转换成机器人控制柜可接受的语言 8.4 Off-Line Programming of Robots8.4.2 Structure of Robot Off-Line Programming System*8.4.2 Structure of Robot Off-Line Programming SystemUser interface 3-D modeling Kinematic emulation Path-planning emulation Dynamic emulationMultiprocess simulation Simulation of sensors Language translation to target system Workcell calibration 校正离线编程系统中的仿真模型(理想模型)和实际机器人模型之间存在的误差 基准点方法。通过实际运动与基准点之间的差异形成误差补偿函数,主要用于精度要求不太高的场合(如喷涂 ) 传感器方法。利用传感器(力觉或视觉等)形成反馈,在离线编程系统所提供机器人位置的基础上进行局部精确定位,该方法用于精度要求较高的场合(如装配) 8.4 Off-Line Programming of Robots8.4.2 Structure of Robot Off-Line Programming System* 8.4.2 Structure of Robot Off-Line Programming SystemUser interface 3-D modeling Kinematic emulation Path-planning emulation Dynamic emulation Multiprocess simulation Simulation of sensors Language translation to target system Workcell calibration8.4 Off-Line Programming of Robots    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 *Ch.8 Robot Programming8.5 Summary 小结*8.5 Summary 小结根据作业描述水平的高低,机器人编程语言可以分为哪几级? 可分为动作级、对象级和任务级三级。 常用的机器人编程语言有哪些? AL 、VAL、SIGLA、IML…… 离线编程与传统示教编程的比较。 8.5 Summarynull
/
本文档为【机器人学基础_第8章_机器人编程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索