《基于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

提交评论