張鐵 康中強 鄒焱飚 廖才磊
(華南理工大學 機械與汽車工程學院,廣東 廣州 510640)
多軸伺服系統(tǒng)如6軸工業(yè)機器人、數(shù)控車床等在自動化生產(chǎn)中被廣泛應用,這些設備的末端執(zhí)行器往往要求高速高精度到達定位點,以便快速開始下一個加工周期。由于多軸伺服系統(tǒng)關節(jié)及末端執(zhí)行器存在固有的柔性,執(zhí)行器在急停后會產(chǎn)生較大的殘余振動,增加了等待時間;如果在加工規(guī)劃過程中不考慮殘余振動等待時間,則會降低定位精度,如果考慮等待時間,又會嚴重增加自動化加工中輔助行程的時長。
輸入整形器作為一種前饋控制方法可以用來有效地抑制殘余振動。在已知系統(tǒng)的固有頻率及阻尼比的前提下,理想的零振動(ZV)輸入整形器可以完全抑制殘余振動,但是此方法要求準確地獲得系統(tǒng)模態(tài)參數(shù),在系統(tǒng)參數(shù)存在誤差的情況下,往往抑振效果不佳。
為提高ZV整形器的魯棒性,Singer等[1]提出在ZV整形器中加入一階微分約束,得到零振動微分型(ZVD)整形器。Singhose等[2]在此基礎上提出通過增加脈沖數(shù)量及設定一定殘余振動允許量來提高整形器的魯棒性,如多脈沖超不敏感輸入整形器。增加脈沖數(shù)量的代價是使得整形后的軌跡時滯時間增長,因此Vaughan等[3]在輸入整形器中引入負脈沖設計方法,縮短了脈沖序列長度,進而縮短了整形后軌跡的時滯時間。對于復雜的柔性串聯(lián)機構,不同位姿對應的模態(tài)參數(shù)的區(qū)別可能會較大,單純用固定的輸入整形器無法保證在不同軌跡下都有良好的抑振效果。
因此研究者將自適應算法引入到輸入整形器設計中,自適應輸入整形器分為兩類:間接自適應與直接自適應輸入整形器。
間接自適應輸入整形器針對不同軌跡下模態(tài)參數(shù)的變化重新進行時域或者頻域的辨識[4],進而設計新的輸入整形器。Tzes和Khorrami等[5- 6]針對振動模態(tài)與載荷關系的估計,提出時變傳遞函數(shù)估計(TTFE)和經(jīng)驗傳遞函數(shù)估計(ETEE)系統(tǒng)參數(shù)辨識算法。該方法需多次對振動信號進行快速傅里葉變換(FFT),計算量繁重。Kojima等[7]通過實驗數(shù)據(jù)分析得到連桿角度與振動頻率近似四階函數(shù)關系,對函數(shù)系數(shù)進行近似計算,從而實現(xiàn)根據(jù)連桿角度估算系統(tǒng)振動頻率,此方法僅限于單軸或兩軸機構,對于多軸系統(tǒng)用四階函數(shù)進行擬合的方法不再適用。Fasih等[8]根據(jù)塔式起重機纜索長度和有效載荷與系統(tǒng)模態(tài)參數(shù)的實驗數(shù)據(jù),建立人工神經(jīng)網(wǎng)絡學習二者間的非線性模型,通過神經(jīng)網(wǎng)絡模型得到纜索和載荷變化后的模態(tài)參數(shù),由于依舊采用ZVD輸入整形器,導致無法應用在復雜多模態(tài)系統(tǒng)。Chang等[9]為簡化殘余振動信號采集過程及FFT帶來的復雜計算過程,提出基于動力學模型計算系統(tǒng)不同構型下整形器時滯時間的自適應算法以及對有效載荷的自適應方程,但動力學模型的建模與模型參數(shù)辨識誤差會限制自適應算法的效果。
直接自適應輸入整形器從殘余振動信號入手,避開復雜的系統(tǒng)辨識過程,以減少參數(shù)辨識不確定性對輸入整形器抑振效果的影響。在最優(yōu)任意時滯濾波器(OATF)[10]基礎上,Rhim等[11]針對單模態(tài)系統(tǒng),對殘余振動信號應用遞歸最小二乘法(RLS)優(yōu)化計算輸入整形器的系數(shù)。在此基礎上,Rhim等[12]將該方法拓展到多模態(tài),根據(jù)系統(tǒng)實際模態(tài)數(shù)選擇整形器脈沖數(shù),適用性廣且抑振效果較好。Chu等[13]在遞歸最小二乘過程中加入了恒定的遺忘因子,在迭代過程增加最近時刻觀測數(shù)據(jù)在代價函數(shù)中的比重,提升了整形器的跟蹤性能,但在只能獲知系統(tǒng)少量先驗知識的情況下,很難計算最優(yōu)的遺忘因子。
本研究首先提出了一種自適應遺忘因子更新算法,從輸入整形器均方誤差函數(shù)對遺忘因子的標量梯度出發(fā),應用自適應算法在環(huán)境參數(shù)不確定的情況下調整遺忘因子以提升抑振效果;并將該算法嵌入到無遺忘因子遞歸最小二乘法(RLS)迭代過程中,得到帶自適應遺忘因子的后置輸入整形器。再在自行搭建的多軸伺服平臺驗證該算法,并與RLS后置輸入整形器進行對比。之后針對帶自適應遺忘因子的后置輸入整形器(AFFRLS)在應用中每次重新規(guī)劃軌跡后需重新優(yōu)化輸入整形器系數(shù)向量的問題,引入多層全連接神經(jīng)網(wǎng)絡模型,將殘余振動信號作為網(wǎng)絡的輸入層,整形器系數(shù)向量作為輸出層,應用多組激勵軌跡訓練網(wǎng)絡,最終將訓練得到的神經(jīng)網(wǎng)絡模型應用在多條新的圓弧軌跡中驗證基于神經(jīng)網(wǎng)絡模型的輸入整形器抑振效果,并與RLS后置輸入整形器進行對比。
后置輸入整形器是一種從柔性系統(tǒng)輸出入手的反饋控制方法,其原理是應用自適應算法對柔性系統(tǒng)的輸出進行優(yōu)化,得到當前最優(yōu)的輸入整形器,再將得到的最優(yōu)整形器反饋至預整形端,最終實現(xiàn)對期望軌跡r(t)的整形及系統(tǒng)殘余振動的抑制,其中t為時間。其控制流程圖如圖1所示。
圖1中,x(t)和y(t)分別為柔性系統(tǒng)的輸入和輸出,yd(t)為經(jīng)理想輸入整形后的期望輸出,yf(t)為當前輸入整形器的估計輸出,e(t)為整形器期望輸出與實際輸出之間的誤差。
圖1 后置輸入整形器流程圖Fig.1 Flow chart of post input shaper
后置自適應輸入整形器形式上為有限脈沖響應濾波器(FIR),它建立在最優(yōu)任意時滯濾波器的基礎上,任意時滯輸入整形器[10]的一般形式為
(1)
式中:wj為輸入整形器中第j個脈沖的系數(shù);δ(t)為單位脈沖函數(shù);td是整形器任意時滯時間,對于輸入整形器來說,不同的td對應不同的脈沖系數(shù)wj(j=0,1,…,k),td在確定后一旦改變,會導致wj跟隨改變才能保證濾波器良好的抑振效果,k+1為輸入整形器的脈沖數(shù)。整形后的系統(tǒng)輸入x(t)為期望輸入r(t)與任意時滯輸入整形器的卷積,
x(t)=r(t)*f(t)
(2)
由式(1)寫出任意時滯輸入整形器的離散形式:
F(z)=w0+w1z-Δ+w2z-2Δ+…+wkz-kΔ
(3)
其中:Δ=td/ts(Δ為整數(shù)),ts為控制系統(tǒng)的最小采樣時間;z-1為離散時間信號上的單位延時算子;輸入信號r(t)與z-Δ做運算,其結果為r(t-Δ)??梢杂脵M向濾波器結構來表示式(2),如圖2所示。
圖2 任意時滯輸入整形器的橫向結構
基于柔性系統(tǒng)的輸出響應y(t),定義Ψ(i)為i時刻的抽頭輸入向量,
Ψ(i)=[y(i)y(i-Δ) …y(i-kΔ)]T
(4)
定義w(n)為n時刻輸入整形器的脈沖系數(shù)向量,
w(n)=[w0(n)w1(n) …wk(n)]T
(5)
n(n=1,2,…,h)時刻整形器系數(shù)向量w(n)對應的系統(tǒng)估計輸出為
yfn(i)=wT(n)Ψ(i),i=1,2,…,h
(6)
由系統(tǒng)經(jīng)理想整形器的輸出為yd(i)可知,對應時刻i的估計誤差為
en(i)=yd(i)-yfn(i)
(7)
在后置輸入整形器每次更新過程中,為實現(xiàn)系統(tǒng)輸出零殘余振動,需要建立代價函數(shù)如下:
(8)
其中h為系統(tǒng)完全停止振動的離散時間點數(shù)。C(n)為n時刻下在系數(shù)向量為w(n)的輸入整形器作用下從i=0到i=h系統(tǒng)輸出的誤差平方和。進一步,優(yōu)化算法的目標應在C(1),C(2),…,C(h)中取得極小值。由于理想的零殘余振動整形器在系統(tǒng)停止工作的kΔ時間后,系統(tǒng)的殘余振動應為零振動,也即當i>kΔ時,yd(i)=0,如圖3中零殘余振動(ZRV)輸入整形器所示;而當0
(9)
式(9)強調代價函數(shù)針對殘余振動信號進行定義,為方便表達,在后文中應用式(8)進行推導。自適應算法以遞歸最小二乘法(RLS)為基礎,引入加權因子ρn(i):
(10)
(11)
由于遺忘因子小于1,ρn(i)對于越早的誤差樣本,在代價函數(shù)中賦予越小的權重,使得優(yōu)化過程中更加注重最近觀測的數(shù)據(jù)樣本,而遺忘時間過早的樣本在代價函數(shù)中的影響。這使得后置自適應輸入整形器具有一定的跟蹤能力。
圖3 ZRV 3脈沖輸入整形器的理想輸出響應示意圖
為進一步在后置輸入整形器中引入基于RLS的自適應更新算法,將式(11)改寫成矩陣形式:
C(n)=eT(n)Λ(h)e(n)
(12)
其中,eT(n)=[en(1)en(2) …en(h)]T,Λ(h)則是由加權因子構成的對角矩陣:
(13)
再將抽頭輸入向量寫成矩陣形式:
X(h)=[Ψ(1)Ψ(2) …Ψ(h)]
(14)
對于時刻n系數(shù)向量為w(n)的整形器,從時刻i到h整形器的輸出矩陣為
y(h)=[yfn(1)yfn(2) …yfn(h)]T
(15)
相應的理想輸出矩陣為
yd(h)=[yd(1)yd(2) …yd(h)]T
(16)
由式(6)、(14)、(15)得到整形器估計輸出矩陣:
y(h)=XT(h)w(n)
(17)
再由式(7)、(16)、(17)可以寫出估計誤差矩陣:
e(h)=yd(h)-y(h)
(18)
因此將式(17)、(18)帶入式(12)中可得到
(19)
其中:
z(h)=X(h)Λ(h)yd(h)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
其中向量k(h)稱作增益向量,其表達式為
(27)
(28)
對于式(28)中的n,在式(6)、(17)中強調n時刻的整形器參數(shù)對i從1到h抽頭輸入向量的濾波響應,而在式(28)中,n強調遞推過程中的迭代,且在迭代過程與h同步,同樣取值為1到h,因此可用式中h替代n:
(29)
(30)
稱為先驗估計誤差。由式(29)、(30)可知,整形器系數(shù)向量的更新依賴于上一時刻的參數(shù)向量估計及先驗估計誤差。另外,期望軌跡經(jīng)輸入整形器整形后,應保證軌跡的幅值不發(fā)生改變,因此在RLS算法中添加歸一化約束條件:
gTw(h)=1
(31)
遺忘因子修正的依據(jù)為RLS算法中的均方誤差:
(32)
(33)
(34)
(35)
將式(30)、(34)帶入式(33)可將標量梯度重新改寫為
ΨT(n)W(n-1)e(n)]
(36)
再將式(35)與式(29)帶入到式(34),可以得到W(n)的更新式:
W(n)=[I-k(n)ΨT(n)]W(n-1)+
S(n)Ψ(n)e(n)
(37)
(38)
實際應用中,標量梯度用瞬時估計值來替代式(36)中統(tǒng)計意義上均值的計算:
(39)
(40)
為進一步提升算法效率及穩(wěn)定性,在式(40)中再加入約束:
(41)
綜合以上式(37)、(38)、(40)、(41)以及標準的RLS算法即得到帶有自適應遺忘因子的RLS算法如下所示。
算法:帶自適應遺忘因子的后置輸入整形器
輸入:初始化系統(tǒng)模態(tài)數(shù)N,時滯時間td,采樣長度length.
生成抽頭輸入向量Ψ:
forifrom 1 to length
Ψ(i)=acc(i)(函數(shù)acc()來自式(4))
end
初始化增益向量k(0)并更新:
forifrom 1 to length
更新整形器系數(shù)向量:
更新遺忘因子 :
W(i)=[I-k(i)ΨT(i)]W(i-1)+S(i)Ψ(i)e(i)
end
輸出:
a(i-Δ) …a(i-kΔ)]T,其中a為加速度傳感器采集到的殘余振動信號。
在應用帶自適應遺忘因子RLS算法優(yōu)化輸入整形器過程中,存在著每次迭代優(yōu)化計算時間較長的問題,在期望軌跡頻繁變化的應用場景,降低了實際效率,因此引入多層全連接神經(jīng)網(wǎng)絡模型來學習優(yōu)化輸入整形器系數(shù)向量這一非線性過程。
多層神經(jīng)網(wǎng)絡又稱多層感知機(MLP),主要由大量簡單的神經(jīng)元組成,網(wǎng)絡結構包括:輸入層、隱藏層、輸出層。其中在多層神經(jīng)網(wǎng)絡模型中通常隱藏層大于一層,以提高網(wǎng)絡的擬合能力。多層神經(jīng)網(wǎng)絡首先通過前向傳播訓練集產(chǎn)生輸出,再基于網(wǎng)絡的輸出計算誤差,進一步反向傳播誤差,并通過誤差對各層神經(jīng)元的權值系數(shù)求導更新網(wǎng)絡模型[17]。理論上多層神經(jīng)網(wǎng)絡可以擬合任意的非線性映射關系。為縮短多條任意期望軌跡每次迭代優(yōu)化整形器系數(shù)向量的時間,將任意軌跡的殘余振動信號作為網(wǎng)絡模型的輸入層,將整形器系數(shù)向量作為輸出層建立多層全連接神經(jīng)網(wǎng)絡,如圖4所示。
圖4 多層全連接神經(jīng)網(wǎng)絡模型Fig.4 Full connection multilayer perceptron model
圖5 網(wǎng)絡層間運算過程示意圖
為進一步避免過擬合現(xiàn)象,提高神經(jīng)網(wǎng)絡的泛化性能,在網(wǎng)絡中引入隨機失活正則化(Dropout)方法。在神經(jīng)網(wǎng)絡訓練過程中,按照一定概率選擇暫時丟棄神經(jīng)元,以減少各神經(jīng)元之間的過度依賴性,進而提升網(wǎng)絡的預測準確度。Dropout方法設置在各層間,經(jīng)測試,概率選擇為0.3,在每次訓練迭代中,訓練的都是不同的子網(wǎng)絡,最終按照權值比例推斷規(guī)則,以非標準化的概率分布為基礎,計算出各自網(wǎng)絡集成后的輸出。Dropout方法如圖6所示。
圖6 Dropout方法示意圖Fig.6 Schematic diagram of Dropout method
本研究選擇在自主搭建的多軸伺服運動平臺上驗證算法的有效性。首先選取不帶遺忘因子的標準RLS算法與本研究提出的帶自適應遺忘因子的(AFFRLS)算法進行對比;其次運行多段多軸伺服系統(tǒng)的激勵軌跡[18],采集殘余振動信號,應用AFFRLS算法計算最優(yōu)輸入整形器系數(shù),并將多組數(shù)據(jù)作為后續(xù)多層神經(jīng)網(wǎng)絡模型的訓練集,再應用pytorch深度學習框架對網(wǎng)絡進行建模及訓練,最后用新軌跡對應的殘余振動信號驗證神經(jīng)網(wǎng)絡模型的泛化性能。
采用自主搭建的多軸伺服運動平臺模擬工業(yè)中常見的多軸運動系統(tǒng)如機械臂、數(shù)控車床等。控制系統(tǒng)選擇基于EtherCAT現(xiàn)場總線的實時系統(tǒng),實驗平臺及控制系統(tǒng)框圖如圖7和圖8所示。
圖7 多軸伺服驅動平臺Fig.7 Multi-axis servo drive platform
在運動平臺工作臺上安裝一塊鋼制薄板(見圖7),作為放大系統(tǒng)柔性的單元,以便更加清晰地驗證算法的有效性。倍福模塊作為從站實時采集加速度傳感器的電壓信號,通過總線實時傳輸至上位機并換算成加速度信號來表示殘余振動。
實驗首先驗證帶自適應遺忘因子后置輸入整形器的抑振效果,選擇一條常見的四分之一圓弧軌跡進行對比實驗,如圖9所示。圖9中上方圖示出了AFFRLS算法與RLS算法相比于未整形的殘余振動效果,兩種后置自適應輸入整形器對于殘余振動均有較好的抑制作用;下方圖放大了AFFRLS算法相比于RLS的抑振效果,選擇殘余振動振幅絕對值大小來量化抑振效果。計算可知,AFFRLS算法整形后的殘余振幅相比RLS算法平均下降了28.3%,殘余振幅最大下降了36.9%。因激勵軌跡的設計以系統(tǒng)動力學模型作為約束,軌跡中包含盡可能多的運動狀態(tài),所以實驗首先選擇100組多軸伺服平臺激勵軌跡,分別采集運行停止后的殘余振動信號,并按照AFFRLS算法對100組數(shù)據(jù)進行批量處理,將每條軌跡的殘余振動信號及AFFRLS優(yōu)化結果放入多層神經(jīng)網(wǎng)絡模型中進行訓練,訓練過程中的損失函數(shù)收斂性見圖10。其中訓練過程迭代次數(shù)為10 000次,由于迭代到中期收斂速度減慢,因此為便于觀察,每隔20次取一個數(shù)據(jù)點繪圖。
圖9 AFFRLS后置輸入整形器與RLS輸入整形器抑振效果對比
圖10 神經(jīng)網(wǎng)絡模型訓練過程損失函數(shù)收斂過程
多層網(wǎng)絡經(jīng)過反復前向傳播與反向傳播后收斂,獲得該實驗平臺對應的神經(jīng)網(wǎng)絡模型,將未在訓練集中的圓弧軌跡產(chǎn)生的殘余振動信號輸入到模型中,計算得到整形器系數(shù)向量。最后應用該整形器對軌跡整形,進而驗證訓練得到的多層神經(jīng)網(wǎng)絡模型的有效性。因在神經(jīng)網(wǎng)絡的計算過程中,每個神經(jīng)元是對數(shù)據(jù)進行簡單的計算,相比AFFRLS算法節(jié)省了大量的迭代計算。在訓練得到神經(jīng)網(wǎng)絡后,統(tǒng)計MLP和AFFRLS分別計算整形器系數(shù)向量所耗費的運算時間,在同一臺計算設備上運行10次,見表1。MLP平均計算時間為0.005 4 s,AFFRLS平均計算時間為43.080 1 s。
表1 MLP與AFFRLS計算整形器系數(shù)時間
將由網(wǎng)絡模型計算得到的輸入整形器抑振效果與經(jīng)RLS算法優(yōu)化得到的輸入整形器進行對比,基于MLP的后置輸入整形器整形后的殘余振幅相比RLS平均下降了21.6%,殘余振幅最大下降了29.8%。如圖11所示。
圖11 MLP計算得到的輸入整形器抑振效果與RLS后置輸入整形器抑振效果對比
進一步,由圖9和圖11中未整形的殘余振動信號可知,當振幅小于一定值可視為振動停止。為清晰對比,定義加速度信號振幅小于Acon(Acon=3 m/s2)為殘余振動收斂,相應地,3種算法殘余振動波峰振幅首次小于Acon的時刻稱為收斂時間tcon。實驗結果表明:未整形殘余振動、RLS、AFFRLS、MLP整形后的殘余振動收斂時間tcon分別為3 640、2 397、1 716、1 830 ms。進一步可知,AFFRLS輸入整形器與基于MLP的后置輸入整形器整形后的殘余振動收斂時間較RLS分別縮短了28.4%,23.7%,其中MLP較AFFRLS殘余振動收斂時間只增加了6.6%。隨著訓練樣本的增多,MLP輸入整形器的抑振效果會更加明顯。
針對工業(yè)中多軸運動系統(tǒng)在急停段產(chǎn)生的殘余振動,提出了一種帶自適應遺忘因子的后置輸入整形器算法,在遞歸最小二乘算法的基礎上引入遺忘因子來提升算法在非平穩(wěn)環(huán)境下的跟蹤性能,并進一步根據(jù)RLS中均方誤差對遺忘因子的梯度,推導出遺忘因子的迭代更新算法,最后將自適應遺忘因子算法嵌入到RLS算法中。實驗證明,AFFRLS優(yōu)化得到的輸入整形器整形后殘余振動幅值相比RLS算法平均減小了28.3%,殘余振幅最大減小36.9%。
提出的AFFRLS算法在軌跡頻繁變更的工況下,每條軌跡需要重新迭代優(yōu)化得到新的輸入整形器,這會導致算法耗時較長,應用效率降低。為解決多次重復優(yōu)化帶來的計算時間過長的問題,提出應用多層全連接神經(jīng)網(wǎng)絡學習殘余振動到輸入整形器系數(shù)的非線性關系。應用多組AFFRLS算法優(yōu)化的結果訓練神經(jīng)網(wǎng)絡模型,最后驗證基于MLP后置輸入整形器整形后的殘余振動振幅,發(fā)現(xiàn)其相比RLS算法平均減小了21.6%,殘余振幅最大減小了29.8%。并且每次計算輸入整形器系數(shù)耗費時間顯著縮短。