錢冠杰,譚躍剛
(武漢理工大學(xué) 機(jī)電工程學(xué)院,湖北 武漢 430070)
在約束方程中,含有系統(tǒng)位置坐標(biāo)對時間的微分且不能直接積分為有限形式,這類約束稱為非完整約束,含有非完整約束的系統(tǒng)稱為非完整系統(tǒng)[1]。非完整約束會限制速度、加速度等位置坐標(biāo)的微分量,但不會限制系統(tǒng)的位置坐標(biāo)。因此,非完整系統(tǒng)的控制輸入數(shù)目可以少于廣義位置坐標(biāo)數(shù)目,系統(tǒng)具有欠驅(qū)動特性。驅(qū)動器的減少可以降低成本,對于開發(fā)結(jié)構(gòu)緊湊,質(zhì)量輕的機(jī)構(gòu)具有重要意義[2]。
非完整系統(tǒng)本質(zhì)上是非線性的,不存在連續(xù)時不變狀態(tài)反饋可對其進(jìn)行鎮(zhèn)定,直接對其進(jìn)行運動規(guī)劃很困難[3]。Murray等[4]通過坐標(biāo)變換將輪式移動機(jī)器人轉(zhuǎn)換成一類結(jié)構(gòu)簡單的非完整系統(tǒng)——鏈?zhǔn)较到y(tǒng)。Nakamura等[5]利用摩擦球運動分解合成機(jī)構(gòu),設(shè)計了一種非完整多關(guān)節(jié)機(jī)械臂,并通過將機(jī)械臂系統(tǒng)轉(zhuǎn)換為鏈?zhǔn)较到y(tǒng)來對其進(jìn)行運動規(guī)劃。Tilbury等[6]將多項式、三角函數(shù)等作為控制輸入,可以對鏈?zhǔn)较到y(tǒng)進(jìn)行有效的運動規(guī)劃。
筆者以一種非完整四關(guān)節(jié)機(jī)械臂為研究對象,采用鏈?zhǔn)阶儞Q方法進(jìn)行運動規(guī)劃。由于非完整機(jī)械臂的運動學(xué)模型與鏈?zhǔn)侥P筒⒉皇峭耆⒎滞叩?,?dǎo)致在鏈?zhǔn)侥P椭幸?guī)劃的路徑不能完全映射到關(guān)節(jié)空間而出現(xiàn)奇異位形[7]。利用四關(guān)節(jié)機(jī)械臂的冗余性,通過合適的逆運動學(xué)來求解優(yōu)化運動軌跡,可以實現(xiàn)機(jī)械臂有效的運動控制。
非完整機(jī)械臂以一種摩擦輪盤機(jī)構(gòu)[8]作為關(guān)節(jié)運動傳遞單元,其機(jī)構(gòu)圖如圖1所示。
圖1 摩擦輪盤機(jī)構(gòu)
(1)
式中:α為變量,會隨著機(jī)械臂關(guān)節(jié)角度的改變而變化,從而改變摩擦輪盤機(jī)構(gòu)的傳動比。摩擦輪盤機(jī)構(gòu)的約束是一種速度約束,因此非完整機(jī)械臂是一種一階非完整系統(tǒng)。
在非完整機(jī)械臂中布置了三組摩擦輪盤機(jī)構(gòu),機(jī)械臂的機(jī)構(gòu)如圖2所示。其中,電機(jī)2直接驅(qū)動關(guān)節(jié)1轉(zhuǎn)動??缮炜s雙萬向節(jié)及兩端的傳動軸連接組成一條運動傳遞鏈,運動傳遞鏈上的各傳動軸等速轉(zhuǎn)動。電機(jī)1驅(qū)動運動傳遞鏈,通過齒輪、摩擦輪盤機(jī)構(gòu)、同步帶輪機(jī)構(gòu)帶動關(guān)節(jié)2、3和4轉(zhuǎn)動。
圖2 非完整機(jī)械臂機(jī)構(gòu)圖
機(jī)械臂的位形空間由5個狀態(tài)變量確定,即4個關(guān)節(jié)的角位移θi以及與電機(jī)1連接的運動傳遞鏈的角位移φ。因此,可定義機(jī)械臂系統(tǒng)廣義坐標(biāo)矢量為q=[φ,θ1,θ2,θ3,θ4]T。根據(jù)機(jī)械臂運動關(guān)系,可推導(dǎo)出其運動學(xué)模型如下:
(2)
式中:k為r/R;μ1和μ2為電機(jī)1和電機(jī)2的轉(zhuǎn)速。
機(jī)械臂的各個關(guān)節(jié)之間存在運動耦合關(guān)系,直接進(jìn)行運動規(guī)劃十分復(fù)雜。一種有效的方法是將機(jī)械臂系統(tǒng)轉(zhuǎn)換為鏈?zhǔn)较到y(tǒng),運用鏈?zhǔn)较到y(tǒng)的運動規(guī)劃方法對機(jī)械臂進(jìn)行運動規(guī)劃。Sordalen在研究多掛車系統(tǒng)的鏈?zhǔn)阶儞Q時,提出了將符合三角形構(gòu)造的非完整系統(tǒng)轉(zhuǎn)換為鏈?zhǔn)较到y(tǒng)的方法[9]。具有三角形構(gòu)造的系統(tǒng)如下:
(3)
根據(jù)上述方法,非完整機(jī)械臂系統(tǒng)可以轉(zhuǎn)換為如下鏈?zhǔn)较到y(tǒng):
上述系統(tǒng)是一種兩輸入四輸出的單鏈系統(tǒng),其通式為:
(5)
式中:v1,v2為系統(tǒng)的兩個狀態(tài)輸入量。
運動規(guī)劃即求解有界的輸入,使機(jī)械臂在規(guī)定時間內(nèi)由初始位形運動到目標(biāo)位形。首先將機(jī)械臂關(guān)節(jié)的初始位形qi和目標(biāo)位形qg映射到鏈?zhǔn)娇臻g中的初始位形zi和目標(biāo)位形zg,然后以zi和zg作為邊界條件在鏈?zhǔn)娇臻g中規(guī)劃出一條運動路徑,再將路徑進(jìn)行鏈?zhǔn)侥孀儞Q到關(guān)節(jié)空間,即得到了機(jī)械臂的運動路徑。邊界約束方程如下:
(6)
式中:zi(T)(i=2,3,4,5)為在控制輸入作用下鏈?zhǔn)娇臻g中各個狀態(tài)變量在終止時刻T時對應(yīng)的值,是控制輸入的函數(shù)。
采用時間多項式輸入法對鏈?zhǔn)较到y(tǒng)進(jìn)行運動規(guī)劃,則系統(tǒng)的控制輸入為:
(7)
若知道機(jī)械臂的運動時間T以及邊界條件qi和qg,則利用邊界約束方程可以求解出控制輸入中的待定系數(shù)ai(i=1,2,3,4)。將控制輸入v1和v2帶入單鏈系統(tǒng)式(5),即可以得到鏈?zhǔn)娇臻g中各個狀態(tài)變量zi(i=1,2,…,5)的運動軌跡,然后通過鏈?zhǔn)侥孀儞Q得到機(jī)械臂4個關(guān)節(jié)θi(i=1,2,3,4)的運動軌跡。
非完整多關(guān)節(jié)機(jī)械臂是一種四關(guān)節(jié)的平面機(jī)械臂,而確定平面中機(jī)械臂末端執(zhí)行器的位置只需要兩個關(guān)節(jié)即可。因此機(jī)械臂有兩個冗余關(guān)節(jié),這使得機(jī)械臂具有更高的靈活性。
由于機(jī)械臂具有冗余性,對于機(jī)械臂末端執(zhí)行器的一個位置P,有無數(shù)種逆運動學(xué)解。在機(jī)械臂的運動規(guī)劃中以機(jī)械臂的初始位形qi和目標(biāo)位形qg作為邊界條件進(jìn)行運動規(guī)劃。因此,對于機(jī)械臂末端執(zhí)行器的一個目標(biāo)位置,有無數(shù)個目標(biāo)位形qg,每一個目標(biāo)位形都對應(yīng)機(jī)械臂的一種運動路徑。對于一個確定的末端執(zhí)行器目標(biāo)位置P,取其中3組逆運動學(xué)解進(jìn)行運動規(guī)劃。其中關(guān)節(jié) 1的初始角度為5°,任取3組逆運動學(xué)解中關(guān)節(jié)1對應(yīng)的目標(biāo)角度分別為30.25°、30°、33°。運動規(guī)劃得到的關(guān)節(jié)1運動路徑如圖3所示。
圖3 關(guān)節(jié)1運動軌跡圖
在無數(shù)種逆運動學(xué)解對應(yīng)的運動軌跡中,有很多軌跡是不可取的。由機(jī)械臂的鏈?zhǔn)阶儞Q表達(dá)式(4)可以看出,在鏈?zhǔn)阶兞縵向關(guān)節(jié)變量θ進(jìn)行鏈?zhǔn)侥孀儞Q的過程中需要進(jìn)行開方和反三角函數(shù)運算,如果鏈?zhǔn)綘顟B(tài)變量z的值超過一定范圍,在鏈?zhǔn)侥孀儞Q求取關(guān)節(jié)變量θ時就會出現(xiàn)無解的情況,這種性質(zhì)稱為鏈?zhǔn)侥孀儞Q的奇異性。顯然,逆運動學(xué)解中這種奇異位形是不可取的,圖3關(guān)節(jié)1的運動軌跡1就是一種奇異位形。從運動軌跡3可以看出,在運動過程中關(guān)節(jié)1出現(xiàn)了兩次反向轉(zhuǎn)動的情況。由于機(jī)械臂中有齒輪和同步帶傳動機(jī)構(gòu),關(guān)節(jié)頻繁地反向轉(zhuǎn)動會引入誤差,因此運動軌跡3也是不可取的。而軌跡2中,關(guān)節(jié)1從5°運動至30°的過程中沒有出現(xiàn)反轉(zhuǎn)的情況,運動軌跡2是可取的。
機(jī)械臂的逆運動學(xué)解有無數(shù)種,而且其中有很多解并不可取,因此需要對逆運動學(xué)解進(jìn)行優(yōu)化,求取最優(yōu)解。冗余解的優(yōu)化求取方法通常是基于給定的評價函數(shù),即通過求取評價函數(shù)的最值來確定逆運動學(xué)的最優(yōu)解[10]。
在給定機(jī)械臂初始位形qi時,對機(jī)械臂的一組逆運動學(xué)解目標(biāo)位形qg進(jìn)行運動規(guī)劃,可以得到機(jī)械臂各個關(guān)節(jié)的運動軌Pi(i=1,2,3,4)。過各個關(guān)節(jié)初始位形qi和目標(biāo)位形qg可以得到一條直線Qi(i=1,2,3,4),以曲線Pi和Qi所圍的面積構(gòu)建線性評價函數(shù),如圖4所示。
(8)
圖4 線性評價函數(shù)圖
機(jī)械臂逆運動學(xué)解優(yōu)化是一個二維優(yōu)化問題。確定平面機(jī)械臂末端執(zhí)行器需要兩個關(guān)節(jié)變量,以另外兩個關(guān)節(jié)角作為變量,采用遍歷的方法,通過比較線性評價函數(shù)f的大小對各組逆運動學(xué)解進(jìn)行取舍,f最小時對應(yīng)的解即為最優(yōu)逆運動學(xué)解。對最優(yōu)逆運動學(xué)解進(jìn)行運動規(guī)劃時,機(jī)械臂不會出現(xiàn)反向轉(zhuǎn)動和奇異位形。
假定機(jī)械臂的初始位形為qi=[10° 10° 10° 10°]T,機(jī)械臂末端執(zhí)行器的目標(biāo)位置為P=[80,575]T,機(jī)械臂的臂長l=180。通過評價函數(shù)式(8)求得P點對應(yīng)的最優(yōu)逆運動學(xué)解為qg=[32.7064° 32.9134° 32.9° 32.9°]T。以qi和qg作為邊界條件建立約束方程,采用牛頓迭代法求解約束方程可以得到鏈?zhǔn)较到y(tǒng)控制輸入中的未知參數(shù)。解得a1=0.074 129 177、a2=0.007 095 292、a3=0.001 591 411、a4=-0.000 103 037。進(jìn)而可以得到各個狀態(tài)變量z的軌跡如圖5所示。
圖5 z的運動軌跡
狀態(tài)變量z經(jīng)過鏈?zhǔn)侥孀儞Q可以得到機(jī)械臂4個關(guān)節(jié)的運動軌跡如圖6所示。
圖6 各個關(guān)節(jié)的運動軌跡
在四關(guān)節(jié)機(jī)械臂運動控制實驗平臺上進(jìn)行實驗研究。以UMAC運動控制器控制兩個伺服電機(jī)驅(qū)動機(jī)械臂運動,通過安裝在各個關(guān)節(jié)處的角位移傳感器來測量關(guān)節(jié)的實際角位移。運動控制試驗平臺如圖7所示,機(jī)械臂各個關(guān)節(jié)的實際運動軌跡如圖8所示。
圖7 運動控制實驗平臺
圖8 各個關(guān)節(jié)的實際運動軌跡
機(jī)械臂的理論目標(biāo)位形是qg=[32.706 4° 32.913 4° 32.9° 32.9°]T,在試驗中機(jī)械臂各個關(guān)節(jié)運動至qg′=[32.7° 30.9° 31.8° 29.8°]T。由于關(guān)節(jié)1直接由電機(jī)1驅(qū)動,其轉(zhuǎn)角由電機(jī)編碼器讀出,因此關(guān)節(jié)1運動曲線比較光滑。關(guān)節(jié)2、關(guān)節(jié)3和關(guān)節(jié)4的實際角度和理論值相比都有一定的誤差,其中關(guān)節(jié)4的誤差最大,這是由于前面關(guān)節(jié)誤差累計影響造成的。但是總體來看,機(jī)械臂各個關(guān)節(jié)的運動趨勢與理論曲線基本相同,這表明筆者提出的運動規(guī)劃方法可以對機(jī)械臂進(jìn)行有效的運動控制。
筆者提出了一種非完整四關(guān)節(jié)機(jī)械臂的運動控制方法。通過將機(jī)械臂運動學(xué)模型轉(zhuǎn)換為鏈?zhǔn)侥P停缓笤阪準(zhǔn)侥P椭羞M(jìn)行運動規(guī)劃,將規(guī)劃好的路徑通過鏈?zhǔn)侥孀儞Q就可以得到機(jī)械臂各個關(guān)節(jié)的運動軌跡。對機(jī)械臂進(jìn)行了冗余性分析,根據(jù)線性評價函數(shù)對逆運動學(xué)解進(jìn)行優(yōu)化,從而得到最優(yōu)逆運動學(xué)解。仿真和實驗結(jié)果表明了所提出的運動規(guī)劃方法的可行性。