• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于RCRSS的可視化研究

      2018-08-18 08:23:26盧卓桓
      數(shù)字技術與應用 2018年4期
      關鍵詞:可視化

      盧卓桓

      摘要:本文通過對RoboCup救援仿真平臺的Viewers層進行研究,找出RCRSS實現(xiàn)可視化的方法與技術,并應用該平臺的可視化技術對仿真地圖的顯示內容加以補充、修改、刪減等,使地圖上所呈現(xiàn)的畫面更能滿足開發(fā)人員對仿真整體過程的把握以及對重要信息的獲取,從而能提高調試效率,減少開發(fā)時間。

      關鍵詞:RCRSS;可視化;救援仿真

      中圖分類號:TP18 文獻標識碼:A 文章編號:1007-9416(2018)04-0081-04

      1 引言

      RoboCup Rescue機器人救援仿真系統(tǒng)(RoboCupRescue Simulation System,RCRSS)是用計算機對真實世界的災難進行模擬,災難的發(fā)生是隨機的,如火災會造成房屋燒毀,市民燒傷;隨著火勢的蔓延,又會造成道路的堵塞,市民被掩埋甚至被燒死,通信中斷等。其運行環(huán)境是國際RoboCup委員會提供的標準Server。該平臺由多個模塊組合而成,分別為:內核(Kemel)、子仿真器(Sub-simulatiors)、地理信息系統(tǒng)(GIS)、顯示器(Viewers)和智能體(Agent),如圖1所示[1]。其中,Viewers的作用是利用計算機圖形學相關技術將整個救援過程可視化,即將仿真的當前狀態(tài),包括各種智能體的活動、當前火勢、道路的堵塞情況等,以圖形顯示出來[2]。本文將對Viewers層的實現(xiàn)進行分析,得到其實現(xiàn)方法,并在原來可視化的基礎上顯示我們所感興趣的內容。

      2 問題描述

      在多智能體救援仿真系統(tǒng)中,災難現(xiàn)場一般會通過2D的圖形界面顯示出來,其初始化界面如圖2所示。從該圖最上方一欄可以看到,該圖是的名稱是Kobe1,有300個仿真周期,有2條信道可供通信, Time為仿真周期,Score為仿真的分數(shù)。系統(tǒng)中的智能體用實心的小圓圈來表示:藍色代表警察,紅色代表火警,白色代表救援隊員,綠色代表市民。建筑物則是由多邊形來表示,深灰色的代表建筑物,淺灰色的代表道路。消防栓、避難所、救護中心、消防中心、警察局都以小圖片的形式形象地呈現(xiàn)在地圖中。當仿真進行了一段時間后(注:這是火災現(xiàn)場),房屋將被燒毀,根據(jù)不同的燃燒程度,房屋顏色會不一樣,顏色越深,房屋的燒毀程度越大。房屋的燃燒會導致坍塌,從而導致道路堵塞,如圖3中道路上黑色不規(guī)則圖形表示路障。市民如果處在燃燒的房屋內,則市民會被燒傷,當市民的血量為零時,市民會死亡。

      RCRSS提供了仿真所必需的可視化場景,但對于仿真人員來說,只得到這些信息還遠遠不夠。比如,研究火警(Fire Brigade)的仿真人員想要知道火警的移動路徑;研究地圖分區(qū)的仿真人員想要直觀看出地圖上的區(qū)域是否按照既定的分區(qū)規(guī)則正確劃分等。而這些信息RCRSS并沒有提供,這就需要對系統(tǒng)的Viewers層進行研究,并應用相應的可視化技術將這些信息顯示出來。

      3 RCRSS的可視化技術

      3.1 RCRSS的世界模型

      在RCRSS中,世界模型用于記錄系統(tǒng)環(huán)境中不同種類的對象[3]。比如,地圖上一個多邊形代表一間房屋,并具有房屋的一系列性質,如大小,位置,燒傷程度等。各智能體在每個仿真周期都會通過自己獲取的信息構建并更新一個代表自身周圍世界環(huán)境災害信息的世界模型。這個世界模型包括智能體ID、智能體自身信息、周圍環(huán)境信息、仿真時間等。

      在世界模型中,每種智能體、物體、房屋、道路等都有一個屬于自己且獨一無二的ID。所以,Viewers在具體顯示某一Entity(如房屋,道路,障礙等)或Agent(智能體)時,是通過ID來得到該Entity或Agent的相關屬性,進而通過特定的可視化技術將其顯示在仿真地圖上。

      3.2 圖形圖像繪制技術

      RCRSS可視化仿真平臺使用Java語言進行開發(fā),圖形的繪制采用Java 2D技術。Java 2D提供了實現(xiàn)非常復雜圖形的機制,這些機制同Java平臺的GUI體系結構很好地集成在一起。其中,在具體繪制圖形時多采用Graphics2D類。

      Graphics2D類在保留了Graphics類的繪圖方法的基礎上增加了許多新的方法。新方法將幾何圖形作為對象來繪制。在java.awt.geom包中聲明的一系列類,分別用于創(chuàng)建各種身體圖形對象。常用的主要有:Line2D(線段類)、RoundRectangle2D(圓角矩形類)、Ellipse2D(橢圓類)、Arc2D(圓弧類)、QuadCurve2D(二次曲線類)、CubicCurve2D(三次曲線類)。

      在RCRSS的Viewers中,每一圖層正是由線,矩形,圓形等基本圖形繪制而成的,比如智能體是一個小圓圈,房屋是一個多邊形等,再根據(jù)不同的屬性將圖形涂上不同的顏色。而一幅復雜的畫面則是由各個簡單圖層疊加而成的。

      所以,在實現(xiàn)自己的圖層繪制時,同樣可以使用Graphics2D類進行基本圖形的繪制,并且,使用此方法與原來平臺的方法一致,可以完美地與原有可視化內容結合起來。例如,畫一條線段使用:Line2D line = new Line2D.Double(x1, y1, x2, y2); 畫一個矩形則使用:Rectangle2D rect = new Rectangle2D.Double(x1, y1, x2, y2)。

      3.3 畫面合成技術

      RCRSS的Viewers是實時地,動態(tài)地顯示著整個災難發(fā)生及救援的過程。在這個過程中,房屋會被燒毀,道路會被堵塞,這些現(xiàn)象通過顏色和圖形的變化體現(xiàn)出來,而智能體的救援行動則是通過智能體的移動體現(xiàn)出來。僅在一張圖層上表現(xiàn)出動態(tài)復雜的圖像及動畫顯然是比較困難的。實際上,Viewers是由多個圖層疊加在一起后再顯示出一幅完整的,實時更新的圖像的,如圖4。

      這樣一來,一幅復雜的圖像,便可以分解為一張一張簡單的圖層。在RCRSS中,最終呈現(xiàn)在我們眼前的地圖是由以下的圖層構成的:

      BuildingLayer(建筑圖層):該圖層用來畫出建筑物,通過填充不同的顏色來表明建筑的燒傷程度或損壞程度;

      RoadLayer(道路圖層):該圖層用來畫出道路;

      RoadBlockageLayer(道路堵塞圖層):該圖層用來畫出道路上的堵塞物,即路障。

      AreaIconLayer(建筑圖標圖層):該圖層用來顯示出地圖上的小圖片,用小圖片代表警察局、消防中心、救援中心、消防栓和避難所等。

      AnimatedHumanLayer(動畫人物圖層):該圖層用來畫出三種智能體和市民,隨著智能體和市民的移動,該圖層會不斷更新重繪。

      PositionHistoryLayer(歷史軌跡圖層):該圖層用來顯示出智能體自上一周期到本周期的行走軌跡。

      同樣的,我們在繪制的時候只需要繪制簡單的圖層,最終再按一定規(guī)則將圖層疊加成一幅復雜的圖像。RCRSS平臺已經(jīng)給開發(fā)人員提供了增加圖層的方法:public void addLayer(ViewLayer layer),當開發(fā)人員要往地圖中增加圖層時,只需要繪制好自己的圖層,然后調用該方法,便能將圖層加到地圖中,實現(xiàn)一定的疊加效果。

      4 可視化的實現(xiàn)

      本節(jié)將通過幾個例子對RCRSS可視化的實現(xiàn)做一些具體的介紹。

      4.1 路徑可視化

      路徑規(guī)劃在救援仿真中占有十分重要的地位,特別是對于警察清障來說,如何快速地連通整個災難現(xiàn)場,為火警和救援隊員清理出最高效率的路線,幫助其快速到達救援目的地是實現(xiàn)有效救援工作的前提。

      仿真人員通過路徑規(guī)劃算法得到的路徑一般是以路的ID的形式儲存起來。那么,首先需要將ID轉換為坐標,RCRSS平臺已經(jīng)提供了轉換的方法,轉換的函數(shù)是:

      public Pair getLocation(@Nonnull StandardEntity entity)

      該函數(shù)的返回一個數(shù)對,即是坐標點;參數(shù)是地圖中的實物entity,類型是StandardEntity。接著,需要根據(jù)ID找到對應的實物entity,轉換方法是:

      public StandardEntity getEntity(@Nonnull EntityID entityID)

      由此得到的坐標并不是世界坐標,只是屏幕坐標,所以接下來要把坐標做一個轉換,映射到世界坐標上,才能繪出坐標點。比賽平臺提供了一個處理世界坐標和屏幕坐標之間轉換的類ScreenTransform,直接使用該類便能直接在地圖上繪出點來,將坐標點兩兩連線則構成了一條路徑。實現(xiàn)步驟如圖5。

      圖6為一個火警的路徑,其目的地用一個方形繪制出來。

      4.2 分區(qū)可視化

      分區(qū)策略在救援仿真系統(tǒng)中已經(jīng)成為了一種主流策略。

      分區(qū)可視化的目標是要把幾個不同的分區(qū)用不同的顏色渲染,從而使開發(fā)人員能一目了然知道分區(qū)的結果,進而判斷分區(qū)算法的有效性和可行性。

      分區(qū)后數(shù)據(jù)一般是以建筑ID的形式儲存起來,同一分區(qū)的數(shù)據(jù)儲存在一個列表中。這樣,有了同一分區(qū)建筑的ID,那么,我們就可以將一個分區(qū)的ID染上一種顏色。其實現(xiàn)流程圖如圖7,示例代碼如下:

      private void drawPartition(Building b, Polygon shape, Graphics2D g){

      ……

      for(int j=0;j

      if(b.getID().getValue()==partitionData[j]) {

      g.setColor(rendercolor.get(i)); //選色

      g.fill(shape); //填充

      }

      ……

      }

      }

      圖8為警察分區(qū)結果。

      4.3 目標物尋找可視化

      目標物尋找可視化是通過Entity的ID檢索到Entity的位置并在地圖上以其他顯眼的顏色標記出來,使調試人員能方便、迅速地找到相應的Entity。

      當調試人員輸入ID時,程序先把ID存放在列表中,然后與地圖上所有Entity的ID逐一比較,當找到對應的Entity時則把該Entity染上其他顯眼的顏色。實現(xiàn)流程圖如圖9所示,示例代碼如下:

      private void drawRoad(Road r, Polygon shape, Graphics2D g){

      if(r.getID().getValue()==Integer.parseInt(id)) {

      g.setColor(color);

      g.fill(shape);

      }

      }

      該段代碼為尋找某一路段。

      圖10為目標物的尋找結果。

      5 結語

      RoboCup Rescue救援仿真系統(tǒng)是一種典型的多智能體異構系統(tǒng),近年來已經(jīng)成為最活躍的研究熱點之一。RCRSS一方面能夠推進人工智能等相關領域的發(fā)展,另一方面能夠為人們實際的救援行動提供決策支持,幫助我們創(chuàng)造一個安全的社會。其中,對RCRSS的可視化研究可以幫助開發(fā)人員進行調試,判斷算法的好壞,從而提高開發(fā)效率,減少開發(fā)時間,有著至關重要的作用。因此,基于RCRSS的可視化研究有著深刻的意義和重要的價值。

      參考文獻

      [1]RoboCupRescue Technical Committee. RoboCup-Rescue Simulator Manual [M]. RoboCup Rescue Technical Committee, 2000-7-1.

      [2]管大琦.動態(tài)不確定環(huán)境下消防策略的研究與系統(tǒng)仿真[D].南京:東南大學機械工程學院,2009.

      [3]吳云標.RoboCup救援仿真比賽的消防策略和消防智能體任務分配研究[D].廣東工業(yè)大學,2011.

      猜你喜歡
      可視化
      無錫市“三項舉措”探索執(zhí)法可視化新路徑
      基于CiteSpace的足三里穴研究可視化分析
      自然資源可視化決策系統(tǒng)
      北京測繪(2022年6期)2022-08-01 09:19:06
      三維可視化信息管理系統(tǒng)在選煤生產(chǎn)中的應用
      選煤技術(2022年2期)2022-06-06 09:13:12
      思維可視化
      師道·教研(2022年1期)2022-03-12 05:46:47
      基于Power BI的油田注水運行動態(tài)分析與可視化展示
      云南化工(2021年8期)2021-12-21 06:37:54
      自然資源可視化決策系統(tǒng)
      北京測繪(2021年7期)2021-07-28 07:01:18
      基于CGAL和OpenGL的海底地形三維可視化
      可視化閱讀:新媒體語境下信息可視化新趨勢
      “融評”:黨媒評論的可視化創(chuàng)新
      傳媒評論(2019年4期)2019-07-13 05:49:14
      紫阳县| 策勒县| 德昌县| 响水县| 芦山县| 安新县| 永城市| 彭阳县| 屏山县| 凭祥市| 怀安县| 吴桥县| 黑龙江省| 乐都县| 潼关县| 兰溪市| 仲巴县| 仁怀市| 普定县| 邳州市| 合川市| 瑞昌市| 湛江市| 靖边县| 奉化市| 黔江区| 武城县| 德令哈市| 泌阳县| 许昌市| 全南县| 大理市| 军事| 沈阳市| 铁岭县| 潮安县| 潮州市| 咸丰县| 巴林左旗| 兴和县| 辽宁省|