我的订单|我的收藏|我的商城|帮助中心|返回首页
虚拟现实新闻>VR>行业资讯>行业知识

船舶操纵模拟系统 视景多通道技术研究

文章来源:第三维度 作者: 发布时间:2012年01月10日 点击数: 字号:

    来源:第三维度
    作者:沈敏 刘传勇 李保国
    单位:海军兵种指挥学院

    船舶操纵训练系统投影拼接中,多通道同步是系统难点。为了使训练效果最佳、临场感觉更逼真,需要将几个投影通道进行水平拼接,从而达到360度全景的效果。每一通道的图象由一台计算机产生,如果生成的图象相差太大,拼接后形成的环形画面就不是一个整体。要解决这个问题,需要对视点的前后、左右、上下、旋转、横摇、纵倾六个自由度进行同步,对20批次目标的六自由度进行同步,对港区地形位置的六自由度进行同步以及动态海浪、带缆等特效进行同步控制,另外对光照、能见度、环境参数均须进行同步控制,数据量大,控制复杂。

    船舶操纵训练系统的体系结构

    系统设计为多节点主/从模式 ,其中一个节点作为主控机 ,其余节点为从节点 ,每个节点就是一台完整的 PC图形工作站 ,节点间通过 100/1000 MBps 的以太网卡和高速网络交换机实现互连。

    系统使用并行式多计算机进行模拟。分系统方框图如图1所示。为避免传输场景模型数据占用大量网络资源,在每个节点本地磁盘中分别存储了相同的场景模型。采用10个投影仪分别连接对应计算机,形成十通道360℃水平视场角。

    系统对视景的要求及其技术实现

    要实现多通道画面的无缝拼接,各视景生成节点必须保持同步。实现多通道同步跟网络通信有密切关系。系统对网络通信的要求主要为:(1)占用较小的带宽。(2)尽可能短的通信处理时间。(3)数据更新率至少为图形更新率的2倍。

    1.协议的选择

    视景仿真中常用的协议:

    (1)传输控制协议(简称TCP)。TCP提供如确认与超时重传机制、滑动窗口机制等来进行流量控制和拥塞处理。这些机制保证了TCP服务的可靠性,但却增加了网络开销,所以不适合实时性数据

    (2)用户数据协议(简称UDP)。UDP由于没有建立连接和撤销连接以及可靠性机制,它的效率非常高,适合传输实时性数据。然而由于UDP的不可靠,在视景仿真中采用UDP协议通信应在发送的报文头中加入校验位,以保证数据传输的可靠性。

    为了系统能扩展和与其它大规模DVE系统对接,在设计中采用了DIS的信息交换标准。在分布式虚拟环境网络上进行信息的交互是通过DIS协议数据单元、协议数据单元(简称PDU)来传递的。

    2.通信方式的选择

    IP通信有三种方式:

    (1)单播。单播方式是在一台源IP主机和一台目的IP主机间进行,即点对点通信。仿真器内主控机与I/O控制机、运动控制机间的通信均可采用单播方式。

    (2)广播。是在一台源IP主机和网络中所有其它IP主机之间进行。采用广播方式通信时,会将信息发给不需要的主机,浪费网络带宽,而且可能由于路由回环引起严重的广播风暴。

    (3)组播。IP组播是标准的IP网络协议的扩展,组播结合了点对点和广播通信的优点,能大大节省网络带宽,只有加入一个组播组里的节点才能接受该组播数据报。主控节点与各视景节点的通信方式为一点到多点的操作,因此采用组播方式是最好的选择。

    建造逼真的虚拟环境,网络通信系统的瓶颈问题是网络带宽的有限性。我们采用的是复制式分布系统,系统中由各主机负责其创建的实体状态和虚拟环境,实体状态的改变采用标准协议传递给其他主机,每台仿真主机负责解释所接收的信息。每台主机既是一个服务器又是客户机,不仅响应所接收的其他主机发出的标准协议数据,而且还要不断发送本机的标准协议数据,保证各主机均获得虚拟空间的对象状态。通信软件必须保证实时接收和发送各种保证协议数据,消除网络延迟。

    系统显示部分采用多通道图象投影拼接。为了使相邻投影仪投射的视景之间边界畸变尽可能缩小,采用如下技术措施:

    (1)增量发送。数据无变化时不发送,使数据发送量最少,占用较小带宽,减少网络碰撞或阻塞所造成的消息包重发延时。

    (2)消息包定长定构。消息包定长就可以将缓冲区设置成固定长度,使信息延时最少;消息包定构使数据可以整块读写,省去数据分割时间。

    (3)事件驱动接收。省去了接收方的等待与查询时间,提高了系统性能。

    系统对网络通信的要求及其技术实现

    系统在设计上采用多线程的结构 ,主节点上运行 4 个线程 ,分别负责系统控制、用户交互、网络通信、运动计算;每个 PC 节点均采用 Windows2000/XP 为操作系统,底层图形 API 选用 OpenGL。各个软件模块采用 VC++6.0 开发,并封装成标准 API的形式,最终提供给用户的是一个集成开发包。用户通过该开发包可直接将单通道视景仿真程序应用于多通道系统,并可以通过多通道配置程序方便地管理和配置多通道系统。

    网络通信模块是整个软件系统的核心。在视景仿真应用中 ,各图形显示通道应能够精确同步。不能出现肉眼可察觉的延迟或使场景出现跳跃感,每个通道都要达到 30 fps 以上显示速度以满足用户交互的需要。

    该模块主要负责系统各节点之间信息传递 ,包括主控节点向视景生成节点发送的视点参数和发送的场景控制命令。由于船航行时会不断地运动,所以发送时间间隔会很短,大概是10-20ms。视点参数是一个形如(x,y,z,h,p,r)的数据结构,分别代表X、Y、Z轴坐标和观察方向用的三个欧拉角Heading、Pitch、Roll的值,还有船的速度、加速度等信息。另外,控制信息包括天气变化、昼夜变化、新目标、船的动作等,当节点接收到这些信息后,做出相应动作。

    多通道系统在运行过程中,主节点要不断从节点发送控制参数和视点位置,还要不断接受用户操作指令,而系统又不能消耗过多的资源免妨碍用户的操作。所以 ,程序在设计上采用线程模式以实现多任务并行。在主节点上运行程序中需要开启两个进程,前台进程负责接收用户操作指令,后台进程负责节点间的通信。

    网络通讯软件必须考虑对数据丢失和延迟进行适当的处理和补偿,以保证仿真精度。另外在系统运行的过程中 ,如果某节点的场景三角面数量骤然增加,将出现帧绘制速度下降, 每台计算机生成的图象的帧数相差得太大,那么经过拼接后形成的环形画面就不是一个整体,这时采用推算定位进行解决。推算定位技术允许ghost(本地节点中的动态实体对象在其它节点中的镜像)同其本体对象之间存在一定范围内的状态差异,只有在误差超过阈值的情况下才进行处理,

    在数据丢失的情况下,可以运用推算定位算法,在满足一定精度的前提下,在上一帧数据基础上推算出本帧的状态数据。在数据延迟和帧数相差情况下,我们采用基于时间戳的方案,仿真实体在发送数据包时对每个数据包都打上一个时间戳,接收接点在收到数据包后,根据时间戳和数据包到达时间计算传输延迟,并将实体状态递推到当前值再进行推算。另外,根据时间戳当前发送的数据和推算的数据进行比较,如果帧数相差,则当前的视景生成节点进行平滑处理,可以跳2帧和当前数据靠近,直到和发送过来的数据一致,从而达到同步。如果帧数相差严重时,从节点向主节点发送消息,可采用负载平衡算法降低此类情况对系统的影响。本系统采用消息传递机制实现各节点的通信。视景仿真各节点从主控节点获得视景生成所需参数,并在需要时返回视景生成节点的状态。

    另外,为了多通道同步,还可以从另外两方面考虑:一是可以提高计算机运行速度,这样可以解决由于计算机运算能力不足的而引起的不同步。二是场景模型可以采用多分辩率技术,降低模型复杂度,降低计算机计算量,从而避免不同步。这两种方法切实可行。

    应用效果与结论

    经过充分调研、理论推导和多次试验,创造性地以平板拼接屏幕代替以往的圆柱弧形屏幕,成功地解决了困扰视景仿真多年的投影拱形非线性失真的难题,现场感很强,屏幕上海平面仍然保持为一直线。一进入模拟驾驶室,第一感觉就是非常逼真,也大大减小了系统造价。十个通道的产生的画面就感觉是同一时刻、同一视点产生的。

  • 暂无资料
  • 暂无资料
  • 暂无资料
  • 暂无资料
  • 暂无资料