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

基于VxWorks與RTW Embedded Coder的無人直升機機載飛控軟件系統開發

2012-07-13 03:06:36施曉穎褚雙雙
電子設計工程 2012年4期

施曉穎,褚雙雙

(1.海軍裝備部 陜西 漢中 723213;2.陜西千山航空電子有限責任公司 陜西 西安 710065)

近年來,無人直升機因為在軍民領域中的普遍應用,而在全世界范圍內得到廣泛研究。無人直升機需要面對地面障礙,敵人攻擊和設備損壞等各種復雜的環境,同時它還要保持與地面技術人員的信息交互。因此,無人直升機的控制系統除了具備基本的控制律計算功能,還要負責更高層次的決策制定與任務規劃。

機載飛控軟件作為無人直升機飛控系統邏輯核心,需要處理硬件驅動,控制律計算,信息交互,任務規劃和事件處理等多種不同任務,這對飛控軟件的實時性、可靠性提出了很高的要求。飛控軟件作為嵌入式軟件的一種,具備嵌入式軟件開發調試的所有不利因素,應用傳統模式開發嵌入式飛控軟件系統容易效率低下。由于上述原因,使得飛控系統框架,軟件執行策略,控制方法,嵌入式軟件開發測試平臺的研究更加迫切。

文中搭建了一種基于VxWorks嵌入式操作系統和Simulink/RTW Embedded coder環境的無人直升機機載飛控軟件執行框架與開發測試平臺。利用該平臺生成的嵌入式飛控軟件將被直接應用于某型無人直升機飛行控制系統。

1 機載飛控軟件

主要介紹機載飛控軟件的的總體框架,包括大量的任務框圖與外圍設備。描述這些任務在VxWorks系統下是如何被調度執行以及基于行為的自動飛行控制是如何實現的。

1.1 機載飛控軟件任務分類

飛控軟件的任務按照觸發機制不同可分為兩類,一類是周期任務,即每隔一個固定時間段任務執行一次,飛行控制律計算任務(FCS)是一種典型的周期任務。另一類就是沒有周期的任務,當特定事件發生時,任務被執行,稱為非周期任務,串口接收數據任務(SerialRecv)就是一個典型的非周期任務。根據任務的重要性、緊迫性,可以定義任務的優先級。一般來說,非周期任務的優先級要高于周期任務,因為非周期任務的觸發是不可預測的,需要及時處理。而對于周期任務,執行越頻繁的任務優先級越高。

1.2 機載飛控軟件總體框架

機載飛控軟件的總體框架如圖1所示。整個飛控系統框架由一系列框圖組成,這些框圖代表了不同的任務或設備。下面簡要介紹代表任務的框圖,余下的框圖(除main外)皆代表外圍設備。

SerialRecv代表了串口數據接收任務,該任務監視了機載計算機上所有串口設備。當某個串口設備有數據到達時,該任務被觸發,并將收到的數據根據串口設備號的不同,填入到相應的數組型環形緩沖區中,等待其他周期任務處理。tBaseTask是基頻任務,用來觸發其他周期任務和執行自身的功能函數(例如對串口數據緩存區數據的解析與發布)。基頻任務的執行頻率應是其它周期任務執行頻率的最小公倍數。FCS是飛行控制律計算任務 (包含將操縱量通過DA轉換輸出到舵機),經典的飛行控制律計算任務只包含外回路和內回路的計算。當應用基于行為的控制方法后,還要加上一層使用有限狀態機原理實現的行為調度層,用來幫助無人直升機完成各種復雜的行為。ECS是發動機控制律計算任務,用來穩定發動機轉速。CMM是回送數據到地面站任務,幫助地面技術人員監視無人直升機工作狀態,獲得有用的信息。Measure是測量任務,通過AD轉換獲得旋翼轉速,舵機位置等實際參數。以上周期任務的優先級順序為:SerialRecv>tBaseTask>FCS>ECS>Measure>CMM。任務間數據的交換是通過全局變量的形式實現的。

圖1 機載飛控軟件總體框架Fig.1 Airborne flight control software framework

1.3 任務調度管理

所有飛控任務調度的實時性,可靠性依賴于其所運行的環境,即嵌入式操作系統(RTOS)。VxWorks是一款廣泛應用于軍事、航空航天、醫療等領域的實時嵌入式操作系統,具備強實時性,高可靠性的優點。VxWorks在80486 66MHZ下任務切換時間,系統調用時間和中斷響應時間都在幾個微秒,支持基于優先級的搶占調度機制,保證任務能在規定時間內完成,同時VxWorks提供了一套高度優化的信號量機制,能夠實現任務互斥與同步操作。

一組基于任務優先級搶占和信號量同步的多任務調度機制被用來確保所有周期任務按照預定時序執行,并使非周期任務能夠及時得到處理。整套機制的偽代碼實現如下:

Main任務被用來初始化飛控軟件,創建多個周期任務,包括numTasks個子任務 (tSubRate)和一個基頻任務(tBaseRate),再創建非周期任務,并將“釋放屬于基頻任務的同步信號量(clockSem)”這個語句掛接到時鐘的定時處理函數中去。為了使基頻任務能夠按時得到處理,要求時鐘的定時處理函數運行在很高的優先級上,而中斷服務程序(ISR)具有高于一切任務的優先級,顯然是最適合用來作為定時處理函數的載體。VxWorks提供了兩種定時處理函數運行在中斷服務程序上的定時時鐘,如表1所示。

表1 VxWorks提供的時鐘Tab.1 The clock provided by VxWorks

由于受到機載計算機硬件條件的限制,看門狗時鐘被用來作為定時釋放基頻任務信號量的時鐘,基頻任務的執行頻率被設定為100 Hz(即周期為10 ms)。創建完所有任務后,main任務將掛起在stopSem信號量上直到其被釋放,然后結束整個飛控程序。

基頻任務包含一個主循環。在這個主循環中,基頻任務首先等待信號量clockSem被釋放,在clockSem被釋放之前,基頻任務將一直處于掛起狀態。當clockSem被釋放后,基頻任務將根據每個子任務的周期,按時釋放其對應的同步信號量,例如當某個子任務的周期為40 ms時,意味著基頻任務每執行四次才釋放一次該子任務的同步信號量。最后基頻任務在執行完自己功能代碼Model_Step后,重新掛起在clockSem上。

子任務的執行與基頻任務執行屬于相同的模式。子任務的循環首先掛起在對應的同步信號量上。當基頻任務釋放這些信號量后,被喚醒的子任務將按照優先級順序依次執行,執行完后掛起在相應的同步信號量上。

非周期任務的實現與tSubRate類似,只是釋放信號量是由非周期的事件觸發的。

每個任務的執行必定會消耗一定的物理時間,任務執行的快慢依賴于CPU與外圍設備的速度,以及控制算法的復雜性。高優先級的任務會搶占低優先級任務的CPU資源,在完成操作后,再把CPU資源還給低優先級的任務。VxWorks提供的任務優先級機制能保證系統資源的最優分配。

圖2是采用上文描述的基于任務優先級搶占和信號量同步的多任務調度機制實現的多任務程序時序圖。圖中,tBaseRate代表基頻任務,tSubRate1與tSubRate2代表周期子任務,這三個周期任務的周期長度之比為1:2:4。tAsync代表一個非周期任務,擁有最高的優先級。從圖中可以發現,周期任務被定時觸發,并按照優先級順序依次執行 (即tBaseRate->tSubRate1->tSubRate2)。低優先級的任務會被高優先級的任務,比如tAsync在圖中執行了兩次,先后掛起了tSubRate1與tBaseRate任務。

圖2 基于優先級搶占和信號量同步的多任務調度機制實現的多任務程序時序圖Fig.2 Multi-task program timing diagram achieved by multi-task scheduling mechanism which is based on priority preemptive and semaphore synchronization

1.4 行為控制的有限狀態機實現

飛控系統要求能夠控制無人直升機完成一系列基本的行為,例如起飛,懸停,定速前飛等。通過這些行為的有序組合能使無人直升機完成復雜的任務。各種行為間的相互轉換則是通過事件驅動的。

有限狀態機(FSM)是用來表示有限個狀態以及這些狀態之間的轉移和動作等行為的數學模型,具備有限和離散這兩個特點。而這些行為的發生也是由事件驅動的。

如果把有限狀態機的狀態與無人直升機的基本行為相對應,那么就可以使用有限狀態機的方法來實現無人直升機的行為控制。狀態的轉移可以理解為無人直升機行為的變化,執行的動作可以看作是飛行控制律結構和參數的改變。事件則可來源于以下4方面:

1)由傳感器探測到的外圍環境變化;

2)機載設備的損壞;

3)對飛行任務執行進度的判斷;

4)地面站發來的指令。

這些事件的發生都可以驅動狀態 (即行為)的轉移。MATLAB為實現有限狀態機,專門提供了Stateflow模塊。應用Stateflow能夠搭建無人直升機任務行為規劃的邏輯模型并進行仿真。借助Stateflow Coder則可以將模型轉換成實際的產品代碼。

2 機載飛控軟件開發測試平臺

機載飛控軟件系統的開發與測試是一項復雜的系統工程,一個良好的開發測試平臺能夠加快軟件開發進度,提高軟件可靠性。

基于Simulink/RTW Embedded Coder開發測試平臺框架:使用Simulink作為控制器開發與數學仿真的平臺已成為業界的標準。其圖形化的界面以及豐富的資源能幫助技術人員設計各種復雜的控制器。但Simulink實現的只是數學仿真,離控制器的最終實現有很大距離。而MATLAB推出的RTW Embedded Coder模塊(相對于RTW模塊更加適合于產品級的嵌入式目標),用于將Simulink框圖直接生成規范高效的嵌入式C/Ada代碼(通過RTCA/DO-178B標準A級認證),調用合適的編譯器生成可執行目標程序并提供良好的用戶界面,將控制器的數學仿真與嵌入式軟件實現統一在Simulink環境下。圖3展示了基于Simulink/RTW Embedded Coder的開發測試平臺框架。該平臺由宿主機與目標機兩部分組成,通過網絡實現目標程序下載與運行時信息交互。

宿主機部分安裝了MATLAB和Tornado。MATLAB提供了Simulink圖形環境和RTW Embedded Coder工具,可以將在Simulink中設計的飛控軟件周期任務模型轉換成嵌入式C代碼,生成model.c等文件。在model.c文件中包含了以下3種函數:

1)model_initialize函數:該函數主要用于整個軟件全局變量的初始化,將中斷服務程序關聯到對應的中斷向量和創建非周期任務等。

2)model_terminate函數:該函數主要用于在要退出飛控程序前,釋放系統資源。

3)model_step函數:這種函數的個數與周期任務的個數相同,并且包含了這些周期任務的功能代碼,比如tBaseRate的功能代碼就包含在model_step0中。

圖3 基于Simulink/RTW Embedded Coder平臺框架Fig.3 The platform framework based on Simulink/RTW Embedded Coder

按照上節提供的偽代碼修改RTW生成的ert_main.c文件,并將上述文件和客戶代碼(主要包含設備驅動等支持性代碼)一起調用Tornado下的gcc編譯器進行編譯,就可生成VxWorks環境下的可執行的動態鏈接庫(即model.lo文件)。

目標機包含了VxWorks嵌入式操作系統。將model.lo下載到目標機后,就可以運行飛控程序了。

無論是開發測試中的還是已經投入實際應用的機載飛控軟件系統,都要涉及與宿主機或地面站的信息交互。Simulink/RTW提供了外部模式和C-API模式作為嵌入式軟件的用戶界面,方便用戶監視變量和在線調參,有利于嵌入式飛控軟件的測試和仿真。外部模式直接利用Simulink框圖作為監視調參的界面,但因為其與宿主機數據交互的方式為網絡通信,故只適合在仿真環境應用。當飛控軟件完成仿真測試后,可以保留C-API模式做為用戶界面,因為C-API未涉及與宿主機具體的通信方式,而只是提供了獲得變量信息和修改參數的應用程序接口,故更加適合在嵌入式產品代碼中使用,在應用中具備更大的靈活性。

3 飛控軟件階段性測試與評估

3.1 飛控軟件開發現狀

目前,已經搭建好上述嵌入式飛控軟件開發測試平臺,開發了包含串口接收任務 (tComDataRecv),基頻任務(tBaseRate,100HZ),飛行控制律計算任務(tRate1,50HZ),發動機控制律計算任務(tRate2,20HZ)并加入外部模式的嵌入式飛控軟件雛形,如圖4所示。

圖4 嵌入式飛控軟件Simulink框圖Fig.4 The Simulink diagram of the embedded flight control software

3.2 性能測試與評估

為了測試上文提出的任務調度機制的有效性,使用Tornado提供的WindView監視軟件運行,獲得飛控軟件運行時序圖,如圖5和6所示。

圖5為串口端無數據到達的時序圖,非周期任務tComDataRecvy一直未被激活,而基頻任務tBaseRate總是在中斷0(即系統時鐘中斷)發生后被執行,說明基頻任務被按時的觸發了。而其他兩個子周期任務也按照設計中的時間間隔和執行順序被觸發。這說明整個周期任務調度機制是正確可行的。

圖6為串口端有數據到達的時序圖,當有串口數據到達時,tComDataRecvy總是立刻被激活,同時周期任務依然被按時觸發。

由以上測試結果說明本文設計的任務調度機制是完全可行的。

圖5 串口端無數據到達的時序圖Fig.5 The timing diagram without serial data

圖6 串口端有數據到達的時序圖Fig.6 The timing diagram with serial data

4 結論

文中搭建了一種基于VxWorks嵌入式操作系統和Simulink/RTW Embedded coder環境的無人直升機機載飛控軟件執行框架與開發測試平臺,結合控制律軟件的設計提出一種基于該執行框架和開發測試平臺的飛控軟件開發方案,構建了機載飛控軟件總體架構。采用VxWorks多任務調度機制進行任務管理滿足飛行控制的實時性要求,應用有限狀態機實現無人直升機的行為控制,最后搭建了基于Simulink/RTW Embedded Coder開發測試平臺框架并驗證了該方案的有效性和可靠性。本文利用VxWorks嵌入式操作系統和RTW環境生成的嵌入式飛控軟件,測試驗證了該方案的有效性和可實施性,表明該方案可應用于無人直升機機載飛控軟件的開發。

[1]Meyrowitz A L,Blidberg D R,Michelson R C.Autonomous vehicles[J].Proceedings of the IEEE,1996,84(8):1147-1164.

[2]Kottmann M.Software for model helicopter flight control[R].Technical Report Nr314,Eidgenossisches Technische Hochschule Zurich,1999.

[3]Dong M.and Sun Z.A behavior-based architecture for unmanned aerial vehicles[C]//Proceedings of the International Symposium on Intelligent Control,Taipei,2004:149-155.

[4]楊忠,譚皓,樊瓊劍,等.飛行器控制軟件的Statechart原型及其驗證[J].南京航空航天大學學報,2005,37(2):217-221.

YANG Zhong,TAN Hao,FAN Qiong-jian,et al.Statechart prototype of flight lontrol software and its verifications[J].Journal of Nanjing University of Aeronauties&Astronauties,2005,37(2):217-221.

[5]Dong M,Chen B M,Cai G,et al.Development of a real-time onboard and ground station software for UAV helicopter[J].Journal of Aerospace,Computing,Information,and Communication , 2007(4):933-955.

[6]Markus B,Konstantin K,Gunter H.Framework for development and test of embedded flight control software for autonomous smallsize helicopters [C]//Embeded Systems-Modeling,Technology,and Applications,2006:159-168.

[7]鄺堅.Tornado/VxWorks入門與提高[M].北京:科學出版社,2004.

主站蜘蛛池模板: 日本成人精品视频| 日日噜噜夜夜狠狠视频| 国产主播一区二区三区| 亚洲天堂在线免费| 国产高清不卡视频| 国产第一色| 99ri国产在线| 青草娱乐极品免费视频| 欧美午夜久久| 在线精品视频成人网| 91视频精品| 亚洲精品视频在线观看视频| 精品综合久久久久久97超人| av一区二区三区在线观看| 国产白浆一区二区三区视频在线| 亚洲欧洲自拍拍偷午夜色| 伊人五月丁香综合AⅤ| 亚洲午夜福利在线| 成人伊人色一区二区三区| 亚洲国产高清精品线久久| 91精品国产丝袜| 视频一本大道香蕉久在线播放 | 成人国产一区二区三区| 亚洲国产成人久久精品软件| 国产剧情一区二区| 欧美黄网站免费观看| 露脸一二三区国语对白| 一区二区三区四区日韩| 日本免费福利视频| 国产理论一区| 高潮毛片无遮挡高清视频播放| 亚洲手机在线| 久久香蕉欧美精品| 免费毛片a| 露脸国产精品自产在线播| 欧美区一区二区三| 国产成人精品日本亚洲77美色| 亚洲 欧美 偷自乱 图片| 无码中文字幕精品推荐| 成人精品视频一区二区在线| 99在线视频精品| 亚洲天堂久久新| 亚洲熟妇AV日韩熟妇在线| 精品国产一二三区| 无码网站免费观看| 国产亚洲欧美日韩在线一区二区三区| 成年人福利视频| 欧美自拍另类欧美综合图区| 日韩一级二级三级| 国产美女丝袜高潮| 欧美日韩亚洲国产主播第一区| 99精品视频播放| 又黄又湿又爽的视频| 久久永久免费人妻精品| 99视频有精品视频免费观看| 麻豆AV网站免费进入| 欧美一级黄色影院| av大片在线无码免费| 午夜a级毛片| 国产清纯在线一区二区WWW| 国产日韩欧美视频| 亚洲AⅤ无码国产精品| 国产一在线观看| 国产一区亚洲一区| 国产区成人精品视频| 青青青亚洲精品国产| 国产精品欧美亚洲韩国日本不卡| 欧美第一页在线| 欧美成a人片在线观看| 四虎国产在线观看| 亚洲av片在线免费观看| 成人免费视频一区| 国产一区二区三区免费观看| 亚洲综合色婷婷| 性69交片免费看| 国产xx在线观看| 中文字幕日韩久久综合影院| 国产xx在线观看| 丁香亚洲综合五月天婷婷| 国产精品va| 国产福利影院在线观看| 91小视频在线观看免费版高清|