沈孝龍,王吉芳,秦宇飛,曹佳慶
(北京信息科技大學機電工程學院,北京 100192)
機械手系統(tǒng)在運行中不可避免的會產生振蕩,使系統(tǒng)穩(wěn)定性與軌跡控制效果變差,還會消耗額外能量。在固定時間定點位置運動中,運動軌跡不同產生的振蕩也不同。因此,有必要研究出一種最優(yōu)軌跡控制器使系統(tǒng)運行平穩(wěn),降低不必要能量消耗。
因軌跡規(guī)劃屬最優(yōu)化問題,常規(guī)法很難求得全局最優(yōu)解,而智能優(yōu)化算法處理此類問題表現(xiàn)出色,并且可用來優(yōu)化各種形式的定點運動,受到眾多學者的研究。萬子剛等[1]采用差分進化和前饋補償方法對模糊PID控制系統(tǒng)進行優(yōu)化,提高了并聯(lián)液壓機械臂運動軌跡追蹤精度。徐慶增等[2]利用自適應差分進化算法對采摘機械臂軌跡進行優(yōu)化,提高了動作穩(wěn)定性與軌跡跟蹤精度。史義等[3]改造基本差分進化算法控制參數(shù)和變異策略,提高了機械手軌跡運行穩(wěn)定性與跟蹤精度。王琦等[4]基于改進差分進化算法降低了平面四桿機構運動軌跡誤差,性能勝于傳統(tǒng)軌跡規(guī)劃方法。余陽等[5]提出一種罰函數(shù)與修復的混合遺傳算法,提高了機械臂工作效率與軌跡運行平穩(wěn)性。黃自鑫等[6]利用遺傳算法與差分進化算法的融合,改進滑模變結構控制器以跟蹤機械臂軌跡,性能顯著提升。韓亞軍等[7]將差分進化與粒子群融合優(yōu)化B樣條曲線規(guī)劃機械臂運動,使角位移跟蹤誤差較小,誤差峰值降低48.2%。
上述學者大都基于常規(guī)規(guī)劃方法與智能優(yōu)化算法相結合設計機械手的軌跡規(guī)劃器,提高系統(tǒng)穩(wěn)定性與控制精度,少有考慮機械手運行過程中因振蕩產生的額外能量消耗問題且優(yōu)化性能出色的差分進化算法仍有改進空間?;诖耍O計一種基于改進差分進化算法的機械手最優(yōu)軌跡控制器,并進行不同方法的仿真實驗對比,證明所提算法能使機械手運行軌跡精度更高、能量消耗更少,魯棒性更強。
n關節(jié)機械手動力學方程描述[8]如下:
(1)
(2)
PD控制律為:
(3)
式中,Kp>0;Kd>0。
(4)
即:
(5)
取Lyapunov(李雅普諾夫)函數(shù)為:
(6)
由D(q)及Kp正定性知,V亦正定,則:
(7)
(8)
假設參考軌跡是在定點運動的擺線軌跡上[3],方程如下:
(9)
(10)
(11)
機械手最優(yōu)軌跡可由優(yōu)化軌跡與擺線軌跡間的偏差間接獲取。假如系統(tǒng)最終運動到穩(wěn)定狀態(tài)的最長時間為Tmax,根據能量守恒定理,可用非保守力做功表示機械手系統(tǒng)在運行過程中消耗的能量W,故第i關節(jié)目標函數(shù)定義為[8]:
(12)
式中,i為關節(jié)數(shù);αi為權值;τi為控制輸入;Δhi為實際軌跡與理想軌跡間偏差,Δhi=qopi(tj)-qri(tj)。n關節(jié)機械手總目標函數(shù)為:
W=W1+W2+...+Wn
(13)
運行本文不同改進算法來優(yōu)化式(13),使W值最小,獲得最優(yōu)能量消耗。通過優(yōu)化算法可得到任意關節(jié)機械手的最優(yōu)離散軌跡:
(14)
為得到連續(xù)軌跡,選擇三次樣條插值使軌跡連續(xù)化,其表達式為:
qi(t)=at3+bt2+ct+d,i=1,2,...,n-1
(15)
為確定系數(shù)a、b、c、d,根據插值的邊界條件可得:
(16)
插值節(jié)點為:
(17)
將插值產生的連續(xù)函數(shù)qopi(m)當作第i個機械手關節(jié)角度跟蹤的最優(yōu)軌跡。
差分進化(differential evolution,DE)是一種處理最優(yōu)化問題行之有效的算法,與經典遺傳算法一脈相承[11]。但因其有出色的全局優(yōu)化性和魯棒性,廣泛在連桿機構、機械臂軌跡規(guī)劃、混合流水車間調度問題等工程優(yōu)化領域運用。算法通過模擬達爾文“優(yōu)勝劣汰、適者生存”思想,利用上代向量間差分的原理進行種群的進化更新產生變異新個體以求得所優(yōu)化問題的最優(yōu)解[12]。算法優(yōu)劣主要由初始種群產生策略和變異、交叉策略決定,眾多學者對此進行了大量研究和改進。
經典DE算法采用隨機分布法產生初始種群,種群內個體多樣性差,使最優(yōu)解質量與收斂速度并不理想[13]?;煦邕\動獨特的隨機性和遍歷不重復性對生成多樣性的個體有優(yōu)勢,可以促使初始種群內個體盡可能均勻分布于搜索空間。為提升最優(yōu)解質量和保持群落里個體多樣性,采用混沌映射對初始種群及子代種群進行改造,以提升算法優(yōu)化能力。
一維Logistic映射原理如下:
xμ+1=δxμ(1-xμ),x∈[0,1]
(18)
式中,xμ為混沌變量,當δ=4時,系統(tǒng)表現(xiàn)為混沌態(tài),xμ于[0,1]范圍隨機取值。(0,0.25,0.5,0.75,1)稱作一維Logistic映射的5個不動點。對群落初始化的改造其實就是將混沌映射與隨機分布法產生的兩個群落內的個體元素適應值逐一相互比較,挑出前Np個最優(yōu)個體當作初始群落,方法如下:
步驟1:隨機分布法生成群落A;
xmn,1=xnmin+rand×(xnmax-xnmin)
(19)
式中,m=1,2,...,NP;n=1,2,...,D;rand∈[0,1];xnmax、xnmin為第n個變量的上屆與下屆。
步驟2:隨機產生數(shù)x1∈(0,1),但x1不可以為上述5個不動點,從x1起,根據式(18)產生混沌序列;
{x1,x2,...,xNP×D}
(20)
步驟3:將式(20)按行排生成混沌矩陣;
(21)
步驟4:把式(21)的元素映射到種群個體每一維,xmn∈[xnmin,xnmax],得到混沌初始群落B;
xmn=xnmin+xm,n×(xnmax-xnmin)
(22)
步驟5:計算群落A∪B中所有元素的適應度值,從小到大排,選擇前NP個元素作為最終初始群落P。
隨著迭代的不斷進行,種群中隨機分布的個體會逐漸聚集,此時可能發(fā)生局部收斂情況,從而難搜索到全局最優(yōu)解。為此,本文每隔一定代數(shù)M重構種群,在迭代過程中,剔除部分高聚集個體,通過遷移因子產生一些新個體補償,來保持種群多樣性,使搜索能跳出局部最優(yōu)解,提高全局收斂能力。
假設當前最優(yōu)個體的適應值為best_unit_value,M代前最優(yōu)個體的適應值為lastbest_unit_value,用二者之比表示進化效果,即:
(23)
σ越小,進化效果越好,反之亦然。當σ>ε時,通過二次混沌映射對子代群落進行重建,ε為設定的閾值,方法如下:
步驟1:執(zhí)行3.1節(jié)的步驟2與步驟3;
步驟2:把式(21)的元素映射到群落個體每一維,xmn∈[xnmin,xnmax],產生混沌遷移量;
(24)
步驟3:基于子代群落P,按下式進行混沌遷移,生成一新群落C。g∈[ 0,1 ]為遷移度;
(25)
步驟4:計算群落P∪C中元素的適應值,從小到大排,挑出前NP個元素到下次迭代的父代群落PG+1。
影響DE算法優(yōu)化性能的主要參數(shù)有縮放因子F、交叉概率CR和種群規(guī)模NP。通常F對優(yōu)化結果影響最大,一般F∈[0.5,1],CR∈[0.8,1],NP∈[5D,10D],D為問題空間維數(shù)[14]。最優(yōu)參數(shù)值選取常常與求解的問題相關,為擺脫這一束縛,應使控制參數(shù)在迭代過程中在一定范圍內自適應變化。
3.3.1 自適應縮放因子
在變異操作時,隨機從種群內選取三個個體,并且保證這三個個體互異,則基本變異方法為:
hij(t+1)=xp1j(t)+F(xp2j(t)-xp3j(t))
(26)
式中,xp2j(t)-xp3j(t)為差異化向量;F為變異因子,是控制種群內個體多樣性與收斂性重要參數(shù)。閱讀相關文獻后發(fā)現(xiàn),F(xiàn)一般取值在[0.3,0.6]之間優(yōu)化效果最好。在迭代初期F取較大值,有利于全局搜索,維持種群個體多樣性,但收斂速度減慢。在迭代后期,收斂時希望F較小有利于局部搜索,提高搜索精度。故提出自適應F如下:
(27)
式中,G為最大迭代數(shù);m為當前迭代數(shù)。大量實驗表明當Fmin=0.40,Fmax=0.55優(yōu)化性能好。
3.3.2 自適應交叉概率
基本DE算法的交叉概率為固定值,不利于算法優(yōu)化性能的提升。一般希望交叉概率能隨適應值變化而自適應的在一定范圍內變化。在迭代前期適應值大應取較小值,有利于適應度好的個體進入下一代。在后期算法局部收斂前,取較大值,加速新個體的生成,保持種群多樣性。故提出自適應CR如下:
(28)
大量實驗結果表明當CRmin=0.6,CRmax=0.9時優(yōu)化性能好。
經變異操作后的試驗個體可能會越出邊界范圍,需要對這些個體處理,運用最多的方法是隨機再初始化法,但隨機性強,易丟失原變異個體信息。而對稱映射法能將越界個體轉換成一個相對于邊界對稱的數(shù)值,減小隨機性,保留原部分變異個體信息,提高算法收斂精度。方法如下:
(29)
為驗證差分進化算法出色的優(yōu)化性能及所提算法的有效性,在MATLAB仿真軟件中分別進行基本差分進化(DE)、自適應差分進化(ADE即只采用文章中3.3節(jié)改進方法)、混沌-自適應差分進化(CADE即采用文章第3大節(jié)所述改進方法)以及基本GA算法[5-6]的仿真實驗。為對比公平,相同非改進參數(shù)取值相同。插值點橫坐標固定選取,縱坐標在始末點間隨機選取。仿真對象為二關節(jié)機械手系統(tǒng),參數(shù)如表1所示。
表1 仿真參數(shù)設置
仿真試驗中,所有算法使用MATLAB R2016 b進行編程,PC配置為:Intel Core i5-4210H、2.9 GHz、12 GB、Windows10。
將各算法分別獨立連續(xù)運行20次取平均值作為實驗結果,驗證算法可靠性。各算法仿真試驗的最優(yōu)適應值(fbest)、最差適應值(fworst)、第50代平均適應值(F50)及標準差ξ如表2所示;各算法平均適應值變化曲線如圖1所示;各算法最優(yōu)適應值對應的優(yōu)化效果如圖2~圖4所示。
表2 不同算法的性能指標統(tǒng)計
圖1 不同算法平均適應值變化
(a) 關節(jié)角度跟蹤 (b) 關節(jié)優(yōu)化路徑
(c) 控制信號輸入圖2 GA算法實驗結果
(a) 關節(jié)角度跟蹤 (b) 關節(jié)優(yōu)化路徑
(c) 控制信號輸入圖3 DE算法實驗結果
(a) 關節(jié)角度跟蹤 (b) 關節(jié)優(yōu)化路徑
(c) 控制信號輸入圖4 CADE算法實驗結果
由表2及圖2可知,遺傳算法相比差分進化算法的全局優(yōu)化能力差,標準差最大,若使用遺傳算法優(yōu)化機械手運行軌跡難以取得理想效果。由表2及圖3可知,基本DE算法相比GA算法標準差降低10倍左右,優(yōu)化效果較好,但角度跟蹤與關節(jié)路徑優(yōu)化還有欠缺,誤差較大。不同改進DE算法標準差與平均能量逐漸降低。由表2及圖4可知,CADE算法相比基本DE算法平均能量降低17.43%,且該算法對于末端關節(jié)優(yōu)化效果顯著,在保證能量消耗較小時,第2關節(jié)最優(yōu)軌跡近似與參考軌跡重合,第1關節(jié)優(yōu)化效果較基本DE算法也有所提升,控制信號輸入穩(wěn)定,有利于滿足對跟蹤精度與動作穩(wěn)定性要求高的作業(yè)任務。
由圖1可知,基本GA算法比基本DE算法各代平均適應值都大且收斂速度較慢,再結合圖2與圖3的優(yōu)化效果看,GA算法的優(yōu)化結果并不理想,DE算法在保證較低適應值同時,優(yōu)化性能強于GA算法,表明DE算法有出色的全局優(yōu)化性與魯棒性。不同改進DE算法收斂速度較快,整體平均適應值逐漸降低,其中CADE算法優(yōu)化效果最出色,由圖4可知,關節(jié)路徑化效果好,角度跟蹤誤差小,魯棒性強,算法收斂速度較快,證明本文所提算法的有效性。
為提高機械手系統(tǒng)運行穩(wěn)定性與關節(jié)角跟蹤精度,設計一種基于改進差分進化算法的最優(yōu)軌跡規(guī)化器,并運用MATLAB仿真軟件檢驗算法有效性,得到如下結論:
(1)運用MATLAB軟件對機械手系統(tǒng)進行仿真,可以對系統(tǒng)輸出效果進行模擬,驗證算法的有效性,為接下來研究6DOF機械臂最優(yōu)軌跡規(guī)劃與控制奠定基礎。
(2)對比GA算法,仿真結果表明,同屬遺傳原理的差分進化算法優(yōu)化性能更好。不同改進DE算法中CADE算法的軌跡優(yōu)化收斂速度較快,魯棒性強,各評價指標最優(yōu),系統(tǒng)運行消耗的能量最小。