專利名稱:產(chǎn)生和使用柵格地圖路徑的設(shè)備和方法
技術(shù)領(lǐng)域:
一個或多個實施例涉及一種路徑搜索系統(tǒng),更具體地講,涉及一種產(chǎn)生和使用柵 格地圖(grid map)中的障礙規(guī)避路徑的設(shè)備和方法。
背景技術(shù):
通常使用柵格地圖來設(shè)置移動對象(諸如移動機器人)的運動路徑。柵格地圖將 移動對象運動的周圍區(qū)域劃分為更小的可限定的區(qū)域或柵格,并且可使用可限定的概率來 表現(xiàn)每個柵格中對象存在的可能性。為了運動到特定位置,移動對象使用柵格地圖沿路徑 運動到該位置,從而不與障礙碰撞。移動機器人(諸如清潔機器人)可能感興趣的傳統(tǒng)的 特定位置是用于自動充電的充電站或者用于特定任務(wù)的特定位置。通常,在產(chǎn)生將被移動目標(biāo)使用的路徑期間,一般期望找到從起點到終點的最短 路徑,因此順序檢測從起點到終點的許多(可能不是全部)可用的路徑。當(dāng)柵格地圖不大 時,這種路徑搜索的計算量對于將被快速產(chǎn)生的適當(dāng)路徑來說不是很大。然而,柵格地圖越 大,柵格數(shù)量越多。因此,需要的存儲量和計算量與柵格地圖的大小成比例地增加。其結(jié)果 是,具有有限存儲和處理能力的設(shè)備(諸如具有嵌入式系統(tǒng)的設(shè)備)難以快速地找到適當(dāng) 路徑。
發(fā)明內(nèi)容
一個或多個實施例涉及這樣一種設(shè)備和方法,即,可減少使用柵格地圖搜索路徑 所需的存儲容量以及根據(jù)搜索到路徑使移動目標(biāo)運動的該路徑的使用。根據(jù)一個或多個實施例,提供一種產(chǎn)生路徑的設(shè)備,包括路徑產(chǎn)生器,基于通過 縮小地圖而產(chǎn)生的縮小的地圖,為相對于地圖移動的對象產(chǎn)生近似路徑,基于近似路徑的 劃分將地圖劃分為多個部分,并且基于近似路徑在每個劃分的部分中產(chǎn)生詳細路徑。根據(jù)一個或多個實施例,提供一種在地圖中產(chǎn)生對象的路徑的方法,包括在通過 縮小地圖而產(chǎn)生的縮小的地圖內(nèi)產(chǎn)生近似路徑;基于近似路徑的劃分將地圖劃分為多個部 分;基于近似路徑在每個劃分的部分中產(chǎn)生詳細路徑。根據(jù)一個或多個實施例,提供一種產(chǎn)生路徑的設(shè)備,包括路徑產(chǎn)生器,為相對于 地圖移動的對象產(chǎn)生縮小的地圖的近似路徑,基于將縮小的地圖的近似路徑映射到地圖來 將地圖劃分為多個部分,分別通過至少一種搜索算法在每個劃分部分中產(chǎn)生詳細路徑,其 中,路徑產(chǎn)生器還基于近似路徑上的點在每個劃分部分中設(shè)置開始路點和目的路點,并使 用每個設(shè)置的開始路點和目的路點基于應(yīng)用于每個劃分部分的路徑產(chǎn)生算法在每個劃分 部分中產(chǎn)生詳細路徑。根據(jù)一個或多個實施例,提供一種產(chǎn)生路徑的方法,包括為相對于地圖移動的對象產(chǎn)生縮小的地圖的近似路徑;基于將縮小的地圖的近似路徑映射到地圖來將地圖換分為 多個部分;分別通過至少一種搜索算法在每個劃分部分中產(chǎn)生詳細路徑,其中,劃分地圖的 步驟還包括基于近似路徑上的點在每個劃分部分中設(shè)置開始路點和目的路點,并使用每 個設(shè)置的開始路點和目的路點基于應(yīng)用于每個劃分部分的路徑產(chǎn)生算法在每個劃分部分 中產(chǎn)生詳細路徑。在下面的描述中將部分地闡明本發(fā)明另外的方面和/或優(yōu)點,通過描述部分地會 變得更加清楚,或者通過實施本發(fā)明可以了解。
通過下面結(jié)合附圖對實施例進行的描述,本發(fā)明的這些和/或其他方面和優(yōu)點將 會變得清楚和更易于理解,其中圖1示出根據(jù)一個或多個實施例的用于產(chǎn)生路徑的設(shè)備;圖2A示出通過縮小柵格地圖來產(chǎn)生詳細路徑的傳統(tǒng)方法;圖2B示出根據(jù)一個或多個實施例的縮小柵格地圖以產(chǎn)生適當(dāng)路徑的方法;圖3示出根據(jù)一個或多個實施例的路徑產(chǎn)生處理的結(jié)果;圖4示出根據(jù)一個或多個實施例的產(chǎn)生詳細路徑的處理;圖5是根據(jù)一個或多個實施例的柵格地圖的示例,其中,映射到原始柵格地圖的 適當(dāng)路徑已被劃分為多個部分以產(chǎn)生詳細路徑;圖6示出根據(jù)一個或多個實施例的產(chǎn)生路徑的處理;圖7詳細示出根據(jù)一個或多個實施例的諸如圖6所示的路徑產(chǎn)生方法。
具體實施例方式現(xiàn)在對實施例進行詳細的描述,其示例示出在附圖中,其中,相同的標(biāo)號始終表示 相同部件。就此而言,本發(fā)明的實施例可以以許多不同形式被實現(xiàn),而不應(yīng)被解釋為限制于 這里闡述的實施例。因此,下面僅是通過參照附圖對實施例進行描述以解釋本發(fā)明的各方圖1是根據(jù)一個或多個實施例的用于產(chǎn)生路徑的設(shè)備的框圖。這里,貫穿以下的 描述,術(shù)語“設(shè)備”在所有實施例中應(yīng)該與物理系統(tǒng)的部件同義地理解,不限于單個封裝或 在各單個封裝中實現(xiàn)的所有所述部件,相反,根據(jù)實施例,該術(shù)語公開為通過不同部件在不 同封裝和/或位置中一起或分開實現(xiàn)。僅作為另一示例,各設(shè)備/系統(tǒng)或方法還可通過一 個或多個處理部件/裝置來控制或者通過分布式網(wǎng)絡(luò)來實現(xiàn),注意,另外的和替換的實施 例同樣可用。此外,在實施例中,用于產(chǎn)生路徑的設(shè)備還是移動機器人,其另外包括用于柵格地 圖產(chǎn)生的傳感部件和使移動機器人根據(jù)產(chǎn)生的路徑運動的運動部件。在實施例中,產(chǎn)生適 當(dāng)柵格地圖的處理還可包括使移動機器人沿該路徑運動。此外,雖然這里可關(guān)于移動機器 人來討論實施例,但是,當(dāng)例如機器人周圍的運動以與障礙邊緣或區(qū)域無限或有限的交互 作用來實現(xiàn)時,實施例同樣可用于固定機器人。在實施例中,移動機器人同樣可以是計算機 產(chǎn)生的空間中的虛擬形象。因此,如圖1所示,用于產(chǎn)生路徑的設(shè)備100可包括例如路徑產(chǎn)生器110和存儲器
7120。簡言之,如上所述,設(shè)備100還可以是移動機器人,并且包括用于使移動機器人根據(jù)產(chǎn) 生的路徑運動的運動部件。為了解釋的目的,這里沒有另外討論這種根據(jù)路徑的運動控制, 盡管其可理解為適當(dāng)?shù)膶嵤├?。可以在題為“Method and apparatus for moving along shortest movement pathusing grid map”的第2004-0116864號美國專利公開找到至少這 種控制和運動部件的討論,該專利公開包含于此。此外,盡管在這里針對基于柵格識別定位 系統(tǒng)的地圖進行實施例的討論,但是可實現(xiàn)基于替換的位置識別系統(tǒng)來區(qū)分障礙位置或障 礙區(qū)域和非障礙區(qū)域,例如,相對于地圖中的移動對象和其它對象的位置。路徑產(chǎn)生器110首先基于通過縮小原始柵格地圖產(chǎn)生的縮小的柵格地圖來產(chǎn)生 近似路徑,將原始柵格地圖的近似路徑劃分為多個部分,然后在各個劃分部分中產(chǎn)生詳細 路徑。其后,這樣的多個詳細路徑可被組合以產(chǎn)生原始柵格地圖的詳細路徑。路徑產(chǎn)生器 110可使用多種路徑產(chǎn)生方法,但是為了簡單起見,在實施例中,可建設(shè)使用A星(A-star) (A*)算法來產(chǎn)生路徑。作為替換,僅作為示例,可使用D星(D-star) (D*)算法、不同算法或 不同算法的組合來產(chǎn)生路徑。簡言之,A星算法是最佳優(yōu)先圖形搜索算法,該算法從給定的初始節(jié)點到(一個或 多個可能目標(biāo)中的)一個目標(biāo)節(jié)點中搜索最小成本路徑??梢砸猿杀驹黾拥拇涡蝽樞驒z 測從開始點到目的點的所有可能路徑。因此,A星使用距離加成本啟發(fā)函數(shù)(通常表示為 f(x))來確定搜索樹中的訪問節(jié)點的次序。距離加成本啟發(fā)可以是兩個函數(shù)的和從開始 節(jié)點到當(dāng)前節(jié)點的成本的路徑成本函數(shù)(通常表示為g(x));到目標(biāo)的距離的可接受“啟 發(fā)估計”(通常表示為 h(x))??梢栽?Hart,P. E.,Nilsson,N. J. , Raphael, B.,“A Formal Basis for the HeuristicDetermination of Minimum Cost Paths", IEEE Transactions of Systems Scienceand Cybernetics,vol. ssc_4,No. 2 中找至lj合并于此的最早的討論 或A星算法。D星算法是A星算法的變型,當(dāng)在行進期間發(fā)生近似路徑中的方向改變時,允 許通過重新使用先前的搜索結(jié)果來進行快速搜索。然而,在實際實現(xiàn)中,使用圖像金字塔 (Image Pyramid)的A星算法通常顯示出比D星算法更快的處理速度。應(yīng)該注意,可以在不 同的劃分的柵格地圖之間使用不同的算法,但效率可能更低。這里,例如,因為可將先前的 路徑結(jié)果用于隨后的搜索,所以先前的搜索算法和當(dāng)前的搜索算法不必相同。在“Optimal and Efficient PathPlanning for Partially-Known Environments,,,Proceeding of the InternationalConference on Robotics and Automation, Stentz,Anthony (1994)中討 論了合并于此的 D 星算法。相似地,還在 H.Choset,K. Lynch, S. Hutchinson, G. Kan tor, W.Burgard,L. Kavraki,and S.Thrun, “ Principles of Robot Motion,“ pp.527 536 中討論了合并于此的A星算法、D星算法以及其他搜索算法。這里,應(yīng)該注意“Principles of Robot Motion”(機器人運動原理)還解釋了關(guān)于移動機器人跟隨限定的路徑的處理的 合并的討論。因此,存儲器120可存儲用于路徑產(chǎn)生的柵格地圖、設(shè)備100操作所需的應(yīng)用數(shù)據(jù) 等,注意,用于各個數(shù)據(jù)或組合數(shù)據(jù)的替換存儲部件同樣可用。這里,在實施例中,存儲器 120可包括允許寫入和讀取在路徑產(chǎn)生器110的路徑產(chǎn)生操作中產(chǎn)生的數(shù)據(jù)的足夠可用的 存儲空間。路徑產(chǎn)生器110可包括例如地圖縮小器112、近似路徑產(chǎn)生器114和詳細路徑產(chǎn)生 器 116。
8
通常,柵格地圖包括指示在特定位置或區(qū)域存在障礙的概率的信息??赏ㄟ^例如 距離傳感器(諸如紅外傳感器、超聲波傳感器或激光傳感器)來獲得該信息。在這種柵格 地圖中,通常不考慮移動對象的大小。因此,當(dāng)移動對象使用柵格地圖行進時,即使限定路 徑不與障礙或障礙區(qū)域碰撞,移動對象的邊緣仍可能與障礙撞擊或碰撞。因此,在實施例 中,地圖縮小器112通過在新產(chǎn)生的縮小的柵格地圖中將移動對象縮小為一點,并相應(yīng)地 在產(chǎn)生的縮小的柵格地圖中增加墻壁或邊緣的厚度以及障礙或障礙區(qū)域,來考慮移動對象 的大小。從而還可在縮小的柵格地圖的柵格地圖中同樣地限定縮小的柵格地圖的自由區(qū)域 (即,移動對象可不與障礙或障礙區(qū)域碰撞不受限制地運動的區(qū)域)。在實施例中,地圖縮小器112可通過縮小柵格地圖來產(chǎn)生縮小的柵格地圖,例如, 通過實現(xiàn)抗混疊(anti-aliasing)濾波處理來包括關(guān)于確定的自由區(qū)域的信息。當(dāng)限定將在產(chǎn)生縮小的柵格地圖中實現(xiàn)的縮小時,可依賴另外的或替換的因素。 例如,當(dāng)移動對象的大小為20cm,lcm的柵格單元可映射到1點,如果原始柵格地圖的縮小 率為1/20或更小,則存在的障礙不能適當(dāng)?shù)胤从吃诳s小的柵格地圖中。因此,在這種情況 下,柵格地圖的縮小率可限于移動對象的大小映射到1點的縮小率??苫谝苿訉ο蟮拇?小考慮柵格地圖的歸一化。簡言之,在實施例中,在路徑近似之前增加墻壁或障礙的寬度的 原因可用于移動對象必須在距離墻壁或障礙預(yù)定空間內(nèi)運動的情況。此外,與增加墻壁或 障礙的寬度相反,還可減小墻壁或障礙的寬度,在這種情況下,可基于最短路徑執(zhí)行路徑規(guī) 劃,在該最短路徑上,至少防止移動對象與墻壁或障礙的碰撞。因此,可通過根據(jù)縮小的柵格地圖相對于原始柵格地圖的縮小進行轉(zhuǎn)換,來在縮 小的柵格地圖中表現(xiàn)期望設(shè)置最終路徑的任何原始開始點和目的點的坐標(biāo)。例如,當(dāng)原始 柵格地圖線性地縮小1/N2時,各個坐標(biāo)可僅乘以1/N。因此,對于開始點和目的點,它們各 自的坐標(biāo)可以乘以1/N,并且可以在縮小的柵格地圖內(nèi)搜索與轉(zhuǎn)換的坐標(biāo)最近的自由區(qū)域 中的坐標(biāo),即,如果開始點和目的坐標(biāo)的相乘操作導(dǎo)致在縮小的柵格地圖的障礙區(qū)域中相 同的反映,則設(shè)置為縮小的柵格地圖開始點和目的點。雖然已經(jīng)討論線性縮小,但是也可進行原始柵格地圖的非線性縮小。在這種實施 例中,如果特定柵格地圖已被非線性地縮小并且進行路徑規(guī)劃,則當(dāng)為了路徑搜索放大地 圖時,可期望柵格地圖與非線性縮小成反比地非線性放大,而不是簡單地放大兩倍(x2)。近似路徑產(chǎn)生器114可在縮小的柵格地圖中產(chǎn)生從縮小的柵格地圖開始點到縮 小的柵格地圖目的點的近似路徑。例如,可使用A星算法搜索從相應(yīng)設(shè)置的開始點到設(shè)置 的目的點的近似路徑。詳細路徑產(chǎn)生器116可隨后將找到的路徑劃分為兩個或更多個部分,并在原始柵 格地圖中開始搜索從每個劃分部分中的各個開始點到目的點的路徑,這些詳細路徑一起的 組合用于產(chǎn)生原始柵格地圖的完整的詳細路徑。這些進行的搜索可以是映射到原始柵格地 圖的近似柵格地圖的細節(jié),或者是基于近似柵格地圖設(shè)置的每個劃分部分的各個開始點和 終點。以下將更詳細地描述產(chǎn)生詳細路徑的操作。首先,在實施例中,可以在地圖縮小器112的縮小操作之前,詳細路徑產(chǎn)生器116 將近似路徑中的路點(waypoint)映射到包括自由區(qū)域信息的柵格地圖。在圖4的柵格地圖 410中可以看到示例路點31和32,路點是移動對象在開始點和目的點之間的運動點。移動 對象可使用每個路點作為各個目的點,并從一個路點運動到另一個路點。映射操作的結(jié)果是,從縮小的柵格地圖映射到原始柵格地圖的部分路點(或者甚至是開始點和目的點)可 能被映射到移動對象可運動的自由區(qū)域的外部,例如,障礙或障礙區(qū)域之內(nèi)。因此,詳細路 徑產(chǎn)生器116檢查任何映射的路點是否位于原始柵格地圖的自由區(qū)域的外部。當(dāng)部分路點 位于自由區(qū)域的外部時,它們被移動到例如原始柵格地圖的自由區(qū)域中的最接近的位置。隨后,詳細路徑產(chǎn)生器116將從縮小的柵格地圖產(chǎn)生的近似路徑劃分為多個部 分,在原始柵格地圖的每個相應(yīng)劃分的部分中設(shè)置開始點和目的點,并在每個劃分部分中 重置路徑,每個劃分部分的組合用于產(chǎn)生最終的詳細路徑。在實施例中,詳細路徑產(chǎn)生器116可基于用于路徑計算的可用存儲空間的大小和 /或處理能力,將路徑劃分為多個部分,例如,劃分為具有各自大小的確定數(shù)量的部分。例 如,當(dāng)使用A星算法執(zhí)行路徑搜索時,一個柵格所需的存儲量通常為18字節(jié)。因此,當(dāng)在 柵格地圖的路點中確定開始點和目的點時,可計算路徑計算所需的存儲量。這里,在實施 例中,還應(yīng)注意,對于這種將路徑劃分為各個部分,可采用用于所有部分的并行路徑產(chǎn)生處 理,從而可以在明顯短于使用單個路徑產(chǎn)生處理的傳統(tǒng)路徑產(chǎn)生的時間內(nèi)產(chǎn)生整個詳細路 徑。例如,不是將近似路徑映射回到原始柵格地圖并劃分原始柵格地圖,而是可將原始柵格 地圖劃分為基于劃分的近似路徑的局部地圖,并可對每個局部柵格地圖應(yīng)用適當(dāng)?shù)乃阉魉?法,例如,A星算法。然后,每個局部柵格地圖的所得的詳細路徑可分別由移動對象以通過 在原始柵格地圖中行進所需的完整路徑的順序使用。以下,假設(shè)近似路點從縮小的柵格地圖映射到原始柵格地圖,移動到自由區(qū)域的 路點由Ps、Ps+1.....Ps+N (其中N是自然數(shù))表示,Ps是開始點,Ps+N是目的點。詳細路徑產(chǎn)生器116可限定具有路點(例如PS+1Q)作為目的點的部分,并使用包 括限定的部分的柵格地圖,其中,Ps+1(l存在于位于自由區(qū)域中的原始開始點Ps和目的點Ps+N 之間的路點中,并且用于計算從開始點Ps到Ps+1(l的路徑的存儲器大小不超過可用的存儲器 大小。其后,詳細路徑產(chǎn)生器116可相似地限定具有路點Ps+1(l作為開始點和路點(例如, Ps+2。)作為目的點的部分,并使用包括該限定部分柵格地圖產(chǎn)生詳細路徑,其中,Ps+1(l是前 一部分的目的點,并且用于計算從Ps+1。到Ps+2。的路徑的存儲器大小不超過可用的存儲器大 小。同樣地,可限定從開始點到原始目的點Ps+N的最后部分,并可產(chǎn)生在該限定部分中的詳 細路徑。此時,可限定諸如彼此部分重疊的部分。例如,當(dāng)?shù)谝徊糠值哪康狞c是Ps+Kl時,第 二部分的開始點可能設(shè)置為Ps+9。詳細路徑產(chǎn)生器116可通過組合以這種方式設(shè)置的特定 部分的詳細路徑來產(chǎn)生最終詳細路徑。詳細路徑產(chǎn)生器116還可選擇位于方向變化點的改變點,其中,方向變化點存在 于位于最終詳細路徑上的路點中。移動對象可沿使用關(guān)于開始點、目的點和選擇的改變點 的信息在柵格地圖中產(chǎn)生的路徑運動。這里,移動對象可以是物理移動機器人或預(yù)定對象, 例如,游戲應(yīng)用中的角色或虛擬形象,它們被設(shè)置為沿路徑搜索應(yīng)用搜索到的路徑移動。路徑產(chǎn)生器110或設(shè)備100還可以是各種電子裝置,諸如移動電話、便攜式媒體播 放器(PMP)或個人數(shù)字助理(PDA),或者是諸如移動機器人的移動對象,其可使用一個處理 裝置產(chǎn)生路徑并移動。如上所述,當(dāng)路徑產(chǎn)生器110由移動機器人實現(xiàn)時,移動機器人還可 包括傳感單元、行進單元等,其中,傳感單元用于產(chǎn)生柵格地圖,檢測移動對象的運動量等, 行進單元用于使移動對象運動。傳感單元可用于產(chǎn)生移動對象周圍的二維或三維地圖,從而可能產(chǎn)生移動機器人周圍的原始柵格地圖的全部或部分。如上所述,根據(jù)一個或多個實施例,可縮小柵格地圖并在縮小的柵格地圖內(nèi)產(chǎn)生 近似路徑。還可將近似路徑劃分為在原始柵格地圖中反映的多個路徑和路徑部分。因此, 還可在原始柵格地圖的劃分部分中搜索詳細路徑,最終組合為原始柵格地圖內(nèi)的最終詳細 路徑。因此,與通過分析整個原始柵格地圖一下搜索整個路徑的方法相比,通過例如重 復(fù)使用較小的存儲量,可以與柵格地圖縮小的比率成比例地減少路徑搜索所需的存儲量。 因為在縮小的柵格地圖中搜索路徑或者對于整個柵格地圖搜索特定部分的路徑,所以與搜 索整個柵格地圖的路徑的傳統(tǒng)方法相比,路徑搜索花費的時間減少。圖2A示出通過縮小柵格地圖來產(chǎn)生詳細路徑的傳統(tǒng)方法,圖2B示出根據(jù)一個或 多個實施例的縮小柵格地圖以產(chǎn)生各個詳細路徑的方法。當(dāng)從原始柵格地圖產(chǎn)生包括關(guān)于對象可不受限制地運動的區(qū)域的自由區(qū)域信息 的柵格地圖時,可執(zhí)行例如將柵格地圖縮小1/N2的處理。圖2A和圖2B都示出了將柵格地 圖縮小1/4的方法。圖2A示出產(chǎn)生存儲器需求和處理要求較低的路徑的處理,其中,僅通過縮小原始 柵格地圖來產(chǎn)生縮小的柵格地圖220,例如,通過提取僅關(guān)于原始柵格地圖210的四分之一 的信息,并且計算縮小的柵格地圖220內(nèi)或從縮小的柵格地圖220計算適當(dāng)?shù)脑敿毬窂健H?而,根據(jù)該方法,如圖2A所示,使用原始信息中僅關(guān)于A、C、I和K的信息,關(guān)于其余部分的 信息被丟棄。因此,由于關(guān)于原始柵格地圖的信息的損失,很可能在這種柵格地圖縮小處理 中不能產(chǎn)生最精確的最終詳細路徑。可選擇地,圖2B示出根據(jù)一個或多個實施例的通過抗混疊濾波來縮小柵格地圖 的方法。根據(jù)實施,柵格地圖230的柵格以四個為一組,計算特定組的平均值,從而產(chǎn)生縮 小的柵格地圖240。然后,將平均值與閾值比較。當(dāng)平均值滿足閾值時,例如,等于閾值或大 于閾值時,可將相應(yīng)的柵格的值設(shè)置為1 ;當(dāng)平均值不滿足閾值時,例如,小于閾值時,可將 相應(yīng)的柵格的值設(shè)置為0。這里,在該示例中,柵格值1表示存在障礙,柵格值0表示沒有障 礙。圖3示出根據(jù)一個或多個實施例的路徑產(chǎn)生處理的結(jié)果。柵格地圖310至340中的空白區(qū)域表示移動對象可移動的區(qū)域,而陰影區(qū)域表示 障礙區(qū)域。在原始柵格地圖310中,示出從開始點10到目的點20的路徑30。已經(jīng)通過使用圖2A示出的縮小將原始柵格地圖310縮小1/4,獲得了柵格地圖 320。因此,柵格地圖320進一步解釋了圖2A中的路徑產(chǎn)生過程。但是,采用這種縮小和路 徑產(chǎn)生過程,柵格地圖310中的路徑30在柵格地圖320中不能被重新產(chǎn)生,這是因為關(guān)于 原始柵格地圖310的信息已經(jīng)丟失。換句話說,當(dāng)通過僅提取原始柵格地圖310的四分之 一的信息來產(chǎn)生這樣縮小的柵格地圖320時,障礙信息丟失。因此,由于開始點和目的地之 間的必要路徑需要穿過障礙或障礙區(qū)域,導(dǎo)致必要路徑不能被實際使用,所以不可能產(chǎn)生 正確的最終詳細路徑?;蛘撸m然圖2A中的縮小處理可采用實施例中的進一步描述的部分劃分處理被 實現(xiàn),但是如果通過抗混疊濾波來實現(xiàn)圖2B中的縮小處理,則可產(chǎn)生縮小的柵格地圖340, 而沒有信息的丟失。如上所述,柵格地圖330中所示的平均值與閾值比較。當(dāng)平均值滿足閾值時,相應(yīng)柵格的值被設(shè)置為1,當(dāng)平均值不滿足閾值時,相應(yīng)柵格的值被設(shè)置為0。然 后,產(chǎn)生縮小的柵格地圖,諸如繪圖340。由于柵格地圖340比柵格地圖320丟失較少的障 礙信息,所以例如原始柵格地圖310中的路徑40仍然可以被產(chǎn)生。圖4示出了根據(jù)一個或多個實施例的產(chǎn)生最終詳細路徑的過程。在柵格地圖410至柵格地圖430中,障礙邊界402外部的陰影區(qū)域401表示障礙 區(qū)域的邊緣,障礙邊界402內(nèi)部的陰影區(qū)域403表示移動對象可無限制地移動的自由區(qū)域。如上所述,當(dāng)在縮小的地圖中尋找到的路徑被映射回原始柵格地圖上時,路點31 和32可被映射到自由區(qū)域外部,如圖4的柵格地圖410所示。根據(jù)實施例,可確定這樣的路點是否位于自由區(qū)域的外部。當(dāng)路點位于自由區(qū)域 的外部時,這些路點可分別移動到與自由區(qū)域的路點最接近的位置。柵格地圖420示出了 映射到自由區(qū)域中的路點的路點31和32。然而,如柵格地圖430所示,當(dāng)柵格地圖420的這些映射的路點被連接時,可產(chǎn)生 穿過一個區(qū)域的直線路徑,其中,移動對象不能穿過該區(qū)域,如柵格地圖430中的放大部分 435所示。這里,放大部分435示出了移動對象的直線路徑潛在地超出了放大部分435的限 定的自由區(qū)域。因此,在實施例中,根據(jù)實施例,在縮小的柵格地圖中產(chǎn)生的近似路徑在原 始柵格地圖中被重新設(shè)計,即,近似路徑的相應(yīng)部分(將被映射回原始柵格地圖以用于部 分路徑產(chǎn)生)可被重新限定為僅穿過限定的自由區(qū)域。此時,例如,當(dāng)完成了縮小的柵格地圖中的近似路徑時,考慮到例如用于執(zhí)行如上 所述的用于路徑搜索的A星算法的存儲器大小,近似路徑被劃分為多個部分,并且在原始 柵格地圖的各個部分執(zhí)行路徑搜索,由此產(chǎn)生最終詳細路徑。當(dāng)近似路徑被映射回原始柵 格地圖時,可在縮小的柵格地圖或原始柵格地圖內(nèi)發(fā)生近似路徑的劃分。圖5是根據(jù)一個或多個實施例的柵格地圖的示例,在該柵格地圖中,近似路徑(例 如,被映射回相應(yīng)的原始柵格地圖的近似路徑)被劃分為多個部分以產(chǎn)生最終詳細路徑。當(dāng)采用各個劃分的柵格地圖中的部分路徑執(zhí)行路徑搜索操作時(其中,各個劃分 的柵格地圖從原始柵格地圖被劃分為前面描述的多個部分),在限定劃分時,用于執(zhí)行路徑 搜索算法(例如A星算法)的可用存儲器空間的大小可被考慮。根據(jù)實施例,當(dāng)可使用A 星算法尋找路徑的最大柵格大小為Sx(X軸柵格大小)XSy(Y軸柵格大小)時,在SxXSY范 圍內(nèi)從開始點Ps到路點PE的部分可被確定為一個集合。這里,例如,Sx* SY可在可用存儲 器大小的范圍內(nèi)變化。在圖5中,在每個柵格地圖部分512、514和516中執(zhí)行路徑搜索,其 中,每個柵格地圖部分包括通過劃分原始柵格地圖510而獲得的部分。例如,當(dāng)可使用A星 算法尋找路徑的最大柵格大小為128X 128個柵格點時,圖4的繪圖410至繪圖430中的路 點可按照如圖5所示被分類。更具體地,在圖5中,路點501表示開始路點,路點504表示原始柵格地圖的最終 詳細路徑的目的路點。路點502和503表示參考路點,路徑部分通過這些參考路點被劃分。 在圖5中,從路點501到路點502的部分可被設(shè)置為第一部分,從路點502到路點503的部 分可被設(shè)置為第二部分,從路點503到路點504的部分可被設(shè)置為第三部分,可在每個部分 中尋找詳細路徑。在各個部分中尋找的路徑隨后可被組合,以產(chǎn)生最終詳細路徑。圖6示出了根據(jù)一個或多個實施例的產(chǎn)生路徑的過程。通過縮小柵格地圖來產(chǎn)生縮小的柵格地圖(操作610)?;诳s小的柵格地圖產(chǎn)生近似路徑(操作620)。近似路徑被劃分為多個部分(操作630)。此時,在實施例中,基于 可用存儲器的大小來劃分近似路徑,在可用存儲器中執(zhí)行在路徑產(chǎn)生過程中產(chǎn)生的數(shù)據(jù)的 寫入和讀取。在各個劃分的部分中產(chǎn)生詳細路徑(操作640)。從這些詳細路徑產(chǎn)生最終詳 細路徑。圖7是更詳細地示出根據(jù)一個或多個實施例的路徑產(chǎn)生方法(例如圖6中示出的 路徑產(chǎn)生方法)的流程圖??紤]到從柵格地圖產(chǎn)生的路徑和移動對象的大小確定自由區(qū)域(移動對象可在 自由區(qū)域中無限制地移動),并且通過縮小包括關(guān)于自由區(qū)域的信息的柵格地圖來產(chǎn)生縮 小的柵格地圖(操作710)。然后,可基于縮小的柵格地圖尋找近似路徑(操作720)。然后,在尋找到的近似路徑中的路點可被映射到原始柵格地圖(操作730)。當(dāng)映 射的路點中的一部分路點位于自由區(qū)域外部時(操作740),每個相應(yīng)的路點可被移動到自 由區(qū)域中的最接近的位置(操作750)。通過將映射的路點分類,將映射(即,映射回原始柵格地圖)的近似路徑劃分為多 個部分(操作760)。在每個劃分的部分中設(shè)置開始點和目的點,并且可在每個部分中產(chǎn)生 詳細路徑(操作770)。然后,可通過將特定部分的詳細路徑組合來產(chǎn)生最終詳細路徑(操 作780)。最后,如果最終詳細路徑的部分不偏離先前產(chǎn)生的部分路徑,則所述最終詳細路徑 的部分可被重新應(yīng)用到隨后的最終詳細路徑。除了上述實施例之外,也可通過介質(zhì)(例如計算機可讀介質(zhì))中/上的計算機可 讀代碼/指令來實現(xiàn)實施例,計算機可讀代碼/指令用于控制至少一個處理裝置以實現(xiàn)上 述任何實施例。介質(zhì)可與允許存儲和/或傳輸計算機可讀代碼的任何限定的、可測量的有 形結(jié)構(gòu)對應(yīng)。計算機可讀代碼可通過各種方式被記錄/傳送到介質(zhì)上,介質(zhì)的示例包括記錄 介質(zhì),諸如磁存儲介質(zhì)(例如ROM、軟盤、硬盤等)和光學(xué)記錄介質(zhì)(例如⑶-ROM或DVD); 非臨時傳輸介質(zhì),諸如攜帶或包括載波的介質(zhì)及例如互聯(lián)網(wǎng)的硬件部件。因此,根據(jù)本發(fā)明 的實施例,介質(zhì)是包括或攜帶信號或信息的限定的、可測量的非臨時結(jié)構(gòu)(例如,攜帶比特 流的裝置)。介質(zhì)還可以是分布的網(wǎng)絡(luò),從而計算機可讀代碼按照分布式方式被存儲和執(zhí) 行。此外,僅僅作為示例,處理部件可包括處理器或計算機處理器,處理部件可分布和/或 包括在單個裝置中。盡管已經(jīng)參照本發(fā)明的不同實施例示出和描述了本發(fā)明的各方面,但是應(yīng)該理 解,這些實施例應(yīng)該被僅按照描述性意義被考慮,而不是為了限制的目的。每個實施例范中 的特征或方面的描述一般應(yīng)該被視為對于其它實施例中的其它類似特征或方面是可用的。因此,雖然已經(jīng)出和描述了一些實施例,并且可等同地獲得另外的實施例,但是本 領(lǐng)域技術(shù)人員應(yīng)該理解,在不脫離權(quán)利要求及其等同物限定其范圍的本發(fā)明的原理和精神 的情況下,可以對這些實施例進行改變。
權(quán)利要求
一種產(chǎn)生路徑的設(shè)備,包括路徑產(chǎn)生器,基于通過縮小地圖而產(chǎn)生的縮小的地圖,為相對于地圖移動的對象產(chǎn)生近似路徑,基于近似路徑的劃分將地圖劃分為多個部分,并且基于近似路徑在每個劃分的部分中產(chǎn)生詳細路徑。
2.根據(jù)權(quán)利要求1所述的設(shè)備,其中,地圖包括障礙和自由區(qū)域的信息,其中,對象能 夠在自由區(qū)域中無限制地移動而不與障礙碰撞。
3.根據(jù)權(quán)利要求1所述的設(shè)備,其中,路徑產(chǎn)生器考慮移動對象的大小在地圖中確定 對象能夠無限制地移動而不與障礙碰撞的自由區(qū)域,并且通過縮小包括關(guān)于確定的自由區(qū) 域的信息的地圖來產(chǎn)生縮小的地圖。
4.根據(jù)權(quán)利要求3所述的設(shè)備,其中,地圖是柵格地圖,并且路徑產(chǎn)生器通過對來自柵 格地圖的不同柵格的信息分別進行抗混疊濾波來縮小柵格地圖。
5.根據(jù)權(quán)利要求4所述的設(shè)備,其中,在劃分地圖之前,路徑產(chǎn)生器將縮小的地圖中產(chǎn) 生的近似路徑中的路點映射到地圖,以產(chǎn)生詳細路徑。
6.根據(jù)權(quán)利要求3所述的設(shè)備,其中,在劃分地圖之前,路徑產(chǎn)生器將縮小的地圖中產(chǎn) 生的近似路徑中的路點映射到地圖,以產(chǎn)生詳細路徑。
7.根據(jù)權(quán)利要求6所述的設(shè)備,其中,當(dāng)映射的路點中的一個或多個路點位于地圖中 的自由區(qū)域外部時,路徑產(chǎn)生器將位于自由區(qū)域外部的所述一個或多個路點分別移動到與 自由區(qū)域中的路點最接近的位置。
8.根據(jù)權(quán)利要求6所述的設(shè)備,其中,當(dāng)路徑產(chǎn)生器基于近似路徑的劃分將地圖劃分 為劃分的部分時,路徑產(chǎn)生器根據(jù)多個劃分的部分中的各個劃分的部分將映射到地圖的路 點分類,在每個劃分的部分中分別設(shè)置開始路點和目的路點,在每個劃分的部分中產(chǎn)生詳 細路徑,并且通過順序組合每個詳細路徑來產(chǎn)生最終詳細路徑。
9.根據(jù)權(quán)利要求8所述的設(shè)備,其中,至少一個劃分的部分的目的路點與另一劃分的 部分的開始路點重疊。
10.根據(jù)權(quán)利要求1所述的設(shè)備,其中,地圖是柵格地圖,并且路徑產(chǎn)生器使用柵格地 圖的確定的自由區(qū)域的每個柵格來縮小柵格地圖。
11.根據(jù)權(quán)利要求1所述的設(shè)備,其中,地圖的縮小是地圖的線性縮小。
12.根據(jù)權(quán)利要求1所述的設(shè)備,其中,地圖的縮小被限制為根據(jù)對象的大小對地圖進 行歸一化。
13.根據(jù)權(quán)利要求1所述的設(shè)備,其中,在劃分地圖之前,路徑產(chǎn)生器將從縮小的地圖 中產(chǎn)生的近似路徑中的路點映射到地圖,以產(chǎn)生詳細路徑。
14.根據(jù)權(quán)利要求1所述的設(shè)備,還包括存儲器,在所述存儲器中執(zhí)行在路徑產(chǎn)生器 的操作中產(chǎn)生的數(shù)據(jù)的寫入和讀取。
15.根據(jù)權(quán)利要求14所述的設(shè)備,其中,路徑產(chǎn)生器基于存儲器的可用空間將近似路 徑劃分為劃分的部分。
16.根據(jù)權(quán)利要求14所述的設(shè)備,其中,通過至少一個搜索算法分別并行執(zhí)行各個劃 分的部分中的每個詳細路徑的產(chǎn)生。
17.根據(jù)權(quán)利要求1所述的設(shè)備,其中,通過至少一個搜索算法分別并行執(zhí)行各個劃分 的部分中的每個詳細路徑的產(chǎn)生。
18.根據(jù)權(quán)利要求1所述的設(shè)備,其中,移動對象是移動機器人,所述移動機器人被控 制為沿著詳細路徑順序移動。
19.根據(jù)權(quán)利要求1所述的設(shè)備,其中,移動對象是計算機產(chǎn)生的環(huán)境中的虛擬形象。
20.根據(jù)權(quán)利要求1所述的設(shè)備,其中,所述設(shè)備是蜂窩電話、便攜式媒體播放器和個 人數(shù)字助理中的一種。
21.—種在地圖中產(chǎn)生對象的路徑的方法,包括在通過縮小地圖而產(chǎn)生的縮小的地圖內(nèi)產(chǎn)生近似路徑;基于近似路徑的劃分將地圖劃分為多個部分;基于近似路徑在每個劃分的部分中產(chǎn)生詳細路徑。
22.根據(jù)權(quán)利要求21所述的方法,其中,地圖包括障礙和自由區(qū)域的信息,其中,對象 能夠在自由區(qū)域中無限制地移動而不與障礙碰撞。
23.根據(jù)權(quán)利要求21所述的方法,還包括通過考慮移動對象的大小在地圖中確定對 象能夠無限制地移動而不與障礙碰撞的自由區(qū)域,并且通過縮小包括關(guān)于確定的自由區(qū)域 的信息的地圖,來產(chǎn)生縮小的地圖。
24.根據(jù)權(quán)利要求23所述的方法,其中,地圖是柵格地圖,并且通過對來自柵格地圖的 不同柵格的信息分別進行抗混疊濾波來執(zhí)行柵格地圖的縮小。
25.根據(jù)權(quán)利要求21所述的方法,其中,劃分近似路徑的步驟包括將近似路徑中的路 點映射到地圖。
26.根據(jù)權(quán)利要求25所述的方法,其中,劃分地圖的步驟還包括當(dāng)映射的路點中的一 個或多個路點位于地圖的自由區(qū)域外部時,將位于自由區(qū)域外部的所述一個或多個路點分 別移動到與自由區(qū)域中的路點最接近的位置。
27.根據(jù)權(quán)利要求25所述的方法,其中,劃分地圖的步驟還包括根據(jù)劃分的部分將映 射到地圖的路點分類,產(chǎn)生每個詳細路徑的步驟包括在每個劃分的部分中分別設(shè)置開始路點和目的路點, 在每個劃分的部分中產(chǎn)生各個詳細路徑,并且通過順序組合每個詳細路徑來產(chǎn)生最終詳細 路徑。
28.根據(jù)權(quán)利要求27所述的方法,其中,至少一個劃分的部分的目的路點與另一劃分 的部分的開始路點重疊。
29.根據(jù)權(quán)利要求25所述的方法,還包括通過考慮移動對象的大小在地圖中確定對 象能夠無限制地移動而不與障礙碰撞的自由區(qū)域,并且通過縮小包括關(guān)于確定的自由區(qū)域 的信息的地圖,來產(chǎn)生縮小的地圖。
30.根據(jù)權(quán)利要求21所述的方法,其中,地圖是柵格地圖,并且使用柵格地圖的確定的 自由區(qū)域的每個柵格來縮小柵格地圖。
31.根據(jù)權(quán)利要求21所述的方法,其中,地圖的縮小是地圖的線性縮小。
32.根據(jù)權(quán)利要求21所述的方法,其中,地圖的縮小被限制為根據(jù)對象的大小對地圖 進行歸一化。
33.根據(jù)權(quán)利要求21所述的方法,還包括在劃分地圖之前,將從縮小的地圖中產(chǎn)生的 近似路徑中的路點映射到地圖,以產(chǎn)生詳細路徑。
34.根據(jù)權(quán)利要求21所述的方法,其中,基于存儲器的可用空間將地圖劃分為劃分的部分。
35.根據(jù)權(quán)利要求34所述的方法,其中,通過至少一個搜索算法分別并行執(zhí)行各個劃 分的部分中的每個詳細路徑的產(chǎn)生。
36.根據(jù)權(quán)利要求21所述的方法,其中,通過至少一個搜索算法分別并行執(zhí)行各個劃 分的部分中的每個詳細路徑的產(chǎn)生。
37.根據(jù)權(quán)利要求21所述的方法,其中,所述對象是移動機器人,所述方法還包括控制移動機器人沿著詳細路徑順序移動。
38.根據(jù)權(quán)利要求37所述的方法,還包括感測移動機器人的環(huán)境,并且使用地圖中的 障礙信息和自由區(qū)域信息產(chǎn)生地圖,其中,移動機器人能夠在自由區(qū)域中無限制地移動而 不與障礙信息所表示的障礙碰撞。
39.根據(jù)權(quán)利要求21所述的方法,其中,所述對象是計算機產(chǎn)生的環(huán)境中的虛擬形象。
40.根據(jù)權(quán)利要求39所述的方法,還包括根據(jù)詳細路徑控制虛擬形象在產(chǎn)生環(huán)境內(nèi) 移動。
41.一種產(chǎn)生路徑的設(shè)備,包括路徑產(chǎn)生器,為相對于地圖移動的對象產(chǎn)生縮小的地圖的近似路徑,基于縮小的地圖 的近似路徑到地圖的映射將地圖劃分為多個部分,并且分別通過至少一種搜索算法在每個 劃分的部分中產(chǎn)生詳細路徑,其中,路徑產(chǎn)生器還基于近似路徑上的點在每個劃分的部分中設(shè)置開始路點和目的路 點,并使用每個設(shè)置的開始路點和目的路點基于應(yīng)用于每個劃分的部分的路徑產(chǎn)生算法在 每個劃分的部分中產(chǎn)生詳細路徑。
42.根據(jù)權(quán)利要求41所述的設(shè)備,其中,路徑產(chǎn)生算法是A星算法和D星算法中的至少 一種。
43.根據(jù)權(quán)利要求41所述的設(shè)備,其中,路徑產(chǎn)生器考慮移動對象的大小在地圖中確 定對象能夠無限制地移動而不與障礙碰撞的自由區(qū)域,并且通過縮小包括關(guān)于確定的自由 區(qū)域的信息的地圖來產(chǎn)生縮小的地圖。
44.根據(jù)權(quán)利要求43所述的設(shè)備,其中,各個開始路點和目的路點在劃分地圖之前被 映射到地圖,以產(chǎn)生詳細路徑。
45.根據(jù)權(quán)利要求43所述的設(shè)備,其中,當(dāng)映射的路點中的一個或多個路點位于地圖 中的自由區(qū)域外部時,路徑產(chǎn)生器將位于自由區(qū)域外部的所述一個或多個路點分別移動到 與自由區(qū)域中的路點最接近的位置。
46.根據(jù)權(quán)利要求41所述的設(shè)備,其中,至少一個劃分的部分的目的路點與另一劃分 的部分的開始路點重疊。
47.一種產(chǎn)生路徑的方法,包括為相對于地圖移動的對象產(chǎn)生縮小的地圖的近似路徑,基于縮小的地圖的近似路徑到 地圖的映射將地圖劃分為多個部分,并且分別通過至少一種搜索算法在每個劃分的部分中 產(chǎn)生詳細路徑,其中,劃分地圖的步驟還包括基于近似路徑上的點在每個劃分的部分中設(shè)置開始路 點和目的路點,并使用每個設(shè)置的開始路點和目的路點基于應(yīng)用于每個劃分的部分的路徑 產(chǎn)生算法在每個劃分的部分中產(chǎn)生詳細路徑。
48.根據(jù)權(quán)利要求47所述的方法,其中,路徑產(chǎn)生算法是A星算法和D星算法中的至少一種。
49.根據(jù)權(quán)利要求47所述的方法,還包括考慮移動對象的大小在地圖中確定對象能 夠無限制地移動而不與障礙碰撞的自由區(qū)域,并且通過縮小包括關(guān)于確定的自由區(qū)域的信 息的地圖來產(chǎn)生縮小的地圖。
50.根據(jù)權(quán)利要求49所述的方法,其中,各個開始路點和目的路點在劃分地圖之前被 映射到地圖,以產(chǎn)生詳細路徑。
51.根據(jù)權(quán)利要求49所述的方法,其中,當(dāng)映射的路點中的一個或多個路點位于地圖 中的自由區(qū)域外部時,位于自由區(qū)域外部的所述一個或多個路點分別被移動到與自由區(qū)域 中的路點最接近的位置。
52.根據(jù)權(quán)利要求47所述的方法,其中,至少一個劃分的部分的目的路點與另一劃分 的部分的開始路點重疊。
53.至少一種計算機可讀介質(zhì),所述介質(zhì)包括用于控制至少一個處理裝置執(zhí)行權(quán)利要 求21所述的方法的計算機可讀代碼。
54.至少一種計算機可讀介質(zhì),所述介質(zhì)包括用于控制至少一個處理裝置執(zhí)行權(quán)利要 求47所述的方法的計算機可讀代碼。
全文摘要
提供一種使用有限的存儲器大小來產(chǎn)生和使用柵格地圖路徑的設(shè)備和方法?;谕ㄟ^縮小原始柵格地圖而產(chǎn)生的縮小的柵格地圖產(chǎn)生近似路徑。然后,近似路徑被映射到原始柵格地圖,并且映射的路徑基于用于路徑計算的可用存儲器大小被放大并被劃分為多個部分。基于在每個劃分的部分中設(shè)置的開始點和目的點,在每個部分中產(chǎn)生詳細路徑。
文檔編號G01C21/34GK101900570SQ20101011010
公開日2010年12月1日 申請日期2010年2月20日 優(yōu)先權(quán)日2009年2月18日
發(fā)明者李受珍, 鄭尤然 申請人:三星電子株式會社