# MPC_TrajectoryPlanning
**Repository Path**: wenb11/MPC_TrajectoryPlanning
## Basic Information
- **Project Name**: MPC_TrajectoryPlanning
- **Description**: 基于c++实现的横纵向解耦MPC轨迹规划
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-01-14
- **Last Updated**: 2025-01-14
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
项目采用横纵向解耦的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文件中内置两个测试:
```c++
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模式(跟驰+变道)