本發(fā)明屬于視覺領域,具體地說是以機械臂為研究對象,基于立體視覺技術,提出一種基于視覺的機械臂避障方法。
背景技術:
為了滿足多自由度機械臂在工藝操作、起重運輸、器材維修、航天和醫(yī)療各個領域里的自適應工作,尤其在井下探測、廢墟中人員的搜救等狹小有限的空間中作業(yè),配備相應的傳感器已成為當前熱點。
基于機械臂的多關節(jié)特性,單一的紅外和超聲波傳感器在機械臂上應用較少。由于視覺傳感器的穩(wěn)定性優(yōu)于紅外,精度優(yōu)于超聲波,勢場較激光更廣并且采集的圖像信息更直接豐富,相比其他傳感器更適用于對機械臂障礙的檢測。
在視覺系統(tǒng)中,其中雙目立體視覺較單目而言,能夠直接模擬人類雙眼獲得圖像信息的過程,繼而獲得深度或遠近的環(huán)境信息;較多目視覺,但是成本低、計算量小、穩(wěn)定性好。因此本發(fā)明使用雙目攝像機進行工作環(huán)境的圖像采集。
技術實現(xiàn)要素:
針對上述問題,本發(fā)明的目的在于提供一種基于雙目立體視覺的機械臂障礙檢測方法,該方法能夠準確地得到障礙物信息,確保機械臂能夠準確躲避障礙物。而在采集圖像進行圖像處理時,由于sift算法具有較強的匹配能力,在物體辨識、機器人地圖感知與導航、3d模型建立、影像縫合、影像追蹤和動作比對領域都有廣泛的應用。
但是在進行圖像處理時,使用sift算法在進行特征點提取時,由于所使用的dog算子具有很強的邊緣響應。這會導致提取的特征點里混有很多邊緣響應點,使sift算法的穩(wěn)定性降低,不利于后續(xù)的匹配及障礙物三維信息的提取,因此提出一種基于視覺的機械臂避障方法,提高檢測障礙物的精度,使機械臂有效地避開障礙物,完成工作任務。
本發(fā)明為實現(xiàn)上述目的所采用的技術方案是:一種基于視覺的機械臂避障方法,包括以下步驟:
步驟1:在機械臂末端安裝雙目攝像機和視頻采集卡,建立世界坐標系;
步驟2:獲取雙目攝像機的內部和外部參數(shù);
步驟3:通過雙目攝像機對機械臂工作環(huán)境進行圖像采集,獲得工作環(huán)境的兩幅平面灰度圖像;
步驟4:根據(jù)桶形畸變矯正原理分別對兩幅平面灰度圖像進行畸變矯正;
步驟5:對矯正后的兩幅圖像分別進行基于sift算法的特征點提?。?/p>
步驟6:對矯正后的兩幅圖像分別進行基于小波變換的邊緣點提??;
步驟7:分別對兩幅圖像均進行特征點和邊緣點對比,剔除不穩(wěn)定特征點;在兩幅圖像中將剩余的特征點進行匹配,得到匹配對;
步驟8:獲取隨機匹配對的均方根誤差數(shù)據(jù);
步驟9:根據(jù)步驟1至7獲取環(huán)境中障礙物的三維坐標信息,控制機械臂躲避障礙物完成工作。
所述雙目攝像機的內部參數(shù)的獲取采用棋盤格法;所述雙目攝像機的外部參數(shù)的獲取采用棋盤格法并且以左攝像機為原點建立世界坐標系。
所述基于sift算法的特征點提取包括以下步驟:
構建尺度空間;
檢測尺度空間的極值點;
精確極值點,得到特征點;
計算特征點幅值大小和方向;
根據(jù)特征點的幅值大小和方向生成特征點描述子。
所述基于小波變換的邊緣點提取包括以下步驟:
對矯正后的圖像進行尺度變換,分別得到垂直方向和水平方向的高頻細節(jié)分量;
獲取小波變換系數(shù)的幅角;
獲取小波變換系數(shù)的模值;
獲取局部模極大值;
對獲得的邊緣圖像進行閾值處理,得到閾值處理后的邊緣圖像。
所述進行特征點和邊緣點對比,剔除不穩(wěn)定特征點包括以下步驟:
將特征點的坐標進行取整,與邊緣點進行坐標比較;若相同,即剔除該特征點;若不同,則保留該特征點。
本發(fā)明具有以下有益效果及優(yōu)點:
本發(fā)明方法中,通過對矯正的圖像進行小波變換的邊緣提取,然后將獲得的邊緣點與特征點對比,剔除其中不穩(wěn)定的特征點,提高算法的精確性、魯棒性、抗噪性。對比過程中,將特征點的坐標取整,并進行有序地排列,邊緣點也進行有序地排列,這樣在提高算法性能的基礎上盡可能減少算法的運行時長以保證機械臂有效地躲避障礙物。
附圖說明
圖1為本發(fā)明實施的方法流程圖;
圖2為本發(fā)明具體實施方式的流程示意圖;
圖3為本發(fā)明實驗平臺操作流程框圖。
具體實施方式
為使本發(fā)明要解決的技術問題、技術方案和優(yōu)點更加清楚,下面將結合附圖及具體實施案例對本發(fā)明作進一步詳述。
本發(fā)明主要針對使用現(xiàn)有的sift算法提取特征點時存在邊緣響應的缺陷進行改進,具體地說,邊緣信號的不穩(wěn)定使sift在提取特征點時混有很多邊緣響應點,這不利于特征點的匹配以及三維坐標信息的獲取。針對這一不足,我們使用小波變換進行算法的改進。
如圖1所示,本發(fā)明提供一種基于視覺的機械臂避障方法,包括:
步驟1,在機械臂末端安裝雙目攝像機和視頻采集卡,建立世界坐標系;
步驟2,獲取雙目攝像機的內部和外部參數(shù)(內部參數(shù)包括焦距與像元尺寸的比值和中心點坐標,外部參數(shù)包括旋轉矩陣r和平移矩陣t);
步驟3,通過雙目攝像機對機械臂工作環(huán)境進行圖像采集,獲得兩幅工作環(huán)境平面灰度圖像;
步驟4,根據(jù)桶形畸變矯正原理分別對兩幅平面灰度圖像進行畸變矯正;
步驟5,對兩幅矯正后的圖像分別進行基于sift算法的特征點提取;
步驟6,對兩幅矯正后的圖像分別進行基于小波變換的邊緣點提取;
步驟7,對兩幅圖像進行特征點和邊緣點對比,分別剔除不穩(wěn)定點;完成特征點匹配;
步驟8,獲取匹配對的均方根誤差,數(shù)值越小,證明實施的方法越好;
步驟9,按照本發(fā)明方法獲取環(huán)境中障礙物的三維坐標信息,控制機械臂躲避障礙物的工作。
本發(fā)明的上述方法通過機械臂末端安裝的雙目攝像機及視頻采集卡進行圖像采集,獲得兩幅工作環(huán)境的平面灰度圖像,并對其進行畸變矯正。對矯正后的兩幅圖像使用sift算法進行特征提取,針對sift算法存在的邊緣響應,使用小波變換對其進行改進。這樣讓sift提取的特征點更加精確、穩(wěn)定,有利于后續(xù)的特征點匹配及三維坐標信息的提取。
上述的圖1所示方法在具體實現(xiàn)時,還可以在機械平臺上對雙目檢測裝置進行布置和安裝,如圖3所示,機械平臺包括:雙目攝像機、視頻采集卡、計算機(安裝好系統(tǒng)軟件)、七自由度機械臂等;
其中,上述步驟5具體實現(xiàn)時,可包括:
構建尺度空間;
檢測尺度空間的極值點;
精確極值點,得到特征點;
計算特征點幅值大小和方向;
根據(jù)特征點的幅值大小和方向生成特征點描述子。
其中,上述步驟6具體實現(xiàn)時,可包括:
對矯正后的圖像進行尺度變換,得到垂直方向和水平方向的高頻細節(jié)分量;
獲取小波變換系數(shù)的幅角;
獲取小波變換系數(shù)的模值;
獲取局部模極大值,將幅角劃分為4個方向分別為0°或180°、90°或270°、45°或225°、135°或315°。將求出幅角的大小與上述的方向進行比較,然后將各自的模圖像分別沿各自最接近的相角方向求出模局部最大值,生成邊緣圖像;
對獲得的邊緣圖像進行閾值處理。
下面具體說明本發(fā)明的一種基于雙目視覺的機械臂避障方法的實施例。
如圖3所示:將障礙物隨意放置于機械臂工作路徑上,使用機械臂末端的雙目攝像機對工作環(huán)境進行拍攝,經由視頻采集卡傳送到計算機上。在計算機的存儲介質中存儲所述工作環(huán)境的平面灰度圖像,并利用采集到的圖像數(shù)據(jù)進行處理、計算、分析,并將結果存儲并確保機械臂躲避障礙完成指定任務。
具體地,在對圖像處理方面,使用sift算法進行圖像的特征提取,保留特征點。針對sift算法存在的邊緣響應的不足,這里采用基于小波變換的方法給予改進,對矯正后的圖像進行邊緣提取,保留其邊緣點。將特征點和邊緣點進行對比,如圖2所示,具體步驟包括:
步驟一:將特征點按橫坐標從小到大進行排列,若橫坐標相等的特征點,再根據(jù)縱坐標大小進行排列,記為集合e={(xe1,ye1),…(xek,yek),…(xekmax,yekmax)}(k=1……kmax),其中kmax表示k的最大值,即特征點的總數(shù);邊緣點也進行如此的排列,并將橫坐標相等的邊緣點按縱坐標從小到大的順序放入集合cm中(m=1,2,……max),記為e={cm,…,cmmax},其中mmax表示m的最大值,即集合的總數(shù),ecmi表示集合中的第i個邊緣點(i=1,2,……max);
步驟二:1)將第一個特征點e1與集合c1中的第一個邊緣點進行橫坐標比較,即f1=xe1-xecmi(i=1)。若f1>0,則與下一個集合c2中的第一個邊緣點進行上述的比較,直到最后一個集合結束比對;2)若f1=0,則繼續(xù)與c1集合中的每一個邊緣點進行縱坐標比較,即f2=y(tǒng)e1-yecmi(i=1),若f2=0,則去除該特征點,若f2≠0,則繼續(xù)與此集合的其他邊緣點進行比較,若此集合中的邊緣點均是f2≠0,則保留該特征點,否則去除該特征點;3)若f1<0,則保留該特征點;
步驟三:1)將下一個特征點與前一個特征點進行橫坐標比對,即p1=xek+1-xek。若p1=0,則根據(jù)上一個特征點的比較結果來決定去留,若上一個特征點去除,則找到相對應的集合cm,并與其中的邊緣點進行橫縱坐標的比較判斷是否保留,若上一個特征點保留,則重復步驟二中的內容;2)若p1≠0,則直接重復步驟二中的內容。
綜上,本發(fā)明的檢測方法主要有二個關鍵內容。一方面,由于采用的sift算法提取圖像特征點會混有很多邊緣響應點,針對這一不足,采用小波變換對其進行改進。
由于小波變換具有良好的局部化特性,并且根據(jù)實際情況,可以自動調節(jié)時頻窗口。而且比較適用于展現(xiàn)夾帶在正常信號中的瞬間反常現(xiàn)象,即邊緣檢測。因此在邊緣檢測中通過不同尺度的變換,可以獲得很好的邊緣檢測圖像。具體地說,包括:
對圖像進行尺度變換,分別得到垂直方向和水平方向的高頻細節(jié)分量;
獲取小波變換系數(shù)的幅角;
獲取小波變換系數(shù)的模值;
獲取局部模極大值,將幅角劃分為4個方向分別為0°或180°、90°或270°、45°或225°、135°或315°。將求出幅角的大小與上述的方向進行比較,然后將各自的模圖像分別沿各自最接近的相角方向求出模局部最大值,生成邊緣圖像;
對獲得的邊緣圖像進行閾值處理。
另一方面,在進行特征點和邊緣點的對比過程中,為使在提高性性能的基礎上盡可能的減少算法的運行時間。采用有序排列和集合方式的方法加快對比的過程。具體地說,包括:
將特征點和邊緣點進行排序和集合處理;
根據(jù)比較結果對特征點作出保留或剔除的結果;
最終根據(jù)前面特征點的狀態(tài)判斷集合中的其余特征點的保留或剔除。
本發(fā)明的優(yōu)點與積極效果為:
1.本發(fā)明所使用的方法克服了sift算法在提取特征點上的邊緣響應缺陷。提取特征點精度高,穩(wěn)定性好,抗噪能力強。
2.本發(fā)明所使用的方法在保證提取特征點精度高,穩(wěn)定性好,抗噪能力強的基礎上盡可能的縮短算法的運行時間。確保后續(xù)機械臂及時得到障礙物信息進行躲避。
以上所述是本發(fā)明的優(yōu)選實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本發(fā)明所述原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。