国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

模擬潛望鏡半實物仿真系統(tǒng)設(shè)計與實現(xiàn)

2011-08-20 08:41楊國志熊先鋒賈玉柱張文彬
艦船科學(xué)技術(shù) 2011年9期
關(guān)鍵詞:視景線程潛艇

楊國志,熊先鋒,賈玉柱,張文彬

(1.海軍工程大學(xué)船舶與動力學(xué)院,湖北 武漢 430033;2.海軍92196部隊,山東 青島 266011)

0 引言

系統(tǒng)仿真是利用科學(xué)技術(shù)方法構(gòu)造能反映實際系統(tǒng)表征和基本特性的模型,以達(dá)到對系統(tǒng)實驗、分析、研究的目的[1],在復(fù)雜系統(tǒng)和裝備研制、生產(chǎn)、訓(xùn)練的各個環(huán)節(jié)都得到廣泛的運(yùn)用。隨著武器裝備的發(fā)展,潛艇作為一種水下作戰(zhàn)武器,其潛望鏡的戰(zhàn)術(shù)作用不可忽視,被稱作潛艇的“眼睛”,指揮員的航行、作戰(zhàn)等指令決策很大程度上要依靠潛望鏡的觀察情況。依托實際裝備的航行訓(xùn)練、演習(xí)是目前部隊針對潛望鏡使用訓(xùn)練的普遍途徑,而利用仿真手段設(shè)計模擬潛望鏡參與該項訓(xùn)練,將大大降低訓(xùn)練成本和提高訓(xùn)練效果。為此,我們開發(fā)設(shè)計了潛艇模擬潛望鏡仿真系統(tǒng)。

1 模擬潛望鏡仿真系統(tǒng)總體結(jié)構(gòu)

針對潛望鏡實際裝備的使用和技術(shù)情況,設(shè)計了模擬潛望鏡本體硬件系統(tǒng)、虛擬視景及控制模塊及潛艇運(yùn)動控制模塊等為主體的半實物仿真系統(tǒng),如圖1所示。

圖1 模擬潛望鏡仿真系統(tǒng)結(jié)構(gòu)Fig.1 Structure of periscope's simulation syatem

模擬潛望鏡本體硬件系統(tǒng)是參訓(xùn)人員操作的物理仿真平臺,硬件接口與信息處理模塊采集和處理潛望鏡操作控制部件電氣信號,并將這些信號傳送給虛擬視景模塊產(chǎn)生相應(yīng)的場景變化;視景控制模塊構(gòu)建虛擬海洋環(huán)境、地理信息、目標(biāo)信息等場景案例;潛艇運(yùn)動控制模塊提供本艇運(yùn)動的主要姿態(tài)參數(shù);虛擬視景模塊根據(jù)以上信息渲染潛望鏡視景,并傳送到模擬潛望鏡本體的顯示器終端。系統(tǒng)利用RS-232及以太網(wǎng)實現(xiàn)數(shù)據(jù)的實時通信。

2 模擬潛望鏡本體硬件系統(tǒng)

2.1 硬件系統(tǒng)主要技術(shù)設(shè)計

參照潛望鏡實體結(jié)構(gòu)原理,針對潛望鏡操作和使用特點(diǎn),在保持模擬潛望鏡與實體外觀和基本功能一致的前提下,對其基本硬件部位進(jìn)行了電路設(shè)計,主要的技術(shù)手段包括:

1)視野光路。選用液晶顯示器作為虛擬視景的終端設(shè)備,與潛望鏡目鏡之間使用光學(xué)透鏡構(gòu)造光路,調(diào)整透鏡的位置和方向,構(gòu)建模擬視野光路,并保持目鏡調(diào)焦、單雙目切換等基本功能。

2)基本操作設(shè)備的改造。保持實體外觀一致的情況下,對倍率選擇、濾鏡選擇及俯仰控制等部件,改換適當(dāng)?shù)奈恢瞄_關(guān)接入,應(yīng)用程序采集位置狀態(tài)進(jìn)行操作的識別。

3)潛望鏡轉(zhuǎn)動角度的跟隨。在虛擬潛望鏡中心轉(zhuǎn)軸上固接能同步轉(zhuǎn)動的旋轉(zhuǎn)編碼器,作為潛望鏡轉(zhuǎn)動角度測量的設(shè)備。旋轉(zhuǎn)編碼器的選用主要考慮脈沖計數(shù)輸出范圍、頻率等方面的適用條件,保證跟蹤轉(zhuǎn)動角度準(zhǔn)確、實時。

4)測距及顯示模塊。設(shè)計了矩陣鍵盤和數(shù)碼管顯示電路,作為潛望鏡測距功能部分的模擬設(shè)備。

2.2 硬件系統(tǒng)主要接口設(shè)計

根據(jù)系統(tǒng)需要,專門設(shè)計了硬件采集和驅(qū)動電路,采用RS-232串行通信與虛擬視景模塊進(jìn)行數(shù)據(jù)交換。主要功能設(shè)計有:

1)采用8255芯片擴(kuò)展采集旋轉(zhuǎn)編碼器位置。旋轉(zhuǎn)編碼器脈沖計數(shù)芯片選用QA740808R,數(shù)據(jù)寬度為24位,保證數(shù)據(jù)的精度和范圍。

2)采用8255芯片作為數(shù)字量I/O通道,實現(xiàn)控制部件狀態(tài)采集和測距顯示模塊的控制。控制部件開關(guān)狀態(tài)直接接入8255數(shù)據(jù)端口,而潛望鏡測距顯示模塊的矩陣鍵盤和數(shù)碼管顯示,設(shè)計了擴(kuò)展電路進(jìn)行控制。

3)硬件系統(tǒng)采用51系列單片機(jī)芯片,使用C語言開發(fā)編程,主要實現(xiàn)對8255芯片擴(kuò)展功能的控制,以及RS-232串行通信與上位機(jī)進(jìn)行數(shù)據(jù)交換。為了達(dá)到系統(tǒng)實時性的要求,使用了單片機(jī)時間中斷和串口中斷進(jìn)行進(jìn)程控制。

3 虛擬視景及控制模塊

3.1 虛擬視景模塊軟件設(shè)計與實現(xiàn)

近年來出現(xiàn)了多種虛擬作戰(zhàn)視景仿真需要的仿真支撐軟件,如OpenGL、Vetree、3Dmax等,而實時三維建模和仿真軟件MultiGen Creator和Vega由于其先進(jìn)的功能在包括軍事的各個工程領(lǐng)域的視景仿真開發(fā)中得以廣泛采用。本系統(tǒng)采用MultiGen Creator實時三維建模工具,高效、優(yōu)化地生成實時三維(RT3D)數(shù)據(jù)庫,與實時仿真軟件Vega緊密結(jié)合,完成潛望鏡虛擬視景的構(gòu)建。

圖2 潛望鏡視景效果截屏Fig.2 Interface of periscope's virtual scene

利用可視化的應(yīng)用程序開發(fā)工具VC++編寫了基于MFC的Vega應(yīng)用程序,實現(xiàn)了潛望鏡視景場景的驅(qū)動和渲染。主要作了如下幾個方面的處理:

1)對object進(jìn)行結(jié)構(gòu)化管理。為了有效管理object的各種信息(靜態(tài)、動態(tài)屬性以及添加/刪除指令、特效等控制信息),定義了object結(jié)構(gòu)。

2)使用fst模型文件格式載入模型。Vega提供了一種轉(zhuǎn)換工具可以把a(bǔ)df文件里的flt模型文件轉(zhuǎn)換為 fst文件格式[2-3]。Vega的 fst文件格式為系統(tǒng)盡可能快的加載模型到場景中提供了一種有效的途徑。fst文件的數(shù)據(jù)方式與Vega場景里需要的方式非常相似,所以可以非常快的載入。其他的文件格式在加入Vega場景時對系統(tǒng)運(yùn)行時間沒有什么影響,但在系統(tǒng)需要動態(tài)實時調(diào)入模型數(shù)據(jù)尤其是大規(guī)模模型數(shù)據(jù)時就有很大的延時,影響渲染效果。

3)視景觀察者的控制。潛望鏡作為視景環(huán)境的觀察者,這里采用手動調(diào)整方式來控制它在場景中的位置和姿態(tài)。視景渲染進(jìn)程循環(huán)中實時接收潛望鏡的操縱控制信息和潛艇的運(yùn)動姿態(tài)數(shù)據(jù),更新觀察者的位置和姿態(tài),給出潛望鏡與本艇結(jié)合的動態(tài)效果。

4)創(chuàng)建單獨(dú)的線程完成Vega渲染的任務(wù)。MFC把線程分為用戶界面線程和工作者線程:用戶界面線程一般用于處理用戶輸入事件并對事件做出響應(yīng),實現(xiàn)線程的代碼中含有消息循環(huán);工作者線程與用戶界面無關(guān),主要用于各種耗時的計算量大的場合[3]。Vega系統(tǒng)需要實時的進(jìn)行渲染循環(huán),這是個非常耗時的計算過程,顯然創(chuàng)建單獨(dú)的工作者線程來完成Vega渲染的任務(wù)是恰當(dāng)?shù)摹?/p>

5)碰撞檢測和特效處理。使用Isector實例與視景中的角色對象綁定,根據(jù)相交測試結(jié)果實時增加爆炸、煙火等特效??紤]到相交測試的計算量對CPU的占用,這里只選取相交點(diǎn)坐標(biāo)和相交的模型對象名稱2種相交測試的結(jié)果信息進(jìn)行處理,減少相交測試的計算量。

3.2 視景控制功能設(shè)計與實現(xiàn)

視景控制模塊在VC++環(huán)境下開發(fā),主要任務(wù)包括:

1)海圖信息的處理。加載海圖信息,并完成海圖信息的提取、計算、顯示等工作;

2)環(huán)境設(shè)置。以菜單形式進(jìn)行海況(風(fēng)浪等級)、天氣(陰晴雨雪)、時間(晨午夜)、光線(明暗)、能見度等自然環(huán)境的選擇設(shè)置;

3)目標(biāo)設(shè)置。可使用鼠標(biāo)對目標(biāo)進(jìn)行增減、移動、改變屬性等控制,進(jìn)行目標(biāo)方位、航向、航速、航線等信息的設(shè)置,并在海圖中實時更新。

電子海圖用于圖形化實時反映仿真環(huán)境的態(tài)勢變化,通過讀取地理信息數(shù)據(jù)文件并進(jìn)行判斷處理后繪制地圖,除了經(jīng)緯度標(biāo)定、測距、測角等功能外,還可以實現(xiàn)對地圖的縮放、移動等靈活操作。艦船、島嶼等目標(biāo)信息的態(tài)勢變化通過坐標(biāo)映射、動態(tài)繪圖的方法在以海圖為背景的界面上以線條圖標(biāo)的形式顯示。

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

4 潛艇運(yùn)動控制模塊

潛艇可視為一個剛體,其運(yùn)動可以分解成沿通過潛艇重心G的三根垂直相交軸方向的移動及繞各軸的轉(zhuǎn)動,即六自由度的運(yùn)動。根據(jù)使用目的和實驗條件不同,潛艇操縱方程的形式較多,這里選用潛艇運(yùn)動線性方程[4],利用狀態(tài)空間矢量法建立仿真模型。根據(jù)實艇操縱經(jīng)驗,通過對各水動力系數(shù)的分析,忽略一些次要水動力系數(shù)的作用,同時還充分考慮了各自由度運(yùn)動之間的耦合影響。

垂直面運(yùn)動線性方程:

水平面運(yùn)動線性方程:

式中:m,P,V分別為潛艇質(zhì)量、重力和航速;Iy和Iz為對動系坐標(biāo)軸的轉(zhuǎn)動慣量;u,v,w分別為縱向速度、橫向速度和垂向速度;p,q,r分別為橫傾角速度、縱傾角速度和回轉(zhuǎn)角速度;Z0和M0分別為零升力和零升力矩;Zw,,Zδb,,Yv,,Yr,Yδ,,Nr等為對應(yīng)的水動力系數(shù)。

采用狀態(tài)空間法求解潛艇運(yùn)動空間矢量方程,利用Matlab/Simulink工具箱建立潛艇運(yùn)動仿真模型,解算出本艇運(yùn)動的主要參數(shù)(位置、深度、航速、航向、縱傾、橫傾等姿態(tài)信息),實現(xiàn)潛望鏡與本艇的動態(tài)姿態(tài)匹配。

圖4 系統(tǒng)運(yùn)行信息流程Fig.4 Flow chart of system running information

5 系統(tǒng)運(yùn)行流程及測試

整個仿真系統(tǒng)的運(yùn)行以模擬潛望鏡為物理實物,計算機(jī)仿真系統(tǒng)實時解算、控制。系統(tǒng)主要的信息流程如圖4所示。從系統(tǒng)運(yùn)行情況來看,數(shù)據(jù)傳輸穩(wěn)定、實時性好,能滿足訓(xùn)練要求。

6 結(jié)語

該半實物仿真系統(tǒng)的設(shè)計和實現(xiàn),為潛望鏡系統(tǒng)的使用訓(xùn)練提供了方便、經(jīng)濟(jì)的方法,能在保證物理操作感覺真實、虛擬視景逼真的前提下,反映潛望鏡使用的基本工作原理。該系統(tǒng)已經(jīng)成功運(yùn)用到某型潛艇操縱模擬器系統(tǒng),與潛艇操縱訓(xùn)練結(jié)合(提供操縱、運(yùn)動姿態(tài)信息)開展?jié)撏R系統(tǒng)使用訓(xùn)練,并取得較好的仿真訓(xùn)練效果。該系統(tǒng)軟件接口開放,還可以與導(dǎo)航、對抗、魚攻等訓(xùn)練模塊結(jié)合,形成綜合仿真訓(xùn)練系統(tǒng)。

[1]單家元,孟秀云,丁艷.半實物仿真[M].北京:國防工業(yè)出版社,2008.

[2]葉疊,仲梁維,羅云.基于Vega/MultiGen的三維仿真漫游系統(tǒng)的研究與實現(xiàn)[J].計算機(jī)工程與設(shè)計,2005,26(2):362-363.

[3]龔卓容.Vega程序設(shè)計[M].北京:國防工業(yè)出版社,2002.

[4]邢繼峰,林俊興,戴余良.潛艇操縱[M].武漢:海軍工程大學(xué)出版社.2003.

猜你喜歡
視景線程潛艇
十分鐘讀懂潛艇史(下)
實時操作系統(tǒng)mbedOS 互斥量調(diào)度機(jī)制剖析
潛艇哥別撞我
虛擬現(xiàn)實技術(shù)在游戲設(shè)計中的應(yīng)用及研究
十分鐘讀懂潛艇史(上)
潛艇躍進(jìn)之黃金時代
某炮模擬訓(xùn)練系統(tǒng)中三維視景的設(shè)計與實現(xiàn)
基于國產(chǎn)化環(huán)境的線程池模型研究與實現(xiàn)
基于預(yù)測和雙緩沖區(qū)的直升機(jī)視景仿真
全回轉(zhuǎn)拖輪運(yùn)動建模與視景仿真
平阳县| 顺昌县| 桓台县| 临邑县| 沧源| 江油市| 搜索| 常山县| 什邡市| 洱源县| 玉树县| 云和县| 五华县| 建水县| 新化县| 天门市| 松滋市| 靖西县| 成都市| 平阴县| 大名县| 黑水县| 明光市| 昌都县| 巴东县| 澜沧| 四会市| 嵊州市| 台江县| 松江区| 华容县| 旬邑县| 当涂县| 边坝县| 河北区| 阳原县| 平乡县| 滕州市| 黄骅市| 宾川县| 建阳市|