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