文件名称:matlab如何集成c代码-MPCC:用于自动赛车的模型预测轮廓控制器(MPCC)
文件大小:14.99MB
文件格式:ZIP
更新时间:2024-06-09 01:16:46
系统开源
matlab如何集成c代码MPCC 苏黎世联邦理工学院自动控制实验室(IfA)开发的用于自动赛车的模型预测轮廓控制器(MPCC)的C ++和Matlab仿真环境 公式 MPCC是遵循控制器的模型预测路径,它确实遵循预定义的参考路径X ^ ref和Y ^ ref。 这可以通过使用积分器规定的theta来扩展系统来实现,该θ近似于沿参考路径的进度。 θ状态使用滞后误差e 1耦合到实际动力学,滞后误差e 1不利于成本。 另外,轮廓误差(参考路径的横向误差)也会在成本函数中受到影响。 最终,沿着参考路径的进度被最大化,以实现汽车确实尽可能快地沿着路径行进,并且输入速率受到惩罚。 为了确保汽车停留在轨道内,对所有状态,输入和输入速率都施加了轨道约束以及界限。 下式显示了所产生的优化问题: 所考虑的车辆动力学是具有非线性魔术公式轮胎模型的自行车模型: 轮胎模型和传动系统模型如下: 最后,问题的状态和输入如下: 其中(X,Y)是全局位置phi,是汽车的前进方向,v_x和v_y是纵向,分别是横向速度和ω偏航率。 Theta是近似进度的增强状态。 输入是传动系的占空比d,转向角增量和沿参考路径v_the
【文件预览】:
MPCC-master
----Matlab()
--------QuadProgInterface.m(3KB)
--------Tracks()
--------splines()
--------CVXInterface.m(2KB)
--------hpipmInterface.m(4KB)
--------getNewBorders.m(30KB)
--------carBox.m(1KB)
--------getModelParams.m(4KB)
--------YalmipInterface.m(2KB)
--------unWrapX0.m(925B)
--------simulation.m(8KB)
--------optimizer.m(2KB)
--------borderAdjustment.m(2KB)
--------findTheta.m(4KB)
--------PlotLog.m(2KB)
--------getMPC_vars.m(7KB)
--------augState.m(2KB)
--------getMPCmatrices.m(9KB)
--------ObstacelsState.m(3KB)
--------README.md(1KB)
--------SimTimeStep.m(2KB)
--------env.sh(1KB)
--------PlotPrediction.m(2KB)
--------DiscretizedLinearizedModel.m(6KB)
----Images()
--------NMPCC_problem.jpg(223KB)
--------forces_cpp.jpg(16KB)
--------model_cpp.jpg(18KB)
--------cost_cpp.jpg(8KB)
--------state-input.jpg(31KB)
--------constraints_cpp.jpg(8KB)
--------state_input_cpp.jpg(5KB)
--------TireModel.jpg(118KB)
--------MPC_sim.gif(14.57MB)
--------Model.jpg(123KB)
----LICENSE(11KB)
----README.md(7KB)
----C++()
--------Spline()
--------MPC()
--------Plotting()
--------install.sh(2KB)
--------Constraints()
--------types.cpp(2KB)
--------Cost()
--------Tests()
--------CMakeLists.txt(1KB)
--------main.cpp(3KB)
--------config.h(2KB)
--------types.h(3KB)
--------Interfaces()
--------README.md(4KB)
--------.gitignore(110B)
--------Model()
--------Params()