技术新讯 > 信号装置的制造及其应用技术 > 基于Petri网建模的智能网联车无信号交叉口通行控制方法  >  正文

基于Petri网建模的智能网联车无信号交叉口通行控制方法

  • 国知局
  • 2024-07-31 21:12:36

本发明属于智能交通系统领域,具体涉及基于petri网建模的智能网联车无信号交叉口通行控制方法。

背景技术:

1、在城市道路交通网中,交叉口是道路系统中的重要节点,但也很容易发生交通拥堵和事故。如果交叉口中出现死锁,会导致交通拥堵。因此,对交叉口中死锁场景进行分析并讨论解决策略具有重要的现实意义。传统的交叉口信号控制主要包括定时控制、感应控制和自适应控制。定时控制根据交叉口的进出口道交通流量固定配时;感应控制通过交通检测设备感知实时车流信息,动态调节信号配时;自适应控制则以整体通行效率为目标,根据区域交通流量调整各交叉口配时。相较于传统的交叉口信号控制,在智能网联环境下的交叉口信号控制更智能、灵活、高效,能够提高交通运行效率。为了契合我国道路交通对解决交叉口死锁问题的需求,智能网联环境下的交叉口控制理论亟待深入研究与完善。

2、现有技术中的基于petri网和启发式算法的无信号交叉口车辆调度方法采用基于petri的交叉口监督控制器,分析了双向四车道交叉口出现的死锁情况,针对死锁情况设置监督控制库所,使车辆可以安全有序通过交叉路口。但设置监督控制库所是一种离线死锁避免方法,具有一定的局限性,现需要解决智能网联环境下的无信号交叉口车辆阻塞问题。

技术实现思路

1、本发明的目的在于克服现有技术的不足之处,提出了基于petri网建模的智能网联车无信号交叉口通行控制方法,从而避免车辆在交叉口循环等待的情况,以期在智能网联环境下缓解交通拥堵,提高通行效率,进而实现交叉口路权资源利用的最大化,为智能交通系统中的交叉口车辆通行提供一定的控制策略。

2、本发明为实现上述发明目的,采取的技术方案如下:

3、基于petri网建模的智能网联车无信号交叉口通行控制方法,包括以下步骤:

4、s1、建模:针对交叉口内部区域的空间资源以及车辆通过交叉口的连续过程中对各资源的占用情况,构建无信号交叉口系统的petri网模型(n,m0),并定义如下符号:

5、n:一个由圆形节点、方型节点和有向弧组成的petri网n=(p,t,f),代表由k个路权点组成且能让n条路径的车辆驶过的交叉口通行系统;p:库所集,由n中所有的圆形节点组成的集合,其中pi0=pis∪pif,pis为车辆在交叉口入口前的缓冲区,pif为车辆驶离交叉口的缓冲区;d表示路径i上的路权点总数,j表示车辆经过的第j个路权点,pij代表路径i上的车辆通过交叉口的第j个通行过程;pr={pr},pr代表所有路权点构成的库所集;t:变迁集,由n中所有的方形节点组成的集合,其中d表示路径i上的路权点总数,tij的引发表示第i条路径的车辆从第j-1个路权点行驶到第j个路权点;f:有向弧集,代表每一辆车在系统中的行驶情况及在行驶过程中经过每个路权点时对资源的需求和释放情况;m:p→n为标识,n为非负整数集,表示系统的运行状态,标识的每个数字表示各库所中所含的车辆数或资源数;其中m0为初始标识,表示当前各车辆还未进入交叉口内部区域,车辆位于缓冲区,资源未被占用;a:关联矩阵,表示n中各变迁下每个库所托肯数的变化规律,是一个|t|行和|p|列的矩阵;

6、s2、生成车辆编号序列:对即将到达交叉口区域的车辆进行编号并根据每一辆车经过其路径上的各个路权点的通行过程生成交叉口车辆通行序列,具体步骤如下:

7、s2-1、根据车辆的行驶路径以及车辆到达交叉口的先后顺序进行编号,编号为两位整数id,i表示车辆所要行驶的路径,d表示同一车辆到达交叉口的先后顺序;

8、s2-2、将当前即将通过交叉口的车辆总数记为x,将x辆车按照编号从小到大的顺序排列为数组a0,然后按照每辆车在petri网的路径中所需通过的变迁数进行序列的扩展,得到扩展后总长度为m的数组a1,随后对数组中的车辆编号依次判断并选择数组pass中的位置li放入;在判断过程中,若li超出数组总长度m,则将数组pass的长度扩充为2m,然后继续前述的判断与放置操作;

9、s2-3、判断并放置完所有车辆编号后删除数组pass中的空位,得到可能的车辆通行序列;

10、s2-4、将pass中的车辆通行序列解码为变迁序列;

11、s3、检测死锁并修复:通过迭代分析petri网中的变迁和资源,实现模型的死锁避免,确保系统安全无死锁,具体步骤如下:

12、s3-1、待检测的变迁序列为s2中得到的数组pass;设u=1,记录pass当前检测的变迁序号;

13、s3-2、判断u是否大于变迁序列的长度,若大于则表示完成了对序列的检测与修复,否则令变迁序列中第u个变迁为tα,执行s3-3;

14、s3-3、检查变迁tα在当前标识下是否使能,若使能则执行s3-4,否则从tα后选择一个使能且到达顺序在tα之前的变迁,放在tα之前,并更新tα;

15、s3-4、检查变迁tα能否引起死锁,若会引起死锁则选择tα之后的使能变迁放在该变迁前面,并更新tα,重新执行s3-4;反之则引发tα,并更新当前标识,令u=u+1,执行s3-2。

16、作为本发明的优选技术方案,对待进入交叉口的车辆生成编号序列,具体步骤如下:

17、s2-2-1、将即将通过交叉口的车辆总数记为x,将x辆车按照编号从小到大的顺序排列为数组a0,然后根据每辆车在petri网的路径中所需通过的变迁数目进行序列的扩展,得到扩展后的数组a1,a1表示每辆车经过其所需通过的交叉口路权点;将数组a1中的编号总数记为m;

18、s2-2-2、对数组a1中的车辆编号idi按照顺序放入长度为m的车辆通行序列数组pass中;判断车辆的先后顺序di是否等于1;如果车辆的先后顺序di=1,则随机选择pass中的位置l,将idi放在l上;若di>1,执行s2-2-3;

19、s2-2-3、当di>1时,获取i=ii,d=di-1的车辆编号所在的位置lmin和lmax,若lmax<m,在lmin后面随机选择一个空的位置l1,将idi放在l1上;若lmax=m,则执行s2-2-4;

20、s2-2-4、扩展pass数组长度为2m,再在l后面随机选择新的位置l1,将车辆编号idi放在l1上。

21、作为本发明的优选技术方案,检测变迁在当前标识下是否会引起死锁,具体步骤如下:

22、s3-4-1、采集当前的可达标识m0∈r(nu,mu0);s3-4-2、将变迁集合t1、t2、t3初始化为s3-4-3、找到引发变迁tα后会占用的路权点资源rα,由于每个路权点同一时刻只能被一辆车占用,因此在引发变迁tα后,rα中的资源个数变为0;找到所有在引发后能使rα增加的变迁,并放入变迁集合t1中;s3-4-4、若此时t1=t2,则输出true,表示变迁tα在标识m0下引发会导致死锁;若t1≠t2,则从t1\t2中任选一个变迁tβ,找到引发tβ后会占用的路权点资源rβ,并检查此时rβ是否未被车辆占用,若未被占用则输出false,表示变迁tα在表示m0下不会引发死锁;若此时路权点rβ已被占用,则执行s3-4-5;s3-4-5、找到所有能增加rβ资源的变迁,并放入变迁集合t3中,并更新t1=t1∪t3,t2=t2∪{tβ},并执行s3-4-4。

23、作为本发明的优选技术方案,对车辆通行序列的修复,具体步骤如下:s3-3-1、采集当前的可达标识m1∈r(nu,mu0);s3-3-2、从变迁序列at中第u个变迁往后搜索所有在可达标识m1下使能的变迁,放到数组temp中;s3-3-3、从temp中随机选择一个变迁tran;将tran放在tα前面,并更新u=u+1。

24、本发明所述的基于petri网建模的智能网联车无信号交叉口通行控制方法,采用以上技术方案与现有技术相比,具有以下技术效果:

25、本发明是基于petri网进行建模,提供了对交叉口结构以及车辆行驶过程的直观的图形化表示,便于进行形式化分析和验证,且通过调整模型的结构和参数可以方便地对不同类型的交叉口进行建模与分析;二是通过死锁检测算法,对随机的车辆通行序列实现在线监督,判断每个变迁的引发是否会引起系统的死锁,并将会引起死锁的序列进行修复,进而解决在智能网联环境下的无信号交叉口的车辆阻塞问题。

本文地址:https://www.jishuxx.com/zhuanli/20240731/188887.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。