趙瑋凡,李 波,李金泉
(沈陽理工大學(xué)機械工程學(xué)院,沈陽 110159)
工業(yè)機械臂在數(shù)字切割、物料碼垛、船舶制造、醫(yī)療救援等領(lǐng)域具有廣泛應(yīng)用[1-3]。它將工人從復(fù)雜危險的工作環(huán)境中解放出來,有效的降低了生產(chǎn)過程中勞動成本,極大程度上提高了現(xiàn)代制造業(yè)自動化水平。研究六自由度機械臂在數(shù)控緊密加工過程中軌跡規(guī)劃的問題[4],有助于提高運行穩(wěn)定性及工作精度,實現(xiàn)裝配及碼放環(huán)節(jié)自動化。
機械臂軌跡規(guī)劃研究指在運行過程中對執(zhí)行器施加加速度、速度、位移等運動約束[5],研究機械臂時間最優(yōu)軌跡規(guī)劃[6],可滿足數(shù)控加工中對工作時間的限制及作業(yè)效率。對此國內(nèi)外學(xué)者做了大量研究。SEDDAOUI等[7]基于遺傳算法提出一種無碰撞和無奇點的時間最優(yōu)軌跡規(guī)劃,解決傳統(tǒng)算法的動態(tài)耦合現(xiàn)象;RYBUS等[8]通過樣條曲線描述機械臂關(guān)節(jié)空間內(nèi)軌跡規(guī)劃路線,利用雙向快速隨機擴展樹算法算法制定求解約束非線性優(yōu)化問題,獲得的路徑明顯更短且平滑,但軌跡規(guī)劃路徑長、時間慢;MULIK等[9]將NSGA-Ⅱ算法引入B樣條插值曲線中,獲得能效更低的時間最優(yōu)軌跡路線,且機械臂運行穩(wěn)定,但規(guī)劃出的路徑轉(zhuǎn)折點未能平滑處理且規(guī)劃效率低;SONG等[10]為解決高自由度機械臂運行穩(wěn)定性,提出一種基于RBF神經(jīng)網(wǎng)絡(luò)的時間最優(yōu)軌跡規(guī)劃方法,以最小的動態(tài)約束獲得軌跡曲線,但未考慮局部振動對軌跡規(guī)劃的影響,規(guī)劃路徑偏差較大;馬榮華等[11]為解決局部最優(yōu)導(dǎo)致抑振失效現(xiàn)象,提出基于果蠅算法的軌跡規(guī)劃方法,有效抑制運行中產(chǎn)生的微小振動,且降低振動幅度,但未考慮路徑與障礙物間距離[12],導(dǎo)致機械臂路徑不安全。在多重因素影響下機械臂軌跡規(guī)劃問題,仍未有一種時間最優(yōu)且路徑穩(wěn)定的統(tǒng)一算法。
針對上述軌跡規(guī)劃算法中不足,本文提出一種改進麻雀搜索算法,以3-5-3多項式規(guī)劃關(guān)節(jié)空間內(nèi)六自由度機械臂。引入自適應(yīng)的慣性權(quán)重及學(xué)習(xí)因子,并提出加速度約束下改進麻雀搜索算法,獲得改進后機械臂關(guān)節(jié)速度及加速度曲線,對比傳統(tǒng)算法及其他優(yōu)化算法規(guī)劃下時間最優(yōu)解,確定本次研究優(yōu)化方案的有效性和優(yōu)越性。
本次研究旨在優(yōu)化數(shù)控加工中六自由度機械臂軌跡規(guī)劃問題,提高加工精密度,實現(xiàn)在焊接、拋磨環(huán)節(jié)的柔性加工。依據(jù)機器人學(xué)連桿坐標(biāo)系建立方法,選用D-H參數(shù)法建立關(guān)節(jié)型六自由度機械臂數(shù)學(xué)模型[13],參數(shù)如表1所示。各關(guān)節(jié)D-H坐標(biāo)系如圖1所示。
圖1 機械臂連桿坐標(biāo)系和模型
表1 六自由度機械標(biāo)準(zhǔn)D-H參數(shù)表 (mm)
表1中,ai-1表示連桿長度,αi-1表示連桿扭轉(zhuǎn)角,di表示連桿偏移量,θi表示關(guān)節(jié)角。
本次研究采用3-5-3多項式插值法進行機械臂軌跡規(guī)劃,在機械臂工作空間內(nèi)選取4個路徑點,在關(guān)節(jié)空間內(nèi)構(gòu)成4個關(guān)鍵點及3段軌跡,再依次用3次、5次、3次多項式插值規(guī)劃。3-5-3樣條多項式通式表達為:
hj1(t)=aj13t3+aj12t2+aj11t+aj10
hj2(t)=aj25t5+aj24t4+aj23t3+aj22t2+aj21t+aj20
hj3(t)=aj33t3+aj32t2+aj31t+aj30
(1)
式中:hji(t)函數(shù)項下標(biāo)j表示機械臂關(guān)節(jié)編號,i為相應(yīng)的軌跡路徑段,t表示第j段關(guān)節(jié)的多項式插值時間,a表示多項式中待求系數(shù),下標(biāo)對應(yīng)關(guān)節(jié)、軌跡、多項式系數(shù)序號。
對規(guī)劃路徑施加約束條件,分別為已知第j關(guān)節(jié)角度初始點θj0、路徑點θj1及θj2、結(jié)束點θj3,路徑點間位置、加速度及速度連續(xù),始末位置的速度加速度為0。用以上14個邊界及過渡約束條件,可推導(dǎo)求出3-5-3多項式的14個未知系數(shù),構(gòu)成粒子軌跡系數(shù)矩陣,詳細求解過程為:
(2)
(3)
(4)
式中:
利用已經(jīng)建立好的D-H參數(shù),調(diào)用MATLAB軟件Robotics Toolbox 10.4工具箱中Link函數(shù)和Serialink函數(shù)構(gòu)建六自由度機械臂仿真模型。使用teach函數(shù)調(diào)節(jié)各關(guān)節(jié)角度獲得機械臂關(guān)節(jié)位姿,調(diào)節(jié)各關(guān)節(jié)彎曲角度,從而分析機械臂關(guān)節(jié)位姿變化及末端執(zhí)行器運動軌跡,機械臂交互界面如圖2所示,可通過左側(cè)工具欄調(diào)整機械臂關(guān)節(jié)位姿。
圖2 六自由度機械臂仿真模型
分析機械臂交互界面,發(fā)現(xiàn)選擇的D-H參數(shù)所建立仿真模型在外觀上與所設(shè)計機械臂相似,且關(guān)節(jié)類型相符,機械臂仿真模型建立成功。
調(diào)用Robotics工具箱中fkine函數(shù)和ikine函數(shù),對已建立仿真模型進行正運動學(xué)分析,驗證模型建立是否正確。
Robotics工具箱fkine函數(shù)求出機械臂末端姿態(tài)為[3.085,0.3095,0.45]T,得出的各關(guān)節(jié)在起始點的角度為[0,0,0,-2/π,0],機械臂模型建立正確;調(diào)用ikine函數(shù),將求出位姿數(shù)值帶入運動學(xué)逆解計算,再將得出關(guān)節(jié)變量帶回模型,求出關(guān)節(jié)角度值為q所示,q在數(shù)值上與初始位姿約等,所以仿真結(jié)果產(chǎn)生誤差滿足要求,驗證模型建立正確。
麻雀搜索算法又名粒子群算法,是一種模擬鳥類捕食行為的全局進化優(yōu)化算法,在空間內(nèi)隨機生成粒子作為初始種群,標(biāo)記粒子的位置與速度組成潛在解,每個粒子在計算中隨記憶更新速度。優(yōu)化目標(biāo)即在滿足所有約束條件,同時保證關(guān)節(jié)運動時間最短,其函數(shù)表達式為:
(5)
式中:t1+t2+t3為適應(yīng)度函數(shù),Vji表示第j個關(guān)節(jié)在第i段路徑內(nèi)隨時間變化的速度,Vimax表示最大限制速度。傳統(tǒng)的多項式插值法無法進行優(yōu)化,所以只能使用粒子群優(yōu)化算法通過粒子間協(xié)作關(guān)系尋找最優(yōu)解[14]。假設(shè)n個粒子在N維搜索空間運動,第i個粒子的空間位置為xi=(xi1,xi2,…,xiN),其飛行速度為Vi=(Vi1,Vi2,…,ViN),且每個粒子都存在由優(yōu)化函數(shù)決定的適應(yīng)度,并且已知粒子在初始位置迭代后搜索產(chǎn)生的個體最優(yōu)解Pi=(Pi1,Pi2,…,PiN),群體中每個粒子都已知當(dāng)前時間內(nèi)發(fā)現(xiàn)的最好位置Pg,則第i個粒子在k+1次迭代時第d維分量(1≤d≤D)下的速度與位置迭代表達式為:
(6)
(7)
式中:wmax為慣性權(quán)重最大值,Δwmax表示慣性權(quán)重最大差值,Nmax表示當(dāng)前環(huán)境下允許的最大迭代次數(shù)。與傳統(tǒng)算法相比,優(yōu)化后算法將學(xué)習(xí)因子設(shè)為隨迭代次數(shù)變化的因變量,這樣有效提高尋優(yōu)速度及求解精度,具體表達式為:
(8)
式中:cmax、cmin表示學(xué)習(xí)因子最大、最小值。迭代運算前期為提高粒子的個體學(xué)習(xí)能力,加快粒子更新速度,更快找到最優(yōu)位置解,選取較大的局部學(xué)習(xí)因子c1;在運算后期,為提高算法精度調(diào)整群體學(xué)習(xí)能力,降低局部學(xué)習(xí)因子c1,增大全局學(xué)習(xí)因子c2數(shù)值,故在粒子群運算空間內(nèi)c1曲線呈遞減狀,c2為遞增曲線[15]。
3-5-3多項式插值函數(shù)通過選擇粒子優(yōu)化時間未知量獲得時間最優(yōu)解,求解自變量時需計算14維度數(shù)據(jù),需考慮約束條件較多,計算復(fù)雜。可將t作為自變量,將粒子搜索維度變3維,去掉自變量間復(fù)雜的映射關(guān)系。采用適應(yīng)度函數(shù)控制關(guān)節(jié)運動速度,使其快速收斂在約束條件區(qū)間內(nèi),在對其進行時間最優(yōu)的優(yōu)化迭代,具體步驟為:
步驟1:參數(shù)給定及初始化。初始化種群規(guī)模,隨機初始化粒子位置向量及粒子速度向量,并給定向量取值范圍,給定慣性權(quán)重w,自我學(xué)習(xí)因子c1和群體學(xué)習(xí)因子c2;
步驟3:調(diào)用適應(yīng)度函數(shù),計算14維系數(shù)矩陣A、關(guān)節(jié)速度在各段曲線上的極值矩陣V。判斷速度與加速度是否滿足給定約束條件,即當(dāng)前時間t1、t2、t3是否有效;在滿足運動約束條件下,各段插值時間取最小值;
步驟4:將計算值與個體的歷史最佳適應(yīng)度進行比較。若數(shù)值相等,說明當(dāng)前值無效,直接將當(dāng)前適應(yīng)度賦值為無窮大;若計算值較小,需更新個體歷史最佳適應(yīng)度indTBest;
步驟5:計算當(dāng)前種群中最佳適應(yīng)度。若計算值較小,需更新種群歷史最佳適應(yīng)度inf;
步驟6:采用粒子群公式進行速度vTheta更新,運算結(jié)束。需注意將每個粒子的速度和位置控制在安全邊界值內(nèi)。
時間最優(yōu)軌跡規(guī)劃程序流程圖如圖3所示。
圖3 時間最優(yōu)軌跡規(guī)劃程序流程圖
機械臂空間軌跡規(guī)劃指在工作空間完成作業(yè)任務(wù)時,滿足各關(guān)節(jié)變量位置、速度、加速度為連續(xù)曲線,并且初始結(jié)束位置速度及加速度數(shù)值為0。研究機械臂軌跡規(guī)劃,有效提高數(shù)控加工效率,實現(xiàn)加工環(huán)節(jié)柔性化生產(chǎn)。
現(xiàn)如今,大部分建筑企業(yè)所面臨的非常明顯的問題之一就是其相關(guān)的管理人員和領(lǐng)導(dǎo)層不重視對工程的造價進行有效的控制。工程造價觀念的缺失便會造成大量的資金和成本的浪費。尤其是現(xiàn)如今我國市場經(jīng)濟不斷發(fā)展,工程造價預(yù)算的管理和控制也越來越重要。如果建筑企業(yè)內(nèi)部一直無法提起對工程造價的管理的重視,便會阻礙整個建筑行業(yè)在市場中的發(fā)展。
本次研究對粒子群算法進行優(yōu)化設(shè)計,分為兩個方法進行對比。方法1為標(biāo)準(zhǔn)粒子群算法,w=0.9,c1=c2=2;方法2為慣性權(quán)重按照式(7)變化,學(xué)習(xí)因子按照式(8)計算。
以控制大臂、小臂的關(guān)節(jié)2及關(guān)節(jié)3作為參照,追蹤關(guān)節(jié)最優(yōu)粒子Pg位置進化圖,如圖4所示。并分別對兩關(guān)節(jié)在方法1、2環(huán)境下進行適應(yīng)度仿真,結(jié)果對比如圖5所示。
(a) 關(guān)節(jié)2 (b) 關(guān)節(jié)3
由圖4可以看出,在相同加速度約束下,關(guān)節(jié)2、3各段最優(yōu)粒子位置Pg大約經(jīng)歷35次迭代就會快速收斂于不同位置。其各段收斂值即為該段時間在加速度約束下,關(guān)節(jié)進行多項式插值所需最短時間,為t1、t2、t3,如表2所示。
表2 各關(guān)節(jié)在加速度約束下的最優(yōu)時間 (s)
分析圖5中適應(yīng)度曲線對比結(jié)果可知,方法2相比方法1提高了收斂速度及收斂精度,優(yōu)化后算法在26次迭代后收斂并趨于穩(wěn)定,對比傳統(tǒng)算法第45次提前43%收斂,改進麻雀算法在收斂速度上極大提升;優(yōu)化后算法在適應(yīng)度大小上減小8%。改進后麻雀搜索算法能更好的實現(xiàn)全局最優(yōu),證明改進后算法優(yōu)于傳統(tǒng)算法。
對機械臂其他關(guān)節(jié)也使用改進粒子群算法(方法2)進行軌跡規(guī)劃,求出各關(guān)節(jié)在加速度約束下運行時間最優(yōu)解如表2所示。本次研究背景為數(shù)控機床柔性化生產(chǎn)中大型機械臂,關(guān)節(jié)速度、加速度不宜過高,防止產(chǎn)生劇烈抖動,讓機器人平穩(wěn)高效運行。
對上文中基于MATLAB軟件Robotics工具箱建立的機械臂仿真模型,求其在改進麻雀搜素算法(優(yōu)化粒子群算法)下3-5-3多項式插補時間軌跡路線。圖6~圖8為改進麻雀搜索算法(方法2)求得的關(guān)節(jié)位置、速度及加速度關(guān)于時間曲線。分析圖中曲線,圖中所有變量均滿足14個運動約束條件,圖7中各關(guān)節(jié)速度極值出現(xiàn)在第2段插值曲線中,第2、4、6關(guān)節(jié)在第2段插值曲線中趨近于-Vmax,第1關(guān)節(jié)在第2段中趨近于Vmax。
圖6 優(yōu)化后6個關(guān)節(jié)角度變化曲線
圖7 優(yōu)化后6個關(guān)節(jié)速度變化曲線
圖8 優(yōu)化后6個關(guān)節(jié)加速度變化曲線
為保證機械臂運行穩(wěn)定性,保持關(guān)節(jié)運行時間一致,選取表2中關(guān)節(jié)最優(yōu)時間最大值,則t1max=0.959 1 s、t2max=1.017 2 s、t3max=0.906 2 s,相加總時間為tmax=2.882 5 s,與未優(yōu)化前數(shù)值上減小1.617 5 s,時間上縮短幅度約為38%,改進麻雀搜索算法有效提升機械臂工作效率。
分析圖6~圖8中曲線,所有變量滿足設(shè)定的約束條件,機械臂在改進麻雀搜索算法下求出數(shù)據(jù)合理,獲得曲線平滑,且始終保持在理想?yún)^(qū)間內(nèi)優(yōu)化前后速度及加速度曲線峰值大幅提高,驗證本文所設(shè)計機械臂時間最優(yōu)算法有效。
綜合以上仿真數(shù)據(jù),為防止出現(xiàn)局部時間最優(yōu)現(xiàn)象,獲得收斂速度更快、時間更優(yōu)解,設(shè)置對照仿真數(shù)據(jù)組,選用改進自適應(yīng)遺傳算法(GA)、模擬退火算法(SA)通過與本次研究相同路徑點,對比優(yōu)化前后算法所用時間如表3所示。對比仿真結(jié)果發(fā)現(xiàn),本次研究所設(shè)計改進麻雀搜索算法收斂速度最快,能獲得更優(yōu)得機械臂軌跡規(guī)劃。
表3 對照仿真最優(yōu)時間結(jié)果
本次研究基于六自由度機械臂,結(jié)合改進麻雀搜索算法基礎(chǔ)上尋找軌跡規(guī)劃時間最優(yōu)解,通過分析仿真數(shù)據(jù)得出以下結(jié)論:
(1)引入自適應(yīng)性的慣性權(quán)重及學(xué)習(xí)因子,有效解決傳統(tǒng)麻雀搜索算法收斂速度慢、局部最優(yōu)等問題,可求解機械臂軌跡規(guī)劃時間最優(yōu)解。
(2)仿真結(jié)果中機械臂軌跡規(guī)劃時間縮短38%,且曲線始終保持在理想連續(xù)區(qū)間,證明算法尋優(yōu)可靠性。
(3)通過對比不同優(yōu)化算法下最優(yōu)時間解,驗證本次研究提出的改進麻雀搜索算法在尋優(yōu)過程的高效性。