[转] VR-FORCES 介绍
轉(zhuǎn)自:https://sanwen8.cn/p/1e6GQeK.html
今天給各位介紹的仿真平臺是VR-Forces。VR-Forces是新加坡公司MAK的產(chǎn)品,前身是美國公司。在仿真平臺領(lǐng)域里面,VR-Forces算得上是小兄弟了,年輕有好處也有壞處,下面聽我慢慢道來。
1、VR-Forces概述
VR-Forces是一套先進的分布式計算機兵力生成軟件和工具包,從名字就可以看出VR-Forces是用來做兵力推演的,最初的VR-Forces僅僅是為了配合VR-Link而開發(fā)的一個簡單的FOM對象管理工具而已,是為了更好的管理兵力推演中的大量HLA實體的。而VR-Link可以簡單地認為是RTI的一個封裝,比直接使用RTI簡單。
接下來有必要說一下背景了。MAK公司是做RTI起家的,他家的RTI絕對是COTS RTI中最強悍和穩(wěn)定的RTI,也是仿真交互組織力推的RTI之一。因此VR-Forces從產(chǎn)生開始就遵循了RTI和HLA的特點并根植于RTI,如松散式集成,基于RTI的服務,利用FOM管理對象等。
從上面的圖里面可以看出,VR-Forces提供了的分布式戰(zhàn)場態(tài)勢仿真功能和二維戰(zhàn)場地圖顯示圖形用戶界面(4.x版本支持三維),底層通信支持HLA、DIS和TENA網(wǎng)絡構(gòu)架,通過VR-Forces工具包可以擴展該軟件的仿真功能和定制用戶界面。其中對TENA的支持是禁運的,不過俺們團隊搞到了,嘿嘿......
2、VR-Forces技術(shù)架構(gòu)分析
VR-Forces的技術(shù)架構(gòu)如下圖所示:
啊?又是這么簡單?沒搞錯吧?是的,就是這樣清爽!作為小弟的VR-Forces還是比較簡單的,但它確實是遵循了MVC的新的建模思想,將界面、控制(引擎)和模型分開了。
從上圖中可以看出,VR-Forces有兩個執(zhí)行文件組成,一個負責界面,一個負責引擎,分別通過各自的API與VR-Link相連。目前VR-Forces提供如下的API:
1)仿真API:用來定制或者擴展后臺運行的仿真引擎;
2)界面API:用來定制或者擴展前臺的圖形用戶界面,這是基于QT的,可以改造后部分支持中文。
3)遠程控制API:從其他應用向VR-Forces后臺引擎發(fā)送指令;
4)插件API:用來在現(xiàn)有的VR-Forces界面上開發(fā)新的補充功能,這種插件和PS的插件很相似,不能修改主界面和功能。
實體對象是VR-Forces中的核心對象,實體對象具有功能行為,可以執(zhí)行任務。通過實體對象模型可以描述仿真實體的屬性和行為。實體對象的屬性對應仿真中實體的狀態(tài),實體對象的行為通過任務建模來實現(xiàn)。
VR-Forces對實體對象的描述借鑒了Agent的很多思想,一個實體對象的結(jié)構(gòu)由四部分組成,如下圖所示。
1)傳感器。負責模擬外部環(huán)境,涵蓋了對復雜作戰(zhàn)環(huán)境的探測、分類、識別和確認的全過程。
2)控制器。控制器負責根據(jù)傳感器的輸入條件產(chǎn)生相應的動作或者任務,任務的傳輸是通過HLA的消息機制實現(xiàn)的。
3)作動器。作動器表示了實體對象的物理模型,也就是模型自身的運動學或者動力學過程。作動器將控制器的指令輸入后調(diào)用自身的計算模型完成作戰(zhàn)使命。
4)實體狀態(tài)。描述實體隨著仿真推進而變化的本身的狀態(tài)參數(shù),通過與前面三個組件的交互使得實體狀態(tài)得以不斷更新。
3、VR-Forces技術(shù)優(yōu)缺點分析
VR-Forces作為仿真平臺界的后來者,從根本上采用了面向?qū)ο蟮慕7椒ê蛙浖こ痰膶崿F(xiàn)方法。這個年輕的平臺優(yōu)缺點同樣突出:
1)VR-Forces從內(nèi)核里面就支持HLA,因此是HLA開發(fā)的強有力工具,但是對單機的支持就弱了,且不說RTIEXEC配置的復雜性,就是在單機也啟動VR-LINK就夠煩的了。
2)MVC架構(gòu)加上大量設計模式的使用使得VR-Forces成為目前架構(gòu)最先進的仿真框架之一。可惜的是MAK公司的戰(zhàn)略注重在對外國用戶的技術(shù)服務上,對國內(nèi)應用現(xiàn)狀了解太少,試問在國內(nèi)的軍方和工業(yè)部門的工科設計員中會熟練使用工廠類的人有幾個?據(jù)小編了解,在國外MAK以技術(shù)服務為主,即為用戶開發(fā)定制產(chǎn)品居多,但這一套拿到國內(nèi)來就水土不服了。
3)二次定制和開發(fā)工作量巨大。VR-Forces內(nèi)置的模型、實體對象均是美俄裝備,而且按照DIS的命名規(guī)范組織,拿到國內(nèi)來幾乎沒有用處,基本上全部需要定制開發(fā)。怪異的是MAK竟然連一個基本的類向?qū)Чぞ叨紱]提供,只能按照例子自己修改,加上除了C++外還要學**MAK自己的腳本語言(STAGE也有),開發(fā)難度可想而知。
4)這點是我最不能忍受的——MAK產(chǎn)品更改的隨意性!一個VR-Forces發(fā)展到4.X版本變化之大令人驚嘆!在VR-Forces的升級中基本不考慮老用戶的感受,API向下不兼容是常事,而且動不動架構(gòu)也變化,連可視化內(nèi)核也經(jīng)歷了從VP到OSG的巨變,可以說基本上沒有延續(xù)性。這個問題對于一個年輕的平臺來說尤為重要,哪個開發(fā)者愿意每次升級就要重新學**一邊API的?
總結(jié)
以上是生活随笔為你收集整理的[转] VR-FORCES 介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中国彩吧有彩票助手吗?中国彩吧彩票助手在
- 下一篇: apply()的使用