吴云良 李鹏飞 毛秉智
环境地图是机器人环境认知并提供服务的基础。以服务机器人为实际应用背景,综合应用多传感器數据,将环境中的具体目标信息映射到利用SLAM技术创建的地图中,生成面向目标的环境模型。本文详细介绍了该环境模型的表示、构建和更新方法,并通过实验证明该模型可有效地提高机器人的环境理解能力和工作效率。
The environment map is the basis for robot understanding surround and providing services. Take service robots for example, multi-sensor data are integrated and specific objects are rejected into the environment map called as object-oriented map using SLAM technology, the paper describes the representation, construction and update methods of the environment model. The experiments show that with the model, robot can effectively improve environment- understanding ability and working efficiency.
作为机器人的重要分支,服务机器人工作于家庭、医院、办公室等环境中,代替人完成一定的服务性作业或对身体不便者提供帮助。这样的服务机器人往往工作于结构化的室内环境,对环境的理解比较容易。对于这种结构化或半结构化的环境描述方法研究较为广泛,文[1]给出了基于几何特征的同时机器人定位与环境建图(simultaneous localization and mapping, SLAM)算法,文[2]给出了一种基于几何特征的室内服务机器人环境地图表示方法,此外,一些表象地图,如Bag-of-words[3]、FAB-Map[4]和Appearance-Map[5]被构建出来,其实质仍然是基于视觉特征的地图描述;文[6]设计了Gamma-SLAM算法用于构建环境的栅格地图;文[7]提出了一种适于机器人在大规模室内环境下自主导航的拓扑地图;综合考虑几何和拓扑两种表示方法的优缺点,研究者们创建了几何-拓扑混合环境地图[8-10]。然而,上述地图模型都是面向机器人路径规划的,仅仅约束了机器人的可活动空间,而没有融入操作物品和服务对象等必要信息,这种地图难以满足机器人家庭服务任务的需要。文[11]和[12]提出了用于实现环境分类和识别的语义地图表示方法;文[13]提出了针对机器人环境及其中物品认知的概念表达;文[14]提出了一种基于机器人服务任务导向的环境地图;文[15]针对服务机器人任务需要设计了融合物品信息的环境地图构建方法。近年来,移动机器人同时定位与地图创建方法(SLAM)越来越受到人们的重视,当环境是动态或者未知情况时,SLAM可以很好地解决移动机器人的定位与导航要求。然而在服务机器人实际研发与应用中,仍然面临如下几个问题:
(1)环境建模。服务机器人工作在复杂的环境中,只对环境进行二维建模不能满足任务的需要,提取环境的三维特征是提高服务机器人环境理解和智能程度的重要途径。
(2)工作效率问题。由于服务机器人需要完成如取药等紧急任务,在接收到指令后能否得到目标在环境中的位置并及时找到目标,是衡量服务机器人工作效率的重要指标。
本文针对上述两个问题,设计了一种面向目标的环境模型表示方法,在进行同时定位与地图创建的同时,加入并行的视觉处理,提取三维环境和目标的信息,并将视觉提供的目标信息映射到环境地图中,从而提高了服务机器人的环境理解能力和工作效率。
一、新型的面向目标环境建模方法
1.1设计思想
如何充分地理解所处环境并确定自身和目标在环境中的位置,是服务机器人提供各种服务的前提和基础。一般的距离传感器所获取的知识都是对特定水平面的二维描述,难以描述环境中的立体物体,而且只通过距离传感器提供的信息无法辨认出环境中的物体具体是什么,而视觉传感器提供的环境信息则相对更加丰富,特别是通过图像处理算法得到的小物品如手机等是对特定平面环境特征的必要补充。通过视觉辨识并确定目标物体在环境中的具体位置,使得机器人对环境中具体目标及其相互位置关系更加明了,减少了机器人执行任务时目标搜索的环节,提高了机器人的工作效率。基于上述思想,为服务机器人设计了面向目标的环境模型。本文所说的目标指的是环境中服务机器人执行任务时的操作对象。
1.2面向目标的环境模型表示
面向目标的环境模型由目标特征库、地图信息库和目标映射表来表示,具体描述如下:
1.2.1目标特征库
目标特征库中保存了服务机器人的主要操作目标的特征模板,这些特征主要是为服务机器人进行目标发现时提供依据,由于服务机器人主要依靠视觉传感器发现目标,所以目标特征库中存放的是目标的图像特征主要包括目标的颜色特征、纹理特征、形状特征等。按照集合论的观点,目标实际上可以看作由众多的特征词条构成的多维信息空间。
向量空间模型(VSM)是应用较多且效果较好的特征表示方法之一,借助于向量空间模型,目标特征库可被看作是由一组正交词条向量所组成的向量空间,每个目标表示其中的一个范化特征向量集。假设目标特征库为由m个目标特征向量集构成的向量空间S:
(1)
其中 表示第i个目标的特征向量集合。假设 由 个特征向量子集构成,即:
(2)
其中 表示第i个目标的第j个特征向量子集。由(1)(2)可表示出所有目标的特征。
目标特征库由机器人离线创建,并可以通过自学习不断进行更新,对目标特征库的更新主要包括增加、删除和修改目标特征向量集。
1.2.2地图信息库
地图信息库保存由服务机器人同时地位与地图创建(SLAM)所生成的环境地图,是机器人对其所在工作环境的抽象表述方式。目前研究的地图表示方法主要有:栅格表示法、特征表示法和拓扑表示法。基于栅格的地图表示方法将地图划分成一些大小相等的栅格,便于表示环境中的障碍物,有益于机器人的自主导航,但是随着栅格的增多需要大量的存储空间和计算时间。基于特征的表示方法利用稀疏的几何特征来描述环境,表示更为紧凑。拓扑图法采用一些关键的节点以及它们之间的相互关系来描述环境,但是环境中的特征很相似时,拓扑图表示法很难将它们区分开,而且定位精度较低。
服务机器人往往工作在结构化的室内环境,基于线段的几何环境特征能对结构化室内环境进行有效的描述,因此可采用特征表示法来构建地图信息库。
1.2.3目标映射表
目标映射表主要存放机器人操作目标与环境地图的映射关系表。在机器人进行同时定位与地图创建的同时,利用视觉对环境中物体进行特征提取,并根据事先创建的目标特征库对视觉提取的特征进行匹配,从而发现目标,实现环境中的目标定位,并将目标信息与地图信息进行特征映射,从而在机器人内部构造操作目标与环境地图的映射关系,便于机器人快速直接的从环境中定位操作目标。
1.3面向目标环境模型的构建
面向目标模型的构建依赖于多传感器的并行工作,使用距离传感器和位置传感器来进行传统的机器人同时定位与地图创建工作,实时地生成环境地图信息库,与此同时,并行工作的视觉传感器进行实时的图像信息处理,提取出环境中物体的特征信息,与机器人离线创建的物体特征库进行特征匹配,一旦匹配到特征库中的物体特征,则机器人认为发现了该物体,并将此物体的相关信息与其所在的地图信息进行关联影射,从而生成物体在地图中的位置关系表,即目标映射表。图1为面向目标的环境模型的构建流程图。
二、面向目标环境建模的关键技术
技术层面上,与传统的环境建模方法相比,面向目标环境建模的关键技术主要包括同时定位与地图创建、特征提取与匹配、目标映射表与地图信息库的映射以及环境模型的维护与更新等。
2.1同时定位与地图创建(SLAM)
同时定位与地图创建问题可以描述为:移动机器人在未知环境中运动时逐步构建周围环境的地图,同时运用此地图对机器人位置和姿态进行估计。研究SLAM问题是为了解决当前在缺乏精确全局定位传感器的情况下,依赖于机载传感器(如里程计、声纳、激光及超声等)来对机器人定位的问题。
2.2摄像机图像特征提取与匹配
把视觉传感器提供的原始数据从高维空间经过某种映射或变换,用低维空间来表示其特征,这个低维空间的数据集合便称为特征向量,获取特征向量的过程称作视觉特征提取。当机器人执行任务时,通过将特征库中的目标特征与实时提取的图像特征进行特征匹配,若匹配成功,则机器人认为目标定位成功。
图像特征提取方式很多,可以只通过当前图像提取,也可以通过最近采集的几针图像提取。无论哪种方式,都需要从庞杂的原始数据集合中抽取出观测对象的特征信息,常用的特征提取方法有:距离度量法、概率度量法、散度准则法和最小熵特征提取法。
图像特征匹配是将目标特征向量与从实际图像提取的特征向量进行比较,当满足一定的近似关系时,则认为匹配成功。但实际中由于特征匹配的结果受许多因素影响,比如物体遮挡、光照变化和噪声干扰等,尤其是一个图像的每个特征在另一个图像中不一定都有对应的匹配,因此找一个健壮的特征匹配算法是很重要的,下式为一种描述特征库中第i个目标特征向量与实际图像特征向量相似程度的多尺度特征匹配相似度函数:
(3)
其中, 为式(2)中第i个目标的第j个特征向量子集; 表示提取图像特征的第j个特征向量子集; 为第i个目标的特征向量所含特征子集的数目。 为第j个特征向量子集在整个特征集中的权重系数。需要注意的是:由于各个目标本身的属性不同,其在特征库中保存的特征向量子集的数目 和权重系数 也可能不同。
2.3目标映射表与地图信息库的映射
目标映射表与地图信息库的映射是创建面向目标环境模型的关键,成功的关联映射涉及到正确的观测与相应的状态变量匹配、探测和排除虚假观测以及时空对准等问题。本文采用拓扑树结构来描述机器人工作环境中目标和目标、目标和环境之间的位置关系。拓扑树结构由节点和连接构成,节点表示环境中的目标,连接表示目标之间的位置关系。一个家庭环境中水杯、手机、桌子和房间地图的位置关系的拓扑树表示如图2所示。
2.4面向目标环境模型的维护与更新
面向目标环境模型主要由目标特征库、地图信息库和目标映射表三部分构成,对环境模型的维护与更新也主要针对这三部分进行。目標特征库的更新与维护主要是服务机器人通过训练和学习,不断修改自身的知识库,属于机器学习的范畴,已有较成熟的理论和算法支持。而在已有地图信息库中对已知环境地图的机器人定位和对先验地图的修改也已有很多成功的应用实例,下面主要说明目标映射表的更新与维护。
面向目标环境建模方法更加注重所建立的环境模型的实用性,在面向目标环境模型下,服务机器人可快速的完成指定任务,但是由于实际环境是动态变化的,如前所述,目标映射表主要存储操作目标与环境地图之间的位置映射关系,对其进行及时地维护与更新是保证服务机器人对环境进行准确理解的必要环节。对目标映射表的更新与维护主要是更新一些映射关联,当机器人发现环境中的目标位置发生改变时,取消原有目标与环境地图的关联,并将该目标连接到新的环境地图中。
三、实验
实际应用中,服务机器人由中央控制单元控制里程计、激光测距仪和云台摄像机三种传感器并行工作,构建面向目标环境模型。通过里程计计算机器人的位置坐标,结合激光传感器获取的水平方向环境信息,进行同时定位与地图创建。与此同时,云台摄像机并行地辨识环境中的目标物体,并将目标信息映射到创建的地图中。当环境地图创建完成时,环境中的目标物体在的地图中的位置信息库也就构建完成。
面向目标环境模型建好之后,在服务机器人内部形成完整的环境及目标物体信息表示。当机器人收到取物等命令时,只需从目标映射表中找到该物体在环境中的位置,然后直接驶向目标位置,克服了机器人在环境中四处搜索目标的时间长、效率低的缺点。
实验结果表明:
(1)通过构建面向目标的环境模型,服务机器人对环境空间的理解能力增强了,对目标在环境中的位置关系更加明确。
(2)在进行目标搜索时,通过目标映射表直接定位到环境模型中的相应位置,避免了漫无目的的搜索,大大地缩短了任务执行的时间,提高了效率。
四、结论
本文提出了一种新型的面向目标的环境建模方法,该方法利用多传感器信息,在同时定位与地图创建的同时,使用视觉特征提取并与离线设计的目标特征库进行匹配,获取环境中的目标信息,通过目标映射表将目标信息与地图信息关联起来。极大地提高服务机器人的环境理解能力和工作效率。
下一步的工作:
(1)将多传感器提供的数据进行更深入的数据融合,补偿各自传感器自身的不足,提高面向目标环境模型的精度。
(2)探索更加有效的目标表示形式,进一步提高环境中目标特征匹配的成功率。
参考文献
[1]Piotr S. Simultaneous localization and mapping: A feature-based probabilistic approach. International Journal of Applied Mathematics and Computer Science, 2009, 19(4):575-588.
[2]Rodriguez L D, Matia F, Galan R. Building geometric feature based maps for indoor service robots[J]. Robotics and Autonomous Systems, 2006, 54(7):546- 558.
[3]Tom B, Steven M, Richard G. Bag-of-words-driven, single-camera simultaneous localization and mapping. Journal of Field Robotics, 2011, 28(2):204-226.
[4]Mark C, Paul N. FAB-MAP: Probabilistic localization and mapping in the space of appearance. International Journal of Robotics Research. 2008, 27(6):647-665.
[5]Paul E R, Stergios R, Maria G, et al. Appearance-based mapping using minimalistic sensor models. Autonomous Robots, 2008, 24(3):229-246.
[6]Tim K M, Andrew H, Max B, et al. Gamma-SLAM: Visual SLAM in unstructured environments using variance grid maps. Journal of Field Robotics, 2009, 26(1):26-51.
[7]石朝侠, 洪炳镕, 周彤, 等. 大规模环境下的拓扑地图创建与导航[J],机器人,2007,29(5):433-438.
[8]Tomatis N, Nourbakhsh I, Siegwart R. Hybrid simultaneous localization and map building: A natural integration of topological and metric[J]. Robotics and Autonomous System, 2003, 44(1):3-14.
[9]王珂, 王伟, 庄严, 等. 基于几何-拓扑广域三维地图和全向视觉的移动机器人自定位[J]. 自动化学报, 2008, 34(11):1369-1378.
[10]Blanco J L, Gonzalez J, Fernandez-Madrigal J A. Subjective local maps for hybrid metric-topological SLAM. Robotics and Autonomous Systems, 2009, 57(1): 64-74.
[11]Vasudevan S, Gachter S, Nguyen V, et al. Cognitive maps for mobile robots—an object based approach, Robotics and Autonomous Systems, 2007, 55(5):359–371.
[12]Vasudevan S, Siegwart R. Bayesian space conceptualization and place classification for semantic maps in mobile robotics. Robotics and Autonomous Systems, 2008, 56(6): 522-537.
[13]Zender H, Martínez M O, Jensfelt P, et al. Conceptual spatial representations for indoor mobile robots. Robotics and Autonomous Systems, 2008, 56(6): 493-502.
[14]吳皓, 田国会, 陈西博, 等. 基于机器人服务任务导向的室内未知环境地图构建. 机器人, 2010, 32(2):196- 203.
[15]Staffan E, Danica K, Patric J. Object detection and mapping for service robot tasks. Robotica, 2007, 25(2): 175-187.
(作者单位:1. 瑞和安惠项目管理集团有限公司 ;2. 秦皇岛职业技术学院;3. 中信戴卡股份有限公司)