路径规划方法、路径规划装置及计算机可读存储介质
技术领域
本公开涉及计算机技术领域,特别涉及一种路径规划方法、路径规划装置及计算机可读存储介质。
背景技术
随着无人车技术的发展,无人车的应用领域变得更加广泛。
在无人车的工作过程中,一般需要提前规划无人车的行驶路径,然后控制无人车沿着规划好的路径行驶。因此,提前规划的路径能够为无人车的行驶起到导航和指引的作用。
发明内容
发明人研究发现,相关技术中为无人车规划的路径通常由若干个航迹参考点组成,这些航迹参考点之间形成一段段折线。而无人车在实际的行驶过程中难以沿着一段段折线通过各个航迹参考点,因此需要对各个航迹参考点组成的路径进行平滑处理。如果仅基于几何知识对路径进行平滑处理,可能导致生成的平滑路径不符合车辆的运动特性。一方面,车辆在运动时的速度、加速度、车轮偏转角、车轮偏转角速度等参数指标,可能导致车辆实际上无法沿着基于几何知识进行平滑处理得到的路径行驶;另一方面,为了使车辆沿着基于几何知识进行平滑处理得到的路径行驶,将会对车辆运动时的速度、加速度等参数指标造成限制。
本公开解决的技术问题是,如何根据给定的航迹参考点规划出符合车辆运动特性的平滑路径,从而更加准确、直接、客观的指引车辆快速经过各个航迹参考点。
根据本公开实施例的一个方面,提供了一种路径规划方法,包括:将车辆沿着规划的平滑路径运动所需的时长、平滑路径与给定的各个航迹参考点之间的累计最小距离作为优化目标,构建第一目标函数;平滑路径经过给定的各个航迹参考点;将车辆的运动学方程、车辆的起始状态、车辆的终止状态、平滑路径与各个航迹参考点之间的最小距离不大于预设值作为第一约束条件;在满足第一约束条件的情况下,采用最优化方法求解使第一目标函数取值最小时的平滑路径。
在一些实施例中,将车辆沿着规划的平滑路径运动所需的时长、平滑路径与给定的各个航迹参考点之间的累计最小距离作为优化目标,构建第一目标函数包括:将车辆沿着规划的平滑路径运动所需的时长、平滑路径与给定的各个航迹参考点之间的累计最小距离进行加权求和,得到第一目标函数。
在一些实施例中,第一目标函数为
其中,t
f表示未知的车辆经过最后一个航迹参考点的时刻,t
0表示已知的车辆经过第一个航迹参考点的时刻,λ为已知的大于零的预设常数,i为航迹参考点的标识,N为已知的航迹参考点的总数,
x(τ)为未知的τ时刻车辆的后轮轴中点在平滑路径的横坐标,y(τ)为未知的τ时刻车辆的后轮轴中点在平滑路径的纵坐标,x
i为已知的航迹参考点i的横坐标,y
i为已知的航迹参考点i的纵坐标。
在一些实施例中,关于平滑路径与各个航迹参考点之间的最小距离不大于预设值的第一约束条件为
m为大于零的预设值;关于车辆的起始状态的第一约束条件为[a(t
0),ω(t
0),v(t
0),φ(t
0),x(t
0),y(t
0),θ(t
0)]=[0,0,v
st,0,x(t
0),y(t
0),θ(t
0)],其中,a表示车辆在t
0时刻沿车体纵轴方向的加速度,ω(t
0)表示车辆在t
0时刻的前轮偏转角速度,v(t
0)表示车辆在t
0时刻沿车体纵轴方向的速度,φ(t
0)表示车辆在t
0时刻的前轮偏转角,x(t
0)表示车辆的后轮轴中点在t
0时刻的横坐标,y(t
0)表示车辆的后轮轴中点在t
0时刻的纵坐标,θ(t
0)表示车辆在t
0时刻的姿态角,v
st表示车辆沿着规划的平滑路径匀速运动的速度值;关于车辆的终止状态的第一约束条件为[a(t
f),ω(t
f),v(t
f),φ(t
f),x(t
f),y(t
f),θ(t
f)]=[0,0,v
st,0,x(t
f),y(t
f),θ(t
f)],其中,a(t
f)表示车辆在t
f时刻沿车体纵轴方向的加速度,ω(t
f)表示车辆在t
0时刻的前轮偏转角速度,v(t
f)表示车辆在t
f时刻沿车体纵轴方向的速度,φ(t
f)表示车辆在t
f时刻的前轮偏转角,x(t
f)表示车辆的后轮轴中点在t
f时刻的横坐标,y(t
f)表示车辆的后轮轴中点在t
f时刻的纵坐标,θ(t
f)表示车辆在t
f时刻的姿态角;关于车辆的运动学方程的第一约束条件为:
L表示车辆前后轮之间的轴距。
在一些实施例中,在满足第一约束条件的情况下,采用最优化方法求解使第一目标函数取值最小时的平滑路径为:利用非线性规划求解器,求解在满足第一约束条件的情况下,使第一目标函数取值最小时变量x(t)与变量y(t)之间的关系式所表示的路径。
在一些实施例中,利用非线性规划求解器,求解在满足第一约束条件的情况下,使第一目标函数取值最小时变量x(t)与变量y(t)之间的关系式所表示的路径包括:取第一约束条件中的部分约束条件作为第二约束条件;利用非线性规划求解器,求解在满足第二约束条件的情况下,使第一目标函数取值最小时变量x(t)与变量y(t)之间的关系式所表示的路径,得到第一求解结果;将第一求解结果作为初始解,利用非线性规划求解器,求解在满足第一约束条件的情况下,使第一目标函数取值最小时变量x(t)与变量y(t)之间的关系式所表示的路径,得到最终求解结果。
在一些实施例中,取第一约束条件中的部分约束条件作为第二约束条件包括:将车辆的运动学方程、车辆的起始状态、车辆的终止状态作为第二约束条件。
在一些实施例中,利用非线性规划求解器,求解在满足第二约束条件的情况下,使第一目标函数取值最小时变量x(t)与变量y(t)之间的关系式所表示的路径,得到第一求解结果包括:取第一约束条件中的部分约束条件作为第三约束条件;取第一目标函数中的部分项作为第二目标函数;利用非线性规划求解器,求解在满足第三约束条件的情况下,使第二目标函数取值最小时变量x(t)与变量y(t)之间的关系式所表示的路径,得到第二求解结果;将第二求解结果作为初始解,利用非线性规划求解器,求解在满足第二约束条件的情况下,使第一目标函数取值最小时变量x(t)与变量y(t)之间的关系式所表示的路径,得到第一求解结果。
在一些实施例中,取第一约束条件中的部分约束条件作为第三约束条件包括:将车辆的起始状态、车辆的终止状态、平滑路径与各个航迹参考点之间的最小距离不大于预设值作为第三约束条件;取第一目标函数中的部分项作为第二目标函数包括:将平滑路径与给定的各个航迹参考点之间的累计最小距离,作为第二目标函数。
根据本公开实施例的另一个方面,提供了一种路径规划装置,包括:目标函数构建模块,被配置为将车辆沿着规划的平滑路径运动所需的时长、平滑路径与给定的各个航迹参考点之间的累计最小距离作为优化目标,构建第一目标函数;平滑路径经过给定的各个航迹参考点;约束条件构建模块,被配置为将车辆的运动学方程、车辆的起始状态、车辆的终止状态、平滑路径与各个航迹参考点之间的最小距离不大于预设值作为第一约束条件;最优化问题求解模块,被配置为在满足第一约束条件的情况下,采用最优化方法求解使第一目标函数取值最小时的平滑路径。
根据本公开实施例的又一个方面,提供了一种路径规划装置,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器中的指令,执行前述的路径规划方法。
根据本公开实施例的再一个方面,提供了一种计算机可读存储介质,其中,计算机可读存储介质存储有计算机指令,指令被处理器执行时实现前述的路径规划方法。
本公开能够根据给定的航迹参考点规划出符合车辆运动特性的平滑路径,从而更加准确、直接、客观的指引车辆快速经过各个航迹参考点。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出了航迹参考点以及导航路径的示意图。
图2示出了本公开一些实施例的路径规划方法的流程示意图。
图3示出了规划的平滑路径与给定的各个航迹参考点之间的最小距离的示意图。
图4示出了本公开一些实施例的路径规划装置的结构示意图。
图5示出了本公开另一些实施例的路径规划装置的结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
图1示出了航迹参考点以及导航路径的示意图。如图1所示,若干个圆圈表示离散的航迹参考点,这些航迹参考点为已知条件。带箭头平滑曲线表示待规划的导航路径,该导航路径为求解目标。为了准确、客观地为车辆规划出平滑路径,需要建立最优化控制问题。
该最优化控制问题以车辆尽量贴近各个航迹参考点快速行驶为优化目标,以车辆在规划的平滑路径上行驶时符合车辆运动特性为主要约束条件。对于该主要约束条件而言,假设在惯性坐标系OXY中存在给定的N个航迹参考点,记录于点集{(xi,yi),i=1,…,N}中。然后,可以在惯性坐标系OXY中建立车辆的运动学模型(例如自行车模型)。该模型通常是由一系列微分方程构成的方程组,表示车辆内在的机械指标或物理指标,以约束最优化控制问题的求解结果符合车辆的运动特性。此外,该最优化控制问题还需要其它约束条件,如限定车辆运动过程中从某一起点行驶到某一终点,且车辆在行驶过程中与各个航迹参考点之间的偏移距离不能过大。
为了求解这个最优化控制问题,可以将该最优化控制问题离散化,从而转化为一个非线性规划问题,随后进行最优化求解。
下面结合图2描述本公开一些实施例的路径规划方法。
图2示出了本公开一些实施例的路径规划方法的流程示意图。如图2所示,本实施例包括步骤S202~步骤S206。
在步骤S202中,将车辆沿着规划的平滑路径运动所需的时长、规划的平滑路径与给定的各个航迹参考点之间的累计最小距离作为优化目标,构建第一目标函数。其中,规划的平滑路径经过给定的各个航迹参考点。
下面通过图3解释规划的平滑路径与给定的各个航迹参考点之间的累计最小距离。图3示出了规划的平滑路径与给定的各个航迹参考点之间的最小距离的示意图。如图3所示,实心三角形表示航迹参考点,经过各个航迹参考点的实线表示规划得到的平滑路径,实心圆形表示曲线上与各个航迹参考点距离最近的点,虚线表示规划的平滑路径与给定的各个航迹参考点之间的最小距离。对于某一个特定的航迹参考点,在规划的平滑路径上存在对应的行驶点与该特定的航迹参考点距离最小。将这些最小距离累计相加,即可得到规划的平滑路径与给定的各个航迹参考点之间的累计最小距离。将车辆沿着规划的平滑路径运动所需的时长作为优化目标,可以使车辆沿着平滑路径尽量快速通过各个航迹参考点,即任务完成时间最短;将规划的平滑路径与给定的各个航迹参考点之间的累计最小距离作为优化目标,可以使生成的平滑路径尽量贴近给定的航迹参考点,即行驶过程中偏离各个航迹参考点的累积程度尽量小。
在构建第一目标函数时,可以将车辆沿着规划的平滑路径运动所需的时长、平滑路径与给定的各个航迹参考点之间的累计最小距离进行加权求和,得到第一目标函数。第一目标函数的具体形式在后文进行详细介绍。
在步骤S204中,将车辆的运动学方程、车辆的起始状态、车辆的终止状态、平滑路径与各个航迹参考点之间的最小距离不大于预设值作为第一约束条件。
其中,车辆的运动学方程具体可以采用车辆在自行车模型中的运动学方程,以简化计算过程。具体的运动学方程在后文中介绍。
在步骤S206中,在满足第一约束条件的情况下,采用最优化方法求解使第一目标函数取值最小时的平滑路径。
本实施例能够在给定有限个航迹参考点的前提下,根据给定的航迹参考点规划出符合车辆运动特性的平滑路径,从而实时的生成易被车辆跟踪行驶的平滑路径,进而更加准确、直接、客观的指引车辆快速经过各个航迹参考点。同时,由于规划路径时考虑了车辆的运动特性,本实施例能够针对各种车型规划出差异化、定制化的平滑路径,从而对不同车型都的行驶过程都能起到较好的指引作用。
下面介绍第一目标函数的优选实施例。
第一目标函数可以为
其中,t
f表示未知的车辆经过最后一个航迹参考点的时刻,t
0表示已知的车辆经过第一个航迹参考点的时刻,λ为已知的大于零的预设常数,i为航迹参考点的标识,N为已知的航迹参考点的总数,
x(τ)为未知的τ时刻车辆在平滑路径的横坐标,y(τ)为未知的τ时刻车辆在平滑路径的纵坐标,x
i为已知的航迹参考点i的横坐标,y
i为已知的航迹参考点i的纵坐标。上式中,其中λ>0代表目标函数中对于运动完成时间以及轨迹偏差的折中考虑。
相应的,下面介绍第一约束条件的优选实施例。
关于平滑路径与各个航迹参考点之间的最小距离不大于预设值的第一约束条件为
m为大于零的预设值,用于表征平滑路径与给定的各个航迹参考点之间的最小距离的允许偏差上限。该约束条件限制了车辆在整个运动过程中能够在N个等间隔采样时刻与相应的航迹航迹点之间的距离不至于太远,添加该约束条件能够防止出现规划路径大幅度偏离航迹参考点的求解结果。
关于车辆的起始状态的第一约束条件为[a(t0),ω(t0),v(t0),φ(t0),x(t0),y(t0),θ(t0)]=[0,0,vst,0,x(t0),y(t0),θ(t0)]。其中,a表示车辆在t0时刻沿车体纵轴方向的加速度,ω(t0)表示车辆在t0时刻的前轮偏转角速度,v(t0)表示车辆在t0时刻沿车体纵轴方向的速度,φ(t0)表示车辆在t0时刻的前轮偏转角,x(t0)表示车辆的后轮轴中点在t0时刻的横坐标,y(t0)表示车辆的后轮轴中点在t0时刻的纵坐标,θ(t0)表示车辆在t0时刻的姿态角,vst表示车辆沿着规划的平滑路径匀速运动的速度值。
关于车辆的终止状态的第一约束条件为[a(tf),ω(tf),v(tf),φ(tf),x(tf),y(tf),θ(tf)]=[0,0,vst,0,x(tf),y(tf),θ(tf)]。其中,a(tf)表示车辆在tf时刻沿车体纵轴方向的加速度,ω(tf)表示车辆在t0时刻的前轮偏转角速度,v(tf)表示车辆在tf时刻沿车体纵轴方向的速度,φ(tf)表示车辆在tf时刻的前轮偏转角,x(tf)表示车辆的后轮轴中点在tf时刻的横坐标,y(tf)表示车辆的后轮轴中点在tf时刻的纵坐标,θ(tf)表示车辆在tf时刻的姿态角。
关于车辆的运动学方程的第一约束条件为:
其中,x(t)表示车辆的后轮轴中点在t时刻的横坐标,y(t)表示车辆的后轮轴中点在t时刻的纵坐标,θ(t)表示车辆在t时刻的姿态角,v(t)表示车辆在t时刻沿车体纵轴方向的速度,φ(t)表示车辆在t时刻的前轮偏转角,a(t)表示车辆在t时刻沿车体纵轴方向的加速度,ω(t)表示车辆在t时刻的前轮偏转角速度,L表示车辆前后轮之间的轴距。
在满足第一约束条件的情况下,采用最优化方法求解使第一目标函数取值最小时的平滑路径的时,可以利用非线性规划求解器,求解在满足第一约束条件的情况下,使第一目标函数取值最小时变量x(t)与变量y(t)之间的关系式所表示的路径。下面介绍采用最优化方法求解上述平滑路径的过程。
上述最优化控制问题应采用数值优化方法进行求解。求解时,先将上述最优化控制问题进行离散化,从而转化为一个非线性规划问题,随后使用非线性规划求解器求解这个非线性规划问题。发明人已发表论文公开了采用全联立正交配置有限元方法对类似最优化问题进行离散化、并采用内点算法进行数值求解的过程,具体参见Li,Bai,et al."Time-optimal maneuver planning in automatic parallel parking using a simultaneousdynamic optimization approach."IEEE Transactions on IntelligentTransportation Systems 17.11(2016):3263-3274以及Li,Bai,et al."Centralized andoptimal motion planning for large-scale AGV systems:A generic approach."Advances in Engineering Software 106(2017):33-46,在此不作赘述。
然而简单地调用非线性规划求解器并不能令人满意地完成上述求解任务。这是因为直接调用非线性规划求解器求解该非线性规划问题的耗时较长,得到结果的收敛速度往往较低,这回导致规划路径的时效性较差。为了提高求解效率,本公开进一步提出了一种热启动求解方法,下面进行分步介绍。
(一)标记非线性规划问题A。
将“满足第一约束条件的情况下,求解使第一目标函数取值最小时的平滑路径”标记为非线性规划问题A。
(二)构建非线性规划问题B。
取第一约束条件中的部分约束条件作为第二约束条件。例如,可以将车辆的运动学方程、车辆的起始状态、车辆的终止状态作为第二约束条件。然后,将“满足第二约束条件的情况下,求解使第一目标函数取值最小时的平滑路径”标记为非线性规划问题B。
将非线性规划问题B与非线性规划问题A相比较,可以发现非线性规划问题B在约束条件上进行了简化,这会降低非线性规划问题B的求解难度和求解时长。
(三)构建非线性规划问题C。
取第一约束条件中的部分约束条件作为第三约束条件,并取第一目标函数中的部分项作为第二目标函数。例如,将车辆的起始状态、车辆的终止状态、平滑路径与各个航迹参考点之间的最小距离不大于预设值作为第三约束条件;将平滑路径与给定的各个航迹参考点之间的累计最小距离,作为第二目标函数。然后,将“满足第三约束条件的情况下,求解使第二目标函数取值最小时的平滑路径”标记为非线性规划问题C。
将非线性规划问题C与非线性规划问题A相比较,可以发现非线性规划问题C在约束条件和目标函数上都进行了简化,这会大幅降低非线性规划问题C的求解难度和求解时长。本领域技术人员应理解,非线性规划问题C比非线性规划问题B更容易求解。
(四)求解非线性规划问题C。
利用非线性规划求解器求解非线性规划问题C。即,求解在满足第三约束条件的情况下,使第二目标函数取值最小时变量x(t)与变量y(t)之间的关系式所表示的路径,得到非线性规划问题C的求解结果。
(五)求解非线性规划问题B。
将非线性规划问题C的求解结果作为初始解,利用非线性规划求解器求解非线性规划问题B。即,求解在满足第二约束条件的情况下,使第一目标函数取值最小时变量x(t)与变量y(t)之间的关系式所表示的路径,得到非线性规划问题B的求解结果。
(六)求解非线性规划问题A。
将非线性规划问题B的求解结果作为初始解,利用非线性规划求解器,求解非线性规划问题A。即,求解在满足第一约束条件的情况下,使第一目标函数取值最小时变量x(t)与变量y(t)之间的关系式所表示的路径,得到非线性规划问题A的求解结果。
本实施例中,在原始非线性规划问题难以迅速求解的情况下,将该非线性规划问题简化为容易求解的简单非线性规划问题。然后,将简单非线性规划问题的解作为原始非线性规划问题的初始解。通过多次、序贯地实施这种求解方法,能够实现对导航路径规划问题的实时求解,从而提升路径规划的实效性,实现了平滑路径的实时规划。
下面结合图4描述本公开路径规划装置的一些实施例。
图4示出了本公开一些实施例的路径规划装置的结构示意图。如图4所示,该实施例的路径规划装置40包括:
目标函数构建模块402,被配置为将车辆沿着规划的平滑路径运动所需的时长、平滑路径与给定的各个航迹参考点之间的累计最小距离作为优化目标,构建第一目标函数;平滑路径经过给定的各个航迹参考点;
约束条件构建模块404,被配置为将车辆的运动学方程、车辆的起始状态、车辆的终止状态、平滑路径与各个航迹参考点之间的最小距离不大于预设值作为第一约束条件;
最优化问题求解模块406,被配置为在满足第一约束条件的情况下,采用最优化方法求解使第一目标函数取值最小时的平滑路径。
下面结合图5描述本公开路径规划装置的另一些实施例。
图5示出了本公开另一些实施例的路径规划装置的结构示意图。如图5所示,该实施例的路径规划装置50包括:存储器510以及耦接至该存储器510的处理器520,处理器520被配置为基于存储在存储器510中的指令,执行前述任意一些实施例中的路径规划方法。
其中,存储器510例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。
路径规划装置50还可以包括输入输出接口530、网络接口540、存储接口550等。这些接口530、540、550以及存储器510和处理器520之间例如可以通过总线560连接。其中,输入输出接口530为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口540为各种联网设备提供连接接口。存储接口550为SD卡、U盘等外置存储设备提供连接接口。
本公开还包括一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现前述任意一些实施例中的路径规划方法。
本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。