NDS背景簡介
當(dāng)今時(shí)代,說起汽車,人們自然會(huì)提到智能駕駛,而說起智能駕駛,人們則自然會(huì)提到高精地圖。高精地圖是離我們這么近又那么遠(yuǎn)的一個(gè)概念。說起高精地圖,相信即使是行外人士,也不會(huì)完全不知道它是什么意思,畢竟我們手機(jī)上的地圖APP通常都不止一個(gè),大家用起來都十分利索。
實(shí)際上高精地圖的發(fā)展與智能網(wǎng)聯(lián)汽車密切相關(guān)。相對(duì)于以往的導(dǎo)航地圖,高精地圖是智能駕駛汽車規(guī)劃道路行駛路徑的重要基礎(chǔ),能為車輛提供定位、決策和交通動(dòng)態(tài)信息等依據(jù)。另一方面,高精地圖也能為智能駕駛汽車上的傳感器補(bǔ)位,增強(qiáng)超視距的感知,提高系統(tǒng)安全性。當(dāng)功能豐富、使用場景多樣的高精地圖需要落實(shí)到汽車上下游產(chǎn)業(yè)鏈,并適應(yīng)日益提速迭代的汽車及其應(yīng)用開發(fā)周期,就對(duì)制定通用的地圖標(biāo)準(zhǔn)提出了需求。而今天我們要探討的NDS就是其中最常用的導(dǎo)航地圖數(shù)據(jù)標(biāo)準(zhǔn)。
NDS的全稱是Navigation Data Standard,亦即導(dǎo)航數(shù)據(jù)標(biāo)準(zhǔn),由NDS組織制定及維護(hù)。NDS格式是高精地圖的常用格式,也是國際OEM的普遍選擇。NDS可以用于移動(dòng)應(yīng)用程序、互聯(lián)汽車云解決方案和自動(dòng)駕駛。
圖1:NDS的口號(hào) (來源:NDS組織官網(wǎng))
每每談?wù)摰綐?biāo)準(zhǔn),我們都容易想起行業(yè)圈子,因?yàn)闃?biāo)準(zhǔn)組織內(nèi)有哪些玩家往往能體現(xiàn)標(biāo)準(zhǔn)分量。而從行業(yè)背景來看,NDS是為汽車行業(yè)服務(wù)的,由汽車行業(yè)負(fù)責(zé)。具體的協(xié)會(huì)成員直接看下圖,囊括中外,我們耳熟能詳?shù)腛EM、Tier1和圖商都位列其中。
圖2:NDS協(xié)會(huì)成員
NDS.Classic和NDS.Live
這些年汽車的發(fā)展異常迅速,越來越多的車輛配備了聯(lián)網(wǎng)功能,車云協(xié)作越來越主流,與車輛地圖相關(guān)的APP應(yīng)用也是層出不窮。這就對(duì)地圖數(shù)據(jù)格式提出了新的要求。為了應(yīng)對(duì)這種趨勢,NDS自身也在蛻變和革命。在2019年NDS正式對(duì)外公布了其新一代的導(dǎo)航數(shù)據(jù)格式NDS.Live,并把之前的NDS命名為NDS.Classic以示區(qū)分。
圖3:2019年NDS在公開會(huì)議上正式提出了下一代數(shù)據(jù)格式NDS.Live
NDS.Classic
目前量產(chǎn)車上用的NDS數(shù)據(jù)格式大部分都是NDS.Classic,它已經(jīng)在30多個(gè)不同品牌的數(shù)百萬輛汽車上部署,用于導(dǎo)航、ADAS和自動(dòng)駕駛等,有著良好的記錄。它本質(zhì)上是為嵌入式設(shè)備使用而設(shè)計(jì)的。之前很長一段時(shí)間,導(dǎo)航地圖數(shù)據(jù)都是存儲(chǔ)在數(shù)據(jù)載體(DVD、USB、HDD、SD卡)上,而且對(duì)應(yīng)的數(shù)據(jù)只會(huì)在車上用。相信有資歷的車友都能想起以前手動(dòng)升級(jí)一版導(dǎo)航地圖是如何大費(fèi)周章。基于此,NDS.Classic的存儲(chǔ)格式實(shí)質(zhì)上是數(shù)據(jù)庫類型的。它作為一個(gè)嵌入式數(shù)據(jù)庫,可以漸進(jìn)式更新。當(dāng)然隨著技術(shù)發(fā)展,NDS.Classic后來也支持OTA。
舉個(gè)例子,下圖就是一個(gè)應(yīng)用NDS導(dǎo)航系統(tǒng)的系統(tǒng)示意圖。虛線左邊是NDS規(guī)范的主體內(nèi)容,通過編譯器將原始的地圖輸入生成滿足NDS規(guī)范的數(shù)據(jù)庫(一般以SQL文件格式存儲(chǔ)),然后數(shù)據(jù)庫提供操作接口給不同的業(yè)務(wù)應(yīng)用,例如地圖顯示、地位和路徑規(guī)劃等應(yīng)用。
圖4:NDS格式數(shù)據(jù)庫及其接口示意圖
NDS.Classic是一個(gè)基于瓦片(Tile-based)的組織結(jié)構(gòu),支持瓦片級(jí)的更新。瓦片可以理解為地球面上的一個(gè)四邊形。我們在手機(jī)上看地圖的時(shí)候,數(shù)據(jù)經(jīng)常是一個(gè)方塊一個(gè)方塊地加載出來,背后也是因?yàn)閿?shù)據(jù)是基于瓦片來存儲(chǔ)和傳輸?shù)?。四維圖新在《智能網(wǎng)聯(lián)汽車高精地圖白皮書》中提到,其向某OEM 最終交付 2.5.4 版本的 NDS 規(guī)格的中國全境高速和部分城市道路的高精地圖數(shù)據(jù),平均一個(gè)瓦片的數(shù)據(jù)大小大約在 60-80kb。
NDS.Live
相比之下,NDS.Live就不再是一個(gè)數(shù)據(jù)庫,而是一個(gè)分布式地圖數(shù)據(jù)系統(tǒng)。這其中包括數(shù)據(jù)服務(wù)以及應(yīng)用服務(wù),比如路徑生成、電動(dòng)車?yán)锍逃?jì)算和POI搜索等功能。這些服務(wù)的應(yīng)用接口在NDS.Live中定義,但規(guī)范中并不包括底層通訊傳輸。NDS.Live的用戶能夠自由選擇NDS數(shù)據(jù)或應(yīng)用服務(wù)的部署位置,這可以是在云端、車載娛樂控制器或者手機(jī)APP等其他任何地方。NDS.Live可以說是NDS的新一代規(guī)范,更具生命力。
NDS.Live支持多種數(shù)據(jù)傳輸協(xié)議,包括常用的從云端到車端通訊的HTTP/REST和車載通訊SOME/IP。但無論選擇哪種傳輸協(xié)議,接口層的互操作性都由NDS.Live來維護(hù),因?yàn)閿?shù)據(jù)在被傳遞到傳輸層之前是以互操作、跨平臺(tái)、跨語言的方式進(jìn)行序列化的。如下圖示例,底層采用HTTP傳輸,然后在標(biāo)準(zhǔn)的HTTP協(xié)議之上設(shè)計(jì)應(yīng)用接口作為適配參考層,同時(shí)根據(jù)NDS.Live規(guī)范可以設(shè)計(jì)統(tǒng)一的服務(wù)層,供不同的上層應(yīng)用模塊調(diào)用。如果例子中的HTTP協(xié)議換成SOME/IP協(xié)議,則只需設(shè)計(jì)對(duì)應(yīng)的參考層,可以最大限度地復(fù)用上層應(yīng)用和底層標(biāo)準(zhǔn)傳輸協(xié)議。而下圖示例中的參考層雖然不屬于NDS.Live的規(guī)范內(nèi)容,但是NDS組織也提供了針對(duì)HTTP和SOME/IP的參考層實(shí)現(xiàn)樣例。
圖5:NDS.Live與不同傳輸層接口層次示意圖
NDS.Live架構(gòu)介紹
在傳輸協(xié)議和API適配之上,則是NDS.Live規(guī)范的主體部分。如圖5所示,我們可以分兩個(gè)層次來進(jìn)一步理解:模塊(Module)和服務(wù)層(Service Layer)。
模塊(Module)
NDS.Live是一個(gè)基于模塊的分布式地圖系統(tǒng),因此規(guī)范和文檔也是按模塊安排的。模塊代表相關(guān)數(shù)據(jù)的集合,例如數(shù)據(jù)類型、定義和接口。下圖是NDS.Live所定義的模塊概覽。
圖6:NDS.Live模塊概覽
模塊分為5種類型:
-Common:通用模塊,用于可以全局復(fù)用的通用數(shù)據(jù),例如基礎(chǔ)的數(shù)據(jù)類型等。
-Feature: 特征模塊,用于定義地圖特征和幾何數(shù)據(jù)。
-Attribute: 屬性模塊,用于定義屬性,可以簡單理解為是對(duì)地圖特征的更細(xì)致描述。例如ADAS、定位等都是在屬性模塊中定義。
-Reference: 參考模塊,實(shí)際上是特征模塊和屬性模塊之間的接口。通過參考模塊引用數(shù)據(jù),可以降低模塊之間的耦合度。
-Service:服務(wù)模塊,提供數(shù)據(jù)訪問的接口。服務(wù)的終端訪問定義都在該模塊定義,例如常見的“請(qǐng)求-應(yīng)答”和“發(fā)布-訂閱”服務(wù)接口都在這類模塊中定義。
這些不同的模塊之間不同的排列組合,可以滿足不同的用例。例如在ADAS應(yīng)用場景下,基于車道的特征模塊、ADAS屬性模塊、數(shù)據(jù)類型定義的通用模塊和定義具體服務(wù)接口的服務(wù)模塊之間就可以滿足。而在不同的應(yīng)用場景和不同的模塊下,NDS.Live還抽象出了不同的數(shù)據(jù)層(Data Layer),用來定義具體的數(shù)據(jù)結(jié)構(gòu)。這背后同樣是“高內(nèi)聚、低耦合”的思想。如下圖所示,不同用例可以取5種數(shù)據(jù)層中的若干種。例如普通ISA(Intelligent Speed Assist)場景下,業(yè)務(wù)只需要道路基礎(chǔ)信息和限速信息,可以只獲取底下兩層。更復(fù)雜的功能業(yè)務(wù),則可以用更豐富的層次。當(dāng)然這只是在功能邏輯層面的區(qū)分,實(shí)際上在數(shù)據(jù)二進(jìn)制存儲(chǔ)和通訊等實(shí)現(xiàn)過程中,不同層次的數(shù)據(jù)層會(huì)打包進(jìn)一個(gè)數(shù)據(jù)容器(Data Container)中。
圖7:不同用例下數(shù)據(jù)層的復(fù)用示意圖
另外,在數(shù)據(jù)壓縮和安全方面,NDS.Live也提供了針對(duì)數(shù)據(jù)層的解決方案,有利于滿足汽車行業(yè)的功能安全和信息安全等要求。NDS.Live中明確了支持的壓縮算法。而關(guān)于數(shù)據(jù)簽名,NDS.Live也提供了一個(gè)預(yù)定義的哈希和簽名機(jī)制列表。簽名算法可以用專有的簽名算法接口進(jìn)行擴(kuò)展。用于簽名和加密的密鑰管理不在NDS.Live的范圍內(nèi),但它提供了URL或密鑰ID接口。結(jié)合AUTOSAR中的密鑰管理模塊,可以快速高效地部署數(shù)據(jù)安全系統(tǒng)。
服務(wù)層(Service Layer)
服務(wù)層可以理解為NDS.Live中定義的通信中間件。NDS.Live規(guī)范是針對(duì)多個(gè)網(wǎng)絡(luò)參與者的分布式系統(tǒng)開發(fā)的。每個(gè)參與者由一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)代表,由該節(jié)點(diǎn)來提供或請(qǐng)求與地圖和導(dǎo)航有關(guān)的信息。
NDS.Live系統(tǒng)內(nèi)的每個(gè)通信事件都涉及兩種類型的網(wǎng)絡(luò)節(jié)點(diǎn):服務(wù)端節(jié)點(diǎn)和客戶端節(jié)點(diǎn)。服務(wù)層所定義的服務(wù)接口,就是用于服務(wù)端節(jié)點(diǎn)和客戶端節(jié)點(diǎn)之間的信息傳遞。服務(wù)端和客戶端之間可以通過“請(qǐng)求-應(yīng)答”和“發(fā)布-訂閱”模式進(jìn)行通信。而NDS.Live中定義的服務(wù)接口分兩種類型:通用服務(wù)接口和基于模塊的服務(wù)接口。
兩種服務(wù)接口類型的主要差別就是是否對(duì)不同的模塊通用。通用服務(wù)接口如下圖左側(cè)所示,如果客戶端發(fā)起一個(gè)請(qǐng)求,來獲取不同模塊所提供的不同數(shù)據(jù)內(nèi)容。這時(shí)候服務(wù)接口可以把不同數(shù)據(jù)源拼接在一起,統(tǒng)一通過同一個(gè)服務(wù)響應(yīng)來傳遞數(shù)據(jù)。這種匯納多個(gè)數(shù)據(jù)源后由統(tǒng)一的服務(wù)響應(yīng)傳遞數(shù)據(jù)的方式,在NDS.Live中也稱為智慧層(Smart Layer)。
智慧層的設(shè)計(jì)也是基于終端使用場景出發(fā)的,例如客戶端傳來基于瓦片ID的請(qǐng)求,服務(wù)端可以把對(duì)應(yīng)瓦片內(nèi)不同模塊不同層次的數(shù)據(jù)都放在同一個(gè)數(shù)據(jù)容器內(nèi)后響應(yīng)。除了支持NDS.Classic的基于瓦片的方法,NDS.Live還增加了路徑和對(duì)象作為容器的額外選項(xiàng)。例如ADAS客戶端發(fā)來基于路徑幾何特性的請(qǐng)求,服務(wù)端可以把該路徑對(duì)應(yīng)的數(shù)據(jù)統(tǒng)一響應(yīng)。這樣可以為基于路徑的自動(dòng)駕駛和ADAS用例減少數(shù)據(jù)帶寬。又例如針對(duì)泊車場景,需要單獨(dú)下載一個(gè)停車場的高清地圖時(shí),可以通過對(duì)象作為容器和服務(wù)接口來傳輸。
圖8:NDS.Live兩種服務(wù)接口類型對(duì)比
NDS應(yīng)用例子
NDS作為導(dǎo)航數(shù)據(jù)標(biāo)準(zhǔn),致力于標(biāo)準(zhǔn)化流程和接口,以支撐更多產(chǎn)業(yè)創(chuàng)新。那么它在汽車行業(yè)中是怎么應(yīng)用的?接下來我們看一個(gè)NDS官網(wǎng)上展示的實(shí)際例子。這個(gè)例子是BMW和dSPACE兩大巨頭聯(lián)手打造的HIL(Hardware In the Loop,硬件在環(huán)測試)方案,架構(gòu)如下所示。
圖9:NDS 2022大會(huì)上展示的一種應(yīng)用NDS的HIL架構(gòu)
從連接的其他模擬模型可以猜測,被測ECU是ADAS的域控制器。對(duì)于毫米波雷達(dá)、激光雷達(dá)等傳感器,通過仿真環(huán)境配合各個(gè)傳感器的內(nèi)核算法模型,可以仿真感知數(shù)據(jù),然后提供給被測ECU。而跟NDS息息相關(guān)的主要是圖9中上部分的鏈路,也就是NDS和OpenDrive的雙向格式轉(zhuǎn)換的打通。
OpenDrive是dSPACE仿真環(huán)境對(duì)于地圖數(shù)據(jù)的統(tǒng)一接口,可以被輸入到仿真環(huán)境中,以開發(fā)和驗(yàn)證ADAS功能。但原生OpenDrive生成的場景往往缺乏實(shí)際駕駛區(qū)域旁邊的環(huán)境細(xì)節(jié)。而這些細(xì)節(jié)又往往影響到所需驗(yàn)證的功能。因此在打通NDS和OpenDrive雙向轉(zhuǎn)換之前,對(duì)于某些測試用例,可能需要手動(dòng)修改三維場景。但有了上圖所示的雙向轉(zhuǎn)換之后,當(dāng)需要把采集的真實(shí)數(shù)據(jù)回灌到被測ECU時(shí),基于NDS的豐富的導(dǎo)航地圖數(shù)據(jù)可以經(jīng)過車機(jī)后自動(dòng)轉(zhuǎn)換為OpenDrive格式,提供給仿真環(huán)境,然后生成相對(duì)更真實(shí)的3D環(huán)境進(jìn)行測試。而當(dāng)采用dSPACE搭建虛擬環(huán)境時(shí),生成的OpenDrive地圖數(shù)據(jù)也可以轉(zhuǎn)換為NDS,供車機(jī)渲染酷炫的動(dòng)畫。
來自兩大巨頭將接口標(biāo)準(zhǔn)的打通,相信也會(huì)加速NDS的應(yīng)用推廣。方案中呈現(xiàn)的NDS和OpenDrive雙向轉(zhuǎn)換,相信也會(huì)商業(yè)化成為產(chǎn)品。這樣一來,在推廣應(yīng)用NDS作為高精地圖數(shù)據(jù)標(biāo)準(zhǔn)的同時(shí),原有的硬件在環(huán)測試設(shè)備和方案也可以沿用,是一個(gè)共贏的局面。
寫在最后
隨著智能駕駛技術(shù)的日益成熟,高精地圖已經(jīng)成為了各大廠家的新戰(zhàn)場。高盛對(duì)全球高精地圖市場的預(yù)判是,到2025年市場規(guī)模會(huì)擴(kuò)大到94億美元。行業(yè)普遍認(rèn)為,未來15年高精地圖行業(yè)將進(jìn)入黃金發(fā)展期。而在這個(gè)過程中,最好的選擇肯定是制定標(biāo)準(zhǔn)。如果不能,那選擇一個(gè)有前景的標(biāo)準(zhǔn)進(jìn)行跟隨和應(yīng)用也是提升自身核心競爭力的有效手段。那么你覺得NDS是這個(gè)有前景的標(biāo)準(zhǔn)嗎?
審核編輯 :李倩
-
智能駕駛
+關(guān)注
關(guān)注
4文章
2815瀏覽量
49967 -
自動(dòng)駕駛
+關(guān)注
關(guān)注
790文章
14321瀏覽量
170690 -
高精地圖
+關(guān)注
關(guān)注
0文章
27瀏覽量
2826
原文標(biāo)題:高精地圖數(shù)據(jù)格式NDS了解一下
文章出處:【微信號(hào):阿寶1990,微信公眾號(hào):阿寶1990】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
康謀方案 | 高精LiDAR+神經(jīng)渲染3DGS的完美融合實(shí)踐

LPC55S28修改音頻數(shù)據(jù)格式后USB Aduio類異常的原因?
使用RDATAC指令后,ADS131E04傳送的數(shù)據(jù)格式以及內(nèi)容是怎樣的?
從《自動(dòng)駕駛地圖數(shù)據(jù)規(guī)范》聊高精地圖在自動(dòng)駕駛中的重要性

ADS1298R將每一信號(hào)都以12位的位壓縮格式進(jìn)行存儲(chǔ)并傳輸,會(huì)不會(huì)對(duì)ADS1298采集的數(shù)據(jù)造成大的影響?
調(diào)試TL16C752B收發(fā)數(shù)據(jù),TL16C752B一直沒有數(shù)據(jù)出來是哪里出了問題?
ads1158讀取數(shù)據(jù),得到的數(shù)據(jù)格式是什么樣的啊?
FP8數(shù)據(jù)格式在大型模型訓(xùn)練中的應(yīng)用

評(píng)論