本發(fā)明涉及潛水器運(yùn)動(dòng)模擬技術(shù)領(lǐng)域,特別是涉及一種基于網(wǎng)絡(luò)的潛水器運(yùn)動(dòng)模擬可視化系統(tǒng)。
背景技術(shù):
潛水器操縱運(yùn)動(dòng)的研究是評(píng)估潛水器運(yùn)動(dòng)路徑穩(wěn)定性、方向穩(wěn)定性等性能的重要方法。通過(guò)建立幾何模型和操縱運(yùn)動(dòng)模型,應(yīng)用數(shù)值方法求解相關(guān)運(yùn)動(dòng)參數(shù),對(duì)潛水器進(jìn)行運(yùn)動(dòng)模擬,已經(jīng)發(fā)展為較為成熟的研究方法。但目前對(duì)潛水器的運(yùn)動(dòng)模擬主要是研究人員自己編程或是借助已有的軟件,通過(guò)編程并繪圖的方法較為復(fù)雜耗時(shí),且難以實(shí)現(xiàn)直觀實(shí)時(shí)的運(yùn)動(dòng)模擬觀測(cè);借助軟件的方法則存在軟件安裝較為麻煩,操作使用困難以及部分軟件費(fèi)用高昂的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于針對(duì)現(xiàn)有技術(shù)的不足,提供一種基于網(wǎng)絡(luò)的潛水器運(yùn)動(dòng)模擬可視化系統(tǒng),以使?jié)撍鬟\(yùn)動(dòng)模擬在Web瀏覽器上實(shí)現(xiàn)簡(jiǎn)便直觀的可視化。
本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案為:
一種基于網(wǎng)絡(luò)的潛水器運(yùn)動(dòng)模擬可視化系統(tǒng),包括服務(wù)器端和用戶(hù)端;其中,所述的用戶(hù)端設(shè)有用戶(hù)層,所述的服務(wù)器端設(shè)有應(yīng)用層和數(shù)據(jù)庫(kù)層,所述的用戶(hù)端用于設(shè)置潛水器的初始運(yùn)動(dòng)狀態(tài)和路徑點(diǎn)并從服務(wù)器端獲取所需信息并根據(jù)返回信息顯示潛水器運(yùn)動(dòng)模擬的三維場(chǎng)景;所述的服務(wù)器端用于根據(jù)用戶(hù)端輸入的信息調(diào)用數(shù)據(jù)庫(kù)信息并經(jīng)應(yīng)用層計(jì)算處理后返回至用戶(hù)端。
上述技術(shù)方案中,所述的用戶(hù)端包括:Web瀏覽器、數(shù)據(jù)獲取模塊以及AJAX框架;其中:所述的Web瀏覽器用于供用戶(hù)設(shè)置潛水器的初始運(yùn)動(dòng)狀態(tài)和路徑信息,并根據(jù)從服務(wù)器端返回的信息顯示潛水器模擬運(yùn)動(dòng)的三維場(chǎng)景;所述的數(shù)據(jù)獲取模塊用于從服務(wù)器端獲取數(shù)據(jù)庫(kù)的相關(guān)信息;所述的AJAX框架用于創(chuàng)建交互式網(wǎng)頁(yè),使網(wǎng)頁(yè)實(shí)現(xiàn)異步更新。
所述的服務(wù)器端包括:應(yīng)用程序、SQL數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)接口以及可擴(kuò)展交互系統(tǒng);其中:所述的應(yīng)用程序通過(guò)數(shù)據(jù)庫(kù)接口調(diào)用SQL數(shù)據(jù)庫(kù)信息,用于對(duì)調(diào)用的信息進(jìn)行模塊化的計(jì)算處理;所述的可擴(kuò)展交互系統(tǒng)提供創(chuàng)建服務(wù)器端、用戶(hù)端和網(wǎng)關(guān)SOAP操作的基本框架;所述的SQL數(shù)據(jù)庫(kù)儲(chǔ)存用于計(jì)算和模擬潛水器運(yùn)動(dòng)的各種參數(shù)。
所述的應(yīng)用程序包括如下封裝模塊:
操縱模型模塊,用于對(duì)潛水器的路徑穩(wěn)定性和方向穩(wěn)定性進(jìn)行驗(yàn)證;
水動(dòng)力計(jì)算模塊,用于對(duì)船體、翼、舵及螺旋槳的慣性項(xiàng)、阻尼項(xiàng)和耦合項(xiàng)進(jìn)行計(jì)算;
運(yùn)動(dòng)系統(tǒng)模塊,用于利用四元數(shù)法、歐拉角法、歐拉軸法及方向余弦法對(duì)潛水器的運(yùn)動(dòng)進(jìn)行分析計(jì)算;
導(dǎo)航系統(tǒng)模塊,用于對(duì)潛水器進(jìn)行路徑和路徑點(diǎn)規(guī)劃,并結(jié)合導(dǎo)航方法進(jìn)行導(dǎo)航模擬;
控制系統(tǒng)模塊,通過(guò)改變螺旋槳轉(zhuǎn)速和舵角,應(yīng)用PID控制器進(jìn)行潛水器運(yùn)動(dòng)狀態(tài)的控制;
求解器模塊,用于對(duì)潛水器運(yùn)動(dòng)參數(shù)的常微分方程組進(jìn)行求解;
可視化系統(tǒng)模塊,用于將潛水器相關(guān)模型和運(yùn)動(dòng)參數(shù)轉(zhuǎn)化為可視化信息。
本發(fā)明的有益效果是:本發(fā)明系統(tǒng)使得將潛水器相關(guān)參數(shù)的輸入及對(duì)路徑點(diǎn)的設(shè)置均在用戶(hù)端瀏覽器上進(jìn)行,直觀易操作;服務(wù)器端對(duì)接收的數(shù)據(jù)進(jìn)行求解分析,將復(fù)雜的計(jì)算過(guò)程模塊化,完全在服務(wù)器中完成。求解得到的運(yùn)動(dòng)參數(shù)返回到用戶(hù)端,并生成三維圖像在Web瀏覽器上進(jìn)行顯示,結(jié)果具有實(shí)時(shí)性和高效性,可視化效果好,減少解讀抽象資料的時(shí)間,且對(duì)于結(jié)果的觀察、記錄和分析比較簡(jiǎn)便和直觀。
附圖說(shuō)明
圖1為本發(fā)明系統(tǒng)的邏輯架構(gòu)示意圖。
圖2為本發(fā)明系統(tǒng)的實(shí)現(xiàn)流程圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作詳細(xì)說(shuō)明。
如圖1和2所示,本發(fā)明的一種基于網(wǎng)絡(luò)的潛水器運(yùn)動(dòng)模擬可視化系統(tǒng),包括服務(wù)器端和用戶(hù)端;所述的用戶(hù)端設(shè)有用戶(hù)層,可以采用基于X3D架構(gòu)的Web瀏覽器可視化界面,用于設(shè)置潛水器的初始運(yùn)動(dòng)狀態(tài)和路徑點(diǎn)并從服務(wù)器端獲取所需信息,并根據(jù)返回信息在Web瀏覽器上顯示潛水器運(yùn)動(dòng)模擬的三維場(chǎng)景;所述的服務(wù)器端設(shè)有應(yīng)用層和數(shù)據(jù)庫(kù)層,用于根據(jù)用戶(hù)端輸入的信息調(diào)用數(shù)據(jù)庫(kù)信息并經(jīng)應(yīng)用層計(jì)算處理后返回至用戶(hù)端。
用戶(hù)端包括Web瀏覽器、數(shù)據(jù)獲取模塊以及AJAX框架;所述的Web瀏覽器用于供用戶(hù)設(shè)置潛水器的初始運(yùn)動(dòng)狀態(tài)和路徑信息,并根據(jù)從服務(wù)器端返回的信息顯示潛水器模擬運(yùn)動(dòng)的三維場(chǎng)景;所述的數(shù)據(jù)獲取模塊用于從服務(wù)器端獲取數(shù)據(jù)庫(kù)的相關(guān)信息,可以采用JavaScript語(yǔ)言編程實(shí)現(xiàn);所述的AJAX框架用于創(chuàng)建交互式網(wǎng)頁(yè),使網(wǎng)頁(yè)實(shí)現(xiàn)異步更新。
服務(wù)器端包括基于Java構(gòu)建的應(yīng)用程序(Servlet)、SQL數(shù)據(jù)庫(kù)、Java數(shù)據(jù)庫(kù)接口(JDBC)以及可擴(kuò)展交互系統(tǒng)(AXIS),其中Servlet中包括操縱模型模塊、水動(dòng)力計(jì)算模塊、運(yùn)動(dòng)系統(tǒng)模塊、導(dǎo)航系統(tǒng)模塊、控制系統(tǒng)模塊、求解器模塊以及可視化系統(tǒng)模塊,通過(guò)Java數(shù)據(jù)庫(kù)接口調(diào)用SQL數(shù)據(jù)庫(kù)信息,用于對(duì)調(diào)用的信息進(jìn)行計(jì)算處理;所述的可擴(kuò)展交互系統(tǒng)提供創(chuàng)建服務(wù)器端、用戶(hù)端和網(wǎng)關(guān)SOAP操作的基本框架;所述的SQL數(shù)據(jù)庫(kù)儲(chǔ)存用于計(jì)算和模擬潛水器運(yùn)動(dòng)的各種參數(shù)。
其工作流程如下:
1.用戶(hù)在用戶(hù)端的Web瀏覽器上的操作界面輸入潛水器形狀參數(shù),路徑點(diǎn)坐標(biāo)和潛水器的初始狀態(tài)參數(shù),包括位置坐標(biāo)、速度、角速度、舵角以及螺旋槳轉(zhuǎn)速等。
2.用戶(hù)端通過(guò)數(shù)據(jù)獲取模塊從Web瀏覽器接收上述參數(shù)信息并傳遞至服務(wù)器端。
3.服務(wù)器端接收到信息后,各模塊根據(jù)操作界面輸入的信息動(dòng)態(tài)調(diào)用SQL數(shù)據(jù)庫(kù),計(jì)算處理并整合。Servlet為核心計(jì)算區(qū),通過(guò)JDBC調(diào)用數(shù)據(jù)庫(kù),實(shí)現(xiàn)信息的傳送、修改和存儲(chǔ)。SQL數(shù)據(jù)庫(kù)里儲(chǔ)存了包括X3D物件原型、潛水器的外形參數(shù)、舵和螺旋槳的水動(dòng)力參數(shù)、NACA翼型參數(shù)以及速度、角速度、位置坐標(biāo)等用于潛水器計(jì)算和模擬運(yùn)動(dòng)的各種參數(shù)。
Servlet封裝的各模塊對(duì)信息進(jìn)行處理的具體功能如下:
操縱模型模塊進(jìn)行回轉(zhuǎn)測(cè)試、螺旋測(cè)試、Z型測(cè)試等模擬,對(duì)潛水器的路徑穩(wěn)定性和方向穩(wěn)定性進(jìn)行驗(yàn)證;
水動(dòng)力計(jì)算模塊分別對(duì)船體、翼、舵及螺旋槳的慣性項(xiàng)、阻尼項(xiàng)和耦合項(xiàng)進(jìn)行計(jì)算;
運(yùn)動(dòng)系統(tǒng)模塊利用四元數(shù)法、歐拉角法、歐拉軸法及方向余弦法對(duì)運(yùn)動(dòng)進(jìn)行分析計(jì)算;
導(dǎo)航系統(tǒng)模塊應(yīng)用線(xiàn)性、三次樣條曲線(xiàn)和B樣條曲線(xiàn)進(jìn)行路徑和路徑點(diǎn)規(guī)劃,并結(jié)合LOS(Line of Sight)瞄準(zhǔn)線(xiàn)導(dǎo)航方法進(jìn)行導(dǎo)航模擬;
控制系統(tǒng)模塊通過(guò)改變螺旋槳轉(zhuǎn)速和舵角,應(yīng)用PID控制器進(jìn)行潛水器運(yùn)動(dòng)狀態(tài)的控制;
求解器模塊使用四階龍格-庫(kù)塔方法對(duì)潛水器運(yùn)動(dòng)參數(shù)的常微分方程組進(jìn)行求解;
可視化系統(tǒng)模塊應(yīng)用Java.I.O.和2D JFreeChart將潛水器、螺旋槳、NACA翼型、等模型和運(yùn)動(dòng)參數(shù)轉(zhuǎn)化為可視化信息。
4.信息返回用戶(hù)端,并處理成可視化的結(jié)果顯示在Web瀏覽器上,用戶(hù)通過(guò)Web瀏覽器對(duì)潛水器運(yùn)動(dòng)模擬的三維場(chǎng)景進(jìn)行觀察、操作和記錄。
以上所述僅為本發(fā)明的一個(gè)較佳實(shí)施例而已,并不構(gòu)成對(duì)本發(fā)明的任何限制,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。