韓亞軍,劉家英
(1.重慶城市職業(yè)學院信息工程系,重慶永川402160;2.重慶城市職業(yè)學院基礎教學部,重慶永川402160)
隨著中國制造業(yè)的發(fā)展,中國已經(jīng)成為全球制造業(yè)中心,將由制造大國轉(zhuǎn)變成為制造強國。近些年,工業(yè)機器人產(chǎn)業(yè)得到了迅速發(fā)展,廣泛應用于汽車制造、金屬加工及塑料成型等許多領(lǐng)域,今后將應用于更多的領(lǐng)域。由此可見,機器人在社會發(fā)展中起到了很大的促進作用,對于人類開辟新的產(chǎn)業(yè),在提高人們生活水平方面具有重要的意義。
工業(yè)機器人,又稱機械臂,包含機械系統(tǒng)、控制系統(tǒng)、電氣系統(tǒng)、計算機系統(tǒng)、傳感器系統(tǒng)等多個學科領(lǐng)域[1-2]。為了使機器人能夠在復雜環(huán)境中完成任務,對機器人的綜合性能提出了更高的要求。只有從機器人的結(jié)構(gòu)、控制系統(tǒng)性能及傳感器性能等多方面進行改造,才能提高機器人運動精度。但是,機器人具有高度耦合和非線性特性,控制難度較大。因此,需要對工業(yè)機器人軌跡跟蹤控制進行深入研究和分析,優(yōu)化出最佳參數(shù),從而提高機器人運動的穩(wěn)定性和跟蹤精度。
當前,為了提高工業(yè)機器人的運動軌跡精度,使工業(yè)機器人加工產(chǎn)品精度更高,國內(nèi)外許多科研人員從多角度對工業(yè)機器人運動軌跡展開了研究。例如:文獻[3-4]研究了工業(yè)機器人在電機外殼生產(chǎn)線中的應用,分析了電機外殼零件數(shù)控加工工藝,采用可編程控制系統(tǒng),設計出機器人自動上下料的運動軌跡,實現(xiàn)數(shù)控機床與機器人的完美組合,提高了數(shù)控機床的安全性和加工精度。文獻[5-6]研究了機器人運動軌跡規(guī)劃方法,創(chuàng)建了機器人運動仿真界面,引用三次多項式對機器人關(guān)節(jié)運動角位移進行規(guī)劃,設計了數(shù)字運動控制的插補算法,通過實驗驗證機器人運動曲線的變化效果,從而達到了機器人設計精度的預期要求。文獻[7-8]研究了經(jīng)濟性工業(yè)機器人路徑規(guī)劃設計方法,根據(jù)D-H方法建立機器人動力學數(shù)學模型,推導出機器人末端執(zhí)行器運動方程式,使用Matlab軟件對機器人進行仿真驗證,得到機器人各個關(guān)節(jié)角位移變化曲線,提高了工業(yè)機器人運動軌跡精度。以往設計出的工業(yè)機器人控制系統(tǒng),在一定程度上提高了工業(yè)機器人運動精度,但是隨著社會的發(fā)展,人們對工業(yè)機器人加工產(chǎn)品的精度要求越來越高,現(xiàn)有的加工精度很難滿足人們的需求。對此,本文建立了工業(yè)機器人三維模型,根據(jù)D-H方法推導出機器人運動角位移方程式,為了提高機器人運動精度,引用B樣條曲線設計機器人運動軌跡,采用混合算法對工業(yè)機器人運動軌跡進行優(yōu)化,通過Matlab軟件對工業(yè)機器人運動角位移跟蹤誤差進行仿真,與優(yōu)化前輸出誤差進行比較和分析,為提高工業(yè)機器人對產(chǎn)品加工精度提供理論依據(jù)。
本文研究的工業(yè)機器人具有6個自由度,其機構(gòu)如圖1所示。根據(jù)D-H方法和坐標變換矩陣乘積,可以推導出機器人正運動學方程式[9-10]為
式中:nj,oj,aj為末端坐標系姿態(tài);θi為相鄰連桿之間的夾角;pj為末端點在基坐標系中的空間位置;為相鄰坐標系之間的齊次變換矩陣,i=1,2,…,6,j=x,y,z。
圖1 工業(yè)機器人Tab.1 Industrial robot
采用逆矩陣01T-1乘以式(1)兩端,經(jīng)過變化后,可得
同理,可以求得其他連桿的角位移為
式中:si為 sinθi;ci為 cosθi;d2,d4分別為第 2 個、第4個連桿偏離距離;ai為連桿長度;
采用非均勻B樣條對機器人關(guān)節(jié)路徑點進行插值運算,第j關(guān)節(jié)第i段k次非均勻B樣條[11-12]運動軌跡方程式為
式中:Vj,r為j關(guān)節(jié)的控制點;Br,k(u)為k次規(guī)范 B樣條基函數(shù)。
對于每一個規(guī)范B樣條曲線,定義如下:
本文設置k=5,ui≤ui+1為非遞減參數(shù),Bi,k(u)的區(qū)間為[ui,ui+k+1],共有k+2個節(jié)點,對于m-1+k個控制點,相應有m-1+k個規(guī)范B樣條。對于節(jié)點矢量,可以寫成U=[u1,u2,…,um+2k]。規(guī)范定義域 為u1=u2=…=uk+1=0,um+k=um+k+1=…=um+2k=1,通過時間序列T=[t1,t2,…,tm]進行求解。通過對時間序列進行歸一化處理后,得到內(nèi)節(jié)點值為
通過對機器人角位移求導,可以推導出速度和加速度方程式為
為了得到角加速度的連續(xù)性,對非均勻五次B樣條曲線采用插值法,角位移運動路徑點方程式為
式中:u5+i[∈u5+1,…,u5+m],i=1,2,…,m,j=1,2,…,6。
為了使起停角速度和角加速度值為零,根據(jù)邊界條件可以得
最終可以得出矩陣方程式為
式中:Dj=[Vj,1,Vj,2,…,Vj,m+6]T;Pj=[Q1j,Q2j,…,QmjωsjωejasjaejVj,m+6]T;Aj為上述m+6 個方程的矩陣系數(shù)。
2.2.1 差分進化算法
差分進化算法通過變異、交叉與選擇操作,從而搜索到全局最優(yōu)解,具體操作步驟如下:
步驟1變異操作。若種群中隨機產(chǎn)生的個體為xi,通過變異后得到新的個體為vi,變異表達式[13]為
式中:F1,F(xiàn)2為縮放因子;i∈[1,2,…,N];r1,r2∈[1,2,…,N],N為種群大小。
步驟2交叉操作。將新的個體vi與原來個體進行交叉操作再得到新的個體,交叉操作表達式[13]為
式中:q為區(qū)間[0,1]的隨機數(shù);λ為交叉概率因子;jq為區(qū)間[0,D]的隨機整數(shù),D為粒子維數(shù)。
步驟3選擇操作。對比ui和xi值,選擇較優(yōu)的進入下一輪進化中。
2.2.2 粒子群算法(PSO)
粒子群算法通過更新迭代粒子速度和位置來搜索空間內(nèi)的最優(yōu)解,其更新迭代公式[14]為
式中:i=1,2,…,N;j=1,2,…,D;N為種群數(shù)量;ω為區(qū)間[0,1]慣性權(quán)重;C1,C2為區(qū)間[0,2]學習因子;q1,q2為區(qū)間[0,1]隨機數(shù)。
為了更好地調(diào)整局部、全局搜索能力,對慣性權(quán)重系數(shù)ω進行如下修改:
式中:ω0為初始權(quán)重;ω1為最終權(quán)重;k為當前迭代次數(shù);Tmax為最大迭代次數(shù)。
2.2.3 機器人軌跡混合算法優(yōu)化
混合算法優(yōu)化步驟如下:
步驟1對種群大小N進行初始化;
步驟2進行變異、交叉和選擇操作;
步驟3根據(jù)適應度值,比較最優(yōu)值,更新當前個體最優(yōu)值pi與全局最優(yōu)值gj;
步驟4若滿足優(yōu)化條件,則停止迭代,若不滿足優(yōu)化條件,則繼續(xù)迭代,直到達到最大迭代次數(shù)為止;
步驟5根據(jù)步驟4粒子的最終收斂位置向量,即為路徑點的時間間隔序列T=[t1,t2,…,tm],進行5次非均勻B樣條插值,最終可以得到機器人運動的角位移、角速度和角加速度曲線。
采用混合優(yōu)化算法對工業(yè)機器人運動軌跡參數(shù)進行優(yōu)化,初始條件設置:種群數(shù)量設置為100,最大迭代次數(shù)設置為300,權(quán)重系數(shù)分別為ω0=0.90和ω1=0.4,學習因子取值為C1=C2=2,隨機數(shù)取值為q1=q2=1,交叉概率取值為0.02,變異概率取值為0.75,采用混合算法優(yōu)化迭代曲線如圖2所示。
圖2 混合算法優(yōu)化迭代曲線Tab.2 Optimizes iteration curve of hybrid algorithm
混合算法的迭代次數(shù)對機器人運動軌跡搜索到全局最優(yōu)值具有重要的影響。由圖2可知,采用混合算法優(yōu)化B樣條曲線,迭代次數(shù)達到66次后,就處于收斂情況,也就是搜索到最佳值;而采用粒子群算法優(yōu)化B樣條曲線,迭代次數(shù)達到140次后才處于收斂情況,也就是搜索到最佳值。因此,混合算法優(yōu)化效果較好。
為了比較優(yōu)化前與優(yōu)化后工業(yè)機器人關(guān)節(jié)運動軌跡變化情況,采用Matlab軟件對工業(yè)機器人關(guān)節(jié)運動軌跡變化曲線進行仿真驗證,假設工業(yè)機器人末端執(zhí)行器運動軌跡方程式為
式中:φ為運動軌跡任意一點位置矢量投影到X-Y平面后與X軸的夾角。
工業(yè)機器人運動關(guān)節(jié)1、關(guān)節(jié)2、關(guān)節(jié)3、關(guān)節(jié)4、關(guān)節(jié)5和關(guān)節(jié)6運動角位移跟蹤誤差分別如圖3~圖8所示。
圖3 關(guān)節(jié)1角位移誤差Fig.3 Error of joint 1 angular displacement
圖4 關(guān)節(jié)2角位移誤差Fig.4 Error of joint 2 angular displacement
圖5 關(guān)節(jié)3角位移誤差Fig.5 Error of joint 3 angular displacement
圖6 關(guān)節(jié)4角位移誤差Fig.6 Error of joint 4 angular displacement
圖7 關(guān)節(jié)5角位移誤差Fig.7 Error of joint 5 angular displacement
圖8 關(guān)節(jié)6角位移誤差Fig.8 Error of joint 6 angular displacement
根據(jù)圖3~圖8可知:關(guān)節(jié)1,優(yōu)化前角位移跟蹤最大誤差為0.027 rad,優(yōu)化后角位移跟蹤最大誤差為0.011 rad;關(guān)節(jié)2,優(yōu)化前角位移跟蹤最大誤差為0.039 rad,優(yōu)化后角位移跟蹤最大誤差為0.016 rad;關(guān)節(jié)3,優(yōu)化前角位移跟蹤最大誤差為0.046 rad,優(yōu)化后角位移跟蹤最大誤差為0.023 rad;關(guān)節(jié)4,優(yōu)化前角位移跟蹤最大誤差為0.059 rad,優(yōu)化后角位移跟蹤最大誤差為0.032 rad;關(guān)節(jié)5,優(yōu)化前角位移跟蹤最大誤差為0.075 rad,優(yōu)化后角位移跟蹤最大誤差為0.049 rad;關(guān)節(jié)6,優(yōu)化前角位移跟蹤最大誤差為0.164 rad,優(yōu)化后角位移跟蹤最大誤差為0.085 rad。因此,采用B樣條曲線設計工業(yè)機器人運動軌跡,角位移跟蹤誤差較大,而采用混合算法優(yōu)化B樣條曲線,工業(yè)機器人運動軌跡關(guān)節(jié)角位移跟蹤誤差較小。另外,優(yōu)化后角位移跟蹤誤差變化幅度明顯低于優(yōu)化前角位移跟蹤誤差變化幅度。采用混合算法優(yōu)化B樣條曲線,可以快速地搜索到全局最優(yōu)值,選擇出最佳設計參數(shù),提高機器人運動軌跡精度。
針對工業(yè)機器人角位移運動軌跡輸出誤差較大、運動不穩(wěn)定問題,采用混合算法優(yōu)化機器人運動軌跡,通過仿真驗證工業(yè)機器人角位移跟蹤結(jié)果,主要結(jié)論如下:
(1)根據(jù)D-H方法和三角函數(shù)推導了工業(yè)機器人運動軌跡角位移方程式,選擇B樣條曲線規(guī)劃機器人運動軌跡。
(2)采用混合算法,結(jié)合了差分進化算法和粒子群算法各自的優(yōu)點,迭代次數(shù)少,收斂速度快,能夠搜索到機器人運動軌跡最優(yōu)參數(shù),使機器人運動更加平穩(wěn)。
(3)優(yōu)化前,機器人運動軌跡角位移跟蹤誤差較大,整體波動幅度較大;優(yōu)化后,機器人運動軌跡角位移跟蹤誤差較小,整體波動幅度較小,誤差峰值降低了48.2%,效果較好。