面向对象的家庭全息地图表示与构建

2013-11-30 05:02孔令富高胜男吴培良
计算机工程与设计 2013年1期
关键词:全息物品房间

孔令富,高胜男,吴培良

(燕山大学 信息科学与工程学院,河北 秦皇岛066004)

0 引 言

家庭服务机器人是一种半自主或全自主地为人类提供服务的机器人。环境地图的表示和构建作为机器人进行路径规划和定位导航的依据,由此其成为机器人研究的热点之一[1]。

在机器人地图研究领域,其表示主要有以下几大类:第一,栅格地图,基于栅格的移动机器人地图表示[2],虽然易于创建和维护,但当栅格数量增大时(在大规模环境或环境划分比较细时),对于地图维护行为所占的内存和CPU时间会迅速增加,使计算机的实时处理变得很难。第二,拓扑地图,利用拓扑构建机器人地图[3],可实现快速的路径规划,且全局连贯性好,但是当环境中存在两个相似的地方时,此方法将很难确定是否为同一节点。第三,混合地图,综合考虑几何和拓扑两种表示方法的优缺点,创建几何-拓扑混合环境地图[4],在全局空间采取拓扑描述以保证全局连续性,在局部环境中则采用几何表示以利于机器人精确定位,但是地图只有结构化环境信息,不包含机器人操作对象,即家庭中的物品和家庭成员。第四,语义地图,文献[5]提出了机器人语义地图,使得机器人具有人的认知能力,但没有解决路径规划问题。第五,全息地图,文献[6]提出了全息地图这一概念,融合家庭全局空间及其中目标资源分布和动态变化的环境称为服务机器人的全息家庭环境,记录全息家庭环境信息的地图称为服务机器人的家庭全息地图,该地图完成了 “目标在哪里”和 “我要去目标那里”,但没有完成 “对目标的深层认知”和 “对目标的操作”的任务。

为了满足高效、智能服务的需求和使家庭服务机器人实现真正意义上的智能,就要求机器人在环境认知、路径规划和目标操作过程中应具备 “类人思想”——服务机器人的思维类似人的思维,因此,本文建立了适宜机器人理解和路径规划的面向对象的家庭全息地图,其将是机器人地图构建的趋势。

1 面向对象的家庭全息地图表示

1.1 面向对象的思想

面向对象思想[7]以现实世界中客观存在的事物(即对象)为中心来思考问题和认知问题,对象是一个统一体,它是由描述内部状态表示静态属性的数据以及可以对这些数据施加的操作封装在一起构成的,如图1所示。其核心机制是:联合,即将同一类对象中的若干个对象组合起来,成立一个高水平的对象;聚集,即将几个不同类型的简单对象组合成一个复杂对象,每个简单对象是复杂对象的一部分;继承,即自动地为一个对象提供来自另一个对象的属性和方法。

图1 对象组成

1.2 物品—房间—家庭三层表示模型

为了使机器人能够完成与其服务对象的友好交互,就要求机器人必须按照人对家庭环境的理解方式来理解其工作环境。从机器人路径规划和服务操作的任务要求出发,借鉴人对环境的面向对象分层认知思想,将家庭环境中的对象划分为实体-房间-家庭3个层次共13种类型,并为各层对象赋予不同的几何抽象,见表1。

表1 各层对象及其几何抽象

本文将物品层数据、房间层数据和家庭层数据融合形成物品—房间—家庭表示模型。面向对象的家庭全息地图可表示如下

式 中:Household holographic map——家庭全息地图,S——物品层,R——房间层,H——家庭层。

1.2.1 物品层表示

物品对象包含对应的属性、功能和操作方法等语义信息,在机器人找到物品后用以指导机器人对该物品的操作,这一过程类似于人按照产品说明书使用某产品。

物品层表示为机器人操作提供依据。此层的物品对象包含属性(名称、所属房间、是否被占用、位置、区域、特征、功能),方法(如何操作以实现可提供的功能)。

面向对象的物品层表示

其中,Si为三维模型的物品对象(object),ns表示物品层含有的物品数目。P表示物品对象的属性(property),包含名称N、所属房间R、是否可使用U、位置L、物品所在区域A、特征FE、功能FU;名称是该物品的名称Si.N;可否使用包括 “yes”和 “no”两种情况,其中 “yes”表示该物品可以使用,“no”表示该物品不可使用;位置是该物品点在全息地图中的空间坐标 {x,y,z};区域是该物品在全息地图中所占的区域 {a<x<b,c<y<d};特征包括ODCS、SIFT、纹理、颜色和几何形状等物品属性;FU表示物品具有什么功能,例如冰箱的功能是冷冻和保鲜;M表示该物品如何使用,即机器人对该物品的操作过程,其中,包括物品操作manipulate objects和执行命令executive command。

1.2.2 房间层表示

单个房间对象由多个相对独立的、具有各自功能的物品、环境特征,及两者之间的可行通路聚集而成。环境特征包含对应的环境特征信息,用以完成机器人在局部环境内的自定位。可行通路连接物品和环境特征的空间位置,为机器人定位目标物品并进行路径规划提供依据。

房间层表示为机器人路径规划和操作规划提供依据。此层包括三类对象,第一,物品操作点对象,该对象包含属性(名称、是否被占用),方法(物品操作方法),位姿(操作点在全息地图的位置);第二,房间环境可达点对象,该对象包含属性(名称、是否被占用)S,方法(目标物品操作点的选取),位姿(环境可达点在全息地图的位置);第三,运动路段对象,该对象包含属性(名称、所属房间、是否可通过、起点、终点、几何形状)方法(最优路径的选取)。

面向对象的房间层表示

其中,Ri表示单个房间对象,包括第一,物品操作点集OP,由nop个物品操作点OPi组成,该点对象由物品属性OP_P和方法OP_M封装而成,其属性包含物品操作点名称OP_N、是否空闲OP_O和位置OP_L,方法是该点相对应物品的操作过程。机器人在相应的OPi处完成人发出的语义指令。第二,环境可达点集AP,由nap个环境可达点对象APi组成,该点对象由环境可达点属性AP_P和方法AP_M封装而成,其属性包含环境可达点的名称AP_N、是否空闲AP_O和位置AP_L,方法是该点相应物品的操作过程。机器人在该点搜索下一步行走的径。第三,房间路径集RO,由nro个房间路径ROi组成,该线对象由房间路径的属性和方法封装而成,其中属性包含房间路径的名称RO_N、所属房间AP_R,是否可行RO_PA、路径起点RO_SP和路径终点RO_EP,方法表示环境可达点之间的位置关系说明。机器人通过该路径集在房间层进行路径规划。

1.2.3 家庭层表示

将整个家庭环境空间视为一个复合对象,该对象由若干相对独立的、各自具有不同功能的房间对象和走廊对象聚集而成。

家庭层表示为机器人路径规划提供依据。此层包括三类对象,第一,房间对象,既是房门,该对象包含属性(名称、特征、区域、功能、可否进出),如厨房对象、客厅对象等;第二,家庭环境可达点对象,该对象包含属性(名称、是否被占用),方法(构成机器人运动路段对象),位姿(家庭环境可达点在全息地图的位置),如拐角、墙角。第三,走廊路段对象,该对象包含属性(名称、起点、终点、可否可通过),如厨房-客厅路段对象。

面向对象的家庭层表示

H表示家庭层(即家庭对象)包括:第一,房门对象集D,由nd个房门对象Di组成,该点对象由房门的属性D_P和方法D_M封装而成,其中属

性包含房门的名称D_N、特征D_F、房间区域D_A和位置D_L,方法是机器人操作房门的过程。第二,环境可达点集A,由n个环境可达点对象Ai组成,该点对象由环境可达点的属性A_P和方法A_M封装而成,其中属性包含环境可达点的名称A_N、是否空闲A_O和位置A_L,方法是机器人搜寻下一步路径的方法。第三,走廊路段集C,由n个走廊路段对象Ci组成,该线对象由走廊路段对象的属性C_P和方法C_M封装而成,其中属性包含走廊路段的名称C_N、走廊起点C_SP、走廊终点C_EP和可否通行C_PA,方法是机器人在房间层的路径规划方法。

2 全息地图的构建

利用面向对象的思想提出了面向对象的家庭—房间—物品三层全息地图的表示方法,此表示方法只是理论上的面向对象的表示方法,但并不能够按照此方法存储到数据库中。因此,在给出了各层对象的选取原则和数据采集方法的情况下,将全息地图的表示方法转换成可存贮在数据库中的模型,即将数据类型转换层面向对象的数据类型,实现全息地图各个层之间的层与层的嵌套。

2.1 设计对象联系图

依据搜集到用于全息地图的表示和构建的全部数据及机器人对全息地图的任务需求,设计出容易被人理解的全息地图的ER模型(即ER图)并据此设计出对象联系图,家庭环境中所有对象的联系如图2所示。

图2 家庭环境中对象联系

2.2 创建各层的存储表

根据之前研究的各层对象的表示方法和对象联系图,抽化出公共的表,之后在创建其它表时就可以继承公共表的属性。

每一层都创建各自的表,用以储存各自的对象。创建表示时,在继承公共表的基础上要填充该表所特有的属性;

例如,创建subjects表存储物品对象的属性,subjects表结构定义如下:

在物品层中,物品的种类繁多,包括书、电脑、桌子等,但这些多属于物品,所以用继承性定义它们:

在房间层和家庭层不仅有对象属性的继承,对象与对象之间又存在着嵌套关系。

例如,在家庭层,环境可达点集和走廊路径集都属于家庭对象的属性,而它们各自都有自己的属性,依此它们的属性嵌套在家庭对象里。

Family(name,area,environment node set(name,used,location,mathod),arrived node set(name,starting node,ending node,used,mathod),mathod)

其它表的创建也类似于此。

2.3 对象空间数据的采集

机器人通过摄像机、测距仪和里程仪等传感器获取对象基本数据信息。

实际中,不同几何抽象的对象的属性可分为外观属性、内涵属性和空间数据属性。文献[8]详细介绍了通过QR码获取对象的前两者属性的方法,本文主要介绍点空间数据、线空间数据、面状和体状空间数据的采集及将其转换到全息地图坐标下的方法。各层对象数据、对象与全息地图的关系如图3所示。

图3 数据、对象与全息地图的关系

2.3.1 体状空间数据的采集

体状空间数据的采集就是获取体状物品在全息地图中的位置和姿态。文献[9]利用体状物品的特征点集构建体状物品模型,得到的模型表示如下

其中,PointID为特征点的编号,σ和θ分别为SIFT特征的尺度和主方向,FV=[Desceriptor1,...,Desceriptor128]分别为该特征点的128维特征描述符。PR=[XR,YR,ZR,1]T表示该特征点在目标参考坐标系CR下的坐标。

本文假设该模型已离线构建完成,基于该模型在线计算体状物品在地图中的位姿。具体过程分为三步:

(1)机器人通过双目视觉对特征点定位。在双目捕获图像中,根据模型中的SIFT特征数据(即σ,θ,FV)得到两幅图像中对应特征点的像素坐标,同时根据两摄像机的内参数和两摄像机坐标系在机器人坐标系的位姿(即两摄像机在机器人坐标系下的外参数),通过双目三角测量公式得到该特征点在机器人坐标系下的位置[10]。利用相同方法,得到机器人坐标系下至少6个特征点的坐标。

(2)针对上面得到多个特征点,联合各特征点在机器人坐标系下的空间位置,及其在体状目标模型中目标参考坐标系下的空间位置(即PR),计算出体状目标在机器人坐标系下的位姿(R1,t1)[11](即体状目标参考坐标系相对于机器人坐标系的旋转矩阵和平移矢量)。

(3)根据机器人当前位姿(R2,t2),通过坐标变换计算出体状目标在全息地图下的位姿(R3,t3),其关系如图4所示。

图4 坐标转换关系

至此,得到了体状目标在地图中的位置和姿态。

2.3.2 点空间数据的采集

点数据包括物品点、物品操作点和环境可达点,此三类点数据根据上一章节给出的点对象的选取原则进行采集。

(1)物品点通过体状物品的SIFT特征点推得其三维中心点(X,Y,Z)即为物品点。

(2)因为物品操作点在房间层,该类点用于机器人操作物品,只要能够寻找到位置即可,因此,通过物品点映射在X-O-Y坐标系下的坐标(X,Y)推得二维的物品操作点。

(3)由于环境可达点位于房间层和家庭层,其目的就是机器人路径规划,所以采集二维的环境可达点即可。通过物品的特征点(物品的拐角点)和物品操作点推得环境可达点。其关系如图5所示。

由于体状物品的特征点已经转换为全息地图坐标系下,因此在此基础上推得的各类点对象均是全息地图坐标系下的坐标。

图5 点对象的推导

2.3.3 线空间数据的采集(selecting line data)

线空间数据是全息地图中机器人的行走路径。机器人根据自身位姿及内部传感器里程仪来记录各个路径对象,分别存储到相应的层。

在各个点空间数据都提取完毕的基础上,线空间数据采集分为3个步骤:

(1)搜索出环境可达点;

(2)搜索出物品操作点;

(3)机器人确定某一起点和终点,通过自身的遍历记录下两点之间的路径点。

最后,此三步完成后获取线空间的所有路径点数据,之后通过最小二乘法拟合成线段,将其在全息地图坐标系下的空间数据存储到全息地图中。

2.4 对象数据输入

在个层的表都创建完毕时,将机器人提取的数据输入到各自的表中。

例如,将bed1对象的数据(属性)输入到表subjects中:

2.5 地图更新

由于家庭环境是人居住的地方,因此其是不稳定的,各层各个对象的状态存在人为的因素,因此该地图要再物品状态改变是进行实时的更新,即对象属性的更新。

例如,药瓶对象的位置改变是要对其属性进行更新:

Update subjects

Set subjects.subjects_location=MDSYS.SDO _GE-OMETRY(

2001,

NULL,

MDSYS.SDO_POINT_TYPE(x,y),

NULL,

NULL)

Where subjects.Name=’药瓶’);

3 实验与分析

本实验以Pioneer2-DX移动机器人为原型,以南北通透三居室的传统户型为例进行实验。为了机器人更容易的发现及操作物品,将家庭物品贴上包含物品的属性和操作方法的QR标签。

针对标准的3居室家庭环境,通过机器人传感器提取点对象、线对象和几何对象数据,经过坐标转换、最小二乘法拟合等对数据进行处理,构建出物品-房间-家庭表示模型。物品层包括27个物品、22个操作点、25个物品点和25条物品-操作点路径,如图6所示;房间层包括墙、物品、48个房间环境可达点和67条房间路径,如图7所示;家庭层包括墙、7个家庭环境可达点,房门和13条家庭路径,如图8所示。此三层构成家庭全息地图,如图9所示。

4 结束语

本文借鉴人面向对象的思想,构建了家庭-房间-物品模型表示的家庭全息地图。机器人根据家庭中对象的属性对其进行认知。在家庭层,机器人根据房门对象、家庭环境可达点对象和家庭路径对象完成房间之间的路径规划,找到物品所归属的房间;在房间层根据各个物品操作点对象、房间环境可达点对象及房间路段对象的关系进行路径规划,实现机器人在房间内的物品搜索;在物品层,机器人依据物品上贴有的QR码上的操作说明,完成对物品的操作。在家庭环境中验证了此表示方法的有效性。但对算法的准确性与实时性,家庭环境复杂性对地图表示和构建的影响,以及各层对象的最优选取等问题,还需要进一步的深入研究。

[1]Blanco JL,Gonzalez J,Fernaadez-Madrigal JA.Subjective local maps for hybrid metric-topological SLAM[J].Robotics and Autono-mous Systems,2009,57(1):64-74.

[2]Grisetti G,Stachniss C,Burgard W.Improved techniques for grid mapping with Rao-Blackwellized particle filter[J].IEEE Transactions on Robotics,2007,23(1):34-46.

[3]Blanco JL,Gonzalez J,Fernaadez-Madrigal JA.Subjective local maps for hybrid metric-topological SLAM[J].Robotics and Autonomous Systems,2009,57(1):64-74.

[4]Roriguez LD,Matiaf,Galan R.Building geometric feature based maps for indoor service robots[J].Robotics and Autonomous Systems,2006,54(7):546-558.

[5]Shrihari Vasudevan,Stefan Gachter,Viet Nguyen,et al.Cognitive maps for mobile robots-an object based approach[J].Robotics and Autonomous Systems,2007,55(1):359-371.

[6]WU Peiliang.Research on service Robot holographic mapping and its related issues under home intelligent space[D].Qinhuangdao:College of Information Science and Engineering,Yanshan University,2010:74-85(in Chinese).[吴培良.家庭智能空间中服务机器人全息建图及相关问题研究[D].燕山大学工学博士学位论文.秦皇岛:燕山大学信息工程学院,2010:74-85.]

[7]WU Zhengsheng,CUI Tiejun,GUO Jing.An object-oriented four-leveled spatial-data model[J].Journal of Zhengzhou Institute of Surveying and Mapping,2006,23(5):366-369(in Chinese).[吴正升,崔铁军,郭婧.一种面向对象的4层空间数据模型[J].测绘科学技术学报,2006,23(5):366-369.]

[8]Andreas Nüchter,Joachim Hertzberg.Towards semantic maps for mobile robots[J].Robotics and Autonomous Systems,2008,56(11):915-926.

[9]WU Peiliang,KONG Lingfu,LI Haitao.Object simultaneous recognition and pose estimation for service robot[J].Journal of Engineering Graphics,2010,31(5):81-88(in Chinese).[吴培良,孔令富,李海涛.服务机器人目标同时识别与位姿判定研究[J].工程图学,2010,31(5):81-88.]

[10]Ceil T,Marthaler D E.A variational approach to planing in three dimensions using level set methods[J].Journal of Computational Physics,2006,211(1):179-197.

[11]YANG Guanglin,KONG Lingfu,WANG Jie.A new calibration approach to hand-eye relation of manipulator[J].Robot,2006,28(4):400-405(in Chinese).[杨广林,孔令富,王洁.一种新的机器人手眼关系标定方法[J].机器人,2006,28(4):400-405.]

猜你喜欢
全息物品房间
称物品
全息? 全息投影? 傻傻分不清楚
Chapter 4 Merrick's first home
"全息投影"
“双十一”,你抢到了想要的物品吗?
房间
全息欣赏:小学美术“欣赏·评述”学习新样态
谁动了凡·高的物品
房间,这是我的房间
锁在房间里的云