在被控对象模型上使用Mentor_第1页
在被控对象模型上使用Mentor_第2页
在被控对象模型上使用Mentor_第3页
在被控对象模型上使用Mentor_第4页
在被控对象模型上使用Mentor_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

在被控对象模型上使用MonteCarlo方法改进系统模型在军工领域,基于模型的设计已经成为一种规范:系统模型成为研发过程中的核心,用于针对物理硬件的复杂算法设计。除了在控制算法建模上入手外,对被控对象建模可达到更鲁棒性的设计。使用商业定制软件(CTOS)可以使得控制器和硬件在统一的环境中建模和仿真。与嵌入式控制器一样的环境中建立被控对象模型使得工程师能够使用多个被控对象的参数对控制器做测试,包括可以仿真正常和理想值的结果。对多个物理参数建模提供了更好地表述在实际硬件上将会发生什么。MonteCarlo分析是一种仿真在真实物理参数发生多样性的标准方法。在航空航天应用中,MonteCarlo技术可用于保证高可靠性和鲁棒性设计。即使使用商用定制软件(RTOS)的统一环境,对设计进行全面的测试或对设计进行优化也将会对仿真进行上千次的仿真跌代,需要花费数天的时间来完成,这都取决于系统的复杂程度和模型的逼真度。每一次迭代都可能花费几小时的时间。在开发阶段,仿真时间可能会成为瓶颈。如果能够并行地运行多个独立场景下的仿真可大大的缩短仿真的时间。在Matlab/Simulink环境中对被控对象模型进行建模、仿真、优化可使系统更能满足实际的需要。I简介基于模型的设计已经成为航空航天领域中标准的设计方式之一。槌3对于现代日益复杂的系统,由一个工程师完成的设计很少就是最终的产品。一个复杂的系统通常需要很多次的迭代,不断地改进,这需要开发团队能很快地进行测试、仿真并评估测试结果。对不准确的或不存在的对象模型所设计的控制算法是不可能正常发挥作用的,同样,一个不包含控制器的系统也很难被测试。使用COTS软件,不仅很好地支持团队合作开发的流程,而且允许控制器和物理对象同时参与建模,并在同一个环境中仿真,这样就可以在开发周期的早期对整个的系统进行测试,及早发现设计中的问题或缺陷,4,5,6,7从而缩短了开发周期、降低了风险、节约了成本,同时提高了产品的品质。航空航天系统模型通常由大量的子系统组成,每一个子系统可能由不同的开发团队完成,而开发团队可能来自全球各地。不同的开发团队必须互相合作,优化设计,或是根据特定的需求使系统运行,这就非常有必要进行系统模型的分析,包括所有的子系统。如果没有一个统一的、标准的建模环境,就需要联合仿真的技术或是进行手动计算,这是非常困难和耗时的。而一个共享的建模环境和通用的建模标准能帮助开发团队轻松、快捷的交互,超越了组织、语言和文化的障碍。工程师在同一个建模环境中建立对象模型和嵌入式控制器后,可以使用多个对象的参数测试该控制器,也包括理想值仿真。建模时可变的物理参数提供了在实物中将要发生动作的最好描述。蒙特卡洛分析就是对实际物理参数可变性仿真的一种标准的方法。在航空航天应用中,蒙特卡洛技术被用来保证高质量和鲁棒设计。使用共享的COTS环境完全测试或优化一个设计需要花费数天的时间经过成千上万次的仿真循环才能完成。每次循环可能要花费几个小时去运行,这取决于系统的复杂度和模型的逼真度。所以在开发过程中仿真时间往往成为致命的瓶颈。而并行地运行多个且独立的仿真循环则能显著地节省时间。新的高性能的计算工具和多处理器计算机强大的处理能力在很大程度上排除了时间和资源的限制,非常适合对包含大量参数的复杂动态系统的仿真。在这篇论文中,主要讨论在Mathworks公司产品MATLAB/Simulink中建模、优化和测试对象模型以搭建更好的系统模型的技术。同时也介绍通过使用高性能计算集群提高蒙特卡洛分析速度的新技术。II蒙特卡洛方法从财政金融建模到理论物理学问题的研究都可以使用蒙特卡洛方法,而它最为普遍的使用是将统计方法应用在工程和科研中。当有许多特定的应用情况以它们最简单的形式存在,蒙特卡洛方法将通过随机数和概率分布去分析问题。8在这篇文章中,将讨论蒙特卡洛应用在系统仿真的技术。使用蒙特卡洛方法仿真的最大好处是它有助于对非常复杂而又很难得到分析结果的系统进行建模,同时它也能对不确定性进行仿真。即使设计中没有不确定的参数,系统条件或环境也往往包含许多不确定性因素,这也是需要考虑的,比如物理系统的性能会随着时间慢慢被损耗。当所设计的系统工作在较长时间时,需要仿真它在整个生命周期中各种不确定的情况。使用蒙特卡洛方法能够预测一定时间后故障的可能性。使用蒙特卡洛测试的第三个好处是能够提高模型的可靠性。比如进行完整算法设计和闭环测试,不仅使用理想参数值,同时也使用在设计中可能遇到的各种情况的整个范围上的随机值。以以前发布的直流电机为例,910它的每个物理组件都有一定的公差。如果仅仅使用每个尺寸的理想值可能无法展现出电机的完整性能。可以测试每组尺寸的最大最小值,但是这也不足于建立准确的模型,除非这些尺寸都服从均匀分布。当许多物理参数服从正态或高斯分布,使用蒙特卡洛技术基于此种分布生成随机数,然后进行仿真将会给出电机工作更为实际的预测。蒙特卡洛仿真的一个缺点是它需要对单个模型进行成千上万次的运行,而且仿真的系统越复杂或系统中包含的不确定性因素越多,那么执行仿真的次数也越多,而通常数百次或数千次运行一个复杂模型需要花费几天的时间。在这篇论文中,集中讨论对控制系统设计进行蒙特卡洛仿真的第三种好处,并考虑节省完成仿真所需的时间。首先介绍使用蒙特卡洛方法能够保证建模更准确,更接近实物,然后描述蒙特卡洛测试如何使用相同的对象模型测试算法模型的鲁棒性。m分布式计算在高性能计算(HPC)环境中运行仿真一度十分昂贵,一般只有政府机关、大型的研究实验室和有能力购买超级计算机的单位才拥有。今天,绝大多数的超级计算机已经被COTS计算机集群所取代,它提供了足够的、高性能的分布式计算环境。随着多核和多处理器以及计算集群的发展,许多单位已经拥有强大的CPU处理能力。虽然已经具备处理能力,在集群或多处理器上运行仿真不是那么容易,特别是在利用COTS仿真软件工具。工程师将要遇到的困难是在一个集群上建立和维护COTS仿真软件的时间会消耗掉额外的计算能力所节省的时间。11事实上,建立分布式应用的困难仍然是发掘一台计算机处理能力的一个障碍,更不用说上百的计算集群。然而,发挥计算资源的优势是提高蒙特卡洛仿真次数的关键。一些计算问题被称为是并行的,因为它们可以很容易地被分在数个节点运行,而没有交互、共享数据或是不同节点之间的同步点。每个节点上的运行时间相比启动和停止应用程序的时间占绝对优势。蒙特卡洛仿真就是属于这一类,因此非常适合在计算集群上运行。仿真软件和HPC集群之间的集成需要最大化计算能力的开发。在计算集群上运行仿真而无需安装在每个节点上的COTS软件的一种可能是将模型编译为可执行程序。12例如,独立的可执行程序可以在DOS命令行运行(对Windows平台),因此需要脚本将数据传给可执行程序或从可执行程序输出数据。而这项技术对于加速仿真是非常有用的,可以进行蒙特卡洛分析,这需要用户编写脚本使参数变化及收集结果,并将其从多个可执行程序转换为有用的格式。如果使用远程集群,还需编写其它的脚本,以便与调度器交互和创建任务。这个过程通常是复杂而冗长的,需要集群管理员的帮助,以自定制特定的仿真设置。而有了SystemTesti3和MATLAB分布式计算引擎(MATLABDistributedComputingServer)i4这样的COTS工具,用户无需编写上述复杂的脚本文件就可以轻松实现在计算集群上运行仿真。通过这些工具可以在用户界面(GUI)中设置进行蒙特卡洛测试的模型中需要变化的一系列参数,然后定义相应的任务,使其运行在多个处理器上。从GUI启动任务避免了编写脚本和集群交互、创建任务、从单独的仿真运行编译结果等。这也使得在计算集群或多核、多处理器计算机上进行分布式Simulink仿真而无需编写任何代码成为可能。COTS仿真工具和HPC调度器的集成是提高蒙特卡洛仿真速度的另一种手段。W案例研究模型我们要分析的系统是控制副翼角度的液压执行器。建模的目的是分析伺服阀参数改变的影响,模拟电路控制开环伺服阀的效果以及副翼上负载变化的影响。我们将通过上升时间和调节时间研究这些参数对于系统稳定性和性能的影响。使用COTS物理建模工具,15,16,17,18我们在Simulink中建立被控对象和控制器的模型。选择COTS物理建模工具,可以帮助我们开发精确的对象模型,通过仿真研究被控对象与现实世界尽可能接近的动作行为。图1显示的是完整的系统模型,包括伺服阀、双动液压缸、副翼和控制器的模拟电路实现。图2显示的是通过SimElectronics建模的控制器详细的模拟电路。

图1闭环副翼系统的模型。模块中所关心的参数已被标注:1-6是液压伺服阀的参数;7-10是控制器模拟电路的实现;11是空气动力学负载。图2控制器模拟电路的实现的模型,感兴趣的参数已被标注。在闭环模型中,我们可以改变控制器和对象的参数,通过仿真来研究系统的性能。我们已用蒙特卡洛技术选好需要改变的对象和控制器的参数,在建模时这些参数已用理想值设置,但是我们知道它们的实际测量值是不断变化的。同时,我们加上了公差数据,反映它们在实际物理组件中的变化情况。并通过这些数据来研究它们对系统性能的影响。蒙特卡洛测试为了检验这些物理参数已知的变化,我们在SystemTest中建立蒙特卡洛测试,这可以通过概率分布测试矢量和MATLAB代码来实现。我们的目的是研究系统的稳定性以及这些参数的变化对系统稳定性的影响。利用正态、对数正态和均匀概率分布产生其中10个参数的1000组随机值。对于最后一个参数,为了测试特定的值,通过MATLAB代码产生其可能值整个范围上的一些值。界限测试单元(LimitCheckelement)被用来设置仿真中上升时间和调节时间的上下界。图3显示的是测试的流程。首先运行Simulink模型,然后用MATLAB计算上升和调节时间,接着利用界限测试单元决策测试是否通过,图中测试矢量的列表表示的是在测试过程中Simulink模型变化的参数。使用SystemTest运行蒙特卡洛测试的优势是可以自动改变所设置的参数,同时也可以独立于模型建立测试并进行并行仿真。图3在SystemTest中蒙特卡洛测试的设置结果第一次测试运行了七个小时,这是非常耗时的。所以我们将它在计算集群上运行。利用SystemTest可以自动地分布式运行测试,而无需改变任何的测试设

置。测试运行在8核的计算集群上,每一个包含4个workers,使用的是64位Linux系统。结果只用了一个多小时。详细的结果如表1所示。表1每次测试执行时间和使用计算集群所减少的时间1个核(Windows)8个核(Linux)所减少的时间测试17:38:411:07:546.8x测试21:04:470:11:385.6x注意速度的提高并不与workers的数量成线性比例,之前也报道过,1。,19这还依赖于将文件从主机拷贝到集群的每个计算机上的时间、在workers和任务调度器之间传递输入输出数据的时间以及网络传输的因素。通常,整个仿真时间要远远大于上述的时间。由于SystemTest与并行计算工具箱和MATLAB分布式计算引擎紧密集成的,测试报告和结果的MAT文件和在单机上花费7个小时所完成的结果是一致的。第一次测试说明我们的设计对一些参数非常敏感。图4所示的是液压缸所受力影响的曲线。R7,即图2中标注的参数8,导致液压缸所受力很大的不稳定性,使得许多测试用例都失败了。这也延长了测试,因为仿真时的颤动会让仿真花费比正常值更长的时间。图4左图是使用正常参数值时的液压缸力;右图是第一次蒙特卡洛测试时的液压缸力,注意颤动的频率。对于第二次测试,我们约束了R7的公差值,这消除了不稳定性,但是仍然没有达到上升和调节时间的要求。第二次测试仅用了一个小时,但使用分布式计算只需11分钟,计算集群仍同第一次测试。具体时间如表1所示。对于这种情况,需要进一步分析我们的设计,这需要改变模型中更多的参数、检查控制器的设计、与实验数据比较所建立的对象模型以确保模型的准确性等。设计中也使用到了其它的控制设计工具,比如SimulinkResponseOptimization优化设计。对于这篇论文的目的,测试是完成了。我们已在一组真实的参数上运行了蒙特卡洛测试,发现设计的至少一个组件必须要有约束的公差。V.结论这篇文章主要讨论了三个方面:精确对象模型的建立、蒙特卡洛测试和分布式测试。将以上三方面结合起来能在很大程度上提高设计的品质,同时能节省时间。基于模型的设计意味着要建模。单独设计和仿真控制器,会丢失对象所反映的关键信息。使用Simulink,工程师能建立整个系统的模型,包括高精度的物理组件的模型。这也使得工程师能在开发早期对设计进行更好地测试,尽早发现错误和缺陷,提高最终产品的质量。蒙特卡洛技术是检验设计、测试系统鲁棒性、保证整个设计完备的一种方式。利用概率分布随机产生参数值来更好地仿真真实世界中物理组件的变化,包括被控对象及控制器等。这篇论文中的测试表示了一个组件的变化对设计性能的影响。正确地界定物理组件的变化是一中解决方法,另外,在设计控制器时要充分考虑被控对象的变化,通过蒙特卡洛能兼顾以上两种变化因素。COTS测试工具使蒙特卡洛仿真更容易管理,也能更快地仿真,特别是当结合HPC集群强大的处理能力时。论文同时也展示了分布式测试是如何显著减少完全测试设计所花费的时间。文中列举了一个相对简单的模型和测试案例,两次运行了1000组测试。第一次测试花费了7个小时,而用集群计算机进行分布式仿真仅花费了1个小时就得到了一致的结果。第二次测试分布式计算仅用了11分钟。这是强大的工具节省了整个的测试时间。总之,基于模型设计的核心特征是仿真和连续测试,它能提高设计质量,并缩短开发周期。将蒙特卡洛测试和分布式环境结合起来使得这个过程更快更容易实现。而在同一个环境中对整个系统建模并仿真的能力是实现以上功能的关键所在。参考文献Barnard,P.,“GraphicalTechniquesforAircraftDynamicModelDevelopment,”AIAAModelingandSimulationTechnologiesConferenceandExhibit[CD-ROM],Providence,RI,2004.Aberg,R.,andGage,S.,“StrategyforSuccessfulEnterprise-WideModelingandSimulationwithCOTSSoftware,”AIAAModelingandSimulationTechnologiesConferenceandExhibit[CD-ROM],Providence,RI,2004,ID:2004-4929.Krasner,J.,“Model-BasedDesignandBeyond:SolutionsforToday’sEmbeddedSystemsRequirements,"EmbeddedMarketForecasters,AmericanTechnologyInternational,Framingham,MA,January2004.Wood,G.D.,andKennedy,D.C.,“SimulatingMechanicalSystemsinSimulinkandSimMechanics,"TechnicalReport91124v00,TheMathWorks,Inc.,Natick,MA,2003.Tung,J.,“Usingmodel-baseddesigntotestautoembeddedsoftware,"EETimes[onlinejournal],09/24/20077:54AMEDT,URL:/showArticle.jhtml?articleID=202100792[cited24September2007].Denery,T.,Ghidella,J.R.,Mosterman,P.J.,andShenoy,R.,“CreatingFlightSimulatorLandingGearModelsUsingMultidomainModelingTools,”AIAAModelingandSimulationTechnologiesConferenceandExhibit[CDROM],Keystone,CO,2006,ID:2006-6821.Popinchalk,S.,Glass,J.,Shenoy,R.,andAberg,R,“WorkinginTeams:ModelingandControlDesignwithinaSingleSoftwareEnvironment,"AIAAModelingandSimulationTechnologiesConferenceandExhibit[CD-ROM],HiltonHead,SC,2007.8Drakos,N.,IntroductiontoMonteCarloMethods,ComputationalScienceEducationProject.URL:http://www.ipp.mpg.de/de/for/bereiche/stellarator/Comp_sci/CompScience/csep//mc/mc.html[cited4June2008].Kozola,S.andDoherty,D.,"UsingStatisticstoAnalyzeUncertaintyinSystemModels,"MATLABDigest[onlinejournal],May2007,URL:/company/newsletters/digest/2007/may/uncertainity.html[cited21February2008].Wakefield,A.,“UsingMultipleProcessorsforMonteCarloAnalysisofSystemModels,"

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论