欢迎关注微信公众号《不想做科学家的工程师不是好码农》

在《Apollo规划演算法基于多边形分离的平滑分析(一)》一文中对下面公式1到3进行了展开,本文介绍如何对公式4进行展开:

egin{align} &x_0=x_S,x_{N+1}=x_F,\ &x_{k+1}=f(x_k,u_k),\ &h(x_k,u_k)leq0,\ &mathbb{E}(x_k)capmathbb{O}^{(m)}=varnothing end{align}

在车位附近,可行驶区域可以使用一个个的多边形堆砌在外维表示,行驶区域内的障碍物同样可以用一个个多边表示,这样只需保证车辆多边形和各障碍物多边形之间距离大于零即可。

两个多边形的距离可以表示为:

egin{align} minimize &left|omega
ight|\ subject to &f_i(x)leq0,i=1,...,m\ &g_i(y)leq0,i=1,...,p\ &x-y=omega end{align}

其对偶函数为:

egin{align} &g(lambda,z,mu)=inflimits_{x,y,omega}left(left|omega
ight|+sum_{i=1}^mlambda_if_i(x)+sum_{i=1}^pmu_ig_i(y)+z^T(x-y-omega)
ight)\ &=inflimits_{x}left(sum_{i=1}^mlambda_if_i(x)+z^Tx
ight)\ &quad+inflimits_{y}left(sum_{i=1}^pmu_ig_i(y)-z^Ty
ight)\ &quad+inflimits_{omega}left(left|omega
ight|-z^Tomega
ight)\ &=inflimits_{x}left(sum_{i=1}^mlambda_if_i(x)+z^Tx
ight)\ &quad+inflimits_{y}left(sum_{i=1}^pmu_ig_i(y)-z^Ty
ight)\ &quad-suplimits_{omega}left(z^Tomega-left|omega
ight|
ight)\ &=left{egin{array}{ll} inflimits_{x}left(sum_{i=1}^mlambda_if_i(x)+z^Tx
ight)+inflimits_{y}left(sum_{i=1}^pmu_ig_i(y)-z^Ty
ight)-0&left|z
ight|_*leq1\ -infty&other end{array}
ight. end{align}

公式15为z的二范数的共轭函数,公式16用其对偶范数来等价表示。再将公式16转化为对偶问题有:

egin{align} maximize &inflimits_{x}left(sum_{i=1}^mlambda_if_i(x)+z^Tx
ight)+inflimits_{y}left(sum_{i=1}^pmu_ig_i(y)-z^Ty
ight)\ subject to &left|z
ight|_*leq1\ &lambdasucceq0\ &musucceq0 end{align}

因为函数 f_i(x)g_i(y) 表示的是多边形,可以用如下公式表示:

egin{equation} A_1xpreceqmathcal{K}b_1 end{equation}

egin{equation} A_2ypreceqmathcal{K}b_2 end{equation}

要保证任意两个多边形不相交,有

egin{align} &lambda(A_1x-b_1)+z^Tx+mu(A_2y-b_2)-z^Ty\ &=lambda A_1x-lambda b_1+z^Tx+mu A_2y-mu b_2-z^Ty\ &>0 end{align}

增加约束 lambda A_1x+z^Tx=0 ,对任意x有:

egin{equation} lambda A_1+z^T=0 end{equation}

增加约束 mu A_2y-z^Ty=0 ,对任意y有:

egin{equation} mu A_2-z^T=0 end{equation}

这样原问题转化为

egin{align} &-b_1lambda-b_2mu>0\ &A_1^Tlambda+z=0\ &A_2^Tmu-z=0\ &left|z<br />
ight|_*leq1\ &lambdasucceq0\ &musucceq0 end{align}

按车身坐标系,有车辆多边形:

egin{equation} Gxpreceqmathcal{K}g end{equation}

有障碍物多边形:

egin{equation} A(R(x_k)x+t(x_k))preceqmathcal{K}b end{equation}

egin{equation} AR(x_k)x+At(x_k)preceqmathcal{K}b end{equation}

egin{equation} AR(x_k)xpreceqmathcal{K}b-At(x_k) end{equation}

带入公式28到33中,有:

egin{align} &-(b-At(x_k))lambda-gmu>0\ &(AR(x_k))^Tlambda+z=0\ &G^Tmu-z=0\ &left|z<br />
ight|_*leq1\ &lambdasucceq0\ &musucceq0 end{align}

合并项,且因为旋转矩阵在二范数中不起作用,将其去除,有:

egin{align} &-(b-At(x_k))lambda-gmu>0\ &G^Tmu+(AR(x_k))^Tlambda=0\ &left|-A^Tlambda<br />
ight|_*leq1\ &lambdasucceq0\ &musucceq0 end{align}

最后,结合《Apollo规划演算法基于多边形分离的平滑分析(一)》中的目标函数,把公式1到4展开后的公式代人约束中,即得到最终平滑模型。对于不够平滑的离散路径点使用该模型进行求解,获得的7个维度的变数x、y、 psi 、v、u、a、t值即为最终平滑后的路径。

自动驾驶演算法工程师一枚

欢迎勾搭


推荐阅读:
相关文章