吳 凡,趙 瑞,何錫明,姜 萍,榮志飛,王琪智,裴健超
(北京航天飛行控制中心,北京 100094)
空間站機(jī)械臂[1-3]是中國(guó)空間站工程[4-5]的核心關(guān)鍵設(shè)備之一,承擔(dān)任務(wù)類(lèi)型多樣[6],如艙間爬行、支持航天員出艙[7]、載荷艙外安裝[8-9]、艙外狀態(tài)檢查等。空間站作為在軌時(shí)間很長(zhǎng)的航天器,機(jī)械臂在其中擔(dān)任了重要的角色。機(jī)械臂操作的控制模式不同于傳統(tǒng)繞飛航天器,對(duì)其的主要影響,不僅是天體間的相對(duì)運(yùn)動(dòng),除光照、通信條件制約之外,還有和空間站各部位、各組件及航天員間空間環(huán)境的干涉、平臺(tái)操作的影響等,都會(huì)進(jìn)行實(shí)時(shí)交互且是相互作用的,空間站機(jī)械臂任務(wù)的靈活性不言而喻。
由于應(yīng)用環(huán)境的特殊性,空間站機(jī)械臂的智能水平和自主行為受限,主要通過(guò)地面遙操作的配合實(shí)施對(duì)其的控制。在軌過(guò)程中需要進(jìn)行頻繁的任務(wù)規(guī)劃,獲得地面控制航天器動(dòng)作序列,完成地面對(duì)機(jī)械臂行為、動(dòng)作的控制,使航天器圓滿(mǎn)地完成既定的任務(wù)目標(biāo)。
智能規(guī)劃技術(shù)是指通過(guò)對(duì)周?chē)h(huán)境的認(rèn)識(shí)與分析,面向既定的任務(wù)目標(biāo),基于行為動(dòng)作及其資源限制和相關(guān)約束,對(duì)控制目標(biāo)的狀態(tài)及后續(xù)行為進(jìn)行推理,綜合制定出實(shí)現(xiàn)任務(wù)目標(biāo)的動(dòng)作序列。
智能規(guī)劃起源于狀態(tài)空間搜索、控制理論等研究,以及機(jī)器人技術(shù)、調(diào)度和其他領(lǐng)域的實(shí)際需要,是人工智能領(lǐng)域中一個(gè)重要的研究方向。長(zhǎng)期以來(lái),研究者們致力于智能規(guī)劃技術(shù)的研究,建立了多種智能規(guī)劃方法,取得顯著的成果,并在實(shí)際應(yīng)用中解決了很多類(lèi)型、很多領(lǐng)域的問(wèn)題。
在20 世紀(jì)90 年代之前規(guī)劃(Planning)一直采用邏輯演繹的方法予以求解,基于知識(shí)表示與推理(Knowledge Representation and Reasoning),側(cè)重于經(jīng)典邏輯下的各種推理技術(shù)的利用。1971 年,斯坦福研究所開(kāi)發(fā)了一種自動(dòng)規(guī)劃器STRIPS,在一個(gè)模型空間中找到一個(gè)算子序列,將給定的初始問(wèn)題轉(zhuǎn)化為滿(mǎn)足目標(biāo)條件的問(wèn)題[10]。1975 年,EARL[11-12]提出了NOAH(Nets of Action Hierarchies)系統(tǒng),第一次實(shí)現(xiàn)分層任務(wù)網(wǎng)絡(luò)規(guī)劃(Hierarchical Task Network,HTN)。2003年DANA等[13]提出了SHOP2規(guī)劃系統(tǒng),在該年度國(guó)際規(guī)劃競(jìng)賽中發(fā)揮了出色的表現(xiàn),是一個(gè)典型的HTN 規(guī)劃系統(tǒng)。2004 年NASA 使用了MAPGEN 規(guī)劃器[14]為火星探測(cè)器的日常運(yùn)行進(jìn)行了規(guī)劃。2007年MEXAR2規(guī)劃器[15]為歐洲航天局(ESA)的火星快車(chē)任務(wù)執(zhí)行了日常規(guī)劃和科學(xué)規(guī)劃。
航天器遙操作任務(wù)規(guī)劃技術(shù)[16-17]是智能規(guī)劃技術(shù)的一類(lèi)典型應(yīng)用。在之前我國(guó)成功實(shí)施了嫦娥五號(hào)任務(wù)、天問(wèn)一號(hào)任務(wù),在地月空間、行星際空間的遙操作任務(wù)中,規(guī)劃技術(shù)發(fā)揮了至關(guān)重要的作用,也奠定了堅(jiān)實(shí)的基礎(chǔ)[18-21]。航天器遙操作任務(wù)規(guī)劃基于任務(wù)特點(diǎn)和目標(biāo),在復(fù)雜多約束的不同任務(wù)類(lèi)型中完成各種事件的調(diào)度和集成,實(shí)現(xiàn)航天器行為的規(guī)劃。
空間站機(jī)械臂的工作類(lèi)型多樣,一次完整的機(jī)械臂工作主要包括的行為有重啟、預(yù)熱、相機(jī)設(shè)置、運(yùn)動(dòng)、狀態(tài)設(shè)置,以及相應(yīng)的組合體姿態(tài)和狀態(tài)的設(shè)置和恢復(fù)等。
機(jī)械臂運(yùn)動(dòng)包括大臂運(yùn)動(dòng)模式[1]、小臂運(yùn)動(dòng)模式[22]、組合臂運(yùn)動(dòng)模式[23]等。其中運(yùn)動(dòng)均是由多步運(yùn)動(dòng)構(gòu)成的,經(jīng)過(guò)多個(gè)中間點(diǎn)到達(dá)運(yùn)動(dòng)目標(biāo)點(diǎn),此外,還包含機(jī)械臂末端的捕獲運(yùn)動(dòng)和釋放運(yùn)動(dòng),如圖1 所示。機(jī)械臂大臂、小臂分別具有一定數(shù)量的不同的基座,各有7 個(gè)關(guān)節(jié)角,2 個(gè)末端,每個(gè)末端均可實(shí)施捕獲、釋放運(yùn)動(dòng)[24-25],基于此狀態(tài),大臂、小臂、組合臂僅爬行路徑就有幾十條,其他類(lèi)型工作中機(jī)械臂路徑更加繁多,并且其中的大部分控制動(dòng)作是不一樣的。
圖1 機(jī)械臂運(yùn)動(dòng)模式Fig.1 Manipulator motion modes
空間站機(jī)械臂任務(wù)規(guī)劃是以機(jī)械臂運(yùn)動(dòng)及其操作過(guò)程為引導(dǎo),同時(shí)考慮非機(jī)械臂運(yùn)動(dòng)事件、非機(jī)械臂事件和機(jī)械臂事件間的邏輯耦合關(guān)系以及時(shí)序發(fā)生關(guān)系的規(guī)劃。規(guī)劃模式如圖2 所示,其中月事件反應(yīng)的是機(jī)械臂規(guī)劃的需求,飛控事件是描述每個(gè)行為的模塊。
圖2 任務(wù)規(guī)劃模式Fig.2 Task planning mode
針對(duì)任務(wù)目標(biāo)和規(guī)劃約束的分析,在獲取月事件需求后,基于機(jī)械臂工作過(guò)程,以機(jī)械臂運(yùn)動(dòng)步驟、航天員活動(dòng)流程等為基準(zhǔn),輔以平臺(tái)各狀態(tài)設(shè)置過(guò)程、機(jī)械臂各狀態(tài)設(shè)置情況,將機(jī)械臂工作月事件進(jìn)行分解及策略展開(kāi)。同時(shí),針對(duì)機(jī)械臂運(yùn)動(dòng)步驟,結(jié)合分解的月事件提取機(jī)械臂運(yùn)動(dòng)各階段對(duì)應(yīng)的位置姿態(tài)信息,分析形成機(jī)械臂運(yùn)動(dòng)需求。
基于上述需求層分析,整理形成月事件分解結(jié)果,建立分層規(guī)劃對(duì)象模型,再結(jié)合機(jī)械臂運(yùn)動(dòng)學(xué)規(guī)劃結(jié)果、規(guī)劃初始狀態(tài)、特殊約束需求,規(guī)劃器完成滿(mǎn)足測(cè)控資源整理模型下的任務(wù)規(guī)劃,完成在考慮各行為發(fā)生條件、執(zhí)行邏輯和時(shí)序安排下,滿(mǎn)足各類(lèi)約束的地面控制動(dòng)作序列,通過(guò)規(guī)劃驗(yàn)證后輸出控制動(dòng)作序列,讓航天器在滿(mǎn)足測(cè)控資源的條件下合理有效地完成各項(xiàng)工作。
基于機(jī)械臂工作的動(dòng)態(tài)過(guò)程,機(jī)械臂規(guī)劃面臨很多方面的約束,主要考慮以下幾個(gè)方面。
1)基本約束:月事件所包含的首個(gè)飛控事件約定了本次規(guī)劃的起始時(shí)間,即動(dòng)作的起始時(shí)間,后續(xù)飛控事件采用邏輯順序約束,在首個(gè)飛控事件之后依次安排;部分飛控事件由特征條件約束;部分飛控事件需滿(mǎn)足周期性要求,按照一定的時(shí)間間隔發(fā)生;部分飛控事件有陽(yáng)照、陰影限制約束。
2)聯(lián)合約束:部分飛控事件由多個(gè)或多類(lèi)約束條件共同進(jìn)行約束。
3)次生約束:已規(guī)劃的結(jié)果可能會(huì)對(duì)部分飛控事件產(chǎn)生影響,從而形成新的約束,如機(jī)械臂運(yùn)動(dòng)過(guò)程中可能會(huì)在特定時(shí)刻對(duì)地面和器上的通信產(chǎn)生遮擋,遮擋的時(shí)段內(nèi)不可安排飛控事件,又如機(jī)械臂運(yùn)動(dòng)過(guò)程中可能會(huì)與航天器產(chǎn)生干涉,為保證安全可能在運(yùn)動(dòng)前安排相應(yīng)空間站平臺(tái)設(shè)備調(diào)整飛控事件。
基于地面工程師對(duì)空間站機(jī)械臂構(gòu)型、供配電系統(tǒng)、信息系統(tǒng)、控制系統(tǒng)的設(shè)計(jì),對(duì)主要工作模式和任務(wù)需求進(jìn)行分析,按照規(guī)劃任務(wù)的目標(biāo),構(gòu)建分層規(guī)劃對(duì)象模型和狀態(tài)空間模型,在分層規(guī)劃對(duì)象中建立狀態(tài)推理模型,對(duì)部分飛控事件或控制動(dòng)作進(jìn)行多約束設(shè)計(jì),結(jié)合測(cè)控資源整理模型實(shí)現(xiàn)規(guī)劃的迭代計(jì)算,如圖3 所示。
圖3 模型的總體架構(gòu)Fig.3 Overall network architecture of the mode
空間站機(jī)械臂任務(wù)規(guī)劃過(guò)程存在通信窗口約束,單次任務(wù)規(guī)劃對(duì)象無(wú)法在一個(gè)時(shí)間窗口內(nèi)完成,在事件規(guī)劃的同時(shí),測(cè)控資源的整理是不可或缺的。
空間站機(jī)械臂任務(wù)規(guī)劃的可用區(qū)間必須能夠包含當(dāng)次規(guī)劃任務(wù)需求的總時(shí)長(zhǎng),并且可用區(qū)間的起始時(shí)間要早于任務(wù)需求中事件的最早開(kāi)始時(shí)間。
通過(guò)定義全局時(shí)間點(diǎn),構(gòu)建資源的基礎(chǔ)區(qū)間,基礎(chǔ)區(qū)間進(jìn)行邏輯耦合形成應(yīng)用區(qū)間。將適配的基礎(chǔ)區(qū)間或應(yīng)用區(qū)間作為機(jī)械臂的可用區(qū)間,即資源項(xiàng),還可以對(duì)陽(yáng)照區(qū)間和陰影區(qū)間進(jìn)行標(biāo)識(shí)。
在規(guī)劃器按照分層規(guī)劃對(duì)象模型展開(kāi)規(guī)劃時(shí),根據(jù)飛控事件的資源需求安排在符合約束條件的可用區(qū)間內(nèi)。
機(jī)械臂工作受溫度、能源、資源等多種條件制約,并與空間站平臺(tái)其他分系統(tǒng)的工作相互耦合,其行為本身具有多種復(fù)雜的模式和極強(qiáng)的動(dòng)態(tài)特性,在不同應(yīng)用場(chǎng)景下還具有不同的流程分支,導(dǎo)致任務(wù)規(guī)劃過(guò)程具有較強(qiáng)的不確定性。
如果基于各動(dòng)作直接進(jìn)行任務(wù)規(guī)劃,不僅規(guī)劃計(jì)算耗時(shí)很長(zhǎng),而且還會(huì)增加管理和維護(hù)的成本。為提高規(guī)劃效率,將機(jī)械臂相關(guān)的任務(wù)需求進(jìn)行分解和細(xì)化分析,基于經(jīng)驗(yàn)和分析結(jié)果將月事件分解展開(kāi)為相應(yīng)的飛控事件模塊,每一個(gè)飛控事件模塊對(duì)應(yīng)著一組或者多組動(dòng)作控制序列。
基于上述優(yōu)化思想,將機(jī)械臂規(guī)劃模型構(gòu)建為包含月事件層、飛控事件層和控制動(dòng)作序列層的分層對(duì)象模型,模型每一層的模塊在任務(wù)過(guò)程中可以持續(xù)補(bǔ)充以及復(fù)用,模型通過(guò)層級(jí)調(diào)用產(chǎn)生本次任務(wù)中的全部地面控制動(dòng)作序列,取代人為通過(guò)單控制動(dòng)作排列的方式產(chǎn)生全部動(dòng)作控制計(jì)劃,滿(mǎn)足不同階段的規(guī)劃目標(biāo),提升了長(zhǎng)期任務(wù)過(guò)程中的地面工作效率和靈活性,由于經(jīng)過(guò)任務(wù)驗(yàn)證的模塊持續(xù)復(fù)用,模型的準(zhǔn)確性也大大提升,如圖4 所示。
圖4 分層規(guī)劃對(duì)象模型Fig.4 Layered programming object model
月事件層由可以完成當(dāng)前任務(wù)需求Ψ的部分飛控事件Ωi構(gòu)成,并在該層通過(guò)邏輯順序約束表達(dá)式描述飛控事件間的關(guān)系,飛控事件的關(guān)系由地面工程師給出建議,明確在一次規(guī)劃任務(wù)中飛控事件的集合。
飛控事件描述了機(jī)械臂工作月事件實(shí)施的具體步驟,在機(jī)械臂規(guī)劃中,飛控事件作為規(guī)劃過(guò)程中的最小邏輯單元,每個(gè)飛控事件描述機(jī)械臂或組合體平臺(tái)的一個(gè)最小動(dòng)作或最小狀態(tài),設(shè)計(jì)時(shí)遵循邏輯閉環(huán)原則,以實(shí)現(xiàn)飛控事件在規(guī)劃時(shí)的邏輯正確。
機(jī)械臂在不同的工作場(chǎng)景下具有多樣的分支和狀態(tài),如在不同基座上實(shí)施相同行為時(shí)所采用的控制動(dòng)作不同,又如針對(duì)所有分支或狀態(tài)進(jìn)行窮舉設(shè)計(jì),會(huì)導(dǎo)致飛控事件數(shù)量過(guò)多,使得模型的維護(hù)成本激增,所以設(shè)計(jì)飛控事件時(shí)需滿(mǎn)足可復(fù)用性要求,每個(gè)飛控事件均需包含可能出現(xiàn)的不同分支和不同狀態(tài)Mv,實(shí)現(xiàn)飛控事件的歸一化設(shè)計(jì)。在此基礎(chǔ)上,針對(duì)相應(yīng)飛控事件的不同分支及不同狀態(tài),標(biāo)識(shí)不同的能耗Ev,設(shè)計(jì)具有互斥性質(zhì)的調(diào)度參數(shù)Pv及參數(shù)賦值,提供人工管理和選擇該飛控事件的分支及狀態(tài)的接口。
每個(gè)模式Mv由控制動(dòng)作序列層構(gòu)成,每個(gè)控制動(dòng)作序列包括多個(gè)動(dòng)作和對(duì)應(yīng)動(dòng)作的持續(xù)時(shí)長(zhǎng),并且可以嵌套其他的動(dòng)作序列。
式中:Iu為控制動(dòng)作的代號(hào);Au為控制動(dòng)作Iu的名稱(chēng);ku為控制動(dòng)作Iu的持續(xù)時(shí)長(zhǎng);pu為針對(duì)各控制動(dòng)作設(shè)置的調(diào)度參數(shù),一個(gè)控制動(dòng)作可能會(huì)配置多個(gè)調(diào)度參數(shù),如定義是主份還是備份控制、動(dòng)作是否重復(fù)多次等。
在月事件層的飛控事件中將對(duì)應(yīng)的調(diào)度參數(shù)Pv和pu進(jìn)行集中描述,如圖5 所示,定義是否安排某飛控事件、飛控事件包含的各種狀態(tài)以及各狀態(tài)對(duì)應(yīng)的不同動(dòng)作分支;將優(yōu)先權(quán)重最大的常用調(diào)度參數(shù)設(shè)置為缺省狀態(tài)。
圖5 模型中參數(shù)的定義及設(shè)置Fig.5 Definition and setting of parameters in the model
任務(wù)規(guī)劃過(guò)程伴隨著規(guī)劃模型從初始狀態(tài)到最終狀態(tài)的傳遞和推導(dǎo),狀態(tài)是決定飛控事件或控制動(dòng)作選擇的關(guān)鍵。在傳統(tǒng)的人工規(guī)劃模式中,地面工程師需要人為推導(dǎo)狀態(tài)選擇調(diào)度參數(shù),若規(guī)劃輸入的需求或狀態(tài)發(fā)生改變時(shí),則需重新進(jìn)行狀態(tài)推導(dǎo),甚至對(duì)規(guī)劃模型進(jìn)行反復(fù)修正和調(diào)整。在空間站機(jī)械臂規(guī)劃中,由于機(jī)械臂工作相關(guān)的狀態(tài)繁多,涉及的飛控事件或控制動(dòng)作序列數(shù)量及相應(yīng)的參數(shù)也非常多,會(huì)導(dǎo)致規(guī)劃模型的設(shè)計(jì)、管理、維護(hù)及使用的效率低下、成本高昂、錯(cuò)誤率高。
根據(jù)任務(wù)過(guò)程,將機(jī)械臂狀態(tài)分為靜態(tài)狀態(tài)和動(dòng)態(tài)狀態(tài),靜態(tài)狀態(tài)主要包含主備分支、部分序列中的特殊設(shè)置分支,需基于分支選擇展開(kāi)規(guī)劃,動(dòng)態(tài)狀態(tài)主要由規(guī)劃當(dāng)前狀態(tài)進(jìn)行約束,且同一飛控事件安排在不同階段時(shí)的約束狀態(tài)也不一樣。
為提升分層規(guī)劃對(duì)象模型的靈活性、通用性,替代人工完成全過(guò)程的狀態(tài)推導(dǎo),將機(jī)械臂動(dòng)態(tài)狀態(tài)Sj及取值范圍的合集建立狀態(tài)空間Σ,作為數(shù)據(jù)庫(kù)存儲(chǔ)、調(diào)用及對(duì)查,并在規(guī)劃前對(duì)初始狀態(tài)空間進(jìn)行賦值。
在模型控制動(dòng)作序列層中,對(duì)可導(dǎo)致機(jī)械臂狀態(tài)變化的控制動(dòng)作后增加設(shè)置狀態(tài)空間描述的虛擬字段V_set,規(guī)劃器識(shí)別并處理該類(lèi)字段,在規(guī)劃過(guò)程中伴隨進(jìn)行狀態(tài)空間推理,推導(dǎo)狀態(tài)空間中當(dāng)前的各類(lèi)狀態(tài)的賦值,并將改變后的狀態(tài)引入后續(xù)飛控事件及控制動(dòng)作的規(guī)劃中。
同時(shí),按照機(jī)械臂工作邏輯及平臺(tái)各分系統(tǒng)控制邏輯,在模型的飛控事件或控制動(dòng)作序列層增加狀態(tài)調(diào)度參數(shù),當(dāng)滿(mǎn)足某一狀態(tài)或同時(shí)滿(mǎn)足多個(gè)設(shè)定狀態(tài)時(shí),調(diào)度該事件或者該控制動(dòng)作發(fā)生。并且狀態(tài)調(diào)度參數(shù)同調(diào)度參數(shù)Pv和pu在月事件的飛控事件中描述。規(guī)劃器將狀態(tài)規(guī)劃和時(shí)序邏輯規(guī)劃相結(jié)合,根據(jù)推理,狀態(tài)空間中的當(dāng)前狀態(tài)值,由狀態(tài)調(diào)度參數(shù)選擇正確的飛控事件或控制動(dòng)作發(fā)生。對(duì)狀態(tài)推理過(guò)程進(jìn)行了簡(jiǎn)單的示例,其狀態(tài)模型如圖6 所示。
圖6 狀態(tài)模型Fig.6 State model
針對(duì)任務(wù)過(guò)程中部分飛控事件或控制動(dòng)作發(fā)生的聯(lián)合約束的需求,模型中增加多狀態(tài)聯(lián)合約束表達(dá)式的描述,規(guī)劃器對(duì)該類(lèi)表達(dá)式進(jìn)行識(shí)別處理,按照正確的狀態(tài)進(jìn)行規(guī)劃。
典型的聯(lián)合約束對(duì)于某控制動(dòng)作,如多狀態(tài)約束,在幾個(gè)狀態(tài)同時(shí)等于指定狀態(tài)值、同時(shí)不等于指定狀態(tài)值、部分等于部分不等于指定狀態(tài)值的情況下控制動(dòng)作的發(fā)生。對(duì)于某飛控事件的約束可能包含機(jī)械臂當(dāng)前位置狀態(tài)、器上能源狀態(tài)、到達(dá)某時(shí)間周期,以及部分狀態(tài)等于或不等于指定狀態(tài)值。
機(jī)械臂運(yùn)動(dòng)規(guī)劃的具體控制參數(shù)通過(guò)仿真驗(yàn)證后,將各步驟運(yùn)動(dòng)參數(shù)傳遞至規(guī)劃器。運(yùn)動(dòng)參數(shù)包括每一步運(yùn)動(dòng)的執(zhí)行機(jī)構(gòu)、運(yùn)動(dòng)控制動(dòng)作代號(hào)、運(yùn)動(dòng)時(shí)長(zhǎng),以及狀態(tài)空間中的、運(yùn)動(dòng)綁定的狀態(tài)和狀態(tài)值。
在分層規(guī)劃對(duì)象模型中,將機(jī)械臂運(yùn)動(dòng)設(shè)計(jì)為一個(gè)飛控事件,規(guī)劃器識(shí)別收到的運(yùn)動(dòng)參數(shù)中的字段,按步驟讀取參數(shù)中每一步運(yùn)動(dòng)過(guò)程,基于執(zhí)行機(jī)構(gòu)字段的機(jī)械臂大臂或小臂調(diào)取大臂或小臂控制動(dòng)作序列,在該控制動(dòng)作序列中采用虛擬字段V_DMOVE 或V_XMOVE 來(lái)描述路徑。在規(guī)劃器規(guī)劃展開(kāi)動(dòng)作時(shí),虛擬字段替換為參數(shù)中運(yùn)動(dòng)控制動(dòng)作代號(hào),將動(dòng)作的持續(xù)時(shí)長(zhǎng)替換為參數(shù)中的運(yùn)動(dòng)時(shí)長(zhǎng),同時(shí)將該步驟中涉及的狀態(tài)字段更新存儲(chǔ)在狀態(tài)空間中,且該狀態(tài)值參與后續(xù)的規(guī)劃,如圖7所示。
圖7 運(yùn)動(dòng)控制參數(shù)調(diào)度Fig.7 Scheduling diagram of the motion control parameters
在完成動(dòng)作序列展開(kāi)后,規(guī)劃器需要對(duì)生成的地面控制動(dòng)作序列結(jié)果進(jìn)行驗(yàn)證,對(duì)結(jié)果的正確性進(jìn)行校核。
主要考慮以下4 個(gè)方面:
1)動(dòng)作發(fā)生的時(shí)間間隔是否滿(mǎn)足最小發(fā)生間隔。某兩個(gè)動(dòng)作間的間隔時(shí)長(zhǎng)是否大于某值或者小于某值。
2)某些動(dòng)作間是否有先后順序或時(shí)間間隔的要求,可能存在于一個(gè)動(dòng)作序列或不同的飛控事件中,動(dòng)作的發(fā)生時(shí)序,某動(dòng)作發(fā)生后多長(zhǎng)時(shí)間內(nèi),另一個(gè)動(dòng)作發(fā)生。
3)部分飛控事件需要周期性發(fā)生、部分飛控事件的陰影光照約束,以及運(yùn)動(dòng)過(guò)程是否和航天器產(chǎn)生干涉。
4)對(duì)航天器的能源消耗、熱控裕度進(jìn)行驗(yàn)證。
將上述內(nèi)容通過(guò)驗(yàn)證虛擬標(biāo)識(shí)和驗(yàn)證邏輯表達(dá)式進(jìn)行描述,規(guī)劃器識(shí)別虛擬標(biāo)識(shí)和邏輯表達(dá)式,在執(zhí)行規(guī)劃驗(yàn)證計(jì)算時(shí),對(duì)驗(yàn)證結(jié)果進(jìn)行顯示,對(duì)問(wèn)題進(jìn)行錯(cuò)誤提示。
使用規(guī)劃語(yǔ)言將模型中各字段進(jìn)行識(shí)別和描述,針對(duì)建立的問(wèn)題模型,再基于初始狀態(tài)、目標(biāo)狀態(tài),通過(guò)地面工程師手動(dòng)操作和規(guī)劃器的計(jì)算對(duì)問(wèn)題進(jìn)行迭代求解,計(jì)算生成能夠完成任務(wù)目標(biāo)的地面控制動(dòng)作序列。規(guī)劃求解過(guò)程分解如圖8 所示。
圖8 規(guī)劃求解流程Fig.8 Flow chart of planning and solving
1)地面工程師根據(jù)領(lǐng)域知識(shí)、任務(wù)的需求和目標(biāo),針對(duì)機(jī)械臂運(yùn)動(dòng)步驟和各階段位姿信息,整理形成機(jī)械臂運(yùn)動(dòng)需求,完成運(yùn)動(dòng)學(xué)規(guī)劃?;跈C(jī)械臂工作全過(guò)程建立分層規(guī)劃對(duì)象模型,若當(dāng)前規(guī)劃非首次任務(wù)可以直接復(fù)用該模型,如有新增的事件及動(dòng)作可以在模型中進(jìn)行調(diào)整和補(bǔ)充。
2)地面工程師根據(jù)任務(wù)需求,建立測(cè)控資源整理模型。
3)規(guī)劃器創(chuàng)建規(guī)劃任務(wù),選定分層規(guī)劃對(duì)象模型和執(zhí)行腳本包。執(zhí)行腳本包描述了規(guī)劃流程及各規(guī)劃階段項(xiàng)。
4)規(guī)劃器處理機(jī)械臂規(guī)劃需求,將分層規(guī)劃對(duì)象模型建立任務(wù)規(guī)劃執(zhí)行包。
5)規(guī)劃器獲取全局初始狀態(tài),完成分層規(guī)劃模型的格式檢查,讀取運(yùn)動(dòng)控制參數(shù)。
6)規(guī)劃器根據(jù)輸入的測(cè)控資源和測(cè)控資源整理模型規(guī)劃?rùn)C(jī)械臂工作的可用區(qū)間。
7)在規(guī)劃器初始條件設(shè)置界面對(duì)首個(gè)飛控事件指定北京時(shí),指定規(guī)劃開(kāi)始時(shí)刻為首個(gè)飛控事件實(shí)施的北京時(shí)。
8)規(guī)劃器根據(jù)各飛控事件所涉及的調(diào)度參數(shù)信息進(jìn)行列表化顯示,提供人工干預(yù)的接口。規(guī)劃時(shí)默認(rèn)按照缺省參數(shù)進(jìn)行規(guī)劃,如果調(diào)度參數(shù)需要改變,地面工程師利用人工干預(yù)接口對(duì)相應(yīng)調(diào)度參數(shù)進(jìn)行調(diào)整,按照參數(shù)取值和分支選擇對(duì)各事件進(jìn)行規(guī)劃。
9)規(guī)劃器根據(jù)月事件層中飛控事件間邏輯順序約束表達(dá)式及資源占用方式,規(guī)劃器識(shí)別已規(guī)劃飛控事件的資源占用狀態(tài)和邏輯順序,按順序?qū)︼w控事件實(shí)施規(guī)劃。
10)規(guī)劃器根據(jù)狀態(tài)空間初始賦值和設(shè)計(jì)的狀態(tài)推理模型,根據(jù)狀態(tài)空間中當(dāng)前狀態(tài)值,由狀態(tài)調(diào)度參數(shù)自適應(yīng)的選擇分支,規(guī)劃器識(shí)別并處理狀態(tài)設(shè)置字段,設(shè)置狀態(tài)空間中的狀態(tài)賦值,并將改變后的狀態(tài)引入后續(xù)飛控事件及控制動(dòng)作的規(guī)劃中。
11)規(guī)劃器在規(guī)劃過(guò)程中對(duì)同一時(shí)間發(fā)生的地面控制動(dòng)作進(jìn)行錯(cuò)誤提示,地面工程師按照錯(cuò)誤類(lèi)型對(duì)設(shè)計(jì)的分層規(guī)劃模型進(jìn)行調(diào)整,實(shí)施重規(guī)劃,完成沖突消解。
12)規(guī)劃完成后規(guī)劃器執(zhí)行規(guī)劃驗(yàn)證,基于規(guī)劃驗(yàn)證模型,規(guī)劃器對(duì)控制動(dòng)作的存在性、工作流程、能源消耗、熱控裕度的擴(kuò)展性,以及部分實(shí)施邏輯進(jìn)行驗(yàn)證,并將驗(yàn)證結(jié)果返回輸出,地面工程師對(duì)驗(yàn)證結(jié)果和地面控制動(dòng)作序列結(jié)果進(jìn)行校核。若驗(yàn)證結(jié)果未通過(guò),地面工程師對(duì)相應(yīng)問(wèn)題進(jìn)行模型調(diào)整實(shí)施重規(guī)劃,直至通過(guò)驗(yàn)證。
13)若測(cè)控資源發(fā)生調(diào)整,或有次生約束的產(chǎn)生,規(guī)劃器同樣需要完成重規(guī)劃。若出現(xiàn)應(yīng)急情況,規(guī)劃器根據(jù)人工指定的應(yīng)急狀態(tài)規(guī)劃相應(yīng)的應(yīng)急分支。
14)規(guī)劃器完成符合要求的規(guī)劃后,將通過(guò)驗(yàn)證的地面控制動(dòng)作序列結(jié)果和機(jī)械臂控制參數(shù)進(jìn)行發(fā)布與傳遞。
這里對(duì)機(jī)械臂在軌某一次任務(wù)片段的測(cè)試驗(yàn)證結(jié)果進(jìn)行展示,機(jī)械臂初始位置構(gòu)型為組合臂狀態(tài),初始狀態(tài)為大臂關(guān)節(jié)角度W0={J1,J2,J3,J4,J5,J6,J7},小臂關(guān)節(jié)角度w0={j1,j2,j3,j4,j5,j6,j7},空間站機(jī)械臂從組合臂狀態(tài)拆解為單臂狀態(tài),大小臂運(yùn)動(dòng)至存儲(chǔ)常態(tài)構(gòu)型We=,實(shí)現(xiàn)由初始狀態(tài)到最終狀態(tài)的狀態(tài)轉(zhuǎn)移,執(zhí)行時(shí)間控制在半個(gè)工作日內(nèi),涉及控制動(dòng)作百余個(gè),其中機(jī)械臂運(yùn)動(dòng)控制動(dòng)作11 個(gè),涉及機(jī)械臂大臂運(yùn)動(dòng)和小臂運(yùn)動(dòng),具體控制動(dòng)作內(nèi)容用代號(hào)表示,涉及狀態(tài)空間絕大部分狀態(tài)及部分狀態(tài)取值。
分層規(guī)劃對(duì)象模型的月事件層涉及具有邏輯順序約束的飛控事件18 件,主要類(lèi)型有運(yùn)動(dòng)準(zhǔn)備、加電設(shè)置、斷電設(shè)置、運(yùn)動(dòng)、抓捕、釋放等,包含對(duì)電路的設(shè)置、電機(jī)的設(shè)置、相機(jī)的設(shè)置、運(yùn)動(dòng)的控制等。其中在飛控事件層部分用到的事件對(duì)應(yīng)狀態(tài)有10 余種,在動(dòng)作序列層涉及調(diào)度參數(shù)和狀態(tài)參數(shù),以及狀態(tài)空間狀態(tài)值的設(shè)置改變,參數(shù)間存在多約束邏輯關(guān)系表達(dá),如圖9 所示。
圖9 實(shí)例分層規(guī)劃對(duì)象模型Fig.9 Instance layered planning object model
模型中包含了大量的調(diào)度參數(shù)和狀態(tài)分支,在人工干預(yù)和狀態(tài)推理下規(guī)劃器進(jìn)行規(guī)劃,圖中示例了部分飛控事件、動(dòng)作的調(diào)度參數(shù)分支和狀態(tài)分支,如其中的平臺(tái)設(shè)置飛控事件基于調(diào)度參數(shù)Pv分為了兩種模式;分支1 控制動(dòng)作序列中的參數(shù)pu決定了控制動(dòng)作1 或2 的安排;第1 步機(jī)械臂運(yùn)動(dòng)飛控事件基于運(yùn)動(dòng)執(zhí)行機(jī)構(gòu)選擇大臂運(yùn)動(dòng);斷電飛控事件基于狀態(tài)為基座2 對(duì)應(yīng)的控制動(dòng)作序列中的狀態(tài)設(shè)置目標(biāo)的生效,影響了上電切換的狀態(tài)分支。
根據(jù)當(dāng)前機(jī)械臂起始位置姿態(tài)和目標(biāo)點(diǎn)位置姿態(tài),規(guī)劃?rùn)C(jī)械臂大臂和小臂運(yùn)動(dòng)路徑總計(jì)11 條,其中一條路徑如圖10 所示。
圖10 機(jī)械臂運(yùn)動(dòng)路徑規(guī)劃結(jié)果Fig.10 Results of the manipulator motion path planning
規(guī)劃器規(guī)劃過(guò)程約定首個(gè)飛控事件起始時(shí)間2023-09-08 T08:30:00。規(guī)劃得到地面控制動(dòng)作序列簡(jiǎn)要描述見(jiàn)表1,首控制動(dòng)作時(shí)間正確,各飛控事件間的邏輯順序正確,飛控事件8 和飛控事件14 陰影區(qū)資源約束正確。各控制動(dòng)作均在可用區(qū)間內(nèi),基于調(diào)度參數(shù)的飛控事件和控制動(dòng)作選擇有效。基于狀態(tài)推理的飛控事件和控制動(dòng)作分支選擇正確,引起狀態(tài)變化的控制動(dòng)作后狀態(tài)設(shè)置正確,并參與后續(xù)規(guī)劃。多約束動(dòng)作和飛控事件滿(mǎn)足邏輯表達(dá)式約定,如飛控事件9,當(dāng)前可用區(qū)間內(nèi)存在機(jī)械臂運(yùn)動(dòng)、下一飛控事件時(shí)長(zhǎng)大于本可用區(qū)間剩余時(shí)長(zhǎng)、機(jī)械臂位于安全位置、本可用區(qū)間和下一可用區(qū)間間隔時(shí)間超過(guò)20 min。運(yùn)動(dòng)控制動(dòng)作調(diào)取有效。地面控制動(dòng)作序列滿(mǎn)足資源、能源消耗及熱控裕度的限制。規(guī)劃驗(yàn)證結(jié)果為通過(guò)驗(yàn)證所限定的條件,可以合理高效地完成本次任務(wù)需求。
首先,根據(jù)測(cè)控資源整理模型,規(guī)劃了行為、動(dòng)作安排的可用區(qū)間。完成了任務(wù)向子任務(wù)的分解,將規(guī)劃任務(wù)目標(biāo)和需求分解為月事件層、飛控事件層、動(dòng)作序列及動(dòng)作層,構(gòu)建了分層規(guī)劃對(duì)象模型作為數(shù)據(jù)庫(kù)存儲(chǔ)復(fù)用,若存在新增飛控事件,則針對(duì)當(dāng)次需求對(duì)相應(yīng)飛控事件及動(dòng)作序列進(jìn)行設(shè)計(jì)和增補(bǔ)。同時(shí),設(shè)定了狀態(tài)空間,描述時(shí)變的器上狀態(tài)變量和狀態(tài)值,構(gòu)建了狀態(tài)空間推理模型,通過(guò)狀態(tài)參數(shù)的自動(dòng)傳遞和其他可人工干預(yù)的調(diào)度參數(shù),規(guī)劃器識(shí)別處理參數(shù)完成了不同的飛控事件、動(dòng)作序列及動(dòng)作的調(diào)度組合,在模型避免多次更動(dòng)的情況下,具備了適用于多場(chǎng)景、多分支的規(guī)劃能力。
其次,模型中設(shè)計(jì)了邏輯順序約束、飛控資源占用等多約束條件以及多狀態(tài)聯(lián)合約束表達(dá)式,規(guī)劃器識(shí)別各類(lèi)約束并按照約束優(yōu)先級(jí)進(jìn)行處理規(guī)劃。
再次,對(duì)模型中的運(yùn)動(dòng)事件進(jìn)行了歸一化設(shè)計(jì),對(duì)運(yùn)動(dòng)路徑進(jìn)行了統(tǒng)一管理。建立了規(guī)劃驗(yàn)證模型,對(duì)規(guī)劃結(jié)果的正確性進(jìn)行了復(fù)核校對(duì)。
最后,規(guī)劃器基于執(zhí)行腳本按階段展開(kāi)了規(guī)劃,在時(shí)間的調(diào)度和可用區(qū)間內(nèi),通過(guò)狀態(tài)推理和地面工程師的干預(yù)選項(xiàng),完成多分支、多變化狀態(tài)下的航天器地面控制動(dòng)作序列的編排及驗(yàn)證,完成航天器的任務(wù)規(guī)劃,且規(guī)劃器對(duì)缺省參數(shù)的設(shè)置和識(shí)別,實(shí)現(xiàn)了基于所建模型最高頻率場(chǎng)景下的一鍵式操控模式,實(shí)現(xiàn)了任務(wù)目標(biāo)。
通過(guò)機(jī)械臂在軌任務(wù)實(shí)施結(jié)果表明,該方法增加了器上行為安排的靈活性,有效地提升了地面控制動(dòng)作序列集成的自動(dòng)化和效率,優(yōu)化了遙操作任務(wù)規(guī)劃模式,對(duì)后面持續(xù)的、復(fù)雜多變的遙操作任務(wù)規(guī)劃工作均具有較高的實(shí)際工程應(yīng)用價(jià)值。
任務(wù)規(guī)劃技術(shù)是保證航天器安全、高效地開(kāi)展工作的基礎(chǔ)和關(guān)鍵,國(guó)內(nèi)外對(duì)此開(kāi)展了大量研究。結(jié)合未來(lái)遙操作任務(wù)要求和發(fā)展趨勢(shì),還有很多可以探索并深入研究的方面:
1)當(dāng)前分層規(guī)劃對(duì)象模型月事件層的飛控事件及其邏輯關(guān)系多由地面工程師給出建議,后續(xù)考慮由狀態(tài)驅(qū)動(dòng)來(lái)實(shí)現(xiàn)飛控事件的自動(dòng)安排。
2)當(dāng)前的規(guī)劃求解基于整理獲得的可用區(qū)間,在獲取規(guī)劃結(jié)果后,并沒(méi)有因?yàn)槠魃闲袨閷?dǎo)致的可用區(qū)間的改變對(duì)規(guī)劃器進(jìn)行反饋,后續(xù)考慮對(duì)規(guī)劃器進(jìn)行反饋,并根據(jù)調(diào)整后的狀態(tài)重新整理可用區(qū)間,并在此基礎(chǔ)上實(shí)施重規(guī)劃,直至輸出符合各限制邏輯的規(guī)劃結(jié)果。
3)當(dāng)前分層規(guī)劃對(duì)象模型基于工作內(nèi)容設(shè)計(jì)相應(yīng)的飛控事件,在規(guī)劃求解過(guò)程中將飛控事件放在條件適配的可用區(qū)間中,飛控事件與資源深度綁定,當(dāng)某些飛控事件無(wú)法完全安排進(jìn)適配的可用區(qū)間時(shí),會(huì)造成飛控事件的無(wú)條件向后平移安排,影響后續(xù)飛控事件實(shí)施邏輯或大幅推遲當(dāng)日工作進(jìn)度。后續(xù)考慮在分層規(guī)劃對(duì)象模型中增加虛擬分割標(biāo)識(shí),規(guī)劃器識(shí)別該類(lèi)標(biāo)識(shí),并根據(jù)可用區(qū)間和飛控事件時(shí)長(zhǎng)在需進(jìn)行分割時(shí)按照適合的邏輯進(jìn)行處理。
4)當(dāng)前規(guī)劃模式下,飛控事件、動(dòng)作序列及邏輯關(guān)系更大程度上取決于地面工程師的領(lǐng)域經(jīng)驗(yàn)和對(duì)復(fù)雜模型的構(gòu)建,相比于智能規(guī)劃系統(tǒng)還有差距,后續(xù)可以將任務(wù)需求、任務(wù)目標(biāo)和算法更好地交互和結(jié)合,提高智能規(guī)劃水平。
5)現(xiàn)階段運(yùn)動(dòng)規(guī)劃和飛控事件規(guī)劃是分開(kāi)進(jìn)行的,通過(guò)運(yùn)動(dòng)飛控事件調(diào)用的動(dòng)作序列中的特殊標(biāo)識(shí)調(diào)度運(yùn)動(dòng)規(guī)劃的結(jié)果,然而運(yùn)動(dòng)規(guī)劃和飛控事件規(guī)劃是相互耦合且相互影響的,兩者協(xié)同規(guī)劃,或者通過(guò)運(yùn)動(dòng)規(guī)劃引導(dǎo)飛控事件規(guī)劃都是可以研究的方向。