基于Linux操作系统的仿真应用.pdf

上传人:asd****56 文档编号:70341623 上传时间:2023-01-19 格式:PDF 页数:4 大小:2.39MB
返回 下载 相关 举报
基于Linux操作系统的仿真应用.pdf_第1页
第1页 / 共4页
基于Linux操作系统的仿真应用.pdf_第2页
第2页 / 共4页
点击查看更多>>
资源描述

《基于Linux操作系统的仿真应用.pdf》由会员分享,可在线阅读,更多相关《基于Linux操作系统的仿真应用.pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、?年?月第?卷 增刊控制工程?,禹文章编号?一?岛一?一?基于?操作系统的仿真应用黄亮,装海龙?华南理工大学自动化学院,广东广州?摘要?在有别 于?操作系统下广泛使用 的?仿真软件和昂贵的 大型专业仿真软件的基拙上,给出 了一个基于?操作系统的模型直升机仿真程序。结合?操作系统的特?点,探索在?下 面编写仿真应用程序的 一些位得注意的问题,包括图形化界面编程和进程 问通信等一些 热门技米。希望对?爱好者和程序员有所启发。关键词?仿真?直升机?图形化界面?进程间通 信中图分类号?文献标识码?引言目前在科学计算领域最流行的桌面仿真软件是?,它具有强大的数值计算能力,包含各种工具箱,如?是?附带的基

2、于模型化图形组态的动态仿真环境。本文给出一个基于?操作系统的模型直升机仿真程序。?是芬兰的?在?年独立发展起来的操作系统,是?在微机上的完整实现。它从一开始就吸引 了世界各地的?行家为其编写 了大量的驱动程序和应用软件,短短几年间已经发展成为一个相当成熟、稳定的操作系统。?严格遵守?公共许可规则,完全开放源代码,任何人都有权进行免费使用和修改。?对微机硬件要求不高,充分利用了?的任务 切换能力,使?的效能发挥得淋漓尽致,是真正的多任务多用户操 作系统。但是由于?的普及不如其他操作系统,开发商投入不够,因此基于?的应用软件还很少。?模型直升机仿真程序?构建仿真模型控制系统的数学模型在控制系统的研

3、究中有着相当重要的地位,要对系统进行仿真处理,首先应当知道系统的数学模型,然后才可以对系统进行模拟。模型直升机并没有较为统一的数学模型,选取文献?的数学模型进行建模。数学模型 仍需要转换成仿真模型,仿真模型是计算机可以实 施的模型,它决定了程序的框架和采用的工具等。模型直升机的仿 真模型 采 用 了模块化的 思想,如图?所示。图中,?模块是一个姿态控制器,它结合参考姿态?输入值?和实际姿态?输出值?计算出控制量。侍服机构接收到控制信号,并产生机械动作,直接作用在旋翼模块上。旋翼是直升机主要动力来源,结合外界 的干扰力矩,姿态动 力学模块可以计算出作用在直升机机体上的所有力 和力矩,并根据刚体力

4、学计算出直升机的实时的姿态角和 加速度。姿态运动学模块根据直升机的姿态角和加速度计算出实时位移和速度,最后 由测量元件模块将状态量返回到姿态控制器。?伺服服服旋翼动动动桑卜卜姿态态机机构构构态方程程程程运动学学姿姿态测量元件件图?模型直升机仿真模型特别指出 的是,上面所说的模块并不是处于同等重要的地位的。旋翼动态方程和姿态角计算模块是核心算法,它们跟模型直升机的动态特性息息相关,因此建出来的模型因人而异,因机而异。运动学方程比较成熟,只要把直升机看成质点即可。至于测量元件和侍服机构,由于数学模型不易建立,可以把模型直接线性化,或者用实物代替,即采取半实物仿真的方法。?编写模块仿真模型建立之后,

5、需要用程收稿日期?一?一?作者简介?黄亮?一?,男,广东大浦人,硕士研究生,主要研究方向为计算机视觉与控制等。?控制工程第?卷序代码去实现 它。考虑到?自带的?。编译器,本文采用了?。十?来编写程序。由于仿真模型比较复杂,采取了模块化的建模思路,因此决定了程序的框架也应该采取模块化的编程方法,即现在流行的“服务器一客户机”多进程模型。首先把模块分成两类?一类是服务器模块?核心模块?,它包括直升机的旋翼方程、动力学方程和运动学方程,负责整个直升机模型的仿真计算?另一类是客户机模块?外围模块?,负责提供核心模块以输入控制量,并且显示直升机的实时状态信息。程序流程图如图?所示。监监听操纵杆杆杆仿真计

6、算算算监听?读读取数据据处处理数据据监监监监监监监监监听端口口读读取数据据据据据据据据据据显显显显显显显显显显示数据据处处理数据据发发送信号?核心模块其算法主要集中在“仿真计算”部分,通过数学模型的数值运算,实时更新直升机的状态数据。直升机状态变量包括?位移坐标?,?速度?,升不?姿态角?,?角速度?,?,?主旋翼纵向、横向挥舞角?等。直升机的动力学方程和运动学方程参照 文献【?,并且假设参数已经辨识。微分方程的数值解法可以采用?阶龙格一库塔法?,步 长取?一?。控制量则从输入模块得到。计算得到的状态变量经打包以数据包的形式发送至输出模块。?外围输入模块输入模块包括了用户的输入量和经过?算法得

7、到的实际控制量。用 户的输入量由外部操纵杆读入,本文选择了微软的?系列操纵杆,它不但能完成?个自由度的控制量,还有油门阀,最重要的是?默认支持它,避免 了开发驱动程序的工作。在?中,读入硬件信号是通过?文件描述符?来实现的。本文把这个?形容为通向操纵杆设备?往往是“?刃,?的端口,从这个端口可以读入信号,根据信号的类型?轴事件还是按钮事 件?、数字?哪个轴或者哪个按钮?以及数值,可以惟一确定该信号。然后综合操纵杆信号和直升机的当时状态进行?控制算法,主要在“处理数据”模块中进行,最后把结果?控制量?返 回至核心模块。?外围输出模块输出模块主要是负责把接收到的数据包进行拆解,把 直升机的各个状态

8、量以图形方式显示出来,因此算法 主要集中在数据分析和 图形界面编程上面。从?个模块分析,可以看到,整个程序的大部分算法集中在输入模块的“处理数据林部分、核心模块的“仿真计算”部分和输出模块的“显示数据”部分。仿真计算决定了整个模型的准确性,是最重要的部分,验证模型主要验证这部分?处理数据部分主要验证控制算法的优劣?而显示数据决定了人机交互界面的友好程度。?进程 间通信由上 面的模块分析可以 知道,模块之间的数据交换是必须的,这在?中主要是通过进程间通信技术实现的。管道、消息队列、信号量、共享内存区等都是?中常用的通信方式?,而在这个仿真程序里面本文采用了?套接字?编程技术。采用?可以在不同主机

9、的进程之间进行通信,这对提高程序的扩展性很有好处。创建乳?需调用?函数,定义如下?井?即?狱?,?即?,?,?】?七?用来指定豁?的协议簇,通常有两种?一?是?域协议簇,是本机进程间通信时使用的协议?是?协议簇,也就是?。?指定?心?的类型,可以是?一?或者?,前者对应于?提供的可靠的面向连接的服务,后者对应于?提供的无连接的不可靠的服务。本程序中采用了?数据报协议,这样虽然丧失了一定的可靠性,但是却换来了效率的提高,因为一个 端口可以同时接收来自几个端口的信 息。?的通信方式如图?所示。选择段?的?!#也很重要。如果指定E七main为A F一UI NX,那么SD C ket将在U N IX域

10、即本机进程间通信。此时服务器 I P地址必须绑定在127.0.0.*,端口号 为0一 6553 6,这样由S oc ke t发出的数据 将返回本地主机。如果 指定L心main为A F一I NET则 实现Intemet域即不同增 刊黄亮等:墓于L i nux操作系统的仿真应用12 3服务器S S SOCket t tB B Bi nd d dR R Reevf ronz阻塞塞等等待ud P报文文接接收报文返回回处处理后s即dto o o返返回结果果S S SOCk et t tS S Sendt o发发送送请求求R R ReCvf rom m m接接收结果果C C C】o se e e图3UD

11、P通信方式IP地址的主机进程间通信。此时需要把服务器端的 S ock et绑定在服务器进程的主机地址上,如图3中,客户机进程必须知道服务器端的地址才能发送数据,服务器进程接收 到数据的同时也就得到 了客户机进程的主机地址,然后才能向客户机进程发送数据,因此客户机地址无须绑定,但是要首先发起通信。数据的传输应该以数据包的形式传送。由于需要传输的数据大体分3类:时间、数据类型和数值。分开传送既麻烦又耗时,因此本文采用 段俪肠吃函数进行数据传输。数据结构m笔hdr以向量的形式整合不 同的数据,适合用来描述数据包。4)图形化仿真界面仿真程序的最后步骤也是 最能体现效果的部分,是输出界面的编 写。图形化

12、仿真界面已经成为仿真软件 的标准之 一了。在L inux中编 写 图形界面的语言也很多,最常用的有gt k和q t。但是象v C这样的集成开发环境还不多,很多界面还是靠手工编写函数来实现。如果是开发如图 4(上)所示的平面图形还比较简单,但是如果要编写如图 4(下)所示的三维立体图形就比较困难了,需要一些辅助函数库,例如op en GL,后者由于在矢量图方面的出色表现,成为了图形图像方面的工业标准。关于Ope nG L的编程方法可以参考文献【4。5)编译与调试在Lin ux下面,最常用的。/。+十编译器是 g cc。而 稍微复杂一点的程序可能包含 几 个甚至几十个源 代码文 本 文件,这 使M

13、akef ie文件的编写 成为必需。Makefile文件使程序的编译、联接实现批处理化。编写过程中,使用了 L inux提 供的Ma k e f il e编写 工具,如Au-tomake,C onfi gur e等使程序编译过程大大加快。调试程序使用 L in ux提供的gd b调试工具。6)程序的扩展性程序的扩展性主 要体现在功能的增强和对不同环境的适应。相对于仿真程序而言,分布式仿真和半实物仿真等都是新的热点,它们都要求程序具有模块化和可拆分的特性。多进程编程技术就能很好地满足这一个要求,它允许把功能 不 同的模块编成相对较小的具有独立接口的进程,从而使程序具有 良好的扩展性。在本程序 中

14、,通过指定 S o c ke t的D oma in为AF一INET可以实现分布式仿真。这也是本文选择 S o c ke:进行进 程间通信的实现方法的原因。至于半实物仿真,则是现在比较流行的一种实时仿真方法,其特点是用实物取代某些不易仿真的环节,例如侍服机构。把模块进一步细分,用实物取代部分仿真模块,通过进程间通信进行数据传输,可以较好地达到这个目的。半实物仿真的详细方法可以参见文献【5。3结论图4出移化仿具界回在I一nu x下面编写仿真程序有其自身的特点,这与它所依赖的操作系统是息息相关的。U是目前最具争议性的操作系统,强大的网络能力和尚待完善的图形编程环境都是目前存在的现实,需要在编程的过程

15、中特别注意。但是性价比极高的开发平台,完全开放的源代码,注定了其前景一片光明,基于乙的应用软件也将越来越多。参考文献:1Fe r onE.D”。micm司日 f oramiatur eaer o batiehe l i c opte rA.众pa r tme nto f Ae ronau tioa ndA s-tr onau t ic sCMIT:Cambr id罗 MA,2002.【2张威.L inu x网络编程教程 tM.北京:北 京希望电子 出版社,200 2.【3黄柯棣.系统仿真技术M.北京:国防科技大学出版社,1 99 8.41Ma s onw o o.吴斌,等译.伽e n GL编程

16、权威指 南M.北京:中国电力出版社,20 01.51Is e r ma n nR.H石rd wa r,i、the-l c oP滋m山石。nf o rthea e si,。ndte s tingo fe ng ine-c o ntr o lsyste r n sJl.In-stitut e o f Auto汀na tieC ontol,1999,(7):643一653.(下转第157页)增刊彭协华等:基于遗传算法无源电力滤 波器的优化设 计157数见表4。表1滤波前主要谐波电流低 为2.2%;功率因数从0.8 6提高到0.97;滤波的效果比较明显。次数511131719大小/A78.5635.2

17、021.1914.726结论9.696.76表2滤波后主要谐波电流次数51113大小/A1 2.7 27.143.081.070.560.37表3各次谐波电流允许值次 数51113利用遗传算法全局寻优的特点,从成本、无功补偿和 滤波效果3个主要设计指标出发,采用动态。制约法收索最优结果;开发出滤波器 设计软件包,同时对无源滤波器损耗和 滤波效果的参数进行了校验。实验证明了本文提出的模型和计算方法的正确性。同时,软件包使用方便,有较强的实用性。大 小/A17.3612.327.846.725.044。48表4滤波器参数谐波次数电阻/n电感/m H电容/产F,矛n,一U6,人月呀4户03.0 2一

18、Ul几0J.工11J.l.12 21164、,了,l内今9.“”,工,工n571113高通40.5818.678.695。75209.00从表中可以看出,注入 电网的各次主要谐波电流 明显降低;电网侧的电压畸变率从1 5.8%降参考文献:【1 王兆安,等.谐波抑制与无功功率补偿 M.北京:机械工业 出版社,1999.【2 涂春鸣,等.无源滤波器的多目标优化设计J.中国电机工程学报,2002,22(3):17一21.3王庆平,等,无源滤波器设计的优化方法及其仿真研究J.电网技术,2001,25(10):3842.4 陈国良,等.遗传算法及其应用M.北京:人民邮电出版社,1996.5戈东方,等.电

19、力工程电气设备手册M.北京:中国电力出版社,1998.OPtimizationDesignofPassivePowerFilterBasedonGenetieA igorithms尸EN GXi e-hu a,ZHANGDai一r un,ZHU汇)ai一xi ang(S c味沁1o fE E I,Siehua nUniver sity,Chengdu610065,C hina)A加traet:C onve ntion a lappr o a che s f orpa s s lve卯werfilter s de si gnd叩endo nexper ienee sto omuehand l a

20、ek o fa bi lityf o r叩ti-miz ati onbe c au s ede sig nofpa s sivep ow e rfil ter s15c omparativehard.Anew de si gn aPPr o aeh f orPa s sivePowerf ilte r sba se do nge netiea l即r it hr n sw a sad opte d.Itr n acr oc op iea lly叩timize df orthec o st,har mo n ies uppre洛io na ndtheelfe cto ffUter ingo fp

21、a s siv ep ow erf i lte r.C ha眼i呢theprobabilityofinher ita nee andvar iationimpr o v ethef o附ardn哪o fgenetiea l即r ithms.Andautode s i,印ftwar ew a sg iv en,wh iehhadtheg以妇in ter f aee and ma nysd f-he lp pa r a meteo.Iteanh elpengineerd e si,P a、ive因werf ilter sc onv enie ntly.T he sim u latio na nde

22、xpe r imentind ieate sthat this appr oaeh1 5c or r e ctand e f fieieney,andthes o ft-warear ewor thg en eralizin g.Keyword s:p别铝iv e卯w erf ilte r:罗netie a】gor ith ms:maer o s cop iea l lyoptim添tion(上接第123页)AP plieation of SimulatingintheLin u x0 5HU A N G L i ang,尸E I H泛i一l engC ol i饱eo fAutomatio n

23、,段uth Chin aUni ver s it y o fTeehno】吸汀.Gua ngz比u510641,Ch咖)A加t邝ct:Dif ferentfr o mthesimulat io ns o ftwa r eMatl a b w h ieh15诚de lyt以泪in th eWindows0 5a ndth ao t h e rexPen siv ePx o-f邸沁na lone s.Asim以at io npr Dg r amof mo d目 s c a leh山印pt e rin theLinux0 515ma iu ly intx侧u c e d.I沁义r ibi n gth

24、 es户沁la ltyoftheL inux0 5,thep叩e r f c尤u se so nther e s e a r cho fs o men o tiee ab lei s su eo nbui l di昭s im u latio ns o ft warei ntheL inu x05,s ueha sgr aphic a linter f aeepr ogr am而ng,inte印r o ce s sc o mmunic atio na nds oo n.Itc a nmakes en s et ot heL inu x1oveoa ndpr ogr a m-】1 1 e r s。Keywords二L inu x;sim过ati o n;h山c叩te r;乎叩hic a lintedac e;inte印r o c e r ec o mmun ic a ti on

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

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁