《基于Android和和百度SDK的路面平整度測量系統設計》14000字_第1頁
《基于Android和和百度SDK的路面平整度測量系統設計》14000字_第2頁
《基于Android和和百度SDK的路面平整度測量系統設計》14000字_第3頁
《基于Android和和百度SDK的路面平整度測量系統設計》14000字_第4頁
《基于Android和和百度SDK的路面平整度測量系統設計》14000字_第5頁
已閱讀5頁,還剩32頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于Android和和百度SDK的路面平整度測量系統設計摘要路面的平整度測量一般指測量路面與表層間的縱向凹凸度的偏差值。作為目前路面質量評定的主要技術指標之一,它直接地影響著人們的日常行車安全、行車舒適度。隨著我國經濟的迅捷發展,城市化進程加快,城市建設規模越來越大,道路交通量也隨之不斷增加。道路作為人們日常出行必經之地之一,對路面平整度有著很高要求。傳統的路面平整度測量方法需要專業人士以及相關的專業設備支持,通常數據更新慢、測量成本高以及數據不會對外開放,這些問題使得傳統的測量方法周期長,效率低下,與路面平整度數據日益增長的更新需求相沖突。目前,智能手機中已經成功集成了眾多傳感器,部分傳感器可以為估算路面平整度提供必要的數據。本文研究新興的路面平整度測量方法,基于Android和百度SDK自行研究開發了一個安卓APP,名為"平整度助理"。該軟件實現了平整度數據采集、數據分析和數據可視化三個功能。數據采集主要是采集智能手機XYZ軸加速度、平整度估計值、當前位置的經緯度以及當前位置的街道名稱;其中,XYZ軸的加速度是通過加速度傳感器采集獲取,平整度估計值是通過Z軸加速度結合公式計算而來,經緯度以及街道名稱主要是通過GPS傳感器獲取。數據分析和數據可視化主要通過SQLite數據庫和百度地圖的SDK實現的;首先由SQLite接收采集的數據并將其儲存在建立好的數據庫的表格之中,然后根據百度地圖SDK實現平整度估計值分級曲線在百度地圖上的繪制顯現功能,最后對數據進行分析得到分級指標,并利用該功能結合SQLite中的數據繪制并顯示分級曲線完成數據可視化。在實例分析中,以美團共享單車為實驗工具,對所開發的“平整度助理”的數據采集功能和數據可視化功能進行實驗。實驗結果表明,“平整度助理”能夠完成正常道路上的數據采集工作,并能夠正常地繪制分級曲線且清晰地在百度地圖上顯示。目錄TOC\o"1-3"\h\u121501緒論 74841.1研究背景 767561.2研究現狀 7174651.3研究內容 8175781.3.1主要內容 84401.3.2研究路線 999532相關概念及關鍵技術 1071972.1路面平整度概念 10248822.1.1路面平整度定義 10273382.1.2國際平整度指數IRI 11117542.2.3豎直加速度均方根RMSVA 12177932.2使用智能手機測量路面平整度 1266002.2.1數據采集 12209912.2.2預處理 13142452.2.3數據處理 1349972.3地理位置服務LBS 14292793.平整度測量軟件開發 15295823.1軟件架構 15305223.2用戶界面模塊 17300153.2.1功能分區 17174153.2.2實現底部導航功能 1744393.2.3Fragment相關知識介紹 19327303.3數據采集模塊 19262853.3.1智能手機的加速度傳感器介紹 19148663.3.2動態數據采集 2029353.3.3位置數據的采集 21192003.3.4程序實現 22281423.4數據處理模塊 25108693.4.1粗糙指數RMSVA算法 25263933.4.2實現周期性處理 27296863.5地圖顯示模塊 28196123.6數據可視化模塊 29117603.6.1分級設色線的繪制 2962583.6.2繪制函數的啟動按鈕編寫 3175853.7數據管理模塊 31121334軟件測試實驗 3420074.1實驗目的 34189504.2實驗過程 3497794.3實驗分析 34268314.4實驗結果 3584515.總結與展望 3513619參考文獻 371緒論1.1研究背景路面平整度是評定路面質量的三大指數指標(厚度、平整度、壓實度)之一[3],因此可以通過監測路面平整度來將其作為評定路面狀況的重要依據。路面平整度的監測直接關系到車輛在該路面上行駛的安全性和舒適性。在較為平整的路面上行駛時,車輛才是處于一個比較安全的狀態。路面平整度對運輸經濟的狀況存在影響。平整度的下滑會直接導致運輸車在路面行駛的車速下降,進而導致車輛的運營成本和時間陳本增加,對運輸經濟的狀況會產生打擊。在肯尼亞、巴西、加勒比海和印度,世界銀行進行了關于油耗和輪耗與平整度相關性的實驗測試,當測試時的路面平整度開始下降時,車輛的運營和時間成本增加了大約15%。[30]基于以上原因,對于路面平整度的測量是十分重要的。路面平整度測量的傳統方法主要分為兩種:斷面類平整度測量方法和反應類平整度測量方法。在這兩種方法之中有若干典型方法,比如精密水準儀法、連續式路面平整度儀法以及車載式顛簸累積儀法。[3]這些測量方法所用到的設備都比較昂貴,而且測量人員必須經過專業訓練,導致測量方法的成本較高。除此之外,這些測量方法一般每隔三到四年才能測一個車道方向[4],而現今的路面平整度變化周期短,這導致傳統方法所測量的數據時效性差,不能很好地適應變化較快的路面平整度值。因此,尋找一個低成本、時效性高的路面平整度測量方法替代傳統方法已是大勢所趨,而利用智能手機為測量工具進行路面平整度的測量則可以作為未來主流路面平整度測量方法的選擇之一。在智能手機之中內置有多個傳感器,比如加速度傳感器、GPS傳感器、重力傳感器等,這些傳感器可以實時地將測量數據通過接口返回給編寫好的手機程序,以便于我們能夠隨時隨地收集與路面平整度有關的數據。與平整的路面相比,智能手機的加速計傳感器在車輛通過坑洼或顛簸時會產生顯著的變化[5]。另外,智能手機可以將收集到的數據通過網絡上傳至服務器中,以便于相關人員能夠對數據進行進一步加工處理和分析。1.2研究現狀目前路面平整度測量的研究主要分為基于傳統測量方法進行研究和基于智能設備的測量方法進行研究兩部分。1.2.1基于傳統測量方法目前,基于傳統方法測量路面平整度主要為斷面類與反應類測定平整度兩類方法。[3]斷面類平整度測定方法主要是通過測量道路表面凹凸狀況進而得到縱斷面,根據所計算得到的路面高程差而得出路面平整度狀況[3],因此它的精確度主要依賴儀器的高程測量精度,儀器高程測量精度越高,其精確度也越高。反應類平整度測定方法是通過測量車輛的振動反應,通過振動反應進而測量路面平整度的狀況。將使用道路的人群的感受作為實驗對象,從實用的角度上來說,這個方法具有一定的新穎性。但局限于各個車輛的振動模型不相同,因此這類方法十分看重標準。[3]下面就基于測量儀器介紹幾種常見的傳統的測量平整度的方法。精密水準儀法精密水準儀主要由望遠鏡、水準器和基座三部分組成。它的測量的基本原理是:利用水準器的氣泡居中來建立水平視線,再通過水平視線在水準標尺上的讀數求。實驗過程中必須保證該儀器的視準軸平行于水準軸,否則會產生極大的誤差。[3]該方法對測量者操作要求較高,且精度較低。圖1.1為精密水準儀。圖1.1精密水準儀連續式路面平整度儀法連續式路面水平平整度計以3m長桁架作為設計基準,中間的機架則可以收縮或折疊,前后每個方向均設4個人員的行走車輪。前后兩組輪的軸間距離分別為3m,在兩個機架中間設置了一個可以進行起落的測量輪,該檢查的測量輪上安裝了一個位移傳感器和距離檢查傳感器。[3]該儀器的優點是可以進行連續的測量,比不能連續測量的儀器的測量效率要高。缺點是該儀器的精準度比較差而且測量速度較慢,很難在坑坑洼洼以及遭受破壞的路面上進行測量,同時該儀器比較沉重,這增加了它的使用難度。圖1.2為連續式路面平整儀。圖1.2連續式路面平整儀車載式顛簸累積儀法車載式的顛簸累積儀就是一種通過測算裝載該儀器的測量車輛在經過一個目標道路時車后軸和動力輪的單向位移累積數值來測量路面平整度的一種儀器,由于其所測量的數據與所裝載汽車底盤上的懸架體系特性相關,故這些數據都需要進行標定勘正和換算之后方能夠比較準確的直接反映出路面的平整度。[3]作為該方法檢測和測試工具的車輛都備有激光傳感器、加速度計、陀螺儀和先進的數據采集和處理系統。車輛按照一定的速度在路面上勻速行駛,安裝在汽車底盤上的激光傳感器通過接收發射激光束反射回讀書器的角度對路面進行測量,這個距離下的信號同車輛上裝備的加速度傳感器信號進行互差并輸出為路面真實的段面信號。斷面信號是模擬信號,可以在后續操作里被轉換為數字信號并記錄保存。這個方法雖然在測量的效率和精確程度上較高,但是其成本也同樣比較高。圖1.3車載式顛簸累積儀1.2.2基于智能設備的測量方法以智能化設備為工具測量路面平整度主要為智能手機和筆記本電腦等,其中以智能手機最為典型,也是應用和研究最廣泛的,其最主要的是基于以下幾個方面:(1)手機本身具有很強穩定性和可靠性;(2)移動過程中不會出現卡頓現象;可以通過控制傳感器來進行實時測量并顯示數據信息等功能實現對路面平整度。因此本部分主要講智能手機為測量工具的相關研究現狀。目前計算路面平整度最為常見的測量指標是IRI(國際粗糙指數)。通過測量出由道路的坑洼和駝峰引起的累積垂直位移和總行駛距離,可以計算出IRI的值。而智能手機中內置有加速度傳感器和GPS傳感器,其中加速度傳感器可以測出累積的垂直位移,而GPS傳感器則可以測出總行駛距離。又因為智能手機的可攜帶性和成本低,因此智能手機是一個比較理想的測試路面平整度的工具。Buttlar等人[7]設計出測量平整度的智能手機APP,并將其與激光車載斷面儀(見圖1.4)所測試的IRI實驗結果進行比較,得出“在較為平整的國際路面上,智能手機app所測量到的國際平整度指數值和由車載激光斷面儀所測量到的國際平整度指數值之間已經顯示出很強的相關性”這一結論。Douangphachanh等人[10]在兩輛車上進行同時實驗模擬一種名為VIMS的平整度測量系統——由Tomonori等人[9]設計和開發,實驗結果表明不論在何種行駛速度下,手機傳感器采集到的豎直方向加速度數據與路面平整度都顯示出很強的相關性。Mohan等人[11]使用智能手機的麥克風充當傳感器來收集鳴笛聲等數據,這增加了智能手機的傳感器功用。總之,以智能手機為主的基于智能設備測量方法這一方面近幾年來研究比較火熱,有許多人都參與其中的研究。未來,智能設備可能會代替傳統設備來完成路面狀況的監測和路面平整度的測量。1.3研究內容1.3.1主要內容研究以智能手機內置加速度傳感器和GPS傳感器為測量工具對路面平整度的測量方法并設計實驗評估其可行性。研究基于AndroidStudio的AndroidApp開發和構建,并學習Java語言和AndroidSDK;研究基于百度地圖SDK的二次開發和使用。研究可視化所收集的平整度有關數據的手段并設計實驗評價其效益。1.3.2研究路線本文通過開發“平整度小助手”這一Android應用,并借助這個APP對路面平整度進行測量和分級評價,最后進行可視化,技術路線如圖1.4。圖1.4技術路線2相關概念及關鍵技術2.1路面平整度概念2.1.1路面平整度定義目前,評定路面質量的技術指標有三個,分別為:厚度、壓實度和平整度。平整度作為三大指標之一,其本身具有自身問題的復雜性,讓國內外各大研究機構和人員對平整度有不同的定義。[31]其中最值得一談的是美國材料與試驗協會(ASTM)的定義:道路平整度是影響車輛的動態特性、行駛質量、路面動載和排水等的路面表面相對于理想平面的豎向偏差。這個定義包括了人、車、路面三個要素,并同時考慮到了這些要素;不僅如此,這個定義指出:理想平面才是路面的標準、參考,路面要盡可能向理想平面靠攏。而我國的交通運輸部《公路工程術語》(JTJ002—87)標準[15]則指出:路面平整度為路表面縱向的凹凸值的偏差。路面平整度的評價指標是反映及評價路面平整情況的參數。[3]因此,一個合適的路面平整度的評價指標,能夠真實而準確地反映路面及其斷面的相關信息。《公路工程質量檢驗評定標準》(JTJ071—98)是1998年我國交通部所頒發的標準。在這一標準中,規定了三個路面平整度的評價指標:最大面板空隙、平整面厚度標準差、國際平整度標準指數IRI[16]。從上世紀80年代以來,我國使用3m直尺法來驗收平整度成果,其原理是設定一個路面平整度的指標,而這個指標的測量方法是取測量直尺與待驗收路面的最大空隙值。不過隨著較為智能化的方法被開發和引進到國內后,3m直尺法因為其效率低、精度差、勞動時間長這些重大缺陷被淘汰,最后被后來頒布的標準所禁止。目前國內評定路面平整度的指標主要是國際平整度標準指數即IRI。圖2.13m直尺法2.1.2國際平整度指數IRI國際平整度指數IRI,其概念首次被美國國家公路合作研究計劃(NCHRP)提出,該機構在“反應類平整度系統的標定和關系”研究項目中提出這個概念之后,并于1982年在巴西等國家進行試驗,基于試驗結果完整地提出IRI計算方法和模型。一般來說,80km/h的四分之一車輛模型在路面行駛時,將懸掛系統在一定行駛距離內的累積位移單獨列出來,其累積位移即可作為IRI。作為平整度的指數,IRI反映路面最基本的為車輛服務的能力,IRI的值越接近于0,該路面越平坦,車輛經過該路面越舒適以及安全。與其他平整度指數相比,IRI具有相對穩定性和可以被移植的特性。由于國際平整度指數IRI的模型定義是標準車模型,所以測量程序和需要收集與輪廓有關的測量值的車輛特性的影響對其而言微乎其微。[31]2.1.3豎直加速度均方根RMSVA作為在車輛、交通、地震等自然災害等一系列領域被廣泛使用的評價振動影響和效益重要指標,加速度均方根的計算公式如公式2.1。RA=i=1N為采樣次數,Ai為加速度值。豎直加速度(RMSAVA)是衡量和分類路面粗糙度的重要指標,它與各個與路面狀況相關的指標比如國際平整度指數IRI之間存在比較強的相關性,一般相關性為0.8到0.9之間。[17]2.2使用智能手機測量路面平整度一般,使用智能手機測量路面平整度的方法,需要先進行平整度數據的采集,然后對收集到的傳感器數據進行預處理,最后進行數據的處理加工。2.2.1數據采集根據Android開發文檔,智能手機內部的感應型傳感器可以分為三種大類型:運動傳感器、環境傳感器和位置傳感器。其中,運動傳感器中比較常見的傳感器為加速度傳感器、重力傳感器、陀螺儀傳感器和旋轉矢量傳感器;環境傳感器中比較常見的傳感器為溫度傳感器、光傳感器和濕度傳感器;而位置傳感器中比較常見的傳感器類型為:方向傳感器和磁感應器。而對于智能手機的檢測,一般是利用加速度傳感器、陀螺儀和磁感器等傳感器進行的。[32]多數研究關于智能手機進行平整度的檢測采用的一般為加速度傳感器,原因是加速度傳感器所測量的加速度數據能相較更好地表現車輛的運動特征,通過測量車輛經過異常路面而被施加的加速度力來測量數據。Yagi[18]以及Douangphachanh和Oneyama[19]將陀螺儀傳感器和加速度傳感器結合,在頻域上將二者所測的數據接合在一起,以陀螺儀傳感器數據確定手機方位,然后盡可能消除手機方位變化所帶來的誤差。然而,同時啟動陀螺儀和加速度傳感器,也為智能手機帶來了更重的負荷,這讓智能手機的耗電速度增快,耐用性降低。Douangphachanh和Oneyama[19]以及Jain等人則是選取了不同種類的車輛和不同種類的智能手機,通過實驗證明了它們的方法不會隨著車輛和智能手機的種類改變而發生功能變化。2.2.2預處理在獲取手機的傳感器數據之后,需要對獲得的原始數據進行預處理,主要是進行噪音的過濾和重新定向以及清洗數據。車輛實際行駛過程中會因為路況等多個原因而產生噪聲,這些噪聲,尤其是車輛行駛過程中自身振動產生的低頻噪聲,會干擾采集到的數據。[32]因此對于噪音的過濾很有必要。而數據的定向和清洗更是必要。一般來說,預處理會使用濾波器來解決。Sebestyen[20]和Seraj[21]等人通過一種能夠消除噪點和另一種能夠放大加速度變化的濾波器來對數據進行預處理。而Douangphachanh和Oneyama[19]則是使用高通濾波器來檢測諸如車輛變速、轉彎等低頻信息。Singh[25]等人則通過提出用簡單的移動平均和帶通濾波器來對原始數據進行平滑處理,以此來平滑信號數據。值得一提的是,對于噪聲的處理,滑動平均濾波技術是比較好的選擇。它能有效過濾一些隨機的噪聲,同時還能保持數據原本的特性,對于時域信號來說是最佳的處理方法。[32]2.2.3數據處理應用于處理路面監測狀況的傳感器的數據一般由基于閾值的方法、機械學習的方法、DTW方法進行處理。基于閾值的方法需要分析傳感器數據的變化模式或者統計值,主要目的是識別出異常信號。對于閾值,可以分為固定閾值和動態閾值。Mohan等人[26]通過研究和監測路面的異常狀況進而完成固定閾值的確定。而Wang[27]則通過研究動態閾值來克服機械和傳感器的各種不穩定信號模式,使其能夠具備更強的適應性。而對于機械學習方法,則可以分為監督學習和無監督學習。而涉及機械學習的技術也可以由此被分為兩類。對于DTW方法,則是通過測量任意兩種信號模式的相似性,并從中提出特征,Singh等[25]就基于DTW提出一種路面狀況監測方法,經過試驗證明效果十分良好。2.3移動GIS與LBS地理信息系統(GeographicInformationSystem,GIS)是在計算機軟件、硬件和網絡的支持下,對地理空間數據進行采集、存儲、查詢、分析和顯示的技術系統。[34]。而移動GIS則是地理信息系統重要研究方向之一,移動GIS與原本的GIS相比,采用了嵌入式技術、移動通信技術和定位技術,使得地理信息可以隨時隨地很方便地被采集,并進行存儲查詢分析顯示。[33]而基于位置的服務(LocationBasedService,LBS),是指移動終端利用各項定位技術獲取當前的位置信息,再通過無線網絡得到的服務。[35]。目前,基于LBS的移動GIS主要架構為三個部分:客戶端、服務器和數據源[36]三者的詳細關系可以見圖2.2。圖2.2客戶端、服務器和數據源的關系智能手機作為基于LBS的移動GIS中的客戶端之一,在當今社會已經是十分常見的了。作為移動客戶端,智能手機具備體積小、功能全面、可攜帶等優勢,這是電腦和GPS定位儀所不能替代的。生活中,我們可以使用智能手機打開與地圖相關的APP,通過APP啟動智能手機中的位置服務權限并通過Wife或者移動數據流量來獲取當前所處位置的經緯度。這個經緯度是所有移動GIS的數據基礎之一,通過該經緯度坐標,我們可以實現在地圖上的定位,并可以借此查詢周邊的吃喝玩樂場所,以此快速達成生活的小目標。我們同時可以將該經緯度坐標分享給其他人,以便于他人尋找自己的位置。例如,我想點外賣,便可以通過手機授權外賣APP自己的位置信息,讓騎手能夠精準地將外賣送達到自己的手中。除了點外賣以外,我們通過QQ將自己的QQ定位分享給朋友,可以迅速與朋友會合。除了智能手機之外,GPS導航也是人們常見的位置信息服務。人們通過車載GPS定位儀,與全球定位系統進行連接,并在定位儀導航功能的指導下駕車行駛到目的地。不過智能手機中目前也內置了GPS傳感器,所以我們仍可以使用智能手機完成與GPS有關的位置服務。目前,移動GIS與LBS的研究十分熱門,相關行業也正在迅速發展。相信在不久的未來,隨著技術的發展和研究的深入,移動GIS與LBS會越來越普及我們的生活,給我們帶來更多的便利。3.平整度測量軟件開發3.1軟件架構3.1.1六大模塊介紹"平整度助理"軟件主要由三個層構成:應用界面層、系統接口層,網絡接口層。在應用界面層,又下設六個模塊,詳細見圖3.1。圖3.1程序模塊關系圖(1)數據采集模塊在數據采集模塊中,“平整度助理”通過連接系統接口層的加速度傳感器接口與GPS傳感器接口,分別獲取XYZ軸的加速度和當前的位置信息,并將數據傳輸給數據收集模塊,另外將地理位置信息傳輸給地圖顯示模塊。數據收集模塊數據收集模塊主要作用是接收數據采集模塊傳遞而來的原始數據信息,并通過傳輸的Z軸加速度計算出平整度估計值,并結合位置數據為平整度估計值附上當前經緯度等地理信息。地圖顯示模塊地圖顯示模塊接收來自數據采集模塊的經緯度信息,并結合百度的SDK和API實現對當前位置的定位和地圖顯示,同時為后續的數據可視化做好準備。數據可視化模塊數據可視化模塊的主要功能是接收來自數據管理模塊的平整度估計值數據,并結合地圖顯示模塊以及定下的分級指標進行平整度估計值分級曲線在百度地圖上的繪制。同時,在數據庫區界面對SQLite的所有測量數據以表格的形式進行可視化。數據管理模塊數據管理模塊主要是涉及SQLite數據庫以及與用戶交互的“清除數據”按鈕。所有的測量數據經過數據收集模塊加工后便會存儲在SQLite的本地數據庫中,并通過“清除數據”按鈕完成對數據庫表格所有數據的刪除。用戶界面模塊用戶界面模塊面向用戶,為用戶提供交互按鈕并對軟件進行各項操作。3.2用戶界面模塊3.2.1功能分區本軟件的功能分區分為三個:"測量區"、"地圖區"和"數據庫區"。界面如圖3.2所示。(a)測量區(b)地圖區(c)數據庫區圖3.2三個功能分區界面“測量區”負責實現平整度測量的開始與終止。在用戶準備工作完成之后點擊“開始測量”Button便可以開始數據的采集、加工、存儲;而按下“停止測量”Button便可以停止以上工作。用戶可以在測量區實時看到當前的測量數據。“地圖區”主要由一個MapView和三個Button按鈕組成。其中MapView是基于百度API和SDK而創建的一個容器,主要用于百度地圖的顯示、縮放、定位、繪制等功能的實現。“數據庫區”主要作用是顯示數據和清除數據。當用戶準備查看所測量的數據時,點擊“查詢顯示”按鈕即可展示出圖3.2中的數據表;當用戶準備刪除所測量數據時,點擊“清空數據”按鈕即可清空本機數據庫中的所有測量數據。3.2.2實現底部導航功能本軟件主要通過底部導航按鈕加Fragment的模式來實現功能分區的跳轉。其創建過程如下:在AndroidStudio中選擇創建ButtonNavigation+Fragment模板的項目,將Fragment的數量控制為三個,并分別進行改名使其成為軟件未來的“地圖區”、“測量區”和“用戶區”。可以自主選擇更改底部上各個Fragment所對應的圖標。3.2.3Fragment相關知識介紹Fragment是片段活動之中動作或者視圖的一部分。幾個Fragment可以在一個Activity中相互結合,達到一個視圖可以有多個獨立的部分。Fragmet有其獨特的生命活動周期,見圖3.4,但是Fragment只能依附于Activity,自身并不能存活。圖3.4Fragment生命周期3.3數據采集模塊3.3.1智能手機的加速度傳感器介紹在智能手機中有不少傳感器,但“平整度小助手”主要使用的是其中的加速度傳感器以及GPS傳感器,GPS傳感器會放在地圖顯示模塊介紹,所以這次重點介紹加速度傳感器。加速度運動傳感器也被廣泛稱為G-sensor,返回基于x、y、z三條傳動軸的不同加速度傳感數值。該統計數值主要內容包含對于月球地心引力的作用和物理影響,單位為m/s^2。將一臺智能手機鎖屏平放于移動桌面上,x和y軸自動默認設置設定為0,y和x軸自動設定默認0,z和x軸自動設定默認9.81。將一臺智能手機的平面朝下并放置于手機桌面上,z鍵轉軸高度設定設置為-9.81。將一臺手機的軸傾斜至指向x的一軸,x的兩軸角度作為它的正值。將你的手機角度傾斜至一個x點的軸,x點可以作為一個負值。將一個手機的軸傾斜至一個y機的軸,y軸作為它的負值。把放在手機上的壓縮力矩線從上往下方向偏移,y軸會變為零。加速度檢測傳感器主要目的是為了用來實現對于相機檢測一個物體時的加速度。而且一個物體的加速運動和這個加速度同樣都會隨之發生改變,如果我們之前能夠快速獲得這個加速度,物體之后會繼續受到哪些大的作用力或則這個加速物體之后會繼續進行哪些怎樣的加速運動,我們便完全可以輕易理解。我們只要充分利用這種移動加速度,就非常有可能能夠制作開發出能夠模擬個人電腦的在計步器和模擬物體之間移動的各種應用。加速度變量傳感器的values速度變量中3個速度元素的平均值分別共同代表了在x、y、z三個軸的平均加速度。重力運動傳感器和運動加速度重力傳感器系統采用相同的兩軸坐標系。values數組是其中三個測量元素,它們分別等于代表指向x、y、z方向軸的三個重力測量尺寸。3.3.2動態數據采集要本文采用測量路面平整度的方法是將手機通過膠帶等方式綁在車輛上,使其隨車輛運動時通過監測自身的加速度情況來確定車輛的加速度情況。而加速度傳感器的主要檢測對象為力,所以需要通過公式3.1將傳感器受到的力(Fs)轉換為加速度(AD)。AD=?1但是實際情況,重力加速度會對結果產生影響,見公式3.2。AD=?對于加速度傳感器而言,其使用的坐標軸為標準的三軸坐標系。(如圖3.5)X軸水平平行于屏幕,其正方向向右;Y軸垂直平行于屏幕,其正方向沿著屏幕向上,Z軸與X、Y軸垂直,經過屏幕的中心點(即坐標系原點),其正方向向屏幕外側。圖3.5SensorAPI使用的坐標系由于手機本身的坐標系已經確定不會發生改變,而且所測量的方差最終表達式中與重力加速度無關,所以重力加速度對本程序測量的方差不會產生任何影響,對于重力加速度也自然不需要移除排外。3.3.3位置數據的采集位置數據主要包括當前位置的經度、緯度和街道名稱。位置數據的作用是為收集到的動態數據添加位置元素,使其能夠被地圖可視化從而進一步被分析。位置數據的主要采集方式是利用百度定位SDK結合GPS傳感器獲取當前位置的經緯度坐標來進行定位。這種方法精度高,采集方便。3.3.4程序實現數據采集模塊在測量Fragment進行交互,測量界面中有兩個按鈕,其主要分別是開始數據的采集、處理、存儲工作和停止工作,下面將簡要闡述關鍵代碼的實現過程。(1)測量區Fragment編寫圖3.6測量區Fragment如圖3.6,主要是14個TextView和兩個button(),其中“開始測量”對應的id為bt_dsp,而”停止測量“對應得id為bt_stop。(2)實現加速度傳感器的接口,并獲取XYZ軸的加速度數據。首先定義mSensorManager和msensor。然后在OnCreateView中實現mSensorManager。mSensorManager的作用是管理傳感器,獲取傳感器接口服務。在bt_dsp的OnClick中獲取傳感器類型和定義傳感器監聽。這里獲取的傳感器類型為加速度傳感器。編寫onSensorChanged,獲取XYZ軸的加速度數據。該函數是當傳感器事件發生變化時才會被調用floatxValue=event.values[0];tvx.setText(""+xValue);floatyValue=event.values[1];tvy.setText(""+yValue);floatzValue=event.values[2];tvz.setText(""+zValue);cuurentAcc=event;在onPause()和停止測量按鈕的onClick()中實現傳感器監聽活動的注銷。(3)通過百度定位SDK,獲取經緯度和街道名三個地理數據。在使用百度定位SDK前先導入lib庫,并在AndroidManifest.xml中填寫SHA1碼和AK碼并申請定位權限,在測量區的Fragment中的OnCreate重寫函數中初始化百度地圖SDK的接口。這部分與實現百度地圖顯示的方法類似,可以參考之后實現百度地圖顯示部分的方法在準備工作做完之后,便可以在測量區相關的Fragment中編寫與定位有關的代碼。首先是在OnCreateView中實現與定位相關的部分代碼如下:option.setOpenGps(true);option.setCoorType("bd09ll");option.setScanSpan(1000);option.setIsNeedAddress(true);mLocationClient.setLocOption(option);其中,LocationClient是定位接口函數。上部分代碼主要完成了LocationClient的初始化、定位監聽器的開啟、定位選項的初始化與開啟。這里的定位選項包括開啟GPS傳感器、設置坐標系為bd09ll坐標系、設置顯示地址。編寫定位監聽,獲取地理數據,包括經度緯度和街道名稱。publicclassAMapLocationListenerextendsBDAbstractLocationListener{@OverridepublicvoidonReceiveLocation(BDLocationlocation){doublelatitude=location.getLatitude();doublelongitude=location.getLongitude();JD.setText(""+longitude);WD.setText(""+latitude);AD.setText(""+location.getStreet());currentLocation=location;}}在“停止測量”button按鈕的監聽器onClick中設置SDK定位接口的注銷。3.4數據收集模塊3.4.1平整度估計值算法通過測量車輛振動響應是測量平整度評估指標的一種比較常用的方法。將智能手機綁在車輛上,這時通過測量智能手機的狀況就可以測出車輛的狀況。目前,越來越多的研究表明:智能手機所測量出的述Z軸的加速度變化可以作為評估路面平整度的指標,即可以當做路面平整度的估計值。“平整度助理”的目標用戶為一般出行的用戶人群,所以所選擇的平整度的估計值只需要能夠大致反應平整度的大小和變化即可,不需要太過定量去精確地分析。因此,對于路面狀況,“平整度助理”采用RMSVA(加速度變化均方根)作為平整度的估計值,并以此來確立平整度分級指標并繪制分級曲線。設定加速度傳感器在車輛勻速行駛的狀況下5秒內進行50次相同間隔的Z軸加速度的采樣,并通過采集的Z軸加速度計算平整度估計值,由于還要考慮重力加速度,所以最后應該以Z軸加速度的均方差作為平整度估計值的最終計算結果。算法實現思想如下:將所測量到的Z軸加速度的值存進一個大小為50的數組之中,然后定義一個浮點型變量mean通過計算賦值mean為50個Z軸加速度的平均加速度,然后定義deviation計算Z軸加速度的均方差,這個deviation的值即為平整度的估計值。3.4.2實現周期性處理在“平整度助理”的測量過程中,存在一個周期性的循環。在這個周期性循環中,需要每隔0.1s采集一次z軸加速度,每隔5s采集一次經緯度和街道信息,并將累積的50個加速度數據進行算法計算獲得平整度估計值。雖然傳感器接口中的onSensorChanged函數可以控制時間間隔,但實際運行中可能系統會回調所設置的值,讓采樣頻率設置失效。因此這里設置Timer()函數來幫助完成周期性測量工作。Timer是JDK類庫中的一個負責計劃任務的功能,其主要作用是充當計時器,在指定時間之后經過提前設定好的時間周期重復執行任務。因此我們可以寫一個Timer函數來幫助我們進行周期化的任務執行。首先初始化Timer函數,然后在Timer函數中用ifelse的循環語句實現任務框架的搭建。提前定義一個大小為50的數組,在if語句中每0.1s向數組增加一個剛測量的Z軸加速度數據直到添加到50個;在else語句中增加上一部分寫的計算函數以及位置信息的采集,和將這些數據添加進數據庫的表格中的函數。在TimeSchedule中設置周期為0.1s,開始時間為1s后,任務為Timer函數中的任務。完成周期性測量代碼的編寫。3.5地圖顯示模塊地圖顯示模塊主要功能在地圖區的Fragment中,在底部導航欄的地圖區可以調用查看。“平整度小助手”軟件使用百度SDK開發。以下將基于百度API來介紹如何完成百度地圖在地圖區Fragment的顯示和定位。(1)在百度的開發者平臺上獲取AK進入百度搜索開發者平臺,點擊獲取AK進入開始創建應用頁面,填寫工程的SHA1和包名,其中SHA1可以在Androidstudio的右側Gradle\包名\Tasks\android\signingReport中獲取,填寫完后點擊確認獲取AK(如圖3.7)。開發環境配置在百度地圖的開發者平臺上下載開發包,將其放在工程的app\libs下,并在gradle進行配置。在Projects頁面導入百度的開發包至軟件的庫中。并在AndroidManifest.xml中配置AK。(3)完成地圖顯示在地圖區的fragment的布局文件中添加bmapview,該控件為百度地圖的自定義控件。在java文件中完成地圖的初始化和周期管理代碼,打開模擬器運行完成地圖顯示。圖3.7百度開發平臺獲取key3.6數據可視化模塊數據可視化模塊主要是完成百度地圖的二次開發,將收集到的點數據用不同顏色的分級線連接起來進行可視化。所以本模塊的主要實現的功能就是分級設色線的繪制與啟動。3.6.1分級設色線的繪制在編寫分級設色線繪制代碼以前,首先要確立分級指標。主要指標是所計算得到的平整度的估計值。根據第四部分的實例分析,這里確立的分級指標為40以下、40到60、60以上,分別用藍色、黃色和紅色繪制。在地圖區Fragment界面編寫繪制函數opg,其中的基本原理如下:用query和cursor函數從數據庫bd中獲得測量數據,在moveToNext()遍歷時進行顏色分級,設置p1,p2兩個變量不斷繼承相鄰兩點數據的經緯度坐標,啟動繪制函數在p1和p2不斷畫線完成繪制函數。3.6.2繪制函數的啟動按鈕和清除按鈕編寫分別創建啟動button按鈕和清除button按鈕。在各自的監聽函數中分別調用opg()和百度地圖的clear()函數,clear()在BaiduMap類中,其作用是清除地圖上所有的覆蓋物(包括繪制的曲線等)。3.7數據管理模塊數據管理模塊主要負責利用SQLite數據庫對測量的數據進行管理,在測量區、地圖區和數據庫區均涉及與該模塊的交互。在測量區,用戶點擊“開始測量”之后,數據管理模塊會向表中周期性地添加測量數據;當用戶點擊“停止測量”之后,數據管理模塊則會停止向表中添加數據。在地圖區,用戶通過點擊“繪制分級路徑”從數據管理模塊中讀取附加了地理信息的平整度估計值數據以完成分級路徑的繪制。在數據庫區,用戶可以通過按鈕交互實現以表格形式查看已測量數據以及清除數據庫中的所有測量數據。3.7.1使用SQLite數據庫管理數據“平整度小助手”收集的數據有:經度、緯度、x軸加速度、y軸加速度、z軸加速度、粗糙程度估計值、街道名共七個數據。SQLite是AndroidSDK自帶的數據庫,本軟件使用SQLite來管理數據。在“平整度小助手”的全部三個Fragment中都要用到SQLite數據庫。在測量Fragment中,將每個任務周期測得的數據存入數據庫中;在地圖Fragment中,讀取數據庫中的數據進行可視化;在用戶Fragment中,讀取數據庫并以表格的方式呈現數據。在測量Fragment中,在onCreateView回調中建立數據庫文件,在開始測量按鈕onClick回調中建立表,在周期任務接口中的run回調中插入數據。在地圖Fragment,使用query查詢方法,獲得返回值cursor,該cursor指向各行數據。使用moveToNext方法不斷使cursor指向下一行實現循環,從而獲得全部數據。在數據庫Fragment中,用query加cursor的方法讀取并以表格的形式顯示數據。調用SQL中的delete語句完成對測量數據的刪除。本軟件在使用SQLite所做的準備工作是先創建dbHelper類,用于幫助后續數據庫db的建立。在測量Fragment中用dbHelper創建數據庫db,在其他兩個Fragment中則是調用測量Fragment所建立的數據庫db。4實例分析4.1實驗目的本次實驗為測試“平整度助理”的測量能力的實驗,其目的如下:(1)檢驗軟件是否能完成常規的測量任務。(2)分析軟件所測量計算出的平整度估計值能否準確地評價路面平整度,分析所進行的分級指標能否符合展示平整度定性的預期要求。(3)利用“平整度助理”的繪制分級路徑功能,在百度地圖上繪制本次實驗平整度分級路線,并觀察所繪制的曲線是否能較好地表達目標路線的平整度狀況。4.2實驗過程本次實驗工具為美團共享單車,美團單車是目前常見的共享單車種類之一,如圖4.1。時下,共享單車是當下比較熱門的行駛工具,以共享單車作為實驗的測試工具使實驗具有一定的代表性。圖4.1美團共享單車本次實驗的路程長度為1.3千米,起始點為武漢大學珞珈門門口前,終止點為街道口附近。實驗經過的路面主要為人行道,少部分為柏油馬路。將手機屏幕正面朝上平行放置在單車的儲物籃中,并用膠布將其固定,打開“平整度助理”,在實驗開始時點擊“開始測量”,在實驗結束時點擊“結束測量”。實驗結果存儲在SQLite數據庫中,保存在在手機內部的PZD2.db文件中,借助AndroidStudio中的DeviceFileExplorer工具可以查看。4.3實驗分析4.3.1去除無效數據本次實驗一共收集108條實驗數據,無效數據為4條。手動刪除四條無效數據,用SQL調整id,得到104條有效數據。其中的部分數據見圖4.2。圖4.2部分測量數據4.3.2數據圖表化結合實例分析并確立平整度分級指標以id為X軸,平整度估計值deviation為Y軸,作出圖表,如圖4.3。圖4.3圖表結合行駛過程中的目測觀察和駕駛感受,可以判斷路面的平整性。結合實驗結果(表格)來看,在平整的道路上該值為40以下,在遇到井蓋類似的異常路時該值為40到60之間,遇到碎石陡坡該值為60以上。所以可以分為40以下、40到60、60以上三個平整度等級。4.3.3繪制分級路線圖用紅色線表示60以上平整度等級,藍色線表示40到60的平整度等級,綠色表示20以下的平整度等級。用軟件在百度地圖上繪制分級路線,如圖4.4。圖4.4分級路線繪制圖將分級圖與圖4.3中的圖表與實際情況進行對比,發現所繪制的分級圖符合預期,能夠很好地表現實驗路線的路面平坦程度狀況。4.4實驗結果“平整度助理”能夠順利完成常規的路面狀況測量任務。依據“平整度助理”所測數據而制定的平整度估計值分級指標能夠很好地表現路面的平整度,滿足平整度測量的定性要求。而且,“平整度助理”所繪制的分級路線能夠很好地展示實驗路線的路面平整度狀況,符合實驗預期。5.總結與展望本文首先介紹了路面平整度監測的現狀,由此從傳統和基于智能設備兩個方向介紹了目前路面平整度測量研究的現狀。之后重點介紹以智能手機中的內置傳感器為工具進行路面平整度的測量。同時也介紹了路面平整度的相關概念。本文基于Android開發了“平整度助理”軟件,利用手機內置的加速度傳感器和GPS傳感器,測量和計算路面平整度的估計值,并基于百度地圖SDK進行二次開發,將所測量的路面平整度數據附上地理信息,進行路面平整度估計值的分級,并在百度地圖上繪制分級曲線。實驗證明,軟件測量和分級評價以及可視化效果良好。最后,本文的軟件有以下地方尚可優化:不能自動篩選有效數據;本軟件的數據庫為SQLite的本地數據庫,沒有實現將數據上傳至服務器的功能,實現獲取他人的數據來表達平整度信息。希望未來能實現軟件數據的眾包功能,即獲取例如OSM上的平整度數據實現用戶能通過查詢選擇一條道路即能獲取它的平整度。參考文獻[1]BirlikG,?nderCemSezgin.Effectofvibrationsontransportationsystem[M].VibrationProblemsICOVP2005.SpringerNetherlands,2006:85-90.[2]GordonT.Vibrationtransmissionfromroadsurfacefeatures:Vehiclemeasurementanddetection[J].2007.[3]高博煜,商澤進,龔立平,尹冠生,曹婧,沈南.路面平整度的傳統與智能化監測方法綜述[J].筑路機械與施工機械化,2018,35(07):21-26.[4]LarsF,H.J,Roadroid:ContinuousRoadConditionMonitoringwithSmartPhones[J].土木工程與建筑:英文版,2015:485-496.[5]Singh,G,etal,Smartpatrolling:Anefficientroadsurfacemonitoringusingsmartphonesensorsandcrowdsourcing[J].PervasiveandMobileComputing,2017:71-88[6]Chia-PeiCHOU,Ai-ChinCHEN,Li-WeiCHANG,Chen-YuTSAI.AnalysistheRelationshipbetweenPavementSmoothnessIndices[J].Chia-PeiCHOU;Ai-ChinCHEN;Li-WeiCHANG;Chen-YuTSAI,2011,9.[7]ButtlarWG,IslamS.IntegrationofSmart-Phone-BasedPavementRoughnessDataCollectionToolwithAssetManagementSystem[J].DataCollection,2014.[8]Gonz??LezA,O'brienEJ,LiYY,etal.Theuseofvehicleaccelerationmeasurementstoestimateroadroughness[J].VehicleSystemDynamics,2008,46(6):483-499.[9]NagayamaT,MiyajimaA,KimuraS,etal.SocietyofPhoto-opticalInstrumentationEngineersConferenceSeries[A].Roadconditionevaluationusingthevibrationresponseofordinaryvehiclesandsynchronouslyrecordedmovies[C]InternationalSocietyforOpticsandPhotonics,2013:86923[10]DouangphachanhV,OneyamaH.AStudyontheUseofSmartphonesforRoadRoughnessConditionEstimation[J].JournaloftheEasternAsiaSocietyforTransportationStudies,2013,10:1551-1564.[11]MohamedA,FouadMMM,ElhaririE,El-BendaryN,ZawbaaHM,TahounM,HassanienAE.RoadMonitor:Anintelligentroadsurfaceconditionmonitoringsystem[J].IntelligentSystems,2015:377–387.[12]Chun-HsingHo,GerjenSlim,ShannonMonahan,JeremyDegeyter.ApplicationofGeographicInformationSystemsandVibrationMobileAppsInRoadConditionAssessmentofBikeTrails[A].PaperProceedingsofAutomatedVehiclesSymposium,SanFrancisco,CA,July9-12,2016.[13]TaiYC,ChanCW,HsuYJ.Automaticroadanomalydetectionusingsmartmobiledevice[C]//ConferenceonArtificialIntelligenceandApplications.2010.[14]PanLu,DenverTolliver.MultiobjectivePavement-PreservationDecisionMakingwithSimulatedConstraintBoundaryProgramming[J].JournalofTransportationEngineering,2013,139(9).[15]JTJ071-98.公路工程質量檢驗評定標準[S].北京:中華人民共和國交通部,1998[16]SayersMW,KaramihasSM.Thelittlebookofprofiling[M].AnnArbor:TransportationResearchInstitute,UniversityofMichigan,1998:102.[17]Mú?kaP,CorrelationamongRoadUnevennessIndicatorsandVehicleVibrationResponse[J].JournalofTransportationEngineering,2013.139(8):771-786.[18]YagiK.Extensionalsmartphoneprobeforroadbumpdetection[A].The17th

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論