Motion Planning with Conformal Spatiotemporal Lattice


Motion Planning for Autonomous Driving with a Conformal Spatiotemporal Lattice - - Matthew McNaughton

  • state_lattice/src/primitive_generator.cpp 使用中心差分法求解 Jacobian,参考文中提到 Howard 论文

I. Abstract

主要贡献主要是 Idea,给出一种可行的时空网格搜索方法,推迟时间相关网格的生成;同时,通过调整 Cost 能够实现跟随、超车、转弯减速等功能。

目标场景:有动态障碍物的结构化道路环境;

III. Method

借用了 Reactive Trajectory Generation 中的三阶多项式螺旋线: $$ \begin{aligned} \kappa(s)&=a+bs+cs^2+ds^3 \newline \theta(s)&=\theta_0 + \int \kappa ds =\theta_0 + as+ \frac{bs^2}{2} + \frac{cs^3}{3}+ \frac{ds^4}{4} \end{aligned} \tag{1} $$

明确的提到了 T. Howard 博士论文中雅克比矩阵的方法[p30],以及 Fresnel 积分、Simpson 方法。初值通过 Reactive Trajectory Generation 中提到的查表法获取。

对比 五次多项式 ,可以省去验证曲线曲率可行性的步骤,而且可以设定终点曲率。

A. Paths and Trajectories

定义 path $\tau_p$ : ${[x\ y\ \theta\ \kappa]}$ ,仅与曲线的形状有关,与时间无关。

定义路径的代价函数 $c_p(\tau_p)$ ,用于描述障碍物等代价;

B. Spatiotemporal Lattice

直接在状态上扩展时间状态,会导致空间爆炸。所以,为节省 Graph-size,文章提出:

  • 首先构建与时间无关的 Path Lattice 图
  • 在搜索过程中,为每个 Lattice Vertex 分配时间和速度范围 $[t_i, t_{i+1})\times[v_j, v_{j+1})$ ,得到新的状态 $(x,y,a,\theta,k,[t_i, t_{i+1})\times[v_j, v_{j+1}))$ ,转换到 lattice 坐标: $(s,\mathscr{l},a,[t_i, t_{i+1})\times[v_j, v_{j+1}))$

C. Why include acceleration in the state space?

在状态和 lattice vertex 中引入加速度,可以有效的表示轨迹上加减速运动的状态;而不仅仅是时间代价。

D. Cost function

代价分为两部分:

  • 只与曲线形状相关的代价 $(x\ y\ \theta\ \kappa)$;
  • 与时间相关的代价 $a,t,v$;

代价描述的物理意义:

  • 曲率变化率
  • 横向加速度大小【舒适度】
  • 指定优先选择的车道

E. Picking the best final state

一般场景中,选取所有轨迹中代价最小的即可。

但在高速公路场景中,通常是没有 终点 的;在堵车场景中,每一条轨迹都无法到达终点;为 安全 考虑,通常要求规划的时间(minimum planning horizon)不小于 $t_h$ ,保证车辆能够在该时间内实现紧急停车,或做出合理应对行为。

选择的代价函数为:

  • 抵达终点 lattice vertex $n_f$ 对应的轨迹代价 $\hat{c}(n_f)$;
  • 对行驶距离更远的进行奖励 $s(n_f)$;
  • 对超时的进行惩罚 $t(n_f)$;

$$ \mathop{argmin} \limits_{n_f} \left[ \hat{c}(n_f)-k_s(s(n_f))+k_t(t(n_f)) \right]\tag{6}$$

F. World Representation

对轨迹采样得到离散点 $(x,y,t)$ ,同时以矩形包络表示车辆,进行障碍物检查;障碍物的状态与时间 $t$ 相关;

IV. GPU Acceleration

We now argue that an exhaustive search is necessary anyway for a driving application.

对多条轨迹进行代价计算、障碍物检查对 GPU 相对比较友好。

V. Experimental Results

  • 合适的横向加速度惩罚因子,可以实现车辆转弯时减速;
  • 时间代价因子,可以让车辆适时超车;

VI. Conclusions

因假设是高速公路场景,所以对 [5] 中的雅克比求导进行简化,作者说多项式螺旋线通过查表能够快速收敛,待验证。