一種基于射頻識別錨點的數(shù)字地圖拼接方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設及一種數(shù)字地圖拼接方法,具體設及一種基于射頻識別錯點的柵格地圖 拼接方法,屬于多移動機器人協(xié)同創(chuàng)建數(shù)字地圖技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002] 地圖拼接是多移動機器人協(xié)同創(chuàng)建環(huán)境地圖中的關(guān)鍵技術(shù),隨著環(huán)境規(guī)模的不斷 擴大,單移動機器人創(chuàng)建地圖的方式在精度、魯棒性W及計算效率等性能方面受到了嚴重 的制約。與單移動機器人相比,多移動機器人系統(tǒng)在執(zhí)行指定任務時,在精度、魯棒性和效 率等方面具有十分優(yōu)越的性能。但多移動機器人協(xié)同創(chuàng)建地圖的過程是非常復雜的,其所 面臨的一個重要問題是如何實現(xiàn)地圖拼接,即多個移動機器人在同一環(huán)境中分別探索不同 區(qū)域,并創(chuàng)建獨立的環(huán)境地圖,最終將各自所創(chuàng)建的地圖拼接成大規(guī)模的環(huán)境地圖。
[0003] 現(xiàn)階段的地圖拼接方法流程一般為:首先對兩幅地圖進行特征提取得到特征點; 通過進行相似性度量找到匹配的特征點對;然后通過匹配的特征點對得到圖像空間坐標變 換參數(shù);最后由坐標變換參數(shù)進行地圖拼接。而特征提取是地圖拼接技術(shù)中的關(guān)鍵,準確的 特征提取為特征匹配的成功進行提供了保障。因此,尋求具有良好不變性和準確性的特征 提取方法,對于匹配精度至關(guān)重要。
[0004] 射頻識別技術(shù)基本工作原理是將電子標簽附著在被識別物體的表面或內(nèi)部中,當 被標記的對象處于讀寫器的可讀取范圍內(nèi)時,電子標簽和讀寫器之間將自動建立起無線電 磁波或交變磁場方式的通信鏈路,讀寫器根據(jù)控制器需求或自動的W無接觸的方式獲取電 子標簽中所存儲的識別信息(如編號、位置數(shù)據(jù)等等),接收后讀寫器對信息進行解碼并將 結(jié)果傳至后臺控制器進行綜合處理,從而完成整個信息的讀取過程。由于射頻識別標簽易 于存儲位置數(shù)據(jù),在機器人建立地圖時W運些位置數(shù)據(jù)為基礎建立錯點,成為一種具有良 好不變性和準確性的特征提取方法。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的是為解決上述現(xiàn)有技術(shù)存在的問題和不足,提供一種基于射頻識別 錯點的數(shù)字地圖拼接方法,本發(fā)明的方法能夠有效提高特征點提取的不變性和準確性,并 且減少計算量。
[0006] 為達到上述目的,本發(fā)明采用W下技術(shù)方案:
[0007] -種基于射頻識別錯點的數(shù)字地圖拼接方法,包括W下步驟:
[0008] 步驟(1):建立帶有射頻識別錯點的數(shù)字地圖;
[0009] 步驟(2):在各自地圖中提取特征點,并建立對應關(guān)系;
[0010] 步驟(3):使用RANSAC算法挑選出有效的特征對,計算初始拼接參數(shù);
[0011] 步驟(4): W初始拼接參數(shù)為基礎,使用ICP算法計算剛體變換參數(shù),完成對地圖的 剛體變換;
[0012] 步驟(5):提出針對柵格地圖的拼接規(guī)則,對剛體變換后的地圖進行拼接。
[0013] 上述步驟(1)所述的建立帶有射頻識別錯點的數(shù)字地圖的具體步驟為:
[0014] 步驟①:啟動機器人并加載激光雷達和射頻識別模塊;
[0015] 步驟②:機器人使用激光雷達進行即時定位和地圖創(chuàng)建;
[0016] 步驟③:在地圖中加入射頻識別錯點。
[0017] 上述步驟(2)所述的特征點為射頻識別錯點。
[0018] 上述步驟(3)所述的計算初始拼接參數(shù),方法如下:設步驟(1)中建立的地圖為P和 Q,兩幅地圖中的射頻識別錯點集合分別為P 二'掉妓P自為P的子集,它代 表地圖P與Q重疊區(qū)域的射頻識別錯點集合,其中C定義為點集P的重疊百分比,從地圖P和Q 中提取并建立特征對為拆搔1,巧中第i組特征對中的Fi,P和Fi,Q分別表示地圖巧PQ中 的射頻識別錯點,運些射頻識別錯點在各自地圖中的位置分別為fi,p和fi,Q,設T={R,t}為 拼接地圖的近似解,其中R是由旋轉(zhuǎn)角e所確定的二維旋轉(zhuǎn)矩陣,t為二維的列向量,設{Fi,P, Fi, Q } i為一組有效特征對,一組特征對中的元素對應空間中的同一個位置,則I I Rf i, P+t-fi, Q h - 0,設變量No和r的初值為0,根據(jù)RANSAC算法挑選有效特征對并計算初始拼接參數(shù)的步 驟如下:
[0019] 步驟①:設置r = r+l,并隨機選取兩組特征對i =m,i =n;
[0020] 步驟②:將化^擊1,9}1=",。帶入下式
[0022] 計算獲得一組拼接參數(shù)Tr= {Rr,tr};
[0023] 步驟③:根據(jù)最新獲得的參數(shù)Tr,將地圖P中所有的特征點位置轉(zhuǎn)換到地圖Q的坐 標系下與Vf!'、P + 巧蓋 i,并計算 di= MRrfi,P+tr-fi,Q||2;
[0024] 步驟④:設定闊值為dthr,統(tǒng)計滿足di含dthr的錯點特征對的數(shù)目Nr,當Nr>N〇,則設 置 No = Nr;
[002引步驟⑤:重復步驟①-④,直到達至Ijr次,最后用找到的No個有效特征對來計算初始 拼接參數(shù)To= {Ro, to}。
[0026] 上述步驟(4)所述的使用ICP算法計算剛體變換參數(shù),其具體步驟如下:
[0027] 在得出初始拼接參數(shù)To= {Ro,to}后運用ICP算法中的迭代思想來求解剛體變換參 數(shù)。求解步驟如下:
[00%]步驟①:基于前一次迭代獲得的剛體變換(Rk-I,tk-1),建立特征點之間的對應關(guān) 系:
[0030] 選擇最近特征點建立特征點對按媒燃,保留特征點Pi與對應特征點嫁之間 的歐式距離麥;&。辯;
[0031] 步驟②:根據(jù)當前建立的特征點對應關(guān)系,計算重疊百分比Ck,并更新相應的子集 P化:
[0033] 為求解上式,采用如下的方式:根據(jù)步驟①所保留的歐氏距離機,按升序方式 對所有的特征點對辯行排序,獲得排序隊列;采用累加方式,逐個遍歷排序后的 特征點對并計算步驟①中的目標函數(shù)值Ck(i);待遍歷完所有的特征點對后,確定最小目標 函數(shù)值所對應的特征點對在隊列中的位置標號IkW計算當前最優(yōu)的重疊百分比扣=(ik/ Np),并使用排序隊列中的前Ik個特征點對更新子集化,其中點代表待拼接柵格地圖的重疊 百分比;
[0034] 步驟③:利用更新后的子集P&,使用下式計算剛體變換參數(shù)化={Rk,tk}
[0036] 重復執(zhí)行步驟①-③,直到滿足!%…踩...3! < *::或者迭代次數(shù)k達到最大次數(shù)K,其 中% -玄;郵巧&!巧淡手$…得娩辨!!/!巧寺ICP算法滿足迭代停止條件后,即獲得精確 的剛體變換參數(shù)化=IRk,tk},通過剛體變換參數(shù)對地圖P進行相應的旋轉(zhuǎn)和平移,獲得剛體 變換后的地圖為T(P)D
[0037] 上述步驟(5)所述的提出針對柵格地圖的拼接規(guī)則是W像素為單位進行拼接。
[003引本發(fā)明的優(yōu)點和有益效果:
[0039] 1、本發(fā)明使用射頻識別錯點作為特征點,代替了 W往的對圖像進行預處理從而提 取特征的過程,具有良好的不變性和準確性,并且更加的快速;
[0040] 2、本發(fā)明所述的地圖拼接方法對地圖精度的依賴性很小,對于精度不高的地圖同 樣可W完成良好的拼接,而且不受外界環(huán)境的影響,在復雜多變、有噪聲干擾的環(huán)境下一樣 可W得出良好的結(jié)果;
[0041] 3、本發(fā)明所述的地圖拼接方法適用于多機器人協(xié)作構(gòu)建環(huán)境地圖,計算量小、準 確度高,能提高多機器人協(xié)作構(gòu)圖的精度、魯棒性和效率;
【附圖說明】
[0042] 圖1為本發(fā)明基于射頻識別錯點的數(shù)字地圖拼接方法的步驟流程圖,
[0043] 圖2為機器人創(chuàng)建含有射頻識別錯點的數(shù)字地圖的步驟流程圖,
[0044] 圖3為兩幅柵格地圖拼接示意圖,
[0045] 圖4為兩幅柵格地圖融合規(guī)則。
【具體實施方式】
[0046] 為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,W下結(jié)合附圖及實施例,對 本發(fā)明進行進一步的詳細說明。應當理解,此處所描述的具體實施例僅僅用于解釋本發(fā)明, 并不用于限定本發(fā)明。
[0047] 如圖1所示,為本發(fā)明的基于射頻識別錯點的數(shù)字地圖拼接方法,步驟如下:
[0048] 步驟(1):建立帶有射頻識別錯點的數(shù)字地圖;
[0049] 步驟(2):在各自地圖中提取特征點,并建立對應關(guān)系;
[0050] 步驟(3):使用RANSAC算法挑選出有效的特征對,計算初始拼接參數(shù);
[0051] 步驟(4): W初始拼接參數(shù)為基礎,使用ICP算法計算剛體變換參數(shù),完成對地圖的 剛體變換;
[0052] 步驟(5):提出針對柵格地圖的拼接規(guī)則,對剛體變換后的地圖進行拼接。
[0053] 根據(jù)上述步驟(1)所述,如圖2所示,建立帶有射頻識別錯點的數(shù)字地圖步驟如下:
[0054] 步驟①:啟動移動機器人A和B,并加載相應的模塊,在每個機器人所在環(huán)境中布置 右干個射頻識別柄簽,柄簽中存儲著全局坐柄;
[0055] 步驟②:控制移動機器人個體A和B在各自所在的房間旋轉(zhuǎn)一周,采用激光雷達獲 取環(huán)境的障礙物數(shù)據(jù)信息,一次掃描可W得到1080個環(huán)境點數(shù)據(jù)(范圍270%間隔0.25°), 運些數(shù)據(jù)是W激光雷達中屯、為極點的極坐標系表示的局部坐標(山,01),其中01 = 1X0.2531 -270,第i個點在全局坐標下的坐標為:
[0056] xi = xk+diC〇s 目 icosak+disin 目 isinak (1)
[0057] yi = yk+diC〇s 目 isinak+disin 目 icosak (2)
[0化引其中(祉,yk)是k時刻激光雷達在全局坐標系中的坐標,Qk為k時刻激光雷達主軸與 全局坐標系X軸的夾角,d康示k時刻激光雷達與第i個特征點之間的距離。
[0059] 步驟③:將所得的激光雷達數(shù)據(jù)進行濾波處理,使用ROS機器人操作系統(tǒng)中的 Gmapping來分析和生成環(huán)境地圖。
[0060] 步驟④:W事先在環(huán)境中布置好的射頻識別標簽為依據(jù),在生成的地圖中加入射 頻識別錯點,運些射頻識別錯點作為W后地圖拼接中的不變特征。
[0061] 為了實現(xiàn)地圖拼接,需要計算兩幅地圖之間的剛體變換T=體,t},其中R是由旋轉(zhuǎn)角0 所確定的二維旋轉(zhuǎn)矩陣,*為二維的列向量,3和*的表達式為:11^^0^^ 給定同一環(huán)境下不同區(qū)域的柵格地圖P和Q,地圖拼接的目標就是準確的計算出拼接參數(shù)T = {R,t},地圖P通過剛體變換后的地圖為T(P),使之與地圖Q進行匹配,然后再完成拼接。
[0062] 為了保證地圖拼接取得較好的結(jié)果,需要從每張地圖中提取特征點,通過建立不 同地圖之間特征點對應關(guān)系的方式,計算初始拼接參數(shù),本發(fā)明中特征點是前面步驟中建 立的射頻識別錯點,每個射頻識別錯點中存儲著全局坐標,利用運些坐標建立特征點的對 應關(guān)系D
[0063] 根據(jù)上述步驟(3)所述