摘" 要: 車聯(lián)網(wǎng)在解決交通問題、保證大眾安全等方面發(fā)揮著巨大作用。針對車聯(lián)網(wǎng)測試成本高、不利于實驗研發(fā)等問題,以V2X無線通信為依托,模擬車聯(lián)網(wǎng)應用場景,設計硬件系統(tǒng)和軟件系統(tǒng)。硬件設計按照實際車聯(lián)網(wǎng)技術框架分為車載子系統(tǒng)、路側(cè)子系統(tǒng)、后臺中心子系統(tǒng)三部分;軟件系統(tǒng)重點對CAN數(shù)據(jù)采集、后輪雙電機差速控制原理、后臺中心狀態(tài)數(shù)據(jù)的解析及遠程控制進行設計。最后,在具體應用場景中對車聯(lián)網(wǎng)縮微模型進行測試,結果表明,該系統(tǒng)能夠在路口和前向碰撞時自主協(xié)調(diào),并通過ZigBee等通信模塊實現(xiàn)信息共享,驗證了系統(tǒng)的實用性和可行性。
關鍵詞: 車聯(lián)網(wǎng); V2X; 遠程控制; CAN數(shù)據(jù)采集; 自主協(xié)調(diào); 信息共享; 場景測試
中圖分類號: TN926?34; TP393" " " " " " " " " " 文獻標識碼: A" " " " " " " " " " "文章編號: 1004?373X(2024)24?0033?05
Design and implementation of internet of vehicle experiment system based on V2X
YANG Yitong, WU Jingjing, ZHANG Lili
(National Computer Experimental Teaching Demonstration Center, College of Computer Science and Engineering, Northeastern University, Shenyang 110819, China)
Abstract: The internet of vehicles plays a huge role in solving traffic problems and ensuring public safety. In allusion to the issues of high testing costs and unfavorable experimental research and development in the internet of vehicles, based on V2X wireless communication, the application scenario is simulated, and the experimental system including hardware and software system is designed. According to the actual technical framework of internet of vehicles, the hardware design is divided into three parts: vehicle subsystem, background center subsystem and road side subsystem. The software system focuses on the design of CAN (controller area network) data acquisition, differential control principle of rear wheel double motor, analysis and remote control of background center status data. The microminiature model of the internet of vehicles is tested in specific application scenarios. The results show that the system can coordinate autonomously at intersections and forward collisions, and realize information sharing by means of ZigBee and other communication modules, which can verify the practicability and feasibility of this design.
Keywords: internet of vehicles; V2X; remote control; CAN data acquisition; autonomous coordination; information sharing; scenario testing
0" 引" 言
車聯(lián)網(wǎng)技術借助現(xiàn)代無線通信技術,可以實現(xiàn)車之間、車與外界之間的交互,能夠全自動地提醒駕駛員可能存在的安全隱患問題,進而有效地避免交通事故的發(fā)生[1]。但是車聯(lián)網(wǎng)的研發(fā)成本和測試成本普遍較高,對測試空間的需求也比較大,不太利于實驗室研究開發(fā)[2]。
本文設計了基于縮微小車的車聯(lián)網(wǎng)應用系統(tǒng)硬件開發(fā)環(huán)境,實現(xiàn)嵌入式端、計算機端、手機端協(xié)同,并且對車聯(lián)網(wǎng)縮微模型的各個硬件部分進行了說明。通過需求分析,設計了針對各個需求的車聯(lián)網(wǎng)縮微模型的軟件程序結構,且進行了程序?qū)崿F(xiàn)。另外,討論了車聯(lián)網(wǎng)的具體應用場景,針對實際應用場景進行了實驗室場景測試。本文設計較好地模擬了車聯(lián)網(wǎng)技術的應用場景,能夠仿真一些實際交通狀況,有助于解決實驗教學中基于車聯(lián)網(wǎng)開發(fā)所存在的問題。
1" 系統(tǒng)硬件設計
1.1" 系統(tǒng)硬件總體設計
本文依照實際中的車聯(lián)網(wǎng)技術框架,將實際車聯(lián)網(wǎng)的三部分系統(tǒng)即車載子系統(tǒng)、后臺中心子系統(tǒng)、路側(cè)子系統(tǒng)[3?6]轉(zhuǎn)變?yōu)檫m合實際開發(fā)需求的四層結構。所設計的車聯(lián)網(wǎng)縮微模型邏輯架構如圖1所示。
由下至上,感知層利用可以實現(xiàn)尋跡的相關傳感器和UWB模型對小車的速度、坐標、與其他小車的距離等信息進行采集,并進一步完成簡單的信息處理,將信息發(fā)送到通信層[7?10]。
通信層通過ZigBee和藍牙,將傳感器采集的經(jīng)過處理之后得到的數(shù)據(jù)信息和控制信息進一步發(fā)送到控制層。
控制層進行數(shù)據(jù)處理,并將數(shù)據(jù)在人機交互層進行相應的展現(xiàn),為模型制定控制策略,向車輛發(fā)出相應的控制信號。
車聯(lián)網(wǎng)縮微模型的硬件設計整體架構如圖2所示。
ARM核心微處理器采用的是STM32F405RGT6。傳感器和UWB模塊通過與各模塊相對應的接口來連接STM32處理器。總體結構分為上位機和下位機兩部分,人機交互設備和控制中心組成上位機,主要通信方式是藍牙。中繼小車的通信方式為ZigBee和藍牙,使用的ZigBee模塊工作頻率為2 400~2 450 MHz,產(chǎn)品采用CC2530型號芯片,點對點工作模式。測試中需要考慮的ZigBee模塊各項參數(shù)包括傳輸類型、PANID、MAC地址等。初始化設置完成后,各設備間就可以根據(jù)PANID是否相同進行自動搜索及通信。
1.2" 系統(tǒng)硬件模塊設計
1.2.1" 車載子系統(tǒng)
車載子系統(tǒng)主要是通過超聲波、紅外燈傳感器和UWB模塊實現(xiàn)數(shù)據(jù)的采集,在處理器進行一定的數(shù)據(jù)處理,并且通過車載通信模塊(ZigBee模塊和藍牙模塊)完成信息的交互[11?12]。車載子系統(tǒng)結構如圖3所示。
如圖3所示,核心處理器為STM32F405RGT6芯片,內(nèi)核為Cortex_M4,主頻為168 MB,具有多個I/O口,而且支持擴展。在小車動力方面,1個舵機用來控制前輪轉(zhuǎn)向,2個12V30FMG513電機控制后輪,此電機也可以獲取車輪狀態(tài)以得到一定的反饋,且小車搭載攝像頭。無線超帶寬(Ultra Wide Band, UWB)模塊采用ToF方法來測距,即測量超聲波在發(fā)射器和反射器之間的飛行時間。通過UWB模塊的標簽與小車連接實現(xiàn)小車的定位。
經(jīng)過系統(tǒng)設計,車載子系統(tǒng)可實現(xiàn)的主要功能包括:車速檢測、UWB模塊實時獲取位置信息、車距檢測、車輛循跡和能量檢測。
1.2.2" 路側(cè)子系統(tǒng)
路側(cè)子系統(tǒng)主要包括信號燈、路側(cè)工控機、交換機等設備。信號燈和路側(cè)工控機都與交換機相連,路側(cè)工控機讀取出信號燈的相位信息,封裝編碼后發(fā)送給路側(cè)單元(Road Side Unit, RSU),由RSU通過UDP向周圍的OBU廣播信號燈消息。
1.2.3" 后臺中心子系統(tǒng)
后臺中心子系統(tǒng)相當于圖1中的控制層和人機交互層,是車聯(lián)網(wǎng)的管理部分,主要負責協(xié)調(diào)調(diào)度。作為全系統(tǒng)的控制核心,后臺中心子系統(tǒng)主要用于處理和分析從底層采集的各種狀態(tài)和圖像數(shù)據(jù),并將來自用戶的控制信號發(fā)送到車載子系統(tǒng)和路側(cè)子系統(tǒng),從而實現(xiàn)人機交互,提升系統(tǒng)執(zhí)行效率。因此,后臺中心子系統(tǒng)具備以下功能:
1) 狀態(tài)記錄,能夠?qū)崟r同步小車當前的速度、電量、位置等信息,并且有一定的數(shù)據(jù)可視化功能,便于使用者查看;
2) 遠程控制,使用者能在人機交互終端控制縮微小車的移動,并且可以實現(xiàn)一定的場景模擬反饋。
2" 系統(tǒng)軟件程序設計
2.1" 車載子系統(tǒng)軟件設計
車載子系統(tǒng)設計包括控制器局域網(wǎng)絡(Controller Area Network, CAN)數(shù)據(jù)采集、后輪雙電機差速控制、自動循跡的實現(xiàn)、車輛坐標獲取及坐標運算、前車距離檢測、車輛跟隨與追趕策略等內(nèi)容,由于篇幅限制,本文主要介紹CAN數(shù)據(jù)采集、后輪雙電機差速控制。
2.1.1" CAN數(shù)據(jù)采集
CAN通過汽車的OBD接口可以讀取CAN總線消息,用USB CAN轉(zhuǎn)接口連接OBD接口,可將原始CAN數(shù)據(jù)以幀的形式通過串口通信傳輸至工控機。通過CAN總線讀取小車自身傳感器數(shù)據(jù),數(shù)據(jù)傳輸標識符為0x100,CAN模塊接收到數(shù)據(jù)之后需進行解碼,部分代碼如下:
Encoder_Left=rx[0]*(1?rx[1]);" " " " " " " " " " " " //左后輪速度
Encoder_Right=rx[2]*(1?rx[3]);" " " " " " " " " " " //右后輪速度
Rol1=(float)((rx[4]*256+rx[5])?15 000)/100;" " //前進方向角度
GZ=(rx[6]*256+rx[7]?32 768)/16.4;" " " " " "http://水平方向角速度
2.1.2" 后輪雙電機差速控制
實現(xiàn)小車的轉(zhuǎn)向需要舵機和電機進行配合,本文采用汽車普遍使用的兩個獨立的電機驅(qū)動后輪,采用后輪雙電機差速控制原理進行設計。
差速控制的實現(xiàn)代碼如下:
void Kinematic_Analysis(float velocity, float angle)
{
Target_A=velocity*(1+T*tan(angle)/2/L);
Target_B=velocity*(1?T*tan(angle)/2/L);" " " " " " " //后輪差速
Servo=SERVO_INIT+angle*K;" " " " " " " " " " " " "http://舵機轉(zhuǎn)向
}
代碼中velocity和angle分別是輸入的速度和前輪轉(zhuǎn)角。為了完成從前輪轉(zhuǎn)向角到舵機PWM控制引腳的脈沖寬度轉(zhuǎn)變,設置小車整體的系數(shù)K,這個系數(shù)與舵機的安裝及PWM的初始化有關,需要實際測量。
舵機的控制需要將運動學分析得到的目標速度送入PID控制器進行速度閉環(huán)控制,這樣才能輸出一個合理的實際速度。代碼如下:
int Incremental_PI_A(int Encoder, int Target)
{
static int Deangle, Pwm, Last_ Deangle;
Deangle =Target?Encoder;" " " " " " " " " " " " " " " "http://計算偏差
Pwm+=Velocity_KP*(Deangle?Last_Deangle)+Velocity_KI*
Deangle;
Last_ Deangle = Deangle;" " " " " " " " " " " //保存上一次偏差
return Pwm;" " " " " " " " " " " " " " " " nbsp; " " " " " " " //增量輸出
}
2.2" 后臺中心子系統(tǒng)軟件設計
后臺中心子系統(tǒng)軟件設計如下。針對來自縮微小車的數(shù)據(jù)信息如電量信息、速度信息、坐標信息等進行狀態(tài)數(shù)據(jù)處理,解析之后在后臺中心子系統(tǒng)環(huán)節(jié)用一定的數(shù)據(jù)可視化功能進行展示。狀態(tài)數(shù)據(jù)的解析需要定時刷新,與此同時處理和刪除一定的數(shù)據(jù)表。
針對數(shù)據(jù)狀態(tài)解析,把收到的數(shù)據(jù)信息存入緩存,使用系統(tǒng)自帶數(shù)據(jù)庫System.Collections.Generic對數(shù)據(jù)信息進行初始化處理,把滿足要求的數(shù)據(jù)封裝為List類型數(shù)據(jù),再解析出縮微小車的各項數(shù)據(jù)信息。
車輛的遠程控制主要通過開發(fā)Android APP手機端來實現(xiàn)。為了對藍牙通信模塊進行合法調(diào)用,在Android Manifest. xml文件中增加相關配置內(nèi)容:
lt;uses?permission android:name=\"android. permission. INTERNET\"/gt;
圖4所示是遠程控制APP界面,可以觀測到小車當前的速度、電量和方位信息,并且能夠通過搖桿、重力、按鍵等方式對小車進行遠程控制。
3" 車聯(lián)網(wǎng)場景測試
測試場景選擇十字路口,本文實驗鋪設了白底黑線的5個路口,其中包含1個十字路口、4個丁字路口,這道路之外的4個角落放置UWB定位基站,用于獲取裝載UWB定位標簽的縮微小車的位置。
采用如圖5所示的協(xié)調(diào)方案偽代碼描述該情境下小車的實施策略,在圖中Sem(占用道路情況)、Lock(是否處于鎖定狀態(tài))、State(當前的運行狀態(tài))三個變量表示縮微小車的當前狀態(tài)。小車可以向其他小車發(fā)送Sem、Lock、State三個變量的信息,通過無線通信實現(xiàn)小車運行狀態(tài)的共享。當其他小車收到相應的信息時,就能知道當前路口的占用情況。Lock變量表示當前小車處于鎖定狀態(tài),此時這輛小車不會受到其他小車發(fā)送信息的影響。
圖6所示為兩輛車相協(xié)調(diào)的流程示意圖,本文對兩輛車經(jīng)過同一個十字路口的各種情況進行討論。一開始兩輛縮微小車都正常行駛在道路上,Sem初值均為0。首先縮微小車1到達十字路口,發(fā)出占用信息Lock,Sem請求加1,表示前往先一條道路,但是縮微小車2已經(jīng)先行到達1號道路,那么縮微小車1就將State改變?yōu)镾top,待縮微小車的Lock狀態(tài)轉(zhuǎn)變并且Sem值改變之后再將State信息變換為Cross,從而進一步行駛。其余情況以此類推,最終按照圖6偽代碼所示的規(guī)則進行通信和協(xié)調(diào)控制,保證各小車在經(jīng)過十字路口不會發(fā)生沖突。
通過實驗測試可以看到縮微小車在經(jīng)過十字路口時的自主協(xié)調(diào)過程,小車之間通過通信模塊進行信息共享,進而根據(jù)先后和優(yōu)先級情況做出相應的綜合判斷,有效避免了實際情況下交通擁堵情況的發(fā)生。
4" 結" 語
車聯(lián)網(wǎng)V2X技術作為自動駕駛實現(xiàn)的前提,使車輛與周圍車輛以及道路進行相互通信,從而使得車輛在換道等過程中獲得信息并進行決策[13?14]。
為了模擬車聯(lián)網(wǎng)應用場景,本文設計了基于V2X的車聯(lián)網(wǎng)縮微模型,從硬件方面說明了車聯(lián)網(wǎng)縮微模型的系統(tǒng)框架、硬件整體架構,進一步介紹了組成車聯(lián)網(wǎng)縮微模型的三個部分,即車載子系統(tǒng)、路側(cè)子系統(tǒng)和后臺中心子系統(tǒng)的硬件實現(xiàn)方案。對車聯(lián)網(wǎng)縮微模型的軟件部分進行了說明,分別從車載子系統(tǒng)和后臺中心子系統(tǒng)兩部分進行闡述。
針對實際車聯(lián)網(wǎng)應用場景進行了分析和仿真開發(fā),最后根據(jù)所設計的車聯(lián)網(wǎng)縮微模型進行系統(tǒng)測試,驗證了本文系統(tǒng)設計的實用性和可行性。
注:本文通訊作者為吳菁晶。
參考文獻
[1] XU Q, LIU W, SU Z Y, et al. Review on the evolutionprocess and key technologies of V2X?based protocol [J]. Chinese control and decision conference, 2022, 34: 979?983.
[2] SEHLA K, NGUYEN T M T, PUJOLLE G, et al. Resource alloc?ation modes in C?V2X: from LTE?V2X to 5G?V2X [J]. IEEE Internet of Things journal, 2022, 9(11): 8291?8314.
[3] 劉宗巍,匡旭,趙福全.V2X關鍵技術應用與發(fā)展綜述[J].電訊技術,2019,59(1):117?124.
[4] ABDALLAH M, ABDALLAH S, PARISA H, et al. Edge?enabled V2X service placement for intelligent transportation systems [J]. IEEE transactions on mobile computing, 2021, 20(4): 1380?1392.
[5] 林曉伯,鄭圣,邱佳慧,等.5G+MEC承載車聯(lián)網(wǎng)業(yè)務傳輸性能測試與驗證[J].現(xiàn)代電子技術,2024,47(3):171?178.
[6] ZHOU H B, XU W C, CHEN J C, et al. Evolutionary V2X technologies toward the internet of vehicles: challenges and opportunities [J]. Proceedings of the IEEE, 2022,108(2):308?323.
[7] 陰曉峰,朱宇航,趙小娟,等.基于5G V2X通信的車輛協(xié)同跟隨控制策略研究[J].公路交通科技,2022,39(5):149?156.
[8] PENG G H, LUO C L, ZHAO H Z, et al. A novel lattice model integrating the cooperative deviation of density and optimal flux under V2X environment [J]. Chinese physics B, 2023, 32(1):716?723.
[9] 劉沖,張月霞.基于V2X和UAV的車輛協(xié)同定位方法研究[J].計算機仿真,2022,39(9):150?155.
[10] 趙紅專,吳浩,盧寧寧,等.V2X環(huán)境下主干路相鄰交叉口多目標協(xié)同優(yōu)化模型研究[J].計算機應用研究,2022,39(10):3003?3007.
[11] 李源,劉瑋.車聯(lián)網(wǎng)產(chǎn)業(yè)進展及關鍵技術分析[J].中興通訊技術,2020,26(1):5?11.
[12] 葛元,張為峰,韓延濤,等.基于C?V2X的車路群體協(xié)同混合組網(wǎng)[J].無線電工程,2022,52(1):11?18.
[13] 李婉瑩,邱斌,蔣為,等.基于“分簇”的V2X車載廣播信息傳輸策略[J].現(xiàn)代電子技術,2020,43(1):10?14.
[14] 劉丁柯.基于車聯(lián)網(wǎng)的數(shù)據(jù)采集系統(tǒng)及定位技術研究[D].桂林:桂林電子科技大學,2020.
作者簡介:楊一桐(1990—),女,遼寧沈陽人,碩士研究生,實驗師,研究方向為無線傳感器網(wǎng)絡等。
吳菁晶(1981—),女,遼寧沈陽人,博士研究生,副教授,研究方向為車聯(lián)網(wǎng)、光網(wǎng)絡可靠性等。