肖 帥, 王 韜, 張樹華, 梁靜靜, 張世俊, 呂文華
北京控制工程研究所,北京 100094
隨著航天技術(shù)的不斷發(fā)展,空間態(tài)勢感知與空間安全成為我國航天領(lǐng)域的一個重要發(fā)展方向.其中,以空間機(jī)械臂為核心的空間智能操控技術(shù)作為空間態(tài)勢感知與空間安全領(lǐng)域的一項關(guān)鍵技術(shù),近年來得到了越來越多的關(guān)注[1].目前,我國正在研發(fā)的一些空間態(tài)勢感知與空間安全試驗衛(wèi)星、空間站以及月球探測器等飛行器都配置了空間機(jī)械臂系統(tǒng).
對于空間機(jī)械臂,尤其是靈巧型操控機(jī)械臂,為了實現(xiàn)末端工具對目標(biāo)物的準(zhǔn)確操作,往往要求空間機(jī)械臂具有較高的控制精度.機(jī)械臂末端的控制精度與機(jī)械臂本身結(jié)構(gòu)參數(shù)的測量精度是直接相關(guān)的[2].然而,空間機(jī)械臂在飛行器發(fā)射過程中會承受巨大的振動和沖擊,同時,空間機(jī)械臂在軌空間環(huán)境與地面環(huán)境在重力等方面差異較大,不可避免地會引起入軌后機(jī)械臂結(jié)構(gòu)參數(shù)發(fā)生變化.因此,為了保證空間機(jī)械臂在軌運(yùn)行時的控制精度,必須在入軌后對其進(jìn)行在軌標(biāo)定[3].
在地面條件下,借助于精密的地面測量裝置,可以容易地實現(xiàn)對空間機(jī)械臂結(jié)構(gòu)參數(shù)的精確測量,目前這方面的研究也比較成熟[4-11].然而,在軌空間環(huán)境下,由于無法使用外部精密測量儀器,使得空間機(jī)械臂的在軌標(biāo)定變得困難.目前關(guān)于這方面研究的報道還很少.文獻(xiàn)[12]報道了日本在“發(fā)現(xiàn)號”航天飛機(jī)進(jìn)行的一項空間機(jī)械臂在軌標(biāo)定試驗.它利用手眼相機(jī)對特定標(biāo)志物進(jìn)行多次測量,通過計算獲得一個標(biāo)定矩陣,在軌跡規(guī)劃過程中,將實際期望的末端位姿矩陣左乘標(biāo)定矩陣,從而實現(xiàn)對機(jī)械臂連桿參數(shù)的修正補(bǔ)償.該方法本質(zhì)上是在任務(wù)空間通過線性變換對非線性的結(jié)構(gòu)參數(shù)誤差進(jìn)行補(bǔ)償,難以實現(xiàn)整個工作空間的參數(shù)補(bǔ)償.文獻(xiàn)[3]和[13]采用線性化的方法設(shè)計了空間機(jī)械臂在軌標(biāo)定方法,然而對空間機(jī)械臂的非線性模型進(jìn)行線性化的過程,實際上是一個近似過程,因此必然會導(dǎo)致標(biāo)定精度的降低.
本文提出了一種基于手眼相機(jī)的空間機(jī)械臂在軌標(biāo)定方法.該方法首先采用D-H參數(shù)法建立空間機(jī)械臂系統(tǒng)的非線性模型,然后在不同構(gòu)型下利用手眼相機(jī)對底板上設(shè)置的靶標(biāo)進(jìn)行測量獲得足夠的標(biāo)定數(shù)據(jù),最后采用數(shù)值迭代算法對空間機(jī)械臂非線性模型進(jìn)行求解,從而獲取空間機(jī)械臂的標(biāo)定參數(shù).該方法直接基于空間機(jī)械臂非線性模型進(jìn)行求解,避免了基于線性化模型進(jìn)行解析計算帶來的精度損失,提高了在軌標(biāo)定精度.
空間機(jī)械臂的運(yùn)動學(xué)模型采用目前廣泛使用的D-H模型,每個連桿用4個參數(shù)(ai,αi,di,θi)描述,下標(biāo)i表示第幾個連桿.其中關(guān)節(jié)角度θi是可以通過角度測量傳感器直接測量的,其他3個參數(shù)(ai,αi,di)為待標(biāo)定的參數(shù).假設(shè)空間機(jī)械臂共有N個關(guān)節(jié),則N個關(guān)節(jié)的角度測量數(shù)據(jù)表示為ΘB=[θ1θ2…θN],待標(biāo)定的參數(shù)表示為XDH=[a1d1α1a2d2α2…aNdNαN],手眼相機(jī)測量得到的空間機(jī)械臂末端在基準(zhǔn)坐標(biāo)系下的位姿測量數(shù)據(jù)表示為MB=[x1x2x3φ1φ2φ3],其中(x1,x2,x3)表示空間機(jī)械臂末端的相對位置,(φ1,φ2,φ3)表示空間機(jī)械臂末端以歐拉角表示的相對姿態(tài).空間機(jī)械臂的正運(yùn)動學(xué)方程可以表示為
f(ΘB,XDH)=MB
(1)
其中f(·,·)表示空間機(jī)械臂的正運(yùn)動學(xué)函數(shù).
(2)
其中,M表示測例的個數(shù).對于N自由度空間機(jī)械臂,需要標(biāo)定的參數(shù)個數(shù)K≤3N.對于每個測例可以產(chǎn)生6個非線性方程,為了保證標(biāo)定結(jié)果的準(zhǔn)確性,測例個數(shù)應(yīng)滿足M≥K/6.相比于姿態(tài)測量精度,通常手眼相機(jī)的位置測量精度更高.如果只使用手眼相機(jī)的位置測量數(shù)據(jù)進(jìn)行標(biāo)定,則每個測例可以產(chǎn)生3個非線性方程,因此測例個數(shù)應(yīng)滿足M≥K/3.
空間機(jī)械臂系統(tǒng)一般包括安裝底板、空間機(jī)械臂、手眼相機(jī)以及靶標(biāo),如圖1所示.靶標(biāo)主要用于完成手眼相機(jī)內(nèi)部參數(shù)的標(biāo)定,以及空間機(jī)械臂結(jié)構(gòu)參數(shù)的標(biāo)定.靶標(biāo)相對于空間機(jī)械臂基準(zhǔn)坐標(biāo)系的安裝關(guān)系固定,并且在發(fā)射前會在地面進(jìn)行標(biāo)定.因此,通過手眼相機(jī)測量末端相對于靶標(biāo)的位姿關(guān)系,就可以計算出末端相對于基準(zhǔn)坐標(biāo)系的位姿關(guān)系.
圖1 空間機(jī)械臂系統(tǒng)組成圖Fig.1 The space manipulator system
在軌標(biāo)定過程中,需要設(shè)計多組測例,在不同構(gòu)型下利用手眼相機(jī)對靶標(biāo)上特征點(diǎn)進(jìn)行位姿測量,記錄每一組測例下關(guān)節(jié)的角度信息以及手眼相機(jī)的位姿測量信息.手眼相機(jī)對靶標(biāo)特征點(diǎn)的位姿測量,可以采用拍圖下傳至地面進(jìn)行解算的方法,以提高測量精度.
數(shù)據(jù)測量的具體過程如下:
1)根據(jù)靶標(biāo)的安裝位置,設(shè)置M組手眼相機(jī)相對靶標(biāo)的不同位姿,即M組空間機(jī)械臂構(gòu)型作為標(biāo)定測例,并對各標(biāo)定測例進(jìn)行編號,依次編號為1~M,M≥N/2,其中N為空間機(jī)械臂關(guān)節(jié)個數(shù),每組標(biāo)定測例下需保證靶標(biāo)處于空間機(jī)械臂末端的手眼相機(jī)的視場內(nèi);
2)控制空間機(jī)械臂進(jìn)行運(yùn)動,依次運(yùn)動至1號標(biāo)定測例至M號標(biāo)定測例所對應(yīng)的空間機(jī)械臂構(gòu)型,在每組標(biāo)定測例下利用空間機(jī)械臂末端手眼相機(jī)對靶標(biāo)進(jìn)行拍照,即完成成像.
5)對于標(biāo)定測例i,根據(jù)式(2)建立以XDH為變量的一個非線性方程
(3)
6)對標(biāo)定測例1至標(biāo)定測例M得到M個非線性方程,聯(lián)立這M個非線性方程就得到如下的非線性方程組
(4)
在進(jìn)行數(shù)據(jù)分析時做如下假設(shè):
1)空間機(jī)械臂在地面已經(jīng)進(jìn)行了精確的標(biāo)定,每個連桿除關(guān)節(jié)角外的D-H參數(shù)為(ai0,αi0,di0);
2)關(guān)節(jié)的角度信息θi可以通過旋轉(zhuǎn)變壓器、旋轉(zhuǎn)編碼器等傳感器準(zhǔn)確采集;
3)靶標(biāo)相對于空間機(jī)械臂基坐標(biāo)系的位姿信息在地面已經(jīng)精測,且發(fā)射后保持不變.
具體數(shù)據(jù)處理方法如下:
1)將式(4)改寫為如下形式:
F(XDH)=0
(5)
其中:
(6)
2)以空間機(jī)械臂地面標(biāo)定的D-H參數(shù)結(jié)果作為XDH的初值XDH(0);
3)采用Levenberg-Marquardt數(shù)值迭代算法進(jìn)行迭代計算,迭代公式如下:
XDH(k+1)=XDH(k)-
[J(XDH(k))TJ(XDH(k))+μkI]-1·
J(XDH(k))TF(XDH(k))
(7)
其中:k≥0為迭代步數(shù),k的初值為0;J(·)為式(5)的雅克比矩陣;μk為阻尼因子,參見文獻(xiàn)[14].取:
(8)
5)迭代結(jié)束后,取XDH(k+1)作為XDH的最終解,即空間機(jī)械臂結(jié)構(gòu)參數(shù)的標(biāo)定結(jié)果.
整個在軌標(biāo)定的流程如圖2所示.
圖2 在軌標(biāo)定流程圖Fig.2 The flow chart of in-orbit calibration
以一個七自由度空間機(jī)械臂為例,對所提出的方法進(jìn)行仿真驗證.其地面標(biāo)定的結(jié)構(gòu)參數(shù)值見表1,假設(shè)發(fā)射后其在軌真實的結(jié)構(gòu)參數(shù)見表2.
表1 七自由度空間機(jī)械臂發(fā)射前標(biāo)定的D-H參數(shù)Tab.1 The D-H parameters of the 7-DOFS space manipulator on ground
表2 七自由度空間機(jī)械臂D-H參數(shù)在軌真實值Tab.2 The D-H parameters of the 7-DOFS space manipulator in-orbit
根據(jù)靶標(biāo)的安裝位置,設(shè)計了18組空間機(jī)械臂構(gòu)型作為標(biāo)定測例,每組標(biāo)定測例下需保證靶標(biāo)處于空間機(jī)械臂末端的手眼相機(jī)的視場內(nèi).考慮到手眼相機(jī)的位置測量精度更高,因此標(biāo)定時不使用手眼相機(jī)的姿態(tài)測量數(shù)據(jù).對于七自由度空間機(jī)械臂,N=7,因此測例個數(shù)應(yīng)滿足M≥7.此外,為了提高標(biāo)定精度,應(yīng)盡量設(shè)計多組標(biāo)定測例.因此,這里選取了18組測例,18組測例的關(guān)節(jié)角度見表3.
表3 18組測例的關(guān)節(jié)角度Tab.3 Joint angles of 18 test cases /(°)
假設(shè)手眼相機(jī)可以準(zhǔn)確測量末端位置信息,則采用所提出的方法迭代過程中的殘差收斂情況見圖3,得到的標(biāo)定結(jié)果如表4所示.可以看到,當(dāng)手眼相機(jī)可以準(zhǔn)確測量末端位置時,采用本文所提出的方法可以快速準(zhǔn)確地標(biāo)定空間機(jī)械臂的D-H參數(shù),經(jīng)過7步迭代后,殘差快速收斂到7.44841×10-22,最終標(biāo)定結(jié)果ai和di的誤差小于0.0001 mm,αi的誤差小于0.001°.
圖3 手眼相機(jī)測量無誤差時殘差收斂情況Fig.3 The radiual with no hand-eye measurement error
表4 手眼相機(jī)無誤差下七自由度空間機(jī)械臂D-H參數(shù)在軌標(biāo)定值Tab.4 The D-H parameters of the 7-DOFS space manipulator in-orbit without errors of hand-eye cameras
實際中手眼相機(jī)的測量結(jié)果是存在誤差的,假設(shè)手眼相機(jī)的位置測量誤差為0.1 mm,則采用本方法殘差收斂情況見圖4,得到的標(biāo)定結(jié)果見表5.可以看到,采用本方法得到的D-H參數(shù)的標(biāo)定誤差仍然較小,經(jīng)過4步迭代后,殘差收斂到0.0214329,ai和di的誤差小于0.1mm,αi的誤差小于0.1°,這個誤差是由于手眼相機(jī)的測量誤差引起的.
圖4 手眼相機(jī)測量有誤差時殘差收斂情況Fig.4 The radiual with hand-eye measurement error
表5 手眼相機(jī)有誤差下七自由度空間機(jī)械臂DH參數(shù)在軌標(biāo)定值Tab.5 The D-H parameters of the 7-DOFS space manipulator in-orbit with errors of hand-eye cameras
本文提出了一種空間機(jī)械臂的在軌標(biāo)定方法.該方法采用D-H參數(shù)法建立空間機(jī)械臂系統(tǒng)的非線性模型,然后利用標(biāo)定數(shù)據(jù)采用數(shù)值迭代的方法直接基于空間機(jī)械臂非線性模型進(jìn)行求解,從而完成空間機(jī)械臂的在軌自標(biāo)定.通過數(shù)學(xué)仿真對該方法的有效性進(jìn)行了驗證,該方法可以準(zhǔn)確獲取空間機(jī)械臂的D-H參數(shù).該方法直接基于非線性模型采用數(shù)值迭代算法進(jìn)行解算,避免了基于線性化模型進(jìn)行解析計算帶來的精度損失,提高了在軌標(biāo)定精度.