亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于OSG的船橋碰撞檢測技術仿真

        2014-11-28 09:45:41關克平江靖楠王靜波
        中國航海 2014年2期
        關鍵詞:橋體視景碰撞檢測

        關克平, 江靖楠, 王靜波

        (上海海事大學 商船學院,上海 201306)

        基于OSG的船橋碰撞檢測技術仿真

        關克平, 江靖楠, 王靜波

        (上海海事大學 商船學院,上海 201306)

        為進一步提高船舶操縱模擬器的真實性,使其更加有效地應用于港航論證和船舶操縱模擬培訓中,業(yè)界一直致力于研究較為關鍵的模型碰撞檢測技術。在介紹船舶操縱模擬器視景系統(tǒng)、Multigen Creator三維場景建模技術和OSG三維場景渲染技術的基礎上,通過分析多種包圍盒技術并比較其優(yōu)劣,在滿足精度要求的前提下,選取軸向包圍盒技術分別構建船舶和橋體的碰撞檢測包圍盒,并提出相應的檢測算法及優(yōu)化方案,最后成功應用于船舶操縱模擬器的視景系統(tǒng)中。

        水路運輸;開源場景圖形(OSG);碰撞檢測;船橋碰撞;包圍盒

        隨著我國船舶逐漸向大型化方向發(fā)展以及交通流密度不斷增大,船舶航行對橋梁安全的影響日益顯著。船橋碰撞是最常見的事故類型之一,只有安裝橋墩防撞預警系統(tǒng)并對駕駛?cè)藛T進行船舶模擬操縱的培訓,才能更有效地降低此類事故的發(fā)生率。船舶模擬操縱通過對橋區(qū)水域的模擬而較多地應用于通航安全影響論證和通航安全評估中。[1]

        船舶操縱模擬器三維視景系統(tǒng)中常見的驅(qū)動技術有OpenGVS、Vega Prime(VP) 和OpenSceneGraph(OSG)等,其中OSG是唯一開源的場景圖形管理開發(fā)庫,渲染品質(zhì)高、可移植性好,為研究提供了很好的技術支持。[2]碰撞檢測是船舶操縱模擬器中關鍵的技術之一,直接影響仿真效果的真實性,同時也是船橋碰撞仿真系統(tǒng)中最重要的一個環(huán)節(jié)。因此,在OSG的技術環(huán)境下,創(chuàng)造性地提出船橋碰撞檢測算法及其在復雜環(huán)境中的優(yōu)化方案,在三維視景系統(tǒng)中取得滿意的效果。

        1 船舶操縱模擬器及其技術支持

        1.1船舶操縱模擬器

        船舶操縱模擬器可以使人參與到系統(tǒng)的仿真運行中去,通過相關儀器設備給出的航行信息,人為地控制航速、航向,使駕駛?cè)藛T達到訓練、通航安全評估和海事分析等的目的。其一般由教練臺、主控機、雷達、電子海圖和投影系統(tǒng)(投影機和圖形計算機)等組成,可實現(xiàn)不同水域、不同風流環(huán)境、不同交通會遇狀況和不同能見度下的航行、避讓、靠離泊訓練與評估。[3]

        1.2MultigenCreator三維建模技術

        Multigen Creator軟件能夠?qū)崟r優(yōu)化OpenFlight數(shù)據(jù),可應用于大面積矢量建模、多面形建模和大面積地形精確生成。[3]其與OSG的結合性較好,在視景仿真、模擬訓練、城市仿真等實時仿真領域處于世界領先地位。在Creator環(huán)境下制作的三維模型通常保存為*.flt文件格式,支持LOD(Levels of Detail)、BSP(Binary Space Partitioning)等多種場景優(yōu)化組織結構,包含模型層次樹信息,不僅便于在OSG中導入,而且可以對其進行讀與寫。

        1.3OSG三維渲染引擎

        OSG的相關擴展模塊使該項技術功能更加豐富,如OsgEarth,其功能類似于GoogleEarth,具有良好的地形實時生成效率,可生成離線地形或根據(jù)高程圖與紋理實時生成地形;可實現(xiàn)矢量圖渲染、高度測量、距離查詢等功能。還有較常用的OsgOcean,是OSG的擴展海洋模塊,其特點在于可以逼真地仿真大面積水域,并在其基礎上進行二次開發(fā),以完善水域的仿真效果。

        2 船舶與橋體碰撞檢測和響應流程

        在OSG中實現(xiàn)船舶與橋體碰撞檢測的流程及橋體模型(見圖1和圖2)。

        圖1 船撞橋碰撞檢測和響應流程圖

        模型建好后,在OSG中將其導入,并進行場景驅(qū)動渲染,然后對模型進行碰撞檢測,最后調(diào)用相應的碰撞效果。其中,通過碰撞檢測可得出碰撞點的三維世界坐標及該點的法線信息,為碰撞響應算法提供必要的參數(shù)信息。因此,在實現(xiàn)船舶與橋墩碰撞的三維仿真中,碰撞檢測是最關鍵的環(huán)節(jié)。

        3 OSG包圍盒碰撞檢測技術

        在虛擬仿真中,檢測模型間的碰撞時,通常先檢測兩個模型的包圍盒是否有碰撞,若無碰撞,則兩模型之間肯定沒有相交;若有碰撞,根據(jù)層次結構樹原理,自上而下依次檢測其枝節(jié)節(jié)點及葉子節(jié)點的包圍盒是否相交。若出現(xiàn)相交,則停止檢測,返回相交結果;若檢測完其葉子節(jié)點仍未相交,可判斷兩者不相交。

        圖2 Creator中構建的橋體模型及其層次結構圖

        3.1包圍盒技術

        包圍盒的構建類型有很多,以下列舉幾種常用的包圍盒。[5]

        3.1.1包圍球(Bounding Sphere)

        OSG中,在構建場景樹時就已經(jīng)為每個節(jié)點構造了一個包圍球,并成為相應節(jié)點的屬性,而并非在求取時專門構建。[6]需要算法時,可以通過getBound()直接調(diào)用。其一般適用于輪廓接近于球體的包圍盒的構建,可通過兩個包圍球的半徑之和與兩者球心距離的關系,初步判斷兩個模型是否相交,但是不適用于長方體或條狀物包圍盒的構建。

        3.1.2軸向包圍盒AABB(Axis-Aligned Bounding Box)

        軸向包圍盒的各個方向與坐標軸方向平行,一般是長方體。[7-8]OSG中較常用的包圍盒構建類型能滿足基本碰撞檢測精度的要求。

        在進行森林保護工作時,更多的是依靠人工對森林做出相關的保護措施。因此林區(qū)保護人員的專業(yè)素質(zhì)就顯得非常重要。但是目前我國林區(qū)工作人員大多數(shù)并非經(jīng)過專業(yè)培訓,且在工作中并不能做到科學保護,對于森林中出現(xiàn)的常見問題也不能很好的處理,很有可能會對森林造成二次傷害。林區(qū)保護人員的工作水平問題也是森林保護工作發(fā)展的一個重要阻礙,必須及時妥善的處理這個問題。

        圖3為船舶模型的AABB包圍盒,分別記錄包圍盒在X、Y、Z3個軸上投影的最大值和最小值,并保存為3個矩陣,即Mat[0]=[Xmin,Xmax]、Mat[1]=[Ymin,Ymax]和Mat[2]=[Zmin,Zmax],通過組合可以得到包圍盒8個頂點的位置信息。船舶在X、Y、Z軸上的投影區(qū)間分別為(Xmin,Xmax)、(Ymin,Ymax)和(Zmin,Zmax),若與另一物體的包圍盒在3個坐標上的投影區(qū)間同時重合,則判斷兩物體包圍盒相交,否則不相交。

        3.1.3方向包圍盒OBB(Oriented Bounding Box)

        方向包圍盒是三維空間中能夠包圍物體的沿任意方向構建的最小長方體包圍盒,其緊密性較上述兩種包圍盒更好。在OSG中可通過改進算法和坐標轉(zhuǎn)換實現(xiàn),但相交測試較復雜。

        圖3 船舶模型AABB包圍盒及其頂點坐標

        3.1.4離散方向多面體包圍盒k-DOP(kDirection Orientation Polytopes)

        k-DOP[8]是一種多面體包圍盒,不僅能夠包含該對象,而且其所有面的法向量都取自一個固定的方向(k個向量)集合。k-DOP比其他包圍體更緊密地包圍原物體,k的取值越大,包圍的就越緊密,而計算復雜度越高,求交運算也就越復雜。

        由于課題研究對象是船模和橋墩,其結構基本成軸對稱且輪廓接近長方體。綜合考慮上述各種包圍盒的優(yōu)劣,在保證一定碰撞檢測精度的前提下,最終選取AABB軸向包圍盒技術。該技術在OSG中實現(xiàn)碰撞檢測的算法較其他方法的可行性更高,程序耗費量較低。

        3.2OSG碰撞檢測算法

        3.2.1場景層次樹構建

        進行碰撞檢測之前構建合理的場景層次樹,使算法運行時占用較小內(nèi)存,有利于提高碰撞檢測的效率。碰撞檢測判斷流程見圖4,需構建的場景層次結構見圖5。

        在OSG中建立一個findNodeVisitor 的osg::NodeVisitor的派生類,用于讀取*.flt結構樹中的用于碰撞檢測的節(jié)點b_1、b_2、b_3和b_4(見圖2),并作為OSG場景樹中4個用于碰撞檢測的橋墩節(jié)點brg_1、brg_2、brg_3和brg_4讀入,最后分別添加至brg組節(jié)點下。findNodeVisitor類的定義代碼在主程序中通過accept()調(diào)用即可。

        class findNodeVisitor : public osg::NodeVisitor

        {

        public:

        virtual void apply(osg::Node amp;searchNode);//將正在訪問的節(jié)點名稱與搜索節(jié)點名稱相比較,若相符,則添加至節(jié)點列表

        圖4 碰撞檢測判斷流程圖

        圖5 船橋碰撞的場景層次結構圖

        osg::Node* getFirst();//獲取第一個與搜索字符串名稱相符合的節(jié)點

        ……};

        3.2.2碰撞檢測模塊

        該模塊建立了一個碰撞檢測的類[5,9],主要用于檢測包圍盒之間是否產(chǎn)生碰撞,其主要代碼為:

        class DecCallback: public osg::NodeCallback

        {public:

        virtual void operator()(osg::Node*node,osg::NodeVisitor*nv)

        {……//定義相關包圍盒訪問器;

        ship-gt;getParent(0)-gt;accept(boundvisitor1);//建立ship上一級父節(jié)點坐標系下的包圍盒訪問器;

        bridge-gt;accept(boundvisitor2); //建立bridge在當前父節(jié)點坐標系下的包圍盒訪問器

        ………//分別獲取船舶的包圍盒box_ship和整個橋體的包圍盒box_bridge;

        collision_sign=box_ship.intersects(box_bridge);//用來標記船舶是否碰撞的bool型變量,碰撞為True,不碰撞為False

        if(collision_sign==True)//判斷船和整體橋體模型是否碰撞,若碰撞,則進行下列操作:

        {……//判斷船舶包圍盒與四個橋墩的包圍盒是否發(fā)生碰撞。}}};

        上述代碼中,分別把船舶和橋體模型作為節(jié)點類型讀入為ship和bridge,由于它們是gp場景根節(jié)點的不同分支,直接求ship包圍盒的坐標和bridge包圍盒的坐標不在同一個坐標系內(nèi),無法進行碰撞檢測。因此,只有求出ship在其上一級父節(jié)點的坐標系中包圍盒的位置,才能與橋體的包圍盒一起完成正確的碰撞檢測。[7]

        在主程序中使用如下代碼,可使場景在更新每一幀時調(diào)用碰撞檢測:

        gp-gt;setUpdateCallback(new DecCallback);

        該碰撞算法可以實時檢測碰撞,且具有一定的碰撞精度。其碰撞檢測效果見圖6和圖7。

        圖6 船舶未與橋墩碰撞的情況

        圖7 船模和橋墩碰撞的情況

        4 算法優(yōu)化

        4.1碰撞檢測算法的優(yōu)化

        在碰撞檢測算法中,還可利用OSG的IntersectVisitor遍歷節(jié)點和所有子節(jié)點。在OSG中讀入節(jié)點時,構建它們的k-D樹,以便更進一步加快碰撞檢測速度。[5]主程序中調(diào)用k-D樹的代碼為

        osgDB::Registry::instance()-gt;setBuildKdTreeHint(osgDB::Renderwriter::OPtions::BUILD_KDTREES);

        在進行碰撞檢測時調(diào)用InterseetionVisitor::SetUseKdTreewhenAvailable,可進一步提高碰撞檢測效率。

        4.2包圍盒的優(yōu)化

        仔細觀察圖8,由于碰撞角度不同,當檢測到兩包圍盒碰撞時,船舶和橋墩可能還未發(fā)生碰撞。因此,需進一步優(yōu)化包圍盒的構建方案。圖8(左)是前文所構建的包圍盒;圖8(中)是進一步優(yōu)化的橋墩包圍盒,其下端明顯更接近實際橋墩模型,進行碰撞檢測的精度也更高。如對碰撞檢測要求更高,可對橋墩模型進行分段構建包圍盒(見圖8(右)),但該方法的碰撞檢測算法更為復雜,運算量大。實際應用中可根據(jù)需要選擇構建包圍盒的算法。[10]

        圖8 橋墩模型的AABB包圍盒和Convex hull包圍盒

        5 結 語

        運用OSG技術,通過構建模型的包圍盒,對船撞橋時船舶和橋墩的碰撞檢測進行初步模擬,并已成功應用到船舶操縱模擬器中。該項技術也可獲取碰撞點的世界坐標法線等參數(shù),為后期碰撞響應算法的加入提供技術支持。

        [1] 關克平,施朝健,肖英杰,等. 港航設計論證中的三維視景建模技術[J]. 系統(tǒng)仿真學報,2006(S2):436-440.

        [2] YUAN Peng, WANG Shujie, ZHANG Jiwei,et al. Virtual Reality Platform Based on Open Sourced Graphics Toolkit Open Scene Graph[A]. Proceedings of 2007 10th IEEE International Conferences on Computer Aided Design and Computer Graphics,2007.

        [3] 關克平,陳錦標,施朝健. 基于Creator和Vega的航海模擬器三維視景系統(tǒng)開發(fā)[A].2006系統(tǒng)仿真技術及其應用學術交流會論文集,2006.

        [4] 於文.基于OSG的航海模擬器視景系統(tǒng)關鍵技術研究[D].廈門:集美大學,2012.

        [5] 辛靜.基于增強現(xiàn)實的機械臂運動碰撞檢測算法研究[D].北京:北京郵電大學,2011.

        [6] FAN Wenshan,WANG Bin,PAUL J C,et al. An Octree-Based Proxy for Collision Detection in Large-Scale Particle Systems[J]. Science China:Information Sciences, 2013(1): 55-64.

        [7] 楊曉,廉靜靜,張新宇. 基于OSG的虛擬場景中包圍盒碰撞檢測的研究[J]. 計算機技術與發(fā)展,2011(9):32-34.

        [8] 汪璇. 基于OSG的分布式汽車駕駛模擬器運行仿真及碰撞檢測研究[D].武漢:武漢理工大學,2008.

        [9] ICCD: Interactive Continuous Collision Detection Between Deformable Models Using Connectivity-Based Culling[J].IEEE Transactions on Visualization and Computer Graphics,2009,15(4):544.

        [10] COMING, DANIEL S, STAADT, et al. Velocity-Aligned Discrete Oriented Polytopes for Dynamic Collision Detection[J].IEEE Transactions on Visualization and Computer Graphics, 2008, 14(1):1-12.

        SimulationonShip-BridgeCollisionDetectionTechnologyBasedonOSG

        GUANKeping,JIANGJingnan,WANGJingbo
        (Merchant Marine College, Shanghai Maritime University, Shanghai 201306, China)

        In order to improve the facticity of simulation, simulator developers turn attention to three-dimensional collision detection technology, which is one of the key technologies for that purpose. The visual system of the ship handling simulator, the three dimensional modeling technology based on Multigen Creator and the rendering technology of 3D scene based on Open Scene Graph(OSG) are introduced, and the different bounding boxes algorithms are compared. The Axis-aligned bounding box algorithm is chosen for the collision detection, and corresponding detection technology and optimization approaches are presented. The model has been successfully used in the visual system of a ship handling simulator.

        waterway transportation; Open Scene Graph(OSG); collision detection; ship-bridge collision; bounding box

        2014-02-10

        國家自然科學基金(51149001);上海市教育委員會科研創(chuàng)新項目(11CX49);上海海事大學研究生物創(chuàng)新基金(2013ycx032)

        關克平(1978-),男,福建寧德人,副教授,研究方向為港航安全論證、航海仿真技術等。E-mail:kpguan@shmtu.edu.cn.

        1000-4653(2014)02-0035-04

        U666.158

        A

        猜你喜歡
        橋體視景碰撞檢測
        全新預測碰撞檢測系統(tǒng)
        基于虛擬樣機技術的叉車轉(zhuǎn)向橋動靜態(tài)特性分析*
        基于BIM的鐵路信號室外設備布置與碰撞檢測方法
        vega及其在戰(zhàn)場環(huán)境視景仿真系統(tǒng)中的應用
        電子測試(2018年4期)2018-05-09 07:28:19
        Unity3D中碰撞檢測問題的研究
        電子測試(2018年1期)2018-04-18 11:53:00
        BIM技術下的某辦公樓項目管線碰撞檢測
        全回轉(zhuǎn)拖輪運動建模與視景仿真
        基于Vortex與Vega Prime的車輛模擬器動力學與視景仿真
        固定橋橋體齦端形態(tài)對牙周組織影響的臨床研究
        空心型箱型框架橋力學特性有限元分析
        鐵道建筑(2011年4期)2011-05-08 12:06:16
        亚洲精品久久久久中文字幕一福利 | 亚洲国产精品自拍成人| 亚洲a∨无码精品色午夜| 人妻丰满熟妇av无码片| 亚洲人妻无缓冲av不卡| 中文字幕亚洲精品一二三区| 精品亚洲天堂一区二区三区| 五月综合激情婷婷六月色窝| 热久久久久久久| 在线一区二区三区免费视频观看| 国内久久婷婷六月综合欲色啪| 桃花影院理论片在线| 国产自产精品露脸刺激91在线| 亚洲综合天堂一二三区| 国产亚洲精品熟女国产成人| 国产精品_国产精品_k频道| 国产精品毛片久久久久久l| 亚洲小少妇一区二区三区| 国产人妻高清国产拍精品| 欧美日韩视频无码一区二区三 | 亚洲av无码男人的天堂在线| 亚洲欧洲AV综合色无码| 日本师生三片在线观看| 好男人社区影院www| 奇米狠狠色| 国产精品三级国产精品高| 精品熟人妻一区二区三区四区不卡 | 强d乱码中文字幕熟女免费| av午夜久久蜜桃传媒软件| 日本高清中文字幕一区二区三区| 一区二区三区国产天堂| 少妇久久久久久人妻无码| 亚洲色大成网站www尤物| 老熟妇高潮av一区二区三区啪啪| 美女下蹲露大唇无遮挡| 中文成人无字幕乱码精品区| 免费国产h视频在线观看86| 日韩中文字幕在线丰满| 亚洲精品无码久久久久去q| 中国大陆一级毛片| 国产在线a免费观看不卡|