公路交通连续车流量算法研究及实现

来源 :计算机光盘软件与应用 | 被引量 : 0次 | 上传用户:game1980
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:以智能交通理论为基础,通过计算机信息技术完成公路交通连续车流量算法,对道路交通车流量进行统计、分析,为公路应急指挥、路政管理、公路养护等方面提供公路交通运行管理的全方位解决方案。
  关键词:智能交通;连续车流量;算法;车辆检测器
  中图分类号:TP274.2 文献标识码:A文章编号:1007-9599 (2011) 10-0000-02
  Highway Continuous Traffic Flow Algorithm and Implementation
  Zhang Ning1,Zhou Liang2
  (1.Shanghai ZhiDa Information Industry Co.,Ltd.,Shanghai200060,China;2.Road Management Department of Shanghai Pudong New Area,Shanghai201210,China)
  Abstract:Based on the theory of intelligent transportation,information technology,computer be completed by a continuous traffic flow algorithm Highway,traffic flow of road traffic statistics,analysis,emergency command for the road,road administration,road maintenance and other highway traffic operation and management to provide the full range of solution program.
  Keywords:Intelligent transportation;Continuous traffic flow;Algorithm;Vehicle detector
  一、概述
  监控系统是道路交通机电工程的三大系统之一,可与公路同步建成和使用。本文较详细地阐述了该监控系统所用的交通监控软件的系统构成中的部分算法及实现。
  进入21世纪,交通科学管理被各个专业机构提高到一个新的高度,智能交通的研究和应用已越来越与百姓生活融入在一起。我们研究的交通运行管理系统,就是上海市智能交通研究的一个实践成果,是一套针对高速公路交通运行科学管理,立足于交通工程理论,应用了当前智能交通研究的科研成果的计算机信息管理系统,它以交通监控为核心,综合了应急指挥、路政管理、公路养护等方面功能,是一个高速公路交通运行管理的全方位解决方案。
  二、交通行业监控系统常用算法
  监控系统软件采用的是客户端/服务器(C/S)结构,并针对多种设备建立不同的通信协议及通信方式。并将经通信系统上传的至本地控制器的车辆检测器信息及各类显示标志、状态信息,经过运算处理后得到车流量、车速、区段占有率等数据,从而控制车道指示器、信号灯、限速标志、可变情报板。在发生车祸或火灾时,交通监控系统在收到相关系统的报警时,首先通过隧道紧急广播系统发出通知,让人员疏散,使发生点下游车辆尽快离开,事故发生点上游的车道指示改为相应标志,同时隧道入口处的信号灯发出红灯信号关闭隧道,洞内指示灯将显示有关信息进行诱导。监控系统软件分为软件框架模块、通信模块、算法及设备模块三部分进行开发,各模块相对独立,并可任意组合。
  交通行业监控系统软件主要常用算法有:
  1.根据对多个车辆检测器的连续流量的统计,判断是否发生了拥塞现象的连续车流量判断算法。2.相邻两检测站占有率差值的加州算法。3.用于区域控制的区域算法。4.车辆检测器虑波和插值算法。5.断面层处理算法。
  本文将主要对连续车流量判断算法及实现进行论述。
  三、连续车流量算法介绍
  根据对多个车辆检测器的连续流量的统计,判断是否发生了拥塞现象。
  已知:车辆检测器每分钟上报一次当前车流量信息,包括:
  检测起始时间、检测周期(1分钟、2分钟等)、车道、大型车数、大型车速(平均值)、中型车数、中型车速(平均值)、小型车数、小型车速(平均值)、检测器占有率、车头间距等。
  要求:根据连续多个车辆检测器上报的如上信息,判断检测器所在路段是否发生了拥塞。如果拥塞,应当报警。
  模型:为每个车辆检测器建立一个信息列表,其中存储了前一个车辆检测器预计的某个时段的车辆统计信息。例如:7分钟,大型车数4,车速60km/h,表示过7分钟后,该检测器应当检测到4辆大型车,平均车速为60km/h。
  每个检测器接受到检测数据后,根据车速和与下一个车辆检测器的间距,计算出通过该检测器的车流量到达下一检测器的时间,并将该统计信息保存到下一个检测器的预计统计信息列表的对应时段(预计车辆到达的时段周期)内。例如:该检测器检测到通过5辆小型车,车速为120km/h,而该检测器和下一个检测器之间距离为12公里,因此该检测器推测经过0.1小时即6分钟后,该4辆车应当以120km/h左右的速度通过下一个检测器,因此在下一个检测器的信息队列中,添加了一条:6分钟,4辆小型车,车速120km/h的纪录,供下一个检测器6分钟后进行比较。
  当经过了预计车辆到达的时间后,下一个车辆检测器将当前统计信息和信息列表中的上一个车辆检测器预计信息进行比较,如果统计信息之间误差较大(大过了一定的范围),则认为在两个检测器之间的路段上发生了阻塞,需要报警。也可以通过预测信息列表计算当前路段车数(将预测信息列表中的所有车数相加),与阈值比较,是否超出阈值,超出报警。
  
  图1
  四、算法详述
  (一)算法中使用到的数据结构
  1.路段结构:Section
  路段类型:CLOSE,封闭路段
  UPDOWN,有收费站,可上下路段
  STOP,有服务区,可停留路段
  起始检测器、终止检测器
  路段长度
  统计周期:对路段多长间隔进行一次统计
  周期统计信息列表:保存路段每个周期的统计信息
  2.预测信息列表:Stat Data List
  是一个Hash表,hash表的Key是周期序号,比如:如果该路段统计周期为3分钟,则4表示的是从现在开始的12-15分钟之间的时间段。Hash表的值是关于该路段后一个检测器的预测统计信息Fore Stat Datas。为一个结构。
  3.预测统计信息结构:Fore Stat Datas
  一个列表,包含车道的统计信息数据。
  总的过车数、总的车流量。
  4.车道的统计信息
  车道号、大型车数、大型车流量(车数×车速的累计和)、中型车数、中型车流量(车数×车速的累计和)、小型车数、小型车流量(车数×车速的累计和)
  (二)算法流程
  1.初始化
  (1)传入断面(车辆检测器信息:车辆检测器序列:C1..CN)信息;(2)传入路段信息(长度、类型等):S1..SN-1;(3)输入偏差阈值信息;(4)根据上述信息,构造路段信息,计算其统计周期;(5)为每个车辆检测其构造两个预测信息列表:一个上行车道使用、一个下行车道使用。
  2.算法输入。所有检测器上报的统计数据。
  3.算法输出。返回发生事件的所有路段以及路段上的事件。
  4.算法中的参数
  Qdf:实际车流量和预计车流量的偏差范围阈值。如果偏差范围小于该阈值,则认为有阻塞事件发生。
  Qts:拥挤预测的车流量阈值。某时刻在某个(断面)检测器某个过车时间段Ts内的车数阈值。如果预测的过车数大于该阈值,表示将有拥挤事件发生。
  Ts:拥挤预测的预测时间段长度。
  Qstay:服务区留的车数平均值
  5.流程
  如图2所示:
  
  图2
  五、算法实现(原程序)
  unsigned int Check Up Valve; /*上行检测阀值*/
  unsigned int Check Down Valve; /*下行检测阀值*/
  unsigned int TSUp; /*累计上行预测车流量*/
  unsigned int TS Down; /*累计下行预测车流量*/
  /*加州算法门限值*/
  unsigned int T1=5.0;
  unsigned int T2=0.563;
  unsigned int T3=0.013;
  /*加州算法门限值*/
  #define T1=5.0;
  #define T2=0.563;
  #define T3=0.013;
  /*预测统计数据*/
  typedef struct
  {
   /*基本信息*/
   ……
   /*车流量*/
  ……
  }ForeStatDatas;
  /*检测器状态*/
  typedef struct
  {
   /*车道1数据*/
   ……
   /*车道2数据*/
   ……
   /*车道3数据*/
   ……
   /*车道4数据*/
  }CHECKSTAT;
  typedef struct
  {
   unsigned char StarNo; /*起始检测器编号*/
   unsigned char EndNo; /*终止检测器编号*/
   unsigned short int Space; /*路段长度*/
   unsigned short int AmountTime; /*统计周期*/
   unsinged int SectionStopCount; /*停留车流量*/
   StarDataList ForeStatDatas; /*统计信息列表*/
   unsigned int SectionCount; /*路段车流量*/
  }SECTION;
  typedef struct
  {
   unsigned char DeviceNO; /*设备编号*/
   unsigned char*DeviceName; /*设备名称*/
   unsigned double DevPos; /*设备桩号*/
   unsigned short int UpDown; /*上下行标志1上行2下行0未置*/
   unsigned char SectionNo; /*区域编号*/
   unsigned double Range; /*查找范围*/
  }CDEVICE;
  CDevice ALLDevice[255];/*区域设备数组*/
  unsigned short int AllDeviceCount;
  CDevice ExecuteDevice[255]; /*执行设备数组*/
  unsigned short int ExecuteCount;
  CDevice FindDevice[255];/*符合区域算法输出数组*/
  unsigned short int FindCount;
  
  int arithmetic_LX()
  {
  ……此部分程序略
  }
  六、结束语
  随着公路交通网络的形成、交通流特征的不断变化和现代计算机、通信、控制技术的发展,对路网监控系统的各种新的需求不断涌现,促使监控系统的各种功能不断发展。本交通运行管理信息系统,将不断引入世界上先进的网络技术和软件技术,本着先进性、实用性和可扩展的设计思想与建设原则,本系统从设计开始就具有很强的伸缩性,以适应不同规模高速公路和快速干道的需要,以实现公路交通的安全、高效和现代化,最终为交通管理提供一整套完整优秀的解决方案。道路交通运行管理系统的发展方向是成为高速公路路网智能交通系统(ITS)的一个组成部分,融入整个城市的智能交通系统(ITS)。
  参考文献:
  [1]上海市高速公路运行管理系统招标书
  [2]上海市高速公路运行管理系统技术响应
  [3]上海市高速公路网收费,监控,通信系统技术框架
  [4]公路养护维修作业安全规程
  [5]中国交通信息产业杂志.高速公路监控系统控制策略的研究[J]
  [6]陈述彭.地理信息系统导论
  
其他文献
提出一种基于符号图的高维时间序列数据库索引方法,通过等分空间法对高维时间序列数据进行预处理,将其转化为高维符号序列,利用符号状态转换图对数据库进行索引。应用CMU Graphics lab发布的Motion Capture Database动作数据库进行实验,取得了较好的结果。
本文针对雷电的分类和危害分方式,结合我院微机中心的特点,分析了网络中心预防雷击、防雷保护和减少雷电危害的机理。构建了一个立体医院网络防雷系统,从而保证了医院计算机网络
以C&C08程控交换机维护的常见故障为例,分析总结故障的排查方法和故障的基本处理方法,为维护工作者总结出一些常见的故障处理方法,使工作更能快速、准确地完成,并能提前做好预防维
垂直互连是三维微波和毫米波集成电路中的典型结构.本文采用人工神经网络模型模拟屏蔽共面波导的垂直互连结构,由时域有限差分法产生网络的训练和测试样本.训练好的网络同时
本文应用边界元法分析了不对称平板介质波导不连续性结构的散射特性,编制了一个通用的计算机程序,对几个算例进行了计算,结果与已发表文献一致.
随着信息化时代的发展,人们对信息技术的应用水平不断提升,计算机教学已成为国内中职的重点学科之一,现代化教学对之也提出了很高的要求。但是在中职计算机教学中仍然存在很多问
基于医院信息化系统的Web开发与数据库管理,是医院信息化系统面向广域网信息发布的主要形式,本文介绍了医院网站前台(页面部分)与网站后台(PHP+Mysql数据库部分)设计的原则和方法,同