馮鵬凌,何廣平,張向慧,梁旭,蘇婷婷
(北方工業(yè)大學(xué)機(jī)械與材料工程學(xué)院,北京 100144)
21世紀(jì)以來,隨著機(jī)器人技術(shù)的發(fā)展,移動(dòng)機(jī)器人因具有更廣闊的應(yīng)用空間而受到重視。相較于傳統(tǒng)的移動(dòng)機(jī)器人,輪式腿型機(jī)器人不僅具備輪式機(jī)器人的快速響應(yīng)和運(yùn)動(dòng)平穩(wěn)等特點(diǎn),還具備腿式機(jī)器人的機(jī)動(dòng)靈活和地勢(shì)適應(yīng)等優(yōu)點(diǎn),常被用于野外勘探、星球探測(cè)等復(fù)雜地形環(huán)境。
近幾年,移動(dòng)機(jī)器人的控制研究受到了國內(nèi)外學(xué)者的關(guān)注。文獻(xiàn)[4]所研制的獨(dú)輪機(jī)器人采用控制2個(gè)陀螺力矩來驅(qū)動(dòng)橫滾運(yùn)動(dòng),從而獲得橫向穩(wěn)定性,并針對(duì)魯棒鎮(zhèn)定問題,提出了一種增益調(diào)整算法。文獻(xiàn)[5]提出了一種非完整約束移動(dòng)機(jī)器人的自適應(yīng)位置控制算法,通過仿真驗(yàn)證了該控制算法的有效性。文獻(xiàn)[6]通過設(shè)計(jì)控制李亞普諾夫函數(shù),構(gòu)造了魯棒反饋控制器,并結(jié)合輸入狀態(tài)穩(wěn)定性分析了非線性系統(tǒng)的魯棒性。文獻(xiàn)[7]提出了一種模糊軌跡跟蹤控制器,用于移動(dòng)機(jī)器人室內(nèi)環(huán)境導(dǎo)航。文獻(xiàn)[8]基于多輸入多輸出狀態(tài)觀測(cè)器以及機(jī)械動(dòng)態(tài)不確定性和擾動(dòng)的不確定性,設(shè)計(jì)了一種新的積分滑模控制器,并對(duì)機(jī)器人進(jìn)行了實(shí)驗(yàn)研究,驗(yàn)證了該算法的性能。文獻(xiàn)[9]將反步控制和滑??刂葡嘟Y(jié)合,提出了一種新的控制器,并進(jìn)行了仿真研究,證明了該控制器的魯棒性。文獻(xiàn)[10]提出了一種自適應(yīng)模糊神經(jīng)滑模控制算法,克服了移動(dòng)機(jī)器人所受參數(shù)和非參數(shù)的不確定性問題,實(shí)現(xiàn)了機(jī)器人對(duì)期望軌跡的穩(wěn)定跟蹤。文獻(xiàn)[11]將動(dòng)力學(xué)模型在平衡點(diǎn)處線性化處理,采用了魯棒最優(yōu)和滑模控制算法,仿真結(jié)果展現(xiàn)了較好的跟蹤和穩(wěn)定效果,但所設(shè)計(jì)的控制器只具備局部穩(wěn)定性。
目前,國內(nèi)外關(guān)于輪式腿型移動(dòng)機(jī)器人精準(zhǔn)軌跡跟蹤控制的研究很少,以往傳統(tǒng)方法通常用線性近似系統(tǒng)代替真實(shí)系統(tǒng)的非線性系統(tǒng)模型,使得控制器只具有局部穩(wěn)定性。因此,本文作者研究六腿輪式移動(dòng)機(jī)器人的全局穩(wěn)定非線性控制策略。
在六腿滾動(dòng)式奔跑機(jī)器人的俯仰和橫滾2個(gè)方向,分別建立動(dòng)力學(xué)模型。針對(duì)被控對(duì)象的非線性模型,在俯仰方向設(shè)計(jì)滑模魯棒控制器,增強(qiáng)俯仰方向系統(tǒng)的魯棒性,提高系統(tǒng)的軌跡跟蹤精度;在橫滾方向設(shè)計(jì)反步滑??刂破?,提高橫滾方向的抗干擾能力,加快系統(tǒng)的響應(yīng)速度。
文中所討論的欠驅(qū)動(dòng)非完整約束六腿滾動(dòng)式奔跑機(jī)器人的虛擬樣機(jī)如圖1所示。6條腿分別位于機(jī)身兩側(cè),采用彈性腿設(shè)計(jì),每側(cè)3條腿之間的夾角呈120°均勻分布,且兩側(cè)相鄰的腿交錯(cuò)分布。俯仰驅(qū)動(dòng)電機(jī)用來驅(qū)動(dòng)同軸的兩側(cè)腿交替前進(jìn),飛輪電機(jī)用來驅(qū)動(dòng)飛輪,起到調(diào)節(jié)機(jī)器人橫滾方向平衡的作用。
圖1 六腿滾動(dòng)式奔跑機(jī)器人虛擬樣機(jī)
與傳統(tǒng)的移動(dòng)機(jī)器人相比,由于該機(jī)器人的運(yùn)動(dòng)方式為兩側(cè)腿交替支撐前進(jìn),它與地面只有一個(gè)接觸點(diǎn),可以將該機(jī)器人的運(yùn)動(dòng)看作雙腿奔跑機(jī)器人的運(yùn)動(dòng)。因此,采用彈簧負(fù)載倒立擺的模型來研究機(jī)器人的運(yùn)動(dòng)系統(tǒng),并采用拉格朗日函數(shù)建立機(jī)器人的動(dòng)力學(xué)模型。為使問題簡(jiǎn)單,忽略六腿滾動(dòng)式奔跑機(jī)器人俯仰和橫滾方向上的耦合,對(duì)整個(gè)系統(tǒng)分開建模。
俯仰方向采用基于彈簧負(fù)載倒立擺模型的設(shè)計(jì)方法,由于機(jī)器人奔跑過程中為單條腿著地,故只考慮一條腿的支撐相模型進(jìn)行分析。如圖2所示:假設(shè)六腿滾動(dòng)式機(jī)器人的每條彈性腿的質(zhì)量都集中于一側(cè)的髖關(guān)節(jié),彈性腿的質(zhì)心為點(diǎn),每個(gè)彈性腿的質(zhì)量為,機(jī)身的質(zhì)心為點(diǎn)、質(zhì)量為,飛輪的質(zhì)心為點(diǎn)、質(zhì)量為。彈性腿的長度為,其初始長度為,長度變量為,與豎直方向的夾角為,為著地腳。與豎直方向的夾角為,為機(jī)身俯仰角,和之間的夾角為,和與豎直方向的夾角分別為和。彈性腿質(zhì)心點(diǎn)到機(jī)身質(zhì)心點(diǎn)處的距離為,=,=;彈性腿質(zhì)心點(diǎn)到飛輪質(zhì)心點(diǎn)處的距離為,彈性腿相對(duì)于觸地點(diǎn)的轉(zhuǎn)動(dòng)慣量為,機(jī)身、飛輪相對(duì)于轉(zhuǎn)軸的轉(zhuǎn)動(dòng)慣量分別為、。為機(jī)器人俯仰電機(jī)的力矩。
圖2 機(jī)器人俯仰方向示意
在俯仰方向上彈性腿質(zhì)心、機(jī)身質(zhì)心、飛輪質(zhì)心處的線速度分別為
(1)
(2)
(3)
由圖2可得機(jī)器人俯仰方向總動(dòng)能為
=++
(4)
式中:為機(jī)器人彈性腿動(dòng)能;為機(jī)身動(dòng)能;為飛輪動(dòng)能,公式分別為
由圖2可得機(jī)器人俯仰方向總勢(shì)能為
=++
(5)
式中:為機(jī)器人彈性腿勢(shì)能;為機(jī)身勢(shì)能;為飛輪勢(shì)能,公式分別為
=cos
=cos
俯仰方向拉格朗日函數(shù)為
=-
(6)
拉格朗日方程為
(7)
式中:為系統(tǒng)的廣義坐標(biāo);為受到的廣義作用力。由于彈性腿的剛度較大,在觸地過程中腿的形變較小,所以忽略彈性腿的變化,即=。將式(6)代入式(7),得到俯仰方向系統(tǒng)的動(dòng)力學(xué)方程為
(8)
式中:
其中:
=(2++)+2
==-cos(-)-cos(-+)
=sin+sin(+)
=-(2++)sin
通過式(8)可以看出,俯仰方向上為控制輸入,、為2個(gè)被控量,故該方向上為欠驅(qū)動(dòng)系統(tǒng)。
機(jī)器人橫滾方向示意如圖3所示。
圖3 機(jī)器人橫滾方向示意
其中,轉(zhuǎn)動(dòng)軸的質(zhì)心為點(diǎn);為與豎直方向的夾角,即為機(jī)器人的橫滾角;為與豎直方向的夾角;為與豎直方向的夾角;、之間的距離為;、之間的距離為;=,=,=;彈性腿相對(duì)于觸地點(diǎn)的轉(zhuǎn)動(dòng)慣量為;機(jī)身相對(duì)于觸地點(diǎn)的轉(zhuǎn)動(dòng)慣量為;飛輪的轉(zhuǎn)動(dòng)慣量為;飛輪的轉(zhuǎn)動(dòng)角度為;飛輪驅(qū)動(dòng)電機(jī)的力矩為。、、、、、的含義與第1.1節(jié)相同。
在橫滾方向上彈性腿質(zhì)心、機(jī)身質(zhì)心、飛輪質(zhì)心處的線速度分別為
(9)
(10)
(11)
由圖3可得機(jī)器人橫滾方向總動(dòng)能為
=++
(12)
式中:為機(jī)器人彈性腿動(dòng)能;為機(jī)身動(dòng)能;為飛輪動(dòng)能,公式分別為
由圖3可得機(jī)器人橫滾方向總勢(shì)能為
=++
(13)
式中:為機(jī)器人彈性腿勢(shì)能;為機(jī)身勢(shì)能;為飛輪勢(shì)能,公式分別為
=2cos+12(-)
=(--tan)cos
=(--tan)cos
橫滾方向拉格朗日函數(shù)為
=-
(14)
由于彈性腿的剛度較大,在觸地過程中腿的形變較小,所以忽略彈性腿的變化,即=。將式(14)代入式(7)得到橫滾方向系統(tǒng)的動(dòng)力學(xué)方程為
(15)
式中:
=2++++(-)+
===
=-[2+(-)+(-)]·
sin-(+)cos
=0
通過式(15)可以看出,橫滾方向上為控制輸入,、為被控量,故該方向上為欠驅(qū)動(dòng)系統(tǒng)。
滑模變結(jié)構(gòu)控制是一種有效而流行的控制方法,特別是針對(duì)控制系統(tǒng)中的動(dòng)態(tài)不確定性和外部干擾問題?;W兘Y(jié)構(gòu)控制技術(shù)的優(yōu)點(diǎn)是非線性系統(tǒng)的狀態(tài)可以快速無誤差地收斂到循環(huán)軌跡,在機(jī)器人控制領(lǐng)域應(yīng)用非常廣泛。為增強(qiáng)閉環(huán)系統(tǒng)的魯棒性,提高控制精度,在俯仰方向采用基于HJI理論的滑模魯棒控制方法設(shè)計(jì)控制器。
由文獻(xiàn)[15]可知,系統(tǒng)動(dòng)力學(xué)方程式(8)可以寫成如下形式:
(16)
其中:為外加干擾。
理想位置指令為,跟蹤誤差=-,設(shè)計(jì)控制律為
(17)
其中:為反饋控制律。
將式(17)代入式(16),得:
(18)
滑模函數(shù)為
(19)
其中:>0,則:
(20)
為利用HJI不等式,將式(20)寫為
(21)
設(shè)計(jì)控制律為
(22)
證明:
定義Lyapunov函數(shù)為
(23)
其中:為滑模函數(shù);為動(dòng)力學(xué)方程中的質(zhì)量慣性矩陣,則:
定義
(24)
則
(25)
由于:
則≤0,即
(26)
反步(Back-Stepping)控制是一種非線性系統(tǒng)設(shè)計(jì)方法,基本思想是將復(fù)雜的非線性系統(tǒng)分解成不超過系統(tǒng)階數(shù)的子系統(tǒng),然后為每個(gè)子系統(tǒng)分別設(shè)計(jì)Lyapunov函數(shù)和中間虛擬控制量,一直“后退”到整個(gè)系統(tǒng),直到完成整個(gè)控制律的設(shè)計(jì)。傳統(tǒng)的反步控制方法無法保證系統(tǒng)的魯棒性,通過引入滑模項(xiàng),可以克服干擾,保證控制器的魯棒性。因此,在橫滾方向?qū)⒎床胶突?種控制方法相結(jié)合來設(shè)計(jì)控制器。
將如式(15)所示的系統(tǒng)改寫為如下形式:
(27)
由于橫滾方向上飛輪轉(zhuǎn)角是控制輸入,故只有橫滾角是被控量。
定義角度誤差為=-,其中為指令信號(hào),則:
定義Lyapunov函數(shù)
(28)
則:
則:
(29)
則:
(30)
其中:為大于零的正常數(shù);≥0。
則:
即:
從而得到指數(shù)收斂的形式為
()=(0)e-
(31)
設(shè)置六腿滾動(dòng)式奔跑機(jī)器人的結(jié)構(gòu)參數(shù)如表1所示。
表1 六腿滾動(dòng)式奔跑機(jī)器人結(jié)構(gòu)參數(shù)
圖4 觸地角跟蹤曲線 圖5 俯仰角跟蹤曲線
圖6 觸地角角速度跟蹤曲線 圖7 俯仰角角速度跟蹤曲線
圖8 俯仰方向控制輸入
由圖4—圖8可以得到:在給定外界干擾的情況下,機(jī)器人的觸地角、機(jī)身俯仰角及其角速度可以在5 s左右穩(wěn)定跟蹤到期望軌跡,并隨著軌跡有規(guī)律的擺動(dòng)。由圖8可以看出:控制輸入并沒有出現(xiàn)明顯的抖振現(xiàn)象,輸入比較穩(wěn)定,因此俯仰方向所設(shè)計(jì)的滑模魯棒控制器是可行的。
圖9 橫滾角跟蹤曲線 圖10 橫滾角角速度跟蹤曲線
圖11 橫滾方向控制輸入
由圖9—圖11可以看出:在給定干擾的情況下,閉環(huán)系統(tǒng)的狀態(tài)是穩(wěn)定的,橫滾角和角速度在2 s內(nèi)可以跟蹤到期望軌跡,故通過驅(qū)動(dòng)飛輪控制機(jī)器人的橫滾角是可行的。
本文作者研究了一種欠驅(qū)動(dòng)非完整約束的六腿滾動(dòng)式奔跑機(jī)器人,將系統(tǒng)解耦為俯仰和橫滾2個(gè)方向,采用拉格朗日法在2個(gè)方向上分別建立動(dòng)力學(xué)模型。針對(duì)機(jī)器人的非線性系統(tǒng),在俯仰方向設(shè)計(jì)了基于HJI理論的滑模魯棒控制器,該算法將系統(tǒng)外界干擾考慮在內(nèi),為滿足HJI不等式魯棒控制條件,設(shè)計(jì)了合適的滑??刂坡桑WC了系統(tǒng)的穩(wěn)定性;在橫滾方向設(shè)計(jì)了反步滑??刂破鳎诜床娇刂品椒ǖ幕A(chǔ)上引入滑模項(xiàng),從而保證了控制器的魯棒性。使用MATLAB進(jìn)行仿真,在給定干擾的情況下驗(yàn)證了2種控制算法在機(jī)器人俯仰和橫滾方向上的魯棒性。