『壹』 做一個樓盤的虛擬現實模擬系統,大概需要用到那些軟體才能實現,最好能與資料庫結合。
這個問題有點籠統哦,一般前期准備部分:Office 啥的,虛擬:美工部分:cad,3ds max, photoshop,後期程序部分,沒有編程基礎:virtools ,Quest3d,國產的:VRP,Converse3D;有程序開發基礎的,選擇OSG、OGRE等開源虛擬現實平台,基本就這樣了,滿意不
『貳』 生產線模擬需要的數據
如果是用anylogic,flexsim模擬生產現場的話,需要的信息由:
1.客戶需求數量(這個一定得有,不然怎麼模擬需求?可以按照泊松分布希么的)
2.需要經過幾個工序,每個工序的對於該訂單的處理效率,啟動時間等
3.處理訂單的原則,是先來先處理,還是緊急訂單先處理?
4.缺陷率,因為部分需要返工
5.設備利用率在模擬中是不用事先找到的,可以在模擬過程中自動找到的。
『叄』 交通系統模擬軟體 —— SUMO
(本文內容總結自 SUMO 官網 和 Youtube 視頻教程 published by Rodrigue Tchamna.)
SUMO ( Simulation of Urban Mobility) 是免費、開源的交通系統模擬軟體,可以實現交通流的微觀控制,即具體到道路上每一輛車的運行路線都可以單獨規劃。
SUMO 最早發布於 2001年,主要由 German Aerospace Center 下屬的 Institute of Transportation Systems 的研究人員開發。
如果使用 SUMO 模擬,官方希望引用的參考文獻為:
SUMO 已經在 Ubuntu 的官方 repo 中了,可以用如下命令直接安裝:
如果要安裝最新版本,也可以手動添加 SUMO 的 repo 再安裝
SUMO 並不是單個程序,而是包含了多個 package/ application,提供了豐富的交通系統建模模擬的功能。主要包括如下應用程序:
對於小型網路,或者一些需要特別構造的道路網路,可以採用手動方式創建,主要包含 5 個文件:
上述文件本質上都是 xml 文件,不過為了方便區分其作用,額外增加了一個後綴名。
假設我們要創建如下圖所示的小型道路網路
圖中黑色節點對應交通路口,連邊對應道路。每個路口所在位置坐標已給出。
創建如下 node file,名為 my_nod.nod.xml:
創建對應上述路網的 edge file,名為 my_edge.edg.xml,內容如下:
其中 id 和 type 可以隨便命名,這里為了方便記憶,用 3L45,表示有 3 條 lane,速度上限是 45 m/s,隨後會在 type file 中對相應的 type 進行定義。
對前述 edge 文件中的 type 進行定義,文件名為 my_type.type.xml:
基於以上三個文件,可以通過命令 netconvert 創建 net 文件,命令如下:
命令中各個參數的含義非常直觀。
上述命令生成 my_net.net.xml 文件。以後如果改動了 node, edge, type files,都要重新生成一次 net file.
定義 route file,名為 my_route.rou.xml:
關於 Vehicle 和 route 的詳細介紹,可以 參考官網 。
運行程序時需要送入一些參數,可以通過命令行形式送入,如果參數太多、太長,為了方便起見,可以將參數統一放到 xml config 文件中,在運行時,可以調用這個 config 文件。
定義 my_config_file.sumocfg:
如果一個參數既出現在了 config 文件中,又在 command line 中,則採用 command line 的設置。
一切准備就緒,下邊運行程序
出現如下界面:
可以檢查一下生成的路網是否與期望的相同,以及每條路上的 lane 數目。
然後將工具欄中的 Delay 設置為 100 ms,否則模擬開始之後瞬間結束。
點擊綠色三角符號,運行模擬。在時間走到 10 時,bus 和 car 出現在相應的到路上。時間到達 1999 時模擬結束。
在工具欄中還可以設置 standard, fast standard, real world。可以切換一下,看看顯示效果。
至此,一個簡單的 SUMO 模擬 demo 就完成了。
在手動構造路網 net.xml 文件時,我們也可以用 SUMO 自帶的 NETEDIT 程序,通過 NETEDIT GUI 編輯路網,可能效率更高一些。感興趣的讀者可以參考 SUMO 官網的教程 。
上述手動設置路網的方式只適用於比較簡單的情況,如果要構造與現實世界比較接近的大型路網,我們可以用下邊的從外部導入 OSM 路網的方法。
進入 https://www.openstreetmap.org , 通過搜索城市、街道找到目標道路網,然後 export 即可。
這里我選用了上海市東川路附近的路網,如下圖
以上就得到了 .net.xml 文件,這里不是通過基於 node, edge, type 文件的整合,而是直接從 osm 地圖轉化過來。下邊就是如何得到 route 文件。
對於這種大型的路網,手動創建 route 文件也很麻煩,這里我們用 SUMO 自帶的 randomTrips.py 程序創建隨機的 route 文件
其中 randomTrips.py 文件放在了 SUMO_HOME 目錄下,即 /usr/share/sumo 目錄下。
config 文件名為 sjtu.sumocfg,內容如下:
到目前為止,已經設置好了所有必須的文件,可以通過以下命令啟動模擬:
啟動模擬,截圖如下:
局部放大:
上邊導入 osm 地圖的方法還是比較麻煩,它主要包括 4 步:
實際上,SUMO 自帶了一個 osmWebWizard.py 程序,整合了上述較為獨立的步驟,在同一個操作界面,「一站式」 完成上述步驟。
用 osmWebWizard.py 運行模擬也是 SUMO tutorial 中的第一個項目。
注意:必須以 python 2 運行,python 3 會在 generate scenario 的時候報錯。
如果提示找不到該文件,就直接去 SUMO_HOME 的目錄下面 /usr/share/sumo/tools 運行該文件。
沒有問題的話,應該會在瀏覽器中打開如下頁面。這里初始地圖位置是 Berlin。
右側有四個 tab,由上到下以此為:
首先是選定要模擬的地圖環境。可以縮放、移動視圖,通過右側的 Select Area 可以選定一個區域。最好不要選擇太大范圍,否則模擬很占資源,甚至導致死機。
然後選擇交通流中的車輛類型和密集程度,through traffic factor 對應了車輛穿過率,count 的單位是 per hour-lane-kilometer。基於這里的參數設置,randomTrip 程序會產生相應的 random route。
以上就設定好了地圖和 route,點擊右上方的 Generate Scenario, 就可以進入模擬界面了。