《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 基于VxWorks的無人直升機控制系統設計
基于VxWorks的無人直升機控制系統設計
摘要: 組建了一種基于嵌入式實時操作系統VxWorks平臺的無人直升機控制系統,實現遠距離無人直升機飛行狀態信息傳輸,接收地面基站命令后完成自主定點飛行任務。主要利用基于優先級的消息隊列方法和嵌入式操作系統VxWorks的信號量與看門狗定時功能實現多任務間調度,獲得飛行狀態數據向地面基站傳輸與自主定點飛行的同步。通過實驗飛行,該系統的正確性與可靠性得到了驗證。
Abstract:
Key words :

   摘  要:    組建了一種基于嵌入式實時操作系統VxWorks平臺的無人直升機控制系統,實現遠距離無人直升機飛行狀態信息傳輸,接收地面基站命令后完成自主定點飛行任務。主要利用基于優先級的消息隊列方法和嵌入式操作系統VxWorks的信號量與看門狗定時功能實現多任務間調度,獲得飛行狀態數據向地面基站傳輸與自主定點飛行的同步。通過實驗飛行,該系統的正確性與可靠性得到了驗證。
關鍵詞:    無人直升機,VxWorks,任務,消息隊列

1     前言
   自主飛行無人直升機的研究是現今多學科交叉研究的熱點與難點。無人直升機在炮兵射擊訓練、戰場監視、輸電線路巡視,森林火災狀況觀測等軍用與民用方面都有著廣泛的作用。自從1917年英國研制出世界上第一架無人機,無人機已經經歷了無人靶機、預編程序控制無人偵察機、指令遙控無人偵察機、復合控制和自主飛行多用途無人機的發展過程,現今無人直升機研究在于自主飛行控制。現今無人直升機任務多樣化和遠距離作業需求,對無人直升機遠距離通信和控制提出了更高要求【1】。

    在無人直升機控制系統設計中采用實時操作系統是現今研究的重點與熱點。VxWorks是專門為實時嵌入式系統設計開發的32位操作系統,它高性能內核和友好用戶開發界面使得VxWorks成為目前嵌入式系統領域使用最廣泛、市場占有率最高的系統。把VxWorks操作系統應用到機載控制計算機中,可以滿足無人直升機信息處理的實時性要求。機載控制計算機需要控制無人直升機上多個設備,同時還需要與地面基站系統通信,VxWorks操作系統良好的多任務調度功能可以滿足多任務需求。同時VxWorks操作系統具備體積小、可裁減和支持多種CPU的高性能【2】,使得無人直升機控制系統在硬件選取上具備很高的靈活性。

   VxWorks操作系統提供了多網口的源代碼驅動,支持TCP與UDP協議、遠程調用、遠程文件訪問、文件輸出、遠程命令執行等強大網絡通信功能,同時它的開發工具Tornado界面友好,調試方便【3】。這些特點縮短了控制系統的開發周期,達到了預期的效果。 

系統設計

1.1   控制系統整體結構
   無人直升機控制系統包括以下七個部分:無人直升機、機載控制計算機、機載平衡模塊、機載導航模塊、手動遙控模塊、地面基站與其他機載模塊,其他機載模塊根據系統擴展的需要進行添加【4】。系統的結構圖見圖一


圖一 無人直升機控制系統結構圖

   通過手動遙控使無人直升機起飛,起飛后遙控器觸動多路選擇器,把無人直升機的控制權交與機載控制計算機。機載控制計算機開始傳輸飛行狀態數據給地面基站。地面基站發送自主飛行命令給機載控制計算機使得它啟動自主定點飛行任務,控制無人直升機定點飛行,

飛行任務結束后返回狀態信息給地面基站。

1.2   控制系統硬件結構
   此無人直升機控制系統的控制對象是模型直升機JRVoyager GS R260, 機載導航模塊包括Crescent的GPS與Honeywell HMR3300型號的電子羅盤。機載控制計算機是由三星公司生產的16/32位RISC處理器S3C44B0X搭建的硬件平臺,控制系統硬件結構圖見圖二。


圖二 無人直升機控制系統硬件結構圖

圖二中由于S3C44B0X的UART單元提供了兩個獨立的異步串行I/O端口,每個端口都可以在DMA模式下工作,使得CPU和串行I/O口之間直接進行數據傳輸,另外GPS與電子羅盤提供的是標準RS-232接口,這與S3C44B0X系統所定義的高低電平不同,所以需要通過電平轉換芯片MAX232C來進行轉換。由于S3C44B0X片內不帶以太網接口,所以選用RTL8039作為以太網接口芯片與地面基站控制系統進行通信。S3C44B0X根據內部程序輸出5路PWM波控制無人直升機的5個舵機,完成自主定點飛行任務。74LS128芯片作為多路選擇器,切換手動遙控模式與自主定點飛行模式。另外還擴展大容量的外部寄存器,其中8MB的HY57V641620作為SDRAM存儲器存儲程序運行中的中間數據,2MB的SST39VF1601存儲器作為FLASH存儲源程序。

1.3   控制系統軟件設計
    無人直升機控制系統的軟件包含四大部分:一是根據S3C44B0X重新配置VxWorks系統的BSP。二是基于優先級的消息隊列實現,消息隊列中包含飛行狀態信息與自主定點飛行信息。三是基于看門狗與信號量的多任務調度,實現自主定點飛行與實時飛行狀態信息傳輸的功能。四是基站控制軟件的設計。系統上電后初始化socket套接字,網絡聯通后采用UDP協議通信。下面將著重介紹基于優先級的消息隊列與基于信號量與看門狗的多任務調度。

2.3.1 基于優先級的消息隊列
   在控制系統中,不能因為執行機載設備的數據傳輸命令而拒絕執行地面基站的自主飛行命令。為解決這一問題,本控制系統建立了基于優先級的消息隊列機制。系統在RAM中開辟一個區域用于建立消息隊列,隊列中指針指向的是各個信息的內存塊地址。各個任務將根據這些指針指向的數據來進行實際操作。

(1)基于優先級的消息隊列方法。首先信息接收任務接收信息后根據信息頭地址內容判斷信息優先級,地面基站的自主飛行命令優先級為最高,把它插入到消息隊列的隊列頭,而機載電子羅盤與GPS發送的數據信息優先級低,按照時間順序排列在消息隊列的隊列尾。信息解釋任務從消息隊列頭逐一取出信息然后進行處理。

(2)消息隊列的實現。通過單向鏈表來實現消息隊列的添加與刪除。每個鏈表元素是一個結構體struct messageChain,結構體包含頭指針pBuff與指向下一個元素的指針pNext。同時使用兩個全局變量直接表示鏈表頭與鏈表尾,一個全局變量表示鏈表長度,這

樣可以直接處理鏈表頭或者鏈表尾的內容以簡化查找過程。

2.3.2 基于看門狗的多任務調度
     VxWorks系統可以為每個任務設定特定的任務名與任務優先級,系統支持256個優先級。為了調試的方便,在本控制系統中設定的任務優先級在60到100之間,這是因為由程序發起的任務優先級要高于Tornado開發環境中shell發起sp的任務優先級即小于100,同時也要低于系統任務的優先級即大于60【5】。控制系統包含了信息接收任務,信息解釋任務,信息發送任務,網絡監測任務,定時輪詢任務,自主飛行任務等多任務。流程圖見圖三。


圖三 任務調度流程圖

任務的操作使用的是VxWorks系統中的taskLib()與taskInfo()庫函數。看門狗時鐘精確定時用到函數wdCreate(),wdStart()等,任務間的同步調度使用的是信號量,包括有二進制信號量與計數信號量。信息接收任務把網絡中傳輸的信息按照高低優先級在消息隊列中添加元素,并存放信息到特定的內存塊中,然后啟動計數型的信號量,信號量的值對應于當前消息隊列中還沒有被執行命令的個數,每增加一個消息命令后,計數型信號量就釋放,消息解釋任務獲得釋放的信號量后從消息隊列頭獲得最應被優先執行的命令,根據內存中的首地址信息,調用相應的執行函數。如果判斷是無人直升機飛行狀態信息,調用信息發送任務把實時信息傳送給地面基站。如判斷是無人直升機自主飛行命令,則調用自主飛行任務,在此任務中要定時查詢無人直升機飛行狀態信息并與命令中信息做比較,控制舵機動作以完成自主定點飛行任務。在定時查詢機載設備信息以確定飛行狀態時,用taskDelay()函數不能滿足精確定時的要求。VxWorks系統提供得看門狗它可以保證嚴格的定時,在調用自主飛行任務時創建看門狗。經過1s的時間延時后運行查詢無人直升機飛行狀態信息的函數,比較信息后控制舵機動作,直到完成無人直升機的自主定點飛行任務后取消看門狗。切換到信息發送任務,發送飛行狀態信息到地面基站監控系統。

2.3.3 地面基站控制效果圖
    軟件界面可以直觀的顯示控制系統效果,同時便于調試與觀察直升機的實際飛行狀況。基站控制軟件應用VC++編譯器的套節字socket與基于信號量的多線程技術通過C++語言進行編譯。控制效果圖中顯示無人直升機自主定點飛行時的實時狀態信息:當前高度、設定高度、東西距離、南北距離、方位角、俯仰角、測滾角等。實現了良好的人機交互功能,是控制系統開發的必備平臺。地面基站控制效果圖見圖四


圖四 地面基站控制效果圖

2     結束語
本文對無人直升機控制系統從硬件與軟件兩個方面進行了闡述,并應用了先進與高性能的實時操作系統VxWorks,通過VxWorks多任務調度時的快速切換響應實現無人直升機的自主飛行。并且通過實際的多次實驗飛行與調試,實現了無人模型直升機自主飛行的任務,取得了預期的效果。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: yjizz视频国产网站在线播放 | 伊人影视大全 | 99久久999久久久综合精品涩 | 国产欧美日韩在线一区二区不卡 | 欧美国产精品 | 国产精品二区三区 | 成年人免费观看视频网站 | 最近2019中文 | 日韩午夜免费 | 一个人www在线视频 一二三四在线视频社区8 | 激情爽毛片私人影院 | 一集黄色片 | 一区二区三区欧美日韩国产 | 国产成人精品午夜在线播放 | 国产一级第一级毛片 | 中文字幕在线观看 | 中文字幕日韩亚洲 | 99re在线免费视频 | 国产成人久久 | www亚洲成人 | 亚洲欧美久久一区二区 | 在线观看免费视频一区 | 久久五月天婷婷 | 制服丝袜视频在线观看 | 国产女人的一级毛片视频 | 久久人人爱 | 欧美黄色一级片视频 | 色综合天天综合高清网国产 | 久久久久夜色精品波多野结衣 | 黄色网久久 | 在线观看不卡 | 午夜视频在线观看网站 | 亚洲成a人片在线观看中文!!! | 成人免费视频软件网站 | 国产一区二区三区免费播放 | 91免费精品国偷自产在线在线 | 在线看www免费看 | 成人免费毛片视频 | 久草手机视频 | 国产三级在线 | 天天综合久久 |