當(dāng)前,仿真技術(shù)已經(jīng)成為分析、研究各種復(fù)雜系統(tǒng)的重要工具,它廣泛用于工程領(lǐng)域和非工程領(lǐng)域。仿真可定義為:在全部時(shí)間內(nèi),通過對(duì)系統(tǒng)的動(dòng)態(tài)模型性能的觀測(cè)來求解問題的技術(shù)。物流系統(tǒng)是企業(yè)生產(chǎn)的一個(gè)重要組成部分,物流合理化是提高企業(yè)生產(chǎn)率最重要的方法之一。因此對(duì)物流系統(tǒng)的設(shè)計(jì)和仿真的研究,也日益受到人們的重視。本文主要介紹了物流系統(tǒng)仿真的核心技術(shù)和計(jì)算機(jī)圖形技術(shù)在物流仿真中的應(yīng)用及國(guó)外三維物流仿真軟件。
二.物流系統(tǒng)仿真的核心技術(shù)
物流系統(tǒng)的仿真是典型的離散事件系統(tǒng)仿真,其核心是時(shí)鐘推進(jìn)和事件調(diào)度的機(jī)制。離散事件系統(tǒng)是指系統(tǒng)狀態(tài)在某些隨機(jī)時(shí)間點(diǎn)上發(fā)生離散變化的系統(tǒng)。這種引起狀態(tài)變化的行為稱為"事件",因而這類系統(tǒng)是由事件驅(qū)動(dòng)的;而且,"事件"往往發(fā)生在隨機(jī)時(shí)間點(diǎn)上,亦稱為隨機(jī)事件,因而離散事件系統(tǒng)一般都具有隨機(jī)特性;系統(tǒng)的狀態(tài)變量往往是離散變化的。
1. 仿真時(shí)鐘
仿真鐘用于表示仿真時(shí)間的變化。在離散事件系統(tǒng)仿真中,由于系統(tǒng)狀態(tài)變化是不連續(xù)的,在相鄰兩個(gè)事件發(fā)生之前,系統(tǒng)狀態(tài)不發(fā)生變化,因而仿真鐘可以跨越這些"不活動(dòng)"周期。從一個(gè)事件發(fā)生時(shí)刻,推進(jìn)到下一個(gè)事件發(fā)生時(shí)刻。
由于仿真實(shí)質(zhì)上是對(duì)系統(tǒng)狀態(tài)在一定時(shí)間序列的動(dòng)態(tài)描述。因此,仿真鐘一般是仿真的主要自變量。仿真鐘推進(jìn)方法有三大類:事件調(diào)度法、固定增量推進(jìn)法和主導(dǎo)時(shí)鐘推進(jìn)法。
應(yīng)指出,仿真鐘所顯示的是系統(tǒng)仿真所花費(fèi)的時(shí)間,而不是計(jì)算機(jī)運(yùn)行仿真模型的時(shí)間。因此,仿真時(shí)間與真實(shí)時(shí)間成比例關(guān)系。象物流系統(tǒng)這樣復(fù)雜的機(jī)電系統(tǒng),仿真時(shí)間可比真實(shí)時(shí)間短的多。真實(shí)系統(tǒng)實(shí)際運(yùn)行若干天,若干月,用計(jì)算機(jī)仿真也只需要幾分鐘。
2.事件調(diào)度法
事件調(diào)度法是面向事件的方法,是通過定義事件,并按時(shí)間順序處理所發(fā)生的一系列事件。記錄每一事件發(fā)生時(shí)引起的系統(tǒng)狀態(tài)的變化來完成系統(tǒng)的整個(gè)動(dòng)態(tài)過程的仿真。由于事件都是預(yù)定的,狀態(tài)變化發(fā)生在明確的預(yù)定的時(shí)刻,所以這種方法適合于活動(dòng)持續(xù)時(shí)間比較確定的系統(tǒng)。
事件調(diào)度法中仿真鐘是按下一時(shí)間步長(zhǎng)法來推進(jìn)的。通過建立事件表,將預(yù)定的事件按時(shí)間發(fā)生的先后順序放入事件表中。仿真鐘始終推進(jìn)到最早發(fā)生的時(shí)間時(shí)刻。然后處理該事件發(fā)生時(shí)的系統(tǒng)狀態(tài)的變化,進(jìn)行用戶所需要的統(tǒng)計(jì)計(jì)算。這樣,仿真鐘不斷從一個(gè)事件發(fā)生時(shí)間推進(jìn)到下一個(gè)最早發(fā)生的事件時(shí)間,指導(dǎo)仿真結(jié)束。
3. 隨機(jī)數(shù)和隨機(jī)變量的產(chǎn)生
物流系統(tǒng)中工件的到達(dá)、運(yùn)輸車輛的到達(dá)和運(yùn)輸時(shí)間等一般都是隨機(jī)的。對(duì)于有隨機(jī)因素影響的系統(tǒng)進(jìn)行仿真時(shí),首先要建立隨機(jī)變量模型。即確定系統(tǒng)的隨機(jī)變量并確定這些隨機(jī)變量的分布類型和參數(shù)。對(duì)于分布類型是已知的或者是可以根據(jù)經(jīng)驗(yàn)確定的隨機(jī)變量,只要確定它們的參數(shù)就可以了。
建立了隨機(jī)變量模型后還必需能夠在計(jì)算機(jī)中產(chǎn)生一系列不同分布的隨機(jī)變量的抽樣值來模擬系統(tǒng)中的各種隨機(jī)現(xiàn)象。隨機(jī)變量的抽樣值產(chǎn)生的實(shí)際做法通常是,首先產(chǎn)生一個(gè)[0,1]區(qū)間的、連續(xù)的、均勻分布的隨機(jī)數(shù),然后通過某種變換和運(yùn)算產(chǎn)生其所需要的隨機(jī)變量。
得到[0,1]區(qū)間均勻分布的、有良好的獨(dú)立性、周期長(zhǎng)的隨機(jī)數(shù)后,下面的問題是如何產(chǎn)生與實(shí)際系統(tǒng)相應(yīng)的隨機(jī)變量。產(chǎn)生隨機(jī)變量的前提是根據(jù)實(shí)際系統(tǒng)隨機(jī)變量的觀測(cè)值確定隨機(jī)變量的分布及其參數(shù)。
反變換法是最常用的方法,反變換法以概率積分反變換法則為基礎(chǔ),設(shè)隨機(jī)變量X的分布函數(shù)為F(X);UI是[0,1]區(qū)間均勻分布的隨機(jī)數(shù),利用反分布函數(shù)X=F-1(μ)就可以得到所需要的隨機(jī)變量X。
三.物流系統(tǒng)三維虛擬仿真的計(jì)算機(jī)實(shí)現(xiàn)
三維虛擬仿真(3D Virtual Simulation)就是利用三維建模技術(shù),構(gòu)建現(xiàn)實(shí)世界的三維場(chǎng)景并通過一定的軟件環(huán)境驅(qū)動(dòng)整個(gè)三維場(chǎng)景,響應(yīng)用戶的輸入,根據(jù)用戶的不同動(dòng)作做出相應(yīng)的反應(yīng),并在三維環(huán)境中顯示出來。三維仿真的關(guān)鍵技術(shù)主要有動(dòng)態(tài)環(huán)境建模技術(shù)、實(shí)時(shí)三維圖形生成技術(shù)、立體顯示和傳感器技術(shù)、應(yīng)用系統(tǒng)開發(fā)工具、系統(tǒng)集成技術(shù)等。
1. 仿真平臺(tái)的組成
仿真平臺(tái)通常構(gòu)建在基于Windows系統(tǒng)的PC機(jī)或圖形工作站上。仿真平臺(tái)主要有以下4個(gè)模塊組成:特征造型數(shù)據(jù)類庫、三維場(chǎng)景管理模塊和交互接口模塊。
2.面向?qū)ο蟮姆抡娼7椒?/P>
計(jì)算機(jī)仿真主要包括仿真建模、程序?qū)崿F(xiàn)、仿真結(jié)果的統(tǒng)計(jì)分析三大部分。建模階段,主要根據(jù)研究目的、系統(tǒng)的先驗(yàn)知識(shí)及實(shí)驗(yàn)觀察的數(shù)據(jù),對(duì)系統(tǒng)進(jìn)行分析,確定各組成要素以及表征這些要素的狀態(tài)變量和參數(shù)之間的數(shù)學(xué)邏輯關(guān)系,建立被研究系統(tǒng)的數(shù)學(xué)邏輯模型。
在面向?qū)ο笙到y(tǒng)仿真建模時(shí),對(duì)象是基本的運(yùn)行時(shí)實(shí)體,既包括數(shù)據(jù)(屬性),又包括作用于數(shù)據(jù)的操作(行為),所以一個(gè)對(duì)象把屬性和行為封裝成一個(gè)整體。一個(gè)類定義了一組大體上相似的對(duì)象。一個(gè)類所包含的方法和數(shù)據(jù)描述一組對(duì)象的共同行為和屬性。對(duì)象之間進(jìn)行通信的方式叫消息機(jī)制。不同層次類之間共享數(shù)據(jù)和操作的機(jī)制叫繼承。一切事物以對(duì)象為唯一模型,對(duì)象間除了互相傳送消息外,沒有別的聯(lián)系。
3.三維圖形仿真工具OpenGL
OpenGL最初是SGI公司為其圖形工作站開發(fā)的可以獨(dú)立于操作系統(tǒng)和硬件環(huán)境的圖形開發(fā)系統(tǒng)。目前OpenGL已經(jīng)成為高性能圖形和交互式圖像處理的工業(yè)標(biāo)準(zhǔn),OpenGL已被多家大公司采用作為圖形標(biāo)準(zhǔn),并能夠在多種平臺(tái)上應(yīng)用。
OpenGL實(shí)際是一個(gè)3D的API(Application Programming Interface),它獨(dú)立于硬件設(shè)備和操作系統(tǒng),以它為基礎(chǔ)開發(fā)的應(yīng)用程序可以十分方便地在各種平臺(tái)間移植。從程序員的角度來看,OpenGL是一組繪圖命令和函數(shù)的集合。在微機(jī)版本中,OpenGL提供了三個(gè)函數(shù)庫,它們是基本庫、實(shí)用庫和輔助庫。利用這些命令或函數(shù)能夠?qū)ΧS和三維幾何形體進(jìn)行數(shù)學(xué)描述,并控制這些形體以某種方式進(jìn)行繪制。
OpenGL不僅能夠繪制整個(gè)三維模型,而且可以進(jìn)行三維交互、動(dòng)作模擬等。具體功能主要有:模型繪制、模型觀察、顏色模式的指定、光照應(yīng)用、圖像效果增強(qiáng)、位圖和圖像處理、紋理映射、實(shí)時(shí)動(dòng)畫。
4. 三維仿真建模場(chǎng)景的構(gòu)造和管理
(1)運(yùn)用OpenGL進(jìn)行繪圖并且最終在計(jì)算機(jī)屏幕上顯示三維景物的基本步驟是:
n 建立物體模型,并對(duì)模型進(jìn)行數(shù)學(xué)描述,通過用幾何圖元(點(diǎn)、線、多邊形、位圖)構(gòu)造物體表面而實(shí)現(xiàn)。
n 在三維空間中布置物體,并且設(shè)置視點(diǎn)(viewpoint)以觀察場(chǎng)景。
n 計(jì)算模型中物體的顏色,在應(yīng)用程序中可以直接定義,也可以由光照條件或紋理間接給出。
n 光柵化(rasterization),把物體的數(shù)學(xué)描述和顏色信息轉(zhuǎn)換成可在屏幕上顯示的象素信息。
(2)幾何模型的變換:仿真模型所描述的現(xiàn)實(shí)世界中的物體都是三維的,而計(jì)算機(jī)輸出設(shè)備CRT只能顯示二維圖像。OpenGL通過一系列的變換實(shí)現(xiàn)以平面的形式來表示三維的形體。變換步驟如下圖所示:
(3)碰撞檢測(cè)
碰撞檢測(cè)是交互式場(chǎng)景漫游需要解決的一個(gè)重要問題。每當(dāng)接收到用戶漫游場(chǎng)景的輸入,系統(tǒng)都要進(jìn)行檢測(cè),判斷根據(jù)用戶的輸入而得到的新的視點(diǎn)是否會(huì)與場(chǎng)景中的物體發(fā)生碰撞或進(jìn)入物體內(nèi)部。由于仿真場(chǎng)景中的設(shè)備大多以較為規(guī)則的形體疊加而成,所以根據(jù)具體設(shè)備的形狀將設(shè)備簡(jiǎn)化為盡可能貼近設(shè)備的長(zhǎng)方體包圍盒或長(zhǎng)方體包圍盒的集合,并且將視點(diǎn)轉(zhuǎn)化為一個(gè)點(diǎn)。這樣,碰撞檢測(cè)轉(zhuǎn)化為判斷一個(gè)點(diǎn)是否與長(zhǎng)方體相交的問題。從而加快的實(shí)時(shí)響應(yīng)速度,取得較好的漫游效果。
四.國(guó)外的三維物流仿真軟件
1. AUTOSIMULATION的AUTOMOD
AUTOMOD是目前市面上比較成熟的三維物流仿真軟件。主要包括了三大模塊:AutoMod、AutoStat和AutoView。AutoMod模塊提供給用戶一系列的物流系統(tǒng)模塊來仿真現(xiàn)實(shí)世界中的物流自動(dòng)化系統(tǒng)。主要包括輸送機(jī)模塊(輥道、鏈?zhǔn)剑詣?dòng)化存取系統(tǒng)(立體倉庫、堆垛機(jī)),基于路徑的移動(dòng)設(shè)備(AGV等),起重機(jī)模塊等。AutoStat模塊為仿真項(xiàng)目提供增強(qiáng)的統(tǒng)計(jì)分析工具,由用戶定義測(cè)量和實(shí)驗(yàn)的標(biāo)準(zhǔn),自動(dòng)在AutoMod的模型上執(zhí)行統(tǒng)計(jì)分析。主要特點(diǎn)是:基于發(fā)展策略運(yùn)算法則的最優(yōu)化分析,用戶為得到更好的模型來定義輸出審核,多CPU并行計(jì)算等。AutoView可以允許用戶通過AutoMod模型定義場(chǎng)景和攝像機(jī)的移動(dòng),產(chǎn)生高質(zhì)量的AVI格式的動(dòng)畫。用戶可以縮放或者平移視圖,或使攝像機(jī)跟蹤一個(gè)物體的移動(dòng),如叉車或托盤的運(yùn)動(dòng)。AutoView可以提供動(dòng)態(tài)的場(chǎng)景描述和靈活的顯示方式。
2. 3i的SIMAnimation
SIMAnimation 是美國(guó)3i公司設(shè)計(jì)開發(fā)的集成化物流仿真軟件。SIMAnimation使用的是先進(jìn)的基于圖像的仿真語言,這種語言可以簡(jiǎn)化仿真模型的創(chuàng)建。由于他OOP編程方法,仿真系統(tǒng)可以非常簡(jiǎn)單的創(chuàng)建模型。許多的先進(jìn)軟件工具都合成為一種語言,它包括布局編輯器,完全的二維和三維的動(dòng)畫,曲線擬合,路線優(yōu)化軟件,試驗(yàn)編輯器和完整的用戶報(bào)表編輯器。同時(shí)仿真模型還包括豐富的交互特點(diǎn),允許使用者去改變參數(shù)輸入,其目的是通過模擬實(shí)際生產(chǎn)情況及市場(chǎng)波動(dòng)對(duì)系統(tǒng)造成的沖擊,從而避免了在理想化狀態(tài)下系統(tǒng)設(shè)計(jì)所無法預(yù)料的各種因素,對(duì)系統(tǒng)的堵塞有著形象和直觀的解決方案。
SIMAnimation不同于其他的仿真系統(tǒng),它可以處理系統(tǒng)物理元素和邏輯元素。SIMAnimation提供先進(jìn)的特點(diǎn)去允許用戶仿真復(fù)雜的運(yùn)動(dòng),像動(dòng)力學(xué)和速度,像機(jī)器人、車床、傳輸通道、特殊空間中顯示,包括傳輸、旋轉(zhuǎn)、有形物體、視角和不斷運(yùn)動(dòng)視覺。在算法上,SIMAnimaiton在保證出庫有限的情況下,按路徑最短原則進(jìn)行自動(dòng)定位和設(shè)計(jì)路經(jīng),實(shí)現(xiàn)多回路運(yùn)輸。
SIMAnimation使用OpenGL三維建模技術(shù),集三維實(shí)體光照、材質(zhì)視點(diǎn)變換、漫游于一體,提供真正的三維動(dòng)畫和虛擬的現(xiàn)實(shí)世界,使仿真模型更加容易理解。同時(shí)使管理、生產(chǎn)、工程人員的意見交流更加容易。
SIMAnimation使用Petri網(wǎng)模型技術(shù)。它包含兩個(gè)程序:建模部分是針對(duì)于物理和邏輯模型。在用戶定義物理和邏輯模型之后,他就可以編輯成為一個(gè)可執(zhí)行模型,在這個(gè)模型中仿真和動(dòng)畫同時(shí)運(yùn)行,并且運(yùn)行非?,實(shí)現(xiàn)了完全交互化。而且它可以隨時(shí)停止來觀察統(tǒng)計(jì)和模型狀態(tài)。
3. ShowFlow
ShowFlow仿真軟件可為制造業(yè)和物流業(yè)提供建模、仿真、動(dòng)畫和統(tǒng)計(jì)分析工具。ShowFlow可以提供生產(chǎn)系統(tǒng)的生產(chǎn)量,確定瓶頸位置,估測(cè)提前期和報(bào)告資源利用率。ShowFlow還可以被用來支持投資決定,校驗(yàn)制造系統(tǒng)設(shè)計(jì)的合理性,通過對(duì)不同的制造策略進(jìn)行仿真實(shí)驗(yàn)來找出最優(yōu)解。
ShowFlow主要包括幾大模塊:建模、仿真、統(tǒng)計(jì)、分析、動(dòng)畫和文檔輸出。
n 建模:可以定義隊(duì)列,緩沖器,等待區(qū)域,操作任務(wù),運(yùn)輸工具,輸送機(jī),AGV,立體化倉庫,自動(dòng)存取設(shè)備,路徑等基本元素的標(biāo)準(zhǔn)屬性和特殊屬性。
n 仿真:采用優(yōu)化的仿真運(yùn)算法則技術(shù)(OSAT),固定的或變化的時(shí)間仿真運(yùn)行,可對(duì)離散事件進(jìn)行仿真。
n 統(tǒng)計(jì):可對(duì)多種概率分布(均勻、正態(tài)、指數(shù)、愛爾朗、經(jīng)驗(yàn)分布等)進(jìn)行統(tǒng)計(jì)分析,并帶有隨機(jī)數(shù)生成器。
n 分析:輸入數(shù)據(jù)分析,包括數(shù)據(jù)設(shè)置分析、最合適建議等,并可導(dǎo)入微軟的Excel的數(shù)據(jù)。輸出數(shù)據(jù)分析,包括可輸出隊(duì)列曲線圖、柱狀圖、餅狀圖等,動(dòng)態(tài)圖表顯示,用戶自定義圖表格式,并可將數(shù)據(jù)輸出到微軟的Excel中。
n 動(dòng)畫和文檔:可產(chǎn)生二維、三維動(dòng)畫,可對(duì)攝像機(jī)進(jìn)行移動(dòng),縮放,旋轉(zhuǎn)?砂垂δ苄曰蛟嘏判蜃詣(dòng)生成模型文檔,產(chǎn)生仿真事件跟蹤報(bào)告,輸入?yún)?shù)值列表等。
縱觀國(guó)外三維物流仿真軟件,都具有虛擬現(xiàn)實(shí)、動(dòng)態(tài)反映物流現(xiàn)實(shí)狀況的顯著優(yōu)勢(shì),應(yīng)用表現(xiàn)形式靈活多樣。但相比之下,美國(guó)3i公司的SIMAnimation具有多方面獨(dú)特優(yōu)勢(shì):
1. 建模能力強(qiáng),具有精確性較高的建模功能。
2. 在仿真軟件開發(fā)和終端用戶實(shí)用方面,具有較高的靈活性。
3. 參數(shù)化建模是SIMAnimation較之其他軟件的獨(dú)特優(yōu)勢(shì),它可以通過多元非線性參數(shù)設(shè)置,建立精確度較高的三維實(shí)體。
4. SIMAnimation仿真運(yùn)行結(jié)束后可根據(jù)統(tǒng)計(jì)數(shù)據(jù)生成仿真報(bào)告,仿真報(bào)告以表格、直方圖、餅狀圖等形式表示,顯示了各個(gè)物流設(shè)備的利用率、空閑率、阻塞率等數(shù)據(jù)。用戶可根據(jù)仿真報(bào)告提供的數(shù)據(jù)對(duì)物流系統(tǒng)的優(yōu)缺點(diǎn)進(jìn)行判斷,做出科學(xué)決策。
五.結(jié)束語
本文簡(jiǎn)要介紹了系統(tǒng)仿真中的基本概念及三維物流仿真的計(jì)算機(jī)實(shí)現(xiàn)的方法和技術(shù)。隨著計(jì)算機(jī)技術(shù)及自動(dòng)化技術(shù)的迅速發(fā)展,虛擬企業(yè)、虛擬制造技術(shù)不斷深入,物流仿真系統(tǒng)軟件已經(jīng)成為虛擬制造系統(tǒng)的重要組成部分,將得到更廣泛的應(yīng)用和發(fā)展。