王紀(jì)程,李冉冉,徐天緯
(南京工程學(xué)院,江蘇 南京210000)
足球機(jī)器人的底層運(yùn)動(dòng)控制是完成各種智能運(yùn)動(dòng)的基礎(chǔ),因此近幾年來一直成為研究的重點(diǎn)和熱點(diǎn)。國內(nèi)外學(xué)者針對這方面做了很多的研究,傳統(tǒng)的PID控制算法具有控制方法簡單、參數(shù)調(diào)整方便、魯棒性好和可靠性高等優(yōu)點(diǎn),然而全向移動(dòng)足球機(jī)器人系統(tǒng)本身是一個(gè)多變量、時(shí)變性、強(qiáng)耦合的復(fù)雜系統(tǒng),傳統(tǒng)的PID控制算法已經(jīng)不能滿足其控制要求。本文在傳統(tǒng)的PID控制算法的基礎(chǔ)上,對PID控制算法進(jìn)行改進(jìn),并結(jié)合BP神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)出BP神經(jīng)網(wǎng)絡(luò)PID控制器。
在建立四輪機(jī)器人運(yùn)動(dòng)模型前,首先要明確機(jī)器人體坐標(biāo)系即相對坐標(biāo)系的定義。取四輪足球機(jī)器人質(zhì)心為原點(diǎn)建立起機(jī)器人體坐標(biāo)系,世界坐標(biāo)系是以場地中心為原點(diǎn),對方球門方向?yàn)檎较?,如圖1所示。目前,在全自主足球機(jī)器人輪系分布系統(tǒng)設(shè)計(jì)中,以三輪120°均衡分布和四輪90°均衡分布被廣泛使用,但由于足球機(jī)器人增加彈射機(jī)構(gòu),因此四輪機(jī)構(gòu)無法做到均衡分布。
圖1 全向移動(dòng)足球機(jī)器人體坐標(biāo)系及速度分解示意
設(shè)機(jī)器人三維速度矢量[VXVYw]T,足球機(jī)器人幾何中心在二維平面上的運(yùn)動(dòng)可用該三維矢量來表示,其整體速度可以看成平動(dòng)和轉(zhuǎn)動(dòng)的集合,R是各輪的軸心到機(jī)器人體坐標(biāo)系的距離。根據(jù)速度分解示意圖可以得出四個(gè)輪子的速度分解公式如下:
根據(jù)式(1)、(2)、(3)、(4)可得到輪系速度矢量(v′1v′2v′3v′4)與機(jī)器人本體的速度向量(VxVyw)的關(guān)系:
設(shè)機(jī)器人本體在絕對坐標(biāo)系中的位姿為θ,對于各個(gè)輪子相對于絕對坐標(biāo)系的角度不同,故引入旋轉(zhuǎn)矩陣R(θ)。
設(shè)vi為v′i在世界坐標(biāo)系中的表示,得到:
則式(8)可以寫成:
通過以上分析最終建立起如式(10)的運(yùn)動(dòng)學(xué)模型。
PID控制器有兩種控制算法,一種是位置式控制算法,一種是增量式控制算法,下面簡要介紹這兩種算法,并進(jìn)行比較。
該算法是以連續(xù)的PID控制規(guī)律為基礎(chǔ),然后將其數(shù)字化,寫成差分方程,得到PID控制器的微分方程:
式(11)中:u(t)為PID調(diào)節(jié)器輸出量;e(t)為PID調(diào)節(jié)器輸入量;kp為比例系數(shù);Tl為積分時(shí)間常數(shù);TD為微分時(shí)間常數(shù)。
在計(jì)算機(jī)控制系統(tǒng)中,采用數(shù)字PID,因此將式(11)的公式離散化得差分方程:
式(12)中:kl為積分系數(shù);kD為微分系數(shù)。
位置式算法屬于全量輸出,所以每次輸出都與過去的狀態(tài)有關(guān),計(jì)算時(shí)要對e(k)進(jìn)行累加,計(jì)算機(jī)工作量大,為了能減輕計(jì)算機(jī)的工作量,因此產(chǎn)生了增量式算法。
由式(12)可得:
將式(12)和式(13)相減,得:
由式(14)可知,u(k)只與e(k)、e(k-1)、e(k-2)有關(guān),故稱為增量式。
傳統(tǒng)的PID控制算法是基于數(shù)學(xué)對象模型的方法,其優(yōu)點(diǎn)是算法簡單、參數(shù)調(diào)整方便、魯棒性強(qiáng)和可靠性高。然而足球機(jī)器人系統(tǒng)則是一個(gè)多變量、強(qiáng)耦合,非線性時(shí)變的復(fù)雜系統(tǒng),當(dāng)系統(tǒng)的負(fù)載或參數(shù)發(fā)生變化時(shí),采用傳統(tǒng)的PID控制算法已經(jīng)不能達(dá)到設(shè)計(jì)的預(yù)期效果,因此,需要對PID算法進(jìn)行改進(jìn)。
系統(tǒng)中加了積分進(jìn)行矯正后,會(huì)產(chǎn)生較大的超調(diào)量,這對足球機(jī)器人系統(tǒng)是不利的,因此引入積分分離算法,既保存了積分的作用,又降低了超調(diào)量,使控制性能得到了極大地改善。
積分分離算法設(shè)置了一個(gè)積分分離閥e0,當(dāng)|e(k T)|≤E0時(shí),即偏差e(k T)偏小時(shí),采用PID控制保證系統(tǒng)的控制精度;當(dāng)|e(k T)|>E0時(shí),即偏差e(k T)偏大時(shí),采用PD控制可使超調(diào)量大幅度降低。積分分離算法可以表示為:
式(15)中:e(k T)=e(k T)-e(k T-T)為當(dāng)前周期的誤差變化量,e(k T-T)=e(k T-T)-e(k T-2T)為上一周期的誤差變化量,當(dāng)|e(k T)|≤E 0時(shí),Kl=1;當(dāng)|e(k T)|>E 0時(shí),Kl=0。此時(shí),增量式PID算法可表示為:
式(16)中:k′l=Ki×Kl。
在足球機(jī)器人比賽過程中,實(shí)時(shí)性和快速性是衡量該系統(tǒng)性能好壞的重要指標(biāo)。如何在最短的時(shí)間內(nèi),讓機(jī)器人能夠完成電機(jī)調(diào)速過程,達(dá)到最佳的運(yùn)動(dòng)狀態(tài),取決于電機(jī)調(diào)速算法。在控制精度允許的范圍內(nèi),控制算法越簡單,單片機(jī)進(jìn)行運(yùn)算處理的時(shí)間就越短,PID調(diào)節(jié)的時(shí)間也就越短。滿足在采樣周期內(nèi),單片機(jī)要盡可能快的完成PID運(yùn)算,電機(jī)的速度也要隨之發(fā)生變化。在一組參數(shù)中,對于低速時(shí)候的電機(jī)控制會(huì)有很好的效果,但對于高速時(shí)候的電機(jī)速度的效果卻很差,因此,使用單一的一個(gè)控制參數(shù)無法實(shí)現(xiàn)電機(jī)的最優(yōu)控制。
分段控制,就是把調(diào)速設(shè)備分成幾段進(jìn)行控制,在產(chǎn)生不同的誤差時(shí),選擇不同的PID參數(shù)。在實(shí)驗(yàn)中發(fā)現(xiàn),電機(jī)的調(diào)速范圍分成三段控制效果較好,速度誤差0~30時(shí)選擇PID參數(shù)1,速度誤差在30~60時(shí)選擇PID參數(shù)2,在60~100時(shí)選擇PID參數(shù)3。
積分分離算法既保存了積分的作用,有減少了超調(diào)量;分段控制精度高,平滑性好,兩者結(jié)合,使電機(jī)調(diào)速性能明顯得到改善。其結(jié)合控制算法程序流程圖如圖1所示。
利用Matlab軟件將傳統(tǒng)PID算法和積分分離算法進(jìn)行仿真,比較這兩種算法的仿真結(jié)果,仿真結(jié)果如圖2、圖3所示。從仿真結(jié)果上看,積分分離算法控制更平穩(wěn),減小了超調(diào)量,控制性能得到很大改善。
在足球機(jī)器人系統(tǒng)中,電動(dòng)機(jī)的調(diào)速主要是通過改變電樞電壓大小來實(shí)現(xiàn)的。它采用PWM(脈沖寬度調(diào)節(jié))技術(shù),PID控制器的輸出量u為PWM的占空比。機(jī)器人單自由度電機(jī)調(diào)速控制系統(tǒng)框圖如圖4所示。
采用BP神經(jīng)網(wǎng)絡(luò)對PID的3個(gè)參數(shù)kp、ki、kd進(jìn)行在線整定,神經(jīng)網(wǎng)絡(luò)控制主要是根據(jù)系統(tǒng)的實(shí)時(shí)運(yùn)行狀態(tài),也就是系統(tǒng)的誤差|e|和誤差變化率|e|,通過誤差|e|和誤差變化率|e|來調(diào)節(jié)PID的參數(shù),從而是的各項(xiàng)性能指標(biāo)達(dá)到最優(yōu)化,使輸出層神經(jīng)元的輸出狀態(tài)對應(yīng)于PID控制器的三個(gè)可調(diào)參數(shù)、、,通過神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí)、加權(quán)系數(shù)的自調(diào)整,使神經(jīng)網(wǎng)絡(luò)輸出對應(yīng)于某種最優(yōu)控制下的PID控制參數(shù)。現(xiàn)引入圖5所示的三層BP神經(jīng)網(wǎng)絡(luò)。
圖1 分段與積分分離PID控制算法流程
圖2 積分分離算法仿真結(jié)果
圖3 普通PID算法仿真結(jié)果
圖4 機(jī)器人單自由度電機(jī)調(diào)速系統(tǒng)框
BP神經(jīng)網(wǎng)絡(luò)包括輸入層、隱含層、輸出層,第一層為網(wǎng)絡(luò)輸入層,輸入量為誤差|e|和誤差變化率|e|。其活化函數(shù)相當(dāng)于恒定函數(shù),故輸入為:
第二層為網(wǎng)絡(luò)隱含層,其輸入和輸出分別為:
式(18)中,neti(2)(k)為隱含層輸入,Oi(2)(k)為隱含層輸出,w(2)ij為隱含層的加權(quán)系數(shù),M的值隨著控制系統(tǒng)的復(fù)雜程度不同而變化,上面的數(shù)字1、2、3表示為輸入層、隱含層和輸出層。隱含層神經(jīng)元的活化函數(shù)取偶函數(shù)Sigmoid函數(shù):
圖5 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
第三層為網(wǎng)絡(luò)輸出層,其輸入、輸出分別為:
于是有:
式(22)表示神經(jīng)網(wǎng)絡(luò)輸出層的3個(gè)節(jié)點(diǎn),分別代表PID控制器3個(gè)參數(shù)kp、ki、kd,又因?yàn)閗p、ki、kd不能為負(fù)值,故輸出層的神經(jīng)元活化函數(shù)為非負(fù)函數(shù)Log-Sigmoid函數(shù):
取性能指標(biāo)為:
BP神經(jīng)網(wǎng)絡(luò)反向?qū)W習(xí)過程采用非線性規(guī)劃中的最速下降法,按誤差函數(shù)的負(fù)梯度方向修改各層的加權(quán)系數(shù),并附加一個(gè)使調(diào)整快速收斂于全局最小的慣性項(xiàng):
由式(17)~(22)可得:
由此可以推出神經(jīng)網(wǎng)絡(luò)輸出層權(quán)的自學(xué)習(xí)算法為:
式(31)中g(shù)′=g(x)(1-g(x)),同理可推出神經(jīng)網(wǎng)絡(luò)隱含層權(quán)系數(shù)的學(xué)習(xí)算法:
通過以上神經(jīng)網(wǎng)絡(luò)各層的權(quán)系數(shù)推導(dǎo)可以看出,神經(jīng)網(wǎng)絡(luò)PID控制最終的輸出對應(yīng)了PID控制算法的3個(gè)參數(shù),該控制器利用自身自學(xué)習(xí)特點(diǎn)以及外部環(huán)境的變化來進(jìn)行參數(shù)整定,使的控制器的控制性能滿足足球機(jī)器人系統(tǒng)的控制要求。
為比較傳統(tǒng)PID控制器和BP神經(jīng)網(wǎng)絡(luò)改進(jìn)PID控制器的性能,用MATLAB軟件來進(jìn)行simulink仿真。設(shè)控制對象為:
為了得出兩種控制系統(tǒng)最后輸出量的對比效果,在建立simulink仿真模型時(shí)將兩個(gè)系統(tǒng)的輸出結(jié)果通過一個(gè)示波器顯示出來,仿真結(jié)果如圖6所示。
圖6 仿真結(jié)果顯示
從圖6中可以看出,采用BP神經(jīng)網(wǎng)絡(luò)PID控制器的超調(diào)量明顯比傳統(tǒng)PID控制器的超調(diào)量小,而且系統(tǒng)穩(wěn)定性要好。同時(shí),還可以看出神經(jīng)網(wǎng)絡(luò)控制器系統(tǒng)的響應(yīng)速度要慢于傳統(tǒng)PID控制系統(tǒng),這是由于在系統(tǒng)初始階段,神經(jīng)網(wǎng)絡(luò)控制系統(tǒng)要進(jìn)行自學(xué)習(xí),因此其快速性受到影響。
在提出足球機(jī)器人運(yùn)動(dòng)學(xué)模型的基礎(chǔ)上,對足球機(jī)器人的運(yùn)動(dòng)控制算法進(jìn)行研究。針對足球機(jī)器人系統(tǒng)的復(fù)雜性、時(shí)變性和不確定性,傳統(tǒng)的PID控制系統(tǒng)已經(jīng)不能滿足其控制系統(tǒng)的性能要求,因此在傳統(tǒng)的PID控制算法的基礎(chǔ)上對其進(jìn)行改進(jìn),設(shè)計(jì)了一種BP神經(jīng)網(wǎng)絡(luò)改進(jìn)PID控制器,并對其性能效果進(jìn)行仿真驗(yàn)證,仿真結(jié)果表明:BP神經(jīng)網(wǎng)絡(luò)PID控制器與傳統(tǒng)的PID控制器相比,具有超調(diào)量小、運(yùn)行穩(wěn)定等優(yōu)點(diǎn),其控制性能得到明顯提升。