(57)【要約】【課題】芝刈りをすべきエリアの周囲に沿って芝刈りロボットを案内する。【解決手段】自律型芝刈りロボット（１０）でエリアを芝刈りする方法は、前記芝刈りロボット（１０）が芝刈りをすべきエリアの周囲（２１）に沿って案内されるときに、前記芝刈りロボット（１０）の位置に対応する、地理空間的に参照される周囲データのセットを、前記ロボット（１０）の非一時的な記憶装置に格納し、前記周囲データのセットから１以上のデータポイントを取り除き、それにより、編集されたデータセットを生成し、前記編集されたデータセットに対応する境界線によって閉ざされたエリアを自律的に芝刈りするように前記芝刈りロボット（１０）を制御すること、を含み、前記制御することは、前記芝刈りロボットを前記閉ざされたエリア（２０）に戻すように方向を変える為に、前記編集されたデータセット内のデータに対応する位置又はその位置の近くで前記芝刈りロボット（１０）の方向を変更することを含む。【選択図】図１Ｃ
2020114226.tif 000002
【特許請求の範囲】
【請求項１】
自律型芝刈りロボットでエリアを芝刈りする方法であって、
前記芝刈りロボットが芝刈りをすべきエリアの周囲に沿って案内されるときに、前記芝刈りロボットの位置に対応する、地理空間的に参照される周囲データのセットを、前記ロボットの非一時的な記憶装置に格納し、
前記周囲データのセットから１以上のデータポイントを取り除き、それにより、編集されたデータセットを生成し、
前記編集されたデータセットに対応する境界線によって閉ざされたエリアを自律的に芝刈りするように前記芝刈りロボットを制御すること、を含み、
前記制御することは、前記芝刈りロボットを前記閉ざされたエリアに戻すように方向を変える為に、前記編集されたデータセット内のデータに対応する位置又はその位置の近くで前記芝刈りロボットの方向を変更することを含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、草刈りの為の自律型移動ロボットに関する。
【背景技術】
【０００２】
床清掃や芝刈りといった家庭での仕事を実行する自律型ロボットは、現在、すぐに利用可能な消費者製品である。商業的に成功したロボットは、不必要に複雑でなく、また、限定されたエリア内で概してランダムに動作する。床清掃の場合には、このようなロボットは、（ｉ）住宅の部屋内での接触した壁や他の障害物、（ｉｉ）下方に案内するＩＲ検出の階段（崖）、及び／又は（ｉｉｉ）方向づけられたＩＲビーム、物理的なバリヤ、又は磁気テープ等のユーザが配置した検出可能なバリヤの範囲内に概して閉じ込められる。壁は、制限の境界線の大部分を提供する。他のロボットは、センサ及び／又は能動的又は受動的ビーコン（例えば、ソナー、ＲＦＩＤ又はバーコード検出、又は様々な種類のマシンビジョン）の複雑なシステムを用いて住居のマップを作成しようと試みるであろう。
【０００３】
いくつかの自律型ロボット芝刈機は、ランダムな動きのロボット芝刈機を制限する為の連続的な境界線マーカ（例えば、境界ワイヤ）を用いる。境界ワイヤは、庭の草の無いエリアを傷つけることや、隣の所有地に入り込むことを避ける為に、芝または他の適切なエリア内にロボットを制限するように意図される。境界マーカは、通常は、芝刈りを行うべき所有地の周りの連続的な導電性ループである。この案内導体は、庭や他の立入禁止エリアを取り囲むように半島の所有地内に引き入れることができるけれども、連続的なループのままであり、２、３フィートの距離から磁界として検出すことができるＡＣ電流で活性化される。案内導体ループは、通常は壁のソケットから電力を供給しなければならない。境界をつけられたエリア内では、芝刈りロボットは、案内導体に近付いたときランダムに“跳ね返り”、または、案内導体をたどって進むであろう。いくつかの芝刈機は、また、物理的なバリヤに触れ跳ね返る。
【発明の概要】
【０００４】
本開示のいくつかの実施において、自律型芝刈りロボットでエリアを芝刈りする方法は、芝刈りロボットが芝刈りをすべきエリアの周囲に沿って案内されるときに、芝刈りロボットの位置に対応する、地理空間的に参照される周囲データのセットを、ロボットの非一時的な記憶装置に格納し、周囲データのセットから１以上のデータポイントを取り除き、それにより、編集されたデータセットを生成し、編集されたデータセットに対応する境界線によって閉ざされたエリアを自律的に芝刈りするように芝刈りロボットを制御すること、を含み、制御することは、芝刈りロボットを閉ざされたエリアに戻すように方向を変える為に、編集されたデータセット内のデータに対応する位置又はその位置の近くで芝刈りロボットの方向を変更することを含む。いくつかの側面において、地理空間的に参照されるデータを格納する前に、芝刈りをすべきエリアの周囲上の別々のマーカの位置を決定する。地理空間的に参照されるデータは、芝刈りロボットが別々のマーカと関連して周囲に沿って案内されるときに地理空間的に参照される。周囲データのセットからデータポイントを取り除く前に、芝刈りをすべきエリア内で芝刈りロボットの位置から基準点を決定する。本方法は、操作者に芝刈りをすべきエリア内に芝刈りロボットを位置付けるように促し、次に、基準点決定を開始することを含む。編集されたデータセットに対応する境界線が芝刈りをすべきエリアの内部境界線であるか又は外部境界線であるかは、境界線を基準とする基準点の場所から決定される。
【０００５】
本開示の他の側面において、地理空間的に参照される周囲データを格納することは、２次元データアレイのセルを芝刈りロボットの位置に対応するとしてマークすることを含む。また、１以上のデータポイントを取り除くことは、１以上のマークされたセルにおけるエントリを、このようなセルが周囲位置に対応しないと示す為に、変更することを含んでいても良い。取り除かれるべきデータポイントは、芝刈り可能及び芝刈り不可セルの両方には隣接しない境界線セルである。周囲データのセットを格納することは、芝刈りロボットが前方又は後方のいずれに案内されているかを決定し、芝刈りロボットが後方に案内されている間はデータ格納を一時中止することを含む。自律的にエリアを芝刈りするようにロボットを制御する前に、格納された周囲データが連続的な経路を表しているか否かを決定する。本方法は、所定の幅未満の全ての経路ギャップを埋める為にデータポイントを追加することを含むことができる。格納された周囲データが所定幅より大きなギャップを規定する非連続的な経路を表すと決定すると、周囲に沿っての芝刈りロボットの案内を再び始めるように操作者に信号で知らせ、再び始められた案内中に追加の周囲データを格納する。自律的にエリアを芝刈りするようにロボットを制御する前に、スムージングされた境界線を規定する為に、１３５度よりも小さい内部角度を規定する周囲経路セグメントに対応する、格納された周囲データの一部を変更する。案内される芝刈りロボットが所定の時間間隔よりも小さな時間、静止している間、周囲データのセットの格納を一時中止し、芝刈りロボットが動くと再開する。案内される芝刈りロボットが所定の時間間隔より大きな時間静止していることに応じて、周囲データのセットの格納が完結される。自律的にエリアを芝刈りするようにロボットを制御することは、芝刈りロボットが境界線から所定の距離内にあるか否かを決定し、芝刈りロボットが所定の距離内にあると決定することに応じて、ロボットの芝刈り速度を低下させることを含む。周囲は、芝刈りをすべきエリアを取り囲む外部周囲である。周囲は、芝刈りをすべきエリアで囲まれたエリアを取り囲む内部境界線である。
【０００６】
本開示の他の側面において、自律型芝刈りロボットは、草刈り機を運ぶロボット本体と、ロボット本体を支持するモータの付いた車輪を備える駆動システムと、閉じた芝のエリアを草を刈り取りつつ横断するように芝刈りロボットを操縦する為に、モータの付いた車輪に動作可能に接続されたコントローラと、を備える。コントローラは、教示モードにおいて、芝刈りロボットが芝のエリアの境界に沿って案内されるときに、芝刈りロボットの位置に対応する、地理空間的に参照される境界線データのセットを、非一時的な記憶装置に格納し、教示モードにおいて、芝のエリア内の基準位置に対応する基準データを格納し、境界線データから、境界線データのセットの他のデータポイントによって表される他の隣接位置よりも基準位置に空間的により近い位置に対応する１以上のデータポイントを取り除き、それにより、編集された境界線データセットを生成し、次に、自律動作モードにおいて、編集された境界線データセットに対応する経路によって閉ざされたエリアを自律的に芝刈りするように芝刈りロボットを制御する。制御することは、芝刈りロボットを閉ざされたエリアに戻すように方向を変える為に、編集されたデータセット内のデータに対応する位置又はその位置の近くで芝刈りロボットの方向を変更することを含む。
【０００７】
実施は、ロボット本体上で運ばれ、教示モードにおいて芝のエリアの境を限る周囲マーカと通信するように構成されたエミッタ／レシーバを更に備えることができる。ロボット本体に固定可能であり、且つ、教示モードにおいて芝のエリアの境界に沿って芝刈りロボットを手動で案内する為に操作者によって把持可能な、取り外し可能ハンドルを備える。ロボットは、ハンドルがロボット本体に取り付けられているか否かを検出するように構成されている。コントローラは、ハンドルが取り付けられていると検出することに応じて、教示モードを開始するように構成されている。ハンドルは、駆動システムと通信するキルスイッチを備え、キルスイッチは、作動されていないとき芝刈りロボットをオフする信号を送出するように構成されている。
【０００８】
本発明の１以上の実施形態の詳細が、添付の図面及び以下の詳細な説明に記載されている。発明の他の特徴、目的及び長所は、詳細な説明、図面及び特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【０００９】
【図１Ａ】図１Ａは、芝刈りをすべき芝の上におかれた自律型移動芝刈りロボットの模式図である。
【図１Ｂ】図１Ｂは、自律型移動芝刈りロボットを用いて芝の周囲を移動するヒトの操作者を表す模式図である。
【図１Ｃ】図１Ｃは、自律的に芝を移動する自律型移動芝刈りロボットを表す模式図である。
【図２Ａ】図２Ａは、境界線マーカがある芝の模式的な平面図である。
【図２Ｂ】図２Ｂは、各ＵＷＢビーコン、ドック、及びロボット間の通信を示す、ＵＷＢビーコンのある芝の模式的な平面図である。
【図３】図３は、芝の周りのＵＷＢビーコンの位置を初期化及び設定する為の処理のフローチャートである。
【図４Ａ】図４Ａは、ＵＷＢビーコンベースの芝刈りシステムの初期化処理を表す模式図である。
【図４Ｂ】図４Ｂは、ＵＷＢビーコンベースの芝刈りシステムの初期化処理を表す模式図である。
【図４Ｃ】図４Ｃは、ＵＷＢビーコンベースの芝刈りシステムの初期化処理を表す模式図である。
【図４Ｄ】図４Ｄは、ＵＷＢビーコンベースの芝刈りシステムの初期化処理を表す模式図である。
【図４Ｅ】図４Ｅは、ＵＷＢビーコンベースの芝刈りシステムの初期化処理を表す模式図である。
【図４Ｆ】図４Ｆは、ＵＷＢビーコンベースの芝刈りシステムの初期化処理を表す模式図である。
【図５Ａ】図５Ａは、センサの場所を推定する為の処理を表す模式図である。
【図５Ｂ】図５Ｂは、センサの場所を推定する為の処理を表す模式図である。
【図５Ｃ】図５Ｃは、センサの場所を推定する為の処理を表す模式図である。
【図５Ｄ】図５Ｄは、センサの場所を推定する為の処理を表す模式図である。
【図６Ａ】図６Ａは、芝の周囲に沿って及び芝の内側の内部境界線の周りでヒトの操作者によって横断される経路に基づく非スムーズ経路の模式図である。
【図６Ｂ】図６Ｂは、立入禁止区域を含む、所望の芝刈り可能及び芝刈り不可区域を伴う芝の模式図である。
【図６Ｃ】図６Ｃは、図６Ｂの芝についてロボットによって決定された結果としての芝刈り可能／芝刈り不可領域の模式図である。
【図６Ｄ】図６Ｄは、ヒトの操作者が芝の周囲を決定する為に押込み／引寄せ動作を行うことに応答した、内部、境界線、及び外部セルを示す初期２次元グリッドマップである。
【図６Ｅ】図６Ｅは、外部エッジ境界線セルのみを選択した後の図６Ｄのマップである。
【図６Ｆ】図６Ｆは、境界線と示される外部エッジセルのみによりスムージングを行った後の図６Ｅのマップである。
【図７】図７は、スムージングされた外部境界線を決定する方法のフローチャートである。
【図８】図８は、スムージングされた内部境界線を決定する方法のフローチャートである。
【図９Ａ】図９Ａは、境界線から２フィートの“近接境界線”又は“注意”区域を示す模式図である。
【図９Ｂ】図９Ｂは、芝を移動する間のロボットによる速度／姿勢調整の為の処理のフローチャートである。
【図１０】図１０は、スムージングされた境界線を決定する代替の方法のフローチャートである。  様々な図面における類似の符号は類似の要素を示す。
【発明を実施するための形態】
【００１０】
図１Ａ−１Ｃを参照すると、自律型ロボット芝刈機１０は、芝２０を刈るように構成されている。自律型ロボット芝刈機１０は、芝２０を横断するときに、芝２０に沿って移動し草２２をカットする。自律型ロボット芝刈機１０は、本体１００、本体１００に固定された表面処理器２００、モータの付いた車輪４１０を有する駆動システム４００、及び本体１００によって運搬され且つ少なくとも１つの表面の特徴に応答する少なくとも１つの表面センサ３１０を備える。駆動システム４００は本体１００によって運搬され、少なくとも１つの表面の特徴に追従しつつ芝２０上で自律型ロボット芝刈機１０を移動させるように構成されている。本例において、表面処理器２００は、従動輪４１０上に浮いている往復移動対称グラスカッタを備える。いくつかの例において、車輪は、キャタピラであり得る。他の例では、表面処理器２００は、回転式のカッタ、散布機、又は収集機を備えていても良い。草をすく機械５１０が、本体１００によって運搬されても良い。ロボット本体１００は、駆動システム４００を含む、自律型ロボット芝刈機１０内のあらゆる電気部品に電力を供給する為の電源１０６（例えば、バッテリ）を支持する。ワイヤレスオペレータフィードバックユニット７００は、コントローラ１５０と通信する、自律型ロボット芝刈機１０上のエミッタ／レシーバ１５１に信号を送信する。駆動システム４００は、オペレータフィードバックユニット７００から受信した信号にしたがうように構成されている。自律型ロボット芝刈機１０は、ベースステーション又はドック１２に入っても良い。いくつかの例において、ドック１２は、ロボット本体１００内に収容されたバッテリ１６０を充電する為の充電システムを備える。
【００１１】
ロボット芝刈機１０の使用における重要な手順は、芝刈りをすべき芝２０の周囲２１を規定することである。いくつかの実施において、安全策として、ロボット芝刈機１０の自律的な使用は、周囲又は境界線が決定され、ロボット芝刈機１０の非一時的なメモリに格納されてからのみ実行することができる。いくつかの実施においては、図１Ｂに示されるように、ヒトの操作者が、ロボット本体１００に取り付けられたハンドル１１６を用いてロボット１０を押す事によって周囲２１を手動で規定する。周囲が教示されると、ロボットは、更なるヒトの介在無しに、カットすべき芝／エリアを移動することができる。
【００１２】
図１Ｂを参照すると、周囲教示モードでは、ヒトの操作者は、芝２０の周囲２１を設定する為にロボット芝刈機１０を手動で案内する。周囲２１を決定することは、ロボット本体１００に取り付けられたプッシュバー又はハンドル１１６でロボット芝刈機１０を案内することを含み得る。プッシュバー１１６は、ロボット本体１００から取り外し可能又はロボット芝刈機１０に収納可能であっても良い。いくつかの場合には、プッシュバー１１６は、スイッチ、速度設定、又はロボット芝刈機１０を前進させ及び操舵する為のジョイスティックを備える。一つの例において、プッシュバー１１６は、圧力の方向に移動又は操舵する為にロボット芝刈機１０によって監視される、１以上の圧力又は引っ張り力センサを備える（ロボット芝刈機１０を回転させる為に左右の圧力又はバーの変位量を監視する２つのセンサ）。別の例では、プッシュバー１１６は、ロボット芝刈機１０をオフする為の、ドライブシステム４００と通信するデッドマン又はキルスイッチ１１７Ａを備える。スイッチ１１７Ａは、プッシュバー１１６の操作者がプッシュバー１１６の使用を停止するとき、又はプッシュバー１１６との接触をこれ以上維持しないときに、ロボット芝刈機１０をオフする為のデッドマンスイッチとして構成されていても良い。スイッチ１１７Ａは、プッシュバー１１６が収納されるときにキルスイッチとして機能し、それによりユーザがロボット芝刈機１０をオフすることを可能にするように構成されていても良い。デッドマン又はキルスイッチ１１７Ａは、容量センサ又はレベルバーを備えていても良い。別の例において、プッシュバー１１６は、ドライブシステム４００と係合し／係合を解くクラッチ１１７Ｂを備える。ロボット芝刈機１０は、プッシュバー１１６によって手動で操作される間、いっそう速い速度で動作可能であっても良い。例えば、ロボット芝刈機１０は、約０．５ｍ／ｓｅｃの自律速度、及び０．５ｍ／ｓｅｃより速いマニュアル速度（通常速度の１２０−１５０％まで作動可能な“ターボ”速度を含む）で動作しても良い。いくつかの例において、プッシュバー１１６は、ロボットの自律芝刈り中に折り畳み可能又は取り外し可能であってもよい。代替として、プッシュバー１１６は、プルバー、引出し革ひも、硬いハンドル、又は折り畳み可能ハンドルのいずれかとして構成し得る。いくつかの実施形態において、プッシュバー１１６は、ロボット本体１００上に、又はロボット本体１００の内部に収納し得る。
【００１３】
上記したとおり、自律的に芝を刈るのに先立って、ロボット芝刈機１０は、教示フェーズを完了させる。周囲教示モードの間、ヒトの操作者は、修正を必要としそれによりロボット芝刈機１０を教示不可の状態にさせるやり方でロボット芝刈機１０を操縦しても良い。ロボット芝刈機１０が、教示走行中に教示不可の状態にあることを検出したとき、ロボット芝刈機１０は、周囲２１を記録することを継続する為及び／又は横断可能な地域を走行することに戻る為に、ロボット芝刈機１０の方向又は速度を変えるように操作者に（例えば、移動装置上のディスプレイ又はハンドル１１６に統合されたディスプレイ等の操作者フィードバックユニット７００を介して）警告する。例えば、ロボット芝刈機１０は、ロボット芝刈機１０がその位置を決定する能力を失う芝２０のエリアに操作者がロボット芝刈機１０を押し込むとき、ユーザが第１の教示経路から変化する第２の教示経路上にいるとき、又は、ユーザが過度に速くロボット芝刈機１０を押し又はあまりにでこぼこし又は傾斜した地形上でロボット芝刈機１０を押すときに、教示不可の状態に入っても良い。
【００１４】
例えば、操作者は、ロボット芝刈機１０をディボットと岩の間で押すことを試みて、ロボット芝刈機１０を過度に（例えば、３０度を超えて）傾斜させても良い。或いは、操作者は、ロボット芝刈機１０が自律モードで横断することができない地形を通って進む経路をロボット芝刈機１０に教示するように試みても良い。このような場合には、ロボット芝刈機１０は、異なる経路を選択するように（例えば、操作者フィードバックユニット７００を介して）操作者に警告しても良い。上述のとおり、ロボット芝刈機１０は、ディスプレイ上の目に見える信号、スピーカを介した聞こえる信号、及び／又は操作者フィードバックユニット７００の振動ユニットからの振動といった触知できる信号により、操作者フィードバックユニット７００を介して操作者に警告しても良い。
【００１５】
操作者が教示モードの間、速すぎる又は遅すぎる速度でロボット芝刈機１０を押しそれによりロボットを教示不可モードにしている場合、ロボット芝刈機１０は、ユーザにロボット芝刈機１０の速度を増加し又は減少させるように促す。いくつかの例では、操作者フィードバックユニット７００は、ロボット芝刈機１０が閾値速度よりも速い速度又は遅い速度で進んでいるときに（緑、黄色又は赤の光を）点灯し又はぴかっと光らせる速度インジケータを備える。
【００１６】
図２Ａを参照して以下述べるように、境界線マーカ８０５は、ロボット芝刈機１０の位置特定を助ける為に芝２０の周囲に沿って置かれても良い。いくつかの場合には、境界線マーカ８０５は、ロボット芝刈機が境界線マーカに対する位置を決定する為に解釈する信号を送出する。いくつかの例では、境界線マーカ８０５は受動的である。いずれの場合にも、ロボット芝刈機１０が境界線マーカ８０５との交信を失ったときに、ロボット芝刈機１０は、境界線マーカ８５の制限内に留まるよう経路を変更するようにユーザに警告しても良い。
【００１７】
いくつかの例において、教示ルーチンは、操作者が、芝２０の周囲２１を２回（又はそれ以上）移動することを要求する。操作者が、第１番目の教示走行を完了し、芝刈りをすべきエリアの周囲に閉ループを完成させると、ロボット芝刈機１０は、第２番目の走行が必要なことを警告しても良い。一つの例において、操作者は、芝２０の周囲２１の周りでの教示走行が完了したことを肯定的に示すストップボタンをヒットする。いくつかの例におおいて、ロボット芝刈機１０は、操作者が、第１番目の教示走行後に第２番目の教示走行を完了させるか、又は後の段階まで待つことを可能にする。操作者が第２番目又はそれに続く教示走行を完了させ、ロボット芝刈機が、不一致閾値より大きな、決定された２つの周囲間の不一致を検出した場合、ロボット芝刈機１０は、明らかな矛盾についてユーザに警告し、芝２０の周囲２１を学習する為の別の教示走行を促す。
【００１８】
周囲−教示処理が完了すると、ユーザは、ロボット芝刈機１０をドック２１（図１Ａ参照）に入らせ、ロボット芝刈機１０が芝刈りの前に再充電することを可能にしても良い。
【００１９】
いくつかの実施において、ロボット芝刈機１０は、ロボット本体１００上に配置されたエミッタ／レシーバ１５１、及び受動境界線マーカ８０５（図２Ａ）を有する境界線検出システム８００を備える。受動境界線マーカ８０５の種類は、ＬＩＤＡＲスキャンマッチ、受動ＬＩＤＡＲレトロリフレクタ（ビーコン）、又は、これらの両方を含むものであっても良い。いくつかの例において、境界線マーカ８０５は、レーダスキャンマッチング（ブリップ）、レーダレトロリフレクタ、又はそれらの両方を含む。芝２０の周囲２１上に置かれた境界線マーカ８０５を含む実施において、境界線マーカ８０５は、エミッタ／レシーバ１５１（図１Ｂ参照）によって実行された近接スキャンマッチによって個別に識別可能である。スキャンマッチングにおいて、ロボット芝刈機１０は、各境界線マーカ８０５の特徴であるメモリ内に格納されたスキャンで駆動する間に、ある時間にとられるスキャンを照合することができ、したがってロボット芝刈機１０は、個々に識別可能な境界線マーカ８０５それぞれに対する自身の位置を決定することができる。いくつかの実施において、境界線マーカ８０５は、ロボット芝刈機１０が自身の相対位置を決定することを可能にするバーコード又は符号化信号といった、ロボット芝刈機１０が知覚可能な他の個別の識別手段を備える。
【００２０】
図２Ａに示すように、境界線マーカ８０５（ビーコン）は、ロボット芝刈機１０の動きを制限し又はロボット芝刈機１０の動きに影響を与える為に、芝２０の周囲に置かれる。いくつかの実施において、境界線マーカ８０５は、ロボット芝刈機１０をマークされた境界線（すなわち、周囲２１）から外に進むことを抑制するバーチャルウォールを生成する。ユーザは、周囲２１上の所望の位置に境界線マーカ８０５を置く。バーチャルウォールを生成する為に、境界線マーカ８０５は、隣の境界線マーカ８０５の視線の範囲内にそれぞれ存在する。境界線マーカ８０５は、操作者がグローバルな原点（例えば、ドック１２又は並べて配置された境界線マーカ）を示す位置に置くことのできるホームマーカを備えていてもよい。操作者は、制限エリアを示す為に芝２０の周囲２１上にできるだけ均一に境界線マーカ８０５を分配する。周囲２１の主なコーナーのそれぞれは、境界線マーカ８０５でマークされるのが好ましい。
【００２１】
代替として、ウルトラワイドバンド（ＵＷＢ）ビーコン等のランドマークを環境内におくことができ、ロボットは、自身の位置を特定するためにランドマークを用いることができる。これらのビーコンは、芝刈り可能なエリア（例えば、ビーコン８１０ｂ）内に、境界線上に（例えば、ビーコン８１０ａ）、又は境界線の外側に（例えば、ビーコン８１０ｃ）置くことができる。これらビーコン８１０（図２Ｂ）は、互いに通信し、また、ロボット芝刈機１０上に位置するＵＷＢトランシーバ１１とも通信するＵＷＢトランシーバ８１１を備える。それぞれのＵＷＢトランシーバは、ロボット芝刈機１０（例えば、ロボット芝刈機１０は、ビーコン８１０ａ−ｃのそれぞれと通信するレシーバ／エミッタ１５１を備える）、ビーコン８１０ａ−ｃ、また更に選択的にはドック２１上に置かれる。いくつかのビーコン８１０ａ−ｃは、芝刈り可能なエリアの周囲に置かれ、互いに離れて且つドック２１から離れるように間隔をおかれる。図２Ｂにおいてロボット芝刈機１０から広がる実線によって示されるように、ロボット芝刈機１０は、ビーコン８１０ａ−ｃ及びドック１２のそれぞれと通信する。ビーコン８１０ａ−ｃのそれぞれは、他のビーコン及びドック１２と通信する。
【００２２】
一般に、（UWB, Ultra-wide band及びultrabandとしても知られた）ウルトラワイドバンドは、近距離高帯域幅通信の為に低エネルギーレベルで動作する無線技術である。ウルトラワイドバンドは、広帯域幅（＞５００ＭＨｚ）上に広がる情報を送信する。いくつかの例においてＵＷＢは、発信された信号の帯域幅が、５００ＭＨｚ又は中心周波数の２０％の小さい方を超えるアンテナからの送信を含む。（ＵＷＢトランシーバ８１１ａ−ｃを含む）ＵＷＢビーコン８１０ａ−ｃの使用は、他の閉じ込め／位置特定システムに対していくつかの有利な点を提供する。一般に、ウルトラワイドバンドの特徴は、近距離応用によく適合している。ブッシュや木等の障害物を通り過ぎて／通して信号を送信することができ、ＵＷＢビーコン８１０ａ−ｃに対するロボット芝刈機１０の精密な位置特定を提供するので、ウルトラワイドバンドの使用は自律芝刈りにおいて有利である。ＵＷＢトランシーバ８１１ａ−ｃは、全方位信号を発信し、ＵＷＢ信号の使用は、視覚ベース又はレーザベースシステム等の視線光学システムと比較してより一層ロボット方向付けに関して耐性がある。追加として、ＵＷＢ信号は、木や低木等の小さな障害物を通り抜けることができ、（例えば、ビーコン８１０ｂと８１０ｃ間の送信によって示されるように）芝刈り可能なエリアの周囲のいっそう見えにくい場所へのビーコンの配置を可能にする。
【００２３】
庭の周囲に配置されたＵＷＢビーコン８１０ａ−ｃからのＵＷＢ信号が、庭内での自律型芝刈りロボットの位置を決定する為に用いられる場合には、ＵＷＢビーコン８１０ａ−ｃの位置が設定される必要がある。一般に、図３を参照して以下でより詳細に記載するように、ＵＷＢシステムの最初のセットアップにより、初期化処理が実行される。この処理は、ＵＷＢビーコン８１０ａ−ｃの互いの位置を決定する為に使用される多次元のスケーリングアルゴリズムに部分的に基づいており、この処理は次にはビーコンに対するロボット１０の位置を設定する為に用いることができる。したがって、システムは初期化によりＵＷＢビーコン８１０ａ−ｃの位置を自動的に決定するので、ＵＷＢビーコンを設置する家の所有者又は他のヒトは、ＵＷＢビーコン８１０ａ−ｃを特定の場所に配置する必要は無い。このＵＷＢビーコン８１０ａ−ｃの配置の柔軟性は、自律型芝刈りロボットシステムの為の設置及びセットアップ手続きを簡略化する有利さを提供すると考えられる。追加として、信号の全方位特性により、ロボット１０は信号がビーコンから受信される為にビーコンと一直線にする（例えば、視線配列で）必要がない為、ＵＷＢビーコン８１０ａ−ｃは、視線ベースのシステムよりも地面に対して低くすることができる。次の使用に際し（例えば、自律型芝刈りロボットが毎回芝を刈るのに先立って）、ＵＷＢビーコン８１０ａ−ｃがなお期待された前もって決定された位置にあることを確認する為に、キャリブレーション又はコンファメーション処理を実行することができる。
【００２４】
図３及び図４Ａ−Ｆを参照すると、ＵＷＢビーコンベースの芝刈りシステム初期化処理は、それぞれが芝刈り可能空間８７０（図４Ａ）の周りに置かれたＵＷＢトランシーバを備える複数のＵＷＢビーコン８６２ａ−ｃを用いて開始される。ＵＷＢトランシーバは、それぞれ、送信元を識別する為の、ＵＷＢトランシーバからの送信中に含まれる識別子を有する。追加として、ロボット芝刈機８６０は、ロボット芝刈機８６０がＵＷＢビーコン８６２ａ−ｅ内のＵＷＢトランシーバと通信することを可能にするＵＷＢトランシーバを備える。芝刈り可能空間８７０の周りに置かれたＵＷＢビーコン８６２ａ−ｅは、一般には可動性がなく、芝刈り可能空間８７０に置かれると静止し続けるように意図される。ＵＷＢビーコンは、芝刈り可能空間８７０の内部、芝刈り空間８７０の外部、及び／又はこれらの場所の境界上に配置することができる。追加として、ＵＷＢビーコン８７０ａ−ｅ内のＵＷＢトランシーバによって生成される信号の全方位性の為に、ロボットは、起動の段階では、境界線の内部又は外部に置くことができる。
【００２５】
初期化処理は、芝刈り可能空間の周りに配置されたＵＷＢビーコン間の距離について情報を収集／取得することを含む（ステップ８５０）。より詳細には、一つのＵＷＢトランシーバ（例えば、ロボット８６０又はドック上に配置されたトランシーバ）は、それ自身と他のＵＷＢトランシーバ間の距離についての情報を求める要求を他のＵＷＢトランシーバのそれぞれに送る。この情報は、飛行時間又は距離を決定するのに用いることのできる他のデータを含み得る。例えば、図４Ａ−４Ｄに示された例においては、ロボット８６０上のＵＷＢトランシーバから要求を受信すると、ＵＷＢビーコン８６２ａ内のＵＷＢトランシーバは、ＵＷＢビーコン８６２ｂ、８６２ｃ、８６２ｄ及び８６２ｅ内のＵＷＢトランシーバに信号を送信する。応答として、ビーコン８６２ａ内のＵＷＢトランシーバは、ＵＷＢビーコン８６２ｂ、８６２ｃ、８６２ｄ及び８６２ｅ内のＵＷＢトランシーバから、飛行時間情報及びＵＷＢトランシーバについての関連の固有の識別子を受信する（図４Ａ）。同様に、ロボット８６０上のＵＷＢトランシーバから要求を受信すると、ＵＷＢビーコン８６２ｂ内のＵＷＢトランシーバは、ＵＷＢビーコン８６２ａ、８６２ｃ、８６２ｄ及び８６２ｅ内のＵＷＢトランシーバに信号を送信する。応答として、ビーコン８６２ｂ内のＵＷＢトランシーバは、ＵＷＢビーコン８６２ａ、８６２ｃ、８６２ｄ及び８６２ｅ内のＵＷＢトランシーバから、飛行時間情報及びＵＷＢトランシーバについての関連の固有の識別子を受信する（図４Ｂ）。同様の収集がビーコン８６０ｃ、８６０ｄ及び８６０ｅについえ発生する（図４Ｃ）。この情報は、個々のＵＷＢから、情報の要求を発行したＵＷＢトランシーバ（例えば、ロボット８６０又はドック上に配置されたトランシーバ）に送信される。
【００２６】
ＵＷＢトランスミッタ間の相対距離についての情報を受信した後、ロボット芝刈機１０内のプロセッサ（又は遠隔に配置されたプロセッサ）は、ＵＷＢビーコンの相対位置（例えば、ドック位置等のグローバル原点に対するｘ−ｙ位置）を決定する為に多次元スケーリングアルゴリズムを使用する（８５２、図４Ｄ）。一般に、多次元スケーリング（ＭＤＳ）は、データセット内の個々のケースの類似性のレベルを視覚化する方法である。それは、特に距離マトリクス内に含まれる情報を表示する為に、情報視覚化に用いられる関連の序列法のセットを参照する。ＭＤＳアルゴリズムは、オブジェクト間距離ができるだけ維持されるように、Ｎ次元空間内に各オブジェクトを配置しようとする。次に、各オブジェクトは、Ｎ次元のそれぞれにおいて座標を与えられる。ＭＤＳアルゴリズムを用いて決定されたＵＷＢビーコン（例えば、ビーコン８６２ａ、８６２ｂ、８６２ｃ、８６２ｄ及び８６２ｅ）の相対位置は、メモリに格納される。
【００２７】
いくつかの例において、多次元スケーリング（ＭＤＳ）アルゴリズムの使用は、実際のビーコンレイアウトの鏡像であるビーコンマップを生成し得る。実際のビーコンレイアウトの鏡像が移動の間に用いられるならば、この事は、ロボットが空間内の他の点に向くように試みる際に、意図した方向に回転しない結果を生じるであろう。鏡像レイアウトをテストするために、自律型芝刈りロボット８６０は、方向決定シーケンスで移動される（ステップ８５４）。システムは、次に、ＵＷＢビーコン位置が鏡像反転されているか否かを決定し（スエップ８５６）、そうであれば、方向を修正する為にＵＷＢビーコンへの方向を再度割り当てる（ステップ８５８）。より詳しくは、初期ビーコンセットアップ及び位置特定を実行した後、ロボットは、自身の初期点を格納し、第２の点まで短い距離（例えば、１５−３０ｃｍ）を前進する。この前方への駆動は、ビーコンマップが実際のビーコンレイアウトの鏡像であると決定された場合、ビーコン位置を再度割り当てる為に使用されるｙ軸を設定する。次に、ロボットは、左に概略９０度回転し、図４Ｅにおいて経路８７２として示されるように、さらに短い距離（例えば、１５−３０ｃｍ）前進する。プロセッサは、次に、最初の点から２番目の点をつなぐベクトルと、２番目の点から３番目の点をつなぐベクトル間の方角の相違を計算する。ビーコン位置が正しい場合には、この値は９０度に近い。ビーコン位置が反射している場合には、この値は、マイナス９０度に近いであろうし、ロボットはｙ−軸を渡してビーコン座標を再度割り当て／再度解釈（例えば、反転）し、それにより自身の姿勢を適切に決定するであろう。同様の手続きを、右に回転するロボットで使用することができる。
【００２８】
ＵＷＢビーコン位置が決定され格納された後、システムは、受信されたＵＷＢトランシーバ（図４Ｆ）のそれぞれからの飛行時間情報（範囲）に基づく三辺測量により、自律型芝刈りロボット８６０を位置特定する。一般に、三辺測量は、円、球又は三角形の幾何学を用いる距離の測定により絶対又は相対位置を決定する処理である。特に、センサの位置は、少なくとも３つのランドマークへの距離を測定し、各ランドマークの周囲に対応の半径の円を描き、及びこれらの範囲円が交わるポイントを決定することによって決定することができる。完全なセンシングでは、全ての円が一つのポイントで交わり、この位置は、クローズドループの解決策を用いて決定することができるであろう。しかしながら、全てのセンサがある程度のノイズを持っており、これらの円は一つのポイントでは交わらないであろう。また、範囲円間の多数の交わりに基づきセンサ位置を決定するのにいくつかの手段が必要である。
【００２９】
一つの例において、最小二乗アルゴリズムを、感知された距離及び位置推定の間での２乗誤差の和を最小化する為に用いることができる。
【００３０】
別の例において、図５に示すように、ロボットの位置は、本明細書において最小距離交差セット三辺測量（ＭＩＳＴ）と称されるテクニックを用いて決定することができる。ＭＩＳＴは、既知の位置の固定のビーコンのセットからのノイズのある距離データに基づいてセンサの位置を推定する為のテクニックである。他の三辺測量テクニックと同様に、ＭＩＳＴは、センサの位置を決定する為の距離示数に対応する円の間の公転を用いる。
【００３１】
ＭＩＳＴテクニックを用いることで、飛行時間の測定値が、円の半径がＵＷＢビーコン内のＵＷＢトランシーバとロボット内のＵＷＢトランシーバの間の距離に基づく各ビーコンの周りの円形の可能な位置を決定する為に用いられる。範囲円のすべてのペアについて、ゼロ、１つ又は２つの交点があるであろう。
【００３２】
ＭＩＳＴは、全ての可能性のある交点のセットを検査し、最小の点間距離を持つセットを選択することによって動作する。可能性のあるセットは、範囲円の各ペアについての候補点からなる。円の各ペアについて３つの可能性のあるケースがある。
【００３３】
図５Ａに示すように、一つのケースでは、円は交差しない。この場合、候補ポイントは、２つの範囲円の最も近いポイントをつなぐラインの中点に設定される。
【００３４】
図５Ｂに示すように、別のケースでは円は一つの点で交わる。この場合、候補点は、一つの交点に設定される。
【００３５】
図５Ｃ及び５Ｄに示すように、別のケースでは、円は２つの点で交わる。この場合、候補点は、２つの交点の一つに設定される。各範囲円のペアは、２つまでの候補点を生成しることができるので、このアルゴリズムの計算上の複雑さは、ビーコンの数について指数関数的である。しかしながら、ビーコン数が少ない場合、このアルゴリズムは、計算上は扱いやすさが維持される。最小のトータル点間距離を持つ、可能性のある交点のセット（例えば、３つの位置、５つの位置）を選択した後、ＭＩＳＴは、センサ位置をこのセット内での候補点の重心であると推定する。例えば、図５Ｄに示されるように、小円が、候補点（円のペアについての交差位置）をマークする。塗りつぶされた円は、最小のトータル点間距離を持つ可能性のあるセット内での候補点である。塗りつぶされていない円は、このセットには無い候補点である。十字線のマークは、最小距離の交点セット内の点の中点をマークし、センサの推定位置に対応する。
【００３６】
いくつかの例において、１以上のＵＷＢビーコンが、孤立した位置に存在し、そのＵＷＢビーコンを他のＵＷＢビーコンに対して特定することは挑戦的なこととなる。例えば、一つのビーコンは、そこでは家は他のＵＷＢビーコンのいくつかと通信することを禁止する側庭に配置することができるであろう。したがって、位置決定は、孤立したビーコンと、庭の周囲に配置された他のビーコンのサブセットのみ間での通信に基づいて決定されるので、ビーコンの最初に決定された位置は、信頼性が低い。計算された信頼性値が信頼性閾値未満である場合には、システムは、ユーザに、（それ自身、ＵＷＢトランシーバを備える）芝刈機を、孤立したビーコンと複数の他のビーコンの両方と通信することができる場所に移動するように要求できるであろう。システムは、次に、（例えば、上述の処理と同様の処理を使用して）孤立したＵＷＢビーコンの位置付けを助ける為にロボット上のＵＷＢトランシーバを使用する。孤立したＵＷＢビーコンの修正された位置が決定されると、自律型ロボットは移動することができ、孤立したビーコンの位置は他のビーコンに対し格納することができる。
【００３７】
図６Ａを参照すると、ＵＷＢビーコンをセットアップした後、ヒトの操作者は、ロボットを芝２０の周りにつれて行く。この教示モードの間、ヒトの操作者は、でこぼこした地域やロボット芝刈機１０の経路を妨害する障害物等が原因で、周囲２１の周りでロボット芝刈機１０を手動で移動させる難しさを経験するであろう。いくつかのケースでは、ロボット芝刈機１０を教示不可状態にすることを回避する為、及び／又は、困難な障害物や鋭い曲がりの周りでロボット芝刈機１０を移動させる為に、ユーザは滑らかでない経路を生成しても良い。例えば、ユーザは、ロボット芝刈機１０の指導の間に、周囲２１を案内する為に、ぎざぎざの又はよろよろした動きを行っても良い。このように、最初に設定された芝アウトライン（例えば、ロボットが横断する実際の教示経路２３）は、芝刈り可能エリアのエッジにいくつかの場所では対応しない。
【００３８】
芝刈り可能エリアの境界線を設定する為に、アルゴリズムは、教示モードの間、ロボット芝刈機１０が移動した位置を選択するであろう。おおまかな芝境界線が決定されると、アルゴリズムは、最初の境界線データについて（又は収集データのサブセットについて）エッジ選択及びスムージング機能を実行するであろう。エッジ選択機能は、芝刈りを行うべきエリアを最大化する、芝刈り可能エリアの最も外側のエッジを見つけ、また、スムージング機能と組み合わされることで、ロボット芝刈機１０が教示モードに続いて自律的に移動できる連続的な境界線をもたらす。芝刈り可能エリアの境界線を決定しスムージングするこの処理は、距離が移動型の財産（ロボット）からビーコンに向かって測定される様々なビーコンベースの位置特定システムと共に用いることができる。このような技術は、飛行時間（ＴＯＦ）、到着タイムディスタンス（ＴＤＯＡ）、又は信号長ベースのシステムを非限定的に含む。
【００３９】
実線の境界線で示されるように、教示モードの間、ユーザは、芝２０の周囲２１の周りでロボットを移動させようとするであろうが、実際には、スムーズではなく不規則さを含み得る（破線の境界線で示された）実際の教示経路２３上を移動させるであろう。教示モードの間、ロボット芝刈機１０は、データ処理部を介して、全ての時間、ビーコン８１０に対する自身の位置を決定し格納するであろう。このデータ処理部は、ロボット芝刈機に搭載されたコントローラ１５０であっても良く（図１Ｂ参照）、又は、個別のデータ処理部であっても良い。データ処理部は、芝を表す為、セルの２次元グリッド又はマトリクス２５を生成し、ロボット芝刈機１０がビーコン８１０に対する自身の位置を決定するときに、データ処理部は、動作中、ロボット芝刈機１０を含む各セルの座標を決定し保存する。グリッド２５の各セルは、セルが周囲２１の外部すなわち芝刈り不可、周囲２１の内部すなわち芝刈り可能、又は、周囲２１のエリア上すなわち境界線にあると理解されるか否かを示す３つの可能性のある芝刈りエリア値の一つを有することができる。図６Ａにおいて、代表的な芝刈り不可セル２５Ａ、芝刈り可能セル２５Ｂ及び境界線セル２５Ｃが図示されている。グリッド２５の各セルは、選択された原点又は基準位置（０，０）に基づく（ｘ，ｙ）座標を割り当てられ得る。各セルは、各セルが所定の長さ及び幅（例えば、５−２０ｃｍの間、８−１２ｃｍの間、約１０ｃｍ）を有する四角いエリアを表すことができる。例えば、グリッド２５は、それぞれ１０ｃｍ×１０ｃｍのセルのグリッドであり得る。ロボット芝刈機１０は、教示モードの間に走行された実際の教示経路２３に沿ってロボット芝刈機によって走行された各セルの座標（ｘ，ｙ）を格納する。ロボット芝刈機１０は、図６Ａに示すように、単一のセルを通過するロボット１０の経路をトレースするシンプルな線として、実際の経路２３をマークすることができる。代替として、ロボットは、境界線セル２５Ｃとして、ロボットの足跡下の全てのセルをマークすることができる。
【００４０】
教示の開始時に、全てのセルの値は、芝刈り不可に初期化される。操作者は、教示処理を開始する為に開始ボタンを押し、芝刈りエリアの周囲２１の周りを運転する。ロボットが動作するとき、自身の実際の教示経路２３上の全てのセルの値は、境界線に設定され、セルの位置は、ビーコン８１０への距離によって決定される。周囲を歩いたのち、操作者は、教示モードを終了する為にボタンを押す。次に、操作者は、ロボット芝刈機１０を、芝２０の芝刈り可能エリア内のいずれかの場所、例えば位置Ｐに位置付け、ボタンを押し、ロボット芝刈機１０に周囲の内部であることを指し示す。それに応答して、システムは、境界線セル２５Ｃによって規定された周囲２１内の全てのセルについて、芝刈り可能エリアに対応する芝刈り可能セル２５Ｂとしてマークする為に、それらセルの値を設定する為の塗りつぶしを行う。
【００４１】
図６Ｂ及び６Ｃに示されるように、境界線を教示するのと同様の方法で、立入禁止区域を教え込むこともできる。例えば、木のまわりに立入禁止区域を生成する為に、ユーザは、ロボットを木の境界線上の点に移動させ、ロボットを教示モードに設定し、木の周りでロボットを押し、そして次に、ロボットを教示モードから抜け出させる。ロボットが横断する全てのセルは、（例えば、図６Ｃにおいて太線で示されるように）境界線セルとマークされ、閉じた境界線の内部のエリアは芝刈り不可（例えば、濃いエリア）のままとなり、芝の周囲の内部のエリア及び閉じた境界線の外側は、（例えば、図６Ｃにおいて網掛で示されるように）芝刈り可能のままであろう。
【００４２】
図６Ｅは、教示モードの間にヒトの操作者及びロボット芝刈機１０によって走行された実際の教示パス２３の部分を含む周囲２１の部分の拡大図を示している。実際の教示パス２３は、例えばヒトの操作者がロボット芝刈機１０を旋回させて次にロボット芝刈機１０を後ろに押すことにより経路を部分的に再度トレースすることにより生じる鋭い角２８のような滑らかでない特徴を含む。芝刈り不可セル２５Ａ、芝刈り可能セル２５Ｂ、及び境界線セル２５Ｃが、それぞれ、網掛け、白、及びグレイで示されている。
【００４３】
図６Ｆは、境界線スムージング機能を実行した後のグリッドマップを示している。境界線スムージング機能において、コントローラ１５０は、芝刈り可能セルと芝刈り不可能セルの両方には隣接しないすべての境界線セルを芝刈り可能セルと再ラベリングすることによって、最初の境界線セルブロックのサブセットを選択する。
【００４４】
いくつかの追加の例において、システムは、ロボット芝刈機１０が後に自律的に芝２０を移動するときにロボット芝刈機１０によって追従される経路の最外部のエッジを決定するために、以前の境界線セル２５Ｃのいくつかを芝刈り可能セル２５Ｂと再ラベルすることができる。エッジ選択機能において、コントローラ１５０はすべての境界線セル２５Ｃを選択し、各境界線セル２５Ｃから原点（０，０）への距離を演算する。例えば、原点セルは、図６Ａに示される内部位置セルＰであり得る。コントローラは、各境界線セル２５Ｃついて決定された既知の（ｘ，ｙ）座標を与えられて、この距離を計算することができる。
【００４５】
コントローラは、原点Ｐから最も離れた境界線セル２５Ｃを選択する為に各境界線セル２５Ｃの距離を比較し、最外部の境界線セル２５Ｃを表す単一セルのセルラインを決定する。コントローラ１５０は、境界線とラベルされた各セルに隣接する各セルの芝刈りエリア値を検査する。１以上の境界線セル２５Ｃに隣接する位置のすべての境界線セル２５Ｃは、どのセル２５Ｃが原点Ｐから最も遠くにあり、芝刈りをすべき最外部の限界であるかについて決定する為に検査を行う。周囲データのセットから内部境界線セル２５Ｃのデータポイントを取り除くために、多数の空間的に隣接する位置を表す周囲データのサブセットについて、コントローラ１５０は、基準又は原点Ｐから空間的に最も離れたセルのみを選択する。このように、互いに連続したセルのグループ分けにおいて、コトローラは。最も外側の（例えば、最も離れた）セルのみを選択する。図６Ｆにおいて、以前に境界線−境界線ボーダを有していた内部セルは、芝刈り可能とラベルされている。
【００４６】
いくつかの追加の例において、システムは、連続した境界線セルにおいてギャップ又は裂け目を識別することができる。コントローラは、いかなる他の境界線セルとも隣接したり又は角と角が対向していない境界線セルを探すことによって、そのような不連続を探すことができる。次に、コントローラは、不連続境界線セルに隣接する芝刈り可能セルを選択することができる。一つの実施において、コントローラ１５０は、不連続境界線セルのｘ，ｙ値の間を補間し、不連続セル間のライン上にある全てのセルを境界線セルと再割り当てすることができる。いくつかの実施において、コントローラ１５０は、スムージングされた境界線を規定する為に、１３５度よりも小さい内部角度を規定する周囲経路セグメントに対応する格納された周囲データセットの部分を変更することができる。例えば、内部角度は、９０度よりも小さいもの、又は４５度よりも小さいものであり得る。
【００４７】
図６Ａを再度参照すると、芝刈りがなされない芝内に囲まれた内部エリアの内側境界線２９を規定する為に同様の処理を用いることができる。図示された例において、内側境界線２９は、池を取り囲んでいる。実際の教示経路２３をトレースした後、ユーザは、ロボット芝刈機１０を内側境界線２９に沿って移動させ、ロボット芝刈機を位置Ｐなどの最後の位置に位置付ける。このことは、芝刈りロボット１０が芝刈り可能エリアに位置している事を示す。次に、コントローラ１５０は、内側境界線２９の内側のエリアを芝刈り不可とラベルする。実際の教示経路２３の外側は、また、芝刈り不可である。図７を参照すると、ロボット芝刈機１０に芝内のエリアの周囲を教示する方法１００は、ロボットに後に芝２０を自律的に刈ることを可能にする。方法は、ロボット芝刈機１０が境界線決定モード（ステップ１００１）に入ったときに開始する。ロボット芝刈機１０は、最初に、ハンドル１６６が取り付けられたかどうかを確認することによって、教示モードが使用され得るか否を監視する（ステップ１００２）。ロボットがハンドル１１６は取り付けられていないと決定すると、ロボットは、（例えば、ビープ音を鳴らすことによって、又は、操作者フィードバックユニット上のライトを光らせることによって）ユーザにハンドル１１６を取り付けるように促す。ロボットがハンドル１１６は取り付けられたと決定すると、エミッタは、（図２Ｂを参照して上述したように）ＵＷＢキャリブレーションシーケンスでビーコンと通信する（ステップ１００８）。次に、ロボット芝刈機は、ビーコン及びドックに対する初期位置を決定し、芝２０を表現する為にその初期位置の周りの仮想２次元グリッドセルを初期化する（ステップ１０１０）。例えば、ロボット芝刈機１０は、最も遠いビーコン８１０までの距離を決定し、初期位置を中心とするグリッドを構築し、全ての辺を最も遠いビーコンまでの距離の分だけ拡張しても良い。
【００４８】
この時点で、ロボット芝刈機は、操作者による教示可能モードの動作を開始可能である。ロボット芝刈機は、操作者に、ロボット芝刈機を芝の周囲の周りで押すように促す（ステップ１０１２）。ロボット芝刈機が操作者によって押されるとき、コントローラは、ビーコンと通信し、位置データを収集する（ステッピ１０１４）。例えば、ロボットは、各ＵＷＢビーコンからの飛行時間データを収集し、（例えば、三角測量方式により）位置を決定する為にデータを使用することができる。この動作中のロボットの検出位置に対応する２次元グリッドの各セルは、セルを境界線セルとマークする値に設定される（ステップ１０１６）。ロボット芝刈機は、完了を示す操作者入力を受けたか否か、又は、格納された閾値時間よりも長い非移動時間が経過したか否かについて継続的に確認する（ステップ１０１８）。そうでない場合には、ロボット芝刈機は、位置データの収集を継続し、それらの位置に対応するセルを境界線セルとマークすることを継続する。
【００４９】
次に操作者は、芝刈機をこれらの領域の内部境界線の周りで芝刈機を押す事によって、すべての内部領域の周りの立入禁止区域をさらに規定しても良い。ステップ１０１８にてロボットが周囲のマッピングは完了したと決定すると、ロボット芝刈機は、操作者に芝刈り可能な芝の内部エリア（すなわち、芝刈りをすべき空間、ステップ１０２０）へロボット芝刈機１０を移動させるように促し、初期内部位置を決定及び保存する。コントローラは、次に、芝刈り可能セル及び芝刈り不可セルの両方には隣接しない全ての境界線セルを識別し、最終的なスムージングされた境界線を計算する為に、芝刈り可能又は他の境界線セルに隣接するが芝刈り不可セルには隣接しない境界線セルを芝刈り可能と再ラベルする。このように、多数の隣接セルが最初に境界線と識別される状況においては、システムは、最外部のセルのみを境界線セル（例えば、芝刈り不可空間と接触するセル）として保持し、他のセルを芝刈り可能と再ラベルする。例えば、再ラベリング処理は、芝刈り可能セル及び境界線セルのみに隣接するセルを選択し、それらのセルを芝刈り可能と再ラベルする。コントローラは、次に、計算されたスムージングされた境界線の内部の全ての位置を内側／芝刈り可能エリアと割り当てる為に塗りつぶし機能を用いる。
【００５０】
他の例において、ロボットが周囲のマッピングが完了したと決定し、この初期内部位置の位置を保存すると、コントローラは、マップ内の境界線セルの最外部の位置を選択し、最終的なスムージングされた境界線を計算する為に、選択されたセルについてエッジ選択及びスムージング動作を実行する。コントローラは、次に、計算されたスムージングされた境界線の内側の全ての位置について内部／芝刈り可能エリアと割り当てる為に塗りつぶし機能を用いる。
【００５１】
図８を参照すると、芝刈りをすべきではない内部エリアの周りの境界線を決定する為の方法２０００が示されている（例えば、図６Ａにおける境界線２９）。ロボット芝刈機１０は、境界線決定モードに入る（ステップ２００１）。ロボットは、はじめに、外部境界線決定モードの計算が完了したか否かを確認し（ステップ２００２）、そうでなければ、操作者に上述のように周囲決定を完了させるように指示する（ステップ２００４）。ロボットは、次に、全ての立入禁止区域（例えば、花壇や、ブランコ、池等の芝刈りをすべきでないエリア）が規定されたか否かを決定する（ステップ２００３）。ロボットは、区域が規定されたか否かを示すプロンプトを生成し、それらの完了／未完了を示すユーザからの応答を受信することによって、全ての立入禁止区域が規定されたか否かを決定することができる。全ての立入禁止区域が規定されると、システムは、立入禁止区域の境界線のスムージングに進む（ステップ２０１４）。全ての立入禁止区域が規定されていない場合、ロボットは、望ましい場合には、操作者に全ての内部境界線のエッジの周りでロボット芝刈機を押すように促す（ステップ２００６）。ユーザがロボット芝刈機を押している間、コントローラは、ビーコン又は境界線マーカと通信し又はそれらの位置を監視し、位置データを収集する（ステップ２００８）。このルーチン中のロボットの位置に対応する２次元グリッドの各セルの値は、境界線と設定される（ステップ２０１０）。ロボットは、完了を示す操作者入力を受けたか否か、又は、格納された閾値時間よりも長い非移動時間が経過したか否かについて継続的に確認する（ステップ２０１２）。そうでなければ、ロボット芝刈機は、位置データの収集とロボット芝刈機の位置に対応するグリッド２５のセルを境界線セルとマーキングすることを継続する。
【００５２】
ロボット芝刈機は、次に、操作者に、周囲境界線の外部で、（追加として）すべての立入禁止区域の内側ではない、芝の芝刈り可能エリアに移動するように促し（ステップ２０１４）、芝刈り可能エリア内でのロボットの姿勢を記録する（ステップ２０１６）。システムは、次に、境界線内の全てのセル（例えば、立入禁止区域内の全てのセル）を芝刈り不可と設定する為に塗りつぶしを使用する（ステップ２０１８）。最後に、システムは、芝刈り可能に隣接し、芝刈り可能と芝刈り不可（立入禁止区域）の両方に波隣接しない立入禁止周囲の境界線セルを芝刈り可能と再ラベルする（ステップ２０２０）。
【００５３】
いくつかの追加の例において、システムは、単一処理で、立入禁止区域の内部境界線と外部周囲の両方を含む全グリッドマップについて上述のスムージング動作を実行することができる。このような例において、システムは、芝刈り可能空間内のロボットの姿勢によって示される全てのエリアを埋める為に塗りつぶしを用いることができる。この塗りつぶしは、芝の外部周囲の内部及び規定された立入禁止区域の外部の全てのグリッド位置を芝刈り可能に設定する。システムは、次に、芝の周囲及び立入禁止区域の周囲の両方についてスムージングアルゴリズムを実行する。例えば、システムは、各境界線セルが芝刈り可能及び芝刈り不可空間の両方に接するように、芝刈り可能及び芝刈り不可の両方には隣接しない全ての境界線セルを芝刈り可能に設定することができる。
【００５４】
図９Ａ及び９Ｂを参照すると、ロボット芝刈機１０が教示モードを完了した後、芝２０を自律的に移動できる状態になる。自律動作中のロボット芝刈機１０の制御は、決定された境界線によって描かれたエリア内でロボット芝刈機が芝２０を移動することを可能にすることを含む。駆動システムの動作は、ロボット芝刈機１０が偶発的に境界線を越えて転がることを防止することを助ける、ロボット芝刈機１０が境界線に近付いたときに起動されるスローダウンモードを含む。追加として、スローダウンモードは、ロボット芝刈機１０が境界線マーカ８０５に近付いたときに実施されても良い。図９Ａを参照すると、スローダウン安全モードの動作を実施する為に、ロボットコントローラは、以前に決定された最終円滑化外部境界線２７の内部で、それから等距離にある“近接境界線”３１を決定する。グリッドマップ及び最終円滑化境界線２７を用いて、コントローラ１５０は、境界線セルに近いセルを選択する。例えば、コントローラ１５０は、境界線セルに隣接する全ての芝刈り可能セルを選択し、境界線に近くかつ接触する選択されたセルを近接境界線セルと再ラベルすることができる。コントローラは、近接境界線セルに隣接する全ての芝刈り可能セルを選択し、新たに選択されたセルを近接境界線セルと再ラベルすることができる。この処理は、境界線の固定の距離内にある、以前に芝刈り可能とマークされた全てのセルが近接境界線と再ラベルされるまで実行させることができる。例えば、境界線２７の０．３５ｍ（２フィート）内にある全ての芝刈り可能セルは、近接境界線セル又は注意区域の一部とラベルすることができる。残りの内部セルは安全区域であり、芝刈り可能セルとラベルされたままである。このグリッドセルラベル付けは、実際の外部境界線２７から全ての点又はほぼ全ての点において等距離にある、近接境界線３１を効率的に規定する。実際の境界線について上述したように、近接境界線３１もまたスムージングすることができる。近接境界線又は注意区域を生成する為の同様の方法もまた、内部境界線に採用することもできる。
【００５５】
ロボット芝刈機が芝を移動するときの自律制御法が図９Ｂに示されている。方法３０００において、ロボット芝刈機は位置データを継続的に収集し、上述のようにラベル付けされたグリッドセルの仮想マップを構築する（ステップ３００２及び３００４）。ロボットが芝刈り可能又は安全なセルに位置すると決定すると、ロボット芝刈機は現在の速度及び方向で前方に走行することを継続する（ステップ３００６）。ロボットがこの安全区域にあるとき、ロボットは最大自律速度（０．５ｍ／ｓ）で走行する。ロボット芝刈機１０が注意区域を示す近接境界線セルにあると決定すると、ロボットは、ステップ３０１０において、速度を（例えば、０．１５ｍ／ｓまで）落とす。２つの速度は、位置特定アルゴリズムの更新速度及び低レベルモータ制御の応答時間によって決定することができる。いくつかの例において、近接境界線の速度に対する最大自律速度の比率は、約５：１から約２：１の間、例えば、約５：１、約４：１、約３：１、約２：１である。ロボットが境界線セルに到達すると、ロボットは、芝刈り可能エリア内に留まるようにコースを調整する。例えば、ロボット芝刈機１０は、直ちに停止し後退することができる（ステップ３０１２）。ロボットは、次に、芝刈り可能エリア内の芝刈り可能セルからランダム対象点を選択する。対象は、最も近い境界線セルから少なくとも最小距離にあり、ロボットからの経路がわずか特定の数の境界線又は芝刈り不可セルを通過するように選択される。ロボットは、次に、対象と面するように回転し、前方への動きを再び始める。いくつかの好ましい実施形態において、再開動作は、例えば境界線から一定の距離で境界線に近い経路を追従するロボット芝刈機１０によって再開する。ロボット芝刈機１０は、完全な周囲が芝刈りされるまで境界線に追従することができる。ロボット芝刈機１０は、次に、芝刈り可能エリアの内側で一定の距離を移動して別の周囲を完成させ、芝２０が刈り取られるまで周囲を減少させる。代替として、ロボットは、完全な周囲を芝刈りし、そして次に、境界線内の芝刈り可能エリアが完全に横断されるまで一連の平行な隣接ラインに追従しても良い。
【００５６】
更なる実施形態において、後の境界線横断の為にロボット芝刈機の経路をスムージングする方法は、上述の教示モード特徴の中止を用いることができる。例えば、ユーザが教示中にロボットを再度位置付けるためにロボットを後ろへ引く場合、鋭い角の経路が生じる（図６Ｅの鋭い角２８のように）。上述のように、このことは、ロボット芝刈機を、教示モードが自動的に停止する教示不可状態にし得る。教示モードは、ロボット芝刈機１０が（閾値期間内に）再び前方に移動していることを検出した場合に再度始まる。
【００５７】
図１０は、教示モードの中止を用いる方法であって、ロボットが後に自律的に芝を刈り取ることを可能にする、芝内のエリアの周囲をロボット芝刈機に教示するための方法４００の実施を記載している。方法４０００を実施する前に、ロボット芝刈機１０は、図７に記載されたものと同様のステップにしたがい、ハンドル１１６が取り付けられているか否か確認し、ハンドル１１６が取り付けられていない場合、（例えば、ビープ音を鳴らし、または操作者フィードバックユニット上のライトを光らせることによって）ユーザにハンドル１１６を取り付けるように促す。ロボット芝刈機がハンドル１１６は取り付けられていると決定すると、エミッタがビーコン又は境界線マーカと通信し、ビーコンがＵＷＢビーコンであるか否かを決定する。そうであれば、（図２Ｂを参照して上述したように）ＵＷＢキャリブレーションシーケンスが実行される。
【００５８】
この時点で、ロボット芝刈機はビーコン８１０及びドック１２に対する自身の初期位置を決定し、芝を表すために自身の初期位置の周りの仮想２次元グリッドセルを初期化する（ステップ４０１０）。ロボット芝刈機１０は、操作者による教示可能モードの動作を開始する用意ができ、操作者に芝２０の周囲２１の周りでロボット芝刈機１０を押すように促す（ステップ４０１２）。ロボット芝刈機１０が操作者によって押されるとき、コントローラ１５０は、ビーコン８１０と通信し、位置データを収集する（ステップ４０１４）。この動作中のロボットの検出位置に対応する２次元グリッドの各セルは、境界線セルとマークする値に設定される（ステップ４０１６）。ロボットは、継続的に、ロボットが前方に進んでいるかを確認する（ステップ４０１７）。そうであれば、ロボットは、位置データの収集を継続し、横断したセルを境界線に設定する（ステップ４０１４及び４０１６）。そうでない場合には、ロボットは、完了を示す操作者入力を受信したか否か、又は、格納された閾値時間よりも長い非移動時間が経過したか否かを確認し（ステップ４０１８）、そして再びロボットが前方に移動しているか否かを確認する（ステップ４０１７）。そうであれば、ロボットは、位置データの取集を再度始める。そうでなければ、ロボットは、操作者が完了を示したか否か（又は時間が切れたか）を決定する（ステップ４０１８）。この場合、ロボット芝刈機１０は、周囲２１のマッピングが完了したと決定し、操作者に芝刈り可能な芝の内部エリア（すなわち、芝刈りを行うべき空間、ステップ４０２０）に移動するように促す。コントローラは、次に、マップ内の境界線セルの最外部の位置を選択し（ステップ４０２２）、最終的なスムージングされた境界線を計算する為に、選択されたセルについてスムージング動作を実行する（ステップ４０２４）。コントローラは、次に、塗りつぶし機能を用いて、計算された境界線の内側の全ての位置を内側／芝刈り可能エリアと割り当てる（ステップ４０２６）。
【００５９】
いくつかの例において、芝刈り可能、芝刈り不可、及び境界線セルによって形成されたグリッドは、芝を刈る間移動ロボットがどこを走行すべきかを決定する為に追加として用いられ得る。例えば、ロボットの特定の走行（又は、複数の異なる走行）の間、システムは、ロボットの到達範囲種別状態についての情報を記録することができる。例えば、システムは、特定の走行又は複数の走行の間にロボットが（芝を刈るために）セルを訪れた回数を記録することができる。例えば、システムは、ロボットの姿勢を決定し、グリッド上の関連の位置を識別し得る。グリッド位置に関連する情報は、次に、ロボットがその位置の芝刈りをしたことを示すために更新され得る。ロボットは、次に、現在の走行中に芝刈りされていないセル、又は、一連の過去の芝刈り走行（例えば、過去３回の走行）中にそれほど頻繁には芝刈りされていないセルを識別し、他のエリアを芝刈りする前にこれらのエリアを芝刈りすることができる。このことは、他のエリアに移動する前に十分にエリアをカバーするのに役に立つであろう。
【００６０】
少なくとも上述のいくつかの例はＵＷＢビーコンの使用に関連して記述されてきたが、本明細書に記載される方法を、移動型の資産（ロボット）からビーコンまでの距離が測定される他のビーコンベースの位置特定システムを有するシステムにおいて用いることができる。このような技術は、飛行時間（ＴＯＦ）、到着タイムディスタンス（ＴＤＯＡ）、又は信号長ベースのシステムを非限定的に含む。
【００６１】
本明細書は多くの詳細事項を含んでいるが、これらは、開示範囲の又は何が請求されるかについての限定事項として構成されるべきではなく、むしろ、開示内容の特定に実施に特有の特徴の記述として構成されるべきである。本明細書において別々の実施の文脈の中で記載された特徴を、単一の実施において組み合わせて実施することもできる。逆に、単一の実施の文脈において記載された様々な特徴を、複数の実施において別々に又はあらゆる好適な部分的組合せで実施することもできる。また、特徴は、ある一定の組合せにおいて動作すると記載されさらに最初にそのように請求されているけれども、請求された特徴からの１以上の特徴が、いくつかの場合にはその組み合わせから除かれ得る。また、請求された組合せは、部分的組合せ又は部分的組合せの変形に向けられても良い。
【００６２】
同様に、動作は図面において特定の順序で描かれているけれども、このことは、所望の結果を達成するためにそのような動作が当該特定の順序で又は逐次的な順序で実行されること、或いは、図示された全ての動作が実行されることを要求するものと理解されるべきではない。ある一定の環境においては、マルチタスク及び並行処理が有用であろう。また、上述の実施形態における様々なシステム構成部品の分離は、全ての実施形態においてこのような分離が要求されると理解されるべきではなく、記述されたプログラム構成部品及びシステムは、一般に、単一のソフトウェアプロダクトにおいて統合され、或いは、複数のソフトウェアプロダクトにパッケージングされ得る。
【００６３】
したがって、他の実施形態が、以下の特許請求の範囲内にある。
【符号の説明】
【００６４】
１０  自律型ロボット芝刈機
１２  ドック
２０  芝
２１  周囲
【図１Ａ】
2020114226.tif 000003
【図１Ｂ】
2020114226.tif 000004
【図１Ｃ】
2020114226.tif 000005
【図２Ａ】
2020114226.tif 000006
【図２Ｂ】
2020114226.tif 000007
【図３】
2020114226.tif 000008
【図４Ａ】
2020114226.tif 000009
【図４Ｂ】
2020114226.tif 000010
【図４Ｃ】
2020114226.tif 000011
【図４Ｄ】
2020114226.tif 000012
【図４Ｅ】
2020114226.tif 000013
【図４Ｆ】
2020114226.tif 000014
【図５Ａ】
2020114226.tif 000015
【図５Ｂ】
2020114226.tif 000016
【図５Ｃ】
2020114226.tif 000017
【図５Ｄ】
2020114226.tif 000018
【図６Ａ】
2020114226.tif 000019
【図６Ｂ】
2020114226.tif 000020
【図６Ｃ】
2020114226.tif 000021
【図６Ｄ】
2020114226.tif 000022
【図６Ｅ】
2020114226.tif 000023
【図６Ｆ】
2020114226.tif 000024
【図７】
2020114226.tif 000025
【図８】
2020114226.tif 000026
【図９Ａ】
2020114226.tif 000027
【図９Ｂ】
2020114226.tif 000028
【図１０】
2020114226.tif 000029
【外国語明細書】
2020114226000001.pdf