文相容,周宇生
(貴州大學 數學與統計學院,貴陽 550025)
輪式移動機器人是一種通過驅動輪子轉動來實現運動功能的非完整約束結構,具有結構簡單、能耗低和運動靈活等優點[1]。輪式移動機器人按輪子數量可分為獨輪、兩輪、三輪、四輪和多輪移動機器人。在實際應用中,會根據需要采用不同的輪式移動機器人。獨輪和兩輪機器人占地面積小且運動最為靈活,但豎直方向部分容易翻倒,是需要自平衡控制的倒立擺結構[2]。三輪移動機器人雖然靈活性不如獨輪和兩輪,但結構穩定不容易翻倒,且靈活性比四輪移動機器人要強很多。因此兼具穩定性和靈活性優點的三輪移動機器人在實際生活工作中應用非常廣泛。
目前關于三輪移動機器人的控制研究大都側重于其運動學方程[3-6],通過將其運動學方程轉化為鏈式標準型,設計速度控制器跟蹤給定的目標速度[7-9]。但在實際中一般是通過驅動力或力矩來實現控制目的,所以設計力或力矩控制器更符合實際。文[10]針對高速運動情況下,對輪式移動機器人進行了運動學、動力學模型重建,并利用反演控制方法設計了抗側滑運動學反演控制器,同時利用逆動力學控制方法設計了抗擾動逆動力學控制器,完成了機器人對預定軌跡的跟蹤。一般情況下,實際運動任務是控制三輪移動機器人精確沿給定目標軌跡曲線運動,而動力學方程只是單純描述其運動速度和驅動力或力矩之間的關系。因此,需要將給定的目標軌跡曲線轉化為速度目標形式,這樣就可以將原來的運動控制問題轉化為基于動力學方程的一般跟蹤控制問題,從而使得問題變得簡單且容易實現。文[11]利用平面曲線基本理論,將兩輪式倒立擺的目標軌跡曲線轉化為速度目標形式,結合其動力學方程為兩輪式倒立擺設計了力矩控制器,精確實現往返運動控制。
隨著科學技術的發展,輪式移動機器人的精確軌跡跟蹤變得越來越重要,目前關于精確軌跡跟蹤控制的研究主要側重于先進控制器的設計,文[12]通過間接自適應模糊滑模控制方法,構造基于旋轉子系統和縱向子系統的復合控制,實現速度跟蹤和傾角穩定。文[13]設計了基于反步法的自適應控制,實現了輪式倒立擺的輸出跟蹤穩定。文[14]為解決平臺與安裝機器人之間的擾動、非線性和非完整約束之間的動力學耦合問題,提出了一種基于反步法的自適應滑??刂破饔糜谝苿訖C械臂的軌跡跟蹤。從這些文獻的仿真結果來看,無論控制設計方法多么先進,實際軌跡總是與目標軌跡曲線有一定的偏差,特別是在剛開始的一段時間內。主要原因是實際運動速度與目標速度之間的初始速度誤差比較大,導致整個運動過程中的累積位置誤差越來越大。因此,必須根據運動任務設計合適的速度跟蹤目標,盡量減少初始速度誤差。通過分析其側向運動速度為零這一非完整約束,利用微分幾何理論得到目標軌跡曲線與速度目標之間的一一對應關系。引入一個微分同胚的變量變換,將前向速度目標轉化為和實際初始速度更接近的形式,通過減少初始速度誤差來盡量減少三輪移動機器人運動時的累積位置誤差。最后通過仿真說明所提軌跡跟蹤目標設計和魯棒控制設計方法的有效性。
如圖1所示,三輪移動機器人的后2輪上各裝有一個驅動馬達,同時前輪通過控制方向盤來實現轉向。當后2輪中心點C(x,y)隨著三輪移動機器人在平面上做連續光滑運動時,點C的運動軌跡是一條光滑曲線,此時點C在與切向垂直方向的側向速度為0,如若不然,其軌跡曲線會出現不光滑的尖點。因此三輪式移動機器人在平面上做光滑曲線運動時一般受到如下非完整約束

圖1 三輪移動機器人結構簡圖

(1)


(2)
根據方程(2)中的第二式可以知道,軌跡曲線的切向量長度就是點C沿該曲線運動的前向速度。因此,可以將方程(2)改寫為

(3)
此外,當三輪移動機器人的后2輪不側滑不空轉時,需要滿足下面2個完整約束
(4)
其中:θ是三輪移動機器人的偏航角;θl和θr分別是左右兩輪的轉角;r是輪子的半徑。
(5)
然后將方程(2)的第二式代入方程(5)并結合方程(1),整理得到三輪移動機器人后兩輪所受的運動約束方程
(6)
接下來,分析三輪移動機器人前輪所受到的約束。
如圖2所示,P(xp,yp)點具有雙重身份。一方面當P點作為前輪中心,在不發生側滑運動時,其側向速度為0,即滿足方程

圖2 P點速度示意圖
(7)
另一方面當P點作為中間體的前端點時,該點的速度滿足如下關系
(8)
由方程(7)和(8)得到
(9)
方程(9)是一個重要的非完整約束,它描述了前輪轉向和后輪運動速度之間的關系。將方程(3)的第一式代入方程(9),則方程(9)可改寫為

(10)
這里φ是前輪操舵轉向角,將其看作一個控制變量,因為它是通過人為控制方向盤轉向得到的。
結合方程(3)、(5)和(9),將三輪移動機器人的所有運動約束總結為
(11)
令三輪移動機器人的廣義坐標為q=(x,y,θ,θr,θl)T,方程(11)可以表示為以下矩陣形式

(12)
其中
利用非完整力學系統的Euler-Lagrange方程,三輪移動機器人的動力學方程為
(13)

方程(13)中的F(q)選取為

F(q)S=0。
(14)
接下來需要計算三輪移動機器人的動能。根據圖1所示,得到如下位置關系
其中,(xwl,ywl),(xwr,ywr)分別是左右輪的中心坐標。此時三輪移動機器人上的各中心點速度分別表示為
因此,三輪移動機器人的后2輪的前向動能和轉動動能之和表示為
同樣地,可以將三輪移動機器人的前輪和中間體的前向動能和轉動動能之和分別表示為
其中:MB是中間體質量;Mw是輪子質量;Iwd是輪子繞z軸方向轉動慣量;Iw是輪子繞輪軸方向轉動慣量;IB是中間體繞z軸方向轉動慣量。
將Lagrange函數L=Tw+TB+Tf代入方程(13),然后按狀態變量的各階導數整理得到
(15)
其中:
將方程(12)兩邊同時關于t求導,然后代入方程(15)得
(16)
在方程(16)的左右兩邊同時左乘ST(q),結合方程(14)消去等式中的Lagrange乘子得
整理上式,最終可以將三輪移動機器人動力學方程表示為如下狀態方程形式
(17)
其中
β1=a2r2MB+4a2r2Mw+2d2r2Mw+4r2IB+4a2Iw+8r2Iwd,
β2=(2d2r2Mw+4r2IB+8Iwdr2-3a2r2MB-8a2r2Mw-8a2Iw)cosφ-β1。
(18)

對方程(18)兩邊同時關于t求導得
(19)
將方程(18)和(19)交叉相乘并相減得
因此中心點C運動速度與運動軌跡曲線之間的關系式為
(20)



由于φ和u1之間有約束關系,本文將φ和u2看作控制變量。觀察發現方程(17)是解耦的,可以先通過第二個方程將u1設計出來。然后結合方程(9)有
(21)
再利用方程(21)將控制器φ設計出來。然后將控制變量φ代入方程(17)的第一式,設計控制器u2實現最終的軌跡跟蹤任務。
從上式可以看出,當參數變換后,前向速度目標也是隨之而改變的。因此,上式中含有曲線相對曲率的第二式才是對軌跡曲線的本質刻畫。


其中,α>0,β>0,r>0,并且滿足
(22)
由方程(22)有r=l,α=lβ2。因此函數φ(η)可以設計為
φ(η)=-(βη+1)le-βη+l,
其中l是目標軌跡曲線長度。

(23)
其中:s=φ(t)=-(βt+1)le-βt+l.
由于方程(17)是解耦的,先考慮其偏航轉速控制系統
(24)
偏航轉速控制系統(24)比較簡單,容易設計反饋跟蹤控制器。為了加強它的魯棒性,采用積分滑模思想處理不確定性因素的影響[15]。
其中d1(t)是偏航轉速誤差系統受到的不確定性因素。

其中k是誤差反饋控制增益參數。
再將軌跡跟蹤目標設計成積分滑模面S1(ω(t))=0,且

其中G1>0是合適的常數。這樣,切換控制部分設計為
其中:μ是滑??刂茀?;ε是外部擾動最大振幅。因此,u1設計為
u1(t)=u10(t)+u11(t)。
(25)
最后,結合方程(21)和(25),最終設計的操舵角控制器為
(26)
接下來考慮前向速度控制系統
(27)
對系統(27)利用反饋線性化思想處理,設
(28)
得到一個簡單的控制系統

令X=[x1,x2]T=[s,υ]T,前向速度控制系統改寫為

(29)

再將控制方程(29)轉化成誤差系統,令
則前向速度誤差系統為
其中d2(t)是前向速度誤差系統受到的不確定性因素。
為了使得前向速度誤差盡量小,可以將前向速度誤差的權重取得足夠大[11]。利用線性二次型最優控制理論,h(t)設計為
h(t)=-R-1BT[P(t)Y(t)+b(t)],
其中:P(t)∈2×2,b(t)∈2滿足方程
-PA-ATP+PBR-1BTP-Q=0,
為了增強反饋控制的魯棒性,同樣采用積分滑模思想來處理不確定性因素。系統(29)的控制器基礎部分設計為
h20(t)=-R-1BT[P(t)Y(t)+b(t)]。
引入積分滑模函數
其中,G2是適當的常矩陣。
積分滑模面設計為S2(X(t))=0,因此系統(29)的控制最終設計為
h2(t)=h20(t)+h21(t),
(30)
其中:h21是切換的不連續控制,用來補償系統不確定性因素和外部擾動的影響,
h21(t)=-(μ+ε||Y||1)(G2B)-1sgn(S2(X(t)))。
結合方程(28)和(30),前向速度控制器設計為
(31)

考慮目標軌跡曲線是單位圓,假設初始時刻三輪移動機器人是靜止的,且目標軌跡曲線為

由曲線基本理論,目標軌跡曲線的曲率為k(t)=1。
根據方程(20),軌跡曲線的速度目標形式表示為

(32)
再根據方程(23),改進的速度跟蹤目標設計為

(33)
假設三輪移動機器人的各部分參數選擇如下
M=3 kg,Mw=2 kg,a=1 m,r=0.1 m,Iw=0.01 kgm2,Iwd=0.005 kgm2,I=0.01 kgm2。
l=π/2,β=0.5,k=2,μ=0.01,ε=2,G1=1.8,G2=diag(100,1)。
若前向速度誤差控制系統和偏航轉速誤差控制系統分別受到如下未知擾動影響
且將φ(t)設計為
此時,關于控制器(26)和(31)中的所有量就都已知了,實驗如圖3、4所示。

圖3 前向速度誤差圖
從圖3和圖4可以看出,采用速度目標(32)會使得初始速度誤差不為零,而改進后的速度跟蹤目標(33) 從初始時刻開始速度誤差為零。如若初始速度誤差過大,自然會導致三輪移動機器人在整個運動過程中累積位置誤差也很大,最終導致實際運動軌跡曲線嚴重偏離目標軌跡曲線。如圖5所示,由于筆者設計控制器時采用了積分滑模的思想,所設計的滑??刂破骶哂泻軓姷聂敯粜?。因此即使誤差控制系統存在不確定性因素的影響,采用速度目標(33)和積分滑??刂破鲿r,得到的實際運動軌跡幾乎和目標軌跡重合,反之采用速度目標(32)時,即使同樣采用積分滑??刂疲玫降膶嶋H軌跡曲線也會嚴重偏離目標軌跡曲線,這主要是由于初始速度誤差導致的累積位置誤差太大所致。

圖4 偏航轉速誤差圖

圖5 三輪移動機器人在平面上的實際運動軌跡
通過分析三輪移動機器人的運動約束方程和運動規律,針對給定的目標軌跡曲線,給出了一種新的速度跟蹤目標和控制器設計方法。該方法可以通過選擇合適的光滑函數,為三輪移動機器人設計合適的前向速度和偏航轉速目標,使得在控制過程中能夠極大地減少誤差控制系統的初始速度誤差,從而達到減少累積位置誤差的目的。仿真結果表明,采用文中所提出的速度跟蹤目標和控制方法,可以使得三輪移動機器人能精確地沿著給定的目標軌跡曲線運動。
提出的精確軌跡運動控制方法完全可以推廣到三維空間中的軌跡曲線跟蹤運動,并應用于航天航空、機器人、機械制造等需要精確軌跡運動控制的領域。