趙 娟,楊慧中
(1.無錫工藝職業(yè)技術(shù)學(xué)院,江蘇 宜興 214206;2.江南大學(xué),江蘇 無錫 214122)
機械臂可以代替人類進行重復(fù)性生產(chǎn)活動,而且隨著智能化程度越來越高,對機械臂的控制精度要求也越來越高,但是外界環(huán)境變化產(chǎn)生的擾動會影響機械臂的控制精度,導(dǎo)致產(chǎn)品質(zhì)量下降[1]。因此研究機械臂控制技術(shù)具有重要意義。隨著人工智能的興起與發(fā)展,人工智能技術(shù)與傳統(tǒng)控制理論相結(jié)合,并將其應(yīng)用到機械臂控制中成為一個熱點研究方向。文獻[2]使用抗飽和神經(jīng)網(wǎng)絡(luò)動態(tài)面控制法解決了機械臂外界擾動及輸入受限問題;文獻[3]設(shè)計了干擾觀測器與滑??刂葡嘟Y(jié)合的機械臂控制方法,解決了滑??刂贫墩駟栴};文獻[4]使用兩個RBF 神經(jīng)網(wǎng)絡(luò)設(shè)計了自適應(yīng)控制器,其中一個為輸入端控制器,另一個為辨識器,最終提高了機械臂末端連桿控制的穩(wěn)定性;文獻[5]提出了RBF 神經(jīng)網(wǎng)絡(luò)算法非線性積分滑??刂品椒?,不僅減小了跟蹤誤差而且減小了驅(qū)動轉(zhuǎn)矩波動幅度。以上研究成果使用不同方法解決了機械臂軌跡跟蹤控制問題,且設(shè)置了不同的控制目標(biāo),達到了不同的控制效果。針對存在外界干擾情況下的軌跡跟蹤控制問題,以二階模糊控制器為基礎(chǔ),提出了具有智能自適應(yīng)調(diào)節(jié)能力的模糊控制器,最終實現(xiàn)了減小控制誤差且減小驅(qū)動力矩幅值的目的。
雙連桿機械臂系統(tǒng)結(jié)構(gòu),如圖1 所示。將機械臂工作區(qū)域設(shè)置在豎直平面內(nèi),此機械臂由兩個關(guān)節(jié)組成,其中連桿1 與基座間關(guān)節(jié)記為關(guān)節(jié)1,連桿1 與連桿2 之間的關(guān)節(jié)記為關(guān)節(jié)2,每個關(guān)節(jié)僅有一個自由度。
圖1 雙連桿機械臂模型Fig.1 Two-Joint Manipulator Model
圖中:m1、m2—連桿 1 與連桿 2 的質(zhì)量;l1、l2—連桿 1 和連桿 2 的長度;θ1、θ2—關(guān)節(jié) 1 和關(guān)節(jié) 2 的關(guān)節(jié)角;g—重力加速度。
使用拉格朗日方程[6]建立雙連桿機械臂系統(tǒng)的動力學(xué)方程,為:
式中:θi—關(guān)節(jié)的 i 角位置;τi—關(guān)節(jié) i 的驅(qū)動力矩拉格朗日函數(shù)—機械臂系統(tǒng)總動能;V(θ)—機械臂系統(tǒng)總勢能。剛性機械臂系統(tǒng)動能和勢能的計算較為簡單,且研究已經(jīng)成熟,可參考文獻[7],這里不再贅述,直接給出動力學(xué)方程求解結(jié)果,為:
記機械臂期望運動軌跡為θd,實際運動軌跡為θ,則軌跡跟蹤誤差及誤差變化率為:
機械臂軌跡跟蹤控制的目標(biāo)是通過設(shè)計控制律使用最小的力矩實現(xiàn)最小的跟蹤誤差。也就是說,控制律的設(shè)計依賴跟蹤誤差而變化,因此將軌跡跟蹤誤差e 及誤差變化率e˙作為模糊控制器輸入,將機械臂控制律u 作為模糊控制器輸出。
使用智能自適應(yīng)模糊控制器對雙連桿機械臂系統(tǒng)的控制方案及智能自適應(yīng)模糊控制器的設(shè)計方案,如圖2 所示。圖中:Ke、Ke˙—量化因子;Ku—比例因子。智能自適應(yīng)模糊控制器的設(shè)計思路為:以跟蹤誤差和驅(qū)動力矩最小為目標(biāo),以Ts為周期實時調(diào)節(jié)模糊控制器參數(shù),使參數(shù)能夠隨跟蹤誤差和驅(qū)動力矩變化而自適應(yīng)調(diào)節(jié),最終達到減小跟蹤誤差和驅(qū)動力矩的目的。
圖2 機械臂控制方案及模糊控制器設(shè)計Fig.2 Manipulator Control Scheme and Fuzzy Controller Design
從圖2(b)中可以看出,模糊邏輯控制器的核心內(nèi)容包括兩個部分:一是模糊控制器設(shè)計,二是智能自適應(yīng)調(diào)節(jié)器設(shè)計,其中模糊控制器可分為三個部分:精確量的模糊化、模糊邏輯規(guī)則制定、去模糊化[8],本節(jié)只對模糊控制器進行設(shè)計,智能自適應(yīng)調(diào)節(jié)器在第4 節(jié)進行設(shè)計。為了提高模糊控制精度,將軌跡跟蹤誤差e、誤差變化率e˙、機械臂控制律在論域上模糊化為7 個語言值,分別為負大(NB)、負中(NM)、負小(NS)、零(ZE)、正?。≒S)、正中(PM)、正大(PB)。模糊化隸屬度函數(shù)使用高斯隸屬度函數(shù):
式中:μ(x)—x 的隸屬度值;c—隸屬度函數(shù)均值;σ—隸屬度函數(shù)偏移量。
模糊邏輯規(guī)則的制定遵循兩條規(guī)則:(1)當(dāng)誤差為較大正值(或負值),且誤差變化律也為較大正值(或負值),輸出量為較大的正值(或負值),以減小誤差;(2)當(dāng)誤差為較大正值(或負值),而誤差變化律為負值(或正值)時,輸出為較小正值(或負值)或0。按照以上兩條規(guī)則,制定模糊規(guī)則,如表1 所示。
表1 模糊邏輯規(guī)則Tab.1 Fuzzy Logistic Rule
由于加權(quán)平均法充分利用了隸屬度最大元素提供的主導(dǎo)信息,因此選用加權(quán)平均法進行解模糊化[9],即:
式中:z*—去模糊化后的參數(shù);n—模糊元素的個數(shù);?j—模糊集的元素;μ(?j)—元素?j的隸屬度。
為了使模糊控制器具有智能自適應(yīng)性,能夠隨控制結(jié)果的變化自適應(yīng)調(diào)節(jié)自身參數(shù)和狀態(tài),設(shè)計了智能自適應(yīng)調(diào)節(jié)器。此調(diào)節(jié)器以跟蹤誤差和驅(qū)動力矩最小為目標(biāo),提出了多策略協(xié)同進化粒子群算法進行求解,將求解結(jié)果反饋給模糊控制器,從而實現(xiàn)模糊控制器的智能自適應(yīng)性。
基本粒子群算法中,粒子速度在自身慣性、自身歷史最優(yōu)和種群最優(yōu)位置的牽引下進行更新[10],即:
式中:vid(t)、xid(t)—粒子 i 迭代 t 次時在 d 維上的速度和位置;pid—粒子i 迭代至當(dāng)前時刻在d 維上的最優(yōu)位置;pgd—種群迭代至當(dāng)前時刻在d 維上的最優(yōu)位置;c1、c2—自身學(xué)習(xí)因子和種群學(xué)習(xí)因子;rand()—(0,1)間的隨機數(shù)。
根據(jù)慣性權(quán)重對粒子探索能力的影響,設(shè)置三種進化策略,分別為大范圍搜索策略、精細搜索策略和速度自適應(yīng)更新策略。
4.2.1 多策略進化
在粒子尋優(yōu)過程中,慣性權(quán)重對粒子的探索能力和開發(fā)能力影響較大,慣性權(quán)重較大時粒子的探索能力較強,能夠大范圍移動,而探索之前未到達區(qū)域,利于全局搜索;慣性權(quán)重較小時粒子的開發(fā)能力較強,能夠在某一區(qū)域精細搜索,利于局部搜索和算法收斂。
對于同一搜索策略下的粒子,希望粒子的慣性權(quán)重隨著算法的迭代而不斷調(diào)整,從而動態(tài)調(diào)整算法的探索能力和開發(fā)能力,使用線性遞減方法自適應(yīng)調(diào)整慣性權(quán)重,即:
式中:w—自適應(yīng)權(quán)重;wmax、wmin—慣性權(quán)重最大和最小值;tmax—最大迭代次數(shù)。
通過設(shè)置不同的慣性權(quán)重最值,實現(xiàn)不同搜索策略,即大范圍搜索策略的慣性權(quán)重變化為:
細致搜索策略的慣性權(quán)重變化為:
當(dāng)本次搜索的粒子優(yōu)于上一代搜索粒子時,按照基本粒子群算法中速度更新方法依然要改變搜索方向,這種不加區(qū)分的粒子搜索方法顯然不合理,因此設(shè)置速度自適應(yīng)更新策略,基本思想為:當(dāng)本次搜索的粒子優(yōu)于上代粒子時,依然沿此方向繼續(xù)搜索;當(dāng)本次搜索粒子次于上代粒子時,則在歷史最優(yōu)和種群最優(yōu)牽引下運動。速度自適應(yīng)更新策略為:
式中:f(x)—適應(yīng)度函數(shù)。
4.2.2 多種群協(xié)同
式(7)給出了大范圍搜索策略,具有強探索能力;式(8)給出了細致搜索策略,具有強開發(fā)能力;式(9)給出了速度自適應(yīng)更新策略,具有快速搜索能力。若單獨使用細致搜索策略,算法能夠在小范圍內(nèi)精細搜索,但是難以從一個區(qū)域運動至另一區(qū)域進行大范圍搜索;同樣的,單獨使用大范圍搜索策略,粒子大范圍瀏覽區(qū)域,而沒有進行細致搜索,難以搜索到最優(yōu)解。因此提出了多種群協(xié)同搜索方法,將整個粒子種群劃分為3 個子群,按照3 種搜索策略分別設(shè)置3 個子群的速度更新機制,每完成一次迭代通過共享子群最優(yōu)信息實現(xiàn)信息交流。
根據(jù)基本粒子群算法原理、多策略進化和多種群協(xié)同搜索方法,制定多策略協(xié)同進化粒子群算法流程為:
(1)初始化算法參數(shù),包括種群規(guī)模、粒子維度、搜索區(qū)域等;
(2)將種群等分為3 個子群,將3 個子群的粒子進行隨機初始化;
(3)各子群按各自搜索方式搜索最優(yōu)位置,每完成一次迭代,交換子群最優(yōu)粒子;
(4)比較子群最優(yōu)粒子,挑選出種群最優(yōu)粒子,使用種群最優(yōu)粒子替換各子群最優(yōu)粒子;
(5)是否達到最大迭代次數(shù),若是則結(jié)束,輸出種群最優(yōu)粒子;若否則轉(zhuǎn)至Step3。
將多策略協(xié)同進化粒子群算法應(yīng)用于模糊控制器的自適應(yīng)調(diào)節(jié)中,模糊邏輯控制器包含3 個參數(shù),因此將粒子維度設(shè)置為3,即 xi=(xi1,xi2,xi3)T,粒子的 1 至 3 維度分別表示 Ke、Ke˙、Ku。根據(jù)參數(shù)的通常取值,將搜索范圍分別設(shè)置為[0,10]、[0,8]、[0,8]。
優(yōu)化目標(biāo)為使用最小的驅(qū)動力矩實現(xiàn)最小的跟蹤誤差,即目標(biāo)函數(shù)為:
式中:g()—目標(biāo)函數(shù);N—采樣數(shù)量;e1(i)—關(guān)節(jié) 1 跟蹤誤差;e2(i)—關(guān)節(jié) 2 跟蹤誤差;u1(i)—關(guān)節(jié) 1 驅(qū)動力矩;u2(i)—關(guān)節(jié)2 驅(qū)動力矩;?1=?2=104—權(quán)值,目的是將誤差調(diào)整至與力矩具有相同的數(shù)量級。
仿真實驗在MATLAB 仿真環(huán)境下進行,機械臂參數(shù)設(shè)置為:m1=2kg、m2=1kg、l1=1.2m、l2=0.6m,g=9.8m/s2。關(guān)節(jié) 1 和關(guān)節(jié) 2的期望運動軌跡為 θd1(t)=θd2(t)=sin(2t-π/2)。關(guān)節(jié)角初始設(shè)置為 θ0=[-1,1]T,外界干擾設(shè)置為 y=sint。
以第一周期的參數(shù)自適應(yīng)調(diào)節(jié)為例,分別使用多策略協(xié)同進化粒子群算法與傳統(tǒng)粒子群算法對模糊邏輯控制器參數(shù)進行優(yōu)化,算法的參數(shù)設(shè)置為:最大迭代次數(shù)tmax=500,粒子規(guī)模設(shè)置為99,學(xué)習(xí)因子c1=1.8、c2=2.2。分別使用多策略協(xié)同進化粒子群算法與基本粒子群算法優(yōu)化模糊控制器參數(shù),目標(biāo)函數(shù)隨迭代過程的變化曲線,如圖3 所示。
圖3 模糊控制器參數(shù)優(yōu)化過程Fig.3 Parameters Optimizing Process of Fuzzy Controller
從圖3 可以看出,多策略協(xié)同進化算法在搜索最優(yōu)參數(shù)過程中,不僅收斂速度快,而且最優(yōu)收斂值也遠遠優(yōu)于基本粒子群算法,轉(zhuǎn)化到模糊控制問題中,多策略協(xié)同進化算法能夠在較短時間內(nèi)搜索到更優(yōu)參數(shù),且搜索的參數(shù)可以使用更小的力矩實現(xiàn)更小的跟蹤誤差。算法收斂速度快對于機械臂系統(tǒng)的實時控制具有重要意義。多策略協(xié)同進化粒子群算法之所以優(yōu)于基本算法,是因為多策略進化方法和多子群協(xié)同搜索策略,兼顧了種群的探索能力和開發(fā)能力,既保證了算法的大范圍探索能力,又兼顧了小范圍開發(fā)能力,所以搜索的參數(shù)值優(yōu)于基本粒子群算法,且收斂速度也較快。
使用兩種粒子群算法最終搜索到的第一周期最優(yōu)參數(shù)及目標(biāo)函數(shù)值,如表2 所示。
表2 算法搜索結(jié)果Tab.2 Algorithm Searching Result
為了形成對比效果,分別使用智能自適應(yīng)模糊控制器和PID控制器對機械臂進行控制,得到的跟蹤誤差與驅(qū)動力矩曲線,如圖4、圖5 所示。從圖4 可以看出,使用智能自適應(yīng)模糊控制器對關(guān)節(jié)1 和關(guān)節(jié)2 產(chǎn)生的軌跡跟蹤誤差明顯小于PID 控制器的控制誤差。經(jīng)統(tǒng)計,使用智能自適應(yīng)模糊控制器對關(guān)節(jié)1 控制的最大跟蹤誤差為2.1×10-4rad,對關(guān)節(jié)2 控制的最大跟蹤誤差為1.9×10-4rad;而使用PID 控制器對關(guān)節(jié)1 的最大跟蹤誤差為7.9×10-4rad,對關(guān)節(jié)2 的最大跟蹤誤差為7.6×10-4rad,是智能自適應(yīng)模糊控制器的4 倍左右。由圖5 可以看出,PID 控制器驅(qū)動力矩波動較大,這是由正弦型外界干擾引起的,而智能自適應(yīng)模糊控制器的波動振幅極小,在應(yīng)對外界干擾時,能夠以小范圍浮動控制力矩實現(xiàn)機械臂控制。經(jīng)統(tǒng)計,關(guān)節(jié)1 的控制力矩中,PID 控制力矩的平均波動幅度為18Nm,智能自適應(yīng)模糊控制力矩平均波動幅度為3Nm;關(guān)節(jié)2 的控制力矩中,PID 控制力矩的平均波動幅度為10Nm,智能自適應(yīng)模糊控制力矩平均波動幅度為1.5Nm,由此可見,智能自適應(yīng)模糊控制器的力矩波動幅度遠遠小于PID 控制器。綜上所述,智能自適應(yīng)模糊控制器能夠以更小的力矩實現(xiàn)更準(zhǔn)確的軌跡跟蹤控制,這是因為智能自適應(yīng)模糊控制器能夠根據(jù)控制誤差和力矩大小實時優(yōu)化模糊控制器,使模糊控制器能夠根據(jù)控制結(jié)果實時改變自身參數(shù),實現(xiàn)了在任意時刻和任意狀態(tài)下的最優(yōu)控制。
圖4 兩關(guān)節(jié)的跟蹤控制誤差Fig.4 Tracking Control Error of the Two Joints
圖5 兩關(guān)節(jié)的驅(qū)動力矩Fig.5 Driving Torque of the Two Joints
研究了機械臂軌跡跟蹤控制問題,以二階模糊控制器為基礎(chǔ),設(shè)計了智能自適應(yīng)模糊控制器,實現(xiàn)了以最小力矩得到最小誤差的控制目標(biāo)。
經(jīng)仿真驗證,得到以下結(jié)論:(1)多策略協(xié)同進化粒子群算法通過多策略進化和多種群協(xié)同搜索方式,提高了算法的收斂速度和精度;(2)智能自適應(yīng)模糊控制器能夠根據(jù)控制結(jié)果實時調(diào)整自身參數(shù),實現(xiàn)了任意時刻的最優(yōu)控制。