本文作为Apollo Planning决策规划代码详细解析系列文章的补充,将使用Python代码以及anaconda环境,来实现Apollo 决策规划Planning 模块里的 Piecewise Jerk Path Optimizer算法。

Piecewise Jerk Path Optimizer算法以上游模块决策的path bound,参考线reference line,规划起点start point为基础,通过在凸空间里将规划问题构建为二次优化问题,调用OSQP 库的求解器进行二次规划问题求解,从而得到最优路径。

在后续的文章也会详细介绍Apollo 中 PiecewiseJerkPathOptimizer 这个task,系列文章如下:

Apollo Planning决策规划代码详细解析 (1):Scenario选择

Apollo Planning决策规划代码详细解析 (2):Scenario执行​​​​​​

Apollo Planning决策规划代码详细解析 (3):stage执行

Apollo Planning决策规划代码详细解析 (4):Stage逻辑详解

Apollo Planning决策规划代码详细解析 (5):规划算法流程介绍

Apollo Planning决策规划代码详细解析 (6):LaneChangeDecider

Apollo Planning决策规划代码详细解析 (7): PathReuseDecider

Apollo Planning决策规划代码详细解析 (8): PathLaneBorrowDecider

Apollo Planning决策规划代码详细解析 (9): PathBoundsDecider

Apollo Planning决策规划代码详细解析 (10):PiecewiseJerkPathOptimize

算法仿真技术详解:

LQR算法进行轨迹跟踪,lqr_speed_steering_control( )的python实现

prescan联合simulink进行FCW的仿真_自动驾驶 Player的博客-CSDN博客

本文正文如下:

1、Apollo 的Piecewise Jerk Path Optimizer算法流程:

2、数学模型

路径优化算法: