本發(fā)明屬于機器人伺服控制
技術領域:
,更具體地,涉及一種基于單目相機和三維力傳感器的工業(yè)機器人抓取方法。
背景技術:
:隨著工業(yè)技術的發(fā)展,工業(yè)機器人在制造業(yè)中的應用越來越廣泛,如汽車及汽車零部件制造、機械加工、電子電氣生產、橡膠及塑料制造、食品加工、木材與家具制造等領域的自動化生產過程中,機器人作業(yè)發(fā)揮著重要作用,機器人對工件的抓取是制造業(yè)的自動化生產中一項常見的任務。目前,視覺引導與定位技術已經成為工業(yè)機器人獲得作業(yè)周圍環(huán)境信息的主要手段,如CN201210405693.3公開的基于雙目視覺的機器人目標識別與抓取系統(tǒng)及方法,其通過視覺、射頻、超聲等傳感器與外部環(huán)境進行智能交互,識別并定位目標物體,并通過導航系統(tǒng)自主到達目標物體所在的位置,以控制機械臂完成對目標物體的抓取任務;CN201310223530.8公開的一種基于雙目視覺的人機交互式機械手控制系統(tǒng)和控制方法,其采用提取實時圖像采集裝置雙目圖像中的色彩特征作為控制機械手的信號源,通過雙目立體視覺系統(tǒng)和三維坐標系轉換計算得出視野實時圖像中紅色特征激光點的三維信息,以控制機械手進行人機交互式的跟蹤目標的操作。然而,上述現有技術均是以雙目視覺進行目標物體定位為主,且機器人多為夾爪式,這種抓取系統(tǒng)對相機精度要求較高,對物品擺放位置的適應能力差,且雙目相機的參數標定困難,圖像處理算法復雜,此外,在操作中,機器人抓取的過程存在抓取緩慢或不穩(wěn)定的情況,存在抓取一類工件的困難,且實時性和可靠性不能保證。技術實現要素:針對現有技術的以上缺陷或改進需求,本發(fā)明提供了一種基于單目相機和三維力傳感器的工業(yè)機器人抓取方法,其模擬人的視覺和觸覺感知系統(tǒng)實現機器人對目標物的抓取工作,采用六自由度關節(jié)式工業(yè)機器人作為執(zhí)行單元,使用單目相機進行環(huán)境感知、三維力傳感器控制機器人調節(jié)姿態(tài)的方法,有效解決了物體識別設備成本高,對物體擺放要求嚴格等特殊限定的問題。為實現上述目的,本發(fā)明提出了一種基于單目相機和三維力傳感器的工業(yè)機器人抓取方法,包括以下步驟:(1)首先,對用于獲取待抓取物品圖像信息的單目相機進行內部參數標定,并對用于執(zhí)行抓取作業(yè)的工業(yè)機器人進行手眼標定,以獲得工業(yè)機器人的基坐標系與相機坐標系之間的變換矩陣,然后對裝于工業(yè)機器人末端的三維力傳感器進行初始化處理;(2)接著,所述單目相機垂直向下照射在待抓取物品的表面以采集物品的圖像,將采集到的物品圖像傳輸至上位機中以進行圖像處理,并計算出物品的位置信息;所述上位機根據物品的位置信息控制工業(yè)機器人移動到物品的上方位置,并使工業(yè)機器人垂直向下運動直至碰觸到待抓取物品;(3)最后,當工業(yè)機器人碰觸到待抓取物品后,所述三維力傳感器感知工業(yè)機器人末端與待抓取物品表面的接觸力信息,并將該接觸力信息傳輸至上位機中,所述上位機通過接觸力信息控制工業(yè)機器人停止運動,并通過接觸力信息計算出工業(yè)機器人末端的位姿增量,根據所述位姿增量實現工業(yè)機器人姿態(tài)的調節(jié),直至工業(yè)機器人末端的氣動吸盤與待抓取物品的平面貼合,然后所述氣動吸盤動作完成工業(yè)機器人抓取工作。作為進一步優(yōu)選的,所述工業(yè)機器人的基坐標系與相機坐標系之間的變換矩陣采用如下方式獲得:(1)定義坐標系:用B表示機器人基坐標系,C表示相機坐標系,O表示物體坐標系,bTc表示基坐標系與相機坐標系之間的變換矩陣,cTo表示相機坐標系與物體坐標系的變換矩陣;(2)坐標系變換:B=inv(cTb)·C;C=cTo·O;則B=inv(cTb)·cTo·O;(3)獲得變換矩陣bTc:控制機器人從位置1移動到位置2,由于基坐標系B和物體坐標系O位置不變,則有inv(cTb)·cTo1=inv(cTb)·cTo2,根據所述inv(cTb)·cTo1=inv(cTb)·cTo2,通過inv(cTb)·(cTo1-cTo2)=O計算得到inv(cTb),從而獲得基坐標系與相機坐標系之間的變換矩陣bTc。作為進一步優(yōu)選的,對裝于工業(yè)機器人末端的三維力傳感器進行初始化處理,具體為:獲取三維力傳感器坐標系x、y、z三個方向上的當前力Fx、Fy、Fz,然后分別對應減去工業(yè)機器人末端各部件重力在力傳感器坐標系x、y、z三個方向上的分量,由此實現三維力傳感器的初始化處理,具體采用如下表達式表示:FxFyFz-cosαcosβcosαsinβsinγ-sinαcosγcosαsinβcosγ+sinαsinγsinαcosβsinαsinβsinγ+cosαcosγsinαsinβcosγ-cosαsinγ-sinβcosβsinγcosβcosγGxGyGz=0]]>其中,Fx、Fy、Fz分別表示三維力傳感器測量的力在自身坐標系x、y、z方向的值;γ是基坐標系繞三維力傳感器坐標系x軸的旋轉角度,β是基坐標系繞三維力傳感器坐標系y軸的旋轉角度,α是基坐標系繞三維力傳感器坐標系z軸的旋轉角度;Gx、Gy、Gz分別表示機器人末端三維力傳感器、連接板和氣動吸盤在基坐標系x、y、z方向的重力。作為進一步優(yōu)選的,將采集到的物品圖像傳輸至上位機中以進行圖像處理并計算出物品的位置信息具體為:上位機讀取單目相機的圖像信息以提取物品的邊緣輪廓,根據邊緣輪廓選取處于最上層的物品,分別取最上層物品各邊緣輪廓的中值,從而計算獲得相機坐標系下目標物體的中心位置。作為進一步優(yōu)選的,所述上位機根據物品的位置信息控制工業(yè)機器人移動到物品的上方位置,并使工業(yè)機器人垂直向下運動直至碰觸到待抓取物品具體為:上位機獲取工業(yè)機器人當前位姿,并根據相機坐標系到機器人基坐標系的變換矩陣cTb,將目標物體在相機坐標系中的中心位置變換至基坐標系中,根據工業(yè)機器人當前位姿以及中心位置在基坐標系下的位置獲得工業(yè)機器人移動到目標位置正上方的軌跡。作為進一步優(yōu)選的,上位機通過接觸力信息計算出工業(yè)機器人末端的位姿增量,根據位姿增量實現工業(yè)機器人姿態(tài)的調節(jié),直至工業(yè)機器人末端的氣動吸盤與待抓取物品的平面貼合,具體為:三維力傳感器在自身坐標系下感知機器人與物體接觸時x、y、z方向的接觸力,通過坐標系變換得到這三個力在基坐標系下的值,然后上位機計算出機器人末端在基坐標系下的旋轉角度增量,具體采用下式表示:FxbFybFzb=cosαcosβcosαsinβsinγ-sinαcosγcosαsinβcosγ+sinαsinγsinαcosβsinαsinβsinγ+cosαcosγsinαsinβcosγ-cosαsinγ-sinβcosβsinγcosβcosγ·FxsFysFzs;]]>式中:Fxb、Fyb、Fzb分別是三維力傳感器坐標系轉換到基坐標系下x,y,z方向的力;γ是基坐標系繞三維力傳感器坐標系x軸的旋轉角度,β是基坐標系繞三維力傳感器坐標系y軸的旋轉角度,α是基坐標系繞三維力傳感器坐標系z軸的旋轉角度;Fxs、Fys、Fzs分別是三維力傳感器坐標系下測得的x,y,z方向的力;計算機器人末端在基坐標系下繞x、y方向的旋轉角度增量Δθ和Δφ:Δθ=arctan(Fxb/Fzb),Δφ=arctan(Fyb/Fzb);根據計算獲得的機器人末端在基坐標系下的旋轉角度增量,計算機器人各個關節(jié)在基坐標系下的運動增量,然后根據所述運動增量調整機器人末端的位姿,使其末端的吸盤與待抓取物品的表面貼合??傮w而言,通過本發(fā)明所構思的以上技術方案與現有技術相比,主要具備以下的技術優(yōu)點:1.傳統(tǒng)機器人抓取裝置采用雙目照相機獲取目標物品的位置及深度信息,對相機的精度要求較高,圖像處理算法比較繁瑣,本發(fā)明忽略物體的深度信息,采用單目相機采集目標物體的位置和輪廓信息,減輕了相機硬件成本和標定復雜性。2.本發(fā)明采用單目相機能夠獲得目標物到相機之間的距離、物體的上表面形狀及各個物體間的相對位置,通過計算機等控制系統(tǒng)可以使機器人準確定位到目標物體,相比于雙目相機,單目相機在硬件結構和圖像處理方面十分簡單。3.本發(fā)明抓取方法采用三維力傳感器感應物體擺放位置,進行實時反饋來調整機械臂的姿態(tài),通過氣動吸盤抓取目標物體,允許物體堆放、斜放,操作過程簡便高效且對物品擺放位置的適應能力強。4.本發(fā)明可以實現散亂、傾斜放置的物品的抓取,使用單目相機識別目標物品的位置、三維力傳感器調節(jié)機器人姿態(tài)的方法,相比于雙目相機抓取方法,降低了相機標定和物體空間位姿估計的復雜性及系統(tǒng)通訊復雜性,結構簡單實用性強。附圖說明圖1是基于單目相機和三維力傳感器的工業(yè)機器人抓取系統(tǒng)的結構示意圖;圖2是本發(fā)明單目相機裝配示意圖;圖3是本發(fā)明三維力傳感器及氣動吸盤抓取目標物體示意圖;圖4是本發(fā)明相機坐標系示意圖;圖5是本發(fā)明機器人末端與待抓取物體接觸示意圖;圖6是基于單目相機和三維力傳感器的工業(yè)機器人抓取系統(tǒng)的構成圖;圖7是基于單目相機和三維力傳感器的工業(yè)機器人抓取方法的流程圖。具體實施方式為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。此外,下面所描述的本發(fā)明各個實施方式中所涉及到的技術特征只要彼此之間未構成沖突就可以相互組合。本發(fā)明針對現有技術中機器人抓取時存在雙目相機標定及圖像處理算法復雜、對物品放置位置適應性差等問題,提出了一種基于單目相機和三維力傳感器的工業(yè)機器人抓取方法,該方法能夠完成對隨意堆放物品的抓取。該方法包括兩部分:一是單目相機拍照定位目標物品,根據相機拍攝的物品圖像,在上位機中提取圖像特征并計算目標的中心位置,控制機械手移動到目標正上方;二是在線實時位姿調整,三維力傳感器感知機械手與物體平面的接觸力信息,將該信息傳輸至上位機進行分析計算,得出工業(yè)機器人各關節(jié)相對基坐標系的旋轉增量,實時調節(jié)機械手臂的姿態(tài),直到三維力傳感器反饋的x和y向力為0,即吸盤與物體平面平行貼合,氣動吸盤動作完成抓取工作。本發(fā)明的機器人抓取方法具有很好的適應性,能夠實時調整位姿適應物體的擺放位置,結構相對簡單,使用方便。如圖1-3所示,本發(fā)明包括上位機1、固定支架2、CCD相機3、氣動吸盤4、三維力傳感器5、工業(yè)機器人6、傳送帶7、載物筐8、待抓取物品9、相機支撐板10、支架底座11、機械手12、連接板13。各部件具體連接如下:待抓取的物品9堆放在載物筐8中,載物筐8隨著傳送帶7移動;三維力傳感器5固定在機械手12前端,并與連接板13相連,氣動吸盤4裝在連接板13上;支架2的一端通過底座11固定到地面上,支架2另一端通過支撐板10與單目相機3(CCD相機)相連;通訊方面:CCD相機3和三維力傳感器4分別與上位機1相連;上位機1與工業(yè)機器人6相連。抓取之前,需對用于獲取待抓取物品圖像信息的單目相機進行內部參數標定,并對用于執(zhí)行抓取作業(yè)的工業(yè)機器人進行手眼標定,然后對裝于工業(yè)機器人末端的三維力傳感器進行初始化處理。其中,單目相機需標定的內部參數包括(共9個參數):像素坐標系中x、y方向的像素數2個、投影平面中心在像素坐標系中的坐標(x,y坐標)2個、透鏡畸變參數5個,如圖4所示:Opix-XpixYpix為像素坐標系,Op-XpYp為投影平面坐標系,Oc-XcYc為相機坐標系,其利用現有的Matlab或Opencv等軟件中的相機標定工具包即可完成相機標定,以得到9個內部參數。對工業(yè)機器人進行手眼標定,以獲得工業(yè)機器人的基坐標系與相機坐標系之間的變換矩陣,具體為:首先,機器人基坐標系(指機器人底盤處所在的坐標系)用B表示,相機坐標系用C表示,物體坐標系(即待抓取物品所在的坐標系)用O表示,機器人手坐標系(指機器人末端所在的坐標系)用H表示,基坐標系到物體坐標系的變換矩陣用bTo表示,基坐標系與相機坐標系之間的變換矩陣bTc,相機坐標系到機器人手坐標系的變換矩陣用cTh表示,相機坐標系到物體坐標系的變換矩陣用cTo表示(由相機標定求出,根據相機標定參數即可計算得出,由軟件計算完成),基坐標系到手坐標系的變換矩陣用bTh表示(其為已知參數,可直接在機器人系統(tǒng)中讀出)?;鴺讼怠⑽矬w坐標系和相機坐標之間有如下變換:B=inv(cTb)·C;C=cTo·O;則B=inv(cTb)·cTo·O;控制機器人從位置1移動到位置2,因為基坐標系B和物體坐標系O的位置不變,則有:inv(cTb)·cTo1=inv(cTb)·cTo2;從而得到inv(cTb),即基坐標系與相機坐標系之間的變換矩陣bTc,其中inv為矩陣求逆處理。對三維力傳感器的初始化操作(即清零操作),其目的在于消除力傳感器及前端連接板和吸盤的重力(上述這些部件的重力為已知參數)影響,該操作在力傳感器坐標系(即力傳感器自身的坐標系,其為已知參數,給定力傳感器即可確定該坐標系)下完成,其具體為:獲取力傳感器坐標系三個方向上的當前力Fx、Fy、Fz,然后分別對應減去各部件重力在力傳感器坐標系下x、y、z方向的分量,即可實現清零操作,即:FxFyFz-cosαcosβcosαsinβsinγ-sinαcosγcosαsinβcosγ+sinαsinγsinαcosβsinαsinβsinγ+cosαcosγsinαsinβcosγ-cosαsinγ-sinβcosβsinγcosβcosγGxGyGz=0]]>其中,γ是基坐標系繞力傳感器坐標系x軸的旋轉角度,β是基坐標系繞力傳感器坐標系y軸的旋轉角度,α是基坐標系繞力傳感器坐標系z軸的旋轉角度;Gx、Gy、Gz分別是機器人末端力傳感器、前端連接板和吸盤在基坐標系x、y、z方向的重力;Fx、Fy、Fz分別是力傳感器測量的力在自身坐標系x、y、z方向的值。如圖1-2所示,載物筐中散亂堆放待抓取物品,位于其正上方的CCD相機拍攝圖片,將采集到的圖片傳輸至上位機中以進行圖像處理,并計算出物品的位置信息,具體的,上位機提取出目標物品的輪廓特征確定最上層的目標物體,計算獲取目標的位置信息,然后上位機控制機械臂移動到該目標位置,直到載物筐中的全部物品抓取完成,即CCD相機拍到的圖片進行特征提取后顯示只有載物筐輪廓,宣布抓取工作結束。具體的,上位機讀取單目相機的圖像信息,在上位機中調用opencv軟件庫中的Canny或Soble等算子提取物體的邊緣輪廓,即提取出如圖1中載物筐中的長方體物體的輪廓(位于最上層未被遮擋的輪廓為長方形);由輪廓的完整性選取處于最上層的物體,根據物體的長方形邊緣輪廓分別取臨邊的中值,從而計算出相機坐標系下目標物體輪廓的中心位置。上位機在每次抓取之前讀取相機拍攝的圖像信息與機器人位姿信息,并進行數據處理,規(guī)劃機器人運動軌跡:上位機首先讀取圖像信息獲取處于最上層物品的中心位置,然后讀取機器人信息從而確定機器人位姿(該位姿可直接從機器人控制系統(tǒng)中讀出),接著上位機根據相機坐標系到機器人基坐標系的變換矩陣cTb,將相機坐標系中的中心位置變換至基坐標系中,根據機器人目前的位姿以及中心位置在基坐標系下的位置獲得機器人移動到目標位置正上方的軌跡,如通過機器人逆運動學(其為現有技術,在此不贅述)計算出機器人各關節(jié)的移動量,然后根據相應的移動量實現機器人的運動。其中,變換矩陣cTb用下式表示:Tcb=Rp01;]]>式中,R是相機坐標系到基坐標系的旋轉變換矩陣,p是相機坐標系原點在基坐標系中的位置。具體的,通過將目標物體在相機坐標系下的中心位置向量乘上變換矩陣cTb,即可得到目標物體中心位置在基坐標系下的位置。如圖3所示,機器人末端安裝三維力傳感器,前端通過連接板安裝氣動吸盤,當機器人碰到目標物品時,三維力傳感器感知機器人末端與待抓取物體表面的接觸力信息,機械手末端三維力傳感器受到壓力作用其輸出值出現突變,上位機接收到該信號后控制機器人暫時停止運動,上位機分析感知到的接觸力信息并調節(jié)機器人的姿態(tài),當x和y向力的絕對值為0時,認為機器人前端吸盤與物體平面貼合,此時氣動吸盤動作吸取物品并放到指定位置,完成本次抓取行動。抓取時,上位機實時讀取機器人位姿信息與三維力傳感器信息,并進行數據處理,得到機器人各關節(jié)的位姿增量:上位機讀取機器人信息,從而確定機器人位姿變換矩陣;上位機讀取力傳感器信息,得到機器人與物品接觸時的受力信息;上位機根據力傳感器受力信息、力傳感器到機器人末端的位姿變換矩陣、機器人位姿變換矩陣計算出機器人各個關節(jié)軸的旋轉增量。具體的,三維力傳感器實時調整機器人姿態(tài),三維力傳感器感知機器人與物體接觸時x、y、z方向的接觸力,通過坐標系變換得到這三個力在基坐標系下的值,上位機在此基礎上計算出機器人末端在基坐標系下的角度增量:FxbFybFzb=cosαcosβcosαsinβsinγ-sinαcosγcosαsinβcosγ+sinαsinγsinαcosβsinαsinβsinγ+cosαcosγsinαsinβcosγ-cosαsinγ-sinβcosβsinγcosβcosγ·FxsFysFzs]]>式中:γ是基坐標系繞力傳感器坐標系x軸的旋轉角度,β是基坐標系繞力傳感器坐標系y軸的旋轉角度,α是基坐標系繞力傳感器坐標系z軸的旋轉角度;Fxs、Fys、Fzs分別是力傳感器坐標系下測得的x,y,z方向的力;Fxb、Fyb、Fzb分別是轉換到基坐標系下x,y,z方向的力。機器人末端在基坐標系下的旋轉角度增量:Δθ=arctan(Fxb/Fzb),Δφ=arctan(Fyb/Fzb)根據計算獲得的機器人末端在基坐標系下的角度增量,利用機器人逆運動學,計算機器人各個關節(jié)在基坐標系下的運動增量,根據運動增量調整機器人末端的位姿,使其末端的吸盤與待抓取物品的表面貼合。本領域的技術人員容易理解,以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內。當前第1頁1 2 3