一種基于摩擦補償的伺服系統(tǒng)控制方法
【專利摘要】本發(fā)明提供一種基于摩擦補償的伺服系統(tǒng)控制方法,包括:伺服系統(tǒng)的控制機構發(fā)出電流信號,驅動伺服電機,伺服電機輸出轉矩信號控制伺服系統(tǒng)所帶負載從初始位置轉向目標位置;伺服系統(tǒng)的編碼器實時檢測伺服系統(tǒng)所帶負載的轉動角度;判斷伺服系統(tǒng)所帶負載是否偏離目標位置,如偏離,則對伺服系統(tǒng)進行基于摩擦補償的控制,否則伺服系統(tǒng)的編碼器實時檢測伺服系統(tǒng)所帶負載的轉動角度;根據得到的伺服電機的電流信號驅動伺服電機,伺服電機輸出轉矩信號,從而控制伺服系統(tǒng)所帶負載回到目標位置,并保持在目標位置。本發(fā)明針對伺服系統(tǒng)的摩擦,對表征伺服系統(tǒng)摩擦的未建模動態(tài)進行補償,有效抑制了摩擦對伺服系統(tǒng)控制性能的影響,降低了動態(tài)跟蹤誤差。
【專利說明】一種基于摩擦補償的伺服系統(tǒng)控制方法
【技術領域】
[0001]本發(fā)明屬于自動控制領域,主要涉及一種基于摩擦補償的伺服系統(tǒng)控制方法。
【背景技術】
[0002]伺服系統(tǒng)能夠精確跟蹤參考信號過程,廣泛存在于數控機床、風力發(fā)電、工業(yè)機械手等領域。伺服系統(tǒng)的執(zhí)行結構是伺服電機,由增量式光電軸角編碼器檢測系統(tǒng)的角位移和角速度并反饋給控制器,通過控制器將反饋信號和給定信號進行比較和運算,產生控制信號,實現(xiàn)伺服控制。
[0003]但是摩擦嚴重影響伺服系統(tǒng)性能,是高速高精度伺服控制的關鍵問題。由于摩擦具有動態(tài)、非線性等特點,一般的線性反饋控制方法難以取得理想的控制效果。此外,摩擦機理至今尚未完全明確,無法建立準確的數學模型,這使得伺服系統(tǒng)的高性能伺服控制成為難點。雖然大量先進智能控制方法被相繼提出,但與實際工業(yè)應用仍存在距離。
[0004]PD控制是工業(yè)伺服系統(tǒng)中最廣泛使用的一種控制器,其算法簡單,具有良好的可靠性和魯棒性。對于模型精確的線性被控系統(tǒng),ro控制效果理想,但伺服系統(tǒng)具有未建模的摩擦非線性項,嚴重影響了ro控制器的性能。為了在ro控制的基礎上對摩擦進行補償,工業(yè)上一般根據經驗制定摩擦補償數據表,但該方法受限于工程師經驗,數據表的細化度和精度難以保證,而學術上一般根據近似摩擦模型設計補償器,但是已有模型無法體現(xiàn)摩擦的全部特性,此外模型參數辨識復雜且不同工況下的結果不同,通用性差。以上方法沒有充分利用系統(tǒng)的歷史輸入輸出數據。
【發(fā)明內容】
[0005]針對現(xiàn)有技術存在的不足,本發(fā)明提供一種基于摩擦補償的伺服系統(tǒng)控制方法。
[0006]本發(fā)明的技術方案是這樣實現(xiàn)的:
[0007]—種基于摩擦補償的伺服系統(tǒng)控制方法,包括以下步驟:
[0008]步驟1:伺服系統(tǒng)的控制機構發(fā)出電流信號,驅動伺服電機,伺服電機輸出轉矩信號控制伺服系統(tǒng)所帶負載從初始位置轉向目標位置;
[0009]步驟2:伺服系統(tǒng)的編碼器實時檢測伺服系統(tǒng)所帶負載的轉動角度;
[0010]步驟3:判斷伺服系統(tǒng)所帶負載是否偏離目標位置,如偏離,則執(zhí)行步驟4,否則返回步驟2 ;
[0011]步驟4:對伺服系統(tǒng)進行基于摩擦補償的控制;
[0012]步驟4.1:根據伺服系統(tǒng)的動力學機理,以伺服電機的電流信號為輸入信號,以伺服系統(tǒng)所帶負載的轉動角度為輸出信號,建立伺服系統(tǒng)的離散線性模型:
[0013]A (z_1) y (k+1) = B (z_1) u (k)
[0014]其中,伺服系統(tǒng)的離散線性模型參數A(z<) = l+a^+af2,B(z_1) = b0+blZ_1,a” a2, b0, bi是未知參數;
[0015]步驟4.2:根據建立的伺服系統(tǒng)的離散線性模型確定伺服系統(tǒng)所帶負載的理想轉動角度;
[0016]y*(k+l) = -Sl1J (k) -a2y (k~l) +b0u (k) +b^ (k~l)
[0017]其中:/(k+l)離散線性模型在第k+1時刻的輸出信號,即在第k+Ι時刻伺服系統(tǒng)所帶負載的理想轉動角度;y(k)是第k時刻伺服系統(tǒng)所帶負載的實際轉動角度;u(k)為第k時刻伺服電機的電流信號;
[0018]步驟4.3:確定第k+Ι時刻伺服系統(tǒng)所帶負載的實際轉動角度y (k+1)與第k+Ι時刻伺服系統(tǒng)所帶負載的理想轉動角度/(k+Ι)之間的偏差信號v(k+l),即表征伺服系統(tǒng)摩擦的未建模動態(tài);
[0019]V (k+1) = y (k+1) -y*(k+l)
[0020]步驟4.4:根據表征伺服系統(tǒng)摩擦的未建模動態(tài)V (k+Ι)和伺服系統(tǒng)的離散線性模型,建立包含伺服系統(tǒng)摩擦的伺服系統(tǒng)離散線性模型:
[0021 ] A (z-1) y (k+Ι) = B (z_1) u (k) +v (k+1)
[0022]其中,V (k+1) = v(k) + Av(k),v(k)為第k時刻表征伺服系統(tǒng)摩擦的未建模動態(tài);Av(k)為未建模動態(tài)在第k+Ι時刻的增量;
[0023]步驟4.5:確定未建模動態(tài)在第k時刻的增量,該增量與未建模動態(tài)在第k+Ι時刻的增量近似相等;
[0024]Δ V (k-1) =v(k)-v(k_l)
[0025]其中,v(k)為第k時刻表征伺服系統(tǒng)摩擦的未建模動態(tài),V (k-1)為第k+Ι時刻表征伺服系統(tǒng)摩擦的未建模動態(tài);
[0026]步驟4.6:利用H)控制模型和表征伺服系統(tǒng)摩擦的未建模動態(tài),建立基于摩擦補償的伺服系統(tǒng)控制模型:
[0027]H (z-1) u (k) =R (z—1) w (k) -G (z—1) y (k) -K (z_1) [v (k) + Δ v (k_l)]
[0028]式中,H(z^),R(z^),G(z^)為PD 控制模型參數:H(z^) = (1+V-1),Ii1 是待定系數 ^(z—1) = G(z_0 = go+giZ-1, g0 = Kp+Kd, gi = -Ki, Kp 和 Kd 是比例和微分系數 ^(z—1)是未建模動態(tài)補償增益多項式,K(P) = Hk1Z^k1為未建模動態(tài)補償增益多項式系數,z—1為時間后移算子;
[0029]步驟4.7:將基于摩擦補償的伺服系統(tǒng)控制模型代入包含伺服系統(tǒng)摩擦的伺服系統(tǒng)離散線性模型,得到伺服系統(tǒng)的閉環(huán)方程:
[0030][A (z—1) H (z—1) +zl (z—1) G (z—1) ] y (k+1) = B (z—1) G (z—1) w (k) + [H (z—1) -B (z—1) K (z—1)][v (k) + Δ V (k-1) ] +H (z_1) [ Δ V (k) - Δ V (k_l)]
[0031]式中:Av(k)-Av(k-l)是未建模動態(tài)在第k+1時刻的增量與未建模動態(tài)在第k時刻的增量的偏差;
[0032]步驟4.8:采用極點配置方法確定hp Kp和Kd ;
[0033]步驟4.9:在穩(wěn)態(tài)時對表征伺服系統(tǒng)摩擦的未建模動態(tài)進行全補償:令H(z-1)-B(z^1)K(z-1) = 0,令K(I) = H(I)B(I),確定未建模動態(tài)補償增益多項式系數匕;
[0034]步驟4.10:將確定的HKpk1代入基于摩擦補償的伺服系統(tǒng)控制模型,得到基于摩擦補償的伺服系統(tǒng)控制模型的控制輸出,即得到u(k),即第k時刻的伺服系統(tǒng)的電流信號;
[0035]步驟5:根據得到的伺服電機的電流信號驅動伺服電機,伺服電機輸出轉矩信號,從而控制伺服系統(tǒng)所帶負載回到目標位置,并保持在目標位置。
[0036]有益效果:本發(fā)明在ro控制的基礎上,引入摩擦補償,在傳統(tǒng)ro控制器設計簡單、魯棒性好的優(yōu)點上,針對伺服系統(tǒng)的摩擦,通過充分利用歷史輸入輸出數據,對表征伺服系統(tǒng)摩擦的未建模動態(tài)進行補償,有效抑制了摩擦對伺服系統(tǒng)控制性能的影響,降低了動態(tài)跟蹤誤差,提高了穩(wěn)態(tài)定位精度,而且本發(fā)明不需要建立內部機理尚不明確的復雜的摩擦模型,在實際工業(yè)中易于實現(xiàn),解決現(xiàn)有摩擦經驗補償方法精度較低,以及摩擦模型補償方法設計過程復雜、通用性差、難于應用于實際工業(yè)過程的不足。
【專利附圖】
【附圖說明】
[0037]圖1為本發(fā)明【具體實施方式】的基于摩擦補償的伺服系統(tǒng)控制模型示意圖;
[0038]圖2為ZEBRA ZERO六自由度機械手的結構示意圖;
[0039]圖3為ZEBRA ZERO六自由度機械手的控制系統(tǒng)實驗平臺示意圖;
[0040]圖4為本發(fā)明【具體實施方式】的基于摩擦補償的伺服系統(tǒng)控制對比實驗極點配置ro控制方法(PD)的實驗曲線;
[0041]圖5為本發(fā)明【具體實施方式】的基于摩擦補償的伺服系統(tǒng)控制對比實驗實際經驗摩擦補償數據表方法(PED)的實驗曲線;
[0042]圖6為本發(fā)明【具體實施方式】的基于摩擦補償的伺服系統(tǒng)控制對比實驗非線性摩擦自適應補償方法(ANF)的實驗曲線;
[0043]圖7為本發(fā)明【具體實施方式】的基于摩擦補償的伺服系統(tǒng)控制的實驗曲線;
[0044]圖8為本發(fā)明【具體實施方式】的基于摩擦補償的伺服系統(tǒng)控制及其對比方法的誤差曲線;
[0045]圖9為本發(fā)明【具體實施方式】的基于摩擦補償的伺服系統(tǒng)控制方法流程圖;
[0046]圖10為本發(fā)明【具體實施方式】的對伺服系統(tǒng)進行基于摩擦補償的控制流程圖。
【具體實施方式】
[0047]為了使本發(fā)明的技術方案和優(yōu)點更加清楚,下面結合實施例,對本發(fā)明作進一步詳細說明。值得注意的是,此處所描述的具體實施例僅用于解釋本發(fā)明,但并不限定本發(fā)明。
[0048]本實施方式選用美國MI公司生產的ZEBRA ZERO六自由度機械手作為伺服系統(tǒng)的研究對象實施本發(fā)明,如圖2所示。該機械手各關節(jié)的驅動電機采用美國PITTMAN公司生產的高精度直流電機GM14602和GM9634。其中圖2的編號代表機械手的各個運動關節(jié)及其轉動方向,其中各關節(jié)的轉動都會受到實際摩擦的影響。ZEBRA ZERO六自由度機械手的控制器選擇德國dSPACE公司生產的DS1103PPC單板控制系統(tǒng),該控制系統(tǒng)ControlDesk與Matlab/Simulink無縫連接,可將Simulink程序編譯成可執(zhí)行的C代碼,下載到控制器中運行。增量式光電軸角編碼器采用FAULHABER公司生產的HEDS-5500系列。減速齒輪的減速比η = 400。ZEBRA ZERO六自由度機械手的控制系統(tǒng)實驗平臺見圖3。
[0049]如圖9所示,本發(fā)明的基于摩擦補償的伺服系統(tǒng)控制方法,包括以下步驟:
[0050]步驟1:伺服系統(tǒng)的控制機構發(fā)出電流信號,驅動伺服電機,伺服電機輸出轉矩信號控制伺服系統(tǒng)所帶負載從初始位置轉向目標位置;
[0051]步驟2:伺服系統(tǒng)的編碼器實時檢測伺服系統(tǒng)所帶負載的轉動角度;
[0052]步驟3:判斷伺服系統(tǒng)所帶負載是否偏離目標位置,如偏離,則執(zhí)行步驟4,否則返回步驟2 ;
[0053]步驟4:對伺服系統(tǒng)進行基于摩擦補償的控制,其流程如圖10所示;
[0054]步驟4.1:根據伺服系統(tǒng)的動力學機理,以伺服電機的電流信號為輸入信號,以伺服系統(tǒng)所帶負載的轉動角度為輸出信號,建立伺服系統(tǒng)的離散線性模型:
[0055]A (z_1) y (k+1) = B (z_1) u (k)
[0056]由于一般電機伺服系統(tǒng)為二階系統(tǒng)且考慮到伺服系統(tǒng)在物理上的可實現(xiàn)性,伺服系統(tǒng)的離散線性模型參數A(z_0 = Ha1Z-^a2Z-2, B(Z_0 =W, a1; a2,bQ,Id1是未知參數;
[0057]本實施方式以肩關節(jié)為例,其他關節(jié)可以此為參照。選用偽隨機信號激勵,采樣周期Ttl = 1ms,通過最小二乘法辨識參數:
[0058]A (z—1) = 1-1.9772z_1+0.9772z_2, B (z—1) = 1.1506 X 10_4+6.0873 X ΙΟ—Υ1
[0059]步驟4.2:根據建立的伺服系統(tǒng)的離散線性模型確定伺服系統(tǒng)所帶負載的理想轉動角度;
[0060]y*(k+l) = -Sl1J (k) -a2y (k~l) +b0u (k) +b^ (k~l)
[0061]其中:/(k+l)離散線性模型在第k+1時刻的輸出信號,即在第k+Ι時刻伺服系統(tǒng)所帶負載的理想轉動角度;y(k)是第k時刻伺服系統(tǒng)所帶負載的實際轉動角度;u(k)為第k時刻伺服電機的電流信號;
[0062]y*(k+l) = 1.9772y(k) -0.9772y (k-1)+0.00011506u (k) +0.000060873u (k-1)
[0063]步驟4.3:確定第k+1時刻伺服系統(tǒng)所帶負載的實際轉動角度y (k+Ι)與第k+Ι時刻伺服系統(tǒng)所帶負載的理想轉動角度/(k+Ι)之間的偏差信號v(k+l),即表征伺服系統(tǒng)摩擦的未建模動態(tài);
[0064]V (k+1) = y (k+1) -y* (k+1)
[0065]由于伺服系統(tǒng)存在摩擦干擾,其產生的摩擦力矩會削弱實際作用在負載上的動力矩,使第k+Ι時刻伺服電機所帶負載的實際轉動角度y (k+1)不等于理想的伺服系統(tǒng)的離散線性模型的輸出角度/(k+1),兩者之間存在偏差信號;
[0066]步驟4.4:根據表征伺服系統(tǒng)摩擦的未建模動態(tài)V (k+Ι)和伺服系統(tǒng)的離散線性模型,建立包含伺服系統(tǒng)摩擦的伺服系統(tǒng)離散非線性模型:
[0067]A (z_1) y (k+1) = B (z_1) u (k) +v (k+1)
[0068]其中,V (k+1) = V (k) + Δ V (k), V (k)為第k時刻表征伺服系統(tǒng)摩擦的未建模動態(tài);Av(k)為未建模動態(tài)在第k+Ι時刻的增量;
[0069]步驟4.5:確定未建模動態(tài)在第k時刻的增量,該增量與未建模動態(tài)在第k+Ι時刻的增量近似相等;
[0070]Δ V (k-1) =v(k)-v(k_l)
[0071]其中,v(k)為第k時刻表征伺服系統(tǒng)摩擦的未建模動態(tài),V (k-1)為第k+Ι時刻表征伺服系統(tǒng)摩擦的未建模動態(tài);
[0072]為針對摩擦進行補償,需要在第k時刻引入表征伺服系統(tǒng)摩擦的未建模動態(tài)
V(k+Ι),以使得伺服電機所帶負載在下一時刻采樣時(第k+Ι時刻)獲得良好的轉角輸出值。但是由步驟4.3中的公式可知表征伺服系統(tǒng)摩擦的未建模動態(tài)V (k+Ι)在第k時刻時是未知的,所以將其寫成增量的形式:v(k+1) = v(k) + A v(k),其中v(k)占v(k+l)的主體部分,Δ v(k) = V (k+1)-v (k)只占v(k+l)的極小部分,所以可以用第k時刻已知的Av(k_l)=V(k)-V(k-1)近似替代Δ v(k),得到控制模型中的v(k) + A v(k-l)即用v(k) + Δ v(k_l)來表征伺服系統(tǒng)摩擦的未建模動態(tài),而無需建立內部機理尚不完全明確的復雜的摩擦模型。
[0073]步驟4.6:利用H)控制模型和表征伺服系統(tǒng)摩擦的未建模動態(tài),建立基于摩擦補償的伺服系統(tǒng)控制模型:
[0074]H (z-1) u (k) =R (z—1) w (k) -G (z—1) y (k) -K (z_1) [v (k) + Δ v (k_l)]
[0075]式中,H(z^),R(z^),G(z^)為PD 控制模型參數:H(z^) = (1+V-1),Ii1 是待定系數 ^(z—1) = G(z_0 = go+giZ-1, g0 = Kp+Kd, gi = -Ki, Kp 和 Kd 是比例和微分系數 ^(z—1)是未建模動態(tài)補償增益多項式,K(P) = Hk1Z^k1為未建模動態(tài)補償增益多項式系數,z—1為時間后移算子,通過伺服系統(tǒng)的歷史輸入數據和輸出數據可以得到控制模型中表征伺服系統(tǒng)摩擦的未建模動態(tài):
【權利要求】
1.一種基于摩擦補償的伺服系統(tǒng)控制方法,其特征在于:包括以下步驟: 步驟1:伺服系統(tǒng)的控制機構發(fā)出電流信號,驅動伺服電機,伺服電機輸出轉矩信號控制伺服系統(tǒng)所帶負載從初始位置轉向目標位置; 步驟2:伺服系統(tǒng)的編碼器實時檢測伺服系統(tǒng)所帶負載的轉動角度; 步驟3:判斷伺服系統(tǒng)所帶負載是否偏離目標位置,如偏離,則執(zhí)行步驟4,否則返回步驟2 ; 步驟4:對伺服系統(tǒng)進行基于摩擦補償的控制; 步驟4.1:根據伺服系統(tǒng)的動力學機理,以伺服電機的電流信號為輸入信號,以伺服系統(tǒng)所帶負載的轉動角度為輸出信號,建立伺服系統(tǒng)的離散線性模型:
A (z-1) y (k+1) = B (z_1) u (k) 其中,伺服系統(tǒng)的離散線性模型參數A(z<) = l+aiz<+a2z' B(z<) = b0+blZ_1,a” a2, b0, bi是未知參數; 步驟4.2:根據建立的伺服系統(tǒng)的離散線性模型確定伺服系統(tǒng)所帶負載的理想轉動角度;
y* (k+1) = (k) -a2y (k~l) +b0u (k) +b^ (k~l) 其中:/(k+l)離散線性模型在第k+1時刻的輸出信號,即在第k+1時刻伺服系統(tǒng)所帶負載的理想轉動角度;y(k)是第k時刻伺服系統(tǒng)所帶負載的實際轉動角度;u(k)為第k時刻伺服電機的電流信號; 步驟4.3:確定第k+Ι時刻伺服系統(tǒng)所帶負載的實際轉動角度I (k+1)與第k+Ι時刻伺服系統(tǒng)所帶負載的理想轉動角度/(k+Ι)之間的偏差信號v(k+l),即表征伺服系統(tǒng)摩擦的未建模動態(tài);
V(k+1) = y (k+1)-y* (k+1) 步驟4.4:根據表征伺服系統(tǒng)摩擦的未建模動態(tài)V (k+1)和伺服系統(tǒng)的離散線性模型,建立包含伺服系統(tǒng)摩擦的伺服系統(tǒng)離散非線性模型:
A (z—1) y (k+Ι) = B (z-1) u (k) +v (k+1) 其中,V (k+1) = V (k) + Δ V (k), V (k)為第k時刻表征伺服系統(tǒng)摩擦的未建模動態(tài);Av(k)為未建模動態(tài)在第k+Ι時刻的增量; 步驟4.5:確定未建模動態(tài)在第k時刻的增量,該增量與未建模動態(tài)在第k+Ι時刻的增量近似相等;
Δ V(k-Ι) = V(k) -V(k-1) 其中,v(k)為第k時刻表征伺服系統(tǒng)摩擦的未建模動態(tài),V (k-1)為第k+Ι時刻表征伺服系統(tǒng)摩擦的未建模動態(tài); 步驟4.6:利用PD控制模型和表征伺服系統(tǒng)摩擦的未建模動態(tài),建立基于摩擦補償的伺服系統(tǒng)控制模型:
H (z-1) u (k) =R (z-1) w (k) -G (z_1) y (k) -K (z_1) [v (k) + Δ v (k-1)] 式中,H(z^),R(z^),G(z^)為PD控制模型參數:H(z^) = (1+V-1),Ii1是待定系數;R(z^) = G(z^) = go+g^^1, g0 = Kp+Kd, gl = -Ki, Kp 和 Kd 是比例和微分系數 ^(z—1)是未建模動態(tài)補償增益多項式,K(P) = Hk1Z^k1為未建模動態(tài)補償增益多項式系數,z—1為時間后移算子; 步驟4.7:將基于摩擦補償的伺服系統(tǒng)控制模型代入包含伺服系統(tǒng)摩擦的伺服系統(tǒng)離散非線性模型,得到伺服系統(tǒng)的閉環(huán)方程:
[A (z—1) H (z—1) +Z-1B (z—1) G (z—1) ] y (k+Ι) = B (z—1) G (z—1) w (k) + [H (z—1) -B (z—1) K (z—1)][v (k) + Δ V (k-1) ] +H (z_1) [ Δ V (k) - Δ V (k_l)] 式中:Av(k)-Av(k-1)是未建模動態(tài)在第k+1時刻的增量與未建模動態(tài)在第k時刻的增量的偏差; 步驟4.8:采用極點配置方法確定hp Kp和Kd ; 步驟4.9:在穩(wěn)態(tài)時對表征伺服系統(tǒng)摩擦的未建模動態(tài)進行全補償:令H(P)-B (z—1)K(z^) = O,令K(I) = H(I)B(I),確定未建模動態(tài)補償增益多項式系數Ic1 ; 步驟4.10:將確定的hpKpKph代入基于摩擦補償的伺服系統(tǒng)控制模型,得到基于摩擦補償的伺服系統(tǒng)控制模型的控制輸出,即得到u (k),即第k時刻的伺服系統(tǒng)的電流信號;步驟5:根據得到的伺服電機的電流信號驅動伺服電機,伺服電機輸出轉矩信號,從而控制伺服系統(tǒng)所帶負載回到目標位置,并保持在目標位置。
【文檔編號】G05B13/04GK104166346SQ201410384731
【公開日】2014年11月26日 申請日期:2014年8月6日 優(yōu)先權日:2014年8月6日
【發(fā)明者】王良勇, 楊梟, 柴天佑, 遲瑛 申請人:東北大學