劉 彪,黃之峰,章 云
(廣東工業(yè)大學(xué) 自動(dòng)化學(xué)院,廣東 廣州 510006)
機(jī)器人在復(fù)雜環(huán)境中執(zhí)行任務(wù)時(shí),比如救災(zāi)、探測(cè)、巡檢等環(huán)境中,不可避免地會(huì)遇到障礙物. 因此,機(jī)器人往往需要具備跨越大尺度障礙物的能力. 而該性能既是機(jī)器人運(yùn)動(dòng)性能好壞的體現(xiàn),也是機(jī)器人能否適應(yīng)復(fù)雜環(huán)境并且進(jìn)行有效的人機(jī)協(xié)作的基礎(chǔ)之一. 特別是,當(dāng)前服務(wù)類機(jī)器人逐步融入到人們的工作生活環(huán)境中,越障能力對(duì)機(jī)器人越來(lái)越重要.
機(jī)器人一般是由多個(gè)關(guān)節(jié)和連桿所組成的復(fù)雜的非線性系統(tǒng),這也意味著很高的控制難度. 尤其是在跨越大尺度障礙物時(shí),如果機(jī)器人僅僅依靠自身關(guān)節(jié)驅(qū)動(dòng)和姿態(tài)調(diào)整來(lái)保持平衡,那么機(jī)器人的重心在地面的投影很容易偏離出腳底的支撐多邊形,從而導(dǎo)致機(jī)器人不穩(wěn)定,發(fā)生傾倒[1]. 目前,已有不少相關(guān)的研究重點(diǎn)集中在仿人機(jī)器人自身關(guān)節(jié)結(jié)構(gòu)設(shè)計(jì)、跨越足工作空間的優(yōu)化和通過(guò)借助環(huán)境來(lái)實(shí)現(xiàn)大尺度障礙物的跨越. 程剛等[2]利用3次均勻B樣條曲線的方法規(guī)劃出機(jī)器人越障的軌跡. 通過(guò)選擇適當(dāng)?shù)膮?shù),實(shí)現(xiàn)了良好的仿生越障步態(tài). 當(dāng)然,也有人通過(guò)多足的結(jié)構(gòu)或足輪結(jié)合的方式[3-4],在保證機(jī)器人穩(wěn)定的前提下,實(shí)現(xiàn)越障. Kalamian N等[5]提出使用預(yù)測(cè)控制器,實(shí)現(xiàn)雙足的機(jī)器人動(dòng)態(tài)的越障,該方法不需要規(guī)劃越障軌跡,便能找到最優(yōu)的步長(zhǎng),而且具有閉環(huán)穩(wěn)定性. Zhou C X等[6]通過(guò)增加機(jī)器人髖關(guān)節(jié)處的冗余關(guān)節(jié),擴(kuò)大了仿人機(jī)器人跨越時(shí)的工作空間,最終跨越的長(zhǎng)度超過(guò)其腿長(zhǎng)20%的大尺度障礙物. Fu C L等[7]用步態(tài)合成和傳感控制的方法,能夠讓32個(gè)自由度的機(jī)器人實(shí)現(xiàn)上下樓梯運(yùn)動(dòng).Koch K H等[8]通過(guò)全身優(yōu)化控制算法,解耦了彈性踝關(guān)節(jié)和穩(wěn)定控制算法間的關(guān)系,最終使HRP-2跨越了高20cm寬11cm的障礙物. 管貽生等[9-11]通過(guò)建立仿人機(jī)器人越障時(shí)的無(wú)碰撞和平衡穩(wěn)定等非線性約束優(yōu)化模型,分析了仿人機(jī)器人的靈活性,然后再對(duì)機(jī)器人的越障動(dòng)作進(jìn)行規(guī)劃,最終在HRP-2上驗(yàn)證了其方法的可行性. Stasse O等[12]從時(shí)間維度上出發(fā),通過(guò)規(guī)劃確定的質(zhì)心運(yùn)動(dòng)軌跡和減小著陸時(shí)的沖擊等,使得機(jī)器人能在4s內(nèi)完成越障,極大地縮短了越障時(shí)間. 于薇薇等[13]提出一種基于模糊Q學(xué)習(xí)算法的路徑規(guī)劃策略,能通過(guò)在線學(xué)習(xí)跨越不可預(yù)期的障礙物. Guo F Y等[14]解決了連續(xù)兩個(gè)障礙物的跨越問(wèn)題. 當(dāng)然,上述的研究主要是基于機(jī)器人自身的驅(qū)動(dòng)裝置以及調(diào)整姿態(tài)來(lái)實(shí)現(xiàn)越障的. 然而,機(jī)器人越障時(shí)不可避免地要與環(huán)境發(fā)生接觸. 因此,還有其他方法也可以實(shí)現(xiàn)大尺度越障. Doubliez P F[15]提出控制后腳能量噴射裝置的方法,實(shí)現(xiàn)雙足機(jī)器人動(dòng)態(tài)的越障. 該方法主要是通過(guò)后腳的噴射裝置,給整個(gè)機(jī)器人提供一個(gè)前上方的沖力,幫助雙足機(jī)器人踩上障礙物,實(shí)現(xiàn)越障. 與本文所用的借助外力保持平衡實(shí)現(xiàn)越障類似. Kojio Y等[16]研究了機(jī)器人在水中受到水流的拖拽力影響下的行走和越障能力,通過(guò)基于捕獲點(diǎn)的步態(tài)生成方法,實(shí)現(xiàn)了水中平地行走和上下樓梯等動(dòng)作. 該研究在外力干擾的情況下,實(shí)現(xiàn)了機(jī)器人的移動(dòng)與越障功能. 當(dāng)然,也有人提出了借助環(huán)境來(lái)實(shí)現(xiàn)越障的方法. Farnioli E等[17]提出通過(guò)多點(diǎn)接觸的方式,來(lái)克服機(jī)器人因跨出一大步導(dǎo)致的重心失穩(wěn)問(wèn)題. 因此,機(jī)器人不僅可以通過(guò)手扶墻壁站立在不平整的地面上,還可以雙手扶著水泥磚跨越障礙物.
本文在機(jī)器人借助涵道風(fēng)機(jī)提供額外推力,跨越一條寬溝渠的研究基礎(chǔ)上進(jìn)行進(jìn)一步拓展與推廣[18],把障礙物作為一個(gè)非線性的約束,添加到冗余機(jī)器人跨越的優(yōu)化模型中,著重解決之前未考慮的凸出地面的大尺度障礙物跨越及避障問(wèn)題.
機(jī)器人往往是多自由度復(fù)雜的非線性系統(tǒng),為了能準(zhǔn)確地描述并分析該系統(tǒng),一般需要建立機(jī)器人的模型. 同時(shí),為了避免DH(Denavit Hartenberg)法建模時(shí),因連桿局部坐標(biāo)運(yùn)動(dòng)而造成的累積誤差,以及能直觀地讀取雙足機(jī)器人各連桿間的位姿關(guān)系[1],本文采用基于旋量理論的運(yùn)動(dòng)學(xué)建模方法.
機(jī)器人連桿數(shù)據(jù)是指在機(jī)器人建模時(shí)用于存放機(jī)器人初始位置、姿態(tài)以及連桿長(zhǎng)度等信息的集合,可用一個(gè)結(jié)構(gòu)體來(lái)表示. 而機(jī)器人各個(gè)連桿之間也存在的連接關(guān)系,決定機(jī)器人的運(yùn)動(dòng)方式. 常用的有串行連接和并行連接. 本文的研究對(duì)象是每條腿有六個(gè)自由度的雙足機(jī)器人,兩條腿均采用串行連接,并通過(guò)腰部連桿連接構(gòu)成一個(gè)完整的雙足機(jī)器人.
為方便描述各個(gè)關(guān)節(jié)的之間的關(guān)系,機(jī)器人連桿采用類似家譜結(jié)構(gòu)(也稱樹形結(jié)構(gòu))的數(shù)據(jù)結(jié)構(gòu)形式,從初始節(jié)點(diǎn)開始,每個(gè)節(jié)點(diǎn)都有左右兩個(gè)分支,左分支為“子女”節(jié)點(diǎn),右分支為“姊妹”節(jié)點(diǎn),都沒(méi)有的話以“0”標(biāo)記,用字母“L”和“R”前綴來(lái)區(qū)分左右[1].通過(guò)這種連接,將機(jī)器人的關(guān)節(jié)之間的連接表示出來(lái),如圖1所示.
圖1 機(jī)器人連桿的數(shù)據(jù)結(jié)構(gòu)Fig.1 The data structure of robot links
一般地,本文選取雙足機(jī)器人站立姿態(tài)為其初始姿態(tài). 其中,選擇雙足機(jī)器人腰部連桿作為機(jī)器人建模原點(diǎn),建立第一個(gè)與世界坐標(biāo)系平行的局部坐標(biāo)系,然后其他局部坐標(biāo)系按照這種方式在機(jī)器人的每個(gè)關(guān)節(jié)處建立[1].
雙足機(jī)器人的局部坐標(biāo)系確定如圖2所示,各個(gè)局部坐標(biāo)系的原點(diǎn)落在機(jī)器人關(guān)節(jié)的旋轉(zhuǎn)軸上. 圖2中Ri(i=1 ,···,13)分別表示局部坐標(biāo)系的姿態(tài),而且有此處,E為3階單位矩陣.
圖2 局部坐標(biāo)系的選取Fig.2 The choosing of local frames
關(guān)節(jié)軸矢量即為機(jī)器人旋轉(zhuǎn)關(guān)節(jié)轉(zhuǎn)動(dòng)軸的軸向,該方向滿足右手定則,即右手四指沿著轉(zhuǎn)動(dòng)的正方向握拳彎曲,此時(shí)拇指所指向的方向. 相對(duì)位置矢量是指相鄰的兩個(gè)局部坐標(biāo)系原點(diǎn)之間的位置關(guān)系,由于局部坐標(biāo)系固連在機(jī)器人關(guān)節(jié)處,因而相對(duì)位置矢量也反映出機(jī)器人連桿的參數(shù).
在圖3中,ai(i= 2,···,13)表示機(jī)器人的關(guān)節(jié)軸矢量,bi(i= 2,···,13)為相對(duì)位置矢量,pi(i=1 ,···,13)表示關(guān)節(jié)的在世界坐標(biāo)系中的絕對(duì)位置.
根據(jù)羅德里格指數(shù)映射公式[1],可得相鄰關(guān)節(jié)之間的齊次變換矩陣:
圖3 關(guān)節(jié)軸矢量與相對(duì)位置矢量Fig.3 Axis vector of joints and relative position vector
此處bj為相鄰關(guān)節(jié)間的相對(duì)位置矢量,θj為關(guān)節(jié)轉(zhuǎn)動(dòng)的角度,為一個(gè)刻畫物體旋轉(zhuǎn)的量,為三階斜對(duì)稱矩陣,定義如下:
通過(guò)相鄰關(guān)節(jié)之間的變換關(guān)系,可以求得通過(guò)機(jī)器人腰部參考點(diǎn)到機(jī)器人末端的變換關(guān)系:
最終,通過(guò)上述的齊次變換關(guān)系,在MATLAB環(huán)境下建立起了雙足機(jī)器人的3D模型(如圖4所示).圖中機(jī)器人腳掌上的圓柱體表示給機(jī)器人提供額外推力的裝置,比如涵道推進(jìn)系統(tǒng)、噴氣助推系統(tǒng)等.其余圓柱體表示對(duì)應(yīng)的12個(gè)轉(zhuǎn)動(dòng)關(guān)節(jié).
圖4 雙足機(jī)器人3維模型Fig.4 The 3D model of the bipedal robot
本文針對(duì)雙足機(jī)器人在借助外力的基礎(chǔ)上,跨越一個(gè)大尺度的障礙物. 因此,整個(gè)跨越過(guò)程需要3個(gè)步驟來(lái)實(shí)現(xiàn):(1) 需要規(guī)劃合理的跨越腳運(yùn)動(dòng)軌跡;(2) 需要對(duì)雙足機(jī)器人跨越過(guò)程中進(jìn)行受力分析,并且建立避免碰撞的同時(shí)保持平衡穩(wěn)定的優(yōu)化模型;(3) 優(yōu)化求解出機(jī)器人整個(gè)跨越過(guò)程的關(guān)節(jié)角空間和腳掌端需要的推力變化.
在規(guī)劃雙足機(jī)器人的跨越軌跡前,需要確定雙足機(jī)器人的跨越步態(tài),即機(jī)器人通過(guò)幾個(gè)步驟,從障礙物一邊運(yùn)動(dòng)到障礙物的另一邊. 由于機(jī)器人跨越凸出的障礙與跨越溝渠類似,故擬采用之前研究所提出的跨越—滑動(dòng)—跨越2D步態(tài)[18]:
(1) 前腳跨越:雙足機(jī)器人重心后移,落在后腳支撐腳上,前腳跨出;
(2) 前腳到達(dá)障礙物另一側(cè),繼續(xù)借助外力向前滑行一段距離;
(3) 重心切換,前腳為支撐腳,后腳為跨越腳,跨越腳向障礙物方向滑行一段距離;
(4) 后腳借助外力,收回到障礙物的另一側(cè),完成跨越.
跨越軌跡的規(guī)劃,需要考慮雙足機(jī)器人初始位置、機(jī)器人腳掌的長(zhǎng)度以及障礙物的大小等. 然后通過(guò)曲線擬合的方式,生成合適的多次樣條曲線軌跡,多次樣條曲線能有效地平滑機(jī)器人的關(guān)節(jié)角,保證運(yùn)動(dòng)的平穩(wěn)性[19]. 文本中的規(guī)劃條件給出如下:
(1) 機(jī)器人前腳的跨越足初始位置為Pini= (0,100, 0)T;
(2) 機(jī)器人腳掌的長(zhǎng)度為200 mm,腳后跟的位置為軌跡所在點(diǎn),到腳尖的距離為L(zhǎng)foot=135 mm;
(3) 障礙物的形狀為長(zhǎng)方體,機(jī)器人所需跨越的障礙物的截面為寬50 mm,高200 mm的矩形;
(4) 跨越時(shí),軌跡和障礙物之間需保持一定的安全距離Hsafe=100 mm.
由于跨越動(dòng)作的對(duì)稱性,根據(jù)上述給出的條件,可以確定5個(gè)關(guān)鍵的位置點(diǎn),擬合出一條合適的4次曲線(如圖5):
圖5 跨越軌跡規(guī)劃Fig.5 Planning stepping trajectory
本文中的雙足機(jī)器人不同于傳統(tǒng)的雙足機(jī)器人,在本文中,通過(guò)引入額外的外力,可以讓機(jī)器人在跨出較大步幅的情況下,保持機(jī)器人不傾倒. 而且,相比較于其他動(dòng)態(tài)的越障動(dòng)作,本文中的機(jī)器人能以準(zhǔn)靜態(tài)的方式實(shí)現(xiàn)跨越,這樣可以有效地減小機(jī)器人跨越腳著陸時(shí)的沖擊,增加機(jī)器人的穩(wěn)定性,同時(shí),也能減小對(duì)機(jī)器人的損害.
雙足機(jī)器人要通過(guò)準(zhǔn)靜態(tài)方式越障,首先,需要對(duì)機(jī)器人進(jìn)行受力分析,由于采用2D步態(tài),故雙足機(jī)器人可以簡(jiǎn)化成在跨越平面內(nèi)運(yùn)動(dòng)的6自由冗余平面機(jī)器人,機(jī)器人的準(zhǔn)靜態(tài)受力分析如圖6所示.
圖6 雙足機(jī)器人準(zhǔn)靜態(tài)模型受力分析Fig.6 Force analysis of quasi-static model of bipedal robot
圖6中,紅色的關(guān)節(jié)表示實(shí)際活動(dòng)的關(guān)節(jié),其余關(guān)節(jié)是鎖定不變的. F、FN和G分別為額外的外力、地面的支撐力和重力. Lfoot和Lcom分別為外力和重力對(duì)支撐點(diǎn),即機(jī)器人參考的零力矩點(diǎn)(ZMP)的力臂. 紅色矩形表示提供額外外力的助推裝置.
由于雙足機(jī)器人在跨越的過(guò)程中,每個(gè)姿態(tài)都視為準(zhǔn)靜態(tài),即機(jī)器人的速度和加速度都是0. 因此,每個(gè)姿態(tài)都滿足力和力矩平衡:
由于雙足機(jī)器人采用2D步態(tài)跨越障礙物,其模型簡(jiǎn)化為平面6自由度的冗余機(jī)器人. 對(duì)于確定的末端位置和姿態(tài),具有無(wú)窮多解. 因此,在機(jī)器人無(wú)窮解中,存在滿足跨越過(guò)程中外力最小的最優(yōu)解.
雙足機(jī)器人在跨越過(guò)程中達(dá)到額外外力最小時(shí),必須滿足一定的約束條件:
(1) 機(jī)器人的腰部連桿和跨越腳的腳掌都與地面保持水平,主要是為了增加外力的作用力臂和保證外力豎直向上;
(2) 機(jī)器人跨越足末端沿著規(guī)劃軌跡運(yùn)動(dòng);
(3) 跨越過(guò)程中機(jī)器人的機(jī)體不與障礙物發(fā)生碰撞.
根據(jù)上述的約束條件,結(jié)合機(jī)器人自身關(guān)節(jié)角度的限制,得到如下優(yōu)化模型:
優(yōu)化模型中,式(6)是求優(yōu)化問(wèn)題的代價(jià)函數(shù),即機(jī)器人保持平衡時(shí)的所需外力大??;式(7)為機(jī)器人6個(gè)對(duì)應(yīng)關(guān)節(jié)角度的上下限約束. 式(8)表示機(jī)器人腳掌和腰部連桿與地面保持平行的約束;式(9)表示機(jī)器人跨越足沿著規(guī)劃的軌跡運(yùn)動(dòng)的位置約束,(yn, zn)為規(guī)劃軌跡上離散的序列點(diǎn);式(10)為避障約束,表示機(jī)器人的跨越腳的膝關(guān)節(jié)和臀關(guān)節(jié)進(jìn)入到避障區(qū)域時(shí),所需滿足的避障約束條件,pobstl、p4和p5分別表示障礙物的位置,跨越腳臀關(guān)節(jié)的位置和膝關(guān)節(jié)的位置. 其中為判斷是否進(jìn)入避障區(qū)域的函數(shù),只有在障礙物檢測(cè)范圍之內(nèi),該約束才起作用. 定義如下:
由于上述的優(yōu)化模型是典型的多變量多約束的非線性優(yōu)化問(wèn)題,可以通過(guò)MATLBA工具箱進(jìn)行優(yōu)化求解. 最終可以優(yōu)化求解沿著規(guī)劃軌跡,而且滿足各個(gè)約束條件的機(jī)器人關(guān)節(jié)角度空間和所需外力.
通過(guò)越障優(yōu)化模型,依次遍歷求解規(guī)劃軌跡上離散的位置點(diǎn),最終能求取出機(jī)器人跨越動(dòng)作的6個(gè)關(guān)節(jié)角度空間和對(duì)應(yīng)跨越姿態(tài)下的推力大小. 同時(shí),由于是在水平面上進(jìn)行跨越,而且障礙物形狀對(duì)稱,因此,機(jī)器人前腳跨過(guò)障礙物的動(dòng)作實(shí)際上和后腳收腳的動(dòng)作鏡像對(duì)稱,因此,只需要求解前腳跨出一步的動(dòng)作,后腳的收腿的動(dòng)作可由前腳鏡像變換得到. 完整的跨越障礙物的仿真結(jié)果如圖7所示.
在圖7中,雙足機(jī)器人跨越了高200 mm,寬50 mm的矩形截面的障礙物,其中跨越高度約為其腿長(zhǎng)的43%. 圖7(i)和圖7(k)顯示了其避障時(shí)的效果,通過(guò)向上凸出,避免與障礙物碰撞,整個(gè)越障過(guò)程中的6個(gè)關(guān)節(jié)角度變化和所需的推力變化如圖8和圖9所示.
由于在求解優(yōu)化跨越姿態(tài)過(guò)程中,引入了避障的非線性約束,使得相同的越障軌跡,機(jī)器人有無(wú)避障的跨越姿態(tài)和推力會(huì)不同.
沒(méi)有考慮避障情況下(見圖10(a)),機(jī)器人在著陸時(shí)機(jī)體明顯與障礙物發(fā)生了碰撞. 這樣,在實(shí)際實(shí)驗(yàn)時(shí),很可能會(huì)導(dǎo)致機(jī)器人失去平衡,進(jìn)而越障任務(wù)失敗. 從圖10(b)可以發(fā)現(xiàn)機(jī)器人在有考慮避障的情況下,機(jī)器人機(jī)體能與障礙物保持一定的安全距離,避免跨越過(guò)程中與障礙物發(fā)生碰撞.
對(duì)比發(fā)現(xiàn),考慮避障時(shí),由于機(jī)器人需要把重心(見圖10左圖紅色圓圈)更加前移,從而,也需要更大的外力來(lái)保持機(jī)器人的準(zhǔn)靜態(tài)平衡. 因此,避障跨越時(shí)推力變化比沒(méi)有考慮避障時(shí)要更大.
雙足機(jī)器人越障算法是否有效,需要用實(shí)際的樣機(jī)實(shí)驗(yàn)來(lái)驗(yàn)證. 根據(jù)前面規(guī)劃的步態(tài)與軌跡和假定的障礙物,在樣機(jī)噴射仿人機(jī)器人1號(hào)(Jet-HR1)平臺(tái)上進(jìn)行驗(yàn)證:
如圖11所示,樣機(jī)實(shí)驗(yàn)測(cè)試了雙足機(jī)器人前腳跨越障礙物的步態(tài),根據(jù)跨越動(dòng)作的對(duì)稱性,雙足機(jī)器人可以根據(jù)跨越障礙物的逆動(dòng)作,收回后腿,完成越障. 由于雙足機(jī)器人跨越時(shí)關(guān)節(jié)的角度存在較大的誤差. 因此,影響了雙足機(jī)器人可跨越的障礙物高度. 實(shí)驗(yàn)樣機(jī)最終可跨越15cm高5cm寬的障礙物.
圖8 機(jī)器人越障的關(guān)節(jié)角空間Fig.8 Joints angles space of stepping over obstacle
由于涵道風(fēng)機(jī)存在物理死區(qū),剛開始啟動(dòng)時(shí),設(shè)定為一恒定的值,而且,由于雙足機(jī)器人質(zhì)量模型的理論計(jì)算值與實(shí)際值之間存在誤差,實(shí)際實(shí)驗(yàn)時(shí),需要在理論計(jì)算值的基礎(chǔ)上,將輸入PWM控制信號(hào)提高14%. 推力助推器涵道風(fēng)機(jī)輸出值存在上限,最大輸出值為23 N. 所以,最終得到雙足機(jī)器人跨越時(shí)的推力變化如圖12所示.
圖9 機(jī)器人越障所需的外力Fig.9 The required extra force for the robot stepping over the obstacle
本文主要研究雙足機(jī)器人借助外力,來(lái)實(shí)現(xiàn)跨越大尺度障礙物的任務(wù),通過(guò)對(duì)雙足機(jī)器人越障時(shí)的準(zhǔn)靜態(tài)模型進(jìn)行分析,建立起姿態(tài)優(yōu)化模型. 最終,在仿真情況下,雙足機(jī)器人可跨越障礙物的高度為20 cm,達(dá)到機(jī)器人腿長(zhǎng)的43%. 實(shí)際樣機(jī)實(shí)驗(yàn),機(jī)器人跨越了高15 cm的障礙物,到達(dá)其腿長(zhǎng)的32%.
圖10 避障跨越仿真結(jié)果及外力變化對(duì)比Fig.10 Comparison of stepping simulation and extra force variation
圖11 樣機(jī)實(shí)驗(yàn)Fig.11 Prototype experiment
仿真和樣機(jī)實(shí)驗(yàn)的結(jié)果說(shuō)明,本文所提出的雙足機(jī)器人通過(guò)引入額外的外力來(lái)跨越凸出地面的大尺度障礙物的方法是可行的.
圖12 推力變化Fig.12 Experimental thrust change