技術(shù)文章
在自動駕駛中,主要涵蓋感知、規(guī)劃、控制三個關(guān)鍵的技術(shù)層面。在感知層面,單一傳感器采集外界信息,各有優(yōu)劣,比如攝像頭采集信息分辨率高,但是受外界條件影響較大,一般缺少深度信息;激光雷達(dá)有一個較大的感知范圍和精度,但是分辨率上不如相機。因此,市面上普遍采用多傳感器的方案進(jìn)行車輛感知。而做傳感器融合時,需要先進(jìn)行運動補償、時間同步和傳感器標(biāo)定。
要實現(xiàn)多傳感器的時間同步,首先,我們需要選擇一個統(tǒng)一的時鐘源,為整個系統(tǒng)提供時間基準(zhǔn),通過"PPS+GPRMC"形式完成主設(shè)備授時。此外,在系統(tǒng)中包含多個不同類型的傳感器,一般采用基于以太網(wǎng)的時間同步協(xié)議,實現(xiàn)主設(shè)備與傳感器的高精度時間同步。這一整體流程確保了多傳感器數(shù)據(jù)能在統(tǒng)一時間框架內(nèi)準(zhǔn)確分析處理。
一、時間源
1、GNSS
在自動駕駛系統(tǒng)時間同步中,多數(shù)情況下會配備高精度GNSS車載接收機,如圖1所示。GNSS接收機會解算導(dǎo)航衛(wèi)星信號從而實現(xiàn)定位和授時功能。具體來說,解算獲得導(dǎo)航衛(wèi)星中高精度原子時鐘與本系統(tǒng)時間的鐘差,從而校準(zhǔn)系統(tǒng)時間,完成GNSS的授時功能。
圖1:GNSS接收機
二、PPS+GPRMC
隨后,GNSS接收機會發(fā)送PPS脈沖+GPRMC報文,信號如圖2所示。
圖2:PPS與GPRMC
1、PPS
PPS(Pulse Per Second,秒脈沖):基于 UTC(協(xié)調(diào)世界時)產(chǎn)生時間周期為1s的同步脈沖信號,脈沖寬度通常在5ms-100ms之間。
2、GPRMC
GPRMC(Global Positioning System Recommended Minimum data,全球定位系統(tǒng)推薦最小數(shù)據(jù)集):是NMEA 0183報文之一,包含經(jīng)緯度、日期(年、月、日)和UTC時間(精確到秒)等信息,通過標(biāo)準(zhǔn)串口進(jìn)行輸出。
3、時間同步管理
通過PPS+GPRMC進(jìn)行時間同步原理如下:
當(dāng)設(shè)備(比如域控制器、工控機)接收到PPS秒脈沖后,會將內(nèi)部以晶振為時鐘源的系統(tǒng)時間進(jìn)行清零(毫秒及以下部分),并由此開始計算毫秒時間。
設(shè)備收到GPRMC數(shù)據(jù)后,提取報文中的UTC時間(時、分、秒、年、月、日)。
收到秒脈沖到解析出GPRMC中UTC時間所用時間為tx,tx時間與UTC整秒時間相加同步給設(shè)備系統(tǒng),進(jìn)而完成一次時間同步。
每秒鐘會精確校準(zhǔn)一次系統(tǒng)時間,以確保時間的準(zhǔn)確性。
4、可操作性
在智能駕駛的方案中,一般都采用多傳感器進(jìn)行數(shù)據(jù)采集和存儲。此時如果我們在域控制器與各類傳感器之前都采用"PPS+GPRMC",用兩根線來連接這兩個物理接口,技術(shù)上是可行的,但是實際上十分難以操作。
PPS是低功率脈沖電平信號,一次性帶十幾個設(shè)備是十分困難的,并且容易出現(xiàn)信號干擾。
GPRMC通過RS232串口發(fā)送同步報文,RS232是一種1對1的全雙工通信形式,也可以通過主從形式實現(xiàn)1對幾數(shù)據(jù)傳輸,但對十幾,非常少見。
因此,基于單純的PPS和GPRMC實現(xiàn)整個自動駕駛系統(tǒng)的時間同步,具有理論可行性,但并不具有實際可操作性。
三、高精度時間同步協(xié)議
1、PTP
PTP(Precision Time Protocol,精確時間協(xié)議)是一種IEEE 1588標(biāo)準(zhǔn)定義,用于在以太網(wǎng)中實現(xiàn)高精度的時間同步網(wǎng)絡(luò)協(xié)議。它能夠為網(wǎng)絡(luò)中的所有設(shè)備提供一個統(tǒng)一的時間參考,從而確保數(shù)據(jù)的時效性和一致性。采用硬件時間戳,可以大幅減少軟件處理時間,同步精度可以達(dá)到亞微秒級。此外,PTP可以運行在L2層(MAC層)和L4層(UDP層),在L2層網(wǎng)絡(luò)運行時,可以在MAC層中直接進(jìn)行報文解析,避免在UDP層處理,減少協(xié)議棧中駐留時間,進(jìn)一步提高時間同步精度,十分適用于自動駕駛系統(tǒng)。
PTP網(wǎng)絡(luò)由一個主時鐘(Master Clock)和多個從時鐘(Slave Clock)組成,。主時鐘通常連接到一個高精度的時間源,如GPS,而從時鐘則分布在網(wǎng)絡(luò)中的各個設(shè)備上,如各類傳感器。同時定義了三種時鐘節(jié)點,包括普通時鐘,邊界時鐘和透明時鐘。
普通時鐘(Ordinary Clock, OC):基本的從時鐘,只有一個PTP通信端口,只同步時間。
邊界時鐘(Boundary Clock, BC):有多個PTP通信端口的時鐘,可以接收一個時間信號并轉(zhuǎn)發(fā)到另一個網(wǎng)絡(luò)段,如交換機或路由器。
透明時鐘(Transparent Clock, TC):通過它的報文不需要進(jìn)行任何處理,直接轉(zhuǎn)發(fā)。
2、時間同步過程
PTP通過在主從設(shè)備之間交互同步報文,并記錄下報文發(fā)送時間,從而計算網(wǎng)絡(luò)傳輸延遲和主從設(shè)備間時鐘的偏差。同步報文包括:Sync、Follow_Up、Delay_Req和Delay_Resp,時間同步過程如下,如圖3所示:
圖3:PTP時間同步過程
主時鐘周期性的發(fā)送 Sync 報文 (預(yù)計時間) → 從時鐘接收 Sync 報文 (時間 t2);
主時鐘發(fā)送 Follow_Up 報文 (實際發(fā)送時間 t1) → 從時鐘接收 Follow_Up 報文;
從時鐘發(fā)送 Delay_Req 報文 (發(fā)送時間 t3) → 主時鐘接收 Delay_Req 報文 (接收時間 t4);
主時鐘發(fā)送 Delay_Resp 報文 (包含時間 t4) → 從時鐘接收 Delay_Resp 報文;
從時鐘根據(jù)網(wǎng)絡(luò)往返延時和時鐘偏差的測量結(jié)果,調(diào)整其本地時鐘。
值得注意的是,t1和t4時間由主時鐘記錄,t2和t3時間由從時鐘記錄。這樣我們就可以計算網(wǎng)絡(luò)延時和時間偏差。其中,網(wǎng)絡(luò)延時是Sync報文和Delay_Resp報文在網(wǎng)絡(luò)中往返傳輸?shù)臅r間,D=[(t2-t1)+(t4-t3)]/2。時間偏差是從時鐘與主時鐘之間的時間差,Δ=(t2?t1)?D。
具體來說,從設(shè)備會根據(jù)網(wǎng)絡(luò)延遲調(diào)整其接收到的同步報文的時間戳,以消除網(wǎng)絡(luò)傳輸帶來的延遲影響。同時,從設(shè)備還會根據(jù)時鐘偏差的測量結(jié)果,調(diào)整其本地時鐘的頻率或相位,使其與主設(shè)備的時鐘保持一致。
3、gPTP
此外,除了PTP時間同步協(xié)議,我們也會在自動駕駛領(lǐng)域時??匆奼PTP(Generalized Precision Time Protocol)協(xié)議。gPTP和PTP都是基于IEEE標(biāo)準(zhǔn)的時間同步協(xié)議,其中PTP遵循IEEE 1588標(biāo)準(zhǔn),而gPTP是IEEE 802.1AS標(biāo)準(zhǔn)。
PTP最初設(shè)計用于以太網(wǎng),主要關(guān)注局域網(wǎng)(LAN)內(nèi)的時間同步。而gPTP設(shè)計用于更廣泛的網(wǎng)絡(luò)環(huán)境,包括局域網(wǎng)和廣域網(wǎng)(WAN),以及跨越不同網(wǎng)絡(luò)技術(shù)的場景。gPTP在PTP的基礎(chǔ)上增加了一些額外的功能和機制,以支持更廣泛的網(wǎng)絡(luò)環(huán)境和應(yīng)用場景,比如邊界時鐘(Boundary Clock)的概念,用于處理網(wǎng)絡(luò)中的復(fù)雜路徑。但它們的最終目的都是為網(wǎng)絡(luò)中的設(shè)備提供高精度的時間同步。
四、時間同步方案
1、康謀數(shù)據(jù)采集方案
針對智駕域控制器測試和數(shù)據(jù)采集,我們康謀帶來了一整套的數(shù)據(jù)采集方案。基于BRICK/ATX4系列工控機和時間同步XTSS軟件,如圖4所示。
圖4:BRICK/AXT4工控機與XTSS軟件
在時間同步方面,GNSS作為上佳的時鐘源,又可與智駕域控制器直接連接(或內(nèi)置)。因此,可以采用智駕域控制器成為主時鐘節(jié)點。方案架構(gòu)如圖5所示,配置BRICK/ATX4設(shè)備處于邊界時鐘節(jié)點,其他各類傳感器通過車載以太網(wǎng)(PTP/gPTP)連接進(jìn)行時間同步,對于相機,我們可以采用外觸發(fā)方式在主控中記錄此時系統(tǒng)時間或者通過轉(zhuǎn)換器進(jìn)行打時間戳進(jìn)行記錄。
圖5:數(shù)采方案時間同步架構(gòu)
總的來說,在BRICK/ATX4系列工控機中,集成了GNSS接收機,可以簡便快捷的采集GPS信號,進(jìn)行授時,獲取精確的時間信息。配備了多個以太網(wǎng)接口,支持時間同步(PTP/gPTP)配置,與各類轉(zhuǎn)換器一起,采集各種傳感器的數(shù)據(jù),滿足自動駕駛各類場景下的數(shù)據(jù)采集任務(wù)。
通過XTSS軟件可以進(jìn)行靈活的時間同步配置,包括gPTP和PTP(UDP – P2P, UDP – E2E, 1588 Ethernet – E2E)。因此,通過XTSS軟件可以在BRICK/AXT4工控機上(支持硬件時間戳的以太網(wǎng)接口)捕獲精確的硬件時間戳。
五、應(yīng)用案例
1、數(shù)采系統(tǒng)
通過BRICK/ATX4系列工控機和XTSS軟件,我們可以方便快捷的搭載數(shù)采系統(tǒng)并配置時間同步服務(wù)。此次,我們聯(lián)合友思特,搭載了以Blickfeld LiDAR+BRICK plus+XTSS軟件的數(shù)采采集系統(tǒng),如圖6所示。
圖6:數(shù)采系統(tǒng)
在搭載好整個系統(tǒng)后,就可以對XTSS軟件配置PTP時間同步服務(wù),以確保BRICKplus端口支持PTP同步,隨后在LiDAR的GUI界面中配置同樣的PTP,我們就可以完成激光雷達(dá)的時間同步配置。如圖7所示,我們可以看到激光雷達(dá)時間同步配置服務(wù)成功,與主時鐘的誤差在us級別。
圖7:時間同步配置