国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種清掃機(jī)器人全覆蓋遍歷路徑規(guī)劃算法的設(shè)計(jì)方法

      文檔序號(hào):10561815閱讀:632來(lái)源:國(guó)知局
      一種清掃機(jī)器人全覆蓋遍歷路徑規(guī)劃算法的設(shè)計(jì)方法
      【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種清掃機(jī)器人全覆蓋遍歷路徑規(guī)劃算法的設(shè)計(jì)方法,它具體包括以下主要過(guò)程:利用Standard混沌方程生成矩形區(qū)域內(nèi)的遍歷清掃軌跡,矩形子區(qū)域分解,矩形迭代子區(qū)域的構(gòu)造,最優(yōu)子區(qū)域銜接路徑的構(gòu)造,矩形過(guò)渡子區(qū)域和重復(fù)子區(qū)域的構(gòu)造,最優(yōu)全覆蓋遍歷清掃連通圖的構(gòu)造,迭代子區(qū)域的自動(dòng)銜接,可行區(qū)域內(nèi)的全覆蓋遍歷清掃任務(wù)實(shí)現(xiàn)。本發(fā)明算法重復(fù)率低,覆蓋率高,不存在清掃盲區(qū);算法規(guī)劃效率高,不需要確定起點(diǎn)和終點(diǎn);算法簡(jiǎn)單,容易實(shí)現(xiàn)。本發(fā)明能夠很好地滿足機(jī)器人室內(nèi)清掃并實(shí)現(xiàn)全覆蓋遍歷路徑規(guī)劃的任務(wù)。
      【專(zhuān)利說(shuō)明】
      一種清掃機(jī)器人全覆蓋遍歷路徑規(guī)劃算法的設(shè)計(jì)方法
      技術(shù)領(lǐng)域
      [0001] 本發(fā)明涉及一種移動(dòng)機(jī)器人路徑規(guī)劃方法,具體地說(shuō)是一種清掃機(jī)器人全覆蓋遍 歷路徑規(guī)劃算法的設(shè)計(jì)方法,屬于機(jī)器人路徑規(guī)劃技術(shù)領(lǐng)域。
      【背景技術(shù)】
      [0002] 隨著經(jīng)濟(jì)建設(shè)的飛速發(fā)展和現(xiàn)代人生活節(jié)奏的加快,越來(lái)越多的人希望從繁重的 家務(wù)勞動(dòng)中解脫出來(lái),智能化清掃機(jī)器人的出現(xiàn)正好滿足了這種需求。清掃機(jī)器人在室內(nèi) 環(huán)境下運(yùn)動(dòng),實(shí)現(xiàn)清掃、避障、路徑規(guī)劃等功能,這里尤其涉及到一項(xiàng)關(guān)鍵技術(shù)一一全覆蓋 遍歷路徑規(guī)劃算法,隨著人工智能控制技術(shù)的發(fā)展和智能服務(wù)機(jī)器人的廣泛應(yīng)用,目前這 項(xiàng)技術(shù)已經(jīng)得到了深入研究。
      [0003] 全覆蓋路徑規(guī)劃是指機(jī)器人以盡可能低的重復(fù)率遍歷環(huán)境中的全部無(wú)障區(qū),其目 標(biāo)是在封閉區(qū)域內(nèi)實(shí)現(xiàn)最大覆蓋率和最小重復(fù)率的行走路徑。目前已經(jīng)涌現(xiàn)出了很多相關(guān) 算法。按照對(duì)環(huán)境的了解程度,全覆蓋路徑規(guī)劃可分為兩類(lèi):無(wú)環(huán)境模型的規(guī)劃和基于環(huán)境 模型的規(guī)劃。環(huán)境未知情況下主要采用隨機(jī)算法。隨機(jī)算法不需要進(jìn)行規(guī)劃,所需的硬件設(shè) 備的成本低,易實(shí)現(xiàn),目前在大部分的家用清掃機(jī)器人里面仍舊使用。缺點(diǎn)在于重復(fù)率高, 效率低。不基于地圖的非隨機(jī)移動(dòng)策略均有不同程度的盲目性,難以提高覆蓋效率。為了提 高規(guī)劃效率,大部分研究工作首先進(jìn)行未知環(huán)境的地圖重構(gòu),將未知環(huán)境轉(zhuǎn)換為已知環(huán)境 進(jìn)行路徑規(guī)劃。因此目前已知環(huán)境下的路徑規(guī)劃算法研究較多。
      [0004] 已知環(huán)境下基于地圖的全覆蓋路徑規(guī)劃包括環(huán)境建模和路徑搜索策略?xún)蓚€(gè)子問(wèn) 題。環(huán)境建模方法主要有勢(shì)場(chǎng)柵格表示法、可視圖法和拓?fù)鋱D法等。勢(shì)場(chǎng)柵格表示法是將運(yùn) 行區(qū)域劃分為大致與機(jī)器人等大的小柵格,然后將根據(jù)機(jī)器人周?chē)h(huán)境的狀態(tài)對(duì)柵格進(jìn)行 賦值。常用的基于賦值柵格的搜索算法有Yang.S.X和Meng.M提出的基于生物激勵(lì)神經(jīng)網(wǎng)絡(luò) 算法,算法將房間劃分成的小柵格作為一個(gè)神經(jīng)元,通過(guò)生物激勵(lì)神經(jīng)網(wǎng)絡(luò)模型的動(dòng)力學(xué) 激勵(lì)公式來(lái)判斷柵格的激勵(lì)值大小。該算法的缺陷是隨著環(huán)境規(guī)模的增大,存儲(chǔ)柵格信息 的空間也相應(yīng)增大,路徑規(guī)劃的計(jì)算復(fù)雜程度也隨之增大。杜元源等在發(fā)明專(zhuān)利"一種應(yīng)用 于掃地機(jī)器人的改進(jìn)勢(shì)場(chǎng)柵格法"(專(zhuān)利號(hào):CN201510701062 .X)中,結(jié)合牛耕式全覆蓋路徑 規(guī)劃算法使機(jī)器人在已知環(huán)境中規(guī)劃出全局清掃路徑,用以減少路徑死節(jié)點(diǎn)與清掃盲點(diǎn)。 可視圖建模方法中經(jīng)典的搜索算法是Neumann de Carvalho R等提出的模板法。模板法將 機(jī)器人的行為劃分為多種固定的模板,根據(jù)實(shí)際位置選擇合適的模板,最后實(shí)現(xiàn)路徑的遍 歷。此算法有利于編程,但機(jī)器人對(duì)環(huán)境的識(shí)別能力應(yīng)較高,不適合較為復(fù)雜的環(huán)境?;?拓?fù)鋱D模型常用的搜索算法是區(qū)域分解法。這種方法將機(jī)器人所要遍歷的區(qū)域根據(jù)環(huán)境中 的障礙物或其它方法分為若干子區(qū)域,通過(guò)對(duì)各子區(qū)域的遍歷實(shí)現(xiàn)對(duì)整個(gè)區(qū)域的遍歷。這 種思想在很大的程度上降低了全局覆蓋實(shí)現(xiàn)的難度,因此對(duì)區(qū)域分解法的研究是近年來(lái)的 主要趨勢(shì)。
      [0005] 區(qū)域分解法主要研究三方面的內(nèi)容:目標(biāo)區(qū)域的分解、子區(qū)域銜接和區(qū)域分解后 子區(qū)域內(nèi)的遍歷方法。對(duì)目標(biāo)區(qū)域進(jìn)行分解是區(qū)域分解法的第一步驟,分解的結(jié)果直接影 響各子區(qū)域間的銜接和各子區(qū)域內(nèi)的遍歷。因此目標(biāo)區(qū)域的分解是至關(guān)重要的一步,也是 目前研究的較多而且較成熟的一個(gè)方面。區(qū)域分解算法主要有Latombe提出的Trapezoidal (梯形)分解法和Howie Choset提出的Boustrophedon(牛耕式)算法。Trapezoidal算法將環(huán) 境分解為梯形塊,在單個(gè)分塊中機(jī)器人通過(guò)往返移動(dòng)來(lái)進(jìn)行遍歷。Boustrophedon算法是 Trapezoidal算法的改進(jìn),其目的是減少由于分塊過(guò)多而造成的重復(fù)遍歷。在此基礎(chǔ)上衍生 出許多其他的算法。Wes I ey H Huang提出了線掃法,把"水平切割線"改為"任意傾角切割 線",把減少轉(zhuǎn)彎次數(shù)即子區(qū)域總高度作為確定傾角的目標(biāo)。田春穎等提出了矩形分解算 法,對(duì)環(huán)境中的障礙物實(shí)行矩形化建模。在子區(qū)域分割工作完成之后,面臨的就是子區(qū)域銜 接問(wèn)題了。目前普遍用到的方法是將子區(qū)域中心點(diǎn)抽象出來(lái),構(gòu)造成求解旅行商問(wèn)題的優(yōu) 化連通圖。求解方法有連續(xù)Hopfield人工神經(jīng)網(wǎng)絡(luò),狀態(tài)樹(shù)搜索算法等。這些算法隨著子區(qū) 域的變大,不能保證搜索全覆蓋距離最短。單元分解后子區(qū)域內(nèi)的遍歷方法有隨機(jī)算法、梳 狀遍歷和螺旋收縮式。隨機(jī)算法最簡(jiǎn)單,但不能保證全覆蓋,覆蓋效率也較低。梳狀遍歷會(huì) 留有由障礙物遮擋引起的未覆蓋區(qū)域,障礙物越多,未覆蓋區(qū)域就越多。螺旋收縮式的優(yōu)點(diǎn) 是可以走非矩形螺旋,缺陷是會(huì)留有未覆蓋的區(qū)域,即陷入某個(gè)螺旋旋渦出不來(lái),最終按結(jié) 束條件停止行進(jìn)。
      [0006] 基于區(qū)域分解的機(jī)器人全覆蓋路徑規(guī)劃的方法可以將復(fù)雜的問(wèn)題簡(jiǎn)單化,其中區(qū) 域分解法已經(jīng)相對(duì)成熟,但是子區(qū)域的銜接和子區(qū)域內(nèi)部的遍歷的研究仍處于初級(jí)階段, 子區(qū)域銜接算法復(fù)雜,子區(qū)域內(nèi)的遍歷區(qū)域存在重復(fù)遍歷、盲區(qū)等問(wèn)題。針對(duì)這些情況,設(shè) 計(jì)一個(gè)切實(shí)可行、易于工程實(shí)現(xiàn)和具有較優(yōu)覆蓋效率的的移動(dòng)機(jī)器人全覆蓋路徑規(guī)劃算 法,具有重要的理論研究意義和社會(huì)應(yīng)用價(jià)值。

      【發(fā)明內(nèi)容】

      [0007] 針對(duì)現(xiàn)有技術(shù)的不足,本發(fā)明提出一種清掃機(jī)器人全覆蓋遍歷路徑規(guī)劃算法的設(shè) 計(jì)方法,能夠使清掃機(jī)器人遍歷區(qū)域重復(fù)率低、覆蓋率高且不存在清掃盲區(qū),并且滿足清掃 機(jī)器人在室內(nèi)清掃實(shí)現(xiàn)全覆蓋遍歷任務(wù)。
      [0008] 本發(fā)明解決其技術(shù)問(wèn)題采取的技術(shù)方案是:一種清掃機(jī)器人全覆蓋遍歷路徑規(guī)劃 算法的設(shè)計(jì)方法,具體包括以下步驟:
      [0009] 步驟一:選擇Standard混純方程及其仿射變換產(chǎn)生矩形區(qū)域內(nèi)的遍歷清掃軌跡; [0010]步驟二:將一個(gè)含有矩形障礙物的封閉清掃環(huán)境采用多條平行分割線沿著障礙物 和清掃環(huán)境邊緣對(duì)可行清掃區(qū)域進(jìn)行分割,并把機(jī)器人可行清掃區(qū)域劃分成若干個(gè)矩形子 區(qū)域S x,其中下標(biāo)X表示各個(gè)子區(qū)域的編號(hào);
      [0011] 步驟三:根據(jù)各個(gè)矩形子區(qū)域之間的鄰接關(guān)系將矩形子區(qū)域Sx組合為若干個(gè)矩形 迭代子區(qū)域Sb,其中z表示矩形迭代子區(qū)域的編號(hào),所有的迭代子區(qū)域組合為整個(gè)可行清 掃區(qū)域,并求出各個(gè)迭代子區(qū)域Sb內(nèi)的Standard仿射變換方程;因此對(duì)整個(gè)可行清掃區(qū)域 的清掃就分解為對(duì)各個(gè)迭代子區(qū)域的清掃;
      [0012] 步驟四:將矩形迭代子區(qū)域S1^根據(jù)相鄰關(guān)系勾畫(huà)出可遍歷空間的連通路,然后根 據(jù)連通路求出最優(yōu)子區(qū)域銜接路徑;
      [0013] 步驟五:根據(jù)最優(yōu)子區(qū)域銜接路徑中矩形迭代子區(qū)域的鄰接關(guān)系,構(gòu)造出相鄰 矩形迭代子區(qū)域S1^之間的矩形過(guò)渡子區(qū)域ST_Z和重復(fù)子區(qū)域Sc lz,其中z表示矩形迭代子區(qū) 域的編號(hào),并求出各個(gè)矩形過(guò)渡子區(qū)域St_z內(nèi)的Standard仿射變換方程;
      [0014] 步驟六:將矩形過(guò)渡子區(qū)域ST_Z和重復(fù)子區(qū)域Sclz插入到所求出的最優(yōu)子區(qū)域銜接 路徑中,產(chǎn)生全覆蓋遍歷連通圖;
      [0015] 步驟七:根據(jù)全覆蓋遍歷連通圖中矩形迭代子區(qū)域的鄰接關(guān)系,利用矩形過(guò)渡子 區(qū)域ST_Z、重復(fù)子區(qū)域Sc lz和矩形過(guò)渡子區(qū)域ST_Z內(nèi)的Standard仿射變換所產(chǎn)生的遍歷軌跡, 進(jìn)行矩形迭代子區(qū)域的自動(dòng)銜接;當(dāng)機(jī)器人遍歷完一個(gè)迭代子區(qū)域,通過(guò)重復(fù)子區(qū)域Sc lz和 過(guò)渡子區(qū)域ST_zg動(dòng)銜接到下一個(gè)迭代子區(qū)域,直到所有迭代子區(qū)域遍歷完成為止;
      [0016] 步驟八:根據(jù)全覆蓋遍歷連通圖設(shè)計(jì)清掃機(jī)器人全覆蓋遍歷程序的流程圖,用以 實(shí)現(xiàn)機(jī)器人遍歷清掃任務(wù);在可行清掃區(qū)域內(nèi),初始化清掃機(jī)器人的起點(diǎn)以及清掃一次所 需要的總的迭代次數(shù),選擇清掃方向?yàn)轫槙r(shí)針或逆時(shí)針迭代,然后根據(jù)全覆蓋遍歷連通圖 中的迭代順序以及流程圖程序,利用Standard仿射變換產(chǎn)生的軌跡依次實(shí)現(xiàn)各個(gè)矩形子區(qū) 域內(nèi)的遍歷清掃,以及子區(qū)域的自動(dòng)銜接,直至整個(gè)遍歷清掃任務(wù)完成。
      [0017] 進(jìn)一步地,在步驟一中,Standard混純方程是一個(gè)簡(jiǎn)單的二維動(dòng)力學(xué)方程,控制簡(jiǎn) 單,只有一個(gè)參數(shù)K,根據(jù)參數(shù)的調(diào)整可以控制方程的混沌特性,Standard混沌方程的離散 化形式表示為:
      [0019] 式中,(xn,yn)為清掃機(jī)器人全覆蓋遍歷路徑的運(yùn)行軌跡坐標(biāo),K為混純狀態(tài)參數(shù)。
      [0020] 進(jìn)一步地,當(dāng)K = S時(shí),系統(tǒng)處于混沌狀態(tài),所生成的軌跡是一個(gè)吸引子,局限在一 個(gè)有限區(qū)域內(nèi),此時(shí)系統(tǒng)具有最大的Lyapunov指數(shù)為2.0862,根據(jù)混沌方程特性判斷,此時(shí) 系統(tǒng)具有最好的隨機(jī)特性和拓?fù)浔闅v特性,因此本申請(qǐng)取K = 8,
      [0021] 當(dāng)K = 8時(shí)方程(1)的映射方程為:
      [0023]在方程(2)中,隨機(jī)給定一個(gè)初始值(XQ,yQ),可以求出它任意時(shí)刻的迭代值(χ η, yn);方程⑵中后面兩個(gè)式子將時(shí)間序列的坐標(biāo)U,yn)對(duì)2π進(jìn)行取余運(yùn)算,兩個(gè)坐標(biāo)的范 圍都限定在了[0 2JT]之間,因此時(shí)間序列(Xn,yn)被限定在了一個(gè)矩形區(qū)域[0-23t;0-2jt]內(nèi)。 [0024]通過(guò)仿射變換將清掃機(jī)器人全覆蓋遍歷路徑的運(yùn)行軌跡( Xn,yn)映射到一個(gè)任意 大小的矩形區(qū)域內(nèi),仿射變換方程為:
      [0026]其中,(a,b)是平移變換,(c,d)是比例變換,(χη,yn)是清掃機(jī)器人清掃軌跡點(diǎn)的坐 標(biāo),將時(shí)間序列中所有相鄰的軌跡點(diǎn)U,yn)和(Hyn)依次連接起來(lái)就形成了機(jī)器人矩 形區(qū)域內(nèi)的遍歷清掃軌跡。Standard混沌方程不僅具有類(lèi)似于隨機(jī)信號(hào)的隨機(jī)性、均勻性 等分布特性,因?yàn)檐壽E是根據(jù)方程迭代產(chǎn)生的,相對(duì)于隨機(jī)信號(hào)而言,還具有確定性,可以 被設(shè)計(jì)者所控制。另外,混沌狀態(tài)下的Standard方程還具有拓?fù)浔闅v特性,在運(yùn)行的矩行區(qū) 域內(nèi)是滿映射,因此可以保證在經(jīng)過(guò)仿射變換后的矩形區(qū)域內(nèi),完成全覆蓋遍歷清掃任務(wù)。 [0027] 進(jìn)一步地,在步驟二中,Standard混沌方程所產(chǎn)生的清掃軌跡是一個(gè)吸引子,分布 在一個(gè)有限的矩形區(qū)域內(nèi),通過(guò)仿射變換映射到任意大小的矩形區(qū)域內(nèi),從而將含有矩形 障礙物的封閉清掃環(huán)境劃分為若干個(gè)矩形子區(qū)域。因?yàn)镾tandard方程所生成的軌跡是一個(gè) 吸引子,分布在一個(gè)有限的矩形區(qū)域內(nèi),利用這個(gè)特點(diǎn)和基于綜合考慮的目的,子區(qū)域分解 和子區(qū)域銜接方法都要利用矩形區(qū)域進(jìn)行構(gòu)造。Standard方程可以通過(guò)仿射變換映射到任 意大小的矩形區(qū)域內(nèi),將含有矩形障礙物的封閉清掃環(huán)境劃分為若干個(gè)矩形子區(qū)域,方便 Standard方程在矩形區(qū)域內(nèi)運(yùn)行。沿著障礙物和清掃環(huán)境邊緣進(jìn)行劃分,是為了機(jī)器人在 進(jìn)行子區(qū)域銜接時(shí),避免與障礙物和清掃區(qū)域邊緣碰撞。
      [0028] 進(jìn)一步地,在步驟三中,清掃機(jī)器人將各個(gè)矩形迭代子區(qū)域S1^遍歷完后,就實(shí)現(xiàn) 了整個(gè)空間的遍歷清掃任務(wù);
      [0029] 按照矩形子區(qū)域Sx的排列順序從上到下(或從下到上)合并或者從左到右合并或 者從下到上(或從右到左)合并矩形子區(qū)域S x構(gòu)造矩形迭代子區(qū)域S1^,如果按照上述兩種 順序構(gòu)造出的個(gè)數(shù)相同,選擇其中一個(gè)即可,否則則選擇矩形迭代子區(qū)域個(gè)數(shù)最少 的那個(gè)構(gòu)造順序來(lái)構(gòu)造矩形迭代子區(qū)域;
      [0030] 構(gòu)造迭代子區(qū)域所要遵循的構(gòu)造原則是:
      [0031] (a)最大原則,每個(gè)迭代S1^區(qū)域要盡量的大,即S1^中所包含的S x個(gè)數(shù)要盡量的 多;
      [0032] (b)最少原則,構(gòu)造完成的個(gè)數(shù)要盡量的少;
      [0033] (c)所有的迭代子區(qū)域SLz不重疊;
      [0034] (d)所有的SLz合起來(lái)為整個(gè)可行清掃區(qū)域;
      [0035] (e)迭代子區(qū)域SLz為矩形。
      [0036] 上述構(gòu)造原則保證機(jī)器人能夠高效地完成可行清掃區(qū)域的遍歷。規(guī)則(a)和(b)的 目標(biāo)是一致的,都是為了減少判斷次數(shù),從而減少子區(qū)域銜接次數(shù),提高規(guī)劃效率。規(guī)則(C) 是為了不重復(fù)遍歷。規(guī)則(d)是為了機(jī)器人能夠無(wú)遺漏地遍歷整個(gè)可行區(qū)域。規(guī)則(e)是為 了方便Standard方程實(shí)現(xiàn)在矩形子區(qū)域內(nèi)的迭代,產(chǎn)生迭代清掃軌跡。
      [0037]進(jìn)一步地,在步驟四中,最優(yōu)子區(qū)域銜接路徑的選擇要滿足以下條件:
      [0038] (a)為了不遺漏的遍歷所有區(qū)域,環(huán)路中必須包含每個(gè)迭代子區(qū)域;
      [0039] (b)環(huán)路中包含的每個(gè)子區(qū)域的個(gè)數(shù)最少,從而減少重復(fù)遍歷。
      [0040] 進(jìn)一步地,在步驟五中,重復(fù)子區(qū)域Sclz位于矩形迭代子區(qū)域S1^中,由所在的矩形 迭代子區(qū)域S 1^內(nèi)的矩形子區(qū)域Sx合并組成,每個(gè)重復(fù)子區(qū)域Sclz中所選的矩形子區(qū)域S x個(gè) 數(shù)要盡量的多,即合并后的重復(fù)子區(qū)域Sclz要盡量的大,目的是為了減少轉(zhuǎn)移判斷次數(shù),從 而減少子區(qū)域銜接時(shí)間;過(guò)渡子區(qū)域St_ z由兩個(gè)相鄰矩形迭代子區(qū)域S1^之間的重復(fù)子區(qū)域 So_z組成。
      [0041] 因?yàn)橐肧tandard混沌方程在這兩種區(qū)域內(nèi)實(shí)現(xiàn)子區(qū)域自動(dòng)銜接,因此要求矩 形迭代子區(qū)域ST_ Z和重復(fù)子區(qū)域Sclz是矩形。
      [0042] 進(jìn)一步地,在步驟七中,機(jī)器人遍歷完一個(gè)迭代子區(qū)域自動(dòng)銜接到下一個(gè)迭代子 區(qū)域的具體步驟為:
      [0043] (a)當(dāng)前矩形迭代子區(qū)域S1^內(nèi)執(zhí)行Standard混沌方程迭代運(yùn)算,產(chǎn)生清掃軌跡, 直至矩形迭代子區(qū)域清掃任務(wù)完成;
      [0044] (b)當(dāng)前矩形迭代子區(qū)域S1^執(zhí)行一次Standard混沌方程迭代運(yùn)算,生成過(guò)渡軌 跡;
      [0045] (c)判斷步驟(b)中生成的過(guò)渡軌跡是否進(jìn)入其中的重復(fù)子區(qū)域So_z,如果進(jìn)入其 中的重復(fù)子區(qū)域Sc lz繼續(xù)以下操作,否則轉(zhuǎn)到步驟(b);
      [0046] (d)當(dāng)前重復(fù)子區(qū)域Sclz所在的過(guò)渡子區(qū)域ST_JA行一次Standard混沌方程迭代運(yùn) 算,生成過(guò)渡軌跡;
      [0047] (e)判斷步驟(d)中生成的過(guò)渡軌跡是否進(jìn)入過(guò)渡子區(qū)域ST_Z所包含的另一個(gè)重復(fù) 子區(qū)域Sc lz中,如果是則繼續(xù)以下操作,否則轉(zhuǎn)到步驟(d);
      [0048] (f)進(jìn)入到當(dāng)前重復(fù)子區(qū)域Sclz所在的迭代子區(qū)域S1^,實(shí)現(xiàn)自動(dòng)銜接。在迭代子區(qū) 域內(nèi)執(zhí)行Standard方程,產(chǎn)生遍歷清掃軌跡,實(shí)現(xiàn)子區(qū)域遍歷清掃任務(wù)。
      [0049] 執(zhí)行一次迭代子區(qū)域自動(dòng)銜接,每個(gè)迭代子區(qū)域S1^轉(zhuǎn)移到其中的重復(fù)子區(qū)域Sclz 中的轉(zhuǎn)移概率為:
      [0051]每個(gè)迭代子區(qū)域ST_Z轉(zhuǎn)移到所包含的另一個(gè)重復(fù)子區(qū)域Sclz中的轉(zhuǎn)移概率為:
      [0053]從式(4)和式(5)可以看出,重復(fù)子區(qū)域Sclz越大,轉(zhuǎn)移概率越大,因此盡量增大重 復(fù)子區(qū)域Sclz來(lái)減少判斷次數(shù),從而減少銜接時(shí)間、提高規(guī)劃效率。
      [0054]自動(dòng)銜接一次所需要的判斷次數(shù)大約為:
      [0056]判斷次數(shù)與迭代子區(qū)域S1^內(nèi)的迭代次數(shù)無(wú)關(guān)。當(dāng)可行區(qū)域內(nèi)的迭代次數(shù)較大時(shí), 自動(dòng)銜接次數(shù)可以忽略不計(jì)。通過(guò)計(jì)算出所有的轉(zhuǎn)移概率,可以推斷出執(zhí)行一次清掃任務(wù) 所需要的大概判斷次數(shù)。
      [0057] 進(jìn)一步地,在步驟八中,設(shè)置整個(gè)區(qū)域清掃一次的總的迭代步數(shù)N,根據(jù)面積大小 求出每個(gè)迭代子區(qū)域S1^所需要的迭代步數(shù)n,選擇清掃方向?yàn)轫槙r(shí)針或逆時(shí)針迭代,在可 行清掃區(qū)域內(nèi)選擇一個(gè)隨機(jī)點(diǎn)為起點(diǎn),確定所在的迭代子區(qū)域S 1^,根據(jù)全覆蓋遍歷連通圖 中的迭代順序以及流程圖程序,利用Standard仿射變換產(chǎn)生的軌跡依次實(shí)現(xiàn)各個(gè)矩形子區(qū) 域內(nèi)的遍歷清掃,以及各個(gè)子區(qū)域的自動(dòng)銜接,直至所有迭代子區(qū)域的遍歷完成。
      [0058] 本發(fā)明的有益效果如下:本發(fā)明將子區(qū)域分解、子區(qū)域銜接和子區(qū)域內(nèi)的遍歷方 法綜合考慮進(jìn)行設(shè)計(jì),采用具有拓?fù)浔闅v和隨機(jī)特性的混沌Standard方程進(jìn)行矩形子區(qū)域 內(nèi)的仿射變換,生成迭代清掃軌跡,完成子區(qū)域內(nèi)的遍歷清掃和子區(qū)域自動(dòng)銜接的任務(wù);混 沌狀態(tài)下的Standard方程,具有拓?fù)浔闅v特性和隨機(jī)特性,在運(yùn)行區(qū)域內(nèi)是滿映射,因此可 以很好地完成子區(qū)域內(nèi)的全覆蓋遍歷清掃任務(wù)和子區(qū)域的自動(dòng)銜接;由矩形子區(qū)域構(gòu)造矩 形迭代子區(qū)域、過(guò)渡子區(qū)域和重復(fù)子區(qū)域,形成最優(yōu)全覆蓋遍歷清掃連通圖,子區(qū)域過(guò)渡不 需要設(shè)計(jì)起點(diǎn)和終點(diǎn),可以自動(dòng)銜接。
      [0059]相比于傳統(tǒng)的設(shè)計(jì)方法,本發(fā)明算法重復(fù)率低,覆蓋率高,不存在清掃盲區(qū);算法 規(guī)劃效率高,子區(qū)域銜接由Standard方程根據(jù)初始值迭代產(chǎn)生,不需要確定起點(diǎn)和終點(diǎn);算 法簡(jiǎn)單,容易實(shí)現(xiàn)。本發(fā)明能夠很好地滿足機(jī)器人室內(nèi)清掃并實(shí)現(xiàn)全覆蓋遍歷路徑規(guī)劃的 任務(wù)。
      【附圖說(shuō)明】
      [0060]圖1為本發(fā)明的方法流程圖;
      [0061] 圖2為Standard混純方程迭代軌跡(迭代次數(shù)η = 1000)示意圖;
      [0062]圖3為Standard混沌方程仿射變換后的迭代軌跡示意圖;
      [0063] 圖4為Standard混沌方程所產(chǎn)生的清掃軌跡(迭代次數(shù)η = 1000時(shí))示意圖;
      [0064] 圖5為Standard混沌方程所產(chǎn)生的清掃軌跡(迭代次數(shù)η = 5000時(shí))示意圖;
      [0065]圖6為Standard混沌方程對(duì)初始值的敏感特性(迭代次數(shù)η = 20)示意圖;
      [0066]圖7為初始值為(XQ,yQ) = (2,2)的迭代軌跡(迭代次數(shù)η= 1000時(shí))示意圖;
      [0067]圖8為清掃環(huán)境示例圖;
      [0068]圖9為矩形子區(qū)域Sx劃分示意圖;
      [0069] 圖10為矩形迭代子區(qū)域的構(gòu)造(從上到下)示意圖;
      [0070] 圖11為矩形迭代子區(qū)域的構(gòu)造(從左到右)示意圖;
      [0071] 圖12為矩形迭代子區(qū)域連通圖的示意圖;
      [0072] 圖13為最優(yōu)子區(qū)域銜接路徑的示意圖;
      [0073] 圖14為最優(yōu)全覆蓋遍歷清掃連通圖的示意圖;
      [0074]圖15為迭代子區(qū)域自動(dòng)銜接流程圖;
      [0075]圖16為兩個(gè)迭代子區(qū)域內(nèi)的遍歷清掃及自動(dòng)銜接路徑(迭代次數(shù)η = 20)的示意 圖;
      [0076]圖17為兩個(gè)迭代子區(qū)域內(nèi)的遍歷清掃及自動(dòng)銜接路徑(迭代次數(shù)η = 40)的示意 圖;
      [0077]圖18為全覆蓋遍歷清掃流程圖;
      [0078]圖19為全覆蓋遍歷清掃軌跡(迭代步數(shù)N=500)的示意圖;
      [0079]圖20為全覆蓋遍歷清掃軌跡(迭代步數(shù)N=3000)的示意圖。
      【具體實(shí)施方式】
      [0080]為能清楚說(shuō)明本方案的技術(shù)特點(diǎn),下面通過(guò)【具體實(shí)施方式】,并結(jié)合其附圖,對(duì)本發(fā) 明進(jìn)行詳細(xì)闡述。下文的公開(kāi)提供了許多不同的實(shí)施例或例子用來(lái)實(shí)現(xiàn)本發(fā)明的不同結(jié) 構(gòu)。為了簡(jiǎn)化本發(fā)明的公開(kāi),下文中對(duì)特定例子的部件和設(shè)置進(jìn)行描述。此外,本發(fā)明可以 在不同例子中重復(fù)參考數(shù)字和/或字母。這種重復(fù)是為了簡(jiǎn)化和清楚的目的,其本身不指示 所討論各種實(shí)施例和/或設(shè)置之間的關(guān)系。應(yīng)當(dāng)注意,在附圖中所圖示的部件不一定按比例 繪制。本發(fā)明省略了對(duì)公知組件和處理技術(shù)及工藝的描述以避免不必要地限制本發(fā)明。
      [0081] 針對(duì)清掃移動(dòng)機(jī)器人全覆蓋遍歷路徑規(guī)劃,基于區(qū)域分解算法中存在的子區(qū)域銜 接算法復(fù)雜、子區(qū)域內(nèi)遍歷存在清掃盲點(diǎn)等問(wèn)題,提出了一種將子區(qū)域分解、子區(qū)域銜接和 子區(qū)域內(nèi)的遍歷清掃相結(jié)合進(jìn)行綜合設(shè)計(jì)的方法。子區(qū)域內(nèi)的遍歷清掃軌跡由混純 Standard方程產(chǎn)生。因?yàn)镾tandard方程所產(chǎn)生軌跡的范圍分布在一個(gè)有限的矩形區(qū)域內(nèi), 因此需要將含有矩形障礙物的可行清掃區(qū)域分解為矩形子區(qū)域,子區(qū)域銜接也通過(guò)矩形區(qū) 域內(nèi)Standard方程所產(chǎn)生的迭代軌跡完成。由矩形子區(qū)域構(gòu)造矩形迭代子區(qū)域、過(guò)渡子區(qū) 域和重復(fù)子區(qū)域,形成最優(yōu)全覆蓋遍歷清掃連通圖。與一般區(qū)域分解構(gòu)造方法相比,這種綜 合的設(shè)計(jì)方法重復(fù)率低、覆蓋高率高,子區(qū)域過(guò)渡不需要設(shè)計(jì)起點(diǎn)和終點(diǎn),可以自動(dòng)銜接, 子區(qū)域內(nèi)遍歷不存在覆蓋盲區(qū),能夠保證全區(qū)域遍歷。
      [0082] 如圖1所示,本發(fā)明的一種清掃機(jī)器人全覆蓋遍歷路徑規(guī)劃算法的設(shè)計(jì)方法,它具 體包括以下步驟:
      [0083 ] 1、利用Standard混純方程生成矩形區(qū)域內(nèi)的遍歷清掃軌跡
      [0084] Standard方程是一個(gè)簡(jiǎn)單的二維動(dòng)力學(xué)方程,控制簡(jiǎn)單,只有一個(gè)參數(shù)K,根據(jù)參 數(shù)的調(diào)整可以控制方程的混沌特性。它的離散化形式為:
      [0086]當(dāng)K = S時(shí),系統(tǒng)處于混沌狀態(tài),所生成的軌跡是一個(gè)吸引子,局限在一個(gè)有限區(qū)域 內(nèi)。此時(shí)系統(tǒng)具有最大的Lyapunov指數(shù)為2.0862,根據(jù)混沌方程特性判斷,此時(shí)系統(tǒng)具有最 好的隨機(jī)特性和拓?fù)浔闅v特性,因此這里取K = 8時(shí)的映射方程:
      [0088]在上述方程中,隨機(jī)給定一個(gè)初始值(XQ,y〇),可以求出它任意時(shí)刻的迭代值(Xn, yn)。方程中后面兩個(gè)式子把時(shí)間序列的坐標(biāo)(Xn,yn)對(duì)231進(jìn)行取余運(yùn)算,兩個(gè)坐標(biāo)的范圍都 限定在了 [0-231]之間,因此時(shí)間序列(Xn,yn)被限定在了一個(gè)矩形區(qū)域[0-231;0-231]內(nèi)。圖2 畫(huà)出了初始值(XQ,yo) = (0.5,0.5),迭代次數(shù)η = 1000 時(shí)的迭代軌跡。從圖中可以看出,軌跡 點(diǎn)具有與隨機(jī)信號(hào)類(lèi)似的均勻特性、隨機(jī)特性等分布特性,變量值(xn,yn)被限制在[0-2JT; 0-2JI]的一個(gè)矩形區(qū)域內(nèi),迭代軌跡點(diǎn)是有界的。
      [0089]可以通過(guò)仿射變換,將(Xn,yn)的運(yùn)行軌跡映射到一個(gè)任意大小的矩形區(qū)域內(nèi):
      [0091]其中(a,b)是平移變換,(c,d)是比例變換。例如當(dāng)(a,b) = (0,0),(c,d) = (100/2 π,100/231)時(shí),軌跡映射到了 [0-100 ; 0-100]區(qū)域內(nèi),圖3畫(huà)出了將圖2中的運(yùn)行軌跡經(jīng)過(guò)仿 射變換后的結(jié)果。圖形中每一個(gè)(Xn,y n)即是所求的清掃軌跡點(diǎn),將所有相鄰的軌跡點(diǎn)(Xn, yn)和(Xn-Un-i)依次連接起來(lái)就形成了機(jī)器人矩形區(qū)域內(nèi)的的遍歷清掃軌跡。如圖4所示 中的直線,是迭代1000次時(shí)的清掃軌跡。清掃軌跡沒(méi)有死角,可以遍歷每個(gè)角落。并且迭代 次數(shù)越多,軌跡分布越均勻,清掃效果越好,如圖5所示,是清掃5000次時(shí)的效果圖。
      [0092]混沌狀態(tài)下的Standard方程對(duì)初始值具有敏感特性。初始值只要有微小的差異, 就能夠產(chǎn)生兩條完全不同的清掃軌跡。如圖6所示,小圓圈為起點(diǎn),實(shí)線和虛線為產(chǎn)生的迭 代軌跡,迭代次數(shù)η = 20。初始值分別為(XQ,yo) = (0.5,0.5)和(XQ,yo) = (0.500001, 0.500001 ),相差僅有0.000001,僅僅經(jīng)過(guò)有限次迭代,就可以產(chǎn)生兩條完全不同的迭代軌 跡。說(shuō)明方程具有非常好的敏感特性,有利于機(jī)器人產(chǎn)生隨機(jī)性能好的清掃路徑。
      [0093] Standard混純方程雖然對(duì)初始值具有敏感特性,但是初始值的選擇,不影響清掃 軌跡的整體分布特性。如圖7所示,初始值為(XO,yo ) = ( 2,2 ),迭代次數(shù)η = 1000時(shí)的迭代軌 跡點(diǎn),與圖2所示軌跡點(diǎn)分布情況區(qū)別不大,因此可以隨機(jī)選擇清掃初始值。
      [0094] 從以上圖形中可以看出,Standard混沌方程不僅具有類(lèi)似于隨機(jī)信號(hào)的隨機(jī)性、 均勻性等分布特性,因?yàn)檐壽E是根據(jù)方程迭代產(chǎn)生的,相對(duì)于隨機(jī)性而言,還具有確定性, 可以被設(shè)計(jì)者所控制。另外,混沌狀態(tài)下的Standard方程還具有拓?fù)浔闅v特性,在運(yùn)行的矩 行區(qū)域內(nèi)是滿映射,因此可以保證在經(jīng)過(guò)仿射變換后的矩形區(qū)域內(nèi),完成全覆蓋遍歷清掃 任務(wù)。
      [0095] 2、矩形子區(qū)域分解
      [0096] 在一個(gè)含有矩形障礙物的封閉清掃環(huán)境內(nèi),采用多條平行分割線沿著障礙物和清 掃環(huán)境邊緣,對(duì)可行區(qū)域進(jìn)行分割,把機(jī)器人可行區(qū)域劃分成若干個(gè)矩形子區(qū)域S x,下標(biāo)X 表不各個(gè)子區(qū)域的編號(hào)。
      [0097] 例如在一個(gè)10 X 10的清掃環(huán)境內(nèi),有兩個(gè)矩形障礙物,用深灰色表示,大小分別為 3X3、3X2,分別位于平面內(nèi)左下標(biāo)為(2,5)和(6,1)的位置,如圖8所示。對(duì)平面內(nèi)的空白區(qū) 域按照上述方法進(jìn)行矩形子區(qū)域分割,結(jié)果如圖9所示。分割后形成了 23個(gè)矩形子區(qū)域Sx, 分別記為:Sa~Sw,下標(biāo)a~w為區(qū)域編號(hào)。
      [0098] 3、矩形迭代子區(qū)域的構(gòu)造
      [0099]將矩形子區(qū)域Sx,根據(jù)它們之間的鄰接關(guān)系,構(gòu)造矩形迭代子區(qū)域SluZ表示所構(gòu) 造的子區(qū)域編號(hào)。所有的迭代子區(qū)域組合為整個(gè)可行區(qū)域。機(jī)器人將各個(gè)子區(qū)域Sb遍歷完 后,就實(shí)現(xiàn)了整個(gè)空間的遍歷清掃任務(wù)。求出各個(gè)迭代子區(qū)域Sb內(nèi)的Standard仿射變換方 程,產(chǎn)生子區(qū)域內(nèi)的清掃覆蓋軌跡。
      [0100] 迭代子區(qū)域的構(gòu)造順序有兩種,按照矩形子區(qū)域Sx的排列順序,可以從上到下 (從下到上),或從左到右(從右到左)合并矩形子區(qū)域S x。如果按照這兩種順序構(gòu)造出的S1^ 個(gè)數(shù)相同,則說(shuō)明兩種方法的構(gòu)造效果相同,選擇其中一個(gè)即可。如果結(jié)果不同,則選擇S 1^ 個(gè)數(shù)最少的那個(gè)構(gòu)造順序。
      [0101] 構(gòu)造迭代子區(qū)域所要遵循的構(gòu)造原則是:
      [0102] (a)最大原則。每個(gè)迭代S1^區(qū)域要盡量的大,即S1^中所包含的S x個(gè)數(shù)要盡量的 多;
      [0103] (b)最少原則。構(gòu)造完成的個(gè)數(shù)要盡量的少;
      [0104] (C)所有的迭代子區(qū)域SLz不重疊;
      [0105] (d)所有的SLz合起來(lái)為整個(gè)可行區(qū)域;
      [0106] (e)迭代子區(qū)域SLz為矩形。
      [0107] 上述構(gòu)造原則是為了保證機(jī)器人能夠高效地完成可行區(qū)域的遍歷。規(guī)則(a)和(b) 的目標(biāo)是一致的,都是為了減少判斷次數(shù),從而減少子區(qū)域銜接次數(shù),提高規(guī)劃效率。規(guī)則 (c)是為了不重復(fù)遍歷。規(guī)則(d)是為了機(jī)器人能夠無(wú)遺漏地遍歷整個(gè)可行區(qū)域。規(guī)則(e)是 為了方便Standard方程實(shí)現(xiàn)在矩形子區(qū)域內(nèi)的迭代,產(chǎn)生迭代清掃軌跡。
      [0108] 將圖9所示的矩形子區(qū)域Sx按照上述構(gòu)造原則,依據(jù)從上到下的順序所構(gòu)造的矩 形迭代子區(qū)域Sl_j#果如圖 10所不,分別為Sl_abcde、Sl_ghilmn、Sl_f、Sl」k、Sl_r、Sl_Qpq、Sl_stuvw 七 個(gè)迭代子區(qū)域,其中S^abcde由矩形子區(qū)域53^二、5(1、3 (3組成,其他迭代子區(qū)域的組成根據(jù) 下標(biāo)依次類(lèi)推,這里不再贅述。依據(jù)從左到右的順序所構(gòu)造的矩形迭代子區(qū)域S 1^結(jié)果如圖 I 1 所不,分別為Sl_af jos、Sl_bcde、Sl_ghi、Sl_klpqtu、Sl_mn、Sl_r、Sl_vw七個(gè)迭代子區(qū)域。因?yàn)閮煞N方 法構(gòu)造的迭代子區(qū)域個(gè)數(shù)相同,因此兩種方法的構(gòu)造效果是相同的,選用其中一種即可。這 里選用圖10中所示的從上到下的構(gòu)造順序。
      [0109] 圖10中的七個(gè)迭代子區(qū)域的仿射變換參數(shù)[a b c d]分別如下:
      [0110] Si_ abode : [0 8 10/2312/231];
      [0111] Sl_ghilmn:[5 4 5/2314/231];
      [0112] Si_f:[0 5 2/2313/231 ];
      [0113] Si」k:[0 4 5/2311/231];
      [0114] Si_r:[8 I 2/2313/231 ];
      [0115] Si-_:[0 I 6/23t3/2jt];
      [0116] Si_stuvw:[0 0 10/23Tl/23i]〇
      [0117] 4、最優(yōu)子區(qū)域銜接路徑的構(gòu)造
      [0118] 將所構(gòu)造的矩形迭代子區(qū)域S1^,根據(jù)相鄰關(guān)系勾畫(huà)出可遍歷空間的連通路,然后 根據(jù)連通路,從中選出最優(yōu)子區(qū)域銜接路徑。
      [0119]最優(yōu)子區(qū)域銜接路徑的選擇要滿足以下條件:
      [0120] (a)為了不遺漏的遍歷所有區(qū)域,環(huán)路中必須包含每個(gè)迭代子區(qū)域;
      [0121] (b)環(huán)路中包含的每個(gè)子區(qū)域的個(gè)數(shù)最少,從而減少重復(fù)遍歷。
      [0122] 根據(jù)圖10中的構(gòu)造結(jié)果,畫(huà)出七個(gè)相鄰的矩形迭代子區(qū)域Si^的連接關(guān)系,如圖12 所示。圖中實(shí)線箭頭表示順時(shí)針?lè)较蛳噜忂B接,虛線箭頭表示逆時(shí)針?lè)较蛳噜忂B接。在圖12 中,按照單一方向(順或逆),共有六個(gè)聯(lián)通環(huán)路,其中符合要求的只有一條,如圖13所示。因 此圖13所選的環(huán)路為最優(yōu)子區(qū)域銜接路徑。
      [0123] 5、矩形過(guò)渡子區(qū)域和重復(fù)子區(qū)域的構(gòu)造
      [0124] 根據(jù)所求的最優(yōu)子區(qū)域銜接路徑中子區(qū)域S1^的鄰接關(guān)系,構(gòu)造相鄰之間的矩 形過(guò)渡子區(qū)域ST_ Z和重復(fù)子區(qū)域Sclz,z表示所構(gòu)造的子區(qū)域編號(hào)。這兩個(gè)子區(qū)域的設(shè)置是為 了實(shí)現(xiàn)子區(qū)域的自動(dòng)銜接。
      [0125] 重復(fù)子區(qū)域Sclz位于迭代子區(qū)域S1^中,由所在的迭代子區(qū)域S1^內(nèi)的矩形子區(qū)域 Sx合并組成。每個(gè)Sclz中所選的Sx個(gè)數(shù)要盡量的多,即合并后的Sc lz要盡量的大,目的是為了 減少轉(zhuǎn)移判斷次數(shù),從而減少子區(qū)域銜接時(shí)間。過(guò)渡子區(qū)域3^由兩個(gè)相鄰迭代子區(qū)域S 1^ 之間的重復(fù)子區(qū)域Sclz組成。因?yàn)橐肧tandard方程在這兩種區(qū)域內(nèi)實(shí)現(xiàn)遍歷過(guò)渡,因此 要求是矩形D
      [0126] 根據(jù)圖13中矩形迭代子區(qū)域S1^的鄰接關(guān)系,所求得矩形過(guò)渡子區(qū)域ST_4P重復(fù)子 區(qū)域下所示:
      [01 27] Sl_abc(k和Sl ghilmn之間:過(guò)渡子區(qū)域?yàn)镾T_cxleghilmn,重復(fù)子區(qū)域?yàn)镾ci c^和Sci ghilmn;
      [01 28] Sl ghilmn和Sl r之間:過(guò)渡子區(qū)域?yàn)镾T_inr,重復(fù)子區(qū)域?yàn)镾ci in和S〇_r ;
      [0? 29] Si r和Sl stuvw之間:過(guò)渡子區(qū)域?yàn)镾T_rw,重復(fù)子區(qū)域?yàn)镾ci r和S〇_w;
      [0130] Sl stuvw和Sl opq之間:過(guò)渡子區(qū)域?yàn)镾T_〇pqstu,重復(fù)子區(qū)域?yàn)镾ci opq和Sci stu;
      [0131 ] Si_〇pq和Sijk之間:過(guò)渡子區(qū)域?yàn)镾t」-,重復(fù)子區(qū)域?yàn)镾cijk和So_〇p;
      [0132] Sijk和Si_f之間:過(guò)渡子區(qū)域?yàn)镾T_fj,重復(fù)子區(qū)域?yàn)镾cij和So_f;
      [0133] Sl_f和Sl_abcde之間:過(guò)渡子區(qū)域?yàn)镾T_af,重復(fù)子區(qū)域?yàn)镾ci_f和S〇_aD
      [0134] 所求得的七個(gè)矩形過(guò)渡子區(qū)域3^的仿射變換參數(shù)[a b c d]分別如下:
      [0135] St-cdeghii隨:[5 4 5/2ji6/2ji];
      [0136] Sx_inr:[8 I 2/2ji7/2ji];
      [0137] Sx_rw:[8 0 2/2ji4/2ji];
      [0138] St- opqstu : [0 0 6/2π4/23τ];
      [0139] STJk〇P:[0 I 5/2314/231 ];
      [0140] Sx_fj:[0 4 2/2314/231 ];
      [0141] Sx_af:[0 5 2/2315/231 ] 〇
      [0142] 6、最優(yōu)全覆蓋遍歷清掃連通圖的構(gòu)造
      [0143] 將上述所構(gòu)造的過(guò)渡子區(qū)域ST_Z和重復(fù)子區(qū)域Sclz插入到圖13所求的最優(yōu)銜接路 徑中,產(chǎn)生最優(yōu)全覆蓋遍歷清掃連通圖,如圖14所示。
      [0144] 7、迭代子區(qū)域的自動(dòng)銜接
      [0145] 根據(jù)全覆蓋遍歷連通圖中矩形迭代子區(qū)域的鄰接關(guān)系,利用矩形過(guò)渡子區(qū)域ST_Z、 重復(fù)子區(qū)域Sc lz和矩形過(guò)渡子區(qū)域St_z內(nèi)的Standard方程仿射變換所產(chǎn)生的遍歷軌跡,實(shí)現(xiàn) 矩形迭代子區(qū)域的自動(dòng)銜接。當(dāng)機(jī)器人遍歷完一個(gè)迭代子區(qū)域,通過(guò)重復(fù)子區(qū)域Sc lz和過(guò)渡 子區(qū)域ST_zg動(dòng)銜接到下一個(gè)迭代子區(qū)域,直到所有迭代子區(qū)域遍歷完成。
      [0146] 子區(qū)域自動(dòng)銜接步驟為:
      [0147] (a)當(dāng)前迭代子區(qū)域S1^內(nèi)執(zhí)行Standard方程迭代,產(chǎn)生清掃軌跡,直至子區(qū)域清 掃任務(wù)完成;
      [0148] (b)當(dāng)前迭代子區(qū)域SLz執(zhí)行一次Standard方程迭代運(yùn)算,生成過(guò)渡軌跡;
      [0149] (c)判斷軌跡是否進(jìn)入其中的重復(fù)子區(qū)域SQ_Z。是的話繼續(xù)以下操作,否則轉(zhuǎn)移到 (b);
      [0150] (d)進(jìn)入當(dāng)前重復(fù)子區(qū)域Sclz所在的過(guò)渡子區(qū)域ST_ Z,并在過(guò)渡子區(qū)域內(nèi)執(zhí)行一次 Standard方程迭代運(yùn)算,生成過(guò)渡軌跡;
      [0151] (e)判斷軌跡是否進(jìn)入ST_Z所包含的另一個(gè)重復(fù)子區(qū)域Sc lz中。是的話繼續(xù)以下操 作,否則轉(zhuǎn)移到(d);
      [0152] (f)進(jìn)入到當(dāng)前重復(fù)子區(qū)域Sclz所在的迭代子區(qū)域S1^,實(shí)現(xiàn)自動(dòng)銜接。在迭代子區(qū) 域內(nèi)執(zhí)行Standard方程,產(chǎn)生遍歷清掃軌跡,實(shí)現(xiàn)子區(qū)域遍歷清掃任務(wù)。
      [0153] 迭代子區(qū)域S^abcde和Suihllmn之間的自動(dòng)銜接流程圖如圖15所示。圖形中"迭代"的 意思是利用Standard方程在本區(qū)域內(nèi)進(jìn)行仿射變換所產(chǎn)生的清掃迭代軌跡。
      [0154] 執(zhí)行一次子區(qū)域自動(dòng)銜接,每個(gè)轉(zhuǎn)移到其中的Sclz中的轉(zhuǎn)移概率為:
      [0156]每個(gè)ST_ZR移到所包含的另一個(gè)Sclz中的轉(zhuǎn)移概率為:
      [0158]從方程中可以看出,Sclz越大,轉(zhuǎn)移概率越大,因此盡量增大Sclz可以減少判斷次 數(shù),從而減少銜接時(shí)間、提高規(guī)劃效率。自動(dòng)銜接一次所需要的判斷次數(shù)大約為:
      [0160]判斷次數(shù)與迭代子區(qū)域S1^內(nèi)的迭代次數(shù)無(wú)關(guān)。通過(guò)計(jì)算出所有的轉(zhuǎn)移概率,可以 推斷出執(zhí)行一次清掃任務(wù)所需要的大概判斷次數(shù)。
      [0161 ]根據(jù)圖15中自動(dòng)銜接流程圖所求出的轉(zhuǎn)移概率為:
      [0164]則從迭代子區(qū)域S1^bi自動(dòng)銜接到SuihllW^需要的總的判斷次數(shù)大約為4次。
      [0166]依據(jù)以上方法可以求出可行區(qū)域內(nèi)所需要的總銜接次數(shù)大約為32次。
      [0167] 根據(jù)圖15的自動(dòng)銜接流程圖,圖16畫(huà)出了迭代子區(qū)域Sl_abcde和Sl_ghilmn內(nèi)的仿真遍 歷清掃以及兩個(gè)子區(qū)域的自動(dòng)銜接軌跡。為了看清楚圖形,選了較少的迭代次數(shù)。兩個(gè)子區(qū) 域的迭代次數(shù)η = 20,起點(diǎn)(XQ,yο ) = ( 1,9)。圖形中小圓圈內(nèi)的點(diǎn)表示迭代起點(diǎn),小方框內(nèi)的 點(diǎn)表示迭代終點(diǎn),小圓點(diǎn)表示迭代軌跡點(diǎn),細(xì)實(shí)線表示所生成的迭代清掃軌跡,粗實(shí)線表示 子區(qū)域銜接時(shí)的判斷和轉(zhuǎn)移軌跡。從圖16中可以看出來(lái),經(jīng)過(guò)3次判斷就實(shí)現(xiàn)了迭代子區(qū)域 的自動(dòng)銜接,并且子區(qū)域內(nèi)的軌跡以及自動(dòng)銜接軌跡都不與障礙物和工作區(qū)域邊緣碰撞, 說(shuō)明子區(qū)域銜接方法是可行、高效的,子區(qū)域分解方法是可行、安全的。為了對(duì)比,圖17畫(huà)出 了迭代40次的仿真結(jié)果,自動(dòng)銜接判斷次數(shù)只用了 4次。判斷次數(shù)與子區(qū)域迭代次數(shù)無(wú)關(guān)。 當(dāng)可行區(qū)域內(nèi)的迭代次數(shù)較大時(shí),自動(dòng)銜接次數(shù)可以忽略不計(jì)。
      [0168] 8、可行區(qū)域內(nèi)的全覆蓋遍歷清掃任務(wù)實(shí)現(xiàn)
      [0169] 在清掃區(qū)域內(nèi),設(shè)置整個(gè)區(qū)域清掃一次的總的迭代步數(shù)N,根據(jù)面積大小求出每個(gè) 子區(qū)域S1^所需要的迭代步數(shù)η。選擇清掃的迭代方向?yàn)轫槙r(shí)針或逆時(shí)針迭代。在可行區(qū)域 內(nèi)選擇一個(gè)隨機(jī)點(diǎn),確定所在的迭代子區(qū)域S 1^,根據(jù)全覆蓋遍歷連通圖中的迭代順序,利 用Standard仿射變換產(chǎn)生的軌跡依次實(shí)現(xiàn)各個(gè)矩形子區(qū)域內(nèi)的遍歷清掃,以及各個(gè)子區(qū)域 的自動(dòng)銜接,當(dāng)所有迭代子區(qū)域的遍歷完成后,則清掃任務(wù)完成。
      [0170] 根據(jù)圖14設(shè)計(jì)全覆蓋遍歷清掃程序流程圖,如圖18所示。這里選擇順時(shí)針迭代方 向,即實(shí)線箭頭所指的遍歷方向。設(shè)起點(diǎn)(x〇,y〇) = (1,9),位于子區(qū)域Si_abcxb內(nèi),因此從這個(gè) 區(qū)域開(kāi)始整個(gè)可行區(qū)域的全覆蓋遍歷清掃任務(wù)??偟牡螖?shù)N=500。根據(jù)面積大小依次 求出各個(gè)子區(qū)域內(nèi)的迭代步數(shù)。根據(jù)圖18所求得的運(yùn)行仿真圖形如圖19所示。自動(dòng)銜接次 數(shù)為18次。圖形中各個(gè)符號(hào)的含義同圖16和圖17。圖20為清掃次數(shù)N = 3000時(shí)的清掃軌跡, 自動(dòng)銜接次數(shù)為21次。
      [0171] 從圖19和圖20的仿真圖形中可以看出,軌跡位于空白的可行區(qū)域內(nèi),不與障礙物 和工作區(qū)域邊界交叉或碰撞,說(shuō)明子區(qū)域分解、子區(qū)域銜接等算法是可行、安全的;清掃軌 跡充滿整個(gè)可行區(qū)域,分布均勻,因此不存在清掃死腳、盲區(qū),能夠保證全覆蓋遍歷,覆蓋率 高,重復(fù)率低,并且清掃次數(shù)越多,清掃效果越好。迭代可行區(qū)域的銜接不需要設(shè)計(jì)固定的 起點(diǎn)和終點(diǎn),由Standard方程根據(jù)初始值迭代產(chǎn)生,因此可以實(shí)現(xiàn)可行區(qū)域的自動(dòng)銜接,算 法簡(jiǎn)單。
      [0172] 以上所述只是本發(fā)明的優(yōu)選實(shí)施方式,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在 不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也被視為本發(fā) 明的保護(hù)范圍。
      【主權(quán)項(xiàng)】
      1. 一種清掃機(jī)器人全覆蓋遍歷路徑規(guī)劃算法的設(shè)計(jì)方法,其特征是,包括以下步驟: 步驟一:選擇standard混純方程及其仿射變換產(chǎn)生矩形區(qū)域內(nèi)的遍歷清掃軌跡; 步驟二:將一個(gè)含有矩形障礙物的封閉清掃環(huán)境采用多條平行分割線沿著障礙物和清 掃環(huán)境邊緣對(duì)可行清掃區(qū)域進(jìn)行分割,并把機(jī)器人可行清掃區(qū)域劃分成若干個(gè)矩形子區(qū)域 Sx,其中下標(biāo)X表示各個(gè)子區(qū)域的編號(hào); 步驟三:根據(jù)各個(gè)矩形子區(qū)域之間的鄰接關(guān)系將矩形子區(qū)域Sx組合為若干個(gè)矩形迭代 子區(qū)域,其中z表示矩形迭代子區(qū)域的編號(hào),所有的迭代子區(qū)域組合為整個(gè)可行清掃區(qū) 域,并求出各個(gè)迭代子區(qū)域Si_z內(nèi)的Standard仿射變換方程; 步驟四:將矩形迭代子區(qū)域根據(jù)相鄰關(guān)系勾畫(huà)出可遍歷空間的連通路,然后根據(jù)連 通路求出最優(yōu)子區(qū)域銜接路徑; 步驟五:根據(jù)最優(yōu)子區(qū)域銜接路徑中矩形迭代子區(qū)域的鄰接關(guān)系,構(gòu)造出相鄰矩形 迭代子區(qū)域之間的矩形過(guò)渡子區(qū)域ST_Z和重復(fù)子區(qū)域SQ_Z,其中z表示矩形迭代子區(qū)域的 編號(hào),并求出各個(gè)矩形過(guò)渡子區(qū)域St_ z內(nèi)的Standard仿射變換方程; 步驟六:將矩形過(guò)渡子區(qū)域ST_Z和重復(fù)子區(qū)域SQ_Z插入到所求出的最優(yōu)子區(qū)域銜接路徑 中,產(chǎn)生全覆蓋遍歷連通圖; 步驟七:根據(jù)全覆蓋遍歷連通圖中矩形迭代子區(qū)域的鄰接關(guān)系,利用矩形過(guò)渡子區(qū)域 St_z、重復(fù)子區(qū)域SQ_Z和矩形過(guò)渡子區(qū)域ST_ Z內(nèi)的Standard仿射變換所產(chǎn)生的遍歷軌跡,進(jìn)行 矩形迭代子區(qū)域的自動(dòng)銜接;當(dāng)機(jī)器人遍歷完一個(gè)迭代子區(qū)域,通過(guò)重復(fù)子區(qū)域So_ z和過(guò)渡 子區(qū)域ST_zg動(dòng)銜接到下一個(gè)迭代子區(qū)域,直到所有迭代子區(qū)域遍歷完成為止; 步驟八:根據(jù)全覆蓋遍歷連通圖設(shè)計(jì)清掃機(jī)器人全覆蓋遍歷程序的流程圖,用以實(shí)現(xiàn) 機(jī)器人遍歷清掃任務(wù);在可行清掃區(qū)域內(nèi),初始化清掃機(jī)器人的起點(diǎn)以及清掃一次所需要 的總的迭代次數(shù),選擇清掃方向?yàn)轫槙r(shí)針或逆時(shí)針迭代,然后根據(jù)全覆蓋遍歷連通圖中的 迭代順序以及流程圖程序,利用Standard仿射變換產(chǎn)生的軌跡依次實(shí)現(xiàn)各個(gè)矩形子區(qū)域內(nèi) 的遍歷清掃,以及子區(qū)域的自動(dòng)銜接,直至整個(gè)遍歷清掃任務(wù)完成。2. 如權(quán)利要求1所述的一種清掃機(jī)器人全覆蓋遍歷路徑規(guī)劃算法的設(shè)計(jì)方法,其特征 是,在步驟一中,Standard混純方程是一個(gè)簡(jiǎn)單的二維動(dòng)力學(xué)方程,Standard混純方程的離 散化形式表示為:式中,(xn,yn)為清掃機(jī)器人全覆蓋遍歷路徑的運(yùn)行軌跡坐標(biāo),K為混沌狀態(tài)參數(shù)。3. 如權(quán)利要求2所述的一種清掃機(jī)器人全覆蓋遍歷路徑規(guī)劃算法的設(shè)計(jì)方法,其特征 是,當(dāng)K = 8時(shí)方程(1)的映射方程為:在方程⑵中,隨機(jī)給定一個(gè)初始值(xQ,y〇),可以求出它任意時(shí)刻的迭代值(xn,yn); 通過(guò)仿射變換將清掃機(jī)器人全覆蓋遍歷路徑的運(yùn)行軌跡(Xn,yn)映射到一個(gè)任意大小 的矩形區(qū)域內(nèi),仿射變換方程為:其中,(a,b)是平移變換,(c,d)是比例變換,(Xn,yn)是清掃機(jī)器人清掃軌跡點(diǎn)的坐標(biāo), 將時(shí)間序列中所有相鄰的軌跡點(diǎn)(Xn,yn)和(nyn)依次連接起來(lái)就形成了機(jī)器人矩形區(qū) 域內(nèi)的遍歷清掃軌跡。4. 如權(quán)利要求1所述的一種清掃機(jī)器人全覆蓋遍歷路徑規(guī)劃算法的設(shè)計(jì)方法,其特征 是,在步驟二中,Standard混沌方程所產(chǎn)生的清掃軌跡是一個(gè)吸引子,分布在一個(gè)有限的矩 形區(qū)域內(nèi),通過(guò)仿射變換映射到任意大小的矩形區(qū)域內(nèi),從而將含有矩形障礙物的封閉清 掃環(huán)境劃分為若干個(gè)矩形子區(qū)域。5. 如權(quán)利要求1所述的一種清掃機(jī)器人全覆蓋遍歷路徑規(guī)劃算法的設(shè)計(jì)方法,其特征 是,在步驟三中,清掃機(jī)器人將各個(gè)矩形迭代子區(qū)域遍歷完后,就實(shí)現(xiàn)了整個(gè)空間的遍 歷清掃任務(wù); 按照矩形子區(qū)域Sx的排列順序從上到下合并或者從左到右合并矩形子區(qū)域Sx構(gòu)造矩形 迭代子區(qū)域Sb,如果按照上述兩種順序構(gòu)造出的Sb個(gè)數(shù)相同,選擇其中一個(gè)即可,否則則 選擇矩形迭代子區(qū)域Su個(gè)數(shù)最少的那個(gè)構(gòu)造順序來(lái)構(gòu)造矩形迭代子區(qū)域Su; 構(gòu)造迭代子區(qū)域Sb所要遵循的構(gòu)造原則是: (a) 最大原則,每個(gè)迭代區(qū)域要盡量的大,即中所包含的Sx個(gè)數(shù)要盡量的多; (b) 最少原則,構(gòu)造完成的個(gè)數(shù)要盡量的少; (c) 所有的迭代子區(qū)域不重疊; (d) 所有的合起來(lái)為整個(gè)可行清掃區(qū)域; (e) 迭代子區(qū)域Slz為矩形。 上述構(gòu)造原則保證機(jī)器人能夠高效地完成可行清掃區(qū)域的遍歷。6. 如權(quán)利要求1所述的一種清掃機(jī)器人全覆蓋遍歷路徑規(guī)劃算法的設(shè)計(jì)方法,其特征 是,在步驟四中,最優(yōu)子區(qū)域銜接路徑的選擇要滿足以下條件: (a)為了不遺漏的遍歷所有區(qū)域,環(huán)路中必須包含每個(gè)迭代子區(qū)域; (b)環(huán)路中包含的每個(gè)子區(qū)域的個(gè)數(shù)最少,從而減少重復(fù)遍歷。7. 如權(quán)利要求1所述的一種清掃機(jī)器人全覆蓋遍歷路徑規(guī)劃算法的設(shè)計(jì)方法,其特征 是,在步驟五中,重復(fù)子區(qū)域SQ_ Z位于矩形迭代子區(qū)域中,由所在的矩形迭代子區(qū)域 內(nèi)的矩形子區(qū)域Sx合并組成,每個(gè)重復(fù)子區(qū)域SQ_Z中所選的矩形子區(qū)域S x個(gè)數(shù)要盡量的多, 即合并后的重復(fù)子區(qū)域So_z要盡量的大;過(guò)渡子區(qū)域ST_Z由兩個(gè)相鄰矩形迭代子區(qū)域之 間的重復(fù)子區(qū)域So組成。8. 如權(quán)利要求1所述的一種清掃機(jī)器人全覆蓋遍歷路徑規(guī)劃算法的設(shè)計(jì)方法,其特征 是,在步驟七中,機(jī)器人遍歷完一個(gè)迭代子區(qū)域自動(dòng)銜接到下一個(gè)迭代子區(qū)域的具體步驟 為: (a) 當(dāng)前矩形迭代子區(qū)域內(nèi)執(zhí)行Standard混沌方程迭代運(yùn)算,產(chǎn)生清掃軌跡,直至 矩形迭代子區(qū)域清掃任務(wù)完成; (b) 當(dāng)前矩形迭代子區(qū)域執(zhí)行一次Standard混沌方程迭代運(yùn)算,生成過(guò)渡軌跡; (c) 判斷步驟(b)中生成的過(guò)渡軌跡是否進(jìn)入其中的重復(fù)子區(qū)域So_z,如果進(jìn)入其中的 重復(fù)子區(qū)域So_ z繼續(xù)以下操作,否則轉(zhuǎn)到步驟(b); (d) 當(dāng)前重復(fù)子區(qū)域SQ_Z所在的過(guò)渡子區(qū)域ST_JA行一次Standard混沌方程迭代運(yùn)算, 生成過(guò)渡軌跡; (e) 判斷步驟(d)中生成的過(guò)渡軌跡是否進(jìn)入過(guò)渡子區(qū)域ST_Z所包含的另一個(gè)重復(fù)子區(qū) 域So_ z中,如果是則繼續(xù)以下操作,否則轉(zhuǎn)到步驟(d); (f) 進(jìn)入到當(dāng)前重復(fù)子區(qū)域SQ_Z所在的迭代子區(qū)域,實(shí)現(xiàn)自動(dòng)銜接。9. 如權(quán)利要求8所述的一種清掃機(jī)器人全覆蓋遍歷路徑規(guī)劃算法的設(shè)計(jì)方法,其特征 是,執(zhí)行一次迭代子區(qū)域自動(dòng)銜接,每個(gè)迭代子區(qū)域轉(zhuǎn)移到其中的重復(fù)子區(qū)域S Q_Z中的 轉(zhuǎn)移概率為:每個(gè)迭代子區(qū)域ST_Z轉(zhuǎn)移到所包含的另一個(gè)重復(fù)子區(qū)域SQ_Z中的轉(zhuǎn)移概率為:從式⑷和式(5)可以看出,重復(fù)子區(qū)域S〇_z越大,轉(zhuǎn)移概率越大,因此盡量增大重復(fù)子 區(qū)域Sci_z來(lái)減少判斷次數(shù),從而減少銜接時(shí)間、提高規(guī)劃效率。10. 如權(quán)利要求1所述的一種清掃機(jī)器人全覆蓋遍歷路徑規(guī)劃算法的設(shè)計(jì)方法,其特征 是,在步驟八中,設(shè)置整個(gè)區(qū)域清掃一次的總的迭代步數(shù)N,根據(jù)面積大小求出每個(gè)迭代子 區(qū)域所需要的迭代步數(shù)n,選擇清掃方向?yàn)轫槙r(shí)針或逆時(shí)針迭代,在可行清掃區(qū)域內(nèi)選 擇一個(gè)隨機(jī)點(diǎn)為起點(diǎn),確定所在的迭代子區(qū)域,根據(jù)全覆蓋遍歷連通圖中的迭代順序以 及流程圖程序,利用Standard仿射變換產(chǎn)生的軌跡依次實(shí)現(xiàn)各個(gè)矩形子區(qū)域內(nèi)的遍歷清 掃,以及各個(gè)子區(qū)域的自動(dòng)銜接,直至所有迭代子區(qū)域S Lz的遍歷完成。
      【文檔編號(hào)】B25J9/16GK105922267SQ201610487847
      【公開(kāi)日】2016年9月7日
      【申請(qǐng)日】2016年6月28日
      【發(fā)明人】李彩虹, 宋勇, 王鳳英, 王志強(qiáng), 梁振英, 李貽斌
      【申請(qǐng)人】山東理工大學(xué)
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1