运动规划的方法和自主代理与流程

文档序号:17950756发布日期:2019-06-19 00:00阅读:122来源:国知局
运动规划的方法和自主代理与流程

在此公开的发明构思涉及一种用于自主代理中的运动和任务规划的方法和设备。



背景技术:

现今,正在进行很多研究来使诸如无人机、自驾驶汽车、四处移动的机器人等的自主代理能够处理各种任务等。可靠地使自主代理自行移动并处理任务将允许人们更具有生产力并花时间做他们喜欢的事情。自主代理提供多方面的优势,诸如,提高的安全性、减少的拥堵、燃料高效性和更好的机动性。然而,为了获得这些益处,自主代理必须安全和可靠。安全性和可靠性依赖于能够进行准确的实时决策制定的可靠规划方法。决策制定包括总体路径/路线选择以及对行进期间遇到的交通状况和障碍物的适当反应。

通过并行计算提供的更高速度和保真度决策制定帮助由自主代理进行的准确和及时的决策。然而,例如,在公共街道上行进时,自主代理常常面临存在很多可能的反应方式的情况。必须在小数秒内处理这些可能性,使得能够制定关于最佳行动方案的决策。制定适当的决策的可扩展方法是对预先计算的运动的大型库进行大量地并行评估。在这种情况下,需要一种高效并准确地过滤大量预先规划的候选运动的手段。



技术实现要素:

本发明的目的是提供一种通过对环境谓词(environmentalpredicate)和候选运动进行压缩来减少运算的数量的方法和自主代理。

在一个方面,本发明构思与一种计算机实现的运动规划的方法有关。所述方法需要产生在连续的状态空间中表示谓词的第一索引集合;访问候选运动的库,其中,每个候选运动具有在连续的状态空间中表示轨迹的第二索引集合;对第一索引集合和第二索引集合进行压缩,以分别产生第一压缩索引集合和第二压缩索引集合;确定在第一压缩索引集合与第二压缩索引集合之间是否存在交集。

在另一方面,本发明构思与一种具有感知系统、任务和运动规划系统以及决策制定系统的自主代理有关。感知系统包括采集环境数据的传感器和用于存储地图数据存储器。任务和运动规划系统包括处理器,其中,处理器用于通过将状态空间分割成多个单元,通过将状态空间划分成由相同的候选运动的集合占用的多个区域来对环境谓词和候选运动进行压缩,并评估在环境谓词与候选运动之间是否存在交集,来评估环境谓词与候选运动之间的交集。每个候选运动与能够由所述自主代理执行的一个或多个机动相关联。决策制定系统基于来自任务和运动规划系统的输出选择候选运动。

在另一方面,本发明构思与一种具有感知系统、任务和运动规划系统以及决策制定系统的自主代理有关。感知系统包括用于采集环境数据的传感器和用于存储地图数据的存储器。任务和运动规划系统包括存储器和处理器,其中,存储器用于存储候选运动,处理器用于通过将状态空间分割成多个单元,通过使用局部保持的空间填充曲线(诸如,希尔伯特曲线或z阶曲线的曲线)来给环境谓词和候选运动编索引来产生表示环境谓词的第一二进制向量和表示候选运动的第二二进制向量,并将行程长度编码应用到第一二进制向量和第二二进制向量来进行压缩以产生输出,来评估环境谓词与候选运动之间的交集,每个候选运动与能够由所述自主代理执行的一个或多个机动相关联。决策制定系统基于输出选择行动方案。

在一个方面,提供一种计算机实现的运动规划的方法,包括:产生在连续的状态空间中表示谓词的第一索引集合;访问候选运动的库,其中,每个候选运动具有在连续的状态空间中表示轨迹的第二索引集合;对第一索引集合和第二索引集合进行压缩,以产生第一压缩索引集合和第二压缩索引集合;确定在第一压缩索引集合与第二压缩索引集合之间是否存在交集。

第二压缩索引集合被离线产生并存储,第一压缩索引集合基于来自传感器的输入而被连续产生。

对第二索引集合进行压缩的步骤包括:将状态空间的多个单元划分成多个区域,其中,所述多个区域中的每个区域被相同的候选运动的集合占用。

所述方法还包括:产生将状态空间定义为所述多个区域的压缩映射,所述多个区域的数量小于所述多个单元的数量。

产生第一压缩索引集合的步骤包括:根据由第一索引集合占用的区域来表示第一索引集合。

所述方法还包括:如果状态空间中的同一单元由第一索引集合和第二索引集合二者占用,则确定在第一索引集合与第二索引集合之间存在交集。

在空间状态中使用希尔伯特曲线来产生第一索引集合,第一索引集合是第一二进制向量。

第二索引集合是第二二进制向量,并且确定是否存在交集的步骤依赖于对在第一二进制向量与第二二进制向量中的相同位置是否出现相同值的评估。

确定是否存在交集的步骤包括:评估第一索引集合和第二索引集合中的一个是否包含在第一索引集合和第二索引集合中的另一个中。

压缩的步骤包括:将行程长度编码技术应用到第一二进制向量和第二二进制向量,其中,第一压缩索引集合是第一整数向量,第二压缩索引集合是第二整数向量。

确定是否存在交集的步骤包括:确定第一整数向量的补集;评估第二整数向量是否占用状态空间中的与第一整数向量的补集相同的空间。

在一个方面,提供一种自主代理,包括:感知系统,包括传感器和存储器,其中,传感器用于周期性地采集环境数据,存储器用于存储地图数据;任务和运动规划系统,包括存储器和处理器,其中,存储器用于存储候选运动,处理器用于通过将状态空间分割成多个单元,通过将状态空间划分成由相同的候选运动的集合占用的多个区域来对环境谓词和候选运动进行压缩,并评估在环境谓词与候选运动之间是否存在交集,来评估环境谓词与候选运动之间的交集,每个候选运动与能够由所述自主代理执行的一个或多个机动相关联;决策制定系统,基于来自任务和运动规划系统的输出选择候选运动。

对候选运动进行压缩的处理被离线执行并存储。

所述自主代理还包括:存储器,存储指示状态空间中的每个单元与所述多个区域之间的相关性的压缩映射。

感知系统连续地采集更新的环境数据,任务和运动规划系统使用更新的环境数据来更新环境谓词,以评估在环境谓词与候选运动之间是否存在交集。

在一个方面,提供一种自主代理,包括:感知系统,包括传感器和存储器,其中,传感器用于采集环境数据,存储器用于存储地图数据;任务和运动规划系统,包括存储器和处理器,其中,存储器用于存储候选运动,处理器用于通过将状态空间分割成多个单元,通过使用希尔伯特曲线给环境谓词和候选运动编索引来产生表示环境谓词的第一二进制向量和表示候选运动的第二二进制向量,并将行程长度编码应用到第一二进制向量和第二二进制向量来进行压缩,以产生输出,来评估环境谓词与候选运动之间的交集,每个候选运动与能够由所述自主代理执行的一个或多个机动相关联;决策制定系统,基于来自任务和运动规划系统的输出选择行动方案。

任务和运动规划系统通过将第一二进制向量与第二二进制向量进行比较来评估在环境谓词与候选运动之间是否存在交集。

任务和运动规划系统将行程长度编码应用到第一二进制向量来产生第一整数向量,将行程长度编码应用到第二二进制向量来产生第二整数向量,并评估第一整数向量和第二整数向量中的一个是否包含在第一整数向量和第二整数向量中的另一个中。

任务和运动规划系统将行程长度编码应用到第一二进制向量来产生第一整数向量,将行程长度编码应用到第二二进制向量来产生第二整数向量,并评估第一整数向量和第二整数向量中的一个是否包含在第一整数向量和第二整数向量中的另一个的补集中。

任务和运动规划系统将行程长度编码应用到第二二进制向量来产生第二整数向量,并存储第二整数向量以用于评估与更新的环境谓词的交集。

根据本发明,环境谓词和候选运动部分被划分为多个分区或整数向量。因此,提供了用于减少运算的数量的方法和自主代理。

附图说明

图1是具有感知系统以及任务和运动规划系统的自主代理的描绘。

图2描绘了通过三维空间中的小室单元(cubiclecell)对球形的状态空间的近似。

图3示出根据一个实施例的具有100个单元的语义标记的状态空间的示例。

图4a描绘了表示用于对候选运动的集合与语义分割的状态空间进行交集运算的在线方法的框图。

图4b描绘了示出根据本发明构思的状态空间的语义标记区域被实时映射到压缩格式并进行交集评估的过程的框图。

图5描绘了根据本发明构思的一个实施例的状态空间压缩处理。

图6示出根据一个实施例的如何通过对状态空间进行划分来产生压缩映射。

图7示出根据一个实施例的如何将图6的压缩映射应用到候选运动以产生压缩的候选运动。

图8示出根据一个实施例的如何在压缩的候选运动与压缩的谓词之间进行交集评估。

图9是根据一个实施例的如何通过选择地合并单元来对状态空间进行划分的示例。

图10示出根据一个实施例的能如何使用二维希尔伯特曲线来产生二进制向量。

图11是概述根据一个实施例的可如何将状态空间的基于希尔伯特曲线的索引与行程编码类型压缩(run-length-encoding-typecompression)进行组合的流程图。

图12描绘了希尔伯特曲线的三维变化。

具体实施方式

提出一种用于高效评估自主驾驶/移动情境中的一批运动的舒适性、合法性和安全性的方法。该方法通常需要:定义由有限数量的单元组成的状态空间,给单元编索引并确定哪个可能的运动与环境谓词相交或不相交。环境谓词包括环境中的各项,诸如,行人、人行道、车道标志等。经典的运动规划算法中的计算瓶颈是实时地对候选运动与环境中的相关区域进行冲突检查。在此提出的任务和运动规划方法的实施例提供可规划运动以执行复杂任务的决策制定处理的理论构造。在一个实施例中,在此公开的技术可被实现为专用集成电路(asic)。

大多数系统从与自主代理可执行的任务的类型相关的有限数量的谓词构造它们的语言。语言中的每个谓词将针对自主代理的环境的潜在状态中的每个潜在状态取一些逻辑值(真或假)。因此,每个谓词与状态空间的子集相关联并且一批谓词引起状态空间的划分或分割,其中,在划分的每个元素中,每个谓词的逻辑值是恒定的。因此,有限数量的特征被选择,来表示对环境的充分总结以评估每个谓词的逻辑值。由参数产生的有限维向量空间被称为“状态空间”。在自主代理是自主车辆的情况下,系统的状态可包括诸如车辆位置、航向和纵向速度的特征。如在此使用的,“行驶”或“驾驶”表示以改变代理的gps坐标的方式行进或移动。

通常,在此公开的方法需要接收与任务规划规范的话语域内的逻辑谓词相关联的自主代理的工作空间中的区域或容积。区域或容积被栅格化为有限数量的小的区域或容积,其中,小的区域或容积中的每个被分配整数值,使得谓词被编码为整数的集合。每个预先计算的运动扫过的区域或容积也被编码为整数的集合。逻辑谓词与每个运动的交集通过评估逻辑谓词的整数的集合与每个运动的整数的集合的交集来确定。在此公开的技术还包括允许在压缩格式上直接评估交集的适用于整数数据的压缩方法。

在此公开的方法包括压缩映射方法和基于行程长度编码的方法。在两种实施例中,存在两个整数子集:1)表示使用特定谓词(例如,行人、白色虚线)标记的规划环境的超小室区域(hyper-cubicleregions)的整数的子集,以及2)与由一批运动基元中的每个在环境中扫过的容积对应的整数的子集。原始索引集合被映射到计算环境谓词与每个运动之间的“相交”或“不相交”的相同逻辑值的更小的集合。

图1描绘了在感知系统10与任务和运动规划系统20之间具有串行互连的自主代理1。当推理执行什么运动时,每个谓词的逻辑值和每个运动的逻辑值被解释以用于评估。感知系统10使用通过它的传感器12(例如,相机和lidar测量)实时采集的数据从环境或状态空间提取特征。感知系统10将传感器数据与存储在可访问的存储器或存储装置中的先前的信息(例如,地图数据)进行组合。通过这样做,感知系统10对定义的状态空间进行分割。

任务和运动规划系统20使用候选运动的库,其中,每个候选运动与可由自主代理采取的不同的可能的行动相关联。候选运动的库可被存储在存储器24中。运动可以是简单的(急刹车)或者可以是复杂的机动的组合。每个候选运动具有可映射到状态空间上作为空间的子集的轨迹。任务和运动规划系统20经由处理器22对由每个候选运动扫过的状态空间的子集与多个语义标记的谓词区域中的每个进行交集运算,最终用谓词值标记候选运动。决策制定系统使用任务和运动规划系统20的结果来选择运动。

为了便于可视化,图1示出二维的分割的状态空间。然而,这不是对本公开的限制并且状态空间可具有足够大以评估规范语言中的谓词的逻辑值的任何数量的维度。任务和运动规划系统20可直接附接到用于运动的机构(例如,机械腿、车轮、机翼、转子、发动机等)或者可远离执行行进的部件。

图2描绘了通过三维空间中的小室单元对球形的状态空间的近似。连续的状态空间由超小室单元的网格来近似,使得状态空间的子集由与该特定子集相交的单元来近似。通过给状态空间的小室区域编索引,每个候选运动和谓词可通过与由该对象穿过的超小室单元相关联的一批索引来表示。候选运动的库可被离线预先计算并用于实时规划。当实时规划时,状态空间的划分被频繁更新以反映由感知系统10进行的新的测量。因此,环境谓词与候选运动之间的交集的计算可以以足够低的时延发生以用于实时使用。在最坏的情况下,用于使用谓词的更新的逻辑值重新标记候选运动的运算的数量ops由下面的等式1给出:

[等式1]

其中,p是语言中的谓词的数量,m是库中的候选运动的数量,n是对状态空间进行近似的单元的数量。对m个候选运动中的每个与p个谓词中的每个进行交集运算,需要p×m次元运算。在针对谓词与运动之间的单个成对比较的最坏的情况下,运动占用状态空间的索引中的一半索引,并且谓词占用另一半。在这种情况下,运动的索引在总共n/2次运算期间被检查,谓词的索引在总共n/2次运算期间被检查。在一个实施例中,候选运动的索引i被检查存在特定谓词中。针对特定谓词检查单独的候选运动的处理在计算上是大量的,并且常使用大量的硬件(asic)。

通常,在任务和运动规划中,代理的环境被表示为具有诸如标称车道、行人等属性的语义标记的状态空间。使用索引列表,多个运动以相似的方式存储。通过对多个索引集合进行交集运算来评估交集。为了利用这种基于索引的交集方法,基元运动的集合可被评估。由于集合将很大,在4级或5级自主驾驶软件栈中很容易达到106或更多,因此压缩可被利用。可在该运动的集合上实现的压缩水平直接对应于在规划周期中所需的运算的数量的减少。这可被用于减少专用于该任务的asic中所需的晶体管的数量。

本发明构思利用将减少在线运算的数量的对候选运动和分割的区域的压缩表示,从而减少与大量计算相关联的负担。如下面将描述的,额外的离线处理阶段以及感知数据的额外的在线压缩可用于确定压缩表示。

图3示出根据本发明构思的一个实施例的具有100个单元的语义标记的状态空间的示例。(由从每个正方形的右上角延伸到左下角的对角线标记的)一个候选运动被映射到状态空间上。(由从每个正方形的左上角延伸到右下角的对角线指示的)谓词或语义标记的区域也被映射到状态空间上。映射将由候选运动和谓词二者占用的单元标识为交集,在这种情况下,交集为(6,6)(7,6)和(8,6)。在图3中示出了使用网格图案来标记的交集。针对特定运动的交集评估的结果将是“交集”。

图4a描绘了表示用于对一批候选运动与语义分割的状态空间进行交集运算的在线方法的框图。由虚线框包围的计算被在线执行。因此,都实时地将候选运动中的每个与语义标记的空间状态进行比较以产生语义标记的运动。根据语义标记的运动与每个逻辑谓词的交集评估的结果,该运动针对每个逻辑谓词被分配有真值。

图4b描绘了示出根据本发明构思的状态空间的语义标记区域被实时映射到压缩格式并进行交集评估的过程的框图。语义标记的状态空间的压缩可减少用于评估交集的运算的数量。语义标记的状态空间可包括环境谓词数据。在这种情况下,谓词数据的在线压缩将涉及将降低评估运动数据和分割的区域之间的交集的复杂度的小的额外的计算。候选运动数据的库将被离线压缩并被存储在可由任务和运动规划系统20访问的地方(例如,图1中示出的存储器24)。压缩处理需要提取运动数据的必要特征,从而允许它被更紧凑地存储。存储的运动数据用于实时交集评估,以产生语义标记的运动。压缩的净效果将是需要的在线运算的总数量的减少。

如在此使用的,在原始格式中使用的空间相对于压缩格式中使用的空间的比率将被称为“压缩因子”。在压缩产生很大差异的情况下,压缩因子f将是{n/(m+1),1}中的较大值,其中,n是超小室单元的数量,m是候选运动的数量。在没有压缩的情况下,压缩因子将是1。这表明针对该方法n应该远大于m,以在特定应用中提供任何益处。另一观察是,针对固定数量的谓词p和候选运动m,压缩因子将与单元n的数量成比例地缩放。也就是说,f∈θ(n)。因此,由于压缩因子将与分辨率成比例地增大,因此可使状态空间的分割的分辨率任意高。

状态空间的分割的区域与运动之间的交集运算可仍在以因子f减少运算的数量的压缩格式下执行。然而,这需要在线压缩分段的状态空间,其中,在线压缩分割的状态空间每个谓词需要n次运算。使用修改的交集运算过程,在线运算的数量变为:

[等式2]

如果我们考虑固定数量的谓词p和运动m,同时将n取值为趋于无穷,则这种方法的优点会显现出。由于f∈θ(n),存在常数c和足够大的n,使得针对每个n>n,f(n)>c×n。因此,针对n>n,运算的数量由下面的等式来限定:

[等式3]

当等式3如等式1那样随着n线性地缩放时,p、m和n将在自主驾驶的情境下各自是很大的数,使得等式3中的ops的值将大幅小于等式1中的ops。以上公开的方法可以或者不可以对所有的应用起作用,因为它的有效性取决于所考虑的特定的应用和参数。

图5描绘了根据本发明构思的一个实施例的状态空间压缩处理100。处理100以定义状态空间(110)并通过有限数量的有索引的超小室单元来近似状态空间(112)开始。任何合适的索引系统可例如通过诸如(x,y,t)的坐标被使用,其中,“x”和“y”是空间中的垂直轴,“t”表示时间。采集候选运动并给候选运动编索引(114),每个候选运动由mi表示,其中,mi是表示第i运动的索引的集合。每个候选运动在状态空间中例如通过坐标(x,y,t)被编索引。根据图9中示出的过程将候选运动映射到状态空间上并划分成多个区域,以确定特定的单元是否应该被合并(116)。由相同的谓词/运动的集合占用的两个或更多个单元可被合并成一个区域(一个“集合”可包括零个、一个或多个谓词/运动)。步骤116中的划分导致压缩映射c,其中,压缩映射c在之后被应用到候选运动(118)。在存在压缩的情况下,压缩映射c的应用导致比单元的数量更少的区域,从而简化下游的计算。

感知系统10连续地采集更新的环境谓词数据(130)。实时地,使用步骤112的索引系统给环境谓词编索引(132)。环境谓词被映射到状态空间上,并且在步骤116中产生的压缩映射被应用到环境谓词(136),其中,环境谓词现在可根据比单元的数量更少的区域来表示。使用压缩的候选运动和压缩的环境谓词,可进行交集评估(140)。

感知系统10(图1中所示)根据规范语言中的谓词来更新状态空间的语义标记。使用压缩映射c将更新的信息映射到压缩的状态空间中。然后,可以以比在原始状态空间中的运算更少的运算将标记的区域与候选运动进行简单地交集运算,因为当搜索描述特定谓词的区域与候选运动的索引之间的交集时要检查的状态更少。

图6、图7和图8示出图5的处理100。示出压缩映射的产生的图6描绘了映射到以二维坐标(x,y)编索引的100单元状态空间上的两个候选运动(运动m1和运动m2)。基于两个运动m1和m2的映射,状态空间被划分成四个一般区域:仅运动m2被映射的区域0、运动m1和运动m2都未被映射的区域1、仅运动m1被映射的区域2以及由运动m1和运动m2二者占用的区域3。区域0由从右上角延伸到左下角的对角线表示,区域2由从左上角延伸到右下角的对角线来表示,区域3用交叉线示出,区域1被示出为空白正方形。用于将100个单元映射到4个区域的压缩映射被产生。

输出实际是定义从近似的状态空间中的索引向近似的状态空间的压缩版本中的索引的映射的整数数组c。针对每个运动,子集包含在该运动内或者与该运动不相交。第j元素cj包含与原始状态近似的状态空间中的索引j相关联的压缩的状态空间中的索引。这个压缩过程在图9中概述。如图9中所示,如果环境索引的子集(名义上非单元素集合)是(i)运动的索引的子集或者(ii)与运动的索引不相交,则子集可被映射到压缩的索引集合中的单个索引。

图7示出如何将图4b中产生的压缩映射应用到运动m2。如在左侧所示,由运动m2占用的区域最初以(x,y)坐标被编索引。当压缩映射被应用于表示4个区域中的100个单元时,如在右手侧所示,压缩的运动m2占用区域0和区域3。在这个示例中,由100个状态近似的状态空间被压缩为具有4个状态的状态空间,产生25的压缩因子。在运动m1和m2的特定布局的情况下,压缩的状态空间将具有4个状态,而不管近似中的最初的单元数量。

图8示出如何评估运动m1和谓词p之间的交集。如在图4b中所示,运动m1、运动m2可被离线转换成压缩的表示并存储在表格中。通常是环境项(例如,行人、人行道等)的谓词p占用以粗体轮廓线示出的单元。100个单元使用图4b的压缩映射被压缩至4个区域,并且相同的压缩映射可被应用于谓词p。结果是谓词和运动被分别映射到两个索引。更具体地应用压缩映射,谓词p占用区域1和区域2。运动m1占用区域2和交叉线区域3。由于谓词p和运动m1二者触及区域2,因此存在交集。另一方面,运动m2触及区域0和交叉线区域3,从而不与谓词p相交。

压缩状态空间中的状态的数量将具有不多于{n,2m}的最小值的状态/区域(n是近似中的状态的数量,m是候选运动的数量),使得如果n>>2m,则针对固定的m,压缩因子f与n成线性比例。

以上示出的示例实施例使用坐标(x,y)作为原始单元编索引方法,并使用压缩映射c将它们转换成整数。可选的索引方法利用一种行程长度编码(rle)来表示语义标记区域的占用空间,而不是使用以上描述的压缩映射c和划分。如在之前的压缩方案中,可以对压缩的数据格式直接计算确定集合交集的关键运算,使得内存释放(memory-wise)和计算的高效。在可选的方法中,行程长度编码用于压缩环境中的相交的运动的表示。

在一个实施例中,希尔伯特曲线可用于索引。图10示出可如何使用2维希尔伯特曲线来产生用值1指示占用单元(示出为变黑的正方形)和用值0指示未占用单元的二进制向量。在存在两个向量的情况下,如果在它们相关联的二进制向量的一些索引处,两个集合在该索引处被分配值1(二进制向量的逻辑与为1),则两个向量具有非空交集。如图11所示,这个交集可通过穷举检查二进制向量的每个索引来查找。虽然图10示出将希尔伯特曲线用于索引,但是本发明不限于此,任何其他局部保持的空间填充曲线是可行的。例如,在一个实施例中,z阶曲线可用于索引。为了描述的方便,后面以希尔伯特曲线为示例进行说明。

图11也示出作为对二进制向量进行比较的可选方案,可使用类似rle格式来评估交集。假设m和r是类似rle格式的n维区域的子集,如果下面的条件针对所有的i和j都满足,则它们的交集为空:

[等式4]

m(2i+1)≤r(2j)或r(2j+1)≤m(2i)

其中,i、j的范围达到对应的整数向量的长度的一半。在一些情况下,类似rle格式将使用更少的存储并且等式8可以以比两个二进制向量之间的逻辑与运算更少的运算被评估。

当在符号(在这种情况下,符号是0和1)的序列中存在多个顺序地重复的值时,数据可被表示为表示一种后面跟着该符号重复的次数的符号的对的序列。二进制向量在以下三个步骤中被压缩为整数的向量:

步骤1:在整数向量的第一索引的整数是二进制向量中的第一个1的索引。

步骤2:除了整数向量中的第一个整数之外,每个整数表示二进制向量的这样的索引:在从左向右读取的0和1的串中,该索引处的值不同于前一索引。

步骤3:如果二进制向量的最后一个条目中的值是1,则整数向量的最后一个条目是二进制向量的大小。

使用以上三步法的二进制向量到整数向量的基于rle压缩的示例是等式5到等式6的转换。

[等式5]

[1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,0,0,0]

[等式6]

[0,8,15,17]

在整数向量中,第一个值是0,因为二进制向量中的第一个“1”出现在索引0(第0位置)处。存在八个1(向量中的索引0-7),并且不同于前一索引的第一个值是当值0出现在索引8中时。因此,根据步骤2,整数向量的第二值是8。在一系列0之后,值在索引15中切换到1,然后在索引7中切换回0。因此,继续步骤2,“15”和“17”表示整数向量中的接下来的值。由于二进制向量中的最后条目是0,因此没有每个步骤3记录的值。

相反,以上三步法可用于将整数向量解压缩为二进制向量。示例是等式7到等式8的解压缩。

[等式7]

[3,14,19,21]

[等式8]

[0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1]

将步骤1应用到等式7指示值“1”出现在二进制向量中的第一个位置在索引位置3(第一个索引是0)处。然后,应用步骤2指示位置14是索引值从1改变为0时,在索引19处存在从0到1的另一变化。然后,应用步骤3,最后一个值表示在二进制向量中存在21个值。

替代评估两个集合是否具有非空交集,或者除评估两个集合是否具有非空交集之外,可针对一个集合是否包含在另一个集合中来进行评估。这种子集评估允许有效地评估一些其他集合运算。例如,假设l是表示标称车道区域的集合。为了验证车辆保持在期望的车道内,必须检查运动m是否是l的子集。这种确定可被转换为关于l的补集(或lc)的集合相交问题,也就是说验证运动m与l的补集(期望的车道外部的区域)之间不存在交集。做出该确定涉及从lc产生压缩格式的l。这可通过以下方式之一来实现:

1、如果当前的第一个元素是非零的,则将零追加到整数向量的该第一个元素之后并去除最后一个元素。

2、如果第一个元素是零,则从整数向量的该第一个元素去除零,并将等于二进制向量的长度的整数追加到向量的末尾。

例如,整数向量[0,8,15,17]对应于二进制向量[1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,0,0,0]。由于第一个元素是零,因此整数向量的补集可由以上两种情况中的第二种来确定。应用第二种方法,补集变为[8,15,17,21]。补集运算是有效的,并且可应用于环境数据。

虽然图10中的示例描绘了2维希尔伯特曲线,但是这不是对在此公开的构思的限制。图12描绘了希尔伯特曲线的三维变化,并且针对任意有限维空间可得到类似曲线。

虽然根据方法或技术描述了实施例,但是应理解,本公开也覆盖包括非暂时性计算机可读介质的制品,其中,用于执行所述方法的实施例的计算机可读指令存储在非暂时性计算机可读介质上。例如,计算机可读介质可包括用于存储计算机代码的半导体、磁性、光磁、光学或其他形式的计算机可读介质。此外,本公开还可覆盖用于实践在此公开的发明构思的实施例的设备。这样的设备可包括用于执行与实施例有关的操作的专用的和/或可编程的电路。

这样的设备的示例包括被适当编程时的通用计算机和/或专用计算装置,并可包括计算机/计算装置和适合于与实施例相关的各种操作的专用/可编程硬件电路(诸如,电路、机械电路和/或光学电路)的组合。

虽然已经参照示例实施例描述了本发明构思,但是对于本领域技术人员来说将清楚,在不脱离本发明构思的精神和范围的情况下可进行各种改变和修改。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1