趙逸吉
(延鋒安道拓座椅有限公司,上海201315)
本文的控制對象是一個二連桿機器人,如圖1所示,目標是使其末端器(end effector)跟蹤一條周期性的期望路徑,誤差盡可能小。

圖1 控制對象的實物圖與示意圖
兩個Maxon EC電機用于分別控制兩桿,正交編碼器記錄脈沖數,同時計算轉動的角度。由于存在摩擦、重力力矩變化,尤其還有因齒隙(backlash)等裝配誤差,該控制對象是一個非線性較強的二階系統。為使其精確受控,擬采用重復控制(RC)。
重復控制最初在20世紀80年代被提出[1],是基于內模原理的控制方法,能有效抑制周期性干擾并達到高精度控制,因此受到廣泛的關注。近期仍有許多學者對此進行研究,如LinLin Li等人將其應用在納米定位器上[2];Lennart Blanken等人設計組合了多個重復控制器以達到更高精度且快速收斂的目的[3];Hassan Farokhi Moghadam等人使用自適應快速傅里葉變換(AFFT)來輔助重復控制得到干擾的精準周期[4]。
然而,應用重復控制需要上個周期的系統信息。故控制伊始,先采用滑模控制(SMC),幾個周期后,采用基于SMC修改的重復控制律。
電機的轉角為編碼器計數而得,但由于齒隙的存在,實際情況會有誤差。為消除此誤差,一般會建立反向齒隙模型,如Chunyi Su等人提出的連續時間動態模型[5]。
然而,由于難以構筑精確的反向齒隙模型,將其應用在控制算法里容易導致失穩。這是因為在機械臂改向時,電機的轉角大小會有一個跳變。故本文將齒隙歸為了干擾的一部分,試圖通過控制算法來盡可能降低齒隙的影響,同時也成為了衡量控制方法抗干擾性的一條指標。
根據實驗數據,本文選取所應用電機的摩擦模型,為庫侖及粘性摩擦的組合。摩擦識別如圖2所示。

圖2 電機摩擦模型
由此,電機電流與角速度的關系被擬合,并將其轉化為摩擦力矩與角速度的關系,總結成如下的關系式:


式(2)是應用本文所述控制方法的前提,允許摩擦力矩估計值與真實值有一定程度的偏差,此偏差上限F需根據實驗數據合理設置。
本節介紹控制方法的具體內容。總體步驟為:(1)建立系統的數學模型。(2)根據模型求取系統總動能與總勢能。(3)解拉格朗日方程得到運動方程。(4)在一種適合于非線性系統的自適應魯棒控制律的基礎上,融入重復控制思想,形成本文所提議的控制律。
由于控制對象的幾何參數一定,末端器的位置可由兩桿轉角確定。故末端器的周期性期望路徑,亦可轉化為兩個轉角的周期性期望路徑。
如圖3建立坐標系,設桿長是l1和l2,質量是m1和m2。兩桿質心到轉軸的距離為r1和r2,而兩質心坐標為:(正余弦簡寫,如sinθ1與cosθ2簡寫為s1與c2)

圖3 建模示意圖

對式(3)求一階導后得:

由上式所得速度求取系統總動能得:

其中Iz1與Iz2為兩桿在質心處的轉動慣量。將式(3)和(4)代入(5)經化簡得:

其中:

注意到α、β、γ皆為常數,故系統總動能僅由其姿態(兩轉角之差)及轉速決定。而系統總勢能為:

得到總動能與總勢能后,即可計算拉格朗日函數:

將其代入拉格朗日方程:

由式(10)可導出系統的運動方程,經整理即可寫成如下形式:

其中q=[θ1θ2]T,τ=[τ1τ2]T,且H、C、g三個矩陣分別為:

注意到式(11)一開始是不含有摩擦項f(q˙)的,而是在推出運動方程后補加進去的。事實上,從式(6)可以直接導出H(q),因為動能并且,C(q,q˙)中的每一項,也就是Ckj,皆可用H(q)經由克氏符(Christoffel symbols)計算而得:

針對式(11)形式的運動方程,如Slotine教授所述[6],一種自適應魯棒控制律(滑模控制)如下:
通過構筑合適的李雅普諾夫函數(Lyapunov function)可證明式(14)的穩定性及魯棒性[6]。K的取值也在此過程中確定,其涵蓋了式(2)中的摩擦力矩偏差上限F。針對本文中的系統,Y與a如下:

在應用式(14)所示的自適應魯棒控制律控制系統幾個周期后,即可應用本文所提議的重復控制律:

重復控制有多種形式,比如可以配合擾動觀測器(Disturbance observer)使用,而上式是其中一種經嘗試簡明有效的控制律。其中,i代表每個迭代(iteration),N為一周期內迭代次數,Q是一個低通濾波器,C是需要被調試的常數(正值)對角矩陣。濾波器在重復控制中是極其必要的,否則擾動將使系統不可控,在每個周期都發生疊加,愈演愈烈。
如圖4所示,MaxonEC電機驅動模塊、NImyRIO開發板、電源發生器,是實現機械臂控制的主要設備。在此基礎上,編寫LabVIEW FPGA代碼來實施前述的控制方法。

圖4 重復性滑模控制實驗結果
首先在軟件中建模,系統的傳遞函數可由輸入輸出的測試數據建立。接著是控制仿真,在此過程中,調試λ、C等參數,使跟蹤精度更高。成功后,就將其應用于現實系統。
為提供重復控制所需的過往周期數據,并直觀地進行對比,滑模控制(SMC)首先應用于兩關節(joint),過50秒(5個周期)、100秒(10個周期)后,先后在兩關節上應用本文提議的控制律。
所用各參數為λ1=λ2=2,C1=2,C2=1.5,轉角跟蹤曲線皆為tanh(2sin(0.2πkT))的拉伸與平移,實驗結果如圖5所示。

圖5 重復性滑模控制實驗結果
5個周期后,提議的控制律應用在關節1處,可看到θ1的跟蹤表現有所提高,幾個周期內的誤差絕對值平均為0.007rad。雖然某時會有相對較大的誤差,但整體表現證明了它的有效性。
10個周期后,提議的控制律應用在關節2處,很明顯θ2的誤差等級大大下降,幾個周期內的誤差絕對值平均僅為0.00205rad。并且,s的值非常接近0(誤差及誤差導數小)。
更仔細地調試參數后,實驗表現應可進一步提高。然而,本文所側重的是證明所提議控制律的可行性及實用性,目前的實驗結果也已達此目的。
本文提議的重復性滑模控制,有著取自重復控制及滑模控制的優勢:非線性系統的控制器易于設計,也不需知曉精確的系統參數;重復控制律進一步提高跟蹤精度。實驗中的表現也十分良好,且系統參數的不確定性、摩擦、齒隙等干擾所帶來的影響被大大減弱。故其具有較強的實用性。
有關所提議控制方法的局限性,主要是以下幾點:如其他大多數控制方法一樣,普適性會有欠缺,且此控制律是基于重復控制的思想,故也僅適用于跟蹤周期性期望路徑;在高階或其他有著更強非線性的系統前,可能作用有限。