激光導(dǎo)航運(yùn)載機(jī)器人_第1頁
激光導(dǎo)航運(yùn)載機(jī)器人_第2頁
激光導(dǎo)航運(yùn)載機(jī)器人_第3頁
激光導(dǎo)航運(yùn)載機(jī)器人_第4頁
激光導(dǎo)航運(yùn)載機(jī)器人_第5頁
已閱讀5頁,還剩107頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、PAGE PAGE 112上海大學(xué)本科學(xué)士學(xué)位畢業(yè)設(shè)計論文激光導(dǎo)航運(yùn)載機(jī)機(jī)器人運(yùn)行環(huán)環(huán)境和引導(dǎo)環(huán)環(huán)境的中文動動態(tài)畫面輸入入軟件作者:查嵩煒學(xué)號:991003666專業(yè):計算機(jī)科科學(xué)與技術(shù)指導(dǎo)老師:朱 穎目錄摘要AGV 系統(tǒng)是是集光,機(jī),電電,計算機(jī)與與一體的高新新技術(shù),是柔柔性化,智能能化程度極高高的輸送系統(tǒng)統(tǒng),可廣泛應(yīng)應(yīng)用于生產(chǎn)線線、倉庫、商商場、機(jī)場等等物資運(yùn)輸場場所。自從AAGV 問世世以來,各種種各樣的制導(dǎo)導(dǎo)方式相繼被被用在AGVV上,這些制制導(dǎo)方式可歸歸納為固定線線路和非固定定線路兩類。目目前在工業(yè)上上實(shí)用的制導(dǎo)導(dǎo)方式主要有有下面幾種:固定路線(磁磁性、光學(xué)、電電磁感應(yīng))。非非固定路

2、線激光掃描描。隨著生產(chǎn)產(chǎn)力和工業(yè)自自動化水平的的日益提高,物物流系統(tǒng)中所所蘊(yùn)藏的巨大大潛力將越來來越引起人們們的重視,開開發(fā)物流潛力力,提高生產(chǎn)產(chǎn)的總體效益益已經(jīng)成為現(xiàn)現(xiàn)代化生產(chǎn)的的重要標(biāo)志之之一。AGVV系統(tǒng)可劃分分為兩個組成成部分,上位位機(jī)模塊確定運(yùn)載載小車的行為為,并提供監(jiān)監(jiān)控服務(wù);下下位機(jī)模塊實(shí)施對運(yùn)運(yùn)載小車的物物理控制。本系統(tǒng)是基于WWindowws平臺,運(yùn)運(yùn)行于上位機(jī)機(jī)的軟件系統(tǒng)統(tǒng),采用VIISUAL BASICC 6.0編編寫,實(shí)現(xiàn)了了對運(yùn)載小車車運(yùn)行環(huán)境、行行走軌跡的實(shí)實(shí)時創(chuàng)建、修修改和管理。使使AGV系統(tǒng)統(tǒng)變得更科學(xué)學(xué)、合理、方方便,提高了了企業(yè)的管理理效率。同時時為了使系統(tǒng)

3、統(tǒng)的使用者能能夠方便得使使用軟件,系系統(tǒng)的用戶界界面簡單、明明了、美觀大大方、容易操操作使用。通過對軟件系統(tǒng)統(tǒng)從無到有,逐逐漸建立起來來的過程的介介紹,讀者還還可以體會到到采用軟件工工程思想的必必要性以及用用類的思想創(chuàng)創(chuàng)建軟件的優(yōu)優(yōu)越性。ABSTRACCTThe AGVV systtem iss a neew tecchnoloogy whhich ccolleccted oopticss, macchine, elecctriciity, ccomputter, aand iss a fllexiblle, haas exttremelly higgh inttelliggent ddegr

4、eee convveyer systeem. Itt can be appply tto thee goodds andd mateerialss trannsportt fiellds exxtensiively, suchh as pproducction line, wareehousee, marrket aand aiirportt etc.Since the AAGV syystem comess out, variious gguidannce waays arre useed on it inn succcessioon. Thhese gguidannce waays caa

5、n be summeed up for ttwo kiinds, the rregulaar cirrcuit and nnon-reegularr circcuit. At prresentt, twoo kindds of guidaance wway unnder ppractiical uused iin thee induustry are: Regullar rooute (magneetic, opticcs, ellectroomagneetic iinducttion); Non-regullar roouteLaserr scannning. Improvve dayy b

6、y dday wiith prroducttivityy and indusstriall autoomatioon levvel, mmateriial fllow syystem contaained enormmous ppotenttialitty cattch peeoples eyee. Devvelopiing thhe matteriall floww poteentiallity, the ooveralll bennefit of immproviing prroducttion hhas allreadyy becoome onne of the iimporttant

7、ssign oof moddern pproducction. AGV syystem can bbe divvided into two ccomponnents, goess to tthe loocatioon macchine modulle -CConfirrm thaat carrries the bbehaviior off the car, and ooffer serviice off conttrolliing; GGo to the llocatiion maachinee moduule Contrrol phhysicss whicch carrries the cc

8、ar. This ssystemm is bbase oof Winndows platfform, run oon thee ?, develloped by VIISUAL 6.0 BBASIC. Reallize tto carrry caar runnning envirronmennt, waalk thhe esttablisshing, fix and mmanagees in real time of orrbit. Make TThe AGGV sysstem bbecomee moree scieence, ratioonal, conveenientt and also

9、improove thhe effficienncies of maanagemment oof entterpriises. At thhe samme timme, inn ordeer to make the uuser wwho usses thhis syystem can uuse sooftwarre so conveenienttly, tthe syystemaatic uuser iinterfface iis simmple, clearr eleggant iin apppearannce annd eassy to operaate annd usee. Throug

10、hh the introoductiion off the coursse of the ssoftwaare syystem estabblishiing, RReaderr can also realiize thhe neccessitty of usingg softtware enginneerinng andd the advanntage of ussing cclass to esstabliish sooftwarre sysstem.關(guān)鍵詞AGV 系統(tǒng)制導(dǎo)方式激光掃描上位機(jī)下位機(jī)第一章緒論1.1什么是是AGV系統(tǒng)統(tǒng)AGV是自動導(dǎo)導(dǎo)引小車(AAutomaated GGuide

11、dd Vehiicle)的的英文縮寫。根根據(jù)美國物流流協(xié)會定義,AAGV是指裝裝備有電磁或或光學(xué)等自動動導(dǎo)引裝置,能能夠沿規(guī)定的的導(dǎo)引路徑行行駛,具有安安全保護(hù)以及及各種移載功功能的運(yùn)輸小小車。 AGGV是現(xiàn)代物物流系統(tǒng)中的的關(guān)鍵設(shè)備之之一,它以電電池為動力,非非接觸導(dǎo)引,根根據(jù)實(shí)際需要要可配備不同同的移載機(jī)構(gòu)構(gòu),完成相應(yīng)應(yīng)的操作任務(wù)務(wù)。AGV系統(tǒng)的組組成在大體上,AAGV系統(tǒng)可可劃分為兩個個主要的組成成部分:上位位機(jī)模塊和下位機(jī)模塊塊。上位機(jī)模塊主主要由圖形監(jiān)監(jiān)控系統(tǒng)、控控制系統(tǒng)、無無線通信系統(tǒng)統(tǒng)和信號采集集系統(tǒng)構(gòu)成,確定運(yùn)載小小車的行為,并并提供監(jiān)控服服務(wù);下位機(jī)機(jī)模塊主要由由運(yùn)載小車、導(dǎo)

12、導(dǎo)航系統(tǒng)和自自動充電系統(tǒng)統(tǒng)構(gòu)成,實(shí)施對運(yùn)載載小車的物理理控制。下面面的圖中展示示了各個系統(tǒng)統(tǒng)之間的關(guān)系系:圖形監(jiān)控系統(tǒng)圖形監(jiān)控系統(tǒng)控制系統(tǒng)無線通信系統(tǒng)信號采集系統(tǒng)運(yùn)載小車導(dǎo)航系統(tǒng)自動充電系統(tǒng)上位機(jī)下位機(jī)AGV系統(tǒng)的工工作原理AGV在其運(yùn)行行區(qū)域內(nèi),規(guī)規(guī)定有通信區(qū)區(qū)和非通信區(qū)區(qū)。在通信區(qū)區(qū)域內(nèi),AGGV通過其車車載通信裝置置與系統(tǒng)控制制計算機(jī)通信信,報告其位位置及狀態(tài),并并接受高度和和工作指令。在在非通信區(qū)域域內(nèi),AGVV按照小車控控制器中的預(yù)預(yù)定程序獨(dú)立立行駛,不與與系統(tǒng)控制計計算機(jī)發(fā)生聯(lián)聯(lián)系。其工作過程為:當(dāng)接收到貨貨物搬運(yùn)指令令后,小車控控制器就根據(jù)據(jù)所存儲的運(yùn)運(yùn)行地圖和AAGV 當(dāng)前前位

13、置及行駛駛方向進(jìn)行計計算、分析,選選擇最佳的行行駛路線,通通過驅(qū)動放大大器自動控制制AGV的行行駛和轉(zhuǎn)向,到到達(dá)裝載貨物物目標(biāo)點(diǎn)準(zhǔn)確確停位后,移移載機(jī)構(gòu)動作作,完成裝貨貨過程。然后后AGV起動動,駛向目標(biāo)標(biāo)卸貨點(diǎn),準(zhǔn)準(zhǔn)確停位后,移移載機(jī)構(gòu)動作作,完成卸貨貨過程,并向向控制計算機(jī)機(jī)報告其位置置和狀態(tài)。隨隨之AGV起起動,駛向待待命區(qū)域。接接到新的指令令后再作下一一次搬運(yùn)。AGV行駛過程程中,車上的的導(dǎo)航系統(tǒng)不不斷地從導(dǎo)航航設(shè)施中獲得得數(shù)據(jù),由定定位計算機(jī)算算出AGV 當(dāng)前在全局局坐標(biāo)系中的的X、Y坐標(biāo)標(biāo),和當(dāng)前行行駛方向與該該坐標(biāo)系X軸軸的夾角,實(shí)實(shí)現(xiàn)準(zhǔn)確定位位和定向。導(dǎo)航自從AGV問世世以來,

14、各種種各樣的制導(dǎo)導(dǎo)方式相繼被被用在AGVV上,這些制制導(dǎo)方式可歸歸納為固定線線路和非固定線路路兩類。目前前在工業(yè)上實(shí)實(shí)用的制導(dǎo)方方式主要有下下面幾種:固固定路線(磁磁性、光學(xué)、電電磁感應(yīng))。非非固定路線激光掃描描。激光掃描描技術(shù)是瑞典典NDC公司司于90年代代初研制成功功的一項技術(shù)術(shù)。由于它的的先進(jìn)性,突突出的靈活性性和適應(yīng)性,完完備的功能保保障和技術(shù)支支持,已被世世界許多AGGV生產(chǎn)廠家家所接受。激光導(dǎo)航的原理理利用激光的的不發(fā)散性對對運(yùn)載機(jī)器人人所處的位置置進(jìn)行精確定定位來指導(dǎo)機(jī)機(jī)器人行走。激激光頭是安裝裝在運(yùn)載機(jī)器器人頂部的一一臺設(shè)備,每每隔數(shù)十毫秒秒旋轉(zhuǎn)一周,發(fā)發(fā)出的激光束束是經(jīng)過調(diào)制

15、制的,具有很很強(qiáng)的抗干擾擾的能力。在在收到經(jīng)特制制的反射板反反射光時,經(jīng)經(jīng)過解調(diào),即即可得到有效效的信號。激激光頭的下部部有一個角度度數(shù)據(jù)的編碼碼器,計算機(jī)機(jī)可以及時讀讀入當(dāng)時收到到反射信號時時激光器的旋旋轉(zhuǎn)角度。在運(yùn)載機(jī)器人的的工作場所預(yù)預(yù)先安置了具具有一定間隔隔的反射板,其其坐標(biāo)預(yù)先輸輸入了計算機(jī)機(jī)。激光頭坐標(biāo)點(diǎn)和和車體傾斜角角的計算見下下圖:在激光器掃描一一周后,可以以得到一系列列反射板的反反射角,如選選取其中三個個反射角(如如上圖),則則有可供計算算的三點(diǎn)坐標(biāo)標(biāo)和二個夾角角,經(jīng)過計算算機(jī)計算,即即可算得激光光旋轉(zhuǎn)中心的的坐標(biāo)。同時,根據(jù)以上上數(shù)據(jù),亦可可算出車體激激光旋轉(zhuǎn)頭的的零度角相

16、對對于X軸的夾夾角,即為傾傾斜角。激光導(dǎo)航小車系系統(tǒng)的組成激光導(dǎo)航小車(LGVV:Laseer Auttomatiic Guiided VVehiclle)是采用用激光作為導(dǎo)導(dǎo)航系統(tǒng)的AAGV系統(tǒng)。激光導(dǎo)航小車由由下面幾個部部分組成:處于核心位置的的主控制器;伺服驅(qū)動器、手手動控制器、驅(qū)驅(qū)動轉(zhuǎn)向系統(tǒng)統(tǒng);底盤系統(tǒng)、車體體系統(tǒng)、裝載載系統(tǒng)、電源源系統(tǒng)、安全全防撞系統(tǒng);激光掃描器、無無線電通信裝裝置;主控操作面板。這些系統(tǒng)設(shè)施之之間的關(guān)系如如下圖所示:由于激光導(dǎo)航航小車系統(tǒng)與與其它的AGGV系統(tǒng)僅在在導(dǎo)航方式上上有所不同,因因此其上位機(jī)機(jī)部分并沒有有發(fā)生太大的的變化,仍然然由圖形監(jiān)控控系統(tǒng)、控制制系

17、統(tǒng)、無線線通信系統(tǒng)和和信號采集系系統(tǒng)構(gòu)成。激光導(dǎo)航與其他他引導(dǎo)方式的的技術(shù)優(yōu)勢對對照表:項 目目LGV激光導(dǎo)航航AGV (電磁磁、磁、光)引導(dǎo)沿引導(dǎo)線的測定定位精度精度高,1CCM。是連續(xù)的絕對地地址。精度低??看配摵推渌鼈鱾鞲衅鞫ㄎ谎a(bǔ)補(bǔ)充,間斷不不連續(xù)。對引導(dǎo)線的偏差差距離測試精度高,1CCM。精度低,35CM。易受環(huán)境干擾。車體傾斜角測試試精度高,2度。車體糾偏角測試試精度高,1度度。估算精度很低,10度。行進(jìn)路線設(shè)置簡單方便。預(yù)貼反射板后,軟軟件可設(shè)置行行進(jìn)路線,并并可隨時更改改。復(fù)雜,工程大,不不易更改。電磁:地下預(yù)埋埋。磁:地面預(yù)貼,易易吸引其它鐵鐵磁物體。光:地面預(yù)貼,易易受色污染

18、。岔道設(shè)置簡單方便。軟件設(shè)置,并可可隨時更改。復(fù)雜,工程大。電磁:分頻引導(dǎo)導(dǎo)磁:沒有好的解解決方法光:分色引導(dǎo),增增加濾色鏡,系系統(tǒng)復(fù)雜程序啟動時的自自適應(yīng)可以實(shí)行開機(jī)自自適應(yīng)初始化化。不能進(jìn)行。必須手動輸入初初始位置。探測設(shè)備單一探頭系統(tǒng),維維修方便多探頭、多方式式系統(tǒng),維修修復(fù)雜。抗干擾抗干擾能力強(qiáng)。可采用激光調(diào)制制解調(diào)技術(shù)。抗干擾能力弱。走行運(yùn)動精度高,1CM。較低,3CMM。課題的來源與意意義課題“運(yùn)行環(huán)境境和引導(dǎo)環(huán)境境的中文動態(tài)態(tài)畫面輸入軟軟件”來源于上海富富洋科技發(fā)展展有限公司。上海富洋科技發(fā)發(fā)展有限公司司原隸屬于上上海太平洋化化工集團(tuán)溶劑劑廠技協(xié)。上上海太平洋化化工集團(tuán)溶劑劑廠是

19、國家大大型企業(yè)、國國家二級企業(yè)業(yè),經(jīng)過企業(yè)業(yè)改革,重組組后富洋科技技公司屬民營營企業(yè),是經(jīng)經(jīng)上海市科學(xué)學(xué)技術(shù)委員會會批準(zhǔn),專門門從事物流輸輸送的科工貿(mào)貿(mào)一體化專業(yè)業(yè)公司。公司司雖小但起點(diǎn)點(diǎn)高,依托與與上海電氣自自動化研究所所、上海交大大、上海大學(xué)學(xué)、北京科大大等高校、研研究所的技術(shù)術(shù)合作,開發(fā)發(fā)成功有軌無無人電動車新新聞紙全自動動輸送系統(tǒng)、彩彩色集中全自自動供墨系統(tǒng)統(tǒng)、運(yùn)載機(jī)器器人(AGVV)暨物流自自動控制系統(tǒng)統(tǒng)等產(chǎn)品,已已推廣使用。其其中插腿式式運(yùn)載機(jī)器人人達(dá)到九十十年代國際先先進(jìn)水平。該公司為上海新新民晚報報業(yè)業(yè)集團(tuán)、杭州州日報報業(yè)集集團(tuán)、北京日日報報業(yè)集團(tuán)團(tuán),開發(fā)的有軌無無人電動車新新

20、聞紙自動輸輸送系統(tǒng)已正正常使用多年年;廣州羊城晚晚報報業(yè)集團(tuán)團(tuán)、青島日報報報業(yè)集團(tuán)無無軌運(yùn)載機(jī)器器人新聞紙自自動輸送系統(tǒng)統(tǒng)也投入生產(chǎn)線線并正常運(yùn)行。目前,公司正致致力于對LGGV系統(tǒng)的研研究和開發(fā),整整個項目由以以下11個部部分組成:國產(chǎn)(高抗干擾擾型)旋轉(zhuǎn)激激光頭的研制制和生產(chǎn)激光導(dǎo)航的基本本工作方法和和測試各反射射板的測試原原理。激光發(fā)生接收器器的電路光路路和機(jī)械結(jié)構(gòu)構(gòu)。坐標(biāo)、引導(dǎo)角、偏偏移量的快速速計算數(shù)學(xué)模模型。激光導(dǎo)航運(yùn)載機(jī)機(jī)器人車運(yùn)行行狀態(tài)控制的的軟件方法激光導(dǎo)航運(yùn)載機(jī)機(jī)器人過引導(dǎo)導(dǎo)線岔道的軟軟件控制方法法。程序啟動時或記記憶丟失時的的運(yùn)載機(jī)器人人坐標(biāo)的智能能模糊判斷非對稱性場景設(shè)

21、設(shè)置研究激光導(dǎo)航與原電電磁引導(dǎo)運(yùn)載載機(jī)器人及系系統(tǒng)的接入和和改造問題運(yùn)行環(huán)境和引導(dǎo)導(dǎo)環(huán)境的中文文動態(tài)畫面輸輸入軟件激光導(dǎo)航運(yùn)載機(jī)機(jī)器人在工業(yè)業(yè)上的實(shí)際應(yīng)應(yīng)用問題。可以看到,“運(yùn)運(yùn)行環(huán)境和引引導(dǎo)環(huán)境的中中文動態(tài)畫面面輸入軟件”是整個LGGV系統(tǒng)中一一個很重要的的組成部分。軟件系統(tǒng)工作于于上位機(jī)模塊塊,作為圖形形控制系統(tǒng),并并擁有部分圖圖形監(jiān)控功能能。采用Wiindowss流行的圖形形操控方法達(dá)達(dá)到LGV系系統(tǒng)的路徑初初始化設(shè)置,軌軌跡路徑的實(shí)實(shí)時修改、發(fā)發(fā)送、保存,用用圖形化的方方式展示整個個工作環(huán)境等等目標(biāo)。使得得LGV系統(tǒng)統(tǒng)的操作人員員能夠方便快快捷準(zhǔn)確無誤誤地生成、更更改、查詢、刪刪除自動

22、導(dǎo)航航小車的行為為狀態(tài)。國內(nèi)外研究的現(xiàn)現(xiàn)狀激光導(dǎo)引技術(shù)是是瑞典NDCC公司于900年代初研制制成功的一項項技術(shù)。由于于其先進(jìn)的指指標(biāo)和性能,突突出的靈活性性和適應(yīng)性,完完備的功能保保障和技術(shù)支支持,已被世世界許多AGGV生產(chǎn)廠家家所接受。到到目前為止,已已有上百個AAGV系統(tǒng)的的近千輛激光光導(dǎo)引小車投投入商業(yè)運(yùn)行行。應(yīng)用領(lǐng)域域涉及汽車、電電子、造紙、醫(yī)醫(yī)藥、煙草、冶冶金等多種行行業(yè)。思想新新穎,技術(shù)先先進(jìn),方法科科學(xué),性能優(yōu)優(yōu)良,功能完完善,是奠定定其在AGVV領(lǐng)域世界領(lǐng)領(lǐng)先地位的基基本條件。而激光導(dǎo)航運(yùn)載載機(jī)器人國外外近幾年剛研研究開發(fā),以以瑞典NDCC公司的技術(shù)術(shù)為主導(dǎo)地位位,其他國家家如

23、日本村田田機(jī)械、大福福公司、奧地地利、德國等等國家在不同同領(lǐng)域使用的的,其技術(shù)主主要也是引進(jìn)進(jìn)瑞典NDCC公司。我國目前有個別別高校(如哈哈爾濱工業(yè)大大學(xué))也在研研究,但都沒沒有形成產(chǎn)業(yè)業(yè)化。昆明船船舶研究所引引進(jìn)瑞典NDDC公司的激激光導(dǎo)航技術(shù)術(shù),應(yīng)用在AAGV上組成成系統(tǒng),目前前在煙草加工工業(yè)推廣應(yīng)用用,一臺運(yùn)載載機(jī)器人要價價60多萬,一一套系統(tǒng)6000多萬,因因其成本售價價高,使大多多數(shù)用戶用不不起。沈陽新新松公司(原原屬中科院沈沈陽自動化研研究所)也研研制成功了AAGV , 在汽車裝配配線推廣使用用 。根據(jù)調(diào)調(diào)查也在進(jìn)行行開發(fā)激光導(dǎo)導(dǎo)航的技術(shù),至至今未見產(chǎn)品品面市。有些些廠家為了搶搶占

24、市場,提提前打出廣告告造聲勢,但但現(xiàn)階段國內(nèi)內(nèi)市場還沒有有自主技術(shù)開開發(fā)的激光導(dǎo)導(dǎo)航機(jī)器人產(chǎn)產(chǎn)品。由于激光導(dǎo)航運(yùn)運(yùn)載機(jī)器人目目前國內(nèi)還沒沒有產(chǎn)品,運(yùn)載機(jī)器人人物流自動控控制系統(tǒng)目前前國內(nèi)只有兩兩家企業(yè)剛投投入生產(chǎn)。昆昆明船舶研究究所:其激光光導(dǎo)航技術(shù)是是依靠引進(jìn)瑞瑞典NDC公公司的技術(shù),知知識產(chǎn)權(quán)屬于于瑞典公司,其其運(yùn)載機(jī)器人人和配套系統(tǒng)統(tǒng)造價很高;沈陽自動化化研究所研制制的運(yùn)載機(jī)器器人是采用電電磁感應(yīng)制導(dǎo)導(dǎo)技術(shù)。以上上兩單位都是是國家部級支支持資助的特特大工業(yè)生產(chǎn)產(chǎn)企業(yè)。我們們國內(nèi)目前雖雖然個別院所所也在研究開開發(fā)激光導(dǎo)航航這類項目,但但真正形成產(chǎn)產(chǎn)業(yè)化的還沒沒有。上海富洋科技發(fā)發(fā)展有限公司

25、司力爭在短期期內(nèi)研制開發(fā)發(fā)出具有自主主知識產(chǎn)權(quán)的的激光導(dǎo)航運(yùn)運(yùn)載機(jī)器人并并形成產(chǎn)業(yè)化化生產(chǎn),爭創(chuàng)創(chuàng)國內(nèi)一流、國國際先進(jìn)。國內(nèi)現(xiàn)狀國外現(xiàn)狀引進(jìn)技術(shù)推廣研究開發(fā)階段技術(shù)成熟,大量量使用國內(nèi)發(fā)展趨勢國外發(fā)展趨勢市場需求大有發(fā)發(fā)展前景用戶發(fā)展迅速,覬覬覦國內(nèi)市場場本章小結(jié)本章首先對AAGV系統(tǒng)的的概況進(jìn)行了了介紹,并介介紹了新興的的采用激光進(jìn)進(jìn)行導(dǎo)航的AAGV系統(tǒng)LGV系系統(tǒng)。然后,通通過對上海富富洋科技發(fā)展展有限公司LLGV項目的的介紹,引出出了論文課題題“運(yùn)行環(huán)境和和引導(dǎo)環(huán)境的的中文動態(tài)畫畫面輸入軟件件”的來源。第二章系統(tǒng)主主體分析系統(tǒng)的目標(biāo)系統(tǒng)的目標(biāo)就是是要對問題予予以定義,“要解決的問問題是什

26、么?”。如果不知知道問題是什什么就試圖解解決問題,顯顯然是盲目的的,最終得出出的結(jié)果很可可能是毫無意意義的。通過問題的定定義,應(yīng)該得得到問題的性性質(zhì)、目標(biāo)和和規(guī)模等書面面報告。2.1.1系系統(tǒng)的要求激光導(dǎo)航運(yùn)載機(jī)機(jī)器人要求在在工作環(huán)境中中能自動判別別自身位置,能能根據(jù)上位機(jī)機(jī)指令識別運(yùn)運(yùn)行路徑和目目的地。首先先要把全部工工作場景輸入入計算機(jī):場場景尺寸、激激光反射板位位置和數(shù)量、路路徑線形與數(shù)數(shù)量。以上信信息輸入計算算機(jī)形成文件件通過無線收收發(fā),傳輸?shù)降较挛粰C(jī),以以便控制機(jī)器器人。場景、反射板、路路徑能根據(jù)不不同工作狀態(tài)態(tài)隨時修改,使使得操作方便便容易。設(shè)計機(jī)器人行走走路徑時,能能自動尋找標(biāo)標(biāo)

27、志位置,不不同線形平滑滑連接。人機(jī)界面友好,畫畫面美觀。系統(tǒng)的技術(shù)指標(biāo)標(biāo)技術(shù)指標(biāo):通過過軟件,實(shí)現(xiàn)現(xiàn)上位機(jī)指令令發(fā)布,下位位機(jī)能按照上上位機(jī)指令運(yùn)運(yùn)行。設(shè)計思想這里包括了可行行性研究與需需求分析。通通過這些工作作,來確定這這個軟件系統(tǒng)統(tǒng)是否“行得通”,以及“必須具備哪哪些功能”??尚行匝芯繉τ谙到y(tǒng)的可行行性分析首先先必須對系統(tǒng)統(tǒng)目標(biāo)進(jìn)行全全面地分析,具具體確定工程程的規(guī)模、目目標(biāo),并估計計系統(tǒng)的成本本和效益,得得出系統(tǒng)是否否要開發(fā)的結(jié)結(jié)論,及時中中止不值得投投資的項目,避避免出現(xiàn)不必必要的浪費(fèi)。本系統(tǒng)可行性分分析包括三方方面:技術(shù)可行性“運(yùn)行環(huán)境和引引導(dǎo)環(huán)境的中中文動態(tài)畫面面輸入軟件”,即本系

28、統(tǒng)統(tǒng)運(yùn)行于AGV系統(tǒng)統(tǒng)的上位機(jī)模模塊,該模塊塊的硬件平臺臺是基于IBBM-PC及及其兼容機(jī)系系列的,擁有有良好輸入輸輸出端口的計計算機(jī)系統(tǒng)。其其軟件平臺采采用的是Miicrosooft Wiindowss 20000操作系統(tǒng)。本系統(tǒng)采用目前前流行的在WWindowws下程序開開發(fā)語言Viisual Basicc 6.0編編寫。Vissual BBasic 由于功能強(qiáng)強(qiáng)大、簡單易易用而有著廣廣泛的用戶,尤尤其是在數(shù)據(jù)據(jù)庫、多媒體體、商用系統(tǒng)統(tǒng)的用戶界面面以及一般應(yīng)應(yīng)用程序的設(shè)設(shè)計等方面,VVisuall Basiic 更是有有其他開發(fā)環(huán)環(huán)境所不能替替代的優(yōu)越之之處。經(jīng)濟(jì)可行性本系統(tǒng)由于采用用了V

29、isuual Baasic 進(jìn)進(jìn)行開發(fā),其其圖形處理的的強(qiáng)大功能使使得開發(fā)周期期大大縮短,系系統(tǒng)開發(fā)時間間大約3個月月。操作可行性系統(tǒng)大量地采用用了Winddows下的的繪圖操作概概念,使得用用戶容易上手手,軟件簡單單易學(xué),大大大提高了軟件件使用的效率率。本課題涉及的知知識概括為:關(guān)于VB的知識識,包括VBB中種類繁多多的控件的使使用關(guān)于無線MOODERM方方面的書、資資料、技術(shù)手手冊。了解原原理、開發(fā)步步驟。關(guān)于機(jī)器人控控制方面的的書。上海富洋科技發(fā)發(fā)展有限公司司提供的內(nèi)部部技術(shù)資料需求分析需求分析的任務(wù)務(wù)是對目標(biāo)系系統(tǒng)提出完整整、準(zhǔn)確、清清晰、具體的的要求。1系統(tǒng)的數(shù)據(jù)據(jù)要求本軟件系統(tǒng)所涉

30、涉及到的事物物有:場景(場場地)、反射射板、路徑。由由這些信息組組合在一起,稱稱為一個軌跡跡工程。場景是AGV系系統(tǒng)工作的區(qū)區(qū)域,場景中中將容納反射射板、路徑等等物體。為了了方便AGVV系統(tǒng)的處理理,一個大的的場景(場地地)可以由一一個個小的場場地(子場景景)組成。因此,場景的數(shù)數(shù)據(jù)可以用下下列的信息表表示:場景大?。粓鼍爸凶訄鼍暗牡臄?shù)量n;子場景1的大小小;子場景2的大小小;子場景n的大小小。反射板是用于反反射激光的有有機(jī)玻璃板,提提供了AVGG系統(tǒng)的定為為參照。其數(shù)據(jù)定義為:放射板編號;反射板坐標(biāo)(xx,y)。路徑是由一段一一段的線段連連接而組成的的。目前線段有兩類:直線和1/4圓弧。因因

31、此保存路徑徑時要分為五五種情況才能能正確地保存存數(shù)據(jù)。其數(shù)據(jù)定義為:路徑段編號;險段類型:分別別有直線、第第一象限圓弧弧、第二象限限圓弧、第三三象限圓弧及及第四象限圓圓弧;起始點(diǎn)坐標(biāo)(xx1,y1);終止點(diǎn)坐標(biāo)(xx2,y2);圓心坐標(biāo)(xoo,yo);半徑;斜率;截距。(以上數(shù)據(jù)的精精度在以“米”為單位是小小數(shù)點(diǎn)后1到到7位)要保存一個完整整的軌跡工程程,就需要以以上所有數(shù)據(jù)據(jù)的支持。2系統(tǒng)的功能能描述輸入系統(tǒng):這是是數(shù)據(jù)輸入的的核心。由于于采用的是圖圖形模式的數(shù)數(shù)據(jù)輸入方法法,所以要求求系統(tǒng)能將用戶戶在屏幕上繪繪制的系統(tǒng)轉(zhuǎn)轉(zhuǎn)換成一定的的數(shù)據(jù)格式,并并保存起來,形形成文件;同同時輸入系統(tǒng)統(tǒng)還

32、要能夠從從文件中讀取取數(shù)據(jù),將保保存起來的數(shù)數(shù)據(jù)恢復(fù)成原原來的格式。繪制系統(tǒng):這是是數(shù)據(jù)圖形顯顯示的核心。將將輸入系統(tǒng)中中的數(shù)據(jù)應(yīng)圖圖形的方式顯顯示出來,并并能夠根據(jù)用用戶的要求或或者窗口大縣縣的變化及時時調(diào)整圖形,按按照一定比例例進(jìn)行縮放;同時繪制系系統(tǒng)還要為輸輸入系統(tǒng)提供供必要的坐標(biāo)標(biāo)轉(zhuǎn)換參數(shù)。輸出系統(tǒng):這是是數(shù)據(jù)輸出的的核心。將輸輸入系統(tǒng)的數(shù)數(shù)據(jù)顯示在一一定的窗口中中,提供用戶戶統(tǒng)計、查詢詢、打印等功功能。3系統(tǒng)的數(shù)據(jù)據(jù)流圖場地數(shù)據(jù)場地數(shù)據(jù)路徑數(shù)據(jù)反射板數(shù)據(jù)保存文件窗口AGV繪制用戶操作轉(zhuǎn)換本章小結(jié)在這一章中,分分析了激光導(dǎo)航運(yùn)運(yùn)載機(jī)器人運(yùn)運(yùn)行環(huán)境和引引導(dǎo)環(huán)境的中中文動態(tài)畫面面輸入軟件的

33、的可行性,并并通過數(shù)據(jù)定定義、功能要要求、數(shù)據(jù)流流模型確定了了軟件的需求求。第三章系統(tǒng)設(shè)設(shè)計本章將介紹軟件件系統(tǒng)的總體體設(shè)計階段??傮w設(shè)計的基本本目的是解決決系統(tǒng)應(yīng)該如如何實(shí)現(xiàn),其其過程為:首先尋找實(shí)現(xiàn)目目標(biāo)系統(tǒng)的各各種不同方案案,然后分析析員從這些供供選擇的方案案中選取若干干合理的方案案,為每個合合理的方案都都準(zhǔn)備一份系系統(tǒng)流程圖,列列出組成系統(tǒng)統(tǒng)的所有物理理元素,進(jìn)行行成本效益分分析,并且制制定實(shí)現(xiàn)這個個方案的進(jìn)度度計劃。總體設(shè)計通常由由兩個階段組組成:系統(tǒng)設(shè)設(shè)計,確定系系統(tǒng)的具體實(shí)實(shí)現(xiàn)方案;結(jié)結(jié)構(gòu)設(shè)計,確確定軟件的結(jié)結(jié)構(gòu)。實(shí)現(xiàn)方案本系統(tǒng)采用VBB6作為開發(fā)發(fā)平臺,因?yàn)闉閂B6時面面向?qū)ο?/p>

34、的程程序設(shè)計語言言,因此開發(fā)發(fā)的過程既要要符合過程化化的設(shè)計標(biāo)準(zhǔn)準(zhǔn),也要使用用到類的概念念。3.1.1軟件件開發(fā)遵循的的基本原則嚴(yán)格性和形式式化原則分隔原則模塊部件化化原則抽象原則預(yù)期變化原則則通用性原則軟件復(fù)用原原則遞增模式原則則過程式軟件設(shè)計計的基本原理理本節(jié)將講述過程程式軟件設(shè)計計原理。模塊化模塊是數(shù)據(jù)說明明、可執(zhí)行語語句等程序的的集合,它是是單獨(dú)命名的的而且可以通通過名字來訪訪問,例如,過過程、函數(shù)、子子程序、宏等等等都可以作作為模塊。模模塊化就是把把程序劃分為為若干個模塊塊,每個模塊塊完成一個子子功能,把這這些模塊集合合起來組成一一個整體,可可以完成指定定的功能滿足足問題的要求求。采

35、用模塊化原理理可以使軟件件結(jié)構(gòu)清晰,不不僅容易設(shè)計計也容易閱讀讀和理解。因因?yàn)槌绦虺鲥e錯通常局限在在有關(guān)的模塊塊及它們之間間的接口中,所所以模塊化使使軟件容易測測試和調(diào)試,有有助于提高軟軟件的可靠性性。因?yàn)樽儎觿油簧婕凹吧贁?shù)幾個模模塊,所以也也可提高軟件件的可修改性性。抽象人類在認(rèn)識復(fù)雜雜想象的過程程中使用的最最強(qiáng)有力的思思維工具就是是抽象。抽象象就是抽出事事物的本質(zhì)特特性而暫不考考慮它們的細(xì)細(xì)節(jié)。當(dāng)我們考慮對任任何問題的模模塊化解法時時,可以提出出許多抽象的的層次。在抽抽象的最高層層次使用問題題環(huán)境的語言言,以概括的的方式敘述問問題的解法;在較低抽象象層次采用更更過程化的方方法;在最低低

36、層次用可以以直接實(shí)現(xiàn)的的方式敘述問問題的解法。信息隱蔽和局部部化局部化的概念和和信息隱蔽的的概念是密切切相關(guān)的。所所謂局部化是是指把一些關(guān)關(guān)系密切的軟軟件元素物理理地放的彼此此靠近。隱蔽蔽則意味著有有效的模塊化化可以通過定定義一組獨(dú)立立的模塊而實(shí)實(shí)現(xiàn)。如果在測試期間間和以后的軟軟件維護(hù)期間間需要修改軟軟件,那么使使用信息隱蔽蔽原理可以帶帶來極大的好好處。因?yàn)榻^絕大部分的數(shù)數(shù)據(jù)和過程對對于軟件的其其他部分而言言是不可見的的,修改期間間的疏忽而引引起的錯誤就就很少可能傳傳播到軟件的的其他部分。模塊獨(dú)立模塊獨(dú)立是模塊塊化、抽象、信信息隱蔽和局局部化的直接接結(jié)果。為什么模塊獨(dú)立立性很重要呢呢?第一,有

37、效的模模塊化的軟件件比較容易開開發(fā)出來。這這是由于能夠夠分割功能而而且接口可以以簡化;第二二,獨(dú)立的模模塊比較容易易測試和維護(hù)護(hù)。模塊的獨(dú)立性可可以由兩個定定性的標(biāo)準(zhǔn)衡衡量,這兩個個標(biāo)準(zhǔn)分別稱稱作內(nèi)聚和耦耦合。耦合是是對一個軟件件結(jié)構(gòu)內(nèi)不同同模塊之間的的互連程度的的度量;內(nèi)聚聚標(biāo)志著一個個模塊各個元元素彼此結(jié)合合的緊密程度度。一個模塊獨(dú)立性性較高的軟件件,應(yīng)該是高高內(nèi)聚、低耦耦合的。采用面向?qū)ο蟮牡脑O(shè)計方法面向?qū)ο蟮某绦蛐蛟O(shè)計方法學(xué)學(xué)是建立在過過程化、模塊塊化程序設(shè)計計方法學(xué)之上上的。在過程程化程序設(shè)計計方法的基礎(chǔ)礎(chǔ)上,面向?qū)ο蟮脑O(shè)計方方法又添加了了以下概念。1類與對象“類”是對具有有相同數(shù)

38、據(jù)和和相同操作的的一組相似對對象的定義。也也就是,類是是對具有相同同屬性或行為為的一個或多多個對象的描描述,通常在在這種描述中中也包括對怎怎樣創(chuàng)建該對對象的說明。對象則是類的具具體化、實(shí)例例化。類具有三個特性性封裝性;繼承性;多態(tài)性。一般來說,面向向?qū)ο蟮某绦蛐蛟O(shè)計語言應(yīng)應(yīng)該支持以上上三個特性。2為什么要使使用類概括地說,面向向?qū)ο蟮脑O(shè)計計方法具有下下述要點(diǎn):認(rèn)為客觀世界是是由各種對象象組成的,任任何事物都是是對象,復(fù)雜雜的對象可以以由比較簡單單的對象以某某種方式組合合而成。把所有對象都劃劃分為各種對對象類,每個個對象都定義義了一組數(shù)據(jù)據(jù)和一組方法法。按照子類與父類類的關(guān)系,把把若干個對象象類

39、組成一個個層次結(jié)構(gòu)系系統(tǒng)。對象彼此之間僅僅能通過消息息傳遞的方式式進(jìn)行聯(lián)系。對象與傳統(tǒng)的書書具有本質(zhì)的的區(qū)別,它不不是被動的等等待外界對它它實(shí)施操作,相相反,它是進(jìn)進(jìn)行處理的主主體,必須發(fā)發(fā)消息請求他他執(zhí)行它的操操作,處理它它的私有數(shù)據(jù)據(jù),而不能從從外界直接對對它的私有數(shù)數(shù)據(jù)進(jìn)行操作作。也就是說說,一切局部部與該對象的的私有信息,都都被封裝在對對象類的定義義中,就好像像裝在一個不不透明的黑盒盒子中一樣,更更不能直接使使用。因此使用類的面面向?qū)ο蟮姆椒椒▽W(xué)可以做做到:與人類的習(xí)慣的的思維相一致致面向?qū)ο蟮姆椒ǚ▽W(xué)使用現(xiàn)實(shí)實(shí)世界的概念念抽象地思考考問題從而解解決問題。它它強(qiáng)調(diào)模擬現(xiàn)現(xiàn)實(shí)世界中的的概

40、念而不強(qiáng)強(qiáng)調(diào)算法,它它鼓勵開發(fā)者者在軟件開發(fā)發(fā)的絕大部分分過程中都用用應(yīng)用領(lǐng)域的的概念去思考考。在面向?qū)ο蟮脑O(shè)計方方法中,現(xiàn)實(shí)實(shí)世界的模型型才是最重要要的。面向?qū)ο蟮脑O(shè)計計方法的基本本原則,是按按照人們習(xí)慣慣的思維方式式建立問題域域的模型,開開發(fā)出盡可能能直觀、自然然的表現(xiàn)求解解方法的軟件件系統(tǒng)。穩(wěn)定性好面向?qū)ο蠓椒ɑ跇?gòu)造問題題領(lǐng)域的對象象模型,以對對象為中心構(gòu)構(gòu)造軟件系統(tǒng)統(tǒng)。它的基本本做法是用對對象模擬問題題領(lǐng)域的實(shí)體體,以對象間間的聯(lián)系刻畫畫實(shí)體間的聯(lián)聯(lián)系。因?yàn)槊婷嫦驅(qū)ο蟮能涇浖到y(tǒng)的結(jié)結(jié)構(gòu)是根據(jù)問問題領(lǐng)域的模模型建立起來來的,而不是是基于對系統(tǒng)統(tǒng)應(yīng)完成的功功能的分解,所所以,當(dāng)系統(tǒng)

41、統(tǒng)的功能需求求變化時并不不會引起軟件件結(jié)構(gòu)的整體體變化,往往往僅需要做一一些局部修改改??芍赜眯院脤ο笏逃械姆夥庋b性和信息息隱藏機(jī)理,使使得對象內(nèi)部部的實(shí)現(xiàn)與外外界隔離,具具有較強(qiáng)的獨(dú)獨(dú)立性。因此此對象類提供供了比較理想想的模塊化機(jī)機(jī)制和比較理理想的可重用用軟件部分??删S護(hù)性好可維護(hù)性好體現(xiàn)現(xiàn)在:穩(wěn)定性好;比較容易修改;比較容易理解;易于測試與調(diào)試試。因此使用面向?qū)ο蟮脑O(shè)計方方法可以提高高目標(biāo)系統(tǒng)的的可重用性,減減少了軟件生生命周期后續(xù)續(xù)階段的工作作量和可能犯犯的錯誤,提提高了軟件的的可維護(hù)性。結(jié)構(gòu)設(shè)計在本小結(jié)中,我我們將根據(jù)需需求分析中提提出的要求定定義本系統(tǒng)所所用到的數(shù)據(jù)據(jù)結(jié)構(gòu),以及及

42、本系統(tǒng)的軟軟件結(jié)構(gòu)。系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)構(gòu)在需求分析中,我我們已經(jīng)給出出了場景(場場地)、反射射板、路徑數(shù)數(shù)據(jù)結(jié)構(gòu)的形形式化定義,這這里將給出使使用類VB語語言的定義:Privatee Typee 場景 gNoo As IIntegeer xo As Siingle yo As Siingle Lenngth AAs Sinngle Widdth Ass Singgle End TyppePrivatee Typee反射板 bNoo As IIntegeer X AAs Sinngle Y AAs SinngleEnd TyppePrivatee Typee 路徑 iNoo As IIntegeer

43、 eTyype Ass Inteeger x1 As Siingle y1 As Siingle x2 As Siingle y2 As Siingle xo As Siingle yo As Siingle r AAs Sinngle k AAs Sinngle b AAs SinngleEnd Typpe同時,當(dāng)數(shù)據(jù)保保存到文件中中去的時候,場景(場地)、反射板、路徑數(shù)據(jù)采用分為三個文件獨(dú)立保存的方法。然而,由于只有當(dāng)一個軌跡工程的場景、反射板、路徑數(shù)據(jù)文件都存在并讀入系統(tǒng)后,這個工程才是完整的。顯然,要求用戶選擇要讀入的文件是不合時宜的,這不僅增加了用戶讀入選擇的次數(shù)而且使得系統(tǒng)的危險性

44、和不可靠性增加。因此,設(shè)計一個個工程文件來來存放一個軌軌跡工程的場場景、反射板板、路徑數(shù)據(jù)據(jù)文件的名稱稱,用打開這這個工程文件件來讀取所有有的數(shù)據(jù)變得得非常必要。同同時,工程文文件中還能夠夠保存一些附附加的內(nèi)容,比比如工程的名名稱,創(chuàng)建人人是誰等等。其實(shí),工程文件件的身影隨處可見見。就拿VBB開發(fā)的源程序項目來講,其其就是由一個工程文文件vbp和和數(shù)個窗口ffrm,類ccls、模塊塊mdl等文文件構(gòu)成,通通過打開某個個vbp文件件,就打開了了這個程序項項目的所有文文件。又如VVC開發(fā)源程程序項目,也也是通過工程程文件dsww/dsp以以及數(shù)個程序序文件.cppp、.h、.res構(gòu)成成的。參照這

45、這些工程文件件的格式,我我們這里采用用Windoows INNI文件格式式。INI文文件讀寫方便便,帶有一定定的結(jié)構(gòu)特性性,是非常適適合做數(shù)據(jù)記記錄的文件形形式。這里我們將軌跡跡工程的數(shù)據(jù)據(jù)結(jié)構(gòu)定義如如下: sPrrojNamme As Strinng 工程名 sUsserNamme As Strinng 建立工程的的人員名稱 sDeetial As Sttring 工程描述 sLCCFNamee As SStringg 保存路徑的的文件名 sBBBFNamee As SStringg 保存反射板板的文件名 sGDDFNamee As SStringg 保存場地的的文件名系統(tǒng)的軟件結(jié)構(gòu)構(gòu)(層次

46、圖)分析軟件的結(jié)構(gòu)構(gòu)可以使程序序結(jié)構(gòu)清晰,提提高模塊化程程度,是編寫寫有較高模塊塊獨(dú)立性的程程序的基礎(chǔ)。同同時,在分析析軟件結(jié)構(gòu)的的過程,還可可以獲得對象象的模型及其其層次。1軟件結(jié)構(gòu)圖圖AGV運(yùn)行環(huán)境和引導(dǎo)環(huán)境的輸入軟件AGV運(yùn)行環(huán)境和引導(dǎo)環(huán)境的輸入軟件繪制場地直線圓弧反射板添加編輯報表打印工具連接性檢查路徑探尋(圖論)重新編號系統(tǒng)設(shè)置刪除文件操作創(chuàng)建打開保存導(dǎo)入導(dǎo)出文件幫助實(shí)時幫助幫助文件2類的劃分由軟件的層次次結(jié)構(gòu)圖,我我們可以通過過分析分化功功能,得出以以下類。專用類有關(guān)于繪制系統(tǒng)統(tǒng)的類,如場場地類、直線線類、圓弧類類、反射板類類。這些類要能夠保保存相應(yīng)的數(shù)數(shù)據(jù),添加、編編輯、刪除信信

47、息,以及完完成讀寫。保存工程的類,完完成工程信息息的讀寫。保存軟件系統(tǒng)的的設(shè)置和狀態(tài)態(tài),并能夠?qū)⑵浔4嫫饋韥?。坐?biāo)轉(zhuǎn)換,提供供窗口坐標(biāo)和和物理坐標(biāo)的的互換。通用類完成文件的讀寫寫的類。完成INI文件件的讀寫。能夠提供Winndows信信息的一些類類。本章小結(jié)通過對軟件系統(tǒng)統(tǒng)的結(jié)構(gòu)和數(shù)數(shù)據(jù)結(jié)構(gòu)的分分析,我們基基本獲得了編編寫軟件的信信息,為后面面的詳細(xì)設(shè)計計和系統(tǒng)地實(shí)實(shí)現(xiàn)打下了良良好的基礎(chǔ)。第四章系統(tǒng)的的實(shí)施系統(tǒng)的實(shí)施是是一個軟件系系統(tǒng)具體的實(shí)實(shí)現(xiàn)階段,這這里將詳細(xì)介介紹本系統(tǒng)是是如何構(gòu)成的的。本軟件系統(tǒng)采用用基于類的構(gòu)構(gòu)造方法進(jìn)行行建立,所有有的關(guān)鍵算法法到處在類模模塊中,做到到系統(tǒng)中類處處

48、于核心狀態(tài)態(tài),窗口只能能通過調(diào)用類類的方法控制制它的行為到到達(dá)到所需要要的功能。本章將按照“類類模塊窗口”的從核心代代碼到外延代代碼的順序介介紹本軟件系系統(tǒng)的構(gòu)成,從中說明為什么要采用模塊化設(shè)計和面向?qū)ο蠓椒ㄟM(jìn)行軟件設(shè)計的原因。系統(tǒng)的實(shí)現(xiàn)在VB開發(fā)系統(tǒng)統(tǒng)中,代碼可可以處于三個個部分:窗口口,模塊,類類模塊。窗口口中的代碼主主要的實(shí)現(xiàn)窗窗口上的事件件響應(yīng);模塊塊中的代碼主主要用來定義義聲明一些全全局的變量和和函數(shù);類模模塊則是定義義類的地方了了。類模塊VB中的類在VB中類被稱稱作“類模塊”。雖然VB也可以以使用類,但但它的類與CC/C+中中的類有著很很大的不同。首先,VB并沒沒有完全支持持類,它

49、僅僅僅提供了對類類“封裝性”的支持,無無法完成“繼承性”,因此在很很多媒體中都都將VB稱作作“基于對象”的程序開發(fā)發(fā)語言。其次,VB對類類中的成員函函數(shù)分為三類類:方法:即普通的的函數(shù);屬性:一種特殊殊的函數(shù),既既可作為右值值也可以作為為左值;事件:由操作系系統(tǒng)在特定條條件下調(diào)用的的函數(shù)。再次,VB中類類的構(gòu)造函數(shù)數(shù)不可帶參數(shù)數(shù),也不可以以重載。因此在使用VBB編寫類時,要要特別注意它它的限制和特特點(diǎn)。本系統(tǒng)使用到221個類,其其中9個類為為本軟件專用用,而其余的的是通用類模模塊。專用類CtheAppp記錄和保存了程程序的設(shè)置和和狀態(tài)CFY_BafffleBooard保存反射板信息息并繪制CF

50、Y_Cirrcles保存圓弧信息并并繪制CFY_DraawItemmDatass保存線段信息并并繪制CFY_Griid繪制網(wǎng)格并計算算網(wǎng)格信息CFY_Groound保存場地信息并并繪制CFY_Linnes保存直線信息并并繪制CFY_Prooject保存工程文件的的信息CFY_VieewTrannsformm通用類CCommanndLinee處理命令行CCommonnDlgCttl用API實(shí)現(xiàn)通通用對話框CCirclee圓弧類CFile判斷文件存在、獲獲得文件名等等CGraph有關(guān)圖論CIniFille操作INI類型型的文件Clines直線類CMRUs處理“已經(jīng)打開開的文件”CPAutoCCon

51、necct端點(diǎn)捕捉CPointss點(diǎn)CRect矩形CSystemmWindowss系統(tǒng)信息它們之間的關(guān)系系是:(AB表示B調(diào)調(diào)用A;帶有有下劃線的類類本系統(tǒng)直接接調(diào)用)CtheAppCtheAppCFY_BaffleBoard eBoardCFY_CirclesCFY_DrawItemDatasCFY_GridCFY_GroundCFY_LinesCFY_ProjectCCircleCFY_ViewTransformCFileCIniFileClinesCPointsCRectCCommonDlgCtlCCommonDlgCtlCCommandLineCGraphCMRUsCPAutoConn

52、ectCSystem類關(guān)系圖下面將按照“類類關(guān)系圖”中的順序介介紹各類的功功能,并在必必要的部分介介紹實(shí)現(xiàn)的算算法。CPoint類類提供了關(guān)于“點(diǎn)點(diǎn)”的操作。方法:(1)Publlic Fuunctioon GettLengtthBetwween2PPointss(ByVaal x1 As Siingle, ByVaal y1 As Siingle, ByVaal x2 As Siingle, ByVaal y2 As Siingle) As SSinglee目的:計算兩點(diǎn)點(diǎn)間距;參數(shù):x1,yy1點(diǎn)1的坐坐標(biāo),x2,y2點(diǎn)2的的坐標(biāo);返回值:兩點(diǎn)間間距。CCirclee類提供了關(guān)于圓弧弧的操

53、作。屬性:Public Propeerty GGet VaalueoffPI() As Siingle目的:返回PII值。CRect類提供了有關(guān)矩形形的操作方法:(1)Publlic Fuunctioon InWWorldRRect(BByVal X As Singlle, ByyVal YY As SSinglee, ByVVal Leeft Ass Singgle, BByVal Top AAs Sinngle, ByVall Righht As Singlle, ByyVal BButtomm As SSinglee, Opttionall ByVaal IsIIncluddeBounn

54、d As Booleean = True) As BBooleaan 目的:判斷一個個點(diǎn)是否在指指定的矩形框框內(nèi)(世界坐坐標(biāo)系,即原原點(diǎn)向上作為為y軸正向);參數(shù):x,y一一個點(diǎn)的坐標(biāo)標(biāo);Leftt,Top,Rightt,Butttom指定了了一個矩形框框;isInncludeeBoundd是否將當(dāng)一一個點(diǎn)在矩形形邊框上時也也作為在矩形形內(nèi)。返回值:在矩形形內(nèi)部返回“真”,否則返回回“假”。(2)Publlic Fuunctioon InWWinRecct(ByVVal X As Siingle, ByVaal Y AAs Sinngle, ByVall Leftt As SSinglee,

55、ByVVal Toop As Singlle, ByyVal RRight As Siingle, ByVaal Butttom AAs Sinngle, Optioonal BByVal IsInccludeBBound As Boooleann = Trrue) AAs Booolean 目的:判斷一個個點(diǎn)是否在指指定的矩形框框內(nèi)(窗口坐坐標(biāo)系,即原原點(diǎn)向下作為為y軸正向);參數(shù):x,y一一個點(diǎn)的坐標(biāo)標(biāo);Leftt,Top,Rightt,Butttom指定了了一個矩形框框;isInncludeeBoundd是否將當(dāng)一一個點(diǎn)在矩形形邊框上時也也作為在矩形形內(nèi)。返回值:在矩形形內(nèi)部返回“真”,

56、否則返回回“假”。(3)Publlic Fuunctioon InWWinRecct_lp(ByVall lpPoointSiingle As Loong, BByVal lpRecctSinggle Ass Longg) As Booleean這個函數(shù)使用用指針操作,參參數(shù)傳入時應(yīng)應(yīng)傳入地址 可用VarrPtr()函數(shù)目的:同上;參數(shù):lpPoointSiingle一一個點(diǎn)的坐標(biāo)標(biāo)結(jié)構(gòu)地址;lpRecctSinggle指定了了一個矩形框框機(jī)構(gòu)的地址址;返回值:在矩形形內(nèi)部返回“真”,否則返回回“假”。注:有關(guān)如何在在中VB使用用指針,將在在后面介紹。CFY_VieewTrannsformm類

57、實(shí)現(xiàn)窗口坐標(biāo)和和物理坐標(biāo)的的互換。(有有關(guān)概念請參參見CFY_Grid類類的說明)方法:(1)Publlic Suub Worrld2Wiindow(ByVall x1 AAs Sinngle, ByVall y1 AAs Sinngle, ByReff x2 AAs Intteger, ByReef y2 As Inntegerr, ByVVal oxx As IIntegeer, ByyVal ooy As Integger, BByVal iGriddWidthh As IIntegeer)目的:將一個世世界坐標(biāo)系的的坐標(biāo)轉(zhuǎn)換為為窗口坐標(biāo)系系;參數(shù):x1,yy1世界坐標(biāo)標(biāo)系中的坐標(biāo)標(biāo)值,

58、x2,y2窗口坐坐標(biāo)系的坐標(biāo)標(biāo)值,ox,oy世界坐坐標(biāo)系原點(diǎn)在在窗口坐標(biāo)系系中的坐標(biāo)值值,iGriidWidtth在窗口坐坐標(biāo)系中,一一個單位的世世界坐標(biāo)值等等于多少個窗窗口坐標(biāo)值,也也可認(rèn)為是網(wǎng)網(wǎng)格寬度。返回:轉(zhuǎn)換后的的值將保存到到x2,y22中。(2)Publlic Suub Winndow2WWorld(ByVall x1 AAs Intteger, ByVaal y1 As Inntegerr, ByRRef x22 As SSinglee, ByRRef y22 As SSinglee, ByVVal oxx As IIntegeer, ByyVal ooy As Integger,

59、 BByVal iGriddWidthh As IIntegeer)目的:將一個窗窗口坐標(biāo)系的的坐標(biāo)轉(zhuǎn)換為為世界坐標(biāo)系系;參數(shù):x1,yy1窗口坐標(biāo)標(biāo)系中的坐標(biāo)標(biāo)值,x2,y2世界坐坐標(biāo)系的坐標(biāo)標(biāo)值,ox,oy同上,iiGridWWidth同同上。返回:轉(zhuǎn)換后的的值將保存到到x2,y22中。(3)Publlic Fuunctioon LenngthWoorld2WWindoww(ByVaal orggLengtth As Singlle, ByyVal iiGridWWidth As Inntegerr) As Integger目的:將一個世世界坐標(biāo)系的的長度轉(zhuǎn)換為為窗口坐標(biāo)系系的長度;參數(shù):

60、orgLLengthh世界坐標(biāo)系系中的長度,iiGridWWidth同同上;返回值:轉(zhuǎn)換后后的長度(4)Publlic Fuunctioon LenngthWiindow22Worldd(ByVaal orggLengtth As Integger, BByVal iGriddWidthh As IIntegeer) Ass Singgle目的:將一個窗窗口坐標(biāo)系的的長度轉(zhuǎn)換為為世界坐標(biāo)系系的長度;參數(shù):orgLLengthh窗口坐標(biāo)系系中的長度,iiGridWWidth同同上;返回值:轉(zhuǎn)換后后的長度屬性:Precisiion設(shè)置轉(zhuǎn)換精度。CFile類提供了除了文件件讀寫外的一一些操作方法:(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論