杨义军 张正祥
摘 要:本文利用超声波传感器和红外传感器提取障碍物的边缘线段特征描述室内环境.提出来一种基于线段特征编码建图的SLAM方法。该方法将机器人提取的线段特征建立特征表,并将其进行编码后存取在内存中,节省了建图所需的内存空间。在VoyagerⅡA移动机器人平台上进行实验,实验结果验证了该算法的可行性和有效性.
关键字:同时定位与建图(SLAM);线段特征;线段特征编码
1.引言
移动机器人在室内未知环境中进行同时定位与地图创建
(Simultaneous Localization and Mapping, SLAM )是为了能让移动机器人有效地对室内未知环境进行探索并完成给定的任务[1].因此,它需要有定位与创建地图的能力.移动机器人在室内未知环境中运动时逐步构建环境地图.同时运用此地图对机器人位置和姿态进行估计[2].对该问题的研究最早是Thrun和Williams等人在文[4]中使用扩展卡尔曼滤波器(Extended Kalman filter, EKF),来进行估计. 后来这种方法被广泛应用于不同环境下SLAM问题,但EKF的瓶颈在于其计算复杂性[5].
近年来很多研究者摒弃了严格的卡尔曼过滤器或统计形式,而是采用一些基本导航和SLAM问题的数值计算方法.这些方法包括采用标志性的地标匹配,全球地图的配准,有界区域法等[6]. Thrun等人使用贝叶斯方法创建地图,没有按Kalman滤波的要求假定高斯概率分布.这种方法能让移动机器人非常有效的定位和创建地图,但当传感器获取信息量的越多时解决SLAM问题的难度就越大.
本文对室内环境定位与建图进行深入分析,利用障碍物边缘线段特征描述环境,使用线段编码的方式建图,节省了建图时所需的内存空间. 增强了机器人SLAM的适时性.
2.线性特征提取
由于目前绝大多数的SLAM方法都是采用路标特征地图和栅格地图,但是栅格地图所需要的内存大,因而不适用于大环境下SLAM.路标特征地图要求人工放置路标,这种方法需要预先布置好环境,不具有普适性,因而本文采用检测障碍物的边缘线段特征SLAM的方法.为了提取准确的边缘线段特征本文采用混合哈夫变换和最小二乘直线拟合方法(混合直线拟合算法),并在此基础上加入相应的预处理和后处理过程,具体计算步聚如下:
根据超声波传感器和红外传感器的观测范围对原始数据进行过滤,去除超出传感器观测范围的数据.
先根据描述点的连续性将不同障碍物的描述点分开,再根据哈夫变换的选举点将每个障碍物的描述点细分成不同线段的描述点.
对不同部分的数据分别采用混合直线拟合算法提取极坐标条件下的线性特征.
将提取的障碍物边缘线段特征进行筛选,去除与传感器方向过小的线段特征.
将障碍物边缘线段特征以表格的形式存入内存中,并对标记J和标记进行初始化,通常先赋值为0.
3.基于线段特征编码的地图创建
当机器人探测完一些环境区域后,线段特征數据存取在内存中的顺序是混乱的.机器人如何快速的将内存中的数据还原成一幅准确的地图是SLAM问题的一个难点[8].针对上述问题,我们采用线段特征编码的方法解决.在这一节中,我们将详细的介绍线段特征编码的方法.线段特征编码法标记的对象是线段,先根据线段的连通关系判断哪些线段属于同一障碍物,进而根据线段的邻近关系对各线段表中的线段进行标记和排序.
线段编码法可分为线段表扫描,线段是否为在一障碍物关系判断,统一标记,标记排序和地图创建5个步聚,它的实现步聚如下:
(1)逐行扫描内存中的初始线段表,即获取线段的线段特征信息.
(2) 根据线段的连通关系判断线段表中哪些线段属于同一障碍物,并做相应处理:
(2a) 如果第j条线段和第 i条线段相连通且第 i条线段还未做标记,则将第j条线段的标记赋给第i条线段(j
(2b) 若第j条线段和第i条线段相连通且第i条线段已做标记,则记下这两条线段标记间的等价关系.
(2c) 若第j条线段和第i条线段不相连通,则赋予第i条线段新的标记,并继续检测新的线段.
(3)统一具有等价标记的同一障碍物边缘线段的标记,使得相同障碍物的边缘线段采用相同的标记.
(4)根据线段的邻近关系和邻近度对线段进行标记和排序,方法同上.
(5)编码完成后机器人根据内存中存取的线段表在直角坐标系中依次画出所有线段完成地图的创建.
参考文献
[1] S Thrun, D Fox and W Burgard. A probabilistic approach to concurrent mapping and localization for mobile robots[J]. Mach,Learning Autonom, Robots, 1998, 31, 29–53.
[2] 王彭林,石守东,洪小伟. 基于单目视觉和里程计的SLAM算法研究[J]. 计算机仿真, 2008, 25(10):172-175.
[3] 吴功伟,周文辉,顾伟康. 基于视差空间的双目视觉里程计[J]. 传感技术学报,2007, 20(6):1432-1436.
[4] 熊蓉. 室内未知环境线段特征地图构建[D]. 浙江大学,2009.
[5] 陆宗骐,朱煜. 使用线段表实现线段编码与种子填充的快速算法(J). 中国图像图形学报,2009,14(3):499-504.
[6] 贺锋. 室内环境下移动机器人定位和建图研究(D).南开大学,2008.
[7] 武涛,孙凤池,苑晶等.一种基于线段特征的室内环境主动SLAM方法.机器人,2009,31(2):166-170
[8] 吴功伟,周文辉,顾伟康. 基于视差空间的双目视觉里程计. 传感技术学报,2007,20(6):1432-1436
作者简介
杨义军,男,云南省大理市,工程师,硕士,人工智能。