一種基于雙目視覺的機械臂目標物體抓取方法與流程
1.本發明涉及雙目視覺跟蹤技術領域,具體地,涉及一種基于雙目視覺的機械臂目標物體抓取方法。
背景技術:
2.雙目視覺是模擬人類視覺原理,使用計算機被動感知距離的方法,從兩個或者多個點觀察一個物體,獲取在不同視角下的圖像,根據圖像之間像素的匹配關系,通過三角測量原理計算出像素之間的偏移來獲取物體的三維信息。通過目標物體距離雙目視覺相機的深度信息,就可以計算出物體與相機之間的實際距離、物體3維大小、兩點之間實際距離。目前也有很多研究機構進行3維物體識別,來解決2維算法無法處理遮擋,姿態變化的問題,提高物體的識別率。
3.雙目視覺技術是當前計算機視覺研究的重點和熱點,雙目視覺對物體的感知過程主要是模仿人眼對物體的感知過程,簡便可靠,具有較大的應用前景,一直以來也是受到國內外專家學者的重視。由于雙目視覺技術直接模仿人眼,并且可以滿足實時性要求,所以越來越廣泛的運用到計算機視覺,機器人跟蹤識別,車導航等領域,實現未知場景感知,空間位置定位燈功能,因此對于雙目視覺的跟蹤算法的研究具有十分重要的現實意義。
4.雙目視覺是目標檢測與跟蹤技術常采用的方法,但目前的技術對于檢測中的不連續點、斷邊不能有效的進行處理,從二維圖像中獲取空間三維信息時會出現精度不準確,數據丟失等問題。
技術實現要素:
5.針對現有技術中存在的問題,本發明提供了一種基于雙目視覺的機械臂目標物體抓取方法,克服現有機械臂系統無法根據復雜的現場環境自主抓取和對于手眼標定eye-in-hand深度信息的丟失而導致控制系統和伺服操作無法正常工作的問題。
6.為了實現上述目的,本發明采取的技術方案是:一種基于雙目視覺的機械臂目標物體抓取方法,具體包括如下步驟:
7.步驟1、將雙目視覺相機水平放置,使得所述雙目視覺相機與機械臂底座處于同一水平面上,通過雙目視覺相機獲取帶有目標物體的rgb圖像;
8.步驟2、將帶有目標物體的rgb圖像轉換成hsv顏空間,獲得目標物體距離雙目視覺相機的深度信息;
9.步驟3、將帶有目標物體的rgb圖像的像素坐標結合深度信息得到目標物體在雙目視覺相機坐標系中的三維空間坐標;
10.步驟4、將雙目視覺相機的坐標系原點轉換成機械臂基座坐標系的笛卡爾坐標,結合目標物體在雙目視覺相機坐標系中的三維空間坐標,計算目標物體在機械臂基座坐標系的三維坐標;
11.步驟5、通過目標物體在機械臂基座坐標系中的方位角、極角、機械臂末端旋轉角
獲取機械臂末端的抓取姿態;
12.步驟6、將目標物體在機械臂基座的三維坐標及抓取時機械臂末端的抓取姿態作為控制信息發送至機械臂控制器,實現目標物體的抓取。
13.進一步地,所述雙目視覺相機的識別區域為機械臂工作半徑范圍,且所述雙目視覺相機位置與識別區域的距離為0.8-20.0m。
14.進一步地,所述雙目視覺相機獲取帶有目標物體的rgb圖像前需要先矯正雙目視覺相機中左、右攝像機的左、右內參。
15.進一步地,步驟2的具體過程為:將帶有目標物體的rgb圖像轉換成hsv顏空間,根據目標物體在hsv顏空間中的飽和度區間和調區間的閾值來分割目標物體,同時將識別到的目標區域位置與目標物體的深度圖像進行匹配,獲得目標物體距離雙目視覺相機的深度信息。
16.進一步地,所述目標物體距離雙目視覺相機的深度信息d為:
[0017][0018]
其中,n表示識別區域像素點個數,i為識別區域像素點的索引,di為識別區域中每個像素點的深度信息。
[0019]
進一步地,步驟3包括如下子步驟:
[0020]
步驟31、建立圖像平面坐標系,將帶有目標物體的rgb圖像的像素坐標(u,v)轉換到圖像平面坐標系下,得到對應的圖像物理坐標(x,y):
[0021][0022]
其中,dx表示像素在x軸上的物理尺寸,dy表示像素在y軸上的物理尺寸;
[0023]
步驟32、建立雙目視覺相機坐標系,根據雙目視覺相機成像原理將圖像物理坐標(x,y)轉換成目標物體在雙目視覺相機坐標系中的三維空間坐標(x,y,z):
[0024][0025]
其中,f表示雙目視覺相機的整體焦距,d為目標物體距離雙目視覺相機的深度信息,f
x
為圖像像素坐標系轉圖像物理坐標系的過程中,x方向上單位像素的縮放倍數,fy為圖像像素坐標系轉圖像物理坐標系的過程中,y方向上單位像素的縮放倍數。
[0026]
進一步地,所述目標物體在機械臂基座坐標系的三維坐標(x2,y2,z2)的計算過程為:
[0027][0028]
其中,θ為機械臂基座坐標系相對于雙目視覺相機坐標系在z軸上的旋轉角,(x1,y1,z1)為雙目視覺相機的坐標系原點轉換成的機械臂基座坐標系的笛卡爾坐標,(x,y,z)為目標物體在雙目視覺相機坐標系中的三維空間坐標。
[0029]
進一步地,步驟5包括如下子步驟:
[0030]
步驟51、以機械臂基座指向雙目視覺相機方向為x軸正方向,x軸正方向逆時針旋轉90度為機械臂基座y軸正方向,計算目標物體在機械臂基座坐標系中的方位角α、極角β和機械臂末端旋轉角ω;
[0031]
步驟52、將計算的方位角α、極角β和機械臂末端旋轉角ω進行zyz的歐拉旋轉,得到四元數(x
′
,y
′
,z
′
,w
′
)作為機械臂末端的抓取姿態:
[0032][0033]
進一步地,若目標物體(x2,y2)位于機械臂基座坐標系的第一象限,方位角α為:
[0034][0035]
若目標物體(x2,y2)位于機械臂基座坐標系的第二象限,方位角α為:
[0036][0037]
若目標物體(x2,y2)位于機械臂基座坐標系的第三象限,方位角α為:
[0038][0039]
若目標物體(x2,y2)位于機械臂基座坐標系的第四象限,方位角α為:
[0040][0041]
若x2=0,y2》0時,α=π/2;x2=0,y2《0時,α=3π/2,
[0042]
若y2=0,x2》0時,α=0;y2=0,x2《0時,α=π。
[0043]
與現有技術相比,本發明具有如下有益效果:本發明基于雙目視覺的機械臂目標物體抓取方法通過圖像像素坐標系、圖像平面坐標系、雙目視覺相機坐標系以及機械臂基座坐標系的轉換,將目標物體的圖像像素坐標轉換成機械臂基座坐標,相比傳統的接觸式測量坐標的方法,更為準確和高效;傳統的多傳感器目標物體抓取方法存在信息不易耦合、穩定性及準確性差的問題,而本發明基于雙目視覺的機械臂目標物體抓取方法利用雙目視覺進行跟蹤抓取更為快捷、準確和智能,雙目視覺相機相比于單目相機而言,獲取的深度信
息更為準確;相比于rgb-d相機,成本更為廉價,在保證準確性的前提下,更加節約成本,能夠適用于工業生產和日常生活。本發明基于雙目視覺的機械臂目標物體抓取方法具有較高的魯棒性,與傳統的單目跟蹤算法相比,由于其確定的雙目間距,提升了識別的準確性,其次由于算法中只要求相對亮度信息,而非絕對亮度信息,即使在較為惡劣的場景下,如光線突變也能準確識別及跟蹤物體,完成抓取任務。本發明基于雙目視覺的機械臂目標物體抓取方法將視覺跟蹤引入工業機器人控制中,大大提高了工業自動化的水平,對本行業的發展革新有著較為深刻的意義。
具體實施方式
[0044]
下面對本發明的技術方案作進一步地解釋說明。
[0045]
本發明提供了一種基于雙目視覺的機械臂目標物體抓取方法,具體包括如下步驟:
[0046]
步驟1、將雙目視覺相機水平放置,使得雙目視覺相機與機械臂底座處于同一水平面上,通過雙目視覺相機獲取帶有目標物體的rgb圖像;本發明中雙目視覺相機的識別區域為機械臂工作半徑范圍,且雙目視覺相機位置與識別區域的距離為0.8-20.0m,并確保識別區域不被遮擋。同時,雙目視覺相機獲取帶有目標物體的rgb圖像前需要先矯正雙目視覺相機中左、右攝像機的左、右內參,雙目視覺相機的左、右內參是與雙目視覺相機自身特性有關的參數,以此確定其焦距和像素大小,根據雙目視覺相機提供的校準程序得到雙目視覺相機中左、右攝像機的左、右內參:
[0047][0048]
其中,表示左攝像機圖像橫軸方向上以像素為單位的焦距,為左攝像機圖像縱軸方向上以像素為單位的焦距,為左攝像機光軸與圖像中心在橫軸方向上以像素為單位的差距,為左攝像機光軸與圖像中心在縱軸方向上以像素為單位的差距,為右攝像機圖像橫軸方向上以像素為單位的焦距,為右攝像機圖像縱軸方向上以像素為單位的焦距,為右攝像機光軸與圖像中心在橫軸方向上以像素為單位的差距,為右攝像機光軸與圖像中心在縱軸方向上以像素為單位的差距。
[0049]
步驟2、利用三角測量的原理,通過雙目相機輸出深度圖像,深度圖像根據顏深淺來區分深度大小。隨后,將帶有目標物體的rgb圖像轉換成hsv顏空間,將兩張圖片進行匹配,進而獲得目標物體距離雙目視覺相機的深度信息。利用此種方法,能夠迅速且穩定地獲取深度,深度信息準確。具體地,將帶有目標物體的rgb圖像轉換成hsv顏空間,根據目標物體在hsv顏空間中的飽和度區間和調區間的閾值來分割目標物體,同時將識別到的目標區域位置與目標物體的深度圖像進行匹配,獲得目標物體距離雙目視覺相機的深度信息d:
[0050]
[0051]
其中,n表示識別區域像素點個數,i為識別區域像素點的索引,di為識別區域中每個像素點的深度信息。
[0052]
步驟3、機器人的抓取動作均是基于機器人基坐標下完成的,故為讓機器人能夠對目標工件進行抓取,需要將工件的圖像坐標轉換成機器人基坐標系下的三維坐標。坐標系的統一有利于避免后續繁瑣的坐標轉換運算,同時也便于進行后續旋轉角的計算。通過將帶有目標物體的rgb圖像的像素坐標結合深度信息得到目標物體在雙目視覺相機坐標系中的三維空間坐標;具體包括如下子步驟:
[0053]
步驟31、建立圖像平面坐標系,將帶有目標物體的rgb圖像的像素坐標(u,v)轉換到圖像平面坐標系下,得到對應的圖像物理坐標(x,y):
[0054][0055]
其中,dx表示像素在x軸上的物理尺寸,dy表示像素在y軸上的物理尺寸;由公式(2)得到從圖像物理坐標到圖像像素坐標變換的矩陣形式:
[0056][0057]
步驟32、建立雙目視覺相機坐標系,根據雙目視覺相機成像原理將圖像物理坐標(x,y)轉換成目標物體在雙目視覺相機坐標系中的三維空間坐標(x,y,z):
[0058][0059]
其中,f表示雙目視覺相機的整體焦距,d為目標物體距離雙目視覺相機的深度信息,f
x
為圖像像素坐標系轉圖像物理坐標系的過程中,x方向上單位像素的縮放倍數,fy為圖像像素坐標系轉圖像物理坐標系的過程中,y方向上單位像素的縮放倍數。
[0060]
步驟4、在步驟1中安裝雙目視覺相機時,它相對于機械臂的位置關系是確定的,其中機械臂基座的坐標系與基于雙目視覺相機的坐標系x軸相互平行但方向相對,y軸相互平行但方向相向,z軸相互平行且方向一致,且已知雙目視覺相機的坐標系原點在機械臂基座坐標系的笛卡爾坐標,結合目標物體在雙目視覺相機坐標系中的三維空間坐標,計算目標物體在機械臂基座坐標系的三維坐標(x2,y2,z2):
[0061][0062]
其中,θ為機械臂基座坐標系相對于雙目視覺相機坐標系在z軸上的旋轉角,根據已知雙目視覺相機與機械臂的安裝位置關系,可得θ=π;(x1,y1,z1)為雙目視覺相機的坐標系原點轉換成的機械臂基座坐標系的笛卡爾坐標,(x,y,z)為目標物體在雙目視覺相機坐標系中的三維空間坐標。
[0063]
獲取機械臂基座坐標系的三維坐標是為了進行機械臂抓取操作,其次坐標系的統一有利于避免后續繁瑣的坐標轉換運算,同時也便于進行后續旋轉角的計算。
[0064]
步驟5、通過目標物體在機械臂基座坐標系中的方位角、極角、機械臂末端旋轉角獲取機械臂末端的抓取姿態,采用方位角、極角、機械臂末端旋轉角獲取目標物體姿態的原因是因為其直觀且容易獲取,也便于對后續轉換成四元數;具體包括如下子步驟:
[0065]
步驟51、以機械臂基座指向雙目視覺相機方向為x軸正方向,x軸正方向逆時針旋轉90度為機械臂基座y軸正方向,計算目標物體在機械臂基座坐標系中的方位角α、極角β和機械臂末端旋轉角ω;
[0066]
本發明中方位角α表示從x軸正方向開始,逆時針方向旋轉與目標物體到坐標原點連線之間的夾角,若目標物體(x2,y2)位于機械臂基座坐標系的第一象限,方位角α為:
[0067][0068]
若目標物體(x2,y2)位于機械臂基座坐標系的第二象限,方位角α為:
[0069][0070]
若目標物體(x2,y2)位于機械臂基座坐標系的第三象限,方位角α為:
[0071][0072]
若目標物體(x2,y2)位于機械臂基座坐標系的第四象限,方位角α為:
[0073][0074]
若x2=0,y2》0時,α=π/2;x2=0,y2《0時,α=3π/2,
[0075]
若y2=0,x2》0時,α=0;y2=0,x2《0時,α=π。
[0076]
本發明中極角β表示正z軸到目標物體矢量的角度,代表目標物體的傾斜程度;旋轉角ω表示機械臂末端抓取物體時旋轉的角度,由于目標物體豎直放置,則:
[0077][0078][0079]
步驟52、將計算的方位角α、極角β和機械臂末端旋轉角ω進行zyz的歐拉旋轉,得
到四元數(x
′
,y
′
,z
′
,w
′
)作為機械臂末端的抓取姿態:
[0080][0081]
四元數作為一種描述姿態的方法,能夠避免歐拉角的“死鎖”問題,且能與其他姿態表示形式進行快速轉換。步驟6、將目標物體在機械臂基座的三維坐標及抓取時機械臂末端的抓取姿態作為控制信息發送至機械臂控制器,實現目標物體的抓取。
[0082]
本發明基于雙目視覺的機械臂目標物體抓取方法相比于傳統的單目跟蹤算法而言,更為簡便,本發明中的雙目視覺相機的位置固定好即可完成任務,而傳統的單目跟蹤算法需要將相機不停更換位置才能達到三角測量的要求。此外,由于單目獲得的相鄰圖像間的位置的不確定容易產生誤差。而本發明基于雙目視覺的機械臂目標物體抓取方法則克服了該弊端,通過雙目間的距離固定,使得獲取的結果精度更高。其次,本發明基于雙目視覺的機械臂目標物體抓取方法的魯棒性較好,本發明要求的圖像只需要相對的亮度信息,故雙目視覺相機在左右目光線差異較大時也能成功獲取到深度信息。綜上,本發明基于雙目視覺的機械臂目標物體抓取方法實用性好,為機械臂完成目標物體的抓取提供了一種方便、快捷且智能的優良方案。
[0083]
以上僅是本發明的優選實施方式,本發明的保護范圍并不僅局限于上述實施方式,凡屬于本發明思路下的技術方案均屬于本發明的保護范圍。應當指出,對于本技術領域的普通技術人員來說,在不脫離本發明原理前提下的若干改進和潤飾,應視為本發明的保護范圍。
