控制系统实时仿真解决方案

上传人:206****923 文档编号:90749991 上传时间:2019-06-16 格式:DOCX 页数:9 大小:16.25KB
返回 下载 相关 举报
控制系统实时仿真解决方案_第1页
第1页 / 共9页
控制系统实时仿真解决方案_第2页
第2页 / 共9页
控制系统实时仿真解决方案_第3页
第3页 / 共9页
控制系统实时仿真解决方案_第4页
第4页 / 共9页
控制系统实时仿真解决方案_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《控制系统实时仿真解决方案》由会员分享,可在线阅读,更多相关《控制系统实时仿真解决方案(9页珍藏版)》请在金锄头文库上搜索。

1、dSpace控制系统实时仿真解决方案c利用MATLAB与Dspace开发平台,控制系统仿真平台的开发测试流程步骤如下:被控对象的理论分析及数学描述这是离线仿真的第一步,用线性或非线性方程建立控制系统数学模型,该方程应能用MATLAB的m-file格式或Simulink方框图方式表示,以便于用MATLAB/Simulink进行动态分析。当部分被控对象难于用理论方法描述时,可以结合MATLAB的系统辨识工具箱和Simulink参数估计模型库来辅助进行系统建模。控制系统建模当被控对象的模型搭建完毕之后,可以用MATLAB的控制系统工具箱等工具分析被控对象的响应特性,然后根据这些响应特性为其设计控制器

2、。离线仿真与优化模型建立之后,可以通过离线仿真查看控制系统的时域频域性能指标,通过对离线仿真结果的分析来优化控制系统仿真平台的算法或被控对象的模型,使系统的输出特性尽可能的好。当这一步完成之后,就要将离线仿真过渡到实时仿真了。用真实的硬件接口关系代替Simulink中的逻辑联接关系由于实时仿真中需要与硬件通讯,所以需要在Simulink方框图中,从RTI库用拖放指令指定实时测试所需的I/O(A/D转换器,增量编码器接口等),并对I/O参数(如A/D电压范围等)进行设置。自动代码生成与下载这是从离线仿真到实时仿真的关键,当用户用传统的方法进行开发的时候,从控制算法到代码实现需要手工编程,这一步会

3、耗去很长时间,但当用户采用MATLAB+dSPACE这一整体解决方案时,只需用鼠标选择RTW Build,就可以自动完成目标系统的实时C代码生成、编译、连接和下载。即使是复杂的大型控制系统该过程一般也只需几分钟左右。实验过程的全程自动化管理用ControlDesk试验工具软件包与实时仿真系统进行交互操作,如调整参数,显示系统的状态,跟踪过程响应曲线等。通过实时测试可以确定系统的一些重要特性。与MATLAB结合进行参数优化如果需要,利用MLIB/MTRACE从实时闭环系统获得数据,并将该数据回传给用于建模和设计的软件环境(如:MATLAB),由MATLAB根据一定的算法计算下一步控制参数并通过M

4、LIB/MTRACE将参数送给实时系统,实现参数的自动寻优过程。循环返回第一步。只有通过实时测试,才能得到一些反馈信息如:对象模型是否需要改进、算法特性是否过严或过松、控制系统对不能建模的对象动特性(如:考虑到实时性而将部分对象直接包含于闭环测试中)、干扰及传感器噪音是否有足够的鲁棒性。1.控制系统离线仿真的过程及所用到的工具1.1控制系统离线仿真的过程控制系统仿真平台的设计始于系统的数学仿真,即MATLAB环境下的离线仿真,图1表明了系统仿真的大致过程,下面就主要工作进行细述:首先,是被控对象模型的建立。在这一阶段,可以利用两种方式建立被控对象的数学模型。其一是利用已有的数学及专业知识,结合

5、系统中已有的数据列写被控对象的微分方程,再根据微分方程写出模型的状态空间描述或传递函数表达;其二是利用MATLAB的相关专业工具,如系统辨识工具箱和Simulink Parameter Estimation等完成系统被控对象模型的建立。这种方法常用于被控对象的数学模型难于推导或目前我们已有的知识不足以较准确的建立系统模型的情况。当被控对象的模型建立起来之后,就需要利用MATLAB,Simulink为被控对象开发合适的控制算法了。对于控制系统仿真来说,通常采用经典的控制算法即可。当然也可以利用现代控制理论开发一些高级算法。开发算法的前提是了解被控对象当前的各项时域频域性能指标,然后根据这些性能指

6、标设计相应的控制器,用以补偿当前被控对象性能的不足。由于工程领域中的被控对象基本上都有一些非线性,为了方便控制器的设计,通常都会利用MATLAB的相关工具先将被控对象线性化,找到其工作点位置,然后再对线性化模型在平衡点位置附近设计控制器。控制器的设计包括结构设计和参数优化两方面。当被控对象和控制器的模型都建立好之后,就可以进行系统仿真了。仿真是一个不断迭代的过程。首先,是要对建立好的被控对象模型进行仿真,以使模型能够较准确的描述真实的物理系统。当在给定输入信号下,模型的输出与实际系统的输出能够较好的吻合时,被控对象的模型就算搭建好了。当然,如果不吻合,需要返回被控对象建模部分,修改数学模型。然

7、后需要对线性化系统进行仿真,使全系统(控制器加被控对象)的输出满足规定的性能指标,通常这时的性能指标应好于实际要求的性能指标,因为这时的被控对象是线性化的。最后,要将仿真后所定好的控制器算法与实际非线性被控对象结合,做全系统的仿真,观察此时,系统的各项性能指标是否能够达到。如果仿真结果不尽如人意,需要返回算法开发阶段,修改控制器的结构,以得到正确满意的仿真结果。以上是系统仿真的过程,在工作进行的同时,还可以结合仿真进行文档生成。利用相应工具,以多种格式将仿真的模型和数据生成文档,包括HTML,RTF,XML,SGML以及PDF等等。1.2控制系统离线仿真中用到的工具为完成控制系统的仿真,我们在

8、MATLAB产品家族中精选了系统开发中必不可少的产品模块,下面,就集成的控制系统设计环境中所用到的主要模块功能介绍如下:MATLAB提供贯穿于控制系统设计开发全过程的工具。这些工具分别负责系统设计开发的某个阶段,产品的分布如图2所示:图2控制系统设计各阶段所用到的MATLAB产品模块数据分析、建模在系统建模阶段常用的工具箱是System Identification Toolbox和Simulink Parameter Estimation。前者完全由实验数据进行数学模型的估算,而后者是通过实验数据对已有数学模型的参数进行优化,使数学模型尽可能反映实际系统的真实情况。System Identi

9、fication Toolbox该工具箱提供了一个交互式工具环境,基于预先测试得到的输入/输出数据来建立动态系统的线性模型。可以使用时域频域技术对单通道数据或多通道数据进行模型辨识。利用该工具箱可以对那些不容易用数学方式描述的动态系统建立数学模型。工具箱支持传递函数和状态空间的模型描述方式,可以通过非参数相关或谱分析的方法进行系统辨识,工具箱函数可以对任意通道数的输入输出数据进行连续时间或离散时间系统的辨识,导入测试数据并对其进行预处理,产生模型,并根据测试数据进行模型的验证。Simulink Parameter Estimation该工具可以帮助用户校正系统的Simulink模型,使之满足实

10、际物理系统的输出特性。使用这一工具就可以避免通过试凑法或是自行编写优化程序来调整模型参数。用户可以使用时域测试数据和优化手段来估计模型参数和初始条件,并且可以在Simulink中创建自适应查表函数。用Simulink所建立的动态系统模型通常会包含一些无法直接测量的参数或是无法用模型进行精确表达的部分。根据实际物理系统或是原型机得到的输入-输出测量数据,Simulink Parameter Estimation能够计算出那些未知的参数并通过优化算法来弥补Simulink模型与实际系统的差别。系统模型仿真系统模型的正确与否将直接影响到系统后续的设计工作,所以系统模型的仿真和优化是基于模型的控制系统

11、设计重要的一环,在软件环境中进行动态系统模型的仿真不仅可以较早的排查系统设计的缺欠和错误,还有助于设计者更好的理解系统模型的行为,从而完成对模型和控制系统算法进行优化。在这一步骤中,MATLAB产品提供的Simulink工具,是建立动态系统模型,进行数学仿真优化的最佳工具。此外,MATLAB的产品中还包括了针对航空航天和国防领域的Aerospace功能模块集合等等。Simulink使用面向方框图的可视化动态系统仿真工具Simulink,可以方便地建立控制器和被控对象模型,通过仿真不断地优化和改善设计。无论是离散的,连续的,条件执行的,多采样的或混合系统,Simulink都是描述动态系统模型的最

12、佳工具。通过Simulink提供的丰富的功能块,可以迅速地创建动态系统模型,而不需要书写一行代码。Simulink提供了完整的功能模块库,用于建立单入单出、多入多出、线性/非线性、离散/连续/混杂及多速率系统;支持矩阵数据类型和线性代数运算;支持M语言和C语言方式的功能模块扩展;支持层次化建模方式,可应用子系统进行结构化建模,并可以通过模型浏览器察看各个层次;可以建立用户自己的功能模块库并加入到Simulink库浏览器中由于Simulink可以直接利用MATLAB的数学、图形和编程功能,用户可以直接在Simulink下完成诸如数据分析、过程自动化、优化参数等工作。工具箱提供的高级的设计和分析能

13、力可以通过Simulink的封装手段在仿真过程中执行。Stateflow这是建模与仿真真实世界中常见的事件驱动行为的图形化环境,利用有限状态机概念、状态流程图原理,对事件驱动系统建立起简洁而清晰的描述,内嵌于Simulink中。通过Simulink和Stateflow,可以在在单一的集成环境下对包含顶层控制逻辑,物理对象和控制器的整个系统进行建模与仿真。Aerospace Blocksets Simulink的模型库可以通过专用模块集进一步扩展,比如航空模型库(Aerospace Blocksets)。航空模型库是针对飞行控制系统而设计的专用模型库,具体包括数学运算和坐标变换(Utilitie

14、s)、执行机构模型(Actuators,二阶线性模型和二阶非线性模型)、气动力和气动力矩计算(Aerodynamics)、动画显示(Animation,三自由度动画和六自由度动画)、环境模型(Environment,具体包括大气模型、重力场模型和风扰动模型)、运动方程(Equations of Motion,三自由度和六自由度)、飞行参数计算(Flight Parameters,迎角、侧滑角、空速等)、导航控制模块(GNC)、质量特性计算(Mass Properties,质心、惯性张量等计算)、推进计算(Propulsion,涡轮发动机系统)。这些模型库提供了飞行控制系统中的通用模型,在建模仿

15、真中可以直接引用,也可以根据具体的设计需要,对模型库进行添加和完善,供其它的系统设计项目所引用中,避免重复性工作。控制系统设计分析与优化控制系统的设计分析是基于模型的系统设计中重要的一步,在这一阶段,设计人员需要对被控对象数学模型的各种特性进行分析,然后设计出合适的控制器。在这个环节中,不仅可以利用MATLAB高级编程语言的强大功能,在短时间内开发出控制算法并结合MATLAB强大的绘图能力方便地对数据,方程和结果进行显示,如根轨迹,伯德图,响应和谱等;还可以通过与控制相关的工具箱,完成许多前沿的控制设计,如LQG、跟轨迹、和模糊逻辑设计方法。主要的工具箱有:Control System Too

16、lbox实现了大多数流行的经典的和现代的线性控制系统设计分析方法,用于分析、设计控制系统。利用MATLAB高级编程语言,通过工具箱函数,只需花很短的时间就可以开发出控制算法,而MATLAB强大的绘图能力能够方便地对数据、方程和结果进行显示,如根轨迹、伯德图等;另一方面,控制系统工具箱还提供了可视化的SISOtool和LTI viewer,这两个工具的有机结合可以方便用户进行交互式的控制器设计工作。对于根轨迹和频率设计方法应用MATLAB提供的对于单输入单输出系统的图形界面设计工具SISOtool。利用这个工具可以使用户交互的基于根轨迹理论和(或者)频率设计方法来进行控制器设计,随着控制器结构及参数的调整变化,用户可以同时看到各种输出响应曲线的变化情况以及各类指标的变化情况,比如超调量、调节时间以及稳态误差等时域指标,也可以看到幅值裕度、相角裕度以及各个频率点等频率域指标。除了SISOtool,控制

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号