一種手機(jī)端的Android駕駛輔助系統(tǒng)的設(shè)計(jì)
1.引言
汽車對(duì)于使用者來(lái)說(shuō),具有其它交通工具所沒(méi)有的機(jī)動(dòng)、靈活、自由、經(jīng)濟(jì)的優(yōu)點(diǎn)。每年95%左右的成品汽油被汽車消耗掉,汽車節(jié)能成為全社會(huì)關(guān)注的問(wèn)題。
環(huán)保駕駛,主要是停止怠速、以經(jīng)濟(jì)的燃油消耗率速度行駛,抑制急起步、猛加速、急剎車等,努力減輕對(duì)環(huán)境負(fù)擔(dān)為目的的駕駛。如果中國(guó)所有汽車駕駛員采用節(jié)能環(huán)保駕駛方式,每年可節(jié)約燃油兩千多萬(wàn)噸。
環(huán)保駕駛習(xí)慣可以通過(guò)日常駕駛訓(xùn)練養(yǎng)成,如不急加速、急剎車、不過(guò)多并線等。
但由于節(jié)油效果不能立即反饋,駕駛員沒(méi)有主動(dòng)性,需要有一個(gè)系統(tǒng)可以直觀的顯示駕駛信息,所以本文通過(guò)在智能手機(jī)上安裝環(huán)保駕駛輔助系統(tǒng)幫助人們進(jìn)行環(huán)保駕駛行為的訓(xùn)練。
本文提出的方案是基于移動(dòng)設(shè)備上運(yùn)行的Android OS的環(huán)保駕駛輔助系統(tǒng),使用藍(lán)牙模塊連接到車輛的診斷端口,向智能手機(jī)發(fā)送OBD數(shù)據(jù)(發(fā)動(dòng)機(jī)轉(zhuǎn)速、油耗、里程、排放量等),環(huán)保駕駛輔助系統(tǒng)通過(guò)分析數(shù)據(jù),給出環(huán)保駕駛建議,通過(guò)提示、積分、報(bào)警、顯示等方法訓(xùn)練人們的駕駛行為,達(dá)到節(jié)油低碳的目的。這種方法可以用在任何型號(hào)的車輛,不需要任何特殊的設(shè)備安裝在車輛中,從能源效率的角度來(lái)看,該系統(tǒng)使用車輛傳感器的數(shù)據(jù)來(lái)評(píng)估駕駛風(fēng)格,然后提供高效生態(tài)駕駛技巧。
2.Android操作系統(tǒng)介紹
Google公司于2007年11月發(fā)布Android操作系統(tǒng),是一款建立在Linux系統(tǒng)的手機(jī)操作系統(tǒng)平臺(tái)。它是首個(gè)專門(mén)為移動(dòng)終端打造的真正意義上的開(kāi)源且系統(tǒng)完整的移動(dòng)平臺(tái),而且不存在不同設(shè)備上的兼容性問(wèn)題。有利于開(kāi)發(fā)人員理解平臺(tái)框架,降低移動(dòng)終端設(shè)備的價(jià)格,同時(shí)也便于軟件的開(kāi)發(fā)、維護(hù)和升級(jí)。
現(xiàn)在的智能手機(jī)等個(gè)人便攜式設(shè)備(PPDS)都配備了一系列的現(xiàn)代化和高度精確的傳感器,它們逐漸應(yīng)用到汽車綜合系統(tǒng)中,特別是中型車和緊湊型轎車。因此,利用Android智能手機(jī)作為環(huán)保駕駛終端的應(yīng)用平臺(tái)具有一定的實(shí)際價(jià)值和現(xiàn)實(shí)意義。
3.車輛油耗因素及節(jié)能技巧
3.1 車輛油耗因素
車輛狀態(tài)不佳是油耗的一個(gè)因素:車重與油耗的關(guān)系成正比;胎壓不足,油耗增加1%;發(fā)動(dòng)機(jī)點(diǎn)火系統(tǒng)不正常、空氣濾清器過(guò)臟對(duì)油耗的影響也很大。任何一款車都有經(jīng)濟(jì)時(shí)速,在這個(gè)速度行駛時(shí)最省油,低于這個(gè)速度或高于這個(gè)速度油耗就會(huì)上升,再超過(guò)一定的速度后,油耗會(huì)大幅度上升。
為了進(jìn)一步降低能源消耗,駕駛員正確的駕駛方法是必要的。據(jù)測(cè)定,對(duì)于同一款車型,駕駛技術(shù)嫻熟的駕駛員可較一般駕駛員平均節(jié)約燃油10~25%.因此,駕駛節(jié)油的關(guān)鍵是能否使人、車配合得當(dāng),保持車輛最佳運(yùn)行狀態(tài)。
3.2 節(jié)能駕駛技巧
車況因素我們可以通過(guò)常檢查保養(yǎng)來(lái)克服,對(duì)油耗起關(guān)鍵作用在于駕駛員的駕駛風(fēng)格。
規(guī)劃出行和預(yù)判路況是駕駛員容易忽視的主要問(wèn)題,所以環(huán)保駕駛輔助系統(tǒng)在功能上集成了GPS定位、電子地圖路線搜索和駕駛行為提醒,以達(dá)到實(shí)現(xiàn)環(huán)保駕駛的最佳效果。
4.環(huán)保駕駛輔助系統(tǒng)設(shè)計(jì)規(guī)劃
本設(shè)計(jì)實(shí)現(xiàn)的思路是以a n d r o i d智能手機(jī)為系統(tǒng)平臺(tái),開(kāi)發(fā)環(huán)保駕駛輔助應(yīng)用程序,程序運(yùn)行后,用戶可以先進(jìn)行GPS定位、查詢最佳駕駛路線,車輛啟動(dòng)后開(kāi)始進(jìn)行駕駛記錄,界面顯示基本車況信息,可以隨時(shí)停止記錄,查看此段路程的駕駛評(píng)估及建議。
通過(guò)百度地圖配合Android系統(tǒng)軟件的API接口,可獲得不斷升級(jí)的地圖庫(kù),并能直觀了解車輛狀況數(shù)據(jù),真正實(shí)現(xiàn)一個(gè)體積小、成本低、操作簡(jiǎn)單并且人機(jī)界面友好環(huán)保駕駛輔助系統(tǒng)。
4.1 環(huán)保駕駛輔助系統(tǒng)體系結(jié)構(gòu)
環(huán)保駕駛輔助系統(tǒng)體系結(jié)構(gòu)由數(shù)據(jù)采集、軟件平臺(tái)、功能模塊和應(yīng)用四部分組成。
數(shù)據(jù)采集負(fù)責(zé)收集從車輛的診斷端口獲得的CAN總線上傳輸?shù)能嚊r數(shù)據(jù),得到影響能源消耗的變量值。功能模塊是該系統(tǒng)的關(guān)鍵部分,不僅可以文字提醒駕駛員節(jié)油妙招,還能進(jìn)行定位查詢路線,追蹤駕駛員的駕駛歷程,統(tǒng)計(jì)分析此次駕駛的時(shí)間、距離、油耗、加減速情況來(lái)判斷是否是環(huán)保駕駛并得出環(huán)保分?jǐn)?shù),提出改進(jìn)建議。用戶界面顯示簡(jiǎn)約直觀,通過(guò)手機(jī)屏幕顯示環(huán)保駕駛提示,同時(shí)可以將環(huán)保駕駛技巧用高識(shí)別度的語(yǔ)音提示。
4.2 數(shù)據(jù)采集
使用Android智能手機(jī)與藍(lán)牙適配器作為數(shù)據(jù)采集系統(tǒng),能夠獲得進(jìn)氣壓力傳感器、發(fā)動(dòng)機(jī)溫度傳感器、油門(mén)踏板位置傳感器、發(fā)動(dòng)機(jī)轉(zhuǎn)速傳感器等通過(guò)CAN總線傳輸?shù)挠绊懩茉聪牡臄?shù)據(jù)信息,而無(wú)需安裝額外的硬件。
車輛硬件單元ECM(電子控制單元引擎控制模塊)、TCM(變速箱控制模塊)、ABS(剎車防抱死系統(tǒng))的數(shù)據(jù)通過(guò)CAN總線傳輸,再由OBD模塊將數(shù)據(jù)通過(guò)藍(lán)牙發(fā)送到手機(jī)端應(yīng)用。
4.3 手機(jī)功能模塊
該系統(tǒng)在Android手機(jī)設(shè)備上執(zhí)行。手機(jī)端數(shù)據(jù)主要以SQLite數(shù)據(jù)表的形式存儲(chǔ)。
SQLite是Android自帶的數(shù)據(jù)庫(kù)系統(tǒng),它無(wú)須獨(dú)立運(yùn)行的數(shù)據(jù)庫(kù)引擎,可以由程序直接調(diào)用相應(yīng)的API實(shí)現(xiàn)對(duì)數(shù)據(jù)的存取操作。
4.3.1 GPS定位
在地圖上標(biāo)記用戶當(dāng)前所處位置其實(shí)是一個(gè)GPS定位應(yīng)用。首先通過(guò)GPS定位獲取到用戶當(dāng)前所在位置的經(jīng)緯度,再將該經(jīng)緯度所代表的點(diǎn)在地圖上標(biāo)出來(lái)。除了在地圖上標(biāo)注自己所處的位置外,通過(guò)MyLocationOverlay結(jié)合LocationLister可實(shí)現(xiàn)運(yùn)動(dòng)中定位并實(shí)時(shí)顯示在地圖上。獲取GPS信息:locationManager.getBest-Provider(criteria,true),通過(guò)GPS獲取位置:locationManager.getLastKnownLocation(provider)。[!--empirenews.page--]
4.3.2 路線查詢
設(shè)置駕車路線搜索策略:距離最短mKSea rch.setDrivingPolicy(MKSearch.ECAR_DIS_FIRST)、費(fèi)用最少ECAR_FEE_FIRST或時(shí)間優(yōu)先ECAR_TIME_FIRST.進(jìn)行多次搜索時(shí)要清除地圖上已有的覆蓋物mapView.
getOverlays()。clear()。
4.3.3 駕駛詳情
車輛的相關(guān)數(shù)據(jù)通過(guò)手機(jī)藍(lán)牙接收后自動(dòng)記憶存儲(chǔ)在Android系統(tǒng)內(nèi)置的SQLite數(shù)據(jù)庫(kù)中,便于提取、分析,起到“黑匣子”的作用。
首先通過(guò)繼承SQLiteOpenHelper類創(chuàng)建vehicle_database.db數(shù)據(jù)庫(kù),調(diào)用onCreate()方法初始化數(shù)據(jù)。然后使用db.execSQL()方法創(chuàng)建數(shù)據(jù)表,執(zhí)行Insert、Update、Delete等語(yǔ)句來(lái)更新表的數(shù)據(jù),包括車輛行駛時(shí)間、車速、里程、啟動(dòng)、停止時(shí)刻、油量信息、踩踏油門(mén)和剎車的壓力等,將藍(lán)牙模塊發(fā)送的數(shù)據(jù)經(jīng)過(guò)分析處理后通過(guò)Cursor返回結(jié)果,創(chuàng)建一個(gè)數(shù)據(jù)適配器將Cursor的數(shù)據(jù)映射到應(yīng)用界面ListView中對(duì)應(yīng)的TextView上。
能對(duì)行走中車輛的燃料消耗率進(jìn)行實(shí)時(shí)表示,根據(jù)事前所設(shè)定基準(zhǔn)(速度及轉(zhuǎn)速等)進(jìn)行語(yǔ)音指導(dǎo)等駕駛支持。車輛停止后能夠獲取行走數(shù)據(jù),對(duì)每一次駕駛進(jìn)行評(píng)價(jià)。
4.4 用戶界面
精力不集中是發(fā)生交通事故的主要原因之一。如果在駕駛時(shí)處理或轉(zhuǎn)移過(guò)多的精力會(huì)導(dǎo)致車輛偏離行駛方向、反應(yīng)遲緩、車輛失控等。為了避免這些不利的影響,用戶界面模塊將顯示一個(gè)清晰的印刷字體的環(huán)保駕駛技巧。此外,我們可以將其轉(zhuǎn)換成語(yǔ)音提示,Android1.6以上版本支持TTS API(文本轉(zhuǎn)語(yǔ)音輸出應(yīng)用程序接口),可以從電子市場(chǎng)免費(fèi)下載安裝。
環(huán)保駕駛輔助系統(tǒng)像是一位智能的節(jié)油陪駕,指導(dǎo)車主、提醒車主以合適的方式駕駛。系統(tǒng)提醒的同時(shí)還需要車主在駕駛過(guò)程中,主動(dòng)控制油門(mén),制動(dòng)的配合,才能實(shí)現(xiàn)最為理想的燃油量。系統(tǒng)用戶界面如圖1所示。
5.結(jié)論
本文介紹的環(huán)保駕駛輔助系統(tǒng),從功能來(lái)看能夠?qū)︸{駛者的駕駛風(fēng)格進(jìn)行準(zhǔn)確地評(píng)估,并對(duì)不良的習(xí)慣進(jìn)行提醒,以達(dá)到環(huán)保的輔助駕駛的目的。該系統(tǒng)的優(yōu)點(diǎn)是能夠更準(zhǔn)確的評(píng)價(jià)、廉價(jià)且可以安裝在任何車輛。今后的工作可以結(jié)合攝像頭的功能,檢測(cè)實(shí)際的交通狀況,如拐彎處的車輛、行人情況,以提高車輛行駛的安全性。