莊水管, 翟遠(yuǎn)釗, 莊哲明, 戴建生
(1.天津大學(xué)機(jī)械工程學(xué)院, 天津 300350; 2. 福建省同安第一中學(xué)信息技術(shù)教研組, 廈門 361100;3.國防科技大學(xué)計算機(jī)學(xué)院, 長沙 410000)
移動機(jī)器人在勘探、救災(zāi)、物流、娛樂等多種復(fù)雜的場景中都有廣泛的應(yīng)用。移動機(jī)器人可以根據(jù)行走方式分為三類:輪式機(jī)器人[1-2]、履帶式機(jī)器人[3-4]和足式機(jī)器人[5-11]。其中,輪式機(jī)器人和履帶式機(jī)器人比較適合在平坦的地面上工作。但在日常生活中,移動機(jī)器人的工作場景包含溝壑、陡坡、樓梯等復(fù)雜的地形。因此,在這些地形中,輪式機(jī)器人和履帶式機(jī)器人的應(yīng)用受到了限制。而足式機(jī)器人可以很好地適應(yīng)復(fù)雜的地形,進(jìn)而可以更好地完成工作,因此成為當(dāng)前的重要研究熱點之一。
此類機(jī)器人模仿動物的動作,通過靈活的協(xié)調(diào)運(yùn)動,能夠適應(yīng)各種凹凸不平、陡峭的地形。從仿生角度,傳統(tǒng)的足式機(jī)器人可以根據(jù)行走方式分為三類:哺乳動物式的結(jié)構(gòu)[5-6]、爬行動物式的結(jié)構(gòu)[7-8]和節(jié)肢動物式的結(jié)構(gòu)[9-10]。其中,大體型的足式機(jī)器人一般采用哺乳動物式的結(jié)構(gòu)。此類機(jī)器人的髖關(guān)節(jié)(腿部第一個關(guān)節(jié))的軸線與軀體的縱方向平行,用于實現(xiàn)腿部的側(cè)向移動。其余的關(guān)節(jié)的軸線與髖關(guān)節(jié)的軸線垂直,同時平行于軀體的橫方向,用于實現(xiàn)腿部的彎曲和伸展。由于此類機(jī)器人在垂直于地面豎直方向上的腿部的工作空間較大,能夠跨越比較高的障礙,進(jìn)而實現(xiàn)跳躍式奔跑,移動速度較快[5]。因此哺乳動物式的足式機(jī)器人一般較為高大。但由于其重心較高,因此穩(wěn)定性較差,轉(zhuǎn)彎較為困難,需要配備復(fù)雜的傳感與控制系統(tǒng),以維持其穩(wěn)定地運(yùn)動[6]。相反的,爬行動物式的足式機(jī)器人一般結(jié)構(gòu)較為簡單。其髖關(guān)節(jié)的軸線與軀體所在平面垂直,用于實現(xiàn)腿部的擺動。腿部的其余關(guān)節(jié)的軸線與髖關(guān)節(jié)的軸線垂直,且與軀體所在平面平行,用于實現(xiàn)腿部的彎曲和伸展[7]。由于此類機(jī)器人在豎直方向上的腿部的工作空間較小,因此相比之下其越障能力較差、運(yùn)動速度較慢。但其重心較低,足端形成的支撐多邊形的面積較大,因而具備更強(qiáng)的穩(wěn)定性,能夠較為容易地在非結(jié)構(gòu)地形中轉(zhuǎn)彎[8],適用于中小型的家用的足式機(jī)器人。節(jié)肢動物式的足式機(jī)器人大多擁有多條腿,腿成對分布在身體兩側(cè),機(jī)器人軀體的底部貼近地面[9]。相比爬行動物式的足式機(jī)器人,具有重心更低、負(fù)載更高[10]的特點。但是此類機(jī)器人的速度一般較慢,使用的場景受到限制。
由于具有靈活度高、適應(yīng)性強(qiáng)、負(fù)載大等特點,近些年來足式機(jī)器人受到廣泛關(guān)注。但面對非結(jié)構(gòu)地形和復(fù)雜場景的任務(wù),尚未形成系統(tǒng)性的應(yīng)對方案。由于傳統(tǒng)的足式機(jī)器人大多采用剛性的軀體結(jié)構(gòu),因此不能很好地模仿動物的柔性軀體結(jié)構(gòu)。因為動物在運(yùn)動時脊柱的彎曲對爬行、轉(zhuǎn)彎和跳躍等運(yùn)動起到了關(guān)鍵性作用[11],因此柔性腰部結(jié)構(gòu)的缺失極大地限制了足式機(jī)器人的發(fā)展。針對這個問題,現(xiàn)將變胞理論[12]運(yùn)用到足式機(jī)器人中,設(shè)計一款可重構(gòu)足式機(jī)器人??梢栽诓溉閯游镄汀⑴佬袆游镄秃凸?jié)肢動物型3種形態(tài)之間自由切換,很好地應(yīng)對各種非結(jié)構(gòu)地形,而且在傾倒時能夠更快速地恢復(fù)運(yùn)動。同時,將機(jī)器人的軀體設(shè)計為柔性的腰部,可以有效擴(kuò)大機(jī)器人的工作空間,提高面對復(fù)雜場景的適應(yīng)能力。結(jié)合圖神經(jīng)網(wǎng)絡(luò)、深度強(qiáng)化學(xué)習(xí)、自監(jiān)督學(xué)習(xí)等技術(shù),針對機(jī)器人在包含動態(tài)行人場景下的導(dǎo)航任務(wù)進(jìn)行優(yōu)化。
可重構(gòu)四足機(jī)器人整體由軀干和四條腿組成。如圖1所示,其結(jié)構(gòu)設(shè)計主要圍繞柔性軀干和腿部進(jìn)行。機(jī)器人的4條腿結(jié)構(gòu)上完全相同,如圖2所示,均由髖關(guān)節(jié)、股關(guān)節(jié)、大腿和小腿組成,每條腿都依靠4個電機(jī)驅(qū)動。其中,髖關(guān)節(jié)部分包括軀干內(nèi)的1號電機(jī)到2號電機(jī),股關(guān)節(jié)部分包括2號電機(jī)到3號電機(jī),4號電機(jī)被固定在大腿上的膝關(guān)節(jié)位置,與小腿連接。
圖1 可重構(gòu)四足機(jī)器人Fig.1 Reconfigurable quadruped robot
圖2 腿部結(jié)構(gòu)Fig.2 Structure of the leg
如圖3所示,在機(jī)器人的腰部位置設(shè)置有一個鉸鏈結(jié)構(gòu),讓機(jī)器人獲得柔性的腰部。為了保證機(jī)器人整體美觀并保護(hù)內(nèi)部的電子元件及線路,腰部整體結(jié)構(gòu)被包裹在一個能夠連接前后部的風(fēng)琴罩中。機(jī)器人的軀干分為前部、腰部、后部3個部分。前部和后部分別是由結(jié)構(gòu)上幾乎完全相同的2個箱體連接而成,箱體的內(nèi)部結(jié)構(gòu)與機(jī)器人髖關(guān)節(jié)通過螺絲配合連接。如圖4所示,留有充足的空間存放電池,確保機(jī)器人的續(xù)航能力。
圖3 腰部結(jié)構(gòu)Fig.3 Structure of the waist
圖4 內(nèi)部結(jié)構(gòu)Fig.4 Structure of the body
可重構(gòu)四足機(jī)器人可以在哺乳動物、爬行動物與節(jié)肢動物3種形態(tài)之間自由轉(zhuǎn)換,具有一般的單形態(tài)移動機(jī)器人不具有的優(yōu)點。
機(jī)器人的4條腿以前后箱體為區(qū)分、兩兩成對,因此只需要分析一條前腿和一條后腿的轉(zhuǎn)換過程即可。如圖5所示,以左前腿為例。當(dāng)機(jī)器人需要由哺乳動物形態(tài)向爬行動物形態(tài)轉(zhuǎn)換時,將依次進(jìn)行如下動作:首先,4號電機(jī)牽引小腿向大腿靠攏,以減小后續(xù)運(yùn)動過程中的運(yùn)動力矩。然后,2號電機(jī)牽引整條腿翻轉(zhuǎn)180°,使髖關(guān)節(jié)運(yùn)動到指定位置。最后,在3號電機(jī)和4號電機(jī)的牽引下,大腿和小腿運(yùn)動,最終小腿接觸地面完成動作。右前腿的動作順序與左前腿完全相同。
圖5 左前腿:哺乳動物形態(tài)向爬行動物形態(tài)轉(zhuǎn)換Fig.5 Left front leg: process from mammal to reptile
如圖6所示,再以左后腿為例。首先,4號電機(jī)牽引小腿向大腿靠攏。然后,3號電機(jī)牽引大腿和小腿一起運(yùn)動至指定位置。最后,小腿在4號電機(jī)的牽引下接觸地面,完成全部動作。右后腿的動作順序與左后腿完全相同。4條腿按照左前腿、右前腿、左后腿、右后腿的順序依次運(yùn)動,每條腿在運(yùn)動的過程中,機(jī)器人都有另外3條腿保持支撐,以確保身體和動作的穩(wěn)定。
圖6 左后腿:哺乳動物形態(tài)向爬行動物形態(tài)轉(zhuǎn)換Fig.6 Left back leg: process from mammal to reptile
通過上述簡單的動作,機(jī)器人即可完成從哺乳動物形態(tài)到爬行動物形態(tài)的轉(zhuǎn)換。完成形態(tài)轉(zhuǎn)換后,機(jī)器人的重心將降低,因此機(jī)身更加穩(wěn)定,橫向運(yùn)動更加靈活。如果工作環(huán)境需要機(jī)器人進(jìn)一步降低重心,并收攏腿部以減小占用空間,機(jī)器人可以由爬行動物形態(tài)轉(zhuǎn)換成節(jié)肢動物形態(tài)。如圖7所示,1號電機(jī)驅(qū)動機(jī)器人髖部逐漸運(yùn)動到指定位置,同時其他3個電機(jī)牽引腿部配合機(jī)器人髖部的運(yùn)動,最終完成動作。在這個過程中,四條腿的動作可以同時進(jìn)行,且不影響機(jī)器人的整體穩(wěn)定性。
圖7 爬行動物形態(tài)向節(jié)肢動物形態(tài)轉(zhuǎn)換Fig.7 Process from reptile to arthropod
當(dāng)然,機(jī)器人也可以直接通過完成連續(xù)的動作,直接完成哺乳動物形態(tài)到節(jié)肢形態(tài)的轉(zhuǎn)換。具體的轉(zhuǎn)換動作與上述轉(zhuǎn)換過程相同。通過在3種形態(tài)之間的自由轉(zhuǎn)換,機(jī)器人的適應(yīng)能力得到大幅提升,能夠適應(yīng)更多環(huán)境,完成更多工作。
對于自然界的動物而言,在傾覆后能夠快速翻身,是躲避掠食者的生存關(guān)鍵技能之一,很多動物如狗、貓、老虎等都具有很好的傾覆后翻身能力。而現(xiàn)有的機(jī)器人結(jié)構(gòu)很難做到像動物那樣靈活,這大大限制了機(jī)器人的應(yīng)用場景,傾覆后如何翻身成為一個新的難題?,F(xiàn)有的機(jī)器人傾覆后翻身主要有如下形式:通過實時的姿態(tài)反饋[6-7],不斷調(diào)整動作實現(xiàn)自我恢復(fù);依靠機(jī)械臂、翅膀等外掛部件[8,10]協(xié)助翻身;模仿自然界中昆蟲的翻身動作[9,11]實現(xiàn)傾覆后翻身。綜上所述,可知現(xiàn)有的機(jī)器人傾覆后翻身方案大多是依賴閉環(huán)控制、動態(tài)調(diào)節(jié)或是附加的部件。但是在實際應(yīng)用中,機(jī)器人傾覆后的情況難以預(yù)測,導(dǎo)致這些方案不一定能起到很好的效果。借助可重構(gòu)四足機(jī)器人特殊的腿部結(jié)構(gòu),提出了一種新穎的機(jī)器人傾覆后的自我恢復(fù)策略。
如圖8所示,當(dāng)可重構(gòu)四足機(jī)器人傾覆時將通過以下動作完成翻身:首先,小腿在4號電機(jī)帶動下向大腿靠攏,以減少翻身所需的力矩。然后,3號電機(jī)再帶動著大小腿向地面靠攏,待小腿接觸地面時停下。最后,3號電機(jī)和4號電機(jī)共同工作,帶動大小腿緩緩撐起整個機(jī)器人,機(jī)器人即可恢復(fù)工作。
圖8 傾覆后的翻身動作Fig.8 Turning over after overturning
在同等體型、同等翻身需求下,該方案只需要克服自身重力并完成起身動作,而傳統(tǒng)方案大多依靠慣性翻身,依賴于機(jī)器人的電機(jī)提供瞬時的巨大的力。提出的翻身方案利用其在可重構(gòu)四足機(jī)器人獨有的結(jié)構(gòu)優(yōu)勢,不僅快捷,而且機(jī)器人重心始終處于支撐多邊形內(nèi),因此變形過程十分穩(wěn)定,能夠適應(yīng)各種復(fù)雜的工作場景。同時,降低了機(jī)器人對電機(jī)的要求,提高了翻身的效率。
為了解決可重構(gòu)四足機(jī)器人在復(fù)雜場景中的協(xié)同導(dǎo)航算法問題,如在工廠、校園等包含動態(tài)行人的場景中完成配送任務(wù),采用時空-圖注意力神經(jīng)網(wǎng)絡(luò)對機(jī)器人節(jié)點和行人節(jié)點進(jìn)行建模,并從歷史軌跡中提取出行人和機(jī)器人的潛在特征,設(shè)置使用行人軌跡預(yù)測的輔助任務(wù)與無模型的強(qiáng)化學(xué)習(xí)算法一同對機(jī)器人的策略網(wǎng)絡(luò)進(jìn)行更新。
首先,根據(jù)復(fù)雜場景的特點對機(jī)器人和行人給出基本的定義,其共有的狀態(tài)如下。
(1)所在的位置。
(1)
(2)速度。
ut=[νt,ωt]
(2)
式(2)中:νt和ωt分別為t時刻機(jī)器人或某個行人在二維平面上的線速度和角速度。
綜上可知,機(jī)器人的觀測內(nèi)容為
(3)
分別為行人的位置、速度和工作半徑。
機(jī)器人根據(jù)觀測ot,做出動作at,該動作為機(jī)器人下一時刻的速度,即
at=ut+1=[νt+1,ωt+1]
(4)
在本場景中,機(jī)器人的協(xié)同導(dǎo)航任務(wù)的目標(biāo)是在不與動態(tài)行人發(fā)生碰撞的前提下,盡可能快地到達(dá)目標(biāo)位置完成配送,則可得以下狀態(tài)關(guān)系。
(5)
(6)
(7)
(8)
(9)
即機(jī)器人的移動策略π為:在時刻t根據(jù)觀測內(nèi)容ot生成動作at,at作用于環(huán)境中導(dǎo)航機(jī)器人運(yùn)動,同時環(huán)境給予機(jī)器人一個及時獎勵rt=[st,at],運(yùn)算轉(zhuǎn)移到下一個進(jìn)程。其中,獎勵函數(shù)[13]的定義如下。
(10)
式(10)中:dt為機(jī)器人離所在場景中任一動態(tài)行人的最近距離;st為當(dāng)前時刻場景的狀態(tài)。
在工廠、校園等包含動態(tài)行人的復(fù)雜場景中,配送任務(wù)的難點在于機(jī)器人對障礙物的感知能力不足。這是由于行人具有社交屬性,無法靠固定的規(guī)則去預(yù)判行動軌跡,因此僅依據(jù)當(dāng)前時刻的觀測難以得到動態(tài)行人的潛在特征。因此將時空-圖注意力神經(jīng)網(wǎng)絡(luò)應(yīng)用到無模型的強(qiáng)化學(xué)習(xí)算法中,用于提取機(jī)器人和行人的節(jié)點潛在特征,整體架構(gòu)如圖9所示。
圖9 算法架構(gòu)圖Fig.9 Algorithm architecture
該架構(gòu)主要由兩個模塊組成:基于Dueling-DQN算法的強(qiáng)化學(xué)習(xí)主任務(wù)模塊和基于行人軌跡預(yù)測的自監(jiān)督學(xué)習(xí)輔助任務(wù)模塊。兩個模塊共享用于提取行人和機(jī)器人特征的時空-圖注意力神經(jīng)網(wǎng)絡(luò)。時空-圖注意力神經(jīng)網(wǎng)絡(luò)的輸出包含機(jī)器人節(jié)點對應(yīng)的特征向量和行人節(jié)點對應(yīng)的特征向量,其中機(jī)器人節(jié)點對應(yīng)的特征向量經(jīng)過時間卷積層和全連接層之后映射為機(jī)器人的運(yùn)動和當(dāng)前狀態(tài)對應(yīng)的值;行人節(jié)點的對應(yīng)特征向量經(jīng)過時間卷積層[13-14]輸出接下來數(shù)個步長的時段內(nèi)的預(yù)測軌跡,并階段性地將實時預(yù)測軌跡與真實軌跡進(jìn)行對比,訓(xùn)練神經(jīng)網(wǎng)絡(luò)朝著預(yù)測更加準(zhǔn)確的方向迭代。
圖神經(jīng)網(wǎng)絡(luò)的最后一層輸出的是所有節(jié)點的特征向量,而對于機(jī)器人的導(dǎo)航任務(wù),與環(huán)境的交互僅僅使用了機(jī)器人節(jié)點對應(yīng)的特征向量,行人節(jié)點對應(yīng)的輸出向量都未被使用,導(dǎo)致訓(xùn)練效率大大降低。為了充分利用圖神經(jīng)網(wǎng)絡(luò)的輸出以提高其表征能力,提出使用基于行人軌跡預(yù)測的輔助任務(wù),機(jī)器人節(jié)點對應(yīng)的圖神經(jīng)網(wǎng)絡(luò)的輸出特征向量用于生成機(jī)器人的動作,與環(huán)境交互以更新強(qiáng)化學(xué)習(xí)主任務(wù)。行人節(jié)點對應(yīng)的圖神經(jīng)網(wǎng)絡(luò)的輸出特征向量經(jīng)過處理后用于預(yù)測未來時間步的軌跡,采用自監(jiān)督學(xué)習(xí)的方法去提升預(yù)測性能,以提高時空-圖注意力神經(jīng)網(wǎng)絡(luò)的表征能力,作為輔助任務(wù)。在時刻t,對行人n來說,依據(jù)之前T步的軌跡可以預(yù)測接下來Tp個時間步的軌跡為
(11)
假設(shè)行人的軌跡滿足二元高斯分布,則軌跡預(yù)測值可以表示為
(12)
(13)
式(13)中:Wg和Wt為輔助任務(wù)中的所有可訓(xùn)練參數(shù),分別對應(yīng)時空-圖注意力神經(jīng)網(wǎng)絡(luò)和用于提取處理行人節(jié)點對應(yīng)特征向量的時間卷積網(wǎng)絡(luò);P為二元高斯分布下行人軌跡出現(xiàn)的概率。
主任務(wù)采用Dueling-DQN方法來訓(xùn)練,標(biāo)記主任務(wù)的狀態(tài)價值網(wǎng)絡(luò)的損失函數(shù)為L(Wg,Wf)。其中Wg和Wf是主任務(wù)中的所有可訓(xùn)練參數(shù),分別對應(yīng)時空-圖注意力神經(jīng)網(wǎng)絡(luò)和用于最終輸出機(jī)器人的狀態(tài)動作價值的全連接網(wǎng)絡(luò)。為了控制訓(xùn)練過程,將主任務(wù)損失函數(shù)L(Wg,Wf)和輔助任務(wù)損失函數(shù)L(Wg,Wt)控制在一個數(shù)量級。最終訓(xùn)練過程的損失函數(shù)為
L(Wg,Wt,Wf)=L(Wg,Wf)+L(Wg,Wt)×10-4
(14)
基于前期算法設(shè)計,完成了行人控制等實驗的配置,完善了神經(jīng)網(wǎng)絡(luò)的具體實現(xiàn)細(xì)節(jié)。其中,實驗所采用的復(fù)雜場景是基于現(xiàn)有開源代碼構(gòu)建的,包含8個半徑為4 m的圓圈是受ORCA算法控制的動態(tài)行人,平均速度為1 m/s。對于任何動態(tài)行人,其初始位置和目標(biāo)位置都設(shè)置在圓圈內(nèi),并關(guān)于圓心對稱。因此,它們會在大約 4.0 s時在圓心附近相碰。當(dāng)行人到達(dá)目標(biāo)位置后,都會隨機(jī)重置一個新的目標(biāo)位置,將之前的目標(biāo)位置記錄為起始位置。需要注意的是,機(jī)器人相對于行人是不可見的,以此來模擬復(fù)雜場景中的行人無視機(jī)器人、不會給機(jī)器人主動讓路的狀態(tài)。因此,這就要求機(jī)器人的協(xié)同導(dǎo)航算法更加具有主動性和預(yù)測性[15]。
為了評估基于行人軌跡預(yù)測的自監(jiān)督學(xué)習(xí)輔助任務(wù)對強(qiáng)化學(xué)習(xí)主任務(wù)性能的有效影響,以是否包含輔助任務(wù)為變量,對比兩種強(qiáng)化學(xué)習(xí)主任務(wù),并將兩種方法的輔助任務(wù)預(yù)測損失值L(Wg,Wt)可視化,如圖10所示??梢灾庇^看出,通過設(shè)置基于行人軌跡預(yù)測的自監(jiān)督學(xué)習(xí)輔助任務(wù),時空-圖注意力神經(jīng)網(wǎng)絡(luò)具有了更好的預(yù)測行人未來軌跡的能力。
圖10 訓(xùn)練對比Fig.10 Comparison of training
同樣以是否包含輔助任務(wù)為變量,將兩種強(qiáng)化學(xué)習(xí)主任務(wù)對應(yīng)的協(xié)同導(dǎo)航算法的訓(xùn)練曲線可視化,如圖11所示。可以直觀看出,基于行人軌跡預(yù)測的輔助任務(wù)可以對強(qiáng)化學(xué)習(xí)主任務(wù)有效、積極的影響。具體表現(xiàn)為更高的樣本利用率和達(dá)到收斂后更穩(wěn)定的性能,即機(jī)器人可以更好地“理解”行人的動態(tài),從而更好地在工廠、校園等場景中完成配送任務(wù)。
圖11 復(fù)雜場景中的兩種訓(xùn)練曲線Fig.11 Two training curves in complex environment
將變胞理論運(yùn)用到足式機(jī)器人中,設(shè)計一款可以在哺乳動物型、爬行動物型和節(jié)肢動物型3種形態(tài)之間自由切換的可重構(gòu)足式機(jī)器人。結(jié)合神經(jīng)網(wǎng)絡(luò)、深度強(qiáng)化學(xué)習(xí)、自監(jiān)督學(xué)習(xí)等技術(shù),針對機(jī)器人在包含動態(tài)行人場景下的導(dǎo)航任務(wù)進(jìn)行優(yōu)化。使機(jī)器人在生成導(dǎo)航策略時不僅僅考慮與行人的直接或間接互動,還能從自身和行人的歷史軌跡中提取出對當(dāng)前導(dǎo)航有用的信息?;谛腥塑壽E預(yù)測的輔助任務(wù)采用自監(jiān)督學(xué)習(xí)范式,引導(dǎo)時空-圖注意力神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程,使得時空-圖注意力神經(jīng)網(wǎng)絡(luò)具有更強(qiáng)的對行人社交屬性等復(fù)雜特性的表征能力。
(1)可重構(gòu)四足機(jī)器人可以很好地應(yīng)對各種非結(jié)構(gòu)地形,而且在傾倒時能夠更快速地恢復(fù)運(yùn)動。同時,將機(jī)器人的軀體設(shè)計為柔性的腰部,可以有效擴(kuò)大機(jī)器人的工作空間,提高面對復(fù)雜場景的適應(yīng)能力。
(2)實驗結(jié)果表明,協(xié)同導(dǎo)航算法綜合時間和空間兩個維度有助于提升包含動態(tài)行人的復(fù)雜場景下機(jī)器人的導(dǎo)航能力?;谛腥塑壽E預(yù)測的輔助任務(wù)有助于提升導(dǎo)航策略的訓(xùn)練效率,并提升最終的導(dǎo)航性能。