小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

一文了解自動(dòng)駕駛中的時(shí)間同步

 ADS智庫(kù) 2022-03-28

說(shuō)明:轉(zhuǎn)自知乎,著作權(quán)歸作者,僅供學(xué)習(xí)和交流,侵刪

往期:無(wú)人駕駛行業(yè)研究寶典

報(bào)告:下載 7.85G 自動(dòng)駕駛&智能網(wǎng)聯(lián)資料







為什么需要時(shí)間同步?

在自動(dòng)駕駛中,需要用到很多傳感器的數(shù)據(jù)(Lidar,Camera,GPS/IMU),如果計(jì)算單元接收到的各傳感器的消息時(shí)間不統(tǒng)一,則會(huì)造成例如障礙物識(shí)別不準(zhǔn)等問(wèn)題。


時(shí)間同步包含哪些內(nèi)容?

自動(dòng)駕駛中,時(shí)間同步可以分為幾部分的內(nèi)容:統(tǒng)一時(shí)鐘源,硬件同步,軟件同步。其中硬件時(shí)間同步主要針對(duì)相機(jī) 。

1.統(tǒng)一時(shí)鐘源

圖片來(lái)源: @喝苦咖啡的小阿飛

假設(shè)各傳感器都有自己的內(nèi)部時(shí)鐘,但由于每個(gè)時(shí)鐘的鐘漂不一樣,導(dǎo)致各時(shí)鐘之間存在時(shí)間差,所以需要統(tǒng)一各傳感器的時(shí)間源。

一般采用GPS時(shí)間作為統(tǒng)一時(shí)間源,通過(guò)GPS給各個(gè)傳感器提供基準(zhǔn)時(shí)間,各傳感器根據(jù)提供的基準(zhǔn)時(shí)間校準(zhǔn)各自的時(shí)鐘時(shí)間。

各傳感器根據(jù)已經(jīng)校準(zhǔn)后的各自時(shí)間為各自獨(dú)立采集的數(shù)據(jù)加上時(shí)間戳信息,來(lái)做到所有傳感器時(shí)間戳同步。

統(tǒng)一時(shí)鐘源的常見(jiàn)方式有兩種,一種是基于GPS的“PPS+NMEA”,另一種是基于以太網(wǎng)的IEEE 1588(或IEEE 802.1AS)時(shí)鐘同步協(xié)議。

a.PPS+NMEA

GPS能夠從衛(wèi)星獲得高精度的時(shí)鐘信號(hào),因此通常作為整個(gè)系統(tǒng)的時(shí)鐘源。常規(guī)的GPS單元都支持輸出精確到毫秒的秒脈沖信號(hào)PPS和包含年月日時(shí)分秒信息的NMEA指令,通過(guò)PPS和NMEA的組合就能夠?qū)崿F(xiàn)對(duì)激光雷達(dá)或主機(jī)的毫秒級(jí)時(shí)鐘同步。

PPS+NMEA的優(yōu)點(diǎn)是協(xié)議簡(jiǎn)單,容易實(shí)現(xiàn);缺點(diǎn)是必須基于RS232。多個(gè)設(shè)備之間實(shí)現(xiàn)同步比較困難。

b.PTP(IEEE 1588或IEEE 802.1AS)

PTP(Precision Time Protocol,1588 V2)是基于以太網(wǎng)的高精度時(shí)鐘同步協(xié)議,能夠?qū)崿F(xiàn)以太網(wǎng)中多個(gè)從節(jié)點(diǎn)(各種傳感器)與主節(jié)點(diǎn)(主機(jī))之間的亞微秒級(jí)時(shí)鐘同步,前提是所有節(jié)點(diǎn)之間都通過(guò)以太網(wǎng)互聯(lián),交換機(jī)支持PTP協(xié)議,并且每個(gè)節(jié)點(diǎn)都支持PTP協(xié)議。

與PTP同時(shí)出現(xiàn)的還有一種NTP,即網(wǎng)絡(luò)時(shí)間協(xié)議,不同的是PTP是在硬件級(jí)實(shí)現(xiàn)的,NTP是在應(yīng)用層級(jí)別實(shí)現(xiàn)的 。

2.硬件同步

圖片來(lái)源: @喝苦咖啡的小阿飛

由于每種傳感器的采樣頻率不一致,如lidar通常為10Hz,camera通常為25/30Hz,不同傳感器之間的數(shù)據(jù)傳輸還存在一定的延遲,那么可以通過(guò)尋找相鄰時(shí)間戳的方法找到最近鄰幀,但如果兩個(gè)時(shí)間戳相差較大,且傳感器或障礙物又在運(yùn)動(dòng),那么最終會(huì)得到較大的同步誤差。這個(gè)情況可以采用硬件同步觸發(fā)的方法來(lái)緩解查找時(shí)間戳造成的誤差現(xiàn)象。

那如何實(shí)現(xiàn)硬件同步呢?也就是在激光雷達(dá)和相機(jī)的時(shí)間源都統(tǒng)一到GPS時(shí)間后,如何保證他們同步觸發(fā)采集呢?方式是以PPS信號(hào)為觸發(fā)信號(hào),實(shí)現(xiàn)激光雷達(dá)和相機(jī)均在PPS信號(hào)上升沿的時(shí)候采集數(shù)據(jù),且打上各自時(shí)鐘的時(shí)間戳。由于PPS的頻率只有1Hz,所以通常需要一個(gè)設(shè)備把PPS信號(hào)轉(zhuǎn)發(fā)為任意頻率、但是跟PPS信號(hào)同相位的方波,這樣就可以控制相機(jī)的采集頻率了。

用外部信號(hào)觸發(fā)相機(jī)比較好理解,那如何保證激光雷達(dá)在PPS信號(hào)上升沿的時(shí)候采集數(shù)據(jù)呢?激光雷達(dá)制造商想出了一個(gè)相位鎖定功能,也就是輸入PPS,但PPS上升沿到來(lái)時(shí),激光雷達(dá)的激光束恰好旋轉(zhuǎn)到一定的角度。
于是乎,我們?cè)O(shè)置激光雷達(dá)的相位鎖定角度為相機(jī)視野中央,如果相機(jī)視野朝著車(chē)輛正前方,激光雷達(dá)的坐標(biāo)系也是朝著車(chē)輛正前方的話,相位鎖定角度應(yīng)該是0度。那么問(wèn)題就這樣解決了,每當(dāng)激光雷達(dá)的激光束旋轉(zhuǎn)到0度位置,也就是相機(jī)視野正中央,PPS上升沿剛好到來(lái),相機(jī)也因此觸發(fā),就這樣就實(shí)現(xiàn)了激光雷達(dá)和相機(jī)的同步采集
但是,由于激光雷達(dá)和相機(jī)采集數(shù)據(jù)的方式不同,我們只能近似地保證激光雷達(dá)和相機(jī)的同步采集。如下圖所示,激光雷達(dá)的激光束不斷地360度旋轉(zhuǎn),假設(shè)幀率為10Hz的話,那么一幀點(diǎn)云中采集時(shí)刻最早的一個(gè)點(diǎn)和采集時(shí)刻最晚的一個(gè)點(diǎn)時(shí)間相差100ms。而相機(jī)就不同了,相機(jī)是瞬間曝光的,因此圖像里面所有像素點(diǎn)的采集時(shí)刻都是一樣的。這就導(dǎo)致了我們只能近似地保證激光雷達(dá)和相機(jī)的同步采集。具體方法就是當(dāng)激光束旋轉(zhuǎn)到相機(jī)視野中央的時(shí)候,觸發(fā)相機(jī),這樣就保證了相機(jī)視野內(nèi)的點(diǎn)云采集時(shí)間是跟圖像采集時(shí)間是近似的。為什么說(shuō)是近似的呢?對(duì)于相機(jī)視野中央的那些點(diǎn)云,它們的采集時(shí)間是跟圖像采集時(shí)間一致的,但是對(duì)于相機(jī)視野邊緣的那些點(diǎn)云,它們的采集時(shí)間就跟圖像采集時(shí)間要有一定的時(shí)間偏差了,根據(jù)相機(jī)視野的大小和點(diǎn)云采集幀率的不同,時(shí)間偏差可能會(huì)有5ms~20ms左右。

圖片來(lái)源:CSDN打工人小謝

3.軟件同步

圖片來(lái)源:CSDN是安瀾啊

當(dāng)兩傳感器的采集時(shí)刻不一致,但又想得到同一時(shí)刻下兩傳感器的結(jié)果,就可以使用軟件同步的方式。目前常采用的軟件同步方式為內(nèi)插外推法,此方法適用于傳感器間幀率不存在倍數(shù)關(guān)系的情況,或者傳感器有幀率不穩(wěn)定的情況。主要利用兩個(gè)傳感器幀上的時(shí)間標(biāo)簽,計(jì)算出時(shí)間差,然后通過(guò)包含有運(yùn)動(dòng)信息的目標(biāo)幀與時(shí)間差結(jié)合,對(duì)幀中每一個(gè)目標(biāo)的位置進(jìn)行推算,推算出新的幀時(shí)各個(gè)目標(biāo)的位置,并于原有的兩幀之間建立新的幀。

略作補(bǔ)充的是,Apollo的每一個(gè)感知初始階段,都會(huì)采用的內(nèi)插外推這個(gè)經(jīng)典方法。

時(shí)間同步的第一步,其主要目的是,用傳感器的時(shí)間,在localization/pose中查找該時(shí)刻所對(duì)應(yīng)的位姿數(shù)據(jù),繼而通過(guò)坐標(biāo)系換算,使傳感器的局部數(shù)據(jù)能夠映射在全局坐標(biāo)系上。舉例而言,Lidar會(huì)感知到物體的位置,但這個(gè)位置僅僅是對(duì)于lidar而言的,但首先需要通過(guò)外參將其轉(zhuǎn)化為物體對(duì)于車(chē)輛的位置,這才是感知所關(guān)心的。其間就涉及到了Lidar與Localization的時(shí)間統(tǒng)一。

我們可能比較好奇的是,Lidar的時(shí)間已經(jīng)經(jīng)過(guò)pps授時(shí),那么localization的時(shí)間是從何處獲取的呢?二者又是如何進(jìn)行匹配的呢?

實(shí)際上,每次查詢(xún)定位時(shí)間時(shí),都會(huì)傳入Lidar這幀數(shù)據(jù)的采集時(shí)間,在綿綿無(wú)長(zhǎng)的Localization時(shí)間中,去尋找一個(gè)插值。而Localization的時(shí)間記錄,則是實(shí)時(shí)存在在系統(tǒng)里的,所以系統(tǒng)必須授時(shí),則localiaziton的時(shí)間戳就與lidar的時(shí)間戳保持了同步。

在此,apollo對(duì)ROS經(jīng)典的tf2:buffer類(lèi)采用了一次外包裝,以實(shí)現(xiàn)激光雷達(dá)坐標(biāo)系到定位坐標(biāo)系的轉(zhuǎn)換。從該源碼中,我們稍微窺探一下其背后的原理,便是經(jīng)典的內(nèi)插外推原理。

Localization的時(shí)間會(huì)以緩存的形式進(jìn)行存儲(chǔ),圖中的小盒子,就是我們理解的每一截緩存。在緩存的開(kāi)始時(shí)間,我們稱(chēng)之為Earlist_time,緩存的結(jié)束時(shí)間,我們稱(chēng)之為L(zhǎng)atest_time; 下一個(gè)階段的緩存,又是如此的循環(huán)往復(fù)。

如果我們傳入進(jìn)來(lái)要做查詢(xún)的時(shí)間,也就是Lidar時(shí)間,在盒子時(shí)間的左右邊界外,對(duì)于當(dāng)前盒子而言,已經(jīng)要采用外插法來(lái)做推斷。

如果我們傳入進(jìn)來(lái)做查詢(xún)的時(shí)間,對(duì)于當(dāng)前盒子而言,在盒子時(shí)間的左右邊界內(nèi),對(duì)于當(dāng)前盒子而言,我們便采用內(nèi)插法來(lái)做推斷。

使用內(nèi)插法時(shí),其原理可以用下圖概括:虛線為存儲(chǔ)的localization數(shù)據(jù)的相關(guān)時(shí)間,而t1和t2,是該時(shí)刻緩存的邊界。我們可以利用緩存邊界內(nèi)的數(shù)據(jù),抽象一個(gè)函數(shù)f(t)出來(lái),而Lidar(t0)傳入的值便可用f(t0)求解

使用外推法時(shí),其原理可以用下圖概括,盡管我們可以用t1,t2內(nèi)的時(shí)間抽象出函數(shù)f(t),假設(shè)外推的時(shí)間距離邊界較近,我們?nèi)钥梢圆捎迷撃P退蟮玫闹?,但假如時(shí)間已經(jīng)過(guò)遠(yuǎn),之前推導(dǎo)的模型就不再有效,往往會(huì)產(chǎn)生較大的誤差,Apollo在這里,也在配置中規(guī)定了外插法的最大可信任時(shí)間,如果時(shí)間超過(guò)該值,則會(huì)報(bào)錯(cuò)

各傳感器的時(shí)間戳

圖片來(lái)源:CSDN是安瀾啊

自動(dòng)駕駛常用的時(shí)間同步方案

  1. 主機(jī)通過(guò)PPS+NMEA實(shí)現(xiàn)與GPS的時(shí)鐘同步;

  2. 激光雷達(dá)若支持PTP,則主機(jī)作為PTP的master,激光雷達(dá)作為PTP的slave,以此完成對(duì)激光雷達(dá)的授時(shí)。若激光雷達(dá)不支持PTP,則通過(guò)PPS+NMEA完成對(duì)激光雷達(dá)的授時(shí);

  3. 相機(jī)可以:①若相機(jī)支持PTP協(xié)議,通過(guò)PTP確保相機(jī)的時(shí)鐘與主機(jī)同步。然后為每一幀圖像都增加一個(gè)時(shí)間戳,并確保在主機(jī)上能夠讀取到這個(gè)時(shí)間戳,這樣就可以避免編碼/解碼、以及傳輸延時(shí)引入的同步誤差。②想要更高的同步精度,需采取硬件同步觸發(fā)的方式,根據(jù)激光雷達(dá)的幀周期同步觸發(fā)相機(jī)的拍攝,實(shí)現(xiàn)雷達(dá)和相機(jī)的完全幀同步,實(shí)現(xiàn)完全的毫秒級(jí)同步。

以下是某智駕系統(tǒng)的時(shí)間同步系統(tǒng)架構(gòu)


軟件介紹

gpsd:gpsd的功能是解析NMEA信息和pps信號(hào),獲取當(dāng)前GPS時(shí)間,但是它沒(méi)有辦法給系統(tǒng)授時(shí);

chrony:chrony能夠給系統(tǒng)授時(shí),但是需要從gpsd獲取當(dāng)前GPS時(shí)間,chronyd和gpsd的通訊是通過(guò)共享內(nèi)存實(shí)現(xiàn)的,這需要對(duì)chrony做一定的配置;同類(lèi)軟件還有ntpd

ptp4l:ptp4l是PTP同步,即精確網(wǎng)絡(luò)時(shí)間同步協(xié)議的軟件,它需要從chronyd獲取系統(tǒng)當(dāng)前時(shí)間,然后發(fā)布到局域網(wǎng),給相機(jī)或其他局域網(wǎng)內(nèi)的工控機(jī)授時(shí),ptp4l與chronyd的通訊也是通過(guò)共享內(nèi)存。

統(tǒng)一時(shí)間源的操作步驟

硬件配置

通過(guò)串口將NEMA(GPRMC)和PPS信號(hào)給到工控機(jī)。其中工控機(jī)上的引腳定義如下:DB9的1號(hào)針腳:PPS信號(hào)

DB9的2號(hào)針腳:發(fā)來(lái)的NEMA(GPRMC)信號(hào)

DB9的5號(hào)針腳:接地

其中華測(cè)(組合導(dǎo)航)的A串口輸出NEMA(GPRMC)信號(hào),SMA接口輸出PPS信號(hào),需要自己做線將他們組合在一起給到工控機(jī)。

由于此次接到了工控機(jī)的COM2口,所以對(duì)應(yīng)系統(tǒng)中的 /dev/ttyS1。如果接到COM1口,則對(duì)應(yīng)的是 /dev/ttyS0。下面軟件配置中需要做相應(yīng)更改,將下面所有 ttyS1 改成 ttyS0

軟件配置

主要參考:github.com/linuxonly199

  1. 準(zhǔn)備工作

2.配置gpsd

3.配置chrony

參考文獻(xiàn)

激光雷達(dá)與相機(jī)標(biāo)定時(shí)的時(shí)間同步問(wèn)題怎么進(jìn)行解決? - 知乎

在自動(dòng)駕駛領(lǐng)域,如何實(shí)現(xiàn)激光雷達(dá)和相機(jī)的時(shí)間同步呢? - 知乎

時(shí)間同步,自動(dòng)駕駛里的花好月圓

關(guān)于GPS的1PPS時(shí)間同步功能探索與測(cè)試_學(xué)一點(diǎn)IOT-CSDN博客_1pps

激光雷達(dá)與相機(jī)時(shí)間同步問(wèn)題的低成本完整解決方案_打工人小謝的博客-CSDN博客

【多傳感器融合理論】02自動(dòng)駕駛中多傳感器同步理論_是安瀾啊-CSDN博客

激光雷達(dá)與相機(jī)標(biāo)定的時(shí)間戳同步問(wèn)題_3D視覺(jué)工坊-CSDN博客

github.com/linuxonly199

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多