關 閉

新聞中心

EEPW首頁 > 工控自動化 > 設計應用 > 基于VxWorks的無人直升機控制系統(tǒng)設計

基于VxWorks的無人直升機控制系統(tǒng)設計

作者: 時間:2010-01-11 來源:網絡 收藏

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

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


圖四 地面基站控制效果圖

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


上一頁 1 2 3 4 下一頁

評論


相關推薦

技術專區(qū)

關閉