王宏濤,蔣清澤,張強(qiáng),戴寧
(南京航空航天大學(xué) 機(jī)電學(xué)院, 江蘇 南京 210016)
關(guān)節(jié)機(jī)器人軌跡跟蹤PID(proportional integral derivative,PID)控制實(shí)質(zhì)上是調(diào)整每個電機(jī)驅(qū)動的關(guān)節(jié)所對應(yīng)的PID控制器參數(shù),實(shí)現(xiàn)關(guān)節(jié)位置或速度的反饋控制。但是,電機(jī)驅(qū)動的飽和非線性、關(guān)節(jié)摩擦等機(jī)器人所固有的制約因素會導(dǎo)致控制穩(wěn)定性降低并加大軌跡跟蹤誤差。為此,一些學(xué)者提出了將模糊控制與PID控制相結(jié)合的模糊PID控制方法,兩者的結(jié)合可達(dá)到更好的控制穩(wěn)定性和魯棒性[1-5]。盡管如此,對于模糊控制的隸屬函數(shù)中心頂點(diǎn)位置和模糊規(guī)則等模糊控制器設(shè)計(jì)參數(shù)以及PID控制參數(shù)等的選取和設(shè)計(jì)需要經(jīng)驗(yàn)和專家知識,存在設(shè)計(jì)不合理時難以取得最佳控制效果的不足,于是有學(xué)者提出了運(yùn)用遺傳算法解決這一問題[4,6]。但是,采用遺傳算法又可能引起染色體編碼冗長,導(dǎo)致搜索空間過大、尋優(yōu)效率降低,為此,Young等[7]提出了一種用特征參數(shù)表征模糊規(guī)則、隸屬函數(shù)等設(shè)計(jì)參數(shù)來簡化模糊控制器設(shè)計(jì)過程的方法,隨后有學(xué)者提出直接對模糊控制器的隸屬度函數(shù)參數(shù)進(jìn)行編碼的矩陣式個體編碼[8]、模糊控制器模糊規(guī)則集和隸屬函數(shù)聯(lián)合編碼并自適應(yīng)選取交叉和變異概率[9]等簡化方法,Jahedi等[10]則更進(jìn)一步,將特征參數(shù)編碼的遺傳優(yōu)化方法從應(yīng)用于模糊控制器的設(shè)計(jì)過程推進(jìn)到模糊PID控制器的設(shè)計(jì)過程,實(shí)現(xiàn)了動態(tài)供能系統(tǒng)能效增益的過程控制。
本文將模糊控制器設(shè)計(jì)參數(shù)直接編碼和特征參數(shù)編碼的混合編碼策略應(yīng)用于模糊PID控制器隸屬函數(shù)和模糊規(guī)則的遺傳算法優(yōu)化,并應(yīng)用優(yōu)化后的模糊PID控制器實(shí)現(xiàn)關(guān)節(jié)機(jī)器人的軌跡跟蹤控制。對比分析未經(jīng)遺傳算法優(yōu)化的模糊PID控制器(FPID)、經(jīng)直接編碼的遺傳算法優(yōu)化后的模糊PID控制器(GAdirect-FPID)和經(jīng)混合編碼的遺傳算法優(yōu)化后的模糊PID控制器(GAhybrid-FPID)等3種控制器實(shí)現(xiàn)六關(guān)節(jié)機(jī)器人軌跡跟蹤控制效果。
考慮n關(guān)節(jié)機(jī)器人,忽略摩擦力及機(jī)器人末端負(fù)載,其動態(tài)性能可由二階非線性動力學(xué)方程描述為:
(1)
機(jī)器人軌跡跟蹤模糊PID控制器結(jié)構(gòu)如圖1所示,圖中qd表示關(guān)節(jié)機(jī)器人的期望角位移;q表示根據(jù)關(guān)節(jié)機(jī)器人動力學(xué)模型仿真獲得的角位移;e表示qd與q的偏差,e=qd-q;ec表示偏差變化率,ec=de/dt;ΔKP、ΔKI、ΔKD表示PID調(diào)整參數(shù);τ表示模糊PID控制器作用于關(guān)節(jié)機(jī)器人的關(guān)節(jié)力矩。
圖1 模糊PID控制器結(jié)構(gòu)
機(jī)器人軌跡跟蹤模糊PID控制器具體控制原理為:首先將當(dāng)前偏差e和偏差變化率ec作為模糊控制器的輸入變量,經(jīng)過模糊化后得到e和ec隸屬不同模糊集的隸屬度;然后根據(jù)模糊規(guī)則進(jìn)行模糊推理得到輸出變量ΔKP、ΔKI、ΔKD的模糊結(jié)果,通過解模糊化得到輸出變量精確結(jié)果;接著利用ΔKP、ΔKI、ΔKD對PID控制器參數(shù)進(jìn)行:
(2)
的在線自適應(yīng)調(diào)整,最后得到模糊PID控制器作用于關(guān)節(jié)機(jī)器人的關(guān)節(jié)力矩τ:
式中:KP0、KI0、KD0為PID參數(shù)ΔKP、ΔKI、ΔKD的初值。模糊控制器的輸入變量e和ec以及輸出變量ΔKP、ΔKI、ΔKD的模糊集個數(shù)均設(shè)計(jì)為7個,取為{NL,NM,NS,ZE,PS,PM,PL},即{負(fù)大,負(fù)中,負(fù)小,零,正小,正中,正大}。模糊集隸屬函數(shù)選取最常見的連續(xù)三角形函數(shù),對于模糊集個數(shù)為7的隸屬函數(shù),指定以零為中心的單側(cè)3個中心頂點(diǎn)值即可,其余輸入輸出變量的隸屬函數(shù)同。由2個輸入變量的模糊集個數(shù)為7可得輸出變量ΔKP、ΔKI、ΔKD的每一個變量所對應(yīng)的模糊規(guī)則均為49條,每條模糊規(guī)則形式為:
本文設(shè)計(jì)的ΔKP、ΔKI、ΔKD模糊規(guī)則如表1所示。
表1 ΔKP、ΔKI、ΔKD的模糊規(guī)則表
遺傳算法優(yōu)化關(guān)節(jié)機(jī)器人軌跡跟蹤控制模糊PID控制器的算法主要步驟有:
1)根據(jù)模糊控制器的特征參數(shù)和設(shè)計(jì)參數(shù)取值范圍,采用混合編碼方法,隨機(jī)生成N個個體染色體[a1,a2,…,a63]作為當(dāng)前種群。
2)更新當(dāng)前種群為父群。
3)讀取當(dāng)前種群第j(j=1,2,…,N)個染色體各個基因位編碼,根據(jù)編碼a1-a10生成新的輸入變量e、ec和輸出變量ΔKP、ΔKI、ΔKD的隸屬函數(shù),更新隸屬函數(shù);根據(jù)編碼a11-a63產(chǎn)生新的輸出變量ΔKP、ΔKI、ΔKD模糊規(guī)則,更新模糊規(guī)則。
4)運(yùn)行模糊PID控制器完成軌跡跟蹤控制仿真,獲得t時刻機(jī)器人仿真軌跡與期望軌跡的偏差e(t),計(jì)算目標(biāo)函數(shù)值J。選擇ITAE準(zhǔn)則[12]設(shè)計(jì)控制器的目標(biāo)函數(shù):
(3)
式中:e(t)為t時刻的機(jī)器人仿真軌跡與期望軌跡偏差;T為運(yùn)行模糊PID控制器完成一次軌跡跟蹤控制仿真的總時間。
5)若個體染色體數(shù)量j不滿足j>N,則j+1,進(jìn)入步驟3;若滿足j>N,則進(jìn)入6)。
6)判斷目標(biāo)函數(shù)值的變化是否小于設(shè)定的閾值或者遺傳代數(shù)是否達(dá)到設(shè)定值,若滿足則結(jié)束;若不滿足則進(jìn)入7)。
7)排序當(dāng)前種群中每個個體染色體對應(yīng)的目標(biāo)函數(shù)值,對當(dāng)前種群進(jìn)行選擇、復(fù)制、變異、交叉等遺傳操作,生成下一代子群,進(jìn)入2)。
模糊PID控制器的設(shè)計(jì)參數(shù)具體是指輸入、輸出變量的隸屬函數(shù)中心頂點(diǎn)位置和由每條模糊規(guī)則if條件獲得的輸出規(guī)則then結(jié)果。本文引入模糊控制器的特征參數(shù)的目的是簡化模糊控制器設(shè)計(jì)過程,分別包括隸屬函數(shù)和模糊規(guī)則特征參數(shù)[7,10]。
對于隸屬函數(shù)的特征參數(shù),根據(jù)隸屬函數(shù)設(shè)計(jì)的特性可用表示單側(cè)三角形隸屬函數(shù)中心頂點(diǎn)位置與零的疏密程度Xmi:
(4)
式中:k是隸屬函數(shù)模糊集個數(shù),此處k=7;Pm是冪函數(shù)的指數(shù),取值將影響隸屬函數(shù)各個中心值的疏密分布情況??蛇M(jìn)一步采用伸縮因子G描述三角形隸屬函數(shù)頂點(diǎn)的疏密程度Xi:
將Pm和G定義為隸屬函數(shù)的特征參數(shù),則隸屬函數(shù)的設(shè)計(jì)參數(shù)Xi可由Pm和G生成,即:設(shè)計(jì)隸屬函數(shù)時由需要指定單側(cè)3個三角形隸屬函數(shù)中心頂點(diǎn)位置轉(zhuǎn)換為指定2個特征參數(shù),可見隸屬函數(shù)的設(shè)計(jì)過程變得簡化了。
對于模糊規(guī)則的特征參數(shù),由表1可看出,ΔKP和ΔKD的輸出規(guī)則可劃分成幾個具有相同規(guī)則結(jié)果的區(qū)域,區(qū)域的數(shù)量取決于輸出變量隸屬函數(shù)的模糊集個數(shù)k。以ΔKP的模糊規(guī)則為例說明采用相平面進(jìn)行區(qū)域劃分的方法。如圖2所示,首先分別根據(jù)ΔKP對應(yīng)的輸入變量e、ec的模糊集取值{NL,NM,NS,ZE,PS,PM,PL}建立相平面XOY,X、Y軸不同模糊集值的交點(diǎn)為網(wǎng)格點(diǎn),可見網(wǎng)格點(diǎn)代表了模糊規(guī)則的if部分,網(wǎng)格點(diǎn)距離X、Y軸的距離表征了e、ec的各自不同模糊集值所對應(yīng)的三角形隸屬函數(shù)中心頂點(diǎn)位置Xi值;然后定義圖2中的黑點(diǎn)為分割點(diǎn),坐標(biāo)(xsi,ysi)計(jì)算方法為:
圖2 ΔKP模糊規(guī)則相平面劃分
式中:L是用來限制分割點(diǎn)落在相平面內(nèi)的范圍參數(shù);sign是符號函數(shù);θs是分割點(diǎn)連線以X正半軸逆時針繞原點(diǎn)旋轉(zhuǎn)的角度;Ps是冪函數(shù)指數(shù);最后通過相鄰兩分割點(diǎn)間的垂直平分線生成一組相互平行的直線,這些平行線對相平面實(shí)現(xiàn)了區(qū)域劃分,同時指定在同一區(qū)域內(nèi)的網(wǎng)格點(diǎn)所對應(yīng)的模糊輸出規(guī)則then結(jié)果相同。根據(jù)PID控制器參數(shù)KP、KI、KD調(diào)整的一般性原則[13],可將ΔKP的相平面區(qū)域規(guī)則劃分結(jié)果從左到右指定為NL、NM、NS、ZE、PS、PM、PL。模糊規(guī)則由θs和Ps獲得,可將其定義為模糊規(guī)則的特征參數(shù),即:設(shè)計(jì)模糊規(guī)則時所需指定的2個輸入變量e和ec的7×7個if條件可轉(zhuǎn)換成指定2個特征參數(shù),可見,模糊規(guī)則的設(shè)計(jì)過程變得大為簡化。如果運(yùn)行遺傳算法程序隨機(jī)生成Ps=2和θs=30°,則ΔKP模糊規(guī)則相平面劃分結(jié)果如圖2所示,相應(yīng)獲得ΔKP的模糊規(guī)則如表2所示。同樣亦可由特征參數(shù)獲得ΔKD的模糊規(guī)則表。
表2 由特征參數(shù)獲得的ΔKP的模糊規(guī)則表
運(yùn)用遺傳算法通常采用將每一個設(shè)計(jì)參數(shù)直接用個體染色體基因位表示的直接編碼方法,模糊PID控制器的設(shè)計(jì)參數(shù)直接編碼共需要162位基因位。為縮短直接編碼時個體染色體長度,本文給出一種將特征參數(shù)和設(shè)計(jì)參數(shù)混合編碼到染色體基因位上的混合編碼策略:2個輸入變量e和ec,3個輸出變量ΔKP、ΔKI、ΔKD的隸屬函數(shù)采用特征參數(shù)Pm和G編碼,對應(yīng)基因位a1-a5和a6-a10;ΔKD與ΔKP2個輸出變量的模糊規(guī)則用特征參數(shù)Ps和θs編碼,對應(yīng)基因位a11-a12和a13-a14;ΔKI的模糊規(guī)則采用直接編碼,用數(shù)字1~7分別表示模糊規(guī)則表1中的NL-PL,則表中ΔKI的模糊規(guī)則設(shè)計(jì)參數(shù)按列可表示為5544477 3333436 1123456 1223456 1233455 6333455 4444477共49位數(shù)字,對應(yīng)基因位a15-a63,混合編碼方法最終形成個體染色體總計(jì)63個基因位,比直接編碼的染色體長度大為縮短。2種編碼方法的染色體基因位參數(shù)如表3所示。
表3 染色體基因位參數(shù)
運(yùn)用上述設(shè)計(jì)的遺傳算法優(yōu)化模糊PID控制器方法進(jìn)行關(guān)節(jié)機(jī)器人軌跡跟蹤控制仿真時,需先獲得關(guān)節(jié)機(jī)器人各關(guān)節(jié)期望關(guān)節(jié)角度qd,然后運(yùn)用Matlab/Simulink仿真環(huán)境搭建關(guān)節(jié)機(jī)器人模糊PID控制仿真系統(tǒng),再設(shè)置遺傳算法參數(shù),以及根據(jù)表3所示的個體染色體各基因位對應(yīng)的參數(shù)取值范圍,即可按照第3節(jié)所述的遺傳算法優(yōu)化關(guān)節(jié)機(jī)器人軌跡跟蹤控制模糊PID控制器算法步驟完成關(guān)節(jié)機(jī)器人軌跡跟蹤模糊PID控制器的遺傳算法優(yōu)化。
選取機(jī)器人末端笛卡爾空間期望軌跡如下:
(5)
式中:t是時間;Tc是周期時長;x、y、z分別為笛卡爾空間的坐標(biāo)值。選取已知D-H參數(shù)如表4所示的六關(guān)節(jié)機(jī)器人,其中ai是關(guān)節(jié)i的連桿長度,αi是關(guān)節(jié)i和關(guān)節(jié)i+1間的連桿夾角,di是關(guān)節(jié)i-1和關(guān)節(jié)i間的連桿偏置距離,θi是關(guān)節(jié)i的關(guān)節(jié)轉(zhuǎn)角。
表4 關(guān)節(jié)機(jī)器人D-H參數(shù)表
根據(jù)式(5)的曲線軌跡方程和機(jī)器人D-H參數(shù),通過機(jī)器人逆運(yùn)動學(xué)方程求得關(guān)節(jié)空間的期望關(guān)節(jié)角。采用LM(Levenberg-Marquardt,LM)方法[14]求得逆運(yùn)動學(xué)方程解,獲得機(jī)器人6個關(guān)節(jié)角期望軌跡如圖3所示。
圖3 期望關(guān)節(jié)角度軌跡
設(shè)置步長Δt=0.01 s,總時長T=10 s。運(yùn)用關(guān)節(jié)機(jī)器人模糊PID控制仿真系統(tǒng)可得到各個時刻各關(guān)節(jié)角的仿真值。由各個時刻各關(guān)節(jié)角仿真值,運(yùn)用機(jī)器人運(yùn)動學(xué)方程可求解各個時刻對應(yīng)的笛卡爾空間末端位置坐標(biāo),計(jì)算其與式(5)所示的笛卡爾空間理想曲線軌跡在相同時刻的歐氏距離,作為式(3)中的e(t),得到目標(biāo)函數(shù)值J。完成關(guān)節(jié)機(jī)器人軌跡跟蹤模糊PID控制器的遺傳算法優(yōu)化,設(shè)置遺傳算法參數(shù)如下:種群大小30,輪盤賭選擇方式,復(fù)制比例為0.2,變異概率為0.01,兩點(diǎn)交叉方式,交叉概率0.8,迭代代數(shù)為50。
將混合編碼和直接編碼方法分別應(yīng)用于關(guān)節(jié)機(jī)器人模糊PID控制器遺傳算法優(yōu)化。設(shè)置2種編碼方法的三角形隸屬函數(shù)中心頂點(diǎn)值最大為10,最小為0.01;每個輸出變量的模糊規(guī)則均為49條;直接編碼和混合編碼染色體基因位對應(yīng)參數(shù)如表3所示。運(yùn)行遺傳算法優(yōu)化模糊PID控制器程序,得到如圖4所示的遺傳算法迭代圖,由圖可知,混合編碼的遺傳算法在尋優(yōu)過程中比直接編碼更快地接近最優(yōu)解,說明采用混合編碼具有較高的尋優(yōu)效率;直接編碼遺傳算法在迭代30代后最小目標(biāo)函數(shù)值基本不變化,而混合編碼遺傳算法在30代后最小目標(biāo)函數(shù)值仍有下降,說明采用混合編碼方法不易過早收斂;混合編碼方法的最小目標(biāo)函數(shù)值小于直接編碼方法的最小目標(biāo)函數(shù)值,說明采用混合編碼的遺傳算法尋優(yōu)結(jié)果更接近最優(yōu)解。
圖4 遺傳算法迭代
表5 軌跡偏差
圖5 關(guān)節(jié)空間軌跡跟蹤偏差
1)關(guān)節(jié)機(jī)器人軌跡跟蹤模糊PID控制器的遺傳算法仿真和優(yōu)化結(jié)果均表明,當(dāng)設(shè)置相同的遺傳算法參數(shù)時,相比于直接編碼方法,隸屬函數(shù)和模糊規(guī)則的設(shè)計(jì)參數(shù)與特征參數(shù)混合編碼方法不僅簡化了控制器設(shè)計(jì)過程,而且具有更高的尋優(yōu)效率和更好的尋優(yōu)結(jié)果,且不易過早收斂。
2)經(jīng)混合編碼的遺傳算法優(yōu)化后的模糊PID控制器具有更好的控制效果和更小的軌跡偏差,顯示了基于混合編碼的遺傳算法優(yōu)化的模糊PID控制器在機(jī)器人軌跡跟蹤控制中的有效性和優(yōu)越性。
目前尚未開展關(guān)節(jié)機(jī)器人軌跡跟蹤的混合編碼遺傳優(yōu)化模糊PID控制器的實(shí)驗(yàn)論證,今后將工作重點(diǎn)轉(zhuǎn)向于實(shí)驗(yàn)驗(yàn)證工作。