Apollo common math模块解读

Apollo common math模块解读

[TOC]
本文是对 Apollo common math 模块进行研读的记录.
研读这个模块的意义在于 3 点:

  1. 了解哪些数学运算是较常用的, 可以针对性地学习在自己的代码里独立出来维护.
  2. 学习基本的几何/数学分析的算法以及编码技术, 毕竟比较轻量, 不用去看动辄几万行的数学库, 以及网上不一定靠谱的自学输出.
  3. Apollo 的其他模块依赖于这个模块, 有必要深入了解一下. 算法的性能与精度的瓶颈有可能就是卡在这个地方.
阅读更多
Apollo模板抽象工厂模式解读
Apollo Open Space Planner中主要TASK类执行的过程解读

Apollo Open Space Planner中主要TASK类执行的过程解读

[TOC]
前几篇博客介绍了open space planner 的中的 HybridAStar, DualVariableWarmStartProblem, IterativeAnchoringSmoother 都是 OpenSpaceTrajectoryOptimizer 类里调用的算法.
本篇补充一下 planner 主要 TASK 类执行的过程, 包括 OpenSpaceRoiDecider, OpenSpaceTrajectoryProvider, OpenSpaceTrajectoryOptimizer, OpenSpaceTrajectoryPartition 还有 OpenSpaceFallbackDecider 类.

阅读更多
Apollo IterativeAnchoringSmoother Open Space Planner中的离散点光滑算法
Apollo Open Space Planner 介绍 2-warm start

Apollo Open Space Planner 介绍 2-warm start

[TOC]
本文为 Apollo Open Space Planner 介绍的第二部分 warm start, 即根据上一篇 Hybrid A* 搜索的结果优化出较好的 initial guess 以便优化主体模型时能快速收敛.
本篇介绍基于 IPOPT 求解器的优化过程.
公式推导请参考上 2 篇博文: 1, 2.

阅读更多
TDR-OBCA A Reliable Planner for Autonomous Driving in Free-Space Environment论文阅读记录

TDR-OBCA A Reliable Planner for Autonomous Driving in Free-Space Environment论文阅读记录

[TOC]
本文记录一下《TDR-OBCA: A Reliable Planner for Autonomous Driving in Free-Space Environment》论文的阅读与公式推导.
所的出来的模型为 Apollo open space planner 代码依据.

论文要点:

改进 H-OBCA(参见研读推导论文博客)模型:

  1. 2 个 warm start: Temporal and Dual variable warm starts.
  2. 改进模型, Reformulates the problem
阅读更多
Apollo Open Space Planner 介绍 1-Hybrid A star
Apollo Lattice Planner学习记录
Apollo轨迹拼接模块(Trajectory Stitching)研读
论文研读笔记--"Baidu Apollo EM Motion Planner"

论文研读笔记--"Baidu Apollo EM Motion Planner"

Abstract

三大特点:
(1) The top layer of the system is a multilane strategy that handles lane-change scenarios by comparing lane-level trajectories computed in parallel.
(2) Inside the lane-level trajectory generator, it iteratively solves path and speed optimization based on a Frenet frame.
(3) For path and speed optimization, a combination of dynamic programming and spline-based quadratic programming is proposed to construct a scalable and easy-to-tune framework to handle traffic rules, obstacle decisions and smoothness simultaneously.

阅读更多