(浙江工業(yè)大學(xué) 信息工程學(xué)院,杭州 310023)
運(yùn)動控制是現(xiàn)代機(jī)電領(lǐng)域的重要支柱,其不僅要求實(shí)現(xiàn)對單軸系統(tǒng)的速度、位置等物理量的控制,更要提高具有運(yùn)動協(xié)調(diào)關(guān)系的多軸系統(tǒng)間的同步控制精度。對于紡織印刷機(jī)械、數(shù)控機(jī)床、機(jī)器人等復(fù)雜設(shè)備,多軸之間的同步運(yùn)動是保證控制性能、提高產(chǎn)品質(zhì)量的關(guān)鍵。
另一方面,隨著網(wǎng)絡(luò)通信技術(shù)的普及,網(wǎng)絡(luò)化給現(xiàn)代運(yùn)動控制注入了活力。運(yùn)動控制網(wǎng)絡(luò)化的應(yīng)用,為多軸控制帶來了巨大便利,同時也為多軸系統(tǒng)的同步控制精度帶來了更大的挑戰(zhàn)。
網(wǎng)絡(luò)化運(yùn)動控制系統(tǒng)是網(wǎng)絡(luò)通信技術(shù)與運(yùn)動控制系統(tǒng)的有機(jī)結(jié)合體,它具有控制精度高、開放程度高等特點(diǎn)。但是,由于網(wǎng)絡(luò)化運(yùn)動控制系統(tǒng)易受到網(wǎng)絡(luò)空間的攻擊,其同步控制過程中的穩(wěn)定性常常不能得到保證。
近年來,學(xué)界在網(wǎng)絡(luò)化容侵同步控制方面已經(jīng)取得了一系列成果。Shao等[1]提出了一種互聯(lián)非線性系統(tǒng)的分散容錯控制方法,并利用小增益循環(huán)的方法來應(yīng)對耦合效應(yīng),該方法可以在保持子系統(tǒng)之間原有狀態(tài)的前提下實(shí)現(xiàn)容錯控制。Zhong等[2]提出了一種基于故障估計(jì)器的時延反饋控制器,通過構(gòu)造容錯主從同步系統(tǒng),獲得了確保同步誤差系統(tǒng)穩(wěn)定性的充分條件。Qin等[3]提出了一種分布式傳感器故障檢測與隔離方案,將新的分布式控制法運(yùn)用于車輛閉環(huán)模型中,實(shí)時證明了控制律和故障檢測方案的有效性。Cao等[4]討論了帶有未知外部干擾的線性多智能體系統(tǒng)跟蹤控制問題,提出一種基于分布式擴(kuò)維狀態(tài)觀測器的跟蹤控制策略。Wang等[5]研究了高階多智能體系統(tǒng)的分布式容錯控制問題,提出了一種基于分布式自適應(yīng)機(jī)制的新型容錯跟蹤控制協(xié)議。Zuo等[13]研究了一類利普希茨非線性多智能體系統(tǒng)在執(zhí)行器故障和領(lǐng)導(dǎo)者未知輸入有界情況下的故障跟蹤控制問題,提出了一種自適應(yīng)容錯控制協(xié)議,通過在線估計(jì)執(zhí)行器故障來更新參數(shù)并實(shí)現(xiàn)跟蹤控制。Chen等[14]研究了分布式自適應(yīng)協(xié)議在多智能體系統(tǒng)中的容錯一致性問題, 提出了一種分布式協(xié)議增益更新機(jī)制,實(shí)現(xiàn)了無領(lǐng)導(dǎo)者多智能體系統(tǒng)的分布式連續(xù)自適應(yīng)容錯一致性協(xié)議設(shè)計(jì)。在此基礎(chǔ)上,提出了一種適用于多智能體系統(tǒng)的分布式容錯領(lǐng)導(dǎo)-跟隨者一致性協(xié)議。Zhang等[15]在有向通信拓?fù)浣Y(jié)構(gòu)下,利用線性矩陣不等式(LMI)研究了一種基于自適應(yīng)觀測器的分布式故障估計(jì)觀測器,根據(jù)每個智能體的相對輸出估計(jì)誤差,構(gòu)造各自的故障估計(jì)觀測器。Ren等[16]研究二階非線性隨機(jī)多智能體系統(tǒng)的領(lǐng)導(dǎo)跟隨一致性問題,其中每個跟隨者的速度是不可測量的,因而為每個跟蹤器建立分布式的“降階觀測器”來估計(jì)其未知速度,進(jìn)而提出了一種基于無向連接拓?fù)浣Y(jié)構(gòu)的分布式控制器,證明了在逆步控制方法下,隨機(jī)多智能體系統(tǒng)的一致誤差可以收斂到原點(diǎn)附近的一個小區(qū)域。Li等[17]研究了一類具有外部干擾和執(zhí)行器/傳感器故障的交換網(wǎng)絡(luò)化控制系統(tǒng)(SNCSs)問題。同時,在通信網(wǎng)絡(luò)中考慮了網(wǎng)絡(luò)誘導(dǎo)時延、丟包和包無序等通信約束,提出了一種基于觀測器和二階離散自適應(yīng)滑模函數(shù)的魯棒自適應(yīng)滑??刂品椒?,進(jìn)而證明了滑模面的可達(dá)性。
多智能體容錯控制方面的結(jié)果多集中于狀態(tài)反饋控制策略,近年來也出現(xiàn)了少量多智能體輸出反饋容錯控制問題的研究結(jié)果。如文獻(xiàn)[11]考慮了無向通信拓?fù)湎碌亩嘀悄荏w系統(tǒng)容錯控制問題,而文獻(xiàn)[12]則考慮了有向通信拓?fù)湎碌亩嘀悄荏w系統(tǒng)魯棒跟蹤控制問題。需要指出,實(shí)際系統(tǒng)中往往非線性未建模不確定性,已有文獻(xiàn)如[13]通常假設(shè)非線性不確定性結(jié)構(gòu)已知且滿足利普希茨條件,這樣處理往往會使得系統(tǒng)穩(wěn)定性條件具有很大的保守性。
根據(jù)上述分析,本文針對帶有一般有向通信拓?fù)涞牟淮_定網(wǎng)絡(luò)化多軸運(yùn)動控制系統(tǒng)的容侵同步控制問題展開研究,提出了一種有向拓?fù)湎禄诜植际街虚g觀測器的容侵同步控制方法。將未知非線性不確定性分解為匹配和不匹配分量,對匹配分量進(jìn)行補(bǔ)償控制,同時通過調(diào)節(jié)特定參數(shù)對不匹配分量進(jìn)行有效抑制。
本文所考慮的網(wǎng)絡(luò)化多軸運(yùn)動控制系統(tǒng)實(shí)物圖與結(jié)構(gòu)圖如圖1所示,左側(cè)為多軸同步系統(tǒng),右側(cè)為雙軸雕刻機(jī)系統(tǒng)。其主要由PC(上位機(jī))、ARM單片機(jī)(下位機(jī))、電機(jī)、交流伺服系統(tǒng)和CAN總線組成。
圖1 多軸運(yùn)動控制系統(tǒng)
其中,下位機(jī)采用基于ARM的CortexTM-M4為內(nèi)核的STM32F407系列高性能微處理器。該處理器運(yùn)算速度快、精度高,且其內(nèi)部集成了大量可供立即使用的接口資源,滿足了網(wǎng)絡(luò)化運(yùn)動控制系統(tǒng)對處理器的要求。
選用臺達(dá)ASDA-A2-M型驅(qū)動器作為交流伺服系統(tǒng)的驅(qū)動部件,其內(nèi)置運(yùn)動控制模式,含電子凸輪功能,支持多種軸孔操作需求,并且可在低速運(yùn)轉(zhuǎn)下實(shí)現(xiàn)精準(zhǔn)定位控制。
本系統(tǒng)選用CAN 總線實(shí)現(xiàn)下位機(jī)與伺服系統(tǒng)之間的網(wǎng)絡(luò)化通訊控制。CAN總線是一種基于國際標(biāo)準(zhǔn)的能夠?qū)崿F(xiàn)分布式控制或?qū)崟r控制的串行通信網(wǎng)絡(luò),具有較高的通信速率和較強(qiáng)的抗干擾能力。基于CAN總線的分布式控制系統(tǒng)具有明顯的優(yōu)越性,因?yàn)镃AN總線具有避免總線沖突的特點(diǎn),在非破壞性的前提下提高了實(shí)時性。
該網(wǎng)絡(luò)化多軸運(yùn)動控制系統(tǒng)的主要控制過程如下:上位機(jī)通過TCP/IP協(xié)議接收來自下位機(jī)的數(shù)據(jù)信息并根據(jù)控制算法更新控制律,并將新的控制指令下發(fā)至下位機(jī)。下位機(jī)作為中轉(zhuǎn)站,接收上位機(jī)的控制指令,將TCP/IP協(xié)議數(shù)據(jù)包重新封裝為CAN總線數(shù)據(jù)包,并通過CAN總線將其傳輸至各交流伺服系統(tǒng)。同時,下位機(jī)通過CAN總線實(shí)時獲取各交流伺服系統(tǒng)的位置、速度、力矩等信息,并將這些數(shù)據(jù)封裝成TCP/IP協(xié)議數(shù)據(jù)包后發(fā)送至上位機(jī)。CAN總線負(fù)責(zé)進(jìn)行下位機(jī)與交流伺服系統(tǒng)之間的通訊,并實(shí)時傳輸數(shù)據(jù)。交流伺服系統(tǒng)實(shí)時響應(yīng)來自上位機(jī)的控制指令,并由電機(jī)或電機(jī)驅(qū)動的機(jī)械臂做出相應(yīng)的運(yùn)動響應(yīng)。
圖2 系統(tǒng)結(jié)構(gòu)
針對上述多軸運(yùn)動控制系統(tǒng)??紤]其存在如圖3所示的有向通信拓?fù)鋱D。其中,電機(jī)間的單向箭頭表示該節(jié)點(diǎn)的測量輸出信息可以發(fā)送給另一個對象,但不接受信息的反向傳遞。
圖3 通信拓?fù)?/p>
對一個實(shí)際的網(wǎng)絡(luò)化多軸運(yùn)動控制系統(tǒng)來說,相比無向通信結(jié)構(gòu),其拓?fù)浣Y(jié)構(gòu)為有向通信結(jié)構(gòu)時更具適用性。因?yàn)橛邢蛲ㄐ胖恍铦M足單向通信,而無向通信需滿足雙向的通信條件,因此有向通信是更為普遍適用的情況。運(yùn)用有向通信拓?fù)浣Y(jié)構(gòu)可以大大簡化系統(tǒng)復(fù)雜度、降低對網(wǎng)絡(luò)計(jì)算能力的要求,從而節(jié)約系統(tǒng)成本。
定義鄰接矩陣A=[aij]∈RN×N,其中aii=0;當(dāng)(i,j)∈ε時,aij=1;否則aij=0。牽引矩陣D=diag{di}∈RN×N和Laplacian矩陣L=[lij]∈RN×N來表示電機(jī)間的信息傳遞關(guān)系。在有向通信拓?fù)淝闆r下,S和L均為非對稱矩陣。上述矩陣定義如下:
(1)
(2)
(3)
由于電機(jī)間存在一定的網(wǎng)絡(luò)通信拓?fù)?,?dāng)多軸運(yùn)動控制系統(tǒng)中的任意一軸受到外部攻擊時,攻擊效應(yīng)會隨著拓?fù)浣Y(jié)構(gòu)擴(kuò)散到整個系統(tǒng),從而影響系統(tǒng)性能。因此,本文針對有向通信拓?fù)湎碌牟淮_定網(wǎng)絡(luò)化多軸運(yùn)動控制系統(tǒng),提出了一種基于中間觀測器的容侵同步控制方法,確保系統(tǒng)具有良好的容侵同步性能。
根據(jù)伺服系統(tǒng)特性,在速度模式下,對系統(tǒng)模型進(jìn)行辨識,得到伺服系統(tǒng)的傳遞函數(shù)如下所示:
(4)
其中:ai、bi為模型的定常參量,Ui(s)為多軸伺服系統(tǒng)軸i的速度設(shè)定值,Yi(s)為多軸伺服系統(tǒng)軸i的位置設(shè)定值。xpi(t)和xvi(t)分別為系統(tǒng)軸i的位置量和速度量,ui(t)為系統(tǒng)軸i的控制輸入,yi(t)為系統(tǒng)軸i的測量輸出。
根據(jù)上文分析,在該控制系統(tǒng)中共有一個領(lǐng)航者(電機(jī)1)和三個跟隨者(電機(jī)2、3和4)。將式(4)轉(zhuǎn)化為狀態(tài)空間方程,并考慮系統(tǒng)建模非線性誤差,得到領(lǐng)航者的系統(tǒng)模型為:
(5)
y0(t)=Cx0(t)
(6)
其中:x0(t)∈Rn是領(lǐng)航者的狀態(tài),y0(t)∈Rm是領(lǐng)航者的測量輸出,r0(t)是領(lǐng)航者的輸入,G(t,x0(t))∈Rn是未知非線性函數(shù),表示系統(tǒng)未建模不確定性。A、B和C為適當(dāng)維度的常數(shù)矩陣。
考慮如下帶有建模非線性誤差和執(zhí)行器攻擊的跟隨者系統(tǒng)模型:
(7)
yi(t)=Cxi(t)
(8)
i=1,2,…,N,其中xi(t)∈Rn、ui(t)∈Rm、fi(t)∈Rm、yi(t)∈Rp、G(t,xi(t))分別為第i個追隨者的狀態(tài)、控制輸入、執(zhí)行器攻擊、測量輸出和非線性部分,且滿足m≤p≤n。
定義第i個跟隨者的跟蹤誤差δi(t)=xi(t)-x0(t)。由式(5)~(8)可以得到第i個跟隨者的跟蹤誤差系統(tǒng):
(9)
其中:ηi(t)=fi(t)-r0(t),Ge(t)=G(t,x(t))-G(t,x0(t))。
將Ge(t)分解為Ge1(t)和Ge2(t)。其中,Ge1(t)為匹配非線性部分,Ge2(t)為不匹配非線性部分。則式(9)可以重寫為:
(10)
將執(zhí)行器攻擊、領(lǐng)航者的參考輸入和非線性部分重新合并成一個組合未知信號:
ηi(t)=fi(t)-r0(t)+B*Ge1(t)
本文的控制目標(biāo)是針對有向拓?fù)湎戮W(wǎng)絡(luò)化多軸運(yùn)動控制系統(tǒng),設(shè)計(jì)容侵同步控制協(xié)議,確保跟蹤誤差系統(tǒng)的狀態(tài)一致最終有界。
先定義中間變量為:
ξi(t)=ηi(t)-ωBTδi(t)
(11)
其中:ω>0是一個可調(diào)參數(shù)。需要指出,ω是分布式中間觀測器的關(guān)鍵參數(shù),實(shí)際上,ω和觀測器的收斂速度相關(guān),同時通過調(diào)節(jié)ω可以改善分布式觀測器的跟蹤估計(jì)性能。
根據(jù)式(10)~(11),設(shè)計(jì)第i個跟隨者的分布式中間觀測器為:
(12)
(13)
(14)
根據(jù)上文的分析,設(shè)計(jì)第i個跟隨者的容侵同步控制協(xié)議為:
(15)
其中:K為控制器增益,其取值可通過令A(yù)-BK為Hurwitz矩陣獲得。
在一般有向通訊拓?fù)錀l件下,每個跟隨者電機(jī)會依據(jù)通信拓?fù)浣Y(jié)構(gòu)與相鄰電機(jī)交換測量輸出信息,并通過生成樹的信息傳遞機(jī)制確保能夠?qū)εc領(lǐng)航者電機(jī)的跟蹤誤差進(jìn)行實(shí)時在線估計(jì)并實(shí)現(xiàn)同步控制。
將上文設(shè)計(jì)的協(xié)議代入跟蹤誤差系統(tǒng),得到如下全局跟蹤誤差系統(tǒng)其中,其中M=L+D:
(IN?B)eξ(t)+(IN?ωBBT)eδ(t)+
(IN?Ge2(t))
(16)
(IN?ωBBT)eδ(t)-(cM?FC)eδ(t)+
(IN?Ge2(t))
(17)
(IN?+Ge2(t))
(18)
定理1:如果給定標(biāo)量ω>0,ε>0,若存在矩陣Pj>0,j=1,2,3以及參數(shù)c>0,使得:
(19)
證明:選擇Lyapunov函數(shù)為:
(20)
對上式求導(dǎo),結(jié)合(16)-(18)可以得到V(t)關(guān)于時間的導(dǎo)數(shù)。為簡便起見,后續(xù)推導(dǎo)省略,詳細(xì)過程可參考文獻(xiàn)[8]。證畢。
由于實(shí)際系統(tǒng)中往往非線性未建模不確定性,而已有文獻(xiàn)如[7]通常假設(shè)非線性不確定性結(jié)構(gòu)已知且滿足利普希茨條件,這樣處理往往會使得系統(tǒng)穩(wěn)定性條件具有很大的保守性。本文方法將未知非線性不確定性進(jìn)行分解,對匹配分量進(jìn)行補(bǔ)償控制,同時通過調(diào)節(jié)特定參數(shù)對不匹配分量進(jìn)行有效抑制,從而減少了不等式放縮給閉環(huán)系統(tǒng)穩(wěn)定性帶來的保守性。
基于分布式中間觀測器的容侵同步控制過程主要由以下幾個步驟組成:
1)獲取領(lǐng)航者電機(jī)和各跟隨者電機(jī)在運(yùn)行時的數(shù)據(jù);
2)設(shè)定調(diào)節(jié)參數(shù)ω及系統(tǒng)反饋增益矩陣K;
3)分別計(jì)算觀測器增益c和F;
4)運(yùn)用分布式中間觀測器對跟蹤誤差系統(tǒng)的狀態(tài)和組合未知信號進(jìn)行估計(jì)。若輸出估計(jì)誤差超過設(shè)定的閾值,則需重新調(diào)節(jié)系統(tǒng)的參數(shù)并計(jì)算相應(yīng)的觀測器增益c和F,直至輸出估計(jì)誤差小于閾值為止;
5)利用估計(jì)值設(shè)計(jì)反饋控制律,對信號進(jìn)行實(shí)時補(bǔ)償,完成對多軸運(yùn)動系統(tǒng)的容侵同步控制;
6)獲取下一時刻的數(shù)據(jù),重復(fù)上述2)~5)步驟。
上述具體流程如圖(4)所示。
圖4 容侵同步控制流程圖
為說明前述容侵同步控制方法的有效性,本節(jié)給出了在網(wǎng)絡(luò)化多軸運(yùn)動控制系統(tǒng)上的實(shí)驗(yàn)結(jié)果。
網(wǎng)絡(luò)化多軸運(yùn)動控制系統(tǒng)的上位機(jī)界面是使用Microsoft Visual Studio 2015編寫的。Microsoft Visual Studio是美國微軟公司的開發(fā)工具包系列產(chǎn)品,是一個基本完整的開發(fā)工具集,它包括了整個軟件生命周期中所需要的大部分工具,如UML工具、代碼管控工具、集成開發(fā)環(huán)境(IDE)等等,能夠幫助開發(fā)人員打造跨平臺的應(yīng)用程序及創(chuàng)建跨平臺運(yùn)行的ASP.NET 5網(wǎng)站,從Windows到Linux、甚至iOS和Android都可以輕松搞定。上位機(jī)操作界面主要由C++語言進(jìn)行編寫,并結(jié)合MFC制作人機(jī)交互界面。連接服務(wù)器(ARM單片機(jī))時需要將本機(jī)IP設(shè)置為和服務(wù)器IP同簇。同時由于系統(tǒng)傳遞函數(shù)是在速度模式下辨識得到的,因此需要將算法寫入速度模式,并將組合未知信號及其估計(jì)和系統(tǒng)狀態(tài)等所需要的曲線實(shí)時顯示在上位機(jī)平臺的畫圖區(qū)域內(nèi)。
圖5 網(wǎng)絡(luò)化多軸運(yùn)動控制系統(tǒng)上位機(jī)界面
各個電機(jī)系統(tǒng)參數(shù)為:
并設(shè)置執(zhí)行器攻擊分別為:
f1(t)=sin(0.5t),f2(t)=0.8sin(0.6t),
f3(t)=1.5sin(0.4t)
領(lǐng)航者的輸入r0(t)對于所有跟隨者是非可見的。假設(shè)其為:r0(t)=0.5sin(0.2t)。根據(jù)領(lǐng)航者和跟隨者的有向圖通信拓?fù)浣Y(jié)構(gòu)圖3以及容侵同步控制協(xié)議式(15),設(shè)定系統(tǒng)反饋增益矩陣K=[14.6698 23.5635],調(diào)節(jié)參數(shù)ω=4。根據(jù)式(19)計(jì)算得到觀測器增益:c=2385.9,F(xiàn)=[0.0469 0.6023]T。
利用觀測器對系統(tǒng)狀態(tài)和未知信號進(jìn)行估計(jì),發(fā)現(xiàn)誤差超出了設(shè)定閾值(±0.5),不滿足設(shè)定的性能指標(biāo),因此對參數(shù)進(jìn)行調(diào)節(jié)使ω=4.5,并重新根據(jù)式(19)計(jì)算觀測器增益:c=9871.6,F(xiàn)=[0.0325 0.8044]T。
圖6~8分別給出了組合未知信號ηi(t)的估計(jì)值及其誤差,并且各自的估計(jì)誤差均在允許范圍內(nèi)(±0.5)。然而由于不確定實(shí)際值無法獲得,因此我們僅能提供由領(lǐng)航者非零輸入和執(zhí)行器攻擊所構(gòu)成的組合信號與估計(jì)值作比較。其中,黑線代表組合未知信號的實(shí)際值,藍(lán)線表示組合未知信號的估計(jì)值。圖9給出了領(lǐng)航者和跟隨者的狀態(tài)1(位置)和狀態(tài)2(速度)的跟蹤曲線,可以看出,其穩(wěn)態(tài)跟蹤誤差也均在允許范圍內(nèi)。
圖6 η1估計(jì)以及誤差
圖7 η2估計(jì)以及誤差
圖8 η3估計(jì)以及誤差
圖9 狀態(tài)1、2跟蹤曲線
根據(jù)實(shí)驗(yàn)結(jié)果可知,本文提出的容侵同步控制方法不僅準(zhǔn)確估計(jì)了系統(tǒng)的位置(狀態(tài)1)、速度(狀態(tài)2)以及組合未知信號(包含攻擊信號、領(lǐng)航者輸入以及未建模不確定性),而且,依據(jù)上述估計(jì)值所設(shè)計(jì)的具有攻擊補(bǔ)償?shù)姆答伩刂坡赡軌虼_保跟隨者與領(lǐng)航者之間的狀態(tài)同步,因此該方法具有良好的容侵同步控制性能。
針對執(zhí)行器攻擊下有向通信拓?fù)涞木W(wǎng)絡(luò)化運(yùn)動控制系統(tǒng),提出了一種基于分布式中間觀測器的容侵同步控制方法,通過設(shè)計(jì)分布式中間觀測器估計(jì)系統(tǒng)所受到的攻擊,并且利用系統(tǒng)狀態(tài)值和攻擊估計(jì)值設(shè)計(jì)容侵同步控制協(xié)議,實(shí)驗(yàn)結(jié)果說明在執(zhí)行器攻擊威脅和不確定性因素影響下,所提方法網(wǎng)絡(luò)化運(yùn)動控制系統(tǒng)仍具有較好的同步控制精度和魯棒性,因而該方法在工程上具有一定的應(yīng)用價(jià)值。