发明内容
鉴于上述问题,提出了以便提供克服上述问题或者至少部分的解决上述问题的一种自动驾驶速度的规划方法及装置、车辆和存储介质,包括:
一种自动驾驶速度的规划方法,方法包括:
在目标车辆基于目标路径进行自动驾驶的过程中,将目标路径上目标车辆未经过的一位置作为第一位置,以及将目标车辆当前的位置作为第二位置;
将第一位置的状态信息作为父节点,并根据父节点和预先离散采样得到的加加速度集合,确定父节点对应的至少一个子节点;子节点包括相对于父节点对应位置预设时长间隔的下一位置的状态信息;
将至少一个子节点添加至开列表中,并将至少一个子节点中成本值最小的子节点移动至闭列表中;
将移动至闭列表中的子节点作为新的父节点,并基于新的父节点继续执行根据父节点和预先离散采样得到的加加速度集合,确定父节点对应的至少一个子节点的步骤,直至添加至开列表中的子节点中,有与第二位置匹配的子节点;
根据闭列表中的子节点,确定用于自动驾驶的目标速度曲线。
可选地,根据父节点和预先离散采样得到的加加速度集合,确定父节点对应的至少一个子节点,包括:
从加加速度集合中获取一目标加加速度;
根据目标加加速度和预设时长间隔,确定父节点对应的一个子节点。
可选地,根据目标加加速度和预设时长间隔,确定父节点对应的一个子节点,包括:
获取预先设置的目标状态约束条件;
根据目标加加速度和预设时长间隔,确定满足目标状态约束条件的、父节点对应的一个子节点。
可选地,至少一个子节点中的每个子节点的成本值通过如下步骤确定:
分别确定至少一个子节点中,每个子节点的执行成本和启发式成本;
根据执行成本和启发式成本,确定每个节点的成本值。
可选地,确定至少一个子节点中,每个子节点的执行成本,包括:
确定目标子节点对应的目标速度相关成本和目标障碍物相关成本;
获取目标子节点对应的父节点的执行成本;第二位置的执行成本为预设值;
根据目标速度相关成本、目标障碍物相关成本,以及目标子节点对应的父节点的执行成本,确定目标子节点的执行成本;
其中,目标速度相关成本包括:
速度成本、加速度成本,以及加加速度成本。
可选地,根据闭列表中的子节点,确定用于自动驾驶的目标速度曲线,包括:
逆向搜索闭列表中的子节点,以获取至少一个用于生成目标速度曲线的子节点;
根据至少一个用于生成目标速度曲线的子节点对应的状态信息,生成目标速度曲线。
本发明实施例还提供了一种自动驾驶速度的规划装置,装置包括:
位置确定模块,用于在目标车辆基于目标路径进行自动驾驶的过程中,将目标路径上目标车辆未经过的一位置作为第一位置,以及将目标车辆当前的位置作为第二位置;
第一节点确定模块,用于将第一位置的状态信息作为父节点,并根据父节点和预先离散采样得到的加加速度集合,确定父节点对应的至少一个子节点;子节点包括相对于父节点对应位置预设时长间隔的下一位置的状态信息;
节点移动模块,用于将至少一个子节点添加至开列表中,并将至少一个子节点中成本值最小的子节点移动至闭列表中;
第二节点确定模块,用于将移动至闭列表中的子节点作为新的父节点,并基于新的父节点继续执行根据父节点和预先离散采样得到的加加速度集合,确定父节点对应的至少一个子节点的步骤,直至添加至开列表中的子节点中,有与第二位置匹配的子节点;
速度曲线确定模块,用于根据闭列表中的子节点,确定用于自动驾驶的目标速度曲线。
可选地,第一节点确定模块,包括:
目标加加速度选取子模块,用于从加加速度集合中获取一目标加加速度;
子节点确定子模块,用于根据目标加加速度和预设时长间隔,确定父节点对应的一个子节点。
可选地,子节点确定子模块,用于获取预先设置的目标状态约束条件;根据目标加加速度和预设时长间隔,确定满足目标状态约束条件的、父节点对应的一个子节点。
可选地,节点移动模块,包括:
成本确定子模块,用于分别确定至少一个子节点中,每个子节点的执行成本和启发式成本;根据执行成本和启发式成本,确定每个节点的成本值。
可选地,成本确定子模块,用于确定目标子节点对应的目标速度相关成本和目标障碍物相关成本;获取目标子节点对应的父节点的执行成本;第二位置的执行成本为预设值;根据目标速度相关成本、目标障碍物相关成本,以及目标子节点对应的父节点的执行成本,确定目标子节点的执行成本;其中,目标速度相关成本包括:速度成本、加速度成本,以及加加速度成本。
可选地,速度曲线确定模块,包括:
搜索子模块,用于逆向搜索闭列表中的子节点,以获取至少一个用于生成目标速度曲线的子节点;
曲线生成子模块,用于根据至少一个用于生成目标速度曲线的子节点对应的状态信息,生成目标速度曲线。
本发明实施例还提供了一种车辆,包括处理器、存储器及存储在存储器上并能够在处理器上运行的计算机程序,计算机程序被处理器执行时实现如上的自动驾驶速度的规划方法。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现如上的自动驾驶速度的规划方法。
本发明实施例具有以下优点:
本发明实施例中,在目标车辆基于目标路径进行自动驾驶的过程中,将目标路径上目标车辆未经过的一位置作为第一位置,以及将目标车辆当前的位置作为第二位置;将第一位置的状态信息作为父节点,并根据父节点和预先离散采样得到的加加速度集合,确定父节点对应的至少一个子节点;子节点包括相对于父节点对应位置预设时长间隔的下一位置的状态信息;将至少一个子节点添加至开列表中,并将至少一个子节点中成本值最小的子节点移动至闭列表中;根据闭列表中的子节点,确定用于自动驾驶的目标速度曲线。通过本发明实施例,实现了基于对加加速度的离散采样来扩展节点,并基于所扩展的节点来进行准确的速度规划;且基于混合A*搜索算法来确定自动驾驶的速度,保证了目标车辆在自动驾驶的过程中能够与障碍物保持安全距离,以及保证了目标车辆内用户的舒适度。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1,示出了本发明实施例的一种自动驾驶速度的规划方法的步骤流程图,包括如下步骤:
步骤101、在目标车辆基于目标路径进行自动驾驶的过程中,将目标路径上目标车辆未经过的一位置作为第一位置,以及将目标车辆当前的位置作为第二位置;
当目标车辆处于自动驾驶的过程中时,可以基于环境的情况生成避开静态障碍物、迎面而来的对向车辆,以及低速行驶车辆的目标路径;然后,目标车辆可以按照目标路径进行自动驾驶。
但是在实际应用中,环境中不仅有静态障碍物、迎面而来的对向车辆,以及低速行驶车辆,还有动态障碍物、同向且需要变道的车辆,以及高速行驶的车辆等与目标路径发生干涉的移动的障碍物。
为了避免目标车辆在按照目标路径自动驾驶的过程中,与上述障碍物发生碰撞,可以通过调整自车速度,来保持与目标路径发生干涉的动态障碍物的安全距离。
具体的,可以通过步骤101-步骤105来生成目标速度曲线,以便目标车辆可以基于目标速度曲线来对自车速度进行调整,以保持与目标路径发生干涉的动态障碍物的安全距离。
首先,可以在目标车辆正在基于目标路径进行自动驾驶的过程中,先获取目标车辆当前的位置,以及将目标路径上目标车辆未经过的一位置作为目的地;为了便于说明,后续将目的地称作第一位置,将当前的位置称作第二位置。
作为一示例,当前的位置也可以是与目标车辆当前时刻在目标路径上的位置,距离一定间隔且处于目标路径上的一位置;当然,当前的位置与目标车辆当前时刻在目标路径上的位置的距离,比目的地与目标车辆当前时刻在目标路径上的位置的距离是要小的。
步骤102、将第一位置的状态信息作为父节点,并根据父节点和预先离散采样得到的加加速度集合,确定父节点对应的至少一个子节点;子节点包括相对于父节点对应位置预设时长间隔的下一位置的状态信息;
然后,可以再获取第一位置的状态信息;其中,状态信息可以包括目标车辆在该位置时,与行驶状态相关的信息,例如:位置、速度、加速度、以及到达时间,本发明实施例对此不作限制。
在获取到第一位置的状态信息后,可以将第一位置的状态信息作为父节点;例如:第一位置的状态信息为(位置1、速度1、加速度1、到达时间1),则可以将状态信息(位置1、速度1、加速度1、到达时间1)作为父节点。
然后,可以根据父节点,以及预先通过离散采样得到的加加速度集合,确定与该父节点对应的一个或多个状态信息,并将该一个或多个状态信息作为该父节点对应的子节点;其中,父节点与子节点可以是间隔预设时长间隔的前后两个位置对应的状态信息。
步骤103、将至少一个子节点添加至开列表中,并将至少一个子节点中成本值最小的子节点移动至闭列表中;
在确定父节点对应的至少一个子节点后,可以将该至少一个子节点添加至预先设置的开列表中。
同时,可以分别确定每个子节点的成本值,并将其中成本值最小的一个子节点从开列表中移动至闭列表中。其中,成本值可以用于表征一数据与一预设数据之间的偏离程度,例如:该子节点中的位置,与发生干涉的移动的障碍物的位置的距离值,相对于预设的安全距离值之间的偏离程度,本发明实施例对此不作限制。
步骤104、将移动至闭列表中的子节点作为新的父节点,并基于新的父节点继续执行根据父节点和预先离散采样得到的加加速度集合,确定父节点对应的至少一个子节点的步骤,直至添加至开列表中的子节点中,有与第二位置匹配的子节点;
在将开列表中的子节点移动至闭列表时,可以将该被移动的子节点作为新的父节点,并重新执行步骤102-步骤104。
具体的,可以根据新的父节点和预先离散采样得到的加加速度集合,确定该新的父节点对应的至少一个子节点。
在重复执行步骤102-步骤104的过程中,当检测到添加至开列表中的子节点中,存在与第二位置匹配的子节点时,可以判定节点的扩展已经到达了目的地;此时,可以结束扩展节点,并执行步骤105,以确定用于对自动驾驶中的目标车辆进行控制的速度。
步骤105、根据闭列表中的子节点,确定用于自动驾驶的目标速度曲线。
在结束节点的扩展后,可以基于闭列表中的子节点,来确定用于控制目标车辆从当前位置,自动驾驶到目的地的目标速度曲线。
具体的,可以先确定闭列表中的子节点对应的状态信息,然后从该状态信息中获取到达时间和位置;再基于所获取到的到达时间和位置,生成目标速度曲线。
作为一示例,在生成目标速度曲线后,目标车辆可以按照目标速度曲线,在目标路径上进行自动驾驶,直至行驶到目的地。
当目标车辆到达目的地,或者即将到达目的地时,可以重新执行上述步骤101-步骤105,以重新选定目的地,以及重新生成速度曲线,本发明实施例对此不作限制。
本发明实施例中,在目标车辆基于目标路径进行自动驾驶的过程中,将目标路径上目标车辆未经过的一位置作为第一位置,以及将目标车辆当前的位置作为第二位置;将第一位置的状态信息作为父节点,并根据父节点和预先离散采样得到的加加速度集合,确定父节点对应的至少一个子节点;子节点包括相对于父节点对应位置预设时长间隔的下一位置的状态信息;将至少一个子节点添加至开列表中,并将至少一个子节点中成本值最小的子节点移动至闭列表中;根据闭列表中的子节点,确定用于自动驾驶的目标速度曲线。通过本发明实施例,实现了基于对加加速度的离散采样来扩展节点,并基于所扩展的节点来进行准确的速度规划;且基于混合A*搜索算法来确定自动驾驶的速度,保证了目标车辆在自动驾驶的过程中能够与障碍物保持安全距离,以及保证了目标车辆内用户的舒适度。
参照图2,示出了本发明实施例的另一种自动驾驶速度的规划方法的步骤流程图,包括如下步骤:
步骤201、在目标车辆基于目标路径进行自动驾驶的过程中,将目标路径上目标车辆未经过的一位置作为第一位置,以及将目标车辆当前的位置作为第二位置;
在实际应用中,可以在目标车辆正在基于目标路径进行自动驾驶的过程中,先获取目标车辆当前的位置,以及将目标路径上目标车辆未经过的一位置作为目的地;为了便于说明,后续将目的地称作第一位置,将当前的位置称作第二位置。
作为一示例,目标路径可以是针对结构化道路生成的,也可以是针对非结构化道路生成的,本发明实施例对此不作限制。
步骤202、将第一位置的状态信息作为父节点,并从加加速度集合中获取一目标加加速度;
然后,可以再获取第一位置的状态信息,并将第一位置的状态信息作为父节点。
同时,可以将预先通过离散采样得到的加加速度集合中的一个加加速度,作为目标加加速度。具体的,可以依次将加加速度集合中的每个加加速度作为目标加加速度,以生成该父节点在不同加加速度下的子节点。
例如:加加速集合包括(5m/s3,4m/s3,3m/s3,2m/s3,1m/s3),则可以依次将5m/s3、4m/s3、3m/s3、2m/s3,以及1m/s3作为目标加加速度。
步骤203、根据目标加加速度和预设时长间隔,确定父节点对应的一个子节点;
然后,可以根据目标加加速度和预设时长间隔,计算父节点对应的一个子节点。
例如:第一位置的状态信息包括位置si-1、速度vi-1、加速度ai-1和到达时间ti-1,则父节点可以设为(si-1,vi-1,ai-1,ti-1),目标加加速度为ji,预设时长间隔为Δt,则可以通过如下公式,计算得到该父节点在目标加加速度下的一个子节点(si,vi,ai,ti):
ai=ai-1+ji*Δt (3);
ti=ti-1+Δt (4)。
在实际应用中,位置、速度、加速度、加加速度等都可能存在一定的约束,而不是随意取值的,例如:速度受道路限速所约束,位置受障碍物的位置所限制。
因此,本发明实施例中,步骤203具体可以通过如下子步骤实现:
子步骤11、获取预先设置的目标状态约束条件;
首先,可以先获取预先设置的目标状态约束条件;目标状态约束条件可以包括对位置的约束条件,对速度的约束条件、对加速度的约束条件、对加加速度的约束条件等。
si 和
分别为位置上下限,其可以根据第一位置和第二位置确定;同时,还需要保证位置不应与障碍物发生干涉。
是速度的极限,可以由道路限速、障碍物接近减速、根据路径曲率和最大横向加速度的速度限制获得:
vi(s)≤vmax;
其中,vmax表示交通规则给出的限速;
LatAccmax表示最大横向加速度,可以是预先设置的值;
κi(s)表示目标路径上si所映射的位置处的曲率;
d(s)表示目标车辆与障碍物的距离;
dsafe表示目标车辆与障碍物的安全距离,可以是预先设置的值。
对加速度的约束条件可以是:LonAccmin≤ai≤LonAccmax;
其中,LonAccmin和LonAccmax分别是最小纵向加速度和最大纵向加速度,可以是预先设置的值。
对加加速度的约束条件可以是:LonJerkmin≤ji≤LonJerkmax;
其中,LonJerkmin和LonJerkmax分别是最小纵向加加速度和最大纵向加加速度,可以是预先设置的值。
子步骤12、根据目标加加速度和预设时长间隔,确定满足目标状态约束条件的、父节点对应的一个子节点。
然后,可以基于目标加加速度和预设时长间隔,确定与父节点对应的一个能够满足目标状态约束条件的子节点。
作为一示例,如果根据目标加加速度和预设时长间隔所确定的子节点,不满足目标约束条件的话,则可以重新从加加速度集合中,获取另一个加加速度,并将其作为目标加加速度来重新确定父节点的子节点,本发明实施例对此不作限制。
步骤204、将至少一个子节点添加至开列表中,并将至少一个子节点中成本值最小的子节点移动至闭列表中;
当加加速度集合中所有加加速度都被作为过目标加加速度后,可以得到父节点的至少一个子节点;此时,可以将该至少一个子节点添加至开列表中。
然后,可以分别确定开列表中每个子节点的成本值,并将其中成本值最小的一个子节点从开列表中移动至闭列表中。具体的,可以将成本值最小的一个子节点从开列表中删除,并添加至闭列表中。
在本发明一实施例中,子节点的成本值可以通过如下子步骤确定:
子步骤21、分别确定至少一个子节点中,每个子节点的执行成本和启发式成本;
其中,执行成本g(n)可以表示从第二位置对应的节点到该子节点的开销;启发式成本h(n)可以表示该子节点到目的地对应的节点的开销。
在获取到父节点对应的至少一个子节点后,可以基于子节点对应的状态信息,以及第二位置对应的节点所对应的状态信息,来确定对应子节点的执行成本。
同时,可以基于子节点对应的状态信息,以及第一位置对应的节点所对应的状态信息,来确定对应子节点的启发式成本。
作为一示例,子节点的执行成本可以通过如下方式确定:
确定目标子节点对应的目标速度相关成本和目标障碍物相关成本;获取目标子节点对应的父节点的执行成本;第二位置的执行成本为预设值;根据目标速度相关成本、目标障碍物相关成本,以及目标子节点对应的父节点的执行成本,确定目标子节点的执行成本;
其中,目标速度相关成本可以包括:速度成本、加速度成本,以及加加速度成本。
在实际应用中,可以先将父节点中的一个子节点作为目标子节点;然后,确定与该目标子节点对应的目标速度相关成本和目标障碍物相关成本。
例如:可以通过如下公式计算速度成本Cspeed:
其中,ωspeed表示速度成本的权重,可以预先根据实际情况设定;
v可以表示需要计算速度成本的速度;
vmax可以表示交通规则给出的限速。
可以通过如下公式计算加速度成本Caccel:
其中,
表示针对负的加速度所设置的权重,
表示针对正的加速度所设置的权重;
accel表示需要计算加速度成本的加速度;
LonAccmin和LonAccmax分别是最小和最大纵向加速度,可以是预先设置的值。
可以通过如下公式计算加加速度成本Cjerk:
其中,
表示针对负的加加速度所设置的权重,
表示针对正的加加速度所设置的权重;
jerk表示需要计算加加速度成本的加加速度;
LonJerkmin和LonJerkmax分别是最小和最大纵向加加速度,可以是预先设置的值。
可以通过如下公式计算障碍物相关成本Cobstacle:
其中,dsafe表示目标车辆与障碍物的安全距离,可以是预先设置的值;
s可以表示需要计算障碍物相关成本的目标路径上的一位置;
sup可以是根据障碍物的障碍物路径和障碍物尺寸,以及目标路径和目标车辆尺寸所确定的一碰撞区间的上端点值,slow可以是该碰撞区间的下端点值;
ωovertake可以表示针对sup<s<sup+dsafe所设置的权重,ωfollow可以表示针对slow-dsafe<s<slow所设置的权重。
在确定目标子节点对应的目标速度相关成本和目标障碍物相关成本的同时,还可以获取该目标子节点对应的父节点的执行成本。其中,第二位置的执行成本可以设为预设值,例如:0。
在确定目标子节点对应的目标速度相关成本和目标障碍物相关成本,以及目标子节点对应的父节点的执行成本后,可以根据目标速度相关成本、目标障碍物相关成本,以及目标子节点对应的父节点的执行成本,确定该目标子节点对应的执行成本。
例如:可以通过如下公式计算目标子节点对应的执行成本g(n):
g(n)=g(n-1)+Cspeed+Caccel+Cjerk+Cobstacle (9);
其中,g(n-1)表示目标子节点对应父节点的执行成本;
Cspeed表示速度成本;
Caccel表示加速度成本;
Cjerk表示加加速度成本;
Cobstacle表示障碍物相关成本。
作为另一实施例,可以通过如下公式计算目标子节点的启发式成本h(n):
h(n)=ωheuristic(sgoal-sn) (10);
其中,ωheuristic表示预先为启发式成本设置的权重;
sgoal表示第一位置;
sn表示需要计算启发式成本的位置。
子步骤22、根据执行成本和启发式成本,确定每个节点的成本值。
在确定目标子节点的执行成本和启发式成本后,可以将执行成本和启发式成本的和作为目标子节点的成本值。
例如:目标子节点的成本值f(n)=目标子节点的执行成本g(n)+目标子节点的启发式成本h(n)。
在实际应用中,可以将父节点对应的所有子节点依次作为目标子节点,然后依次确定每个子节点对应的成本值。
步骤205、将移动至闭列表中的子节点作为新的父节点,并基于新的父节点继续执行根据父节点和预先离散采样得到的加加速度集合,确定父节点对应的至少一个子节点的步骤,直至添加至开列表中的子节点中,有与第二位置匹配的子节点;
在将开列表中的子节点移动至闭列表时,可以将该被移动的子节点作为新的父节点,并重新执行步骤202-步骤204。
具体的,可以根据新的父节点和预先离散采样得到的加加速度集合,确定该新的父节点对应的至少一个子节点。
在重复执行步骤202-步骤204的过程中,当检测到添加至开列表中的子节点中,存在与第二位置匹配的子节点时,可以判定节点的扩展已经到达了目的地;此时,可以结束扩展节点。
步骤206、逆向搜索闭列表中的子节点,以获取至少一个用于生成目标速度曲线的子节点;
在结束扩展节点后,可以基于闭列表中的子节点来生成目标速度曲线。
具体的,可以在闭列表中进行逆向搜索,以从闭列表中的子节点中,获取到至少一个用于生成目标速度曲线的子节点。
步骤207、根据至少一个用于生成目标速度曲线的子节点对应的状态信息,生成目标速度曲线。
然后,可以分别确定每个用于生成目标速度曲线的子节点对应的状态信息,并从中提取至少一个到达时间和至少一个位置;再基于所获取到的至少一个到达时间和至少一个位置,生成目标速度曲线。
本发明实施例中,在目标车辆基于目标路径进行自动驾驶的过程中,将目标路径上目标车辆未经过的一位置作为第一位置,以及将目标车辆当前的位置作为第二位置;将第一位置的状态信息作为父节点,并从加加速度集合中获取一目标加加速度;根据目标加加速度和预设时长间隔,确定父节点对应的一个子节点;将至少一个子节点添加至开列表中,并将至少一个子节点中成本值最小的子节点移动至闭列表中;将移动至闭列表中的子节点作为新的父节点,并基于新的父节点继续执行根据父节点和预先离散采样得到的加加速度集合,确定父节点对应的至少一个子节点的步骤,直至添加至开列表中的子节点中,有与第二位置匹配的子节点;逆向搜索闭列表中的子节点,以获取至少一个用于生成目标速度曲线的子节点;根据至少一个用于生成目标速度曲线的子节点对应的状态信息,生成目标速度曲线。通过本发明实施例,实现了基于对加加速度的离散采样来扩展节点,并基于所扩展的节点来进行准确的速度规划;且基于混合A*搜索算法和所设置的约束条件来确定自动驾驶的速度,保证了目标车辆在自动驾驶过程中的安全性,以及车辆内用户的舒适度。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必需的。
参照图3,示出了本发明实施例的一种自动驾驶速度的规划装置的结构示意图,包括如下模块:
位置确定模块301,用于在目标车辆基于目标路径进行自动驾驶的过程中,将目标路径上目标车辆未经过的一位置作为第一位置,以及将目标车辆当前的位置作为第二位置;
第一节点确定模块302,用于将第一位置的状态信息作为父节点,并根据父节点和预先离散采样得到的加加速度集合,确定父节点对应的至少一个子节点;子节点包括相对于父节点对应位置预设时长间隔的下一位置的状态信息;
节点移动模块303,用于将至少一个子节点添加至开列表中,并将至少一个子节点中成本值最小的子节点移动至闭列表中;
第二节点确定模块304,用于将移动至闭列表中的子节点作为新的父节点,并基于新的父节点继续执行根据父节点和预先离散采样得到的加加速度集合,确定父节点对应的至少一个子节点的步骤,直至添加至开列表中的子节点中,有与第二位置匹配的子节点;
速度曲线确定模块305,用于根据闭列表中的子节点,确定用于自动驾驶的目标速度曲线。
本发明的一个可选实施例中,第一节点确定模块302,包括:
目标加加速度选取子模块,用于从加加速度集合中获取一目标加加速度;
子节点确定子模块,用于根据目标加加速度和预设时长间隔,确定父节点对应的一个子节点。
本发明的一个可选实施例中,子节点确定子模块,用于获取预先设置的目标状态约束条件;根据目标加加速度和预设时长间隔,确定满足目标状态约束条件的、父节点对应的一个子节点。
本发明的一个可选实施例中,节点移动模块303,包括:
成本确定子模块,用于分别确定至少一个子节点中,每个子节点的执行成本和启发式成本;根据执行成本和启发式成本,确定每个节点的成本值。
本发明的一个可选实施例中,成本确定子模块,用于确定目标子节点对应的目标速度相关成本和目标障碍物相关成本;获取目标子节点对应的父节点的执行成本;第二位置的执行成本为预设值;根据目标速度相关成本、目标障碍物相关成本,以及目标子节点对应的父节点的执行成本,确定目标子节点的执行成本;其中,目标速度相关成本包括:速度成本、加速度成本,以及加加速度成本。
本发明的一个可选实施例中,速度曲线确定模块305,包括:
搜索子模块,用于逆向搜索闭列表中的子节点,以获取至少一个用于生成目标速度曲线的子节点;
曲线生成子模块,用于根据至少一个用于生成目标速度曲线的子节点对应的状态信息,生成目标速度曲线。
本发明实施例中,在目标车辆基于目标路径进行自动驾驶的过程中,将目标路径上目标车辆未经过的一位置作为第一位置,以及将目标车辆当前的位置作为第二位置;将第一位置的状态信息作为父节点,并根据父节点和预先离散采样得到的加加速度集合,确定父节点对应的至少一个子节点;子节点包括相对于父节点对应位置预设时长间隔的下一位置的状态信息;将至少一个子节点添加至开列表中,并将至少一个子节点中成本值最小的子节点移动至闭列表中;根据闭列表中的子节点,确定用于自动驾驶的目标速度曲线。通过本发明实施例,实现了基于对加加速度的离散采样来扩展节点,并基于所扩展的节点来进行准确的速度规划;且基于混合A*搜索算法来确定自动驾驶的速度,保证了目标车辆在自动驾驶的过程中能够与障碍物保持安全距离,以及保证了目标车辆内用户的舒适度。
本发明实施例还提供了一种车辆,包括处理器、存储器及存储在存储器上并能够在处理器上运行的计算机程序,计算机程序被处理器执行时实现如上的自动驾驶速度的规划方法。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现如上的自动驾驶速度的规划方法。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对所提供的一种自动驾驶速度的规划方法及装置、车辆和存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。