陳曉彤,祁文哲,孟建軍,李德倉,胥如迅
(蘭州交通大學(xué)a.機電技術(shù)研究所;b.甘肅省物流及運輸裝備信息化工程技術(shù)研究中心;c.甘肅省物流與運輸裝備行業(yè)技術(shù)中心,蘭州 730070)
隨著工業(yè)自動化的發(fā)展,自動化作業(yè)逐漸代替人工操作,在機械運動中,不同軌跡規(guī)劃會產(chǎn)生不同程度的振蕩及能耗,于是,在機械控制系統(tǒng)中尋找最優(yōu)軌跡并使其能耗最小成為熱點話題[1]。對于不同領(lǐng)域,如航空航天[2]、電網(wǎng)[3]、農(nóng)業(yè)[4]等,機械臂軌跡優(yōu)化要求也大不相同,從而導(dǎo)致機械臂末端位姿調(diào)整幅度的程度不同,因此,對機械臂進行準(zhǔn)確的軌跡規(guī)劃尤為重要。
目前,在工業(yè)自動化裝備領(lǐng)域中,常用的軌跡規(guī)劃方法有A*搜索算法、人工勢場法及智能優(yōu)化算法。A*搜索算法[5]將傳統(tǒng)Dijkstra算法和基于貪心策略的BFS(breadth first search)算法結(jié)合起來,以最小代價尋找一條全局軌跡規(guī)劃下的最短軌跡,且計算速度快。人工勢場法[6]由KHATIB提出,通過虛擬一種力場在機器人、目標(biāo)位置、障礙物三者之間建立約束關(guān)系。智能優(yōu)化算法[7]在控制工程、路徑規(guī)劃等領(lǐng)域均取得了一定成果,根據(jù)大自然規(guī)律和生物群體行為進行優(yōu)化。上述前兩種算法的處理過程中并不是每一步均朝著目的點進行優(yōu)化,所以,搜索得到的軌跡不是最優(yōu)結(jié)果,而智能優(yōu)化算法是通過隨機搜索確定最優(yōu)軌跡,因此,在軌跡規(guī)劃中具有更好的優(yōu)勢。
機械臂作為工業(yè)機器人的作業(yè)裝備,其避障與軌跡規(guī)劃對精確完成作業(yè)具有重要意義。張良安等[8]針對若干碼垛及搬運機械裝備機械臂的柔順性和穩(wěn)定性提出了較高要求,但機械裝備自動化程度低、動作粗獷、占用空間大。劉寶等[9]通過在時間最短條件下的三次樣條軌跡規(guī)劃,有效減小了關(guān)節(jié)軸的殘余振動,但脈動不連續(xù)。王琛等[10]利用改進遺傳算法解決局部最優(yōu)解問題,設(shè)計了機械臂的最優(yōu)時間軌跡規(guī)劃,但多自由度計算時速度較慢。李俊等[11]以多關(guān)節(jié)機器人為對象,利用樣條函數(shù)和改進的遺傳算法,避免了運動軌跡出現(xiàn)奇異結(jié)構(gòu)點和局部最優(yōu)問題,但結(jié)果可靠性差,不能穩(wěn)定求解。
上述方法中,存在機械臂運動不流暢、加速度軌跡不連貫、脈沖不連續(xù)等缺陷,而智能優(yōu)化算法可對任何形式的定點進行優(yōu)化作業(yè),彌補了這些缺陷,因此,針對智能優(yōu)化算法中的差分進化算法進行研究,以單關(guān)節(jié)機械臂為例,提出一種改進差分進化算法,與傳統(tǒng)差分進化算法相比,跟蹤軌跡、最優(yōu)軌跡與理想軌跡更相似且誤差較小。
研究單關(guān)節(jié)機械臂控制系統(tǒng),如圖1所示,圖中的θ是關(guān)節(jié)位置。該控制包括控制器、執(zhí)行器、被控系統(tǒng)及傳感反饋。輸入信號θd通過控制器與執(zhí)行器,利用電流i對電機輸出端的扭矩τ進行控制,在經(jīng)過被控系統(tǒng)后以角度θ的形式體現(xiàn),部分信號輸入回傳感反饋對整個系統(tǒng)角度θest微調(diào)。
圖1 控制系統(tǒng)圖
現(xiàn)將單關(guān)節(jié)機械臂作為研究對象,并簡化成二階線性系統(tǒng),如式(1)所示。
(1)
式中,θ表示角度;I表示轉(zhuǎn)動慣量;b表示粘性系數(shù);τ表示控制輸入;d表示加在控制輸入上的擾動。
假設(shè):當(dāng)系統(tǒng)達到穩(wěn)定狀態(tài)時,最大允許時間為tmax=3TE(擺線周期TE),根據(jù)能量守恒定理,通過非保守力做功來對整個系統(tǒng)在運動中所消耗的能量進行表示,目標(biāo)函數(shù)如式(2)所示。
(2)
式中,ω表示權(quán)值;dis(t)表示實際跟蹤軌跡與理想軌跡間的距離,最終實現(xiàn)系統(tǒng)能耗最低且軌跡最優(yōu),如式(3)所示。
(3)
然后,計算跟蹤誤差e如式(4)所示。
e=θop-θ
(4)
式中,θop表示插值點處的最優(yōu)值。通過PD控制律(比例微分控制律)對控制輸入進行計算,如式(5)所示。
(5)
式中,kp>0,kp表示比例調(diào)節(jié)系數(shù);kd<0,kd表示微分調(diào)節(jié)系數(shù)。在比例調(diào)節(jié)器中,可以對輸入輸出作出及時反應(yīng),但穩(wěn)定性差,對于慣性較大的控制對象,此缺陷更為顯著,現(xiàn)引入微分調(diào)節(jié)器進行調(diào)節(jié),提高機械魯棒性。
最后根據(jù)式(6)計算擺線運動θr,采用差分進化算法或者改進差分進化算法設(shè)計最優(yōu)軌跡θop。
(6)
式中,θd和θ0分別表示角的初始角度與目標(biāo)角度。
(7)
采用樣條插值方法對軌跡進行初始化,插值點D設(shè)置為4,即D=4,插值點固定橫坐標(biāo)取第200、400、600、800個點,縱坐標(biāo)方向隨機選取初始點與終止點之間的4個點,而第i個樣本(i=1,2,…,N)第j個插值點(j=1,2,3,4)的取值為式(8)。
θop(i,j)=rand(θd-θ0)+θ0
(8)
式中,θop(i,j)表示第i個樣本第j個插值點處的最優(yōu)軌跡;rand(θd-θ0)隨機在0~1之間取值。
追蹤指令為θd=0.5,比例調(diào)節(jié)系數(shù)kp=300,微分調(diào)節(jié)系數(shù)kd=10。系統(tǒng)狀態(tài)變量及物理意義如表2所示。
表1 相關(guān)參數(shù)及初始值
表2 系統(tǒng)狀態(tài)變量及物理意義
差分進化算法[12](differential evolution,DE)是一種啟發(fā)式搜索算法,采取“優(yōu)勝劣汰,適者生存”自然界生物種族的進化規(guī)律進行隨機搜索[13]。在保全樣本的全局搜索策略下,根據(jù)父代樣本間的差分矢量采用實數(shù)編碼、變異操作、交叉操作以及一對一的競爭生存原則,提高了局部搜索能力、魯棒性以及收斂性,降低遺傳的復(fù)雜性,差分進化算法流程圖如圖2所示。
圖2 差分進化算法流程圖
(9)
式中,xij(0)表示初始化樣本。
在執(zhí)行變異操作時,引入變異因子F,對種族多樣性與收斂性進行控制,在傳統(tǒng)差分進化算法中,F(xiàn)的取值范圍是[0,2],若F所取數(shù)值過小,導(dǎo)致群體差異較小,進化過程中不一定突破其局部極值,從而收斂過早;而F取值過大,將極易跳出局部極值,同時影響收斂速度。因此,針對傳統(tǒng)差分進化算法,選擇F=0.5。
在執(zhí)行變異操作時,通過控制個體參數(shù)在各個維度與交叉的參與度,平衡全局及局部區(qū)域搜索,變異向量與某個預(yù)先決定的目標(biāo)向量進行參數(shù)混合后生成試驗向量,在傳統(tǒng)差分進化算法中,CR取值范圍是[0,1],CR較小時,樣本多樣性會發(fā)生驟減,導(dǎo)致收斂過早;CR較大時,雖然提高了收斂速度,但過大因擾動大于樣本差異度導(dǎo)致收斂變慢。因此,針對傳統(tǒng)差分進化算法,選擇CR=0.9。
選擇操作的基本原理是如果試驗向量的適應(yīng)度值優(yōu)于目標(biāo)向量的適應(yīng)度值,則在下一代中試驗向量取代目標(biāo)向量,否則目標(biāo)向量仍保存下來,即采用“貪婪”策略選擇適應(yīng)度較好的進入下一代。在進入下一代時,利用最大迭代代數(shù)G作為進化是否中止的條件。
傳統(tǒng)差分進化算法通過變異、交叉及選擇等操作進行優(yōu)化,但理想軌跡與實際軌跡之間存在誤差,因此,提出改進差分進化算法是在傳統(tǒng)算法的基礎(chǔ)上,對其變異因子、交叉因子的選取進行優(yōu)化。
在搜索初期,F(xiàn)取值較大便于擴大搜索空間并保持樣本多樣性;隨著迭代次數(shù)的增加,在后期,F(xiàn)取值較小,有利于局部進行最優(yōu)搜索,由此可提高收斂速度及搜索精度。
現(xiàn)有研究表明F在[0.4,1]取值,可以得到更好的效果[14],在改進差分算法中,提出一F滿足關(guān)于搜索角度θ的復(fù)合函數(shù),為了限制范圍,將F初始值定義為2,如式(10)所示。
(10)
一般情況下,CR在[0.6,0.9]之間選取,CR越大,F(xiàn)越小,收斂速度加劇,但隨著CR的增加,收斂度對F的敏感程度會逐步提高,在改進差分算法中,提出一CR滿足關(guān)于搜索角度的復(fù)合函數(shù),如式(11)所示。
(11)
通過差分進化算法及改進差分進化算法,沿參考軌跡進行最優(yōu)規(guī)劃,以保證系統(tǒng)在不偏離參考軌跡的基礎(chǔ)上,采用PD控制方法,實現(xiàn)對最優(yōu)軌跡的跟蹤,確保整個運動中消耗的能量最小。兩種算法均滿足式(2)目標(biāo)函數(shù),并使其值最小,即式(3),從而得到最優(yōu)軌跡。選取樣本數(shù)50,優(yōu)化次數(shù)30,進行4次插值,插值點橫坐標(biāo)固定選取,縱坐標(biāo)在初始點和終止點之間隨機選取,進行MATLAB仿真。
傳統(tǒng)差分進化算法在MATLAB軟件進行仿真結(jié)果如圖3所示。
(a) 最優(yōu)軌跡優(yōu)化效果(b) 理想軌跡、最優(yōu)軌跡、軌跡跟蹤
圖3a是最優(yōu)軌跡優(yōu)化效果圖,發(fā)現(xiàn)理想軌跡與優(yōu)化軌跡間存在較大差距,并未達到很高的擬合程度;圖3b是理想軌跡、最優(yōu)軌跡、軌跡跟蹤圖,仍觀察到明顯誤差距離。
4.2.1 改進變異因子
僅改進變異因子差分算法,通過MATLAB進行仿真,仿真結(jié)果如圖4所示。
(a) 最優(yōu)軌跡優(yōu)化效果 (b) 軌跡跟蹤
由圖4a最優(yōu)軌跡優(yōu)化效果和圖4b軌跡跟蹤看出,僅改變變異因子的改進差分進化算法下的最優(yōu)軌跡與理想軌跡有細微接近;跟蹤運動軌跡與理想軌跡雖誤差變小但不明顯。
4.2.2 改進交叉因子
僅改進交叉因子差分算法,通過MATLAB進行仿真,仿真結(jié)果如圖5所示。
(a) 最優(yōu)軌跡優(yōu)化效果 (b) 軌跡跟蹤
由圖5a最優(yōu)軌跡優(yōu)化效果和圖5b軌跡跟蹤結(jié)果看出,最優(yōu)軌跡與理想軌跡雖有明顯接近,但全程存在誤差;且跟蹤運動軌跡與理想軌跡誤差雖然較小但全程存在。
4.2.3 改進差分進化算法
改進差分算法(包括改變變異因子與交叉因子)通過MATLAB進行仿真,仿真結(jié)果如圖6所示。
(a) 最優(yōu)軌跡優(yōu)化效果 (b) 軌跡跟蹤
由圖6a最優(yōu)軌跡優(yōu)化效果和圖6b軌跡跟蹤結(jié)果看出,優(yōu)化后軌跡更接近理想軌跡,極好地減小了實際與理想軌跡間的誤差距離,雖然中后期存在微小誤差,但優(yōu)化后軌跡與理想軌跡相似度較高。
4種算法的仿真圖如圖7所示。
(a) 最優(yōu)軌跡優(yōu)化效果 (b) 軌跡跟蹤
由圖7a直觀地觀察到,僅改變變異因子的改進差分進化算法與傳統(tǒng)差分進化算法,其最優(yōu)軌跡與理想軌跡有細微靠近;僅改變交叉因子的改進差分進化算法,其最優(yōu)軌跡與理想軌跡雖有明顯靠近,但全程存在誤差;而改進差分算法(包括改變變異因子與交叉因子),最優(yōu)軌跡與理想軌跡有明顯接近,僅在后期存在較小偏差。由圖7b軌跡跟蹤效果圖看出,僅改變變異因子的改進差分進化算法與傳統(tǒng)差分進化算法,其跟蹤運動軌跡與理想軌跡雖誤差變小但不明顯;僅改變交叉因子的改進差分進化算法,其跟蹤運動軌跡與理想軌跡誤差雖然較小但全程存在;而改進差分算法(包括改變變異因子與交叉因子),跟蹤運動軌跡與理想軌跡在前期基本擬合,僅在后期存在較小誤差。
傳統(tǒng)差分進化算法、僅改進變異因子的差分進化算法、僅改變交叉因子改進進化算法以及改進差分算法(包括改變變異因子與交叉因子),仿真結(jié)果數(shù)據(jù)表如表3和表4所示。
表3 最優(yōu)軌跡數(shù)據(jù)
表4 理想軌跡、最優(yōu)軌跡、軌跡跟蹤數(shù)據(jù)
通過表3最優(yōu)軌跡數(shù)據(jù)與表4理想軌跡、最優(yōu)軌跡、軌跡跟蹤數(shù)據(jù)對比,可以看出傳統(tǒng)差分進化算法和改進差分進化算法在X軸方向不發(fā)生改變,改進后的方案只作用在Y軸方向上,選擇與理想數(shù)據(jù)更為接近的算法將有利于改善控制系統(tǒng)精度的問題。在兩組數(shù)據(jù)對比中,改進差分進化算法(包括改變變異因子與交叉因子)極差與標(biāo)準(zhǔn)與理想數(shù)據(jù)最為貼近,誤差普遍縮小了0.15%。
以單關(guān)節(jié)機械臂為研究對象,提出了一種改進差分進化算法,改變變異因子確保樣本的多樣性,又提高了后期進行搜索的能力,改變交叉因子提供了更好的迭代空間。
(1)4種算法控制下的軌跡優(yōu)化在0~0.4 s之間,只有改進差分進化算法與理想軌跡高度契合;在0.4 s后,4種算法均產(chǎn)生誤差,相較之下,改進差分進化算法誤差距離較小;
(2)4種算法控制下的理想軌跡、最優(yōu)軌跡、軌跡跟蹤在0~0.4 s之間,只有改進差分進化算法軌跡跟蹤與理想軌跡、最優(yōu)軌跡更為擬合;在0.4 s后,4種算法均產(chǎn)生誤差,相較之下,改進差分進化算法誤差距離較小且跟蹤軌跡與理想軌跡、最優(yōu)軌跡的相似度較高。
通過對改進前后的仿真結(jié)果分析表明,改進差分算法相比起傳統(tǒng)差分算法、僅改變單個因子差分進化算法,所得到的實際軌跡更接近理想軌跡且誤差更小,在一定程度上提高了機械臂控制系統(tǒng)運動軌跡精度。