/chhRobotics_CPP

自动驾驶规划控制常用算法c++代码实现

Primary LanguageC++

自动驾驶决策规划控制c++代码实现

理论知识参考博客.

python代码实现参考github仓库 .

推荐结合博客内容来看代码实现。

项目依赖

本项目在Ubuntu 20.04下运行,windows下尚未尝试过,因此推荐使用Ubuntu系统。

- python3
- matplotlib
- cmake
- Eigen
  • cmake的安装直接终端运行

    sudo apt install cmake

    如果在项目编译时报cmake版本低的错误,可参考该 博客 升级cmake。

    对cmake操作不不够熟悉的同学可以先参考文档 学习。

  • Eigen在Linux下的安装直接使用命令

    sudo apt-get install libeigen3-dev

    Eigen库采用模板编程技术,仅由一些头文件组成,运行速度快。用cmake管理项目的时候,只需要在CMakeLists.txt里面添加头文件的路径即可:

    find_package(Eigen3 REQUIRED)
    include_directories(${EIGEN3_INCLUDE_DIR})

    Eigen库的学习除了官网 之外,还可以参考这篇博客

  • 画图代码采用了c++ 调用python的matplotlib的方式,所以需要使用pip的方式安装matplotlib,具体使用方式参考说明文档 。 这边直接移植了该功能。

  • 另外,MPC代码使用了CPPAD/Ipopt优化库,如果要进行MPC的测试,需要安装CPPAD/ipopt。安装方式可参考博客

项目编译

本项目使用Cmake编译,所使用IDE为Clion(推荐使用)。

若不使用Clion,则在项目主目录下,编译:

mkdir build
cd build
cmake ../
make

路径规划

决策控制

预测