孟彩茹,郭 巖,姚聰聰
(河北工程大學機械與裝備工程學院,邯鄲 056038)
近年來,機械臂在制造、航天、醫(yī)療等領域廣泛應用。機械臂在作業(yè)過程中,關節(jié)處的柔性元件會導致機械臂在運行過程中產(chǎn)生彈性振動。提高機械臂的控制精度及穩(wěn)定性,抑制機械臂在運行過程中產(chǎn)生的彈性振動在機械臂控制領域具有重要研究意義。
機械臂振動控制方法主要有反饋控制技術和前饋控制技術。反饋控制技術是利用作動器檢測關節(jié)處的振動信號進行振動控制[1]。例如,將加速度計安裝于機械臂末端,作為振動信號傳感器,采用比例控制和非線性控制法,能有效抑制機械臂的振動[2-3]。近年來反饋控制抑振技術的主要研究方向是將傳統(tǒng)控制方法與人工智能相結合。例如,采用人工魚群算法優(yōu)化PID完成振動控制[4];在二次型最優(yōu)控制理論的基礎上,利用遺傳算法對加權矩陣進行優(yōu)化設計,進行振動主動控制[5]。反饋控制技術能有效抑制振動,但安裝作動器會增加整個系統(tǒng)的控制難度和成本,且操作復雜。相較而言,前饋控制技術無需添加作動器,亦有抑制振動的效果,經(jīng)濟性好等優(yōu)點。例如,在控制系統(tǒng)中設計行程函數(shù)及輸入整形函數(shù)[6],結合人工神經(jīng)網(wǎng)絡算法,設計零振動導數(shù)整形器[7],均有效的抑制了系統(tǒng)的振動。但整形器的使用會產(chǎn)生系統(tǒng)時滯問題。尹旺等[8]利用軌跡規(guī)劃法,建立參數(shù)化軌跡模型,結合遺傳算法得到機械臂振動抑制軌跡,有效抑制了機械臂末端的彈性振動。
綜上所述,反饋控制技術能有效抑制系統(tǒng)振動,但會增加控制系統(tǒng)的復雜程度和成本。輸入整形法不會增加成本,但會產(chǎn)生系統(tǒng)時滯問題。采用軌跡規(guī)劃法能避免上述問題,且能有效抑制機械臂的振動,所以通過軌跡規(guī)劃法抑制機械臂的振動有重要研究意義。
本文以史陶比爾TX40機械臂為研究對象,建立運動學模型,基于構造的系統(tǒng)微分方程,分析柔性關節(jié)產(chǎn)生彈性振動的原因。定義優(yōu)化目標函數(shù),利用改進的粒子群算法(GAPSO)優(yōu)化沖擊值,完成機械臂抑振軌跡規(guī)劃。本文主要研究點到點的運動,無需考慮機械臂末端姿態(tài),在運動學的基礎上對機械臂進行軌跡規(guī)劃,不考慮其他力學影響因素。
運動學是對機械臂的位置、速度和加速度隨時間的變化規(guī)律的描述,不考慮關節(jié)位置的力學參數(shù)。本文以史陶比爾TX40機械臂為研究對象,如圖1所示。該機械臂有6個轉動關節(jié)。機械臂末端位置由1、2、3關節(jié)確定,末端姿態(tài)由4、5、6關節(jié)確定。
圖1 史陶比爾TX40機械臂
正運動學是在已知機械臂各關節(jié)轉角變化值的前提下,求解機械臂末端的空間位置。運用D-H建模法,根據(jù)機械臂D-H參數(shù)求解D-H矩陣,順序連乘所有矩陣,可求解出機械臂末端位姿。得到機械臂運動學模型為:
逆運動學為在已知機械臂末端位姿的前提下,確定各關節(jié)轉角變化值。逆解不止一組解,所以根據(jù)機械臂的結構約束和角度約束,優(yōu)先采取關節(jié)變量最小原則,求解出一組最優(yōu)逆解。最優(yōu)逆解選取原則為:
(1)
機械臂關節(jié)位置多安裝減速器、同步帶等柔性元件,當關節(jié)處產(chǎn)生沖擊時,會產(chǎn)生彈性振動。因此,分析關節(jié)柔性影響是抑制機械臂振動的關鍵所在。以圖2為例,基于Spong的線性扭簧模型理論[9],將關節(jié)等效為扭轉彈簧,建立機械臂柔性關節(jié)模型。不考慮阻尼和摩擦,其動力學方程為:
(2)
圖2 柔性關節(jié)模型
(3)
令x=q-θ,將式(3)化簡為常微分方程:
(4)
將式(4)視為多自由度受迫振動方程,對其求解得:
(K-λM)φ=0
(5)
令解為x=Φy,Φ為y對應的特征向量矩陣,y為模態(tài)坐標,將式(5)代入式(4)得:
(6)
(7)
式(7)有兩組解,一組為齊次解,另一組為非齊次解,解的表達式為:
(8)
根據(jù)式(8)的表達形式,柔性關節(jié)的變形量由關節(jié)模態(tài)坐標決定,通過電機的輸出數(shù)據(jù),求解關節(jié)的輸入,同時可求解出關節(jié)末端位置的變化量及加速度。
在求解系統(tǒng)穩(wěn)態(tài)解的過程中,當系統(tǒng)產(chǎn)生微小振動,求解式(8)非齊次部得:
(9)
(10)
由式(10)得,機械臂柔性關節(jié)的彈性變形引起的末端振動與關節(jié)的加速度與加加速度有關,加速度曲線變化越平緩,即加加速度值越小,機械臂末端振動越小。
本文主要研究機械臂在關節(jié)空間中點到點間的振動抑制問題,需約束起始和中止位置的運動狀態(tài)。為使機械臂在運行過程中更加平穩(wěn),減少振動,在其運行過程中應避免沖擊的突變并且減小沖擊。用于軌跡規(guī)劃的函數(shù)需滿足二階導數(shù)連續(xù)可導的條件。故選取五次多項式函數(shù)作為軌跡差值函數(shù)[10]。
五次多項式函數(shù)通式為:
θ(t)=a0+a1t+a2t2+a3t3+a4t4+a5t5
(11)
軌跡函數(shù)需滿足起始點和中止點的角度約束、速度約束、加速度約束6個約束條件,為:
(12)
將上述約束函數(shù)代入五次多項式函數(shù)并求解,將求解系數(shù)代入原方程得到五次多項式軌跡曲線為:
(13)
五次多項式軌跡曲線差值擬合過程如下:首先,n等分機械臂的運動軌跡,t0,t1,…,tn為時間節(jié)點,每個時間節(jié)點ti對應的角位移為θi;其次,在式(12)中約束條件已知的前提下,確定起始點與終點間的插值點。
在機械臂進行抑振軌跡規(guī)劃過程中,應盡量避免關節(jié)處的沖擊,且提高機械臂的平穩(wěn)性。通過優(yōu)化機械臂運行過程中的加速度與加加速度,抑制運行過程中產(chǎn)生的振動。提出目標函數(shù),目標函數(shù)為:
(14)
粒子群優(yōu)化算法(particle swarm optimization,PSO)是一種源于對鳥群捕獵行為研究的進化計算方法[11]。該算法的基本思想是通過某一群體中不同個體之間相互共享信息搜索最優(yōu)解。每一粒子在搜索空間各自尋找最優(yōu)解得到個體極值,并將其在群體中共享,最終得到的最優(yōu)個體極值作為全局最優(yōu)解。個體間共享信息就是更新個體的位置和速度。更新公式為:
(15)
(16)
式中:i=1,2,…,m,ω為權重系數(shù),n為迭代次數(shù),vid為第i個d維粒子的飛行速度,xid為第i個d維粒子的飛行位置,r1、r2為隨機數(shù)在(0,1)區(qū)間內(nèi),pbid為粒子的局部最優(yōu)位置,pgd為全局最位置。粒子群算法具有求解方式簡單、快速收斂等優(yōu)點,但是易陷入局部最優(yōu)解,使粒子趨近于局部最優(yōu)解而產(chǎn)生“早熟”現(xiàn)象。
遺傳算法(genetic algorithm,GA)參照自然物種基因繁衍機理,是一種并行的全局搜索方法。遺傳算法是通過對目標種群進行實時選擇、交叉和變異等一系列運算,從而生成新種群[12]。交叉和變異操作將導致候選解與之前的解有所不同,所以容易跳出局部最優(yōu)解,避免“早熟”的問題。但交叉、變異后會導致解的數(shù)量增加,降低求解效率。將遺傳算法中交叉、變異的思想引入粒子群算法中能有效優(yōu)化其“早熟”問題。
交叉算子:隨機選擇兩組個體數(shù)量為2的個體,并比較其的適應度函數(shù)值,算術交叉適應度函數(shù)值高的個體。交叉前體個體為xi,xi+1,交叉后新個體為:
(17)
式中:α∈(0,1)。
變異算子:將粒子群算法進化思想融入變異算子中,提高算法的收斂速度。新個體的變異原則如下:
(18)
針對PSO、GA算法的優(yōu)點和不足,GAPSO算法將GA算法中交叉、變異的思想引入PSO算法中。GAPSO算法既具備了GA算法較好的全局尋優(yōu)能力,又具備了PSO算法快速尋優(yōu)能力,提高了尋優(yōu)效率及精度。GAPSO算法優(yōu)化過程如圖3所示。該算法的基本思想為:首先,將計算出的適應度值按大小排列,選出部分個體作為優(yōu)秀樣本,采用群體中不同個體之間相互協(xié)作和共享信息的方法提高樣本,完成進化,進化后的樣本進入下一代,同時放棄未被選擇的樣本;其次,采用兩點交叉的策略在被提高的樣本中選取父母輩樣本;最后,采用固定變異率的方法變異交叉算子。算法流程圖如圖4所示。
圖3 GAPSO算法優(yōu)化過程
圖4 GAPSO算法流程圖
在約束條件及參數(shù)設置相一致的條件下,使用PSO算法與改進粒子群(GAPSO)算法對同一目標函數(shù)進行尋優(yōu)測試。測試函數(shù)為minf=x2+10cos(2πx)+10,約束條件為x∈[-3,3],v∈[-1,1]。測試函數(shù)的迭代適度曲線如圖5所示。
圖5 測試結果對比度
由圖5可得出,PSO算法與GAPSO算法分別在迭代60次,30次左右找到最優(yōu)值,GAPSO算法尋優(yōu)速度明顯較高。PSO算法得到的最優(yōu)適度值為0.002 0,GAPSO算法得到的最優(yōu)適度值為3×10-7。結合迭代結果可以推斷出PSO算法在找到局部最優(yōu)解后,開始在該局部最優(yōu)解附近搜索,最終導致沒有得到全局最優(yōu)解。綜上所述,融合了遺傳思想的GAPSO算法具有較強的全局搜索能力,解決了PSO算法在迭代過程中容易“早熟”的問題,且具有收斂快的特點。
利用MATLAB/Simulink仿真軟件建立含有柔性關節(jié)的機械臂仿真系統(tǒng)。使用改進的D-H參數(shù)法,完成機械臂建模,D-H參數(shù)如表1所示。
表1 機械臂D-H參數(shù)表
表2 軌跡點序列
在關節(jié)空間內(nèi)指定任務點位置,完成從初始位置A點到位置點B點的軌跡規(guī)劃,對軌跡進行采樣,最終得到一組三維空間中的軌跡點,軌跡點序列如2所示。機械臂各關節(jié)的運動學約束如表3所示。
表3 運動學約束
利用上文提出的逆運動學求解方法,在關節(jié)空間完成對各軌跡點求解。設置初始種群規(guī)模pop_size=100,交叉率pc=0.5,變異率pu=0.05,迭代次數(shù)maxgen=100。以式(14)為目標函數(shù),首先,將目標函數(shù)及約束條件轉化為邏輯術語代入到五次多項式的矩陣形式中;其次,采用GAPSO算法尋優(yōu)步驟尋找pbest及gbest并保證其更新到最佳值;最后,當?shù)螖?shù)達到最大循環(huán)次數(shù),停止迭代輸出結果。
目標函數(shù)對應的迭代適應度函數(shù)曲線如圖6所示。迭代50次左右尋找到最優(yōu)值,目標函數(shù)S最優(yōu)值為18.68 rad/s3,整個迭代過程沒有陷入局部最優(yōu),收斂速度快。
圖6 適應度函數(shù)曲線
圖8 末端軌跡在Y方向上的位移
分析處理優(yōu)化后的機械臂末端運動軌跡,優(yōu)化前后末端軌跡在X、Y、Z方向上的位移如圖7~圖9所示。由圖可知,優(yōu)化后末端軌跡在X、Y、Z方向上的鋸齒狀位移波動明顯減少,所以末端振幅明顯減小。優(yōu)化后的軌跡整體更加平緩,柔性關節(jié)處的彈性振動得到有效抑制,證明抑振軌跡規(guī)劃法抑振效果明顯。
針對機械臂在運動過程中因關節(jié)柔性產(chǎn)生的彈性振動問題,提出一種能夠抑制機械臂末端彈性振動的軌跡規(guī)劃方法,得出如下結論:
(1)結合柔性關節(jié)模型,分析了機械臂產(chǎn)生振動的原因,確定了影響振動情況的參數(shù),推導出加加速度值越小,機械臂末端振動越小。
(2)通過算例驗證了改進粒子群算法的改進效果,提高了算法的收斂速度,改善了容易陷入局部最優(yōu)解的問題。
(3)采用改進的粒子群算法,結合抑振目標函數(shù)函數(shù),經(jīng)過優(yōu)化算法處理,機械臂末端位移波動減小,證明抑振軌跡規(guī)劃法有效抑制了末端的彈性振動。