本發明一實施例提供一種用於多個機器人之移動控制方法,步驟包括:取得對應於一第一機器人之一第一運作狀態以及一第一預測移動路徑;取得對應於一第二機器人之一第二運作狀態以及一第二預測移動路徑;判斷第一預測移動路徑以及第二移動路徑是否有重疊或鄰接的區段;響應於第一預測移動路徑以及第二移動路徑具有重疊或鄰接的區段時,判斷對應於重疊或鄰接的區段之第一機器人之第一預測時間以及第二機器人之第二預測時間之差異是否小於一既定時間;以及響應於第一預測時間以及第二預測時間之差異小於既定時間時,根據第一運作狀態以及第二運作狀態改變第一機器人之一第一移動狀態或者第二機器人之一第二移動狀態。
本發明另一實施例提供一種用於多個機器人之移動控制系統,包括一控制端以及複數機器人。控制端包括一第一儲存單元以及一第一處理單元。第一儲存單元儲存一任務地圖。第一處理單元用以將任務地圖分割為複數任務區域、將任務區域分給複數機器人以及根據每個機器人之一運作狀態以及一預測移動路徑判斷兩個機器人之間是否有重疊或鄰接的區段。其中,響應於兩個機器人具有重疊或鄰接的區段時,第一處理單元更判斷對應於重疊或鄰接的區段之兩個機器人之預測時間之差異是否小於一既定時間。以及,響應於兩個機器人之預測時間之差異小於既定時間時,根據兩個機器人之運作狀態輸出一控制訊號以改變兩個機器人之一者之一移動狀態。其中,每個機器人包括一第二儲存單元以及一第二處理單元。第二儲存單元用以儲存自控制端所接收到的任務區域。第二處理單元用以根據任務區域決定運作狀態以及產生預測移動路徑,以及根據控制訊號改變移動狀態。
根據本發明一實施例,其中響應於第一運作狀態為跨區移動以及第二運作狀態亦為跨區移動時,第一預測時間以及第二預測時間中較晚之一者所對應之第一機器人或者第二機器人於到達重疊或鄰接的區段時,暫時停止於重疊或鄰接的區段之一起點前,其中跨區移動為自一任務區域移動至另一任務區域。
根據本發明另一實施例,其中響應於第一預測時間以及第二預測時間中較晚之一者所對應之第一機器人之第一預測移動路徑或者第二機器人之第二預測移動路徑被阻擋時,改變第一預測移動路徑或者第二預測移動路徑。
根據本發明另一實施例,其中響應於第一運作狀態為執行清掃任務以及第二運作狀態亦為執行清掃任務時,第一預測時間以及第二預測時間中較晚之一者所對應之第一機器人或者第二機器人於到達重疊或鄰接的區段時,暫時停止於重疊或鄰接的區段之一起點前。
根據本發明另一實施例,其中響應於第一運作狀態為跨區移動以及第二運作狀態為執行清掃任務時,第一機器人改變第一預測移動路徑、改變第一機器人之下一個任務區域或者於到達重疊或鄰接的區段時暫時停止於重疊或鄰接的區段之一起點前。
110‧‧‧控制端
120a~120n‧‧‧機器人
311、321、331、411、421、511、521、611、621‧‧‧移動起點
312、322、332、412、422、512、612、622‧‧‧移動終點
350‧‧‧障礙物
510~540‧‧‧任務區域
512‧‧‧對應於另一個任務區域之移動終點
651、652‧‧‧鄰接的區段
S701~S707‧‧‧步驟流程
第1圖係顯示根據本發明一實施例所述之用於多個機器人之移動控制系統之系統架構圖。
第2圖係顯示根據本發明另一實施例所述之用於多個機器人之移動控制系統之系統架構圖。
第3A~3C圖係顯示根據本發明一些實施例所述之機器人之之預測移動路徑之示意圖。
第4A~4D圖係顯示根據本發明一實施例所述之機器人閃避策略之示意圖。
第5A~5D圖係顯示根據本發明另一實施例所述之機器人閃避策略之示意圖。
第6圖係顯示根據本發明另一實施例所述之機器人閃避策略之示意圖。
第7圖係顯示根據本發明一實施例所述之用於多個機器人之移動控制方法之示意圖。
有關本發明之用於多個機器人之移動控制方法以及其系統適用之其他範圍將於接下來所提供之詳述中清楚易見。必須了解的是下列之詳述以及具體之實施例,當提出有關用於多個機器人之移動控制方法以及其系統之示範實施例時,僅作為描述之目的以及並非用以限制本發明之範圍。
第1圖係顯示根據本發明一實施例所述之機器人任務區域分配系統之系統架構圖。任務分配系統可包括一控制端110以及複數機器人120a~120n。控制端110可實施於例如桌上型電腦、筆記型電腦、平板電腦或者智慧型手機等的電子裝置中,且至少包含一第一處理單元、一第一儲存單元以及一第一通訊介面。第一處理單元可透過多種方式實施,例如以專用硬體電路或者通用硬體(例如,單一處理器、具平行處理能力之多處理器、圖形處理器或者其它具有運算能力之處理器),且於執行程式碼或者軟體時,提供之後所描述的功能。第一儲存單元用以儲存至少一任務地圖以及與任務相關的資訊等,以供第一處理單元於執行相關運算時進行存取。其中,第一儲存單元可為硬碟、快閃記憶體、ROM等非揮發性儲存裝置。此外,第一通訊介面可為一無線通訊介面(未顯示),無線通訊介面可為區域網路(local area network,LAN)通訊模組、無線區域網路通訊模組(WLAN)或藍芽(Bluetooth)通訊模組等,用以與機器人120a~120n交換各種訊號以及數據。於一具體實施例中,機器人120a~120n為掃地機器人或者其它可根據指令執行清掃任務的清潔裝置等。
每個機器人120a~120n至少包含一第二處理單元、一第二儲存單元以及一第二通訊介面。同樣地,第二處理單元可透過多種方式實施,例如以專用硬體電路或者通用硬體,且於執行程式碼或者軟體時,提供之後所描述的功能。第二儲存單元可為硬碟、快閃記憶體、ROM等非揮發性儲存裝置,用以儲存任務地圖和/或透過第二通訊介面自控制端110所接收到的與清掃任務相關的指令以及資訊等。第二處理單元用以根據接收到的任務地圖驅動馬達以致使機器人執行清掃任務,或者執行與清掃任務相關之計算(例如決定預測移動路徑以及計算對應於預測移動路徑之每個位置的預測時間)。
根據本發明一實施例,於啟動每個機器人120a~120n後,每個機器人120a~120n首先將自身位於任務地圖中的位置發送至控制端110。其中,每個機器人120a~120n於任務地圖中的位置可透過以下之方式取得,例如透過使用者自行將每個機器人120a~120n之位置(例如座標或相對位置)輸入至控制端110中、直接根據任務區域之位置將每個機器人120a~120n置放於下一任務區域之起點、或者藉由機器人120a~120n所內建的至少一傳感器透過同步定位與地圖構建(Simultaneous localization and mapping,SLAM))方式於任務地圖中進行定位等,但本發明並不以此為限。而在取得每個機器人120a~120n之位置後,控制端110透過第一通訊介面將任務區域發送給每個機器人120a~120n,使得每個機器人120a~120n可根據任務區域決定對應之預測移動路徑並產生對應於預測移動路徑之每個位置之預測時間等。每個機器人120a~120n於完成計算預測移動路徑以及預測時間後,會將預測移動路徑以及預測時間透過第二通訊介面回傳至控制端110,以供控制端110判斷機器人120a~120n之間之預測移動路徑是否有重疊或鄰接之區段,以及響應於控制端110判斷兩個機器人之間有重疊或鄰接的區段時,控制端110將會發送控制訊號以改變機器人120a~120n之移動狀態。
第2圖係顯示根據本發明另一實施例所述之用於多個機器人之移動控制系統之系統架構圖。其中,每個機器人120a~120n至少包含一第二處理單元、一第二儲存單元以及一第二通訊介面。同樣地,第二處理單元、第二儲存單元以及第二通訊介面之配置如前所述,在此即不加以描述以精簡說明。此外,機器人120a~120n之一者會被設定為領導者,而領導者機器人會將任務地圖切割為多個任務區域,並將任務區域分派給其它機器人,使得每個機器人120a~120n可根據任務地圖計算對應之預測移動路徑以及對應於預測移動路徑之每個位置之預測時間等。每個機器人120a~120n於完成計算預測移動路徑以及預測時間後,會將預測移動路徑以及預測時間透過第二通訊介面與發送給其它機器人,使得每個機器人120a~120n在預測移動路徑與其它機器人的預測移動路徑重疊或鄰接時,可根據對應於其它機器人的運作狀態、預測移動路徑以及預測時間決定後續之動作。
第3A~3C圖係顯示根據本發明一些實施例所述之機器人之移動路徑之示意圖。於本發明一些實施例中,響應於機器人之運作狀態為執行清掃任務時,係可以沿牆(Wall Following)行為模式或者牛耕(Boustrophedon)模式於任務區域中移動。舉例來說,第3A圖係顯示沿牆行為模式之示意圖。如圖所示,機器人的移動起點為方格311以及移動終點為方格321,而機器人如圖中箭頭所示沿著任務區域之邊緣行走。其中,響應於機器人遇到障礙物時,亦會沿著障礙物的邊緣行走。
第3B圖係顯示牛耕模式之示意圖。如圖所示,機器人的移動起點為方格321以及移動終點為方格322,而機器人將如圖中箭頭所示來回移動以清掃整個任務區域。
第3C圖係顯示跨區移動之移動路徑之示意圖。當機器人跨區移動時,將以最少的轉彎次數到達下一個任務區域。舉例來說,響應於機器人自方格331移動至方格332時,圖中箭頭所示之移動路徑為可避開障礙物350、轉彎次數最少且移動距離最短之路徑。
第4A~4D圖係顯示根據本發明一實施例所述之機器人閃避策略之示意圖。於此一實施例中,兩個機器人之運作狀態皆為跨區移動。其中,跨區移動係指機器人已完成當前任務區域之清掃任務,並從當前任務區域移動至下一個任務區域之動作。如第4A圖所示,方格411為第一機器人之移動起點,以及方格412為第一機器人之移動終點,而圖中所示之箭頭則為第一機器人之預測移動路徑。請參閱第4B圖,於第4B圖中,方格421為第二機器人之移動起點,以及方格422為第二機器人之移動終點,而圖中所示之箭頭則為第二機器人之預測移動路徑。配合參閱第4A、4B圖之內容,第4C圖中區域450為第一機器人以及第二機器人兩者之預測移動路徑重疊之區段,控制端110或者領導者機器人將進一步地根據第一機器人以及第二機器人進入區域450之預測時間(即第一機器人以及第二機器人走至第4C圖所示之方格451之預測時間)判斷第一機器人是否會與第二機器人碰撞。
根據本發明一實施例,響應於第一機器人比第二機器人還晚到達方格451,且兩者到達方格451之時間差異小於既定時間時(於一具體實施例,當機器人之速度為20公分/秒,上述既定時間例如為5秒或5秒至10秒之一區間),第一機器人將暫時停止於方格451前(例如停在第4C圖所示之方格413之位置),直到第二機器人離開區域450或者進入區域450一既定時間(例如到達方格452之位置)後,第一機器人再進入區域450中,並移動至移動終點412之位置。
根據本發明另一實施例,響應於第二機器人比第一機器人還晚到達方格451,且兩者到達方格451之時間差異小於既定時間時,第二機器人將暫時停止於方格451前(例如停在第4C圖所示之方格423之位置),直到第一機器人離開區域450或者進入區域450既定時間(例如到達方格452之位置)後,第二機器人再進入區域450中。然而,根據第4C圖之內容,由於第一機器人的移動終點412係位於第二機器人的預測移動路徑上,且若第一機器人較第二機器人先移動,第二機器人原先的預測移動路徑將會被第一機器人所阻擋。此時,第二機器人之第二處理單元將重新規劃一新的預測移動路徑(如第4D圖中箭頭所示),以避免與第一機器人發生碰撞。
第5A~5D圖係顯示根據本發明另一實施例所述之機器人閃避策略之示意圖。於此一實施例中,第一機器人之運作狀態為跨區移動,以及第二機器人之運作狀態為執行清掃任務。其中,如第5A圖所示,第一機器人預自任務區域510移動至任務區域530,以及第二機器人係於任務區域520中執行清掃任務。於本發明之實施例中,為了避免降低機器人執行清掃任務之效率,響應於執行清掃任務之機器人之預測移動路徑與跨區移動之機器人之預測移動路徑具有重疊之區段時,執行清掃任務之機器人相較於跨區移動之機器人具有較高的優先權。換言之,跨區移動的機器人必須讓執行清掃任務的機器人優先完成清掃任務。因此,於本發明之一實施例中,如第5B圖所示,第一機器人係將其預測移動路徑改變為繞過任務區域520,而不穿越任務區域520(如圖中箭頭所示),以避免影響第二機器人執行清掃任務。
根據本發明另一實施例,第一機器人亦可根據第二機器人的預測移動路徑以及預測時間避開第二機器人正在清掃的區域,以避免與第二機器人碰撞。舉例來說,如第5C圖所示,響應於第二機器人正在清掃任務區域520右半邊之區域時(例如第二機器人當前係位於方格521之位置),由於任務區域520左半邊仍具有足夠的空間可供第一機器人移動,因此第一機器人可選擇直接穿越任務區域520左半邊之預測移動路徑(如圖中箭頭所示)。
或者,根據本發明另一實施例,響應於第一機器人具有其它未完成的任務區域時(例如如第5D圖中任務區域540所示),由於第一機器人自任務區域510移動至任務區域540之最短移動距離並不會穿越任務區域520,因此第一機器人亦可選擇將下一個任務區域自任務區域530改變至任務區域540(移動至位於任務區域540之方格512’之位置)(如圖中箭頭所示),以避免預測移動路徑與第二機器人之預測移動路徑具有重疊的區段。
值得注意的是,響應於前述三種實施例對第一機器人而言皆為可執行時,第一機器人可分別計算執行三種實施例所需花費的時間,並執行時間最短之一者所對應之方案。
此外,根據本發明另一實施例,響應於第一機器人沒有其它可繞過任務區務520之移動路徑、沒有其它未完成的任務區域或者完全無法避開第二機器人之當前清掃區域時(例如任務區域為狹長的走廊且兩個機器人無法錯開移動之情況),則第一機器人暫時停止於當前位置(如第5D圖中所示之方格511),直到第二機器人完成任務區域520之清掃任務並離開任務區域520為止,第一機器人再穿越任務區域520至任務區域530以執行下一個清掃任務。
第6圖係顯示根據本發明另一實施例所述之機器人閃避策略之示意圖。於此一實施例中,第一機器人以及第二機器人之運作狀態皆為執行清掃任務。如第6圖所示,第一機器人之移動起點為611,並沿著圖中箭頭所示之方向移動至移動終點612,以及第二機器人之移動起點為621,並沿著圖中箭頭所示之方向移動至移動終點622。而根據第6圖之內容,第一機器人之預測移動路徑與第二機器人之預測移動路徑具有鄰接的區段(如圖中區段651以及區段652所示)。其中,由於機器人具有既定的體積,因此當兩個機器人同時進入鄰接的區段時,將可能發生碰撞之情況。為了避免碰撞情況產生,控制端110或者領導者機器人將進一步地判斷第一機器人以及第二機器人進入區域450所分別對應之預測時間之差異是否小於既定時間。其中,第6圖中方格中所示之數字為預測移動路徑上每個位置所對應之預測時間。於此一實施例中,第一機器人與第二機器人同時自各自的起點出發,而第一機器人預測於第2個時間點進入鄰接的區段651,以及第二機器人預測於第3個時間點進入鄰接的區段652。由於第一機器人與第二機器人分別進入鄰接的區段的預測時間僅相差1秒(小於預設的既定時間),且兩者的行進方向為相對的,因此較晚進入鄰接的區段的機器人將暫時停止於鄰接的區段前,以避免兩個機器人發生碰撞的情況。舉例來說,於此一實施例中,由於第二機器人較晚進入鄰接的區段652,因此第二機器人將暫時停止於方格623前一格之位置(即方格624),直到第一機器人離開鄰接的區段651為止。
第7圖係顯示根據本發明一實施例所述之用於多個機器人之移動控制方法之示意圖。首先,於步驟S701,控制端111或者領導者機器人將任務地圖切割為複數任務區域,並將任務區域分配給複數機器人。於步驟S702,每個機器人根據任務區域決定對應於每個機器人的運作狀態並計算預測移動路徑。於步驟S703,控制端110或者領導者機器人判斷每個機器人的預測移動路徑是否與其它機器人的預測移動路徑有重疊或鄰接的區段。其中,響應於兩個機器人之預測移動路徑具有重疊或者鄰接的區段時,進入步驟S704,控制端110或者領導者機器人更判斷兩個機器人分別對應於重疊或鄰接的區段的預測時間之差異是否小於既定時間。其中,響應於兩個機器人之預測移動路徑不具有重疊或者鄰接的區段,或者響應於兩個機器人分別對應於重疊或鄰接的區段的預測時間之差異大於或等於既定時間時,則進入步驟S705,兩個機器人維持當前的運作狀態,並沿著預測移動路徑移動或者執行當前的清掃任務。
此外,響應於兩個機器人之預測移動路徑具有重疊或者鄰接的區段,且兩個機器人對應於重疊或鄰接的區段的預測時間之差異小於既定時間時,控制端110或者領導者機器人更進一步地判斷其所分別對應之運作狀態。而響應於兩個機器人的運作狀態皆為跨區移動或者執行清掃任務時,進入步驟S706,兩個機器人中預測移動路徑所對應之預測時間較晚之一者於到達重疊或鄰接的區段時,暫時停止於重疊或鄰接的區段之起點前,直到距離另一機器人一既定距離或另一機器人進入重疊或鄰接的區段經過既定時間。而響應於一機器人的運作狀態為跨區移動,以及另一機器人的運作狀態為執行清掃任務時,進步步驟S707,運作狀態為跨區移動所對應之機器人改變其原先的預測移動路徑、改變下一個任務區域或者於到達重疊或鄰接的區段時暫時停止於重疊或鄰接的區段之起點前。
值得注意的是,於上述示例性裝置中,儘管上述方法已在使用一系列步驟或方框之流程圖的基礎上描述,但本發明不侷限於這些步驟的順序,並且一些步驟可不同於其餘步驟的順序執行或其餘步驟可同時進行。此外,本領域的技術人士將理解在流程圖中所示的步驟並非唯一的,其可包括流程圖的其他步驟,或者一或多個步驟可被刪除而不會影響本發明的範圍。
本發明之方法,或特定型態或其部份,可以以程式碼的型態存在。程式碼可以包含於實體媒體,如軟碟、光碟片、硬碟、或是任何其他機器可讀取(如電腦可讀取)儲存媒體,亦或不限於外在形式之電腦程式產品,其中,當程式碼被機器,如電腦載入且執行時,此機器變成用以參與本發明之裝置。程式碼也可透過一些傳送媒體,如電線或電纜線、光纖、或是任何傳輸型態進行傳送,其中,當程式碼被機器,如電腦接收、載入且執行時,此機器變成用以參與本發明之裝置。當在一般用途處理單元實作時,程式碼結合處理單元提供一操作類似於應用特定邏輯電路之獨特裝置。
綜上所述,根據本發明一些實施例所述之用於多個機器人之移動控制方法以及其系統,響應於任務地圖中有多個機器人時,控制端或者領導者機器人可於接收到每個機器人的預測移動路徑後,以及於兩個機器人移動到重疊或鄰接的區段前,根據機器人進入重疊或鄰接的區段所對應之預測時間致使兩個機器人之一者執行適當的閃避策略,以避免兩個機器人發生碰撞之情況。此外,響應於跨區移動之機器人之預測移動路徑與執行清掃任務之機器人之預測移動路徑重疊時,透過將移動路徑的使用權優先分配給執行清掃任務之機器人、或者直接改變跨區移動之機器人之預測移動路徑,將可避免影響正在執行清掃任務之機器人之工作效率。
以上敘述許多實施例的特徵,使所屬技術領域中具有通常知識者能夠清楚理解本說明書的形態。所屬技術領域中具有通常知識者能夠理解其可利用本發明揭示內容為基礎以設計或更動其他製程及結構而完成相同於上述實施例的目的及/或達到相同於上述實施例的優點。所屬技術領域中具有通常知識者亦能夠理解不脫離本發明之精神和範圍的等效構造可在不脫離本發明之精神和範圍內作任意之更動、替代與潤飾。