首页> 中国专利> 水下超空泡航行体运动视景仿真方法

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

摘要

本发明提供的是一种水下超空泡航行体运动视景仿真方法。由包括超空泡航行体运动模型、稳定空泡流模型、控制规律、超空泡航行体飞行弹道模型组成的计算模块,建立二维模型、接收更新数据及消息的模型加载模块,接收实时操纵指令并进行二维图形实时显示及视图重绘的视图显示模块,提供统一接口获取轨道计算模型数据、同时将实时更新数据传递给各个视图的通信模块构成视景仿真系统。本发明将超空泡航行体的纵向运动控制与基于OpenGL的虚拟现实技术相结合,提供了一种不仅能通过仿真使用户更加直观的掌握超空泡航行体的运动规律,而且能够协助完成控制方案的设计、验证、筛选和确定的超空泡航行体视景仿真系统。

著录项

  • 公开/公告号CN102156412A

    专利类型发明专利

  • 公开/公告日2011-08-17

    原文格式PDF

  • 申请/专利权人 哈尔滨工程大学;

    申请/专利号CN201010612245.1

  • 发明设计人 赵新华;兰贺;孙尧;梁锋;安伟光;

    申请日2010-12-29

  • 分类号G05B17/02(20060101);

  • 代理机构

  • 代理人

  • 地址 150001 黑龙江省哈尔滨市南岗区南通大街145号哈尔滨工程大学科技处知识产权办公室

  • 入库时间 2023-12-18 02:56:11

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-12-14

    未缴年费专利权终止 IPC(主分类):G05B17/02 授权公告日:20120822 终止日期:20171229 申请日:20101229

    专利权的终止

  • 2012-08-22

    授权

    授权

  • 2011-09-28

    实质审查的生效 IPC(主分类):G05B17/02 申请日:20101229

    实质审查的生效

  • 2011-08-17

    公开

    公开

说明书

技术领域

本发明涉及的是一种仿真方法,具体地说是一种超空泡航行体运动控制系统的可视化仿真技术,特别是将超空泡航行体的运动姿态,空泡的形成过程,与计算机图形学相结合的可视化仿真技术。

背景技术

超空泡航行体由于单体全部或大部分被空泡包裹,使得航行体所受的流体阻力显著减小,因而,其航行速度可以达到100m/s以上。目前,超空泡航行体的动力学及控制问题成为各国的研究热点。国内相关机构和高校已经意识到超空泡航行体的发展前景,并纷纷着手相关研究工作。国内也从相关国际会议上了解到了更多国际上的研究动态,但在很多方面还存在着诸多技术难题。

对于超空泡航行体动力学及控制问题的研究方法主要有数值模拟仿真和射弹实验两种方法。数值模拟主要借助于计算软件,对航行体的动力学模型(微分方程组)进行建模,求解微分方程的数值解,对航行体的航行姿态进行仿真模拟分析。射弹实验方法根据模型的尺寸设计并加工样弹,在水洞或水池中进行射弹实验。

以上两种研究方法都存在一定的缺陷,其中以理论研究为基础的数值模拟仿真方法,该方法根据理论计算得到超空泡航行体的运动规律,研究结果多以仿真曲线或统计数据的形式出现,表现形式抽象,且研究所获得的结论与实际有较大的差距。射弹研究方法为实物仿真,可以从宏观全局上把握控制体的性能及运动情况,但成本高、工艺要求复杂,特别是重复性差、风险性高。因而,完全依赖于实验研究获得超空泡航行体的动力学特性及控制规律难度较大。

对于超空泡航行体动力学与控制问题的研究急需一种既能提供精确数学模型,同时能够多次重复试验,节省研制经费的研究方法。虚拟现实的仿真技术具有安全、经济、可控、无破坏性、允许多次重复等许多优点。采用计算机仿真技术,可以用准确的数学模型代替真实的物理模型,在计算机平台上重复多次的模拟试验,分析试验结果,从而缩短试验和研制周期,节省试验和研制经费。而基于OpenGL的虚拟现实仿真技术,更胜于传统的二维仿真技术,使仿真结果更加直观化、现场化,具有良好的可视化和交互性。

发明内容

本发明的目的在于提供一种具有良好的可视及交互性,有助于超空泡鱼雷运动控制的研究及控制方案的选择的水下超空泡航行体运动视景仿真方法。

本发明的目的是这样实现的:

本发明的技术要点主要体现在:

它是由包括三维弹体模型的加载模块、负责超空泡航行体运动轨迹的计算与控制规律的运用、空泡形成过程的仿真绘制的计算模块,接收实时控制消息并提供相应的显示视图的视图显示模块,提供统一接口获取计算模块数据、同时将相关数据传送给视图显示模块的通讯模块组成。

所述的模型加载模块先由三维动画渲染和制作软件3dmax根据航行体的尺寸绘制三维弹体模型,运用材质贴图,布尔运算方法的加工,使其方便的加载到OpenGL中。选用转换软件MilkShape将绘制好的航行体模型转换成ms 3d格式,并实现在OpenGL中的加载显示。

所述的计算模块根据航行体的运动学模型,稳定超空泡计算模型,以及控制规律,实时解算航行体在各个时刻的航行状态的姿态数据,包括航行深度z,垂向速度俯仰角θ,俯仰角速度q等姿态信息的实时解算。空泡状态的主要参数的计算,包括空化数σ随速度的变化,空泡半径Rc,空泡长度l,空泡收缩率的变化等。

所述的空泡绘制模块,利用三角形拼接空泡的外形,即在OpenGL的函数glBegin(GL_TRIANGLES)及glEnd()之间加入glVertex3f()函数,函数参数为以坐标方式描述的三角型顶点数据,数据取为所述计算模块中实时解算的以数组形式表示的空泡状态参数,如此进行循环绘制,由于所绘制的空泡为三维形态,还需为实时解算的空泡状态参数在Y轴和Z轴方向分别乘余弦与正弦角度,角度进行360度的循环,即可完成三维绘制工作。

所述的视图显示模块包括超空泡航行体、航行体周围形成的空泡及航行体飞越的大面积基本环境。对配置的模型进行实时驱动并显示,可以直观的观察航行体在运动过程中周围形成空泡的过程及空泡的形态,以及航行体在选择的稳定控制模式下纵向运动的俯仰角、深度等各姿态信息的变化情况。VC++中,在Project->Settings->Link选项卡下,Object/library modules下面的文本框中添加库文件,使其工作在OpenGL环境中,建立初始化、定义、配置等一系列仿真流程来实现对模型及仿真环境的驱动,使用帧循环不断接收数据,并在每一帧中不断更新,从而实现场景的相对运动。

所述的通信模块负责从计算模块取得数据,发送数据给视图显示并且负责计算模块和视图之间在时间上的同步,使计算模块,加载模块及显示模块,各功能单元之间通过交互来共同完成设计任务。

超空泡航行体运动过程视景仿真系统是以水下超空泡航行体为研究对象、对航行体复杂的动力学过程进行仿真,仿真实验过程包括航行体本身的三维建模、模型的驱动、三维空泡的绘制与显示、水下环境的渲染、观察者视景的切换、航行体控制规律的筛选与确定等,可以三维动态模拟超空泡航行体在不同控制规律下的运动情况,具有研究周期短,成本低,可信度高的优点。

本发明的视景仿真系统实现的基本功能如下:

1.根据给定的初始条件,三维显示超空泡航行体的运行状态。

给定的初始条件包括航行体外观的各个参数、各部分的比例等,用以绘制更符合实际的弹体模型。空泡状态的主要参数包括空化数σ随速度的变化,空泡半径Rc,空泡长度l,空泡收缩率的变化等,用以实时绘制鱼雷周围所形成的空泡的形态。航行体的运动学模型以及控制规律,用来实时解算航行体在各个时刻的航行状态的姿态数据,包括航行深度z,垂向速度俯仰角θ,俯仰角速度q等姿态信息。由以上的初始条件,即可三维显示超空泡航行体的运行状态。

2.可以显示航行体所处场景环境及相对航行姿态。

该系统采用纹理映射技术来生成海底地形,即在多个四边形上进行纹理贴图来近似模拟超空泡运行过程中的海底地形,由于四边形的个数多,该过程采用循环处理。运行过程中的海洋环境的显示采用同样的方法。超空泡航行体纵向平面的俯仰角运动表示成航行体绕其头部空化器的角度旋转,旋转角度即为实时解算出来的航行体姿态信息中的俯仰角。

3.可以实现不同视角的切换。

利用虚拟现实中的人机交互作用,设置当键盘上的某个键被按下时,可以实现不同视角的切换功能。使用OpenGL中的gluLookAt()函数,使其中的参数按照设计要求实时发生变化,完成了不同视角的切换功能。

本发明的有益效果是:不仅是通过仿真使用户更加直观的了解超空泡鱼雷的运行情况,而且更是要协助完成运行方案的设计、验证、筛选机确定,所以必须采用基于物理规律的运动建模方法。

本发明将水下超空泡航行体的纵向运动控制与基于OpenGL的虚拟现实技术相结合,使结果具有良好的可视及交互性,有助于超空泡鱼雷运动控制的研究及控制方案的选择。

本发明将超空泡航行体的纵向运动控制与基于OpenGL的虚拟现实技术相结合,其目的在于提供一种不仅能通过仿真使用户更加直观的掌握超空泡航行体的运动规律,而且能够协助完成控制方案的设计、验证、筛选和确定的超空泡航行体视景仿真系统。

附图说明

图1是水下超空泡航行体运动视景仿真系统实现过程框图;

图2是虚拟现实仿真系统运行过程框图;

图3是仿真系统运行所需总体配置框图;

图4是OpenGL仿真工作流程图。

具体实施方式

下面结合附图对本发明做进一步详细地描述:

如图1所示的是水下超空泡航行体运动视景仿真系统实现过程框图,框图中数据源主要包括超空泡航行体的运行姿态数据、视景环境数据、实际超空泡航行体的外观结构。根据实际的超空泡航行体的外观数据在3DMax软件中绘制三维航行体体模型,经过软件MilkShape模块转换成可以加载到OpenGL中的Ms3d格式的文件,放入工程目录下。同时结合数据源中的航行体姿态数据及视景环境数据,编写OpenGL应用程序,实时发声器API接口自定义代码。最后编写实时应用程序,实现模型加载并在屏幕上的显示的功能及驱动所渲染场景的动态仿真。

如图4所示的OpenGL仿真工作流程图,新建一个MFC的工程,添加OpenGL库文件,将其初始化为OpenGL编程环境。系统定义包括,设置SetupPixelFormat()函数中的参数,使其OpenGL显示的像素格式。设置InitialGL()函数,对OpenGL环境初始化。捕获WM_CREATE消息,最后捕获WM_DESTROY消息。系统的配置中,使用类MilkshapeModel及Model加载ms3d格式的超空泡航行体模型,并在类View中进行初始化设置。加载海水及海底的纹理,并在类View中初始化。根据动力学方程计算航行体运行的姿态及周围形成的空泡的形态。变换视角观察鱼雷的运行及其周围空泡的形态。设置定时器,其定时器的工作线程如下所示:OnTimer()(Invalidate(FALSE))->OnDraw(CDC*pDC)(RenderScene())->进行屏幕上的所有绘制工作,包括绘制弹体,绘制空泡,绘制尾部烟雾,绘制地形,绘制海洋环境,如此按照设置的定时器周期进行帧循环并实现绘制任务。其中,在进行航行体和空泡的绘制过程中使用的OpenGL混色功能,使超空泡周围的空泡显示为半透明色,在空泡动态形成的过程中视觉效果良好。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号