- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机控制系统课程设计研究报告
实验名称:模型预测控制
姓名:张欣瑶
学号:12101010104
班级:自12-1
日期:2015/12/29
一、实验目的
1,了解熟悉MATLAB仿真软件的基本操作方法。
2,学会使用模型预测控制器解决问题。
3、掌握模型预测控制原理及结构。
二、实验内容
在MATLAB仿真软件环境下,运用模型控制系统构造伺服控制器。在Simulink中对输入量以及输出量进行检测,调试并确保系统运行时,输出量的值在规定范围内,并且跟踪良好。
三、实验原理
1、伺服机构
上图为位置伺服机构系统结构图,该系统由直流电机、变速箱、弹性轴和负载组成。
该伺服机构的微分方程式为:
上述方程式中,V为施加电压,T为负载上的力矩,ΩL为负载角速度,ΩM为电机轴角速度。
伺服系统模型参数如下图:
(注:此表从上至下符号依次为:扭转刚度,电机常数,电机惯量,负载惯量,齿轮比,电机粘滞摩擦系数,负载粘滞摩擦系数,电枢电阻)
2、控制器目标以及限制
控制器必须设置负载的角度位置ΩL,通过调整所施加的电压V的唯一可用的测量反馈是ΩL。
弹性轴具有有限的抗剪强度,所以在规定的范围内即必须保持扭矩T的绝对值小于等于78.5Nm。
此外,所施加的电压必须保持在范围内即V的绝对值小于等于220V。
该系统有一个输入量V,有两个输出量,其中一个可测并且反馈到控制器为ΩL,另一个为不可测的Nm。
3、MPC控制器
主要包括内部模型、反馈校正、滚动优化和参数输入轨迹等几个部分。它采用基于脉冲响应的非参数模型作为内部模型,用过去和未来的输入输出状态,根据内部模型,预测系统未来的输出状态。经过用模型输出误差进行反馈校正以后,再与参考轨迹进行比较,应用二次型性能指标进行滚动、优化,然后再计算当前时刻加于系统的控制,完成整个动作循环。
三、实验步骤
1、首先创建系统模型说明。这个定义的变量系统在MATLAB的工作空间。模型说明如下:
MPC对象字段定义
mpcmotormodel
clear ManipulatedVariables OutputVariables
ManipulatedVariables=struct(Min,umin,Max,umax,Units,V);
OutputVariables(1)=struct(Min,-Inf,Max,Inf,Units,rad);
OutputVariables(2)=struct(Min,Vmin,Max,Vmax,Units,Nm);
Weights=struct(Input,uweight,InputRate,duweight,Output,yweight);
clear Model
Model.Plant=sys;
Model.Plant.OutputGroup={1 Measured;2 Unmeasured};
PredictionHorizon=10;
ControlHorizon=2;
创建工作区MPC对象
ServoMPC=mpc(Model,Ts,PredictionHorizon,ControlHorizon);
ServoMPC.Weights=Weights;
ServoMPC.ManipulatedVariables=ManipulatedVariables;
ServoMPC.OutputVariables=OutputVariables;
仿真模拟
disp(Now simulating nominal closed-loop behavior);
Tf=round(Tstop/Ts);
r=pi*ones(Tf,2);
[y1,t1,u1,xp1,xmpc1]=sim(ServoMPC,Tf,r);
情节结果
subplot(311)
stairs(t1,y1(:,1));
hold on
stairs(t1,r(:,1));
hold off
title(Angular Position)
subplot(312)
stairs(t1,u1);
title(Voltage)
subplot(313)
stairs(t1,y1(:,2));
title(Torque)
模拟仿真
if license(test,Simulink)
mpc_motor
sim(mpc_motor,Tstop)
end
2、使用mpctool控制器设计
选择要是用的LTI模型定义如上图,导入到mpc控制器当中。接下来导入对话框选择伺服系统模型如下图,注意输入信号与输出信号的选择。
设计导入后的工厂模型和指定的信号特性。设定控制器各项属性如下图。
下图为权重设置
权重指定的控
文档评论(0)