隨著自動(dòng)駕駛技術(shù)的發(fā)展,車輛的智能化程度不斷提高,這體現(xiàn)了車輛感知,決策以及執(zhí)行的能力。在算法開(kāi)發(fā)和迭代過(guò)程中,提高測(cè)試和開(kāi)發(fā)效率,關(guān)鍵在于多傳感器數(shù)據(jù)的高質(zhì)量采集,確保數(shù)據(jù)的同步性、完整性和一致性。
為了應(yīng)對(duì)這一挑戰(zhàn),必須采取有效的數(shù)據(jù)整合策略。這包括開(kāi)發(fā)處理不同數(shù)據(jù)速率和格式的組件,以及設(shè)計(jì)數(shù)據(jù)在時(shí)間上精確對(duì)齊的同步機(jī)制。進(jìn)而創(chuàng)建一個(gè)統(tǒng)一的數(shù)據(jù)流形式,實(shí)時(shí)檢測(cè)傳感器的觀測(cè)結(jié)果并進(jìn)行落盤存儲(chǔ)。
為了解決上述問(wèn)題,ADTF提供了一個(gè)強(qiáng)大的Streaming Service,它專門針對(duì)自動(dòng)駕駛多傳感器數(shù)據(jù)采集的需求設(shè)計(jì)。ADTF Streaming Service以其高效的數(shù)據(jù)處理能力、靈活的架構(gòu)設(shè)計(jì)和強(qiáng)大的同步機(jī)制,為自動(dòng)駕駛數(shù)采系統(tǒng)提供了一個(gè)高質(zhì)量的解決方案。
一、ADTF 流服務(wù)
在ADTF中,流服務(wù)(Streaming Services)扮演著至關(guān)重要的角色,它們定義了系統(tǒng)的入口點(diǎn)(Streaming Source)和出口點(diǎn)(Streaming Sink)。具體來(lái)說(shuō),流服務(wù)既可以是數(shù)據(jù)管道的起點(diǎn)也可以是終點(diǎn),它們通常用于處理來(lái)自硬件的樣本數(shù)據(jù)和數(shù)據(jù)觸發(fā)器。
1、流服務(wù)源(Streaming Source)
流服務(wù)源是樣本和數(shù)據(jù)觸發(fā)器進(jìn)入系統(tǒng)的入口點(diǎn)。通常,任何設(shè)備鏈接都會(huì)作為流服務(wù)源來(lái)實(shí)現(xiàn),組件如下圖1所示:
圖1:Streaming Source組件
Streaming Source支持以下的應(yīng)用場(chǎng)景:
(1)從攝像頭讀取視頻流
(2)從CAN總線設(shè)備讀取CAN消息
(3)作為硬盤讀取器提供基于文件的仿真數(shù)據(jù)
(4)通過(guò)網(wǎng)絡(luò)或進(jìn)程間連接接收來(lái)自分布式系統(tǒng)的樣本,如ROS(機(jī)器人操作系統(tǒng))或FEP(功能工程平臺(tái))
2、流服務(wù)匯(Streaming Sink)
流服務(wù)匯是樣本和觸發(fā)器離開(kāi)系統(tǒng)的出口點(diǎn)。通常,任何設(shè)備鏈接都會(huì)作為流服務(wù)匯來(lái)實(shí)現(xiàn)。組件如下圖2所示:
圖2:Streaming Sink組件
Streaming Sink支持以下應(yīng)用場(chǎng)景:
(1)向CAN總線設(shè)備寫(xiě)入原始CAN消息
(2)向設(shè)備寫(xiě)入FlexRay周期或汽車以太網(wǎng)PDU
(3)創(chuàng)建硬盤訪問(wèn),用于基于文件的數(shù)據(jù)記錄和高性能錄制
二、數(shù)據(jù)鏈路
流服務(wù)是實(shí)現(xiàn)高效數(shù)據(jù)處理和傳輸?shù)年P(guān)鍵,通過(guò)Streaming Source和Streaming Sink,可以針對(duì)不同實(shí)際應(yīng)用需求,搭建對(duì)應(yīng)的數(shù)據(jù)鏈路,包括數(shù)據(jù)管道(Data Pipe)、子流(Substreams)以及觸發(fā)管道(Trigger Pipe)。
1、數(shù)據(jù)管道(Data Pipe)
數(shù)據(jù)管道是連接樣本寫(xiě)入器(Streaming Sink)和樣本讀取器(Streaming Source)的橋梁。在ADTF中,如圖3所示,一個(gè)常見(jiàn)的數(shù)據(jù)管道從發(fā)送過(guò)濾器的樣本寫(xiě)入器的輸出引腳(Out Pin)開(kāi)始,通過(guò)一個(gè)樣本流(Sample Stream),到達(dá)一個(gè)或多個(gè)輸入引腳(In Pins)及其對(duì)應(yīng)的樣本讀取器。
圖3:Data Pipe
?2、子流(Substreams)
子流是減少過(guò)濾器圖中引腳和連接復(fù)雜度的一種方法,如圖4所示。通過(guò)使用子流,可以簡(jiǎn)化數(shù)據(jù)流的路徑,提高系統(tǒng)的可讀性和可維護(hù)性。
圖4:子流
3、觸發(fā)管道(Trigger Pipe)
觸發(fā)管道是ADTF中基于觸發(fā)路徑的連接,通常從主動(dòng)運(yùn)行器(Active Timer Runner)開(kāi)始,如圖5所示,它觸發(fā)連接的組件,類似于過(guò)濾器的運(yùn)行器。
圖5:觸發(fā)管道
例如,在自動(dòng)駕駛數(shù)據(jù)采集中,通過(guò)設(shè)計(jì)靈活的觸發(fā)機(jī)制,數(shù)據(jù)管道可以同步來(lái)自雷達(dá)、攝像頭和激光雷達(dá)的數(shù)據(jù)流,確保它們?cè)跁r(shí)間上的對(duì)齊。
三、總結(jié)
ADTF Streaming Service在自動(dòng)駕駛數(shù)采領(lǐng)域的應(yīng)用,關(guān)鍵在于其能夠?qū)崿F(xiàn)多傳感器數(shù)據(jù)的高效同步與處理。以下是幾個(gè)關(guān)鍵應(yīng)用點(diǎn):
多傳感器數(shù)據(jù)融合:通過(guò)數(shù)據(jù)管道同步不同傳感器的數(shù)據(jù),實(shí)現(xiàn)高精度的環(huán)境感知。
實(shí)時(shí)決策支持:利用觸發(fā)管道快速響應(yīng)傳感器觸發(fā)的事件,為決策算法提供實(shí)時(shí)數(shù)據(jù)。
數(shù)據(jù)存儲(chǔ)與回放:通過(guò)Streaming Sink實(shí)現(xiàn)數(shù)據(jù)的高效存儲(chǔ),以及通過(guò)子流進(jìn)行數(shù)據(jù)回放和分析。
ADTF Streaming Service為自動(dòng)駕駛數(shù)采系統(tǒng)提供了一個(gè)強(qiáng)大的工具,它不僅能夠處理和同步多傳感器數(shù)據(jù),還能夠適應(yīng)不斷變化的開(kāi)發(fā)需求。