APP下载

智能车交互仿真平台的研究

2010-07-25万年丰孙一飞

微型电脑应用 2010年10期
关键词:链表交叉口行车

万年丰,孙一飞

0 引言

多智能车辆系统是智能车辆在城市环境应用的新型系统,通过先进的通讯技术、定位技术以及车体控制技术,协调大规模车辆在路网当中的通行,从而大幅度提高交通效率和安全性。

交叉口研究是道路研究中最重要的工作之一。城市交通拥挤问题往往突出表现在交叉口处,80%以上的延误集中在交叉口,平面交叉口的通行能力不足道路的50%。在交叉口处,不同方向车辆的交叉运行,极易造成交叉口处车辆运行效率的下降。再加之不合理的几何设计与相位设计,使交叉口时常处于及其混乱的局面。

多智能车的路口协调技术,就是通过路口控制器和车辆通讯,按照预先设计的协调算法,控制无人车辆在路口的通行顺序。对于车辆协调的仿真研究,目前国际上比较成熟的研究集中在普通车辆路口通行仿真,对智能车辆尚没有涉及。因此,针对交叉口的交通特性进行深入分析,找出造成交通拥挤的原因,探讨提高交叉口通行能力的具体措施和有关实施条件,并对措施的实施效果进行量化比较,是提高道路网络通行能力,缓解城市交通拥挤问题有效和经济的方法。

针对典型的十字路口场景,用面向对象的编程方法,搭建了仿真软件平台。通过不同算法的效率评估,对智能车和普通车辆在路口的通行效率进行了比较,从而验证了多智能车系统在城市环境应用的可行性。

1 仿真平台设计

仿真平台基于.Net开发,通过GDI+图形设备接口设计图形界面。程序面向对象,适合于多智能车交互的仿真。

设计平台模拟了4种不同路口的多智能车交互场景,同时还能演示在不同算法控制情况下的车辆交互情况。本平台允许输入各种运行参数,如设置发车频率,车辆速度,红绿灯时间;以及选择路口形状、控制算法等。同时,输入模块将用户的输入转换成内部的数据,并且防止用户的错误输入,给出相应的提示。本平台通过设置绘图区域,智能路口交通情况。算法运行的效率评价指标以及动态交通量显示也可通过输出模块输出,以评价不同控制算法的效率。

仿真程序的设计思想是,用动态链表来表示整个路口的车辆信息,链表的每个节点各表示一辆车,节点中包含了反应这辆车的数据块。链表从头到尾,循环更新。链表中某个节点的更新就是计算此步这个车辆的速度、步长、此步应移到的位置等数据,并在屏幕上原位置擦去该车,在新位置上重画该车。链表从头到尾更新一次,路口的所有车辆位置刷新一次(即移动一步)。当有新车产生时,加在链表尾,进入更新循环。当有车辆移动超出路口范围时,则把该车从链表当中摘除,并统计其延误及交通量。

图1 十字路口仿真效果

2 交互算法

图2 十字路口建模

对十字路口进行建模可以看到,路口一共有东南西北4个发送车道(S0-3),4个接收车道(R0-3),每一个发送车道又有3个行车方向,即右行、直行、左行3个方向,所以冲突区域内一共有12条“行车路线”,ID0-11(图1),相互间有四大类的关系:汇流,交叉,交互,同线(表1)。为了判定十字路口内行车路线间是否冲突,可设置冲突表,用矩阵表示:

矩阵中行与列分别对应了相应的行车路线与其他行车路线的冲突关系。如第 0行或者 0列代表了行车路线 ID0与其他行车路线的冲突关系。冲突表中元素的赋值为0或1,0代表了两个行车路线不相互冲突,即假设这两个车道上可以同时有车在行进,1代表两个行车路线相互冲突,即在某一时刻,假设在冲突区域内的这两个车道上最多只能够有一辆车。例如行车线路ID[i] 和行车线路ID[j] 是冲突的,那么在冲突表T中T[i] [j] 和 T[j] [i] 为1,否则为0。因此,冲突表可以判定以上所有12条路线间的关系。如果当前时刻该资源锁对应的行车路线上有车,则系统将该路对其他车辆封锁。同时,所有行车路线关系为“交互”时,车辆不冲突;认为行车线路与自身是不冲突的,即在同一时刻,在冲突区域中,同一条行车线路上可以有多辆车形成车流。

可以看出此算法只要修改矩阵形状就能适用于三岔口,五岔口等复杂路口情况。

3 仿真实验

提出经典红绿灯算法同本文交互算法做比较。对比算法即为:普通车辆通行为交通灯定时控制,和交互算法的区别是在路口加上了2相位交通灯的限制,东西方向和南北方向相差一个绿灯时间。对发送车道中的车辆而言,它们能够进入冲突区域的前提条件是发送车道所对应的交通灯为绿灯,其余的进入冲突区域的判定与交互算法相同。

显然车辆平均速度对算法的有效性有较大影响。本文按车辆平均速度不同,分为 15 km/h,20 km/h,30 km/h,40 km/h等几种情况测试,每种不同车速情况下分别仿真如下几组车流量:1辆每分钟,5辆每分钟,10辆每分钟,15辆每分钟,20辆每分钟,25辆每分钟,30辆每分钟,40辆每分钟。仿真环境:T=60S(即真实时间10分钟),其中经典算法设置为Light20:信号周期20s,绿灯10S,黄灯2S,红灯8S。由于仿真时车辆方向随机性对初始指标影响较大,为了保证数据准确,下列数据均为重复相同实验10次得到的平均值。

(1)几种速度下饱和通行量的比较

图3 速度为15km/h时的流量

图4 速度为20km/h时的流量

图5 速度为30km/h时的流量

图6 速度为40km/h时的流量

(2)典型速度下排队长度的比较

图7 速度为20km/h时的等待车队长度

(3)典型速度下延误时间的比较

图8 速度为20km/h时的延误时间

在十字路口条件下,由测评得到:

(1)通行率:交互算法控制的智能车流比经典算法定时控制的普通车流均有提升。

(2)车辆排队长度:交互算法在各车流量情况下皆为优于经典算法

(3)车辆行车延误:交互算法尤其在车辆流量较低的情况下减少车辆延误明显。流量增大后,两种算法结果接近,交互算法仍保持优势。

(4)饱和流量:交互算法在饱和流量高于经典算法。

4 结论

利用面向对象的方法,设计仿真平台模拟演示智能车辆在路口的通行,平台用于多智能车协作仿真算法评估,通过对比实验验证了智能车辆交互控制算法对于提高路口通行率,减少车辆延误时间,缩短排队长度的明显作用。

[1] PARENT M,YANG M. Road Map towards Full Driving Automation[A] . In: Proceedings of 8th International Conference on Application of Advanced Technologies in Transportation Engineering[C] . Reston,VA:ASCE and T&DI,2004.663-668.

[2] 杨明,无人自动驾驶车辆研究综述与展望[J] .哈尔滨工业大学学报,2006.8,P1259-1262.

[3] Michel Parent,Advanced Urban Transport: Automation Is On the Way. Intelligent Transportation Systems,2006,

[4] YANG M, WANG C, YANG R, et al. CyberC3: Cybercars Automated Vehicles in China[A] , In: Proceedings of Transportation Research Board Annual Meeting[C] , 2006.

[5] Visual C#.NET 案例开发集锦[M] .电子工业出版社,2005年6月.

[6] (美国)昌德,GDI+图形程序设计/.NET技术大系[M] .电子工业出版社,2005.6.

猜你喜欢

链表交叉口行车
基于二进制链表的粗糙集属性约简
跟麦咭学编程
基于链表多分支路径树的云存储数据完整性验证机制
夜间行车技巧
珠海金鼎转盘交叉口改造设计
一种Y型交叉口设计方案的选取过程
一种基于有序双端链表的高效排序算法
吉普自由光行车制动易熄火
考虑黄灯驾驶行为的城市交叉口微观仿真
调度调整在地铁行车组织中的应用