具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
在本申请的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本申请的技术方案适用于泊车场景,尤其是自动泊车场景。随着车辆智能化的发展,自动泊车功能得到了广泛应用,可以根据规划的泊车路径实现自动泊车入库。
传统方案中,泊车路径通常是基于车尾入库的方式实现的,对于部分车头泊入的场景,如对于靠墙的车位,车辆无法驶过该车位再进行泊车,反向斜车位等,没有很好的泊车路径实现方法。因此,如何基于车头进行泊车路径规划是亟待解决的问题。
为了解决上述技术问题,发明人提供了一种泊车路径规划方法,包括:响应于泊车请求,确定车辆从起始位姿向前行驶至终止位姿的第一泊车路径;在所述第一泊车路径未符合行驶要求的情况下,以所述行驶要求为优化目标,寻找至少两个目标位姿,以确定所述车辆从所述起始位姿向前行驶至第一个目标位姿的第二泊车路径、从最后一个目标位姿向前行驶至所述终止位姿的第三泊车路径、以及在至少两个目标位姿中的相邻两个目标位姿之间向前行驶或向后行驶的至少一个第四泊车路径;由所述第二泊车路径、至少一个第四泊车路径及第三泊车路径构成目标泊车路径。
本申请提供的方案中,车辆可以按照上述目标泊车路径从起始位姿自动行驶至终止位姿,以实现自动泊车。并且,上述目标泊车路径是基于车头泊入的方式进行规划的,适用于车头泊入的泊车场景。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示,为本申请实施例提供的一种泊车路径规划方法一个实施例的流程图,该方法可以包括以下几个步骤:
101:响应于泊车请求,确定车辆从起始位姿向前行驶至终止位姿的第一泊车路径。
本申请实施例适用于泊车场景,尤其是车头泊入的泊车场景。响应于针对某一车辆的泊车请求,可以确定该车辆的目标泊车路径,以供该车辆按照目标泊车路径进行自动泊车。该泊车请求可以由用户触发,触发方式可以包括按键触发、语音触发等,不进行限制。
响应于泊车请求,可以确定该车辆的起始位姿及终止位姿。起始位姿可以包括车辆请求泊车所处的起始位置及初始姿态,终止位姿可以包括车辆泊入的终止位置及终止姿态,如车辆请求泊入某一车位时,终止位置可以指该泊入车位的某一位置。图2示出了一种泊车场景一个实施例的示意图,图中标注了车辆的起始位姿Os及终止位姿Oe。其中,起始位姿Os在世界坐标系下的坐标可以表示为(xs,ys,θs),终止位姿Oe在世界坐标系下的坐标可以表示为(xe,ye,θe),起始位姿Os的位置坐标(xs,ys)可以指起始位置处车身后轮轴中点坐标,姿态角θs可以指起始位置处车辆中轴线L1与世界坐标系y轴(基于起始位置处车辆的运动方向确定,如图2中车辆向右向下运动,且向右运动的程度较大,因此世界坐标系y轴为水平向右方向)的夹角,终止位姿Oe的位置坐标(xe,ye)可以指终止位置处车身后轮轴中点坐标,姿态角θe可以指终止位置处车辆中轴线L2与世界坐标系y轴的夹角。
根据起始位姿及终止位姿,可以按照预设的路径规划方式确定车辆从起始位姿向前行驶至终止位姿的第一泊车路径。向前行驶可以指从车尾向车头方向行驶。其中,路径规划方式可以包括几何路径规划方式、混合A星算法等,可以根据实际应用场景进行设置。将在后续实施例中对第一泊车路径的确定方式进行说明,此处不进行赘述。
可选的,为了确保车辆能够按照确定的泊车路径进行顺利泊车,还可以对上述第一泊车路径进行是否符合行驶要求的判断。
其中,行驶要求可以包括运动实现及安全行车两方面的要求。对于运动实现方面,通常情况下,上述确定的第一泊车路径中会包括圆弧路径。为了实现车辆能够按照圆弧路径运动,圆弧路径的半径需要大于车辆的最小转弯半径。其中,最小转弯半径是指当转向盘转到极限位置,汽车以最低稳定车速转向行驶时,后轴中心转过的轨迹圆半径。
因此,行驶要求可以包括:泊车路径中圆弧路径的半径大于车辆的最小转弯半径。
可选的,响应于针对某一车辆的泊车请求,可以确定请求的车辆,并确定该车辆的最小转弯半径。结合泊车路径中圆弧路径的半径,判断是否大于最小转弯半径。
对于安全行车方面,车辆在行驶过程中,需要避免与障碍物发生碰撞。因此,行驶要求还可以包括:车辆位于泊车路径所对应路面的任一位置,都不与障碍物重叠。
具体的,可以利用超声波雷达、激光雷达等检测设备检测泊车路径所对应空间中的障碍物,如泊车路径所对应路面上的车辆、行人,泊入车位中的柱子等,获得障碍物的位置和尺寸信息。结合车辆位于泊车路径所对应路面的任一位置及车辆尺寸信息,判断是否会与障碍物发生碰撞。
实际应用中,还可以设置其它行驶要求,并对第一泊车路径进行相应的判断,本申请对此不进行限制。
102:在第一泊车路径未符合行驶要求的情况下,以行驶要求为优化目标,寻找至少两个目标位姿,以确定车辆从起始位姿向前行驶至第一个目标位姿的第二泊车路径、从最后一个目标位姿向前行驶至终止位姿的第三泊车路径、以及在至少两个目标位姿中的相邻两个目标位姿之间向前行驶或向后行驶的至少一个第四泊车路径。
上述第一泊车路径是在车辆只进行一次向前行驶的情况下确定的,当判定该第一泊车路径不符合行驶要求时,表明车辆只进行一次向前行驶时,无法从起始位姿行驶至终止位姿,此时,可以增加向后行驶,即倒车的行驶过程,确定包括多次行驶过程的泊车路径。
具体的,可以以行驶要求为优化目标,寻找至少两个目标位姿,作为中间泊车位姿,以使车辆从起始位姿经该中间泊车位姿行驶至终止位姿。
其中,目标位姿的数量可以根据实际应用场景设置。例如,目标位姿可以设置为两个,此时,以行驶要求为优化目标,寻找两个目标位姿,以确定车辆从起始位姿向前行驶至第一个目标位姿的第二泊车路径、从第一个目标位姿向后行驶至第二个目标位姿的第四泊车路径,以及从第二个目标位姿向前行驶至终止位姿的第三泊车路径。又例如,目标位姿可以设置为四个,此时,可以以行驶要求为优化目标,寻找四个目标位姿,以确定车辆从起始位姿向前行驶至第一个目标位姿的第二泊车路径、从第一个目标位姿向后行驶至第二个目标位姿,从第二个目标位姿向前行驶至第三个目标位姿,以及从第三个目标位姿向后行驶至第四个目标位姿的多个第四泊车路径,以及从第四个目标位姿向前行驶至终止位姿的第三泊车路径。
上述目标位姿的寻找过程将在后续实施例中进行详细说明,此处不进行赘述。
103:由第二泊车路径、至少一个第四泊车路径及第三泊车路径构成目标泊车路径。
可以将上述确定的第二泊车路径、至少一个第四泊车路径及第三泊车路径首尾连接,以获得完整的目标泊车路径。
本实施例中,响应于泊车请求后,可以确定车辆从起始位姿向前行驶至终止位姿的第一泊车路径,并在第一泊车路径不符合行驶要求的情况下,以行驶要求为优化目标,寻找至少两个目标位姿,以确定车辆从起始位姿向前行驶至第一个目标位姿的第二泊车路径,从最后一个目标位姿向前行驶至终止位姿的第三泊车路径,以及在至少两个目标位姿中的相邻两个目标位姿之间向前行驶或向后行驶的至少一个第四泊车路径,并由第二泊车路径、至少一个第四泊车路径及第三泊车路径构成目标泊车路径。由此,车辆可以按照上述目标泊车路径从起始位姿自动行驶至终止位姿,以实现自动泊车。并且,上述目标泊车路径是基于车头泊入的方式进行规划的,适用于车头泊入的泊车场景。
可选的,当判定第一泊车路径符合行驶要求时,表明车辆可以按照该第一泊车路径从起始位姿向前行驶至终止位姿,此时,可以直接将第一泊车路径作为目标泊车路径,以提高路径规划效率。
下面以利用几何路径规划方式,对车辆从起始位姿向前行驶至终止位姿的第一泊车路径的确定过程进行说明。
在某些实施例中,确定车辆从起始位姿向前行驶至终止位姿的第一泊车路径的方法可以包括:
确定车辆从起始位姿,按照直线路径与圆弧路径向前交替行驶至终止位姿的第一泊车路径。
其中,该第一泊车路径可以包括直线路径及圆弧路径。结合图2的示意图,可以优先基于终止位姿Oe的位置点到起始位置处车辆中轴线L1的第一距离le,起始位姿Os的姿态角θs以及终止位姿Oe的姿态角θe,确定圆弧路径的半径R。具体的,可以按照如下的半径公式进行计算。
该半径公式可以为:
;其中,R表示圆弧路径的半径,le表示终止
位姿Oe的位置点到起始位置处车辆中轴线L1的第一距离,θs表示起始位姿Os的姿态角,θe
表示终止位姿Oe的姿态角。
圆弧路经的半径R确定后,基于圆弧路径的半径R,起始位姿Os的位置点到终止位置处车辆中轴线L2的第二距离ls,姿态角θs以及姿态角θe,可以确定由起始位姿Os向前直线行驶的直线路径的距离。具体的,可以按照如下的直线路径的距离公式进行计算。
该直线路径的距离公式可以为:
;其中,dl表示直
线路径的距离,ls表示起始位姿Os的位置点到终止位置处车辆中轴线L2的第二距离。
直线路径的距离dl确定后,结合直线路径的距离,姿态角θs以及姿态角θe,可以确定直线路径及圆弧路径的交点Oc。具体的,可以按照如下的第一坐标公式进行计算。
该第一坐标公式可以为;
;其中,xs表示起始位姿Os的横坐
标,ys表示起始位姿Os的纵坐标。
之后,可以确定以起始位姿Os为起点,以交点Oc为终点的直线路径,以及以交点Oc为起点,以终止位姿Oe为终点,半径为R的圆弧路经,确定由直线路径与圆弧路径构成的第一泊车路径。
其中,上述第一距离le以及第二距离ls可以是进行坐标转换获得。具体的,可以按照如下的第一距离公式及第二距离公式计算获得。
该第一距离公式可以为:
;其中,le
表示第一距离,xe表示终止位姿Oe的横坐标,xs表示起始位姿Os的横坐标,ye表示终止位姿
Oe的纵坐标,ys表示起始位姿Os的纵坐标。
该第二距离公式可以为:
;其中,ls
表示第二距离。
上述第一泊车路径是基于图2所示示意图中,先直线路径后圆弧路径的行驶过程规划获得。实际应用中,行驶过程还可以实现为先圆弧路径后直线路径,此时也可以按照上述几何路径规划方式确定第一泊车路径,不再进行赘述。
通过利用几何规划的方式,确定由直线路径与圆弧路经构成的第一泊车路径,简化了第一泊车路径确定中数据运算处理过程,提高了第一泊车路径的确定效率,且确定过程直观清晰,简单易实现。
在某些实施例中,在进行上述第一泊车路径规划之前,还可以基于第一距离le与第二距离ls的数值关系,确定直线路径及圆弧路经的行驶顺序。具体的,可以在第一距离le小于第二距离ls的情况下,按照先直线路径后圆弧路径的顺序行驶,以及在第一距离le大于第二距离ls的情况下,按照先圆弧路径后直线路径的顺序行驶。
可选的,上述第一泊车路径还可以只包括直线路径或圆弧路径,例如,若确定直线路径的距离为0,此时第一泊车路径中只包括圆弧路径,不进行限制。
实际应用中,上述第一泊车路径确定后,为了提高直线路径与圆弧路径之间曲率不连续的问题,上述方法还可以包括:
确定包含直线路径与圆弧路径的交点的过渡路径;
对该过渡路径进行曲率平滑处理。
曲率平滑可以利用三阶贝塞尔曲线实现。具体的,可以基于直线路径与圆弧路径的交点,确定包含该交点在内的四分之一直线路径中,远离该交点的第一起始点,以及包含该交点在内的四分之一圆弧路径中,远离该交点的第二起始点,该第一起始点与第二起始点之间的路径可以作为过渡路径。分别确定第一起始点对应的切线以及第二起始点对应的切线,将两个切线相交获得的两个线段(第一起始点与两个切线相交的交点构成的第一线段以及第二起始点与两个切线相交的交点构成的第二线段)中,各自线段的中点作为两个控制点,基于两个控制点以及第一起始点和第二起始点,利用三阶贝塞尔曲线进行曲率平滑处理,该处理过程可以参考传统方案中的具体实现,不进行赘述。
实际应用中,上述曲率平滑还可以有其它实现方式,如回旋线、B样条曲线等,不进行限制。
下面对在第一泊车路径未符合行驶要求的情况下,确定泊车路径的过程进行具体说明。
为了缩短泊车过程,提高泊车效率,在某些实施例中,可以寻找两个目标位姿,以确定泊车路径。以行驶要求为优化目标,寻找第一目标位姿以及第二目标位姿,以确定车辆从起始位姿向前行驶至第一目标位姿的第二泊车路径、从第一目标位姿向后行驶至第二目标位姿的第四泊车路径,以及从第二目标位姿向前行驶至终止位姿的第三泊车路径。
本实施例中,设置有两个目标位姿,车辆从起始位姿经两个目标位姿行驶至终止位姿经过向前行驶、向后行驶再向前行驶三个行驶过程,对应三个行驶路径。为了便于理解,图3示出了一种泊车场景另一个实施例的示意图,图中标注了第一目标位姿Ot及第二目标位姿Ot2。车辆由起始位姿Os向前行驶至第一目标位姿Ot,由第一目标位姿Ot向后行驶至第二目标位姿Ot2,以及由第二目标位姿Ot2向前行驶至终止位姿Oe。
通常情况下,第一目标位姿可以设置于终止位姿周围,且远离起始位姿的一侧,如可以设置于泊入车位远离起始位姿的一侧,第二目标位姿可以设置于第一目标位姿远离终止位姿的一侧。
其中,寻找第一目标位姿和第二目标位姿可以有多种实现方式。作为一种可选的实现方式,可以同时寻找第一目标位姿及第二目标位姿,以使得上述第二泊车路径、第三泊车路径及第四泊车路径都符合行驶要求。例如,可以从多个第一预测位姿及多个第二预测位姿中选取任一第一预测位姿及任一第二预测位姿,并确定车辆从起始位姿向前行驶至该第一预测位姿的预测路径,从该第一预测位姿向后行驶至该第二预测位姿的预测路径,以及从该第二预测位姿向前行驶至终止位姿的预测路径,判断该多个预测路径是否都符合行驶要求。当多个预测路径都符合行驶要求时,确定对应的第一预测位姿及第二预测位姿为第一目标位姿及第二目标位姿,否则,选取另一个第一预测位姿和/或第二预测位姿重新确定预测路径并判定是否符合行驶要求。可选的,上述多个第一预测位姿和多个第二预测位姿可以从泊车数据中获得。例如,历史泊车数据中可以包括多个第一历史预测位姿和多个第二历史预测位姿,可以从中选取预设数量个第一历史预测位姿作为多个第一预测位姿,以及选取预设数量个第二历史预测位姿作为多个第二预测位姿,该预设数量可以为3、5、10等,不进行限制。可选的,上述多个第一预测位姿还可以结合终止位姿、距离终止位置处车辆中轴线的多个第一预设距离、距离终止位置处车辆中轴线的垂线的多个第二预设距离,预设参数及起始位姿的姿态角进行确定,具体的确定方式在后续说明书中进行说明,上述多个第二预测位姿可以从历史泊车数据中获得,不再赘述。
作为另一种可选的实现方式,可以依次寻找第一目标位姿及第二目标位姿,例如,优先寻找第一目标位姿,在第一目标位姿确定后,再寻找并确定第二目标位姿。具体的,该方法可以包括:
寻找第一目标位姿,以使得车辆从起始位姿向前行驶至第一目标位姿的第二泊车路径符合行驶要求;
寻找第二目标位姿,以使得车辆从第一目标位姿向后行驶至第二目标位姿的第四泊车路径,以及从第二目标位姿向前行驶至终止位姿的第三泊车路径符合行驶要求。
通过依次寻找第一目标位姿及第二目标位姿,可以减轻路径规划过程中的数据处理压力,缩短路径规划过程,提高路径规划效率。
在某些实施例中,上述寻找第一目标位姿,以使得车辆从起始位姿向前行驶至第一目标位姿的第二泊车路径符合行驶要求的方法可以包括:
确定车辆从起始位姿分别向前行驶至多个第一预测位姿对应的多个泊车路径中,符合行驶要求的第二泊车路径;
将第二泊车路径对应的第一预测位姿作为第一目标位姿。
可选的,上述确定第二泊车路径之前,还可以确定多个第一预测位姿。
作为一种可选的实现方式,可以获取由起始位姿向前行驶至终止位姿的多个历史泊车数据,历史泊车数据中可以包括第一历史位姿,并基于第一历史位姿,确定多个第一预测位姿。例如,可以直接将多个第一历史位姿作为多个第一预测位姿;或者,可以基于多个第一历史位姿中坐标数据确定第一预测位姿中坐标范围,如基于多个第一历史位姿中横坐标最小值及最大值确定第一预测位姿横坐标的范围等,以及基于多个第一历史位姿中姿态角确定第一预测位姿中姿态角范围,并基于确定的坐标范围及姿态角范围,设置任意数量个第一预测位姿,等等。
作为另一种可选的实现方式,可以结合终止位姿、距离终止位置处车辆中轴线的多个第一预设距离、距离终止位置处车辆中轴线的垂线的多个第二预设距离,预设参数及起始位姿的姿态角,确定多个第一预测位姿。其中,第一预设距离可以指第一预测位姿距离终止位置处车辆中轴线的距离,第二预设距离可以指第一预测位姿距离距离终止位置处车辆中轴线的垂线的的距离。如图4-1所示,为本申请提供的第一目标位姿一个实施例的示意图,图中标注了第一预设距离dx及第二预设距离dy。
具体的,可以按照如下的第二坐标公式确定第一预测位姿的横坐标和纵坐标。
该第二坐标公式可以为:
;其中,xt表示第
一预测位姿的横坐标,yt表示第一预测位姿的纵坐标,dx表示第一预设距离,dy表示第二预
设距离,θe表示终止位姿Oe的姿态角,xe表示终止位姿Oe的横坐标,ye表示终止位姿Oe的纵
坐标。
以及,可以按照如下的姿态角公式确定第一预测位姿的姿态角。
该姿态角公式可以为:
;其中,θt表示第一预测位姿的姿
态角,θs表示起始位姿Os的姿态角,θe表示终止位姿Oe的姿态角,α表示预设参数。
上述第一预设距离、第二预设距离及预设参数可以根据历史泊车数据进行确定。历史泊车数据中可以包括历史第一预设距离、历史第二预设距离以及历史预设参数。例如,该第一预设距离可以为0.2m、0.5m、0.8m,第二预设距离可以为车辆长度+0.15m、车辆长度+0.35m、车辆长度+0.55m,以及预设参数可以为0.33,0.43,0.5。此时,可以确定三个第一预测位姿,从而可以确定车辆从起始位姿分别向前行驶至三个第一预测位姿对应的三个泊车路径中,符合行驶要求的第二泊车路径,并将第二泊车路径对应的第一预测位姿作为第一目标位姿。
上述方案中,第一预设距离、第二预设距离以及预设参数是根据历史泊车数据进行确定的,即可以实现为实际泊车场景中的经验数据,准确性较高,通过设置多个第一预设距离和第二预设距离,并结合第一预设距离和第二预设距离进行第一预测位姿中横纵坐标的确定,以及设置预设参数,并基于预设参数进行第一预测位姿中姿态角的确定,进一步提高了第一预测位姿确定的准确度,减少了由起始位姿到第一预测位姿的泊车路径的判定次数,提高了路径规划效率。
其中,确定车辆从起始位姿分别向前行驶至多个第一预测位姿对应的多个泊车路径中,符合行驶要求的第二泊车路径也可以有多种实现方式。作为一种可选的实现方式,针对多个第一预测位姿,可以确定车辆从起始位姿分别向前行驶至多个第一预测位姿对应的全部泊车路径,对全部泊车路径都进行是否符合行驶要求的判定,从而确定出符合行驶要求的一个或多个泊车路径,此时可以任选一个泊车路径作为第二泊车路径。
作为另一种可选的实现方式,可以确定车辆从起始位姿向前行驶至某一第一预测位姿对应的泊车路径,并判断该泊车路径是否符合行驶要求,若符合行驶要求时,确定该泊车路径为第二泊车路径,不再进行其它第一预测位姿对应泊车路径的判定。若当前第一预测位姿对应的泊车路径不符合行驶要求,则继续进行下一个第一预测位姿对应的泊车路径的判定,直至确定出符合行驶要求一个泊车路径,结束判定过程,以减轻路径规划过程中的数据处理压力,缩短路径规划过程,提高路径规划效率。
为了进一步提高路径规划效率,可以根据预设条件从多个第一预测位姿中确定预设数量个第一预测位姿,再针对预设数量个第一预测位姿,进行上述第二泊车路径及第一目标位姿的确定。例如,可以基于检测的空间中的障碍物的位置及尺寸信息,从多个第一预测位姿中确定与障碍物不重叠的预设数量个第一预测位姿。例如,可以设置三个第一预测位姿,第一个第一预测位姿的第一预设距离为0.2m,第二个第一预测位姿的第一预设距离为0.5m,第三个第一预测位姿的第一预设距离为0.8m。基于检测的空间中的障碍物的位置及尺寸信息,判定第一预设距离为0.8m时,将与泊入车位远端的柱子重叠,此时可以从三个第一预测位姿中筛选出第一个和第二个第一预测位姿,只基于第一个和第二个第一预测位姿进行泊车路径确定,从而进一步缩短路径规划过程,提高路径规划效率。
在某些实施例中,寻找第二目标位姿,以使得车辆从第一目标位姿向后行驶至第二目标位姿的第四泊车路径,以及从第二目标位姿向前行驶至终止位姿的第三泊车路径符合行驶要求的方法可以包括:
根据第一目标位姿以及终止位姿,确定第二预测位姿;
判断车辆从第一目标位姿向后行驶至第二预测位姿的第一预测路径,以及从第二预测位姿向前行驶至终止位姿的第二预测路径,是否均符合行驶要求;
若是,将第二预测位姿作为第二目标位姿;
若否,以车辆的最小转弯半径为预测圆弧半径,与第三预设距离为预测圆弧路径的距离,重新确定第二预测位姿;
判断车辆从第一目标位姿向后行驶至第二预测位姿的第一预测路径,以及从重新确定的第二预测位姿向前行驶至终止位姿的第二预测路径,是否均符合行驶要求;
若是,将重新确定的第二预测位姿作为第二目标位姿;
若否,调整重新确定的第二预测位姿,以获得符合行驶要求的第一预测路径以及第二预测路径,将调整之后的第二预测位姿作为第二目标位姿,以及将符合行驶要求的第一预测路径作为第四泊车路径,将符合行驶要求的第二预测路径作为第三泊车路径。
上述过程中,可以优先根据第一目标位姿及终止位姿,初步确定第二预测位姿。如图4-2所示,为本申请提供的第二目标位姿一个实施例的示意图。结合图4-2,可以以第一目标位姿为第一切点,以第一目标位姿处车辆中轴线L4为第一切线,以及以终止位置处车辆中轴线L2为第二切线确定圆,将圆上位于第二切线上的第二切点作为第二预测位姿。
通过几何规划的方法初步确定第二预测位姿,确定过程直观清晰,且简单易实现。
第二预测位姿确定后,可以以圆的半径作为圆弧路径的半径,将由第一目标位姿向后行驶至第二预测位姿的圆弧路径作为第一预测路径,以及将从第二预测位姿向前行驶至终止位姿的路径作为第二预测路径,其中第二预测路径的确定方式可以与第一泊车路径的确定方式一致,不再赘述。对第一预测路径与第二预测路径均进行是否符合行驶要求的判定,若均符合行驶要求,将第二预测位姿作为第二目标位姿,并结束过程。
若第一预测路径和/或第二预测路径不符合行驶要求,则以车辆的最小转弯半径为预测圆弧半径,与第三预设距离为预测圆弧路径的距离,重新确定第二预测位姿并进行是否符合行驶要求的判定。其中,第三预设距离例如可以设置为0.4m。
若上述重新确定的第二预测位姿对应的第一预测路径和第二预测路径都符合行驶要求,可以将该重新确定的第二预测位姿作为第二目标位姿,并结束过程。
若上述重新确定的第二预测位姿对应的第一预测路径和/或第二预测路径仍旧不符合行驶要求,可以对该重新确定的第二预测位姿进行调整。
可选的,重新确定的第二预测位姿的调整操作可以包括:
依次在当前圆弧路径的距离的基础上增加第四预设距离,调整重新确定的第二预测位姿,直至第二预测位姿的姿态角与终止位姿的姿态角相同;其中,第四预设距离例如可以设置为0.4m。
判断车辆从调整后的第二预测位姿向前行驶至终止位姿的第二预测路径是否符合行驶要求;
若是,将符合行驶要求的第一预测路径作为第四泊车路径,将符合行驶要求的第二预测路径作为第三泊车路径,以及将对应的调整后的第二预测位姿作为第二目标位姿。
以当前圆弧路径的距离是0.4m,当前圆弧路径的半径是最小转弯半径,且当前确定的第二预测位姿对应的预测路径不符合行驶要求为例,可以进行如下调整操作:
在当前圆弧路径的距离的基础上增加0.4m,即以圆弧路径的距离是0.8m,圆弧路径的半径是最小转弯半径,确定第二预测位姿并进行是否符合行驶要求的判定,若符合行驶要求,将该第二预测位姿作为第二目标位姿,并结束过程。否则,继续在当前圆弧路径的距离的基础上增加0.4m,即以圆弧路径的距离是1.2m,圆弧路径的半径是最小转弯半径,确定第二预测位姿并进行是否符合行驶要求的判定,若符合行驶要求,将该第二预测位姿作为第二目标位姿,并结束过程。否则,继续在当前圆弧路径的距离的基础上增加0.4m,来确定第二预测位姿并进行是否符合行驶要求的判定,直至符合行驶要求,将对应的第二预测位姿作为第二目标位姿,或者,直至第二预测位姿的姿态角与终止位姿的姿态角相同。
上述调整过程中,若直至第二预测位姿的姿态角与终止位姿的姿态角相同,第二预测位姿对应的预测路径都不符合要求,可以在当前圆弧半径的基础上增加第五预设距离,并按照依次在当前圆弧路径的距离的基础上增加第四预设距离的步骤,二次调整上述第二预测位姿,直至第二预测位姿的姿态角与终止位姿的姿态角相同;其中,第五预设距离例如可以设置为0.5m。
判断车辆从二次调整后的第二预测位姿向前行驶至终止位姿后的第二预测路径是否符合行驶要求;
在符合要求的情况下,将符合行驶要求的第一预测路径作为第四泊车路径,将符合行驶要求的第二预测路径作为第三泊车路径,以及将对应的二次调整后的第二预测位姿作为第二目标位姿。
以当前圆弧路径的半径是最小转弯半径,按照上述调整操作调整至第二预测位姿的姿态角与终止位姿的姿态角相同时,第二预测位姿对应的预测路径都不符合要求为例,可以进行如下二次调整操作:
在当前圆弧路径的半径的基础上增加0.5m,即以最小转弯半径增加0.5m后作为圆弧路径的半径,以圆弧路径的距离是0.4m,确定第二预测位姿并进行是否符合行驶要求的判定,若符合行驶要求,将该第二预测位姿作为第二目标位姿,并结束过程。否则,在当前圆弧路径的距离的基础上增加0.4m,即以圆弧路径的距离是0.8m,圆弧路径的半径是最小转弯半径增加0.5m后的半径,确定第二预测位姿并进行是否符合行驶要求的判定,若符合行驶要求,将该第二预测位姿作为第二目标位姿,并结束过程。否则,继续在当前圆弧路径的距离的基础上增加0.4m,来确定第二预测位姿并进行是否符合行驶要求的判定,直至符合行驶要求,将对应的第二预测位姿作为第二目标位姿,或者,直至第二预测位姿的姿态角与终止位姿的姿态角相同。
可选的,若上述二次调整操作后,第二预测位姿对应的预测路径仍旧不符合要求,可以继续在当前圆弧路径的半径的基础上增加第五预设距离进行预测,不再赘述。
通过对第二预测位姿进行依次调整,能够实现在确定出符合行驶要求的第二预测路径时,结束位姿调整及路径判定过程,减轻路径规划过程中的数据处理压力,缩短路径规划过程,进一步提高路径规划效率。
实际应用中,若按照上述规划方法无法获得泊车路径,考虑可能是由于空间中障碍物较多,设置两个目标位姿无法满足行驶要求。此时,可以增加目标位姿的数量。
在某些实施例中,可以寻找两个以上的目标位姿,以确定泊车路径。以寻找四个目标位姿为例,可以以行驶要求为优化目标,寻找第三目标位姿、第四目标位姿、第五目标位姿及第六目标位姿,以确定车辆从起始位姿向前行驶至第三目标位姿的第二泊车路径、从第三目标位姿向后行驶至第四目标位姿,从第四目标位姿向前行驶至第五目标位姿,以及从第五目标位姿向后行驶至第六目标位姿的三个第四泊车路径,以及从第六目标位姿向前行驶至终止位姿的第三泊车路径。
本实施例中,设置有四个目标位姿,车辆从起始位姿经四个目标位姿行驶至终止位姿经过向前行驶、向后行驶、向前行驶、向后行驶再向前行驶五个行驶过程,对应五个行驶路径。
其中,可以优先确定第三目标位姿。可以结合空间中障碍物的位置信息,确定由起始位姿按照最小转弯半径向前行驶至距最近障碍物第六预设距离的目标位姿,确定为第三目标位姿。第六预设距离例如可以设置为30cm。
以第三目标位姿作为起始位姿,确定由第三目标位姿向后行驶的第四目标位姿,由第四目标位姿向前行驶的第五目标位姿以及由第五目标位姿向后行驶的第六目标位姿,可以参考传统方案中垂直式泊车方式的步骤实现,即倒车后前进再倒车的过程,不进行赘述。之后,可以按照上述实施例中第一泊车路径的确定方法,确定由第六目标位姿向前行驶至终止位姿的第三泊车路径。
通过设置多个目标位姿,由起始位姿经多个目标位姿行驶至终止位姿的多个行驶路径,泊车更容易顺利实现,提高了泊车成功率。
可以理解的是,若仍旧无法获得泊车路径,考虑不适于自动泊车,可以输出对应的提示信息,以告知用户,便于用户采用手动泊车,或者更换起始位姿和/或终止位姿。
上述一个或多个实施例中,给出了优先确定车辆从起始位姿向前行驶至终止位姿的第一泊车路径,并在第一泊车路径不符合行驶要求的情况下,优先寻找两个目标位姿,以确定从起始位姿行前行驶至第一目标位姿,从第一目标位姿向后行驶至第二个目标位姿,从第二个目标位姿向前行驶至终止位姿的泊车路径,以及在两个目标位姿无法满足行驶要求的情况下,继续增加目标位姿并确定泊车路径的规划方法,以实现在当前泊车路径符合行驶要求的情况下,结束路径规划过程,提高规划效率。
除此之外,本申请实施例还提供了另一种泊车路径规划方法,该方法可以包括:
响应于泊车请求,确定车辆的起始位姿及终止位姿;
以行驶要求为优化目标,寻找第一目标位姿以及第二目标位姿,以确定车辆从起始位姿向前行驶至第一目标位姿的第二泊车路径、从第一目标位姿向后行驶至第二目标位姿的第四泊车路径,以及从第二目标位姿向前行驶至终止位姿的第三泊车路径;
由第二泊车路径、第四泊车路径及第三泊车路径构成目标泊车路径。
本实施例中,第一目标位姿及第二位姿的寻找方法在前述实施例中有相应的描述,不再赘述。
通过直接以行驶要求为优化目标,寻找第一目标位姿和第二目标位姿并确定泊车路径,提高泊车路径规划的成功率,能够在较大程度上满足各车辆的泊车需求,实现自动泊车。
可选的,本申请实施例还提供了又一种泊车路径规划方法,该方法可以包括:
响应于泊车请求,确定车辆的起始位姿及终止位姿;
以行驶要求为优化目标,寻找第三目标位姿、第四目标位姿、第五目标位姿及第六目标位姿,以确定车辆从起始位姿向前行驶至第三目标位姿的第二泊车路径、从第三目标位姿向后行驶至第四目标位姿,从第四目标位姿向前行驶至第五目标位姿,以及从第五目标位姿向后行驶至第六目标位姿的三个第四泊车路径,以及从第六目标位姿向前行驶至终止位姿的第三泊车路径;
由第二泊车路径、三个第四泊车路径及第三泊车路径构成目标泊车路径。
通过直接以行驶要求为优化目标,寻找第三目标位姿、第四目标位姿、第五目标位姿及第六位姿,并确定泊车路径,进一步提高泊车路径规划的成功率。
可选的,还可以根据车辆起始位姿与终止位姿之间的障碍物信息,来判定是优先确定车辆从起始位姿向前行驶至终止位姿的第一泊车路径,还是可以直接寻找两个目标位姿进行路径规划,或者可以直接寻找四个目标位姿进行路径规划等。
例如,可以在车辆起始位姿与终止位姿之间的障碍物信息较少时,如障碍物数量小于第一阈值,优先确定车辆从起始位姿向前行驶至终止位姿的第一泊车路径,以及在障碍物数量大于第一阈值且小于第二阈值时,以行驶要求为优化目标,寻找两个目标位姿以进行泊车路径规划,以及在障碍物数量大于第二阈值时,以行驶要求为优化目标,寻找四个目标位姿以进行泊车路径规划,等等。
或者,还可以根据障碍物的尺寸信息、类型信息等进行判定,可以根据实际应用场景进行设置,不再赘述。
如图5所示,为本申请提供的一种泊车路径规划装置一个实施例的结构示意图,该方法可以包括以下几个模块:
第一确定模块501,用于响应于泊车请求,确定车辆从起始位姿向前行驶至终止位姿的第一泊车路径;
寻找模块502,用于在第一泊车路径未符合行驶要求的情况下,以行驶要求为优化目标,寻找至少两个目标位姿,以确定车辆从起始位姿向前行驶至第一个目标位姿的第二泊车路径、从最后一个目标位姿向前行驶至终止位姿的第三泊车路径、以及在至少两个目标位姿中的相邻两个目标位姿之间向前行驶或向后行驶的至少一个第四泊车路径;
第二确定模块503,用于由第二泊车路径、至少一个第四泊车路径及第三泊车路径构成目标泊车路径。
本实施的泊车路径规划装置可以用于实现图1所示的泊车路径规划方法,响应于泊车请求后,可以确定车辆从起始位姿向前行驶至终止位姿的第一泊车路径,并在第一泊车路径不符合行驶要求的情况下,以行驶要求为优化目标,寻找至少两个目标位姿,以确定车辆从起始位姿向前行驶至第一个目标位姿的第二泊车路径,从最后一个目标位姿向前行驶至终止位姿的第三泊车路径,以及在至少两个目标位姿中的相邻两个目标位姿之间向前行驶或向后行驶的至少一个第四泊车路径,并由第二泊车路径、至少一个第四泊车路径及第三泊车路径构成目标泊车路径。由此,车辆可以按照上述目标泊车路径从起始位姿自动行驶至终止位姿,以实现自动泊车。并且,上述目标泊车路径是基于车头泊入的方式进行规划的,适用于车头泊入的泊车场景。
在某些实施例中,寻找模块502可以具体用于以行驶要求为优化目标,寻找第一目标位姿以及第二目标位姿,以确定车辆从起始位姿向前行驶至第一目标位姿的第二泊车路径、从第一目标位姿向后行驶至第二目标位姿的第四泊车路径,以及从第二目标位姿向前行驶至终止位姿的第三泊车路径。
在某些实施例中,寻找模块502可以包括;
第一寻找单元,用于寻找第一目标位姿,以使得车辆从起始位姿向前行驶至第一目标位姿的第二泊车路径符合行驶要求;
第二寻找单元,用于寻找第二目标位姿,以使得车辆从第一目标位姿向后行驶至第二目标位姿的第四泊车路径,以及从第二目标位姿向前行驶至终止位姿的第三泊车路径符合行驶要求。
在某些实施例中,第一寻找单元可以具体用于确定车辆从起始位姿分别向前行驶至多个第一预测位姿对应的多个泊车路径中,符合行驶要求的第二泊车路径;将第二泊车路径对应的第一预测位姿作为第一目标位姿。
在某些实施例中,寻找模块502还可以包括:
第一确定单元,用于基于终止位姿、距离终止位置处车辆中轴线的多个第一预设距离、距离终止位置处车辆中轴线的垂线的多个第二预设距离,预设参数及起始位姿的姿态角,确定多个第一预测位姿。
在某些实施例中,第二寻找单元可以包括:
第一确定子单元,用于根据第一目标位姿以及终止位姿,确定第二预测位姿;
第一判断子单元,用于判断车辆从第一目标位姿向后行驶至第二预测位姿的第一预测路径,以及从第二预测位姿向前行驶至终止位姿的第二预测路径,是否均符合行驶要求;
第二确定子单元,在第一判断子单元结果为是时,将第二预测位姿作为第二目标位姿;
第三确定子单元,在第一判断子单元结果为否时,以车辆的最小转弯半径为预测圆弧半径,与第三预设距离为预测圆弧路径的距离,重新确定第二预测位姿;
第四确定子单元,用于在车辆从第一目标位姿向后行驶至重新确定的第二预测位姿的第一预测路径,以及从重新确定的第二预测位姿向前行驶至终止位姿的第二预测路径均符合行驶要求的情况下,将重新确定的第二预测位姿作为第二目标位姿;
第五确定子单元,用于调整重新确定的第二预测位姿,以获得符合行驶要求的第一预测路径以及第二预测路径,将调整之后的第二预测位姿作为第二目标位姿,以及将符合行驶要求的第一预测路径作为第四泊车路径,将符合行驶要求的第二预测路径作为第三泊车路径。
在某些实施例中,第一确定子单元可以具体用于以第一目标位姿为第一切点,以第一目标位姿处车辆中轴线为第一切线,以及以终止位置处车辆中轴线为第二切线确定圆,将圆上位于第二切线上的第二切点作为第二预测位姿;
第五确定子单元,可以具体用于依次在当前圆弧路径的距离的基础上增加第四预设距离,调整重新确定的第二预测位姿,直至第二预测位姿的姿态角与终止位姿的姿态角相同;判断车辆从调整后的第二预测位姿向前行驶至终止位姿的第二预测路径是否符合行驶要求;若是,将符合行驶要求的第一预测路径作为第四泊车路径,将符合行驶要求的第二预测路径作为第三泊车路径,以及将调整后的第二预测位姿作为第二目标位姿;若否,在当前圆弧半径的基础上增加第五预设距离,并按照依次在当前圆弧路径的距离的基础上增加第四预设距离的步骤,二次调整第二预测位姿,直至第二预测位姿的姿态角与终止位姿的姿态角相同;判断车辆从二次调整后的第二预测位姿向前行驶至终止位姿的第二预测路径是否符合行驶要求;在符合要求的情况下,将符合行驶要求的第一预测路径作为第四泊车路径,将符合行驶要求的第二预测路径作为第三泊车路径,以及将对应的二次调整后的第二预测位姿作为第二目标位姿。
在某些实施例中,第一确定模块501可以具体用于确定车辆从起始位姿,按照直线路径与圆弧路径向前交替行驶至终止位姿的第一泊车路径。
在某些实施例中,第一确定模块501可以具体用于基于终止位置到起始位置处车辆中轴线的第一距离,车辆位于起始位置的姿态角及车辆位于终止位置的姿态角,确定圆弧路径的半径;基于圆弧路径的半径,起始位置到终止位置处车辆中轴线的第二距离,车辆位于起始位置的姿态角及车辆位于所述终止位置的姿态角,确定直线路径的距离;基于直线路径的距离,车辆位于起始位置的姿态角及车辆位于终止位置的姿态角,确定直线路径及圆弧路径的交点;确定以起始位姿为起点,交点为终点的直线路径,以及以交点为起点,以终止位姿为终点的圆弧路经,确定由直线路径与圆弧路径构成的第一泊车路径。
在某些实施例中,第一确定模块501还可以用于确定包含直线路径与圆弧路径的交点的过渡路径;对过渡路径进行曲率平滑处理。
图5所述的泊车路径规划装置可以执行图1所示实施例所述的泊车路径规划方法,其实现原理和技术效果不再赘述。对于上述实施例中的泊车路径规划装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请实施例还提供了一种计算设备,如图6所示,该设备可以包括存储组件601及处理组件602;
该存储组件601存储一条或多条计算机程序指令,其中,一条或多条计算机程序指令供处理组件602调用执行,以实现图1所示的泊车路径规划方法。
当然,上述计算设备必然还可以包括其他部件,例如输入/输出接口、通信组件等。
输入/输出接口为处理组件和***接口模块之间提供接口,上述***接口模块可以是输出设备、输入设备等。通信组件被配置为便于计算设备和其他设备之间有线或无线方式的通信等。
本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被计算机执行时可以实现图1所示的泊车路径规划方法。该计算机可读介质可以是上述实施例中描述的计算设备中所包含的;也可以是单独存在,而未装配入该计算设备中。
本申请实施例还提供了一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序被计算机执行时可以实现图1所示的泊车路径规划方法。
在这样的实施例中,计算机程序可以是从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被处理器执行时,执行本申请的***中限定的各种功能。
需要说明的是,上述计算设备可以为物理设备或者云计算平台提供的弹性计算主机等。其可以实现成多个服务器或终端设备组成的分布式集群,也可以实现成单个服务器或单个终端设备。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。