论文部分内容阅读
移动机器人可以在动态环境中无须人工干预便自主完成从起点到终点的行驶任务。因此,它是一个集环境感知、动态决策与规划、行为控制与执行等多种功能于一体的综合系统。移动机器人的应用主要包括水下机器人、服务机器人、军事机器人、工业机器人和空间机器人等。近年来,随着移动机器人的应用前景越来越广泛,关于它的研究已被列入世界各国的高科技发展计划。在动态环境中,环境或者是随着机器人工作的内容而改变,或者是随时发生变化。这就要求机器人能够快速感知复杂环境的变化,并对各种环境变化实时做出运动决策。因此,移动机器人系统涉及的关键技术包括多传感器数据集成与融合、环境建模、控制体系结构和路径规划以及学习机制等。开发适应于在动态环境中工作的具有自治能力的移动机器人是一项具有挑战性和吸引力的课题。本文主要围绕着移动机器人系统中的多传感器数据高级融合方法、世界模型的描述和创建、路径规划结构及算法等展开研究。目的是提供一系列的描述环境特征的知识表示形式,使得它们分别满足移动机器人系统中环境信息交换、路径规划和任务规划等不同功能的需要。同时提高机器人路径规划方法的鲁棒性、实时性、最优性和自适应性。因此本文的研究具有重要的理论价值和实际意义。本文的创造性工作包括以下几个方面:(1)成功地研制了自主移动机器人的多传感器数据融合系统实验平台。该平台定期根据激光传感器的绝对定位数据修正里程计的累积误差,从而实现了精度较高、实时性较强的定位系统。同时利用8个超声波传感器检测机器人周围环境中的障碍物。超声波传感器的启动和停止、最大测<WP=127>量距离可以通过软件编程在线调整。传感器的数据采集和数据融合由两级分布式系统实现,提高了系统的实时性和可靠性。利用该实验平台成功地进行了移动机器人避碰导航实验。(2)提出了一个根据超声波传感器距离测量值建立和更新栅格地图GMap的概率函数。该方法既可以尽早发现近距离的障碍物,又可以减少对远距离障碍物的测量误差。同时还提出了由栅格地图GMap创建极坐标地图PMap的变换算法,随着机器人周围障碍物的增多,障碍物与机器人之间距离的缩短,该方法的计算量越小,实时性越强。(3)在PMap图基础上,提出了实现识别障碍物群、提取障碍物边缘以及计算环境复杂指数的数据融合算法。识别障碍物群方法能够将数据压缩至栅格地图的20﹪以内,却依然准确描述了机器人导航所需的环境特征。尤其是它能够发现前后重叠的障碍物之间的行走路径,这是模糊规划、虚拟势场、矢量场矩形法等方法无法实现的功能。提取障碍物边缘特征方法的数据量跟障碍物靠近机器人一侧的边缘特征密切相关,一般比识别障碍物群方法的数据量大。但是,该方法在有效压缩数据的同时,能够较准确地表示环境中的障碍物特征,使得获得此数据的中心站可以复建相应的栅格环境地图。环境复杂指数用以评估环境的复杂程度。该指数综合考虑了机器人周围障碍物的覆盖面积、集散程度、与机器人之间的平均距离等特征,累积环境复杂指数可以进一步总结路径特征,为任务规划提供动态信息。三种数据融合算法简单易行,只需花费极少量的额外计算开销,在不影响机器人避障和规划行为的实时性的情况下,进一步拓展了移动机器人系统的功能。在多机器人系统中,该机器人可以作为智能的环境特征传感器,为中心站的环境地图建立和任务规划等工作提供必要信息。(4)提出了包含紧急避障、地图规划、模糊规划、趋向目标和漫游等五个行为的混合控制规划结构。机器人根据前进方向上障碍物分布情况,选择激活不同的行为单元,充分体现了机器人的自主性和自适应性。混合结构充分利用了各种行为单元的优势,其系统性能远远超过其中的任何一个单一行为系统的性能。在并行的行为单元中,既有基于模型的确定性计算模块,又有直接根据传感器数据进行模糊推理的模块。这种行为单元的多样性可以更好地模拟人在决策时的复杂活动。同时建立了各行为单元交<WP=128>替使用的协调机制,成功地实现了不同算法之间的平稳过渡。(5)提出了弹性测量窗口和可调数据融合窗口的概念,动态确定规划算法的环境信息范围。正常情况下,数据融合窗口跟随机器人的运动而向前滚动,且大小保持不变。当机器人前方一定范围内不存在障碍物时,就扩大测量窗口,以便及早发现障碍物和调整前进方向。随着障碍物逼近,缩小测量窗口,缩短检测周期,提高系统的实时反应能力。若机器人处于陷阱环境中,扩大数据融合窗口,获取更广泛的环境信息,有利于机器人尽早摆脱困境,寻找到局部最优路径。(6)在各种典型环境中,如狭窄的通道(走廊)、陷阱区域、相近的障碍物、移动障碍物、密集障碍物等,进行了大量的路径规划仿真实验。实验结果表明,本文提出的混合控制规划结构能够随着环境特征的变化,自主地调整规划策略,以适应不同的环境条件下对路径的最优性和系统的实时性的要求。(7)使用Visual C++ 6.0语言开发了移动机器人系统的仿真软件。该软件将感知、世界模型、运动规划、运动控制及知识学习等功能封装为标准模块。利用该软件可以进行不同的虚拟机器人