发明内容
本发明的目的是提供一种空间轨迹冲突监测方法、装置、设备、介质,将轨迹信息离散化至空间网格,从而将复杂的多元轨迹运动方程组的求解问题转化为简单的空间位置检索问题,解决了多物体空间轨迹冲突监测随物体数量增多而难以求解的问题。
为实现上述目的,本发明提供了如下方案:
一种空间轨迹冲突监测方法,所述方法包括:
通过若干个物体的轨迹运动方程,获取物体运动的空间范围边界;
根据所述空间范围边界生成长方体空间区域;
将所述长方体空间区域均匀划分为网格集合;
根据每个所述物体的轨迹运动方程计算出每个所述物体运动至每个网格中心点的时刻,并关联至对应网格中,得到若干个关联网格单元;
根据所述若干个关联网格单元判断是否存在轨迹冲突。
在一些实施例中,所述将所述长方体空间区域均匀划分为网格集合,具体包括:
按照设定的空间颗粒度要求,将所述长方体空间区域均匀划分为网格集合。
在一些实施例中,所述设定的空间颗粒度要求包括:10厘米、1米、10米、100米和1千米颗粒度。
在一些实施例中,所述根据每个所述物体的轨迹运动方程计算出每个所述物体运动至每个网格中心点的时刻,并关联至对应网格中,得到若干个关联网格单元,具体包括:
根据所述物体的轨迹方程计算出所述物体运动至每个网格中心点的时刻;
将所述物体和所述物体运动至每个网格中心点的时刻以及所述网格的信息关联,得到单个物体的关联网格;
将所有物体的所述关联网格集合起来,得到若干个关联网格单元。
在一些实施例中,在所述根据每个所述物体的轨迹运动方程计算出每个所述物体运动至每个网格中心点的时刻,并关联至对应网格中,得到若干个关联网格单元之后,还包括:
在所述网格集合中筛选出所有存在物体轨迹信息的关联网格单元。
在一些实施例中,所述根据所述若干个关联网格单元判断是否存在轨迹冲突,具体包括:
提取所述关联网格单元中每个物体的时刻信息;
根据所述每个物体的时刻信息判断每个物体在所述关联网格单元中的时刻是否相同;若存在时刻相同的物体,则判定所述关联网格单元中的物体空间运动轨迹有冲突;若不存在时刻相同的物体,则判定所述关联网格单元中的物体空间运动轨迹没有冲突;
判断每个所述关联网格单元中的物体空间运动轨迹是否存在冲突;若所有的所述关联网格单元中的物体空间运动轨迹均不存在冲突,则判定所述若干个物体间没有轨迹冲突;否则,判定所述若干个物体间有轨迹冲突。
本发明还提供了一种空间轨迹冲突监测装置,所述装置包括:
空间范围生成模块,用于通过若干个物体的轨迹运动方程,获取物体运动的空间范围边界;
运动区域生成模块,用于根据所述空间范围边界生成长方体空间区域;
空间网格划分模块,用于将所述长方体空间区域均匀划分为网格集合;
物体运动轨迹离散化处理模块,用于根据每个所述物体的轨迹运动方程计算出每个所述物体运动至每个网格中心点的时刻,并关联至对应网格中,得到若干个关联网格单元;
轨迹冲突网格检索模块,用于根据所述若干个关联网格单元判断是否存在轨迹冲突。
在一些实施例中,所述物体运动轨迹离散化处理模块,具体包括:
运动时刻计算单元,用于根据所述物体的轨迹方程计算出所述物体运动至每个网格中心点的时刻;
单个物体关联网格获取单元,用于将所述物体和所述物体运动至每个网格中心点的时刻以及所述网格的信息关联,得到单个物体的关联网格;
关联网格获取单元,用于将所有物体的所述关联网格集合起来,得到若干个关联网格单元。
本发明还提供了一种空间轨迹冲突监测设备,包括:
处理器;以及
存储器,其中存储计算机可读程序指令,
其中,在所述计算机可读程序指令被所述处理器运行时执行前述所述的空间轨迹冲突监测方法。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述所述方法的步骤。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明通过将物体的空间运动方程做空间离散化处理,将原有的多元方程组求解问题变为空间的检索问题,避免了多物体轨迹方程的复杂的求解过程,只需要将单个方程简单的离散化至空间网格,当物体数量增加时,仅作一次处理,从而使得多物体空间轨迹冲突监测的效率提升。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如本发明和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。
虽然本发明对根据本发明的实施例的***中的某些模块做出了各种引用,然而,任何数量的不同模块可以被使用并运行在用户终端和/或服务器上。所述模块仅是说明性的,并且所述***和方法的不同方面可以使用不同模块。
本发明中使用了流程图用来说明根据本发明的实施例的***所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,根据需要,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
当前,无人装备在大规模使用中,为避免碰撞需要进行空间轨迹冲突监测,传统的检测手段通过计算各物体轨迹运动方程是否存在交点,当物体增多时,需要新增的物体运动方程与已有的物体运动方程分别做两两间的轨迹交点计算,计算量随着物体数量的增多呈现显著增大,为解决这一问题,本发明通过计算机将物体轨迹方程做离散化处理,将轨迹信息离散化至空间网格,从将复杂的多元轨迹运动方程组的求解问题转化为简单的空间位置检索问题,解决了多物体空间轨迹冲突监测随物体数量增多而难以求解的问题。
本发明的目的是提供一种空间轨迹冲突监测方法、装置、设备、介质,将轨迹信息离散化至空间网格,从而将复杂的多元轨迹运动方程组的求解问题转化为简单的空间位置检索问题,解决了多物体空间轨迹冲突监测随物体数量增多而难以求解的问题。
本发明通过计算机将空间区域以一定的颗粒度划分为连续的立体网格集合,通过计算此空间中的运动物体的轨迹方程,将运动轨迹信息离散化至空间网格中,检索出包含多个轨迹点的网格,比对这些轨迹对象运动到此网格的时刻,如果在同一时刻,则判断轨迹冲突,如果不在同一时刻,则判断轨迹无冲突。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一:
如图1所示,本实施例提供了一种空间轨迹冲突监测方法,该方法包括:
S1、通过计算若干个物体的轨迹运动方程f(t)=0,获取物体运动的空间范围边界。
S2、根据所述空间范围边界生成长方体空间区域;
S3、将所述长方体空间区域均匀划分为网格集合;
按照分析设定的空间颗粒度要求,可选择10厘米、1米、10米、100米、1千米颗粒度,将步骤S2生成的长方体空间区域均匀划分为相应颗粒度边长的网格集合G=(G 1 ,G 2 ,...,G n ),其中n表示第n个网格。
需要注意的是,本发明中空间颗粒度要求可以根据实际需求来确定,本发明并不局限于上述例举出的几种颗粒度范围。
S4、根据每个所述物体的轨迹运动方程计算出每个所述物体运动至每个网格中心点的时刻,并关联至对应网格中,得到若干个关联网格单元;
具体的,根据所述物体的轨迹方程计算出所述物体运动至每个网格中心点的时刻;
将所述物体和所述物体运动至每个网格中心点的时刻以及所述网格的信息关联,得到单个物体的关联网格;
将所有物体的所述关联网格集合起来,得到若干个关联网格单元。
在一些可选的实施例中,在得到若干个关联网格单元之后,还包括:在所述网格集合中筛选出所有存在物体轨迹信息的关联网格单元。
作为一个具体的实施例,假设物体A轨迹覆盖了(G A1 ,G A2 ,...,G AK )网格,其中G Ai (i= 1,2,...,k)代表该物体运动到的第i个网格,第i个网格的中心点坐标为(x i ,y i ,z i ),根据轨迹方程f(x,y,z,t)=0,求解出t i =f(x,y,z,t)|(x=x i ,y=y i ,z=z i ),即物体运动到(x i ,y i ,z i )的时刻。
然后将该物体和该时刻的数据集合(A,t i )与G Ai 网格关联,形成[G Ai ,(A,t i )]组合,并在计算机中进行存储。
针对所需分析的所有物体,重复上述过程,找到所有[G Ni ,(N,t i )]组合,其表示G Ni 网格中,N物体在t i 时刻运动至此。
遍历所有网格集合G=(G 1 ,G 2 ,...,G n ),根据上述步骤得到的结果[G Ni ,(N,t i )],过滤出具有不同物体轨迹信息的关联网格单元。
S5、根据所述若干个关联网格单元判断是否存在轨迹冲突。
具体的:
提取所述关联网格单元中每个物体的时刻信息;
根据所述每个物体的时刻信息判断每个物体在所述关联网格单元中的时刻是否相同;若存在时刻相同的物体,则判定所述关联网格单元中的物体空间运动轨迹有冲突;若不存在时刻相同的物体,则判定所述关联网格单元中的物体空间运动轨迹没有冲突;
判断每个所述关联网格单元中的物体空间运动轨迹是否存在冲突;若所有的所述关联网格单元中的物体空间运动轨迹均不存在冲突,则判定所述若干个物体间没有轨迹冲突;否则,判定所述若干个物体间有轨迹冲突。
本实施例提供的空间轨迹冲突监测方法通过将物体的空间运动方程做空间离散化处理,将原有的多元方程组求解问题变为空间的检索问题。避免了多物体轨迹方程的复杂的求解过程,只需要将单个方程简单的离散化至空间网格,当物体数量增加时,仅作一次处理,从而有效提升了多物体空间轨迹冲突监测的效率。
而且本实施例还带来了空间位置计算的效率提升。通过对空间网格的编码将空间经度、纬度、高程三维数据降低为一维的代数编码,并且可将网格中的数据进行解耦,支撑网格的并行计算,提升计算效率。
实施例二:
如图2所示,本实施例提供了一种空间轨迹冲突监测装置,该装置包括:
空间范围生成模块M1,用于通过若干个物体的轨迹运动方程,获取物体运动的空间范围边界;
运动区域生成模块M2,用于根据所述空间范围边界生成长方体空间区域;既能够涵盖所有运动物体的轨迹范围,又能够为空间网格的划分提供基础空间环境。
空间网格划分模块M3,用于将所述长方体空间区域均匀划分为网格集合;空间网格划分模块M3主要将运动区域切分为一定颗粒度的空间网格集合,网格间紧密相连并填满整个运动区域。
物体运动轨迹离散化处理模块M4,用于根据每个所述物体的轨迹运动方程计算出每个所述物体运动至每个网格中心点的时刻,并关联至对应网格中,得到若干个关联网格单元;物体运动轨迹离散化处理模块M4主要将物体运动轨迹离散化至空间网格集中,以统一的时间颗粒度计算物体的对应位置,并将位置对应到包含该位置的空间网格
轨迹冲突网格检索模块M5,用于根据所述若干个关联网格单元判断是否存在轨迹冲突。轨迹冲突网格检索模块M5通过网格检索,找到所有具有多个运动物体轨迹信息的网格,从网格中提取每个运动物体在此网格中的时间信息,如果有相同时刻的不同物体,则表示该网格存在空间轨迹冲突。
通过以上五个模块,检索出所有存在空间轨迹冲突的网格,完成空间轨迹冲突监测。
其中,物体运动轨迹离散化处理模块M4,具体包括:
运动时刻计算单元,用于根据所述物体的轨迹方程计算出所述物体运动至每个网格中心点的时刻;
单个物体关联网格获取单元,用于将所述物体和所述物体运动至每个网格中心点的时刻以及所述网格的信息关联,得到单个物体的关联网格;
关联网格获取单元,用于将所有物体的所述关联网格集合起来,得到若干个关联网格单元。
实施例三:
如图3所示,本实施例提供了一种空间轨迹冲突监测设备,包括:
处理器N1;以及
存储器N2,其中存储计算机可读程序指令,
其中,在所述计算机可读程序指令被所述处理器运行时执行如实施例一所述的空间轨迹冲突监测方法。
图3示出了该计算设备的架构。处理器N1可以包括总线、一个或至少两个CPU、只读存储器(ROM)、随机存取存储器(RAM)、连接到网络的通信端口、输入/输出组件、硬盘等。存储器N2,例如ROM或硬盘可以存储本发明提供的空间轨迹冲突监测方法的处理和/或通信使用的各种数据或文件以及CPU所执行的程序指令。当然,图3所示的架构只是示例性的,在实现不同的设备时,根据实际需要,可以省略图3示出的设备中的一个或至少两个组件。
实施例四:
如图4所示,根据本发明的另一方面,还提供了一种非易失性的计算机可读存储介质,其上存储有计算机可读的指令,当利用计算机执行所述指令时可以执行如实施例一所述的方法。
技术中的程序部分可以被认为是以可执行的代码和/或相关数据的形式而存在的“产品”或“制品”,通过计算机可读的介质所参与或实现的。有形的、永久的储存介质可以包括任何计算机、处理器、或类似设备或相关的模块所用到的内存或存储器。例如,各种半导体存储器、磁带驱动器、磁盘驱动器或者类似任何能够为软件提供存储功能的设备。
所有软件或其中的一部分有时可能会通过网络进行通信,如互联网或其他通信网络。此类通信可以将软件从一个计算机设备或处理器加载到另一个。例如:从视频目标检测设备的一个服务器或主机计算机加载至一个计算机环境的硬件平台,或其他实现***的计算机环境,或与提供目标检测所需要的信息相关的类似功能的***。因此,另一种能够传递软件元素的介质也可以被用作局部设备之间的物理连接,例如光波、电波、电磁波等,通过电缆、光缆或者空气等实现传播。用来载波的物理介质如电缆、无线连接或光缆等类似设备,也可以被认为是承载软件的介质。在这里的用法除非限制了有形的“储存”介质,其他表示计算机或机器“可读介质”的术语都表示在处理器执行任何指令的过程中参与的介质。
本发明使用了特定词语来描述本发明的实施例。如“第一/第二实施例”、“一实施例”、和/或“一些实施例”意指与本发明至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本发明的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本发明的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本发明的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“***”。此外,本发明的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
除非另有定义,这里使用的所有术语(包括技术和科学术语)具有与本发明所属领域的普通技术人员共同理解的相同含义。还应当理解,诸如在通常字典里定义的那些术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。
上面是对本发明的说明,而不应被认为是对其的限制。尽管描述了本发明的若干示例性实施例,但本领域技术人员将容易地理解,在不背离本发明的新颖教学和优点的前提下可以对示例性实施例进行许多修改。因此,所有这些修改都意图包含在权利要求书所限定的本发明范围内。应当理解,上面是对本发明的说明,而不应被认为是限于所公开的特定实施例,并且对所公开的实施例以及其他实施例的修改意图包含在所附权利要求书的范围内。本发明由权利要求书及其等效物限定。