Skip to content

james1kobby/MPC_TrajectoryPlanning

This branch is up to date with JingyanXing/MPC_TrajectoryPlanning:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

8370417 · May 21, 2024

History

42 Commits
Apr 10, 2024
Apr 11, 2024
Apr 10, 2024
Apr 16, 2024
Apr 19, 2024
Apr 16, 2024
Apr 19, 2024
Apr 15, 2024
Mar 26, 2024
May 21, 2024
Apr 14, 2024
Apr 19, 2024
Apr 19, 2024
Mar 26, 2024

Repository files navigation

项目采用横纵向解耦的MPC轨迹规划方法,在单向双车道场景下针对动、静态障碍物生成轨迹,直接使用c++调用casadi构建qp问题求解。
预期实现:
1.参考Openpilot及Apollo框架,在车辆行驶过程中考虑自车与障碍物状态的参考线动态更新
2.参考Openpilot及Apollo框架,基于简化的车辆运动学建模的横纵向解耦MPC轨迹规划
3.基于进程通信实现车辆位姿信息的动态显示

-------------------------------------------------------------- 安装说明 --------------------------------------------------------------
项目依赖
Casadi,cmake,python及相关库

项目下载:git clone https://github.com/JingyanXing/MPC_TrajectoryPlanning.git && cd MPC_TrajectoryPlanning
在项目MPC_TrajectoryPlanning目录下
cd build && cmake .. && make
测试是否安装成功:./main

项目main文件中内置两个测试:

int main(){
    Test test;
    // 横纵向解耦单元测试
    test.latSolverUnitTest();
    // 纵向单元测试
    // test.lonSolverUnitTest();
    return 0;
}

🟢更新于2024.03.21--------------------------------------------------------------
实现静态障碍物下参考线生成和轨迹规划

🟢更新于2024.03.26--------------------------------------------------------------
Test.run方法中初步实现给定静态障碍物环境下车辆参考线的动态更新,规划轨迹的生成
基于socket进行进程间通信实现车辆形心位置动态图像绘制
可视化visualserver启用方法:令起终端cd进入visual目录下, 执行 python visualserver.py。可视化服务端唤起,随后在原终端调用可执行文件

🟢更新于2024.04.03--------------------------------------------------------------
visualserver实现包含车辆轮廓的动态轨迹绘制,车辆速度,航向角,轮胎转角动态曲线绘制

🟢更新于2024.04.07--------------------------------------------------------------
visualserver增加车辆规划轨迹动态绘制

🟢更新于2024.04.11--------------------------------------------------------------
reference line新增动态障碍物下参考线生成逻辑,实现动态障碍物超车
visualserver新增车辆参考线、障碍物实时更新

🟢更新于2024.04.14--------------------------------------------------------------
优化参考线生成逻辑,基于IDM模型实现变速跟驰,新增车道巡航和Auto模式(跟驰+变道)

About

基于c++实现的横纵向解耦MPC轨迹规划

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Makefile 72.8%
  • C++ 14.3%
  • CMake 6.1%
  • C 4.0%
  • Python 2.7%
  • TypeScript 0.1%