喬海曄,吳清輝,汪麗娟
(1.佛山職業(yè)技術(shù)學(xué)院,廣東 佛山 528137;2.廣州市威控機(jī)器人有限公司,廣東 廣州 510500)
2009 年,西班牙工業(yè)自動(dòng)化研究所開(kāi)發(fā)了一臺(tái)軍用六足機(jī)器人“SILO-6”,它通過(guò)全向視覺(jué)系統(tǒng)采集與識(shí)別地形信息,并配備探測(cè)傳感器來(lái)完成自主掃雷工作。2011 年,比勒菲爾德大學(xué)開(kāi)發(fā)了一臺(tái)用于輔助救援工作的仿生六足機(jī)器人“HECTOR”,它仿照竹節(jié)蟲(chóng)的三節(jié)軀體設(shè)計(jì),具有柔性關(guān)節(jié),可在不規(guī)則地面行走。Estremera 等人提出了一種四足機(jī)器人自由步態(tài)的生成方法,基于規(guī)則的協(xié)商算法可以在保持運(yùn)動(dòng)速度不變的情況下生成靈活的腿部轉(zhuǎn)移序列,該步態(tài)能夠有效地適應(yīng)含有禁區(qū)的不規(guī)則地形;針對(duì)腿部發(fā)生故障的意外情況,Yang 等人提出了一種容錯(cuò)步態(tài)與自適應(yīng)步態(tài)相結(jié)合的方法,故障后采用跟隨引導(dǎo)(FTL)策略使得機(jī)器人具有容錯(cuò)性和地形適應(yīng)性的優(yōu)點(diǎn);Isvara 等人僅通過(guò)在六足機(jī)器人足端安裝傳感器,結(jié)合一種簡(jiǎn)單有效的步態(tài)調(diào)整算法,實(shí)現(xiàn)了在非結(jié)構(gòu)化地形中行走;Palankar 等人提出了一種基于力閾值的位置(FTP)控制器,通過(guò)力反饋來(lái)調(diào)節(jié)預(yù)先計(jì)劃的腿部軌跡從而達(dá)到地形適應(yīng)的效果,并且分布式的局部反饋控制對(duì)地形有更快的響應(yīng)速度;Faigl 等人提出了一種極簡(jiǎn)的自適應(yīng)運(yùn)動(dòng)方法,僅使用伺服電機(jī)的位置反饋實(shí)現(xiàn)足端的觸地判斷,采用自適應(yīng)閾值以提高系統(tǒng)的魯棒性,達(dá)到了理想的實(shí)驗(yàn)效果;Murata 等人采用了跟隨接觸點(diǎn)步態(tài)(FCP)控制的方式,實(shí)現(xiàn)了六足機(jī)器人在崎嶇地面的自適應(yīng)行走,為避免腿部切換狀態(tài)陷入死鎖,引入計(jì)時(shí)員控制方法規(guī)范狀態(tài)持續(xù)時(shí)間的上下限,從而使整個(gè)系統(tǒng)有效運(yùn)行。隨著深度學(xué)習(xí)與強(qiáng)化學(xué)習(xí)的不斷發(fā)展,其在六足機(jī)器人運(yùn)動(dòng)控制上的應(yīng)用探索也逐步深入,Tsounis 等人提出了一種基于模型的運(yùn)動(dòng)規(guī)劃與強(qiáng)化學(xué)習(xí)相結(jié)合的方法,在已知的地形中訓(xùn)練,得到的運(yùn)動(dòng)策略能夠使四足機(jī)器人在樓梯、斷層、碎石等復(fù)雜環(huán)境下運(yùn)動(dòng)。
2020 年,Azayev 等人提出了一種專(zhuān)家策略與強(qiáng)化學(xué)習(xí)相結(jié)合使六足機(jī)器人實(shí)現(xiàn)自適應(yīng)運(yùn)動(dòng)的方法,使用強(qiáng)化學(xué)習(xí)方法對(duì)六足機(jī)器人在各種地形下進(jìn)行自適應(yīng)運(yùn)動(dòng)訓(xùn)練,仿真實(shí)驗(yàn)中通過(guò)捕捉地形的離散分布,無(wú)須外部傳感器,對(duì)地形進(jìn)行建模與分類(lèi),并提供相應(yīng)的地形下自適應(yīng)策略。可以看出,不同的自適應(yīng)算法在各自實(shí)驗(yàn)機(jī)器人上都取得了很好的實(shí)驗(yàn)效果,足式機(jī)器人的地形自適應(yīng)性能不斷提高,并且通過(guò)算法的改進(jìn),地形自適應(yīng)所依賴(lài)的附加傳感器在逐漸減少。
六足機(jī)器人在結(jié)構(gòu)上屬于多支鏈冗余自由度、串并聯(lián)時(shí)變拓?fù)錂C(jī)構(gòu),各支撐腿通過(guò)地面形成機(jī)構(gòu)上的耦合,且支撐腿的數(shù)目及組合方式隨時(shí)都在發(fā)生變化,由于關(guān)節(jié)自由度眾多,運(yùn)動(dòng)學(xué)解算復(fù)雜、控制煩瑣,因此六足特種機(jī)器人的控制技術(shù)難度比較高,此外,還需實(shí)現(xiàn)自適應(yīng)的運(yùn)動(dòng)策略和規(guī)劃,提高機(jī)器人平臺(tái)的靈活性、適應(yīng)性,這也是當(dāng)前多足機(jī)器人領(lǐng)域研究的一大熱點(diǎn)。
針對(duì)六足機(jī)器人的機(jī)身軌跡跟蹤運(yùn)動(dòng)問(wèn)題,設(shè)計(jì)了節(jié)律步態(tài)下足端軌跡自適應(yīng)地形策略,在既滿足機(jī)器人有序穩(wěn)定運(yùn)動(dòng)的要求,又符合機(jī)器人的結(jié)構(gòu)特性對(duì)其運(yùn)動(dòng)約束的基礎(chǔ)上,生成具有一定自主跨越和尋找穩(wěn)定落足點(diǎn)的地形自適應(yīng)連續(xù)軌跡,最終實(shí)現(xiàn)六足機(jī)器人在崎嶇地面進(jìn)行自適應(yīng)運(yùn)動(dòng)的效果?;诠?jié)律步態(tài)的自適應(yīng)運(yùn)動(dòng)方法整體框架如圖1 所示。
圖1 基于節(jié)律步態(tài)的自適應(yīng)運(yùn)動(dòng)方法框架
六足機(jī)器人基于節(jié)律步態(tài)的機(jī)身控制方法主要分為兩個(gè)部分,分別是軌跡生成器和具體足端節(jié)律步態(tài)軌跡生成器,通過(guò)調(diào)整節(jié)律步態(tài)的行走步幅和前進(jìn)方向,進(jìn)而調(diào)節(jié)機(jī)身位姿。足端軌跡生成的函數(shù)有很多種,其中三角函數(shù)具有幅值易調(diào)整、相位周期耦合等優(yōu)點(diǎn),故軌跡生成器將三角函數(shù)用于生成軌跡,對(duì)應(yīng)的擺動(dòng)相軌跡為:
支撐相軌跡為:
式中,swSep、stSep 分別為擺動(dòng)相和支撐相的離散插值點(diǎn)序列,范圍為[0,1];stepAmp 為設(shè)置的步幅;stepRotate 表示前進(jìn)方向角;stepHeight 為抬腿高度。由上式生成的軌跡用MATLAB 仿真結(jié)果如圖2 所示。
圖2 軌跡生成器輸出的軌跡
足端節(jié)律步態(tài)軌跡生成器是把生成的軌跡按照節(jié)律步態(tài)的擺動(dòng)次序以及足端相對(duì)的初始位置偏移產(chǎn)生每條腿對(duì)應(yīng)的具體足端軌跡坐標(biāo),生成的每個(gè)足端軌跡MATLAB 仿真結(jié)果如圖3 所示。模塊化設(shè)計(jì)的優(yōu)點(diǎn)主要有:(1)足端軌跡生成的函數(shù)可依據(jù)不同的場(chǎng)景需求調(diào)整,擴(kuò)展性和適用性強(qiáng);(2)不同節(jié)律步態(tài)的切換和腿間次序調(diào)整方便,每條腿的步幅、方向,抬腿高度均可單獨(dú)調(diào)整,應(yīng)用靈活性高。通過(guò)調(diào)整各腿的參數(shù),機(jī)身可實(shí)現(xiàn)直走、旋轉(zhuǎn)、側(cè)移等運(yùn)動(dòng),能夠滿足在各類(lèi)任務(wù)對(duì)機(jī)身運(yùn)動(dòng)方式的需求。
圖3 生成每個(gè)足端的具體軌跡
六足機(jī)器人節(jié)律步態(tài)下足端軌跡自適應(yīng)地形策略是通過(guò)足端接觸傳感器與改進(jìn)的足端軌跡設(shè)計(jì)配合,將復(fù)雜環(huán)境的地形情況分成了三類(lèi):輕度崎嶇、中度崎嶇和重度崎嶇,在此基礎(chǔ)上,結(jié)合上一部分提出的步態(tài)生成方法,給出對(duì)應(yīng)類(lèi)型地形的自適應(yīng)策略。
對(duì)上述的足端軌跡做出適當(dāng)改進(jìn)(如圖4)是在原軌跡ABC 中加入了緩沖區(qū)和引導(dǎo)區(qū)的劃分,擺動(dòng)相中的CD 段被稱(chēng)為緩沖區(qū),ABC 段稱(chēng)為引導(dǎo)區(qū),支撐相軌跡會(huì)依據(jù)自適應(yīng)策略以及機(jī)身位姿進(jìn)行實(shí)時(shí)的規(guī)劃調(diào)整。緩沖區(qū)和引導(dǎo)區(qū)的大小設(shè)置因不同設(shè)計(jì)結(jié)構(gòu)的六足機(jī)器人而異,與機(jī)器人的工作空間相關(guān)。該改進(jìn)不僅能為地形自適應(yīng)的調(diào)整策略提供幫助,而且能夠使六足機(jī)器人在僅有接觸傳感器的情況下具備一定程度的地形感知分類(lèi)能力。
圖4 改進(jìn)的足端軌跡示意圖
根據(jù)落足點(diǎn)在緩沖區(qū)CD 段的高度,可以計(jì)算出足端之間相對(duì)機(jī)身坐標(biāo)的傾斜角,從而估計(jì)機(jī)器人所處的地形狀況,當(dāng)傾斜角在范圍內(nèi)時(shí),則機(jī)器人判定其所處的地形為輕度崎嶇地形。在此范圍內(nèi)六足機(jī)器人后續(xù)的腿部運(yùn)動(dòng)沒(méi)有受到很大的限制,因而可以采用無(wú)機(jī)身位姿調(diào)整策略,其自適應(yīng)軌跡示意圖如圖5 所示。
圖5 無(wú)位姿調(diào)整的自適應(yīng)軌跡
圖6 有位姿調(diào)整的自適應(yīng)軌跡
對(duì)于落足點(diǎn)處于緩沖區(qū)外或者引導(dǎo)區(qū)內(nèi)足端受到碰撞等特殊情況下,機(jī)器人將會(huì)判定其所處的地形為重度崎嶇地形。機(jī)器人將觸發(fā)系列特殊軌跡模式以尋找合適的落腳點(diǎn),直至超出足端的工作空間,設(shè)計(jì)的觸發(fā)模式方案可分為觸壁抬腿軌跡模式和踏空尋落軌跡模式。
當(dāng)足端在抬起階段受到碰撞時(shí),會(huì)觸發(fā)觸壁抬腿軌跡模式,足端沿著重新規(guī)劃的軌跡完成落足;在下落階段,足端超出緩沖區(qū)范圍卻仍未有可靠的落足點(diǎn)時(shí),會(huì)觸發(fā)踏空尋落軌跡模式,在可達(dá)空間內(nèi)尋找新的落足點(diǎn)。每個(gè)模式都可以被多次觸發(fā),形成組合的地形探索及自適應(yīng)軌跡,能較好地處理特殊情況下落足點(diǎn)的選取問(wèn)題,從而增強(qiáng)六足機(jī)器人在復(fù)雜地形中的運(yùn)動(dòng)性能。
移動(dòng)機(jī)器人在復(fù)雜地形中移動(dòng)時(shí),不僅要考慮障礙信息,還要考慮高低不平的地形因素。通過(guò)篩選和處理,構(gòu)造出一個(gè)機(jī)器人可以識(shí)別的數(shù)學(xué)空間,以便機(jī)器人自身進(jìn)行判斷并實(shí)現(xiàn)安全有效的移動(dòng)。這里將八叉樹(shù)地圖進(jìn)行處理。
(1)構(gòu)造數(shù)值化模型,取最低點(diǎn)的高度為0cm,其他點(diǎn)的高度以最低點(diǎn)為基準(zhǔn),得出相對(duì)高度,形成類(lèi)似如下數(shù)值矩陣:
(2)機(jī)器人的抬腿高度決定了能通過(guò)區(qū)域的坡度,以此為閾值,通過(guò)算法篩選矩陣中相鄰元素的差值大于閾值的區(qū)域,將對(duì)應(yīng)柵格設(shè)置為被障礙占據(jù),內(nèi)部不允許通過(guò)。
(3)將障礙物進(jìn)行膨化處理,使其略大于實(shí)際障礙物,移動(dòng)機(jī)器人可以沿著邊界行走而不會(huì)碰到障礙物。
以上對(duì)八叉樹(shù)地圖的處理實(shí)現(xiàn)了對(duì)三維地圖的降維,生成了可供移動(dòng)機(jī)器人路徑規(guī)劃的二維占據(jù)柵格地圖。接下來(lái),在二維柵格地圖上實(shí)現(xiàn)移動(dòng)機(jī)器人的全局路徑規(guī)劃,為了兼容復(fù)雜地形下的導(dǎo)航,采用由經(jīng)典的RRT(rapidly exploring random tree)算法改進(jìn)而來(lái)的雙樹(shù)Quick-RRT*算法,其相比RRT 算法具有更快的收斂速度和更好的路徑生成質(zhì)量,適合解決多自由度機(jī)器人在復(fù)雜環(huán)境下和動(dòng)態(tài)環(huán)境中的路徑規(guī)劃。
本項(xiàng)目使用VREP 仿真平臺(tái)完成六足機(jī)器人模型的搭建,使用MATLAB 聯(lián)合VREP 仿真的方式對(duì)上述提出的自適應(yīng)運(yùn)動(dòng)控制方法進(jìn)行實(shí)驗(yàn)驗(yàn)證。如圖7、圖8 所示,六足機(jī)器人實(shí)現(xiàn)機(jī)身位置和姿態(tài)的跟蹤,并使得六足機(jī)器人完成復(fù)雜的爬坡和跨越崎嶇地形運(yùn)動(dòng),能夠達(dá)到預(yù)期的運(yùn)動(dòng)效果。
圖7 六足機(jī)器人爬坡
圖8 六足機(jī)器人穿越崎嶇地形
通過(guò)對(duì)比正常步態(tài)和自適應(yīng)步態(tài)穿越崎嶇地形過(guò)程中機(jī)身位姿的變化,在正常步態(tài)下,機(jī)身俯仰角度最大達(dá)到了2.6303°,翻滾角度最大達(dá)到了2.8628°;而在自適應(yīng)步態(tài)下,機(jī)身的的最大俯仰角僅0.7014°,翻滾角為0.6061°,自適應(yīng)運(yùn)動(dòng)能達(dá)到有效平穩(wěn)機(jī)身的效果。
多機(jī)器人協(xié)同環(huán)境重構(gòu)后已經(jīng)對(duì)三維稠密點(diǎn)云地圖的空間重復(fù)點(diǎn)以及孤立散點(diǎn)進(jìn)行濾除,本小節(jié)直接采用Octomap 工具對(duì)點(diǎn)云地圖進(jìn)行壓縮,生成八叉樹(shù)地圖,三維稠密點(diǎn)云地圖轉(zhuǎn)八叉樹(shù)地圖如圖9 所示。
圖9 三維稠密點(diǎn)云地圖轉(zhuǎn)八叉樹(shù)地圖