趙海濱, 劉 沖, 陸志國, 顏世玉, 于清文
(東北大學 機械工程與自動化學院, 遼寧 沈陽 110819)
具有旋轉(zhuǎn)激勵的平移振蕩器(translation oscillators with rotating actuator,TORA)最早來源于雙自旋航天器,用來研究其共振俘獲現(xiàn)象[1-4]。TORA由一個能夠做圓周運動的小球固定在一個與彈簧連接的小車上組成。TORA系統(tǒng)有2個自由度,但只有1個控制輸入,因而是一種典型的欠驅(qū)動機械系統(tǒng)。
TORA系統(tǒng)作為非線性控制器設計的基準系統(tǒng),常用的控制方法有無源法[5]、反步法[6]、基于能量的控制法[7-8]和滑膜控制法[9]等。基于能量的控制法和PD控制法是一致的。本文首先對TORA系統(tǒng)的動力學方程進行分析,然后利用Matlab/Simulink建立TORA系統(tǒng)的仿真實驗平臺,利用PD控制器對系統(tǒng)進行控制,仿真和研究了摩擦力對系統(tǒng)的影響。通過仿真模型,向?qū)W生完整地展示系統(tǒng)的仿真過程,能夠加深學生對TORA系統(tǒng)的理解,激發(fā)學生的學習興趣,有助于欠驅(qū)動系統(tǒng)的理論和實驗教學。
TORA系統(tǒng)如圖1所示。小球在輸入轉(zhuǎn)矩的控制下轉(zhuǎn)動,通過小球和小車的耦合作用,對小車的位置進行控制。

圖1 TORA系統(tǒng)的結構
采用拉格朗日方程法進行TORA系統(tǒng)的動力學建模[10]如下:
(1)
(2)
式中:m為小球的質(zhì)量;r為小球的轉(zhuǎn)動半徑;M為小車的質(zhì)量;k為彈簧的倔強系數(shù);J為小球關于其質(zhì)心的轉(zhuǎn)動慣量;x為小車的位移;θ為小球與豎直向下方向的角度;f為小車受到水平面上的摩擦力;τ1為旋轉(zhuǎn)小球的輸入轉(zhuǎn)矩。
將式(1)和(2)寫成矩陣形式為

(3)

TORA系統(tǒng)的小車和小球是在水平面內(nèi)運動,系統(tǒng)的勢能P(q)為彈簧的彈性勢能
(4)
TORA系統(tǒng)的向量G(q)和勢能P(q)的關系為
(5)
TORA系統(tǒng)的總能量E(包括動能和勢能)為
(6)
TORA系統(tǒng)中,小車在水平面運動時,小車和水平面會存在摩擦力。摩擦力會阻礙小車的運動,本文采用的摩擦力為

(7)
其中參數(shù)μ為摩擦系數(shù)。對于TORA系統(tǒng),PD控制器和采用基于能量的控制方法是一致的。本文采用小球轉(zhuǎn)角的PD控制器為
(8)
Matlab軟件已經(jīng)廣泛應用于動態(tài)系統(tǒng)仿真,既可以用于連續(xù)系統(tǒng)和離散系統(tǒng),也適用于線性系統(tǒng)和非線性系統(tǒng)[11-12]。Simulink功能強大、使用簡單方便,是Matlab軟件的重要軟件包。根據(jù)TORA系統(tǒng)的動力學方程,采用Matlab/Simulink軟件建立仿真模型。由于TORA系統(tǒng)的動力學方程比較復雜,不適合采用普通Simulink模塊來建立模型,因而采用M-函數(shù)和積分模塊等來建立模型,如圖2所示。

圖2 TORA系統(tǒng)仿真實驗
M-函數(shù)為Simulink中用戶自定義功能模塊庫中的Matlab Fcn模塊。
TORA模塊內(nèi)的代碼如下:
function [dd, E]= fcn(xdthd, xth, mu, tau1)
M=1.3608; m=0.096; k=186.3;
r=0.0592; J=0.0002175;
x=xth(1); th=xth(2); xd=xdthd(1); thd=xdthd(2);
d11=M+m;
d12=m*r*cos(th);
d21=m*r*cos(th);
d22=m*r^2+J;
D=[d11, d12; d21, d22];
C=[0, -m*r*thd*sin(th); 0, 0];
G=[k*x; 0];
f= -mu*xd;
dd=D([f; tau1]-C*[xd; thd]-G);
E=0.5*[xd,thd]*D*[xd; thd]+ 0.5*k*x^2;
輸入值mu為摩擦系數(shù),tau1為輸入力矩,輸出值E為按公式(6)計算的總能量。
PD模塊內(nèi)的代碼如下
function tau = fcn(xdthd, xth)
th=xth(2);
thd=xdthd(2);
kp=0.07; kd=0.0023;
tau= -kp*th -kd*thd;
程序中的參數(shù)kp和kd為PD控制器的參數(shù),摩擦系數(shù)μ用“mu”表示,輸出力矩為tau。在圖2中,積分模塊的初始值由外部輸入,手動開關Manual Switch在PD控制器和無控制輸入之間進行切換,通過To Workspace模塊將運行結果保存在工作空間中。
在仿真過程中,采用變步長的ode45算法,最大步長為0.0001 s。采用的TORA系統(tǒng)參數(shù)[2]為:
M=1.360 8 kg,m=0.096 kg,k=186.3 N/m,
r=0.059 2 m,J=0.000 217 5 kg/m2
通過手動開關模塊將TORA系統(tǒng)的控制輸入設置為0,摩擦系數(shù)μ=0,則系統(tǒng)的總能量保持不變。小車的初始位置為0.01 m,即初始狀態(tài)為

仿真時間為20 s,結果如圖3所示。小車的位移在彈簧的彈力作用下周期運動,小球做圓周運動。

圖3 實例1的仿真結果
將TORA系統(tǒng)的控制輸入設置為0,摩擦系數(shù)μ=0.1,小車的初始位置為0.02 m,即初始狀態(tài)為

仿真時間設置為50 s,結果如圖4所示。小車的位移做周期運動,小球做圓周運動。由于摩擦力的作用,小車的最大位移不斷減小,系統(tǒng)的總能量逐漸減小。


圖4 實例2的仿真結果
在PD控制器的作用下,小車的位移和小球的角度都趨近于0,小球的力矩和系統(tǒng)的總能量也趨近于0,系統(tǒng)的狀態(tài)趨近于穩(wěn)定狀態(tài),即:

通過對TORA系統(tǒng)的動力學進行分析,利用PD控制器進行控制,采用Matlab/Simulink建立系統(tǒng)的仿真實驗平臺。利用該平臺,可以非常容易地分析不同參數(shù)條件下系統(tǒng)的結果,把復雜的動力學模型進行簡單、直觀的展示,有助于學生對TORA系統(tǒng)的全面理解,為欠驅(qū)動系統(tǒng)理論的教學和實驗提供方便。該仿真模型,還可以作為檢驗不同控制算法的基準平臺。
參考文獻(References)
[1] Liu Y, Yu H. A survey of underactuated mechanical systems[J].IET Control Theory and Applications, 2013,7(7):921-935.
[2] Bupp R T, Bernstein D S, Coppola V T. A benchmark problem for nonlinear control design[J].International Journal of Robust Nonlinear Control,1998,8(4/5):307-310.
[3] Bupp R T, Bernstein D S, Coppola V T. Experimental implementation of integrator backstepping and passive nonlinear controllers on the RTAC testbed[J].International Journal of Robust and Nonlinear Control, 1998,8(4/5):435-457.
[4] Olfati-Saber R. Normal forms for underactuated mechanical systems with symmetry[J].IEEE Transactions on Automatic Control, 2002,47(2):305-308.
[5] Jankovic M, Fontaine D, Kokotovic P V. TORA example: cascade-and passivity-based control designs[J].IEEE Transactions on Control Systems Technology,1996,4(3):292-297.
[6] 高丙團,賈智勇,陳宏鈞,等.TORA的動力學建模與Backstepping控制[J].控制與決策,2007,22(11):1284-1288.
[7] 高丙團.TORA的動力學建模及基于能量的控制[J].自動化學報,2008,34(9):1221-1224.
[8] 武憲青,何熊熊.欠驅(qū)動基準系統(tǒng)的約束控制[J].控制理論與應用,2015,32(12):1692-1697.
[9] Xu R, Ozguner U. Sliding mode control of a class of underactuated systems[J].Automatica,2008,44(1):233-241.
[10] 蔡自興.機器人學[M].2版.北京:清華大學出版社,2009.
[11] 薛定宇,陳陽泉.基于MATLAB/Simulink的系統(tǒng)仿真技術與應用[M].2版.北京:清華大學出版社,2011.
[12] 趙海濱.MATLAB應用大全[M].北京:清華大學出版社,2012.