appollo-参考线平滑设定

参考线平滑设定
from https://github.com/ApolloAuto/apollo/blob/master/docs/specs/reference_line_smoother_cn.md

二次规划(QP)+样条插值

  1. 目标函数
    1.1 分段寻路路径
    将寻路路径划分为 n 段,每段用2个多项式表示:

x = f i ( t ) = a i 0 + a i 1 ∗ t + a i 2 ∗ t 2 + a i 3 ∗ t 3 + a i 4 ∗ t 4 + a i 5 ∗ t 5 x = f_i(t) = a_{i0} + a_{i1} * t + a_{i2} * t^2 + a_{i3} * t^3 + a_{i4} * t^4 + a_{i5} * t^5 x=fi(t)=ai0+ai1t+ai2t2+ai3t3+ai4t4+ai5t5
y = g i ( t ) = b i 0 + b i 1 ∗ t + b i 2 ∗ t 2 + b i 3 ∗ t 3 + b i 4 ∗ t 4 + b i 5 ∗ t 5 y = g_i(t) = b_{i0} + b_{i1} * t + b_{i2} * t^2 + b_{i3} * t^3 + b_{i4} * t^4 + b_{i5} * t^5 y=gi(t)=bi0+bi1t+bi2t2+bi3t3+bi4t4+bi5t5
1.2 定义样条段优化目标函数

c o s t = ∑ i = 1 n ( ∫ 0 t i ( f i ′ ′ ′ ) 2 ( t ) d t + ∫ 0 t i ( g i ′ ′ ′ ) 2 ( t ) d t ) cost = \sum_{i=1}^{n} \Big( \int\limits_{0}^{t_i} (f_i''')^2(t) dt + \int\limits_{0}^{t_i} (g_i''')^2(t) dt \Big) cost=i=1n(0ti(fi)2(t)dt+0ti(gi)2(t)dt)

1.3 将开销(cost)函数转换为QP公式
QP公式:

1 2 ⋅ x T ⋅ H ⋅ x + f T ⋅ x s . t . L B ≤ x ≤ U B A e q x = b e q A x ≤ b \frac{1}{2} \cdot x^T \cdot H \cdot x + f^T \cdot x \\ s.t. LB \leq x \leq UB \\ A_{eq}x = b_{eq} \\ Ax \leq b 21xTHx+fTxs.t.LBxUBAeqx=beqAxb
2 约束条件
2.1 平滑节点约束
该约束的目的是使样条的节点更加平滑。假设两个段 s e g k seg_k segk s e g k + 1 seg_{k+1} segk+1互相连接,且 s e g k seg_k segk的累计值 s 为 s k s_k sk。计算约束的等式为:

f k ( s k ) = f k + 1 ( s 0 ) f_k(s_k) = f_{k+1} (s_0) fk(sk)=fk+1(s0)
同样地,该公式也适用于下述等式:

f k ′ ( s k ) = f k + 1 ′ ( s 0 ) f k ′ ′ ( s k ) = f k + 1 ′ ′ ( s 0 ) f k ′ ′ ′ ( s k ) = f k + 1 ′ ′ ′ ( s 0 ) g k ( s k ) = g k + 1 ( s 0 ) g k ′ ( s k ) = g k + 1 ′ ( s 0 ) g k ′ ′ ( s k ) = g k + 1 ′ ′ ( s 0 ) g k ′ ′ ′ ( s k ) = g k + 1 ′ ′ ′ ( s 0 ) f'_k(s_k) = f'_{k+1} (s_0) \\ f''_k(s_k) = f''_{k+1} (s_0) \\ f'''_k(s_k) = f'''_{k+1} (s_0) \\ g_k(s_k) = g_{k+1} (s_0) \\ g'_k(s_k) = g'_{k+1} (s_0) \\ g''_k(s_k) = g''_{k+1} (s_0) \\ g'''_k(s_k) = g'''_{k+1} (s_0) fk(sk)=fk+1(s0)fk(sk)=fk+1(s0)fk(sk)=fk+1(s0)gk(sk)=gk+1(s0)gk(sk)=gk+1(s0)gk(sk)=gk+1(s0)gk(sk)=gk+1(s0)
2.2 点采样边界约束
在路径上均匀的取样 m 个点并检查这些点的预定义边界。

f i ( t l ) − x l < b o u n d a r y g i ( t l ) − y l < b o u n d a r y f_i(t_l) - x_l< boundary \\ g_i(t_l) - y_l< boundary fi(tl)xl<boundarygi(tl)yl<boundary

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值