徐 峰,肖余之,薩 莉,賴安學
(上海宇航系統工程研究所,上海 201108)
對接機構對接綜合試驗臺(以下稱綜合臺)是對接機構研制中重要的試驗設備[1-3]。綜合臺為典型的半物理地面仿真試驗設備,主要由測量、包含數學模型的控制,以及執行(運動模擬器)三部分構成,試驗對象為真實的對接機構。主要用于進行對接過程試驗和對接性能測試。其控制系統的軟件開發涉及計算機、力學、控制和液壓等學科,因專業涉及面寬且性能指標苛刻,系統方案確定難度大。如采用傳統瀑布生命周期進行開發,一旦出現問題時返工的影響較大。為此,在綜合臺開發過程中采用了基于快速原型的設計方法,用演化式和增量式原型開發控制系統軟件。為此,本文對基于快速原型設計的對接機構綜合臺控制系統軟件開發進行了研究。
傳統軟件工程中主要使用瀑布式順序開發方法,包括需求分析和定義、系統設計、實現和單元測試、系統集成測試和運行維護等階段。瀑布模型體現了對軟件過程的期望:嚴格控制、確保質量。但常因為軟件過程難以預測,瀑布模型無法實現其要求。這一方法的優點是全面、嚴謹,但最大的缺陷是過程一旦啟動就難以適應變化。
瀑布式順序開發方法基于一個重要的假設前提是用戶能提出明確的需求。然而,在開發初期,用戶對系統一般僅有模糊的認知,而軟件開發者對所要解決的應用問題認識更為模糊。另外,隨著開發的深入,用戶可能會產生新的要求,或因環境變化,要求系統也隨之變化。因此,幾乎不可能獲得完整準確的需求。快速原型法(如圖1所示)是近年來提出的一種以計算機為基礎的系統開發方法。它先構造一功能簡單的原型系統,再通過對原型系統逐步求精,不斷擴充完善獲得最終的軟件系統。原型是待構筑的實際系統的縮小比例模型,但保留了實際系統的多數性能。該模型可在運行中被檢查、測試、修改,直至其功能、性能達到用戶需求,故很快即可轉換成原型的目標系統。

圖1 原型開發流程Fig.1 Flowchart of prototypedesign
原型法的主要優點是支持用戶的需求,使用戶在系統生存周期的設計階段能起積極作用;減少系統開發的風險,特別是在大型項目的開發中對項目需求分析難以一次完成時,應用原型法的效果更明顯。
根據原型與最終產品間的關系,原型開發可分為:拋棄式,驗證和澄清系統的需求描述,重新構造系統;演化式,逐步改進和細化原型,將原型進化為最終系統;增量式,在建立軟件總體設計基礎上,采用增量開發方法,使原型成為最終系統。
針對綜合臺控制系統軟件的快速原型開發包括多個方面。對系統方案確立,采用性能原型快速驗證系統指標的可行性并確定系統方案,而軟件開發則采用了拋棄式、演化式和增量式原型開發方法。
綜合臺如圖2所示。研制中提出了控制周期1 ms的要求。分析綜合臺的任務,其用于對接機構的捕獲、緩沖和拉近試驗、性能測試,且運動部件為六自由度的運動模擬器,故控制系統包含對接初始條件規劃、捕獲緩沖拉近的動力學解算、對接機構和Stewart平臺的正解、運動模擬器的控制律及I/O采集等算法,整個控制系統方案確定的難度較大。

圖2 綜合臺系統組成Fig.2 Composition of docking general test stand
為評估控制周期1 ms的可行性并確定方案,先建立了2個Simulink模型:一是包括對接初始條件規劃、動力學解算和力傳感器I/O采集的模型,另一是Stewart平臺正解計算模型。將這兩個模型作為性能原型,用RTLAB軟件進行測試,1個周期的解算時間分別為約0.6,0.4 ms,由此確認了系統控制周期1 ms的要求。
根據性能原型的測試結果,考慮系統的余量和擴展需求確定了控制系統的RTLAB多節點分布方案如圖3所示。

圖3 控制系統組成Fig.3 Sketch of control system
中央控制臺軟件是面向用戶的應用軟件,其主要作用是與用戶交互并控制試驗的運行。由于綜合臺任務復雜,涉及分系統有6個,且用戶和開發者對問題均認識不清,因此采用快速原型法設計,其流程如圖4所示。

圖4 中央臺軟件原型設計流程Fig.4 Flowchart of software prototypedesign for center banch
在任務初期,由于用戶需求不明確,特別是界面,采用快速建立需求規格的原型(RSP)法,用能快速生成原型的第四代語言(4GL)Labview軟件建立用戶界面原型,包括菜單格式、輸出格式和操作命令的使用等,通過演示幫助用戶明確其模糊的需求并促進用戶與開發人員的相互理解。該階段建立的界面原型均為可拋棄。由于綜合臺涉及的分系統多,接口復雜,此階段的工作只能明確大致的功能和性能需求,并不能得出一份完整的需求規格說明,后續的工作仍不適用瀑布模型開發方式。
在用戶的主要需求明確后,以第一階段最后一個模型為基礎,開始漸近式模型(RCP)開發。在該過程中,系統是逐步形成并完善,每個版本均經過測試。
模型計算機軟件是整個綜合臺的核心軟件,其主要功能是根據中央控制臺的試驗控制實時計算生成對運動模擬器的控制指令,其計算機軟件配置項(CSCI)功能結構如圖5所示。
分析模型計算機軟件的開發任務,發現其需求相對明確,模塊劃分清晰,但各塊的算法復雜,涉及較多的力學和對接機構各知識,且安全性和性能指標要求很高,每個模塊都需進行充分的測試和驗證。根據這些特點,采用增量式原型進行開發。
以性能的原型為出發點進行增量開發,其中每一增量包含迭代式開發,開發流程如圖6所示。

圖5 模型計算機CSCI功能結構Fig.5 CSCI function structureof model computer

圖6 模型計算機軟件增量開發過程Fig.6 Development procedure of software increase of model computer
原型開發需要相應的技術和工具。用常規編程方法開發原型時,即使是最易實現的界面原型也需要相當長的時間,若需要仿真模擬的功能和性能原型開發,則難度極大且代價高昂。快速原型法在軟件生產中引進其他工業在生產新品前先試制樣品的方法,因此開發軟件原型須滿足條件:原型須可執行;原型開發周期應短,開發成本應低;原型應易于評價;原型應易于修改。
在實際開發中,采用了基于工具的設計(TBD)方法;選用RTLAB作為軟件環境,可直接將Simulink建立的動態系統模型用于實時仿真和控制,并能通過分布式計算方式對系統的運算能力進行分解和擴展;應用第四代語言的Labview和Matlab/Simulink進行編程。
對瀑布模型開發,已建立整套完善的管理體系。但快速原型的開發對軟件過程管理提出了新要求,要點如下。
3.2.1 接口設計
快速原型法由于其快速的特點,原型常發生變化,這必然導致接口也隨之而變,因此開發過程中如不采取相應措施就易發生接口混亂,導致集成調試困難。綜合臺開發過程中采取了如下措施。
a)信息隱藏原則:軟件模塊的設計盡可能使實現細節對外部不可見,接口盡可能簡單;模塊接口一旦確定,盡量不修改,修改時只增不減。
b)接口命名:因Labview和Simulink均采用數據流編程,與普通語言寫代碼變量命名是必須的不同,為防止接口混亂,制定了綜合試驗臺數據命名規則,規定了各分系統代號、常用物理量命名和變量命名法則,要點是實現物理意義清晰。
3.2.2 配置管理
采用快速原型方法的特點是,當設計出現問題時可直接回溯至前一原型重新設計。此種回溯的前提條件是有效控制軟件版本,否則會因回溯到一錯誤版本而導致原型測試無法通過。
原型開發的過程,特別是演化和增量式的原型方法,與軟件的版本升級類似。可借鑒軟件配置管理方法,指定人員進行管理,將測試的原型備份在一臺計算機中,回溯時只能使用該計算機上的版本。
3.2.3 文檔管理
快速原型方法易出現的問題是:與瀑布模型以文檔驅動相比,無論采用何種原型開發方式,開發人員更側重原型的設計,常忽略文檔管理,原型建立過程中的許多工作會被浪費。
在綜合臺設計過程中,對文檔管理借鑒了瀑布模型做法,每個軟件要求給出任務書、需求規格說明、接口設計和詳細設計。考慮原型開發的特點,每份文檔在歷經數次原型開發迭代相對完整后提交評審,軟件開發的推進不以文檔的完成來驅動,同時要求在設計過程中修改相關文檔。
本文介紹了快速原型方法在對接綜合試驗臺控制系統軟件設計中的應用。在綜合臺研制中,控制系統率先通過了出廠驗收。實踐表明,快速原型設計可明顯提高控制系統設計的效率,并保證設計的控制系統具有高可靠性。
[1]王曉東,唐 碩,周須峰.飛行器控制系統的快速原型設計[J].飛行力學,2006,24(1):1-4.
[2]薩 莉,賴安學,邵濟民.對接綜合試驗臺軌跡規劃算法研究[J].上海航天,2004,23(6):28-32.
[3]徐 峰.對接機構綜合試驗臺半物理仿真原理[J].載人航天,2007(1):24-28.