999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

依托神經網絡框架的姿態控制算子設計

2022-08-02 07:50:18馮明濤馬衛華
航天控制 2022年3期
關鍵詞:模型設計

馮明濤 馬衛華 李 悅

1.北京航天自動控制研究所,北京 100854 2.宇航智能控制技術國家級重點實驗室,北京 100854 3.四川航天技術研究院,成都 610100

0 引言

隨著航天技術的發展,運載火箭逐漸由串聯向并聯、由簡單到復雜的方向發展。傳統的運載火箭控制系統軟件設計模式鏈條過長,溝通成本高,軟件開發效率較低,為了滿足越來越龐大的航天運載火箭軟件研制需求,亟需對現有控制系統軟件的設計模式進行改進。

目前常用的姿態控制軟件設計模式主要包括基于模型的設計方法[1-4]、基于可復用技術的設計方法[5-8]等。這些軟件設計方法旨在從不同方面縮短軟件開發周期,提高開發效率,增強軟件可靠性,但其產生的軟件代碼規模仍較為龐大,并且設計方法較為繁瑣耗時,靈活性不足。本文在分析現有控制系統飛行軟件功能要求的基礎上發現,神經網絡框架的諸多優點較好地滿足了控制系統軟件設計需求。框架包含了領域內常用的概念、公式、算法、模型等內容,用戶層一般使用高級編程語言,后端可以自動進行代碼優化,無需人工參與。軟件開發人員利用框架可以便捷地搭建神經網絡模型,并且訓練好的端到端模型可以快速部署到其他平臺或環境中,整個過程簡單易實現。因此本文提出利用神經網絡框架的設計方法建立運載火箭控制系統軟件設計框架。

總結多個飛行控制軟件發現,姿態控制系統軟件較制導、導航系統更有規律性,便于進行設計模式的研究,因此本文選擇姿態控制作為研究對象,探索姿態控制軟件框架的設計技術,重點對姿態控制算子的設計技術進行了討論。

基于該框架,軟件開發人員可以利用已有的算子更快速地進行姿態控制軟件的開發,生成的端到端模型可以快速進行部署。姿態控制算子及框架的設計方法與流程后續還可以應用于制導及導航領域軟件框架的設計中。

本文第1節對姿態控制軟件系統和神經網絡框架進行了概述,第2節分析了姿態控制軟件框架的各項設計要素;第3節對姿態控制算子的設計技術進行了具體的介紹。

1 姿態控制軟件和神經網絡框架

在運載火箭控制系統中,姿態控制是重要一環,其任務是根據預先擬定的姿態控制程序角或者制導系統給出的導引指令,實時準確地控制箭體的飛行姿態,確保火箭飛行穩定。飛行軟件是箭上控制系統參與飛行控制的軟件的總稱,與硬件一起完成控制功能[9]。根據多個飛行控制軟件任務書中姿態控制模塊的內容,歸納出姿態控制軟件部分需要實現的功能:姿態角信號的采集和處理,姿態角偏差計算、增益計算、數字校正網絡計算等,最后綜合各種信息,輸出執行機構的動作指令。

在軟件領域,框架是一種微體系結構,為特定領域內的軟件系統提供未完全實現的模板,它可以是一個將要被擴展或/和復用的子系統[10]。框架提供特定的功能,包含支撐程序、代碼、庫、工具集以及API(應用程序接口)等內容,這些部件匯集在一起用于支持軟件或系統的開發。應用開發人員只需關注應用系統特有的部分,按既定規則加入應用所需的部分就可完成開發,過程更加簡便快速。

在當前熱門的機器學習領域,為了加快神經網絡程序編寫、模型訓練與部署,各類神經網絡框架有了長足的發展。從最早發布的Theano,到之后的Caffe、Torch、TensorFlow等,再到當前業內主流的PyTorch、TensorFlow2.x,以及國內發布的PaddlePaddle、MindSpore、Jittor等框架層出不窮。基于這些框架,開發者可以通過Python語言調用神經網絡算子進行模型的快速生成,模型的訓練與部署也可以通過簡單的函數調用實現,并且框架內部固化的性能優化策略有效提高了Python代碼的運行速度。可以說神經網絡框架極大促進了機器學習相關軟件的開發,對機器學習的飛速發展起到了重要作用。

2 姿態控制軟件框架設計分析

對比神經網絡框架的各項功能和姿態控制軟件的功能需求發現,神經網絡框架的多種功能均可以應用到姿態控制軟件設計中。實現神經網絡需要一組固定的構造組件,包括節點表示、卷積計算、池化、激活、模型存儲與部署等等,這些組件均可以在函數層級實現。而實現姿態控制需要程序角濾波、姿態偏差計算、姿態控制方程計算等組件,這些組件同樣可以用函數表示形成算子,再嵌入到神經網絡框架后即可按既定的使用方法調用所需算子。神經網絡框架使用計算圖來表達數學表達式,主要利用計算圖實現神經網絡的前向計算和反向傳播,而姿態控制計算只需利用前向計算部分即可。框架訓練得到的端到端模型可以部署到CPU、GPU等不同硬件平臺上使用,姿態控制軟件接收程序角作為輸入,得到伺服機構的輸出,也屬于端到端的模型,可以利用框架進行姿態控制模型硬件平臺部署。此外,神經網絡框架包含的計算資源調度、內存管理等原理和方法均可以應用到姿態控制軟件設計框架中。

框架要滿足各種計算需求,除了數據以外,算子的作用舉足輕重。如圖1所示,在計算圖中,節點包括數據和算子,算子接收數據,經處理后得到的結果可以作為節點繼續參與計算,通過算子可以將所有的數據連接到一起形成完整的計算圖。此外,算子具有高度的抽象性,可以涵蓋領域內的各種計算需求。算子在框架內部表示為函數的形式,對外提供接口,用戶在前端通過調用所需的算子接口完成設計。可以說,算子是姿態控制軟件框架最核心的要素之一,因此本文著重選擇了算子這一要素進行研究。

圖1 軟件框架算子示意圖

3 姿態控制軟件框架算子設計

3.1 對算子進行知識建模

本節對姿態控制領域的相關知識進行了本體建模,將姿態控制軟件系統框架用到的諸多概念如公式、參數、函數、算法等進行明確的表示,并確立它們之間的相互聯系,從而為算子的程序編寫及框架開發提供總體性和方向性的指導。

本體論是對某一概念化所做的一種顯式的解釋說明,可以使用知識表達語言來描述本體中的對象以及它們之間的關系[11]。一般而言,本體模型在構成上主要包含5種組件:類、屬性、函數、公理和實例。文獻[12]將本體理論和方法應用于運載火箭晃動分析領域,開發了基于本體的火箭晃動計算分析軟件模塊,實現了分析計算知識的公用性、可拓展性和配置靈活性。文獻[13]提出了面向行為與事件的空間目標態勢本體模型,基于該模型實現了空間目標碰撞威脅的等級推理與預警。

本文按照如圖2所示的步驟建立姿態控制軟件系統框架算子的本體模型,以期對姿態控制算子進行規范而清晰的描述。

圖2 本體建模流程圖

參照多個飛行控制軟件姿態控制模塊的內容,總結出在多數情況下,姿態控制軟件的運行流程一般如圖3所示。其中程序角濾波完成對制導模塊輸入的程序角的濾波處理,姿態偏差計算輸出偏差角,姿態控制系統參數計算包括增益系數計算和控制網絡計算,利用得到的姿態控制系統參數可以計算舵偏角的輸出,最后一步對舵偏角值進行處理得到伺服輸出。按照該流程依次調用姿態控制算子,可以實現基本的姿態控制功能。

圖3 姿態控制軟件運行流程圖

根據姿態控制軟件系統的功能,將本體模型分為如表1所示的6個根類。依據此表,利用Protégé工具建立姿態控制軟件系統的本體模型。Protégé是一個免費的開源軟件,為用戶提供了一套工具來構建本體領域模型和基于知識的應用程序,是本體構建的常用開發工具。本文利用Protégé建模的主要工作包括添加姿態控制系統本體類及其子類結構層次并建立類的關系屬性和數據屬性。關系屬性用來描述類與類之間及類與個體間的相互關系,數據屬性是對類和個體自身的屬性描述。

表1 本體模型類(#表示暫不予考慮)

在Protégé中可以依照表2建立本體模型,包含類的層級關系以及類的數據屬性和關系屬性。基于該本體模型,可以在軟件中快速查詢姿態控制算子的內容和各個算子之間的關系,為代碼編寫提供指導。此外,本體模型易于拓展,在已建立的此模型基礎上,可以便捷地加入新的內容。

3.2 姿態控制算子

依據3.1節的建模結果,可以將表2中的子類作為姿態控制算子,算子在代碼中表現為函數形式,數據屬性1作為函數的輸入參數,數據屬性2作為函數的輸出結果。接下來對每個類包含的算子進行詳細介紹。

3.2.1 計算網絡算子

姿態控制算法需要用到一些計算網絡如濾波網絡、三通道控制網絡等,這里所述的網絡在數學上表示為經過z變換之后的分式,歸一化后的網絡如式(1)所示,式中aj和bj分別為網絡的分子系數和分母系數,m和n為分子和分母的階數。本文對該形式的網絡計算進行了設計,如圖4所示,通過分子和分母系數、網絡階數、遞推變量初值可以唯一定義一個網絡,在得到輸入時可以計算輸出,同時更新遞推中間變量。

圖4 計算網絡算子

(1)

3.2.2 程序角濾波算子

基于3.2.1節所述網絡計算函數,在已知濾波網絡的網絡階數和分子、分母系數后,調用網絡初始化函數可以初始化一個濾波網絡。輸入制導模塊給出的程序角,調用網絡輸出函數可以輸出經過濾波處理后的程序角。

3.2.3 姿態角偏差算子

姿態角偏差為程序角與實際姿態角之間的差值,姿態角偏差算子完成姿態角偏差的計算及輸出,如圖5所示,輸入參數為實際姿態角與程序角,實際姿態角由導航模塊給出,程序角為濾波模塊濾波后的程序角。默認第一個參數為姿態角,計算方式為姿態角減去程序角,也可依具體算法改變參數順序。

圖5 姿態角偏差算子

3.2.4 姿態控制系統參數算子

姿態控制系統參數計算包括控制增益和三通道控制網絡計算。本文暫不討論控制增益計算,直接使用已知的增益系數。三通道控制網絡按照3.2.1節所述計算方式得到。初始化計算時其輸入參數為網絡階數、分子和分母系數以及網絡初始化值,輸出為已初始化的網絡;進行輸出計算時給出網絡輸入,經過函數解算可以得到輸出值。

3.2.5 舵偏角算子

(2)

3.2.6 伺服輸出算子

對于伺服輸出,本文暫僅討論舵機輸出和涵道輸出。舵機輸出計算使用俯仰和偏航通道的舵偏角,涵道輸出計算使用滾轉通道的舵偏角,它們均對輸出進行了限幅,用限幅邊界作為算子的參數輸入,調用該算子可以直接得到舵機角度輸出或涵道的推力輸出。

3.3 將算子嵌入神經網絡框架

比較分析主流的一些神經網絡框架后,本文最終選擇了Jittor[13](計圖)進行姿態控制軟件框架的設計。Jittor是清華大學在2020年發布的一個深度學習框架,相比于其他框架,其主要創新點在于提出了統一圖的計算表示方法,將靜態圖與動態圖結合,同時發揮兩種表示方式的優點,彌補各自的缺點。本文希望將這種計算表示方式應用到姿態控制系統計算中。此外,在代碼層級,Jittor的源碼簡明易懂、邏輯清晰,可讀性較強,易于修改和適配。而且,Jittor本身就包含了第三方算子的嵌入,如并行計算相關的mpi算子、矩陣運算相關的mkl算子等,為本文姿態控制算子的嵌入提供了有效參考。因此選擇Jittor框架作為模板框架進行姿態控制軟件框架的設計研究。

圖6展示了Jittor框架的組成結構圖。Jittor分為應用層、前端層、后端層和硬件層4層。應用層向用戶開放,由用戶使用前端層提供的接口進行Python編碼,形成應用程序。前端層是用Python編寫的,提供了元算子接口,操作Jittor變量的接口和一些常用模型的接口,這些接口均對用戶可見。后端層為前端層提供接口支持,同時也管理底層硬件資源。它包含了眾多模塊,算子融合模塊用于動態融合算子以提高性能,第三方算子模塊包含了其他庫的算子,比如用于并行計算的MPI庫算子,用于矩陣運算的MKL庫算子等。它還包括JIT編譯器和統一計算圖。通過后端層與硬件層通信進行硬件加速,當前的加速器支持CPU和GPU硬件。

圖6 Jittor框架

本文所述的姿態控制軟件框架算子在Jittor中屬于第三方算子模塊,同時在前端層提供了Python接口,用戶可以調用相關算子進行姿態控制軟件設計。按照與Jittor自有算子同樣的方式構造得到的姿態控制算子同樣支持代碼的即時編譯和計算的統一圖表示,由于姿態控制算子較為單一,暫不考慮算子融合。在硬件層,姿態控制計算規模較小,僅需CPU即可滿足。

在算子的實現方面,Jittor定義了3個主要的結構體:1)Node結構體:用于表示有向無環圖的節點,定義了該節點的輸入結構體與輸出結構體,這兩個結構體表示了與該節點相連的前后節點。2)Var結構體:該結構體繼承了Node結構體,說明了Jittor的基礎變量類型。3)Op結構體:該結構體也繼承了Node結構體,是所有算子的父結構體。該結構體實現了與算子編譯和運行相關的功能。

在每個算子的頭文件中,都定義了該算子相關的結構體,其為Op結構體的子結構體,結構體中的變量為Var類型和該算子自定義的其他結構體類型。每個算子結構體的構造函數實現了該算子的功能,通過調用構造函數可以使用相應算子。為了可以在python端調用算子,Jittor在前端層使用Python編寫了pyjt.compiler.py文件,通過該文件可以將算子相關的源代碼和其他需要Python接口的源代碼轉換生成Pybind11相關文件,利用Pybind11相關方法實現從Python調用C++代碼的功能。

為了實現Python端自動對底層源碼進行編譯,Jittor中包含算子的源文件名使用了一致的格式——*_op.h和*_op.cc(*表示算子具體名稱),本文設計的姿態控制相關算子代碼文件命名與該格式一致,單個算子的代碼實現依照3.2節所述定義了一系列的結構體,結構體的構造函數實現了算子的功能。最后,將這些文件加入到Jittor算子的相關路徑jittor/src/ops中,對Jittor進行重新編譯,則可以將姿態控制算子嵌入到神經網絡框架Jittor中。

4 仿真實驗驗證

為驗證所設計算子的正確性,本文利用所述框架對某飛行平臺飛行控制數學仿真軟件中的姿態控制部分進行了改寫。姿態控制軟件部分的輸入變量為飛行時間、相對飛行高度、來自導航模塊的實際姿態角和角增量、來自制導模塊的程序角,輸出量為伺服機構輸出。輸入變量的數值均從數學仿真軟件仿真得到的飛行數據文件中讀出,因此基于框架改寫的姿態控制軟件的輸入值與原飛行控制仿真軟件姿態控制部分的輸入值完全一致,若輸出結果一致,則可驗證算子的正確性。

圖7~8為2次仿真實驗的結果,數據間隔為10ms。圖7為穩定控制時的輸出結果,圖8為不穩定控制時的輸出結果,從圖中可以看出,框架代碼和原代碼的輸出結果基本一致,證明了本文所設計算子的正確性,可以利用所述框架編寫姿態控制軟件。

圖7 仿真實驗1伺服輸出

圖8 仿真實驗2伺服輸出

5 結束語

詳細闡述了依托神經網絡框架建立姿態控制軟件設計框架中姿態控制算子的設計方法。針對當前飛行控制軟件開發中的問題,進行了探討和理論分析,說明了軟件框架的優點和適用性,并重點研究了姿態控制算子的建模方法,詳細介紹了姿態控制算子,并說明了如何將姿態控制算子嵌入到已有的神經網絡框架中。最后的仿真實驗驗證了本文所設計算子的正確性。

猜你喜歡
模型設計
一半模型
重要模型『一線三等角』
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
重尾非線性自回歸模型自加權M-估計的漸近分布
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
3D打印中的模型分割與打包
FLUKA幾何模型到CAD幾何模型轉換方法初步研究
主站蜘蛛池模板: 国产乱子伦视频三区| 欧美日韩国产综合视频在线观看| 国产特级毛片aaaaaaa高清| 免费亚洲成人| 第九色区aⅴ天堂久久香| 一级毛片免费不卡在线视频| 精品久久高清| 日本在线欧美在线| 丁香综合在线| 看国产毛片| 无码专区国产精品一区| yjizz视频最新网站在线| 国产成人AV综合久久| 国产乱子精品一区二区在线观看| 人人艹人人爽| 亚洲欧美另类中文字幕| 99热这里只有精品2| 女人18毛片久久| 亚洲av无码片一区二区三区| 伊人色天堂| 欧美伊人色综合久久天天| 超级碰免费视频91| 亚洲一区网站| 亚洲侵犯无码网址在线观看| 就去吻亚洲精品国产欧美| 青草视频在线观看国产| 亚洲娇小与黑人巨大交| 五月婷婷亚洲综合| 午夜a视频| 狂欢视频在线观看不卡| 中国美女**毛片录像在线 | 97人妻精品专区久久久久| 欧美区一区| 99久视频| 日韩黄色在线| 视频二区中文无码| 国产精品一线天| 国产精品成人免费视频99| 亚洲一区二区约美女探花| 视频一本大道香蕉久在线播放 | 国产91在线免费视频| 国产视频入口| 亚洲国产av无码综合原创国产| 亚洲黄色成人| 国内99精品激情视频精品| 成人国产免费| 美女内射视频WWW网站午夜| 被公侵犯人妻少妇一区二区三区| 国产原创第一页在线观看| 毛片视频网址| 亚洲性网站| 亚洲爱婷婷色69堂| 免费无码一区二区| 91视频区| 亚洲精品成人7777在线观看| 欧美精品1区| 国产女人在线视频| 国产1区2区在线观看| 欧美日韩中文国产| 亚洲天堂福利视频| 亚洲精品自产拍在线观看APP| 青青操国产视频| 青青青国产视频| 国产福利一区在线| 青草视频网站在线观看| 国产欧美日韩精品第二区| 国产青榴视频| 国产麻豆91网在线看| 亚洲AⅤ永久无码精品毛片| 国产一级视频久久| 久久中文字幕av不卡一区二区| 欧美色图第一页| 91无码人妻精品一区| 欧美视频在线观看第一页| 人人91人人澡人人妻人人爽| 婷婷在线网站| 伊人久久福利中文字幕| 青青草原国产一区二区| 日韩无码精品人妻| 国产产在线精品亚洲aavv| 无码一区二区波多野结衣播放搜索| 久久人搡人人玩人妻精品一|