基于分布式節(jié)點(diǎn)及虛擬總線模型的智能車數(shù)據(jù)平臺(tái)架構(gòu)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于智能車輛技術(shù)領(lǐng)域,特別是關(guān)于一種基于分布式節(jié)點(diǎn)及虛擬總線模型的智能車數(shù)據(jù)平臺(tái)架構(gòu)。
【背景技術(shù)】
[0002]智能駕駛技術(shù)在交通安全、環(huán)境保護(hù)及緩解交通壓力等方面都有巨大的應(yīng)用潛力,目前已成為發(fā)達(dá)國家、汽車廠商及科技公司研究的重點(diǎn)。智能駕駛研究涉及機(jī)械電子、模式識(shí)別、人工智能、控制科學(xué)及軟件工程等諸多學(xué)科知識(shí),其中,智能車軟件算法是研究的重要內(nèi)容之一。智能車軟件算法研究通??砂▽I(yè)功能算法及軟件平臺(tái)架構(gòu)設(shè)計(jì)兩部分,專業(yè)功能算法是針對(duì)于某一微觀、具體的功能需求、基于相關(guān)數(shù)學(xué)研究模型、利用軟件語言實(shí)現(xiàn)的算法,例如視覺中車道線、行人檢測(cè)識(shí)別算法,激光雷達(dá)研究中的障礙物檢測(cè)算法等,專業(yè)功能算法是智能駕駛的核心技術(shù);而軟件平臺(tái)架構(gòu)設(shè)計(jì)則是從宏觀角度上來對(duì)軟件組織結(jié)構(gòu)、實(shí)施方式等進(jìn)行總體規(guī)劃,并可用于指導(dǎo)專業(yè)功能算法的開發(fā),一個(gè)優(yōu)秀的平臺(tái)架構(gòu)可以成為專業(yè)功能算法的倍增器,同時(shí)也有利于團(tuán)隊(duì)任務(wù)分工、成果繼承及軟件工程化實(shí)施等,從程序編寫而言角度考慮,優(yōu)秀的平臺(tái)架構(gòu)可以有效提高代碼質(zhì)量,如重用率、靈活性、耦合程度等。
[0003]智能車平臺(tái)架構(gòu)設(shè)計(jì)通常采用功能模塊化思想,如將整體研究?jī)?nèi)容細(xì)分為環(huán)境感知模塊、導(dǎo)航模塊、路徑規(guī)劃模塊、控制模塊及交互模塊等,各模塊高度獨(dú)立且采用約定的通信協(xié)議進(jìn)行數(shù)據(jù)交互。該平臺(tái)架構(gòu)方式雖然有利于團(tuán)隊(duì)協(xié)作開發(fā),但是這種以功能相似性作為模塊劃分方法的思路通常只關(guān)心模塊間接口及代碼功能性,各個(gè)模塊仍是一個(gè)相對(duì)獨(dú)立的“小系統(tǒng)”,只強(qiáng)調(diào)各模塊“小系統(tǒng)”內(nèi)部的軟件開發(fā)標(biāo)準(zhǔn)(編程語言及運(yùn)行平臺(tái)等)統(tǒng)一,而不考慮整個(gè)智能車數(shù)據(jù)系統(tǒng)的開發(fā)標(biāo)準(zhǔn)統(tǒng)一。
【發(fā)明內(nèi)容】
[0004]針對(duì)上述問題,本發(fā)明的目的是提供一種能夠較好實(shí)現(xiàn)算法模塊化組織,有利于智能車數(shù)據(jù)系統(tǒng)開發(fā)標(biāo)準(zhǔn)統(tǒng)一的基于分布式節(jié)點(diǎn)及虛擬總線模型的智能車數(shù)據(jù)平臺(tái)架構(gòu)。
[0005]為實(shí)現(xiàn)上述目的,本發(fā)明采取以下技術(shù)方案:一種基于分布式節(jié)點(diǎn)及虛擬總線模型的智能車數(shù)據(jù)平臺(tái)架構(gòu),其特征在于,包括一虛擬總線、若干節(jié)點(diǎn)、一主控制器和一監(jiān)視器;所述虛擬總線作為通信載體,用于完成基于TCP/UDP通信協(xié)議或本地進(jìn)程通信的數(shù)據(jù)傳輸,所述虛擬總線上掛載多個(gè)所述節(jié)點(diǎn);所述主控制器通過所述虛擬總線根據(jù)任務(wù)要求配置、調(diào)用相應(yīng)所述節(jié)點(diǎn),所述監(jiān)視器通過所述虛擬總線在系統(tǒng)運(yùn)行過程中對(duì)相關(guān)所述節(jié)點(diǎn)狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)控、記錄。
[0006]優(yōu)選地,各個(gè)所述節(jié)點(diǎn)在功能上相互獨(dú)立且具有標(biāo)準(zhǔn)輸入、輸出接口,所述節(jié)點(diǎn)包括硬件驅(qū)動(dòng)節(jié)點(diǎn)、功能性節(jié)點(diǎn)和算法性節(jié)點(diǎn)。
[0007]優(yōu)選地,所述節(jié)點(diǎn)的設(shè)計(jì)原則為:I)設(shè)計(jì)節(jié)點(diǎn)數(shù)量;2)設(shè)計(jì)節(jié)點(diǎn)數(shù)據(jù)傳輸優(yōu)先級(jí);3)設(shè)計(jì)節(jié)點(diǎn)通信方式:4)設(shè)計(jì)數(shù)據(jù)傳輸格式。
[0008]優(yōu)選地,所述節(jié)點(diǎn)通信方式采用廣播/訂閱模式.
[0009]優(yōu)選地,所述數(shù)據(jù)傳輸格式采用Json作為數(shù)據(jù)交互格式。
[0010]優(yōu)選地,所述節(jié)點(diǎn)的創(chuàng)建過程為:(I)構(gòu)建智能車節(jié)點(diǎn)拓?fù)鋱D,并建立節(jié)點(diǎn)模型;
(2)制定節(jié)點(diǎn)輸入、輸出方式及協(xié)議;(3)面向?qū)ο蟮墓?jié)點(diǎn)編程。
[0011]優(yōu)選地,所述節(jié)點(diǎn)模型均包括參數(shù)配置模塊、輸入接口、輸出接口和核心處理模塊,所述參數(shù)配置模塊由所述主控制器調(diào)用,用于節(jié)點(diǎn)應(yīng)用在不同環(huán)境下所需的參數(shù)初始化配置工作,所述輸入接口設(shè)置為一個(gè)或多個(gè),所述輸出接口設(shè)置為一個(gè);所述核心處理模塊用于節(jié)點(diǎn)數(shù)據(jù)處理,包括數(shù)據(jù)接收、數(shù)據(jù)處理和數(shù)據(jù)發(fā)送。
[0012]本發(fā)明由于采取以上技術(shù)方案,其具有以下優(yōu)點(diǎn):1、本發(fā)明將具有最小封裝能力的算法抽象化為節(jié)點(diǎn)模型,各節(jié)點(diǎn)只需同虛擬總線進(jìn)行數(shù)據(jù)交換,而無需考慮同其它節(jié)點(diǎn)直接進(jìn)行關(guān)聯(lián),該架構(gòu)類似于汽車CAN總線結(jié)構(gòu),其中,節(jié)點(diǎn)類似于CAN總線上掛載的電子控制系統(tǒng),節(jié)點(diǎn)網(wǎng)絡(luò)地址相當(dāng)于報(bào)文標(biāo)識(shí)符,在架構(gòu)及協(xié)議約定下開發(fā)者只需進(jìn)行內(nèi)部功能算法研究而無需考慮輸入、輸出接口問題,使用者只需按照接口定義進(jìn)行數(shù)據(jù)接收及處理,無需考慮其來源或內(nèi)部實(shí)現(xiàn)機(jī)制,使得整個(gè)智能車數(shù)據(jù)系統(tǒng)的開發(fā)標(biāo)準(zhǔn)統(tǒng)一。2、本發(fā)明中節(jié)點(diǎn)包括硬件驅(qū)動(dòng)節(jié)點(diǎn)、功能性節(jié)點(diǎn)和算法性節(jié)點(diǎn),節(jié)點(diǎn)模型為算法抽象實(shí)體,既可以為傳感器驅(qū)動(dòng)、車輛橫縱向控制驅(qū)動(dòng)等硬件相關(guān)驅(qū)動(dòng),也可以為障礙物識(shí)別、目標(biāo)跟蹤及路徑規(guī)劃等功能性算法,功能實(shí)現(xiàn)靈活。3、本發(fā)明中分布式節(jié)點(diǎn)既可以部署在不同實(shí)體計(jì)算單元中,也可以處在同一實(shí)體計(jì)算單元中,不受運(yùn)行位置限制,且節(jié)點(diǎn)高度獨(dú)立,內(nèi)部可進(jìn)行保密封裝,有效防止數(shù)據(jù)泄露。4、本發(fā)明的虛擬總線可基于常規(guī)通信網(wǎng)絡(luò)及成熟網(wǎng)絡(luò)數(shù)據(jù)廣播/訂閱算法庫,簡(jiǎn)單可靠。本發(fā)明可以廣泛應(yīng)用于智能車數(shù)據(jù)系統(tǒng)的開發(fā)中。
【附圖說明】
[0013]圖1是本發(fā)明的節(jié)點(diǎn)及虛擬總線架構(gòu)示意圖;
[0014]圖2是本發(fā)明節(jié)點(diǎn)創(chuàng)建示意圖;
[0015]圖3是本發(fā)明節(jié)點(diǎn)拓?fù)浣Y(jié)構(gòu)圖;
[0016]圖4是本發(fā)明單個(gè)節(jié)點(diǎn)結(jié)構(gòu)示意圖;
[0017]圖5是本發(fā)明節(jié)點(diǎn)應(yīng)用示意圖;
[0018]圖6是本發(fā)明以高速公路條件下基于視覺及毫米波雷達(dá)的自動(dòng)駕駛?cè)蝿?wù)的節(jié)點(diǎn)組合示意圖。
【具體實(shí)施方式】
[0019]以下結(jié)合附圖來對(duì)本發(fā)明進(jìn)行詳細(xì)的描繪。然而應(yīng)當(dāng)理解,附圖的提供僅為了更好地理解本發(fā)明,它們不應(yīng)該理解成對(duì)本發(fā)明的限制。
[0020]如圖1所示,本發(fā)明的基于分布式節(jié)點(diǎn)及虛擬總線模型的智能車數(shù)據(jù)平臺(tái)架構(gòu),包括一虛擬總線1、若干節(jié)點(diǎn)(nodeS)2、一主控制器3和一監(jiān)視器4,其中,虛擬總線I作為通信載體,用于完成基于TCP/UDP通信協(xié)議或本地進(jìn)程通信的數(shù)據(jù)傳輸,虛擬總線I上掛載多個(gè)節(jié)點(diǎn)2,各個(gè)節(jié)點(diǎn)2在功能上高度獨(dú)立,節(jié)點(diǎn)2為傳感器驅(qū)動(dòng)、功能性與算法性模塊的抽象模型,具有標(biāo)準(zhǔn)輸入、輸出接口;主控制器3通過虛擬總線I根據(jù)任務(wù)要求配置、調(diào)用相應(yīng)節(jié)點(diǎn)2,監(jiān)視器4通過虛擬總線I在系統(tǒng)運(yùn)行過程中對(duì)相關(guān)節(jié)點(diǎn)2狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)控、記錄,以助于在線調(diào)試和離線分析。
[0021]在一個(gè)優(yōu)選的實(shí)施例中,本發(fā)明的節(jié)點(diǎn)設(shè)計(jì)原則為:I)設(shè)計(jì)節(jié)點(diǎn)數(shù)量:節(jié)點(diǎn)地址由網(wǎng)絡(luò)IP地址及端口號(hào)共同組成,不同平臺(tái)上(Windows/Linux)的可用端口號(hào)雖然不盡相同,但是至少有幾千個(gè)空余端口供程序使用,同時(shí)節(jié)點(diǎn)還可使用進(jìn)程ID作為地址,因此設(shè)計(jì)時(shí)節(jié)點(diǎn)數(shù)量無需進(jìn)行限制;2)設(shè)計(jì)節(jié)點(diǎn)數(shù)據(jù)傳輸優(yōu)先級(jí):為防止大數(shù)據(jù)量交換時(shí)造成數(shù)據(jù)堵塞與延遲,應(yīng)允許根據(jù)實(shí)際應(yīng)用情況進(jìn)行節(jié)點(diǎn)數(shù)據(jù)交互優(yōu)先級(jí)設(shè)計(jì),例如對(duì)于高速公路自動(dòng)駕駛?cè)蝿?wù),可適當(dāng)降低GPS節(jié)點(diǎn)優(yōu)先級(jí),而相機(jī)及車道線識(shí)別節(jié)點(diǎn)優(yōu)先級(jí)需提高,同時(shí)局部路徑規(guī)劃及控制節(jié)點(diǎn)的優(yōu)先級(jí)也需維持在較高等級(jí);3)設(shè)計(jì)節(jié)點(diǎn)通信方式:節(jié)點(diǎn)通信方式采用廣播/訂閱模式;4)數(shù)據(jù)傳輸格式:采用Json(JavaScript Object Notat1n)作為數(shù)據(jù)交互格式。
[0022]在一個(gè)優(yōu)選的實(shí)施例中,如圖2所示,本發(fā)明節(jié)點(diǎn)創(chuàng)建的具體過程為:
[0023]I)構(gòu)建智能車節(jié)點(diǎn)拓?fù)鋱D,并建立節(jié)點(diǎn)模型;
[0024]節(jié)點(diǎn)拓?fù)鋱D即為智能車研究所涉及的驅(qū)動(dòng)、算法關(guān)系圖,如圖3所示,節(jié)點(diǎn)包括硬件驅(qū)動(dòng)節(jié)點(diǎn)、功能性節(jié)點(diǎn)和算法性節(jié)點(diǎn),其中,硬件驅(qū)動(dòng)節(jié)點(diǎn)例如:Camera (相機(jī))、GP S、IMU(慣性導(dǎo)航)、Lidar(激光雷達(dá))、Radar(毫米波雷達(dá))等用于接收硬件數(shù)據(jù);功能性節(jié)點(diǎn)處于中心地位,它對(duì)應(yīng)某一具體的任務(wù),例如Lane Detect1n(車道線識(shí)別)、PedestrianDetect1n(行人識(shí)別)、Ve