控制系统实时仿真解决方案.docx
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
dSpace控制系统实时仿真解决方案
c
利用MATLAB与Dspace开发平台,控制系统仿真平台的开发测试流程步骤如下:
被控对象的理论分析及数学描述
这是离线仿真的第一步,用线性或非线性方程建立控制系统数学模型,该方程应能用MATLAB的m-file格式或Simulink方框图方式表示,以便于用
MATLAB/Simulink进行动态分析。当部分被控对象难于用理论方法描述时,可以结合MATLAB的系统辨识工具箱和Simulink参数估计模型库来辅助进行系统建模。控制系统建模
当被控对象的模型搭建完毕之后,可以用MATLAB的控制系统工具箱等工具分析被控对象的响应特性,然后根据这些响应特性为其设计控制器。离线仿真与优化
模型建立之后,可以通过离线仿真查看控制系统的时域频域性能指标,通过对离线仿真结果的分析来优化控制系统仿真平台的算法或被控对象的模型,使系统的输出特性尽可能的好。当这一步完成之后,就要将离线仿真过渡到实时仿真了。
用真实的硬件接口关系代替Simulink中的逻辑联接关系
由于实时仿真中需要与硬件通讯,所以需要在Simulink方框图中,从RTI库用拖放指令指定实时测试所需的I/O(A/D转换器,增量编码器接口等),并对I/O参数(如A/D电压范围等)进行设置。自动代码生成与下载
这是从离线仿真到实时仿真的关键,当用户用传统的方法进行开发的时候,从控制算法到代码实现需要手工编程,这一步会耗去很长时间,但当用户采用
MATLAB+dSPACE这一整体解决方案时,只需用鼠标选择RTW Build,就可以自动完成目标系统的实时C代码生成、编译、连接和下载。即使是复杂的大型控制系统该过程一般也只需几分钟左右。实验过程的全程自动化管理
用ControlDesk试验工具软件包与实时仿真系统进行交互操作,如调整参数,显示系统的状态,跟踪过程响应曲线等。通过实时测试可以确定系统的一些重要特性。与MATLAB结合进行参数优化
如果需要,利用MLIB/MTRACE从实时闭环系统获得数据,并将该数据回传给用于建模和设计的软件环境(如:MATLAB),由MATLAB根据一定的算法计算下一步控制参数并通过MLIB/MTRACE将参数送给实时系统,实现参数的自动寻优过程。循环
返回第一步。只有通过实时测试,才能得到一些反馈信息如:对象模型是否需要改进、算法特性是否过严或过松、控制系统对不能建模的对象动特性(如:考虑到实时性而将部分对象直接包含于闭环测试中)、干扰及传感器噪音是否有足够的鲁棒性。1.控制系统离线仿真的过程及所用到的工具
1.1控制系统离线仿真的过程
控制系统仿真平台的设计始于系统的数学仿真,即MATLAB环境下的离线仿真,图1表明了系统仿真的大致过程,下面就主要工作进行细述:
首先,是被控对象模型的建立。在这一阶段,可以利用两种方式建立被控对象的数学模型。其一是利用已有的数学及专业知识,结合系统中已有的数据列写被控对象的微分方程,再根据微分方程写出模型的状态空间描述或传递函数表达;其二是利用MATLAB的相关专业工具,如系统辨识工具箱和Simulink Parameter Estimation等完成系统被控对象模型的建立。这种方法常用于被控对象的数学模型难于推导或目前我们已有的知识不足以较准确的建立系统模型的情况。
当被控对象的模型建立起来之后,就需要利用MATLAB,Simulink为被控对象开发合适的控制算法了。对于控制系统仿真来说,通常采用经典的控制算法即可。当然也可以利用现代控制理论开发一些高级算法。开发算法的前提是了解被控对象当前的各项时域频域性能指标,然后根据这些性能指标设计相应的控制器,用以补偿当前被控对象性能的不足。由于工程领域中的被控对象基本上都有一些非线性,为了方便控制器的设计,通常都会利用MATLAB的相关工具先将被控对象线性化,找到其工作点位置,然后再对线性化模型在平衡点位置附近设计控制器。控制器的设计包括结构设计和参数优化两方面。
当被控对象和控制器的模型都建立好之后,就可以进行系统仿真了。仿真是一个不断迭代的过程。首先,是要对建立好的被控对象模型进行仿真,以使模型能够较准确的描述真实的物理系统。当在给定输入信号下,模型的输出与实际系统的输出能够较好的吻合时,被控对象的模型就算搭建好了。当然,如果不吻合,需要返回被控对象建模部分,修改数学模型。然后需要对线性化系统进行仿真,使全系统(控制器加被控对象)的输出满足规定的性能指标,通常这时的性能指标应好于实际要求的性能指标,因为这时的被控对象是线性化的。最后,要将仿真后所定好的控制器算法与实际非线性被控对象结合,做全系统的仿真,观察此时,系统的各项性能指标是否能够达到。如果仿真结果不尽如人意,需要返回算法开发阶段,修改控制器的结构,以得到正确满意的仿真结果。
以上是系统仿真的过程,在工作进行的同时,还可以结合仿真进行文档生成。利用相应工具,以多种格式将仿真的模型和数据生成文档,包括HTML,RTF,XML,SGML以及PDF等等。
1.2控制系统离线仿真中用到的工具
为完成控制系统的仿真,我们在MATLAB产品家族中精选了系统开发中必不可少的产品模块,下面,就集成的控制系统设计环境中所用到的主要模块功能介绍如下:
MATLAB提供贯穿于控制系统设计开发全过程的工具。这些工具分别负责系统设计开发的某个阶段,产品的分布如图2所示:
图2控制系统设计各阶段所用到的MATLAB产品模块数据分析、建模
在系统建模阶段常用的工具箱是System Identification Toolbox和Simulink Parameter Estimation。前者完全由实验数据进行数学模型的估算,而后者是通过实验数据对已有数学模型的参数进行优化,使数学模型尽可能反映实际系统的真实情况。
System Identification Toolbox
该工具箱提供了一个交互式工具环境,基于预先测试得到的输入/输出数据来建立动态系统的线性模型。可以使用时域频域技术对单通道数据或多通道数据进行模型辨识。利用该工具箱可以对那些不容易用数学方式描述的动态系统建立数学模型。
工具箱支持传递函数和状态空间的模型描述方式,可以通过非参数相关或谱分析的方法进行系统辨识,工具箱函数可以对任意通道数的输入输出数据进行连续时间或离散时间系统的辨识,导入测试数据并对其进行预处理,产生模型,并根据测试数据进行模型的验证。
Simulink Parameter Estimation
该工具可以帮助用户校正系统的Simulink模型,使之满足实际物理系统的输出特性。使用这一工具就可以避免通过试凑法或是自行编写优化程序来调整模型参数。用户可以使用时域测试数据和优化手段来估计模型参数和初始条件,并且可以在Simulink中创建自适应查表函数。
用Simulink所建立的动态系统模型通常会包含一些无法直接测量的参数或是无法用模型进行精确表达的部分。根据实际物理系统或是原型机得到的输入-输出测量数据,Simulink Parameter Estimation能够计算出那些未知的参数并通过优化算法来弥补Simulink模型与实际系统的差别。系统模型仿真
系统模型的正确与否将直接影响到系统后续的设计工作,所以系统模型的仿真和优化是基于模型的控制系统设计重要的一环,在软件环境中进行动态系统模型的仿真不仅可以较早的排查系统设计的缺欠和错误,还有助于设计者更好的理解系统模型的行为,从而完成对模型和控制系统算法进行优化。在这一步骤中,MATLAB产品提供的Simulink工具,是建立动态系统模型,进行数学仿真优化的最佳工具。此