离散控制Matlab代码自主车辆MPC
C
++中的自行车模型上的MPC
控制方法:
模型预测控制=后视最优控制+约束最优控制
在以下三种情况下,使用模型预测控制器以恒定的前进速度实现了车辆的横向控制:
直线控制
换道操纵
避障
系统状态
横向速度
偏航
偏航率
Y位置
转向角(在先前的时间步骤-增强SS矩阵后)
输入
转向角
代码实施
C
++用于使用MPC成本函数处理数据并获取新状态。
本征库用于矩阵计算。
该项目不使用任何优化库,并且通过采用成本函数的导数并将其等于零来计算输入转向命令。
然后使用离散时间状态空间方程式来计算新状态。
主文件可用于将轨迹类型更改为:直线,LaneChange或ObstacleAvoidance。
在这三种情况中的每一种情况下,都可以对主文件中的数据进行调整,以观察不同情况下的轨迹,例如车速,视界周期的长度,计算的时间步长等。
绘制完全在MATLAB中完成。
通过在C
++中调用MATLAB
Engine并在MATLAB环境中复制数据,可将数据从C
++传递到MATLAB。
Animate.m是Matlab文件,可直接从C
++调用该文件以运行Mat
2022-11-03 15:52:37
59KB
系统开源
1