王征兵,孫文磊
(新疆大學 機械工程學院,烏魯木齊 830046)
隨著汽車工業(yè)的不斷發(fā)展,噴涂機器人已經成為汽車制造環(huán)節(jié)中不可或缺的核心自動化裝備之一[1]。噴涂機器人的運動學分析是其動力學、運動控制和軌跡規(guī)劃的研究基礎,它包含了正運動學分析和逆運動學分析[2]。近年來,很多學者對機器人運動學都進行了研究,但研究對象相對老舊小眾。文獻[2]以IRB2400機器人為研究對象,采用傳統(tǒng)的矩陣逆運算方法進行運動學求解。文獻[3]對碼垛機器人應用BP神經網絡進行運動學求解。文獻[4]應用動態(tài)模糊神經網絡對KR16-2型機器人進行運動學求解。文獻[5]對BP神經網絡在機械手軌跡規(guī)劃中的應用方法做了可行性分析。但這些未能將運動學智能求解算法應用到廣泛使用的新型噴涂機器人當中。IRB4400噴涂機器人是ABB公司的一種機身緊湊型機器人,在車間噴涂過程中可有效節(jié)省空間,而以往文獻中缺乏對該型噴涂機器人的運動學研究。因此對其進行運動學分析和仿真在科學研究和實際應用中具有十分重要的意義。
ABB公司的IRB4400型噴涂機器人是具有6個自由度的關節(jié)型機器人,它由底座、髖關節(jié)、肩關節(jié)、肘關節(jié)、腕關節(jié)和噴槍組成,每個旋轉關節(jié)都是一個自由度。其本體結構和旋轉關節(jié)如圖1所示。
圖1 IRB4400噴涂機器人本體結構
在對機器人進行運動學分析之前,首先要根據機器人的結構參數建立其數學模型。采用D-H法對該型噴涂機器人進行數學建模。建系主要原則為Xi和Zi-1垂直且相交,Yi根據右手規(guī)則確定[1]。建立的簡化模型和D-H坐標系如圖2所示。
圖2 機器人簡化模型和D-H坐標系
根據IRB4400機器人的連桿參數和圖2所建坐標系可得其D-H參數如表1所示。表中連桿參數具體表示含義為:關節(jié)轉角θi(°),關節(jié)距離di(mm),連桿長度ai(mm),連桿扭角αi(°)。
表1 IRB4400機器人D-H參數
(1)
nx=S6(C4S1+S4(C1S2S3-C1C2C3))+
C6(C5(S1S4-C4(C1S2S3)-C1C2C3))-
S5(C1C2S3+C1C3S2)
(2)
ny=-S6(C1C4-S4(S1S2S3-C2C3S1))-
C6(C5(C1S4+C4(S1S2S3-C2C3S1))+
S5(C2S1S3+C3S1S2))
(3)
nz=S23S4S6-C6(C23S5+S23C4C5)
(4)
ox=C6(C4S1+S4(C1S2S3-C1C2C3))-
S6(C5(S1S4-C4(C1S2S3-C1C2C3))-
S5(C1C2S3+C1C3S2))
(5)
oy=S6(C5(C1S4+C4(S1S2S3-C2C3S1))+
S5(C2S1S3+C3S1S2))-
C6(C1C4-S4(S1S2S3-C2C3S1))
(6)
oz=S6(C23S5+S23C4C5)+S23C6S4
(7)
ax=-S5(S1S4-C4(C1S2S3-C1C2C3))-
C5(C1C2S3+C1C3S2)
(8)
ay=S5(C1S4+C4(S1S2S3-C2C3S1))-
C5(C2S1S3+C3S1S2)
(9)
az=S23C4S5-C23C5
(10)
px=200C1+890C1C2-150C1S2S3-140S1S4S5-
140S23C1C5+150C1C2C3-880C1C2S3-
880C1C3S2-140C1C2C3C4S5+140C1C4S2S3S5
(11)
py=200S1+890C2S1-880C2S1S3-880C3S1S2+
140C1S4S5-150S1S2S3-140S23C5S1+150C2C3S1-
140C2C3C4S1S5+140C4S1S2S3S5
(12)
pz=70S23S45-150S23-890S2-70S4-5S23-
880C23-140C23C5+680
(13)
在Robotics Toolbox中根據表1中D-H參數建立IRB4400噴涂機器人仿真連桿模型[6],并輸入給定的6個初始關節(jié)角度分別為0,pi/2,0,0,pi,0,得到其初始狀態(tài)的仿真連桿模型如圖3所示。
圖3 IRB4400機器人仿真圖
可見圖3中的仿真連桿模型和圖2中所建的D-H坐標簡化模型相同,并在輸入初始各關節(jié)角后得到了機器人末端位置和姿態(tài),驗證了機器人正運動學分析和建模的正確性。
機器人逆運動學分析問題的實質就是由笛卡爾空間向關節(jié)空間的非線性映射問題。傳統(tǒng)的求解方法主要有封閉解法和數值解法,這些方法雖然可以進行機器人逆運動學求解,但在實際求解過程中運算復雜,且可能存在多個解,不便于應用[7]。而BP神經網絡具有逼近任何復雜的非線性系統(tǒng)的能力,所以應用BP神經網絡智能算法進行機器人逆運動學的分析求解具有很大的優(yōu)勢。
BP神經網絡是一種按照誤差逆向傳播算法訓練的多層前饋網絡,它能學習和存貯輸入輸出數據的映射關系,但不需要表示出這種關系的數學方程。它的學習算法是使用最速下降法,通過反向傳播來不斷調整網絡的權值和閾值,使網絡的誤差平方和最小[3]。其結構一般有三層,即為:輸入層,隱含層和輸出層。
在Matlab的神經網絡工具箱中,對IRB4400機器人逆運動學的求解問題進行BP網絡的建立,訓練及預測仿真的算法流程如圖4所示。
圖4 BP神經網絡算法流程圖
BP網絡輸入端為機器人末端位姿矩陣表達式(2)~式(13),輸出端為機器人的6個關節(jié)角數據。但在構建BP網絡時輸入端數據太多,會使網絡過于復雜不便于實際應用,所以可將末端位姿矩陣式(2)~式(10)按照ZYZ歐拉角變換得到α,β,γ這3個參數形式,其具體變換式如下[6]:
α=Atan2(ay,ax)
β=Atan2(axcosα+aysinα,az)
γ=Atan2(-nxsinα+nycosα,
oycosα-oxsinα)
(14)
隱含層節(jié)點的主要功能是選取并保存訓練樣本的內在規(guī)律,過少的節(jié)點會使網絡不能全面概括樣本規(guī)律;過多的節(jié)點則會降低網絡泛化能力,造成訓練時間的延長。在實際應用中,隱含層節(jié)點的個數可以通過下面的經驗公式(15)來計算[5]:
(15)
式中,n為輸入層節(jié)點數,l為輸出層節(jié)點數,分別取為6,α=1~10。代入得到m的范圍為5~13。根據試驗確定最佳隱含層為1層,節(jié)點個數為7,最終得到BP神經網絡結構如圖5所示。
圖5 逆運動學求解BP神經網絡結構圖
輸入層節(jié)點的傳遞函數選擇對數S型傳遞函數logsig,輸出層節(jié)點的傳遞函數選擇線性傳遞函數purelin。由于LMBP算法是一種既有高斯-牛頓法的局部收斂性,又具有梯度下降法的全局特性的數值優(yōu)化快速算法,它比梯度法快得多。所以,訓練函數選擇LMBP算法訓練函數trainlm。網絡學習函數選擇動量梯度下降權值和閾值學習函數learngdm[8]。構建好的BP網絡Matlab代碼如下:
net=newff(inputn,outputn,7,{′logsig′,′purelin′},′trainlm′,′learngdm′)
對機器人各關節(jié)變量θi在其關節(jié)角范圍內分別取不同值,組合得到5000組關節(jié)角(θ1,θ2,θ3,θ4,θ5,θ6)。然后在MATLAB Robotics Toolbox 中由機器人正運動學解表達式(11)~式(13)和歐拉角變換式(14)得到5000組輸入數據(α,β,γ,px,py,pz)。為了避免不同量綱的樣本數據對網絡訓練效果產生較大的影響,需要對樣本原始數據按照下式進行歸一化處理。
(Xi-Xmin)/(Xmax-Xmin)
(16)
最后隨機選擇4900組數據作為神經網絡的訓練樣本,100組數據作為網絡的測試樣本,設置網絡迭代次數為100,學習速率為0.001,學習精度為0.0001。至此,BP網絡逆運動學求解的前期工作準備完畢。
根據所建的BP神經網絡和數據樣本在Matlab中進行編程仿真分析,結果見圖6。
圖6 BP網絡訓練過程均方差下降曲線
圖6所示為LMBP算法訓練函數trainlm的訓練過程曲線。分析圖中結果可知,樣本訓練和測試過程的均方差在迭代8次后可達1.9739×10-6,能夠快速達到預設精度。
根據測試樣本由BP神經網絡可以得出100組6個關節(jié)角的預測輸出,為了更清楚直觀地表示預測輸出關節(jié)角和期望輸出關節(jié)角的契合程度,這里只取出關節(jié)角3的預測輸出數據和測試樣本數據進行對比分析,如圖7所示。由圖可直觀地觀察到預測關節(jié)角和期望關節(jié)角基本重合。
圖7 關節(jié)角3的預測輸出和期望輸出
為了更加清楚地表示關節(jié)角3的預測輸出與期望輸出關節(jié)角之間的契合程度,需要進行誤差分析,一般來說,相對誤差更能反映出網絡預測的可信程度。通過觀察,相對誤差如圖8所示最高不超過3%,根據工程經驗,一般相對誤差不超過5%即可視為有效數據。
圖8 關節(jié)角3 的BP網絡預測相對誤差
通過上述仿真結果及仿真數據分析可知,BP神經網絡用于IRB4400噴涂機器人逆運動學求解,仿真結果能夠達到噴涂作業(yè)的要求,其仿真分析具有參考意義。
機器人的工作空間是機器人末端能夠到達的所有空間位置點的集合。工作空間的大小代表了機器人的活動范圍,其在運動學分析及軌跡規(guī)劃中有重要意義。為了對噴涂機器人正運動學的分析結果進行直觀的驗證,采用蒙特卡洛法對IRB4400噴涂機器人的工作空間進行仿真[9]。采用蒙特卡洛法分析機器人工作空間的具體方法如下:
(1)利用機器人正運動學方程,在Matlab中求出機器人末端位置坐標的方程;
(2)在IRB4400機器人各關節(jié)角規(guī)定范圍內依照下式:
(17)
(3)將各隨機關節(jié)變量代入機器人末端位置坐標方程中即可得到機器人工作空間。
通過Matlab編程仿真,得到三維工作空間和XOY平面工作空間投影如圖9所示。
圖9 機器人工作空間和XOY平面投影仿真圖
可以直接觀察到IRB4400噴涂機器人的工作空間,直觀地驗證了機器人正運動學分析的正確性,并為后面的運動軌跡規(guī)劃做好了準備。
在IRB4400機器人的工作空間內選取機器人末端的兩個位姿矩陣T1和T2,將矩陣元素進行ZYZ歐拉角變換,得到含有6個位姿元素(α,β,γ,px,py,pz)的兩組矩陣分別為:
T1(-2.9437,-0.5421,0.0501,-0.5649,-0.1084,2.2895)
T2(-2.8831,0.2136,0.0316,286.7460, -33.9028,162.1481)
取100個時間步長{0:0.05:5}(單位s)作為插值節(jié)點,用標量插補函數tpoly在兩組位姿矩陣元素之間進行5次多項式平滑插值處理[6],得到100組位姿元素插值點。然后將這些位姿元素插值點按前述方法進行歸一化處理,將其作為訓練好的BP神經網絡的輸入端元素,進行網絡預測求解,得到機器人分別處于這100組位姿時的各關節(jié)角度。
再用解得的各關節(jié)角在Matlab的機器人工具箱中對IRB4400機器人進行驅動仿真,初始和終止速度設置為零[10],然后用plot繪圖命令就可以得到機器人末端軌跡圖和運動仿真過程的各關節(jié)角度,角速度和角加速度曲線圖如圖10所示。
圖10 機器人運動軌跡仿真圖
觀察運動仿真圖,BP神經網絡預測求解得到的各關節(jié)角度,角速度和角加速度曲線平滑而連續(xù),沒有關節(jié)突變現(xiàn)象產生,滿足機器人運行穩(wěn)定,沖擊振動小的原則,驗證了BP神經網絡對IRB4400噴涂機器人進行逆運動學求解的有效性,避免了大量的矩陣逆運算和繁瑣的計算公式,提高了運動學求解效率,便于實時控制。
對IRB4400噴涂機器人進行了結構參數分析,建立了其D-H數學模型,在Robotics Toolbox中,編寫Matlab程序進行了正運動學分析,得到了初始狀態(tài)下的仿真連桿模型,與所建的D-H簡化模型相同;針對一般機器人逆運動學求解方法復雜低效的問題,研究了BP神經網絡算法在該型機器人逆運動學求解中的應用,得到了網絡預測輸出關節(jié)角和期望輸出關節(jié)角對比圖,分析結果,其預測精度可滿足噴涂作業(yè)要求;并基于蒙特卡洛法編程實現(xiàn)了該型機器人的工作空間仿真,直觀地驗證了正運動學分析結果的正確性;最后通過運動軌跡仿真,得到了機器人末端運動軌跡、各關節(jié)角、角速度和角加速度平滑連續(xù)的曲線,滿足機器人運行穩(wěn)定,沖擊振動小的原則,驗證了逆運動學算法的有效性。以上分析結果提高了該新型噴涂機器人的運動學求解效率,對IRB4400噴涂機器人實際編程作業(yè)效率的提高具有參考性價值。