999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

自動化立體倉庫三維仿真平臺的研究與實現

2014-02-20 03:49:18宗曉萍朱玲玲齊興敏
物流技術 2014年1期
關鍵詞:模型系統

宗曉萍,朱玲玲,齊興敏

(河北大學 電子信息工程學院,河北 保定 071000)

1 引言

自動化立體倉庫是一種適合大規模儲存貨物的高效立體倉庫,由高層貨架、貨箱、巷道、堆垛起重機、出入庫輸送機系統、自動控制系統、計算機倉庫管理系統及輔助設備組成,對集裝單元貨物實現了自動化存儲和計算機管理[1]。隨著現代工業生產的迅猛發展,產品的多樣化和需求的個性化不斷地對自動化倉庫的規劃和設計提出更高的要求,但是面對自動化立體倉庫成本高,投資大的現實,對自動化立體倉庫系統采用三維虛擬仿真技術可以提前測試實際建設中方案是否符合要求,并對各種方案建立相應的仿真模型,進行多次仿真,確定最適合的方案,避免因盲目建設而導致經濟損失。

自動化立體倉庫的系統仿真是通過系統建模,計算機編程模擬實際系統運行狀態,并將計算模擬過程中的相關數據作為實際規劃設計與運作管理的理論依據,同時統計和分析模擬結果,用以指導實際物流系統的規劃設計與運作管理。對于圖形化的物流仿真軟件的研究,國外研究起點高,發展比較成熟,因此出現了很多專業化的物流仿真軟件。其中比較常用的有3i公司設計開發SIMAnimation和AutoSimulation公司開發的AutoState(AutoMod),日本的RaLC(樂龍),美國的Flexsim等[2]。但是諸如以上仿真軟件大多不提供源碼,不利于進行二次開發,且價格昂貴。國內對物流業的仿真都是依靠先進的仿真軟件,如文獻[3]采用Flexsim仿真軟件對某物流中心的倉儲作業系統進行了建模和深入分析,并從補貨策略設備配置及利用率等方面對模型進行了優化,提出了改進意見和建議。對于物流系統仿真方面,我國目前還處于起步發展階段。

此三維仿真平臺主要在VC++6.0環境下利用三維圖形庫OpenGL搭建立體倉庫的三維虛擬仿真平臺,并具體分析了碰撞檢測算法,實現了自動化立體倉庫存儲貨物實際流程的動畫演示,以便提前獲得倉庫的運行情況,使自動化倉儲在物流系統和企業生產系統中發揮更大的作用。

2 三維實體模型的建立

OpenGL只能通過其基本圖元來繪制圖形,不具備實體造型能力。3DMAX擁有強大的造型功能,可以將由3DMAX生成的圖形文件通過轉換軟件將模型轉換為OpenGL顯示形式,再用OpenGL進行編程控制[4]。此仿真平臺導入*.3DS格式,再對其進行編程控制,由此可避免在OpenGL中用點、線和多邊形來建立三維立體模型的繁重勞動。3DS模型文件由許多Chunk組成,其中編輯Chunk、顏色Chunk、材質Chunk、紋理Chunk起著關鍵的作用。因此,讀入以上的關鍵塊就可以實現模型的外部導入[5]。

在MFC框架中定義一個名為LOAD3DS的類,用于3DS文件的讀入與重繪,該類中主要定義的幾個結構體及主要函數如下:

(1)主要結構體:顏色結構體,頂點結構,對象結構體。

(2)主要函數:

3DSObject·Load3DSObject();//讀取3DS文件函數

void Draw3DSObject();//3DS模型重繪函數

void Unitize3DSObject();//模型平移到原點,并縮放到立方體中。

LOAD3DS類編寫完成后即可按下面的步驟導人3DS模型:

(1)文檔類中添加成員變量用于存取導人的模型。

(2)添加OnOpenDocument的消息響應函數,采用顯示列表的方法加載模型。

(3)在視圖類中添加成員函數DrawWithOpenGL()重繪導入模型。

(4)在視圖類中添加響應OnPaint()函數,并在該函數下調用DrawWithOpenGL()函數顯示3DS模型。

3 碰撞檢測

碰撞檢測是交互式場景漫游需要解決的一個關鍵環節,針對三維漫游場景的情況,碰撞檢測主要解決的問題是隨著視點的移動,新的視點可能會穿越場景中設備對象或者進入物體內部的情況。

由于仿真場景中的設備大多是較為規則的模型,所以根據具體設備的形狀將設備盡可能簡化為簡單的三角形,同時將視點看作一個點。這樣碰撞檢測就轉化為一個點與三角形相交的問題,從而加快實時響應速度,取得較好的漫游效果[6]。高層貨架的漫游效果如圖1所示。

視點碰撞檢測的主要步驟:

(1)確定并記錄下當前視點位置m_vPos,并記錄下用戶輸入的新視點位置m_vNewPos;

(2)遍歷場景中的三角形,找到新舊視點之間的三角形平面;

(3)判斷過兩視點的直線與三角形平面交點是否在三角形的內部。若此點在其內部,則發生碰撞;反之,按以下步驟繼續;

圖1 漫游效果圖

(4)繼續判斷此點是否位于三角形邊上,若是,則碰撞發生;反之,不發生碰撞。

碰撞檢測完成后,若碰撞發生,則將新的視點還原為原來視點的位置;若無碰撞,則視點原位置更新為用戶輸入的新視點。

3.1 判斷視點移動與三角形面是否相交

其判斷方法為:遍歷場景內的三角形平面,并判斷新視點到原來視點的射線是否與場景中的三角形平面相交,且交點位于兩點之間。具體算法如下:

確定兩視點變量:m_vPos和m_vNewPos,則此射線的方向向量為:m_v=m_vNewPos-m_vPos;

(1)遍歷場景沒所有三角形并確定所在平面的法向量:m_vNormal;

(2)求取上述的兩向量夾角,若小于90度則返回步驟(2),反之則繼續步驟(3);

(3)計算得出與三角面的交點坐標;

(4)判斷交點坐標是否在三角形的內部,若在內部,則碰撞發生,反之,無碰撞發生。

3.2 判斷交點是否位于三角形的內部

判斷一個點是否位于三角形的內部有許多方法,鑒于編程的方便,采用簡單易行的求交角的方法來進行判斷,如圖2所示。

圖2 視點在三角形內部

當角α、β、γ 相加之和為360度時,則說明交點位于三角形內部,則碰撞發生,除此之外的其他情況均為未發生碰撞。部分代碼段如下:

For(int i=0;i<3;i++)

{

//當前頂點到交點的向量

vA=Triangle[i]-vCutpoint;

//下一個頂點到交點的向量

vB=Triangle[(i+1)%3]-vCutpoint;

//得出交點vCutpoint與三角形三個頂點夾角之和,并判斷是否為360度。

Angle+=AngleBetween(vector vA,vector vB);

為了提高碰撞檢測的效率,加快實時反應,在碰撞檢測之前在場景中建立了AABB包圍盒,這樣可以將距視點比較遠的不可能發生碰撞的物體排除,即將參與檢測的物體僅限于視點附近。進一步的精確檢測時,只需考慮所劃范圍內的包圍盒對象即可,從而簡化程序的遍歷過程,提高程序運行過程。最終的碰撞檢測流程圖如圖3所示。

圖3 碰撞檢測流程圖

4 出入庫動畫模擬

在自動化立體倉庫系統中,出入庫是物流系統的主要操作活動,本系統按照單入庫作業流程進行作業,即:堆垛機從入庫臺取貨并運行至目的地;堆垛機將貨物送至貨架的貨格中;堆垛機返回原地等待下次作業。

在MFC中添加數據庫連接類ADOcnn,結合windows系統中ado動態連接庫msado15.dll,實現數據庫與底層設備數據的連接。其中在入庫命令下達時,系統會通過數據庫查詢貨架存儲狀態,貨架的數據庫結構表見表1。

表1 貨位的數據庫結構表

一旦用戶輸入入庫指令,目標貨位fram[j][k][l]就確定,貨物的行進路線也隨之確定:一級傳送帶ID,二級傳送帶ID,堆垛機的水平和垂直運動量都將確定。貨物從貨物發生器start出發,經過一級傳送帶,尋找距離最近的未滿的入庫緩沖區Trans[i],然后在貨物到達緩沖區最前端,且巷道堆垛機lift[m]處于I/O臺待命狀態時,貨物移到堆垛機上,之后的貨物同堆垛機一起運動,堆垛機將貨物送到指定貨格fram[j][k][l]。如圖4所示。出庫的流程與入庫流程類似,其出庫調度算法,同樣可以后期開發定制,并隨時更換,也可以對幾種不同的算法進行比較驗證。

圖4 貨物入庫程序流程圖

為了生成平滑的動畫,本仿真系統采用了OpenGL雙緩存技術(DoubleBuffering),即前臺緩存和后臺緩存,后臺緩存主要是計算場景、生成動畫,前臺緩存顯示后臺緩存已畫好的畫面,從而增強三維仿真動畫顯示的連續性和逼真感。動作函數

void CMyPick1View::move (CLoadOBJ&a,CLoadOBJ&b,CLoadOBJ&c)實現出庫入庫等基本功能仿真動畫,該函數以三個設備對象為形參,其中對象b為運動的設備對象,對象a為對象b運動的起點,對象c為對象b運動的終點。

5 交互式設計

對于一個三維漫游場景來說,交互性是指用戶可以從不同的角度進行觀察和對模型的操作。

5.1 視點轉換

本平臺利用在OpenGL中的gluLookAt(g_eye[0],g_eye[1],g_eye[2],g_look[0],g_look[1],g_look[2],upx,upy,upz)函數實現視點的轉換,達到漫游效果,其中內部函數變量(g_eye[0],g_eye[1],g_eye[2])決定初始視點空間位置,(g_look[0],g_look

[1],g_look[2])表示目標點,(upx,upy,upz)表示視點運動的方向。該函數作用是可以改變用戶在虛擬世界中的觀察點,當視點的位置及視點的參考方向發生改變時,視景中的物體相對于觀察者的方位也發生了改變,同時系統定義了鍵盤上的‘↑’,‘↓’,‘←’,‘→’鍵來控制視點的前進后退左轉右轉,Page Up,Page Down分別控制視點上仰下俯,從而達到場景的漫游效果。

5.2 場景平移

場景的平移是通過OpenGL的函數glTranslatef()來實現的。通過參考文獻[7]和文獻[8],利用鼠標選中模型,則可以在模型上確定一點,通過拖動鼠標移動此點,從而實現對模型的間接控制,平移或者旋轉。

對于模型的旋轉是通過建立旋轉軸實現的,將兩個鼠標矢量所構成平面的法向量作為旋轉軸,兩鼠標矢量的夾角作為旋轉角度。通過參考文獻[9],由旋轉軸和旋轉角度計算出四元旋轉向量,從而由旋轉向量構造旋轉矩陣,實現模型的旋轉。

6 三維仿真實驗

在本仿真平臺下,搭建一個簡單的立體倉庫,并設置好各個設備的參數屬性:對象名稱、空間坐標、運動速度以及某些對象的特有屬性,比如傳送帶的功能分類:主傳送帶、入庫緩沖傳送帶、出庫緩沖傳送帶。貨架的基本元素:層數和列數,并按照以下的平面方案布局搭建,該虛擬立體倉庫具備了一般自動化立體倉庫的主要功能,同時可以改變視角,并在場景中漫游。其主要模型和平面示意圖如圖5所示。

其中:a-主傳送帶,b-入庫緩沖區,c-貨物,d-出/入庫貨臺,e-巷道堆垛機,f-高層貨架。

圖5 仿真場景平面示意圖

三維仿真效果圖如圖6所示。

圖6 立體倉庫三維仿真效果圖

7 小結

選用可視化編程語言VC作為仿真系統開發平臺,實現了自動化立體倉庫出入庫作業流程的模擬仿真,用戶可以更換布局方案,改變背景和視角,實現虛擬漫游,對自動化立體倉庫實際運行情況進行演示,同時此三維仿真系統具有友善的人機交互界面和簡便的操作方法,并兼顧系統功能擴充時易于修改和擴展。現今我國自動化立體倉庫的系統仿真方面處于起步階段,本三維仿真平臺作為一個探索和嘗試,對今后的后續開發和拓展具有重要的實際意義。

[1]劉臣宇,郭峰,李衛靈.基于Creator的虛擬自動化立體倉庫的研究與實現[J].價值工程,2010,(29).

[2]柳賽男.基于Web的制造業倉庫管理物流平臺關鍵技術及其應用研究[D].杭州:浙江大學,2007.

[3]朱小蓉.基于Flexsim的倉儲作業系統仿真及優化[J].物流技術,2012,(2).

[4]張志剛,曹西京,劉昌祺,王棟生.自動化立體倉庫系統仿真的研究[J].計算機仿真,2005,(7).

[5]高海芳,王天雷,邱杰,康獻民,王大承.基于OpenGL的3DS模型的導入與控制[J].五邑大學學報(自然科學版),2010,(3).

[6]董晶晶,陳兵,王磊.虛擬場景漫游中基于視點的碰撞檢測研究及實現[J].海洋測繪,2011,(5).

[7]張正波,牟彥,黃華,劉波.OPENGL實現3ds文件中的模型自由旋轉[J].計算機工程與應用,2005,41(13):98-100.

[8]馬新武,趙國群,王廣春.用虛擬球實現交互式OpenGL 3D圖形的旋轉[J].計算機應用,2001,21(8):169-170.

[9]Terence JGrant,Jeff Molofee.ArcBall rotation control revisited[EB/OL].http://nehegame lev.net/tutorial/arcball_rotation/19003/.

猜你喜歡
模型系統
一半模型
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
3D打印中的模型分割與打包
主站蜘蛛池模板: 精品国产成人a在线观看| 东京热一区二区三区无码视频| 国产爽妇精品| 中文字幕人妻av一区二区| 日本道综合一本久久久88| 国产日韩av在线播放| 亚洲精品欧美日本中文字幕| 亚洲Aⅴ无码专区在线观看q| 99手机在线视频| 波多野结衣的av一区二区三区| 伊在人亞洲香蕉精品區| 国产午夜看片| 在线看片国产| 国产小视频a在线观看| 亚洲欧洲美色一区二区三区| 色偷偷综合网| 天堂在线www网亚洲| 国产成人你懂的在线观看| 中文字幕第1页在线播| 免费人成视网站在线不卡| 日韩在线欧美在线| 亚洲欧美综合另类图片小说区| 91青青视频| 欧洲日本亚洲中文字幕| 色丁丁毛片在线观看| 在线中文字幕日韩| 91久久青青草原精品国产| 亚洲制服丝袜第一页| 一本大道视频精品人妻| 欧美日韩北条麻妃一区二区| 97se亚洲综合在线天天| 网友自拍视频精品区| 国产最爽的乱婬视频国语对白| 亚洲欧美在线综合图区| 欧美一区国产| 欧美综合区自拍亚洲综合天堂 | 国产精品免费久久久久影院无码| 超碰精品无码一区二区| 亚洲国产日韩在线观看| 国产精品私拍99pans大尺度| 国产日韩AV高潮在线| 麻豆精品国产自产在线| 黄色网页在线观看| 亚洲av无码久久无遮挡| 日本尹人综合香蕉在线观看| 99久久国产自偷自偷免费一区| 视频一本大道香蕉久在线播放| 极品国产在线| 91毛片网| 另类重口100页在线播放| 91国内在线视频| 日本福利视频网站| 18禁黄无遮挡免费动漫网站 | 亚洲日韩在线满18点击进入| 亚洲区视频在线观看| 国产精品久久久久鬼色| 激情六月丁香婷婷四房播| 精品1区2区3区| 激情综合婷婷丁香五月尤物| 午夜国产小视频| 97国产一区二区精品久久呦| 婷婷六月天激情| 久久国产精品麻豆系列| 国产欧美精品专区一区二区| 久久99蜜桃精品久久久久小说| 精品少妇人妻一区二区| 亚洲综合激情另类专区| 99在线视频免费观看| 国产小视频a在线观看| 亚洲国产系列| 九色在线观看视频| 中国一级特黄大片在线观看| 亚洲成人网在线观看| 国产在线专区| 欧美性猛交一区二区三区| a级毛片免费网站| 青青青草国产| 国产一区二区影院| 在线网站18禁| 萌白酱国产一区二区| 国产亚洲精品97在线观看| 毛片基地美国正在播放亚洲|