萬 軍,賈宇明
(1.重慶城市職業(yè)學(xué)院信息工程系,重慶 402160;2.電子科技大學(xué)通信與信息工程學(xué)院,成都 610036)
隨著人工智能技術(shù)的發(fā)展,機器人的應(yīng)用領(lǐng)域也逐漸擴大。消防機器人 、醫(yī)療機器人、航天機器人、服務(wù)機器人及教育機器人等已經(jīng)得到了快速發(fā)展[1-2]。在機器人發(fā)展過程中,兩輪差速機器人因結(jié)構(gòu)簡單,在社會發(fā)展中得到了普遍應(yīng)用。對兩輪差速機器人的研究,主要問題還是控制的精確性和穩(wěn)定性。當(dāng)設(shè)置參考運動軌跡時,機器人能夠平穩(wěn)、精確、快速地按照指定運動軌跡進行追蹤。
當(dāng)前,對機器人控制的研究方法有多種。例如:文獻(xiàn)[3-4]研究了清洗機器人控制系統(tǒng),主控制器硬件采用單片機控制,通過圖像識別技術(shù),設(shè)計出清洗機器人人機交互界面,該控制系統(tǒng)具有結(jié)構(gòu)簡單、操作靈活等優(yōu)點;文獻(xiàn)[5-6]研究了機器人分?jǐn)?shù)階PID控制方法,采用粒子群算法對PID控制器參數(shù)進行優(yōu)化,將優(yōu)化后的參數(shù)通過MATLAB軟件進行仿真,從而提高了機器人控制系統(tǒng)的響應(yīng)速度;文獻(xiàn)[7-8]研究了鋼結(jié)構(gòu)壁面機器人模糊控制系統(tǒng),設(shè)計了模糊推理測試模型,通過MATLAB軟件對模塊控制系統(tǒng)進行測試,較好地實現(xiàn)人機作業(yè)的控制要求。例如:文獻(xiàn)[9]研究了兩輪移動機器人狀態(tài)反饋控制器,建立了兩輪機器人空間坐標(biāo)系,推導(dǎo)其移動速度和角速度方程式,設(shè)計了狀態(tài)反饋控制器仿真模型,能夠使機器人速度和角速度保持在零線附近。但是,對兩輪移動機器人的運動速度和角速度跟蹤控制方法研究較少。
對此,本文主要介紹經(jīng)典PI控制器和全階滑??刂破?,全階滑??刂破饕元毩⑤喗撬俣瓤刂破鞯男问接糜趦奢啿顒域?qū)動移動機器人。為了獲得相關(guān)的實驗數(shù)據(jù),除了一般的動力學(xué)特性外,構(gòu)成的基礎(chǔ)數(shù)學(xué)仿真模型還包括驅(qū)動器的動態(tài)特性和粘滯摩擦。驗證和比較內(nèi)部速度控制回路在使用經(jīng)典PI控制和全階滑??刂破髦械男阅?。
本文研究的是雙輪移動機器人,其模型及參數(shù)如圖1所示。
圖1 雙輪移動機器人簡圖
移動機器人位置和速度向量定義如下:
(1)
式中,x、y、φ分別為移動機器人橫坐標(biāo)、縱坐標(biāo)和方向角度;v、ω分別為移動機器人線速度和角速度。
移動機器人動力學(xué)模型[10]定義為:
(2)
式中,d為重心到車輪轉(zhuǎn)動中心的距離。
移動機器人左輪、右輪角速度定義為:
(3)
式中,ωR、ωL分別為移動機器人左輪和右輪角速度。因此,可以得到移動機器人的線速度和角速度分別如下所示:
(4)
式中,r、b分別為車輪半徑、車輪到車輪轉(zhuǎn)動中心的距離。
由式(3)、式(4)經(jīng)過逆變換可得移動機器人的線速度v和角速度η之間的關(guān)系如下:
(5)
根據(jù)牛頓第二運動定律,在全局坐標(biāo)中的加速度v′、速度v和左、右輪輸入的扭矩τR、τL之間的微分關(guān)系為:
(6)
(7)
式中,M為移動機器人的質(zhì)量;Ic為移動機器人的轉(zhuǎn)動慣量。
移動機器人在運動過程中,實際產(chǎn)生的扭矩為:
τi=τmi-(τfi-τzi)
(8)
式中,τmi為驅(qū)動器產(chǎn)生的扭矩;τfi為車輪旋轉(zhuǎn)產(chǎn)生的摩擦扭矩;τzi為外部干擾產(chǎn)生的扭矩;i=R,L。
式(6)、式(7)采用矩陣表示為:
M(q)v′+V(q′,q)v+Fv=B(q)τm-B(q)τz
(9)
式中,M(q)為慣性矩陣;V(q′,q)為向心力矩陣;F為摩擦力矩陣;B(q)為變換矩陣。
帶有減速器和負(fù)載的直流電動機機電部分結(jié)構(gòu)如圖2所示,本文使用的直流電動機驅(qū)動機器人通過理想變速器實現(xiàn),該變速器的輸入與輸出比為1:N。
圖2 電機驅(qū)動簡圖
兩臺電動機在負(fù)載旋轉(zhuǎn)軸上產(chǎn)生的電動機轉(zhuǎn)矩可用矢量表示如下:
(10)
式中,Kτ為電機轉(zhuǎn)矩常數(shù);iL、iR分別為左右兩個轉(zhuǎn)子線圈電流。
當(dāng)電機轉(zhuǎn)速改變時,由于變速箱速比的關(guān)系,其等效轉(zhuǎn)動慣量Je可表示為:
Je=N2Jr+Jl
(11)
式中,Jr、Jl分別為電機轉(zhuǎn)子轉(zhuǎn)動慣量和變速器負(fù)載轉(zhuǎn)動慣量。
對于摩擦力矩和外部干擾力矩有同樣的效果,當(dāng)轉(zhuǎn)子在定子中旋轉(zhuǎn)時,粘滯摩擦力可以通過已知的系數(shù)Br來計算,但是對于負(fù)載軸上的粘滯摩擦力,系數(shù)Bl是未知的,因為它與減速器和軸承有關(guān)。等效粘性摩擦系數(shù)Be的值可以通過實驗獲得。單個驅(qū)動器上的負(fù)載可近似于半徑為r的半個機器人的質(zhì)量。根據(jù)第二牛頓運動定律可以得到如下:
(12)
電機輸入電壓ui和轉(zhuǎn)子線圈電流ii之間的關(guān)系可用微分方程[11]表示為:
(13)
式中,La為轉(zhuǎn)子線圈電感;Ra為終端電阻;Ke為反電動勢常數(shù);ωi為負(fù)載角速度。
機器人內(nèi)部控制回路的目標(biāo)是跟蹤參考輪速度,并將動態(tài)控制轉(zhuǎn)換為更簡單的運動控制問題,內(nèi)部控制回路如圖3所示。
圖3 機器人內(nèi)部速度控制回路
控制誤差可用車輪的角速度來定義,如下所示:
(14)
式中,ωLref、ωRref分別為車輪左右參考角速度。
使用經(jīng)典PI控制器對第一種內(nèi)部速度控制回路進行設(shè)計,使用全階滑??刂破鲗Φ诙N內(nèi)部速度控制回路進行設(shè)計。
從控制學(xué)的角度來看,移動機器人可以看作是一對帶有負(fù)載的電動機。通過拉普拉斯變換,帶減速器的單直流電機、粘滯摩擦和等效載荷均可用線性傳遞函數(shù)表示:
(15)
相對于控制問題,最好用下列形式表示:
(16)
式中,Z為系統(tǒng)增益;T1、T2為時間常數(shù)。
基于公式(16)的傳遞函數(shù),PI控制器的參數(shù)可以采用下列方法獲得:
(17)
式中,r0、r1為PI控制器參數(shù);ei(t)為控制誤差。
對PI控制器進行離散化處理,以便在移動機器人中實現(xiàn),離散化處理的控制器形式[12-13]為:
ui(k)=ui(k-1)+q0ei(k)+q1ei(k-1)
(18)
式中,q0、q1為等效的離散控制器參數(shù)。
移動機器人線速度和角速度跟蹤誤差可以定義為:
(19)
為了提高機器人軌跡跟蹤精度,抑制外界干擾信號對機器人的影響,設(shè)計全階滑模面表達(dá)式為:
(20)
式中,λ1、λ2為滑模面正實數(shù)。
根據(jù)狀態(tài)觀測器,可以得到全階滑模控制器為:
(21)
式中,τl、τr分別為左、右輪驅(qū)動力矩;T1、T2>0;k1和k2為增益系數(shù)。
將公式(21)代入公式(20),可以得到:
(22)
其中,
通過觀測器得到的誤差可以收斂在一個很小的范圍內(nèi),即觀測誤差是有界的,滿足下列條件:∣ed1∣≤l1,∣ed2∣≤l2。
根據(jù)李雅普諾夫函數(shù)[14]可以得到:
(23)
由公式(23)可知:sj≠0時,V>0。根據(jù)滑動模態(tài)穩(wěn)定條件,需要對公式(23)進行求導(dǎo)可以得到:
(24)
V′=V1+V2≤0
(25)
根據(jù)李雅普諾夫函數(shù)的穩(wěn)定性理論可知,全階滑模控制器是穩(wěn)定的。
為了進一步驗證全階滑模控制的優(yōu)越性,下面采用MATLAB軟件分別對PI控制器和全階滑模控制器輸出誤差進行仿真。假設(shè)機器人初始位姿為[0,0],機器人運動軌跡為x2+y2=4,滑模面控制器參數(shù)λ1=λ2=12、T1=T2=0.2,仿真時間為4 s,在第2 s時,對雙輪移動機器人施加y=sin(2πt)信號波干擾。采用PI控制器,移動機器人車輪運動線速度和角速度輸出誤差分別如圖4、圖5所示。采用全階滑模控制器,移動機器人車輪運動線速度和角速度輸出誤差分別如圖6、圖7所示。
圖4 線速度輸出誤差(PI控制) 圖5 角速度輸出誤差(PI控制)
分析圖4、圖5可得:采用傳統(tǒng)PI控制器,雙輪機器人線速度和角速度超調(diào)量較大,在0~0.5 s時間范圍內(nèi),線速度和角速度產(chǎn)生的最大值分別為0.52 m/s和1.18 rad/s,大約在0.5 s后,根據(jù)輸出誤差變化,控制系統(tǒng)處于穩(wěn)定狀態(tài),但是線速度和角速度輸出誤差分別為0.05 m/s和0.48 rad/s。另外,在第2 s時刻處,受到外界信號波干擾時,其跟蹤誤差再次變大,調(diào)整時間為0.5 s。面對外界波形的干擾,PI控制器作出自適應(yīng)調(diào)節(jié)時間較長,導(dǎo)致機器人運動線速度和角速度較大,跟蹤精度較低。
圖6 線速度輸出誤差(全階滑模控制) 圖7 角速度輸出誤差(全階滑??刂?
分析圖6、圖7可知:采用全階滑模控制器,雙輪機器人線速度和角速度超調(diào)量較小,在0~0.5 s時間范圍內(nèi),線速度和角速度產(chǎn)生的最大值分別為0.31 m/s和0.54 rad/s,大約在0.15 s后,根據(jù)輸出誤差變化,控制系統(tǒng)處于穩(wěn)定狀態(tài),線速度和角速度輸出誤差分別為0.03 m/s和0.12 rad/s。另外,在第2 s時刻處,受到外界信號波干擾時,其跟蹤誤差沒有受到外界信號干擾,仍然保持較高的跟蹤精度。對比兩種控制方法可知,PI控制器調(diào)節(jié)時間為0.5 s,而全階滑??刂破髡{(diào)節(jié)時間為0.15 s,調(diào)節(jié)時間縮短了70 %。因此,采用全階滑模控制器,移動機器人運動線速度和角速度跟蹤誤差較小,自適應(yīng)調(diào)節(jié)時間較短,能夠更好地抑制外界環(huán)境的干擾因素。
本文采用傳統(tǒng)的PI控制器和全階滑??刂破鲗奢啿顒右苿訖C器人線速度和角速度進行控制,通過MATLAB軟件對其輸出誤差進行仿真,仿真結(jié)果表明:
(1)采用傳統(tǒng)PI控制器,雙輪移動機器人運動線速度和角速度跟蹤誤差較大,而采用全階滑??刂破?,移動機器人運動線速度和角速度跟蹤誤差較小。全階滑??刂破髂軌颢@得更穩(wěn)定的控制效果,使機器人運動更加平穩(wěn)。
(2)與PI控制器相比,全階滑??刂破鞣磻?yīng)更加迅速,能夠在較短的時間內(nèi),使控制系統(tǒng)輸出誤差達(dá)到穩(wěn)定狀態(tài)。特別是在移動機器人運動遇到危險狀態(tài)下,能夠迅速地躲避障礙物,避免機器人發(fā)生碰撞事故。
(3)在有外界波形因素的環(huán)境中,傳統(tǒng)PI控制器容易受到外界波形信號干擾,導(dǎo)致機器人輸出誤差較大,而全階滑模控制器能夠抑制外界的干擾,對控制系統(tǒng)幾乎無影響,使機器人繼續(xù)保持穩(wěn)定的運動狀態(tài)。