王宏濤,蔣清澤,張強,戴寧
(南京航空航天大學 機電學院, 江蘇 南京 210016)
關節機器人軌跡跟蹤PID(proportional integral derivative,PID)控制實質上是調整每個電機驅動的關節所對應的PID控制器參數,實現關節位置或速度的反饋控制。但是,電機驅動的飽和非線性、關節摩擦等機器人所固有的制約因素會導致控制穩定性降低并加大軌跡跟蹤誤差。為此,一些學者提出了將模糊控制與PID控制相結合的模糊PID控制方法,兩者的結合可達到更好的控制穩定性和魯棒性[1-5]。盡管如此,對于模糊控制的隸屬函數中心頂點位置和模糊規則等模糊控制器設計參數以及PID控制參數等的選取和設計需要經驗和專家知識,存在設計不合理時難以取得最佳控制效果的不足,于是有學者提出了運用遺傳算法解決這一問題[4,6]。但是,采用遺傳算法又可能引起染色體編碼冗長,導致搜索空間過大、尋優效率降低,為此,Young等[7]提出了一種用特征參數表征模糊規則、隸屬函數等設計參數來簡化模糊控制器設計過程的方法,隨后有學者提出直接對模糊控制器的隸屬度函數參數進行編碼的矩陣式個體編碼[8]、模糊控制器模糊規則集和隸屬函數聯合編碼并自適應選取交叉和變異概率[9]等簡化方法,Jahedi等[10]則更進一步,將特征參數編碼的遺傳優化方法從應用于模糊控制器的設計過程推進到模糊PID控制器的設計過程,實現了動態供能系統能效增益的過程控制。
本文將模糊控制器設計參數直接編碼和特征參數編碼的混合編碼策略應用于模糊PID控制器隸屬函數和模糊規則的遺傳算法優化,并應用優化后的模糊PID控制器實現關節機器人的軌跡跟蹤控制。對比分析未經遺傳算法優化的模糊PID控制器(FPID)、經直接編碼的遺傳算法優化后的模糊PID控制器(GAdirect-FPID)和經混合編碼的遺傳算法優化后的模糊PID控制器(GAhybrid-FPID)等3種控制器實現六關節機器人軌跡跟蹤控制效果。
考慮n關節機器人,忽略摩擦力及機器人末端負載,其動態性能可由二階非線性動力學方程描述為:

(1)



機器人軌跡跟蹤模糊PID控制器結構如圖1所示,圖中qd表示關節機器人的期望角位移;q表示根據關節機器人動力學模型仿真獲得的角位移;e表示qd與q的偏差,e=qd-q;ec表示偏差變化率,ec=de/dt;ΔKP、ΔKI、ΔKD表示PID調整參數;τ表示模糊PID控制器作用于關節機器人的關節力矩。

圖1 模糊PID控制器結構
機器人軌跡跟蹤模糊PID控制器具體控制原理為:首先將當前偏差e和偏差變化率ec作為模糊控制器的輸入變量,經過模糊化后得到e和ec隸屬不同模糊集的隸屬度;然后根據模糊規則進行模糊推理得到輸出變量ΔKP、ΔKI、ΔKD的模糊結果,通過解模糊化得到輸出變量精確結果;接著利用ΔKP、ΔKI、ΔKD對PID控制器參數進行:
(2)
的在線自適應調整,最后得到模糊PID控制器作用于關節機器人的關節力矩τ:
式中:KP0、KI0、KD0為PID參數ΔKP、ΔKI、ΔKD的初值。模糊控制器的輸入變量e和ec以及輸出變量ΔKP、ΔKI、ΔKD的模糊集個數均設計為7個,取為{NL,NM,NS,ZE,PS,PM,PL},即{負大,負中,負小,零,正小,正中,正大}。模糊集隸屬函數選取最常見的連續三角形函數,對于模糊集個數為7的隸屬函數,指定以零為中心的單側3個中心頂點值即可,其余輸入輸出變量的隸屬函數同。由2個輸入變量的模糊集個數為7可得輸出變量ΔKP、ΔKI、ΔKD的每一個變量所對應的模糊規則均為49條,每條模糊規則形式為:
本文設計的ΔKP、ΔKI、ΔKD模糊規則如表1所示。

表1 ΔKP、ΔKI、ΔKD的模糊規則表
遺傳算法優化關節機器人軌跡跟蹤控制模糊PID控制器的算法主要步驟有:
1)根據模糊控制器的特征參數和設計參數取值范圍,采用混合編碼方法,隨機生成N個個體染色體[a1,a2,…,a63]作為當前種群。
2)更新當前種群為父群。
3)讀取當前種群第j(j=1,2,…,N)個染色體各個基因位編碼,根據編碼a1-a10生成新的輸入變量e、ec和輸出變量ΔKP、ΔKI、ΔKD的隸屬函數,更新隸屬函數;根據編碼a11-a63產生新的輸出變量ΔKP、ΔKI、ΔKD模糊規則,更新模糊規則。
4)運行模糊PID控制器完成軌跡跟蹤控制仿真,獲得t時刻機器人仿真軌跡與期望軌跡的偏差e(t),計算目標函數值J。選擇ITAE準則[12]設計控制器的目標函數:

(3)
式中:e(t)為t時刻的機器人仿真軌跡與期望軌跡偏差;T為運行模糊PID控制器完成一次軌跡跟蹤控制仿真的總時間。
5)若個體染色體數量j不滿足j>N,則j+1,進入步驟3;若滿足j>N,則進入6)。
6)判斷目標函數值的變化是否小于設定的閾值或者遺傳代數是否達到設定值,若滿足則結束;若不滿足則進入7)。
7)排序當前種群中每個個體染色體對應的目標函數值,對當前種群進行選擇、復制、變異、交叉等遺傳操作,生成下一代子群,進入2)。
模糊PID控制器的設計參數具體是指輸入、輸出變量的隸屬函數中心頂點位置和由每條模糊規則if條件獲得的輸出規則then結果。本文引入模糊控制器的特征參數的目的是簡化模糊控制器設計過程,分別包括隸屬函數和模糊規則特征參數[7,10]。
對于隸屬函數的特征參數,根據隸屬函數設計的特性可用表示單側三角形隸屬函數中心頂點位置與零的疏密程度Xmi:
(4)
式中:k是隸屬函數模糊集個數,此處k=7;Pm是冪函數的指數,取值將影響隸屬函數各個中心值的疏密分布情況??蛇M一步采用伸縮因子G描述三角形隸屬函數頂點的疏密程度Xi:
將Pm和G定義為隸屬函數的特征參數,則隸屬函數的設計參數Xi可由Pm和G生成,即:設計隸屬函數時由需要指定單側3個三角形隸屬函數中心頂點位置轉換為指定2個特征參數,可見隸屬函數的設計過程變得簡化了。
對于模糊規則的特征參數,由表1可看出,ΔKP和ΔKD的輸出規則可劃分成幾個具有相同規則結果的區域,區域的數量取決于輸出變量隸屬函數的模糊集個數k。以ΔKP的模糊規則為例說明采用相平面進行區域劃分的方法。如圖2所示,首先分別根據ΔKP對應的輸入變量e、ec的模糊集取值{NL,NM,NS,ZE,PS,PM,PL}建立相平面XOY,X、Y軸不同模糊集值的交點為網格點,可見網格點代表了模糊規則的if部分,網格點距離X、Y軸的距離表征了e、ec的各自不同模糊集值所對應的三角形隸屬函數中心頂點位置Xi值;然后定義圖2中的黑點為分割點,坐標(xsi,ysi)計算方法為:

圖2 ΔKP模糊規則相平面劃分
式中:L是用來限制分割點落在相平面內的范圍參數;sign是符號函數;θs是分割點連線以X正半軸逆時針繞原點旋轉的角度;Ps是冪函數指數;最后通過相鄰兩分割點間的垂直平分線生成一組相互平行的直線,這些平行線對相平面實現了區域劃分,同時指定在同一區域內的網格點所對應的模糊輸出規則then結果相同。根據PID控制器參數KP、KI、KD調整的一般性原則[13],可將ΔKP的相平面區域規則劃分結果從左到右指定為NL、NM、NS、ZE、PS、PM、PL。模糊規則由θs和Ps獲得,可將其定義為模糊規則的特征參數,即:設計模糊規則時所需指定的2個輸入變量e和ec的7×7個if條件可轉換成指定2個特征參數,可見,模糊規則的設計過程變得大為簡化。如果運行遺傳算法程序隨機生成Ps=2和θs=30°,則ΔKP模糊規則相平面劃分結果如圖2所示,相應獲得ΔKP的模糊規則如表2所示。同樣亦可由特征參數獲得ΔKD的模糊規則表。

表2 由特征參數獲得的ΔKP的模糊規則表
運用遺傳算法通常采用將每一個設計參數直接用個體染色體基因位表示的直接編碼方法,模糊PID控制器的設計參數直接編碼共需要162位基因位。為縮短直接編碼時個體染色體長度,本文給出一種將特征參數和設計參數混合編碼到染色體基因位上的混合編碼策略:2個輸入變量e和ec,3個輸出變量ΔKP、ΔKI、ΔKD的隸屬函數采用特征參數Pm和G編碼,對應基因位a1-a5和a6-a10;ΔKD與ΔKP2個輸出變量的模糊規則用特征參數Ps和θs編碼,對應基因位a11-a12和a13-a14;ΔKI的模糊規則采用直接編碼,用數字1~7分別表示模糊規則表1中的NL-PL,則表中ΔKI的模糊規則設計參數按列可表示為5544477 3333436 1123456 1223456 1233455 6333455 4444477共49位數字,對應基因位a15-a63,混合編碼方法最終形成個體染色體總計63個基因位,比直接編碼的染色體長度大為縮短。2種編碼方法的染色體基因位參數如表3所示。

表3 染色體基因位參數
運用上述設計的遺傳算法優化模糊PID控制器方法進行關節機器人軌跡跟蹤控制仿真時,需先獲得關節機器人各關節期望關節角度qd,然后運用Matlab/Simulink仿真環境搭建關節機器人模糊PID控制仿真系統,再設置遺傳算法參數,以及根據表3所示的個體染色體各基因位對應的參數取值范圍,即可按照第3節所述的遺傳算法優化關節機器人軌跡跟蹤控制模糊PID控制器算法步驟完成關節機器人軌跡跟蹤模糊PID控制器的遺傳算法優化。
選取機器人末端笛卡爾空間期望軌跡如下:
(5)
式中:t是時間;Tc是周期時長;x、y、z分別為笛卡爾空間的坐標值。選取已知D-H參數如表4所示的六關節機器人,其中ai是關節i的連桿長度,αi是關節i和關節i+1間的連桿夾角,di是關節i-1和關節i間的連桿偏置距離,θi是關節i的關節轉角。

表4 關節機器人D-H參數表
根據式(5)的曲線軌跡方程和機器人D-H參數,通過機器人逆運動學方程求得關節空間的期望關節角。采用LM(Levenberg-Marquardt,LM)方法[14]求得逆運動學方程解,獲得機器人6個關節角期望軌跡如圖3所示。

圖3 期望關節角度軌跡
設置步長Δt=0.01 s,總時長T=10 s。運用關節機器人模糊PID控制仿真系統可得到各個時刻各關節角的仿真值。由各個時刻各關節角仿真值,運用機器人運動學方程可求解各個時刻對應的笛卡爾空間末端位置坐標,計算其與式(5)所示的笛卡爾空間理想曲線軌跡在相同時刻的歐氏距離,作為式(3)中的e(t),得到目標函數值J。完成關節機器人軌跡跟蹤模糊PID控制器的遺傳算法優化,設置遺傳算法參數如下:種群大小30,輪盤賭選擇方式,復制比例為0.2,變異概率為0.01,兩點交叉方式,交叉概率0.8,迭代代數為50。
將混合編碼和直接編碼方法分別應用于關節機器人模糊PID控制器遺傳算法優化。設置2種編碼方法的三角形隸屬函數中心頂點值最大為10,最小為0.01;每個輸出變量的模糊規則均為49條;直接編碼和混合編碼染色體基因位對應參數如表3所示。運行遺傳算法優化模糊PID控制器程序,得到如圖4所示的遺傳算法迭代圖,由圖可知,混合編碼的遺傳算法在尋優過程中比直接編碼更快地接近最優解,說明采用混合編碼具有較高的尋優效率;直接編碼遺傳算法在迭代30代后最小目標函數值基本不變化,而混合編碼遺傳算法在30代后最小目標函數值仍有下降,說明采用混合編碼方法不易過早收斂;混合編碼方法的最小目標函數值小于直接編碼方法的最小目標函數值,說明采用混合編碼的遺傳算法尋優結果更接近最優解。

圖4 遺傳算法迭代


表5 軌跡偏差

圖5 關節空間軌跡跟蹤偏差
1)關節機器人軌跡跟蹤模糊PID控制器的遺傳算法仿真和優化結果均表明,當設置相同的遺傳算法參數時,相比于直接編碼方法,隸屬函數和模糊規則的設計參數與特征參數混合編碼方法不僅簡化了控制器設計過程,而且具有更高的尋優效率和更好的尋優結果,且不易過早收斂。
2)經混合編碼的遺傳算法優化后的模糊PID控制器具有更好的控制效果和更小的軌跡偏差,顯示了基于混合編碼的遺傳算法優化的模糊PID控制器在機器人軌跡跟蹤控制中的有效性和優越性。
目前尚未開展關節機器人軌跡跟蹤的混合編碼遺傳優化模糊PID控制器的實驗論證,今后將工作重點轉向于實驗驗證工作。