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

下载本文档

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

文档简介

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

2、mentals of Robotics3 3QuestionsAccording 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 Programming4Contents Requiremen

3、ts 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 Programming5Ch.8 Robot Programming 机器人编程语言是一种程序描述语言程序描述语言,它能十分简洁地描述工作环境工作环境和机器人的动作动作,能把复杂的操作内容通过尽可能简单的程序来实

4、现。机器人编程语言也和一般的程序语言一样,应当具有结构简明结构简明、概念统一概念统一、容易扩展容易扩展等特点。由于机器人的控制装置和作业要求多种多样,国内外尚未制订统一的机器人控制代码标准,所以编程语言也是多种多样多种多样的。Ch.8 Robot Programming68.1 Requirements to Robot Programming & Type of Languages 机器人编程要求和语言类型机器人编程要求和语言类型8.1.1 Requirements to Robot Programming 对机器人编程的要求对机器人编程的要求World modeling 能够建立世界模型T

5、ask specification 能够描述机器人的作业 Motion specification 能够描述机器人的运动 Flow of execution 允许用户规定执行流程Programming environment 要有良好的编程环境 Sensor integration 需要人机接口和综合传感信号 8.1 Requirements and Types of Robot Programming Languages78.1.1 Requirements to Robot ProgrammingWorld modeling8.1 Requirements and Types of Rob

6、ot Programming Languages88.1.1 Requirements to Robot ProgrammingTask specification(a)(b)State AState B(Block1-face1 AGAINST Table)(Block1-face3 AGAINST Block2-face1)(Block3-face1 AGAINST Table)(Block1-face1 AGAINST Table)(Block1-face3 AGAINST Block2-face1)(Block2-face3 AGAINST Block3-face1)8.1 Requi

7、rements and Types of Robot Programming Languages98.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 line

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

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

10、行机器人轨迹规划编程 示教盒示教8.1 Requirements and Types of Robot Programming Languages12Teach by showing8.1 Requirements and Types of Robot Programming Languages13138.1.2 Types of Robot Programming根据作业描述水平作业描述水平的高低,机器人编程语言可以分为:Motion-level programming (动作级动作级)以机器人关节关节或末端执行器末端执行器的动作为中心来描述各种操作; Object-level progra

11、mming (对象级对象级) 以描述操作物体之间的关系操作物体之间的关系为中心的语言; Task-level programming (任务级任务级) 只要直接指定操作内容操作内容就可以了,为此,机器人必须一边思考一边工作。8.1 Requirements and Types of Robot Programming Languages14Contents Requirements and Language Types to Robot Programming Structure and Basic Functions of Robot Language System Commonly-Use

12、d Language for Robot Programming Off-Line Programming of Robots Summary 14Ch.8 Robot Programming15158.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

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

14、工具的动作(工具的开关、分合)。8.2 Structure and Basic Functions of A Robot Programming System17178.2.2 Basic Functions of Robot Programming Languages决策决策(Decision):是指机器人根据作业空间范围内的传感信息而做出的判断决策。这种决策功能一般由条件转移指令实现。通信通信(Communication):即机器人系统与操作人员的各式通信,包括机器人向操作人员要求信息和操作人员知道机器人的状态、机器人的操作意图等。传感数据处理传感数据处理(Sensor Data Proc

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

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

17、家研究单位简要说明1AL美Stanford AI Lab.机器人动作及对象物描述2AUTOPASS美IBM Watson Research Lab.组装机器人用语言3LAMA-S美MIT高级机器人语言4VAL美Unimation公司PUMA机器人(采用MC6800和LSI11两级微型机)语言5ARIL美AUTOMATIC公司用视觉传感器检查零件用的机器人语言6WAVE美Stanford AI Lab.操作器控制符号语言7DIAL美Charles Stark Draper Lab.具有RCC柔顺性手腕控制的特殊指令8RPL美Stanford RI Int.可与Unimation机器人操作程序结合

18、预先定义程序库9TEACH美Bendix Corporation适于两臂协调动作,和VAL同样是使用范围广的语言8.3 Commonly Used Robot Programming Languages8.3 Commonly Used Robot Programming Languages21序号语言名称国家研究单位简要说明10MCL美Mc Donnell Douglas Corporation编程机器人、NC机床传感器、摄像机及其控制的计算机综合制造用语言11INDA美英SIR Internationaland Philips相当于RTL/2编程语言的子集,处理系统使用方便12RAPT英U

19、niversity of Edinburgh类似NC语言APT(用DEC20.LSI11/2微型机)13LM法AIGroup of IMAG类似PASCAL,数据定义类似AL。用于装配机器人(用LS11/3微型机)14ROBEX德国Machine Tool Lab.TH Archen具有与高级NC语言EXAPT相似结构的编程语言15SIGLA意OlivettiSIGMA机器人语言16MAL意MilanPolytechnic两臂机器人装配语言,其特征是方便,易于编程17SERF日三协精机SKILAM装配机器人(用Z-80微型机)18PLAW日小松制作所RW系列弧焊机器人19IML日九州大学动作级

20、机器人语言8.3 Commonly Used Robot Programming Languages8.3 Commonly Used Robot Programming Languages2222斯坦福大学1974年开发的AL语言是一种高级程序设计系统,描述诸如装配装配(Assembly)一类的任务。它有类似ALGOL的源语言,有将程序转换为机器码的编译程序编译程序和由控制操作机械手和其他设备的实时系统实时系统。 基本功能语句: 标量(SCALAR) 矢量(VECTOR) 旋转(ROT) 坐标系(FRAME) 变换(TRANS) AL Language8.3 Commonly Used Ro

21、bot Programming Languages23上图是机器人插螺栓作业的示意图。可以建立起图中的base坐标系、beam坐标系和feeder坐标系。Example: 机器人插螺栓作业 8.3 Commonly Used Robot Programming Languages24base FRAME (nilrot,VECTOR (20,0,15)*inches);坐标系base的原点位于世界坐标系原点(20,0,15)英寸处,z轴平行于世界坐标系的 z 轴 base坐标系例. 机器人插螺栓作业 8.3 Commonly Used Robot Programming Languages25

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

23、t Programming Languages27Tg 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 Languages28E Tg*TRANS (nilrot,VECTOR (0,0,5)*inches);建立坐标系 E,其z轴平行于Tg坐标系的 z 轴,原点距 Tg 坐标系原点(0,0,5)英寸处 手爪 E 坐标系例. 机

24、器人插螺栓作业 8.3 Commonly Used Robot Programming Languages29MOVE语句用来表示机器人由初始位置和姿态到目标位置和姿态的运动。假定机械手在任意位置,可把它运动到停放位置:MOVE barm TO bpark;如果要求在4s内把机械手移动到停放位置:MOVE barm TO bpark WITH DURATION = 4*seconds;AL Language8.3 Commonly Used Robot Programming Languages30符号“”可用在语句中,表示当前位置,如:MOVE barm TO 2*zhat* inches;

25、该指令表示机械手从当前位置向下移动2in。由此可以看出,基本的MOVE语句具有如下形式:MOVE TO ;MOVE barm TO VIA f1 f2 f3表示机械手经过中间点f1、f2、f3移动到目标坐标系。AL Language8.3 Commonly Used Robot Programming Languages31用AL语言编制上图中机器人把螺栓插入其中一个孔里的作业。这个作业需要把机器人移至料斗上方A点,抓取螺栓,经过B点、C点再把它移至导板孔上方D点,并把螺栓插入其中一个孔里。参考步骤:(1)定义机座、导板、料斗、导板孔、螺栓柄等的位置和姿态;(2)把装配作业划分为一系列动作,如

26、移动机器人、抓取物体和完成插入等;(3)加入传感器以发现异常情况和监视装配作业的过程;(4)重复步骤13,调试改进程序。Home Work 思考题8.3 Commonly Used Robot Programming Languages32Contents Requirements and Language Types to Robot Programming Structure and Basic Functions of Robot Language System Commonly-Used Language for Robot Programming Off-Line Programmi

27、ng of Robots Summary 32Ch.8 Robot Programming33338.4 Off-Line Programming of Robots 机器人的离线编程机器人的离线编程8.4.1 Features of Robot Off-Line Programming随着机器人应用范围的扩大和所完成任务复杂程度的提高,示教方式编程已很难满足要求 机器人离线编程系统利用计算机图形学计算机图形学建立机器人及其工作环境的模型,再利用规划算法通过对图形的控制和操作,在离线的情况下进行轨迹规划 示教编程示教编程和离线编程离线编程两种方式的比较 8.4 Off-Line Program

28、ming of Robots示教编程示教编程离线编程离线编程需要实际机器人系统和工作环境需要机器人系统和工作环境的图形模型编程时机器人停止工作编程不影响机器人工作在实际系统上试验程序通过仿真试验程序编程的质量取决于编程者的经验可用CAD方法,进行最佳轨迹规划很难实现复杂的机器人运动轨迹可实现复杂运动轨迹的编程34348.4.1 Features of Robot Off-Line Programming可减少机器人非工作时间非工作时间,当对下一个任务进行编程时,机器人仍可在生产线上工作;使编程者远离危险远离危险的工作环境;便于和CAD/CAM系统结合,做到CAD/CAM/机器人一体化一体化;可

29、使用高级计算机编程语言对复杂任务复杂任务进行编程;便于修改修改机器人程序。8.4 Off-Line Programming of Robots353582图 离线编程系统框图8.4.2 Structure of Robot Off-Line Programming System8.4 Off-Line Programming of Robots36368.4.2 Structure of Robot Off-Line Programming SystemUser interface3-D modelingKinematic emulationPath-planning emulationDyn

30、amic emulationMultiprocess simulationSimulation of sensorsLanguage translation to target systemWorkcell calibration 8.4 Off-Line Programming of Robots37378.4.2 Structure of Robot Off-Line Programming SystemUser interface3-D modelingKinematic emulationPath-planning emulationDynamic emulationMultiproc

31、ess simulationSimulation of sensorsLanguage translation to target systemWorkcell calibration 工业机器人一般提供两个用户接口两个用户接口:用于示教编程示教编程,即用示教盒直接编制机器人程序。 用于语言编程语言编程,即用机器人语言编制程序,使机器人完成给定的任务。 8.4 Off-Line Programming of Robots38388.4.2 Structure of Robot Off-Line Programming SystemUser interface3-D modelingKinema

32、tic emulationPath-planning emulationDynamic emulationMultiprocess simulationSimulation of sensorsLanguage translation to target systemWorkcell calibration 机器人系统的几何构型几何构型大多采用三种形式的组合三种形式的组合:结构立体几何表示(覆盖的形体种类较多) 扫描变换表示 (便于生成轴对称的形体 )边界表示(最便于形体在计算机内表示、运算、修改和显示)8.4 Off-Line Programming of Robots39398.4.2 S

33、tructure of Robot Off-Line Programming SystemUser interface3-D modelingKinematic emulationPath-planning emulationDynamic emulationMultiprocess simulationSimulation of sensorsLanguage translation to target systemWorkcell calibration 分为运动学正解运动学正解和运动学反解运动学反解两部分就运动学反解而言,离线编程系统与机器人控制柜的联系有两种选择 l用离线编程系统代替机

34、器人控制柜的逆运动学,将机器人关节坐标值通讯给控制柜l将笛卡儿坐标值输送给控制柜,由控制柜提供的逆运动学方程求解机器人的形态Which method is better?8.4 Off-Line Programming of Robots40408.4.2 Structure of Robot Off-Line Programming SystemUser interface3-D modelingKinematic emulationPath-planning emulationDynamic emulationMultiprocess simulationSimulation of sen

35、sorsLanguage translation to target systemWorkcell calibration 离线编程系统需要对机器人的运动轨迹进行仿真。 规划的两种类型l自由移动自由移动(仅由初始状态和目标状态定义) l依赖于轨迹的约束运动约束运动 (受到路径、运动学和动力学约束 )轨迹规划算法l关节空间的插补关节空间的插补l笛卡儿空间的插补笛卡儿空间的插补8.4 Off-Line Programming of Robots41418.4.2 Structure of Robot Off-Line Programming SystemUser interface3-D mode

36、lingKinematic emulationPath-planning emulationDynamic emulationMultiprocess simulationSimulation of sensorsLanguage translation to target systemWorkcell calibration 当机器人跟踪期望的运动轨迹时,如果所产生的误差在允许范围误差在允许范围内,则离线编程系统可以只从运动学的角度进行轨迹规划,而不考虑机器人的动力学特性。如果机器人工作在高速高速和重负载重负载的情况下,则必须考虑动力学特性,以防止产生比较大的误差。 从软件设计的观点看,动力

37、学模型的建立分为三类l数字法l符号法l解析(数字符号)法 快速有效地建立动力学模型动力学模型是机器人离线编程的主要任务之一 8.4 Off-Line Programming of Robots42428.4.2 Structure of Robot Off-Line Programming SystemUser interface3-D modelingKinematic emulationPath-planning emulationDynamic emulationMultiprocess simulationSimulation of sensorsLanguage translatio

38、n to target systemWorkcell calibration 并行操作是在同一时刻同一时刻对多个装置多个装置工作进行仿真的技术用于提供对不同装置工作过程进行仿真的环境 工作原理l在执行过程中,首先对每一装置分配并联并联和串联串联存储器 l如果可以分配几个不同处理器共一个并联存储器,则可使用并行处理,否则应该在各存储器中交换执行情况,并控制各工作装置的运动程序的执行时间 8.4 Off-Line Programming of Robots43438.4.2 Structure of Robot Off-Line Programming SystemUser interface3-

39、D modelingKinematic emulationPath-planning emulationDynamic emulationMultiprocess simulationSimulation of sensorsLanguage translation to target systemWorkcell calibration 在离线编程系统中,对传感器进行建模传感器进行建模以及能对装有传感器的机器人的误差校正进行仿真误差校正进行仿真是很重要的。 传感器主要分局部局部的和全局全局的两类l局部传感器有力觉、触觉和接近觉等传感器l全局传感器有视觉等传感器 传感器功能可以通过几何图形仿真

40、几何图形仿真获取信息 8.4 Off-Line Programming of Robots44448.4.2 Structure of Robot Off-Line Programming SystemUser interface3-D modelingKinematic emulationPath-planning emulationDynamic emulationMultiprocess simulationSimulation of sensorsLanguage translation to target systemWorkcell calibration 在离线编程系统中通讯接口通讯接口起着联结软件系统和机器人控制柜的桥梁作用。 离线编程系统实用化的一个主要问题是缺乏标准的通讯接口缺乏标准的通讯接口通讯接口通讯接口把仿真系统所生成的机器人运动程序转换成机器人控制柜可以接受的代码解决办法可以是选择一种较为通用通用的机器人语言,然后通过对该语言加工加工使其转换成机

温馨提示

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

评论

0/150

提交评论