化祖旭 张文海

(重庆交通大学机电与车辆工程学院,重庆 400074)

主题词:路径规划 贝塞尔曲线 自动驾驶

1 引言

自动驾驶车辆目前按国际标准通常划分为6个等级,能够实现无人驾驶技术的无人车一般都已达到L3级别以上。目前,全球能够实现自动驾驶技术的企业主要有百度、特斯拉、谷歌Waymo、GM Cruise、奥迪,国内外自动驾驶系统多数正处于辅助驾驶L2 级别。自动驾驶汽车主要有视觉感知、规划决策、运动控制3大研究方向。其中,路径规划又分为全局路径规划和局部路径规划,局部路径规划是在全局路径规划的基础上根据当前实际行驶环境规划出一条无碰撞且满足各种约束的局部路径[1]。

常用的局部路径规划方法主要有人工势场法、贝塞尔曲线法、B 样条曲线法、曲线插值法以及基于MPC算法的动态路径规划。其中,贝塞尔曲线具有曲率连续、易于生成的优点,被广泛应用于自动驾驶汽车局部路径规划。张金炜等[2]提出了蚁群算法与四次贝塞尔曲线融合的路径规划方法,其先利用蚁群算法规划全局最短路径,然后利用多个贝塞尔曲线对路径进行拟合,提高了蚁群算法规划路径的平滑度。张新锋等[3]通过遗传算法对贝塞尔曲线进行了优化,最后通过Trucksim 软件验证了其规划路径的可行性。高嵩等[4]基于贝塞尔曲线建立了避障路径规划,以最大最小曲率的差值为优化目标,通过序列二次优化(SQR)算法对控制点参数进行优化求解,并通过实验验证了其方法的可行性。余星宝等[5]基于4阶贝塞尔曲线优化了A*算法,通过寻找A*算法中路径曲率突变点,用4阶贝塞尔曲线去替代曲率过大的路径,通过仿真验证这种方法可以有效减少A*算法中的曲率突变和减短路径长度。Song等[6]提出了粒子群算法与高阶贝塞尔曲线相结合的方法设计了更加平滑的规划路径,Michael Schwung 等[7]提出了基于事件的规避碰撞方法,并使用贝塞尔曲线规划轨迹,实验验证了方法的可行性。Vahid Hassani 等[8]提出了利用贝塞尔曲线来生成船舶的行驶路径,并设立成本函数来反应其动态性能,并通过仿真验证了算法的有效性。

本文为了简化算法,使用2 段3 次贝塞尔曲线完成避障路径规划,第2 段变道路径曲线由第1 段避撞路径曲线旋转得到,并建立了安全距离模型,确保车辆在轮胎滑移与侧向风等不确定因素的影响下与障碍物不会碰撞。通过加入车辆目标状态曲率约束、侧滑约束、执行机构约束确保车辆行驶舒适性,最后利用仿真软件MATLAB进行仿真验证。

2 路径规划

2.1 贝塞尔曲线介绍

贝塞尔曲线通过控制点的选取来改变曲线的形状,具有轨迹曲率连续可导、易于跟踪、满足汽车动力学约束且仅需少量控制点就可生成轨迹等优点[9]。

通常定义n+1 个控制点组成n阶贝塞尔曲线,其表达式如式(1)[10]:

式中,Pi与t分别是控制点的坐标值与参数,Bi,n(t)为Bernstein多项式,其表达式如式(2)[11]:

式中,为二次项系数。

3次贝塞尔曲线的参数方程表达式可以表述为式(3):

式中,Pi(xi,yi);xi和yi分别代表控制点的横纵坐标。

2.2 控制点的选取

本文规划路径由2 段3 次贝塞尔曲线构成,分别为避撞路径与变道路径。如图1 所示,每段具有4 个控制点,2段共8个控制点,其中控制点P3为前一段与后一段路径共用,以确保曲率连续。这里只需求取前4 个控制点坐标,后4 个控制点坐标直接由前段曲线旋转得到。

图1 3次贝塞尔曲线避障轨迹

避撞路径的3次贝塞尔曲线参数方程,如式(4)[12]:

(4)对式(4)分别求一阶导与二阶导,其表达式如下:

贝塞尔曲线上任意一点的曲率为[13]:

假设前方为静止障碍物,初始时刻目标车辆匀速行驶,纵向速度为v0,且其初始时刻的横向速度与加速度为零,则初始状态下有如下关系:

由此可得出前3 个控制点P0=(0,0),P1=(v/3,0),P2=(2v/3,0),接下来求取控制点P3的坐标,为了简化算法本文设定控制点P3在道路中心线上,则确定P3点坐标为(x3,L/2),L为单车道宽度。考虑避障时车辆轮胎滑移与侧向风等不确定因素的影响,建立以下安全距离模型,如式(8)[14]:

式中,d为预留安全距离;d0为目标车辆紧急停车时与障碍物的最小安全距离,一般取2~3 m;v为车速,障碍物危险系数t1∈[0,1]。

2.3 路径优化

路径优化是为确保规划的路径易于车辆跟踪,且同时具有安全性和舒适性[15]。为保证规划路径的安全性,令x3=D+a-d,且设置如式(9):

式中,D为目标车辆与障碍物之间的初始距离,a为车辆长度。

为保证侧滑约束,设置如式(10)[16]:

式中,ay为横向加速度,v为汽车车速,u为道路摩擦系数,g为重力加速度。

为简化第2 段变道路径规划算法,其由前一段避撞路径旋转得出,此时第2段规划路径起始控制点为P3,且P2,P3,P4处于同一条直线上,保证车辆的横摆角连续无突变,由此可求得控制点P4=(2x3,3.5),P5=(2x3+v/3,3.5),P6=(2x3+2v/3,3.5),此时控制点P4,P5与P6共线,可确保变道后车辆目标状态的曲率为零。至此2段3次贝塞尔曲线全部规划完成。

3 仿真

下面利用MATLAB 软件对规划路径进行仿真,设定车辆长度a=4 m,车辆宽度b=1.8 m,道路宽度L=3.5 m,路面附着系数u取0.8。本文规划路径可随速度变化而变化,如图2所示,初始距离D选取为26 m,车辆速度分别为10 m/s,15 m/s,20 m/s,由图2 可看出车辆速度越快,车辆在结束避撞路径时的X轴坐标越小,增大了汽车与障碍物之间的距离,确保了汽车的安全性。图3中的车速设定为15 m/s,可看出初始距离D变化,规划路径的曲率变化率也有所不同,初始距离越大路径的曲率越小,舒适性越高,可适应不同的驾驶风格。图4至图5中车速设定为15 m/s,初始距离D设定为26 m。图4为避撞路径中车辆横向加速度随X轴的变化曲线,可看出横向加速度最大为1.81 m/s2,则规划路径的横向加速度满足式(9)所规定的侧滑约束,满足车辆变道安全性,变道路径与避撞路径的加速度大小相同方向相反,图5为车辆横摆角,其最大值为0.11 rad,满足车辆变道舒适性要求。

图2 不同车速下3次贝塞尔曲线避障轨迹

图3 不同初始距离下三次贝塞尔曲线避障轨迹

图4 车辆横向加速度曲线

图5 车辆横摆角变化

4 总结

本文基于2段3次贝塞尔曲线完成了自动驾驶汽车避障路径规划,建立了安全距离模型,增加了车辆安全性。同时利用旋转曲线的方法简化了避障路径的算法。仿真结果验证:本文的路径规划方法可以在不同初始距离D与不同车速下进行,且规划的避障路径满足一定的舒适性与安全性。