预测控制实验报告

时间:2024.4.27

动态矩阵控制算法实验报告

 

    院系:电子信息学院

    姓名:谈敏佳

    学号:142030053

    专业:导航、制导与控制

    导师:杨奕飞

MATLAB环境下动态矩阵控制实验

一、实验目的:

通过对动态矩阵控制的MATLAB仿真,发现其对直接处理带有纯滞后、大惯性的对象,有良好的跟踪性和有较强的鲁棒性,输入已知的控制模型,通过对参数的选择,来取得良好的控制效果。

二、实验原理

动态矩阵控制算法是一种基于被控对象非参数数学模型的控制算法,它是一种基于对象阶跃响应的预测控制算法,它以对象的阶跃响应离散系数为模型,避免了通常的传递函数或状态空间方程模型参数的辨识,又因为采用多步预估技术,能有效解决时延过程问题,并按预估输出与给定值偏差最小的二次性能指标实施控制,它适用于渐进稳定的线性对象,系统的动态特性中具有纯滞后或非最小相位特性都不影响改算法的直接应用,因此是一种最优控制技术。

三、实验环境:

   计算机,matlab7.0.4

四、实验步骤

    动态矩阵控制算法充分利用了反映被控对象动态行为的有用信息,对被控对象时滞和阶次变化的鲁棒性都有所提高,从而得到好的控制性能。但是由于动态矩阵预测控制采用模型预测的方式,其参数的选择对性能有重要的影响。合理的选择控制参数非常重要,它直接影响着系统整体的控制效果。对DMC来说,影响其性能的主要参数有以下几个。

    1)采样周期T与模型长度N

    在DMC中采样周期T和模型长度N的选择需要满足香农定理和被控对象的类型及其动态特性的要求。为使模型参数尽可能完整的包含被控对象的动态特征,通常要求NT后的阶跃响应输出值已经接近稳定值。因此,T减小就会导致N增大,若T取得过小,N变大,会增加计算量。而适当的选取采样周期,使模型长度控制在一定的范围内,避免因为采样周期减少而使模型长度增加使计算量增加,降低系统控制的实时性。所以,从计算机内存和实时计算的需要出发,应选取合适的采样周期和模型长度。

 2)预测时域长度P

    预测时域长度P对系统的稳定性和快速性具有重要的影响。为使滚动优化真正有意义,应使预测时域长度包括对象的主要动态部分。若预测时域长度P小,虽控制系统的快速性好,但稳定性和鲁棒性会变差;若预测时域长度P很大,虽明显改善系统的动态性能,即控制系统的稳定性和鲁棒性变好,但系统响应过于缓慢,增加计算时间,降低系统的实时性。

    3)控制时域长度M

控制时域长度M在优化性能指标中表示所要确定的未来控制量的改变数目,即优化变量的个数。在预测时域长度P已知的情况下,控制时域长度M越小,越难保证输出在各采样点紧密跟踪期望输出值,系统的响应速度比较慢,但容易得到稳定的控制和较好的鲁棒性;控制时域长度M越大,控制的机动性越强,能够改善系统的动态响应,增大了系统的灵活胜和快速性,提高控制的灵敏度,但是系统的稳定性和鲁棒性会变差。因此,控制时域长度的选择应兼顾快速性和稳定性。

五、实验控制算法实例仿真

(一)算法实现

设某工业对象的传递函数为:GP(s)=e-80s/(60s+1),采用DMC后的动态特性如图1所示。在仿真时采样周期T=20s,优化时域P=10,控制时域M=2,建模时域N=20。

MATLAB程序1:

g=poly2tfd(1,[60 1],0,80);%通用传递函数模型转换为MPC传递函数模型

delt=20;                  %采样周期

nt=1;                     %输出稳定性向量

tfinal=1000;              %截断时间

model=tfd2step(tfinal,delt,nt,g);%传递函数模型转换为阶跃响应模型

plant=model;              %进行模型预测控制器设计

p=10;                     %优化时域

m=2;                      %控制时域

ywt=[];uwt=1;             %设置输入约束和参考轨迹等控制器参数

kmpc=mpccon(plant,ywt,uwt,m,p);%模型预测控制器增益矩阵计算

tend=1000;r=1;            %仿真时间

[y,u,yrn]=mpcsim(plant,model,kmpc,tend,r);%模型预测控制仿真

t=0:20:1000;               %定义自变量t的取值范围

plot(t,y)                  %平面线图

xlabel('图1 DMC 控制系统的动态阶跃响应曲线(time/s)');%横坐标

ylabel('响应曲线');           %纵坐标

结果如下所示:

Percent error in the last step response coefficient

 of output yi for input uj is :

 2.2e-005% 

 Time remaining 1000/1000

 Time remaining 800/1000

 Time remaining 600/1000

 Time remaining 400/1000

 Time remaining 200/1000

 Time remaining 0/1000

Simulation time is 0.078 seconds.

 Percent error in the last step response coefficient

 of output yi for input uj is :

 2.2e-005% 

 Time remaining 1000/1000

 Time remaining 800/1000

 Time remaining 600/1000

 Time remaining 400/1000

 Time remaining 200/1000

 Time remaining 0/1000

Simulation time is 0.047 seconds.

结论:图中曲线为使用DMC控制后系统的阶跃响应曲线。从图中可看出:采用DMC控制后系统的调整时间小,响应的快速性好,而且系统的响应无超调。该结果是可以接受的。

(二)P和M对系统动态性能的影响

1.P对系统性能的影响

优化时域P表示我们对k时刻起未来多少步的输出逼近期望值感兴趣。当采样周期T=20s,控制时域M=2,建模时域N=20,优化时域P分别为6,10和20时的阶跃响应曲线如图2所示。

MATLAB程序2:

g=poly2tfd(1,[60 1],0,80);%通用传递函数模型转换为MPC传递函数模型

delt=20;                  %采样周期

nt=1;                     %输出稳定性向量

tfinal=1000;              %截断时间

model=tfd2step(tfinal,delt,nt,g);%传递函数模型转换为阶跃响应模型

plant=model;              %进行模型预测控制器设计

p1=6;p2=10;p3=20;             %优化时域

m=2;                          %控制时域

ywt=[];uwt=1;                 %设置输入约束和参考轨迹等控制器参数

kmpc1=mpccon(plant,ywt,uwt,m,p1);%模型预测控制器增益矩阵计算

kmpc2=mpccon(plant,ywt,uwt,m,p2);

kmpc3=mpccon(plant,ywt,uwt,m,p3);

tend=1000;r=1;                %仿真时间

[y1,u,yrn]=mpcsim(plant,model,kmpc1,tend,r);%模型预测控制仿真

[y2,u,yrn]=mpcsim(plant,model,kmpc2,tend,r);

[y3,u,yrn]=mpcsim(plant,model,kmpc3,tend,r);

t=0:20:1000;                  %定义自变量t的取值数组

plot(t,y1,t,y2,t,y3)          %平面线图

legend('1-p=6','2-p=10','3-p=20');%图例注释

xlabel('图2 P不同对系统性能的影响(time/s)');

ylabel('响应曲线');

结果如下所示:

 Percent error in the last step response coefficient

 of output yi for input uj is :

 2.2e-005% 

 Time remaining 1000/1000

 Time remaining 800/1000

 Time remaining 600/1000

 Time remaining 400/1000

 Time remaining 200/1000

 Time remaining 0/1000

Simulation time is 0.005 seconds.

 Time remaining 1000/1000

 Time remaining 800/1000

 Time remaining 600/1000

 Time remaining 400/1000

 Time remaining 200/1000

 Time remaining 0/1000

Simulation time is 0.004 seconds.

 Time remaining 1000/1000

 Time remaining 800/1000

 Time remaining 600/1000

 Time remaining 400/1000

 Time remaining 200/1000

 Time remaining 0/1000

Simulation time is 0.005 seconds.

图中曲线1为P=6时的阶跃响应曲线;曲线2为P=10时的阶跃响应曲线;曲线3为P=20时的阶跃响应曲线。

结论:从图中可以看出,增大P,系统的快速性变差,但系统的稳定性增强;减小P,系统的快速性变好,但稳定性变差。所以P的选择应该兼顾快速性和稳定性。

2.M对系统性能的影响

控制时域M表示所要确定的未来控制量的改变数目。当采样周期T=20s,优化时域P=20,建模时域N=20,控制时域M分别取4,2和1时系统的响应曲线如图3所示。

MATLAB程序3:

g=poly2tfd(1,[60 1],0,80);%通用传递函数模型转换为MPC传递函数模型

delt=20;                  %采样周期

nt=1;                     %输出稳定性向量

tfinal=1000;              %截断时间

model=tfd2step(tfinal,delt,nt,g);%传递函数模型转换为阶跃响应模型

plant=model;              %进行模型预测控制器设计

p=20;                     %优化时域

m1=4;m2=2;m3=1;           %控制时域

ywt=[];uwt=1;

kmpc1=mpccon(plant,ywt,uwt,m1,p);

kmpc2=mpccon(plant,ywt,uwt,m2,p);

kmpc3=mpccon(plant,ywt,uwt,m3,p);

tend=1000;r=1;                    %仿真时间

[y1,u,yrn]=mpcsim(plant,model,kmpc1,tend,r);%模型预测控制仿真

[y2,u,yrn]=mpcsim(plant,model,kmpc2,tend,r);

[y3,u,yrn]=mpcsim(plant,model,kmpc3,tend,r);

t=0:20:1000;                      %仿真时间

plot(t,y1,t,y2,t,y3)              %平面线图

legend('1-m=4','2-m=2','3-m=1');  %图例注释

xlabel('图2 M不同对系统性能的影响(time/s)');

ylabel('响应曲线');

结果如下所示:

 Percent error in the last step response coefficient

 of output yi for input uj is :

 2.2e-005% 

 Time remaining 1000/1000

 Time remaining 800/1000

 Time remaining 600/1000

 Time remaining 400/1000

 Time remaining 200/1000

 Time remaining 0/1000

Simulation time is 0.047 seconds.

 Time remaining 1000/1000

 Time remaining 800/1000

 Time remaining 600/1000

 Time remaining 400/1000

 Time remaining 200/1000

 Time remaining 0/1000

Simulation time is 0.078 seconds.

 Time remaining 1000/1000

 Time remaining 800/1000

 Time remaining 600/1000

 Time remaining 400/1000

 Time remaining 200/1000

 Time remaining 0/1000

Simulation time is 0.078 seconds.

>> 

图中曲线1为M=4时的响应曲线;曲线2为M=2时的响应曲线;曲线3为M=1时的响应曲线。

结论:从图中可以看出,减小M,系统的快速性变差,系统的稳定性增强;增大M,系统的快速性变好,稳定性变差。增大P和减小M效果类似,所以在选择时,可以先确定M再调整P,并且M小于等于P。

(三 )模型失配时的响应曲线

当预测模型失配时,即当GM(S)≠GP(S),当GM(S)=2e-50s/(40s+1)的响应曲线如图4所示。

MATLAB程序4:

g1=poly2tfd(1,[60 1],0,80);%通用传递函数模型转换为MPC传递函数模型

g2=poly2tfd(2,[40 1],0,50);

delt=20;                  %采样周期

nt=1;                     %输出稳定性向量

tfinal=1000;              %截断时间

model1=tfd2step(tfinal,delt,nt,g1);%传递函数模型转换为阶跃响应模型

model2=tfd2step(tfinal,delt,nt,g2);

plant1=model1;            %进行模型预测控制器设计

plant2=model2;

p=10;                     %优化时域

m=2;                      %控制时域

ywt=[];uwt=1;             %设置输入约束和参考轨迹等控制器参数

kmpc1=mpccon(plant1,ywt,uwt,m,p);%模型预测控制器增益矩阵计算

kmpc2=mpccon(plant2,ywt,uwt,m,p);

tend=1000;r=1;            %仿真时间

[y1,u,yrn]=mpcsim(plant1,model1,kmpc1,tend,r);%模型未失配时的预测控制仿真

[y2,u,yrn]=mpcsim(plant1,model2,kmpc2,tend,r);%模型失配时的预测控制仿真

t=0:20:1000;              %仿真时间

plot(t,y1,t,y2)                             %平面线图

legend('1-模型未失配','2-模型失配');

xlabel('图4 模型失配时的响应曲线(time/s)');

ylabel('响应曲线');

结果如下所示:

 Percent error in the last step response coefficient

 of output yi for input uj is :

 2.2e-005% 

 Percent error in the last step response coefficient

 of output yi for input uj is :

 4.8e-009% 

 Time remaining 1000/1000

 Time remaining 800/1000

 Time remaining 600/1000

 Time remaining 400/1000

 Time remaining 200/1000

 Time remaining 0/1000

Simulation time is 0.063 seconds.

 Time remaining 1000/1000

 Time remaining 800/1000

 Time remaining 600/1000

 Time remaining 400/1000

 Time remaining 200/1000

 Time remaining 0/1000

Simulation time is 0.078 seconds.

图中曲线1为未失配时的阶跃响应曲线;曲线2为模型失配时的阶跃响应曲线。

结论:从图中可以看出,当模型失配时,DMC控制有一定的超调,快速性下降,但能很快进入稳定状态,控制效果令人满意。所以DMC在形成闭环控制时,对模型失配具有很好的鲁棒性。因此,即使在模型失配的情况下,也能得到无静差控制。

更多相关推荐:
控制测量实验报告

控制测量实习报告姓名邸凯院系资源工程学院专业测绘工程一班学号20xx092549实习地点厦门海沧区指导教师高鹏20xx年12月控制测量实习报告20xx09254911资源测绘1班邸凯一实习单位福建省地质测绘院厦...

控制测量学课间实验报告-学生版

测绘工程专业控制测量学课间实验报告课程名称控制测量学专业班级任课教师学年学期实习小组成员实习报告整理土木建筑学院测绘与国土信息工程系20xx年6月23日实验一自动安平水准仪的认识及读数练习一实习目的及要求1熟悉...

控制测量实验报告

实验报告课程名称系部名称专业班级学生姓名彭博学号指导教师黑龙江工程学院教务处制注1此报告为参考格式各栏项目可根据实际情况进行调整2实验成绩以优90100良8089中7079及格6069不及格60以下五个等级评定

控制测量实验报告

控制测量实验报告实验一精密光学经纬仪及方向法水平角观测10学时一目的学会J2经纬仪按方向法进行观测并掌握此法的操作程序和计算方法并了解测站上各项限差要求二要求1预习好方向观测法的观测程序2弄清方向观测法记录表格...

控制测量实习报告 (2)

学院市政与测绘工程学院专业测绘工程姓名陈良明班级1002602学号20方案名称控制测量实习指导老师鄢志辉1概述11实习目的1巩固课堂教学知识加深对控制测量学的基本理论的理解能够用有关理论指导作业实践做到理论与实...

控制测量实验报告1

控制测量实验报告实验项目J2光学经纬仪认识及读数练习系班小学姓实验成一实验目的了解J2光学经纬仪的基本结构及各螺旋的作用学会读数的方法二实验要求1将J2光学经纬仪与书本上的相应的图进行对照了解仪器的各部分名称及...

控制测量学实习报告

控制测量学实习报告姓名班级学号指导老师实习日期吴勤伟06351214赵宝贵20xx年6月一序言1实习名称控制测量实习2实习目的1巩固课堂教学知识加深对控制测量学基本理论的理解能够用有关理论指导作业实践做到理论与...

控制测量学编程实验报告

控制测量学实验报告专业测绘工程班级学号编写人指导老师日期实验四一实验名称三差改正与电测波测距归算二实验目的与要求为了强化对三差改正与电测波测距归算的学习通过已经掌握的VB语言的知识利用VB编写一个简单的程序用于...

控制测量实习报告

控制测量实习报告班级:测绘一班学号:**指导老师:**实习时间2月21号至3月20号目录1.前言1.1实习目的31.2实习地点、时间31.3实习组织和安排31.4实习任务32.执行规范2.1执行规范33.测区概…

控制测量实习报告(新)

控制测量实习报告作者姓名xxx班级学号学科专业指导教师实习时间目录第一部分外业观测111实习目的及测区概况112标志保存情况及已有成果介绍113踏勘情况介绍214外业观测方案2141实习时间2142仪器和工具3...

控制测量学实习报告

控制测量学实习报告一实习目的1掌握测区控制网的建立方法四等平面网三角高程网二等水准网2掌握和熟练全站仪和水准仪的基本功能和观测方法3掌握仪器检较的基本原理和方法4学会用相关平差软件处理观测数据以及对处理结果进行...

控制测量实习报告

目录第一章绪论211控制网技术设计的目的及任务212控制网测区的地理条件213原有资料即利用2第二章坐标系统的选择及处理321坐标系统的选择322测区内原有点论证分析3第三章水平控制网的布设及对比方案431首级...

控制测量实验报告(29篇)