掌桥专利:专业的专利平台
掌桥专利
首页

自动驾驶方法及装置

文献发布时间:2023-06-19 11:55:48


自动驾驶方法及装置

技术领域

本申请涉及自动驾驶技术领域,尤其涉及一种自动驾驶方法及装置。

背景技术

自动驾驶车辆(Self-driving Car),又称无人驾驶车辆、电脑驾驶车辆、或轮式移动机器人,是一种通过计算机系统实现无人驾驶的智能车辆。随着自动驾驶车辆的普及,自动驾驶车辆可作为出租车或公共交通工具使用,乘客在使用自动驾驶车辆时,需要输入目的地,自动驾驶车辆基于当前位置和目的地生成行驶路线,并按照生成的行驶路线行驶。在自动驾驶车辆经过隧道时,由于隧道中存在全球定位系统(Global Positioning System,GPS)遮挡,通过惯导设备定位时,定位误差较大。因此,亟待一种定位方法实现在隧道中规划路径,以进行自动驾驶。

现有技术中,超宽带(Ultra Wideband,UWB)技术是一种成熟的室内定位方案,图1是一示例性UWB的工作原理示意图,如图1所示,UWB技术需要基站发射一种特殊频率段的电磁波,并且其定位终端12需要最少三个基站11发射的电磁波信号才可以进行定位。因此,如果要在整个隧道中进行实时定位,则在弯道较多等复杂的隧道中每隔几米,需要安装一个或多个定位基站,并且这些基站还需要预先在高精地图中标记出相应的位置。

然而,现有技术中,采用UWB技术实现在隧道中规划路径以进行自动驾驶,需要在隧道中安装一个或多个定位基站,并需要对定位基站进行定期维护,导致成本较高。

发明内容

本申请提供一种自动驾驶方法及装置,以实现在隧道中的自动驾驶,并节约了自动驾驶的成本。

第一方面,本申请实施例提供一种自动驾驶方法,包括:

获取车辆前方预设范围内的点云数据;

根据点云数据,确定车辆前方的墙面点集;

根据墙面点集,确定墙面特征点集;根据墙面特征点集,规划车辆的行车路线,以对车辆自动驾驶。

本申请实施例中,通过根据车辆前方预设范围内的点云数据,确定车辆前方的墙面点集,然后对墙面点集进行处理,得到墙面特征点集,并根据墙面特征点集规划车辆的行车路线,以实现对车辆自动驾驶,并且,本申请实施例提供的自动驾驶方法,不需要在隧道中安装一个或多个定位基站,有效降低了自动驾驶的成本。

在一种可能的实施方式中,点云数据通过多线激光雷达获取,根据点云数据,确定车辆前方的墙面点集,包括:

在点云数据中,确定多线激光雷达发出的多个线束各自对应的第一点集;

确定每个第一点集中是否具有第二点集,第二点集具有连通性质、第二点集的长度大于预设长度,且第二点集的高度在预设高度区间;

若存在至少两个第一点集具有第二点集,则确定第二点集为墙面点集。

本申请实施例中,通过对多线激光雷达发出的每个线束对应的点集进行处理,判断该点集中是否存在具有连通性质且长度大于预设长度的点集,进而实现对墙面点集的判断,实现了根据点集的性质以及墙面特征对墙面点集的判断。

在一种可能的实施方式中,预设长度通过以下公式进行计算:

其中,N表示预设长度,以多线激光雷达为原点,建立三维直角坐标系,其中,X

在一种可能的实施方式中,根据墙面点集,确定墙面特征点集,包括:

对墙面点集进行平面化处理,得到处理后的墙面点集;确定处理后的墙面点集中的第一区域点集和第二区域点集;

对第一区域点集的坐标进行排序,得到排序后的第一区域点集,对第二区域点集的坐标进行排序,得到排序后的第二区域点集。

本申请实施例中,通过对处理后的墙面点集进行处理,区分墙面点集中的第一区域点集和第二区域点集,实现了对左墙点集和右墙点集的确定,得到了墙面特征点集。

在一种可能的实施方式中,第一区域点集为左墙点集,第二区域点集为右墙点集,确定处理后的墙面点集中的第一区域点集和第二区域点集,包括:

对墙面点集进行聚类,得到第三点集和第四点集;

在第三点集中选取多个目标点,或,在第四点集中选取多个目标点;

判断每个目标点相对于车辆的方向;

若多个目标点中存在预设比例和/或预设数量的目标点位于车辆的左侧,则判断多个目标点所在的点集为左墙点集;

若多个目标点中存在预设比例和/或预设数量的目标点位于车辆的右侧,则判断多个目标点所在的点集为右墙点集。

本申请实施例中,通过对墙面点集进行聚类,得到第三点集和第四点集,然后在第三点集或第四点集中选取多个目标点,判断第三点集和第四点集与车辆的位置关系,可以提高判断左墙点集和右墙点集的可靠性。

在一种可能的实施方式中,根据墙面特征点集,规划车辆的行车路线,包括:

根据排序后的第一区域点集和排序后的第二区域点集进行预瞄,确定车辆的前轮摆角;

通过车辆的方向盘转向角与前轮摆角的比例关系,确定车辆的方向盘转向角,以对车辆自动驾驶。

本申请实施例中,通过对第一区域点集和第二区域点集进行预瞄,以确定车辆的前轮摆角,不仅提高了预瞄数据的可靠性,同时也提高了对车辆前轮摆角计算的准确性,最后车辆的方向盘转向角与前轮摆角的比例关系,确定车辆的方向盘转向角,以对车辆自动驾驶,提高了车辆自动驾驶的可靠性。在一种可能的实施方式中,根据排序后的第一区域点集和排序后的第二区域点集进行预瞄,确定车辆的前轮摆角,包括:

在排序后的第一区域点集中选取多个第一点;

在排序后的第二区域点集中选取多个第二点,多个第二点与多个第一点的序列相同;

利用多个第一点、多个第二点和预瞄模型进行多点预瞄,得到前轮摆角。

本申请实施例中,通过第一区域点集和第二区域点集中序列相同的点,以及预瞄模型进行预瞄,实现了对车辆前轮摆角的计算。

在一种可能的实施方式中,利用多个第一点、多个第二点和预瞄模型进行多点预瞄,得到前轮摆角,包括:

确定目标第一点和目标第二点,目标第一点为多个第一点中的任意一个,目标第二点为多个第二点中的任意一个,目标第一点和目标第二点的序列相同;

将目标第一点和目标第二点带入预瞄模型,分别得到第一位置和第二位置;

计算车辆初始位姿分别与多个第一位置、多个第二位置之间的转向角约束;

根据转向角约束确定前轮摆角。

在一种可能的实施方式中,根据转向角约束确定前轮摆角,包括:

确定目标距离,目标距离是车辆初始位姿分别与多个第一点和多个第二点之间的距离的平均值;通过目标距离,计算转向角约束对应的曲率约束;确定目标曲率,目标曲率为曲率约束的平均值;确定目标曲率的目标转弯半径;

将目标转弯半径、目标距离代入以下公式,得到前轮摆角,公式如下:

其中,θ

在一种可能的实施方式中,在确定墙面点集中的第一区域点集和第二区域点集之后,还包括:

分别对第一区域点集和第二区域点集进行下采样处理。

本申请实施例通过对区域点集进行下采样处理,可以提高数据处理的速率和数据传输速率。

下面介绍本申请实施例提供的装置、电子设备、计算机可读存储介质以及计算机程序产品,其内容和效果可参考本申请实施例提供的自动驾驶方法,不再赘述。

第二方面,本申请实施例提供一种自动驾驶装置,包括:

获取模块,用于获取车辆前方预设范围内的点云数据;

确定模块,用于根据点云数据,确定车辆前方的墙面点集;

确定模块,还用于根据墙面点集,确定墙面特征点集;规划模块,用于根据墙面特征点集,规划车辆的行车路线,以对车辆自动驾驶。

在一种可能的实施方式中,点云数据通过多线激光雷达获取,确定模块,具体用于:

在点云数据中,确定多线激光雷达发出的多个线束各自对应的第一点集;

确定每个第一点集中是否具有第二点集,第二点集具有连通性质、第二点集的长度大于预设长度,且第二点集的高度在预设高度区间;

若存在至少两个第一点集具有第二点集,则确定第二点集为墙面点集。

在一种可能的实施方式中,预设长度通过以下公式进行计算:

其中,N表示预设长度,以多线激光雷达为原点,建立三维直角坐标系,其中,X

可选的,确定模块,包括:

处理子模块,用于对墙面点集进行平面化处理,得到处理后的墙面点集;

第一确定子模块,用于确定处理后的墙面点集中的第一区域点集和第二区域点集;

排序子模块,用于对第一区域点集的坐标进行排序,得到排序后的第一区域点集,对第二区域点集的坐标进行排序,得到排序后的第二区域点集。

可选的,第一区域点集为左墙点集,第二区域点集为右墙点集,第一确定子模块,具体用于:

对处理后的墙面点集进行聚类,得到第三点集和第四点集;

在第三点集中选取多个目标点,或,在第四点集中选取多个目标点;

判断每个目标点相对于车辆的方向;

若多个目标点中存在预设比例和/或预设数量的目标点位于车辆的左侧,则判断多个目标点所在的点集为左墙点集;

若多个目标点中存在预设比例和/或预设数量的目标点位于车辆的右侧,则判断多个目标点所在的点集为右墙点集。

可选的,规划模块,包括:

第二确定子模块,用于根据排序后的第一区域点集和排序后的第二区域点集进行预瞄,确定车辆的前轮摆角;

第三确定子模块,用于通过车辆的方向盘转向角与前轮摆角的比例关系,确定车辆的方向盘转向角,以对车辆自动驾驶。

可选的,第二确定子模块,具体用于:

在排序后的第一区域点集中选取多个第一点;

在排序后的第二区域点集中选取多个第二点,多个第二点与多个第一点的序列相同;

利用多个第一点、多个第二点和预瞄模型进行多点预瞄,得到前轮摆角。

可选的,第二确定子模块,具体用于:确定目标第一点和目标第二点,目标第一点为多个第一点中的任意一个,目标第二点为多个第二点中的任意一个,目标第一点和目标第二点的序列相同;将目标第一点和目标第二点带入预瞄模型,分别得到第一位置和第二位置;计算车辆初始位姿分别与多个第一位置、多个第二位置之间的转向角约束;根据转向角约束确定前轮摆角。

在一种可能的实施方式中,第二确定子模块,具体用于:

确定目标距离,目标距离是车辆初始位姿分别与多个第一点和多个第二点之间的距离的平均值;通过目标距离,计算转向角约束对应的曲率约束;确定目标曲率,目标曲率为曲率约束的平均值;确定目标曲率的目标转弯半径;

将目标转弯半径、目标距离代入以下公式,得到前轮摆角,公式如下:

其中,θ

在一种可能的实施方式中,处理模块,还用于:

分别对第一区域点集和第二区域点集进行下采样处理。

第三方面,本申请实施例提供一种电子设备,包括:

至少一个处理器;以及

与至少一个处理器通信连接的存储器;其中

存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如第一方面或第一方面可实现方式提供的方法。

第四方面,本申请实施例提供一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行如第一方面或第一方面可实现方式提供的方法。

第五方面,本申请实施例提供一种计算机程序产品,包括:可执行指令,可执行指令用于实现如第一方面或第一方面可选方式提供的方法。

本申请实施例提供的自动驾驶方法及装置,通过获取车辆前方预设范围内的点云数据;然后根据点云数据,确定车辆前方的墙面点集;进而根据墙面点集,确定墙面特征点集,最后根据墙面特征点集,规划车辆的行车路线,以对车辆自动驾驶。由于通过根据车辆前方预设范围内的点云数据,确定车辆前方的墙面点集,并根据墙面点集确定墙面特征点集,以根据墙面特征点集规划车辆的行车路线,以实现对车辆自动驾驶,并且,本申请实施例提供的自动驾驶方法,不需要在隧道中安装一个或多个定位基站,有效降低了自动驾驶的成本。

附图说明

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

图1是一示例性UWB的工作原理示意图;

图2是本申请实施例提供的一示例性应用场景图;

图3是本申请一实施例提供的自动驾驶方法的流程示意图;

图4是本申请实施例提供的多线激光雷达的工作示意图;

图5是本申请另一实施例提供的自动驾驶方法的流程示意图;

图6是本申请又一实施例提供的自动驾驶方法的流程示意图;

图7是本申请实施例提供的预瞄模型的结构示意图;

图8是本申请另一实施例提供的预瞄模型的结构示意图;

图9是本申请一实施例提供的自动驾驶装置的结构示意图;

图10是本申请另一实施例提供的自动驾驶装置的结构示意图;

图11是本申请实施例提供的电子设备的结构示意图。

具体实施方式

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

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

自动驾驶车辆可作为出租车或公共交通工具使用,乘客在使用自动驾驶车辆时,需要输入目的地,自动驾驶车辆基于当前位置和目的地生成行驶路线,并按照生成的行驶路线行驶。在自动驾驶车辆经过隧道时,由于隧道中存在GPS遮挡,通过惯导设备定位时,定位误差较大。现有技术中,在隧道中行驶的定位方法,通常采用UWB技术,然而,如果要在整个隧道中进行实时定位,则在弯道较多等复杂的隧道中每隔几米,需要安装一个或多个定位基站,并且这些定位基站不仅需要预先在高精地图中标记出相应的位置,还需要对定位基站进行定期维护,导致成本较高。为了解决上述技术问题,本申请实施例提供一种自动驾驶方法及装置。

以下,对本申请实施例的示例性应用场景进行介绍。

本申请实施例提供的自动驾驶方法可以通过本申请实施例提供的自动驾驶装置执行,本申请实施例提供的自动驾驶装置可以是车辆、车辆内终端设备的部分或者全部,图2是本申请实施例提供的一示例性应用场景图,如图2所示,本申请实施例提供的自动驾驶方法可以应用于车辆21中,车辆中包括多线激光雷达,多线激光雷达可以获取车辆前方预设范围内的点云数据,点云数据包括墙面点集,墙面点集可以包括左墙点集23和右墙点集22,进而通过左墙点集23和右墙点集22进行预瞄,以确定车辆21的行车路线,实现对车辆21的自动驾驶。本申请实施例对终端设备的具体类型不做限制,例如,终端设备可以是车载终端、智能手机、个人电脑、平板电脑、可穿戴设备等。

图3是本申请一实施例提供的自动驾驶方法的流程示意图,该方法可以由自动驾驶装置执行,该装置可以通过软件和/或硬件的方式实现,例如:该装置可以是终端设备的部分或全部,下面以终端设备为执行主体对自动驾驶方法进行说明,如图3所示,本申请实施例提供的自动驾驶方法可以包括:

步骤S101:获取车辆前方预设范围内的点云数据。

获取车辆前方预设范围内的点云数据,可以通过车辆中的激光雷达获取,例如,多线激光雷达等,本申请实施例对激光雷达的类型、型号、数量等不做限制。本申请实施例对获取车辆前方预设范围内的点云数据的实现方式不做限制。

点云数据中包括每个点的位置信息和高度信息,在一种可能的实施方式中,可以根据点云数据中的位置信息和高度信息确定车辆前方预设范围内的点云数据,本申请实施例对此不做限制。对于预设范围的具体范围,本申请实施例也不做限制,例如,可以是车辆前方预设距离内的点云数据和/或车辆前方预设高度内的点云数据,本申请实施例对具体预设距离以及具体预设高度不做限制,在一种可能的实施方式中,预设距离可以是在车辆前方1米至10米范围;预设高度可以根据道路的坡度进行调整设置,本申请实施例对此不做限制。通过获取预设高度范围的点云数据,可以避免其他车辆的干扰,通过获取预设距离内的点云数据,可以提高点云数据的可靠性。

步骤S102:根据点云数据,确定车辆前方的墙面点集。

在获取车辆前方预设范围内的点云数据之后,可以根据点云数据确定车辆前方的墙面点集,本申请实施例对根据点云数据,确定车辆前方的墙面点集的具体实现方式不做限制。例如,隧道墙面通常是光滑的,可以根据隧道墙面光滑的特点,确定墙面点集。

在一种可能的实施方式中,点云数据通过多线激光雷达获取,根据点云数据,确定车辆前方的墙面点集,包括:

在点云数据中,确定多线激光雷达发出的多个线束各自对应的第一点集;确定每个第一点集中是否具有第二点集,第二点集具有连通性质、第二点集的长度大于预设长度,且第二点集的高度在预设高度区间;若存在至少两个第一点集具有第二点集,则确定第二点集为墙面点集。

为了便于对本申请实施例的介绍,首先对多线激光雷达进行介绍,本申请实施例对多线激光雷达的品牌、型号等不做限制,在一种可能的实施方式中,Velodyne所产激光雷达具有测距精度高,技术资料完备,机器人软件平台(Robot Operating System,ROS)集成成熟,可以支持各种参数设置,且方便二次开发,比较适合自动驾驶的需求,本申请实施例仅以多线激光雷达为Velodyne 16线激光雷达为例进行介绍,但并不限于此。

图4是本申请实施例提供的多线激光雷达的工作示意图,如图4所示,Velodyne16线激光雷达的垂直视角一般为固定角度,例如为[-15,15°],扫描的每列光束按各自的线束分布在垂直视角范围内,且每两个光束之间相差2°,多线激光雷达在扫描周期内完成对周围360°方向的扫描,通常通过每旋转一定时间间隔发射一列光束进行扫描,直至扫描360°或直至该扫描周期结束。本申请实施例不限于此。因此,多线激光雷达所产生的点云数据中的每个点都可以根据垂直角反算出其所属的线束类。

基于此,在一种可能的实施方式中,在点云数据中,确定多线激光雷达发出的多个线束各自对应的第一点集,可以包括:确定点云数据中每个点的垂直角;确定垂直角相同的点集为多线激光雷达发出的多个线束各自对应的第一点集。

由于隧道墙壁通常为连续光滑的特点,因此,多线激光雷达的线束激光会扫描出连续曲线点集,通过在每个第一点集中,判断是否具有连通性质、长度大于预设长度且高度在预设高度区间的点集,以确定第一点集中是否存在第二点集,其中,具有连通性质的点集组成的曲线是连续曲线。若存在至少两个第一点集具有第二点集,则确定第二点集为墙面点集。本申请实施例对预设长度的确定方式以及具体数值不做限制,在一种可能的实施方式中,预设长度可以通过以下公式进行计算:

其中,N表示预设长度,以多线激光雷达为原点,建立三维直角坐标系,其中,x表示点的横坐标,y表示点的纵坐标,X

本申请实施例中,通过对多线激光雷达发出的每个线束对应的点集进行处理,判断该点集中是否存在具有连通性质、长度大于预设长度且高度在预设高度区间的点集,进而实现对墙面点集的判断,实现了根据点集的性质以及墙面特征对墙面点集的判断。

步骤S103:根据墙面点集,确定墙面特征点集。

在确定墙面点集之后,需要对墙面特征点集进行提取,本申请实施例对根据墙面点集,确定墙面特征点集的处理方式不做限制,例如,可以提取墙面点集中相同高度的点集,作为墙面特征点集;再例如,可以通过对墙面点集进行稀疏化,得到墙面特征点集,再例如,可以选取墙面点集中的部分点集作为墙面特征点集,或结合地图信息,根据距离车辆较近的墙面的墙面点集作为墙面特征点集等,本申请实施例不限于此。

步骤S104:根据墙面特征点集,规划车辆的行车路线,以对车辆自动驾驶。

墙面特征点集用于规划车辆的行车路线,根据墙面特征点集规划车辆的行车路线,本申请实施例对根据墙面特征点集规划车辆的行车路线的具体实现方式不做限制,例如,可以通过单点预瞄或路段预瞄的方式,规划车辆的行车路线。再例如,可以利用墙面特征点集中的部分或全部点集进行预瞄,比如,结合地图信息,根据距离车辆较近的墙面的墙面特征点集规划车辆的行车路线等,本申请实施例对此不做限制。本申请实施例中,通过根据车辆前方预设范围内的点云数据,确定车辆前方的墙面点集,并根据墙面点集确定墙面特征点集,进而根据墙面特征点集规划车辆的行车路线,以实现对车辆自动驾驶,并且,本申请实施例提供的自动驾驶方法,不需要在隧道中安装一个或多个定位基站,有效降低了自动驾驶的成本。

在一种可能的实施方式中,图5是本申请另一实施例提供的自动驾驶方法的流程示意图,该方法可以由自动驾驶装置执行,该装置可以通过软件和/或硬件的方式实现,例如:该装置可以是终端设备的部分或全部,下面以终端设备为执行主体对自动驾驶方法进行说明,如图5所示,在上述实施例的基础上,本申请实施例提供的自动驾驶方法中的步骤S103,即根据墙面点集,确定墙面特征点集,可以包括:

步骤S201:对墙面点集进行平面化处理,得到处理后的墙面点集。

在对车辆的自动驾驶过程中,不需要墙面点集的高度信息,为了便于处理,可以对墙面点集进行平面化处理,以去除墙面点集的高度信息,得到处理后的墙面点集。

步骤S202:确定处理后的墙面点集中的第一区域点集和第二区域点集。

在隧道中通常包括左墙和右墙,在确定处理后的墙面点集之后,可以对处理后的墙面点集中的左墙点集和右墙点集进行区分,其中,以第一区域点集为左墙点集,第二区域点集为右墙点集为例,第一区域点集和第二区域点集的确定,可以通过墙面点集的坐标确定,例如,位于车辆或多线激光雷达左侧的点集为第一区域点集,位于车辆或多线激光雷达右侧的点集为第二区域点集,反之亦然。本申请实施例对此不做限制。

在一种可能的实施方式中,第一区域点集为左墙点集,第二区域点集为右墙点集,确定处理后的墙面点集中的第一区域点集和第二区域点集,包括:

对处理后的墙面点集进行聚类,得到第三点集和第四点集;在第三点集中选取多个目标点,或,在第四点集中选取多个目标点;判断每个目标点相对于车辆的方向;若多个目标点中存在预设比例和/或预设数量的目标点位于车辆的左侧,则判断多个目标点所在的点集为左墙点集;若多个目标点中存在预设比例和/或预设数量的目标点位于车辆的右侧,则判断多个目标点所在的点集为右墙点集。

本申请实施例可以通过对处理后的墙面点集进行聚类的方式,得到第三点集和第四点集,本申请实施例对聚类方式不做限制。然后在第三点集中或第四点集中选取多个目标点,本申请实施例对目标点的具体数量不做限制,然后判断每个目标点相对于车辆或多线激光雷达的方向,若多个目标点中存在预设比例和/或预设数量的目标点位于车辆或多线激光雷达的左侧,则判断多个目标点所在的点集为左墙点集,即第一区域点集。例如,多个目标点所在的点集为第三点集,则第三点集为第一区域点集,而第四点集为第二区域点集。反之亦然,不再赘述。

本申请实施例中,通过对处理后的墙面点集进行聚类,得到第三点集和第四点集,然后在第三点集或第四点集中选取多个目标点,判断第三点集和第四点集与车辆的位置关系,可以提高判断第一区域点集和第二区域点集的可靠性。

为了进一步提高判断第一区域点集和第二区域点集的鲁棒性,可选的,在确定墙面点集中的第一区域点集和第二区域点集之前,还可以对墙面点集做滤噪处理。

步骤S203:对第一区域点集的坐标进行排序,得到排序后的第一区域点集,对第二区域点集的坐标进行排序,得到排序后的第二区域点集。

墙面特征点集包括排序后的第一区域点集和排序后的第二区域点集,对第一区域点集排序的方式可以通过第一区域点集中点的坐标实现,本申请实施例对此不做限制,第二区域点集的排序方式可以与第一区域点集的排序方式相同,不再赘述。

规划线路可以通过线路的特征点实现,为了提高排序效率和数据传输速率,在一种可能的实施方式中,在确定墙面点集中的第一区域点集和第二区域点集之后,还包括:

分别对第一区域点集和第二区域点集进行下采样处理。

本申请实施例对第一区域点集和第二区域点集进行下采样处理的具体实现方式不做限制,示例性的,可以通过每隔0.2米采样一个点,得到稀疏化的第一区域点集和稀疏化的第二区域点集。不仅可以提高排序处理效率,也能减轻点集之间的通信压力。

在一种可能的实施方式中,图6是本申请又一实施例提供的自动驾驶方法的流程示意图,该方法可以由自动驾驶装置执行,该装置可以通过软件和/或硬件的方式实现,例如:该装置可以是终端设备的部分或全部,下面以终端设备为执行主体对自动驾驶方法进行说明,如图6所示,在上述实施例的基础上,本申请实施例提供的自动驾驶方法中的步骤S104,即根据墙面特征点集,规划车辆的行车路线,可以包括:

步骤S301:根据排序后的第一区域点集和排序后的第二区域点集进行预瞄,确定车辆的前轮摆角。

根据排序后的第一区域点集和排序后的第二区域点集进行预瞄,确定车辆的前轮摆角,可以通过对全部排序后的第一区域点集和全部排序后的第二区域点集进行预瞄,确定车辆的前轮摆角,与可以通过选取部分排序后的第一区域点集和选取部分排序后的第二区域点集进行预瞄,本申请实施例对此不做限制。

在一种可能的实施方式中,根据排序后的第一区域点集和排序后的第二区域点集进行预瞄,确定车辆的前轮摆角,包括:

在排序后的第一区域点集中选取多个第一点;在排序后的第二区域点集中选取多个第二点,多个第二点与多个第一点的序列相同;利用多个第一点、多个第二点和预瞄模型进行多点预瞄,得到前轮摆角。

本申请实施例对在排序后的第一区域点集中选取多个第一点的方式和数量不做限制,对在排序后的第二区域点集中选取多个第二点的方式和数量也不做限制。

在一种可能的实施方式中,利用多个第一点、多个第二点和预瞄模型进行多点预瞄,得到前轮摆角,包括:

确定目标第一点和目标第二点,目标第一点为多个第一点中的任意一个,目标第二点为多个第二点中的任意一个,目标第一点和目标第二点的序列相同;将目标第一点和目标第二点带入预瞄模型,分别得到第一位置和第二位置;计算车辆初始位姿分别与多个第一位置、多个第二位置之间的转向角约束;根据转向角约束确定前轮摆角。

图7是本申请实施例提供的预瞄模型的结构示意图,如图7所示,f(x)表示车辆当前时刻将要跟踪的道路,此时车辆根据前方道路的路况与道路的相对位置来产生转向动作,这种利用车前道路信息的方法被称为“预瞄”。而利用车辆和在f(x)前方距车辆为L的A点来产生控制指令则被称为“单点预瞄”。如果利用f(x)前方某一段道路而产生转向命令则被称为“路段预瞄”。

下面以单点预瞄为例,对预瞄模型进行介绍,首先利用车上某一点O’与A点作直线,则

(y-R)

根据R即可获得

图8是本申请另一实施例提供的预瞄模型的结构示意图,如图8所示,通过排序后的第一区域点集和排序后的第二区域点集可以作路段预瞄,首先将车辆看做一个刚性杆EF,将排序后的第一区域点集和排序后的第二区域点集分别看做fl(x)和fr(x)。为了建立预瞄模型,在一种可能的实施方式中,还可以将fl(x)和fr(x)分别沿Y轴向靠近车辆的方向平移半个车辆宽度M/2,其中M为车辆宽度,以及根据地图中车辆左侧车道线距左墙面的距离M1,将fl(x)向Y轴负方向平移M1,根据地图中车辆右侧车道线距右墙面的距离M2,将fr(x)向Y轴正方向平移M2,分别得到路段函数f’l(x),f’r(x)。

在路段函数f’l(x)中选取多个第一点f’l(xi),在f’r(x)中选取多个第二点f’r(xi),其中,i为大于1的整数,表示第一点或第二点的序列,多个第二点与多个第一点的序列相同。确定目标第一点和目标第二点,目标第一点为多个第一点中的任意一个,目标第二点为多个第二点中的任意一个,例如,第i个第一点和第i个第二点,将目标第一点和目标第二点带入预瞄模型,分别得到第一位置f’l(xi)和第二位置f’r(xi),由车辆初始位姿(x

其中,θ为转向角,L为车辆距离路段函数某一点的距离,R为转弯半径,可以得到曲率CEl,CEr,CFl,CFr各自对应的转向角θEl,θEr,θFl,θFr,进而获得转向角约束(θ1,θ2)。其中,θ1为θEl,θEr,θFl,θFr中最大转向角,θ2为θEl,θEr,θFl,θFr中最小转向角。根据多个第一点和多个第二点可以计算转向角约束集合,对集合不断取交集得到最终转向角约束(θ1(max),θ2(min)),然后根据转向角约束确定前轮摆角。

在一种可能的实施方式中,根据转向角约束确定前轮摆角,包括:

确定目标距离,目标距离是车辆初始位姿分别与多个第一点和多个第二点之间的距离的平均值;通过目标距离,计算转向角约束对应的曲率约束;确定目标曲率,目标曲率为曲率约束的平均值;确定目标曲率的目标转弯半径;将目标转弯半径、目标距离代入以下公式,得到前轮摆角,公式如下:

其中,θ

在确定最终转向角约束(θ1(max),θ2(min))后,计算车辆初始位姿分别与多个第一点和多个第二点之间的距离的平均值得到目标距离L1,并根据公式(3)以及曲率和转弯半径之间的关系,计算转向角约束(θ1(max),θ2(min))对应的曲率约束(C1,C2),计算C1和C2的平均值得到目标曲率C3,利用C与R之间的关系确定目标曲率C3对应的目标转弯半径R3,将R3、L1带入公式(4)计算转向角,即车辆的前轮摆角。

本申请实施例中,通过第一区域点集和第二区域点集中序列相同的点,以及预瞄模型进行预瞄,实现了对车辆前轮摆角的计算。

步骤S302:通过车辆的方向盘转向角与前轮摆角的比例关系,确定车辆的方向盘转向角,以对车辆自动驾驶。

在确定车辆前轮摆角之后,根据车辆的方向盘转向角与前轮摆角的比例关系,确定车辆的方向盘转向角,以对车辆自动驾驶。

本申请实施例中,通过对墙面点集进行处理,区分墙面点集中的左墙点集和右墙点集,进而通过对左墙点集和右墙点集进行排序和预瞄,以确定车辆的前轮摆角,不仅提高了预瞄数据的可靠性,同时也提高了对车辆前轮摆角计算的准确性,最后车辆的方向盘转向角与前轮摆角的比例关系,确定车辆的方向盘转向角,以对车辆自动驾驶,提高了车辆自动驾驶的可靠性。

下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。

图9是本申请一实施例提供的自动驾驶装置的结构示意图,该装置可以通过软件和/或硬件的方式实现,例如:该装置可以是客户端或终端设备,如图9所示,本申请实施例提供的自动驾驶装置可以包括:

获取模块81,用于获取车辆前方预设范围内的点云数据。

确定模块82,用于根据点云数据,确定车辆前方的墙面点集。

确定模块82,还用于根据墙面点集,确定墙面特征点集;

规划模块83,用于根据墙面特征点集,规划车辆的行车路线,以对车辆自动驾驶。

在一种可能的实施方式中,点云数据通过多线激光雷达获取,确定模块82,具体用于:

在点云数据中,确定多线激光雷达发出的多个线束各自对应的第一点集;

确定每个第一点集中是否具有第二点集,第二点集具有连通性质、第二点集的长度大于预设长度,且第二点集的高度在预设高度区间;

若存在至少两个第一点集具有第二点集,则确定第二点集为墙面点集。

在一种可能的实施方式中,预设长度通过以下公式进行计算:

其中,N表示预设长度,以多线激光雷达为原点,建立三维直角坐标系,其中,X

可选的,图10是本申请另一实施例提供的自动驾驶装置的结构示意图,该装置可以通过软件和/或硬件的方式实现,例如:该装置可以是客户端或终端设备,如图10所示,本申请实施例提供的自动驾驶装置,确定模块82,包括:

处理子模块821,用于对墙面点集进行平面化处理,得到处理后的墙面点集;

第一确定子模块822,用于确定墙面点集中的第一区域点集和第二区域点集;

排序子模块823,用于对第一区域点集的坐标进行排序,得到排序后的第一区域点集,对第二区域点集的坐标进行排序,得到排序后的第二区域点集。

可选的,第一区域点集为左墙点集,第二区域点集为右墙点集,第一确定子模块822,具体用于:

对墙面点集进行聚类,得到第三点集和第四点集;

在第三点集中选取多个目标点,或,在第四点集中选取多个目标点;

判断每个目标点相对于车辆的方向;

若多个目标点中存在预设比例和/或预设数量的目标点位于车辆的左侧,则判断多个目标点所在的点集为左墙点集;

若多个目标点中存在预设比例和/或预设数量的目标点位于车辆的右侧,则判断多个目标点所在的点集为右墙点集。

可选的,如图10所示,规划模块83可以包括:

第二确定子模块831,用于根据排序后的第一区域点集和排序后的第二区域点集进行预瞄,确定车辆的前轮摆角;

第三确定子模块832,用于通过车辆的方向盘转向角与前轮摆角的比例关系,确定车辆的方向盘转向角,以对车辆自动驾驶。

可选的,第二确定子模块831,具体用于:

在排序后的第一区域点集中选取多个第一点;

在排序后的第二区域点集中选取多个第二点,多个第二点与多个第一点的序列相同;

利用多个第一点、多个第二点和预瞄模型进行多点预瞄,得到前轮摆角。

可选的,第二确定子模块831,具体用于:确定目标第一点和目标第二点,目标第一点为多个第一点中的任意一个,目标第二点为多个第二点中的任意一个,目标第一点和目标第二点的序列相同;将目标第一点和目标第二点带入预瞄模型,分别得到第一位置和第二位置;计算车辆初始位姿分别与多个第一位置、多个第二位置之间的转向角约束;根据转向角约束确定前轮摆角。

在一种可能的实施方式中,第二确定子模块831,具体用于:

确定目标距离,目标距离是车辆初始位姿分别与多个第一点和多个第二点之间的距离的平均值;通过目标距离,计算转向角约束对应的曲率约束;确定目标曲率,目标曲率为曲率约束的平均值;确定目标曲率的目标转弯半径;

将目标转弯半径、目标距离代入以下公式,得到前轮摆角,公式如下:

其中,θ

分别对第一区域点集和第二区域点集进行下采样处理。

本申请所提供的装置实施例仅仅是示意性的,图9和图10中的模块划分仅仅是一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个模块可以结合或者可以集成到另一个系统。各个模块相互之间的耦合可以是通过一些接口实现,这些接口通常是电性通信接口,但是也不排除可能是机械接口或其它的形式接口。因此,作为分离部件说明的模块可以是或者也可以不是物理上分开的,既可以位于一个地方,也可以分布到同一个或不同设备的不同位置上。

图11是本申请实施例提供的电子设备的结构示意图,如图11所示,该电子设备包括:

处理器91、存储器92、收发器93以及计算机程序;其中,收发器93实现与其他设备之间的数据传输,计算机程序被存储在存储器92中,并且被配置为由处理器91执行,计算机程序包括用于执行上述自动驾驶方法的指令,其内容及效果请参考方法实施例。

此外,本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当用户设备的至少一个处理器执行该计算机执行指令时,用户设备执行上述各种可能的方法。

其中,计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于用户设备中。当然,处理器和存储介质也可以作为分立组件存在于通信设备中。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

相关技术
  • 自动驾驶辅助装置、自动驾驶车、自动驾驶辅助方法及自动驾驶辅助程序
  • 自动驾驶信息指示方法、自动驾驶信息获取方法、自动驾驶信息发送方法及装置
技术分类

06120113099106