国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Android平臺的車路協(xié)同系統(tǒng)車載終端設計

2018-07-10 07:20:04李博森何大治馮奕佳劉思源
現(xiàn)代電子技術 2018年13期
關鍵詞:智能交通程序設計

李博森 何大治 馮奕佳 劉思源

摘 要: 基于Android操作系統(tǒng),通過獲取車載單元與路側(cè)單元的通信信息,開發(fā)出一套車路協(xié)同系統(tǒng)的車載終端平臺。該平臺具有突發(fā)情況預警、緊急車輛優(yōu)先通行、最佳車速引導等功能,并且可以根據(jù)具體需求不斷豐富與完善其功能。該車載終端系統(tǒng)測試效果良好,對車路協(xié)同系統(tǒng)的產(chǎn)業(yè)化應用具有一定的推動作用。

關鍵詞: 智能交通; Android; 車路協(xié)同系統(tǒng); 輔助駕駛; 車載終端; 程序設計

中圖分類號: TN919.3?34; TP311.1 文獻標識碼: A 文章編號: 1004?373X(2018)13?0083?05

Abstract: On the basis of Android operating system, a set of vehicle terminal platform for CVIS (cooperative vehicle infrastructure system) was developed by acquiring the communication information of the vehicle unit and roadside unit. The platform has the functions of emergency warning, priority pass of emergency vehicle and best speed guidance, and can enrich and improve its functions according to the specific needs. The vehicle terminal system has perfect test results, and a certain promotion effect for the industrial application of CVIS.

Keywords: intelligent transportation system; Android; CVIS; assisted driving; vehicle terminal; programming

0 引 言

隨著經(jīng)濟與社會的快速發(fā)展,交通問題逐漸成為世界各國大城市急需解決的重要問題。據(jù)不完全統(tǒng)計,在中國,每年因車禍死亡人數(shù)高達六萬多人,全世界每年因車禍造成的死亡人數(shù)超過130多萬。其次,特大城市的交通擁堵現(xiàn)象越來越嚴重,不但造成時間上的浪費,而且加重了環(huán)境污染?,F(xiàn)在已有的高峰限行、拍牌限購、尾號限行等手段調(diào)節(jié)效果不明顯,不能從根本上解決問題[1]。為了提高行車安全,同時為了更好地解決現(xiàn)存的交通擁堵問題,最大化地提高人們的出行效率,世界各國都逐步進駐智能交通領域[2]。

智能交通中最核心的一個子系統(tǒng)是車路協(xié)同系統(tǒng)。車路協(xié)同系統(tǒng)采用先進的通信技術以及新一代互聯(lián)網(wǎng)技術,全方位實現(xiàn)車車、車路的動態(tài)實時監(jiān)測,在盡可能短的時間內(nèi),實現(xiàn)各種有效信息的交互與共享[3]。車路協(xié)同系統(tǒng)通過對整個動態(tài)交通信息的采集與融合,進行車輛主動安全控制和道路協(xié)同管理。然而,我國的車路協(xié)同系統(tǒng)起步較晚,發(fā)展較慢,各大車廠對于車路協(xié)同系統(tǒng)還處于試驗研發(fā)階段,并沒有大規(guī)模的商業(yè)化應用[4]。

目前國內(nèi)的車載終端主要以導航和娛樂為目的,還沒有商業(yè)化的與車路協(xié)同系統(tǒng)相結(jié)合的車載終端人機交互系統(tǒng)。本文以Android操作系統(tǒng)為平臺,開發(fā)出針對車路協(xié)同系統(tǒng)的車載終端平臺,以達到輔助駕駛,提高行車安全與交通效率的目的[5],并在上海交通大學閔行校區(qū)車路協(xié)同系統(tǒng)示范區(qū)進行示范應用。由于Android操作系統(tǒng)的開放性與可開發(fā)性,該車載終端平臺可以根據(jù)具體需求不斷豐富完善具體功能,為輔助駕駛、智能交通的發(fā)展提供低成本、易實施的技術路線與基礎平臺[6],對車路協(xié)同系統(tǒng)的實用化與商業(yè)化具有建設性意義。

1 車路協(xié)同系統(tǒng)介紹

車路協(xié)同系統(tǒng)由路側(cè)單元(RSU)和車載單元(OBU)組成。路側(cè)單元采集道路信息與車輛信息,將其接入更大的基礎設施核心網(wǎng)絡,并且將各種必要信息周期性廣播至車載單元。車載單元從路側(cè)單元采集道路信息并且播發(fā)自身信息,對道路信息做出判斷和反應。

1.1 路側(cè)單元

車路協(xié)同系統(tǒng)的路側(cè)單元分布于道路基礎設施中,如交通信號燈、路燈、電線桿等基礎設施,在其中加入DSRC通信設備并加以改裝,構(gòu)成車路協(xié)同系統(tǒng)中的路側(cè)單元。路側(cè)單元首先采集道路信息與車輛信息,對于采集到的數(shù)據(jù),路側(cè)單元通過網(wǎng)絡實時與數(shù)據(jù)處理中心進行交互,以等待下一步的指令。此外,路側(cè)單元將采集到的重要基本信息通過DSRC通信技術傳輸?shù)杰囕v中的車載單元,供車載單元進行判決與反應。路側(cè)DSRC通信設備如圖1所示。

1.2 車載單元

車路協(xié)同系統(tǒng)的車載單元為DSRC信號交換器和一個基于Android系統(tǒng)的車載終端。DSRC信號交換器采集道路信息與周圍車輛基本信息,并且將采集到的指令信息在Android設備上解碼。車載終端以基于Android操作系統(tǒng)的平板電腦為載體,其操作方便,在此平臺上可以開發(fā)出針對不同功能場景的應用,具有可擴展性,可用于以后的不斷更新與完善。

如圖2所示為車路協(xié)同系統(tǒng)整體架構(gòu),車載單元包括人機交互界面、數(shù)據(jù)處理模塊和通信模塊,通信協(xié)議采用DSRC協(xié)議,車載單元通過BOX與路側(cè)單元進行通信,路側(cè)單元在接收到車載單元的信息后將其發(fā)送到服務器端(Server)[7]。服務器可以在搜集到各車輛信息(包括位置信息、車速、車輛數(shù)量等)和路測設備狀態(tài)信息(紅綠燈周期)后作出交通擁堵預報、路測設備診斷等,并且服務器可以通過紅綠燈控制器控制紅綠燈周期,從而保障行車安全并且優(yōu)化車輛的路口通行。

2 車載終端系統(tǒng)主要功能實現(xiàn)

針對保障行車安全、提高行車效率與人性化操作的需求,該Android車載終端系統(tǒng)主要具有以下功能:

1) 對突發(fā)狀況進行預警與警告;

2) 特殊車輛優(yōu)先通行;

3) 車速引導判斷與計算;

4) 人性化的人機交互界面。

2.1 突發(fā)情況的預警與警告

傳統(tǒng)的機動車安全輔助設備依靠雷達、機器視覺傳感器設備對短距離道路情況進行獲取,在車輛危險預警方面存在很大的局限性。本車載終端系統(tǒng)采用不同的解決方案:遠處路側(cè)單元采集突發(fā)狀況,上傳至服務器,服務器將信息散發(fā)至其他各個路側(cè)單元;鄰近的路側(cè)單元通過DSRC通信技術及時向車載單元發(fā)送突發(fā)狀況預警,車載終端可提前對突發(fā)情況做出反應,保障行車安全。

2.2 特殊車輛優(yōu)先通行

對于救護車和消防車等緊急救助車輛,常常由于交通擁堵耽誤寶貴救助時間[8]。救護車等緊急車輛安裝該車載終端后,在行駛至十字路口之前,通過車路協(xié)同系統(tǒng)可以將車輛信息提前通過路側(cè)單元發(fā)送至服務器,服務器可以提前調(diào)整交通信號燈的周期和紅綠燈的亮滅,從而保障當緊急車輛行駛至十字路口時,可以安全順暢地通行。

2.3 車速引導功能

交叉路口為車輛事故高發(fā)區(qū),而車速引導功能可以提高交叉路口的行車安全,同時提高交通效率,降低交通延誤。為便于車速引導系統(tǒng)實際程序的開發(fā),將實際道路交叉口與車輛進行模型化假設:

1) 車輛類型整體統(tǒng)一,不考慮不同車輛不同體積的影響;

2) 只考慮單一道路交叉口的車速引導,不考慮相鄰道路交叉口的影響;

3) 不考慮行人和其他非機動車輛的影響;

4) 對直行車輛最高時速限制為60 km/h,轉(zhuǎn)彎車輛限制[9]為30 km/h。

如圖3所示為車速引導流程框圖。車速引導算法考慮針對不同優(yōu)先級的車輛,擁有不同的車速引導權限。當車輛即將通過路口時,首先判斷車輛的優(yōu)先級。如果車輛為高優(yōu)先級的緊急車輛,且在信號燈周期內(nèi)通過車速引導可以順利通過,則正常通行。如果車輛不能通過車速引導正常通過,則可以在不影響其他道路安全通行的前提下,提前變換交通信號燈的狀態(tài),保障優(yōu)先級車輛的順利通行。如果為普通車輛,則其沒有改變交通信號燈狀態(tài)的權限,只需通過車速引導使其高效順利通過即可。

2.4 人機交互界面

為了道路信息的直觀顯示,便于將車輛與道路信息及時向駕駛員呈現(xiàn),該車載終端系統(tǒng)具有以下人機交互功能[10]。

2.4.1 地圖顯示功能

為了將車輛信息與道路信息直觀地呈現(xiàn),該車載終端系統(tǒng)將各種車輛與道路信息在地圖上實時動態(tài)顯示。地圖顯示模塊調(diào)用第三方的Map服務,使用百度公司的地圖API(Application Programming Interface,應用程序編程接口)服務,可以方便快捷地調(diào)用定位、導航等服務[11]。同時,百度地圖支持多個地點標志Marker的顯示,通過經(jīng)緯度即可對任一地點進行定位,讓用戶對當前路況信息一目了然,在因惡劣天氣導致的能見度低的情況下可以提高行車安全。

2.4.2 圖形顯示與操作界面

圖形化操作界面可以顯示的信息有安全警示信息,例如,前方有道路正在施工,且施工單位含有路側(cè)終端設備,可以將施工位置的經(jīng)緯度通過廣播發(fā)送,車載終端接收后發(fā)送給APP的數(shù)據(jù)處理模塊,若該施工位置和行車路線有沖突,則顯示該警示消息;還可以顯示最佳行駛方案,當行車即將到達紅綠燈時,紅綠燈上的路側(cè)終端設備將紅綠燈的位置、狀態(tài)及時長通過廣播發(fā)送,車載終端在輪詢時接收到這些信息后通過最優(yōu)車速模型解算出最優(yōu)車速,通過圖形化界面顯示出來。還可以通過按鈕選擇是否需要地圖導航的即時更新或語音播報。圖形顯示與操作界面如圖4所示。

2.4.3 語音提示

語音模塊可以將當前接收到的安全警示信息和最佳行駛方案通過語音播報的方式傳遞給用戶,在駕車過程中能夠更加安全、方便地接收到路況信息,減少用戶由于查看顯示界面造成的安全隱患。

3 車載終端系統(tǒng)主要模塊代碼實現(xiàn)

整個車速引導系統(tǒng)基于Google Android開源平臺設計開發(fā),系統(tǒng)使用Eclipse集成Android開發(fā)環(huán)境,利用Java語言進行開發(fā),Java版本為1.8.0_65,Android系統(tǒng)版本為4.4.2(API 19)。程序開發(fā)過程主要包括如下幾個模塊的具體實現(xiàn)。

3.1 地圖模塊

出于性能優(yōu)化考慮,Android的UI操作并不是線程安全的,如果有多個線程并發(fā)操作UI組件,則可能會導致線程紊亂問題。為了解決這個問題,Android制定了一條規(guī)則:只允許UI線程修改Activity里面的UI組件。同時,Android提供了一種解決方案,即使用Handler實現(xiàn)線程之間的通信。

基于上述規(guī)則,新啟動的線程無法動態(tài)改變界面組件的屬性值,此時就需要借助Handler的消息傳遞機制來完成,讓新啟動的線程周期性地改變界面組件的工作。在主界面Activity被創(chuàng)建時構(gòu)造一個Handler對象MapUpdater,讓它控制兩個線程對界面的修改,其中一個線程負責更新地圖上標志的位置,如本車位置[12];另一個線程負責接收安全警示消息和行駛方案,顯示在圖形界面并且進行語音播報。

而這兩個線程相對于主線程是異步的,為了讓主線程能適時地處理新啟動的線程發(fā)送的消息,把更新界面組件的控制權交給子線程,顯然只能通過回調(diào)的方式實現(xiàn)。這里使用Observer設計模式,在Java中則通過Observable類和Observer接口實現(xiàn)這一設計模式,具體實現(xiàn)過程如下:

Handler MapUpdater=new Handler();

//調(diào)控主線程和子線程的Handler

Runnable MapUpdate=new Runnable()

//更新地圖信息的線程

Runnable MsgUpdate = new Runnable()

//更新警示消息和行車方案

class IsUpdateEnabled extends Observable{}

//控制消息更新線程開關的Observable類。卷屏關閉時,線程將不運行

class Watcher implements Observer{}

//監(jiān)聽消息更新線程開關的Watcher類

3.2 數(shù)據(jù)處理模塊

Android平臺上有兩種基本的事件處理模型,分別是基于監(jiān)聽和基于回調(diào)的事件處理模型,從代碼實現(xiàn)的角度來看,基于回調(diào)的事件處理模型更簡單。而Service組件與其他組件相互通信的方式便是通過onBind方法返回一個IBinder對象,讓其他組件通過該對象和Service組件通信,這也可以視為一種回調(diào)的方式。數(shù)據(jù)處理模塊是一個繼承自Service的類ComuService,在主界面的Activity啟動時即和ComuService綁定,并且在連接成功后獲取Service的onBind方法返回的MyBinder對象(繼承自Binder類)[13]。同時,在Activity中還需要構(gòu)造ServiceConnection對象,該對象用于監(jiān)聽訪問者和Service之間的連接情況,在ServiceConnection的onServiceConnected()方法中有一個IBinder對象,在連接成功時該方法會產(chǎn)生IBinder對象,所以不需要再在其他地方構(gòu)造IBinder對象。

綁定完成后,ComuService中會有一個新的線程周期性地接收和處理從車載終端傳送過來的數(shù)據(jù)[14]。新建線程的原因有兩點:一是Service不會專門啟動一個單獨的進程,而是和它所在的應用位于同一個進程中;二是Service不能直接處理耗時的任務,否則會引起UI線程阻塞,引發(fā)ANR(Application Not Responding)異常。

以下是ComuService類的定義:

public class ComuService extends Service {

private String message;

//安全警示消息或最優(yōu)行駛方案

private int event=0;

//1?>車車相遇;2?>行駛方案;3?>限速提示;4?>道路施工

private int speed=0;

//限速牌提示的最高速度或能通過紅綠燈的最佳車速

private double lat=0;

//本地車緯度

private double lng=0;

//本地車經(jīng)度

private double latR=0;

//遠程車緯度(動態(tài)改變)

private double lngR=0;

//遠程車經(jīng)度

private double latS=0;

//紅綠燈、限速牌或施工位置的緯度(靜態(tài)位置)

private double lngS=0;

//紅綠燈、限速牌或施工位置的經(jīng)度

public class MyBinder extends Binder;}

//與被綁定組件通信的對象

3.3 語音模塊

語音模塊使用一個內(nèi)置的類:android.speech.tts.TextToSpeech,在主界面的Activity啟動時新建一個對象mTextToSpeech并初始化它的監(jiān)聽器,初始化部分代碼如下:

mTextToSpeech=new TextToSpeech(this,new TextToSpeech.OnInitListener(){@Override

public void onInit(int status){}

});

初始化后即可通過speak函數(shù)直接朗讀出消息warnMsg,如下所示,QUEUE_ADD參數(shù)表示播放完之前的語音任務后才播報本次內(nèi)容,原因是TextToSpeech類以隊列方式存放需要播報的消息,可以通過參數(shù)設置選擇播報方式。

mTextToSpeech.speak(warnMsg,TextToSpeech.QUEUE_ADD,null);

4 測試結(jié)果

按照預先設計的功能要求,在上海交通大學閔行校區(qū)車路協(xié)同系統(tǒng)示范區(qū)內(nèi)進行測試,測試結(jié)果可以在地圖上實時動態(tài)顯示車輛和道路信息,通過語音提示駕駛員,實現(xiàn)緊急突發(fā)情況報警、緊急車輛優(yōu)先通行和車速引導等功能,達到了預期效果。車速引導系統(tǒng)測試截圖如圖5所示。

5 結(jié) 語

本文以Android操作系統(tǒng)為平臺,開發(fā)了一套基于車路協(xié)同系統(tǒng)的車載終端系統(tǒng)。該車載終端系統(tǒng)可以實時與道路設備和其他車輛進行信息交互,實現(xiàn)了突發(fā)情況預警、特殊車輛優(yōu)先通行和車速引導等功能,并且由于Android操作系統(tǒng)的易開發(fā)性,后期可以根據(jù)具體需求不斷增加完善新功能。經(jīng)過實際車路測試,該車載終端系統(tǒng)使用方便,運行穩(wěn)定可靠,具有較高的應用價值與推廣前景。

參考文獻

[1] 邵春福.我國城市交通發(fā)展中的關鍵問題及對策建議[J].北京交通大學學報,2016,40(4):32?36.

SHAO Chunfu. Some key problems and suggestions for the development of urban transportation in China [J]. Journal of Beijing Jiaotong University, 2016, 40(4): 32?36.

[2] 陸化普,李瑞敏.城市智能交通系統(tǒng)的發(fā)展現(xiàn)狀與趨勢[J].工程研究?跨學科視野中的工程,2014,6(1):6?19.

LU Huapu, LI Ruimin. Development status and trends of urban intelligent transportation systems [J]. Journal of engineering studies, 2014, 6(1): 6?19.

[3] 陶永,閆學東,王田苗,等.面向未來智能社會的智能交通系統(tǒng)發(fā)展策略[J].科技導報,2016,34(7):48?53.

TAO Yong, YAN Xuedong, WANG Tianmiao, et al. Intelligent transportation system development strategy for future smart society [J]. Technology review, 2016, 34(7): 48?53.

[4] 賀漢根,孫振平,徐昕.智能交通條件下車輛自主駕駛技術展望[J].中國科學基金,2016,30(2):106?111.

HE Hangen, SUN Zhenping, XU Xin. Autonomous driving techniques under intelligent transportation conditions: review and outlook [J]. Bulletin of national natural science foundation of China, 2016, 30(2): 106?111.

[5] 郭克友,王藝偉,郭曉麗.基于Android系統(tǒng)的機動車輔助駕駛功能的實現(xiàn)[J].實驗技術與管理,2016,33(2):106?109.

GUO Keyou, WANG Yiwei, GUO Xiaoli. Realization of assistance driving functions of vehicles based on Android system [J]. Experimental technology and management, 2016, 33(2): 106?109.

[6] 唐碩.基于Android平臺的車聯(lián)網(wǎng)車載應用軟件的設計與實現(xiàn)[D].北京:北京郵電大學,2014.

TANG Shuo. Design and implementation of car client application on IOV based on Android platform [D]. Beijing: Beijing University of Posts and Telecommunications, 2014.

[7] 蔡伯根,王叢叢,上官偉,等.車路協(xié)同系統(tǒng)信息交互仿真方法[J].交通運輸工程學報,2014,14(3):111?119.

CAI Bogen, WANG Congcong, SHANGGUAN Wei, et al. Simulation method of information interaction in CVIS [J]. Journal of traffic and transportation engineering, 2014, 14(3): 111?119.

[8] 龍文民,褚端峰,施輝,等.車路協(xié)同環(huán)境下緊急車輛優(yōu)先通行方法研究[J].中國安全科學學報,2015,25(7):141?146.

LONG Wenmin, ZHU Duanfeng, SHI Hui, et al. Algorithm research on traffic priority for emergency vehicles based on cooperative vehicle infrastructure system [J]. China safety science journal, 2015, 25(7): 141?146.

[9] 李鵬凱,楊曉光,吳偉,等.車路協(xié)同環(huán)境下信號交叉口車速引導建模與仿真[J].交通信息與安全,2012,30(3):136?140.

LI Pengkai, YANG Xiaoguang, WU Wei, et al. Modeling and simulation of vehicle speed guidance at signalized intersections in vehicle?road cooperative environment [J]. Journal of transport information and safety, 2012, 30(3): 136?140.

[10] 陳志忠,孫曉聰,任鵬,等.基于Android平臺的車聯(lián)網(wǎng)信息管理系統(tǒng)[J].科技與創(chuàng)新,2016(23):91.

CHEN Zhizhong, SUN Xiaocong, REN Peng, et al. Car network information management system based on Android platform [J]. Science and technology & innovation, 2016(23): 91.

[11] 王萬麗.百度地圖API應用綜述[J].電腦編程技巧與維護,2017(5):35?36.

WANG Wanli. Baidu Map API application review [J]. Computer programming skills & maintenance, 2017(5): 35?36.

[12] 高暢.車路協(xié)同環(huán)境下的車輛無線定位方法研究[D].北京:北京交通大學,2016.

GAO Chang. Vehicle wireless location methods in connected vehicle environment [D]. Beijing: Beijing Jiaotong University, 2016.

[13] 謝原武,龍文.基于 Android 開發(fā)的 APP 數(shù)據(jù)存儲研究[J].電腦知識與技術,2016,12(28):12?13.

XIE Yuanwu, LONG Wen. Research on APP date storage based on Android platform [J]. Computer knowledge and technology, 2016, 12(28): 12?13.

[14] 上官偉,史斌,蔡伯根,等.車路協(xié)同環(huán)境下信道接入?yún)f(xié)議的優(yōu)化方法[J].交通運輸系統(tǒng)工程與信息,2016,16(6):47?53.

SHANGGUAN Wei, SHI Bin, CAI Bogen, et al. Optimization of channel access protocols and performance evaluation in cooperative vehicle infrastructure environment [J]. Journal of transportation systems engineering and information technology, 2016, 16(6): 47?53.

猜你喜歡
智能交通程序設計
基于Visual Studio Code的C語言程序設計實踐教學探索
計算機教育(2020年5期)2020-07-24 08:52:56
從細節(jié)入手,談PLC程序設計技巧
電子制作(2019年9期)2019-05-30 09:42:04
基于物聯(lián)網(wǎng)的智能交通系統(tǒng)架構(gòu)
基于物聯(lián)網(wǎng)的智能交通系統(tǒng)中的車輛通信網(wǎng)絡
高職高專院校C語言程序設計教學改革探索
基于支持向量機的車牌字符識別方法
智能交通中的車輛檢測專利技術綜述
PLC梯形圖程序設計技巧及應用
江津市| 舒城县| 龙南县| 铅山县| 石楼县| 出国| 阿坝| 天等县| 博野县| 丽水市| 阿瓦提县| 巩义市| 宣威市| 大城县| 沈丘县| 乐都县| 阿拉善左旗| 洱源县| 镇坪县| 太白县| 富宁县| 鄂州市| 兴宁市| 上杭县| 迁西县| 潮安县| 新绛县| 芦山县| 岳西县| 天门市| 柯坪县| 沂水县| 华宁县| 读书| 鹰潭市| 边坝县| 保德县| 松江区| 永修县| 三门峡市| 常山县|