水下超空泡航行体运动视景仿真方法

文档序号:6323559阅读:240来源:国知局
专利名称:水下超空泡航行体运动视景仿真方法
技术领域
本发 明涉及的是一种仿真方法,具体地说是一种超空泡航行体运动控制系统的可视化仿真技术,特别是将超空泡航行体的运动姿态,空泡的形成过程,与计算机图形学相结合的可视化仿真技术。
背景技术
超空泡航行体由于单体全部或大部分被空泡包裹,使得航行体所受的流体阻力显著减小,因而,其航行速度可以达到100m/S以上。目前,超空泡航行体的动力学及控制问题成为各国的研究热点。国内相关机构和高校已经意识到超空泡航行体的发展前景,并纷纷着手相关研究工作。国内也从相关国际会议上了解到了更多国际上的研究动态,但在很多方面还存在着诸多技术难题。对于超空泡航行体动力学及控制问题的研究方法主要有数值模拟仿真和射弹实验两种方法。数值模拟主要借助于计算软件,对航行体的动力学模型(微分方程组)进行建模,求解微分方程的数值解,对航行体的航行姿态进行仿真模拟分析。射弹实验方法根据模型的尺寸设计并加工样弹,在水洞或水池中进行射弹实验。以上两种研究方法都存在一定的缺陷,其中以理论研究为基础的数值模拟仿真方法,该方法根据理论计算得到超空泡航行体的运动规律,研究结果多以仿真曲线或统计数据的形式出现,表现形式抽象,且研究所获得的结论与实际有较大的差距。射弹研究方法为实物仿真,可以从宏观全局上把握控制体的性能及运动情况,但成本高、工艺要求复杂,特别是重复性差、风险性高。因而,完全依赖于实验研究获得超空泡航行体的动力学特性及控制规律难度较大。对于超空泡航行体动力学与控制问题的研究急需一种既能提供精确数学模型,同时能够多次重复试验,节省研制经费的研究方法。虚拟现实的仿真技术具有安全、经济、可控、无破坏性、允许多次重复等许多优点。采用计算机仿真技术,可以用准确的数学模型代替真实的物理模型,在计算机平台上重复多次的模拟试验,分析试验结果,从而缩短试验和研制周期,节省试验和研制经费。而基于OpenGL的虚拟现实仿真技术,更胜于传统的二维仿真技术,使仿真结果更加直观化、现场化,具有良好的可视化和交互性。

发明内容
本发明的目的在于提供一种具有良好的可视及交互性,有助于超空泡鱼雷运动控制的研究及控制方案的选择的水下超空泡航行体运动视景仿真方法。本发明的目的是这样实现的本发明的技术要点主要体现在它是由包括三维弹体模型的加载模块、负责超空泡航行体运动轨迹的计算与控制规律的运用、空泡形成过程的仿真绘制的计算模块,接收实时控制消息并提供相应的显示视图的视图显示模块,提供统一接口获取计算模块数据、同时将相关数据传送给视图显示模块的通讯模块组成。所述的模型加载模块先由三维动画渲染和制作软件3dmax根据航行体的尺寸绘制三维弹体模型,运用材质贴图,布尔运算方法的加工,使其方便的加载到OpenGL中。选用转换软件MilkShape将绘制好的航行体模型转换成ms 3d格式,并实现在OpenGL中的加载显不。所述的计算模块根据航行体的运动学模型,稳定超空泡计算模型,以及控制规律, 实时解算航行体在各个时刻的航行状态的姿态数据,包括航行深度Z,垂向速度VT ,俯仰角 θ,俯仰角速度q等姿态信息的实时解算。空泡状态的主要参数的计算,包括空化数σ随速度的变化,空泡半径R。,空泡长度1,空泡收缩率悉的变化等。所述的空泡绘制模块,利用三角形拼接空泡的外形,即在OpenGL的函数 glBegin(GL_TRIANGLES)及glEnd()之间加入glVertex3f ()函数,函数参数为以坐标方式描述的三角型顶点数据,数据取为所述计算模块中实时解算的以数组形式表示的空泡状态参数,如此进行循环绘制,由于所绘制的空泡为三维形态,还需为实时解算的空泡状态参数在Y轴和Z轴方向分别乘余弦与正弦角度,角度进行360度的循环,即可完成三维绘制工作。所述的视图显示模块包括超空泡航行体、航行体周围形成的空泡及航行体飞越的大面积基本环境。对配置的模型进行实时驱动并显示,可以直观的观察航行体在运动过程中周围形成空泡的过程及空泡的形态,以及航行体在选择的稳定控制模式下纵向运动的俯仰角、深度等各姿态信息的变化情况。VC++中,在Project- > Settings- > Link选项卡下,Object/library modules下面的文本框中添加库文件,使其工作在OpenGL环境中,建立初始化、定义、配置等一系列仿真流程来实现对模型及仿真环境的驱动,使用帧循环不断接收数据,并在每一帧中不断更新,从而实现场景的相对运动。所述的通信模块负责从计算模块取得数据,发送数据给视图显示并且负责计算模块和视图之间在时间上的同步,使计算模块,加载模块及显示模块,各功能单元之间通过交互来共同完成设计任务。超空泡航行体运动过程视景仿真系统是以水下超空泡航行体为研究对象、对航行体复杂的动力学过程进行仿真,仿真实验过程包括航行体本身的三维建模、模型的驱动、三维空泡的绘制与显示、水下环境的渲染、观察者视景的切换、航行体控制规律的筛选与确定等,可以三维动态模拟超空泡航行体在不同控制规律下的运动情况,具有研究周期短,成本低,可信度高的优点。本发明的视景仿真系统实现的基本功能如下1.根据给定的初始条件,三维显示超空泡航行体的运行状态。给定的初始条件包括航行体外观的各个参数、各部分的比例等,用以绘制更符合实际的弹体模型。空泡状态的主要参数包括空化数σ随速度的变化,空泡半径R。,空泡长度1,空泡收缩率悉的变化等,用以实时绘制鱼雷周围所形成的空泡的形态。航行体的运动学模型以及控制规律,用来实时解算航行体在各个时刻的航行状态的姿态数据,包括航行深度ζ,垂向速度VT,俯仰角θ,俯仰角速度q等姿态信息。由以上的 初始条件,即可三维显示超空泡航行体的运行状态。2.可以显示航行体所处场景环境及相对航行姿态。
该系统采用纹理映射技术来生成海底地形,即在多个四边形上进行纹理贴图来近似模拟超空泡运行过程中的海底地形,由于四边形的个数多,该过程采用循环处理。运行过程中的海洋环境的显示采用同样的方法。超空泡航行体纵向平面的俯仰角运动表示成航行体绕其头部空化器的角度旋转,旋转角度即为实时解算出来的航行体姿态信息中的俯仰
角。 3.可以实现不同视角的切换。利用虚拟现实中的人机交互作用,设置当键盘上的某个键被按下时,可以实现不同视角的切换功能。使用OpenGL中的gluLookAtO函数,使其中的参数按照设计要求实时发生变化,完成了不同视角的切换功能。本发明的有益效果是不仅是通过仿真使用户更加直观的了解超空泡鱼雷的运行情况,而且更是要协助完成运行方案的设计、验证、筛选机确定,所以必须采用基于物理规律的运动建模方法。本发明将水下超空泡航行体的纵向运动控制与基于OpenGL的虚拟现实技术相结合,使结果具有良好的可视及交互性,有助于超空泡鱼雷运动控制的研究及控制方案的选择。本发明将超空泡航行体的纵向运动控制与基于OpenGL的虚拟现实技术相结合, 其目的在于提供一种不仅能通过仿真使用户更加直观的掌握超空泡航行体的运动规律,而且能够协助完成控制方案的设计、验证、筛选和确定的超空泡航行体视景仿真系统。


图1是水下超空泡航行体运动视景仿真系统实现过程框图;图2是虚拟现实仿真系统运行过程框图;图3是仿真系统运行所需总体配置框图;图4是OpenGL仿真工作流程图。
具体实施例方式下面结合附图对本发明做进一步详细地描述如图1所示的是水下超空泡航行体运动视景仿真系统实现过程框图,框图中数据源主要包括超空泡航行体的运行姿态数据、视景环境数据、实际超空泡航行体的外观结构。 根据实际的超空泡航行体的外观数据在3DMax软件中绘制三维航行体体模型,经过软件 MilkShape模块转换成可以加载到OpenGL中的Ms3d格式的文件,放入工程目录下。同时结合数据源中的航行体姿态数据及视景环境数据,编写OpenGL应用程序,实时发声器API接口自定义代码。最后编写实时应用程序,实现模型加载并在屏幕上的显示的功能及驱动所渲染场景的动态仿真。如图4所示的OpenGL仿真工作流程图,新建一个MFC的工程,添加OpenGL库文件, 将其初始化为OpenGL编程环境。系统定义包括,设置SetupPixelFormat ()函数中的参数, 使其OpenGL显示的像素格式。设置InitialGLO函数,对OpenGL环境初始化。捕获WM_ CREATE消息,最后捕获WM_DESTR0Y消息。系统的配置中,使用类MilkshapeModel及Model 加载ms3d格式的超空泡航行体模型,并在类View中进行初始化设置。加载海水及海底的纹理,并在类View中初始化。根据动力学方程计算航行体运行的姿态及周围形成的空泡的形态。变换视角观察鱼雷的运行及其周围空泡的形态。设置定时器,其定时器的工作线程如下所示OnTimer() (Invalidate(FALSE))- > OnDraw(CDOpDC) (RenderSceneO)- >进行屏幕上的所有绘制工作,包括绘制弹体,绘制空泡,绘制尾部烟雾,绘制地形,绘制海洋环境,如此按照设置的定时器周期进行帧循环并实现绘制任务。其中,在进行航行体和空泡的绘制过程中使用的OpenGL混色功能 ,使超空泡周围的空泡显示为半透明色,在空泡动态形成的过程中视觉效果良好。
权利要求
1.一种水下超空泡航行体运动视景仿真方法,其特征是由包括超空泡航行体运动模型、稳定空泡流模型、控制规律、超空泡航行体飞行弹道模型组成的计算模块,建立二维模型、接收更新数据及消息的模型加载模块,接收实时操纵指令并进行二维图形实时显示及视图重绘的视图显示模块,提供统一接口获取轨道计算模型数据、同时将实时更新数据传递给各个视图的通信模块构成视景仿真系统。
2.根据权利要求1所述的水下超空泡航行体运动视景仿真方法,其特征是所述的计算模块根据航行体的运动学模型,稳定超空泡计算模型,以及控制规律,实时解算航行体在各个时刻的航行状态的姿态数据,空泡状态的主要参数,对有控状态下,超空泡航行体的运动轨迹进行仿真计算。
3.根据权利要求2所述的水下超空泡航行体运动视景仿真方法,其特征是所述的模型加载模块先由3dmaX根据航行体的尺寸绘制弹体模型,运用材质贴图,布尔运算方法的加工,使其加载到OpenGL中;选用转换软件MilkShape将绘制好的水下超空泡航行体模型转换成ms3d格式,并实现在OpenGL中的加载显示。
4.根据权利要求3所述的水下超空泡航行体运动视景仿真方法,其特征是所述空泡的绘制方法为利用三角形拼接空泡的外形,即在OpenGL的函数glBegin(GL_TRIANGLES) 及glEndO之间加入glVerteX3f()函数,函数参数为以坐标方式描述的三角型顶点数据, 数据取为所述计算模块中实时解算的以数组形式表示的空泡状态参数,如此进行循环绘制,为实时解算的空泡状态参数在Y轴和Z轴方向分别乘余弦与正弦角度,角度进行360度的循环,完成三维绘制。
5.根据权利要求4所述的水下超空泡航行体运动视景仿真方法,其特征是所述的视图显示模块包括超空泡航行体、航行体周围形成的空泡及航行体飞越的大面积基本环境的显示,对配置的模型进行驱动,细致模拟航行体在运动过程中空泡形成过程,以及航行体在选择的控制模式下的纵向运动的俯仰角、深度姿态信息的变化情况,在VC++中添加库文件,使其工作在OpenGL环境中,建立初始化、定义、配置仿真流程来实现对模型的驱动,在帧循环中接收数据,在每一帧中不断更新,从而实现场景的相对运动。
6.根据权利要求5所述的水下超空泡航行体运动视景仿真方法,其特征是所述的通信模块负责从计算模块取得数据,发送数据给视图显示并且负责计算模块和视图之间在时间上的同步,使计算模块,加载模块及显示模块,各功能单元之间交互。
全文摘要
本发明提供的是一种水下超空泡航行体运动视景仿真方法。由包括超空泡航行体运动模型、稳定空泡流模型、控制规律、超空泡航行体飞行弹道模型组成的计算模块,建立二维模型、接收更新数据及消息的模型加载模块,接收实时操纵指令并进行二维图形实时显示及视图重绘的视图显示模块,提供统一接口获取轨道计算模型数据、同时将实时更新数据传递给各个视图的通信模块构成视景仿真系统。本发明将超空泡航行体的纵向运动控制与基于OpenGL的虚拟现实技术相结合,提供了一种不仅能通过仿真使用户更加直观的掌握超空泡航行体的运动规律,而且能够协助完成控制方案的设计、验证、筛选和确定的超空泡航行体视景仿真系统。
文档编号G05B17/02GK102156412SQ20101061224
公开日2011年8月17日 申请日期2010年12月29日 优先权日2010年12月29日
发明者兰贺, 孙尧, 安伟光, 梁锋, 赵新华 申请人:哈尔滨工程大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1