張文輝,陳 欣,曹立佳,鄭 惠
(1.南京航空航天大學 自動化學院, 南京 210016; 2.四川理工學院 自動化與信息工程學院, 四川 自貢 643000; 3.人工智能四川省重點實驗室, 四川 自貢 643000; 4.火箭軍工程大學 控制工程系, 西安 710025)
【信息科學與控制工程】
基于RTX的無人機地面站系統
張文輝1,陳 欣1,曹立佳2,3,鄭 惠4
(1.南京航空航天大學 自動化學院, 南京 210016; 2.四川理工學院 自動化與信息工程學院, 四川 自貢 643000; 3.人工智能四川省重點實驗室, 四川 自貢 643000; 4.火箭軍工程大學 控制工程系, 西安 710025)
開發了一種基于RTX實時網絡的無人機地面飛行監測和控制系統;該系統中各工作站內部采取Windows與RTX結合的方式,工作站間利用RT-TCP/IP實時以太網協議通信,具備數據存儲回放、實時姿態顯示、航路指令上傳等功能,具有實時性強、可靠性高、人機交互方便等特點,完全滿足無人機地面站使用需要,具有良好的擴展性。
無人機;地面站;網絡;實時
現代無人機系統發展迅速,使得作為無人機系統“神經中樞”的地面站控制系統功能越來越復雜,數據傳輸量越來越大,對通信的實時性要求更高。傳統的單工作站式控制地面站很難滿足無人機系統的需求。針對這些情況,提出了一種基于實時網絡結構的地面控制站系統設計方案,該系統由飛行姿態顯示、導航指令兩個工作站組成,飛行姿態顯示工作站通過串口經無線電臺與無人機飛控系統通信,兩個工作站之間采用TCP/IP網絡通信(圖1)。Windows操作系統具有豐富的軟件資源可以為地面站系統構建提供有效支持,但其自身非實時操作系統,實時性、可靠性不高[1]。為滿足實時性要求,各工作站內部采用RTX環境實時擴展Windows系統,使其滿足實時性需要,實現無人機地面站基本功能,包括結合無人機飛控系統發送遙控數據信息、接收遙測信息、導航定位和有效任務載荷的控制[2]。

圖1 地面站通信連接形式
1.1 任務設計
工作站中實時部分主要進行數據的傳輸、校驗與存儲,非實時部分主要進行數據顯示和操作人員輸入,兩者之間通過共享內存進行數據交換。用戶可以在系統啟動前選擇CPU資源的分配情況,使實時與非實時環境分別運行于不同的CPU中。非實時部分在普通Windows環境下編譯實現。實時部分在RTX環境中由rtss程序實現,系統初始化時由非實時部分啟動rtss程序。飛行姿態顯示工作站主要通過串行接口接收無人機下傳的遙測數據,在界面中進行顯示,將數據實時存儲,通過RT-TCP/IP協議將數據傳輸到導航指令工作站。導航指令工作站接收到相關數據并顯示到人機交互界面。如果鍵入指令則通過共享內存發送到實時部分,按照協議格式打包發送到飛行姿態顯示工作站,由其通過串口發送至電臺。軟件設計上采用多線程形式,程序中每一個任務都對應一個線程。具體結構如圖2所示。

圖2 軟件結構示意圖
1.2 實時任務優先級設定
RTX實時系統調用C等基本庫的部分可調用函數,創建多任務、實現任務間通信以及分配任務優先級等一些專用功能[3],Rtx環境中具體通過線程實現任務調度。RTX環境具備線程切換時間短,線程間資源共享方便的優點。可以分配多達128個線程優先級,支持靜態優先級搶占式調度[4]。靜態優先級搶占式算法有速率單調調度、截止時間調度等。截至時間單調調度己被證明是靜態最優的調度算法[5-6]。該調度方法是指任務的優先級按截止時間分配。截止時間越短,任務優先級越高。截止時間調度優點是開銷小,靈活性好,可調度性測試簡單。在實際運用過程中,往往還要以調度算法為基礎,結合任務的重要性等實際情況進一步確認任務優先級。經過分析,確定本地面站系統中實時任務優先級如表1所示。
表1 實時任務優先級

序號工作站任務名稱優先級12345飛行姿態顯示工作站串口接收99校驗解幀98網絡發送94遙控指令發送96任務管理80678導航指令工作站網絡接收98網絡發送99任務管理80
在 Windows 操作系統中使用Visual C++ 軟件平臺下基于對話框MFC應用程序框架,利用相應控件進行界面的開發工作。所設計的兩個工作站界面如圖3所示。

圖3 兩個工作站主界面圖
2.1 飛行姿態顯示工作站
本工作站界面主要包含以下幾個部分:
虛擬儀表:主要采用自定義控件實現地平儀、速度表等虛擬航空儀表的顯示。
數據曲線:使用曲線控件以曲線方式顯示一段時間中狀態參數變化,可以通過勾選數值狀態顯示區中相應選框選擇顯示俯仰角、橫滾角、航向角、發動機狀態等信息,以便操作人員了解無人機近期狀態趨勢。
數值狀態顯示:以數字、文字形式直接顯示各類數據、狀態信息,以便操作人員把握實時數值、狀態。
2.2 導航指令工作站
本工作站界面主要包含以下幾個部分:
導航地圖:使用ARCGIS ENGINE作為地圖導航模塊的主要控件,它是一套完備的可用于二次開發的GIS組件工具庫[7],按照相關航路參數利用其中的構造函數可以進行直線、圓弧等航路曲線的繪制顯示,實現航跡規劃[8]。通過顯示過往航跡點及當前狀態圖片可以實時顯示航跡曲線。由于顯示確定地理位置信息的需要,該地圖控件采用二維方式實現,界面中結合高度曲線圖完成三維信息的展示。
指令操作界面:包含各種開關指令和遙調指令,操作人員可以通過這個界面對無人機進行控制。
數據通信是地面站系統的核心工作,根據遙測遙控通信的數據傳輸特點,主要分為串口通信、網絡通信、線程間和進程間數據傳遞四個部分進行闡述。
3.1 串口通信實現
串口通信幀分為上行遙控幀(32字節)和下行遙測幀(64字節),上行遙控幀結構為幀頭、遙控指令、遙調指令、載荷參數以及幀尾。下行遙測幀結構為幀頭、數據區、幀尾。
采用中斷的形式進行串口通信,使用RTX API提供RtAttachInterruptVector函數掛接串口中斷處理線程掛接到對應的中斷向量上,中斷處理線程在存儲到緩沖區同時使用幀同步碼區分出接收到的數據。當收到一幀數據時,將數據交付串口接收線程進行數據校驗。數據校驗分為兩部分,一是檢查無人機與地面站兩端傳輸數據是否一致。校驗方法與無人機通信協議有關,一般采用循環冗余檢查方法(CRC)。CRC的理論基礎是線性編碼原理。待傳送的k 位幀數據區按接收雙方預先約定的某種規則進行處理,產生一個r位的校驗碼。將r位校驗碼加在幀尾區一同組幀發送出去,在接收端采用相同規則依據校驗碼對接收數據區進行差錯校驗[9]。二是檢查無人機狀態數據內容是否存在異常,例如無人機指令為平飛狀態,需要俯仰角保持在一定限度。將接受的俯仰角數據與上下限比較,如果超出限度則顯示報警。當通過串口發送指令時,將指令緩存在串口發送緩沖區。在寫入串口之前,對串口是否打開和緩沖區是否溢出進行判斷,如果是“否”則返回相應錯誤代碼。當寫入到串口發送緩沖區后使THR中斷,寫入發送保持寄存器。
3.2 網絡通信實現
網絡通信的協議幀結構為同步碼、數據包類型、數據區長度、數據區4部分,數據包分為航路裝訂數據包、指令數據包、遙測信息數據包3類。
采用RT-TCP/IP協議棧實現工作站間的網絡通信,RT-TCP/IP協議棧由緩沖區系統、定時系統和服務線程構成[10],底層驅動支持普通的PCI總線網卡,用戶可以通過其官方網站獲得相應的網卡驅動或者自行開發驅動。網絡通信傳輸層在客戶端與服務器之間建立TCP長連接用以交換數據。飛行姿態顯示工作站作為服務器,導航指令工作站作為客戶端。應用程序層面利用協議棧自帶的socket嵌套字編程,采用多線程阻塞模式的網絡通信結構。由于系統默認采用Nagle算法合并相連的小數據包,再一次性發送。當傳輸數據包較小時會造成延遲,所以初始化時使用setsockop函數對網絡設置選項中的TCP_NODELAY項進行修改,關閉Nagle算法。
3.3 工作站內部數據傳遞
工作站內部的數據傳遞包含線程間和進程間數據傳遞兩個部分,線程間的傳遞實現過程是在初始化時分配在進程堆中劃分固定地址的上行、下行幀兩個循環隊列。將該隊列的地址傳入各線程。線程間通過隊列整幀讀取或寫入數據。
由于界面與RTX部分工作在兩個進程中,所以利用共享內存、互斥量、事件通知相結合的方式進行數據的傳遞。為了減少程序等待訪問共享內存時間,分別設立三段共享內存,負責向非實時部分輸入數據、接收非實時部分數據和接收非實時部分的界面輸入。當一方需要傳輸數據時獲取互斥鎖將數據寫入共享內存,后釋放互斥鎖,將對應的數據準備好事件置位。這時等待讀取共享內存的線程接到事件受信通知后獲取互斥鎖,讀出共享內存中數據。具體流程如圖4所示。
由于Windows操作系統具有非實時不確定性的特點,所以實時與非實時部分讀寫共享內存的頻率有時會不一致,需要在共享內存中應用環形緩沖區結構。

圖4 進程間通訊形式
3.4 數據回放
本軟件以二進制文件形式分類保存指令數據和遙測下行數據。數據存放于飛行姿態顯示工作站,在保存的記錄文件名中包含有日期情況,方便操作人員直觀調用。數據回放的過程由RTX環境中的定時器實現,其定時器周期最低可以達到100 μs。在定時器處理線程中讀取相應的二進制文件中數據,通過網絡進行傳遞,更新兩臺工作站界面。通過修改定時器周期來選擇數據回放的速率。
采用地面仿真的方式對地面站系統樣例進行驗證。地面站系統與仿真計算機通過RS-232串行通信接口連接,地面系統各工作站間通過網絡通信接口相連。連接效果如圖5所示。

圖5 系統連接圖
網絡通信模塊是無人機實時數據傳輸的關鍵環節,主要用于對所傳輸數據的處理,對其性能測試的目的就是測試系統整體實現在邏輯和功能方面是否正確。經過長時間的、高負荷的測試,數據傳輸延遲最大值為39 μs,數據傳輸速率平均為 10 8191 kbyte/s。系統樣例驗證了基于RTX 的無人機地面站系統軟硬件性能良好、實時性和可靠性滿足要求。
本文中地面站系統使用RTX實時環境,采用網絡結構。該方法提高了地面站系統的可擴展性和實時性。通過將該地面測控軟件與無人機地面仿真試驗相結合可知,該測控軟件具有準確性高、穩定性好以及良好的人機界面,滿足了設計要求。
[1] 崔亞軍,趙奎,王鴻亮,等.基于RTX的實時數據處理系統[J].計算機系統應用,2017(1):106-110.
[2] 羅珊,陳睿璟,路引,等.便攜式地面測控系統[J].兵工自動化,2012,31(8):14-16.
[3] 劉樹鋒,陳欣,劉標.小型化無人機實時飛行仿真系統結構設計[J].兵工自動化,2014,33(6):27-31.
[4] 薛艷峰.基于Windows+RTX的便攜式無人機測試系統設計與實現[J].四川兵工學報 2015,36(2):91-94.
[5] LIU C L,LEYLAND J W.Scheduling algorithm for multiprogramming in a hard real time environment[J].Journal of the Association for Computing Machinery (ACM),1973,20(1):40-61.
[6] LEUNG J Y T,WHITEHEAD J.On the complexity of fixed priority scheduling of periodic,real time tasks[Z].Performance Evaluation 2.4:237-250.
[7] 于寶堃,胡瑜,許國,等.基于.NET和ArcGIS Engine的GIS開發技術[J].四川兵工學報,2010,31(9):102-104.
[8] 仲筱艷,黃大慶.基于ArcGIS的無人機測控站地圖導航模塊設計[J].遙測遙控,2014,35(5):25-31.
[9] 羅志聰,孫奇燕.CRC-16算法與FPGA實現[J].四川兵工學報,2010,31(5):89-92.
[10] 李宏勝,李凡,趙嵐.多任務網絡通信在RTX下的實時性研究[J].組合機床與自動化加工技術,2016(2):72-75.
(責任編輯楊繼森)
UAVGroundStationSystemBasedonRTX
ZHANG Wenhui1, CHEN Xin1, CAO Li Jia2,3, ZHENG Hui4
(1.College of Automation, Nanjing University of Aeronautics & Astronautics, Nanjing 210016, China;2.College of Automation & Information Engineering, Sichuan University of Science & Engineering, Zigong 643000, China; 3.Artificial Intelligence Key Laboratory of Sichuan Province, Zigong 643000, China; 4.Department of Control and Engineering, Rocket Force University of Engineering, Xi’an 710025, China)
Aiming at the actual requirements of UAV ground-based flight monitoring and control, a UAV ground station system based on the RTX real-time network has been developed. In the system, a combination of Windows and RTX is adopted within the stations, and the RT-TCP/IP real-time Ethernet protocol is used for the communication between the stations, so that the stations have the functions of data storage and playback, real-time attitude display, air route instruction upload and so on. The system is convenient for human-computer interaction with characteristics of real time and reliability. The practical results show that the system has good performance to fully meet the requirements of UAV ground stations, and has good expansibility.
UAV; ground control;Network; real-time
2017-04-11;
:2017-05-31
:人工智能四川省重點實驗室開放基金項目(2016RYJ02);航空科學基金項目(201605U8002)
張文輝(1985—),男,碩士研究生,助理工程師,主要從事網絡化系統控制技術研究。
10.11809/scbgxb2017.09.019
format:ZHANG Wenhui, CHEN Xin, CAO Li Jia,et al.UAV Ground Station System Based on RTX[J].Journal of Ordnance Equipment Engineering,2017(9):91-94.
TJ02;TP
:A
2096-2304(2017)09-0091-04
本文引用格式:張文輝,陳欣,曹立佳,等.基于RTX的無人機地面站系統[J].兵器裝備工程學報,2017(9):91-94.