发明名称 基于Zhang宏观交通流模型的FPGA在线预测控制方法
摘要 本发明公开了一种基于Zhang宏观交通流模型的FPGA在线预测控制方法,用于解决现有的FPGA预测控制方法实时性差的技术问题。技术方案是通过对模型近似离散化处理,建立并行处理流程,设计动态数据存储方案,用FPGA实现了基于Zhang宏观交通流模型的封闭道路匝口和可变信息牌的预测控制。使得高速公路的交通流密度、行车速度实现了实时有效控制。
申请公布号 CN102831772A 申请公布日期 2012.12.19
申请号 CN201210316692.1 申请日期 2012.08.30
申请人 西北工业大学 发明人 史忠科;刘通
分类号 G08G1/00(2006.01)I;G08G1/01(2006.01)I;G06F19/00(2011.01)I 主分类号 G08G1/00(2006.01)I
代理机构 西北工业大学专利中心 61204 代理人 王鲜凯
主权项 1.一种基于Zhang宏观交通流模型的FPGA在线预测控制方法,其特征在于包括以下步骤:步骤一、根据Zhang模型:<maths num="0001"><![CDATA[<math><mfenced open='{' close=''><mtable><mtr><mtd><mfrac><mrow><mo>&PartialD;</mo><mi>&rho;</mi></mrow><mrow><mo>&PartialD;</mo><mi>t</mi></mrow></mfrac><mo>+</mo><mfrac><mrow><mo>&PartialD;</mo><mrow><mo>(</mo><mi>&rho;v</mi><mo>)</mo></mrow></mrow><mrow><mo>&PartialD;</mo><mi>x</mi></mrow></mfrac><mo>=</mo><mi>&pi;</mi><mo>[</mo><mi>r</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mo>,</mo><mi>s</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mo>]</mo></mtd></mtr><mtr><mtd><mfrac><mrow><mo>&PartialD;</mo><mi>v</mi></mrow><mrow><mo>&PartialD;</mo><mi>t</mi></mrow></mfrac><mo>+</mo><mi>v</mi><mfrac><mrow><mo>&PartialD;</mo><mi>v</mi></mrow><mrow><mo>&PartialD;</mo><mi>x</mi></mrow></mfrac><mo>=</mo><mo>-</mo><mfrac><mn>1</mn><mi>T</mi></mfrac><mrow><mo>(</mo><mi>v</mi><mo>-</mo><msub><mi>V</mi><mi>e</mi></msub><mrow><mo>(</mo><mi>&rho;</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>-</mo><mi>&alpha;&rho;</mi><msup><mrow><mo>(</mo><mrow><msubsup><mi>V</mi><mi>e</mi><mo>&prime;</mo></msubsup><mo>(</mo><mi>&rho;</mi><mo>)</mo></mrow><mo>)</mo></mrow><mn>2</mn></msup><mfrac><mrow><mo>&PartialD;</mo><mi>&rho;</mi></mrow><mrow><mo>&PartialD;</mo><mi>x</mi></mrow></mfrac></mtd></mtr></mtable></mfenced></math>]]></maths>式中,ρ为车辆的平均密度、v为平均速度、t为时间,x为与仿真道路起始点的距离,π[r(x,t),s(x,t)]为由于匝口进入或驶出的车流量引起的密度变化率函数,r(x,t)为由匝口进入的车流量,s(x,t)=s<sub>0</sub>(x,t)+s<sub>q</sub>(x,t)为由匝口驶出的车流量,s<sub>0</sub>(x,t)为由匝口驶出的正常车流量、s<sub>q</sub>(x,t)为信息显示牌强制驶出车辆造成的流量增量,V<sub>e</sub>(ρ)为等价速度,T,α为常数;用差分格式表示微分项并略去高阶项,得到:<maths num="0002"><![CDATA[<math><mrow><mfrac><mrow><mo>&PartialD;</mo><mi>&rho;</mi></mrow><mrow><mo>&PartialD;</mo><mi>t</mi></mrow></mfrac><mo>=</mo><mfrac><mrow><mi>&rho;</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>t</mi><mo>+</mo><mi>&xi;</mi><mo>)</mo></mrow><mo>-</mo><mi>&rho;</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow></mrow><mi>&xi;</mi></mfrac><mo>+</mo><mi>o</mi><mrow><mo>(</mo><mi>&xi;</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msubsup><mi>&rho;</mi><mi>i</mi><mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>-</mo><msubsup><mi>&rho;</mi><mi>i</mi><mi>n</mi></msubsup></mrow><mi>&xi;</mi></mfrac></mrow></math>]]></maths><maths num="0003"><![CDATA[<math><mrow><mfrac><mrow><mo>&PartialD;</mo><mi>&rho;</mi></mrow><mrow><mo>&PartialD;</mo><mi>x</mi></mrow></mfrac><mo>=</mo><mfrac><mrow><mi>&rho;</mi><mrow><mo>(</mo><mi>x</mi><mo>+</mo><mi>h</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mo>-</mo><mi>&rho;</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow></mrow><mi>h</mi></mfrac><mo>+</mo><mi>o</mi><mrow><mo>(</mo><mi>h</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msubsup><mi>&rho;</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow><mi>n</mi></msubsup><mo>-</mo><msubsup><mi>&rho;</mi><mi>i</mi><mi>n</mi></msubsup></mrow><mi>h</mi></mfrac></mrow></math>]]></maths><maths num="0004"><![CDATA[<math><mrow><mfrac><mrow><mo>&PartialD;</mo><mi>v</mi></mrow><mrow><mo>&PartialD;</mo><mi>t</mi></mrow></mfrac><mo>=</mo><mfrac><mrow><mi>v</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>t</mi><mo>+</mo><mi>&xi;</mi><mo>)</mo></mrow><mo>-</mo><mi>v</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow></mrow><mi>&xi;</mi></mfrac><mo>+</mo><mi>o</mi><mrow><mo>(</mo><mi>&xi;</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msubsup><mi>v</mi><mi>i</mi><mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>-</mo><msubsup><mi>v</mi><mi>i</mi><mi>n</mi></msubsup></mrow><mi>&xi;</mi></mfrac></mrow></math>]]></maths><maths num="0005"><![CDATA[<math><mrow><mfrac><mrow><mo>&PartialD;</mo><mi>v</mi></mrow><mrow><mo>&PartialD;</mo><mi>x</mi></mrow></mfrac><mo>=</mo><mfrac><mrow><mi>v</mi><mrow><mo>(</mo><mi>x</mi><mo>+</mo><mi>h</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mo>-</mo><mi>v</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow></mrow><mi>h</mi></mfrac><mo>+</mo><mi>o</mi><mrow><mo>(</mo><mi>h</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msubsup><mi>v</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow><mi>n</mi></msubsup><mo>-</mo><msubsup><mi>v</mi><mi>i</mi><mi>n</mi></msubsup></mrow><mi>h</mi></mfrac></mrow></math>]]></maths>式中,ξ为t的微分,h为x的微分,o(ξ)为ξ的高阶无穷小,o(h)为h的高阶无穷小,ρ(x,t)为t时刻x处车辆的平均密度,v(x,t)为t时刻x处车辆的平均速度,把道路分成多个路段,每个路段长度为h,采样周期为ξ,<img file="FDA00002076904200016.GIF" wi="49" he="50" />为第i个路段在[nξ,(n+1)ξ]内车辆的平均密度,<img file="FDA00002076904200017.GIF" wi="48" he="63" />为第i个路段在[nξ,(n+1)ξ]内车辆的平均速度;得到Zhang模型的差分形式为:<maths num="0006"><![CDATA[<math><mfenced open='{' close=''><mtable><mtr><mtd><msubsup><mi>&rho;</mi><mi>i</mi><mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>=</mo><mi>&xi;&pi;</mi><mo>[</mo><mi>r</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>n</mi><mo>)</mo></mrow><mo>,</mo><mi>s</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>n</mi><mo>)</mo></mrow><mo>]</mo><mo>-</mo><mfrac><mi>&xi;</mi><mi>h</mi></mfrac><mo>[</mo><msubsup><mi>v</mi><mi>i</mi><mi>n</mi></msubsup><mrow><mo>(</mo><msubsup><mi>&rho;</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow><mi>n</mi></msubsup><mo>-</mo><msubsup><mi>&rho;</mi><mi>i</mi><mi>n</mi></msubsup><mo>)</mo></mrow><mo>+</mo><msubsup><mi>&rho;</mi><mi>i</mi><mi>n</mi></msubsup><mrow><mo>(</mo><msubsup><mi>v</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow><mi>n</mi></msubsup><mo>-</mo><msubsup><mi>v</mi><mi>i</mi><mi>n</mi></msubsup><mo>)</mo></mrow><mo>]</mo><mo>+</mo><msubsup><mi>&rho;</mi><mi>i</mi><mi>n</mi></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>v</mi><mi>i</mi><mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>=</mo><msubsup><mi>v</mi><mi>i</mi><mi>n</mi></msubsup><mo>+</mo><mi>&xi;</mi><mo>[</mo><mfrac><mrow><msub><mi>v</mi><mi>e</mi></msub><mrow><mo>(</mo><msubsup><mi>&rho;</mi><mi>i</mi><mi>n</mi></msubsup><mo>)</mo></mrow><mo>-</mo><msubsup><mi>v</mi><mi>i</mi><mi>n</mi></msubsup></mrow><mi>T</mi></mfrac><mo>-</mo><mfrac><mrow><msubsup><mi>&alpha;&rho;</mi><mi>i</mi><mi>n</mi></msubsup><msup><mrow><mo>(</mo><msubsup><mi>v</mi><mi>e</mi><mo>&prime;</mo></msubsup><mrow><mo>(</mo><msubsup><mi>&rho;</mi><mi>i</mi><mi>n</mi></msubsup><mo>)</mo></mrow><mo>)</mo></mrow><mn>2</mn></msup><mrow><mo>(</mo><msubsup><mi>&rho;</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow><mi>n</mi></msubsup><mo>-</mo><msubsup><mi>&rho;</mi><mi>i</mi><mi>n</mi></msubsup><mo>)</mo></mrow><mo>+</mo><msubsup><mi>v</mi><mi>i</mi><mi>n</mi></msubsup><mrow><mo>(</mo><msubsup><mi>v</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow><mi>n</mi></msubsup><mo>-</mo><msubsup><mi>v</mi><mi>i</mi><mi>n</mi></msubsup><mo>)</mo></mrow></mrow><mi>h</mi></mfrac><mo>]</mo></mtd></mtr></mtable></mfenced></math>]]></maths>式中,r(i,n)表示第i个路段在[nξ,(n+1)ξ]内由匝口进入的车流量,s(i,n)表示第i个路段在[nξ,(n+1)ξ]内由匝口驶出的车流量;步骤二、建立等价速度模型为:<img file="FDA00002076904200021.GIF" wi="1473" he="272" />式中,v<sub>0</sub>,E,<img file="FDA00002076904200022.GIF" wi="49" he="77" />均为常数,v<sub>ea</sub>为可变信息显示牌指定速度;第i路段:<img file="FDA00002076904200023.GIF" wi="1345" he="225" />式中,v<sub>0</sub>,E,<img file="FDA00002076904200024.GIF" wi="33" he="52" />均为常数,v<sub>ea</sub>(i)为第i个路段可变信息显示牌指定速度;步骤三、结合Zhang模型的差分形式式和等价速度模型,在FPGA中设计包含车辆平均密度ρ和平均速度v的计算模块,根据实际道路的长度和匝口信息把高速公路分成多个路段,每个路段对应一个计算模块,根据初始信息和调控信息,在FPGA中同时并行运行这些计算模块,预测出各个路段下一时间段的车辆平均密度和平均速度,然后把车辆平均密度和平均速度存入寄存器,在所有计算模块完成计算后,输出车辆平均密度和平均速度,同时把这些数据回传给计算模块进行下一步的计算;步骤四、以匝口进入封闭道路流量作为模型输入,可变信息牌作为强制速度和匝口强制输出调节量,对于给定控制输入预测每个路段的平均交通流密度和车辆平均速度,如果每个路段都满足最低速度、最大密度要求,则选择该方案以控制封闭道路匝口及可变信息牌,否则调整控制方案。
地址 710072 陕西省西安市友谊西路127号