Safe feasible region generation method and system based on effective obstacles

04-04-2023 дата публикации
Номер:
CN115903853A
Контакты:
Номер заявки: 01-10-20236889.1
Дата заявки: 06-01-2023

一种基于有效障碍物的安全可行域生成方法及系统

附图说明

[0015]

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

[0016]

图1为本发明提供的基于有效障碍物的安全可行域生成方法的流程图;

图2为入堆栈示意图;

图3为返回堆栈顶元素的示意图;

图4为无人车与第1个障碍物最小距离示意图;

图5为有效障碍物示意图。

技术领域

[0001]

本发明涉及无人驾驶技术领域,特别是涉及一种基于有效障碍物的安全可行域生成方法及系统。

具体实施方式

[0017]

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

[0018]

本发明的目的是提供一种基于有效障碍物的安全可行域生成方法及系统,用以降低安全可行域的维度,提高效率。

[0019]

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

[0020]

实施例一

如图1所示,本发明提供的基于有效障碍物的安全可行域生成方法,包括以下步骤:

步骤101:采集无人车的姿态信息,并利用多边形对无人车进行描述。

[0021]

本方法主要目的是求解某个指定无人车姿态信息下的安全可行域,因此无人车姿态信息是事先给定的。

[0022]

采集无人车目标姿态信息,定义如下:

 (1)

式(1)中,k表示无人车多边形顶点编号;p为无人车在行驶环境中的坐标,该坐标在以固定原点建立的绝对坐标系下,后续步骤将以p为基础求解安全可行域;表示无人车在行驶环境中的坐标的横坐标值和纵坐标值;表示无人车多边形的第k个顶点相对坐标;表示第i个障碍物多边形顶点集合;本方法用四边形为例描述无人车,表示无人车多边形的第k个顶点绝对坐标。安全可行域是包含无人车且不包含障碍物的区域,即当无人车姿态信息中的p在内部时,无人车将不会与障碍物发生碰撞。

[0023]

步骤102:采集障碍物的空间位姿信息,并利用凸多边形对障碍物进行描述。

[0024]

从环境感知模块获得环境中动静态障碍物(简称障碍物)的空间位姿信息,利用凸多边形描述障碍物外形,障碍物的空间位姿信息表示为:

   (2)

其中,i为障碍物编号;j表示障碍物多边形顶点编号;qi表示第i个障碍物在行驶环境中的坐标;Wi表示第i个障碍物的外形信息;表示第i个障碍物在行驶环境中的坐标的横坐标值和纵坐标值;,表示第i个障碍物的第j个多边形顶点坐标,该坐标为车体相对坐标系下的值;表示第i个障碍物多边形顶点集合;为障碍物数量,ji为第i个障碍物多边形的顶点数量。由于本方法所求解的是针对某个时刻的环境瞬态信息建立的包含p且不包含障碍物的安全可行域,因此障碍物的空间位姿信息均可由式(2)表示。第i个障碍物为动态障碍物时,(qi,Wi)则表示该动态障碍物某个确定时刻的几何中心坐标及外形信息。

[0025]

步骤103:建立堆栈,堆栈当前为空。

[0026]

堆栈是计算机领域的一种数据结构,本方法利用堆栈描述有效障碍物信息的储存和使用。

[0027]

建立一个堆栈Lvalid,当前的堆栈Lvalid是空的,堆栈Lvalid中将要储存的元素为(i,j,k),分别表示障碍物序号、障碍物多边形顶点序号及无人车多边形顶点序号。给出对Lvalid的四个操作:

(1)Lvalid.push:入栈,将新的元素(i,j,k)加入栈中。如图2所示,将元素(1,2,1)和(2,4,3)压入堆栈Lvalid,得到一个新的Lvalid,堆栈中的元素顺序为先入栈元素在栈底,后入栈元素在栈顶。

[0028]

(2)Lvalid.getTop:返回栈顶元素(i,j,k),但不出栈,其中Lvalid.getTop(1)表示返回栈顶元素中的i,Lvalid.getTop(2)表示返回栈顶元素中的j,Lvalid.getTop(3)表示返回栈顶元素中的k。如图3所示,Lvalid.getTop返回栈顶元(1,2,3),Lvalid.getTop(1)则返回数值2,Lvalid.getTop(2)则返回数值4,Lvalid.getTop(3)则返回数值3。

[0029]

(3)Lvalid(m):返回栈底起第m个元素(i,j,k),Lvalid(m).(1)表示第m元素中的i,Lvalid(m).(2)表示第m元素中的j,Lvalid(m).(3)表示第m元素中的k。以图3堆栈Lvalid为例,当m=1,Lvalid(m)表示返回元素(1,2,1),当m=2,Lvalid(m)表示返回元素(2,4,3)。

[0030]

(4)Lvalid.length返回栈的长度。以图2为例,压入栈前,空栈长度为0,压入两个元素后,栈的长度为2。

[0031]

此步骤得到堆栈Lvalid,有效障碍物将在后续步骤压入栈中。

[0032]

步骤104:基于无人车的姿态信息以及障碍物的空间位姿信息,将第1个障碍物的相关信息储存到堆栈Lvalid中;第1个障碍物的相关信息包括第1个障碍物的编号、第1个障碍物距离无人车最近的障碍物多边形顶点以及无人车距离第1个障碍物最近的无人车多边形顶点。

[0033]

将第1个障碍物相关信息(i,ji,opt,ki,opt)压入堆栈Lvalid中,其中,i表示障碍物编号,ji,opt、ki,opt表示无人车和障碍物i的最近的顶点编号。以图4为例,无人车第4个顶点和障碍物i的第2个顶点距离最近,因此ji,opt=2,ki,opt=4。对于无人车和障碍物两个最近的顶点的判别公式如公式(3a)、(3b)和(3c)所示。

[0034]

i=1    (3a)

  (3b)

   (3c)

Ac=(qi-p)'

式(3a)中,Ac表示以无人车中心为起点障碍物i为终点的二维向量,由于本步骤是针对第1个障碍物进行讨论,因此i=1;式(3b)中表示第1个障碍物的第顶点离无人车最近;将式(3b)结果代入到式(3c),式(3c)中,表示无人车距离第1个障碍物第顶点最近。,具体值取决于无人车与第1障碍物相对位置,这里不再给出具体值。最后将(i,,)压入堆栈Lvalid中。

[0035]

步骤105:基于无人车的姿态信息以及障碍物的空间位姿信息,对剩余障碍物的有效性进行判断,将有效障碍物的相关信息储存到堆栈Lvalid中。

[0036]

基于更新的堆栈Lvalid,对障碍物i进行筛选。过程如步骤1051-步骤1053叙述所示:

步骤1051:对第i(i≥2)个障碍物使用步骤104进行处理,可以得到(i,ji,opt,ki,opt),公式如下:

 (4a)

   (4b)

步骤1052:利用栈顶元素信息,对第i个障碍物的有效判断,判断公式如下:

   (5)

式(5)中:Lvalid.getTop见步骤103定义的操作(2)。

[0037]

如果不等式(5)成立,则第i个障碍物为有效障碍物,将(i,ji,opt,ki,opt)压入堆栈Lvalid

[0038]

如果不等式(5)不成立,则第i个障碍物为无效障碍物,对堆栈Lvalid不做任何操作。

[0039]

对于不等式(5)有效性判断效果中,当障碍物m被判断为无效障碍物,障碍物m相对于无人车,在第1个障碍物的“后面”;当障碍物n被判断为有效障碍物,障碍物n相对于无人车,在第1个障碍物的“前方”。简单来说,无人车在行驶的过程中,只需要关注周围离自己最近的障碍物,而障碍物后方的障碍物是无需考虑的,图5中障碍物m即为障碍物1后方的障碍物,为无效障碍物;障碍物n则相反。

[0040]

步骤1053:重复步骤1051-步骤1052,直到对所有剩余障碍物完成有效性判断,并将有效障碍物的相关信息依次放入堆栈中。

[0041]

步骤106:基于堆栈中所有有效障碍物生成安全可行域。

[0042]

有效障碍物的数量可以用返回栈的长度得到,并且满足:

     (6)

将Lvalid依次取出,基于所有有效障碍物进行安全可行域集合构建,公式描述如下:

  (7)

其中:

  (8)

式(8)中,表示安全可行域集合;A表示无人车指向有效障碍物的向量;表示安全可行域集合内的点;表示围成安全可行域集合的凸多边形;b表示围成安全可行域集合的凸多边形中每一条边的偏移量;表示第个障碍物在行驶环境中的坐标;表示堆栈中第m个元素中的i;表示第个障碍物多边形的第个顶点相对坐标;表示堆栈中第m个元素中的j;表示无人车多边形的第个顶点相对坐标;表示堆栈中第m个元素中的k;表示堆栈的长度。

[0043]

至此,得到安全可行域,如式(7)所示。从式(6)可知,式(7)得到的安全可行域维度是小于等于障碍物数量的,在障碍物密集情况下,效果更为显著。安全可行域的维度降低可以提高安全走廊等诸多方法在使用安全可行域时的效率。

[0044]

本方法在生成安全可行域的过程中考虑了无人车外形和障碍物外形,通过筛除无效障碍物降低安全可行域维度。从步骤104-步骤105可以看出,从第1个障碍物开始,本方法会将后一个障碍物、前一个障碍物、无人车三者空间位置进行比较,比较公式为式(5),即如果前一个障碍物挡在后一个障碍物和无人车中间,那么式(5)不满足,后一个障碍物则为无效障碍物,反之则是有效障碍物。简单来说,无人车在行驶的过程中,只需要关注周围离自己最近的障碍物,而障碍物后方的障碍物是无需考虑的。

[0045]

实施例二

为了执行上述实施例一对应的方法,以实现相应的功能和技术效果,下面提供了一种基于有效障碍物的安全可行域生成系统,包括:

无人车姿态信息采集模块,用于采集无人车的姿态信息,并利用多边形对无人车进行描述;

障碍物空间位姿信息采集模块,用于采集障碍物的空间位姿信息,并利用凸多边形对障碍物进行描述;

堆栈建立模块,用于建立堆栈,堆栈当前为空;

储存模块,用于基于无人车的姿态信息以及障碍物的空间位姿信息,将第1个障碍物的相关信息储存到堆栈中;第1个障碍物的相关信息包括第1个障碍物的编号、第1个障碍物距离无人车最近的障碍物多边形顶点以及无人车距离第1个障碍物最近的无人车多边形顶点;

判断模块,用于基于无人车的姿态信息以及障碍物的空间位姿信息,对剩余障碍物的有效性进行判断,将有效障碍物的相关信息储存到堆栈中;

安全可行域生成模块,用于基于堆栈中所有有效障碍物生成安全可行域。

[0046]

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

[0047]

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

背景技术

[0002]

无人驾驶车辆(简称无人车)成为近年来的研究热点。无人车的局部路径规划作为其关键技术之一,其性能的好坏直接决定无人驾驶车辆的行驶成功与否。

[0003]

无人车行驶轨迹需要同时满足平滑性、最优性以及实时性三个需求。因此,近年来不少学者将无人车轨迹规划问题描述成一个优化问题,然而非凸避障约束会把原问题变成难以求解非凸的优化问题。利用安全可行域描述无人车的无碰撞解空间是近年来一种常见的方法。最典型的,利用安全走廊描述无碰撞解空间,可以有效的将非凸优化问题转变成凸优化问题。安全走廊是安全可行域中生成的,是一种缩小的但功能性更丰富的安全可行域。

[0004]

在常规的安全可行域生成方法中,安全可行域的维度与障碍物数量是相等的,障碍物越多,安全可行域的维度越高。然而安全可行域的维度越高将会造成安全走廊等诸多方法的效率降低。

发明内容

[0005]

本发明的目的是提供一种基于有效障碍物的安全可行域生成方法及系统,用以降低安全可行域的维度,提高效率。

[0006]

为实现上述目的,本发明提供了如下方案:

一种基于有效障碍物的安全可行域生成方法,包括:

采集无人车的姿态信息,并利用多边形对所述无人车进行描述;

采集障碍物的空间位姿信息,并利用凸多边形对所述障碍物进行描述;

建立堆栈,所述堆栈当前为空;

基于所述无人车的姿态信息以及所述障碍物的空间位姿信息,将第1个障碍物的相关信息储存到所述堆栈中;第1个障碍物的相关信息包括第1个障碍物的编号、第1个障碍物距离无人车最近的障碍物多边形顶点以及无人车距离第1个障碍物最近的无人车多边形顶点;

基于所述无人车的姿态信息以及所述障碍物的空间位姿信息,对剩余障碍物的有效性进行判断,将有效障碍物的相关信息储存到所述堆栈中;

基于所述堆栈中所有有效障碍物生成安全可行域。

[0007]

可选地,所述无人车的姿态信息的表达式如下:

p=(xego,yego)'

其中,k表示无人车多边形顶点编号;p表示无人车在行驶环境中的坐标;表示无人车在行驶环境中的坐标的横坐标值和纵坐标值;表示无人车多边形的第k个顶点相对坐标;表示无人车多边形顶点集合。

[0008]

可选地,所述障碍物的空间位姿信息的表达式如下:

其中,i表示障碍物的编号;qi表示第i个障碍物在行驶环境中的坐标;Wi表示第i个障碍物的外形信息;表示障碍物数量;表示第i个障碍物在行驶环境中的坐标的横坐标值和纵坐标值;表示第i个障碍物多边形的第j个顶点相对坐标;表示第i个障碍物多边形顶点集合;ji表示第i个障碍物多边形的顶点数量。

[0009]

可选地,基于所述无人车的姿态信息以及所述障碍物的空间位姿信息,对剩余障碍物的有效性进行判断,具体包括:

基于所述无人车的姿态信息以及所述障碍物的空间位姿信息,针对每一个剩余障碍物,确定障碍物相关信息;所述障碍物相关信息包括障碍物距离无人车最近的障碍物多边形顶点、无人车距离障碍物最近的无人车多边形顶点以及对应的障碍物编号;

基于所述障碍物相关信息以及所述堆栈的堆栈顶元素信息对剩余障碍物的有效性进行判断。

[0010]

可选地,所述安全可行域的生成公式如下:

其中,表示安全可行域集合;A表示无人车指向有效障碍物的向量;表示安全可行域集合内的点;表示围成安全可行域集合的凸多边形;b表示围成安全可行域集合的凸多边形中每一条边的偏移量;表示第个障碍物在行驶环境中的坐标;表示堆栈中第m个元素中的i;表示第个障碍物多边形的第个顶点相对坐标;表示堆栈中第m个元素中的j;表示无人车多边形的第个顶点相对坐标;表示堆栈中第m个元素中的k;表示堆栈的长度。

[0011]

针对上述方法,本发明还提供了一种基于有效障碍物的安全可行域生成系统,包括:

无人车姿态信息采集模块,用于采集无人车的姿态信息,并利用多边形对所述无人车进行描述;

障碍物空间位姿信息采集模块,用于采集障碍物的空间位姿信息,并利用凸多边形对所述障碍物进行描述;

堆栈建立模块,用于建立堆栈,所述堆栈当前为空;

储存模块,用于基于所述无人车的姿态信息以及所述障碍物的空间位姿信息,将第1个障碍物的相关信息储存到所述堆栈中;第1个障碍物的相关信息包括第1个障碍物的编号、第1个障碍物距离无人车最近的障碍物多边形顶点以及无人车距离第1个障碍物最近的无人车多边形顶点;

判断模块,用于基于所述无人车的姿态信息以及所述障碍物的空间位姿信息,对剩余障碍物的有效性进行判断,将有效障碍物的相关信息储存到所述堆栈中;

安全可行域生成模块,用于基于所述堆栈中所有有效障碍物生成安全可行域。

[0012]

可选地,所述无人车的姿态信息的表达式如下:

p=(xego,yego)'

其中,k表示无人车多边形顶点编号;p表示无人车在行驶环境中的坐标;表示无人车在行驶环境中的坐标的横坐标值和纵坐标值;表示无人车多边形的第k个顶点相对坐标;表示无人车多边形顶点集合。

[0013]

可选地所述障碍物的空间位姿信息的表达式如下:

其中,i表示障碍物的编号;qi表示第i个障碍物在行驶环境中的坐标;Wi表示第i个障碍物的外形信息;表示障碍物数量;表示第i个障碍物在行驶环境中的坐标的横坐标值和纵坐标值;表示第i个障碍物多边形的第j个顶点相对坐标;表示第i个障碍物多边形顶点集合;ji表示第i个障碍物多边形的顶点数量。

[0014]

根据本发明提供的具体实施例,本发明公开了以下技术效果:

与常规的安全可行域生成方法不同,本发明并没有将地图中所有的障碍物都用于生成安全可行域,而是考虑障碍物与目标无人车的交互关系,筛除无效障碍物降低安全可行域维度,使得安全可行域维度是小于等于障碍物个数的,在障碍物密集的情况下,效果尤为明显,极大程度上降低了安全可行域维度,安全可行域的维度降低可以提高安全走廊等诸多方法在使用安全可行域时的效率。



The invention discloses a safe feasible region generation method and system based on effective obstacles, and relates to the technical field of unmanned driving. The method comprises the following steps: acquiring attitude information of the unmanned vehicle; acquiring space pose information of the obstacle; establishing a stack, wherein the stack is currently empty; based on the attitude information of the unmanned vehicle and the spatial pose information of the obstacles, storing the related information of the first obstacle in a stack; based on the attitude information of the unmanned vehicle and the spatial pose information of the obstacles, the validity of the remaining obstacles is judged, and the related information of the effective obstacles is stored in a stack; and generating a safety feasible region based on all effective obstacles in the stack. According to the method, the interaction relationship between the obstacles and the target unmanned vehicle is considered, invalid obstacles are screened out, and the safety feasible region dimension is reduced, so that the safety feasible region dimension is smaller than or equal to the number of the obstacles, the effect is particularly obvious under the condition that the obstacles are dense, and the safety feasible region dimension is reduced to a great extent.



0001.

1.一种基于有效障碍物的安全可行域生成方法,其特征在于,包括:

采集无人车的姿态信息,并利用多边形对所述无人车进行描述;

采集障碍物的空间位姿信息,并利用凸多边形对所述障碍物进行描述;

建立堆栈,所述堆栈当前为空;

基于所述无人车的姿态信息以及所述障碍物的空间位姿信息,将第1个障碍物的相关信息储存到所述堆栈中;第1个障碍物的相关信息包括第1个障碍物的编号、第1个障碍物距离无人车最近的障碍物多边形顶点以及无人车距离第1个障碍物最近的无人车多边形顶点;

基于所述无人车的姿态信息以及所述障碍物的空间位姿信息,对剩余障碍物的有效性进行判断,将有效障碍物的相关信息储存到所述堆栈中;

基于所述堆栈中所有有效障碍物生成安全可行域。

0002.

2.根据权利要求1所述的基于有效障碍物的安全可行域生成方法,其特征在于,所述无人车的姿态信息的表达式如下:

p=(xego,yego)'

其中,k表示无人车多边形顶点编号;p表示无人车在行驶环境中的坐标;表示无人车在行驶环境中的坐标的横坐标值和纵坐标值;表示无人车多边形的第k个顶点相对坐标;表示无人车多边形顶点集合。

0003.

3.根据权利要求2所述的基于有效障碍物的安全可行域生成方法,其特征在于,所述障碍物的空间位姿信息的表达式如下:

其中,i表示障碍物的编号;qi表示第i个障碍物在行驶环境中的坐标;Wi表示第i个障碍物的外形信息;表示障碍物数量;表示第i个障碍物在行驶环境中的坐标的横坐标值和纵坐标值;表示第i个障碍物多边形的第j个顶点相对坐标;表示第i个障碍物多边形顶点集合;ji表示第i个障碍物多边形的顶点数量。

0004.

4.根据权利要求1所述的基于有效障碍物的安全可行域生成方法,其特征在于,基于所述无人车的姿态信息以及所述障碍物的空间位姿信息,对剩余障碍物的有效性进行判断,具体包括:

基于所述无人车的姿态信息以及所述障碍物的空间位姿信息,针对每一个剩余障碍物,确定障碍物相关信息;所述障碍物相关信息包括障碍物距离无人车最近的障碍物多边形顶点、无人车距离障碍物最近的无人车多边形顶点以及对应的障碍物编号;

基于所述障碍物相关信息以及所述堆栈的堆栈顶元素信息对剩余障碍物的有效性进行判断。

0005.

5.根据权利要求3所述的基于有效障碍物的安全可行域生成方法,其特征在于,所述安全可行域的生成公式如下:

其中,表示安全可行域集合;A表示无人车指向有效障碍物的向量;表示安全可行域集合内的点;表示围成安全可行域集合的凸多边形;b表示围成安全可行域集合的凸多边形中每一条边的偏移量;表示第个障碍物在行驶环境中的坐标;表示堆栈中第m个元素中的i;表示第个障碍物多边形的第个顶点相对坐标;表示堆栈中第m个元素中的j;表示无人车多边形的第个顶点相对坐标;表示堆栈中第m个元素中的k;表示堆栈的长度。

0006.

6.一种基于有效障碍物的安全可行域生成系统,其特征在于,包括:

无人车姿态信息采集模块,用于采集无人车的姿态信息,并利用多边形对所述无人车进行描述;

障碍物空间位姿信息采集模块,用于采集障碍物的空间位姿信息,并利用凸多边形对所述障碍物进行描述;

堆栈建立模块,用于建立堆栈,所述堆栈当前为空;

储存模块,用于基于所述无人车的姿态信息以及所述障碍物的空间位姿信息,将第1个障碍物的相关信息储存到所述堆栈中;第1个障碍物的相关信息包括第1个障碍物的编号、第1个障碍物距离无人车最近的障碍物多边形顶点以及无人车距离第1个障碍物最近的无人车多边形顶点;

判断模块,用于基于所述无人车的姿态信息以及所述障碍物的空间位姿信息,对剩余障碍物的有效性进行判断,将有效障碍物的相关信息储存到所述堆栈中;

安全可行域生成模块,用于基于所述堆栈中所有有效障碍物生成安全可行域。

0007.

7.根据权利要求6所述的基于有效障碍物的安全可行域生成系统,其特征在于,所述无人车的姿态信息的表达式如下:

p=(xego,yego)'

其中,k表示无人车多边形顶点编号;p表示无人车在行驶环境中的坐标;表示无人车在行驶环境中的坐标的横坐标值和纵坐标值;表示无人车多边形的第k个顶点相对坐标;表示无人车多边形顶点集合。

0008.

8.根据权利要求6所述的基于有效障碍物的安全可行域生成系统,其特征在于,所述障碍物的空间位姿信息的表达式如下:

其中,i表示障碍物的编号;qi表示第i个障碍物在行驶环境中的坐标;Wi表示第i个障碍物的外形信息;表示障碍物数量;表示第i个障碍物在行驶环境中的坐标的横坐标值和纵坐标值;表示第i个障碍物多边形的第j个顶点相对坐标;表示第i个障碍物多边形顶点集合;ji表示第i个障碍物多边形的顶点数量。