崔朝臣,張 翔,熊 丹,韓 偉,黃奕勇
(軍事科學(xué)院國(guó)防科技創(chuàng)新研究院,北京 100071)
隨著航天工業(yè)的高速發(fā)展,人類(lèi)的空間活動(dòng)日益增多[1],尤其近些年商業(yè)衛(wèi)星的發(fā)射數(shù)量連年增多,不免發(fā)生損壞的情況.若不加干涉,不僅會(huì)造成經(jīng)濟(jì)損失,同時(shí)會(huì)產(chǎn)生太空垃圾,占用軌道資源[2].因此,對(duì)損壞衛(wèi)星進(jìn)行維護(hù)或?qū)嵤┳ゲ妒俏磥?lái)空間發(fā)展的重要研究方向.另外,受火箭發(fā)射成本和體積的限制,傳統(tǒng)剛性空間機(jī)械臂不適用于商業(yè)衛(wèi)星在軌服務(wù)或抓捕等場(chǎng)景.柔性機(jī)械臂作為一種剛性機(jī)電一體化空間機(jī)械臂的替代品,近年來(lái)引起了人們的廣泛關(guān)注.與機(jī)電機(jī)器人相比,軟機(jī)器人的性能除了具有較輕的質(zhì)量、低廉的價(jià)格,還具有可壓縮、操控靈活、高安全性等特征[3],使其更加適用于空間操作場(chǎng)景.雖然柔性機(jī)械臂具有上述優(yōu)點(diǎn),但軟體機(jī)器人高度柔順的多材料結(jié)構(gòu)、非線(xiàn)性的物理化學(xué)性質(zhì),及由于其連續(xù)性而具有無(wú)限個(gè)自由度等特點(diǎn),使得對(duì)其進(jìn)行[4]體動(dòng)力學(xué)建模更具挑戰(zhàn)性.雖然已經(jīng)有很多學(xué)者探索了各種方法來(lái)控制軟機(jī)器人[5],但典型的大變形和無(wú)限自由度使其難以精確控制[6].
針對(duì)軟體機(jī)械臂動(dòng)力學(xué)建模問(wèn)題,國(guó)內(nèi)外學(xué)者做了一系列探索.就目前提出的模型而言,解決軟體機(jī)器人動(dòng)力學(xué)建模與控制的一種有效的方法是使用來(lái)自各種形式的外部來(lái)源的大型數(shù)據(jù)集[7].同時(shí),神經(jīng)網(wǎng)絡(luò)已被證明是解決包括機(jī)器人在內(nèi)的不同應(yīng)用領(lǐng)域中各種非線(xiàn)性問(wèn)題的有效工具.Braganza等[8]首次將神經(jīng)網(wǎng)絡(luò)算法用于軟體機(jī)器人的控制中,利用前饋神經(jīng)網(wǎng)絡(luò)補(bǔ)償系統(tǒng)的動(dòng)態(tài)不確定性,試圖減少不確定性邊界.Giorelli等[9]對(duì)繩驅(qū)軟體機(jī)械臂進(jìn)行逆運(yùn)動(dòng)學(xué)建模,將機(jī)械臂末端作為模型的輸入,繩子的張力作為輸出,建立映射關(guān)系.Thuruthel等[10]介紹了一種利用神經(jīng)網(wǎng)絡(luò)的方法,用于在任務(wù)空間中閉環(huán)運(yùn)動(dòng)學(xué)控制連續(xù)機(jī)械臂,其中輸入為末端執(zhí)行器的姿態(tài).Hyatt等[11]使用學(xué)習(xí)的非線(xiàn)性離散時(shí)間模型實(shí)現(xiàn)了六自由度軟機(jī)器人的精確控制.
考慮到軟體機(jī)械人的結(jié)構(gòu)特征,可將其控制理解為從根部到末端的依次貫序決策問(wèn)題.對(duì)于序列問(wèn)題,相較于反向傳播(back propagation,BP)神經(jīng)網(wǎng)絡(luò)等模型,使用善于處理時(shí)序數(shù)據(jù)的模型更為合適.Transformer作為時(shí)序數(shù)據(jù)處理領(lǐng)域的優(yōu)秀模型,近些年在視頻處理、自然語(yǔ)言處理、醫(yī)藥等領(lǐng)域得到廣泛應(yīng)用并取得巨大成就[12],但其在軟體機(jī)器人控制領(lǐng)域卻鮮有學(xué)者嘗試.Alkhodary和Gur[13]提出一種基于Transformer的軟體機(jī)械臂模型,用于軟體機(jī)器人控制.但是在輸入端只將末端位置作為輸入,導(dǎo)致模型無(wú)法學(xué)習(xí)到在某一末端位置下,軟體臂不同部位姿態(tài),即逆運(yùn)動(dòng)學(xué)求解過(guò)程.這種方式雖然可以通過(guò)給定末端位姿輸出軟體臂驅(qū)動(dòng)量,但由于缺乏逆運(yùn)動(dòng)學(xué)求解過(guò)程,削弱了神經(jīng)網(wǎng)絡(luò)模型的表達(dá)能力.
針對(duì)該問(wèn)題,為充分利用神經(jīng)網(wǎng)絡(luò)模型強(qiáng)大的表達(dá)與逼近能力,本文提出了一種端到端兩階段的神經(jīng)網(wǎng)絡(luò)架構(gòu).該架構(gòu)首先通過(guò)給定末端位置進(jìn)行逆運(yùn)動(dòng)學(xué)求解,解算出軟體機(jī)械臂關(guān)鍵關(guān)節(jié)處的位置,得到期望軟體臂的姿態(tài);進(jìn)而,通過(guò)軟體臂的姿態(tài)對(duì)相應(yīng)的驅(qū)動(dòng)輸入進(jìn)行映射,進(jìn)行機(jī)械臂控制,從而得到從給定末端位置解算出軟體臂驅(qū)動(dòng)輸入量.本文通過(guò)引入逆運(yùn)動(dòng)學(xué)求解階段模型,引入末端位置與軟體機(jī)械臂每個(gè)部分所對(duì)應(yīng)的位置關(guān)系,進(jìn)行數(shù)據(jù)增強(qiáng),以提升模型的表達(dá)能力.同時(shí),根據(jù)軟體機(jī)械臂的結(jié)構(gòu)特征,提出一種異步Transformer執(zhí)行策略,將輸入輸出按照軟體機(jī)械臂的結(jié)構(gòu)順序依次執(zhí)行,使模型更符合軟體機(jī)械臂的物理機(jī)理.本文整體框架如圖1所示.
圖1 基于兩階段神經(jīng)網(wǎng)絡(luò)架構(gòu)的空間軟體機(jī)械臂控制框架Fig.1 Control framework for space soft manipulator based on two-stage neural network architecture
本文的其余部分組織如下: 第2節(jié)簡(jiǎn)要介紹了本研究中使用的軟體機(jī)械臂運(yùn)動(dòng)學(xué)模型;第3節(jié)介紹了基于兩階段神經(jīng)網(wǎng)絡(luò)架構(gòu)的逆運(yùn)動(dòng)學(xué)模型和異步Transformer執(zhí)行策略;第4節(jié)對(duì)實(shí)驗(yàn)數(shù)據(jù)集、實(shí)驗(yàn)流程和評(píng)價(jià)指標(biāo)進(jìn)行了概述;第5節(jié)給出了與神經(jīng)網(wǎng)絡(luò)逆運(yùn)動(dòng)學(xué)求解有關(guān)的結(jié)果.論文最后簡(jiǎn)要討論了第5節(jié)的結(jié)果.
本文使用的軟體機(jī)械臂采用3節(jié)軟體驅(qū)動(dòng)器串聯(lián)結(jié)構(gòu)(見(jiàn)圖2),每節(jié)軟體臂由3個(gè)均勻排布的波紋管并行排列組成,每節(jié)的橫截面見(jiàn)圖3.每節(jié)軟體臂之間采用氣囊連接,可以通過(guò)充氣量控制其伸縮,每節(jié)并聯(lián)的波紋管之間采用剛性材料進(jìn)行連接.軟體臂在運(yùn)動(dòng)過(guò)程中,波紋管之間的剛性材料保持不變,確保3個(gè)波紋管并聯(lián)組合的軟體臂具備整體指向性.每個(gè)波紋管可單獨(dú)充氣進(jìn)行控制,通過(guò)多個(gè)波紋管的串并聯(lián)以及連接氣囊協(xié)同沖入不同氣壓可使機(jī)械臂在空間中完成復(fù)雜的運(yùn)動(dòng)[14].本文使用的軟體機(jī)械臂為采用帶約束的多驅(qū)動(dòng)器類(lèi)型.下面將針對(duì)該類(lèi)型進(jìn)行輸入氣壓與軟體機(jī)械臂末端運(yùn)動(dòng)關(guān)系構(gòu)建動(dòng)力學(xué)模型.
圖2 軟體機(jī)械臂Fig.2 Soft arm
圖3 并聯(lián)波紋管橫截面圖Fig.3 Cross section of parallel bellows
帶有約束的多動(dòng)力軟體臂是在單驅(qū)動(dòng)力驅(qū)動(dòng)器動(dòng)力模型上進(jìn)行的擴(kuò)展.下面對(duì)軟體機(jī)械臂進(jìn)行單驅(qū)動(dòng)器動(dòng)力學(xué)建模.帶有剛性約束的單節(jié)驅(qū)動(dòng)器由3個(gè)并聯(lián)的氣囊呈60°均勻分布并聯(lián)構(gòu)成,在每個(gè)波紋管的軸線(xiàn)方向布置N個(gè)約束架對(duì)波紋管進(jìn)行固定,確保3個(gè)波紋管之間的相對(duì)位置保持恒定.同時(shí)這N個(gè)剛性約束又將波紋管等長(zhǎng)度分割為小節(jié),每個(gè)小節(jié)沖入的氣壓值大小相同.從軟體機(jī)械臂的固定端開(kāi)始,對(duì)每一小節(jié)波紋管在剛性約束下的力學(xué)行為進(jìn)行分析.考慮到波紋管之間均勻排列,可知3根波紋管在剛性約束條件下具有相同的運(yùn)動(dòng)行為.本文在固定端和第1個(gè)剛性約束框建立坐標(biāo)系,分別取B0,B1為原點(diǎn),原點(diǎn)指向三角形對(duì)邊中點(diǎn)的方向?yàn)閤軸,取固定端和剛性約束框平面xy平面,x軸逆時(shí)針轉(zhuǎn)動(dòng)90°為y軸,xyz構(gòu)成右手直角坐標(biāo)系,如圖4 所示.
圖4 相鄰兩個(gè)平面上的直角坐標(biāo)系Fig.4 A rectangular coordinate system in two adjacent planes
在圖4中,波紋管固定在兩個(gè)平面間,設(shè)波紋管的彎曲角度為α,末端的彎曲角度為θ,則由x0y0z0到x1y1z1的旋轉(zhuǎn)矩陣為H,矩陣變換公式如式(1)所示:
由于x0y0z0和x1y1z1的坐標(biāo)系原點(diǎn)不重合,因此上式應(yīng)進(jìn)行一定量平移,如式(2)所示:
本文使用軟體機(jī)械臂為3節(jié)帶有剛性約束框的軟體驅(qū)動(dòng)器串聯(lián)組成,下面以該機(jī)械臂為例構(gòu)建運(yùn)動(dòng)學(xué)模型.串聯(lián)部分采用充氣氣囊約束,約束部件厚度為T(mén)1-2,T2-3.設(shè)3節(jié)軟體驅(qū)動(dòng)器中的波紋管外半徑分別為rout,1,rout,2,rout,3,內(nèi)半徑分別為rin,1,rin,2,rin,3,單節(jié)波紋管的原始長(zhǎng)度分別為L(zhǎng)0,1,L0,2,L0,3,彈性系數(shù)為k1,k2,k3,相鄰兩個(gè)波紋管中心之間的水平距離分別為a1,a2,a3.第1節(jié)軟體驅(qū)動(dòng)器中3個(gè)波紋管施加的氣壓分別為第2節(jié)中3個(gè)波紋管施加氣壓分別為第3節(jié)中3個(gè)波紋管施加氣壓分別為3個(gè)軟體驅(qū)動(dòng)器的節(jié)數(shù)分別為N1,N2,N3.
據(jù)第2.1節(jié)模型,計(jì)算得到每節(jié)軟體驅(qū)動(dòng)器中各段相對(duì)底部坐標(biāo)系的三維坐標(biāo),其中3節(jié)軟體驅(qū)動(dòng)器底部坐標(biāo)系分別為x01y01z01,x02y02z02,x03y03z03.已知第2節(jié)軟體驅(qū)動(dòng)器上各段在x02y02z02坐標(biāo)系上的坐標(biāo)表示為r*,將其轉(zhuǎn)換到x01y01z01坐標(biāo)系中,可得
式中H2=括號(hào)外面的下標(biāo)2表示在第1節(jié)軟體驅(qū)動(dòng)器中計(jì)算得到的.根據(jù)式(4)-(5),得到帶有剛性約束框的3節(jié)軟體驅(qū)動(dòng)器串聯(lián)后末端中心位移與波紋管輸入氣壓之間的關(guān)系,從而建立氣囊型軟體機(jī)械臂的運(yùn)動(dòng)學(xué)模型如下:
在軟體機(jī)械臂控制任務(wù)中,為使所構(gòu)建軟體臂模型符合視覺(jué)伺服實(shí)際場(chǎng)景,本文提出一種兩階段神經(jīng)網(wǎng)絡(luò)架構(gòu)的空間軟體機(jī)械臂控制方法: 1)兩階段神經(jīng)網(wǎng)絡(luò)架構(gòu): 第1階段通過(guò)末端期望位置推理出每節(jié)臂的位置,第2階段通過(guò)每節(jié)臂的位置推理出所對(duì)應(yīng)的充氣氣壓,通過(guò)這種分階段的方式,實(shí)現(xiàn)逆運(yùn)動(dòng)學(xué)求解過(guò)程的數(shù)據(jù)增強(qiáng);2)異步Transformer執(zhí)行策略:將本文軟體臂結(jié)構(gòu)與正運(yùn)動(dòng)學(xué)模型抽象為一種序列模型,將1)中所述兩階段策略與Transformer架構(gòu)相結(jié)合,構(gòu)建出基于Transformer的兩階段軟體機(jī)械臂控制模型,利用該架構(gòu)在處理序列問(wèn)題上的優(yōu)勢(shì)充以分學(xué)習(xí)軟體臂結(jié)構(gòu)空間上的依賴(lài)關(guān)系.
當(dāng)前利用神經(jīng)網(wǎng)絡(luò)進(jìn)行軟體機(jī)械臂逆運(yùn)動(dòng)學(xué)建模,通常采用末端位置或軟體臂形狀映射軟體機(jī)械臂驅(qū)動(dòng)量(如氣壓、液壓、繩子位移量).通過(guò)末端位置映射驅(qū)動(dòng)量的方法,由于在訓(xùn)練過(guò)程中損失了軟體臂形狀信息,在沒(méi)有充分信息的情況下,模型對(duì)于驅(qū)動(dòng)量的映射能力有限.另外基于軟體臂的形狀進(jìn)行映射方式,由于實(shí)際軟體機(jī)械臂在實(shí)際應(yīng)用中,視覺(jué)感知系統(tǒng)只能給出軟體臂末端的期望位置,而無(wú)法給出軟體臂的形狀,因而該方法難以進(jìn)行實(shí)際應(yīng)用.基于此,本文提出一種兩階段神經(jīng)網(wǎng)絡(luò)軟體機(jī)械臂控制策略.
考慮到在真實(shí)應(yīng)用中視覺(jué)伺服系統(tǒng)中感知部分只能夠解算出目標(biāo)的位置,因此,本文無(wú)法根據(jù)期望位置直觀得出軟體機(jī)械臂每一節(jié)的期望位置.在神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過(guò)程中,應(yīng)考慮到軟體機(jī)械臂實(shí)際模型的物理約束.若只輸入末端期望位置和當(dāng)前氣壓狀態(tài)的話(huà),則無(wú)法保證得到的模型符合現(xiàn)實(shí)物理規(guī)律,因而無(wú)法應(yīng)用在實(shí)際軟體臂上,因此,本文提出一種兩階段神經(jīng)網(wǎng)絡(luò)訓(xùn)練方法.
第1階段,本文使用的軟體機(jī)械臂如第2節(jié)所述,軟體機(jī)械臂分為3節(jié),首先讓模型學(xué)習(xí)到期望末端位置x1,y1,z1所對(duì)應(yīng)的軟體臂每段位置x1,y1,z1,x2,y2,z2,x3,y3,z3的映射關(guān)系為第1階段.其中,上角標(biāo)1,2,3分別表示軟體機(jī)械臂第1,2,3節(jié),第3節(jié)為軟體臂末端節(jié).
當(dāng)兩個(gè)階段訓(xùn)練完成后,將第1階段的網(wǎng)絡(luò)與第2階段的網(wǎng)絡(luò)進(jìn)行拼接,進(jìn)行聯(lián)合微調(diào),將該階段稱(chēng)為整體微調(diào)階段,即Fine-Turning,此時(shí)模型可以實(shí)現(xiàn)遵循軟體臂物理模型規(guī)律的映射.
Alkhodary和Gur[13]將軟體機(jī)械臂的運(yùn)動(dòng)軌跡理解為時(shí)間序列,采用Transformer對(duì)軟體機(jī)械臂進(jìn)行運(yùn)動(dòng)學(xué)建模.與該方法不同的是本文軟體機(jī)械臂本體抽象為序列結(jié)構(gòu).如圖5所示,第2節(jié)軟體臂位置受第1節(jié)軟體臂形變影響,第3節(jié)軟體臂位置受第1節(jié)和第2節(jié)共同影響.因此,可以將3節(jié)軟體臂表示為一個(gè)序列,同時(shí),第1節(jié)位置由該節(jié)的3個(gè)波紋管內(nèi)充氣氣壓決定.選擇每節(jié)軟體臂末端作為該節(jié)的期望位置,則此時(shí)的序列可以表示為[τ1τ2τ3],τi代表期望末端位置下每節(jié)軟體臂的期望位置與期望氣壓τi=[Pi Qi],其中Pi表示軟體臂第i節(jié)末端的位置,Qi表示軟體臂第i節(jié)中3根波紋管的充氣氣壓,Qi=
圖5 基于異步Transformer的軟體機(jī)械臂位置計(jì)算Fig.5 Position computation for soft manipulators with asynchronous Transformers
本文提出的異步Transformer執(zhí)行策略通過(guò)末端位置預(yù)測(cè)軟體機(jī)械臂整體位置的步驟如圖5所示,在第1階段,通過(guò)期望位置即軟體機(jī)械臂第3節(jié)末端位置p3對(duì)第2節(jié)末端位置p2進(jìn)行預(yù)測(cè),進(jìn)一步地利用p3和p2聯(lián)合對(duì)p1進(jìn)行預(yù)測(cè),通過(guò)第1階段神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)軟體機(jī)械臂每節(jié)期望位置的數(shù)據(jù)增強(qiáng).
異步Transformer執(zhí)行策略通過(guò)軟體臂每節(jié)臂位置預(yù)測(cè)每根波紋管氣壓值的步驟如圖6.首先,利用p1對(duì)Q1=中每個(gè)波紋管的充氣氣壓值進(jìn)行預(yù)測(cè),再將得到的Q1與p3,p2協(xié)同對(duì)Q2進(jìn)行預(yù)測(cè),最后通過(guò)Q1,Q2和p3,p2,p1對(duì)Q3進(jìn)行預(yù)測(cè).最終測(cè)到軟體機(jī)械臂的逆運(yùn)動(dòng)學(xué)模型.
圖6 基于異步Transformer的軟體機(jī)械臂充氣氣壓計(jì)算Fig.6 Pneumatic pressure calculation of soft manipulator based on asynchronous Transformer
Transformer已經(jīng)被證明是在時(shí)間序列處理任務(wù)中較為有效的方法[15],Transformer不僅在復(fù)雜度上優(yōu)于常見(jiàn)的時(shí)間序列處理方法,如循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)、長(zhǎng)短期記憶(long shortterm memory,LSTM)網(wǎng)絡(luò)、門(mén)控循環(huán)單元(gate recurrent unit,GRU)等,且獨(dú)特的矩陣運(yùn)算方式,能夠使模型支持并行計(jì)算,提升計(jì)算資源的利用率,加快模型的訓(xùn)練效率.另外,相較于RNN,LSTM,GRU通過(guò)隱層狀態(tài)獲取隱含的時(shí)間序列信息的方式,Transformer能夠從整體角度出發(fā)捕獲不同時(shí)刻數(shù)據(jù)與當(dāng)前時(shí)刻的關(guān)聯(lián)程度,規(guī)避了傳統(tǒng)時(shí)間處理模型對(duì)較遠(yuǎn)時(shí)刻序列信息丟失的風(fēng)險(xiǎn).
通過(guò)第3.1節(jié)的分析可知,軟體機(jī)械臂的控制具有序列特征,本文利用Transformer模型在處理序列數(shù)據(jù)中的優(yōu)勢(shì),分別從第1階段和第2階段學(xué)習(xí)軟體臂末端位置與每節(jié)末端位置的映射關(guān)系以及每節(jié)末端位置與每根波紋管充氣氣壓值的映射關(guān)系.Transformer模型是由自注意力機(jī)制和前饋神經(jīng)網(wǎng)絡(luò)組成[16],自注意力機(jī)制主要是通過(guò)對(duì)特征矩陣進(jìn)行計(jì)算,得到每個(gè)輸入所對(duì)應(yīng)的注意力權(quán)重[17],如下式:
式中:Q為查詢(xún)矩陣;K為鍵值矩陣;V為值矩陣;dk為縮放因子,用于調(diào)節(jié)內(nèi)積值的范圍,其維度與Q和K一致.
在Transformer中通常采用多頭自注意力機(jī)制,通過(guò)將多個(gè)自注意力通道獲取不同軟體機(jī)械臂運(yùn)動(dòng)空間模型對(duì)于輸入序列不同位置的關(guān)注.提升了模型對(duì)于輸入信息關(guān)注的多樣性.多頭注意力,如下式所示:
式中:Qi,Ki和Vi分別表示注意力頭所對(duì)應(yīng)的Query,Key,Value矩陣;i表示模型注意力頭的數(shù)量;表示線(xiàn)性變換系數(shù)矩陣.
在多頭注意力機(jī)制的基礎(chǔ)上,通過(guò)增加求和、歸一化等操作便構(gòu)成了Transformer模型的主體架構(gòu),如圖7所示.模型從結(jié)構(gòu)上看可以分為位置編碼、編碼-解碼器和全連接神經(jīng)網(wǎng)絡(luò)組成.編碼-解碼器由多頭注意力機(jī)制和前饋神經(jīng)網(wǎng)絡(luò)構(gòu)成[18].其中,在序列預(yù)測(cè)任務(wù)中,由于在解碼時(shí)網(wǎng)絡(luò)無(wú)法通過(guò)學(xué)習(xí)未來(lái)的標(biāo)簽進(jìn)行網(wǎng)絡(luò)調(diào)整,因此,在解碼器中需要加入屏蔽器對(duì)未預(yù)測(cè)序列標(biāo)簽進(jìn)行遮擋[19].
圖7 Transformer模型結(jié)構(gòu)示意圖Fig.7 Diagram of the architecture of the Transformer model
基于兩階段神經(jīng)網(wǎng)絡(luò)的機(jī)械臂控制視覺(jué)伺服框架如表1的偽代碼所示.在機(jī)械臂工作空間中放置目標(biāo),利用Vicon運(yùn)動(dòng)捕捉系統(tǒng)獲得目標(biāo)的位置,并將其轉(zhuǎn)換到機(jī)械臂基坐標(biāo)系下.將期望目標(biāo)位置數(shù)據(jù)輸入神經(jīng)網(wǎng)絡(luò),輸出機(jī)械臂期望氣壓,然后將氣壓值發(fā)送到機(jī)械臂充氣閥控制軟體臂運(yùn)動(dòng),完成視覺(jué)伺服任務(wù).
表1 基于兩階段神經(jīng)網(wǎng)絡(luò)架構(gòu)的空間軟體機(jī)械臂控制算法Table 1 Control algorithm for space soft manipulator based on two-stage neural network architecture
為了訓(xùn)練模型,本文基于前文描述的正運(yùn)動(dòng)學(xué)模型生成了一個(gè)正運(yùn)動(dòng)學(xué)數(shù)據(jù)集以及一個(gè)真實(shí)數(shù)據(jù)集.正運(yùn)動(dòng)學(xué)模型的輸入是軟體臂每節(jié)充氣氣壓值其中中j表示軟體臂的第j節(jié),i表示軟體臂每節(jié)的第i根充氣管.輸出為軟體臂每段末端三維空間坐標(biāo)數(shù)據(jù)x1,y1,z1,x2,y2,z2,x3,y3,z3.考慮到軟體機(jī)械臂的物理限制,本文在生成數(shù)據(jù)集時(shí),氣壓范圍設(shè)置在20000~40000 Pa之間,總共生成300萬(wàn)組數(shù)據(jù).
使用軟體臂正運(yùn)動(dòng)學(xué)模型生成的數(shù)據(jù)如圖8所示.真實(shí)數(shù)據(jù)使用Vicon運(yùn)動(dòng)捕捉系統(tǒng)捕獲事先在軟體機(jī)械臂上安置的反光球的三維坐標(biāo)得到.由于本實(shí)驗(yàn)所采用的軟體機(jī)械臂剛度小,因此將機(jī)械臂通過(guò)懸吊系統(tǒng)進(jìn)行懸吊,此時(shí)機(jī)械臂只能在平面擺動(dòng),因此,本文采集的實(shí)際數(shù)據(jù)為軟體臂在二維平面的運(yùn)動(dòng)過(guò)程數(shù)據(jù).采用間隔采樣方式,采集數(shù)據(jù)量為60組.
圖8 正運(yùn)動(dòng)學(xué)生成的仿真數(shù)據(jù)Fig.8 Simulation data generated by forward kinematics
本文將實(shí)驗(yàn)得到的每根波紋管氣壓值輸入到軟體臂正運(yùn)動(dòng)學(xué)仿真模型中,計(jì)算期望氣壓值和預(yù)測(cè)氣壓值在軟體機(jī)械臂正運(yùn)動(dòng)學(xué)中得到的軟體機(jī)械臂末端位置在每一個(gè)軸上的誤差以及在三維空間位置的絕對(duì)誤差作為本文的評(píng)價(jià)指標(biāo),計(jì)算公式如下:
使用本文方法與經(jīng)典的BP,LSTM進(jìn)行對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)均采用兩階段網(wǎng)絡(luò).將網(wǎng)絡(luò)計(jì)算出的波紋管氣壓值輸入到正運(yùn)動(dòng)學(xué)仿真軟件中進(jìn)行測(cè)試,共記錄了3000個(gè)測(cè)試樣例,并對(duì)軟體臂預(yù)測(cè)值和期望值在每個(gè)軸以及空間位置誤差求平均值,實(shí)驗(yàn)結(jié)果如表2所示.
表2 不同方法對(duì)比Table 2 Comparison of different methods cm
表2顯示了3種方法求取的每根波紋管氣壓值帶入正運(yùn)動(dòng)學(xué)仿真模型后與期望位置在x軸、y軸、z軸方向上以及與期望的絕對(duì)誤差的平均值.可以看出,LSTM相對(duì)于BP神經(jīng)網(wǎng)絡(luò)方法具有一定優(yōu)勢(shì),驗(yàn)證了將軟體機(jī)械臂設(shè)想為序列形式的可行性.另外,本文提出的方法相較于LSTM在各軸的誤差均有提升.另外,本文方法在三維空間位置誤差中取得了最優(yōu)的結(jié)果,證明了異步Tranformer模型相對(duì)于LSTM和BP模型在軟體機(jī)械臂逆運(yùn)動(dòng)學(xué)求解中具有優(yōu)勢(shì).
對(duì)本文所提出的第1階段、異步Transformer進(jìn)行消融實(shí)驗(yàn),設(shè)計(jì)了3組實(shí)驗(yàn): 1)采用單階段神經(jīng)網(wǎng)絡(luò),即將軟體機(jī)械臂末端作為輸入,每根波紋管充氣氣壓值作為輸出進(jìn)行實(shí)驗(yàn),該組即為SS(single-stage);2)使用基于標(biāo)準(zhǔn)Tranformer模型的兩階段神經(jīng)網(wǎng)絡(luò),即在第1階段利用軟體機(jī)械臂末端位置直接對(duì)其第1節(jié)、第2節(jié)位置進(jìn)行預(yù)測(cè);在第2階段直接一次實(shí)現(xiàn)對(duì)9跟波紋管的預(yù)測(cè),該組記為NT(normal-tranformer);3)使用單階段網(wǎng)絡(luò),且網(wǎng)絡(luò)為標(biāo)準(zhǔn)Tranformer,該組記為SSNT(single-stage-normal-tranformer).
表3展示了本文方法以及SS,NT,SSNT在Errorx,Errory,Errorz,Error上的均值.
表3 不同方法對(duì)比Table 3 Comparison of different methods cm
從表3可以看出,本文方法取得了最好的預(yù)測(cè)效果,單階段模型表現(xiàn)效果最差,驗(yàn)證了兩階段神經(jīng)網(wǎng)絡(luò)的必要性.同時(shí),在單階段網(wǎng)絡(luò)中,在增加了異步執(zhí)行機(jī)制后相對(duì)于同步執(zhí)行機(jī)制在三維位置誤差指標(biāo)上減少了0.67 cm,在兩階段網(wǎng)絡(luò)中通過(guò)增加了異步執(zhí)行機(jī)制后,比標(biāo)準(zhǔn)Tranformer在三維位置誤差指標(biāo)上減少了0.28 cm,驗(yàn)證了異步執(zhí)行機(jī)制的有效性.
為驗(yàn)證本文方法在軟體機(jī)械臂上的適用性,在正運(yùn)動(dòng)學(xué)仿真程序和軟體機(jī)械臂實(shí)體上進(jìn)行實(shí)驗(yàn).
首先,在正運(yùn)動(dòng)學(xué)仿真程序上進(jìn)行驗(yàn)證.對(duì)其中一個(gè)實(shí)例進(jìn)行了可視化,如圖9所示.其中,圖9(a)-(c)分別對(duì)該實(shí)例在兩兩軸投影的可視化,圖9(d)是該樣例在X-Y-Z三維空間的可視化,該樣例的預(yù)測(cè)值與真實(shí)值的角度偏差為0.47 cm.圖10對(duì)33個(gè)樣例進(jìn)行了可視化,可以直觀看出期望值和預(yù)測(cè)值基本吻合.
圖9 仿真軟件中預(yù)測(cè)值與期望值對(duì)比Fig.9 Comparison of predicted value and expected value in simulation software
圖10 多個(gè)樣例三維可視化Fig.10 3D visualization of multiple examples
為驗(yàn)證本文方法的有效性,本文還利用實(shí)際軟體機(jī)械臂進(jìn)行測(cè)試,如圖11所示.與真實(shí)數(shù)據(jù)的采集相同,在測(cè)試時(shí)使用懸吊機(jī)構(gòu)將機(jī)械臂相應(yīng)部分進(jìn)行懸吊,使其能夠沿著某一平面運(yùn)動(dòng),在運(yùn)動(dòng)過(guò)程中懸吊系統(tǒng)能夠自動(dòng)跟隨機(jī)械臂運(yùn)動(dòng),以抵消重力對(duì)機(jī)械臂的作用.
圖11 目標(biāo)抓取驗(yàn)證Fig.11 Verification of target grasp
測(cè)試時(shí),首先將待抓取目標(biāo)置于軟體臂可達(dá)域的任意位置,在待抓取目標(biāo)上放置反光球,利用Vicon進(jìn)行測(cè)量得到待抓取目標(biāo)的真值.將該真值作為軟體機(jī)械臂末端的期望位置輸入到神經(jīng)網(wǎng)絡(luò)模型,通過(guò)模型推理得到軟體機(jī)械臂每節(jié)應(yīng)輸入的氣壓值.
由于軟體機(jī)械臂波紋管材料、使用壽命、懸吊位置以及實(shí)驗(yàn)環(huán)境的影響,使得軟體臂運(yùn)動(dòng)學(xué)并不嚴(yán)格遵循理想的運(yùn)動(dòng)學(xué)模型.因此,在軟體機(jī)械臂距離目標(biāo)較遠(yuǎn)時(shí),采用本文方法靠攏,當(dāng)接近目標(biāo)時(shí)由于系統(tǒng)誤差的存在,需要通過(guò)比例-積分-微分控制(proportion integral differential,PID)控制方法進(jìn)行微調(diào),直至實(shí)現(xiàn)抓取操作.通過(guò)測(cè)試,利用本文方法進(jìn)行粗調(diào),再配合PID控制方法進(jìn)行精調(diào),能夠?qū)崿F(xiàn)對(duì)目標(biāo)進(jìn)行抓取.
基于兩階段神經(jīng)網(wǎng)絡(luò)架構(gòu)的空間軟體機(jī)械臂控制方法通過(guò)第一階段網(wǎng)絡(luò)對(duì)機(jī)械臂末端到每一節(jié)位置的映射的策略進(jìn)行數(shù)據(jù)增強(qiáng),有助于提升逆運(yùn)動(dòng)學(xué)建模的效果.同時(shí),提出的異步Transformer執(zhí)行策略,通過(guò)將軟體機(jī)械臂抽象為序列結(jié)構(gòu),在后續(xù)的預(yù)測(cè)中融入更多先驗(yàn)信息提升了模型的穩(wěn)定性.通過(guò)軟體機(jī)械臂仿真軟件和實(shí)物測(cè)試,驗(yàn)證了本文方法的有效性.同時(shí),不可忽視是由于軟體機(jī)械臂加工工藝原因?qū)е萝涹w機(jī)械臂實(shí)物與理想運(yùn)動(dòng)學(xué)模型存在域間隙,需要在本文方法的基礎(chǔ)上在控制過(guò)程末尾階段配合PID算法進(jìn)行微調(diào).
本文在融合仿真數(shù)據(jù)和少量真實(shí)數(shù)據(jù)的情況下驗(yàn)證了兩階段神經(jīng)網(wǎng)絡(luò)模型用于軟體機(jī)械臂控制的可行性.考慮到軟體機(jī)械臂參數(shù)眾多,很難有一個(gè)理想的模型能夠消除與真實(shí)世界的域間隙,同時(shí)由于無(wú)法獲取軟體機(jī)械臂每個(gè)執(zhí)行元件特性的高精度測(cè)量信息,因此在本文框架的基礎(chǔ)上研究一種完全不依賴(lài)仿真模型的控制方法是未來(lái)工作的研究重點(diǎn).