本發明涉及對要由割草機器人(robot lawnmower)割剪的區域的地圖構建。
背景技術:
目前,執行諸如地板清潔和草坪切割的家務功能的自主機器人是可以容易獲得的消費者產品。一些機器人通常被限制在以下之內:(i)觸碰到的墻壁和住所房間內的其它障礙物;(ii)IR檢測到的通往下方的樓梯(斷層);和/或用戶放置的諸如有向IR光束、物理障礙物或磁性帶的可檢測障礙物。墻壁通常提供了大部分的限制周界。其它機器人會嘗試使用復雜的傳感器系統和/或主動或被動信標(例如,聲吶、射頻識別(RFID)或條形碼檢測,或者各種機器視覺)對住所進行地圖構建。
一些自主割草機器人使用連續的邊界標記(例如,邊界線)來限制隨機運動的割草機器人。該邊界線意在將該機器人限制在草坪或其它適當區域之內,從而避免損壞院子的非植草區域或者侵入到鄰居的領地。該邊界線通常是圍繞待割剪的領地的連續導電回路。雖然該邊界線可以被拉入到位于半島中的領地以包圍花園或其它禁止進入的區域,但是其保持連續的回路,并且利用可以在數英尺距離處被檢測為磁場的AC電流進行激勵。該邊界線回路必須被提供以通常來自于墻面插座的電力。在有界區域內,割草機器人可以在其接近引導導體時隨機地“反彈”,或者可以遵循該引導導體。一些割草機還觸碰到物理屏障并從其反彈。
技術實現要素:
在本公開的一些實施方式中,一種割草機器人系統包括:相對于待割剪區域放置的多個信標;割草機器人,包括:檢測系統,其被配置為檢測該信標;和控制器,其被配置為在行進于該待割剪區域的同時使用該檢測系統檢測該信標并且收集地圖構建數據;一個或多個存儲指令的計算機可讀介質,該指令在由一個或多個計算設備的系統執行時使得該系統執行操作,該操作包括:從該割草機器人接收地圖構建數據;至少接收在該區域內并且在該地圖構建數據中被指定的第一和第二參考點的第一和第二地理坐標;使用該第一和第二地理坐標將該地圖構建數據對準到該區域的地圖圖像的坐標系統;并且基于將該地圖構建數據對準到坐標系統,顯示該區域的地圖圖像。
這些和其它實施方式可選地包括以下特征。該操作包括接收用戶對該待割剪區域的確認。該操作包括將該割草機器人的控制器配置為自主地割剪該區域。該割草機器人包括全球定位系統(GPS)接收器,并且該控制器被配置為將該割草機器人移動至該區域內的第一和第二參考點,并且在該第一和第二參考點使用該GPS接收器確定該第一和第二參考點的第一和第二地理坐標。該一個或多個計算設備的系統包括移動設備,該移動設備包括全球定位系統(GPS)接收器,并且接收該第一和第二參考點的第一和第二地理坐標包括:向用戶顯示將該移動設備移動至第一參考點的指令;響應于接收到指示該移動設備處于第一參考點的用戶輸入,使用該GPS接收器確定該第一地理坐標;向用戶顯示將該移動設備移動至第二參考點的指令;并且響應于接收到指示該移動設備處于第二參考點的用戶輸入,使用該GPS接收器確定該第二地理坐標。
該系統包括處于該第一或第二參考點的用于該割草機器人的對接站。該割草機器人包括第一全球定位系統(GPS)接收器;該對接站包括第二GPS接收器;接收該第一地理坐標包括使用該第一GPS接收器從該割草機器人接收該第一地理坐標;并且接收該第二地理坐標包括使用該第二GPS接收器從該對接站接收該第二地理坐標。該對接站包括第一全球定位系統(GPS)接收器;該一個或多個計算設備的系統包括移動設備,該移動設備包括第二GPS接收器;接收第一地理坐標包括使用該第一GPS接收器從該對接站接收該第一地理坐標;并且接收第二地理坐標包括使用該第二GPS接收器從該移動設備接收該第二地理坐標。該一個或多個計算設備的系統包括移動設備;從該割草機器人接收地圖構建數據包括通過該割草機器人和移動設備之間的有線或無線通信鏈路接收該地圖構建數據;并且將地圖構建數據對準到地圖圖像的坐標系統包括將該地圖構建數據提供至一個或多個計算機的地圖構建服務器系統并且從該地圖構建服務器系統接收該地圖圖像。
該地圖構建數據包括割剪路徑,并且其中顯示該地圖圖像包括顯示疊加有該割剪路徑的視覺指示符的地圖圖像。顯示該地圖圖像包括使用該地圖構建數據顯示該區域內的信標的位置的信標指示符。將地圖構建數據對準到地圖圖像的坐標系統對準包括以下一種或多種:對該地圖構建數據平移、旋轉和縮放而使得該區域的地圖圖像上的第一和第二位置與該第一和第二參考位置匹配。該控制器被配置為使得該割草機器人從該第一或第二參考點開始在該區域行進。該操作可以包括:將該地圖構建數據以及該第一和第二參考點的第一和第二地理坐標提供至一個或多個計算機的遠程服務器系統;從該遠程服務器系統接收該區域內的針對信標的一個或多個建議位置;并且在該地圖圖像上顯示針對該信標的該建議位置的指示符。
該操作可以包括:針對至少一個信標,確定與該至少一個信標的第一和第二最接近相鄰信標的第一和第二距離;確定該第一和第二距離之間的差異大于閾值距離;沿該待割剪區域的周界在該第一和第二最接近相鄰信標之間的中點處針對該至少一個信標確定建議信標位置;并且在該地圖圖像上顯示該至少一個信標的建議信標位置的指示符。該操作可以包括:在該割草機器人對該區域進行割剪的同時從該割草機器人接收跟蹤數據;并且在該地圖圖像上顯示指示該割草機器人的進展的圖形疊加。該操作可以包括:預計割草機器人的完成對區域割剪的路徑;并且在該地圖圖像上顯示指示該割草機器人的預計路徑的圖形疊加。該操作可以包括:顯示指示估計的待完成時間量的用戶界面元素。該檢測系統包括被配置為發射信號的發射器/接收器,并且其中該信標被配置為將來自該檢測系統的發射的信號反射回到該檢測系統上。
本發明的一個或多個實施例的細節在以下的附圖和描述中給出。本發明的其它特征、對象和優勢將由于該描述和附圖以及由于權利要求而是顯而易見的。
附圖說明
圖1A-1C是圖示被配置為對草坪20進行割剪的自主割草機器人10的框圖。
圖2A-B是圖示具有邊界標記805所定義的周界的待割剪區域的框圖。
圖3是用于顯示要由割草機器人10進行割剪的區域的地圖的示例系統350的框圖。
圖4A-4K描繪了示例的地圖圖像和地圖構建數據以對圖3的系統350的使用進行說明。
圖5是由例如移動設備502的計算設備所執行的用于顯示待割剪區域的地圖圖像的示例方法5000的流程圖。
圖6是用于預計割草機器人10的剩余路徑的示例方法6000的流程圖。
圖7是用于確定建議信標位置的示例方法7000的流程圖。
各圖中相似的附圖標記指示相似的要素。
具體實施方式
圖1A-1C是圖示被配置為對草坪20進行割剪的自主割草機器人10的框圖。自主割草機器人10圍繞草坪20進行移動并且在其行進于草坪20時對草22進行切割。割草機器人10包括主體100、固定至主體100的表面處理器200、包括至少一個電動輪410的驅動系統400、以及具有至少一個表面傳感器310的傳感器系統,該表面傳感器310被主體100所承載并且響應于至少一個表面特性。驅動系統400被主體100所承載。在一些實施方式中,驅動系統400被配置為在遵循至少一個表面特性的同時跨草坪20對割草機器人10進行操控。
在該示例中,表面處理器200包括浮動于后輪410上的往復運動的對稱割草器。在一些示例中,輪子可以是連續軌道或者槽面。在其它示例中,表面處理器200可以包括旋轉切割器、撒播器或收集器。草梳510也可以被主體100所承載。機器人主體100支撐用于對割草機器人10中包括驅動系統400在內的任意電氣組件進行供電的電源106(例如,電池)。
例如無線操作者反饋單元502的計算設備向割草機器人10上與控制器150進行通信的發射器/接收器151發送信號。無線操作者反饋單元502可以是包括處理器、存儲器和數字通信系統的移動設備。驅動系統400被配置為遵循從操作者反饋單元502所接收到的信號。割草機器人10可以在基站或對接站(dock)12進行對接。在一些示例中,對接站12包括對機器人主體100所容納的電源106進行充電的充電系統。在一些實施方式中,機器人10包括磁力計315。該磁力計例如對于以旋轉方式對準草坪20的地圖是有用的。
為了準備使用割草機器人10,定義待割剪的草坪20的周界21。在一些實施方式中,作為安全措施,僅在周界已經被確定并且存儲在割草機器人10的非瞬態存儲器中后,才可以執行割草機器人10的自主使用。在一些實施方式中,如圖1B所示,人工操作者500通過使用附接至機器人主體100的手柄116推動機器人10而以人工方式定義周界21。在一些實施方式中,人工操作者500通過使用驅動系統400而在機器人10移動時對機器人10進行控制來定義周界21。例如,出于安全考慮,人工操作者500可以站在至少距機器人10的某個距離之內而使用無線操作者反饋單元502來控制機器人10。一旦周界已經被教導,機器人就可以對待切割的草坪/區域進行導航而無需進一步的人工介入。
參考圖1B,在周界教導模式中,人工操作者500以人工方式引導割草機器人10來建立操作20的周界21。確定周界21可以包括利用附接至主體100的推動桿或手柄116對割草機器人10進行引導。推動桿116可以從機器人主體100拆除或裝載于其上。在一些情況下,推動桿116包括開關、速度設置或操縱以使得割草機器人10前進并轉向。推動桿116可以包括允許刀片罩的移動的機械聯動裝置以用于貼合邊緣切割能力。
在一些實施方式中,推動桿116包括一個或多個壓力或應力傳感器,割草機器人10對其進行監視從而以壓力方向進行移動或轉向(例如,兩個傳感器監視左右壓力或桿體位移以使割草機器人10轉彎)。在一些其他實施方式中,推動桿116包括與系統400進行通信的鎖死(dead man)或鎖閉(kill)開關117A以便關閉割草機器人10。開關117A可以被配置為鎖死開關從而在推動桿116的操作者停止使用推動桿116或不再與之保持接觸時關閉割草機器人10。開關117A可以被配置為在推動桿被裝載時充當鎖閉開關,這允許割草機器人10以自主模式進行操作。鎖死或鎖閉開關117A可以包括電容傳感器或剎車桿。
在一些實施方式中,推動桿116包括用于接合/脫離驅動系統400的離合器117B。割草機器人10可以在通過推動桿116進行人工操作的同時以更快的速度進行操作。例如,割草機器人10可以以大約0.5米/秒的自主速度進行操作,并且以大于0.5米/秒的人工速度進行操作(包括可以達到正常速度的120-150%的“增壓(turbo)速度”)。在一些示例中,推動桿116可以在機器人進行自主割草時被折疊或拆除。可替換地,推動桿116可以被配置為拉動桿、拉動皮帶、剛性手柄或可折疊手柄之一。在一些實施例中,推動桿116可以被裝載于機器人主體100之上或之中。
如以上所提到的,在自主修割草坪之前,割草機器人10完成教導階段。在周界教導階段期間,人工操作者500可以以要求校正的方式對割草機器人10進行試用,因此將割草機器人10置于不可教導的狀態。當割草機器人10在教導過程中檢測到其處于不可教導的狀態時,割草機器人10就向操作者發出警告(例如,經由操作者反饋單元502,諸如移動設備上的顯示器或者集成于手柄116中的顯示器)以改變割草機器人10的方向或速度從而使得割草機器人10能夠繼續記錄周界21和/或返回到在可行進地形上行進。例如,割草機器人10可以在操作者將割草機器人10推入割草機器人10在其中失去確定其位置能力的草坪20的區域中時、在用戶在從第一教導路徑變化到的第二教導路徑時、或者當用戶過快地或在過于顛簸或傾斜的地形上推動割草機器人10時進入該不可教導的狀態。
例如,人工操作者可能嘗試在草皮和巖石之間推動割草機器人10,這使得割草機器人10以過大角度(例如,超過30度)發生傾斜。或者,操作者可能嘗試向割草機器人10教導穿過該割草機器人10無法以自主模式行進的地形的路徑。在這樣的情況下,割草機器人10向操作者發出警告(例如,經由操作者反饋單元502)以選擇不同的路徑。如之前所描述的,割草機器人10可以通過任意適當的反饋機制而經由操作者反饋單元502向操作者發出警告,例如顯示器上的視覺信號、通過揚聲器的聽覺信號、嗅覺反饋信號和/或觸覺信號,諸如來自操作者反饋單元502的振動單元的振動。
如果人工操作者在教導模式期間過快或過慢地推動割草機器人10而因此將機器人置于不可教導的狀態,割草機器人10會提示用戶提高或降低割草機器人10的速度。在一些示例中,操作者反饋單元502包括速度指示器,其將在割草機器人10以大于或低于閾值速度的速度行進時亮起或閃爍(綠色、黃色、紅色燈光)。
如以下將參考圖2A所討論的,邊界標記805可以沿草坪20的周界放置從而輔助對割草機器人10的定位。在一些情況下,邊界標記805發出信號,割草機器人對該信號進行解釋從而確定其相對于該邊界標記805的位置。在其它示例中,邊界標記805是被動的。在任一種情況下,當割草機器人10失去與邊界標記805的聯系時,割草機器人10會向用戶發出警告,以例如改變路徑以保持處于邊界標記805的限制之內或者移動一個或多個邊界標記805。
在一些示例中,該教導程序要求操作者第二次(或更多次)走過草坪20的周界21。一旦操作者完成了第一次教導過程,就完成了圍繞待割剪區域的周界的閉合回路,割草機器人10可以警告操作者需要第二次教導過程。在一些示例中,操作者按下STOP按鈕以確定指示已經完成草坪20的周界21的教導過程。在一些實施方式中,該教導程序例如在一個標度上確定所教導路徑的級別或得分,從而幫助操作者理解之前對草坪20的行進距離被接受有多近。
在一些示例中,割草機器人10允許操作者在第一次教導過程之后馬上完成第二次教導過程,或者等到稍后進行。如果操作者完成了第二次或后續的教導過程并且割草機器人檢測到兩次所確定周界之間的變化大于閾值變化,則割草機器人10向操作者警告該明顯差異并且提示另一次教導從而學習草坪20的周界21。
當周界教導處理完成時,用戶可以將割草機器人10對接在其對接站12(參見圖1)中,這允許割草機器人10在割剪之前進行充電。
圖2A-B是圖示具有由邊界標記805所定義的周界的待割剪區域的框圖。在一些實施方式中,割草機器人10包括邊界檢測系統800,該邊界檢測系統800包括部署在機器人主體100上的發射器/接收器151以及邊界標記805(圖2A)。被動邊界標記805的類型可以包括:激光雷達(LIDAR)掃描匹配、被動LIDAR后向反射器(信標)或者其二者。在一些示例中,邊界標記805包括:雷達(RADAR)掃描匹配(可視信號(blips))、RADAR后向反射器或其二者。在包括沿草坪20的周界21放置的邊界標記805的實施方式中,邊界標記805可以由發射器/接收器151所執行的相鄰掃描匹配數據所單獨識別(參見圖1B)。
在掃描匹配中,割草機器人10可以將在行駛時的給定時間所進行的掃描與存儲器中作為每個邊界標記805的特性所存儲的掃描進行匹配,并且割草機器人10因此可以確定其相對應每個可以單獨識別的邊界標記805的位置。在一些實施方式中,邊界標記805包括割草機器人10可以感知的其它單獨的識別手段,諸如使得割草機器人10能夠檢測其相對位置的條形碼或編碼信號。
如圖2A所示,邊界標記805(例如,信標)被放置在草坪20的周界周圍從而約束或影響割草機器人10的行為。用戶將邊界標記805放在沿周界21的所期望位置處。在一些示例中,邊界標記805的每個位于相鄰邊界標記805的視線之內。
邊界標記805可以包括操作者可以放置在指示全局原點(例如,對接站12或者兩個并排放置的邊界標記)的位置中的歸屬(home)標記。操作者盡可能均勻地沿草坪20的周界21分布邊界標記805。
在一些示例中,信標可以被置于環境之中,并且機器人可以使用該信標來定位其位置。信標可以使用例如寬帶(WD)或超寬帶(UWB)技術、2.4GHz(802.11v)技術或者其它類型的射頻飛行時間技術進行通信。這些信標可以被置于可割剪區域之內(例如,信標810b),或者被置于邊界上(例如,信標810a),或者被置于邊界之外(例如,信標810c)。這些信標810(圖2B)包括互相通信以及與位于割草機器人10上的收發器11進行通信的收發器811。
相應的WB或UWB收發器被置于割草機器人10(例如,割草機器人10包括與每個信標810a-c進行通信的接收器/發射器151)上、每個信標810a-c上,并且可選地被置于對接站12上。若干信標810a-c圍繞可割剪區域進行放置并且彼此間隔開,且與對接站12間隔開。如圖2B中源自于割草機器人10的實線所示,割草機器人10與每個信標810a-c以及與對接站12進行通信。如虛線所示,每個信標810a-c與每個其它信標以及與對接站12進行通信。
如果來自位于院子周圍的WB或UWB信標810a-c的WB或UWB信號被用來確定割草機器人在該院子內的位置,則WB或UWB信標810a-c的位置可以被該割草機器人所建立。通常,在WB或UWB系統初始設置時,執行初始化處理。該處理可以部分地基于被用來確定WB或UWB信標810相對于彼此的位置的多維縮放(multidimensional scaling)算法,上述算法進而可以被用來確定機器人10相對于信標的位置。
因此,人工操作者500并不需要在特定位置處放置WB或UWB信標810a-c,因為該系統在初始化時自動地確定WB或UWB信標810a-c的位置。在一些實施方式中,機器人10例如通過來自人工操作者500的用戶輸入而確定所部署信標的數量。在這些情況下,機器人10可以將所部署信標的數量與可以看到的信標的數量進行比較。如果可以看到的信標的數量小于所部署信標的數量,則機器人10可以向人工操作者500發出警告并且可以建議重新定位,例如通過信標標識符序號來識別無法被看到的信標。
WB或UWB信標810a-c的放置中的這種靈活性可以提供的優勢在于,簡化了自主草坪割剪機器人系統的安裝和設置過程。此外,由于信號的全方向(omni-directional)屬性,WB或UWB信標810a-c可以與某些基于視線的系統相比離地面更低,這是因為機器人10無需與為了從信標接收信號而(例如,在視線布置中)與信標進行對準。信號的該全方向屬性還允許信標810a-c以非平面的方式放置和/或相對于彼此、對接站12和/或機器人10旋轉/傾斜。
在一些示例中,信標具有距地面大約12英寸和大約24英寸之間的高度(例如,處于大約12英寸和大約24英寸之間;處于大約16英寸和大約20英寸之間;大約18英寸)。在后續使用時(例如,在割草機器人每次割剪草坪之前),可以執行校準或確認處理從而確定WB或UWB信標810a-c仍然處于它們預期的、之前所確定的位置。
在收集到定義周界21的地圖構建數據之后,人工操作者500可能希望使用計算設備502—其可以是移動設備—來確認周界的位置。人工操作者500可以啟動移動設備502上的地圖構建應用。在執行該地圖構建應用時,移動設備502顯示待割剪區域的地圖,該地圖上疊加有人工操作者500所要確認的周界。
為了顯示該地圖,移動設備502從機器人10接收地圖構建數據。移動設備502還接收該區域內的第一和第二參考點的第一和第二地理坐標。隨后,移動設備502使用該第一和第二參考點將該地圖構建數據對準到該區域的地圖圖像的坐標系統。移動設備502基于所對準的地圖構建數據顯示該區域的地圖圖像,該地圖圖像上疊加有周界的指示符。下文進一步參考圖3和圖5對用于顯示該地圖的示例系統和方法進行描述。
圖3是用于顯示要由割草機器人10進行割剪的區域的地圖的示例系統350的框圖。示例系統350包括割草機器人10、移動設備502和對接站12。這些設備可以通過數據通信網絡158而與一個或多個計算機的地圖構建系統600進行通信。網絡158例如可以包括無線路由器,其與該設備進行無線通信并且連接至互聯網從而與地圖構建系統600進行通信。在其它示例中,機器人10和對接站12可以與移動設備進行通信,并且該移動設備可以將信息中繼至地圖構建系統。
割草機器人10包括控制器150,被配置為檢測信標的檢測系統160,以及可選的位置系統152,例如全球位置系統(GPS)接收器。移動設備502包括處理器系統510以及可選的位置系統512,后者例如GPS接收器。在一些實施方式中,對接站12可以是并不在網絡158上進行通信的充電站,而在一些其它實施方式中,對接站12則可以具有控制器154和/或位置系統156,后者例如GPS接收器。
在操作中,割草機器人10行進于待割剪區域。為了訓練割草機器人10,如以上參考圖1A-C所描述的,人工操作者可以圍繞待割剪區域的周界推動割草機器人10。機器人控制器150使用檢測系統,在行進于該區域的同時來檢測信標,并且收集指定待割剪區域的周界的地圖構建數據。
在割草機器人10收集到該地圖構建數據之后,割草機器人10將該地圖構建數據傳送至移動設備502。例如,割草機器人10可以通過藍牙連接或者通過本地無線網絡與移動設備502進行通信。移動設備502可以通過啟動處理器系統510所執行的地圖構建應用來發起傳輸。
移動設備502接收區域內的參考點的至少兩個參考地理坐標。在一些示例中,該地理坐標包括經度和緯度。然而,可以使用其它的地理位置數據。該參考點對應于地圖構建數據所指定的位置。移動設備502可以使用任意各種適當的技術來獲得該參考坐標。出于說明的目的,考慮以下三個示例。
在第一示例中,假設割草機器人10和對接系統12不具有或者不使用位置系統152、156。移動設備502將使用其位置系統512來獲取參考坐標。例如,在執行地圖構建應用時,移動設備502可以指示人工操作者將移動設備502移動至對接站12,該對接站12可以是由于割草機器人10在對接站12開始同時收集地圖構建數據而在該地圖構建數據中所指定的點。當處于對接站12時,人工操作者向移動設備502提供指示該移動設備502處于對接站12的輸入,并且移動設備502使用其位置系統512來獲得第一地理參考坐標。
隨后,移動設備502指示人工操作者將移動設備502移動至在地圖構建數據中所指定的該區域中的另一個點。例如,移動設備502可以指示人工操作者將移動設備502移動至最接近的信標或另一個信標,或者移動設備502可以指示人工操作者沿著割草機器人10收集地圖構建數據時所采用的路徑行走某段距離。在人工操作者到達第二點時,移動設備502使用其位置系統512來獲得第二地理參考坐標。
在第二示例中,假設割草機器人10具有位置系統152。割草機器人10在收集地圖構建數據的同時還可以獲得參考坐標。例如,當割草機器人10在對接站12的位置開始收集地圖構建數據時,割草機器人10使用位置系統152來獲得第一地理參考坐標(例如,經度和緯度坐標)。隨后,在割草機器人10移動至該區域中距對接站12至少某個距離的另一個位置時,割草機器人10使用位置系統152獲得額外的地理參考坐標。該處理可以被重復以獲得任意數量的額外的地理參考坐標。割草機器人10將地圖構建數據和地理參考坐標發送至移動設備502。在一些情況下,例如在參考點的位置尚未被指定的情況下,割草機器人10可以發送指定地理參考坐標如何對應于地圖構建數據的數據。
在第三示例中,假設對接站12具有并使用位置系統156。對接站12可以提供第一地理參考坐標(例如,經度和緯度坐標),并且割草機器人10或移動設備502可以在該區域內距對接站12至少某個距離的點獲得第二地理參考坐標。在對接站12而不是割草機器人10中具有位置系統156例如對于減少割草機器人10的重量可以是有用的。
移動設備502使用該地理參考坐標和地圖構建數據來顯示待割剪區域的地圖圖像。在一些實施方式中,移動設備502從地圖構建系統600獲得地圖圖像,將地圖構建數據取向(orient)至來自地圖構建系統600的地圖圖像的坐標系統,并且隨后顯示具有待割剪區域的周界的圖形疊加的地圖圖像。在一些其它實施方式中,移動設備502將該地圖構建數據和地理參考坐標發送至地圖構建系統600,并且地圖構建系統600生成具有待割剪區域的周界的圖形疊加的地圖圖像。在一個特定示例中,第一地理參考坐標被用來識別地圖圖像和邊界之間的共有位置,而第二地理參考則被用來以旋轉方式將地圖與地圖構建數據對準。
圖4A-4K描繪了示例的地圖圖像和地圖構建數據以對圖3的系統350的使用進行說明。
圖4A描繪了待割剪區域的示例周界450。周界450可以以任意適當的數據結構進行存儲,例如作為在坐標系統454中被引用的一系列的X,Y坐標。該坐標可以是距割草機器人10在其收集地圖構建數據時的起始點—例如對接站12—的距離(例如,X和Y距離)。地圖構建數據可以包括信標805的位置,其可以利用點或其它符號進行圖示。圖4I將周界450圖示為被標記為處于可割剪區域的邊界之內、之外或之上的單元的笛卡爾網格。
圖4B描繪了待割剪區域的示例地圖圖像452。移動設備502可以從地圖構建系統600獲得地圖圖像452。地圖構建系統600可以存儲地圖圖像或者從另一個系統獲得地圖圖像。為了獲得適當的地圖圖像452,移動設備502將位置數據提供至地圖構建系統600。例如,移動設備502可以將GPS坐標發送至地圖構建系統,或者移動設備502可以提示人工操作者500輸入地址。地圖圖像452參照坐標系統456進行顯示。
圖4C描繪了具有疊加在地圖圖像452上的周界450的地圖圖像452。周界450還沒未被調節從而考慮不同的坐標系統456。結果,周界450并未準確地相對于地圖圖像452描繪待割剪區域的邊界。
圖4D描繪了地圖構建數據已經被調節從而考慮不同坐標系統454、456之后的疊加有周界450的地圖圖像452。移動設備502和/或地圖構建系統600可以通過對地圖構建數據進行平移、旋轉和/或縮放來調節地圖構建數據,而使得該地圖構建數據對準到地圖圖像452的坐標系統。在對準時,地圖構建數據內的參考點的地理坐標將與地圖圖像的地理坐標相匹配。
在調節地圖構建數據時,周界路徑450被轉換為與地圖圖像452相同的坐標框架。機器人坐標系統454中的第一參考點位置與圖像坐標系統456中的第一參考點位置之間的差異得以被計算。機器人坐標系統454內的所有數據—包括信標位置805和周界路徑450—都可以以該差異進行平移,這形成了轉換數據。圖像坐標系統中的第一參考點可以被用作頂點來計算來自所轉換的機器人坐標系統454的第二參考點與來自圖像坐標系統456的第二參考點之間的角度。該角度可以被用來將所有轉換數據在圖像坐標系統中進行旋轉。
圖4E描繪了所顯示的地圖圖像460的示例截屏,其具有請求用戶對地圖圖像上的邊界的位置進行確認的用戶界面元素462。用戶可以檢查地圖圖像460以確認周界450被割草機器人10正確捕捉和/或周界450已經與地圖圖像460正確地對準。由于地圖圖像460是用于用戶對邊界以及割剪位置/進展進行感知而并非被用來控制或識別割草機器人10的邊界,所以該對準并非必然是精確的。更具體地,該機器人使用在訓練處理期間所定義的坐標系統來確定其相對于所訓練邊界的位置。
圖4F描繪了所顯示的地圖圖像460的示例截屏,其具有示出割草機器人10在其修割草坪時的進展的圖形疊加466。更具體地,機器人將有關其在割剪期間的位置的信息發送至移動設備并且移動設備502利用示出機器人10所行進路徑的圖形疊加來更新地圖。地圖圖像460還包括描繪所估計的完成時間的用戶界面元素464。該完成時間例如可以基于在待割剪區域的周界450內剩余的待割剪的區域進行估計。用戶界面元素464可以是任意適當的用戶界面元素。
圖4G描繪了所顯示的具有示出圖形疊加468的地圖圖像460的示例截屏,該圖形疊加468具有示出割草機器人10的進展的圖形疊加466和所預計的割草機器人10在其修割草坪時的剩余路徑。這允許用戶對已經被割剪的院子的部分以及割草機器人10將要遵循從而完成院子的割剪的路徑都進行視覺化呈現。該預計路徑例如可以基于周界450的形狀以及割草機器人10的當前進展進行預計。預計割草機器人10的剩余路徑在下文中參考圖6進一步詳細描述。在一些示例中,割草機器人10在割剪過程期間會遇到意外的障礙物。例如,樹枝會阻擋割草機器人10而使得其無法對院子的特定位置或區域進行割剪。在一些示例中,當割草機器人10遇到意外障礙物時,可以在顯示器上提供其中遇到該意外障礙物的位置的指示符(未示出)。這可以向用戶(例如,戶主)提供他/她應當從院子移除該障礙物從而允許割草機器人10在其接下來所安排的割剪時間期間在該區域行進并且對該區域進行割剪的指示。
圖4H描繪了所顯示的地圖圖像460的示例截屏,其具有信標的建議位置470。該建議位置470可以是現有信標的位置的替代。由于用戶可以選擇他們自己的信標位置,所以參考地圖圖像460而針對信標提供建議的位置從而幫助用戶示出信標放置在何處可以改善割草機器人10的性能因素(例如,準確性、效率)會是有用的。確定所建議信標位置在下文中參考圖7進一步詳細描述。
圖5是例如由移動設備502的計算設備所執行的用于顯示待割剪區域的地圖圖像的示例方法5000的流程圖。出于圖示的目的,方法5000將被描述為由圖3的移動設備502所執行。移動設備502例如可以執行該方法而產生圖4D-4H的截屏。移動設備502可以在用戶啟動移動設備502上的地圖構建應用時執行方法5000。
移動設備502初始化與割草機器人10的通信(5002)。例如,移動設備502可以與割草機器人10建立藍牙連接,或者移動設備502可以通過無線網絡與割草機器人10進行連接。在一些實施方式中,移動設備502向用戶提示用來正確識別割草機器人10的信息;在一些其它實施方式中,移動設備502被配置為以無線方式探測割草機器人10。在一些實施方式中,割草機器人10的控制器150針對移動設備502進行認證。
如果割草機器人10還沒有行進于草坪以收集地圖構建數據,則移動設備502可以提示用戶使得割草機器人10收集該地圖構建數據。例如,移動設備502可以為用戶顯示與割草機器人10進行交互的指令,并且移動設備502可以在用戶想要獲得人工幫助的情況下致電消費者服務部門。在一些實施方式中,用戶圍繞院子推動割草機器人10,例如,如以上參考圖1A-C所描述的。
移動設備502從割草機器人10接收地圖構建數據(5004)。該地圖構建數據可以定義待割剪區域的周界以及其它數據,例如圍繞待割剪區域放置的信標的位置。該地圖構建數據可以以任意適當的數據結構進行存儲,例如作為相對于起始點的坐標的列表、或者作為向量數據。
移動設備502接收該區域內的參考點的地理坐標(5006)。例如,移動設備502可以如以上參考圖3所描述的接收參考點的地理坐標。移動設備502接收至少兩個參考點的地理坐標。該參考點例如可以是對接站12的位置和最接近的信標850,或者是至少距對接站12某個距離的其它點。
移動設備502接收待割剪區域的地圖圖像(5007)。例如,移動設備502可以使用參考點之一(例如,精度和緯度)從地圖圖像的數據庫檢索該地圖圖像。在另一個示例中,移動設備可以請求用戶輸入地址并且使用該地址從地圖圖像的數據庫檢索地圖圖像。所接收到的地圖圖像可以是草坪的俯瞰照片以及周邊圖像,諸如衛星圖像。
移動設備502將地圖構建數據對準到待割剪區域的地圖圖像的坐標系統(5008)。例如,移動設備502可以獲得地圖圖像以及與該地圖圖像相關聯的指定該地圖圖像的各部分和地理坐標之間的對應性的數據。該移動設備隨后可以通過將地圖構建數據平移、旋轉和/或縮放來對準該地圖構建數據,而使得第一和第二參考點與該地圖圖像上如指定該地圖圖像的各部分與地理坐標之間的對應性的數據所指定的第一和第二位置相匹配。
在信息不足的情況下(例如,參考點之一缺失或者被認為存在噪聲或不正確),移動設備502和/或地圖構建系統可以搜索地圖中與周界450相對應的特征。圖像分類器可以被作用于地圖圖像452從而找出同樣軌跡的特征,諸如房屋或建筑物的角、草坪邊緣、或者與周界450良好匹配的任意其它不同路徑。移動設備502還可以將其它信息源與相同的測地坐標系統整合為地圖圖像452,諸如公眾邊界和界址線。
在機器人10包括磁力計315的實施方式中,機器人10可以隨地圖構建數據一起包括方向數據。例如,作為參考點之一的替代或者除了兩個參考點以外,移動設備502和/或地圖構建系統然后可以使用該方向數據來改善對準。例如,機器人10可以隨地圖構建數據一起包括指示哪個方向為北方的數據。地圖構建系統然后還可以針對地圖圖像而確定哪個方向面向北方,并且移動設備502和/或地圖構建系統可以對準地圖構建數據和/或地圖圖像從而使得兩個方向匹配。
在一些實施方式中,來自計算機視覺的圖像配準(registration)技術被用來將地圖數據與地圖圖像進行對準。地圖被轉換為網格表示(如果其還沒有處于該格式),其中每個單元被標記為處于可割剪區域之內或之外,并且每個單元值可以由具有不同強度的像素進行表示。例如,可割剪單元可以由白色像素標記,而非可割剪單元則可以由黑色像素標記。該地圖圖像還由基于每種顏色對應于可割剪區域的可能性將顏色轉換為強度的算法進行處理。例如,綠色像素可以被轉換為白色像素(高的可割剪的可能性),黃色和棕色像素可以被轉換為灰色像素(中等的可割剪的可能性),而其它顏色的像素則可以被轉換為黑色像素(低的可割剪的可能性)。
在一些實施方式中,機器學習算法(例如,支撐向量機、神經網絡)可以被用來基于示例圖像而學習地圖圖像的哪些顏色最可能表示可割剪區域。該機器學習算法隨后可以與地圖圖像一起被用來創建兩個草地可能性圖像(GPI),一個針對可割剪區域而一個針對地圖圖像,隨后可以使用標準圖像配準技術進行對準。圖4J圖示了針對可割剪區域的示例的草地可能性圖像480。圖4K圖示了針對地圖圖像的示例的草地可能性圖像482。
這些技術可以包括基于強度的算法以及基于特征的算法。在這兩種方法中,例如使用(機器人10、對接站12或移動設備502上的)GPS所測量的地理參考點可以被用作地圖GPI和地圖圖像GPI之間的對準的初始猜測。在基于強度的方法中,地圖GPI隨后(使用平移和旋轉)被變換并且與地圖圖像GPI進行關聯,并且具有最高關聯值的變換被用來對圖像進行對準。變換空間的搜索可以在接近初始猜測的有限區域中是窮舉的,或者諸如爬山法、梯度下降法或模擬退火法的非線性優化技術可以被用來減少對準所需的時間。
在基于特征的方法中,在地圖GPI和地圖圖像GPI中檢測局部特征。這些特征可以包括線條和角,以及諸如SIFT(尺度不變特征變換)、SURF(加速魯棒特征)或HOG(方向梯度直方圖)的尺度不變特征。一旦這些特征的位置在兩個GPI中被檢測到,就可以使用與以上針對基于強度的方法所描述的相同技術,對地圖GPI中的特征位置變換并且與地圖圖像GPI中的那些相匹配。最佳變換隨后被用于地圖對準。
在一些實施方式中,移動設備502從地圖構建系統600接收地圖圖像并且將地圖構建數據對準到該地圖圖像。在一些其它實施方式中,移動設備502將地圖構建數據和參考點的地理坐標提供至地圖構建系統600,并且該地圖構建系統對準該地圖構建數據并且使用經對準的地圖構建數據提供地圖圖像。該地圖構建系統可以以任意適當的方式選擇地圖圖像,例如使用參考點的地理坐標,或者通過使用用戶的街道地址。
移動設備502使用經對準的地圖構建數據顯示地圖圖像(5010)。例如,移動設備502可以顯示具有圖示出待割剪區域的周界的圖形疊加的地圖圖像。在另一個示例中,移動設備502可以顯示具有待割剪區域被高亮或加陰影顯示的地圖圖像。
一旦地圖構建數據已經對準到地圖圖像的坐標系統,地圖圖像和地圖構建數據就可以被用于各種可選任務(5012)。例如,移動設備502可以提示用戶確認該待割剪區域。移動設備502可以呈現出實時或近實時地示出割草機器人10在其割剪草坪時的進展的顯示,例如通過使得割草機器人10在其割剪草坪時將其位置傳輸至移動設備502。移動設備502可以呈現出示出割草機器人10的預計剩余路徑和/或割草機器人10完成草坪割剪的預計剩余時間的顯示。
圖6是用于對割草機器人10的剩余路徑進行預計的示例方法6000的流程圖。方法6000由計算設備—例如,圖3的移動設備502—所執行。出于說明的目的,方法6000將被描述為由圖3的移動設備502所執行。
移動設備502接收定義了圍繞待割剪區域的周界的地圖構建數據(6002)。移動設備502接收指定該區域中已經被割草機器人10所割剪的部分的跟蹤數據(6004)。
移動設備502根據割草機器人的當前位置來繪制割草機器人10的預計路徑,該預計路徑可以由割草機器人10遵循以完成周界內還未被割剪的區域的割剪(6006)。在一些實施方式中,移動設備502通過模擬存儲在割草機器人10的控制器150上的導航算法來繪制該預計路徑。
在一些實施方式中,該控制器基于應用于草坪的網格地圖表示的轉行交替(Boustrephedon)(例如,谷物巡回(cornrow))算法來生成覆蓋路徑。在該網格地圖中,單元被標記為處于可割剪區域的邊界之內、之外或之上。在一些情況下,該機器人在草坪的一角處開始(如圖4F中的示例),并且隨后平行于草坪邊緣移動直至其遇到草坪邊緣的單元。機器人在該點進行180度的轉彎并且隨后向下對平行于第一行的新的路徑進行割剪,并且橫向偏移量不超過切割機構的寬度(從而確保每一行的割草之間沒有間隙)。
用戶還可以選擇這些隊列的取向(垂直、水平或者他們所偏好的任意角度)。用戶還可以在草坪中隔出他們不希望割草機器人在其當前任務期間所覆蓋的區域,或者指定應當更加徹底割剪的區域(通過更慢的移動或者多次通過的方式)。在一些實施方式中,該“阻進”區的邊界在網格地圖中被標記為邊界單元,而該阻進區之內的單元被標記為非可割剪的。路徑可以具有允許用戶在不同的割剪圖案或風格之間進行選擇的其它可配置度量,或者可以具有允許生成有所變化的路徑的偽隨機屬性。
移動設備502生成具有預計路徑的圖形疊加的待割剪區域的地圖圖像(6008)。如以上參考圖5所進一步描述的,移動設備可以將地圖構建數據和跟蹤數據對準到地圖圖像的坐標系統。移動設備可以在該地圖圖像中包括各種特征,例如示出割草機器人10已經割剪過的區域的第一圖形疊加,以及示出預計路徑和預計完成時間的指示符的第二圖形疊加。預計完成時間例如可以基于待割剪的區域的大小和割草機器人10的速度以及行/隊列之間的重疊量。剩余時間還可以基于割草機器人10的剩余電池電量,并且可以通過電池中的剩余能量的量和/或電池中的剩余能量減去使得割草機器人10返回對接站10所需能量的量除以平均功耗來計算。修割草坪的總剩余時間也可以被顯示,包括返回至充電器、重新充電并且隨后割剪剩余區域所需的時間。
圖7是用于確定建議信標位置的示例方法7000的流程圖。方法7000由計算設備—例如圖3的地圖構建系統—所執行。出于說明的目的,方法7000將被描述為由圖3的地圖構建系統600所執行。
地圖構建系統600接收定義待割剪區域的周界的地圖構建數據(7002)。該地圖構建數據還指定若干導航信標的位置。地圖構建系統600從割草機器人10接收該地圖構建數據。例如,割草機器人10可以將該地圖構建數據提供至移動設備502,移動設備502隨后例如可以在用戶請求時將該地圖構建數據提供至地圖構建系統600。
地圖構建系統600針對可能的建議位置而檢查每個信標位置(7004)。例如,地圖構建系統可以對于每個信標確定到兩個最接近信標的距離。如果信標距最接近信標中的一個比另一個更近,則該地圖構建系統可以確定建議位置,該建議位置更接近于沿周界的兩個信標之間的中點。在另一個示例中,該地圖構建系統可以使用標高(elevation)數據來確定兩個相鄰信標處于兩個不同標高,其高度距離超過了閾值。該地圖構建系統可以確定處于這兩個不同標高之間的標高處的建議位置。
割草機器人10可以識別出從位置系統估計的位置不太具有置信度的地方。該地圖構建系統可以建議在這些置信度較低的地方附近放置信標。還可以通過分析信標之間的距離上的長的間隙或者由于阻隔而僅可以與幾個信標通信的信標,使建議位置基于信標位置地圖。
地圖構建系統600對任何建議信標位置提供在地圖圖像上的顯示(7006)。例如,地圖構建系統600可以通過將地圖構建數據對準到地圖圖像而生成具有當前信標位置以及建議信標位置的圖形指示符的地圖圖像。在另一個示例中,地圖構建系統600將建議位置提供至移動設備502,并且移動設備502生成示出建議信標位置的地圖圖像。
雖然該說明書包含了許多具體細節,但是這些并不應當被理解為是對本公開請求或者所要求保護的范圍的限制,而是作為對本公開特定實施方式的具體特征的描述。在該說明書中在單獨實施方式的上下文中進行描述的某些特征也可以在單一實施方式中相結合地實施。相反,在單一實施方式的上下文中進行描述的各種特征也可以在多種實施方式中單獨實施或者以任意適當的子組合實施。此外,雖然特征在上文中可以被描述為以某種組合進行工作并且甚至最初要求保護如此,但是來自所請求保護的組合的一個或多個特征在一些情況下可以脫離該組合,并且所請求保護的組合可以針對于子組合或者子組合的變化形式。
類似地,雖然操作在圖中以特定順序被描繪,但是這并不應當被理解為要求這些操作以所示出的特定順序或先后順序來執行,或者所有所圖示的操作都要被執行從而實現所期望的結果。在某些情況下,多任務和并行處理可能是有利的。此外,在以上所描述實施例中的各種系統組件的分離并不應當被理解為在所有實施例中都要求這樣的分離,并且應當理解的是,所描述的程序組件和系統一般可以在單個軟件產品中被整合在一起或者被封裝至多個軟件產品中。
因此,其它實施例在以下權利要求的范圍之內。