APP下载

模拟潜望镜半实物仿真系统设计与实现

2011-08-20杨国志熊先锋贾玉柱张文彬

舰船科学技术 2011年9期
关键词:视景线程潜艇

杨国志,熊先锋,贾玉柱,张文彬

(1.海军工程大学船舶与动力学院,湖北 武汉 430033;2.海军92196部队,山东 青岛 266011)

0 引言

系统仿真是利用科学技术方法构造能反映实际系统表征和基本特性的模型,以达到对系统实验、分析、研究的目的[1],在复杂系统和装备研制、生产、训练的各个环节都得到广泛的运用。随着武器装备的发展,潜艇作为一种水下作战武器,其潜望镜的战术作用不可忽视,被称作潜艇的“眼睛”,指挥员的航行、作战等指令决策很大程度上要依靠潜望镜的观察情况。依托实际装备的航行训练、演习是目前部队针对潜望镜使用训练的普遍途径,而利用仿真手段设计模拟潜望镜参与该项训练,将大大降低训练成本和提高训练效果。为此,我们开发设计了潜艇模拟潜望镜仿真系统。

1 模拟潜望镜仿真系统总体结构

针对潜望镜实际装备的使用和技术情况,设计了模拟潜望镜本体硬件系统、虚拟视景及控制模块及潜艇运动控制模块等为主体的半实物仿真系统,如图1所示。

图1 模拟潜望镜仿真系统结构Fig.1 Structure of periscope's simulation syatem

模拟潜望镜本体硬件系统是参训人员操作的物理仿真平台,硬件接口与信息处理模块采集和处理潜望镜操作控制部件电气信号,并将这些信号传送给虚拟视景模块产生相应的场景变化;视景控制模块构建虚拟海洋环境、地理信息、目标信息等场景案例;潜艇运动控制模块提供本艇运动的主要姿态参数;虚拟视景模块根据以上信息渲染潜望镜视景,并传送到模拟潜望镜本体的显示器终端。系统利用RS-232及以太网实现数据的实时通信。

2 模拟潜望镜本体硬件系统

2.1 硬件系统主要技术设计

参照潜望镜实体结构原理,针对潜望镜操作和使用特点,在保持模拟潜望镜与实体外观和基本功能一致的前提下,对其基本硬件部位进行了电路设计,主要的技术手段包括:

1)视野光路。选用液晶显示器作为虚拟视景的终端设备,与潜望镜目镜之间使用光学透镜构造光路,调整透镜的位置和方向,构建模拟视野光路,并保持目镜调焦、单双目切换等基本功能。

2)基本操作设备的改造。保持实体外观一致的情况下,对倍率选择、滤镜选择及俯仰控制等部件,改换适当的位置开关接入,应用程序采集位置状态进行操作的识别。

3)潜望镜转动角度的跟随。在虚拟潜望镜中心转轴上固接能同步转动的旋转编码器,作为潜望镜转动角度测量的设备。旋转编码器的选用主要考虑脉冲计数输出范围、频率等方面的适用条件,保证跟踪转动角度准确、实时。

4)测距及显示模块。设计了矩阵键盘和数码管显示电路,作为潜望镜测距功能部分的模拟设备。

2.2 硬件系统主要接口设计

根据系统需要,专门设计了硬件采集和驱动电路,采用RS-232串行通信与虚拟视景模块进行数据交换。主要功能设计有:

1)采用8255芯片扩展采集旋转编码器位置。旋转编码器脉冲计数芯片选用QA740808R,数据宽度为24位,保证数据的精度和范围。

2)采用8255芯片作为数字量I/O通道,实现控制部件状态采集和测距显示模块的控制。控制部件开关状态直接接入8255数据端口,而潜望镜测距显示模块的矩阵键盘和数码管显示,设计了扩展电路进行控制。

3)硬件系统采用51系列单片机芯片,使用C语言开发编程,主要实现对8255芯片扩展功能的控制,以及RS-232串行通信与上位机进行数据交换。为了达到系统实时性的要求,使用了单片机时间中断和串口中断进行进程控制。

3 虚拟视景及控制模块

3.1 虚拟视景模块软件设计与实现

近年来出现了多种虚拟作战视景仿真需要的仿真支撑软件,如OpenGL、Vetree、3Dmax等,而实时三维建模和仿真软件MultiGen Creator和Vega由于其先进的功能在包括军事的各个工程领域的视景仿真开发中得以广泛采用。本系统采用MultiGen Creator实时三维建模工具,高效、优化地生成实时三维(RT3D)数据库,与实时仿真软件Vega紧密结合,完成潜望镜虚拟视景的构建。

图2 潜望镜视景效果截屏Fig.2 Interface of periscope's virtual scene

利用可视化的应用程序开发工具VC++编写了基于MFC的Vega应用程序,实现了潜望镜视景场景的驱动和渲染。主要作了如下几个方面的处理:

1)对object进行结构化管理。为了有效管理object的各种信息(静态、动态属性以及添加/删除指令、特效等控制信息),定义了object结构。

2)使用fst模型文件格式载入模型。Vega提供了一种转换工具可以把adf文件里的flt模型文件转换为 fst文件格式[2-3]。Vega的 fst文件格式为系统尽可能快的加载模型到场景中提供了一种有效的途径。fst文件的数据方式与Vega场景里需要的方式非常相似,所以可以非常快的载入。其他的文件格式在加入Vega场景时对系统运行时间没有什么影响,但在系统需要动态实时调入模型数据尤其是大规模模型数据时就有很大的延时,影响渲染效果。

3)视景观察者的控制。潜望镜作为视景环境的观察者,这里采用手动调整方式来控制它在场景中的位置和姿态。视景渲染进程循环中实时接收潜望镜的操纵控制信息和潜艇的运动姿态数据,更新观察者的位置和姿态,给出潜望镜与本艇结合的动态效果。

4)创建单独的线程完成Vega渲染的任务。MFC把线程分为用户界面线程和工作者线程:用户界面线程一般用于处理用户输入事件并对事件做出响应,实现线程的代码中含有消息循环;工作者线程与用户界面无关,主要用于各种耗时的计算量大的场合[3]。Vega系统需要实时的进行渲染循环,这是个非常耗时的计算过程,显然创建单独的工作者线程来完成Vega渲染的任务是恰当的。

5)碰撞检测和特效处理。使用Isector实例与视景中的角色对象绑定,根据相交测试结果实时增加爆炸、烟火等特效。考虑到相交测试的计算量对CPU的占用,这里只选取相交点坐标和相交的模型对象名称2种相交测试的结果信息进行处理,减少相交测试的计算量。

3.2 视景控制功能设计与实现

视景控制模块在VC++环境下开发,主要任务包括:

1)海图信息的处理。加载海图信息,并完成海图信息的提取、计算、显示等工作;

2)环境设置。以菜单形式进行海况(风浪等级)、天气(阴晴雨雪)、时间(晨午夜)、光线(明暗)、能见度等自然环境的选择设置;

3)目标设置。可使用鼠标对目标进行增减、移动、改变属性等控制,进行目标方位、航向、航速、航线等信息的设置,并在海图中实时更新。

电子海图用于图形化实时反映仿真环境的态势变化,通过读取地理信息数据文件并进行判断处理后绘制地图,除了经纬度标定、测距、测角等功能外,还可以实现对地图的缩放、移动等灵活操作。舰船、岛屿等目标信息的态势变化通过坐标映射、动态绘图的方法在以海图为背景的界面上以线条图标的形式显示。

图3 视景控制程序主界面Fig.3 Main interface of scene control program

4 潜艇运动控制模块

潜艇可视为一个刚体,其运动可以分解成沿通过潜艇重心G的三根垂直相交轴方向的移动及绕各轴的转动,即六自由度的运动。根据使用目的和实验条件不同,潜艇操纵方程的形式较多,这里选用潜艇运动线性方程[4],利用状态空间矢量法建立仿真模型。根据实艇操纵经验,通过对各水动力系数的分析,忽略一些次要水动力系数的作用,同时还充分考虑了各自由度运动之间的耦合影响。

垂直面运动线性方程:

水平面运动线性方程:

式中:m,P,V分别为潜艇质量、重力和航速;Iy和Iz为对动系坐标轴的转动惯量;u,v,w分别为纵向速度、横向速度和垂向速度;p,q,r分别为横倾角速度、纵倾角速度和回转角速度;Z0和M0分别为零升力和零升力矩;Zw,,Zδb,,Yv,,Yr,Yδ,,Nr等为对应的水动力系数。

采用状态空间法求解潜艇运动空间矢量方程,利用Matlab/Simulink工具箱建立潜艇运动仿真模型,解算出本艇运动的主要参数(位置、深度、航速、航向、纵倾、横倾等姿态信息),实现潜望镜与本艇的动态姿态匹配。

图4 系统运行信息流程Fig.4 Flow chart of system running information

5 系统运行流程及测试

整个仿真系统的运行以模拟潜望镜为物理实物,计算机仿真系统实时解算、控制。系统主要的信息流程如图4所示。从系统运行情况来看,数据传输稳定、实时性好,能满足训练要求。

6 结语

该半实物仿真系统的设计和实现,为潜望镜系统的使用训练提供了方便、经济的方法,能在保证物理操作感觉真实、虚拟视景逼真的前提下,反映潜望镜使用的基本工作原理。该系统已经成功运用到某型潜艇操纵模拟器系统,与潜艇操纵训练结合(提供操纵、运动姿态信息)开展潜望镜系统使用训练,并取得较好的仿真训练效果。该系统软件接口开放,还可以与导航、对抗、鱼攻等训练模块结合,形成综合仿真训练系统。

[1]单家元,孟秀云,丁艳.半实物仿真[M].北京:国防工业出版社,2008.

[2]叶叠,仲梁维,罗云.基于Vega/MultiGen的三维仿真漫游系统的研究与实现[J].计算机工程与设计,2005,26(2):362-363.

[3]龚卓容.Vega程序设计[M].北京:国防工业出版社,2002.

[4]邢继峰,林俊兴,戴余良.潜艇操纵[M].武汉:海军工程大学出版社.2003.

猜你喜欢

视景线程潜艇
十分钟读懂潜艇史(下)
实时操作系统mbedOS 互斥量调度机制剖析
潜艇哥别撞我
虚拟现实技术在游戏设计中的应用及研究
十分钟读懂潜艇史(上)
潜艇跃进之黄金时代
某炮模拟训练系统中三维视景的设计与实现
基于国产化环境的线程池模型研究与实现
基于预测和双缓冲区的直升机视景仿真
全回转拖轮运动建模与视景仿真