本發(fā)明涉及自動化設(shè)備領(lǐng)域,特別涉及一種基于圖像無標(biāo)定的視覺伺服機(jī)械手及其控制方法。
背景技術(shù):
機(jī)器人到現(xiàn)在已經(jīng)有幾十年的歷史,其高度靈活性特點使其得以廣泛應(yīng)用到各行各業(yè)之中,特別在自動化設(shè)備。隨著物聯(lián)網(wǎng)技術(shù)的成熟,機(jī)器人的發(fā)展方向?qū)⑾蛑c網(wǎng)絡(luò)連接的方向,屆時將實現(xiàn)更便利更強(qiáng)大的功能。機(jī)械手作為機(jī)器人的一個重要分支,加上具有可編程應(yīng)用的特點,可以適應(yīng)于各種工作環(huán)境,完成預(yù)期的工作。機(jī)器人發(fā)展至今,不僅擁有機(jī)器本身的優(yōu)點,還兼有了人的優(yōu)點,尤其在人的智能性和適應(yīng)性上到了充分的體現(xiàn)。
隨著科技發(fā)展,機(jī)器人的研究由原始簡單的機(jī)械控制,已經(jīng)進(jìn)入了智能化階段。更高層次的智能,意味著更復(fù)雜的控制以及獲取外界信息多樣化。經(jīng)過信息融合階段,然后到自主判斷階段,再到?jīng)Q策階段,最后到執(zhí)行階段,實現(xiàn)相應(yīng)的動作的人類智能,但這更高的層次的智能研發(fā)難度大,工程實際應(yīng)用環(huán)境相對較少。相反,通過更多的傳感器,特別是加入視覺傳感器來獲取外界環(huán)境信息,使機(jī)電系統(tǒng)或機(jī)器人完成指定作業(yè),這一層次智能化在實際應(yīng)用中更有可實行性和更多的應(yīng)用價值。
相關(guān)研究表明人類獲取外界的信息百分之八十是通過視覺獲取的。機(jī)器人作為代替人類勞動的工具,也應(yīng)該通過視覺來從外界獲取信息。隨著硬件處理系統(tǒng)性價比的不斷提高以及電子技術(shù)的迅猛發(fā)展,將機(jī)械手與視覺結(jié)合起來,越來越具有可行性。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于:針對單一機(jī)械手無法獲得外界信息的機(jī)械手,當(dāng)面對陌生環(huán)境時,無法自主控制工作的技術(shù)問題。
本發(fā)明提供一種基于圖像無標(biāo)定的視覺伺服機(jī)械手的控制方法,其技術(shù)方案包括以下步驟,
S1:建立一個包含機(jī)械手活動區(qū)域的空間坐標(biāo)系,并設(shè)定一個初始位姿,使機(jī)械手每完成抓取任務(wù)后,返回至所述初始位姿;
S2:在機(jī)械手處于初始位姿的狀態(tài)下,通過位于機(jī)械手末端關(guān)節(jié)上的攝像元件拍攝工作臺的圖像;
S3:根據(jù)所述攝像元件拍攝的圖像,獲取圖像中目標(biāo)的重心坐標(biāo)()以及水平、對角和垂直方向的幾何不變矩值μ2,0、μ1,1和μ0,2;
S4:根據(jù)重心坐標(biāo)()以及水平、對角和垂直方向的幾何不變矩值μ2,0、μ1,1和μ0,2,調(diào)整機(jī)械手的位姿,并根據(jù)位于機(jī)械手上的距離傳感器檢測所與目標(biāo)的距離,控制機(jī)械手向目標(biāo)移動的距離,從而所述機(jī)械手完成對抓取目標(biāo)的抓取。
根據(jù)一種具體的實施方式,S3包括,
S301:根據(jù)工作臺所設(shè)置顏色的灰度值,區(qū)分圖像中的背景和目標(biāo);
S302:根據(jù)圖像中構(gòu)成目標(biāo)的像素點的坐標(biāo)和灰度值,計算出相應(yīng)的重心坐標(biāo)以及水平、對角和垂直方向的幾何不變矩值μ2,0、μ1,1和μ0,2。
根據(jù)一種具體的實施方式,計算重心坐標(biāo)的方法為,
其中M,N分別表示圖像的行和列,ρ(x,y)為(x,y)坐標(biāo)處的灰度值;
計算分別表示水平、對角和垂直方向的幾何不變矩值μ2,0、μ1,1和μ0,2的方法為,
其中,p+q=2,且p和q為正整數(shù)。
根據(jù)一種具體的實施方式,S3還包括,
S303:以背景顏色的灰度值為二值化閾值,對圖像進(jìn)行二值化,并且二值化圖像中背景的像素點為黑色,目標(biāo)的像素點為白色;
S304:根據(jù)二值化圖像中的黑、白像素點,獲取圖像中目標(biāo)的面積S和周長L,并計算出目標(biāo)的形狀復(fù)雜度
S305:計算和的值,其中,en表示模板圖形的形狀復(fù)雜度,n表示模板圖形的編號,μn,2,0、μn,1,1和μn,0,2分別表示模板圖形水平、對角和垂直方向的幾何不變矩值;
S306:判斷最接近1的值所對應(yīng)的模板圖形與最大的值所對應(yīng)的模板圖形是否一致;若一致,則成功識別目標(biāo)的形狀,并繼續(xù)執(zhí)行S4,否則,對所述攝像元件拍攝的圖像進(jìn)行一定放大倍數(shù)處理,再重新執(zhí)行S303~S306。
根據(jù)一種具體的實施方式,S304中,通過掃描二值化圖像每個像素點的值而構(gòu)建建立一個矩陣,使所述矩陣的元素與圖像的像素點一一對應(yīng),并且所述矩陣元素的值與其對應(yīng)的像素點的值一致,其中黑像素點的值為0,白像素點的值為1;
根據(jù)所述矩陣中值為0的元素與值為1的元素的邊界,得出目標(biāo)圖像區(qū)域的周長L,以及根據(jù)所述矩陣中值為1的元素的個數(shù),得出目標(biāo)圖像區(qū)域的面積S。
根據(jù)一種具體的實施方式,S306中,當(dāng)對所述攝像元件拍攝的圖像的放大倍數(shù)超過設(shè)定值,則發(fā)送報警信息,并回到初始位姿。
根據(jù)一種具體的實施方式,S4中,根據(jù)目標(biāo)的重心坐標(biāo)調(diào)整機(jī)械手末端關(guān)節(jié)前的各個關(guān)節(jié)的狀態(tài),使末端關(guān)節(jié)對準(zhǔn)目標(biāo)的重心坐標(biāo),以及根據(jù)水平、對角和垂直方向的幾何不變矩值μ2,0、μ1,1和μ0,2,調(diào)整機(jī)械手末端關(guān)節(jié)的旋轉(zhuǎn)角度,并與目標(biāo)的中軸線對齊。
根據(jù)一種具體的實施方式,機(jī)械手末端關(guān)節(jié)的旋轉(zhuǎn)角度θ1的計算方式為,
其中,
根據(jù)一種具體的實施方式,S4中,還根據(jù)機(jī)械手上的力矩傳感器檢測的力矩,判斷機(jī)械手是否成功夾取目標(biāo),若未成功,則返回至初始位姿,重新執(zhí)行S2~S4。
基于同一發(fā)明構(gòu)思,本發(fā)明還提供一種用于實施本發(fā)明控制方法的機(jī)械手,其包括機(jī)械臂、夾取裝置、攝像元件、運動控制單元和圖像處理單元;其中,
所述機(jī)械臂具有至少四個關(guān)節(jié),并且所述攝像元件和所述夾取裝置設(shè)置在所述機(jī)械臂的末端關(guān)節(jié)上;
所述圖像處理單元,用于根據(jù)所述攝像元件拍攝的圖像,獲取圖像中目標(biāo)的重心坐標(biāo)以及水平、對角和垂直方向的幾何不變矩值μ2,0、μ1,1和μ0,2,并輸出相應(yīng)的數(shù)據(jù)給所述運動控制單元;
所述運動控制單元,用于在每次完成抓取任務(wù)后,控制所述機(jī)械臂返回至初始位姿,以及根據(jù)所述圖像處理單元輸出的數(shù)據(jù),調(diào)整所述機(jī)械臂的位姿為抓取位姿,同時根據(jù)所述夾取裝置上距離傳感器所檢測的與目標(biāo)的距離,控制機(jī)械手向目標(biāo)移動的距離,從而所述機(jī)械手完成對抓取目標(biāo)的抓取。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果:本發(fā)明基于圖像無標(biāo)定的視覺伺服機(jī)械手及其控制方法,與采用圖像標(biāo)定的方式相比,直接根據(jù)在初始位姿拍攝的圖像,獲取目標(biāo)的形狀特征以及機(jī)械手應(yīng)當(dāng)抓取的位置,同時根據(jù)目標(biāo)的形狀特征,調(diào)整機(jī)械手的位姿為抓取位姿,再結(jié)合距離傳感器測得的機(jī)械手與目標(biāo)的距離,完成對目標(biāo)的抓取,機(jī)械手的工作效率更高,而且對環(huán)境的適應(yīng)性更強(qiáng)。
附圖說明:
圖1是本發(fā)明的流程示意圖;
圖2是本發(fā)明一種實施的流程示意圖;
圖3是本發(fā)明機(jī)械手的示意框圖。
具體實施方式
下面結(jié)合具體實施方式對本發(fā)明作進(jìn)一步的詳細(xì)描述。但不應(yīng)將此理解為本發(fā)明上述主題的范圍僅限于以下的實施例,凡基于本發(fā)明內(nèi)容所實現(xiàn)的技術(shù)均屬于本發(fā)明的范圍。
結(jié)合圖1所示的本發(fā)明的流程示意圖;其中,本發(fā)明基于圖像無標(biāo)定的視覺伺服機(jī)械手的控制方法包括以下步驟,
S1:建立一個包含機(jī)械手活動區(qū)域的空間坐標(biāo)系,并設(shè)定一個初始位姿,使機(jī)械手每完成抓取任務(wù)后,返回至初始位姿。建立的空間坐標(biāo)系是以工作臺的水平面為xy平面,垂直于水平面的方向則是z軸方向;機(jī)械手的運動控制通過初始位姿的坐標(biāo),結(jié)合機(jī)械手的運動數(shù)據(jù)如位移量、旋轉(zhuǎn)量等,計算出機(jī)械手的實時坐標(biāo)。
S2:在機(jī)械手處于初始位姿的狀態(tài)下,通過位于機(jī)械手末端關(guān)節(jié)上的攝像元件拍攝工作臺的圖像。
S3:根據(jù)攝像元件拍攝的圖像,獲取圖像中目標(biāo)的重心坐標(biāo)以及水平、對角和垂直方向的幾何不變矩值μ2,0、μ1,1和μ0,2。
S4:根據(jù)重心坐標(biāo)以及水平、對角和垂直方向的幾何不變矩值μ2,0、μ1,1和μ0,2,調(diào)整機(jī)械手的位姿,并根據(jù)位于機(jī)械手上的距離傳感器所檢測與目標(biāo)的距離,控制機(jī)械手向目標(biāo)移動的距離,從而機(jī)械手完成對抓取目標(biāo)的抓取。
本發(fā)明中,根據(jù)機(jī)械手連桿D-H參數(shù),建立Ti齊次變換矩陣,即建立機(jī)械手的運動學(xué)模型,而每個齊次變換矩陣,即是每相鄰的兩個關(guān)節(jié)之間的旋轉(zhuǎn)和平移:
在機(jī)械手的坐標(biāo)系中,機(jī)械手的初始位姿確定,通過圖像識別出目標(biāo)的xy的坐標(biāo),而且通過距離傳感器求出與目標(biāo)的距離,相當(dāng)于確定終點位置的z坐標(biāo),因此,終點位置和初始位置均已知,通過對上面的齊次變換矩陣求逆,得到各個關(guān)節(jié)的旋轉(zhuǎn)量和平移量,以實現(xiàn)機(jī)械手的運動控制。
此外,由于實時計算從圖像矩陣到關(guān)節(jié)矩陣的逆雅可比矩陣,需要硬件具有較高的運算能力,而為進(jìn)一步簡化實施過程,同時節(jié)省硬件成本,本發(fā)明通過預(yù)設(shè)軌跡庫,并從軌跡庫中調(diào)用預(yù)先求解好的運動軌跡(即變換矩陣)的求逆后的各軸電機(jī)的旋轉(zhuǎn)量和平移量,按預(yù)設(shè)運動軌跡運動到目標(biāo)位置處,從而完成目標(biāo)抓取的動作。
結(jié)合圖2所示的本發(fā)明一種實施的流程示意圖;其中,S3包括,
S301:根據(jù)工作臺所設(shè)置顏色的灰度值,區(qū)分圖像中的背景和目標(biāo)。
S302:根據(jù)圖像中構(gòu)成目標(biāo)的像素點的坐標(biāo)和灰度值,計算出相應(yīng)的重心坐標(biāo)以及水平、對角和垂直方向的幾何不變矩值μ2,0、μ1,1和μ0,2。
其中,計算重心坐標(biāo)的方法為,
其中M,N分別表示圖像的行和列,ρ(x,y)為(x,y)坐標(biāo)處的灰度值。
而計算分別表示水平、對角和垂直方向的幾何不變矩值μ2,0、μ1,1和μ0,2的方法為,
其中,p+q=2,且p和q為正整數(shù)。
在實施時,S3還包括,
S303:以背景顏色的灰度值為二值化閾值,對圖像進(jìn)行二值化,并且二值化圖像中背景的像素點為黑色,目標(biāo)的像素點為白色。
S304:根據(jù)二值化圖像中的黑、白像素點,獲取圖像中目標(biāo)的面積S和周長L,并計算出目標(biāo)的形狀復(fù)雜度
S305:計算和的值,其中,en表示模板圖形的形狀復(fù)雜度,n表示模板圖形的編號,μn,2,0、μn,1,1和μn,0,2分別表示模板圖形水平、對角和垂直方向的幾何不變矩值。
S306:判斷最接近1的值所對應(yīng)的模板圖形與最大的值所對應(yīng)的模板圖形是否一致;若一致,則成功識別目標(biāo)的形狀,并繼續(xù)執(zhí)行S4,否則,對攝像元件拍攝的圖像進(jìn)行一定放大倍數(shù)處理,再重新執(zhí)行S303~S306。
具體的,S304中,通過掃描二值化圖像每個像素點的值而構(gòu)建建立一個矩陣,使矩陣的元素與圖像的像素點一一對應(yīng),并且矩陣元素的值與其對應(yīng)的像素點的值一致,其中黑像素點的值為0,白像素點的值為1。
再根據(jù)矩陣中值為0的元素與值為1的元素的邊界,得出目標(biāo)圖像區(qū)域的周長L,以及根據(jù)矩陣中值為1的元素的個數(shù),得出目標(biāo)圖像區(qū)域的面積S。
另外,S306中,當(dāng)對攝像元件拍攝的圖像的放大倍數(shù)超過設(shè)定值,則發(fā)送報警信息,并回到初始位姿。
此外本發(fā)明中,S4中,根據(jù)目標(biāo)的重心坐標(biāo)調(diào)整機(jī)械手末端關(guān)節(jié)前的各個關(guān)節(jié)的狀態(tài),使末端關(guān)節(jié)對準(zhǔn)目標(biāo)的重心坐標(biāo),以及根據(jù)水平、對角和垂直方向的幾何不變矩值μ2,0、μ1,1和μ0,2,調(diào)整機(jī)械手末端關(guān)節(jié)的旋轉(zhuǎn)角度,與目標(biāo)的中軸線對齊。
具體的,機(jī)械手末端關(guān)節(jié)的旋轉(zhuǎn)角度θ1的計算方式為,
其中,
在實施時,S4中,還根據(jù)機(jī)械手上的力矩傳感器檢測的力矩,判斷機(jī)械手是否成功夾取目標(biāo),若未成功,則返回至初始位姿,重新執(zhí)行S2~S4。
結(jié)合圖3所示的本發(fā)明機(jī)械手的示意框圖;其中,本發(fā)明用于實施本發(fā)明控制方法的機(jī)械手,其包括機(jī)械臂、夾取裝置、攝像元件、運動控制單元和圖像處理單元。
其中,機(jī)械臂具有至少四個關(guān)節(jié),并且攝像元件和夾取裝置設(shè)置在機(jī)械臂的末端關(guān)節(jié)上;
圖像處理單元,用于根據(jù)攝像元件拍攝的圖像,獲取圖像中目標(biāo)的重心坐標(biāo)以及水平、對角和垂直方向的幾何不變矩值μ2,0、μ1,1和μ0,2,并輸出相應(yīng)的數(shù)據(jù)給運動控制單元。
運動控制單元,用于在每次完成抓取任務(wù)后,控制機(jī)械臂返回至初始位姿,以及根據(jù)圖像處理單元輸出的數(shù)據(jù),調(diào)整機(jī)械臂的位姿為抓取位姿,同時根據(jù)夾取裝置上距離傳感器所檢測的與目標(biāo)的距離,控制機(jī)械手向目標(biāo)移動的距離,從而機(jī)械手完成對抓取目標(biāo)的抓取。
在實施時,本發(fā)明的夾取裝置上還設(shè)置力矩傳感器,通過力矩傳感器檢測力矩,以判斷夾取裝置是否成功夾取到目標(biāo)。
上面結(jié)合附圖對本發(fā)明的具體實施方式進(jìn)行了詳細(xì)說明,但本發(fā)明并不限制于上述實施方式,在不脫離本申請的權(quán)利要求的精神和范圍情況下,本領(lǐng)域的技術(shù)人員可以作出各種修改或改型。