机器人程序设计语言ppt课件.ppt

上传人:小飞机 文档编号:1342340 上传时间:2022-11-11 格式:PPT 页数:31 大小:254.50KB
返回 下载 相关 举报
机器人程序设计语言ppt课件.ppt_第1页
第1页 / 共31页
机器人程序设计语言ppt课件.ppt_第2页
第2页 / 共31页
机器人程序设计语言ppt课件.ppt_第3页
第3页 / 共31页
机器人程序设计语言ppt课件.ppt_第4页
第4页 / 共31页
机器人程序设计语言ppt课件.ppt_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《机器人程序设计语言ppt课件.ppt》由会员分享,可在线阅读,更多相关《机器人程序设计语言ppt课件.ppt(31页珍藏版)》请在三一办公上搜索。

1、第 15 章 智 能 机 器 人,15.1 智能机器人的概念15.2 机器人感知15.3 机器人规划15.4 机器人控制15.5 机器人系统的软件结构15.6 机器人程序设计与语言 习题十五,15.1 智能机器人的概念,一般将机器人的发展分为三个阶段。第一阶段的机器人只有“手”, 以固定程序工作, 不具有外界信息的反馈能力;第二阶段的机器人具有对外界信息的反馈能力, 即有了感觉, 如力觉、触觉、视觉等;第三阶段, 即所谓“智能机器人”阶段,这一阶段的机器人已经具有了自主性,有自行学习、推理、决策、 规划等能力。 这也正符合Agent的条件, 所以, 现在把智能机器人也作为一种Agent。,智能

2、机器人至少应具备四种机能:感知机能获取外部环境信息以便进行自我行动监视的机能;运动机能施加于外部环境的相当于人的手、脚的动作机能;思维机能求解问题的认识、推理、判断机能;人-机通信机能理解指示命令、 输出内部状态, 与人进行信息交换的机能。,15.2 机 器 人 感 知,机器人的感知包括对外界和对自身的感知。感知机能是靠传感器来实现的。因而,机器人传感器可分为内部传感器和外部传感器两大类。内部传感器用来感知机器人的内部状态信息,包括关节位置、速度、加速度、姿态和方位等。常见的内部传感器有轴角编码器、加速度计、陀螺系统等。外部传感器用来感知机器人外部环境信息,它又分为接触型和非接触型两种。前者有

3、触觉、压觉、力觉、滑觉、热觉等, 后者有视觉、听觉、接近觉、距离觉等。,机器人传感器直接模仿人或生物的感觉器官。如根据人和昆虫眼睛的成像原理研制的视觉传感器,它能感受物体的形状、特征、颜色、位置、距离和运动等。还有听觉传感器、 触觉传感器、 味觉传感器等也是用相应的仿生原理制作的。 立体摄像机和激光测距仪是机器人获得三维视觉的两类实用传感器。 在机器人感知研究中,视觉方面的成果最为突出,机器人视觉已经成为一门新兴的独立学科。机器人视觉的主要目的是从整体上理解一个给定的三维景物,为此,图像处理、模式识别、知识工程和三维视觉等技术特别是智能技术在机器人视觉的研制中得到了应用。,15.3 机 器 人

4、 规 划,机器人规划也称机器人问题求解。感知能力使机器人能够感知对象和环境, 但要解决问题,即产生适应对象和环境的动作, 还要依靠规划功能。规划就是拟定行动步骤。 实际上它就是一种问题求解技术,即从某个特定问题的初始状态出发, 寻找或构造一系列操作(也称算子)步骤,达到解决问题的目标状态。例如, 给定工件装配任务, 机器人按照什么步骤去操作每个工件?在杂乱的环境下,机器人如何寻求避免与障碍碰撞的路径, 去接近某个目标?规划功能的强弱反映了智能机器人的智能水平。,机器人规划的基本任务是:在一个特定的工作区域中自动地生成从初始状态到目标状态的动作序列、运动路径和轨迹的控制程序。规划系统可分为两级:

5、任务规划子系统和运动规划子系统。 任务规划子系统根据任务命令,自动生成相应的机器人执行程序, 如将任务理解为工作区的状态变化,则它生成的即为把初始状态变为目标状态的一个操作序列。 运动规划子系统首先将任务规划的结果变成一个无碰撞的操作器运动路径, 这一步称为路径规划;然后再将路径变为操作器各关节的空间坐标, 形成运动轨迹, 这一步称为轨迹规划。,任务规划需要解决三个基本技术问题:问题或状态的表示、 搜索策略和子目标冲突问题。经过多年的探索, 现在,至少已提出了四种有关任务规划问题的方法, 这就是非层次规划、 层次规划、估价式规划和机遇式规划。 路径规划一般分解为寻空间和寻路径两个子问题。寻空间

6、是指在某个指定的区域R中,确定物体A的安全位置,使它不与区域中的其他物体相碰撞。寻路径是指在某个指定的区域R中, 确定物体A从初始位置移动到目标位置的安全路径, 使得移动过程不会发生与其他物体的碰撞。路径规划的方法有假设-测试法、 罚函数法、 位姿空间法、 旋转映射图法等。,近年来, 随着计算智能技术的飞速发展, 人们也把神经网络技术引入了机器人规划。例如, 利用一种并列连接的神经网络可以实时地进行无碰撞路径规划。 该网络对一系列的路径点进行规划, 其目标使得整个路径的长度尽量短, 同时又要尽可能远离障碍物。从数学的观点看, 它等效于一个代价函数, 该代价函数为路径长度和碰撞次数的函数。这种方

7、法的优点是: (1) 算法固有的并行性可用并行硬件来实现,对于有较多障碍物、有较多路径点以及物体上有较多测试点的情况,可达到实时应用的程度。(2) 算法的并行性使得所规划的路径可以达到任意高的精度而不增加计算时间。,15.4 机 器 人 控 制,机器人控制即运动控制, 包括位置控制和力控制。位置控制就是对于运动规划给出的运动轨迹,控制机器人的肢体(如机械手)产生相应的动作。力控制则是对机器人的肢体所发出的作用力(如机械手的握力和推力)大小的控制。 运动控制涉及机器人的运动学和动力学特性, 所以,运动控制研究需要许多运动学和动力学知识。总的来说, 机器人运动控制比较困难, 主要原因在于要求的运动

8、轨迹是在直角坐标空间中给定的,而实际的运动却是通过安装在关节上的驱动部件来实现的。因而需要将机械手末端在直角坐标空间的运动变换到关节的运动, 也就是需要进行逆运动学的计算。这个计算取决于机器人的手臂参数以及所使用的算法。我们知道,具有四肢的动物(包括人类), 运动时会很自然地完成从目标空间到驱动器(肌肉)的转换。这个转换能力一方面是先天遗传的, 另一方面也是通过后天学习不断完善的。,生物系统的运动控制为机器人的神经网络控制提供了很好的参考模型。这种控制不需要各个变量之间的准确的解析关系模型, 而只要通过大量的例子的训练即可实现。 因此, 在机器人控制中广泛采用神经网络控制技术。 在运动学的控制

9、方法中, 分解运动速度的方法是比较典型的一种。它是一种在直角坐标空间而不是在关节坐标空间进行闭环控制的方法。对于那些需要准确运动轨迹的跟踪的任务,如弧焊等, 必须采用这样的控制方法。分解运动速度的方法的关键是速度逆运动学计算, 这个计算不仅需要有效的雅可比矩阵求逆算法,而且需要知道机器人的运动学参数。 如果采用神经网络, 则可不必知道这些参数,因此它可作为求解速度逆运动学的另一种颇具吸引力的方法。,通常的机器人运动学控制主要是基于正、逆运动学的计算。这种控制方法不但计算繁琐,而且需要经常校准才能保持精度。为此,人们提出了一种双向映射神经网络, 进行机器人运动学控制。这种网络主要由一个前馈网组成

10、, 隐层为正弦激励函数。从网络的输出到输入有一个反馈连接, 形成循环回路。正向网络实现正运动学方程, 反馈连接起修改网络的输入(关节变量), 以使网络的输出(末端位姿)向着期望的位姿点运动。 这种双向映射网络不但能够提供精确的正、逆运动学计算, 并且只需要简单的训练。,在动力学控制中, 关键是逆动力学计算。这里主要有两方面的问题, 一是计算工作量很大,难以满足实时控制的要求; 二是需要知道机器人的运动学和动力学参数。要获得这些参数, 尤其是动力学参数往往是很困难的。采用神经网络来实现逆动力学的计算, 原则上可以克服上述两个问题。由于神经网络的并行计算的特点, 它完全满足实时性的要求, 同时它是

11、通过输入输出的数据样本经过学习而获得动力学的非线性关系, 因而它并不依赖于机器人参数。,在力控制中, 无论是采用经典控制还是现代控制, 都存在建模难题。 因此,人们将智能控制技术引入机器人力控制中, 产生了智能力控制方法。该方法应用递阶协调控制、模糊控制和神经网络控制技术来实现力控制系统。在这类系统中, 力/位反馈并行输入, 模糊、神经网络控制对输入信息进行并行非线性处理和综合,将处理结果(位置量)输出给位置伺服子系统。 这种控制系统具有高速响应, 能够完成机器人在行走中与刚性表面接触而产生位移时的实时控制。,智能机器人的控制结构通常被设计成多处理机系统的网络, 并采用智能控制的分层递阶结构。

12、如在纵向, 自顶向下分为四层, 每一层完成不同级别的功能。第一层负责任务规划, 把目标任务分解为初级任务序列。第二层负责路径规划, 把初级移动命令分解为一系列字符串, 这些字符串定义了一条可避免碰撞和死点的运动路径。第三层的基本功能是计算惯量动力学并产生平滑轨迹, 在基本坐标系中控制末端执行器。 第四层为伺服和坐标变换,完成从基本坐标到关节坐标系的坐标变换以及关节位置、 速度和力的伺服控制。,15.5 机器人系统的软件结构,到目前为止最流行的混合体系结构是三层体系结构, 它由一个反应层、一个执行层和一个思考层组成。 反应层为机器人提供低层次的控制。它的特征是具有紧密的传感器-行动循环。 它的决

13、策循环通常是以毫秒计的。,执行层(或序列化层)起着反应层和思考层之间的粘合剂的作用。它接收由思考层发出的指令, 序列化以后传送给反应层。例如, 执行层将会处理一系列由思考式路径规划器生成的通过点, 并作出采取哪种反应行为的决策。 执行层的决策循环通常是以秒计的。执行层还负责将传感器的信息整合到一个内部状态表示中。例如, 它将掌管机器人定位和联机绘制地图等任务。,思考层利用规划生成复杂问题的全局解。因为生成这一类解的过程中涉及计算复杂度, 它的决策循环通常是以分钟计的。 思考层(或规划层)使用模型进行决策。 这些模型可以事先提供或者从数据中学习得到, 它们通常利用了在执行层收集到的状态信息。 三

14、层体系结构的各种变体可以在大多数现代机器人软件系统中找到。当然, 三个层次的划分并不是非常严格的。一些机器人软件系统具有更多的层次, 例如还可有用于控制人机交互的用户接口层,或者负责协调机器人与在同一环境下运转的其他机器人的行动的软件层等。,15.6 机器人程序设计与语言,15.6.1 机器人程序设计1. 直接示教方式直接示教方式也称示教再现方式,其具体做法是,使用示教盒根据作业的需要把机器人的手爪送到作业所需要的位置上去, 并处于所需要的姿态, 然后把这一位置、姿态存储起来。对作业空间的各轨迹点重复上述操作, 机器人就把整个作业程序记忆了下来。 工作时, 再现上述操作就能使机器人完成预定的作

15、业, 同时可以反复同样的作业过程。 直接示教法的优点是不需要预备知识,不需要复杂的计算机装置。所以被广泛使用,尤其适合单纯的重复性作业,例如搬运、喷漆、焊接等。,直接示教法的缺点是: (1) 示教时间长、速度慢。(2) 不同的机器人,或者即使同一个机器人, 对于不同的任务都需要重新示教。(3) 无法接受感觉信息的反馈。(4) 无法控制多台机器人的协调动作。,2. 离线数据程序设计方式离线数据程序设计方式就是使用计算机辅助设计软件设计数据, 计算出为了完成某一作业, 机器人手爪应该运动的位置和姿态, 即用CAD的方法产生示教数据。这一方式克服了直接示教法的缺点, 对于复杂的作业, 或许要给出连续

16、的数据时, 采用此方法是比较合适的。,3. 机器人语言方式机器人语言方式就是使用机器人程序设计语言编程, 使机器人按程序完成作业。 这种方式的优点是: (1) 由于用计算机代替了手动示教,提高了编程效率。(2) 语言编程与机器人型号无关,编好的程序可供多台机器人或不同型号的机器人使用。(3) 可以接受感觉信息。(4) 可以协调多台机器人工作。(5) 可以引入逻辑判断、决策、规划功能以及人工智能的其他方法。,15.6.2 机器人程序设计语言机器人程序设计语言一般是一种专用语言, 即用符号来描述机器人的动作。这种语言类似于通常的计算机的程序设计语言, 但有所区别。一般所说的计算机语言, 只指语言本

17、身, 而机器人语言实际上是一个语言系统。机器人语言系统既包含语言本身给出作业的指示和动作指示,又包含处理系统根据上述指示来控制机器人系统, 另外还包括了机器人的工作环境模型。,根据作业描述水平的高低, 机器人语言通常分为三级: 动作水平级、对象物水平级和作业目标水平级(也称任务级)。 动作水平级语言是以机械手的运动作为作业描述的中心, 由使手爪从一个位置到另一个位置的一系列命令组成。对象物水平级语言是以部件之间的相互关系为中心来描述作业的,与机器人的动作无关。作业目标水平级语言则是以作业的最终目标状态和机器人动作的一般规则的形式来描述作业的。,这种分类法较好地反映了语言的水平和功能, 但在级与

18、级之间还有些模糊或混乱, 所以,另一种分类法将机器人语言分为五级: 操作水平级、 原始动作水平级、 结构性动作水平级、对象物状态水平级和作业目标水平级。 机器人程序设计语言研究是智能机器人研究的重要方面。 这方面现在也有不少成果, 人们已经开发出了许多机器人语言。这些语言有汇编型的, 如VAL语言;有解释型的,如AML; 有编译型的,如AL、LM语言; 还有自然语言型的,如AUTOPASS等。,近年来, 机器人程序设计语言有了很大发展, 简介如下: 通用机器人语言GRL(Generic Robot Language, Horswill, 2000)。该语言是一种用于编写大型模块化控制系统的函数

19、程序设计语言。正如在行为语言中一样,GRL采用有限状态机作为它的基本建造模块。在此之上, 它比行为模型提供了范围更广的结构用于定义通信流, 以及不同模块之间的同步约束。用GRL写的程序可以被编译成高效的指令语言, 如C语言。,反应式行动规划系统RAPS。该语言是一种用于并发机器人软件的重要程序设计语言,它使程序员能够对目标、与这些目标相关的规划(或不完全策略)和那些有可能使规划成功的条件进行指定。重要的是,RAPS还提供了一些措施用于处理那些在实际机器人系统中不可避免发生的失败。程序员可以指定检测各种失败的例行程序,并为每一种失败提供处理异常的过程。在三层体系结构中, RAPS通常用在执行层,

20、 处理那些不需要重新进行规划的偶发事件。,GOLOG。该语言是一种将思考式问题求解(规划)和反应式控制的直接确定进行无缝结合的程序设计语言。用GOLOG写的程序通过情景演算进行形式化表示,并使用了非确定性的行动算子的附加选项。除了用可能的非确定性行动制定控制程序以外,程序员还必须提供机器人及其环境的完整模型。 一旦控制程序到达一个非确定性的选择点, 一个规划器(具有理论证明机的形式)就被触发,用来决定下一步该做什么。 这样, 程序员就能够指定部分控制器,并依靠内置的规划器来做出最终的控制选择。GOLOG的优美性体现在它对反应和思考的无缝整合上。尽管GOLOG需要很强的条件(完全可观察性、离散的

21、状态、完整的模型), 但它已经为一系列室内移动机器人提供了高级控制。,嵌入式系统C+语言CES(C+ for embedded systems)。 该语言是C+的一种语言扩展,它集成了概率与学习(Thrun, 2000)。CES数据类型为概率分布, 允许程序员对不确定信息进行计算,而不必耗费实现概率技术通常所需的努力。更为重要的是,CES使得根据实例训练机器人软件成为可能。CES使程序员能够在代码中留出“缝隙”由学习函数(典型的是诸如神经网络这样的可微分参数化表示方法)进行填补。然后这些函数再通过明确的训练阶段来归纳地学习,训练者必须指定所期望的输出行为。CES已被证实能够在部分可观察的和连续

22、的领域内很好地工作。,ALisp(Andre和Russell, 2002)。该语言是Lisp的一种扩展。ALisp允许程序员指定非确定性的选择点, 这与GOLOG中的选择点类似。不过, ALisp通过强化学习来归纳地学习正确的行动, 而不是依靠定理证明机进行决策。因此, ALisp可以看作是用来将领域知识尤其是关于所期望行为的分层“子程序”结构的知识, 结合到强化学习机中的一种灵活手段。到目前为止,ALisp只在仿真中被用于机器人的学习问题, 不过它为建造通过与环境交互进行学习的机器人提供了一套非常有前途的方法。,习 题十 五,1. 智能机器人应具备哪些机能?2. 实现智能机器人要涉及哪些方面的技术问题?3. 简述机器人感知、 机器人规划和机器人控制的基本原理。 4. 智能机器人软件体系结构如何?5. 机器人程序设计有哪几种方式?6. 机器人程序设计语言有哪些类型?7. 当前的一些知名机器人程序设计语言有哪些?,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号