赞
踩
这篇文章针对的是真实城市道路环境下自动驾驶车辆的实时轨迹规划问题。使用了一个分层的运动规划框架。首先,根据高层的行为决策器和高精度地图,生成一个粗略的参考路径,然后使用共轭梯度非线性优化算法和三次B样条来平滑和插值参考路径;为了能够在跟踪路径的过程中,同时处理动态静态障碍物,轨迹规划在frenet坐标系下被分成了横向和纵向两个单独的部分。
这篇文章的话,针对的是有车道线的结构化场景的导航问题。
对于一组给定的的初始参考路径点,通过下列的目标函数进行优化来进行平滑。
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=1∑N−1(Δxi+1−Δxi)2+ω2i=1∑N−1(∣Δxi∣Δθi)2+f(xi)}
完成路径的平滑以后,因为路径点太稀疏,下一步进行路径点之间的插值运算, 插值使用三次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}
其中, G i , 3 G_{i,3} Gi,3 是B样条的基函数。
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坐标系的转换关系。
在速度规划的时候考虑的因素有横向与纵向的加速度约束、速度约束(计及交通规则),
考虑这些约束条件可能会大大减少速度规划的求解空间,并使速度规划者将精力集中在最可能存在最优解的空间上。 因此,在完成空间规划后,基于空间路径规划的结果再执行速度生成器。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。