/EMplanner

The code of EM planner learning.

Primary LanguageC++

EM Planner

Introduction

EM planner is the path planning algorithm of Baidu Apollo automatic driving system. It decomposes the non-convex trajectory planning problem into two sub-problems of path planning and speed planning through dimensionality reduction. This project demonstrates the basic functions of EM planner through simple algorithm visualization.

Project file description:

  • ./lib/frenetUtils.cpp: Cartesian coordinate system and Frenet coordinate system conversion.
  • ./lib/smoothSolver.cpp: Path smoothing related code.
  • ./lib/osqpSolver.cpp: Relevant codes for quadratic programming to solve the optimal path.

Demo:

Dependencies:

Build:

mkdir build
cd build
cmake ..
make

Usage

# in build/
./main

Reference