下一代自動(dòng)駕駛系統(tǒng)超全的系統(tǒng)時(shí)間同步方案設(shè)計(jì)
下一代自動(dòng)駕駛系統(tǒng)需要采用多激光雷達(dá)、多毫米波雷達(dá)、多攝像頭等各類傳感器,傳感器從采集數(shù)據(jù)到處理到發(fā)送到域控制器內(nèi)部,存在延時(shí),且延時(shí)的時(shí)長(zhǎng)不穩(wěn)定。為了提高自動(dòng)駕駛的傳感器融合、決策規(guī)劃和融合定位等性能,自動(dòng)駕駛高級(jí)域控制器HPC與其關(guān)聯(lián)的傳感器均需要做時(shí)間同步,實(shí)際過程就是需要定義清楚傳感器輸入數(shù)據(jù)的時(shí)間戳信息(包括打時(shí)間戳的時(shí)刻及精度要求),同時(shí)也需要定義整體時(shí)間同步方案和同步精度要求。
概述
要講清楚時(shí)鐘同步原理需要首先解釋清楚兩種時(shí)鐘同步類型:數(shù)據(jù)時(shí)鐘和管理時(shí)鐘。首先,整體上是組合慣導(dǎo)提供的UTC時(shí)間通過PPS+GPRMC給時(shí)間同步服務(wù)器授時(shí)。該時(shí)間同步服務(wù)器將相應(yīng)的時(shí)間信息通過PTP協(xié)議和中央網(wǎng)關(guān),給各類傳感器數(shù)據(jù)采集主機(jī)授時(shí)。HPC則需要實(shí)現(xiàn)好內(nèi)部SOC和MCU之間的時(shí)間同步過程。
HPC的SOC和MCU之間的數(shù)據(jù)面時(shí)間通過gPTP協(xié)議時(shí)間同步,其中SOC為主master;HPC的SOC和MCU之間的管理面時(shí)間通過HPC私有協(xié)議進(jìn)行同步,SOC為主Master,通過以太鏈路進(jìn)行同步。
SOC和MCU同步過程中,管理時(shí)鐘和數(shù)據(jù)時(shí)鐘都會(huì)做同步,數(shù)據(jù)面用gPTP協(xié)議,在其時(shí)間同步精度要求250微妙內(nèi),管理時(shí)鐘用私有協(xié)議,也通過以太網(wǎng),精度是10ms。其內(nèi)部的管理時(shí)間和數(shù)據(jù)面時(shí)間就需要對(duì)齊,HPC要保證數(shù)據(jù)時(shí)鐘的連續(xù)性,不允許有異常跳變。因?yàn)楫惓L儠?huì)引起很嚴(yán)重的數(shù)據(jù)誤傳和誤解析。
每次域控制器冷啟動(dòng)時(shí),域控制器會(huì)嘗試與提供主時(shí)鐘的節(jié)點(diǎn)持續(xù)進(jìn)行一定時(shí)間(該時(shí)間可以根據(jù)實(shí)際情況按需標(biāo)定)的通信以進(jìn)行初始同步。如果同步成功,則數(shù)據(jù)時(shí)鐘會(huì)采用當(dāng)前管理時(shí)間,以同步獲取到的絕對(duì)時(shí)間;對(duì)應(yīng)的驅(qū)動(dòng)程序可以隨其啟動(dòng),并調(diào)用對(duì)應(yīng)的應(yīng)用軟件進(jìn)行運(yùn)算。如果同步不成功 ,域控制器會(huì)一直嘗試同步。
HPC與VDC的同步過程
整個(gè)同步分類主要包括中央域控制器與網(wǎng)關(guān)、各類傳感器及執(zhí)行器之間的同步。HPC的絕對(duì)時(shí)間通常通過中央網(wǎng)關(guān)CGW作為整車所有控制器提供統(tǒng)一時(shí)間源,將整體的同步時(shí)間戳輸出給所有關(guān)聯(lián)的控制器端(如車身域控制器PDC、整車域控制器VDC、座艙域控制器CSC等)。在下一代自動(dòng)駕駛系統(tǒng)架構(gòu)中,整車域控制器VDC不僅承擔(dān)著控制整車執(zhí)行器端運(yùn)行的功能,還同時(shí)兼任著中央網(wǎng)關(guān)CGW的功能,承載著HPC與其他域控制器信息交互和協(xié)議轉(zhuǎn)化的功能。
如下圖表示了自動(dòng)駕駛控制器HPC與其關(guān)聯(lián)域控制器的連接關(guān)系。
前述講到VDC可作為中央網(wǎng)關(guān)功能,因此以HPC為中心的控制器間同步過程著重在于HPC與VDC之間的同步過程。通過VDC的信息中轉(zhuǎn)可以實(shí)現(xiàn)各域控制器之間的同步及通信功能。各控制器主要通過以太網(wǎng)直連,采用基于以太網(wǎng)gPTP協(xié)議。HPC與VDC的同步過程需要考慮與HPC直連的GNSS輸入絕對(duì)時(shí)間為主時(shí)鐘,該時(shí)間誤差比較小(通常在10ms內(nèi))??紤]智駕大數(shù)據(jù)云端分析精度,及 gPTP協(xié)議精度通常要求在250微妙內(nèi),HPC和VDC定周期可采用其整數(shù)倍精度(如125毫秒)做同步。
HPC局部網(wǎng)絡(luò)節(jié)點(diǎn)的同步過程
HPC局部網(wǎng)絡(luò)節(jié)點(diǎn)同步過程是指其與傳感器之間的同步過程。在自動(dòng)駕駛私有內(nèi)部網(wǎng)絡(luò)均以域控制器為主節(jié)點(diǎn)Master,采用其相應(yīng)的數(shù)據(jù)端時(shí)間做時(shí)間源。HPC通過局部?jī)?nèi)網(wǎng)單獨(dú)給傳感器(激光雷達(dá)、毫米波雷達(dá)、行車攝像頭、環(huán)視攝像頭和組合慣導(dǎo)等)提供統(tǒng)一時(shí)間源。過程中,分別通過以太網(wǎng)連接激光雷達(dá)、組合慣導(dǎo)(預(yù)留1PPS),同時(shí)通過CANFD/以太網(wǎng)連接毫米波雷達(dá)、超聲波盒子PDC,通過GSML/LVDS連接攝像頭(包含行車/環(huán)視攝像頭)。該類不同的網(wǎng)絡(luò)連接形式均作為從節(jié)點(diǎn)與網(wǎng)關(guān)做時(shí)間同步。
其中主要包含三大傳感器如下:
- 視覺傳感器:以行車控制和泊車控制的攝像頭進(jìn)行區(qū)分。
行車攝像頭主要包括前視攝像頭、側(cè)視攝像頭、后視攝像頭為代表,泊車攝像頭主要指環(huán)視攝像頭;采用集中式方案后的攝像頭通常不再是一體機(jī),而是簡(jiǎn)單的傳感器而已,輸入的是原始圖像。
HPC和攝像頭通過視頻數(shù)據(jù)線纜如GSML或LVDS進(jìn)行數(shù)據(jù)傳輸,HPC利用其數(shù)據(jù)時(shí)鐘(即系統(tǒng)時(shí)間,非絕對(duì)時(shí)間)作為時(shí)間源,定時(shí)發(fā)送觸發(fā)信號(hào)Trigger Signal給攝像頭,攝像頭基于實(shí)時(shí)觸發(fā)信號(hào)調(diào)整曝光時(shí)刻。由于單相機(jī)內(nèi)無(wú)法直接記錄對(duì)應(yīng)的時(shí)間戳,因此使用多相機(jī)同步觸發(fā)的方式進(jìn)行同步,并以記錄域控內(nèi)的觸發(fā)信號(hào)的時(shí)刻作為圖像的初始時(shí)間戳。
攝像頭其成像中間(如下計(jì)算方式)時(shí)刻打時(shí)間戳,且時(shí)間精度要求在10ms內(nèi)。Tmidtime成像中間=Ttrigger(觸發(fā)時(shí)刻)+1/2*Texposure(曝光時(shí)間);如上公式中曝光時(shí)間是固定的。
由于觸發(fā)時(shí)刻位于整幀圖像的曝光末尾,為了提高時(shí)間戳的精度,需要對(duì)曝光時(shí)長(zhǎng)進(jìn)行補(bǔ)償以獲取中間行曝光結(jié)束點(diǎn)時(shí)刻,來(lái)代表整幀圖像的曝光中間時(shí)刻;通常采用如下公式進(jìn)行時(shí)間補(bǔ)償。
Tcompensate(補(bǔ)償時(shí)間)=每行長(zhǎng)度×總行數(shù)/2
域控制器記錄時(shí)刻包括如下5個(gè)時(shí)刻:攝像頭成像中間時(shí)刻、圖像進(jìn)感知模塊的時(shí)刻、圖像感知結(jié)果進(jìn)融合模塊的時(shí)刻、感知融合結(jié)果發(fā)送時(shí)間、下游模塊接收時(shí)刻。
- 激光雷達(dá):當(dāng)前主要利用的是半固態(tài)激光雷達(dá)。
HPC和激光雷達(dá)通常也是基于以太網(wǎng)gPTP協(xié)議結(jié)合千兆以太網(wǎng)直連,HPC為主節(jié)點(diǎn)Master,激光雷達(dá)為從節(jié)點(diǎn)Slave。HPC同步時(shí)間源采用的是絕對(duì)時(shí)間(即系統(tǒng)時(shí)間)作為數(shù)據(jù)時(shí)鐘,時(shí)間同步精度要求仍舊是250微妙內(nèi)。HPC和激光雷達(dá)采用同步時(shí)間精度的整數(shù)倍周期(比如可以是125毫秒、也可以是250ms)做同步,激光雷達(dá)需要按照該同步過程實(shí)時(shí)更新時(shí)間。此外,激光雷達(dá)需要在發(fā)出每幀點(diǎn)云中每個(gè)點(diǎn)的時(shí)間作為傳感器打時(shí)間戳的時(shí)刻要求(精度要求為1ms內(nèi))。
同樣,域控制器需要基于激光雷達(dá)返回時(shí)間記錄激光點(diǎn)云發(fā)送點(diǎn)時(shí)刻(即激光雷達(dá)在接收到反射信號(hào)時(shí)可以記錄到每個(gè)點(diǎn)的時(shí)刻);輸入域控制器時(shí)間戳(通常此時(shí)激光雷達(dá)已帶有相應(yīng)的時(shí)間信息,HPC則不用再打時(shí)間戳);激光感知模塊時(shí)間戳(一般則由激光雷達(dá)供應(yīng)商進(jìn)行原始點(diǎn)云信息處理,如果是集中式方案則由HPC中的SOC負(fù)責(zé)進(jìn)行前端點(diǎn)云感知,并由專有的SOC進(jìn)行感知后端融合);感知結(jié)果帶上時(shí)間戳發(fā)送給下游模塊接收;且此時(shí)需要打上最后一個(gè)時(shí)間戳。域控制器的數(shù)據(jù)時(shí)鐘針對(duì)激光點(diǎn)云感知而言主要用于感知算法設(shè)計(jì)(這類算法可以是車端,也可以是云端),而絕對(duì)時(shí)間主要涉及本地時(shí)間,主要用于數(shù)據(jù)記錄和存儲(chǔ)業(yè)務(wù)。
- 毫米波雷達(dá):主要指前毫米波雷達(dá)、角毫米波雷達(dá)。
通常前毫米波雷達(dá)單獨(dú)對(duì)信息進(jìn)行同步,而角毫米波雷達(dá)群本身會(huì)存在一個(gè)主雷達(dá)對(duì)其所有的信息進(jìn)行進(jìn)一步過程同步。通常以上一代自動(dòng)駕駛來(lái)說,毫米波雷達(dá)輸入數(shù)據(jù)通常采用的是目標(biāo)級(jí)數(shù)據(jù),而下一代域控制器采用集中式方案后,對(duì)于將3D毫米波雷達(dá)更新?lián)Q代為4D毫米波雷達(dá),即直接處理毫米波雷達(dá)點(diǎn)云的呼聲越來(lái)越高。這個(gè)過程中,毫米波雷達(dá)不再具備計(jì)算單元,而是簡(jiǎn)單輸入點(diǎn)云數(shù)據(jù)。但由于毫米波雷達(dá)的微波信號(hào)處理仍舊存在較高的難度,對(duì)于下一代自動(dòng)駕駛系統(tǒng)來(lái)說,很多OEM仍舊采用目標(biāo)級(jí)數(shù)據(jù)進(jìn)行直連,時(shí)間同步精度通常要求叫激光雷達(dá)更加寬泛些,通常為1ms以內(nèi)。點(diǎn)云毫米波雷達(dá)發(fā)出和收到回波的中間時(shí)刻作為標(biāo)記打上時(shí)間戳,要求精度1ms內(nèi)。
同時(shí),HPC和毫米波雷達(dá)通過設(shè)定1-2秒的周期間隔進(jìn)行同步,該時(shí)間段內(nèi)毫米波雷達(dá)實(shí)時(shí)更新對(duì)應(yīng)的時(shí)間。同樣的,域控制器基于毫米波雷達(dá)返回時(shí)間支持記錄包含以下五個(gè)時(shí)刻的時(shí)間戳:
回波反射點(diǎn)生成時(shí)間戳、回波輸入至域控制器時(shí)間戳(當(dāng)然對(duì)于目標(biāo)級(jí)數(shù)據(jù)記錄,其毫米波雷達(dá)已帶時(shí)間戳信息,華為不再打時(shí)間戳);毫米波雷達(dá)輸出的目標(biāo)物信息是由原始反射點(diǎn)聚類過濾得到,為了獲取更加精準(zhǔn)的時(shí)間戳,通常需要獲得原始反射點(diǎn)生成時(shí)刻的時(shí)間戳,如下圖紅色部分。
感知結(jié)果發(fā)送專門SOC/MCU并與其他傳感器做大融合時(shí)間戳。同樣的,域控制器的數(shù)據(jù)時(shí)間(或本地時(shí)間)用于算法設(shè)計(jì)運(yùn)行,而絕對(duì)時(shí)間用于數(shù)據(jù)記錄和存儲(chǔ)業(yè)務(wù)。
HPC需要對(duì)智能camera和radar的報(bào)文需額外打上對(duì)應(yīng)報(bào)文進(jìn)入時(shí)刻的時(shí)間戳,對(duì)數(shù)據(jù)進(jìn)感知模塊時(shí)刻打時(shí)間戳,作為備份使用與毫米波雷達(dá)確認(rèn),尤其角雷達(dá),通過時(shí)間同步信息才能確定角雷達(dá)是否可發(fā)出目標(biāo)。
- 組合慣導(dǎo)/獨(dú)立慣導(dǎo)系統(tǒng)
下一代自動(dòng)駕駛系統(tǒng)中,不同的OEM對(duì)于慣導(dǎo)使用的類型有所不同,通常根據(jù)其自研能力分為組合慣導(dǎo)和獨(dú)立慣導(dǎo)兩種類型。由于組合慣導(dǎo)內(nèi)置衛(wèi)慣組合算法,根據(jù)實(shí)際應(yīng)用情況,這里我們只針對(duì)較為簡(jiǎn)單的組合慣導(dǎo)的直連進(jìn)行說明。HPC作為主節(jié)點(diǎn)Master而組合慣導(dǎo)為從節(jié)點(diǎn),通過100兆以太網(wǎng)與組合慣導(dǎo)直連。其中,以太網(wǎng)仍舊是基于gPTP協(xié)議進(jìn)行的。HPC同步時(shí)間源仍舊采用數(shù)據(jù)時(shí)鐘(即系統(tǒng)時(shí)間,非絕對(duì)時(shí)間)進(jìn)行同步。要求時(shí)間同步精度要求:250微妙內(nèi),同步周期為同步精度要求的整數(shù)倍時(shí)間間隔(如1毫秒或125毫秒)。其間,組合慣導(dǎo)根據(jù)RTK和IMU信息基于最近一次IMU采樣,打時(shí)間戳。其精度限制在1ms內(nèi)。
此外,IMU的采樣時(shí)刻、進(jìn)入HPC時(shí)刻、進(jìn)入后端融合模塊這三個(gè)時(shí)刻均會(huì)被打上時(shí)間戳。
HPC外部網(wǎng)絡(luò)節(jié)點(diǎn)的時(shí)間同步過程
除開內(nèi)部網(wǎng)路節(jié)點(diǎn)時(shí)間同步外,對(duì)于下一代自動(dòng)駕駛系統(tǒng)來(lái)說,其與相關(guān)聯(lián)的執(zhí)行器之間(如集成制動(dòng)控制系統(tǒng)EPBi、電子轉(zhuǎn)向系統(tǒng)EPS、動(dòng)力控制系統(tǒng)VCU)均存在大量外部信息交互。參考階段性集中控制方式,這類整車控制端口通常通過整車控制器VDC進(jìn)行連接和同步控制。如前述,VDC實(shí)際亦可看成中央網(wǎng)關(guān),除開對(duì)各類域控制器的信息轉(zhuǎn)發(fā)外,其還承擔(dān)著整個(gè)同步時(shí)間戳的定義和發(fā)送。因?yàn)閷?duì)于整車系統(tǒng),整個(gè)絕對(duì)時(shí)間是自動(dòng)駕駛系統(tǒng)的域控制器HPC連接的GNSS/GPS所獲得的。
關(guān)聯(lián)系統(tǒng)通常是通過整車域控端口(VDC)進(jìn)行單獨(dú)的時(shí)間同步控制,因此HPC和ESP、EPS、VCU之間通常是不存在直接的主從節(jié)點(diǎn)這類型的時(shí)間同步關(guān)系,而是在執(zhí)行指令過程中直接將各自時(shí)間戳發(fā)送給VDC控制器,在執(zhí)行過程中進(jìn)行時(shí)間對(duì)齊即可。
HPC安全冗余控制過程中的時(shí)間同步過程
對(duì)于整個(gè)自動(dòng)駕駛系統(tǒng)來(lái)說,在時(shí)間同步過程中仍舊需要考慮相應(yīng)的失效控制邏輯??紤]到其內(nèi)所包含的AI芯片SOC和邏輯芯片MCU所承載的不同的功能。通常在兩者出現(xiàn)故障的不同時(shí)刻會(huì)存在一定程度的功能降級(jí)。這類功能降級(jí)我們稱之為局部功能降級(jí)。局部功能降級(jí)期間,若部分SOC失效時(shí),MCU通過晶振維護(hù)時(shí)間和傳感器做同步。期間,仍可接收Radar及其余SOC傳遞過來(lái)的攝像頭目標(biāo)數(shù)據(jù)信息,并保持輸出時(shí)間戳的穩(wěn)定。因此,可以說局部功能降級(jí)后系統(tǒng)在短時(shí)間內(nèi)仍舊使用原時(shí)間戳做應(yīng)對(duì),MCU仍可保持原時(shí)間數(shù)據(jù)穩(wěn)定(其時(shí)間同步過程可參照MCU中的管里面時(shí)鐘進(jìn)行),支持功能的運(yùn)行。因?yàn)槎虝r(shí)間內(nèi)誤差很小,所以該時(shí)間內(nèi)不做時(shí)間同步風(fēng)險(xiǎn)也很小。
當(dāng)然,如果整個(gè)HPC失效,則需要另外一個(gè)備份控制器(可以是另外一個(gè)低配版本的HPC,也可以是額外增加的智能攝像頭Smart Camera)進(jìn)行安全控制。此過程中,則需要重新建立該備份控制器與對(duì)應(yīng)傳感器之間的時(shí)間同步關(guān)系。
另外一種失效模式為供電失效引起的功能降級(jí)。這里需要說明,域控制器存在兩種睡眠模式:深度睡眠和淺度睡眠。該睡眠模式主要與是否掐斷整體供電有關(guān)。如果控制器處于深睡眠,則數(shù)據(jù)時(shí)鐘直接使用上一次下電時(shí)存儲(chǔ)的管理時(shí)鐘,不再進(jìn)行重新計(jì)時(shí)。如果控制器處于淺睡眠,則直接利用本次下電的管理時(shí)鐘進(jìn)行計(jì)時(shí)。相對(duì)于深度睡眠來(lái)說,淺睡眠同步的時(shí)鐘結(jié)果更加準(zhǔn)確。當(dāng)然無(wú)論睡眠深淺,該時(shí)間段內(nèi)控制器時(shí)鐘始終是無(wú)效的,且各軟件均無(wú)法正常運(yùn)行。當(dāng)然,由于整個(gè)淺睡眠轉(zhuǎn)化到深睡眠的時(shí)間是可以自定義的(如12小時(shí))。
總結(jié)
本文詳細(xì)的講解了下一代自動(dòng)駕駛系統(tǒng)的各個(gè)控制單元的時(shí)間同步原理,并對(duì)同步過程中的各個(gè)模塊提出了精度要求,涉及局部網(wǎng)絡(luò)節(jié)點(diǎn)同步、全局網(wǎng)絡(luò)節(jié)點(diǎn)同步。其中,局部網(wǎng)絡(luò)節(jié)點(diǎn)同步主要是針對(duì)自動(dòng)駕駛系統(tǒng)內(nèi)部的傳感器與域控之間的同步關(guān)系。全局網(wǎng)絡(luò)節(jié)點(diǎn)同步主要是針對(duì)自動(dòng)駕駛系統(tǒng)與外部關(guān)聯(lián)系統(tǒng)(如控制制動(dòng)、轉(zhuǎn)向、動(dòng)力、車門、車燈、網(wǎng)關(guān)等)進(jìn)行的時(shí)間同步關(guān)系。
對(duì)于整體計(jì)算精度而言,局部網(wǎng)絡(luò)節(jié)點(diǎn)同步是至關(guān)重要的,因?yàn)樯婕暗膫鞲衅鲉卧容^多,需要各自針對(duì)自身實(shí)際情況打上對(duì)應(yīng)的時(shí)間戳,并最終由域控進(jìn)行總同步。全局網(wǎng)絡(luò)節(jié)點(diǎn)同步則實(shí)際參照各分域控與HPC之間的信息交互簡(jiǎn)單的進(jìn)行時(shí)間信息交換即可。這里需要注意的是,整體系統(tǒng)的絕對(duì)時(shí)間均來(lái)自于GNSS系統(tǒng),通??捎蒆PC或CSC進(jìn)行連接輸入。