本發(fā)明涉及一種機器人導(dǎo)航技術(shù)領(lǐng)域的方法,具體是一種機器人環(huán)境拓撲地圖的構(gòu)建方法。
背景技術(shù):
近些年來,隨著機器人學(xué)科的不斷發(fā)展,使得機器人進入家庭成為了可能,典型的例子是掃地機器人價格越來越便宜而其實用性也越來越強,因為被人們廣泛的關(guān)注,研究者的重點也逐漸轉(zhuǎn)向未知環(huán)境下自主移動機器人的定位與導(dǎo)航。
機器人在室內(nèi)環(huán)境中的定位與導(dǎo)航需要活動空間的環(huán)境作為前提,精確的地圖表示和創(chuàng)建成為機器人自主移動的關(guān)鍵技術(shù),同時也是完成其他室內(nèi)任務(wù)的基礎(chǔ)。地圖的表示方式大概可分為3類:柵格地圖、幾何地圖和拓撲地圖。柵格法將整個環(huán)境分為若干相同大小的柵格,對于每個柵格指出其中是否存在障礙物,該方法已經(jīng)在許多機器人系統(tǒng)中得到應(yīng)用,是較為成功的一種方法,但是當(dāng)柵格數(shù)量增大時(在大規(guī)模環(huán)境或?qū)Νh(huán)境劃分比較詳細時),對于地圖的維護所需要占用的內(nèi)存和CPU時間迅速增長,使計算機的實時處理變得很慢;幾何地圖是基于幾何特征的地圖表示方法,指機器人收集環(huán)境的感知信息,從中提取更為抽象的幾何特征,例如線段或曲線,使用這些幾何信息描述環(huán)境,幾何地圖用一個更簡潔的方法表示環(huán)境,但是對于非常復(fù)雜的環(huán)境就難以表示;拓撲地圖也是一種緊湊的地圖表示方法,特別在環(huán)境大而簡單時,這種方法將環(huán)境表示為一張拓撲圖,圖中的節(jié)點對應(yīng)于環(huán)境中的一個特征狀態(tài)、地點(由感知決定),如果節(jié)點間存在直接連接的路徑相當(dāng)于圖中連接的弧,這種表示方法可以實現(xiàn)快速的路徑規(guī)劃。
1982年,Kohonen建立了Kohonen模型,叫做自組織特征圖(Self-Organzing Maps),簡稱SOM圖。SOM圖如同生物神經(jīng)系統(tǒng)大腦皮質(zhì)中的有序特征,具有自組織的拓撲特征映射功能,能自組織的形成反應(yīng)輸入空間數(shù)據(jù)的拓撲結(jié)構(gòu),自組織的對輸入空間的數(shù)據(jù)集或輸入空間維數(shù)進行壓縮。
本發(fā)明首先運用SOM圖構(gòu)建室內(nèi)環(huán)境初步的拓撲地圖,然后確定障礙物中的SOM圖神經(jīng)元和SOM神經(jīng)元之間連線穿過障礙物的線段,最后刪除這些多余的SOM神經(jīng)元和線段得到表征該環(huán)境的拓撲地圖。
技術(shù)實現(xiàn)要素:
本發(fā)明提供了一種環(huán)境拓撲地圖構(gòu)建方法,使得室內(nèi)移動機器人導(dǎo)航的變得更加簡單和高效。
本發(fā)明采用如下技術(shù)方案:
一種環(huán)境拓撲地圖的構(gòu)建方法,實現(xiàn)該構(gòu)建方法的室內(nèi)移動機器人帶有測距傳感器,室內(nèi)移動機器人主體上安裝有室內(nèi)GPS系統(tǒng),通過室內(nèi)GPS系統(tǒng)能夠?qū)崟r獲取室內(nèi)移動機器人的室內(nèi)位置信息。該方法具體包括如下步驟。
步驟A,編寫室內(nèi)移動機器人閑逛的程序,當(dāng)室內(nèi)移動機器人距離障礙物距離大于d時,室內(nèi)移動機器人向前走;當(dāng)室內(nèi)移動機器人距離障礙物距離小于或等于d時,室內(nèi)移動機器人向左或向右轉(zhuǎn)動一定角度以避開障礙物。在室內(nèi)移動機器人在閑逛過程中,每隔一定試件的采樣間隔,獲取室內(nèi)移動機器人的室內(nèi)位置坐標(biāo)。室內(nèi)移動機器人與障礙物之間的預(yù)設(shè)距離信息。
步驟B,設(shè)置SOM圖橫縱神經(jīng)元數(shù)分別為m、n,運用步驟A采集的室內(nèi)位置坐標(biāo)對SOM圖進行訓(xùn)練,進行若干次迭代,直到SOM圖結(jié)構(gòu)不發(fā)生變化時停止訓(xùn)練。
步驟C,給定閾值DistSumThre,計算每個神經(jīng)元與周圍神經(jīng)元的歐式距離之和Dist,當(dāng)Dist>DistSumThre時,則記錄該神經(jīng)元為可疑神經(jīng)元。
步驟D,給定閾值DistNeuronSampleThre,對于每個可疑神經(jīng)元,計算該神經(jīng)元與每個樣本的歐式距離DistNeuronSample,記神經(jīng)元與樣本的歐式距離最小值為min(DistNeuronSample),若min(DistNeuronSample)>DistNeuronSampleThre時,則記錄該神經(jīng)元為障礙物中的神經(jīng)元,此時可疑神經(jīng)元集合為去掉障礙物神經(jīng)元的集合。
步驟E,給定閾值DistLineThre,對于每個可疑神經(jīng)元,計算該神經(jīng)元與其周圍神經(jīng)元的距離DistLine,若發(fā)現(xiàn)其與周圍某個神經(jīng)元的距離DistLine>DistLineThre,則記錄該神經(jīng)元與周圍的某個神經(jīng)元的連線為穿越障礙物的線段。
步驟F,通過上面的步驟,確定了障礙物中的神經(jīng)元集合和穿越障礙物線段的集合。在繪制室內(nèi)拓撲地圖時,刪除障礙物中神經(jīng)元及其與周圍神經(jīng)元連線,刪除穿越障礙物的線段即得到準(zhǔn)確度更高的環(huán)境拓撲地圖。
通過本發(fā)明提供的技術(shù)方案可以看出,本發(fā)明表示的環(huán)境拓撲地圖記錄了障礙物中的神經(jīng)元和穿越障礙物線段,在機器人導(dǎo)航進行路徑規(guī)劃時更加準(zhǔn)確。
附圖說明
圖1一種環(huán)境拓撲地圖的構(gòu)建方法的流程圖
圖2室內(nèi)環(huán)境示意圖;
圖3機器人采集的樣本點集合;
圖4初步的拓撲地圖;
圖5最終的拓撲圖;
圖6加上桌子和墻以后的效果圖
圖中:1、桌子,2、墻,3、采集的樣本點,4、神經(jīng)元,5、神經(jīng)元與神經(jīng)元之間連接的線段。
具體實施方式
下面結(jié)合附圖和具體實施方式對于本發(fā)明作進一步的說明。
如圖1所示,一種環(huán)境拓撲地圖的構(gòu)建方法流程圖,室內(nèi)移動機器人首先在室內(nèi)閑逛,每隔一定采樣時間獲得機器人的位置坐標(biāo),得到位置坐標(biāo)點的集合;接著運用這些位置坐標(biāo)點對SOM算法進行訓(xùn)練,得到初步表征環(huán)境的拓撲圖;最后找到不合適的神經(jīng)元和線段,即在障礙物中的神經(jīng)元以及穿越障礙物的線段,去掉不合適的神經(jīng)元和線段就可以得到最終的環(huán)境拓撲地圖。
圖2為環(huán)境示意圖,黑色區(qū)域為障礙物區(qū)域,為機器人不可達區(qū)域。
步驟A,機器人閑逛階段,當(dāng)室內(nèi)移動機器人距離障礙物距離大于d時,機器人向前走;當(dāng)機器人距離障礙物距離小于或等于d時,機器人向左或向右轉(zhuǎn)動一定角度以避開障礙物。在機器人閑逛過程中,每隔一定的采樣間隔,獲取機器人的位置坐標(biāo)。讓機器人閑逛足夠的時間以便使其遍歷整個室內(nèi),最后得到位置坐標(biāo)集合如圖3所示。
步驟B,運用位置坐標(biāo)訓(xùn)練SOM神經(jīng)元階段,設(shè)置SOM圖橫縱神經(jīng)元數(shù)m,n,進行若干次迭代,直到SOM圖結(jié)構(gòu)不發(fā)生變化時停止訓(xùn)練。訓(xùn)練好的SOM圖如圖4所示,圖中點代表SOM神經(jīng)元4,線段為相鄰的神經(jīng)元與神經(jīng)元連接線段5,神經(jīng)元在圖中的位置由其前饋權(quán)值決定,SOM神經(jīng)元4為機器人可以到達的點,相鄰的神經(jīng)元與神經(jīng)元連接線段5為機器人可以循跡的線,從圖中可以看出該圖可以初步表征環(huán)境的拓撲結(jié)構(gòu),但是障礙物中存在神經(jīng)元為機器人不可達點,穿越了障礙物的線段為機器人不可循跡的線。
關(guān)于SOM算法的詳細介紹請參閱Kohonen T.The self-organizing map[J].Neurocomputing,1998,21(1–3):1-6.
步驟C,給定閾值DistSumThre,計算每個神經(jīng)元與周圍神經(jīng)元的歐式距離之和Dist,當(dāng)Dist>DistSumThre時,則記錄該神經(jīng)元為可疑神經(jīng)元NSn??梢缮窠?jīng)元集合為NSSum={NS1,NS2,…,NSn}。
步驟D,給定閾值DistNeuronSampleThre,對于每個可疑神經(jīng)元,計算該神經(jīng)元與每個樣本的歐式距離DistNeuronSample,記神經(jīng)元與樣本的歐式距離最小值為min(DistNeuronSample),若min(DistNeuronSample)>DistNeuronSampleThre時,則記錄該神經(jīng)元為障礙物中的神經(jīng)元NSOm。障礙物中的神經(jīng)元集合即為NSOSum={NSO1,NSO2,…,NSOm}。此時可疑神經(jīng)元集合NSSum=NSSum-NSOSum。
步驟E,給定閾值DistLineThre,在可以神經(jīng)元集合NSSum中,對于每個可疑神經(jīng)元,計算該神經(jīng)元與其周圍神經(jīng)元的距離DistLine,若發(fā)現(xiàn)其與周圍某個神經(jīng)元的距離DistLine>DistLineThre,則記錄該神經(jīng)元與周圍的某個神經(jīng)元的連線為穿越障礙物的線段,記錄該神經(jīng)元NSLi,并記錄該神經(jīng)元與周圍第j神經(jīng)元連線的歐式距離大于DistLineThre,記錄該神經(jīng)元和線段為<NSLi,j>,穿越障礙物的線段集合為NSLSum={<NSL1,j1>,<NSL2,j2>,…,<NSLp,jp>}。
步驟F,通過上面的步驟,確定了障礙物中的神經(jīng)元集合NSOSum和穿越障礙物線段的集合NSLSum。在繪制室內(nèi)拓撲地圖時,刪除障礙物中神經(jīng)元及其與周圍神經(jīng)元連線,刪除穿越障礙物的線段即可得到準(zhǔn)確度更高的環(huán)境拓撲地圖如圖5所示。
加上桌子和墻以后的效果圖如圖6所示。可以看出,該拓撲圖能夠很好的表征環(huán)境信息,為機器人導(dǎo)航進行路徑規(guī)劃提供了更加準(zhǔn)確的地圖。
最后要說明的是:以上實施例僅用于說明本發(fā)明而并非限制本發(fā)明所描述的技術(shù)方案;因此盡管本說明書參照上述實施例已經(jīng)進行了詳細的說明,但是,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,仍然可以對本發(fā)明進行修改或等同替換;而一切不脫離發(fā)明精神和范圍的技術(shù)方案及其改進,均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。