徐 峰,肖余之,薩 莉,賴安學(xué)
(上海宇航系統(tǒng)工程研究所,上海 201108)
對接機構(gòu)對接綜合試驗臺(以下稱綜合臺)是對接機構(gòu)研制中重要的試驗設(shè)備[1-3]。綜合臺為典型的半物理地面仿真試驗設(shè)備,主要由測量、包含數(shù)學(xué)模型的控制,以及執(zhí)行(運動模擬器)三部分構(gòu)成,試驗對象為真實的對接機構(gòu)。主要用于進行對接過程試驗和對接性能測試。其控制系統(tǒng)的軟件開發(fā)涉及計算機、力學(xué)、控制和液壓等學(xué)科,因?qū)I(yè)涉及面寬且性能指標(biāo)苛刻,系統(tǒng)方案確定難度大。如采用傳統(tǒng)瀑布生命周期進行開發(fā),一旦出現(xiàn)問題時返工的影響較大。為此,在綜合臺開發(fā)過程中采用了基于快速原型的設(shè)計方法,用演化式和增量式原型開發(fā)控制系統(tǒng)軟件。為此,本文對基于快速原型設(shè)計的對接機構(gòu)綜合臺控制系統(tǒng)軟件開發(fā)進行了研究。
傳統(tǒng)軟件工程中主要使用瀑布式順序開發(fā)方法,包括需求分析和定義、系統(tǒng)設(shè)計、實現(xiàn)和單元測試、系統(tǒng)集成測試和運行維護等階段。瀑布模型體現(xiàn)了對軟件過程的期望:嚴(yán)格控制、確保質(zhì)量。但常因為軟件過程難以預(yù)測,瀑布模型無法實現(xiàn)其要求。這一方法的優(yōu)點是全面、嚴(yán)謹(jǐn),但最大的缺陷是過程一旦啟動就難以適應(yīng)變化。
瀑布式順序開發(fā)方法基于一個重要的假設(shè)前提是用戶能提出明確的需求。然而,在開發(fā)初期,用戶對系統(tǒng)一般僅有模糊的認知,而軟件開發(fā)者對所要解決的應(yīng)用問題認識更為模糊。另外,隨著開發(fā)的深入,用戶可能會產(chǎn)生新的要求,或因環(huán)境變化,要求系統(tǒng)也隨之變化。因此,幾乎不可能獲得完整準(zhǔn)確的需求??焖僭头?如圖1所示)是近年來提出的一種以計算機為基礎(chǔ)的系統(tǒng)開發(fā)方法。它先構(gòu)造一功能簡單的原型系統(tǒng),再通過對原型系統(tǒng)逐步求精,不斷擴充完善獲得最終的軟件系統(tǒng)。原型是待構(gòu)筑的實際系統(tǒng)的縮小比例模型,但保留了實際系統(tǒng)的多數(shù)性能。該模型可在運行中被檢查、測試、修改,直至其功能、性能達到用戶需求,故很快即可轉(zhuǎn)換成原型的目標(biāo)系統(tǒng)。
圖1 原型開發(fā)流程Fig.1 Flowchart of prototypedesign
原型法的主要優(yōu)點是支持用戶的需求,使用戶在系統(tǒng)生存周期的設(shè)計階段能起積極作用;減少系統(tǒng)開發(fā)的風(fēng)險,特別是在大型項目的開發(fā)中對項目需求分析難以一次完成時,應(yīng)用原型法的效果更明顯。
根據(jù)原型與最終產(chǎn)品間的關(guān)系,原型開發(fā)可分為:拋棄式,驗證和澄清系統(tǒng)的需求描述,重新構(gòu)造系統(tǒng);演化式,逐步改進和細化原型,將原型進化為最終系統(tǒng);增量式,在建立軟件總體設(shè)計基礎(chǔ)上,采用增量開發(fā)方法,使原型成為最終系統(tǒng)。
針對綜合臺控制系統(tǒng)軟件的快速原型開發(fā)包括多個方面。對系統(tǒng)方案確立,采用性能原型快速驗證系統(tǒng)指標(biāo)的可行性并確定系統(tǒng)方案,而軟件開發(fā)則采用了拋棄式、演化式和增量式原型開發(fā)方法。
綜合臺如圖2所示。研制中提出了控制周期1 ms的要求。分析綜合臺的任務(wù),其用于對接機構(gòu)的捕獲、緩沖和拉近試驗、性能測試,且運動部件為六自由度的運動模擬器,故控制系統(tǒng)包含對接初始條件規(guī)劃、捕獲緩沖拉近的動力學(xué)解算、對接機構(gòu)和Stewart平臺的正解、運動模擬器的控制律及I/O采集等算法,整個控制系統(tǒng)方案確定的難度較大。
圖2 綜合臺系統(tǒng)組成Fig.2 Composition of docking general test stand
為評估控制周期1 ms的可行性并確定方案,先建立了2個Simulink模型:一是包括對接初始條件規(guī)劃、動力學(xué)解算和力傳感器I/O采集的模型,另一是Stewart平臺正解計算模型。將這兩個模型作為性能原型,用RTLAB軟件進行測試,1個周期的解算時間分別為約0.6,0.4 ms,由此確認了系統(tǒng)控制周期1 ms的要求。
根據(jù)性能原型的測試結(jié)果,考慮系統(tǒng)的余量和擴展需求確定了控制系統(tǒng)的RTLAB多節(jié)點分布方案如圖3所示。
圖3 控制系統(tǒng)組成Fig.3 Sketch of control system
中央控制臺軟件是面向用戶的應(yīng)用軟件,其主要作用是與用戶交互并控制試驗的運行。由于綜合臺任務(wù)復(fù)雜,涉及分系統(tǒng)有6個,且用戶和開發(fā)者對問題均認識不清,因此采用快速原型法設(shè)計,其流程如圖4所示。
圖4 中央臺軟件原型設(shè)計流程Fig.4 Flowchart of software prototypedesign for center banch
在任務(wù)初期,由于用戶需求不明確,特別是界面,采用快速建立需求規(guī)格的原型(RSP)法,用能快速生成原型的第四代語言(4GL)Labview軟件建立用戶界面原型,包括菜單格式、輸出格式和操作命令的使用等,通過演示幫助用戶明確其模糊的需求并促進用戶與開發(fā)人員的相互理解。該階段建立的界面原型均為可拋棄。由于綜合臺涉及的分系統(tǒng)多,接口復(fù)雜,此階段的工作只能明確大致的功能和性能需求,并不能得出一份完整的需求規(guī)格說明,后續(xù)的工作仍不適用瀑布模型開發(fā)方式。
在用戶的主要需求明確后,以第一階段最后一個模型為基礎(chǔ),開始漸近式模型(RCP)開發(fā)。在該過程中,系統(tǒng)是逐步形成并完善,每個版本均經(jīng)過測試。
模型計算機軟件是整個綜合臺的核心軟件,其主要功能是根據(jù)中央控制臺的試驗控制實時計算生成對運動模擬器的控制指令,其計算機軟件配置項(CSCI)功能結(jié)構(gòu)如圖5所示。
分析模型計算機軟件的開發(fā)任務(wù),發(fā)現(xiàn)其需求相對明確,模塊劃分清晰,但各塊的算法復(fù)雜,涉及較多的力學(xué)和對接機構(gòu)各知識,且安全性和性能指標(biāo)要求很高,每個模塊都需進行充分的測試和驗證。根據(jù)這些特點,采用增量式原型進行開發(fā)。
以性能的原型為出發(fā)點進行增量開發(fā),其中每一增量包含迭代式開發(fā),開發(fā)流程如圖6所示。
圖5 模型計算機CSCI功能結(jié)構(gòu)Fig.5 CSCI function structureof model computer
圖6 模型計算機軟件增量開發(fā)過程Fig.6 Development procedure of software increase of model computer
原型開發(fā)需要相應(yīng)的技術(shù)和工具。用常規(guī)編程方法開發(fā)原型時,即使是最易實現(xiàn)的界面原型也需要相當(dāng)長的時間,若需要仿真模擬的功能和性能原型開發(fā),則難度極大且代價高昂??焖僭头ㄔ谲浖a(chǎn)中引進其他工業(yè)在生產(chǎn)新品前先試制樣品的方法,因此開發(fā)軟件原型須滿足條件:原型須可執(zhí)行;原型開發(fā)周期應(yīng)短,開發(fā)成本應(yīng)低;原型應(yīng)易于評價;原型應(yīng)易于修改。
在實際開發(fā)中,采用了基于工具的設(shè)計(TBD)方法;選用RTLAB作為軟件環(huán)境,可直接將Simulink建立的動態(tài)系統(tǒng)模型用于實時仿真和控制,并能通過分布式計算方式對系統(tǒng)的運算能力進行分解和擴展;應(yīng)用第四代語言的Labview和Matlab/Simulink進行編程。
對瀑布模型開發(fā),已建立整套完善的管理體系。但快速原型的開發(fā)對軟件過程管理提出了新要求,要點如下。
3.2.1 接口設(shè)計
快速原型法由于其快速的特點,原型常發(fā)生變化,這必然導(dǎo)致接口也隨之而變,因此開發(fā)過程中如不采取相應(yīng)措施就易發(fā)生接口混亂,導(dǎo)致集成調(diào)試?yán)щy。綜合臺開發(fā)過程中采取了如下措施。
a)信息隱藏原則:軟件模塊的設(shè)計盡可能使實現(xiàn)細節(jié)對外部不可見,接口盡可能簡單;模塊接口一旦確定,盡量不修改,修改時只增不減。
b)接口命名:因Labview和Simulink均采用數(shù)據(jù)流編程,與普通語言寫代碼變量命名是必須的不同,為防止接口混亂,制定了綜合試驗臺數(shù)據(jù)命名規(guī)則,規(guī)定了各分系統(tǒng)代號、常用物理量命名和變量命名法則,要點是實現(xiàn)物理意義清晰。
3.2.2 配置管理
采用快速原型方法的特點是,當(dāng)設(shè)計出現(xiàn)問題時可直接回溯至前一原型重新設(shè)計。此種回溯的前提條件是有效控制軟件版本,否則會因回溯到一錯誤版本而導(dǎo)致原型測試無法通過。
原型開發(fā)的過程,特別是演化和增量式的原型方法,與軟件的版本升級類似。可借鑒軟件配置管理方法,指定人員進行管理,將測試的原型備份在一臺計算機中,回溯時只能使用該計算機上的版本。
3.2.3 文檔管理
快速原型方法易出現(xiàn)的問題是:與瀑布模型以文檔驅(qū)動相比,無論采用何種原型開發(fā)方式,開發(fā)人員更側(cè)重原型的設(shè)計,常忽略文檔管理,原型建立過程中的許多工作會被浪費。
在綜合臺設(shè)計過程中,對文檔管理借鑒了瀑布模型做法,每個軟件要求給出任務(wù)書、需求規(guī)格說明、接口設(shè)計和詳細設(shè)計??紤]原型開發(fā)的特點,每份文檔在歷經(jīng)數(shù)次原型開發(fā)迭代相對完整后提交評審,軟件開發(fā)的推進不以文檔的完成來驅(qū)動,同時要求在設(shè)計過程中修改相關(guān)文檔。
本文介紹了快速原型方法在對接綜合試驗臺控制系統(tǒng)軟件設(shè)計中的應(yīng)用。在綜合臺研制中,控制系統(tǒng)率先通過了出廠驗收。實踐表明,快速原型設(shè)計可明顯提高控制系統(tǒng)設(shè)計的效率,并保證設(shè)計的控制系統(tǒng)具有高可靠性。
[1]王曉東,唐 碩,周須峰.飛行器控制系統(tǒng)的快速原型設(shè)計[J].飛行力學(xué),2006,24(1):1-4.
[2]薩 莉,賴安學(xué),邵濟民.對接綜合試驗臺軌跡規(guī)劃算法研究[J].上海航天,2004,23(6):28-32.
[3]徐 峰.對接機構(gòu)綜合試驗臺半物理仿真原理[J].載人航天,2007(1):24-28.