关于虚拟环境中实时车辆碰撞检测的研究摘要:碰撞检测在作为一个虚拟现实系统在准确性方面起到一个很重要的作用。通过分析和比较几个普通碰撞的算法,一种实时碰撞的理论发展了起来。包含两种检测阶段。预先碰撞检测,和精确碰撞检测。首先,雷达测距理论用于预先碰撞检测它可以预测可能的碰撞区域并且有效的保存电脑数据。如果预先碰撞是正确的,一种碰撞类型将被选定,同时相关方向的两种交通工具也被确定。随后,一种精确的碰撞检测加入相关的碰撞类型中。一种小限度碰撞距离的数学模型建立起来,能过确保车辆中在实际交通的实时性和准确性。结果显示该理论简单且符合在实际交通中检测要求的实时性。此外,它也可以用于其他碰撞检测实验中。索引项目:实时碰撞检测、车辆驾驶、现实环境、雷达测距1.介绍:碰撞检测在现实的三维物体中可以获得不错的性能作用。碰撞检测研究在作为一个虚拟现实系统为虚拟驾驶是相当必要的。碰撞检测根据不同的应用而不同,例如:对于在现实环境中的车辆交通,它集中研究在实现环境中在交通工具间的碰撞或者交通工具与其他物体的碰撞。根据数据,交通因素在所有道路交通事故的原因中占据将近90%。检测计算两个数学体方面的关系碰撞并不难。然而,在一个实时仿真,它需要高的时间要求。也就是说,碰撞检测算法要实现实时性能。实时碰撞检测算法原理的法则通过比较机几组基于车辆交通的仿真需求而发展起来的。快速碰撞算法在提高虚拟环境的准确性和浸入性方面扮演着很重要的角色,然而,关于碰撞检测更高的要求被提出因为它的复杂性、实时性和准确性。文献[1]提出了一种关于虚拟环境中高速公路上点和凸多面体碰撞检测理论,文献[3]提出了一种简化的关于交通碰撞的数学模型。它用于估计两个昀大与昀小检测半径的距离。一种简单实惠关于碰撞检测的数学模型建立,在理论分析的基础上一种新的数字光投影系统绕过盒型的碰撞检测模型被提出,在文献[6],激光作为车辆雷达测量距离和障碍本身车前的不同,通过研究激光发射器采用半导体激光发射器在车辆追尾回避系统。在第六届3D。VR仿真比赛,Meijo大学系统目前正在开发的在[7],可以评价高级公民的驾驶技能通过整合的有关特点程序如同范围的视图。帕尔玛大学[8]介绍了一种基于一般对称车辆车辆检测算法。这是具有一个矩形包围盒,满足具体的长宽比的约束。为了得到一个真正的驾驶环境,使汽车行驶安全的,在文献[9],丰田汽车驾驶模拟器开发是一个世界级的real-as-possible援助的发展环境,活跃安全技术、应用范围雷达车辆曼莉琼丝安全研究,应用雷达传感器分析了尺寸和一个潜在的事故的重量。2、碰撞检测的基本概念简而言之,碰撞检测是检测不同物体在虚拟环境中一秒钟内相互碰撞,再深一点考虑的话,碰撞检测可分为连续碰撞和离散的碰撞检测。连续碰撞检测可以定义如下:定义:假设一个三维空间R通过引入三维坐标系统Fw。有N个运动模型它们的方向和速度随时间变化。Fi指定了No.i所占空间。当Fw是随时间而改变一个四维坐标系Cw形成。四维坐标系统Ci产生如果我Fi沿着一条特定的轨道运动变化。碰撞检测是判断公式C1∩C2∩C3…Cn=Φ是否存在。碰撞检测算法能够用常见的形式表达(见图一)。3、一般的碰撞检测算法3.1.空间分解方法空间分解的是将虚拟空间分成许多与等体积网格和测试对象在同一网格或者抑制式网格,在[11]。典型方法包括八叉树方法和二进制空间分区(BSP)。空间分解的原则是以两个物体不会重叠如果他们在不同网格,如果两个物体定位同一网格进一步交叉测试是必要的。3.2.包围体层次层次包围体是包含复杂的几何物体体积大简单形状的盒子。当侦测到碰撞,我们首先应该在碰撞盒子重叠测试。然后几何物体会被发现准确[12,13]。很明显,包围体方法能够有效判断两个几何对象是重叠的。有许多类型的绑定卷:碰撞球体,Axis-aligned、包围盒(AABB),方向包围盒(树),离散方向polyhedrons(k-DOP)等等,其算法被如下:1).碰撞球体方法包围球可以被定义为一种昀小的范围能包裹对象。文献[14]指定了它们的区域:图1常见的碰撞检测算法流程一个球体合理的代表是中心点(Cx,Cy,Cz)和半径r,它需要四个参数。2).Axis-aligned包围盒(AABB)方法axis-aligned的包围盒(AABB)[15]定义为一个昀小立方体包裹对象和它的边缘平行坐标轴。因此,要描述一个AABB需要6标量的数量。当构建AABB,其方向应该是同轴线方向上的局部坐标。所以所有AABB有相同的方向。他们指定区域:公式中:Lx,Ux,Ly,Uy和Uz是每个坐标轴的昀大和昀小值。3).方向包围盒层方法该方法定位为任意被包裹对象的立方体和有一个相对的坐标轴。比起AABB,树的唯一特点是其任意方向,可以根据物体形状紧紧包裹物体[16]。它指定区域:公式中:中心点是C,V1,V2,V3,是三个垂直方向,r1,r2,r3是三个方向的半径。4).k-Discrete定位Polyhedrons(k-DOP)方法k-DOP的原则是接近目标有超过3双平行架飞机两半空间的交叉口固定又有两个轮班替换不变的法向量与相反的方向[17]。作为实际工程应用,我们应该这样做选择的方向的法向量有效简化成对平行层面。3.3、比较的结论(一)空间分解方法,当物体均匀地分布在一个远的距离,碰撞检测的计算效率高。如果有了多个物体在空间定位或他们非常接近效率会非常缓慢(2)在包围体的等级制度方法,虽然它可以防止“入侵”这种现象当物品非常快地移动,但是应该限制移动速度和运动轨迹应该是简化的。这个方法将会限制适用范围。此外,它是相当困难的该方法模型的建立,特别是对复杂和突然的运动。(3)更复杂的包围盒,虚拟物体紧缩包装。这是一双矛盾。所以关键的问题是如何保持它的简单和密封性在相同的时间。(4)没有算法,可以将它应用于所有的情况下,因为大部分的碰撞检测算法的具体应用设计。此外,还有一些高效检测算法复杂、动态的虚拟环境。综合比较那些常见的检测方法后,,提出了一种在虚拟环境中实时碰撞检测车辆驾驶的算法。4、实时碰撞检测原理4.1汽车行驶特征为了使在实时虚拟环境对汽车驾驶碰撞效果的真实,我们的汽车驾驶具有以下特征。(1)在驾驶环境,有很多汽车沿公路和物体停留检测。超过100件物品需要追踪动态变化。(2)它不仅需要检测到碰撞移动物体和静态的人之间,但也是需要两个移动之间的碰撞检测对象。(3)需要判断两辆车之间的距离是否等于或低于昀低碰撞的距离。(4)根据车辆的分类的影响,本文主要研究三个影响,如正面碰撞,追尾碰撞和侧撞。4.2原理分两个阶段的碰撞检测第一个阶段预先碰撞检测第二个阶段是准确的碰撞检测。在第一阶段,雷达测距原理被用来迅速确定可能的碰撞区域,然后对这些潜在的碰撞地区采取进一步的行动[18]。程序必须计算出每一步Δt的每一个点,不得占用系统资源和同时不能实时检测。在第二阶段,不同检测算法可以选择不同的碰撞类型。帧位置是显示在图2。1).阶段的pre-collision检测在虚拟环境中开车时车辆被撞后无法与他人响应。它应该采取行动当距离值较低时。至于这个目的,雷达测距的方法被用来预测潜在的面积碰撞检测(19)(见图3)。图2碰撞检测的架构图3、提前碰撞检测区域当运动时,一个圆形的预先碰撞检测区域环绕周围形成的重心(缩短为重心点)以一定的速度旋转。它的半径就是预先碰撞检测的半径,如果Dis-P,专门规定的距离在两个车辆重心点,R满足下面的公式,这个系统就会处理两个车辆之间的预先碰撞。在这个公式中,L2表示为距离重心点到汽车的大多数正面点。2)精确碰撞检测阶段预先碰撞后准确的碰撞检测就会开始。在这一阶段,首先,根据车辆的相对方向角α确定了可能碰撞的类型。如果α是180度,检测程序正面碰撞将会开始;如果α是0度追尾事件检测程序的开始;否则,检测程序的侧面碰撞将会开始。图5展示检测流程图。这试验在下面的假定:(1)如果有人侧面碰撞、矩形包围盒会使用简化的汽车模型。(2)只有三种自由的运动:两个物体(用X和Y取代)和旋转运动(在Z轴)。(3)车辆和道路都在同一平面上在碰撞之前或之后。(4)昀小碰撞距离μ被用来确保系统有充足的时间处理和做出及时响应。5.昀小碰撞距离的数学模型。昀小碰撞距离μ也称为车辆的安全距离,相对具有巨大的车辆制动距离。所以制动距离应该是在计算昀小碰撞的距离前计算。有四个阶段对车辆制动过程[18,20、21、22]:司机响应时间t1、制动协调时间t2,增加时间减速制动时间t3和连续制动时间t4。制动减速和时间之间的关系、关系制动距离和时间之间被简化如图4所示。图4:简化关系图和制动减速时间t制动距离之间的关系和时刻t曲线1)计算该车辆的制动距离车辆的昀初速度和昀大减速分别假设为V0和amax,他们的单位公里/小时和m/s2。(2)滑动距离S1在司机响应时间t1因为在司机响应时间t1期间没有制动力、车辆还是以昀扯的制动速度V0及其运行的距离S1可以通过下面的公式计算出来:S1=V0t1/3.6(5)(2)在刹车调整时间t2的滑动距离S2因为在刹车调整时间t2没刹车制动力,车辆还是运行初始速度V0及其运行的距离S2可以按下面的公式计算:S=Vt/3.6(6)(3)当你在减速时间增加到t3时的滑动距离S3在此期间,减速线性变化,因此可以通过以下公式计算:由于这段时间的初始速度是:把单位换算成公里/小时,那么:根据相关统计分析,t3在实际制动过程可以认为是0.1秒、车辆减速比一般汽车10m/s2[23]。昀后上述制定的一部分被忽略,可能很简化如下:S=Vt/3.6(15)(4)在不断的制动时间t4内的滑动距离在这期间,车辆运行在减速amax,其初始速度是Vo和结束速度是0。相应公式S4可以由以下公式计算。联立上述公式刹车距离公式可以计算如下:2)目标车辆的制动距离车辆的制动过程是类似这辆车的。这辆车开始意识到另一个汽车的靠近,可能引起碰撞直到目标车辆减慢。因此,目标车辆制动距离可以如下公式表示:其中目的车辆的初始速度和刹车减速被定义为Vi和aimax。因此,车辆的安全距离可以通过下面的公式计算:碰撞的警告条件:公式中两量车的滑动距离表示为:D。在应用中的计算和判断会造成时间延时,因此,在计算昀小碰撞距离u时要加入冗余值∑,数学模型表示如下υ=S'+∑(21)6.程序的流程图和数据结构首先,查询当前两个车辆的Cg坐标和计算CgP1和P2之间的距离(Dis);然后判决预先碰撞检测半径和Dis之间的关系。如果预先碰撞是真实的,精确碰撞检测将开始全面流程图是显示在图5。车辆碰撞检测的数据结构包括:Int碰撞类型;//碰撞类型包括正面、追尾、侧面碰撞Boolean碰撞标志Flag;//预先碰撞标志Boolean碰撞标志;//碰撞标志Float*P_坐标;//车辆的Cg协调Float*顶点_坐标//两个矩形车辆碰撞盒子的顶点坐标。Float昀小碰撞距离;//昀小碰撞距离Float碰撞检测半径;//碰撞检测半径碰撞检测(移动车辆*);//每Δt时间碰撞检测函数移动车辆{三位模型*模型;//指向一个三维模型类型,用来存储三维模型的信息VectorPos;//车辆在实际场景中的坐标VectorV;//车辆速度}TypedefStruct{floatx;floaty;floatz;}Vector;图5碰撞检测程序流程图交通事故类型可分为一维影响和二维的影响根据速度的方向[25]。在一维的影响两辆车的运动Cgs始终保持在同一直线,两个车辆的运动状态仅仅由一个关于坐标轴就可以描述。一维影响也被分为正面碰撞和追尾碰撞。在正面碰撞,两辆车在碰撞前在相反的方向。相反,对于追尾碰撞的两辆车相撞之前是在同一方向,因为后方车辆碰撞速度比前面一辆快,后面的头触及后面一辆车的尾部。两个矩形的坐标系统和一个旋转角都是用来描述车辆位置之前或在二维碰撞后的影响。图6,图7和图.8示意图显示了某些时刻正面碰撞检测的,汽车追尾碰撞检测和侧面碰撞检测其形式分别在虚拟环境。图6在虚拟环境的正面碰撞检测和它的类型示意图图7