轨迹规划的方法、装置、控制器和智能车与流程

文档序号:25731715发布日期:2021-07-02 21:20阅读:116来源:国知局
轨迹规划的方法、装置、控制器和智能车与流程

本申请涉及智能车(smart/inteligentcar)领域,尤其涉及一种自动驾驶(automaticdriving,ads)过程中的轨迹规划的方法、装置、控制器和智能车。



背景技术:

自动驾驶中障碍物感知是指自动驾驶过程中传感器检测自车周围的障碍物信息,是车辆实现自动驾驶的基础。当前检测障碍物的方法主要依赖于车载传感器。通常每辆智能车会利用激光雷达和高精地图相配合的方式确认智能车的障碍物信息,进而规划智能车的行驶轨迹,但是,激光雷达受天气影响比较大,使用场景和精度均存在局限性。另一种方式则是利用摄像头作为检测设备,由于摄像头只能采集二维图像,需要通过复杂的处理过程才能识别图像中物体的类别,但是,又无法识别同一类物体中不同个体,导致摄像头也无法满足智能车在自动驾驶过程对各种复杂场景中障碍物检测的需求,无法合理规划智能车的行驶轨迹,影响自动驾驶的安全性。因此,如何有效检测障碍物进而规划智能车的行驶轨迹成为亟待解决的技术问题。



技术实现要素:

本申请提供一种轨迹规划的方法、装置、控制器和智能车,用以实现有效检测障碍物进而规划智能车的行驶轨迹。

第一方面,本申请提供了一种轨迹规划的方法,方法可以由智能车中的控制器实现。控制器获取多个传感器采集的障碍物数据后,对多个传感器采集的障碍物数据进行去重处理得到目标障碍物的检测结果,最后基于目标障碍物的检测结果进行车辆的轨迹规划,其中,多个传感器包含至少两种类型的传感器。

通过上述方法,可以解决目前无法满足智能车的障碍物检测的需求导致无法合理规划智能车的行驶轨迹的问题。本方法可以结合多个传感器的障碍物数据,全面检测智能车周围的障碍物,并且可以有效去除重复的障碍物,可以用于合理规划智能车的行驶轨迹,提高自动驾驶的安全性。

在一个可能的设计中,控制器对多个传感器采集的障碍物数据进行去重处理得到目标障碍物的检测结果时,具体方法可以为:控制器根据多个传感器的感知范围将多个传感器划分为多个感知组,并根据多个感知组的感知范围组成的最大范围将多个感知组分成多个计算组;然后分别对每个计算组中的传感器采集的障碍物数据进行第一去重处理后,对多个计算组对应的第一去重结果进行第二去重处理,得到第二去重结果;其中,任一个计算组包含至少两个感知组,至少两个感知组的最大范围之间有重叠;任一个感知组包含至少两个传感器,至少两个传感器的类型为至少两种类型,任一个感知组中的传感器的感知范围有重叠;所有感知组中各个传感器的感知范围的总范围覆盖智能车的全景范围。

通过上述方法,控制器可以将多个传感器先划分为感知组,再将感知组划分为计算组,然后同时对几个计算组中的数据做去重处理,最后再对计算组间的数据去重,这样可以同时执行多个去重过程,进而提高障碍物去重精度和效率。

在另一个可能的设计中,控制器对任一个计算组中的传感器采集的障碍物数据进行第一去重处理时,具体方法可以为:控制器对任一个计算组中每个感知组中的传感器采集的障碍物数据进行第一去重处理,然后对任一个计算组中至少两个感知组对应的第一去重结果进行第二去重处理,得到任一个计算组对应的第二去重结果,第二去重结果包括目标障碍物的检测结果。通过上述方法,可以同时对几个感知组中的障碍物数据去重后,再对感知组间的数据去重,可以同时执行过个去重过程,提高去重效率,并且组内去重后再组间去重可以提高去重精度。

在另一个可能的设计中,控制器对任一个感知组中的传感器采集的障碍物数据进行第一去重处理时,具体方法可以为:控制器基于任一个感知组中每个传感器采集的障碍物数据生成每个传感器对应的障碍物属性列表,然后对该感知组中所有传感器分别对应的障碍物属性列表进行融合,得到任一个感知组对应的障碍物属性列表,其中每个传感器对应的障碍物属性列表包含至少一个障碍物的属性。通过上述方法可以把一个感知组中所有传感器识别到的相同障碍物的属性数据合并在一起,使得感知组对应的障碍物属性列表中没有重复的障碍物,进而提高障碍物检测的准确性。

在另一个可能的设计中,控制器基于每个传感器采集的障碍物数据生成每个传感器对应的障碍物属性列表时,具体方法可以为:当传感器为激光雷达时,激光雷达采集的障碍物数据为点云数据,控制器可以先基于预设的虚拟相机参数将点云数据投影到二维rgb图像上,再对投影后得到的二维rgb图像进行实例分割,得到激光雷达对应的障碍物属性列表;当传感器是摄像头时,摄像头采集的障碍物数据为二维rgb图像,控制器可以直接对二维rgb图像进行实例分割,得到摄像头对应的障碍物属性列表。通过上述方法可以分别针对不同类型的传感器得到相应的障碍物属性列表,以便于后续进行障碍物属性数据的融合。

在另一个可能的设计中,控制器对任一个二维rgb图像进行实例分割,得到障碍物属性列表时,具体方法可以为:控制器将二维rgb图像输入预设的实例分割模型,得到实例分割结果后,基于实例分割结果生成障碍物属性列表。通过上述方法,可以通过实例分割模型对传感器对应的二维rgb图像进行分析,确定障碍物的属性,进而得到传感器对应的障碍物属性列表。

在另一个可能的设计中,控制器对任一个感知组中所有传感器分别对应的障碍物属性列表进行融合时,具体方法可以为:从第一障碍物属性列表中第一个未标记融合的障碍物开始,直至第一障碍物属性列表中所有障碍物均标记为“已融合”,分别与第二障碍物属性列表中的障碍物匹配;当第二障碍物属性列表中存在匹配的障碍物时,将障碍物在第一障碍物列表和第二障碍物列表中的属性数据进行合并,以及将障碍物附近的障碍物在第一障碍物列表和第二障碍物列表中的属性数据进行合并,并将障碍物以及障碍物附近的障碍物标记为“已融合”;当第二障碍物属性列表中不存在匹配的障碍物时,将障碍物标记“已融合”;其中,第一障碍物属性列表为任一个感知组中n个传感器对应的障碍物属性列表中a个障碍物属性列表融合后的障碍物属性列表,第二障碍物属性列表为b个障碍物属性列表融合后的障碍物属性列表,n为大于或等于2的整数,a为大于或者等于1的整数,b为大于或者等于1的整数,且a+b=n。通过上述方法,可以将一个感知组中所有传感器识别到的相同障碍物的属性数据合并在一起,使得感知组对应的障碍物属性列表中没有重复的障碍物,进而提高障碍物检测的准确性;并且在融合过程中结合障碍物与附近障碍物之间的关系确定重复的障碍物可以提高去重效率。

在另一个可能的设计中,a个传感器可以相同或者不同类型的传感器;b个传感器可以是相同或者不同类型的传感器。

在另一个可能的设计中,控制器对任一个计算组中至少两个感知组对应的第一去重结果进行第二去重处理,得到任一个计算组对应的第二去重结果时,具体方法可以为:控制器根据每个感知组对应的第一去重结果中障碍物的位置,确定每个感知组对应的感知范围,并根据每个感知组对应的感知范围确定至少两个感知组间的重叠范围;最后对有重叠范围的至少两个感知组对应的第一去重结果进行第二去重处理。通过上述方法,可以将不同感知组间有重复的障碍物去除,以保证一个计算组对应的障碍物没有重复的障碍物,进而提高障碍物检测的准确性。

在另一个可能的设计中,控制器对有重叠范围的至少两个感知组对应的第一去重结果进行第二去重处理时,具体方法可以为:控制器从第三障碍物属性列表中第一个未标记融合的障碍物开始,直至第三障碍物属性列表中所有障碍物均标记为“已融合”,分别与第四障碍物属性列表中的障碍物匹配;当第四障碍物属性列表中存在匹配的障碍物时,将障碍物在第三障碍物列表和第四障碍物列表中的属性数据进行合并,以及将障碍物附近的障碍物在第三障碍物列表和第四障碍物列表中的属性数据进行合并,并将障碍物以及障碍物附近的障碍物标记为“已融合”;当第四障碍物属性列表中不存在匹配的障碍物时,将障碍物标记为“已融合”;其中,第三障碍物属性列表为任一个计算组中m个感知组中c个感知组对应的去重结果融合后的障碍物属性列表,第四障碍物属性列表为d个感知组对应的去重结果融合后的障碍物属性列表,m为大于或者等于2的整数,c为大于或者等于1的整数,d为大于或者等于1的整数,且c+d=m。

通过上述方法,可以将一个计算组中所有感知组对应的相同障碍物的属性数据合并在一起,使得一个计算组对应的障碍物属性列表中没有重复的障碍物,进而提高障碍物检测的准确性;并且在融合过程中结合障碍物与附近障碍物之间的关系确定重复的障碍物可以提高去重效率。

在另一个可能的设计中,控制器对多个计算组对应的第一去重结果进行第二去重处理时,具体方法可以为:控制器从第五障碍物属性列表中第一个未标记融合的障碍物开始,直至第五障碍物属性列表中所有障碍物均标记为“已融合”,分别与第六障碍物属性列表中的障碍物匹配;当第六障碍物属性列表中存在匹配的障碍物时,将障碍物在第五障碍物列表和第六障碍物列表中的属性数据进行合并,以及将障碍物附近的障碍物在第五障碍物列表和第六障碍物列表中的属性数据进行合并,并将障碍物以及障碍物附近的障碍物标记为“已融合”;当第六障碍物属性列表中不存在匹配的障碍物时,将障碍物标记为“已融合”;其中,第五障碍物属性列表为l个计算组对应的障碍物属性列表中e个障碍物属性列表融合后的障碍物属性列表,第六障碍物属性列表为f个障碍物属性列表融合后的障碍物属性列表,l为计算组的总个数,l为大于或等于2的整数,e为大于或者等于1的整数,f为大于或者等于1的整数,且e+f=l。通过上述方法,可以将所有计算组对应的相同障碍物的属性数据合并在一起,使得最终障碍物检测结果对应的障碍物属性列表中没有重复的障碍物,进而提高障碍物检测的准确性;并且在融合过程中结合障碍物与附近障碍物之间的关系确定重复的障碍物可以提高去重效率。

在另一个可能的设计中,当同时满足以下条件时说明存在匹配的障碍物:两个障碍物的时间戳的差小于预设范围、两个障碍物属于同一障碍物类型、两个障碍物的位置偏差在预设范围内且两个障碍物的边框面积有重叠。通过上述方法,可以准确地确定两个障碍物是相同的障碍物,进而对相同的障碍物的属性数据进行合并,以达到障碍物去重的目的。

第二方面,本申请提供了一种轨迹规划的装置,轨迹规划的装置包括用于执行第一方面或第一方面任一种可能设计中的轨迹规划方法的各个模块或单元,例如处理单元和获取单元。

第三方面,本申请提供了一种控制器,控制器包括处理器和存储器,控制器运行时,所述处理器执行所述存储器中所存储的计算机执行计算机程序或指令,以使所述控制器执行如上述第一方面或第一方面任一种可能设计中所示的相应的方法。

第四方面,本申请提供了一种智能车,所述智能车可以包括上述第二方面任一所述的轨迹规划的装置或第三方面中任一所述的智能驾驶域控制器。

第五方面,本申请提供了一种车载系统,所述车载系统可以包括上述涉及的控制器和多个传感器。

第六方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有程序或指令,当其在计算机上运行时,使得计算机执行第一方面或第一方面任一种可能的设计中所述的方法。

第七方面,本申请提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行第一方面或第一方面任一种可的设计中所述的方法。

本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。

附图说明

图1为本申请提供的一种轨迹规划的方法适用的车载系统的架构示意图;

图2为本申请提供的另一种轨迹规划的方法适用的车载系统的架构示意图;

图3为本申请提供的另一种轨迹规划的方法适用的车载系统的架构示意图;

图4为本申请提供的一种轨迹规划的方法的流程图;

图5为本申请提供的一种点云的示意图;

图6为本申请提供的一种maskr-cnn模型的结构示意图;

图7为本申请提供的一种实例分割的示意图;

图8为本申请提供的一种障碍物属性列表的示意图;

图9为本申请提供的一种障碍物属性列表的融合示意图;

图10为本申请提供的一种两个感知组的重叠范围的示意图;

图11为本申请提供的一种轨迹规划的方法的示例的流程图;

图12为本申请提供的一种轨迹规划的装置的结构示意图;

图13为本申请提供的一种控制器的结构图。

具体实施方式

下面将结合附图对本申请作进一步地详细描述。

本申请实施例提供的轨迹规划的方法适用于车载系统,所述车载系统可以部署于智能车中。所述车载系统的架构中至少包括多个传感器和控制器,其中,多个传感器可以包含激光雷达、摄像头和毫米波雷达等中一种或多种。示例性的,图1示出了多个传感器在一辆智能车中的布局示意图。例如,在图1中,所述多个传感器包括激光雷达a、激光雷达b……激光雷达e共5个激光雷达,以及摄像头0-5共6个摄像头。

应理解,图1仅作为一种示例,还可以包括更多或者更少的传感器,也可以包含其他类型的传感器,本申请对此不作限定。

所述多个传感器分别采集环境数据输入到所述控制器中,其中激光雷达采集的数据为点云,摄像头采集的数据为图像。其中,所述多个传感器分别有对应的感知范围,每个传感器的感知范围即为每个传感器对障碍物的探测范围。所述控制器可以基于预设原则将所述多个传感器划分成多个感知组。例如,所述控制器可以根据所述多个传感器的感知范围,将感知范围有重叠的至少两个传感器划分为一个感知组。例如,以图1为例,所述控制器可以将感知范围重叠的一个摄像头和一个激光雷达划分为一个感知组,可以分为以下6组:

感知组(1):摄像头0和激光雷达a;

感知组(2):摄像头3和激光雷达b;

感知组(3):摄像头1和激光雷达a;

感知组(4):摄像头4和激光雷达d;

感知组(5):摄像头2和激光雷达c;

感知组(6):摄像头5和激光雷达e。

所述控制器可以根据感知组内传感器的安装位置判断感知组间总感知范围存在重叠的可能性,然后,将有重叠的两个或者多个感知组的传感器采集的数据分配给一个感知计算单元进行去重处理。例如,将感知组(1)和感知组(2)的数据分配给感知计算单元a,将感知组(3)和感知组(5)的数据分配给感知计算单元b,将感知组(4)和感知组(6)的数据分配给感知计算单元c。

可选地,同一个传感器可以归属于一个感知组,同一个传感器也可以归属于多个感知组。

可选地,所述车载系统的架构中可以包含多个感知计算单元,感知计算单元用于对划分的感知组中的几个感知组中的数据进行去重处理,例如,图1所示的感知计算单元a、b、c。其中,感知计算单元可以是独立于所述控制器以板卡等形式存在,例如,图2所示的车载系统架构示意图中,控制器101与感知计算单元a、b、c的部署关系;感知计算单元也可以部署于所述控制器中,例如,图3所示的车载系统架构示意图中控制器101与感知计算单元a、b、c的部署关系。

其中图2或图3中的控制器101可以分别将感知单元a、b、c处理得到的结果进一步进行去重得到最终的障碍物检测结果,以使后续基于最终的障碍物检测结果进行智能车的轨迹规划。

可选地,控制器101具体由处理器实现,处理器包括中央处理器(centralprocessingunit,cpu)或者具备处理功能的设备或模块。例如,控制器101可以是车载移动数据中心(mobiledatacenter,mdc)。

需要说明的是,图1、图2、图3中控制器、传感器或感知计算单元的数量和布局仅仅为示例,在实际中可以有多种实现方式,本申请此处不作具体限定。其中,图1仅示出了智能车中多个传感器的布局情况,图2和图3分别是在图1的基础上布局了控制器和感知计算单元的情况示意。其中图2中感知计算单元是独立于控制器存在的,也即感知计算单元和控制器独立部署;而图3是感知计算单元作为控制器的一部分,也即将感知计算单元部署在控制器中。在以下的轨迹规划的方案介绍中,以感知计算单元部署于控制器内为例,以控制器为执行主体为例说明。

基于上述描述,本申请实施例提供了一种轨迹规划的方法,适用于图1或3所示的系统。所述方法可以由智能车中的控制器实现。参阅图4所示,所述方法的具体流程可以包括:

步骤401:控制器获取多个传感器采集的障碍物数据;所述多个传感器包含至少两种类型的传感器。

其中,障碍物是能够阻碍或迟滞车辆运动的地形、地物和工程设施等的统称。在本申请中,障碍物可以为人、车、路面基础设施和道路标识等等。

所述多个传感器可以包含激光雷达、摄像头、毫米波雷达等多种类型的传感器。其中,激光雷达采集的障碍物数据是点云,也可以称为点云图像,点云图像可以是三维图像,例如图5所示的点云图像所示。摄像头采集的障碍物数据是图像,具体为二维红r(red)绿g(green)蓝b(blue)图像。毫米波雷达采集的障碍物数据也为点云。

步骤402:所述控制器对所述多个传感器采集的障碍物数据进行去重处理,得到目标障碍物的检测结果。

在一种具体的实施方式中,所述控制器在对所述多个传感器采集的障碍物数据进行去重处理,得到目标障碍物的检测结果时,具体方法可以为:

所述控制器根据所述多个传感器的感知范围,将所述多个传感器划分为多个感知组;其中任一个感知组包含至少两个传感器,所述至少两个传感器的类型为至少两种类型,任一个感知组中的传感器的感知范围有重叠;所有感知组中各个传感器的感知范围的总范围覆盖智能车的全景范围;

所述控制器根据所述多个感知组的感知范围组成的最大范围,将所述多个感知组分成多个计算组;其中,任一个计算组包含至少两个感知组,所述至少两个感知组的最大范围之间有重叠;

所述控制器分别对每个计算组中的传感器采集的障碍物数据进行第一去重处理;

所述控制器对所述多个计算组对应的第一去重结果进行第二去重处理,得到第二去重结果,即得到所述目标障碍物的检测结果。

具体的,根据每种传感器参数,确定该传感器的感知范围,也即对周围环境中障碍物的探测范围。所述控制器根据所述多个传感器的感知范围将所述多个传感器划分为多个感知组时,可以将感知范围存在重叠的传感器划分为一个感知组,其中,感知范围存在重叠的传感器是指两个具有部分重叠的传感器划分至一个传感器组中,部分重叠的范围可以根据具体实施中要求设置不同阈值,控制重叠区域的大小,并基于此进一步划分传感器组。可选的,可以将重叠范围大于预设重叠率的多个传感器划分为一个感知组,其中,预设重叠率是指传感器之间的重叠范围占有重叠的几个传感器的总感知范围的百分比。当然,在实际可以尽可能将重叠率最大的重叠范围的传感器划分为一个感知组。所述控制器具体划分的时候依赖于传感器的在智能车中的安装位置,一般安装位置临近的传感器才会有重叠范围的可能性,例如,图1中的传感器的感知组划分的示例,在每个感知组中均包含一个摄像头和一个激光雷达两种类型的传感器,每个感知组中的传感器的安装位置都很临近,且考虑了尽可能重叠范围最大,且保证所有感知组的总的感知范围覆盖智能车的全景范围,即智能车360度各个角度都覆盖。

在一种示例性的实施方式中,基于组成不同感知组的传感器的安装位置,可以确定各个感知组的传感器的感知范围组成的最大范围,并将感知组间有重叠的至少两个感知组划分为一个计算组,当然感知组间的重叠范围同样可以以预设重叠率作为依据。例如,仍以图1为例,将划分好的感知组(1)和感知组(2)分成一个计算组,将感知组(3)和感知组(5)分成一个计算组,将感知组(4)和感知组(6)分成一个计算组。

进一步地,分成多个计算组之后,所述控制器可以同时分别对所有计算组中的障碍物数据进行去重处理。在一种可选的实施方式中,所述控制器对任一个计算组中的传感器采集的障碍物数据进行去重处理,具体方法可以为:所述控制器对所述任一个计算组中每个感知组中的传感器采集的障碍物数据进行第一去重处理后,对所述任一个计算组中至少两个感知组对应的第一去重结果进行第二去重处理,得到所述任一个计算组对应的第二去重结果。

需要说明的是,第一去重处理是指的感知组内传感器的障碍物的数据进行去重,第二去重处理指的是感知组间数据的去重。在下面的计算组间的数据去重也称为第二去重处理。

需要说明的是,所述控制器中可以包含多个单元或模块,例如,感知计算单元,每一个单元或模块对其中一个计算组进行上述去重处理。

在一种可选的实施方式中,所述控制器对任一个感知组中的传感器采集的障碍物数据进行第一去重处理,具体方法可以为:所述控制器基于所述任一个感知组中每个传感器采集的障碍物数据生成每个传感器对应的障碍物属性列表,每个传感器对应的障碍物属性列表包含至少一个障碍物的属性;并对所述任一个感知组中所有传感器分别对应的障碍物属性列表进行融合,得到所述任一个感知组对应的障碍物属性列表,即得到任一个感知组对应的第一去重结果。

在一种可选的实施方式中,所述控制器在对一个感知组中的每个传感器采集的障碍物数据处理时,基于每个传感器采集的障碍物数据生成所述每个传感器对应的障碍物属性列表具体方法可以为:当传感器为激光雷达时,所述激光雷达采集的障碍物数据为点云数据,基于预设的虚拟相机参数将所述点云数据投影到二维rgb图像上;对投影后得到的二维rgb图像进行实例分割,得到所述激光雷达对应的障碍物属性列表;当传感器是摄像头时,所述摄像头采集的障碍物数据为二维rgb图像,对所述二维rgb图像进行实例分割,得到所述摄像头对应的障碍物属性列表。

在一种示例中,当传感器是激光雷达时,所述控制器基于预设的虚拟相机参数将所述点云数据投影到二维rgb图像上的过程可以为:

(1)预设虚拟相机参数。

相机的定义如c=k[rt],其中r是表示相机的外参旋转的部分,是一个3x3的矩阵,例如r如下矩阵表示:

其中α,β,γ表示相机分别为绕x,y,z轴旋转角度;

t是一个3x1的矩阵,表示相机的平移参数;

k是相机的内参,对相机内参进行标定校准,包括焦距和畸变等参数,例如k如下矩阵所示:

其中,αx,αy为相机的焦距,一般情况下二者相等;γ为坐标轴倾斜参数,理想情况下为0;u0,v0为主点坐标(相对于成像平面)。

(2)基于预设的虚拟相机参数将所述点云数据投影到二维rgb图像上,这里可以采用卡茨(katz)投影方法,当然还可以是其他方法,本申请不作具体限定。

在投影过程中,所述控制器确定点云中的哪些点从相机可见是非常重要的。以katz投影的算法为例。该算法不仅能够删除掉点云中的相机不可见的所有点,还能够消除点云中的相互靠近的点以加速算法。其中,相互靠近的点可以为距离小于预设阈值的点。首先通过在点云中的所有点周围定义一个半径为r的球体并将相机c放置在原点中来执行。点云中的点的球形翻转使用以下公式计算:

其中,为翻转之后点的坐标,pi为翻转前的点的坐标。

所述控制器当确定哪些点可见时,将3d点基于以下公式投影到像素中:其中,为投影到图像上点的坐标,c为定义的相机参数。

因为存在多个点投影到同一个像素中,所述控制器通过下面的高斯函数来计算不同点云投影到相应图像像素中的权重大小:

其中dist表示像素和点位置之间的距离。

在一种可选的实施方式中,所述控制器对激光雷达的点云数据投影后得到的二维rgb图像进行实例分割,得到所述激光雷达对应的障碍物属性列表,与对摄像头采集得到的二维rgb图像进行实例分割,得到所述摄像头对应的障碍物属性列表的方法相同。具体的,对任一个二维rgb图像进行实例分割时,具体可以采用maskr-cnn模型对二维rgb图像进行实例分割。其中,maskr-cnn模型的结构可以如图6所示,其中:

卷积神经网络(convolutionalneuralnetwork,cnn):是一系列的卷积层用于提取图像的特征图(featuremaps),比如可以是vgg16,vgg19,goolenet,resnet50,resnet101等,常用是resnet101的结构;

区域推荐的网络(regionproposalnetwork,rpn),用于帮助网络推荐感兴趣的区域将感兴趣区域的featuremaps提取出来;

全连接层(fullconnecetedlayers)识别每个固定尺寸特征图(fixedsizefeaturemap)上障碍物类别和框位置;

mask分支(maskbranch),进行语义分割。

具体的,控制器可以将二维rgb图像输入上述maskr-cnn模型中,得到实例分割结果。示例性的,实例分割结果可以包含障碍物的类别、障碍物的轮廓、障碍物的矩形框等等。

示例性的,图7示出了一种实例分割的示意图,图7中(a)为二维rgb图像,图7中(b)为maskr-cnn模型示意,图7中(c)为实例分割结果。

进一步地,所述控制器可以根据实例分割结果得到传感器对应的障碍物属性列表。例如,任一个障碍物属性列表可以包括障碍物的标识(identity,id)、时间戳、障碍物类别(例如,人或车等)、障碍物的位置和障碍物大小(长和宽)等;可选的,任一个障碍物列表还可以包括以下至少一项:障碍物轮廓、与附近障碍物之间的关系、相对速度、障碍物位姿(例如车头朝向)。其中,障碍物的位置可以为障碍物的中心点坐标,可以用二维坐标表示,也可以用三维坐标表示;与附近障碍物的关系可以由该障碍物的中心点指向附近障碍物的中心点的向量表示。

例如,以图1中摄像头1和激光雷达b组成的感知组(2)为例,参阅图8所示,三角形内的区域表示摄像头3的感知范围,可知其感知范围内包含两个人p1、p2和一辆车即车1(car1);而激光雷达b的感知范围为360度,扣除自车部分,激光雷达b感知到的障碍物有两个人p1、p2和两辆车即车1(car1),车2(car2)。分别对激光雷达b和摄像头a采集的数据进行处理生成的各自的障碍物属性列表分别如图8中列表所示。其中,障碍物属性列表中仅以一部分属性示例,并不代表全部。与附近障碍物间关系由该障碍物中心指向附近障碍物中心向量表示。示例性的,在该举例中,以人p1为例,以其中心为圆点,以r为半径画圆,该圆内包含了除自身外的其他障碍物为p2和car1,则p1与附近障碍物的关系可以表示为以p1中心为原点指向p2和car1中心的向量。

在一种可选的实施方式中,所述控制器对任一个感知组中所有传感器分别对应的障碍物属性列表进行融合,具体方法可以为:所述控制器从第一障碍物属性列表中第一个未标记融合的障碍物开始,直至所述第一障碍物属性列表中所有障碍物均标记为“已融合”,分别与第二障碍物属性列表中的障碍物匹配;当所述第二障碍物属性列表中存在匹配的障碍物时,将所述障碍物在所述第一障碍物列表和所述第二障碍物列表中的属性数据进行合并,以及将所述障碍物附近的障碍物在所述第一障碍物列表和所述第二障碍物列表中的属性数据进行合并,并将所述障碍物以及所述障碍物附近的障碍物标记为“已融合”;当所述第二障碍物属性列表中不存在匹配的障碍物时,将所述障碍物标记为“已融合”;其中,所述第一障碍物属性列表为所述任一个感知组中n个传感器对应的障碍物属性列表中a个障碍物属性列表融合后的障碍物属性列表,所述第二障碍物属性列表为b个障碍物属性列表融合后的障碍物属性列表,n为大于或等于2的整数,a为大于或者等于1的整数,b为大于或者等于1的整数,且a+b=n。

具体的,当n等于2的时候,也就是一个感知组中只有两个传感器,例如激光雷达和摄像头,此时,第一障碍物属性列表为激光雷达点云处理得到的障碍物属性列表和摄像头的图像得到的障碍物属性列表中的任一个,第二障碍物属性列表为另一个。以第一障碍物列表为摄像头的图像生成的列表为例进行说明:从图像生成的障碍物属性列表中的第一个未标记融合的障碍物与点云生成的障碍物属性列表中的障碍物匹配的时候,具体可以遵循以下原则:先判断两个障碍物的时间戳差是否在预设范围内,如果没有在预设范围内,则表示没有匹配上,直接将点云得到的障碍物属性列表中相应障碍物标记为“已融合”,认为该障碍物没有与其重复的障碍物;如果在预设范围内,则进一步确定两个障碍物的类型是否相同,若类型不相同,则认为没有匹配上,将点云得到的障碍物属性列表中相应障碍物标记为“已融合”,认为该障碍物没有与其重复的障碍物;若类型相同,则进一步确定两个障碍物的位置偏差是否在预设范围内;如果没有在预设范围内,则认为没有匹配上,将点云得到的障碍物属性列表中相应障碍物标记为“已融合”,认为该障碍物没有与其重复的障碍物;如果在预设范围内,则进一步根据障碍物的大小(长和宽)计算障碍物矩形框的面积是否达到预设的重叠度,若没有达到预设的重叠度则认为没有匹配上,将点云得到的障碍物属性列表中相应障碍物标记为“已融合”,认为该障碍物没有与其重复的障碍物;若达到预设的重叠度,则认为两个障碍物相匹配,也就是找到了匹配的障碍物,则将这两个障碍物均标记“已融合”。

当然,可选的,为了匹配更加准确,除了上述条件,还可以继续通过其它障碍物属性进行判断是否匹配,例如与附件障碍物的关系是否一致等等,具体匹配方法类似,本申请此处不再详细描述。

在一种可选的实施方式中,当上述两个障碍物列表中的两个障碍物匹配上后,为了节省计算过程,可以根据各自与附近障碍物的关系对各自附件障碍物进行匹配。例如,图8中的a1和b3匹配上之后,对a1附近的障碍物a2的匹配过程为例,可以分别用公式计算a2与b2、b1的误差值δd1和δd2,判断两者最小值且其小于阈值d,则认为两者匹配上。其中,dai为a1与附近障碍物关系向量,dbj为b3与附近障碍物关系向量。x为关系向量x轴方向数值,y为关系向量y轴方向数值。

基于上述匹配结果,分别将匹配上的两个障碍物的属性数据进行融合,也即进行属性数据合并的过程,这样可以将相同的障碍物的属性数据合并成一个障碍物的属性数据,使合并后不存在相同的障碍物,达到去重目的。

之后重复上述过程,直至点云生成的障碍物属性列表中所有障碍物均被标记已融合,这样就可以将两个列表中的所有数据进行合并完成,合并成一个障碍物属性列表,合并后的障碍物属性列表中没有重复的障碍物。例如,图9所示的融合过程示意图,最终融合后a1和b3融合,a2和b2融合,a3和b1融合,a4保持不变,这样融合后的障碍物属性列表包含4个障碍物的属性数据。得到的该融合后的障碍物的属性列表即可为一个感知组对应的属性列表。

在一种可选的实施方式中,在两个障碍物的数据进行融合前,所述控制器可以先根据时间戳的差δt对时间戳晚的障碍物的位置x根据其速度v进行预测补偿,公式如下:x=x+δt*v,然后在融合位置的时候对补偿后的位置进行融合。

上边是当n等于2的时候,也就是一个感知组中只有两个传感器的时候的情况,当n大于或等于3的时候,也即一个感知组中有3个或3个以上的传感器的时候,可以先将任意两个传感器对应的障碍物属性列表进行融合,然后将融合后得到的障碍物属性列表再与剩余的传感器中任一个传感器对应的障碍物属性列表进行融合,直至将所有传感器对应的障碍物属性列表融合成一个障碍物属性列表为止。当然,也可以先将多个传感器的障碍物属性列表中进行两两融合后,再将融合后的障碍物属性列表进行两两融合,直至得到一个障碍物属性列表为止。这里可以将最后一步融合的两个障碍物属性列表分别作为第一障碍物属性列表和第二障碍物属性列表。当然,还可以将多个传感器中相同类型的传感器的障碍物属性列表进行融合后,将得到的两个障碍物属性列表再进行融合。当然,还可以通过其他多种方法,只要可以实现将所有障碍物属性列表融合成一个障碍物属性列表的方法都可以使用,本申请对此不作限定。具体的,任意两个障碍物属性列表的融合方法与上述描述的n等于2时的两个障碍物属性列表的融合后方法相同,可以相互参见,此处不再详细描述。在一种可选的实施方式中,在两两融合的过程中,可以依据先将相同类型传感器的障碍物属性列表进行融合,再与不同类型的传感器的障碍物属性列表进行融合。

通过上述方法,就可以得到每个感知组对应的一个障碍物属性列表,也即得到了每个感知组的第一去重结果,达到了感知组内去重的目的。在一种可选的实施方式中,所述控制器对所述任一个计算组中至少两个感知组对应的第一去重结果进行第二去重处理,具体方法可以为:所述控制器根据每个感知组对应的第一去重结果中障碍物的位置,确定每个感知组对应的感知范围;所述控制器根据每个感知组对应的感知范围确定所述至少两个感知组间的重叠范围,并对有重叠范围的至少两个感知组对应的第一去重结果进行第二去重处理。

在一种可选的实施方式中,所述控制器根据每个感知组对应的第一去重结果中障碍物的位置,确定每个感知组对应的感知范围,具体方法可以为:所述控制器将每个感知组对应的障碍物投影到自车三维坐标系中,根据障碍物中心点坐标确定每个感知组障碍物感知范围;其中,自车三维坐标系可以为以车辆的后轴中心为原点,z轴垂直于水平方向上,x轴正向指向车头,y轴为水平方向。

在一种可选的实施方式中,所述控制器可以根据以下公式将每个感知组中的障碍物的中心点投影到自车三维坐标系中的

其中α、β、γ分别为原来障碍物坐标系变化到自车坐标系xyz轴旋转角度,txyz为坐标系变化中的xyz轴的平移矩阵。

在一种可选的实施方式中,所述控制器根据障碍物中心点坐标确定每个感知组障碍物感知范围,可以将每个障碍物的中心点为原点,以预设半径为半径的圆形区域总体覆盖的范围作为每个感知组的障碍物感知范围。进一步地,结合每个感知组中传感器的安装位置,根据经验值判断感知组的重叠范围。例如,有重叠的两个感知组的重叠范围可以如图10所示。

在一种可选的实施方式中,所述控制器对有重叠范围的至少两个感知组对应的第一去重结果进行第二去重处理,具体方法可以为:所述控制器从第三障碍物属性列表中第一个未标记融合的障碍物开始,直至所述第三障碍物属性列表中所有障碍物均标记为“已融合”,分别与第四障碍物属性列表中的障碍物匹配;当所述第四障碍物属性列表中存在匹配的障碍物时,将所述障碍物在所述第三障碍物列表和所述第四障碍物列表中的属性数据进行合并,以及将所述障碍物附近的障碍物在所述第三障碍物列表和所述第四障碍物列表中的属性数据进行合并,并将所述障碍物以及所述障碍物附近的障碍物标记为“已融合”;当所述第四障碍物属性列表中不存在匹配的障碍物时,将所述障碍物标记为“已融合”;其中,所述第三障碍物属性列表为任一个计算组中m个感知组中c个感知组对应的去重结果融合后的障碍物属性列表,所述第四障碍物属性列表为d个感知组对应的去重结果融合后的障碍物属性列表,m为大于或者等于2的整数,c为大于或者等于1的整数,d为大于或者等于1的整数,且c+d=m。

具体的,当m等于2时,也就是一个计算组中有两个感知组,一个感知组对应的障碍物属性列表为第三障碍物属性列表,另一个感知组对应的障碍物属性列表为第四障碍物属性列表。具体对两个障碍物属性列表融合的具体过程描述可以参见上述感知组内有两个传感器(即n等于2)的情况下两个障碍物属性列表融合的具体过程,原理类似,这里不再详细描述。

当m大于或等于3的时候,也即一个计算组中有3个或3个以上的感知组的时候,可以先将任意两个感知组对应的障碍物属性列表进行融合,然后将融合后得到的障碍物属性列表再与剩余的感知组中任一个感知组对应的障碍物属性列表进行融合,直至将所有感知组对应的障碍物属性列表融合成一个障碍物属性列表为止。当然,也可以先将多个感知组的障碍物属性列表中进行两两融合后,再将融合后的障碍物属性列表进行两两融合,直至得到一个障碍物属性列表为止。这里可以将最后一步融合的两个障碍物属性列表分别作为第三障碍物属性列表和第四障碍物属性列表。当然,还可以通过其他多种方法,只要可以实现将所有障碍物属性列表融合成一个障碍物属性列表的方法都可以使用,本申请对此不作限定。具体的,任意两个障碍物属性列表的融合方法与上述描述的n等于2时的两个障碍物属性列表的融合的原理相同,可以相互参见,此处不再详细描述。

基于上述方法,就可以得到每个计算组对应的一个障碍物属性列表,也即得到了每个计算组的第一去重结果,达到了感知组间去重的目的。在一种可选的实施方式中,所述控制器对所述多个计算组对应的第一去重结果进行第二去重处理具体方法可以为:所述控制器从第五障碍物属性列表中第一个未标记融合的障碍物开始,直至所述第五障碍物属性列表中所有障碍物均标记为“已融合”;分别与第六障碍物属性列表中的障碍物匹配;当所述第六障碍物属性列表中存在匹配的障碍物时,将所述障碍物在所述第五障碍物列表和所述第六障碍物列表中的属性数据进行合并,以及将所述障碍物附近的障碍物在所述第五障碍物列表和所述第六障碍物列表中的属性数据进行合并,并将所述障碍物以及所述障碍物附近的障碍物标记为“已融合”;当所述第六障碍物属性列表中不存在匹配的障碍物时,将所述障碍物标记为“已融合”;其中,所述第五障碍物属性列表为l个计算组对应的障碍物属性列表中e个障碍物属性列表融合后的障碍物属性列表,所述第六障碍物属性列表为f个障碍物属性列表融合后的障碍物属性列表,l为计算组的总个数,l为大于或等于2的整数,e为大于或者等于1的整数,f为大于或者等于1的整数,且e+f=l。

具体的,当l等于2时,也就是共有2个计算组,一个计算组对应的障碍物属性列表为第五障碍物属性列表,另一个计算知组对应的障碍物属性列表为第六障碍物属性列表。具体对两个障碍物属性列表融合的具体过程描述可以参见上述感知组内有两个传感器(即n等于2)的情况下两个障碍物属性列表融合的具体过程,原理类似,这里不再详细描述。

当l大于或等于3的时候,也即一共有3个或3个以上的计算组的时候,可以先将任意两个计算组对应的障碍物属性列表进行融合,然后将融合后得到的障碍物属性列表再与剩余的感知组中任一个计算组对应的障碍物属性列表进行融合,直至将所有计算组对应的障碍物属性列表融合成一个障碍物属性列表为止。当然,也可以先将多个计算组的障碍物属性列表中进行两两融合后,再将融合后的障碍物属性列表进行两两融合,直至得到一个障碍物属性列表为止。这里可以将最后一步融合的两个障碍物属性列表分别作为第五障碍物属性列表和第六障碍物属性列表。当然,还可以通过其他多种方法,只要可以实现将所有障碍物属性列表融合成一个障碍物属性列表的方法都可以使用,本申请对此不作限定。具体的,任意两个障碍物属性列表的融合方法与上述描述的n等于2时的两个障碍物属性列表的融合的原理相同,可以相互参见,此处不再详细描述。

基于上述方法,达到了计算组间去重的目的,就可以得到自车对应的一个障碍物属性列表,进而可以得到目标障碍物的检测结果,以使进行车辆的轨迹规划。

步骤403:所述控制器基于所述目标障碍物的检测结果进行车辆的轨迹规划。

具体的,所述目标障碍物的检测结果中包含了智能车周围所有障碍物的数据,且障碍物没有重复,这样在进行车辆的轨迹规划时,就可以参考比较准确的障碍物数据,也会使得轨迹规划比较准确,提高安全性。

采用上述方法,在智能车行驶过程中,智能车的控制器可以实现对多个传感器采集的障碍物数据进行去重,从而得到有效的目标障碍物的检测结果,进而实现基于目标障碍物的检测结果进行智能车的轨迹规划。可以解决目前不能有效检测障碍物的问题。还可以解决目前多个传感器场景中多个传感器采集的障碍物有重叠时导致轨迹规划不准确的问题。在上述去重过程中,可以结合传感器的感知范围之间的重叠关系提出分组方式,将传感器分成的感知组继续分组后,同时对感知组内数据去重,然后感知组间数据去重,最后再计算组间数据去重,通过上述去重过程可以保证去重效果比较显著,提高去重精度,使得去重结果更加精确,从而可以使基于去重结果进行的轨迹规划也比较准确,提升智能车的行驶安全;并且,在去重过程中可以考虑与附近障碍物的关系,可以减少流程,并且由于划分了多个感知组,可以通过先组内后组间的数据去重实现障碍物去重的准确性,并且可以同时对多个感知组中的数据进行处理,可以提高对多障碍物去重的处理效率。并且,本申请方法考虑了车内所有传感器采集的障碍物数据,感知范围综合可以覆盖智能车全景范围,从而可以提供更全面的障碍物数据,更有利于智能车的自动驾驶决策。

需要说明的说是,本申请的轨迹规划方法在适用于图2所示的系统时,控制器101执行上述步骤401和步骤403以及步骤402中分组的操作,感知计算单元分别执行对一个计算组中传感器采集的障碍物数据进行第一去重处理的过程,由于原理相同,此处不再详细展开描述。

基于以上实施例,下面以一个具体的示例对本申请提供的一种障碍物检测的方法进行说明。以图3为例,假设智能车内的多个传感器的类型和分布如图3所示。参阅图11所示,具体控制器的执行流程具体可以为:

步骤1101:所述控制器获取多个传感器采集的障碍物数据。

具体的,在该示例中,所述控制器获取的多个传感器采集的障碍物数据包括摄像头0-摄像头5采集的图像和激光雷达a-激光雷达e采集的点云。

步骤1102:所述控制器根据所述多个传感器的感知范围,将感知范围重叠的一个摄像头和一个将光雷达分为一个感知组,最后得到以下六个感知组:

感知组(1):摄像头0和激光雷达a;

感知组(2):摄像头3和激光雷达b;

感知组(3):摄像头1和激光雷达a;

感知组(4):摄像头4和激光雷达d;

感知组(5):摄像头2和激光雷达c;

感知组(6):摄像头5和激光雷达e。

步骤1103:所述控制器根据六个感知组的感知范围将六个感知组分成三个计算组,其中,感知组(1)和感知组(2)分成一个计算组,将感知组(3)和感知组(5)分成一个计算组,将感知组(4)和感知组(6)分成一个计算组。

之后控制器通过感知计算单元a对感知组(1)和感知组(2)组成的计算组中的数据进行去重处理,通过感知计算单元b对感知组(3)和感知组(5)组成的计算组中的数据进行去重处理,通过感知计算单元c对感知组(4)和感知组(6)组成的计算组中的数据进行去重处理,上述三个过程同时进行。下面以控制器通过感知计算单元a进行的计算过程为例继续上述步骤进行说明:所述控制器通过感知计算单元a对感知组(1)中激光雷达a的点云和摄像头0的数据进行去重处理,具体执行:

步骤1104:所述控制器的感知计算单元a判断障碍物数据是否为图像,如果是则执行步骤1105,否则执行步骤1106。

步骤1105:所述控制器通过感知计算单元a采用maskr-cnn模型对图像进行实例分割,然后执行步骤1108。

步骤1106:所述控制器通过感知计算单元a将点云投影到二维rgb图像上。

具体的投影过程可以参见上述步骤402中对点云投影的具体描述,此处不再详述。

步骤1107:所述控制器通过感知计算单元a对投影后的二维rgb图像进行实例分割。

步骤1108:所述控制器通过感知计算单元a分别基于实例分割结果得到激光雷达对应的障碍物属性列表或摄像头对应的障碍物属性列表。

步骤1109:所述控制器通过感知计算单元a选取摄像头对应的障碍物属性列表中第一个未标记融合的障碍物,与激光雷达对应的障碍物属性列表中的障碍物进行匹配。

步骤1110:所述控制器通过感知计算单元a判断时间戳的差是否在预设范围,例如是否小于或者等于0.4毫秒(ms),若是,执行步骤1112,否则执行步骤1111。

步骤1111:所述控制器通过感知计算单元a标记已融合,或者标记未匹配到障碍物,或者其他标记形式,然后执行步骤1115。

步骤1112:所述控制器通过感知计算单元a判断障碍物类型是否相同,若是则执行步骤1113,否则执行步骤1111。

步骤1113:所述控制器通过感知计算单元a判断障碍物位置偏差是否在预设范围内,若是则执行步骤1114,否则执行步骤1111。

步骤1114:所述控制器通过感知计算单元a基于障碍物的大小(长和宽)计算障碍物矩形框的面积是否达到预设的重叠度,若是,则执行步骤1115,否则执行步骤1111。

步骤1115:所述控制器通过感知计算单元a将匹配到的障碍物以及将附近的障碍物的属性数据进行融合,并标记为已融合。

例如,将图9中将匹配到的障碍物a1和b3融合,以及将附件的障碍物a2和b2融合。

步骤1116:所述控制器通过感知计算单元a判断摄像头对应的障碍物属性列表中所有障碍物是否全部被标记,若是则执行步骤1117,否则执行步骤1109。

步骤1117:所述控制器通过感知计算单元a将激光雷达对应的障碍物属性列表中未被标记的障碍物的属性数据添加到融合后的障碍物属性列表中。

这里融合后的障碍物列表即为感知组(1)对应的障碍物属性列表。

同样的,所述控制器通过感知计算单元a对感知组(2)中激光雷达b的点云和摄像头3的数据进行去重处理,得到感知组(2)对应的障碍物属性列表的过程,同样可以参见上述步骤1104-步骤1117的过程,此处不在详细描述。

步骤1118:所述控制器通过感知计算单元a判断所有感知组(这里即为感知组(1)和感知组(2))中的障碍物属性列表是否融合完成,若是,则执行步骤1119,否则执行步骤1109。

步骤1119:所述控制器通过感知计算单元a将每个感知组对应的障碍物投影到自车三维坐标系中,根据障碍物中心点坐标确定每个感知组障碍物感知范围。

具体投影过程可以参见上述步骤402中涉及的内容,此处不再详细描述。

步骤1120:所述控制器通过感知计算单元a确定两个感知组的重叠范围。

步骤1121:所述控制器通过感知计算单元a对有重叠的两个感知组对应的障碍物属性列表进行去重处理。

具体的,两个感知组间的障碍物属性列表的去重融合过程,原理与上述对两个传感器对应的障碍物属性列表的融合过程相同,可以参见上述步骤1109-步骤1117的过程,不同的是,上述步骤中提到的摄像头对应的障碍物属性列表和激光雷达对应的障碍物属性列表分别为两个感知组对应的障碍物属性列表,得到的结果是两个感知组组成的计算组对应的障碍物属性列表,此处不再详细描述。

同样的,所述控制器通过感知计算单元b对感知组(3)和感知组(5)组成的计算组中的数据进行去重处理,通过感知计算单元c对感知组(4)和感知组(6)组成的计算组中的数据进行去重处理的方法,与所述控制器通过感知计算单元a对感知组(1)中激光雷达a的点云和摄像头0的数据进行去重处理的方法相同,可以互相参见,此处不再详细描述。

步骤1122:所述控制器判断是否所有计算组中的所有感知组间的障碍物属性列表融合完成,若是,则执行步骤1123,否则执行步骤1121。

步骤1123:所述控制器将通过感知计算单元a处理得到的障碍物属性列表和通过感知计算单元b处理得到的障碍物属性列表进行融合,得到第七障碍物属性列表。

步骤1124:所述控制器将所述第七障碍物属性列表和通过感知计算单元c处理得到的障碍物属性列表进行融合,得到目标障碍的检测结果。

具体的,步骤1123和步骤1124中的融合过程,原理与对两个传感器对应的障碍物属性列表进行去重的过程相同,可以参见上述步骤1109-步骤1117的过程,此处不再详细描述。

在一种可选的实施方式中,所述控制器也可以先将通过感知计算单元a处理得到的障碍物属性列表和通过感知计算单元c处理得到的障碍物属性列表进行融合,再与通过感知计算单元b处理得到的障碍物属性列表进行融合;或者所述控制器也可以先将通过感知计算单元b处理得到的障碍物属性列表和通过感知计算单元c处理得到的障碍物属性列表进行融合,再与通过感知计算单元a处理得到的障碍物属性列表进行融合,对此本申请不做限定。

步骤1225:所述控制器基于所述目标障碍物的检测结果进行车辆的轨迹规划。

通过上述方法,在智能车行驶过程中,智能车的控制器可以实现对多个传感器采集的障碍物数据进行去重,从而得到有效的目标障碍物的检测结果,进而实现基于目标障碍物的检测结果进行智能车的轨迹规划。可以解决目前不能有效检测障碍物的问题。还可以解决目前多个传感器场景中多个传感器采集的障碍物有重叠时导致轨迹规划不准确的问题。在上述去重过程中,可以结合传感器的感知范围之间的重叠关系提出分组方式,将传感器分成的感知组继续分组后,同时对感知组内数据去重,然后感知组间数据去重,最后再计算组间数据去重,通过上述去重过程可以保证去重效果比较显著,提高去重精度,使得去重结果更加精确,从而可以使基于去重结果进行的轨迹规划也比较准确,提升智能车的行驶安全。并且由于划分了多个感知组,可以通过先组内后组间的数据去重实现障碍物去重的准确性,并且可以同时对多个感知组中的数据进行处理,可以提高对多障碍物去重的处理效率。并且,本申请方法考虑了车内所有传感器采集的障碍物数据,感知范围综合可以覆盖智能车全景范围,从而可以提供更全面的障碍物数据,更有利于智能车的自动驾驶决策。

上文中结合图1至图11,详细描述了本申请所提供的轨迹规划的方法,下面将结合图12和图13,描述本申请所提供的轨迹规划的装置、控制器和智能车。

图12为本申请提供的一种轨迹规划的装置的结构示意图,如图所示,所述轨迹规划的装置1200可以包括获取单元1201和检测单元1202,具体的:

所述获取单元1201,用于获取多个传感器采集的障碍物数据;所述多个传感器包含至少两种类型的传感器;所述检测单元1202,用于对所述多个传感器采集的障碍物数据进行去重处理,得到目标障碍物的检测结果,并基于所述目标障碍物的检测结果进行车辆的轨迹规划。

可选地,所述检测单元1202在对所述多个传感器采集的障碍物数据进行去重处理,得到目标障碍物的检测结果时,具体用于:根据所述多个传感器的感知范围,将所述多个传感器划分为多个感知组;其中任一个感知组包含至少两个传感器,所述至少两个传感器的类型为至少两种类型,任一个感知组中的传感器的感知范围有重叠;所有感知组中各个传感器的感知范围的总范围覆盖智能车的全景范围;根据所述多个感知组的感知范围组成的最大范围,将所述多个感知组分成多个计算组;其中,任一个计算组包含至少两个感知组,所述至少两个感知组的最大范围之间有重叠;分别对每个计算组中的传感器采集的障碍物数据进行第一去重处理;对所述多个计算组对应的第一去重结果进行第二去重处理,得到第二去重结果。

可选地,所述检测单元1202在对任一个计算组中的传感器采集的障碍物数据进行第一去重处理时,具体用于:对所述任一个计算组中每个感知组中的传感器采集的障碍物数据进行所述第一去重处理;对所述任一个计算组中至少两个感知组对应的所述第一去重结果进行所述第二去重处理,得到所述任一个计算组对应的第二去重结果,所述第二去重结果包括所述目标障碍物的检测结果。

可选地,所述检测单元1202在对任一个感知组中的传感器采集的障碍物数据进行第一去重处理时,具体用于:基于所述任一个感知组中每个传感器采集的障碍物数据生成每个传感器对应的障碍物属性列表,每个传感器对应的障碍物属性列表包含至少一个障碍物的属性;对所述任一个感知组中所有传感器分别对应的障碍物属性列表进行融合,得到所述任一个感知组对应的障碍物属性列表。

可选地,所述检测单元1202在基于每个传感器采集的障碍物数据生成所述每个传感器对应的障碍物属性列表时,具体用于:当传感器为激光雷达时,所述激光雷达采集的障碍物数据为点云数据,基于预设的虚拟相机参数将所述点云数据投影到二维rgb图像上;对投影后得到的二维rgb图像进行实例分割,得到所述激光雷达对应的障碍物属性列表;当传感器是摄像头时,所述摄像头采集的障碍物数据为二维rgb图像,对所述二维rgb图像进行实例分割,得到所述摄像头对应的障碍物属性列表。

可选地,所述检测单元1202在对任一个二维rgb图像进行实例分割,得到障碍物属性列表时,具体用于:将二维rgb图像输入预设的实例分割模型,得到实例分割结果;基于所述实例分割结果生成障碍物属性列表。

可选地,所述检测单元1202在对所述任一个感知组中所有传感器分别对应的障碍物属性列表进行融合时,具体用于:从第一障碍物属性列表中第一个未标记融合的障碍物开始,直至所述第一障碍物属性列表中所有障碍物均标记为“已融合”,分别与第二障碍物属性列表中的障碍物匹配;当所述第二障碍物属性列表中存在匹配的障碍物时,将所述障碍物在所述第一障碍物列表和所述第二障碍物列表中的属性数据进行合并,以及将所述障碍物附近的障碍物在所述第一障碍物列表和所述第二障碍物列表中的属性数据进行合并,并将所述障碍物以及所述障碍物附近的障碍物标记为“已融合”;当所述第二障碍物属性列表中不存在匹配的障碍物时,将所述障碍物标记“已融合”;其中,所述第一障碍物属性列表为所述任一个感知组中n个传感器对应的障碍物属性列表中a个障碍物属性列表融合后的障碍物属性列表,所述第二障碍物属性列表为b个障碍物属性列表融合后的障碍物属性列表,n为大于或等于2的整数,a为大于或者等于1的整数,b为大于或者等于1的整数,且a+b=n。

可选地,所述检测单元1202在对所述任一个计算组中至少两个感知组对应的第一去重结果进行第二去重处理,得到所述任一个计算组对应的第二去重结果时,具体用于:根据每个感知组对应的第一去重结果中障碍物的位置,确定每个感知组对应的感知范围;根据每个感知组对应的感知范围确定所述至少两个感知组间的重叠范围;对有重叠范围的至少两个感知组对应的第一去重结果进行第二去重处理。

可选地,所述检测单元1202在对有重叠范围的至少两个感知组对应的第一去重结果进行第二去重处理时,具体用于:从第三障碍物属性列表中第一个未标记融合的障碍物开始,直至所述第三障碍物属性列表中所有障碍物均标记为“已融合”,分别与第四障碍物属性列表中的障碍物匹配;当所述第四障碍物属性列表中存在匹配的障碍物时,将所述障碍物在所述第三障碍物列表和所述第四障碍物列表中的属性数据进行合并,以及将所述障碍物附近的障碍物在所述第三障碍物列表和所述第四障碍物列表中的属性数据进行合并,并将所述障碍物以及所述障碍物附近的障碍物标记为“已融合”;当所述第四障碍物属性列表中不存在匹配的障碍物时,将所述障碍物标记为“已融合”;其中,所述第三障碍物属性列表为任一个计算组中m个感知组中c个感知组对应的去重结果融合后的障碍物属性列表,所述第四障碍物属性列表为d个感知组对应的去重结果融合后的障碍物属性列表,m为大于或者等于2的整数,c为大于或者等于1的整数,d为大于或者等于1的整数,且c+d=m。

可选地,所述检测单元1202在对所述多个计算组对应的第一去重结果进行第二去重处理时,具体用于:从第五障碍物属性列表中第一个未标记融合的障碍物开始,直至所述第五障碍物属性列表中所有障碍物均标记为“已融合”,分别与第六障碍物属性列表中的障碍物匹配;当所述第六障碍物属性列表中存在匹配的障碍物时,将所述障碍物在所述第五障碍物列表和所述第六障碍物列表中的属性数据进行合并,以及将所述障碍物附近的障碍物在所述第五障碍物列表和所述第六障碍物列表中的属性数据进行合并,并将所述障碍物以及所述障碍物附近的障碍物标记为“已融合”;当所述第六障碍物属性列表中不存在匹配的障碍物时,将所述障碍物标记为“已融合”;其中,所述第五障碍物属性列表为l个计算组对应的障碍物属性列表中e个障碍物属性列表融合后的障碍物属性列表,所述第六障碍物属性列表为f个障碍物属性列表融合后的障碍物属性列表,l为计算组的总个数,l为大于或等于2的整数,e为大于或者等于1的整数,f为大于或者等于1的整数,且e+f=l。

可选地,若满足以下条件则存在匹配的障碍物:两个障碍物的时间戳的差小于预设范围、两个障碍物属于同一障碍物类型、两个障碍物的位置偏差在预设范围内且两个障碍物的边框面积有重叠。

应理解的是,本申请实施例的轨迹规划的装置1200可以通过专用集成电路(application-specificintegratedcircuit,asic)实现,或可编程逻辑器件(programmablelogicdevice,pld)实现,上述pld可以是复杂程序逻辑器件(complexprogrammablelogicaldevice,cpld),现场可编程门阵列(field-programmablegatearray,fpga),通用阵列逻辑(genericarraylogic,gal)或其任意组合。也可以通过软件实现图4或图11所示的轨迹规划的方法时,轨迹规划的装置1200及其各个模块也可以为软件模块。

根据本申请实施例的轨迹规划的装置1200可对应于执行本申请实施例中描述的方法,并且轨迹规划的装置1200中的各个单元的上述和其它操作和/或功能分别为了实现图4或图11中的各个方法的相应流程,为了简洁,在此不再赘述。

通过上述轨迹规划的装置1200,在智能车行驶过程中,可以实现对多个传感器采集的障碍物数据进行去重,从而得到有效的目标障碍物的检测结果,进而实现基于目标障碍物的检测结果进行智能车的轨迹规划。可以解决目前不能有效检测障碍物的问题。还可以解决目前多个传感器场景中多个传感器采集的障碍物有重叠时导致轨迹规划不准确的问题。在上述去重过程中,可以结合传感器的感知范围之间的重叠关系提出分组方式,将传感器分成的感知组继续分组后,同时对感知组内数据去重,然后感知组间数据去重,最后再计算组间数据去重,通过上述去重过程可以保证去重效果比较显著,提高去重精度,使得去重结果更加精确,从而可以使基于去重结果进行的轨迹规划也比较准确,提升智能车的行驶安全;并且,在去重过程中可以考虑与附近障碍物的关系,可以减少流程,并且由于划分了多个感知组,可以通过先组内后组间的数据去重实现障碍物去重的准确性,并且可以同时对多个感知组中的数据进行处理,可以提高对多障碍物去重的处理效率。并且,本申请方法考虑了车内所有传感器采集的障碍物数据,感知范围综合可以覆盖智能车全景范围,从而可以提供更全面的障碍物数据,更有利于智能车的自动驾驶决策。

图13为本申请实施例提供的一种控制器的结构示意图,所述控制器应用于如图2或图3所示的系统,用于实现如图4或图11所示的轨迹规划的方法。参阅图13所示,所述控制器1300可以包括:处理器1301、存储器1302和总线1303。其中,处理器1301和存储器1302通过总线1303进行通信,也可以通过无线传输等其他手段实现通信。该存储器1302用于存储指令,该处理器1301用于执行该存储器1302存储的指令。该存储器1302存储程序代码,且处理器1301可以调用存储器1302中存储的程序代码执行以下操作:

获取多个传感器采集的障碍物数据;所述多个传感器包含至少两种类型的传感器;对所述多个传感器采集的障碍物数据进行去重处理,得到目标障碍物的检测结果;基于所述目标障碍物的检测结果进行车辆的轨迹规划。

可选地,图13所示的控制器1300还包括内存1304和通信接口1305,其中,内存1304可以与处理器1301物理集成在一起,或在处理器1301内或以独立单元形式存在。计算机程序13042可以存储至内存1304或存储器1302。可选地,存储至存储器1302的计算机程序代码13042(例如,要调试的程序等)被复制到内存1304,进而由处理器1301执行。内存1304中还可以运行内核13041。

应理解,在本申请实施例中,该处理器1301可以是中央处理器(centralprocessingunit,cpu),该处理器1301还可以是其他通用处理器、数字信号处理器(digitalsignalprocessing,dspdsp)、专用集成电路(application-specificintegratedcircuit,asic)、可编程逻辑器件(programmablelogicdevice,pld);上述pld可以是复杂可编程逻辑器件(complexprogrammablelogicdevice,cpld),现场可编程门阵列(field-programmablegatearray,fpga)、通用阵列逻辑(genericarraylogic,gal)或其任意组合;或者该处理器1301可以是其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。

可选地,图13所示的控制器中还可以包括处理器1306,处理器1301和处理器1306可以是同种类型或不同类型的处理器,每种处理器中处理器核的个数不构成对本申请的限定。

该存储器1302可以包括只读存储器和随机存取存储器,并向处理器1301提供指令、程序和数据等。例如,程序可以包括程序代码,该程序代码包括计算机操作指令。存储器1302还可以包括非易失性随机存取存储器。例如,存储器1302还可以存储设备类型的信息。

该存储器1302可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-onlymemory,rom)、可编程只读存储器(programmablerom,prom)、可擦除可编程只读存储器(erasableprom,eprom)、电可擦除可编程只读存储器(electricallyeprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(randomaccessmemory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(staticram,sram)、动态随机存取存储器(dram)、同步动态随机存取存储器(synchronousdram,sdram)、双倍数据速率同步动态随机存取存储器(doubledatadatesdram,ddrsdram)、增强型同步动态随机存取存储器(enhancedsdram,esdram)、同步连接动态随机存取存储器(synchlinkdram,sldram)和直接内存总线随机存取存储器(directrambusram,drram)。

该总线1303除包括数据总线之外,还可以包括地址总线、电源总线、控制总线和状态信号总线等。该总线1303可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等,也可以是控制区域网络(controllerareanetwork,can),还可以是车载以太(ethernet),或者其他内部总线实现图13所示的各个器件/设备的连接。但是为了清楚说明起见,在图13中将各种总线都标为总线1303。为便于表示,图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

应理解,根据本申请实施例的控制器1300可对应于本申请实施例中的轨迹规划的装置1200,并可以对应于执行图4或图11所示方法中的控制器作为主体的操作步骤,并且控制器1300中的各个模块的上述和其它操作和/或功能分别为了实现图4或图11中的各个方法的相应流程,为了简洁,在此不再赘述。

通过上述控制器1300,在智能车行驶过程中,可以实现对多个传感器采集的障碍物数据进行去重,从而得到有效的目标障碍物的检测结果,进而实现基于目标障碍物的检测结果进行智能车的轨迹规划。可以解决目前不能有效检测障碍物的问题。还可以解决目前多个传感器场景中多个传感器采集的障碍物有重叠时导致轨迹规划不准确的问题。在上述去重过程中,可以结合传感器的感知范围之间的重叠关系提出分组方式,将传感器分成的感知组继续分组后,同时对感知组内数据去重,然后感知组间数据去重,最后再计算组间数据去重,通过上述去重过程可以保证去重效果比较显著,提高去重精度,使得去重结果更加精确,从而可以使基于去重结果进行的轨迹规划也比较准确,提升智能车的行驶安全;并且,在去重过程中可以考虑与附近障碍物的关系,可以减少流程,并且由于划分了多个感知组,可以通过先组内后组间的数据去重实现障碍物去重的准确性,并且可以同时对多个感知组中的数据进行处理,可以提高对多障碍物去重的处理效率。并且,本申请方法考虑了车内所有传感器采集的障碍物数据,感知范围综合可以覆盖智能车全景范围,从而可以提供更全面的障碍物数据,更有利于智能车的自动驾驶决策。

本申请还提供了一种智能车,所述智能车可以包含上述涉及的控制器或者轨迹规划的装置。

本申请还提供一种车载系统,该车载系统包括多个传感器和控制器,或者包括多个传感器、控制器和多个感知计算单元。

本申请还提供一种轨迹规划的系统,该轨迹规划的系统包括至少一辆智能车。上述各个部件或设备分别用于执行上述图4或图11所示方法中相应执行主体的操作步骤,为了简洁,在此不再赘述。

上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质。半导体介质可以是固态硬盘(solidstatedrive,ssd)。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请的技术方案的目的。

以上所述,仅为本申请的具体实施方式。熟悉本技术领域的技术人员根据本申请提供的具体实施方式,可想到变化或替换,都应涵盖在本申请的保护范围之内。

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