本發(fā)明涉及用于割草的自主移動機器人。
背景技術:
執(zhí)行家庭功能(例如地板清潔和草坪切割)的自主機器人現(xiàn)在是易于獲得的消費產(chǎn)品。商業(yè)上成功的機器人不是不必要的復雜,并且通常在受限區(qū)域內(nèi)隨機地操作。在地板清潔的情況下,這種機器人通常限制在(i)接觸的墻壁和住宅的房間內(nèi)的其他障礙物內(nèi),(ii)IR檢測到的向下導向的樓梯(直立壁)中;和/或(iii)用戶放置的可檢測屏障,例如定向IR光束、物理屏障或磁帶。墻提供很多受限周邊。其他機器人可以嘗試使用傳感器和/或有源或無源信標(例如聲納、RFID或條形碼檢測或各種機器視覺)的復雜系統(tǒng)來繪制住宅地圖。
一些自主機器人草坪修剪機使用用于限制隨機運動機器人修剪機的連續(xù)邊界標記(例如邊界線)。邊界線旨在將機器人限制在草坪或其他適當?shù)膮^(qū)域內(nèi),以避免損壞院子的非草坪區(qū)域或侵入到鄰近的財產(chǎn)上。邊界標記通常是圍繞待修剪的財產(chǎn)的連續(xù)導電環(huán)。雖然引導導體可以被以島狀引入到財產(chǎn)中以圍繞花園或其它限制區(qū)域,但是其仍然是連續(xù)的環(huán)路,并且利用在幾英尺的距離處可檢測為磁場的AC電流而激勵。引導導體環(huán)必須通電,通常來自墻上插座。在界定區(qū)域內(nèi),修剪機器人可以在機器人靠近引導導體時隨機地“反彈”,或者可以沿著引導導體。一些修剪機也接觸物理障礙并且從物理障礙反彈。
技術實現(xiàn)要素:
在本公開的一些實施方式中,公開了一種用自主修剪機器人修剪區(qū)域的方法,該方法包括在機器人的非瞬態(tài)存儲器中存儲參考地理空間的周邊數(shù)據(jù)集合,周邊數(shù)據(jù)集合對應于修剪機器人被圍繞待修剪區(qū)域的周邊引導時修剪機器人的位置,從周邊數(shù)據(jù)集合中去除一個或多個數(shù)據(jù)點,從而創(chuàng)建修正數(shù)據(jù)集合,以及控制修剪機器人自主修剪由對應于所修正的數(shù)據(jù)集合的邊界界定的區(qū)域,包括在對應于所修正的數(shù)據(jù)集合中的數(shù)據(jù)的位置處或附近改變修剪機器人的方向,以便將機器人重新引導到界定的區(qū)域中。在一些方面,在存儲參考地理空間的數(shù)據(jù)之前,確定沿著待修剪區(qū)域的周邊的離散標記的位置。參考地理空間的數(shù)據(jù)在修剪機器人相對于離散標記圍繞周邊被引導時參考地理空間。在從周邊數(shù)據(jù)集合中去除數(shù)據(jù)點之前,從修剪機器人的在待修剪的區(qū)域內(nèi)的位置確定參考點。該方法包括提示操作者將修剪機器人定位在待修剪的區(qū)域內(nèi),然后啟動參考點確定。根據(jù)參考點相對于邊界的位置來確定對應于修正的數(shù)據(jù)集合的邊界是待修剪的區(qū)域的內(nèi)部邊界還是外部邊界。
在本公開的其它方面,該方法包括,存儲參考地理空間的周邊數(shù)據(jù),存儲參考地理空間的周邊數(shù)據(jù)包括對應于修剪機器人的位置標記二維數(shù)據(jù)陣列的基元。還可能的是,去除一個或多個數(shù)據(jù)點包括改變一個或多個標記基元中的條目以指示這樣的基元不對應于周邊位置。要去除的數(shù)據(jù)點是不與可修剪和不可修剪基元二者都相鄰的邊界單元。存儲周邊數(shù)據(jù)集合包括確定修剪機器人是否正在沿向前或向后方向被引導,并且在修剪機器人正沿向后方向被引導時暫停數(shù)據(jù)存儲。在控制機器人自主地修剪區(qū)域之前,確定所存儲的周邊數(shù)據(jù)是否表示連續(xù)路徑。該方法可以包括添加數(shù)據(jù)點以填充小于預定寬度的任何路徑間隙。在確定存儲的周邊數(shù)據(jù)表示限定大于預定寬度的間隙的不連續(xù)路徑時,發(fā)信號通知操作者恢復對修剪機器人圍繞邊界的引導,并且在恢復引導期間存儲額外的周邊數(shù)據(jù)。在控制機器人自主修剪區(qū)域之前,改變存儲的周邊數(shù)據(jù)集合的對應于限定小于135度的內(nèi)角的周邊路徑段的部分,以定義平滑邊界。當被引導的草坪修剪機器人保持不動小于預定時間間隔時,暫停周邊數(shù)據(jù)集合的存儲,并且在修剪機器人運動時恢復周邊數(shù)據(jù)集合的存儲。響應于被引導的修剪機器人保持不動大于預定時間間隔,結束周邊數(shù)據(jù)集合的存儲??刂菩藜魴C器人自主修剪區(qū)域包括確定修剪機器人是否在距離邊界預定距離內(nèi),并且響應于確定修剪機器人在預定距離內(nèi),減慢機器人的修剪速度。周邊是劃定待修剪的區(qū)域的外部周邊。周邊是劃定由待修剪的區(qū)域包圍的區(qū)域的內(nèi)部邊界。
在本公開的其它方面,自主修剪機器人包括承載割草器的機器人本體、包括支撐機器人本體的動力輪的驅動系統(tǒng)、可操作地聯(lián)接到動力輪的控制器,用于操縱修剪機器人通過界定的草坪區(qū)域同時割草??刂破鞅慌渲脼椋涸诮虒J街?,在非瞬態(tài)存儲器中存儲參考地理空間的邊界數(shù)據(jù)集合,邊界數(shù)據(jù)集合對應于修剪機器人被圍繞草坪區(qū)域的界限引導時修剪機器人的位置,在教導模式中,存儲對應于草坪區(qū)域內(nèi)的參考位置的參考數(shù)據(jù),從該邊界數(shù)據(jù)集合中去除對應于空間上比其它相鄰位置更接近參考位置的位置,其它相鄰位置由邊界數(shù)據(jù)集合中的其它數(shù)據(jù)點表示,從而創(chuàng)建修正的邊界數(shù)據(jù)集合,然后在自主操作模式中,控制修剪機器人自主修剪由對應于修正邊界數(shù)據(jù)集的路徑界定的區(qū)域,包括在對應于修正數(shù)據(jù)集中的數(shù)據(jù)的位置處或附近改變修剪機器人的方向,以便將機器人重新導向到所界定的區(qū)域。
實施方式可以包括發(fā)射器/接收器,其承載在機器人本體上并且被配置為在教導模式下與界定草坪區(qū)域的周邊標記通信。可移除手柄,其可固定到機器人本體并且可由操作者抓握以在教導模式中手動地圍繞草坪區(qū)域的邊界引導修剪機器人。機器人被配置為檢測手柄是否附接到機器人本體??刂破鞅慌渲脼轫憫跈z測到手柄被附接而啟動教導模式。手柄包括與驅動系統(tǒng)通信的停用開關,停用開關配置為當停用開關沒有被激活時發(fā)送信號以關閉修剪機器人。
在附圖和下面的描述中闡述了本發(fā)明的一個或多個實施例的細節(jié)。從說明書和附圖以及從權利要求書中,本發(fā)明的其它特征、目的和優(yōu)點將是顯而易見的。
附圖說明
圖1A是放置在待修剪的草坪上的自主移動草坪修剪機器人的示意圖,
圖1B是示出人類操作者用自主移動草坪修剪機器人導航草坪周邊的示意圖,
圖1C是示出自主移動草坪修剪機器人自主地導航草坪的示意圖,
圖2A是具有邊界標記的草坪的示意性俯視圖圖像,
圖2B是具有UWB信標的草坪的示意性俯視圖圖像,示出了每個信標、塢站和機器人之間的通信,
圖3是用于初始化和建立UWB信標在草坪周圍的位置的過程的流程圖,
圖4A-F是示出基于割草系統(tǒng)初始化過程的UWB信標的示意圖,
圖5A-5D提供了示出用于估計傳感器的位置的過程的示意圖,
圖6A是基于人類操作者沿著草坪的周邊并且圍繞草坪內(nèi)的內(nèi)部邊界穿過的路徑生成的非平滑路徑的示意圖,
圖6B示出了具有期望的可修剪區(qū)域和不可修剪區(qū)域(包括禁止區(qū)域)的草坪的示意圖,
圖6C是由用于圖6B中的草坪的機器人確定的得到的可修剪/不可修剪區(qū)域的示意圖,
圖6D是響應于人類操作者執(zhí)行推/拉動作以確定草坪周邊而指示內(nèi)部、邊界和外部單元的初始2D網(wǎng)格地圖視圖,
圖6E是圖6D只選擇外部邊緣邊界單元之后的地圖,
圖6F是圖6E在僅用被表示為邊界的外部邊緣單元進行平滑之后的地圖,
圖7是確定平滑的外部邊界的方法的流程圖,
圖8是確定平滑的內(nèi)部邊界的方法的流程圖,
圖9A是示出距離邊界兩英尺的“近邊界”或“注意”區(qū)域的示意圖,
圖9B是用于在導航草坪時由機器人執(zhí)行的速度/姿態(tài)調(diào)整的過程的流程圖,以及
圖10是確定平滑的邊界的替代方法的流程圖。
在各個附圖中,相同的附圖標記指示相同的元件。
具體實施方式
參考圖1A-1C,自主機器人草坪修剪機10被配置為修剪草坪20。自主機器人草坪修剪機10關于草坪20移動并且在它通過草坪20時切割草22。機器人草坪修剪機10包括本體100、固定到本體100的表面處理器200、包括至少一個動力輪410的驅動系統(tǒng)400以及具有由本體100承載并且響應于至少一個表面特性的至少一個表面?zhèn)鞲衅?10的傳感器系統(tǒng)300。驅動系統(tǒng)400由本體100承載并且配置為操縱機器人草坪修剪機10跨過草坪20,同時沿著至少一個表面特性。在該示例中,表面處理器200包括浮動在隨動輪410上的往復式對稱割草器。在一些示例中,輪可以是連續(xù)履帶或槽面。在其它示例中,表面處理器200可以包括旋轉切割器、撒布器或收集器。草梳器510也可以由本體100承載。機器人本體100支撐用于為機器人草坪修剪機10的任何電氣部件(包括驅動系統(tǒng)400)供電的電源106(例如電池)。無線操作者反饋單元700將信號發(fā)送到與控制器150通信的機器人草坪修剪機10上的發(fā)射器/接收器151。驅動系統(tǒng)400被配置為遵循從操作者反饋單元700接收的信號。機器人草坪修剪機10可以停放在基站或塢站12處。在一些示例中,塢站12包括用于對由機器人本體100容納的電池160充電的充電系統(tǒng)。
使用機器人草坪修剪機10的重要步驟是限定待修剪的草坪20的周邊21。在一些實施方式中,作為安全措施,機器人草坪修剪機10的自主使用只能在周邊或邊界已經(jīng)確定并存儲在機器人草坪修剪機10的非暫時性存儲器中時才執(zhí)行。在一些實施方式中,人類操作者通過使用附接到機器人本體100的手柄116推動機器人10來手動地限定邊界21,如圖1B所示。一旦教導了周邊,機器人可以行駛通過草坪/區(qū)域以在沒有進一步的人類干預的情況下進行切割。
參考圖1B,在周邊教導模式中,人類操作者手動引導機器人草坪修剪機10以建立草坪20的周邊21。確定周邊21可以包括通過附接到本體100的推桿或手柄116引導機器人草坪修剪機10。推桿116可以從機器人本體100拆卸或可收起在機器人本體100上。在一些情況下,推桿116包括開關、速度設定或用于使機器人草坪修剪機10前進和轉向的操縱桿。在一個實例中,推桿116包括一個或多個壓力或應變傳感器,其由機器人草坪修剪機10監(jiān)測以在壓力方向上移動或轉向(例如兩個傳感器,用于監(jiān)測左右壓力或者桿位移以使機器人草坪修剪機10轉彎)。在另一實例中,推桿116包括與驅動系統(tǒng)400通信以關閉機器人草坪修剪機10的緊急制動或停用開關117A。開關117A可以被配置為緊急制動開關,以在推桿116的操作者停止使用或不再保持與推桿116的接觸的情況下關閉機器人草坪修剪機10。開關117A可以被配置為當推桿116被收起時用作停用開關,從而允許用戶關閉機器人草坪修剪機10。緊急制動或停用開關117A可以包括電容傳感器或控制桿。在另一實例中,推桿116包括離合器117B以接合/脫離驅動系統(tǒng)400。當由推桿116手動操作時,機器人草坪修剪機10可能夠以更快的速度操作。例如,機器人草坪修剪機10可以以約0.5m/s的自主速度和比0.5m/s(包括可致動到正常速度的120-150%的“增速”速度)更快的手動速度操作。在一些示例中,推桿116在機器人的自主草坪修剪期間可以是可折疊的或可拆卸的??商娲兀茥U116可以被配置為拉桿、拉帶、剛性手柄或可折疊手柄中的一種。在一些實施例中,推桿116可以被收起在機器人本體100上或機器人本體100中。
如上所述,在自主修剪草坪之前,機器人草坪修剪機10完成教導階段。在周邊教導階段期間,人類操作者可以要求改正的方式導引機器人草坪修剪機10,從而將機器人草坪修剪機10置于不可教導的狀態(tài)。當機器人草坪修剪機10在教導運行期間檢測到其處于不可教導狀態(tài)時,機器人草坪修剪機10(例如經(jīng)由操作者反饋單元700,如移動設備上的顯示器或集成在手柄116中的顯示器)警告操作者,以改變機器人草坪修剪機10的方向或速度,從而使機器人草坪修剪機10能夠繼續(xù)記錄周邊21和/或返回到可通過的地形上行進。例如,當操作者將機器人草坪修剪機10推入草坪20的區(qū)域(機器人草坪修剪機10在該區(qū)域中喪失了確定其位置的能力)中時,當用戶處于與第一教導路徑不同的第二教導路徑上時,或者當用戶推動機器人草坪修剪機10過快或推動機器人草坪修剪機10到太過顛簸或傾斜的地形上時,機器人草坪修剪機10可能進入不可教導狀態(tài)。
例如,操作者可以試圖在草皮和巖石之間推動機器人草坪修剪機10,使機器人草坪修剪機10以過大的角度(例如超過30度)傾斜?;蛘撸僮髡呖梢試L試教導機器人草坪修剪機10經(jīng)過機器人草坪修剪機10在自主模式中不能經(jīng)過的地形的路徑。在這樣的情況下,機器人草坪修剪機10(例如經(jīng)由操作者反饋單元700)警告操作者選擇不同的路徑。如前所述,機器人草坪修剪機10可以經(jīng)由操作者反饋單元700通過顯示器上的視覺信號、通過揚聲器的可聽信號和/或觸覺信號(例如來自操作者反饋單元700的振動單元的振動)來警告操作者。
如果操作者在教導模式期間太快或太慢推動機器人草坪修剪機10,從而將機器人置于不可教導的狀態(tài),則機器人草坪修剪機10提示用戶增加或降低機器人草坪修剪機10的速度。在一些示例中,操作者反饋單元700包括速度指示器,當機器人草坪修剪機10以大于或低于閾值速度的速度行走時,速度指示器將發(fā)光或閃爍(綠色、黃色、紅色光)。
如下面將參考圖2A討論的,邊界標記805可以沿著草坪20的周邊設置,以幫助機器人草坪修剪機10定位。在一些情況下,邊界標記805發(fā)出機器人草坪修剪機解讀的信號,以確定其相對于邊界標記的位置。在其它示例中,邊界標記805是無源的。在任一情況下,當機器人草坪修剪機10失去與邊界標記805的聯(lián)系時,機器人草坪修剪機10可以警告用戶改變路徑以保持在邊界標記805的限制內(nèi)。
在一些示例中,教導例程需要操作者第二次(或更多次)通過草坪20的周邊21。一旦操作者完成第一輪教導,完成圍繞待修剪的區(qū)域的周邊閉合環(huán),則機器人草坪修剪機10可以警告操作者需要第二輪。在一個示例中,操作者按下STOP按鈕以肯定地指示圍繞草坪20的周邊21的一輪教導完成。在一些示例中,機器人草坪修剪機10允許操作者在第一輪教導之后立即完成第二輪教導或等以后再說。如果操作者完成第二輪或隨后一輪的教導,并且機器人草坪修剪機檢測到兩個確定的周邊之間的大于閾值偏差的偏差,則機器人草坪修剪機10警告用戶明顯的差異并且提示進行另一輪教導以學習草坪20的周邊21。
當周邊教導過程完成時,用戶可以將機器人草坪修剪機10??吭谄鋲]站12(參見圖1A)中,從而允許機器人草坪修剪機10在修剪之前再充電。
在一些實施方式中,機器人草坪修剪機10包括邊界檢測系統(tǒng)800,邊界檢測系統(tǒng)800包括設置在機器人本體100上的發(fā)射器/接收器151和無源邊界標記805(圖2A)。無源邊界標記805的類型可以包括:LIDAR掃描匹配、無源LIDAR回射器(信標)或它們兩者一起。在一些示例中,邊界標記805包括:RADAR掃描匹配(雷達顯示點)、RADAR回射器或兩者。在包括沿著草坪20的周邊21放置的邊界標記805的實施方式中,邊界標記805可以通過由發(fā)射器/接收器151(參見圖1B)執(zhí)行的相鄰掃描匹配數(shù)據(jù)來單獨識別。在掃描匹配中,機器人草坪修剪機10可以將驅動時以在給定時間進行的掃描與作為存儲在存儲器中的每個邊界標記805的特性的掃描匹配,并且機器人草坪修剪機10因此能夠確定其相對于每個單獨可識別邊界標記805的位置。在一些實施方式中,邊界標記805包括機器人草坪修剪機10可感知的其它獨立識別器件,如條形碼或編碼信號,以使得機器人草坪修剪機10能夠確定其相對位置。
如圖2A所示,邊界標記805(例如信標)可以圍繞草坪20的周邊放置,以約束或影響機器人草坪修剪機10的行為。在一些實施方式中,邊界標記805產(chǎn)生約束機器人草坪修剪機10不進入標記的邊界(即周邊21)外側的虛擬壁。用戶將邊界標記805放置在沿著周邊21的期望位置處。為了創(chuàng)建虛擬墻,邊界標記805各自在相鄰的邊界標記805的視線內(nèi)。邊界標記805可以包括回復原位標記,操作者可以將其放置在指示全局原點的位置(例如塢站12或并排放置的兩個邊界標記)。操作者沿著草坪20的周邊21盡可能均勻地分布邊界標記805,以指示限制區(qū)域。優(yōu)選地,周邊21的每個主轉角由邊界標記805標記。
可替代地,諸如超寬頻帶(UWB)信標的地標可以放置在該環(huán)境中,并且機器人可以使用這些地標來定位其位置。這些信標可以被放置在可修剪區(qū)域內(nèi)(例如信標810b)、邊界上(例如信標810a)或邊界外(例如信標810c)。這些信標810(圖2B)包括UWB收發(fā)器811,其彼此通信以及與位于草坪修剪機器人10上的UWB收發(fā)器11通信。各個UWB收發(fā)器被放置在機器人剪割機10上(例如機器人草坪修剪機10包括與信標810a-c中的每一個通信的接收器/發(fā)射器151)、信標810a-c中的每一個上以及可選地塢站12上。幾個信標810a-c圍繞可修剪的區(qū)域放置,彼此間隔開,并且與塢站12間隔開。如圖2B中從機器人草坪修剪機10發(fā)出的實線所示,機器人草坪修剪機10與信標810a-c中的每一個和塢站12通信。每個信標810a-c與其它信標中的每一個和塢站12通信。
通常,超寬頻帶(也稱為UWB、超寬的頻帶和超頻帶)是在低能量水平下操作以用于短距離、高帶寬通信的無線電技術。超寬頻帶傳輸在大帶寬(>500MHz)上傳播的信息。在一些示例中,UWB包括來自發(fā)射信號帶寬超過500MHz或中心頻率的20%中的較小者的天線的傳輸。使用UWB信標810a-c(其包括UWB收發(fā)器811a-c)提供了優(yōu)于其它限制/定位系統(tǒng)的若干優(yōu)點。通常,超寬頻帶特性非常適合于短距離應用。超寬頻帶的使用在自主草坪修剪中可以是有益的,因為信號可以被傳輸通過/穿過諸如灌木或樹木的障礙物,并且提供草坪修剪機器人10相對于UWB信標810a-c的精確定位。UWB收發(fā)器811a-c發(fā)射全向信號,因此UWB信號的使用可以比視線光學系統(tǒng)(例如基于視覺或基于激光的系統(tǒng))對于機器人的取向性能更好。另外,UWB信號可以穿過諸如樹木和灌木的小障礙物,從而允許將UWB信標放置在圍繞可修剪空間的較不可見的位置(例如,如由信標810b和810c之間的傳輸所示)。
如果來自位于院子周圍的UWB信標810a-c的UWB信號將用于確定自主草坪修剪機器人在院子內(nèi)的位置,則需要建立UWB信標810a-c的位置。通常,如下面關于圖3更詳細地描述的,在UWB系統(tǒng)的初始設置時,執(zhí)行初始化過程。該過程部分地基于用于確定UWB信標810a-c相對于彼此的位置的多維定標算法,其又可以用于建立機器人10相對于信標的位置。因此,安裝UWB信標810a-c的業(yè)主或其他人不需要將UWB信標810a-c放置在特定位置,因為系統(tǒng)在初始化時自動確定UWB信標810a-c的位置。UWB信標810a-c的定位的這種靈活性被認為提供了簡化自主草坪修剪機器人系統(tǒng)的安裝和設置過程的優(yōu)點。另外,由于信號的全向性質,UWB信標810a-c可以比在某些基于視線的系統(tǒng)中離地面更低,因為機器人10不需要與信標對準(例如在線視布置中),以從信標接收信號。在隨后使用時(例如,在每次自主草坪修剪機器人修剪草坪之前),可以執(zhí)行校準或確認過程以確認UWB信標810a-c仍然在其預期的、先前確定的位置中。
參考圖3和4A-F,基于UWB信標的草坪修剪系統(tǒng)初始化過程開始于多個UWB信標862a-e,每個UWB信標862a-e包括圍繞可修剪空間870(圖4A)放置的UWB收發(fā)器。UWB收發(fā)器各自具有包括在來自UWB收發(fā)器的傳輸中的唯一標識符,以識別傳輸源。另外,機器人草坪修剪機860包括UWB收發(fā)器,其允許機器人草坪修剪機860與UWB信標862a-e中的UWB收發(fā)器通信。放置在可修剪空間870周圍的UWB信標862a-e在放置在可修剪空間870周圍時通常是不可移動的,并且旨在保持不動。UWB信標可以定位在可修剪空間870內(nèi)、可修剪空間870外和/或在兩者之間的界限上。另外,由于UWB信標862a-e中的UWB收發(fā)器產(chǎn)生的信號的全向性質,機器人可以在啟動時放置在邊界內(nèi)或外。
初始化過程包括收集/獲得關于位于可修剪空間周圍的UWB信標之間的距離的信息(步驟850)。更具體地,一個UWB收發(fā)器(例如,位于機器人860上或塢站上的收發(fā)器)向每個其它UWB收發(fā)器發(fā)送關于其自身與每個其它UWB收發(fā)器之間的距離的信息的請求。該信息可以包括飛行時間信息或可以用于確定距離的其它數(shù)據(jù)。例如,在圖4A-4D所示的示例中,在接收到來自機器人860上的UWB收發(fā)器的請求時,UWB信標862a中的UWB收發(fā)器向UWB信標862b,862c,862d和862e中的UWB收發(fā)器發(fā)送信號。作為響應,信標862a中的UWB收發(fā)器從UWB信標862b,862c,862d和862e中的UWB收發(fā)器接收飛行時間信息和用于所述UWB收發(fā)器的相關聯(lián)的唯一標識符(圖4A)。類似地,在接收到來自機器人860上的UWB收發(fā)器的請求時,信標862b中的UWB收發(fā)器向UWB信標862a,862c,862d和862e中的UWB收發(fā)器發(fā)送信號。作為響應,信標862b中的UWB收發(fā)器從UWB信標862a,862c,862d和862e中的UWB收發(fā)器接收飛行時間信息和用于所述UWB收發(fā)器的相關聯(lián)的唯一標識符(圖4B)。對信標862c,862d和862e進行類似的信息收集(圖4C)。該信息從各個UWB收發(fā)器發(fā)送到發(fā)出信息請求的UWB收發(fā)器(例如位于機器人860上或塢站上的收發(fā)器)。
在接收到關于每個UWB信標中的UWB發(fā)射器之間的相對距離的信息后,機器人草坪修剪機10中的處理器(或遠程定位的處理器)使用多維定標算法來確定UWB信標(852)的相對位置(例如相對于諸如塢站位置的全局原點的x-y位置)(圖4D)。通常,多維定標(MDS)是可視化數(shù)據(jù)集的各個情況的相似性水平的方法。它涉及在信息可視化中使用的相關的排列技術組,特別是顯示包括在距離矩陣中的信息。MDS算法目的是將每個對象放置在N維空間中,使得對象之間的距離被盡可能保持。然后為每個對象分配N維的每一個中的坐標。使用MDS算法確定的UWB信標(例如信標862a,862b,862c,862d和862e)的相對位置存儲在存儲器中。
在一些示例中,多維定標(MDS)算法的使用可以生成作為實際信標布局的鏡像的信標地圖。如果在導航期間使用實際信標布局的鏡像,這將導致當試圖面向空間中的另一點時,機器人不會沿預期方向上轉向。為了測試鏡像布局,在取向確定序列中移動自主草坪修剪機器人860(步驟854)。然后,系統(tǒng)確定UWB信標位置是否被成鏡像(步驟856),如果是,則將航向重新分配給UWB信標位置以校正取向(步驟858)。更具體地,在執(zhí)行初始信標建立和定位之后,機器人存儲其初始點并且向前驅動短的距離(例如15-30cm)到第二點。如果信標地圖被確定為實際信標布局的鏡像,則該向前驅動建立用于重新分配信標位置的y軸。然后,機器人向左轉大約90度,并且向前驅動另一短距離(例如15-30cm),如圖4E中的路徑872所示。然后,處理器計算將初始點連接到第二點的向量與將第二點連接到第三點的向量之間的方位差。如果信標位置正確,此值將接近90度。如果信標位置被成鏡像,則該值將接近負90度,并且機器人將在y軸上重新分配/重新解讀(例如翻轉)信標坐標,從而適當?shù)卮_定其姿態(tài)。在機器人向右轉向的情況下,可以使用類似的過程。
在確定并存儲了UWB信標位置之后,系統(tǒng)通過基于從每個UWB收發(fā)器接收到的飛行時間信息(間距)的三邊測量來定位自主草坪修剪機器人860(圖4F)。通常,三邊測量是使用圓、球或三角形的幾何形狀,通過測量距離來確定點的絕對或相對位置的過程。特別地,傳感器的位置可以通過測量到至少三個地標的間距、繪制圍繞每個地標的相應半徑的圓并且確定這些間距圓相交的點來確定。在完美感測情況下,所有的圓將在一個點處相交,并且可以使用閉合形式的解來確定該位置。然而,所有傳感器都具有一些噪聲,因此這些圓不可能在一個點處相交,并且需要一些手段來基于間距圓之間的多個交點來估計傳感器位置。
在一個示例中,可以使用最小二乘法算法來使感測間距和位置估計之間的方差和最小化。
在另一示例中,如圖5所示,可以使用這里稱為最小距離交叉點集合三邊測量法(MIST)的技術來確定機器人的位置。MIST是基于來自已知位置處的固定信標集合的噪聲間距數(shù)據(jù)來估計傳感器的位置的技術。與其它三邊測量技術一樣,MIST使用對應于間距讀數(shù)的圓之間的交點來確定傳感器的位置。
使用MIST技術,飛行時間測量值用于確定圍繞每個信標的可能位置的圓,其中圓的半徑基于UWB信標中的UWB收發(fā)器與機器人中的UWB收發(fā)器之間的距離。對于每對間距圓,可以有零個、一個或兩個交點。
MIST通過檢查所有可行的交點的集合并選擇具有點之間的最小總距離的集合來工作??尚屑习繉﹂g距圓的候選點。每對圓有三種可能的情況。
如圖5A所示,在一種情況下,圓不相交。在這種情況下,候選點設置為連接兩個間距圓上的最近點的線中的中點。
如圖5B所示,在另一情況下,圓在一個點相交。在這種情況下,候選點設置為該單一的交點。
如圖5C和5D所示,在另一情況下,圓在兩個點處相交。在這種情況下,候選點設置為該兩個交點中的一個。由于每對間距圓可以產(chǎn)生多達兩個候選點,所以該算法的計算復雜度對于信標數(shù)量成指數(shù)關系。然而,如果信標的數(shù)量小,則算法保持計算易處理。在選擇具有最小總點間距離的可行相交點集合(例如3個位置、5個位置)之后,MIST估計傳感器位置為該集合內(nèi)的候選點的質心。例如,如圖5D所示,小圓標記候選點(例如圓對的相交位置)。實心圓是具有最小總點間距離的可行集合中的候選點。空心圓是不在該集合中的候選點。十字標記最小距離相交點集合中的點的質心并且對應于傳感器的估計位置。
在一些示例中,一個或多個UWB信標可以處于隔離位置,因此相對于其它UWB信標定位UWB信標是有挑戰(zhàn)的。例如,一個信標可以放置在側院中,側院中房子禁止與一些其它UWB信標的通信。這樣,該信標的初始確定的位置可能具有較低的置信度,因為位置確定是基于該隔離的信標和僅位于院子周圍的其它信標的子集之間的通信。如果計算的置信度值低于閾值置信度值,則系統(tǒng)可以請求用戶移動草坪修剪機(其自身包括UWB收發(fā)器)到修剪機可以與隔離的信標和多個其它信標兩者通信的位置。然后,系統(tǒng)可以使用機器人上的UWB收發(fā)器來幫助定位隔離的UWB信標(例如使用與上述類似的過程)。一旦已經(jīng)確定了隔離的UWB信標的修訂位置,則可以移動自主機器人,并且可以存儲隔離的信標相對于其它信標的位置。
參考圖6A,在設置UWB信標之后,人類操作者將使機器人關于草坪20行走。在該教導模式期間,由于例如顛簸的地形或障礙物阻擋機器人草坪修剪機10的路徑,人類操作者可能在關于周邊21手動地導航機器人草坪修剪機10時經(jīng)歷困難。在一些情況下,為了避免機器人草坪修剪機10處于不可教導的狀態(tài)和/或為了圍繞具有挑戰(zhàn)性的障礙物或急轉彎導航機器人草坪修剪機10,用戶可以生成不平滑的路徑。例如,用戶可以執(zhí)行鋸齒形或之字形移動,以便在機器人草坪修剪機10的引導期間關于周邊21導航。因此,初始建立的草坪輪廓(例如由機器人通過的實際教導路徑23)在某些位置不與可修剪區(qū)域的邊緣對應。
為了建立可修剪區(qū)域的邊界,算法將選擇在教導模式期間由機器人草坪修剪機10導航的位置。一旦確定粗糙的草坪邊界,算法將對初始邊界數(shù)據(jù)(或在所收集的數(shù)據(jù)的子集上)執(zhí)行邊緣選擇和平滑功能。邊緣選擇功能找到可修剪區(qū)域的最外邊緣,使待修剪的區(qū)域最大化,并且與平滑功能組合,得到機器人草坪修剪機10在教導模式之后可自動導航的連續(xù)邊界。用于確定和平滑可修剪空間的邊界的該過程可以與各種基于信標的定位系統(tǒng)一起使用,在該定位系統(tǒng)中測量從移動資產(chǎn)(機器人)到信標的距離。這樣的技術包括但不限于飛行時間(TOF)、到達的時間距離(TDOA)或基于信號強度的系統(tǒng)。
在教導模式期間,用戶將嘗試圍繞草坪20的周邊21(由實線邊界線示出)導航機器人,但是實際上沿著實際教導路徑23(由虛線邊界線示出)導航機器人,實際教導路徑23可能不平滑,并且可以包括不規(guī)則形狀。在教導模式期間,機器人草坪修剪機10將通過數(shù)據(jù)處理單元相對于信標810一直確定和存儲其位置。該數(shù)據(jù)處理單元可以是安裝在機器人草坪修剪機上的控制器150(參見圖1B),或者可以是單獨的數(shù)據(jù)處理單元。數(shù)據(jù)處理單元生成基元的2D網(wǎng)格或矩陣25以表示草坪,并且當機器人草坪修剪機10確定其相對于信標810的位置時,在機器人草坪修剪機10運動期間,數(shù)據(jù)處理單元確定并保存包括機器人草坪修剪機10的每個基元的坐標。網(wǎng)格25中的每個基元可以具有三個可能的修剪區(qū)域值中的一個,三個可能的修剪區(qū)域值指示該基元是否被理解為在周邊21之外或不可修剪、在周邊21內(nèi)或可修剪,或者在區(qū)域周邊21邊界上。在圖6A中,示出了代表性的不可修剪基元25A、可修剪基元25B和邊界基元25C。網(wǎng)格25的每個基元可以基于所選擇的原點或參考位置(0,0)基元被分配(x,y)坐標。每個基元可以表示為正方形區(qū)域,其中每個基元具有預定的長度和寬度(例如在5-20cm范圍內(nèi)、在8-12cm范圍內(nèi)、約10cm)。例如,網(wǎng)格25可以是每個10cm×10cm的基元網(wǎng)格。機器人草坪修剪機10存儲機器人草坪修剪機沿著在教導模式期間行進的實際教導路徑23通過的每個基元的(x,y)坐標。機器人草坪修剪機10可以將實際教導路徑23標記為如圖6A所示的跟隨機器人10的路徑的通過單個單元的簡單線??商娲?,機器人可以將機器人的印跡下的所有基元標記為邊界基元25C。
在教導開始時,所有基元的值都初始化為不可修剪。操作者按下啟動按鈕以開始教導過程,然后圍繞修剪區(qū)域的周邊21驅動。當機器人驅動時,沿著其實際教導路徑23的所有基元的值被設置為邊界,基元的位置由到信標810的距離確定。在行走周邊之后,操作者按下按鈕以結束教導過程。然后,操作者將機器人草坪修剪機10定位在草坪20的可修剪區(qū)域內(nèi)的任何地方,例如在位置P處,并且按下按鈕,向機器人草坪修剪機10指示其在周邊內(nèi)。作為響應,系統(tǒng)執(zhí)行泛洪填充以設置由邊界基元25C限定的周邊21內(nèi)的所有基元的值,以將它們標記為與待修剪的區(qū)域相對應的可修剪單元25B。
如圖6B和6C所示,也可以使用與用于教導邊界的方法類似的方法來訓練禁止區(qū)域。例如,為了創(chuàng)建圍繞樹的禁止區(qū)域,用戶可以移動機器人到樹的邊界上的點;將機器人置于教導模式;圍繞樹推動機器人;然后將機器人退出教導模式。機器人通過的所有基元將被標記為邊界基元(例如,如圖6C中的粗線所示),并且該閉合邊界內(nèi)的區(qū)域將保持不可修剪(例如實心區(qū)域),并且草坪的周邊內(nèi)和閉合邊界外的區(qū)域將保持可修剪(例如,如圖6C中的陰影區(qū)域所示)。
圖6E示出了周邊21的一部分的特寫,其包括在教導模式期間由人類操作者和機器人草坪修剪機10導航的實際教導路徑23的一部分。實際教導路徑23包括非平滑特征,例如鋸齒28,其產(chǎn)生于人類操作者例如使機器人草坪修剪機10轉向然后通過向后推動機器人草坪修剪機10而部分地重新跟隨路徑的情況。不可修剪基元25A、可修剪基元25B和邊界基元25C分別以陰影、白色和灰色示出。
圖6F示出在執(zhí)行邊界平滑功能之后的網(wǎng)格地圖,其中控制器150通過將不與可修剪基元和不可修剪基元二者都相鄰的任何邊界基元重新標記為可修剪來選擇初始邊界基元塊的子集。
一些附加示例中,系統(tǒng)可以將一些先前的邊界基元25C重新標記為可修剪單元25B,以便確定當機器人草坪修剪機10在以后自主地行駛通過草坪20時機器人草坪修剪機10所要遵循的路徑的最外邊緣。在邊緣選擇功能中,控制器150選擇所有的邊界基元25C,并計算每個邊界基元25C與原點(0,0)基元之間的距離。例如,原點基元可以是圖6A所示的內(nèi)部位置基元P??刂破骺梢栽诮o定為每個邊界基元25C確定的已知(x,y)坐標的情況下計算該距離。
控制器比較每個邊界基元25C的距離,以選擇距離原點P最遠的邊界基元25C,并確定代表最外的邊界基元25C的基元的單基元線??刂破?50檢查與標記為邊界的每個基元相鄰的每個基元的修剪面積值。然后檢查與多于一個其它邊界基元25C處于相鄰位置的任何邊界基元25C,以確定哪個基元25C離原點P最遠,并且因此確定哪個基元25C是待修剪的最外限制。為了從周邊數(shù)據(jù)集合中去除內(nèi)部邊界基元25C數(shù)據(jù)點,對于表示多個空間相鄰位置的周邊數(shù)據(jù)的子集,控制器150僅選擇在空間上離參考點或原點P最遠的那些基元。因此,在彼此連續(xù)的基元的分組中,控制器僅選擇最外(例如最遠離)的基元。在圖6F中,先前具有邊界-邊界界限的內(nèi)部基元已被重新標記為可修剪。
在一些另外的示例中,系統(tǒng)可以識別在連續(xù)的邊界基元中的間隙或中斷。控制器150可以通過搜索與任何其它邊界基元不相鄰或與其成拐角的邊界基元來搜索這樣的不連續(xù)性。然后,控制器150可以選擇與不連續(xù)的邊界基元相鄰的可修剪基元。在一個實施方式中,控制器150可以在不連續(xù)的邊界基元的x,y值之間內(nèi)插,并將位于不連續(xù)基元之間的線上的所有基元重新分配為邊界基元。在一些實施方式中,控制器150可以改變對應于限定小于135度的內(nèi)角的周邊路徑段的所存儲的周邊數(shù)據(jù)集合的一部分,以限定平滑邊界。例如,內(nèi)角可以小于90度或小于45度。
再次參考圖6A,可以使用類似的過程來限定被包圍在草坪中的不準備修剪的內(nèi)部區(qū)域的內(nèi)部邊界29。在所示示例中,內(nèi)部邊界29將池塘劃界。在跟隨實際教導路徑23之后,用戶沿著內(nèi)部邊界29導航機器人草坪修剪機10,然后將機器人草坪修剪機定位在諸如位置P的最終位置。這表明機器人草坪修剪機10位于可修剪區(qū)域上。控制器150然后將內(nèi)部邊界29內(nèi)的區(qū)域指定為不可修剪,并且將實際教導路徑23外部也指定為不可修剪。參考圖7,用于對機器人草坪修剪機10教導草坪內(nèi)的區(qū)域的周邊的方法1000允許機器人以后自主地修剪草坪20。該方法在機器人草坪修剪機10進入邊界確定模式時開始(步驟1001)。機器人草坪修剪機10首先通過檢查手柄116是否被附接來監(jiān)測是否可以使用教導模式(步驟1002)。如果機器人確定手柄116未被附接,則機器人將提示用戶附接手柄116(例如通過在操作者反饋單元上發(fā)出嗶嗶聲或閃光)。一旦機器人草坪修剪機已經(jīng)確定手柄116被附接,發(fā)射器就以UWB校準序列(如上面關于圖2B所述)與信標通信(步驟1008)。機器人草坪修剪機然后確定其相對于信標和塢站的初始位置,并且初始化圍繞其初始位置的基元的虛擬2D網(wǎng)格以表示草坪20(步驟1010)。例如,機器人草坪修剪機10可以確定到最遠信標810的距離,并且構建以初始位置為中心并且在所有邊上延伸到最遠信標的距離的網(wǎng)格。
此時,機器人草坪修剪機準備就緒由操作者開始可教導模式的運動。機器人草坪修剪機提示操作者圍繞草坪的周邊推動機器人草坪修剪機(步驟1012)。當機器人草坪修剪機被操作者推動時,控制器與信標通信并收集位置數(shù)據(jù)(步驟1014)。例如,機器人可以從每個UWB信標收集飛行時間數(shù)據(jù),并使用該數(shù)據(jù)(例如通過三角測量)來確定位置。在該運動期間對應于機器人的檢測位置的2D網(wǎng)格的每個基元被設置為將基元標記為邊界基元的值(步驟1016)。機器人草坪修剪機連續(xù)地檢查是否其已經(jīng)接收到指示完成的操作者輸入,或者是否已經(jīng)過去了大于存儲的閾值時間的非移動時間的長度(步驟1018)。如果不是,則機器人草坪修剪機繼續(xù)收集位置數(shù)據(jù)并將與那些位置相對應的基元標記為邊界基元。
接下來,操作者可以可選地通過圍繞這些區(qū)域的內(nèi)部邊界推動修剪機來圍繞任何內(nèi)部區(qū)域定義禁止區(qū)域。一旦在步驟1018機器人確定周邊的地圖描繪完成,則機器人草坪修剪機提示操作者將機器人草坪修剪機10移動到草坪的可修剪的內(nèi)部區(qū)域(即待修剪的空間,步驟1020),然后確定并保存該初始內(nèi)部位置的位置。然后,控制器識別不與可修剪基元和不可修剪基元兩者都相鄰的所有邊界基元,并且重新標記與可修剪或另一邊界基元相鄰且不與不可修剪基元相鄰的邊界基元為可修剪基元(步驟1022),以計算最終的平滑邊界。因此,在多個相鄰基元最初被識別為邊界的情況下,系統(tǒng)僅保留最外的基元作為邊界基元(例如接觸不可修剪空間的基元),并將其它單元重新標記為可修剪。例如,重新標記過程選擇僅與可修剪基元和邊界基元相鄰的基元,并將那些基元重新標記為可修剪??刂破魅缓笫褂锰畛涔δ軄韺⒂嬎愕钠交吔鐑?nèi)的所有位置分配為內(nèi)部/可修剪區(qū)域(步驟1024)。
在另一示例中,一旦機器人確定周邊的地圖描繪完成,并且確定并保存該初始內(nèi)部位置的位置,則控制器選擇地圖中的邊界基元的最外位置,并對所選擇的基元執(zhí)行邊緣選擇和平滑操作以計算最終的平滑邊界??刂破魅缓笫褂锰畛涔δ軄韺⒂嬎愕钠交吔鐑?nèi)的所有位置分配為內(nèi)部/可修剪區(qū)域。
參考圖8,示出了用于確定圍繞不要被修剪的內(nèi)部區(qū)域的邊界的方法2000(例如,圖6A中的邊界29)。機器人草坪修剪機10進入邊界確定模式(步驟2001)。機器人首先檢查外部周邊邊界的計算是否完成(步驟2002),并且如果不是,則指示操作者完成如上所述的周邊確定(步驟2004)。機器人然后確定是否已經(jīng)定義了所有禁止區(qū)(例如不應該修剪的草坪的限定周邊內(nèi)的區(qū)域,如花壇、秋千組、池塘等)(步驟2003)。機器人可以通過生成指示區(qū)域是否已經(jīng)被定義以及從用戶接收指示其完成/未完成的響應的提示,來確定是否已經(jīng)定義了所有禁止區(qū)域。如果已經(jīng)定義了所有禁止區(qū)域,則系統(tǒng)進行平滑禁止區(qū)域的邊界(步驟2014)。如果沒有定義所有禁止區(qū)域,則如果需要的話,機器人提示操作者圍繞任何內(nèi)部邊界的邊緣推動機器人草坪修剪機(步驟2006)。當用戶推動機器人草坪修剪機時,控制器與信標或邊界標記通信或以其它方式監(jiān)測信標或邊界標記的位置,并且收集位置數(shù)據(jù)(步驟2008)。在該例程期間,對應于機器人的位置的2D網(wǎng)格的每個基元的值被設置為邊界(步驟2010)。機器人連續(xù)地檢查是否其已經(jīng)接收到指示完成的操作者輸入,或者是否已經(jīng)過去了大于存儲的閾值時間的非移動時間的長度(步驟2012)。如果不是,則機器人草坪修剪機繼續(xù)收集位置數(shù)據(jù)并將對應于機器人草坪修剪機的位置的網(wǎng)格25的基元標記為邊界基元。
機器人草坪修剪機然后提示操作者移動到外部周邊界限內(nèi)并且不在任何(可選的)禁止區(qū)域內(nèi)部的草坪的可修剪區(qū)域(步驟2014),并且記錄在可修剪空間中的機器人的姿態(tài)(步驟2016)。然后,系統(tǒng)使用泛洪填充將邊界內(nèi)的所有基元設置為不可修剪(例如在禁止區(qū)域內(nèi)的所有基元)(步驟2018)。最后,系統(tǒng)重新標記與可修剪基元鄰近且不與可修剪基元和不可修剪基元(禁止區(qū)域)二者都鄰接的禁止周邊的邊界基元為可修剪(步驟2020)。
在一些附加示例中,系統(tǒng)可以在單個過程中對于包括禁止區(qū)域的內(nèi)部邊界和的外部周邊的整個網(wǎng)格地圖執(zhí)行上述平滑操作。在這樣的示例中,系統(tǒng)使用泛洪填充來填充由可修剪空間中的機器人姿態(tài)指示的所有區(qū)域。該泛洪填充將在草坪的外部周邊內(nèi)并且在定義的禁止區(qū)外部的所有網(wǎng)格位置設置為可修剪。然后,系統(tǒng)對草坪的周邊和禁止區(qū)的周邊執(zhí)行平滑算法。例如,系統(tǒng)可以將不與可修剪和不可修剪二者都相鄰的所有邊界基元設置為可修剪,使得生成邊界,其中每個邊界基元與可修剪和不可修剪空間二者都接觸。
參考圖9A和9B,在機器人草坪修剪機10已經(jīng)完成教導模式之后,自主地導航草坪20準備就緒。在自主操作期間機器人草坪修剪機10的控制包括允許機器人草坪修剪機在由所確定的邊界勾勒的區(qū)域內(nèi)通過草坪20。驅動系統(tǒng)的操作可以包括當機器人草坪修剪機10接近邊界時啟動的減速模式,以幫助防止機器人草坪修剪機10意外滾過邊界。另外,當機器人草坪修剪機10接近邊界標記805時,也可以實施減速模式。參考圖9A,為了實施操作的減速安全模式,機器人控制器確定與先前確定的最終平滑外邊界27等距并且在其內(nèi)的“近邊界”31。使用網(wǎng)格地圖和最終平滑邊界27,控制器150選擇接近邊界基元的基元。例如,控制器150可以選擇與邊界基元相鄰的所有可修剪基元,并且將接近并接觸邊界的所選擇的基元重新標記為近邊界基元??刂破骺梢赃x擇與近邊界基元相鄰的所有可修剪單元,并將新選擇的基元重新標記為近邊界。該過程可以在直到先前標記為可修剪的所有在邊界的固定距離內(nèi)的基元被重新標記為近邊界時完成。例如,位于邊界27的0.35m(2英尺)內(nèi)的所有可修剪單元可以被標記為近邊界基元或警告區(qū)的一部分。剩余的內(nèi)部基元在安全區(qū)中并且保持標記為可修剪基元。該有效地標記的網(wǎng)格基元限定近邊界線31,在距離實際外邊界27的所有或幾乎所有點處都是等距離的。近邊界線31也可以被平滑,如上面關于實際邊界線所述。創(chuàng)建近邊界或警告區(qū)的類似方法也可以用于內(nèi)部邊界。
機器人草坪修剪機行駛通過草坪時的自主控制的方法在圖9B中示出。在方法3000中,機器人草坪修剪機連續(xù)收集其位置數(shù)據(jù)并且構建如上所述的標記的網(wǎng)格基元的虛擬地圖(步驟3002和3004)。如果機器人確定其位于可修剪或安全基元中,則機器人草坪修剪機繼續(xù)以其當前速度(步驟3006)和航向(步驟3008)向前驅動。當機器人處于該安全區(qū)中時,它以完全自主速度(0.5m/s)驅動。在步驟3010中,如果機器人草坪修剪機10確定其在指示警告區(qū)的近邊界基元中,則其減速(例如到0.15m/s)。這兩個速度可以由定位算法的更新速率和低水平電機控制的響應時間確定。在一些示例中,完全自主速度與近邊界速度的比率可以在約5:1到約2:1范圍內(nèi),例如約5:1,約4:1,約3:1,約2:1。當機器人到達邊界基元時,它調(diào)整其路線以保持在可修剪區(qū)域內(nèi)。例如,機器人草坪修剪機10可以立即停止和退后(步驟3012)。機器人然后從可修剪區(qū)域中的可修剪基元選擇隨機目標點。目標選擇為使得它距離最近的邊界基元至少為最小距離,并且使得從機器人到目標的路徑通過邊界或不可修剪單元不超過指定次數(shù)。機器人然后轉向以面向目標并且恢復向前運動。在一些優(yōu)選實施方式中,恢復的運動以機器人草坪修剪機10沿著接近邊界的路徑(例如距離邊界恒定的距離)繼續(xù)。機器人草坪修剪機10可以遵循邊界,直到完整的周邊被修剪。機器人草坪修剪機10然后可以在可修剪區(qū)域內(nèi)移動恒定距離并完成另一回路,繼續(xù)縮小回路直到草坪20被修剪。可替代地,機器人可以修剪完整的周邊,然后遵循一系列平行的相鄰線,直到邊界內(nèi)的可修剪區(qū)域被完全通過。
在另一實施例中,平滑機器人草坪修剪機的路徑以便后來通過邊界的方法可以使用上述教導模式暫停特征。例如,當用戶在教導期間向后拉動機器人以重新定位機器人時,產(chǎn)生鋸齒狀路徑(如圖6E中的鋸齒28)。如上所述,這可以將機器人草坪修剪機放置在不可教導的狀態(tài),其中教導模式自動暫停。當機器人草坪修剪機10檢測到其再次向前移動(在閾值時間段內(nèi))時,恢復教導模式。
圖10描述了用于向機器人草坪修剪機教導草坪內(nèi)的區(qū)域的周邊的方法4000的實施方式,其使用該教導模式的暫停,允許機器人以后自主地修剪草坪。在實施方法4000之前,機器人草坪修剪機10遵循類似于圖7中描述的步驟,檢查手柄116是否被附接,并且如果確定手柄116未被附接,則提示用戶附接手柄116(例如通過在操作者反饋單元上發(fā)出嗶嗶聲或閃光)。一旦機器人草坪修剪機已經(jīng)確定手柄116被附接,發(fā)射器就與信標或邊界標記通信,并且確定信標是否是UWB信標。如果是,則執(zhí)行UWB校準序列(如上關于圖2B所述)。
此時,機器人草坪修剪機由此確定其相對于信標810和塢站12的初始位置,并且初始化圍繞其初始位置的基元的虛擬2D網(wǎng)格,以表示草坪(步驟4010)。機器人草坪修剪機10準備就緒以由操作者開始可教導模式的運動,并且提示操作者圍繞草坪20的周邊21推動機器人草坪修剪機10(步驟4012)。當機器人草坪修剪機10被操作者推動時,控制器150與信標810通信并收集位置數(shù)據(jù)(步驟4014)。在該運動期間,對應于機器人的檢測位置的2D網(wǎng)格的每個基元被設置為將它標記為邊界基元的值(步驟4016)。機器人連續(xù)地檢查它是否向前移動(步驟4017)。如果是,則機器人繼續(xù)收集位置數(shù)據(jù)并且設置通過的每個基元為邊界基元(步驟4014和4016)。如果不是,則機器人檢查其是否已經(jīng)接收到指示完成的操作者輸入,或者是否已經(jīng)過去大于存儲的閾值時間的非移動時間的長度(步驟4018),并且再次檢查機器人是否向前移動(步驟4017)。如果是,則機器人恢復收集位置數(shù)據(jù)。否則,機器人確定(步驟4018)操作者是否已經(jīng)指示完成(或時間已經(jīng)耗盡),在這種情況下,機器人草坪修剪機10確定周邊21的地圖描繪完成,并且提示操作者移動到草坪的可修剪、內(nèi)部區(qū)域(即待修剪空間,步驟4020)。然后,控制器選擇地圖中的邊界基元的最外的位置(步驟4022),并且對所選擇的基元執(zhí)行平滑操作(步驟4024)以計算最終的平滑邊界。然后,控制器使用填充功能來將計算的邊界內(nèi)的所有位置分配為內(nèi)部/可修剪區(qū)域(步驟4026)。
在一些示例中,用可修剪、不可修剪和邊界基元建立的網(wǎng)格可以附加地用于確定移動機器人應該在割草的時行進在何處。例如,在機器人的特定運行期間(或在多個不同運行上),系統(tǒng)可以記錄關于機器人的覆蓋類型狀態(tài)的信息。例如,系統(tǒng)可以跟隨在特定運行或經(jīng)多個運行期間機器人已經(jīng)訪問基元(以修剪它)的時間量。例如,系統(tǒng)可以確定機器人的姿態(tài)并且識別網(wǎng)格上的相關聯(lián)的位置。然后可以更新與該網(wǎng)格位置相關聯(lián)的信息,以指示機器人已經(jīng)修剪了該位置。然后,機器人可以識別在當前運行期間未被修剪的基元或在一系列過去的多輪修剪(例如在過去的3輪)中被不太頻繁修剪的基元,并且在修剪其它區(qū)域之前修剪這些。這將有助于在移動到其它區(qū)域之前充分覆蓋該區(qū)域。
雖然已經(jīng)關于UWB信標的使用討論了上述至少一些示例,但是本文描述的方法可以用于具有其它基于信標的定位系統(tǒng)的系統(tǒng)中,其中測量從移動資產(chǎn)(機器人)到信標的距離。這樣的技術包括但不限于飛行時間(TOF)、到達的時間距離(TDOA)或基于信號強度的系統(tǒng)。
盡管本說明書包括許多細節(jié),但是這些不應被解釋為對本公開或所要求保護的范圍的限制,而是被解釋為對于本公開的特定實施方式特定的特征的描述。在本說明書中在單獨實施方式的上下文中描述的某些特征也可以在單個實施方式中組合實施。相反,在單個實施方式的上下文中描述的各種特征也可以在多個實施方式中單獨地或以任何合適的子組合來實施。此外,雖然特征可以在上面被描述為在某些組合中起作用并且甚至最初如此要求保護,但是來自所要求保護的組合的一個或多個特征在一些情況下可以從組合中刪除,并且所要求保護的組合可以涉及子組合或子組合的變型。
類似地,雖然在附圖中以特定順序描繪了操作,但是這不應被理解為要求這些操作以所示的特定順序或以順序次序執(zhí)行,或者所有所示的操作都被執(zhí)行,以獲得期望的結果。在某些情況下,多任務和并行處理可能是有利的。此外,上述實施例中的各種系統(tǒng)部件的分離不應被理解為在所有實施例中都需要這樣的分離,并且應當理解,所描述的程序部件和系統(tǒng)通??梢砸黄鸺稍趩蝹€軟件產(chǎn)品中或封裝到多個軟件產(chǎn)品中。
因此,其它實施例在所附權利要求的范圍內(nèi)。