一种三维物体在仿真环境中的碰撞检测方法和装置与流程
未命名
08-03
阅读:89
评论:0

1.本发明属于自动驾驶虚拟仿真技术领域,尤其涉及一种三维物体在仿真环境中的碰撞检测方法和装置。
背景技术:
2.为了防止自动驾驶汽车在实际行驶中发生碰撞,对车辆、行人等交通参与者造成损害,需要预先在虚拟仿真环境中对自动驾驶车辆的行驶轨迹进行验证,以方便对自动驾驶算法进行更正和改进,从而保证自动驾驶车辆的安全性。
3.由于自动驾驶车辆的位置和姿态在虚拟仿真环境中是动态变化的,因此对碰撞检测的实时性要求较高,而传统的碰撞检测算法没有考虑高精地图信息,会将虚拟仿真环境中的所有交通参与者或一定范围内的交通参与者都与自动驾驶车辆进行包围盒碰撞检测,这种方式会存在大量的无效计算,即自动驾驶车辆不可能与不在相连通道路上的其他交通参与者相撞。
4.公布号为cn108628184a的专利申请公开了一种用于机器人仿真系统的碰撞检测方法,在构建每个对象的检测数据结构基础上,通过检测数据结构计算几何模型间的最小距离,根据最小距离是否为0判断模型是否发生碰撞。该检测方法由于计算每两个几何模型间的最小距离,因此计算消耗大,且存在大量无效计算。
5.公布号为cn111177888a的专利申请公开了一种仿真场景碰撞检测方法及系统,包括:分别获取两个待检测物体各自对应的最凸点,并计算两个最凸点之间的第一距离;若第一距离不为零,则分别对两个待检测物体进行拆分得到各自对应的子物体,并计算处于同于高度的两个子物体上两个凸点的第二距离;若第一距离为零,或第二距离为零,则判断此时两个待检测物体发生碰撞。该检测方法在被应用到大量检测物体时,需要计算每两个待检测物体的距离,计算消耗大,同样存在大量无效计算。
6.基于以上多个现有检测手段,高效的碰撞检测能够提高虚拟仿真的检测效率,也可以节省服务器的算力消耗,因此为了提高自动驾驶仿真的效率与实时性,需要提出一种适用于在自动驾驶仿真环境中的碰撞检测方法。
技术实现要素:
7.鉴于上述,本发明的目的是提供一种三维物体在仿真环境中的碰撞检测方法和装置,以提高自动驾驶仿真的效率与实时性,同时降低计算消耗。
8.第一方面,为了实现上述发明目的,本发明实施例提供的一种三维物体在仿真环境中的碰撞检测方法,包括以下步骤:获取高精地图中的道路数据;基于道路数据构建道路间连通图;在每轮自动驾驶仿真周期内,针对由两个三维物体组成的检测对,基于道路数据判断处于同一交叉路口或同一道路时进行碰撞检测,基于道路间连通图判断处于相邻道路
时,在任一三维物体于移动方向上的剩余道路长度小于自身长度条件下进行碰撞检测。
9.在一个实施例中,所述道路数据包括道路id、道路长度、道路朝向、道路所属交叉路口。
10.在一个实施例中,所述基于道路数据构建道路间连通图,包括:将每条道路作为连边,并在相连接的两条道路之间添加顶点,形成道路间连通图。
11.在一个实施例中,所述碰撞检测方法还包括:在仿真前,初始化自动驾驶仿真环境中每个三维物体在高精地图中所在道路、frenet坐标和移动方向;在进行每轮判断之前,更新每个三维物体的frenet坐标和移动方向;其中,frenet坐标包括三维物体的沿道路参考线方向距离、沿道路参考线法向量方向距离。
12.在一个实施例中,所述基于道路数据判断处于同一交叉路口或同一道路时进行碰撞检测,包括:依据检测对中两个三维物体所在道路与道路数据中的道路id进行比对,以判断是否处于同一道路,在处于同一道路时,进行碰撞检测;依据检测对中两个三维物体所在道路、当前frenet坐标以及包围盒信息与道路数据中的道路所属交叉路口进行比对,以判断是否处于同一交叉路口,在处于同一交叉路口时,进行碰撞检测。
13.在一个实施例中,所述基于道路间连通图判断处于相邻道路,包括:在道路间连通图中搜索两个三维物体所在道路对应的两个连边,判断两个连边相隔一个顶点时,则两个三维物体处于相邻道路。
14.在一个实施例中,其特征在于,三维物体在移动方向上的剩余道路长度通过以下方式计算得到:若三维物体的移动方向与三维物体所在道路的道路朝向之间的差值在[-π/2, π/2],则剩余道路长度为三维物体所在道路的道路长度减去三维物体的沿道路参考线方向距离,否则剩余道路长度为三维物体的沿道路参考线方向距离。
[0015]
第二方面,为实现上述发明目的,本发明还提供了一种三维物体在仿真环境中的碰撞检测装置,包括:获取模块,用于获取高精地图中的道路数据;图构建模块,用于基于道路数据构建道路间连通图;判断及检测模块,用于在每轮自动驾驶仿真周期内,针对由两个三维物体组成的检测对,基于道路数据判断处于同一交叉路口或同一道路时进行碰撞检测,基于道路间连通图判断处于相邻道路时,在任一三维物体于移动方向上的剩余道路长度小于自身长度条件下进行碰撞检测。
[0016]
第三方面,为实现上述发明目的,本发明还提供了一种计算设备,包括存储器和一个或多个处理器,存储器中存储有可执行代码,一个或多个处理器执行可执行代码时,用于实现上述三维物体在仿真环境中的碰撞检测方法。
[0017]
第四方面,为实现上述发明目的,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理执行时实现上述三维物体在仿真环境中的碰撞检测方法。
[0018]
与现有技术相比,本发明具有的有益效果至少包括:本发明提供的碰撞检测方法和装置,获取高精地图中的道路数据并据此构建道路间连通图,该道路间连通图记载了道路之间的连接关系,基于此,在每轮自动驾驶仿真周期内,针对由两个三维物体组成的检测对,基于道路数据判断处于同一交叉路口或同一道路时进行碰撞检测,基于道路间连通图判断处于相邻道路时,在任一三维物体于移动方向上的剩余道路长度小于自身长度条件下进行碰撞检测。这样通过高精地图中道路数据过滤掉大部分不可能存在碰撞的三维物体,然后对剩余的三维物体进行碰撞检测,从而提高了碰撞检测的效率,降低了计算资源消耗。
附图说明
[0019]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。
[0020]
图1是本发明实施例提供的三维物体在仿真环境中的碰撞检测方法的流程图;图2是本发明实施例提供的道路间连通图的示例性示例图;图3是本发明实施例提供的三维物体在仿真环境中的碰撞检测方法的另一流程图;图4是本发明实施例提供的三维物体在仿真环境中的碰撞检测装置的流程图;图5是本发明实施例提供的电子设备的结构示意图。
具体实施方式
[0021]
为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
[0022]
本发明的发明构思为:针对现有自动驾驶场景中针对所有物体均进行检测碰撞,会存在大量无效计算且造成计算消耗大、仿真效率低以及实时性差的技术问题,本发明实施例提供了一种三维物体在仿真环境中的碰撞检测方法和装置,以高精地图中的道路数据作为数据基础,来滤除掉大部分不可能存在碰撞的三维物体,然后对剩余的三维物体进行碰撞检测,从而提高了碰撞检测效率和实时性,降低了计算资源消耗。
[0023]
图1是实施例提供的三维物体在仿真环境中的碰撞检测方法的流程图,如图1所示,实施例提供的三维物体在仿真环境中的碰撞检测方法,包括以下步骤:s110,获取高精地图中的道路数据。
[0024]
实施例中,实时获得高精地图,该高精地图是一种用于自动驾驶的高精度地图,地图精度可以到厘米级别。高精地图中的道路数据包括道路id、道路长度l、道路朝向h、道路所属交叉路口j。
[0025]
s120,基于道路数据构建道路间连通图。
[0026]
实施例中,基于道路数据构建道路间连通图,包括:将每条道路作为连边,并在相连接的两条道路之间添加顶点,形成道路间连通图。
[0027]
具体地,以高精地图的道路集合r中每条道路r1,r2,
…
,rn作为道路间连通图的每条连边e1,e2,
…
,en,若在高精地图中两条连边ri与rj直接相连,则在ei与ej之间添加一个顶点v
ij
,形成道路间连通图g,如图2所示。
[0028]
s130,在每轮自动驾驶仿真周期内,针对由两个三维物体组成的检测对,基于道路数据判断处于同一交叉路口或同一道路时进行碰撞检测,基于道路间连通图判断处于相邻道路时,在任一三维物体于移动方向上的剩余道路长度小于自身长度条件下进行碰撞检测。
[0029]
实施例中,三维物体是指具有三维形状的实体,包括行人、汽车、路牌等一切处于道路的实体,用o表示。
[0030]
实施例中,在进行仿真之前,初始化自动驾驶仿真环境中每个三维物体在高精地图中所在道路、frenet坐标和移动方向。在自动驾驶领域,由于大部分的道路都不是笔直的,而是具有一定弯曲度的弧线,因此采用frenet坐标系更适合,frenet坐标系描述了物体相对于道路的位置。实施例中,frenet坐标包括三维物体的沿道路参考线方向距离s、沿道路参考线法向量方向距离l。移动方向d取值为0《d《2π。
[0031]
实施例中,依据仿真周期进行仿真碰撞检测,其中,仿真周期自行设定,在每轮自动驾驶仿真周期内,首先,更新自动驾驶仿真环境中每个三维物体在高精地图中的frenet坐标和移动方向;然后,将自动驾驶仿真环境中的三维物体两两排列组合,形成检测对集合d[(o1,o2), (o1,o3), ..., (om, on)],遍历检测对集合d,对每个检测对(oi, oj)进行所处位置判断并进行三维物体碰撞检测,包括:针对由两个三维物体组成的检测对,基于道路数据判断处于同一交叉路口或同一道路时进行碰撞检测,基于道路间连通图判断处于相邻道路时,在任一三维物体于移动方向上的剩余道路长度小于自身长度条件下进行碰撞检测。
[0032]
实施例中,所述基于道路数据判断处于同一交叉路口或同一道路时进行碰撞检测,包括:依据检测对中两个三维物体(oi, oj)所在道路与道路数据中的道路id进行比对,以判断是否处于同一道路,在处于同一道路时,进行碰撞检测;依据检测对中两个三维物体(oi, oj)所在道路、当前frenet坐标以及包围盒信息与道路数据中的道路所属交叉路口进行比对,以判断是否处于同一交叉路口,在处于同一交叉路口时,进行碰撞检测。
[0033]
实施例中,基于道路间连通图判断处于相邻道路,包括:在道路间连通图中搜索两个三维物体所在道路对应的两个连边,判断两个连边相隔一个顶点时,则两个三维物体处于相邻道路,当判断处于相邻道路时,还继续判断任一三维物体oi或oj在移动方向上的剩余道路长度是否小于自身长度,当小于自身长度时进行碰撞检测。
[0034]
示例性地,针对检测对两个三维物体(oi, oj),在图g中找到oi所在的道路ri对应的边ei和oj所在的道路rj对应的边ej,判断在图道路间连通图g中ei与ej是否相隔一个顶点,若是则两三维物体(oi, oj)在相邻车道上,否则不在相邻车道上。
[0035]
实施例中,三维物体在移动方向上的剩余道路长度通过以下方式计算得到:若三维物体的移动方向与三维物体所在道路的道路朝向之间的差值在[-π/2, π/2],则剩余道路长度为三维物体所在道路的道路长度减去三维物体的沿道路参考线方向距离,否则剩余道路长度为三维物体的沿道路参考线方向距离。
[0036]
示例性地,针对三维物体oi,其在移动方向上的剩余道路长度计算过程为:读取oi所在道路ri,若oi的移动方向di与ri的道路朝向hi的差值在[-π/2, π/2], 则剩余道路长度bi
为道路长度li减去oi的沿道路参考线方向距离si,否则剩余道路长度为s
i。
[0037]
实施例中,依据三维物体oi和oj的包围盒信息和frenet坐标进行碰撞检测。
[0038]
基于以上碰撞检测方法的步骤s130,实施例还提供了仿真流程的具体步骤,如图3所示,包括以下步骤:s310初始化每个三维物体在高精地图中的位置,并开始仿真;s320,判断仿真是否结束,若是直接结束仿真,若否执行s330;s330,对每两个三维物体形成检测对,并构建检测对集合;s340,判断所有检测对是否已经检测完毕,若是跳转执行s320,若否执行s350;s350,获取下一对待测的检测对;s360,判断检测对中两个三维物体是否处于同一交叉路口,若是执行s390,若否执行s370;s370,判断检测对中两个三维物体是否处于同一车道,若是执行s390,若否执行s380;s380,判断检测对中两个三维物体是否处于相邻车道,且单个三维物体在移动方向上的剩余道路长度不足自身长度,若是执行s390,若否,认为两物体不可能存在碰撞,结束本次检测并跳转执行s350;s390;对检测对中两个三维物体进行碰撞检测。
[0039]
实施例提供的三维物体在仿真环境中的碰撞检测方法,通过高精地图中道路数据过滤掉大部分不可能存在碰撞的三维物体,然后对剩余的三维物体进行碰撞检测,从而提高了碰撞检测的效率,降低了计算资源消耗。
[0040]
基于同样的发明构思,实施例还提供了一种三维物体在仿真环境中的碰撞检测装置,如图4所示,包括获取模块410、图构建模块420以及判断及检测模块430。
[0041]
其中,获取模块410用于获取高精地图中的道路数据;图构建模块420用于基于道路数据构建道路间连通图;判断及检测模块430用于在每轮自动驾驶仿真周期内,针对由两个三维物体组成的检测对,基于道路数据判断处于同一交叉路口或同一道路时进行碰撞检测,基于道路间连通图判断处于相邻道路时,在任一三维物体于移动方向上的剩余道路长度小于自身长度条件下进行碰撞检测。
[0042]
需要说明的是,上述实施例提供的三维物体在仿真环境中的碰撞检测装置在进行碰撞检测时,应以上述各功能模块的划分进行举例说明,可以根据需要将上述功能分配由不同的功能模块完成,即在终端或服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的三维物体在仿真环境中的碰撞检测装置与三维物体在仿真环境中的碰撞检测方法实施例属于同一构思,其具体实现过程详见三维物体在仿真环境中的碰撞检测方法实施例,这里不再赘述。
[0043]
实施例提供的三维物体在仿真环境中的碰撞检测装置,通过高精地图中道路数据过滤掉大部分不可能存在碰撞的三维物体,然后对剩余的三维物体进行碰撞检测,从而提高了碰撞检测的效率,降低了计算资源消耗。
[0044]
基于同样的发明构思,实施例还提供了一种计算设备,包括存储器和一个或多个处理器,存储器中存储有可执行代码,一个或多个处理器执行可执行代码时,用于实现三维物体在仿真环境中的碰撞检测方法,包括以下步骤:
s110,获取高精地图中的道路数据;s120,基于道路数据构建道路间连通图;s130,在每轮自动驾驶仿真周期内,针对由两个三维物体组成的检测对,基于道路数据判断处于同一交叉路口或同一道路时进行碰撞检测,基于道路间连通图判断处于相邻道路时,在任一三维物体于移动方向上的剩余道路长度小于自身长度条件下进行碰撞检测。
[0045]
如图5所示,实施例提供的计算设备,在硬件层面,除了包含处理器和存储器外,还包括内部总线、网络接口、内存等其他业务所需要的硬件。存储器为非易失性存储器,处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述s110-s130所述的三维物体在仿真环境中的碰撞检测方法。当然,除了软件实现方式之外,本发明并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
[0046]
基于同样的发明构思,实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现上述三维物体在仿真环境中的碰撞检测方法,具体包括以下步骤:s110,获取高精地图中的道路数据;s120,基于道路数据构建道路间连通图;s130,在每轮自动驾驶仿真周期内,针对由两个三维物体组成的检测对,基于道路数据判断处于同一交叉路口或同一道路时进行碰撞检测,基于道路间连通图判断处于相邻道路时,在任一三维物体于移动方向上的剩余道路长度小于自身长度条件下进行碰撞检测。
[0047]
实施例中,计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机存储介质的例子包括但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0048]
以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。
技术特征:
1.一种三维物体在仿真环境中的碰撞检测方法,其特征在于,包括以下步骤:获取高精地图中的道路数据;基于道路数据构建道路间连通图;在每轮自动驾驶仿真周期内,针对由两个三维物体组成的检测对,基于道路数据判断处于同一交叉路口或同一道路时进行碰撞检测,基于道路间连通图判断处于相邻道路时,在任一三维物体于移动方向上的剩余道路长度小于自身长度条件下进行碰撞检测。2.根据权利要求1所述的三维物体在仿真环境中的碰撞检测方法,其特征在于,所述道路数据包括道路id、道路长度、道路朝向、道路所属交叉路口。3.根据权利要求1所述的三维物体在仿真环境中的碰撞检测方法,其特征在于,所述基于道路数据构建道路间连通图,包括:将每条道路作为连边,并在相连接的两条道路之间添加顶点,形成道路间连通图。4.根据权利要求2所述的三维物体在仿真环境中的碰撞检测方法,其特征在于,还包括:在仿真前,初始化自动驾驶仿真环境中每个三维物体在高精地图中所在道路、frenet坐标和移动方向;在进行每轮判断之前,更新每个三维物体的frenet坐标和移动方向;其中,frenet坐标包括三维物体的沿道路参考线方向距离、沿道路参考线法向量方向距离。5.根据权利要求4所述的三维物体在仿真环境中的碰撞检测方法,其特征在于,所述基于道路数据判断处于同一交叉路口或同一道路时进行碰撞检测,包括:依据检测对中两个三维物体所在道路与道路数据中的道路id进行比对,以判断是否处于同一道路,在处于同一道路时,进行碰撞检测;依据检测对中两个三维物体所在道路、当前frenet坐标以及包围盒信息与道路数据中的道路所属交叉路口进行比对,以判断是否处于同一交叉路口,在处于同一交叉路口时,进行碰撞检测。6.根据权利要求4所述的三维物体在仿真环境中的碰撞检测方法,其特征在于,所述基于道路间连通图判断处于相邻道路,包括:在道路间连通图中搜索两个三维物体所在道路对应的两个连边,判断两个连边相隔一个顶点时,则两个三维物体处于相邻道路。7.根据权利要求4所述的三维物体在仿真环境中的碰撞检测方法,其特征在于,三维物体于移动方向上的剩余道路长度通过以下方式计算得到:若三维物体的移动方向与三维物体所在道路的道路朝向之间的差值在[-π/2, π/2],则剩余道路长度为三维物体所在道路的道路长度减去三维物体的沿道路参考线方向距离,否则剩余道路长度为三维物体的沿道路参考线方向距离。8.一种三维物体在仿真环境中的碰撞检测装置,其特征在于,包括:获取模块,用于获取高精地图中的道路数据;图构建模块,用于基于道路数据构建道路间连通图;判断及检测模块,用于在每轮自动驾驶仿真周期内,针对由两个三维物体组成的检测对,基于道路数据判断处于同一交叉路口或同一道路时进行碰撞检测,基于道路间连通图判断处于相邻道路时,在任一三维物体于移动方向上的剩余道路长度小于自身长度条件下
进行碰撞检测。9.一种计算设备,包括存储器和一个或多个处理器,存储器中存储有可执行代码,其特征在于,一个或多个处理器执行可执行代码时,用于实现权利要求1-7任一项所述的三维物体在仿真环境中的碰撞检测方法。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理执行时实现权利要求1-7任一项所述的三维物体在仿真环境中的碰撞检测方法。
技术总结
本发明公开了一种三维物体在仿真环境中的碰撞检测方法和装置,包括:获取高精地图中的道路数据;基于道路数据构建道路间连通图;在每轮自动驾驶仿真周期内,针对由两个三维物体组成的检测对,基于道路数据判断处于同一交叉路口或同一道路时进行碰撞检测,基于道路间连通图判断处于相邻道路时,在任一三维物体于移动方向上的剩余道路长度小于自身长度条件下进行碰撞检测。这样通过高精地图中道路数据过滤掉大部分不可能存在碰撞的三维物体,然后对剩余的三维物体进行碰撞检测,从而提高了碰撞检测的效率,降低了计算资源消耗。降低了计算资源消耗。降低了计算资源消耗。
技术研发人员:华炜 杨钊 李碧清 王玄金 张骞 冯高超 许如晨 迟锐
受保护的技术使用者:之江实验室
技术研发日:2023.06.29
技术公布日:2023/8/1
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:高光效发光二极管光源的制作方法 下一篇:房源数据推荐方法及装置与流程