缸明義,夏興國(guó),張慶豐,吳彩林
(馬鞍山職業(yè)技術(shù)學(xué)院 電氣工程系,安徽 馬鞍山 243031)
機(jī)械手控制是工業(yè)機(jī)器人控制中很重要的一個(gè)方面。傳統(tǒng)的機(jī)械手控制方法大多需要機(jī)械手的精確數(shù)學(xué)模型或者機(jī)械手動(dòng)力學(xué)方面的知識(shí),但很難保證機(jī)械手系統(tǒng)在復(fù)雜環(huán)境下的穩(wěn)定性、魯棒性和整個(gè)系統(tǒng)的動(dòng)態(tài)性能。模糊神經(jīng)網(wǎng)絡(luò)是模糊邏輯和神經(jīng)網(wǎng)絡(luò)相結(jié)合的產(chǎn)物,它克服了模糊系統(tǒng)缺乏自學(xué)習(xí)和自適應(yīng)能力以及神經(jīng)網(wǎng)絡(luò)不適于表達(dá)基于規(guī)則的知識(shí)等不足[1-4],廣泛應(yīng)用于不確定性、非線性等復(fù)雜系統(tǒng)的控制中。這方面研究最早起源于歐美國(guó)家,近年來(lái),很多學(xué)者提出將模糊神經(jīng)網(wǎng)絡(luò)應(yīng)用于非線性建模或控制,毛潤(rùn)等[5]提出采用計(jì)算力矩和模糊神經(jīng)網(wǎng)絡(luò)補(bǔ)償相結(jié)合的控制方法,但對(duì)于是否會(huì)影響系統(tǒng)快速性問(wèn)題未提供量化分析;王波等[6]提出了將模糊神經(jīng)網(wǎng)絡(luò)應(yīng)用于機(jī)械手軌跡跟蹤,但其采用BP 算法進(jìn)行在線學(xué)習(xí),容易陷入局部收斂,使學(xué)習(xí)時(shí)間延長(zhǎng)。
本文采用模糊神經(jīng)網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)機(jī)械手的軌跡跟蹤控制,網(wǎng)絡(luò)學(xué)習(xí)采用粒子群優(yōu)化算法和改進(jìn)的BP 算法相結(jié)合的混合優(yōu)化方法。粒子群優(yōu)化算法作為一種新興的基于群智能的優(yōu)化算法,具有操作簡(jiǎn)單、功能強(qiáng)大、運(yùn)算速度快等優(yōu)點(diǎn)[7]。將粒子群優(yōu)化算法用于模糊神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí),加快了網(wǎng)絡(luò)的學(xué)習(xí)速度,提升了機(jī)械手軌跡跟蹤控制的準(zhǔn)確度。
機(jī)械手系統(tǒng)的動(dòng)力學(xué)模型可以反映其各個(gè)關(guān)節(jié)的位置、速度和加速度之間復(fù)雜的關(guān)系。因此建立機(jī)械手的動(dòng)力學(xué)模型對(duì)研究機(jī)械手軌跡跟蹤控制至關(guān)重要。當(dāng)前,兩關(guān)節(jié)機(jī)械手系統(tǒng)在各種科研和實(shí)際生產(chǎn)場(chǎng)合使用較多,也可以作為集成的功能和結(jié)構(gòu)單元在復(fù)雜的多關(guān)節(jié)機(jī)械手系統(tǒng)中使用[8]。
兩關(guān)節(jié)機(jī)械手由兩個(gè)質(zhì)量分別為m1和m2的連桿l1和l2組成(見(jiàn)圖1)。連桿l1的一端通過(guò)旋轉(zhuǎn)關(guān)節(jié)1 固定在基座上,另外一端通過(guò)旋轉(zhuǎn)關(guān)節(jié)2 和連桿l2連接,可以任意運(yùn)動(dòng),實(shí)現(xiàn)抓取、搬運(yùn)等用戶指定的工作。電機(jī)的輸入力矩τ1、τ2分別驅(qū)動(dòng)機(jī)械手的關(guān)節(jié)1 和關(guān)節(jié)2,使關(guān)節(jié)運(yùn)動(dòng)帶動(dòng)連桿l1和l2運(yùn)動(dòng)。兩連桿在力矩作用下轉(zhuǎn)過(guò)的角度分別為θ1和θ2。兩關(guān)節(jié)相互配合,機(jī)械手系統(tǒng)末端按照期望運(yùn)動(dòng)軌跡運(yùn)動(dòng)。
圖1 兩關(guān)節(jié)機(jī)械手模型Fig.1 Two-joint manipulator model
利用拉格朗日方法求解二連桿機(jī)械手系統(tǒng)的動(dòng)力學(xué)方程[9],在忽略摩擦和干擾的情況下,兩連桿機(jī)械手的動(dòng)力學(xué)模型可以表示為
式中,
式中,τ為關(guān)節(jié)驅(qū)動(dòng)力矩;M(θ)為慣性矩陣;V(θ,θ˙)為離心力和哥氏力矩陣;G(θ)為重力效應(yīng)矩陣。
機(jī)械手系統(tǒng)的特性復(fù)雜多變,它本身受到很多不確定性因素的影響,比如負(fù)載變化、自身不確定因素等[10],因此很難推導(dǎo)出精確的數(shù)學(xué)模型。模糊控制邏輯推理能力強(qiáng),神經(jīng)網(wǎng)絡(luò)容錯(cuò)性強(qiáng),結(jié)合兩者優(yōu)點(diǎn),利用神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)非線性映射、自學(xué)習(xí)能力來(lái)調(diào)整模糊邏輯。
圖2 為模糊神經(jīng)網(wǎng)絡(luò)控制系統(tǒng)原理結(jié)構(gòu)圖。它的控制對(duì)象是兩關(guān)節(jié)機(jī)械手系統(tǒng),網(wǎng)絡(luò)學(xué)習(xí)采用粒子群優(yōu)化算法和改進(jìn)的BP 算法相結(jié)合的學(xué)習(xí)算法。
圖2 模糊神經(jīng)網(wǎng)絡(luò)控制系統(tǒng)原理結(jié)構(gòu)圖Fig.2 Principle structure diagram of the fuzzy neural network control system
在 圖2 中,θd1和θd2分 別 是 關(guān) 節(jié)1 和2 的 期 望 位 置 信 號(hào);τ1和τ2分 別 是 通 過(guò) 模 糊 神 經(jīng) 網(wǎng) 絡(luò) 控 制器調(diào)節(jié)作用給機(jī)械手兩關(guān)節(jié)的控制力矩。θ1和θ2分別是關(guān)節(jié)1 和2 的實(shí)際位置信號(hào);e1和e2分別為機(jī)械手關(guān)節(jié)1 和2 的位置誤差;ec1和ec2為誤差變化率;ke1、ke2、kec1、kec2為調(diào)節(jié)偏差和偏差變化率的量化因子;ku1和ku2為調(diào)節(jié)控制器輸出變量的比例因子。
機(jī)械手的模糊神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖3 所示,它有5 層結(jié)構(gòu),分為兩個(gè)模糊神經(jīng)網(wǎng)絡(luò)子網(wǎng)[11-12]。由于關(guān)節(jié)間的耦合作用,添加網(wǎng)絡(luò)的第5 層為反應(yīng)兩關(guān)節(jié)耦合作用的耦合層。
圖3 模糊神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Structure of fuzzy neural network
第1 層:模糊神經(jīng)網(wǎng)絡(luò)的輸入層。該層有4 個(gè)節(jié)點(diǎn),輸入范圍分別是e1,ec1,e2,ec2變論域,它們的論域均為[-6,6]。節(jié)點(diǎn)的輸入為
式中,i= 1,2;k= 1,2。xki表示第k個(gè)子網(wǎng)的第i個(gè)輸入表示第k個(gè)子網(wǎng)的第1 層輸出。
第2 層:模糊神經(jīng)網(wǎng)絡(luò)的模糊化層,即隸屬度函數(shù)生成層。每個(gè)輸入e1,e2,ec1,ec2分為7 個(gè)節(jié)點(diǎn),即7 個(gè)模糊語(yǔ)言集,分別為PB(正大)、PM(正中)、PS(正?。?、Z(零)、NS(負(fù)?。?、NM(負(fù)中)、NB(負(fù)大)。此層共有28 個(gè)節(jié)點(diǎn)。采用Gaussian 函數(shù)作為隸屬函數(shù),與7 個(gè)模糊語(yǔ)言集對(duì)應(yīng)的Gaussian 函數(shù)的中心值分別為6、4、2、0、-2、-4、-6,寬度均為2。式中,kcij和kbij分別表示第k個(gè)子網(wǎng)的第i個(gè)輸入變量第j個(gè)模糊集合的中心值和寬度,k f2(i,j)表示第k個(gè)子網(wǎng)的第二層輸出。
第3 層:模糊神經(jīng)網(wǎng)絡(luò)的推理層。在此網(wǎng)絡(luò)中用乘法代替取小運(yùn)算,
式中,i= 1,2,…,7;j= 1,2,…,7。k f3(i,j)表示第k個(gè)子網(wǎng)的第三層輸出。第4 層:模糊神經(jīng)網(wǎng)絡(luò)的去模糊化層。采用加權(quán)平均法去模糊化,
第5層:模糊神經(jīng)網(wǎng)絡(luò)的輸出層。該層表示機(jī)械手兩關(guān)節(jié)之間耦合關(guān)系,
式中,w(4)ki表示四層與五層之間的權(quán)值系數(shù),它反映了各關(guān)節(jié)間的耦合作用。
2.2.1 粒子群優(yōu)化算法 粒子群優(yōu)化(particle swarm optimization,PSO)算法是一種基于群智能的演化計(jì)算技術(shù)[13],它由粒子之間的相互作用,從隨機(jī)解出發(fā),在搜索空間里智能尋找最優(yōu)解。
假設(shè)粒子群為n維搜索空間,設(shè)第i個(gè)粒子的當(dāng)前位置為Xi=(xi1,xi2,…,xin),當(dāng)前速度為Vi=(vi1,vi2,…,vin)。第i個(gè)粒子所經(jīng)歷過(guò)的最優(yōu)適應(yīng)值的位置,即個(gè)體最好位置為Pi=(pi1,pi2,…,pin)。
設(shè)f(X)為最優(yōu)的目標(biāo)函數(shù),則第i個(gè)粒子的Pi=(pi1,pi2,…,pin)由(7)式確定:
設(shè)Pg(t)為在整個(gè)粒子群中搜索到的最好位置,即為全局最好位置,則
第i個(gè)粒子的當(dāng)前位置和當(dāng)前速度通過(guò)(9)式和(10)式更新:
式 中,i表 示 第i個(gè) 粒 子(i= 1,2,…,m),j表 示 粒 子 的 第j維(j= 1,2,…,n),t表 示 當(dāng) 前 進(jìn) 化 代數(shù),c1和c2為加速常數(shù),通常在[0,2]之間取值,r1,r2∈[0,1]為均勻隨機(jī)數(shù)。
從(9)式和(10)式可知,c1決定粒子飛向Pi方向上的步長(zhǎng),c2決定粒子向Pg飛行的步長(zhǎng)。為避免粒子在更新過(guò)程中離開(kāi)搜索空間,將vij限定在一定范圍內(nèi),即vij∈[-vmax,vmax]。
2.2.2 基于粒子群算法的模糊神經(jīng)網(wǎng)絡(luò)參數(shù)的整定 模糊神經(jīng)網(wǎng)絡(luò)常用的學(xué)習(xí)算法是基于梯度的BP 算法,但其容易陷入局部收斂,使網(wǎng)絡(luò)學(xué)習(xí)時(shí)間延長(zhǎng)。粒子群優(yōu)化算法操作簡(jiǎn)單,功能強(qiáng)大,但其收斂速度相對(duì)較慢[14]。結(jié)合兩種算法應(yīng)用在模糊神經(jīng)網(wǎng)絡(luò)的參數(shù)學(xué)習(xí)中,優(yōu)勢(shì)互補(bǔ),從而提高推理能力和學(xué)習(xí)能力,實(shí)現(xiàn)對(duì)機(jī)械手的軌跡跟蹤控制。具體由離線學(xué)習(xí)粗搜索獲得較合理初值和在線學(xué)習(xí)細(xì)搜索獲得最優(yōu)解兩步構(gòu)成。
基于粒子群優(yōu)化算法的離線優(yōu)化模糊神經(jīng)網(wǎng)絡(luò)參數(shù)搜索的具體步驟如下:
步驟一對(duì)模糊神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行初始化,確定網(wǎng)絡(luò)結(jié)構(gòu)中心值kcij、寬度kbj、權(quán)值kw(3)ij、w(4)ij的個(gè)數(shù)。
步驟二隨機(jī)初始設(shè)定粒子群的位置和速度。
步驟三逐一輸入粒子群中的粒子,計(jì)算出所有粒子的適應(yīng)值。
步驟四根據(jù)(7)式和(8)式比較適應(yīng)值,確定粒子的個(gè)體最優(yōu)值pbest和群體全局最優(yōu)值gbest。
步驟五根據(jù)(9)式優(yōu)化粒子的速度,根據(jù)(10)式優(yōu)化粒子的位置。
步驟六若已獲得足夠好的適應(yīng)值或達(dá)到預(yù)設(shè)的最大迭代次數(shù),則轉(zhuǎn)步驟七,否則返回步驟二繼續(xù)搜索。
步驟七結(jié)束。
2.2.3 基于BP 算法的在線學(xué)習(xí) 通過(guò)粒子群優(yōu)化使模糊神經(jīng)網(wǎng)絡(luò)參數(shù)達(dá)到了全局近似最優(yōu)解,但由于其具有一定的概率性和隨機(jī)性,并且需要控制計(jì)算量,以及控制的實(shí)時(shí)性[15],故只對(duì)網(wǎng)絡(luò)的權(quán)值和運(yùn)用改進(jìn)的BP 算法進(jìn)行在線實(shí)時(shí)細(xì)化微調(diào)。
改進(jìn)的BP 算法添加了動(dòng)量項(xiàng),利用附加的動(dòng)量項(xiàng)可以平滑梯度方向的劇烈變化,此處動(dòng)量因子取α=0.1。同時(shí)為使訓(xùn)練的收斂速度盡可能加快,在保證收斂精度的前提下盡可能提高學(xué)習(xí)率η的數(shù)值,此處取η=0.3。
本文在MATLAB 平臺(tái)中仿真驗(yàn)證控制方案的有效性,在仿真中模糊神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)為4-28-98-2-2。采用粒子群優(yōu)化模糊神經(jīng)網(wǎng)絡(luò)參數(shù)高斯基函數(shù)的中心值、寬度。通過(guò)經(jīng)驗(yàn)選取粒子群規(guī)模為30,進(jìn)化迭代步數(shù)100,加速常數(shù)通常取c1=c2= 2,采樣周期T= 0.000 5 s。
首先應(yīng)用粒子群優(yōu)化算法離線訓(xùn)練,模型誤差的優(yōu)化過(guò)程如圖4 所示。
圖4 模型誤差的優(yōu)化過(guò)程Fig.4 The optimization process of model error
然后,再將參數(shù)放入模糊神經(jīng)網(wǎng)絡(luò)用于機(jī)械手控制。機(jī)械手的具體物理參數(shù)見(jiàn)表1。
表1 機(jī)械手基本的物理參數(shù)表Tab.1 Basic physical parameter table of the manipulator
(1)設(shè)關(guān)節(jié)1 的期望函數(shù)為θd1= sin(2πt),關(guān)節(jié)2 的期望函數(shù)為θd2= cos(2πt)。跟蹤效果如圖5 和圖6 所示,跟蹤誤差如圖7 和圖8 所示。
圖5 關(guān)節(jié)1 軌跡跟蹤曲線Fig.5 Joint 1 trajectory tracking curve
圖6 關(guān)節(jié)2 軌跡跟蹤曲線Fig.6 Joint 2 trajectory tracking curve
圖7 關(guān)節(jié)1 優(yōu)化后軌跡跟蹤誤差Fig.7 Trajectory tracking error after joint 1 optimization
圖8 關(guān)節(jié)2 優(yōu)化后軌跡跟蹤誤差Fig.8 Trajectory tracking error after joint 2 optimization
在模糊神經(jīng)網(wǎng)絡(luò)的離線學(xué)習(xí)中,粒子群優(yōu)化學(xué)習(xí)算法獲取了一個(gè)比較好的初值,這為模糊神經(jīng)網(wǎng)絡(luò)的在線學(xué)習(xí)奠定了良好的基礎(chǔ)。從圖5 ~圖8 的軌跡跟蹤控制效果圖中可看出模糊神經(jīng)網(wǎng)絡(luò)控制效果很好,經(jīng)過(guò)一段時(shí)間的學(xué)習(xí)后,機(jī)械手具有較好的跟蹤性能,且誤差幾乎為零。
(2)為了研究系統(tǒng)的抗干擾能力,在t= 2 s 時(shí),分別對(duì)關(guān)節(jié)1 和關(guān)節(jié)2 施加脈沖干擾,幅值為0.1 rad。仿真結(jié)果見(jiàn)圖9 和圖10。
圖9 加入干擾后關(guān)節(jié)1 的正弦信號(hào)跟蹤效果Fig.9 Sinusoidal signal tracking effect of joint 1 after adding interference
圖10 加入干擾后關(guān)節(jié)2 的余弦信號(hào)跟蹤效果Fig.10 Cosinusoidal signal tracking effect of joint 2 after adding interference
由圖9 和圖10 可以看出控制系統(tǒng)的抗干擾性比較好,能夠快速跟蹤期望輸出,幅值0.1 的脈沖干擾對(duì)控制系統(tǒng)幾乎沒(méi)有影響。
設(shè)計(jì)了一種基于模糊神經(jīng)網(wǎng)絡(luò)的機(jī)械手控制方案,在模糊神經(jīng)網(wǎng)絡(luò)參數(shù)的優(yōu)化學(xué)習(xí)中通過(guò)粒子群離線搜索和BP 算法在線調(diào)整相結(jié)合,提高了網(wǎng)絡(luò)的學(xué)習(xí)速度和泛化能力。仿真研究表明,應(yīng)用該控制方案,系統(tǒng)跟蹤性能良好,有較好的適應(yīng)性和穩(wěn)定性。
江漢大學(xué)學(xué)報(bào)(自然科學(xué)版)2021年1期