《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 設(shè)計(jì)應(yīng)用 > 運(yùn)用仿真技術(shù)優(yōu)化泳池清潔機(jī)器人的路徑規(guī)劃設(shè)計(jì)
運(yùn)用仿真技術(shù)優(yōu)化泳池清潔機(jī)器人的路徑規(guī)劃設(shè)計(jì)
熊 偉,周國(guó)燭
(北京電子科技職業(yè)學(xué)院,北京 100028)
摘要: 在泳池清潔機(jī)器人的設(shè)計(jì)過(guò)程中,為優(yōu)化路徑規(guī)劃設(shè)計(jì),提出了運(yùn)用計(jì)算機(jī)仿真程序模擬工作環(huán)境進(jìn)行仿真實(shí)驗(yàn)的方法,并對(duì)仿真結(jié)果進(jìn)行了詳細(xì)的對(duì)比分析,為研究和設(shè)計(jì)移動(dòng)機(jī)器人路徑規(guī)劃提供一定的幫助。
Abstract:
Key words :

摘  要: 在泳池清潔機(jī)器人的設(shè)計(jì)過(guò)程中,為優(yōu)化路徑規(guī)劃設(shè)計(jì),提出了運(yùn)用計(jì)算機(jī)仿真程序模擬工作環(huán)境進(jìn)行仿真實(shí)驗(yàn)的方法,并對(duì)仿真結(jié)果進(jìn)行了詳細(xì)的對(duì)比分析,為研究和設(shè)計(jì)移動(dòng)機(jī)器人路徑規(guī)劃提供一定的幫助。
關(guān)鍵詞: 仿真;優(yōu)化;路徑規(guī)劃

  計(jì)算機(jī)仿真是一門利用計(jì)算機(jī)軟件模擬真實(shí)環(huán)境進(jìn)行科學(xué)實(shí)驗(yàn)的技術(shù)。仿真技術(shù)的應(yīng)用領(lǐng)域及其作用越來(lái)越大,在復(fù)雜系統(tǒng)的研制開(kāi)發(fā)過(guò)程中,計(jì)算機(jī)仿真是一種必不可少的工具,并在減少損失、節(jié)約經(jīng)費(fèi)、縮短開(kāi)發(fā)周期、提高質(zhì)量等方面發(fā)揮了巨大作用。因此,在泳池清潔機(jī)器人的設(shè)計(jì)過(guò)程中,運(yùn)用計(jì)算機(jī)仿真技術(shù)對(duì)路徑規(guī)劃算法和機(jī)體主要參數(shù)的選擇進(jìn)行了探索與嘗試。
1 泳池清潔機(jī)器人的功能與需要優(yōu)化問(wèn)題
  我國(guó)是缺水型國(guó)家,如何保護(hù)、利用好水資源是無(wú)法回避的問(wèn)題。本文研究的泳池清潔機(jī)器人是一種高效的水下清潔設(shè)備,主要用于清潔游泳池底部及水中的污物。該機(jī)器人用程序控制,在無(wú)人看管的情況下,自動(dòng)對(duì)泳池的底部進(jìn)行刷洗,同時(shí)對(duì)池水進(jìn)行持續(xù)、細(xì)致的過(guò)濾;除去水中的沉淀物及細(xì)菌;保持池水的清潔與衛(wèi)生;延長(zhǎng)更換池水的時(shí)間;從而達(dá)到既減輕了繁重的體力勞動(dòng)、又節(jié)約了寶貴水資源的目的。
  泳池清潔機(jī)器人主要由以下幾部分構(gòu)成:機(jī)械本體、移動(dòng)機(jī)構(gòu)、傳感器定位及控制機(jī)構(gòu)、清潔機(jī)構(gòu)等。根據(jù)模塊化的設(shè)計(jì)組織模式,劃分為的子系統(tǒng)如圖1所示。

     (1)行走子系統(tǒng):該系統(tǒng)確定機(jī)器人的行走方式、驅(qū)動(dòng)方式和行走控制系統(tǒng)。(2)感知子系統(tǒng):主要實(shí)現(xiàn)機(jī)器人在水下的位置檢測(cè)功能,通過(guò)各種傳感器反饋的信息,確定機(jī)器人在水下的方位數(shù)據(jù),以便按照路徑規(guī)劃算法得出的路徑來(lái)控制機(jī)器人的行程,從而實(shí)現(xiàn)較高的清潔效率。(3)控制子系統(tǒng):該系統(tǒng)是泳池清潔機(jī)器人的核心部分,統(tǒng)一考慮所有動(dòng)作的協(xié)調(diào)和單片機(jī)控制機(jī)器人行走路線的方式、??糠绞?、故障報(bào)警和電源狀況等。(4)清潔子系統(tǒng):實(shí)現(xiàn)機(jī)器人在行走的過(guò)程中用刷子洗刷泳池的底部,同時(shí)將污水吸入過(guò)濾箱、將污物收集到過(guò)濾箱中。在綜合考慮以上4個(gè)子系統(tǒng)的過(guò)程中,還要充分考慮機(jī)器人本體的結(jié)構(gòu)設(shè)計(jì),將各子系統(tǒng)有機(jī)結(jié)合在一起,而且要考慮密封、防腐與結(jié)構(gòu)的合理性及應(yīng)力分析。
     對(duì)于清潔機(jī)器人來(lái)說(shuō),由于要完成的是將整個(gè)泳池區(qū)域清掃干凈,這就要求它將泳池的每一個(gè)地方都要走到。所以這與一般的移動(dòng)機(jī)器人路徑規(guī)劃不同,它需要按照一定的軌跡來(lái)運(yùn)動(dòng),同時(shí)具有運(yùn)動(dòng)的遍歷性和不重復(fù)性。遍歷性是指清潔機(jī)器人要盡可能的走遍所有需要清掃的區(qū)域,可直接反映機(jī)器人的清潔效果;不重復(fù)性是指清潔機(jī)器人的行走路線應(yīng)盡量避免重復(fù),反映了機(jī)器人的清潔效率?;谝陨显颍紫纫鉀Q清潔機(jī)器人的路徑規(guī)劃問(wèn)題,其次要兼顧機(jī)器人的大小問(wèn)題,以上2個(gè)因素直接影響到清潔機(jī)器人的清潔效率和清潔效果。通過(guò)分析比較,選定了2種路徑規(guī)劃算法進(jìn)行比較:(1)內(nèi)螺旋型算法,即讓機(jī)器人沿著池壁的邊界移動(dòng),進(jìn)行內(nèi)螺旋式“回”字型路徑移動(dòng);(2)“S”型算法,即讓機(jī)器人沿著池壁的邊界進(jìn)行“S”型路徑移動(dòng)。選定了2種大小的機(jī)器人進(jìn)行比較,機(jī)器人邊長(zhǎng)分別為0.4 m和0.6 m。
2 仿真程序的設(shè)計(jì)與實(shí)現(xiàn)
     清潔機(jī)器人常用的路徑規(guī)劃算法大都基于柵格地圖,因此本仿真程序也采用了柵格地圖作為環(huán)境模型。仿真程序采用WindowsXP操作系統(tǒng)下的VS.NET編譯環(huán)境,采用C語(yǔ)言面向?qū)ο蟮木幊谭绞健?br />   本程序中共有3個(gè)主要的類:Form類、Map類和Robot類,其中Form類代表窗體,Map類代表地圖相關(guān)信息、Robot類代表機(jī)器人相關(guān)信息。Form類和Map類之間是一對(duì)多的普通關(guān)聯(lián);Map類和Robot類之間是一對(duì)一的雙向關(guān)聯(lián),F(xiàn)orm類和Robot類之間沒(méi)有直接聯(lián)系。Form類生成窗體對(duì)象,主要屬性為:用(X0,Y0)表示地圖的左下角在屏幕中的位置;Map_long、Map_width表示地圖長(zhǎng)和寬的格數(shù);Path_type表示路徑規(guī)劃的方法,分為內(nèi)螺旋式算法和“S”型算法。Map類生成地圖對(duì)象,建立路徑規(guī)劃環(huán)境模型,用動(dòng)態(tài)二維數(shù)組表示柵格地圖的長(zhǎng)和寬,每個(gè)柵格單元有坐標(biāo)和類型2種信息屬性,分別表示柵格具體位置和未清掃或已清掃區(qū)域。Robot類是一個(gè)抽象的類,包括有機(jī)器人當(dāng)前坐標(biāo)、傳感器的探測(cè)范圍等。所以Map類要依靠Form類生成初始池壁地圖信息,F(xiàn)orm類要根據(jù)Map類地圖信息的改變對(duì)界面進(jìn)行刷新,而Robot類要依賴Map類的信息來(lái)運(yùn)動(dòng),同時(shí)Map類也要根據(jù)Robot類的反饋信息更新數(shù)據(jù)。
     仿真程序考慮到了“誤差”問(wèn)題。對(duì)于泳池清潔機(jī)器人而言,“誤差”主要來(lái)源于兩個(gè)方面,即距離傳感器產(chǎn)生的探測(cè)誤差和車輪與池底的滑動(dòng)而產(chǎn)生的誤差。基于以上原因,仿真程序引入了“誤差”變量。假定當(dāng)“誤差”設(shè)定為+2%時(shí),實(shí)際行走距離為理論行走距離的102%,當(dāng)“誤差”設(shè)定為-2%時(shí),實(shí)際行走距離為理論行走距離的98%,以此來(lái)更加精確地模擬實(shí)際情況。
     仿真程序的界面中間的方格是矩形柵格表示的地圖空間,下邊是各種初始狀態(tài)設(shè)置和工作控制區(qū),主要分為:機(jī)器人設(shè)置、路徑算法選擇和運(yùn)動(dòng)控制。“顯示結(jié)果”是在機(jī)器人清潔過(guò)程中,實(shí)時(shí)輸出結(jié)果,包括清潔用時(shí)、清潔覆蓋率、清潔重復(fù)率和未清掃率4項(xiàng)內(nèi)容。
3 仿真實(shí)驗(yàn)結(jié)果與分析
     仿真圖中淺灰色部分表示池壁,白色表示機(jī)器人清掃過(guò)的路徑,灰色網(wǎng)格表示可清潔區(qū)域,深灰色代表機(jī)器人。這樣就可以清楚地觀察機(jī)器人的運(yùn)動(dòng)狀況和運(yùn)動(dòng)效果。為了加快仿真程序的運(yùn)行速度,適當(dāng)加快了機(jī)器人的運(yùn)行速度(加快60倍),因此仿真程序中的“清潔用時(shí)”并不是實(shí)際清潔用時(shí)。
     通過(guò)下面的因素進(jìn)行評(píng)價(jià):(1)觀察路徑是否滿足要求;(2)相同泳池環(huán)境中不同的路徑規(guī)劃算法實(shí)驗(yàn)結(jié)果比較;(3)相同泳池環(huán)境中不同大小的機(jī)器人實(shí)驗(yàn)結(jié)果比較;(4)改變“誤差”狀態(tài)的實(shí)驗(yàn)結(jié)果比較。
3.1 相同環(huán)境中不同算法仿真結(jié)果及分析
     當(dāng)清潔區(qū)域設(shè)定為25 m×12.5 m,機(jī)器人邊長(zhǎng)為0.6 m,對(duì)2種不同算法分別進(jìn)行仿真實(shí)驗(yàn),內(nèi)螺旋算法仿真圖如圖2所示,“S”型算法仿真圖如圖3所示,仿真實(shí)驗(yàn)結(jié)果見(jiàn)表1。

  通過(guò)表1的對(duì)比數(shù)據(jù)可以看出:在理想狀態(tài)下(沒(méi)有誤差時(shí))內(nèi)螺旋算法和“S”型算法均能實(shí)現(xiàn)100%的覆蓋率,但是內(nèi)螺旋算法比“S”型算法工作效率提高5.05%,清潔重復(fù)率降低46.2%。
  

  由此可見(jiàn),內(nèi)螺旋算法比“S”型算法優(yōu)勢(shì)明顯,從而有效地提高了清潔效率。
3.2 相同環(huán)境中不同大小的機(jī)器人仿真結(jié)果分析
    當(dāng)清潔區(qū)域設(shè)定為25 m×12.5 m,機(jī)器人邊長(zhǎng)分別設(shè)為0.4 m、0.6 m 2種,并對(duì)2種不同大小的機(jī)器人選用內(nèi)螺旋算法分別進(jìn)行了仿真實(shí)驗(yàn)。0.6 m邊長(zhǎng)的機(jī)器人仿真圖如圖4所示, 0.4 m邊長(zhǎng)的機(jī)器人仿真圖如圖5所示,仿真實(shí)驗(yàn)結(jié)果見(jiàn)表2。

  通過(guò)表2的對(duì)比數(shù)據(jù)可以看出:在理想狀態(tài)下(沒(méi)有誤差時(shí))都選用內(nèi)螺旋算法,把機(jī)器人邊長(zhǎng)分別設(shè)為0.4 m、0.6 m,機(jī)器人均能實(shí)現(xiàn)100%的覆蓋率。但是邊長(zhǎng)為0.4 m的機(jī)器人清潔重復(fù)率為0.99%;邊長(zhǎng)為0.6米的機(jī)器人清潔重復(fù)率為2.97%。在綜合考慮清潔效率的前提下,雖然邊長(zhǎng)為0.6 m的機(jī)器人比邊長(zhǎng)為0.4 m的機(jī)器人清潔重復(fù)率上升了1.98%,但是工作效率提高31.88%。由此可見(jiàn),將泳池清潔機(jī)器人的邊長(zhǎng)選定為0.6 m更加合適。
  

3.3 改變“誤差”狀態(tài)的實(shí)驗(yàn)結(jié)果及分析
  當(dāng)清潔區(qū)域設(shè)定為25 m×12.5 m,機(jī)器人邊長(zhǎng)為0.6 m,“誤差”為“0”和“-0.02”時(shí),對(duì)內(nèi)螺旋算法分別進(jìn)行仿真實(shí)驗(yàn),“誤差”為“0”時(shí)的仿真實(shí)驗(yàn)圖如圖6所示,“誤差”為“-0.02”時(shí)的仿真實(shí)驗(yàn)圖如圖7所示,實(shí)驗(yàn)結(jié)果見(jiàn)表3。

  當(dāng)清潔區(qū)域設(shè)定為25 m×12.5 m,機(jī)器人邊長(zhǎng)為0.6 m,“誤差”為“0”和“-0.02”時(shí),對(duì)“S”型算法分別進(jìn)行仿真實(shí)驗(yàn),“誤差”為“0”時(shí)的仿真實(shí)驗(yàn)圖如圖8所示,“誤差”為“-0.02”時(shí)的仿真實(shí)驗(yàn)圖如圖9所示,實(shí)驗(yàn)結(jié)果見(jiàn)表4。

  通過(guò)對(duì)比可以看出:在相同的清潔環(huán)境下,不論有沒(méi)有誤差,內(nèi)螺旋算法比“S”型算法有更高的覆蓋率和更低的重復(fù)率,清潔用時(shí)也較短,可見(jiàn)內(nèi)螺旋算法清潔效率是最高的。內(nèi)螺旋算法與“S”型算法相比具有的優(yōu)點(diǎn)如下:清潔行程較短,理論上減少了轉(zhuǎn)彎的次數(shù)、減少了能耗、提高了清潔效率。
     在泳池清潔機(jī)器人的研究和開(kāi)發(fā)過(guò)程中,實(shí)驗(yàn)是一個(gè)非常重要的環(huán)節(jié)。但是,直接構(gòu)造實(shí)體移動(dòng)機(jī)器人系統(tǒng)用于反復(fù)實(shí)驗(yàn)不僅價(jià)格昂貴、所需的時(shí)間也較長(zhǎng),同時(shí)不成熟的算法在實(shí)驗(yàn)中可能會(huì)對(duì)機(jī)器人本體造成損壞。而通過(guò)計(jì)算機(jī)仿真程序來(lái)模擬移動(dòng)機(jī)器人、工作環(huán)境以及執(zhí)行任務(wù)的過(guò)程,甚至不需要硬件環(huán)境,就可以初步驗(yàn)證控制算法、策略的正確性和有效性,對(duì)優(yōu)化選擇泳池清潔機(jī)器人的路徑規(guī)劃算法和機(jī)體主要參數(shù)起到了重要作用。
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。