MATLAB 控制系统解决方案— 基于模型的系统设计


  
目前,MATLAB产品在控制系统设计领域的应用已经被广泛认可,成为了控制系统设计的标准化软件之一。凡是涉及到控制系统开发设计工作的人员,几乎人人皆知MATLAB在控制系统开发中的应用。在国内,许多著名高校纷纷为学生开设以MATLAB为辅助工具的课程,每年有上万名掌握着专业知识和MATLAB使用技能的毕业生走向工作岗位。这一切,皆因MathWorks公司通过多年的努力,为控制系统设计提供了一套最完整的工具集。这些工具涵盖了控制系统的设计实现的方方面面,包括对象模型建立、控制算法开发、动态系统仿真、实时快速控制器原型、嵌入式产品实现等整个控制系统开发流程。在控制系统开发过程中的每一项任务都是围绕统一的模型进行的,我们称之为基于模型的控制系统设计。

集成的控制系统设计环境
数据分析、建模
控制系统设计与分析
系统模型的仿真优化
实时环境下的测试验证
嵌入式系统开发

集成的控制系统设计环境

基于模型的控制系统设计的流程大体上分为如下几个阶段:

  数据分析与建模
  控制系统设计与分析
  系统模型仿真优化
  模型实时仿真测试验证
  嵌入式系统开发

MATLAB产品提供了一个强大的基于模型的控制系统设计开发集成环境,能够支撑上述各个阶段的工作,如下图所示:

MATLAB 产品在控制系统设计应用过程中的分布


数据分析、建模

数据分析、建模是基于模型的控制系统设计第一步,利用MATLAB提供的各种工具箱,不仅可以直接从实际环境中获取数据,还可以对获取的数据进行分析处理,建立控制对象的模型。
Data Acquisition Toolbox
提供从基于PC的插卡式数据采集硬件中获取数据的能力。
Signal Processing Toolbox
提供了信号分析和时序系统建模用的工具
System Identification Toolbox
可由实测的输入/输出数据来辨识线性模型的交互式工具环境,方便的GUI图形界面简化了用户在数据预处理和反复预测模型和验证拟合准确度过程中的工作。


控制系统设计与分析

控制系统的设计分析是基于模型的系统设计重要的一步,在这一阶段,工程师不仅需要进一步确立控制对象的数学模型,还需要对控制对象数学模型的各种特性进行分析,然后设计出满足指标要求的控制器。
与控制系统设计分析相关的工具箱提供了诸多功能强大的可视化开发工具,不仅涵盖了传统的根轨迹、波特图等频域设计方法,还包括了LQG、H∞等现代控制系统设计方法。
Control System Toolbox
实现了大多数流行的“经典”的和“现代”的线性控制系统设计分析方法,来用于分析、设计控制系统,提供了可视化的SISO设计工具和LTI系统观测器。
Fuzzy Logic Toolbox
提供了直观的图形环境,可支持最先进的模糊逻辑方法
Robust Control Toolbox
鲁棒控制工具箱提供了用于多变量控制系统设计和分析的高级算法。
μAnalysis and Synthesis Toolbox
利用H∞最优化控制和结构奇异μ进行鲁棒控制设计的工具箱
LMI Control Toolbox
专用于鲁棒控制设计中的凸优化问题,基于最先进的可解线性矩阵不等式问题的程序处理
Model Predictive Control Toolbox
常用于工业控制,解决实际工作中涉及有约束条件的大型、多变量(I/O)系统的过程控制问题
Model-Based Calibration Toolbox
包含可视化的图形工具,帮助用户设计标定试验,对模型运行的结果进行统计,完成复杂系统的标定工作。工具箱中主要包含两种图形工具mbcview和CAGE,分别用于不同类型的系统模型标定。


系统模型的仿真优化

系统模型的正确与否将直接影响到系统后续的设计工作,所以系统模型的仿真和优化是基于模型的控制系统设计重要的一环。在软件环境中进行动态系统模型的仿真不仅可以较早的排查系统设计的缺欠和错误,还有助于设计者更好的理解系统模型的行为,从而完成对模型和控制系统算法的优化。在这一步骤中,MATLAB产品提供的Simulink工具,是建立动态系统模型,进行数学仿真优化的最佳工具。此外,MATLAB的产品中还包括了针对电力电子系统的SimPowerSystem模块库、针对机械系统仿真的SimMechanics模块库、针对航空航天和国防领域的Aerospace模块库。
Simulink
图形化动态系统建模与仿真环境,Simulink具有数百种预定义的系统环节模型,精确可靠的积分算法和直观的图形建模工具。依托Simulink强健的仿真能力,用户能够建立逼真的系统仿真模型,对设计进行评估并及时修正错误。
Stateflow
对真实世界中常见的事件驱动行为进行建模与仿真的图形化环境。利用有限状态机概念、状态流程图表示,能够清晰地描述事件驱动系统的复杂逻辑。
Aerospace Blockset
提供了建立航空航天飞行器飞行仿真的核心模块,其中包括大气模型、重力模型、风扰动模型、推进器模型、控制器模型、6自由度运动方程、各种座标变换等模块,这些模块将使建立航空航天飞行器的仿真模型的时间大为缩短。
SimPowerSystems
包含了电力系统中根据电磁和机电暂态方程建立的一般元件数学模型,采用电力系统的标准图标。它为电力系统的发电、输电、配电系统的设计提供了强有力的解决方案。对于复杂而又独立的电力系统(诸如汽车、飞机和工厂等等)来说,它无疑也是一个理想的工具。
SimMechanics
包含了基于一般力学的机械系统模块,包括铰链、约束、位移/角度传感器、力/力矩作用等元件。它为各种机械系统的机械部件建模提供了强有力的手段,结合Simulink则可以非常方便地建立诸如机器人手臂和复杂机械控制系统的模型。
Virtual Reality Toolbox
提供在Unix/Linux和PC平台下的虚拟现实系统的解决方案。采用MATLAB/Simulink计算得到的各种数据可以直接驱动VRML语言建立的虚拟现实模型,是系统仿真结果可视化的理想工具。


实时环境下的测试验证

为了保证算法在实时环境中工作的有效性和可靠性,需要对算法进行实时环境下的测试和验证。这时可以通过Real-Time Workshop自动生成Simulink仿真模型的实时代码,经过编译链接后下载到实时仿真计算机上运行。生成代码的所需的操作是十分简单的,在进行了必要的配置工作后只需鼠标轻轻一点就可完成。通过这种自动代码生成方式,避免了大量的手工编写代码的工作,所有的修改都在模型一级进行,使用起来非常方便快捷。另外利用MATLAB提供的基于PC的实时仿真平台,用户可以方便地搭建自己的实时仿真系统,完成诸如系统原型验证,实时在线调参等工作。
Real-Time Workshop与 Stateflow Coder
直接从Simulink 模型与 Stateflow 框图中生成高效的可移植C语言代码。只需要简单的操作,用户无需繁琐的手工编程与调试就可以生成应用代码。 Real-Time Workshop 与Stateflow Coder 能够自动编译、连接和下载可执行代码到实时目标处理器上。通过自动生成实时代码,使用户可以高效可靠地在实时环境下测试、评估与迭代自己的设计。
xPC Target
提供了在普通PC机上运行的实时内核和丰富的I/O模块库。利用xPC Target,用户可以将一台运行着xPC实时内核的PC作为实时目标机,由Real-Time Workshop生成的代码可以直接在此目标机上运行。通过在目标机上配备各种xPC所支持的硬件接口卡,可以与外部的物理对象或设备直接连接。xPC Target 是控制系统快速原型与硬件在回路仿真的理想工具。

利用xPC Target进行系统实时仿真

xPC Target Box
基于工业PC标准的系统,提供具有一定可靠性和可扩展I/O的实时仿真硬件平台。利用内建的xPC内核可以运行Real-Time Workshop和xPC Target生成的实时应用程序。利用xPC Target Box用户可以不必建立自己的仿真硬件系统就可以完成实时快速原型测试任务。


嵌入式系统开发
算法实时测试和验证完成后,就到了基于模型的控制系统设计的最后步骤—嵌入系统实现,在这一步骤MATLAB的工具提供了高效的产品级代码生成与实现能力。生成的代码可以被用于生产过程,也能被配置成嵌入式目标应用。
Real-Time Workshop Embedded Coder
Real-Time Workshop的扩展,将Simulink模型转变为嵌入式的、离散时间系统的代码。在RAM, ROM, CPU 资源受限的系统上,Real-Time Workshop Embedded Coder是理想的代码生成工具。Real-Time Workshop Embedded Coder生成的代码灵活、可靠、高效、易于维护并符合工业标准,基本达到或超过手写代码的优化效率。
xPC Target Embedded Option
在为小批量产品开发的控制系统应用中,利用xPC Target 与xPC Target Embedded Option,用户可以方便地将带有Intel或 AMD处理器的PC硬件作为应用环境。在低成本的PC系统上,用户的应用程序可与 xPC Target 实时内核结合形成独立的实时控制计算机,直接用于实际的控制过程中。xPC支持基于x86的计算机体系,例如普通的PC机、CompactPCI、 PC/104、工业PC等。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章