王紀程,李冉冉,徐天緯
(南京工程學院,江蘇 南京210000)
足球機器人的底層運動控制是完成各種智能運動的基礎,因此近幾年來一直成為研究的重點和熱點。國內外學者針對這方面做了很多的研究,傳統的PID控制算法具有控制方法簡單、參數調整方便、魯棒性好和可靠性高等優點,然而全向移動足球機器人系統本身是一個多變量、時變性、強耦合的復雜系統,傳統的PID控制算法已經不能滿足其控制要求。本文在傳統的PID控制算法的基礎上,對PID控制算法進行改進,并結合BP神經網絡設計出BP神經網絡PID控制器。
在建立四輪機器人運動模型前,首先要明確機器人體坐標系即相對坐標系的定義。取四輪足球機器人質心為原點建立起機器人體坐標系,世界坐標系是以場地中心為原點,對方球門方向為正方向,如圖1所示。目前,在全自主足球機器人輪系分布系統設計中,以三輪120°均衡分布和四輪90°均衡分布被廣泛使用,但由于足球機器人增加彈射機構,因此四輪機構無法做到均衡分布。

圖1 全向移動足球機器人體坐標系及速度分解示意
設機器人三維速度矢量[VXVYw]T,足球機器人幾何中心在二維平面上的運動可用該三維矢量來表示,其整體速度可以看成平動和轉動的集合,R是各輪的軸心到機器人體坐標系的距離。根據速度分解示意圖可以得出四個輪子的速度分解公式如下:

根據式(1)、(2)、(3)、(4)可得到輪系速度矢量(v′1v′2v′3v′4)與機器人本體的速度向量(VxVyw)的關系:

設機器人本體在絕對坐標系中的位姿為θ,對于各個輪子相對于絕對坐標系的角度不同,故引入旋轉矩陣R(θ)。

設vi為v′i在世界坐標系中的表示,得到:


則式(8)可以寫成:

通過以上分析最終建立起如式(10)的運動學模型。
PID控制器有兩種控制算法,一種是位置式控制算法,一種是增量式控制算法,下面簡要介紹這兩種算法,并進行比較。
該算法是以連續的PID控制規律為基礎,然后將其數字化,寫成差分方程,得到PID控制器的微分方程:

式(11)中:u(t)為PID調節器輸出量;e(t)為PID調節器輸入量;kp為比例系數;Tl為積分時間常數;TD為微分時間常數。
在計算機控制系統中,采用數字PID,因此將式(11)的公式離散化得差分方程:

式(12)中:kl為積分系數;kD為微分系數。
位置式算法屬于全量輸出,所以每次輸出都與過去的狀態有關,計算時要對e(k)進行累加,計算機工作量大,為了能減輕計算機的工作量,因此產生了增量式算法。
由式(12)可得:

將式(12)和式(13)相減,得:

由式(14)可知,u(k)只與e(k)、e(k-1)、e(k-2)有關,故稱為增量式。
傳統的PID控制算法是基于數學對象模型的方法,其優點是算法簡單、參數調整方便、魯棒性強和可靠性高。然而足球機器人系統則是一個多變量、強耦合,非線性時變的復雜系統,當系統的負載或參數發生變化時,采用傳統的PID控制算法已經不能達到設計的預期效果,因此,需要對PID算法進行改進。
系統中加了積分進行矯正后,會產生較大的超調量,這對足球機器人系統是不利的,因此引入積分分離算法,既保存了積分的作用,又降低了超調量,使控制性能得到了極大地改善。
積分分離算法設置了一個積分分離閥e0,當|e(k T)|≤E0時,即偏差e(k T)偏小時,采用PID控制保證系統的控制精度;當|e(k T)|>E0時,即偏差e(k T)偏大時,采用PD控制可使超調量大幅度降低。積分分離算法可以表示為:

式(15)中:e(k T)=e(k T)-e(k T-T)為當前周期的誤差變化量,e(k T-T)=e(k T-T)-e(k T-2T)為上一周期的誤差變化量,當|e(k T)|≤E 0時,Kl=1;當|e(k T)|>E 0時,Kl=0。此時,增量式PID算法可表示為:

式(16)中:k′l=Ki×Kl。
在足球機器人比賽過程中,實時性和快速性是衡量該系統性能好壞的重要指標。如何在最短的時間內,讓機器人能夠完成電機調速過程,達到最佳的運動狀態,取決于電機調速算法。在控制精度允許的范圍內,控制算法越簡單,單片機進行運算處理的時間就越短,PID調節的時間也就越短。滿足在采樣周期內,單片機要盡可能快的完成PID運算,電機的速度也要隨之發生變化。在一組參數中,對于低速時候的電機控制會有很好的效果,但對于高速時候的電機速度的效果卻很差,因此,使用單一的一個控制參數無法實現電機的最優控制。
分段控制,就是把調速設備分成幾段進行控制,在產生不同的誤差時,選擇不同的PID參數。在實驗中發現,電機的調速范圍分成三段控制效果較好,速度誤差0~30時選擇PID參數1,速度誤差在30~60時選擇PID參數2,在60~100時選擇PID參數3。
積分分離算法既保存了積分的作用,有減少了超調量;分段控制精度高,平滑性好,兩者結合,使電機調速性能明顯得到改善。其結合控制算法程序流程圖如圖1所示。
利用Matlab軟件將傳統PID算法和積分分離算法進行仿真,比較這兩種算法的仿真結果,仿真結果如圖2、圖3所示。從仿真結果上看,積分分離算法控制更平穩,減小了超調量,控制性能得到很大改善。
在足球機器人系統中,電動機的調速主要是通過改變電樞電壓大小來實現的。它采用PWM(脈沖寬度調節)技術,PID控制器的輸出量u為PWM的占空比。機器人單自由度電機調速控制系統框圖如圖4所示。
采用BP神經網絡對PID的3個參數kp、ki、kd進行在線整定,神經網絡控制主要是根據系統的實時運行狀態,也就是系統的誤差|e|和誤差變化率|e|,通過誤差|e|和誤差變化率|e|來調節PID的參數,從而是的各項性能指標達到最優化,使輸出層神經元的輸出狀態對應于PID控制器的三個可調參數、、,通過神經網絡的自學習、加權系數的自調整,使神經網絡輸出對應于某種最優控制下的PID控制參數。現引入圖5所示的三層BP神經網絡。

圖1 分段與積分分離PID控制算法流程

圖2 積分分離算法仿真結果

圖3 普通PID算法仿真結果

圖4 機器人單自由度電機調速系統框
BP神經網絡包括輸入層、隱含層、輸出層,第一層為網絡輸入層,輸入量為誤差|e|和誤差變化率|e|。其活化函數相當于恒定函數,故輸入為:

第二層為網絡隱含層,其輸入和輸出分別為:

式(18)中,neti(2)(k)為隱含層輸入,Oi(2)(k)為隱含層輸出,w(2)ij為隱含層的加權系數,M的值隨著控制系統的復雜程度不同而變化,上面的數字1、2、3表示為輸入層、隱含層和輸出層。隱含層神經元的活化函數取偶函數Sigmoid函數:


圖5 BP神經網絡結構
第三層為網絡輸出層,其輸入、輸出分別為:

于是有:

式(22)表示神經網絡輸出層的3個節點,分別代表PID控制器3個參數kp、ki、kd,又因為kp、ki、kd不能為負值,故輸出層的神經元活化函數為非負函數Log-Sigmoid函數:

取性能指標為:

BP神經網絡反向學習過程采用非線性規劃中的最速下降法,按誤差函數的負梯度方向修改各層的加權系數,并附加一個使調整快速收斂于全局最小的慣性項:


由式(17)~(22)可得:

由此可以推出神經網絡輸出層權的自學習算法為:

式(31)中g′=g(x)(1-g(x)),同理可推出神經網絡隱含層權系數的學習算法:

通過以上神經網絡各層的權系數推導可以看出,神經網絡PID控制最終的輸出對應了PID控制算法的3個參數,該控制器利用自身自學習特點以及外部環境的變化來進行參數整定,使的控制器的控制性能滿足足球機器人系統的控制要求。
為比較傳統PID控制器和BP神經網絡改進PID控制器的性能,用MATLAB軟件來進行simulink仿真。設控制對象為:

為了得出兩種控制系統最后輸出量的對比效果,在建立simulink仿真模型時將兩個系統的輸出結果通過一個示波器顯示出來,仿真結果如圖6所示。

圖6 仿真結果顯示
從圖6中可以看出,采用BP神經網絡PID控制器的超調量明顯比傳統PID控制器的超調量小,而且系統穩定性要好。同時,還可以看出神經網絡控制器系統的響應速度要慢于傳統PID控制系統,這是由于在系統初始階段,神經網絡控制系統要進行自學習,因此其快速性受到影響。
在提出足球機器人運動學模型的基礎上,對足球機器人的運動控制算法進行研究。針對足球機器人系統的復雜性、時變性和不確定性,傳統的PID控制系統已經不能滿足其控制系統的性能要求,因此在傳統的PID控制算法的基礎上對其進行改進,設計了一種BP神經網絡改進PID控制器,并對其性能效果進行仿真驗證,仿真結果表明:BP神經網絡PID控制器與傳統的PID控制器相比,具有超調量小、運行穩定等優點,其控制性能得到明顯提升。