

摘 要: 位置和姿態測量系統(POS)是航空遙感系統的重要組成部分,可以為各類航空對地觀測載荷提供高精度位置、速度和姿態基準。為保證精度,POS使用之前必須進行精確的誤差標定實驗,同時又要保證實驗的效率與可靠性。自動測試技術可規范測試流程,減少人為因素干擾,但目前的自動測試系統通常只能實現某些環節的自動測試,自動化程度不高且通用性不好。針對上述問題,設計了一種通用性好,自動化程度高的POS自動測試系統,該系統以基于FPGA的最小系統電路為核心,實現轉臺控制、測試計算機通信、待測設備數據采集等功能,然后基于VC開發了上位機軟件,實現測試方案加載、數據顯示、數據處理、測試報告生成等功能。實驗表明,該系統功能可靠,顯著提高了測試效率。
關鍵詞: 位置和姿態測量系統; 自動測試; 通用性; FPGA
中圖分類號: TN98?34; V243.5 文獻標識碼: A 文章編號: 1004?373X(2016)02?0095?06
Design and implementation of a general automatic test system for POS
HONG Zhenchun, LIU Zhanchao, GU Bin
(Key Laboratory of Inertial Technology, Beihang University, Beijing 100191, China)
Abstract: The position and orientation system (POS) is an important assembly of the aerial remote sensing system, which can provide high?precision position, velocity and attitude reference for various earth observation load of the aviation. To ensure the accuracy of POS and the efficiency and reliability of the experiments, it is necessary to perform precise error calibration experiment before the POS is put into use. The automatic test technology can standardize the testing process and reduce the human interference factors, but the current automatic test system can only realize the automatic testing for certain links, and its automaticity is low and the generality is poor. To solve the above problems, a automatic test system with perfect generality and high automaticity for POS was designed, in which the minimum system circuit based on FPGA is taken as the core to implement the functions of turntable control, computer communication testing and DUT data acquisition. The upper computer software was developed based on VC to realize the functions of test scheme loading, data display and processing, and test report generation. The experimental results show that the system has reliable function, and can improve the testing efficiency availably.
Keywords: position and attitude measurement system; automatic testing; generality; FPGA
0 引 言
位置和姿態測量系統(Position and Orientation System,POS)可為激光雷達、光學相機等航空對地觀測載荷提供高精度位置、速度和姿態基準,是高分辨率航空遙感系統運動成像過程中實現高精度運動誤差補償的關鍵設備[1]。
POS主要由慣性測量單元(Inertial Measurement Unit,IMU)、全球定位系統(Global Position System,GPS)、POS計算機系統(POS Computer System,PCS)以及后處理軟件組成[2]。其中IMU可實時連續測量載體的角速度和加速度信息,通過解算可得載體的位置、速度和姿態等全部運動參數,是POS的主要部件。IMU主要由慣性傳感器(陀螺儀和加速度計)、機械結構及相關電路組成。而慣性傳感器的測量精度以及IMU在機械結構設計、整機裝配過程中存在的確定性誤差,很大程度上決定了POS的精度[3?5]。因此,為實現POS的高精度測量,必須對慣性器件、IMU進行長時間的性能測試和精確的誤差標定,獲取誤差模型系數,以實現POS導航計算過程中的高精度誤差補償和運動信息測量。IMU標定測試實驗包括多位置靜態標定和多速率動態標定。 通常借助精密轉臺系統提供的定值輸入,獲取IMU對應的輸出量,通過解析方法求取誤差模型中的系數[6?9]。
傳統的IMU標定測試實驗需要多名工作人員配合,人工操作轉臺工控機以控制轉臺運動,數據采集與存儲也需要專人操作,測試過程繁瑣,費時費力,效率較低。 隨著自動測試技術在慣導系統測試中的不斷應用,各種專用慣導測試系統也相繼出現,實現轉臺控制、數據采集與處理,測試結果輸出等功能,一定程度上提高了測試的效率[10?11]。文獻[10]設計了一種基于數據庫的IMU自動化標定系統,該系統基于數據庫技術,實現數據自動采集與存儲,標定結果報表生成等功能,一定程度上提高了測試效率,但是該系統只是針對一種標定方法設計,且沒有實現轉臺控制,自動化水平不高,通用性不佳。文獻[11]設計了撓性捷聯慣導自動化標定與測試系統,該設計基于現有的IMU自動化標定系統和獨立的轉臺系統,實現將SINS作為一個整體的自動標定和測試系統。但該系統將SINS中的導航計算機引入標定系統本身就增加了測試系統的硬件組成,且文中沒有系統展示和實際實驗結果,針對不同的標定方案,還需要對轉臺控制軟件進行改造,系統通用性也不好。
POS的高精度測量,要求通過標定實驗對系統進行細致的測試,必然會耗費大量的時間;另一方面隨著POS的產品化,要求成批量高效率的進行誤差的標定。因此,設計一種通用性好、自動化水平高的POS自動測試系統以進一步提高測試效率,減少各類因素干擾,保證POS產品的精度具有重要意義。
本文針對上述問題,在已有實驗方案的基礎上,設計了一種通用的POS自動測試系統,實現數據自動采集與處理,轉臺自動控制和測試報告自動生成等功能。本系統設計專用的測試指令,針對不同的測試方案,編寫對應的測試指令文件,測試軟件加載測試文件即可按照指令順序進行自動測試,測試過程中無需人員參與。最后通過實際的測試證明了本文設計的有效性。
1 總體方案
1.1 系統構成
本文設計的自動測試系統分為兩個部分:硬件系統和測試軟件。硬件系統包括測試計算機、測試盒、轉臺系統以及待測設備。測試盒主要由FPGA最小系統電路,二次電源電路和機械殼體組成。FPGA最小系統電路實現測試計算機、轉臺系統以及待測設備之間的信息交互;二次電源電路為最小系統電路和待測設備供電。測試軟件實現串口通信、數據顯示、數據處理、測試指令生成、測試流程控制以及轉臺控制指令發送等功能。自動測試系統總體方案如圖1所示。
圖1 自動測試系統總體方案圖
1.2 系統工作流程
系統工作過程如下:首先,完成測試系統搭建并確認電氣連接正確,然后運行測試軟件,借助軟件的指令生成窗口,測試人員需根據測試方案編寫測試指令文件(同一方案只需編寫一次),測試軟件加載指令文件完成后,自動順序讀取指令并按指令要求進行測試。如測試指令要求轉臺進行位置運動,轉臺控制指令由測試計算機發出,通過最小系統電路轉發至轉臺控制計算機,實現對轉臺的控制;最小系統電路采集待測設備輸出數據及轉臺反饋數據并實時打包發送至測試計算機,執行完所有測試指令之后,測試軟件調用數據處理子程序,計算目標參數,并生成測試報告,記錄測試過程和測試結果。測試系統一般工作流程圖如圖2所示。
圖2 自動測試系統工作流程
2 硬件系統設計
測試系統硬件主要包括測試計算機,測試盒,轉臺系統以及待測設備,測試盒中封裝了FPGA最小系統電路和二次電源電路。其中FPGA最小系統電路是系統的核心硬件,主要完成:
(1) 待測設備輸出數據和轉臺反饋數據的采集與緩存,并將數據打包發送到測試計算機;
(2) 接收測試計算機發出的轉臺控制指令,并將控制指令轉發至轉臺控制計算機,進而完成對轉臺的控制。
如圖3所示,FPGA最小系統電路以RS 422接口接收待測設備輸出的原始數據, 以RS 232接口與轉臺系統和測試計算機進行通信。 FPGA選用Xilinx公司生產的XC3S400,配置的FLASH芯片選用XCF02S,并選用頻率25 MHz的晶振作為系統的時鐘源。FPGA片上軟件使用Xilinx ISE軟件開發,利用VHDL語言進行邏輯編程;利用LD1117系列的電壓轉換模塊將5 V電壓轉換為3.3 V,2.5 V和1.2 V的穩定電壓,分別為FPGA提供3.3 V的工作電壓,2.5 V的參考電壓和1.2 V的內核電壓;FPGA的每個電壓處都配置相應的貼片電容濾除噪聲,以保證FPGA芯片可靠工作,實現測試系統數據交互。
本系統待測設備實際工作電壓是28 V,FPGA最小系統電路工作電壓5 V,二次電源電路采用成熟的DC?DC模塊將輸入的28 V電壓轉換一路5 V電壓供FPGA最小系統電路使用。
圖3 FPGA最小系統電路
3 測試軟件設計
測試系統上位機測試軟件基于Visual C++ 6.0軟件開發平臺編寫,如圖4所示,測試軟件主要包含:串口通信模塊,數據顯示模塊,指令設計模塊,轉臺控制模塊以及計算與結果輸出模塊[12?15]。
圖4 測試軟件功能模塊
串口通信模塊負責接收FPGA最小系統電路轉發的數據,同時發送轉臺控制命令;數據顯示模塊實時顯示待測設備輸出數據;指令設計模塊以窗口形式供測試人員編寫測試指令文件,轉臺控制模塊則主要針對指令內容完成轉臺控制命令生成。計算與結果輸出模塊實現對測試數據的綜合計算,并將計算結果寫入指定文件。
3.1 測試流程設計
要實現測試過程的自動化,就要對測試流程進行準確的設計,在基于轉臺的測試方案中,一般要求轉臺運動到特定位置或者讓轉臺勻速轉動,然后進行數據采集。因此,實現自動測試的前提是正確獲取轉臺的位置信息和速率信息,準確控制軟件中設計的虛擬數據采集開關的通斷,確保采集到的數據是測試指令中需要的數據,如系統采集完當前位置的數據后轉臺需轉動到下一測試位置,轉動過程中的數據為無效數據,何時打開數據采集開關是關鍵。在轉臺開始運動之后,用CWnd::Settimer()函數設置定時器,在OnTimer()函數中定時獲取轉臺位置、速率信息,并進行條件判斷。對于位置運動指令,若轉臺位置到達目標位置且速率為零,則判定轉臺已經到達目標位置并且已經靜止;對于速率運動指令,則比較目標速率與反饋速率值,若誤差在設定范圍內則判定轉臺以目標速率穩定運動。此時,可打開數據采集開關,以上方法可確保測試過程中采集到的數據皆為有效數據。測試軟件自動測試流程中位置指令執行流程如圖5所示。
圖5 位置指令執行流程
線程提供了多任務處理的能力,是多任務測控系統中被普遍采用的方法[16]。當軟件執行到轉臺運動或是數據采集階段時,程序必須等待且同時需要進行高波特率的串口通信和數據的顯示與存儲等任務。因此,設計了多線程工作模式,測試軟件主線程完成串口通信,而為數據顯示與存儲模塊、文件加載模塊、流程控制模塊等創建新的線程,新線程由AfxBeginThread() 函數負責創建;SuspendThread()函數可以將線程掛起;ResumeThread()函數可以恢復線程運行;最后用PostThreadMessage()將線程關閉。多線程技術可確保軟件運行流暢,工作可靠。
3.2 轉臺自動控制
要完成自動測試,就必須實現對轉臺的精確控制。轉臺的運動主要是位置運動和速率運動,一般的測試方案也是基于以上兩種運動展開的。位置測試需要轉臺進行多位置的轉動,并在特定的位置保持靜止;速率測試需要轉臺以不同的角速率繞轉動軸轉動,且要保持角速率穩定。
本系統使用WST?2 型帶高低溫箱的位置速率轉臺,借助轉臺控制計算機的遠程控制接口,通過既定控制協議實現對轉臺的精確控制。協議通信幀總共10個字節,起始字節為命令字,中間8個字節數據項,最后一個字節是前9個字節的校驗和,其遠控協議如表1所示(參考轉臺使用說明書)。
表1 轉臺遠控通信協議
轉臺遠程控制的一般流程是:建立遠控→設置負載→閉合→歸零→位置運動(速率運動)→停止→釋放→結束遠控。位置運動必須是在轉臺完成歸零之后且沒有執行速率運動之前,而速率運動則只需要轉臺閉合即可。這就要求測試系統在測試過程中能夠識別轉臺運動類型和運動狀態。測試軟件通過設置標志位和預讀指令的方式實現該功能。如果當前執行指令是位置指令而上一指令是速率指令,則需對轉臺重新歸零,判斷歸零是否完成的程序流程如圖6所示。
圖6 歸零流程圖
3.3 測試指令設計
慣導系統的測試實驗往往是重復性的,如果每次測試之前都要進行測試參數設置,則會浪費大量測試時間。為了簡化測試操作,提高測試系統的通用性,本系統設計了特定格式的測試指令,若干測試指令構成測試文件,不同測試方案只要編寫一次測試指令文件即可保存重復使用,這樣不僅簡化了操作,也增強了系統通用性和可擴展性。如位置測試指令:#X1P 120 10 5 75 #,開頭和結尾的“#”保證一條指令的完整性,中間用空格隔開,表示IMU的x軸向上,轉臺目標位置相對零位120°,轉臺運行速度10 (°)/s,加速度5 (°)/s2,該位置數據采集時間為75 s。速率測試指令:#X0V-10 5 75 #,表示:IMU的x軸向下,轉臺運行速度-10 (°)/s,加速度5 (°)/s2,數據采集時間75 s。上位機軟件提供指令文件生成的功能,測試人員可根據測試方案逐條輸入測試指令。
測試指令讀/寫使用CFile的派生類CStdioFile, CStdioFile提供了對文件進行流式的操作功能。其中函數CStdioFile::WriteString()寫入1個字符串,函數CStdioFile::ReadString(rString )每次從文件中讀取1行,滿足指令讀/寫的實際需求,另外,使用CStringArray創建CString數組,存儲指令文件中的所有指令。并使用CStringArray::GetAt(nIndex)依次讀取測試指令。
4 實驗驗證
為了驗證本文設計的自動測試系統的實用性和可靠性,將測試系統應用于IMU標定實驗。采用傳統的六位置(設備無定向)測試標定方法[17]對光纖陀螺IMU進行自動標定實驗。標定現場如圖7所示。
光纖陀螺IMU固定安裝于六面體工裝之中,工裝平穩放置在轉臺上,在常溫下對光纖陀螺IMU進行標定實驗。實驗過程如下:
(1) 完成硬件系統電氣連接。
(2) 運行上位機測試軟件。
(3) 將六位置測試方案設計成指令文件形式,設計過程如圖8所示。
圖7 光纖陀螺IMU標定
圖8 指令編寫窗口
(4) 生成測試指令文件如圖9所示。
圖9 測試指令編寫結果
(5) 加載指令文件,開始測試,系統自動完成轉臺控制與數據采集。
(6) 根據測試方法對標定試驗中采集到的數據進行處理,計算得到相應的標定參數。
(7) 輸出測試結果文件,測試結束。
測試過程中測試軟件顯示主界面如圖10所示。
圖10 測試軟件主界面
圖10中字母分別代表軟件不同的功能模塊:A表示通信串口設置模塊,測試開始之前首先選擇并打開通信端口;B表示IMU輸出數據實時顯示模塊,顯示頻率1 Hz,同時顯示三只陀螺,三只加速度計和IMU內部多通道溫度信息;C表示轉臺手動操作模塊(用于手動控制轉臺,自動測試過程不使用);D表示轉臺實時位置、速率信息顯示模塊;E表示自動測試流程控制和測試進度顯示模塊。
完成所有位置測試,速率測試之后,調用軟件的數據計算與結果輸出模塊。六位置測試標定數學模型中各系數計算方法參照文獻[17]編寫;分別計算出3只陀螺零偏,標度因數,安裝誤差系數;3只加速度計常值偏置,標度因數和安裝誤差系數。最后輸出測試報告如圖11所示。
圖11 測試報告
IMU標定實驗是為了獲得IMU各誤差項系數,并在POS實際工作時進行補償,從而使測角測速的精度更高。陀螺儀敏感地球自轉角速度,加速度計敏感重力加速度,因此可以利用當地重力加速度和地速對標定的結果進行綜合鑒定,同時也是對自動測試系統可用性和測試結果可靠性的驗證。對實驗過程中采集到的“六位置24點”靜態數據進行計算反推出當地重力加速度和地速,并將計算結果寫入測試報告。自檢結果表明,本系統能在保證測試結果正確的前提下實現標定自動化,簡化了標定步驟,提高了標定結果的可靠性。針對同樣的六位置測試標定方案,采用本文設計的自動測試系統進行標定,一次完整的標定實驗平均耗時由原先的90 min減少為40 min,顯著提高了IMU測試標定效率。
5 結 語
本文設計并實現了一種通用的POS自動測試系統,詳細闡述了系統測試流程設計和實現自動測試的關鍵技術。用讀指令的形式實現自動測試,提高了測試系統的通用性和可擴展性。利用本文設計的自動測試系統對光纖陀螺IMU進行標定實驗。實驗結果表明,本系統能夠自動地完成IMU誤差標定的任務,顯著提高了IMU的測試效率,滿足POS產品化需求,具有較高的工程應用價值。
參考文獻
[1] 安培浚,高峰,曲建升.對地觀測系統未來發展趨勢及其技術需求[J].遙感技術與應用,2007,22(6):28?29.
[2] 房建成,楊勝,劉百奇.高性能POS及其在移動測圖系統中的應用[J].紅外與激光工程,2008,36(z2):478?482.
[3] 劉百奇,房建成.一種改進的IMU 無定向動靜混合高精度標定方法[J].儀器儀表學報,2008,29(6):1250?1254.
[4] 楊國梁,王瑋,徐燁烽,等.旋轉調制式激光捷聯慣導安裝誤差分析與標定[J].儀器儀表學報,2011,32(2):302?308.
[5] 張紅良,武元新,查亞兵,等.高精度慣測組合標定誤差分析[J].國防科技大學學報,2010,32(1):142?146.
[6] 吳賽成,秦石喬,王省書,等.激光陀螺慣性測量單元系統級標定方法[J].中國慣性技術學報,2011,19(2):185?189.
[7] 黨建軍,羅建軍,萬彥輝.基于單軸速率轉臺的捷聯慣測組合標定方法[J].航空學報,2010,31(4):806?811.
[8] 范勝林,孫永榮,袁信.捷聯系統陀螺靜態漂移參數標定[J].中國慣性技術學報,2000,8(1):42?46.
[9] MORROW R B, HECKMAN D W. High precision IFOG insertion into the strategic submarine navigation system [C]// Proceedings of 1998 IEEE Symposium on Position Location and Navigation. Palm Springs: IEEE, 1998: 332?338.
[10] 邢超,張嶸,周斌,等.基于數據庫的IMU自動化標定系統設計[J].測控技術,2014,33(6):154?156.
[11] 劉育浩,黃新生.撓性捷聯慣導自動化標定與測試系統[J].中國慣性技術學報,2009,16(4):396?399.
[12] 趙忠,范毅,趙玉.光纖陀螺自動化測試軟件的設計[J].壓電與聲光,2012,34(6):835?838.
[13] 趙亞飛,宋凝芳,杜士森,等.基于Visual C++的光纖陀螺多參數自動化測試系統[J].壓電與聲光,2013,35(6):824?828.
[14] 曹松杰,孟曉風,梁帆.基于PXI總線的某自動測試系統設計[J].電子測量與儀器學報,2008,22(z2):149?152.
[15] 梁旭,李行善,高占寶.基于測試引擎的自動測試系統軟件設計[J].電子測量與儀器學報,2006,20(5):11?16.
[16] 魏曉虹,張春熹,朱奎寶.光纖陀螺捷聯系統標定測試軟件的設計與開發[J].中國慣性技術學報,2004,12(6):18?22.
[17] 陳北鷗,孫文勝,張桂宏,等.捷聯組合(設備無定向)六位置測試標定[J].導彈與航天運載技術,2001(3):23?27.