黃戰(zhàn)華,李曉偉,王康年,董聯(lián)欣
(1.天津大學精密儀器與光電子工程學院,光電信息技術教育部重點實驗室,天津 300072;2.天津大學四川創(chuàng)新研究院,四川成都 610200)
多傳感器融合[1-2]是指對多傳感器信息的采集、匹配以及其內在聯(lián)系進行綜合處理與優(yōu)化的技術,它是從全方位多信息的角度出發(fā)對數據信息進行對應與處理優(yōu)化,得到數據信息的內在聯(lián)系與規(guī)律的過程。多傳感器的融合可以剔除掉一些錯誤的和無用的信息,而保留正確的和有用的信息,因而極大提高了數據信息的可靠性與對應匹配的精準性,避免了單一傳感器獲取的數據信息有限以及缺乏各傳感器之間的內在對應關系和信息交互聯(lián)系的弊端影響。多傳感器融合由于其獨特的優(yōu)勢,提高了信息的可靠性與系統(tǒng)的精確性,被廣泛應用于軍事、航天、智能制造、目標檢測與圖像處理等領域[3-4]。
目前,多傳感器融合同步授時系統(tǒng)的穩(wěn)定性與魯棒性容易受到GPS信號等環(huán)境因素變化的影響[5],環(huán)境適用性不強;其次,多傳感器信息融合的精確性容易受到傳感器自身延遲的影響,導致信息融合的有效性不佳[6-7]。
針對上述問題,本文提出一種基于FPGA的多傳感器融合同步授時系統(tǒng),包括系統(tǒng)框架設計與同步授時方法。系統(tǒng)可以克服GPS信號不穩(wěn)定等環(huán)境因素變化的影響,同時可以精確補償傳感器對應的觸發(fā)延遲時間,提高了系統(tǒng)的穩(wěn)定性與環(huán)境適應性。實驗證明,基于FPGA的多傳感器融合同步授時系統(tǒng)可以實現多傳感器的同步授時與信息融合,且各傳感器信息融合的魯棒性較好,滿足同步定位與建圖(simultaneous localization and mapping,SLAM)[8]等應用場景對多傳感器融合的實現要求。
本文設計的基于FPGA的多傳感器融合同步授時系統(tǒng)采用現場可編程邏輯門陣列(FPGA)作為主控,以FPGA系統(tǒng)時鐘作為基準時鐘,以秒脈沖(pulse per second,PPS)校準模塊產生的標準可控的觸發(fā)信號作為傳感器的標準觸發(fā)信號,傳感器觸發(fā)校準模塊以該標準觸發(fā)信號作為基準信號結合各傳感器自身的工作頻率產生觸發(fā)傳感器工作的唯一且精確的觸發(fā)信號,同時觸發(fā)校準模塊內部設置有延時補償參數,可以精確補償傳感器對應的觸發(fā)延遲時間,避免傳感器的觸發(fā)延遲對信息融合有效性的影響,并且可以方便獲得各傳感器觸發(fā)時刻對應的精確時間戳。FPGA將每路傳感器數據與各自時間戳進行標記與拼接處理之后,置于各傳感器對應的先進先出數據緩存器(FIFO)內,并通過優(yōu)先級管理單元將各傳感器拼接后的數據包上傳至上位機,優(yōu)先級管理單元將并行的數據轉換成串行的數據,并按照預先設計的優(yōu)先級順序將各緩沖區(qū)內的傳感器數據依次上傳至上位機,以此方式避免了各傳感器數據上傳至上位機時發(fā)生的并行轉串行相互搶占的問題,且該優(yōu)先級順序可以根據系統(tǒng)不同功能的需求進行自定義調整。
此外,當傳感器在野外采集數據時,由于受到GPS信號不穩(wěn)定的影響,難免會出現數據缺失或者漏采的情況,會導致多傳感器融合的魯棒性降低。而基于FPGA的多傳感器融合系統(tǒng)可以通過FPGA內部的PPS校準模塊校準不穩(wěn)定的PPS脈沖信號,產生精確且穩(wěn)定的標準觸發(fā)信號,從而避免了PPS秒脈沖信號易受環(huán)境變化影響的問題,并且即使在無GPS信號的環(huán)境下,通過FPGA內部的系統(tǒng)計數器也可以使各傳感器正常工作,系統(tǒng)的魯棒性并不會因此而降低,因而提高了多傳感器系統(tǒng)的適應性、多傳感器融合的魯棒性和同步授時的精確性。
基于FPGA的多傳感器融合同步授時系統(tǒng)框架如圖1所示。系統(tǒng)包括全球衛(wèi)星導航系統(tǒng)(global navigation satellite system,GNSS)授時模塊、慣性測量單元(inertial measurement unit,IMU)、激光雷達、相機、FPGA以及上位機(即工控機)。
GNSS授時模塊用于每隔1 s產生1次PPS脈沖以及NMEA-0183協(xié)議的數據報文。FPGA內部的UTC解析模塊會對產生的NMEA-0183協(xié)議數據報文進行解析,獲取當前時刻的協(xié)調世界時(universal time coordinated,UTC),并將其與對應時間戳標記拼接處理之后保存至對應的FIFO緩沖區(qū)4內。PPS校準模塊內通過設置標準觸發(fā)頻率(如200 Hz)和標準計數器對GNSS產生的不穩(wěn)定的PPS脈沖信號進行校準,并會依據設置的標準觸發(fā)頻率輸出精確且穩(wěn)定的標準觸發(fā)信號。觸發(fā)校準模塊為產生各傳感器的精確觸發(fā)信號的模塊,其根據標準觸發(fā)信號結合各傳感器自身的工作頻率輸出觸發(fā)傳感器工作的唯一且精確的觸發(fā)信號。時間戳、數據解析與拼接模塊用于對各傳感器的數據和納秒時間戳進行標記與拼接處理,并將處理后的數據幀放置于各傳感器對應的FIFO緩沖區(qū)內。并串轉換與優(yōu)先級管理模塊根據預先設定的優(yōu)先級順序生成訪問信號對各傳感器的緩沖區(qū)依次進行訪問,并生成串行數據包,通過USB協(xié)議將串行數據包上傳至上位機中。
以下分別說明UTC時間的解析與各傳感器的同步觸發(fā)過程。
GNSS授時模塊每隔1 s以NMEA-0183協(xié)議輸出1次數據包,而每個數據包中均包含以GPGGA、GPGSA、GPGSV、GPRMC、GPVTG、GPGLL等為幀頭信息的多幀數據。每幀數據所包含的信息均存在差異,而本文只需要從包含UTC時間的數據幀中提取出UTC時間即可,即先獲取包含UTC時間的一個數據幀,再從該數據幀中提取出UTC時間。本文選用的是以GPRMC為幀頭的“推薦定位信息”,從該數據幀中提取出UTC時間。該數據幀中的UTC時間由時分秒時間與年月日時間組成,其處于數據幀中的不同位置,需要將時分秒時間與年月日時間提取出來,并與該UTC時間對應的納秒時間戳進行拼接與打標簽等解析操作,并將解析后的數據幀通過移位緩沖區(qū)以單字節(jié)的方式發(fā)送至預先設定好的FIFO緩沖區(qū)4中,其中解析后的數據幀包括3字節(jié)識別碼“FF_00_FF”、4字節(jié)納秒時間戳、10字節(jié)年月日時間與10字節(jié)時分秒時間、1字節(jié)結束位“FF”。通過ModelSim軟件對UTC時間解析程序進行仿真,時序仿真圖如圖2所示。
圖3 UTC時間數據幀上傳時序仿真圖
圖4為UTC時間上傳至上位機時的上板實驗結果,由時序仿真結果和上板實驗結果可知,UTC時間可以正常提取拼接并成功上傳至上位機。
圖4 UTC時間上傳至上位機結果
慣性測量單元IMU是用來測量物體三軸姿態(tài)角及加速度的裝置,是自動駕駛與三維重建等領域不可或缺的傳感器之一。本文選用九軸IMU傳感器ML7600,分別用來測量X軸、Y軸和Z軸的角度、加速度和角速度信息。系統(tǒng)設定該IMU的工作頻率為100 Hz,即每1 s產生100次觸發(fā)指令,同時返回100次角度等相關數據信息。IMU模塊的同步觸發(fā)框圖如圖5所示。
圖5 IMU模塊同步觸發(fā)框圖
為了避免GNSS授時模塊產生的PPS秒脈沖不穩(wěn)定且存在由于信號問題導致有時PPS秒脈沖會消失的情況,因而需要通過PPS校準模塊對不穩(wěn)定的PPS秒脈沖進行校準。具體實現方式是在校準模塊內部設置標準觸發(fā)頻率(本文均以200 Hz為例進行說明)和標準計數器,標準觸發(fā)頻率用于規(guī)定模塊輸出的精確穩(wěn)定的標準觸發(fā)信號的頻率;標準計數器用于對模塊輸入的PPS脈沖信號進行半周期的延時,延時時間為Td,單位為μs,其值等于設定的標準觸發(fā)頻率對應的周期值的1/2。延時后的信號即為輸出的精確且穩(wěn)定的標準觸發(fā)信號,其頻率為設定的200 Hz。PPS校準模塊對應的時序原理如圖6所示。
圖6 PPS校準模塊對應的時序圖
PPS校準模塊輸出的標準觸發(fā)信號是對PPS脈沖信號進行了半周期的延時,半周期對應的時間應大于PPS脈沖信號波動周期對應的半周期值,這樣輸出的標準觸發(fā)信號避免了PPS脈沖信號波動周期的影響,能精確且穩(wěn)定地輸出信號。如圖6所示,標準計數器采用先減后增的計數方式,其計數最大值設為CMAX,計數標志信號用于判斷標準計數器處于增加狀態(tài)或減小狀態(tài),當其為1時,標準計數器處于減小狀態(tài),當其為0時,標準計數器處于增加狀態(tài)。當標準計數器計數到1且計數標志信號為1時,產生標準觸發(fā)信號。設FPGA系統(tǒng)時鐘頻率為fCLK,標準觸發(fā)頻率為fST,其單位均為Hz,FPGA的系統(tǒng)時鐘對應的系統(tǒng)計數器最大值為TMAX,則:
TMAX=fCLK-1
(1)
CMAX=(fCLK/fST)/2
(2)
Td=(1/fST)/2
(3)
由于標準計數器的置位條件取決于PPS秒脈沖信號的到來或者系統(tǒng)計數器計數到最大值,即意味著標準觸發(fā)信號的產生將不唯一依賴于PPS秒脈沖信號的上升沿。因此,即使在無GPS信號的環(huán)境下,仍可以通過FPGA內部的系統(tǒng)計數器使標準觸發(fā)信號正常產生,這樣就避免了PPS秒脈沖信號產生不穩(wěn)定且因此會對傳感器的觸發(fā)信號造成影響的不良情況,從而實現了對PPS秒脈沖信號的校準,同時也提高了系統(tǒng)的穩(wěn)定性與適應性。
IMU觸發(fā)校準模塊以PPS校準模塊輸出的標準觸發(fā)信號為基準,結合標準觸發(fā)信號頻率與IMU頻率(即100 Hz)的比值關系產生唯一且精確的IMU觸發(fā)信號,該IMU觸發(fā)信號為單周期的高電平信號,其用于觸發(fā)生成IMU的觸發(fā)指令。當觸發(fā)指令生成模塊接收到該IMU觸發(fā)信號之后產生IMU觸發(fā)指令,該IMU觸發(fā)指令為8字節(jié)的數據,并以RS232通信協(xié)議將該觸發(fā)指令發(fā)送至IMU模塊,用于觸發(fā)IMU模塊開始工作。此外,IMU觸發(fā)校準模塊內設置有延時補償參數,該延時補償參數對應的值即為傳感器的延遲時間,其目的是用于補償傳感器自身的延遲時間,避免傳感器的延時時間對傳感器信息融合的有效性造成影響,提高了系統(tǒng)的魯棒性和模塊的復用性。圖7為IMU模塊同步觸發(fā)的時序示意圖,其中包括標準觸發(fā)信號與IMU觸發(fā)信號的比例關系以及經過補償后的IMU觸發(fā)信號與未經補償的IMU觸發(fā)信號的相對位置關系(圖例顯示的補償后IMU觸發(fā)信號僅用于示例,其對應的比例關系并不代表IMU模塊真實的延遲時間)。
圖7 IMU模塊同步觸發(fā)時序示意圖
補償后IMU觸發(fā)信號會相對于未補償IMU觸發(fā)信號提前一段時間產生,該時間對應于IMU模塊的觸發(fā)延時時間,如圖7所示,即
T=t1+t2
(4)
式中:t2為IMU模塊接收完整觸發(fā)指令所用時間,μs;t1為從FPGA發(fā)送完成請求指令到IMU模塊開始輸出數據時的延時時間,μs。
圖8為用示波器測量IMU模塊的觸發(fā)延時。
圖8 IMU模塊的觸發(fā)延時測量結果
IMU數據包接收模塊用于以RS232通信協(xié)議接收IMU模塊采集的數據,并將其傳輸至時間戳和數據解析與拼接模塊,IMU時間戳和數據解析與拼接模塊以數據幀為單位對接收的單字節(jié)數據進行組合,同時與該幀數據對應的納秒時間戳進行拼接。當FPGA接收到IMU模塊傳回的第一個字節(jié)時,該時刻對應的FPGA系統(tǒng)計數器的計數值即為該幀數據對應的納秒時間戳。同時對拼接后的數據幀添加標識符與結束位,即得到完整的解析處理后的一幀IMU數據,其中包括3字節(jié)的標識符“FF_01_FF”、4字節(jié)時間戳、41字節(jié)IMU數據與1字節(jié)結束位“FF”。數據移位緩沖區(qū)將處理后的數據幀以單字節(jié)的方式發(fā)送至預先設定好的FIFO緩沖區(qū)1中。圖9為IMU數據幀解析與拼接的時序仿真圖。
圖9 IMU數據幀解析與拼接的時序仿真圖
由圖9可以看出:可以成功地對IMU數據和納秒時間戳進行標記與拼接處理,并將拼接后的數據幀置于buffer空間中,同時數據移位緩沖區(qū)將拼接后的數據幀以單字節(jié)的方式發(fā)送至預先設定好的FIFO緩沖區(qū)1中,并經過優(yōu)先級管理模塊最終上傳至上位機。
數據幀上傳時序仿真結果如圖10所示,由仿真結果可知,IMU數據和對應時間戳可以正常獲取拼接并上傳至上位機,在上位機中完成IMU數據幀的解析。
圖10 IMU數據幀上傳時序仿真圖
多傳感器融合系統(tǒng)中,IMU的工作頻率為100 Hz,即FPGA 1 s產生100次觸發(fā)指令,同時獲取100次IMU模塊觸發(fā)時刻對應的納秒時間戳。圖11為在任意一段時間間隔內,上位機解析出的IMU模塊觸發(fā)時刻對應的納秒時間戳與系統(tǒng)時間的對應關系,其中橫軸表示系統(tǒng)時間,縱軸表示IMU模塊的納秒時間戳,系統(tǒng)時間每秒對應100個納秒時間戳。由圖11可以看出,IMU納秒時間戳可以穩(wěn)定地產生和獲取,即IMU模塊可以正常且穩(wěn)定地被觸發(fā)。
圖11 IMU模塊時間戳與系統(tǒng)時間的對應關系
工業(yè)相機作為機器視覺系統(tǒng)的重要組成部分,被廣泛應用于視覺檢測、自動駕駛與圖像處理等領域。本文通過同步脈沖觸發(fā)的方式實現對相機的同步觸發(fā),相機模塊同步觸發(fā)的系統(tǒng)框圖如圖12所示。根據系統(tǒng)的需求,設定相機的工作頻率為5 Hz。相機的觸發(fā)信號是由觸發(fā)校準模塊將該模塊輸入的標準觸發(fā)信號作為基準結合相機的工作頻率產生的。
圖12 相機模塊同步觸發(fā)系統(tǒng)框圖
圖13為標準觸發(fā)信號與相機觸發(fā)信號的時序關系,同時也為相機同步觸發(fā)的時序示意圖。
圖13 相機同步觸發(fā)時序示意圖
圖13中的標準觸發(fā)信號即為PPS校準模塊產生的頻率為200 Hz的信號,觸發(fā)校準模塊以該信號作為基準,結合標準觸發(fā)信號頻率與相機自身工作頻率的比值關系產生5 Hz的傳感器觸發(fā)信號,該傳感器觸發(fā)信號為單周期的高電平信號,其信號周期t3=200 ms,對應于相機的工作頻率5 Hz。由于觸發(fā)相機工作的信號有脈寬限制,脈沖寬度由相機自身特性決定,故需要將單周期的傳感器觸發(fā)信號進行脈沖展寬。脈沖擴展模塊實現對單周期的傳感器觸發(fā)信號進行展寬,輸出占空比為τ的相機觸發(fā)信號,且該占空比可調節(jié),本文以相機觸發(fā)信號的脈寬對應時間t4=100 μs為例進行說明,即占空比τ為
(5)
實現多傳感器融合系統(tǒng)中相機同步授時的核心步驟是獲取相機觸發(fā)時刻對應的納秒時間戳,如圖13所示,相機觸發(fā)信號與傳感器觸發(fā)信號的上升沿須處于對齊狀態(tài),便于精準獲取相機觸發(fā)時刻的納秒時間戳,且當相機觸發(fā)信號的上升沿產生時,該時刻系統(tǒng)計數器的計數值即為相機觸發(fā)時刻的納秒時間戳,需要將其提取出來,并在相機時間戳解析與拼接模塊內進行標記與拼接處理,即對提取出的時間戳添加3字節(jié)的標識符“FF_02_FF”和1字節(jié)的結束位“FF”。圖14為相機觸發(fā)信號的產生和相機納秒時間戳的提取與拼接時序仿真圖。
圖14 相機觸發(fā)信號產生與相機時間戳的提取拼接時序仿真圖
由圖14可知,相機觸發(fā)信號可以正常產生,且觸發(fā)信號的脈寬符合設定的脈沖寬度,同時相機觸發(fā)時刻對應的納秒時間戳可以正常提取與拼接。拼接后的相機時間戳長度共8字節(jié),包括3字節(jié)的標識符、4字節(jié)納秒時間戳和1字節(jié)結束位,且放置于buffer空間中。數據移位緩沖區(qū)將拼接處理后的相機時間戳以單字節(jié)的形式發(fā)送至預先設定好的存放相機時間戳的FIFO緩沖區(qū)3中,便于后續(xù)優(yōu)先級管理模塊進行訪問。優(yōu)先級管理模塊根據預先設定的優(yōu)先級順序生成訪問信號對各傳感器緩沖區(qū)依次進行訪問,并生成串行數據包,以此方式最終將相機時間戳通過USB協(xié)議發(fā)送至上位機。圖15為相機時間戳上傳至上位機的時序仿真結果,由時序仿真結果可知,相機時間戳可以正常獲取拼接并上傳至上位機,在上位機中完成相機時間戳的解析。
圖15 相機時間戳上傳時序仿真圖
多傳感器融合系統(tǒng)中,相機的工作頻率為5 Hz,即FPGA每秒產生5次相機觸發(fā)信號,同時獲取5次相機觸發(fā)時刻對應的納秒時間戳。圖16為在任意一段時間間隔內,上位機解析出的相機模塊觸發(fā)時刻對應的納秒時間戳與系統(tǒng)時間的對應關系,系統(tǒng)時間每秒對應5個相機納秒時間戳。由上述時間戳上傳時序仿真結果與相機時間戳的顯示結果可知,相機納秒時間戳可以穩(wěn)定地產生和獲取,并上傳至上位機,最終在上位機中完成時間戳的解析,即相機模塊可以正常且穩(wěn)定地實現同步觸發(fā)。
圖16 相機時間戳與系統(tǒng)時間的對應關系
系統(tǒng)所選用的激光雷達型號為Livox Mid-70,支持3種同步方式,分別為IEEE 1588-2008同步(即PTP協(xié)議同步)、PPS脈沖同步以及GPS同步,本文選用的同步方式是通過PPS脈沖進行同步,其同步觸發(fā)系統(tǒng)框圖如圖17所示。通過以PPS脈沖信號為基準輸出的激光雷達觸發(fā)信號實現激光雷達的同步觸發(fā),且激光雷達觸發(fā)信號的產生頻率為1 Hz。
激光雷達收到觸發(fā)信號,將以10 Hz的工作頻率采集點云數據,并將采集的點云數據直接通過網口上傳至上位機中,而激光雷達觸發(fā)時刻對應的納秒時間戳通過FPGA上傳至上位機。圖18為PPS脈沖信號與激光雷達觸發(fā)信號以及激光雷達工作頻率的對應時序關系。其中PPS脈沖信號即為GNSS授時模塊產生的頻率為1 Hz的信號,傳感器觸發(fā)信號為觸發(fā)校準模塊以標準觸發(fā)信號作為基準結合激光雷達的觸發(fā)頻率產生的頻率為1 Hz的信號,且傳感器觸發(fā)信號為單周期的高電平信號。由于觸發(fā)激光雷達工作的信號有脈寬限制,因而需要對單周期的高電平信號進行脈沖展寬,激光雷達觸發(fā)信號即為脈沖擴展模塊對傳感器觸發(fā)信號展寬之后輸出的觸發(fā)激光雷達工作的信號。而激光雷達接收到觸發(fā)信號之后,將以10 Hz的頻率開始采集數據,對應于圖18中的激光雷達工作頻率時序。
圖18 激光雷達同步觸發(fā)時序示意圖
激光雷達與IMU模塊同步的核心在于數據時間系對齊,即獲取激光雷達觸發(fā)時間戳是實現激光雷達與IMU同步的核心所在,激光雷達觸發(fā)時間戳對應于激光雷達觸發(fā)信號的上升沿產生時,該時刻系統(tǒng)計數器的計數值。如圖18所示,激光雷達觸發(fā)信號與傳感器觸發(fā)信號的上升沿須處于對齊狀態(tài),即保證了提取的納秒時間戳精確對應于激光雷達觸發(fā)時刻,從而不會因此對同步授時的精確性產生相應影響。提取出的激光雷達觸發(fā)時間戳需要在激光雷達時間戳解析與拼接模塊內進行標記與拼接處理,即對提取出的時間戳添加3字節(jié)的標識符“FF_03_FF”和1字節(jié)的結束位“FF”。
圖19為激光雷達觸發(fā)信號的產生和激光雷達觸發(fā)納秒時間戳的提取與拼接時序仿真圖。
圖19 激光雷達觸發(fā)信號產生與對應時間戳的提取拼接時序仿真圖
由圖19可知,激光雷達觸發(fā)信號可以正常產生,且其上升沿與傳感器觸發(fā)信號的上升沿處于對齊狀態(tài),符合系統(tǒng)設計要求,同時激光雷達觸發(fā)時刻對應的納秒時間戳可以正常提取與拼接。拼接后的激光雷達觸發(fā)時間戳長度共8字節(jié),包括3字節(jié)的標識符、4字節(jié)納秒時間戳和1字節(jié)結束位,放置于該路數據通道的buffer空間中。數據移位緩沖區(qū)從buffer空間中將拼接處理后的激光雷達觸發(fā)時間戳以單字節(jié)的形式發(fā)送至預先設定好的存放激光雷達納秒時間戳的FIFO緩沖區(qū)2中,便于后續(xù)優(yōu)先級管理模塊進行訪問。優(yōu)先級管理模塊根據預先設定的優(yōu)先級順序生成訪問信號對各傳感器緩沖區(qū)依次進行訪問,并生成串行數據包,以此方式最終實現將激光雷達觸發(fā)時間戳通過USB協(xié)議發(fā)送至上位機。
圖20為激光雷達觸發(fā)時間戳上傳至上位機的時序仿真結果,由時序仿真結果可知,激光雷達觸發(fā)時間戳可以正常獲取并上傳至上位機,最終在上位機中完成時間戳的解析。
圖20 激光雷達觸發(fā)時間戳上傳時序仿真圖
多傳感器融合系統(tǒng)中,激光雷達的工作頻率為10 Hz,即收到FPGA發(fā)出的觸發(fā)信號時,激光雷達都會以10 Hz的頻率開始采集點云數據,同時激光雷達會自動保存每次采集點云數據時刻的納秒時間戳,該時間戳為激光雷達采集時間戳,其頻率為1 s產生10次,即上位機中每秒會獲取10次激光雷達采集點云數據時刻的納秒時間戳。
圖21為在任意一段時間間隔內,上位機解析出的激光雷達采集時間戳與系統(tǒng)時間的對應關系,系統(tǒng)時間每秒對應10個激光雷達采集時間戳。由上述時間戳上傳時序仿真結果與激光雷達采集時間戳的顯示結果可知,激光雷達時間戳可以穩(wěn)定地產生和獲取,并上傳至上位機,即激光雷達可以正常且穩(wěn)定地實現同步觸發(fā)。
圖21 激光雷達采集時間戳與系統(tǒng)時間的對應關系
為了驗證上述多傳感器融合同步授時系統(tǒng)的魯棒性和精確性,設計了如圖22所示的實驗平臺。實驗平臺包括FPGA驅動板、電源模塊、上位機、激光雷達、慣性測量單元IMU和相機等部分,FPGA芯片采用的是Cyclone IV系列的EP4CE10F17C8型號芯片,FPGA驅動板中包含GNSS授時模塊、電源轉換模塊、數據接收與發(fā)送模塊以及與各傳感器相連的符合傳感器通信協(xié)議的多種通信接口。圖22中所示電源模塊為整個系統(tǒng)的供電來源,電源模塊輸出22 V電壓,經過降壓模塊降壓后輸出12 V電壓至FPGA驅動板,以此實現對驅動板和各傳感器供電,同時驅動板輸出12 V電壓至上位機,驅動上位機工作。該實驗平臺體積小、質量輕,便于手持外出采集實驗數據。
圖22 系統(tǒng)實驗平臺
為了驗證多傳感器信息融合的有效性和同步授時的精確性,設計了如下實驗:各傳感器的觸發(fā)信號或觸發(fā)指令均由FPGA根據標準觸發(fā)信號結合各傳感器自身的工作頻率產生,傳感器接收到FPGA發(fā)出的觸發(fā)信號或觸發(fā)指令后開始工作,FPGA獲取傳感器觸發(fā)時精確的納秒時間戳和傳感器采集的數據,將兩者進行拼接處理,并通過USB協(xié)議上傳至上位機,在上位機中實現對各傳感器的納秒時間戳與對應傳感器數據拼接后的數據幀的解析與匹配。
由于各傳感器的觸發(fā)信號或觸發(fā)指令均以FPGA內部PPS校準模塊產生的標準觸發(fā)信號為基準,且傳感器觸發(fā)時的納秒時間戳均對應于FPGA內部系統(tǒng)計數器的計數值,故各傳感器的數據信息處于同一時間坐標系下。同時,由于各傳感器的工作頻率不一致,因而上位機中應按照優(yōu)先級管理模塊中設定的優(yōu)先級順序進行數據的更新。
系統(tǒng)上電后,即使在沒有GPS信號的環(huán)境下,FPGA會按照各傳感器自身的工作頻率輸出觸發(fā)信號或觸發(fā)指令,各傳感器也會相繼開始工作。FPGA將各傳感器對應FIFO緩沖區(qū)內的數據幀按照預先設定好的優(yōu)先級順序依次上傳至上位機中,在上位機中對數據包進行解析,即可獲得實際的時間戳與角度位姿等傳感器數據信息。圖23為上位機中解析出的各傳感器實際工作頻率下的納秒時間戳與系統(tǒng)時間的對應關系,由此可知,各傳感器對應的時間戳可以正常穩(wěn)定地產生與獲取,即各傳感器可以穩(wěn)定地實現同步觸發(fā)。
圖23 各傳感器時間戳與系統(tǒng)時間的對應關系
同時,為了驗證多傳感器信息融合的有效性,上位機利用FPGA上傳的數據包與激光雷達采集的點云數據對建筑物進行三維重建,三維重建效果如圖24所示,由圖24可知,三維重建的效果良好,多傳感器信息融合的有效性和魯棒性較高。
(a)建筑物三維重建俯視圖
為了提高多傳感器融合同步授時的精確性和信息融合的有效性與魯棒性,同時避免戶外無GPS信號環(huán)境對多傳感器融合系統(tǒng)的同步授時乃至正常工作產生影響,設計了基于FPGA的多傳感器融合同步授時系統(tǒng)與方法。系統(tǒng)以FPGA作為主控單元,通過其內部的PPS校準模塊校準GNSS產生的PPS秒時間脈沖,產生精確且穩(wěn)定的標準觸發(fā)信號,觸發(fā)校準模塊以該標準觸發(fā)信號作為基準結合各傳感器自身工作頻率產生同步脈沖觸發(fā)各傳感器工作,同時觸發(fā)校準模塊內設置延時補償參數,可以精確補償傳感器對應的觸發(fā)延遲時間。FPGA獲取各傳感器觸發(fā)時精確的納秒時間戳與傳感器數據,拼接處理后通過優(yōu)先級管理模塊上傳至上位機,在上位機中實現傳感器數據與時間戳的精準匹配?;贔PGA的多傳感器融合同步授時系統(tǒng)分別設計了激光雷達、IMU和相機的同步觸發(fā)方案,以及多傳感器同步授時與信息融合的實現方案,同時搭建了硬件系統(tǒng)平臺,分別進行了多次仿真與實驗驗證。實驗結果表明:本文提出的多傳感器融合同步授時系統(tǒng)和方法可以實現多傳感器的同步授時與同步數據采集,且系統(tǒng)工作穩(wěn)定,易于實現,易于擴展,不易受GPS信號不佳等環(huán)境因素變化的影響,各傳感器信息融合的有效性與魯棒性較好,滿足SLAM三維重建等應用場景對多傳感器融合的實現要求。