牛嘉祥 胡玉茜 吳志紅 周波 余晟
(北京空間飛行器總體設(shè)計(jì)部,北京 100094)
空間站建造是一個(gè)復(fù)雜的大系統(tǒng)工程[1]。在空間站建造過(guò)程中,空間站從單一艙段發(fā)展到多艙段、多航天器形成組合體。在這個(gè)過(guò)程及在后續(xù)的應(yīng)用過(guò)程中,隨著空間站結(jié)構(gòu)的擴(kuò)大和任務(wù)需求的變化,空間站艙段之間的裝配更加頻繁和復(fù)雜,對(duì)艙段連接技術(shù)的要求也越來(lái)越高,而通過(guò)空間站機(jī)械臂的參與可使得這個(gè)過(guò)程更加自主、易行[2-3]。
在軌捕獲技術(shù)是空間在軌服務(wù)技術(shù)的重要分支[4]。根據(jù)捕獲對(duì)象,可以分為合作目標(biāo)和非合作目標(biāo)捕獲兩類。其中:合作目標(biāo)捕獲是對(duì)有合作目標(biāo)接口及相應(yīng)的對(duì)接應(yīng)答裝置的目標(biāo)進(jìn)行捕獲;非合作目標(biāo)捕獲是對(duì)沒有合作捕獲接口及相應(yīng)的捕獲應(yīng)答裝置的目標(biāo)進(jìn)行捕獲[5]。本文中論述的是對(duì)合作目標(biāo)的捕獲??臻g站轉(zhuǎn)位技術(shù)是空間站在軌組裝過(guò)程中需要解決的關(guān)鍵技術(shù)之一。所謂轉(zhuǎn)位,是指把已經(jīng)完成對(duì)接的艙段或目標(biāo)航天器從縱向的對(duì)接口轉(zhuǎn)移到側(cè)向的停泊口,為下一次對(duì)接作好準(zhǔn)備[6]。對(duì)合作目標(biāo)的捕獲及轉(zhuǎn)位,可以通過(guò)空間站機(jī)械臂實(shí)現(xiàn)[7]。機(jī)械臂系統(tǒng)以其靈活性在空間捕獲中得到了廣泛的應(yīng)用,并可以輔助航天器實(shí)現(xiàn)對(duì)接操作。空間站機(jī)械臂作為航天器在軌維護(hù)的重要手段,可以有效延長(zhǎng)航天器的使用壽命,提高航天器的性能,從而獲得較大的經(jīng)濟(jì)價(jià)值[8-9]。
在空間站的建造和使用過(guò)程中,對(duì)不同艙段或航天器進(jìn)行多次自主捕獲及轉(zhuǎn)位操作是一項(xiàng)新技術(shù)與新應(yīng)用[10]。針對(duì)不同艙段或航天器,整個(gè)過(guò)程既有相似之處,又存在著一定的不同。目前,國(guó)外傳統(tǒng)實(shí)現(xiàn)方式均為針對(duì)特定艙段構(gòu)建控制和數(shù)據(jù)通路,執(zhí)行特定的控制流程,從而實(shí)現(xiàn)捕獲及轉(zhuǎn)位功能,可復(fù)用性低并且數(shù)據(jù)傳輸時(shí)延較大。例如:日本研制的工程試驗(yàn)衛(wèi)星-7(ETS-7)進(jìn)行空間機(jī)械臂交會(huì)對(duì)接技術(shù)試驗(yàn)時(shí),其整體通信時(shí)延達(dá)6.0~7.0s。本文提出應(yīng)用機(jī)械臂實(shí)現(xiàn)空間站艙段或目標(biāo)航天器自主捕獲及轉(zhuǎn)位的方案,針對(duì)多個(gè)艙段或目標(biāo)航天器的復(fù)雜工況進(jìn)行模塊化設(shè)計(jì),可復(fù)用性強(qiáng);能在多任務(wù)協(xié)同運(yùn)行環(huán)境下進(jìn)行自主控制,具有毫秒級(jí)的控制周期及較優(yōu)的數(shù)據(jù)傳輸時(shí)延。
面向空間站的應(yīng)用場(chǎng)景,可應(yīng)用機(jī)械臂實(shí)現(xiàn)對(duì)不同艙段或目標(biāo)航天器的捕獲及轉(zhuǎn)位功能。為保證在捕獲及轉(zhuǎn)位過(guò)程中機(jī)械臂的可靠運(yùn)動(dòng),需要解決以下幾個(gè)問(wèn)題。①應(yīng)用機(jī)械臂實(shí)施捕獲及轉(zhuǎn)位,機(jī)械臂要獲取目標(biāo)艙段的位置狀態(tài)信息及機(jī)械臂自身的位置狀態(tài)信息,這就需要構(gòu)建數(shù)據(jù)通路并確定通路上傳輸?shù)臄?shù)據(jù)內(nèi)容,以及保證數(shù)據(jù)的實(shí)時(shí)性;②整個(gè)捕獲及轉(zhuǎn)位過(guò)程分為多個(gè)階段,持續(xù)時(shí)間會(huì)在幾十分鐘至數(shù)小時(shí),考慮到測(cè)控條件及空間站需要進(jìn)行的日常工作,不可能由地面實(shí)時(shí)控制機(jī)械臂運(yùn)動(dòng),而是需要機(jī)械臂自主執(zhí)行整個(gè)捕獲及轉(zhuǎn)位過(guò)程;③空間站艙段及目標(biāo)航天器眾多,需要考慮能迅速適應(yīng)不同艙段及目標(biāo)航天器的捕獲需求或者轉(zhuǎn)位操作需求,并且便于在軌維護(hù)。解決上述問(wèn)題的主要難點(diǎn)在于:①由于機(jī)械臂控制周期短,需要盡量縮短數(shù)據(jù)傳輸時(shí)延,并且禁止出現(xiàn)數(shù)據(jù)丟包的情況;②面對(duì)不同艙段的捕獲轉(zhuǎn)位過(guò)程,分別設(shè)置實(shí)現(xiàn)控制流程耗時(shí)耗力,且不易維護(hù),需要設(shè)計(jì)面向多個(gè)艙段及目標(biāo)航天器應(yīng)用場(chǎng)景下的操控流程實(shí)現(xiàn)方式。
基于以上分析,空間站機(jī)械臂采用7個(gè)自由度機(jī)械臂方案,實(shí)現(xiàn)對(duì)空間站艙段或目標(biāo)航天器進(jìn)行捕獲或者轉(zhuǎn)位操作。該系統(tǒng)包含機(jī)械臂控制器、數(shù)管控制器、機(jī)械臂執(zhí)行機(jī)構(gòu)和機(jī)械臂運(yùn)動(dòng)仿真設(shè)備。其中,核心在于機(jī)械臂控制器,它是捕獲及轉(zhuǎn)位信息流和操控的中心。從測(cè)控上行的控制指令經(jīng)數(shù)管控制器轉(zhuǎn)發(fā)至機(jī)械臂控制器,對(duì)指令進(jìn)行解析后驅(qū)動(dòng)機(jī)械臂運(yùn)動(dòng)執(zhí)行機(jī)構(gòu)。此外,機(jī)械臂控制器采集機(jī)械臂運(yùn)動(dòng)狀態(tài)數(shù)據(jù),并接收通過(guò)數(shù)管控制器轉(zhuǎn)發(fā)的艙段或目標(biāo)航天器狀態(tài)數(shù)據(jù),應(yīng)用這些數(shù)據(jù)判斷自主執(zhí)行捕獲及轉(zhuǎn)位過(guò)程,形成的機(jī)械臂運(yùn)動(dòng)數(shù)據(jù)送到機(jī)械臂執(zhí)行機(jī)構(gòu)或者機(jī)械臂仿真設(shè)備,實(shí)現(xiàn)應(yīng)用機(jī)械臂的空間站艙段或目標(biāo)航天器捕獲及轉(zhuǎn)位功能。
應(yīng)用機(jī)械臂的空間站艙段或目標(biāo)航天器捕獲及轉(zhuǎn)位信息流方案為:對(duì)空間站艙段或目標(biāo)航天器捕獲及轉(zhuǎn)位的具體過(guò)程進(jìn)行分析,明確捕獲及轉(zhuǎn)位過(guò)程中需要處理的艙段間交互數(shù)據(jù),形成特定數(shù)據(jù)結(jié)構(gòu)。獲取空間站艙段或目標(biāo)航天器及機(jī)械臂自身的位置信息及捕獲/轉(zhuǎn)位狀態(tài)信息,并進(jìn)行判決,生成機(jī)械臂運(yùn)動(dòng)數(shù)據(jù),將數(shù)據(jù)傳送給機(jī)械臂運(yùn)動(dòng)機(jī)構(gòu)執(zhí)行。此外,設(shè)計(jì)空間站艙段間數(shù)據(jù)通路,明確連接關(guān)系及鏈路層協(xié)議,設(shè)計(jì)由頂層通路驅(qū)動(dòng)下層通路運(yùn)行,通過(guò)盡量少的通路層級(jí)及頂層驅(qū)動(dòng)的數(shù)據(jù)采集有效保證1.0~2.0s的數(shù)據(jù)傳輸時(shí)延并且避免數(shù)據(jù)丟包。
應(yīng)用機(jī)械臂的空間站艙段或目標(biāo)航天器捕獲及轉(zhuǎn)位操控方案為:考慮機(jī)械臂在軌的應(yīng)用場(chǎng)景,設(shè)置正常工作模式和模擬工作模式。模擬工作模式下可進(jìn)行航天器捕獲及轉(zhuǎn)位的模擬,相關(guān)運(yùn)動(dòng)控制數(shù)據(jù)并不會(huì)送至機(jī)械臂驅(qū)動(dòng)機(jī)構(gòu),而是送至仿真筆記本電腦。將整個(gè)捕獲及轉(zhuǎn)位流程劃分為順序執(zhí)行的捕獲及轉(zhuǎn)位步驟,并將功能相同的步驟固化為同一個(gè)函數(shù)模塊,直至所有步驟均固化為函數(shù)模塊。針對(duì)性地選用和排列函數(shù)模塊就可以形成針對(duì)不同艙段或目標(biāo)航天器的捕獲及轉(zhuǎn)位流程。這一模塊化的構(gòu)建思想能有效解決不同艙段或目標(biāo)航天器分別實(shí)現(xiàn)操控流程的問(wèn)題,并且通過(guò)模塊的組合便于進(jìn)行在軌維護(hù)。此外,建立多任務(wù)運(yùn)行環(huán)境,按順序執(zhí)行模塊序列,能實(shí)現(xiàn)捕獲及轉(zhuǎn)位流程自主執(zhí)行。
對(duì)于空間站艙段或目標(biāo)航天器執(zhí)行捕獲操作或者轉(zhuǎn)位操作,只是操作過(guò)程中的具體流程不同,應(yīng)用上述信息流方案及操控方案均可實(shí)現(xiàn)。具體捕獲及轉(zhuǎn)位方案實(shí)現(xiàn)流程如圖1所示。
圖1 捕獲及轉(zhuǎn)位方案實(shí)現(xiàn)流程Fig.1 Implementation flow of capture and transposition scheme
應(yīng)用機(jī)械臂進(jìn)行空間站艙段或目標(biāo)航天器捕獲及轉(zhuǎn)位,首先需要解決機(jī)械臂、空間站、捕獲及轉(zhuǎn)位艙段或目標(biāo)航天器之間交換的數(shù)據(jù)類型,以及數(shù)據(jù)傳輸通路的構(gòu)建,并且明確數(shù)據(jù)交互的方案。交換的數(shù)據(jù)類型需要保證機(jī)械臂可以根據(jù)空間站艙段或目標(biāo)航天器的狀態(tài)完成控制計(jì)算及狀態(tài)表征。因此,設(shè)置需要捕獲及轉(zhuǎn)位的空間站艙段或目標(biāo)航天器位置信息及捕獲/轉(zhuǎn)位狀態(tài)信息數(shù)據(jù)結(jié)構(gòu),表征其位置狀態(tài)信息;設(shè)置機(jī)械臂位置信息及捕獲/轉(zhuǎn)位狀態(tài)信息數(shù)據(jù)結(jié)構(gòu),表征機(jī)械臂狀態(tài)信息;設(shè)置捕獲及轉(zhuǎn)位過(guò)程執(zhí)行狀態(tài)信息數(shù)據(jù)結(jié)構(gòu),表征捕獲及轉(zhuǎn)位狀態(tài)。
機(jī)械臂控制周期短,要求數(shù)據(jù)傳輸周期及時(shí)延盡量小,并且保證數(shù)據(jù)傳輸?shù)倪B續(xù)性,避免數(shù)據(jù)丟包,因此需要針對(duì)性設(shè)計(jì)數(shù)據(jù)通路及傳輸方式。通過(guò)構(gòu)建對(duì)接總線、數(shù)管總線、機(jī)械臂總線3個(gè)層級(jí)的數(shù)據(jù)通路,保證目標(biāo)艙段或目標(biāo)航天器到機(jī)械臂數(shù)據(jù)傳輸?shù)淖钚?shù)據(jù)通路層級(jí)。考慮到數(shù)據(jù)傳輸周期多為500ms,3級(jí)傳輸鏈路時(shí)延為1.5s,優(yōu)于工程試驗(yàn)衛(wèi)星-7進(jìn)行空間機(jī)械臂交會(huì)對(duì)接技術(shù)試驗(yàn)整體通信時(shí)延6.0~7.0s??紤]到模擬操作工作模式,設(shè)置針對(duì)仿真數(shù)據(jù)的以太網(wǎng)通路。
在數(shù)據(jù)通路設(shè)計(jì)中,應(yīng)保證盡量少的數(shù)據(jù)傳輸層級(jí),即設(shè)計(jì)3個(gè)數(shù)據(jù)通路將空間站艙段或目標(biāo)航天器與機(jī)械臂連接。它們分別是:空間站艙段或目標(biāo)航天器與空間站數(shù)管控制器之間的對(duì)接總線數(shù)據(jù)通路;空間站數(shù)管控制器與機(jī)械臂控制器之間的數(shù)管總線數(shù)據(jù)通路;機(jī)械臂控制器與其他機(jī)械臂運(yùn)動(dòng)設(shè)備之間的機(jī)械臂總線數(shù)據(jù)通路。此外,為保證模擬操作工作模式,機(jī)械臂控制器與模擬仿真軟件之間設(shè)計(jì)仿真數(shù)據(jù)通路。對(duì)于前3個(gè)數(shù)據(jù)通路,基于安全可靠性,采用1553B總線通信協(xié)議實(shí)現(xiàn);最后1個(gè)數(shù)據(jù)通路,基于仿真運(yùn)動(dòng)軟件運(yùn)行于電腦中,采用以太網(wǎng)通信協(xié)議。
在對(duì)接總線數(shù)據(jù)通路上,空間站數(shù)管控制器作為主控端采集空間站艙段或目標(biāo)航天器位置信息及捕獲/轉(zhuǎn)位狀態(tài)信息。在數(shù)管總線數(shù)據(jù)通路上,空間站數(shù)管控制器作為主控端轉(zhuǎn)發(fā)空間站艙段或目標(biāo)航天器位置信息及捕獲/轉(zhuǎn)位狀態(tài)信息,送到機(jī)械臂控制器;采集捕獲及轉(zhuǎn)位過(guò)程執(zhí)行狀態(tài)信息,經(jīng)測(cè)控下行至地面。在機(jī)械臂總線數(shù)據(jù)通路上,機(jī)械臂控制器作為主控端采集機(jī)械臂位置信息及捕獲/轉(zhuǎn)位狀態(tài)信息;機(jī)械臂控制器發(fā)送運(yùn)動(dòng)數(shù)據(jù)給機(jī)械臂運(yùn)動(dòng)執(zhí)行機(jī)構(gòu)。
在上述數(shù)據(jù)通路的前提下,需要解決數(shù)據(jù)可能丟包的問(wèn)題。在前3個(gè)數(shù)據(jù)通路中,采集機(jī)械臂位置信息及捕獲/轉(zhuǎn)位狀態(tài)信息時(shí),為有效保證數(shù)據(jù)傳輸?shù)姆€(wěn)定性,避免丟包,同時(shí)縮短數(shù)據(jù)傳輸時(shí)延,設(shè)計(jì)機(jī)械臂控制器由數(shù)管控制器驅(qū)動(dòng)。具體來(lái)說(shuō),數(shù)管控制器和機(jī)械臂控制器作為2條不同總線的主控端本不存在關(guān)聯(lián),由于在1553B總線上數(shù)據(jù)的傳輸均由主控端設(shè)備控制,這就會(huì)造成傳輸周期不匹配,進(jìn)而出現(xiàn)數(shù)據(jù)傳輸丟包的問(wèn)題。因此,需要將機(jī)械臂控制器也同時(shí)設(shè)置為數(shù)管總線的被控設(shè)備,即機(jī)械臂總線上的數(shù)據(jù)傳輸也應(yīng)受數(shù)管控制器控制。設(shè)置機(jī)械臂控制器也處于數(shù)管總線上,它周期性接收數(shù)管控制器發(fā)送的同步消息,并在接收后通過(guò)消息隊(duì)列的機(jī)制驅(qū)動(dòng)機(jī)械臂控制器總線任務(wù)開始采集機(jī)械臂總線上的數(shù)據(jù),從而實(shí)現(xiàn)數(shù)管控制器驅(qū)動(dòng)機(jī)械臂控制器進(jìn)行數(shù)據(jù)采集(1級(jí)總線驅(qū)動(dòng)2級(jí)總線進(jìn)行數(shù)據(jù)采集)。由于對(duì)接總線和數(shù)管總線均由數(shù)管控制器驅(qū)動(dòng),加之機(jī)械臂控制器受數(shù)管控制器驅(qū)動(dòng),因此能夠?qū)崿F(xiàn)數(shù)管總線驅(qū)動(dòng)對(duì)接總線及機(jī)械臂總線。
圖2為捕獲及轉(zhuǎn)位信息流結(jié)構(gòu),其中標(biāo)注了各通路上傳輸?shù)臄?shù)據(jù)及方向。
圖2 信息流結(jié)構(gòu)Fig.2 Information flow structure
為滿足機(jī)械臂在軌進(jìn)行模擬操作及試驗(yàn)的要求,設(shè)置正常工作模式和模擬操作工作模式。在正常工作模式下,采用從需要捕獲及轉(zhuǎn)位空間站艙段或目標(biāo)航天器獲取的位置信息及捕獲/轉(zhuǎn)位狀態(tài)信息進(jìn)行判決,執(zhí)行捕獲及轉(zhuǎn)位步驟,生成的機(jī)械臂運(yùn)動(dòng)數(shù)據(jù)傳送給機(jī)械臂運(yùn)動(dòng)機(jī)構(gòu)執(zhí)行。在模擬操作工作模式下,采用從目標(biāo)艙段或目標(biāo)航天器獲取的位置信息及捕獲/轉(zhuǎn)位狀態(tài)信息進(jìn)行判決,執(zhí)行捕獲及轉(zhuǎn)位步驟,生成的機(jī)械臂運(yùn)動(dòng)數(shù)據(jù)傳送給機(jī)械臂運(yùn)動(dòng)仿真軟件,以觀察機(jī)械臂運(yùn)動(dòng)狀態(tài),而機(jī)械臂自身不運(yùn)動(dòng)。在軌應(yīng)用過(guò)程中,在執(zhí)行機(jī)械臂對(duì)空間站艙段或目標(biāo)航天器的捕獲及轉(zhuǎn)位前,先通過(guò)地面發(fā)送指令將正常工作模式轉(zhuǎn)入模擬操作工作模式,此時(shí)通過(guò)在軌仿真軟件模擬執(zhí)行捕獲及轉(zhuǎn)位過(guò)程,驗(yàn)證操控過(guò)程的正確性。驗(yàn)證正確后,通過(guò)地面發(fā)送指令轉(zhuǎn)入正常工作模式,機(jī)械臂開始運(yùn)動(dòng)。
面對(duì)不同艙段和目標(biāo)航天器會(huì)有不同的捕獲及轉(zhuǎn)位過(guò)程,有相似的部分,也存在差異。為解決不同艙段和目標(biāo)航天器的捕獲及轉(zhuǎn)位要求的通用化設(shè)計(jì)難點(diǎn),通過(guò)模塊構(gòu)建整個(gè)捕獲及轉(zhuǎn)位過(guò)程,先將捕獲及轉(zhuǎn)位流程細(xì)化為不同步驟,再將相同功能步驟歸并為同一模塊進(jìn)行模塊設(shè)計(jì),通過(guò)不同功能模塊的搭建組合完成整個(gè)捕獲及轉(zhuǎn)位功能。模塊間的切換通過(guò)函數(shù)指針的形式實(shí)現(xiàn)。首先,將模塊功能進(jìn)行函數(shù)實(shí)現(xiàn);然后,模塊組合形成完整功能后構(gòu)成函數(shù)數(shù)組,每執(zhí)行完一個(gè)模塊函數(shù)指針就自動(dòng)下移,以此實(shí)現(xiàn)各模塊的切換執(zhí)行。
應(yīng)用機(jī)械臂進(jìn)行空間站艙段或目標(biāo)航天器捕獲及轉(zhuǎn)位,整體過(guò)程復(fù)雜、耗時(shí)較長(zhǎng),為保證執(zhí)行捕獲及轉(zhuǎn)位的同時(shí)不影響空間站常規(guī)控制和操作,機(jī)械臂應(yīng)具備自主執(zhí)行的能力。因此,需要在機(jī)械臂控制器軟件中構(gòu)建多任務(wù)運(yùn)行環(huán)境,以固定周期自主執(zhí)行捕獲及轉(zhuǎn)位步驟,達(dá)到捕獲及轉(zhuǎn)位流程自主執(zhí)行的目的。這種實(shí)現(xiàn)方式相對(duì)于“國(guó)際空間站”加拿大機(jī)械臂采用的地面遙操作或航天員操作的操控方式,具有更高的自主性,并且可適應(yīng)不同艙段及目標(biāo)航天器;故障及異常模式可放入自主流程中,相比地面控制可以更快地響應(yīng),提升了安全性。此外,通過(guò)更少的人為參與判讀及指令發(fā)送,能進(jìn)一步縮短捕獲及轉(zhuǎn)位的時(shí)間。
實(shí)現(xiàn)操控方案需要解決的技術(shù)難點(diǎn)在于:針對(duì)不同艙段和目標(biāo)航天器的捕獲及轉(zhuǎn)位,要實(shí)現(xiàn)通用化設(shè)計(jì),并在此基礎(chǔ)上實(shí)現(xiàn)流程的自主執(zhí)行。針對(duì)多個(gè)不同艙段或目標(biāo)航天器進(jìn)行捕獲及轉(zhuǎn)位,流程復(fù)雜,會(huì)有不同的捕獲及轉(zhuǎn)位過(guò)程,如果對(duì)每個(gè)艙段或目標(biāo)航天器的捕獲及轉(zhuǎn)位過(guò)程均進(jìn)行單獨(dú)開發(fā),則會(huì)產(chǎn)生大量冗余過(guò)程,并且復(fù)雜的全流程不便于進(jìn)行在軌維護(hù)。
為解決上述難點(diǎn),首先需要將復(fù)雜的捕獲及轉(zhuǎn)位流程分解為較為獨(dú)立的步驟。分解步驟時(shí),為保證模塊的復(fù)用性,每個(gè)步驟的功能高內(nèi)聚低耦合,并且將相同功能的步驟歸并為同一模塊。一個(gè)判據(jù)和對(duì)應(yīng)的執(zhí)行動(dòng)作劃分為一個(gè)模塊,無(wú)多個(gè)判據(jù)多個(gè)執(zhí)行結(jié)果在一個(gè)模塊中的耦合情況。例如:在捕獲及轉(zhuǎn)位流程中經(jīng)常需要判斷機(jī)械臂運(yùn)動(dòng)是否到位,若到位,則發(fā)出狀態(tài)設(shè)置指令及運(yùn)動(dòng)指令,那么按照上述原則判斷到位、發(fā)出運(yùn)動(dòng)指令、發(fā)出狀態(tài)設(shè)置指令應(yīng)分別為3個(gè)模塊,互相不可耦合,這樣后續(xù)有單獨(dú)的運(yùn)動(dòng)指令發(fā)送需求則可復(fù)用該模塊。分析捕獲及轉(zhuǎn)位需求,將相同的功能進(jìn)行歸類,可形成4類模塊。①機(jī)械臂狀態(tài)判斷模塊,判斷機(jī)械臂當(dāng)前狀態(tài)是否符合執(zhí)行條件;②機(jī)械臂運(yùn)動(dòng)指令發(fā)送模塊,發(fā)送機(jī)械臂運(yùn)動(dòng)指令;③機(jī)械臂運(yùn)動(dòng)判斷模塊,判斷機(jī)械臂運(yùn)動(dòng)是否完成;④機(jī)械臂狀態(tài)設(shè)置模塊,設(shè)置機(jī)械臂坐標(biāo)系等狀態(tài)。
在分解完獨(dú)立的步驟之后,需要將捕獲及轉(zhuǎn)位模塊進(jìn)行函數(shù)實(shí)現(xiàn)。針對(duì)模塊功能進(jìn)行函數(shù)實(shí)現(xiàn),并在其中執(zhí)行步驟加1操作,使得轉(zhuǎn)位流程能夠順序向后執(zhí)行。對(duì)于捕獲及轉(zhuǎn)位存在判斷條件的特殊模塊,考慮機(jī)械臂運(yùn)動(dòng)過(guò)程長(zhǎng),判斷條件往往不能迅速滿足,需要重復(fù)多次判斷,滿足后繼續(xù)執(zhí)行,不滿足則持續(xù)判斷。此外,為保證安全性,對(duì)判據(jù)進(jìn)行連續(xù)3次有效判斷,即連續(xù)3次符合執(zhí)行條件后將執(zhí)行步驟加1,繼續(xù)推進(jìn)執(zhí)行后續(xù)模塊;若不滿足判斷條件,不執(zhí)行步驟加1操作,而是周期性執(zhí)行該判斷模塊,直至通過(guò)。
最后,需要構(gòu)建捕獲及轉(zhuǎn)位過(guò)程并自主執(zhí)行。將函數(shù)模塊按捕獲及轉(zhuǎn)位需求組合,形成捕獲或轉(zhuǎn)位流程數(shù)組。由于各模塊均為函數(shù)實(shí)現(xiàn),因此以函數(shù)指針的形式調(diào)用。為保證按步驟自主執(zhí)行的能力,在機(jī)械臂控制器中構(gòu)建多任務(wù)運(yùn)行環(huán)境,任務(wù)為周期性自主運(yùn)行,在任務(wù)中通過(guò)運(yùn)用函數(shù)指針的方式順序執(zhí)行結(jié)構(gòu)體數(shù)組中的函數(shù),以執(zhí)行步驟確定當(dāng)前的指針指向,從而實(shí)現(xiàn)順序執(zhí)行捕獲及轉(zhuǎn)位流程。對(duì)于執(zhí)行條件不滿足的情況,流程會(huì)停在當(dāng)前步驟,以固定周期持續(xù)執(zhí)行該模塊,直至滿足條件繼續(xù)向下執(zhí)行。
通過(guò)上述流程就能實(shí)現(xiàn)有控制和交互的自主執(zhí)行捕獲及轉(zhuǎn)位。此外,由于最終捕獲及轉(zhuǎn)位的實(shí)現(xiàn)是利用模塊構(gòu)建的數(shù)組,如出現(xiàn)需求的更動(dòng),則重新選用模塊構(gòu)建數(shù)組即可,能大大減少更動(dòng)量,降低在軌維護(hù)難度。模塊化方案實(shí)現(xiàn)流程如圖3所示,封裝模塊的具體函數(shù)如下。
圖3 模塊化方案實(shí)現(xiàn)流程Fig.3 Implementation flow of modular scheme
(1)機(jī)械臂狀態(tài)判斷模塊:通過(guò)機(jī)械臂總線數(shù)據(jù)通路采集到的機(jī)械臂位置信息及捕獲/轉(zhuǎn)位狀態(tài)信息數(shù)據(jù),獲取當(dāng)前的機(jī)械臂狀態(tài)信息,對(duì)于位置信息需要判斷是否滿足精度要求,形成位置判斷函數(shù),判斷成功(連續(xù)3次有效后)則執(zhí)行步驟加1,否則不進(jìn)行其他操作。在函數(shù)中根據(jù)執(zhí)行情況設(shè)置機(jī)械臂位置信息及捕獲/轉(zhuǎn)位狀態(tài)信息數(shù)據(jù)中的相關(guān)信息(工作模式、工作步驟、錯(cuò)誤狀態(tài)等)。
(2)機(jī)械臂運(yùn)動(dòng)指令發(fā)送模塊:根據(jù)當(dāng)前的執(zhí)行步驟發(fā)送上注的運(yùn)動(dòng)指令,或者通過(guò)數(shù)管總線數(shù)據(jù)通路獲取的空間站艙段或目標(biāo)航天器位置信息及捕獲/轉(zhuǎn)位狀態(tài)信息數(shù)據(jù)中的空間站艙段或目標(biāo)航天器位置生成運(yùn)動(dòng)指令,執(zhí)行完成后執(zhí)行步驟加1,據(jù)此形成運(yùn)動(dòng)指令發(fā)送函數(shù)。在函數(shù)中根據(jù)執(zhí)行情況設(shè)置機(jī)械臂位置信息及捕獲/轉(zhuǎn)位狀態(tài)信息數(shù)據(jù)中的相關(guān)信息。
(3)機(jī)械臂運(yùn)動(dòng)判斷模塊:通過(guò)機(jī)械臂總線數(shù)據(jù)通路采集到的機(jī)械臂位置信息及捕獲/轉(zhuǎn)位狀態(tài)信息數(shù)據(jù)獲取當(dāng)前機(jī)械臂的運(yùn)動(dòng)狀態(tài),對(duì)運(yùn)動(dòng)是否完成進(jìn)行判斷,形成機(jī)械臂運(yùn)動(dòng)判斷函數(shù),判斷為運(yùn)動(dòng)完成(連續(xù)3次有效)則執(zhí)行步驟加1,否則不進(jìn)行其他操作。在函數(shù)中根據(jù)執(zhí)行情況設(shè)置機(jī)械臂位置信息及捕獲/轉(zhuǎn)位狀態(tài)信息數(shù)據(jù)中的相關(guān)信息。
(4)機(jī)械臂狀態(tài)設(shè)置模塊:根據(jù)當(dāng)前的執(zhí)行步驟設(shè)置機(jī)械臂狀態(tài),執(zhí)行完成后執(zhí)行步驟加1,據(jù)此形成狀態(tài)設(shè)置發(fā)送函數(shù)。在函數(shù)中根據(jù)執(zhí)行情況設(shè)置機(jī)械臂位置信息及捕獲/轉(zhuǎn)位狀態(tài)信息數(shù)據(jù)中的相關(guān)信息。
根據(jù)應(yīng)用機(jī)械臂的空間站艙段或目標(biāo)航天器捕獲及轉(zhuǎn)位方案,設(shè)置對(duì)應(yīng)模塊的實(shí)現(xiàn)函數(shù)如表1所示。根據(jù)捕獲及轉(zhuǎn)位流程形成結(jié)構(gòu)體數(shù)組,如圖4所示。
表1 模塊與函數(shù)對(duì)應(yīng)關(guān)系Table 1 Correspondence between modules and functions
圖4 結(jié)構(gòu)體數(shù)組示意Fig.4 Schematic diagram of structure array
通過(guò)軟件以函數(shù)指針的形式調(diào)用圖4中的結(jié)構(gòu)體數(shù)組,可實(shí)現(xiàn)捕獲及轉(zhuǎn)位的全流程,在每個(gè)函數(shù)中設(shè)置打印信息通過(guò)串口輸出,具體如圖5所示。打印輸出內(nèi)容與結(jié)構(gòu)體定義內(nèi)容一致,可見其自主運(yùn)行情況符合結(jié)構(gòu)體中的定義情況,實(shí)現(xiàn)了捕獲及轉(zhuǎn)位功能需求。針對(duì)控制周期的驗(yàn)證,則通過(guò)每個(gè)模塊的執(zhí)行時(shí)間間隔進(jìn)行,統(tǒng)計(jì)圖4中各模塊的打印時(shí)間如表2所示。根據(jù)表2中的執(zhí)行時(shí)刻,2個(gè)模塊執(zhí)行間隔為1.0~1.2s,滿足1.0~2.0s的控制周期要求。
表2 模塊執(zhí)行時(shí)刻Table 2 Module execution time
圖5 執(zhí)行情況串口輸出結(jié)果Fig.5 Execution status serial port output results
北京時(shí)間2022年1月,空間站機(jī)械臂轉(zhuǎn)位貨運(yùn)飛船試驗(yàn)取得圓滿成功。機(jī)械臂捕獲天舟二號(hào)貨運(yùn)飛船后,在機(jī)械臂的拖動(dòng)下以核心艙節(jié)點(diǎn)艙球心為圓心進(jìn)行平面轉(zhuǎn)位。而后,反向操作,直至貨運(yùn)飛船與核心艙重新對(duì)接并完成鎖緊。在試驗(yàn)過(guò)程中,機(jī)械臂作為轉(zhuǎn)位試驗(yàn)的主動(dòng)控制者,應(yīng)用的是本文提出的捕獲及轉(zhuǎn)位方案。通過(guò)模塊化構(gòu)建轉(zhuǎn)位流程,按步驟自主執(zhí)行,控制周期在毫秒級(jí),各數(shù)據(jù)結(jié)構(gòu)內(nèi)容在數(shù)據(jù)通路中傳輸正常,順利完成了機(jī)械臂轉(zhuǎn)位貨運(yùn)飛船試驗(yàn)。試驗(yàn)示意及空間站相機(jī)拍攝圖像如圖6和圖7所示。
圖6 機(jī)械臂轉(zhuǎn)位貨運(yùn)飛船示意Fig.6 Manipulator transposition cargo spacecraft schematic diagram
實(shí)現(xiàn)空間站最終構(gòu)型的組裝建造,需要空間站艙段和目標(biāo)航天器的分離、轉(zhuǎn)位、再次對(duì)接并停泊和連通及自主捕獲等一系列飛行操作實(shí)現(xiàn)。本文應(yīng)用機(jī)械臂實(shí)現(xiàn)空間站艙段或目標(biāo)航天器的自主捕獲及轉(zhuǎn)位的方案,通過(guò)地面測(cè)試及在軌轉(zhuǎn)位貨運(yùn)飛船進(jìn)行了驗(yàn)證,可為后續(xù)空間站的建造及機(jī)械臂的使用打下很好的基礎(chǔ)。