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

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

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

由以上分析可知,在PID控制過(guò)程中,主要是通過(guò)調(diào)節(jié)控制器參數(shù)kp,ki,kd實(shí)現(xiàn)對(duì)被控系統(tǒng)的控制調(diào)節(jié).然而,傳統(tǒng)PID控制中,微分環(huán)節(jié)雖然對(duì)系統(tǒng)具備較好的動(dòng)態(tài)性能改善作用,但由于其對(duì)干擾十分敏感,將會(huì)給系統(tǒng)的穩(wěn)定性帶來(lái)較大影響.若控制過(guò)程中,只對(duì)輸出量進(jìn)行微分,而不對(duì)給定值進(jìn)行微分,則被控量的波動(dòng)則相對(duì)變緩,系統(tǒng)震蕩明顯改善.這種對(duì)傳統(tǒng)PID算法的改進(jìn)方法,稱為微分先行PID算法[7],如圖2所示.

圖2 微分先行PID算法

根據(jù)以上推導(dǎo)結(jié)果,對(duì)一具有延遲的被控對(duì)象進(jìn)行對(duì)比控制仿真,該對(duì)象可表達(dá)為:

令輸入信號(hào)為具有干擾的信號(hào),其表達(dá)式為:

仿真對(duì)比分析得到的仿真結(jié)果如圖3,圖4所示.

圖3 傳統(tǒng)PID算法

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

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

圖6 性能測(cè)試函數(shù)
分別用2種算法進(jìn)行全局尋優(yōu),種群數(shù)量45,迭代代數(shù)99,測(cè)試共進(jìn)行35,當(dāng)?shù)玫降慕馀c理論最優(yōu)解之間的相對(duì)誤差不大于0.002時(shí),停止迭代,測(cè)試結(jié)果見(jiàn)表1.

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

式中,y(k),u(k)為k時(shí)刻系統(tǒng)的輸入和輸出;ny,nu為系統(tǒng)的未知階數(shù);f(…)為未知的非線性函數(shù).
單輸入單輸出系統(tǒng)的動(dòng)態(tài)線性模型和控制輸入準(zhǔn)則函數(shù)可由式(11)表示:

這里假設(shè)Δu(k)≠0,一定存在一個(gè)變量φ(k),使得Δy(k+1)=φ(k)Δu(k),且,稱φ(k)為系統(tǒng)的偽偏導(dǎo)數(shù):

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

由于φ(k)是偽偏導(dǎo)數(shù),實(shí)際上是未知的,因此MFAC中采用其在線估計(jì)值φ?(k)代替,由此可得系統(tǒng)控制算法表達(dá)式:


將式(11)及式(15)聯(lián)立,即可得到為偏導(dǎo)數(shù)的估計(jì)算法公式:

由以上推導(dǎo)可得:

由于 PID控制在工業(yè)應(yīng)用中具有廣泛的使用性,因此將這種PID控制技術(shù)與無(wú)模型控制有機(jī)融合.對(duì)于微分先行PID控制器,在式(17)推導(dǎo)出的控制算法中,選取代價(jià)函數(shù)如下式:

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

對(duì)于PID控制器:

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

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

圖7 仿真結(jié)果
從圖7的仿真結(jié)果中可以看出,傳統(tǒng)無(wú)模型控制算法具有較好控制效果,理想曲線與實(shí)際跟隨曲線誤差較小,但仍存在可見(jiàn)誤差.本文將微分先行PID算法、人工魚群算法、無(wú)模型控制算法三者結(jié)合,自適應(yīng)的全局尋優(yōu)PID控制參數(shù),在相同情況下進(jìn)行仿真,得到如圖7(b)所示的跟蹤誤差曲線.對(duì)比圖7(a)及圖7(b)可以發(fā)現(xiàn),改進(jìn)后的無(wú)模型控制算法在控制的精度上有明顯提高,控制更加穩(wěn)定,魯棒性更好.
深圳職業(yè)技術(shù)學(xué)院學(xué)報(bào)2021年1期