一種基于視覺的機器人導航過門方法
【技術領域】
[0001] 本發明涉及自動化技術領域,特別涉及一種基于視覺的機器人導航過門方法。
【背景技術】
[0002] 隨著機器人技術的發展,室內自主機器人將會被廣泛用于生活中的各個領域,如 辦公室,醫院和工廠等。要實現機器人在這些領域的自主導航,一個重要的問題便是使機器 人穿過門,因此,需要機器人能夠獲取環境信息,識別環境中的門,從而通過路徑規劃和導 航使機器人自主穿梭于各個房間之間。
[0003] 對于機器人過門的相關于研究已有人們提出多種方法,但是每種方法都有其局限 性和缺點。例如傳統的方法是運用超聲波或紅外傳感器在門附近檢測機器人車體與門兩邊 框的距離,從而能夠使機器人在過門的過程中較好的避開門兩邊框,順利通過門。但是此種 方法需要知道比較精確的環境地圖和機器人的初始位置,否則由于超聲波和紅外的檢測性 能極有可能引導機器人過門失敗。此外,利用超聲波或紅外識別門需要利用較多的先驗知 識,這勢必要求機器人在門附近獲取盡可能多的信息,從而通過融合算法較準確地確定門 兩邊相對門的位置。
[0004] 近年來,隨著視覺傳感器的普及相關技術的提升,使用視覺傳感器識別環境中的 物體成為可能并具有成本低,運算速率較快等優勢。針對視覺傳感器識別門或者環境中其 他物體,有人提出了增強學習的方法來獲得門和機器人的相對位姿從而對機器人進行導 航,完成機器人的過門任務。但是這種方法是基于學習的算法,需要大量樣本并訓練較長時 間,而且識別率很大程度上取決于所訓練樣本的豐富性,如果樣本選擇不夠豐富將不能適 應各種各樣的門識別。有人使用霍夫變換對圖像進行提取直線處理,從而使用基于模型的 方法估算門和機器人的相對位姿,這種算法雖然不依賴于樣本,但是誤差較大,算法較復 雜。還有一些算法使用圖像處理相關方面的算法,效率較低,成功率有限。本專利提出了一 種基于雙目的門識別方法,巧妙的運用了兩個攝像頭的安裝高度相同這一特性,從而有利 于雙目左右兩幅圖像水平中軸線的上的特征點匹配,達到更好的確定門在機器人坐標系下 的位姿的目的。
【發明內容】
[0005] 本發明提出一種新型室內移動機器人基于視覺的導航過門方法,該方法所使用的 傳感器有里程計、視覺傳感器,根據視覺返回的信息計算門和機器人的相對位置關系,根據 里程計返回的信息計算機器人的全局位置信息,從而控制機器人精確的實現過門的運動。
[0006] 本發明的技術方案提供了一種基于視覺的機器人導航過門方法,包括以下步驟:
[0007] S101、根據里程計或全局定位傳感器得到機器人當前時刻在全局坐標系中的位置 和姿態參數(x,y,9),x為機器人相對于原點的橫坐標,y為機器人相對于原點的縱坐標,0為 機器人朝向相對于x軸的夾角,逆時針旋轉為正值角度夾角,順時針旋轉為負值角度夾角;
[0008] S102、根據用戶指令確定機器人所要通過的門;
[0009] S103、確定機器人過門之前開啟攝像頭的區域,每個開啟攝像頭區域為:Areai = (xj,yk)(l< 其中i代表門的編號,N和M表示某個門前區域的范圍;
[0010] S104、計算此次導航終點;
[0011] S105、起點和終點確定后,由A*算法計算機器人行走路徑,控制機器人運動到導航 餘占. ,-、,
[0012] S106、根據里程計返回的航位推測信息(辦,7:,0:),計算機器人相對門的位置和姿 態,求出機器人朝向和機器人與門中點連線的夾角A 0,控制機器人轉動A 0使機器人朝向 門;
[0013] S107、機器人靜止,同時下位機向上位機發送請求開啟攝像頭命令,上位機打開位 于機器人胸前的雙目攝像頭,并開始采集圖像,進行門識別;
[0014] S108、根據圖像處理返回的門左右兩邊框的坐標XI,y 1,Xr,yr XI,y 1,Xr,yr(XI <Xr, yl<yr)計算門中心坐標(x〇,y〇),其中
[0017] S109、以x〇,yo為原點,機器人當前朝向為基準,以從門左邊框指向右邊框為x軸正 向建立笛卡爾坐標系X0Y;
[0018] S110、求出機器人在X0Y坐標系下的坐標(Y rl,y' rl,9/rl),并求出機器人相對過門 過程中第一個矯正點(xii,yii)的距離A di和角度A 0:,其中,
[0019] -200mm<xii<200mm,
[0020] -1400mm<yii<-1000mm;
[0021] S111、控制機器人直行A CU,然后轉彎A ,根據航位推測信息求出機器人當前朝 向與門中垂線夾角A 0 ' :,控制機器人轉過A 0 ':角度對正目標門;
[0022] S112、求出機器人在X0Y坐標系下的坐標(Y r2,y' r2,9/r2),求出機器人相對過門過 程中第二個矯正點(xi2,yi2)的距離A d2和角度A 02,其中,
[0023] -200mm <xi2< 200mm,
[0024] -1000mm<yi2<-600mm;
[0025] S113、控制機器人直行A d2,然后轉彎A 02,根據航位推測信息計算出機器人當前 朝向與門中垂線夾角A 0 ' 2,使機器人轉過A 0 ' 2對正門;
[0026] S114、求出機器人在X0Y坐標系下的坐標(Y r3,y' r3,0' r3),求出機器人相對過門過 程中第三個矯正點(xi3,yi3)的距離A d3和角度A 03,其中,
[0027] -200mm <xi3< 200mm,
[0028] -600mm<yi3<~300mm;
[0029] S115、控制機器人直行A d3,然后轉彎A 03,根據航位推測信息求出機器人當前朝 向與門中垂線夾角A0'3,使機器人轉過A 0 ' 3對正門;
[0030] S116、控制機器人前進Ad,其中800mm< Ad<1200mm,使機器人完6成進門操作。
[0031]進一步的,在步驟S104中,所述計算此次導航終點,進一步包括:
[0032]對參考區域進行搜索,求出參考區域中每個參考點到機器人當前位置的歐幾里得 距離即t/, =1/(.r-x/)? +(y-y,f其中x,y代表某個柵格在柵格地圖中的坐標; 、 ,
[0033]對所有求得的di排序求得di的最小值;
[0034] cU最小值所相應的柵格位置便是機器人此次導航的終點。
[0035] 進一步的,在步驟S107中,所述進行門識別,進一步包括:
[0036] S201、上位機對雙目攝像頭采集到的左右兩幅RBG圖像h、Ir分別進行灰度化處理, 得到灰度圖像Gray 1、Grayr;
[0037] S202、采用圖像全局二值化算法(如閾值法、0STU大律法、Shanbhag法等)對得到的 灰度圖像Grayi、Grayr分別進行二值化處理得到二值圖像Binaryi、Binaryr;
[0038] S203、使用形狀為矩形(a<b,且a取值為1或2,b取值范圍為b<h&b>h.2,其中h為 采集得到圖像的高)的結構元素,進行圖像形態學的腐蝕、膨脹處理獲得二值圖像Binary '1、Binary' 1中的垂直條狀區域f野,鮮…j野]^貧,二:f.畔,雖… 可能為門框或門扇存在的區域;
[0039] S204、以步驟S203中得到的垂直條狀區域為匹配基元,對辦和心中的垂直條狀區域 進行匹配;
[0040] S205、對步驟S204中得到的垂直條狀區域對左右兩側對應點應用雙目測距原理得 出該點在機器人坐標系下的位置信息(x和y),同時得到圖像中各個垂直條狀區域的實際寬 度信息
[0042] S206、結合家居環境下門的實際寬度為850mm-1200mm,可得到符合實際門寬度的 垂直條狀區域(一個垂直條狀區域(門扇+左右兩側門框)、兩個垂直條狀區域(門框和門框、 門框和門扇)),進一步把得到的垂直條狀區域認為是門,并將門左右兩邊框在機器人坐標 系下的坐標11,71,^,^返回下位機(當為一個垂直條狀區域(門扇)時,返回垂直條狀區域 兩側的坐標;當為兩個垂直條狀區域(門框和門框)時,返回兩個垂直條狀區域外側的坐標; 當為兩個垂直條狀區域(門框和門扇)時,返回兩個垂直條狀區域內側的坐標)。
[0043]進一步的,在步驟S204中,所述對RdPRr中的垂直條狀區域進行匹配,進一步包括:
[0044] S301、根據雙目立體匹配原則中同一物體在左右兩個攝像頭中的成像存在視差, 且對于光軸平行的雙目測距模型,其在左攝像頭圖像坐標系下成像點的xi值大于其在右攝 像頭圖像坐標系下成像點的xr,即Ri中的元素 I?丨對應Rr中的匹配項轉滿足4 ,其中 4為轉區域中心點的x值,4為轉區域中心點的x值,選擇;4 ,的成像點。
[0045] S302、根據雙目立體匹配原則中幾何相似性約束,即心中的元素 Hf對應Rr中的匹 配項滿足其幾何特征相差不大,包括但不限于區域寬度w、顏色(RGB色彩空間、HSV色彩 空間、YUV色彩空間等)、紋理(LBP等)特征,通過對上述特征相似度進行度量:
[0046] 對于寬度特征