布局三維仿真系統(tǒng)的研究與開發(fā)
摘 要:布局是一個NP問題,采用純數(shù)學(xué)難以求解。本文在一般優(yōu)化方法的基礎(chǔ)上,采用機(jī)圖形學(xué)技術(shù)和C++Builer6.0開發(fā)工具,開發(fā)了一個布局三維仿真系統(tǒng),為人機(jī)交互的布局設(shè)計提供了有效途徑。關(guān)鍵詞:布局 三維仿真 虛擬現(xiàn)實 OpenGL
一、引言
布局就是如何在一個有限的空間內(nèi)按一定要求擺放多個具有一定幾何形狀的物體。布局問題在很多方面都存在,如生活小區(qū)內(nèi)建筑物的布局、城市里供排水管管道的布局、港口設(shè)備建筑的布局、航天器倉的布局、工廠廠房和車間內(nèi)機(jī)器設(shè)備的布局等。
在生產(chǎn)領(lǐng)域,布局問題顯得尤為突出。在制造中,多臺生產(chǎn)單元就構(gòu)成了一個生產(chǎn)制造系統(tǒng),如何確定制造單元的相互關(guān)系和擺放位置,即車間布局問題是一個首先要解決的問題。一個好的車間布局不僅可以提高物流效率、降低物料搬運(yùn)成本,而且可以通過改善人機(jī)環(huán)境而大幅提高生產(chǎn)效率。試驗表明,在一個多生產(chǎn)單元的生產(chǎn)制造系統(tǒng)中,過優(yōu)化的車間布局與物料搬運(yùn)設(shè)計則可降低企業(yè)總生產(chǎn)成本的10%~30%。
本文基于敏捷制造和虛擬制造的理念,用于柔性生產(chǎn)的布局三維仿真系統(tǒng),通過一定的算法和虛擬仿真,使布局者能參與布局過程并將布局結(jié)果逼真地呈現(xiàn)在管理和技術(shù)人員面前,為車間布局提供。
二、布局三維仿真的研究
系統(tǒng)仿真是近30年在系統(tǒng)、控制、計算技術(shù)等多種技術(shù)基礎(chǔ)上起來的一門綜合性很強(qiáng)的新興技術(shù)。計算機(jī)系統(tǒng)仿真就是以計算機(jī)為工具,以相似原理、仿真技術(shù)、系統(tǒng)技術(shù)及其應(yīng)用領(lǐng)域有關(guān)的專業(yè)技術(shù)為基礎(chǔ),利用系統(tǒng)模型對實際或設(shè)想的系統(tǒng)進(jìn)行試驗研究的一門綜合性技術(shù)[1]。
由于車間布局問題屬于NP問題,且布局過程中的許多要求是一種主觀的判斷和模糊的要求,如布局美觀、安全等,直接采用計算機(jī)算法求解布局方案具有很大難度,因此采用虛擬現(xiàn)實的仿真系統(tǒng)來實現(xiàn)布局者的親身參與布局過程,以達(dá)到人機(jī)接合的目的。
1.OpenGL技術(shù)
對計算機(jī)可視化及仿真技術(shù)的研究已經(jīng)歷了一個很長的`歷程,而且形成了許多可視化工具;其中SGI公司推出的OpenGL三維圖形庫表現(xiàn)突出,易于使用而且功能強(qiáng)大。利用OpenGL開發(fā)出來的三維應(yīng)用軟件頗受許多專業(yè)技術(shù)人員的喜愛,這些三維應(yīng)用軟件已涉及建筑、醫(yī)學(xué)、產(chǎn)品設(shè)計、地球科學(xué)等領(lǐng)域。OpenGL被認(rèn)為是高性能圖形和交互式視景處理的標(biāo)準(zhǔn),包括ATT公司UNIX軟件實驗室、IBM等大公司都采用了OpenGL圖形標(biāo)準(zhǔn)。
OpenGL提供直觀的三維圖形開發(fā)環(huán)境,實際上是一種圖形與硬件的接口,包括120個圖形函數(shù)。開發(fā)者可以用這些函數(shù)來建立三維模型和進(jìn)行三維實時交互。OpenGL強(qiáng)有力的圖形函數(shù)不要求開發(fā)者把三維物體模型數(shù)據(jù)寫成固定數(shù)據(jù)格式,這樣開發(fā)者可以利用其他不同格式的數(shù)據(jù)源并獲得許多軟件的支持。這樣就極大地提高了三維圖形軟件開發(fā)的效率。
2.三維建模技術(shù)
OpenGL提供了120個圖形函數(shù)用于繪制各種點(diǎn)、直線和多邊形等基本圖元。如果直接利用OpenGL的繪圖指令建立三維實體模型是非常繁雜的一個過程,在本文中采用3DS Max軟件來建立機(jī)床的模型;通過3DS Max軟件強(qiáng)大的畫基本幾何體,三維方向的分段調(diào)整,三維實體的布爾運(yùn)算,NURBS曲線調(diào)整及殼變換等功能,可以方便的建立出較為逼真的三維機(jī)床模型;導(dǎo)出為.3ds格式的文件。然后使用Deep Exploration這個軟件,可以直接將.3ds格式的文件轉(zhuǎn)換為OpenGL顯示列表格式的文件;這種建模轉(zhuǎn)換方式的效率很高。
3.各種優(yōu)化技術(shù)
OpenGL中的優(yōu)化技術(shù)包括雙緩沖技術(shù)、反走樣技術(shù)、背面消隱、多重紋理影射等。雙緩沖技術(shù)是指OpenGL支持顯示緩沖和非顯示緩沖,缺省的情況是所有的OpenGL繪制命令在非顯示緩沖中繪制,繪制完成后再將其拷貝到顯示緩沖區(qū)中;雙緩沖使圖象轉(zhuǎn)換更平滑,屏幕無閃爍。反走樣技術(shù)就是OpenGL中利用混合技術(shù),消除由于以離散點(diǎn)生成圖形和曲線所帶來的鋸齒現(xiàn)象,提高了畫面質(zhì)量。
三、系統(tǒng)開發(fā)
本研究開發(fā)的系統(tǒng)是一個布局三維仿真系統(tǒng),開發(fā)過程中要考慮到車間布局的各種相關(guān)因素,對布局流程進(jìn)行、構(gòu)思、規(guī)劃和設(shè)計,通過對車間設(shè)備的布局來滿足優(yōu)化目標(biāo),使得車間物流效率得到優(yōu)化。
C++ Builder程序設(shè)計語言是一種可視化編程語言,它是集開發(fā)、編譯、發(fā)布為一體的集成開發(fā)環(huán)境,基礎(chǔ)語言為面向?qū)ο蟮腃++語言,并提供了強(qiáng)大的RAD(Rapid Application Development,快速程序開發(fā))功能,使得開發(fā)者可以節(jié)約大量設(shè)計界面和實現(xiàn)程序底層支持功能的時間,將精力主要用于程序核心邏輯的設(shè)計上。
本軟件充分利用C++ Builder程序面向?qū)ο笠子陂_發(fā)的優(yōu)點(diǎn),實現(xiàn)了車間設(shè)備布局的機(jī)輔助設(shè)計,對于提高車間設(shè)備布局設(shè)計的效率、縮短設(shè)計周期和提高布局設(shè)計質(zhì)量均具有價值和價值。
1.C++Builer 下的OpenGL編程框架
由于C++ Builder對Windows的消息機(jī)制進(jìn)行了一定程度上的封裝,在C++ Builder下進(jìn)行OpenGL編程與其他C++環(huán)境下有較大區(qū)別;在C++ Builder中采用OpenGL編程的基本框架如下所述,用于本研究中車間布局仿真程序的開發(fā)[3]。
(1)在頭文件中增加變量、函數(shù)聲明和包含OpenGL頭文件的語句;
(2)在窗體OnCreate()事件過程中初始化OpenGL;
(3)在窗體OnPaint()事件過程中繪制圖形,調(diào)用自己編寫的繪圖函數(shù);
(4)在窗體OnSize()事件過程中控制圖形的顯示視口;
(5)在窗體OnClose()事件中釋放OpenGL設(shè)備句柄。
2.布局過程的可視化
【布局三維仿真系統(tǒng)的研究與開發(fā)】相關(guān)文章:
1.虛擬現(xiàn)實仿真培訓(xùn)系統(tǒng)的開發(fā)與應(yīng)用
2.Matlab仿真在無線通信原理與系統(tǒng)中的運(yùn)用與研究論文
3.WCDMA系統(tǒng)級仿真分層小區(qū)結(jié)構(gòu)的研究
4.高校虛擬仿真實訓(xùn)系統(tǒng)的設(shè)計研究