已阅读5页,还剩56页未读, 继续免费阅读
(计算机软件与理论专业论文)多机器人通信与编队问题研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 多机器人协作可以明显提高机器人系统完成任务的效率,是移动机器人研究 领域的一个重要问题。多机器人编队的研究就是为了更好的完成多机器人之间的 协作。本文基于p i o n e e r 3 机器人平台对多机器人通信和编队算法进行分析和研究。 具体内容如下: 本文首先概述移动机器人的发展历程,并介绍了多机器人系统的主要研究内 容和发展趋势。在此基础上,针对p i o n e e r 3 移动机器人通信特点,提出机器人之 间通过无线网络,以打包形式发送数据的通信模式。 在对p i o n e e r 3 移动机器人通信及l e a d * f o l l o w e r 体系结构分析的基础上,对多 机器人编队控制进行研究。本文采用基于通信的编队控制方法和队形控制算法, f o l l o w e r 机器人通过无线网络接收l e a d e r 机器人发送的状态信息,并通过队形控制 算法推算自己的控制量,从而快速形成预设队形。同时对移动机器人队列的路径 规划进行讨论,使移动机器人队列在保持队形的前提下顺利到达目标位置。 在实验中,首先介绍了p i o n e e r 3 移动机器人平台,并在此平台上进行机器人 通信以及编队算法的实验。实验结果表明文中所使用的通信原理和编队算法的正 确性与可行性。 关键词:多移动机器人;通信;领导跟随;编队控制 分类号:t p 2 4 2 a bs t r a c t w i mt h ed e v e l o p m e n to ft h em u l t i r o b o tc o o r d i n a t i o n t h ew o r k i n ge f f i c i e n c yo f t h em u l t i r o b o ts y s t e mi si m p r o v e d a n dt h et a s k sc 锄b ef i n i s h e db e t t e r m u l t i r o b o t c o o r d i n a t i o ni so n eo ft h ei m p o r t a n ti s s u e sf o rt h er e s e a r c ho fm o b i l er o b o t t h e r e s e a r c ho ff o r m a t i o nc o n t r o lo fm u l t i - r o b o tw i l li m p r o v et h ee f f i c i e n c yo ft h e c o o r d i n a t i o no fm u l t i r o b o t t h em u l t i r o b o tc o m m u n i c a t i o na n df o r m a t i o na l g o r i t h m a r er e s e a r c h e di nt h i st h e s i s f i r s t l y , t h ed e v e l o p m e n to fm o b i l er o b o ti ss u m m a r i z e d ,a n dt h em a i nr e s e a r c h a s p e c t so fm u l t i r o b o ta r ea n a l y z e d i nt h i sp a p e r , an e wm o d eo fc o m m u n i c a t i o ni s p r o v i d e dt ol e a d e ra n df o l l o w e rr o b o t s i ti si m p l e m e n t e db ys e n d i n gd a t ap a c kb y w i r e l e s sn e t w o r k t h ef o r m a t i o nc o n t r o lb a s e do np i o n e e r 3m o b i l er o b o tc o m m u n i c a t i o na n d l e a d e r - f o l l o w e ra r c h i t e c t u r ei sa n a l y z e d a n dam o d e lo fl e a d e r - f o l l o w e rf o r m a t i o n c o n t r o li sp r o v i d e d t h ef o l l o w e rg o e st ot h ed e s t i n a t i o nb yr e c e i v i n gt h ei n f o r m a t i o n f r o mt h el e a d e ra n dd e d u c e st h ec o n t r o lp a r a m e t e r sa n dt h ef o r m a t i o ni sf o r m e d m o r e , t h ep a t hp l a n n i n go fm u l t i - r o b o ti sp r o v i d e d ,t h er o b o t so ff o r m a t i o ns y s t e mc a nr e a c h d e s t i n a t i o ns m o o t h l yw i t ht h ef i g h tf o r m a t i o n i nt h ee x p e r i m e n t a t i o n ,t h ec o n t r o lp l a t f o r mo fp i o n e e r 3m o b i l er o b o ti sd e s c r i b e d a n de x p e r i m e n t so fm u l t i r o b o tc o m m u n i c a t i o na n df o r m a t i o nc o n t r o la r em a d e t h e r e s u l ts h o w st h ep r i n c i p l eo fc o m m u n i c a t i o na n df o r m a t i o na l g o r i t h mi sc o r r e c ta n d a v a i la _ b l e k e y w o r d s :m u l t i - r o b o t ;c o m m u n i c a t i o n ;l e a d e r - f o l l o w e r ;f o r m a t i o nc o n t r o l ; c i 。a s s n o :t p 2 4 2 图目录 图1 - 1 集中式体系结构2 图1 - 2 分布式体系结构2 图1 - 3 多机器人系统不同层次的协调协作5 图2 - 1p i o n e e r 3 移动机器人7 图2 2p i o n e e r 3 外形尺寸8 图2 - 3p i o n e e r 3 机器人声纳分布图8 图2 - 4m o b i l e s i m 界面图一9 图2 - 5a r i ad e m o 运行结果1 0 图2 - 6a r i a 的体系结构l1 图3 - 1 机器人之间不直接通信的多机器人系统体系结构1 6 图3 - 2 机器人之间可直接通信的多机器人系统体系结构1 7 图3 3s o c k e t 通信流程图2 0 图3 - 4 移动机器人的通信过程2 6 图3 - 5 程序流程图2 7 图3 - 6 服务器端打开端口2 8 图3 - 7 客户端运行结果2 9 图3 - 8 服务器端运行结果2 9 图4 - 1 协调控制层一3 3 图4 - 2 领导一跟随控制层3 4 图4 - 3 实体控制层3 5 图4 - 4 移动机器人内部坐标系。3 6 图4 - 5 移动机器人坐标变换3 7 图4 - 6 移动机器人运动学模型3 8 图4 - 7l e a d e r - f o ll o w e r 子系统模型4 0 图4 8 以f o l l o w e r 移动机器人为坐标原点建立新的坐标系4 1 图4 - 9 创建两个机器人对象的地图4 3 图4 - 1 0 编队控制的仿真结果4 4 图5 - 1 基于行为的路径规划4 6 图5 - 2 移动机器人向目标位置运动4 7 图5 - 3 移动机器人避障行为示意图4 9 图5 - 4 移动机器人队列的路径规划算法流程图5 0 学位论文版权使用授权书 本学位论文作者完全了解北京交通大学有关保留、使用学位论文的规定。特 授权北京交通大学可以将学位论文的全部或部分内容编入有关数据库进行检索, 并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校向国 家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名: 堡、评 导师签名: 虽奇丞 j 签字同期:。眇够年6 月日 签字日期:即孑年莎月弓日 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的研 究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或 撰写过的研究成果,也不包含为获得北京交通大学或其他教育机构的学位或证书 而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作 了明确的说明并表示了谢意。 学位敝作者躲焦秤 q 6 月) 日 致谢 本论文的工作是在我的导师王奇志老师的悉心指导下完成的,王奇志老师严 谨的治学态度和科学的工作方法给了我极大的帮助和影响。在此衷心感谢两年来 王奇志老师对我的关心和指导。 王奇志老师悉心指导我们完成了实验室的科研工作,在学习上和生活上都给 予了我很大的关心和帮助,在此向王奇志老师表示衷心的谢意。 在实验室工作及撰写论文期间,郑慧侠、程新宇、曹萌萌等同学对我论文研 究工作给予热情帮助,在此向他们表达我的感激之情。 另外也感谢我的家人、朋友,他们的理解和支持使我能够在学校专心完成我 的学业。 1 1选题背景 1 引言 随着人类工业化进程的不断加剧,制造业的生产模式也发生了根本性的变化, 从最初的手- r n 作到机器化大生产,机器人是机器进化的必然产物。由于计算机 技术、超大规模集成电路、控制理论、人工智能理论、传感器技术等的不断成熟 和发展,由多学科交叉而形成的机器人学的研究也进入了一个崭新的阶段。 从第一台工业机器人的发明到今天,机器人学的发展已经有了近半个世纪的 历史,到目f j i 为止,机器人的发展经历了三个阶段的发展史: 1 可编程的、示教再现型的工业机器人;为了使机器人完成人们所期望的工 作,首先由操作者对操作机器人的运动轨迹、作业顺序等进行示教,操作机器人 控制系统将示教指令进行记忆和存储,使用时再根据再现指令顺序取出示教指令 经过编译进行复现示教动作,国际上商品化、实用化的机器人大都属于这代机器 人。 2 带有一定传感能力、适应能力的机器人;这些传感能力包括视觉、力觉、 触觉等功能,这种机器人可以根据传感信息通过计算机处理分析做出一定的推理, 对动作进行反馈控制来调整控制算法,具有一定的适应能力。 3 配备多种先进传感器,具有较强的适应能力的智能机器人;这代机器人是 具有高度适应性的自治机器人,装备有多种传感器,将多种传感器探测到的信息 进行融合从而进行复杂的逻辑思维和判断决策,而且能够有效地适应环境的变化, 具有较强的自适应能力,并且具有自学习功能。 机器人学的研究工作经历了一个从简单到复杂,从功能单- - n 功能多样,从 工业制造领域到军事侦察、核工业、航空航天、服务业、医疗器械、基因工程等 诸多领域的过程。可以预见,在不久的将来,机器人技术在各个领域的应用将会 更加广泛和深入。而各种机器人系统在实际工作中的广泛应用又为机器人学提出 了新的要求和新的研究课题。多机器人系统的研究就是在这些新的应用需求驱动 下提出的,并随着机器人学的不断发展而逐渐成为机器人学研究的一个重要分支。 多机器人系统的应用前景是非常巨大的,因此美、欧、日等发达国家从2 0 世 纪8 0 年代中期就对多机器人系统投入了相当大的研究热情,协作机器人学开始得 到发展,起初的项目有a c t r e s s 、d e b o t 、g o f e r 、s w a r m 等。早期的研究 主要以仿真为主,但近来的研究更强调实际的物理实现。如欧盟设立专门进行多 机器人系统研究的m a r t h a 课题一用于搬运的多自主机器人系统( m u l t i p l e a u t o n o m o u sr o b o t sf o r t r a n s p o r ta n dh a n d l i n g a p p l i c a t i o n ) 。美国海军研究部和能源 部也对多机器人系统的研究进行了资助。我国在该领域的研究工作很少,只有少 数的研究所和大学在进行相关的研究,且大部分的研究工作仍然停留在仿真和实 验室阶段。多机器人系统目前的所能完成的任务主要有搜寻任务、遍历任务、编 队或聚集任务、目标运送任务等。 1 2多机器人系统主要研究方向 多机器人系统的研究包括多方面的内容,主要有群体体系结构、感知、通信、 协调协作机制等。 1 2 1群体体系结构 多机器人系统依靠几个机器人的简单组合并不能充分发挥其优势,只有通过 某种形式的合作才能实现其对复杂任务的处理,群体体系结构就是研究如何将多 机器人系统的结构与控制有机地结合起来,来保证多机器人系统中信息流与控制 流的畅通,为机器人之间的活动、交互作用提供框架。合理的群体体系结构可以 使多机器人之间进行更加有效的合作。另外,协作机器人系统面向的是动态变化 的环境,因而系统结构要对环境有自组织适应能力。 一般地,根据系统中是否有组织智能体为标准,将体系结构分为集中式控制 和分布式控制,分别如图1 1 、图1 2 所示。 图1 1 集中式体系结构 f i g 1 1c e n t r a l i z e da r c h i t e c t u r e 图卜2 分布式体系结构 f i g 1 - 2d i s t r i b u t e da r c h i t e c t u r e 1 集中式体系结构 集中式体系结构通常有一个主控机器人掌握全部环境信息及各受控机器人的 2 信息,运用规划算法和优化算法,主控机器人对任务进行分解和分配,向各受控 机器人发布命令,并组织多个受控机器人共同完成任务。集中式结构的优点在于, 其协调效率比较高,减少了用于协商的开销,理论背景清晰,实现起来较为直观, 而且可以很容易获得最优规划,但是在灵活性、容错性、适应性方面都比较差。 此外,集中式结构还存在主控机器人和其他机器人之间的通信瓶颈问题。 2 分布式体系结构 在分布式体系结构中没有组织智能体,个体高度自治,每个机器人根据局部 信息规划自己的行为,并能借助于通信手段合作完成任务,其所有智能体相对于 控制是平等的,这种结构能够较好地模拟自然社会系统,具有反应速度快、灵活 性高、适应性强等特点,适用于动态、开放的任务环境。但这种结构增加了系统 的复杂性,由于没有一个中心规划器,所以难以得到全局最优的方案,还可能带 来通信的巨大开销。但是,分布式体系结构在某些方面( 如故障冗余、可靠性、 和可伸缩性等) 比集中式结构要好,因此,分布式结构仍然是主流。 1 2 2感知 机器人系统的感知包括感觉和理解两方面的问题。新一代的智能机器人配备 多种不同功能的传感器,使机器人能够“感觉”到外部环境的变化,获取不同性 质的环境信息。通过对获取的信息进行有效的融合、处理和解释,机器人便可以 “理解这些信息的意义,并且将这些信息与机器人的决策和控制相结合。在多 机器人系统的研究中,各机器人依靠自身的传感器对外界进行感知。各机器人的 感知能力对机器人问的协作具有以下作用【l 】: ( 1 ) 通过感知可以估计协作者的意图和动作效果,从而降低对通信的依赖。 ( 2 ) 感知是实现行为的基础,系统可以快速响应环境变化。 ( 3 ) 通过感知可以更新和维护系统模型。 在多机器人合作进行的复杂任务中,各机器人仅处理自身传感器获得的信息 远远不够,还需要将其他机器人的传感信息与自身传感信息进行融合以获取对外 部环境正确的和较全面的理解,从而实现多机器人系统中各机器人之间的协调协 作控制。 1 2 3通信 通信是机器人之间进行信息交互和组织的基础,通过通信多机器人系统中各 机器人能够了解其他机器人的意图、目标和动作以及当前环境状态等信息,进而 进行有效的协商,协作完成任务。因此,通信是多机器人系统动态运行时的关键, 按照交互方式可以将通信分为三类: 1 通过环境相互作用 这种类型被称为“没有通信的系统”,这种通信系统中每个机器人都作为环境 的一部分,机器人之间没有直接的联系,环境是它们的作用中介。 2 通过感知相互作用 机器人通过各种传感器获取信息并将其与机器人的决策和控制紧密地结合起 来;也因此出现了许多多传感器信息融合和信息处理的方法【2 1 。 这种通信类型,机器人的感知可通过红外、超声波、机器视觉等实现。通过 感知可以实现行为,从而使系统可以快速地响应环境变化。通过感知多机器人系 统可以更新和维护系统模型。由于每个机器人都可能具有自己的传感器系统,整 个系统的传感器信息融合和有效的利用是主要的研究问题。 3 通过明显的通讯相互作用【3 】 这种通信方式类似于网络通信,每个机器人之间可通过相互传递信息来联系。 采用的技术就是借鉴已有的网络技术,但是,多机器人系统的这种通信方式与计 算机网络通信还是有很大的不同的。因为,如果机器人过分依赖通信来获取信息, 当系统中机器人的数量增加的时候系统通信的负担将使系统的运行效率下降。因 此,既要研究适合多机器人系统通信的机制,又要利用智能体机器人具有对周围 环境的感知和推断能力,研究机器人系统能基于对合作伙伴的行为推断,辅之以 必要的通信的控制策略。 1 2 4协调协作机制 多机器人系统研究中的一个重要问题就是如何实现各个机器人之间的协调协 作。多机器人系统的协调协作机制主要是解决由单个机器人不能完成的任务,而 需要多个机器人共同完成的协调运动的问题。协作是研究高层的组织与协作机制 问题,主要研究多机器人之间的协作机制,多机器人系统的组织形式等,而协调 则着重研究机器人之间协作关系确定下来以后具体的运动控制问题。也就是说, 多机器人系统的协作和协调是两个不同的过程,协作过程是一个任务级协调的过 程,而协调过程则是一个动作级的协调过程。对协调协作机制的研究能够使多机 器人系统能够更好的进行合作,从而更加顺利的完成任务。 对于多机器人系统的协调协作,现在还没有一个统一的定义。总体上,协调 与协作反映了在多机器人系统不同层次上对系统控制与交互提出的不同要求。 w a r a u s c h 等在研究中,提出多机器人系统不同层次的协调协作【4 】( 如图1 3 所 4 示) :隐含协作关系,机器人按其自有的规划模型考虑其他机器人规划的影响;异 步协作关系,多个机器人在同一环境下存在相互干涉的条件下为完成各自目标而 产生协作;同步协作关系,多个机器人为完成一个共同目标而产生协作。 彳一一了= 同步协作关系的机器人 i s 俺n c h r o n o u s l yc o o e r a t i v er o b 划 异步协作关系的机器人 。( a s y n c h r o n o u _ s l yc o o l 塑r a t i v e r o b o t ) j 隐含协作关系的机器人 l ( i m p l i c i t l yc o o p e r a t i v er o b o t )- 一 一 一 一 无协作关系的自治机器人 i 一一尘o nc o o p e r a t i v ea u t o n o _ m _ o _ u sr o b o _ 盟j 图卜3 多机器人系统不同层次的协调协作 f i g 1 3t h ec o o r d i n a t i o no fm u l t i p l em o b i l er o b o ti nd i f f e r e n tl e v e l 1 3 多机器人系统发展趋势 在机器人研究的早期,单个机器人的结构、运动学、控制和信息处理是研究 的重点。但是随着机器人技术的发展,单个机器人的能力、鲁棒性、可靠性、效 率等都有了很大的提升,但是当碰到一些复杂的、需要高效率完成的、并行的任 务时,单个机器人很难完成。为了解决这些问题,机器人学的研究一方面进一步 开发智能更高、能力更强、柔性更好的机器人。另一方面也在现有的机器人的基 础上,通过多个机器人之间的协调工作来完成复杂的任务。由于协作机器人学是 一个高度交叉的学科,其它相关学科的发展对它的影响很大,研究协作多机器人 系统需要借鉴这些学科或解决某些问题的理论和方法,这是研究多机器人系统的 发展方向和趋势。 1 4本文主要内容 本文是在学习p i o n e e r 3 移动机器人的基础上,以p i o n e e r 3 移动机器人为研究 对象,按照软件开发的流程以及p i o n e e r 3 机器人用户手册,借助机器人系统提供 的软件包对多移动机器人的通信、编队问题进行理论研究和实验验证。本文系统 的介绍了多移动机器人通信的基础知识,并在此基础上探讨基于通信的多移动机 器人编队以及多移动机器人保持队形的路径规划问题。本文各章的内容如下: 第一章引言。简要地回顾了多机器人的发展过程,讨论了多机器人系统的主 要研究内容和研究方向。主要分析当前国内外的研究状况以及论文的背景和意义。 第二章移动机器人平台。介绍p i o n e e r 3 移动机器人平台的软硬件系统及其基 本结构,并且详细的介绍了p i o n e e r 3 移动机器人软件运行方法和开发包中提供的 机器人函数库a r i a 和一些常用函数。 第三章多移动机器人通信。首先介绍了多移动机器人系统的体系结构,然后 对多移动机器人通信原理、通信协议进行了简单的描述,并在此基础上使用a r i a 软件包编程实现多移动机器人的通信。 第四章基于通信的多移动机器人编队。首先介绍了多移动机器人编队的方法 以及移动机器人的建模,对各种编队方法进行比较,从而提出了基于通信的多移 动机器人编队。实验结果表明基于通信的多移动机器人编队算法的可行性。 第五章多移动机器人保持队形的路径规划。介绍了多移动机器人系统在保持 队形的基础上的路径规划方法。 第六章结论。对本文取得的成果和不足进行总结。 6 匕塞交道厶堂亟堂位途塞整动扭銎厶壬鱼 2 移动机器人平台 美围a c t i v m e d i a r o b o t i c s 公司生产的p i o n e e r 机器人是一个既有两轮也有四轮 的机器人系列,包括p i o n e e r l 、p i o n e e r a t 、p i o n e e r 2 一d x 、p i o n e e r 2 一d x e 、 p i o n e e r 2 。d x f 、p i o n e e r 2 一c e 、p i o n e e r 2 一a t 以及p i o n e e r 2 一d x 8 d x 8 、p i o n e e r 2 一a t 8 a t 8 , 还有最新的p i o n e e r 3 d x 和p i o n e e r 3 一a t 移动机器人,本文使用的就是p i o n e e r 机器 人系列中的p i o n e e r 3 移动机器人。 p i o n e e r 3 移动机器人本体是一个双层系统结构,本章将简要介绍p i o n e e r 3 移动 机器人甲台的软硬件系统及其基本结构。 2 1p i o n e e r 3 硬件系统 p i o n e e r 3 型机器人足一种灵活、通用的智能移动机器人,如图2 1 所示,p i o n e e r 3 - d x 与p c 机就构成了一个完全独立的智能移动机器人,与其他的商业机器人相 比p i o n e e r 系列机器人在导航等力面都具有很高的性价比。 幽2 一lp i o n e e r 3 移动机器人 f i g 2 1p i o n e e r 3m o b i l e r o b o t 通过强大的a r c o s 服务器以及p i o n e e r 3 可扩展的客户端软件a r i a ,p i o n e e r 3 能 够究成创建地图环境、寻找到达日标的路径以及其他路径搜索等任务。p i o n e e r 3 一d x ,机器人最人的平均速度为1 4 0 0 m m s e c 最人的旋转速度为3 0 0 d e g s e c , p i o n e e r 3 一d x 的长度为4 4 c m ,宽度为3 8 c m ,高度为2 1 5 c m ,两轮i 、【 j 的距离为 w = 3 3 0 m m 。 p i o n e e r 3 机器人的外形尺寸如图2 2 所示。 手- t 册 i : j 厂。 c = 3 3 lc m 一 、 c = 3 y 一 图2 - 2p i o n e e r 3 外形尺寸 f i g 2 2p i o n e e r 3 sp h y s i c a ld i m e n s i o n s p i o n e e r 3 机器人在机器人甲板的尾部有一个“s t o p 按钮,可以用来强行停 止机器人,因此可以方便用户的使用以防在运动中出现不可控制的状况。p i o n e e r 3 机器人中还配有声纳、红外传感器用来实现运动过程中的避障等功能;根据 p i o n e e r 3 机器人的操作手册可知p i o n e e r 3 机器人的声纳分布是不均匀的,其分布图 如图2 3 所示。另外,声纳在移动机器人本体的分布半径比其外形尺寸略小,为 2 5 c m 。 声 1 0 0l o o 0 o o 磐o o c 嗍船西掘l a 妇访i i c 图2 - 3p i o n e e r 3 机器人声纳分布图 f i g 2 - 3p i o n e e r 3 ss o n a ra r r a y 2 2 p i o n e e r 3 软件系统 为了方便对机器人的各种控制操作,实验中使用远程桌面控制软件v n c 对机 器人进行远程操作。卜面对p i o n e e r 移动机器人运行过程中使用到的函数库以及软 件系统进行简要的介绍。 2 2 1 机器人控制器软件系统 a r o s ( a c t i v m e d i ar o b o t i c so p e r a t i n gs y s t e m ) 是在机器人h 8 s 控制器中运 行的软件系统,机器人运行于c s 模式下。在这种模式下,机器人的大多数低端 操作任务都是由a r o s 实现的,如电机控制、声纳数据、码盘数据的读取等,以 满足a r i a 等客户端软件的查询要求。 2 2 2 p i o n e e r 3 仿真软件 m o b i l e s i m p i o n e e r 3 移动机器人的仿真软件,包含机器人以及周围环境模型, 可以加载地图,获取传感器数据信息,编写的程序首先在这个软4 t : 二调试成功后, 便可以在机器人p c 上运行了,在m o b i l e s i m 卜与在机器人的p c 上运行的效果是一 样的,仿真软件m o b i l e s i m 界面如图2 4 所示。 图2 - 4m o bi 1e s i m 界面图 f i g 2 4t h ei n t e r f a c eo fm o b i l e s i m 9 j e 基交道叁堂亟:匕堂位论塞夔动扭墨厶垩台 2 2 3a r i a 控制台程序 这是一个控制台程序,主要用于机器人的各种移动操作,传感器读数等等控 制操作,有很多种模式口j 以选择。仿真环境下可以先启动m o b i l e s i m ,然后启动 a r i ad e m o ,该稗序的运行结果如图2 5 所示。 圈露露蓊戮戮熬i 笺蒸i 。:譬 2 2 4机器人函数库 图2 - 5a r i ad e m o 运行结果 f i g 2 5t h er e s u l t so f a r i ad e m o a r i a 是为a c t i v m e d i a 开发的、面向对象的、用于机器人控制的应用程序接 f _ | 系统。该系统基于c + + 语言,是一个可以简单、方便的用于p i o n e e r 系列机器人 的运动控制以及传感器操作的客户端软件。该软件具有强大的功能和适应性,是 编写机器人高端软件的理想选择,包括s a p h i r a 在内的先锋机器人基本软件系统 都是以a r i a 为基础的,a r i a 的体系结构如图2 - 6 所示。 1 ( ) ,一一一,、广、7。、 a r r o b o tp a c k e t 、a r r o b o tp a c k e t 、 r e c i e v e r s e n d e r 一 、- 、7 7 a r r o b o t 、 d e v i c ec o n n e c t 、一一7 7 一- l 、 r o b o t ( s i mo r 、 、 r e a l ) 、 一一 图2 - 6a r i a 的体系结构 f i g 2 6a r i a sa r c h i t e c t u r e 程序开发中常使用的相关类: 1 最基础的,也是最重要的是a r r o b o t 类 e n a b l e m o t o r s o 启动马达 d i s a b l e m o t o r s o 禁用马达 d i s c o n n e c t ( ) 断开连接 l o c k ( ) ,u n l o c k ( ) 锁定、解除锁定机器人实例,用来保护发给机器人的命令 f i n d a n g l e t o ( c o n s ta r p o s ep o s e ) ;机器人当前位置到指定位置的绝对角度 f i n d d e l t a h e a d i n g t o ( c o n s ta r p o s ep o s e ) ;相对角度 f i n d d i s t a n c e t o ( c o n s ta r p o s ep o s e ) ;距离 m o v e ( 1 5 0 0 ) ;前进1 5 米 s e t d e l t a h e a d i n g ( 9 0 ) ;左转9 0 度,右转为负 s e t h e a d i n g ( 9 0 ) ;转动绝对角度,初始朝向为o 度 s e t r o t v e l ( d o u b l ev e l o c i t y ) ;转动速度 s e t v e l ( 5 0 ) ;g e t v e l ( ) 设置获取机器人速度 s e t v e l 2 ( 5 0 ,1 0 0 ) ;分别设置左右轮速度 g e t l e f t v e l 0 ,g e t r i g h t v e l ( ) 获取两轮的速度 g e t s o n a r r e a d i n g ( i ) ;获得声纳的读数,i 为声纳的序号,逆时针 g e t p o s e 0 ;获得机器人当前的位置 g e t t h o ;g e t x o ;g e t y 0 ; 详细的信息,x ,y ,t h c h e c k r a n g e d e v i c e s c u r r e n t p o l a r ( 1 0 ,2 0 ) ;检查所有传感器读数,获得1 0 - 2 0 度 的读数,返回一个最近距离 m o v e t o ( a r p o s ep o s e ,) ;将机器人位置移动到p o s e 这个位置,并不是真正移 动,而是一个坐标变化 r u n ( t r u e ) ; 启动机器人线程,以单线程方式 r u n a s y n c ( t r u e ) ;启动机器人线程,以多线程方式,参数为t r u e ,则如果机器 人连接失去,则线程终止,为f a l s e 则等待发送停止命令s t o p ( v o i d ) 后终止 线程。 2 判断机器人状态的一些函数 i s c o n n e c t e d ( v o i d ) 是否连接 i s m o v e d o n e 0 是否完成移动 i s h e a d i n g d o n e ( ) 是否完成转动 i s r u n n i n 9 0 是否在运行中 3 和机器人位置相关的类- a r p o s e s e t p o s e ( d o u b l ex ,d o u b l ey ,d o u b l et h = o ) s e t p o s e ( a r p o s ep o s i t i o n ) 设置机器人的位置 s e t x ( 1 0 0 ) ;s e t y ( 1 0 0 ) ;s e t t h ( 4 5 ) ;s e t t h r a d ( 1 3 3 ) ; 设置具体的操作,最后一个为设置弧度 g e t p o s e 0 获取机器人的位置 g e t x ( ) ;g e t y ( ) ;g e t t h 0 ;g e t t h r a d 0 ; 获取具体的信息,最后个返回值为弧度 f i n d a n g l e t o ( a r p o s ep o s i t i o n l i 至j j 指定位置的角度 f i n d d i s t a n c e t o ( a r p o s ep o s i t i o n ) 距离 4 获取传感器数据的类一a r s e n s o r r e a d i n g g e t r a n g e ( v o i d ) 获取障碍物到机器人的距离 i s n e w ( ) 当前的读数有没有更新 g e t p o s e ( v o i d ) 获得传感器读数的位置信息( 比如声纳返回的位置) g e t l o c a l p o s e ( v o i d ) 局部坐标系中的位置 g e t p o s e t a k e n ( v o i d ) 获取读数发生时机器人的位置 g e t s e n s o r p o s i t i o n ( v o i d ) 获取传感器在机器人上的位置信息 g e t c o u n t e r t a k e n ( v o i d ) 前是第几次读数 5 控制所有传感器的类一a r r a n g e d e v i c e 声纳类a r s o n a r d e v i c e ,激光雷达类a r s i c k 都是从这个类派生出来的; g e t n a m e ( v o i d ) 获取传感器名字 s e t r o b o t ( a r r o b o t * r o b o t ) ;设置传感器连接的机器人g e t r o b o t ( v o i d ) s e t c u r r e n t b u f f e r s i z e ( s i z e _ ts i z e ) ; s e t c u m u l a t i v e b u f f e r s i z e ( s i z ets i z e ) ;设置缓冲区 a d d r e a d i n g ( d o u b l ex d o u b l ey ) ;增加一个读数 c u r r e n t r e a d i n g p o l a r ( d o u b l es t a r t a n g l e ,d o u b l ee n d a n g l e ) ;获取当前角度内读 数的最小值 c u r r e n t r e a d i n g b o x ( d o u b l ex l ,d o u b l ey l ,d o u b l ex 2 ,d o u b l ey 2 ) 获取当前给定 区域的读数的最小值 g e t c u r r e n t r a n g e b u f f e r ( v o i d ) 获取当前读数的缓冲区 c l e a r c u r r e n t r e a d i n g s ( v o i d ) 清空所有当前读数 g e t r a w r e a d i n g s ( v o i d ) 获得未经过处理的传感器得到的数据 s e t m a x r a n g e ( u n s i g n e di n tm a x r a n g e ) g e t m a x r a n g e ( v o i d ) 设置,获取传感器的最大测量范围 l o c k d e v i c e 0 ,u n l o c k d e v i c e 0 锁定设备,解除锁定 s e t m a x s e c o n d s t o k e e p c u r r e n t ( i n tm a x s e c o n d s t o k e e p c u r r e n t ) g e t m a x s e c o n d s t o k e e p c u r r e n t 0 获取设定读数的保存时间 6 一些用于连接的类 用于同机器人连接的类一a r s i m p l e c o n n e c t o r s e t u p r o b o t ( a r r o b o t 宰r o b o t ) ; c o n n e c t r o b o t ( a r r o b o t * r o b o t ) ;同机器人连接 s e t u p l a s e r ( a r s i c k 木s i c k ) ; s i c k r u n a s y n c 0 ; s i c k b l o c k i n g c o n n e c t ( ) 必须运行后面两个才能连接 c o n n e c t s e c o n d l a s e r ( a r s i c k * s i c k ) ;同激光器连接 a r d e v i c e c o n n e c t i o n - - - 个基础的连接类,可以同机器人和模拟器连接,也可 以用来连接激光雷达和其他的设备;类a r d e v i c e c o n n e c t i o n 派生出两个类: 类a r s e r i a l c o n n e c t i o n 通过串口连接设备,类a r t c p c o n n e c t i o n 通过t c p i p 连接 o p e n ( ) ;打开连接 c l o s e ( ) ;关闭连接 s e t p o r t 0 ;设置端1 2 1 g e t p o r t o ;获取端口 r e a d ( c o n s tc h a r d a t a ,u n s i g n e di n ts i z e ,u n s i g n e di n tm s w a i t = o ) ;读写数据 w r i t e ( c o n s tc h a r 拳d a t a ,u n s i g n e di n ts i z e ) ; o p e n s i m p l e ( v o i d ) ;连接并判断 行为类基类- a r a c t i o n 这是一个比较高级的类,封装了机器人的比如避碰、移动等的一些行为,可 以从这个类来派生出一些类用来实现我们所需要实现的操作。 c l a s sa r a c t i o n a v o i d f r o n t 日;f 方避障的行为类 c l a s sa r a c t i o n a v o i d s i d e 侧面避障的行为类 c l a s sa r a c t i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年除湿机蒸发器行业分析报告及未来发展趋势报告
- 2026年快递瓦楞纸行业分析报告及未来发展趋势报告
- 2026年不锈钢防滑板行业分析报告及未来发展趋势报告
- 2026年工业消声器行业分析报告及未来发展趋势报告
- 2026年分配器分频器行业分析报告及未来发展趋势报告
- 2026年DCS行业分析报告及未来发展趋势报告
- 2026年短信息软件行业分析报告及未来发展趋势报告
- 2026年助焊剂行业分析报告及未来发展趋势报告
- 2026年阿德福韦脂行业分析报告及未来发展趋势报告
- 2026年高压支柱绝缘子行业分析报告及未来发展趋势报告
- 机械设备保修期服务方案及保证措施
- 《贵州省涉路工程安全技术指南(试行)》
- 2025年湖南省中考物理试卷(含解析)
- 食品安全日管控、周排查及月调度记录表
- 《资治通鉴》与为将之道知到课后答案智慧树章节测试答案2025年春武警指挥学院
- 数字生活产数人才练习试题及答案
- 数据新闻教程 课件 第6章 数据新闻的叙事
- 2024年10月自考13180操作系统试题及答案
- 污水处理厂提标改造工程施工组织设计
- 2021年11月信息系统监理师考试信息系统工程监理应用技术下午真题
- 2024上海铁路局招聘137人历年高频难、易错点500题模拟试题附带答案详解
评论
0/150
提交评论