蔣清澤,王宏濤
南京航空航天大學 機電學院,江蘇 南京 210016
關節機器人是一個強耦合、高非線性的復雜系統,其軌跡跟蹤控制是調整每個關節電機輸出的控制扭矩,使得關節角度能夠達到期望值[1]。關節機器人軌跡跟蹤常用的控制方法主要有基于機器人模型的運動控制方法、PID控制、滑模控制和模糊控制等。其中PID控制技術成熟且易于實現,被廣泛應用于機器人軌跡跟蹤控制中,但PID算法難以實現非線性系統的高精度控制[2]。因此,有學者提出利用模糊控制無須依靠精確數學模型便能對非線性系統良好逼近的特性,采用模糊PID控制實現機器人軌跡跟蹤控制[3]。然而,在實際應用中,控制器輸出力矩具有飽和性,如何設計模糊PID控制器使其在有限的輸出力矩下達到理想的控制效果是需要專業人員的經驗,存在設計不當難以獲得最佳效果的不足。均衡評估控制力矩和軌跡跟蹤控制效果這2個優化目標可以通過多目標優化算法對模糊PID控制的隸屬函數和模糊規則進行尋優調整來實現[4?5]。粒子群算法(PSO)是一種模擬鳥群覓食的啟發式算法優化技術,已成功應用于多種優化問題[6]。已有文獻證明PSO在單目標優化上具有較快的收斂速度和較好的優化結果,在多目標優化問題上具有較大優勢[7]。Mahmoodabadi等[8]用多目標粒子群算法對非線性系統的模糊控制器進行優化,提高了模糊控制器對非線性系統的控制精度;進一步以控制偏差和控制器輸出力矩作為2個優化目標,采用多目標粒子群算法對雙足機器人軌跡跟蹤滑模控制進行了優化,驗證了多目標粒子群算法在多目標優化中的優越性[9]。
本文以控制器輸出力矩和軌跡跟蹤偏差為2個優化目標,實現改進多目標PSO算法優化模糊控制器的隸屬函數和模糊規則優化調整。首先設計了機器人軌跡跟蹤模糊PID控制器;然后根據模糊PID控制器的多目標優化問題,設計改進多目標PSO算法;最后分別使用改進多目標PSO和基本多目標PSO應用于模糊PID控制的多目標優化問題,對比分析了2種優化算法的優化結果。
機器人軌跡跟蹤模糊PID控制系統如圖1所示,圖中qd和q分別表示六關節機器人各關節期望角度和實際角度;e表示qd與q的偏差,e=qd?q;ec表示偏差變化率,ec=de/dt;圖1虛線部分表示模糊控制器,其中e和ec是模糊控制器的輸入變量,ΔKP、ΔKI、ΔKD表 示PID調整參數,是模糊控制器的輸出變量;τ表示模糊PID控制器的輸出控制力矩。控制過程為:首先模糊控制器根據e和ec的值通過模糊化、模糊推理和解模糊得到PID調整參數;然后實現PID控制器3個參數的在線自適應調整,如式(1),根據式(2)輸出控制力矩;最后將控制力矩作用于機器人,得到實際關節角度,并反饋給比較器。

圖1 機器人軌跡跟蹤模糊PID控制系統

式中:KP0、KI0、KD0為 PID參數的初值;t為時間。
模糊PID控制器中的模糊控制器輸入變量偏差e和偏差變化率ec以及輸出變量ΔKP、ΔKI、ΔKD的 模糊集個數均設計為7個,其模糊集取為{NL,NM, NS, ZE, PS, PM, PL},即{負大, 負中, 負小, 零,正小, 正中, 正大}。模糊集隸屬函數選取三角形隸屬函數,根據隸屬函數的特性,某變量所有的模糊集的隸屬函數關于Y軸對稱,且將某一個三角隸屬函數的“左腳”和“右腳”分別設置為相鄰左右2個三角隸屬函數的頂點橫坐標,如圖2所示。故在設計每一個變量的隸屬函數時,需要確定其論域,以及Y軸某一側3個參數X1、X2、X3。模糊PID控制器所有變量的隸屬函數具體參數如表1所示。

圖2 三角形隸屬函數

表1 模糊PID控制器輸入輸出變量隸屬函數設計
2個輸入變量e和ec的模糊集個數為7,可得輸出變量ΔKP、ΔKI、ΔKD的每一個變量所對應的模糊規則均為49條,每條模糊規則的形式為

本文設計的ΔKP、ΔKI、ΔKD的 模糊規則如表2所示,數字1~7分別代表NL、NM、NS、ZE、PS、PM、PL。

表2 ΔKP/Δ KI/Δ KD的模糊規則表
忽略關節摩擦和末端負載,六關節機器人動力學方程可以寫成如下形式

為了對六關節機器人進行仿真,根據上述建立的動力學方程式(3)可計算方程中關節角加速度

由t時刻的關節角加速度,假設時間步長Δt內不變化, 在初始條件為的情況下,對當前t時刻關節信息qt和進行數值積分, 計算出下一時刻t+Δt的角速度和關節角qt+Δt為

優化機器人軌跡跟蹤模糊PID控制,需要將待優化參數進行編碼形成一個決策向量。粒子群算法中的決策向量為某個粒子i的位置向量xi,具體表達為

式中:D為優化問題中待優化參數的個數。
PSO優化模糊PID控制的粒子位置向量xi中的元素所代表的參數及參數取值范圍如表3所示,其中元素xi,1?xi,15分別表示輸入變量e、ec和輸出變量ΔKP、ΔKI、ΔKD的隸屬函數中心頂點值,每個變量需指定3個中心頂點值,故5個變量需要15個表示模糊PID控制器隸屬函數的設計參數;模糊PID控制器總共有3個規則表,每個規則表有49條模糊規則結果需要設計,故需要3×49=147個元素表示,即xi,16?xi,64、xi,65?xi,113、xi,114?xi,162分別表示ΔKP、ΔKI、ΔKD規則的49條模糊規則。故總共需要162位元素基來表示,D=162。

表3 粒子位置向量參數
模糊PID控制有2個優化目標函數,分別與軌跡跟蹤偏差和控制器輸出力矩有關,如式(7)所示,則目標向量為f=(f1,f2)。

式中:e(t)為t時刻的機器人笛卡爾空間仿真軌跡與期望軌跡的偏差;τn(t)為t時 刻模糊PID控制器作用在第n個 關節的輸出力矩;T為運行模糊PID控制器完成一次軌跡跟蹤控制仿真的總時間。
模糊PID控制器多目標優化時,最小化控制器輸出力矩可能導致軌跡跟蹤誤差的提高,因此需要在這2個互相沖突的目標中找到權衡的解,而這樣的解不唯一。2個粒子的位置向量x1和x2,若對于?k=1,2,有fk(x1)≤fk(x2),且對于?k=1,2有fk(x1)<fk(x2),稱x1支配x2;否則稱x1與x2為非支配關系。多目標優化算法的任務是找到所有不被其他粒子位置向量支配的粒子所對應的目標向量f=(f1,f2)的集合,這些目標向量互為非支配關系,其集合稱為非支配解集。
粒子群算法是通過各個粒子位置的不斷調整,使得粒子不斷向最優位置移動。算法中每個粒子均具有形如[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是粒子在粒子群中的序號,k為迭代次數,S是粒子群的個數。
改進多目標PSO算法優化機器人軌跡跟蹤控制模糊PID控制器的流程如圖3所示,算法主要步驟如下。

圖3 多目標粒子群算法優化模糊PID控制器流程
1)生成初始粒子種群:根據表3,隨機生成S個形如[xi,1(0),xi,2(0),···,xi,162(0)]的粒子位置向量xi(0),且初始種群為{x1(0),x2(0),···,xS(0)},設置初始種群中所有粒子的速度向量vi(0)=0。
2)更新粒子群:設置第k代粒子群為當前粒子群。
3)更新隸屬函數和模糊規則:讀取當前粒子群中第j(j=1,2,···,S)個粒子的位置向量,根據編碼xi,1(k)?xi,10(k)生成新的輸入變量e、ec和輸出變量ΔKP、ΔKI、ΔKD的隸屬函數,更新隸屬函數;根據編碼xi,11(k)?xi,63(k)產生新的輸出變量ΔKP、ΔKI、ΔKD的 模糊規則,更新模糊規則。
4)計算目標函數值:運行模糊PID控制器完成軌跡跟蹤控制仿真,獲得仿真控制中t時刻機器人仿真軌跡與期望軌跡的偏差e(t)和各關節控制器的輸出ui(t),根據式(7)計算目標向量f=(f1,f2)。
5)判斷是否遍歷S個粒子:若粒子數量j不滿足j>S,則j+1,進入步驟3);若滿足j>S,則進入步驟6)。
6)更新個體檔案和全局檔案:個體檔案和全局檔案分別是存儲個體最佳位置和全局最優粒子的非支配解集。每個粒子均有自己的個體檔案,而全局檔案為所有粒子共享。個體檔案和全局檔案是為步驟8中選擇pbest和gbest做準備。若當代粒子群中的粒子與檔案中的解集為非支配關系,則將該粒子添加到檔案中。
7)判斷是否終止優化算法:判斷粒子迭代次數k是否達到設定值,若到達最大值,則結束優化算法,返回當前全局檔案中的粒子位置向量;若未到達,則進入步驟8)。
8)選擇pbest和gbest:需從個體檔案和全局檔案中的非支配解集中分別選擇出來一個確定的值。選擇pbest和gbest的具體方法如下,首先對于每一個粒子均被賦予一個值σi,且對于個人檔案和全局檔案中的每個粒子也被賦予一個值σpi和σgi,目標函數值為f=(f1,f2)的粒子值σ被定義為

然后將個體檔案和全局檔案中粒子σpi和σgi最接近粒子i的σi的檔案成員作為該粒子的向導pbest和gbest。
9)計算速度向量所需參數:速度向量所需參數分別為第k代粒子的慣性權重ω(k)、正加速度系數c1(k)和c2(k),其具體計算公式如式(9)—式(11)所示

式中:nk為算法設置的最大迭代次數;ω(0)和ω(nk)分別為初始慣性權重和最終慣性權重;ω(k)為第k代的慣性權重,且ω(0)≥ω(nk)。

式中:c1(0)和c1(nk)分別為c1的初值與終值;c2(0)和c2(nk)分別為c2的初值與終值,且c1(0)≥c1(nk),c2(0)≤c2(nk)。
10)計算粒子速度向量:下一次迭代的速度向量vi(k+1)中第d維速度計算如式(12)所示

式中:Vmax,d為第d維上允許的最大速度;計算如式(13)所示

式中:xi,d(k)和vi,d(k)分別為在k時刻粒子i第d維上的位置和速度,d=1,2,···,D;ω為慣性權重系數;pbesti,d(k)為粒子i從個體檔案中選擇出來的pbest的第d維,gbestd(k)為在k時刻當前全局檔案中選擇出來的gbest的第d維;系數r1、r2則為在區間[0,1]上服從均勻分布U(0,1)的隨機數。
11)更新粒子位置:根據式(14)更新粒子位置向量xi(k+1):

12)粒子位置變異:根據式(15)對新粒子群中的粒子位置進行變異,進入步驟2)。

式中:xi,d為粒子i在第d維上的值;xd,max和xd,min分別為粒子在第d維上值的上界與下界;系數r為在區間[0,1]上服從均勻分布U(0,1)的隨機數。
在機器人軌跡跟蹤控制仿真中,設笛卡爾空間的期望軌跡為一段螺旋線,其參數方程如下

式中:t為時間;Tc為周期時長;x、y、z分別為笛卡爾空間的坐標值。
六關節機器人的D-H參數如表4所示。根據機器人運動學可將笛卡爾空間的期望軌跡轉換成機器人關節空間各個關節的期望角度軌跡,如圖4所示。本文搭建的機器人軌跡跟蹤模糊PID控制的MATLAB仿真系統如圖5所示,仿真步長Δt=0.01 s,仿真總時長T=10 s。運用該控制器可以得到各個時刻各關節角度的仿真值和輸出力矩值,用于計算優化算法中式(7)的2個目標函數值f1、f2,按照圖3的流程圖,設置表5的優化算法參數,運行上述設計的控制仿真系統,完成關節機器人軌跡跟蹤模糊PID控制器的改進多目標PSO優化。

表4 關節機器人D-H參數表

圖4 關節空間期望角度軌跡

圖5 機器人軌跡跟蹤模糊PID控制的MATLAB仿真系統

表5 NSGA II優化算法參數
分別采用帶精英策略的非支配排序遺傳算法(NSGA II)、多目標基本粒子群算法(MOPSO)和改進多目標粒子群算法(Modify MOPSO)進行軌跡跟蹤模糊PID控制器優化。NSGA II優化算法的參數設置如表5所示,2種粒子群優化算法的參數設置如表6所示。通過3種優化算法優化后得到的非支配解集如圖6所示,解集中各個解的2個目標函數值如表7所示。從圖6可以看出,Modify PSO的解集分布較廣且均勻,而通過MOPSO得到的部分解集在某一個區域比較集中,且涵蓋的范圍較小,由NSGA II所得到的解集雖然分布較廣,但分布不均勻。采用能夠同時評價解集收斂性和多樣性的超體積指標來比較3種優化算法獲得的非支配解集,超體積越大說明算法綜合性能越好。設置超體積的計算參考點為(36.5,14 900),NSGA II、MOPSO和Modify MOPSO的超體積分別為885.4、3 369.1和7 247.6,可見Modify PSO獲得的非支配解集最優。

表6 MOPSO和Modify MOPSO優化算法參數

表7 目標函數值

圖6 多目標優化結果
綜上,改進多目標PSO算法應用于關節機器人軌跡跟蹤模糊PID控制器的多目標優化問題,可以得到比基本多目標PSO算法和NSGA II更優的非支配解集,驗證了該算法在機器人軌跡跟蹤模糊PID控制優化上有效性和優越性。
本文設計了一個模糊PID控制器應用于六關節機器人軌跡跟蹤控制,以控制器輸出力矩和軌跡跟蹤偏差為2個優化目標,實現了改進多目標PSO算法優化模糊控制器的隸屬函數和模糊規則優化調整。對比改進多目標PSO和基本多目標PSO算法、遺傳算法應用于關節機器人軌跡跟蹤模糊PID控制器的多目標問題,結果表明,改進PSO獲得的非支配解集更好,驗證了該算法應用于機器人軌跡跟蹤模糊PID控制優化的有效性和優越性。進一步的研究工作是繼續探索多目標PSO算法與其他優化算法(如蟻群算法、神經網絡算法等)實現機器人軌跡跟蹤控制器優化的效果,進行對比分析。