無人機(Unmanned Aerial Vehicle,縮寫為UAV)是由無人機駕駛平臺加載偵察設備或攻擊系統實施偵察、監視或攻擊的一種航空作戰系統錯誤!未找到引用源。。伴隨著無人機技術的快速發展,無人機仿真系統也得到了重視,它可以用來設計無人機控制律,驗證無人機飛控系統性能和可靠性,為無人機系統開發提供支持,本文設計與實現了一種基于uC/OS 嵌入式操作系統的無人機仿真系統。
一 無人機仿真系統總體設計
無人機系統一般由飛機本體、飛控系統、數據鏈路和地面控制站組成,據此,搭建了由一臺飛行仿真PC 上位機,一臺地面控制站PC 機和包含ARM7 芯片的EasyARM2138 開發板組成的無人機仿真系統,PC 機和ARM7 芯片通過串口進行信息交換。飛行仿真PC 上位機在MATLAB 環境中編寫上位機飛行仿真軟件用于飛行仿真,該軟件通過串口接收控制下位機傳來的控制律,根據控制律實時計算無人機飛行狀態,并把飛行在狀態參數傳給控制下位機。通過ADS 軟件在EasyARM2131 的ARM7 芯片中設計下位機控制軟件,該軟件通過串口接收飛行仿真軟件傳來的飛行狀態參數和地面站指控軟件傳來的飛行航路點信息,實時計算控制律并發送給飛行仿真PC 上位機。地面控制站 PC 機在VC 環境中編寫地面站指控軟件用于無人機終端控制,該軟件能夠實時顯示飛行狀態參數,并通過向下位機控制軟件傳送飛行航路點來指揮無人機按規劃的航跡飛行。仿真系統總體功能框圖如圖1 所示:
圖 1 仿真系統總體功能框圖
二 各分系統的設計與實現
2.1 上位機仿真軟件設計與實現
上位機仿真軟件在 MATLAB 中編程實現,用于實現無人機的飛行仿真,仿真軟件利用MATLAB 中設備控制工具箱實現串口通信功能錯誤!未找到引用源。。上位機仿真軟件具備的功能如下:
(1) 具有串口接收發送功能:能夠接收下位機傳來的無人機控制律并且向下位機發送無人機飛行狀態參數;
(2) 具有氣動力和力矩計算功能:根據下位機傳來的控制律控制無人機副翼、方向舵、升降舵偏轉量和油門桿的位置,結合無人機飛行狀態和大氣參數計算出無人機所受的氣動力和氣動力矩;
(3) 具有飛行狀態實時計算功能:根據無人機所受的氣動力、力矩和無人機當前飛行狀態值計算出無人機下一點的飛行狀態值;上位機仿真軟件總體流程圖如圖 2 所示。
圖2 上位機仿真軟件流程
2.2 下位機控制軟件設計與實現
下位機控制軟件采用 uC/OS 嵌入式操作系統。uC/OS 嵌入式操作系統是一個完整的可移植、固化、裁剪的占先式實時多任務內核。uC/OS 內核是用ANSI 的C 語言編寫的,包含一小部分匯編語言代碼,使之可供不同架構的微處理器使用,如今,從8 位到64 位,uC/OS已在超過40 種不同架構的微處理器上運行錯誤!未找到引用源。
在下位機控制軟件設計過程中,采用軟件模塊化設計思想,把軟件分為初始化模塊、接收模塊、導航模塊、控制律計算模塊、發送模塊和地面控制站通信模塊,其中接收模塊、導航模塊、控制律模塊和發送模塊構成系統的主控模塊。初始化模塊的主要功能是單片機初始化和開機自檢;接收模塊接收上位機傳來的無人機狀態參數值;導航模塊根據無人機當前方位值和無人機飛行目標點坐標值計算出無人機的導航信息;控制律計算模塊根據導航信息和無人機的飛行狀態計算出無人機的控制律;發送模塊把控制律通過串口發送給上位機用于無人機飛行狀態計算;地面控制站通信模塊完成下位機和地面控制站的通信功能。
下位機控制軟件采用了嵌入式實時操縱系統 uC/OS,把整個程序分成了合作的多任務形式,即把軟件劃分為三個優先級不同的任務。第一個任務是初始化任務Iint(),由程序的初始化模塊構成,這是整個程序中優先級最高的任務。第二個任務是Work(),這個任務的優先級僅次于Iint()任務,此任務主要包括主控模塊,該任務是一個無限循環的任務。第三個任務是Station(),是程序中優先級最低的任務,主要包括地面控制站通信模塊。
本系統中定義的三個任務的調度和通信是這樣實現的:系統上電后執行的第一個任務是初始化任務,定義為優先級最高的任務,但此任務只執行一次,利用uC/OS 的OSTaskDel()函數將這個任務刪除,此時Work()成為優先級最高的任務并將會一直執行。Work()程序運行本身占用的時間較少,任務每執行完一次后使用OSTimeDly()函數延時20ms,即任務Work()將自己掛起20ms,將CPU 的控制權交給Station()任務。由于Work()和Station()之間需要任務間的通信機制,在系統中定義了一個郵箱DataTransMbox,Work()任務執行完后向Station()發送一條消息,消息中包含了飛機狀態參數,發完消息后Work()任務被掛起,執行Station()任務,Station()執行完畢后,當延遲時間到時,又將控制權交回給高優先級任務Work()。下位機控制軟件的工作流程如圖3 所示:
圖3 下位機控制軟件工作流程
2.3 地面站指控軟件設計與實現
在地面控制站PC 機中利用VC 軟件編寫地面站指控軟件[4],主要實現如下功能:
(1)指令發送功能:利用VC 中的MSCOMM 控件實現串口通信,接收下位機發來的飛行數據,并能向下位機發送控制指令,指揮無人機向新目標點飛行。
(2)航跡規劃功能:設計了基于粒子群算法的無人機航跡規劃算法,根據無人機飛行環境信息,規劃從出發點到目標點滿足某種指標值最小的航跡。
(3)飛參顯示功能:設計了基于航空儀表ActiveX 控件的無人機飛參顯示界面,以虛擬儀表形式實時顯示飛行參數,如空速、高度等,平面實時顯示無人機的飛行航跡。
三 仿真試驗
使用無人機仿真系統進行航跡規劃、跟蹤航跡和指令發送的仿真試驗,飛機模型采用國產某型殲擊機,氣動參數表和發動機特性數據表導入matlab 中。通過串口連接PC 機和EasyARM2131 開發板,依次打開上位機仿真軟件,地面站指控軟件,并把下位機控制軟件燒寫到ARM7 中,使系統處于準備工作階段,此時系統如圖4 所示:
圖 4 無人機仿真系統
在指控軟件中可以設定出發點坐標和目標點坐標,點擊指控軟件中的航跡規劃鍵,指控軟件即用粒子群算法規劃出從出發點到目標點的由一系列航跡點構成的最優航跡,然后將航跡點發送給下位機控制軟件。下位機控制軟件接收到地面站指控軟件發送的航跡點后,就開始控制無人機沿航跡飛行。系統運行時地面站指控軟件界面如圖5 所示,圖中虛線表示規劃航跡,實線為無人機實際飛行航跡。
圖5 系統運行時地面站指控軟件界面
結論
本文設計與實現了基于 uC/OS 嵌入式操作系統的無人機仿真系統,該仿真系統由飛行仿真PC 上位機、地面控制站PC 機和控制下位機組成,構成一個閉環仿真系統。通過引入uC/OS 嵌入式操作系統,把下位機軟件按軟件實現功能把軟件分為三個任務,利用操作系統進行任務切換、調度和通信,提高下位機軟件工作可靠性。下一步將進一步完善仿真系統,添加各種型號無人機數學模型,增添A/D 采集板、D/A 采集板等設備,使其能夠更加逼真地模擬無人機的飛行。
-
上位機
+關注
關注
27文章
945瀏覽量
54934 -
uCOS
+關注
關注
7文章
175瀏覽量
78442 -
無人機
+關注
關注
230文章
10503瀏覽量
181619
發布評論請先 登錄
相關推薦
評論