发明内容
本发明实施例的目的是提供一种基于实时安全边界的规划控制方法,以解决现有技术中的控制器几乎不可能完全消除误差、规划路径时往往需要将控制误差作为预留项考虑在内,制约了规划算法的能力、控制部分也需严格跟踪校验每一个路径点的位置,造成耗时与资源浪费问题。
第一方面,本发明提供了一种基于实时安全边界的规划控制方法,所述基于实时安全边界的规划控制方法包括:
规划模块确定规划路径上的各个路点距离两侧的可通行边界的第一距离;
规划模块获取与规划路径上的每个路点距离最近的障碍物,并确定每个路点与所述路点对应的距离最近的障碍物的第二距离;
规划模块根据所述第一距离和所述第二距离,确定每个路点的两侧的安全距离;
规划模块根据每个路点的两侧的安全距离,确定所述规划路径的两侧的安全边界;
控制模块根据第一连线与第二连线的夹角、车辆轴距以及车辆的当前位置信息,确定处于安全边界内的多个预估位置的位置信息;其中,所述第一连线为车辆的当前位置与下一个路点的连线,所述第二连线为车辆的当前位置与预估位置的连线;
控制模块确定每个预估位置对应的预测轨迹;
控制模块根据每个预估位置对应的预测轨迹,确定最优轨迹。
在一种可能的实现方式中,所述规划模块确定规划路径上的各个路点距离道路两侧的可通行边界的第一距离具体包括:
获取规划路径;所述规划路径包括多个路点;
获取环境感知数据;所述环境感知数据包括道路两侧的可通行边界;
确定每个路点距离所述道路两侧的可通行边界的第一距离。
在一种可能的实现方式中,所述规划模块根据每个路点的两侧的安全距离,确定所述规划路径的两侧的安全边界具体包括:
确定每个所述路点的第一侧的第一距离和第二距离中的最小值为第一侧的安全距离;
确定每个所述路点的第二侧的第一距离和第二距离中的最小值为第二侧的安全距离。
在一种可能的实现方式中,所述规划模块根据每个路点的两侧的安全距离,确定所述规划路径的两侧的安全边界之前,所述方法还包括:
过滤安全距离不小于车辆的最小转弯半径的路点。
在一种可能的实现方式中,所述规划模块根据每个路点的两侧的安全距离,确定所述规划路径的两侧的安全边界之前,所述方法还包括:
确定规划路径上的路点的个数;
根据路点的个数,确定间隔的个数;
计算当前路点与当前路点的相邻路点的间距;
计算所述间隔的个数与所述间距的乘积;
计算所述乘积与当前路点的安全距离的比值;
确定当前路点的朝向角以及当前路点的相邻路点的朝向角;
滤除所述当前路点的朝向角与当前路点的相邻路点的朝向角的差值不大于所述比值的路点。
在一种可能的实现方式中,所述控制模块根据第一连线与第二连线的夹角、车辆轴距以及车辆的当前位置信息,确定处于安全边界内的多个预估位置的位置信息具体包括:
利用公式确定处于安全边界内的多个预估位置的位置信息;
其中,L为车辆轴距、θ'为第一连线与第二连线的夹角,(x0,y0)为车辆的当前位置信息。
在一种可能的实现方式中,根据车辆的轴距和车辆转弯半径的比值,确定第一连线与第二连线的夹角的正切值。
在一种可能的实现方式中,所述根据每个预估位置对应的预测轨迹,确定最优轨迹具体包括:
计算每个预测轨迹的平滑度;
计算每个预测轨迹与安全边界的距离值;
根据每个预测轨迹的平滑度和距离值,计算每个预测轨迹的评价值;
根据评价值,确定最优轨迹。
第二方面,本发明提供了一种设备,包括存储器和处理器,存储器用于存储程序,处理器用于执行第一方面任一所述的方法。
第三方面,本发明提供了一种包含指令的计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如第一方面任一所述的方法。
第四方面,本发明提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如第一方面任一所述的方法。
通过应用本发明实施例提供的基于实时安全边界的规划控制方法,规划模块在输出规划路径的同时,还输出规划路径的两侧的安全边界,控制模块在安全边界内,对原有的方向盘转角进行采样,得到一系列的预测轨迹,并确定最优轨迹后,以该最优轨迹对应的方向盘转角进行控制,从而在控制层面对方向盘转角做出微调,有效合理的规避控制误差带来的负面影响,因此,规划模块在规划路径时,无需过度考虑控制模块的控制误差,降低了规划模块进行路径规划时的难度,增加了规划算法的灵活性。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1为本发明实施例一提供的基于实时安全边界的规划控制方法流程示意图。本申请以将该方法应用在无人驾驶车辆为例进行说明。本申请包括以下步骤:
步骤110,规划模块确定规划路径上的各个路点距离两侧的可通行边界的第一距离。
具体的,自动驾驶车辆包括感知模块、预测模块、定位模块、决策模块、规划模块和控制模块。
在车辆行驶过程中,规划模块会进行路径规划,从而得到规划路径。规划路径上包括多个路点,对于每个路点,可以计算其距离可通行边界的距离,此处的可通行边界,可以是直接调用地图中的可通行边界,也可以是车辆的感知模块感知得到的感知数据进行处理后,得到的可通行边界。
其中,可通行边界与不可通行边界相对应,不可通行边界可以包括栽种盆景的围栏、路缘石等不可通行的边界。如图2所示,黑色矩形框为车辆模型,黑色矩形框上的黑色箭头表示车辆当前朝向,假设车辆的中心点位于规划路径上的某个路点,组成三角形区域的虚线表示一定角度范围内的采样点集,采样点集构成的区域为检测区域;此处的一定角度的设置与相邻路点间的距离相关,随着检测区域的缩小,检测精度越高。经过检测,确定该路点距离左侧可通行边界的距离记为Lfs,距离右侧可通行边界的距离为Rfs。
其中,规划模块可以利用某种检测装置发射的束状的射线,进行检测,本申请对检测装置的具体的结构并不限定。
步骤120,规划模块获取与规划路径上的每个路点距离最近的障碍物,并确定每个路点与路点对应的距离最近的障碍物的第二距离。
其中,参见图3,可以通过与步骤110相似的采样的方式,确定第二距离。
假设路点处于车辆的中心点处,可以以预设的长度和宽度的矩形框,进行距离每个路点左右两侧距离最近的障碍物的检测,如果在矩形框中出现距离最近的障碍物,则停止检测。图3中的圆点表示障碍物,矩形框内的圆点表示出现在矩形框内的最近障碍物。Lobs表示距离左侧最近的障碍物的第二距离,Robs表示距离右侧最近的障碍物的第二距离。相应的,此处的矩形框的长度和宽度,可以根据检测精度要求进行调整,矩形框的长度和宽度取值越小,检测精度增高。
其中,规划模块可以利用某种检测装置发射的矩形框状的射线,进行检测,本申请对检测装置的具体的结构并不限定。
步骤130,规划模块根据第一距离和第二距离,确定每个路点的两侧的安全距离。
具体的,经过步骤110和步骤120的处理后,规划路径上的每个路点具有边界和碰撞两对安全属性,即每个路点具有左右两个第一距离和左右两个第二距离,为了保证车辆的安全行驶,对于每个路点,可以从左侧的第一距离和第二距离中,取值最小的作为该路点的左侧安全距离,从右侧的第一距离和第二距离中,取值最小的作为该路点的右侧安全距离,即如公式(1)所示:
其中,Ln是每个路点左侧的安全距离,Rn是每个路点右侧的安全距离,n为路点的编号。参见图4,粗灰的曲线表示车辆的规划路径,(o1,L1,R1)、(o2,L2,R2)表示相邻两个路点的安全距离元组。
步骤140,规划模块根据每个路点的两侧的安全距离,确定规划路径的两侧的安全边界。
具体的,在确定每个路点的安全距离后,将路径上所有的路点左右安全距离均分别设置为规划路径所属的安全距离,将安全距离进行连接,即可得到规划路径的安全边界的曲线。在确定安全边界的曲线过程中,为防止生成边界时出现折线,可以对路点进行过滤,以及对安全距离进行限制。具体如下:
第一、安全距离应小于车辆的最小转弯半径:
由于车辆规划过程中,生成的规划路径的曲率受限于车辆最小转弯半径的约束,因此生成的规划路径符合车辆运动学约束。因此只要路点的安全距离不超过车辆最小转弯半径,理论上即不会存在左右两条安全边界的曲线的交叉。但是当出现某些异常情况、车辆路径上个别路点不满足车辆运动学约束时,就需要将这些路点进行过滤,防止生成折线。
第二、过滤偏转角过大的路点
当前后两个路点的朝向角差值较大时,会导致对应的安全边界出现交叉,造成折点的出现。假定某路点附近的凹侧(凸侧不存在交叉的可能)安全距离为D,相邻路点间距为d,间隔个数为n,路点朝向角差值为α,则若某一路点满足下式,需要将其滤除。
在对所有路点进行处理后,即可得到图5所示的安全边界。参见图5,矩形框表示障碍物,上下两条曲线表示安全边界。中间两条曲线中,颜色较浅的表示规划路径,颜色较深的表示控制修正曲线,控制修正曲线的生成,将在下面的步骤中进行详细说明。
由此,规划模块不但可以输出规划路径,同时还输出该规划路径的安全边界,以便于后续的控制修正是在安全边界内进行。
步骤150,控制模块根据第一连线与第二连线的夹角、车辆轴距以及车辆的当前位置信息,确定处于安全边界内的多个预估位置的位置信息;其中,第一连线为车辆的当前位置与下一个路点的连线,第二连线为车辆的当前位置与预估位置的连线。
具体的,在得到安全边界后,控制模块可以在原有计算得到的方向盘转角的基础上,在一个小邻域内进行采样,预估得到多条预测轨迹,从而选择一条最安全的预测轨迹对应的方向盘转角进行输出。
示例而非限定,本申请可以通过如下方法计算得到预测轨迹。预测轨迹是由多个预估位置构成的。如图5所示,以任意采样角度θ'为例进行说明。
假设车辆轴距为L,车辆后轴中心相对预估位置的夹角与距离分别为γ与d,车辆转弯半径为R,则根据“自车模型”,可以推算预估位置与自车方向盘转角的关系如公式(3)所示:
进而可以得到预估位置的“距离-角度”关系:
假定自车当前笛卡尔坐标系下坐标为(x0,y0),则可以得到预估位置的笛卡尔坐标如下:
根据上述公式,通过改变θ',可以得到自车位置对应的多个预估位置,可以重复步骤150,后续在自车位置的基础上再进行若干步的推算从而得到一系列小段预测轨迹。
步骤160,确定每个预估位置对应的预测轨迹。
参见图6,θ表示根据规划输出的规划路径P,使用纯跟踪等控制方法计算出的方向盘转角;θ'表示由在θ附近、由左侧最小转弯半径圆Rl、右侧最小转弯半径圆Rr限制的小邻域内的某一个采样角度;Rl和Rr间的圆弧表示对应的一段预测轨迹,虚边界矩形表示车辆从预测轨迹的起点行驶至终点,Rl和Rr间的虚线表示在采样终点对应方向盘转角的邻域边界(根据采样终点的两个最小转弯半径圆确定),供下一段采样使用;灰色矩形框表示障碍物;Bl和Br分别表示路径左右侧的安全边界。
步骤170,根据每个预估位置对应的预测轨迹,确定最优轨迹。
在得到所有采样位置组合的预测轨迹后,对所有预测轨迹进行评价,评价指标可以从平滑度、距离安全边界的距离值等方面进行评价。
首先,计算每个预测轨迹的平滑度;其次,计算每个预测轨迹与安全边界的距离值;再次,根据每个预测轨迹的平滑度和距离值,计算每个预测轨迹的评价值;最后,根据评价值,确定最优轨迹。
具体计算预测轨迹的平滑度的方法为:计算预测轨迹上每个路点的曲率,再计算曲率的平方和,从而得到平滑度。
计算评价值的方法:计算预测轨迹上每个路点与安全边界的距离值,从而得到一个总的距离值。
将平滑度和总的距离值进行加权运算,得到预测轨迹的评价值。
从多个预测轨迹的评价值中取评价值最高的预测轨迹,并将该预测轨迹的方向盘转角作为控制模块进行控制时的控制量进行输出,从而使得下层的转向控制系统根据控制模块输出的方向盘转角进行转向控制。
通过应用本发明实施例提供的基于实时安全边界的规划控制方法,规划模块在输出规划路径的同时,还输出规划路径的两侧的安全边界,控制模块在安全边界内,对原有的方向盘转角进行采样,得到一系列的预测轨迹,并确定最优轨迹后,以该最优轨迹对应的方向盘转角进行控制,从而在控制层面对方向盘转角做出微调,有效合理的规避控制误差带来的负面影响,因此,规划模块在规划路径时,无需过度考虑控制模块的控制误差,降低了规划模块进行路径规划时的难度,增加了规划算法的灵活性。
本发明实施例二提供了一种设备,包括存储器和处理器,存储器用于存储程序,存储器可通过总线与处理器连接。存储器可以是非易失存储器,例如硬盘驱动器和闪存,存储器中存储有软件程序和设备驱动程序。软件程序能够执行本发明实施例提供的上述方法的各种功能;设备驱动程序可以是网络和接口驱动程序。处理器用于执行软件程序,该软件程序被执行时,能够实现本发明实施例一提供的方法。
本发明实施例三提供了一种包含指令的计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行本发明实施例一提供的方法。
本发明实施例四提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现本发明实施例一提供的方法。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。