在被控对象模型上使用蒙特卡洛方法改进系统模型

时间:2009-03-31   来源:   网友评论:0   人气: 256 作者: 恒润科技

航空航天系统模型通常由大量的子系统组成,每一个子系统可能由不同的开发团队完成,而一个共享的建模环境和通用的建模标准能帮助开发团队轻松、快捷的交互,超越了组织、语言和文化的障碍。在航空航天应用中,蒙特卡洛技术可用于保证高可靠性和鲁棒性设计。但是进行蒙特卡洛仿真非常耗时,如果能够并行运行仿真可大大的缩短仿真的时间。在这篇文章中将主要讨论在MATLAB/Simulink中建模、优化和测试对象模型以搭建更好的系统模型的技术,同时也介绍通过使用高性能计算集群提高蒙特卡洛分析速度的新技术。

蒙特卡洛技术

工程师在同一个建模环境中建立对象模型和嵌入式控制器后,可以使用多个对象的参数测试该控制器,也包括理想值仿真。建模时可变的物理参数提供了在实物中将要发生动作的最好描述。蒙特卡洛分析就是对实际物理参数可变性仿真的一种标准的方法。在航空航天应用中,蒙特卡洛技术被用来保证高质量和鲁棒设计,同时它有助于对非常复杂而又很难得到分析结果的系统进行建模,也能对不确定性进行仿真。但是蒙特卡洛仿真一个最大的缺点是它需要对单个模型进行成千上万次的运行,而且仿真的系统越复杂或系统中包含的不确定性因素越多,那么执行仿真的次数也越多,而通常数百次或数千次运行一个复杂模型需要花费几天的时间。所以在开发过程中仿真时间往往成为致命的瓶颈。而并行地运行多个且独立的仿真循环则能显著地节省时间。新的高性能的计算工具和多处理器计算机强大的处理能力在很大程度上排除了时间和资源的限制,非常适合对包含大量参数的复杂动态系统的仿真。

分布式计算

一些计算问题被称为是并行的,因为它们可以很容易地被分在数个节点运行,而没有交互、共享数据或是不同节点之间的同步点。每个节点上的运行时间相比启动和停止应用程序的时间占绝对优势。蒙特卡洛仿真就是属于这一类,因此非常适合在计算集群上运行。仿真软件和HPC集群之间的集成需要最大化计算能力的开发。

有了SystemTest和MATLAB分布式计算引擎(MATLAB Distributed Computing Server)这样的COTS工具,用户无需编写复杂的脚本文件就可以轻松实现在计算集群上运行仿真。通过这些工具可以在用户界面(GUI)中设置进行蒙特卡洛测试的模型中需要变化的一系列参数,然后定义相应的任务,使其运行在多个处理器上。从GUI启动任务避免了编写脚本和集群交互、创建任务、从单独的仿真运行编译结果等。这也使得在计算集群或多核、多处理器计算机上进行分布式Simulink仿真而无需编写任何代码成为可能。COTS仿真工具和HPC调度器的集成是提高蒙特卡洛仿真速度的一种手段。

案例研究

A. 模型

我们要分析的系统是控制副翼角度的液压执行器。建模的目的是分析伺服阀参数改变的影响,模拟电路控制开环伺服阀的效果以及副翼上负载变化的影响。我们将通过上升时间和调节时间研究这些参数对于系统稳定性和性能的影响。

图1 闭环副翼系统的模型。模块中所关心的参数已被标注:1-6是液压伺服阀的参数;
7-10是控制器模拟电路的实现;11是空气动力学负载。

使用COTS物理建模工具,我们在Simulink中建立被控对象和控制器的模型。选择COTS物理建模工具,可以帮助我们开发精确的对象模型,通过仿真研究被控对象与现实世界尽可能接近的动作行为。图1显示的是完整的系统模型,包括伺服阀、双动液压缸、副翼和控制器的模拟电路实现。图2 显示的是通过SimElectronics建模的控制器详细的模拟电路。

图2 控制器模拟电路的实现的模型,感兴趣的参数已被标注

在闭环模型中,我们可以改变控制器和对象的参数,通过仿真来研究系统的性能。我们已用蒙特卡洛技术选好需要改变的对象和控制器的参数,在建模时这些参数已用理想值设置,但是我们知道它们的实际测量值是不断变化的。同时,我们加上了公差数据,反映它们在实际物理组件中的变化情况。并通过这些数据来研究它们对系统性能的影响。


 

文章评论