A Real-Time Motion Planner with Optimization

A Real-Time Motion Planner with Trajectory Optimization for Autonomous Vehicles – Wenda Xu

Abstract

首先搜索一条可行解,然后迭代优化 path 和 speed。

Introduction

Trajectory generation

通常需要考虑三个约束: Kinematic, Dynamic, Road shape;

Reactive Trajectory Generation 使用曲率多项式确保曲率变化率连续;

Motion Planning with conform spatio lattice 串联沿路的航点,生成轨迹;但是加速度并不连续;

Optimal trajectory generation in Frenet frame 通过将横、纵向轨迹使用五次多项式描述;但是需要对每个轨迹点校验曲率,且曲率虽然连续,但是曲率的一阶导数频繁切换正负号,对方向盘控制并不友好;

Search Algorithm

在自动驾驶场景中,由于动态障碍物的不可预测性,启发函数通常效果一般;

若引入时间维度进行搜索,会导致搜索空间呈指数增长;

Optimization method for planning

如果只优化 path,对于高速场景和动态场景效果不佳;

Algorithm Framework

算法由两部分构成: Traj Planning 和 Traj Optimization

alg frame

A. Trajectory Generation

Path 和 Speed 独立生成,然后组合成 Traj

1) Path Generation

参考 Motion Planning with conform spatio lattice 中的采样方法,使用四阶多项式,保证曲率多项式在端点处连续。

a) Endpoint sampling

确定航点采样机制

每段路径的 $N$ 个终点均垂直于参考线;

b) Path model

使用四次多项式能够保证多段轨迹的拼接点处曲率平滑;四次多项式生成的轨迹更平滑;

由于四次多项式计算更复杂,所以,仅用于第一段路径

2) Speed Generation

此处,forward method/inverse method 是什么意思?

首先离散化 speed 空间,然后生成速度多项式:

$$v(s)=\rho_0 + \rho_1s + \rho_2s^2 + \rho_3s^3$$

四个约束分别是两端点的速度和加速度。所有节点处的加速度默认给 0,起点处按车的状态赋值。

B. Cost function set

alg frame
alg frame

其中,$c^s_{obs}$ 和 $c^d_{obs}$ 也用于障碍物检测,使用 ref-16 中提到的快速检测方法,在 vehicle 一定阈值范围内的障碍物的代价为正无穷;附近的代价使用指数函数近似;

C. Trajectory optimization

为保证实时性,搜索过程中的离散化是不可避免的;但是会影响结果的最优性。所以,引入优化器提升性能。

如果同时优化 path 和速度,计算复杂度较大,且维数太多不容易收敛;文章提出将 path 和 速度独立优化,通过几次迭代,能够收敛到较好结果。

1) Path optimization

由于横向偏移和航向角的代价梯度很难求解,所以,采用不求解导数的单纯形法

2) Speed optimization

也用单纯形法求解

D. Optimization performance evaluation

通过实验对比,迭代求解能够有限的耗时内,获取较优的结果;

可行性验证实验对比了急转弯场景、静态障碍物绕行,超车场景;

结论

  • 单纯形法的优化需要继续了解