蔣清澤,王宏濤
南京航空航天大學(xué) 機(jī)電學(xué)院,江蘇 南京 210016
關(guān)節(jié)機(jī)器人是一個(gè)強(qiáng)耦合、高非線性的復(fù)雜系統(tǒng),其軌跡跟蹤控制是調(diào)整每個(gè)關(guān)節(jié)電機(jī)輸出的控制扭矩,使得關(guān)節(jié)角度能夠達(dá)到期望值[1]。關(guān)節(jié)機(jī)器人軌跡跟蹤常用的控制方法主要有基于機(jī)器人模型的運(yùn)動(dòng)控制方法、PID控制、滑模控制和模糊控制等。其中PID控制技術(shù)成熟且易于實(shí)現(xiàn),被廣泛應(yīng)用于機(jī)器人軌跡跟蹤控制中,但PID算法難以實(shí)現(xiàn)非線性系統(tǒng)的高精度控制[2]。因此,有學(xué)者提出利用模糊控制無(wú)須依靠精確數(shù)學(xué)模型便能對(duì)非線性系統(tǒng)良好逼近的特性,采用模糊PID控制實(shí)現(xiàn)機(jī)器人軌跡跟蹤控制[3]。然而,在實(shí)際應(yīng)用中,控制器輸出力矩具有飽和性,如何設(shè)計(jì)模糊PID控制器使其在有限的輸出力矩下達(dá)到理想的控制效果是需要專業(yè)人員的經(jīng)驗(yàn),存在設(shè)計(jì)不當(dāng)難以獲得最佳效果的不足。均衡評(píng)估控制力矩和軌跡跟蹤控制效果這2個(gè)優(yōu)化目標(biāo)可以通過多目標(biāo)優(yōu)化算法對(duì)模糊PID控制的隸屬函數(shù)和模糊規(guī)則進(jìn)行尋優(yōu)調(diào)整來(lái)實(shí)現(xiàn)[4?5]。粒子群算法(PSO)是一種模擬鳥群覓食的啟發(fā)式算法優(yōu)化技術(shù),已成功應(yīng)用于多種優(yōu)化問題[6]。已有文獻(xiàn)證明PSO在單目標(biāo)優(yōu)化上具有較快的收斂速度和較好的優(yōu)化結(jié)果,在多目標(biāo)優(yōu)化問題上具有較大優(yōu)勢(shì)[7]。Mahmoodabadi等[8]用多目標(biāo)粒子群算法對(duì)非線性系統(tǒng)的模糊控制器進(jìn)行優(yōu)化,提高了模糊控制器對(duì)非線性系統(tǒng)的控制精度;進(jìn)一步以控制偏差和控制器輸出力矩作為2個(gè)優(yōu)化目標(biāo),采用多目標(biāo)粒子群算法對(duì)雙足機(jī)器人軌跡跟蹤滑??刂七M(jìn)行了優(yōu)化,驗(yàn)證了多目標(biāo)粒子群算法在多目標(biāo)優(yōu)化中的優(yōu)越性[9]。
本文以控制器輸出力矩和軌跡跟蹤偏差為2個(gè)優(yōu)化目標(biāo),實(shí)現(xiàn)改進(jìn)多目標(biāo)PSO算法優(yōu)化模糊控制器的隸屬函數(shù)和模糊規(guī)則優(yōu)化調(diào)整。首先設(shè)計(jì)了機(jī)器人軌跡跟蹤模糊PID控制器;然后根據(jù)模糊PID控制器的多目標(biāo)優(yōu)化問題,設(shè)計(jì)改進(jìn)多目標(biāo)PSO算法;最后分別使用改進(jìn)多目標(biāo)PSO和基本多目標(biāo)PSO應(yīng)用于模糊PID控制的多目標(biāo)優(yōu)化問題,對(duì)比分析了2種優(yōu)化算法的優(yōu)化結(jié)果。
機(jī)器人軌跡跟蹤模糊PID控制系統(tǒng)如圖1所示,圖中qd和q分別表示六關(guān)節(jié)機(jī)器人各關(guān)節(jié)期望角度和實(shí)際角度;e表示qd與q的偏差,e=qd?q;ec表示偏差變化率,ec=de/dt;圖1虛線部分表示模糊控制器,其中e和ec是模糊控制器的輸入變量,ΔKP、ΔKI、ΔKD表 示PID調(diào)整參數(shù),是模糊控制器的輸出變量;τ表示模糊PID控制器的輸出控制力矩??刂七^程為:首先模糊控制器根據(jù)e和ec的值通過模糊化、模糊推理和解模糊得到PID調(diào)整參數(shù);然后實(shí)現(xiàn)PID控制器3個(gè)參數(shù)的在線自適應(yīng)調(diào)整,如式(1),根據(jù)式(2)輸出控制力矩;最后將控制力矩作用于機(jī)器人,得到實(shí)際關(guān)節(jié)角度,并反饋給比較器。
圖1 機(jī)器人軌跡跟蹤模糊PID控制系統(tǒng)
式中:KP0、KI0、KD0為 PID參數(shù)的初值;t為時(shí)間。
模糊PID控制器中的模糊控制器輸入變量偏差e和偏差變化率ec以及輸出變量ΔKP、ΔKI、ΔKD的 模糊集個(gè)數(shù)均設(shè)計(jì)為7個(gè),其模糊集取為{NL,NM, NS, ZE, PS, PM, PL},即{負(fù)大, 負(fù)中, 負(fù)小, 零,正小, 正中, 正大}。模糊集隸屬函數(shù)選取三角形隸屬函數(shù),根據(jù)隸屬函數(shù)的特性,某變量所有的模糊集的隸屬函數(shù)關(guān)于Y軸對(duì)稱,且將某一個(gè)三角隸屬函數(shù)的“左腳”和“右腳”分別設(shè)置為相鄰左右2個(gè)三角隸屬函數(shù)的頂點(diǎn)橫坐標(biāo),如圖2所示。故在設(shè)計(jì)每一個(gè)變量的隸屬函數(shù)時(shí),需要確定其論域,以及Y軸某一側(cè)3個(gè)參數(shù)X1、X2、X3。模糊PID控制器所有變量的隸屬函數(shù)具體參數(shù)如表1所示。
圖2 三角形隸屬函數(shù)
表1 模糊PID控制器輸入輸出變量隸屬函數(shù)設(shè)計(jì)
2個(gè)輸入變量e和ec的模糊集個(gè)數(shù)為7,可得輸出變量ΔKP、ΔKI、ΔKD的每一個(gè)變量所對(duì)應(yīng)的模糊規(guī)則均為49條,每條模糊規(guī)則的形式為
本文設(shè)計(jì)的ΔKP、ΔKI、ΔKD的 模糊規(guī)則如表2所示,數(shù)字1~7分別代表NL、NM、NS、ZE、PS、PM、PL。
表2 ΔKP/Δ KI/Δ KD的模糊規(guī)則表
忽略關(guān)節(jié)摩擦和末端負(fù)載,六關(guān)節(jié)機(jī)器人動(dòng)力學(xué)方程可以寫成如下形式
為了對(duì)六關(guān)節(jié)機(jī)器人進(jìn)行仿真,根據(jù)上述建立的動(dòng)力學(xué)方程式(3)可計(jì)算方程中關(guān)節(jié)角加速度
由t時(shí)刻的關(guān)節(jié)角加速度,假設(shè)時(shí)間步長(zhǎng)Δt內(nèi)不變化, 在初始條件為的情況下,對(duì)當(dāng)前t時(shí)刻關(guān)節(jié)信息qt和進(jìn)行數(shù)值積分, 計(jì)算出下一時(shí)刻t+Δt的角速度和關(guān)節(jié)角qt+Δt為
優(yōu)化機(jī)器人軌跡跟蹤模糊PID控制,需要將待優(yōu)化參數(shù)進(jìn)行編碼形成一個(gè)決策向量。粒子群算法中的決策向量為某個(gè)粒子i的位置向量xi,具體表達(dá)為
式中:D為優(yōu)化問題中待優(yōu)化參數(shù)的個(gè)數(shù)。
PSO優(yōu)化模糊PID控制的粒子位置向量xi中的元素所代表的參數(shù)及參數(shù)取值范圍如表3所示,其中元素xi,1?xi,15分別表示輸入變量e、ec和輸出變量ΔKP、ΔKI、ΔKD的隸屬函數(shù)中心頂點(diǎn)值,每個(gè)變量需指定3個(gè)中心頂點(diǎn)值,故5個(gè)變量需要15個(gè)表示模糊PID控制器隸屬函數(shù)的設(shè)計(jì)參數(shù);模糊PID控制器總共有3個(gè)規(guī)則表,每個(gè)規(guī)則表有49條模糊規(guī)則結(jié)果需要設(shè)計(jì),故需要3×49=147個(gè)元素表示,即xi,16?xi,64、xi,65?xi,113、xi,114?xi,162分別表示ΔKP、ΔKI、ΔKD規(guī)則的49條模糊規(guī)則。故總共需要162位元素基來(lái)表示,D=162。
表3 粒子位置向量參數(shù)
模糊PID控制有2個(gè)優(yōu)化目標(biāo)函數(shù),分別與軌跡跟蹤偏差和控制器輸出力矩有關(guān),如式(7)所示,則目標(biāo)向量為f=(f1,f2)。
式中:e(t)為t時(shí)刻的機(jī)器人笛卡爾空間仿真軌跡與期望軌跡的偏差;τn(t)為t時(shí) 刻模糊PID控制器作用在第n個(gè) 關(guān)節(jié)的輸出力矩;T為運(yùn)行模糊PID控制器完成一次軌跡跟蹤控制仿真的總時(shí)間。
模糊PID控制器多目標(biāo)優(yōu)化時(shí),最小化控制器輸出力矩可能導(dǎo)致軌跡跟蹤誤差的提高,因此需要在這2個(gè)互相沖突的目標(biāo)中找到權(quán)衡的解,而這樣的解不唯一。2個(gè)粒子的位置向量x1和x2,若對(duì)于?k=1,2,有fk(x1)≤fk(x2),且對(duì)于?k=1,2有fk(x1)<fk(x2),稱x1支配x2;否則稱x1與x2為非支配關(guān)系。多目標(biāo)優(yōu)化算法的任務(wù)是找到所有不被其他粒子位置向量支配的粒子所對(duì)應(yīng)的目標(biāo)向量f=(f1,f2)的集合,這些目標(biāo)向量互為非支配關(guān)系,其集合稱為非支配解集。
粒子群算法是通過各個(gè)粒子位置的不斷調(diào)整,使得粒子不斷向最優(yōu)位置移動(dòng)。算法中每個(gè)粒子均具有形如[xi,1(k),xi,2(k),···,xi,D(k)]的位置向量xi(k)和形如[vi,1(k),vi,2(k),···,vi,D(k)]的速度向量vi(k),其中,i=1,2,···,S是粒子在粒子群中的序號(hào),k為迭代次數(shù),S是粒子群的個(gè)數(shù)。
改進(jìn)多目標(biāo)PSO算法優(yōu)化機(jī)器人軌跡跟蹤控制模糊PID控制器的流程如圖3所示,算法主要步驟如下。
圖3 多目標(biāo)粒子群算法優(yōu)化模糊PID控制器流程
1)生成初始粒子種群:根據(jù)表3,隨機(jī)生成S個(gè)形如[xi,1(0),xi,2(0),···,xi,162(0)]的粒子位置向量xi(0),且初始種群為{x1(0),x2(0),···,xS(0)},設(shè)置初始種群中所有粒子的速度向量vi(0)=0。
2)更新粒子群:設(shè)置第k代粒子群為當(dāng)前粒子群。
3)更新隸屬函數(shù)和模糊規(guī)則:讀取當(dāng)前粒子群中第j(j=1,2,···,S)個(gè)粒子的位置向量,根據(jù)編碼xi,1(k)?xi,10(k)生成新的輸入變量e、ec和輸出變量ΔKP、ΔKI、ΔKD的隸屬函數(shù),更新隸屬函數(shù);根據(jù)編碼xi,11(k)?xi,63(k)產(chǎn)生新的輸出變量ΔKP、ΔKI、ΔKD的 模糊規(guī)則,更新模糊規(guī)則。
4)計(jì)算目標(biāo)函數(shù)值:運(yùn)行模糊PID控制器完成軌跡跟蹤控制仿真,獲得仿真控制中t時(shí)刻機(jī)器人仿真軌跡與期望軌跡的偏差e(t)和各關(guān)節(jié)控制器的輸出ui(t),根據(jù)式(7)計(jì)算目標(biāo)向量f=(f1,f2)。
5)判斷是否遍歷S個(gè)粒子:若粒子數(shù)量j不滿足j>S,則j+1,進(jìn)入步驟3);若滿足j>S,則進(jìn)入步驟6)。
6)更新個(gè)體檔案和全局檔案:個(gè)體檔案和全局檔案分別是存儲(chǔ)個(gè)體最佳位置和全局最優(yōu)粒子的非支配解集。每個(gè)粒子均有自己的個(gè)體檔案,而全局檔案為所有粒子共享。個(gè)體檔案和全局檔案是為步驟8中選擇pbest和gbest做準(zhǔn)備。若當(dāng)代粒子群中的粒子與檔案中的解集為非支配關(guān)系,則將該粒子添加到檔案中。
7)判斷是否終止優(yōu)化算法:判斷粒子迭代次數(shù)k是否達(dá)到設(shè)定值,若到達(dá)最大值,則結(jié)束優(yōu)化算法,返回當(dāng)前全局檔案中的粒子位置向量;若未到達(dá),則進(jìn)入步驟8)。
8)選擇pbest和gbest:需從個(gè)體檔案和全局檔案中的非支配解集中分別選擇出來(lái)一個(gè)確定的值。選擇pbest和gbest的具體方法如下,首先對(duì)于每一個(gè)粒子均被賦予一個(gè)值σi,且對(duì)于個(gè)人檔案和全局檔案中的每個(gè)粒子也被賦予一個(gè)值σpi和σgi,目標(biāo)函數(shù)值為f=(f1,f2)的粒子值σ被定義為
然后將個(gè)體檔案和全局檔案中粒子σpi和σgi最接近粒子i的σi的檔案成員作為該粒子的向?qū)best和gbest。
9)計(jì)算速度向量所需參數(shù):速度向量所需參數(shù)分別為第k代粒子的慣性權(quán)重ω(k)、正加速度系數(shù)c1(k)和c2(k),其具體計(jì)算公式如式(9)—式(11)所示
式中:nk為算法設(shè)置的最大迭代次數(shù);ω(0)和ω(nk)分別為初始慣性權(quán)重和最終慣性權(quán)重;ω(k)為第k代的慣性權(quán)重,且ω(0)≥ω(nk)。
式中:c1(0)和c1(nk)分別為c1的初值與終值;c2(0)和c2(nk)分別為c2的初值與終值,且c1(0)≥c1(nk),c2(0)≤c2(nk)。
10)計(jì)算粒子速度向量:下一次迭代的速度向量vi(k+1)中第d維速度計(jì)算如式(12)所示
式中:Vmax,d為第d維上允許的最大速度;計(jì)算如式(13)所示
式中:xi,d(k)和vi,d(k)分別為在k時(shí)刻粒子i第d維上的位置和速度,d=1,2,···,D;ω為慣性權(quán)重系數(shù);pbesti,d(k)為粒子i從個(gè)體檔案中選擇出來(lái)的pbest的第d維,gbestd(k)為在k時(shí)刻當(dāng)前全局檔案中選擇出來(lái)的gbest的第d維;系數(shù)r1、r2則為在區(qū)間[0,1]上服從均勻分布U(0,1)的隨機(jī)數(shù)。
11)更新粒子位置:根據(jù)式(14)更新粒子位置向量xi(k+1):
12)粒子位置變異:根據(jù)式(15)對(duì)新粒子群中的粒子位置進(jìn)行變異,進(jìn)入步驟2)。
式中:xi,d為粒子i在第d維上的值;xd,max和xd,min分別為粒子在第d維上值的上界與下界;系數(shù)r為在區(qū)間[0,1]上服從均勻分布U(0,1)的隨機(jī)數(shù)。
在機(jī)器人軌跡跟蹤控制仿真中,設(shè)笛卡爾空間的期望軌跡為一段螺旋線,其參數(shù)方程如下
式中:t為時(shí)間;Tc為周期時(shí)長(zhǎng);x、y、z分別為笛卡爾空間的坐標(biāo)值。
六關(guān)節(jié)機(jī)器人的D-H參數(shù)如表4所示。根據(jù)機(jī)器人運(yùn)動(dòng)學(xué)可將笛卡爾空間的期望軌跡轉(zhuǎn)換成機(jī)器人關(guān)節(jié)空間各個(gè)關(guān)節(jié)的期望角度軌跡,如圖4所示。本文搭建的機(jī)器人軌跡跟蹤模糊PID控制的MATLAB仿真系統(tǒng)如圖5所示,仿真步長(zhǎng)Δt=0.01 s,仿真總時(shí)長(zhǎng)T=10 s。運(yùn)用該控制器可以得到各個(gè)時(shí)刻各關(guān)節(jié)角度的仿真值和輸出力矩值,用于計(jì)算優(yōu)化算法中式(7)的2個(gè)目標(biāo)函數(shù)值f1、f2,按照?qǐng)D3的流程圖,設(shè)置表5的優(yōu)化算法參數(shù),運(yùn)行上述設(shè)計(jì)的控制仿真系統(tǒng),完成關(guān)節(jié)機(jī)器人軌跡跟蹤模糊PID控制器的改進(jìn)多目標(biāo)PSO優(yōu)化。
表4 關(guān)節(jié)機(jī)器人D-H參數(shù)表
圖4 關(guān)節(jié)空間期望角度軌跡
圖5 機(jī)器人軌跡跟蹤模糊PID控制的MATLAB仿真系統(tǒng)
表5 NSGA II優(yōu)化算法參數(shù)
分別采用帶精英策略的非支配排序遺傳算法(NSGA II)、多目標(biāo)基本粒子群算法(MOPSO)和改進(jìn)多目標(biāo)粒子群算法(Modify MOPSO)進(jìn)行軌跡跟蹤模糊PID控制器優(yōu)化。NSGA II優(yōu)化算法的參數(shù)設(shè)置如表5所示,2種粒子群優(yōu)化算法的參數(shù)設(shè)置如表6所示。通過3種優(yōu)化算法優(yōu)化后得到的非支配解集如圖6所示,解集中各個(gè)解的2個(gè)目標(biāo)函數(shù)值如表7所示。從圖6可以看出,Modify PSO的解集分布較廣且均勻,而通過MOPSO得到的部分解集在某一個(gè)區(qū)域比較集中,且涵蓋的范圍較小,由NSGA II所得到的解集雖然分布較廣,但分布不均勻。采用能夠同時(shí)評(píng)價(jià)解集收斂性和多樣性的超體積指標(biāo)來(lái)比較3種優(yōu)化算法獲得的非支配解集,超體積越大說(shuō)明算法綜合性能越好。設(shè)置超體積的計(jì)算參考點(diǎn)為(36.5,14 900),NSGA II、MOPSO和Modify MOPSO的超體積分別為885.4、3 369.1和7 247.6,可見Modify PSO獲得的非支配解集最優(yōu)。
表6 MOPSO和Modify MOPSO優(yōu)化算法參數(shù)
表7 目標(biāo)函數(shù)值
圖6 多目標(biāo)優(yōu)化結(jié)果
綜上,改進(jìn)多目標(biāo)PSO算法應(yīng)用于關(guān)節(jié)機(jī)器人軌跡跟蹤模糊PID控制器的多目標(biāo)優(yōu)化問題,可以得到比基本多目標(biāo)PSO算法和NSGA II更優(yōu)的非支配解集,驗(yàn)證了該算法在機(jī)器人軌跡跟蹤模糊PID控制優(yōu)化上有效性和優(yōu)越性。
本文設(shè)計(jì)了一個(gè)模糊PID控制器應(yīng)用于六關(guān)節(jié)機(jī)器人軌跡跟蹤控制,以控制器輸出力矩和軌跡跟蹤偏差為2個(gè)優(yōu)化目標(biāo),實(shí)現(xiàn)了改進(jìn)多目標(biāo)PSO算法優(yōu)化模糊控制器的隸屬函數(shù)和模糊規(guī)則優(yōu)化調(diào)整。對(duì)比改進(jìn)多目標(biāo)PSO和基本多目標(biāo)PSO算法、遺傳算法應(yīng)用于關(guān)節(jié)機(jī)器人軌跡跟蹤模糊PID控制器的多目標(biāo)問題,結(jié)果表明,改進(jìn)PSO獲得的非支配解集更好,驗(yàn)證了該算法應(yīng)用于機(jī)器人軌跡跟蹤模糊PID控制優(yōu)化的有效性和優(yōu)越性。進(jìn)一步的研究工作是繼續(xù)探索多目標(biāo)PSO算法與其他優(yōu)化算法(如蟻群算法、神經(jīng)網(wǎng)絡(luò)算法等)實(shí)現(xiàn)機(jī)器人軌跡跟蹤控制器優(yōu)化的效果,進(jìn)行對(duì)比分析。