当前位置:   article > 正文

Real-Time Trajectory Planning for Autonomous Urban Driving: Framework, Algorithms, and Verifications

Real-Time Trajectory Planning for Autonomous Urban Driving: Framework, Algorithms, and Verifications

Real-Time Trajectory Planning for Autonomous Urban Driving: Framework, Algorithms, and Verifications

Abstract

这篇文章针对的是真实城市道路环境下自动驾驶车辆的实时轨迹规划问题。使用了一个分层的运动规划框架。首先,根据高层的行为决策器和高精度地图,生成一个粗略的参考路径,然后使用共轭梯度非线性优化算法和三次B样条来平滑和插值参考路径;为了能够在跟踪路径的过程中,同时处理动态静态障碍物,轨迹规划在frenet坐标系下被分成了横向和纵向两个单独的部分。

1. INTRODUCTION AND STATE OF THE ART

2. SYSTEM FRAMEWORK

3. SYSTEM ALGORITHMS

这篇文章的话,针对的是有车道线的结构化场景的导航问题。

3.1 Reference Path Smoothing and Interpolation

对于一组给定的的初始参考路径点,通过下列的目标函数进行优化来进行平滑。
arg min ⁡ { ω 1 ∑ i = 1 N − 1 ( Δ x i + 1 − Δ x i ) 2 + ω 2 ∑ i = 1 N − 1 ( Δ θ i ∣ Δ x i ∣ ) 2 + f ( x i ) } \argmin \left\lbrace \omega_{1} \sum^{N-1}_{i=1} \left( \Delta x_{i+1}-\Delta x_i \right)^{2} + \omega_{2} \sum^{N-1}_{i=1} \left( \frac{\Delta\theta_{i}}{\lvert \Delta x_{i} \rvert} \right)^{2} + f\left( x_{i} \right) \right\rbrace argmin{ω1i=1N1(Δxi+1Δxi)2+ω2i=1N1(ΔxiΔθi)2+f(xi)}

  • Δ x i = x i − x i − 1 \Delta x_{i}=x_{i}-x_{i-1} Δxi=xixi1是在 x i = ( x i , y i ) x_i=\left( x_i, y_i\right) xi=(xi,yi)点处的位移向量;
  • Δ θ = arccos ⁡ ( Δ x i + 1 Δ x i ∣ Δ x i + 1 ∣ ∣ Δ x i ∣ ) \Delta \theta = \arccos\left( \frac{\Delta x_{i+1}\Delta x_{i}}{\lvert\Delta x_{i+1}\rvert \lvert\Delta x_{i}\rvert} \right) Δθ=arccos(Δxi+1ΔxiΔxi+1Δxi) 是在 x i = ( x i , y i ) x_i=\left( x_i, y_i\right) xi=(xi,yi)点处的向量方向变化量;
  • f ( x i ) f\left( x_{i} \right) f(xi) 为一个可导非线性函数,当点 x i x_{i} xi 靠近边界时,它的值会变得无穷大,在边界以内的时候,它的值接近0。

完成路径的平滑以后,因为路径点太稀疏,下一步进行路径点之间的插值运算, 插值使用三次B样条进行:

离散控制点为 P i ( i = 0 , 1 , . . . . n ) P_{i}\left( i=0,1,....n \right) Pi(i=0,1,....n),分段三次B样条可以写为
C ( u ) = ∑ i = 0 n P i G i , 3 ( u ) = 1 6 [ u 3 u 2 u 1 ] [ − 1 3 − 3 1 3 − 6 3 0 − 3 0 3 0 1 4 1 0 ] [ P i P i + 1 P i + 2 P i + 3 ] u ∈ [ 0 , 1 ] C\left(u\right)=\sum^n_{i=0}P_iG_{i,3}\left(u\right)=\frac{1}{6}

[u3u2u1]
[1331363030301410]
[PiPi+1Pi+2Pi+3]
u \in \left[0,1\right] C(u)=i=0nPiGi,3(u)=61[u3u2u1]1331360433311000PiPi+1Pi+2Pi+3u[0,1]

其中, G i , 3 G_{i,3} Gi,3 是B样条的基函数。

3.2 Spatial Path Generation Based on the Curvilinear Coordinate Framework

Frenet 坐标系的优势:可以将车辆的横向和纵向的行为分解开。
经过平滑与插值算法处理后,得到的路径作为基本参考轨迹。

根据微分平坦理论,多项式曲线可以表示从当前状态点到采样终点状态点之间的平滑过度曲线:
l ( s ) = c 0 + c 1 s + c 2 s 2 + c 3 s 3 l\left( s \right) = c_0 + c_1 s + c_2 s^2 + c_3s^3 l(s)=c0+c1s+c2s2+c3s3
为了确定上式中的系数,根据初始边界条件,有:
l ( s 0 ) = l 0 , l ( s f ) = l f l\left( s_0 \right) =l_0,l\left( s_f \right) =l_f l(s0)=l0,l(sf)=lf

θ ( s ) = arctan ⁡ ( d l d s ) \theta\left( s \right)=\arctan\left( \frac{dl}{ds} \right) θ(s)=arctan(dsdl)为车辆本体与基础参考轨迹之间的航向偏差。

为了保证生成的路径能够与基础轨迹尽量重合,在预瞄点处航向设置为与基础参考轨迹的切向相同。但是在起点处,车辆的起始航向与基础参考路径的航向可以不同,因此可以得到下列的边界条件:
θ ( s 0 ) = θ 0 , θ ( s f ) = 0 \theta\left( s_0 \right) =\theta_0,\theta\left( s_f \right) =0 θ(s0)=θ0,θ(sf)=0
基于上述的4个边界条件,可以求解得到曲线的多项式系数。

路径规划的采样结果,根据前面提到的4个边界条件,通过变换终点的方式,可以生成一簇备选路径。
在这里插入图片描述

在Frenet坐标系中得到路径规划结果后,需要将路径变换回到笛卡尔坐标系中。这里论文里的公式感觉有点问题,计划使用Udacity里面的笛卡尔与Frenet坐标系的转换关系。

3.3 Velocity Profile Geneartion

在速度规划的时候考虑的因素有横向与纵向的加速度约束、速度约束(计及交通规则),
考虑这些约束条件可能会大大减少速度规划的求解空间,并使速度规划者将精力集中在最可能存在最优解的空间上。 因此,在完成空间规划后,基于空间路径规划的结果再执行速度生成器。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/237612
推荐阅读
相关标签
  

闽ICP备14008679号