发明内容
为解决或部分解决相关技术中存在的问题,本发明提供一种速度曲线的处理方法、装置、电动汽车及电子设备,该方案能够获得平滑且安全的速度优化曲线,以便车辆可以安全平稳地行驶。
本发明第一方面提供一种速度曲线的处理方法,其包括:
根据参考速度曲线,获取多个离散位置点;根据所述离散位置点和初始边界条件,获得初始控制点;
根据所述初始控制点和目标代价函数,获取对应的优化控制点,其中,所述目标代价函数受设定约束条件约束;根据所述优化控制点控制所述参考速度曲线,生成速度优化曲线。
可选的,所述根据参考速度曲线,获取多个离散位置点,包括:
根据路径曲线,获取参考速度曲线;
对所述参考速度曲线进行离散采样,获取多个离散位置点。
可选的,所述设定约束条件包括以下至少一项:
障碍物边界约束条件、速度极限约束条件、加速度极限约束条件、加加速度极限约束条件、向心加速度极限约束条件、起点边界约束条件及终点边界约束条件。
可选的,所述向心加速度极限约束根据路径曲线的曲率获得;其中,所述路径曲线根据所述离散位置点的纵向距离与曲率的函数进行描述。
可选的,所述根据参考速度曲线,获取多个离散位置点,包括:
根据预设时间差值,分割所述参考速度曲线,分别获得所述离散位置点的时间坐标值。
可选的,所述根据所述离散位置点和初始边界条件,获得初始控制点,包括:
根据三次B样条曲线函数,通过所述离散位置点的纵向位移坐标值,计算获得所述初始控制点的纵向位移坐标值;
根据所述预设时间差值,获得所述初始控制点的时间坐标值。
可选的,所述目标代价函数根据以下至少一项进行代价评估:所述速度优化曲线与参考位置的差距最小代价、所述速度优化曲线与参考速度的差距代价、加速度舒适性代价及加加速度舒适性代价。
可选的,所述目标代价函数根据三次B样条曲线函数进行代价评估。
本发明第二方面提供一种速度曲线的处理装置,其包括:
参考速度曲线获取模块,用于获取参考速度曲线;
离散点采集模块,用于根据参考速度曲线,获取多个离散位置点;
初始控制点获取模块,用于根据所述离散位置点和初始边界条件,获得初始控制点;
优化控制点获取模块,用于根据所述初始控制点和目标代价函数,获取对应的优化控制点,其中,所述目标代价函数受设定约束条件约束;
速度曲线生成模块,用于根据所述优化控制点控制所述参考速度曲线,生成速度优化曲线。
可选的,所述目标代价函数根据三次B样条曲线函数进行代价评估;所述设定约束条件包括以下至少一项:
障碍物边界约束条件、速度极限约束条件、加速度极限约束条件、加加速度极限约束条件、向心加速度极限约束条件、起点边界约束条件及终点边界约束条件。
本发明第三方面提供一种电动汽车,其包括上述任一实施例所述的速度曲线的处理装置。
本发明第四方面提供一种电子设备,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如上所述的方法。
本发明第五方面提供一种计算机可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如上所述的方法。
本发明提供的技术方案可以包括以下有益效果:
本发明的速度曲线的处理方法,通过在参考速度曲线上获取多个离散位置点,再通过离散位置点获取初始控制点,通过调节初始控制点以获得最终的优化控制点,本发明的速度优化曲线通过控制多个优化控制点获得。这样的设计,本发明不直接优化速度曲线本身,而是以优化控制点的方式来获得速度优化曲线,从而可以使速度优化曲线符合例如避障、速度、加速度、加加速度、向心加速度等设定约束条件,从而提供安全可靠、可平稳行驶的速度曲线。
本发明的速度曲线的处理方法,通过三次B样条曲线函数计算获取初始控制点,可以简化计算量的同时,使得在后续步骤对应生成的优化控制点可以更加精准地控制参考速度曲线。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
具体实施方式
下面将参照附图更详细地描述本发明的实施方式。虽然附图中显示了本发明的实施方式,然而应该理解,可以以各种形式实现本发明而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
相关技术中,自动驾驶的规划轨迹是由路径规划曲线和速度曲线结合所得。其中,速度曲线包含了汽车沿行驶时的速度、加速度、加加速度等参数。然而,由于速度曲线是由多个离散位置点根据离散函数获得,导致速度曲线不够平滑,使得速度、加速度、加加速度等参数不符合平稳行驶的要求,继而引起汽车的行驶速度会发生突变。这样的情形,一方面使最终的规划轨迹的行驶安全性不足,另一方面使乘客因速度突变而产生较差的乘车体验。
针对上述问题,本发明实施例提供一种速度曲线的处理方法,能够获得平滑且安全的速度优化曲线,以便车辆可以安全平稳地行驶。
以下结合附图详细描述本发明实施例的技术方案。
图1是本发明实施例示出的速度曲线的处理方法的流程示意图。
参见图1,一实施例中的速度曲线的处理方法,包括:
步骤S110,根据参考速度曲线,获取多个离散位置点。
相关技术中,参考速度曲线可以基于路径曲线进行获取。通过获得粗略的参考速度曲线,用以对车辆在该路径曲线上的不同的路段的相应的速度、加速度、加加速度的设定进行参考。在参考速度曲线的基础上进行后续步骤,从而可以简化系统的计算量。
可以理解,离散位置点为参考速度曲线经过的点,即直接在参考速度曲线上进行离散采样,获取多个离散位置点。在一实施例中,参考速度曲线可以表示为离散位置点的函数。
步骤S120,根据离散位置点和初始边界条件,获得初始控制点。
在一实施例中,根据离散位置点的数量,获得比离散位置点的数量更多数量的初始控制点。也就是说,初始控制点的数量大于离散位置点的数量,从而确保后续步骤可以获得与初始控制点数量对应的优化控制点,以使后续步骤具有足够数量的优化控制点对参考速度曲线进行优化控制,以获得对应的速度优化曲线。在一实施例中,初始控制点的数量比离散位置点的数量至少多一个。例如,可以沿参考速度曲线在初始控制点的起始点和/或终止点处进行增设初始控制点。
为了确保初始控制点对应的坐标不会过于偏离参考速度曲线,通过设置初始边界条件,从而约束初始控制点的坐标,从而可以便于更贴近及更精确地控制参考速度曲线。
步骤S130,根据初始控制点和目标代价函数,获取对应的优化控制点,其中,目标代价函数受设定约束条件约束。
可以理解,初始控制点还不足以对参考速度曲线进行精准控制。因此,通过进一步根据目标代价函数进行代价评估,从而对初始控制点的坐标进行调整,获得符合设定约束条件的优化控制点。在一实施例中,设定约束条件包括障碍物边界约束条件、速度极限约束条件、加速度极限约束条件、加加速度极限约束条件、向心加速度极限约束条件、起点边界约束条件及终点边界约束条件中的至少一项。在一实施例中,优化控制点根据初始控制点获得,优化控制点的个数与初始控制点的个数对应。
步骤S140,根据优化控制点控制参考速度曲线,生成速度优化曲线。
根据多个优化控制点对参考速度曲线进行相应的控制,从而生成速度优化曲线。可以理解,基于优化控制点受到上述步骤中的各约束条件的约束,在通过优化控制点控制生成速度优化曲线时,可以确保速度优化曲线也服从上述各约束条件的约束,继而获得安全可靠、可平稳行驶的速度曲线,即速度优化曲线。
综上所述,本发明的速度曲线的处理方法,通过在参考速度曲线上获取多个离散位置点,再通过离散位置点获取初始控制点,通过调节初始控制点以获得最终的优化控制点,本发明的速度优化曲线通过控制多个优化控制点获得。这样的设计,本发明不直接优化速度曲线本身,而是以优化控制点的方式来获得速度优化曲线,从而可以使速度优化曲线符合例如避障、速度、加速度、加加速度、向心加速度等设定约束条件,从而提供安全可靠、可平稳行驶的速度曲线。
为了进一步对本发明的速度曲线的处理方法进行说明,参见图2,本发明还提供一种速度曲线的处理方法,其包括:
步骤S210,根据路径曲线,获取参考速度曲线。
相关技术中,在路径规划中生成候选路径曲线,这是车辆可行驶的路径。使用成本函数对每条候选路径曲线进行评估,该成本函数包括平滑度、安全性、与道路中心线的偏离程度等因素。按照成本计算结果对候选路径曲线进行排名,选择成本最低的候选路径曲线,从而获取规划好的路径曲线。其中,路径曲线在Frenet坐标系中根据道路中心线进行表示。可以理解,Frenet坐标系根据道路中心线的切线向量和法线向量建立。基于道路中心线的位置,可以使用沿着道路中心线的切线方向的纵向距离s和沿着道路中心线法线方向的偏离道路中心线的横向距离来描述路径曲线上的路径点。可以理解,不同路径点所在位置的曲率可能不同,因此,路径曲线可以通过曲率ki与纵向距离si的函数表示,即ki=g(si)。
进一步地,在路径曲线上有一系列路径点,不同时间、不同位置的路径点具有对应的速度,因此,参考速度曲线可以是纵向距离si和时间ti的函数,即s=f(t)。
步骤S220,根据预设时间差值,分割参考速度曲线,分别获得离散位置点的时间坐标值。
在一实施例中,对参考速度曲线进行离散采样,获取多个离散位置点。为了在参考速度曲线上获取离散位置点,在一实施例中,根据预设时间差值对参考速度曲线进行分割,参考速度曲线上的每一分割点即为离散位置点。为了便于取值和计算,在一实施例中,根据预设时间差值,均匀分割参考速度曲线,分别获得离散位置点的时间坐标值。为了便于理解,如图3所示的s-t坐标系中,将参考速度曲线A按照预设时间差值Δt进行均匀分割。也就是说,均匀分割参考速度曲线后的每一分割点对应为离散位置点(s,t)。在s-t坐标系,沿参考速度曲线的延伸方向排序各离散位置点,离散位置点的时间坐标值呈等差递增,每相邻两个离散位置点的预设时间差值相等。可以理解,预设时间差值Δt越大,则离散位置点的个数越少,否则反之。因此,根据对速度曲线的调节精度需求和计算量,可对预设时间差值进行调整。
步骤S230,基于三次B样条曲线函数设定初始边界条件,并通过离散位置点的纵向位移坐标值,计算获得初始控制点的纵向位移坐标值。
在一实施例中,可以将参考速度曲线表示为基于Δt均匀分割的离散位置点的函数,具体为pi=(si,vi,ai,ji)的,其中,i表示参考速度曲线上的第i+1个离散位置点;si表示第i+1个离散位置点的纵向位移坐标值,vi表示第i+1个离散位置点的速度,ai表示第i+1个离散位置点的加速度、ji表示第i+1个离散位置点的加加速度。在根据预设时间差值均匀分割参考速度曲线获得离散位置点后,即获得了该离散位置点对应的时间坐标值。根据时间坐标值t,即可获得该离散位置点的纵向位移坐标值s。
进一步地,由于时间坐标值均匀分布,可以基于均匀三次B样条曲线函数,根据离散位置点的纵向位移坐标值,计算获得所述初始控制点的纵向位移坐标值。需要了解的是,由于是三次B样条曲线函数,因此初始控制点的总数比离散位置点的总数多2个,如图3所示,其中初始控制点包括额外的1个起始点Q0(位于参考速度曲线的起始位置附近)和1个终止点Q8(位于参考速度曲线的终止位置附近)。本发明中,基于三次B样条曲线函数设定初始边界条件,具体计算过程如下:
为了便于理解,在未限定B样条曲线为三次B样条曲线之前,首先B样条曲线可以由分段多项式函数表达。其中,k阶多项式函数表达如式(1)所示:
在式(1)中,s表示多项式函数的因变量;x表示多项式函数的自变量,其中x∈R;[p0p1…pk]T表示阶多项式函数的系数。
本发明中,将式(1)结合本发明的上述步骤进行应用。具体地,根据预设时间差值,均分分割参考速度曲线,可以得到若干个时间区间[ti,ti+1),其中i∈{0,1,2,…,n},ti表示第i+1个离散位置点的时间坐标值。在t∈[ti,ti+1)的k阶样条曲线函数中,可以通过初始控制点写为阶多项式函数的矩阵形式,即式(2):
式(2)中,si(u(t))表示第i+1个离散位置点的纵向位移坐标值;Qi表示第i+1个控制点的纵向位移坐标值。
另外,u是关于时间t的函数,在t∈[ti,ti+1)时,u关于时间t的函数表达式如式(3)所示:
式(3)中,t表示自变量,即时间;ti表示第i+1个离散位置点的时间坐标值;Δt表示预设时间差值。
进一步地,式(2)中的常方阵Mk+1的表示如式(4)所示:
式(4)中,mi,j表示Mk+1矩阵((k+1)×(k+1)的方阵,也就是有k+1行和k+1列元素的矩阵)的第i,j个元素,也就是Mk+1矩阵中第i行第j列的元素,其中i∈{0,1,2,…,k},j∈{0,1,2,…,k},i和j分别从0开始计数;m0,0表示第0行第0列的元素;m0,1表示第0行第1列的元素,以此类推,mk,k表示第k行第k列的元素。其中,mi,j的计算公式如式(5)所示:
对式(2)进行求导,可以得到式(2)的微分表达形式如式(6)所示:
其中,si (q)(t)表示的是时间区间[ti,ti+1)内的k阶样条曲线函数的微分表达形式。式(6)中,si (q)(t)表示si(t)的q阶导数,si(t)为式(2)的si(u(t)),si(t)的自变量为t,si(u(t))的自变量为u(t);Δt表示预设时间差值。其中,b(q)表示b的第q阶导数。b的第0阶导数,即b如式(7)所示:
b(0)=[1 u u2 u3 … uk]T (7)
b的第1阶导数,如式(8)所示:
b(1)=[0 1 2u 3u2 … kuk-1]T (8)
b的第2阶导数,如式(9)所示:
b(2)=[0 0 2 6u … k(k-1)uk-2]T (9)
b的第3阶导数,如式(10)所示:
b(3)=[0 0 0 6 … k(k-1)(k-2)uk-3]T (10)
根据式(4)和式(5),接下来以三次B样条曲线函数为例,k=3,可以得到三次B样条曲线函数的基础矩阵M4如式(11)所示:
式(11)结合式(6)至式(10),可以得到式(12)至式(15):
式(12)中,si (0)表示三次B样条曲线函数si的第0阶导数,也就是三次B样条曲线函数si本身,也就是分段三次B样条曲线函数si,也就是时间区间[ti,ti+1)内的首端点ti对应的三次B样条曲线函数si,也就是离散位置点的纵向位移坐标值,也就是时间区间[ti,ti+1)内的端点ti对应的离散位置点的纵向位移坐标值。
式(13)中,si (1)表示三次B样条曲线函数si的第1阶导,也就是分段三次B样条曲线函数si的一阶导,也就是时间区间[ti,ti+1)内的端点ti对应的三次B样条曲线函数si的一阶导,也就是离散位置点处的速度,也就是时间区间[ti,ti+1)内的端点ti对应的离散位置点的速度。
式(14)中,si (2)表示三次B样条曲线函数si的第2阶导,也就是分段三次B样条曲线函数si的二阶导,也就是时间区间[ti,ti+1)内的端点ti对应的三次B样条曲线函数si的二阶导,也就是离散位置点处的加速度,也就是时间区间[ti,ti+1)内的端点ti对应的离散位置点的加速度。
式(15)中,si(3)表示三次B样条曲线函数si的第3阶导,也就是分段三次B样条曲线函数si的三阶导,也就是时间区间[ti,ti+1)内的端点ti对应的三次B样条曲线函数si的三阶导,也就是离散位置点处的加加速度,也就是时间区间[ti,ti+1)内的端点ti对应的离散位置点的加加速度。
为了计算初始控制点的纵向位移坐标值,根据离散位置点si和初始边界条件反算初始控制点的纵向位移坐标值Qi。根据式(12)可以的通过n个离散位置点得到n个线性方程组,如下所示:
…
…
为了避免赘述,式(16)至式(19)仅描述了部分线性方程组。s0表示第1个离散位置点的纵向位移坐标值,s1表示第2个离散位置点的纵向位移坐标值,以此类推,sn-1表示第n个离散位置点的纵向位移坐标值。由式(16)至式(19)可知,每一个离散位置点的纵向距离坐标Sn-1受到初始控制点Qn-1、Qn及Qn+1的纵向位移坐标值的影响。因此,通过改变初始控制点的纵向位移坐标值,则可以改变离散位置点的纵向位移坐标值,从而调整参考速度曲线。
进一步地,如图3所示,针对三次B样条曲线函数下的参考速度曲线,初始控制点的数量比离散位置点的数量多2个,即多了1个起始点Q0和1个终止点Q8。根据式(16)至式(19)的方程式,无法计算出全部初始控制点的纵向位移坐标值。因此,根据三次B样条曲线函数,设定初始边界条件,初始边界条件包括起始点边界条件。在一实施例中根据式(13)和式(14),设置针对初始控制点的起始点边界条件如式(20)和式(21)所示:
式(20)中,表示三次B样条曲线函数在第1个离散位置点的一阶导数,v0表示第1个离散位置点的速度。
式(21)中,表示三次B样条曲线函数在第1个离散位置点的二阶导数,a0表示第1个离散位置点的加速度。
通过增加式(20)和式(21),联合式(16)至式(19),则可以通过QR(正交三角)分解来求解线性最小二乘问题,从而获得每一个初始控制点的纵向位移坐标值。
根据式(13)和式(14),进一步地,由于反算的初始控制点在终止点附近跳变巨大,为了使初始控制点相对平稳,还设置针对初始控制点的终止点边界条件以对初始控制点中的终止点进行约束,终止点边界条件如式(22)和式(23)所示:
式(22)中,表示三次B样条曲线函数在第n个离散位置点的一阶导数,vn-1表示第n个离散位置点的速度。
式(23)中,表示三次B样条曲线函数在第n个离散位置点的二阶导数,an-1表示第n个离散位置点的加速度。
通过增设终止点边界条件的方程,从而可以使计算出的初始控制点中的终止点较为平稳。
联立式(16)至式(23),可以通过QR(正交三角)分解来求解线性最小二乘问题,也就是将式(16)至式(23)联立成矩阵后,可以通过QR分解得到每一初始控制点的纵向位移坐标值。
步骤S240,根据预设时间差值,获得初始控制点的时间坐标值。
为了节省计算量,每相邻两个初始控制点的时间坐标值根据预设时间差值进行等差递增,从而依序获得初始控制点的时间坐标值。在一实施例中,初始控制点的时间坐标值与对应的离散位置点的时间坐标值相等。基于初始控制点的数量多于离散位置点的数量,根据等差数列计算获得多余的初始控制点的时间坐标值。
可以理解,根据步骤S230获得初始控制点的纵向位移坐标值及本步骤S240获得的时间坐标值,即获得初始控制点在s-t坐标系中的对应的位置信息。
步骤S250,根据初始控制点的位置信息和目标代价函数,获取对应的优化控制点;其中,目标代价函数根据障碍物边界约束条件、速度极限约束条件、加速度极限约束条件、加加速度极限约束条件、向心加速度极限约束条件、起点边界约束条件及终点边界约束条件进行约束。
本实施例中,为了获得优化控制点,通过目标代价函数对初始控制点的位置信息进一步进行约束和代价计算,从而确定优化控制点的位置信息。其中,优化控制点的时间坐标值等于对应的初步控制点的时间坐标值。因此,本步骤只需设定目标代价函数及设定障碍物边界约束条件、速度极限约束条件、加速度极限约束条件、加加速度极限约束条件、向心加速度极限约束条件、起点边界约束条件及终点边界约束条件,即可根据初始控制点的纵向位移坐标值进行约束优化,以获得对应的优化控制点的纵向位移坐标值。在一实施例中,目标代价函数根据三次B样条曲线函数进行代价评估。具体计算过程如下:
首先,定义初始控制点的纵向位移坐标值为优化控制点的纵向位移坐标值[Q0,Q1,…,Qn-1],其中Q0表示第1个优化控制点的纵向位移坐标值,Q1表示第2个优化控制点的纵向位移坐标值;Qn-1表示第n个优化控制点的纵向位移坐标值,优化控制点的数量有n个。接着,通过将初始控制点的纵向位移坐标值作为初始值,根据目标代价函数和各约束条件进行迭代计算,直至目标代价函数获得最小值,从而获得优化控制点的纵向位移坐标值。具体步骤如下:
定义目标代价函数,如式(24)所示:
式(24)中,表示优化控制点与对应的离散位置点的差距最小代价;ωs表示优化控制点与离散位置点的差距最小代价的权重系数;/>表示优化控制点与离散位置点对应的参考速度的差距代价;ωv表示优化控制点与离散位置点对应的参考速度的差距代价的权重系数;表示是优化控制点的加速度舒适性代价;ωa表示优化控制点的加速度舒适性代价的权重系数;/>表示优化控制点的加加速度舒适性代价;ωj表示优化控制点c加速度舒适性代价的权重系数;si,ref表示参考速度曲线上对应第i+1个的离散位置点的纵向位移坐标值;vi,ref表示参考速度曲线在第i+1个离散位置点的导数,也就是第i+1个离散位置点的速度,也就是根据式(13)计算的离散位置点的速度。
进一步地,设置障碍物边界约束条件如式(25)所示:
si,min≤Qi≤si,max (25)
式(25)中,si,min表示由障碍物和路径曲线的长度确定的下边界,也就是第i+1个离散位置点的纵向位移坐标值的最小值;si,max表示由障碍物和路径曲线的长度确定的上边界,也就是第i+1个离散位置点的纵向位移坐标值的最大值。
设置速度极限约束条件如式(26)所示:
式(26)中,vi表示第i+1个离散位置点的速度;vi,min表示第i+1个离散位置点的速度的最小值;vi,max表示第i+1个离散位置点的速度的最大值。其中,vi,min和vi,max可以根据如下式(26)进行计算:
式(27)中,vi,limit表示vi,min或vi,max;h(si)为计算vi,limit的函数,si表示h(si)的自变量,其中si根据如下式(28)进行计算:
设置加速度极限约束条件如式(29)所示:
式(29)中,ai表示第i+1个离散位置点的加速度;amin表示第i+1个离散位置点的加速度的最小值;amax表示第i+1个离散位置点的加速度的最大值。
设置加加速度极限约束条件如式(30)所示:
式(29)中,ji表示第i+1个离散位置点的加加速度;jmin表示第i+1个离散位置点的加加速度的最小值;jmax表示第i+1个离散位置点的加加速度的最大值。
为了确保在路径曲线上沿法向方向的行驶安全,还需要设置向心加速度极限约束。在一实施例中,向心加速度极限约束根据路径曲线的曲率获得;其中,所述路径曲线根据所述离散位置点的纵向距离与曲率的函数进行描述。进一步地,设置向心加速度极限约束条件如式(31)所示:
式(31)中,表示第i+1个离散位置点的向心加速度;/>表示向心加速度的最小值;/>表示向心加速度的最大值;κi表示第i+1个离散位置点的曲率。其中,κi的计算公式如式(32)所示:
式(32)中,g(si)为通过si计算第i+1个离散位置点的曲率的函数。设置起点边界约束条件如式(33)至式(35)所示:
Qi=Qi,init(0≤i<k) (33)
式(33)至式(35)中,k为预先设定优化控制点的起始点的数量不超过k个。Qi,init表示预设的起始点纵向位移坐标值;v0表示第1个离散位置点的速度;a0表示第1个离散位置点的加速度;k是预设起点常量。
设置终点边界约束条件如式(36)至式(38)所示:
Qi=Qi,init(n-k≤i<n) (36)
式(36)至式(38)中,k为预先设定优化控制点的终止点的数量。Qi,init表示预设的终止点纵向位移坐标值;vn-1表示第n个优化控制点的速度;an-1表示第n个优化控制点的加速度;k是预设终止点常量。
需要注意的是,由于离散位置点的数量少于优化控制点的数量,在三次B样条曲线函数下,离散位置点的数量少于优化控制点2个,即优化控制点分别比离散位置点多出1个起始点和1个终止点。因此,式(24)至式(38)中,si序列和Qi序列的i的最大数不一致,sn-1表示si序列的最后一个元素,而Qn-1表示Qi序列的最后一个元素,si和Qi的n不代表同一个数值。
步骤S260,根据优化控制点控制参考速度曲线,生成速度优化曲线。
可以理解,通过步骤S250获得优化控制点的纵向位移坐标值,结合步骤S240获得优化控制点的时间坐标值,即可获得优化控制点在s-t坐标系的位置信息。通过调节优化控制点的位置,基于均匀三次B样条曲线以控制参考速度曲线的对应离散位置点的速度、加速度、加加速度,从而最终生成速度优化曲线。
参见图4至图7,将上述速度曲线的处理方法获得的速度优化曲线与参考速度曲线的速度、加速度、加加速度及向心加速度分别进行对比。如图4所示,图4中的优化后的速度的曲线B比参考速度的曲线C更平滑,且位于速度上边界B1和速度下边界B2之间。如图5所示,图5中的优化后的加速度曲线D位于加速度上边界D1、下边界D2之间。如图6所示,图6中的优化后的加加速度曲线E位于加加速度上边界E1、下边界E2之间。如图7所示,图7中的优化后的向心加速度曲线F位于向心加速度上边界F1、下边界F2之间。可知,通过本发明的速度曲线优化方法获得的速度优化曲线的速度、加速度、加加速度及向心加速度均达到符合边界值及平滑改变的效果。
综上,本发明的速度曲线优化方法,根据三次B样条曲线获得参考速度曲线的优化控制点,基于优化控制点根据目标代价函数及各类约束条件的约束计算获得,使得在调节控制优化控制点后,获得的速度优化曲线也满足障碍物边界约束条件、速度极限约束条件、加速度极限约束条件、加加速度极限约束条件、向心加速度极限约束条件、起点边界约束条件及终点边界约束条件,且代价最小。这样的设计,使得可以提供安全避障且速度平稳的速度优化曲线,以便与路径曲线结合生成相应的可执行驾驶的自动驾驶规划轨迹。
与前述应用功能实现方法实施例相对应,本发明还提供了一种速度曲线的处理装置、电动汽车、电子设备及相应的实施例。
图8是本发明实施例示出的速度曲线的处理装置的结构示意图。
参见图8,本发明一实施例提供一种速度曲线的处理装置30,其包括离散点采集模块320、初始控制点获取模块330、优化控制点获取模块340及速度曲线生成模块350,其中:
离散点采集模块320用于根据参考速度曲线,获取多个离散位置点。
初始控制点获取模块330用于根据离散位置点和初始边界条件,获得初始控制点。
优化控制点获取模块340用于根据初始控制点和目标代价函数,获取对应的优化控制点,其中,目标代价函数受设定约束条件约束。
速度曲线生成模块350用于根据优化控制点控制参考速度曲线,生成速度优化曲线。
进一步地,参加图9,本发明的装置还包括参考速度曲线获取模块310,参考速度曲线获取模块310用于根据路径曲线,获取参考速度曲线。离散点采集模块320根据预设时间差值,分割参考速度曲线,分别获得离散位置点的时间坐标值和对应的纵向位移坐标值;初始控制点获取模块330基于三次B样条曲线函数,通过离散位置点的纵向位移坐标值,计算获得初始控制点的纵向位移坐标值。初始控制点获取模块330根据预设时间差值,获得初始控制点的时间坐标值,继而结合获得初始控制点在s-t坐标系中的对应的位置信息。优化控制点获取模块340根据初始控制点的位置信息和目标代价函数,获取对应的优化控制点;其中,优化控制点的时间坐标值等于对应的初步控制点的时间坐标值。其中,目标代价函数根据三次B样条曲线函数进行代价评估,同时目标代价函数根据障碍物边界约束条件、速度极限约束条件、加速度极限约束条件、加加速度极限约束条件、向心加速度极限约束条件、起点边界约束条件及终点边界约束条件的至少一项进行约束,从而通过初步控制点的纵向位移坐标值获得优化控制点的纵向位移坐标值。速度曲线生成模块350根据优化控制点调节参考速度曲线,生成速度优化曲线。
综上,本发明的速度曲线的处理装置,通过优化控制点的方式来获得速度优化曲线,从而可以使速度优化曲线均符合避障、速度、加速度、加加速度、向心加速度等约束条件,从而提供安全可靠、可平稳行驶的速度曲线。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不再做详细阐述说明。
本发明还提供一种电动汽车,本发明的汽车包括上述任一实施例的速度曲线的处理装置。电动汽车行驶的规划轨迹是由路径曲线和速度优化曲线合并获得。电动汽车在此规划轨迹上行驶,可以确保安全避障、行驶速度平稳,改善乘客搭乘体验。
图10是本发明实施例示出的电子设备的结构示意图。
参见图10,电子设备400包括存储器410和处理器420。存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行上述任一实施例中所述的速度曲线的处理方法。
处理器420可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器410可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM),和永久存储装置。其中,ROM可以存储处理器420或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器410可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器410可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
存储器410上存储有可执行代码,当可执行代码被处理器420处理时,可以使处理器420执行上文述及的方法中的部分或全部。
此外,根据本发明的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本发明的上述方法中部分或全部步骤的计算机程序代码指令。
或者,本发明还可以实施为一种计算机可读存储介质(或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当可执行代码(或计算机程序、或计算机指令代码)被电子设备(或电子设备、服务器等)的处理器执行时,使处理器执行根据本发明的上述方法的各个步骤的部分或全部。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。