專利名稱:一種管道巡檢機器人自主巡徑算法及具有該算法的機器人的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于管道巡視監(jiān)測領(lǐng)域,尤其涉及一種管道巡檢機器人自主巡徑算法及具有該算法的機器人。
背景技術(shù):
管道是保障能源和信號線路與外界有效隔離,防止外力侵襲,保證安全傳輸?shù)闹匾O(shè)施,隨著信息社會的發(fā)展以及能源需求的增加,智能電網(wǎng)已經(jīng)開始進入人們的生活,除了在地面上進行電力架線和傳輸之外,在底下也開拓了智能電網(wǎng)的傳輸路徑,通過在地下設(shè)立各種電力傳輸管道,不但可以實現(xiàn)電力信號的傳輸,而且有效提高了資源的利用率。同時,將電力線放置到地下管道中,不會帶來視覺上的走線亂,使用中的危險性高的問題。隨著智能電網(wǎng)產(chǎn)業(yè)的發(fā)展,現(xiàn)代城市的管道網(wǎng)絡(luò)錯綜復雜,管道網(wǎng)絡(luò)近乎迷宮,不可能通過人 力完成對管道中電纜的巡檢,給維護帶來極大不便,因此利用管道機器人對通訊電纜、地下電纜進行巡檢維護已經(jīng)成為一種共識。但如何使得機器人能夠?qū)崿F(xiàn)自動巡徑,這就需要對迷宮算法進行研究?,F(xiàn)有機器人迷宮控制策略主要為左手法則(Left Hand Rule)和右手法則(RightHand Rule)。左手法則的技術(shù)特點是1、機器人執(zhí)行左轉(zhuǎn)的優(yōu)先級高于直行或右轉(zhuǎn);2、機器人執(zhí)行直行的優(yōu)先級高于右轉(zhuǎn)。機器人在迷宮管道中巡徑時,如果遇到“十字路口”(即有左轉(zhuǎn)、直行和右轉(zhuǎn)),機器人會左轉(zhuǎn);如果遇到“直行或右轉(zhuǎn)路口”,機器人會直行;只有遇到“右轉(zhuǎn)路口”,機器人才右轉(zhuǎn)。一句話就是,執(zhí)行左手法則的機器人永遠是沿著左側(cè)走。如果管道包括多條首尾依次相互連通的分支管道,該分支管道圍成一個多邊形結(jié)構(gòu),且管道的出口不是設(shè)置在多邊形結(jié)構(gòu)圍成的空間內(nèi),機器人最終可以順利的從起點走到終點。同理,右手法則的技術(shù)特點是1、機器人執(zhí)行右轉(zhuǎn)的優(yōu)先級高于直行或左轉(zhuǎn);2、機器人執(zhí)行直行的優(yōu)先級高于左轉(zhuǎn)。以上這兩種控制策略的執(zhí)行效果如圖I所示。圖中所示細實線為縱橫交錯的管道,而且分別表明了管道的入口和出口位置,所示虛線即為左手法則控制的機器人在管道中的巡視或行進路線,所示雙點劃線為右手法則控制的機器人在管道中的巡視或者行進路線,但是當遇到管道包括多條首尾依次相互連通的分支管道,該分支管道圍成一個多邊形結(jié)構(gòu),且管道的出口設(shè)置在多邊形結(jié)構(gòu)圍成的空間內(nèi)時,如圖2所示,此時不論控制策略是左手法則還是右手法則,機器人最終還是會回到管道的入口,進而無法找到管道的出口,從而無法完成對管道內(nèi)電纜的巡檢。
發(fā)明內(nèi)容
本發(fā)明旨在解決現(xiàn)有技術(shù)中當所要巡檢的管道包括多條首尾依次相互連通的分支管道,該分支管道圍成一個多邊形結(jié)構(gòu),且管道的出口設(shè)置在多邊形結(jié)構(gòu)圍成的空間內(nèi)時,巡線機器人根據(jù)左手法則或右手法則控制策略無法完成對管道內(nèi)電纜進行巡檢的技術(shù)問題,提供一種迷宮管道機器人自主巡徑算法,通過該算法可實現(xiàn)巡線機器人對該管道的巡檢。本發(fā)明提供一種管道巡檢機器人自主巡徑算法,所述管道包括多條首尾依次相互連通的分支管道,多條所述分支管道圍成一個多邊形結(jié)構(gòu),且管道的出口設(shè)置在多邊形結(jié)構(gòu)圍成的空間內(nèi),其特征在于,所述管道巡檢機器人自主巡徑算法包括以下步驟步驟一,記錄所述機器人經(jīng)過每個路口時的行進方向并形成由字母組成的第一路徑數(shù)組,其中,如果所述機器人在路口左轉(zhuǎn)則記錄一個字母“L”,如果所述機器人在路口右轉(zhuǎn)則記錄一個字母“R”,如果所述機器人在路口直行則記錄一個字母“S”,如果所述機器人調(diào)頭時則記錄一個字母“U”,最后所記錄的字母按照機器人的行走順序形成所述第一路徑數(shù)組;步驟二,根據(jù)機器人巡徑控制策略簡化第一路徑數(shù)組并形成第二路徑數(shù)組,其中,當所述控制策略為左手法則時,將第一路徑數(shù)組中的字母組合“SUL”或“LUS”用字母“R”替代、字母組合“LUL”用“S”替代,形成所述第二路徑數(shù)組;當所述控制策略為右手法則時, 將第一路徑數(shù)組中的字母組合“SUR”或“RUS”用字母“L”替代、字母組合“RUR”用S替代,形成所述第二路徑數(shù)組;同時,存儲所述第二路徑數(shù)組;步驟三,控制所述機器人按照第二路徑數(shù)組對所述管道進行巡徑,并對第二路徑數(shù)組中的標示進行修改,按照修改后的標示行進直至走出所述出口,對所述整個行進線路進行記錄形成第三路徑數(shù)組;步驟四,存儲第三路徑數(shù)組,同時控制所述機器人按照所述第三路徑數(shù)組對所述管道進行下一次的巡徑。優(yōu)選地,所述步驟三中,控制策略為左手法則時,步驟三具體包括以下步驟31、控制機器人按照原始的第二路徑數(shù)組對所述管道進行巡徑,當遇到所述第二路徑數(shù)組中第N個標為“L”或“S”的路口時,將所述標示“L”修改為“S”或“R”,或?qū)耸尽癝”修改為“R”,并控制機器人在該修改標示的路口按照修改后的標示行進,并在所述修改標示的路口后面的管道路徑中控制機器人按照左手法則或右手法則繼續(xù)行進;32、若該次巡徑到達所述出口,則記錄該次巡徑中經(jīng)過每個路口的行進方向,形成所述第三組路徑數(shù)組;若否,N累加1,并返回步驟31 ;其中所述N為整數(shù),N的初始值為1,N的最大值為第二路徑數(shù)組中字母“L”與“S”的個數(shù)和。優(yōu)選地,所述步驟三中,控制策略為右手法則時,步驟三具體包括以下步驟31’、控制所述機器人按照原始的第二路徑數(shù)組對所述管道進行巡徑,當遇到所述第二路徑數(shù)組中第M個標示為“R”或“S”的路口時,將所述標示R修改為“S”或“L”,或?qū)耸尽癝”修改為“L”,控制機器人在該修改標識的路口按照修改后的標示行進,并在所述修改標示的路口后面的管道路徑中控制機器人按照左手法則或右手法則繼續(xù)行進;32’、若該次巡徑到達所述出口,則記錄該次巡徑中經(jīng)過每個路口的行進方向,形成所述第三組路徑數(shù)組;若否,M累加1,并返回步驟31’ ;其中所述M為整數(shù),M的初始值為1,M的最大值為第二路徑數(shù)組中字母“R”與“S”的個數(shù)和。優(yōu)選地,所述步驟二中,當所述控制策略為左手法則時對第一路徑數(shù)組的具體簡化控制方法為步驟S100,在第一路徑數(shù)組中,從第一個字母開始依次查找字母組合“SUL”、“LUS”或“LUL”,當查找到第一個字母組合“SUL”、“LUS”或“LUL”時,停止繼續(xù)查找并將字母組合“SUL”或“LUS”替換為“R”,或?qū)⒆帜附M合“LUL”替換為“S” ;步驟S110,重新從第一個字母開始,再次查找字母組合“SUL”、“LUS”或“LUL” ;當再次查找到第一個字母組合“ SUL”、“ LUS ”或“ LUL”時,停止繼續(xù)查找并將字母組合“ SUL”或“LUS”替換為“R”,或?qū)⒆帜附M合“LUL”替換為“S” ;步驟S120,重復步驟S110,直到所述第一路徑數(shù)組中無字母組合“SUL”、“LUS”或“LUL”時,結(jié)束查找,并將第一路徑數(shù)組簡化后最終形成的路徑數(shù)組作為第二路徑數(shù)組。優(yōu)選地,所述步驟二中,當所述控制策略為右手法則時對第一路徑數(shù)組的具體簡化控制方法為
步驟S200,在第一路徑數(shù)組中,從第一個字母開始依次查找字母組合“SUR”、“RUS”或“RUR”,當查找到第一個字母組合“SUR”、“RUS”或“RUR”時,停止繼續(xù)查找并將字母組合“SUR”或“RUS”替換為“L”,或?qū)⒆帜附M合“RUR”替換為“S” ;步驟S210,重新從第一個字母開始,再次查找字母組合“SUR”、“RUS”或“RUR” ;當再次查找到第一個字母組合“SUR”、“RUS”或“RUR”時,停止繼續(xù)查找并將字母組合“SUR”或“RUS”替換為“L”,或?qū)⒆帜附M合“RUR”替換為“S” ;步驟S220,重復步驟S210,直到所述第一路徑數(shù)組中無字母組合“SUR”、“RUS”或“RUR”時,結(jié)束查找,并將第一路徑數(shù)組簡化后最終形成的路徑數(shù)組作為第二路徑數(shù)組。優(yōu)選地,在所述步驟二中,分析第一路徑數(shù)組中的字母組成,當?shù)谝宦窂綌?shù)組中包含字母“L”時,所述機器人的巡徑控制策略為左手法則。優(yōu)選地,在所述步驟二中,分析第一路徑數(shù)組中的字母組成,當?shù)谝宦窂綌?shù)組中包含字母“R”時,所述機器人的巡徑控制策略為右手法則。優(yōu)選地,所述機器人進入管道的入口后即開始記錄第一路徑數(shù)組,返回所述迷宮管道的入口時結(jié)束記錄第一路徑數(shù)組。優(yōu)選地,所述控制器具有上述任意一項權(quán)利要求所述的管道巡檢機器人自主巡徑算法。優(yōu)選地,所述控制器按照第三路徑數(shù)組控制所述機器人對所述管道進行巡徑。以上所述技術(shù)方案,機器人在第一次巡徑時按照左手法則或者右手法則的控制形成第一路徑數(shù)組,當控制策略為左手法則時,將第一路徑數(shù)組中的字母組合“SUL”或“LUS”用字母“R”替代、字母組合“LUL”用“S”替代;當控制策略為右手法則時,將第一路徑數(shù)組中的字母組合“ SUR”或“ RUS ”用字母“ L”替代、字母組合“ RUR”用S替代,最終形成簡化后的第二路徑數(shù)組;并將第二路徑數(shù)組中有多余方向沒有經(jīng)歷的路口進行標示變換,之后按照左手法則或右手法則重新控制機器人走出出口,并形成第三路徑數(shù)組,該第三路徑數(shù)組所指示的路線即為對該管道的巡徑路線,可控制機器人在下一次按照第三路徑數(shù)組對所述管道進行巡徑,實現(xiàn)了管道機器人對管道的巡徑。
圖I是現(xiàn)有技術(shù)一種實施例的管道機器人自主巡徑示意圖。
圖2是本發(fā)明一種實施例的管道機器人按照左手法則在路口直行示意圖。圖3是本發(fā)明一種實施例的管道機器人按照左手法則在管道盡頭調(diào)頭示意圖。圖4是本發(fā)明一種實施例的管道機器人按照左手法則在路口左轉(zhuǎn)示意圖。圖5是本發(fā)明一種實施例的管道機器人按照左手法則在下一個路口左轉(zhuǎn)示意圖。圖6是本發(fā)明一種實施例的管道機器人按照左手法則在該管道盡頭調(diào)頭示意圖。圖7是本發(fā)明一種實施例的管道機器人按照左手法則在圖5所示的路口左轉(zhuǎn)示意圖。圖8是本發(fā)明一種實施例的管道機器人按照左手法則調(diào)頭示意圖。
圖9是本發(fā)明一種實施例的管道機器人按照左手法則左轉(zhuǎn)示意圖。圖10是本發(fā)明一種實施例的管道機器人按照左手法則左轉(zhuǎn)并走到出口示意圖。圖11是本發(fā)明一種實施例的管道機器人最佳巡徑線路示意圖。圖12是本發(fā)明第二種實施例的管道機器人按照右手法則在路口右轉(zhuǎn)示意圖。圖13是本發(fā)明第二種實施例的管道機器人按照右手法則在下一路口右轉(zhuǎn)示意圖。圖14是本發(fā)明第二種實施例的管道機器人按照右手法則在圖13所示的路口右轉(zhuǎn)示意圖。圖15是本發(fā)明第二種實施例的管道機器人按照右手法則右轉(zhuǎn)示意圖。圖16是本發(fā)明第二種實施例的管道機器人按照右手法則在最后一個路口右轉(zhuǎn)示意圖。圖17是本發(fā)明第二種實施例的管道機器人按照右手法則直行示意圖。圖18是本發(fā)明第二種實施例的管道機器人最佳巡徑線路示意圖。圖19是現(xiàn)有技術(shù)中另一種實施例的管道機器人自主巡徑示意圖。圖20是圖19中按照左手法則簡化后的管道機器人巡徑線路示意圖。圖21是圖20中按照本發(fā)明控制的管道機器人的一種巡徑線路示意圖。圖22是圖20中按照本發(fā)明控制的管道機器人的另一種巡徑線路示意圖。圖23是圖20中按照本發(fā)明控制的管道機器人的第三種巡徑線路示意圖。圖24是圖19中按照右手法則簡化后的管道機器人巡徑線路示意圖。圖25是圖24中按照本發(fā)明控制的管道機器人的一種巡徑線路示意圖。
具體實施例方式為了使本發(fā)明所解決的技術(shù)問題、技術(shù)方案及有益效果更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。如圖I所示,現(xiàn)有機器人巡徑過程中采用的控制策略為左手法則或者右手法,該控制策略所控制的機器人行進路線并不是最優(yōu)的路線,圖中所示的最優(yōu)路線應為粗實線所示的路線,因此本發(fā)明將會對原有的控制策略進行優(yōu)化,能夠?qū)崿F(xiàn)管道機器人最優(yōu)巡徑路線的優(yōu)化和選擇。具體優(yōu)化方法包括以下步驟第一,記錄機器人經(jīng)過每個路口時的行進方向并形成由字母組成的第一路徑組數(shù),其中,如果所述機器人在相應路口左轉(zhuǎn)則記錄一個字母“L”,如果所述機器人在相應路口右轉(zhuǎn)則記錄一個字母“R”,如果所述機器人在相應路口直行則記錄一個字母“S”,如果所述機器人調(diào)頭時則記錄一個字母“U”,最后所記錄的字母按照機器人的行走順序形成第一路徑數(shù)組;上面所述的“路口 ”的概念是指排除迷宮管道的入口和出口,機器人在迷宮管道中可以有一個以上行進方向選擇的位置稱為路口,也包括管道死胡同處調(diào)頭的地方。第二,根據(jù)機器人巡徑控制策略簡化第一路徑數(shù)組并形成第二路徑數(shù)組,其中,這里所說的控制策略是指在上述形成第一路徑數(shù)組時所采用的控制方式,可以分為左手法則和右手法則。當控制策略為左手法則時,將第一路徑數(shù)組中的字母組合“SUL”或“LUS”用字母“R”替代、字母組合“LUL”用“S”替代,并形成第二路徑數(shù)組;當控制策略為右手法則時,將第一路徑數(shù)組中的字母組合“ SUR”或“ RUS ”用字母“ L ”替代、字母組合“ RUR”用S替代并形成第二路徑數(shù)組;存儲所述第二路徑數(shù)組,并控制所述機器人按照所述第二路徑數(shù)組對該迷宮管道進行下一次的巡徑。結(jié)合圖2—圖10所示,圖中所示的迷宮管道機器人的控制策略為左手法則,機器人第一次穿越該迷宮時,即采用“左手法則”策略來控制其行進路線,在管道巡徑的過程中,沿途將碰到有一些路口,機器人內(nèi)部的控制器每通過一個路口的方向進行記錄。 如果2所示,機器人沿圖示中迷宮管道的入口進入,然后遇到了第一個路口一直行或右轉(zhuǎn)路口。根據(jù)“左手法則”,機器人將直行。此時機器人將記錄字符“S”并按照先后順尋存儲在第一路徑數(shù)組中。如圖3所示,機器人繼續(xù)前進就會遇到第二個路口一死胡同或者非目的出口,這個時候,機器人必須調(diào)頭,即機器人從左到右旋轉(zhuǎn)并調(diào)頭,即按照逆時針方向進行調(diào)頭,同時及記錄字符“U”并將其按照先后順序送入第一路徑數(shù)組,此時第一路徑數(shù)組為“SU”。如圖3所示,我們可以看出機器人每記錄一個死胡同類型的路口,就意味著機器人走了錯誤路線,這就給我們下一步的優(yōu)化提供了參考。如圖4所示,機器人調(diào)頭后,又回到了剛才經(jīng)過的路口,此時根據(jù)左手法則,機器人將左轉(zhuǎn),同時及記錄字符“L”并將其按照先后順序送入第一路徑數(shù)組,此時第一路徑數(shù)組為 “SUL,,。如圖5所示,機器人繼續(xù)沿著管道直行,就遇到了十字路。根據(jù)左手法則將進行左轉(zhuǎn),同時及記錄字符“L”并將其按照先后順序送入第一路徑數(shù)組,此時第一路徑數(shù)組為“SUL”。如圖6所示,接下來機器人又遇到剛才所述的死胡同類型的路口,機器人仍舊做掉頭動作。同時記錄字符“U”并將其按照先后順序送入第一路徑數(shù)組,此時第一路徑數(shù)組為 “ SULLU”。如圖7所示,機器人掉頭回來再次遇到所述十字路,根據(jù)左手法則,機器人將做左轉(zhuǎn)。同時,機器人將在在第一路徑數(shù)組中記錄一個左轉(zhuǎn)字符“L”。這樣路徑數(shù)組中的字符就變成了 “SULLUL”。如圖8所示,機器人左轉(zhuǎn)后,第三次遇到了所述的死胡同類型的路口,機器人仍舊做掉頭動作。同時記錄字符“U”并將其按照先后順序送入第一路徑數(shù)組,此時第一路徑數(shù)組為 “ SULLULU”, 如圖9所示,機器人掉頭后再次遇到十字路口,根據(jù)左手法則將左轉(zhuǎn)。同樣機器人在第一路徑數(shù)組中記錄一個字符“L”。此時第一路徑數(shù)組中的字符就變?yōu)椤癝ULLULUL”。
如圖10所示,機器人走出“十字路口”后,將遇到左轉(zhuǎn)或直行路口。根據(jù)左手法則,機器人將左轉(zhuǎn)。同時在路徑數(shù)組中記錄一個字符“L”。此時機器人已經(jīng)走到了線迷宮的出口,完成對所述迷宮管道的巡徑。因此通過左手法則控制策略所形成的第一次巡徑路線的第一路徑數(shù)組為“SULLULULL”可以分析得到,當機器人第一次掉頭回到第一個路口(也是機器人行進過程中的第三個路口),根據(jù)左手法則,機器人將會左轉(zhuǎn),如圖4所示。這時候,機器人將在路徑數(shù)組中記錄一個左轉(zhuǎn)的字符“L”。這樣路徑數(shù)組中的字符就變成了 “SUL”。而最優(yōu)路徑應該是不包含死胡同或者錯誤出口的,因此在優(yōu)化過程中應將“SUL”用“R”取代才能避免進入死胡同;同理,如果路徑數(shù)組中出現(xiàn)字母組合“LUS”,說明該路徑中包含了死胡同或者錯誤出口,也需要在優(yōu)化過程中將“LUS”用“R”取代。機器人在第一次遇到十字路口時將左轉(zhuǎn)并記錄字符“L”,然后機器人進入死胡同需要進行第二次調(diào)頭并記錄字符“L”,調(diào)頭回來后又遇到十字路口并左轉(zhuǎn)同時記錄字符“L”,因此機器人在第一次遇到十字路口時不應該左轉(zhuǎn),而是應該直行,這樣才可以避免死胡同。所以在第一路徑數(shù)組中的字母組合“LUL”就應該被直行字符“S,,所取代,這就代表 機器人再次穿越這個迷宮時,遇到第一個十字路口將直行。因此,當所述控制策略為左手法則時對第一路徑數(shù)組的具體簡化控制方法為在第一路徑數(shù)組中,從第一個字母開始依次查找字母組合“SUL”或“LUS”或“LUL”,當查找到第一個字母組合“SUL”、“LUS”或“LUL”時,停止繼續(xù)查找并將字母組合“SUL”或“LUS”替換為“R”,或?qū)⒆帜附M合“LUL”替換為“S”。重新從第一個字母開始,再次查找字母組合“SUL”或“LUS”或“LUL” ;當再次查找到第一個字母組合“SUL”或“LUS”或“LUL”,停止繼續(xù)查找并將字母組合“SUL”或“LUS”替換為“R”,或?qū)⒆帜附M合“LUL”替換為“S”。重復以上查找方法,直到在上述路徑數(shù)組中查找不到字母組合“SUL”、“LUS”或“LUL”時,結(jié)束查找,并將最后形成的路徑數(shù)組作為第二路徑數(shù)組。即以上第一次巡徑過程中記錄的第一路徑數(shù)組為“SULLULULL”,首先從第一個字母開始依次查找字母組合“SUL”、“LUS”或“LUL”,當查找到第一個字母組合“SUL”時,停止繼續(xù)查找并將字母組合“SUL”替換為“R”,第一路徑數(shù)組變?yōu)椤癛LULULL” ;重新從第一個字母開始,再次查找字母組合“SUL”、“LUS”或“LUL”;當再次查找到第一個字母組合“LUL”時,停止繼續(xù)查找并將字母組合“LUL”替換為“S”,此時第一路徑數(shù)組變?yōu)椤癛SULL” ;繼續(xù)重復以上查找,又一次查找到字母組合“SUL”,此時停止查找,并將“SUL”替換為“R”,直到在所述第一路徑數(shù)組中查不到字母組合“SUL”、“LUS”或“LUL”時終止查找并最終簡化為第二路徑數(shù)組“ RRL ”。如圖11所示,當機器人再次穿越這個迷宮管道時,機器人就不再遵循左手法則,而且按照控制器計算的第二路徑數(shù)組中的字符的提示來完成對機器人的控制。這個路徑,也就是圖11中所示的實線路徑是整個迷宮中最短的路徑,也就是最佳路徑。結(jié)合圖12—圖18所示,本發(fā)明提供另一種實施例中迷宮管道機器人自主巡徑算法,圖12—圖18中所示的迷宮管道機器人的控制策略為右手法則,機器人第一次穿越該迷宮時,即采用“右手法則”策略來控制其行進路線,在管道巡徑的過程中,沿途將碰到有一些路口,機器人內(nèi)部的控制器將每通過一個路口的方向進行記錄。
根據(jù)上述的左手法則的控制實施例,本實施例中機器人從迷宮管道入口到出口的控制路徑,即第一路徑數(shù)組為“RRURURRUS”。經(jīng)過分析,本實施例中,機器人在第一次遇到十字路口時不應該右轉(zhuǎn),而是應該直行,這樣才可以避免死胡同。所以在第一路徑數(shù)組中的字母組合“RUR”就應該被直行字符“S”所取代;機器人在第一次遇到右轉(zhuǎn)、調(diào)頭、直行或者直行、調(diào)頭、右轉(zhuǎn)的路段時,說明機器人遇到了調(diào)頭,走了錯誤的路線,因此即遇到“RUS”或者“SUR”路段時,應當在遇到該路段所處的路口時就左轉(zhuǎn),即“RUS”或者“SUR”應當優(yōu)化為“L”,用字符“L”取代字母組合“RUS”或“SUR”。本實施例中所述的調(diào)頭是指機器人按照順時針方向調(diào)頭。因此,當所述控制策略為右手法則時對第一路徑數(shù)組的具體簡化控制方法為在第一路徑數(shù)組中,從第一個字母開始依次查找字母組合“SUR”、“RUS”或“RUR”,當查找到第一個字母組合“SUR”、“RUS”或“RUR”時,停止繼續(xù)查找并將字母組合“SUR”或“RUS”替換為“L”,或?qū)⒆帜附M合“RUR”替換為“S” ;
重新從第一個字母開始,再次查找字母組合“SUR”、“RUS”或“RUR”;當再次查找到第一個字母組合“SUR”、“RUS”或“RUR”時,停止繼續(xù)查找并將字母組合“SUR”或“RUS”替換為“L”,或?qū)⒆帜附M合“RUR”替換為“S” ;重復上述查找方法,直到在上述路徑數(shù)組中查找不到字母組合“SUR”、“RUS”或“RUR”時,結(jié)束查找,并將最后形成的路徑數(shù)組作為第二路徑數(shù)組。上述實施例中,通過以上優(yōu)化方法,所述的第一路徑數(shù)組“RRURURRUS”組中優(yōu)化為“RLL”,如圖18所示,該路徑即為本實施中的機器人的最佳巡視路線。如圖18所示,當機器人再次穿越這個迷宮管道時,機器人就不再遵循右手法則,而且按照控制計算的第二路徑數(shù)組中的字符的提示來完成對機器人的控制。這個路徑,也就是圖18中所示的實線路徑是整個迷宮中最短的路徑,也就是最佳路徑。盡管通過以上方式可以現(xiàn)實對管道機器人巡徑路線的優(yōu)化,但遇到所述管道包括多條首尾依次相互連通的分支管道,該分支管道圍成一個多邊形結(jié)構(gòu),且管道的出口設(shè)置在多邊形結(jié)構(gòu)圍成的空間內(nèi)時,不論對左手法則還是右手法則形成的線路進行優(yōu)化,所述管道機器人結(jié)果都是回到原來的入口處,并不能找到管道的出口,因此即使通過以上控制方法對所述巡徑路線進行優(yōu)化,也不能幫助機器人走出管道的出口,因此作為本發(fā)明的另一種實施例,本發(fā)明提供一種管道機器人自主巡徑算法,可實現(xiàn)管道機器人順利找到該管道的出口,完成對該種管道的巡徑。以下所述的管道是指包括多條首尾依次相互連通的分支管道,該分支管道圍成一個多邊形結(jié)構(gòu),且管道的出口設(shè)置在多邊形結(jié)構(gòu)圍成的空間內(nèi)。本發(fā)明提供的管道機器人的自主巡徑算法包括以下步驟,首先根據(jù)以上方法對所述管道機器人的第一次的巡徑路線進行優(yōu)化,即步驟一,記錄機器人經(jīng)過每個路口時的行進方向并形成由字母組成的第一路徑數(shù)組,其中,如果所述機器人在相應路口左轉(zhuǎn)則記錄一個字母“L”,如果所述機器人在相應路口右轉(zhuǎn)則記錄一個字母“R”,如果所述機器人在相應路口直行則記錄一個字母“S”,如果所述機器人調(diào)頭時則記錄一個字母“U”,最后所記錄的字母按照機器人的行走順序形成所述
第一路徑數(shù)組。步驟二,根據(jù)機器人巡徑控制策略簡化第一路徑數(shù)組并形成第二路徑數(shù)組,其中,當控制策略為左手法則時,將第一路徑數(shù)組中的字母組合“SUL”或“LUS”用字母“R”替代、字母組合“LUL”用“S”替代,并形成所述第二路徑數(shù)組;當控制策略為右手法則時,將第一路徑數(shù)組中的字母組合“SUR”或“RUS”用字母“L”替代、字母組合“RUR”用S替代并形成所述第二路徑數(shù)組;同時,存儲所述第二路徑數(shù)組。然后所述巡徑算法又包括以下步驟步驟三,控制所述機器人按照第二路徑數(shù)組對所述管道重新進行巡徑。若控制策略為左手法則,則按照第二路徑數(shù)組的指示行進到標示為L的路口時直行或右轉(zhuǎn),或者行進到標示為S的路口時右轉(zhuǎn),其后按照左手法則或右手法則控制機器人繼續(xù)行進直到走出所述出口并對所述整個行進線路進行記錄形成第三路徑數(shù)組;若控制策略為右手法則,則按照第二路徑數(shù)組的指示行進到標示為R的路口時直行或左轉(zhuǎn),或者行進到標示為S的路口時左轉(zhuǎn),其后按照左手法則或右手法則控制機器人繼續(xù)行進直到走出所述出口并對所述整個行進線路進行記錄形成第三路徑數(shù)組; 步驟四,存儲第三路徑數(shù)組,同時控制所述機器人按照所述第三路徑數(shù)組對該管道進行下一次的巡徑。作為本發(fā)明的一種優(yōu)選實施例,所述步驟三中,控制策略為左手法則時,31,控制所述機器人第N次按照第二路徑數(shù)組對所述管道重新進行巡徑,在巡徑過程中,當遇到第N個標示為“L”或“S”的路口時,將所述標示“L”修改為“S”或“R”,或?qū)耸尽癝”修改為“R”,控制機器人在該路口按照修改后的標示行進,同時在其后的控制過程中控制機器人按照左手法則或右手法則繼續(xù)行進,同時記錄整個行進過程中每個路口的行進方向;,32,若到達所述出口則完成本次巡徑并記錄該次巡徑中經(jīng)過每個路口的行進方向形成所述第三組路徑數(shù)組;若否,N累加1,并返回31 ;其中所述N為整數(shù),N的初始值為1,N的最大值為第二路徑數(shù)組中字母“L”與“S”的個數(shù)和??刂撇呗詾橛沂址▌t時,31’,控制所述機器人第M次按照第二路徑數(shù)組對所述管道重新進行巡徑,在巡徑過程中,當遇到第M個標示為“R”或“S”的路口時,將所述標示L修改為“S”或“L”,或?qū)耸尽癝”修改為“L”,控制機器人在該路口按照修改后的標示行進,同時在其后的控制過程中控制機器人按照左手法則或右手法則繼續(xù)行進,同時記錄整個行進過程中每個路口的行進方向;32’,若到達所述出口則完成本次巡徑并記錄該次巡徑中經(jīng)過每個路口的行進方向形成所述第三組路徑數(shù)組;若否,M累加1,并返回31’,;其中所述M為整數(shù),M的初始值為1,M的最大值為第二路徑數(shù)組中字母“R”與“S”的個數(shù)和。下面結(jié)合附圖,對本發(fā)明中的管道機器人巡徑算法作進一步的詳述。如圖19所示,圖示給出了一種管道,所述管道包括多條首尾依次相互連通的分支管道,該分支管道圍成一個多邊形結(jié)構(gòu),且管道的出口設(shè)置在多邊形結(jié)構(gòu)圍成的空間內(nèi),所述管道機器人從入口進入,根據(jù)左手法則或者右手法則的控制策略對所述管道進行巡徑,圖中所示的虛線路徑即為機器人按照左手法則進行巡線的路徑,所示的雙點劃線即為機器人按照右手法則進行巡線的路徑,可以得到這兩種巡線路徑最終都會使得機器人重返所述管道的入口,無法尋找到管道的出口,因此無法完成對所述管道的巡徑。按照上述的控制算法,如圖20,根據(jù)左手法則的控制策略,機器人的巡警路線為“SLULULSLULULSLULULL”。該巡徑路線即為第一路徑數(shù)組,根據(jù)以上所述的優(yōu)化方法對該路徑數(shù)組進行優(yōu)化,優(yōu)化后形成的第二路徑數(shù)組為“SRSRSRL”,因此機器人即使根據(jù)優(yōu)化后的路徑數(shù)組再次對該管道進行巡徑仍然不能解決問題,還是會重返管道的入口處,因此這就需要對所述管道的每個路口進行分析,因為采用了左手法則控制策略,那么在第二路徑數(shù)組中標示為“R”的路口已經(jīng)沒有必要考慮,標示為“ S”的路口還有右向沒有走過,而標示為“L”的路口則需要遍歷剩余兩個方向。當然如果該路口沒有剩余方向,直接跳過。因此,控制所述機器人第一次按照第二路徑數(shù)組對所述管道重新進行巡徑,在巡徑過程中,當遇到第一個標示為“L”或“S”的路口時,將所述標示“L”修改為“S”或“R”,或?qū)耸尽癝”修改為“R”,控制機器人在該路口按照修改后的標示行進,同時在其后的控制過程中控制機器人按照左手法則或右手法則繼續(xù)行進,同時記錄整個行進過程中每個路口的 行進方向;如圖21所示,因為第二路徑數(shù)組為“SRSRSRL”,因此第一個標示為“L”或“S”的路口即為第一個字母“S”,將該標示修改為“R”,即管道機器人在該路口應右轉(zhuǎn),同時在其后的控制過程中控制機器人按照左手法則或右手法則繼續(xù)行進,需要說明的是,在修改標示路口之后的巡徑管道中行進可以采用左手或右手法則,這與最初的控制策略為左手或右手法則沒有關(guān)系。圖中所示的虛線巡線線路即為按照左手法則控制策略控制機器人行進的線路,該線路可以順利抵達出口并記錄在該線路中經(jīng)過每個路口的行進方向形成第三路徑數(shù)組為“RLL”;圖中所示的雙點劃線巡線線路即為按照右手法則控制策略控制機器人行進的線路,可以看出該巡徑路線又會使得機器人重返所述管道的入口,無法走到該管道的出口。假如以上所述的控制算法都沒有順利控制機器人找到管道的出口,那么將控制所述管道機器人第二次按照原始的第二路徑數(shù)組(即并非在第一次按第二路徑數(shù)組巡徑中經(jīng)過修改的第二路徑數(shù)組)重新對所述管道進行巡徑,在巡徑過程中,當遇到第二個標示為“L”或“S”的路口時,將所述標示“L”修改為“S”或“R”,或?qū)耸尽癝,,修改為“R”,控制機器人在該路口按照修改后的標示行進,同時在其后的控制過程中控制機器人按照左手法則或右手法則繼續(xù)行進,同時記錄整個行進過程中每個路口的行進方向。結(jié)合圖22所示,此時第二路徑數(shù)組為“SRSRSRL”第二個標示為“L”或“S”的路口即為第二個字母“S”,將該標示修改為“R”,即管道機器人在該路口應右轉(zhuǎn),同時在其后的控制過程中控制機器人按照左手法則或右手法則繼續(xù)行進,圖中所示的虛線巡線線路即為按照左手法則控制策略控制機器人行進的線路;圖中所示的雙點劃線巡線線路即為按照右手法則控制策略控制機器人行進的線路,可以看出以上兩種控制策略下的巡徑線路都會使得機器人重返管道的入口處,無法控制所述管道機器人走到所述管道的出口,因此控制所述管道機器人再一次重新對所述管道進行巡徑。即控制所述機器人第三次按照第二路徑數(shù)組對所述管道重新進行巡徑,在巡徑過程中,當遇到第三個標示為“L”或“S”的路口時,將所述標示“L”修改為“S”或“R”,或?qū)耸尽癝,,修改為“R”,控制機器人在該路口按照修改后的標示行進,同時在其后的控制過程中控制機器人按照左手法則或右手法則繼續(xù)行進,同時記錄整個行進過程中每個路口的行進方向。
如圖23所示,第二路徑數(shù)組為“SRSRSRL”,因此第三個標示為“L”或“S”的路口即為第三個字母“S”,將該標示修改為“R”,即管道機器人在該路口應右轉(zhuǎn),同時在其后的控制過程中控制機器人按照左手法則或右手法則繼續(xù)行進,圖中所示的虛線巡線線路即為按照左手法則控制策略控制機器人行進的線路,該線路可以順利抵達出口并記錄在該線路中經(jīng)過每個路口的行進方向形成第三路徑數(shù)組為“SRSRR” ;圖中所示的雙點劃線巡線線路即為按照右手法則控制策略控制機器人行進的線路,可以看出該線路可以順利抵達出口并記錄在該線路中經(jīng)過每個路口的行進方向形成第三路徑數(shù)組為“SRSRR”。若以上控制過程中還是無法控制所述管道機器人走到管道的出口,則控制所述機器人第N次按照第二路徑數(shù)組對所述管道重新進行巡徑,在巡徑過程中,當遇到第N個標示為“ L”或“ S ”的路口時,將所述標示“ L”修改為“ S ”或“ R”,或?qū)耸尽?S ”修改為“ R”,控制機器人在該路口按照修改后的標示行進,同時在其后的控制過程中控制機器人按照左手法則或右手法則繼續(xù)行進,同時記錄整個行進過程中每個路口的行進方向,直到控制所述機器人走到管道的出口,并記錄該次巡徑中經(jīng)過每個路口的行進方向形成所述第三組路徑數(shù)組。 以上實施例中,所述N為整數(shù),N的初始值為1,N的最大值為第二路徑數(shù)組中字母“L”與“S”的個數(shù)和。結(jié)合圖24所示,給出了按照右手法則控制策略,控制機器人進行自主巡徑算法的實施例,本實施例中優(yōu)化后的第二路徑數(shù)組為“RLSLSLS”。31’,控制所述機器人第M次按照第二路徑數(shù)組對所述管道重新進行巡徑,在巡徑過程中,當遇到第M個標示為“R”或“S”的路口時,將所述標示R修改為“S”或“L”,或?qū)耸尽癝”修改為“L”,控制機器人在該路口按照修改后的標示行進,同時在其后的控制過程中控制機器人按照左手法則或右手法則繼續(xù)行進,同時記錄整個行進過程中每個路口的行進方向;32’,若到達所述出口則完成本次巡徑并記錄該次巡徑中經(jīng)過每個路口的行進方向形成所述第三組路徑數(shù)組;若否,M累加1,并返回31’ ;其中所述M為整數(shù),M的初始值為1,M的最大值為第二路徑數(shù)組中字母“R”與“S”的個數(shù)和。因此,控制機器人第一次按照第二路徑數(shù)組巡徑時,將第一個標示為“R”的路口修改為“S”,即管道機器人在該路口應直行,同時在其后的控制過程中控制機器人按照左手法則或右手法則繼續(xù)行進,結(jié)合圖25所示,在右手法則的控制下機器人能夠順利走到管道的出口,此時所形成的第三路徑數(shù)組為“SRRRUSURRRR”。以上所述實施例中,判斷所述機器人的控制策略是左手法則還是右手法則,可根據(jù)控制器記錄的第一路徑數(shù)組進行判斷,分析第一路徑數(shù)組中的字母組成,當?shù)谝宦窂綌?shù)組中包含字母“L”時,所述機器人的巡徑控制策略為左手法則。同理,當?shù)谝宦窂綌?shù)組中包含字母“R”時,所述機器人的巡徑控制策略為右手法則。以上所述實施例中,對于所述管道,所述機器人進入管道的入口時開始記錄第一路徑數(shù)組,返回所述迷宮管道的出口時結(jié)束記錄第一路徑數(shù)組。本發(fā)明還提供一種機器人,所述機器人內(nèi)部具有控制器,所述控制器具有以上所述的迷宮管道機器人自主巡徑算法;所述機器人在第一次對管道進行巡徑時按照現(xiàn)有的控制策略進行巡徑,通過上述的自主巡徑算法對所記錄的第一路徑數(shù)組進行優(yōu)化并形成第二路徑數(shù)組,并對 所述第二路徑數(shù)組進行進一步修改形成所述第三路徑數(shù)組,所述控制器按照第三路徑數(shù)組控制所述機器人對所述管道進行以后的巡徑操作,有效提高了迷宮管道機器人巡徑的效率。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種管道巡檢機器人自主巡徑算法,所述管道包括多條首尾依次相互連通的分支管道,多條所述分支管道圍成ー個多邊形結(jié)構(gòu),且管道的出口設(shè)置在多邊形結(jié)構(gòu)圍成的空間內(nèi),其特征在于,所述管道巡檢機器人自主巡徑算法包括以下步驟 步驟一,記錄所述機器人經(jīng)過每個路ロ時的行進方向并形成由字母組成的第一路徑數(shù)組,其中,如果所述機器人在路ロ左轉(zhuǎn)則記錄ー個字母“L”,如果所述機器人在路ロ右轉(zhuǎn)則記錄ー個字母“R”,如果所述機器人在路ロ直行則記錄ー個字母“S”,如果所述機器人調(diào)頭時則記錄ー個字母“ U”,最后所記錄的字母按照機器人的行走順序形成所述第一路徑數(shù)組; 步驟ニ,根據(jù)機器人巡徑控制策略簡化第一路徑數(shù)組并形成第二路徑數(shù)組,其中,當所述控制策略為左手法則時,將第一路徑數(shù)組中的字母組合“SUL”或“LUS”用字母“R”替代、字母組合“LUL”用“ S”替代,形成所述第二路徑數(shù)組;當所述控制策略為右手法則時,將第一路徑數(shù)組中的字母組合“SUR”或“ RUS”用字母“ L”替代、字母組合“RUR”用S替代,形成所述第二路徑數(shù)組;同時,存儲所述第二路徑數(shù)組; 步驟三,控制所述機器人按照第二路徑數(shù)組對所述管道進行巡徑,并對第二路徑數(shù)組中的標示進行修改,按照修改后的標示行進直至走出所述出口,對所述整個行進線路進行記錄形成第三路徑數(shù)組; 步驟四,存儲第三路徑數(shù)組,同時控制所述機器人按照所述第三路徑數(shù)組對所述管道進行下一次的巡徑。
2.根據(jù)權(quán)利要求I所述的管道巡檢機器人自主巡徑算法,其特征在于,所述步驟三中,控制策略為左手法則時,步驟三具體包括以下步驟 31、控制機器人按照原始的第二路徑數(shù)組對所述管道進行巡徑,當遇到所述第二路徑數(shù)組中第N個標為“L”或“ S”的路ロ時,將所述標示“L”修改為“S”或“R”,或?qū)耸尽?S”修改為“R”,并控制機器人在該修改標示的路ロ按照修改后的標示行迸,并在所述修改標示的路ロ后面的管道路徑中控制機器人按照左手法則或右手法則繼續(xù)行迸; 32、若該次巡徑到達所述出口,則記錄該次巡徑中經(jīng)過每個路ロ的行進方向,形成所述第三組路徑數(shù)組;若否,N累加1,并返回步驟31 ; 其中所述N為整數(shù),N的初始值為1,N的最大值為第二路徑數(shù)組中字母“L”與“S”的個數(shù)和。
3.根據(jù)權(quán)利要求I所述的管道巡檢機器人自主巡徑算法,其特征在于,所述步驟三中,控制策略為右手法則時,步驟三具體包括以下步驟 31’、控制所述機器人按照原始的第二路徑數(shù)組對所述管道進行巡徑,當遇到所述第二路徑數(shù)組中第M個標示為“R”或“S”的路ロ時,將所述標示R修改為“S”或“L”,或?qū)耸尽癝”修改為“L”,控制機器人在該修改標識的路ロ按照修改后的標示行進,并在所述修改標示的路ロ后面的管道路徑中控制機器人按照左手法則或右手法則繼續(xù)行迸; 32’、若該次巡徑到達所述出ロ,則記錄該次巡徑中經(jīng)過每個路ロ的行進方向,形成所述第三組路徑數(shù)組;若否,M累加1,并返回步驟31’ ; 其中所述M為整數(shù),M的初始值為1,M的最大值為第二路徑數(shù)組中字母“ R”與“ S”的個數(shù)和。
4.根據(jù)權(quán)利要求I所述的管道巡檢機器人自主巡徑算法,其特征在于,所述步驟ニ中,當所述控制策略為左手法則時對第一路徑數(shù)組的具體簡化控制方法為 步驟S100,在第一路徑數(shù)組中,從第一個字母開始依次查找字母組合“SUL”、“LUS”或“LUL”,當查找到第一個字母組合“SUL”、“LUS”或“LUL”時,停止繼續(xù)查找并將字母組合“SUL”或“LUS”替換為“R”,或?qū)⒆帜附M合“LUL”替換為“S” ; 步驟S110,重新從第一個字母開始,再次查找字母組合“SUL”、“LUS”或“LUL” ;當再次查找到第一個字母組合“SUL”、“LUS”或“LUL”時,停止繼續(xù)查找并將字母組合“SUL”或“LUS”替換為“R”,或?qū)⒆帜附M合“LUL”替換為“S” ; 步驟S120,重復步驟S110,直到所述第一路徑數(shù)組中無字母組合“SUL”、“LUS”或“LUL”吋,結(jié)束查找,并將第一路徑數(shù)組簡化后最終形成的路徑數(shù)組作為第二路徑數(shù)組。
5.根據(jù)權(quán)利要求I所述管道巡檢機器人自主巡徑算法,其特征在于,所述步驟ニ中,當所述控制策略為右手法則時對第一路徑數(shù)組的具體簡化控制方法為 步驟S200,在第一路徑數(shù)組中,從第一個字母開始依次查找字母組合“SUR”、“RUS”或“RUR”,當查找到第一個字母組合“SUR”、“RUS”或“RUR”時,停止繼續(xù)查找并將字母組合“SUR”或“RUS”替換為“L”,或?qū)⒆帜附M合“RUR”替換為“S,,; 步驟S210,重新從第一個字母開始,再次查找字母組合“SUR”、“RUS”或“ RUR” ;當再次查找到第一個字母組合“SUR”、“RUS”或“RUR”時,停止繼續(xù)查找并將字母組合“SUR”或“RUS”替換為“L”,或?qū)⒆帜附M合“RUR”替換為“S” ; 步驟S220,重復步驟S210,直到所述第一路徑數(shù)組中無字母組合“SUR”、“RUS”或“RUR”吋,結(jié)束查找,并將第一路徑數(shù)組簡化后最終形成的路徑數(shù)組作為第二路徑數(shù)組。
6.根據(jù)權(quán)利要求I所述的管道巡檢機器人自主巡徑算法,其特征在于,在所述步驟ニ中,分析第一路徑數(shù)組中的字母組成,當?shù)谝宦窂綌?shù)組中包含字母“ L”時,所述機器人的巡徑控制策略為左手法則。
7.根據(jù)權(quán)利要求I所述的管道巡檢機器人自主巡徑算法,其特征在于,在所述步驟ニ中,分析第一路徑數(shù)組中的字母組成,當?shù)谝宦窂綌?shù)組中包含字母“R”時,所述機器人的巡徑控制策略為右手法則。
8.根據(jù)權(quán)利要求1-7所述的任意一項管道巡檢機器人自主巡徑算法,其特征在于,所述機器人進入管道的入口后即開始記錄第一路徑數(shù)組,返回所述迷宮管道的入口時結(jié)束記錄第一路徑數(shù)組。
9.一種機器人,所述機器人內(nèi)部具有控制器,其特征在于,所述控制器具有上述任意一項權(quán)利要求所述的管道巡檢機器人自主巡徑算法。
10.根據(jù)權(quán)利要求9所述的機器人,其特征在于,所述控制器按照第三路徑數(shù)組控制所述機器人對所述管道進行巡徑。
全文摘要
本發(fā)明提供一種管道巡檢機器人自主巡徑算法,所述管道包括多條首尾依次相互連通的分支管道,該分支管道圍成一個多邊形結(jié)構(gòu),且管道的出口設(shè)置在多邊形結(jié)構(gòu)圍成的空間內(nèi),所述算法包括步驟一,記錄機器人經(jīng)過每個路口時的行進方向形成第一路徑數(shù)組;步驟二,優(yōu)化第一路徑數(shù)組并形成第二路徑數(shù)組;步驟三,控制所述機器人按照第二路徑數(shù)組對所述管道進行巡徑,并對第二路徑數(shù)組中的標示進行修改,按照修改后的標示行進直至走出所述出口,對所述整個行進線路進行記錄形成第三路徑數(shù)組;步驟四,存儲第三路徑數(shù)組,同時控制機器人按照第三路徑數(shù)組對該管道進行下一次的巡徑。
文檔編號G05D1/02GK102799178SQ201210226590
公開日2012年11月28日 申請日期2012年7月3日 優(yōu)先權(quán)日2012年7月3日
發(fā)明者肖遠超, 徐素平 申請人:航天科工深圳(集團)有限公司