喬海曄,吳清輝,汪麗娟
(1.佛山職業技術學院,廣東 佛山 528137;2.廣州市威控機器人有限公司,廣東 廣州 510500)
2009 年,西班牙工業自動化研究所開發了一臺軍用六足機器人“SILO-6”,它通過全向視覺系統采集與識別地形信息,并配備探測傳感器來完成自主掃雷工作。2011 年,比勒菲爾德大學開發了一臺用于輔助救援工作的仿生六足機器人“HECTOR”,它仿照竹節蟲的三節軀體設計,具有柔性關節,可在不規則地面行走。Estremera 等人提出了一種四足機器人自由步態的生成方法,基于規則的協商算法可以在保持運動速度不變的情況下生成靈活的腿部轉移序列,該步態能夠有效地適應含有禁區的不規則地形;針對腿部發生故障的意外情況,Yang 等人提出了一種容錯步態與自適應步態相結合的方法,故障后采用跟隨引導(FTL)策略使得機器人具有容錯性和地形適應性的優點;Isvara 等人僅通過在六足機器人足端安裝傳感器,結合一種簡單有效的步態調整算法,實現了在非結構化地形中行走;Palankar 等人提出了一種基于力閾值的位置(FTP)控制器,通過力反饋來調節預先計劃的腿部軌跡從而達到地形適應的效果,并且分布式的局部反饋控制對地形有更快的響應速度;Faigl 等人提出了一種極簡的自適應運動方法,僅使用伺服電機的位置反饋實現足端的觸地判斷,采用自適應閾值以提高系統的魯棒性,達到了理想的實驗效果;Murata 等人采用了跟隨接觸點步態(FCP)控制的方式,實現了六足機器人在崎嶇地面的自適應行走,為避免腿部切換狀態陷入死鎖,引入計時員控制方法規范狀態持續時間的上下限,從而使整個系統有效運行。隨著深度學習與強化學習的不斷發展,其在六足機器人運動控制上的應用探索也逐步深入,Tsounis 等人提出了一種基于模型的運動規劃與強化學習相結合的方法,在已知的地形中訓練,得到的運動策略能夠使四足機器人在樓梯、斷層、碎石等復雜環境下運動。
2020 年,Azayev 等人提出了一種專家策略與強化學習相結合使六足機器人實現自適應運動的方法,使用強化學習方法對六足機器人在各種地形下進行自適應運動訓練,仿真實驗中通過捕捉地形的離散分布,無須外部傳感器,對地形進行建模與分類,并提供相應的地形下自適應策略。可以看出,不同的自適應算法在各自實驗機器人上都取得了很好的實驗效果,足式機器人的地形自適應性能不斷提高,并且通過算法的改進,地形自適應所依賴的附加傳感器在逐漸減少。
六足機器人在結構上屬于多支鏈冗余自由度、串并聯時變拓撲機構,各支撐腿通過地面形成機構上的耦合,且支撐腿的數目及組合方式隨時都在發生變化,由于關節自由度眾多,運動學解算復雜、控制煩瑣,因此六足特種機器人的控制技術難度比較高,此外,還需實現自適應的運動策略和規劃,提高機器人平臺的靈活性、適應性,這也是當前多足機器人領域研究的一大熱點。
針對六足機器人的機身軌跡跟蹤運動問題,設計了節律步態下足端軌跡自適應地形策略,在既滿足機器人有序穩定運動的要求,又符合機器人的結構特性對其運動約束的基礎上,生成具有一定自主跨越和尋找穩定落足點的地形自適應連續軌跡,最終實現六足機器人在崎嶇地面進行自適應運動的效果。基于節律步態的自適應運動方法整體框架如圖1 所示。

圖1 基于節律步態的自適應運動方法框架
六足機器人基于節律步態的機身控制方法主要分為兩個部分,分別是軌跡生成器和具體足端節律步態軌跡生成器,通過調整節律步態的行走步幅和前進方向,進而調節機身位姿。足端軌跡生成的函數有很多種,其中三角函數具有幅值易調整、相位周期耦合等優點,故軌跡生成器將三角函數用于生成軌跡,對應的擺動相軌跡為:
支撐相軌跡為:
式中,swSep、stSep 分別為擺動相和支撐相的離散插值點序列,范圍為[0,1];stepAmp 為設置的步幅;stepRotate 表示前進方向角;stepHeight 為抬腿高度。由上式生成的軌跡用MATLAB 仿真結果如圖2 所示。

圖2 軌跡生成器輸出的軌跡
足端節律步態軌跡生成器是把生成的軌跡按照節律步態的擺動次序以及足端相對的初始位置偏移產生每條腿對應的具體足端軌跡坐標,生成的每個足端軌跡MATLAB 仿真結果如圖3 所示。模塊化設計的優點主要有:(1)足端軌跡生成的函數可依據不同的場景需求調整,擴展性和適用性強;(2)不同節律步態的切換和腿間次序調整方便,每條腿的步幅、方向,抬腿高度均可單獨調整,應用靈活性高。通過調整各腿的參數,機身可實現直走、旋轉、側移等運動,能夠滿足在各類任務對機身運動方式的需求。

圖3 生成每個足端的具體軌跡
六足機器人節律步態下足端軌跡自適應地形策略是通過足端接觸傳感器與改進的足端軌跡設計配合,將復雜環境的地形情況分成了三類:輕度崎嶇、中度崎嶇和重度崎嶇,在此基礎上,結合上一部分提出的步態生成方法,給出對應類型地形的自適應策略。
對上述的足端軌跡做出適當改進(如圖4)是在原軌跡ABC 中加入了緩沖區和引導區的劃分,擺動相中的CD 段被稱為緩沖區,ABC 段稱為引導區,支撐相軌跡會依據自適應策略以及機身位姿進行實時的規劃調整。緩沖區和引導區的大小設置因不同設計結構的六足機器人而異,與機器人的工作空間相關。該改進不僅能為地形自適應的調整策略提供幫助,而且能夠使六足機器人在僅有接觸傳感器的情況下具備一定程度的地形感知分類能力。

圖4 改進的足端軌跡示意圖
根據落足點在緩沖區CD 段的高度,可以計算出足端之間相對機身坐標的傾斜角,從而估計機器人所處的地形狀況,當傾斜角在范圍內時,則機器人判定其所處的地形為輕度崎嶇地形。在此范圍內六足機器人后續的腿部運動沒有受到很大的限制,因而可以采用無機身位姿調整策略,其自適應軌跡示意圖如圖5 所示。

圖5 無位姿調整的自適應軌跡

圖6 有位姿調整的自適應軌跡
對于落足點處于緩沖區外或者引導區內足端受到碰撞等特殊情況下,機器人將會判定其所處的地形為重度崎嶇地形。機器人將觸發系列特殊軌跡模式以尋找合適的落腳點,直至超出足端的工作空間,設計的觸發模式方案可分為觸壁抬腿軌跡模式和踏空尋落軌跡模式。
當足端在抬起階段受到碰撞時,會觸發觸壁抬腿軌跡模式,足端沿著重新規劃的軌跡完成落足;在下落階段,足端超出緩沖區范圍卻仍未有可靠的落足點時,會觸發踏空尋落軌跡模式,在可達空間內尋找新的落足點。每個模式都可以被多次觸發,形成組合的地形探索及自適應軌跡,能較好地處理特殊情況下落足點的選取問題,從而增強六足機器人在復雜地形中的運動性能。
移動機器人在復雜地形中移動時,不僅要考慮障礙信息,還要考慮高低不平的地形因素。通過篩選和處理,構造出一個機器人可以識別的數學空間,以便機器人自身進行判斷并實現安全有效的移動。這里將八叉樹地圖進行處理。
(1)構造數值化模型,取最低點的高度為0cm,其他點的高度以最低點為基準,得出相對高度,形成類似如下數值矩陣:
(2)機器人的抬腿高度決定了能通過區域的坡度,以此為閾值,通過算法篩選矩陣中相鄰元素的差值大于閾值的區域,將對應柵格設置為被障礙占據,內部不允許通過。
(3)將障礙物進行膨化處理,使其略大于實際障礙物,移動機器人可以沿著邊界行走而不會碰到障礙物。
以上對八叉樹地圖的處理實現了對三維地圖的降維,生成了可供移動機器人路徑規劃的二維占據柵格地圖。接下來,在二維柵格地圖上實現移動機器人的全局路徑規劃,為了兼容復雜地形下的導航,采用由經典的RRT(rapidly exploring random tree)算法改進而來的雙樹Quick-RRT*算法,其相比RRT 算法具有更快的收斂速度和更好的路徑生成質量,適合解決多自由度機器人在復雜環境下和動態環境中的路徑規劃。
本項目使用VREP 仿真平臺完成六足機器人模型的搭建,使用MATLAB 聯合VREP 仿真的方式對上述提出的自適應運動控制方法進行實驗驗證。如圖7、圖8 所示,六足機器人實現機身位置和姿態的跟蹤,并使得六足機器人完成復雜的爬坡和跨越崎嶇地形運動,能夠達到預期的運動效果。

圖7 六足機器人爬坡

圖8 六足機器人穿越崎嶇地形
通過對比正常步態和自適應步態穿越崎嶇地形過程中機身位姿的變化,在正常步態下,機身俯仰角度最大達到了2.6303°,翻滾角度最大達到了2.8628°;而在自適應步態下,機身的的最大俯仰角僅0.7014°,翻滾角為0.6061°,自適應運動能達到有效平穩機身的效果。
多機器人協同環境重構后已經對三維稠密點云地圖的空間重復點以及孤立散點進行濾除,本小節直接采用Octomap 工具對點云地圖進行壓縮,生成八叉樹地圖,三維稠密點云地圖轉八叉樹地圖如圖9 所示。

圖9 三維稠密點云地圖轉八叉樹地圖