詹文贊,徐賜軍,楊金堂,周詩洋,余峰
(1.武漢科技大學(xué)機(jī)械自動(dòng)化學(xué)院,湖北武漢 430081;2.湖北理工學(xué)院機(jī)電工程學(xué)院,湖北黃石 435003)
近些年來,人力成本上升,產(chǎn)品更新速度不斷加快,機(jī)器人廣泛用于各行各業(yè),如焊接加工、碼垛、噴涂、機(jī)器裝配等復(fù)雜行業(yè),機(jī)器人的使用不但減少了勞動(dòng)力降低了勞動(dòng)成本,而且提高了產(chǎn)品的生產(chǎn)質(zhì)量和效率,是未來工業(yè)化發(fā)展的必然趨勢[1]。在實(shí)際運(yùn)用中,機(jī)器人的軌跡規(guī)劃是一個(gè)重要且復(fù)雜的問題,機(jī)器人的軌跡規(guī)劃影響到機(jī)器人的運(yùn)動(dòng)性能,如常見關(guān)節(jié)的剛性沖擊、末端執(zhí)行器低頻振動(dòng)等[2]。
傳統(tǒng)的軌跡規(guī)劃分為關(guān)節(jié)空間規(guī)劃、笛卡爾空間規(guī)劃和機(jī)器人示教,均有各自的優(yōu)缺點(diǎn):關(guān)節(jié)規(guī)劃控制簡單,但是末端運(yùn)動(dòng)軌跡無法滿足要求,適用于簡單軌跡的規(guī)劃;笛卡爾空間規(guī)劃的運(yùn)動(dòng)軌跡比較直觀,但容易進(jìn)入機(jī)器人的奇異位置;機(jī)器人示教方法可分為在線示教和離線示教,優(yōu)點(diǎn)是十分靈活可以進(jìn)行復(fù)雜軌跡規(guī)劃,但是對編程人員要求較高,需要調(diào)整機(jī)器人姿態(tài),拓展性低,無法進(jìn)行推廣[2-4]。對于機(jī)器人復(fù)雜軌跡的規(guī)劃,劉明亮等[5]和劉俊利等[6]利用D-H法對機(jī)械臂末端執(zhí)行機(jī)構(gòu)進(jìn)行運(yùn)動(dòng)學(xué)分析,后進(jìn)行關(guān)節(jié)正逆運(yùn)動(dòng)學(xué)求解運(yùn)算,而采用建立D-H坐標(biāo)系再進(jìn)行正逆運(yùn)動(dòng)學(xué)求解進(jìn)行計(jì)算時(shí),正逆運(yùn)動(dòng)學(xué)計(jì)算復(fù)雜且誤差較大,無法進(jìn)行機(jī)器人復(fù)雜路徑的規(guī)劃,難以適應(yīng)現(xiàn)代工業(yè)的高速發(fā)展。
基于此,本文作者使用拖動(dòng)示教的方法進(jìn)行機(jī)器人運(yùn)動(dòng)軌跡的規(guī)劃,通過記錄運(yùn)動(dòng)軌跡并記錄對應(yīng)的位姿,利用運(yùn)動(dòng)學(xué)仿真獲得機(jī)器人運(yùn)動(dòng)過程中的關(guān)節(jié)角度參數(shù);建立了雙目視覺位姿獲取平臺(tái),使用平臺(tái)捕捉示教軌跡并獲得位姿數(shù)據(jù),通過坐標(biāo)變換技術(shù)研究機(jī)器人虛擬樣機(jī)和末端執(zhí)行器虛擬樣機(jī)融合方法;在ADAMS軟件中進(jìn)行機(jī)器人虛擬樣機(jī)模型的構(gòu)建,以獲取的位姿數(shù)據(jù)作為虛擬樣機(jī)的驅(qū)動(dòng)函數(shù),進(jìn)行ADAMS運(yùn)動(dòng)學(xué)仿真后獲得示教仿真軌跡,提取示教軌跡并與仿真軌跡比較;仿真軌跡達(dá)到預(yù)期后,測量機(jī)器人運(yùn)動(dòng)過程中關(guān)節(jié)角度,后導(dǎo)出機(jī)器人各個(gè)關(guān)節(jié)的運(yùn)動(dòng)參數(shù),實(shí)現(xiàn)機(jī)器人按照期望的示教軌跡運(yùn)動(dòng)。
示教拖動(dòng)軌跡是一段持續(xù)的動(dòng)作,需要進(jìn)行精準(zhǔn)連續(xù)位姿捕捉。雙目視覺能將場景內(nèi)的三維空間信息迅速還原和對運(yùn)動(dòng)目標(biāo)進(jìn)行持續(xù)捕捉,設(shè)計(jì)易于被識別的目標(biāo)靶面,將目標(biāo)的位置信息轉(zhuǎn)化成數(shù)據(jù)的方式進(jìn)行保存?;诖耍瑯?gòu)建以雙目視覺為原理的末端位姿獲取平臺(tái),實(shí)現(xiàn)對運(yùn)動(dòng)目標(biāo)的追蹤和定位。其工作流程如圖1所示。
圖1 末端位姿獲取平臺(tái)運(yùn)行流程
基于雙目視覺的末端位姿獲取平臺(tái)由雙目鏡頭、雙目支架、PC上位機(jī)、末端示教器和圖像處理器構(gòu)成。示教器位姿信息經(jīng)過雙目鏡頭到圖像采集卡,所采集圖像經(jīng)過機(jī)器視覺軟件處理獲得示教器末端的位姿。實(shí)驗(yàn)平臺(tái)如圖2所示。
圖2 機(jī)器視覺實(shí)驗(yàn)平臺(tái)
機(jī)器人末端位姿獲取系統(tǒng)采用張正友相機(jī)平面標(biāo)定法[7]。采用Halcon標(biāo)定板,將標(biāo)定板在多個(gè)位置進(jìn)行移動(dòng)和轉(zhuǎn)動(dòng),并使其鋪滿兩相機(jī)的視野,同時(shí)分塊保存左右相機(jī)的標(biāo)定圖像;標(biāo)定程序根據(jù)圖像信息確定相機(jī)視野中心,同時(shí)在標(biāo)定板位于視野中心位置時(shí)建立工件坐標(biāo)系。
雙目相機(jī)標(biāo)定位姿如圖3所示,可看出相機(jī)之間的空間位置關(guān)系,并結(jié)合表1,得到標(biāo)定相機(jī)之間平移的距離為141.2 mm,而實(shí)際安裝距離為140 mm,基本符合實(shí)驗(yàn)要求。由表1得出左相機(jī)的光心像素坐標(biāo)為(710.5,551.8),實(shí)際相機(jī)的分辨率為1 920像素×1 200像素,與光心坐標(biāo)相差不大。相機(jī)坐標(biāo)系之間旋轉(zhuǎn)矩陣近似為單位矩陣,符合雙目相機(jī)之間近似平行且無旋轉(zhuǎn)的關(guān)系。
圖3 雙目相機(jī)標(biāo)定位姿
表1 左右相機(jī)標(biāo)定參數(shù)
圖像處理是機(jī)器人末端姿態(tài)獲取的重要技術(shù)。圖像預(yù)處理后,進(jìn)行圖像特征提取。而圖像特征提取主要采用Hough變換將邊緣像素連接起來組成區(qū)域封閉邊界的一種方法[8]。Hough變換是將靶面上具有圓的特征點(diǎn)轉(zhuǎn)化成一個(gè)個(gè)點(diǎn)并將其連接成一起,使其成為一條三維曲線,將圖像提取問題轉(zhuǎn)變成數(shù)據(jù)計(jì)數(shù)問題[9]。根據(jù)靶面特征,靶面有4個(gè)大圓,靶面與寫字板夾角不同的時(shí)候識別的軌跡可能為圓和橢圓,其對應(yīng)的軌跡方程為公式(1)所示
Ax2+Bxy+Cy2+Dx+Ey+1=0
(1)
基于Hough的軌跡檢測方式建立了一個(gè)關(guān)于(A,B,C,D,E)的五維矩陣,計(jì)算圖像中每個(gè)像素的梯度信息,尋找合適的閾值得到邊緣;將圖像中的邊緣點(diǎn)與矩陣(A,B,C,D,E)進(jìn)行映射,并任意對矩陣(A,B,C,D,E)進(jìn)行累加,累加至邊緣點(diǎn)變換完成。矩陣(A,B,C,D,E)最多且最接近的一列為軌跡方程的參數(shù),根據(jù)軌跡方程進(jìn)而確定示教器中心點(diǎn)和特征靶面圓心的的坐標(biāo)值。靶面特征提取如圖4所示。
圖4 靶面特征提取
確定示教器中心坐標(biāo)與靶面圓的圓心坐標(biāo)后,如圖5所示,坐標(biāo)系O-XYZ為工件坐標(biāo)系,工件坐標(biāo)系與寫字板中心重合。建立以示教器上表面中心為原點(diǎn),ZL軸為垂直靶面且方向向里,XL軸與靶面靶邊平行且方向向右,再根據(jù)笛卡爾坐標(biāo)系右手定則建立靶面坐標(biāo)系。經(jīng)過平移、旋轉(zhuǎn)操作使世界坐標(biāo)系與示教坐標(biāo)系重合,可得到示教器坐標(biāo)系與工件坐標(biāo)系重合的旋轉(zhuǎn)參數(shù)(α,β,γ)。
圖5 位姿表示
記OL在世界坐標(biāo)系上的點(diǎn)為Pi=(xi,yi,zi),P2在邊線的中點(diǎn)上,XL軸與下表面交點(diǎn)為P3。YL軸與下表面交點(diǎn)為P4,而將工件坐標(biāo)系與示教器坐標(biāo)系重合需要進(jìn)行兩個(gè)步驟。
(1)進(jìn)行平移,使工件坐標(biāo)系原點(diǎn)與示教器坐標(biāo)系原點(diǎn)進(jìn)行重合。平移向量為T。
(2)
(2)規(guī)定世界坐標(biāo)系旋轉(zhuǎn)順序?yàn)閅軸、X軸、Z軸,使工件坐標(biāo)系與示教器坐標(biāo)系重合。
將世界坐標(biāo)系繞Y軸旋轉(zhuǎn)β角,根據(jù)歐拉旋轉(zhuǎn)定理[10],則有旋轉(zhuǎn)矩陣RY(β)使特征點(diǎn)P2與YOX平面重合。
(3)
(4)
根據(jù)特征點(diǎn)P4的值求出β的值。當(dāng)求出的β值為負(fù)時(shí),β的值則為(β+π)。
(5)
將世界坐標(biāo)系繞X軸旋轉(zhuǎn)α角,則有旋轉(zhuǎn)矩陣RX(α)使示教器坐標(biāo)系的ZL軸與世界坐標(biāo)系的Z軸重合。
(6)
(7)
根據(jù)特征點(diǎn)P4的值求出α的值。當(dāng)求出的α值為負(fù)時(shí),α的值則為(α+π)。
(8)
將世界坐標(biāo)系繞Z軸旋轉(zhuǎn)γ角,則有旋轉(zhuǎn)矩陣RZ(γ)使得兩坐標(biāo)系重合。
(9)
(10)
根據(jù)特征點(diǎn)P3的值求出γ的值。
(11)
根據(jù)靶面尺寸和特征點(diǎn)P2、P3可以計(jì)算出示教器靶面中心的坐標(biāo),坐標(biāo)和旋轉(zhuǎn)參數(shù)(α,β,γ)反映了工件坐標(biāo)系和示教器坐標(biāo)系之間的關(guān)系。
虛擬拖動(dòng)示教方法基于雙目視覺技術(shù)及虛擬樣機(jī)技術(shù)實(shí)現(xiàn)機(jī)器人末端執(zhí)行器軌跡的規(guī)劃方法。具體操作如下:末端軌跡人工示教并通過雙目視覺的位姿獲取平臺(tái)捕捉示教的軌跡,獲得機(jī)器人末端執(zhí)行器的位姿數(shù)據(jù);分別建立工業(yè)機(jī)器人及末端執(zhí)行器的虛擬樣機(jī),并構(gòu)建虛擬環(huán)境中工業(yè)機(jī)器人基坐標(biāo)系與工件坐標(biāo)系的關(guān)系矩陣,實(shí)現(xiàn)工業(yè)機(jī)器人虛擬樣機(jī)及末端執(zhí)行器虛擬樣機(jī)的融合;以工件坐標(biāo)系為虛擬樣機(jī)全局坐標(biāo)系,使用末端位姿數(shù)據(jù)作為末端執(zhí)行器虛擬樣機(jī)的運(yùn)動(dòng)學(xué)仿真驅(qū)動(dòng)條件,使末端執(zhí)行器示教軌跡在虛擬環(huán)境中再現(xiàn)。由于工業(yè)機(jī)器人虛擬樣機(jī)及末端執(zhí)行器虛擬樣機(jī)的融合,工業(yè)機(jī)器人虛擬樣機(jī)隨末端執(zhí)行器的運(yùn)動(dòng)而轉(zhuǎn)動(dòng)相應(yīng)關(guān)節(jié),從而獲取機(jī)器人關(guān)節(jié)運(yùn)動(dòng)參數(shù)。其流程如圖6所示。
圖6 基于機(jī)器視覺的示教運(yùn)行流程
根據(jù)機(jī)器人基坐標(biāo)系和工具坐標(biāo)系定義分別在機(jī)器人虛擬模型中構(gòu)建基坐標(biāo)系XWYWZWOW、工具坐標(biāo)系XLYLZLOL。工具坐標(biāo)系在具體機(jī)器人中相對于基坐標(biāo)系相對固定。例如以機(jī)器人第六軸工具安裝法蘭中心為工具坐標(biāo)系原點(diǎn),則兩個(gè)坐標(biāo)系下的坐標(biāo)變換矩陣設(shè)為T0,令工具坐標(biāo)系XLYLZLOL下已知點(diǎn)為P0,則該點(diǎn)在基坐標(biāo)系XWYWZWOW下的坐標(biāo)為
(12)
根據(jù)靶面標(biāo)定方法可知,示教器靶面坐標(biāo)系XMYMZMOM相對工件坐標(biāo)系XGYGZGOG的坐標(biāo)已知。令工件坐標(biāo)系到機(jī)器人基坐標(biāo)系的變換矩陣為T1,則靶面坐標(biāo)系原點(diǎn)OM在基坐標(biāo)系下的坐標(biāo)為
(13)
在機(jī)器人虛擬拖動(dòng)示教模型中,若將靶面坐標(biāo)系某一已知狀態(tài)與機(jī)器人復(fù)位狀態(tài)下的工具坐標(biāo)系重合,如圖7所示,即點(diǎn)P0為工具坐標(biāo)系原點(diǎn)OL,且與靶面坐標(biāo)系原點(diǎn)OM重合,則根據(jù)坐標(biāo)變換關(guān)系式(1)和式(2)求出工件坐標(biāo)系相對機(jī)器人基坐標(biāo)系的變換矩陣T1,即可確定虛擬拖動(dòng)示教模型的工件在基坐標(biāo)系的位置。
圖7 坐標(biāo)原點(diǎn)之間的關(guān)系
根據(jù)變換矩陣T1確定工業(yè)機(jī)器人虛擬樣機(jī)、末端執(zhí)行器虛擬樣機(jī)及工件虛擬模型的坐標(biāo)關(guān)系,可以將末端姿態(tài)獲取的數(shù)據(jù)轉(zhuǎn)換成機(jī)器人的工具坐標(biāo)系運(yùn)動(dòng)輸入,實(shí)現(xiàn)機(jī)器人虛擬拖動(dòng)示教模型的構(gòu)建。
利用ADAMS軟件進(jìn)行虛擬模型的拖動(dòng),需要在軟件中對虛擬樣機(jī)機(jī)器人的關(guān)節(jié)添加運(yùn)動(dòng)副,以及在機(jī)器人末端執(zhí)行器的運(yùn)動(dòng)副中添加驅(qū)動(dòng)時(shí)間函數(shù),驅(qū)動(dòng)完成后才能使機(jī)器人運(yùn)動(dòng)起來。添加該機(jī)器人的運(yùn)動(dòng)副類型主要涉及固定副與轉(zhuǎn)動(dòng)副,機(jī)器人關(guān)節(jié)均為轉(zhuǎn)動(dòng)副,將底座進(jìn)行固定添加驅(qū)動(dòng)時(shí)間函數(shù)則為機(jī)器人末端驅(qū)動(dòng)的條件。
模型上定義驅(qū)動(dòng)是將運(yùn)動(dòng)副作進(jìn)一步約束,這種約束使構(gòu)件之間按照預(yù)期的規(guī)律運(yùn)動(dòng)。在機(jī)器人末端執(zhí)行器添加空間點(diǎn)驅(qū)動(dòng),驅(qū)動(dòng)函數(shù)由6組試驗(yàn)數(shù)據(jù)組成,利用多自由度驅(qū)動(dòng)的功能,定義3個(gè)平移驅(qū)動(dòng)及3個(gè)旋轉(zhuǎn)驅(qū)動(dòng),設(shè)置X向運(yùn)行的時(shí)間函數(shù)為CUBSPL(time,0,SPLINE_1X,0),其他5條樣條曲線如是設(shè)置,最終驅(qū)動(dòng)時(shí)間函數(shù)設(shè)置如圖8所示。
圖8 運(yùn)行時(shí)間函數(shù)的設(shè)置
空間點(diǎn)驅(qū)動(dòng)后得到機(jī)器人末端仿真軌跡,機(jī)器人末端執(zhí)行器完成預(yù)期目標(biāo)軌跡后,建立關(guān)節(jié)之間角度測量,主要內(nèi)容如下:分別找出關(guān)節(jié)質(zhì)心并建立Maker點(diǎn),找出兩關(guān)節(jié)之間連接線,根據(jù)兩關(guān)節(jié)質(zhì)心并在關(guān)節(jié)線上尋找合適的點(diǎn)構(gòu)成兩關(guān)節(jié)之間的測量角,依次構(gòu)建出6個(gè)關(guān)節(jié)之間的測量角度。
角度測量構(gòu)建完成后再次進(jìn)行仿真驅(qū)動(dòng)并輸出關(guān)節(jié)運(yùn)動(dòng)的角度隨時(shí)間變化曲線,以便實(shí)現(xiàn)機(jī)器人離線軌跡規(guī)劃編程。
示教實(shí)驗(yàn)以毛筆為末端執(zhí)行器,將毛筆與機(jī)器人執(zhí)行器相接并構(gòu)成新的機(jī)器人末端執(zhí)行器。獲得示教器靶面坐標(biāo)系與雙目視覺標(biāo)定坐標(biāo)系之間的歐拉角α、β、γ,即獲得機(jī)器人末端執(zhí)行器的位姿,獲得的示教器位姿如圖9所示。圖9中的6組數(shù)據(jù),前3組數(shù)據(jù)為靶面中心坐標(biāo)的位置,后3組為示教器靶面坐標(biāo)系與工件坐標(biāo)系之間的旋轉(zhuǎn)參數(shù)(α,β,γ)。
圖9 毛筆靶面識別結(jié)果
將6組數(shù)據(jù)分別保存到6個(gè)試驗(yàn)數(shù)據(jù)文本中。試驗(yàn)數(shù)據(jù)中第一列為時(shí)間,第二列為6組數(shù)據(jù)之間的一組數(shù)據(jù)。導(dǎo)入試驗(yàn)數(shù)據(jù)樣條曲線,其中圖10(a)為3條軸向位移與時(shí)間的變化曲線,圖10(b)為3個(gè)軸向轉(zhuǎn)角與時(shí)間的變化曲線。
圖10 示教器運(yùn)行時(shí)間函數(shù)的設(shè)置
對虛擬樣機(jī)機(jī)器人共添加了6個(gè)轉(zhuǎn)動(dòng)副和12個(gè)固定副。添加完成后需要對仿真模型進(jìn)行檢查,在機(jī)器人末端執(zhí)行器上添加驅(qū)動(dòng)點(diǎn)Maker46和末端軌跡輸出點(diǎn)Maker47,設(shè)定完成后模型如圖11所示。
圖11 ADAMS虛擬機(jī)器人模型
導(dǎo)出書寫“Z”過程的關(guān)節(jié)運(yùn)動(dòng)曲線,將機(jī)器人關(guān)節(jié)運(yùn)動(dòng)曲線依次命名為J1~J6。其中J1~J6隨時(shí)間的變化如圖12所示??梢钥闯鯦1~J6關(guān)節(jié)角度隨著時(shí)間持續(xù)變化,運(yùn)動(dòng)仿真過程中機(jī)器人關(guān)節(jié)無明顯抖動(dòng),且過程中運(yùn)動(dòng)平穩(wěn)。
圖12 機(jī)器人關(guān)節(jié)角度輸出曲線
進(jìn)行多次毛筆書寫示教并軌跡提取實(shí)驗(yàn)。如圖13為示教書寫“中”字完成后的圖像。圖13所示為機(jī)械臂末端軌跡,軌跡交叉著抬筆、書寫與點(diǎn)筆的痕跡。將仿真軌跡中多余的軌跡去除并構(gòu)成一條新的軌跡,并將新軌跡與示教進(jìn)行擬合,得到圖14(a3)(b3)(c3)。
圖13 毛筆末端仿真軌跡曲線
圖14 機(jī)械臂末端軌跡圖
實(shí)驗(yàn)結(jié)果表明:示教的軌跡與仿真軌跡趨勢相同,且仿真軌跡包含過程中書寫、提筆等詳細(xì)過程,完全記錄了書寫的過程,但也存在軌跡不重合的現(xiàn)象。通過分析,示教器為毛筆,毛筆筆頭柔性較大,仿真過程中無法體現(xiàn)毛筆筆頭的柔韌性,因而造成軌跡擬合的誤差,但示教的軌跡與仿真軌跡趨勢相同,表明示教軌跡滿足機(jī)器人拖動(dòng)軌跡的要求。
建立雙目視覺位姿獲取平臺(tái)和六自由度串聯(lián)機(jī)器人虛擬樣機(jī),通過機(jī)器視覺識別技術(shù)捕捉人工示教軌跡,將平臺(tái)捕捉的示教器的位姿數(shù)據(jù)賦予虛擬樣機(jī)機(jī)器人,并基于ADAMS進(jìn)行運(yùn)動(dòng)學(xué)仿真,仿真后采集到的關(guān)節(jié)數(shù)據(jù)可直接由于機(jī)器人編程。結(jié)果表明:通過機(jī)器視覺技術(shù),可方便、準(zhǔn)確、快捷將示教軌跡在虛擬樣機(jī)機(jī)器人中再現(xiàn),直觀了解機(jī)器人運(yùn)動(dòng)過程中各個(gè)關(guān)節(jié)及末端執(zhí)行器的運(yùn)動(dòng)狀態(tài),為機(jī)器人軌跡規(guī)劃及離線編程提供了依據(jù)。