本發(fā)明涉及一種基于迭代學(xué)習(xí)的直線伺服系統(tǒng)振動(dòng)抑制方法,屬于機(jī)械設(shè)備控制技術(shù)領(lǐng)域。
背景技術(shù):
直線伺服系統(tǒng)由于采用直接驅(qū)動(dòng)的機(jī)械結(jié)構(gòu),不存在中間傳遞環(huán)節(jié),具有相對小的負(fù)載慣量及高動(dòng)態(tài)響應(yīng)的優(yōu)點(diǎn)而被廣泛應(yīng)用在高速高精數(shù)控系統(tǒng)、半導(dǎo)體芯片制造以及精密儀器等領(lǐng)域。為了充分發(fā)揮直線伺服系統(tǒng)高速高精性能,高速高精運(yùn)動(dòng)控制器設(shè)計(jì)成為直線伺服系統(tǒng)能否充分發(fā)揮高速高精性能的關(guān)鍵技術(shù)之一。
由于直線伺服系統(tǒng)的高頻響特性,具有良好的加速性能,其運(yùn)動(dòng)過程中理想軌跡加速段所包含的豐富高頻信號(hào)以及經(jīng)反饋處理的擾動(dòng)信號(hào)極易激活其本身機(jī)械平臺(tái)固有的高頻結(jié)構(gòu)共振模態(tài),從而影響其高精性能,因此,需要對高頻結(jié)構(gòu)共振進(jìn)行抑制。目前針對伺服系統(tǒng)振動(dòng)抑制的控制方法大多為基于輸入整形器的抑制方法,此方法對于脈沖幅值和時(shí)間段參數(shù)難于控制,運(yùn)行誤差較大,無法滿足直線伺服系統(tǒng)控制要求。針對目前現(xiàn)有技術(shù)中存在的上述缺陷,實(shí)有必要進(jìn)行研發(fā),解決現(xiàn)有技術(shù)中存在的缺陷。
技術(shù)實(shí)現(xiàn)要素:
針對現(xiàn)有技術(shù)的缺陷,本發(fā)明的目的在于提供一種靈活性強(qiáng)、運(yùn)算速度快、控制精度高,控制效果好,能夠滿足直線伺服系統(tǒng)的控制要求的直線伺服系統(tǒng)振動(dòng)抑制方法。
為實(shí)現(xiàn)上述目的,本發(fā)明的技術(shù)方案為:
一種基于迭代學(xué)習(xí)的直線伺服系統(tǒng)振動(dòng)抑制方法,包括以下步驟:
步驟一:連接好直線伺服系統(tǒng),設(shè)置好相關(guān)控制器參數(shù),將參數(shù)下載到運(yùn)動(dòng)控制卡上的芯片中;
步驟二:根據(jù)直線伺服系統(tǒng)的時(shí)不變離散狀態(tài)空間的要求,下載控制器參數(shù),并使能伺服系統(tǒng),使電機(jī)閉環(huán);
步驟三:在直線伺服系統(tǒng)信號(hào)輸入端輸入理想軌跡信號(hào)rset(t),信號(hào)階躍點(diǎn)產(chǎn)生,規(guī)定采樣周期ts,采集輸出位移信號(hào)y(t),采集采樣點(diǎn),輸入信號(hào)rset(t)減去輸出信號(hào)y(t)為誤差信號(hào)e(t),利用ql型迭代學(xué)習(xí)控制算法計(jì)算驅(qū)動(dòng)力,規(guī)定直線伺服系統(tǒng)的響應(yīng)調(diào)節(jié)時(shí)間,迭代優(yōu)化時(shí)所使用的誤差信號(hào)e(t);
步驟四:對迭代學(xué)習(xí)控制的穩(wěn)定性和收斂性進(jìn)行分析,對ql型迭代學(xué)習(xí)算法表達(dá)式進(jìn)行變換,計(jì)算系統(tǒng)的穩(wěn)定條件;
步驟五:根據(jù)最優(yōu)控制理論引入迭代學(xué)習(xí)控制算法的性能目標(biāo)函數(shù)進(jìn)行控制器的設(shè)計(jì),并選擇合適的權(quán)重矩陣和拉格朗日乘子對直線伺服系統(tǒng)進(jìn)行振動(dòng)抑制;
步驟六:求取各個(gè)參數(shù)的最優(yōu)值,利用迭代學(xué)習(xí)法對所得誤差進(jìn)行迭代學(xué)習(xí),將經(jīng)過迭代學(xué)習(xí)修正過的驅(qū)動(dòng)力重新下發(fā)到運(yùn)動(dòng)控制卡,反復(fù)此迭代學(xué)習(xí)過程抑制其振動(dòng)。
本發(fā)明采用ql型迭代學(xué)習(xí)算法,能夠有效降低伺服系統(tǒng)控制難度,減少處理器的計(jì)算量,并且能夠有效抑制直線伺服系統(tǒng)振動(dòng)。
作為改進(jìn)技術(shù)措施,
步驟二,所述直線伺服系統(tǒng)的時(shí)不變離散狀態(tài)空間表達(dá)式為:
則第k次迭代時(shí)輸入輸出關(guān)系為:
其中,h∈rn×n為脈沖傳遞函數(shù)矩陣,uk=[u(0),…,u(n-1)]t為有限離散控制輸入指令,yk=[y(0),…,y(n-1)]t為有限離散系統(tǒng)輸出信號(hào),k代表迭代次數(shù);理想軌跡為rset(t),迭代學(xué)習(xí)的時(shí)間跨度為t∈[0,t]。
作為改進(jìn)技術(shù)措施,
步驟三,所述ql型迭代學(xué)習(xí)控制算法進(jìn)行迭代學(xué)習(xí)控制如下:
uk+1(t)=q[uk(t)+lek(t)]
則迭代學(xué)習(xí)控制系統(tǒng)的誤差為:
ek=rset-yk
其中,q∈rn×n,l∈rn×n,uk∈rn,ek∈rn。
作為改進(jìn)技術(shù)措施,
步驟四,所述ql型迭代學(xué)習(xí)算法表達(dá)式可變換為:
uk+1=q(i-lh)uk+qlrset
則系統(tǒng)穩(wěn)定性條件為,其譜半徑滿足以下條件:
ρ(q(i-lh))<1。
作為改進(jìn)技術(shù)措施,
系統(tǒng)漸進(jìn)收斂的條件為,其最大奇異值滿足以下條件:
此時(shí),迭代學(xué)習(xí)控制系統(tǒng)是穩(wěn)定并且漸近收斂的,滿足以下表達(dá)式:
||u∞-uk||≤λk||u∞-u0||
其中,
作為改進(jìn)技術(shù)措施,
步驟五,所述最優(yōu)控制理論引入迭代學(xué)習(xí)控制算法的性能目標(biāo)函數(shù)如下:
其中,ek+1=rset-yk+1,we,wu為兩個(gè)半正定加權(quán)矩陣,目標(biāo)函數(shù)的約束條件如下:
其中,
作為改進(jìn)技術(shù)措施,
基于所述性能目標(biāo)函數(shù),進(jìn)行控制器q,l的設(shè)計(jì),由于uk+1為函數(shù)
uk+1=(wu+λ·i+htweh)-1(λ·i+htweh)(uk+(λ·i+htweh)-1htweek)
由ql型迭代學(xué)習(xí)算法表達(dá)式對比可得:
作為改進(jìn)技術(shù)措施,
對控制器參數(shù)wu進(jìn)行優(yōu)化設(shè)計(jì),增加控制系統(tǒng)的魯棒性和收斂速度,則有:
wu=δ·in
其中,δ為大于0的任意實(shí)數(shù)。
作為改進(jìn)技術(shù)措施,
對控制器參數(shù)we進(jìn)行優(yōu)化設(shè)計(jì),對初始誤差進(jìn)行時(shí)-頻域分析,針對誤差在頻域的分布圖進(jìn)行參數(shù)的設(shè)計(jì):
we=diag{w(1),w(2),...,w(n)}
其中,w(k)為對應(yīng)k時(shí)刻時(shí)的權(quán)重系數(shù),對誤差信號(hào)運(yùn)用時(shí)頻域分解函數(shù)進(jìn)行分析,由此可設(shè)計(jì)關(guān)于w(k)的函數(shù)如下:
其中,矩陣函數(shù)滿足以下關(guān)系:
作為改進(jìn)技術(shù)措施,步驟六:利用上位機(jī)仿真軟件matlab的最優(yōu)控制工具箱函數(shù)求取各個(gè)參數(shù)的最優(yōu)值;直線伺服系統(tǒng)為直線電機(jī),上位機(jī)為電腦或工控機(jī)。優(yōu)選地,上位機(jī)為電腦,電腦應(yīng)用已經(jīng)很普遍,直接利用電腦做上位機(jī),不需要增加額外投資,減少生產(chǎn)成本。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
本發(fā)明采用ql型迭代學(xué)習(xí)算法,能夠有效降低伺服系統(tǒng)控制難度,減少處理器的計(jì)算量,有效抑制直線伺服系統(tǒng)振動(dòng)。
本發(fā)明控制方法詳盡,方案切實(shí)可行,工序簡單、實(shí)用,靈活性強(qiáng)、運(yùn)算速度快、控制精度高,控制效果好,能夠滿足直線伺服系統(tǒng)的控制要求。
附圖說明
圖1為本發(fā)明ql型迭代學(xué)習(xí)的控制框圖;
圖2為本發(fā)明閉環(huán)控制對象的結(jié)構(gòu)圖;
圖3為本發(fā)明迭代學(xué)習(xí)控制結(jié)構(gòu)框圖;
圖4為本發(fā)明三階s型點(diǎn)對點(diǎn)軌跡規(guī)劃曲線圖;
圖5為本發(fā)明迭代前后誤差曲線圖;
圖6為本發(fā)明迭代誤差折線圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
相反,本發(fā)明涵蓋任何由權(quán)利要求定義的在本發(fā)明的精髓和范圍上做的替代、修改、等效方法以及方案。進(jìn)一步,為了使公眾對本發(fā)明有更好的了解,在下文對本發(fā)明的細(xì)節(jié)描述中,詳盡描述了一些特定的細(xì)節(jié)部分。對本領(lǐng)域技術(shù)人員來說沒有這些細(xì)節(jié)部分的描述也可以完全理解本發(fā)明。
一種基于迭代學(xué)習(xí)的直線伺服系統(tǒng)振動(dòng)抑制方法,包括以下步驟:
步驟一:連接好直線伺服系統(tǒng)與運(yùn)動(dòng)控制卡,打開上位機(jī)軟件,設(shè)置好控制器和傳感器等相關(guān)參數(shù),將參數(shù)下載到運(yùn)動(dòng)控制卡上的dsp芯片中。
步驟二:控制器參數(shù)下載完成后,使能伺服系統(tǒng),使電機(jī)閉環(huán)。
直線伺服系統(tǒng)的時(shí)不變離散狀態(tài)空間表達(dá)式為:
則第k次迭代時(shí)輸入輸出關(guān)系為:
其中,h∈rn×n為脈沖傳遞函數(shù)矩陣,uk=[u(0),…,u(n-1)]t為有限離散控制輸入指令,yk=[y(0),…,y(n-1)]t為有限離散系統(tǒng)輸出信號(hào),k代表迭代次數(shù);理想軌跡為rset(t),迭代學(xué)習(xí)的時(shí)間跨度為t∈[0,t]。
步驟三:在直線伺服系統(tǒng)信號(hào)輸入端輸入規(guī)劃的參考軌跡信號(hào)rset(t),迭代學(xué)習(xí)回路初始驅(qū)動(dòng)力為u0=0,規(guī)定采樣周期ts為0.0005s,采集輸出位移信號(hào)y(t),采集時(shí)間為0.5s,共1000個(gè)采樣點(diǎn),輸入信號(hào)rset(t)減去輸出信號(hào)y(t)為誤差信號(hào)e(t)。
采用圖1所示ql型迭代學(xué)習(xí)控制算法進(jìn)行迭代學(xué)習(xí)控制如下:
uk+1(t)=q[uk(t)+lek(t)]
則迭代學(xué)習(xí)控制系統(tǒng)的誤差為:
ek=rset-yk
其中,q∈rn×n,l∈rn×n,uk∈rn,ek∈rn。
步驟四:閉環(huán)控制對象如圖2所示,迭代學(xué)習(xí)控制的關(guān)鍵問題是穩(wěn)定性的分析和收斂性的分析,ql型迭代學(xué)習(xí)算法表達(dá)式可變換為:
uk+1=q(i-lh)uk+qlrset
則系統(tǒng)穩(wěn)定性條件為,其譜半徑滿足以下條件:
ρ(q(i-lh))<1
系統(tǒng)漸進(jìn)收斂的條件為,其最大奇異值滿足以下條件:
此時(shí),迭代學(xué)習(xí)控制系統(tǒng)是穩(wěn)定并且漸近收斂的,滿足以下表達(dá)式:
||u∞-uk||≤λk||u∞-u0||
其中,
步驟五:針對圖3所示迭代學(xué)習(xí)控制框圖,根據(jù)最優(yōu)控制理論引入迭代學(xué)習(xí)控制算法的性能目標(biāo)函數(shù)進(jìn)行控制器的設(shè)計(jì),并選擇合適的權(quán)重矩陣we,wu和拉格朗日乘子λ對直線伺服系統(tǒng)進(jìn)行振動(dòng)抑制。
迭代學(xué)習(xí)控制算法的性能目標(biāo)函數(shù)如下:
其中,ek+1=rset-yk+1,we,wu為兩個(gè)半正定加權(quán)矩陣,目標(biāo)函數(shù)的約束條件如下:
其中,
基于性能目標(biāo)函數(shù),進(jìn)行控制器q,l的設(shè)計(jì),由于uk+1為函數(shù)
uk+1=(wu+λ·i+htweh)-1(λ·i+htweh)(uk+(λ·i+htweh)-1htweek)
由ql型迭代學(xué)習(xí)算法表達(dá)式對比可得:
對控制器參數(shù)wu,we進(jìn)行優(yōu)化設(shè)計(jì),增加控制系統(tǒng)的魯棒性和收斂速度,則有:
wu=δ·in
其中,δ為大于0的任意實(shí)數(shù)。對初始誤差進(jìn)行時(shí)-頻域分析,針對誤差在頻域的分布圖進(jìn)行參數(shù)的設(shè)計(jì):
we=diag{w(1),w(2),...,w(n)}
其中,w(k)為對應(yīng)k時(shí)刻時(shí)的權(quán)重系數(shù),對誤差信號(hào)運(yùn)用時(shí)頻域分解函數(shù)進(jìn)行分析,由此可設(shè)計(jì)關(guān)于w(k)的函數(shù)如下:
其中,矩陣函數(shù)滿足以下關(guān)系:
步驟六:利用上位機(jī)仿真軟件(例如:matlab)最優(yōu)控制工具箱函數(shù)求取各個(gè)參數(shù)的最優(yōu)值,帶入所設(shè)計(jì)的控制器表達(dá)式,利用基于最優(yōu)控制理論的ql型迭代學(xué)習(xí)法對所得誤差進(jìn)行迭代學(xué)習(xí),軌跡采用圖4所示三階s型點(diǎn)到點(diǎn)軌跡規(guī)劃,將經(jīng)過迭代學(xué)習(xí)修正過的驅(qū)動(dòng)力fk重新下發(fā)到運(yùn)動(dòng)控制卡,反復(fù)此迭代學(xué)習(xí)過程抑制其諧振。如圖5和圖6所示,本發(fā)明能夠很好抑制直線伺服系統(tǒng)振動(dòng)。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。