协同式虚拟坦克仿真训练系统及方法转让专利

申请号 : CN201310266148.5

文献号 : CN103295446B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨磊吕玉香尤宝山孙翠娟胡雪梅卢俏立臧少杰陈秀华

申请人 : 山东建筑大学

摘要 :

本发明的协同式虚拟坦克仿真训练系统,包括车长室、驾驶员室、炮长室、监控室以及电路部分;车长室、驾驶员室和炮长室内均设置有座椅和显示器;电路部分包括第一PC机、第二PC机、交换机和服务器,第一PC机和第二PC机通过交换机与服务器相连接。系统的实现方法包括:a).战场环境的建立;b).构建特殊地形和障碍物;c).构建敌方目标;d).建立观察点;e).建立风速模型;f).坦克的行进;g).碰撞检测;h).行车痕迹的遗留;i).炮长场景视角的变化;j).目标的射击;k).目标命中的检测。本发明系统和方法,有效地实现了驾驶员、炮长、车长的协同训练和考核,弥补了现有单独训练的不足,具有广泛的应用前景。

权利要求 :

1.一种协同式虚拟坦克仿真训练系统,包括车长室(1)、驾驶员室(2)、炮长室(3)、监控室以及电路部分;其特征在于:所述炮长室位于驾驶员室的上方,车长室位于驾驶员室和炮长室的后方,车长室、驾驶员室和炮长室内均设置有座椅(4)和显示器(5);所述电路部分包括第一PC机(8)、第二PC机(9)、交换机(10)和服务器(11),第一PC机和第二PC机通过交换机与服务器相连接,服务器用于实现第一PC机和第二PC机数据的实时交互;

驾驶员室内设置有离合、刹车、警报器、总开关、操纵杆6个、档位6个的控制开关,用于产生16路开关信号;一个油门信号,用于产生一路连续的模拟信号;驾驶员室中的开关信号和模拟信号经第一数据采集器(6)的处理后,输入至第一PC机(8)上;

炮长室内设置有开枪、开炮、填弹、弹种选择的控制开关,用于产生相应的开关信号;炮塔高低控制、左右控制的模拟开关,用于产生4路模拟信号;

车长室内设置有开枪、开炮、填弹的控制开关,用于产生相应的开关信号;炮塔高低控制、左右控制的模拟开关,用于产生4路模拟信号;炮长室和车长室内的开关信号和模拟信号经第二数据采集器(13)的处理后,输入至第二PC机(9)上;

第一PC机经第一分屏器(7)显示驾驶员场景视角内的画面,第二PC机经第二分屏器(12)显示炮长场景视角内的画面;驾驶员室内的显示器与第一分屏器相连接,炮长室内的显示器与第二分屏器相连接,车长室内设置有分别与第一分屏器、第二分屏器相连接的两显示器;

监控室内设置有供考官观察的两台显示器,该两台显示器分别与第一分屏器、第二分屏器相连接;监控室内设置有对车长、驾驶员和炮长通话信息进行播报的扬声器(16),扬声器与语音采集电路(14)的输出端相连接;车长室、炮长室和驾驶员室内均设置有与语音采集电路的输入端相连接的用于采集语音信息的麦克(15)。

2.根据权利要求1所述的协同式虚拟坦克仿真训练系统,其特征在于:包括驾驶员、车长和炮长分别进行佩戴的3个坦克帽,坦克帽内设置有话筒和耳机。

3.根据权利要求1或2所述的协同式虚拟坦克仿真训练系统,其特征在于:所述第一数据采集器(6)、第二数据采集器(13)均由单片机(17)、开关量输入模块(18)、模数转换器(21)以及串口电平转换电路(23)组成;车长室(1)、驾驶员室(2)和炮长室(3)内产生的开关信号通过开关量输入模块输入至单片机,模拟信号经模数转换器的转化后输入至单片机;单片机对输入的信号进行编码后,通过串口电平转换电路与第一PC机(8)或第二PC机(9)进行通讯;单片机还连接有电源模块(19)和时钟电路(20)。

4.一种基于权利要求1所述的协同式虚拟坦克仿真训练系统的实现方法,其特征在于,包括以下步骤:

a).战场环境的建立,根据随机地形生成算法或者等高线生成三维地形的算法,生成战场环境的地形;并采用天空盒技术模拟出战场环境的天空;

b).构建特殊地形和障碍物,在步骤a)生成的地形中,建立随机的土包地形、土堤地形和灌木林地形,以及人工障碍物和自然障碍物;人工障碍物包括地雷场、防坦克壕、路坑、角锥、原木栅、拦障、鹿砦、防坦克堤;自然障碍包括河川、斜坡、陡崖、沟渠和树障;

c).构建敌方目标,经过步骤b)的构建特殊地形和障碍物后,再创建敌军坦克、敌军战斗机、敌军直升机、步兵战车、反坦克导弹、火箭筒、反坦克炮以及敌人角色,以模拟出逼真的战场环境;

d).建立观察点,在步骤c)形成的战场环境中,基于计算机3D图形处理技术中的观察函数建立驾驶员观察点、炮长观察点;驾驶员观察点的场景视角受驶员发出的离合、刹车、操纵杆6个、档位6个的控制开关信号以及一个油门信号的控制,炮长观察点的场景视角受炮长和车长发出的炮塔高低控制、左右控制的模拟开关信号的控制;

e).建立风速模型,在建立的战场环境中,建立随时间变化的风速模型,并且当前的风速可在驾驶员室、车长室、炮长室内的显示器上显示出来;

f).坦克的行进,第一PC机(8)通过解析驾驶员在驾驶室内对离合、刹车、操纵杆6个、档位6个控制开关以及油门的操作信号,控制自身坦克的行进;并通过牛顿物理引擎和地形跟踪匹配技术来控制驾驶员观察点场景视角内的变化;

g).碰撞检测,在坦克行进的过程中,实时检测坦克与障碍物是否有碰撞,如果有碰撞,根据障碍物的类型,如果能越过,则直接碾压而过;如果不能越过,则绕行;

h).行车痕迹的遗留,在坦克经过的地形上保留坦克碾压的痕迹,在被坦克碾压的障碍物上,也保留被坦克碾压的痕迹,以便车长、驾驶员、炮手对现场进行识别;

i).炮长场景视角的变化,第二PC机通过解析第二数据采集器上传的炮长和车长发出的炮塔高低控制、左右控制的模拟开关控制信号,来控制炮长观察点场景视角的变化;同时,炮长观察点场景视角还随驾驶员观察点场景视角的变化而变化;

j).目标的射击,炮长观察点场景视角内设置有十字瞄准图像,十字瞄准图像受炮长和车长的炮塔高低控制、左右控制的模拟开关信号的控制;炮长或车长通过炮塔高低控制、左右控制来移动十字瞄准图像,以实现对目标的瞄准;当目标被瞄准后,可在显示器上显示被瞄准目标距射击点的距离;以便炮长或车长根据当前风速、目标距离,来判断最佳的射击方式,通过按下开炮或开枪指令,对目标进行射击;

k).目标命中的检测,炮弹在运行的过程中,在竖直方向上受重力加速度g的影响、在水平方向上受风速的影响而运动;利用碰撞检测算法判断炮弹与目标是否发生碰撞,如果命中目标,则引爆目标;如果没有命中目标,则在地面上留下炮弹轰击的痕迹。

5.根据权利要求4所述的协同式虚拟坦克仿真训练系统的实现方法,其特征在于:步骤c)中所述的敌方目标可设计为训练模式、进攻模式和防守模式三种类型;在训练模式下,一部分敌方目标静止不动,余下的敌方目标匀速运动,以便炮长、车长和驾驶员协同进行固定目标和移动目标的打靶训练;在进攻模式下,敌方目标不仅会移动,而且会打击我方,以便炮长、车长和驾驶员协同对移动目标进行歼灭;在防守模式下,敌方目标会不断地对我方坦克发起进攻,而我方坦克不可前进或回退,只能原地旋转,以训练炮长、车长和驾驶员协同下的防守技能。

6.根据权利要求4所述的协同式虚拟坦克仿真训练系统的实现方法,其特征在于:步骤g)中所述的坦克与障碍物的碰撞检测以及步骤k)中所述的炮弹与目标的碰撞检测,采用沿坐标轴的包围盒AABB、包围球Sphere、固定方向凸包FDH或方向包围盒OBB的碰撞检测算法来实现;在碰撞检测算法中,采用从顶向下建立二叉树结构建立包围盒层次树。

说明书 :

协同式虚拟坦克仿真训练系统及方法

技术领域

[0001] 本发明涉及一种坦克仿真训练系统及方法,更具体的说,尤其涉及一种可训练和考核车长、驾驶员和炮长协同作战的虚拟坦克仿真训练系统及方法。

背景技术

[0002] 坦克作为陆战队员的主要重型装备,在陆地作战中起着关键性的决定作用。随着电子技术和计算机技术的发展,部队配装的坦克无论在火力、机动性还是自动化程度上都有了飞跃性的提高,系统更加复杂,对车组成员的专业要求也更高,在这种情况下,传统训练方式的弊端逐渐暴露出来。例如,利用传统教具的课堂教学与实车相差太大;实车数量有限,无法保证充足的训练时间;实车、实弹价格高昂、保障复杂,增加实车实弹训练将极大地增加训练成本等等。
[0003] 对于我国的坦克兵训练来说,使用实弹进行训练,炮弹价格昂贵,成规模培训合格射手的费用无疑是天文数字。在这种情况下,模拟训练成为唯一可行的手段。目前,已有一些基本的坦克模拟训练系统,但一般是单相训练系统,只能对坦克驾驶员、炮长或车长单独训练,而没有车长、炮长、驾驶员协同作战训练的集成训练系统,所以开发一套综合的、仿真度高的训练系统可以使模拟训练从目前单纯的战斗技能训练深化为战术和战斗技能合一的训练。

发明内容

[0004] 本发明为了克服上述技术问题的缺点,提供了一种可训练和考核车长、驾驶员和炮长协同作战的虚拟坦克仿真训练系统及方法。
[0005] 本发明的协同式虚拟坦克仿真训练系统,包括车长室、驾驶员室、炮长室、监控室以及电路部分;其特征在于:所述炮长室位于驾驶员室的上方,车长室位于驾驶员室和炮长室的后方,车长室、驾驶员室和炮长室内均设置有座椅和显示器;所述电路部分包括第一PC机、第二PC机、交换机和服务器,第一PC机和第二PC机通过交换机与服务器相连接,服务器用于实现第一PC机和第二PC机数据的实时交互;
[0006] 驾驶员室内设置有离合、刹车、警报器、总开关、操纵杆6个、档位6个的控制开关,用于产生16路开关信号;一个油门信号,用于产生一路连续的模拟信号;驾驶员室中的开关信号和模拟信号经第一数据采集器的处理后,输入至第一PC机上;
[0007] 炮长室内设置有开枪、开炮、填弹、弹种选择的控制开关,用于产生相应的开关信号;炮塔高低控制、左右控制的模拟开关,用于产生4路模拟信号;
[0008] 车长室内设置有开枪、开炮、填弹的控制开关,用于产生相应的开关信号;炮塔高低控制、左右控制的模拟开关,用于产生4路模拟信号;炮长室和车长室内的开关信号和模拟信号经第二数据采集器的处理后,输入至第二PC机上;
[0009] 第一PC机经第一分屏器显示驾驶员场景视角内的画面,第二PC机经第二分屏器显示炮长场景视角内的画面;驾驶员室内的显示器与第一分屏器相连接,炮长室内的显示器与第二分屏器相连接,车长室内设置有分别于第一分屏器、第二分屏器相连接的两显示器;
[0010] 监控室内设置有供考官观察的两台显示器,该两台显示器分别与第一分屏器、第二分屏器相连接;监控室内设置有对车长、驾驶员和炮长通话信息进行播报的扬声器,扬声器与语音采集电路的输出端相连接;车长室、炮长室和驾驶员室内均设置有与语音采集电路的输入端相连接的用于采集语音信息的麦克。
[0011] 炮长室位于驾驶员室的上方,车长室位于驾驶室和炮长室的后方,这与真实坦克中炮长、驾驶员、车长所处的方位相一致,使得训练模拟更具真实感;而且,处于后方的车长还可观察驾驶员、炮长的状态,以考察其动作熟练性。第一PC机和第二PC机上运行有坦克仿真训练软件,并通过交换机与服务器相连接,服务器用于保证第一PC机与第二PC机之间的场景一致。第一PC机通过第一数据采集器采集驾驶员发出的信号,并根据驾驶员发出的控制信号控制驾驶员场景视角的变化;第二PC机通过第二数据采集器采集炮长和车长发出的控制信号,并根据信号控制炮长场景视角的变化。这样,第一PC机通过第一分屏器可将驾驶员场景视角内的画面呈现出来,第二PC机通过第二分屏器可将炮长场景视角内的画面呈现出来。
[0012] 驾驶员室内的显示屏与第一分屏器相连接,只显示驾驶员场景视角内的画面;炮长室内的显示屏与第二分屏器相连接,只显示炮长场景视角内的画面。车长室内的两块显示屏可对驾驶员场景视角内的画面和炮长场景视角内的画面均进行显示,有利于车长根据两画面做出指示。
[0013] 监控室内的两块显示屏也分别于第一分屏器和第二分屏器相连接,以便考官对驾驶员场景视角和炮长场景视角内的画面进行观测。同时,为了更好地考察车长、炮长和驾驶员的协同作战情况,还应对其通话过程进行监听,通过驾驶员室、车长室和炮长室内的麦克以及监控室内的扬声器即可实现。
[0014] 本发明的协同式虚拟坦克仿真训练系统,包括驾驶员、车长和炮长分别进行佩戴的3个坦克帽,坦克帽内设置有话筒和耳机。通过坦克帽,有利于实现驾驶员、车长和炮长之间的通讯。
[0015] 本发明的协同式虚拟坦克仿真训练系统,所述第一数据采集器、第二数据采集器均由单片机、开关量输入模块、模数转换器以及串口电平转换电路组成;车长室、驾驶员室和炮长室内产生的开关信号通过开关量输入模块输入至单片机,模拟信号经数模转换器的转化后输入至单片机;单片机对输入的信号进行编码后,通过串口电平转换电路与第一PC机或第二PC机进行通讯;单片机还连接有电源模块和时钟电路。
[0016] 本发明的协同式虚拟坦克仿真训练系统的实现方法,其特别之处在于,包括以下步骤:a).战场环境的建立,根据随机地形生成算法或者等高线生成三维地形的算法,生成战场环境的地形;并采用天空盒技术模拟出战场环境的天空;b).构建特殊地形和障碍物,在步骤a)生成的地形中,建立随机的土包地形、土堤地形和灌木林地形,以及人工障碍物和自然障碍物;人工障碍物包括地雷场、防坦克壕、路坑、角锥、原木栅、拦障、鹿砦、防坦克堤;自然障碍包括河川、斜坡、陡崖、沟渠和树障;c).构建敌方目标,经过步骤b)的构建特殊地形和障碍物后,再创建敌军坦克、敌军战斗机、敌军直升机、步兵战车、反坦克导弹、火箭筒、反坦克炮以及敌人角色,以模拟出逼真的战场环境;d).建立观察点,在步骤c)形成的战场环境中,基于计算机3D图形处理技术中的观察函数建立驾驶员观察点、炮长观察点;驾驶员观察点的场景视角受驶员发出的离合、刹车、操纵杆6个、档位6个的控制开关信号以及一个油门信号的控制,炮长观察点的场景视角受炮长和车长发出的炮塔高低控制、左右控制的模拟开关信号的控制;e).建立风速模型,在建立的战场环境中,建立随时间变化的风速模型,并且当前的风速可在驾驶员室、车长室、炮长室内的显示器上显示出来;f).坦克的行进,第一PC机通过解析驾驶员在驾驶室内对离合、刹车、操纵杆6个、档位6个控制开关以及油门的操作信号,控制自身坦克的行进;并通过牛顿物理引擎和地形跟踪匹配技术来控制驾驶员观察点场景视角内的变化;g).碰撞检测,在坦克行进的过程中,实时检测坦克与障碍物是否有碰撞,如果有碰撞,根据障碍物的类型,如果能越过,则直接碾压而过;如果不能越过,则绕行;h).行车痕迹的遗留,在坦克经过的地形上保留坦克碾压的痕迹,在被坦克碾压的障碍物上,也保留被坦克碾压的痕迹,以便车长、驾驶员、炮手对现场进行识别;i).炮长场景视角的变化,第二PC机通过解析第二数据采集器上传的炮长和车长发出的炮塔高低控制、左右控制的模拟开关控制信号,来控制炮长观察点场景视角的变化;同时,炮长观察点场景视角还随驾驶员观察点场景视角的变化而变化;j).目标的射击,炮长观察点场景视角内设置有十字瞄准图像,十字瞄准图像受炮长和车长的炮塔高低控制、左右控制的模拟开关信号的控制;炮长或车长通过炮塔高低控制、左右控制来移动十字瞄准图像,以实现对目标的瞄准;当目标被瞄准后,可在显示器上显示被瞄准目标距射击点的距离;以便炮长或车长根据当前风速、目标距离,来判断最佳的射击方式,通过按下开炮或开枪指令,对目标进行射击;k).目标命中的检测,炮弹在运行的过程中,在竖直方向上受重力加速度g的影响、在水平方向上受风速的影响而运动;利用碰撞检测算法判断炮弹与目标是否发生碰撞,如果命中目标,则引爆目标;如果没有命中目标,则在地面上留下炮弹轰击的痕迹。
[0017] 本发明的协同式虚拟坦克仿真训练系统的实现方法,步骤c)中所述的敌方目标可设计为训练、进攻和防守三种类型;在训练模式下,一部分敌方目标静止不动,余下的敌方目标匀速运动,以便炮长、车长和驾驶员协同进行固定目标和移动目标的打靶训练;在进攻模式下,敌方目标不仅会移动,而且会打击我方,以便炮长、车长和驾驶员协同对移动目标进行歼灭;在防守模式下,敌方目标会不断地对我方坦克发起进攻,而我方坦克不可前进或回退,只能原地旋转,以训练炮长、车长和驾驶员协同下的防守技能。
[0018] 本发明的协同式虚拟坦克仿真训练系统的实现方法,步骤g)中所述的坦克与障碍物的碰撞检测以及步骤k)中所述的炮弹与目标的碰撞检测,采用沿坐标轴的包围盒AABB、包围球Sphere、固定方向凸包FDH或方向包围盒OBB的碰撞检测算法来实现;在碰撞检测算法中,采用从顶向下建立二叉树结构建立包围盒层次树。
[0019] 本发明的有益效果是:本发明的协同式虚拟坦克仿真训练系统及实现方法,通过在空间上设置与真实坦克相一致的驾驶员室、炮长室、车长室,具有数据采集和处理功能并用于运行坦克仿真训练软件的第一PC机和第二PC机,第一PC机通过第一数据采集器采集驾驶员发出的信号,第二PC机通过第二数据采集器采集炮长和车长发出的信号,实现了坦克在模拟战场环境中根据驾驶员、炮长、车长的指令进行和射击,有效地实现了驾驶员、炮长、车长的协同训练,弥补了现有单独训练的不足,有意效果突出,具有良好的使用价值和广泛的应用前景。同时,驾驶员和炮长通过显示器可观察各自场景视角内的画面,车长可同时观察到驾驶员和炮长场景视角内的画面,有利车长进行作战指挥。通过设置可进行观察驾驶员和炮长场景视角内的画面,以及可监听驾驶员、炮长、车长通话的监控室,有利于考官在监控室内对驾驶员、炮长、车长的协同作战进行考核。
[0020] 本发明的协同式虚拟坦克仿真训练系统的实现方法,建立的驾驶员观察点的场景视角受驾驶员发出信号的控制,建立的炮长观察点的场景视角不仅受炮长和车长发出信号的控制,而且还随驾驶员观察点的变化而变化,使得模拟更加逼真。在炮弹运行的过程中,其运行轨迹受当前风力和重力作用的影响,有利于考核炮长和车长是否根据当前风速、目标距离做出准确的射击。在坦克与障碍物的碰撞检测以及炮弹与目标的碰撞检测过程中,采用基于包围盒的算法并通过二叉树结构建立包围盒层次树,在保证了碰撞检测准确性的同时,最大限度的降低了计算量,有利于实现碰撞的快速检测和反应,有利于整个模拟软件的运行。

附图说明

[0021] 图1为本发明中车长室、驾驶员室和炮长室的空间布置图;
[0022] 图2为本发明的的协同式虚拟坦克仿真训练系统的原理图;
[0023] 图3为本发明中第一数据采集器和第二数据采集器的电路原理图;
[0024] 图4为本发明的协同式虚拟坦克仿真训练系统的实现方法的流程图。
[0025] 图中:1车长室,2驾驶员室,3炮长室,4座椅,5显示器,6第一数据采集器,7第一分屏器,8第一PC机,9第二PC机,10交换机,11服务器,12第二分屏器,13第二数据采集器,14语音采集电路,15麦克,16扬声器,17单片机,18开关量输入模块,19电源模块,20时钟电路,21模数转换器,22模拟量输入,23串口电平转换电路。

具体实施方式

[0026] 下面结合附图与实施例对本发明作进一步说明。
[0027] 如图1所示,给出了车长室、驾驶员室和炮长室的空间布置图,所示的驾驶员室2位于右下方,炮长室3位于驾驶员室2的上方;车长室1位于驾驶员室2与炮长室3中间位置的后方,这种布局形式,不仅与真实的坦克布局形式相一致,而且有利于车长对炮长、驾驶员的状态进行观察,考察其动作熟练性。车长室1、驾驶员室2和炮长室3内均设置有显示器5,以实现相应场景视角内的画面。
[0028] 如图2所示,给出了本发明的的协同式虚拟坦克仿真训练系统的原理图,其包括第一PC机8、第二PC机9、交换机10、服务器11、第一数据采集器6、第二数据采集器13、第一分屏器7、第二分屏器12、语音采集电路14、麦克15以及扬声器16;所示的第一PC机8和第二PC机9通过交换机10与服务器11相连接,第一PC机8和第二PC机9不仅具有数据采集和运算作用,而且还用于运行坦克仿真训练的应用软件。服务器11用于实现第一PC机8与第二PC机9之间的通讯,并保证其所显示场景画面的一致性。
[0029] 第一PC机8通过第一数据采集器6采集驾驶员发出的信号,驾驶员发出的信号包括16路开关信号和1路模拟信号;16路开关信号为离合、刹车、警报器、总开关、操纵杆6个、档位6个的控制开关信号,1路模拟信号为油门信号。第一数据采集器6将采集的模拟信号和开关信号进行转化和编码后,输入至第一PC机8中,第一PC机8根据接收到数据的编码不同,可识别出驾驶员发出的不同指令,以做出相应的反应。
[0030] 第二PC机9通过第二数据采集器13采集炮长和车长发出的信号,炮长发出的信号包括开枪、开炮、填弹、弹种选择的开关信号,其中弹种选择包括多个开关信号,以实现对不同弹种的选择。例如对穿甲弹、碎甲弹、破甲弹、榴弹等弹种的选择;炮长发出的信号还包括炮塔高低控制、左右控制的4路模拟信号,以控制炮塔的高、低运动,以及炮塔的左、右运动。车长室内设置有开枪、开炮、填弹的开关信号,以及控制炮塔高低控制、左右控制的4路模拟信号。炮长、车长发出的信号经第二数据采集器13的转化和编码后,输入至第二PC机9中;第二PC机9根据接收到信号的编码不同,可判断出信号的指令含义,以及是由炮长所发还是车长所发。
[0031] 所示的第一PC机8连接有第一分屏器7,第一分屏器7用于显示驾驶员场景视角内的画面,用于坦克行进之用;第二PC机9连接有第二分屏器12,第二分屏器12用于显示炮长场景视角内的画面,用于炮长和车长的射击目标之用。所示的驾驶室内显示器与第一分屏器7相连接,因为驾驶员只需观察其场景视角内的画面;炮长室内的显示器与第二分屏器12相连接,以为炮长只需观察其场景视角内的画面。车长室内的两个显示器分别于第一分屏器7和第二分屏器12相连接,这样,车长可对驾驶员场景视角内的画面和炮长场景视角内的画面同时进行观测,以便对驾驶员和炮长进行作战指挥。
[0032] 这样,第一PC机8和第二PC机9分别通过第一数据采集器6、第二数据采集器13可分别采集和识别出驾驶员、炮长、车长发出的指令信息,并根据指令信息在坦克坦克仿真训练的应用软件上反应出来,实现了驾驶员、炮长、车长协同作战下的坦克行进、目标攻击的训练。
[0033] 如图3所示,给出了本发明中第一数据采集器和第二数据采集器的电路原理图,其均包括单片机17、开关量输入模块18、电源模块19、时钟电路20、模数转换器21、模拟量输入22以及串口电平转换电路23,单片机17具有信号采集、数据运算和控制输出的作用。单片机17通过开关量输入模块18实现对开关量信息的采集,通过模数转换器21实现对模拟输入量22的采集。电源模块19用于提供整个数据采集器工作所需的电能,时钟电路20用于提供单片机17工作所需的脉冲信号。串口电平转换电路23可实现单片机17侧的TTL电平与PC机侧的RS232电平之间的转换,以实现数据采集器与PC机之间的通讯。
[0034] 如图4所示,给出了本发明的协同式虚拟坦克仿真训练系统的实现方法的流程图,其通过以下步骤来实现:
[0035] a).战场环境的建立,根据随机地形生成算法或者等高线生成三维地形的算法,生成战场环境的地形;并采用天空盒技术模拟出战场环境的天空;
[0036] 天空盒技术,就是用一矩形方盒作为天空远景贴图的载体,天是由一长方体,在它的各个面上贴有表示天的图片形成的。天空盒技术具有生成迅速、真实感强、实时性好和易于实现等优点。
[0037] b).构建特殊地形和障碍物,在步骤a)生成的地形中,建立随机的土包地形、土堤地形和灌木林地形,以及人工障碍物和自然障碍物;人工障碍物包括地雷场、防坦克壕、路坑、角锥、原木栅、拦障、鹿砦、防坦克堤;自然障碍包括河川、斜坡、陡崖、沟渠和树障;
[0038] 在树木的建立过程中,采用十字透明贴图技术,具体方法是把一个立方体(Cube)改变大小成一个宽为0的面,然后双面都贴上树的贴图,再复制成另一立方体,最后将两个双面都贴图的立方体以十字型的方式交叉,这样一来不管视角如何,都可观察到逼真的书的形状。
[0039] c).构建敌方目标,经过步骤b)的构建特殊地形和障碍物后,再创建敌军坦克、敌军战斗机、敌军直升机、步兵战车、反坦克导弹、火箭筒、反坦克炮以及敌人角色,以模拟出逼真的战场环境;
[0040] 坦克、战机模型可采用多边形建模的方法和NURBS曲面建模技术来实现,可采用3DSMAX、Maya或Rhino建模工具;敌人角色可采用MD2动画模型和MDL动画模型建立。
[0041] 其中,敌方目标可设计为训练、进攻和防守三种类型;在训练模式下,一部分敌方目标静止不动,余下的敌方目标匀速运动,以便炮长、车长和驾驶员协同进行固定目标和移动目标的打靶训练;在进攻模式下,敌方目标不仅会移动,而且会打击我方,以便炮长、车长和驾驶员协同对移动目标进行歼灭;在防守模式下,敌方目标会不断地对我方坦克发起进攻,而我方坦克不可前进或回退,只能原地旋转,以训练炮长、车长和驾驶员协同下的防守技能。
[0042] d).建立观察点,在步骤c)形成的战场环境中,基于计算机3D图形处理技术中的观察函数建立驾驶员观察点、炮长观察点;驾驶员观察点的场景视角受驶员发出的离合、刹车、操纵杆6个、档位6个的控制开关信号以及一个油门信号的控制,炮长观察点的场景视角受炮长和车长发出的炮塔高低控制、左右控制的模拟开关信号的控制;
[0043] 观察点好像是我们的眼睛,也好像是我们手中的摄像机。驾驶员观察点随驾驶员的操作而变化,炮长观察点随炮长和车长的控制操作而变化;观察点发生变化,计算机屏幕上的图像就发生变化,也就相当于我们大脑的映像发生变化。
[0044] e).建立风速模型,在建立的战场环境中,建立随时间变化的风速模型,并且当前的风速可在驾驶员室、车长室、炮长室内的显示器上显示出来;
[0045] 战场环境中的风,主要对炮弹的运行轨迹产生影响;
[0046] f).坦克的行进,第一PC机通过解析驾驶员在驾驶室内对离合、刹车、操纵杆6个、档位6个控制开关以及油门的操作信号,控制自身坦克的行进;并通过牛顿物理引擎和地形跟踪匹配技术来控制驾驶员观察点场景视角内的变化;
[0047] 运用牛顿物理引擎控制坦克的运行,使其遵守固定的规律。如:当人跳起的时候,重力加速度值g将决定他能跳多高,以及他落下的速度有多快;子弹的飞行轨迹、坦克的颠簸方式都有其决定。采用地形跟踪匹配技术有利于在虚拟世界中获得与显示世界相似的视觉体现,那么行进中的地表运动实体(如坦克)就应该紧贴地面行驶,并随着地面的起伏而起伏颠簸,而不应该长时间的腾空飞行,或者钻入地形内部。
[0048] g).碰撞检测,在坦克行进的过程中,实时检测坦克与障碍物是否有碰撞,如果有碰撞,根据障碍物的类型,如果能越过,则直接碾压而过;如果不能越过,则绕行;
[0049] h).行车痕迹的遗留,在坦克经过的地形上保留坦克碾压的痕迹,在被坦克碾压的障碍物上,也保留被坦克碾压的痕迹,以便车长、驾驶员、炮手对现场进行识别;
[0050] i).炮长场景视角的变化,第二PC机通过解析第二数据采集器上传的炮长和车长发出的炮塔高低控制、左右控制的模拟开关控制信号,来控制炮长观察点场景视角的变化;同时,炮长观察点场景视角还随驾驶员观察点场景视角的变化而变化;
[0051] j).目标的射击,炮长观察点场景视角内设置有十字瞄准图像,十字瞄准图像受炮长和车长的炮塔高低控制、左右控制的模拟开关信号的控制;炮长或车长通过炮塔高低控制、左右控制来移动十字瞄准图像,以实现对目标的瞄准;当目标被瞄准后,可在显示器上显示被瞄准目标距射击点的距离;以便炮长或车长根据当前风速、目标距离,来判断最佳的射击方式,通过按下开炮或开枪指令,对目标进行射击;
[0052] k).目标命中的检测,炮弹在运行的过程中,在竖直方向上受重力加速度g的影响、在水平方向上受风速的影响而运动;利用碰撞检测算法判断炮弹与目标是否发生碰撞,如果命中目标,则引爆目标;如果没有命中目标,则在地面上留下炮弹轰击的痕迹。
[0053] 步骤g)中所述的坦克与障碍物的碰撞检测以及步骤k)中所述的炮弹与目标的碰撞检测,采用沿坐标轴的包围盒AABB、包围球Sphere、固定方向凸包FDH或方向包围盒OBB的碰撞检测算法来实现;在碰撞检测算法中,采用从顶向下建立二叉树结构建立包围盒层次树。