(57)【特許請求の範囲】
【請求項１】
移動芝刈りロボットによって実行される方法であって、
ビーコンを前記移動芝刈りロボットとペアリングすることを含み、前記ペアリングは、前記移動芝刈りロボットがペアリングされたビーコンからの信号のみを認識するように、前記移動芝刈りロボットと前記ビーコンとの間における関係を確立することであり、
前記ビーコンを前記移動芝刈りロボットとペアリングすることは、
前記ビーコンと前記移動芝刈りロボットとの間の距離を判定し、
判定した前記距離とペアリング距離との比較に基づいて前記ビーコンが前記移動芝刈りロボットから該ペアリング距離内にあることを確認し、
前記ビーコンが前記移動芝刈りロボットから前記ペアリング距離内にあることを確認した後に該ビーコンを該移動芝刈りロボットとペアリングすることを含み、
ペアリングの後に、
前記ビーコンからの広帯域信号又は超広帯域信号を検出し、
前記広帯域信号又は前記超広帯域信号を用いてある領域での航行を可能にすることを含む、
移動芝刈りロボットによって実行される方法。
【請求項２】
ユーザインターフェースを介して、前記ビーコンが、前記移動芝刈りロボットが通信すべき複数のビーコンに含まれていることの確認のリクエストをユーザに出力し、
前記リクエストに応答して、前記ビーコンが、前記移動芝刈りロボットが通信すべき複数のビーコンに含まれているとの確認を前記ユーザから受信することを更に含み、
ペアリングは、前記確認の受信の後に実行される、
請求項１に記載の移動芝刈りロボットによって実行される方法。
【請求項３】
前記ビーコンを前記移動芝刈りロボットとペアリングすることは、
前記ビーコンと前記移動芝刈りロボットとの間の前記距離を判定する前に、該ビーコンからの、該ビーコンのビーコンアドレスと、どのビーコンにも特有でない所定のアドレスとを含むブロードキャストを受信し、
前記ブロードキャストに応答して、前記ビーコンアドレスにある前記ビーコンに、所定のアドレス上で、前記移動芝刈りロボットのロボットアドレスを送信し、
前記ビーコンから、該ビーコンと前記移動芝刈りロボットとの間の前記距離の判定に用いられるメッセージを受信することを更に含む、
請求項１に記載の移動芝刈りロボットによって実行される方法。
【請求項４】
前記ビーコンを前記移動芝刈りロボットとペアリングすることは、
前記ビーコンアドレスを、前記移動芝刈りロボットとペアリングされている一以上の他のビーコンの一以上の他のアドレスと関連付けて、該移動芝刈りロボットのメモリに保存することを更に含む、
請求項３に記載の移動芝刈りロボットによって実行される方法。
【請求項５】
前記ビーコンを前記移動芝刈りロボットとペアリングすることは、
前記ビーコンを前記移動芝刈りロボットに向かって移動させるリクエストを出力することを更に含み、該ビーコンからの前記メッセージは、該ビーコンを移動させるリクエストの出力の後に受信する、
請求項３に記載の移動芝刈りロボットによって実行される方法。
【請求項６】
ペアリングの後に、
一以上の他のビーコンに前記ビーコンアドレスを送信し、
前記ビーコンに、前記一以上の他のビーコンの一以上の他のアドレスを送信することを更に含む、
請求項３に記載の移動芝刈りロボットによって実行される方法。
【請求項７】
ユーザアカウントと関連付けた保存のために前記ビーコンアドレス及び前記ロボットアドレスをサーバに送信することを更に含む、
請求項３に記載の移動芝刈りロボットによって実行される方法。
【請求項８】
前記ビーコンに関連付けられたエラーを識別し、
ユーザインターフェースを介して前記エラーの指示を出力することを更に含む、
請求項３に記載の移動芝刈りロボットによって実行される方法。
【請求項９】
前記ユーザインターフェースは、前記エラーが前記ビーコンの交換によって対処されたことを指示するための機能を含み、
前記移動芝刈りロボットによって実行される方法は、
前記エラーが前記ビーコンの交換によって対処されたことの前記指示に応答して、前記移動芝刈りロボットにどのビーコンにも特有でない前記所定のアドレスをリスンさせることを更に含む、
請求項８に記載の移動芝刈りロボットによって実行される方法。
【請求項１０】
前記ビーコンからパスコードを受信し、
前記パスコードを前記移動芝刈りロボットと関連付けられたパスコードと比較することを更に含み、
ペアリングは、前記ビーコンからの前記パスコードが前記移動芝刈りロボットと関連付けられたパスコードと一致することを確認した後に実行される、
請求項１に記載の移動芝刈りロボットによって実行される方法。
【請求項１１】
ビーコンを移動芝刈りロボットとペアリングするために該ビーコンによって実行される方法であって、
前記ビーコンのビーコンアドレスと、どのビーコンにも特有でない所定のアドレスを含むブロードキャストを前記移動芝刈りロボットに出力し、
前記ブロードキャストの前記出力の後に前記移動芝刈りロボットから該移動芝刈りロボットのロボットアドレスを受信し、
前記ビーコンから前記ロボットアドレスにある前記移動芝刈りロボットに、該ビーコンと該移動芝刈りロボットとの間の距離の判定に用いられるメッセージを出力し、
前記ビーコンが前記移動芝刈りロボットとペアリングされたことの確認を該移動芝刈りロボットから受信し、
前記確認に応答して、前記ビーコンを前記移動芝刈りロボットとペアリングされたものとして登録することを含む、
ビーコンによって実行される方法。
【請求項１２】
前記登録は、前記ビーコンのメモリに前記移動芝刈りロボットの前記ロボットアドレスを保存することを含む、
請求項１１に記載のビーコンによって実行される方法。
【請求項１３】
前記移動芝刈りロボットとペアリングされている一以上の他のビーコンの一以上の他のアドレスを受信し、
前記一以上の他のアドレスを前記ビーコンのメモリに保存することを更に含む、
請求項１１に記載のビーコンによって実行される方法。
【請求項１４】
前記一以上の他のアドレスは、前記登録の後に前記移動芝刈りロボットから受信する、
請求項１３に記載のビーコンによって実行される方法。
【請求項１５】
それぞれが、メモリに保存された、それぞれ異なる関連付けられたビーコンアドレス及びロボットアドレスを有する、広帯域信号又は超広帯域信号を発するための複数のビーコンと、
前記複数のビーコンのそれぞれとペアリングされている、前記ロボットアドレスに関連付けられた移動芝刈りロボットであって、前記ペアリングは、前記移動芝刈りロボットがペアリングされたビーコンからの信号のみを認識するように、前記移動芝刈りロボットと前記ビーコンとの間における関係を確立することであり、
実行可能な指示と、前記複数のビーコンのそれぞれの、前記それぞれ異なる関連付けられたビーコンアドレスと、を保存するメモリと、
前記指示を実行して、
ビーコンアドレスを表す広帯域信号又は超広帯域信号を受信し、
受信した前記広帯域信号又は前記超広帯域信号で表される前記ビーコンアドレスに基づいて、該広帯域信号又は該超広帯域信号が前記移動芝刈りロボットとペアリングされている前記複数のビーコンのうちの一つと関連付けられているかを判定し、
受信した前記広帯域信号又は前記超広帯域信号に基づいて前記移動芝刈りロボットの位置を特定すること
を含む工程を実行するための一以上の処理装置と、
を含む移動芝刈りロボットと、
を含む、芝刈りシステム。
【請求項１６】
前記工程は、
前記移動芝刈りロボットとペアリングされている前記複数のビーコンに増設ビーコンを追加することを含む、
請求項１５に記載の芝刈りシステム。
【請求項１７】
前記移動芝刈りロボットは、前記広帯域信号又は前記超広帯域信号を検出し、該広帯域信号又は該超広帯域信号を用いてある領域での航行を可能にするよう構成され、
前記複数のビーコンに前記増設ビーコンを追加するための工程は、
前記増設ビーコンからの、該増設ビーコンの増設ビーコンアドレスと、どのビーコンにも特有でない所定のアドレスとを含むブロードキャストを受信し、
前記ブロードキャストに応答して、前記増設ビーコンアドレスにある前記増設ビーコンに、所定のアドレス上で、前記ロボットアドレスを送信し、
前記増設ビーコンから、該増設ビーコンと前記移動芝刈りロボットとの間の距離の判定に用いるメッセージを受信し、
前記距離を所定の距離と比較し、
前記距離が前記所定の距離より小さい場合に前記増設ビーコンを前記移動芝刈りロボットとペアリングされたものとして登録することを含む、
請求項１６に記載の芝刈りシステム。
【請求項１８】
前記増設ビーコンは、
実行可能な指示を保存するメモリと、
前記指示を実行して、
前記移動芝刈りロボットに前記ブロードキャストを出力し、
前記移動芝刈りロボットから前記ロボットアドレスを受信し、
前記ロボットアドレスにある前記移動芝刈りロボットに前記メッセージを出力し、
前記増設ビーコンが前記移動芝刈りロボットとペアリングされたことの確認を該移動芝刈りロボットから受信し、
前記確認に応答して前記増設ビーコンを前記移動芝刈りロボットとペアリングされたものとして登録すること
を含む工程を実行するための一以上の処理装置と、
を含む、
請求項１７に記載の芝刈りシステム。
【請求項１９】
前記複数のビーコンに前記増設ビーコンを追加するための工程は、
前記増設ビーコンが、前記移動芝刈りロボットが通信すべき複数のビーコンに含まれていることの確認のリクエストを出力し、
前記リクエストに応答して、前記増設ビーコンが、前記移動芝刈りロボットが通信すべき前記複数のビーコンに含まれているとの確認を受信することを含み、
前記登録は、前記確認の受信の後に実行され、
前記登録は、増設ビーコンアドレスを、前記それぞれ異なる関連付けられたビーコンアドレスに関連付けて、前記移動芝刈りロボットのメモリに保存することを含む、
請求項１７に記載の芝刈りシステム。
【請求項２０】
前記複数のビーコンに前記増設ビーコンを追加するための工程は、
前記増設ビーコンを前記移動芝刈りロボットに向かって移動させるリクエストを出力することを含み、該増設ビーコンからの前記メッセージは、該増設ビーコンを移動させるリクエストの出力の後に受信する、
請求項１７に記載の芝刈りシステム。
【請求項２１】
前記複数のビーコンに前記増設ビーコンを追加するための工程は、
前記登録の後に前記複数のビーコンに前記増設ビーコンアドレスを送信し、
前記登録の後に前記増設ビーコンに前記それぞれ異なる関連付けられたビーコンアドレスを送信することを含む、
請求項１７に記載の芝刈りシステム。
【請求項２２】
前記移動芝刈りロボットとペアリングされている前記複数のビーコンに前記増設ビーコンを追加するための工程は、
前記ビーコンに関連付けられたエラーを識別し、
ユーザインターフェースを介して前記エラーの指示を出力することを更に含み、
前記ユーザインターフェースは、前記エラーが前記ビーコンの交換によって対処されたことを指示するための機能を含み、
前記工程は、前記エラーが前記ビーコンの交換によって対処されたことの指示に応答して、前記移動芝刈りロボットにどのビーコンにも特有でない前記所定のアドレスをリスンさせることを更に含む、
請求項１７に記載の芝刈りシステム。
【請求項２３】
前記移動芝刈りロボットとペアリングされている前記複数のビーコンに前記増設ビーコンを追加するための工程は、
ユーザアカウントと関連付けた保存のために前記増設ビーコンアドレス及び前記ロボットアドレスをサーバに送信することを更に含む、
請求項１７に記載の芝刈りシステム。
【発明の詳細な説明】
【優先権の主張】
【０００１】
本出願は、２０１５年７月２３日出願の米国出願第１４／８０７，４８５、タイトル「ビーコンと移動ロボットのペアリング」の優先権を主張するものであり、その開示が参照により本明細書に組み込まれる。
【技術分野】
【０００２】
本明細書は、概してビーコンと移動ロボットのペアリングに関する。
【背景技術】
【０００３】
芝刈りロボットは、環境内を航行し、その環境内の限られた領域の芝刈りを行うことができる。ロボットは、環境内のビーコンを検出することで環境内における位置を判定することができる。ビーコンは、ロボットが発する信号を反射する受動型ビーコン又はロボットが検出する信号を発する能動型ビーコンであり得る。ロボットは、ビーコンからのこれらの信号を用いて、ロボットの移動を環境内の限られた領域に制限すること及び／又は芝生領域の体系的なカバレッジを可能にすることができる。
【発明の概要】
【０００４】
いくつかの例において、移動芝刈りロボットによって実行される方法は、ビーコンを移動芝刈りロボットとペアリングすることを含む。ビーコンを移動芝刈りロボットとペアリングすることは、ビーコンと移動芝刈りロボットとの間の距離を判定し、判定した距離とペアリング距離との比較に基づいてビーコンが移動芝刈りロボットからペアリング距離内にあることを確認することを含む。ビーコンを移動芝刈りロボットとペアリングすることは、ビーコンが移動芝刈りロボットからペアリング距離内にあることを確認した後にビーコンを移動芝刈りロボットとペアリングし、ペアリングの後に、ビーコンからの広帯域信号又は超広帯域信号を検出し、広帯域信号又は超広帯域信号を用いてある領域での航行を可能にすること更に含む。
【０００５】
いくつかの例において、移動芝刈りロボットによって実行される方法は、ユーザインターフェースを介して、ビーコンが、移動芝刈りロボットが通信すべき複数のビーコンに含まれていることの確認のリクエストを出力することを含んでも良い。移動芝刈りロボットによって実行される方法は、リクエストに応答して、ビーコンが、移動芝刈りロボットが通信すべき複数のビーコンに含まれているとの確認を受信することを含んでも良い。ペアリングは、確認の受信の後に実行しても良い。
【０００６】
いくつかの例において、ビーコンを移動芝刈りロボットとペアリングすることは、ビーコンと移動芝刈りロボットとの間の距離を判定する前に、ビーコンからのブロードキャストを識別することを含んでも良い。ブロードキャストは、ビーコンのビーコンアドレスと、どのビーコンにも特有でない所定のアドレスとを含んでも良い。ビーコンを移動芝刈りロボットとペアリングすることは、ブロードキャストに応答して、ビーコンアドレスにあるビーコンに移動芝刈りロボットのロボットアドレスを送信することを含んでも良い。ビーコンを移動芝刈りロボットとペアリングすることは、ビーコンからメッセージを受信することを含んでも良い。ビーコンと移動芝刈りロボットとの間の距離は、メッセージを用いて判定しても良い。ビーコンを移動芝刈りロボットとペアリングすることは、ビーコンアドレスを、移動芝刈りロボットとペアリングされている一以上の他のビーコンの一以上の他のアドレスと関連付けて、移動芝刈りロボットのメモリに保存することを更に含んでも良い。ビーコンを移動芝刈りロボットとペアリングすることは、ビーコンを移動芝刈りロボットに向かって移動させるリクエストを出力することを更に含んでも良い。ビーコンからのメッセージは、ビーコンを移動させるリクエストの出力の後に受信しても良い。
【０００７】
移動芝刈りロボットによって実行される方法は、ペアリングの後に一以上の他のビーコンにビーコンアドレスを送信することを更に含んでも良い。移動芝刈りロボットによって実行される方法は、ビーコンに、一以上の他のビーコンの一以上の他のアドレスを送信することを更に含んでも良い。移動芝刈りロボットによって実行される方法は、ユーザアカウントと関連付けた保存のためにビーコンアドレス及びロボットアドレスをサーバに送信することを含んでも良い。移動芝刈りロボットによって実行される方法は、ビーコンに関連付けられたエラーを識別し、ユーザインターフェースを介してエラーの指示を出力することを含んでも良い。ユーザインターフェースは、エラーがビーコンの交換によって対処されたことを指示するための機能を含んでも良い。移動芝刈りロボットによって実行される方法は、エラーがビーコンの交換によって対処されたことの指示に応答して、移動芝刈りロボットにどのビーコンにも特有でない所定のアドレスをリスン（ｌｉｓｔｅｎ）させることを更に含んでも良い。
【０００８】
いくつかの例において、移動芝刈りロボットによって実行される方法は、ビーコンからパスコードを受信し、パスコードを移動芝刈りロボットと関連付けられたパスコードと比較することを含んでも良い。ペアリングは、ビーコンからのパスコードが移動芝刈りロボットと関連付けられたパスコードと一致することを確認した後に実行されても良い。
【０００９】
いくつかの例において、ビーコンを移動芝刈りロボットとペアリングするためにビーコンによって実行される方法は、ブロードキャストを移動芝刈りロボットに出力することを含む。ブロードキャストは、ビーコンのビーコンアドレスと、どのビーコンにも特有でない所定のアドレスを含む。ビーコンによって実行される方法は、ブロードキャストの後に移動芝刈りロボットから移動芝刈りロボットのロボットアドレスを受信することを含む。ビーコンによって実行される方法は、ビーコンからロボットアドレスにある移動芝刈りロボットにメッセージを出力することを含む。ビーコンと移動芝刈りロボットとの間の距離はメッセージを用いて判定される。ビーコンによって実行される方法は、ビーコンが移動芝刈りロボットとペアリングされたことの確認を移動芝刈りロボットから受信することを含む。ビーコンによって実行される方法は、確認に応答して、ビーコンを移動芝刈りロボットとペアリングされたものとして登録することを含む。
【００１０】
いくつかの例において、登録は、ビーコンのメモリに移動芝刈りロボットのロボットアドレスを保存することを含んでも良い。
【００１１】
いくつかの例において、ビーコンによって実行される方法は、移動芝刈りロボットとペアリングされている一以上の他のビーコンの一以上の他のアドレスを受信し、一以上の他のアドレスをビーコンのメモリに保存することを含んでも良い。一以上の他のアドレスは、登録の後に移動芝刈りロボットから受信しても良い。
【００１２】
いくつかの例において、芝刈りシステムは、広帯域信号又は超広帯域信号を発するための複数のビーコンを含む。ビーコンは、それぞれ、メモリに保存された、それぞれ異なる関連付けられたビーコンアドレス及びロボットアドレスを有する。芝刈りシステムは、ロボットアドレスに関連付けられた移動芝刈りロボットを含む。移動芝刈りロボットは、複数のビーコンのそれぞれとペアリングされている。移動芝刈りロボットはメモリを含む。メモリは、実行可能な指示と、複数のビーコンのそれぞれの、それぞれ異なる関連付けられたビーコンアドレスを保存する。移動芝刈りロボットは、指示を実行して工程を実行するための一以上の処理装置を含む。工程は、ビーコンアドレスを表す広帯域信号又は超広帯域信号を受信し、広帯域信号又は超広帯域信号で表されるビーコンアドレスに基づいて、受信した広帯域信号又は超広帯域信号が移動芝刈りロボットとペアリングされている複数のビーコンのうちの一つと関連付けられているかを判定し、受信した広帯域信号又は超広帯域信号に基づいて移動芝刈りロボットの位置を特定することを含む。
【００１３】
いくつかの例において、工程は、移動芝刈りロボットとペアリングされている複数のビーコンに増設ビーコンを追加することを含んでも良い。移動芝刈りロボットは、広帯域信号又は超広帯域信号を検出し、広帯域信号又は超広帯域信号を用いてある領域での航行を可能にするよう構成されても良い。複数のビーコンに増設ビーコンを追加するための工程は、増設ビーコンからのブロードキャストを識別することを含んでも良い。ブロードキャストは、増設ビーコンの増設ビーコンアドレスと、どのビーコンにも特有でない所定のアドレスとを含んでも良い。工程は、ブロードキャストに応答して、増設ビーコンアドレスにある増設ビーコンにロボットアドレスを送信することを含んでも良い。工程は、増設ビーコンから、増設ビーコンと移動芝刈りロボットとの間の距離の判定に用いるメッセージを受信することを含んでも良い。工程は、距離を所定の距離と比較することを含んでも良い。工程は、距離が所定の距離より小さい場合に増設ビーコンを移動芝刈りロボットとペアリングされたものとして登録することを含んでも良い。
【００１４】
増設ビーコンは、実行可能な指示を保存するメモリ及び指示を実行して工程を実行するための一以上の処理装置を含んでも良い。工程は、移動芝刈りロボットにブロードキャストを出力することを含んでも良い。工程は、移動芝刈りロボットからロボットアドレスを受信し、ロボットアドレスにある移動芝刈りロボットにメッセージを出力することを含んでも良い。工程は、増設ビーコンが移動芝刈りロボットとペアリングされたことの確認を移動芝刈りロボットから受信し、確認に応答して増設ビーコンを移動芝刈りロボットとペアリングされたものとして登録することを含んでも良い。
【００１５】
複数のビーコンに増設ビーコンを追加するための工程は、増設ビーコンが、移動芝刈りロボットが通信すべき複数のビーコンに含まれていることの確認のリクエストを出力することを含んでも良い。工程は、リクエストに応答して、増設ビーコンが、移動芝刈りロボットが通信すべき複数のビーコンに含まれているとの確認を受信することを含んでも良い。登録は、確認の受信の後に実行しても良い。登録は、増設ビーコンアドレスを、それぞれ異なる関連付けられたビーコンアドレスに関連付けて、移動芝刈りロボットのメモリに保存することを含んでも良い。
【００１６】
複数のビーコンに増設ビーコンを追加するための工程は、増設ビーコンを移動芝刈りロボットに向かって移動させるリクエストを出力することを含んでも良い。増設ビーコンからのメッセージは、増設ビーコンを移動させるリクエストの出力の後に受信しても良い。
【００１７】
複数のビーコンに増設ビーコンを追加するための工程は、登録の後に複数のビーコンに増設ビーコンアドレスを送信することを含んでも良い。工程は、登録の後に増設ビーコンにそれぞれ異なる関連付けられたビーコンアドレスを送信することを含んでも良い。
【００１８】
移動芝刈りロボットとペアリングされている複数のビーコンに増設ビーコンを追加するための工程は、ビーコンに関連付けられたエラーを識別し、ユーザインターフェースを介してエラーの指示を出力することを更に含んでも良い。ユーザインターフェースは、エラーがビーコンの交換によって対処されたことを指示するための機能を含んでも良い。工程は、エラーがビーコンの交換によって対処されたことの指示に応答して、移動芝刈りロボットにどのビーコンにも特有でない所定のアドレスをリスンさせることを更に含んでも良い。
【００１９】
移動芝刈りロボットとペアリングされている複数のビーコンに増設ビーコンを追加するための工程は、ユーザアカウントと関連付けた保存のために増設ビーコンアドレス及びロボットアドレスをサーバに送信することを更に含んでも良い。
【００２０】
いくつかの例において、芝刈りシステムは、一組のビーコンと、移動芝刈りロボットとを含む。一組のビーコンは、メモリに保存された第一ビーコンアドレス及びロボットアドレスを有する第一ビーコンを含む。第一ビーコンは、第一ビーコンアドレスを含む広帯域信号又は超広帯域信号を発するよう構成されている。一組のビーコンは、メモリに保存された、第一ビーコンアドレスと異なる第二ビーコンアドレス及びロボットアドレスを有する第二ビーコンを含む。第二ビーコンは、第二ビーコンアドレスを含む広帯域信号又は超広帯域信号を発するよう構成されている。一組のビーコンは、メモリに保存された、第一、第二ビーコンアドレスと異なる第三ビーコンアドレス及びロボットアドレスを有する第三ビーコンを含む。第三ビーコンは、第三ビーコンアドレスを含む広帯域信号又は超広帯域信号を発するよう構成されている。移動芝刈りロボットは、第一、第二及び第三ビーコンのそれぞれとペアリングされている。移動芝刈りロボットはメモリを含む。メモリは、実行可能な指示と、第一、第二及び第三ビーコンアドレスを保存する。移動芝刈りロボットは、指示を実行して工程を実行するための一以上の処理装置を含む。工程は、広帯域信号又は超広帯域信号を受信し、第一、第二及び第三ビーコンの少なくとも一つから受信した広帯域信号又は超広帯域信号に基づいて移動芝刈りロボットの位置を特定することを含む。
【００２１】
上記の例の長所として、限定されないが、以下を含み得る。各ビーコンは移動芝刈りロボットと独占的にペアリングさせることができる。その結果、近くにある、ビーコンとペアリングされていない移動芝刈りロボットは、ビーコンが発する信号を用いた航行及び芝刈り作業を行うことができない。ペアリングは、泥棒するつもりの者にとってビーコンを魅力的でないものにすることができる。例えば、ビーコンを移動芝刈りロボットとペアリングするためにパスコードを必要とすることで、ペアリングされたビーコンはパスコードを知る者にとってのみ有益になる。その結果、盗難事例を減らすことができる。
【００２２】
概要で説明されているものを含む本明細書で説明されている二以上の特徴を組み合わせることで、本明細書で具体的に説明されていない実施形態を構成することができる。
【００２３】
本明細書で説明されている移動芝刈りロボット又はその動作の側面は、一以上の非一時的機械可読保存媒体に保存され、一以上の処理装置で実行して本明細書で説明されている工程の制御（例えば、連係させること）が可能な指示を含む一以上のコンピュータプログラム製品を含む、又は一以上のコンピュータプログラム製品によって制御することができる。本明細書で説明されている移動芝刈りロボット又はその動作の側面は、一以上の処理装置及び様々な動作を実施するための実行可能な指示を保存するメモリを含み得るシステム又は方法の一部として実施することができる。
【００２４】
一以上の実施形態が、添付の図面及び以下の詳細な説明に記載されている。他の特徴及び長所は、詳細な説明、図面及び特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００２５】
【図１Ａ】図１Ａは、第一芝地に位置する第一移動芝刈りロボット及び複数の第一ビーコン、並びに第二芝地に位置する第二移動芝刈りロボット及び複数の第二ビーコンを示す。
【図１Ｂ】図１Ｂは、芝地に位置する移動ロボット及びビーコンを示す。
【図２】図２は、第一移動芝刈りロボット及び複数の第一ビーコンのうちの一つの側面図である。
【図３】図３は、移動芝刈りロボットの下面図である。
【図４】図４は、ビーコン内の構成要素をブロック図で示した、ビーコンの正面断面図である。
【図５】図５は、移動芝刈りロボット、サーバ、一組のビーコン及びユーザデバイスを含むネットワークのブロック図である。
【図６】図６は、移動芝刈りロボットをビーコンとペアリングするための工程のフローチャートである。
【図７】図７は、移動芝刈りロボットとビーコンとの間でアドレスを交換するための工程のフローチャートである。
【図８】図８は、移動芝刈りロボット及び移動芝刈りロボットとペアリングされるビーコンを示す。
【図９】図９は、移動芝刈りロボットとビーコンとの間のペアリングを登録して他のビーコンにアドレスを伝えるための工程のフローチャートである。
【図１０】図１０は、ペアリングの承認リクエストを表示するユーザデバイスを示す。
【図１１】図１１は、移動ロボット、ペアリングされたビーコン及び新規ビーコンの間での通信を概念的に示す図である。
【図１２】図１２は、パスコードを確認する工程のフローチャートである。
【図１３】図１３は、パスコードのリクエストを表示するユーザデバイスを示す。
【図１４】図１４は、芝地に配置されたビーコンを用いて芝地を航行する移動芝刈りロボットの上面図である。
【図１５】図１５は、ビーコンエラーを検出してビーコンエラーに対処するための工程のフローチャートである。
【図１６】図１６は、ビーコンのバッテリーレベル状態更新情報を表示するユーザデバイスを示す。
【図１７】図１７は、ビーコンに関連するエラーへの対処のプロンプトを表示するユーザデバイスを示す。
【００２６】
異なる図における同様の符号は、同様の要素を表す。
【発明を実施するための形態】
【００２７】
本明細書では、芝地、野原、及びその他の刈り取り可能な領域といった刈り取り可能な面を移動して、限定されないが、芝地の芝を刈る作業を含む様々な刈り取り作業を行う移動芝刈りロボット（以下、「ロボット」ともいう）の一例について説明する。また、本明細書では、ロボットと通信可能であり、芝地でロボットが航行することを可能にするビーコンについて説明する。いくつかの例において、ビーコンは、ビーコンとペアリングされたロボットだけがそのビーコンに限局可能となるように、一以上のロボットと独占的にペアリングすることが可能である。ロボットとビーコンとの間のペアリング工程は本明細書で説明されている。ペアリング工程が実行されてロボットが対応するビーコンの組とペアリングされた後、ロボットは、対応するビーコンの組に含まれるビーコンが発する広帯域信号又は超広帯域信号を用いて航行することができる。
【００２８】
図１Ａは、第一芝地１０６及び第二芝地１０８を含む環境１０４を示す。第一移動芝刈りロボット１００（「第一ロボット１００」と呼ぶ）は、芝地１０６を航行しながら芝刈り作業を実行するよう構成されている。第二移動芝刈りロボット１０２（「第二ロボット１０２」と呼ぶ）は、芝地１０８を航行しながら芝刈り作業を実行するよう構成されている。ロボット１００、１０２は、それぞれ、ロボット動作を制御するようプログラムされた一以上の処理装置又は制御装置を含み得る制御システムを含む。各ロボット制御システムは、ロボット１００、１０２を対応するビーコンの組とペアリングするようプログラムされている。例えば、ロボット１００は芝地１０６上のビーコン１１０ａ、１１０ｂ及び１１０ｃ（ビーコン１１０）とペアリングされ、ロボット１０２は芝地１０８上のビーコン１１２ａ、１１２ｂ、１１２ｃ及び１１２ｄ（ビーコン１１２）とペアリングされる。ビーコン１１０、１１２は、それぞれ、ロボット１００、１０２と通信しペアリングする工程を含むビーコンの動作を制御するようプログラムされた一以上の処理装置又は制御装置を含み得る、制御システムも含む。
【００２９】
この関連で、ペアリングは、ロボットが、航行及び位置特定のために、ペアリングされたビーコンからの信号のみを認識し、ロボットとペアリングされていないビーコンからの信号は認識しないようにするために、ロボットとペアリングされたビーコンとの関係を確立することを含む。ビーコン及びロボットの生産時には、ロボットと三以上のビーコンを互いにペアリングさせても良い。従って、ユーザは、ビーコンとロボットを受け取ったら、ビーコンをロボットとペアリングするペアリング作業を行うことなく、すぐにビーコンを芝地に配置することができる。ペアリングされたビーコンが発する信号を用いて対応する芝地の境界を認識するようユーザがロボットを訓練した後は、ロボットは、芝地を航行する際にペアリングされたビーコンからの信号を用いて自動的に（例えば、ユーザによる入力無しに）境界を識別することができる。
【００３０】
例えば、図１Ａに示すように、ロボット１００はビーコン１１０を用いて対応する芝地１０６の境界を識別し、ロボット１０２はビーコン１１２を用いて対応する芝地１０８の境界を識別する。芝地境界に関する情報は、ユーザが補助する境界教示動作の最中に判定される。芝地境界に関する情報は、ロボットのメモリに保存される。ビーコン信号と組み合わせて、芝地境界に関する情報は、ロボットが芝地境界を横切ることなく自動的に芝地を航行することを可能にする。
【００３１】
異なるロボットは異なるビーコンの組とペアリングされているため、ペアリングされていないビーコンからの信号はロボット動作に影響しない。いくつかの実施形態において、ロボットとペアリングされたビーコンとの間で伝達される信号は、広帯域信号又は超広帯域信号を含む。広帯域信号は、５９２５ＭＨｚから７２５０ＭＨｚの間の周波数を有する高周波信号を含み得る。超広帯域信号は、５００Ｈｚより高い周波数、例えば３．１ＧＨｚから１０．６ＧＨｚの間の周波数を有する高周波信号を含み得る。
【００３２】
状況によっては、ビーコンの組に含まれるビーコンを交換したり、システムに既に割り当てられているビーコンの組にビーコンを追加したりする必要があり得る。芝刈り作業中、ロボットは、芝地内での位置を正確に推定するために、ビーコンからの信号を用いる。ビーコンが故障した場合又は利用不可能になり、芝刈り作業中にロボットが十分な数の信号を検出できるようにすることができなくなった場合、ユーザはビーコンを交換する必要があり得る。いくつかの場合において、芝地に配置されたビーコンの組にビーコンを追加する必要があり得る。例えば、図１Ｂに示すように、航行中、ロボット１２０は、ロボット１２０とペアリングされたビーコン１２４ａ、１２４ｂ、１２４ｃを用いて芝地１２２を航行し得る。ロボット１２０が芝地１２２の部分１２８に入った場合、ロボット１２０は、部分１２６に向かって伝わる際に家１２６によってブロックされるか減衰される可能性のある無線信号１２５を発するビーコン１２４ａからの信号を検出できないか又は強度が不十分な信号を受信する可能性がある。ユーザは、部分１２８にあるロボット１２０が検出可能な無線信号を発することが可能なビーコンを追加したいと考える可能性がある。ロボット１２０とペアリングされているビーコン１２４ａ、１２４ｂ、１２４ｃの組への、部分１２６に位置する新規ビーコンの追加は、部分１２６内でのロボットの位置の推定の精度を高めることができる。
【００３３】
図１Ａの例では、第二ロボット１０２は、第二ロボット１０２とペアリングされていないビーコンとは通信しないよう構成することができる。例えば、第二ロボット１０２は、第二ロボット１０２とペアリングされていない第一ビーコン１１０とは通信しないよう構成することができる。同様に、第二ビーコン１１２とペアリングされていない第一ロボット１００は、第二ビーコン１１２と通信しないよう構成することができる。
【００３４】
環境１０４は、第一ロボット１００や第二ロボット１０２とペアリングされていないビーコン１１４も含む。ビーコン１１４は、ロボット１００及びロボット１０２の双方の通信範囲内にあり（例えば、ロボット１００、１０２は、ビーコン１１４が発する広帯域信号又は超広帯域信号を検出可能であり）、本明細書で説明する方法を用いてこれらのロボットのいずれかとペアリングさせることができる。例えば、第一ロボット１００は、既にロボット１００とペアリングされているビーコンの組にビーコン１１４を追加することができる。ビーコン１１４は、既存のビーコンに取って代わるか、既存のビーコンを増加させて第一ロボット１００の位置特定及び航行の精度を向上させることができる。例えば、ロボットは、芝地１０６上のある位置において三つのビーコンからの信号を検出できないか、若しくはその領域においては三つのビーコンのうちの一つからの信号が弱い可能性がある。上述したように、ロボット１００に、その領域からより良好なビーコン信号を提供するために、芝地のその領域にビーコン１１４を追加してロボット１００とペアリングさせても良い。ビーコン１１４といったビーコンをロボットとペアリングさせるための工程の例は、本明細書で説明されている。
【００３５】
本明細書で説明するように、新規ビーコン１１４は、新規ビーコン１１４の位置からペアリング距離１１８内にあるロボットとのみペアリング可能であるように構成することができる。この関連で、新規ビーコン１１４を第一ロボット１００とペアリングするために、図２に示すように、ユーザ１１６は、ペアリング距離１１８内である第一芝地１０６上の距離２００の位置に第一ロボット１００を配置することができる。第一ロボット１００が新規ビーコン１１４からのブロードキャストを識別すると、第一ロボット１００は、第一ロボット１００の制御システムが第一ロボット１００と新規ビーコン１１４との間の距離の判定に用いることができるメッセージを受信することができる。距離２００がペアリング距離１１８より短い場合、制御システムは、新規ビーコン１１４が第一ロボット１００とペアリングすることを許可することができる。
【００３６】
本明細書で述べるように、ロボット１００、１０２は、ロボット１００、１０２が環境１０４内を航行し、芝地１０６、１０８上で芝刈り作業を実行し、ビーコン（例えば、第一ビーコン１１０、第二ビーコン１１２及びビーコン１１４）と通信することを可能にするシステムを含み得る。図３は、本明細書で説明する動作の実行に適したシステムを含む、ロボット３００の一例の底面３０１を示している。ロボット３００の一例は、モータ（不図示）で駆動してロボット３００を表面（例えば、第一芝地１０６、第二芝地１０８）上で移動させる駆動車輪３０２ａ、３０２ｂを含む。キャスター車輪３０４ａ、３０４ｂ及び駆動車輪３０２ａ、３０２ｂは、ロボット３００のシャーシ３０５を表面上に支持する。ロボット３００は、回転させることで表面上の芝を切ることが可能な芝刈り機を更に含む。
【００３７】
ロボット３００は、保存されている指示を実行してロボット３００の航行、芝刈り及び通信動作を実行することが可能な制御装置３０８（例えば、電子プロセッサ又は一以上のその他の適切な処理装置）を含む。
【００３８】
制御装置３０８で操作可能な通信システム３１０は、例えば広帯域または超広帯域無線送受信機といった、制御装置３０８が例えばビーコンといった環境内の他の装置と無線通信することを可能にする無線送受信機を含み得る。通信システム３１０は、通信システム３１０によって実行される工程、とりわけ制御装置３０８がビーコンと通信してロボット３００を適切なビーコン又はビーコンの組とペアリングさせることを可能にする。通信システム３１０は、また、ロボット３００がビーコンからの広帯域信号又は超広帯域信号を受信することを可能にし、ロボット３００がそれらの信号を用いて環境内を航行し環境内での位置を特定できるようにする。通信システム３１０は、制御装置３０８がＷｉ−Ｆｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、又はその他の無線プロトコルを用た通信を可能にする追加の無線送受信機を含み得る。この無線送受信機は、制御装置３０８が、スマートフォン、タブレット、デスクトップやラップトップコンピュータ、及びサーバといった、遠隔のシステムと通信することを可能にする。制御装置３０８にアクセス可能なメモリ３１２は、ロボットにローカルに情報を保存する。
【００３９】
いくつかの実施形態において、ロボット３００は、ロボットの移動距離、ロボットの速度、又はロボットの加速度のうち少なくとも一つを示す運動信号を生成する運動センサを含み得る。運動センサは、全ての軸の周りの相対回転も検出可能である（例えば、ＩＭＵ）。いくつかの場合において、制御装置３０８は、ビーコンに関連して本明細書で説明する位置特定技術の利用に加えて、運動信号を用いて、ロボット３００が環境内での位置を推定するために利用することができるＳｉｍｕｌｔａｎｅｏｕｓ Ｌｏｃａｌｉｚａｔｉｏｎ ａｎｄ Ｍａｐｐｉｎｇ （ＳＬＡＭ）技術を実行することができる。制御装置３０８は、運動信号に基づいて、環境のマップを生成してロボットの姿勢を判定することができる。運動信号は、例えば、ロボットに搭載された、ロボットの駆動車輪に関連付けられたエンコーダ、光学マウスセンサ、慣性計測装置（ＩＭＵ）、加速度計、またはジャイロスコープからのデータを含み得る。運動信号のデータは、制御装置３０８がロボットの相対位置を判定するために用いる推定航法データとして用いることができる。従って、ロボット３００が環境内を航行すると、制御装置３０８は、運動信号を用いて、ロボット３００の前の位置に対して測定したロボット３００の相対位置を判定することができる。推定航法は、比較的短い距離では正確だが、時間と共に蓄積するドリフト誤差が発生し易い。蓄積したドリフトは、距離計算及び方向計算の両方に影響を与え得る。
【００４０】
本明細書で説明するビーコンは、ロボットとの通信及びペアリングを実行するためのシステムを含む。図４は、通信及びペアリング動作をサポートするための適切なシステムを含むビーコン４００の一例の正面概略図である。ビーコン４００は、環境内においてビーコン４００の位置が固定されるように、芝地に配置することが可能な杭４０２に取り付けることができる。いくつかの実施形態において、ビーコン４００は、屋外環境において既存の構造（例えば、家の側面、フェンスポスト、又は樹木）に取り付け可能な接着剤を含み得る。ビーコン４００の制御装置４０４（例えば、電子プロセッサ又は一以上のその他の適切な処理装置）は、ビーコン４００の通信システム４０６を制御することができる。通信システム４０６は、広帯域信号又は超広帯域信号といった無線信号を環境内に発することができる無線送受信機を含み得る。通信システム４０６は、無線送受信機を用いて、例えばロボット３００によって環境内に発せられた無線信号を受信することもできる。
【００４１】
制御装置４０４は、異なる目的及び機能のための無線信号を発するよう通信システム４０６を制御することができる。例えば、ロボット３００をビーコン４００とペアリングするペアリング工程の最中に、ロボット３００が識別してビーコン４００とのペアリングを開始することができるブロードキャストを発するよう通信システム４０６を制御することができる。ロボット３００の制御装置３０８がロボット３００とビーコン４００との間の距離（例えば、距離２００）の判定に用いることができるメッセージを送信するよう通信システム４０６を制御することができる。ロボット３００の航行及び芝刈り作業の最中に、ビーコン４００は、ロボット３００が環境内での位置を特定するために用いる無線信号を発することができる。制御装置４０４にアクセス可能なメモリ４０８は、情報のローカルな保存を可能にする。
【００４２】
ビーコン４００は、ビーコン４００の様々なシステムに電力を供給する交換可能電源４１０（例えば、バッテリー）も含み得る。制御装置４０４は、電源４１０の電力量を監視することができる。通信システム４０６は、電源４１０の電力量に関する状態更新情報を送信することができる。
【００４３】
図５に示すブロック図で示されているように、ロボット３００及びビーコン４００は、デバイスのネットワーク５００の一部であり得る。ネットワーク５００内のデバイスは、一以上の無線プロトコル又は無線技術を用いて、ネットワーク内の他のデバイスと通信することができる。ロボット３００の通信システム３１０は、ロボット３００が、サーバ５０５、ユーザデバイス５１０(例えば、携帯装置、スマートフォン、コンピュータ)、及びビーコン４００との無線通信を可能にする。ネットワーク５００は、ロボット３００とペアリングされた他のビーコン５１５も含み得る。通信システム３１０は、例えばＷｉ−Ｆｉ送受信機を用いて、サーバ５０５と通信することができる。本明細書で説明するように、通信システム３１０は、広帯域信号又は超広帯域信号を用いて、ビーコン４００の通信システム４０６と通信することができる。ロボット３００のメモリ３１２及びビーコン４００のメモリ４０８は、アドレス、パスコード、及びその他の識別情報といったペアリング動作に関する情報を保存することができる。メモリ３１２、４０８は、制御装置３０８、４０４のそれぞれによって実行可能な、ロボット３００とビーコン４００との間のペアリングを実行するための指示も保存することができる。ロボットのメモリ３１２は、ロボット３００とペアリングされているビーコンを識別する情報、及び本明細書で説明する境界教示動作といった訓練又は教示動作中に生成された情報も保存することができる。
【００４４】
メモリ３１２及びビーコンのメモリ４０８は、ネットワーク５００を通して送信された様々な情報を保存することができる。メモリ３１２は、ロボット３００に固有のロボットアドレス５２０を保存することができる。ロボットアドレス５２０は、通信システム３１０が発する無線信号（例えば、広帯域信号又は超広帯域信号）で送信可能なロボット３００の固有の識別子（例えば、シリアルナンバー）である。ビーコン４００のメモリ４０８は、ロボット３００がビーコン４００とペアリングされている場合、ロボットアドレス５２０も保存することができる。メモリ４０８は、ロボットアドレス５２０を保存することで、本明細書でより詳細に説明するように、ビーコン４００がロボット３００と一意的にペアリングされることを可能にする。
【００４５】
ビーコン４００のメモリ４０８は、ビーコン４００に固有のビーコンアドレス５２５を保存する。ロボットアドレス５２０と同様に、ビーコンアドレス５２５はビーコン４００に固有の識別子である。ビーコン４００は、通信システム４０６による無線送信を用いてビーコンアドレス５２５を送信することができる。ロボット３００がビーコン４００とペアリングされている場合、メモリ３１２はビーコンアドレス５２５を保存することができる。メモリ３１２は、ビーコンアドレス５２５を保存することで、ロボット３００がビーコン４００とペアリングされることを可能にし、本明細書でより詳細に説明するように、航行及び芝刈り作業の最中にロボット３００がビーコン４００と通信することを可能にする。
【００４６】
ロボット３００及びビーコン４００は、双方とも、どのビーコンやロボットにも固有でない所定のアドレスも保存することができる。ペアリング工程中、通信システム３１０及び通信システム４０６は、ロボット３００がビーコンアドレス５２５を受信しビーコン４００がロボットアドレス５２０を受信する前に、所定のアドレスを用いて互いに通信することができる。
【００４７】
パスコード５３０は、ロボット３００のメモリ３１２及びビーコン４００のメモリ４０８の両方に保存することができる。本明細書で説明するように、ビーコン４００を他のロボットとペアリングする際に、他のロボットをビーコン４００とペアリングすることを許可するために、パスコード５３０が、例えば、他のロボットのユーザインターフェースに入力され得る。
【００４８】
他のビーコン５１５は、既にロボット３００とペアリングされているビーコンの組の一部を構成する。例えば、これらのビーコンは、以前に、ユーザによって又はロボット及びビーコンの製造段階において、ロボットとペアリングされている可能性がある。他のビーコン５１５は、それぞれビーコンアドレスを含む。他のビーコン５１５のそれぞれは、固有のビーコンアドレスを保存するためのメモリを含む。メモリ４０８は、他のビーコンがロボット３００と独占的にペアリングされるようにするために、他のビーコン５１５のビーコンアドレス５３５を保存することができる。ペアリング工程中、制御装置３０８は、通信システム３１０に、ロボット３００とペアリングされている他のビーコンのそれぞれにビーコンアドレス５３５を伝えさせることができる。その結果、他のビーコン５１５のメモリ及びビーコン４００のメモリ４０８も、他のビーコンアドレス５３５を保存することができる。他のビーコン５１５のメモリは、パスコード５３０も保存することができる。
【００４９】
いくつかの実施形態において、サーバ５０５は、ロボットアドレス５２０、ビーコンアドレス５２５、パスコード５３０、及び他のビーコンアドレス５３５を、ユーザアカウント５４０と関連付けられたメモリに保存することができる。ロボット３００は、通信システム３１０を用いてサーバ５０５と通信することで、ユーザアカウント５４０に保存されている情報を伝達することができる。ユーザアカウント５４０に保存されている情報は、ネットワーク上の他の場所にある記憶装置へのバックアップの役割を果たすことができる。
【００５０】
ロボット３００の動作（例えば、ペアリング、航行及び芝刈り作業）を制御するために、ユーザは、ユーザインターフェース５４５と相互に作用することができる。ユーザデバイス５１０は、例えばＢｌｕｅｔｏｏｔｈ（登録商標）やＷｉ−Ｆｉ接続を用いて、ロボット３００の通信システム３１０と通信することができる。ユーザは、追加的に又は代替的に、ユーザデバイス５１０を用いて、ロボット３００の動作に関する情報を閲覧したり入力したりすることができる。本明細書で説明するように、ユーザは、ユーザインターフェース５４５及び／又はユーザデバイス５１０を起動して、例えば、ロボット３００とビーコン４００とのペアリングに関連する様々な工程を確認し、ペアリングの実行を許可するためにパスコード５３０を入力することができる。ユーザは、ロボット３００のユーザインターフェース５４５又はユーザデバイス５１０を用いて、ロボット３００の通信システム３１０によって送信されたエラー及びリクエストを閲覧しそれらに応答することもできる。
【００５１】
図６は、ロボット６０４(例えば、ロボット３００)がビーコン６０６（例えば、ビーコン４００）とペアリングされるペアリング処理６００の一例のフローチャートを示す。処理６００に関して説明されている各工程は、一以上の工程を含み得る。処理６００は、ビーコン６０６を起動するビーコン起動工程６０８を含む。ユーザ６０２は、例えば、ビーコン６０６への電源の供給、ビーコン６０６の電源入れ、又はビーコン６０６のブロードキャスト又はペアリングモードの開始によって、ビーコンを起動することができる。ビーコン６０６は、ユーザが切り替えることでビーコン６０６の電源を入れることが可能なボタンを含み得る。いくつかの場合において、ビーコン６０６は、代替的又は追加的に、ブロードキャスト又はペアリングモードを開始させるためのボタンを含み得る。
【００５２】
ビーコン６０６は、次いで、既存のロボットアドレスがビーコン６０６のメモリに保存されているかを判定（６１０）することができる。いくつかの場合において、既存のアドレスはロボット６０４のアドレスであり、ロボット６０４は既にビーコン６０６とペアリングされているため処理６００が終了する。既存のアドレスがメモリに保存されており、既存のアドレスがロボット６０４のアドレスでないとビーコン６０６が判定（６１２）すると、ビーコン６０６及びロボット６０４がパスコードの承認を要求するパスコード承認工程６１４が開始される。パスコード承認工程６１４の実行は、以前にビーコン６０６がロボット６０４ではないロボットとペアリングされていたことを示している。パスコード承認工程６１４は、盗難の発生を減少させるとともに、パスコードを知る者が以前にペアリングされていたビーコンを再利用することを可能にする。ユーザは、以前に古いロボットとペアリングされていたビーコンを再利用して新しいロボットとペアリングしたいと考える可能性がある。例えば、ユーザ６０２は、ユーザ６０２が以前から所有している古いロボットの代わりとなる新しいロボット（例えば、ロボット６０４）を受け取った可能性がある。ユーザ６０２は、古いロボットをビーコン６０６とペアリングした際に、ビーコン６０６のメモリに保存されていたパスコードを入力したか、古いロボットとビーコン６０６とが（例えば、ユーザによって又は製造段階において）ペアリングされた際に自動的にビーコン６０６に保存された、古いロボットに関連付けられたパスコードを受け取った可能性がある。ユーザ６０２が入力したパスコードがビーコン６０６と関連付けられたパスコードと一致するならば、ペアリング処理６００を続けてビーコン６０６をロボット６０４とペアリングすることができる。ユーザ６０２は、ユーザインターフェース（例えば、ユーザデバイス５１０又はロボット６０４のユーザインターフェース）にパスコードを入力することができる。パスコード承認工程６１４の更に詳細な例は、図１２に関して本明細書で説明する。
【００５３】
既存のアドレスがビーコン６０６のメモリに保存されていないとビーコン６０６が判定（６１６）すると、ビーコン及びロボットアドレス交換工程６１８が実行される。交換工程６１８では、ビーコン６０６はロボット６０４に固有に関連付けられたロボットアドレスを受信し、ロボット６０４はビーコン６０６に固有に関連付けられたビーコンアドレスを受信する。交換工程６１８の後、ロボット６０４がビーコン６０６からペアリング距離（例えば、ペアリング距離１１８）内に配置される距離確認工程６２０が実行される。ペアリング距離１１８は、例えば、０から３メートルであり得る。ユーザ６０２は、ロボット６０４がビーコン６０６からペアリング距離内にあることを確実にするために、ロボット６０４又はビーコン６０６の位置を調整しても良い。ビーコン及びロボットアドレス交換工程６１８及び距離確認工程６２０の詳細は、図７に関して本明細書で説明する。
【００５４】
距離確認工程６２０の後、ペアリング承認工程６２２が実行される。ロボット６０４は、ロボット６０４とビーコン６０６とのペアリングの承認のリクエストを、ユーザインターフェースを通して出力することができる。ユーザがペアリングを承認しない（６２４）場合、ロボット６０４は、ペアリングを承認（６２２）するよう更に承認のリクエストを出力することができる。いくつかの実施形態において、ユーザ６０２がビーコン６０６をロボット６０４とペアリングする意志が無い場合、ユーザ６０２は工程６２４でペアリング処理６００を終了することができる。ユーザ６０２は、別のビーコンをロボット６０４とペアリングしようとしている可能性があり、別のビーコンに対してペアリング処理６００を再開することができる。
【００５５】
ユーザがペアリングを承認（６２８）した場合、ビーコン６０６がロボットアドレスをビーコン６０６のメモリに保存し、ロボット６０４がビーコンアドレスをロボット６０４のメモリに保存する、アドレス登録工程６３０が開始される。アドレス登録工程６３０中、サーバは、ビーコンアドレス及びロボットアドレスを受信し、それらのアドレスを、ユーザ６０２及びロボット６０４に関連付けられたユーザアカウントに保存することができる。
【００５６】
アドレス登録工程６３０実行後、ロボット６０４は、ロボット６０４のメモリ内に保存された、他のペアリングされたビーコンのアドレスが無いかを判定（６３２）する。ロボット６０４のメモリに他のペアリングされたビーコンのアドレスが含まれるとロボット６０４が判定（６３４）すると、アドレス伝達工程６３６が実行される。この場合、ビーコン６０６は、既存のペアリングされているビーコンの組に追加される増設ビーコンである。従って、これらの工程は、ロボット６０４とペアリングされているビーコンの組にビーコン６０６を追加するための工程である。アドレス伝達工程６３６中、ビーコン６０６のビーコンアドレスは、他のペアリングされているビーコンのそれぞれに送信され、それらのメモリに保存される。他のペアリングされているビーコンのアドレスも、ビーコン６０６に送信され、ビーコン６０６のメモリに保存される。
【００５７】
ロボット６０４のメモリに他のペアリングされているビーコンのアドレスが含まれていないとロボット６０４が判定（６３８）した場合、アドレス伝達工程６３６は実行されず、処理６００は、増設ビーコンをロボット６０４とペアリングするかを判定（６４０）する工程６４０に進む。ペアリング承認工程６２２、アドレス登録工程６３０、アドレス伝達工程６３６及び途中の工程は、図９に関してより詳細に説明する。
【００５８】
増設ビーコンをロボット６０４とペアリングするとユーザが判断（６４２）した場合、増設ビーコン用に、増設ビーコンのビーコン起動工程６０８から始まる処理６００を再び開始することができる。増設ビーコンをロボット６０４とペアリングしないとユーザが判断（６４４）した場合、処理６００は終了（６４６）する。
【００５９】
ユーザ６０２がビーコンの組のロボット６０４とのペアリングを確立させた後、ユーザ６０２は、芝刈りすべき芝地の境界を認識させるようロボット６０４を訓練することができる。一例として、図１Ａに示すように、ユーザ１１６が第一ロボット１００を訓練して第一芝地１０６の境界を認識させるために、例えばビーコン１１４を第一ロボット１００とペアリングするための処理６００を実施した後に境界教示動作を実行することができる。第一ビーコン１１０とビーコン１１４は、従って、ロボット１００とペアリングされているビーコンの組を構成する。
【００６０】
ユーザ１１６は、第一ロボット１００が第一芝地１０６の境界に沿った軌道に沿って移動するように第一ロボット１００を押すことで、手動で境界を規定することができる。ユーザ１１６は、例えば、第一ロボット１００に取り付けられたハンドルを用いて、第一ロボット１００を手動で航行させることができる。第一ロボット１００が第一芝地１０６の境界を動き回ると、通信システム３１０は、第一ビーコン１１０及びビーコン１１４からの広帯域信号又は超広帯域信号を受信する。制御装置３０８は、広帯域信号又は超広帯域信号のそれぞれのＴｉｍｅ−ｏｆ−Ｆｌｉｇｈｔ情報を保存して第一芝地１０６の境界を位置特定して記憶し、それによって境界教示工程を完了させることができる。
【００６１】
一端境界が教示されると、第一ロボット１００は、第一芝地内を航行し、第一ビーコン１１０及びビーコン１１４からの広帯域信号及び超広帯域信号を用いて環境１０４内での位置を特定することができる。第一ロボット１００は、自動的に、例えばユーザ１１６の更なる介入無しに、第一芝地１０６上の芝を刈る芝刈り作業を実行することができる。
【００６２】
第一芝地１０６内での航行及び芝刈り作業の間、第一ロボット１００は、第一ロボット１００とペアリングされているビーコンの電力量を監視し、あるビーコン（例えば、第一ビーコン１１０のうちの一つ又はビーコン１１４）の交換又はその電源の交換が必要となった場合にユーザ１１６に知らせることができる。ビーコンの監視及びビーコンの監視により検出されたエラーの対処の一例は、図１５のフローチャートに関してより詳細に説明する。
【００６３】
図７から図１３は、例えば、図６の処理６００に関して本明細書で説明する、ペアリング工程及び通信工程の具体例を示す。
【００６４】
図７に示すフローチャートを参照すると、処理７００は、処理６００のビーコン及びロボットアドレス交換工程６１８及び距離確認工程６２０の一部であり得る様々な工程を含む。処理７００は、ユーザ６０２によって行われるユーザ工程７０２、ロボット６０４によって行われるロボット工程７０４、及びビーコン６０６によって行われるビーコン工程７０６を含む。
【００６５】
処理７００の工程は、判定工程６１０中に、ビーコン６０６が、既存のロボットアドレスがビーコン６０６のメモリに保存されていないと判定（６１６）した場合に発生する。ビーコン６０６は、ビーコンアドレスのブロードキャストを所定のアドレス上に出力（７０８）する。ビーコンアドレスは、ビーコン６０６に関連付けられた、ビーコン６０６のメモリに保存されている固有の識別子である。所定のアドレスもビーコン６０６のメモリに保存することができる。所定のアドレスは、いずれのビーコンやロボットにも関連付けられていない。従って、ブロードキャストは、ビーコン６０６のビーコンアドレス及びいずれのビーコンやロボットにも固有でない所定のアドレスを含み得る。ビーコン６０６によって出力されたブロードキャストは、広帯域信号又は超広帯域信号を用いて伝達することができる。ビーコン６０６は、他のデバイスがブロードキャストを受信し応答するまでブロードキャストを出力し続けることができる。
【００６６】
ユーザ６０２は、ロボット６０４に無線信号を送信しロボット６０４からの無線信号を受信することができるロボット６０４のユーザインターフェースや（図５に示す）ユーザデバイス５１０のユーザインターフェースと相互に作用することで、ロボット６０４とコミュニケーションをとることができる。ユーザ６０２は、ロボット６０４のユーザインターフェースやユーザデバイス５１０のユーザインターフェースと相互に作用して、ペアリングモードに入るようロボット６０４にリクエスト（７１０）することができる。ペアリングモード中、ロボット６０４は、ビーコン６０６からのブロードキャストを識別することができる。ペアリングモード中のロボット６０４は、ロボット６０４の製造段階においてロボット６０４のメモリに保存され得る所定のアドレス上のブロードキャストを受信（７１２）することができる。いくつかの場合において、ロボット６０４は、ビーコン６０６がブロードキャストを出力（７０８）する前にペアリングモードに入ることができる。従って、ペアリングモード中、ロボット６０４は所定のアドレス上のブロードキャストをリスン（ｌｉｓｔｅｎ）することができる。
【００６７】
ロボット６０４がペアリングモードに入り、ビーコン６０６がブロードキャストを出力（７０８）した後、ロボット６０４は、ブロードキャストを受信（７１２）することが可能であり、ビーコンアドレスも受信（７１４）することが可能である。ロボット６０４は、ビーコンアドレスを受信（７１４）すると、ロボットアドレスを送信（７１６）することができる。ロボット６０４は、ブロードキャスト及びビーコンアドレスの受信（７１２、７１４）に応答して、ロボット６０４用のロボットアドレスをビーコン６０６に送信（７１６）することができる。いくつかの場合において、ロボット６０４は、所定のアドレス上にロボットアドレスを送信（７１６）することができる。いくつかの実施形態において、ロボット６０４は、ビーコンアドレスにロボットアドレスを送信（７１６）することができる。
【００６８】
ビーコン６０６は、ビーコンアドレスのブロードキャストを出力（７０８）した後、所定のアドレス上でのアドレスの伝達をリスンすることができる。いくつかの場合において、ビーコン６０６は、ビーコンアドレス上でのアドレスの伝達をリスンすることができる。従って、ロボット６０４がロボットアドレスを送信（７１６）すると、ビーコン６０６はロボットアドレスを受信（７１８）することができる。
【００６９】
処理７００は、ロボット６０４がビーコン６０６からペアリング距離内にいることを確実にする距離確認工程（例えば、距離確認工程６２０）の一部である工程を進めることができる。ロボット６０４は、ロボット６０４とビーコン６０６との間の距離がペアリング距離より短いかどうかを判定（７２０）する。ロボット６０４は、ロボット６０４とビーコン６０６との間の距離を判定するために、ビーコン６０６からメッセージを受信することができる。ビーコン６０６は、広帯域信号や超広帯域信号といった無線信号を用いてメッセージを出力することができる。ロボット６０４は、メッセージを用いてロボット６０４とビーコン６０６との間の距離を判定することができ、次いで距離がペアリング距離より短いかどうかを判定（７２０）することができる。ロボット６０４は、例えば無線信号のＴｉｍｅ−ｏｆ−Ｆｌｉｇｈｔを用いて、距離を判定することができる。
【００７０】
距離がペアリング距離よりも長い（７２２）場合、ロボット６０４は、次いで、ビーコン６０６をロボット６０４に向かって移動させるか又はロボット６０４をビーコン６０６に向かって移動させるリクエストを出力（７２４）する。ロボット６０４は、ユーザインターフェースを介してリクエストを出力（７２４）することができる。ユーザインターフェースは、リクエストを受信し、ロボット６０４とビーコン６０６との間の距離がペアリング距離内になるようにユーザがビーコン６０６又はロボット６０４を再配置（７２６）する必要があるということを指示することができる。
【００７１】
図８に一例として示されているように、ロボット６０４は、ロボット６０４をビーコン６０６に向けて移動させるリクエストを出力（７２４）することができる。第一位置８００では、ロボット６０４は、ビーコン６０６のペアリング距離８１０より長い距離にある芝地８０５に位置している。ロボット６０４のユーザインターフェース又はユーザデバイス５１０のユーザインターフェース(図８においては不図示)は、ユーザ６０２はロボット６０４をビーコン６０６に向けて移動する必要があることを指示することができる。ユーザ６０２は、ロボット６０４を、ビーコン６０６のペアリング距離８１０内にある第二位置８２０に移動させることができる。
【００７２】
再度図７を参照すると、ユーザ６０２がビーコン６０６を再配置（７２６）した後、ユーザ６０２は、ビーコン６０６が再配置されたことを確認することができる。ビーコン６０６は、ユーザ確認の指示を受信することができる。例えば、ロボット６０４は、確認を受信し、次いでユーザ確認の指示をビーコン６０６に送信することができる。いくつかの場合において、ビーコン６０６は、ロボット６０４とビーコン６０６との間で伝達された無線信号のＴｉｍｅ−ｏｆ−Ｆｌｉｇｈｔを用いてロボット６０４からの距離を算出し、ビーコン６０６がロボット６０４からペアリング距離内に配置されたことを自動的に検出することができる。いずれの場合においても、ユーザがビーコン６０６を再配置（７２６）した後、ビーコン６０６は、ロボット６０４までの距離を示すメッセージを出力（７２８）することができる。ロボット６０４は、メッセージを受信（７３０）し、ロボット６０４とビーコン６０６との間の距離を判定し、次いで距離がペアリング距離内であるかを判定（７２０）することができる。
【００７３】
判定工程（７２０）において、距離がペアリング距離より短いとロボット６０４が判定（７３２）した場合、処理７００は、上述したような、ビーコン６０６を移動させるリクエストの出力（７２４）には進まない。むしろ、処理７００は、直接ペアリング承認工程６２２に進む。
【００７４】
図９に示すフローチャートを参照すると、処理９００は、ペアリング承認工程６２２、アドレス登録工程６３０、アドレス伝達工程６３５及びそれらの間の工程の一部であり得る工程を含む。処理９００は、ユーザ６０２によって行われるユーザ工程９０２、ロボット６０４によって行われるロボット工程９０４、及びビーコン６０６によって行われるビーコン工程９０６を含む。処理９００は、パスコード承認工程６１４が完了し、距離確認工程６２０が完了し、及び／又は処理７００が完了した後に開始することができる。
【００７５】
ロボット６０４は、ユーザ６０２による承認のリクエストを出力（９０８）する。次いで、ユーザ６０２は、ユーザインターフェースを用いて承認を入力（９１０）する。図１０に示すように、ユーザデバイス５１０は、承認リクエストに対応する承認メッセージ１０００を表示することができる。承認メッセージ１０００は、ユーザ６０２が、ロボット６０４に既にペアリングされている（アドレス「ａ」、「ｂ」及び「ｃ」を有する）既存のビーコンの組１００５へのビーコン６０６（すなわち、アドレス「Ｎ」を有するビーコン）の追加の承認を入力（９１０）するよう要求する。承認は、ビーコン６０６が、ロボット６０４が通信すべき複数のビーコン（たとえば、組１００５に含まれるビーコン）に含まれることを意味する。ユーザ６０２は、承認ボタン１０１０を押すことによって、ロボット６０４が受信する承認を入力することができる。ユーザ６０２は、拒否ボタン１０１５を押すことによって、ビーコン６０６のロボット６０４とのペアリングを拒否することができる。
【００７６】
ロボット６０４は、ユーザ６０２が承認を入力したかを判定（９１２）する。ユーザ６０２がペアリングを拒否したとロボット６０４が判定（９１４）すると、処理９００は終了する。この時点で、あるビーコンをロボット６０４とペアリングするために、処理６００を、最初の、例えばビーコン起動工程６０８から実行することができる。
【００７７】
ユーザ６０２がペアリングを承認したとロボット６０４が判定（９１６）すると、処理９００は、アドレスをロボット６０４及びビーコン６０６に登録する工程（例えば、アドレス登録工程６３０）に進む。ロボット６０４は、ビーコン６０６に確認を送信（９１８）する。確認によって、ビーコン６０６がロボット６０４とペアリングされたことを示すことができる。次いで、ロボット６０４は、ビーコン６０６をロボット６０４とペアリングされたものとして登録（９２０）する。ロボット６０４から送信（９１８）された確認に応答して、ビーコン６０６は、ロボット６０４をビーコン６０６とペアリングされたものとして登録（９２２）する。登録工程（９１８、９２０）中、ロボット６０４はビーコン６０６と関連付けられたビーコンアドレスを保存し、ビーコン６０６はロボット６０４と関連付けられたロボットアドレスを保存する。
【００７８】
図１１に示す例は、ビーコン６０６及びロボット６０４がビーコン６０６とロボット６０４との間のペアリングを登録（９２０、９２２）した後に保存されているアドレスを概念的に示したものである。ロボット６０４及び他のビーコン１１００ａ、１１００ｂ、１１００ｃ（まとめて他のビーコン１１００と呼ぶ）は、例えば本明細書で説明するペアリング工程を用いて、以前にペアリングされている。他のビーコン１１００は、ビーコン６０６が追加される、既存のビーコンの組を構成している。従って、ロボット６０４は、そのメモリに、他のビーコンアドレス１１０５ａ、１１０５ｂ、１１０５ｃを保存しており、他のビーコン１１００は、それらのメモリに、ロボットアドレス１１１０を保存している。ビーコン６０６をロボット６０４とペアリングされているものとして登録（９２０）している間、ロボット６０４は、そのメモリに、ビーコン６０６に関連付けられたビーコンアドレス１１１５（例えば、図１１におけるビーコンアドレス「Ｎ」）を保存することができる。ロボット６０４をビーコン６０６とペアリングされているものとして登録（９２２）している間、ビーコン６０６は、そのメモリに、ロボットアドレス１１１０を保存することができる。
【００７９】
ビーコン６０６とロボット６０４との間のペアリングの登録（９２０、９２２）後、ロボット６０４は、ユーザアカウントと関連付けた保存のためにビーコンアドレス１１１５及びロボットアドレス１１１０をサーバに送信（９２４）することができる。いくつかの場合において、ユーザアカウントは、ロボットアドレス１１１０を用いて識別することができる。サーバに保存されたアドレスは、ロボット６０４と、ロボット６０４とペアリングされているビーコンとの間のペアリングのバックアップを提供することができる。
【００８０】
図６及び図９に関して本明細書で説明するように、ビーコンアドレス１１１５及びロボットアドレス６０４を登録した後、ロボット６０４は、ロボット６０４とビーコン６０６との間のペアリングの前に他のビーコンがロボット６０４とペアリングされていたかの判定（６３２）に進むことができる。いくつかの例において、ロボット６０４は、以前にビーコンとペアリングされていないと判定（６３８）する（例えば、ロボット６０４は、メモリに他のビーコンアドレスが保存されていない）。次いで、処理９００は、図６に関して説明されている工程である、増設ビーコンをビーコン６０６で構成されるペアリングされているビーコンの組に追加するかの判定（６３２）に進む。従って、図１１に示す例は、ロボット６０４とペアリングされている既存のビーコンの組を構成している他のビーコン１１００ａ、１１００ｂ、１１００ｃを示しているが、いくつかの実施形態においては、ロボット６０４はどのビーコンともペアリングされていない場合がある。
【００８１】
しかしながら、いくつかの場合においては、ロボット６０４は、他のビーコン１１００ａ、１１００ｂ、１１００ｃで構成される既存のビーコンの組と既にペアリングされている場合がある。ロボット６０４のメモリに他のビーコンアドレス（例えば、図１１のビーコンアドレス１１０５ａ、１１０５ｂ、１１０５ｃ）が保存されているとロボット６０４が判定（６３４）した場合、処理９００は、アドレス伝達工程（例えば、アドレス伝達工程６３６）を進めることができる。ロボット６０４は、ビーコンアドレス１１１５を他のビーコン１１００に送信（９３２）する。他のビーコン１１００は、ビーコンアドレス１１１５を保存することで、ビーコン６０６をロボット６０４及び他のビーコン１１００とペアリングされているものとして登録することができる。ロボット６０４は、他のビーコンアドレス１１０５ａ、１１０５ｂ、１１０５ｃもビーコン６０６に送信（９３４）する。ビーコン６０６は、他のビーコンアドレス１１０５ａ、１１０５ｂ、１１０５ｃを受信しメモリに保存（９３６）することで、他のビーコン１１００をロボット６０４及びビーコン６０６とペアリングされているものとして登録することができる。これらのアドレスを保存することで、ロボット６０４、他のビーコン１１００及びビーコン６０６は、ビーコンアドレス１１１５を他のビーコンアドレス１１０５ａ、１１０５ｂ、１１０５ｃと関連付け、それによってロボット６０４とビーコン１１００ａ、１１００ｂ、１１００ｃ及び６０６のそれぞれとの間のペアリングを登録する。
【００８２】
図１１に示すように、他のビーコン１１００のそれぞれには、既に他のビーコンアドレス１１０５ａ、１１０５ｂ、１１０５ｃ及びロボットアドレス１１１０がメモリに保存されている。いくつかの場合において、ビーコンアドレス１１０５ａ、１１０５ｂ、１１０５ｃは、他のビーコン１１００がロボット６０４とペアリングされた際に、他のビーコン１１００のそれぞれに伝達されている可能性がある。いくつかの実施形態において、他のビーコン１１００は、ロボット６０４とペアリングされる組として製造されている。他のビーコン１１００及びロボット６０４の製造段階において、ビーコン１１００及びロボット６０４は、他のビーコンアドレス１１０５ａ、１１０５ｂ、１１０５ｃ及びロボットアドレス１１１０を含むよう予めプログラムされている。
【００８３】
ロボット６０４とペアリングされているビーコンの組に含まれるビーコン１１００ａ、１１００ｂ、１１００ｃ及び６０６のそれぞれへのアドレスの伝達の後、処理９００は完了し、図６に関して説明する判定工程６４０を実行して増設ビーコンをビーコンの組に追加するかを判定することができる。
【００８４】
図６及び図７に関して説明するように、ビーコン及びロボットアドレス交換工程６１８及び処理７００の工程は、パスコード承認工程６１４の後に発生し得る。図１２に示すフローチャートを参照すると、処理１２００は、パスコード承認工程６１４の一部であり得る工程を含む。処理１２００は、ユーザ６０２によって行われるユーザ工程１２０２、ロボット６０４によって行われるロボット工程１２０４、及びビーコン６０６によって行われるビーコン工程１２０６を含む。処理１２００は、例えば、ビーコン６０６には既にメモリにロボットアドレスが保存されており、以前にビーコン６０６が以前のロボットとペアリングされていたことを示しているとビーコン６０６が判定（６１２）した後に開始することができる。ビーコン６０６は、ロボット６０４に、ビーコン６０６をロボット６０４とペアリングするためにはビーコンパスコードが必要であると示すことができる。ビーコンパスコードは、ビーコン６０６と以前のロボットとの間での最初のペアリング工程中に選択されている可能性がある。
【００８５】
いくつかの実施形態において、ビーコン６０６は、メモリに保存されているロボットアドレスを他の近くのビーコンに保存されているロボットアドレスと比較することで、以前にあるロボットとペアリングされていたと判定することができる。ビーコン６０６は、ビーコン６０６のメモリに保存されているビーコンアドレスを用いて、通信すべきロボットを判定することができる。次いで、ビーコン６０６は、保存されているロボットアドレスを他の近くのビーコンに保存されているロボットアドレスと比較し、ロボットアドレスが異なる場合、ビーコン６０６は、ビーコンパスコードが必要であるとロボットに示すことができる。
【００８６】
ビーコン６０６が以前にペアリングされていたとの指示をロボット６０４が受信した後、ロボット６０４は、ユーザインターフェースを用いてユーザ６０２によって入力されるべきパスコードのリクエストを出力（１２０８）することができる。ユーザ６０２は、リクエストに応答して、パスコードを入力（１２１０）することができる。ビーコン６０６がペアリングされていたとの指示を受信した後、ロボット６０４は、ビーコン６０６のメモリに保存されているビーコンパスコードのリクエストも出力（１２１２）する。次いで、ビーコンは、ビーコンパスコードを送信（１２１４）する。
【００８７】
図１３に示すように、ユーザデバイス５１０は、ロボット６０４により出力（１２０８）されたリクエストを受信すると、ビーコン６０６が以前にペアリングされており、ユーザ６０２がパスコード１３０２を入力する必要があることをユーザ６０２に示す、プロンプト１３００を表示することができる。
【００８８】
ビーコン６０６とロボット６０４とのペアリングを進めるために、ユーザ６０２は、ビーコン６０６に保存されているビーコンパスコードと一致するパスコード１３０２を入力する必要がある。ビーコンパスコードは、前回のペアリング工程又はシステムの最初のセットアップの際に選択することができる。例えば、前回のペアリングにおけるペアリング承認工程６２２中、ユーザデバイス５１０は、ビーコン６０６のメモリに保存するビーコンパスコードを入力するようユーザ６０２を促すことができる。ビーコン６０６はパスコードをメモリに保存すると説明したが、ロボット６０４もパスコードをメモリに保存することができる。
【００８９】
いくつかの実施形態において、パスコードは、ビーコン６０６とペアリングされていた以前のロボットと関連付けられた所定のパスコードであっても良い。所定のパスコードは、ユーザが以前のロボットと関連付けられているビーコンを他のロボットとペアリングしようとする場合にユーザ６０２がパスコードを入力できるようにするために、以前のロボットのユーザマニュアルに含まれていても良い。パスコードは、以前のロボットとペアリングされていたビーコンに伝達され、それらのメモリに保存されている。以前のロボットとペアリングされていたそれらのビーコンを、ロボット６０４といった他のロボットとペアリングするためには、ユーザ６０２は、以前のロボットに関連付けられていたパスコードを入力する必要がある。
【００９０】
ロボット６０４は、ユーザにより入力（１２１０）されたパスコード及びビーコンパスコードの両方を受信した後、それらのパスコードを比較して一致するかを判定（１２１６）することができる。パスコードが一致するとロボット６０４が判定（１２１８）した場合、ペアリング工程はビーコン及びロボットアドレス交換工程（例えば、ビーコン及びロボットアドレス交換工程６１８）を進めることができる。
【００９１】
パスコードが一致しないとロボット６０４が判定（１２２０）した場合、ロボット６０４は、ユーザ６０２が再び正しいパスコードを入力しようと試みることができるように、再びパスコードのリクエストを出力（１２０８、１２１２）することができる。いくつかの場合において、ロボット６０４は、ユーザ６０２が有限回しかパスコードの入力を試みることができないようにするために、所定の回数しかパスコードのリクエストを出力（１２０８、１２１２）しない。ロボット６０４が所定の回数パスコードのリクエストを出力（１２０８、１２１２）すると、ビーコン６０６は、ユーザ６０２がパスコードの入力に失敗したという指示をロボット６０４から受信することができる。その後、ビーコン６０６は、ビーコン６０６がファクトリーリセットされるかある時間が経過するまで、再びペアリングされないようロックすることができ、泥棒するつもりの者が過大な量のパスコードを連続で試すのを防止することができる。ファクトリーリセットは、例えば、サーバのビーコン６０６（サーバとビーコン６０６を仲介する役割を果たす、ロボット６０４又はユーザデバイス５１０）との遠隔通信、又はビーコン自体の制御による手動でのビーコンのリセットによって引き起こされる。図６から図１３に関して本明細書で説明するペアリング及び通信工程の後、図１４に示す例を参照すると、ユーザ６０２は、本明細書で説明する境界教示工程を実行して、芝地８０５の境界をロボット６０４に教えることができる。芝刈りシステム１４００は、ロボット６０４、他のビーコン１１００ａ、１１００ｂ、１１００ｃ及びビーコン６０６を含む。境界教示工程完了後、芝刈りシステム１４００は、航行及び芝刈り作業を実行できる状態にある。ロボット６０４の制御装置は、ロボット６０４のメモリに保存されている指示を実行し、ビーコン１１００ａ、１１００ｂ、１１００ｃ及び６０６のビーコンアドレスを含む広帯域信号又は超広帯域信号を受信することができる。ロボット６０４が、本明細書で説明するペアリング工程を用いてビーコン１１００ａ、１１００ｂ、１１００ｃ及び６０６とペアリングされているならば、制御装置は、次いで、指示を実行して、広帯域信号又は超広帯域信号のそれぞれがビーコン１１００ａ、１１００ｂ、１１００ｃ及び６０６のそれぞれと関連付けられていると判定することができる。次いで、制御装置は、指示を実行して、受信した広帯域信号又は超広帯域信号に基づいてロボット６０４の位置を特定することができる。従って、ロボット６０４が芝地８０５上を航行して芝地８０５の芝刈りを行っている間、制御装置は芝地８０５内でのロボットの位置を判定することができる。
【００９２】
ロボット６０４の芝刈り作業中、ユーザ６０２は、デバイス５１０を通して、ロボット６０４とペアリングされているビーコンの状態を監視し、エラーが発生した際に特定することができる。図１５に示すフローチャートを参照すると、ロボット６０４の芝刈り作業中に発生する処理１５００は、ユーザ６０２によって行われるユーザ工程１５０２、ロボット６０４によって行われるロボット工程１５０４、及びビーコン６０６によって行われるビーコン工程１５０６を含む。他のビーコン１１００も、ビーコン６０６によって実行される工程と同様の工程を実行する。
【００９３】
ロボット６０４は、芝地８０５を横断するために、ビーコン６０６及び他のビーコン１１００からの広帯域信号又は超広帯域信号を受信（１５０８）する。ロボット６０４は、ビーコン１１００ａ、１１００ｂ、１１００ｃ及び６０６からの信号を検出することができ、芝地８０５上での航行を可能にするために広帯域信号又は超広帯域信号を用いる。例えば、ロボット６０４は、本明細書で説明するように、これらの信号を用いて位置を特定することで、航行中にロボット６０４の位置を判定することができる。ビーコン６０６及び他のビーコン１１００がこれらの信号を送信する際、各ビーコンは、利用可能な電力の残量を示すことができるバッテリー状態信号を送信（１５１０）することができる。
【００９４】
ロボット６０４が信号を受信（１５０８）した後、ロボット６０４は、ユーザ６０２がビーコン１１００ａ、１１００ｂ、１１００ｃ及び６０６のバッテリー状態に関する状態更新情報を受信（１５１２）できるようにするために、ユーザインターフェースにユーザインターフェースデータを送信することができる。図１６に示すように、ユーザデバイス５１０は、ビーコン１１００ａ、１１００ｂ、１１００ｃ及び６０６のそれぞれのバッテリーレベル１６００ａ、１６００ｂ、１６００ｃ及び１６００ｄ（まとめてバッテリーレベル１６００と呼ぶ））を表示することができる。
【００９５】
ロボット６０４は、更に、受信（１５０８）した信号を用いて、ビーコン１１００ａ、１１００ｂ、１１００ｃ及び６０６のそれぞれから信号を受信したかを判定（１５１４）することができる。例えば、ロボット６０４は、受信した信号の数がロボット６０４とペアリングされているビーコンの数と一致しているかを確認することができる。
【００９６】
ビーコン１１００ａ、１１００ｂ、１１００ｃ及び６０６のそれぞれから信号を受信したとロボット６０４が判定（１５１６）すると、ロボット６０４は、次いでバッテリーレベル１６００のいずれかがバッテリーレベル閾値未満になっていないかを判定（１５１８）する。バッテリーレベル閾値は、複数のビーコンのうちの一つのバッテリーが空に近づいていることを示すことができる、最大バッテリーレベルの数パーセント（例えば、５％から１５％）に相当する。
【００９７】
ロボット６０４は、バッテリーレベル１６００のうちの一つがバッテリーレベル閾値未満になっており、複数のビーコンのうちの一つのバッテリーの交換が必要であることを示していると判定（１５２０）することができる。いくつかの場合において、信号の判定工程１５１４中、ロボット６０４は、ビーコン１１００ａ、１１００ｂ、１１００ｃ及び６０６のそれぞれから信号を受信しておらず、ユーザ６０２は全てのビーコン１１００ａ、１１００ｂ、１１００ｃ及び６０６がロボット６０４と通信可能であることを確認する必要があると判定（１５２２）することができる。ロボット６０４は、ユーザ６０２に、ビーコン１１００ａ、１１００ｂ、１１００ｃ及び６０６のうちのどのビーコンに注意が必要かを示すことができる。
【００９８】
これらの判定（１５２０，１５２２）は、ビーコンに関連する、ユーザ６０２が対処することができるエラーを特定する。ロボット６０４は、例えば、エラーを説明するプロンプトを表示するユーザインターフェースデータを送信することによって、エラーの指示を出力（１５２４）することができる。図１６に示すように、いくつかの例において、ユーザデバイス５１０は、ユーザインターフェースデータを受信してエラーに関する情報を表示することができる。ユーザデバイス５１０は、ビーコン６０６のバッテリーレベル１６００ｄがバッテリーレベル閾値未満であるという注意アイコン１６０５を表示することができる。図１７に示すように、ユーザデバイス５１０は、バッテリーレベル１６００の一つがバッテリーレベル閾値未満であることを示すプロンプト１７００も表示することができる。ユーザデバイス５１０は、バッテリーレベル１６００ｄが低くなっているビーコン６０６の位置を示す注意アイコン１７１０を記したマップ１７０５を表示することができる。
【００９９】
ユーザ６０２は、プロンプト１７００の指示に従うことでエラーの原因に対処（１５２６）することができる。ユーザ６０２は、例えば、ビーコン６０６のバッテリーを交換するか、ビーコン６０６を新規ビーコンと交換することができる。ビーコン６０６のバッテリーが交換された場合、ビーコン６０６は、ロボット６０４によるエラーの特定前と同じビーコンにすることができる。ビーコン６０６は、ユーザ６０２が古いビーコン６０６との交換に使用した新規ビーコンにもすることができる。ユーザ６０２がエラーの原因に対処した後、ビーコン６０６は、所定のアドレス上にビーコン６０６のビーコンアドレスのブロードキャストを出力（１５２８）する。
【０１００】
エラーの原因に対処（１５２６）した後、ユーザ６０２は、確認ボタン１７１５を押して、エラーの原因に対処した又は対処中であることを示すことができる。次いで、ロボット６０４は、エラーに対処した又は対処中であるという指示を受信する。この指示に応答して、ロボット６０４は、どのビーコンにも固有でない所定のアドレスをリスンすることができる。
【０１０１】
ロボット６０４は、所定のアドレスを検出すると、所定のアドレス上でのビーコン６０６からのブロードキャストを受信（１５３２）し、次いでビーコン６０６の新規ビーコンアドレスを受信（１５３４）することができる。ロボット６０４は、新規ビーコンアドレスが、ユーザ６０２によってエラーが対処（１５２６）される前にロボット６０４のメモリに保存されていたビーコンアドレスと同じかどうかを判定（１５３６）することができる。
【０１０２】
ロボット６０４は、例えば、ビーコン６０６が新規ビーコンと交換されたことが原因で、新規ビーコンアドレスが保存されているビーコンアドレスと同じではないと判定（１５３８）することができる。ロボット６０４は、次いでロボットアドレスを送信（１５４０）することができ、エラーを経験したビーコン６０６とは異なる新規ビーコン６０６であるビーコン６０６は、ロボットアドレスを受信（１５４１）することができる。ロボットアドレスの受信に応答して、ビーコン６０６は、ロボット６０４にメッセージを出力（１５４２）することができる。
【０１０３】
いくつかの場合において、ロボット６０４は、新規ビーコンアドレスは保存されているビーコンアドレスと同じであると判定（１５４３）する。従って、ビーコン６０６とロボット６０４は既にペアリングされているため、ロボット６０４はロボットアドレスを送信（１５４０）する必要がなく、ビーコン６０６は単にメッセージをロボット６０４に出力（１５４２）することができる。ロボット６０４は、メッセージを受信（１５４４）すると、ロボット６０４とビーコン６０６との間の距離を判定（１５４５）することができる。
【０１０４】
ロボット６０４は、ロボット６０４とビーコン６０６との間の距離に基づいて、ユーザ６０２がエラーに対処（１５２６）する前にビーコン６０６が置かれていた位置と同じ位置にビーコン６０６が置かれているかを判定（１５４６）することができる。新規ビーコン６０６が古いビーコンの位置に配置されているかを判定するために更に情報が必要な場合、ビーコンの組に含まれる他のビーコン１１１０ａ、１１１０ｂ、１１１０ｃは、新規ビーコン６０６までの距離を判定し、新しく判定された距離を以前の古いビーコンまでの距離と比較することができる。ロボット６０４は、ビーコン６０６は以前ビーコン６０６が配置されていた場所と同じ場所に配置されていると判定（１５４８）することができる。この場合、ロボット６０４は、新規ビーコンアドレスが保存されているビーコンアドレスと異なると判定（１５３８）された場合は、単純に保存されているビーコンアドレスを新規ビーコンアドレスに更新することができる。ロボット６０４は、ビーコン６０６に、ロボットアドレスを保存するよう指示することもでき、ロボット６０４とビーコン６０６との間のペアリングが完了する。新規ビーコンアドレスが保存されているビーコンアドレスと同じであると判定（１５４３）された場合は、ロボット６０４は、保存されているビーコンアドレスを更新したり、ビーコンにロボットアドレスを保存するよう指示したりする必要がない。ロボット６０４は、エラーの対処に成功し、ビーコン６０６とロボット６０４のペアリングに成功したことをユーザ６０２に通知（１５５１）することができる。
【０１０５】
いくつかの場合において、ロボット６０４は、ビーコン６０６はビーコン６０６が以前配置されていた場所と同じ場所に配置されていないと判定（１５５２）する。いくつかの場合において、他のビーコン１１１０ａ、１１１０ｂ、１１１０ｃが移動されておらず、ビーコン６０６が少なくとも三つの他のビーコンと通信可能な場合、ロボット６０４は、ビーコン６０６から他のビーコン１１１０ａ、１１１０ｂ、１１１０ｃまでの距離を測定することで、自動的にビーコン６０６の新しい位置を判定することができる。ロボット６０４は、例えば、位置推定の適合度（例えば、最小二乗残差）又は他の適切な統計的計量に基づいて、複数のビーコンが移動されているかを判定することができる。
【０１０６】
いくつかの場合において、ロボット６０４は、ロボット６０４がビーコン６０６を用いて位置を特定するためには追加の訓練が必要であることをユーザ６０２に通知することができる。追加の訓練が必要であるという通知を受信（１５５４）すると、ユーザ６０２は、ロボット６０４がビーコン６０６を用いて位置を特定し航行できるようにするために、追加の訓練を実行（１５５６）することができる。追加の訓練は、本明細書で説明する境界教示工程であり得る。ユーザ６０２は、ロボット６０４を芝地８０５の境界に沿ってロボット６０４を操縦することで、ビーコン６０６を利用するようにロボット６０４を訓練することができる。ユーザ６０２が追加の訓練を成功裏に実行（１５５６）した後、ロボット６０４はその成功をユーザ６０２に通知（１５５１）することができる。成功をユーザ６０２に通知（１５５１）した後、ロボット６０４は、ユーザ６０２からの更なる指示を待つことができる。例えば、ユーザ６０２は、芝地８０５の芝刈り作業を継続して、処理１５００を再開するようにロボット６０４に指示することができる。
【０１０７】
本明細書で説明する例は、本明細書の範囲を超えることなく様々な方法で実施することができる。本明細書で説明する例では、一つのロボット（例えば、ロボット６０４）がビーコン（例えば、ビーコン６０６）とペアリングされる。いくつかの実施形態においては、各ビーコンは、一以上の移動芝刈りロボットとペアリングされるよう構成することができる。従って、同じ芝地で複数のロボットが容易に芝刈り作業を実行することができる。
【０１０８】
一つのロボットが一つのビーコンの組とペアリングされると説明したが、ロボットは、複数のビーコンの組とペアリングされるよう構成することもできる。そのような場合、ロボットは、複数の異なる芝地を維持することができる。各芝地は、異なるマップが関連付けられた異なるビーコンの組を含んでも良い。ロボットとペアリングされている複数のビーコンの組からユーザが選択できるように、保存されている複数のマップの中から芝刈り作業中に使用するマップをユーザが一つ選択しても良い。
【０１０９】
図３には示されていないが、ロボット３００は、制御装置３０８からユーザインターフェースデータを受信してロボット３００の動作に関する情報を表示することが可能なユーザインターフェースを含み得る。従って、ユーザ６０２は、ユーザデバイス５１０の使用に加えて又は代わって、ロボット６０４のユーザインターフェース上で情報を見ることができ、ユーザインターフェースと相互に作用してロボット６０４の動作を制御することができる。例えば、ユーザ６０２は、本明細書で説明するペアリング工程中にユーザインターフェースを用いてロボット６０４とビーコン６０６との間のペアリングを承認することができる。
【０１１０】
本明細書に記載のいくつかの実施形態で説明したように、ビーコンの組は三つ以上のビーコンを含み得る。いくつかの場合において、ビーコンの組は、三つ未満のビーコンを含み得る。ロボットは、三つ未満のビーコンを含むビーコンの組が発する信号を用いて航行することができ、位置推定の精度を向上させるために、内蔵されている運動センサを用いて推定航法工程も実行することができる。
【０１１１】
本明細書で説明するロボットは、少なくとも部分的に、プログラム可能なプロセッサ、コンピュータ、複数のコンピュータ及び又はプログラム可能なロジックコンポーネントといった一以上のデータ処理装置で実行するために又はその動作を制御するために一以上の非一時的機械可読保存媒体といった一以上の情報媒体に明白に実装された一以上のコンピュータプログラムといった、一以上のコンピュータプログラム製品を用いて制御することができる。
【０１１２】
コンピュータプログラムは、コンパイルされた又はインタプリタ形式の言語を含む、あらゆる形態のプログラム言語で記載することができ、スタンドアローンプログラムやモジュール、コンポーネント、サブルーチン、又はコンピューティング環境での使用に適したその他の単位を含む、あらゆる形態に展開することができる。
【０１１３】
本明細書で説明するロボットの制御に関連する操作は、一以上のコンピュータプログラムを実行して本明細書で説明する機能を実行する一以上のプログラム可能なプロセッサで実行可能である。本明細書で説明するロボットの全体又は一部の制御は、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）及び／又はＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）といった専用論理回路を用いて実施することができる。
【０１１４】
コンピュータプログラムの実行に適したプロセッサは、一例として、一般及び専用マイクロプロセッサの両方、及びあらゆる種類のデジタルコンピュータの一以上のプロセッサを含む。一般に、プロセッサは、読み出し専用記憶領域又はランダムアクセス記憶領域又はその両方から指示及びデータを受け取る。コンピュータの要素は、指示を実行するための一以上のプロセッサと、指示及びデータを保存するための一以上の記憶領域デバイスを含む。一般に、コンピュータは、磁気、磁気光学ディスク、又は光学ディスクのようなデータ保存用の集合基板といった一以上の機械可読保存媒体も含む又はそれらとデータの受信、送信、又はその両方を行えるように動作可能に結合されている。コンピュータプログラム指示及びデータの実施に適した機械可読保存媒体は、一例として、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュ記憶領域デバイスといった半導体記憶領域デバイス、内蔵のハードディスクや取り出し可能なディスクといった磁気ディスク、磁気光学ディスク、及びＣＤ−ＲＯＭやＤＶＤ−ＲＯＭディスクを含む、あらゆる形態の不揮発性記憶領域を含む。
【０１１５】
本明細書で説明する異なる実施形態の要素を組み合わせて、上記で具体的に記載していない他の実施形態を形成することができる。本明細書で説明する構造から、要素を、動作に悪影響を及ぼさずに除外することができる。更に、様々な独立した要素を、本明細書で説明する機能を実行するように、一以上の単一要素となるよう組み合わせることができる。
【図１Ａ】
0006759111.tif 000002
【図１Ｂ】
0006759111.tif 000003
【図２】
0006759111.tif 000004
【図３】
0006759111.tif 000005
【図４】
0006759111.tif 000006
【図５】
0006759111.tif 000007
【図６】
0006759111.tif 000008
【図７】
0006759111.tif 000009
【図８】
0006759111.tif 000010
【図９】
0006759111.tif 000011
【図１０】
0006759111.tif 000012
【図１１】
0006759111.tif 000013
【図１２】
0006759111.tif 000014
【図１３】
0006759111.tif 000015
【図１４】
0006759111.tif 000016
【図１５】
0006759111.tif 000017
【図１６】
0006759111.tif 000018
【図１７】
0006759111.tif 000019