董方方, 金 棟, 趙曉敏, 韓 江
(1.合肥工業(yè)大學(xué) 機械工程學(xué)院,安徽 合肥 230009; 2.合肥工業(yè)大學(xué) 汽車與交通工程學(xué)院,安徽 合肥 230009)
移動機器人是指通過復(fù)雜的傳感器接收外部環(huán)境信息并對自身的狀態(tài)進行感知,以實現(xiàn)在未知復(fù)雜的環(huán)境中面向所期望目標(biāo)的自主運動,完成預(yù)定任務(wù)的機器人系統(tǒng)。這類機器人具有機動性強、靈活性高等特點,可以適用于勞動強度大、體力要求高、環(huán)境惡劣、對人類身體有危害或者是人類無法進入的場所中,代替人類的工作。
目前對移動機器人進行軌跡跟蹤控制的主要方法包括魯棒控制、自適應(yīng)控制、滑模控制或?qū)⒍喾N控制相結(jié)合。文獻[1]針對三輪移動機器人提出一種結(jié)合分層滑??刂婆c反演控制的控制思路,并以仿真實驗驗證了其有效性;文獻[2]對差速轉(zhuǎn)向移動機器人進行動力學(xué)分析,提出一種較為新穎的模糊控制方法,并用聯(lián)合仿真平臺驗證該方法的有效性;文獻[3]提出一種基于比例積分控制與比例微分控制組合的模糊控制方法,并應(yīng)用于移動機器人的軌跡跟蹤;文獻[4]提出一種具有全局漸近穩(wěn)定的自適應(yīng)滑模軌跡跟蹤控制方法,用于實現(xiàn)輪式移動機器人軌跡跟蹤控制。近年來,對于移動機器人的軌跡跟蹤控制也有一些新的研究方法,文獻[5]運用非線性模型預(yù)測控制方法(model predictive control,MPC)對一組兩輪平衡小車進行調(diào)節(jié)控制以及軌跡規(guī)劃,并用實物實驗驗證了MPC算法的可行性;文獻[6]提出一種粒子群算法規(guī)劃移動機器人的全局最優(yōu)位置;文獻[7]提出一種基于視覺系統(tǒng)與遺傳算法的自適應(yīng)模糊控制方法,規(guī)劃兩輪移動機器人的最優(yōu)路徑;文獻[8]提出一種基于螢火蟲算法與比例微分控制的輪式移動機器人最優(yōu)軌跡控制方法。
Udwadia-kalaba(U-K)方法[9-10]于20世紀(jì)90年代提出,是分析力學(xué)領(lǐng)域的一個重大突破,它最大的優(yōu)勢在于不引入拉格朗日乘子的情況下,將受到約束的機械系統(tǒng)的約束關(guān)系融入到系統(tǒng)的動力學(xué)方程中,無論機械系統(tǒng)受到的是理想約束還是非理想約束,都可以通過U-K方程解出約束力的解析表達(dá)式。利用U-K方法對機械系統(tǒng)進行軌跡跟蹤控制與傳統(tǒng)方法的本質(zhì)區(qū)別是傳統(tǒng)方法的控制思路多為降低跟蹤誤差,即對實際軌跡與理想軌跡的偏差量進行控制使其降低,而U-K方法則提供了一種全新的思路,將期望的運動軌跡抽象化為一種虛擬約束,并作為控制力輸入以驅(qū)動機械系統(tǒng)沿著期望軌跡運動。得益于Udwadia與Kalaba的理論研究,很多學(xué)者將U-K方法用于多體系統(tǒng)的動力學(xué)分析與控制。文獻[11]利用U-K方法對四輪移動機器人進行動力學(xué)建模以及跟蹤控制,數(shù)值仿真結(jié)果驗證了模型以及軌跡跟蹤的正確性;文獻[12]基于U-K方程的層級建模方法對三輪移動機器人進行建模,仿真結(jié)果驗證了軌跡規(guī)劃的有效性;文獻[13]基于U-K基本方程對并聯(lián)機械手進行動力學(xué)建模與軌跡跟蹤控制,并且求得各個驅(qū)動電機的輸出力矩。
本文將U-K方法應(yīng)用到一種三輪全向移動機器人上。首先建立移動機器人的動力學(xué)模型;然后將期望軌跡轉(zhuǎn)化為Pfaffian標(biāo)準(zhǔn)形式施加給機械系統(tǒng),再通過U-K基本方程得到控制輸入的解析解;最后進行數(shù)值仿真實驗,以跟蹤直線與圓形軌跡為例,驗證該方法的有效性。
三輪全向移動機器人的結(jié)構(gòu)簡圖如圖1所示。3個全向輪的軸線每2條成120°角,而全向輪的中心分布在同一圓上,且輪子軸心指向機器人中心。3個全向輪各由一個直流電機驅(qū)動,使機器人既可以沿輪面的切線方向移動,也可以沿輪的軸線方向移動,通過對這2種基本運動方式的組合,可以實現(xiàn)機器人在平面內(nèi)任意方向的運動。
圖1 三輪全向移動機器人簡圖
選取q=[xyθ]T為機器人質(zhì)心的廣義坐標(biāo)。機器人的各個參數(shù)的符號以及定義見表1所列。設(shè)逆時針旋轉(zhuǎn)為正,機器人本體坐標(biāo)系為X0Y0Z0,地坐標(biāo)系為XOY。在各輪與地面之間為純滾動的情況下,根據(jù)力矩平衡原理,移動機器人加速度力矩為3個輪子力矩的和,即
(1)
表1 機器人各個參數(shù)符號及其定義
其中
(2)
將(2)式帶入(1)式,可得:
(3)
不同于傳統(tǒng)的輪式移動機器人,三輪全向移動機器人的速度方向并不一定垂直于驅(qū)動輪的軸線,它的方向是任意的,系統(tǒng)內(nèi)不存在非完整約束。若要描述機器人速度,則要引入新的參數(shù)。因此需要找到機器人運動時加速度的約束關(guān)系,根據(jù)機器人的結(jié)構(gòu)特性,可以得到其運動時X、Y軸加速度分量與廣義坐標(biāo)之間的關(guān)系,具體表示如下:
(4)
將(3)式與(4)式寫成矩陣形式,即
(5)
U-K方程基本形式的推導(dǎo)過程可以分成以下3個步驟。
(1) 考慮一個無約束的機械系統(tǒng),假設(shè)該系統(tǒng)的廣義坐標(biāo)為q=[q1q2q3…qn]T,則在牛頓力學(xué)或者拉格朗日力學(xué)中,該系統(tǒng)的運動學(xué)方程可以表達(dá)為:
(6)
(2) 引入系統(tǒng)中應(yīng)該被考慮的約束因素,假設(shè)系統(tǒng)受到h個完整約束,其形式為:
φi(q,t)=0,i=1,2,…,h
(7)
受到k-h個非完整約束的形式為:
(8)
二階約束是進一步進行動力學(xué)分析和控制設(shè)計的最合適形式。使用二階約束的優(yōu)點在于它的加速度是線性的,而且滿足零階或一階初始條件的信息仍然被保留在二階約束方程的初始條件中。在假設(shè)約束方程充分光滑的前提下,對完整約束方程求導(dǎo)2次,對非完整約束方程求導(dǎo)1次可以得到約束方程的二階形式,即
(9)
(3) 給系統(tǒng)引入一系列的外部約束,此時的機械系統(tǒng)變?yōu)椤笆芗s束系統(tǒng)”。因此,約束系統(tǒng)的實際顯式運動方程可以表述為:
(10)
Qc=M1/2B+(b-AM-1Q)
(11)
其中,B=AM-1/2,B+表示B的Moore-Penrose(M-P)廣義逆矩陣。M-P廣義逆矩陣在描述約束運動的過程中起著重要作用,假設(shè)矩陣A的M-P逆矩陣為A+,那么A+滿足以下條件:
AA+A=A,
A+AA+=A+,
AA+=(AA+)T,
A+A=(A+A)T
(12)
由(10)式和(11)式,受到約束的機械系統(tǒng)的顯式運動方程可以表達(dá)為:
(13)
至此得到U-K方程的基本形式,可見其不依賴于額外的輔助變量求解。
在得到無額外約束下的系統(tǒng)動力學(xué)方程后,為了使移動機器人沿著期望的軌跡運動,需要施加額外的約束力。從U-K方法的觀點出發(fā),將所需要跟蹤的位置或速度軌跡抽象成虛擬的約束,然后將該約束轉(zhuǎn)化為Pfaffian標(biāo)準(zhǔn)形式,再利用U-K方程獲得系統(tǒng)滿足該軌跡約束所需要的驅(qū)動力矩,從而實現(xiàn)機器人的軌跡跟蹤控制。
假設(shè)現(xiàn)在期望機器人質(zhì)心的X軸坐標(biāo)和Y軸坐標(biāo)分別為時間t的函數(shù)fX(t)和fY(t),即
(14)
將(14)式對時間t求二次導(dǎo),將其寫成二階約束的形式,即
(15)
(16)
其中
至此,求出移動機器人要滿足期望軌跡曲線時所需的驅(qū)動力矩。
本節(jié)將用數(shù)值仿真分析來驗證第1節(jié)與第3節(jié)中動力學(xué)模型與軌跡跟蹤控制方法的正確性。在以下2個示例中,將求解3個全向輪的控制力矩,使機器人沿著期望軌跡運動,采用Matlab的ode15i算法求解U-K方程。
假設(shè)機器人運動滿足以下具體的軌跡方程:
(17)
易知這個關(guān)于時間t的參數(shù)方程合成的復(fù)合運動軌跡為垂直于Y軸的往復(fù)直線運動,將(17)式對時間t求二次導(dǎo)可得:
(18)
并給定初始條件為:
同理,若期望移動機器人運動軌跡為圓形,則機器人運動滿足以下軌跡方程:
(19)
將(19)式對時間t求二次導(dǎo)可得:
(20)
給定初始條件為:
數(shù)值仿真中需要用到的機器人參數(shù)見表2所列。
表2 移動機器人參數(shù)
4.1節(jié)中所述的往復(fù)直線機器人運動軌跡以及機器人中心點在X、Y軸的理想軌跡與實際軌跡如圖2所示。質(zhì)心點在兩軸的軌跡分別為fX(t)=0.5cost、fY(t)=3。
圖2 直線運動軌跡及各軸運動軌跡
根據(jù)(11)式可以求出滿足理想軌跡所需的驅(qū)動力矩,移動機器人運動軌跡為直線時各個全向驅(qū)動輪的輸出力矩如圖3所示。
圖3 直線軌跡下各輪輸出力矩
機器人運動軌跡為直線時X、Y軸的軌跡跟蹤誤差為x-fX(t)、y-fY(t),如圖4所示。
圖4 直線軌跡下各軸跟蹤誤差
從圖4可以看出,應(yīng)用U-K方法規(guī)劃移動機器人軌跡時誤差較小。這充分說明了U-K方法的準(zhǔn)確性。
4.1節(jié)所述的圓弧運動軌跡如圖5所示,機器人質(zhì)心點在兩坐標(biāo)軸上的運動軌跡分別為:
fX(t)=0.5sint2,
fY(t)=0.5cost2。
圖5 圓形運動軌跡
X、Y兩軸的理想運動軌跡和實際運動軌跡如圖6所示。從圖6可以看出,2種軌跡基本重合。
圖6 圓形運動軌跡下各軸軌跡
同理可以求出機器人運動軌跡為圓形時各個全向輪的輸出力矩,如圖7所示。
圖7 圓形軌跡下各輪輸出力矩
圓形軌跡時各軸的軌跡跟蹤誤差如圖8所示。從圖8可以看出,各軸的跟蹤誤差達(dá)到了10-4量級,誤差較小。
圖8 圓形軌跡下各軸跟蹤誤差
從以上仿真結(jié)果來看,無論是跟蹤直線軌跡還是圓形軌跡,運用U-K方法對移動機器人的軌跡進行規(guī)劃后,所得的運動軌跡都能很好地滿足期望運動軌跡,同時也表明了本文建模的正確性以及U-K方法的準(zhǔn)確性與可靠性。
本文針對三輪全向移動平臺提出了一種基于U-K方法的軌跡跟蹤控制思路。首先將系統(tǒng)視為無約束系統(tǒng),再將運動軌跡抽象化為虛擬約束施加在機械系統(tǒng)上,由U-K方程求出滿足軌跡約束時所需要的驅(qū)動力矩。本文以數(shù)值仿真的形式驗證了U-K方法的正確性與可靠性。此外,本文所提出的軌跡跟蹤控制方法具有可遷移性,在理想情況下,無論是全向移動機器人還是欠驅(qū)動移動機器人,或是更為復(fù)雜的機械系統(tǒng),該方法都能進行高精度軌跡跟蹤控制。但實際應(yīng)用中系統(tǒng)的不確定性以及不可避免的外界干擾都會導(dǎo)致控制精度的降低,且隨著系統(tǒng)自由度的增加,系統(tǒng)動力學(xué)解析表達(dá)式計算出來的矩陣會十分復(fù)雜,計算時間變長,因此滿足系統(tǒng)實時控制還存在一定問題,有待進一步研究。