孔令富,高勝男,吳培良
(燕山大學 信息科學與工程學院,河北 秦皇島066004)
家庭服務機器人是一種半自主或全自主地為人類提供服務的機器人。環(huán)境地圖的表示和構建作為機器人進行路徑規(guī)劃和定位導航的依據,由此其成為機器人研究的熱點之一[1]。
在機器人地圖研究領域,其表示主要有以下幾大類:第一,柵格地圖,基于柵格的移動機器人地圖表示[2],雖然易于創(chuàng)建和維護,但當柵格數量增大時(在大規(guī)模環(huán)境或環(huán)境劃分比較細時),對于地圖維護行為所占的內存和CPU時間會迅速增加,使計算機的實時處理變得很難。第二,拓撲地圖,利用拓撲構建機器人地圖[3],可實現快速的路徑規(guī)劃,且全局連貫性好,但是當環(huán)境中存在兩個相似的地方時,此方法將很難確定是否為同一節(jié)點。第三,混合地圖,綜合考慮幾何和拓撲兩種表示方法的優(yōu)缺點,創(chuàng)建幾何-拓撲混合環(huán)境地圖[4],在全局空間采取拓撲描述以保證全局連續(xù)性,在局部環(huán)境中則采用幾何表示以利于機器人精確定位,但是地圖只有結構化環(huán)境信息,不包含機器人操作對象,即家庭中的物品和家庭成員。第四,語義地圖,文獻[5]提出了機器人語義地圖,使得機器人具有人的認知能力,但沒有解決路徑規(guī)劃問題。第五,全息地圖,文獻[6]提出了全息地圖這一概念,融合家庭全局空間及其中目標資源分布和動態(tài)變化的環(huán)境稱為服務機器人的全息家庭環(huán)境,記錄全息家庭環(huán)境信息的地圖稱為服務機器人的家庭全息地圖,該地圖完成了 “目標在哪里”和 “我要去目標那里”,但沒有完成 “對目標的深層認知”和 “對目標的操作”的任務。
為了滿足高效、智能服務的需求和使家庭服務機器人實現真正意義上的智能,就要求機器人在環(huán)境認知、路徑規(guī)劃和目標操作過程中應具備 “類人思想”——服務機器人的思維類似人的思維,因此,本文建立了適宜機器人理解和路徑規(guī)劃的面向對象的家庭全息地圖,其將是機器人地圖構建的趨勢。
面向對象思想[7]以現實世界中客觀存在的事物(即對象)為中心來思考問題和認知問題,對象是一個統一體,它是由描述內部狀態(tài)表示靜態(tài)屬性的數據以及可以對這些數據施加的操作封裝在一起構成的,如圖1所示。其核心機制是:聯合,即將同一類對象中的若干個對象組合起來,成立一個高水平的對象;聚集,即將幾個不同類型的簡單對象組合成一個復雜對象,每個簡單對象是復雜對象的一部分;繼承,即自動地為一個對象提供來自另一個對象的屬性和方法。

圖1 對象組成
為了使機器人能夠完成與其服務對象的友好交互,就要求機器人必須按照人對家庭環(huán)境的理解方式來理解其工作環(huán)境。從機器人路徑規(guī)劃和服務操作的任務要求出發(fā),借鑒人對環(huán)境的面向對象分層認知思想,將家庭環(huán)境中的對象劃分為實體-房間-家庭3個層次共13種類型,并為各層對象賦予不同的幾何抽象,見表1。

表1 各層對象及其幾何抽象
本文將物品層數據、房間層數據和家庭層數據融合形成物品—房間—家庭表示模型。面向對象的家庭全息地圖可表示如下

式 中:Household holographic map——家庭全息地圖,S——物品層,R——房間層,H——家庭層。
1.2.1 物品層表示
物品對象包含對應的屬性、功能和操作方法等語義信息,在機器人找到物品后用以指導機器人對該物品的操作,這一過程類似于人按照產品說明書使用某產品。
物品層表示為機器人操作提供依據。此層的物品對象包含屬性(名稱、所屬房間、是否被占用、位置、區(qū)域、特征、功能),方法(如何操作以實現可提供的功能)。
面向對象的物品層表示

其中,Si為三維模型的物品對象(object),ns表示物品層含有的物品數目。P表示物品對象的屬性(property),包含名稱N、所屬房間R、是否可使用U、位置L、物品所在區(qū)域A、特征FE、功能FU;名稱是該物品的名稱Si.N;可否使用包括 “yes”和 “no”兩種情況,其中 “yes”表示該物品可以使用,“no”表示該物品不可使用;位置是該物品點在全息地圖中的空間坐標 {x,y,z};區(qū)域是該物品在全息地圖中所占的區(qū)域 {a<x<b,c<y<d};特征包括ODCS、SIFT、紋理、顏色和幾何形狀等物品屬性;FU表示物品具有什么功能,例如冰箱的功能是冷凍和保鮮;M表示該物品如何使用,即機器人對該物品的操作過程,其中,包括物品操作manipulate objects和執(zhí)行命令executive command。
1.2.2 房間層表示
單個房間對象由多個相對獨立的、具有各自功能的物品、環(huán)境特征,及兩者之間的可行通路聚集而成。環(huán)境特征包含對應的環(huán)境特征信息,用以完成機器人在局部環(huán)境內的自定位??尚型愤B接物品和環(huán)境特征的空間位置,為機器人定位目標物品并進行路徑規(guī)劃提供依據。
房間層表示為機器人路徑規(guī)劃和操作規(guī)劃提供依據。此層包括三類對象,第一,物品操作點對象,該對象包含屬性(名稱、是否被占用),方法(物品操作方法),位姿(操作點在全息地圖的位置);第二,房間環(huán)境可達點對象,該對象包含屬性(名稱、是否被占用)S,方法(目標物品操作點的選取),位姿(環(huán)境可達點在全息地圖的位置);第三,運動路段對象,該對象包含屬性(名稱、所屬房間、是否可通過、起點、終點、幾何形狀)方法(最優(yōu)路徑的選取)。
面向對象的房間層表示

其中,Ri表示單個房間對象,包括第一,物品操作點集OP,由nop個物品操作點OPi組成,該點對象由物品屬性OP_P和方法OP_M封裝而成,其屬性包含物品操作點名稱OP_N、是否空閑OP_O和位置OP_L,方法是該點相對應物品的操作過程。機器人在相應的OPi處完成人發(fā)出的語義指令。第二,環(huán)境可達點集AP,由nap個環(huán)境可達點對象APi組成,該點對象由環(huán)境可達點屬性AP_P和方法AP_M封裝而成,其屬性包含環(huán)境可達點的名稱AP_N、是否空閑AP_O和位置AP_L,方法是該點相應物品的操作過程。機器人在該點搜索下一步行走的徑。第三,房間路徑集RO,由nro個房間路徑ROi組成,該線對象由房間路徑的屬性和方法封裝而成,其中屬性包含房間路徑的名稱RO_N、所屬房間AP_R,是否可行RO_PA、路徑起點RO_SP和路徑終點RO_EP,方法表示環(huán)境可達點之間的位置關系說明。機器人通過該路徑集在房間層進行路徑規(guī)劃。
1.2.3 家庭層表示
將整個家庭環(huán)境空間視為一個復合對象,該對象由若干相對獨立的、各自具有不同功能的房間對象和走廊對象聚集而成。
家庭層表示為機器人路徑規(guī)劃提供依據。此層包括三類對象,第一,房間對象,既是房門,該對象包含屬性(名稱、特征、區(qū)域、功能、可否進出),如廚房對象、客廳對象等;第二,家庭環(huán)境可達點對象,該對象包含屬性(名稱、是否被占用),方法(構成機器人運動路段對象),位姿(家庭環(huán)境可達點在全息地圖的位置),如拐角、墻角。第三,走廊路段對象,該對象包含屬性(名稱、起點、終點、可否可通過),如廚房-客廳路段對象。
面向對象的家庭層表示


H表示家庭層(即家庭對象)包括:第一,房門對象集D,由nd個房門對象Di組成,該點對象由房門的屬性D_P和方法D_M封裝而成,其中屬
性包含房門的名稱D_N、特征D_F、房間區(qū)域D_A和位置D_L,方法是機器人操作房門的過程。第二,環(huán)境可達點集A,由n個環(huán)境可達點對象Ai組成,該點對象由環(huán)境可達點的屬性A_P和方法A_M封裝而成,其中屬性包含環(huán)境可達點的名稱A_N、是否空閑A_O和位置A_L,方法是機器人搜尋下一步路徑的方法。第三,走廊路段集C,由n個走廊路段對象Ci組成,該線對象由走廊路段對象的屬性C_P和方法C_M封裝而成,其中屬性包含走廊路段的名稱C_N、走廊起點C_SP、走廊終點C_EP和可否通行C_PA,方法是機器人在房間層的路徑規(guī)劃方法。
利用面向對象的思想提出了面向對象的家庭—房間—物品三層全息地圖的表示方法,此表示方法只是理論上的面向對象的表示方法,但并不能夠按照此方法存儲到數據庫中。因此,在給出了各層對象的選取原則和數據采集方法的情況下,將全息地圖的表示方法轉換成可存貯在數據庫中的模型,即將數據類型轉換層面向對象的數據類型,實現全息地圖各個層之間的層與層的嵌套。
依據搜集到用于全息地圖的表示和構建的全部數據及機器人對全息地圖的任務需求,設計出容易被人理解的全息地圖的ER模型(即ER圖)并據此設計出對象聯系圖,家庭環(huán)境中所有對象的聯系如圖2所示。

圖2 家庭環(huán)境中對象聯系
根據之前研究的各層對象的表示方法和對象聯系圖,抽化出公共的表,之后在創(chuàng)建其它表時就可以繼承公共表的屬性。

每一層都創(chuàng)建各自的表,用以儲存各自的對象。創(chuàng)建表示時,在繼承公共表的基礎上要填充該表所特有的屬性;
例如,創(chuàng)建subjects表存儲物品對象的屬性,subjects表結構定義如下:

在物品層中,物品的種類繁多,包括書、電腦、桌子等,但這些多屬于物品,所以用繼承性定義它們:

在房間層和家庭層不僅有對象屬性的繼承,對象與對象之間又存在著嵌套關系。
例如,在家庭層,環(huán)境可達點集和走廊路徑集都屬于家庭對象的屬性,而它們各自都有自己的屬性,依此它們的屬性嵌套在家庭對象里。
Family(name,area,environment node set(name,used,location,mathod),arrived node set(name,starting node,ending node,used,mathod),mathod)
其它表的創(chuàng)建也類似于此。
機器人通過攝像機、測距儀和里程儀等傳感器獲取對象基本數據信息。
實際中,不同幾何抽象的對象的屬性可分為外觀屬性、內涵屬性和空間數據屬性。文獻[8]詳細介紹了通過QR碼獲取對象的前兩者屬性的方法,本文主要介紹點空間數據、線空間數據、面狀和體狀空間數據的采集及將其轉換到全息地圖坐標下的方法。各層對象數據、對象與全息地圖的關系如圖3所示。

圖3 數據、對象與全息地圖的關系
2.3.1 體狀空間數據的采集
體狀空間數據的采集就是獲取體狀物品在全息地圖中的位置和姿態(tài)。文獻[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 坐標轉換關系

至此,得到了體狀目標在地圖中的位置和姿態(tài)。
2.3.2 點空間數據的采集
點數據包括物品點、物品操作點和環(huán)境可達點,此三類點數據根據上一章節(jié)給出的點對象的選取原則進行采集。
(1)物品點通過體狀物品的SIFT特征點推得其三維中心點(X,Y,Z)即為物品點。
(2)因為物品操作點在房間層,該類點用于機器人操作物品,只要能夠尋找到位置即可,因此,通過物品點映射在X-O-Y坐標系下的坐標(X,Y)推得二維的物品操作點。
(3)由于環(huán)境可達點位于房間層和家庭層,其目的就是機器人路徑規(guī)劃,所以采集二維的環(huán)境可達點即可。通過物品的特征點(物品的拐角點)和物品操作點推得環(huán)境可達點。其關系如圖5所示。
由于體狀物品的特征點已經轉換為全息地圖坐標系下,因此在此基礎上推得的各類點對象均是全息地圖坐標系下的坐標。

圖5 點對象的推導
2.3.3 線空間數據的采集(selecting line data)
線空間數據是全息地圖中機器人的行走路徑。機器人根據自身位姿及內部傳感器里程儀來記錄各個路徑對象,分別存儲到相應的層。
在各個點空間數據都提取完畢的基礎上,線空間數據采集分為3個步驟:
(1)搜索出環(huán)境可達點;
(2)搜索出物品操作點;
(3)機器人確定某一起點和終點,通過自身的遍歷記錄下兩點之間的路徑點。
最后,此三步完成后獲取線空間的所有路徑點數據,之后通過最小二乘法擬合成線段,將其在全息地圖坐標系下的空間數據存儲到全息地圖中。
在個層的表都創(chuàng)建完畢時,將機器人提取的數據輸入到各自的表中。
例如,將bed1對象的數據(屬性)輸入到表subjects中:

由于家庭環(huán)境是人居住的地方,因此其是不穩(wěn)定的,各層各個對象的狀態(tài)存在人為的因素,因此該地圖要再物品狀態(tài)改變是進行實時的更新,即對象屬性的更新。
例如,藥瓶對象的位置改變是要對其屬性進行更新:
Update subjects
Set subjects.subjects_location=MDSYS.SDO _GE-OMETRY(
2001,
NULL,
MDSYS.SDO_POINT_TYPE(x,y),
NULL,
NULL)
Where subjects.Name=’藥瓶’);
本實驗以Pioneer2-DX移動機器人為原型,以南北通透三居室的傳統戶型為例進行實驗。為了機器人更容易的發(fā)現及操作物品,將家庭物品貼上包含物品的屬性和操作方法的QR標簽。
針對標準的3居室家庭環(huán)境,通過機器人傳感器提取點對象、線對象和幾何對象數據,經過坐標轉換、最小二乘法擬合等對數據進行處理,構建出物品-房間-家庭表示模型。物品層包括27個物品、22個操作點、25個物品點和25條物品-操作點路徑,如圖6所示;房間層包括墻、物品、48個房間環(huán)境可達點和67條房間路徑,如圖7所示;家庭層包括墻、7個家庭環(huán)境可達點,房門和13條家庭路徑,如圖8所示。此三層構成家庭全息地圖,如圖9所示。




本文借鑒人面向對象的思想,構建了家庭-房間-物品模型表示的家庭全息地圖。機器人根據家庭中對象的屬性對其進行認知。在家庭層,機器人根據房門對象、家庭環(huán)境可達點對象和家庭路徑對象完成房間之間的路徑規(guī)劃,找到物品所歸屬的房間;在房間層根據各個物品操作點對象、房間環(huán)境可達點對象及房間路段對象的關系進行路徑規(guī)劃,實現機器人在房間內的物品搜索;在物品層,機器人依據物品上貼有的QR碼上的操作說明,完成對物品的操作。在家庭環(huán)境中驗證了此表示方法的有效性。但對算法的準確性與實時性,家庭環(huán)境復雜性對地圖表示和構建的影響,以及各層對象的最優(yōu)選取等問題,還需要進一步的深入研究。
[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.]