第一章 机器人绪论
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章绪论
自从20世纪50年代末第一台工业机器人发明以来机器人的发展已经有半个世纪纵观半个世纪以来机器人的发展史机器人技术在需求的牵引下已经得到了巨大的发展到目前为止机器人的发展已经经历了三个阶段
(1)可编程的示教再现型机器人为了让机器人完成期望的作业首先由操作者通过示教盒对操作机器人的运行轨迹作业顺序等进行示教操作机器人控制系统将示教指令记忆存储应用时再根据再现指令顺序取出示教指令经过编译在一定精度范围内复现示教动作
(2)带有一定的传感功能包括视觉力觉触觉等功能具有一定适应能力的机器人这种机器人可以根据传感信息调整控制算法
(3)智能机器人这种机器人装有多种传感器并能将多种传感器探测到的信息进行融合能有效地适应环境的变化具有很强的自适应能力并具有自学习功能
随着机器人技术的发展人们对机器人的要求不再局限于单个机器人近年来随着机器人生产线的出现及柔性制造系统的应用研究人员对由多个机器人组成的系统越来越感兴趣多机器人的研究已经成为机器人学研究的一个重要方面如果说单机器人是对人类个体的模仿那么多机器人系统则是对人类群体乃至人类社会的模仿显然多机器人系统具有许多单机器人系统所没有的优点
这主要体现在如下几个方面
1多机器人系统在空间上是分布式的,即多个机器人可以同时工作在工作空间的各个位置这个特点是完成许多任务的关键比如对于搬运物
体之类的任务如果使用单个机器人完成该机器人往往需要具有较大
的本体而使用多机器人系统则可以使用数个机器人合作完成各个
机器人本身无须很大
2多机器人系统是并行的某些任务可以进一步分解成若干子任务并且这些子任务是相互独立的可以同时处理的具有并行结构的多机器人
系统在完成此类任务时比单个机器人要有优势
3多机器人系统的容错能力较强多机器人系统中的机器人个体的功能可以相互重叠所以当某一机器人出现故障时很容易通过任务的重新分
配来弥补由该故障引起的系统性能下降
4多机器人系统的灵活性好开发出灵活性很高的单机器人不仅困难而且很昂贵而多机器人系统中各个机器人的功能可以互不相同通过不同
功能的机器人的组合很容易使多机器人系统具有很强的适应性5经济性好对于一些动态性强而且复杂的任务开发多机器人系统远比开发单个机器人容易而且价格较低
除了上文所述的多机器人系统的优点外对于多机器人系统的研究还可以
增进研究人员对组织行为学经济学认知科学和生命科学中的一些基本问题的认识
1 1 多机器人技术研究现状
多机器人系统的研究始于20世纪70年代从那时开始国外许多高校和科研机构对多机器人系统进行了广泛的研究例如欧盟在97年设立了专门进行多机器人系统研究的项目MARTHA[1]即用于搬运的多自主机器人系统Multiple Autonomous Robots for Transporting and Handling Application美国
海军研究部和能源部也对多机器人系统的研究进行了资助[2]而美国国防部所属的DARPAR在MARS Mobile Autonomous Robot Software项目中也对多移动机器人的研究给予了大量的支持日本的许多高校也对多机器人系统进行了大量的研究
经过二十多年的发展多机器人技术的研究已在理论和实践方面取得了大
量卓有成效的研究成果并建立了一些多机器人的实验系统下面我们将介绍几个比较有影响的多机器人系统
(1) CEBOT CEllular roBOTic System
CEBOT系统是由日本Nagoya大学的T.Fukuda教授领导的研究小组开发的
CEBOT是一种自重构机器人系统Self-Reconfigurable Robotic System它
的研究是受生物细胞结构的启发将系统中众多的具有相同或不同功能的机器人视为细胞元这些细胞元机器人可以移动寻找和组合根据任务或环境的变化细胞元机器人可以自组织成器官化机器人多个器官化机器人可以进一步自组
织形成功能更加复杂的机器人系统如图1-1细胞结构机器人系统强调是
单元体的组合如何根据任务和环境的要求动态重构因此系统具有多变的构型可以具有学习和适应的组智能Group Intelligence,并具有分布式的体系结
构
图1-1 CEBOT系统示意图
对CEBOT系统的研究涉及到系统的体系结构通讯信息交互等许多方面文献[3]讨论了系统的体系结构并针对分层式结构提出一种选择Master Cell 的方法文献[4]研究了对机器人行为的建模问题文献[5]给出一种计算机器人之间信息交换量的方法文献[6]介绍一种新颖的机器人行为选择机制根据两
个矩阵优先级矩阵(Priority Matrix)和利益关系矩阵(Interest Relation
Matrix)通过一个学习算法来调整优先级矩阵.
(2) Collective Robotics实验系统
图1-2 Collective Robotics实验系统
加拿大Alberta大学开发了一个实验系统—Collective Robotics并在这方面作出许多工作[7][8][9][10][11][12][13]. Collective Robotics是对昆虫社会的一种人工模拟目的是将许多简单的机器人组织成一个团体来完成一些有意义的工
作为实现这一目标研究针对集体任务Collective Tasks机器人的控制体系结构和算法以及传感信息的分析等具体来说在机器人之间没有建立显式通讯的条件下如何利用分散式控制方式实现多机器人系统的协作这种分布式无通讯系统易于机器人的添加去除多个机器人协作推箱(Box-Pushing)的实验
结果表明在不存在显式通讯和集中规划器的条件下尽管运行的结果不是一个
最优解但可以得到一个可行解图1-2是Collective Robotics实验系统(3) Cooperative Robotics 实验系统
美国Oak Ridge国家实验室的Lynne E. Parker博士在MIT做博士期间就在多Agent协作自主Agent体系结构多Agent通讯等方面做了许多工作
[14][15][16][17][18][19][20][21[22][23][24]在Oak Ridge国家实验室又带领一研究小组在协作机器人学方面做了许多工作如人机协作移动机器人协作多Agent协作智能Agent体系等他们研究的协作机器人是集成了感知推理动作的智能系统着重研究在环境未知且在任务执行过程中环境动态变化的情况下机器人如何协作完成任务
为了将各种协作算法应用于系统他们开发了协作机器人的实验系统见图1-3一种是适用于户外的实验系统CESAR Emperor(图1-3a), 包括一个运输车四个微机器人且在机器人上安装激光扫描仪摄像头声纳传感器以及无线以太网等另外还有一种适用于室内应用的系统CESAR Nomads(图1-3b)包括四个机器人机器人上安装有各种传感器包括测距仪接触传感器声纳红外视觉罗盘以及基于激光的2D定位系统机器人还装有无线以太网以实现机器人之间的通讯以及机器人和工作站之间的通讯
(a) CESAR Emperor (b) CESAR Nomads
图1-3 Cooperative Robotics 实验系统
(4) Socially Mobile 和The Nerd Herd实验系统
美国USC大学的学者如Maja J. Mataric等在基于行为的多机器人协作方面做了许多工作[25][26][27][28][29]他们采用自下而上的路线基于行为的方式研究分
析设计机器人群行为的突现在多机器人学习群体行为协调与协作等方面开展工作
他们针对多机器人协调协作建立的实验系统有Socially Mobile和The
Nerd Herd如图1-4所示
(a) Socially Mobile (b) The Nerd Herd
图1-4 Socially Mobile 和The Nerd Herd实验系统 Socially Mobile系统由4个移动机器人组成机器人由两个电机驱动且装有一个二指抓手机器人上安装多种传感器包括碰撞传感器红外传感器
色觉传感器Color sensor和用于通讯及数据收集的无线发送/接收装置另外还有用于定位的超声系统机器人采用包容式结构Subsumption
Architecture Socially Mobile系统主要用于群体行为多机器人学习等各
种实验为多机器人系统的分析建模提供有效的数据
The Nerd Herd系统是由20个机器人组成机器人上装有用于抓取堆放物品的抓手抓手上装有IR和接触传感器机器人本体上装有碰撞传感器无线-声纳定位系统以及通讯系统The Nerd Herd是第一个用于大规模机器人群体行为实验的系统且可以广泛用于其它多机器人控制和协调实验
(5) MRCAS(Multi-Robot Cooperative Assembly System)
中国科学院沈阳自动化所以制造环境应用多机器人装配为背景建立了一个多机器人协作装配实验系统MRCAS[29][62]建立MRCAS实验系统的目的是建立一个实验平台为多机器人协作研究提供研究环境和实验手段并在多机器人协作理论研究的基础上开展多机器人协作的实验研究
图1-5 MRCAS 系统体系结构
MRCAS实验系统采用集中与分散相结合的分层体系结构分为合作组织级和协调作业级合作组织级的协作控制智能体HOST由一台PC计算机构成协调作业级则由PUMA562PUMA760Adept I和全方位移动车ODV组成HOST硬件平台采用一台宏基AcerPower PT100 PC机在HOST机的ISA总线上安装一块四串口板分别与PUMA562PUMA760Adept I和ODV车通讯利用MRCAS进行多机器人协作装配式工件的实验结果表明MRCAS系统为深入研究多机器人协作理论与方法提供了一个良好的实验平台并对多机器人协作系统的实际应用具有参考价值
1 2 多机器人运动规划研究现状
多机器人运动规划的目标是为每一个机器人规划出与环境障碍以及其他机器人不发生碰撞的运动轨迹多机器人运动规划一般可以分为两大类一类是多移动机器人Multiple Mobile Robots运动规划另一类是多机械臂Multiple
Manipulators的运动规划与机械臂相比移动机器人工作的环境大多是非结
构化环境机器人的定位困难重复定位精度差但是移动机器人的所要完成的任务对精度的要求却又往往比机械臂要宽松所以移动机器人运动规划与机械臂的运动规划在许多方面有很大的不同本论文研究的是多移动机器人系统因此在下面的讨论中主要针对的是多移动机器人的运动规划问题
多移动机器人的运动规划又可以分为两类集中式Centralized的规划方法和分布式Distributed的规划方法早期的规划方法大多以集中式规划方法为
主而近期的规划方法中分布式的规划方法开始逐渐增多
12 1 集中式规划方法
集中式的规划方法将多机器人系统视为一个具有多个自由度的复杂机器人
由系统中的一个规划器来统一完成对所有机器人的运动规划集中式规划的特点是一方面在不考虑计算复杂性的情况下该类方法可以获得规划问题的最优解另一方面该类方法计算时间往往比较长这一点限制了该方法的应用集中式规划发展时间较长成果丰富这里仅就主要的方法作一介绍
Schwartz和Sharir用栅格法解决了任意数量的移动物体的运动规划问题[31]
该问题中有些物体是连在一起的环境由墙和其他障碍组成尽管算法的计算时间与障碍的平面数是多项式关系与机器人的自由度成指数关系但总的计算时间是O(n e)其中e是指数n是物体的数量
Parson和Canny提出了一个多移动机器人规划器他们的规划方法分两步来进行第一步根据障碍和机器人的形状把自由空间分成子空间第二步在子空间中选定起点和终点然后规划得到路径[33]
O’Dunlaining等提出了一个并行的运动规划算法[34]该算法用栅格图表达环
境把相邻的两个栅格用一根弧线连起来然后用动态规划法搜索栅格图获得路径机器人之间的避碰通过等待的方式实现如果将该方法在并行机上实现可以获得很高的计算速度
Gurewitz等用收缩法分析了二维空间中圆形机器人的运动规划问题[35]该算法采用了V oronoi图的广义化概念运行时间是O(nlog(n))
Barraquand等提出一个与收缩算法类似的算法[36]该算法在工作空间中定义
一个势场机器人跟踪势场的谷底以找到规划路径
Erdmann和Lozano-Perez提出优先权的方法[37]该算法通过预先给机器人分配优先权减少了相互躲避的机器人的数量
S. M. Lavalle 和S. A. Hutchinson 将多目标优化的方法应用于多机器人路径规划并针对固定路径道路网及开放环境分别作了实验实验结果表明该方法可以获得一组最优解[38]但是该算法的运行时间较长
Warren提出了一种预先分配优先权的规划方法[39]该方法采用势场法来规划单个机器人的运动路径同时考虑了机器人的速度和加速度限制
12 2 分布式规划方法
分布式运动规划方法中每一个机器人独立地收集其周围的环境和其他机器人的运动信息并根据其收集到的信息来规划出一条到达目标点的无碰路径分布式规划的特点是如果不追求规划问题的最优解则该类方法可以获得很高的运行速度但是如果要得到最优解所需的运行时间将不会少于集中式规划方法甚至有可能根本得不到最优解同时机器人之间将会有大量的通讯分布式的规划方法的研究近年来有了很大发展逐渐成为多移动机器人运动规划的主流方法下面将针对这一类方法作一介绍
Carrioli提出了一种基于优先权的分布式规划方法[40]首先每一个机器人根据环境信息规划出一条到目标点的无碰路径接着该机器人将其规划结果向其他机器人广播并获得相对于其他机器人得优先权其他机器人规划自身得路径时要躲避该机器人
Khatib提出了人工势场法[41]该方法通过在机器人上施加一个虚拟的驱动力
来实现机器人的运动规划上述虚拟力是障碍物的斥力和目标点的引力的合力Satio和Tsumura提出了一种实时的规划方法[42]该方法中每一个机器人首先收集其附近的机器人相对自身的运动速度然后根据这些运动信息判断与附近机器人发生碰撞的危险程度并根据危险程度在速度限制条件下决定下一步的运动速度最后按照该速度运动
E. W. Large 等采用dynamical systems 方法进行移动机器人的运动规划并通过引入行为间的竞争来解决多机器人的合作和避障问题[43]
W. L. Xu 和S. K. Tso将模糊控制的方法应用于基于传感器的移动机器人运动规划并通过局部目标切换来解决运动过程中的死锁[44]
Lee和Bien的规划方法借鉴了海上轮船的避碰规则[45]该方法仅适用于机器人自身尺寸远小于工作空间的尺寸且机器人的操作较少的场合
Noborio Hashime将Hopfield神经网络应用于机器人的运动规划问题[46]该方法类似于人工势场法当产生死锁时通过在发生死锁的位置设置一个虚拟的障碍物从而摆脱死锁
Premvuti和Yuta研究了公路网中的多个机器人的运动规划问题并提出了一个方法用于解决多个机器人通过交叉路口的问题[47]该方法中机器人通过谦让来避免与其他机器人发生冲突当冲突已经发生时则通过产生一个管理者来集中解决冲突
Shin Kato等提出了交通规则法[48]该方法中机器人通过遵守交通规则来避免相互的碰撞和死锁该方法对在公路网中运动的多机器人系统的运动规划很有效
1 3 多机器人系统仿真平台的研究现状
多机器人系统的研究过程中实验是一个非常重要的环节无论是系统的体
系结构还是控制或学习算法都需要通过实验来验证其有效性但是构造一个实际的多机器人系统不仅价格昂贵而且所需时间较长此外即使是在已有的多机器人系统中进行实验也要耗费较多的时间和人力不可能在短时间内进行大量的实验所以仿真就成为多机器人研究过程中的一个重要的工具事实上许多研究人员都是首先通过仿真初步验证算法的有效性然后才在实际的多机器人系统中实验验证算法的鲁棒性和抗干扰能力
目前有关多机器人仿真系统的文献较少仅有 Wang在1994年的
International Symposium on Distributed Robotics System上的一篇文章涉及到多机器人仿真系统该文详细论述了多机器人系统通用仿真平台的要求并给出了一个多机器人仿真平台的例子该文中Wang 提出多机器仿真平台应该满足如下要求通用性有效性即该系统必须能够模拟多机器人系统的并行异步的特点
实时图形显示友好的与算法的接口支持增加新的机器人类型
但是随着多机器人研究的发展多机器人仿真平台却已有了较大发展下
面介绍几个比较有影响的仿真系统
TeamBots该仿真系统是Georgia Institute of Technology和CMU共同开发完成的该系统特点如下采用Java语言编写在Windows Linux 和Solaris等操作系统上均可运行系统源代码公开在遵守一些协议的条件下可以修改其代码通用性较好与实际机器人有接口在TeamBots上实现的程序可直接控制实际机器人但是该仿真系统运行速度慢环境编辑较为麻烦目前该TeamBots 已经发布了2.0版图1-6是该仿真系统的例子
图1-6 TeamBots
MissionLab该仿真系统是由Georgia Institute of Technology的Mobile Robot Laboratory开发的较为成熟已经推出了若干版本目前最新的版本是4.0
该仿真系统的特点是采用C++语言编写速度较快有自带的行为库其中的机器人完全采用基于行为的控制方式有专门的用于机器人行为设计的语言
CDL(Configuration Description Language)与很多实际机器人都有接口可以直
接控制多种实际机器人如Pioneer AT, RWI Urban Robot和Nomad 150 & 200
但是该系统自从3.0之后仅能运行于Linux系统中图1-7是该系统的一个例子
图1-7 MissionLab
Soccer Server Software这个软件可能是最著名的多机器人仿真软件该软件拥有大量的用户比MissionLab更加成熟目前的运行于Windows下的版本已经是5.24版该软件较少考虑到环境的几何要素而更多考虑到机器人之间的交互和对抗但是由于该软件是机器人足球的专用软件所以用户不能改变环境难以进行足球比赛以外的仿真实验图1-9是该软件的一个例子
图1-8 Soccer Server Software
1 4 课题来源和研究内容
本文以多机器人系统为背景结合国家高技术研究发展计划863计划智
第一章绪论
能机器人主题多机器人协作系统的理论方法与技术研究课题和国家自然科学基金课题机器人群体协调与控制机理的研究对多机器人运动规划和分
布式仿真问题进行研究内容安排如下
第一章 对多机器人系统的特点进行分析综述多机器人系统研究的主要问
题以及相应问题的研究现状介绍本文的研究背景和研究内容
第二章介绍基于行为的多移动机器人运动规划方法详细分析了运动规划中存在的问题针对这些问题设计了机器人的各种行为并给出了仿真结果第三章介绍一种基于学习分类器系统的多机器人学习算法针对学习分类器系统收敛慢的问题引入了规则构造器和合并操作并通过通讯使机器人之间可以共享各自发现的最优规则从而加速学习过程
第四章介绍了多机器人仿真平台的要求使用面向对象的方法分析了多机器人仿真系统的系统模型最后介绍了在该模型的基础上开发的仿真平台
11。