Baidu Apollo代码解析之Lattice Planner

Apollo中提到了几种轨迹规划方法,这里简要介绍Lattice,主要思路可以参考这一篇博文,我为了自己方便理解代码,于是把代码的步骤和注释整理了。文件路径:apollo\modules\planning\planner\lattice\lattice_planner.cc。

  1. obtain a reference line and transform it to the PathPoint format.
  2. compute the matched point of the init planning point on the reference line.

  3. according to the matched point, compute the init state in Frenet frame.

  4. parse the decision and get the planning target.

  5. generate 1d trajectory bundle for longitudinal and lateral respectively.(Trajectory1dGenerator)

  6. first, evaluate the feasibility of the 1d trajectories according to dynamic constraints. second, evaluate the feasible longitudinal and lateral trajectory pairs and sort them according to the cost.(TrajectoryEvaluator)

  7. always get the best pair of trajectories to combine; return the first collision-free trajectory.(TrajectoryCombiner:combine two 1d trajectories to one 2d trajectory。ConstraintChecker:check longitudinal and lateral acceleration considering trajectory curvatures。CollisionChecker:check collision with other obstacles)

上一篇:hive中split(),explode()和lateral row


下一篇:【Hive学习之六】Hive Lateral View &视图&索引