(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-04-18
(54)【発明の名称】自律型移動ロボットの制御
(51)【国際特許分類】
A47L 9/28 20060101AFI20230411BHJP
G05D 1/02 20200101ALI20230411BHJP
【FI】
A47L9/28 E
G05D1/02 H
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022550013
(86)(22)【出願日】2021-02-09
(85)【翻訳文提出日】2022-10-18
(86)【国際出願番号】 US2021017240
(87)【国際公開番号】W WO2021183247
(87)【国際公開日】2021-09-16
(32)【優先日】2020-03-12
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-06-08
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】313013863
【氏名又は名称】アイロボット・コーポレーション
(74)【代理人】
【識別番号】100188558
【氏名又は名称】飯田 雅人
(74)【代理人】
【識別番号】100154922
【氏名又は名称】崔 允辰
(72)【発明者】
【氏名】フィリップ・フォング
(72)【発明者】
【氏名】ライアン・シュナイダー
【テーマコード(参考)】
3B057
5H301
【Fターム(参考)】
3B057DE02
3B057DE06
5H301AA01
5H301AA10
5H301BB11
5H301BB14
5H301CC03
5H301CC06
5H301DD01
5H301DD06
5H301DD07
5H301DD15
5H301KK03
5H301KK07
(57)【要約】
方法は、自律型クリーニングロボットが環境を動き回るときに、自律型クリーニングロボットによって収集されたマッピングデータを受信するステップを含む。マッピングデータの一部分は、環境における物体の場所を示している。方法は、物体の場所にクリーンゾーンを定義するステップであって、自律型クリーニングロボットが、環境におけるクリーンゾーンに遭遇することに応答して、クリーンゾーンに制約されたクリーン行動を開始させるようになっている、ステップを含む。
【特許請求の範囲】
【請求項1】
自律型クリーニングロボットが環境を動き回るときに、前記自律型クリーニングロボットによって収集されたマッピングデータを受信するステップであって、前記マッピングデータの一部分は、前記環境における物体の場所を示している、ステップと;
前記物体の前記場所にクリーンゾーンを定義するステップであって、前記自律型クリーニングロボットが、前記環境における前記クリーンゾーンに遭遇することに応答して、前記クリーンゾーンに制約されたクリーン行動を開始させるようになっている、ステップと
を含む、方法。
【請求項2】
前記クリーンゾーンを定義するステップは、前記物体のタイプに基づいて前記クリーンゾーンを定義するステップを含む、請求項1に記載の方法。
【請求項3】
前記環境における前記物体に近接した前記環境における1つまたは複数の文脈的な特徴に基づいて、前記物体の前記タイプを決定するステップをさらに含み、前記クリーンゾーンを定義するステップは、前記物体の決定された前記タイプに基づいて、前記クリーンゾーンを定義するステップを含む、請求項2に記載の方法。
【請求項4】
前記クリーンゾーンの中で前記クリーン行動を実施した後に、前記自律型クリーニングロボットは、
前記環境における別の物体に関連付けられる別のクリーンゾーンへの移動を開始させ、次いで、
前記他のクリーンゾーンに遭遇することに応答してクリーン行動を開始させる、請求項1に記載の方法。
【請求項5】
前記クリーンゾーンに優先順位を関連付けるステップであって、前記自律型クリーニングロボットが、前記クリーンゾーンに関連付けられた前記優先順位に基づいて、前記クリーンゾーンへの移動を開始させるようになっている、ステップをさらに含む、請求項1に記載の方法。
【請求項6】
前記自律型クリーニングロボットは、閾値持続期間よりも小さい予定持続期間を有するミッションに応答して、前記クリーンゾーンへの移動を開始させる、請求項5に記載の方法。
【請求項7】
前記自律型クリーニングロボットは、前記自律型クリーニングロボットの低バッテリーステータスに応答して、前記クリーンゾーンへの移動を開始させる、請求項5に記載の方法。
【請求項8】
前記環境におけるミッションの開始に応答して、前記自律型クリーニングロボットがドッキングステーションから前記クリーンゾーンへの移動を開始させることを引き起こすステップをさらに含む、請求項5に記載の方法。
【請求項9】
前記クリーン行動は、集中的なクリーン行動に対応する、請求項1に記載の方法。
【請求項10】
前記集中的なクリーン行動は、前記自律型クリーニングロボットが前記クリーンゾーンを2回以上カバーすること、前記自律型クリーニングロボットのバキュームパワーを増加させること、または、前記自律型クリーニングロボットの移動速度を減少させることを引き起こす、請求項9に記載の方法。
【請求項11】
自律型クリーニングロボットが環境を動き回るときに、前記自律型クリーニングロボットによって収集されたマッピングデータを受信するステップと;
前記マッピングデータの一部分に対応する行動制御ゾーンを定義するステップであって、自律型クリーニングロボットが、前記環境における前記行動制御ゾーンに遭遇することに応答して、行動を開始させるようになっている、ステップと;
前記行動制御ゾーンに優先順位を関連付けるステップであって、前記自律型クリーニングロボットが、前記行動制御ゾーンに関連付けられた前記優先順位に基づいて、前記行動制御ゾーンへの移動を開始させるようになっている、ステップと
を含む、方法。
【請求項12】
前記行動制御ゾーンに前記優先順位を関連付けるステップは、前記自律型クリーニングロボットが
ミッションの開始時において前記行動制御ゾーンへの移動を開始させることを引き起こし、次いで、
前記行動制御ゾーンに遭遇することに応答して前記行動を開始させることを引き起こし、前記行動は、前記行動制御ゾーンの中で実施される集中的なクリーン行動に対応している、請求項11に記載の方法。
【請求項13】
前記行動制御ゾーンの中で前記集中的なクリーン行動を実施した後に、前記自律型クリーニングロボットは、
前記行動制御ゾーンに関連付けられた前記優先順位よりも低い別の優先順位に関連付けられた別の行動制御ゾーンへの移動を開始させ、次いで、
前記他の行動制御ゾーンに遭遇することに応答して集中的なクリーン行動を開始させる、請求項12に記載の方法。
【請求項14】
前記行動制御ゾーンに前記優先順位を関連付けるステップは、前記行動制御ゾーンに関連付けるための環境特徴のユーザー選択に基づいて、前記行動制御ゾーンに前記優先順位を関連付けるステップを含む、請求項11に記載の方法。
【請求項15】
複数の行動制御ゾーンを定義するステップであって、前記行動制御ゾーンを定義するステップを含む、ステップと;
前記複数の行動制御ゾーンに複数の優先順位をそれぞれ関連付けるステップであって、前記行動制御ゾーンに前記優先順位を関連付けるステップを含む、ステップと
をさらに含む、請求項11に記載の方法。
【請求項16】
前記自律型クリーニングロボットが第1の時間の間に前記複数の行動制御ゾーンの第1のサブセットをクリーニングすることを優先することを引き起こすための、および、前記自律型クリーニングロボットが第2の時間の間に前記複数の行動制御ゾーンの第2のサブセットをクリーニングすることを優先することを引き起こすためのスケジュールを、前記自律型クリーニングロボットに提供するステップをさらに含む、請求項15に記載の方法。
【請求項17】
前記第1の時間は、第1のクリーニングミッションの間にあり、前記第2の時間は、第2のクリーニングミッションの間にある、請求項16に記載の方法。
【請求項18】
前記第1の時間および前記第2の時間は、クリーニングミッションの間にある、請求項16に記載の方法。
【請求項19】
前記自律型クリーニングロボットは、閾値持続期間よりも小さい予定持続期間を有するミッションに応答して、前記行動制御ゾーンへの移動を開始させる、請求項11に記載の方法。
【請求項20】
自律型クリーニングロボットが環境を動き回るときに、前記自律型クリーニングロボットによって収集されたマッピングデータを受信するステップと;
前記マッピングデータの一部分に対応する行動制御ゾーンを定義するステップであって、前記自律型クリーニングロボットが前記行動制御ゾーンを横断するときに、前記自律型クリーニングロボットが行動を無効にするようになっている、ステップと
を含む、方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願との相互参照
本出願は、国際出願であり、2020年6月8日に出願された米国特許出願第16/895,848号の優先権を主張し、その出願は、2020年3月12日に出願された米国特許法第119条(e)の下で米国出願第62/988,468号の優先権の利益を主張し、それらの文献の全体は、参照により本開示に組み込まれている。
【0002】
本明細書は、自律型移動ロボットの制御に関する。
【背景技術】
【0003】
自律型移動ロボットは、自律型クリーニングロボットを含み、自律型クリーニングロボットは、環境の中で(たとえば、家庭の中で)クリーニングタスクを自律的に実施する。多くの種類のクリーニングロボットは、ある程度自律的であり、異なる方式で自律的である。クリーニングロボットは、ロボットが移動するときにロボットがデブリを取り込むことができるように、環境においてロボットを自律的にナビゲートするように構成されているコントローラーを含むことが可能である。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国特許出願第16/588,295号
【発明の概要】
【課題を解決するための手段】
【0005】
自律型移動ロボットは、たとえば、家庭内で掃除機をかけること、モップをかけること、または、何らかの他のクリーニング動作を実施することによって、クリーニングミッションの間に家をクリーニングすることが可能である。ユーザーは、ユーザーコンピューティングデバイス(たとえば、スマートフォンなど)を動作させ、行動制御ゾーンを確立することが可能であり、行動制御ゾーンは、行動制御ゾーンに遭遇することに応答して特定の行動を実施するようにロボットをトリガーする。行動制御ゾーンは、たとえば、ユーザー、コンピューターなどの選択を通して優先され得、ロボットが、行動制御ゾーンへ移動すること、および、クリーニングミッションの間に行動制御ゾーンに関連付けられた行動を開始させることを優先するようになっている。行動制御ゾーンは、たとえば、集中的なクリーンゾーンであることが可能であり、ロボットは、クリーニングミッションの始まりにおいて行動制御ゾーンによって包含される領域をクリーニングすることを優先することが可能である。
【0006】
本開示において説明されている実装形態の利点は、それに限定されないが、下記におよび本開示の他のどこかで説明されているものを含むことが可能である。
【0007】
ロボットによって実施されるクリーニングミッションは、ロボットが領域を効率的にクリーニングすることを可能にするように最適化され得る。たとえば、行動制御ゾーンがクリーンゾーンである実装形態では、ロボットは、クリーンゾーンによってカバーされる領域を優先することが可能であり、ロボットが、クリーニングミッションの間にロボットが拾い上げるデブリの量を増加させることができるようになっている。とりわけ、クリーニングミッションが時間的に制約されている場合には、行動制御ゾーンのための優先順位は、クリーニングミッションの間に環境の中のどの領域を優先するべきかをロボットに示すことが可能である。行動制御ゾーンは、より早く汚くなる傾向がある領域に対応することが可能であり、したがって、優先順位は、時間的に制約されたクリーニングミッションにおいて、ロボットがより汚い領域を最初にクリーニングすることを可能にすることができる。いくつかの実装形態において、クリーニングミッションは、ロボットのエネルギーレベルに起因して時間的に制約され得る。たとえば、ロボットは、完全には充電されていない可能性があり、また、この不十分なエネルギーレベルに起因して、環境のフロア表面の全体をカバーすることができるには不十分なエネルギーレベルを有する可能性がある。ロボットは、行動制御ゾーンを優先することが可能であり、ロボットが、環境におけるより汚い領域を最初にクリーニングすることができるようになっている。したがって、本開示において説明されている方法、システムなどを通して、ロボットは、より汚い領域をクリーニングすることを優先する方式で環境をクリーニングすることが可能である。
【0008】
複数の行動制御ゾーンが定義される実装形態では、本開示において説明されている方法およびシステムは、ユーザーがこれらの複数の行動制御ゾーンをクリーニングすることを管理および優先するための方式を提供することが可能であり、したがって、ロボットが環境をクリーニングすることができる効率を改善する。たとえば、ユーザーは、ある行動制御ゾーンを別の行動制御ゾーンよりも優先することが可能であり、したがって、クリーニングミッションの開始時にロボットが最初にどのゾーンに注意を向けるべきであるか、および、ロボットが次にどのゾーンに注意を向けるべきかを、ユーザーが詳細に定義することを可能にする。また、それぞれの行動制御ゾーンは、複数の優先順位に関連付けられ得、それぞれの優先順位は、環境において動作する異なる自律型移動ロボットに対応する。このように、行動制御ゾーンは、自律型移動ロボットに応じて、異なる優先順位を有することが可能である。
【0009】
行動制御ゾーンの優先順位付けは、環境において動作する自律型移動ロボットによって収集されたデータに基づくことが可能であり、コンピューター選択されたおよびユーザー選択された行動制御ゾーンが環境における条件の正確な現実世界観察に基づくことを可能にする。たとえば、ロボットは、環境の異なる部分において収集されたデブリの量を示すデータを収集することができるデブリセンサーを有することが可能である。これらのデータは、行動制御ゾーンを推奨するためにコンピューターシステムによって使用され得、または、環境の異なる部分において収集されたデブリの量についての情報をユーザーに提示するために使用され得、ユーザーが、行動制御ゾーンの情報に基づく選択を行うことができるようになっている。また、ロボットの他のセンサーが、行動制御ゾーンを選択するためのデータ駆動型アプローチのために使用され得る。たとえば、ロボットは、環境における物体を示すデータを収集するイメージキャプチャーデバイスを有することが可能である。物体は、デブリと関連付けられる物体であることが可能である(たとえば、キッチンカウンター、入口通路、ダイニングルームテーブル、または、デブリがフロア表面の上に落下される傾向がある他の物体)。これらの物体の場所は、行動制御ゾーンを推奨または選択するために使用され得る。
【0010】
本開示において説明されているシステムおよび方法は、自律型移動ロボット、ユーザー、および、(存在する場合には)リモートコンピューティングシステムの間のシステムレベル相互作用を改善することが可能である。とりわけ、システムおよび方法は、自律型移動ロボット、ユーザー、およびリモートコンピューティングシステムからのデータおよび入力が、自律型移動ロボットのうちの1つまたは複数の行動を制御するように一緒に使用されることを可能にすることができる。行動制御ゾーンは、自律型移動ロボットによって作り出されるセンサーデータおよびユーザーによって提供されるユーザー入力の両方の組み合わせに基づいて発生させられ得る。加えて、複数の自律型移動ロボットが存在している実装形態では、自律型移動ロボットのそれぞれからのセンサーデータは、行動制御ゾーンを発生させるために使用され得る。リモートコンピューティングシステムは、環境において動作する1つまたは複数の自律型移動ロボットからのセンサーデータを集めることが可能であり、また、1つまたは複数のユーザーからのユーザー入力を集めることが可能である。発生させられる行動制御ゾーンは、環境において動作する複数の自律型移動ロボットの行動を制御するために使用され得る。そのうえ、行動制御ゾーンは、自律型移動ロボットの調整された制御を可能にすることができる。たとえば、自律型移動ロボットの第1のものは、第1の自律型移動ロボットが行動制御ゾーンに遭遇するときに、第1の行動を実施するように制御され得、一方では、自律型移動ロボットの第2のものは、第2の自律型移動ロボットが行動制御ゾーンに遭遇するときに、第2の行動を実施するように制御され得る。
【0011】
本開示において説明されているシステムおよび方法は、環境において動作する自律型移動ロボットとのユーザー相互作用を改善することが可能である。ユーザーインターフェースは、自律型移動ロボットの場所ベースの制御についての視覚的情報をユーザーが受信するための媒体としての役割を果たすことが可能である。ユーザーコンピューティングデバイスのユーザーインターフェースは、環境において動作するときに、どのように自律型ロボットが挙動し得るかということを示す、環境の直感的なマップを提示することが可能である。したがって、ユーザーは、ユーザーインターフェースの上に提示されたマップを見て、自律型移動ロボットの行動を制御している異なる行動制御ゾーンの感覚を得ることが可能である。そのうえ、ユーザーは、ユーザーインターフェースを容易に使用し、環境における行動制御ゾーンを修正または生成させることが可能である。
【0012】
1つの態様では、方法は、自律型クリーニングロボットが環境を動き回るときに、自律型クリーニングロボットによって収集されたマッピングデータを受信するステップを含む。マッピングデータの一部分は、環境における物体の場所を示している。方法は、物体の場所にクリーンゾーンを定義するステップであって、自律型クリーニングロボットが、環境におけるクリーンゾーンに遭遇することに応答して、クリーンゾーンに制約されたクリーン行動を開始させるようになっている、ステップを含む。
【0013】
別の態様において、方法は、自律型クリーニングロボットが環境を動き回るときに、自律型クリーニングロボットによって収集されたマッピングデータを受信するステップと、マッピングデータの一部分に対応する行動制御ゾーンを定義するステップであって、自律型クリーニングロボットが、環境における行動制御ゾーンに遭遇することに応答して、行動を開始させるようになっている、ステップと、行動制御ゾーンに優先順位を関連付けるステップであって、自律型クリーニングロボットが、行動制御ゾーンに関連付けられた優先順位に基づいて、行動制御ゾーンへの移動を開始させるようになっている、ステップとを含む。
【0014】
別の態様において、自律型クリーニングロボットによって実施される方法は、自律型クリーニングロボットが環境を動き回るときに、自律型クリーニングロボットによって収集されたマッピングデータをリモートコンピューティングシステムに送信するステップと、マッピングデータの一部分に関連付けられる行動制御ゾーンを示すデータ、および、行動制御ゾーンに関連付けられた優先順位を示すデータを受信するステップと、優先順位に基づいて、行動制御ゾーンへの移動を開始させるステップと、環境における行動制御ゾーンに遭遇することに応答して、行動制御ゾーンにおける行動を開始させるステップとを含む。
【0015】
別の態様において、自律型クリーニングロボットは、自律型クリーニングロボットが環境におけるフロア表面をクリーニングするときに、環境において自律型クリーニングロボットを移動させるように構成されているドライブシステムと、自律型クリーニングロボットが環境を動き回るときに、マッピングデータを発生させるセンサーと、動作を実施するためのインストラクションを実行するように構成されているコントローラーとを含む。動作は、自律型クリーニングロボットが環境を動き回るときに、自律型クリーニングロボットによって収集されたマッピングデータをリモートコンピューティングシステムに送信するステップと、マッピングデータの一部分に関連付けられる行動制御ゾーンを示すデータ、および、行動制御ゾーンに関連付けられる優先順位を示すデータを受信するステップと、優先順位に基づいて、行動制御ゾーンへの移動を開始させるステップと、環境における行動制御ゾーンに遭遇することに応答して、行動制御ゾーンにおける行動を開始させるステップとを含む。
【0016】
いくつかの実装形態において、クリーンゾーンを定義するステップは、物体のタイプに基づいてクリーンゾーンを定義するステップを含むことが可能である。いくつかの実装形態において、方法は、環境における物体に近接した環境における1つまたは複数の文脈的な特徴(contextual feature)に基づいて、物体のタイプを決定するステップをさらに含むことが可能である。クリーンゾーンを定義するステップは、物体の決定されたタイプに基づいて、クリーンゾーンを定義するステップを含むことが可能である。
【0017】
いくつかの実装形態において、クリーンゾーンの中でクリーン行動を実施した後に、自律型クリーニングロボットは、環境における別の物体に関連付けられる別のクリーンゾーンへの移動を開始させることが可能であり、次いで、他のクリーンゾーンに遭遇することに応答してクリーン行動を開始させることが可能である。
【0018】
いくつかの実装形態において、方法は、クリーンゾーンに優先順位を関連付けるステップであって、自律型クリーニングロボットが、クリーンゾーンに関連付けられた優先順位に基づいて、クリーンゾーンへの移動を開始させるようになっている、ステップをさらに含むことが可能である。いくつかの実装形態において、自律型クリーニングロボットは、閾値持続期間よりも小さい予定持続期間を有するミッションに応答して、クリーンゾーンへの移動を開始させることが可能である。いくつかの実装形態において、自律型クリーニングロボットは、自律型クリーニングロボットの低バッテリーステータスに応答して、クリーンゾーンへの移動を開始させることが可能である。いくつかの実装形態において、方法は、環境におけるミッションの開始に応答して、自律型クリーニングロボットがドッキングステーションからクリーンゾーンへの移動を開始させることを引き起こすステップをさらに含むことが可能である。
【0019】
いくつかの実装形態において、クリーン行動は、集中的なクリーン行動に対応することが可能である。いくつかの実装形態において、集中的なクリーン行動は、自律型クリーニングロボットがクリーンゾーンを2回以上カバーすること、自律型クリーニングロボットのバキュームパワーを増加させること、または、自律型クリーニングロボットの移動速度を減少させることを引き起こすことが可能である。
【0020】
いくつかの実装形態において、行動制御ゾーンに優先順位を関連付けるステップは、自律型クリーニングロボットがミッションの開始時において行動制御ゾーンへの移動を開始させることを引き起こすことが可能であり、次いで、行動制御ゾーンに遭遇することに応答して行動を開始させることを引き起こすことが可能であり、行動は、行動制御ゾーンの中で実施される集中的なクリーン行動に対応している。いくつかの実装形態において、行動制御ゾーンの中で集中的なクリーン行動を実施した後に、自律型クリーニングロボットは、行動制御ゾーンに関連付けられた優先順位よりも低い別の優先順位に関連付けられた別の行動制御ゾーンへの移動を開始させることが可能であり、次いで、他の行動制御ゾーンに遭遇することに応答して集中的なクリーン行動を開始させることが可能である。
【0021】
いくつかの実装形態において、行動制御ゾーンに優先順位を関連付けるステップは、行動制御ゾーンに関連付けるための環境特徴のユーザー選択に基づいて、行動制御ゾーンに優先順位を関連付けるステップを含むことが可能である。
【0022】
いくつかの実装形態において、方法は、複数の行動制御ゾーンを定義するステップをさらに含むことが可能である。複数の行動制御ゾーンを定義するステップは、行動制御ゾーンを定義するステップを含むことが可能である。方法は、複数の行動制御ゾーンに複数の優先順位をそれぞれ関連付けるステップをさらに含むことが可能である。複数の行動制御ゾーンに複数の優先順位を関連付けるステップは、行動制御ゾーンに優先順位を関連付けるステップを含むことが可能である。いくつかの実装形態において、方法は、自律型クリーニングロボットが第1の時間の間に複数の行動制御ゾーンの第1のサブセットをクリーニングすることを優先することを引き起こすための、および、自律型クリーニングロボットが第2の時間の間に複数の行動制御ゾーンの第2のサブセットをクリーニングすることを優先することを引き起こすためのスケジュールを、自律型クリーニングロボットに提供するステップをさらに含むことが可能である。いくつかの実装形態において、第1の時間は、第1のクリーニングミッションの間にあることが可能であり、第2の時間は、第2のクリーニングミッションの間にあることが可能である。いくつかの実装形態において、第1の時間および第2の時間は、クリーニングミッションの間にあることが可能である。
【0023】
いくつかの実装形態において、自律型クリーニングロボットは、閾値持続期間よりも小さい予定持続期間を有するミッションに応答して、行動制御ゾーンへの移動を開始させることが可能である。
【0024】
いくつかの実装形態において、自律型クリーニングロボットは、自律型クリーニングロボットの低バッテリーステータスに応答して、行動制御ゾーンへの移動を開始させる。
【0025】
いくつかの実装形態において、自律型クリーニングロボットが、行動制御ゾーンに関連付けられた優先順位よりも低い優先順位に関連付けられた環境における領域への移動を開始させる前に、自律型クリーニングロボットは、行動制御ゾーンへの移動を開始させる。
【0026】
いくつかの実装形態において、方法は、環境におけるミッションの開始に応答して、自律型クリーニングロボットがドッキングステーションから行動制御ゾーンへの移動を開始させることを引き起こすステップをさらに含むことが可能である。
【0027】
いくつかの実装形態において、行動制御ゾーンは、第1の行動制御ゾーンであることが可能であり、優先順位は、第1の優先順位であることが可能であり、行動は、第1の行動であることが可能である。方法は、第2の行動制御ゾーンを定義するステップであって、自律型クリーニングロボットが、環境における第2の行動制御ゾーンに遭遇することに応答して、第2の行動を開始させるようになっている、ステップと、第2の優先順位に第2の行動制御ゾーンを関連付けるステップであって、自律型クリーニングロボットが、第2の行動制御ゾーンに関連付けられた第2の優先順位に基づいて、第2の行動制御ゾーンへの移動を開始させるようになっている、ステップとをさらに含むことが可能である。いくつかの実装形態において、第1の行動制御ゾーンの第1の優先順位は、第2の行動制御ゾーンの第2の優先順位よりも高くなっていることが可能であり、自律型クリーニングロボットが、第2の行動制御ゾーンへの移動を開始させる前に、第1の行動制御ゾーンへの移動を開始させるようになっている。
【0028】
いくつかの実装形態において、行動制御ゾーンに優先順位を関連付けるステップは、優先順位のユーザー選択に基づいて、行動制御ゾーンに優先順位を関連付けるステップを含むことが可能である。
【0029】
いくつかの実装形態において、方法は、自律型クリーニングロボットが環境を動き回るときに、自律型クリーニングロボットによって収集されたセンサーデータを受信するステップをさらに含むことが可能である。行動制御ゾーンに優先順位を関連付けるステップは、センサーデータに基づいて行動制御ゾーンに優先順位を関連付けるステップを含むことが可能である。いくつかの実装形態において、センサーデータは、自律型クリーニングロボットのミッションの間に行動制御ゾーンによってカバーされる領域において検出されるデブリの量を示すことが可能であり、センサーデータに基づいて行動制御ゾーンに優先順位を関連付けるステップは、行動制御ゾーンによってカバーされる領域において検出されるデブリの量に基づいて、行動制御ゾーンに優先順位を関連付けるステップを含むことが可能である。いくつかの実装形態において、センサーデータは、自律型クリーニングロボットのミッションの間に行動制御ゾーンによってカバーされる領域において検出されるデブリのタイプを示すことが可能であり、センサーデータに基づいて行動制御ゾーンに優先順位を関連付けるステップは、デブリのタイプに基づいて行動制御ゾーンに優先順位を関連付けるステップを含むことが可能である。いくつかの実装形態において、センサーデータは、自律型クリーニングロボットのミッションの間に、行動制御ゾーンに近接したまたは行動制御ゾーンの中の物体を示すことが可能であり、センサーデータに基づいて行動制御ゾーンに優先順位を関連付けるステップは、物体のタイプに基づいて行動制御ゾーンに優先順位を関連付けるステップを含むことが可能である。
【0030】
いくつかの実装形態において、行動制御ゾーンに優先順位を関連付けるステップは、推奨優先順位に基づいて優先順位のユーザー選択を受信するステップを含むことが可能である。推奨優先順位は、自律型クリーニングロボットが環境を動き回るときに、自律型クリーニングロボットによって収集されたセンサーデータに基づくことが可能である。
【0031】
いくつかの実装形態において、行動は、集中的なクリーン行動に対応することが可能である。
【0032】
いくつかの実装形態において、集中的なクリーン行動は、自律型クリーニングロボットが行動制御ゾーンを2回以上カバーすること、自律型クリーニングロボットのバキュームパワーを増加させること、または、自律型クリーニングロボットの移動速度を減少させることを引き起こすことが可能である。
【0033】
いくつかの実装形態において、行動制御ゾーンへの移動を開始させるステップは、ミッションの開始時において行動制御ゾーンへの移動を開始させるステップを含むことが可能であり、行動制御ゾーンにおける行動を開始させるステップは、行動制御ゾーンにおける集中的なクリーン行動を開始させるステップを含むことが可能である。
【0034】
いくつかの実装形態において、方法は、行動制御ゾーンにおける行動を開始させた後に、行動制御ゾーンに関連付けられた優先順位よりも低い別の優先順位に関連付けられた別の行動制御ゾーンへの移動を開始させるステップと、他の行動制御ゾーンに遭遇することに応答して他の行動制御ゾーンにおける集中的なクリーン行動を開始させるステップとをさらに含むことが可能である。
【0035】
いくつかの実装形態において、方法は、複数の行動制御ゾーンを示すデータ、および、複数の行動制御ゾーンに関連付けられた複数の優先順位を示すデータをそれぞれ受信するステップをさらに含むことが可能である。複数の行動制御ゾーンを示すデータ、および、複数の優先順位を示すデータを受信するステップは、行動制御ゾーンを示すデータ、および、優先順位を示すデータを受信するステップを含むことが可能である。いくつかの実装形態において、方法は、自律型クリーニングロボットが第1のミッションの間に複数の行動制御ゾーンの第1のサブセットをクリーニングすることを優先することを引き起こすための、および、自律型クリーニングロボットが第2のミッションの間に複数の行動制御ゾーンの第2のサブセットをクリーニングすることを優先することを引き起こすためのスケジュールを受信するステップをさらに含むことが可能である。
【0036】
いくつかの実装形態において、優先順位に基づいて、行動制御ゾーンへの移動を開始させるステップは、閾値持続期間よりも小さい予定持続期間を有するミッションに応答して、優先順位に基づいて、行動制御ゾーンへの移動を開始させるステップを含むことが可能である。
【0037】
いくつかの実装形態において、優先順位に基づいて、行動制御ゾーンへの移動を開始させるステップは、自律型クリーニングロボットの低バッテリーステータスに応答して、行動制御ゾーンへの移動を開始させるステップを含むことが可能である。
【0038】
いくつかの実装形態において、優先順位に基づいて、行動制御ゾーンへの移動を開始させるステップは、行動制御ゾーンに関連付けられた優先順位よりも低い優先順位に関連付けられた環境における領域への移動を開始させる前に、行動制御ゾーンへの移動を開始させるステップを含むことが可能である。
【0039】
いくつかの実装形態において、優先順位に基づいて、行動制御ゾーンへの移動を開始させるステップは、環境におけるミッションを開始させることに応答して、行動制御ゾーンへの移動を開始させるステップを含むことが可能である。
【0040】
いくつかの実装形態において、行動制御ゾーンは、第1の行動制御ゾーンであることが可能であり、優先順位は、第1の優先順位であることが可能であり、行動は、第1の行動であることが可能であり、方法は、第2の行動制御ゾーンを示すデータ、および、第2の行動制御ゾーンに関連付けられた第2の優先順位を示すデータを受信するステップと、第2の優先順位に基づいて、第2の行動制御ゾーンへの移動を開始させるステップと、環境における第2の行動制御ゾーンに遭遇することに応答して、第2の行動制御ゾーンにおける第2の行動を開始させるステップとをさらに含むことが可能である。いくつかの実装形態において、第1の行動制御ゾーンの第1の優先順位は、第2の行動制御ゾーンの第2の優先順位よりも高くなっていることが可能であり、第2の優先順位に基づいて、第2の行動制御ゾーンへの移動を開始させるステップは、第1の優先順位に基づいて第1の行動制御ゾーンへの移動を開始させた後に、第2の行動制御ゾーンへの移動を開始させるステップを含むことが可能である。
【0041】
いくつかの実装形態において、優先順位は、ユーザー選択された優先順位であることが可能である。
【0042】
いくつかの実装形態において、方法は、自律型クリーニングロボットが環境を動き回るときに、自律型クリーニングロボットによって収集されたセンサーデータをリモートコンピューティングシステムに送信するステップを含むことが可能である。優先順位は、センサーデータに基づいて選択され得る。いくつかの実装形態において、センサーデータは、自律型クリーニングロボットのミッションの間に行動制御ゾーンによってカバーされる領域において検出されるデブリの量を示すことが可能であり、優先順位は、行動制御ゾーンによってカバーされる領域において検出されるデブリの量に基づいて選択され得る。いくつかの実装形態において、センサーデータは、自律型クリーニングロボットのミッションの間に行動制御ゾーンによってカバーされる領域において検出されるデブリのタイプを示すことが可能であり、優先順位は、デブリのタイプに基づいて選択され得る。いくつかの実装形態において、センサーデータは、自律型クリーニングロボットのミッションの間に、行動制御ゾーンに近接したまたは行動制御ゾーンの中の物体を示すことが可能であり、優先順位は、物体のタイプに基づいて選択され得る。
【0043】
いくつかの実装形態において、優先順位は、推奨優先順位に基づいて選択されるユーザー選択された優先順位であることが可能である。推奨優先順位は、自律型クリーニングロボットが環境を動き回るときに、自律型クリーニングロボットによって収集されたセンサーデータに基づくことが可能である。
【0044】
いくつかの実装形態において、行動は、集中的なクリーン行動に対応することが可能である。集中的なクリーン行動は、自律型クリーニングロボットが行動制御ゾーンを2回以上カバーすること、自律型クリーニングロボットのバキュームパワーを増加させること、または、自律型クリーニングロボットの移動速度を減少させることを引き起こすことが可能である。
【0045】
さらなる態様では、方法は、自律型クリーニングロボットが環境を動き回るときに、自律型クリーニングロボットによって収集されたマッピングデータを受信するステップと、マッピングデータの一部分に対応する行動制御ゾーンを定義するステップであって、自律型クリーニングロボットが行動制御ゾーンを横断するときに、自律型クリーニングロボットが行動を無効にするようになっている、ステップとを含む。
【0046】
別の態様において、自律型クリーニングロボットによって実施される方法は、自律型クリーニングロボットが環境を動き回るときに、自律型クリーニングロボットによって収集されたマッピングデータをリモートコンピューティングシステムに送信するステップと、マッピングデータの一部分に関連付けられた行動制御ゾーンを示すデータを受信するステップと、行動制御ゾーンに遭遇することに応答して行動制御ゾーンにおける行動を無効にしながら、行動制御ゾーンを通ってナビゲートするステップとを含む。
【0047】
いくつかの実装形態において、行動は、自律型クリーニングロボットが後方方向に移動するラグライドアップ行動(rug ride up behavior)に対応することが可能である。
【0048】
いくつかの実装形態において、マッピングデータの一部分は、環境における境界部に対応することが可能である。
【0049】
いくつかの実装形態において、行動を無効にするステップは、自律型クリーニングロボットのクリーニングシステムを無効にするステップを含むことが可能である。
【0050】
いくつかの実装形態において、行動を無効にするステップは、自律型クリーニングロボットのラグライドアップ行動を無効にするステップを含むことが可能である。
【0051】
別の態様において、自律型クリーニングロボットは、自律型クリーニングロボットが環境におけるフロア表面をクリーニングするときに、環境において自律型クリーニングロボットを移動させるように構成されているドライブシステムと、自律型クリーニングロボットが環境を動き回るときに、マッピングデータを発生させるセンサーと、動作を実施するためのインストラクションを実行するように構成されているコントローラーとを含む。動作は、自律型クリーニングロボットが環境を動き回るときに、自律型クリーニングロボットによって収集されたマッピングデータをリモートコンピューティングシステムに送信するステップと、マッピングデータの一部分に関連付けられる行動制御ゾーンを示すデータを受信するステップと、行動制御ゾーンに遭遇することに応答して行動制御ゾーンにおける行動を無効にしながら、行動制御ゾーンを通ってナビゲートするステップとを含む。
【0052】
本明細書において説明されている主題の1つまたは複数の実装形態の詳細は、添付の図面および下記の説明において記載されている。他の潜在的な特徴、態様、および利点は、説明、図面、および、特許請求の範囲から明らかになることとなる。
【図面の簡単な説明】
【0053】
【
図1】自律型移動ロボットおよび自律型移動ロボットのための行動制御ゾーンを含む環境の例の上面図である。
【
図5】行動制御ゾーンを定義するプロセスのフローチャートである。
【
図6A】環境におけるセンサーイベントの概略上面図である。
【
図6B】環境におけるセンサーイベントの概略上面図である。
【
図7】環境におけるセンサーイベントの概略上面図である。
【
図8】ユーザーコンピューティングデバイスの上にマップおよび行動制御ゾーンのためのインジケーターを提示するプロセスのフローチャートである。
【
図9】行動制御ゾーンを推奨するために通知を提示するユーザーインターフェースの説明図である。
【
図10A】環境のマップを提示するユーザーインターフェースの説明図である。
【
図10B】環境のマップを提示するユーザーインターフェースの説明図である。
【
図10C】環境のマップを提示するユーザーインターフェースの説明図である。
【
図10D】環境のマップを提示するユーザーインターフェースの説明図である。
【
図11】優先順位に関連付けられる行動制御ゾーンを定義するプロセスのフローチャートである。
【
図12】優先順位に関連付けられた行動制御ゾーンを定義する、行動制御ゾーンの視覚的表現を提示する、および、行動制御ゾーンを使用して自律型移動ロボットを制御するプロセスのフローチャートである。
【
図13A】推奨行動制御ゾーンのインジケーターを提供するためのユーザーインターフェースの説明図である。
【
図13B】推奨行動制御ゾーンのインジケーターを提供するためのユーザーインターフェースの説明図である。
【
図13C】マップの上に行動制御ゾーンのインジケーターを提供するためのユーザーインターフェースの説明図である。
【
図13D】マップの上に行動制御ゾーンのインジケーターを提供するためのユーザーインターフェースの説明図である。
【
図13E】ユーザーが行動制御ゾーンの名前およびタイプを定義することを可能にするためのユーザーインターフェースの説明図である。
【
図13F】ユーザーが行動制御ゾーンの名前およびタイプを定義することを可能にするためのユーザーインターフェースの説明図である。
【
図13G】ユーザーが行動制御ゾーンを選択することを可能にするためのユーザーインターフェースの説明図である。
【
図13H】ユーザーが行動制御ゾーンを選択することを可能にするためのユーザーインターフェースの説明図である。
【
図13I】行動制御ゾーンに関連付けるようにユーザーがスケジュールを選択することを可能にするためのユーザーインターフェースの説明図である。
【
図13J】行動制御ゾーンに関連付けるようにユーザーがスケジュールを選択することを可能にするためのユーザーインターフェースの説明図である。
【
図13K】行動制御ゾーンに関連付けるようにユーザーがスケジュールを選択することを可能にするためのユーザーインターフェースの説明図である。
【
図14A】1つまたは複数の優先順位に関連付けられた1つまたは複数の行動制御ゾーンにしたがって動作する自律型移動ロボットを含む環境の例の上面図である。
【
図14B】1つまたは複数の優先順位に関連付けられた1つまたは複数の行動制御ゾーンにしたがって動作する自律型移動ロボットを含む環境の例の上面図である。
【
図14C】1つまたは複数の優先順位に関連付けられた1つまたは複数の行動制御ゾーンにしたがって動作する自律型移動ロボットを含む環境の例の上面図である。
【
図14D】1つまたは複数の優先順位に関連付けられた1つまたは複数の行動制御ゾーンにしたがって動作する自律型移動ロボットを含む環境の例の上面図である。
【
図14E】1つまたは複数の優先順位に関連付けられた1つまたは複数の行動制御ゾーンにしたがって動作する自律型移動ロボットを含む環境の例の上面図である。
【
図14F】1つまたは複数の優先順位に関連付けられた1つまたは複数の行動制御ゾーンにしたがって動作する自律型移動ロボットを含む環境の例の上面図である。
【
図15】自律型移動ロボットの行動を無効にするための行動制御ゾーンを定義するプロセスのフローチャートである。
【
図16】自律型移動ロボットの行動を無効にするための行動制御ゾーンを定義する、行動制御ゾーンの視覚的表現を提示する、および、行動制御ゾーンを使用して自律型移動ロボットを制御するプロセスのフローチャートである。
【
図17A】自律型移動ロボットの行動を無効にするための行動制御ゾーンを確立するためのユーザーインターフェースの説明図である。
【
図17B】自律型移動ロボットの行動を無効にするための行動制御ゾーンを確立するためのユーザーインターフェースの説明図である。
【
図18A】ロボットの行動を無効にするための行動制御ゾーンにしたがって動作する自律型移動ロボットを含む環境の例の上面図である。
【
図18B】ロボットの行動を無効にするための行動制御ゾーンにしたがって動作する自律型移動ロボットを含む環境の例の上面図である。
【
図18C】ロボットの行動を無効にするための行動制御ゾーンにしたがって動作する自律型移動ロボットを含む環境の例の上面図である。
【発明を実施するための形態】
【0054】
図1を参照すると、自律型移動ロボット100は、環境内においてフロア表面10を動き回る。ロボット100は、ロボット100がフロア表面10をナビゲートして回るときにフロア表面10をクリーニングするクリーニングロボット(たとえば、ロボット掃除機、ロボットモップ、または、他のクリーニングロボット)である。ロボット100は、ドッキングステーション50に戻り、ドッキングステーション50は、ロボット100を充電する。ロボットは、ロボット100が環境の周りをトラベルするときにデブリを収集するロボット掃除機である例では、いくつかの実装形態において、ドッキングステーション50は、また、ロボット100からデブリを退避させ、ロボット100が追加的なデブリを収集することを可能にする。本開示において説明されているように、ロボット100は、行動制御ゾーンの選択を可能にするシステムおよびプロセスを通して、フロア表面10の特定の部分をクリーニングすることを優先することが可能である。たとえば、フロア表面10の上に行動制御ゾーン20a、20b、20c、20d(集合的に行動制御ゾーン20と称される)を定義するためのプロセスが実施され得る。これらの行動制御ゾーン20のうちの1つに遭遇することに応答して、ロボット100は、行動を開始することが可能である。行動制御ゾーン20は、行動制御ゾーンに遭遇することに応答して行動制御ゾーン20のうちの1つの中でクリーニング行動を開始するようにロボット100をトリガーするクリーンゾーンであることが可能である。行動制御ゾーン20は、デブリのより高い発生率に関連付けられる環境の中の領域に対応するように選択され得る。たとえば、行動制御ゾーン20aは、キッチンワークスペース(たとえば、シンク、コンロ、およびキッチンカウンターなど)に隣接する領域に対応している。行動制御ゾーン20bは、テーブルの下のおよびテーブルに隣接する領域に対応している。行動制御ゾーン20cは、カウチに隣接する領域に対応している。行動制御ゾーン20dは、入口通路ラグをカバーする領域に対応している。
【0055】
本開示において説明されているように、行動制御ゾーン20は、ロボット100が行動制御ゾーンにトラベルするシーケンスを生成させるために優先順位に関連付けられ得る。たとえば、行動制御ゾーン20aの優先順位は、行動制御ゾーン20bの優先順位よりも高く、行動制御ゾーン20bの優先順位は、行動制御ゾーン20cの優先順位よりも高く、行動制御ゾーン20cの優先順位は、行動制御ゾーン20dの優先順位よりも高い。結果として、
図1に示されているように、ロボット100が最初に高い優先順位を有する領域をクリーニングするミッションでは、ロボット100は、経路32に沿ってドッキングステーション50から行動制御ゾーン20aへ移動し、次いで、行動制御ゾーン20bへ移動し、次いで、行動制御ゾーン20cへ移動し、次いで、行動制御ゾーン20dへ移動する。
【0056】
例示的な自律型移動ロボット
図2を参照すると、ロボット100がフロア表面10を横断するときに、ロボット100は、フロア表面10からデブリ105を収集する。
図3Aを参照すると、ロボット100は、ロボットハウジングインフラストラクチャー108を含む。ハウジングインフラストラクチャー108は、ロボット100の構造的な周辺部を画定することが可能である。いくつかの例において、ハウジングインフラストラクチャー108は、シャーシー、カバー、底部プレート、およびバンパーアッセンブリを含む。ロボット100は、小さいプロファイルを有する家庭用ロボットであり、ロボット100が家の中の家具の下にフィットすることができるようになっている。フロア表面に対するロボット100の高さH1(
図2に示されている)は、たとえば、13センチメートル以下である。また、ロボット100は、コンパクトである。ロボット100の全体的な長さL1(
図2に示されている)および全体的な幅W1(
図3Aに示されている)は、それぞれ30センチメートルから60センチメートルの間にあり、たとえば、30センチメートルから40センチメートルの間にあるか、40センチメートルから50センチメートルの間にあるか、または、50センチメートルから60センチメートルの間にある。全体的な幅W1は、ロボット100のハウジングインフラストラクチャー108の幅に対応することが可能である。
【0057】
ロボット100は、1つまたは複数のドライブホイールを含むドライブシステム110を含む。ドライブシステム110は、電気回路106の一部を形成する電気的に駆動される部分を含む1つまたは複数の電気モーターをさらに含む。ハウジングインフラストラクチャー108は、ロボット100の中に電気回路106(少なくともコントローラー109を含む)を支持している。
【0058】
ドライブシステム110は、フロア表面10を横切ってロボット100を推進させるように動作可能である。ロボット100は、前方ドライブ方向Fまたは後方ドライブ方向Rに推進され得る。また、ロボット100は、ロボット100が適切な場所でターンするように、または、前方ドライブ方向Fまたは後方ドライブ方向Rに移動しながらターンするように推進され得る。
図3Aに示されている例では、ロボット100は、ハウジングインフラストラクチャー108の底部部分113を通って延在するドライブホイール112を含む。ドライブホイール112は、モーター114によって回転させられ、フロア表面10に沿ったロボット100の移動を引き起こす。ロボット100は、ハウジングインフラストラクチャー108の底部部分113を通って延在するパッシブキャスターホイール115をさらに含む。キャスターホイール115は、動力を与えられていない。一緒になって、ドライブホイール112およびキャスターホイール115は、フロア表面10の上方においてハウジングインフラストラクチャー108を支持するように協働する。たとえば、キャスターホイール115は、ハウジングインフラストラクチャー108の後方部分121に沿って配設されており、ドライブホイール112は、キャスターホイール115の前方に配設されている。
【0059】
図3Bを参照すると、ロボット100は、実質的に長方形になっている前方部分122と、実質的に半円形になっている後方部分121とを含む。前方部分122は、側部表面150、152、前方表面154、およびコーナー表面156、158を含む。前方部分122のコーナー表面156、158は、側部表面150、152を前方表面154に接続している。
【0060】
図2、
図3A、および
図3Bに示されている例では、ロボット100は、フロア表面10をクリーニングするように動作可能なクリーニングアッセンブリ116(
図3Aに示されている)を含む自律型移動フロアクリーニングロボットである。たとえば、ロボット100は、ロボット掃除機であることが可能であり、ロボット掃除機では、クリーニングアッセンブリ116が、フロア表面10からデブリ105(
図2に示されている)を取り込むことによって、フロア表面10をクリーニングするように動作可能である。クリーニングアッセンブリ116は、クリーニング入口部117を含み、デブリが、ロボット100によって、クリーニング入口部117を通して収集される。クリーニング入口部117は、ロボット100の中心(たとえば、中心162)の前方に、および、前方部分122の側部表面150と側部表面152との間において、ロボット100の前方部分122に沿って位置決めされている。
【0061】
クリーニングアッセンブリ116は、1つまたは複数の回転可能な部材(たとえば、モーター120によって駆動される回転可能な部材118)を含む。回転可能な部材118は、ロボット100の前方部分122を横切って水平方向に延在している。回転可能な部材118は、ハウジングインフラストラクチャー108の前方部分122に沿って位置決めされており、ハウジングインフラストラクチャー108の前方部分122の幅(たとえば、ロボット100の全体的な幅W1に対応している)の75%から95%に沿って延在している。
図2も参照すると、クリーニング入口部117は、回転可能な部材118間に位置決めされている。
【0062】
図2に示されているように、回転可能な部材118は、互いに逆回転するローラーである。たとえば、回転可能な部材118は、平行な水平方向軸線146、148(
図3Aに示されている)の周りに回転可能であり、フロア表面10の上のデブリ105を撹拌し、デブリ105をクリーニング入口部117に向けてクリーニング入口部117の中へ、そして、ロボット100の中の吸引経路145(
図2に示されている)の中へ方向付けることが可能である。
図3Aに戻って参照すると、回転可能な部材118は、ロボット100の前方部分122の中に全体的に位置決めされ得る。回転可能な部材118は、エラストマーシェルを含み、エラストマーシェルは、フロア表面10の上のデブリ105に接触し、回転可能な部材118がハウジングインフラストラクチャー108に対して回転するときに、回転可能な部材118間のクリーニング入口部117を通して、ロボット100の内部の中へ(たとえば、デブリビン124(
図2に示されている)の中へ)、デブリ105を方向付ける。回転可能な部材118は、フロア表面10にさらに接触し、フロア表面10の上のデブリ105を撹拌する。
【0063】
ロボット100は、バキュームシステム119をさらに含み、バキュームシステム119は、回転可能な部材118間のクリーニング入口部117を通してデブリビン124の中へ気流を発生させるように動作可能である。バキュームシステム119は、インペラーと、気流を発生させるためにインペラーを回転させるためのモーターとを含むことが可能である。バキュームシステム119は、クリーニングアッセンブリ116と協働し、フロア表面10からデブリビン124の中へデブリ105を引き込む。いくつかのケースでは、バキュームシステム119によって発生させられる気流は、フロア表面10の上のデブリ105を回転可能な部材118間のギャップを通してデブリビン124の中へ上向きに引き込むのに十分な力を生成させる。いくつかのケースでは、回転可能な部材118は、フロア表面10に接触し、フロア表面10の上のデブリ105を撹拌し、それによって、バキュームシステム119によって発生させられる気流によってデブリ105がより容易に取り込まれることを可能にする。
【0064】
ロボット100は、ブラシ126をさらに含み、ブラシ126は、非水平方向軸線(たとえば、フロア表面10に対して75度から90度の間の角度を形成する軸線)の周りに回転する。たとえば、非水平方向軸線は、回転可能な部材118の長手方向軸線に対して75度から90度の間の角度を形成している。ロボット100は、ブラシ126を回転させるためにブラシ126に操作可能に接続されているモーター128を含む。
【0065】
ブラシ126は、ロボット100の前後軸線FAから横方向にオフセットされたサイドブラシであり、ブラシ126がロボット100のハウジングインフラストラクチャー108の外側周囲を越えて延在するようになっている。たとえば、ブラシ126は、ロボット100の側部表面150、152のうちの1つを越えて延在することが可能であり、それによって、回転可能な部材118が典型的に到達することができないフロア表面10の部分(たとえば、ロボット100の真下のフロア表面10の一部分の外側のフロア表面10の部分)の上のデブリに係合することが可能であり得る。また、ブラシ126は、ロボット100の横方向軸線LAから前方にオフセットされており、ブラシ126がハウジングインフラストラクチャー108の前方表面154を越えて延在するようになっている。
図3Aに示されているように、ブラシ126は、ハウジングインフラストラクチャー108の側部表面150、コーナー表面156、および前方表面154を越えて延在している。いくつかの実装形態において、ブラシ126が側部表面150を越えて延在する水平方向距離D1は、少なくとも、たとえば、0.2センチメートル、たとえば、少なくとも0.25センチメートル、少なくとも0.3センチメートル、少なくとも0.4センチメートル、少なくとも0.5センチメートル、少なくとも1センチメートル、または、それ以上である。ブラシ126は、その回転の間にフロア表面10に接触するように位置決めされており、ブラシ126がフロア表面10の上のデブリ105に容易に係合することができるようになっている。
【0066】
ブラシ126は、ロボット100が移動するときに、フロア表面10の上のデブリをクリーニングアッセンブリ116のクリーニング経路の中へブラッシングする様式で非水平方向軸線の周りに回転可能である。たとえば、ロボット100が前方ドライブ方向Fに移動している例では、ブラシ126は、時計回り方向(ロボット100の上方の視点から見たとき)に回転可能であり、ブラシ126が接触するデブリが、クリーニングアッセンブリに向けて、および、前方ドライブ方向Fにおいてクリーニングアッセンブリ116の前にあるフロア表面10の一部分に向けて移動するようになっている。結果として、ロボット100が前方ドライブ方向Fに移動するときに、ロボット100のクリーニング入口部117は、ブラシ126によって掃かれたデブリを収集することが可能である。ロボット100が後方ドライブ方向Rに移動している例では、ブラシ126は、反時計回り方向(ロボット100の上方の視点から見たとき)に回転可能であり、ブラシ126が接触するデブリが、後方ドライブ方向Rにおいてクリーニングアッセンブリ116の後ろにあるフロア表面10の一部分に向けて移動するようになっている。結果として、ロボット100が後方ドライブ方向Rに移動するときに、ロボット100のクリーニング入口部117は、ブラシ126によって掃かれるデブリを収集することが可能である。
【0067】
電気回路106は、コントローラー109に加えて、たとえば、メモリーストレージエレメント144と、1つまたは複数の電気センサーを備えたセンサーシステムとを含む。本開示において説明されているように、センサーシステムは、ロボット100の現在の場所を示す信号を発生させることが可能であり、ロボット100がフロア表面10に沿ってトラベルするときに、ロボット100の場所を示す信号を発生させることが可能である。
【0068】
コントローラー109は、本開示において説明されているような1つまたは複数の動作を実施するためのインストラクションを実行するように構成されている。メモリーストレージエレメント144は、コントローラー109によってアクセス可能であり、ハウジングインフラストラクチャー108の中に配設されている。1つまたは複数の電気センサーは、ロボット100の環境における特徴を検出するように構成されている。たとえば、
図3Aを参照すると、センサーシステムは、ハウジングインフラストラクチャー108の底部部分113に沿って配設されているクリフセンサー134を含む。クリフセンサー134のそれぞれは、光学センサーであり、それは、光学センサーの下方の物体(たとえば、フロア表面10など)の存在または不存在を検出することが可能である。したがって、クリフセンサー134は、クリフセンサー134が配設されているロボット100の部分の下方にある障害物(たとえば、落差およびクリフなど)を検出し、それにしたがってロボットを方向転換させることが可能である。
【0069】
図3Bを参照すると、センサーシステムは、1つまたは複数の近接センサーを含み、1つまたは複数の近接センサーは、ロボット100の近くにあるフロア表面10に沿って物体を検出することが可能である。たとえば、センサーシステムは、近接センサー136a、136b、136cを含むことが可能であり、近接センサー136a、136b、136cは、ハウジングインフラストラクチャー108の前方表面154に近接して配設されている。近接センサー136a、136b、136cのそれぞれは、ハウジングインフラストラクチャー108の前方表面154から外向きに面する光学センサーを含み、それは、光学センサーの前にある物体の存在または不存在を検出することが可能である。たとえば、検出可能な物体は、障害物(たとえば、ロボット100の環境における家具、壁、人、および、他の物体など)を含む。
【0070】
センサーシステムは、バンパー138および1つまたは複数のバンプセンサーを含むバンパーシステムを含み、1つまたは複数のバンプセンサーは、バンパー138と環境における障害物との間の接触を検出する。バンパー138は、ハウジングインフラストラクチャー108の一部を形成している。たとえば、バンパー138は、側部表面150、152および前方表面154を形成することが可能である。たとえば、センサーシステムは、バンプセンサー139a、139bを含むことが可能である。バンプセンサー139a、139bは、ロボット100(たとえば、バンパー138)と環境の中の物体との間の接触を検出することができるブレークビームセンサー、静電容量センサー、または、他のセンサーを含むことが可能である。いくつかの実装形態において、バンプセンサー139aは、ロボット100の前後軸線FA(
図3Aに示されている)に沿ったバンパー138の移動を検出するために使用され得、バンプセンサー139bは、ロボット100の横方向軸線LA(
図3Aに示されている)に沿ったバンパー138の移動を検出するために使用され得る。近接センサー136a、136b、136cは、ロボット100が物体に接触する前に物体を検出することが可能であり、バンプセンサー139a、139bは、たとえば、ロボット100が物体に接触することに応答して、バンパー138に接触する物体を検出することが可能である。
【0071】
センサーシステムは、1つまたは複数の障害物追従センサーを含む。たとえば、ロボット100は、側部表面150に沿って障害物追従センサー141を含むことが可能である。障害物追従センサー141は、ハウジングインフラストラクチャー108の側部表面150から外向きに面する光学センサーを含み、それは、ハウジングインフラストラクチャー108の側部表面150に隣接する物体の存在または不存在を検出することが可能である。障害物追従センサー141は、ロボット100の前方ドライブ方向Fに対して垂直の方向に、および、ロボット100の側部表面150に対して垂直の方向に、水平方向に光学ビームを放出することが可能である。たとえば、検出可能な物体は、障害物(たとえば、ロボット100の環境における家具、壁、人、および、他の物体など)を含む。いくつかの実装形態において、センサーシステムは、側部表面152に沿って障害物追従センサーを含むことが可能であり、障害物追従センサーは、側部表面152に隣接する物体の存在または不存在を検出することが可能である。側部表面150に沿った障害物追従センサー141は、右側の障害物追従センサーであり、側部表面152に沿った障害物追従センサーは、左側の障害物追従センサーである。1つまたは複数の障害物追従センサー(障害物追従センサー141を含む)は、(たとえば、本開示において説明されている近接センサーと同様の)障害物検出センサーとしての役割を果たすことも可能である。この点において、左側の障害物追従センサーは、ロボット100の左側にある物体(たとえば、障害物表面)とロボット100との間の距離を決定するために使用され得、右側の障害物追従センサーは、ロボット100の右側にある物体(たとえば、障害物表面)とロボット100との間の距離を決定するために使用され得る。
【0072】
いくつかの実装形態において、近接センサー136a、136b、136cおよび障害物追従センサー141のうちの少なくともいくつかは、光学エミッターおよび光学検出器をそれぞれ含む。光学エミッターは、ロボット100から外向きに(たとえば、水平方向に外向きに)光学ビームを放出し、光学検出器は、ロボット100の近くの物体から反射する光学ビームの反射を検出する。ロボット100(たとえば、コントローラー109を使用する)は、光学ビームの飛行時間を決定することが可能であり、それによって、光学検出器と物体との間の距離を決定し、ひいては、ロボット100と物体との間の距離を決定することが可能である。
【0073】
いくつかの実装形態において、近接センサー136aは、光学検出器180および複数の光学エミッター182、184を含む。光学エミッター182、184のうちの一方は、外向きにおよび下向きに光学ビームを方向付けるように位置決めされ得、光学エミッター182、184のうちの他方は、外向きにおよび上向きに光学ビームを方向付けるように位置決めされ得る。光学検出器180は、光学ビームの反射または光学ビームからの散乱を検出することが可能である。いくつかの実装形態において、光学検出器180は、イメージングセンサー、カメラ、または、光信号をセンシングするためのいくつかの他のタイプの検出デバイスである。いくつかの実装形態において、光学ビームは、ロボット100の前方にある平面的な垂直表面に沿って水平方向のラインを照射する。いくつかの実装形態において、光学エミッター182、184は、障害物表面に向けて外向きにビームのファンをそれぞれ放出し、ドットの1次元グリッドが、1つまたは複数の障害物表面の上に出現するようになっている。ドットの1次元グリッドは、水平方向に延在するラインの上に位置決めされ得る。いくつかの実装形態において、ドットのグリッドは、複数の障害物表面(たとえば、互いに隣接している複数の障害物表面)を横切って延在することが可能である。光学検出器180は、光学エミッター182によって形成されるドットのグリッド、および、光学エミッター184によって形成されるドットのグリッドを表すイメージをキャプチャーすることが可能である。イメージの中のドットのサイズに基づいて、ロボット100は、光学検出器180に対して(たとえば、ロボット100に対して)、ドットがその上に出現する物体の距離を決定することが可能である。ロボット100は、ドットのそれぞれに関してこの決定を行うことが可能であり、したがって、ドットがその上に出現する物体の形状をロボット100が決定することを可能にする。加えて、複数の物体がロボット100の前方にある場合には、ロボット100は、物体のそれぞれの形状を決定することが可能である。いくつかの実装形態において、物体は、ロボット100の真正面にあるフロア表面10の一部分から横方向にオフセットされている1つまたは複数の物体を含むことが可能である。
【0074】
センサーシステムは、ハウジングインフラストラクチャー108の上部部分142に向けて方向付けられたイメージキャプチャーデバイス140(たとえば、カメラ)をさらに含む。イメージキャプチャーデバイス140は、ロボット100がフロア表面10を動き回るときに、ロボット100の環境のデジタル画像を発生させる。イメージキャプチャーデバイス140は、上向き方向に角度を付けられており、たとえば、ロボット100がナビゲートして回るフロア表面10から30度から80度の間で角度を付けられている。カメラは、上向きに角度を付けられているときに、環境の壁表面のイメージをキャプチャーすることができ、壁表面の上の物体に対応する特徴が、位置特定のために使用され得るようになっている。
【0075】
ロボット100がミッションを実行することをコントローラー109が引き起こすとき、コントローラー109は、モーター114を動作させ、ドライブホイール112を駆動し、フロア表面10に沿ってロボット100を推進させる。加えて、コントローラー109は、モーター120を動作させ、回転可能な部材118が回転することを引き起こし、また、モーター128を動作させ、ブラシ126が回転することを引き起こし、また、バキュームシステム119のモーターを動作させ、気流を発生させる。ロボット100がさまざまなナビゲーション行動およびクリーニング行動を実施することを引き起こすために、コントローラー109は、メモリーストレージエレメント144の上に記憶されているソフトウェアを実行し、ロボット100のさまざまなモーターを動作させることによってロボット100が行動をとることを引き起こす。コントローラー109は、ロボット100のさまざまなモーターを動作させ、ロボット100が行動を実施することを引き起こす。
【0076】
センサーシステムは、ロボット100によってトラベルされた距離をトラッキングするためのセンサー、または、ロボット100の運動を検出するためのセンサーをさらに含むことが可能である。たとえば、センサーシステムは、ドライブホイール112のためのモーター114に関連付けられるエンコーダーを含むことが可能であり、これらのエンコーダーは、ロボット100がトラベルした距離をトラッキングすることが可能である。いくつかの実装形態において、センサーシステムは、フロア表面に向けて下向きに面する光学センサーを含む。光学センサーは、光学マウスセンサーであることが可能である。たとえば、光学センサーは、ロボット100の底部表面を通してフロア表面10に向けて光を方向付けるように位置決めされ得る。光学センサーは、光の反射を検出することが可能であり、ロボット100がフロア表面10に沿ってトラベルするときのフロア特徴の変化に基づいて、ロボット100によってトラベルされた距離を検出することが可能である。いくつかの実装形態において、他の運動センサーは、ロボット100のトラベルされた距離、回転の量、速度、または加速度を示す信号を発生させるオドメーター、加速度計、ジャイロスコープ、慣性測定ユニット、および/または、他のセンサーを含むことが可能である。たとえば、ロボット100は、モバイルロボット300が機首方位から回転した量を示す信号を発生させる方向センサー(たとえば、ジャイロスコープなど)を含む。いくつかの実装形態において、センサーシステムは、デッドレコニングセンサー(たとえば、IRホイールエンコーダーなど)を含み、ドライブホイール112の回転を示す信号を発生させることが可能であり、コントローラー109は、検出された回転を使用し、ロボット100によってトラベルされた距離を推定する。
【0077】
センサーシステムは、フロア表面10の上のデブリを検出するためのデブリ検出センサー147(
図2に示されている)をさらに含むことが可能である。デブリ検出センサー147は、環境におけるフロア表面10の他の部分よりも汚い、環境におけるフロア表面10の部分を検出するために使用され得る。いくつかの実装形態において、デブリ検出センサー147は、吸引経路145を通過するデブリの量(または、デブリのレート)を検出することができる。デブリ検出センサー147は、デブリが吸引経路145を通過するときにデブリを検出するように構成されている光学センサーであることが可能である。代替的に、デブリ検出センサー147は、デブリが吸引経路145の壁に衝突するときにデブリを検出する圧電センサーであることが可能である。いくつかの実装形態において、デブリ検出センサー147は、デブリがロボット100によって吸引経路145の中へ取り込まれる前に、デブリを検出する。デブリ検出センサー147は、たとえば、ロボット100の前方にあるフロア表面10の一部分のイメージをキャプチャーするイメージキャプチャーデバイスであることが可能である。イメージキャプチャーデバイスは、ロボット100の前方部分の上に位置決めされ得、ロボット100の前方にあるフロア表面10の部分の上のデブリを検出するような様式で方向付けられ得る。次いで、コントローラー109は、これらのイメージを使用し、フロア表面10のこの部分の上のデブリの存在を検出することが可能である。
【0078】
センサーシステムは、デブリビン124の中のデブリの量を決定するためのビン容量センサー151(
図2に示されている)をさらに含むことが可能である。ビン容量センサー151は、デブリビン124の中のデブリのレベルを示すことができる光学センサー、赤外線センサー、または超音波センサーであることが可能である。いくつかの実装形態において、ビン容量センサー151は、特定の閾値レベルに到達するデブリのレベルに応答してトリガーされるスイッチであることが可能である。ビン容量センサー151は、代替的に、ロボット100のバキュームシステム119によって発生させられる特定の空気圧力に応答してトリガーされる圧力センサーであることが可能である。
【0079】
センサーシステムは、フロアタイプセンサーをさらに含むことが可能である。フロアタイプセンサーは、ロボット100の下方のフロア表面の一部分のフロアタイプを識別する、下向きに面する光学センサーであるか、または、ロボット100の前方にあるフロア表面の一部分のフロアタイプを識別する、前方に面する光学センサーであることが可能である。
【0080】
コントローラー109は、センサーシステムのセンサーによって収集されたデータを使用し、ミッションの間のロボット100のナビゲーション行動を制御する。たとえば、コントローラー109は、ロボット100の障害物検出センサー(たとえば、クリフセンサー134、近接センサー136a、136b、136c、およびバンプセンサー139a、139b)によって収集されたセンサーデータを使用し、ミッションの間にロボット100がロボット100の環境の中の障害物を回避することを可能にする。
【0081】
センサーデータは、自己位置特定およびマッピングを同時に行う(SLAM:simultaneous localization and mapping)技法のためにコントローラー109によって使用され得、SLAM技法では、コントローラー109が、センサーデータによって表される環境の特徴を抽出する。センサーデータから、環境のフロア表面10のマップを構築するためのマッピングデータが発生させられ得る。イメージキャプチャーデバイス140によって収集されたセンサーデータは、視覚ベースのSLAM(VSLAM:vision-based SLAM)などのような技法のために使用され得、視覚ベースのSLAMでは、コントローラー109が、環境の中の物体に対応する視覚的な特徴を抽出し、これらの視覚的な特徴を使用してマップを構築する。コントローラー109がミッションの間にフロア表面10においてロボット100に指示するとき、コントローラー109は、SLAM技法を使用し、収集されたセンサーデータの中に表される特徴を検出することによって、および、その特徴を以前に記憶された特徴と比較することによって、マップの中のロボット100の場所を決定する。マッピングデータから形成されるマップは、環境の中の横断可能なおよび横断不可能なスペースの場所を示すことが可能である。たとえば、障害物の場所は、横断不可能なスペースとしてマップの上に示され、オープンフロアスペースの場所は、横断可能なスペースとしてマップの上に示される。
【0082】
センサーのいずれかによって収集されたセンサーデータは、メモリーストレージエレメント144の中に記憶され得る。加えて、SLAM技法のために発生させられる他のデータ(マップを形成するマッピングデータを含む)は、メモリーストレージエレメント144の中に記憶され得る。ミッションの間に作り出されるこれらのデータは、永続的データを含むことが可能であり、永続的データは、ミッションの間に作り出され、永続的データは、さらなるミッションの間に使用可能である。たとえば、ミッションは、第1のミッションであることが可能であり、さらなるミッションは、第1のミッションの後に発生する第2のミッションであることが可能である。ロボット100がその行動を実施することを引き起こすためのソフトウェアを記憶することに加えて、メモリーストレージエレメント144は、あるミッションから別のミッションへのコントローラー109によるアクセスのために、センサーデータまたはセンサーデータの処理から結果として生じるデータを記憶する。たとえば、マップは、永続的マップであり、永続的マップは、フロア表面10においてロボット100をナビゲートするために、あるミッションから別のミッションへロボット100のコントローラー109によって使用可能および更新可能である。
【0083】
永続的データ(永続的マップを含む)は、ロボット100がフロア表面10を効率的にクリーニングすることを可能にする。たとえば、永続的マップは、コントローラー109がオープンフロアスペースに向けてロボット100を方向付けることおよび横断不可能なスペースを回避することを可能にする。加えて、後続のミッションのために、コントローラー109は、ミッションの間にとられる経路を最適化するために、永続的マップを使用して、環境を通るロボット100のナビゲーションを計画することができる。
【0084】
いくつかの実装形態において、ロボット100は、ロボット100の上部部分142の上に位置付けされている光インジケーターシステム137を含むことが可能である。光インジケーターシステム137は、デブリビン124をカバーする蓋149の中に位置決めされている光源を含むことが可能である(
図3Aに示されている)。光源は、蓋149の周辺部に光を方向付けるように位置決めされ得る。光源は、ロボット100の上部部分142の上の連続的なループ143の任意の部分が照射され得るように位置決めされている。連続的なループ143は、ロボット100の上部部分142の凹んだ部分の上に位置付けされており、光源が活性化させられているときに、光源がロボット100の表面を照射することができるようになっている。
【0085】
ロボット100は、環境においてさまざまなミッションを実施することが可能である。ロボット100は、ミッションを実施するために環境において動作していないときに、ドッキングステーション(たとえば、ドッキングステーション50(
図1に示されている)など)においてドッキングすることが可能である。ロボット100が実施するミッションは、実装形態によって変化することが可能である。ロボット100は、クリーニングミッションを実施することが可能であり、クリーニングミッションでは、ロボット100は、環境の横断可能な部分をクリーニングする。クリーニングミッションの開始時に、ロボット100は、ドッキングステーション50から離れ、次いで、環境の横断可能な部分をカバーしてクリーニングするために、行動の組み合わせを実施するように進行することが可能である。ロボット100は、クリーニングミッションの間に特定の行動を開始させ、ロボット100が環境の横断可能な部分の全体を実質的にカバーすることを保証することが可能である(たとえば、本開示において説明されているカバレッジ行動およびフォロー行動など)。また、ロボット100は、環境の中の特定の特徴を検出するロボット100のセンサーシステムに応答して、特定の行動を開始させることが可能である。これらの行動は、環境の横断可能な部分をカバーするためにロボット100によって実施されるカバレッジ行動およびフォロー行動の一部として実施され得る。たとえば、ロボット100がカバレッジ行動またはフォロー行動の間に障害物に遭遇する場合には、ロボット100は、本開示において説明されているような回避行動を実施し、障害物を回避することが可能である。また、ロボット100は、本開示において説明されている方法にしたがって、環境の中に定義された行動制御ゾーンに遭遇することに応答して、特定の行動を開始させることが可能である。
【0086】
いくつかの実装形態において、ロボット100は、センサーデータを収集し、環境のマップを構築するのに十分なマッピングデータを発生させる。いくつかの実装形態において、クリーニングミッションを実施することができることに加えて、ロボット100は、トレーニングまたはマッピングミッションを実施することが可能であり、そこでは、ロボット100は、センサーデータを収集し、マッピングデータを発生させ、環境のマップを構築する。トレーニングミッションの間に、ロボット100は、ロボット100のクリーニングシステムを活性化させることなく、たとえば、ロボット100のクリーニングアッセンブリ116またはバキュームシステム119を活性化させることなく、環境を動き回る。また、マッピングミッションの間に、ロボット100は、クリーニングミッションの間にロボット100が移動する平均移動速度よりも速い平均移動速度で移動することが可能である。したがって、トレーニングミッションは、(たとえば、ロボット100のクリーニングシステムによって作り出される)より少ない騒音を作り出しながら、および、より迅速に環境を動き回りながら、ロボット100がセンサーデータを収集すること、および、環境のマップを構築するのに十分なマッピングデータを発生させることを可能にすることができる。
【0087】
例示的な通信ネットワーク
図4を参照すると、例示的な通信ネットワーク185が示されている。通信ネットワーク185のノードは、ロボット100、ユーザーコンピューティングデバイス188、自律型移動ロボット190、およびリモートコンピューティングシステム192を含む。通信ネットワーク185を使用して、ロボット100、ユーザーコンピューティングデバイス188、ロボット190、およびリモートコンピューティングシステム192は、互いに通信し、互いにデータを送信し、互いからデータを受信することが可能である。いくつかの実装形態において、ロボット100、ロボット190、または、ロボット100およびロボット190の両方は、リモートコンピューティングシステム192を通してユーザーコンピューティングデバイス188と通信する。代替的にまたは追加的に、ロボット100、ロボット190、または、ロボット100およびロボット190の両方は、ユーザーコンピューティングデバイス188と直接的に通信する。ワイヤレスネットワーク(たとえば、Bluetooth、ラジオ周波数、光学ベースのものなど)およびネットワークアーキテクチャー(たとえば、メッシュネットワーク)のさまざまなタイプおよび組み合わせは、通信ネットワーク185によって用いられ得る。
【0088】
いくつかの実装形態において、
図4に示されているようなユーザーコンピューティングデバイス188は、リモートデバイスであり、リモートデバイスは、リモートコンピューティングシステム192にリンク接続され得、リモートデバイスは、ユーザー30がユーザーコンピューティングデバイス188の上に入力を提供することを可能にすることができる。ユーザーコンピューティングデバイス188は、ユーザー入力エレメント(たとえば、ユーザー30によって提供される入力に応答するタッチスクリーンディスプレイ、ボタン、マイクロホン、マウス、キーボード、または、他のデバイスのうちの1つまたは複数など)を含むことが可能である。ユーザーコンピューティングデバイス188は、代替的にまたは追加的に、没入型メディア(たとえば、仮想現実)を含み、ユーザー30は、没入型メディアと相互作用し、ユーザー入力を提供する。これらのケースでは、ユーザーコンピューティングデバイス188は、たとえば、仮想現実ヘッドセットまたはヘッドマウントディスプレイである。ユーザーは、モバイルロボット100のためのコマンドに対応する入力を提供することが可能である。そのようなケースでは、ユーザーコンピューティングデバイス188は、信号をリモートコンピューティングシステム192に送信し、リモートコンピューティングシステム192がコマンド信号をモバイルロボット100に送信することを引き起こす。いくつかの実装形態において、ユーザーコンピューティングデバイス188は、拡張現実イメージを提示することが可能である。いくつかの実装形態において、ユーザーコンピューティングデバイス188は、スマートフォン、ラップトップコンピューターコンピューター、タブレットコンピューティングデバイス、または、他のモバイルデバイスである。
【0089】
いくつかの実装形態において、通信ネットワーク185は、追加的なノードを含むことが可能である。たとえば、通信ネットワーク185のノードは、追加的なロボットを含むことが可能である。代替的にまたは追加的に、通信ネットワーク185のノードは、ネットワーク接続されたデバイスを含むことが可能である。いくつかの実装形態において、ネットワーク接続されたデバイスは、環境についての情報を発生させることが可能である。ネットワーク接続されたデバイスは、環境の中の特徴を検出するための1つまたは複数のセンサーを含むことが可能である(たとえば、特徴がそれから抽出され得る信号を発生させる音響センサー、イメージキャプチャーシステム、または他のセンサーなど)。ネットワーク接続されたデバイスは、家庭用カメラおよびスマートセンサーなどを含むことが可能である。
【0090】
図4に示されている通信ネットワーク185において、および、通信ネットワーク185の他の実装形態において、ワイヤレスリンクは、さまざまな通信スキーム、プロトコルなどを利用することが可能である(たとえば、Bluetoothクラス、Wi-Fi、Bluetooth-low-energy(BLEとしても知られる)、802.15.4、Worldwide Interoperability for Microwave Access(WiMAX)、赤外線チャネル、または衛星バンドなど)。いくつかのケースでは、ワイヤレスリンクは、モバイルデバイスの間で通信するために使用される任意のセルラーネットワーク標準を含む(1G、2G、3G、4G、または5Gとして認定される標準を含むが、それに限定されない)。ネットワーク標準は、利用される場合には、たとえば、仕様または標準(たとえば、International Telecommunication Unionによって維持される仕様など)を満たすことによって、モバイル電気通信標準の1つまたは複数の世代として認定する。3G標準は、利用される場合には、たとえば、International Mobile Telecommunications-2000(IMT-2000)仕様に対応しており、4G標準は、International Mobile Telecommunications Advanced(IMT-Advanced)仕様に対応することが可能である。セルラーネットワーク標準の例は、AMPS、GSM、GPRS、UMTS、LTE、LTE Advanced、Mobile WiMAX、およびWiMAX-Advancedを含む。セルラーネットワーク標準は、さまざまなチャネルアクセス方法(たとえば、FDMA、TDMA、CDMA、またはSDMA)を使用することが可能である。
【0091】
例示的なプロセス
ロボット100は、本開示において説明されているプロセスにしたがって特定の様式で制御され、環境における特定の行動制御ゾーンを定義し、確立し、および優先することが可能である。本開示において説明されているプロセスは例示的なものである。これらのプロセスのいくつかの動作は、ロボット100によって、ユーザーによって、コンピューティングデバイスによって、または、別のアクターによって実施されるように説明され得るが、これらの動作は、いくつかの実装形態において、説明されているもの以外のアクターによって実施され得る。たとえば、ロボット100によって実施される動作は、いくつかの実装形態において、リモートコンピューティングシステム192によって、別のコンピューティングデバイスによって、または、複数のコンピューティングデバイスの組み合わせによって実施され得る。ユーザー30によって実施される動作は、コンピューティングデバイスによって、または、複数のコンピューティングデバイスの組み合わせによって実施され得る。いくつかの実装形態において、リモートコンピューティングシステム192は、動作を実施しない。むしろ、他のコンピューティングデバイスが、リモートコンピューティングシステム192によって実施されるように説明されている動作を実施し、これらのコンピューティングデバイスは、互いにおよびロボット100と直接的に(または、間接的に)通信していることが可能である。そして、いくつかの実装形態において、ロボット100は、ロボット100によって実施されるように説明されている動作に加えて、リモートコンピューティングシステム192またはユーザーコンピューティングデバイス188によって実施されるように説明されている動作を実施することが可能である。他の変形例も可能である。そのうえ、本明細書で説明されている方法、プロセス、および動作は、特定の動作またはサブ動作を含むように説明されているが、他の実装形態において、これらの動作もしくはサブ動作のうちの1つもしくは複数が省略され得、または、追加的な動作もしくはサブ動作が追加され得る。
【0092】
行動制御ゾーンは、自律型移動ロボットの位置に基づいて、環境における1つまたは複数の自律型移動ロボットの行動を制御するために使用される。行動制御ゾーンは、部屋の中の領域を示すことが可能であり、そこでは、自律型移動ロボットが、その領域の中にいることに応答して特定の様式で動作する。たとえば、そのような動作は、ロボット100がその領域の中にいる間に、ロボット100の特定の行動を制御することを含むことが可能である(たとえば、ロボット100がその領域の中にいる間に特定の行動を開始させること、および/または、ロボット100がその領域の中にいる間に特定の行動を無効にすることなど)。行動制御ゾーンによって制御される行動は、実装形態において変化することが可能である。
【0093】
ロボット100が環境を動き回るときに、行動制御ゾーンがない場合、ロボット100は、環境を効率的に動き周り、環境をクリーニングするために、異なる行動を開始させることが可能である。行動は、ロボット100の移動を制御することが可能である。たとえば、ロボット100は、カバレッジ行動を開始させ、環境を動き回り、環境における表面積を効率的にカバーすることが可能である。カバレッジ行動は、フロア表面を横切ってコーンロー式に移動することを含むことが可能である。ロボット100がカバレッジ行動において環境を動き回るとき、ロボット100は、環境における障害物を検出することに応答して、フォロー行動を開始させることが可能である。フォロー行動において、ロボット100は、障害物によって画定される縁部に沿って移動する。フォロー行動は、ロボット100が縁部に沿ってクリーニングすることを可能にする。また、ロボット100は、カバレッジ行動を実施した後に、フォロー行動を開始させることも可能である。ロボット100は、カバレッジ行動を実施した後に実施されるフォロー行動において、部屋の外側周囲に沿ってクリーニングすることが可能である。
【0094】
また、移動行動は、ロボット100が障害物フィールドにおいて動けなくなることを回避することを助ける行動に対応することが可能である。移動行動は、脱出行動に対応することが可能であり、脱出行動では、ロボット100は、1つまたは複数の小さい移動を実施し、障害物のフィールドの中で動けなくなることを回避するようにターンする。移動行動は、回避行動に対応することが可能であり、回避行動では、ロボット100は、環境における特定の領域を回避する。その理由は、たとえば、ロボット100のドライブシステムまたはクリーニングシステムの動作を妨げる可能性のある横断不可能な障害物または物体を、その領域が含有するからである。回避行動は、たとえば、ラグライドアップ行動であることが可能であり、ラグライドアップ行動は、ライドアップしている物体(たとえば、エリアラグなど)の上方にロボット100が移動していることをロボット100が検出することに応答してトリガーされる。たとえば、ロボット100は、ロボット100の運動センサーがロボット100の加速度の変化を検出することに応答して、ラグライドアップ行動を開始させることが可能である。その変化は、閾値レベルを上回るロボット100のピッチおよび/またはロールの変化であることが可能である。
【0095】
行動は、代替的に、ロボットのクリーニング動作を制御することが可能である。そのような行動は、より汚いエリアにおいてロボットがデブリを収集することを助けることが可能である。たとえば、行動は、クリーニング動作に関連付けられるパラメーターを制御し、ロボットのデブリピックアップ容量を改善することが可能である。パラメーターは、ロボット100のバキュームシステム119の吸引パワー、ロボット100の移動速度、ブラシ126の回転速度、回転可能な部材118の回転速度、または、ロボット100の移動パターンであることが可能である。ロボットは、フロア表面の上のデブリを検出することに応答して、または、ロボットによるデブリ収集の特定のレートを検出することに応答して、行動を開始させることが可能である。代替的に、行動は、ロボット100(たとえば、ロボット100のバキュームシステム119、ブラシ126、または回転可能な部材118など)の特定のクリーニング動作を無効にすることが可能である。この行動は、ロボット100が環境における特定の領域を通過するときに、ロボット100のバキュームシステム119によって作り出される騒音を低減させるために使用され得、または、ロボット100が環境における領域を通って移動するときに、ブラシ126または回転可能な部材118がその領域の中の物体に絡まる可能性を低減させるために使用され得る。
【0096】
行動制御ゾーンは、ロボットの場所に基づいて、ロボットの特定の行動をトリガーするかまたは無効にするために使用され得る。たとえば、行動が移動行動である場合には、行動制御ゾーンは、ロボット100が移動行動(たとえば、ライドアップ行動、脱出行動、回避行動、またはフォロー行動など)を開始させるかまたは無効にすることを引き起こすことが可能である。
【0097】
移動行動が脱出行動であり、行動制御ゾーンが、ロボットが脱出行動を開始させることを引き起こす場合には、行動制御ゾーンに進入することまたは遭遇することは、ロボット100が障害物の近くにあるということを示すことが可能であり、障害物は、ロボット100が動けなくなることを引き起こす可能性がある。ロボット100は、行動制御ゾーンの付近にある特定の障害物によって動けなくなることを回避する様式で移動を開始させることが可能である。移動行動が回避行動であり、行動制御ゾーンが、ロボットが回避行動を開始させることを引き起こす場合には、行動制御ゾーンは、キープアウトゾーンである。ロボット100は、行動制御ゾーンの内部の中へ進入することを回避する様式で移動することが可能である。そのような移動は、行動制御ゾーンに対して反転すること、および、次いで、行動制御ゾーンから離れるように移動することを含むことが可能である。移動行動がフォロー行動であり、行動制御ゾーンが、ロボットがフォロー行動を開始させることを引き起こす場合には、ロボット100は、行動制御ゾーンの内部の中へ進入することなく、行動制御ゾーンの周囲に沿って追従することが可能である。
【0098】
いくつかの実装形態において、行動制御ゾーンによって制御される行動は、ロボット100のクリーニングプロセスのパラメーターであることが可能である。行動制御ゾーンは、たとえば、集中的なクリーンゾーンであることが可能である。パラメーターは、ロボット100のバキュームシステム119の吸引パワー、ロボット100の移動速度、ブラシ126の回転速度、回転可能な部材118の回転速度、または、ロボット100の移動パターンであることが可能である。吸引パワーは、集中的なクリーン行動において増加させられ得、ロボット100の移動速度は減少させられ得、および/または、ロボット100の移動パターンは、行動制御ゾーンによってカバーされる領域の上を複数回(たとえば、2回、3回、または、それ以上)通るように調節され得る。行動は、集中的なクリーン行動に対応することが可能であり、集中的なクリーン行動では、ロボット100は、行動制御ゾーンによってカバーされた領域の集中的なクリーンを実施する。集中的なクリーンを実施するために、行動制御ゾーンは、ロボット100がロボット100のクリーニングプロセスのパラメーターを調節することを引き起こす。
【0099】
行動制御ゾーンのタイプは、実装形態において変化することが可能である。いくつかの実装形態において、行動制御ゾーンは、キープアウトゾーンであり、キープアウトゾーンは、キープアウトゾーンに進入することを回避するための移動行動をロボット100が実施することを引き起こす。いくつかの実装形態において、行動制御ゾーンは、クワイエットゾーンであることが可能であり、クワイエットゾーンでは、ロボット100がクワイエット行動を開始させ、クワイエット行動は、移動行動を開始させること、および、ロボット100のクリーニングパラメーターの変化を開始させることを含むことが可能である。クワイエット行動では、ロボット100の特定のシステムが、非活性化させられるか、または、低出力で活性化させられ、ロボット100がクワイエットゾーンを通って移動するときに、ロボット100によって作り出される騒音を低減させる。ロボット100のバキュームシステムのモーター、および/または、ロボット100の回転可能な部材のモーターは、非活性化させられるかまたは低出力で稼働されることが可能である。ロボット100のドライブシステムのモーターは、低出力で稼働され得、それによって、行動制御ゾーンによってカバーされていない環境のエリアをロボット100が横断することとなるときよりもゆっくりと、ロボット100がクワイエットゾーンを横断することを引き起こす。
【0100】
いくつかの実装形態において、行動制御ゾーンは、クリーンゾーンであり、クリーンゾーンでは、ロボット100は、行動制御ゾーンに遭遇することに応答して、行動制御ゾーンによってカバーされる領域をクリーニングすることに自分自身を制限する。たとえば、ロボット100は、行動制御ゾーンに遭遇することに応答して、その移動を行動制御ゾーンの中に制限する様式で移動することが可能である。行動制御ゾーンの中の領域をカバーした後にのみ、ロボット100は、環境の他の部分をクリーニングすることを継続する。いくつかの実装形態において、行動制御ゾーンは、集中的なクリーンゾーンであり、集中的なクリーンゾーンでは、ロボット100は、行動制御ゾーンによってカバーされる領域をクリーニングすることに自分自身を制限し、また、ロボット100のクリーニングパラメーターを変化させ、ロボット100が集中的なクリーンゾーンにおいて集中的なクリーン行動を実施することを可能にする(たとえば、領域の上を複数回通る、バキュームパワーを増加させる、ロボットの移動速度を減少させるなど)。集中的なクリーンゾーンは、マルチパスゾーン、ダブルパスゾーン、トリプルパスゾーンなどであることが可能である。
【0101】
いくつかの実装形態において、行動制御ゾーンは、警戒ゾーンであり、警戒ゾーンでは、ロボット100は、潜在的な障害物を回避するために、ロボット100のシステムを警戒行動で動作させる。警戒ゾーンは、ロボット100によって以前に検出された障害物の近くのエリアをカバーすることが可能である。たとえば、潜在的な障害物が、フロア表面を横切るロボット100の移動を制限する障害物である場合には、ロボット100は、ロボット100が、そのセンサーシステムを使用して、警戒ゾーンの生成をトリガーした障害物を検出する前に、警戒ゾーンにおけるその移動を低減させることが可能である。代替的に、障害物は、ロボット100の回転可能な部材、サイドブラシ、またはドライブホイールに容易に絡まる可能性のある障害物であることが可能である。そのような例では、警戒ゾーンは、ロボット100がそのドライブホイール、その回転可能な部材、または、そのサイドブラシの速度を低減させることを引き起こすことが可能である。警戒ゾーンのサイズは、警戒ゾーンに関連付けられるコンピューター選択されたまたはユーザー選択された障害物回避感度に対応することが可能である。警戒行動、警戒ゾーン、および障害物回避感度の例は、2019年9月30日に出願された「Image Capture Devices for Autonomous Mobile Robots and Related Systems and Methods」という標題の米国特許出願第16/588,295号に説明されており、その全体は、参照により本開示に組み込まれている。
【0102】
複数のタイプの自律型移動ロボットが環境において動作する実装形態では、行動制御ゾーンは、ロボットのそれぞれが行動制御ゾーンにおいてどの動作を実施することができるかを制限することが可能である。たとえば、ロボット掃除機およびロボットモップの両方が環境において動作する場合には、行動制御ゾーンは、ロボット掃除機またはロボットモップのうちの一方のみが行動制御ゾーンに遭遇することに応答するように定義され得る。代替的にまたは追加的に、行動制御ゾーンは、ロボット掃除機およびロボットモップの両方が行動制御ゾーンに応答することを引き起こすことが可能である。行動制御ゾーンは、混合されたタイプの行動制御ゾーンであることが可能であり、混合されたタイプの行動制御ゾーンでは、ロボット掃除機のための行動制御ゾーンのタイプは、ロボットモップのための行動制御ゾーンのタイプと異なっている。たとえば、行動制御ゾーンがラグをカバーする実装形態では、行動制御ゾーンは、ロボットモップのためのキープアウトゾーンであることが可能であり、また、ロボット掃除機のためのクリーンゾーンであることが可能である。
【0103】
本開示に議論されているように、行動制御ゾーンは定義され得、次いで、優先順位に関連付けられ得る。
図5、
図6A~
図6B、
図7~
図9、および
図10A~
図10Dは、行動制御ゾーンを定義する例示的な方法を図示している。
図5は、行動制御ゾーンを定義するための例示的な方法のフローチャートを図示している。自律型移動ロボット(たとえば、
図1に示されているロボット100)によって収集されたセンサーデータは、推奨行動制御ゾーンを提供するために使用され得、ユーザーは、推奨行動制御ゾーンを受け入れるかまたは修正し、ロボット100の行動を制御するための行動制御ゾーンを定義することが可能である。この方法は、本明細書で説明されているロボット100の制御に対して説明されている。他の実装形態において、他のタイプの自律型移動ロボットは、
図5に示されている方法の実装形態にしたがって行動制御ゾーンを定義することによって制御され得る。
【0104】
図5を参照すると、プロセス200は、動作202、204、および206を含む。プロセス200は、ロボット100(または、環境において動作する他の自律型移動ロボット)の行動を制御するための行動制御ゾーンを定義するために使用される。とりわけ、ロボット100が行動制御ゾーンに遭遇するときに、ロボット100は、遭遇に応答して特定の行動を開始させることが可能である。ロボット100は、行動制御ゾーンの特定の距離の中にあるときに、または、行動制御ゾーンに進入するときに、行動制御ゾーンに遭遇することが可能である。
【0105】
センサーイベントのサブセットは、行動制御ゾーンをユーザーに推奨するための候補として識別され得る。たとえば、動作202において、センサーイベントのサブセットは、センサーイベントの場所に基づいて識別される。センサーイベントのサブセットが識別される前に、ロボット100は、ロボット100が環境を動き回るときにセンサーデータを収集することが可能である。これらのセンサーデータは、センサーイベントおよびセンサーイベントに関連付けられる場所を示すことが可能である。
【0106】
センサーイベントは、ロボット100のセンサーシステムの1つまたは複数のセンサーがトリガーされるときに起こることが可能である。環境特徴が、センサーイベントに関連付けられ得る。センサーイベントの場所は、センサーイベントが起こるときにロボット100の場所に対応することが可能であり、または、センサーイベントが発生したロボット100のセンサーによって検出される特徴の場所に対応することが可能である。
【0107】
センサーイベントのサブセットに関連付けられ、ロボット100のセンサーによって検出される特徴は、実装形態において変化することが可能である。たとえば、ロボット100のセンサーによって検出される特徴は、環境における物体に対応することが可能である。物体は、障害物であることが可能である。そのような例では、センサーイベントは、障害物検出イベントであり、障害物検出イベントでは、ロボット100の1つまたは複数のセンサーがトリガーされる。障害物は、フロア表面10の上の横断不可能なスペース、すなわち、ロボット100が物体の存在に起因して横切って移動することができないフロア表面10の一部分を定義することが可能である。障害物は、たとえば、ロボット100の移動を妨害する可能性のある環境における固定具、壁、クリフ、コード、または、他のタイプの静止物体もしくは可動物体であることが可能である。いくつかの実装形態において、ロボット100のセンサーによって検出される特徴は、環境において1つまたは複数の物体によって定義される横断可能なスペースの幾何学形状に対応することが可能である。たとえば、環境における壁および他の物体は、横断可能なスペースの幅の狭い通路を定義することが可能である(たとえば、ロボット100の幅の1倍から3倍の幅を有する)。センサーイベントは、ロボット100の横断可能なスペースの通路の存在を検出することに基づいて起こることが可能である。いくつかの実装形態において、障害物は、ロボット100の動作を妨害する可能性のあるフロア表面10の上の特徴であることが可能である。たとえば、障害物は、ロボット100のホイール、ブラシ、または回転可能な部材に巻き込まれる可能性がある。障害物は、ロボット100の回転部材に巻き付く可能性のあるコード、衣料品、または、他の物体であることが可能である。
【0108】
いくつかの実装形態において、ロボット100のセンサーによって検出される特徴は、フロア表面10の上のデブリに対応することが可能である。たとえば、特徴は、フロア表面10の上に検出されるデブリ、または、ロボット100によって取り込まれるデブリに対応することが可能である。センサーイベントのサブセットは、デブリ検出イベントであることが可能であり、デブリ検出イベントでは、ロボット100は、フロア表面10の上のデブリを検出するか、または、ロボット100によって取り込まれるデブリを検出する。
【0109】
いくつかの実装形態において、特徴は、デブリに関連付けられる環境における物体に対応することが可能である。たとえば、物体は、ダイニングルームテーブルであることが可能である。センサーイベントは、ダイニングルームテーブルを検出する、ロボット100の1つまたは複数のセンサーに対応することが可能である。デブリは、特定の他の物体と比較してダイニングルームテーブルの周りにより頻繁に落下される可能性があるので、ダイニングルームテーブルの検出は、行動制御ゾーンを定義する目的のために、センサーイベントをトリガーすることが可能である。行動制御ゾーンは、ロボット100がダイニングルームテーブルの周りの付近でデブリを検出しない場合にも推奨され得る。他の物体も、頻繁なデブリ落下に関連付けられ得る。たとえば、物体は、ドアマット、ドア、キッチンアイランド、ダイニングルームテーブル、ゴミ箱、窓、ペットホーム、キャビネット、または、デブリの増加に関連付けられる環境における別の特徴物体であることが可能である。
【0110】
デブリに関連付けられる環境における物体に特徴が対応することができる例では、この特徴は、環境における1つまたは他の文脈的な特徴と組み合わせて、行動制御ゾーンを定義するための推奨のための基礎として機能することが可能である。特徴だけでは、デブリに関連付けられない可能性がある。たとえば、物体は、テーブルであることが可能であり、テーブルは、それ自体では、必ずしもデブリに関連付けられるとは限らない可能性がある。テーブルは、オフィステーブル、エンドテーブル、または、デブリが典型的に落下されない何らかの他のテーブルであることが可能である。1つまたは複数の文脈的な特徴は、テーブルが典型的にデブリに関連付けられるタイプのテーブル(たとえば、ダイニングテーブルまたはコーヒーテーブルなど)であるということを示すことが可能である。1つまたは複数の文脈的な特徴は、部屋のタイプを示すことが可能であり、そして、それは、テーブルのタイプを示すことが可能である。1つまたは複数の文脈的な特徴は、テーブルに近接した物体に対応することが可能であり、それは、テーブルのタイプまたは部屋のタイプを示す。代替的に、1つまたは複数の文脈的な特徴は、部屋の壁の上の特徴であることが可能であり、それは、部屋のタイプを示す。
【0111】
他の特徴は、ロボット100によって検出され得、センサーイベントをトリガーすることが可能である。たとえば、センサーイベントをトリガーするためにロボット100のセンサーによって検出される特徴は、フロア表面タイプまたは部屋タイプであることが可能である。
【0112】
いくつかの実装形態において、センサーイベントは、エラーイベントであり、エラーイベントでは、ロボット100に関連付けられるエラーは、ロボット100がフロア表面10を動き回るときにトリガーされる。そのようなエラーイベントに応答して、ロボット100は、ミッションの間に移動を停止することが可能である。いくつかの実装形態において、エラーイベントは、ホイール落下イベントを含み、ホイール落下イベントでは、ロボット100のドライブホイール112のうちの1つまたは複数が、閾値距離を超えてロボットから延在する。ホイール落下イベントは、ロボット100のホイール落下センサーによって検出され得る。いくつかの実装形態において、エラーイベントは、ホイールスリップイベントを含み、ホイールスリップイベントでは、ロボット100のドライブホイール112のうちの1つまたは複数が、ロボット100が横切って移動するフロア表面10との静止摩擦を喪失する。ホイールスリップイベントは、ロボット100のセンサー(たとえば、ロボット100のエンコーダー、オドメーター、または、他の移動センサーなど)のうちの1つまたは複数によって検出され得る。いくつかの実装形態において、エラーイベントは、ウェッジイベントを含み、ウェッジイベントでは、ロボット100が、ロボット100の上方の環境における障害物とフロア表面10との間に挟まれる。ウェッジイベントは、ロボット100のバンプセンサーまたはロボット100のイメージキャプチャーデバイス140によって検出され得る。いくつかの実装形態において、エラーイベントは、ロボットスタックイベントを含み、ロボットスタックイベントでは、ロボット100が、環境における領域の中へ移動し、その領域から退出することができない。たとえば、領域の横断可能な部分は、ロボット100が領域から退出することを困難にする制約された寸法を有することが可能である。いくつかの実装形態において、エラーイベントは、ブラシストールイベントを含み、ブラシストールイベントでは、ブラシ126または回転可能な部材118が回転することができない。ブラシストールイベントは、ブラシ126を駆動するモーターまたは回転可能な部材118を駆動するモーターに関連付けられるエンコーダーによって検出され得る。
【0113】
いくつかの実装形態において、
図15に関して本開示において議論されているように、センサーイベントは、ロボット100がフロア表面の一部分を横断することを可能にするように無効にされるべき行動を示すことが可能である。行動は、1つまたは複数のセンサーイベントによってトリガーされ得る。たとえば、行動は、たとえば、フロア表面の上方の障害物を回避するための、または、クリフもしくは落差を回避するための、障害物回避行動であることが可能である。たとえば、障害物回避行動は、クリフ回避行動またはラグライドアップ行動であることが可能である。障害物回避行動は、典型的に、ロボット100がより少ないエラーで環境をナビゲートして回ることを可能にする。いくつかの実装形態において、障害物回避行動は、ロボット100のための横断不可能な障害物を構成しないフロア表面の上の特徴によってトリガーされ得る。たとえば、表面特徴は、クリフ回避行動をトリガーすることとなるフロア表面の暗い色のエリアであるか、または、ラグライドアップ行動をトリガーすることとなるフロア表面の一部分に沿って延在する隆起であることが可能である。暗い色のエリアおよび隆起の両方は、ロボット100によって横断可能である。隆起は、環境の2つの領域の間の(たとえば、環境における2つの部屋の間の)境界部であることが可能である。
図15に関して本開示において議論されているように、クリフ回避行動またはラグライドアップ行動を無効にする行動制御ゾーンは、ロボット100がフロア表面のこれらの部分を横断することを可能にするように確立され得る。
【0114】
行動制御ゾーンを推奨するための基礎として使用され得るセンサーイベントのセットは、障害物回避行動をトリガーする特定のセンサーイベント、および、フロア表面の一部分が横断可能であることを示す1つまたは複数のセンサーイベントを含むことが可能である。たとえば、1つまたは複数のセンサーイベントは、フロア表面の一部分に隣接する横断可能なフロア表面部分を示すマッピングデータを含むことが可能である。横断可能なフロア表面部分は、フロア表面の一部分が横断可能であることを示すことが可能である。たとえば、フロア表面の一部分が、フロア表面に沿って延在する隆起を含む場合には、第1の隣接部分は、隆起の一方の長さ方向の側にあることが可能であり、第2の隣接部分は、隆起の他方の長さ方向の側にあることが可能である。代替的に、1つまたは複数のセンサーイベントは、フロア表面の一部分の周りのフロア表面の周囲部分のパーセントが、閾値パーセントを上回る(たとえば、少なくとも55%、60%、65%、70%、75%、または、それ以上)ということを示すマッピングデータに対応することが可能である。無効にされることとなる行動がラグライドアップ行動であるいくつかの実装形態において、1つまたは複数のセンサーイベントは、フロア表面の一部分の周りのフロアタイプがたとえばラグまたはカーペットではないということを示すフロアタイプデータに対応することが可能である。無効にされることとなる行動がクリフ回避行動であるいくつかの実装形態において、1つまたは複数のセンサーイベントは、フロア表面の一部分が落差またはクリフではないということを示すイメージデータに対応することが可能である。
【0115】
たとえば、ロボット100がバンプセンサーを含む場合には、センサーイベントは、バンプセンサーがトリガーされるときに起こることが可能である。センサーイベントの場所は、バンプセンサーがトリガーされるときのロボット100の場所に対応することが可能であり、または、ロボット100とバンプセンサーをトリガーする環境における物体との間の接触の場所に対応することが可能である。さらなる例では、ロボット100がイメージキャプチャーデバイス140を含む場合には、センサーイベントは、環境における特定の物体を含有する画像をイメージキャプチャーデバイス140がキャプチャーするときに起こることが可能である。物体は、ロボット100がナビゲーションの間に接触することができる環境における障害物であることが可能である。センサーイベントの場所は、イメージキャプチャーデバイス140が物体を検出するときのロボット100の場所に対応することが可能である。代替的に、センサーイベントの場所は、検出された物体の推定された場所に対応することが可能である。イメージキャプチャーデバイス140によってキャプチャーされる画像は、ロボット100に対する物体の位置を決定するために分析され得、環境の中の物体の場所が推定され得るようになっている。センサーイベントは、ロボット100の他のセンサーが同様にトリガーされるときにも起こることが可能である。たとえば、センサーイベントは、近接センサー136a、136b、136c、クリフセンサー134、障害物追従センサー141、光学マウスセンサー、エンコーダー、ブラシモーターコントローラー、ホイールモーターコントローラー、ホイール落下センサー、オドメーター、または、センサーシステムの他のセンサーによって実施されるセンシングに基づいて起こることが可能である。
【0116】
いくつかの実装形態において、複数のセンサーが、センサーイベントに関与することが可能である。たとえば、近接センサー136a、136b、136cのうちの1つは、環境における障害物を検出することが可能であり、イメージキャプチャーデバイス140も、同じ障害物を検出することが可能である。近接センサーおよびイメージキャプチャーデバイス140からのデータの組み合わせは、センサーイベントが起こったということを示すことが可能である。センサーイベントの場所は、近接センサーおよびイメージキャプチャーデバイス140からのデータの組み合わせに基づいて決定され得る。本明細書で説明されているセンサーの他の組み合わせが、センサーイベントの基礎として使用され得る。
【0117】
動作202において、行動制御ゾーンを推奨するために使用されるサブセットの一部であると考えられるセンサーイベントを識別するための基準は、実装形態において変化することが可能である。
図6A、
図6B、および
図7は、プロセス200にしたがって行動制御ゾーンを推奨するための基準を満たすセンサーイベントのサブセットの例を図示している。
【0118】
図6Aを参照すると、センサーイベント212が起こった環境210が図示されている。行動制御ゾーンを推奨するためのセンサーイベント212のサブセットを識別するために、センサーイベント212の場所が決定される。
図6Aは、環境210の中のこれらのセンサーイベント212の場所の概略図である。センサーイベント212のサブセットは、サブセットの中のセンサーイベント212のうちの2つ以上の間の距離に基づいて識別される。いくつかの実装形態において、センサーイベント212は、センサーイベント212が閾値距離214以下しか互いに離れていない場合には、行動制御ゾーンを推奨するための基礎としての役割を果たすことができるサブセットの中にあると考えられる。図示の目的のために、センサーイベント212のうちの1つのみ(「X」字形状のマークとして表されている)、および、閾値距離214のうちの1つのみが、ラベル付けされている(破線の円形として表されている)。
【0119】
行動制御ゾーンを推奨するためのセンサーイベント212のサブセットを識別するための基準は、実装形態において変化することが可能である。いくつかの実装形態において、1つの基準のみが、センサーイベントのサブセットを識別するために使用される。基準は、閾値距離基準、閾値量基準、または、他の適当な基準であることが可能である。いくつかの実装形態において、複数の基準(たとえば、2つ以上の基準)が、センサーイベントのサブセットを識別するために使用される。
【0120】
図6Aに示されている例では、センサーイベント212のクラスター216は、閾値距離基準を満足している。とりわけ、クラスター216の中のそれぞれのセンサーイベント212は、クラスター216の中の少なくとも1つの他のセンサーイベント212から閾値距離214以下にある。また、センサーイベント212のクラスター218が、閾値距離基準を満足している。その理由は、クラスター218の中のセンサーイベント212が閾値距離214以下しか互いに離れていないからである。センサーイベント212のクラスター220は、閾値距離基準を満足していない。クラスター220の中のセンサーイベント212は、閾値距離214よりも多くの距離だけ、互いから間隔を離して配置されている。
【0121】
いくつかの実装形態において、センサーイベント212のクラスター216は、閾値量基準を満足している。たとえば、いくつかの実装形態において、閾値量基準は、クラスターがセンサーイベントの閾値量で含有することを要求する。たとえば、閾値量は、3つのセンサーイベント212であることが可能である。他の実装形態において、閾値量は、4つの、5つの、6つの、または、それ以上のセンサーイベントである。クラスター216は、3つのセンサーイベント212を含み、したがって、クラスターが少なくとも3つのセンサーイベント212を含有することを要求する基準を満足している。クラスター218は2つのセンサーイベントのみを含有しているので、クラスター218は、閾値量基準を満足していない。クラスター220が3つのセンサーイベントを含有しているので、クラスター220は、センサーイベント量基準を満足している。
【0122】
図6Bを参照すると、クラスター216のみが閾値距離基準および閾値量基準の両方を満足しているので、センサーイベント212のクラスター216のみが、行動制御ゾーン222を推奨するために使用される。クラスター218およびクラスター220は、両方のこれらの基準を満足しておらず、したがって、行動制御ゾーンを推奨するために使用されない。
【0123】
行動制御ゾーンを推奨するために使用される基準は、他の実装形態においても同様に変化することが可能である。
図7を参照すると、センサーイベント232(実線の「X」字形状のマークとして表されている)、センサーイベント234(破線の「X」字形状のマークとして表されている)、およびセンサーイベント236(円形のマークとして表されている)が、環境230においてトリガーされる。2つのタイプのセンサーイベントが起こり、センサーイベント232およびセンサーイベント234は、第1のタイプのものであり、センサーイベント236は、第2のタイプのものである。たとえば、第1のタイプは、障害物検出センサーイベントであることが可能であり、第2のタイプは、デブリ検出センサーイベントであることが可能である。センサーイベント232およびセンサーイベント234は、それらが起こる順序において異なっている。センサーイベント234は、センサーイベント232の前に起こる。たとえば、センサーイベント234は、自律型移動ロボットの第1のミッションにおいてトリガーされ、第2のイベント232は、自律型移動ロボットの第2のミッションにおいてトリガーされる。第1のミッションは、第2のミッションに先行する、より早いミッションである。
【0124】
環境において、センサーイベントのクラスター241~249が識別される。クラスター241~249は、1つのタイプのセンサーイベント、または、両方のタイプのセンサーイベントを含むことが可能である。
【0125】
行動制御ゾーンを推奨するために使用されるサブセットの一部であると考えられるセンサーイベント232、234、236を選択するための基準は、
図6Aおよび
図6Bに関して説明されている基準のうちの1つまたは複数を含むことが可能である。いくつかの実装形態において、追加的なまたは代替的な基準が使用され得る。たとえば、他の基準は、ドック近接閾値基準を含むことが可能である。
図7に示されている例では、センサーイベント232のクラスター241は、閾値距離基準および閾値量基準を満足している。しかし、クラスター241は、ドック近接閾値基準を満足していない。クラスター241の場所は、自律型移動ロボットのためのドッキングステーション250の場所から閾値距離以下の距離に位置決めされている。クラスター241の場所は、クラスター241の中のセンサーイベント232の場所の任意の1つに対応することが可能であり、または、クラスター241の中のセンサーイベント232の場所に基づいてコンピューター計算された値(たとえば、平均場所またはセントロイド)に対応することが可能である。クラスター241の場所は、ドッキングステーションの場所から閾値距離の中にあるので、自律型移動ロボットがドッキングステーション250とドッキングすることを阻止する行動制御ゾーンを定義することを回避するために、行動制御ゾーンは、センサーイベント212のクラスター241に関して推奨されない。
【0126】
いくつかの実装形態において、第1のタイプのセンサーイベントを含むクラスターが第2のタイプのセンサーイベントの近くにあるかどうかに基づいて、基準が満足される。第1のタイプのセンサーイベントのクラスターが、閾値距離の中にあるか、または、第2のタイプのセンサーイベントをカバーする行動制御ゾーンを定義することとなる場合には、行動制御ゾーンは推奨されない。
図7に示されている例では、クラスター242は、センサーイベント232、および、センサーイベント236のうちのいくつかを含む。センサーイベント232のクラスター242は、閾値距離基準および閾値量基準の両方を満足している。しかし、クラスター242は、センサーイベント236のうちの少なくとも1つから閾値距離(それは、閾値距離基準に関する閾値距離とは異なる)の中にあるので、クラスター242は、行動制御ゾーンを推奨するための基礎として使用されない。たとえば、センサーイベント232が障害物検出センサーイベントを表し、センサーイベント236がデブリ検出センサーイベントを表す実装形態では、自律型移動ロボットがセンサーイベント232を含有する領域に進入し、領域の中のデブリをクリーニングすることができるように、障害物検出センサーイベントのための行動制御ゾーンは推奨されない。
【0127】
いくつかの実装形態において、タイミング基準は、時間の量に基づいて満足される。
図7に示されている例では、クラスター243は、センサーイベント234を含み、センサーイベント234は、センサーイベント232がトリガーされるよりも早い時間にトリガーされる。いくつかの実装形態において、センサーイベント234が起こってからの時間の量が、時間の閾値量を超えており、したがって、タイミング基準を満足していない。時間の閾値量は、1日、2日、3日、もしくは、それ以上の日数であることが可能であり、または、1週間、2週間、もしくは、それ以上の週数であることが可能である。いくつかの実装形態において、タイミング基準は、センサーイベント234が起こってから経過したミッションの数に基づいて満足される。センサーイベント234が起こってからのミッションの量は、ミッションの閾値量を超えており、したがって、タイミング基準を満足していない。ミッションの閾値量は、1つのミッション、2つのミッション、3つのミッション、または、それ以上のミッションであることが可能である。タイミング基準が満足されていないので、クラスター243は、行動制御ゾーンを推奨するために使用されない。
【0128】
いくつかの実装形態において、閾値距離基準および閾値量基準は、クラスターの中のセンサーイベントのタイプにかかわらず使用される。たとえば、クラスター244は、センサーイベント236のみを含む。閾値距離基準および閾値量基準は、センサーイベント232のクラスターのための閾値距離基準および閾値量基準とそれぞれ同じ閾値距離および同じ閾値量を使用することが可能である。他の実装形態において、閾値距離および閾値量は、センサーイベントのタイプに応じて異なることが可能である。たとえば、デブリ検出センサーイベントのための閾値距離は、障害物検出センサーイベントのための閾値距離よりも高くなっているかまたは低くなっていることが可能である。
図7に示されている例では、センサーイベント236のクラスター244は、行動制御ゾーンを推奨するためにセンサーイベントのサブセットを識別するための関連の基準を満足している。したがって、行動制御ゾーン260が推奨される。センサーイベント236がデブリ検出センサーイベントである例では、推奨行動制御ゾーン260は、自律型移動ロボットが集中的なクリーン行動を実施することを引き起こすことが可能である。
【0129】
センサーイベント232のクラスター245は、閾値量基準を満足していない。行動制御ゾーンは、クラスター245に基づいて推奨されていない。
【0130】
いくつかの実装形態において、行動制御ゾーンが環境において第1の領域と第2の領域との間の経路を遮断することとなり、それによって、自律型移動ロボットが領域に進入することを防止するかどうかに基づいて、基準は満足される。
図7に示されている例では、センサーイベント232のクラスター246は、第1の部屋266と第2の部屋267との間の経路265の中に位置決めされている。クラスター246は、閾値距離基準および閾値量基準を満足している。しかし、センサーイベント232のクラスター246をカバーするように行動制御ゾーンが生成されたとすれば、そのような行動制御ゾーンは、自律型移動ロボットが第1の部屋266から第2の部屋267へ移動することを妨げることとなり、または、自律型移動ロボットが第2の部屋267から第1の部屋266へ移動することを防止することとなる。
【0131】
それとは対照的に、センサーイベント232のクラスター247は、第1の部屋266と第3の部屋269との間の経路268の中に位置決めされている。クラスター247に基づいて推奨される行動制御ゾーン261は、第1の部屋266および第3の部屋269を分離し、第1の部屋266と第3の部屋269との間に横断可能な経路270を提供する。横断可能な経路270は、少なくとも自律型移動ロボットと同じ広さの幅を有することが可能である。いくつかの実装形態において、基準を満足するために、横断可能な経路270の幅は、少なくとも1つのロボット幅、2つのロボット幅、または、それ以上の幅を有していなければならない。
【0132】
クラスター248は、センサーイベント232およびセンサーイベント234の両方を含む。クラスター248は、閾値量基準および閾値距離基準を満足している。したがって、推奨行動制御ゾーン262が定義される。
【0133】
いくつかの実装形態において、クラスターが所定の時間の期間内において複数のミッションにわたってセンサーイベントを含有するかどうかに基づいて、基準が満足される。そのような実装形態では、行動制御ゾーン261および行動制御ゾーン260は、推奨されない可能性がある。その理由は、センサーイベント232およびセンサーイベント236が単一のミッションの間にのみ起こったからである。それにもかかわらず、行動制御ゾーン262は、依然として推奨される。その理由は、クラスター248が、より早いミッションの間に起こるセンサーイベント234、および、より後のミッションにおいて起こるセンサーイベント232を含むからである。自律型移動ロボットによって収集され、センサーイベント232およびセンサーイベント234に関連付けられたセンサーデータは、複数のミッションの間におよび所定の時間期間内に収集される。複数のミッションの量は、閾値量(たとえば、2つの、3つの、または、それ以上のミッション)の中にあることが可能である。時間期間は、閾値時間期間(たとえば、1つ、2つ、3つ、または、それ以上の日数、月数、または週数)の中にあることが可能である。
【0134】
いくつかの実装形態において、推奨行動制御ゾーンに関する基礎としてクラスター248が使用される代わりに、2つの個別のクラスター248a、248bは、推奨行動制御ゾーン262に関する基礎として使用される。それぞれのクラスター248a、248bは、行動制御ゾーンを推奨するための基準を独立して満足する。しかし、クラスター248aの中のセンサーイベント232およびクラスター248bの中のセンサーイベント232は、一緒に、特定の基準(たとえば、距離閾値基準)を満足しない可能性がある。たとえば、クラスター248aの中のおよびクラスター248bの中の最も近いセンサーイベント232は、距離閾値基準に関する距離閾値よりも大きい距離だけ分離され得る。結果として、2つの個別の行動制御ゾーンが推奨され、1つは、クラスター248aに関して推奨され、別のものは、クラスター248bに関して推奨される。いくつかの実装形態において、2つ以上の推奨行動制御ゾーンが行動制御ゾーン分離基準を満足する場合には、2つ以上の推奨行動制御ゾーンが、互いに組み合わせられ、単一の推奨行動制御ゾーンを形成する。たとえば、クラスター248a、248bに関して結果として生じる推奨行動制御ゾーンは、行動制御ゾーン分離基準に関する閾値距離以下の距離だけ分離され得る。行動制御ゾーン基準に関する閾値距離は、たとえば、ロボットの幅の0.5倍から4倍の間にあることが可能であり、たとえば、ロボットの幅の0.5倍から1.5倍、1倍から2倍、1倍から3倍、2倍から4倍などにあることが可能である。結果として、推奨行動制御ゾーンは、互いに組み合わせられ、単一の推奨行動制御ゾーン(すなわち、クラスター248aおよびクラスター248bの両方をカバーする推奨行動制御ゾーン262)を形成する。
【0135】
本明細書で説明されているように、距離閾値基準は、クラスターの中のセンサーイベントが閾値距離以下にあるときに満足される。いくつかの実装形態において、最小分離基準は、距離閾値基準に関する閾値距離とは異なる少なくとも閾値距離だけセンサーイベントが分離されているときに満足される。最小分離基準に関する閾値距離は、センサーイベント間の分離のための下限を表しており、距離閾値基準に関する閾値距離は、センサーイベント間の分離のための上限を表している。いくつかの実装形態において、最小分離基準は、サブセットの中のセンサーイベントのうちの少なくとも1つが最小分離基準に関する距離閾値よりも大きいときに満足される。
図7に示されている例では、センサーイベント232のクラスター249は、直ぐ近くにあり過ぎる。クラスター249の中のセンサーイベント232のそれぞれは、クラスター249の中の他のセンサーイベント232のそれぞれの距離閾値の中にある。最小分離基準が満足されていないので、センサーイベント232のクラスター249に基づいて、行動制御ゾーンは推奨されない。
【0136】
図5に戻ると、センサーイベントのサブセットが、動作202において識別され、次いで、行動制御ゾーンに関する推奨を提供するために使用され得る。動作202が実施された後に、動作204において、推奨行動制御ゾーンを示すデータが、ユーザーコンピューティングデバイスに提供される。推奨行動制御ゾーンは、センサーイベントのサブセットに関連付けられる場所のサブセットを含有することが可能である。とりわけ、推奨行動制御ゾーンによってカバーされるエリアは、センサーイベントのサブセットに関連付けられる場所のサブセットを含むことが可能である。
【0137】
動作206において、ユーザーコンピューティングデバイスからのユーザー選択に応答して、ユーザー選択された行動制御ゾーンが定義される。ユーザー選択された行動制御ゾーンは、推奨行動制御ゾーンに基づくことが可能である。たとえば、ユーザーは、ユーザーコンピューティングデバイスを動作させ、ユーザー選択を提供することが可能である。ユーザー選択は、推奨行動制御ゾーンの受諾、推奨行動制御ゾーンの拒否、または、推奨行動制御ゾーンの修正を示すことが可能である。いくつかの実装形態において、ユーザー選択は、推奨行動制御ゾーンの受諾に対応しており、ユーザー選択された行動制御ゾーンが、推奨行動制御ゾーンと同一となるようになっている。
【0138】
ユーザー選択された行動制御ゾーンの定義は、ユーザー選択された行動制御ゾーンの特定のパラメーターを定義することを含むことが可能である。推奨行動制御ゾーンのパラメーター(それは、動作204において定義される)は、ユーザー選択された行動制御ゾーンのパラメーターを定義するためのユーザーによる修正のための出発点としての役割を果たすことが可能である。
【0139】
いくつかの実装形態において、ユーザー選択された行動制御ゾーンの定義は、ユーザー選択された行動制御ゾーンの幾何学的特徴を定義することを含むことが可能である。たとえば、ユーザー選択された行動制御ゾーンを定義するために、ユーザー選択された行動制御ゾーンの周囲、ユーザー選択された行動制御ゾーンの1つまたは複数の寸法、ユーザー選択された行動制御ゾーンの形状、または、ユーザー選択された行動制御ゾーンの他の幾何学的特徴が定義され得る。推奨行動制御ゾーンの幾何学的特徴が、動作204において定義され得、次いで、ユーザーが、動作206において、推奨行動制御ゾーンの幾何学的特徴のうちの1つまたは複数を修正し、ユーザー選択された行動制御ゾーンを定義することが可能である。たとえば、ユーザーは、推奨行動制御ゾーンの長さまたは幅を修正し、ユーザー選択された行動制御ゾーンの長さまたは幅を定義することが可能である。
【0140】
いくつかの実装形態において、ユーザー選択された行動制御ゾーンの定義は、ロボット100によって実施されることとなる特定の行動を定義すること、または、環境を動作させる別の自律型移動ロボットによって実施されることとなる行動を定義することを含むことが可能である。ロボット100のみが環境の中で動作する実装形態では、ユーザーは、ユーザー選択された行動制御ゾーンに遭遇または進入することに応答して、ロボット100がどの行動を実施するかを選択することが可能である。たとえば、ロボット100は、移動行動または集中的なクリーン行動を実施することが可能である。複数の自律型移動ロボットが環境において動作する実装形態では、ユーザーは、異なる自律型移動ロボットによって実施されることとなる異なる行動を選択することが可能であり、または、自律型移動ロボットのうちの1つまたは複数が、行動制御ゾーンに遭遇または進入することに応答して行動を変化させないということを選択することが可能である。いくつかの例において、自律型移動ロボットの第1のものは、行動制御ゾーンにおいて集中的なクリーン行動を実施し、一方では、自律型移動ロボットの第2のものは、行動制御ゾーンを回避するための移動行動を実施する。
【0141】
いくつかの実装形態において、ユーザー選択された行動制御ゾーンの定義は、行動制御ゾーンのためのスケジュールを定義することを含むことが可能である。動作204において定義される推奨行動制御ゾーンは、ロボット100によって実施されるすべてのミッションに関して、常にアクティブであるように定義され得る。ユーザーは、ロボット100によって実施されることとなるミッションのうちの少なくともいくつかに関して、ユーザー選択された行動制御ゾーンをアクティブにすることを望まない場合がある。スケジュールは、ユーザー選択された行動制御ゾーンがアクティブである1つまたは複数のミッションを示すことが可能であり、または、ユーザー選択された行動制御ゾーンがアクティブである時間期間を示すことが可能である。たとえば、ユーザー選択された行動制御ゾーンは、勤務時間の間、午前の間および午後の間、週のうちの特定の曜日の間、または、特定の月の間に起こるミッションの間のみに、ユーザー選択された行動制御ゾーンがアクティブになるように定義され得る。代替的に、スケジュールは、状況に応じて制御されることも可能であり、ユーザー選択された行動制御ゾーンが、特定の条件が満たされたときにのみアクティブになることができるようになっている。たとえば、ユーザー選択された行動制御ゾーンは、環境の人間の占有者が存在していないとき、人間の占有者が行動制御ゾーンの場所の付近にいないとき、ペットが行動制御ゾーンの場所の付近にいないとき、ロボット100が特定の閾値を超えるバッテリーレベルを有するとき、または、ロボット100または環境に関係する別の条件が満足されるときにのみ、アクティブになるように定義され得る。
【0142】
図8は、推奨行動制御ゾーンおよびユーザー選択された行動制御ゾーンの視覚的表現をユーザーに提示するための例示的な方法のフローチャートを図示している。ロボット100の環境のマップは、視覚的に表現され得、次いで、推奨行動制御ゾーンのインジケーター、および、ユーザー選択された行動制御ゾーンのインジケーターが、マップの上に重ね合わせられ得る。この方法は、本明細書で説明されているロボット100の制御に関して説明されている。他の実装形態において、他のタイプの自律型移動ロボットが、
図8に示されている方法の実装形態にしたがって行動制御ゾーンを定義することによって制御され得る。
【0143】
図8を参照すると、プロセス300は、動作302および304を含む。プロセス300は、推奨されたおよびユーザー選択された行動制御ゾーンのインジケーターを提示し、ロボット100の環境の中の行動制御ゾーンの幾何学的特徴の視覚的表現をユーザーに提供するために使用される。
【0144】
いくつかの実装形態において、動作302および304が実施される前に、通知がユーザーコンピューティングデバイス188に送信され、行動制御ゾーンが推奨されることをユーザーに通知することが可能である。たとえば、
図9を参照すると、ユーザーコンピューティングデバイス(たとえば、ユーザーコンピューティングデバイス188)のためのユーザーインターフェース310が、行動制御ゾーンが推奨されることを示す通知312を提示する。通知312は、たとえば、ロボット100の障害物検出センサーによって検出されるスポットの付近にある障害物に起因して、ロボット100が最近同じスポットにおいて動けなくなっているということを示している。ユーザーインターフェース310は、別の行動制御ゾーンが推奨されるということを示す通知314をさらに提示している。通知314は、たとえば、ロボット100のデブリセンサーによって検出されるスポットの付近にあるデブリに起因して、ロボット100が最近同じスポットにおいて多くのデブリを検出したということを示している。ユーザーは、ユーザーインターフェース310を動作させ、通知312、314に応答して行動制御ゾーンの定義を開始させることが可能である。
【0145】
図8に戻って参照すると、行動制御ゾーンの定義を開始させるためのユーザーからのコマンドに応答して、ユーザーインターフェースは、行動制御ゾーンを定義することを支援するために環境の視覚的表現を提示することが可能である。動作302において、環境のマップおよび推奨行動制御ゾーンの第1のインジケーターが提示される。たとえば、
図10Aを参照すると、マップ316および第1のインジケーター318が、ユーザーコンピューティングデバイスのユーザーインターフェース310の上のユーザーに視覚的に提示される。マップ316および第1のインジケーター318の視覚的提示は、推奨行動制御ゾーンが環境の中に位置することとなる場所をユーザーが可視化することを可能にすることができる。
【0146】
マップ316は、環境(たとえば、
図1に示されている環境)の間取り図の視覚的表現であることが可能である。マップ316は、ロボット100が環境を動き回るときにロボット100によって収集されたマッピングデータに基づいて発生させられ得る。推奨行動制御ゾーン(第1のインジケーター318によって示されている)は、ロボット100(
図1に示されている)によって収集されたセンサーデータに基づいて発生させられ得る。たとえば、推奨行動制御ゾーンは、本明細書で説明されているプロセス200(たとえば、動作202および204)を使用して発生させられ得る。第1のインジケーター318は、マップの上に重ね合わせられ、環境における推奨行動制御ゾーンの場所を示すことが可能である。そのうえ、第1のインジケーター318は、推奨行動制御ゾーンの幾何学的特徴(たとえば、推奨行動制御ゾーンの周囲、形状、または1つまたは複数の寸法など)を示すことが可能である。また、第1のインジケーター318は、マップ316に対して位置決めされており、環境における推奨行動制御ゾーンの場所を示すことが可能である。
【0147】
いくつかの実装形態において、第1のインジケーター318の幾何学的特徴についての情報も、ユーザーインターフェース310の上に提示される。たとえば、寸法330a、330bが、ユーザーインターフェース310の上に提示され、推奨行動制御ゾーンの幅および長さを示している。いくつかの実装形態において、他の幾何学的特徴が示され得る。たとえば、推奨行動制御ゾーンの周囲長さ、側辺長さ、側辺間の角度、面積、または、他の幾何学的測定値が、ユーザーインターフェース310の上に提示され得る。加えて、第1のインジケーター318は、推奨行動制御ゾーンが長方形であるということを示している。他の実装形態において、推奨行動制御ゾーンは、他の形状(多角形形状、円形形状、三角形形状、または他の形状を含む)を有することが可能である。
【0148】
動作304において、ユーザー選択された行動制御ゾーンの第2のインジケーターが、ユーザーコンピューティングデバイスのユーザーインターフェースの上に提示される。たとえば、
図10Bを参照すると、マップ316およびユーザー選択された行動制御ゾーンの第2のインジケーター320が、ユーザーインターフェース310の上に提示されている。第2のインジケーター320は、マップ316の上に重ね合わせられ得る。
【0149】
そのうえ、第2のインジケーター320は、ユーザー選択された行動制御ゾーンの幾何学的特徴(たとえば、ユーザー選択された行動制御ゾーンの周囲、形状、または、1つもしくは複数の寸法など)を示すことが可能である。また、第2のインジケーター320は、マップ316に対して位置決めされ、環境におけるユーザー選択された行動制御ゾーンの場所を示している。
【0150】
いくつかの実装形態において、第2のインジケーター320の幾何学的特徴についての情報も、ユーザーインターフェース310の上に提示される。たとえば、寸法332a、332bが、ユーザーインターフェース310の上に提示され、推奨行動制御ゾーンの幅および長さを示している。いくつかの実装形態において、他の幾何学的特徴が示され得る。たとえば、推奨行動制御ゾーンの周囲長さ、側辺長さ、側辺間の角度、面積、または、他の幾何学的測定値が、ユーザーインターフェース310の上に提示され得る。加えて、第2のインジケーター320は、推奨行動制御ゾーンが長方形であるということを示している。他の実装形態において、推奨行動制御ゾーンは、他の形状(多角形形状、円形形状、三角形形状、または他の形状を含む)を有することが可能である。
【0151】
ユーザー選択された行動制御ゾーンの第2のインジケーター320は、
図10Aにおける第1のインジケーター318によって表される推奨行動制御ゾーンおよび推奨行動制御ゾーンのユーザー選択された修正に基づいて提示される。したがって、第2のインジケーター320は、推奨行動制御ゾーンに基づいて行動制御ゾーンのユーザー選択を表す。
図10Aを参照すると、ユーザーは、ユーザーインターフェース310と相互作用し、第1のインジケーター318によって表される推奨行動制御ゾーンを調節することが可能である。たとえば、ユーザーは、ユーザー入力デバイス(たとえば、タッチスクリーン、マウス、トラックパッド、または他のユーザー入力デバイス)を動作させ、推奨行動制御ゾーンの形状、サイズ、長さ、幅、または、他の幾何学的特徴のユーザー選択された修正を行うことが可能である。
図10Aに示されている例では、ユーザーインターフェース310がタッチスクリーンを含む場合には、ユーザーは、第1のインジケーター318のコーナー319をタッチし、下向き方向321にドラッグし、推奨行動制御ゾーンをサイズ変更することが可能である。そのようなサイズ変更は、第2のインジケーター320によって表されるユーザー選択された行動制御ゾーンを作り出す。
【0152】
ユーザーが推奨行動制御ゾーンに変更を加えるときに、
図10Bに示されている第2のインジケーター320は、
図10Aに示されている第1のインジケーター318に対する変化を示すことが可能であり、したがって、推奨行動制御ゾーンとユーザー選択された行動制御ゾーンとの間の比較の手段を提供することが可能である。
図10Bに示されている例では、第2のインジケーター320は、第1の部分322および第2の部分324を含む。第1の部分322は、推奨行動制御ゾーンを示しており、
図10Aに示されている第1のインジケーター318の幾何学的特徴に対応する幾何学的特徴を有している。第2の部分324は、推奨行動制御ゾーンのユーザー選択された修正を示しており、したがって、推奨行動制御ゾーンとユーザー選択された行動制御ゾーンとの間の相違を表している。
【0153】
第2のインジケーター320の第1および第2の部分322、324は、ユーザーインターフェース310の上に提示されたさまざまな視覚的な特徴を通して、互いに区別され得る。
図10Bに示されている例では、第1の部分322は、第1の陰影スタイルを有しており、第2の部分324は、第1の陰影スタイルとは異なる第2の陰影スタイルを有している。いくつかの実装形態において、第1の部分322および第2の部分324は、個別の色を有している。いくつかの実装形態において、推奨行動制御ゾーンの修正を示すために、第2のインジケーター320の第1および第2の部分322、324を示すというよりもむしろ、第2のインジケーター320が、第1のインジケーター318の上に重ね合わせられる。第2のインジケーター320は、透明な層であり、第1のインジケーター318が第2のインジケーター320を通して見えるようにすることが可能である。したがって、ユーザーは、第1のインジケーター318および第2のインジケーター320の両方を見ることが可能であり、第1のインジケーター318および第2のインジケーター320の両方を同時に見ることによって、推奨行動制御ゾーンおよびユーザー選択された行動制御ゾーンを視覚的に比較することが可能である。
【0154】
さらなる実装形態において、ユーザーは、行動制御ゾーンを定義するために、他の様式でユーザーインターフェース310と相互作用することが可能である。
図10Cを参照すると、いくつかの実装形態において、ユーザーインターフェース310は、環境のマップ334を提示し、それは、たとえば、ロボット100が環境を動き回るときにロボット100によって収集されるマッピングデータに基づいて発生させられる。マップ334は、環境の間取り図の視覚的表現であることが可能である。マップ334は、環境における部屋を示す部屋インジケーター、および、環境の中に検出される物体を示す物体インジケーターを含むことが可能である。
図10Cに示されている例では、インジケーター336は、環境の中に検出されたカウチを示す物体インジケーターであり、インジケーター338は、環境の中に検出されたテーブルを示す物体インジケーターである。ユーザーは、インジケーター336またはインジケーター338を選択し、環境における行動制御ゾーンを定義することが可能である。たとえば、
図10Dを参照すると、ユーザーがインジケーター336を選択した後に、ユーザーインターフェース310は、インジケーター336を含むマップ334の部分339の表現図を提示することが可能である。次いで、ユーザーは、行動制御ゾーンのタイプを選択し、インジケーター336によって表されるカウチに対応するように定義することが可能である。たとえば、ユーザーは、キープアウトゾーンを定義するためのインジケーター340を呼び出すか、または、クリーンゾーンを定義するためのインジケーター342を呼び出すことが可能である。
【0155】
図11~
図12、
図13A~
図13K、および
図14A~
図14Fは、行動制御ゾーンを定義し、これらの行動制御ゾーンに優先順位を関連付ける例示的な方法を図示している。
図11は、行動制御ゾーンを定義し、行動制御ゾーンに優先順位を関連付けるための例示的な方法のフローチャートを図示している。
図11を参照すると、プロセス350は、動作352、354、および356を含む。プロセス350は、行動制御ゾーンを定義し、次いで、行動制御ゾーンに優先順位を関連付けるために使用される。環境のマップは、ロボット100が環境を動き回るときにロボット100によって収集されたマッピングデータに基づいて構築され得る。行動制御ゾーンは、本開示において説明されている方法にしたがって定義され得、具体的には、
図5、
図6A~
図6B、
図7~
図9、および
図10A~
図10Dに関連して説明されている方法にしたがって定義され得る。優先順位は、行動制御ゾーンに関連付けられ得、ロボット100がクリーニングミッションの間に行動制御ゾーンを訪ねることを優先するようになっている。
【0156】
動作352において、ロボット100が環境を動き回るときにロボット100によって収集されたマッピングデータが受信される。マッピングデータは、たとえば、ユーザーコンピューティングデバイス188(
図4に示されている)、リモートコンピューティングシステム192(
図4に示されている)、ロボット100のコントローラー109(
図3Aに示されている)、または、他のコンピューティングデバイスなどのような、リモートコンピューティングデバイスによって受信され得る。マッピングデータは、ロボット100のためのマップを構築し、環境における横断可能な場所および横断不可能な場所を示すために使用され得る。また、マッピングデータは、環境のマップの表現図を提示するために使用され得、したがって、ロボット100が横断することができるエリアおよび横断することができないエリアをユーザーが識別することを可能にする。本開示において説明されているように、マッピングデータは、ロボット100が環境をナビゲートして回るときに、ロボット100のセンサーシステムによって収集され得る。ロボット100は、ロボット100のクリーニングミッションの一部として、または、ロボット100のトレーニングミッションの一部として、これらのマッピングデータを収集することが可能である。
【0157】
動作354において、行動制御ゾーンが定義される。行動制御ゾーンは、マッピングデータの一部分に対応することが可能であり、したがって、環境における場所に関連付けられる。また、行動制御ゾーンは、行動制御ゾーンに遭遇することに応答してロボット100が開始させる1つまたは複数の行動に関連付けられ得る。行動制御ゾーンを示すデータは、ロボット100、リモートコンピューティングシステム192、または、いくつかの他のコンピューティングデバイスの上に記憶され得る。
【0158】
動作356において、優先順位が行動制御ゾーンに関連付けられる。優先順位は、ロボット100が、環境の他の部分に対して、および/または、他の行動制御ゾーンに対して、1つまたは複数の行動を実施するために行動制御ゾーンへ移動することを優先するべき程度を示している。優先順位と行動制御ゾーンとの関連付けは、ロボット100が行動制御ゾーンの相対的な優先順位にしたがって行動制御ゾーンに移動することを引き起こし、次いで、行動制御ゾーンに到着すると、行動制御ゾーンに関連付けられた1つまたは複数の行動を実施することを引き起こす。行動制御ゾーンに優先順位を関連付けることは、スケジュールをロボット100に提供することを含むことが可能であり、そのスケジュールでは、ロボット100は、スケジュールされたクリーニングミッションの間に、行動制御ゾーン、および、行動制御ゾーンを含む行動制御ゾーンのセットのみをクリーニングする。
【0159】
いくつかの実装形態において、ロボット100は、ミッションの開始時に行動制御ゾーンへの移動を開始させ、次いで、行動制御ゾーンに遭遇することに応答して行動を開始させる。行動は、行動制御ゾーンの中で実施されるクリーン行動に対応することが可能である。行動制御ゾーンをクリーニングするための優先順位シーケンスにおいて行動制御ゾーンが次になると、ロボット100は、行動制御ゾーンへの移動を開始させることが可能である。たとえば、行動制御ゾーンのための優先順位は、環境において定義された他の行動制御ゾーンに関連付けられた優先順位と組み合わせて、行動制御ゾーンのための優先順位シーケンスを示すことが可能である。ロボット100が、行動制御ゾーンのうちの1つまたは複数をクリーニングするための動作を開始させるように指示される場合には、ロボット100は、優先順位シーケンスに基づいて、および、とりわけ、行動制御ゾーンに関連付けられる優先順位に基づいて、行動制御ゾーンをシーケンシャルにクリーニングすることが可能である。
【0160】
優先順位と行動制御ゾーンとの関連付けは、異なる実装形態において、ロボット100の移動に対して異なる影響を有することが可能である。優先順位は、行動制御ゾーンへの移動を開始させるようにロボット100をトリガーする何らかの条件に関連付けられ得る。いくつかの実装形態において、優先順位は、時間的条件、空間的条件、環境的条件、または、ロボット100の条件が満足されることに応答して、ロボット100が行動制御ゾーンへの移動を開始させることを引き起こすことが可能である。
【0161】
時間的条件の例は、現在の時間がミッションの開始、ミッションの終了、特定の時間に関してスケジュールされたミッションの開始時、ミッションの間の特定の時間、ミッション持続期間であること、または、満足されるときにロボット100が行動制御ゾーンへの移動を開始させる他の時間ベースの条件を含む。たとえば、行動制御ゾーンに関連付けられる優先順位は、ミッションの開始時に、ミッションの終了時に、または、ミッションの間の何らかの選択された時間に、ロボット100が行動制御ゾーンへの移動を開始させることを引き起こすことが可能である。いくつかの実装形態において、ミッションの持続期間は制限され得る。たとえば、ユーザーは、ミッションをスケジューリングする際にミッションの持続期間を選択することが可能であり、または、特定の環境的条件(たとえば、人間の占有者が存在しているときの日中の間の予定時間など)が、ミッションの持続期間を制限することが可能である。ミッションの予定持続期間が閾値持続期間よりも小さい場合には、ロボット100は、優先順位モードに切り替えることが可能であり、優先順位モードでは、ロボット100は、特定の行動制御ゾーンに移動すること、および、行動制御ゾーンにおいて関連の行動を実施すること(たとえば、行動制御ゾーンをクリーニングする)を優先する。
【0162】
空間的条件の例は、ロボット100の位置が環境における特定の領域の中にあるということ、環境における特定の部屋の中にあるということ、行動制御ゾーンから特定の距離の中にあるということ、環境における特定の特徴の特定の距離の中にあるということ、または、ロボット100が行動制御ゾーンへの移動を開始させることを引き起こす何らかの他の位置にあることを含む。たとえば、行動制御ゾーンに関連付けられる優先順位は、特定の領域(たとえば、部屋間の境界部、行動制御ゾーンからの特定の距離、行動制御ゾーンを含有する部屋、または、環境の他の領域)に進入することに応答して、ロボット100が行動制御ゾーンへの移動を開始させることを引き起こすことが可能である。
【0163】
環境条件の例は、ロボット100が環境における特定の条件を検出することを含むことが可能である(たとえば、人間の占有者が環境の中に存在していないこと、人間の占有者が環境の特定の領域の中に存在してないこと、ドアが閉じているかまたは開いていること、人間の占有者が環境に戻ること、または、何らかの他の環境的条件など)。たとえば、ロボット100は、人間の占有者が環境に戻ることに応答して、環境における入口通路に対応する行動制御ゾーンをクリーニングするために移動を開始させることが可能である。その理由は、人間の占有者の戻りが、デブリが環境の中へ持ち込むことに潜在的に関連付けられ得るからである。代替的に、ロボット100は、人間の占有者が環境に存在していないことに応答して、行動制御ゾーンへの移動を開始させることが可能であり、人間の占有者が環境に存在している間に、ロボット100の騒音の量を低減させるようになっている。
【0164】
ロボット条件の例は、ロボット100のシステムが特定の条件にあることを含む。たとえば、ロボット100は、特定のレベルのバッテリー充電を有すること、(ロボット100がロボット掃除機である例では)そのデブリビンの中の特定の残りの容量、(ロボット100がロボットモップである例では)その流体貯蔵部の中の流体の特定の量、または、ロボット100の他の条件に応答して、行動制御ゾーンへの移動を開始させることが可能である。ロボット100の低バッテリーステータスは、実装形態に応じて、異なるバッテリーレベル閾値においてトリガーされ得る(たとえば、5%から25%の間の、10%から20%の間の、または、他の適当な値の低バッテリーレベル閾値)。
【0165】
いくつかの実装形態において、優先順位は、イベント(たとえば、1日の時間、1年の時間、天候イベント、または、行動制御ゾーンが優先されることを引き起こす何らかのイベントなど)に応じて変化し得る可変の優先順位である。たとえば、可変の優先順位を伴う行動制御ゾーンは、1日の特定の時間帯または1年の特定の時間帯の間に優先され得、1日の他の時間帯または1年の他の時間帯の間に優先されないことがあり得る。可変の優先順位が1日の時間に応じて変化する例では、優先順位は、午前および午後の間に(たとえば、人間の占有者が環境に存在していない時間帯)のみ行動制御ゾーンが優先されるように定義され得る。行動制御ゾーンは、人間の占有者が環境にいるときに人間の占有者が典型的に位置付けされている環境の領域(たとえば、リビングルームまたはキッチン)の中にあることが可能であり、可変の優先順位は、ロボット100からの騒音が人間の占有者を妨害しないように、ロボット100がその領域において費やす時間を低減させることが可能である。代替的に、行動制御ゾーンは、人間の占有者から頻繁に通行を受ける領域(たとえば、オフィスビルの中の廊下など)にあることが可能であり、可変の優先順位は、人間の占有者が典型的に存在することとなる1日の時間帯の間に、ロボット100が行動制御ゾーンを訪ねることを優先することを引き起こすことが可能である。
【0166】
可変の優先順位が1年の時間に応じて変化する例では、優先順位は、1年の間の特定の月の間、または、1年の特定の季節の間にのみ、行動制御ゾーンが優先されるように定義され得る。行動制御ゾーンは、特定の月または季節(たとえば、冬)の間に比較的に多くのデブリを受け取る領域にあることが可能であり、それが特定の月または季節の間に優先されるように定義され得る。代替的に、可変の優先順位は、天候イベントに基づいて変化することが可能である。優先順位は、現在のまたは最近の天候イベントの関数として変化することが可能である。たとえば、雨または雪の天候の間にまたはその後に、人間の占有者は、環境の入口通路の中へデブリを持ち込む可能性がより高くなる可能性がある。行動制御ゾーンは、そのような天候イベントの間にまたはその後に所定の時間の期間にわたって(たとえば、天候イベントの間に、および、天候イベントの後に12時間から72時間にわたって、)優先され得る。
【0167】
図12を参照すると、推奨行動制御ゾーンおよび推奨優先順位を提供するための、ユーザー選択された行動制御ゾーンを定義し、ユーザー選択された行動制御ゾーンをユーザー選択された優先順位に関連付けるための、および、ユーザー選択された行動制御ゾーンおよびユーザー選択された優先順位に基づいてロボット100を制御するためのプロセス400が図示されている。プロセス400は、動作402、404、406、408、410、412、414、416、418、420、422を含む。
【0168】
動作402および404は、ロボット100の動作を含む。その理由は、ロボット100がクリーニングミッションまたはトレーニングミッションを実施し、環境において作動するからである。動作402において、ロボット100が、環境において作動することを開始させる。動作404において、ロボット100は、ロボット100が動作402において環境において作動するときに、センサーデータを収集し、環境のマッピングデータを発生させる。マッピングデータは、センサーデータに基づいて発生させられ得る。マッピングデータは、センサーデータおよびセンサーデータに関連付けられる場所データを示すことが可能である。ロボット100が環境において作動するときに、ロボット100は、動作402および404がクリーニングミッションの一部として起こる場合には、フロア表面をクリーニングすることが可能である。動作402および404がトレーニングミッションの一部として起こる場合には、ロボット100は、クリーニングなしにフロア表面を動き回ることが可能である。
【0169】
動作406、408、410は、推奨行動制御ゾーンおよび推奨行動制御ゾーンに関する推奨優先順位を発生させるための動作、ならびに、これらの推奨をユーザーに提示するための動作を含む。動作406および408は、コンピューティングシステム401によって実施され、コンピューティングシステム401は、ロボット100の上に位置付けされているコントローラー、ユーザーコンピューティングデバイス188の上に位置付けされているコントローラー、リモートコンピューティングシステム(たとえば、リモートコンピューティングシステム192)、複数のデバイス(たとえば、ロボット100、ユーザーコンピューティングデバイス188、またはリモートコンピューティングシステム192)の上に位置付けされているプロセッサーを含む分散コンピューティングシステム、ロボット100に加えて自律型移動ロボットの上のプロセッサー、または、これらのコンピューティングデバイスの組み合わせであることが可能である。動作406において、マッピングデータは、推奨行動制御ゾーンを発生させるためのおよび推奨優先順位を発生させるためのセンサーイベントのサブセットを識別するために使用される。動作408において、推奨行動制御を示すデータ、および、推奨優先順位を示すデータが発生させられ、ユーザーコンピューティングデバイス188に提供される。そして、動作410において、推奨行動制御ゾーンのインジケーター、および、推奨優先順位のインジケーターが、たとえば、ユーザーコンピューティングデバイス188を通して、ユーザー30に提示される。
【0170】
推奨行動制御ゾーンを発生させるために、動作406および408は、
図5に図示されているプロセス200の動作204に関して説明されている特徴を含むことが可能である。推奨優先順位を発生させるための考慮事項は、実装形態において変化することが可能である。いくつかの実装形態において、推奨優先順位は、たとえば、動作402の間に、ロボット100によって収集されたセンサーデータに基づいて、行動制御ゾーンに関連付けられる。
【0171】
推奨優先順位が基づくセンサーデータは、推奨行動制御ゾーンに対応する領域の中で収集されるかまたはその中に位置付けされているデブリを示すことが可能である。たとえば、デブリは、ロボット100がデブリを取り込むときに、または、デブリの近くを移動するときに、たとえば、デブリ検出センサー147(
図2に示されている)を使用して検出され得る。センサーデータは、デブリの特質を示すことが可能である。たとえば、特質は、デブリの量(たとえば、推奨行動制御ゾーンの面積によって正規化されるデブリの量)、デブリのタイプ(たとえば、フィラメントデブリ、粒子状デブリ、粒状デブリ、ダート、デブリ)、デブリのサイズ、デブリの形状、または、ロボット100によって検出されるデブリの他の特質であることが可能である。
【0172】
推奨優先順位が基づくセンサーデータは、行動制御ゾーンに近接したまたは行動制御ゾーンの中の物体を示すことが可能である。物体は、デブリに関連付けられ得る。たとえば、環境の中の占有者(たとえば、ペットおよび人間)は、物体の近くにデブリを落とす可能性があり、または、物体の近くのエリアにデブリを持ち込む可能性がある。また、環境における気流、および、占有者の移動は、デブリが環境における特定の領域の中に蓄積することを引き起こすことが可能である。
【0173】
物体のタイプは、実装形態において変化することが可能であり、推奨優先順位は、物体のタイプに基づいて選択され得る。いくつかの実装形態において、物体の縁部は、行動制御ゾーンの周囲の一部分を示すことが可能である。たとえば、物体は、壁、コーナー、カウンター、キッチンカウンター、戸口、家具、または、デブリが蓄積する可能性のあるフロア表面に沿って縁部を有する他の物体であることが可能である。いくつかの実装形態において、物体は、一部分がフロア表面から間隔を離して配置された状態の物体であることが可能である。たとえば、物体は、テーブル、椅子、カウチ、机、ベッド、または、物体の一部分の下にデブリが蓄積することができる他の物体であることが可能である。いくつかの実装形態において、物体は、ロボット100によって横断可能なフロア表面の上の物体であることが可能である。たとえば、物体は、エリアラグまたは他の同様の物体であることが可能である。いくつかの実装形態において、物体は、フロア表面の上にデブリを持ち込む占有者に関連付けられる物体であることが可能である。たとえば、物体は、ドア、入口通路、部屋間の境界部、窓、または、他の同様の物体であることが可能である。
【0174】
動作356(
図11に示されている)に関して議論されているように、優先順位は、特定の条件が満足されることに応答してロボット100が行動制御ゾーンへの移動を開始させることを引き起こすことが可能であり、この条件は、時間的条件、空間的条件、環境的条件、または、ロボット100の条件であることが可能である。たとえば、条件が時間的条件である場合には、行動制御ゾーンに関する推奨優先順位は、たとえば、ロボット100がドッキングステーション50から行動制御ゾーンへの移動を開始させるスケジュールされた時間に関する推奨に対応することが可能である。条件が空間的条件である場合には、推奨優先順位は、たとえば、行動制御ゾーンへの移動を開始させるようにロボット100をトリガーする環境における部屋を定義するための推奨に対応することが可能である。条件が環境的条件である場合には、推奨優先順位は、たとえば、人間の占有者が環境を離れたということ、および、ロボット100がこのミッションの開始時に行動制御ゾーンへの移動を開始させるということを、ロボット100が決定するときに、ロボット100がミッションを始める推奨に対応することが可能である。条件がロボット条件である場合には、推奨優先順位は、たとえば、ロボット100が行動制御ゾーンへの移動を開始させるバッテリーレベル(たとえば、全容量の5%から25%の間)を定義するための推奨に対応することが可能である。
【0175】
推奨行動制御ゾーンおよび推奨行動制御ゾーンに関連付けられることとなる推奨優先順位付けレベルのインジケーターを提示するために、動作410は、複数の様式でそのようなインジケーターを提供することが可能である。動作410は、たとえば、推奨行動制御ゾーンのインジケーターを提示するための、
図8に関して説明されている動作302と同様であることが可能である。
図13Aおよび
図13Bは、推奨をユーザーに提示するユーザーインターフェース310のさらなる例を提供している。
【0176】
図13Aを参照すると、ユーザーコンピューティングデバイス(たとえば、ユーザーコンピューティングデバイス188)のためのユーザーインターフェース310は、行動制御ゾーン432が推奨されるということを示す通知430を提示する。通知430は、行動制御ゾーン432において特定の行動を実施するべき環境において動作する特定のロボットのインジケーター434を含むことが可能である。たとえば、通知430は、ここでは、ロボットモップが行動制御ゾーン432に対応する領域をクリーニングすることを推奨している。推奨優先順位は、ここでは、時間的条件に関連付けられ得る。ユーザーインターフェース310は、行動制御ゾーン432をクリーニングするためのスケジュールされた時間を追加するための推奨436を提示している。このスケジュールされた時間において、行動制御ゾーン432は、優先順位に関連付けられ、スケジュールされた時間の間に、ロボットモップが、行動制御ゾーン432をクリーニングすることを優先することとなるようになっている。本開示において議論されているように、ユーザー30は、ユーザーインターフェース310を動作させ、推奨を受け入れるか、推奨を修正するか、または、推奨を拒否することが可能である。
【0177】
いくつかの実装形態において、複数のロボットクリーナーは、環境において動作し(ロボットモップおよびロボット掃除機を含む)、通知430は、環境において動作する別のロボット(たとえば、ロボット掃除機など)が、同じ行動制御ゾーン432において別の行動を実施することを推奨することが可能である。たとえば、推奨は、同じ行動制御ゾーン432における異なるロボットによって実施される一連の行動に関する推奨を含むことが可能である。推奨は、ロボット掃除機が行動制御ゾーン432においてクリーン行動を実施するための推奨、および、ロボット掃除機が行動制御ゾーン432においてクリーン行動を実施した後に、ロボットモップが行動制御ゾーン432においてクリーン行動を実施するための推奨を含むことが可能である。行動制御ゾーン432が入口通路の近くの領域に対応する場合には、ロボット掃除機は、領域の中へ持ち込まれたデブリを吸い込むことが可能であり、次いで、ロボットモップは、ロボット掃除機が見逃した可能性のある任意の乾燥した泥汚れおよび他のデブリに関する領域を拭くことが可能である。
【0178】
いくつかの実装形態において、推奨は、ロボットのうちの1つが行動を実施するための推奨、および、ロボットのうちの1つが行動制御ゾーン432を回避するための推奨を含むことが可能である。行動制御ゾーン432は、ロボットのうちの1つのためのクリーンゾーンとして機能し、ロボットのうちの他のもののためのキープアウトゾーンとして機能する。行動制御ゾーン432は、たとえば、占有者が環境の中へデブリを持ち込む可能性のある入口通路の近くのカーペット敷きの表面に対応することが可能である。行動制御ゾーン432は、ロボットモップのためのキープアウトゾーンとして機能し、ロボット掃除機のためのクリーンゾーンとして機能することが可能である。
【0179】
図13Bは、ユーザーインターフェース310の上に提示される推奨インジケーターの別の例を提示している。ユーザーインターフェース310は、ダイニングルーム444の中のダイニングテーブルの周りに行動制御ゾーン442を定義するための推奨を含む通知440を提示している。行動制御ゾーン442がロボットのための行動制御ゾーンのリストに追加される場合には、行動制御ゾーン442は、ロボットのための優先順位のリストに自動的に追加され得る。たとえば、ロボットのために定義された行動制御ゾーンをクリーニングするためのスケジュールされた時間がすでに確立されている場合には、行動制御ゾーン442は、ユーザー30によって受け入れられる場合には、スケジュールされた時間にクリーニングされる行動制御ゾーンのシーケンスに自動的に追加され得る。本開示において議論されているように、ユーザー30は、ユーザーインターフェース310を動作させ、推奨を受け入れるか、推奨を修正するか、または、推奨を拒否することが可能である。
【0180】
動作412および414は、行動制御ゾーンおよび行動制御ゾーンに関連付けられる優先順位をユーザー30が選択するための動作を含む。動作412において、ユーザー30は、ユーザー選択された行動制御ゾーンを示す入力、および、ユーザー選択された優先順位を示す入力を提供する。動作414において、ユーザーコンピューティングデバイス188は、ユーザー選択された行動制御ゾーンのインジケーターを提示する。
【0181】
動作412、414におけるユーザー入力は、実装形態において変化することが可能である。行動制御ゾーンのユーザー選択に関して、ユーザー30は、動作408において発生させられた推奨行動制御ゾーンを受け入れるかまたは修正することが可能である。たとえば、ユーザー30は、推奨行動制御ゾーンおよび推奨優先順位を受け入れることによって、たとえば、
図13A~
図13Bに関して議論されている推奨を受け入れることによって、ユーザー選択を提供することが可能である。代替的に、ユーザー30は、
図9Aおよび
図9Bに関して説明されている様式で、ユーザーコンピューティングデバイス188を動作させ、推奨行動制御ゾーンのユーザー選択された修正を提供することが可能である。
【0182】
ユーザー30が推奨行動制御ゾーンを受け入れる例では、ユーザー選択された行動制御ゾーンのインジケーターは、動作410に関して議論されているような推奨行動制御ゾーンのインジケーターと同じまたは同様であることが可能である。
図10A~
図10Dに関して議論されているように、ユーザー30は、ユーザー選択された行動制御ゾーンに到着するために、推奨行動制御ゾーンの周囲を再定義することによって、推奨行動制御ゾーンを修正することが可能である。したがって、
図10A~
図10Dの例は、動作410(動作410では、推奨行動制御ゾーンのインジケーターが提示される)および動作414(動作414では、ユーザー選択された行動制御ゾーンのインジケーターが提示される)の例であることが可能であり、動作412において提供されたユーザー入力を反映することが可能である。
【0183】
ユーザー30は、推奨優先順位のユーザー選択された修正をさらに提供することが可能である。たとえば、ユーザー30は、優先順位に関連付けられる異なる条件(たとえば、本開示において説明されている時間的条件、空間的条件、環境的条件、またはロボット条件のうちの1つ)を選択することが可能である。ユーザー30は、ロボット100が行動制御ゾーンへの移動を開始させる異なる時間をスケジューリングすることによって、時間的条件を修正することが可能である。ユーザー30は、ロボット100が領域に進入するときに行動制御ゾーンへの移動を開始させる、環境における異なる領域を設定することによって、空間的条件を修正することが可能である。ユーザー30は、ロボット100によって検出されるときに行動制御ゾーンへの移動を開始させるようにロボット100をトリガーすることとなる、環境における物体(たとえば、ドア)の異なる状態を設定することによって、環境条件を修正することが可能である。ユーザー30は、行動制御ゾーンへの移動を開始させるようにロボット100をトリガーする、ロボット100のバッテリーに関する異なる充電レベルを設定することによって、ロボット条件を修正することが可能である。他の行動制御ゾーンがすでに確立されている場合には、ユーザー30は、行動制御ゾーンの相対的な優先順位(たとえば、他の行動制御ゾーンの優先順位に対する優先順位)を修正することが可能である。ユーザー30は、行動制御ゾーンが横断されるシーケンスをさらに調節することが可能である。
【0184】
いくつかの実装形態において、動作410に関して説明されているように、推奨行動制御ゾーンおよび優先順位のインジケーターを提示するというよりもむしろ、ユーザーインターフェース310は、環境のマップの表現図を提示し、ユーザー30は、ユーザーインターフェース310と相互作用し、推奨行動制御ゾーンからの行動制御ゾーンの選択に基づくことなく、行動制御ゾーンを選択することが可能である。そのうえ、ユーザー30は、ユーザーインターフェース310と相互作用し、推奨優先順位からの行動制御ゾーンの選択に基づくことなく、ユーザー選択された行動制御ゾーンに関連付けるための優先順位を選択することが可能である。
図13C~
図13Kは、行動制御ゾーンを選択するために、および、行動制御ゾーンに関連付けるための優先順位を選択するために、ユーザー30によって促進されるプロセスの間のユーザーインターフェース310の例を図示している。これらの例では、推奨行動制御ゾーンおよび推奨優先順位は、ユーザー30に提供されない。
【0185】
図13Cを参照すると、ユーザーインターフェース310は、環境のマップ450を提示している。マップ450は、環境における異なる部屋の名前をラベル付けされ、ユーザー30がマップ450の配向を容易に識別することを可能にすることができる。第1の行動制御ゾーンのインジケーター452、および、第1の行動制御ゾーンのためのラベル453が提示されている。この第1の行動制御ゾーンは、たとえば、本開示において説明されているプロセスを使用して、リビングルームとして識別される環境の中のスペースにおいて、以前に確立されたものである。ラベル453は、「カウチ」である。インジケーター454は、このスペースを表している。
図13Cに提示されている例では、第1の行動制御ゾーンは、環境におけるカウチに関連付けられるものとして、以前に確立されたものである。ユーザーインターフェース310の上の視覚的表現は、環境における特徴への視覚的参照によって(たとえば、部屋、物体、および、以前に確立された行動制御ゾーンなど)、ユーザー30が行動制御ゾーンを定義することを可能にする。ユーザーコンピューティングデバイスのユーザー入力デバイスは、タッチスクリーンであることが可能であり、ユーザーインターフェース310は、ユーザー30が行動制御ゾーンを定義することを可能にするために、ユーザー30によって(たとえば、タッチによって)呼び出され得るユーザー入力エレメント456を提示することが可能である。
【0186】
ユーザー入力エレメント456の呼び出しに応答して、ユーザーコンピューティングデバイスは、ユーザー30が第2の行動制御ゾーンを定義することを可能にするように動作され得る。
図13Dに示されているように、ユーザー30は、ダイニングルームとして識別される環境における部屋の中の領域に対応する第2の行動制御ゾーンを定義することが可能である。インジケーター458は、第2の行動制御ゾーンを表しており、インジケーター460は、ダイニングルームを表している。インジケーター454およびインジケーター458は、動作418における例示的なプロセスの間に提示されることとなるユーザー選択された行動制御ゾーンのインジケーターの例である。
【0187】
図13Eを参照すると、ユーザー30は、第2の行動制御ゾーンのためのラベルを提供することが可能である。ユーザーインターフェース310は、ユーザー入力エレメント462を提供し、ユーザー入力エレメント462は、マップ450(
図13Dに示されている)の上の第2の行動制御ゾーンのためのラベルとして出現する第2の行動制御ゾーンのための名前をユーザー30が提供することを可能にする。次いで、
図13Fを参照すると、ユーザー30は、第2の行動制御ゾーンのタイプを識別することが可能である。行動制御ゾーンのタイプは、たとえば、電化製品、ビルトインの住宅機能、子供のためのエリア、フローリング、家具、ペットのためのエリア、季節的なエリア、または、他のエリアであることが可能である。たとえば、ごみ捨てエリア、窓、入口通路、または、環境における他のタイプのエリアなど、他の行動制御ゾーンタイプも可能である。いくつかの実装形態において、ユーザー30は、行動制御ゾーンのサブタイプをさらに定義することが可能である。たとえば、行動制御ゾーンのタイプが電化製品である場合には、選択可能なサブタイプは、電子レンジ、トースター、食洗機、洗濯機、乾燥機、または、他の適当な電化製品を含むことが可能である。または、行動制御ゾーンのタイプが家具である場合には、サブタイプは、たとえば、カウチ、コーヒーテーブル、または、他の家具タイプなどのような、特定のタイプの家具を含むことが可能である。行動制御ゾーンのタイプおよび/またはサブタイプは、行動制御ゾーンに優先順位を関連付けるために使用され得る。たとえば、タイプおよび/またはサブタイプは、特定の条件(たとえば、本開示において議論されているような時間的条件、空間的条件、環境的条件、またはロボット条件)を含むことが可能である。
【0188】
タイプおよび/またはサブタイプの選択は、いくつかの実装形態において、第2の行動制御ゾーンと優先順位との間の関連付けを自動的に引き起こすことが可能である。たとえば、行動制御ゾーンをクリーニングするためのスケジュールされた時間がすでに定義されている場合には、第2の行動制御ゾーンが、スケジュールされた時間の間にクリーニングされることとなる行動制御ゾーンに追加され得る。また、行動制御ゾーンのシーケンスは、たとえば、バックトラッキングを最小化するために、スケジュールされた時間の間に、ロボット100が行動制御ゾーンのそれぞれを効率的にクリーニングすることができるように調節され得る。
【0189】
いくつかの実装形態において、優先順位のユーザー選択は、ユーザー30が行動制御ゾーンを選択すること、および、次いで、ユーザー30によって提供される順序でロボット100が選択された行動制御ゾーンをクリーニングするミッションを開始させることを含むことが可能である。たとえば、
図13Gに示されているように、ユーザー30は、ロボット100によってクリーニングされることとなる環境におけるいくつかの行動制御ゾーン463のサブセットを選択することが可能である。行動制御ゾーン463は、部屋463aを含み、同様に、部屋463aとは別個に定義される行動制御ゾーン463bを含む。ユーザー30は、ユーザーインターフェース310を動作させ、クリーニングするための行動制御ゾーン463、および、行動制御ゾーン463をクリーニングする順序を選択することが可能である。いくつかの実装形態において、ユーザー30が行動制御ゾーン463のサブセットを選択するときに、行動制御ゾーン463がクリーニングされる順序(
図13Gに示されている例では、選択された行動制御ゾーン463の隣に数字として出現している)が自動的に選択され得る。次いで、ユーザー30は、選択された行動制御ゾーンがクリーニングされる順序を手動で修正することが可能である。行動制御ゾーンがクリーニングされる順序は、選択された行動制御ゾーンの相対的な優先順位を示している。次いで、ユーザー30は、ロボット100のためのミッションを開始させることが可能であり、そこでは、ロボット100が、選択された順序で、選択された行動制御ゾーンをクリーニングする。
【0190】
いくつかの実装形態において、優先順位は、環境において動作する複数のロボット(ロボット100を含む)に関して選択され得る。たとえば、複数のロボットは、ロボットモップおよびロボット掃除機の両方を含むことが可能であり、
図13Hを参照すると、ユーザー30は、ロボットモップおよびロボット掃除機の両方によってクリーニングされることとなる、環境におけるいくつかの行動制御ゾーン464のサブセットを選択することが可能である。ユーザー30は、
図13Gに関して説明されているものと同様の方式で、行動制御ゾーン464を選択することが可能である。行動制御ゾーン464をクリーニングするために選択されたシーケンスは、ロボットモップおよびロボット掃除機の両方に関して同じであることが可能である。いくつかの実装形態において、ユーザー30は、ロボットモップおよびロボット掃除機のために異なるシーケンスを定義することが可能であり、第1のシーケンスにおいて、ロボットモップが選択された行動制御ゾーンをクリーニングし、第2のシーケンスにおいて、ロボット掃除機が選択された行動制御ゾーンをクリーニングするようになっている。
図13Hに示されている例では、ユーザー30が、ユーザー入力エレメント466を呼び出し、ミッションを開始させるときに、ロボット掃除機は、選択されたシーケンスで、選択された行動制御ゾーンをクリーニングし、次いで、ロボットモップは、選択されたシーケンスで、選択された行動制御ゾーンをクリーニングする。
【0191】
図13I~
図13Kを参照すると、ロボット100がミッションを開始させるためのスケジュールされた時間も定義され得る。
図13I~
図13Jを参照すると、ユーザーインターフェース310は、ミッションを開始させるための時間を選択するためのユーザー入力エレメント468、および、頻度を選択するためのユーザー入力エレメント470を提示することが可能である。ユーザーインターフェース310は、ユーザー入力エレメント472をさらに提示することが可能であり、環境の全体をクリーニングすることまたは環境において定義された行動制御ゾーンのいくつかのサブセットをクリーニングすることの間で、ユーザー30が選択することを可能にする。
図13I~
図13Jに示されている例では、ユーザー30は、火曜日および木曜日に週2回の頻度で、9:00AMの時間を選択し、そこでは、ロボット100は、キッチン、リビングルーム、廊下、およびカウチの順序でクリーニングする。
図13Kを参照すると、2つのスケジュールされた時間474、476が定義されている。スケジュールされた時間474において、ロボット100は、第1のセットの行動制御ゾーン(キッチン、リビングルーム、廊下、およびカウチに関連付けられる行動制御ゾーンを含む)をクリーニングするためのミッションを開始させる。スケジュールされた時間476において、ロボット100は、第2のセットの行動制御ゾーン(寝室、浴室、および玄関に関連付けられる行動制御ゾーンを含む)をクリーニングするためのミッションを開始させる。
【0192】
図12に戻ると、動作416および418は、行動制御ゾーンおよび優先順位がロボット100を制御するために使用され得るように、ユーザー選択された行動制御ゾーンおよびその優先順位を確立するための動作を含む。動作416において、ユーザー選択された行動制御ゾーンが、コンピューティングシステム401によって定義される。動作416は、
図5に関して説明されているような動作206と同様である。動作418において、ユーザー選択された行動制御ゾーンは、ユーザー選択された優先順位に関連付けられる。動作416および418は、動作412において提供されるユーザー選択に応答して、または、動作412において提供されるユーザー選択のユーザー30による確認に応答して起こることが可能である。
【0193】
動作410、412、414、416、および418は、推奨行動制御ゾーンに基づく行動制御ゾーンのユーザー選択を含むものとして、本明細書で説明されている。いくつかの実装形態において、行動制御ゾーンは、任意のユーザー介入なしに定義される。ロボット100を制御するための行動制御ゾーンは、ユーザー30が推奨行動制御ゾーンの修正を提供する必要なしに、推奨行動制御ゾーンに基づいて自動的に生成される。動作408において提供される推奨行動制御ゾーンは、動作416において定義される行動制御ゾーンに対応することが可能である。いくつかの実装形態において、ユーザー30は、推奨行動制御ゾーンを受け入れ、行動制御ゾーンを定義するのみである。他の実装形態において、ユーザー30は、推奨行動制御ゾーンが定義されるように、推奨行動制御ゾーンを受け入れる必要はない。推奨行動制御ゾーンは、センサーイベントのサブセットが識別されると定義される。モバイルデバイス188は、推奨行動制御ゾーンを修正するためにユーザー30からの入力を要求せず、ユーザー30は、(たとえば、動作412において)推奨行動制御ゾーンを修正するために入力を提供しない。モバイルデバイス188は、推奨行動制御ゾーンのインジケーターを提示することが可能であり、また、この推奨行動制御ゾーンがロボット100を制御する行動制御ゾーンとして定義されていることを示すことが可能である。
【0194】
動作420、422、および424は、優先順位に基づいてロボット100を行動制御ゾーンへ移動させるための動作、および、ロボット100が行動制御ゾーンに到着すると行動を開始させるための動作を含む。動作420において、ロボット100は、行動制御ゾーンに関連付けられる優先順位に基づいて、行動制御ゾーンへの移動を開始させる。動作422において、コンピューティングシステム401は、ロボット100がユーザー選択された行動制御ゾーンに近接しているということまたはユーザー選択された行動制御ゾーンの中にあるということを決定する。そして、動作424において、ロボット100は、ユーザー選択された行動制御ゾーンに関連付けられる行動を開始させる。
【0195】
本開示において議論されているように、複数の行動制御ゾーンが定義され得、これらの複数の行動制御ゾーンのそれぞれは、異なる相対的な優先順位に関連付けられ得る。プロセス400において(たとえば、動作416および418において)定義される行動制御ゾーンおよび関連の優先順位は、動作420、422、および424においてロボット100の動作を制御する複数の行動制御ゾーンのうちの1つであることが可能である。ロボット100は、行動制御ゾーンの相対的な優先順位に応じて、および、ロボット100が行動制御ゾーンを訪ねることとなるミッションの間に、ロボット100がトラベルするように他の行動制御ゾーンが選択されるかどうかに応じて、他の行動制御ゾーンの前または後に、行動制御ゾーンへの移動を開始させることが可能である。たとえば、第1の優先順位に関連付けられた第1の行動制御ゾーンにおいて、および、第2の優先順位に関連付けられた第2の行動制御ゾーンにおいて、ロボット100が、行動を実施するためのミッションを実施する例では、第1の優先順位が第2の優先順位よりも高い場合には、ロボット100は、第2の行動制御ゾーンへの移動を開始させる前に、第1の行動制御ゾーンへの移動を開始させる。
【0196】
そのうえ、本開示において議論されているように、行動制御ゾーンへの移動を開始させるようにロボット100をトリガーする条件は、実装形態において変化することが可能である。たとえば、いくつかの実装形態において、ロボット100は、条件(たとえば、時間的条件、空間的条件、環境的条件、またはロボット条件)が満足されることに応答して、動作420において行動制御ゾーンへの移動を開始させる。
【0197】
いくつかの実装形態において、プロセス400において定義された行動制御ゾーンがクリーンゾーンである場合には、ロボット100は、カバレッジ行動の間に実施されるクリーン行動と一貫した行動制御ゾーンにおけるクリーン行動を実施することが可能である。この点において、ロボット100は、行動制御ゾーンにおけるクリーン行動を実施する際に、移動速度、バキュームパワー、移動パターン、または、他のクリーニングパラメーターを変化させない。いくつかの実装形態において、行動制御ゾーンは、集中的なクリーン行動に関連付けられ、集中的なクリーン行動では、行動制御ゾーンにおけるクリーン行動を実施する際に、ロボット100が、移動速度、バキュームパワー、移動パターン、または、他のクリーニングパラメーターを変化させる。たとえば、集中的なクリーン行動は、ロボット100が行動制御ゾーンを2回以上カバーすること、自律型クリーニングロボットのバキュームパワーを増加させること、または、自律型クリーニングロボットの移動速度を減少させることを引き起こすことが可能である。
【0198】
図14A~
図14Fは、ロボット100が環境を動き回り、行動制御ゾーンおよびそれらの関連の優先順位にしたがって環境をクリーニングする例を示している。これらの例では、環境は部屋であるが、これらの例に関して説明されているシステムおよびプロセスは、ロボット100が複数の部屋を含有する環境において動作する実装形態に適用可能である。
図14A~
図14Fに示されている行動制御ゾーンに関して説明されている行動は、クリーン行動であるが、他の実装形態において、他の行動が、行動制御ゾーンのうちの1つまたは複数において実施され得る。
【0199】
図14Aを参照すると、行動制御ゾーン480a、480b、480c、480d、480e、480f(集合的に行動制御ゾーン480と称される)が、たとえば、プロセス400の例を使用して定義される。行動制御ゾーン480bは、入口通路ラグ481と関連付けられ得る。行動制御ゾーン480cは、キッチン表面482に関連付けられ得る。行動制御ゾーン480dは、ダイニングルームエリア483に関連付けられ得る。そして、行動制御ゾーン480a、480e、480fは、部屋のコーナー部分484に関連付けられ得る。
図14Aにおいて、ロボット100は、ドッキングステーション50においてドッキングされた状態で示されている。行動制御ゾーン480は、異なる関連の優先順位をそれぞれ有することが可能であり、ロボット100が、他の行動制御ゾーン480よりも行動制御ゾーン480のうちの1つまたは複数を優先するようになっている。たとえば、
図14Aに示されている例では、行動制御ゾーン480がクリーンゾーンである実装形態において、ロボット100は、行動制御ゾーン480a、次いで行動制御ゾーン480b、次いで行動制御ゾーン480c、次いで行動制御ゾーン480d、次いで行動制御ゾーン480e、および次いで行動制御ゾーン480fをクリーニングすることを優先することが可能である。時間的に制約されているミッションでは、ロボット100は、他の行動制御ゾーンよりも行動制御ゾーン480aをクリーニングすることを優先することが可能である。
【0200】
図14B~
図14Fは、行動制御ゾーン480に関連付けられている優先順位がロボット100のナビゲーションを制御するさらなる例を示している。1つまたは複数の行動制御ゾーン480は、時間的条件に応答する優先順位と関連付けられ得る。たとえば、
図14Bを参照すると、入口通路ラグ481と関連付けられる行動制御ゾーン480bは、ミッションの開始時にロボット100が行動制御ゾーン480bへの移動を開始させる時間的条件と関連付けられ得る。ミッションは、スケジュールされたミッションであることが可能であり、または、ユーザー30が手動で開始させるミッションであることが可能である。行動制御ゾーン480bの優先順位は、ドッキングステーション50から始まるミッションをロボット100が開始させるときに、ロボット100が最初に行動制御ゾーン480bへ移動し、行動制御ゾーン480bにおいてクリーン行動を実施するように定義され得る。たとえば、ロボット100は、行動制御ゾーン480bにおける一連の平行な列に沿って移動し、クリーン行動を実施する。クリーン行動を実施した後に、ロボット100は、環境の残りの部分をクリーニングするために、カバレッジ行動を実施するように進行することが可能である。代替的に、ミッションは、スケジュールされたミッションであり、行動制御ゾーン480bの優先順位は、ロボット100が行動制御ゾーン480bをクリーニングし、次いで、ドッキングステーション50に戻るように定義され得る。
【0201】
優先順位が時間的条件に応答するさらなる例では、
図14Cを参照すると、行動制御ゾーン480は、ロボット100がミッションにおいて行動制御ゾーン480a~480fのそれぞれへの移動をシーケンシャルに開始させ、行動制御ゾーン480a~480fのそれぞれにおいてクリーン行動を実施する、時間的条件に関連付けられ得る。たとえば、ユーザー30は、選択されたセットの行動制御ゾーン(すなわち、行動制御ゾーン480a~480f)をクリーニングするために、特定の時間においてミッションをスケジューリングすることが可能である。スケジュールされた時間において、ロボット100は、ドッキングステーション50を離れ、次いで、行動制御ゾーン480aへの移動を開始させる。行動制御ゾーン480aにおけるクリーン行動を実施した後に、ロボット100は、行動制御ゾーン480bへの移動を開始させ、次いで、行動制御ゾーン480bにおけるクリーン行動を実施する。行動制御ゾーン480bにおけるクリーン行動を実施した後に、ロボット100は、行動制御ゾーン480cへの移動を開始させ、次いで、行動制御ゾーン480cにおけるクリーン行動を実施する。行動制御ゾーン480cにおけるクリーン行動を実施した後に、ロボット100は、行動制御ゾーン480dへの移動を開始させ、次いで、行動制御ゾーン480dにおけるクリーン行動を実施する。行動制御ゾーン480dにおけるクリーン行動を実施した後に、ロボット100は、行動制御ゾーン480eへの移動を開始させ、次いで、行動制御ゾーン480eにおけるクリーン行動を実施する。行動制御ゾーン480eにおけるクリーン行動を実施した後に、ロボット100は、行動制御ゾーン480fへの移動を開始させ、次いで、行動制御ゾーン480fにおけるクリーン行動を実施する。行動制御ゾーン480fにおけるクリーン行動を実施した後に、ロボット100は、ドッキングステーション50へ戻る移動を開始させる。したがって、この例において行動制御ゾーン480に関連付けられる優先順位は、スケジュールされたミッションの間に、および、相対的な優先順位に基づくシーケンスで、ロボット100が行動制御ゾーン480への移動を開始させることを結果として生じさせる。
【0202】
行動制御ゾーン480のうちの1つまたは複数は、空間的条件に応答する優先順位に関連付けられ得る。たとえば、
図14Dを参照すると、行動制御ゾーン480bは、入口領域485aの中にあることに応答して、ロボット100が行動制御ゾーン480bへの移動を開始させる、空間的条件と関連付けられ得る。たとえば、ロボット100が環境を動き回り、マップを構築するためのマッピングデータを発生させるときに、領域(たとえば、部屋、または、部屋よりも小さい領域)が識別され得る。複数の部屋を備えた環境において、領域は、部屋(たとえば、入口ルーム、キッチンルーム、またはダイニングルーム)であることが可能である。
図14Dに示されている例では、領域は、入口領域485a、キッチン領域485b、およびダイニング領域485cを含むことが可能である。入口領域485aに関連付けられる優先順位は、ロボット100が入口領域485aの中にあることに応答して、ロボット100が行動制御ゾーン480bへの移動を開始させるように選択される。次いで、ロボット100は、ロボット100が行動制御ゾーン480bに遭遇すると行動を実施する。
【0203】
行動制御ゾーン480のうちの1つまたは複数は、環境的条件に応答する優先順位に関連付けられ得る。
図14Eを参照すると、行動制御ゾーン480bは、人間の占有者486が環境に進入することに応答して、ロボット100が行動制御ゾーン480bへの移動を開始させる、環境的条件に関連付けられ得る。ロボット100は、人間の占有者486が環境に進入することを示すデータを受信することが可能である。たとえば、人間の占有者486によって運ばれるユーザーコンピューティングデバイスは、ユーザーコンピューティングデバイスの場所を示す場所データを発生させることが可能であり、これらの場所データに基づいて、人間の占有者486が環境に進入することを示すデータを送信することが可能である。したがって、行動制御ゾーン480bに関する環境条件に応答する優先順位は、人間の占有者486が環境に進入したときに、人間の占有者486が環境の中へ持ち込んだ可能性のあるデブリを、ロボット100がクリーニングすることを可能にすることができる。
【0204】
行動制御ゾーン480のうちの1つまたは複数は、ロボット条件に応答する優先順位に関連付けられ得る。
図14Fを参照すると、たとえば、行動制御ゾーン480bは、ロボット100の低バッテリーステータスに応答して、ロボット100が行動制御ゾーン480aへの移動を開始させる、ロボット条件に関連付けられ得る。たとえば、低バッテリーステータスは、バッテリーレベルがバッテリーレベル閾値を下回るときに(たとえば、5%から25%の間にあるか、10%から20%の間にあるか、または、他の適当な値にある)起こる可能性がある。
図14Fに示されている例では、低バッテリーステータスは、ロボット100が場所487にあるときにトリガーされる。低バッテリーステータスがトリガーされると、ロボット100は、行動制御ゾーン480aへの移動を開始させ、次いで、行動制御ゾーン480aにおけるクリーン行動を実施する。行動制御ゾーン480aにおけるクリーン行動を実施した後に、ロボット100は、再充電のためにドッキングステーション50に戻る。いくつかの実装形態において、行動制御ゾーン480aへの移動を開始させるようにロボット100をトリガーする低バッテリーステータスであることではなく、ロボット100のデブリビンに関するほぼ満杯のステータスが、行動制御ゾーン480aへの移動を開始させるようにロボット100をトリガーすることが可能である。たとえば、デブリビンの中のデブリレベルが閾値レベル(たとえば、ビン容量の少なくとも70%から90%)よりも大きい場合には、ロボット100は、行動制御ゾーン480aへの移動を開始させ、次いで、行動制御ゾーン480aにおけるクリーン行動を実施することが可能である。次いで、ロボット100は、ドッキングステーション50に戻り、ドッキングステーション50がロボット100からドッキングステーション50のデブリチャンバーの中へデブリを退避させることを可能にすることができる。
【0205】
図15~
図16、
図17A~
図17B、および
図18A~
図18Cは、ロボットが行動制御ゾーンを横断するときに、自律型移動ロボット(たとえば、ロボット100)が行動を無効にすることを引き起こすために、行動制御ゾーンを定義する例示的な方法を図示している。
図15において、プロセス500は、動作502および504を含む。プロセス500は、ロボット100が領域を横断することを防止することができる特定の行動をロボット100が無効にする、環境の中の領域を確立するために使用される。
【0206】
動作502において、ロボット100が環境を動き回るときにロボット100によって収集されたマッピングデータが受信される。動作502は、
図11のプロセス350に関して説明されている動作352と同様であることが可能である。
【0207】
動作504において、マッピングデータの一部分に対応する行動制御ゾーンが定義される。行動制御ゾーンは、ロボット100が行動制御ゾーンを横断するときに、ロボット100が行動を無効にすることを引き起こす。ロボット100は、行動制御ゾーンを示すデータを受信し、次いで、データに基づいて、行動制御ゾーンに遭遇することに応答して、行動を無効にすることが可能である。
【0208】
無効にされる行動は、実装形態において変化することが可能である。いくつかの実装形態において、行動は、クリーン行動である。たとえば、ユーザーがクワイエットゾーンを確立することを望む場合には(クワイエットゾーンでは、ロボット100が環境においてより少ない騒音を作り出す)、行動制御ゾーンは、ロボット100によって作り出される騒音を低減させるために、ロボット100がクリーニングシステムおよび/またはバキュームシステム119(
図3Aに示されている)を無効にするゾーンであることが可能である。いくつかの実装形態において、無効にされる行動は、ラグライドアップ行動であり、ラグライドアップ行動は、本開示において議論されているように、ロボット100の一部分が上向きに移動することを引き起こす表面特徴を示す運動をロボット100が検出することに応答してトリガーされる。
【0209】
図15を参照すると、ロボット100の行動を無効にするための推奨行動制御ゾーンを提供するための、ユーザー選択された行動制御ゾーンを定義するための、および、ロボットがユーザー選択された行動制御ゾーンを横断するときに行動が無効にされるようにロボット100を制御するためのプロセス600が図示されている。プロセス600は、動作602、604、606、608、610、612、614、616、618、および620を含む。
【0210】
動作602および604は、ロボット100の動作を含む。その理由は、ロボット100がクリーニングミッションまたはトレーニングミッションを実施し、環境において作動するからである。動作602において、ロボット100が、環境において作動することを開始させる。動作604において、ロボット100は、ロボット100が環境において作動するときに、センサーデータを収集し、環境のマッピングデータを発生させる。動作602および604は、動作402および404とそれぞれ同様であることが可能である。
【0211】
動作606、608、および610は、ロボット100の行動を無効にするための推奨行動制御ゾーンを発生させるための動作を含む。動作606において、コンピューティングシステム401は、ロボット100のセンサーイベントのサブセットを識別する。動作608において、推奨行動制御を示すデータが発生させられ、ユーザーコンピューティングデバイス188に提供される。動作610において、ユーザーコンピューティングデバイス188は、推奨行動制御ゾーンのインジケーターを提示する。
【0212】
動作606は、プロセス200の動作202およびプロセス400の動作406と同様であることが可能である。具体的には、センサーイベントのセットは、ロボット100がフロア表面の横断可能な部分を横断することを可能にするために無効にされるべき行動を示す、動作202に関連して説明されているセンサーイベントのセットに対応することが可能である。推奨行動制御ゾーンが、ロボット100が推奨行動制御ゾーンを横断するときにロボット100の行動を無効にするための行動制御ゾーンであるということを除いて、動作608は、プロセス200の動作204およびプロセス400の動作408と同様であることが可能である。動作610は、動作410と同様であることが可能である。
【0213】
動作612および614は、ユーザー30が行動制御ゾーンを選択するための動作を含む。動作612において、ユーザー30は、ユーザー選択された行動制御ゾーンを示す入力を提供する。動作614において、ユーザーコンピューティングデバイス188は、ユーザー選択された行動制御ゾーンのインジケーターを提示する。ユーザー30は、推奨行動制御ゾーンを受け入れるか、推奨行動制御ゾーンを修正するか、または、動作412に関して議論されている様式で、推奨行動制御ゾーンを修正することが可能であり、ユーザーインターフェースは、動作414に関して議論されている様式で更新され得る。
【0214】
ユーザー30は、ユーザーコンピューティングデバイス188を動作させ、動作612においてユーザー選択された行動制御ゾーンを示す入力を提供することが可能である。
図17Aおよび
図17Bは、ユーザー30がこのようにユーザーコンピューティングデバイス188を動作させる例を図示している。
図17Aおよび
図17Bに図示されている例では、推奨行動制御ゾーンは、ユーザー30に提供されていない。
図17Aを参照すると、ユーザーインターフェース310は、環境のマップ630を提示している。ユーザーインターフェース310は、間取り図の視覚的表現を提供する(部屋および部屋間の境界部の表現図を含む)。たとえば、ユーザーインターフェース310は、環境における部屋のインジケーター634a~634gの間の境界部のインジケーター632a~632gを提示することが可能である。ユーザーインターフェース310は、ユーザー30がユーザー選択された行動制御ゾーンを定義するために呼び出すことができるユーザー入力エレメント636を提示する。
【0215】
図17Bを参照すると、ユーザー入力エレメント636が呼び出された後に、ユーザー30は、ユーザーインターフェース310を動作させ、境界部のインジケーター632a~632g(
図17Aに示されている)のうちの1つを選択し、行動制御ゾーンを定義することが可能である。
図17Bに示されている例では、ユーザー30は、インジケーター632aを呼び出し、インジケーター632aによって表される境界部に沿って行動制御ゾーン638を定義する。本開示において議論されているように、行動制御ゾーン638に遭遇することに応答して、ロボット100は、ロボット100が行動制御ゾーン638を横断するときに、障害物回避行動(たとえば、ラグライドアップ行動)を無効にし、それによって、ロボット100が行動制御ゾーン638から離れるように移動することを引き起こすこととなる行動をトリガーすることなく、ロボット100が行動制御ゾーン638を横断することを可能にする。
【0216】
動作616は、ユーザー選択された行動制御ゾーンがロボット100によるミッション(たとえば、現在のミッション、同時に開始されるミッション、または、その後に開始されるミッション)において使用されることを可能にするように、ユーザー選択された行動制御ゾーンを定義することを含む。動作616において、ユーザー選択された行動制御ゾーンは、コンピューティングシステム401によって定義される。動作616は、
図5に関して説明されているような動作206と同様である。
【0217】
動作618および620は、ロボット100がユーザー選択された行動制御ゾーンに到着すると行動を開始させるための動作を含む。動作618において、コンピューティングシステム401は、ロボット100がユーザー選択された行動制御ゾーンに近接しているということまたはユーザー選択された行動制御ゾーンの中にあるということを決定する。動作620において、ロボット100は、ロボット100がユーザー選択された行動制御ゾーンを通ってナビゲートするときに行動を無効にする。動作504に関して議論されているように、行動は、ラグライドアップ行動、クリーニング行動、または、ロボット100の何らかの他の適当な行動であることが可能である。
【0218】
図18A~
図18Cは、ロボット100が行動制御ゾーンを横断するときに行動を無効にするようにロボット100をトリガーするように構成されている行動制御ゾーンにしたがって動作するロボット100の例を図示している。
図18Aを参照すると、ロボット100は、第1の部屋642、第2の部屋644、および、第1の部屋642と第2の部屋644との間の廊下646を含む、環境をナビゲートして回る。第1の境界部648は、第1の部屋642から廊下646を分離しており、第2の境界部650は、第2の部屋644から廊下646を分離している。
図18Aは、たとえば、第1の部屋642をクリーニングするためにカバレッジ行動を実施しているロボット100を示している。ロボット100がカバレッジ行動を実施するとき、ロボット100は、ライドアップしたラグ651の一部分652に応答してラグライドアップ行動を開始させる。ロボット100は、ライドアップした部分652に遭遇し、次いで、ラグ651の部分652を回避するためにラグライドアップ行動を開始させる。ラグライドアップ行動において、ロボット100は、ラグ651の部分652から離れるように反転し、ラグ651の部分652を乗り越えること、および、潜在的に動けなくなることを回避する。
【0219】
図18Bは、第1の境界部648または第2の境界部650を横切る行動制御ゾーンを備えない環境において動作するロボット100の例を示している。たとえば、ロボット100は、第1の部屋642をクリーニングするためにカバレッジ行動を実施する。ロボット100がカバレッジ行動を実施するとき、ロボット100は、第1の境界部648に遭遇することに応答して、ラグライドアップ行動を開始させ、第1の境界部648から離れるように反転する。第1の境界部648または第2の境界部650に応答してロボット100がラグライドアップ行動をトリガーすることを回避するために、ユーザーは、第1の境界部648をカバーする行動制御ゾーン、および、第2の境界部650をカバーする行動制御ゾーンを確立することが可能である。
【0220】
図18Cは、そのような行動制御ゾーンが、たとえば、本開示において説明されている方法を使用して確立された例を示している。第1の行動制御ゾーン653は、第1の境界部648をカバーしており、第2の行動制御ゾーン654は、第2の境界部650をカバーしている。第1および第2の行動制御ゾーン653、654は、ロボット100が行動制御ゾーン653、654に遭遇することに応答して、ロボット100がラグライドアップ行動を無効にすることを引き起こすように構成されている。
図18Cに示されているように、第1の境界部648に遭遇することに応答して第1の境界部648に対して反転する代わりに、ロボット100は、第1の境界部648を横断する。その理由は、第1の行動制御ゾーン653は、ロボット100がそのラグライドアップ行動を無効にすることを引き起こすからである。同様に、第2の境界部650に遭遇することに応答して第2の境界部650に対して反転する代わりに、ロボット100は、第2の境界部650を横断する。その理由は、第2の行動制御ゾーン654は、ロボット100がそのラグライドアップ行動を無効にすることを引き起こすからである。したがって、ロボット100は、第1の境界部648および第2の境界部650がロボット100の移動を妨害することなく、廊下646を横切って第2の部屋644の中へ入ることができる。いくつかの実装形態において、ロボット100は、第2の境界部650を横切って第2の部屋644の中へ前進する前に、廊下646の中でカバレッジ行動を実施することが可能である。
【0221】
ユーザーインターフェース310は、ユーザーのための視覚的情報を提示するものとして説明されている。ユーザーインターフェース310は、実装形態において変化することが可能である。ユーザーインターフェース310は、不透明なディスプレイまたは透明なディスプレイであることが可能である。
図4に示されている実装形態では、ユーザーコンピューティングデバイス188は、ディスプレイの上で見ることができるイメージとしてマップを視覚的に提示することができる不透明なディスプレイを含むことが可能である。いくつかの実装形態において、ユーザーコンピューティングデバイス188は、透明なディスプレイを含むことが可能であり、透明なディスプレイは、ディスプレイがマップの仮想現実表現図を提示することおよびマップの上に重ね合わせられたインジケーターを提示することを可能にする。
【0222】
図2および
図3A~
図3Bに示されているロボット100は、フロアクリーニングロボットである。とりわけ、ロボット100は、ロボット掃除機であり、ロボット掃除機は、フロア表面10を動き回り、ロボット100がフロア表面10の上のデブリの上方を移動するときに、デブリを取り込む。ロボットのタイプは、実装形態において変化することが可能である。いくつかの実装形態において、ロボットは、フロアクリーニングロボットであり、フロアクリーニングロボットは、フロア表面に沿って移動されるクリーニングパッドを使用し、フロア表面の上のデブリを収集する。ロボットは、流体適用デバイス(たとえば、噴霧デバイスなど)を含むことが可能であり、流体適用デバイスは、流体(たとえば、水または洗浄剤を含むクリーニング溶液など)をフロア表面に適用し、フロア表面の上のデブリを緩める。ロボットのクリーニングパッドは、ロボットがフロア表面に沿って移動するときに、流体を吸収することが可能である。本明細書で説明されている行動制御ゾーンの使用に加えて、ロボットがウェットクリーニングロボットであるときに、行動制御ゾーンは、ロボットの他のパラメーターを制御するために使用され得る。たとえば、行動制御ゾーンは、ロボットの流体適用パターンを制御するために使用され得る。ロボットがフロア表面を横切って移動するときに、ロボットは、特定のレートで流体を噴霧することが可能である。ロボットが行動制御ゾーンに遭遇するかまたはその中へ進入するときに、ロボットが流体を噴霧するレートは変化することが可能である。そのような行動制御ゾーンは、フロア表面タイプの変化を示すセンサーイベントに応答して推奨され得る。
【0223】
いくつかの実装形態において、イメージキャプチャーデバイスを備えたパトロールロボットが使用され得る。パトロールロボットは、メカニズムを含み、パトロールロボットの本体部に対してイメージキャプチャーデバイスを移動させることが可能である。ロボットがパトロールロボットであるときに、行動制御ゾーンは、本明細書で説明されているものに加えて、ロボットのパラメーターを制御するために使用され得る。
【0224】
ロボット100は円形ロボットとして説明されているが、他の実装形態において、ロボット100は、実質的に長方形である前方部分と、実質的に半円形である後方部分とを含むロボットであることが可能である。いくつかの実装形態において、ロボット100は、実質的に長方形である外側周囲を有している。
【0225】
いくつかの実装形態において、推奨行動制御ゾーンおよび/またはユーザー選択された行動制御ゾーンは、行動制御ゾーンが推奨または選択されるときに、環境における特徴にスナップすることが可能である。たとえば、特徴は、壁、部屋の周囲、障害物の周囲、部屋の物体、部屋、戸口、廊下、または、環境における他の物理的な特徴であることが可能である。
【0226】
本明細書で説明されているロボットおよび技法、または、その一部分は、インストラクションを含むコンピュータープログラム製品によって制御され得、インストラクションは、1つまたは複数の非一時的な機械可読ストレージ媒体の上に記憶されており、インストラクションは、本明細書で説明されている動作を制御する(たとえば、調整する)ために、1つまたは複数の処理デバイスの上で実行可能である。本明細書で説明されているロボット、または、その一部分は、さまざまな動作を実装するために実行可能なインストラクションを記憶するための1つまたは複数の処理デバイスおよびメモリーを含むことができる装置または電子システムのすべてまたは一部として実装され得る。
【0227】
本明細書で説明されているロボット動作および制御のすべてまたは一部を実装することに関連付けられる動作は、本明細書で説明されている機能を果たすために1つまたは複数のコンピュータープログラムを実行する1つまたは複数のプログラマブルプロセッサーによって実施され得る。たとえば、モバイルデバイス、モバイルデバイスおよび自律型クリーニングロボットと通信するように構成されているクラウドコンピューティングシステム、ならびに、ロボットのコントローラーは、たとえば、信号を送信すること、推定値をコンピューター計算すること、または、信号を解釈することなど、機能を実行するためのコンピュータープログラムによってプログラムされたプロセッサーをすべて含むことが可能である。コンピュータープログラムは、任意の形態のプログラミング言語(コンパイル言語または解釈言語を含む)で書かれ得、それは、任意の形態で展開され得る(スタンドアロンプログラムとして、または、モジュール、コンポーネント、サブルーチン、もしくは、コンピューティング環境において使用するのに適切な他のユニットとして展開されることを含む)。
【0228】
本明細書で説明されているコントローラーおよびモバイルデバイスは、1つまたは複数のプロセッサーを含むことが可能である。コンピュータープログラムの実行に適切なプロセッサーは、例として、汎用および特殊用途の両方のマイクロプロセッサー、および、任意の種類のデジタルコンピューターの任意の1つまたは複数のプロセッサーを含む。一般的に、プロセッサーは、リードオンリーストレージエリアもしくはランダムアクセスストレージエリアまたはその両方から、インストラクションおよびデータを受信することとなる。コンピューターのエレメントは、インストラクションを実行するための1つまたは複数のプロセッサーと、インストラクションおよびデータを記憶するための1つまたは複数のストレージエリアデバイスとを含む。一般的に、コンピューターは、また、1つまたは複数の機械可読ストレージ媒体(たとえば、データを記憶するためのマスPCBなど)(たとえば、磁気ディスク、光磁気ディスク、または光ディスク)を含むこととなり、または、それからデータを受信するために、または、それにデータを転送するために、または、その両方のために、動作可能に連結されることとなる。コンピュータープログラムインストラクションおよびデータを具現化するのに適切な機械可読ストレージ媒体は、すべての形態の不揮発性のストレージエリアを含み、それは、例として、半導体ストレージエリアデバイス、たとえば、EPROM、EEPROM、およびフラッシュストレージエリアデバイス;磁気ディスク、たとえば、内部ハードディスクまたはリムーバブルディスク;光磁気ディスク;ならびに、CD-ROMおよびDVD-ROMディスクを含む。
【0229】
本明細書で説明されているロボット制御および動作技法は、クリーニングロボット以外の他のモバイルロボットを制御することに適用可能であり得る。たとえば、芝刈りロボットまたは空間監視ロボットは、本明細書で説明されているように、芝生または空間の特定の部分において動作を実施するようにトレーニングされ得る。
【0230】
本明細書で説明されている異なる実装形態のエレメントは、具体的には上記に記載されていない他の実装形態を形成するために組み合わせられ得る。エレメントは、それらの動作に悪影響を与えることなく、本明細書で説明されている構造体から省略され得る。そのうえ、さまざまな別個のエレメントは、本明細書で説明されている機能を果たすために、1つまたは複数の個々のエレメントの中へ組み合わせられ得る。
【0231】
複数の実装形態が説明されてきた。それにもかかわらず、さまざまな修正が行われ得るということが理解されることとなる。したがって、他の実装形態も特許請求の範囲の中にある。
【符号の説明】
【0232】
10 フロア表面
20 行動制御ゾーン
20a、20b、20c、20d 行動制御ゾーン
30 ユーザー
32 経路
50 ドッキングステーション
100 ロボット
105 デブリ
106 電気回路
108 ハウジングインフラストラクチャー
109 コントローラー
110 ドライブシステム
112 ドライブホイール
113 底部部分
114 モーター
115 キャスターホイール
116 クリーニングアッセンブリ
117 クリーニング入口部
118 回転可能な部材
119 バキュームシステム
120 モーター
121 後方部分
122 前方部分
124 デブリビン
126 ブラシ
128 モーター
134 クリフセンサー
136a、136b、136c 近接センサー
137 光インジケーターシステム
138 バンパー
139a、139b バンプセンサー
140 イメージキャプチャーデバイス
141 障害物追従センサー
142 上部部分
143 連続的なループ
144 メモリーストレージエレメント
145 吸引経路
146 水平方向軸線
147 デブリ検出センサー
148 水平方向軸線
149 蓋
150 側部表面
151 ビン容量センサー
152 側部表面
154 前方表面
156 コーナー表面
158 コーナー表面
162 中心
180 光学検出器
182 光学エミッター
184 光学エミッター
185 通信ネットワーク
188 ユーザーコンピューティングデバイス
190 自律型移動ロボット
192 リモートコンピューティングシステム
210 環境
212 センサーイベント
214 閾値距離
216 クラスター
218 クラスター
220 クラスター
230 環境
232 センサーイベント
234 センサーイベント
236 センサーイベント
241 クラスター
242 クラスター
243 クラスター
244 クラスター
245 クラスター
246 クラスター
247 クラスター
248 クラスター
248a、248b クラスター
249 クラスター
250 ドッキングステーション
260 行動制御ゾーン
261 行動制御ゾーン
262 推奨行動制御ゾーン
265 経路
266 第1の部屋
267 第2の部屋
268 経路
269 第3の部屋
270 横断可能な経路
310 ユーザーインターフェース
312 通知
314 通知
316 マップ
318 第1のインジケーター
319 コーナー
320 第2のインジケーター
321 下向き方向
322 第1の部分
324 第2の部分
330a、330b 寸法
332a、332b 寸法
334 マップ
336 インジケーター
338 インジケーター
339 部分
340 インジケーター
342 インジケーター
401 コンピューティングシステム
430 通知
432 行動制御ゾーン
434 インジケーター
436 推奨
440 通知
442 行動制御ゾーン
444 ダイニングルーム
450 マップ
452 インジケーター
453 ラベル
454 インジケーター
456 ユーザー入力エレメント
458 インジケーター
460 インジケーター
462 ユーザー入力エレメント
463 行動制御ゾーン
463a 部屋
463b 行動制御ゾーン
464 行動制御ゾーン
466 ユーザー入力エレメント
468 ユーザー入力エレメント
470 ユーザー入力エレメント
472 ユーザー入力エレメント
474 スケジュールされた時間
476 スケジュールされた時間
480 行動制御ゾーン
480a、480b、480c、480d、480e、480f 行動制御ゾーン
481 入口通路ラグ
482 キッチン表面
483 ダイニングルームエリア
484 コーナー部分
485a 入口領域
485b キッチン領域
485c ダイニング領域
486 人間の占有者
487 場所
630 マップ
632a~632g 境界部のインジケーター
634a~634g 部屋のインジケーター
636 ユーザー入力エレメント
638 行動制御ゾーン
642 第1の部屋
644 第2の部屋
646 廊下
648 第1の境界部
650 第2の境界部
651 ラグ
652 一部分
653 第1の行動制御ゾーン
654 第2の行動制御ゾーン
D1 水平方向距離
F 前方ドライブ方向
FA 前後軸線
H1 高さ
L1 全体的な長さ
LA 横方向軸線
R 後方ドライブ方向
W1 全体的な幅
【国際調査報告】