馬金平,李剛,宋振東*,何元一,孫乾城
(1. 深圳職業技術學院 機電工程學院,廣東 深圳 518055;2. 沈陽新松機器人自動化股份有限公司 中央研究院,遼寧 沈陽 110169)
工業串聯機械臂是目前工業生產中使用最為普遍的一種工業機器人[1],其控制方法基本采用現代控制理.現代控制理論及其幾大分支,包括線性系統理論、自適應控制理論、魯棒控制理論、最優控制理論,全部是基于被控對象的數學模型發展起來的.然而在實際的生產中,若想建立精確的串聯機械臂的數學模型,是十分困難的,當機構產生變形或關節數量改變后,數學模型也會相應發生改變,機械臂往往需要重新進行調試,為機械臂的使用和精確控制帶來困難.無模型自適應控制(MFAC)是一種不依賴被控對象數學模型的控制算法,其完全利用測得的在線數據進行控制,自1993年首次提出至今,已經逐漸發展為一套十分系統的控制理論.其收斂性、魯棒性、穩定性均已得到嚴格的證明[2,3],已經在單輸入單輸出、單輸入多輸出、多輸入多輸出系統中得到了廣泛應用[4].
本文針對傳統 MFAC控制算法,分析了微分先行 PID算法的優點,改進了原始人造魚群算法,提出改進的無模型控制算法,并進行相應仿真分析.
目前工業上使用最多的控制方法仍然是 PID控制[5].在PID控制算法中,主要通過系統輸入、輸出誤差的比例、積分、微分來對系統進行控制.這是一種不基于受控系統精確數學模型的控制算法[6].當受控系統十分復雜或系統精確數學模型無法獲得時,PID控制便成為一種十分方便和有效的控制手段.PID控制原理圖如圖1所示.

圖1 PID控制原理圖
假設系統誤差e(t)可表示為:

其中,r(t)為系統輸入;y(t)為系統輸出.

由以上分析可知,在PID控制過程中,主要是通過調節控制器參數kp,ki,kd實現對被控系統的控制調節.然而,傳統PID控制中,微分環節雖然對系統具備較好的動態性能改善作用,但由于其對干擾十分敏感,將會給系統的穩定性帶來較大影響.若控制過程中,只對輸出量進行微分,而不對給定值進行微分,則被控量的波動則相對變緩,系統震蕩明顯改善.這種對傳統PID算法的改進方法,稱為微分先行PID算法[7],如圖2所示.

圖2 微分先行PID算法

根據以上推導結果,對一具有延遲的被控對象進行對比控制仿真,該對象可表達為:

令輸入信號為具有干擾的信號,其表達式為:

仿真對比分析得到的仿真結果如圖3,圖4所示.

圖3 傳統PID算法

圖4 微分先行PID算法
由仿真結果可知,微分先行PID算法具有更好的跟蹤特性,延遲更小,更接近目標曲線.
群智能優化算法是一種不依賴被控對象數學表達式的全局優化算法.其中,人造魚群優化算法是群智能算法中性能較好的一種.該算法是模擬自然界魚類群居行為而提出的一種優化算法.其中包括尋食、集合、跟隨、任意運動等四個基本搜索步驟.這種算法對局部最優具有非常優越的逃離特性,對優化初始值及參數具有不敏感性,具有較強的穩定性[8].在全局尋優過程中,不依靠目標函數的梯度,對函數解析表達式無要求,具有收斂速度快、效率高等特點.
在魚群算法中,魚群尋食是一種感知食物濃度后,自發向食物濃度高的地方前進的現象.其數學表達為:設搜索域內人造魚的起始方位為Xi,任意選取一個方位Xj.若Yi

圖5 人造魚自然動作的數學表達
在原始的人造魚群算法中,任意動作采用隨機前進一步的方法,這種方法不具有目標性,常常會降低收斂速度.因此本文提出以具有快速搜索局部最優解的虎克(HOOKE)搜索法取代隨機搜索.從而提高當代迭代的目標性,提高收斂速度.為了檢測本問題提出的改進方法的有效性,本文選取4個算法性能測試函數,進行性能測試,測試函數圖像如圖6所示.

圖6 性能測試函數
分別用2種算法進行全局尋優,種群數量45,迭代代數99,測試共進行35,當得到的解與理論最優解之間的相對誤差不大于0.002時,停止迭代,測試結果見表1.

表1 測試結果
由測試仿真結果可知,本文提出的算法在迭代時收斂速度更快,尋優成功率明顯高于原始算法.
無模型控制是一種不基于被控對象數學模型的控制方法.相比現代控制理論,對于無法獲得精確數學模型的控制對象具有更好的控制效果.
以單輸入單輸出的非線性離散時間系統為例,系統可以由式(10)表示:

式中,y(k),u(k)為k時刻系統的輸入和輸出;ny,nu為系統的未知階數;f(…)為未知的非線性函數.
單輸入單輸出系統的動態線性模型和控制輸入準則函數可由式(11)表示:

這里假設Δu(k)≠0,一定存在一個變量φ(k),使得Δy(k+1)=φ(k)Δu(k),且,稱φ(k)為系統的偽偏導數:

由式(11)及式(12)可得:

由于φ(k)是偽偏導數,實際上是未知的,因此MFAC中采用其在線估計值φ?(k)代替,由此可得系統控制算法表達式:


將式(11)及式(15)聯立,即可得到為偏導數的估計算法公式:

由以上推導可得:

由于 PID控制在工業應用中具有廣泛的使用性,因此將這種PID控制技術與無模型控制有機融合.對于微分先行PID控制器,在式(17)推導出的控制算法中,選取代價函數如下式:

在當前系統回路中,計算此時所有可選控制器的代價函數值,通過比較數值大小,自主識別最佳控制器.將最佳控制器替換當前系統回路中的控制器,并記錄最佳控制器中的PID參數.然而在傳統無模型控制算法那中,PID參數整定代價函數的最優值是將所有代價函數計算出來進行比較而得,這種算法將浪費大量時間、占用大量系統資源.為了改善這一缺點,本文利用改進人工魚群算法對代價函數進行智能全局尋優,將顯著提高系統效率.這里本文規定一個定義:對于已知的輸入輸出信號(ui,yi)以及任意一個控制器ki,如果存在ri,使得系統可以給出與輸入輸出信號(ui,yi)相同的數據,則本文稱ri為虛擬輸入信號.虛擬輸入信號可用式(19)表達:

對于PID控制器:

改進后的無模型控制算法步驟如下:
(1)初始化.
①設定備選 PID控制器參數范圍:Kp,Ki,Kd;
②設定改進魚群算法參數;
③設定采樣時間Δt,t=nΔt;
④仿真時間tf,計算總步數q=tf/Δt;
⑤當前控制器為k,代價函數V=(ki,Z,nΔt).
(2)u(nΔt),y(nΔt)記為系統中任意時刻的輸出信號及輸出信號.
(3)利用本文提出的優化算法計算初始控制器的虛擬輸入信號ri(nΔt).計算所有控制器虛擬輸入信號的代價函數V= (ki,Z,nΔt),采用改進人造魚群優化算法尋找能使代價函數得到最小值的然后在全域中搜索能夠使代價函數獲取最小值的Kp,Ki,Kd.
(4)替換當前控制器,記k=kl.
(5)令n=n+1.
(6)若n≥q,停止;否則從第二部繼續執行.
在數值計算軟件中完成數值仿真.其中,被控對象為具有二自由度的工業型機械臂,其系統表達式、采樣時間、仿真時間、輸入信號分別為:

對于原始無模型控制算法,控制跟蹤誤差曲線如圖7(a)所示;對于本文提出的改進無模型控制算法,跟蹤誤差曲線如圖7(b)所示.

圖7 仿真結果
從圖7的仿真結果中可以看出,傳統無模型控制算法具有較好控制效果,理想曲線與實際跟隨曲線誤差較小,但仍存在可見誤差.本文將微分先行PID算法、人工魚群算法、無模型控制算法三者結合,自適應的全局尋優PID控制參數,在相同情況下進行仿真,得到如圖7(b)所示的跟蹤誤差曲線.對比圖7(a)及圖7(b)可以發現,改進后的無模型控制算法在控制的精度上有明顯提高,控制更加穩定,魯棒性更好.