(山東建筑大學 信息與電氣工程學院,濟南 250101)
汽車數(shù)量的不斷攀升,停車資源日益短缺,尋找停車場成為駕車出行的頭等難題[1-3]。作為智能交通的重要組成部分,停車誘導(dǎo)系統(tǒng)使得停車變得更加高效、便捷[4]。隨著LBS[5]、MQTT協(xié)議[6]等技術(shù)不斷應(yīng)用到停車誘導(dǎo)系統(tǒng)中,用戶可實時通過手機軟件查看目的地附近的停車場信息。但是,目前的停車誘導(dǎo)系統(tǒng)仍存在一些問題:首先,其實時性較差,不能根據(jù)路況和場內(nèi)空閑車位的變化適時誘導(dǎo)停車;其次,觸摸式操作,增加了駕駛風險。本文主要工作在以下兩個方面:1)實時獲取道路信息以及停車場剩余車位信息,避免擁堵路段;2)增加語言交互功能,以減少駕駛風險。
停車誘導(dǎo)系統(tǒng)由中心控制系統(tǒng)、智能終端兩部分組成,如圖1所示。
中心控制系統(tǒng)包括中心服務(wù)器、請求管理中心與停車場管理中心三部分。通過與百度地圖服務(wù)器通信獲取道路信息,與停車場服務(wù)器通信獲取場內(nèi)空閑車位信息,與智能終端通信,接收客戶端的請求,并返回請求處理結(jié)果。
智能終端為智能手機,用戶通過智能終端向服務(wù)器發(fā)送誘導(dǎo)請求,獲取誘導(dǎo)結(jié)果。在誘導(dǎo)過程中,若產(chǎn)生目的地的變更,用戶無需操作手機,通過語音交互功能即可選擇最佳停車方案。
圖1 停車誘導(dǎo)系統(tǒng)結(jié)構(gòu)
停車場推薦模型如圖2所示。根據(jù)用戶提供的起始位置和目的地位置,將距離目的地500米以內(nèi)的M個停車場首先根據(jù)空余車位進行篩選,篩選后的停車場綜合考慮停車場至目的地的步行距離、駕駛距離、駕駛時間、行駛路況、停車費用等因素,根據(jù)不同的優(yōu)化目標向用戶推薦不同的停車場停車誘導(dǎo)方案。
圖2 停車誘導(dǎo)模型
2.1.1 準備工作
百度地圖是國內(nèi)主要的地圖服務(wù)提供商,提供了Web開發(fā)和移動開發(fā)等開發(fā)SDK[7-8]。對百度地圖進行開發(fā),需要先下載百度地圖Android軟件開發(fā)包和申請百度地圖密鑰。軟件開發(fā)包中的baidumapapi.jar和libBMapApiEngine_v1_3_2.so文件為百度地圖應(yīng)用開發(fā)的支撐。準備工作完成后,即可對地圖進行顯示(MapView)、控制(MapController)、增添層疊信息(OverLay)等操作。
2.1.2 誘導(dǎo)信息獲取
中心服務(wù)器獲取到用戶提供的起始位置后,使用getPoint(address: String, callback: Function, city: String)方法向百度地圖發(fā)送起始點位置以驗證起始位置是否存在;若存在,百度地圖則以地址所在的坐標點Point為參數(shù)調(diào)用回調(diào)函數(shù);中心控制系統(tǒng)收到百度地圖服務(wù)器發(fā)回的回調(diào)函數(shù)后,再以PoiNearbySearchOption keyword(java.lang.String key) 等方法向百度地圖獲取目的地附近的停車場;百度地圖識別目的地位置,以Array
圖3 道路信息獲取流程圖
2.1.3 交通擁堵時的信息獲取
在誘導(dǎo)過程中,中心控制系統(tǒng)不斷通過http://api.map.baidu.com/traffic/v1/road?road_name=道路名稱&city=城市名稱&ak=用戶AK //GET請求語句獲取道路的實時路況信息,實時的status參數(shù)與與存儲的的status參數(shù)進行對比,從而判斷擁堵狀況是否升級。若產(chǎn)生擁堵升級狀況,則系統(tǒng)重新進行規(guī)劃路線,具體步驟如3.1.2所示。
本文的停車誘導(dǎo)過程如下:系統(tǒng)獲取到用戶提交的目的地信息后,通過多屬性決策算法,從目標停車場集合中根據(jù)不同優(yōu)化目標選擇出最佳方案并推薦給用戶。停車場推薦算法根據(jù)不同的優(yōu)化目標選擇多種推薦方式:時間最優(yōu)、距離最優(yōu)以及費用最優(yōu)。用戶根據(jù)自己的需求選擇需要的方式。每種方式所考慮的因素是相同的,不同之處在于各因素的權(quán)重系數(shù)。
考慮的客觀因素有:用戶位置距停車場位置的距離、停車場位置距目的地位置的距離、從用戶位置到停車場的道路狀況、停車場費用和剩余停車位。相關(guān)定義如下:
1)用戶位置距停車場位置的駕駛距離,記為D。用戶需將自己的請求(包含位置信息)發(fā)送至服務(wù)器,服務(wù)器通過調(diào)用百度地圖 API 接口,獲取停車場與目的地之間的距離,并用距離表示該值。
2)停車場位置距目的地位置的步行距離,記為L。用戶將車停至停車場后需步行至目的地。步行距離與用戶選擇停車產(chǎn)的可能性密切相關(guān),步行距離越小,則選擇該停車場的可能性越大。
3)停車場剩余車位數(shù)C。此數(shù)據(jù)為停車場實時數(shù)據(jù),通過停車場服務(wù)器鏈接獲取。
4)駕車至停車場行駛時間T。該值受當前位置與目標停車場之間的距離和道路交通狀況影響,可以通過調(diào)用百度地圖 API 接口,直接獲取當前位置到達目的地之間的行駛時間。
5)停車場費用,記為F。不同停車場收費標準不盡相同。本文對各個停車場的收費標準錄入管理中心,在最優(yōu)停車場場模型中根據(jù)用戶提交的預(yù)計停車時間計算出數(shù)值并將數(shù)值賦值給F。
6)道路狀況,記為S。道路在不同時間段的道路狀況不盡相同,該數(shù)據(jù)通過百度地圖接口進行獲取,通過設(shè)定閾值將交通狀況分為通暢、緩行、擁堵以及嚴重擁堵四個級別,不同級別對應(yīng)不同數(shù)值且遞增。本文將通暢的擁堵系數(shù)賦值為1,緩行的擁堵系數(shù)賦值為2,擁堵的擁堵系數(shù)賦值為3,嚴重擁堵的擁堵系數(shù)賦值為4。在進行最優(yōu)停車場推算時,系統(tǒng)以路口為節(jié)點,獲取節(jié)點間的道路狀況,用各路段的距離與其相應(yīng)的擁堵系數(shù)就除以線路總距離,求得的值賦值給S,如式(1)所示:
(1)
式(1)中,Sij為第i個停車場的第j個方案,l1、l2、l3、l4分別為通暢路段距離、緩行路段距離、擁堵路段距離以及嚴重擁堵路段距離,ρ1、ρ2、ρ3、ρ4分別為通常、緩行、擁堵以及嚴重擁堵四種狀況下的擁堵系數(shù),l為該方案的路線總長度。
通過分析用戶在實際生活中選擇停車場的傾向性不難發(fā)現(xiàn):停車場與用戶當前位置相隔距離越小的優(yōu)先級越高;停車場內(nèi)剩余車位越多的,用戶前往停車的優(yōu)先級越高;停車場每小時停車費用越低,優(yōu)先級越高;道路交通狀況越好(取值越小)優(yōu)先級越高;駕駛時間越短優(yōu)先級越高。
多屬性決策算法具體如下:
1)選取G={D,L,C,T,F,S}為決策方案集,P={p11,p12…p1r,p21,p22…p2q,…,pm1…pmy}
為符合要求停車場的路線集合,pij為第i個停車場的第j個方案。記v為所有方案的數(shù)量。建立決策矩陣Av*6;
2)將決策矩陣Av*6中的數(shù)據(jù)進行無量綱化處理,得到標準矩陣Z=(zij)v*6
3)針對不同優(yōu)化目標,構(gòu)建指標權(quán)重向量W=[wdwlwcwtwfws]T;
4)構(gòu)建加權(quán)規(guī)范化決策矩陣C=Z*W;
5)計算停車場綜合屬性Ti(w)=∑Z*W;
本文先通過用戶提交的目的地位置附近停車場的參數(shù)(量綱不一致)進行標準化處理后,再進行推算分析,即可得最優(yōu)停車場推算公式如式(2)所示:
(2)
其中:w為因素權(quán)重系數(shù),按照因素在最優(yōu)推算時重要性來確定且w>0,Dmax、Dmin為用戶位置距停車場位置的最大、最小駕駛距離;Lmax、Lmin為停車場位置距目的地位置的最大、最小步行距離;Cmax、Cmin為停車場實時剩余車輛最多、最少的賦值;Tmax、Tmin為當前位置到目標停車場的需要的最大、最小時間;Smax、Smin為道路實時路況的最大值、最小值。通過式(1)的推算,可以得到某一用戶到達各停車場的評估值T停車場編號值越小,停車場被選擇優(yōu)先級越高。
中心控制系統(tǒng)中使用setRealRoadCondition(Boolean open)方法開啟實時路況,通過百度地圖可以獲取分鐘級的實時路況信息。
以圖4為例進行說明。起始位置如圖所示,用戶輸入目的地后,得到3個目的地附近的停車場P1、P2、P3。
圖4 誘導(dǎo)過程示例—初始位置
1)通過百度地圖,獲得起始位置到3個停車場(P1、P2、P3)的備選行駛線路,并且獲得每條道路的實時數(shù)據(jù)(道路長度及實時路況等信息),再通過多屬性決策算法,得到目標停車場P1及其行駛線路:起始-A1-A8-A9-P1。如圖5所示。
圖5 誘導(dǎo)過程示例—初始規(guī)劃
2) 在汽車行駛至A1-A8路段的X位置時,通過百度地圖獲取到A8-A9路段出現(xiàn)道路擁堵狀況升級的情況(道路狀況由良好變?yōu)閾矶?,此時系統(tǒng)獲取實時的道路交通數(shù)據(jù)進行新的停車場及各種可能路線的篩選,對于實時位置X而言,去往各個停車場的路線如圖6所示。
X-P1:線路① X-A8-A9-P1
線路②X-A8-A7-A10-A9-P1
X-P2:線路① X-A8-A7-A10-P2
線路②X-A1-A2-A7-A10-P2
線路③X-A8-A9-A13-A14-A10-P2
X-P3:線路① X-A8-A7-A10-A11-P3
線路②X-A8-A7-A6-A11-P3
線路③X-A8-A9-A13-A14-A15-A11-P3
圖6 誘導(dǎo)過程示例—實時方案
根據(jù)實時路況數(shù)據(jù)、駕駛距離、步行距離、停車場空余車位綜合考慮可得,此時的推薦選擇為X-P2的線路①,如圖7所示。
3) 將新得出的推薦結(jié)果通過語音合成播報給用戶,利用語音識別技術(shù)獲取用戶的更換意愿。若愿意更換,則將用戶按照前往停車場P2線路①誘導(dǎo)方案進行誘導(dǎo);若用戶無操作,則基于按照之前方案進行。
圖7 前方道路擁堵時新的誘導(dǎo)方案
以濟南市某廣場為例,系統(tǒng)通過百度地圖API提供的搜索接口,搜索半徑500米以內(nèi)的停車場,獲取停車場合集P{p1,p2,p3,p4}。
候選停車場指標如表1所示。
表3 傳感器主要技術(shù)指標
1)有表中數(shù)據(jù)建立決策矩陣A:
2)將矩陣A中的數(shù)據(jù)進行0-1標準化處理,得到矩陣Z:
3)以時間因素為主要考量對象,評價指標參數(shù)權(quán)重中駕駛時間權(quán)重取0.3,路況權(quán)重取0.25,步行距離權(quán)重取0.2,駕駛距離權(quán)重取0.15,剩余車位權(quán)重取0.05,費用權(quán)重取0.05。此時計算出各停車場的綜合誘導(dǎo)指數(shù)如表2所示。
此時計算結(jié)果表明,當以時間因素為主要考量對象時,p11的綜合誘導(dǎo)指數(shù)為最優(yōu),可作為首選停車場向用戶推薦。這說明當用戶對評價指標賦予不同權(quán)重,即用戶所關(guān)心的影響因素發(fā)生變化時,推薦模型會根據(jù)權(quán)重指標的變化推薦不同的結(jié)果,并向用戶推薦停車誘導(dǎo)方案。
表2 各停車方案誘導(dǎo)指數(shù)
本文通過一下三個指標進行有效性的評價。
1)平均駕駛距離。此指標為所有方案的駕駛距離總和與停車場數(shù)目的比值,表示駕車用戶從當前位置到達目標停車場的平時駕駛距離。
2)平均駕駛時間。此指標為所有方案的駕駛時間總和與停車場數(shù)目的比值,表示駕車用戶從當前位置到達目標停車場所需的平均駕駛時間。
3)平均步行距離。此指標為所有方案的步行距離總和與停車場數(shù)目的比值,表示從停車場位置到目的地位置的平均步行距離。
由表3可以看出,此次停車行為中,平均駕駛距離為8.2 km、步行距離為309.6 m、駕駛時間為20.3 min,而方案(即3.4節(jié)中得到的最終誘導(dǎo)方案)駕駛距離為6.9 km、步行距離為123 m、駕駛時間為19 min,均優(yōu)于平均數(shù)值。結(jié)果表明,該推薦可以幫助駕車用戶減少駕駛距離,節(jié)省停車時間,減少步行距離。
表3 誘導(dǎo)結(jié)果對比
基于語音技術(shù)的智能停車誘導(dǎo)系統(tǒng),可作為現(xiàn)有停車誘導(dǎo)系統(tǒng)的補充,實現(xiàn)系統(tǒng)的個性化及增值服務(wù)[9-10]。語音交互系統(tǒng)可分為語音識別和語音合成兩部分。語音識別是使設(shè)備識別語音信息以完成信息輸入;語音合成是使設(shè)備通過語音的方式完成信息輸出。為防止駕駛員在駕駛過程中因操縱手機選擇道路而產(chǎn)生的駕駛風險,本文中在智能終端模塊中加入語音模塊。
選擇加入語音交互模塊的原因有以下幾點:
1)在誘導(dǎo)過程中可能在已規(guī)劃的道路上出現(xiàn)交通事故等意外狀況產(chǎn)生交通擁堵。針對此種情況,系統(tǒng)會重新規(guī)劃路線以獲得實時最佳方案。若推薦方案發(fā)生變化,則需要通知用戶并闡明原因,便于用戶自行選擇。使用語音方式提醒用戶,更加有效、更加安全
2)是否使用新的誘導(dǎo)方案,需要用戶的許可。智能終端在發(fā)出更改詢問后,獲取用戶的聲音,再判斷是否使用新的方案。相比較傳統(tǒng)的接觸時選擇,這種方法更加安全、便捷、智能。
語音模塊是本系統(tǒng)的智能終端的主要功能之一,此模塊核心功能是語音識別、語音合成。
3.2.1 語音合成
語音合成的目的是把存儲的信息通過語音的方式表達出來,人們能夠識別接收語音信息。語音合成應(yīng)用在播報誘導(dǎo)信息以及詢問用戶意愿(主要指在產(chǎn)生誘導(dǎo)信息變更時詢問用戶是否進行更改)等方面。本功能基于科大訊飛SDK,將需要播報的文字內(nèi)容轉(zhuǎn)換成語音內(nèi)容,再將語音拼接到一起播放出來。移動端語音合成流程如圖8所示。
圖8 移動端語音合成流程圖
如圖8所示,移動端合成流程為:1)調(diào)用SynthesizerPlayer類的靜態(tài)方法crea-teSynthesizerPlayer()創(chuàng)建語音合成播放器;2)設(shè)置合成語速player.setSpeed(80)以及設(shè)置合成音量player.setVolume(70);3)創(chuàng)建語音合成控件回調(diào)接口;4)調(diào)用Synthesiz-erPlayer對象的playText()方法來播放文本。
3.2.2 語音識別
語音識別是將語音信息經(jīng)過處理轉(zhuǎn)變?yōu)橛嬎銠C可以識別的輸入。用戶發(fā)出指令,系統(tǒng)對用戶的語音指令進行壓縮處理,然后將其發(fā)送到云端服務(wù)器,服務(wù)器利用已經(jīng)訓練好的語音集合對接收的語音數(shù)據(jù)進行匹配,匹配成功之后返回匹配好的文本信息給系統(tǒng),系統(tǒng)再根據(jù)文本信息與已有功能進行匹配,成功則調(diào)用有關(guān)功能,同時手機數(shù)據(jù)庫將記錄此次調(diào)用的相關(guān)信息,方便以后為用戶提供定制化功能做基礎(chǔ),否則將提示用戶“出現(xiàn)錯誤”。具體流程如圖9所示。
圖9 語音識別流程圖
本文通過對停車誘導(dǎo)系統(tǒng)存在的問題進行分析,構(gòu)建多屬性決策停車場誘導(dǎo)系統(tǒng)。系統(tǒng)通過算法分析為車輛推薦停車場,并使用語音交互技術(shù)對車輛進行誘導(dǎo),通過百度地圖實時獲取道路數(shù)據(jù),依據(jù)實際情況進行重新分析;若產(chǎn)生新的誘導(dǎo)方案,則先詢問用戶是否更改方案,用戶可以通過語音回饋,若獲得用戶同意,則按照新的方案進行誘導(dǎo)。本系統(tǒng)能有效地解決駕駛員停車難等問題,節(jié)省用戶時間,提高資源利用率,有利于停車場智能化管理水平的提高。