萬文婭,孫沖,袁建平
西北工業(yè)大學 航天學院,西安 710072
空間非合作目標主要包括太空中殘留的火箭末級、失效衛(wèi)星、航天器任務拋棄物、航天器解體及碰撞衍生物等[1]。通常,這類目標的幾何外形復雜多樣且不具有專門的抓捕對接口,慣性參數(shù)和運動參數(shù)等信息存在不確定性甚至是未知的,運動規(guī)律也較為復雜??臻g非合作目標的這些特性造成了在抓捕過程中,抓捕機構和抓捕對象之間存在高動態(tài)相對運動,使得難以確定固定抓捕點,因此空間非合作目標在軌抓捕難度很大[2-3]。
針對空間非合作目標抓捕,已經(jīng)進行了大量的研究,提出了諸如機械臂固定點抓捕、繩系機器人抓捕、柔性機構抓捕之類的方法[4]。本文借鑒多指包絡抓捕的思想,利用多指機構在目標物體周圍形成一個“包圍圈”,以限制目標物體的運動[5]。采用這種方式對空間非合作目標進行抓捕,不僅對空間非合作目標的幾何外形具有更好的適應性,還可以提升抓捕的魯棒性。相比于傳統(tǒng)的抓捕方法[6-7],這種方式不需要考慮接觸等力學特性,放松了抓捕中對控制的要求。
基于包絡的思想,孫沖等提出了一種具有魯棒性的外包絡抓捕方法及抓捕路徑優(yōu)化方案[8]。韓亮亮等提出了一種基于仿章魚充氣軟體機器人的碎片捕獲裝置[9]。然而,由于多指機構自身高自由度的問題以及目標的動態(tài)性問題,使得多指機構的包絡算法設計還存在諸多難題[5]。
包絡問題是由Kuperberg率先提出的,他將包絡問題描述為尋找包絡點的構型使得多邊形目標物體不能任意遠離其初始位置[10]。隨后,Rimon和Blake將“包絡”概念引入到機器人領域,并提出了光滑平面物體的兩指包絡算法[11]。從此,包絡問題成為機器人領域的一個熱門研究,相繼提出了針對平面目標物體的兩指/三指包絡算法。兩指包絡是最簡單的包絡形式,其適用于凹目標抓捕[12-13]。然而針對凸目標物體,兩指機構無法提供封閉的包絡構型。由于存在冗余自由度,三指機構可用于包絡凸目標,但是其包絡構型設計相較于雙指機構更為復雜,相關研究人員通常固定某些自由度來簡化三指包絡問題[14-15]。由于手指數(shù)量增加會導致計算量增加,超過三指的多指包絡鮮有研究[5]。但是,對于復雜外形的平面物體以及空間物體,則需要更多數(shù)量的手指[16]。
在上述研究中[10-16],目標物體都是靜態(tài)的,而空間非合作目標通常是動態(tài)的,目前關于動態(tài)物體包絡的研究較少。在已有的文獻中,Wang等[17-18]和Wan等[19]研究了多機器人對運動目標的包絡。與此類似,文獻[20-21]研究了多個機器人對動態(tài)物體的追捕問題。但是,多指機構不同于多機器人群體,它的各個手指不是獨立的,受到多指機構的結構約束。因此,需要設計符合多指機構自身特性的動態(tài)物體包絡算法。
針對上述提到的多指包絡中需要解決的問題,本文提出了一種適用于空間非合作目標的 “主-從”式多指包絡算法,不僅具有處理運動目標的能力,而且在包絡構型搜索過程中還簡化了系統(tǒng)自由度進而提升了計算效率,可以快速地搜索到一條有效的空間非合作目標多指包絡抓捕路徑。
針對空間非合作目標的多指包絡抓捕問題,本文旨在設計一種“主-從”式包絡算法,在給定初始相對構型的條件下,尋找能夠約束住空間非合作目標的有效包絡構型。
如圖1所示,多指機構由手掌和n個手指組成。其中,每個手指由m個連桿和旋轉關節(jié)組成。受諸如手掌尺寸和關節(jié)允許轉動范圍等結構約束,多指機構的各個手指間存在內(nèi)在約束,作為一個整體工作。
圖1 多指機構示意圖Fig.1 Multi-fingered mechanism
(1)
其次,對于第i個手指的具體構型Ci,它是由自身的關節(jié)角θi=[θi,1,θi,2,…,θi,m]T決定的:
Ci=f(θi)=f(θi,1,θi,2,…,θi,m)
i=1,2,…,n
(2)
本文中空間非合作目標包絡條件是指多指機構能夠將空間非合作目標約束到某一范圍內(nèi)時,多指機構和空間非合作目標之間應當滿足的約束條件。多指機構有效包絡住空間非合作目標意味著空間非合作目標不能從多指機構的約束中逃離。具體來說,就是不能從多指機構相鄰手指的間隙以及各個手指的指尖間隙中逃離。不失一般性,將多指機構的各個手指的連桿和關節(jié)分別簡化為線段和點(圖1中的黑色線段和圓點)。
圖2 空間非合作目標包絡條件推導示意圖Fig.2 Derivation of caging conditions for space non-cooperative target
首先,計算第i個手指和第(i+1)個手指連桿間的間隙。如圖2(a)所示,由第i個手指和第i+1 個手指的第k個連桿組成的圖形為空間四邊形Ji,kJi,k+1Ji+1,k+1Ji+1,k(i=1,2,…,n;k=1,2,…,m;Ji,m+1=Ji,e,Ji,e表示指尖)。需要指出,當i=n時,Jn,kJn,k+1Jn+1,k=Jn,kJn,k+1J1,k+1J1,k,手指相鄰。如果Ji,kJi,k+1Ji+1,k+1Ji+1,k對邊間的距離小于目標相應的特征長度lcl,那么目標則不能從第i個手指和第(i+1)個手指的間隙中逃離:
i=1,2,…,n;k=1,2,…,m-1
(3)
式中:di→i+1,k表示線段Ji,kJi,k+1和線段Ji+1,kJi+1,k+1之間的距離;di,k→k+1表示線段Ji,kJi+1,k和線段Ji,k+1Ji+1,k+1之間的距離。
接著,計算各個手指的指尖之間的距離。如圖2(b)所示,多指機構的各個手指的指尖形成了一個空間n邊形,第i個手指的指尖Ji,e和第j個手指的指尖Jj,e(i,j=1,2,…,n;i≠j)之間的距離di,j為
i,j=1,2,…,n;i≠j
(4)
式中:d(·,·)表示空間中任意兩點間距離計算的函數(shù),本文中采用歐幾里得距離,此時p=2。為了保證目標不從指尖的間隙中逃離,應當滿足如下關系:
(5)
進一步地,結合方程(3)和(5),運動物體包絡條件可以表示為
g(Θ):=max(di,i→i+1,di,k→k+1,{di,j})-lcl<0
(6)
式中:i,j=1,2,…,n(i≠j);n+1=1;k=1,2,…,m-1。
注1特別地,當包絡問題可以簡化為二維平面包絡時(空間非合作目標為扁平型),多指機構的各個手指可以簡化為點手指,即用指尖表示。此時,多指機構可以用一系列存在位置約束的點表示(例如圖1中的指尖)。進一步,包絡條件可以只用方程(5)來描述。
為解決多指機構對空間非合作目標實施包絡抓捕時存在的多指機構高自由度以及待包絡物體具有動態(tài)性的問題,本文提出了一種“主—從”式包絡算法??傮w思想是:將多指機構的手指劃分為一根主手指和其余從手指,并控制主手指的基關節(jié)與包絡點之間的運動同步,接著調(diào)整主手指的關節(jié)角使得主手指的構型與包絡邊盡可能地匹配,然后根據(jù)多指機構的結構模型確定其余從手指的構型,最后根據(jù)包絡條件選擇能夠約束住空間非合作目標運動的有效包絡構型。
圖3 包絡元素示意圖Fig.3 Caging elements diagram
度εb內(nèi)的相對于目標靜止的所有點的集合,其中包絡點Pb∈Cb的選取是隨機的。為方便起見,將包絡邊、包絡裕度、包絡點集以及包絡點統(tǒng)稱為包絡元素。
(7)
在進行具體的包絡算法設計之前,假設多指機構具有諸如底座之類的支撐部件,它可以提供多指機構所需的控制力和控制力矩。
為了方便對空間非合作目標實施包絡,應當首先實現(xiàn)多指機構與空間非合作目標之間的運動同步,具體為多指機構和空間非合作目標之間的姿態(tài)運動同步以及主手指的基關節(jié)和包絡點之間的平移運動同步。雖然空間非合作目標的運動參數(shù)及慣性參數(shù)等參數(shù)通常未知或含有不確定性,但是已有大量研究來確定這些參數(shù)[22],故本文假設空間非合作目標物體的運動參數(shù)和慣性參數(shù)已知。
關于兩航天器之間的相對姿態(tài)運動同步控制算法,相關學者已經(jīng)進行了大量研究,提出了諸如滑膜控制算法[23]之類的成熟算法。因此,可以直接假設在實施包絡時多指機構有能力實現(xiàn)與空間非合作目標之間的姿態(tài)運動同步。故本文不再贅述多指機構和空間非合作目標之間的相對姿態(tài)運動同步的控制算法,直接將其作為實施包絡操作的初始條件。
(8)
(9)
(10)
(11)
k2sign(x2e)|x2e|α
(12)
(13)
注3在包絡點追蹤的整個過程中,需要滿足多指機構和空間非合作目標物體間不發(fā)生碰撞的安全性要求。本文將每一時刻多指機構Od(t)和空間非合作目標物體Om(t)均不能存在交集作為約束來保證兩者之間不發(fā)生碰撞(式(14))。
Od(t)∩Om(t)=?
(14)
下面對式(14)做進一步說明。本文中是根據(jù)空間非合作目標與多指機構之間的相對幾何位置關系來進行碰撞檢測的,即通過實時地檢測空間非合作目標所占的空間與多指機構所占的空間之間是否有交集來進行判斷。具體而言,如果空間非合作目標所占的空間與多指機構所占的空間之間沒有交集,則空間非合作目標與多指機構之間不會發(fā)生碰撞,是安全的;反之,如果空間非合作目標所占的空間與多指機構所占的空間之間有交集,則說明空間非合作目標和多指機構發(fā)生了相互穿插的現(xiàn)象,這顯然是不符合實際情況的,屬于發(fā)生碰撞的情形。式(14)簡單明了地表示空間非合作目標與多指機構之間不發(fā)生碰撞的安全約束。
如圖4所示,主手指和包絡邊之間存在很多可能的匹配構型,引入單向距離D(Cz,bl)來衡量主手指Cz和包絡邊bl匹配的相似度[25]:
D(Cz,bl)=
(15)
D(cz,i~i+1,bl)=
(16)
式中:Dd(p,bl)表示cz,i~i+1上任意一點到bl的最短距離:
Dd(p,bl)=minq∈blDEuclid(p,q)
(17)
此時,包絡邊匹配問題可以轉化為尋找使得Cz與bl間單向距離最小的主手指關節(jié)角θz:
(18)
圖5 最優(yōu)包絡邊匹配構型搜尋算法Fig.5 Algorithm of optimal caging edge matching
考慮到求解最優(yōu)化問題(18)的過程中不僅需要實時進行碰撞規(guī)避還希望計算效率盡可能高,所以本文采用了快速搜索隨機樹法來進行求解??焖偎阉麟S機樹法是機器人路徑規(guī)劃領域的一個重要的方法,這種方法在機器人規(guī)劃領域,尤其是高維環(huán)境(如,機械臂)的規(guī)劃中,占有重要的位置,是基于采樣的規(guī)劃方法的一種。如圖5所示,首先,通過快速搜索隨機樹法隨機搜索有效匹配構型,但是并不是每個有效匹配構型都會被添加到搜索路徑中,只有當前有效匹配構型對應的單向距離比上一個有效匹配構型對應的單向距離小時,才會被添加,這保證了快速搜索隨機樹法是朝著單向距離越來越小的方向進行搜索的;其次,由于最優(yōu)匹配構型對應的主手指關節(jié)角值是未知的,而傳統(tǒng)快速搜索隨機樹法中目標點是給定的,所以在圖5所示的最優(yōu)包絡邊匹配構型搜索算法中,以快速搜索隨機樹法搜索到的相鄰2個有效匹配構型所對應的單向距離的差值作為算法是否終止的判斷條件;最后,當單向距離收斂到一個穩(wěn)定值不再變化時,則說明找到了使得主手指與包絡邊最大程度地相似的主手指關節(jié)角取值。雖然快速搜索隨機樹法搜索每個有效匹配構型的過程是隨機的,但是,通過搜索方向和算法終止的判斷條件這2個方面保證了優(yōu)化目標的收斂性,即通過隨機搜索找到最好的解。
i≠z,i=1,2,…n,z∈{1,2,…,n}
(19)
然后,根據(jù)式(2),確定Ci的可能構型:
(20)
一旦主手指和所有從手指的構型確定,多指機構的構型Cd也就隨之確定:
Cd={Cz,{Ci}}
i≠z;i=1,2,…,n;z∈{1,2,…,n}
(21)
本文所提的“主-從”式的多指機構包絡算法,不僅具有處理運動目標的能力,而且在包絡構型搜索過程中還簡化了系統(tǒng)自由度進而提升了計算效率,所以可以實現(xiàn)對空間非合作目標的快速有效包絡。
i≠z;i=1,2,…n;z∈{1,2,…,n}
(22)
為了驗證所設計算法的有效性,采用圖1所示的四指三關節(jié)的多指機構分別對可以簡化為二
表1 指尖距離的容許范圍Table 1 Allowable distances between fingertips
圖6 多指機構結構關系圖Fig.6 Structural relationship in multi-fingered mechanism
表2 仿真參數(shù)Table 2 Simulation parameters
圖7 包絡正五邊形時的包絡元素Fig.7 Caging element when caging regular pentagonal object
圖8 包絡正五邊形時包絡點追蹤結果隨時間變化圖Fig.8 Time responses of caging point tracking results when caging regular pentagonal object
[0,-0.285 1,-0.301 4]Tm。此時,主手指基關節(jié)和包絡點間的初始相對位置誤差為x1e0=[-5.659 5,-7.795 9,0]Tm、初始相對速度誤差為x2e0=[0.6,-1,-0.5]Tm/s。同樣地,設期望在時刻tb=150 s實現(xiàn)包絡點追蹤。
通過以上2個仿真案例可以得出,所設計的算法對可以簡化為二維平面物體的扁平型空間非合非合目標包絡抓捕問題和一般性三維空間非合作目標物體包絡抓捕問題均適用,可以高效地得到一條有效的空間非合作目標多指包絡抓捕路徑。
圖9 包絡正五邊形時的多指機構構型Fig.9 Caging configurations of multi-fingered mechanism when caging regular pentagonal object
圖10 包絡長方體時的包絡點追蹤結果態(tài)隨時間變化圖Fig.10 Time responses of caging point tracking results when caging cuboid object
圖11 包絡邊匹配結果Fig.11 Results of caging edge matching
本文針對空間非合作目標抓捕,首先提出了一種多指機構包絡抓捕方法。然后,針對多指包絡抓捕中存在的多自由度導致的計算復雜問題,以及難以處理動態(tài)目標包絡抓捕問題,提出了一種“主-從”式多指包絡算法,可以高效地得到一條有效的空間非合作目標多指包絡抓捕路徑。以上抓捕方法和多包絡算法的主要創(chuàng)新有以下3點:
圖12 包絡長方體時的多指機構構型Fig.12 Caging configurations of multi-fingered mechanism when caging a cuboid object
1) 提出一種多指抓捕建模方法,將多指抓捕機構分為一根主手指和其余從手指兩類,針對各類手指分步進行包絡算法設計,仿真表明可降低包絡構型設計中的自由度,從而可以快速求解包絡構型。
2) 采用誤差跟蹤控制實現(xiàn)主手指的基關節(jié)與包絡點之間的運動同步,實現(xiàn)了動態(tài)空間非合作目標的抓捕。
3) 引入單向距離的概念來定量衡量主手指構型與包絡邊的相似程度,并建立了考慮了多指機構內(nèi)在約束的多指機構結構模型,可以利用該模型可以便捷地確定其他從手指的構型。
通過對運動的二維平面物體和三維物體的包絡仿真可以得出,所設計的算法不僅簡化了計算復雜度,還適用于動態(tài)目標。本文所設計的算法可以為后續(xù)的對實際空間非合作目標的多指包絡抓捕奠定基礎。