徐 暉,楊凌輝,鄧 睿,王雨萌,楊 朔,任永杰
(天津大學 精密測試技術及儀器國家重點實驗室,天津 300072)
當前,大空間三維精密測量定位技術已成為航天航空、大型船舶等高端裝備制造領域應用廣泛的核心關鍵技術[1-2],代表性設備包括激光跟蹤儀、經緯儀、全站儀、近景數字攝影測量和室內GPS光電掃描測量網絡等[3-5]。不同于跟蹤儀、全站儀等傳統單站測量設備,以工作空間測量定位系統(workshop measuring and positioning system,wMPS)為代表的光電掃描測量網絡是一種針對大空間定位測量的新型分布式測量系統,可實現多點實時自動跟蹤測量,自動化程度高,抗干擾能力強,應用前景廣泛[6-7]。
作為以多站組網定位為基本原理的分布式測量系統,wMPS系統在研發制造過程中,從底層硬件架構到頂層算法都需要進行大量測試優化,以保證平臺性能穩定可靠。但wMPS系統測量網絡中發射站基數一般在4~20臺,工作單站工作距離為3 ~30 m,為保證交匯條件使用時空間分布也不能過于集中。現有真實設備的物理參數限制為在實驗室小環境條件下進行處理算法測試驗證帶來了極大困難。同時,由于部分算法優化的實現需要多樣化的發射站和接收器參數,使用實物調試往往需要硬件結構上的改變,設備生產周期較長,多站實物調試成本較高,迫切需要簡便可行的低成本仿真系統模擬wMPS系統行為。
目前,以wMPS系統為代表的光電掃描測量網絡仿真大多針對網絡測量誤差和網絡布局優化[8],仿真過程主要集中在算法軟件層面,比如熊芝[9]通過算法仿真實現了wMPS系統的布局優化,并建立了布局定位誤差模型,徐鑫[10]通過算法仿真實現了掃描激光平面的優化。但在實際調試中,系統性能驗證還依賴于對真實硬件特別是接收器、處理器硬件電路及嵌入式軟件性能的充分測試,單純進行軟件仿真無法全面模擬系統行為,必須基于底層真實信號進行仿真分析才能得到完備可靠結果。
注意到目前在電子、航天、航空領域,基于信號發生器、多自由度平臺等實驗裝置模擬生成具有真實物理狀態的系統信號,配合軟件算法進行模擬可對復雜系統進行充分仿真,已成為標準測試手段。本文基于wMPS測量原理,構建占地空間小、參數修改靈活可控的半實物化模擬器,滿足wMPS系統算法及性能快速驗證調試需求。本文在介紹wMPS系統工作原理的基礎上利用發射站的內外參數及接收站參數,解算得到模擬信號的輸入量;以Xilinx公司生產的Zynq系列FPGA為硬件平臺,設計了可將wMPS系統發射站的時間-角度數據轉換為模擬發射站光脈沖信號的IP核。
wMPS系統主要由激光發射站、接收器、前端處理器及上位機組成,是一種新型的基于光電掃描的測量系統,其構成如圖1所示。
圖1 wMPS系統基本構成圖
當系統工作時,激光發射站發射激光脈沖,此時接收器位于待測點處,其接收光脈沖并且利用自身電路的光電轉換模塊將光脈沖信號轉化為電信號,前端處理器對信號特征進行提取再經過模擬數字轉換器轉化為數字信號并上傳給上位機,上位機計算不同發射站相對于接收器的位姿信息,綜合解算出接收器點坐標[11]。
每個發射站在周期開始時發射同步光,以角速度 ω旋轉,并且發射兩束角度不同的扇面掃描光,當掃描光掃過接收器時,掃描光被接收器識別。發射站一個光平面的掃描接收器過程如圖2所示。
圖2 接收器和發射站工作示意圖
前端處理器可根據光信號周期和脈沖寬度判斷光信號來源發射站以及類型。設激光扇面在初始位置的時刻為t0,當扇面光1和扇面光2依次掃過接收器時,記錄時刻分別為t1和t2,則此時發射站旋轉角度 θ1和 θ2為:
其中T為發射站的旋轉周期。
接收站測量原理如圖3所示,設 φ1和 φ2為光平面1和光平面2相對于旋轉軸Z軸的傾斜角,a為接收器與發射站的距離。
圖3 接收器工作原理圖
根據角度交匯原理,可推導出接收器相對于發射站的方位角和俯仰角。其中方位角 α為發射站坐標系下接收器和原點連線在水平面上的投影與X軸的夾角,而俯仰角 β為其與水平面的夾角,θoff為兩激光平面在旋轉方向上的偏離角度[12]:
當系統由兩臺或以上發射站組成時,可通過多站角度交匯的方法測量接收器的坐標,如圖4所示。
圖4 多站角度交匯坐標測量
首先建立全局測量坐標系,之后通過標定手段求出n臺發射站在全局測量坐標系下的坐標和全局測量坐標系相對于發射站自身坐標系的旋轉矩陣。再通過接收器在多個發射站下所得的方位角和俯仰角建立多約束方程,即可求解接收器坐標[13]。
在測量中,單個接收器接收來自各個發射站混疊脈沖攜帶測量所需的全部信息。前端處理器對混疊脈沖進行處理,區分不同發射站脈沖,提取接收到的電脈沖類型,讀取各個脈沖的全局時間,即可解算出接收器坐標。接收器接收的混疊脈沖如圖5所示。因此wMPS系統模擬器需模擬不同參數下的該混疊脈沖,為系統調試提供支持。
圖5 接收器接收脈沖示意圖
為了得到有效的模擬信號,實現模擬器仿真首先要確定模擬信號的輸入參數。發射站模擬信號要模擬完整且適用于實際系統的全部特征參數,包括同步光發射周期、光平面1相位、光平面2相位。在wMPS系統中,發射站旋轉周期決定了同步光脈沖的發射周期;發射站的兩個光平面掃過接收器時發射站轉過的角度決定了接收器接收到的脈沖信號相位。
因此,求解模擬信號的輸入參數時要根據已知的發射站和接收器的坐標以及發射站內部和外部參數,解算發射站兩個光平面的旋轉角度 θ1和 θ2,并根據發射站轉速計算出兩個光平面掃過接收器所用時間t1和t2,作為模擬信號的輸入參量。
wMPS測量網絡模擬器主要包括設置在計算機中的發射站旋轉角度計算模塊以及Zynq模擬信號產生平臺。完整架構及模擬信號產生流程如圖6所示。首先根據已知的發射站和接收器的坐標以及發射站內部和外部參數,解算發射站兩個光平面的旋轉角度 θ1和 θ2,并根據發射站轉速計算出兩個光平面掃過接收器所用時間t1和t2,作為模擬信號的輸入參量;而后由Zynq嵌入式平臺,實現特定輸入參量的模擬信號在硬件平臺上的產生和混疊,輸出最終的模擬信號。
圖6 wMPS測量網絡模擬器架構
在已確定某發射站轉速的情況下,根據空間已知點坐標,發射站在空間中位置以及光平面姿態,即可對發射站兩個光平面的旋轉角度 θ1和 θ2進行逆解算,并得出對應的發射站兩個光平面掃過接收器所用時間t1和t2。所求的參數可作為模擬信號的輸入參量。圖7為單發射站的旋轉角度解算流程。
圖7 單發射站旋轉角度解算流程
其中,發射站外部參數包括:發射站序號(ID)、轉速speed(r/min)、發射站在全局坐標系下的空間三維坐標以及發射站到全局坐標系的旋轉矩陣;發射站內部參數包括:兩個光平面P1、P2在空間中的位置和姿態信息(與Z軸夾角 φ、旋轉方向上與初始位置夾角 θ、光平面在Z軸上的截距zerr)。其中,兩個光平面之間的空間關系應滿足:兩光平面水平方向夾角為90°,且兩光平面在旋轉方向上的偏離角度θoff=|θ1?θ2|,為45°的固定值;接收器參數主要包括:接收站序號(ID)以及接收器在全局坐標系下的空間三維坐標。
2.2.1 確定旋轉矩陣
解算中,首先需要明確發射站坐標系到全局坐標系的旋轉矩陣。在初始參數中,為了描述與旋轉軸的相對位置,發射站光平面相關參數均是在發射站自身坐標系下進行表示的。發射站坐標系與自身初始姿態有關,一般不與全局坐標系重合,因此需要將接收器在全局坐標系下的坐標轉化為發射站坐標系下的坐標。
坐標系旋轉矩陣的表示方法有以下3種:歐拉角、繞固定旋轉軸旋轉角以及四元數,且3種表示方法可以相互轉化。其中,四元數法更為高效,花費更少的時間和空間,且不會出現歐拉角表示中的萬向節死鎖現象。因此以四元數表示旋轉矩陣作為已知參量輸入,計算得旋轉矩陣R為:
2.2.2 確定發射站內部參數
發射站的內部參數主要為兩個激光平面的位置和姿態信息,為了方便表達,在全局坐標系下表示的光平面P1、P2表示為
即兩個光平面參數矩陣分別為N1ABCD=[A1,B1,C1,D1]和N2ABCD=[A2,B2,C2,D2]。根據幾何關系,可計算得光平面的位姿參數:
其中 φ為光平面與旋轉軸Z軸的夾角,i=1,2。
2.2.3 求解光平面旋轉角
該系統利用基于Zynq的嵌入式平臺實現模擬信號的產生。圖8為Zynq下的wMPS模擬信號產生平臺系統架構。具體包括Zynq處理器系統及復位系統、基于AXI總線的模擬信號產生IP以及AXI互聯矩陣。
圖8 Zynq下wMPS模擬器系統架構
該系統嵌入了Zynq 處理器系統(processing system,PS),使用 Zynq 的可編程邏輯(programming logic,PL)部分實現模擬信號產生的模塊,并將其封裝為用戶IP,PS端基于AXI總線協議實現與該模塊的通信,對該模塊進行控制。系統主要構成部分及功能如下:Zynq的PS部分主要包括應用處理器單元(APU)、存儲器接口、I/O外設(IOP)以及內部互連(Interconnect),Zynq可靈活地支持PS的功能實現以及與PL的數據交互。
在發射站仿真模擬器的實現中,為了實現處理器對發射站模擬信號產生的控制,將模擬信號產生模塊封裝為AXI總線類型的IP核,處理器通過AXI總線給定輸入信號,進行控制[14]。
圖9為單發射站模擬信號圖形。發射站模擬信號主要由兩種不同的脈沖構成:同步光脈沖和掃描光脈沖。在一個測量周期開始時,發射站發射同步光脈沖,同步光脈沖的周期即為發射站旋轉周期,不同發射站旋轉周期不同(T不同),不同發射站同步光脈沖發射的初始時間(t0)也不同。這是由于在測量系統中,不同的發射站有一定的初始旋轉角度。當發射站掃描扇面光掃至接收器時顯示為掃描光脈沖,接收器相對于發射站位置不同,則兩個掃描光脈沖在周期中相位(t1,t2)不同。所有發射站同類型脈沖的脈寬相等。
圖9 單發射站模擬信號圖形
模擬信號產生IP利用Zynq內部時鐘信號作為時序約束,并且利用FPGA邏輯資源在硬件層面生成周期、脈沖寬度及相位可調的發射站模擬信號[15]。
模擬信號產生邏輯中,設置主計數器cnt,以Zynq內部時鐘信號作為計數時鐘信號。每個上升沿到來之時主計數器cnt計數加一,當cnt計數至設置的不同參量時,根據需要將輸出信號signal_r拉低或拉高,最后生成完整的模擬發射站脈沖信號。決定產生不同信號的參量主要有:cnt計數周期period、初始相位 phase0、掃描光脈沖 A相位phase1、掃描光脈沖B相位phase2。而同步光脈沖脈寬STORB_W,掃描光脈沖脈寬SCAN_W,在特定測量系統中都為恒定值,只需進行參數設置,不作為輸入量。
根據輸入 period、phase0、phase1、phase2和參數STORB_W、SCAN_W,設置signal_r翻轉時主計數器的模數,可生成該參數下的模擬信號脈沖組合。狀態轉移過程如圖10所示。
圖10 模擬信號產生邏輯狀態轉移過程
為了實現FPGA與ARM之間的通信,同時保證程序復用以實現多發射站信號產生,信號產生IP通過AXI總線協議實現與Zynq的處理器系統PS端的通信。
圖11為基于AXI總線協議的模擬信號產生IP的模塊框架。模塊中設置了4個32位寄存器,用于存儲該模塊所需要的輸入參數。其中slv_reg0、slv_reg1和 slv_reg2分別為 phase0、phase1、phase2寄存器,slv_reg3為周期寄存器。每個寄存器都有特定的地址空間。PS端通過AXI總線寫入或讀取數據時,與PL端通過握手信號建立連接。訪問不同的地址空間,可將數據寫入不同的寄存器,完成參數的輸入。復位時,將4個寄存器清零。結合外圍時鐘和復位模塊,即可實現可控參數的模擬信號產生。
圖11 模擬信號產生IP設計框架
AXI協議是一種點對點的主/從接口協議,當多個外設需要交互數據時,需加入AXI Interconnect模塊,即AXI互聯矩陣,AXI協議是一種提供一個或多個AXI主設備連接到一個或多個AXI從設備的交換機制。
由于在wMPS實際測量系統中,包括多個覆蓋整個測量空間的發射站,每個發射站分別具有不同的內外參數。因此需使用AXI總線給定不同的發射站參數,用AXI Interconnect將所有的模擬信號生成IP核掛載至AXI總線上,完成PS部分對多個模擬信號產生IP的參數寫入和控制。此外,由圖5可知,在實際測量中,每個接收器都接收來自多個發射站的光脈沖信號,為了模擬接收器接受的實際信號,需將多個發射站信號在硬件層面進行混疊,即可得到模擬wMPS系統中接收器所接收到的實際信號。
在系統搭建中,已通過AXI總線實現了Zynq處理器對發射站模擬信號產生部分的控制,通過對不同地址的寄存器寫入參數,即可實現模擬信號周期、相位等特征值的改變。使能Zynq串口時,可實現該系統與上位機的通信,上位機通過UART串口寫入數據,對模擬信號產生進行控制。上位機實現流程和信號產生平臺的任務流程如圖12所示。
圖12 上位機控制信號產生流程圖
任務開始后,上位機發送準備指令至Zynq平臺,處理器通過AXI總線對信號產生模塊進行復位,寄存器清零,完成后模塊返回READY信號給上位機;上位機對2.1節中由已知量計算所得的參數進行寫入,完成后發送開始指令和解算參數給信號平臺,信號平臺產生模擬信號;若在產生過程中,接收到上位機進行參數寫入的指令,則暫停模擬信號產生,更新參數,而后重新產生信號;當接收到停止指令時,停止產生模擬信號。
為了驗證wMPS系統模擬器功能的完整性與可靠性,分別對輸入參數求解算法模塊,單發射站模擬信號產生模塊以及多發射站混疊模擬信號產生模塊進行仿真和實驗驗證。
為了生成實際測量可用的發射站仿真模擬信號,本文選用實際系統中的發射站參數θ和接收器坐標來計算值,以得到實際系統中的時間t。3組發射站外部參數、3組發射站內部參數和5組接收站參數如表1~表3所示。
表1 發射站外部參數
表2 發射站內部參數
表3 接收器參數
以上均為實際系統中的參數設定。選擇發射站1、2、3,對它們的光平面由初始位置旋轉至5個接收器的時間進行計算,以驗證算法的可行性和準確性。調用輸入參數解算算法后,得到發射站1、2、3各自兩個光平面的旋轉角度,如表4所示。
表4 旋轉角度值計算結果
為了驗證wMPS測量網絡半實物化仿真方案是否可行,使用vivado提供的仿真器,對接收器接收到的單發射站模擬信號和多發射站模擬信號產生部分進行仿真。時鐘信號clk頻率為50 MHz,使用Zynq-7000進行模擬信號產生的實驗驗證,選用ID編號為1~5的接收器接收3個發射站信號的輸入參數,利用該平臺產生三路wMPS發射站模擬信號,并將三路信號混疊得到實際接收器接收的模擬信號,設定輸入參數如表5所示。
表5 模擬信號輸入參數
對接收器1~5接收的三路混疊信號進行仿真,結果如圖13(a)~圖13(e)所示。
圖13 三路發射站模擬信號混合
在圖13中,第一行的信號為混疊信號,倒數第一行到第三行的信號分別為接收器接收到的發射站1~3的信號,由此可以將圖13中的三路模擬混疊信號導入信號處理器中進行處理,分別得到模擬信號解算的角度值,如表6所示。
表6 旋轉角度值計算結果
其中表4的數據為實際角度值,即真值;表6的數據是根據實際角度值生成模擬信號,再通過處理器對模擬信號進行解算得到的角度值。通過對表6和表4的數據作差值,即為仿真系統的偏差。經過解算可以得到模擬信號解算的角度值和實際角度值基本一致,在接收器1接收發射站1的 θ1和發射站3下 θ1、接收器2接收發射站1的 θ2等會有0.36″的偏差,那么wMPS系統仿真方案所產生的模擬信號基本符合實驗室條件下對wMPS系統的調試要求。
針對室內空間測量定位系統的調試需求,并且克服現有技術對于發射站硬件的多樣化需要,提出了一種新的基于Zynq的wMPS多發射站測量網絡半實物化仿真方案。滿足了實驗室小環境下定位系統的算法及性能調試的需求,具有很好的應用前景。該方案具有以下特點:
1)占地空間小,參數控制靈活,采用半實物化仿真,能夠較好地解決空間定位系統測量網絡分布分散,實驗室空間有限等因素導致發射站實物化調試存在困難這一現狀。
2)實現了wMPS系統信號層面的仿真。相較于傳統的誤差仿真,更能夠模擬接近實際條件下系統的完整行為。
3)仿真驗證和實驗表明,該設計產生的模擬信號合理準確,精度較高,能夠滿足系統調試要求,可為離線平臺的搭建和算法改進提供數據支撐。