本发明涉及公路安全防护

技术领域:

,具体涉及一种基于GPS运动摄像机数据确定道路圆曲线半径及行车视距的方法。

背景技术:

:研究公路安全问题时,需要测量实际道路的圆曲线半径及行车视距。在中华人民共和国交通运输部发布的《公路安全生命防护工程实施技术指南》及《公路项目安全性评价规范》(JTGB05-2015)中,对不同设计速度情况下的道路圆曲线最小半径以及视距均有明确要求。但在工程实践中,缺乏快速有效的道路圆曲线半径以及行车视距的测量方法。在现有的公路技术指标简易测量方法中,测量弯道半径的方法是人工通过皮尺在现场测量进行多次测量比对;视距则是使用轮式测距仪沿车道中心线进行多次测量比对,两种方式皆效率较低。技术实现要素:本发明要解决的技术问题是提供一种基于GPS运动摄像机数据确定道路圆曲线半径及行车视距的方法,该方法在实施中不影响道路的正常交通,并可极大地缩短现场作业时间,大幅度的提升测量效率以及减少所需要运用的人力、物力。为解决上述技术问题,本发明采用如下技术方案:设计一种基于GPS运动摄像机数据确定道路圆曲线半径及行车视距的方法,包括如下步骤:(1)数据采集驾驶载有GPS运动摄像机的车辆沿待测道路圆曲线的车道中心线行驶,驾驶过程中尽量匀速平稳慢行,以达到增加样本容量的目的,以GPS运动摄像机记录行驶轨迹的GPS坐标点信息,坐标点位置每1秒更新和记录一次;(2)数据处理由于在经纬度坐标体系中,地球的子午线总长度约为40008km,故经度上每秒约为30.9m,纬度每秒约为30.9*cos(纬度)m,经过换算,即可将上步所得经纬度坐标转换为X和Y轴的二维正交坐标系;(3)圆心坐标确定以所记录的三个坐标点为一组,根据公式(a)、(b)分别拟合出相邻两个坐标点之间线段所在直线的直线方程式,再依据相垂直的两条线的斜率互负倒数的定理,分别拟合出过两线段中点的中心垂直线方程式;b=ym-kxm(b)式中,(x1,y1)、(x2,y2)为相邻的两个坐标点,(xm,ym)为两点所连线段的中点,k为线段的斜率,b为线段的截距,具体参数参考图2。该两条中心垂直线的交点即为圆心,由公式(c)、(d)得出圆心的坐标点(x0,y0):(4)轨线半径确定由公式(e)求出圆心点(x0,y0)与所选坐标组中任意一点之间的距离即为所选三个坐标点所形成轨线的半径:(5)车道圆曲线半径确定对车道圆曲线上的n段轨线,重复(3)至(4)计算步骤,即得到n段轨线半径;当计算轨线的段数满足(f)的要求时,进行轨线半径的统计,所得众值即认为是相应车道的圆曲线半径;式中,n为样本数,为正态分布条件下与置信水平相联系的系数,σ为0.5,Δ为抽样误差。(6)道路圆曲线半径确定将所记录的车道中心线的轨迹点对应的平移至道路中心线,并判断出移动距离的正负值,再通过平移距离与车道圆曲线半径的代数和,求得道路圆曲线半径;(7)行车视距确定①确认已知道路宽度后,将移至道路中心线的轨迹线再分别向左、右两侧平移路基宽度二分之一的距离,基于道路圆曲线半径中所得GPS点的X、Y轴的距离坐标,由公式(g)、(h)计算出平移之后道路边缘线上的对应点的坐标:式中,(x’,y’)为道路边缘线上的对应的坐标;r为路基宽度的一半;当道路圆曲线是凸曲线时,k为正数时a=1,k为负数时a=-1,当道路圆曲线是凹曲线时情况相反;②对车道中心线轨迹点数据进行曲线拟合,得出相应的道路中心线的三项式曲线公式;③沿道路行驶方向,将视距起始点与其后面的道路边缘线上的点的连线延伸到圆曲线另一侧的道路中心线上,解出该延伸线与所述多项式曲线的交点坐标,再利用公式(e)计算出交点与原来的GPS点坐标距离,即为水平的视距;④考虑竖直距离差,最后运用公式(i)计算得出最终的视距:式中,h为水平的视距,v为竖直距离差。本发明积极有益的技术效果在于:1.本发明方法仅需驾驶载有车载运动相机的车辆,一次性通过所需测量的路段,记录行驶轨迹GPS坐标点,再由本发明方法对应的步骤获取道路圆曲线半径和视距。2.本发明方法在实施中不影响道路的正常交通,并可极大地缩短现场作业时间,大幅度的提升测量效率以及减少所需要运用的人力、物力。3.本发明方法较《公路安全生命防护工程实施技术指南》等所提供的测量方法更具先进性和可实施性。附图说明图1为不同半径区间的频次分布图;图2为车道圆曲线半径的求解示意图;图3为道路圆曲线及GPS坐标点轨迹图,其是由GarminVIRB摄像机所记录下来的坐标点信息导入googleearth所得到的轨迹图,曲线上所分布的圆点即为各坐标点;图4为拟合多项式曲线以及水平视距的求解示意图。具体实施方式下面结合附图和实施例来说明本发明的具体实施方式,但以下实施例只是用来详细说明本发明,并不以任何方式限制本发明的范围。在以下实施例中所涉及的GPS运动摄像机为GarminVIRB系列的摄像,所涉及其它仪器或设备如无特别说明,均为常规仪器设备;所涉及的步骤方法,如无特别说明,均为常规方法。实施例一:基于GPS运动摄像机数据确定道路圆曲线半径的方法,包括如下步骤:1.数据采集驾驶载有Garmin摄像机(型号为VIRB)的车辆,沿待测道路(罗山县Y060号乡道)圆曲线的车道中心线行驶(行驶速度为30km/h),以GPS运动摄像机记录行驶轨迹的GPS坐标点信息,坐标点位置每1秒更新和记录一次;2.数据处理本例中是从GPS运动摄像机上直接导出格式为fit格式的坐标记录文件,用数据格式转换软件GPSbabel将fit格式的文件转换成kml格式,并导入至googleearth查看相关信息;再运用GPSTrackMaker软件将kml文件转换成txt文件;最后将txt文件导入Excel中。由于所形成的txt文件含有不必要的信息,在excel中运用“MID和FIND”公式提取出经纬度的坐标(=MID(目标所在表格,FIND("Longitude:",目标所在表格)+11,FIND("

Latitude",目标所在表格)-FIND("Longitude:",目标所在表格)-10))。本次使用的GarminVIRB系列摄像机运用的是WGS84系列的坐标,由于“度”与“分”级的基数过大,所以使用“ROUNDDOWN”公式提取出坐标的“秒”级系数(=((目标所在表格-ROUNDDOWN(目标所在表格,0))*60-ROUNDDOWN((目标所在表格-ROUNDDOWN(目标所在表格,0))*60,0))*60)。由于在经纬度中,经度上每秒约为30.9m,纬度每秒约为30.9*cos(纬度)m,经过换算即可将经纬度坐标转换为X和Y轴的距离坐标,如表1所示。表1本例计算所得到的具体坐标集合数据3.圆心坐标确定以所记录的三个坐标点为一组,根据公式(a)、(b)分别拟合出相邻两个坐标点之间线段所在直线的直线方程式,再依据相垂直的两条线的斜率互负倒数的定理,分别拟合出过两线段中点的中心垂直线方程式;b=ym-kxm(b)该两条中心垂直线的交点即为圆心,由公式(c)、(d)得出圆心的坐标点(x0,y0),参见图2所示:4.轨线半径确定由公式(e)求出圆心点(x0,y0)与所选坐标组中任意一点之间的距离即为所选三个坐标点所形成轨线的半径:5.车道圆曲线半径确定对车道圆曲线上的22段轨线,重复(3)至(4)计算步骤,即得到22段轨线半径;计算出所有轨线段的半径,进而统计各半径区间内的频率次数,如图1所示。由图1可知,统计曲线具有显著的聚集特征,且众值为92.09m,故取车道半径为92.09m。6.本例为单车道道路,故车道中心线即道路中心线;车道半径即道路半径。实施例二:基于GPS运动摄像机数据确定道路行车视距的方法,包括如下步骤:(1)根据道路宽度,将移至道路中心线的轨迹线再分别向左、右两侧平移路基宽度二分之一的距离(即3m),基于实施例一计算道路圆曲线半径中所得GPS点的X、Y轴的距离坐标,由公式(g)、(h)计算出平移之后道路边缘线上的对应点的坐标:式中,(x’,y’)为道路边缘线上的对应的坐标;r为路基宽度的一半;当道路圆曲线是凸曲线时,k为正数时a=1,k为负数时a=-1,当道路圆曲线是凹曲线时情况相反;(2)采用matlab拟合出拟合优度足够大的(R2>0.9)道路中心线的多项式公式(Excel自带的拟合公式所提供的系数的有效数字过少,会造成较大误差,故而使用matlab进行拟合),具体方法如下:将根据GPS坐标所求得的X、Y轴的距离坐标,以矩阵形式导入matlab,并命名为矩阵A,写入命令:x=A(1,:);y=A(2,:);a=polyfit(x,y,3);x1=linspace(min(x(:)),max(x(:)));y1=polyval(a,x1);figure;holdon;plot(x,y,'r^',x1,y1,'k:');tit=char(vpa(poly2sym(a),5));title(tit);y0=polyval(a,x);err=abs(y-y0);stem(x,err);按下回车键即可得到拟合GPS点的三项式曲线及公式,参见图4。(3)使GPS点(视距起始点)与道路边缘线上的点的连线与拟合出的道路中心线的多项式曲线相交,通过matlab解出延伸线与三项式曲线的交点;将式子变为ax3+bx2+cx+d=0的形式,并在excel中排列好a、b、c、d等系数的顺序,以矩阵的形式导入matlab,并命名为矩阵B。输入命令:X=solve('ax^3+b*x^2+c*x+d=0','x');X=inline(X);a=B(1,:);b=B(2,:);c=B(3,:);d=B(4,:);root=feval(X,a,b,c,d)root=按下回车键即可得到GPS点与道路边缘线上的点的延长线与拟合出的道路中心线的多项式曲线交点的坐标,根据实际情况判断出哪种解是所需答案,代入GPS点(视距起始点)与道路边缘线上的点的连线公式,求出视线与道路中心线交点的坐标,再使用公式(e)计算出交点与原来的GPS点坐标距离,即为水平的视距。(4)开车时人视线的垂直高度为1.2m,观察时要看到对面距路面高度0.1米的目标点,所以计算视距时还要考虑1.1m的竖直距离差,最后由公式(h)计算得出最终的视距:对GPS记录下来的点依次作为视距起始点,并按照上述方法进行依次计算,得到表2的结果。表2图3中所有GPS点的水平视距行车视距的起始点编号视距(m)78144.782962279132.916969280121.613320281108.97104378295.591930728383.935470328475.130437928569.815861348661.249588458755.672276038848.368925178942.596019559041.43982499140.882990569237.774975739348.740592919457.8864297295131.1225861962048.867289973692.789104983295.025039920899.18895由表2可知,转弯时的行车视距由大到小再由小到大,最小值为37.77m,即认为这条道路圆曲线的行车视距为37.77m。图3中展示信息的GPS例点即为表2中编号为96的坐标点。本发明在已有的测量道路圆曲线以及行车视距方法的基础上,提出了更加精确快捷的测量方法,具有重要的实际意义。上面结合附图和实施例对本发明作了详细的说明,但是,所属

技术领域:

的技术人员能够理解,在不脱离本发明宗旨的前提下,还可以对上述实施例中的各个具体参数进行变更,形成多个具体的实施例,均为本发明的常见变化范围,在此不再一一详述。当前第1页1&nbsp2&nbsp3&nbsp

matlab计算中值 众值,基于GPS运动摄像机数据确定道路圆曲线半径及行车视距的方法与流程...相关推荐

  1. python中使用zip函数基于两个列表数据list创建字典dict数据(Create a dictionary by passing the output of zip to dict)

    python中使用zip函数基于两个列表数据list创建字典dict数据(Create a dictionary by passing the output of zip to dict) 目录

  2. pandas使用replace函数移除dataframe数值数据中的逗号并基于处理后的数据生成新的整型数据列(remove comma from column values in Pandas)

    pandas使用replace函数移除dataframe数值数据中的逗号并基于处理后的数据生成新的整型数据列(remove comma from column values in Pandas Dat ...

  3. Mysql出租车轨迹的分析_一种基于出租车轨迹数据的交通出行共现现象的可视化分析方法与流程...

    本发明涉及交通数据可视化领域,尤其涉及一种基于出租车轨迹数据的交通出行共现现象的可视化分析方法. 背景技术: :城市中人类移动规律中的共现现象是指来自两个区域的人们在同一个时间段内访问同一个城市区域. ...

  4. matlab计算潮差程序,一种基于FVCOM模型的可视化潮汐潮流预报方法与流程

    本发明涉及潮汐预报技术领域,特别是涉及一种基于FVCOM模型的可视化潮汐潮流预报方法. 背景技术: 潮汐预报对一定海区在未来一定时间内的潮汐涨落情况进行的推算和预报.预报内容包括逐日的高潮和低潮高度及 ...

  5. imf 能量矩 matlab,基于IMF能量矩和遗传算法优化SVM的储能电池过充诊断方法与流程...

    本发明涉及一种基于imf能量矩和遗传算法优化svm的储能电池过充诊断方法,属于储能电池故障监测领域. 背景技术: :在智能电网建设背景下,储能电池已经成为保证电网安全.稳定.高效运行的关键性技术,在削 ...

  6. matlab实现盖尔圆,一种结合四阶累积量与盖尔圆改进的信号源个数估计方法与流程...

    本发明涉及空间谱研究中信号源估计的技术领域,特别涉及一种结合四阶累积量与盖尔圆改进的信号源个数估计方法. 背景技术: 波达方向(DOA)估计算法是目前空间谱研究领域的一个热点问题,然而在实际情形下,波 ...

  7. MATLAB计算英文符号信源熵,基于matlab的英文文本信息量的统计-正确.doc

    基于matlab的英文文本信息量的统计-正确.doc 实验一英文文本信息量的计算一. 实验目的及要求a) 实验目的1. 通过本实验熟悉Matlab软件编程环境2. 编写M文件实现对英文文本信息量的统计 ...

  8. matlab计算栅格数据逐像元趋势,基于Matlab的栅格数据一元线性回归及显著性检验(slope趋势分析)...

    %by yinlichang3064@163.com 在进行长时间序列的栅格数据分析时,如NDVI,fvc,LAI,NPP,GPP,需要知道每个格点的长期趋势. 如果再arcgis中进行一元回归计算, ...

  9. matlab计算结构自振频率,基于Matlab的多自由度系统固有频率及振型计算

    基于Matlab的多自由度系统固有频率及振型计算 阅读:25212010-04-13 21:38 标签:杂谈 可参考文涛,基于Matlab语言的多自由度振动系统的固有频率及主振型计算分析,2007 对 ...

  10. 采用morison方程基于matlab计算大直径波浪力,基于Morison方程分层积分计算悬浮隧道的波浪力...

    [1] 项贻强,薛静平.悬浮隧道在国内外的研究[J].中外公路.2002,22(6): 49-52. XIANG Yiqiang, XUE Jinping. Study on submerged ...

最新文章

  1. 安装linux 选择安装包,安装CentOS如何最小化选择安装软件包组
  2. matlab硬接触,abaqus中的关于硬接触(Hard contact)、及其他接触
  3. 在HTML文件中加载js
  4. leetcode @python 124. Binary Tree Maximum Path Sum
  5. ubuntu 12.04 源码安装 Xen 4.2
  6. java+mysql企业进销存管理系统
  7. 计算机配色在纺织中的应用,计算机配色在印染行业的应用
  8. 响应式布局——媒体查询
  9. 深圳最牛街道办:腾讯华为设总部,百家上市公司年营收超2万亿
  10. 几个免费的高清图片网站推荐
  11. laravel 基础教程 —— Eloquent
  12. 苹果手机怎么在照片上添加文字_手机照片如何添加文字?原来方法这么简单,花1分钟手把手教...
  13. 金融牌照之基金销售、基金支付、基金管理牌照简析
  14. VS2010使用DX报错 VS报错之混合模式程序集是针对“v1.1.4322”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。...
  15. Exiftool 命令行操作图片元信息(Megadata)
  16. Excel怎么设置每页都打印标题行?
  17. 如何让nextcloud支持avi文件在线播放
  18. 串口发送数据,只接收到00的原因之一
  19. 2022 云栖大会 | 开源人说预约:听百味技术人生,品激荡开源江湖
  20. UiPath之邮件发送

热门文章

  1. 大数据平台之数据存储
  2. vue实现pdf预览
  3. 做APP,从头到尾产品经理需要做什么?- 项目启动前
  4. 富士施乐 DocuCentre-V 3065 打印机远程命令执行漏洞
  5. journalctl命令
  6. 更改Word文档中自带插入公式中的字体解决方案
  7. autojs图色工具
  8. python转bat_bat 转换为python
  9. 项目管理十大知识领域之间的关系
  10. 修改电脑QQ界面大小