魏 武 孫洪超
華南理工大學(xué),廣州,510640
由于斜拉橋的纜索長期暴露在外,所以需定期對其進(jìn)行檢測,以保證其安全性。而長期以來纜索的監(jiān)測工作都由人工完成,檢測的準(zhǔn)確性和檢測人員的安全性不高?,F(xiàn)有的國內(nèi)外纜索檢測機(jī)器人多采用輪式[1-2]或氣動方式[3],但這兩種機(jī)器人安裝操作不方便,而且對于不同直徑的纜索需要不斷增加或減少模塊。本文將蛇形機(jī)器人用于纜索檢測中,蛇形機(jī)器人不僅可以在纜索上靈活運動,而且對于不同直徑和表面狀況的纜索可以通過步態(tài)的調(diào)整來調(diào)節(jié)適應(yīng)。
橋梁檢測蛇形機(jī)器人的運動主要是以螺旋攀爬為主。在設(shè)計蛇形機(jī)器人時,應(yīng)注意使機(jī)體的機(jī)械結(jié)構(gòu)、步態(tài)以及控制系統(tǒng)有利于螺旋攀爬運動的進(jìn)行。螺旋攀爬運動是一種三維運動,本文選擇正交關(guān)節(jié)作為關(guān)節(jié)鏈接方式,為了增大蛇體表面的摩擦力以及蛇體與纜索的接觸面積,需要對蛇體關(guān)節(jié)模塊的表面進(jìn)行處理。
蛇形機(jī)器人具有較多的關(guān)節(jié),這為蛇體運動的靈活性提供了方便,但另一方面必須協(xié)調(diào)好每個關(guān)節(jié)來實現(xiàn)蛇體的控制,這樣就大大增加了控制的難度。解決這一問題的直接方式就是尋找一種參數(shù)化的步態(tài)。目前,步態(tài)設(shè)計方法主要有兩種:一種是將蛇體的步態(tài)看作是骨干曲線的定向移動[4];另一種方法則將步態(tài)設(shè)計成具體關(guān)節(jié)角轉(zhuǎn)角的控制函數(shù)[5]。前者我們稱之為骨干曲線法,后者稱作控制函數(shù)法。骨干曲線法最早是由Hirose[6]提出并將其應(yīng)用于蛇體的蜿蜒運動中的,Burdick等[4]將骨干曲線法應(yīng)用于復(fù)雜的三維側(cè)移運動中,Goldman等[7]用骨干曲線法實現(xiàn)了萬向節(jié)關(guān)節(jié)蛇形機(jī)器人的螺旋攀爬運動??刂坪瘮?shù)法的應(yīng)用比較多,最早也是由Hirose使用[6]。近年來,李斌等[8-9]分別給出了實現(xiàn)蛇形機(jī)器人蜿蜒運動、伸縮運動和側(cè)向運動的控制函數(shù);Tesch等[10]提出了一系列控制函數(shù)實現(xiàn)了正交關(guān)節(jié)蛇形機(jī)器人的側(cè)移、螺旋攀爬等三維運動;另外,Ijspeert[11]利用 CPG(central pattern genera-tor)方法也得到了控制函數(shù)。上述兩種方法在實現(xiàn)過程中各自存在缺陷:骨干曲線法基本都是應(yīng)用在萬向節(jié)關(guān)節(jié)的蛇形機(jī)器人上,在實施過程中要將蛇體的骨干曲線以及其位移轉(zhuǎn)換成低級別驅(qū)動器的輸入,這一過程比較繁瑣,求解存在各關(guān)節(jié)耦合的問題;控制函數(shù)法直接給出了驅(qū)動器的輸入值,無法直觀地得到蛇體整體的運動趨勢,缺乏宏觀性[12]。為了克服上述兩種方法存在的缺陷,本文采用一種新的步態(tài)生成方法:迭代骨干曲線擬合以及關(guān)鍵幀提取綜合的步態(tài)生成方法。該方法將骨干曲線方法和控制函數(shù)法結(jié)合在一起,在發(fā)揮兩種方法優(yōu)點的同時,能夠有效地抑制兩種方法的缺陷。
蛇體的攀爬運動是一種三維運動,具有三維運動能力的蛇形機(jī)器人的關(guān)節(jié)鏈接方式主要有三種:萬向節(jié)、P-R關(guān)節(jié)[13]、正交關(guān)節(jié)。萬向節(jié)結(jié)構(gòu)的關(guān)節(jié)工作空間為完整的三維空間,關(guān)節(jié)運動靈活,但其結(jié)構(gòu)復(fù)雜。P-R關(guān)節(jié)過長,蛇體與纜索的接觸面積較小,增大了攀爬運動的難度。正交關(guān)節(jié)與普遍采用的萬向節(jié)結(jié)構(gòu)相比,完成完整的三維運動所需要的關(guān)節(jié)更少,控制更簡單,且具有較好的魯棒性。本文中的蛇形機(jī)器人采用正交關(guān)節(jié)鏈接。
正交關(guān)節(jié)鏈接方式如圖1所示,第n個關(guān)節(jié)包含關(guān)節(jié)點的位姿信息以及其轉(zhuǎn)動軸的方向信息,第n個連桿則是第n個關(guān)節(jié)與第n+1個關(guān)節(jié)之間的鏈接,它們共同組成了蛇形機(jī)器人的第n個模塊。
圖1 正交關(guān)節(jié)鏈接方式示意圖
本文設(shè)計的蛇形機(jī)器人運動學(xué)模型如圖2所示。其中,kj表示第j個關(guān)節(jié)轉(zhuǎn)動副軸線的方向向量,lj表示第j個連桿軸線的方向向量。由圖2可知,該蛇形機(jī)器人存在三個約束:①相鄰兩個關(guān)節(jié)轉(zhuǎn)動副軸線相互垂直;②相鄰兩個關(guān)節(jié)轉(zhuǎn)動副軸線與二者之間連桿軸線相互垂直;③相鄰的水平(或豎直)方向的關(guān)節(jié)轉(zhuǎn)動副軸線指向相反。
本文中蛇形機(jī)器人運動學(xué)模型D-H參數(shù)如表1所示。其中,θj(j=1,2,…,19)為從lj-1到lj繞kj旋轉(zhuǎn)的角度;dj為從lj-1到lj沿kj測量的距離;aj為從kj到kj+1沿lj測量的距離;αj為從kj到kj+1繞lj旋轉(zhuǎn)的角度。
圖2 蛇體的運動學(xué)模型
表1 蛇體D-H參數(shù)表
關(guān)節(jié)j到關(guān)節(jié)j+1的變換矩陣為
將表1中的值代入式(1)得到:
實際應(yīng)用中,L為已知量,則jTj+1為θj的函數(shù)。如果在已知第一個關(guān)節(jié)與原點之間的變換矩陣RT1(A0)情況下,則第j個關(guān)節(jié)的位姿RTj=A0A1A2…Aj-1。
傳統(tǒng)的兩種步態(tài)生成方法均存在一定的缺陷,骨干曲線法注重骨干曲線的整體性,但在轉(zhuǎn)化為驅(qū)動器輸入時,往往通過逆運動學(xué)求解,在求解過程中存在關(guān)節(jié)耦合的問題[14],控制函數(shù)法則以驅(qū)動器的具體輸入為出發(fā)點,無法直接得到骨干曲線的情況。本文使用的骨干曲線鏈擬合與關(guān)鍵幀骨干提取相結(jié)合的方法可以將傳統(tǒng)的兩種步態(tài)生成方法的優(yōu)點有效地結(jié)合,使形成的步態(tài)既可以直觀地得到骨干曲線的形狀及運動趨勢,又可以得到以關(guān)節(jié)號和時間為變量的控制函數(shù),方便底層驅(qū)動器控制。
該算法首先進(jìn)行骨干曲線擬合。采用一種新的擬合算法——迭代鏈擬合算法,該算法不要求關(guān)節(jié)具有兩自由度(以往的骨干曲線擬合算法往往針對萬向節(jié)關(guān)節(jié)[4,7]),具有更加廣泛的應(yīng)用范圍。然后,將該擬合算法應(yīng)用到一系列固定的骨干曲線中,這些骨干曲線表征蛇體在特定運動中的形狀和運動趨勢,將這一系列的骨干曲線稱為關(guān)鍵幀骨干曲線,它們是蛇體在固定時間間隔的離散時間點上的骨干曲線。可以將這一過程看作是將蛇體運動過程的離散化。在完成一系列關(guān)鍵幀骨干曲線的擬合后,得到各個關(guān)節(jié)在整個步態(tài)中各個離散時刻的角度。對這些離散數(shù)據(jù)進(jìn)行整理分析便可得到與關(guān)節(jié)號和時間相關(guān)的一系列的控制函數(shù)。整個算法從蛇體骨干曲線為出發(fā)點,最終得到每個關(guān)節(jié)具體的控制函數(shù)。
以往基于骨干曲線的步態(tài)形成方法都是針對萬向節(jié)關(guān)節(jié)的蛇形機(jī)器人,每個關(guān)節(jié)有兩個自由度,骨干曲線擬合只需調(diào)節(jié)關(guān)節(jié)轉(zhuǎn)角順次將每個關(guān)節(jié)放在骨干曲線上即可[15]。本研究中的蛇形機(jī)器人采用的是正交關(guān)節(jié),每個關(guān)節(jié)只有一個自由度,在對三維曲線的擬合過程中,某給定關(guān)節(jié)與曲線曲率的擬合程度與上一關(guān)節(jié)的轉(zhuǎn)角有關(guān)。在設(shè)計針對正交關(guān)節(jié)的曲線擬合算法時,考慮某關(guān)節(jié)角時還必須對這一關(guān)節(jié)前面的關(guān)節(jié)轉(zhuǎn)角進(jìn)行優(yōu)化。
2.1.1 初始模塊位置的確定
蛇體與骨干曲線間的擬合從首關(guān)節(jié)與骨干曲線初始端的擬合開始,蛇體首個模塊的位置由它的一個指定法向量與骨干曲線某一指定法向量的夾角φ唯一確定。將φ稱作蛇體相對于骨干曲線的扭轉(zhuǎn)角。
蛇體的第一個模塊作為蛇體骨干曲線的一條割線,模塊始端與骨干曲線初始點重合。圖3中,k0為初始模塊的法向量;l0為初始模塊的中軸線向量;v為骨干曲線的起始點切線的法向量,該向量同時垂直于l0;u為骨干曲線初始點的切向量;φ為順著l0正方向看去,v到k0的逆時針轉(zhuǎn)角。由圖3中各向量的關(guān)系可以看出,骨干曲線一旦確定,初始關(guān)節(jié)的位姿A0可由φ唯一確定。
圖3 首關(guān)節(jié)位姿確定示意圖
2.1.2 迭代鏈擬合
蛇體由n個模塊組成,若同時對每個關(guān)節(jié)轉(zhuǎn)角進(jìn)行優(yōu)化則優(yōu)化函數(shù)中含有n-1個變量,計算量將會很大。因此本文采用迭代法通過多次的少量參數(shù)優(yōu)化來達(dá)到優(yōu)化目的。
在每次的迭代計算中將所有關(guān)節(jié)劃分為三種類型:①已完成優(yōu)化的關(guān)節(jié),已經(jīng)完成與曲線擬合的關(guān)節(jié)在后續(xù)關(guān)節(jié)的擬合中轉(zhuǎn)角不會再發(fā)生變化;②正在優(yōu)化的關(guān)節(jié);③自由關(guān)節(jié),這一部分關(guān)節(jié)轉(zhuǎn)角將在后續(xù)迭代中進(jìn)行優(yōu)化。
圖4 迭代優(yōu)化窗口
由圖4可知,不同的模塊由一個優(yōu)化窗口分割開,優(yōu)化窗口的大小表示當(dāng)前優(yōu)化關(guān)節(jié)的個數(shù),迭代步長則表示每次迭代后當(dāng)前優(yōu)化關(guān)節(jié)轉(zhuǎn)化成已優(yōu)化關(guān)節(jié)的個數(shù)(或是待優(yōu)化的自由關(guān)節(jié)轉(zhuǎn)化成當(dāng)前優(yōu)化關(guān)節(jié)的個數(shù))。對當(dāng)前優(yōu)化關(guān)節(jié)的轉(zhuǎn)角進(jìn)行優(yōu)化,使當(dāng)前優(yōu)化模塊能夠最大程度地擬合骨干曲線,本文迭代窗口大小為3,迭代步長為1。本文使用如下函數(shù)作為第i次迭代的優(yōu)化目標(biāo)函數(shù):
其中,Di(αopt)為優(yōu)化目標(biāo)函數(shù),αopt為迭代窗口中待優(yōu)化的關(guān)節(jié)角度,dj為當(dāng)前優(yōu)化模塊遠(yuǎn)端(第j+1個關(guān)節(jié)點)到骨干曲線的距離,當(dāng)前優(yōu)化模塊遠(yuǎn)端的位置利用標(biāo)準(zhǔn)D-H法求取。設(shè)正在進(jìn)行第i次迭代優(yōu)化,需要通過優(yōu)化θi、θi+1以及θi+2使第i+1、i+2及i+3關(guān)節(jié)點最大程度地靠近螺旋曲線。優(yōu)化窗口中第一個需優(yōu)化關(guān)節(jié)為第i個關(guān)節(jié),由于第i個關(guān)節(jié)之前的各關(guān)節(jié)已經(jīng)完成優(yōu)化,其關(guān)節(jié)角都已知,則第i個關(guān)節(jié)點的位姿RTi可以確定,第i次迭代優(yōu)化中由D-H方法可得各關(guān)節(jié)點的位姿:
關(guān)節(jié)的位姿矩陣的最后一列表征了相應(yīng)關(guān)節(jié)點在標(biāo)準(zhǔn)坐標(biāo)系中的坐標(biāo)。該坐標(biāo)的點與指定骨干曲線的距離便是需要優(yōu)化的距離值。式(3)中還包含一個懲罰函數(shù)κ(αj)。在蛇形機(jī)器人實際運動中由于自身機(jī)械設(shè)計以及驅(qū)動器的約束,關(guān)節(jié)轉(zhuǎn)角受一定的限制,可以利用懲罰函數(shù)限制關(guān)節(jié)轉(zhuǎn)角的范圍。另一方面,懲罰函數(shù)亦可防止在擬合過程中出現(xiàn)極端角度,而導(dǎo)致多個模塊“摞”在骨干曲線的某個位置。針對不同的蛇體懲罰函數(shù),β的選擇也不同,β表征了對驅(qū)動器轉(zhuǎn)角的限制,理論上每一個關(guān)節(jié)驅(qū)動器均可繞關(guān)節(jié)軸轉(zhuǎn)動任意角度,但是由于所選擇驅(qū)動器的差異以及蛇體關(guān)節(jié)機(jī)械設(shè)計的限制,驅(qū)動器的轉(zhuǎn)角僅能在某一范圍內(nèi)變化,在懲罰函數(shù)中便用β表征這種限制。β在的實際選擇中應(yīng)有一定的余量,應(yīng)小于最大轉(zhuǎn)角弧度制的絕對值。譬如,某蛇體關(guān)節(jié)轉(zhuǎn)角范圍的弧度制表示為[-1.2,1.2]rad,則β的取值可選1,這樣可以盡可能地使擬合過程中的各關(guān)節(jié)轉(zhuǎn)角不超出實際蛇體關(guān)節(jié)轉(zhuǎn)角的限制值。
每一次迭代優(yōu)化的結(jié)果都會直接影響后面的優(yōu)化結(jié)果,第一個關(guān)節(jié)的位置對整個曲線擬合有很明顯的影響,其他模塊通過調(diào)節(jié)關(guān)節(jié)角才能確定蛇體的形態(tài)。因此有必要對第一個模塊進(jìn)行二次優(yōu)化。為了改善初始邊界條件,在一定程度上維持第一模塊的位置,將第一模塊的二次優(yōu)化放在第一次迭代和第二次迭代之間進(jìn)行。具體方法是在第一次迭代結(jié)束后,以第四模塊尾端為初始端對前面的關(guān)節(jié)進(jìn)行曲線擬合來確定第一模塊的位置,當(dāng)?shù)谝荒K位置確定后,進(jìn)行第二次迭代。其余關(guān)節(jié)的擬合按照上述迭代鏈擬合方法進(jìn)行。
2.1.3 迭代鏈擬合算法
將迭代鏈擬合算法的步驟總結(jié)如下:
(1)將蛇體第一模塊作為骨干曲線的一條割線,模塊始端與骨干曲線的初始點重合,使φ為某一值。
(2)固定第一模塊作第一次迭代,對前3個關(guān)節(jié)轉(zhuǎn)角進(jìn)行優(yōu)化。
(3)以第4模塊為端點對前3個關(guān)節(jié)進(jìn)行優(yōu)化,在此過程中第一模塊為自由模塊,確定出第一模塊的最優(yōu)位置。
(4)按照前述迭代鏈擬合方法對蛇體的每個關(guān)節(jié)逐個優(yōu)化。
蛇形機(jī)器人的一個重要的特點是能夠纏繞在圓柱體上(圖5)并向上攀爬。在這種步態(tài)下,如圖5所示,身體的各個模塊沿各自中軸向某方向翻滾。
圖5 攀爬運動骨干曲線移動示意圖
將蛇體攀爬過程看作是其螺旋狀的骨干曲線隨時間變化的過程,我們將這個連續(xù)的過程離散化,以若干等距時間點tj的骨干曲線作樣本,用迭代鏈擬合方法對樣本骨干曲線進(jìn)行擬合,得到蛇體各個關(guān)節(jié)在樣本時間點的轉(zhuǎn)角。具體做法是:在每個時間點tj,初始模塊擺放時的扭轉(zhuǎn)角φj=tj(例如若選中tj=1s為一個時間點,此時φj=1rad。),然后進(jìn)行曲線擬合。φ的變化率表征了骨干曲線移動的速度。在完成關(guān)鍵幀的骨干曲線擬合后,需對生成的步態(tài)信息進(jìn)行進(jìn)一步的分析。蛇型機(jī)器人關(guān)節(jié)控制函數(shù)是關(guān)節(jié)號n與時間t的函數(shù)。
本文為了驗證上述算法,利用MATLAB機(jī)器人工具箱針對一系列φ對蛇體進(jìn)行迭代鏈擬合,得到了不同關(guān)鍵時間點不同關(guān)節(jié)的轉(zhuǎn)角,并作出了蛇體螺旋攀爬運動步態(tài)波形和不同關(guān)節(jié)轉(zhuǎn)角隨時間變化曲線,為形成控制函數(shù)提供了支持;然后用1stOpt對控制函數(shù)的參數(shù)進(jìn)行估計,得到了與期望骨干曲線及其運動趨勢對應(yīng)的控制函數(shù);最后通過Webots機(jī)器人仿真軟件對本算法生成的控制函數(shù)控制效果與傳統(tǒng)控制函數(shù)法的控制效果進(jìn)行了比較。
蛇體在攀爬運動中的骨干曲線為螺旋線,為了最大程度地接近現(xiàn)實實驗中的各種條件,設(shè)骨干曲線螺旋半徑R=70mm,螺距為314mm,蛇體連桿長度為55mm,本文中β取1。鏈擬合過程中為了防止關(guān)節(jié)角出現(xiàn)局部最小值,采用遺傳算法進(jìn)行迭代優(yōu)化。鏈擬合結(jié)果如圖6所示。
圖6 蛇形機(jī)器人骨干曲線對螺旋線擬合
在關(guān)鍵幀提取時,φ的取值為iπ/10,i=1,2,…,20,得到多個時間點的各關(guān)節(jié)的轉(zhuǎn)角后,可得到擬合圖(圖7)。圖中的實線為本方法生成的步態(tài)信息。
圖7 螺旋攀爬運動步態(tài)波形
圖8為關(guān)節(jié)3、關(guān)節(jié)4、關(guān)節(jié)5轉(zhuǎn)角隨時間變化曲線,從圖8可以看出,每一個關(guān)節(jié)轉(zhuǎn)角隨時間呈周期性變化,且不同關(guān)節(jié)的控制函數(shù)存在一定的相位差。因此可以將蛇體關(guān)節(jié)的控制函數(shù)表示為θ=asin(ωt+nb),其中,θ表示關(guān)節(jié)轉(zhuǎn)角,ω表示每個關(guān)節(jié)輸出角度變化周期,a表示關(guān)節(jié)的最大轉(zhuǎn)角,b表示關(guān)節(jié)之間的相位差。利用1stOpt軟件使用遺傳算法對a、b的參數(shù)進(jìn)行估計,得到a=0.985,b=1.82。此時便得到螺旋半徑R=70mm,螺距為314mm,蛇體連桿長度為55mm,φj=tj時蛇形機(jī)器人攀爬運動的控制函數(shù)為θ=0.985sin(t+1.82n)。根據(jù)此函數(shù),以t和n為變量作圖得到圖7點狀線所表示的圖形。
圖8 不同關(guān)節(jié)轉(zhuǎn)角隨時間變化曲線
將此控制函數(shù)在Webots仿真環(huán)境下進(jìn)行可行性驗證,如圖9a所示,以θ=0.985sin(t+1.82n)為控制函數(shù),蛇體可在半徑為70mm的豎直桿上完成攀爬運動。至此,本文完成了由骨干曲線及其運動趨勢到蛇形機(jī)器人底層控制函數(shù)的對應(yīng)。
傳統(tǒng)的骨干曲線法應(yīng)用在萬向節(jié)關(guān)節(jié)的蛇形機(jī)器人上,與本文方法不便比較。使用傳統(tǒng)的控制函數(shù)法,有多個參數(shù)化的控制函數(shù)可實現(xiàn)同一半徑豎直桿的攀爬。魏武等[16]運用粒子群優(yōu)化算法(PSO)對控制參數(shù)進(jìn)行了優(yōu)化,給出了正交關(guān)節(jié)蛇形機(jī)器人控制參數(shù)和螺旋半徑之間的擬合函數(shù):
式中,變量x表示控制參數(shù)a的值;變量y表示控制參數(shù)b的值。
以不同半徑豎直桿對應(yīng)的蛇體步態(tài)參數(shù)作為樣本,使用遺傳算法對pi(i=1,2,…,8)進(jìn)行擬合得到對應(yīng)于本蛇體模型的參數(shù)值如表2所示。
表2 pi的優(yōu)化參數(shù)值
由式(5)中螺旋半徑與步態(tài)參數(shù)的關(guān)系可看出同一螺旋半徑有多組步態(tài)參數(shù)與之對應(yīng)。圖9中三幅圖對應(yīng)的豎桿的直徑均為70mm,圖9b對應(yīng)的控制函數(shù)為θ=0.8sin(t+1.88n),圖9c對應(yīng)的控制函數(shù)為θ=1.21sin(t+1.7n),由于傳統(tǒng)的控制函數(shù)法無法由控制函數(shù)直接得到骨干曲線,進(jìn)而無法對蛇體攀爬運動進(jìn)行宏觀的考量,而在分析蛇體安全性以及蛇體能量最優(yōu)時這種宏觀的考量是必須的。
圖9 不同控制函數(shù)在Webots環(huán)境下螺旋攀爬運動仿真
從上面的仿真可知,迭代鏈擬合與關(guān)鍵幀提取綜合算法以蛇形機(jī)器人的骨干曲線及其運動趨勢為出發(fā)點,得到了蛇形機(jī)器人底層驅(qū)動器的控制函數(shù)。在蛇形機(jī)器人攀爬運動中,纜索的表面狀況復(fù)雜,通過視覺設(shè)備可以對纜索的表面狀況進(jìn)行實時檢測,進(jìn)而可以分析出對蛇形機(jī)器人安全性最有利的骨干曲線及合理的運動速度。由這些信息便可使用本文提出的算法得到底層驅(qū)動器的輸入。正交關(guān)節(jié)單個驅(qū)動器的控制穩(wěn)定性和魯棒性較好,可以加強攀爬運動中的安全性,由于整個過程具有一定的實時性,蛇形機(jī)器人攀爬運動的步態(tài)更加靈活。
上文的仿真對迭代鏈擬合與關(guān)鍵幀提取綜合方法與傳統(tǒng)的步態(tài)形成方法的比較結(jié)果說明了本文方法的優(yōu)越性。現(xiàn)將生成的控制函數(shù)應(yīng)用在實際中以驗證其可行性,并進(jìn)一步觀察其在實際應(yīng)用中要注意的問題。
蛇形機(jī)器人以舵機(jī)作為關(guān)節(jié)驅(qū)動器,單個舵機(jī)輸出扭矩為1.04N·m,蛇體包含19個關(guān)節(jié),總質(zhì)量為2.3kg。根據(jù)蛇形機(jī)器人的特點使用基于雙冗余CAN總線和無線局域網(wǎng)實現(xiàn)蛇形機(jī)器人的多級分布式控制。上層監(jiān)控系統(tǒng)可通過無線局域網(wǎng)向蛇體發(fā)送各種控制命令,蛇體通過CAN總線將命令發(fā)送到各個從控制器,從控制器根據(jù)接收到的命令計算出每個舵機(jī)所要完成的角度變化,然后輸出PWM信號控制舵機(jī)的運動 。
以硬質(zhì)PVC管模擬橋梁纜索進(jìn)行攀爬運動實驗,如圖10所示。PVC管外側(cè)包裹一層防滑材料,以增大摩擦力,PVC管直徑為140mm。利用前面步態(tài)生成方法得到的控制函數(shù)θ=0.985sin(t+1.82n)進(jìn)行實驗。
圖10 蛇形機(jī)器人攀爬實驗
如圖10a所示,利用本文方法所生成的控制函數(shù),蛇體可實現(xiàn)對與地面夾角60°的斜桿的攀爬,沿斜桿徑向攀爬速度為8cm/s;如圖10b所示,蛇體以同樣的控制函數(shù)沿豎直桿攀爬,攀爬速度為3cm/s。由于重力的作用,豎直情況下蛇體攀爬的速度不理想,通過對步態(tài)參數(shù)的微調(diào)得到新的控制函數(shù)θ=sin(t+1.83n),使蛇體“抱緊”PVC管,蛇體可達(dá)到6cm/s的攀爬速度。實驗表明,在實際應(yīng)用中,該步態(tài)生成方法所生成的控制函數(shù)并不能完全適應(yīng)攀爬環(huán)境的變化,還需通過其他傳感器(如壓力傳感器)的配合才能達(dá)到最佳的控制效果,這也是下一步研究的重點。
蛇形機(jī)器人對橋梁纜索的檢測任務(wù),主要是利用這種螺旋攀爬運動使蛇形機(jī)器人沿纜索上下運動,通過安裝在蛇形機(jī)器人體內(nèi)的檢測裝置對纜索健康狀況進(jìn)行檢測。放置在蛇形機(jī)器人體內(nèi)的檢測裝置可以包括電磁傳感器、攝像頭等。隨著在螺旋攀爬運動過程中蛇身的轉(zhuǎn)動,檢測裝置可以對纜索進(jìn)行360°全方位的信號采集,完成對纜索斷絲、腐蝕、護(hù)套損傷等情況的檢測任務(wù)。
本文根據(jù)橋梁纜索攀爬蛇形機(jī)器人在攀爬運動中所面臨的問題,對蛇形機(jī)器人的結(jié)構(gòu)、步態(tài)生成方法進(jìn)行了優(yōu)化,將傳統(tǒng)的骨干曲線法與控制函數(shù)法有效結(jié)合,得到了迭代鏈擬合與關(guān)鍵幀提取綜合方法,建立了蛇體攀爬運動過程中宏觀骨干曲線與底層驅(qū)動器控制函數(shù)之間的關(guān)系,進(jìn)而為蛇體運動的靈活性和安全性提供了保障。通過仿真實驗說明了步態(tài)生成方法的可行性與優(yōu)越性。下一步的研究將把本方法與蛇體的壓力、力矩等傳感器進(jìn)行結(jié)合,進(jìn)一步地對步態(tài)進(jìn)行優(yōu)化。
[1]Aracil R,Saltaren R J,Reinoso O.A Climbing Parallel Robot:A Robot to Climb Along Tubular and Metallic Structures[J].IEEE Robotics and Automation Magazine,2006,13(1):16-22.
[2]Xu F Y,Wang X S.Design and Analysis of a Bisected Wheel-based Cable Climbing Robot[J].Journal of Southeast University(English Edition),2009,25(1):41-46.
[3]羅均.纜索維護(hù)機(jī)器人及其關(guān)鍵技術(shù)的研究[D].上海:上海交通大學(xué),2000.
[4]Burdick J W,Radford J,Chirikjian G S.A Sidewinding Locomotion Gait for Hyper-redundant Robots[J].Robotics and Automation,1993,3(3):101-106.
[5]Limpkin K,Brown I,Peck A,et al.Differentiable and Piecewise Differentiable Gaits for Snake Robots[C]//IEEE/RSJ International Conference on Intelligent Robots and Systems.San Diego,CA,USA,2007:1864-1869.
[6]Hirose S.Biologically Inspired Robots(Snake-like Locomotor and Manipulator)[M].Oxford:Oxford University Press,1987.
[7]Goldman G,Hong D W.Considerations for Finding the Optimal Design Parameters for a Novel Pole Climbing Robot[C]//ASME Mechanisms and Robotics Conference.New York,2008:859-866.
[8]李斌,葉長龍.蛇形機(jī)器人的扭轉(zhuǎn)運動研究[J].中國機(jī)械工程,2005,16(11):941-945.
[9]李斌,馬書根,王越超,等.一種具有三維運動能力的蛇形機(jī)器人的研究[J].機(jī)器人,2004,26(6):506-509.
[10]Tesch M,Lipkin K,Brown I.Parameterized and Scripted Gaits for Modular Snake Robots[J].Advanced Robotics,2009,23(9):1131-1158.
[11]Ijspeert A J.Central Pattern Generators for Loco-motion Control in Animals and Robotics[J].Neural Networks,2008,21:642-653.
[12]Hatton R L,Choset H.Generating Gaits for Snake Robots:Annealed Chain Fitting and Keyframe Wave Extraction[J].Autonomous Robots,2010,28(3):271-281.
[13]孫洪,劉立祥,馬培蓀.攀爬蛇形機(jī)器人爬樹的靜態(tài)機(jī)理研究[J].機(jī)器人,2008,30(2):112-122.
[14]Goldman G J.Design Space and Motion Development for a Pole Climbing Serpentine Robot Featuring Actuated Universal Joints[D].Virginia:Virginia Polytech-nic Institute and State University,2009.
[15]Anderson S B.Discretization of a Continuous Curve[J].IEEE Transactions on Robotics,2008,24(2):456-461.
[16]魏武,張占.基于控制函數(shù)的蛇形機(jī)器人攀爬運動分析[J].控制工程,2011,18(2):322-326.