用于構(gòu)建用于移動機器人的地圖的方法和設(shè)備的制作方法
【專利摘要】公開了一種用于構(gòu)建用于移動機器人的地圖的方法和設(shè)備。一種可以減少數(shù)據(jù)量并增加接近速度的構(gòu)建用于移動機器人的方法和設(shè)備。所述方法包括:通過掃描移動機器人的周圍環(huán)境來搜索占據(jù)任意空間的多條特征數(shù)據(jù);對所述多條特征數(shù)據(jù)的第一特征數(shù)據(jù)執(zhí)行四叉樹分割以產(chǎn)生多條第一節(jié)點信息作為四叉樹分割的結(jié)果;確定所述多條特征數(shù)據(jù)中的第二特征數(shù)據(jù)針對第一特征數(shù)據(jù)的位置;執(zhí)行鄰域移動算法,以通過使用所述多條第一節(jié)點信息來根據(jù)第二特征數(shù)據(jù)的位置產(chǎn)生第二特征數(shù)據(jù)的多條第二節(jié)點信息。
【專利說明】用于構(gòu)建用于移動機器人的地圖的方法和設(shè)備
[0001] 本申請要求于2013年5月7日在韓國知識產(chǎn)權(quán)局提交的第10-2013-0051497號 韓國專利申請的優(yōu)先權(quán),該申請的公開通過引用整個包含于此。
【技術(shù)領(lǐng)域】
[0002] 與示例性實施例一致的設(shè)備和方法涉及構(gòu)建用于移動機器人的地圖以減少數(shù)據(jù) 量并增加接近速度。
【背景技術(shù)】
[0003] 移動機器人應(yīng)該不僅察覺在給定環(huán)境中的自身位置,還應(yīng)在進入先前未探索過的 新環(huán)境時構(gòu)建周圍環(huán)境的地圖。構(gòu)建用于移動機器人的地圖的操作包括以下任務(wù):識別附 近障礙物或?qū)ο蟮奈恢?、移動機器人可以自由移動的開闊空間等,以及按照適當?shù)姆椒ㄓ?錄通過識別獲得的信息。
[0004] 構(gòu)建用于移動機器人的地圖的方法可被大致分類為二維(2D)基于網(wǎng)格環(huán)境地圖 構(gòu)建方法和基于四叉樹環(huán)境地圖構(gòu)建方法?;诰W(wǎng)格環(huán)境地圖構(gòu)建方法允許機器人將周圍 環(huán)境分割為2D網(wǎng)格,并記錄在機器人的當前位置的任意網(wǎng)格中是否存在障礙物。然而,基 于網(wǎng)格環(huán)境地圖構(gòu)建方法的問題在于,由于隨著移動機器人的行駛距離增加或者將移動到 的空間的大小增加數(shù)據(jù)量也增加,因此需要大存儲器容量。作為比較,由于基于四叉樹環(huán)境 地圖構(gòu)建方法通過將存在障礙物的區(qū)域分割為微小區(qū)域來將信息分配給節(jié)點,但是僅顯示 與表示不存在障礙物的區(qū)域的一個大空間的節(jié)點相關(guān)的信息,因此可有效地使用存儲器。 然而,由于基于四叉樹環(huán)境地圖構(gòu)建方法不具有空間指數(shù)信息,因此需要長接近時間來接 近任意節(jié)點,并且搜索存儲的數(shù)據(jù)的位置是復(fù)雜的,因而基于四叉樹環(huán)境地圖構(gòu)建方法不 適合于路徑計劃。
【發(fā)明內(nèi)容】
[0005] -個或多個示例性實施例提供用于構(gòu)建用于移動機器人的地圖的方法和設(shè)備,以 減少數(shù)據(jù)量并增加接近速度從而移動機器人可以在廣范圍內(nèi)操作。
[0006] 根據(jù)示例性實施例的一方面,提供一種構(gòu)建用于移動機器人的地圖的方法,所述 方法包括:通過掃描移動機器人的周圍環(huán)境來搜索占據(jù)任意空間的多條特征數(shù)據(jù);對所述 多條特征數(shù)據(jù)的第一特征數(shù)據(jù)執(zhí)行四叉樹分割以產(chǎn)生多條第一節(jié)點信息;確定所述多條特 征數(shù)據(jù)中的第二特征數(shù)據(jù)針對第一特征數(shù)據(jù)的位置;執(zhí)行鄰域移動算法,以通過使用所述 多條第一節(jié)點信息來根據(jù)第二特征數(shù)據(jù)的位置產(chǎn)生第二特征數(shù)據(jù)的多條第二節(jié)點信息。
[0007] 所述確定位置的步驟可包括:確定第二特征數(shù)據(jù)位于第一位置、第二位置、第三位 置和第四位置中的一個位置,其中,第一位置、第二位置、第三位置和第四位置彼此成直角。
[0008] 所述執(zhí)行鄰域移動算法的步驟可包括:執(zhí)行第一鄰域移動算法、第二鄰域移動算 法、第三鄰域移動算法和第四鄰域移動算法中的一個算法,以根據(jù)第二特征數(shù)據(jù)的確定的 位置產(chǎn)生第二特征數(shù)據(jù)的多條第二節(jié)點信息。
[0009] 執(zhí)行第一鄰域移動算法、第二鄰域移動算法、第三鄰域移動算法和第四鄰域移動 算法中的一個的步驟包括:響應(yīng)于確定的位置是第一位置,執(zhí)行第一鄰域移動算法,以產(chǎn)生 第二特征數(shù)據(jù)的多條第二節(jié)點信息;響應(yīng)于確定的位置是第二位置,執(zhí)行第二鄰域移動算 法,以產(chǎn)生第二特征數(shù)據(jù)的多條第二節(jié)點信息;響應(yīng)于確定的位置是第三位置,執(zhí)行第三鄰 域移動算法,以產(chǎn)生第二特征數(shù)據(jù)的多條第二節(jié)點信息;響應(yīng)于確定的位置是第四位置,執(zhí) 行第四鄰域移動算法,以產(chǎn)生第二特征數(shù)據(jù)的多條第二節(jié)點信息。
[0010] 執(zhí)行第一鄰域移動算法、第二鄰域移動算法、第三鄰域移動算法和第四鄰域移動 算法中的一個的步驟可包括:確定第一特征數(shù)據(jù)的多條第一節(jié)點信息中的底節(jié)點是否包括 與從第一特征數(shù)據(jù)到第二特征數(shù)據(jù)的確定的位置延伸的方向相反的確定方向。
[0011] 執(zhí)行第一鄰域移動算法、第二鄰域移動算法、第三鄰域移動算法和第四鄰域移動 算法中的一個的步驟還可包括:響應(yīng)于第一特征數(shù)據(jù)的多條第一節(jié)點信息中的底節(jié)點具有 所述確定方向,產(chǎn)生第二特征數(shù)據(jù)的第一多條第二節(jié)點信息。
[0012] 執(zhí)行第一鄰域移動算法、第二鄰域移動算法、第三鄰域移動算法和第四鄰域移動 算法中的一個的步驟還可包括:響應(yīng)于第一特征數(shù)據(jù)的多條第一節(jié)點信息中的底節(jié)點具有 從第一特征數(shù)據(jù)到第二特征數(shù)據(jù)的確定的位置的方向,產(chǎn)生第二特征數(shù)據(jù)的第二多條第二 節(jié)點信息。
[0013] 產(chǎn)生第二特征數(shù)據(jù)的第一多條第二節(jié)點信息的步驟可包括:將第一特征數(shù)據(jù)的多 條第一節(jié)點信息中的底節(jié)點的確定方向改變?yōu)閺牡谝惶卣鲾?shù)據(jù)到第二特征數(shù)據(jù)的確定的 位置的方向;作為將第一節(jié)點信息的改變的底節(jié)點與第一節(jié)點信息的剩余節(jié)點組合的結(jié) 果,產(chǎn)生第二特征數(shù)據(jù)的第一多條第二節(jié)點信息。
[0014] 產(chǎn)生第二特征數(shù)據(jù)的第二多條第二節(jié)點信息的步驟可包括:將從第一特征數(shù)據(jù)到 第一特征數(shù)據(jù)的多條第一節(jié)點信息中的底節(jié)點的第二特征數(shù)據(jù)的確定的位置的方向改變 為所述確定方向并移動到底節(jié)點的父節(jié)點;將父節(jié)點的所述確定方向改變?yōu)閺牡谝惶卣?數(shù)據(jù)到第二特征數(shù)據(jù)的確定的位置的方向;作為將第一節(jié)點信息的改變的底節(jié)點和改變的 父節(jié)點與第一節(jié)點信息的剩余節(jié)點組合的結(jié)果,產(chǎn)生第二特征數(shù)據(jù)的第二多條第二節(jié)點信 肩、。
[0015] 根據(jù)另一示例性實施例的一方面,提供一種用于構(gòu)建用于移動機器人的地圖的設(shè) 備,所述設(shè)備包括:環(huán)境識別單元,被構(gòu)造為通過掃描移動機器人的周圍環(huán)境來搜索占據(jù)任 意空間的多條特征數(shù)據(jù);四叉樹信息產(chǎn)生單元,被構(gòu)造為對所述多條特征數(shù)據(jù)的第一特征 數(shù)據(jù)執(zhí)行四叉樹分割以產(chǎn)生多條第一節(jié)點信息;搜索單元,被構(gòu)造為確定所述多條特征數(shù) 據(jù)中的第二特征數(shù)據(jù)針對第一特征數(shù)據(jù)的位置;鄰域移動信息產(chǎn)生單元,被構(gòu)造為執(zhí)行鄰 域移動算法,用于通過使用所述多條第一節(jié)點信息來根據(jù)第二特征數(shù)據(jù)的位置產(chǎn)生第二特 征數(shù)據(jù)的多條第二節(jié)點信息。
[0016] 搜索單元可確定第二特征數(shù)據(jù)位于第一位置、第二位置、第三位置和第四位置中 的一個位置,其中,第一位置、第二位置、第三位置和第四位置可以彼此成直角。
[0017] 鄰域移動信息產(chǎn)生單元可執(zhí)行第一鄰域移動算法、第二鄰域移動算法、第三鄰域 移動算法和第四鄰域移動算法中的一個算法,以根據(jù)第二特征數(shù)據(jù)的位置產(chǎn)生第二特征數(shù) 據(jù)的多條第二節(jié)點信息。
[0018] 鄰域移動信息產(chǎn)生單元可執(zhí)行以下操作:響應(yīng)于確定的位置是第一位置,執(zhí)行第 一鄰域移動算法,以產(chǎn)生第二特征數(shù)據(jù)的多條第二節(jié)點信息;響應(yīng)于確定的位置是第二位 置,執(zhí)行第二鄰域移動算法,以產(chǎn)生第二特征數(shù)據(jù)的多條第二節(jié)點信息;響應(yīng)于確定的位置 是第三位置,執(zhí)行第三鄰域移動算法,以產(chǎn)生第二特征數(shù)據(jù)的多條第二節(jié)點信息;響應(yīng)于確 定的位置是第四位置,執(zhí)行第四鄰域移動算法,以產(chǎn)生第二特征數(shù)據(jù)的多條第二節(jié)點信息。
[0019] 鄰域移動信息產(chǎn)生單元可確定第一特征數(shù)據(jù)的多條第一節(jié)點信息中的底節(jié)點是 否包括與從第一特征數(shù)據(jù)到第二特征數(shù)據(jù)的確定的位置延伸的方向相反的確定方向。
[0020] 鄰域移動信息產(chǎn)生單元可響應(yīng)于第一特征數(shù)據(jù)的多條第一節(jié)點信息中的底節(jié)點 具有所述確定方向,產(chǎn)生第二特征數(shù)據(jù)的第一多條第二節(jié)點信息。
[0021] 鄰域移動信息產(chǎn)生單元可響應(yīng)于第一特征數(shù)據(jù)的多條第一節(jié)點信息中的底節(jié)點 具有從第一特征數(shù)據(jù)到第二特征數(shù)據(jù)的確定的位置的方向,產(chǎn)生第二特征數(shù)據(jù)的第二多條 第二節(jié)點信息。
[0022] 鄰域移動信息產(chǎn)生單元可執(zhí)行以下操作:將第一特征數(shù)據(jù)的多條第一節(jié)點信息中 的底節(jié)點的確定方向改變?yōu)閺牡谝惶卣鲾?shù)據(jù)到第二特征數(shù)據(jù)的確定的位置的方向;作為將 第一節(jié)點信息的改變的底節(jié)點與第一節(jié)點信息的剩余節(jié)點組合的結(jié)果,產(chǎn)生第二特征數(shù)據(jù) 的第一多條第二節(jié)點信息。
[0023] 鄰域移動信息產(chǎn)生單元可執(zhí)行以下操作:將從第一特征數(shù)據(jù)到第一特征數(shù)據(jù)的多 條第一節(jié)點信息中的底節(jié)點的第二特征數(shù)據(jù)的確定的位置的方向改變?yōu)樗龃_定方向并 移動到底節(jié)點的父節(jié)點;將所述確定方向改變?yōu)閺牡谝惶卣鲾?shù)據(jù)到第二特征數(shù)據(jù)的確定的 位置的方向;作為將第一節(jié)點信息的改變的底節(jié)點和改變的父節(jié)點與第一節(jié)點信息的剩余 節(jié)點組合的結(jié)果,產(chǎn)生第二特征數(shù)據(jù)的第二多條第二節(jié)點信息。
【專利附圖】
【附圖說明】
[0024] 通過參照附圖詳細描述本公開的示例性實施例,本公開的以上和/或其他特征和 優(yōu)點將變得更清楚,其中:
[0025] 圖1是根據(jù)示例性實施例的構(gòu)建用于移動機器人的地圖的設(shè)備的框圖;
[0026] 圖2示出作為圖1的移動機器人的環(huán)境識別的結(jié)果而獲得的多條特征數(shù)據(jù);
[0027] 圖3示出根據(jù)示例性實施例的設(shè)置的地圖區(qū)域;
[0028] 圖4A和圖4B示出根據(jù)示例性實施例的圖1的第一特征數(shù)據(jù)的四叉樹分割和第一 節(jié)點信息的產(chǎn)生;
[0029] 圖5A至圖8B示出根據(jù)示例性實施例的圖1的第一鄰域移動信息、第二鄰域移動 信息、第三鄰域移動信息和第四鄰域移動信息的產(chǎn)生;
[0030] 圖9是示出根據(jù)示例性實施例的構(gòu)建用于移動機器人的地圖的方法的流程圖;
[0031] 圖10是示出根據(jù)示例性實施例的圖9的鄰域移動算法的操作的流程圖;
[0032] 圖11至圖14是分別示出根據(jù)示例性實施例的圖10的第一鄰域移動算法至第四 鄰域移動算法的操作的流程圖。
【具體實施方式】
[0033] 如在此所使用的,術(shù)語"和/或"包括一個或多個相關(guān)聯(lián)列表項的任何和所有組 合。
[0034] 本發(fā)明構(gòu)思可允許各種類型的改變或修改,并具有多個實施例,并且將在附圖中 示出特定的示例性實施例,并將在以下的詳細描述中詳細描述這些實施例。然而,應(yīng)理解, 特定的實施例不將本發(fā)明構(gòu)思限制為特定的公開形式,而是包括在本發(fā)明構(gòu)思的精神和技 術(shù)范圍中的各種修改、等同或者替代物。在以下的描述中,不會詳細描述公知技術(shù),以免用 不必要的細節(jié)使示例性實施例模糊。
[0035] 雖然諸如"第一"和"第二"的術(shù)語可被用于描述各種實施例,元素不會被術(shù)語限 制。術(shù)語可被用于將特定元素與另一元素分類。
[0036] 在本申請中使用的術(shù)語僅用于描述特定示例性實施例,而不具有任何限制本發(fā)明 構(gòu)思的目的。單數(shù)形式的表述包括復(fù)數(shù)形式的表述,除非在上下文中它們明顯彼此不同。在 本申請中,應(yīng)理解諸如"包括"和"具有"的術(shù)語被用于指示實現(xiàn)的特征、數(shù)量、步驟、操作、 元素、部件或者它們的組合的存在,而不是預(yù)先排除一個或多個其他的特征、數(shù)量、步驟、操 作、元素、部件或者它們的組合的存在或添加的可能性。
[0037] 可以以功能塊和各種處理步驟來表示本發(fā)明構(gòu)思。這些功能塊可由用于執(zhí)行特定 功能的各種數(shù)量的硬件和/或軟件構(gòu)造來實現(xiàn)。例如,示例性實施例可采用在一個或多個 處理器或其它控制裝置的控制下執(zhí)行各種功能的直接電路構(gòu)造,諸如,存儲器、處理邏輯、 查找表。與能夠利用軟件編程或軟件元件執(zhí)行各種功能的示例性實施例的組件類似,可通 過利用由數(shù)據(jù)結(jié)構(gòu)、處理、線程或其它編程組件的組合實現(xiàn)的各種算法由編程或腳本語言 (諸如C、C++、Java、匯編等)來實現(xiàn)示例性實施例。可利用在一個或多個處理器中執(zhí)行的算 法實現(xiàn)功能性方面。此外,示例性實施例可采用用于電子環(huán)境設(shè)置、信號處理和/或數(shù)據(jù)處 理的現(xiàn)有技術(shù)。諸如"機械"、"元件"、"裝置"和"構(gòu)造"被廣泛使用并且不限于機械或物理 構(gòu)造。術(shù)語可包括與處理器相關(guān)聯(lián)的一系列軟件線程的意義。
[0038] 在本說明書中使用的術(shù)語"特征數(shù)據(jù)"指示占據(jù)任意空間的障礙物,該障礙物由移 動機器人針對任意空間通過環(huán)境識別(傳感器掃描或捕捉圖像)來識別,并且特征數(shù)據(jù)可包 括指示障礙物的位置信息或地址信息。此外,在本說明書中使用的"第一特征數(shù)據(jù)"指示由 移動機器人發(fā)現(xiàn)的任意特征數(shù)據(jù),并可包括例如由移動機器人第一次發(fā)現(xiàn)的特征數(shù)據(jù)。此 外,"第二特征數(shù)據(jù)"可包括由移動機器人在發(fā)現(xiàn)第一特征數(shù)據(jù)之后發(fā)現(xiàn)的特征數(shù)據(jù)。
[0039] 在本說明書中,"第一方向"可指示東,"第二方向"可指示西,"第三方向"可指示 南,"第四方向"可指示北。
[0040] 現(xiàn)在將參照附圖詳細描述示例性實施例。附圖中的相同標號表示相同元件,因此 將不再重復(fù)其描述。
[0041] 圖1是示出根據(jù)示例性實施例的用于構(gòu)建用于移動機器人100的地圖(如圖2中 所示)的設(shè)備10的框圖。
[0042] 參照圖1,設(shè)備10包括在移動機器人100中,并可包括控制單元110、驅(qū)動單元 120、用戶接口單元130、存儲單元140和地圖構(gòu)建單元150。
[0043] 控制單元110包括微處理器(未示出)并控制設(shè)備10的總體操作??刂茊卧?10 通過配備有設(shè)備10的移動機器人100的位置識別來控制移動機器人100在任意空間sa中 沿任意方向的移動,通過收集根據(jù)移動機器人100的移動產(chǎn)生的數(shù)據(jù)來控制地圖構(gòu)建,并 控制將產(chǎn)生的所有數(shù)據(jù)寫入(存儲)在存儲單元140中或從存儲單元140讀取數(shù)據(jù)。
[0044] 驅(qū)動單元120包括例如驅(qū)動電機(未示出)并移動配備有設(shè)備10的移動機器人 100。具體地說,驅(qū)動單元120根據(jù)從控制單元110接收到的控制信號在任意空間Sa中移 動移動機器人100。
[0045] 用戶接口單元130可接收開始點和目標點的坐標以使得移動機器人100移動,并 且用戶接口單元130還可接收用于使用戶將工作命令輸入移動機器人100的切換操縱信號 或語音信號。此外,用戶接口單元130可設(shè)置將被移動機器人100構(gòu)建的地圖的尺寸。地 圖可以是比例地圖,其中,移動機器人100的實際行駛區(qū)域根據(jù)預(yù)定比例縮小,并且可通過 用戶接口單元130設(shè)置地圖的尺寸。圖2示出作為移動機器人100在任意空間S a (例如, 32Km長32Km寬)中行駛的同時獲得的環(huán)境識別結(jié)果的多條特征數(shù)據(jù)。圖3示出顯示移動 機器人100的實際行駛空間的設(shè)置的地圖區(qū)域,其中,每個小格(cell) 30的尺寸被設(shè)置為 lKm長乘lKm寬。
[0046] 地圖構(gòu)建單元150通過掃描移動機器人100的周圍環(huán)境來搜索多條特征數(shù)據(jù),并 使用通過對發(fā)現(xiàn)的特征數(shù)據(jù)執(zhí)行四叉樹分割和鄰域移動算法而產(chǎn)生的位置信息來構(gòu)建地 圖。
[0047] 在當前示例性實施例中,地圖構(gòu)建單元150可包括環(huán)境識別單元151、四叉樹信息 產(chǎn)生單元152、搜索單元153和鄰域移動信息產(chǎn)生單元154。
[0048] 環(huán)境識別單元151收集通過由移動機器人100在控制單元110的控制下使用距離 測量傳感器(未示出)掃描(也已知為執(zhí)行環(huán)境識別)任意空間&而搜索到的多條特征數(shù)據(jù), 其中,距離測量傳感器包括例如超聲傳感器、紅外傳感器、激光傳感器等。此外,環(huán)境識別單 元151收集在使用圖像捕捉單元(未示出)捕捉到的圖像中搜索到的多條特征數(shù)據(jù),其中, 圖像捕捉單元包括例如相機、立體相機等。圖2示出由標號1至12表示的多條特征數(shù)據(jù), 作為在移動機器人100在任意空間S a中移動的同時獲得的環(huán)境識別結(jié)果,并且移動機器人 100可檢測通過環(huán)境識別搜索到的多條特征數(shù)據(jù)的大致位置。
[0049] 四叉樹信息產(chǎn)生單元152通過對移動機器人100發(fā)現(xiàn)的多條特征數(shù)據(jù)中的第一特 征數(shù)據(jù)執(zhí)行四叉樹分割來產(chǎn)生多條第一節(jié)點信息。例如,如果第一特征數(shù)據(jù)是圖2中的1, 則當對第一特征數(shù)據(jù)執(zhí)行四叉樹分割時,第一特征數(shù)據(jù)可如圖3中所示。
[0050] 作為四叉樹分割的結(jié)果,在除了頂節(jié)點(也被稱為ROOT (根))之外的包括第一特 征數(shù)據(jù)的所有子節(jié)點中產(chǎn)生節(jié)點信息,并且每個節(jié)點信息包括第一方向(東:E)和第二方向 (西:W)中的任何一個以及第三方向(南:S)和第四方向(北:N)中的任何一個。以下,為了描 述的方便,由E表不第一方向,由W表不第二方向,由S表不第三方向,由N表不第四方向。
[0051] 現(xiàn)在將描述圖3中示出的第一特征數(shù)據(jù)"1"的四叉樹分割。四叉樹信息產(chǎn)生單元 152在圖3中設(shè)置的整個地圖區(qū)域中從頂節(jié)點(ROOT)開始,并將整個地圖區(qū)域分割為四個 空間NW、NE、SW和SE作為第一父節(jié)點NP1,其中,第一特征數(shù)據(jù)位于第一父節(jié)點NP1的空間 NW中。接下來,四叉樹信息產(chǎn)生單元152將第一父節(jié)點NP1的空間NW分割為四個空間NW、 NE、SW和SE作為第二父節(jié)點NP2,其中,第一特征數(shù)據(jù)位于第二父節(jié)點NP2的空間SW中。接 下來,四叉樹信息產(chǎn)生單元152將第二父節(jié)點NP2的空間SW分割為四個空間NW、NE、SW和 SE作為第三父節(jié)點NP3,其中,第一特征數(shù)據(jù)位于第三父節(jié)點NP3的空間SE中。接下來,四 叉樹信息產(chǎn)生單元152將第三父節(jié)點NP3的空間SE分割為四個空間NW、NE、SW和SE作為 第四父節(jié)點NP4,其中,第一特征數(shù)據(jù)位于第四父節(jié)點NP4的空間NW中。接下來,四叉樹信 息產(chǎn)生單元152將第四父節(jié)點NP4的空間NW分割為四個空間NW、NE、SW和SE,其中,第一 特征數(shù)據(jù)位于指示底節(jié)點的空間NW中。如上所述,作為第一特征數(shù)據(jù)的四叉樹分割的結(jié)果 產(chǎn)生的多條第一節(jié)點信息是R00T、NW、SW、SE、NW和NW。圖4A示出第一特征數(shù)據(jù)的四叉樹 分割,圖4B示出存儲在存儲單元140中的第一特征數(shù)據(jù)的多條第一節(jié)點信息。
[0052] 搜索單元153針對第一特征數(shù)據(jù)的位置確定第二特征數(shù)據(jù)的位置。搜索單元153 可確定由圖2中的移動機器人100發(fā)現(xiàn)的多條特征數(shù)據(jù)中的最接近第一特征數(shù)據(jù)的第二特 征數(shù)據(jù)或者在發(fā)現(xiàn)第一特征數(shù)據(jù)之后接續(xù)發(fā)現(xiàn)的第二特征數(shù)據(jù)的位置。搜索單元153可將 第二特征數(shù)據(jù)的位置確定為針對第一特征數(shù)據(jù)的位置的第一位置至第四位置之一。這里, 由于將在下面描述的鄰域移動算法的操作根據(jù)由搜索單元153確定的第二特征數(shù)據(jù)針對 第一特征數(shù)據(jù)的位置而不同,因此針對第一特征數(shù)據(jù)的位置確定是重要的。
[0053] 在當前示例性實施例中,為了描述的方便,以圖2中示出的順序描述多條特征數(shù) 據(jù)。參照圖2,第二特征數(shù)據(jù)是"2",第三特征數(shù)據(jù)是"3",推而廣之,第十二特征數(shù)據(jù)是 "12"。如圖2中所示,第二特征數(shù)據(jù)、第三特征數(shù)據(jù)和第四特征數(shù)據(jù)位于針對第一特征數(shù)據(jù) 的第一位置,即,右側(cè)。第五特征數(shù)據(jù)、第六特征數(shù)據(jù)和第七特征數(shù)據(jù)位于針對第四特征數(shù) 據(jù)的第三位置,即,下側(cè)。第八特征數(shù)據(jù)、第九特征數(shù)據(jù)和第十特征數(shù)據(jù)位于針對第七特征 數(shù)據(jù)的第二位置,即,左側(cè)。第十一特征數(shù)據(jù)和第十二特征數(shù)據(jù)位于針對第十特征數(shù)據(jù)的第 四位置,即,上側(cè)。
[0054] 鄰域移動信息產(chǎn)生單元154基于第一特征數(shù)據(jù)的多條第一節(jié)點信息,通過對第二 特征數(shù)據(jù)的每個位置執(zhí)行不同的鄰域移動算法來產(chǎn)生第二特征數(shù)據(jù)的多條第二節(jié)點信息, 其中,第二特征數(shù)據(jù)的每個位置由搜索單元153確定。
[0055] 鄰域移動算法是用于基于第一特征數(shù)據(jù)的多條第一節(jié)點信息產(chǎn)生第二特征數(shù)據(jù) 的多條第二節(jié)點信息的算法。在現(xiàn)有技術(shù)中,由于對第一特征數(shù)據(jù)執(zhí)行的相同四叉樹分割 需要被再次執(zhí)行以產(chǎn)生第二特征數(shù)據(jù)的多條第二節(jié)點信息,因此需要長接近時間,并且位 置確定復(fù)雜。然而,通過執(zhí)行根據(jù)當前示例性實施例的鄰域移動算法,可解決上述缺點。
[0056] 此外,根據(jù)當前示例性實施例的鄰域移動算法可被分類為第一鄰域移動算法至第 四鄰域移動算法。響應(yīng)于第二特征數(shù)據(jù)位于針對搜索單元153的確定結(jié)果的第一位置(即, 右側(cè))而執(zhí)行第一鄰域移動算法;響應(yīng)于第二特征數(shù)據(jù)位于針對搜索單元153的確定結(jié)果 的第二位置(即,左側(cè))而執(zhí)行第二鄰域移動算法;響應(yīng)于第二特征數(shù)據(jù)位于針對搜索單元 153的確定結(jié)果的第三位置(S卩,下側(cè))而執(zhí)行第三鄰域移動算法;響應(yīng)于第二特征數(shù)據(jù)位于 針對搜索單元153的確定結(jié)果的第四位置(S卩,上側(cè))而執(zhí)行第四鄰域移動算法。
[0057] 現(xiàn)在將描述在鄰域移動信息產(chǎn)生單元154中通過執(zhí)行第一鄰域移動算法和第二 鄰域移動算法來產(chǎn)生第二特征數(shù)據(jù)的多條第二節(jié)點信息的處理。
[0058] 首先,現(xiàn)在將參照圖5A至圖5C描述在鄰域移動信息產(chǎn)生單元154中執(zhí)行第一鄰 域移動算法的處理。
[0059] 鄰域移動信息產(chǎn)生單元154確定第一特征數(shù)據(jù)"1"的多條第一節(jié)點信息中的底 節(jié)點N B是否包括W。參照圖5A,由于第一特征數(shù)據(jù)" 1"的底節(jié)點由NW指示,因此第一特征 數(shù)據(jù)" 1"的底節(jié)點NB包括W。在此情況下,鄰域移動信息產(chǎn)生單元154將底節(jié)點NB中的W 改變?yōu)镋(①)并移動至父節(jié)點直到發(fā)現(xiàn)包括W的節(jié)點(②)。在圖5A中,由于第四父節(jié) 點NP4由NW指示并包括W,因此鄰域移動信息產(chǎn)生單元154從底節(jié)點N B移動到第四父節(jié)點 NP4,結(jié)束第一鄰域移動算法,并作為將頂節(jié)點ROOT到第四父節(jié)點NP4的現(xiàn)有節(jié)點信息與改 變的底節(jié)點隊信息組合的結(jié)果(③),產(chǎn)生第二特征數(shù)據(jù)"2"的多條第二節(jié)點信息。因此, 產(chǎn)生的第二特征數(shù)據(jù)"2"的多條第二節(jié)點信息是ROOT、NW、SW、SE、NW和NE。如果即使在移 動過父節(jié)點時鄰域移動信息產(chǎn)生單元154也不能發(fā)現(xiàn)包括W的節(jié)點信息,S卩,如果W沒有被 包括在第四父節(jié)點NP4至頂節(jié)點ROOT中的任何節(jié)點中,則通過將從當前節(jié)點(頂節(jié)點ROOT) 到改變的底節(jié)點N B的搜索結(jié)果設(shè)置為多條第二節(jié)點信息來完成搜索。由于通過排除改變 的底節(jié)點NB而剩余的節(jié)點(第四父節(jié)點NP4至頂節(jié)點ROOT)已經(jīng)被產(chǎn)生,因此快速完成對 多條第二節(jié)點信息的搜索,從而花費的時間比現(xiàn)有技術(shù)的四叉樹分割更少。
[0060] 當完成第二特征數(shù)據(jù)"2"的多條第二節(jié)點信息的產(chǎn)生時,第二特征數(shù)據(jù)"2"變成 第一特征數(shù)據(jù),并且產(chǎn)生位于針對第一特征數(shù)據(jù)"2"的第一位置(S卩,右側(cè))的第二特征數(shù) 據(jù)"3"的多條第二節(jié)點信息。鄰域移動信息產(chǎn)生單元154確定第一特征數(shù)據(jù)"2"的多條第 一節(jié)點信息中的底節(jié)點N B是否包括W,如果第一特征數(shù)據(jù)"2"的底節(jié)點NB不包括W,則鄰域 移動信息產(chǎn)生單元154確定第一特征數(shù)據(jù)"2"的底節(jié)點N B是否包括E。參照圖5B,由于第 一特征數(shù)據(jù)"2"的底節(jié)點信息是NE,因此第一特征數(shù)據(jù)"2"的底節(jié)點NB包括E。在此情況 下,鄰域移動信息產(chǎn)生單元154將底節(jié)點N B中的E改變?yōu)閃并移動至父節(jié)點(①)。之后, 鄰域移動信息產(chǎn)生單元154確定父節(jié)點是否包括W。如果父節(jié)點包括W,則鄰域移動信息產(chǎn) 生單元154將W改為E (②)。之后,鄰域移動信息產(chǎn)生單元154移動至父節(jié)點直到發(fā)現(xiàn)包 括W的節(jié)點(③)。在圖5B中,由于第二父節(jié)點NP2由SW指示并包括W,因此鄰域移動信 息產(chǎn)生單元154從底節(jié)點N B移動到第二父節(jié)點NP2。之后,鄰域移動信息產(chǎn)生單元154結(jié) 束第一鄰域移動算法,并且作為將頂節(jié)點ROOT到第三父節(jié)點NP3的現(xiàn)有節(jié)點信息與改變的 第四父節(jié)點信息(②)、改變的底節(jié)點信息組合的結(jié)果(④),產(chǎn)生第二特征數(shù)據(jù)"3"的多 條第二節(jié)點信息。因此,產(chǎn)生的第二特征數(shù)據(jù)"3"的多條第二節(jié)點信息是R00T、NW、SW、SE、 NE和NW。如果即使在移動到父節(jié)點時鄰域移動信息產(chǎn)生單元154也不能發(fā)現(xiàn)包括W的節(jié) 點信息,即,如果W沒有被包括在第三父節(jié)點NP3至頂節(jié)點ROOT中的任何節(jié)點中,則通過將 從當前節(jié)點(頂節(jié)點ROOT)到改變的節(jié)點(底節(jié)點N B和第四父節(jié)點NP4)的搜索結(jié)果設(shè)置為 多條第二節(jié)點信息來完成搜索。由于通過排除改變的底節(jié)點NB和改變的第四父節(jié)點NP4而 剩余的節(jié)點(第三父節(jié)點NP3至頂節(jié)點ROOT)已經(jīng)被產(chǎn)生,因此快速完成對多條第二節(jié)點信 息的搜索,從而花費的時間比現(xiàn)有技術(shù)的四叉樹分割更少。
[0061] 當完成第二特征數(shù)據(jù)"3"的多條第二節(jié)點信息的產(chǎn)生時,第二特征數(shù)據(jù)"3"變成 第一特征數(shù)據(jù),并且產(chǎn)生位于針對第一特征數(shù)據(jù)"3"的第一位置(S卩,右側(cè))的第二特征數(shù)據(jù) "4"的多條第二節(jié)點信息。鄰域移動信息產(chǎn)生單元154確定第一特征數(shù)據(jù)"3"的多條第一 節(jié)點信息中的底節(jié)點隊是否包括W。參照圖5C,由于第一特征數(shù)據(jù)"3"的底節(jié)點信息是NW, 因此第一特征數(shù)據(jù)"3"的底節(jié)點N B包括W。在此情況下,鄰域移動信息產(chǎn)生單元154將底 節(jié)點NB中的W改變?yōu)镋 (①)并移動至父節(jié)點直到發(fā)現(xiàn)包括W的節(jié)點(②)。在圖5C中, 由于第二父節(jié)點NP2由SW指示并包括W,因此鄰域移動信息產(chǎn)生單元154從底節(jié)點隊移 動到第二父節(jié)點,結(jié)束第一鄰域移動算法,并且作為將頂節(jié)點ROOT到第四父節(jié)點NP4的現(xiàn) 有節(jié)點信息與改變的底節(jié)點信息組合的結(jié)果,產(chǎn)生第二特征數(shù)據(jù)"4"的多條第二節(jié)點信息 (③)。因此,產(chǎn)生的第二特征數(shù)據(jù)"4"的多條第二節(jié)點信息是ROOT、NW、SW、SE、NE和NE。 如果即使在移動過父節(jié)點時鄰域移動信息產(chǎn)生單元154也不能發(fā)現(xiàn)包括W的節(jié)點信息,即, 如果W沒有被包括在第四父節(jié)點NP4至頂節(jié)點ROOT中的任何節(jié)點中,則通過將從當前節(jié)點 (頂節(jié)點ROOT)到改變的底節(jié)點的搜索結(jié)果設(shè)置為多條第二節(jié)點信息來完成搜索。由于通 過排除改變的底節(jié)點而剩余的節(jié)點(第四父節(jié)點NP4至頂節(jié)點ROOT)已經(jīng)被產(chǎn)生,因此快速 完成對多條第二節(jié)點信息的搜索,從而花費的時間比現(xiàn)有技術(shù)的四叉樹分割更少。
[0062] 如上所述,對于第一特征數(shù)據(jù)的多條第一節(jié)點信息中的底節(jié)點NB包括W的情況和 底節(jié)點包括E的情況,可分別執(zhí)行第一鄰域移動算法。當?shù)坠?jié)點包括W時,通過僅將底節(jié)點 中的W改變?yōu)镋來產(chǎn)生第二特征數(shù)據(jù)的多條第二節(jié)點信息。同時,當?shù)坠?jié)點包括E時,通過 將底節(jié)點中的E改變?yōu)閃、移動到父節(jié)點并將父節(jié)點中的W改變?yōu)镋,來產(chǎn)生第二特征數(shù)據(jù) 的多條第二節(jié)點信息。
[0063] 接下來,現(xiàn)在將參照圖6A至圖6C描述在鄰域移動信息產(chǎn)生單元154中執(zhí)行第二 鄰域移動算法的處理。
[0064] 鄰域移動信息產(chǎn)生單元154確定第一特征數(shù)據(jù)"7"的多條第一節(jié)點信息中的底節(jié) 點N B是否包括E。參照圖6A,由于第一特征數(shù)據(jù)"7"的底節(jié)點信息是SE,因此第一特征數(shù) 據(jù)"7"的底節(jié)點包括E。在此情況下,鄰域移動信息產(chǎn)生單元154將底節(jié)點N B中的E改變 為W(①)并移動至父節(jié)點直到發(fā)現(xiàn)包括E的節(jié)點(②)。在圖6A中,由于第四父節(jié)點NP4 由SE指示并包括E,因此鄰域移動信息產(chǎn)生單元154從底節(jié)點N B移動到第四父節(jié)點NP4, 結(jié)束第二鄰域移動算法,并且作為將頂節(jié)點ROOT到第四父節(jié)點NP4的現(xiàn)有節(jié)點信息與改變 的底節(jié)點信息組合的結(jié)果(③),產(chǎn)生第二特征數(shù)據(jù)"8"的多條第二節(jié)點信息。因此,產(chǎn)生 的第二特征數(shù)據(jù)"8"的多條第二節(jié)點信息是R00T、NW、SW、SE、SE和SW。如果即使在移動到 父節(jié)點時鄰域移動信息產(chǎn)生單元154也不能發(fā)現(xiàn)包括E的節(jié)點信息,S卩,如果E沒有被包括 在第四父節(jié)點NP4至頂節(jié)點ROOT中的任何節(jié)點中,則通過將從當前節(jié)點(頂節(jié)點ROOT)到 改變的底節(jié)點N B的搜索結(jié)果設(shè)置為多條第二節(jié)點信息來完成搜索。由于通過排除改變的 底節(jié)點NB而剩余的節(jié)點(第四父節(jié)點NP4至頂節(jié)點ROOT)已經(jīng)被產(chǎn)生,因此快速完成對多 條第二節(jié)點信息的搜索,從而花費的時間比現(xiàn)有技術(shù)的四叉樹分割更少。
[0065] 當完成第二特征數(shù)據(jù)"8"的多條第二節(jié)點信息的產(chǎn)生時,第二特征數(shù)據(jù)"8"變成 第一特征數(shù)據(jù),并且產(chǎn)生位于針對第一特征數(shù)據(jù)"8"的第二位置(S卩,左側(cè))的第二特征數(shù) 據(jù)"9"的多條第二節(jié)點信息。鄰域移動信息產(chǎn)生單元154確定第一特征數(shù)據(jù)"8"的多條第 一節(jié)點信息中的底節(jié)點NB是否包括E,如果第一特征數(shù)據(jù)"8"的底節(jié)點N B不包括E,則鄰域 移動信息產(chǎn)生單元154確定第一特征數(shù)據(jù)"8"的底節(jié)點NB是否包括W。參照圖6B,由于第 一特征數(shù)據(jù)"8"的底節(jié)點信息是SW,因此第一特征數(shù)據(jù)"8"的底節(jié)點N B包括W。在此情況 下,鄰域移動信息產(chǎn)生單元154將底節(jié)點NB中的W改變?yōu)镋并移動至父節(jié)點(①)。之后, 鄰域移動信息產(chǎn)生單元154確定父節(jié)點是否包括E。如果父節(jié)點包括E,則鄰域移動信息產(chǎn) 生單元154將E改為W (②)。之后,鄰域移動信息產(chǎn)生單元154移動至父節(jié)點直到發(fā)現(xiàn)包 括E的節(jié)點(③)。在圖6B中,由于第三父節(jié)點NP3由SE指示并包括E,因此鄰域移動信 息產(chǎn)生單元154從底節(jié)點N B移動到第三父節(jié)點NP3。之后,鄰域移動信息產(chǎn)生單元154結(jié) 束第二鄰域移動算法,并且作為將頂節(jié)點ROOT到第三父節(jié)點NP3的現(xiàn)有節(jié)點信息與改變的 第四父節(jié)點信息(②)、改變的底節(jié)點信息組合的結(jié)果(④),產(chǎn)生第二特征數(shù)據(jù)"9"的多 條第二節(jié)點信息。因此,產(chǎn)生的第二特征數(shù)據(jù)"9"的多條第二節(jié)點信息是R00T、NW、SW、SE、 SW和SE。如果即使在移動到父節(jié)點時鄰域移動信息產(chǎn)生單元154也不能發(fā)現(xiàn)包括E的節(jié) 點信息,即,如果E沒有被包括在第三父節(jié)點NP3至頂節(jié)點ROOT中的任何節(jié)點中,則通過將 從當前節(jié)點(頂節(jié)點ROOT)到改變的節(jié)點(底節(jié)點NB和第四父節(jié)點NP4)的搜索結(jié)果設(shè)置為 多條第二節(jié)點信息來完成搜索。由于通過排除改變的底節(jié)點NB和改變的第四父節(jié)點NP4而 剩余的節(jié)點(第三父節(jié)點NP3至頂節(jié)點ROOT)已經(jīng)被產(chǎn)生,因此快速完成對多條第二節(jié)點信 息的搜索,從而花費的時間比現(xiàn)有技術(shù)的四叉樹分割更少。
[0066] 當完成第二特征數(shù)據(jù)"9"的多條第二節(jié)點信息的產(chǎn)生時,第二特征數(shù)據(jù)"9"變成 第一特征數(shù)據(jù),并且產(chǎn)生位于針對第一特征數(shù)據(jù)"9"的第二位置(S卩,左側(cè))的第二特征數(shù)據(jù) "10"的多條第二節(jié)點信息。鄰域移動信息產(chǎn)生單元154確定第一特征數(shù)據(jù)"9"的多條第一 節(jié)點信息中的底節(jié)點NB是否包括E。參照圖6C,由于第一特征數(shù)據(jù)"9"的底節(jié)點信息是SE, 因此第一特征數(shù)據(jù)"9"的底節(jié)點N B包括E。在此情況下,鄰域移動信息產(chǎn)生單元154將底 節(jié)點NB中的E改變?yōu)閃(①)并移動至父節(jié)點直到發(fā)現(xiàn)包括E的節(jié)點(②)。在圖6C中, 由于第三父節(jié)點NP3由SE指示并包括E,因此鄰域移動信息產(chǎn)生單元154從底節(jié)點N B移動 到第三父節(jié)點,結(jié)束第二鄰域移動算法,并且作為將頂節(jié)點ROOT到第四父節(jié)點NP4的現(xiàn)有 節(jié)點信息與改變的底節(jié)點信息組合的結(jié)果(③),產(chǎn)生第二特征數(shù)據(jù)" 10"的多條第二節(jié)點 信息。因此,產(chǎn)生的第二特征數(shù)據(jù)" 10"的多條第二節(jié)點信息是ROOT、NW、SW、SE、SW和SW。 如果即使在移動過父節(jié)點時鄰域移動信息產(chǎn)生單元154也不能發(fā)現(xiàn)包括E的節(jié)點信息,即, 如果E沒有被包括在第四父節(jié)點NP4至頂節(jié)點ROOT中的任何節(jié)點中,則通過將從當前節(jié)點 (頂節(jié)點ROOT)到改變的底節(jié)點N B的搜索結(jié)果設(shè)置為多條第二節(jié)點信息來完成搜索。由于 通過排除改變的底節(jié)點NB而剩余的節(jié)點(第四父節(jié)點NP4至頂節(jié)點ROOT)已經(jīng)被產(chǎn)生,因 此快速完成對多條第二節(jié)點信息的搜索,從而花費的時間比現(xiàn)有技術(shù)的四叉樹分割更少。 [0067] 如上所述,對于第一特征數(shù)據(jù)的多條第一節(jié)點信息中的底節(jié)點NB包括E的情況和 底節(jié)點包括W的情況,可分別執(zhí)行第二鄰域移動算法。當?shù)坠?jié)點NB包括E時,僅通過將底節(jié) 點中的E改變?yōu)閃來產(chǎn)生第二特征數(shù)據(jù)的多條第二節(jié)點信息。同時,當?shù)坠?jié)點NB包括W時, 通過將底節(jié)點N B中的W改變?yōu)镋、移動到父節(jié)點并將父節(jié)點中的E改變?yōu)閃,來產(chǎn)生第二特 征數(shù)據(jù)的多條第二節(jié)點信息。
[0068] 接下來,現(xiàn)在將參照圖7A至圖7C描述鄰域移動信息產(chǎn)生單元154中執(zhí)行第三鄰 域移動算法的處理。
[0069] 鄰域移動信息產(chǎn)生單元154確定第一特征數(shù)據(jù)"4"的多條第一節(jié)點信息中的底節(jié) 點NB是否包括N。參照圖7A,由于第一特征數(shù)據(jù)"4"的底節(jié)點信息是NE,因此第一特征數(shù) 據(jù)"4"的底節(jié)點包括N。在此情況下,鄰域移動信息產(chǎn)生單元154將底節(jié)點NB中的N改變 為S(①)并移動至父節(jié)點直到發(fā)現(xiàn)包括N的節(jié)點(②)。在圖7A中,由于第四父節(jié)點NP4 由NE指示并包括N,因此鄰域移動信息產(chǎn)生單元154從底節(jié)點N B移動到第四父節(jié)點NP4, 結(jié)束第三鄰域移動算法,并且作為將頂節(jié)點ROOT到第四父節(jié)點NP4的現(xiàn)有節(jié)點信息與改變 的底節(jié)點信息組合的結(jié)果(③),產(chǎn)生第二特征數(shù)據(jù)"5"的多條第二節(jié)點信息。因此,產(chǎn)生 的第二特征數(shù)據(jù)"5"的多條第二節(jié)點信息是R00T、NW、SW、SE、NE和SE。如果即使在移動到 父節(jié)點時鄰域移動信息產(chǎn)生單元154也不能發(fā)現(xiàn)包括N的節(jié)點信息,S卩,如果N沒有被包括 在第四父節(jié)點NP4至頂節(jié)點ROOT中的任何節(jié)點中,則通過將從當前節(jié)點(頂節(jié)點ROOT)到 改變的底節(jié)點N B的搜索結(jié)果設(shè)置為多條第二節(jié)點信息來完成搜索。由于通過排除改變的 底節(jié)點NB而剩余的節(jié)點(第四父節(jié)點NP4至頂節(jié)點ROOT)已經(jīng)被產(chǎn)生,因此快速完成對多 條第二節(jié)點信息的搜索,從而花費的時間比傳統(tǒng)的四叉樹分割更少。
[0070] 當完成第二特征數(shù)據(jù)"5"的多條第二節(jié)點信息的產(chǎn)生時,第二特征數(shù)據(jù)"5"變成 第一特征數(shù)據(jù),并且產(chǎn)生位于針對第一特征數(shù)據(jù)"5"的第三位置(S卩,下側(cè))的第二特征數(shù) 據(jù)"6"的多條第二節(jié)點信息。鄰域移動信息產(chǎn)生單元154確定第一特征數(shù)據(jù)"5"的多條第 一節(jié)點信息中的底節(jié)點N B是否包括N,如果第一特征數(shù)據(jù)"5"的底節(jié)點NB不包括N,則鄰域 移動信息產(chǎn)生單元154確定第一特征數(shù)據(jù)"5"的底節(jié)點N B是否包括S。參照圖7B,由于第 一特征數(shù)據(jù)"5"的底節(jié)點信息是SE,因此第一特征數(shù)據(jù)"5"的底節(jié)點NB包括S。在此情況 下,鄰域移動信息產(chǎn)生單元154將底節(jié)點N B中的S改變?yōu)镹并移動至父節(jié)點(①)。之后, 鄰域移動信息產(chǎn)生單元154確定父節(jié)點是否包括N。如果父節(jié)點包括N,則鄰域移動信息產(chǎn) 生單元154將N改為S (②)。之后,鄰域移動信息產(chǎn)生單元154移動至父節(jié)點直到發(fā)現(xiàn)包 括N的節(jié)點(③)。在圖7B中,由于第一父節(jié)點NP1由NW指示并包括N,因此鄰域移動信 息產(chǎn)生單元154從底節(jié)點N B移動到第一父節(jié)點NP1。之后,鄰域移動信息產(chǎn)生單元154結(jié) 束第三鄰域移動算法,并且作為將頂節(jié)點ROOT到第三父節(jié)點NP3的現(xiàn)有節(jié)點信息與改變的 第四父節(jié)點信息(②)、改變的底節(jié)點信息組合的結(jié)果(④),產(chǎn)生第二特征數(shù)據(jù)"6"的多 條第二節(jié)點信息。因此,產(chǎn)生的第二特征數(shù)據(jù)"6"的多條第二節(jié)點信息是R00T、NW、SW、SE、 SE和NE。如果即使在移動到父節(jié)點時鄰域移動信息產(chǎn)生單元154也不能發(fā)現(xiàn)包括N的節(jié) 點信息,即,如果N沒有被包括在第三父節(jié)點至頂節(jié)點ROOT中的任何節(jié)點中,則通過將從當 前節(jié)點(頂節(jié)點ROOT)到改變的節(jié)點(底節(jié)點N B和第四父節(jié)點NP4)的搜索結(jié)果設(shè)置為多條 第二節(jié)點信息來完成搜索。由于通過排除改變的底節(jié)點NB和改變的第四父節(jié)點NP4而剩 余的節(jié)點(第三父節(jié)點NP3至頂節(jié)點ROOT)已經(jīng)被產(chǎn)生,因此快速完成對多條第二節(jié)點信息 的搜索,從而花費的時間比現(xiàn)有技術(shù)的四叉樹分割更少。
[0071] 當完成第二特征數(shù)據(jù)"6"的多條第二節(jié)點信息的產(chǎn)生時,第二特征數(shù)據(jù)"6"變成 第一特征數(shù)據(jù),并且產(chǎn)生位于針對第一特征數(shù)據(jù)"6"的第三位置(S卩,下側(cè))的第二特征數(shù)據(jù) "7"的多條第二節(jié)點信息。鄰域移動信息產(chǎn)生單元154確定第一特征數(shù)據(jù)"6"的多條第一 節(jié)點信息中的底節(jié)點N B是否包括N。參照圖7C,由于第一特征數(shù)據(jù)"6"的底節(jié)點信息是NE, 因此第一特征數(shù)據(jù)"6"的底節(jié)點NB包括N。在此情況下,鄰域移動信息產(chǎn)生單元154將底 節(jié)點N B中的N改變?yōu)镾(①)并移動至父節(jié)點直到發(fā)現(xiàn)包括N的節(jié)點(②)。在圖7C中, 由于第一父節(jié)點NP1由NE指示并包括N,因此鄰域移動信息產(chǎn)生單元154從底節(jié)點N B移動 到第一父節(jié)點,結(jié)束第三鄰域移動算法,并且作為將頂節(jié)點ROOT到第四父節(jié)點NP4的現(xiàn)有 節(jié)點信息與改變的底節(jié)點信息組合的結(jié)果(③),產(chǎn)生第二特征數(shù)據(jù)"7"的多條第二節(jié)點 信息。因此,產(chǎn)生的第二特征數(shù)據(jù)"7"的多條第二節(jié)點信息是ROOT、NW、SW、SE、SE和SE。 如果即使在移動過父節(jié)點時鄰域移動信息產(chǎn)生單元154也不能發(fā)現(xiàn)包括N的節(jié)點信息,即, 如果N沒有被包括在第四父節(jié)點NP4至頂節(jié)點ROOT中的任何節(jié)點中,則通過將從當前節(jié)點 (頂節(jié)點ROOT)到改變的底節(jié)點N B的搜索結(jié)果設(shè)置為多條第二節(jié)點信息來完成搜索。由于 通過排除改變的底節(jié)點NB而剩余的節(jié)點(第四父節(jié)點NP4至頂節(jié)點ROOT)已經(jīng)被產(chǎn)生,因 此快速完成對多條第二節(jié)點信息的搜索,從而花費的時間比傳統(tǒng)的四叉樹分割更少。
[0072] 如上所述,對于第一特征數(shù)據(jù)的多條第一節(jié)點信息中的底節(jié)點NB包括N的情況和 底節(jié)點N B包括S的情況,可分別執(zhí)行第三鄰域移動算法。當?shù)坠?jié)點NB包括N時,僅通過將 底節(jié)點N B中的N改變?yōu)镾來產(chǎn)生第二特征數(shù)據(jù)的多條第二節(jié)點信息。同時,當?shù)坠?jié)點NB包 括S時,通過將底節(jié)點N B中的S改變?yōu)镹、移動到父節(jié)點并將父節(jié)點中的N改變?yōu)镾,來產(chǎn) 生第二特征數(shù)據(jù)的多條第二節(jié)點信息。
[0073] 接下來,現(xiàn)在將參照圖8A至圖8B描述在鄰域移動信息產(chǎn)生單元154中執(zhí)行第四 鄰域移動算法的處理。
[0074] 鄰域移動信息產(chǎn)生單元154確定第一特征數(shù)據(jù)"10"的多條第一節(jié)點信息中的底 節(jié)點N B是否包括S。參照圖8A,由于第一特征數(shù)據(jù)"10"的底節(jié)點信息是SW,因此第一特 征數(shù)據(jù)"10"的底節(jié)點包括S。在此情況下,鄰域移動信息產(chǎn)生單元154將底節(jié)點N B中的S 改變?yōu)镹(①)并移動至父節(jié)點直到發(fā)現(xiàn)包括S的節(jié)點(②)。在圖8A中,由于第四父節(jié) 點NP4由SW指示并包括S,因此鄰域移動信息產(chǎn)生單元154從底節(jié)點N B移動到第四父節(jié)點 NP4,結(jié)束第四鄰域移動算法,并且作為將頂節(jié)點ROOT到第四父節(jié)點NP4的現(xiàn)有節(jié)點信息與 改變的底節(jié)點信息組合的結(jié)果(③),產(chǎn)生第二特征數(shù)據(jù)"11"的多條第二節(jié)點信息。因此, 產(chǎn)生的第二特征數(shù)據(jù)"11"的多條第二節(jié)點信息是ROOT、NW、SW、SE、SW和NW。如果即使在 移動到父節(jié)點時鄰域移動信息產(chǎn)生單元154也不能發(fā)現(xiàn)包括S的節(jié)點信息,S卩,如果S沒 有被包括在第四父節(jié)點NP4至頂節(jié)點ROOT中的任何節(jié)點中,則通過將從當前節(jié)點(頂節(jié)點 ROOT)到改變的底節(jié)點N B的搜索結(jié)果設(shè)置為多條第二節(jié)點信息來完成搜索。由于通過排除 改變的底節(jié)點NB而剩余的節(jié)點(第四父節(jié)點NP4至頂節(jié)點ROOT)已經(jīng)被產(chǎn)生,因此快速完 成對多條第二節(jié)點信息的搜索,從而花費的時間比傳統(tǒng)的四叉樹分割更少。
[0075] 當完成第二特征數(shù)據(jù)"11"的多條第二節(jié)點信息的產(chǎn)生時,第二特征數(shù)據(jù)"11"變 成第一特征數(shù)據(jù),并且產(chǎn)生位于針對第一特征數(shù)據(jù)" 11"的第四位置(即,上側(cè))的第二特征 數(shù)據(jù)"12"的多條第二節(jié)點信息。鄰域移動信息產(chǎn)生單元154確定第一特征數(shù)據(jù)"11"的多 條第一節(jié)點信息中的底節(jié)點N B是否包括S,如果第一特征數(shù)據(jù)" 11"的底節(jié)點NB不包括S,則 鄰域移動信息產(chǎn)生單元154確定第一特征數(shù)據(jù)" 11"的底節(jié)點NB是否包括N。參照圖8B,由 于第一特征數(shù)據(jù)" 11"的底節(jié)點信息是NW,因此第一特征數(shù)據(jù)" 11"的底節(jié)點NB包括N。在 此情況下,鄰域移動信息產(chǎn)生單元154將底節(jié)點NB中的N改變?yōu)镾并移動至父節(jié)點(①)。 之后,鄰域移動信息產(chǎn)生單元154確定父節(jié)點是否包括S。如果父節(jié)點包括S,則鄰域移動 信息產(chǎn)生單元154將S改為N (②)。之后,鄰域移動信息產(chǎn)生單元154移動至父節(jié)點直到 發(fā)現(xiàn)包括S的節(jié)點(③)。在圖8B中,由于第三父節(jié)點NP1由SE指示并包括S,因此鄰域 移動信息產(chǎn)生單元154從底節(jié)點N B移動到第三父節(jié)點。之后,鄰域移動信息產(chǎn)生單元154 結(jié)束第四鄰域移動算法,并且作為將頂節(jié)點ROOT到第三父節(jié)點NP3的現(xiàn)有節(jié)點信息與改變 的第四父節(jié)點信息(②)、改變的底節(jié)點信息組合的結(jié)果(④),產(chǎn)生第二特征數(shù)據(jù)"12"的 多條第二節(jié)點信息。因此,產(chǎn)生的第二特征數(shù)據(jù)"12"的多條第二節(jié)點信息是ROOT、NW、SW、 SE、NW和SW。如果即使在移動到父節(jié)點時鄰域移動信息產(chǎn)生單元154也不能發(fā)現(xiàn)包括S的 節(jié)點信息,即,如果S沒有被包括在第三父節(jié)點NP3至頂節(jié)點ROOT中的任何節(jié)點中,則通過 將從當前節(jié)點(頂節(jié)點ROOT)到改變的節(jié)點(底節(jié)點N B和第四父節(jié)點NP4)的搜索結(jié)果設(shè)置 為多條第二節(jié)點信息來完成搜索。由于通過排除改變的底節(jié)點NB和改變的第四父節(jié)點NP4 而剩余的節(jié)點(第三父節(jié)點NP3至頂節(jié)點ROOT)已經(jīng)被產(chǎn)生,因此快速完成對多條第二節(jié)點 信息的搜索,從而花費的時間比現(xiàn)有技術(shù)的四叉樹分割更少。
[0076] 如上所述,對于第一特征數(shù)據(jù)的多條第一節(jié)點信息中的底節(jié)點NB包括S的情況和 底節(jié)點N B包括N的情況,可分別執(zhí)行第四鄰域移動算法。當?shù)坠?jié)點NB包括S時,僅通過將 底節(jié)點N B中的S改變?yōu)镹來產(chǎn)生第二特征數(shù)據(jù)的多條第二節(jié)點信息。同時,當?shù)坠?jié)點隊包 括N時,通過將底節(jié)點NB中的N改變?yōu)镾、移動到父節(jié)點并將父節(jié)點中的S改變?yōu)镹,來產(chǎn) 生第二特征數(shù)據(jù)的多條第二節(jié)點信息。
[0077] 如上所述,地圖構(gòu)建單元150通過使用基于第一特征數(shù)據(jù)的第二特征數(shù)據(jù)的位置 確定結(jié)果并使用第一特征數(shù)據(jù)的多條第一節(jié)點信息,來產(chǎn)生第二特征數(shù)據(jù)的多條第二節(jié)點 信息,并通過使用多條第一節(jié)點信息和多條第二節(jié)點信息來構(gòu)建地圖。
[0078] 現(xiàn)在將參照圖9至圖14描述根據(jù)示例性實施例的構(gòu)建用于移動機器人100的方 法??捎傻貓D構(gòu)建單元150與圖1中示出的移動機器人100的其他組件一起執(zhí)行該方法。 在下面的描述中,將不重復(fù)參照圖1至圖8B的描述。
[0079] 圖9是示出根據(jù)示例性實施例的構(gòu)建用于移動機器人100的地圖的方法的流程 圖。
[0080] 參照圖9,在操作S100,地圖構(gòu)建單元150通過掃描移動機器人100的周圍環(huán)境來 搜索占據(jù)任意空間s a的多條特征數(shù)據(jù)。地圖構(gòu)建單元150可通過由移動機器人100使用距 離測量傳感器掃描(也已知為執(zhí)行環(huán)境識別)任意空間S a來搜索多條特征數(shù)據(jù),其中,距離 測量傳感器包括例如超聲傳感器、紅外傳感器、激光傳感器等。此外,地圖構(gòu)建單元150可 在使用圖像捕捉單元(未示出)捕捉到的圖像中搜索多條特征數(shù)據(jù),其中,圖像捕捉單元包 括例如相機、立體相機等。地圖構(gòu)建單元150可檢測通過執(zhí)行的環(huán)境識別搜索到的多條特 征數(shù)據(jù)的大致位置。
[0081] 在完成多條特征數(shù)據(jù)的搜索之后,在操作S200,地圖構(gòu)建單元150對第一特征數(shù) 據(jù)執(zhí)行四叉樹分割并產(chǎn)生多條第一節(jié)點信息作為四叉樹分割的結(jié)果。作為四叉樹分割的結(jié) 果,在除了頂節(jié)點ROOT之外的包括第一特征數(shù)據(jù)的所有子節(jié)點中產(chǎn)生節(jié)點信息,并且每個 節(jié)點信息包括S和N中的任何一個方向以及E和W中的任何一個方向。例如,參照圖2和 圖3,作為第一特征數(shù)據(jù)" 1"的四叉樹分割的結(jié)果的多條第一節(jié)點信息是ROOT、NW、SW、SE、 NW 和 NW。
[0082] 在第一特征數(shù)據(jù)的多條第一節(jié)點信息的產(chǎn)生之后,在操作S300,地圖構(gòu)建單元 150針對第一特征數(shù)據(jù)的位置確定第二特征數(shù)據(jù)的位置。地圖構(gòu)建單元150可確定由移動 機器人100發(fā)現(xiàn)的多條特征數(shù)據(jù)中的最接近第一特征數(shù)據(jù)的第二特征數(shù)據(jù)的位置,或者確 定在第一特征數(shù)據(jù)之后接續(xù)發(fā)現(xiàn)的第二特征數(shù)據(jù)。搜索單元153可將第二特征數(shù)據(jù)的位 置確定為針對第一特征數(shù)據(jù)的位置的第一位置至第四位置(即,右側(cè)、左側(cè)、上側(cè)和下側(cè))之 一。這里,由于將在下面描述的鄰域移動算法的操作根據(jù)搜索單元153搜索的第二特征數(shù) 據(jù)的位置而不同,因此位置搜索是重要的。
[0083] 在完成針對第一特征數(shù)據(jù)的位置確定第二特征數(shù)據(jù)的位置之后,在操作S400,地 圖構(gòu)建單元150執(zhí)行鄰域移動算法,用于基于第一特征數(shù)據(jù)的多條第一節(jié)點信息來針對第 二特征數(shù)據(jù)的每個發(fā)現(xiàn)的位置產(chǎn)生第二特征數(shù)據(jù)的多條第二節(jié)點信息。根據(jù)現(xiàn)有技術(shù),由 于對第一特征數(shù)據(jù)執(zhí)行的相同四叉樹分割需要被執(zhí)行以產(chǎn)生第二特征數(shù)據(jù)的多條第二節(jié) 點信息,因此需要長接近時間,并且位置搜索復(fù)雜。然而,通過執(zhí)行根據(jù)當前示例性實施例 的鄰域移動算法,可解決上述缺點。
[0084] 圖10是示出圖9的鄰域移動算法的操作的流程圖。
[0085] 參照圖10,在操作S410,當?shù)诙卣鲾?shù)據(jù)位于第一特征數(shù)據(jù)的第一位置(右側(cè))時, 地圖構(gòu)建單元150執(zhí)行第一鄰域移動算法,用于使用第一特征數(shù)據(jù)的多條第一節(jié)點信息產(chǎn) 生第一位置處的第二特征數(shù)據(jù)的多條第二節(jié)點信息。
[0086] 在操作S420,當?shù)诙卣鲾?shù)據(jù)位于第一特征數(shù)據(jù)的第二位置(左側(cè))時,地圖構(gòu)建 單元150執(zhí)行第二鄰域移動算法,用于使用第一特征數(shù)據(jù)的多條第一節(jié)點信息產(chǎn)生第二位 置處的第二特征數(shù)據(jù)的多條第二節(jié)點信息。
[0087] 在操作S430,當?shù)诙卣鲾?shù)據(jù)位于第一特征數(shù)據(jù)的第三位置(下側(cè))時,地圖構(gòu)建 單元150執(zhí)行第三鄰域移動算法,用于使用第一特征數(shù)據(jù)的多條第一節(jié)點信息產(chǎn)生第三位 置處的第二特征數(shù)據(jù)的多條第二節(jié)點信息。
[0088] 在操作S440,當?shù)诙卣鲾?shù)據(jù)位于第一特征數(shù)據(jù)的第四位置(上側(cè))時,地圖構(gòu)建 單元150執(zhí)行第四鄰域移動算法,用于使用第一特征數(shù)據(jù)的多條第一節(jié)點信息產(chǎn)生第二位 置處的第二特征數(shù)據(jù)的多條第二節(jié)點信息。
[0089] 第一鄰域移動算法至第四鄰域移動算法不必要按上述順序執(zhí)行,并且可根據(jù)第二 特征數(shù)據(jù)的位置執(zhí)行第一鄰域移動算法至第四鄰域移動算法中的任何一個。
[0090] 圖11是示出圖10的第一鄰域移動算法S410的操作的流程圖。
[0091] 參照圖11,在操作S411,地圖構(gòu)建單元150確定第一特征數(shù)據(jù)的多條第一節(jié)點信 息中的底節(jié)點N B是否包括第二方向(W)。
[0092] 作為確定的結(jié)果,如果第一特征數(shù)據(jù)的多條第一節(jié)點信息中的底節(jié)點隊包括第二 方向(W),則在操作S412,地圖構(gòu)建單元150將第二方向(W)改變?yōu)榈谝环较颍‥)。
[0093] 當完成改變之后,在操作S413,地圖構(gòu)建單元150移動至父節(jié)點直到發(fā)現(xiàn)包括第 二方向(W)的節(jié)點。
[0094] 在操作S414,如果發(fā)現(xiàn)包括第二方向(W)的節(jié)點,則地圖構(gòu)建單元150結(jié)束第一鄰 域移動算法,并且作為將頂節(jié)點ROOT至第四父節(jié)點NP4的現(xiàn)有節(jié)點信息與改變的底節(jié)點信 息組合的結(jié)果,產(chǎn)生第二特征數(shù)據(jù)的多條第二節(jié)點信息。
[0095] 作為確定的結(jié)果,如果第一特征數(shù)據(jù)的多條第一節(jié)點信息中的底節(jié)點隊不包括第 二方向(W),則地圖構(gòu)建單元150在操作S415確定第一特征數(shù)據(jù)的多條第一節(jié)點信息中的 底節(jié)點NB是否包括第一方向(E)。
[0096] 作為操作S415的確定的結(jié)果,如果第一特征數(shù)據(jù)的多條第一節(jié)點信息中的底節(jié) 點隊包括第一方向(E),則在操作S416,地圖構(gòu)建單元150將第一方向(E)改變?yōu)榈诙较?(W)并移動到父節(jié)點。
[0097] 在完成移動到父節(jié)點之后,在操作S417,地圖構(gòu)建單元150將包括第二方向(W)的 父節(jié)點的第二方向(W)改變?yōu)榈谝环较颍‥)。
[0098] 在完成操作S417的改變之后,在操作S418,地圖構(gòu)建單元150移動到父節(jié)點直到 發(fā)現(xiàn)包括第二方向(W)的節(jié)點。
[0099] 在操作S419,如果發(fā)現(xiàn)包括第二方向(W)的節(jié)點,則地圖構(gòu)建單元150結(jié)束第一鄰 域移動算法,并且作為將頂節(jié)點ROOT至第三父節(jié)點NP3的現(xiàn)有節(jié)點信息與改變的第四父節(jié) 點信息、改變的底節(jié)點信息組合的結(jié)果,產(chǎn)生第二特征數(shù)據(jù)的多條第二節(jié)點信息。
[0100] 如果即使執(zhí)行了操作S413和S418也沒有發(fā)現(xiàn)包括第二方向(W)的節(jié)點信息,則通 過將直至當前的節(jié)點改變結(jié)果(僅改變底節(jié)點的結(jié)果或僅改變底節(jié)點N B和第四父節(jié)點NP4 的結(jié)果)設(shè)置為多條第二節(jié)點信息來完成搜索。
[0101] 如上所述,對于第一特征數(shù)據(jù)的多條第一節(jié)點信息中的底節(jié)點NB包括W的情況和 底節(jié)點NB包括E的情況,可分別執(zhí)行第一鄰域移動算法。當?shù)坠?jié)點NB包括W時,僅通過將 底節(jié)點中的W改變?yōu)镋來產(chǎn)生第二特征數(shù)據(jù)的多條第二節(jié)點信息。同時,當?shù)坠?jié)點NB包括 E時,通過將底節(jié)點NB中的E改變?yōu)閃、移動到父節(jié)點并將父節(jié)點中的W改變?yōu)镋,來產(chǎn)生第 二特征數(shù)據(jù)的多條第二節(jié)點信息。
[0102] 圖12是示出圖10的第二鄰域移動算法的操作的流程圖。
[0103] 參照圖12,在操作S421,地圖構(gòu)建單元150確定第一特征數(shù)據(jù)的多條第一節(jié)點信 息中的底節(jié)點N B是否包括第一方向(E)。
[0104] 作為確定的結(jié)果,如果第一特征數(shù)據(jù)的多條第一節(jié)點信息中的底節(jié)點隊包括第一 方向(E),則在操作S422,地圖構(gòu)建單元150將第一方向(E)改變?yōu)榈诙较颍╓)。
[0105] 當完成改變之后,在操作S423,地圖構(gòu)建單元150移動至父節(jié)點直到發(fā)現(xiàn)包括第 一方向(E)的節(jié)點。
[0106] 在操作S424,如果發(fā)現(xiàn)包括第一方向(E)的節(jié)點,則地圖構(gòu)建單元150結(jié)束第二鄰 域移動算法,并且作為將頂節(jié)點ROOT至第四父節(jié)點NP4的現(xiàn)有節(jié)點信息與改變的底節(jié)點信 息組合的結(jié)果,產(chǎn)生第二特征數(shù)據(jù)的多條第二節(jié)點信息。
[0107] 作為確定的結(jié)果,如果第一特征數(shù)據(jù)的多條第一節(jié)點信息中的底節(jié)點隊不包括第 一方向(E),則地圖構(gòu)建單元150在操作S425確定第一特征數(shù)據(jù)的多條第一節(jié)點信息中的 底節(jié)點是否包括第二方向(W)。
[0108] 作為操作S425的確定的結(jié)果,如果第一特征數(shù)據(jù)的多條第一節(jié)點信息中的底節(jié) 點NB包括第二方向(W),則在操作S426,地圖構(gòu)建單元150將第二方向(W)改變?yōu)榈谝环较?(E)并移動到父節(jié)點。
[0109] 在完成移動到父節(jié)點之后,在操作S427,地圖構(gòu)建單元150將包括第一方向(E)的 父節(jié)點的第一方向(E)改變?yōu)榈诙较颍╓)。
[0110] 在完成操作S427的改變之后,在操作S428,地圖構(gòu)建單元150移動到父節(jié)點直到 發(fā)現(xiàn)包括第一方向(E)的節(jié)點。
[0111] 在操作S429,如果發(fā)現(xiàn)包括第一方向(E)的節(jié)點,則地圖構(gòu)建單元150結(jié)束第二鄰 域移動算法,并且作為將頂節(jié)點ROOT至第三父節(jié)點NP3的現(xiàn)有節(jié)點信息與改變的第四父節(jié) 點信息、改變的底節(jié)點信息組合的結(jié)果,產(chǎn)生第二特征數(shù)據(jù)的多條第二節(jié)點信息。
[0112] 如果即使執(zhí)行了操作S423和S428也沒有發(fā)現(xiàn)包括第一方向(E)的節(jié)點信息,則 通過將直至當前的節(jié)點改變結(jié)果(僅改變底節(jié)點N B的結(jié)果或僅改變底節(jié)點NB和第四父節(jié)點 NP4的結(jié)果)設(shè)置為多條第二節(jié)點信息來完成搜索。
[0113] 如上所述,對于第一特征數(shù)據(jù)的多條第一節(jié)點信息中的底節(jié)點NB包括E的情況和 底節(jié)點N B包括W的情況,可分別執(zhí)行第二鄰域移動算法。當?shù)坠?jié)點NB包括E時,僅通過將 底節(jié)點中的E改變?yōu)閃來產(chǎn)生第二特征數(shù)據(jù)的多條第二節(jié)點信息。同時,當?shù)坠?jié)點N B包括 W時,通過將底節(jié)點中的W改變?yōu)镋、移動到父節(jié)點并將父節(jié)點中的E改變?yōu)閃,來產(chǎn)生第二 特征數(shù)據(jù)的多條第二節(jié)點信息。
[0114] 圖13是示出圖10的第三鄰域移動算法的操作的流程圖。
[0115] 參照圖13,在操作S431,地圖構(gòu)建單元150確定第一特征數(shù)據(jù)的多條第一節(jié)點信 息中的底節(jié)點N B是否包括第四方向(N)。
[0116] 作為確定的結(jié)果,如果第一特征數(shù)據(jù)的多條第一節(jié)點信息中的底節(jié)點隊包括第四 方向(N),則在操作S432,地圖構(gòu)建單元150將第四方向(N)改變?yōu)榈谌较颍⊿)。
[0117] 當完成改變之后,在操作S433,地圖構(gòu)建單元150移動至父節(jié)點直到發(fā)現(xiàn)包括第 四方向(N)的節(jié)點。
[0118] 在操作S434,如果發(fā)現(xiàn)包括第四方向(N)的節(jié)點,則地圖構(gòu)建單元150結(jié)束第三鄰 域移動算法,并且作為將頂節(jié)點ROOT至第四父節(jié)點NP4的現(xiàn)有節(jié)點信息與改變的底節(jié)點信 息組合的結(jié)果,產(chǎn)生第二特征數(shù)據(jù)的多條第二節(jié)點信息。
[0119] 作為確定的結(jié)果,如果第一特征數(shù)據(jù)的多條第一節(jié)點信息中的底節(jié)點隊不包括第 四方向(N),則地圖構(gòu)建單元150在操作S435確定第一特征數(shù)據(jù)的多條第一節(jié)點信息中的 底節(jié)點是否包括第三方向(S)。
[0120] 作為操作S435的確定的結(jié)果,如果第一特征數(shù)據(jù)的多條第一節(jié)點信息中的底節(jié) 點隊包括第三方向(S),則在操作S436,地圖構(gòu)建單元150將第三方向(S)改變?yōu)榈谒姆较?(N)并移動到父節(jié)點。
[0121] 在完成移動到父節(jié)點之后,在操作S437,地圖構(gòu)建單元150將包括第四方向(N)的 父節(jié)點的第四方向(N)改變?yōu)榈谌较颍⊿)。
[0122] 在完成操作S437的改變之后,在操作S438,地圖構(gòu)建單元150移動到父節(jié)點直到 發(fā)現(xiàn)包括第四方向(N)的節(jié)點。
[0123] 在操作S439,如果發(fā)現(xiàn)包括第四方向(N)的節(jié)點,則地圖構(gòu)建單元150結(jié)束第三鄰 域移動算法,并且作為將頂節(jié)點ROOT至第三父節(jié)點NP3的現(xiàn)有節(jié)點信息與改變的第四父節(jié) 點信息、改變的底節(jié)點信息組合的結(jié)果,產(chǎn)生第二特征數(shù)據(jù)的多條第二節(jié)點信息。
[0124] 如果即使執(zhí)行了操作S433和S438也沒有發(fā)現(xiàn)包括第四方向(N)的節(jié)點信息,則 通過將直至當前的節(jié)點改變結(jié)果(僅改變底節(jié)點N B的結(jié)果或僅改變底節(jié)點NB和第四父節(jié)點 NP4的結(jié)果)設(shè)置為多條第二節(jié)點信息來完成搜索。
[0125] 如上所述,對于第一特征數(shù)據(jù)的多條第一節(jié)點信息中的底節(jié)點NB包括N的情況和 底節(jié)點N B包括S的情況,可分別執(zhí)行第三鄰域移動算法。當?shù)坠?jié)點NB包括N時,僅通過將 底節(jié)點中的N改變?yōu)镾來產(chǎn)生第二特征數(shù)據(jù)的多條第二節(jié)點信息。同時,當?shù)坠?jié)點N B包括 S時,通過將底節(jié)點NB中的S改變?yōu)镹、移動到父節(jié)點并將父節(jié)點中的N改變?yōu)镾,來產(chǎn)生第 二特征數(shù)據(jù)的多條第二節(jié)點信息。
[0126] 圖14是示出圖10的第四鄰域移動算法的操作的流程圖。
[0127] 參照圖14,在操作S441,地圖構(gòu)建單元150確定第一特征數(shù)據(jù)的多條第一節(jié)點信 息中的底節(jié)點N B是否包括第三方向(S)。
[0128] 作為確定的結(jié)果,如果第一特征數(shù)據(jù)的多條第一節(jié)點信息中的底節(jié)點隊包括第三 方向(S),則在操作S442,地圖構(gòu)建單元150將第三方向(S)改變?yōu)榈谒姆较颍∟)。
[0129] 當完成改變之后,在操作S443,地圖構(gòu)建單元150移動至父節(jié)點直到發(fā)現(xiàn)包括第 三方向(S)的節(jié)點。
[0130] 在操作S444,如果發(fā)現(xiàn)包括第三方向(S)的節(jié)點,則地圖構(gòu)建單元150結(jié)束第四鄰 域移動算法,并且作為將頂節(jié)點ROOT至第四父節(jié)點NP4的現(xiàn)有節(jié)點信息與改變的底節(jié)點信 息組合的結(jié)果,產(chǎn)生第二特征數(shù)據(jù)的多條第二節(jié)點信息。
[0131] 作為確定的結(jié)果,如果第一特征數(shù)據(jù)的多條第一節(jié)點信息中的底節(jié)點隊不包括第 三方向(S),則地圖構(gòu)建單元150在操作S445確定第一特征數(shù)據(jù)的多條第一節(jié)點信息中的 底節(jié)點NB是否包括第四方向(N)。
[0132] 作為操作S445的確定的結(jié)果,如果第一特征數(shù)據(jù)的多條第一節(jié)點信息中的底節(jié) 點NB包括第四方向(N),則在操作S446,地圖構(gòu)建單元150將第四方向(N)改變?yōu)榈谌较?(S)并移動到父節(jié)點。
[0133] 在完成移動到父節(jié)點之后,在操作S447,地圖構(gòu)建單元150將包括第三方向(S)的 父節(jié)點的第三方向(S)改變?yōu)榈谒姆较颍∟)。
[0134] 在完成操作S447的改變之后,在操作S448,地圖構(gòu)建單元150移動到父節(jié)點直到 發(fā)現(xiàn)包括第三方向(S)的節(jié)點。
[0135] 在操作S449,如果發(fā)現(xiàn)包括第三方向(S)的節(jié)點,則地圖構(gòu)建單元150結(jié)束第四鄰 域移動算法,并且作為將頂節(jié)點ROOT至第三父節(jié)點NP3的現(xiàn)有節(jié)點信息與改變的第四父節(jié) 點信息、改變的底節(jié)點信息組合的結(jié)果,產(chǎn)生第二特征數(shù)據(jù)的多條第二節(jié)點信息。
[0136] 如果即使執(zhí)行了操作S443和S448也沒有發(fā)現(xiàn)包括第三方向(S)的節(jié)點信息,則 通過將直至當前的節(jié)點改變結(jié)果(僅改變底節(jié)點N B的結(jié)果或僅改變底節(jié)點NB和第四父節(jié)點 NP4的結(jié)果)設(shè)置為多條第二節(jié)點信息來完成搜索。
[0137] 如上所述,對于第一特征數(shù)據(jù)的多條第一節(jié)點信息中的底節(jié)點NB包括S的情況和 底節(jié)點N B包括N的情況,可分別執(zhí)行第四鄰域移動算法。當?shù)坠?jié)點NB包括S時,僅通過將 底節(jié)點中的S改變?yōu)镹來產(chǎn)生第二特征數(shù)據(jù)的多條第二節(jié)點信息。同時,當?shù)坠?jié)點N B包括 N時,通過將底節(jié)點中的N改變?yōu)镾、移動到父節(jié)點并將父節(jié)點中的S改變?yōu)镹,來產(chǎn)生第二 特征數(shù)據(jù)的多條第二節(jié)點信息。
[0138] 返回參照圖9,在操作S500,地圖構(gòu)建單元150通過使用第一特征數(shù)據(jù)的多條第一 節(jié)點信息和第二特征數(shù)據(jù)的多條第二節(jié)點信息來構(gòu)建地圖。在當前示例性實施例中,第一 特征數(shù)據(jù)和第二特征數(shù)據(jù)被定義為多條特征數(shù)據(jù),并且使用從第一特征數(shù)據(jù)產(chǎn)生的多條第 一節(jié)點信息和從第二特征數(shù)據(jù)產(chǎn)生的多條第二節(jié)點信息來構(gòu)建地圖。
[0139] 如上所述,根據(jù)示例性實施例,可減少數(shù)據(jù)量,并可增加接近速度,從而移動機器 人可在廣范圍操作。
[0140] 本發(fā)明構(gòu)思還可被實施為計算機可讀記錄介質(zhì)上的計算機可讀代碼。計算機可讀 記錄介質(zhì)是可存儲稍后可被計算機系統(tǒng)讀取的數(shù)據(jù)的任何數(shù)據(jù)存儲裝置。計算機可讀記錄 介質(zhì)包括只讀存儲器(ROM)、隨機存取存儲器(RAM)、⑶-ROM、磁帶、軟盤、光學數(shù)據(jù)存儲裝 置和以載波形式實施的介質(zhì)(例如,通過互聯(lián)網(wǎng)的數(shù)據(jù)傳輸)。計算機可讀記錄介質(zhì)還可被 分布在聯(lián)網(wǎng)的計算機系統(tǒng)上,從而計算機可讀代碼以分布方式被存儲和執(zhí)行。此外,用于完 成本發(fā)明構(gòu)思的功能程序、代碼和代碼段可由本領(lǐng)域程序員容易地構(gòu)建。
[0141] 盡管在上面已經(jīng)具體示出和描述了示例性實施例,但是本領(lǐng)域的普通技術(shù)人員將 理解,在不脫離由權(quán)利要求限定的本發(fā)明構(gòu)思的精神的范圍的情況下,可以對示例性實施 例進行形式和細節(jié)的各種改變。示例性實施例應(yīng)僅被視為描述性的意義,而不是限制的目 的。因此,限定的本發(fā)明構(gòu)思的范圍不是由本公開的詳細描述限定,而是由權(quán)利要求限定, 并且在該范圍內(nèi)的所有不同將被解釋為包括在示例性實施例中。
【權(quán)利要求】
1. 一種構(gòu)建用于移動機器人的地圖的方法,所述方法包括: 通過掃描移動機器人的周圍環(huán)境來搜索占據(jù)任意空間的多條特征數(shù)據(jù); 對所述多條特征數(shù)據(jù)的第一特征數(shù)據(jù)執(zhí)行四叉樹分割以產(chǎn)生多條第一節(jié)點信息; 確定所述多條特征數(shù)據(jù)中的第二特征數(shù)據(jù)針對第一特征數(shù)據(jù)的位置; 執(zhí)行鄰域移動算法,以通過使用所述多條第一節(jié)點信息來根據(jù)第二特征數(shù)據(jù)的位置產(chǎn) 生第二特征數(shù)據(jù)的多條第二節(jié)點信息。
2. 如權(quán)利要求1所述的方法,其中,所述確定位置的步驟包括:確定第二特征數(shù)據(jù)位于 第一位置、第二位置、第三位置和第四位置中的一個位置,其中,第一位置、第二位置、第三 位置和第四位置彼此成直角。
3. 如權(quán)利要求2所述的方法,其中,所述執(zhí)行鄰域移動算法的步驟包括:執(zhí)行第一鄰域 移動算法、第二鄰域移動算法、第三鄰域移動算法和第四鄰域移動算法中的一個算法,以根 據(jù)第二特征數(shù)據(jù)的確定的位置產(chǎn)生第二特征數(shù)據(jù)的所述多條第二節(jié)點信息。
4. 如權(quán)利要求3所述的方法,其中,執(zhí)行第一鄰域移動算法、第二鄰域移動算法、第三 鄰域移動算法和第四鄰域移動算法中的一個的步驟包括: 響應(yīng)于確定的位置是第一位置,執(zhí)行第一鄰域移動算法,以產(chǎn)生第二特征數(shù)據(jù)的所述 多條第二節(jié)點信息; 響應(yīng)于確定的位置是第二位置,執(zhí)行第二鄰域移動算法,以產(chǎn)生第二特征數(shù)據(jù)的所述 多條第二節(jié)點信息; 響應(yīng)于確定的位置是第三位置,執(zhí)行第三鄰域移動算法,以產(chǎn)生第二特征數(shù)據(jù)的所述 多條第二節(jié)點信息; 響應(yīng)于確定的位置是第四位置,執(zhí)行第四鄰域移動算法,以產(chǎn)生第二特征數(shù)據(jù)的所述 多條第二節(jié)點信息。
5. 如權(quán)利要求3所述的方法,其中,執(zhí)行第一鄰域移動算法、第二鄰域移動算法、第三 鄰域移動算法和第四鄰域移動算法中的一個的步驟包括:確定第一特征數(shù)據(jù)的所述多條第 一節(jié)點信息中的底節(jié)點是否包括與從第一特征數(shù)據(jù)到第二特征數(shù)據(jù)的確定的位置延伸的 方向相反的確定方向。
6. 如權(quán)利要求5所述的方法,其中,執(zhí)行第一鄰域移動算法、第二鄰域移動算法、第三 鄰域移動算法和第四鄰域移動算法中的一個的步驟還包括:響應(yīng)于第一特征數(shù)據(jù)的所述多 條第一節(jié)點信息中的底節(jié)點具有所述確定方向,產(chǎn)生第二特征數(shù)據(jù)的第一多條第二節(jié)點信 肩、。
7. 如權(quán)利要求6所述的方法,其中,執(zhí)行第一鄰域移動算法、第二鄰域移動算法、第三 鄰域移動算法和第四鄰域移動算法中的一個的步驟還包括:響應(yīng)于第一特征數(shù)據(jù)的所述多 條第一節(jié)點信息中的底節(jié)點具有從第一特征數(shù)據(jù)到第二特征數(shù)據(jù)的確定的位置的方向,產(chǎn) 生第二特征數(shù)據(jù)的第二多條第二節(jié)點信息。
8. 如權(quán)利要求7所述的方法,其中,產(chǎn)生第二特征數(shù)據(jù)的第一多條第二節(jié)點信息的步 驟包括: 將第一特征數(shù)據(jù)的所述多條第一節(jié)點信息中的底節(jié)點的確定方向改變?yōu)閺牡谝惶卣?數(shù)據(jù)到第二特征數(shù)據(jù)的確定的位置的方向; 作為將第一節(jié)點信息的改變的底節(jié)點與第一節(jié)點信息的剩余節(jié)點組合的結(jié)果,產(chǎn)生第 二特征數(shù)據(jù)的第一多條第二節(jié)點信息。
9. 如權(quán)利要求7所述的方法,其中,產(chǎn)生第二特征數(shù)據(jù)的第二多條第二節(jié)點信息的步 驟包括: 將從第一特征數(shù)據(jù)到第一特征數(shù)據(jù)的所述多條第一節(jié)點信息中的底節(jié)點的第二特征 數(shù)據(jù)的確定的位置的方向改變?yōu)樗龃_定方向,并移動到底節(jié)點的父節(jié)點; 將父節(jié)點的所述確定方向改變?yōu)閺牡谝惶卣鲾?shù)據(jù)到第二特征數(shù)據(jù)的確定的位置的方 向; 作為將第一節(jié)點信息的改變的底節(jié)點和改變的父節(jié)點與第一節(jié)點信息的剩余節(jié)點組 合的結(jié)果,產(chǎn)生第二特征數(shù)據(jù)的第二多條第二節(jié)點信息。
10. -種用于構(gòu)建用于移動機器人的地圖的設(shè)備,所述設(shè)備包括: 環(huán)境識別單元,被構(gòu)造為通過掃描移動機器人的周圍環(huán)境來搜索占據(jù)任意空間的多條 特征數(shù)據(jù); 四叉樹信息產(chǎn)生單元,被構(gòu)造為對所述多條特征數(shù)據(jù)的第一特征數(shù)據(jù)執(zhí)行四叉樹分割 以產(chǎn)生多條第一節(jié)點信息; 搜索單元,被構(gòu)造為確定所述多條特征數(shù)據(jù)中的第二特征數(shù)據(jù)針對第一特征數(shù)據(jù)的位 置; 鄰域移動信息產(chǎn)生單元,被構(gòu)造為執(zhí)行鄰域移動算法,用于通過使用所述多條第一節(jié) 點信息來根據(jù)第二特征數(shù)據(jù)的位置產(chǎn)生第二特征數(shù)據(jù)的多條第二節(jié)點信息。
11. 如權(quán)利要求10所述的設(shè)備,其中,搜索單元確定第二特征數(shù)據(jù)位于第一位置、第二 位置、第三位置和第四位置中的一個位置,其中,第一位置、第二位置、第三位置和第四位置 彼此成直角。
12. 如權(quán)利要求11所述的設(shè)備,其中,鄰域移動信息產(chǎn)生單元執(zhí)行第一鄰域移動算法、 第二鄰域移動算法、第三鄰域移動算法和第四鄰域移動算法中的一個算法,用于根據(jù)第二 特征數(shù)據(jù)的位置產(chǎn)生第二特征數(shù)據(jù)的所述多條第二節(jié)點信息。
13. 如權(quán)利要求12所述的設(shè)備,其中,鄰域移動信息產(chǎn)生單元執(zhí)行以下操作: 響應(yīng)于確定的位置是第一位置,執(zhí)行第一鄰域移動算法,以產(chǎn)生第二特征數(shù)據(jù)的所述 多條第二節(jié)點信息; 響應(yīng)于確定的位置是第二位置,執(zhí)行第二鄰域移動算法,以產(chǎn)生第二特征數(shù)據(jù)的所述 多條第二節(jié)點信息; 響應(yīng)于確定的位置是第三位置,執(zhí)行第三鄰域移動算法,以產(chǎn)生第二特征數(shù)據(jù)的所述 多條第二節(jié)點信息; 響應(yīng)于確定的位置是第四位置,執(zhí)行第四鄰域移動算法,以產(chǎn)生第二特征數(shù)據(jù)的所述 多條第二節(jié)點信息。
14. 如權(quán)利要求12所述的設(shè)備,其中,鄰域移動信息產(chǎn)生單元確定第一特征數(shù)據(jù)的所 述多條第一節(jié)點信息中的底節(jié)點是否包括與從第一特征數(shù)據(jù)到第二特征數(shù)據(jù)的確定的位 置延伸的方向相反的確定方向。
15. 如權(quán)利要求14所述的設(shè)備,其中,鄰域移動信息產(chǎn)生單元響應(yīng)于第一特征數(shù)據(jù)的 所述多條第一節(jié)點信息中的底節(jié)點具有所述確定方向,產(chǎn)生第二特征數(shù)據(jù)的第一多條第二 節(jié)點信息。
16. 如權(quán)利要求15所述的設(shè)備,其中,鄰域移動信息產(chǎn)生單元響應(yīng)于第一特征數(shù)據(jù)的 所述多條第一節(jié)點信息中的底節(jié)點具有從第一特征數(shù)據(jù)到第二特征數(shù)據(jù)的確定的位置的 方向,產(chǎn)生第二特征數(shù)據(jù)的第二多條第二節(jié)點信息。
17. 如權(quán)利要求16所述的設(shè)備,其中,鄰域移動信息產(chǎn)生單元執(zhí)行以下操作: 將第一特征數(shù)據(jù)的所述多條第一節(jié)點信息中的底節(jié)點的確定方向改變?yōu)閺牡谝惶卣? 數(shù)據(jù)到第二特征數(shù)據(jù)的確定的位置的方向; 作為將第一節(jié)點信息的改變的底節(jié)點與第一節(jié)點信息的剩余節(jié)點組合的結(jié)果,產(chǎn)生第 二特征數(shù)據(jù)的第一多條第二節(jié)點信息。
18. 如權(quán)利要求16所述的設(shè)備,其中,鄰域移動信息產(chǎn)生單元執(zhí)行以下操作: 將從第一特征數(shù)據(jù)到第一特征數(shù)據(jù)的所述多條第一節(jié)點信息中的底節(jié)點的第二特征 數(shù)據(jù)的確定的位置的方向改變?yōu)樗龃_定方向并移動到底節(jié)點的父節(jié)點; 將所述確定方向改變?yōu)閺牡谝惶卣鲾?shù)據(jù)到第二特征數(shù)據(jù)的確定的位置的方向; 作為將第一節(jié)點信息的改變的底節(jié)點和改變的父節(jié)點與第一節(jié)點信息的剩余節(jié)點組 合的結(jié)果,產(chǎn)生第二特征數(shù)據(jù)的第二多條第二節(jié)點信息。
【文檔編號】G09B29/00GK104142971SQ201310700706
【公開日】2014年11月12日 申請日期:2013年12月18日 優(yōu)先權(quán)日:2013年5月7日
【發(fā)明者】金東信 申請人:三星泰科威株式會社