邢紅輝,王保升,洪 磊,左健民,石朗春
(1.南京工程學院智能制造裝備研究院,江蘇 南京 211167)(2.江蘇省智能制造裝備工程實驗室,江蘇 南京 211167)(3.江蘇省先進數(shù)控技術重點實驗室,江蘇 南京 211167)
隨著中國制造2025的提出,科技水平的不斷提升大大推動了我國的工業(yè)化。工業(yè)化水平的提高,生產(chǎn)技術的不斷更新,使得產(chǎn)業(yè)向著自動化的方向不斷發(fā)展。產(chǎn)業(yè)的自動化,需要工業(yè)機器人加入,從而促進了工業(yè)機器人的發(fā)展[1]。比如在自動化生產(chǎn)線上,用焊接機器人逐步取代人工焊接,這不但降低了勞動成本,而且還能提高焊接的效率與質(zhì)量。在相對比較惡劣的環(huán)境下,機器人也能高效地完成焊接作業(yè)。針對現(xiàn)有的焊接機器人都具有的示教效率低、實驗時間長等缺點,可以利用仿真軟件模擬機器人的焊接過程,通過分析實驗數(shù)據(jù)來評價焊接方案的可行性,從而減少實驗時間,提高作業(yè)效率[2]。
本文研究的ABB1410機器人是由腰關節(jié)回轉(zhuǎn)(腰部)、肩關節(jié)俯仰(大臂)、肘關節(jié)俯仰(小臂)、腕關節(jié)回轉(zhuǎn)(手腕)、腕關節(jié)俯仰(手腕)、腕關節(jié)側擺(手腕)6個轉(zhuǎn)動關節(jié)組成的。焊接實驗中機器人在腕關節(jié)處安裝焊槍,在肘關節(jié)處安裝送絲機。根據(jù)標準的D-H[3]參數(shù)法,給ABB1410機器人建立必要的坐標系,并選取機器人腰關節(jié)坐標系作為基坐標系以簡化運算。圖1所示為機器人坐標系的簡化線圖。
圖1 ABB1410機器人D-H坐標系簡化線圖
根據(jù)機器人的整體結構和建立的簡化坐標系,得出機器人連桿參數(shù)和關節(jié)變量,見表1。
在確定全部的連桿坐標系后,根據(jù)相鄰兩連桿i與(i-1)之間的相對關系[4](式(1)),將表1中關節(jié)轉(zhuǎn)角θi、距離di、桿長ai、扭角αi代入計算,得到六自由度機器人的運動學方程(式(2))[5]。
表1 ABB1410機器人連桿D-H參數(shù)表
(1)
式中:i-1Ti為齊次變換矩陣,表示i連桿件坐標系相對于(i-1)連桿坐標系的方向與位置;Rz(θi)為xi-1軸和xi軸之間關于zi-1軸的角度;Dz(di)為沿zi-1軸,(i-1)坐標系原點到xi軸的距離;Dx(ai)為沿xi-1軸,zi-1坐標系原點到zi軸的距離;Rx(αi)為zi-1軸和zi軸之間關于xi軸的角度。
利用MATLAB編程計算機器人末端坐標系相對基座標系的變換矩陣,即六自由度機器人的運動學方程為:
(2)
式中:nx,ny,nz,ox,oy,oz,dx,dy,dz描述的是末端連桿相對于參考坐標系的姿態(tài);px,py,pz表示的是機器人末端連桿相對于參考坐標系的位置;Ci=cosθi,Si=sinθi(i=1,2,3,4,5,6)。
為了方便研究ABB1410焊接機器人在移動過程中末端位置的軌跡曲線,可以先建立機器人模型。根據(jù)表1中相關數(shù)據(jù),利用MATLAB中的Robotics Toolbox工具箱,調(diào)用link函數(shù),建立ABB1410焊接機器人的模型(如圖2所示)。以下是相應的程序:
圖2 ABB1410焊接機器人三維模型
L1=link([ 0 0.475 0.15 -pi/2 0 ]);
L2=link([ -pi /2 0 0.6 0 0 ]);
L3=link([ 0 0 0.12 -pi/2 0 ]);
L4=link([ pi 0.72 0 -pi/2 0 ]);
L5=link([ 0 0 0 pi/2 0 ]);
L6=link([ 0 0.085 0 0 0 ]);
robot=SerialLink({ L1 L2 L3 L4 L5 L6 });
robot.name = ‘ABB1410機器人’;
teach( r,[0-pi /2 0 pi 0 0]) ;
圖2中右圖所示是ABB1410機器人的初始狀態(tài),圖左上方的數(shù)字表示的是機器人模型末端位置與姿態(tài)。通過驅(qū)動圖中左下方的滑塊,可以轉(zhuǎn)動機器人的各個關節(jié),其中移動滑塊1,2,3可以改變機器人模型的末端位置,而滑塊4,5,6是用來調(diào)整機器人的末端姿態(tài)。
模型建立后,需要確定建立的模型是否正確,這樣就要用到工具箱Robotics Toolbox中的fkine模塊。至于驗證內(nèi)容,一方面是對機器人的正運動結果進行驗證,另一方面是驗證模型建立的準確度[6]。首先,在工作范圍內(nèi)任意給定機器人6個關節(jié)變量qb,然后調(diào)用fkine(r,qb)函數(shù),就可以得到ABB1410機器人模型的末端位姿。假設關節(jié)向量qb=[pi/4 -pi/3 pi/6 pi/4 -pi/3 pi/6],經(jīng)過MALTAB編程計算返回末端坐標系的變換矩陣T6;接著將關節(jié)向量qb代入式(2)中,同樣也能得到末端坐標系相對于基礎坐標系的變換矩陣。通過對比,可知計算得到的結果與上述結果是一致的,證明機器人模型建立成功,同時也證明正運動學方程是正確的。
在MATLAB軟件的Robotics Toolbox工具箱中用來規(guī)劃機器人的關節(jié)空間軌跡的函數(shù)是jtraj。其原理是根據(jù)已知的初始與終止的關節(jié)角度,以及運動的持續(xù)時間,通過轉(zhuǎn)動機器人的關節(jié)角度,使得末端連桿移動。而平滑變化的關節(jié)角被分成兩路傳送,一路傳送到plot模塊中,該模塊能在一個單獨的窗口中顯示機器人運動過程的畫面;一路傳送到fkine模塊中,用來求解機器人的正運動學方程[7]??梢韵燃僭Oqa,qb為ABB1410機器人的起始位置與終止位置的關節(jié)向量,利用已建立的機器人模型,進行機器人末端位置的軌跡曲線仿真,得到如圖3所示的ABB1410機器人末端空間軌跡曲線。軌跡規(guī)劃程序如下:
t=[0:0.056:2];
qa=[0 -pi/2 0 pi 0 0];
qb=[pi/4 -pi/3 pi/6 pi/4 -pi/3 pi/6];
[q,qd,qdd]=jtraj(qa,qb,t);
T=robot.fkine(r,q);
圖3 ABB1410機器人末端空間軌跡曲線
通過MATLAB簡單編程運行,得到的機器人移動軌跡是從初始位置到終止位置的一條圓弧,實現(xiàn)了機器人關節(jié)的空間軌跡規(guī)劃。同時還可以利用fkine函數(shù)求解正運動學方程,計算可得機器人的任一關節(jié)的角位移、角速度和角加速度。圖4所示為ABB1410機器人末端的位置在3個坐標軸上的投影坐標隨時間變化的曲線,從曲線的變化可以看出機器人末端運動平穩(wěn)且連續(xù)。圖5所示為ABB1410機器人模型中關節(jié)2的角位移、角速度、角加速度隨時間變化的曲線,從圖中可以看出,關節(jié)2的速度、角速度隨著時間變化連續(xù)而且平緩。經(jīng)仿真可知,ABB1410機器人在進行實際焊接作業(yè)時,末端焊槍的移動是平緩的,機器人的6個關節(jié)以及運動部件的運動也是相對穩(wěn)定的。
圖4 機械人末端執(zhí)行器坐標變化曲線
本實驗裝置包括ABBR1410機器人、焊槍、焊接件、實驗平臺等。
圖5 關節(jié)2角位移、角速度、角加速度隨時間變化曲線
實驗步驟:1)確定實際作業(yè)時ABB1410機器人與焊接件之間的相對位置,讓機器人對焊接件位置進行采點,通過得到的點的位置擬合出焊接件相對于機器人基坐標系的位置;2)根據(jù)得到的ABB1410機器人與焊接件之間的相對位置關系,在SolidWorks軟件中對ABB1410機器人與焊接件進行三維建模并確定兩者之間的位置;3)設定機器人腰關節(jié)的運動坐標系為基坐標系,并在三維模型中提取焊縫上特征點的三維坐標;4)如圖6所示,利用ABB1410機器人對實際焊接的焊縫進行采點,最后分別從建模與實物上取10組點的三維坐標,見表2。
圖6 ABB1410機器人焊接實物圖
表2 建模采點值與實物采點值比較
比較兩組點的起點與終點的三維坐標,根據(jù)式(4)分別計算點的x,y,z坐標的誤差。
(4)
式中:Δ誤差為模型點與實物點的坐標誤差;psim為模型中軌跡點的坐標;pact為實物中軌跡點的坐標。
通過計算可知,起點與終點的位置存在誤差(見表3),但是誤差較小,誤差的來源可能是實際驅(qū)動機器人采點位置時出現(xiàn)的不準確。
表3 仿真與實物中軌跡起點與終點的誤差
只計算起始點的誤差并不能得到2條軌跡的誤差,也不足以證明仿真軌跡與實物軌跡具有良好的一致性。但是由于在軌跡上取點位置的不統(tǒng)一,不能直接比較除起點與終點以外的8組點。這里可以使用MATLAB中的擬合工具箱,利用得到的2組10個點擬合出軌跡曲線進行比較。從圖6實物圖中可以看出,焊接軌跡上的點基本屬于同一水平面;從表2可知,無論是建模采點還是實物采點,在z軸方向的變化都較小且保持在623左右也說明了這一點。因此先將z軸坐標的變化忽略不計,只研究點的x與y坐標。利用MATLAB中擬合工具箱得到兩組點的x與y坐標的擬合公式:
(5)
(6)
式中:xsim和ysim為從模型中提取的坐標數(shù)值;xact和yact為從實物中提取的坐標數(shù)值。
令橫坐標xsim=xact,計算2個擬合公式中的縱坐標,通過對比縱坐標的值,來確定由2條軌跡上的點分別擬合而成的方程的誤差。任意取xsim=xact=1 015mm代入式(5)和式(6),得到:
ysim=157.23mm
yact=159.76mm
(7)
通過式(7)計算結果可知2個擬合公式中取同一橫坐標時,縱坐標相對誤差較小。2個擬合公式是根據(jù)2條軌跡上取得的點得到的,這結果表明2條軌跡曲線上橫坐標相同的點,它們的縱坐標的相對誤差比較小。
根據(jù)所得到的點的x與y坐標的相互關系,利用MATLAB中的工具箱繪制出擬合的曲線,如圖7所示。圖7(a)是從ABB1410機器人與焊接件的模型上提取的三維坐標點擬合的軌跡曲線;圖7(b)是實際中驅(qū)動ABB1410機器人從焊接件上提取的焊縫點,并由這些點擬合而成的軌跡曲線。從2條軌跡曲線的對比來看,軌跡曲線總體相似,但是2條軌跡曲線上橫坐標相同的點,它們的縱坐標還是存在相對誤差。根據(jù)2條軌跡曲線的擬合公式(5)與(6),計算得到的結果(式(7) )表明兩者之間誤差比較小,從而證明三維建模上的軌跡曲線與實際中的曲線具有良好的一致性。與此同時,實驗還證明了在MATLAB中研究機器人的軌跡規(guī)劃以及仿真的可行性。
圖7 軌跡擬合曲線圖
本文主要研究仿真軟件中模擬焊接機器人的軌跡規(guī)劃,傾向于理論方面的研究。文中得到的機器人末端的關節(jié)空間運動的軌跡曲線,以及末端位
置在三坐標軸上的投影點的時間變化曲線和關節(jié)2的角位移、角速度、角加速度變化曲線,表明機器人在空間運動時運動連續(xù)且平穩(wěn),符合焊接工業(yè)機器人實際作業(yè)時各部件運動平緩的要求,為后續(xù)的實驗提供了理論分析依據(jù)。
本文通過對比由兩種方式得到的同一軌跡曲線,可知利用SolidWorks建立的三維模型中仿真焊縫軌跡與實際焊縫軌跡具有良好一致性,證明利用仿真軟件進行軌跡規(guī)劃具有較高的精度,可為后續(xù)的離線編程提供三維模型與軌跡規(guī)劃仿真的理論基礎,同時也驗證了在MATLAB中研究機器人的軌跡規(guī)劃以及仿真的可行性。