




已阅读5页,还剩50页未读, 继续免费阅读
(检测技术与自动化装置专业论文)室内动态环境中的多移动机器人协作定位.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大连理工大学硕士学位论文 摘要 多移动机器人协作定位是移动机器人研究领域的前沿课题,也是保证多移动机器人 协作导航与环境探索的基础。与单移动机器人定位相比,多移动机器人协作定位将机器 人群体间大量的传感器信息加以融合并有效利用,提高了对周围环境感知的准确性和全 面性,从而全面提高机器人群体的定位精度。本文主要研究了室内动态环境中多移动机 器人利用环境信息交互来完成协作定位的问题。 为了验证多机器人协作定位算法,本文设计开发了基于无线网络通信的多机器人协 作定位实验系统。该系统采用客户端服务器通信架构,不仅能够对移动机器人进行实 时的运动控制,而且还可以为移动机器人设计规划各种复杂的运动路径。此外,它还能 够实时的获取到机器人的运动参数以及传感器数据信息,从而保证了本文所提多机器人 协作定位实验方案的实现以及协作定位算法的实验验证。 现有的多机器人协作定位应用方案多是利用固定在移动机器人本体的位姿标识,但 这样增加了机器人的载荷,且很难适应环境中的动态干扰。为避免机器人相互直接观测 需要配备特定标识的局限,并充分利用处于同一场景中多机器人观测信息的可交互性, 本文提出基于m b i c p ( m e t r i c b a s e di t e r a t i v ec l o s e s tp o 缸) 算法的多机器人观测信息交互 方法。为避免机器人处于稳定运行中的过度频繁定位和在非稳定运行中经常出现的无效 定位,考虑移动机器人自身运行状态对协作定位的影响,本文提出基于自主运动状态估 计的协作定位周期自适应选择算法,从而提高了多机器人协作定位的效率。基于环境观 测信息交互,通过应用于p i o n e e r3 d x 多机器人协作定位实验系统所获得的系列协作定 位系列实验结果及数据分析,验证了本文所提方法的有效性、鲁棒性和实用性。 关键词:多机器人协作定位;m b i c p ;运动状态估计;扩展卡尔曼滤波( e k f ) ;鲁 棒扩展h 一滤波( r e h f ) 室内动态环境中的多移动机器人协作定位 m u l t i r o b o tc o o p e r a t i v el o c a l i z a t i o ni ni n d o o rd y n a m i ce n v i r o 姗e n t a b s t r a c t c o o p e r a t i v el o c 甜i z a t i o ni sak e yi s s u ei nm o b i l er o b o t i c s 觚dt l l eb a s i so fm u l t i r o b o t n a v i g a t i o na n de x p l o r a t i o n c o m p a r e d 诵t hl o c a l i z a t i o nu s i n gas i n g l er o b o t m u l t i - r o b o t c o o p e r a t i v el o c a l i z a t i o nm a :k e s 如l lu s eo ft h es e n s o ri n f 0 珊a t i o n 凡s i o nb e t 、m e e nr o b o tg r o u p s , i i n p r o v e st 1 1 ep r e c i s i o na n dc o m p r e h e n s i v e n e s so fs u r r o u n d i n ge n v i r 0 咖e n tp e r c e p t i o l l , t h e r e b yi m p r o v i n g 廿l eo v e r a l lp o s i t i o n i l l ga c c u r a c yo fr o b o tg r o u p s t 1 1 i sp a p e rm a i n l ys t u d i e s t l l ep r o b l e ma b o u tm u l t i - r o b o tc o o p e r a t i v el o c a l i z a t i o nb a s e do ne n v i r o l l n l e n ti o 肌a t i o n i n t e r a c t i o ni 1 1i n d o o rd y n a i m cc o m p l e xe n v i r o 椭e n t i no r d e rt oc 奶7o u tm u l t i r o b o t + c o o p e r a t i v el o c a l i z a t i o ne x p e r i m e m s ,am u l t i r o b o t e x p e r i m e n ts y s t e mb a s e do nw i r e 】e s sn e m o r kc o m m u n i c a t i o nw a sd e s i g n e da 1 1 dr e a l i z e d t h i ss y s t e mc a l ln o to m yd or e a l - t i m er o b o tm o t i o nc o n 仃o l ,b u ta l s oc a no b t a i nt l l er o b o t s r e a l t i m em o t i o np a r a m e t e r s ,孙w e l l弱 r e a l t i m es e n s o rd a t a , t l l e r e b ye n s u r i n gt 1 1 e e x p e r i m e n t a jv e r i f i c a t i o no fc o o p e r a t i v el o c a l i z a t i o na l g o r i t t l m s i no r d e rt oa v o i de q u i p p i n gah e a v yl o c a l i z a t i o nm a r k e ro nt 1 1 er o b o tw h i c hi sn e e d e df o r d i r e c to b s e r v a t i o nb e t 、) ,e e nr o b o t s a n dt oma :k ef i u l lu s eo ft h ei n t e r a c t i v ei n f o r i n a t i o nb e t w e e n r o b o t si nm es a m es c e n e ,am e t l l o df o ro b t a j n i n gm u l t i r o b o to b s e n ,a t i o n sb 2 l s e do nm b i c p 融g o r i t h mi sp r o p o s e d ,、砒c hm a k e sm u l t i - r o b o tc o o p e r a t i v e1 0 c a l i z a t i o nu s i n ge k fa n dr e h f f e a s i b l ea l l dr e l i a b l ei nc l u t t e r e de n v i r 0 啪e n t c o n s i d e r i n gt h ee a e c to fr o b o tm o t i o ns t a t eo n t 1 1 ec o o p e r a t i v el o c a l i z a t i o n ,i no r d e rt oa v o i do v e r 丹e q u e n tl o c a l i 捌i o nw h e nr o b o ti sm o v i n g s t a b l ya n dt 0a v o i di r a l i dl o c a l i z a t i o n 、h e nr o b o i ti sm o v i n gu n s t a b l y ,w ep r e s e n ta 1 1 a l g o m mf o ra d a p t i v es e l e c t i n gp 捌o d so ft h ec o o p e 阳矗v e1 0 c a l i z a t i o nb a s e do na u t o n o m o u s m o t i o ns t a t ee s t i m a t i o n as e r i e so fe x p e r i m e n tr e s u l t sb a s e do np i o n e e r3 d xm u l t i r o b o t e x p e m e n ts y s t e ma n dd a t aa n a l y s i ss h o wt h em e t h o d sv a l i d i t ) r ,r o b u s t n e s sa n dp r a c t i 9 a b i l i 够 k e yw o r d s :m u i t 一r o b o tc o o p e r a t i v el o c a i i z a t l o n :m o t o ns t a t ee s t i m a t i o n : m e tr c b a s e di t e r a t i v ec i o s e s tp o j n t :e x t e n d e dk a i m a nf i l t e r f e k f 】:r o j o 划s t e x t e n d e dh 一f i t e r ( r e hf ) 一i i 大连理工大学学位论文独创性声明 作者郑重声明:所呈交的学位论文,是本人在导师的指导下进行研究 工作所取得的成果。尽我所知,除文中已经注明引用内容和致谢的地方外, 本论文不包含其他个人或集体已经发表的研究成果,也不包含其他已申请 学位或其他用途使用过的成果。与我一同工作的同志对本研究所做的贡献 均已在论文中做了明确的说明并表示了谢意。 若有不实之处,本人愿意承担相关法律责任。 学位论文题目:室内邈奎巫埴主鲍垒整边扭墨厶迹簋宸焦 作者签名:阜岫k 卜日期:卫 年也月且日 大连理工大学硕士学位论文 大连理工大学学位论文版权使用授权书 本人完全了解学校有关学位论文知识产权的规定,在校攻读学位期间 论文工作的知识产权属于大连理工大学,允许论文被查阅和借阅。学校有 权保留论文并向国家有关部门或机构送交论文的复印件和电子版,可以将 本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印、或扫描等复制手段保存和汇编本学位论文。 学位论文题目: 作者签名: 导师签名: 大连理工大学硕士学位论文 1 绪论 1 1多移动机器人协作定位技术概述 多个移动机器人模拟自然界和人类社会群体系统,通过协调与合作共同组成多移动 机器人系统【l 】1 2 】1 3 】,该系统类似于分布式多处理器、多执行器系统,具有并行计算和处 理任务的功能,因此相比单移动机器人它有着处理复杂并行任务能力的系统优势【4 】【5 】【6 】。 移动机器人协调和合作研究将多个移动机器人组成一个相互关联、协作交互的群体,以 系统的角度对移动机器人间的协作机制进行研究,并充分利用和提取多机器人个体间及 周围环境的冗余信息,进而发挥多移动机器人系统的协作优势。 移动机器人在完成任务的过程中,具有较高的定位精度可以显著提高机器人的自主 能力,因此移动机器人的定位问题是移动机器人领域重点研究内容。目前移动机器人采 用的大部分方法是通过融合内部和外部传感器数据以及其它技术来实现定位【l3 1 。其中内 部传感器主要为里程计负责监控车轮的运动过程,外部传感器则负责采集周围的外部环 境信息。不同的定位方法通过采用不同的滤波器来融合内外部传感器信息,从而降低定 位不确定性度儿1 0 j 。由于缺乏未知环境的先验知识,单个移动机器人在运动过程中通过 自身携带的内部传感器( 里程计【7 j ) 来估计自身的运动位姿、运动速度以及运行状态。 单纯依靠里程计的预估计,使得机器人的定位误差随着机器人运行路径和运行时间的增 加而逐渐累积增长发散,即传感器误差累积问题。通过融合移动机器人外部传感器对周 围的环境感知信息,比如路标1 1 6 j 等可以在一定程度上减少里程计误差累积的影响,但是 这只是单个机器人对环境的局部感知。在多机器人队列的运行过程中,移动机器人间可 以共享周围的环境感知信息,并且移动机器人间的存在着大量的交互信息。多个移动机 器人协同和合作能够从复杂交互环境信息中提取有用信息并把它们用于提高机器人群 体的定位精度,即多移动机器人协作定位j 。 通常解决多移动机器人队列的定位问题的方法是通过将其分解为各个成员机器人 的独立位姿估计问题,单个成员移动机器人融合自身内部和外部的传感器信息来估计自 身的位姿。该定位方法将复杂的队列定位问题分解为简单的机器人自定位问题,从而避 免了需要处理成员机器人间大量复杂传感器信息融合的问题,缺点是队列成员间的传感 器信息无法进行联合,只能依赖自身的传感器信息资源独立定位。显然这种方法不是最 优的,多移动机器人队列的协作定位思路即是要将成员机器人间大量复杂传感器信息融 合的问题加以有效利用,提高对周围环境感知的准确性和全面性,从而全面提高队列的 群体定位精度。 室内动态环境中的多移动机器人协作定位 多移动机器人系统由多个移动机器人通过协调与合作共同组成,具有统一的系统组 织规则。考虑到各个移动机器人的功能和结构差异,将多移动机器人系统分为同构多移 动机器人系统和异构多移动机器人系统两类p l 。其中,成员移动机器人功能和结构完全 相同的称为同构多移动机器人系统;成员移动机器人在功能和结构方面存在差异的称为 异构多移动机器人系统。与单移动机器人相比,同构移动机器人系统具有空间分布的特 点,多个移动机器人可以在工作空间的不同区域同时执行任务;而异构移动机器人系统 同时具有单移动机器人所不具有的空间和功能分布特点,多个移动机器人可以在工作空 间的不同区域根据各自的能力协作同时执行不同的任务一j 。 在同构多移动机器人系统中,当配备有同样传感器的多个移动机器人共同感知周围 环境中的某一特征时,会同时采集到不同队列成员的感知信息,通过采用数值方法进行 融合可以提高感知的精度,降低不确定性。文献【2 0 基于贝叶斯规则及卡尔曼滤波理论, 应用两维高斯分布表示,融合多个机器人的目标位置估计信息,提高了对目标位姿估计 的准确性。在异构机器人系统中,多移动机器人队列成员间的传感器信息融合产生的优 势更加显著。机器人队列中成员具有不同的操作平台和传感器设备,使得各个成员机器 人的定位能力产生较大差别。比如,某个成员机器人配备了激光传感器和昂贵的内部导 航系统全球定位系统,那么其定位精度必然要高于只配备有里程计和声纳传感器的成员 机器人。此时,系统通过将定位精度高的成员机器人和定位精度低的成员机器人的传感 器信息进行共享,利用定位精度高的成员机器人传感器信息来改善采用廉价传感器设备 的成员机器人定位精度,从而提高队列的整体定位精度。由此可见,多移动机器人协作 定位技术有着产生巨大的应用前景和经济价值。 1 2 多移动机器人协作定位研究现状 多移动机器人协作定位是移动机器人应用中的一个重要研究方向,也是保证多移动 机器人协作导航与环境探索的基础。多移动机器人协作定位是指一队移动机器人在共同 的工作环境内相互协作,同时寻求确定各自在所工作环境中的位姿。由于移动机器人在 定位过程中可进行相互感知从而获得相互间的相对位置信息,这将显著地提高移动机器 人的定位精度,但同时也造成个体移动机器人进行位姿估计的相关性。 近年来,众多学者对多移动机器人协作定位展开研究,并相继提出了一系列多移动 机器人协作定位方法。h o w a r d 等考虑移动机器人自身作为路标,通过融合最大似然估 计和数值优化方法,利用移动机器人群体的相对观测信息来改善定位精度【2 。r e k l e i t i s 等把移动机器人群分为几个不同的组,每次只有一组移动机器人运动,而其它移动机器 大连理工大学硕士学位论文 人则作为路标来进行多移动机器人协作定位【2 2 】。扩展卡尔曼滤波( e l 汀) 方法是当前多 移动机器人协作定位领域的主流技术,但该方法要求移动机器人的过程噪声和观测噪声 必须满足高斯分布。k o n d a ) 【a l ( i s 分析了集中式扩展卡尔曼滤波( c e l 江) 多移动机器人 定位方法,并给出了具体的定位方程和矩阵表达形式【2 7 j 。通过将集中式滤波器方程写成 分布式形式,单个大维度卡尔曼滤波器可以被分解为多个小维度可通信的滤波器。 r o 啪e l i o t i s 提出了用分布式卡尔曼滤波来定位移动机器人的方法,并详细讨论了同类移 动机器人协作定位的位姿不确定性,用黎卡提方程描述了位姿估计的不确定性更新过程 f 2 3 】【2 4 】【2 5 】。为了适应移动机器人在不同条件下的观测信息获取方式,m a n i n e l l i 给出了一 个用于协作定位算法的通用观测信息数学模型,并以观测信息的函数形式结合扩展卡尔 曼滤波算法给出了协作定位方程的推导过程1 2 6 1 。此外,还有一些其它的协作定位方法。 f o x 和他的合作者们把单移动机器人马尔可夫定位方法1 1 7 j 力口以扩展,提出了一种用于多 移动机器人协作定位的概率统计算法,即粒子滤波。在协作定位过程中,移动机器人使 用概率分布描述自身位姿信息,并通过其它移动机器人的观测信息来更新位姿信息概率 分布【l8 j l l 9 1 。王玲等综合了粒子滤波和扩展卡尔曼滤波方法各自的优点,提出了基于 p f e k f 的多移动机器人协作定位方法【2 引。e s h ad n e r u r l 等提出了一种基于最大后验 估计的分布式协作定位算法,并通过仿真实验验证该方法要优于e l 妤多移动机器人定 位算法【2 9 】。 现有的多机器人协作定位理论,主要针对理想的机器人运行环境,没有考虑机器人 运行时状态对协作定位带来的影响。对协作定位理论的验证多数局限于仿真阶段。文献 【3 0 】【3 1 给出了协作定位的部分实际实验。前者对于机器人观测信息的获取,在机器人 本体上安装了特定的位姿标识。这不但增加了机器人的负载,而且无法获取两个机器人 之间的方向角关系。后者在实验室的棚顶安装了视觉系统,而且实验环境是特别定制的 结构化场景,无法满足在复杂室内环境中实际应用的需求。文献 2 8 】亦给出了部分实际 实验,但是该文所采用的实验平台为足球机器人,实验场景和设备较为单一。且采用基 于全景视觉的图像处理方法来获取机器人间的观测信息,仅能获得机器人间的相对偏 角,对协作定位方法的实际验证不够完整。 1 3 本文的主要工作及创新点 1 3 1 本文的主要工作 本文研究工作着重解决多机器人协作定位应用中的如下几方面问题。第一个问题 是,机器人在可进行直接观测的情况下,如何设计几何构形合理的位姿标识,来保证观 测信息的快速获取;第二个问题是,如果机器人自身无法安装特定的位姿标识,或者由 室内动态环境中的多移动机器人协作定位 于环境中有人或其它动态障碍物的遮挡,使得机器人之间无法进行直接观测的情况下, 是否能够保证协作定位所必需的机器人相互位姿观测信息的有效获取;第三个问题是, 实际工作中的机器人能否保证变速运动中有效的协作定位( o n t h e n yc o o p e r a t i v e l o c a l i z a t i o n ) ,而不是部分机器人运动但其它机器人静止作为路标,或是参与定位的机器 人需要保持匀速运动。第四个问题是,协作定位算法是否能够保证在复杂动态环境中的 可靠性,而不是只运行于文献中通常采用的人为设定的结构化静态场景。第五个问题是, 在机器人实际应用场合,当机器人遇到意外碰撞或者车轮滑动等突发的较大扰动时,如 何提高机器人的定位抗干扰能力,避免由此造成定位失败而产生较大偏差。 针对第一个问题,本文设计提出了基于螺旋观测模型的位姿标识,并给出了具体的 观测信息提取方法。对于第二个问题,本文将m b i c p 算法引入到多机器人协作定位中, 通过对复杂环境中的机器人激光扫描数据进行实时匹配,将匹配最优解析解作为观测信 息,从而避免了实验中需配备特定标识来获得机器人间观测信息的局限,保证了观测信 息交互的实时性。对于问题三,本文提出了基于自主运动状态估计的协作定位周期自适 应选择算法,从而避免了机器人处于稳定运行中的过度频繁定位,以及在非稳定运行中 经常出现的无效定位,从而解决了机器人运行状态会对协作定位带来影响的问题。利用 基于自主运动状态估计及信息交互的多移动机器人扩展卡尔曼协作定位算法,本文在 p i o n e e r3 d x 机器人平台上实现了多机器人动态运行中的协作定位。特别是针对问题四, 本文实验环境没有采用人为设定的结构化场景,而是选择环境信息杂乱的未知室内场 景,并且场景中有运动人体目标的干扰。实验结果表明本文所提算法可完全满足室内环 境中多移动机器人协作定位的实际需要。对于问题五,本文采用了鲁棒扩展h 滤波 器代替扩展卡尔曼滤波器来进行协作定位。机器人在发生碰撞时的协作定位实验结果表 明本文所提方法可有效的提高多移动机器人协作定位的抗干扰能力,具有良好的鲁棒性 和实用性。 本文各章节的具体内容:第l 章为绪论,首先对多机器人协作定位技术进行了概述, 接着对国内外多移动机器人协作定位的研究状况进行了综述。第2 章介绍了多移动机器 人系统构建及传感器模型。重点介绍了基于无线网络通信的多机器人协作定位实验系 统,并深入分析了该系统的通信架构和体系结构。第3 章主要研究了多机器人观测信息 的感知与交互问题,提出了利用机器人位姿标识的相对位姿观测和基于m b i c p 的协作 信息交互两种观测信息获取方案。第4 章针对多机器人系统建模与协作定位问题,主要 研究了多机器人基于相对观测的协作定位理论。考虑移动机器人自身运行状态对协作定 位的影响,提出了基于自主运动状态估计的协作定位周期自适应选择算法。第5 章通过 大连理工大学硕士学位论文 应用于p i o n e e r3 d x 多机器人协作定位实验系统所获得的协作定位系列实验结果及数 据分析,验证了所提方法的有效性、鲁棒性和实用性。最后给出了全文总结和对未来工 作的展望。 1 3 2 本文的主要创新点 多机器人协作定位算法的实际应用难度较大,其对滤波参数的设定、通信平台的构 建都有很高要求。查阅国内外该领域文献 2 8 【3 0 】 3 1 ,现有的多机器人协作定位应用方 案多是利用固定在移动机器人本体的位姿标识【3 0 】,或利用设定在结构化环境中的感知系 统( 如固定在天棚上的视觉系统) 来实现机器人之间的相互观测【3 1 】。但这些方法不是增 加了机器人的载荷,就是要对机器人的工作环境进行了改变,而且也很难适应环境中的 动态干扰。本文所提基于m b i c p 匹配信息交互的协作定位新方法有效的解决了上述问 题,而且通过给出的一系列实验结果与分析,充分验证了本文所提方法的鲁棒性和实用 性。此外考虑移动机器入自身运行状态对协作定位的影响,本文提出基于自主运动状态 估计的协作定位周期自适应选择算法。 本文研究工作的主要创新之处如下: ( 1 ) 为避免机器人相互直接观测需要配备特定标识的局限,并充分利用处于同一 场景中多机器人观测信息的可交互性,本文提出基于m b i c p ( m e t r i c b a s e di t e r a t i v e c l o s e s tp o i n t ) 算法的多机器人观测信息交互方法。实验表明该方法创新性地解决了多机 器人协作定位在室内动态环境中的应用问题,可以有效的解决环境中的动态干扰问题 ( 比如运动人体目标的干扰) ,其对环境的适应性强,具有很好的应用前景和价值。 ( 2 ) 本文考虑移动机器人自身运行状态对协作定位的影响,即因机器人间观测信 息获取存在一定延时导致的机器人处于稳定低速运行中的过度频繁定位和在高速动态 运行中的无效定位问题,提出了基于自主运动状态估计的协作定位周期自适应选择算 法,从而提高了多机器人协作定位的效率。实验环境中的动态干扰会造成相互观测的不 匹配或者导致相互观测的不确定性增加,采用该算法自主的选择定位周期可以有效的避 免上述问题。通过应用于p i o n e e r3 d x 移动机器人所获得的实验结果及数据分析,验证 了所提方法的有效性和实用性。 室内动态环境中的多移动机器人协作定位 2 多移动机器人系统构建及传感器模型 2 1多移动机器人协作定位实验系统构建 多机器人系统的设计很有挑战性,因为这种系统的性能很大程度上依赖于机器人之 间交互的问题【4 0 j 。多个移动机器人在运动过程中协作共享机器人运动参数以及传感器数 据信息,并通过从共享数据信息中提取有用信息,来提升移动机器人的定位精度。多移 动机器人的这种协作定位模式,要求能够设计一种多机器人协作定位实验系统使得在实 际的实验中不仅能够对移动机器人进行实时的运动控制,而且还能够实时的获取到机器 人的运动参数以及传感器数据信息以便于进一步的优化处理和算法验证。 本文基于美国m o b i l e r o b o t s 公司的p i o n e e r3 一d x 型自主移动机器人平台,特别针 对多机器人协作定位,设计开发了基于无线网络通信的多机器人协作定位实验系统。该 系统是一种基于客户端服务器( c s ) 模式的网络化多机器人控制系统,创新性的采用 了基于无线网络通信的实验设计理念,解决了多移动机器人在协作定位算法实际实验验 证领域的一系列技术难题,提出了一种多机器人协作定位实验的新思路。该系统深入修 改并整合了美国m o b i l e r o b o t s 公司提供的机器人高级应用接口开源软件类库a r i a 、机 器人跨平台通信开源软件类库a n e 瓜n g 、开源滤波类库b a y e s + + 、m f c 以及代数数 值运算库l a p a c k 等一系列软件资源。通过建立c s 通信,该系统不仅可以实现对机 器人的实时运动控制,还可以为机器人设计规划各种复杂的运动路径。此外,它还能够 实时的获取到机器人的各种传感器数据信息。因此该系统不仅可以应用于多机器人协作 定位,还可广泛的应用于多机器人协作编队,协作环境探索等其它科研领域。 2 1 1p i o n e e r - 3 d x 移动机器人 多移动机器人协作定位实验,需要有多台可用于实际实验的移动机器人平台。考虑 到多移动机器人协作定位实验的特殊性即对机器人的运动控制实时性要求较高,因此该 移动机器入平台必须性能优秀,运动灵活,操作性强,支持完善的通信模式,能够很好 的快速执行各种机器人智能运动控制算法。本文采用了两台美国m o b i l e r o b o t s 公司生 产的p i o n e e r3 一d x 型自主移动机器人( 如图2 1 所示) ,该型机器人为两轮差分驱动 的小型智能机器人,具有灵活、通用、易操作等许多优点,是目前世界上最成熟的几种 轮式移动机器人实验研究平台之一,也是最早进入中国的高性能可扩展移动机器人实验 研究平台【3 7 】【3 8 1 。 大连理工大学硕士学位论文 罔21 p l o n e e r3 一d x 型移动机器a f 1 9 21p l o n e e r3 - d x m o b ;l er o b 叶 p i o n e e t3 一d x 型移动机器人采用基于上下位机模型的架构。其中,机器人下位机为 日立r 翩e s a ss h 2 嵌入式微处理器,其内部固化有机器人操作系统a r c o s 。下位机作 为接收请求和提供服务的服务器端,负责处理机器人执行电机和光电码盘传感器等数据 信息,通过r s 2 3 2 串口通信发送给上位机,并同时执行上位机通过串口给下位机发出 的控制驱动指令。由于机器人底层的运动控制、传感器数据采集等完全由下位机嵌入式 系统完成,因此开发者无需考虑软件与硬件的接口问题。 针对p i o n e 盯3 一d x 型移动机器人的运动控制和传感器参数获取问题,m o b i l e r o b 0 乜 公司提供了一个高级机器人应用程序接口( a r j a ) 。a r i a ( a d v a l l c e dr o b o ti m e 而c ef o r a 仰i i c a t i o n ) 是运行在机器人上位机并作为客户端和下位机服务器端实时通信的高性能 接口开源软件类库。该类库采用面向对象的c - 卞编程语言实现,可同时运行于l i n u x 和 w l n 3 2 操作系统内部集成、封装和定义一整套用于机器人运动控伟0 和传感嚣实时数据 采集的机器人抽象类,并可进行进一步的功能扩展。 21 2 多机器人通信与信息交互 为了实现p i 彻e e 卜3 d x 移动机器人间数据通信传输,m o b i l e r o b o e 公司提供的a r j a 类库包含了一个用于机器人间实时通信的软件类库( a r n e t w o r k i “g ) ,将l i n u x 和w i n 3 2 平台的s o c k c t 通信程序加以集成和封装,可实现l l m 与w i n 3 2 平台间的t c p 和u d p 两种通信方式互相兼容。该通信软件类库,提供了一个可基于客户端服务器端( c ,s ) 室内动态环境中的多移动机器人协作定位 通信模式实现对机器人网络化控制的通用接口,并可通过对该类库进行适当修改进一步 实现各种高级复杂功能。 基于a r n e t w o 蛐g 类库定义的客户端通过无线网络通信与服务器端建立t c p ,u d p 连接,客户端通过向服务器端发送一个请求进而发送一个控制指令或者可以以一个固 定的短时间周期连续向服务器端发送控制指令。服务器端在接受到客户端的命令以后自 动解析,并执行相应的控制命令函数,如果需要返回数据信息,则将数据采集并打包发 送回客户端。客户端在接收到完整的数据包以后再调用相应函数自动解析。针对 p i o n e e r _ 3 d x 机器人的客户端,服务器端工作模式如图22 所示。 最 圉22p i o n e e r 3 d x 机器人的客户端傩务器端工作框架 瞻2 2c t ,s c e r 触n e w o r k f o r p p 3 d xr o 晰 ( 1 ) 机器人服务器端( r o b o ts e r v e r ) 机器人服务器端基于a r n 眦w o r k l n g 类库提供的a r s e e r b a s e 服务器基本类服务 器端内部定义维护了一个发送数据包链表,当有客户端连接到服务器端,服务器自动定 大连理工大学硕士学位论文 义并生成一个对应于该客户端的s e r v e r c l i e n t 类对象,该对象负责将客户端与服务器交 互的数据包添入发送数据包链表。服务器端异步运行的一个周期执行的信息处理函数, 该函数负责周期查看发送数据包链表并发送数据。 时s e r v e r b a s e 服务器端仅提供了一个基本的服务器通信框架,并不能处理和响应具 体的客户端请求指令,因此需要提供一个解析指令和响应相应函数的信息处理功能。在 服务器端类的定义里,心s e r v e r b a s e 提供了一个指令及响应函数的回调函数链表,在初 始化服务器端类对象时,依次将对应于客户端指令的回调函数算子加入链表。当有收到 客户端指令时,服务器自动的到该链表里去查找对应的指令,并执行相应的函数功能。 缸n e 铆o r k j n g 类库提供了几个针对客户端请求操作的类即标准服务应用( s t a n d a r d s e r v i c e sa v a i l a b l e ) :心s e n ,e r i n f b r o b o t 、心s e r v e r i i 面s e n s o r 和心s e r v e r i n f o s t r i n g s 等 它们提供了一些基本的针对机器人数据信息的通信处理功能,其中心s e n ,e r i n f o r o b o t 一 提供给客户端基本的机器人状态信息( 当前位姿和速度,当前服务模式和状态,电池电 压) ;m s e n ,e r i n f 0 s e n s o 卜可提供给客户端当前传感器信息( 声纳、激光等) ; 心s e r v e r i n f 0 s t r i n g s 提供给用户一个简单指令扩展功能,内部采用了回调函数嵌套链表 的复杂结构设计,它能够实现服务器端与客户端字符串数据通信,但使用起来复杂,不 便于理解且受限制。程序初始化时,通过定义生成触s e r v e r i n f 0 系列类对象时自动的将 指令响应回调函数算子加入服务器回调函数链表,但是这些功能都是预先给定的,无法 实现更为复杂的自定义功能。 考虑到机器人服务器端程序运行时,内部定义了服务器对象s e r v e r ,机器人对象r o b o t 传感器对象s o n a r 、s i c k 等。通过定义重写一个针对客户端请求操作的类,分别传入服务 器对象s e n ,e r ,机器人对象r o b o t 和传感器对象s o n a r 、s i c k 等的指针,类内部自定义指令 响应回调函数算子,它们是:机器人位姿信息回调函数算子、机器人运动控制指令回调 函数算子、自定义机器人运动线程回调函数算子、激光传感器数据信息回调函数算子, 其中自定义机器人运动线程回调函数提供了一个可按照实际需要自定义实现机器人复 杂运动轨迹的功能。此外,加n e t 、o r k i n g 还提供一些简单服务命令( s i m p l es e r v e r c o m m a n d s 一包括心s e r v e r c o m m a l l d s 类,该类提供了简单的a p i 控制请求,可以操纵 机器人简单的动作或者改变状态,且不需要回复数据) ,但是考虑到实验的需求已经实 现,本文并没有采纳这部分功能。 ( 2 ) 机器人客户端( r o b o t c l i e n t s ) 机器人客户端基于加n e r l ( i n g 类库提供的m c l i e n t b a l s e 客户端基本类。客户端内 部同服务器端一样定义维护了一个发送数据包链表,当客户端需要往服务器端发送请求 时,通过调用m c l i e n t b a s e 的a p i 或程序中的命令行参数心c l i e n t b a s e :r e q u e s t ( ) 或 室内动态环境中的多移动机器人协作定位 时c l i e n t b a s e :r e q u e s t o n c e ( ) 向服务器端发送请求。函数客户端将需要发送的请求指令和 数据整理成数据包添入发送数据包链表。客户端异步运行的一个周期执行的信息处理函 数,该函数负责周期查看发送数据包链表并发送数据,并同时处理接收数据包。 舢c l i e n t b a 客户端仅提供了一个基本的客户端通信框架,具体包括与服务器端建 立t c p 舢d p 连接,跨平台基于s o c k e t 通信,自动接收数据等基本功能,还包含了一个 登入密码校验的功能。a r c l i e n t b a s e 虽然实现了通信的基本功能但并不能发送和接收处 理具体的通信请求指令和接收数据,因此需要提供一个绑定请求指令和响应相应指令数 据处理函数的信息接收处理功能。在客户器端类的定义里,灯c l i e n t b a s e 提供了一个请 求指令及响应相应指令数据处理函数的回调函数链表,在初始化客户器端类对象时,依 次将对应于客户端请求指令及响应相应指令数据处理函数的回调函数算子加入链表。当 有收到服务器端发送回的数据包时,客户端自动的到该链表里去查找对应的请求指令, 并执行相应的数据处理函数功能。 在加n e t w o r k i n g 类库提供的c l i e n t d e m o 源文件里分别定义了输入处理i n p u t h a n d l e r 和输出处理o u t p u t h a n d l e r 两个类,其中i n p u t h a l l d l e r 类提供了由键盘操作控制类 心k e y h a n d l e r 调用的回调函数。这些回调函数可以调整机器人的运动相关变量,进而控 制机器人得运动。成员函数s e n d i n p u t ( ) 把这些变量封装在加n e t p a c k e t 包中,经由网络 向服务器端发送一次命令,进而控制从机器人的运动;o u t p u t h a l l d l e r 类主要用于从机 器人服务器端连续请求运行状态数据并输出,首先向服务器端请求数据,然后根据从服 务器端收到的数据更新调用相应指令的数据处理回调函数,回调函数h a n d l e o u t l ,u t 以 1 0 0 m s 为周期接收机器人信息,从更新数据包中提取数据。数据包包括机器人状态和模 式,得到的6 个双精度型参数,分别是电源电压,x 方向位移,y 方向位移和航向角度, 运动速度,转动速度。由于客户端的请求指令与接收处理函数必须与服务器端的指令回 调函数一一对应,因此与c l i e n t d e m o 实现通信的服务器端为加n e t w o r k j n g 类库提供的 s e r v e r d e m o 。考虑到服务器端重新设计的指令响应回调函数算子,为了实现一一对应, 客户端参考i n p u t h a i l d l e r 和o u t p u t h a n d l e r 两类新定义了m y h a n d l e r 类具体负责机器人 运动控制指令的请求,运动参数与传感器数据的请求、接收和解析。 2 1 3 无线局域网协作定位实验系统 多移动机器人群体在协作完成复杂任务时,个体机器人间需要协作交互数据信息, 因此需要建立机器人间的有效通信。通常采用的基于有线连接的网络通信虽然高效可 靠,传输速率块、通信延时低、数据丢失少,但是移动机器人为移动控制对象,常常根 据任务分配的需要而移动到不同的场景,因此无法采用基于有线连接的网络通信。目前, 大连理工大学硕士学位论文 基于无线网络通信的网络控制方案已被广泛的采纳到多移动机器人协同控制研究当中。 本文的无线网络多机器人控制采用的是i e e e 8 0 21 1 系列协议,它可以与基于以太网组 建的局域网实现无缝连接,因此采用无线网络对于移动机器人主机在用广层测控程序没 有任何影响,只需对物理层设备作简单的配置即可。 图23 多移动机器人无线局域网通信 f 1 923m u l n r o b mc 。m m u n l c m l o ni h o r o u g hw l r e l e s sl a n 移动机器人网络通信与控制基于s o c k e t 通信实现,s o c k e t 通信是对应t c p 九p 协议 的典型网络通信程序开发接口,采用s o c k c t 通信隐藏了网络底层协议和数据结构,方便 了多机器人基于无线局域网网络通信的实现。引对p l o n e e r 一3 d x 移动机器人组成的多机 器人系统,为了实现移动机器人间无线网络通信,采用基于c s 架构的a r n e t u u r k i n g 软件类库来实现机器人间的通讯与信息交互,通过对该库提供的客户端和服务器程序重 新设计和扩展实现了基于t c p 和u d p 方式的移动机器人网络化控制。 在无线局域网中,采用a r n e t w o r k i n g 类库编写的通信程序,将配置在移动机器人 上的车载计算机作为机器人服务器端,实现对机器人的运动控制和运动参数匕上及传感器 数据的实时采集。多移动机器人协作定位过程中,分别在每个参与定位的机器人车载计 算机上运行服务器端程序,在网络中形成多个机器人服务器端端h 。通过在一台主计算 室内动态环境中的多移动机器人协作定位 机上分别定义多个客户端对象连接到不同的机器人服务器,即可实现对多个不同机器人 的集中控制,其中由于采用了多线程技术,同一个服务器端可以同时连接多个客户端, 同时接受多个客户端的控制指令,如图2 3 所示。 将不同客户端从服务器端获取到的移动机器人数据采集到多机器人系统信息处理 中心进行集中处理,即多机器人协作定位算法实施。该协作定位实验系统为一个四层系 统:移动机器人自身作为第一层,移动机器人作为机器人服务器端的相对“机器人服务 器端”;机器人车载计算机上的服务器端程序为第二层既作为相对“机器人客户端”也 作为机器人服务器端;主计算机上运行的机器人客户端程序作为第三层;多机器人系统 信息处理中心作为最终层。这种四层结构确保了车载计算机上对机器人运动控制是严格 的可信赖的,同时把作为高层应用接口的信息处理中心隔离在潜在的不可信赖的网络 外,有效保护更多的关键的机器人控制程序,提供了一个更加紧密的方便的用户接口1 1 4 】。 2 2 传感器模型 本文研究针对室内动态环境中的多移动机器人协作定位问题。移动机器人在运行过 程中需要基于内部传感器对自身的位姿进行估计,同时还需要通过外部传感器获取到周 围的环境信息,并通过信息交互和提取得到协作定位所需的实时观测信息。因此在实验 中,为p i o n e e r 3 d x 移动机器人平台装配了里程计、声纳、激光测距仪等传感器设备。 2 2 1 里程计传感器模型 目前,针对移动机器人开展的研究主要以室内平面运行为主,在室外复杂地形下的 移动机器人研究虽然应用前景更为广泛,但是相关技术也更为复杂。室内平面
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 专业智商测试试题及答案
- 高职建筑专业试题及答案
- 酒店专业试题及答案
- 环保专业试题及答案
- 甲状腺专业试题及答案
- 沟通专业试题及答案
- 河北省承德市平泉市党坝中学2025-2026年学年九年级历史上学期9月月考试题(含答案)
- 宁波生态假山施工方案
- 路口半弧形护栏施工方案
- 楼顶景观水系施工方案
- 线路维护材料管理办法
- 2025年外企面试英语常见问题与答案解析
- 民宿课程题目大全及答案
- 火电厂安全员课件
- 洗煤厂冬季三防知识培训课件
- Unit 1 A new start Starting out 课件(内嵌音视频)高一英语外研版必修第一册
- 2025西安医学院第一附属医院第二批招聘(42人)考试备考题库及答案解析
- 树立正确就业观课件
- 2025年广西中考数学真题卷含答案解析
- 移动通信技术发展历程
- 口腔科终末处理流程与规范
评论
0/150
提交评论