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

一种分体式车辆的泊车路径规划方法、装置、设备及介质

文献发布时间:2023-06-19 16:09:34



技术领域

本申请属于自动驾驶领域,尤其涉及一种分体式车辆的泊车路径规划方法、装置、设备及介质,可应用于港口、高速、物流、矿山、封闭园区、或城市交通等场景。

背景技术

近年来随着自动驾驶技术的发展,自动驾驶车辆在港口、高速等场景落地运营,而在这些场景中,自动驾驶车辆还需要在停车场等开放道路下具备自主泊车功能来完善整个自动驾驶体系。

自动驾驶车辆在自主泊车时,首先自动驾驶车辆停留在泊车的起始点,并且选择车辆上的自主泊车功能。然后,自动驾驶车辆的泊车路径规划装置获取泊车的起始点以及停车点,并且利用reeds-shepp曲线生成起始点以及停车点之间的泊车路径。之后,对生成的泊车路径进行碰撞检测,如果不存在碰撞,则输出该泊车路径,以便自动驾驶车辆根据该泊车路径进行泊车。但是,不同于结构紧凑的民用轿车的车体,分体式车辆例如卡车分为牵引头车和挂车两部分,两者通过头车的牵引销连接,使得行驶过程中车辆的头车和挂车之间会产生一定的夹角。分体式车辆利用现有技术进行自主泊车时,当车辆根据泊车路径到达停车点时,车辆的挂车不一定会甩直,可能仍然与头车之间存在较大的夹角,这种停车状态不仅不符合停车规范,还可能会产生停车风险。

发明内容

本申请实施例提供一种分体式车辆的泊车路径规划方法、装置、设备及介质,用以解决分体式车辆自主泊车时头车与挂车之间存在较大的夹角的技术问题。

第一方面,本申请提供一种分体式车辆的泊车路径规划方法,所述分体式车辆包括挂车以及带动所述挂车行驶的头车,包括:

在预先建立的泊车场景坐标系上,确定所述分体式车辆泊车的起始点和目标点;

确定所述起始点和目标点之间的第一路径;

根据所述起始点的头车航向角以及挂车航向角计算所述第一路径上的各轨迹点对应的挂车航向角以及铰接角,所述铰接角为所述挂车航向角与头车航向角之间的差值;

根据所述挂车航向角以及所述铰接角确定所述分体式车辆的目标泊车路径。

在本实施方式中,在确定起始点和目标点之间的第一路径之后,根据各路径上的轨迹点对应的挂车航向角以及铰接角确定第一路径中的目标泊车路径。通过利用挂车航向角以及铰接角对路径进行约束和限制,可以使最终得到的目标泊车路径能够与分体式车辆的结构相适配,使得分体式车辆根据目标泊车路径到达停车位置时挂车能够甩直,符合停车规范,避免头车与挂车之间存在较大的夹角而产生停车隐患。

在一种可能的实施方式中,所述根据所述挂车航向角以及所述铰接角确定所述分体式车辆的目标泊车路径,具体包括:

按照长度由小至大的顺序对所述第一路径进行排序,以生成第一路径序列;

依次判断所述第一路径序列中是否存在各轨迹点对应的铰接角均小于铰接角阈值的第二路径;

若是,则根据所述挂车航向角确定所述分体式车辆的目标泊车路径;

若否,则根据预设步长以及损失值确定所述起始点的目标待测点,将所述目标待测点作为新的起始点重新执行所述确定所述起始点和目标点之间的第一路径的步骤,直至确定所述分体式车辆的目标泊车路径。

在本实施方式中,在确定起始点和目标点之间的第一路径并为之排序之后,可以首先判断第一路径序列中是否存在各轨迹点对应的铰接角均小于铰接角阈值的第二路径,即是否满足铰接角约束。若存在,可以继续判断第二路径上各轨迹点对应的挂车航向角是否均小于航向角阈值,即是否满足挂车航向角约束。若满足挂车航向角约束,可以继续对第二路径进行碰撞检测,若第二路径与障碍物之间不存在碰撞,则该第二路径即为目标泊车路径。通过这样的设置,使得最终得到的目标泊车路径能够满足预设约束条件以及碰撞检测。

在一种可能的实施方式中,所述根据所述挂车航向角确定所述分体式车辆的目标泊车路径,具体包括:

判断所述第二路径上各轨迹点对应的挂车航向角是否均小于航向角阈值;

若是,则对所述第二路径进行碰撞检测,以确定所述分体式车辆的目标泊车路径;

若否,则继续执行所述依次判断所述第一路径序列中是否存在各轨迹点对应的铰接角均小于铰接角阈值的第二路径的步骤。

在本实施方式中,通过判断第二路径上各轨迹点对应的挂车航向角是否均小于航向角阈值,即是否满足预设的挂车航向角约束,对目标泊车路径的挂车航向角进行约束,使得最终得到的目标泊车路径可以满足预设的挂车航向角约束。通过对挂车航向角进行限制使得分体式车辆位于目标点时的挂车航向角可以限制在一定范围内,从而使挂车能够甩直。

在一种可能的实施方式中,所述对所述第二路径进行碰撞检测,以确定所述分体式车辆的目标泊车路径,具体包括:

确定与所述第二路径的距离小于预设距离的障碍物的位置信息;

根据所述障碍物的位置信息以及所述分体式车辆的几何形状确定所述分体式车辆是否与所述障碍物存在碰撞;

若是,则继续执行所述依次判断所述第一路径序列中是否存在各轨迹点对应的铰接角均小于铰接角阈值的第二路径的步骤;

若否,则根据所述第二路径确定所述分体式车辆的目标泊车路径。

在本实施方式中,在对第二路径进行碰撞检测时,可以首先确定与第二路径上的车辆可能存在碰撞风险的障碍物的位置信息,之后根据障碍物的位置信息以及分体式车辆的几何形状即可简单而又准确的确定分体式车辆是否与障碍物存在碰撞。

在一种可能的实施方式中,所述根据预设步长以及损失值确定所述起始点的目标待测点,具体包括:

根据预设步长以及头车前轮偏角确定所述起始点的初始待测点,所述头车前轮偏角为多个;

获取所述分体式车辆在各初始待测点的状态信息,所述状态信息包括所述分体式车辆已走过路径的长度、所述分体式车辆方向盘转向角幅度、所述转向角幅度增量、所述分体式车辆档位的切换频率、与所述目标点之间的距离、铰接角以及方向盘转向;

根据预设的状态信息与子损失值之间的对应关系对确定各初始待测点的状态信息对应的子损失值;

对每一所述初始待测点对应的子损失值进行加和计算以确定各初始待测点的损失值;

根据所述损失值最小的初始待测点确定目标待测点。

在本实施方式中,通过设置一系列的头车前轮偏角,就可以根据预设步长以及头车前轮偏角确定起始点周围的一系列临近点,也就是初始待测点。之后计算各初始待测点的损失值,即可简单而又准确的确定损失值最小的目标待测点。进一步,通过在状态信息中增加铰接角以及方向盘转向以对铰接角的大小以及驾驶姿势进行限制,排除铰接角教大或者方向盘转向不正确的初始待测点,提高了从一系列初始待测点中得到损失值最小的目标待测点的效率。

在一种可能的实施方式中,所述根据预设步长以及头车前轮偏角确定所述起始点的初始待测点,具体包括:

根据预设步长、所述起始点的横坐标以及所述起始点的头车航向角确定所述初始待测点的横坐标;

根据预设步长、所述起始点的纵坐标以及所述起始点的头车航向角确定所述初始待测点的纵坐标;

根据预设步长、所述起始点的头车航向角、头车轴距以及所述头车前轮偏角确定所述初始待测点的头车航向角;

根据预设步长、所述起始点的头车航向角、所述起始点的挂车航向角以及挂车轴距确定所述初始待测点的挂车航向角。

在本实施方式中,可以首先根据预设步长、起始点的坐标以及起始点的头车航向角计算得到位置坐标;根据预设步长、起始点的头车航向角、头车轴距以及头车前轮偏角计算得到头车航向角;根据预设步长、起始点的头车航向角、起始点的挂车航向角以及挂车轴距计算得到挂车航向角。在计算得到位置坐标、头车航向角以及挂车航向角之后,即可简单而又准确地根据这三项确定起始点的初始待测点。

在一种可能的实施方式中,所述根据所述起始点的头车航向角以及挂车航向角计算所述第一路径上的各轨迹点对应的挂车航向角以及铰接角,具体包括:

根据所述第一路径上的各轨迹点的切线方向与水平轴之间的夹角确定各轨迹点对应的头车航向角;

根据预设步长、挂车轴距、各轨迹点对应的头车航向角、所述起始点的头车航向角以及挂车航向角确定各轨迹点对应的挂车航向角;

根据各轨迹点对应的头车航向角与挂车航向角之间的差值确定各轨迹点对应的铰接角。

在本实施方式中,在第一路径也就是曲线已知的情况下,可以得出第一路径上的各轨迹点切线,从而可求出各轨迹点切线与坐标系的水平轴之间的夹角,也就是各轨迹点对应的头车航向角。在建立泊车场景坐标系并确定起始点之后,起始点的头车航向角以及挂车航向角即可随之得到,可以认为是已知的。在预设步长、挂车轴距、起始点的头车航向角以及挂车航向角、各轨迹点对应的头车航向角已知的情况下,即可据此简单而又准确地计算出各轨迹点对应的挂车航向角。在各轨迹点对应的头车航向角和挂车航向角已知的情况下,即可据此简单而又准确地计算出各轨迹点对应的铰接角。

第二方面,本申请提供一种分体式车辆的泊车路径规划装置,包括:

位置确定模块,用于在预先建立的泊车场景坐标系上,确定所述分体式车辆泊车的起始点和目标点;

路径生成模块,用于确定所述起始点和目标点之间的第一路径;

角度计算模块,用于根据所述起始点的头车航向角以及挂车航向角计算所述第一路径上的各轨迹点对应的挂车航向角以及铰接角,所述铰接角为所述挂车航向角与头车航向角之间的差值;

路径确定模块,用于根据所述挂车航向角以及所述铰接角确定所述分体式车辆的目标泊车路径。

在一种可能的实施方式中,路径规划装置用以实现第一方面或第一方面中任一种可能的实现方式。

第三方面,本申请提供一种分体式车辆的泊车路径规划设备,包括:处理器,以及与所述处理器通信连接的存储器;

所述存储器存储计算机执行指令;

所述处理器执行所述存储器存储的计算机执行指令,以实现上述的方法。

第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现上述的方法。

第五方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的方法。

附图说明

图1为一种分体式车辆进行自主泊车的过程示意图;

图2为本申请一实施例的自主泊车过程示意图;

图3为本申请一实施例的分体式车辆的泊车路径规划方法的流程图;

图4为本申请另一实施例的分体式车辆的泊车路径规划方法的流程图;

图5为最大允许铰接角示意图;

图6为挂车航向示意图;

图7为根据头车前轮偏角生成的初始待测点的航向示意图;

图8为目标待测点的车辆航向示意图;

图9为本申请一实施例的分体式车辆的泊车路径规划装置的结构示意图;

图10为本申请一实施例的分体式车辆的泊车路径规划设备的结构示意图。

附图标记:1、头车;2、挂车;91、位置确定模块;92、路径生成模块;93、角度计算模块;94、路径确定模块。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。

首先对本申请所涉及的名词进行解释:

航向角指的是,地面坐标系下,车辆质心速度与水平轴的夹角。

本申请实施例的分体式车辆的泊车路径规划方法,可应用于港口、高速、物流、矿山、口岸、封闭园区、或城市交通等场景,只要涉及分体式车辆自主泊车的场景,均可应用本申请的分体式车辆的泊车路径规划方法。

自动驾驶车辆在自主泊车时,首先自动驾驶车辆停留在泊车的起始点,并且选择车辆上的自主泊车功能。然后,自动驾驶车辆的泊车路径规划装置获取泊车的起始点以及停车点,并且利用Hybrid A Star算法模型中的reeds-shepp曲线生成起始点以及停车点之间的泊车路径。之后,泊车路径规划装置会对生成的泊车路径进行碰撞检测,如果不存在碰撞,则输出该泊车路径,以便自动驾驶车辆根据该泊车路径进行泊车。如果存在碰撞,泊车路径规划装置会通过四轮车运动学原理在起始点周围扩展一个步长的路径节点,以扩展节点中的点作为新的起始点再次生成起始点以及停车点之间的泊车路径,如此迭代,直至检测到不存在碰撞的泊车路径。

但是,不同于结构紧凑的民用轿车的车体,分体式车辆例如卡车分为牵引头车和挂车两部分,两者通过头车的牵引销连接,使得行驶过程中尤其是转弯时车辆的头车和挂车之间会产生一定的夹角。图1为一种分体式车辆进行自主泊车的过程示意图。如图1所示,路径a和路径b表示根据规划出的泊车路径,1表示分体式车辆的头车,2表示分体式车辆的挂车。图1中(1)表示车辆位于起始点的状态;(2)表示车辆根据路径a行驶至路径a与路径b的交点的状态;(3)表示车辆根据路径b行驶至停车点的状态。由图1中(3)可知,当分体式车辆根据规划出的泊车路径到达停车点时,头车1与挂车2之间存在较大的夹角,挂车2并未甩直。这种停车状态不仅不符合停车规范,还可能会产生停车风险。

本申请提供的分体式车辆的泊车路径规划方法,旨在解决如上技术问题。该方法可以在利用RS几何算法确定起始点和目标点之间的第一路径之后,根据各路径上的轨迹点对应的挂车航向角以及铰接角确定第一路径中的目标泊车路径。通过利用挂车航向角以及铰接角对路径进行约束和限制,可以使最终得到的目标泊车路径能够与分体式车辆的结构相适配,使得分体式车辆根据目标泊车路径到达停车位置时挂车能够甩直,符合停车规范,避免头车与挂车之间存在较大的夹角而产生停车隐患。

下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。

图2为本申请一实施例的自主泊车过程示意图。如图2所示,路径f、路径j和路径h表示泊车路径规划装置规划出的泊车路径,该泊车路径规划装置加载有本申请一实施例的分体式车辆的泊车路径规划方法。图2中1表示分体式车辆的头车,2表示分体式车辆的挂车。图2中(1)表示车辆位于起始点的状态;(2)表示车辆根据路径f行驶至路径f与路径j的交点的状态;(3)表示车辆根据路径j行驶至路径j与路径h的交点的状态;(4)表示车辆根据路径h行驶至停车点的状态。由图2中(4)可知,当分体式车辆根据泊车路径规划装置规划出的泊车路径到达停车点时,分体式车辆的挂车能够甩直,符合停车规范,避免头车与挂车之间存在较大的夹角而产生停车隐患。

实施例一

图3是本申请一实施例提供的分体式车辆的泊车路径规划方法的流程图,本申请实施例提供的分体式车辆的泊车路径规划方法的执行主体可以是泊车路径规划装置,也可以是集成了泊车路径规划装置的分体式车辆(简称:分体式车辆),本实施例以执行主体为分体式车辆对该分体式车辆的泊车路径规划方法进行说明。在本实施例中,分体式车辆包括挂车以及带动挂车行驶的头车。如图3所示,该分体式车辆的泊车路径规划方法可以包括以下步骤:

S101:在预先建立的泊车场景坐标系上,确定分体式车辆泊车的起始点和目标点。

在本实施例中,泊车场景坐标系,是用于确定泊车路径的起始点和目标点。其中,泊车路径的起始点,可以根据分体式车辆中GPS定位模块自动定位的当前位置进行确定,即泊车路径的起始点为目标车辆的当前位置点。泊车路径的目标点,可根据分体式车辆所要到达的目标地位置进行确定,即泊车路径的目标点为分体式车辆的目标车位所在的位置点。

当然,为了更能准确地确定泊车路径的起始点和目标点,在本实施例中,可将分体式车辆的当前位置点所对应的头车与挂车的连接位置点作为起始点,将目标车辆所要到达的目标车位的位置点的几何中心点作为目标点。

在实际操作过程中,目标点也可以采用其它方式进行确定。比如,用户可直接在泊车场景坐标系上,手动点击确定坐标点,并将该坐标点作为目标点的坐标。

S102:确定起始点和目标点之间的第一路径。

在本实施例中,确定分体式车辆泊车的起始点和目标点之后,示例性的,可以利用Hybrid A Star算法模型中的RS几何算法,即reeds-shepp曲线生成起始点和目标点之间可能的的第一路径。

RS几何算法指的是,Hybrid A Star算法模型中的一种基于几何算法的路线规划方法,能够快速的规划出起始点到终止点(即目标点)的路径,也称为reeds-shepp曲线。

reeds-shepp曲线一般由两条弧线和一条直线组成,两条弧线分别是以起始点和目标点为圆心,以一定的半径生成的圆的一部分曲线,一条直线将这两条弧线连接,以生成起始点和目标点之间的连接线,即第一路径。两条弧线的方向可以由车辆的转向决定,两条弧线所在的圆的半径可以由车辆的最小转弯半径、档位等决定。对这两条弧线和一条直线的所有可能进行随机组合后,通常可以生成48条曲线,这48条曲线即从起始点到目标点的所有可能路径。之后可以遍历这48条曲线,就可以根据预先限定的条件从中找到目标泊车路径。

在本实施例中,可以采用现有技术中的RS几何算法确定起始点和目标点之间的第一路径,在此不作赘述。

S103:根据起始点的头车航向角以及挂车航向角计算第一路径上的各轨迹点对应的挂车航向角以及铰接角,铰接角为挂车航向角与头车航向角之间的差值。

在本实施例中,头车航向角可以认为是分体式车辆的航向角,表示车辆的行驶方向,挂车航向角则表示挂车的行驶方向。由于车辆的头车与挂车之间通过头车的牵引销连接,即头车与挂车之间铰链接,车辆行驶过程中头车与挂车的行驶方向即航向角会略有差异,尤其是转弯时更是相差很大。为了让车辆到达目标点时挂车能够甩直,需要让该位置点的车辆的头车航向角与挂车航向角一致或者相差较小,即头车与挂车之间铰接角较小。因此,生成路径之后需要计算路径中各轨迹点对应的挂车航向角以及铰接角,以便后续根据挂车航向角以及铰接角选择符合限定条件的目标路径。

在一个可能的实施方式中,上述步骤S103中的根据起始点的头车航向角以及挂车航向角计算第一路径上的各轨迹点对应的挂车航向角以及铰接角,可以包括:根据第一路径上的各轨迹点的切线方向与水平轴之间的夹角确定各轨迹点对应的头车航向角;根据预设步长、挂车轴距、各轨迹点对应的头车航向角、起始点的头车航向角以及挂车航向角确定各轨迹点对应的挂车航向角;根据各轨迹点对应的头车航向角与挂车航向角之间的差值确定各轨迹点对应的铰接角。

在一个具体的实施方式中,可以利用下列公式(1)和(2)计算每一第一路径上的各轨迹点对应的挂车航向角以及铰接角:

其中,α

在本实施方式中,在第一路径也就是曲线已知的情况下,可以得出第一路径上的各轨迹点切线,从而可求出各轨迹点切线与坐标系的水平轴之间的夹角,也就是各轨迹点对应的头车航向角。在建立泊车场景坐标系并确定起始点之后,起始点的头车航向角以及挂车航向角即可随之得到,可以认为是已知的。在预设步长、挂车轴距、起始点的头车航向角以及挂车航向角、各轨迹点对应的头车航向角已知的情况下,根据上述公式(1)即可简单而又准确地计算出各轨迹点对应的挂车航向角。在各轨迹点对应的头车航向角和挂车航向角已知的情况下,根据上述公式(2)即可简单而又准确地计算出各轨迹点对应的铰接角。

在本实施方式中,本领域技术人员可以根据实际情况灵活设置预设步长,例如,预设步长可以是0.5m,也可以是0.6m,在此不作任何限制。

S104:根据挂车航向角以及铰接角确定分体式车辆的目标泊车路径。

在本实施例中,根据挂车航向角以及铰接角确定分体式车辆的目标泊车路径的具体实施方式请详见实施例二。

在本实施例中,在通过上述步骤S103计算得到每一第一路径上的各轨迹点对应的挂车航向角以及铰接角之后,可以根据预设的挂车航向角约束以及铰接角约束确定分体式车辆的目标泊车路径,使得分体式车辆根据目标泊车路径到达目标点之后挂车可以甩直。

在本实施例中,可以在确定起始点和目标点之间的第一路径之后,根据各路径上的轨迹点对应的挂车航向角以及铰接角确定第一路径中的目标泊车路径。通过利用挂车航向角以及铰接角对路径进行约束和限制,可以使最终得到的目标泊车路径能够与分体式车辆的结构相适配,使得分体式车辆根据目标泊车路径到达停车位置时挂车能够甩直,符合停车规范,避免头车与挂车之间存在较大的夹角而产生停车隐患。

下面以实施例二对上述实施例一的步骤S104根据挂车航向角以及铰接角确定分体式车辆的目标泊车路径的具体实施方式进行详细的阐述。

实施例二

图4是本申请一实施例提供的分体式车辆的泊车路径规划方法的流程图,本申请实施例提供的分体式车辆的泊车路径规划方法的执行主体可以是泊车路径规划装置,也可以是集成了泊车路径规划装置的分体式车辆,本实施例以执行主体为集成了泊车路径规划装置的分体式车辆(简称:分体式车辆)对该分体式车辆的泊车路径规划方法进行说明。在本实施例中,分体式车辆包括能够容纳物品的挂车以及带动挂车行驶的头车。如图4所示,该分体式车辆的泊车路径规划方法可以包括以下步骤:

S201:按照长度由小至大的顺序对第一路径进行排序,以生成第一路径序列。

在本实施例中,在确定起始点和目标点之间的第一路径之后,可以根据长度由小至大的顺序对第一路径进行排序,以便之后根据长度由小至大的顺序对各第一路径进行遍历,得到第一路径中满足预设的挂车航向角约束以及铰接角约束的目标泊车路径。

在本实施例中,长度越小的第一路径的损失值越小,因此,可以根据长度由小至大的顺序对第一路径进行遍历,使得遍历得到的满足预设约束条件的目标泊车路径损失值最小。

S202:依次判断第一路径序列中是否存在各轨迹点对应的铰接角均小于铰接角阈值的第二路径。

S203:若是,则根据挂车航向角确定分体式车辆的目标泊车路径。

在本实施例中,若遍历时发现某条第一路径的各轨迹点对应的铰接角均小于铰接角阈值,则该路径满足预设的铰接角约束,可以将该路径作为第二路径以进行后续约束条件的判断。若遍历时发现某条第一路径的各轨迹点对应的铰接角均小于铰接角阈值,则该路径满足预设的铰接角约束,将该路径作为第二路径以进行后续约束条件的判断。若遍历时发现某条第一路径中有轨迹点对应的铰接角不小于铰接角阈值,则不考虑该路径,继续进行剩余的第一路径序列的遍历。

在一个可能的实施方式中,上述步骤S203根据挂车航向角确定分体式车辆的目标泊车路径,可以包括:

S2031:判断第二路径上各轨迹点对应的挂车航向角是否均小于航向角阈值。

S2032:若是,则对第二路径进行碰撞检测,以确定分体式车辆的目标泊车路径。

若否,则继续执行上述步骤S202。

在本实施方式中,当得到各轨迹点对应的铰接角均小于铰接角阈值的第二路径之后,可以继续判断该第二路径上各轨迹点对应的挂车航向角是否均小于航向角阈值,即是否满足预设的挂车航向角约束。若满足约束条件,可以对第二路径进行碰撞检测,根据碰撞检测结果确定第二路径是否为分体式车辆的目标泊车路径。若不满足约束条件,则不考虑该第二路径,可以继续执行上述步骤S202,重新遍历得到新的第二路径。

在本实施方式中,通过判断第二路径上各轨迹点对应的挂车航向角是否均小于航向角阈值,即是否满足预设的挂车航向角约束,对目标泊车路径的挂车航向角进行约束,使得最终得到的目标泊车路径可以满足预设的挂车航向角约束。通过对挂车航向角进行限制使得分体式车辆位于目标点时的挂车航向角可以限制在一定范围内,从而使挂车能够甩直。

在本实施例中,本领域技术人员可以灵活设置铰接角阈值以及航向角阈值。需要说明的是,铰接角阈值以及航向角阈值只是一个角度值,与方向无关。示例性的,若铰接角阈值为30°,则向左偏转的小于30°的铰接角和向右偏转的小于30°的铰接角均小于铰接角阈值。

在一个可能的实施方式中,上述步骤S2032中的对第二路径进行碰撞检测,以确定分体式车辆的目标泊车路径,可以包括:确定与第二路径的距离小于预设距离的障碍物的位置信息;根据障碍物的位置信息以及分体式车辆的几何形状确定分体式车辆是否与障碍物存在碰撞;若是,则继续执行上述步骤S202;若否,则根据第二路径确定分体式车辆的目标泊车路径。

在本实施方式中,在对第二路径进行碰撞检测时,可以首先确定与第二路径上的车辆可能存在碰撞风险的障碍物的位置信息,之后根据障碍物的位置信息以及分体式车辆的几何形状即可简单而又准确的确定分体式车辆是否与障碍物存在碰撞。

在实际操作过程中,可以将分体式车辆的几何形状投影到第二路径的各轨迹点上,并且根据障碍物的坐标点确定分体式车辆是否与障碍物存在碰撞。

在本实施方式中,本领域技术人员可以根据分体式车辆的实际尺寸灵活设置预设距离,例如预设距离可以是1m,也可以是1.5m,在此不作任何限制。

S204:若否,则根据预设步长以及损失值确定起始点的目标待测点,将目标待测点作为新的起始点重新执行确定起始点和目标点之间的第一路径的步骤,即上述实施例一中的步骤S102,直至确定分体式车辆的目标泊车路径。

在本实施例中,若遍历所有的第一路径均未找到满足预设约束条件以及碰撞检测的路径,则说明从起始点到目标点的所有路径均不合适,需要以其他位置点作为新的起始点重新确定第一路径,如此迭代,直至得到满足预设约束条件以及碰撞检测的目标泊车路径。

在一个可能的实施方式中,上述步骤S204中的根据预设步长以及损失值确定起始点的目标待测点,可以包括:

S2041:根据预设步长以及头车前轮偏角确定起始点的初始待测点,头车前轮偏角为多个。

S2042:获取分体式车辆在各初始待测点的状态信息,状态信息包括分体式车辆已走过路径的长度、分体式车辆方向盘转向角幅度、转向角幅度增量、分体式车辆档位的切换频率、与目标点之间的距离、铰接角以及方向盘转向。

S2043:根据预设的状态信息与子损失值之间的对应关系对确定各初始待测点的状态信息对应的子损失值;

S2044:对每一初始待测点对应的子损失值进行加和计算以确定各初始待测点的损失值。

S2045:根据损失值最小的初始待测点确定目标待测点。

在本实施方式中,头车前轮偏角指的是,头车前轮的轮轴与头车车轴之间的夹角,也就是头车即将转弯的角度。损失值指的是,以对应的位置点作为起始点到达目标点所需的成本,损失值越小,耗费的成本越低。

在本实施方式中,可以预先根据各状态信息设置不同的子损失值,当得到各初始待测点的状态信息之后,即可找到该状态信息对应的子损失值。示例性的,不同的分体式车辆已走过路径的长度可以设置不同的子损失值,长度越大,对应的子损失值越大。不同的分体式车辆方向盘转向角幅度可以设置不同的子损失值,幅度越大,对应的子损失值越大。不同的转向角幅度增量可以设置不同的子损失值,增量越大,对应的子损失值越大。不同的分体式车辆档位的切换频率可以设置不同的子损失值,前进、后退档位切换的频率越高,对应的子损失值越大。不同的与目标点之间的距离可以设置不同的子损失值,距离越大,对应的子损失值越大。不同的铰接角可以设置不同的子损失值,铰接角越大,对应的子损失值越大,当铰接角大于铰接角阈值时,子损失值可以设置为无穷大。当方向盘转向与挂车航向一致时,子损失值可以设置为0,当方向盘转向与挂车航向不一致时,子损失值可以设置为无穷大。

在实际行驶过程中,铰接角不能过大,如果铰接角过大,会对挂车的机械结构造成损伤,并且可能会超过相应角度检测传感器的量程。图5为最大允许铰接角示意图,如图5所示,如果铰接角超过了最大允许铰接角α(即铰接角阈值),则将对应的子损失值设置为无穷大,在保证了行驶安全性的同时还提高了目标待测点的搜索速度。此外,图6为挂车航向示意图,如图6所示,此时挂车航向是朝右摆的,如果此时方向盘向左打方向并倒车,铰接角会迅速变大,这样的操作是不符合驾驶习惯的,这属于不正确的驾驶趋势,则将对应的子损失值设置为无穷大,可以避免搜索不可能发生的结果,提高整体的搜索速度。

在本实施方式中,通过设置一系列的头车前轮偏角,就可以根据预设步长以及头车前轮偏角确定起始点周围的一系列临近点,也就是初始待测点。之后计算各初始待测点的损失值,即可简单而又准确的确定损失值最小的目标待测点。进一步,通过在状态信息中增加铰接角以及方向盘转向以对铰接角的大小以及驾驶姿势进行限制,排除铰接角教大或者方向盘转向不正确的初始待测点,提高了从一系列初始待测点中得到损失值最小的目标待测点的效率。

在一个可能的实施方式中,上述步骤S2041中的根据预设步长以及头车前轮偏角确定起始点的初始待测点,可以包括:根据预设步长、起始点的横坐标以及起始点的头车航向角确定初始待测点的横坐标;根据预设步长、起始点的纵坐标以及起始点的头车航向角确定初始待测点的纵坐标;根据预设步长、起始点的头车航向角、头车轴距以及头车前轮偏角确定初始待测点的头车航向角;根据预设步长、起始点的头车航向角、起始点的挂车航向角以及挂车轴距确定初始待测点的挂车航向角。

在一个具体的实施方式中,可以利用下列公式(3)-(6)计算起始点周围的的初始待测点的位置坐标、头车航向角以及挂车航向角:

其中,x

在本实施方式中,由于确定初始待测点的位置坐标是一个虚拟大概的过程,各初始待测点的位置坐标可以认为是相同的,只是对应的航向角不同。图7为根据头车前轮偏角生成的初始待测点的航向示意图,如图7所示,图7中白点表示初始待测点,黑点表示起始点。图7中各白点的位置只表示其航向,并不代表实际位置坐标。图7中各白点与黑点之间的曲线与水平轴之间的夹角表示头车前轮偏角,根据公式(5)以及头车前轮偏角即可求出对应的头车航向角。

图8为目标待测点的车辆航向示意图,如图8所示,图8中1表示头车,2表示挂车,θ

在本实施方式中,若根据该系列的对应的目标待测点作为起始点仍然不能得到目标泊车路径时,可以根据上述公式(3)-(6)不断进行迭代,生成新的目标待测点,直至得到满足预设约束条件以及碰撞检测的目标泊车路径。

在本实施方式中,根据上述公式(3)-(6)计算得到位置坐标、头车航向角以及挂车航向角之后,即可简单而又准确地根据预设步长以及头车前轮偏角确定起始点的初始待测点。

在本实施例中,在确定起始点和目标点之间的第一路径并为之排序之后,可以首先判断第一路径序列中是否存在各轨迹点对应的铰接角均小于铰接角阈值的第二路径,即是否满足铰接角约束。若存在,可以继续判断第二路径上各轨迹点对应的挂车航向角是否均小于航向角阈值,即是否满足挂车航向角约束。若满足挂车航向角约束,可以继续对第二路径进行碰撞检测,若第二路径与障碍物之间不存在碰撞,则该第二路径即为目标泊车路径。通过这样的设置,使得最终得到的目标泊车路径能够满足预设约束条件以及碰撞检测。

下面以一个具体的实施例对本申请的分体式车辆的泊车路径规划方法进行阐述。

实施例三

在一个具体的实施例中,某驾驶员设置自动驾驶后卡车行驶至某停车场,该驾驶员选择车辆上的自主泊车功能想要通过自主泊车到达停车位。首先,卡车上的泊车路径规划装置会为该卡车规划泊车路径,具体的泊车路径规划过程如下:

第一步,泊车路径规划装置在预先建立的泊车场景坐标系上,根据GPS定位模块确定分体式车辆泊车的起始点,并且提示驾驶员选择目标位置,驾驶员选择目标位置后在坐标系上确定目标位置对应的目标点。

第二步,泊车路径规划装置利用RS几何算法确定起始点和目标点之间的48条第一路径。

第三步,泊车路径规划装置利用实施例一中的公式(1)和(2)计算每一第一路径上的各轨迹点对应的挂车航向角以及铰接角。

第四步,按照长度由小至大的顺序对第一路径进行排序,以生成第一路径序列。

第五步,依次判断第一路径序列中是否存在各轨迹点对应的铰接角均小于铰接角阈值的第二路径。

第六步,经判断可知,第一路径序列中存在各轨迹点对应的铰接角均小于铰接角阈值的第二路径。

第七步,判断该第二路径上各轨迹点对应的挂车航向角是否均小于航向角阈值。

第八步,若是,则确定与第二路径的距离小于预设距离的障碍物的位置信息。

第九步,根据障碍物的位置信息以及分体式车辆的几何形状确定分体式车辆是否与障碍物存在碰撞,若否,则第二路径即为目标泊车路径。

确定卡车的目标泊车路径之后,泊车路径规划装置将该目标泊车路径发送至卡车的控制单元中,控制单元控制卡车从起始点行驶至目标点对应的停车位,完成自主泊车。

图9为本申请一实施例的分体式车辆的泊车路径规划装置的结构示意图,如图9所示,该分体式车辆的泊车路径规划装置包括:位置确定模块91、路径生成模块92、角度计算模块93以及路径确定模块94。其中,位置确定模块91用于在预先建立的泊车场景坐标系上,确定分体式车辆泊车的起始点和目标点。路径生成模块92用于确定起始点和目标点之间的第一路径。角度计算模块93用于根据起始点的头车航向角以及挂车航向角计算第一路径上的各轨迹点对应的挂车航向角以及铰接角,铰接角为挂车航向角与头车航向角之间的差值。路径确定模块94用于根据挂车航向角以及铰接角确定分体式车辆的目标泊车路径。一个实施方式中,分体式车辆的泊车路径规划装置具体实现功能的描述可以参见实施例一中的步骤S101-S104,在此不做赘述。

图10为本申请一实施例的分体式车辆的泊车路径规划设备的结构示意图,如图10所示,该分体式车辆的泊车路径规划设备包括:处理器101,以及与处理器101通信连接的存储器102;存储器102存储计算机执行指令;处理器101执行存储器102存储的计算机执行指令,实现上述各方法实施例中分体式车辆的泊车路径规划方法的步骤。

该分体式车辆的泊车路径规划设备可以是独立的,也可以是分体式车辆的一部分,该处理器101和存储器102可以采用分体式车辆现有的硬件。

在上述分体式车辆的泊车路径规划设备中,存储器102和处理器101之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可以通过一条或者多条通信总线或信号线实现电性连接,如可以通过总线连接。存储器102中存储有实现数据访问控制方法的计算机执行指令,包括至少一个可以软件或固件的形式存储于存储器102中的软件功能模块,处理器101通过运行存储在存储器102内的软件程序以及模块,从而执行各种功能应用以及数据处理。

存储器102可以是,但不限于,随机存取存储器(Random Access Memory,简称:RAM),只读存储器(Read Only Memory,简称:ROM),可编程只读存储器(ProgrammableRead-Only Memory,简称:PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,简称:EPROM),电可擦除只读存储器(Electric Erasable ProgrammableRead-Only Memory,简称:EEPROM)等。其中,存储器102用于存储程序,处理器101在接收到执行指令后,执行程序。进一步地,上述存储器102内的软件程序以及模块还可包括操作系统,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通信,从而提供其他软件组件的运行环境。

处理器101可以是一种集成电路芯片,具有信号的处理能力。上述的处理器101可以是通用处理器,包括中央处理器(Central Processing Unit,简称:CPU)、网络处理器(Network Processor,简称:NP)等。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

本申请的一实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现本申请各方法实施例的步骤。

本申请的一实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本申请各方法实施例的步骤。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由所附的权利要求书指出。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。

相关技术
  • 一种分体式车辆的泊车路径规划方法、装置、设备及介质
  • 一种泊车路径规划方法、装置、车辆和存储介质
技术分类

06120114723248