本發(fā)明涉及一種交通仿真平臺,尤其涉及一種基于自組織網(wǎng)絡(luò)的車輛協(xié)同控制軟硬件仿真平臺。
背景技術(shù):
新的經(jīng)濟發(fā)展形式和國內(nèi)外科學(xué)技術(shù)水平的不斷發(fā)展進(jìn)步,使經(jīng)濟發(fā)展與科技的進(jìn)步緊密相連。一方面,經(jīng)濟的發(fā)展催生出了一系列新興的技術(shù)產(chǎn)業(yè),另一方面這些新興產(chǎn)業(yè)的不斷發(fā)展和普及應(yīng)用促進(jìn)了國民經(jīng)濟的飛速發(fā)展。以汽車為例,國內(nèi)外對于汽車乃至與之相關(guān)的道路交通安全等方面的理論和技術(shù)有著較為廣泛的研究。例如車輛的無人駕駛,其關(guān)鍵技術(shù)不僅涉及到周邊障礙環(huán)境的感知、模式的識別、導(dǎo)航定位,還與智能決策、控制工程等研究領(lǐng)域密切相關(guān)。對于車輛自身而言,獲得穩(wěn)定可靠的傳感器數(shù)據(jù)和擁有類似于GPS等數(shù)據(jù)是人們研究車與車之間控制算法的基礎(chǔ),但沒有可靠的實物操作,僅靠軟件理論上的仿真,難以從客觀的角度評價算法的實用程度。同時,實物的算法仿真有助于實際數(shù)據(jù)的獲取,幫助人們從應(yīng)用實踐的角度評價算法的合理性,并總結(jié)實踐經(jīng)驗改進(jìn)算法。
車輛之間的協(xié)同控制對于道路交通安全具有重要的研究意義。一方面,基于可靠的數(shù)據(jù)平臺可以幫助駕駛?cè)藛T獲取周邊信息,例如已經(jīng)廣泛應(yīng)用的GPS導(dǎo)航,對于駕駛員路徑規(guī)劃具有很好的導(dǎo)向作用,但是GPS主要是車與導(dǎo)航平臺之間的交互,缺少車與車之間的交互。另一方面,若能將車輛自身獲得的可靠傳感器數(shù)據(jù)告知周邊車輛,從而感知周圍環(huán)境,實現(xiàn)在一個特定網(wǎng)絡(luò)的數(shù)據(jù)共享,規(guī)避障礙物。實現(xiàn)車輛之間的協(xié)同控制,不僅可以起到輔助駕駛的作用,還可以從一定程度上減少道路交通安全事故的發(fā)生。
目前對于車輛障礙規(guī)避、路徑規(guī)劃、協(xié)同控制等方面的算法有較多的研究,但是大多的算法仿真是在Matlab等軟件環(huán)境下完成的。軟件仿真雖然高效,也能生成測試數(shù)據(jù)和圖像,但是軟件仿真區(qū)別于小車的實物仿真。許多軟件上的仿真沒有考慮智能小車在實際運行過程中受車輛自身尺寸和周邊障礙物的實際位置、形狀等因素的影響,表現(xiàn)出的狀態(tài)可能與軟件仿真不同。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明的目的是提供一種基于自組織網(wǎng)絡(luò)的車輛協(xié)同控制軟硬件仿真平臺,該仿真平臺主要由三部分組成,硬件部分采用STM32F103ZET6作為智能小車主控制芯片,該型號芯片采用了高性能的ARM Cortex-M3,32位的RISC內(nèi)核,同時具有豐富的IO口、串口,且支持不同優(yōu)先級的定時器,因此可以自己編寫相關(guān)的控制算法,自行設(shè)計智能小車的運行方式,同時,在ZigBee自組織網(wǎng)絡(luò)環(huán)境下,設(shè)計出了一套數(shù)據(jù)接收處理軟件,該軟件運行在計算機端,只需通過串口連接自組織網(wǎng)絡(luò)中的協(xié)調(diào)器節(jié)點,這樣各個智能小車在該網(wǎng)絡(luò)中的障礙規(guī)避、協(xié)同控制等實時的運行狀態(tài)數(shù)據(jù)可以通過網(wǎng)絡(luò)傳輸至計算機終端,從而幫助算法的設(shè)計人員,從更加直觀的角度評價算法的可靠性與實際應(yīng)用中的可用性。
本發(fā)明通過以下技術(shù)手段解決上述技術(shù)問題:
一種基于自組織網(wǎng)絡(luò)的車輛協(xié)同控制軟硬件仿真平臺,包括以下系統(tǒng):
車輛仿真系統(tǒng),包括模擬實際車輛的智能小車和模擬實際道路的模擬道路;所述智能小車安裝有主控芯片以及測速傳感器、超聲波測距傳感器、紅外避障傳感器;
自組網(wǎng)絡(luò)系統(tǒng),自組織網(wǎng)絡(luò)系統(tǒng)主要由三種類型的節(jié)點混合而成,分別為協(xié)調(diào)器、路由器、終端;同一個自組織網(wǎng)絡(luò)中需要一個ZigBee節(jié)點作為網(wǎng)絡(luò)的協(xié)調(diào)器,用于同一網(wǎng)絡(luò)中路由器節(jié)點網(wǎng)絡(luò)短地址的分配,同時擔(dān)任該網(wǎng)絡(luò)的主要維護者,所述路由器節(jié)點安裝在智能小車上,其中協(xié)調(diào)器的串口與計算機的串口相連,讀取整個網(wǎng)絡(luò)中智能小車的網(wǎng)絡(luò)短地址、速度、障礙物、行駛狀態(tài)的信息,并在所述終端上實時顯示這些數(shù)據(jù);
數(shù)據(jù)接收軟件,主要包含菜單管理模塊、配置管理模塊、數(shù)據(jù)處理模塊三部分部分;所述菜單管理模塊提供了系統(tǒng)管理、串口狀態(tài)、數(shù)據(jù)管理、幫助管理的功能,所述配置管理模塊提供串口參數(shù)配置,串口參數(shù)配置可以選擇與ZigBee協(xié)調(diào)器節(jié)點相連的計算機串口并執(zhí)行打開與關(guān)閉操作,所述數(shù)據(jù)處理模塊包括數(shù)據(jù)顯示和數(shù)據(jù)發(fā)送;
所述自組織網(wǎng)絡(luò)系統(tǒng),作為整個軟硬件仿真平臺的中間環(huán)節(jié),起到自組織網(wǎng)絡(luò)的發(fā)起和維護作用,并透明傳輸網(wǎng)絡(luò)數(shù)據(jù),處于同一自組織網(wǎng)絡(luò)中的智能小車通過路由器節(jié)點能夠數(shù)據(jù)信息的共享,同時將數(shù)據(jù)發(fā)送到協(xié)調(diào)器節(jié)點從而在軟件數(shù)據(jù)的接收平臺顯示每輛車的運行狀態(tài)。
達(dá)到的技術(shù)效果在于:該仿真平臺主要由三部分組成,智能小車的主控芯片具有豐富的IO口、串口,且支持不同優(yōu)先級的定時器,因此可以自己編寫相關(guān)的控制算法,自行設(shè)計智能小車的運行方式。同時,在ZigBee自組織網(wǎng)絡(luò)環(huán)境下,設(shè)計出了一套數(shù)據(jù)接收處理軟件,該軟件運行在計算機端,只需通過串口連接自組織網(wǎng)絡(luò)中的協(xié)調(diào)器節(jié)點,這樣各個智能小車在該網(wǎng)絡(luò)中的障礙規(guī)避、協(xié)同控制等實時的運行狀態(tài)數(shù)據(jù)可以通過網(wǎng)絡(luò)傳輸至計算機終端。從而幫助算法的設(shè)計人員,從更加直觀的角度評價算法的可靠性與實際應(yīng)用中的可用性。
作為本方案的進(jìn)一步改進(jìn),所述路由器是由ZigBee模塊配置而成,仿真開始時由協(xié)調(diào)器節(jié)點為ZigBee路由節(jié)點分配一個網(wǎng)絡(luò)短地址并作為智能小車的網(wǎng)絡(luò)ID址,若ZigBee路由節(jié)點被重啟則由協(xié)調(diào)器節(jié)點重新為該模塊分配一個新的網(wǎng)絡(luò)短地址,此時系統(tǒng)將自動更新自組織網(wǎng)絡(luò)的短地址并將該新的網(wǎng)絡(luò)短地址作為小車的網(wǎng)絡(luò)ID讀入系統(tǒng)。
由于本仿真平臺是利用ZigBee模塊的ID代替小車的位置,因此實時更新小車的ID能夠使小車的定位更加精確從而使仿真數(shù)據(jù)更加準(zhǔn)確無誤。
作為本方案的進(jìn)一步改進(jìn),所述述網(wǎng)絡(luò)數(shù)據(jù)會根據(jù)自定的數(shù)據(jù)格式被拆分成各項數(shù)據(jù),通過收到的數(shù)據(jù)中不同的編號,區(qū)分是自組織網(wǎng)絡(luò)中更新的網(wǎng)絡(luò)短地址或者其他車輛共享的數(shù)據(jù);所述更新的網(wǎng)絡(luò)短地址是指小車上ZigBee路由節(jié)點重啟后由協(xié)調(diào)器節(jié)點重新分配的新的網(wǎng)絡(luò)短地址。
將數(shù)據(jù)進(jìn)行編號分類處理,可以判斷ZigBee節(jié)點的網(wǎng)絡(luò)短地址也就是小車的網(wǎng)絡(luò)ID是否發(fā)生了變化,如果發(fā)生變化,仿真系統(tǒng)則立即更新小車的網(wǎng)絡(luò)ID使其與搭載的ZigBee路由節(jié)點的ID保持一致,避免因小車ID沒有及時與ZigBee路由節(jié)點網(wǎng)絡(luò)短地址保持一致而形成的數(shù)據(jù)錯誤。
作為本方案的進(jìn)一步改進(jìn),所述數(shù)據(jù)接收該軟件可以根據(jù)使用的需要更改軟件中定義的數(shù)據(jù)模型,當(dāng)有新的傳感器安裝在智能小車上時,只需要在該數(shù)據(jù)模型中做簡單的修改即可。
所述智能小車的運行包括以下步驟:
開始,系統(tǒng)、傳感器初始化;
接著開始進(jìn)行數(shù)據(jù)處理,數(shù)據(jù)處理包括接收網(wǎng)絡(luò)數(shù)據(jù)、傳感器數(shù)據(jù)和發(fā)送網(wǎng)絡(luò)數(shù)據(jù),其中對網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行判斷,如果是網(wǎng)絡(luò)ID即新網(wǎng)絡(luò)短地址則更新小車的網(wǎng)絡(luò)ID使其保持一致;
障礙判斷,有障礙則安照本系統(tǒng)指定的控制算法執(zhí)行,沒有障礙則正常運行。
作為本方案的進(jìn)一步改進(jìn),所述的控制算法是指根據(jù)不同的故障情況采取不同的運行方式,具體包括以下情況:
堵車,提前告知用戶并規(guī)劃其它交通路線;
燃油不足,提供最近加油站的交通路線;
防追尾,一旦發(fā)現(xiàn)前方車輛減速或急停則自動減速剎車;
紅綠燈提醒,紅燈情況下自動剎車,綠燈提醒用戶啟動。
所述數(shù)據(jù)接收軟件的運行包括以下步驟:
開始,軟件界面初始化;
設(shè)置串口參數(shù),串口存在則進(jìn)行串口初始化;
串口處于打開狀態(tài)則接受數(shù)據(jù)并進(jìn)行數(shù)據(jù)顯示;
結(jié)束。
本發(fā)明的有益效果:傳統(tǒng)的仿真平針對當(dāng)前對于車輛之間的障礙規(guī)避、協(xié)同控制等算法,大多數(shù)的算法仿真依賴于軟件,但受于軟件仿真的局限等問題,往往會出現(xiàn)許多與實際不相符合的地方,例如在避障的過程中軟件仿真沒有考慮智能車本身尺寸而是將車抽象成一個點。另一方面,不論是車輛的實物障礙規(guī)避還是車車之間的協(xié)同控制,都依賴于傳感器數(shù)據(jù)的可靠性。而本發(fā)明實物仿真對于智能小車相關(guān)算法的研究具有重要的支撐意義?;谧越M織網(wǎng)絡(luò)的車輛協(xié)同控制軟硬件仿真平臺,既提供了可編程的程序接口,同時也提供了獲取該自組織網(wǎng)絡(luò)中所有節(jié)點網(wǎng)絡(luò)數(shù)據(jù)的軟件,能夠?qū)崟r的將車輛在相關(guān)算法控制下應(yīng)對不同的路障環(huán)境及其協(xié)同控制等方面所運行的數(shù)據(jù)反饋到該軟件平臺。從而幫助算法的設(shè)計人員獲取車輛在實際運行過程中的數(shù)據(jù),從更加直觀的角度評估算法的可靠性與實際應(yīng)用中的可用性。
附圖說明
圖1是本發(fā)明的系統(tǒng)框圖;
圖2是本發(fā)明智能小車運行流程圖;
圖3是本發(fā)明數(shù)據(jù)接收軟件運行流程圖。
具體實施方式
以下將結(jié)合附圖對本發(fā)明進(jìn)行詳細(xì)說明:
如圖1所示:
一種基于自組織網(wǎng)絡(luò)的車輛協(xié)同控制軟硬件仿真平臺,包括以下系統(tǒng):
車輛仿真系統(tǒng),包括模擬實際車輛的智能小車和模擬實際道路的模擬道路;所述智能小車安裝有主控芯片以及測速傳感器、超聲波測距傳感器、紅外避障傳感器以及用于感知車輛運行狀態(tài)及其道路周邊環(huán)境的傳感器,所述車輛運行狀態(tài)包括緊急剎車狀態(tài)、轉(zhuǎn)彎狀態(tài)、道路周邊環(huán)境包括堵車或岔路情況,通過測量每個車輪的速度來檢測是否是剎車或轉(zhuǎn)彎,轉(zhuǎn)彎是左轉(zhuǎn)彎還是右轉(zhuǎn)彎,堵車和岔路則通過攝像頭來識別。
本實施例中采用STM32F103ZET6作為智能小車主控制芯片,該型號芯片采用了高性能的ARM Cortex-M3,32位的RISC內(nèi)核,同時具有豐富的IO口、串口,且支持不同優(yōu)先級的定時器,因此可以自己編寫相關(guān)的控制算法,自行設(shè)計智能小車的運行方式。在智能小車上部屬了測速、超聲波測距、紅外避障等傳感器,用于獲取車輛自身及周邊運行環(huán)境的數(shù)據(jù)。智能小車能夠獲取其他小車發(fā)過來的網(wǎng)絡(luò)數(shù)據(jù),對于收到的數(shù)據(jù)根據(jù)預(yù)先定義的數(shù)據(jù)格式拆分成各項數(shù)據(jù),通過收到的數(shù)據(jù)中不同的編號,區(qū)分是自組織網(wǎng)絡(luò)中更新的網(wǎng)絡(luò)短地址,或者其他車輛共享的數(shù)據(jù)。若是網(wǎng)絡(luò)短地址則需要更新智能小車的網(wǎng)絡(luò)ID,對于收到的傳感器數(shù)據(jù)則需要根據(jù)智能小車的控制算法實現(xiàn)障礙的規(guī)避和協(xié)同控制。
自組網(wǎng)絡(luò)系統(tǒng),自組織網(wǎng)絡(luò)系統(tǒng)主要由三種類型的節(jié)點混合而成,分別為協(xié)調(diào)器、路由器、終端;同一個自組織網(wǎng)絡(luò)中需要一個ZigBee節(jié)點作為網(wǎng)絡(luò)的協(xié)調(diào)器,用于同一網(wǎng)絡(luò)中路由器節(jié)點網(wǎng)絡(luò)短地址的分配,同時擔(dān)任該網(wǎng)絡(luò)的主要維護者,所述路由器節(jié)點安裝在智能小車上,其中協(xié)調(diào)器的串口與計算機的串口相連,讀取整個網(wǎng)絡(luò)中智能小車的網(wǎng)絡(luò)短地址、速度、障礙物、行駛狀態(tài)的信息,并在所述終端上實時顯示這些數(shù)據(jù)。
上述自組織網(wǎng)絡(luò)中更新的網(wǎng)絡(luò)短地址可能是由于ZigBee節(jié)點自動重啟造成的。
ZigBee自組織網(wǎng)絡(luò):在該基于自組織網(wǎng)絡(luò)的車輛協(xié)同控制軟硬件仿真平臺中,自組織網(wǎng)絡(luò)主要由三種類型的結(jié)點混合而成,分別為協(xié)調(diào)器節(jié)點、路由器節(jié)點、終端節(jié)點。同一個自組織網(wǎng)絡(luò)中需要一個ZigBee節(jié)點作為網(wǎng)絡(luò)的協(xié)調(diào)器,用于同一網(wǎng)絡(luò)中其他結(jié)點網(wǎng)絡(luò)短地址的分配,同時擔(dān)任該網(wǎng)絡(luò)的主要維護者。在該軟硬件平臺的設(shè)計中,為了能夠在軟件平臺中獲取其他智能小車在避障和協(xié)同駕駛過程中的數(shù)據(jù)信息,將協(xié)調(diào)器的串口與計算機的串口相連,通過自己編寫的數(shù)據(jù)獲取軟件,讀取整個網(wǎng)絡(luò)中運行車輛的唯一網(wǎng)絡(luò)短地址、速度、前后左右至少四個方位的障礙物情況、行駛狀態(tài)等信息,并在軟件平臺上實時顯示這些數(shù)據(jù)。
數(shù)據(jù)接收軟件,主要包含菜單管理模塊、配置管理模塊、數(shù)據(jù)處理模塊三部分部分;所述菜單管理模塊提供了系統(tǒng)管理、串口狀態(tài)、數(shù)據(jù)管理、幫助管理的功能,所述配置管理模塊提供串口參數(shù)配置,串口參數(shù)配置可以選擇與ZigBee協(xié)調(diào)器節(jié)點相連的計算機串口并執(zhí)行打開與關(guān)閉操作,所述數(shù)據(jù)處理模塊包括數(shù)據(jù)顯示和數(shù)據(jù)發(fā)送。
為了配合智能小車獲取自組織網(wǎng)絡(luò)中的數(shù)據(jù)顯示并在計算機端顯示,編寫了數(shù)據(jù)接收處理軟件,該軟件使用Java語言在MyEclipse集成環(huán)境中開發(fā),并采用MVC框架,將界面與操作相分離。軟件主要包含菜單欄、串口參數(shù)配置、數(shù)據(jù)顯示、數(shù)據(jù)發(fā)送等部分。在串口參數(shù)配置部分可以選擇ZigBee與計算機相連的串口并執(zhí)行打開與關(guān)閉操作,菜單欄中提供了系統(tǒng)管理、串口狀態(tài)、數(shù)據(jù)管理、幫助管理等功能。數(shù)據(jù)顯示區(qū)域可以顯示自組織網(wǎng)絡(luò)中各個小車的運行狀態(tài),在數(shù)據(jù)的發(fā)送區(qū)用戶可以結(jié)合智能小車控制代碼中規(guī)定的數(shù)據(jù)格式,發(fā)送控制指令給接入到網(wǎng)絡(luò)中的智能小車。該軟件可以根據(jù)使用的需要更改軟件中定義的數(shù)據(jù)模型,例如當(dāng)有新的傳感器安裝在智能小車上時,只需要在該數(shù)據(jù)模型中做簡單的修改即可,因而該軟件具有較好的可拓展性。
所述自組織網(wǎng)絡(luò)系統(tǒng),作為整個軟硬件仿真平臺的中間環(huán)節(jié)起到透明傳輸網(wǎng)絡(luò)數(shù)據(jù)的作用,同時處于同一自組織網(wǎng)絡(luò)中的智能小車通過路由器節(jié)點能夠?qū)崿F(xiàn)數(shù)據(jù)信息的共享,并將數(shù)據(jù)發(fā)送到協(xié)調(diào)器節(jié)點從而在軟件數(shù)據(jù)的接收平臺顯示每輛車的運行狀態(tài)。
作為本方案的進(jìn)一步改進(jìn),所述路由器節(jié)點是由ZigBee模塊配置而成,仿真開始時由協(xié)調(diào)器節(jié)點為ZigBee路由節(jié)點分配一個網(wǎng)絡(luò)短地址并作為智能小車的網(wǎng)絡(luò)ID址,若ZigBee路由節(jié)點被重啟則由協(xié)調(diào)器節(jié)點重新為該模塊分配一個新的網(wǎng)絡(luò)短地址,此時系統(tǒng)將自動更新自組織網(wǎng)絡(luò)的短地址并將該新的網(wǎng)絡(luò)短地址作為小車的網(wǎng)絡(luò)ID讀入系統(tǒng)。
作為本方案的進(jìn)一步改進(jìn),所述網(wǎng)絡(luò)數(shù)據(jù)會根據(jù)自定的數(shù)據(jù)格式被拆分成各項數(shù)據(jù),通過收到的數(shù)據(jù)中不同的編號,區(qū)分是自組織網(wǎng)絡(luò)中更新的網(wǎng)絡(luò)短地址或者其他車輛共享的網(wǎng)絡(luò)數(shù)據(jù);所述更新的網(wǎng)絡(luò)短地址是指ZigBee路由節(jié)點重啟后由協(xié)調(diào)器節(jié)點重新為其分配的新的網(wǎng)絡(luò)短地址。
作為本方案的進(jìn)一步改進(jìn),所述數(shù)據(jù)接收軟件可以根據(jù)使用的需要更改軟件中定義的數(shù)據(jù)模型,當(dāng)有新的傳感器安裝在智能小車上時,只需要在該數(shù)據(jù)模型中做簡單的修改即可。
如圖2所示:
所述智能小車的運行包括以下步驟:
開始,系統(tǒng)、傳感器初始化;
接著開始進(jìn)行數(shù)據(jù)處理,數(shù)據(jù)處理包括接收網(wǎng)絡(luò)數(shù)據(jù)、傳感器數(shù)據(jù)和發(fā)送網(wǎng)絡(luò)數(shù)據(jù),其中對網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行判斷,如果是網(wǎng)絡(luò)ID即新網(wǎng)絡(luò)短地址則更新小車的網(wǎng)絡(luò)ID使其保持一致;
障礙判斷,有障礙則安照本系統(tǒng)指定的控制算法執(zhí)行,沒有障礙則正常運行。
小車在啟動后先完成系統(tǒng)、各個傳感器、定時器等的初始化,在運行的過程中不斷讀取傳感器的數(shù)據(jù)和接受網(wǎng)絡(luò)數(shù)據(jù),通過獲得的相關(guān)數(shù)據(jù)控制小車的運行狀態(tài)。
作為本方案的進(jìn)一步改進(jìn),所述的控制算法是指根據(jù)不同的故障情況采取不同的運行方式,具體包括以下情況:
堵車,提前告知用戶并規(guī)劃其它交通路線;
燃油不足,提供最近加油站的交通路線;
防追尾,一旦發(fā)現(xiàn)前方車輛減速或急停則自動減速剎車;
紅綠燈提醒,紅燈情況下自動剎車,綠燈提醒用戶啟動。
如圖3所示;
所述數(shù)據(jù)接收軟件的運行包括以下步驟:
開始,軟件界面初始化;
設(shè)置串口參數(shù),串口存在則進(jìn)行串口初始化;
串口處于打開狀態(tài)則接受數(shù)據(jù)并進(jìn)行數(shù)據(jù)顯示;
結(jié)束。
以上實施例僅用以說明本發(fā)明的技術(shù)方案而非限制,盡管參照較佳實施例對本發(fā)明進(jìn)行了詳細(xì)說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,而不脫離本發(fā)明技術(shù)方案的宗旨和范圍,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。