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