計算機(jī)仿真計算機(jī)仿真是應(yīng)用電子計算機(jī)對系統(tǒng)的結(jié)構(gòu)、功能和行為以及參與系統(tǒng)控制的人的思維過程和行為進(jìn)行動態(tài)性比較逼真的模仿。它是一種描述性技術(shù),是一種定量分析方法。通過建立某一過程和某一系統(tǒng)的模式,來描述該過程或該系統(tǒng),然后用一系列有目的、有條件的計算機(jī)仿真實驗來刻畫系統(tǒng)的特征,從而得出數(shù)量指標(biāo),為決策者提供有關(guān)這一過程或系統(tǒng)得定量分析結(jié)果,作為決策的理論依據(jù)。仿真是對現(xiàn)實系統(tǒng)的某一層次抽象屬性的模仿。人們利用這樣的模型進(jìn)行試驗,從中得到所需的信息,然后幫助人們對現(xiàn)實世界的某一層次的問題做出決策。仿真是一個相對概念,任何逼真的仿真都只能是對真實系統(tǒng)某些屬性的逼近。仿真是有層次的,既要針對所欲處理的客觀系統(tǒng)的問題,又要針對提出處理者的需求層次,否則很難評價一個仿真系統(tǒng)的優(yōu)劣。仿真技術(shù)的應(yīng)用領(lǐng)域及其作用越來越大,在復(fù)雜系統(tǒng)的研制開發(fā)過程中,計算機(jī)仿真是一種必不可少的工具,并在減少損失、節(jié)約經(jīng)費、縮短開發(fā)周期、提高質(zhì)量等方面發(fā)揮了巨大作用。因此,在泳池清潔機(jī)器人的設(shè)計過程中,運用計算機(jī)仿真技術(shù)對路徑規(guī)劃算法和機(jī)體主要參數(shù)的選擇進(jìn)行了探索與嘗試。
1 泳池清潔機(jī)器人的功能與需要優(yōu)化問題
我國是缺水型國家,如何保護(hù)、利用好水資源是無法回避的問題。本文研究的泳池清潔機(jī)器人是一種高效的水下清潔設(shè)備,主要用于清潔游泳池底部及水中的污物。該機(jī)器人用程序控制,在無人看管的情況下,自動對泳池的底部進(jìn)行刷洗,同時對池水進(jìn)行持續(xù)、細(xì)致的過濾;除去水中的沉淀物及細(xì)菌;保持池水的清潔與衛(wèi)生;延長更換池水的時間;從而達(dá)到既減輕了繁重的體力勞動、又節(jié)約了寶貴水資源的目的。智能清掃機(jī)器人1、掃地省時、省力:整個清潔過程不需要人控制,減輕您操作負(fù)擔(dān),省下時間看電視、陪家人。2、低噪音:小于50分貝,清潔房間的過程免受噪音之苦。3、凈化空氣:內(nèi)置活性碳、吸附空氣中有害物質(zhì)。4、輕便小巧:輕松打掃普通吸塵器清理不到的死角。
泳池清潔機(jī)器人主要由以下幾部分構(gòu)成:機(jī)械本體、移動機(jī)構(gòu)、傳感器定位及控制機(jī)構(gòu)、清潔機(jī)構(gòu)等。根據(jù)模塊化的設(shè)計組織模式,劃分為的子系統(tǒng)如圖1所示。
(1)行走子系統(tǒng):該系統(tǒng)確定機(jī)器人的行走方式、驅(qū)動方式和行走控制系統(tǒng)。(2)感知子系統(tǒng):主要實現(xiàn)機(jī)器人在水下的位置檢測功能,通過各種傳感器反饋的信息,確定機(jī)器人在水下的方位數(shù)據(jù),以便按照路徑規(guī)劃算法得出的路徑來控制機(jī)器人的行程,從而實現(xiàn)較高的清潔效率。(3)控制子系統(tǒng):該系統(tǒng)是泳池清潔機(jī)器人的核心部分,統(tǒng)一考慮所有動作的協(xié)調(diào)和單片機(jī)控制機(jī)器人行走路線的方式、停靠方式、故障報警和電源狀況等。(4)清潔子系統(tǒng):實現(xiàn)機(jī)器人在行走的過程中用刷子洗刷泳池的底部,同時將污水吸入過濾箱、將污物收集到過濾箱中。
對于清潔機(jī)器人來說,由于要完成的是將整個泳池區(qū)域清掃干凈,這就要求它將泳池的每一個地方都要走到。所以這與一般的移動機(jī)器人路徑規(guī)劃不同,它需要按照一定的軌跡來運動,同時具有運動的遍歷性和不重復(fù)性。遍歷性是指清潔機(jī)器人要盡可能的走遍所有需要清掃的區(qū)域,可直接反映機(jī)器人的清潔效果;不重復(fù)性是指清潔機(jī)器人的行走路線應(yīng)盡量避免重復(fù),反映了機(jī)器人的清潔效率。基于以上原因,首先要解決清潔機(jī)器人的路徑規(guī)劃問題,其次要兼顧機(jī)器人的大小問題,以上2個因素直接影響到清潔機(jī)器人的清潔效率和清潔效果。通過分析比較,選定了2種路徑規(guī)劃算法進(jìn)行比較:(1)內(nèi)螺旋型算法,即讓機(jī)器人沿著池壁的邊界移動,進(jìn)行內(nèi)螺旋式"回"字型路徑移動;(2)"S"型算法,即讓機(jī)器人沿著池壁的邊界進(jìn)行"S"型路徑移動。選定了2種大小的機(jī)器人進(jìn)行比較,機(jī)器人邊長分別為0.4m和0.6m.
2 仿真程序的設(shè)計與實現(xiàn)
清潔機(jī)器人常用的路徑規(guī)劃算法大都基于柵格地圖,因此本仿真程序也采用了柵格地圖作為環(huán)境模型。仿真程序采用WindowsXP操作系統(tǒng)下的VS.NET編譯環(huán)境,采用C語言面向?qū)ο蟮?a target="_blank">編程方式。C語言是一種計算機(jī)程序設(shè)計語言。它既具有高級語言的特點,又具有匯編語言的特點。它可以作為工作系統(tǒng)設(shè)計語言,編寫系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計語言,編寫不依賴計算機(jī)硬件的應(yīng)用程序。因此,它的應(yīng)用范圍廣泛,不僅僅是在軟件開發(fā)上,而且各類科研都需要用到C語言,具體應(yīng)用比如單片機(jī)以及嵌入式系統(tǒng)開發(fā)。C語言是一種成功的系統(tǒng)描述語言,用C語言開發(fā)的UNIX操作系統(tǒng)就是一個成功的范例;同時C語言又是一種通用的程序設(shè)計語言,在國際上廣泛流行。世界上很多著名的計算公司都成功的開發(fā)了不同版本的C語言,很多優(yōu)秀的應(yīng)用程序也都使用C語言開發(fā)的,它是一種很有發(fā)展前途的高級程序設(shè)計語言。
本程序中共有3個主要的類:Form類、Map類和Robot類,其中Form類代表窗體,Map類代表地圖相關(guān)信息、Robot類代表機(jī)器人相關(guān)信息。Form類和Map類之間是一對多的普通關(guān)聯(lián);Map類和Robot類之間是一對一的雙向關(guān)聯(lián),F(xiàn)orm類和Robot類之間沒有直接聯(lián)系。Form類生成窗體對象,主要屬性為:用(X0,Y0)表示地圖的左下角在屏幕中的位置;Map_long、Map_width表示地圖長和寬的格數(shù);Path_type表示路徑規(guī)劃的方法,分為內(nèi)螺旋式算法和"S"型算法。Map類生成地圖對象,建立路徑規(guī)劃環(huán)境模型,用動態(tài)二維數(shù)組表示柵格地圖的長和寬,每個柵格單元有坐標(biāo)和類型2種信息屬性,分別表示柵格具體位置和未清掃或已清掃區(qū)域。Robot類是一個抽象的類,包括有機(jī)器人當(dāng)前坐標(biāo)、傳感器的探測范圍等。
仿真程序考慮到了"誤差"問題。對于泳池清潔機(jī)器人而言,"誤差"主要于兩個方面,即距離傳感器產(chǎn)生的探測誤差和車輪與池底的滑動而產(chǎn)生的誤差。基于以上原因,仿真程序引入了"誤差"變量。假定當(dāng)"誤差"設(shè)定為+2%時,實際行走距離為理論行走距離的102%,當(dāng)"誤差"設(shè)定為-2%時,實際行走距離為理論行走距離的98%,以此來更加精確地模擬實際情況。
仿真程序的界面中間的方格是矩形柵格表示的地圖空間,下邊是各種初始狀態(tài)設(shè)置和工作控制區(qū),主要分為:機(jī)器人設(shè)置、路徑算法選擇和運動控制。"顯示結(jié)果"是在機(jī)器人清潔過程中,實時輸出結(jié)果,包括清潔用時、清潔覆蓋率、清潔重復(fù)率和未清掃率4項內(nèi)容。
3 仿真實驗結(jié)果與分析
仿真圖中淺灰色部分表示池壁,白色表示機(jī)器人清掃過的路徑,灰色網(wǎng)格表示可清潔區(qū)域,深灰色代表機(jī)器人。這樣就可以清楚地觀察機(jī)器人的運動狀況和運動效果。為了加快仿真程序的運行速度,適當(dāng)加快了機(jī)器人的運行速度(加快60倍),因此仿真程序中的"清潔用時"并不是實際清潔用時。
通過下面的因素進(jìn)行評價:(1)觀察路徑是否滿足要求;(2)相同泳池環(huán)境中不同的路徑規(guī)劃算法實驗結(jié)果比較;(3)相同泳池環(huán)境中不同大小的機(jī)器人實驗結(jié)果比較;(4)改變"誤差"狀態(tài)的實驗結(jié)果比較。
3.1 相同環(huán)境中不同算法仿真結(jié)果及分析
當(dāng)清潔區(qū)域設(shè)定為25 m×12.5 m,機(jī)器人邊長為0.6 m,對2種不同算法分別進(jìn)行仿真實驗,內(nèi)螺旋算法仿真圖如圖2所示,"S"型算法仿真圖如圖3所示,仿真實驗結(jié)果見表1.
通過表1的對比數(shù)據(jù)可以看出:在理想狀態(tài)下(沒有誤差時)內(nèi)螺旋算法和"S"型算法均能實現(xiàn)100%的覆蓋率,但是內(nèi)螺旋算法比"S"型算法工作效率提高5.05%,清潔重復(fù)率降低46.2%.
由此可見,內(nèi)螺旋算法比"S"型算法優(yōu)勢明顯,從而有效地提高了清潔效率。
3.2 相同環(huán)境中不同大小的機(jī)器人仿真結(jié)果分析
當(dāng)清潔區(qū)域設(shè)定為25 m×12.5 m,機(jī)器人邊長分別設(shè)為0.4 m、0.6 m 2種,并對2種不同大小的機(jī)器人選用內(nèi)螺旋算法分別進(jìn)行了仿真實驗。0.6 m邊長的機(jī)器人仿真圖如圖4所示, 0.4 m邊長的機(jī)器人仿真圖如圖5所示,仿真實驗結(jié)果見表2.
通過表2的對比數(shù)據(jù)可以看出:在理想狀態(tài)下(沒有誤差時)都選用內(nèi)螺旋算法,把機(jī)器人邊長分別設(shè)為0.4 m、0.6 m,機(jī)器人均能實現(xiàn)100%的覆蓋率。但是邊長為0.4 m的機(jī)器人清潔重復(fù)率為0.99%;邊長為0.6米的機(jī)器人清潔重復(fù)率為2.97%.在綜合考慮清潔效率的前提下,雖然邊長為0.6 m的機(jī)器人比邊長為0.4 m的機(jī)器人清潔重復(fù)率上升了1.98%,但是工作效率提高31.88%.由此可見,將泳池清潔機(jī)器人的邊長選定為0.6 m更加合適。
3.3 改變"誤差"狀態(tài)的實驗結(jié)果及分析
當(dāng)清潔區(qū)域設(shè)定為25 m×12.5 m,機(jī)器人邊長為0.6 m,"誤差"為"0"和"-0.02"時,對內(nèi)螺旋算法分別進(jìn)行仿真實驗,"誤差"為"0"時的仿真實驗圖如圖6所示,"誤差"為"-0.02"時的仿真實驗圖如圖7所示,實驗結(jié)果見表3。
當(dāng)清潔區(qū)域設(shè)定為25 m×12.5 m,機(jī)器人邊長為0.6 m,"誤差"為"0"和"-0.02"時,對"S"型算法分別進(jìn)行仿真實驗,"誤差"為"0"時的仿真實驗圖如圖8所示,"誤差"為"-0.02"時的仿真實驗圖如圖9所示,實驗結(jié)果見表4.
通過對比可以看出:在相同的清潔環(huán)境下,不論有沒有誤差,內(nèi)螺旋算法比"S"型算法有更高的覆蓋率和更低的重復(fù)率,清潔用時也較短,可見內(nèi)螺旋算法清潔效率是最高的。內(nèi)螺旋算法與"S"型算法相比具有的優(yōu)點如下:清潔行程較短,理論上減少了轉(zhuǎn)彎的次數(shù)、減少了能耗、提高了清潔效率。
在泳池清潔機(jī)器人的研究和開發(fā)過程中,實驗是一個非常重要的環(huán)節(jié)。但是,直接構(gòu)造實體移動機(jī)器人系統(tǒng)用于反復(fù)實驗不僅價格昂貴、所需的時間也較長,同時不成熟的算法在實驗中可能會對機(jī)器人本體造成損壞。而通過計算機(jī)仿真程序來模擬移動機(jī)器人、工作環(huán)境以及執(zhí)行任務(wù)的過程,甚至不需要硬件環(huán)境,就可以初步驗證控制算法、策略的正確性和有效性,對優(yōu)化選擇泳池清潔機(jī)器人的路徑規(guī)劃算法和機(jī)體主要參數(shù)起到了重要作用。展望21世紀(jì)機(jī)器人將是一個與20世紀(jì)計算機(jī)的普及一樣,會深入地應(yīng)用到各個領(lǐng)域,所以很多專家預(yù)測,在21世紀(jì)的前20年是機(jī)器人從制造業(yè)走向非制造業(yè)的發(fā)展一個重要時期,也是智能機(jī)器人發(fā)展的一個關(guān)鍵時期,目前國際上很多國家,也對機(jī)器人對人類社會的影響的估計提出了新的認(rèn)識,同時,我們也可以看到機(jī)器人技術(shù),涉及到多個學(xué)科,機(jī)械、電工、自動控制、計算機(jī)測量、人工智能、傳感技術(shù)等等,它是一個國家高技術(shù)實力的一個重要標(biāo)準(zhǔn)。
:
-
機(jī)器人
+關(guān)注
關(guān)注
211文章
28455瀏覽量
207263 -
計算機(jī)
+關(guān)注
關(guān)注
19文章
7504瀏覽量
88053 -
仿真
+關(guān)注
關(guān)注
50文章
4088瀏覽量
133660
發(fā)布評論請先 登錄
相關(guān)推薦
評論