APP下载

Matlab/MPC工具箱在《预测控制》课程教学中的应用

2014-10-08赵敏,江艳霞

教育教学论坛 2014年9期
关键词:仿真教学研究

赵敏,江艳霞

摘要:《预测控制》是大多控制理论与控制工程专业硕士的专业基础课。本文利用Matlab/MPC工具箱图形用户界面(GUI)的控制器设计与分析功能,通过对《预测控制》课程中位置伺服对象进行控制器设计与分析,将抽象的理论与仿真实验相结合,使学生更好地掌握理论知识,培养学生解决实际问题的能力,说明了使用Matlab辅助《预测控制》课程教学的有效性。

关键词:预测控制;Matlab;GUI;仿真;教学研究

中图分类号:G642.0?摇 文献标志码:A 文章编号:1674-9324(2014)09-0049-03

一、引言

预测控制是上世纪70年代后期产生的一类新型计算机控制算法,是继PID控制之后在过程控制应用中最广泛、有效的控制算法。它直接产生于工业过程控制的实际应用,并在与工业应用的紧密结合中不断完善和成熟,具有良好的鲁棒性和控制效果。在石油、化工、冶金、机械等行业的过程控制系统中得到了成功的应用,已成为处理复杂约束多变量控制问题的公认标准[1]。《预测控制》是双控专业硕士重要的专业课程之一,该课程是以实际工业生产过程为背景,以控制理论为基础发展起来的,主要向学生介绍预测控制的基本算法理论,从而使学生理解过程控制的基本原理和概念,对培养学生解决实际应用问题的能力有着重要的作用。预测控制属于先进过程控制领域,先进过程控制(APC)是对那些不同于常规单回路控制,并具有比常规PID控制更好的控制效果的控制策略的统称,主要应用于包含大量复杂多变量的控制问题[2]。因此《预测控制》课程具有理论性强、与实际联系紧密,以及涉及面广的特点,对学生理论基础和设计能力要求较高,这造成该课程较为抽象难学,采用常规的课堂PPT授课方法难以激起学生的学习兴趣,不能适应专业技术课程的发展要求。为了改善这一现状,多媒体技术已经被广泛的应用于控制学科课程的课堂教学。采用多媒体课件结合板书的教学方法,可以将枯燥的理论知识更加形象化、具体化,在一定程度上能够改善教学效果[3-5]。

随着计算机科学的不断发展,各种仿真软件的日益广泛应用给专业课教学提供了现代化的教学手段。其中Matlab语言自上世纪80年代问世以来,以其高性能的数值计算和可视化的图形功能以及简单易学的编程方式,已被广泛应用于教学和科研当中。本文结合《预测控制》课程中被控对象的特点,以系统的控制器设计为例,将Matlab/MPC工具箱GUI的分析与综合的功能应用于《预测控制》教学中,通过简单快速的仿真实验,使学生对控制器设计的过程和控制效果有更加深刻的认识和理解,从而激发学生的学习兴趣,提高教学质量。

二、预测控制和MPC工具箱简介[6]

目前《预测控制》课程所涉及的控制算法主要有基于非参数模型的模型算法控制(MAC)、动态矩阵控制(DMC),以及基于参数模型的广义预测控制(GPC)和广义极点配置控制(GPP)等。其中模型算法控制采用脉冲响应模型,动态矩阵控制采用阶跃响应模型,这两种模型都具有易于获得的优点。广义预测控制和广义极点配置控制是将预测控制思想与自适应控制的结合,有助于提高控制系统闭环的稳定性和鲁棒性。

Matlab的MPC工具箱提供了一系列用于模型预测控制设计和分析的函数。利用这些函数可以方便的设计控制器,通过仿真获得系统直观的控制效果,有助于学生对算法的理解和学习。这些函数包括:系统模型辨识函数,通过多变量线性回归方法计算脉冲响应模型和阶跃响应模型;模型建立和转换函数,建立MPC工具箱使用的MPC状态空间模型,并完成各模型之间的相互转换;模型预测控制器设计和仿真工具,分别面向阶跃响应模型和状态空间模型完成控制器设计和仿真;系统分析工具,计算系统频率响应、极点和奇异值等。除此之外,Matlab/MPC工具箱还有一个基于人机交互界面的预测控制器设计工具,设计者可以根据菜单提示一步一步的完成控制器设计,之后利用Simulink库中的预测控制模块进行调用,对复杂的预测控制系统进行仿真。

在Matlab命令窗口中,直接键入mpctool用于启动MPC设计工具,在图形界面的左侧会出现被控对象(Plan models)、MPC控制器(Controllers)和仿真器(Scenarios)三个栏目。随后打开被控对象的模型输入窗口,选择存于Matlab工作空间或磁盘中的被控对象模型文件,同时设置被控对象输入输出信号的属性,如输入信号类型为控制变量(Manipulated),可测干扰信号(Meas.disturb.)或不可测干扰信号(Unmeas.disturb.);输出信号类型为可为测干扰信号(Measurd)或不可测信号(Unmeasured)。将输入输出信号属性设置完毕后,再对控制器属性进行设置,如采样间隔时间(Control interval)、预测时域(Prediction horizon)、控制时域(Control horizon),以及约束和权重值设置(Manipulated variables/Output variables)。对被控对象和控制器模型描述完毕后,在仿真器中设置仿真参数,如仿真时间(Duration)、设定点(Setpoints)以及它们的信号类型(Type)、幅值(Size)和作用起始时间(Time)、周期(Period)等。所有参数完成设置后,通过Simulate对系统进行仿真,并将结果通过Export命令保存到Matlab工作空间或磁盘文件中。对于已设计完成的控制器,可以通过Simulink进行调用。

综上所述,可见Matlab的MPC工具箱具有强大的设计和分析功能,能够对预测控制课程中所涉及到的多种基本算法进行仿真验证,而其中基于模型预测控制设计工具的图形界面更是能够避免编写代码过程,使得控制器的设计更加方便直观,非常适于《预测控制》课程的教学。本文在接下来的部分中将通过位置伺服控制对象,基于GUI设计预测控制仿真实验,以帮助学生对理论知识的形象理解。

三、仿真实例

假设位置伺服系统由直流电机、变速箱、弹性轴承和负载组成,其数学模型描述如下:

■L=-■θL-■-■ωL (1)

■M=■■-■θL-■ (1)

ωL=■L

ωM=■M

其中kθ=1282.2;kT=10,JM=0.5;JL=50JM;ρ=20;βM=0.1;βL=25;R=20。电压V为输入变量,过载角位置θL和力矩T为输出变量。控制目标为:在电压的控制下,使过θL跟踪设定值。其中输出力矩满足约束|T|≤78.5Nm,输入满足约束|V|≤220V。首先在Matlab工作空间定义系统的数学模型,记作MotorModel,随后利用MPC工具箱GUI工具设计控制器。

1.导入模型:在命令窗口输入mpctool,点击Import Plant,选中被控对象模型MotorModel,点击Import导入模型,如图1(a)。

2.设置主要参数属性:θL可测;T不可测;输入变量为 V,输出为θL和T,同时将采样周期修改为0.1s。在约束面板,将输出力矩约束修改为|T|≤78.5Nm;在权重面板,输入 V的权重为0,变化率权重为0.1,其他均选为默认值。这里需要注意的是,增加惩罚项能够增加控制器的鲁棒性,但是会降低跟踪的精度,因此需要根据精度和性能折中选取惩罚项,如图1(b~e)。

3.仿真器设置:通过Setpoints设置跟踪参考信号,本例设置θL为阶跃信号,阶跃时间为1s,幅值为1;T为常数,幅值为0,如图1(f)。

4.点击Simulate开始仿真,结果如图2(a),仿真结果尚未达到控制要求,通过进入权重页修改权重值,以获得满意的控制效果,如图2(b)。

5.当仿真得到满意的控制效果,控制器设计完毕,点击Controllers,选择Export,将控制器导出保存至工作空间,控制器设计完毕。

可见,通过MPC工具箱的人机交互图形界面设计预测控制器,可以直观地观察到控制器参数对控制效果的影响,有助于加强学生对理论知识的理解和掌握。

四、结语

在《预测控制》课程教学中引入Matlab/MPC工具箱的图形界面工具,通过对被控对象设计控制器等内容进行辅助分析,将抽象的控制问题形象化,让学生直观了解控制器设计的过程,并掌握控制器参数调整对控制效果的影响,弥补了单一课堂教学中的不足,进一步加强了学生对理论知识的理解,激发了他们的学习兴趣,充分发挥其自主学习的能力,更好地掌握预测控制理论和算法,为后续的应用研究工作打下了基础。

参考文献:

[1]席裕庚.预测控制[M].北京:国防工业出版社,1993.

[2]俞金寿.工业过程先进控制[M].北京:中国石化出版社,2002.

[3]李国勇.智能控制及其Matlab实现[M].北京:电子工业出版社,2005.

[4]唐红.Matlab在《自动控制原理》课程教学中的应用研究[J].教育教学论坛,2013,(6):61.

[5]罗健旭,顾幸生,刘漫丹,俞金寿,孙京浩.过程控制工程课程教学的创新与改革[J].化工高等教育,2012,(2):19-22.

[6]周建兴.MATLAB从入门到精通[M].北京:人民邮电出版社,2012.

基金项目:上海市重点学科建设资助项目(S30501)。

作者简介:赵敏,上海理工大学讲师,研究方向预测控制,电力电子技术应用等;江艳霞,上海理工大学讲师,研究方向模式识别与智能系统。

三、仿真实例

假设位置伺服系统由直流电机、变速箱、弹性轴承和负载组成,其数学模型描述如下:

■L=-■θL-■-■ωL (1)

■M=■■-■θL-■ (1)

ωL=■L

ωM=■M

其中kθ=1282.2;kT=10,JM=0.5;JL=50JM;ρ=20;βM=0.1;βL=25;R=20。电压V为输入变量,过载角位置θL和力矩T为输出变量。控制目标为:在电压的控制下,使过θL跟踪设定值。其中输出力矩满足约束|T|≤78.5Nm,输入满足约束|V|≤220V。首先在Matlab工作空间定义系统的数学模型,记作MotorModel,随后利用MPC工具箱GUI工具设计控制器。

1.导入模型:在命令窗口输入mpctool,点击Import Plant,选中被控对象模型MotorModel,点击Import导入模型,如图1(a)。

2.设置主要参数属性:θL可测;T不可测;输入变量为 V,输出为θL和T,同时将采样周期修改为0.1s。在约束面板,将输出力矩约束修改为|T|≤78.5Nm;在权重面板,输入 V的权重为0,变化率权重为0.1,其他均选为默认值。这里需要注意的是,增加惩罚项能够增加控制器的鲁棒性,但是会降低跟踪的精度,因此需要根据精度和性能折中选取惩罚项,如图1(b~e)。

3.仿真器设置:通过Setpoints设置跟踪参考信号,本例设置θL为阶跃信号,阶跃时间为1s,幅值为1;T为常数,幅值为0,如图1(f)。

4.点击Simulate开始仿真,结果如图2(a),仿真结果尚未达到控制要求,通过进入权重页修改权重值,以获得满意的控制效果,如图2(b)。

5.当仿真得到满意的控制效果,控制器设计完毕,点击Controllers,选择Export,将控制器导出保存至工作空间,控制器设计完毕。

可见,通过MPC工具箱的人机交互图形界面设计预测控制器,可以直观地观察到控制器参数对控制效果的影响,有助于加强学生对理论知识的理解和掌握。

四、结语

在《预测控制》课程教学中引入Matlab/MPC工具箱的图形界面工具,通过对被控对象设计控制器等内容进行辅助分析,将抽象的控制问题形象化,让学生直观了解控制器设计的过程,并掌握控制器参数调整对控制效果的影响,弥补了单一课堂教学中的不足,进一步加强了学生对理论知识的理解,激发了他们的学习兴趣,充分发挥其自主学习的能力,更好地掌握预测控制理论和算法,为后续的应用研究工作打下了基础。

参考文献:

[1]席裕庚.预测控制[M].北京:国防工业出版社,1993.

[2]俞金寿.工业过程先进控制[M].北京:中国石化出版社,2002.

[3]李国勇.智能控制及其Matlab实现[M].北京:电子工业出版社,2005.

[4]唐红.Matlab在《自动控制原理》课程教学中的应用研究[J].教育教学论坛,2013,(6):61.

[5]罗健旭,顾幸生,刘漫丹,俞金寿,孙京浩.过程控制工程课程教学的创新与改革[J].化工高等教育,2012,(2):19-22.

[6]周建兴.MATLAB从入门到精通[M].北京:人民邮电出版社,2012.

基金项目:上海市重点学科建设资助项目(S30501)。

作者简介:赵敏,上海理工大学讲师,研究方向预测控制,电力电子技术应用等;江艳霞,上海理工大学讲师,研究方向模式识别与智能系统。

三、仿真实例

假设位置伺服系统由直流电机、变速箱、弹性轴承和负载组成,其数学模型描述如下:

■L=-■θL-■-■ωL (1)

■M=■■-■θL-■ (1)

ωL=■L

ωM=■M

其中kθ=1282.2;kT=10,JM=0.5;JL=50JM;ρ=20;βM=0.1;βL=25;R=20。电压V为输入变量,过载角位置θL和力矩T为输出变量。控制目标为:在电压的控制下,使过θL跟踪设定值。其中输出力矩满足约束|T|≤78.5Nm,输入满足约束|V|≤220V。首先在Matlab工作空间定义系统的数学模型,记作MotorModel,随后利用MPC工具箱GUI工具设计控制器。

1.导入模型:在命令窗口输入mpctool,点击Import Plant,选中被控对象模型MotorModel,点击Import导入模型,如图1(a)。

2.设置主要参数属性:θL可测;T不可测;输入变量为 V,输出为θL和T,同时将采样周期修改为0.1s。在约束面板,将输出力矩约束修改为|T|≤78.5Nm;在权重面板,输入 V的权重为0,变化率权重为0.1,其他均选为默认值。这里需要注意的是,增加惩罚项能够增加控制器的鲁棒性,但是会降低跟踪的精度,因此需要根据精度和性能折中选取惩罚项,如图1(b~e)。

3.仿真器设置:通过Setpoints设置跟踪参考信号,本例设置θL为阶跃信号,阶跃时间为1s,幅值为1;T为常数,幅值为0,如图1(f)。

4.点击Simulate开始仿真,结果如图2(a),仿真结果尚未达到控制要求,通过进入权重页修改权重值,以获得满意的控制效果,如图2(b)。

5.当仿真得到满意的控制效果,控制器设计完毕,点击Controllers,选择Export,将控制器导出保存至工作空间,控制器设计完毕。

可见,通过MPC工具箱的人机交互图形界面设计预测控制器,可以直观地观察到控制器参数对控制效果的影响,有助于加强学生对理论知识的理解和掌握。

四、结语

在《预测控制》课程教学中引入Matlab/MPC工具箱的图形界面工具,通过对被控对象设计控制器等内容进行辅助分析,将抽象的控制问题形象化,让学生直观了解控制器设计的过程,并掌握控制器参数调整对控制效果的影响,弥补了单一课堂教学中的不足,进一步加强了学生对理论知识的理解,激发了他们的学习兴趣,充分发挥其自主学习的能力,更好地掌握预测控制理论和算法,为后续的应用研究工作打下了基础。

参考文献:

[1]席裕庚.预测控制[M].北京:国防工业出版社,1993.

[2]俞金寿.工业过程先进控制[M].北京:中国石化出版社,2002.

[3]李国勇.智能控制及其Matlab实现[M].北京:电子工业出版社,2005.

[4]唐红.Matlab在《自动控制原理》课程教学中的应用研究[J].教育教学论坛,2013,(6):61.

[5]罗健旭,顾幸生,刘漫丹,俞金寿,孙京浩.过程控制工程课程教学的创新与改革[J].化工高等教育,2012,(2):19-22.

[6]周建兴.MATLAB从入门到精通[M].北京:人民邮电出版社,2012.

基金项目:上海市重点学科建设资助项目(S30501)。

作者简介:赵敏,上海理工大学讲师,研究方向预测控制,电力电子技术应用等;江艳霞,上海理工大学讲师,研究方向模式识别与智能系统。

猜你喜欢

仿真教学研究
高中数学教学研究
交替传译中听记平衡教学研究
语文课堂有效教学研究
《protel DXP 2004》的教学研究