发明名称 一种基于粒子群算法的相邻路口间人行道信号灯控制方法
摘要 一种基于粒子群算法的相邻路口间人行道信号灯控制方法,所述控制方法包括如下步骤:1)参考历史交通数据的时间段划分;采集历史交通数据中,按交通流量变化划分时间段,将流量变化较小时间段的划在一块,区分交通流量高峰段和平缓段;2)人行道信号灯相位设置;3)实时采集人行道和机动车道交通数据,计算信号相位状态及相位时间;4)判断当前人行道和机动车道绿灯相位需求程度是否满足信号灯相位变换条件;5)当满足信号灯相位变换条件时,信号灯变换相位。本发明提供一种兼顾路口车辆和行人通行效率、可靠性较高、提升交通效率的基于粒子群算法的相邻路口间人行道信号灯控制方法。
申请公布号 CN105046990A 申请公布日期 2015.11.11
申请号 CN201510525897.4 申请日期 2015.08.25
申请人 银江股份有限公司 发明人 童素芬;温晓岳;罗鹏;章步镐
分类号 G08G1/08(2006.01)I 主分类号 G08G1/08(2006.01)I
代理机构 杭州斯可睿专利事务所有限公司 33241 代理人 王利强
主权项 一种基于粒子群算法的相邻路口间人行道信号灯控制方法,其特征在于:所述控制方法包括如下步骤:1)参考历史交通数据的时间段划分;采集历史交通数据中,按交通流量变化划分时间段,将流量变化较小时间段的划在一块,区分交通流量高峰段和平缓段;2)人行道信号灯相位设置及相位变换设置信号灯相位:R1人行道绿灯,机动车道红灯R2人行道红灯,机动车道红灯R3人行道红灯,机动车道绿灯R4人行道红灯,机动车道红灯相位R2、R4保证相位变换后,通行一半的行人或车辆顺利通行,其时间设置为固定值,R2时间TR2=人行道长度/人平均速度,R4时间TR4=人行道宽度/机动车平均速度;相位变换设置:2.1)当人行道没有行人,机动车道没有车辆时,机动车道绿灯相位;2.2)当机动车道出现车辆而人行道未出现行人时,机动车道绿灯相位;2.3)当人行道出现行人而机动车道未出现车辆时,人行道绿灯相位;2.4)当人行道有行人、机动车道有车辆时,计算人行道和机动车道绿灯相位需求程度,此时,信号灯循环变换顺序为R1、R2、R3、R4,因为R2、R4的时间设置为固定值,R1、R3的相位时间根据人行道和机动车道绿灯相位需求程度是否满足信号灯相位变换条件进行确定;3)实时采集人行道和机动车道交通数据,计算人行道和机动车道绿灯相位需求程度人行道绿灯相位需求程度包括前一相位状态R3和当前相位状态R1的行人通过人行道流量、行人等候数量、行人等候时间和行人流量波动情况;机动车道绿灯相位需求程度包括前一相位状态R1和当前相位状态R3的车辆通过人行道流量、车辆等候的排队长度、车辆等候时间和车辆流量波动情况;计算公式如下:<maths num="0001" id="cmaths0001"><math><![CDATA[<mfenced open = '' close = ''><mtable><mtr><mtd><mrow><msub><mi>g</mi><mrow><mi>r</mi><mi>e</mi><mi>n</mi></mrow></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>&alpha;</mi><mn>1</mn></msub><mo>&CenterDot;</mo><mi>P</mi><mrow><mo>(</mo><msub><mi>T</mi><mi>k</mi></msub><mo>,</mo><msub><mi>T</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>R</mi><mrow><mo>(</mo><msub><mi>T</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>&alpha;</mi><mn>2</mn></msub><mo>&CenterDot;</mo><mi>P</mi><mrow><mo>(</mo><mi>t</mi><mo>,</mo><msub><mi>T</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>R</mi><mrow><mo>(</mo><msub><mi>T</mi><mi>k</mi></msub><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mo>+</mo><msub><mi>&alpha;</mi><mn>3</mn></msub><mo>&CenterDot;</mo><mrow><mo>(</mo><mover><mrow><msub><mi>Q</mi><mi>r</mi></msub><mrow><mo>(</mo><mi>J</mi><mo>)</mo></mrow></mrow><mo>&OverBar;</mo></mover><mo>-</mo><mover><mrow><msub><mi>Q</mi><mi>r</mi></msub><mrow><mo>(</mo><mrow><msub><mi>T</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>,</mo><mi>t</mi></mrow><mo>)</mo></mrow></mrow><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mo>/</mo><msqrt><mrow><msup><mover><mrow><msub><mi>Q</mi><mi>r</mi></msub><mrow><mo>(</mo><mi>J</mi><mo>)</mo></mrow></mrow><mo>&OverBar;</mo></mover><mn>2</mn></msup><mo>+</mo><msup><mover><mrow><msub><mi>Q</mi><mi>r</mi></msub><mrow><mo>(</mo><mrow><msub><mi>T</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>,</mo><mi>t</mi></mrow><mo>)</mo></mrow></mrow><mo>&OverBar;</mo></mover><mn>2</mn></msup></mrow></msqrt></mrow></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000788149210000011.GIF" wi="1139" he="185" /></maths><maths num="0002" id="cmaths0002"><math><![CDATA[<mfenced open = '' close = ''><mtable><mtr><mtd><mrow><msub><mi>g</mi><mrow><mi>c</mi><mi>h</mi><mi>e</mi></mrow></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>&alpha;</mi><mn>4</mn></msub><mo>&CenterDot;</mo><mi>U</mi><mrow><mo>(</mo><msub><mi>T</mi><mi>k</mi></msub><mo>,</mo><msub><mi>T</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>R</mi><mrow><mo>(</mo><msub><mi>T</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>&alpha;</mi><mn>5</mn></msub><mo>&CenterDot;</mo><mi>U</mi><mrow><mo>(</mo><mi>t</mi><mo>,</mo><msub><mi>T</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>R</mi><mrow><mo>(</mo><msub><mi>T</mi><mi>k</mi></msub><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mo>+</mo><msub><mi>&alpha;</mi><mn>6</mn></msub><mo>&CenterDot;</mo><mrow><mo>(</mo><mover><mrow><mi>Q</mi><mrow><mo>(</mo><mi>J</mi><mo>)</mo></mrow></mrow><mo>&OverBar;</mo></mover><mo>-</mo><mover><mrow><mi>Q</mi><mrow><mo>(</mo><mrow><msub><mi>T</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>,</mo><mi>t</mi></mrow><mo>)</mo></mrow></mrow><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mo>/</mo><msqrt><mrow><msup><mover><mrow><mi>Q</mi><mrow><mo>(</mo><mi>J</mi><mo>)</mo></mrow></mrow><mo>&OverBar;</mo></mover><mn>2</mn></msup><mo>+</mo><msup><mover><mrow><mi>Q</mi><mrow><mo>(</mo><mrow><msub><mi>T</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>,</mo><mi>t</mi></mrow><mo>)</mo></mrow></mrow><mo>&OverBar;</mo></mover><mn>2</mn></msup></mrow></msqrt></mrow></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000788149210000012.GIF" wi="1132" he="178" /></maths>其中,<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>P</mi><mrow><mo>(</mo><mi>t</mi><mo>,</mo><mi>T</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msubsup><mo>&Sigma;</mo><mrow><mi>s</mi><mo>=</mo><mi>T</mi></mrow><mrow><mi>s</mi><mo>=</mo><mi>t</mi></mrow></msubsup><msub><mi>Q</mi><mi>r</mi></msub><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow></mrow><mrow><msubsup><mo>&Sigma;</mo><mrow><mi>s</mi><mo>=</mo><mi>T</mi></mrow><mrow><mi>s</mi><mo>=</mo><mi>t</mi></mrow></msubsup><msub><mi>Q</mi><mrow><mi>r</mi><mi>max</mi></mrow></msub></mrow></mfrac><mo>+</mo><mfrac><mrow><msubsup><mo>&Sigma;</mo><mrow><mi>s</mi><mo>=</mo><mi>T</mi></mrow><mrow><mi>s</mi><mo>=</mo><mi>t</mi></mrow></msubsup><mi>N</mi><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow></mrow><mrow><msubsup><mo>&Sigma;</mo><mrow><mi>s</mi><mo>=</mo><mi>T</mi></mrow><mrow><mi>s</mi><mo>=</mo><mi>t</mi></mrow></msubsup><msub><mi>N</mi><mi>max</mi></msub></mrow></mfrac><mo>+</mo><mfrac><mrow><mi>t</mi><mo>-</mo><mi>T</mi></mrow><msub><mi>T</mi><mrow><mi>c</mi><mi>max</mi></mrow></msub></mfrac></mrow>]]></math><img file="FDA0000788149210000013.GIF" wi="831" he="180" /></maths><maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mi>U</mi><mrow><mo>(</mo><mi>t</mi><mo>,</mo><mi>T</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msubsup><mi>&Sigma;</mi><mrow><mi>s</mi><mo>=</mo><mi>T</mi></mrow><mrow><mi>s</mi><mo>=</mo><mi>t</mi></mrow></msubsup><mi>Q</mi><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow></mrow><mrow><msubsup><mi>&Sigma;</mi><mrow><mi>s</mi><mo>=</mo><mi>T</mi></mrow><mrow><mi>s</mi><mo>=</mo><mi>t</mi></mrow></msubsup><msub><mi>Q</mi><mi>max</mi></msub></mrow></mfrac><mo>+</mo><mfrac><mrow><msubsup><mi>&Sigma;</mi><mrow><mi>s</mi><mo>=</mo><mi>T</mi></mrow><mrow><mi>s</mi><mo>=</mo><mi>t</mi></mrow></msubsup><mi>L</mi><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow></mrow><mrow><msubsup><mi>&Sigma;</mi><mrow><mi>s</mi><mo>=</mo><mi>T</mi></mrow><mrow><mi>s</mi><mo>=</mo><mi>t</mi></mrow></msubsup><msub><mi>L</mi><mrow><mi>m</mi><mi>a</mi><mi>x</mi></mrow></msub></mrow></mfrac><mo>+</mo><mfrac><mrow><mi>t</mi><mo>-</mo><mi>T</mi></mrow><msub><mi>T</mi><mrow><mi>c</mi><mi>m</mi><mi>a</mi><mi>x</mi></mrow></msub></mfrac></mrow>]]></math><img file="FDA0000788149210000014.GIF" wi="841" he="185" /></maths>g<sub>ren</sub>(t)、g<sub>che</sub>(t)分别为t时人行道、机动车道绿灯相位需求程度;α<sub>d</sub>(d=1,2,...,6)为人行道、机动车道绿灯相位需求程度系数,根据历史交通数据和粒子群算法寻优求解得出;T<sub>k‑1</sub>为上一个相位状态的状态起点时间,T<sub>k</sub>当前相位状态的状态起点时间,t为当前时间点;R(T<sub>k‑1</sub>)为T<sub>k‑1</sub>时相位状态,同一个相位状态在g<sub>ren</sub>(t)、g<sub>che</sub>(t)中的效果不同,因而取值不同,当前相位为R1时,R(T<sub>k‑1</sub>)在g<sub>ren</sub>(t)的值设置为1,在g<sub>che</sub>(t)值设置为‑1,当前相位为R3时,R(T<sub>k‑1</sub>)在g<sub>ren</sub>(t)的值设置为‑1,在g<sub>che</sub>(t)值设置为1;<img file="FDA0000788149210000021.GIF" wi="293" he="87" />分别为J时间段内的车辆流量、行人流量历史数据均值,J为步骤1划分的时间段,J∈T_NEW;<img file="FDA0000788149210000022.GIF" wi="218" he="88" /><img file="FDA0000788149210000023.GIF" wi="202" he="88" />分别为T<sub>k‑1</sub>~t之间的车辆流量、行人流量当前采集数据均值;Q(s)、Q<sub>r</sub>(s)分别为s时的车辆流量、行人流量;L(s)、N(s)分别为s时的车辆排队长度、行人数,由检测行人过人行道的摄像机、车辆检测器等检测装置获得;Q<sub>max</sub>、Q<sub>rmax</sub>、N<sub>max</sub>、L<sub>max</sub>、T<sub>cmax</sub>分别为车辆流量、行人流量、行人数量、车辆排队长度、相位状态维持时间的上限值,参考历史交通数据或经验获得;4)判断当前人行道和机动车道绿灯相位需求程度是否满足信号灯相位变换条件,过程如下:4.1)当g<sub>ren</sub>(t)=g<sub>che</sub>(t)时,此时标记为T<sub>0</sub>;4.2)与T<sub>0</sub>最接近的,路口A、B信号下一相位变化时间点分别为T<sub>A0</sub>、T<sub>B0</sub>,max(T<sub>A0</sub>,T<sub>B0</sub>)‑T<sub>0</sub>≤TX,信号变换时间为max(T<sub>A0</sub>,T<sub>B0</sub>)max(T<sub>A0</sub>,T<sub>B0</sub>)‑T<sub>0</sub>>TX并且minT(<sub>A0</sub>T,<sub>B0</sub>‑)T<sub>0</sub><T,X信号变换时间为min(T<sub>A0</sub>,T<sub>B0</sub>)min(T<sub>A0</sub>,T<sub>B0</sub>)‑T<sub>0</sub>>TX,信号变换时间为T<sub>0</sub>其中,TX为信号灯相位变换时间阈值;max(T<sub>A0</sub>,T<sub>B0</sub>)、min(T<sub>A0</sub>,T<sub>B0</sub>)分别为T<sub>A0</sub>、T<sub>B0</sub>中的较大值、较小值;当人行道绿灯相位需求程度和机动车道绿灯相位程度满足阈值条件时,判断当前时间是否满足路口A、B信号周期及相位变化的时间切换阈值;此时标记为T<sub>00</sub>;4.3)信号灯状态维持时间,当前相位状态的状态起点时间T<sub>k</sub>~T<sub>00</sub>,是否在[T<sub>cmin</sub>,T<sub>cmax</sub>]范围,T<sub>cmin</sub>、T<sub>cmax</sub>分别相位状态维持时间的下限值和上限值,当T<sub>00</sub>‑T<sub>k</sub><T<sub>cmin</sub>时,信号变换时间为T<sub>k</sub>+T<sub>cmin</sub>,否则信号变换时间为T<sub>00</sub>,这是为了防止信号灯根据行人、车辆情况反复变化;5)当满足信号灯相位变换条件时,信号灯变换相位。
地址 310012 浙江省杭州市西湖区益乐路223号1幢1层