虚拟视景环境驾驶的碰撞检测技术

2019-10-23 07:07张锦思刘晶郁杨炜
汽车实用技术 2019年19期
关键词:碰撞检测物体车辆

张锦思,刘晶郁,杨炜

(长安大学汽车学院,陕西 西安 710064)

引言

用虚拟视景模拟车辆运动仿真实验已成为主流趋势。其中车辆的碰撞检测的方式是检测方向包围盒(OBB 型包围盒)与场景中物体的相交情况[4]。传统的OBB 包围盒具有良好的紧致性、包围体个数少,但是仍存在间隙过大与碰撞目标发生检测失效的问题[5]。本文在此基础上,针对汽车模型提出了一种改进的OBB 包围盒检测方式,在第一层包围和基础上,在车身附着第二层包围盒,使碰撞检测结果更加精确,减少碰撞误判断。

1 改进的OBB 包围盒

OBB 包围盒(Oriented bounding box)的特点是具有方向性,可旋转。由于车辆属于规则三维实体,可采用包围盒法构造包围车辆检测碰撞的盒体,首先获取车辆三维坐标,再通过三维坐标制作合理的包围线段,进而组合成体,再将包围盒与车辆进行绑定,随车辆在虚拟场景运动就可以实现车辆在虚拟场景中碰撞的检测,并为OBB 包围盒添加碰撞响应[6]。

图1 包围盒制作流程图

包围盒的制作流程图如图1 所示。

由于制作包围盒可能由于间隙过大与碰撞目标发生检测失效(场景原因、参数设置、碰撞角度等),故本文采用改进的OBB 包围盒检测与周围环境发生的碰撞,包围盒通过记录的车辆三维坐标点构成第一层包围盒,改进后则通过车身的各个坐标位置构成附着于车体的第二层包围盒,包围车体外部的最小盒体[7]。通过自定义碰撞检测的方式添加,在程序的Vega Prime 工作线程中实时运行并检测碰撞。

在场景中可以显示其效果如图2 所示:

图2 车辆及其包围盒检测线

2 碰撞检测原理

碰撞检测的原理是使用检测线去与预先在场景中设置的碰撞目标进行相交检测,如果发生相交则判定发生碰撞[8]。VegaPrime 检测碰撞发生的策略是:车辆碰撞检测的检测线与对象(Object)的检测线相交不为0。若为0 则两者不会进行相交判定,若不为 0 则会进行相交判定,所以利用VegaPrime 的这个特性进行碰撞检测的控制。

3 碰撞目标的选择和标定

碰撞检测目标要求在满足检测需求的基础上,尽可能的选择较小、组成较为简单的体。在此基础上,根据场景检测的需求设计合理、合适的碰撞检测目标。这些目标可以是静止的物体,例如车道线、路牙、房屋、透明的物体等,也可以是运动的物体,比如虚拟场景中运行的车辆,都可以作为碰撞目标[9][10]。

表1

本文以科目二考试场景的五个项目为例,为了较小的程序开销需要设置较少的碰撞目标,以此为原则设计碰撞目标如下:

科目二场景如表1 所示。

在Vega Prime 中的配置截图如下图3:

图3 在Vega Prime 中的配置部分截图

4 结束语

本文提出用改进的OBB 包围盒来进行碰撞检测的方法,在Vega Prime中设计了一种标定碰撞目标来判断是否与车辆发生碰撞的方式。使碰撞检测不仅用于车辆与物体的碰撞,也可用于检测判断是否压线、路径是否合理等方面。

猜你喜欢
碰撞检测物体车辆
基于动力学补偿的机器人电机力矩误差碰撞检测
德国车辆来波兰加油
全新预测碰撞检测系统
车辆
基于Virtools的虚拟灭火系统碰撞检测设计与实现
冬天路滑 远离车辆
基于Unity 3D的虚拟楼盘漫游和碰撞检测研究
揭开物体沉浮的秘密
为什么同一物体在世界各地重量不一样?
“力”常考易错点扫描