MPC Controller模型预测控制MATLAB/simulink程序报错处理

Matlab/Simulink 使用 MPC Controller 仿真时出现控制输出一直为0,或出现“Error evaluating ‘InitFcn’ callback of Adaptive MPC block”报错时,可参考如下解决方法

在simulink中建立一个最简单的MPC控制器,被控对象是一个简单的传递函数。

Simulink系统仿真模型
这里仿真模型中的模型预测控制器模块MPC Controller来自模型预测控制工具箱(model predictive control toolbox)。
model predictive control toolbox
打开模型预测控制器模块MPC Controller,在其参数框MPC controller中需要输入一个控制器名称(假如为“MPC_21”)来导入该控制器,而这个控制器“MPC_21”一般在模型预测控制设计工具(model predictive control disign tool)中进行设计(本文重点不在这里,设计过程参考作者下一篇文章)。

模型预测控制设计工具(model predictive control disign tool)中进行设计MPC控制器

两种方法启动模型预测控制设计工具(model predictive control disign tool):

1、command命令窗口中直接键入命令“mpctool”
2、matlab窗口的左下角“start”菜单栏里,单击“toolbox”,再单击“model predictive control”中的“model predictive control disign tool”。
出现如下:
模型预测控制设计工具的图形界面
分别包括对象模型的输入,模型预测控制器参数的设置,仿真参数的设置:
1、对象模型的输入:利用菜单栏命令“MPC”,单击“Import”,即可打开受控对象的模型输入窗口。
对象模型的输入窗口
这里导入了"sys"和"G"两个系统,都是在command命令窗口中以transfer function形式建立的传递函数模型,本文选择“G”模型。
2、模型预测控制器参数的设置
模型预测控制器参数的设置窗口
3、仿真参数的设置
仿真参数的设置窗口

Matlab/Simulink 使用 MPC Controller 仿真时出现控制输出一直为0,或出现“Error evaluating ‘InitFcn’ callback of Adaptive MPC block”报错时

Matlab/Simulink 使用 MPC Controller 仿真时出现控制输出一直为0,或出现“Error evaluating ‘InitFcn’ callback of Adaptive MPC block”报错时
对象模型的输入窗口
这里选择的输入信号是manipulated控制变量,不是可测量扰动“md”即“measured disturb”,所以倒入的MPC模块没有扰动,而且在simulink中的plant模型也没有扰动,只是SISO系统,于是会出现如下错误:“Error evaluating ‘InitFcn’ callback of Adaptive MPC block”
报错

所以应该勾掉MPC模块中的md选项,如下:
未勾掉
勾掉后
这样仿真就正常了,和模型预测控制设计工具(model predictive control disign tool)中仿真得到的控制信号和系统阶跃响应曲线相同,也不会出现控制输出一直为0,如下:
控制信号和系统阶跃响应曲线

  • 8
    点赞
  • 83
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
感应电机作为一种常用的电动机种类,其控制方式有助于实现高效节能的电机控制。这种控制方式被称为间接磁场定向控制Matlab/Simulink是一种功能强大的仿真工具,可以用于建立感应电机间接磁场定向控制的仿真模型。 感应电机间接磁场定向控制使用的是磁场定向控制的思想。磁场定向控制是指将电机中的永磁体、电磁铁等磁场进行定向,使得电机的磁场方向可以精确控制。在感应电机中,由于无法直接控制旋转磁场,因此采用间接磁场定向控制方式,通过对转子电流进行控制,使转子磁场可以沿着定子磁场方向运动,从而控制电机速度和转矩。 在Matlab/Simulink中建立感应电机间接磁场定向控制的仿真模型,需要先建立电机模型。电机模型可以使用Simscape Elecrical工具箱中的感应电机模块进行建立。该模块可以根据用户的输入参数,包括电机参数和控制器参数,生成电机的数学模型。 在电机模型的基础上,建立间接磁场定向控制控制程序。控制程序可以使用Simulink中的控制器模块进行建立,包括PID控制器、模型预测控制器等。控制程序的输入包括目标速度和目标转矩,输出为转子电流。控制程序可以通过仿真测试,优化控制参数,使电机能够实现高精度的控制。 总之,感应电机间接磁场定向控制matlab/simulink仿真模型的建立可以有效提高感应电机的控制性能和效率,为电机控制领域的发展带来新的机遇。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值