主要内容

在Simulink中使用GPU模拟MPC控制器金宝app

这个例子展示了如何在Simulink™中生成CUDA代码并使用GPU来计算最优的MPC移动。金宝app

创建植物模型和设计MPC控制器

使用双积分器作为工厂。

Plant = tf(1,[1 0 0]);

为植物创建MPC对象,采样时间为0.1秒,预测和控制水平分别为10步和3步。

Mpcobj = mpc(plant, 0.1, 10,3);
- - - >“权重。“mpc”对象的“操纵变量”属性为空。假设默认的0.00000。- - - >“权重。“mpc”对象的“操纵变量率”属性为空。假设默认的0.10000。- - - >“权重。“mpc”对象的OutputVariables属性为空。假设默认的1.00000。

将被操纵的变量限制在-1和1之间。

mpcobj。MV =结构(“最小值”, 1“马克斯”1);

在Simulink中控制对象模型金宝app

利用MPC控制器模金宝app块创建Simulink闭环仿真,利用mpcobj对象作为参数传递,以控制双集成器工厂。对于本例,打开已存在的文件gpudemo金宝app仿真软件模型。

open_system (“gpudemo”

单击打开配置参数对话框模型设置.然后,在代码生成部分中,选择生成GPU的代码

现在您可以通过单击运行模型运行或者使用MATLAB命令sim卡.在运行仿真之前,模型将从Simulink模型生成CUDA代码,并编译它以获得一个MEX可执行文件。金宝app当对模型进行仿真时,调用该文件,在GPU上进行仿真。

sim卡(“gpudemo”
- - - >转换”模型。“mpc”对象的“植物”属性到状态空间。——>将模型转换为离散时间。假设测量输出通道1没有增加干扰。——>”模式。“mpc”对象的“Noise”属性为空。假设每个测量输出通道上都有白噪声。

仿真后,两个示波器的图显示,被控变量没有超过限制,并且在大约3秒后,装置输出跟踪参考信号。

在这里,整个Simulink模型在金宝appGPU上执行。要在GPU上只部署MPC块,你可以创建一个只有MPC块的模型。通常在嵌入式控制模块中,部署的模型包含控制器块和一些用于输入/输出信号的接口块。

相关的话题