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

自动驾驶路线规划方法、装置、可读存储介质及电子设备

文献发布时间:2023-06-19 12:24:27


自动驾驶路线规划方法、装置、可读存储介质及电子设备

技术领域

本发明涉及自动驾驶技术领域,特别是涉及一种自动驾驶路线规划方法、装置、可读存储介质及电子设备。

背景技术

随着智能汽车相关技术的飞速发展,汽车的智能化程度逐渐提高,驾驶员逐渐从繁重的驾驶任务中解放出来。如何安全有效的规划驾驶路线,是自动驾驶汽车需解决的最大的难题之一。事实上,路径规划技术,现阶段是一个非常活跃的研究领域。路径规划之所以如此复杂,是因为其涵盖了自动驾驶的所有技术领域,从最基础的制动器,到感知周围环境的传感器,再到定位及预测模型等等。准确的路径规划,要求汽车要理解我们所处的位置以及周边的物体(其他车辆、行人、动物等)会在接下来的几秒钟内采取什么样的行为。

现有的自动驾驶系统的决策技术基于深度学习,主要通过处理高精地图和预测两个模块提供的数据,系统也做出合理的判断最优的规划路径。在公路复杂的场景下,至少需要每秒10次的动态规划能力才能充分实现连续、安全、可靠的自动驾驶,为满足这一目标,需要采用Intel CPU+NVIDIA GPU架构的控制器对激光点云信息和摄像头视频信息进行深度学习处理,深度融合激光雷达点云和视觉信息,对障碍物进行分类及属性提取。这对自动驾驶操作系统和规划模块提出了相当高的要求,导致现有的自动驾驶控制系统复杂、且成本较高。

发明内容

鉴于上述状况,有必要针对现有技术中自动驾驶控制系统复杂、且成本较高的问题,提供一种自动驾驶路线规划方法、装置、可读存储介质及电子设备。

一种自动驾驶路线规划方法,包括:

根据车辆的定位信息确定所述车辆的当前位置;

确定轨迹预瞄点集合中距离所述当前位置最近的目标预瞄点,所述轨迹瞄点集合包含多个预瞄点以及各个预瞄点对应设置的驾驶参数信息;

根据所述目标预瞄点的驾驶参数信息以及所述目标预瞄点之后的预设个预瞄点的驾驶参数信息,规划当前规划周期的驾驶路线;

检测所述当前规划周期的驾驶路线是否行驶结束;

若是,返回执行获取车辆的当前位置的步骤。

进一步的,上述自动驾驶路线规划方法,其中,所述确定预瞄点集合中距离所述当前位置最近的目标预瞄点的步骤包括:

查询是否有历史驾驶路线;

查询到有历史驾驶路线时,则查找最近的一次历史驾驶路线中与当前规划周期的相对时间最接近的预瞄点;

计算所述预瞄点与所述当前位置之间的距离;

当所述距离小于阈值时,将所述相对时间最接近的预瞄点作为所述目标预瞄点;

当所述距离大于阈值或查询到没有历史驾驶路线时,调用vehicle_state_point函数计算所述轨迹瞄点集合中离所述当前位置最近的目标预瞄点。

进一步的,上述自动驾驶路线规划方法,其中,所述调用vehicle_state_point函数计算所述轨迹瞄点集合中离所述当前位置最近的目标预瞄点的公式为:

调用ehicle_state_point函数,并输入当前位置的定位信息以及所述轨迹瞄点集合中各个预瞄点的位置信息;

执行所述ehicle_state_point函数,以分别计算所述当前位置与所述轨迹瞄点集合中各个预瞄点的距离,以及根据计算结果确定相对于当前位置的最短距离的预瞄点,并作为所述目标预瞄点。

进一步的,上述自动驾驶路线规划方法,其中,所述根据车辆的定位信息确定车辆的当前位置的步骤之前还包括:

检测车辆是否有底盘信息以及定位信息;

若是,执行获取所述车辆的定位信息的步骤;

若否,退出自动驾驶模式。

进一步的,上述自动驾驶路线规划方法,其中,所述预瞄点的驾驶参数信息包括位置信息、角度、曲率、相对时间、线速度、加速度以及相对于起始点的距离。

本发明还提供了一种自动驾驶路线规划装置,包括:

第一确定模块,用于根据车辆的定位信息确定所述车辆的当前位置;

第二确定模块,用于确定轨迹预瞄点集合中距离所述当前位置最近的目标预瞄点,所述轨迹瞄点集合包含多个预瞄点以及各个预瞄点对应设置的驾驶参数信息;

规划模块,用于根据所述目标预瞄点的驾驶参数信息以及所述目标预瞄点之后的预设个预瞄点的驾驶参数信息,规划当前规划周期的驾驶路线;

返回执行模块,用于检测所述当前规划周期的驾驶路线是否行驶结束,并当行驶结束时返回执行获取车辆的当前位置的步骤。

进一步的,上述自动驾驶路线规划装置,其中,所述第二确定模块具体用于:

查询是否有历史驾驶路线;

查询到有历史驾驶路线时,则查找最近的一次历史驾驶路线中与当前规划周期的相对时间最接近的预瞄点;

计算所述预瞄点与所述当前位置之间的距离;

当所述距离小于阈值时,将所述相对时间最接近的预瞄点作为所述目标预瞄点;

当所述距离大于阈值或查询到没有历史驾驶路线时,调用vehicle_state_point函数计算所述轨迹瞄点集合中离所述当前位置最近的目标预瞄点。

进一步的,上述自动驾驶路线规划装置,还包括:

判断模块,用于检测车辆是否有底盘信息以及定位信息;

执行模块,用于当车辆有底盘信息以及定位信息时,执行获取所述车辆的定位信息的步骤;

退出模块,用于当车辆没有底盘信息以及定位信息时,退出自动驾驶模式。

本发明还提供了一种电子设备,包括:存储器,处理器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时实现上述任意一项所述的方法。

本发明还提供了一种计算机可读存储介质,其上存储有程序,所述程序被处理器执行时实现上述任意一所述的方法。

本发明中的自动驾驶路线规划方法,可以在不借助其他感知,地图,预测等模块下实现自动驾驶控制,使用低成本方案,高效便捷,得到平滑安全的驾驶路线,并将得到的路径信息处理成一条安全的可执行的驾驶轨迹交给车辆控制模块执行。

附图说明

图1为本发明第一实施例中的自动驾驶路线规划方法的流程图;

图2为本发明第二实施例中的自动驾驶路线规划方法的流程图;

图3为本发明第三实施例中的自动驾驶路线规划装置的结构框图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。

本发明中的自动驾驶路线规划方法主要应用于特定的园区场景中,如学校、商场、小区等。车辆路径规划系统中存储有预先录制的预瞄路线,该预瞄路线包括由多个预瞄点,以及每个预瞄点对应的驾驶参数信息组成。该预瞄路线通过多次的人工驾驶试验,确定驾驶路线中各个预瞄点的,以及记录各个预瞄点的驾驶参数信息。该驾驶参数信息包括位置信息,角度(theta),曲率(Kappa),相对时间(relative),线速度,加速度(accelerationa),相对于起始点的距离(accumulated_s)。

通过人工驾驶既定路线,录制预瞄路线,保存好路线点的详细规划预瞄点信息,根据历史轨迹信息,结合当前车辆位置状态,使得自动驾驶系统在不借助其他感知,地图,预测等模块,使用低成本方案,高效便捷,得到平滑安全的轨迹,并将得到的路径信息处理成一条安全的可执行的路径交给车辆的控制模块执行,以实现自动驾驶。

请参阅图1,为本发明第一实施例中的自动驾驶路线规划方法,包括步骤S11~S14。

步骤S11,根据车辆的定位信息确定所述车辆的当前位置。

该车辆的当前位置根据车辆的定位系统(如GPS)采集的定位信息来确定。

步骤S12,确定轨迹预瞄点集合中距离所述当前位置最近的目标预瞄点。

该预瞄点集合中的各个预瞄点的驾驶参数信息包含有位置信息、角度、曲率、相对时间、线速度、加速度以及距离参数。根据各个预瞄点的位置信息以及车辆的当前位置计算距离车辆的当前位置最近的一个预瞄点,并作用目标预瞄点。

步骤S13,根据所述目标预瞄点的驾驶参数信息以及所述目标预瞄点之后的预设个预瞄点的驾驶参数信息,规划当前规划周期的驾驶路线。

本实施例中驾驶路线是周期性进行的,每一次规划的驾驶路线包含一定数量的轨迹点,例如包含800个点。当确定了目标预瞄点后,将该目标预瞄点作为当前规划的驾驶路线的起始点,将该轨迹预瞄点集合中该起始点之后的预设个预瞄点以及该起始点作为当前规划周期的驾驶路线上的轨迹点。

步骤S14,检测所述当前规划周期的驾驶路线是否行驶结束,若是则返回执行步骤S11。

本实施例中纸堆驾驶的驾驶路线周期性进行规划,例如panning的规划周期是200Ms,在0s-200ms的时间就是用离自己最近的点预瞄点来规划驾驶路线。驾驶路线生成后用ProtoBuf将驾驶路线的各个预瞄点的驾驶参数信息发布出去给控制模块,控制模块收到后,对车辆按照驾驶路线进行自动驾驶驾。

本实施例中的自动驾驶路线规划方法,可以在不借助其他感知,地图,预测等模块下实现自动驾驶控制,使用低成本方案,高效便捷,得到平滑安全的驾驶路线,并将得到的路径信息处理成一条安全的可执行的驾驶轨迹交给车辆控制模块执行。

请参阅图2,为本发明第二实施例中的自动驾驶路线规划方法,包括步骤S21~S26。

步骤S21,检测车辆是否有底盘信息以及定位信息,若是执行步骤S21,否则执行步骤S29。

步骤S22,获取所述车辆的定位信息,并查询是否有历史驾驶路线。

车辆在启动自动驾驶模式时,首先在自动驾驶主函数中建立规划模块,然后建立局部瞄点规划节点以及轨迹运行生成函数,该轨迹运行生成函数的发布的频率为5Hz。之后调用循环运行函数run(),以调用自动驾驶车辆的底盘信息和定位信息。如果系统中没有调取到底盘信息和定位信息,则系统报错“没有可靠的底盘和定位信息,退出自动驾驶规划循环模式!”。如果能接收到车辆中可靠的底盘信息和定位信息时,启动局部规划流程,调用系统中的瞄点规划相关的函数算法。

底盘信息是包括方向盘转角,方向盘角速度,车辆速度,加速度等。自动驾驶规划模块根据底盘信息,确定目前车辆的一些速度状态,以在执行规划的驾驶路线时可根据车辆当前的速度状态以及驾驶路线各个预瞄点的驾驶参数来实时对整车进行控制。

车辆自动驾驶过程中,自动驾驶路线是实时周期性规划的,每次规划成功的轨迹都会被存储为历史轨迹,以便于下一次规划的自动驾驶路线的生成,历史驾驶路线可通过查找函数来查找。

步骤S23,当查询到有历史驾驶路线时,则查找最近的一次历史驾驶路线中与当前规划周期的相对时间最接近的预瞄点。

步骤S24,计算所述预瞄点与所述当前位置之间的距离。

步骤S25,当所述距离小于阈值时,将所述最接近的预瞄点作为所述目标预瞄点。

步骤S26,当所述距离大于阈值或查询到没有历史驾驶路线时,调用vehicle_state_point函数计算预设的轨迹瞄点集合中离所述当前位置最近的目标预瞄点。

当查询到上一次的历史驾驶路线后,调用自动计算起点匹配函数,获取上一次的历史驾驶路线中的预瞄点的驾驶参数信息,利用二分法则,寻找上一次的史驾驶路线中,相对时间最接近的预瞄点,然后把这个预瞄点的位置和本车实际位置相比,计算相应的偏差值。比如:panning的规划周期是200Ms,在0s-200ms的时间就是用离自己最近的点匹配来规划路线,例如针对200ms的时间,就开始用两分法开始查找上一次的历史驾驶路线中相对时间接近200ms的预瞄点A',然后用本车位置和匹配的预瞄点A'比较,计算两者的偏差值。

所以说每次在一个规划周期结束后,就开始用2分法开始比较,如果偏差值大于阈值,就算出离自己距离最近的点来往后规划驾驶路线;如果偏差小于阈值,就用A'这个点往后来规划驾驶路线。具体的,该阈值例如为2m,如偏差值小于2米,则计算出离现在位置最近的预瞄点以及该最近的预瞄点的索引index,以及往后800个预瞄点,如果规划成功,将本次规划的planning_traj赋值last_traj,给以用于下一次路径规划。如果偏差值大于2米,则用vehicle_state_point算最近的匹配点,然后重新规划,调用循迹的规划算法的函数Plan(vehicle_state_point,planning_trajectory)。

本实施例中,通过调用函数计算预瞄点集合中离车辆的当前位置最近的预瞄点,即在历史数据里找到一个点,然后把它看做起始点的相近点。然后将当前规划周期的预瞄点区间[第一个预瞄点,最后一个预瞄点]的元素赋值到在轨迹容器中,修改在轨迹集合中的相对时间。以第一个点为0起始点,然后往后填充到800个点,规划不成功后,清除这一次的轨迹序列,返回false,如果规划成功,把规划好的轨迹作为上一次的规划轨迹,把发布时间作为执行开始时间。然后用ProtoBuf将轨迹点的信息发布出去给控制模块,控制模块收到位置信息,theta角度,Kappa曲率,relative相对时间,V线速度,acceleration a加速度,accumulated_s距离参数,对车辆按照之前的预瞄路线进行自动驾驶驾驶控制行驶。

步骤S27,根据所述目标预瞄点的驾驶参数信息以及所述目标预瞄点之后的预设个预瞄点的驾驶参数信息,规划当前规划周期的驾驶路线。

步骤S28,检测所述当前规划周期的驾驶路线是否行驶结束,若是则返回执行步骤S21。

步骤S29,退出自动驾驶模式。

请参阅图3,为本发明第三实施例中的自动驾驶路线规划装置,包括:

第一确定模块10,用于根据车辆的定位信息确定所述车辆的当前位置;

第二确定模块20,用于确定轨迹预瞄点集合中距离所述当前位置最近的目标预瞄点,所述轨迹瞄点集合包含多个预瞄点以及各个预瞄点对应设置的驾驶参数信息;

规划模块30,用于根据所述目标预瞄点的驾驶参数信息以及所述目标预瞄点之后的预设个预瞄点的驾驶参数信息,规划当前规划周期的驾驶路线;

返回执行模块40,用于检测所述当前规划周期的驾驶路线是否行驶结束,并当行驶结束时返回执行获取车辆的当前位置的步骤。

进一步的,上述自动驾驶路线规划装置,其中,所述第二确定模块20具体用于:

查询是否有历史驾驶路线;

查询到有历史驾驶路线时,则查找最近的一次历史驾驶路线中与当前规划周期的相对时间最接近的预瞄点;

计算所述预瞄点与所述当前位置之间的距离;

当所述距离小于阈值时,将所述相对时间最接近的预瞄点作为所述目标预瞄点;

当所述距离大于阈值或查询到没有历史驾驶路线时,调用vehicle_state_point函数计算所述轨迹瞄点集合中离所述当前位置最近的目标预瞄点。

进一步的,上述自动驾驶路线规划装置,包括:

判断模块,用于检测车辆是否有底盘信息以及定位信息;

执行模块,用于当车辆有底盘信息以及定位信息时,执行获取所述车辆的定位信息的步骤;

退出模块,用于当车辆没有底盘信息以及定位信息时,退出自动驾驶模式。

本发明实施例所提供的自动驾驶路线规划装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

本发明还提供了一种电子设备,包括:存储器,处理器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时实现上述任意一实施例所述的方法。

本发明还提供了一种计算机可读存储介质,其上存储有程序,所述程序被处理器执行时实现上述任意一实施例所述的方法。

本领域技术人员可以理解,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或装置(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或装置取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或装置而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或装置或结合这些指令执行系统、装置或装置而使用的装置。

计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或它们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

相关技术
  • 自动驾驶路线规划方法、装置、可读存储介质及电子设备
  • 车辆的路线规划方法、装置、电子设备及可读存储介质
技术分类

06120113285836