IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アイロボット・コーポレーションの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-19
(45)【発行日】2024-01-29
(54)【発明の名称】自律移動ロボットの制御
(51)【国際特許分類】
   G05D 1/43 20240101AFI20240122BHJP
【FI】
G05D1/02 H
【請求項の数】 30
(21)【出願番号】P 2021559620
(86)(22)【出願日】2020-04-01
(65)【公表番号】
(43)【公表日】2022-09-29
(86)【国際出願番号】 US2020026183
(87)【国際公開番号】W WO2020242593
(87)【国際公開日】2020-12-03
【審査請求日】2023-02-22
(31)【優先権主張番号】16/425,658
(32)【優先日】2019-05-29
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】313013863
【氏名又は名称】アイロボット・コーポレーション
(74)【代理人】
【識別番号】100188558
【弁理士】
【氏名又は名称】飯田 雅人
(74)【代理人】
【識別番号】100154922
【弁理士】
【氏名又は名称】崔 允辰
(72)【発明者】
【氏名】マリオ・ミュニック
(72)【発明者】
【氏名】フィリップ・フォング
(72)【発明者】
【氏名】ヴァズゲン・カラペティアン
(72)【発明者】
【氏名】アンドレアス・コリング
【審査官】田中 友章
(56)【参考文献】
【文献】特開2000-353014(JP,A)
【文献】国際公開第2018/034686(WO,A1)
【文献】国際公開第2018/053100(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/02
(57)【特許請求の範囲】
【請求項1】
自律移動ロボットであって、
表面の上前記ロボットを支持するための駆動システムであって、前記表面を動き回る前記ロボットをナビゲートするように動作可能である駆動システムと、
前記表面上の前記ロボットの配置を示す信号を生成するように構成されているセンサシステムと、
前記駆動システムおよび前記センサシステムに動作可能に接続されているコントローラであって、オペレーションを実行する命令を実行するように構成され、前記オペレーションは、
前記表面上動作制御ゾーンの配置を定義するユーザ命令を受信することと、
前記動作制御ゾーンの前記配置を定義するユーザ命令を受信したことに応答して、前記動作制御ゾーンの定義された前記配置を確認するために、前記表面上の前記動作制御ゾーンの定義された前記配置まで前記ロボットを操縦するように前記駆動システムを制御することと、
動作制御ゾーンの定義された前記配置まで前記ロボットを操縦するように前記駆動システムを制御した後、前記表面上の前記動作制御ゾーンを確立することと、
前記動作制御ゾーンを確立した後、清掃ミッションにおいて、前記駆動システムを使用して、前記表面を動き回る前記ロボットを操縦するとともに、前記ロボットの前記配置を示す前記信号に基づき前記ロボットが前記動作制御ゾーンに近いと決定したことに応答して動作を開始させることと
前記ロボットの自律オペレーションの遂行中に前記ロボットが前記動作制御ゾーンに遭遇したかどうかに関係する情報を生成することを含む、コントローラとを備える自律移動ロボット。
【請求項2】
ライトインジケータシステムをさらに備え、前記コントローラは、前記ライトインジケータシステムに動作可能に接続され、前記オペレーションは、前記動作制御ゾーンの定義された前記配置まで前記ロボットを操縦するように前記駆動システムを制御することに応答して前記ライトインジケータシステムを作動させることを含む請求項1に記載のロボット。
【請求項3】
前記動作制御ゾーンの定義された前記配置まで前記ロボットを操縦するように前記駆動システムを制御することに応答して前記ライトインジケータシステムを作動させることは、前記ロボットの前記配置に関する前記動作制御ゾーンの方向を示すように前記ライトインジケータシステムを作動させることを含む請求項2に記載のロボット。
【請求項4】
前記オペレーションは、前記動作制御ゾーンの定義された前記配置まで前記ロボットが操縦されことに応答して前記ライトインジケータシステムを作動させることを含む請求項2に記載のロボット。
【請求項5】
前記動作制御ゾーンの定義された前記配置まで前記ロボットを操縦するように前記駆動システムを制御することは、前記動作制御ゾーンの少なくとも一部を通して前記ロボットをナビゲートするように前記駆動システムを制御することをさらに含む請求項1に記載のロボット。
【請求項6】
前記動作制御ゾーンの少なくとも前記一部を通して前記ロボットをナビゲートするように前記駆動システムを制御することは、ユーザ命令をワイヤレス方式で受信したことに応答して、前記動作制御ゾーンの少なくとも前記一部を通して前記ロボットをナビゲートするように前記駆動システムを制御することを含む請求項5に記載のロボット。
【請求項7】
前記動作制御ゾーンの前記一部は、前記動作制御ゾーンの周囲を含む請求項5に記載のロボット。
【請求項8】
前記動作制御ゾーンの前記一部は、前記動作制御ゾーンの内部を通る経路を含む請求項5に記載のロボット。
【請求項9】
前記オペレーションは、
前記表面の地図を提示することをモバイルデバイスに行わせるために地図作成データを伝送することと、
前記モバイルデバイスから前記動作制御ゾーンを確立するユーザ命令を受信することと、をさらに含む請求項1に記載のロボット。
【請求項10】
前記動作制御ゾーンの定義された前記配置まで前記ロボットを操縦するように前記駆動システムを制御することは、前記動作制御ゾーンの周囲に沿って前記ロボットをナビゲートするように前記駆動システムを制御することを含む請求項1に記載のロボット。
【請求項11】
自律移動ロボットであって、
表面の上で前記ロボットを支持するための駆動システムであって、前記表面を動き回る前記ロボットをナビゲートするように動作可能である駆動システムと、
前記表面上の前記ロボットの配置を示す信号を生成するように構成されているセンサシステムと、
前記駆動システムおよび前記センサシステムに動作可能に接続されているコントローラであって、オペレーションを実行する命令を実行するように構成され、前記オペレーションは、
前記表面上の動作制御ゾーンの配置を定義するユーザ命令を受信することと、
前記動作制御ゾーンの前記配置を定義するユーザ命令を受信したことに応答して、前記動作制御ゾーンの定義された前記配置を確認するために、前記表面上の前記動作制御ゾーンの定義された前記配置まで前記ロボットを操縦するように前記駆動システムを制御することと、
動作制御ゾーンの定義された前記配置まで前記ロボットを操縦するように前記駆動システムを制御した後、前記表面上の前記動作制御ゾーンを確立することと、
前記動作制御ゾーンを確立した後、清掃ミッションにおいて、前記駆動システムを使用して、前記表面を動き回る前記ロボットを操縦するとともに、前記ロボットの前記配置を示す前記信号に基づき前記ロボットが前記動作制御ゾーンに近いと決定したことに応答して動作を開始させることとを含む、コントローラとを備え、
前記表面は、第1の表面タイプを有する第1の部分と、第2の表面タイプを有する第2の部分とを備え、
前記動作制御ゾーンは、前記第2の表面タイプを有する前記第2の部分をカバーし、
前記ロボットの前記配置を示す前記信号に基づき前記ロボットが前記動作制御ゾーンに近いと決定したことに応答して前記動作を開始させることは、操縦で前記ロボットが前記表面の前記第1の部分を動き回るときに前記ロボットが前記表面の前記第2の部分に近いと決定したことに応答して前記動作を開始させることを含むロボット。
【請求項12】
前記ロボットは、前記表面を清掃するためのバキュームシステムを備え、前記動作は、前記バキュームシステムに供給されるバキュームパワーを調整することを含む請求項1に記載のロボット。
【請求項13】
前記動作は、前記ロボットの移動速度を調整することを含む請求項1に記載のロボット。
【請求項14】
前記動作は、前記ロボットの移動方向を調整することを含む請求項1に記載のロボット。
【請求項15】
自律移動ロボットであって、
表面の上で前記ロボットを支持するための駆動システムであって、前記表面を動き回る前記ロボットをナビゲートするように動作可能である駆動システムと、
前記表面上の前記ロボットの配置を示す信号を生成するように構成されているセンサシステムと、
前記駆動システムおよび前記センサシステムに動作可能に接続されているコントローラであって、オペレーションを実行する命令を実行するように構成され、前記オペレーションは、
前記表面上の動作制御ゾーンの配置を定義するユーザ命令を受信することと、
前記動作制御ゾーンの前記配置を定義するユーザ命令を受信したことに応答して、前記動作制御ゾーンの定義された前記配置を確認するために、前記表面上の前記動作制御ゾーンの定義された前記配置まで前記ロボットを操縦するように前記駆動システムを制御することと、
動作制御ゾーンの定義された前記配置まで前記ロボットを操縦するように前記駆動システムを制御した後、前記表面上の前記動作制御ゾーンを確立することと、
前記動作制御ゾーンを確立した後、清掃ミッションにおいて、前記駆動システムを使用して、前記表面を動き回る前記ロボットを操縦するとともに、前記ロボットの前記配置を示す前記信号に基づき前記ロボットが前記動作制御ゾーンに近いと決定したことに応答して動作を開始させることとを含む、コントローラとを備え、
前記動作は、前記ロボットの移動方向を調整することを含み、
前記ロボットの前記移動方向を調整することは、前記ロボットをある角度で前記動作制御ゾーンに入るように配向することを含むロボット。
【請求項16】
自律移動ロボットであって、
表面の上で前記ロボットを支持するための駆動システムであって、前記表面を動き回る前記ロボットをナビゲートするように動作可能である駆動システムと、
前記表面上の前記ロボットの配置を示す信号を生成するように構成されているセンサシステムと、
前記駆動システムおよび前記センサシステムに動作可能に接続されているコントローラであって、オペレーションを実行する命令を実行するように構成され、前記オペレーションは、
前記表面上の動作制御ゾーンの配置を定義するユーザ命令を受信することと、
前記動作制御ゾーンの前記配置を定義するユーザ命令を受信したことに応答して、前記動作制御ゾーンの定義された前記配置を確認するために、前記表面上の前記動作制御ゾーンの定義された前記配置まで前記ロボットを操縦するように前記駆動システムを制御することと、
動作制御ゾーンの定義された前記配置まで前記ロボットを操縦するように前記駆動システムを制御した後、前記表面上の前記動作制御ゾーンを確立することと、
前記動作制御ゾーンを確立した後、清掃ミッションにおいて、前記駆動システムを使用して、前記表面を動き回る前記ロボットを操縦するとともに、前記ロボットの前記配置を示す前記信号に基づき前記ロボットが前記動作制御ゾーンに近いと決定したことに応答して動作を開始させることとを含む、コントローラとを備え、
前記動作制御ゾーンは立ち入り禁止ゾーンであり、前記動作は前記立ち入り禁止ゾーンを回避することを含むロボット。
【請求項17】
自律移動ロボットであって、
表面の上で前記ロボットを支持するための駆動システムであって、前記表面を動き回る前記ロボットをナビゲートするように動作可能である駆動システムと、
前記表面上の前記ロボットの配置を示す信号を生成するように構成されているセンサシステムと、
前記駆動システムおよび前記センサシステムに動作可能に接続されているコントローラであって、オペレーションを実行する命令を実行するように構成され、前記オペレーションは、
前記表面上の動作制御ゾーンの配置を定義するユーザ命令を受信することと、
前記動作制御ゾーンの前記配置を定義するユーザ命令を受信したことに応答して、前記動作制御ゾーンの定義された前記配置を確認するために、前記表面上の前記動作制御ゾーンの定義された前記配置まで前記ロボットを操縦するように前記駆動システムを制御することと、
動作制御ゾーンの定義された前記配置まで前記ロボットを操縦するように前記駆動システムを制御した後、前記表面上の前記動作制御ゾーンを確立することと、
前記動作制御ゾーンを確立した後、清掃ミッションにおいて、前記駆動システムを使用して、前記表面を動き回る前記ロボットを操縦するとともに、前記ロボットの前記配置を示す前記信号に基づき前記ロボットが前記動作制御ゾーンに近いと決定したことに応答して動作を開始させることとを含む、コントローラとを備え、
前記オペレーションは、
第1の方向の経路に沿って前記動作制御ゾーン内に入るように前記ロボットを操縦するように前記駆動システムを制御することと、
前記ロボットが前記動作制御ゾーン内にあると検出したことに応答して、第2の方向の前記経路に沿って前記動作制御ゾーンから外に出るように前記ロボットを操縦するように前記駆動システムを制御することとを含むロボット。
【請求項18】
自律移動ロボットであって、
表面の上で前記ロボットを支持するための駆動システムであって、前記表面を動き回る前記ロボットをナビゲートするように動作可能である駆動システムと、
前記表面上の前記ロボットの配置を示す信号を生成するように構成されているセンサシステムと、
前記駆動システムおよび前記センサシステムに動作可能に接続されているコントローラであって、オペレーションを実行する命令を実行するように構成され、前記オペレーションは、
前記表面上の動作制御ゾーンの配置を定義するユーザ命令を受信することと、
前記動作制御ゾーンの前記配置を定義するユーザ命令を受信したことに応答して、前記動作制御ゾーンの定義された前記配置を確認するために、前記表面上の前記動作制御ゾーンの定義された前記配置まで前記ロボットを操縦するように前記駆動システムを制御することと、
動作制御ゾーンの定義された前記配置まで前記ロボットを操縦するように前記駆動システムを制御した後、前記表面上の前記動作制御ゾーンを確立することと、
前記動作制御ゾーンを確立した後、清掃ミッションにおいて、前記駆動システムを使用して、前記表面を動き回る前記ロボットを操縦するとともに、前記ロボットの前記配置を示す前記信号に基づき前記ロボットが前記動作制御ゾーンに近いと決定したことに応答して動作を開始させることとを含む、コントローラとを備え、
前記オペレーションは、
前記ロボットが前記動作制御ゾーン内にあると検出することと、
前記ロボットが前記動作制御ゾーン内にあると検出したことに応答して前記ロボットのオペレーションの開始を妨げることとを含むロボット。
【請求項19】
前記ロボットが前記動作制御ゾーン内にあると検出したことに応答して前記ロボットの前記オペレーションの前記開始を妨げることは、前記ロボットが前記動作制御ゾーン内にあると検出したことに応答して前記ロボットの移動オペレーションの開始を妨げることを含む請求項18に記載のロボット。
【請求項20】
自律移動ロボットであって、
表面の上で前記ロボットを支持するための駆動システムであって、前記表面を動き回る前記ロボットをナビゲートするように動作可能である駆動システムと、
前記表面上の前記ロボットの配置を示す信号を生成するように構成されているセンサシステムと、
前記駆動システムおよび前記センサシステムに動作可能に接続されているコントローラであって、オペレーションを実行する命令を実行するように構成され、前記オペレーションは、
前記表面上の動作制御ゾーンの配置を定義するユーザ命令を受信することと、
前記動作制御ゾーンの前記配置を定義するユーザ命令を受信したことに応答して、前記動作制御ゾーンの定義された前記配置を確認するために、前記表面上の前記動作制御ゾーンの定義された前記配置まで前記ロボットを操縦するように前記駆動システムを制御することと、
動作制御ゾーンの定義された前記配置まで前記ロボットを操縦するように前記駆動システムを制御した後、前記表面上の前記動作制御ゾーンを確立することと、
前記動作制御ゾーンを確立した後、清掃ミッションにおいて、前記駆動システムを使用して、前記表面を動き回る前記ロボットを操縦するとともに、前記ロボットの前記配置を示す前記信号に基づき前記ロボットが前記動作制御ゾーンに近いと決定したことに応答して動作を開始させることとを含む、コントローラとを備え、
前記ロボットの前記配置を示す前記信号に基づき前記ロボットが前記動作制御ゾーンに近いと決定したことに応答して前記動作を開始させることは、前記ロボットの前記配置を示す前記信号に基づき前記ロボットが前記動作制御ゾーンの周りの緩衝ゾーン内にあると決定したことに応答して前記動作を開始させることを含むロボット。
【請求項21】
前記センサシステムは、前記表面上の前記ロボットの配置を示すデータを生成するように構成され、
前記オペレーションは、前記ロボットの前記配置を示す前記データに関連付けられている不確実性を推定することを含み、前記緩衝ゾーンのサイズは、前記推定された不確実性に基づく請求項20に記載のロボット。
【請求項22】
前記緩衝ゾーンの前記サイズは、前記推定された不確実性に比例する請求項21に記載のロボット。
【請求項23】
前記緩衝ゾーンのサイズはユーザによって選択され、前記サイズはモバイルデバイスによって規定される請求項20に記載のロボット。
【請求項24】
自律移動ロボットであって、
表面の上で前記ロボットを支持するための駆動システムであって、前記表面を動き回る前記ロボットをナビゲートするように動作可能である駆動システムと、
前記表面上の前記ロボットの配置を示す信号を生成するように構成されているセンサシステムと、
前記駆動システムおよび前記センサシステムに動作可能に接続されているコントローラであって、オペレーションを実行する命令を実行するように構成され、前記オペレーションは、
前記表面上の動作制御ゾーンの配置を定義するユーザ命令を受信することと、
前記動作制御ゾーンの前記配置を定義するユーザ命令を受信したことに応答して、前記動作制御ゾーンの定義された前記配置を確認するために、前記表面上の前記動作制御ゾーンの定義された前記配置まで前記ロボットを操縦するように前記駆動システムを制御することと、
動作制御ゾーンの定義された前記配置まで前記ロボットを操縦するように前記駆動システムを制御した後、前記表面上の前記動作制御ゾーンを確立することと、
前記動作制御ゾーンを確立した後、清掃ミッションにおいて、前記駆動システムを使用して、前記表面を動き回る前記ロボットを操縦するとともに、前記ロボットの前記配置を示す前記信号に基づき前記ロボットが前記動作制御ゾーンに近いと決定したことに応答して動作を開始させることとを含む、コントローラとを備え、
前記動作制御ゾーンは、物体を含む前記表面の第1の部分をカバーし、前記オペレーションは、
前記物体が前記表面の第2の部分に移動されたことに応答して、前記表面の第2の部分をカバーするように前記動作制御ゾーンを更新することを含むロボット。
【請求項25】
方法であって、
ディスプレイ上に、環境内の表面の周囲の表現を含む地図を提示するステップと、
前記ディスプレイ上に、前記地図上に重ねて、前記環境の特徴を示すインジケータを提示するステップと、
表面上動作制御ゾーンの配置を定義するユーザ命令を受け付けるステップと、
前記ユーザ命令を受け付けるステップ後に、前記動作制御ゾーンの前記配置を定義するユーザ命令を受け付けたことに応答して、前記表面上の前記動作制御ゾーンの定義された前記配置に自律移動ロボットを移動させて前記動作制御ゾーンの定義された前記配置を確認するために、前記動作制御ゾーンの定義された前記配置を示すデータを前記ロボットに送信するステップと、
前記ロボットが前記動作制御ゾーンの定義された前記配置に移動した後に、操縦により前記ロボットが前記表面を動き回るときに前記ロボットが前記動作制御ゾーンに近いことに応答して前記ロボットに清掃ミッションにおいて動作を開始させるための前記動作制御ゾーンを確立するステップと、を含む方法。
【請求項26】
前記ロボットが前記動作制御ゾーンの定義された前記配置に移動した後、前記動作制御ゾーンを確立するステップ前に、前記ロボットが前記動作制御ゾーンの定義された前記配置に近いことに応答して、前記動作制御ゾーンの定義された前記配置のユーザ確認を要求するステップを更に備える、請求項25に記載の方法。
【請求項27】
前記ユーザ確認を要求するステップ後に、且つ前記動作制御ゾーンを確立するステップ前に、前記動作制御ゾーンの定義された前記配置のユーザ確認を受信するステップを更に備え、
前記動作制御ゾーンを確立するステップとは、前記動作制御ゾーンの定義された前記配置のユーザ確認を受信するステップに応答して前記動作制御ゾーンを確立するステップを含む、請求項26に記載の方法。
【請求項28】
前記表面上の前記動作制御ゾーンの定義された前記配置に前記ロボットを移動させて前記動作制御ゾーンの定義された前記配置を確認するために、前記動作制御ゾーンの定義された前記配置を示すデータを送信するステップは、
前記動作制御ゾーンの定義された前記配置を示す前記データを送信して、前記ロボットを前記動作制御ゾーンの周囲の少なくとも一部に沿って移動させるステップを備える、請求項25に記載の方法。
【請求項29】
自律移動ロボットであって、
表面の上で前記ロボットを支持するための駆動システムであって、前記表面を動き回る前記ロボットをナビゲートするように動作可能である駆動システムと、
前記表面上の前記ロボットの配置を示す信号を生成するように構成されているセンサシステムと、
前記駆動システムおよび前記センサシステムに動作可能に接続されているコントローラであって、オペレーションを実行する命令を実行するように構成され、前記オペレーションは、
前記表面上の動作制御ゾーンの配置を定義するユーザ命令を受信することと、
前記動作制御ゾーンの前記配置を定義するユーザ命令を受信したことに応答して、前記動作制御ゾーンの定義された前記配置を確認するために、前記表面上の前記動作制御ゾーンの定義された前記配置まで前記ロボットを操縦するように前記駆動システムを制御することと、
動作制御ゾーンの定義された前記配置まで前記ロボットを操縦するように前記駆動システムを制御した後、前記表面上の前記動作制御ゾーンを確立することと、
前記動作制御ゾーンを確立した後、清掃ミッションにおいて、前記駆動システムを使用して、前記表面を動き回る前記ロボットを操縦するとともに、前記ロボットの前記配置を示す前記信号に基づき前記ロボットが前記動作制御ゾーンに近いと決定したことに応答して動作を開始させることとを含む、コントローラとを備え、
前記オペレーションは、
前記動作制御ゾーンの定義された前記配置まで前記ロボットを操縦するように前記駆動システムを制御した後に、前記動作制御ゾーンを確立する前に、前記ロボットが前記動作制御ゾーンの定義された前記配置に近いことに応答して、前記動作制御ゾーンの定義された前記配置のユーザ確認を要求する信号をモバイルデバイスに送信することを更に備える、自律移動ロボット。
【請求項30】
前記オペレーションは、
前記信号をモバイルデバイスに送信した後、前記動作制御ゾーンを確立する前に、前記動作制御ゾーンの定義された配置のユーザ確認を受信することを更に備え、
前記動作制御ゾーンを確立することは、前記動作制御ゾーンの定義された前記配置のユーザ確認を受信することに応答して前記動作制御ゾーンを確立することを含むことを更に備える、請求項29に記載の自律移動ロボット。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、自律移動ロボットの制御に関する。
【背景技術】
【0002】
自律移動ロボットは、環境内で、たとえば、家庭内で自律的に清掃作業を実行する自律清掃ロボットを含む。多くの種類の清掃ロボットは、ある程度、また異なる様式で、自律的である。清掃ロボットはコントローラを備えており、このコントローラは、ロボットが移動しながらゴミを取り込むことができるように環境内を動き回るロボットを自律的にナビゲートするように構成されるものとしてよい。
【発明の概要】
【課題を解決するための手段】
【0003】
人間のユーザは、モバイルデバイスを使用することなどによって、自律移動清掃ロボットの清掃ゾーンを作成することができる。モバイルデバイスは、人間のユーザに環境の地図を提示することができ、人間のユーザは、たとえば、モバイルデバイスのタッチスクリーンをインタラクティブに操作することによって、清掃ゾーンを指示することができる。清掃ゾーンは、ロボットが清掃を追加して、または削減して実行する領域を定義することができる。たとえば、人間のユーザは、自律移動清掃ロボットが環境内のいくつかの領域を清掃しないようにするために、立ち入り禁止ゾーンを作成することができる。別の例では、人間のユーザは、自律移動清掃ロボットが環境内で追加の清掃(たとえば、より長い時間をかけた清掃、より大きいバキュームパワーによる清掃、クリーニングパッドを使ったより多くの回数の清掃、またはより多くの水を使った清掃)を実行することができる集中清掃ゾーンを作成することができる。清掃ゾーンが確立された後、ロボットは、たとえば、清掃ゾーンに移動することによって、清掃ゾーンを確認することができる。
【0004】
本明細書において説明されている前述の、および他の実装形態の利点は、限定はしないが、以下で説明されている利点および本明細書の別のところで説明されている利点を含み得る。本明細書に説明されている実装形態は、たとえば、自律移動ロボットの動作を制御するための動作制御ゾーン(behavior control zone)の選択のしやすさ、正確さ、カスタマイズ性、および適応性を改善することができる。
【0005】
本明細書において説明されている実装形態は、自律移動ロボットに対する動作制御ゾーンのユーザの選択のしやすさを改善することができる。たとえば、モバイルアプリケーションは、自律移動ロボットの環境の表現(たとえば、2D地図)を提示することができ、ユーザは、動作制御ゾーンを定義するためにこの表現をインタラクティブに操作することができる。表現は、ユーザが動作制御ゾーンを定義するときにユーザに対してコンテキストを提供することができる。それに加えて、環境の特徴のインジケータ(たとえば、テーブルを表すアイコン)が、環境の表現上に重ね合わされ、それにより、さらなるコンテキストを提供することができる。いくつかの実装形態において、ユーザは、インジケータのうちの1つを選択することによって単純に動作制御ゾーンを定義することができ、定義された動作制御ゾーンは、選択されたインジケータに対応する環境内の物体または特徴に対応する。このような選択プロセスは、ユーザにとって直感的であり得、このプロセスによって、ユーザは選択された動作制御ゾーンが環境内のどこにあるかを容易に識別することができる。
【0006】
本明細書において説明されている実装形態は、動作制御ゾーンを配置する精度をさらに改善することができる。モバイルアプリケーション上に提示されるコンテキストインジケータは、ユーザが動作制御ゾーンのユーザの意図した配置により正確に一致する動作制御ゾーンを選択することを可能にすることができる。たとえば、動作制御ゾーンの限界を確立するためにモバイルアプリケーションをインタラクティブにおおざっぱに操作しなくても、ユーザは、自律移動ロボットの環境の特徴のインジケータを単純に選択するだけで動作制御ゾーンを選択することができる。
【0007】
動作制御ゾーンを確認することで、選択された動作制御ゾーンがユーザの意図した動作制御ゾーンと一致することをさらに確実にすることができる。ロボットの配置が動作制御ゾーンのユーザの意図した位置と一致することをユーザが確認できるように、ロボットは物理的に動作制御ゾーンに移動することができる。いくつかの実装形態において、ユーザは、動作制御ゾーンの配置に移動した後の、ロボットの配置が、動作制御ゾーンのユーザの意図した配置と一致することの確認をさらに行うことができる。このような確認ステップは、動作制御ゾーンを配置する精度を改善することができる。
【0008】
複数の自律移動ロボットが環境内を動き回る実装形態において、動作制御ゾーンは、各ロボットを微分制御するように確立され得る。たとえば、動作制御ゾーンは、動作制御ゾーンを回避することを、一方のロボットには行わせ、他方のロボットには行わせないようにするために使用することが可能である。ロボットのこのような微分制御は、各ロボットが異なる機能を実行するロボットのフリートを管理するユーザの能力を改善することができる。たとえば、一方のロボットはバキュームクリーニングロボットであってよく、他方のロボットはモッピングロボットであってよい。そのような実装形態では、ユーザは、たとえば、バキュームクリーニングロボットが特定の床領域、たとえば、カーペットに入ることを許可するが、モッピングロボットが特定の床領域に入ることを許可しない動作制御ゾーンを確立することができることの恩恵を受け得る。
【0009】
本明細書において説明されている実装形態は、動作制御ゾーンを選択し、動作制御ゾーンを更新する効率をさらに改善することができる。いくつかの実装形態において、ユーザが、環境の特徴に関連付けられている動作制御ゾーンを定義する。環境の特徴の配置は、いくつかの場合において、移動し得る。ユーザが動作制御ゾーンを手動で更新しなくても、動作制御ゾーンは、環境の特徴の移動の検出、たとえば、ロボットが床面を動き回る際のロボットによる検出に応答して自動的に更新され得る。動作制御ゾーンのそのような自動更新は、動作制御ゾーンを更新するためのユーザ入力の必要性を減じる。
【0010】
本明細書において説明されている実装形態は、異なる環境内での自律移動ロボットのオペレーションのカスタマイズ性をさらに改善することができる。ユーザは、自律移動ロボットが、特にロボットの注意を必要とする環境の領域で特定の動作を実行するように、動作制御ゾーンを選択することができる。ロボットが清掃ロボットである例では、動作制御ゾーンは、環境の他の領域に比べて頻繁に汚れる環境の領域内でロボットに集中清掃オペレーションを実行させるように選択され得る。
【0011】
一態様において、自律移動ロボットは、表面の上にロボットを支持するための駆動システムと、表面上のロボットの配置を示す信号を生成するように構成されているセンサシステムと、駆動システムおよびセンサシステムに動作可能に接続されているコントローラとを備える。駆動システムは、表面を動き回るロボットをナビゲートするように動作可能である。コントローラは、表面上に動作制御ゾーンを確立することと、表面上の動作制御ゾーンの配置までロボットを操縦するために表面上に動作制御ゾーンを確立したことに応答して駆動システムを制御することと、駆動システムを使用して表面を動き回るロボットを操縦することと、ロボットが動作制御ゾーンに近いことを、ロボットの配置を示す信号に基づき決定したことに応答して動作を開始することとを含むオペレーションを実行する命令を実行するように構成される。
【0012】
いくつかの実装形態において、ロボットは、ライトインジケータシステム(light indicator system)をさらに備えることができる。コントローラは、ライトインジケータシステムに動作可能に接続され得、オペレーションは、ロボットが動作制御ゾーンに近いことに応答してライトインジケータシステムを作動させることを含むことができる。
【0013】
いくつかの実装形態において、ロボットが動作制御ゾーンに近いことに応答してライトインジケータシステムを作動させることは、ロボットの配置に関する動作制御ゾーンの方向を示すようにライトインジケータシステムを作動させることを含むことができる。
【0014】
いくつかの実装形態において、オペレーションは、動作制御ゾーンを確立したことに応答してライトインジケータシステムを作動させることを含むことができる。
【0015】
いくつかの実装形態において、オペレーションは、動作制御ゾーンを確立したことに応答して、動作制御ゾーンの少なくとも一部を通してロボットをナビゲートするように駆動システムを制御することを含むことができる。いくつかの実装形態において、動作制御ゾーンの少なくとも一部を通してロボットをナビゲートするように駆動システムを制御することは、ユーザ命令をワイヤレス方式で受信したことに応答して、動作制御ゾーンの少なくとも一部を通してロボットをナビゲートするように駆動システムを制御することを含むことができる。いくつかの実装形態において、動作制御ゾーンの一部分は、動作制御ゾーンの周囲を含むことができる。いくつかの実装形態において、動作制御ゾーンの一部分は、動作制御ゾーンの内部を通る経路を含むことができる。
【0016】
いくつかの実装形態において、オペレーションは、表面の地図を提示することをモバイルデバイスに行わせるために地図作成データを伝送することと、モバイルデバイスから動作制御ゾーンを確立するユーザ命令を受信することとをさらに含むことができる。
【0017】
いくつかの実装形態において、オペレーションは、動作制御ゾーンを確立したことに応答して、動作制御ゾーンの周囲に沿ってロボットをナビゲートするように駆動システムを制御することをさらに含むことができる。
【0018】
いくつかの実装形態において、表面は、第1の表面タイプを有する第1の部分と、第2の表面タイプを有する第2の部分とを備えることができる。動作制御ゾーンは、第2の表面タイプを有する第2の部分をカバーすることができる。ロボットの配置を示す信号に基づき、ロボットが動作制御ゾーンに近いと決定したことに応答して動作を開始することは、操縦でロボットが表面の第1の部分を動き回るときにロボットが表面の第2の部分に近いと決定したことに応答して動作を開始することを含むことができる。
【0019】
いくつかの実装形態において、ロボットは、表面を清掃するためのバキュームシステムを備えることができ、動作は、バキュームシステムに供給されるバキュームパワーを調整することを含む。
【0020】
いくつかの実装形態において、動作は、ロボットの移動速度を調整することを含むことができる。
【0021】
いくつかの実装形態において、動作は、ロボットの移動方向を調整することを含むことができる。
【0022】
いくつかの実装形態において、ロボットの移動方向を調整することは、ロボットをある角度で動作制御ゾーンに入るように配向することを含むことができる。
【0023】
いくつかの実装形態において、動作制御ゾーンは、立ち入り禁止ゾーンであってよい。動作は、立ち入り禁止ゾーンを回避することを含むことができる。
【0024】
いくつかの実装形態において、オペレーションは、第1の方向の経路に沿って動作制御ゾーン内に入るようにロボットを操縦するように駆動システムを制御することと、ロボットが動作制御ゾーン内にあると検出したことに応答して、第2の方向の経路に沿って動作制御ゾーンの外に出るようにロボットを操縦するように駆動システムを制御することとを含むことができる。
【0025】
いくつかの実装形態において、オペレーションは、ロボットが動作制御ゾーン内にあると検出することと、ロボットが動作制御ゾーン内にあると検出したことに応答してロボットのオペレーションの開始を妨げることとを含むことができる。いくつかの実装形態において、ロボットが動作制御ゾーン内にあると検出したことに応答してロボットのオペレーションの開始を妨げることは、ロボットが動作制御ゾーン内にあると検出したことに応答してロボットの移動オペレーションの開始を妨げることを含むことができる。
【0026】
いくつかの実装形態において、ロボットの配置を示す信号に基づき、ロボットが動作制御ゾーンに近いと決定したことに応答して動作を開始することは、ロボットの配置を示す信号に基づき、ロボットが動作制御ゾーンの周りの緩衝ゾーン内にあると決定したことに応答して動作を開始することを含むことができる。いくつかの実装形態において、センサシステムは、表面上のロボットの配置を示すデータを生成するように構成され得る。オペレーションは、ロボットの配置を示すデータに関連付けられている不確実性を推定することを含むことができる。緩衝ゾーンのサイズは、推定された不確実性に基づくものとしてよい。いくつかの実装形態において、緩衝ゾーンのサイズは、推定された不確実性に比例するものとしてよい。いくつかの実装形態において、緩衝ゾーンのサイズは、ユーザ選択とすることができる。サイズは、モバイルデバイスによって規定され得る。
【0027】
いくつかの実装形態において、動作制御ゾーンは、物体を収容する表面の第1の部分をカバーすることができる。オペレーションは、物体が表面の第2の部分に移動されたことに応答して、表面の第2の部分をカバーするように動作制御ゾーンを更新することを含むことができる。
【0028】
別の態様において、方法は、ディスプレイ上に、環境内の表面の周囲の表現を含む地図を提示するステップと、ディスプレイ上に、地図上に重ねて、環境の特徴を示すインジケータを提示するステップと、表面上に動作制御ゾーンを確立するユーザ命令を受信するステップと、自律移動ロボットに、表面上の動作制御ゾーンの配置にロボットを移動させ、操縦によりロボットが表面を動き回るときにロボットが動作制御ゾーンに近いことに応答してロボットに動作を開始させるための動作制御ゾーンを示すデータを伝送するステップとを含む。
【0029】
いくつかの実装形態において、動作制御ゾーンは、インジケータのうちの少なくとも1つに関連付けられ得る。いくつかの実装形態において、環境の特徴は、表面上の物体を含むことができる。インジケータのうちの少なくとも1つは、表面上の物体を示すことができる。いくつかの実装形態において、環境の特徴は、表面の一部の表面タイプを含むことができる。インジケータのうちの少なくとも1つは、表面タイプを示すことができる。いくつかの実装形態において、方法は、拡張現実モードで、環境の画像と、環境の画像上に重ねて表示される動作制御ゾーンを示すインジケータとを提示するステップをさらに含むことができる。いくつかの実装形態において、インジケータのうちの少なくとも1つに関連付けられている動作制御ゾーンを確立するユーザ命令を受信するステップは、インジケータのうちの少なくとも1つに近い地図の一部のユーザ選択を受信するステップを含むことができる。
【0030】
いくつかの実装形態において、ロボットは、第1の自律移動ロボットであってよい。動作制御ゾーンを確立するユーザ指示を受信するステップは、開始された動作において、第1のロボットが動作制御ゾーンを回避し、第2の自律移動ロボットが操縦で動作制御ゾーンを自律的に通過するように動作制御ゾーンを確立するステップを含むことができる。
【0031】
いくつかの実装形態において、方法は、動作制御ゾーンを確立する確認の要求を提示するステップをさらに含むことができる。動作制御ゾーンを確立する確認の要求を提示するステップは、ロボットが動作制御ゾーンの周囲を動き回ることに応答して要求を提示するステップを含むことができる。
【0032】
いくつかの実装形態において、動作は、ロボットが表面を清掃するために表面を動き回る清掃動作であってよい。
【0033】
本明細書において説明されている発明対象の1つまたは複数の実装の詳細は、付属の図面および以下の説明で述べられる。他の潜在的な特徴、態様、および利点は、説明、図面および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0034】
図1】自律清掃ロボットを伴う環境の概略上面図である。
図2】自律移動ロボットの側面断面斜視図である。
図3A】自律移動ロボットの底面斜視図である。
図3B】自律移動ロボットの上面斜視図である。
図4】通信ネットワークの図である。
図5A】動作制御ゾーンに従って自律移動ロボットを制御するプロセスのフローチャートである。
図5B】動作制御ゾーンを確立するプロセスのフローチャートである。
図5C】自律移動ロボットを制御するプロセスのフローチャートである。
図5D】動作制御ゾーンを更新するプロセスのフローチャートである。
図6A】モバイルデバイスのユーザインターフェースの図である。
図6B】モバイルデバイスのユーザインターフェースの図である。
図6C】モバイルデバイスのユーザインターフェースの図である。
図6D】モバイルデバイスのユーザインターフェースの図である。
図7A】動作制御ゾーンを有する環境の概略上面図である。
図7B】動作制御ゾーンを有する環境の概略上面図である。
図7C】動作制御ゾーンを有する環境の概略上面図である。
図8A】動作制御ゾーンを有する環境の概略上面図である。
図8B】動作制御ゾーンを有する環境の概略上面図である。
図9】動作制御ゾーン内に自律移動ロボットが置かれている環境の概略上面図である。
図10】動作制御ゾーンおよび緩衝ゾーンを有する環境の概略上面図である。
図11】複数のロボットおよび動作制御ゾーンが置かれている環境の概略上面図である。
図12】動作制御ゾーンの指示を提示するユーザインターフェースの説明図である。
図13】動作制御ゾーンのインジケータと重ね合わされて表示される環境の一部の画像である。
図14】動作制御ゾーンのインジケータと重ね合わされて表示される環境の一部の画像である。
図15A】モバイルデバイスに対するユーザインターフェースの説明図である。
図15B】モバイルデバイスに対するユーザインターフェースの説明図である。
図16A】モバイルデバイスに対するユーザインターフェースの説明図である。
図16B】モバイルデバイスに対するユーザインターフェースの説明図である。
図17A】モバイルデバイスに対するユーザインターフェースの説明図である。
図17B】モバイルデバイスに対するユーザインターフェースの説明図である。
【発明を実施するための形態】
【0035】
様々な図面中の同様の参照番号および名称は同様の要素を示す。
【0036】
自律移動ロボットは、環境内の床面上を動き回るように制御され得る。いくつかの実装形態において、これらのロボットは、床面上のその配置に応じて動作を開始することができる。たとえば、ロボットは、床面上の領域に近いことに応答して特定の動作を開始するように制御され得る。ユーザは、たとえば、コンピューティングデバイス上で実行されているアプリケーションを使用することによって、領域を定義することができる。ユーザが領域を定義した後、ロボットはその領域に、またはその領域の方へ移動して選択を確認することができる。
【0037】
図1は、環境20内、たとえば家庭内の床面10上のロボット100の一例を示している。ユーザ30は、たとえば、本明細書において説明されている方法およびシステムを使用して、動作制御ゾーン101を定義することができる。ユーザ30が動作制御ゾーン101を定義したことに応答して、ロボット100は、動作制御ゾーン101の方へ移動して選択を確認する、たとえば、動作制御ゾーン101の近くの配置に移動する。この移動動作は、ユーザ30が動作制御ゾーン101の実際の配置が動作制御ゾーン101に対するユーザの意図した配置と一致していることを確認することを可能にし得る。
【0038】
確認後、ロボット100の自律オペレーションが開始され得る。この自律オペレーションにおいて、ロボット100は、動作制御ゾーン101に近いことに応答して動作を開始することができる。たとえば、ロボット100が自律清掃ロボットであるいくつかの例において、ユーザ30は、汚れがちである環境20の領域を動作制御ゾーン101として定義する。動作制御ゾーン101に近いことに応答して、ロボット100は、ロボット100が動作制御ゾーン101内の床面10の一部の集中清掃を実行する集中清掃動作を開始することができる。本明細書において説明されているように、動作制御ゾーン101などの、動作制御ゾーンは、ロボット100が環境20内の床面10を効率的に、また適応的に清掃することを可能にし得る。
【0039】
例示的な自律移動ロボット
図2および図3A図3Bは、ロボット100の一例を示している。図2を参照すると、ロボット100は、ロボット100が床面10上を横断するときに床面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の幅に対応するものとしてよい。
【0040】
ロボット100は、1つまたは複数の駆動輪を含む駆動システム110を備える。駆動システム110は、電気回路106の一部を形成する電気的に駆動される部分を含む1つまたは複数の電気モーターをさらに備える。ハウジングインフラストラクチャ108は、ロボット100内の、少なくとも1つのコントローラ109を含む電気回路106を支持する。
【0041】
駆動システム110は、ロボット100を床面10を横切って推進するように動作可能である。ロボット100は、前方駆動方向Fまたは後方駆動方向Rで推進され得る。ロボット100は、ロボット100が所定の場所でターンするか、または前方駆動方向Fまたは後方駆動方向Rに移動しながらターンするようにも推進され得る。図3Aに示されている例において、ロボット100は、ハウジングインフラストラクチャ108の底部113を貫通する駆動輪112を備える。駆動輪112は、床面10に沿ってロボット100を動かすためにモーター114によって回転される。ロボット100は、ハウジングインフラストラクチャ108の底部113を貫通する受動的キャスターホイール115をさらに備える。キャスターホイール115は動力を与えられない。それとともに、駆動輪112およびキャスターホイール115は、床面10の上にハウジングインフラストラクチャ108を支持するように協働する。たとえば、キャスターホイール115は、ハウジングインフラストラクチャ108の後方部分121に沿って配設され、駆動輪112は、キャスターホイール115の前方に配設される。
【0042】
図3Bを参照すると、ロボット100は、実質的に長方形である前方部分122と、実質的に半円形である後方部分121とを備える。前方部分122は、側部表面150、152、前方表面154、およびコーナー表面156、158を含む。前方部分122のコーナー表面156、158は、側部表面150、152を前方表面154に接続する。
【0043】
図2図3A、および図3Bに示されている例において、ロボット100は、床面10を清掃するように動作可能な清掃アセンブリ116(図3Aに示されている)を備える自律移動床清掃ロボットである。たとえば、ロボット100は、清掃アセンブリ116が床面10からゴミ105(図2に示されている)を取り込むことによって床面10を清掃するように動作可能であるバキュームクリーニングロボットである。清掃アセンブリ116は、ゴミがロボット100によって収集される際に通る清掃入口117を備える。清掃入口117は、ロボット100の中心、たとえば中心162の前方に、また前方部分122の側部表面150、152の間のロボット100の前方部分122に沿って位置決めされる。
【0044】
清掃アセンブリ116は、1つまたは複数の回転可能部材、たとえば、モーター120によって駆動される回転可能部材118を備える。回転可能部材118は、ロボット100の前方部分122を横切って水平方向に延在する。回転可能部材118は、ハウジングインフラストラクチャ108の前方部分122に沿って位置決めされ、ハウジングインフラストラクチャ108の前方部分122の幅の75%から95%、たとえば、ロボット100の全幅W1に対応する幅に沿って延在する。また、図2も参照すると、清掃入口117は、回転可能部材118の間に位置決めされている。
【0045】
図2に示されているように、回転可能部材118は、互いに関して逆方向に回転するローラである。たとえば、回転可能部材118は平行水平軸146、148(図3Aに示されている)の周りで回転可能であり、これにより、床面10上のゴミ105を撹拌し、ゴミ105をロボット100内の清掃入口117に向け、清掃入口117に送り、吸引経路145(図2に示されている)内に送り込む。図3Aを再び参照すると、回転可能部材118は、ロボット100の前方部分122内に完全に収まるように位置決めされ得る。回転可能部材118は、回転可能部材118がハウジングインフラストラクチャ108に関して回転するときに、床面10上のゴミ105と接触し、ゴミ105を回転可能部材118の間の清掃入口117に通し、ロボット100の内部、たとえば、ゴミ箱124(図2に示されている)内に導くエラストマーシェルを備える。回転可能部材118は、さらに、床面10と接触し、床面10上のゴミ105を撹拌する。
【0046】
ロボット100は、回転可能部材118の間の清掃入口117を通りゴミ箱124内に入る空気流を発生させるように動作可能なバキュームシステム119を備える。バキュームシステム119は、羽根車と、羽根車を回転させて空気流を発生するためのモーターとを備える。バキュームシステム119は、清掃アセンブリ116と協働して、床面10からゴミ105をゴミ箱124内に引き込む。いくつかの場合において、バキュームシステム119によって発生する空気流は、回転可能部材118の間の隙間を通って床面10上のゴミ105を上に向かってゴミ箱124内に引き込むのに十分な力を発生する。いくつかの実装形態において、回転可能部材118は床面10と接触し、床面10上のゴミ105を撹拌し、それによってゴミ105がバキュームシステム119によって発生した空気流によってより容易に取り込まれることを可能にする。
【0047】
ロボット100は、非水平軸、たとえば、床面10に対して75度から90度の間の角度を成す軸の周りで回転するブラシ126をさらに備える。非水平軸は、たとえば、回転可能部材118の長手方向軸に対して75度から90度の間の角度を成す。ロボット100は、ブラシ126を回転させるためにブラシ126に動作可能に接続されているモーター128を備える。
【0048】
ブラシ126は、ブラシ126がロボット100のハウジングインフラストラクチャ108の外周を越えて延在するようにロボット100の前後軸FAから横方向にオフセットされたサイドブラシである。たとえば、ブラシ126は、ロボット100の側部表面150、152のうちの一方を越えて延在することができ、それによって、回転可能部材118が典型的には到達できない床面10の部分、たとえば、ロボット100の直下の床面10の一部の外側の床面10の部分にあるゴミと係合することができるものとしてよい。ブラシ126は、また、ブラシ126もハウジングインフラストラクチャ108の前方表面154を越えて延在するようにロボット100の横軸LAから前方にオフセットされている。図3Aに示されているように、ブラシ126は、ハウジングインフラストラクチャ108の側部表面150、コーナー表面156、および前方表面154を越えて延在する。いくつかの実装形態において、ブラシ126が側部表面150を越えて延在する水平距離D1は、少なくとも、たとえば、0.2センチメートル、たとえば、少なくとも0.25センチメートル、少なくとも0.3センチメートル、少なくとも0.4センチメートル、少なくとも0.5センチメートル、少なくとも1センチメートル、またはそれ以上である。ブラシ126は、ブラシ126が床面10上のゴミ105と容易に係合できるように回転中に床面10と接触するように位置決めされる。
【0049】
ブラシ126は、ロボット100が移動するときに床面10上のゴミをブラシで清掃アセンブリ116の清掃経路内に送り込む方式で非水平軸の周りで回転可能である。たとえば、ロボット100が前方駆動方向Fに移動している例では、ブラシ126は、ブラシ126が接触するゴミが清掃アセンブリの方へ、また前方駆動方向Fで清掃アセンブリ116の前にある床面10の一部の方へ移動するように(ロボット100の上の視点から見たときに)時計回り方向に回転可能であり。その結果、ロボット100が前方駆動方向Fに移動するときにロボット100の清掃入口117はブラシ126によって掃かれたゴミを回収することができる。ロボット100が後方駆動方向Rに移動する例では、ブラシ126は、ブラシ126が接触するゴミが後方駆動方向Rで清掃アセンブリ116の背後の床面10の一部の方へ移動するように(ロボット100の上の視点から見たときに)反時計回り方向に回転可能である。その結果、ロボット100が後方駆動方向Rに移動するときにロボット100の清掃入口117はブラシ126によって掃かれたゴミを回収することができる。
【0050】
電気回路106は、コントローラ109に加えて、たとえばメモリ記憶素子144と、1つまたは複数の電気センサを有するセンサシステムとを含む。センサシステムは、本明細書において説明されているように、ロボット100の現在の配置を示す信号を生成することができ、ロボット100が床面10に沿って移動する際にロボット100の配置を示す信号を生成することができる。コントローラ109は、本明細書において記載されているように1つまたは複数のオペレーションを実行するための命令を実行するように構成されている。メモリ記憶要素144は、コントローラ109によってアクセス可能であり、ハウジングインフラストラクチャ108内に配設されている。1つまたは複数の電気センサは、ロボット100の環境内の特徴を検出するように構成される。たとえば、図3Aを参照すると、センサシステムは、ハウジングインフラストラクチャ108の底部部分113に沿って配設されているクリフセンサ134を備える。クリフセンサ134の各々は、光学センサであり、これは床面10などの光学センサの下にある物体の有無を検出することができる。したがって、クリフセンサ134は、クリフセンサ134が配設されているロボット100の一部分の下のドロップオフおよびクリフなどの障害物を検出し、しかるべくロボットを方向転換することができる。
【0051】
図3Bを参照すると、センサシステムは、ロボット100の近くにある床面10に沿った物体を検出することができる1つまたは複数の近接センサを備える。たとえば、センサシステムは、ハウジングインフラストラクチャ108の前方表面154に近接して配設されている近接センサ136a、136b、136cを備えることができる。近接センサ136a、136b、136cの各々は、ハウジングインフラストラクチャ108の前方表面154から外側に向いている光学センサを備え、光学センサの前にある物体の有無を検出することができる。たとえば、検出可能な物体は、ロボット100の環境内の家具、壁、人、および他の物体などの障害物を含む。
【0052】
センサシステムは、バンパー138と、バンパー138と環境内の障害物との間の接触を検出する1つまたは複数のバンプセンサとを含むバンパーシステムを備える。バンパー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に接触する物体を検出することができる。
【0053】
センサシステムは、1つまたは複数の障害物追従センサを備える。たとえば、ロボット100は、側部表面150に沿って障害物追従センサ141を備えることができる。障害物追従センサ141は、ハウジングインフラストラクチャ108の側部表面150から外側に向いている光学センサを含み、これはハウジングインフラストラクチャ108の側部表面150に隣接する物体の有無を検出することができる。障害物追従センサ141は、ロボット100の前方駆動方向Fに垂直であり、ロボット100の側部表面150に垂直である方向に光ビームを水平に放射することができる。たとえば、検出可能な物体は、ロボット100の環境内の家具、壁、人、および他の物体などの障害物を含む。いくつかの実装形態において、センサシステムは、側部表面152に沿って障害物追従センサを備えることができ、障害物追従センサは、側部表面152に隣接する物体の有無を検出することができる。側部表面150に沿った障害物追従センサ141は右障害物追従センサであり、側部表面152に沿った障害物追従センサは左障害物追従センサである。障害物追従センサ141を含む、1つまたは複数の障害物追従センサは、たとえば、本明細書において説明されている近接センサに類似する、障害物検出センサとしても働き得る。これに関して、左障害物追従センサは、ロボット100の左側にある物体、たとえば障害物面とロボット100との間の距離を決定するために使用することができ、右障害物追従センサは、ロボット100の右側にある物体、たとえば障害物面とロボット100との間の距離を決定するために使用することができる。
【0054】
いくつかの実装形態において、近接センサ136a、136b、136c、および障害物追従センサ141の少なくとも一部は、各々、光学エミッタおよび光学検出器を含む。光学エミッタは、ロボット100から外側に、たとえば、水平方向で外側に、光ビームを放射し、光学検出器は、ロボット100の近くにある物体から反射された光ビームの反射を検出する。ロボット100は、たとえば、コントローラ109を使用して、光ビームの飛行時間を決定し、それによって、光学検出器と物体との間の距離、したがって、ロボット100と物体との間の距離を決定することができる。
【0055】
いくつかの実装形態において、近接センサ136aは、光学検出器180と、複数の光学エミッタ182、184とを備える。光学エミッタ182、184の一方は、光ビームを外側におよび下側に向けるように位置決めされ、光学エミッタ182、184の他方は、光ビームを外側におよび上側に向けるように位置決めされ得る。光学検出器180は、光ビームの反射または光ビームからの散乱を検出することができる。いくつかの実装形態において、光学検出器180は、イメージセンサ、カメラ、または光信号を感知するためのいくつかの他のタイプの検出デバイスである。いくつかの実装形態において、光ビームは、ロボット100の前方の垂直平面に沿って水平線を照射する。いくつかの実装形態において、光学エミッタ182、184は、各々、1つまたは複数の障害物表面上にドットの1次元グリッドが現れるように障害物表面に向かって外側へ扇形のビームを放射する。ドットの一次元格子は、水平方向に延在する線上に位置決めすることができる。いくつかの実装形態において、ドットの格子は、複数の障害物表面、たとえば、互いに隣接する複数の障害物表面を横切って延在し得る。光学検出器180は、光学エミッタ182によって形成されたドットの格子と、光学エミッタ184によって形成されたドットの格子とを表す画像をキャプチャすることができる。画像内のドットのサイズに基づき、ロボット100は、光学検出器180に関する、たとえばロボット100に関する、ドットが出現する物体の距離を決定することができる。ロボット100は、ドットの各々についてこの決定を行うことができ、したがってこれにより、ロボット100はドットが出現する物体の形状を決定することができる。それに加えて、複数の物体がロボット100の前にある場合、ロボット100は、物体の各々の形状を決定することができる。いくつかの実装形態において、物体は、ロボット100のすぐ前にある床面10の一部から横方向にオフセットされる1つまたは複数の物体を含むことができる。
【0056】
センサシステムは、ハウジングインフラストラクチャ108の頂部142の方へ向けられた画像キャプチャデバイス140、たとえば、カメラをさらに備える。画像キャプチャデバイス140は、ロボット100が床面10上を動き回るとともにロボット100の環境のデジタル画像を生成する。画像キャプチャデバイス140は、上向き方向に、たとえば、ロボット100がナビゲートする床面10から、30度から80度までの間の角度を付けられる。カメラは、上向きに角度を付けられたときに、壁面上の物体に対応する特徴が定位のために使用され得るように環境の壁面の画像をキャプチャすることができる。
【0057】
コントローラ109が、ミッションをロボット100に実行させるときに、コントローラ109は、モーター114を操作して駆動輪112を駆動し、ロボット100を床面10に沿って推進させる。それに加えて、コントローラ109はモーター120を操作して回転可能部材118を回転させ、モーター128を操作してブラシ126を回転させ、バキュームシステム119のモーターを操作して空気流を発生させる。ロボット100に様々なナビゲーションおよび清掃動作を実行させるために、コントローラ109は、ロボット100の様々なモーターを操作することによってロボット100に実行させる、メモリ記憶素子144上に記憶されているソフトウェアを実行する。コントローラ109は、ロボット100の様々なモーターを操作してロボット100に動作を実行させる。
【0058】
センサシステムは、ロボット100が移動した距離を追跡するためのセンサをさらに備えることができる。たとえば、センサシステムは、駆動輪112に対するモーター114に関連付けられているエンコーダを備えることができ、これらのエンコーダは、ロボット100が移動した距離を追跡することができる。いくつかの実装形態において、センサシステムは、床面の方へ下側に向いている光学センサを備える。光学センサは、光学式マウスセンサであってよい。たとえば、光学センサは、光をロボット100の底面に通し床面10に向けるように位置決めすることができる。光学センサは、光の反射を検出することができ、ロボット100が床面10に沿って移動するときの床の特徴の変化に基づきロボット100が移動した距離を検出することができる。
【0059】
コントローラ109は、センサシステムのセンサによって収集されたデータを使用して、ミッションの遂行中のロボット100のナビゲーション動作を制御する。たとえば、コントローラ109は、ロボット100の障害物検出センサ、たとえば、クリフセンサ134、近接センサ136a、136b、136c、およびバンプセンサ139a、139bによって収集されたセンサデータを使用して、ロボット100がミッションの遂行中にロボット100の環境内の障害物を回避することを可能にする。
【0060】
センサデータは、コントローラ109がセンサデータによって表される環境の特徴を抽出し、環境の床面10の地図を構築する同時自己位置推定環境地図作成(SLAM)技術のためにコントローラ109によって使用され得る。画像キャプチャデバイス140によって収集されたセンサデータは、コントローラ109が環境内の物体に対応する視覚的特徴を抽出し、これらの視覚的特徴を使用して地図を構築するビジョンベースSLAM(VSLAM)などの技術に使用することができる。コントローラ109がミッションの遂行中にロボット100を床面10上で動き回るように指示するときに、コントローラ109はSLAM技術を使用して、収集されたセンサデータで表現される特徴を検出し、それらの特徴を以前に記憶した特徴と比較することによって、地図内のロボット100の配置を決定する。センサデータから形成された地図は、環境内の横断可能な空間および横断可能でない空間の配置を示すことができる。たとえば、障害物の配置は横断可能でない空間として地図上に示され、床の空き空間の配置は横断可能な空間として地図上に示される。
【0061】
センサのどれかによって収集されたセンサデータは、メモリ記憶素子144内に記憶され得る。それに加えて、地図を形成する地図作成データを含む、SLAM技術に対して生成された他のデータは、メモリ記憶素子144内に記憶され得る。ミッションの遂行中に生成されるこれらのデータは、ミッションの遂行中に生成され、さらなるミッションの遂行中に使用可能である、永続的データを含むことができる。たとえば、ミッションは第1のミッションであってよく、さらなるミッションは第1のミッションの後に行われる第2のミッションであってよい。ロボット100にそれの動作を実行させるためのソフトウェアを記憶することに加えて、メモリ記憶要素144は、一方のミッションから別のミッションへの間にコントローラ109によってアクセスされるセンサデータ、またはセンサデータの処理の結果として得られるデータを記憶する。たとえば、地図は、床面10を動き回るロボット100をナビゲートするために一方ミッションから別のミッションへの間にロボット100のコントローラ109によって使用可能であり更新可能である永続的地図である。
【0062】
永続的地図を含む、永続的データは、ロボット100が床面10を効率的に清掃することを可能にする。たとえば、永続的地図により、コントローラ109はロボット100を空いている床空間の方へ誘導し、横断可能でない空間を回避することができる。さらに、その後のミッションのために、コントローラ109は、永続的地図を使用してミッションの遂行中にとった経路を最適化することで環境を通るロボット100のナビゲーションを計画することができる。
【0063】
ロボット100は、いくつかの実装形態において、ロボット100の頂部142に配置されているライトインジケータシステム137を備えることができる。ライトインジケータシステム137は、ゴミ箱124をカバーする蓋147(図3Aに示されている)内に位置決めされている光源を備えることができる。光源は、蓋147の周縁部に光を導くように位置決めされ得る。光源は、ロボット100の頂部142上の連続ループ143の任意の部分が照らされ得るように位置決めされる。連続ループ143は、光源が活性化されるとロボット100の表面を照らすことができるようにロボット100の頂部142の陥凹部上に配置される。
【0064】
例示的な通信ネットワーク
図4を参照すると、例示的な通信ネットワーク185が図示されている。通信ネットワーク185のノードは、ロボット100、モバイルデバイス188、自律移動ロボット190、およびクラウドコンピューティングシステム192を含む。通信ネットワーク185を使用して、ロボット100、モバイルデバイス188、ロボット190、およびクラウドコンピューティングシステム192は、互いに通信して、互いにデータを送信し、互いにデータを受信することができる。
【0065】
いくつかの実装形態において、ロボット100、ロボット190、またはロボット100とロボット190の両方が、クラウドコンピューティングシステム192を通じてモバイルデバイス188と通信する。代替的またはそれに加えて、ロボット100、ロボット190、またはロボット100とロボット190の両方は、モバイルデバイス188と直接通信する。ワイヤレスネットワーク(たとえば、Bluetooth、高周波、光ベースなど)およびネットワークアーキテクチャ(たとえば、メッシュネットワーク)の様々なタイプおよび組合せが、通信ネットワーク185に採用されてよい。
【0066】
いくつかの実装形態において、図4に示されているようなモバイルデバイス188は、クラウドコンピューティングシステム192にリンクすることができ、ユーザ30がモバイルデバイス188に入力を行うことを可能にすることができるリモートデバイスである。モバイルデバイス188は、たとえば、タッチスクリーンディスプレイ、ボタン、マイクロフォン、マウス、キーボード、またはユーザ30によって提供される入力に応答する他のデバイスのうちの1つまたは複数などのユーザ入力要素を含むことができる。モバイルデバイス188は、代替的またはそれに加えて、ユーザ30がユーザ入力を行うためにインタラクティブに操作する没入型メディア(たとえば、仮想現実)を含む。これらの場合において、モバイルデバイス188は、たとえば、仮想現実ヘッドセットまたはヘッドマウントディスプレイである。ユーザは、移動ロボット188に対してコマンドに対応する入力を行うことができる。このような場合に、モバイルデバイス188は、移動ロボット100にコマンド信号を伝送することをクラウドコンピューティングシステム192に行わせる信号をクラウドコンピューティングシステム192に伝送する。いくつかの実装形態において、モバイルデバイス188は、拡張現実画像を提示することができる。いくつかの実装形態において、モバイルデバイス188は、スマートフォン、ラップトップコンピュータ、タブレットコンピューティングデバイス、または他のモバイルデバイスである。
【0067】
いくつかの実装形態において、通信ネットワーク185は、追加のノードを備えることができる。たとえば、通信ネットワーク185のノードは、追加のロボットを含むことができる。代替的にまたはそれに加えて、通信ネットワーク185のノードは、ネットワーク接続デバイスを含むことができる。いくつかの実装形態において、ネットワーク接続デバイスは、環境20に関する情報を生成することができる。ネットワーク接続デバイスは、環境20の特徴を検出するための1つまたは複数のセンサ、たとえば、音響センサ、画像キャプチャシステム、または特徴が抽出され得る信号を生成する他のセンサを含むことができる。ネットワーク接続デバイスは、ホームカメラ、スマートセンサ、および同様のものを含むことができる。
【0068】
図4に示されている通信ネットワーク185および通信ネットワーク185の他の実装形態において、無線リンクは、Bluetoothクラス、Wi-Fi、BLEとも呼ばれるBluetooth-low-energy、802.15.4、Worldwide Interoperability for Microwave Access(WiMAX)、赤外線チャネル、または衛星バンドなどの、様々な通信方式、プロトコルなどを利用し得る。いくつかの場合において、無線リンクは、限定はしないが、1G、2G、3G、または4Gとして認められる規格を含む、モバイルデバイス間で通信するために使用される任意のセルラーネットワーク規格を含む。ネットワーク規格は、利用される場合、たとえば、国際電気通信連合によって維持されている仕様などの仕様または規格を満たすことによって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を使用し得る。
【0069】
例示的なプロセス
ロボット100は、本明細書において説明されているプロセスによるいくつかの方式で制御され得る。これらのプロセスのいくつかのオペレーションは、ロボット100によって、ユーザによって、コンピューティングデバイスによって、または他の動作主体によって実行されると説明され得るが、これらのオペレーションは、いくつかの実装形態では、説明されているのとは異なる動作主体によって実行されてもよい。たとえば、ロボット100によって実行されるオペレーションは、いくつかの実装形態において、クラウドコンピューティングシステム192によって、または別のコンピューティングデバイス(または複数のコンピューティングデバイス)によって実行され得る。他の例では、ユーザ30によって実行されるオペレーションは、コンピューティングデバイスによって実行され得る。いくつかの実装形態において、クラウドコンピューティングシステム192は、いかなるオペレーションも実行しない。むしろ、他のコンピューティングデバイスは、クラウドコンピューティングシステム192によって実行されると説明されているオペレーションを実行し、これらのコンピューティングデバイスは、互いに、およびロボット100と、直接的に(または間接的に)通信することができる。そして、いくつかの実装形態において、ロボット100は、ロボット100によって実行されると説明されているオペレーションに加えて、クラウドコンピューティングシステム192またはモバイルデバイス188によって実行されると説明されているオペレーションを実行することができる。他の変更形態も可能である。さらに、本明細書において説明されている方法、プロセス、およびオペレーションは、いくつかのオペレーションまたはサブオペレーションを含むものとして説明されているが、他の実装形態では、これらのオペレーションもしくはサブオペレーションのうちの1つもしくは複数は省略され得るか、または追加のオペレーションもしくはサブオペレーションが追加され得る。
【0070】
図5Aは、動作制御ゾーンに従って自律移動ロボットを制御する方法のフローチャートを例示している。この方法、および本明細書において説明されている方法の他の例は、ロボット100の制御に関して説明されている。他の実装形態では、他のタイプの自律移動ロボットが制御され得る。
【0071】
図5Aを参照すると、プロセス200は、オペレーション202、204、および206を含んでいる。オペレーション202において、動作制御ゾーンが確立される。オペレーション204において、ロボット100は、たとえば、ロボット100が環境20内を動き回り、動作制御ゾーンに応答する自律オペレーションを実行するように制御される。たとえば、ロボット100の駆動システム110(図3Aに示されている)は、床面10(図1に示されている)上を動き回るロボット100を操縦するように制御され、ロボット100の動作は、ロボットのセンサシステムによって生成されるロボット100の配置を示す信号に基づき、ロボットが動作制御ゾーンに近いと決定したことに応答して開始され得る。オペレーション204において、動作制御ゾーンは、たとえば、環境20の変化に応答して更新される。オペレーション202、204、および206のサブオペレーションのさらなる例は、それぞれ、図5B図5C、および図5Dに関して説明されている。
【0072】
図5Bは、動作制御ゾーンが確立されるオペレーション202に対する例示的なプロセスを示している。オペレーション208、210、212、214、216において、地図作成データが生成され、モバイルデバイス188に伝送され、これにより、モバイルデバイス188は環境20の表現を生成することができる。オペレーション208において、ロボット100は、環境20の地図作成データを生成し、オペレーション210において、ロボット100は、地図作成データをクラウドコンピューティングシステム192に伝送する。オペレーション212において、クラウドコンピューティングシステム192は、ロボット100によって生成された地図作成データを受信する。オペレーション214において、クラウドコンピューティングシステム192は、ロボット100によって生成された地図作成データをモバイルデバイス188に伝送する。そしてオペレーション216において、モバイルデバイス188は、ロボット100によって生成された地図作成データを受信する。この地図作成データは、オペレーション218に関して説明されているように、環境20の表現を生成するためにモバイルデバイス188によって使用され得る。
【0073】
いくつかの実装形態において、オペレーション208で、ロボット100は、自律清掃オペレーション中に地図作成データを生成することができる。地図作成データは、ロボット100が横断できる床面10の部分と、ロボット100が横断できない床面10の部分とを示すことができる。地図作成データは、ロボット100のセンサシステムを使用して生成され得る。センサシステムは、ロボット100が床面10を動き回るときに床面10上のロボット100の配置を示すデータを生成することができ、地図作成データは、ロボット100の配置を示すデータに基づき生成され得る。いくつかの実装形態において、ロボット100のセンサシステムは、ロボット100が床面10を動き回るときに床面10上の障害物を検出するために使用できる。ロボットによって生成された地図作成データは、表面上の障害物の配置を示すことができる。いくつかの実装形態において、ロボット100によって生成されたセンサデータおよび環境20内の1つまたは複数のネットワーク接続デバイスによって生成されたデータは一緒になって地図作成データを形成する。ネットワーク接続デバイスは、カメラ、光学センサ、測距センサ、音響センサ、または環境20の地図の一部を形成するために使用される信号を生成する他のセンサを含み得る。
【0074】
いくつかの実装形態において、クラウドコンピューティングシステム192は、オペレーション214でクラウドコンピューティングシステム192によって伝送され、オペレーション216でモバイルデバイス188によって受信されたデータが、オペレーション208でロボット100によって生成された地図作成データと異なるようにロボット100によって生成された地図作成データを処理することができる。たとえば、クラウドコンピューティングシステム192は、地図作成データからユーザインターフェースデータを生成し、次いでオペレーション214においてユーザインターフェースデータを伝送することができる。ユーザインターフェースデータは、ロボット100によって生成された地図作成データさらには他のネットワーク接続デバイスから受信されたデータを使用して生成され得る。ユーザインターフェースデータは、環境20で識別されたいくつかの特徴、たとえば、家具、床面のタイプ、または他の特徴の分類を含むことができる。
【0075】
オペレーション218において、モバイルデバイス188は、環境20の地図を生成する。たとえば、モバイルデバイス188は、オペレーション216でモバイルデバイス188によって受信されたデータに基づき地図を生成し、モバイルデバイス188のディスプレイ上に地図を提示する。いくつかの実装形態において、オペレーション216でモバイルデバイス188に受信されたデータは、ロボット100およびそのセンサシステムによって検出可能な環境20の床面のタイプ、障害物、壁備品、電気器具、および他の特徴などの環境20の特徴に関するデータを含むことができる。
【0076】
図6Aは、モバイルデバイス188に提示される地図300の一例を示している。地図300は、ロボット100が横断することができる床面10(図1に示されている)の一部の周囲302の表現を含む。ロボット100の現在の配置を示すインジケータ304が地図300上に重ねて表示される。
【0077】
部屋308a、308b、308c、308d、308e(部屋308と総称する)のラベル306a、306b、306c、306d、306e(ラベル306と総称する)がそれぞれ地図300上に重ねて表示されている。たとえば、各部屋308のタイプは、部屋308の各々の中の1つまたは複数の物体に基づき識別され得る。図1も参照すると、部屋308は、寝室308a、バスルーム308b、オフィス308c、ダイニングルーム308d、およびキッチン308eを含む。寝室308aは、ベッドおよびエンドテーブルなど、ベッドルームで典型的に見られる物体の存在に基づいて識別することができる。バスルーム308bは、バスタブ、トイレ、シンク、鏡などの、バスルームで典型的に見られる物体の存在に基づき識別することができる。オフィス308cは、机およびコンピュータなど、オフィスで典型的に見られる物体の存在に基づき識別することができる。ダイニングルーム308dは、ダイニングテーブルおよび椅子などの、ダイニングルームで典型的に見られる物体の存在に基づき識別することができる。キッチン308eは、キャビネット、アイランド型キッチン、カウンターなどの、キッチンで典型的に見られる物体の存在に基づき識別することができる。いくつかの実装形態において、部屋308内の物体は、ロボット100のセンサシステムを使用して、または環境20内の他のネットワーク接続デバイスからセンサを使用して識別され得る。
【0078】
いくつかの実装形態において、モバイルデバイス188は、部屋308の各々にラベルを付ける要求をユーザ30に対して提示することができる。したがって、部屋308は、ユーザ30によってラベル306を手動で付けられ得る。いくつかの実装形態において、ラベル306は、部屋308内の物体のコンピュータ識別に基づき決定される。
【0079】
図6Aに示されているように、モバイルデバイス188は、環境20の特徴を示すインジケータを提示することができる。たとえば、インジケータ310は、ダイニングルーム308d内に配置されている領域の敷物312(図1に示されている)の位置を示すことができる。インジケータ314は、寝室308aに配置されているベッド316(図1に示されている)の配置を示すことができる。インジケータ317は、キッチン308e内の第1の床タイプを示すことができ、インジケータ319は、キッチン308e内の第2の床タイプを示すことができる。たとえば、キッチン308eにおけるインジケータ317に対応する床面10の部分は硬材の表面であり、キッチン308eにおけるインジケータ319に対応する床面10の部分はカーペットの表面であり得る。いくつかの実装形態において、環境20内の他の物体および特徴を示す他のインジケータは、地図300上に重ねて示され得る。たとえば、インジケータは、環境20内の他の家具、環境20の壁上の検出可能な特徴、環境20内の他の床タイプ、または環境20内の他の特徴を示すことができる。
【0080】
再び図5Bを参照すると、オペレーション220において、ユーザ30は、動作制御ゾーンを確立するための入力を行う。ユーザ30は、モバイルデバイス188を操作して、入力を行う、たとえば、タッチスクリーン、モバイルデバイス188上の1つもしくは複数のボタン、音声コマンド、ジェスチャー、または他のユーザ入力デバイスなどのモバイルデバイス188のユーザ入力デバイスを操作することができる。図6Aも参照すると、モバイルデバイス188は、地図300を提示し、ユーザ30が地図300を使用して動作制御ゾーンを定義することを要求することができる。いくつかの実装形態において、動作制御ゾーンを定義するために、ユーザ30は、モバイルデバイス188上に提示されているインジケータのうちの1つを選択して、インジケータに関連付けられている領域を動作制御ゾーンであるとして定義することができる。ユーザ30は、インジケータに近い地図300の一部を選択して、インジケータに関連付けられている動作制御ゾーンを定義することができる。たとえば、図7Aも参照すると、ベッドルーム308a内のベッド316の配置に対応する動作制御ゾーン318は、モバイルデバイス188上に提示されているインジケータ314を選択することによって定義され得る。代替的に、またはそれに加えて、ユーザ30は、地図300上の領域を手動で選択して動作制御ゾーンを定義することができる。たとえば、モバイルデバイス188がタッチスクリーンを備えている場合、ユーザ30はタッチスクリーンをインタラクティブに操作して、タッチスクリーン上に図形を描くことによって動作制御ゾーンを定義することができる。
【0081】
オペレーション222、224、226、228、および230において、ユーザ30によって行われた入力は、ロボット100に提供する命令を生成するために使用される。特に、オペレーション222では、モバイルデバイス188は、オペレーション220でユーザ30によって行われた入力を受信する。モバイルデバイス188は、動作制御ゾーン318を示すデータを生成することができる。たとえば、データは、動作制御ゾーン318の配置または周囲を示すことができる。オペレーション224では、モバイルデバイス188は、動作制御ゾーン318を示すデータをクラウドコンピューティングシステム192に伝送する。オペレーション226において、クラウドコンピューティングシステム192は、動作制御ゾーン318を示すデータを受信する。オペレーション228において、クラウドコンピューティングシステム192は、動作制御ゾーンを示すデータをロボット100に伝送する。オペレーション230において、ロボット100は、動作制御ゾーン318を示すデータを受信する。
【0082】
オペレーション232、234、236において、動作制御ゾーン318が確認される。動作制御ゾーン318を示すデータを受信した後、オペレーション232において、ロボット100は動作制御ゾーン318を確認する。ロボット100は、ロボット100が動作制御ゾーン318を示すデータを受信したことを示すフィードバックを提供することができる。
【0083】
ロボット100は、動作制御ゾーン318の配置または周囲を確認することもできる。いくつかの実装形態において、ロボット100は、確認移動を行うことによって動作制御ゾーン318の配置または周囲を確認する。図7Aに示されている例では、ロボット100は、動作制御ゾーン318の配置を示す方式で動作制御ゾーン318に関して移動する。動作制御ゾーン318の配置を示すデータを受信したことに応答して、ロボット100は、その配置320から配置322に移動する。配置322は、動作制御ゾーン318に近いか、動作制御ゾーン318内にあるか、または動作制御ゾーン318の周囲に沿っていてもよい。いくつかの実装形態において、ロボット100は床面10に沿った経路を辿り、動作制御ゾーン318の配置または周囲を確認する。たとえば、ロボット100は、動作制御ゾーン318の周囲の一部に沿った経路を辿ることができる。いくつかの実装形態において、経路は、動作制御ゾーン318の一部を貫通するものとしてよい。動作制御ゾーン318の一部は、動作制御ゾーン318の内部、または動作制御ゾーン318の周囲の一部であってよい。
【0084】
いくつかの実装形態において、ロボット100は、動作制御ゾーン318を示すデータを受信したことを視覚的または聴覚的に示す指示を提示することができる。いくつかの実装形態において、確認動作が完了した後、ロボット100は、確認移動が完了したことを示す視覚的または聴覚的な指示を提示することができる。視覚的または聴覚的な指示は、ユーザ確認の要求が保留されていることを示すものとしてよい。たとえば、いくつかの実装形態において、動作制御ゾーン318が確立されたことに応答して、またはロボット100が動作制御ゾーン318を確認したことを示すために、ライトインジケータシステム137(図3Bに示されている)が作動させられ得る。
【0085】
ロボット100が動作制御ゾーン318を確認した後、オペレーション234においてモバイルデバイス188は、動作制御ゾーン318を確立するためにユーザ30に動作制御ゾーン318の確認を要求する。ロボット100は、たとえば、ロボット100が確認移動を完了したことを示すデータをモバイルデバイス188に伝送することができる。図6Bを参照すると、モバイルデバイス188は、ユーザ30による確認の要求を提示することができ、モバイルデバイス188は地図300を提示し、動作制御ゾーン318(図7Aに示されている)が確立されるべき床面10の領域を強調するインジケータ324を提示する。インジケータ324は、たとえば、インジケータ324がインジケータ314の視覚的特性と異なる色、パターン、または異なる他の視覚的特性を有することを除きベッド316(図7Aに示されている)に対応するインジケータ314(図6Aに示されている)と同一であるものとしてよい。
【0086】
オペレーション236において、ユーザ30は、動作制御ゾーンを確認することができる。たとえば、図6Bに示されているように、モバイルデバイス188は、「確認」ボタン326を提示することができる。ユーザ30は、環境20内のロボット100を見て、ロボット100の位置、したがって動作制御ゾーン318の配置を視覚的に確認することができる。ユーザ30は、「確認」ボタン326を選択して、動作制御ゾーン318の確認を行うことができる。ユーザ30が動作制御ゾーン318を確認した後、動作制御ゾーン318を示すデータは、モバイルデバイス188、クラウドコンピューティングシステム192、またはロボット100のうちの1つもしくは複数に記憶され得る。
【0087】
図5Aを参照すると、オペレーション202において動作制御ゾーン318が確立された後(たとえば、図5Bに関連して説明されているオペレーションが完了した後)、ロボット100は、ロボット100が動作制御ゾーン318に近いか、または動作制御ゾーン318内にあると決定したことに応答して動作を開始するように制御され得る。たとえば、ロボット100は、ロボット100が環境20内を動き回って床面10を清掃する自律清掃オペレーションを開始することができる。自律清掃オペレーションの実行中、ロボット100は、ロボット100が動作制御ゾーン318に近いか、または動作制御ゾーン318内にあると決定したことに応答して動作を開始することができる。ロボット100は、ロボット100のセンサシステムによって生成される信号に基づきロボットが動作制御ゾーン318に近いか、または動作制御ゾーン318内にあると決定することができる。
【0088】
図5Cは、ロボット100を制御するオペレーション204の一部として実行されるオペレーションの例を示している。オペレーション238において、ロボット100は、環境20内を動き回るための操縦を開始する。たとえば、ロボット100は、そのバキュームシステム119および清掃アセンブリ116(図3Aに示されている)を使用して床面を清掃しながら、ロボット100が床面10内を動き回るのを自律的に操縦する自律清掃オペレーションを開始することができる。床面10の横断可能な部分をカバーするために、ロボット100は、自律清掃オペレーションの遂行中に、様々な移動動作を開始することができる。移動動作は、たとえば、ロボット100が床面の一部を横切って平行に列で移動するコーンロー動作、およびロボット100が障害物の周囲に沿って移動する障害物追従動作を含むことができる。図7Bは、ロボット100が床面10を清掃するために環境20内を動き回る自律清掃オペレーションを実行するときの移動経路327を例示している。
【0089】
再び図5Cを参照すると、自律清掃オペレーションの遂行中、ロボット100は、オペレーション240において動作制御ゾーン318に近いと決定し、次いで、ロボットが動作制御ゾーン318に近いと決定したことに応答して、オペレーション242において行動を開始する。ユーザ30は、自律清掃オペレーションの遂行中にロボット100がベッド316(図7Aに示されている)の下を移動しないように動作制御ゾーン318を設定することができる。ロボット100は、ロボット100のセンサシステムを使用して、動作制御ゾーン318に近いと決定することができる。たとえば、ロボット100は、センサシステムを使用してその配置を追跡し、その現在の配置がいつ動作制御ゾーン318に近づくかを決定することができる。いくつかの実装形態において、動作制御ゾーン318が環境20内の物体に関連付けられている場合、ロボット100は物体を検出して、ロボット100が動作制御ゾーン318に近いと決定することができる。動作制御ゾーン318がベッド316に関連付けられている実装形態では(図7Aに示されているように)、ロボット100が動作制御ゾーン318に近いと決定するために、ロボット100は、ロボット100のセンサシステムの1つまたは複数のセンサを使用してベッド316を検出することができる。
【0090】
図7Bは、動作制御ゾーン318を検出することに応答してロボット100が開始する動作が立ち入り禁止動作に対応する動作制御ゾーン318の一例を示している。立ち入り禁止動作において、ロボット100は、動作制御ゾーン318に入ることを回避する。図7Bに示されているように、ロボット100は、動作制御ゾーン318を障害物として扱うことができる。したがって、ロボット100は、ロボット100が動作制御ゾーン318に近いと決定したことに応答して障害物追従動作を開始することができる。障害物追従動作では、ロボット100は、動作制御ゾーン318の周囲に沿って、したがってベッド316の周囲に沿って移動する。
【0091】
図5Cを再び参照すると、ロボット100は、ロボット100が動作制御ゾーン318を検出したことに応答する動作を実行していることを示すためにオペレーション244においてインジケータを作動させることができる。たとえば、ロボット100は、ロボット100が動作制御ゾーン318に近づいたことに応答して連続ループ143(図3Bに示されている)の少なくとも一部を照らすようにライトインジケータシステム137(図3Bに示されている)を作動させることができる。照らされた部分は、ロボット100に関する動作制御ゾーン318の方向を示すことができる。
【0092】
オペレーション246、248、250、252、254において、ロボット100は、動作制御ゾーン318を検出したことに応答してロボット100が動作を開始したことを示す指示をユーザ30に提示することをモバイルデバイス188に行わせるためのデータを伝送することができる。ロボット100は、オペレーション246において、動作が開始されたことを示すデータを伝送することができる。オペレーション248において、クラウドコンピューティングシステム192は、オペレーション246においてロボット100によって伝送されたデータを受信する。オペレーション250において、クラウドコンピューティングシステム192は、データをモバイルデバイス188に伝送し、オペレーション252において、モバイルデバイス188は、データを受信する。オペレーション254において、モバイルデバイス188は、動作制御ゾーン318に関連付けられた動作がロボット100によって開始されたことを示す指示をユーザ30に提示する。たとえば、図6Cを参照すると、モバイルデバイス188は、インジケータ324、ロボット100のインジケータ328、およびロボット100の経路のインジケータ330を地図300上に提示することができる。インジケータ330は、ロボット100が動作制御ゾーン318を回避するために経路に沿って移動する動作を開始したことを示す経路を示すことができる。それに加えて、モバイルデバイス188は、ロボット100が動作制御ゾーン318に遭遇したことを示すメッセージ332を提示することができる。
【0093】
いくつかの実装形態において、オペレーション254でユーザ30に提示される指示は、自律清掃オペレーションに対するミッションステータスの提示の一部であり得る。これに関して、モバイルデバイス188は、自律清掃オペレーションの持続時間に関係する情報さらには自律清掃オペレーションの遂行中に動作制御ゾーン318に遭遇したかどうかに関係する情報、および自律オペレーションの遂行中に動作制御ゾーン318に何回遭遇したかの情報を提供することができる。複数の動作制御ゾーンが確立された実装形態では、モバイルデバイス188は、動作制御ゾーンのうちのどれに遭遇したかを示す情報をユーザ30に提示することができる。
【0094】
図5Aを再び参照すると、動作制御ゾーン318は、たとえば、環境20の変化に応答して、オペレーション206において更新され得る。たとえば、動作制御ゾーン318は、動作制御ゾーン318に関連付けられている環境20内の物体の移動、または動作制御ゾーン318に関連付けられている物体の除去に応答して更新され得る。
【0095】
図5Dは、動作制御ゾーン318が更新されるオペレーション206に対する例示的なプロセスを示している。オペレーション206において、ロボット100は地図作成データを生成する。ロボット100は、自律清掃オペレーションの遂行中に地図作成データを生成することができる。この自律清掃オペレーションは、動作制御ゾーン318が確立された後に実行される最初の自律清掃オペレーションであるか、または最初の自律清掃オペレーションの後に実行されるその後の自律清掃オペレーションであってもよい。地図作成データは、図5Bのオペレーション208に関して説明されているのと似た方式でロボット100のセンサシステムを使用して生成され得る。
【0096】
オペレーション258において、クラウドコンピューティングシステム192は、オペレーション256において生成された地図作成データを、以前に生成された地図作成データ、たとえば、オペレーション208において生成された地図作成データまたは別の自律的清掃オペレーションの遂行中に生成された地図作成データと比較する。ロボット100は、オペレーション256で地図作成データを生成した後、地図作成データをクラウドコンピューティングシステム192に伝送することができる。オペレーション256で生成された地図作成データと以前に記憶した地図作成データとを比較することで、クラウドコンピューティングシステム192は、オペレーション202で確立された動作制御ゾーン318が移動したかどうかを決定することができる。特に、オペレーション256で生成された地図作成データ内の動作制御ゾーン318に関連付けられている物体の配置が、以前に記憶した地図作成データ内の物体の配置と異なる場合、クラウドコンピューティングシステム192は、動作制御ゾーン318が移動したと決定することができる。
【0097】
図7Cは、動作制御ゾーン318が更新される一例を示している。動作制御ゾーン318は、ベッド316が元の位置から新しい更新された配置に移動したことに応答して更新され得る。ベッド316は動作制御ゾーン318に関連付けられているので、動作制御ゾーン318の配置は、動作制御ゾーン318が床面10の第1の部分をカバーしていた元の配置318aから、動作制御ゾーン318が床面10の第2の部分をカバーしている更新された配置318bに更新される。
【0098】
動作制御ゾーンが更新されるべきであると地図作成データから決定した後、オペレーション260において、クラウドコンピューティングシステム192は、動作制御ゾーン318を更新することができる。特に、クラウドコンピューティングシステム192は、動作制御ゾーン318の配置を更新することができる。オペレーション262において、モバイルデバイス188は、動作制御ゾーン318が更新されたことを示す指示を提示することができる。
【0099】
図6Dは、動作制御ゾーン318が更新されたことを示すモバイルデバイス188上に提示される指示の例を示している。地図300上に重ねて表示されているインジケータ336は、床面10の第1の部分をカバーする動作制御ゾーン318の古い配置(図7Cに示されている)を示し、地図300上に重ねて表示されているインジケータ338は、床面10の第2の部分をカバーする動作制御ゾーン318の新しい配置(図7Cに示されている)を示す。モバイルデバイス188は、動作制御ゾーン318が更新されたことを示すメッセージ339をさらに提示することができる。いくつかの実装形態において、モバイルデバイス188は、クラウドコンピューティングシステム192またはロボット100に記憶されているように動作制御ゾーン318を更新する前に動作制御ゾーン318に対する提案された更新の確認の要求を提示することができる。
【0100】
追加の代替的実装形態
代替的な実装形態を含む多くの実装形態が説明された。それにもかかわらず、さらなる代替的実装形態が可能であり、様々な修正がなされ得ることが理解されるであろう。
【0101】
ロボット100が動作制御ゾーンに近いと決定したことに応答してロボット100が開始する動作は、実装形態より異なり得る。たとえば、図6Cおよび図7Bに関して説明したように、いくつかの実装形態において、動作制御ゾーン318は、自律清掃オペレーションの遂行中にロボット100が動作制御ゾーン318に進入しないことを確実にするための立ち入り禁止ゾーンであってよい。いくつかの実装形態において、ロボット100は、ロボット100が動作制御ゾーンに入るが、動作制御ゾーンの外の設定とは異なる設定で清掃オペレーションを実行する動作を開始することができる。ロボット100は、ロボット100のバキュームシステム119(図3Aに示されている)に供給されるバキュームパワーを調整するか、ロボット100の移動速度を調整するか、ロボット100の移動方向を調整するか、または動作制御ゾーンに関するロボット100の配向を調整することができる。ロボット100が動作制御ゾーンに近いと決定したことに応答してロボットが開始する特定の動作を設定するために、ユーザ30は、モバイルデバイス188を操作して、たとえば、オペレーション202の遂行中に、動作制御ゾーンを確立することができる。たとえば、ユーザ30がオペレーション220において動作制御ゾーンを確立するための入力を行うときに、ユーザ30は、動作制御ゾーンを検出したことに応答してロボット100が開始すべき動作を選択することもできる。
【0102】
いくつかの実装形態において、動作制御ゾーンは、ロボット100が動作制御ゾーンに近いと決定したことに応答して集中清掃動作をロボット100に開始させるように選択され得る。ロボット100は、ロボット100が動作制御ゾーンの内部を通って移動する際に集中清掃動作を実行する。ロボット100は、バキュームシステム119(図3Aに示されている)に供給されるバキュームパワーを調整することができる。特に、ロボット100が動作制御ゾーンを横断するときにロボット100のバキュームシステム119に供給されるバキュームパワーは、ロボットが動作制御ゾーンの外側の床面10の一部を横断するときにバキュームシステム119に供給されるバキュームパワーよりも大きいものとしてよい。いくつかの実装形態において、集中清掃動作の際に、ロボット100は、ロボット100の移動速度を調整することができる。ロボット100は、ロボット100が動作制御ゾーンの外側の床面10の一部を横断するときのロボット100の移動速度に関してロボット100の移動速度を減少させることができる。代替的に、またはそれに加えて、集中清掃動作では、ロボット100は、ロボット100の移動パターンを調整することができる。ロボット100は、動作制御ゾーン内で螺旋パターン、コーンローパターン、または他の適切な移動パターンで移動することができる。
【0103】
図8Aは、集中清掃動作をロボット100に開始させるように動作制御ゾーンが設定されている一例を示している。この例では、領域の敷物312に関連付けられている動作制御ゾーン340は、たとえば、オペレーション202(図5Aに関して説明されている)で確立される。ロボット100は、自律清掃オペレーションにおいて、動作制御ゾーン340に入ると、動作を開始する。この動作は、本明細書において説明されているように集中清掃動作であり得る。たとえば、ロボット100の動作パターンが調整され得る。ロボット100は、動作制御ゾーン340の外側にあるコーンローパターン344の列より密な間隔で一緒に置かれている行を有する動作制御ゾーン340内をコーンローパターン342で移動することができる。ロボット100は、いくつかの場合において、ロボット100が床面10の同じ部分上を複数回移動する移動パターンで移動することができる。代替的に、またはそれに加えて、ロボット100は、ロボット100が動作制御ゾーン340を横断するときにそのバキュームシステムに供給されるバキュームパワーを増加させ、および/またはその移動速度を減少させることができる。動作制御ゾーン340は、ロボット100が領域の敷物312をより効果的に清掃することを可能にし得る。
【0104】
図8Bは、ある角度で動作制御ゾーンを通って移動することをロボット100に行わせるように動作制御ゾーンが設定されている一例を示す。この例では、動作制御ゾーン343は、キッチン308eとダイニングルーム308dとの間の敷居に関連付けられ得る。ロボット100は、自律清掃オペレーションにおいて、動作制御ゾーン343に近いことに応答して動作を開始する。キッチン308eとダイニングルーム308dとの間の敷居は、ロボット100がある角度で敷居を横切って移動した場合にロボット100によってより容易に横断され得る。この点で、ロボット100が動作制御ゾーン343を横断する前に、動作制御ゾーン343に関するロボット100の移動角度が調整され得る。ロボット100は、動作制御ゾーン343に関してある角度で、したがって、キッチン308eとダイニングルーム308dとの間の敷居に関してある角度で移動することができる。
【0105】
いくつかの実装形態において、動作制御ゾーンは、立ち入り禁止ゾーンであり、ロボット100は、動作制御ゾーン内に位置決めされる。たとえば、ロボット100は、ユーザによって手動で動作制御ゾーン内に置かれ得るか、またはロボット100は、動作制御ゾーン内に自律的に移動し得る。ロボット100が動作制御ゾーン内に自律的に移動する例では、ロボット100は、ロボット100が動作制御ゾーンから外に移動する経路を辿る逃避動作を開始し得る。図9を参照すると、ロボット100は、動作制御ゾーン318内に位置決めされる。ロボット100は、自律清掃オペレーションの遂行中に動作制御ゾーン内に移動した。センサシステムを使用してその配置を決定する際に、ロボット100は、ロボット100が動作制御ゾーン318に近いことに応答して開始される動作をトリガーすることなく動作制御ゾーン内に移動したと決定する(図5Cのオペレーション242、244に関連して説明されている)。このような状況は、環境20内のロボット100の配置を推定するためのセンサエラーまたは他のエラー発生源により生じることもあり得る。
【0106】
ロボット100が動作制御ゾーン318内にあると検出したことに応答して、ロボット100は、動作制御ゾーン318から外に出る経路346に沿って操縦され得る。経路346は、ロボット100が動作制御ゾーンに入るために辿った経路に対応するものとしてよい。ロボット100は、第1の方向で経路346に沿って移動し動作制御ゾーン318に入り、第2の方向で経路346に沿って移動し動作制御ゾーン318から外に出る。
【0107】
いくつかの実装形態において、ロボット100は、動作制御ゾーン318内にあり、ロボット100が動作制御ゾーン318内に自律的に移動しないが、むしろ、たとえばユーザによって手動で動作制御ゾーン318内に置かれたと決定する。このような状況において、ロボット100が動作制御ゾーン318内にあると検出したことに応答して、ロボット100のオペレーションの開始が妨げられ得る。たとえば、ユーザ30がロボット100が移動する自律清掃オペレーションまたは他のオペレーションを開始しようとした場合、ロボット100が動作制御ゾーン318内にあると検出したことに応答してオペレーションが妨げられる。
【0108】
本明細書において説明されているように、動作制御ゾーンは、周囲を有することができ、ロボット100の動作は、動作制御ゾーンの周囲に近いことに応答して、または動作制御ゾーンの周囲内にあることに応答して、トリガーされ得る。いくつかの実装形態において、ロボット100は、動作制御ゾーンの周りの緩衝ゾーン内にあることに応答して動作を開始する。図10を参照すると、緩衝ゾーン348は、動作制御ゾーン318の周りに位置決めされている。ロボット100は、ロボット100が定位の不確実性のせいで動作制御ゾーン318内に進入しないことを確実にするために緩衝ゾーン348内にあることに応答するものとしてよい。いくつかの実装形態において、緩衝ゾーンがない場合、ロボット100の配置を推定することに関連する不確実性の結果、ロボット100は、ロボット100が動作制御ゾーン318に近いか、またはその中にあると決定することなく動作制御ゾーン318内に入り得る。緩衝ゾーン348のサイズは、ロボット100の配置の推定に関連する不確実性に基づき選択され得る。ロボット100の配置を示すデータに関連する不確実性は推定され得、緩衝ゾーン348のサイズは、この推定された不確実性に基づき選択され得る。いくつかの実装形態において、緩衝ゾーン348のサイズは、推定された不確実性に比例しており、推定された不確実性の変化に応じて変化し得る。
【0109】
いくつかの実装形態において、推定された不確実性に比例しているか、または推定された不確実性に基づき選択されるのではなく、緩衝ゾーン348は、たとえば、モバイルデバイス188を使用してユーザ30によって選択される。たとえば、ユーザ30は、モバイルデバイス188を使用して緩衝ゾーン348のサイズを選択することができる。
【0110】
ロボット100は、バキュームクリーニングロボットとして説明されている。いくつかの実装形態において、他のタイプのロボットも使用され得る。いくつかの実装形態において、動作制御ゾーンは、自律モッピングロボットに関連して使用される。たとえば、図11を参照すると、ロボット100およびロボット190(たとえば、図4に関連して説明されている)は、環境20内に配置されている。ロボット100は、本明細書において説明されているようなバキュームクリーニングロボットである。自律移動ロボット190は、自律モッピングロボットである。ロボット190は、ロボット190が床面10上を動き回るときに床面10を拭くように構成されているクリーニングパッドを運ぶことができる。ロボット190は、たとえば、床面10に流体を噴霧することによって、床面10に流体を塗りつけることもできる。集中清掃モードでは、ロボット190は、クリーニングパッドを床面10の一部にしっかりと押し付けることができ、床面10の一部により多くの水を噴霧するか、または床面の一部を複数回通り越すことができる。
【0111】
動作制御ゾーンは、ロボット100およびロボット190が動作制御ゾーンに近いことに対して異なる反応を示すように設定され得る。たとえば、キッチン308eの床面10は、カーペット部分352および硬材部分354の2つの異なる床タイプを有し得る。床面10のカーペット部分352に対する動作制御ゾーン350は、たとえば、図5Bに関して説明されているオペレーションに従って、確立され得る。
【0112】
ロボット100はバキュームクリーニングロボットであり、ロボット190はモッピングロボットであるので、ロボット100は動作制御ゾーン350に入って掃除することができるが、ロボット190は動作制御ゾーン350に入るのを回避するように床面10の硬材部分354に対応する動作制御ゾーン350が確立される。この点で、動作制御ゾーン350は、ロボット190によって立ち入り禁止ゾーンとして扱われる。いくつかの実装形態において、動作制御ゾーン350は、ロボット100によって無視される。いくつかの実装形態において、動作制御ゾーン350は、ロボット100によって集中清掃ゾーンとして扱われる。
【0113】
いくつかの実装形態において、図12を参照すると、モバイルデバイス188は、地図300上に、動作制御ゾーンの境界を示すインジケータ356を提示する。再び図1にちょっとだけ参照すると、インジケータ356に対応する動作制御ゾーンは、ダイニングルーム308d内のダイニングテーブル358の下の領域であり得る。いくつかの実装形態において、図13を参照すると、拡張現実モードでは、環境20の画像360は、モバイルデバイス188上に提示されるものとしてよく、動作制御ゾーンを示すインジケータ362は環境20の画像360上に重ねて表示される。いくつかの実装形態において、モバイルデバイス188は、ユーザ30が画像360に示されている動作制御ゾーンを確認できるように「確認」ボタン364を提示することができる。ユーザ30は、「確認」ボタン364を選択して、本明細書において説明されているような動作制御ゾーンの確認を行うことができる。
【0114】
いくつかの実装形態において、ユーザ30は、拡張現実モードにおいて、画像360の一部分を選択することによって、動作制御ゾーンを選択することができる。たとえば、ユーザ30は、ダイニングテーブル358などの、画像360に表現されている物体を選択することも可能である。ダイニングテーブル358の表現が選択された場合、たとえば、インジケータ362によって表されるものなどの動作制御ゾーンが確立され得る。いくつかの実装形態において、図14に示されているように、拡張現実モードにおいて、ユーザ30は、動作制御ゾーンを拡張現実モードで描画することができる。ユーザ30は、動作制御ゾーンを確立するために画像360上の1つまたは複数の配置を選択することができる。ユーザ30は、たとえば、動作制御ゾーンの境界の表現368に沿った点366を選択することができる。代替的に、ユーザ30は、点を選択して、次いで、たとえば、モバイルデバイス188のタッチスクリーンを使用し指をドラッグして動作制御ゾーンを定義する領域を定義することができる。
【0115】
いくつかの実装形態において、ユーザによって手動で選択された動作制御ゾーンは、環境内の特徴に形状適合するようにコンピューティングシステムによって調整され得る。たとえば、図15Aを参照すると、ユーザ30は、動作制御ゾーン369を手動で定義する。ユーザ30は、部屋の隅の領域370をカバーするように動作制御ゾーン369を定義することができる。手動で定義された動作制御ゾーン369は、たとえば、ユーザの誤りまたは不正確さのせいで、領域全体をカバーしていない場合がある。図15Bを参照すると、動作制御ゾーン369は、部屋の隅にある領域370の幾何学的形状に形状適合するように更新される。動作制御ゾーン369の縁は、部屋の壁の縁および部屋の中の障害物のある縁と揃うように更新され得る。動作制御領域369の縁は、壁および障害物などの、環境の横断不可能な部分の縁と揃うように更新され得る。動作制御ゾーン369のユーザの初期定義に基づき、また動作制御ゾーン369に近い環境内の特徴に基づき、モバイルデバイス188(または他のデバイス)は、動作制御ゾーン369に対するユーザの意図する範囲を決定することができる。ユーザ30は、確認ボタン372を選択することによって更新済み動作制御ゾーン369を確認することができる。いくつかの実装形態において、ユーザは、部屋の内部部分の中の領域の敷物または他の特徴をカバーするように動作制御ゾーンを定義する。この特徴は、横断可能な領域に囲まれ得る。動作制御ゾーンの縁は、部屋の内部部分の中の特徴の縁と一致するように更新され得る。
【0116】
さらなる例において、図16Aを参照すると、ユーザ30は、うっかり複数の部屋、たとえば、第1の部屋376および第2の部屋378にまたがる動作制御ゾーン374を手動で定義することがあり得る。モバイルデバイス188(または他のデバイス)は、動作制御ゾーン374に対するユーザの意図した範囲を決定し、ユーザ30が動作制御ゾーン374を第1の部屋376にまたがるように定義することのみを意図していたと決定することができる。たとえば、モバイルデバイス188は、第1の部屋376内の動作制御ゾーン374の一部分が、動作制御ゾーン374によってカバーされた総面積の70%、80%、または90%を超えると決定し得る。代替的に、モバイルデバイス188は、第2の部屋378内の動作制御ゾーンの一部分が、動作制御ゾーン374によってカバーされた総面積の20%、10%、または5%未満であると決定し得る。これに関して、図16Bを参照すると、モバイルデバイス188は、動作制御ゾーン374が第1の部屋376のみを通り、第2の部屋378を通らないように第1の部屋376の特徴にスナップするように動作制御ゾーン374を更新し得る。たとえば、動作制御ゾーン374は、第1の部屋376内の壁または他の障害物にスナップすることができる。ユーザ30は、確認ボタン380を選択することによって更新済み動作制御ゾーン374を確認することができる。
【0117】
さらなる例では、図17Aを参照すると、ユーザ30は、ロボット100が環境の一部を横断することを妨げる動作制御ゾーン382を手動で定義することができる。図17Bを参照すると、モバイルデバイス188は、ロボット100による横断が不可能であろう環境の一部分を表すインジケータ384を提示することができる。モバイルデバイス188は、ロボット100が、ユーザ30によって提案された方式で定義された動作制御ゾーン382を有する部屋または部屋の一部に到達できないであろうことをユーザ30に示す警告386を提示することがさらに行える。ユーザ30は、確認ボタン388を押すことによって選択を確認することができるか、または他の何らかの形で、動作制御ゾーン382を再定義するために再び動作制御ゾーン382を定義するステップに戻ることができる。いくつかの実装形態において、モバイルデバイス188(または他のデバイス)は、ロボット100が環境のいくつかの部分に到達することを妨げないであろう動作制御ゾーンを推奨することができる。
【0118】
本明細書において説明されているロボットおよび技術、またはその一部は、1つまたは複数の非一時的機械可読記憶媒体に記憶され、本明細書において説明されている動作を制御する(たとえば、調整する)ために1つまたは複数の処理デバイス上で実行可能である命令を備えるコンピュータプログラム製品によって制御され得る。本明細書において説明されているロボット、またはその一部は、1つまたは複数の処理デバイスおよび様々なオペレーションを実装する実行可能な命令を記憶するためのメモリを備えることができる装置または電子システムの全部または一部として実施され得る。
【0119】
本明細書で説明されているロボットオペレーションおよび制御の全部または一部を実施することに関連付けられているオペレーションは、1つまたは複数のコンピュータプログラムを実行して本明細書で説明されている機能を実行する1つまたは複数のプログラム可能なプロセッサによって実行され得る。たとえば、モバイルデバイス、モバイルデバイスおよび自律清掃ロボットと通信するように構成されているクラウドコンピューティングシステム、ならびにロボットのコントローラは、すべて、信号を伝送すること、推定値を計算すること、または信号を解釈することなどの機能を実行するためのコンピュータプログラムによりプログラムされるプロセッサを備え得る。コンピュータプログラムは、コンパイラ型言語またはインタプリタ型言語を含む、任意の形態のプログラミング言語で書かれ、スタンドアロンプログラム、もしくはモジュール、コンポーネント、サブルーチン、またはコンピューティング環境において使用するのに適している他のユニットを含む、任意の形態で配備され得る。
【0120】
本明細書において説明されているコントローラおよびモバイルデバイスは、1つまたは複数のプロセッサを備えることができる。コンピュータプログラムの実行に適しているプロセッサは、たとえば、汎用マイクロプロセッサ、専用マイクロプロセッサ、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般的に、プロセッサは、リードオンリー記憶領域またはランダムアクセス記憶領域またはその両方から命令およびデータを受け取る。コンピュータの要素は、命令を実行するための1つまたは複数のプロセッサならびに命令およびデータを記憶するための1つまたは複数の記憶領域デバイスを含む。一般的に、コンピュータは、データを記憶するための大容量PCBなどの1つまたは複数の機械可読記憶媒体、たとえば、磁気ディスク、磁気光ディスク、または光ディスクも備え、これらからデータを受け取るか、またはこれらにデータを転送するか、またはその両方を行うように動作可能に結合される。コンピュータプログラムの命令およびデータを具現化するのに好適な機械可読記憶媒体は、たとえば、半導体記憶領域デバイス、たとえば、EPROM、EEPROM、およびフラッシュ記憶領域デバイス、磁気ディスク、たとえば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含む、あらゆる形態の不揮発性記憶領域を含む。
【0121】
本明細書において説明されているロボット制御および操作技術は、清掃ロボット以外の他の移動ロボットを制御することにも適用可能であり得る。たとえば、芝生刈りロボットまたは空間監視ロボットは、本明細書において説明されているような芝生または空間の特定の部分におけるオペレーションを実行するように訓練され得る。
【0122】
本明細書で説明されている異なる実装形態の要素は、特に上で述べていない他の実装形態を形成するように組み合わせることもできる。要素は、その動作に悪影響を及ぼすことなく本明細書で説明されている構造から外してもよい。さらに、様々な別々の要素が、本明細書で説明されている機能を実行するために1つまたは複数の個別の要素に組み合わせられ得る。
【0123】
これで多数の実装形態が説明された。それでも、様々な修正が加えられ得ることは理解されるであろう。したがって、他の実装形態は、請求項の範囲内に収まる。
【符号の説明】
【0124】
10 床面
20 環境
30 ユーザ
100 ロボット
101 動作制御ゾーン
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、148 平行水平軸
147 蓋
150、152 側部表面
154 前方表面
156、158 コーナー表面
162 中心
180 光学検出器
182、184 光学エミッタ
185 通信ネットワーク
188 モバイルデバイス
190 自律移動ロボット
192 クラウドコンピューティングシステム
194a、194b、194c スマートデバイス
200 プロセス
202、204、206 オペレーション
208、210、212、214、216 オペレーション
222、224、226、228、230 オペレーション
232、234、236、238、240、242、244 オペレーション
246、248、250、252、254、256、258 オペレーション
260、262 オペレーション
300 地図
302 周囲
304 インジケータ
306 ラベル
306a、306b、306c、306d、306e ラベル
308 部屋
308a、308b、308c、308d、308e 部屋
310 インジケータ
312 領域の敷物
314 インジケータ
316 ベッド
317 インジケータ
318 動作制御ゾーン
318a、318b 配置
319 インジケータ
320 配置
322 配置
324 インジケータ
326 「確認」ボタン
327 移動経路
328、330 インジケータ
332 メッセージ
336、338 インジケータ
339 メッセージ
340 動作制御ゾーン
342 コーンローパターン
343 動作制御ゾーン
344 コーンローパターン
346 経路
348 緩衝ゾーン
350 動作制御ゾーン
352 カーペット部分
354 硬材部分
356 インジケータ
358 ダイニングテーブル
360 画像
362 インジケータ
364 「確認」ボタン
366 点
368 表現
369 動作制御ゾーン
370 領域
372 確認ボタン
374 動作制御ゾーン
376 第1の部屋
378 第2の部屋
380 確認ボタン
382 動作制御ゾーン
384 インジケータ
386 警告
388 確認ボタン
図1
図2
図3A
図3B
図4
図5A
図5B
図5C
図5D
図6A
図6B
図6C
図6D
図7A
図7B
図7C
図8A
図8B
図9
図10
図11
図12
図13
図14
図15A
図15B
図16A
図16B
図17A
図17B