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

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

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

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

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

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

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

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

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

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

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