基于虚拟现实技术的典型动态交通场景的设计与实现*
2013-08-21严利鑫吴超仲
周 颖 严利鑫 吴 青 高 嵩 吴超仲
(1.武汉理工大学智能交通系统研究中心 武汉430063;2.中交第二公路勘察设计研究院有限公司 武汉430056;3.武汉理工大学物流工程学院 武汉430063)
0 引 言
利用汽车驾驶模拟器呈现实际道路交通环境中易发的危险交通情景,使用汽车驾驶模拟器对驾驶人进行培训,通过模拟危险的交通环境,让驾驶人体验不安全的驾驶行为可能引发的后果,通过这种信息刺激的方法来提高驾驶人安全驾驶技能和安全意识水平,能够有效的减少在道路通行过程中由于人的因素而造成的交通事故。本研究通过对2000~2010年[1-11]的道路交通事故数据进行统计分析,提取危险特征并设计典型的交通情景,实现视景后利用汽车驾驶模拟器与被培训的驾驶人的交互,通过设定虚拟交通环境和动态交通场景,在保证驾驶人的人身安全的前提下,让驾驶人感受不谨慎驾驶可能带来的危险后果,提高其安全意识水平和驾驶操作技能。
1 动态交通场景的特征提取与分析
动态交通场景是由交通环境中的交通行为引发,没有动态交通场景的虚拟情景不会对驾驶行为形成干扰,缺乏真实性,达不到提高驾驶人安全意识的目的。动态场景指交通系统中所有动态的交通活动,主要指机动车以及其他道路使用者的运动对交通安全的影响。而道路交通环境是1个由人、车、路和环境组成的系统,要提取动态交通场景的特征必须从人、车、路以及事故形态等几个方面对其进行分析研究。
公路和城市道路是交通事故发生的主要地点,根据道路交通事故数据统计结果,全国发生的交通事故中,58%发生在公路上,42%发生在城市道路上[1]。按照道路等级和道路类型的不同,分别统计公路和城市道路中的交通事故发生地点,分析发现二级、三级公路以及一般城市道路发生的事故起数最多,此外在一级、四级公路和城市快速路上也发生较多的道路交通事故。
同时,由于大约90%道路交通事故是由驾驶人违规行为造成的[12-13],因此有必要对驾驶人的违规形式进行统计分析。对机动车司机不同违规行为造成的事故死亡人数进行统计发现超速行驶、未按规定让行以及无证驾驶引发的死亡人数最多。统计分析机动车在不同行驶状态下的事故起数不考虑直行情况下,机动车在左转弯的时候发生的事故起数最多,其次是右转弯,另外在变更车道的时候也比较容易引发交通事故[14]。可见车辆在进行转向运动的过程中最容易引发事故。
最后,事故形态是事故发生前引发事故的车辆或行人等运动趋势的结果,它可以作为事故致因分析研究以及事故责任的划分依据。通过对道路交通事故形态的统计分析,可以提取典型常见的事故动态特征,也为典型交通情景的设计提供依据。根据对2000~2010年不同道路交通事故形态事故量的统计分析发现,事故量最多的事故形态是车辆之间侧面相撞,其次是正面相撞和尾随相撞,而车辆与行人之间的碰撞也较多,发生刮擦行人的事故量仅次于车辆之间的追尾,可见道路交通事故主要为机动车与机动车之间的碰撞,其次为机动车与行人之间的碰撞。
根据近年来道路交通事故的事故形态、不同道路类型的事故统计等的分析结果,发现车辆影响安全的主要性能是制动,车辆在转弯换道的时候最容易引发交通事故,且机动车驾驶人的违规行为主要为超速和未减速让行,可见车速过快是威胁交通安全的主要原因,而合理制动和控制车速是驾驶人必须遵守的行车准则。道路交通的事故形态主要为车辆之间的碰撞(包括正面相撞、侧面相撞和尾随相撞)以及刮擦行人。具体动态特征见表1。
表1 动态特征提取结果Tab.1 Dynamic characteristics collecting results
2 动态交通场景的设计
本文结合典型交通情景的静态环境和动态场景设计,对“机动车-行人冲突”这种类型的动态场景设计1个典型的例子。由于城市场景较为复杂,场景冲突种类和数量较多,并且城市道路可以更丰富地包含危险静态特征提取的结果,因此本研究典型交通静态环境以城市道路场景为例。在城市道路环境中布置可能发生的动态场景,这些场景所在的静态环境也需要相应的设计。下面以发生在城市道路场景中的1种类型的动态场景为例进行说明。
机动车和行人的冲突一般发生在行人过街时,城市公交站台处的上下车乘客过街是城市道路环境中常见的现象,假设有行人从公交站台前方的人行横道上行走,而公交站台有停靠的公交车,则主车驾驶人在行驶中需要减速注意,避免由于公交车的遮挡,而在行驶中与突然出现在视线中的行人相撞。具体情况见图1。该场景中对应静态交通环境为双向四车道城市次干道,路侧设有公交站台,公交站台前方有供行人过街的人行横道,公交站台有到站停靠的公交车。各道路设计参数以及相关交通设施参考相关规范。
图1 公交站台行人过街Fig.1 Bus station pedestrian crossing the street
动态交通场景为行人过街场景。通过主车的行驶路径和行人在人行横道上过街时横穿马路的轨迹,确定预计冲突点。当驾驶人驾驶主车行驶至距冲突点距离X满足触发条件时,行人开始过街,当行人行走经过公交车以后发现主车朝他行驶,犹豫以后加快速度过街。如果驾驶人没有注意道路环境放慢速度,并在发现行人以后及时采取制动,则主车极有可能与行人发生严重冲突甚至碰撞,即主车制动停止以后与行人的距离小于安全距离S0,或者车辆与行人碰撞发生事故。
这个场景的触发条件为,当主车距离冲突点距离X满足式(1)。行人过街,到达冲突点的时间为:
式中:v人1为行人初始过街速度;v人2为行人犹豫以后过街的速度;L1为行人开始过街到行人驻足犹豫期间行走的距离,本场景中定义为行人出发点与公交车左前角之间的距离;t0为行人发现主车以后犹豫过街的犹豫时间;L为行人过街出发点到冲突点之间的距离。
这里参数t0、v人1、v人2和L1都是可以灵活设置,不同的组合可以展现出行人的不同运动状态,但前提是需要与真实情况相符。并且根据动态场景的第2条假设前提条件,这个时间与主车制动场景相等,因此在设置参数的时候需要满足前提条件T=t1+t2+t3+t4,其中t1为司机反应时间,约为0.6~0.8s;t2为制动系统延迟时间,气压约为0.2~0.5s,液压0.03~0.05s;t3为制动系统压力升高时间,气压约为0.4~1s,液压约为0.15~0.2s;t4为车轮抱死滑动滑动经过的时间。结合国内外相关研究结果,经过程序中的不断尝试和修改,确定行人过街动态场景中的参数取值分别为v人1为4km/h;v人2为7km/h;L1为3 m;L为15m。由于行人的行走速度较低,行人在距机动车相对较大距离内是安全的,本场景中行人的安全距离选取为2m。
3 动态交通场景的实现
3.1 动态交通场景算法设计
将有限状态机的思想用于动态交通场景的实现,交通场景中的每1个冲突对象作为1个状态机,设置状态条件,一旦满足某个条件则转换到该条件对应的状态上。以行人过街的动态场景为例,行人作为动态场景中与主车冲突的对象,其动作直接影响场景的效果。使用有限状态机对行人的动作分解为多个状态,每个状态对应不同的状态条件,通过条件的转换,状态之间切换连贯起来就形成行人过街的整个动作。
将行人过街的动作分解为“沿人行道行走”、“行走过街”、“驻足犹豫”、“奔跑过街”、4个状态,见图2。
该场景过程是:
1)行人在街边以v1=4km/h的速度行走,但是被公交站台停靠的公交车辆遮挡,主车驾驶人可能看不见街边行人。
2)当主车行驶过来,根据主车的即时行驶速度v车,计算主车距预计冲突点的距离X满足触发条件X=S+2m时,行人状态改变为以v2=7 km/h的速度步行匀速直线过街。
3)当行人经过路边停靠公交车前方时,即行人的位置在公交车的左前方时,发现主车行驶过来,在街边驻足犹豫是否过街。
4)当行人犹豫时间达到1s以后,决定强行过街,行人的状态改为以v2=7km/h的速度向街对面奔跑。
5)当行人到达街道对面,完成过街的动作以后,行人的状态恢复到以v1=4km/h的速度沿人行道行走。
图2 行人过街状态分解Fig.2 pedestrian crossing the street State decomposition
该场景的状态变换表可以清楚反映状态之间的切换关系,见表2。
表2 行人过街场景切换表Tab.2 Pedestrian crossing the street state Switching table
根据表2的状态和变换状态的条件,可以实现行人过街的动态场景。在这些动态交通场景中,每个与主车相冲突的对象利用有限状态机的原理进行状态划分,根据状态变换条件来确定不同情况下的状态,最终形成冲突对象的连贯运动。利用Lua动态脚本语言来设定动态交通情景,脚本被模拟器主程序加载以后在驾驶模拟器中呈现。
在利用脚本语言实现动态场景之前,需要首先分析脚本格式与模拟器软件进行交互的信息。对脚本中的对象模块内容进行需求分析,该模块主要负责对象的定义以及对象初始状态等相关参数的设置,而脚本中对象的运动状态和视景呈现,都是需要借助模拟器软件实现的。因此脚本中定义的对象需要能被模拟器软件识别,而目前开发的模拟器软件中已经具备了完整的对象类定义、对象属性和操作行为的接口,因此脚本中对象的部分属性设置,可以通过访问模拟器软件相关接口来实现。
在模拟器中开放好接口后,Lua中就可以直接利用这些接口来进行动态情景的表述[14]。对象运动的函数以及相关参数的调用需要通过对象来获取,而在模拟器中相关接口已经开放了这些对象的接口,所以只需要在脚本中添加函数来获取模拟器中对象。对虚拟交通场景中的运动对象进行定义如下。
完成脚本语言的定义以后,模拟器软件需要对脚本进行加载才能完成动态情景的视景呈现。
3.2 动态交通场景实现的结果
通过对交通静态环境中道路、道路交通工程设施、周边环境等模型的制作和渲染,通过有限状态机的原理对交通动态场景的描述和Lua脚本语言的表达,完成典型动态交通场景在驾驶模拟器中的呈现。“机动车-行人冲突”动态交通场景实现以后效果见图3。通过实验测试发现该动态交通场景能够有效的模拟出驾驶过程中对驾驶行为形成干扰的交通场景,互动效果良好并且能够让驾驶员在模拟驾驶过程中产生类似于实际驾驶的感受,能够达到提高驾驶人安全意识的目的。
4 结束语
驾驶人是影响道路交通安全的主要原因,为了减少和预防道路交通事故的发生,提高驾驶人的安全意识水平有着重要意义。由于驾驶人在真实的交通环境中体验危险无法保障人身安全,所以使用汽车驾驶模拟器模拟危险的交通环境,使驾驶人在虚拟的交通情景中体验由于大意、违规驾车带来的危害,通过对驾驶人的安全意识培训,可以有效提高驾驶人的安全意识水平。笔者通过对2000-2010年的道路交通事故数据进行统计分析,分别从人、车、路、环境以及事故形态进行统计分析,选取对道路安全影响最大的因素。将这些因素进行提取总结,并且以公交站台行人过街为例进行了动态场景的设计并实现。为提高驾驶员行车安全、减少交通事故提供技术支持。
[1] 公安部交通管理局.2000年道路交通事故统计年报[Z].北京:公安部交通管理局,2001.
[2] 公安部交通管理局.2001年道路交通事故统计年报[Z].北京:公安部交通管理局,2002.
[3] 公安部交通管理局.2002年道路交通事故统计年报[Z].北京:公安部交通管理局,2003.
[4] 公安部交通管理局.2003年道路交通事故统计年报[Z].北京:公安部交通管理局,2004.
[5] 公安部交通管理局.2004年道路交通事故统计年报[Z].北京:公安部交通管理局,2005.
[6] 公安部交通管理局.2005年道路交通事故统计年报[Z].北京:公安部交通管理局,2006.
[7] 公安部交通管理局.2006年道路交通事故统计年报[Z].北京:公安部交通管理局,2007.
[8] 公安部交通管理局.2007年道路交通事故统计年报[Z].北京:公安部交通管理局,2008.
[9] 公安部交通管理局.2008年道路交通事故统计年报[Z].北京:公安部交通管理局,2009.
[10] 陈 斌,袁 伟,付 锐,等.连续长大下坡路段交通事故特征分析[J].交通运输工程学报,2009(8):75-78.
[11] 公安部交通管理局.2010年道路交通事故统计年报[Z].北京:公安部交通管理局,2011.
[12] 胡江碧,曹新涛.道路交通事故肇事驾驶员特征分析[J].中国公路学报,2009(11):106-11.
[13] 陈 晨,高 嵩.我国高速公路交通安全现状及对策研究[J].交通信息与安全,2011,29(1):59-63.
[14] 赵 騫,赵胜川.基于核聚类算法的交通事故主要原因分类及分析[J].交通与物流,2006:733-738.
[15] Ierusalimschy R,Figueiredo L H.Celes W.The evolution of Lua[C]∥3rd ACM SIGPLAN History of Programming Languages Conference.United States:Association for Computing Machinery,2007.