论文部分内容阅读
近年来,随着机器人技术的不断进步,对于移动机器人探索环境与地图创建的研究受到越来越多的关注。对地图创建问题的研究作为移动机器人实现自主导航的重要基础,具有重要的理论意义和实践价值。与单个机器人执行任务相比较,多个机器人完成任务的效率更高,适应性更强,也更可靠,因此,基于多机器人系统的应用范围更加广阔,也更加适合复杂、大规模环境。国内外专家学者对于多机器人系统的高度关注,使其在这一领域中成为研究热点。在一些结构化环境中,比如办公室、教室等,直线是此环境中最主要的特征,通过对直线检测就能够判断出环境中的障碍物。而声呐传感器采集障碍物信息时,是将障碍物信息保存成点的坐标信息,所以需要将声呐传感器采集到的点的信息转换成直线,最常见的Hough变换应用很多,但是计算量巨大,本文提出一种新的基于增量式的直线提取算法,用于多机器人地图创建过程中,实时地完成点到直线的转换,减少内存占用,最终用直线描述出障碍物环境,完成探索任务。本文利用AmigoBot平台移动机器人模型进行仿真实验。AmigoBot移动机器人配备有声呐传感器和惯性导航,根据声呐传感器采集数据量比较大的特点,所以选择树这种数据存储结构代替数组,提高了存储的便利性并且占用少量存储空间。本文比较了几种常见的直线提取算法的利弊,提出了采用基于增量式的直线提取算法,根据点与线段的几种位置关系来实现直线的外延和新直线的生成。用直线表示出环境中的障碍物,则最终选择几何特征地图来描述移动机器人创建出的环境地图,在VS2008进行编程,用到的ARIA类也在文章中介绍,通过MobileSim进行仿真实验,证实该算法是可行并有效的。本文的主要内容如下:首先比较分析了四种地图表示方法的优点和缺点,分别是栅格地图、几何特征地图、拓扑地图和混合地图,本文采用几何特征地图,即用直线表示障碍物,更形象直观地表示出机器人探索的环境。然后对于传感器的使用方面,由于AmigoBot机器人配备有声呐传感器和惯性导航,所以本文分析了声呐传感器和惯性导航的原理及特点,为算法进行铺垫。接着在数据存储结构方面,数组和链表是常见的两种存储方式,由于声呐传感器每周期都会采集障碍物信息,每个AmigoBot机器人配备有八个声呐传感器,所以声呐采集的数据量比较大,如果用数组存储则占用大量内存,所以选择树结构来存储数据,方便信息数据的添加、删除和替换。接下来对三种常用的直线提取算法:Hough变换、增量法和RANSAC方法进行比较,分析得出三种方法各有利弊,本文提出了基于增量式的直线提取算法,根据点和线段的可能出现的几种位置关系,将声呐传感器采集到的障碍物数据点实时地转换成直线,最终用直线表示出障碍物环境,得到机器人探索的环境地图。之后列出了需要使用的AmigoBot机器人的软件平台,在VS2008中进行编程,在编程过程中用到的ARIA的几个类也列举出来,涉及到机器人的运动控制、声呐的信息采集、机器人的位置信息等,然后通过MobileSim进行仿真实验,验证了算法的有效性。