YeeKal
planning

longitudinal speed planning

YeeKal
"#planning"
  • spatio-temporal planning
  • path-speed decoupled

ref:

2019 Spatio-temporal Semantic Corridor

2022 Real-Time Trajectory Planning for Autonomous Driving with Gaussian Process and Incremental Refinement

planner: Gaussian process(GP)

speed: st-graph

Related

Motion Planning via Probabilistic Inference

GAUSSIAN PROCESS PATH PLANNING

M. Mukadam, X. Yan, and B. Boots, Gaussian process motion
planning,” in 2016 IEEE Int. Conf. Rob. Autom. (ICRA). IEEE, 2016,
pp. 915.
[10] M. Mukadam, J. Dong, X. Yan, F. Dellaert, and B. Boots, Continuoustime Gaussian process motion planning via probabilistic inference,”
Int. J. Rob. Res, vol. 37, no. 11, pp. 13191340, 2018.
[11] M. Werling, S. Kammel, J. Ziegler, and L. Groll, Optimal trajectories ¨
for time-critical street scenarios using discretized terminal manifolds,”
Int. J. Rob. Res., vol. 31, no. 3, pp. 346359, 2012

SPEED-PROFILE GENERATION

s-t graph search

  1. trajectory projection
  2. forward expansion

  3. local truncation: 局部剔除cost比较大的点

s-t curve smoothing

fit the coarse speed-profile with a piecewise Bezier curve and ´ construct the overall problem as a quadratic programming (QP).

与apollo 基于spline的st图优化方式同。

2020 Baidu Apollo PJSO

  • path-speed decoupled
  • DL-IAPS: Dual-Loop Iterative Anchoring Path Smoothing, for collision avoidance and path smoothing
  • PJSO: Piece-wise Jerk Speed Optimization

Path planning

碰撞检测:如果有碰撞则向内缩小

dl_collision_checking

Speed planning

  • 均匀离散t
  • $s,\dot{s}, \ddot{s}作优化变量$

运动学约束:

曲率约束:

近似表达

参数估计:

$T_{horizon} = n\Delta t$, 估计 $n$

尽快到达:

惩罚s与目标s的差

2017 Speed Profile Planning in Dynamic Environments via Temporal Optimization

paper

  • SCFS: the slack convex feasible set algorithm

  • code

Introduction

  • planning framework:
    • integrated framework relies on spatiotemporal planning
    • seperated framework: path first, speed second

Problem Formulation

st 图构建: 遍历s进行构建,所以可通行区域是横的。如此,$s_i$是固定量,$t_i$是优化变量.运动学变量都可以通过上述的$s_i,t_i$来描述数。而障碍物约束通过控制$t_i$的上下限来实现。

  • speed profile: $\mathcal{V}=\left{\left(T_i, s_i\right)\right}_i$
  • $p_i:=p(s_i)$
  • $v_i:=v(t_i)$
  • $a_i:=a(t_i)$
  • $j_i:=j(t_i)$

st graph (homotopy / hoʊməˈtɑːpi / 同伦 )

运动学计算:

lateral acceleration and longitudinal acceleration

优化方程:

QUADRATIC APPROXIMATION

transform origin problem into a sequence of quadratic programs in the framework of the SCFS algorithm

rearrange:

  • 边界条件
  • 运动学约束 把关于t的因子抽取出来

SCFS: 把非退化的非线性等是约束转化为非线性不等式约束

  1. non degenerating(非退化):在优化理论中,如果在最优解处约束条件是线性无关的,那么我们常说这个问题是非退化的。 "非退化"在优化问题中常常意味着约束条件在最优解处是"清晰的"或者"充分的",且没有冗余的限制

2018 Toward a More Complete, Flexible, and Safer Speed Planning for Autonomous Driving via Convex Optimization

从ST图转到TS图?

It cannot handle multiple dynamic obstacles in optimization directly

Motivation

constraints for speed planning

  • safety
  • smooth
  • time-efficient

dynamics

path representation

  • $\dot{f} $: relative to time
  • $r' $: relative to s

dynamics:

  • $r'(s)$ 实际上代表了路径s的单位切向量, 表示速度的方向
  • $r''(s)$ principal normal vector of the path, or curvature vector. its 2-norm is the scalar of the curvature

single_track_model

friction circle constraints:

object function

优化变量:$\alpha(s), \beta(s), \mu(s)$

object function is viewed as soft constraints, and constrains function is viewed as hard constraints

  • time efficiency:

  • IoD(Integrate of difference) objective: velocity track.(这里是速度跟踪,也许能把它换成速度范围,在下面path constraints有所体现)

  • smooth objective:

    • jerk is common used but is non-convex

    • pseudo jerk, is convex (used in this paper)

    - path constraints: $\psi(s,x,u)\leq0, s\in[0,s_f]$ - 与轨迹段相关的约束 - $x$是当前状态 - speed limits(与前述IoD约束不同):$\beta\left(s_i\right) \leq \bar{\beta}\left(s_i\right), \forall s_i \in\left[s_m, s_n\right]$ - boundary condition constraints - zero speed: fully stop in front of obstacle - fixed speed: merge

    - time window constraints: avoid collision with the predicted trajectory of obstacles. 在$\dot{s}-s$图上,通过某段路程的时间被限制在某一个范围内。

在该图的横穿场景中,两辆车把同行时间分成了三段。其中A段只有一个上限,B段有上下限,C段有一个下限,三段联合组成了这一位置的时间窗口约束。这里只有A段是凸的而B,C是非凸的条件。一般是通过决策过程选择一端把该问题变成凸问题。 speed_planning_1.png

  • comfort box constraints: use semi-hard constraint. 这里跟动力学的区别是,动力学边界约束保证安全,而这里面的约束只是为了舒适性,所以这里的$a_c^\tau$和$a_{max}^\tau$不是同一个数值。 这里的$\sigma$使得舒适性的加速度限制不再是一个绝对量,而是可调节的。在一般情况下尽量舒适。在不能舒适保持安全的情况下则可以超越限制。

the final problem:

where $\dot{r}^2(s)=\left(r^{\prime}(s)\right)^2 \beta(s) \text { and } \ddot{r}(s)=r^{\prime} \alpha(s)+r^{\prime \prime} \beta(s)$

Implementation with Discretization

Example

parameter_values

ref