在Matlab中使用ACADO进行MPC的C++代码生成

在Matlab中使用ACADO进行MPC的C++代码生成

前期准备

  1. 安装matlab(任何版本都适用)
  2. 安装Microsoft Visual Studio并选择安装C++编译器(2010以上版本均可)
  3. 下载acadotoolkit工具箱(链接1)(链接2

安装步骤

  1. 解压acadotoolkit至任意文件夹内
  2. 打开matlab,在命令行中输入

mex -setup;

  1. 在matlab提供的编译器选项中点击 mex -setup C++
    在这里插入图片描述
  2. matlab中当前路径设置为解压的acadotoolkit文件夹
  3. 在matlab的命令行中输入

cd interfaces/matlab/;

  1. 当前所在的文件夹及其内容为
    在这里插入图片描述
  2. 在matlab命令行中输入

make clean all;

  1. 可以看到如下的编译提示,等待一段时间后编译成功。
    在这里插入图片描述

MPC模块的示例及代码生成

在matlab的当前文件夹栏中,先进入acado工具箱的原目录,然后在命令行中输入

cd /interfaces/matlab/examples/simulationenv/active-damping;

打开现在文件夹目录中的 active_damping.m 文件。此文件目的是实现使用MPC进行简单的车辆主动悬架控制。
在这里插入图片描述

问题描述为:利用主动阻尼,使悬架状态稳定在一个给定的参考值附近。该模型的四种微分状态xb, vb, xw, vw 分别为车身/车轮的位置/速度;控制输入F是作用在车身和车轮之间的有限阻尼力;R表示道路干扰。车辆动力学方程如下:
在这里插入图片描述
MPC的目标是使车身和车轮的位移回到0,假定没有道路干扰,控制约束为阻尼力F范围设为[-500N,500N]。
运行active_damping.m文件,可以在输出的图像中观察到车身和车轮受到激励,但很快被MPC控制器调节回0,在这个过程中,同时满足了阻尼力的控制约束。
在这里插入图片描述
在同一文件夹内,找到active_damping.cpp文件,即为matlab使用MPC方法和ACADO工具箱生成的C++代码。
在这里插入图片描述
(全文完)

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值