(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-11-22
(54)【発明の名称】自律移動ロボットにより検出された潜在的障害物およびエラー条件に関するユーザフィードバック
(51)【国際特許分類】
G05D 1/02 20200101AFI20231115BHJP
A47L 9/28 20060101ALI20231115BHJP
【FI】
G05D1/02 H
A47L9/28 E
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023519963
(86)(22)【出願日】2021-08-12
(85)【翻訳文提出日】2023-03-30
(86)【国際出願番号】 US2021045786
(87)【国際公開番号】W WO2022076082
(87)【国際公開日】2022-04-14
(32)【優先日】2020-10-07
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】313013863
【氏名又は名称】アイロボット・コーポレーション
(74)【代理人】
【識別番号】100188558
【氏名又は名称】飯田 雅人
(74)【代理人】
【識別番号】100154922
【氏名又は名称】崔 允辰
(72)【発明者】
【氏名】ライアン・シュナイダー
(72)【発明者】
【氏名】シプラ・アローラ
(72)【発明者】
【氏名】ヒョン・ウ・パイク
(72)【発明者】
【氏名】ベンジャミン・エイチ・シュリースハイム
(72)【発明者】
【氏名】ローレン・ディー・スターン
【テーマコード(参考)】
3B057
5H301
【Fターム(参考)】
3B057DA00
5H301BB11
5H301CC10
5H301DD06
5H301LL01
5H301LL06
5H301LL12
(57)【要約】
モバイルコンピューティングデバイスは、ユーザ入力デバイスおよびコントローラを備える。ユーザ入力デバイスは、ディスプレイを備え、コントローラは、ユーザ入力デバイスに動作可能に接続され、動作を実施する命令を実行するように構成される。これらの動作は、第1のミッションの最中に自律清掃ロボットが清掃しなかった1つまたは複数のエリアに関する情報をディスプレイ上に表示することを含む。さらに、これらの動作は、第2のミッションの最中にロボットにユーザ選択サブセットを清掃させるために、1つまたは複数のエリアのユーザ選択サブセットに対応するデータを送信することを含む。
【特許請求の範囲】
【請求項1】
ディスプレイを備えるユーザ入力デバイスと、
前記ユーザ入力デバイスに動作可能に接続されたコントローラと
を備え、前記コントローラは、
第1のミッションの最中に自律清掃ロボットにより清掃されなかった1つまたは複数のエリアに関する情報を前記ディスプレイ上に表示すること、および
前記1つまたは複数のエリアのユーザ選択サブセットに対応するデータを送信することにより、第2のミッションの最中に前記自律清掃ロボットに前記ユーザ選択サブセットを清掃させること
を含む動作を実施する命令を実行するように構成される、モバイルコンピューティングデバイス。
【請求項2】
前記1つまたは複数のエリアに関する前記情報は、前記1つまたは複数のエリアの各エリアの位置を含む、請求項1に記載のモバイルコンピューティングデバイス。
【請求項3】
前記1つまたは複数のエリアに関する前記情報は、前記1つまたは複数のエリアの各エリアにおいて検出された潜在的障害物を表すデータを含む、請求項1に記載のモバイルコンピューティングデバイス。
【請求項4】
前記1つまたは複数のエリアの前記各エリアにおいて検出された前記潜在的障害物を表す前記データは、前記潜在的障害物の1つまたは複数の画像を含む、請求項3に記載のモバイルコンピューティングデバイス。
【請求項5】
前記動作には、前記ディスプレイ上に前記潜在的障害物の前記1つまたは複数の画像の表現を表示することがさらに含まれる、請求項4に記載のモバイルコンピューティングデバイス。
【請求項6】
前記1つまたは複数のエリアの前記各エリアにおいて検出された前記潜在的障害物を表す前記データは、前記潜在的障害物の分類を示すラベルを含む、請求項3に記載のモバイルコンピューティングデバイス。
【請求項7】
前記動作は、前記1つまたは複数のエリアの各エリアに関して、複数のユーザ選択可能オプションに対応するアフォーダンスを前記ディスプレイ上に表示することをさらに含む、請求項1に記載のモバイルコンピューティングデバイス。
【請求項8】
前記動作は、前記第2のミッションの最中に前記1つまたは複数のエリアに対して前記自律清掃ロボットを走行させるために、前記1つまたは複数のエリアのそれぞれについて、前記複数のユーザ選択可能オプションの中の1つのユーザ選択を表すデータを前記自律清掃ロボットに送信することをさらに含む、請求項7に記載のモバイルコンピューティングデバイス。
【請求項9】
前記複数のユーザ選択可能オプションは、前記1つまたは複数のエリアの中の各エリアを清掃するように前記自律清掃ロボットを走行させる第1のオプションと、前記1つまたは複数のエリアの各エリアを回避するように前記自律清掃ロボットを走行させる第2のオプションとを含む、請求項7に記載のモバイルコンピューティングデバイス。
【請求項10】
前記複数のユーザ選択可能オプションは、前記1つまたは複数のエリアの前記各エリア内における障害物の不在を示すためのオプションを含む、請求項7に記載のモバイルコンピューティングデバイス。
【請求項11】
前記複数のユーザ選択可能オプションは、前記第2のミッションの最中には特定のエリアを回避し、前記第2のミッション後の1つまたは複数のミッションの最中には前記特定のエリアを回避しないように、前記自律清掃ロボットを走行させるオプションを含む、請求項7に記載のモバイルコンピューティングデバイス。
【請求項12】
前記複数のユーザ選択可能オプションは、前記第2のミッションの最中および前記第2のミッション後の1つまたは複数のミッションの最中に特定のエリアを回避するように、前記自律清掃ロボットを走行させるオプションを含む、請求項7に記載のモバイルコンピューティングデバイス。
【請求項13】
前記複数のユーザ選択可能オプションのインジケータは、前記第1のミッションの完了後に前記ディスプレイ上に表示される、請求項7に記載のモバイルコンピューティングデバイス。
【請求項14】
前記第2のミッションは、前記第1のミッションの完了後の12時間以内に開始される、請求項1に記載のモバイルコンピューティングデバイス。
【請求項15】
前記動作は、提供オプションに対応するアフォーダンスを前記ディスプレイ上に表示することをさらに含み、前記提供オプションにより、前記モバイルコンピューティングデバイスは、前記1つまたは複数のエリアに関する前記情報および前記ユーザ選択サブセットに対応する前記データを、複数のユーザからのデータを記憶するデータベースへ送信することが可能となる、請求項1に記載のモバイルコンピューティングデバイス。
【請求項16】
前記動作は、前記1つまたは複数のエリアを含む環境のマップを前記ディスプレイ上に表示することをさらに含む、請求項1に記載のモバイルコンピューティングデバイス。
【請求項17】
前記動作は、前記第2のミッションの完了後に前記ユーザ選択サブセットに関する情報を前記ディスプレイ上に表示することをさらに含む、請求項1に記載のモバイルコンピューティングデバイス。
【請求項18】
前記第1のミッションおよび前記第2のミッションは、連続的なミッションである、請求項1に記載のモバイルコンピューティングデバイス。
【請求項19】
前記第2のミッションは、
前記自律清掃ロボットが、ドックから前記ユーザ選択サブセットの第1のエリアへの移動を開始することと、
前記自律清掃ロボットが、前記ユーザ選択サブセットの残りのすべてのエリアへの移動を開始することと、
前記自律清掃ロボットが、前記ユーザ選択サブセットの最終エリアから前記ドックへの移動を開始することと
を含む、請求項1に記載のモバイルコンピューティングデバイス。
【請求項20】
前記自律清掃ロボットは、前記第2のミッションの最中には、前記第1のミッションの最中に前記自律清掃ロボットが清掃を行ったすべての領域の清掃を行うことなく、前記ユーザ選択サブセットを清掃する、請求項1に記載のモバイルコンピューティングデバイス。
【請求項21】
自律清掃ロボットであって、
床表面の上方に前記自律清掃ロボットを支持するための駆動システムであって、前記床表面の方々へと前記自律清掃ロボットを走行させるように動作可能である、駆動システムと、
前記自律清掃ロボットが前記床表面を方々へと走行される際に潜在的障害物を検出するための障害物検出センサと、
前記駆動システムおよび前記障害物検出センサに動作可能に接続されたコントローラと
を備え、前記コントローラは、
第1のミッションを実施すること、
前記第1のミッションの最中に前記床表面上の1つまたは複数のエリアに位置する1つまたは複数の潜在的障害物を検出すること、
前記検出された潜在的障害物および前記1つまたは複数のエリアに対応するデータをモバイルコンピューティングデバイスへ送信すること、
前記1つまたは複数のエリアのユーザ選択サブセットに対応するデータを前記モバイルコンピューティングデバイスから受信すること、ならびに
前記1つまたは複数のエリアの前記ユーザ選択サブセットを清掃する第2のミッションを実施すること
を含む、動作を実施する命令を実行するように構成される、自律清掃ロボット。
【請求項22】
前記障害物検出センサは、前記自律清掃ロボットの前方の前記床表面の一部分の画像をキャプチャするために前記自律清掃ロボット上に位置決めされた画像キャプチャデバイスを備える、請求項21に記載の自律清掃ロボット。
【請求項23】
前記検出された潜在的障害物および前記1つまたは複数のエリアに対応する前記データは、前記1つまたは複数の検出された潜在的障害物の中の各障害物の画像を表すデータを含む、請求項21に記載の自律清掃ロボット。
【請求項24】
前記画像は、単一の画像を含む、請求項23に記載の自律清掃ロボット。
【請求項25】
前記画像は、一連の画像を含む、請求項23に記載の自律清掃ロボット。
【請求項26】
前記検出された潜在的障害物および前記1つまたは複数のエリアに対応する前記データは、前記1つまたは複数のエリアの中の各エリアの位置を含む、請求項21に記載の自律清掃ロボット。
【請求項27】
前記検出された潜在的障害物および前記1つまたは複数のエリアに対応する前記データは、前記検出された潜在的障害物の中の各潜在的障害物の分類を示すラベルを含む、請求項21に記載の自律清掃ロボット。
【請求項28】
前記第2のミッションは、前記第1のミッションの完了後の12時間以内に開始される、請求項21に記載の自律清掃ロボット。
【請求項29】
前記動作は、前記第2のミッションの最中に前記1つまたは複数のエリアの前記ユーザ選択サブセットの更新状態に対応するデータを、前記モバイルコンピューティングデバイスに送信することをさらに含む、請求項21に記載の自律清掃ロボット。
【請求項30】
前記ユーザ選択サブセットの前記更新状態に対応する前記データは、前記第2のミッションの最中に清掃された前記ユーザ選択サブセットの一部分のインジケーションを含む、請求項29に記載の自律清掃ロボット。
【請求項31】
前記1つまたは複数のエリアの前記ユーザ選択サブセットに対応する前記データは、前記1つまたは複数のエリアの各エリアごとに、複数のユーザ選択可能オプションの中の1つのユーザ選択に対応するデータを含む、請求項21に記載の自律清掃ロボット。
【請求項32】
前記複数のユーザ選択可能オプションは、前記第2のミッションの最中に前記自律清掃ロボットに前記1つまたは複数のエリアの中の前記各エリアの清掃を行わせる第1のオプションと、前記第2のミッションの最中に前記自律清掃ロボットに前記1つまたは複数のエリアの中の前記各エリアを回避させる第2のオプションとを含む、請求項31に記載の自律清掃ロボット。
【請求項33】
前記複数のユーザ選択可能オプションは、前記第2のミッションの最中に前記自律清掃ロボットに特定のエリアを回避させ、前記第2のミッション後の1つまたは複数のミッションの最中には前記特定のエリアを回避させないオプションを含む、請求項31に記載の自律清掃ロボット。
【請求項34】
前記複数のユーザ選択可能オプションは、前記第2のミッションの最中および前記第2のミッション後の1つまたは複数のミッションの最中に、前記自律清掃ロボットに特定のエリアを回避させるオプションを含む、請求項31に記載の自律清掃ロボット。
【請求項35】
前記複数のユーザ選択可能オプションは、前記1つまたは複数のエリアの中の前記各エリア内に位置する障害物の不在を示すオプションを含む、請求項31に記載の自律清掃ロボット。
【請求項36】
前記動作は、前記ユーザ選択に基づき障害物検出モジュールを更新することをさらに含む、請求項31に記載の自律清掃ロボット。
【請求項37】
前記第1のミッションおよび前記第2のミッションは、連続的なミッションである、請求項21に記載の自律清掃ロボット。
【請求項38】
前記第2のミッションを実施することは、
ドックから前記ユーザ選択サブセットの中の第1のエリアへの移動を開始することと、
前記ユーザ選択サブセットの残りのすべてのエリアへの移動を開始することと、
前記ユーザ選択サブセットの最終エリアから前記ドックへの移動を開始することと
を含む、請求項21に記載の自律清掃ロボット。
【請求項39】
前記第2のミッションは、前記第1のミッションの最中に前記自律清掃ロボットが清掃したすべての領域の清掃を行わずに、前記1つまたは複数のエリアの前記ユーザ選択サブセットの清掃を行うことを含む、請求項21に記載の自律清掃ロボット。
【請求項40】
ディスプレイを備えるユーザ入力デバイスと、
前記ユーザ入力デバイスに動作可能に接続されたコントローラと
を備え、前記コントローラは、
自律清掃ロボットから、
前記自律清掃ロボットが検出したエラー条件に対応するデータ、および
前記自律清掃ロボットによりキャプチャされた画像の一部分であって、前記検出したエラー条件に関連する画像の一部分
を受信することと、
前記検出したエラー条件に対応する前記データの受信に応答して、前記ディスプレイ上の前記画像の前記一部分の表現と前記検出したエラー条件のインジケータとを表示することと
を含む動作を実施する命令を実行するように構成される、モバイルコンピューティングデバイス。
【請求項41】
前記エラー条件に関連する前記画像の前記一部分は、前記自律清掃ロボットが前記エラー条件を検出した場合に、前記自律清掃ロボットの位置の付近にてキャプチャされる、請求項40に記載のモバイルコンピューティングデバイス。
【請求項42】
前記画像の前記一部分は、前記自律清掃ロボットが前記エラー条件を検出する前にキャプチャされた画像を含む、請求項40に記載のモバイルコンピューティングデバイス。
【請求項43】
前記画像の前記一部分は、前記自律清掃ロボットが前記エラー条件を検出した後にキャプチャされた画像を含む、請求項40に記載のモバイルコンピューティングデバイス。
【請求項44】
前記エラー条件に関連する前記画像の前記一部分は、単一の画像を含む、請求項40に記載のモバイルコンピューティングデバイス。
【請求項45】
前記エラー条件に関連する前記画像の前記一部分は、一連の画像を含む、請求項40に記載のモバイルコンピューティングデバイス。
【請求項46】
前記検出したエラー条件に対応する前記データは、前記自律清掃ロボットが前記エラー条件を検出した時の前記自律清掃ロボットの位置、前記自律清掃ロボットが前記エラー条件を検出した時の時間、またはエラー条件のタイプの中の少なくとも1つを含む、請求項40に記載のモバイルコンピューティングデバイス。
【請求項47】
前記エラー条件の前記タイプは、前記自律清掃ロボットの構成要素に関連し、前記構成要素は、駆動システム、清掃アセンブリ、またはブラシの中の少なくとも1つを含む、請求項46に記載のモバイルコンピューティングデバイス。
【請求項48】
前記構成要素は、交換を行うために特定される、請求項47に記載のモバイルコンピューティングデバイス。
【請求項49】
前記エラー条件の前記タイプは、前記自律清掃ロボットの移動性の制限に関連する、請求項46に記載のモバイルコンピューティングデバイス。
【請求項50】
前記自律清掃ロボットの移動性の前記制限は、ミッションを完了することができないこと、またはドックへ走行することができないことを含む、請求項49に記載のモバイルコンピューティングデバイス。
【請求項51】
前記画像の前記一部分は、前記自律清掃ロボットの前方の環境の一部分のキャプチャされた画像を含む、請求項40に記載のモバイルコンピューティングデバイス。
【請求項52】
前記自律清掃ロボットの前方の前記環境の前記一部分は、床表面の一部分を含む、請求項51に記載のモバイルコンピューティングデバイス。
【請求項53】
前記検出したエラー条件の前記インジケータは、前記エラー条件のタイプのラベルを含む、請求項40に記載のモバイルコンピューティングデバイス。
【請求項54】
前記検出したエラー条件の前記インジケータは、前記自律清掃ロボットが前記エラー条件を検出した時の前記自律清掃ロボットの位置の画像を含む、請求項40に記載のモバイルコンピューティングデバイス。
【請求項55】
自律清掃ロボットであって、
床表面の上方に前記自律清掃ロボットを支持するための駆動システムであって、前記床表面の方々へと前記自律清掃ロボットを走行させるように動作可能である、駆動システムと、
前記自律清掃ロボットのエラー条件を示すセンサデータをキャプチャするように構成された1つまたは複数のセンサと、
前記エラー条件の画像をキャプチャするための画像キャプチャデバイスであって、前記キャプチャされた画像は、前記自律清掃ロボットの前方の環境の一部分の画像である、画像キャプチャデバイスと、
前記駆動システム、前記画像キャプチャデバイス、および前記1つまたは複数のセンサに動作可能に接続された1つまたは複数のコントローラと
を備え、前記1つまたは複数のコントローラは、
前記自律清掃ロボットが前記床表面を方々へと走行される際に、前記センサデータに基づき前記自律清掃ロボットの前記エラー条件を検出すること、ならびに
(i)モバイルコンピューティングデバイスに前記エラー条件のインジケータを表示させるために、前記エラー条件を表すデータ、および(ii)前記モバイルコンピューティングデバイスに前記キャプチャされた画像の前記一部分の表現を表示させるために、前記キャプチャされた画像の一部分を表すデータを、前記モバイルコンピューティングデバイスへ送信すること
を含む、動作を実施する命令を実行するように構成される、自律清掃ロボット。
【請求項56】
前記自律清掃ロボットの前方の前記環境の前記一部分は、前記床表面の一部分を含む、請求項55に記載の自律清掃ロボット。
【請求項57】
前記キャプチャされた画像の前記一部分は、前記自律清掃ロボットが前記エラー条件を検出した時の前記自律清掃ロボットの位置にてキャプチャされたものである、請求項55に記載の自律清掃ロボット。
【請求項58】
前記キャプチャされた画像の前記一部分は、単一の画像を含む、請求項55に記載の自律清掃ロボット。
【請求項59】
前記キャプチャされた画像の前記一部分は、一連の画像を含む、請求項55に記載の自律清掃ロボット。
【請求項60】
前記エラー条件を表す前記データは、前記自律清掃ロボットが前記エラー条件を検出した時の前記自律清掃ロボットの位置、前記自律清掃ロボットが前記エラー条件を検出した時の時間、または前記エラー条件のタイプの中の少なくとも1つを含む、請求項55に記載の自律清掃ロボット。
【請求項61】
前記エラー条件の前記タイプは、前記自律清掃ロボットの構成要素に関連し、前記構成要素は、駆動システム、清掃アセンブリ、またはブラシの中の少なくとも1つを含む、請求項60に記載の自律清掃ロボット。
【請求項62】
前記構成要素は、交換を行うために特定される、請求項61に記載の自律清掃ロボット。
【請求項63】
前記エラー条件の前記タイプは、前記自律清掃ロボットの移動性の制限に関連する、請求項60に記載の自律清掃ロボット。
【請求項64】
前記自律清掃ロボットの移動性の前記制限は、ミッションを完了することができないこと、またはドックへ走行することができないことを含む、請求項63に記載の自律清掃ロボット。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、自律移動ロボットにより検出された障害物に関するユーザフィードバックの取得および使用と、関連するシステムおよび方法とに関する。
【背景技術】
【0002】
自律移動ロボットには、例えば家などの環境内において清掃タスクを自律的に実施する自律清掃ロボットが含まれる。多種多様な清掃ロボットが、なんらかの度合いでおよび様々な形で自律的である。清掃ロボットは、ロボットが移動する際にゴミを取り込むことが可能となるように、ある環境内の方々へロボットを自律的に走行させるように構成されたコントローラを備え得る。この清掃ロボットは、環境内の障害物を回避するためのセンサを備え得る。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許出願第15/863,591号
【特許文献2】米国特許出願第16/588,295号
【発明の概要】
【発明が解決しようとする課題】
【0004】
自律移動ロボットは、ある環境内における動作中に(例えば清掃ミッションの実施中に)潜在的障害物および/またはエラー条件を検出することが可能である。自律移動ロボットは、これらの検出された潜在的障害物および/またはエラー条件に関する情報をユーザに提供することが、ならびにこれらの検出された潜在的障害物および/またはエラー条件に関するユーザフィードバックを受信することが可能である。本開示は、検出された潜在的障害物および/またはエラー条件に関するユーザフィードバックが、取得され、ロボットの動作において使用され得る様々な方法を説明する。ロボットは、潜在的障害物および/またはエラー条件を検出すると、この潜在的障害物および/またはエラー条件に関する情報をユーザのモバイルコンピューティングデバイスへ送信し得る。例えば、この情報としては、検出された潜在的障害物の分類もしくはエラー条件のタイプ、潜在的障害物および/またはエラー条件の検出時におけるロボットの位置、ならびに潜在的障害物および/またはエラー条件の検出時にロボットによりキャプチャされた画像を表すデータが含まれ得る。
【0005】
モバイルコンピューティングデバイスは、ロボットにより送信された情報を受信し、ディスプレイ上にこの情報の少なくとも一部を表示させることができる。いくつかの例では、モバイルコンピューティングデバイスは、ユーザからのフィードバックを要求し得る。例えば、モバイルコンピューティングデバイスは、潜在的障害物に対する自律移動ロボットの対応を制御するためのフィードバックを提供するためにユーザによる選択可能なオプションを、潜在的障害物が位置する領域を、またはエラー条件が検出された領域を、ディスプレイ上に表示することができる。例えば、ユーザは、この領域を清掃するように(例えば障害物もしくはエラー条件ソースがユーザにより対処されたことにより)、またはこの領域を回避するように(例えば障害物またはエラー条件ソースがユーザにより対処されていないもしくは対処できないことにより)自律移動ロボットに指示するオプションを選択することが可能である。また、これらのユーザ選択可能オプションは、検出された潜在的障害物および/またはエラー条件が正当な障害物および/またはエラー条件であるか否かに関するフィードバックをロボットに提供するために使用することも可能である。例えば、いくつかの例では、ロボットにより検出された障害物および/またはエラー条件は、それらが正当な障害物および/または正当なエラー条件であるか否かを特定するためにユーザが再確認することのできる潜在的障害物および/または潜在的エラー条件となる。これらの潜在的障害物および/または潜在的エラー条件が、正当な障害物および/またはエラー条件ではない場合には、ユーザは、障害物および/またはエラー条件が存在しないことを指摘するためのフィードバックを提供することができる。
【0006】
いくつかの例では、自律移動ロボットは、第1の清掃ミッションの最中に1つまたは複数の障害物を検出することが可能であり、その結果として、1つまたは複数のエリアが、この初回の清掃ミッションの最中において自律清掃ロボットによって清掃されない。ロボットは、この1つまたは複数の障害物またはエリアに関するユーザフィードバックを受信した後に、第2の清掃ミッションを実施することが可能となる。いくつかの例では、この第2の清掃ミッションは、自律清掃ロボットがユーザフィードバックに基づきこの1つまたは複数の障害物またはエリアに対して走行する整頓ミッションであることが可能である。例えば、この1つまたは複数の障害物またはエリアに関するユーザフィードバックには、1つまたは複数のエリアのユーザ選択サブセットが含まれることが可能であり、これらの1つまたは複数のエリアのユーザ選択サブセットは、整頓ミッションにおいてロボットにより清掃されるべきエリアである(例えば障害物が除去されたため、または検出された潜在的障害物が正当な障害物ではなかったため)。
【0007】
先述の利点は、以降においておよび本明細書の他の箇所において説明されるものを含み得るが、それらに限定されない。
【課題を解決するための手段】
【0008】
本明細書において説明される実装形態は、自律移動ロボットとの対話におけるユーザの体験を改善することができる。障害物および/またはエラー条件が検出された場合に自律移動ロボットによりキャプチャされる画像は、ロボットの環境に関する情報をユーザに提供することができる。例えば、この画像は、清掃ミッションの最中に環境の1つまたは複数のエリアがロボットによる清掃を行われなかった理由についてのユーザの理解を助け得る。いくつかの実装形態では、ディスプレイ上に複数のユーザ選択可能オプションが表示されることにより、とりわけ清掃ミッションの最中に検出された潜在的障害物およびエラー条件に関して、ロボットと対話しロボットにフィードバックを提供する直観的な方法が、ユーザに提供され得る。
【0009】
また、本明細書において説明される実装形態は、環境内におけるロボットの対応範囲と、さらなる清掃ミッションにおけるロボットのパフォーマンスとを改善し得る。例えば、複数のユーザ選択可能オプションにより、ユーザは、有益なユーザフィードバックをロボットに提供することが可能となる。いくつかの例では、ユーザフィードバックは、ロボットの1つまたは複数のセンサによりキャプチャされない情報を提供することができる。また、ユーザフィードバックは、ロボットの1つまたは複数のセンサによりキャプチャされたデータをロボットが処理および解釈するのを補助することもできる。いくつかの例では、ユーザフィードバックは、障害物が除去されたことをロボットに通知して、第1の清掃ミッションの最中には清掃されなかったエリアを整頓ミッションの最中にロボットに清掃させることができる。いくつかの例では、ユーザフィードバックは、立ち入り禁止ゾーンを生成するために使用されることが可能であり、これにより、ロボットが後の清掃ミッションにおいてエラー条件に直面する可能性を低下させることができる。いくつかの例では、ユーザフィードバックは、検出された潜在的障害物が正当な障害物であるか否かをロボットに通知することが可能であり、これは、後の清掃ミッションにおけるロボットによる障害物の検出を改善させ得る。いくつかの例では、ユーザは、潜在的障害物、エラー条件、および関連するユーザフィードバックに関するデータをデータベースへ提供することを選択することが可能であり、これらのデータは、様々なユーザが所有する多様な自律移動ロボットのパフォーマンスを改善するために使用され得る。
【0010】
また、本明細書において説明される実装形態は、ロボットにより実施される清掃ミッションの効率を改善することができる。例えば、潜在的障害物および/またはエラー条件に関するユーザフィードバックに基づき実施される整頓ミッションは、第1の清掃ミッションの最中に既に清掃がおこなわれた再清掃領域を抑制しつつ、第1の清掃ミッションの最中に清掃が行われなかった領域をロボットが効率的に清掃し得ることを可能にする。いくつかの例では、第1の清掃ミッションの最中に清掃が行われなかった領域は、他の理由によって未清掃になってしまった場合があり、後のミッションでも清掃されていない場合がある。整頓ミッションは、かような領域の清掃を確保するための仕組みを提供することができる。
【0011】
一態様では、モバイルコンピューティングデバイスが、ユーザ入力デバイスと、このユーザ入力デバイスに動作可能に接続されたコントローラとを備える。ユーザ入力デバイスは、ディスプレイを備え、コントローラは、動作を実施する命令を実行するように構成される。これらの動作には、第1のミッションの最中に自律清掃ロボットにより清掃されなかった1つまたは複数のエリアに関する情報をディスプレイ上に表示することが含まれる。さらに、これらの動作には、1つまたは複数のエリアのユーザ選択サブセットに対応するデータを送信することにより、第2のミッションの最中に自律清掃ロボットにユーザ選択サブセットを清掃させることが含まれる。
【0012】
実装形態は、以下のまたは本明細書の他の箇所において説明される1つまたは複数の特徴を備えることが可能である。実装形態は、以下の特徴の組合せを備えることが可能である。
【0013】
いくつかの実装形態では、1つまたは複数のエリアに関する情報は、1つまたは複数のエリアの各エリアの位置を含み得る。いくつかの実装形態では、1つまたは複数のエリアに関する情報は、1つまたは複数のエリアの各エリアにおいて検出された潜在的障害物を表すデータを含み得る。いくつかの実装形態では、1つまたは複数のエリアの各エリアにおいて検出された潜在的障害物を表すデータは、潜在的障害物の1つまたは複数の画像を含むことが可能であり、いくつかの実装形態では、これらの動作には、ディスプレイ上に潜在的障害物の1つまたは複数の画像の表現を表示することがさらに含まれ得る。いくつかの実装形態では、1つまたは複数のエリアの各エリアにおいて検出された潜在的障害物を表すデータは、潜在的障害物の分類を示すラベルを含み得る。いくつかの実装形態では、これらの動作は、1つまたは複数のエリアの各エリアに関して、複数のユーザ選択可能オプションに対応するアフォーダンス(affordance)をディスプレイ上に表示することをさらに含み得る。いくつかの実装形態では、これらの動作は、第2のミッションの最中に1つまたは複数のエリアに対して自律清掃ロボットを走行させるために、1つまたは複数のエリアのそれぞれについて、複数のユーザ選択可能オプションの中の1つのユーザ選択に対応するデータを自律清掃ロボットに送信することをさらに含み得る。いくつかの実装形態では、複数のユーザ選択可能オプションは、1つまたは複数のエリアの中の各エリアを清掃するように自律清掃ロボットを走行させる第1のオプションと、1つまたは複数のエリアの各エリアを回避するように自律清掃ロボットを走行させる第2のオプションとを含み得る。いくつかの実装形態では、複数のユーザ選択可能オプションは、1つまたは複数のエリアの各エリア内における障害物の不在を示すためのオプションを含み得る。いくつかの実装形態では、複数のユーザ選択可能オプションは、第2のミッションの最中には1つまたは複数のエリアの中の各エリアを回避し、第2のミッション後の1つまたは複数のミッションの最中にはこの各エリアを回避しないように、自律清掃ロボットを走行させるオプションを含み得る。いくつかの実装形態では、複数のユーザ選択可能オプションは、第2のミッションの最中および第2のミッション後の1つまたは複数のミッションの最中に1つまたは複数のエリアの中の各エリアを回避するように、自律清掃ロボットを走行させるオプションを含み得る。いくつかの実装形態では、複数のユーザ選択可能オプションに対応するアフォーダンスは、第1のミッションの完了後にディスプレイ上に表示され得る。いくつかの実装形態では、第2のミッションは、第1のミッションの完了後の12時間以内の間に開始され得る。いくつかの実装形態では、これらの動作は、提供オプションに対応するアフォーダンスをディスプレイ上に表示することをさらに含むことが可能であり、この提供オプションは、モバイルコンピューティングデバイスが、1つまたは複数のエリアに関する情報およびユーザ選択サブセットに対応するデータを、複数のユーザからのデータを記憶するデータベースへ送信することを可能にする。いくつかの実装形態では、これらの動作は、1つまたは複数のエリアを含む環境のマップをディスプレイ上に表示することをさらに含み得る。いくつかの実装形態では、これらの動作は、第2のミッションの完了後にユーザ選択サブセットに関する情報をディスプレイ上に表示することをさらに含み得る。いくつかの実装形態では、第1のミッションおよび第2のミッションは、連続的なミッションであることが可能である。いくつかの実装形態では、第2のミッションは、i)自律清掃ロボットが、ドックからユーザ選択サブセットの第1のエリアへの移動を開始することと、ii)自律清掃ロボットが、ユーザ選択サブセットの残りのすべてのエリアへの移動を開始することと、iii)自律清掃ロボットが、ユーザ選択サブセットの最終エリアからドックへの移動を開始することとを含み得る。いくつかの実装形態では、自律清掃ロボットは、第2のミッションの最中には、第1のミッションの最中に自律清掃ロボットが清掃を行ったすべての領域の清掃を行うことなく、ユーザ選択サブセットを清掃し得る。
【0014】
他の態様では、自律清掃ロボットが、駆動システムと、障害物検出センサと、駆動システムおよび障害物検出センサに動作可能に接続されたコントローラとを備える。駆動システムは、床表面の上方に自律清掃ロボットを支持し、床表面の方々へと自律清掃ロボットを走行させるように動作可能である。障害物検出センサは、自律清掃ロボットが床表面を方々へと走行される際に潜在的障害物を検出することが可能であり、コントローラは、動作を実施する命令を実行するように構成される。これらの動作は、第1のミッションを実施することと、第1のミッションの最中に床表面上の1つまたは複数のエリアに位置する1つまたは複数の潜在的障害物を検出することとを含む。さらに、これらの動作は、検出された潜在的障害物および1つまたは複数のエリアに対応するデータをモバイルコンピューティングデバイスへ送信することを含む。さらに、これらの動作は、1つまたは複数のエリアのユーザ選択サブセットに対応するデータをモバイルコンピューティングデバイスから受信することと、1つまたは複数のエリアのユーザ選択サブセットを清掃する第2のミッションを実施することとを含む。
【0015】
実装形態は、以下のまたは本明細書の他の箇所において説明される1つまたは複数の特徴を備えることが可能である。実装形態は、以下の特徴の組合せを備えることが可能である。
【0016】
いくつかの実装形態では、障害物検出センサは、自律清掃ロボットの前方の床表面の一部分の画像をキャプチャするために自律清掃ロボット上に位置決めされた画像キャプチャデバイスを備え得る。いくつかの実装形態では、検出された潜在的障害物および1つまたは複数のエリアに対応するデータは、1つまたは複数の検出された潜在的障害物の中の各障害物の画像を表すデータを含み得る。いくつかの実装形態では、この画像は、単一の画像を含むことができ、いくつかの実装形態では、この画像は、一連の画像を含むことができる。いくつかの実装形態では、検出された潜在的障害物および1つまたは複数のエリアに対応するデータは、1つまたは複数のエリアの中の各エリアの位置を含み得る。いくつかの実装形態では、検出された潜在的障害物および1つまたは複数のエリアに対応するデータは、検出された潜在的障害物の中の各潜在的障害物の分類を示すラベルを含み得る。いくつかの実装形態では、第2のミッションは、第1のミッションの完了後の12時間以内に開始され得る。いくつかの実装形態では、これらの動作は、第2のミッションの最中に1つまたは複数のエリアのユーザ選択サブセットの更新状態に対応するデータを、モバイルコンピューティングデバイスに送信することをさらに含み得る。いくつかの実装形態では、ユーザ選択サブセットの更新状態に対応するデータは、第2のミッションの最中に清掃されたユーザ選択サブセットの一部分のインジケーションを含み得る。いくつかの実装形態では、1つまたは複数のエリアのユーザ選択サブセットに対応するデータは、1つまたは複数のエリアの各エリアごとに、複数のユーザ選択可能オプションの中の1つのユーザ選択に対応するデータを含み得る。いくつかの実装形態では、複数のユーザ選択可能オプションは、第2のミッションの最中に自律清掃ロボットに1つまたは複数のエリアの中の各エリアの清掃を行わせる第1のオプションと、第2のミッションの最中に自律清掃ロボットに1つまたは複数のエリアの中の各エリアを回避させる第2のオプションとを含み得る。いくつかの実装形態では、複数のユーザ選択可能オプションは、第2のミッションの最中に自律清掃ロボットに1つまたは複数のエリアの中の各エリアを回避させ、第2のミッション後の1つまたは複数のミッションの最中には各エリアを回避させないオプションを含み得る。いくつかの実装形態では、複数のユーザ選択可能オプションは、第2のミッションの最中および第2のミッション後の1つまたは複数のミッションの最中に、自律清掃ロボットに1つまたは複数のエリアの中の各エリアを回避させるオプションを含み得る。いくつかの実装形態では、複数のユーザ選択可能オプションは、1つまたは複数のエリアの中の各エリア内に位置する障害物の不在を示すオプションを含み得る。いくつかの実装形態では、これらの動作は、ユーザ選択に基づき障害物検出モジュールを更新することをさらに含み得る。いくつかの実装形態では、第1のミッションおよび第2のミッションは、連続的なミッションであることが可能である。いくつかの実装形態では、第2のミッションを実施することは、i)ドックからユーザ選択サブセットの中の第1のエリアへの移動を開始することと、ii)ユーザ選択サブセットの残りのすべてのエリアへの移動を開始することと、iii)ユーザ選択サブセットの最終エリアからドックへの移動を開始することとを含み得る。いくつかの実装形態では、第2のミッションは、第1のミッションの最中に自律清掃ロボットが清掃したすべての領域の清掃を行わずに、1つまたは複数のエリアのユーザ選択サブセットの清掃を行うことを含み得る。
【0017】
他の一態様では、モバイルコンピューティングデバイスが、ユーザ入力デバイスと、ユーザ入力デバイスに動作可能に接続されたコントローラとを備える。ユーザ入力デバイスは、ディスプレイを備え、コントローラは、動作を実施する命令を実行するように構成される。これらの動作には、自律清掃ロボットから、自律清掃ロボットが検出したエラー条件に対応するデータ、および自律清掃ロボットによりキャプチャされた画像の一部分を受信することが含まれる。画像のこの一部分は、検出されたエラー条件に関連する。さらに、これらの動作には、検出したエラー条件に対応するデータの受信に応答して、ディスプレイ上の画像の一部分の表現と検出したエラー条件のインジケータとを表示することが含まれる。
【0018】
実装形態は、以下のまたは本明細書の他の箇所において説明される1つまたは複数の特徴を備えることが可能である。実装形態は、以下の特徴の組合せを備えることが可能である。
【0019】
いくつかの実装形態では、エラー条件に関連する画像の一部分は、自律清掃ロボットがエラー条件を検出した場合に、自律清掃ロボットの位置の付近にてキャプチャされ得る。いくつかの実装形態では、画像の一部分は、自律清掃ロボットがエラー条件を検出する前にキャプチャされた画像を含むことが可能であり、いくつかの実装形態では、画像の一部分は、自律清掃ロボットがエラー条件を検出した後にキャプチャされた画像を含み得る。いくつかの実装形態では、エラー条件に関連する画像の一部分は、単一の画像を含むことができ、いくつかの実装形態では、エラー条件に関連する画像の一部分は、一連の画像を含むことができる。いくつかの実装形態では、検出したエラー条件に対応するデータは、自律清掃ロボットがエラー条件を検出した時の自律清掃ロボットの位置、自律清掃ロボットがエラー条件を検出した時の時間、またはエラー条件のタイプの中の少なくとも1つを含み得る。いくつかの実装形態では、エラー条件のタイプは、自律清掃ロボットの構成要素に関連するものが可能であり、この構成要素は、駆動システム、清掃アセンブリ、またはブラシの中の少なくとも1つを含み得る。いくつかの実装形態では、この構成要素は、交換を行うために特定され得る。いくつかの実装形態では、エラー条件のタイプは、自律清掃ロボットの移動性の制限に関連するものが可能であり、いくつかの実装形態では、自律清掃ロボットの移動性の制限は、ミッションを完了することができないこと、またはドックへ走行することができないことを含み得る。いくつかの実装形態では、画像の一部分は、自律清掃ロボットの前方の環境の一部分のキャプチャされた画像を含み得る。いくつかの実装形態では、自律清掃ロボットの前方の環境の一部分は、床表面の一部分を含み得る。いくつかの実装形態では、検出したエラー条件のインジケータは、エラー条件のタイプのラベルを含むことが可能であり、いくつかの実装形態では、検出したエラー条件のインジケータは、自律清掃ロボットがエラー条件を検出した時の自律清掃ロボットの位置の表現を含み得る。
【0020】
他の一態様では、自律清掃ロボットが、床表面の上方に自律清掃ロボットを支持するための駆動システムを備え、この駆動システムは、床表面の方々へと自律清掃ロボットを走行させるように動作可能である。さらに、自律清掃ロボットは、自律清掃ロボットのエラー条件に対応するセンサデータをキャプチャするように構成された1つまたは複数のセンサと、エラー条件に関連する画像をキャプチャするための画像キャプチャデバイスとを備える。この画像は、自律清掃ロボットの前方の環境の一部分の画像であることが可能である。さらに、自律清掃ロボットは、駆動システム、画像キャプチャデバイス、および1つまたは複数のセンサに動作可能に接続された1つまたは複数のコントローラをさらに備える。この1つまたは複数のコントローラは、動作を実施する命令を実行するように構成される。これらの動作は、自律清掃ロボットが床表面を方々へと走行される際に、センサデータに基づき自律清掃ロボットのエラー条件を検出することを含む。さらに、これらの動作は、(i)モバイルコンピューティングデバイスにエラー条件のインジケータを表示させるために、検出したエラー条件に関する情報を、および(ii)モバイルコンピューティングデバイスにキャプチャされた画像の一部分の表現を表示させるために、キャプチャされた画像の一部分を表すデータを、モバイルコンピューティングデバイスへ送信することを含む。
【0021】
実装形態は、以下のまたは本明細書の他の箇所において説明される1つまたは複数の特徴を備えることが可能である。実装形態は、以下の特徴の組合せを備えることが可能である。
【0022】
いくつかの実装形態では、自律清掃ロボットの前方の環境のこの一部分は、床表面の一部分を含み得る。いくつかの実装形態では、キャプチャされた画像のこの一部分は、自律清掃ロボットがエラー条件を検出した時の自律清掃ロボットの位置にてキャプチャされたものであることが可能である。いくつかの実装形態では、キャプチャされた画像の一部分は、単一の画像を含むことができ、いくつかの実装形態では、キャプチャされた画像の一部分は、一連の画像を含むことができる。いくつかの実装形態では、エラー条件に関する情報は、自律清掃ロボットがエラー条件を検出した時の自律清掃ロボットの位置、自律清掃ロボットがエラー条件を検出した時の時間、またはエラー条件のタイプの中の少なくとも1つを含み得る。いくつかの実装形態では、エラー条件のタイプは、自律清掃ロボットの構成要素に関連するものが可能であり、この構成要素は、駆動システム、清掃アセンブリ、またはブラシの中の少なくとも1つを含み得る。いくつかの実装形態では、この構成要素は、交換を行うために特定され得る。いくつかの実装形態では、エラー条件のタイプは、自律清掃ロボットの移動性の制限に関連するものが可能であり、いくつかの実装形態では、自律清掃ロボットの移動性の制限は、ミッションを完了することができないこと、またはドックへ走行することができないことを含み得る。
【0023】
本明細書において説明される主題の1つまたは複数の実施形態の詳細が、添付の図面および以下の説明に示される。他の可能な特徴、態様、および利点は、以下の説明、図面、および特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【0024】
【
図1A】自律移動ロボットを含む環境の一例の平面図である。
【
図1B】自律移動ロボットを含む環境の一例の平面図である。
【
図2】ある環境内における自律清掃ロボットの斜視図である。
【
図3】ある環境内における自律清掃ロボットの概略側面図である。
【
図5】自律移動ロボットにより検出された障害物に関するユーザフィードバックを提供するプロセスの流れ図である。
【
図6】整頓ミッションをプランニングするプロセスの流れ図である。
【
図7】整頓ミッションをプランニングするための通知を表示しているモバイルコンピューティングデバイスの正面図である。
【
図8A】自律清掃ロボットにより検出された障害物を確認するためのユーザインターフェースを表示しているモバイルコンピューティングデバイスの正面図である。
【
図8B】自律清掃ロボットにより検出された障害物を確認するためのユーザインターフェースを表示しているモバイルコンピューティングデバイスの正面図である。
【
図8C】自律清掃ロボットにより検出された障害物を確認するためのユーザインターフェースを表示しているモバイルコンピューティングデバイスの正面図である。
【
図8D】自律清掃ロボットにより検出された障害物を確認するためのユーザインターフェースを表示しているモバイルコンピューティングデバイスの正面図である。
【
図9A】自律清掃ロボットにより検出された潜在的障害物に関するユーザフィードバックを提供するためのユーザインターフェースを表示しているモバイルコンピューティングデバイスの正面図である。
【
図9B】自律清掃ロボットにより検出された潜在的障害物に関するユーザフィードバックを提供するためのユーザインターフェースを表示しているモバイルコンピューティングデバイスの正面図である。
【
図9C】自律清掃ロボットにより検出された潜在的障害物に関するユーザフィードバックを提供するためのユーザインターフェースを表示しているモバイルコンピューティングデバイスの正面図である。
【
図9D】自律清掃ロボットにより検出された潜在的障害物に関するユーザフィードバックを提供するためのユーザインターフェースを表示しているモバイルコンピューティングデバイスの正面図である。
【
図10】整頓ミッションを開始するためのユーザインターフェースを表示しているモバイルコンピューティングデバイスの正面図である。
【
図11A】完了した整頓ミッションを再確認するためのユーザインターフェースを表示しているモバイルコンピューティングデバイスの正面図である。
【
図11B】完了した整頓ミッションを再確認するためのユーザインターフェースを表示しているモバイルコンピューティングデバイスの正面図である。
【
図12】自律清掃ロボットにより検出されたエラー条件に関する情報を表示するプロセスの流れ図である。
【
図13A】自律清掃ロボットにより検出されたエラー条件を再確認するためのユーザインターフェースを表示しているモバイルコンピューティングデバイスの正面図である。
【
図13B】自律清掃ロボットにより検出されたエラー条件を再確認するためのユーザインターフェースを表示しているモバイルコンピューティングデバイスの正面図である。
【
図14】コンピューティングデバイスおよびモバイルコンピューティングデバイスの一例を示す図である。
【発明を実施するための形態】
【0025】
様々な図における同様の参照数字および記号は、同様の要素を指す。
【0026】
図1Aを参照すると、自律移動ロボット100が、環境20内において床表面10を方々へと移動する。例えば、環境20は、キッチン、ダイニングルーム、バスルーム、ベッドルーム、およびリビングルームを有する家であることが可能である。ロボット100は、ロボット100が床表面10を方々へと走行する際に床表面10を清掃し得る、例えばロボット掃除機、ロボットモップ、または他の清掃ロボットなどの清掃ロボットである。ロボット100は、トレーニングミッションおよび清掃ミッションを含み得る様々なミッションを実施することが可能である。トレーニングミッションの最中には、ロボットは、床表面10を清掃することなく床表面10を方々へと走行する。清掃ミッションの最中には、ロボット100は、環境20の1つまたは複数のエリアを清掃するように床表面10を方々へと走行する。これらのエリアは、ロボット100により自動的に決定され得るか、またはユーザにより事前指定され得る。清掃ミッションの開始時に、ロボット100は、ドッキングステーション50(時としてドックと呼ばれる)に格納されてもよく、または環境20内の他の箇所に配置され得る。清掃ミッションは、ロボット100が環境20内の様々なエリアへの走行をもしくは走行しようとする試みを終了した後に、ユーザが手動により清掃ミッションを終了させた場合に、またはロボット100がエラー条件に直面した場合に、完了したと見なされ得る。いくつかの実装形態では、清掃ミッションは、ロボット100がこれらの様々なエリアへの走行または走行の試みを閾値回数に達するまで(例えば2回、3回等)行わない限り、完了したとはみなされない。いくつかの実装形態では、清掃ミッションは、ロボットが様々なエリアの少なくとも一部において閾値量未満のゴミの量を検出するまでは、完了したとはみなされない。また、清掃ミッションは、ロボット100が清掃ミッションの中間時点においてまたは清掃ミッションの終了時においてドッキングステーション50へ戻ることも含み得る。いくつかの実装形態では、清掃ミッションは、ロボット100がドッキングステーション50へ走行することが不可能であると判定した場合に、完了したとみなすことが可能である。ドッキングステーション50は、ロボット100を充電することができる。ロボット100が環境の方々へと移動する際にゴミを収集するロボット掃除機である例では、いくつかの実装形態において、ドッキングステーション50は、ロボット100がさらなるゴミを収集できるように、ロボット100からゴミを排出させる。清掃ミッションが完了すると、ロボット100は、次の清掃ミッションが開始するまで、床表面10の方々への走行および清掃を停止する。
【0027】
本開示で説明するように、第1の清掃ミッションの最中には、ロボット100は、環境20の1つまたは複数のエリア内において潜在的障害物を検出し得る。例えば、ロボット100は、ソックス35を床表面10の第1のエリア25A内の潜在的障害物として検出し、コード45を床表面10の第2のエリア25B内の潜在的障害物として検出し、ラグ55を床表面10の第3のエリア25C内の潜在的障害物として検出する場合がある。いくつかの実装形態では、潜在的障害物は、ロボット100の画像キャプチャデバイス(例えば前方向カメラ)によりキャプチャされた画像を処理することによって検出される。例えば、ロボット100の画像キャプチャデバイスによりキャプチャされた画像は、それらの画像内の障害物を検出するために(例えば画像解析技術、1つまたは複数の畳み込みニューラルネットワーク等を使用してなど)、ロボット100の物体検出モジュール190(
図4Aに図示)へと入力され得る。ロボット100により実施され得るまたはロボット100と連係状態になり得る障害物検知技術の例は、2018年1月5日に出願された米国特許出願第15/863,591号において説明されており、この特許出願の全内容が、参照により本明細書に組み込まれる。
【0028】
いくつかの実装形態では、動かなくなることおよびエラー条件への直面を回避するために、ロボット100は、第1の清掃ミッションの最中に第1のエリア25A、第2のエリア25B、および第3のエリア25C(これらを共通してエリア25と呼ぶ)の清掃を回避することができる。いくつかの実装形態では、潜在的障害物の検出に応答して、ロボットは、その挙動を変更することが可能である(例えば掃除を中断する、減速する、障害物の検出を示すために照明をオンに切り替える等)。ロボット100は、エリア25、エリア25に関連する潜在的障害物等に関する情報を、ユーザのモバイルコンピューティングデバイスへ送信することが可能である。この情報は、エリア25の位置、関連する潜在的障害物の画像、および潜在的障害物の分類を含み得る。いくつかの例では、ロボットは、いくつかのタイプのみの潜在的障害物に関する情報だけを送信することが可能である(例えば小さい障害物、エラー条件を引き起こす可能性のある障害物、ユーザにより床表面10から容易に除去可能な障害物等)。例えば、ダイニングテーブル60が、ロボット100の床表面10の一部分の清掃を妨害する場合もあるが、ロボット100は、ソックス35に関する情報は送信しても、ダイニングテーブル60に関する情報は送信しなくてもよい。
【0029】
モバイルコンピューティングデバイスは、各エリア25ごとのユーザ選択可能オプションに対応するアフォーダンスをディスプレイ上に表示することができる。これらのユーザ選択可能オプション(
図9A~
図9Dに関連してさらに説明する)により、ユーザはエリア25および/またはエリア25内で検出された潜在的障害物に関するフィードバックをロボット100に提供することができる。例えば、ユーザがソックス35を拾い上げると、ユーザは、第2の清掃ミッションの最中にロボットにエリア25Aを清掃させるようにフィードバックを提供することができる。あるいは、ユーザが第2の清掃ミッションの開始前にソックス35を拾い上げることができないかまたは拾い上げるつもりがない場合に、ユーザは、この第2の清掃ミッションの最中にロボット100にエリア25Aを回避させるようにフィードバックを提供することができる。さらに恒久的な障害物の場合には、ユーザは、立ち入り禁止ゾーンを設定するためにロボット100にフィードバックを提供してもよい。例えば、ユーザがかなりの期間にわたりコード45を移動させるつもりがない場合には、ユーザは、エリア25Bの周囲に立ち入り禁止ゾーンを設定するフィードバックを提供して、第2の清掃ミッションの最中だけでなくこの第2の清掃ミッションの後の清掃ミッションの最中においてもロボット100にエリア25Bを回避させることができる。さらに、ユーザは、特定のエリア内に障害物が存在しないことを示すフィードバックを提供することが可能である。例えば、ロボット100が、ラグ55のパターンをコードとして不正確に識別してしまうことによって、ラグ55を潜在的障害物として検出した場合に、ユーザは、エリア25Cに障害物が実際には存在しないということを明示するためのフィードバックを提供することが可能である。このフィードバックにより、ロボット100は、第2の清掃ミッションの最中にエリア25Cを清掃させられ、さらにはロボット100の物体検出モジュール190(
図4Aに図示)が、更新され得る(例えばさらなる清掃ミッションにおける潜在的障害物の偽検出を減らすために)。いくつかの例では、ユーザは、各エリア25、検出された潜在的障害物、および/またはユーザフィードバックに関するデータを、複数ユーザからのデータを記憶するデータベースに提供する(本明細書においてさらに詳細に説明される)ように選択することが可能である。
【0030】
図1Bを参照すると、ロボット100は、ユーザからフィードバックを受信した後に、第2の清掃ミッションを実施し得る。いくつかの例では、第2の清掃ミッションは、整頓ミッションであることが可能である。ロボット100は、整頓ミッションの最中に、第1の清掃ミッションの最中には清掃されなかったエリア25のサブセットを清掃し得る。例えば、ユーザフィードバックに基づき、ロボット100は、エリア25Bを回避しつつ、エリア25Aおよびエリア25Cを清掃することができる。この例では、ユーザは、(i)エリア25Aからのソックス35の除去、(ii)エリア25Bの立ち入り禁止ゾーンとしての指定、および(iii)エリア25C内における障害物の不在を示すフィードバックをロボット100に提供する。このユーザフィードバックの受信に応答して、ロボット100は、整頓ミッションの最中に軌道70にしたがって床表面10を方々へと走行する。ロボット100は、ドッキングステーション50からエリア25Aへの移動を開始することによりこの整頓ミッションを開始する。ソックス35は、ロボット100がエリア25Aを清掃し得るようにユーザがこのソックス35を移動したため、エリア25Aにはもはや存在しない。エリア25Aの清掃後に、ロボット100は、エリア25Cへの移動を開始する。ユーザが、エリア25C内における障害物の不在を明示するフィードバックを提供したため、ロボットは、エリア25C内において潜在的障害物を以前に特定していたにも関わらず、エリア25Cの清掃を行う。エリア25Cの清掃後に、ロボット100は、エリア25Cからドッキングステーション50への移動を開始し、それにより整頓ミッションを完了する。ロボット100は、エリア25Bへの走行を試みない。なぜならば、ユーザは、エリア25Bを立ち入り禁止ゾーンとして指定するフィードバックを提供したからである。さらに、整頓ミッションの最中に、ロボットは、第1の清掃ミッションの最中にロボット100が既に清掃を済ませた領域全体を清掃するのではなく、エリア25Aおよび25Cを清掃する。結果として、整頓ミッションは、ロボット100が床表面10全体を清掃しようと試みる第2の清掃ミッションと比較した場合に、時間およびエネルギーを節約することができる。
【0031】
自律移動ロボットの例
自律移動ロボットの例が、2019年9月30日に出願された米国特許出願第16/588,295号
に記載されており、この特許出願の全内容が、参照により本明細書に組み込まれる。
【0032】
図2を参照すると、環境20内の床表面10上に位置する例えば自律清掃ロボットなどの自律移動ロボット100は、環境20の画像をキャプチャするように構成された画像キャプチャデバイス101を備える。具体的には、画像キャプチャデバイス101は、ロボット100の前方部分上に位置決めされる。画像キャプチャデバイス101の視野103は、ロボット100の前方の床表面10の少なくとも一部分を範囲に含む。画像キャプチャデバイス101は、床表面10の当該一部分上に位置する対象の画像をキャプチャすることができる。例えば、
図2に示すように、画像キャプチャデバイス101は、床表面10上に位置するラグ30の少なくとも一部分を表す画像をキャプチャすることができる。この画像は、環境20を方々へと走行するためにロボット100によって利用され得るものであり、特に、ロボット100がラグ30上を移動する際に場合によっては引き起こされ得るエラー条件を回避するように、ラグ30に対して走行するためにロボット100によって利用され得る。例えば、この画像は、例えば衣類、電気コード、バックパック等の床表面10上に位置する潜在的障害物を特定するためにこの画像を処理する(例えば画像に相当するデータに対して画像処理オペレーションを実行する)物体検出モジュール190(
図4Aに示す)に対する入力として使用され得る。
【0033】
図3および
図4A~
図4Bは、ロボット100の一例を示す。
図3を参照すると、ロボット100は、床表面10を往来する際に床表面10からゴミ105を収集する。ロボット100は、床表面10の清掃を行うために環境20(
図1A~
図1Bに示す)内において1つまたは複数の清掃ミッションを実施するために使用可能である。ユーザは、清掃ミッションを開始するようにロボット100に命令を出すことができる。例えば、ユーザが開始命令を出し、この命令により、この開始命令の受信時にロボット100は清掃ミッションを開始させられ得る。他の例では、ユーザは、スケジュールを提供することが可能であり、このスケジュールにより、ロボット100はスケジュール時間に清掃ミッションを開始させられる。
【0034】
図4Aを参照すると、ロボット100は、ハウジング構造部108を備える。このハウジング構造部108は、ロボット100の構造的外縁を画定し得る。いくつかの例では、ハウジング構造部108は、シャシー、カバー、底部プレート、およびバンパーアセンブリを含む。
【0035】
ロボット100は、1つまたは複数の駆動輪を備える駆動システム110を備える。この駆動システム110は、電気回路106の一部を形成する電気駆動部分を備える1つまたは複数の電気モータをさらに備える。ハウジング構造部108は、少なくとも1つのコントローラ109を備える電気回路106をロボット100内に支持する。
【0036】
駆動システム110は、床表面10中にわたりロボット100を推進させるように動作可能である。ロボット100は、前方駆動方向Fまたは後方駆動方向Rへ推進され得る。さらに、ロボット100は、ロボット100が定位置で方向転換するように、または前方駆動方向Fもしくは後方駆動方向Rへ移動しつつ方向転換するように推進され得る。
図4Aに示す例では、ロボット100は、ハウジング構造部108の底部部分113を貫通して延在する駆動輪112を備える。これらの駆動輪112は、モータ114により回転されて、ロボット100の床表面10に沿った移動を生じさせる。ロボット100は、ハウジング構造部108の底部部分113を貫通して延在する受動自在輪115をさらに備える。この自在輪115は、動力供給されない。駆動輪112および自在輪115は、共に協働して床表面10上にハウジング構造部108を支持する。例えば、自在輪115は、ハウジング構造部108の後方部分に沿って配設され、駆動輪112は、自在輪115の前方に配設される。
【0037】
図3、
図4A、および
図4Bに示す例では、ロボット100は、床表面10を清掃するように動作可能である清掃アセンブリ116(
図4Aに示す)を備える自律移動床清掃ロボットである。例えば、ロボット100は、清掃アセンブリ116が床表面10からゴミ105(
図3に示す)を取り込むことによって床表面10を清掃するように動作可能となる真空掃除ロボットである。清掃アセンブリ116は、ロボット100により収集されるゴミが通過する清掃吸入口117を備える。清掃アセンブリ116は、駆動システムにより駆動される1つまたは複数の回転可能部材を備え(例えばモータ120により駆動される回転可能部材118)、清掃吸入口117は、これらの回転可能部材の間に位置決めされる。
【0038】
回転可能部材118は、ロボット100の底部部分上に位置し、例えばゴミ箱124(
図3に示す)内になど、ロボット100の内部内にゴミを送るように回転するように構成される。
図3に示すように、回転可能部材118は、互いに逆回転するローラである。例えば、回転可能部材118は、床表面10上のゴミ105を撹拌しこのゴミ105を清掃吸入口117に向かって、清掃吸入口117内へ、およびロボット100の吸入経路145(
図3に示す)内へ送るために、平行水平軸146、148(
図4Aに示す)を中心として回転可能であることが可能である。
【0039】
ロボット100は、これらの回転可能部材118間に位置する清掃吸入口117を通りゴミ箱124内へ向かう空気流を発生させるように動作可能な真空システム119をさらに備える。この真空システム119は、羽根車と、空気流を発生させるように羽根車を回転させるためのモータとを備える。真空システム119は、清掃アセンブリ116と協働して、床表面10からゴミ箱124内へゴミ105を引き込む。いくつかの例では、真空システム119により発生した空気流は、床表面10上に位置するゴミ105を上方へとおよび回転可能部材118同士の間の間隙を通りゴミ箱124内へと引き込むために十分な力を発生させる。いくつかの例では、回転可能部材118は、床表面10に接触することによって、床表面10上に位置するゴミ105を撹拌し、それにより、真空システム119によって発生した空気流によりこのゴミ105をより容易に取込み可能にする。
【0040】
ロボット100は、例えば床表面10との間に75度~90度の間の角度を形成する軸などの非水平軸を中心として回転するブラシ126をさらに備える。ロボット100は、ブラシ126を回転させるためにブラシ126に動作可能に連結されたモータ128を備える。ブラシ126は、ロボット100が移動する際に床表面10上に位置するゴミを清掃アセンブリ116の清掃経路内へとブラッシングするように、非水平軸を中心として回転可能である。ブラシ126は、ブラシ126がロボット100のハウジング構造部108の外周部を越えて延在するように、ロボット100の前後方向軸FAから側方へとオフセットし、ロボット100の横軸LAから前方にオフセットした、側部ブラシである。したがって、ブラシ126は、例えばロボット100の直下の床表面10の部分の外部に位置する床表面10の部分などの、回転可能部材118が一般的に届かない床表面10の部分上に位置するゴミに関与することが可能となり得る。
【0041】
電気回路106は、コントローラ109に加えて、例えばメモリストレージ要素144と、1つまたは複数の電気センサを有するセンサシステムとを備える。本明細書において説明されるように、このセンサシステムは、ロボット100の現在位置に対応する信号を生成することが可能であり、ロボット100が床表面10に沿って移動する際にロボット100の位置に対応する信号を生成し得る。コントローラ109は、本明細書において説明されるような1つまたは複数の動作を実施するために命令を実行するように構成される。メモリストレージ要素144は、コントローラ109によりアクセス可能であり、ハウジング構造部108内に配設される。
【0042】
1つまたは複数の電気センサは、ロボット100の環境20内に位置する特徴物を検出するように構成され得る。例えば、
図4Aを参照すると、センサシステムは、クリフセンサ134を備え、このクリフセンサ134は、クリフセンサ134が配設されたロボット100の部分の下方に位置する例えば急落箇所またはクリフなどの障害物を検出し、それに対応してロボットを方向修正することが可能である。
図4Bを参照すると、センサシステムは、1つまたは複数の近位センサ(例えば近位センサ136a、136b)をさらに備え、これらのセンサは、ロボット100の付近に位置する床表面10に沿った対象の存在または不在を検出し得る。このセンサシステムは、バンパー138および1つまたは複数のバンプセンサ(例えばバンプセンサ139a、139b)を備えるバンパーシステムをさらに備え、この1つまたは複数のバンプセンサは、バンパー138と環境20内に位置する障害物との間の接触を検出する。センサシステムは、ハウジング構造部108の側部表面に隣接して位置する対象の存在または不在を検出し得る1つまたは複数の障害物追従センサ(例えば障害物追従センサ141)をさらに備える。例えば、検出可能な対象としては、ロボット100の環境20内に位置する家具、壁、人、および他の対象などの障害物が含まれ得る。
【0043】
このセンサシステムは、画像キャプチャデバイス101(
図4Bに示す)をさらに備えることが可能である。画像キャプチャデバイス101は、ロボット100の前方部分上に位置決めされ、ロボット100の前方の床表面10の少なくとも一部分の画像をキャプチャするように配向される。特に、画像キャプチャデバイス101は、ロボット100の前方方向F(
図4Aに示す)へと配向され得る。画像キャプチャデバイス101は、例えばカメラまたは光学センサなどであることが可能である。
図2を参照すると、画像キャプチャデバイス101の視野103は、横方向および鉛直方向に延在する。画像は、床表面10の部分と、床表面10の上方の環境20の他の部分とを表すものであることが可能である。例えば、画像は、床表面10の上方の環境20内に位置する壁表面および障害物の部分を表すものであることが可能である。本明細書において説明するように、画像キャプチャデバイス101は、環境20のマップの表現を生成するための、および障害物周囲におけるロボット100の走行を制御するための画像を生成し得る。
【0044】
また、画像キャプチャデバイス101は、障害物検出センサであることが可能であり、この場合に、画像キャプチャデバイス101によりキャプチャされた画像は、衣類、電気コード、バックパック等を含む障害物を検出するために(例えば画像解析技術を利用してなど)対象検出モジュール190(
図4Aに示す)に対する入力として使用される。いくつかの実装形態では、対象検出モジュール190は、環境20内の障害物を検出するために、例えばクリフセンサ134、近位センサ136a、136b、バンプセンサ139a、139b、障害物追従センサ141等のロボット100の他のセンサからのデータを入力として受信することがさらに可能である。
【0045】
センサシステムは、追加の障害物検出センサをさらに備えることが可能である。例えば、能動検出技術(例えばLIDAR、RADAR、超音波等)、受動検出技術等が、環境20内の潜在的障害物を検出しロボット100からの潜在的障害物の距離を判定するために、画像キャプチャデバイス101の代替としてまたは画像キャプチャデバイス101との組合せにおいて使用され得る。いくつかの実装形態では、ロボット100は、ロボット100からの障害物の距離を判定するために(例えば陰影、反射率等に基づき)、画像キャプチャデバイス101と共に使用される照明を備えてもよい。
【0046】
センサシステムは、ロボットのエラー条件を検出するための1つまたは複数のセンサをさらに備えることが可能である。例えば、1つまたは複数の電流センサが、駆動輪112、清掃アセンブリ116、またはブラシ126を含むロボット100の様々な構成要素に供給される電流に関してセンサデータを生成し得る。このセンサデータは、ロボット100が動けなくなることをまたは清掃アセンブリ116の詰まりを検出するために使用され得る。いくつかの例では、センサデータは、交換すべきロボット100の構成要素(例えば駆動輪112またはブラシ126)を識別するために使用され得る。
【0047】
センサシステムは、ロボット100が移動する距離をトラッキングするためのセンサをさらに備えることが可能である(例えばモータエンコーダ、光学センサ等)。コントローラ109は、センサシステムのセンサにより収集されたデータを利用して、ミッションの最中にあるロボット100の走行挙動を制御する。例えば、センサデータは、同時自己位置推定および地図作成(SLAM)技術のためにコントローラ109によって使用されることが可能であり、この技術では、コントローラ109は、センサデータにより示される環境20の特徴物を抽出し、環境20の床表面10のマップを構築する。センサデータから形成されたマップは、環境20内における往来可能空間および往来不能空間の位置を示すことができる。例えば、障害物の位置が、往来不能空間としてマップ上に示され、空いている床空間の位置が、往来可能空間としてマップ上に示される。
【0048】
これらのセンサのいずれかによって収集されたセンサデータが、メモリストレージ要素144内に記憶され得る。さらに、マッピングデータを含むSLAM技術のために生成された他のデータが、メモリストレージ要素144に記憶され得る。ミッションの最中に生成されたこれらのデータには、ミッションの最中に生成されさらなるミッションの最中に利用可能な永続データが含まれ得る。例えば、このミッションは、第1のミッションであることが可能であり、このさらなるミッションは、第1のミッション後に実施される第2のミッションであることが可能である。メモリストレージ要素144は、ロボット100に挙動を実施させるためのソフトウェアを格納することに加えて、あるミッションから他のミッションにかけてコントローラ109がアクセスするためのセンサデータを、またはセンサデータの処理の結果として得られたデータを記憶する。例えば、マップは、床表面10の方々へとロボット100を走行させるために、あるミッションから他のミッションにかけてロボット100のコントローラ109が使用可能および更新可能である永続マップである。
【0049】
永続マップを含む永続データにより、ロボット100は、床表面10を効率的に清掃することが可能となる。例えば、永続マップにより、コントローラ109は、空いた床空間に向かってロボット100を配向し、往来不能空間を回避させることが可能となる。さらに、後のミッションのために、コントローラ109は、ミッションの最中に通過する経路を最適化するために、永続マップを利用して環境20を通過するロボット100の走行をプランニングすることが可能である。
【0050】
ロボット100は、無線送受信機149(
図4Aに示す)をさらに備えることが可能である。この無線送受信機149により、ロボット100は、通信ネットワークを用いてデータを無線通信することが可能となる。ロボット100は、無線送受信機149を使用してデータを送受信することが可能であり、例えばマップに示されるデータを受信し、ロボット100により収集されたマッピングデータに相当するデータを送信することが可能である。
【0051】
コントローラ109がロボット100にミッションを実施させる場合に、このコントローラ109は、駆動輪112を駆動させ、床表面10に沿ってロボット100を推進させるために、モータ114を動作させる。さらに、コントローラ109は、回転可能部材118を回転させるためにモータ120を動作させ、ブラシ126を回転させるためにモータ128を動作させ、空気流を発生させるために真空システム119のモータを動作させる。コントローラ109は、ロボット100に様々な走行挙動および清掃挙動を実施させるために、メモリストレージ要素144上に格納されたソフトウェアを実行する。このソフトウェアの実行により、ロボット100にこれらの挙動を実施させるようにロボット100の様々なモータが動作される。
【0052】
プロセスの例
図5は、自律移動ロボット100により検出された障害物に関するユーザフィードバックを提供する一例のプロセス500の流れ図を示す。このプロセス500は、動作502、504、506、508、510、512、514、516、518を含む。
【0053】
動作502および504は、ロボット100が環境(例えば
図1A~
図1Bに示す環境20)を方々へと走行する際におけるロボット100の動作を伴う。動作502にて、ロボット100は、環境を方々へと走行することを開始する。例えば、ロボット100は、清掃ミッションを開始する命令の受信に応答して、環境を方々へと走行することを開始し得る。動作504にて、ロボット100は、センサデータを収集する。このセンサデータは、ロボット100のセンサシステムにより収集され得、環境のマッピングデータの生成およびロボット100が環境を方々へと走行する際における潜在的障害物の検出を含む様々な目的のために使用され得る。ロボット100は、環境を方々へと走行する際に、動作502および504が清掃ミッションの一部として実施される場合には床表面の清掃を行い得る。いくつかの例では、ロボット100は、清掃を行うことなく床表面を方々へと移動し得る。
【0054】
動作506、508、510は、潜在的障害物または環境内の潜在的障害物の位置に関連する複数のユーザ選択可能オプションをユーザ80に対して表示する動作を伴う。いくつかの実装形態では、各ユーザ選択可能オプションが、このオプションに対応するアフォーダンス(例えばボタン、インタラクティブ視覚要素等)として表示され得る。動作506および508は、コンピューティングシステム90により実施され、このコンピューティングシステム90は、ロボット100上に位置するコントローラ、モバイルコンピューティングデバイス85上に位置するコントローラ、リモートコンピューティングシステム、複数のデバイス(例えばロボット100、モバイルデバイス85、もしくはリモートコンピューティングシステム)上に位置するプロセッサを含む分散コンピューティングシステム、ロボット100に追加される自律移動ロボット上のプロセッサ、またはこれらのコンピューティングデバイスの組合せであることが可能である。いくつかの例では、コンピューティングシステム90により実施される1つまたは複数の動作(例えば動作506、508、516)が、それぞれ異なるアクターにより実施され得る。例えば、センサデータを利用した潜在的障害物の検出(動作506)は、リモートサーバ上で実施される一方で、この潜在的障害物に対するロボット挙動のプランニング(動作516)は、ロボット100上で実施されることが可能である。
【0055】
動作506にて、センサデータは、環境内に位置する潜在的障害物を検出するために利用される。例えば、ロボット100の画像キャプチャデバイス101によりキャプチャされた画像が、ロボット100の近傍に位置する潜在的障害物を検出するために対象検出モジュール190を利用して(例えば対象検出アルゴリズムの実行可能命令を使用する)解析され得る。動作508にて、コンピューティングシステム90は、この環境内のある領域にて検出された潜在的障害物を表すデータを生成する。例えば、このデータは、画像キャプチャデバイス101によりキャプチャされた画像の一部分(例えばロボット100が潜在的障害物を検出した場合にこのロボット100の位置にて取得された単一の画像、一連の画像等など)、この障害物もしくは領域の位置、および/または潜在的障害物の分類(例えばソックス、コード、バックパック等)を示すラベルを含み得る。動作510にて、モバイルコンピューティングデバイス85は、潜在的障害物または領域に関連する複数のユーザ選択可能オプションに対応するアフォーダンスをユーザ80に対して表示する。
【0056】
これらのユーザ選択可能オプションにより、ユーザ80は、潜在的障害物に関するユーザフィードバックをロボット100に提供することが可能となり、ロボット100は、特定の形で潜在的障害物または領域に対して走行することが可能となる。ユーザ選択可能オプションは、ロボット100の様々な清掃パラメータを修正し得る。例えば、いくつかのユーザ選択可能オプションは、例えばある領域の清掃、ある領域の回避、ある領域におけるロボットの清掃出力の調節等の、特定の動作をロボット100に実施させることが可能である。いくつかのユーザ選択可能オプションは、ロボット100が特定の動作を実施するミッション(例えば直後のミッション、後のすべてのミッション、指定数の後のミッション、1日以内、1週間以内、1か月以内の後のすべてのミッション等)を修正することが可能である。いくつかのユーザ選択可能オプションは、整頓ミッションにおいてロボット100にある領域を包含または排除させることが可能であり、いくつかのオプションは、整頓ミッションのスケジューリング(例えば現在、現在から30分、現在から1時間、現在から6時間、現在から12時間等)を修正することが可能であり、いくつかのオプションは、整頓ミッションの長さ(例えば5分の最大長さ、15分の最大長さ、30分の最大長さ、1時間の最大長さ等)を修正することが可能である。
【0057】
いくつかの実装形態では、ユーザ選択可能オプションは、この領域を清掃するようにロボット100を走行させる第1のオプションと、この領域を回避するようにロボット100を走行させる第2のオプションとを含み得る。いくつかの例では、複数のオプションが、この領域をロボットに清掃させるかまたは回避させるために表示され得る。例えば、第1のオプションは、第2の清掃ミッションの最中のみにおいてロボットにこの領域を回避させ、第2のオプションは、第2の清掃ミッションの最中とその後の1つまたは複数の清掃ミッションにおいてこの領域を回避させることが可能である。また、これらの複数のユーザ選択可能オプションは、この領域内における障害物の不在を特定するオプションをさらに含み得る(例えばロボット100により検出された潜在的障害物が、実際には障害物ではないまたは存在しない場合)。いくつかの例では、この領域内における障害物の不在を特定するオプションにより、ロボット100はこの領域の清掃を行わされ得る。いくつかの例では、この領域内における障害物の不在を特定するオプションは、後の清掃ミッションにおける潜在的障害物の偽検出の可能性を低下させるために、コンピューティングシステム90により実装された対象検出モジュール190(例えば畳み込みニューラルネットワークを利用するモジュール)をロボット100に更新させることができる。
【0058】
動作512にて、ユーザ80は、これらの複数のユーザ選択可能オプションの中の1つのユーザ選択を行う。例えば、ユーザ80は、潜在的障害物に関する情報(例えば潜在的障害物の1つまたは複数の画像、潜在的障害物の位置、潜在的障害物の分類を示すラベル等)の再確認に基づき、潜在的障害物に関するフィードバックをロボット100に提供するためにユーザ選択可能オプションの中の1つを選択し得る(例えば対応するアフォーダンスと対話することによって)。いくつかの例では、潜在的障害物に関する情報は、ユーザ選択可能オプションと共にモバイルデバイス85上に表示される。動作514にて、モバイルデバイス85は、ユーザ選択に対応した1つまたは複数の視覚要素をディスプレイ上に表示し得る。例えば、選択されたオプションが、選択されたことを示すために網掛けされ得る、アウトライン化され得る、サイズ変更され得る等となる。
【0059】
動作516にて、コンピューティングシステム90は、ユーザ選択に基づき潜在的障害物または領域に対するロボット100の挙動をプランニングする。前述のように、このプランニングされた挙動としては、領域の清掃または領域の回避が含まれ得る。また、潜在的障害物に対するロボット100の挙動のプランニングには、この領域へのおよびこの領域からのロボットの経路または軌道をプランニングすることが含まれ得る。複数の潜在的障害物が検出される例では、ロボット100のプランニングされる挙動には、複数の潜在的障害物に関する複数の領域間でのロボット100の経路または軌道のプランニングが含まれ得る。動作518にて、ロボット100は、障害物または領域に対して走行する(例えばプランニングされたロボット挙動にしたがって)。
【0060】
いくつかの実装形態では、複数の潜在的障害物が、環境内において検出され得、プロセス500が、複数回にわたり実施され得る(例えば各潜在的障害物ごとに1回など)。いくつかの例では、ユーザは、ミッションの最中における潜在的障害物の検出と同時的に各潜在的障害物に関するフィードバックを提供して、フィードバックをリアルタイムで提供することができる。他の例では、ユーザは、1度に複数の潜在的障害物を再確認し(例えば第1のミッションの完了後に)、各潜在的障害物ごとのユーザ選択は、第2のミッション(例えば整頓ミッション)の最中における潜在的障害物または領域に対するロボットの挙動のプランニングを行うために使用され得る。
【0061】
図6は、整頓ミッションをプランニングするプロセス600の流れ図を示す。動作602および604は、ロボット100が環境(例えば
図1A~
図1Bに示す環境20)を方々へと走行する際のロボット100の動作を伴う。動作602にて、ロボット100は、第1のミッション(例えば清掃ミッションまたはトレーニングミッション)を実施する。動作604にて、ロボット100は、第1のミッションの最中にセンサデータを収集する。このセンサデータは、ロボット100のセンサシステムにより収集され得、環境のマッピングデータの生成およびロボット100が環境を方々へと走行する際における潜在的障害物の検出を含む様々な目的のために使用され得る。ロボット100は、環境を方々へと走行する際に、床表面の清掃を行い得る。いくつかの例では、ロボット100は、清掃を行うことなく床表面を方々へと移動し得る。
【0062】
動作606、608、610は、潜在的障害物が検出された環境内の1つまたは複数のエリアに関する情報を生成する動作と、この情報をユーザ80に対して表示する動作とを伴う。動作606および608は、コンピューティングシステム90により実施され、このコンピューティングシステム90は、ロボット100上に位置するコントローラ、モバイルコンピューティングデバイス85上に位置するコントローラ、リモートコンピューティングシステム、複数のデバイス(例えばロボット100、モバイルデバイス85、もしくはリモートコンピューティングシステム)上に位置するプロセッサを含む分散コンピューティングシステム、ロボット100に追加される自律移動ロボット上のプロセッサ、またはこれらのコンピューティングデバイスの組合せであることが可能である。いくつかの例では、コンピューティングシステム90により実施される1つまたは複数の動作(例えば動作606、608、616)が、それぞれ異なるアクターにより実施され得る。例えば、潜在的障害物の検出(動作606)は、リモートサーバ上で実施される一方で、この潜在的障害物に対するロボット挙動のプランニング(動作616)は、ロボット100上で実施されることが可能である。
【0063】
動作606にて、センサデータは、第1のミッションの最中において、床表面(例えば
図1A~
図1Bに示す床表面10)の上の1つまたは複数のエリア内に位置する1つまたは複数の潜在的障害物を検出するために使用される。例えば、ロボット100の画像キャプチャデバイス101によりキャプチャされた画像が、ロボット100の近傍に位置する潜在的障害物を検出するために対象検出モジュール190を利用して(例えば対象検出アルゴリズムに関連する実行可能命令を使用する)解析され得る。動作608にて、コンピューティングシステム90は、検出された潜在的障害物および1つまたは複数のエリアに対応するデータを生成する。例えば、このデータは、画像キャプチャデバイス101によりキャプチャされた画像の一部分(例えばロボット100が潜在的障害物を検出した場合にこのロボット100の位置にて取得された単一の画像、一連の画像、ビデオクリップ等など)、この障害物もしくは領域の位置、および/または潜在的障害物の分類(例えばソックス、コード、バックパック等)を示すラベルを含み得る。動作610にて、モバイルコンピューティングデバイス85は、1つまたは複数のエリアに関する情報をディスプレイ上においてユーザ80に対して表示する。いくつかの実装形態では、表示される情報は、潜在的障害物の画像、潜在的障害物もしくはエリアの位置、および/または潜在的障害物の分類を示すラベルを含み得る。いくつかの実装形態では、潜在的障害物に関連する複数のユーザ選択可能オプションに対応するアフォーダンス(
図5に関連して説明したような)が、ユーザ80に対してさらに表示され得る。
【0064】
動作612にて、ユーザ80は、1つまたは複数のエリアのユーザ選択サブセットの入力を提供する。例えば、1つまたは複数のエリアのサブセットは、ユーザ80がロボット100に清掃させることを意図するエリアを含み得る。
図5に関連して同様に説明したように、いくつかの実装形態では、ユーザは、モバイルデバイス85により表示されているインターフェースと対話することにより1つまたは複数のエリアのサブセットを選択する(例えばオプションはディスプレイ上で選択されるようにグラフィック表示される)。例えば、いくつかの実装形態では、ユーザがロボット100に清掃させるオプションを選択する対象となる1つまたは複数のエリアの中の任意のエリアが、このサブセット内に含まれ得る。
【0065】
動作614にて、モバイルデバイス85は、ユーザ80からの入力の受信後に、1つまたは複数のエリアのユーザ選択サブセットに対応する1つまたは複数の視覚要素を表示する。例えば、この1つまたは複数の視覚要素は、整頓ミッションを開始させるためのユーザインターフェース中に表示され得る(その一例が
図10に示される)。この1つまたは複数の視覚要素には、ユーザ選択サブセット中に含まれるエリアのリスト、ユーザ選択サブセット中に含まれるエリアに関連する画像、ユーザ選択サブセット中に含まれるエリアの位置を表すマップ等が含まれ得る。
【0066】
動作616にて、コンピューティングシステム90は、1つまたは複数のエリアのユーザ選択サブセットを清掃する第2のミッションをプランニングする。この第2のミッションのプランニングは、ロボットがユーザ選択サブセットに含まれるエリアのそれぞれへと走行するように、環境内におけるロボット100の経路または軌道をプランニングすることを含み得る。動作618にて、ロボットは、第2のミッションを実施する。
【0067】
いくつかの実装形態では、第1のミッションおよび第2のミッションは、連続的なミッションである。いくつかの実装形態では、第2のミッションは、第1のミッションの完了後の一定期間(例えば1時間、6時間、12時間、24時間、48時間等)の間に開始され得る。いくつかの実装形態では、第2のミッションの最中または第2のミッションの完了後に、ロボット100は、1つまたは複数のエリアのユーザ選択サブセットの更新ステータスに対応するデータをモバイルデバイス85へ送信し得る。いくつかの実装形態では、モバイルコンピューティングデバイス85は、このデータの少なくとも一部分をディスプレイ上に表示し得る(例えば
図11A~
図11Bに関連してさらに詳細に説明する)。
【0068】
図7~
図10は、モバイルコンピューティングデバイス85の正面図であり、自律移動ロボット100により検出された障害物に関するユーザフィードバックを提供し(
図5に関連して説明したように)、整頓ミッションをプランニングする(
図6に関連して説明したように)ための、一例のユーザインターフェース(IU)を示す。
図7を参照すると、モバイルコンピューティングデバイス85(時として単に「モバイルデバイス」と呼ばれる)は、ディスプレイ700を備える。ロボット100が清掃ミッションを完了した後に、プッシュ通知710が、モバイルデバイス85へ送信され、ディスプレイ700上に表示され得る。このプッシュ通知710は、ロボット100(この例では「ロージー」という名称を有する)による清掃ミッションが完了したが、清掃ミッションの最中に一部のエリアで清掃が行われなかったことを述べるメッセージを含み得る。プッシュ通知710は、今後の清掃のためのこれらのエリアを再確認することをユーザに促し得る。いくつかの実装形態では、これらのエリアの再確認としては、これらのエリアおよびこれらのエリア内においてロボット100により検出された潜在的障害物に関するユーザフィードバックを提供することが含まれる。いくつかの実装形態では、これらのエリアの再確認としては、整頓ミッションをプランニングすることが含まれ得る。
【0069】
図8Aを参照すると、ユーザ80は、プッシュ通知710の受信後に、ロボット100により検出された障害物を確認するためにディスプレイ700上に表示された画面を操作することができる(例えばプッシュ通知との対話により、モバイルアプリケーションを開くことにより、等)。ディスプレイ700は、清掃ミッションが開始された日時または清掃ミッションが完了した日時を含むタイムスタンプ822を含み得る。また、ディスプレイ700は、ロボット100により清掃ミッションが実施された環境のマップ802を含み得る。この例では、環境は、書斎、ダイニングルーム、キッチン、リビングルーム、およびベッドルームを含む家である(図示せず)。また、ディスプレイ700は、マップ802と対話するためのコントロールオプションを含み、これらのオプションには、ズームインオプション806A、ズームアウトオプション806B、およびマップを回転させる(例えば時計回り方向に90度など)回転マップオプション808が含まれる。インジケータ804A、804B、804C、804D(これらを共通してインジケータ804と呼ぶ)が、マップ802上に表示されて、清掃ミッションの最中にロボット100により検出された潜在的障害物の位置を示す。
図8Aでは、色の変化およびサイズ拡大により示されるようなインジケータ804Aが選択される。インジケータ804は感嘆符として示されているが、これは限定的なものとしては意図されておらず、他の符号を使用することができる。例えば、いくつかの実装形態では、インジケータ804は、潜在的障害物のタイプ(例えばソックス、シューズ、コード等)に対応する符号を含んでもよい。
【0070】
また、ディスプレイ700は、清掃リポート810を含み、この清掃リポート810は、ロボット100により検出された1つまたは複数の潜在的障害物に関する追加情報を示す。清掃リポート810は、清掃ミッションの最中に環境内において検出された潜在的障害物の総数に関する情報を提供する概要ステートメント812を含み得る(例えばこの例では5個の障害物)。清掃リポート810は、各潜在的障害物ごとに、潜在的障害物の画像(例えば画像814A、814B)、潜在的障害物の分類を示すラベル(例えばラベル816A、816B)、および潜在的障害物が検出されたエリア(例えばエリア818A、818B)を含み得る。次に
図8Dを参照すると、いくつかの実装形態では、清掃リポート810は、テキストリポートであることが可能である。清掃リポート810は、ミッションのタイトル830を含むことが可能であり、このタイトル830は、ロボット100が位置する環境20(例えば「メインフロア」)、またはロボット100により実施されたミッションタイプ(例えば「清掃ミッション」、「トレーニングミッション」等)を明記したものであることが可能である。いくつかの例では、タイトル830は、ユーザ80により編集およびカスタマイズされ得る。また、清掃リポート810は、ミッションのタイムラインを生成するために時系列順に列挙された様々なエントリー(例えばエントリー832、エントリー840)を含み得る。エントリー832は、環境(例えば環境20)内の特定のエリアに関するエントリーの一例であり、ステータスインジケータ834、エリア名836、およびこのエリア内での経過時間838を含む。この例では、エントリー832は、キッチンが24分間で正常に清掃されたことを示す。エントリー840は、この環境内で検出された潜在的障害物に関するエントリーの一例であり、ステータスインジケータ842(ステータスインジケータ834とは異なり得る)、メッセージ844、および潜在的障害物に直面した時間846を含む。いくつかの実装形態では、メッセージ844は、潜在的障害物が検出されたことを伝え、いくつかの実装形態では、例えば潜在的障害物の分類および位置(例えば「ダイニングルーム内にソックス」など)などの、障害物に関する情報を含み得る。この例では、エントリー840は、午前9時42分にダイニングルーム内でソックスが検出されたことを示す。いくつかの実装形態では、エントリー840は、ユーザ選択可能アフォーダンス890を含むことが可能であり、このユーザ選択可能アフォーダンス890は、選択されると、後のミッション(例えば整頓ミッション)の最中に潜在的障害物の位置に関連するエリアをロボット100に清掃させることができる。いくつかの実装形態では、潜在的障害物に関連する画像が、清掃リポート810内に含まれ得る(例えばエントリー840の一部として、エントリー840の隣に、清掃リポート810の下部に、等)。いくつかの実装形態では、エントリー840は、ユーザ80により選択されることにより(例えばエントリー840をタッチすることによって、エントリー840をタッチおよびホールドすることによって、エントリー840上にカーソルを合わせることによって等)、潜在的障害物に関連する画像、および/または環境内における潜在的障害物の位置を示すマップを含む、潜在的障害物に関連するさらなる情報を確認することができる。いくつかの実装形態では、清掃リポート810は、概要エントリー895をさらに含むことが可能であり、この概要エントリー895は、例えばミッションの日時、ミッションの時間、および/またはミッション完了に要した時間などを含み得る。いくつかの実装形態では、記載情報の一部のみが、清掃リポート810内に表示されてもよく、いくつかの実装形態では、さらなる情報が表示され得る。
【0071】
いくつかの実装形態では、清掃リポート810は、ユーザ80が各潜在的障害物に関するさらなる情報を再確認する前に表示され得る(
図9A~
図9Dに関連してさらに詳述する)。かかる実装形態の一例では、ユーザが清掃リポート810からアフォーダンス890を選択すると、後のミッション(例えば整頓ミッション)を開始するために潜在的障害物をさらに再確認することは不要となり得る。他の例では、アフォーダンス890を選択することにより、ロボットは、潜在的障害物に関連するエリアへ即座に戻されることが可能となり、他の潜在的障害物に関するフィードバックを必要としない。いくつかの実装形態では、清掃リポート810は、ミッションの実施と並行してリアルタイムで表示され、アフォーダンス890を選択することにより、ロボット100は、同ミッションの最中に潜在的障害物に関連するエリアへ戻され得る。
【0072】
いくつかの実装形態では、清掃リポート810は、ユーザ80が、各潜在的障害物に関するさらなる情報を既に再確認し、潜在的障害物に関連するフィードバックを提供した後に表示され得る。かかる例では、清掃リポート810からのアフォーダンス890をユーザ選択することにより、潜在的障害物に関する前回提供したフィードバックを調節するまたは無効にすることが可能である。例えば、潜在的障害物をユーザが再確認した後には、清掃リポート810は、整頓ミッションをプランニングするためのユーザインターフェースとして機能し得る。本明細書では、
図10に関連して、整頓ミッションをプランニングするためのユーザインターフェースの例をさらに詳細に説明する。
【0073】
再び
図8Aを参照すると、インジケータ804Aが選択されることにより、インジケータ804Aに関連する潜在的障害物に関する情報が、清掃リポート810内のメイン位置に表示される。この例では、インジケータ804Aに関連する潜在的障害物は、書斎内に位置するコードである。いくつかの実装形態では、複数の潜在的障害物が、清掃リポート810中に同時的に表示される。例えば、これらの潜在的障害物は、ロボット100によって検出された時系列順に対応した順序で表示され得る。この例では、画像814B、ラベル816B、およびエリア818Bにより示されるように、ロボット100により検出された次の潜在的障害物は、ダイニングルーム内に位置するソックス群であった。
【0074】
検出された潜在的障害物の残りのものに関する情報を確認するためには、ユーザ80は、インジケータ804の中のいずれかを選択することによりそれらのインジケータに対応する潜在的障害物を見ることができる。代替的には、ユーザ80は、ロボット100によって検出された各潜在的障害物をスクロールすることができる(例えばディスプレイ700上において左から右方向へのまたは右から左方向へのジェスチャーを利用することなどにより)。例えば、
図8Bを参照すると、ユーザがインジケータ804Bを選択すると、それに応答してインジケータ804Bに関連する潜在的障害物に関する情報(例えばダイニングルーム内に位置するソックス)が、清掃リポート810内のメイン位置に表示される。この例では、ダイニングルーム内に位置するソックスの後に検出された次の潜在的障害物が、画像814C、ラベル816C、およびエリア818Cにより示されるように、ベッドルーム内に位置する衣類であった。この例では、マップ802は、清掃リポート810により部分的に隠されており、そのためベッドルームは、ユーザ80には見えない。いくつかの実装形態では、最小化オプション824がユーザ80により選択されることにより、清掃リポート810を最小化してマップ802のより広い部分を確認することができる。
【0075】
次に
図8Cを参照すると、ユーザは、清掃リポート810をスクロールして、清掃ミッションの最中にロボット100により検出された潜在的障害物の残りのものを確認することができる。この例では、ユーザは、これらの潜在的障害物をスクロールしており、画像814D、ラベル816D、およびエリア818D(リビングルーム内に位置するバックパックに対応)は、清掃リポート810のメイン位置に位置決めされている。ユーザのスクロールに応答して、リビングルーム内に位置するバックパックに対応するインジケータ804Cは、ユーザ80により直接的に選択された場合と同様に、色の変化およびサイズ拡大によって表示される。この例では、リビングルーム内に位置するバックパックの後に検出された次の潜在的障害物が、画像814E、ラベル816E、およびエリア818Eにより示されるように、リビングルーム内に位置するコードであった。
【0076】
ロボット100により検出された潜在的障害物を確認している任意の時点において、ユーザ80は、潜在的障害物に関するユーザフィードバックの提供を開始するためのオプション820を選択することができる。オプション820の選択後に、潜在的障害物に関するフィードバックを提供するための一連の画像が、ディスプレイ700上にユーザ80に対して表示される。
図9A~
図9Dは、かかる画像の例を示す。
図9Aを参照すると、潜在的障害物に関するユーザフィードバックを提供するためのユーザインターフェースは、潜在的障害物の画像902Aと、潜在的障害物の分類(例えばコード904)を示すラベル908Aと、潜在的障害物のエリア910A(例えば書斎)とを含む、潜在的障害物に関する情報を含む。いくつかの実装形態では、画像902Aは、ロボットが潜在的障害物を検出したときに(例えば
図2に示す画像キャプチャデバイス101を利用して)ロボット100の位置にてキャプチャされた単一の画像であってもよい。いくつかの実装形態では、一連の画像が表示されることが可能であり、これらの一連の画像は、潜在的障害物の位置の近傍にてキャプチャされたものである。いくつかの実装形態では、境界ボックス906Aが、画像902Aと共に表示されて、潜在的障害物が検出された(例えば畳み込みニューラルネットワークを利用する対象検出モジュール190によって)特定の部分を画像902A内に強調してもよい。いくつかの実装形態では、境界ボックス906A内には含まれない画像902Aのエリアが、暗転表示されることにより、潜在的障害物が検出された特定部分を画像902A内にてさらに強調することができる。いくつかの実装形態では、潜在的障害物に関するユーザフィードバックを提供するためのユーザインターフェースは、例えばラベル908Aに関連する信頼スコアまたは精度メトリクスなどのさらなる情報を含むことが可能である。
【0077】
潜在的障害物(例えばコード904)に関する情報に加えて、ディスプレイ700は、潜在的障害物または潜在的障害物が検出された環境内のエリアに関連する複数のユーザ選択可能アフォーダンス912A、912B、912C、912D(これらを共通してユーザ選択可能アフォーダンス912と呼ぶ)を含み得る。いくつかの実装形態では、各アフォーダンス912が、1つのユーザ選択可能オプションに対応し得る。例えば、アフォーダンス912Aは、ユーザ80により選択された場合に、ロボット100に、直後のミッション(例えば整頓ミッション)の最中におよび/または他のさらなるミッション(例えばいずれ行われるスケジューリングされたミッション)の最中にエリアの清掃を行わせることが可能である(なぜならば障害物がユーザ80によって除去されたため)。アフォーダンス912Bは、エリア内における障害物の不在に対応し得る(例えばロボット100により検出された潜在的障害物が障害物ではない、および/またはこのエリアに障害物が存在しないという判定が、ユーザ80によりなされたため)。アフォーダンス912Bを選択することにより、ロボット100は、直後のミッションの最中におよび/または他のさらなるミッションの最中にこのエリアを清掃することが可能となり、さらにロボット100は、後の清掃ミッションにおける潜在的障害物の偽検出の可能性を低下させるために対象検出モジュール190を更新することが可能となる。アフォーダンス912Cは、ロボット100に、直後の清掃ミッションの最中(例えば整頓ミッションの最中)においてはこのエリアを回避させ、他の清掃ミッションの最中にはこのエリアを回避させないことが可能である。アフォーダンス912Dは、ロボット100に、直後の清掃ミッションの最中(例えば整頓ミッションの最中)と、他の清掃ミッションの最中とにおいてこのエリアを回避させることが可能である。例えば、アフォーダンス912Dを選択することにより、このエリアの周囲に立ち入り禁止ゾーンが確立されて、この立ち入り禁止ゾーンがユーザ80により解除または編集されるまでは、ロボット100はこのエリアを清掃することができなくなり得る。ユーザが、複数のユーザ選択可能アフォーダンス912の中からあるアフォーダンスを選択すると、そのユーザ選択に対応した視覚要素が、ディスプレイ700上に表示され得る。例えば、選択されたアフォーダンスは、網掛けバックグラウンド、カラーバックグラウンド、太字、ボールドアウトライン(
図9Dのアフォーダンス912Bで示すような)、カラーアウトライン等で表示され得る。アフォーダンス912は、特定のアイコンで図示されているが、これは限定的なものとしては意図されておらず、他のアイコンおよび/または符号を使用することができる。
【0078】
再び
図9Aを参照すると、ディスプレイ700は、ユーザ選択可能提供オプションに対応するアフォーダンス930をさらに含み得る。ユーザがこのアフォーダンス930を選択すると(チェックマークアイコンの表示で示される)、モバイルデバイス85は、潜在的障害物に関する情報と(例えば画像902A、ラベル908A、および/またはエリア910Aに相当するデータ)、潜在的障害物に関連するユーザ選択に関する情報と(例えば複数のユーザ選択可能アフォーダンス912の中の1つ)を、複数のユーザからのデータを記憶するデータベースへ送信することができる。いくつかの実装形態では、このデータは、それぞれ異なるユーザにより所有される様々な自律移動ロボットの対象検出モジュール190を改善するために使用され得る。いくつかの実装形態では、このデータは、新規の自律移動ロボットの開発のために使用され得る。いくつかの例では、アフォーダンス930の初期設定では、データベースに情報を送信しない。いくつかの実装形態では、ユーザは、どのような情報をデータベースに送信するかを制御し得る(例えばラベル908Aおよびユーザ選択に対応する情報を送信するが、画像902Aに対応する情報は送信しないなど)。いくつかの実装形態では、人々または人の顔を含む画像が自動的にフィルタリングされ、データベースへの送信を防止され得る。いくつかの実装形態では、ユーザが、データベースに情報を送信する前に、センシティブなデータを除去するために、画像902Aをトリミングすることが可能である(例えば境界ボックス906Aを整形しなおすことによって)。いくつかの実装形態では、ディスプレイ700は、ユーザ選択可能オプション914を含むことが可能であり、このユーザ選択可能オプション914は、選択されると、データベースへ送信されるデータおよびデータの使用目的に関するさらなる情報をユーザ80に提示し得る。
【0079】
ディスプレイ700は、清掃ミッションの最中に検出された潜在的障害物の個数と、現在再確認中である潜在的障害物とに相当する1つまたは複数の視覚要素をさらに含み得る。例えば、
図9Aでは、視覚要素916、990は、ユーザ80による再確認が5個の潜在的障害物に関して可能であり、ユーザ80が5個の潜在的障害物の中の第1のものを現在確認している最中であることを示す。視覚要素916において、これは、5個の円の中の第1の円が塗りつぶされていることによって示される。視覚要素990において、これは、現在再確認中である潜在的障害物に対応する数字(この例では「1」)と、再確認が可能な潜在的障害物の総数に対応する数字(この例では「5」)とを表示することによって示される。いくつかの実装形態では、ユーザ80は、ディスプレイ700上で左から右または右から左へのスワイプ動作を利用することによって、これらの潜在的障害物を再確認のためにスクロールすることができる。
【0080】
図9Aでは、コード904は、ロボット100により潜在的障害物として検出されている。このコードが、次の清掃ミッションの開始前に除去される可能性が低い場合には、ユーザ80は、アフォーダンス912Cまたはアフォーダンス912Dを選択することにより、ロボットにコード904を回避させることができる。アフォーダンス912Cが選択されると、ロボット100は、直後の清掃ミッション(例えば整頓ミッション)の最中にコード904を回避するが、その後のさらなる清掃ミッションの最中には回避しない。しかし、アフォーダンス912Dが選択された場合には、ロボット100は、直後の清掃ミッション(例えば整頓ミッション)およびその後のさらなる清掃ミッションの両方においてこのコード904を回避する。したがって、ユーザ80がかなりの期間にわたってコード904の除去を見込めない場合には、ユーザは、アフォーダンス912Cではなくアフォーダンス912Dを選択することを選ぶことができる。複数のユーザ選択可能アフォーダンス912の中からあるアフォーダンスを選択した後に、ユーザ80は、ロボット100により検出された他の潜在的障害物に関するフィードバックを提供することができる。
【0081】
次に
図9Bを参照すると、ソックス群918が、ロボット100により潜在的障害物として検出されている。
図9Bのディスプレイ700は、
図9Aのディスプレイ700と同様であるが、潜在的障害物に関連する異なる画像902B、異なる境界ボックス906B、異なるラベル908B、および異なるエリア910Bを表示する。この例では、境界ボックス906Bは、ソックス群918が検出された画像902Bの一部分を強調するために、画像902Bと共に表示される。ユーザが、次の清掃ミッションの開始前にこのソックス群918を除去し得る場合には、ユーザは、アフォーダンス912Aを選択することにより、後の清掃ミッションの最中に(例えば整頓ミッションの最中に)これらのソックス918に関連するエリアをロボット100に清掃させることができる。代替的には、ユーザが、次の清掃ミッションの開始前にこのソックス群918を除去することができないまたは除去するつもりがない場合には、ユーザは、アフォーダンス912Cを選択して、直後の清掃ミッション(例えば整頓ミッション)においてこれらのソックス918に関連するエリアをロボットに回避させることができる。この例では、ユーザ80がソックス918を最終的に拾い上げるつもりがある場合には、これらのソックス918はこの環境内に位置する一時的な障害物にすぎないため、ユーザ80はアフォーダンス912Dを選択しないことを決断してもよい。ユーザ選択可能アフォーダンス912の中からあるアフォーダンスを選択した後に、ユーザ80は、ロボット100により検出された他の潜在的障害物に関するフィードバックを提供することができる。
【0082】
次に
図9Cを参照すると、床表面950上の影920が、ロボット100により潜在的障害物として検出されている。
図9Cのディスプレイ700は、
図9Aおよび
図9Bのディスプレイ700と同様であるが、潜在的障害物に関連する異なる画像902C、異なる境界ボックス906C、異なるラベル908C、および異なるエリア910Cを表示する。この例では、境界ボックス906Cは、潜在的障害物が検出された画像902Cの一部分を強調するために、画像902Cと共に表示される。この例では、ロボット100は、床表面950上に位置する影920をコードとして誤って認識している(ラベル908Cにより示すように)。ディスプレイ700上に表示された情報の再確認後に、ユーザ80は、アフォーダンス912Bを選択することによって、このエリア内における障害物の不在を指定することができる。アフォーダンス912Bを選択することにより、ロボット100は、後の潜在的障害物の偽検出を減らすために対象検出モジュール190を更新させられ、後の清掃ミッション(例えば整頓ミッション)の最中にこのエリアを清掃させられ得る。ユーザ選択可能アフォーダンス912の中からあるアフォーダンスを選択した後に、ユーザ80は、ロボット100により検出された他の潜在的障害物に関するフィードバックを提供することができる。
図9Dを参照すると、影920が、ユーザからのフィードバックを必要とする最後の潜在的障害物である場合には、アフォーダンス924が、ディスプレイ上に表示されて、ユーザ80は、ロボット100により検出された潜在的障害物の再確認を完了することが可能となり得る。ユーザ80が、ロボット100により検出された潜在的障害物の再確認を完了していない場合には、ユーザ80は、潜在的障害物をスクロールし、前回に行ったユーザ選択を編集することができる。
【0083】
アフォーダンス924を選択すると、画面がディスプレイ700上に表示されて、整頓ミッションをプランニングするためのユーザインターフェースが提示され得る。
図10を参照すると、整頓ミッションをプランニングするためのユーザインターフェースは、「再清掃」部分1000Aを含むことが可能であり、この「再清掃」部分1000Aは、整頓ミッションの最中に清掃されるべきエリアのユーザ選択サブセットに対応する視覚要素を含む。例えば、これらの視覚要素は、例えば画像1002A、画像1002B、画像1002C(これらを共通して画像1002と呼ぶ)などのエリアの画像を含み得る。エリアのユーザ選択サブセットは、ユーザ80が、対応する潜在的障害物に関する情報を再確認しつつ、ロボット100に清掃させるアフォーダンスを以前に選択したエリアに相当し得る。画像1002はそれぞれ、各画像に関連するエリアが整頓ミッションの最中に清掃されるべきか否かをユーザ80が確認することができるように、例えばチェックマークなどの選択インジケータを含み得る。例えば、画像1002Aは、ダイニングルーム内に位置するソックスに関連するエリアが整頓ミッションの最中に清掃されることをユーザ80が希望することを確認するための選択インジケータ1004Aを含み得る。画像1002Bは、ベッドルーム内に位置する衣類に関連するエリアが整頓ミッションの最中に清掃されることをユーザ80が希望することを確認するための選択インジケータ1004Bを含み得る。画像1002Cは、リビングルーム内に位置する誤認識されたコードに関連するエリアが整頓ミッションの最中に清掃されることをユーザ80が希望することを確認するための選択インジケータ1004Cを含み得る。ユーザ80が、整頓ミッションの最中に再清掃エリアを含むことを希望しない場合には、ユーザ80は、「再清掃」セクション1000A内の対応する画像をタッチして、選択インジケータをトグルし画像を選択取り消しすることができる。
【0084】
整頓ミッションをプランニングするためのユーザインターフェースは、「今回は回避」部分1000Bおよび/または「常に回避」部分(図示せず)をディスプレイ700上にさらに含み得る。各部分は、複数のユーザ選択可能アフォーダンス912からの各エリアごとの前回のユーザ選択に基づいて、エリアのサブセットに対応する視覚要素を含み得る(
図9A~
図9Dに示す)。ユーザ80は、ディスプレイ700上において上から下または下から上へのスワイプ動作を行うことにより「再清掃」部分1000A、「今回は回避」部分1000B、および「常に回避」部分(図示せず)をスクロールして、各部分の内容を確認することができる。いくつかの実装形態では、ユーザ80は、ディスプレイ700上のある部分からディスプレイ700上の別の部分へ(例えば「再清掃」部分1000Aから「今回は回避」部分1000Bへ)視覚要素(例えば画像1002A)をドラッグアンドドロップすることができる。いくつかの実装形態では、整頓ミッションをプランニングするためのユーザインターフェースは、ユーザ80が、整頓ミッションでの再清掃に含まれるエリアの清掃命令を提供することがさらに可能となり得る。
【0085】
整頓ミッションをプランニングするためのユーザインターフェースは、ユーザ80に整頓ミッションの開始時間の設定を促すための、メッセージ1010および対応するアフォーダンス1006、1008をさらに含むことが可能である。ユーザがアフォーダンス1008を選択すると、ロボット100は、整頓ミッションを即座に開始する。代替的には、ユーザ80がアフォーダンス1006を選択すると、後の整頓ミッションをスケジューリングするためのユーザインターフェースが、ユーザ80に対して表示される。
【0086】
ロボット100は、ユーザ入力に基づいて整頓ミッションをプランニングし実施する。整頓ミッションが完了すると、モバイルコンピューティングデバイス85は、完了した整頓ミッションを再確認するためのユーザインターフェースをディスプレイ700上に表示し得る。
図11Aを参照すると、完了した整頓ミッションを再確認するためのユーザインターフェースは、タイムスタンプ1122をディスプレイ700上に含むことが可能であり、このタイムスタンプ1122は、整頓ミッションが開始された日時または整頓ミッションが完了した日時を含む。また、ディスプレイ700は、ロボット100により整頓ミッションが実施された環境のマップ1102を含むことができる。この例では、環境は、書斎、ダイニングルーム、キッチン、リビングルーム、およびベッドルームを含む家である(図示せず)。また、ディスプレイ700は、マップ1102と対話するためのコントロールオプションを含み、これらのオプションには、ズームインオプション1106A、ズームアウトオプション1106B、およびマップを回転させる(例えば時計回り方向に90度など)回転マップオプション1108が含まれる。インジケータ1104A、1104B、1104C、1104D、1104E(これらを共通してインジケータ1104と呼ぶ)が、マップ1102上に表示される。インジケータ1104Aは、ユーザ80が環境の対応エリアを回避するようにロボット100に指示したことを示す、網掛けエリアである。例えば、ユーザは、書斎内に位置する以前に検出されたコードの周囲に立ち入り禁止ゾーンを割り当てている場合がある。インジケータ1104B、1104C、1104Dは、第1の清掃ミッションの最中にロボット100により前回回避されたが、整頓ミッションの最中にロボット100により正常に清掃されたエリアを示す、チェックマークである。例えば、これらのエリアは、ユーザ80が潜在的障害物(例えばダイニングルーム内のソックス)を除去したエリアか、または障害物の不在(例えばリビングルーム内で偽検出されたコードの不在)を指定するフィードバックがユーザ80により提供されたエリアを含み得る。整頓ミッションの最中に、ロボット100は、第1の清掃ミッションの最中には検出されなかった1つまたは複数の新規の潜在的障害物に直面する場合がある。例えば、インジケータ1104Eは、新規検出された潜在的障害物(例えばキッチン内に位置するコードなど)を示す感嘆符である。
図11Aでは、インジケータ1104Eの色の変化およびサイズ拡大により示されるように、このインジケータ1104Eの選択が行われる。ディスプレイ700は、整頓ミッションの最中にロボット100が往来する経路1128をマップ1102上にさらに含むことが可能である。いくつかの実装形態では、整頓ミッションの最中にロボット100が往来する経路1128は、第1の清掃ミッションの最中にロボット100が全領域走行に対応するのを回避するようにプランニングされ得る。いくつかの実装形態では、経路1128は、ロボット100が、時間効率およびエネルギー効率において有利な形で整頓ミッションに含まれるすべてのエリアに対応するようにプランニングされ得る。いくつかの実装形態では、ユーザ80は、整頓ミッションに含まれるエリアの清掃順序をロボット100に提供し得る。これは、経路1128のプランニングを支援し得る。
【0087】
完了した整頓ミッションを再確認するためのユーザインターフェースは、清掃リポート1110をディスプレイ700上にさらに含み、この清掃リポート1110は、ロボット100により検出された任意の新規の潜在的障害物に関する追加情報を表示する。清掃リポート810と同様に(
図8Aに示す)、清掃リポート1110は、概要ステートメント1112を含むことが可能であり、この概要ステートメント1112は、整頓ミッションの最中に環境内で検出された新規の潜在的障害物の総数に関する情報を提供する(例えばこの例では1個の新規障害物)。各潜在的障害物ごとに、清掃リポート1110は、潜在的障害物の画像(例えば画像1114)、潜在的障害物の分類を示すラベル(例えばラベル1116)、および潜在的障害物が検出されたエリア(例えばエリア1118)を含み得る。いくつかの実装形態では、最小化オプション1124が、ユーザ80により選択されることにより、清掃リポート1110を最小化してマップ1102のより広い部分を確認することができる。
【0088】
次に
図11Bを参照すると、いくつかの実装形態では、清掃リポート1110はテキストリポートであることが可能である。清掃リポート1110は、ロボット100により実施される第1のミッションに対応する部分1130を含み得る。例えば、この部分1130は、
図8Dに関連して説明されるテキスト清掃リポート810と実質的に同様のものであることが可能である。清掃リポート1110は、完了した整頓ミッションに対応する部分1142をさらに含み得る。この例では、部分1142は、ミッションのタイムラインを生成するために時系列順に列挙されたエントリー1132、1134を含む。エントリー1134を一例として用いると、部分1142の各エントリーが、ステータスインジケータ1136、エリア1138、およびこのエリア内におけるロボット100の経過時間1140を含み得る。この例では、ロボット100は、5分間にわたりリビングルームを(すなわち第1のミッションの最中にコードが検出された場所)、7分間にわたりダイニングルームを(すなわち第1のミッションの最中にソックスが検出された場所)再清掃することによって、整頓ミッションを完了している。いくつかの実装形態では、整頓ミッションの最中にエリア内においてロボット100が過ごした時間は、第1のミッションの最中におけるこのエリア内での経過時間よりも短いことが可能である。なぜならば、整頓ミッションでは、このエリアの一部分のみが清掃されるからである(例えば前回コードが検出されたリビングルームの一部分のみ、前回ソックスが検出されたダイニングルームの一部分のみ、等)。いくつかの実装形態では、清掃リポート1110の各エントリー(例えばエントリー1134)が、そのエントリーに関するさらなる情報(例えばロボット100に清掃タスクを実施させるユーザ選択アフォーダンス、エリアの位置を表示するマップ、等)を確認するためにユーザ80によって選択され得る。いくつかの実装形態では、本明細書において説明される情報の一部分のみが清掃リポート1110内に表示されてもよく、いくつかの実装形態では、さらなる情報が表示され得る。例えば、清掃リポート1110は、以前に検出された潜在的障害物に対応するエリアに関する情報に加えて、立ち入り禁止ゾーンに関する情報をさらに含んでもよい。
【0089】
完了した整頓ミッションを再確認するためのユーザインターフェースは、整頓ミッションを完了するためのアフォーダンス1120をディスプレイ700上にさらに含む(
図11Aおよび
図11Bの両方に図示)。いくつかの実装形態では、第1の整頓ミッションの完了後に、ユーザ80は、新規検出された潜在的障害物に関するフィードバックを提供することができない場合があり、および/または第2の連続的な整頓ミッションのスケジューリングを行うことができない場合がある。整頓ミッションの再確認が完了すると、ユーザ80は、アフォーダンス1120を選択することによって、完了した整頓ミッションを再確認するためのユーザインターフェースを終了することができる。
【0090】
ロボット100による潜在的障害物の検出に関する例を提示したが、いくつかの実装形態では、ロボット100は、清掃ミッションの最中にエラー条件を検出する場合がある。様々なタイプのエラー条件が検出可能である。例えば、あるエラー条件は、ロボット100の駆動システム110、ロボット100の清掃アセンブリ116、またはロボット100のブラシ126を含む、自律清掃ロボット100の構成要素に関連するものであり得る。例えば、これらの構成要素の中の1つまたは複数が、壊れるまたは動かなくなる場合がある。いくつかの実装形態では、エラー条件の検出は、交換すべきロボット100の構成要素を識別することを含み得る。いくつかの実装形態では、エラー条件のタイプは、ロボット100の移動性の制限に関連するものであり得る。例えば、ロボット100は、例えばソファーなどの家具の下において動けなくなってしまう場合がある。他の例では、ロボット100は、床表面を方々へと駆動することができるが、環境の特定の部分から抜け出すための経路を見つけることができない。他の例では、ロボット100は、ドッキングステーション50へと走行することができない場合があり、または清掃ミッションを完了することができない場合がある。
【0091】
図12は、ロボット100により検出されたエラー条件に関する情報を表示するプロセス1200を示す。プロセス1200は、動作1202、1204、1206、1208、1210、1212、1214を含む。
【0092】
動作1202および1204は、ロボット100が環境(例えば
図1A~
図1Bに示す環境20)を方々へ走行する際のロボット100の動作を伴う。動作1202にて、ロボット100は、環境の方々への走行を開始する。例えば、ロボット100は、清掃ミッションを開始する命令の受信に応答して、環境の方々への走行を開始し得る。動作1204にて、ロボット100は、センサデータを収集する。センサデータは、ロボット100のセンサシステムにより収集され、環境のマッピングデータの生成と、ロボット100が環境を方々へ走行する際のエラー条件の検出とを含む、様々な目的で使用され得る。ロボット100は、環境を方々へと走行する際に、動作1202および1204が清掃ミッションの一部として行われる場合には、床表面を清掃することが可能である。いくつかの例では、ロボット100は、清掃を伴わずに床表面を方々へ移動することが可能である。
【0093】
動作1206、1208、1210は、エラー条件を検出する動作と、検出されたエラー条件に対応するデータを生成する動作と、エラー条件に関連する画像の一部分を取得する動作とを伴う。動作1206、1208、1210は、コンピューティングシステム90により実施され、このコンピューティングシステム90は、ロボット100上に位置するコントローラ、モバイルコンピューティングデバイス85上に位置するコントローラ、リモートコンピューティングシステム、複数のデバイス(例えばロボット100、モバイルデバイス85、もしくはリモートコンピューティングシステム)上に位置するプロセッサを含む分散コンピューティングシステム、ロボット100に追加される自律移動ロボット上のプロセッサ、またはこれらのコンピューティングデバイスの組合せであることが可能である。いくつかの例では、コンピューティングシステム90により実施される1つまたは複数の動作(例えば動作1206、1208、1210)が、それぞれ異なるアクターにより実施され得る。例えば、エラー条件の検出(動作1206)は、ロボット100上で実施される一方で、エラー条件に関連する画像の一部分の取得(動作1210)は、リモートサーバ上で実施されることが可能である。動作1206にて、センサは、ロボット100のエラー条件を検出するために使用される。例えば、電流センサからのデータは、ロボット100の駆動システム110、清掃アセンブリ116、またはブラシ126が動かなくなった場合を検出するために使用され得る。いくつかの例では、SLAM技術のために使用されるセンサデータは、ロボット100が環境の特定の部分を回避することができない場合またはドッキングステーション50へ走行することができない場合を検出するために使用され得る。動作1208にて、コンピューティングシステム90は、検出されたエラー条件に対応するデータを生成する。例えば、このデータは、エラー条件が検出された場合のロボット100の位置、および/またはエラー条件のタイプを示すラベルを含み得る。動作1210にて、コンピューティングシステム90は、エラー条件に関連する画像の一部分を取得する。例えば、コンピューティングシステム90は、画像キャプチャデバイス101によりキャプチャされた画像から画像のこの一部分を取得することができる。エラー条件に関連する画像のこの一部分は、単一の画像、一連の画像、またはビデオクリップであることが可能である。いくつかの実装形態では、画像のこの部分は、ロボット100がエラー条件を検出した場合にロボット100の位置の付近でキャプチャされ得る。いくつかの実装形態では、画像のこの部分は、ロボット100がエラー条件を検出する前にキャプチャされ得る。いくつかの実装形態では、画像のこの部分は、ロボット100がエラー条件を検出した後にキャプチャされ得る。
【0094】
動作1212にて、モバイルデバイス85は、画像のこの部分の表現と、検出されたエラー条件のインジケータとを表示する。例えば、
図13A~
図13Bに示すように(本明細書においてさらに詳細に説明される)、モバイルデバイス85は、エラー条件に関連する画像(例えば画像1305、1315)、エラー条件のタイプを示すラベル(例えばラベル1312、1320)、および/またはエラー条件の位置(例えばインジケータ1304、1318)を表示し得る。
【0095】
動作1214にて、ユーザ80は、画像のこの部分の表現と、検出されたエラー条件のインジケータとを再確認する。いくつかの実装形態では、ユーザは、検出されたエラー条件に関するフィードバックを提供し得る。例えば、ユーザ80は、ロボット100を停止させるおよび/または清掃ミッションを終了させるユーザ選択をモバイルコンピューティングデバイス85から提供し得る。いくつかの実装形態では、ユーザ80は、検出されたエラー条件に関するフィードバックを提供するオプションを与えられない。かかる例では、ユーザ80は、画像のこの部分の表現および検出されたエラー条件のインジケータを再確認することによって、ロボット100により検出されたエラー条件の前後関係を把握することが依然として可能である。いくつかの例では、ユーザ80は、複数のユーザからのデータを記憶するデータベースへ、エラー条件に関するデータを提供することを選択することができる。このデータは、既存の自律移動ロボットが直面するエラー条件の個数を減らし、新規の自律移動ロボットを開発するために使用され得る。
【0096】
図13Aを参照すると、ロボット100により検出されたエラー条件を再確認するためのユーザインターフェースの一例が、モバイルコンピューティングデバイス85のディスプレイ700上に表示される。ディスプレイ700は、エラー条件が検出された日時を含むタイムスタンプ1322を含み得る。また、ディスプレイ700は、ロボット100が位置する環境のマップ1302を含み得る。この例では、環境は、書斎、ダイニングルーム、キッチン、リビングルーム、およびベッドルームを含む家である(図示せず)。また、ディスプレイ700は、マップ1302と対話するためのコントロールオプションを含み、これらのオプションには、ズームインオプション1306A、ズームアウトオプション1306B、およびマップを回転させる(例えば時計回り方向に90度など)回転マップオプション1308が含まれる。インジケータ1304が、マップ1302上に表示されて、清掃ミッションの最中にエラー条件が検出された時のロボット100の位置を示す。ディスプレイ700は、エラーリポート1310をさらに含む。エラーリポート1310は、エラー条件のタイプを示すラベル1312を含み得る。
図13Aの例では、ラベル1312は、ロボット100(「ロージー」という名の)が動かなくなったことを示す。また、このエラーリポートは、画像1305を含むことも可能であり、この画像1305は、ロボット100によりキャプチャされた画像の一部分である。例えば、画像1305は、ロボット100がエラー条件を検出した時のロボット100の位置にてまたはその付近にてキャプチャされたものであることが可能である。この例では、画像1305は、床表面上のコード1314を示す。ユーザ80は、ディスプレイ700上に表示されたアイテムを再確認し、ロボット100により検出されたエラー条件に関する前後関係を把握することができる。例えば、ユーザ80は、ロボット100が、電気コード1314に引っ掛かってしまっていることにより、家のリビングルーム内で動けなくなっていることを推測することが可能となる。
【0097】
いくつかの実装形態では、画像1305は、エラー条件の検出前のある期間(例えば1秒、5秒、10秒等)の間に、またはエラー条件の検出後のある期間(例えば1秒、5秒、10秒等)の間にロボット100によってキャプチャされたものであることが可能である。いくつかの実装形態では、ユーザ80は、エラー条件の検出前および/または検出後の様々な時点にて取得された複数の画像を確認することができる。これは、初期画像(例えば画像1305)がユーザ80にとってエラー条件に関する前後関係を把握するのに十分なものではない場合に有利となり得る。例えば、ロボット100が、カウチの下で動けない状態になり、エラー条件を検出する場合には、その後に取得された画像は、暗すぎる場合があり、またはユーザ80によるエラー条件の前後関係の解釈を可能にさせる特徴物を含まない場合がある。しかし、エラー条件の検出前に取得された画像は、ロボット100が、動けなくなる前にカウチ下の空間に向かって進んでいたことをユーザ80に見せることができる。他の例では、ロボット100が、ドッキングステーション50まで走行できないことを検出した場合に、初期画像1305は、ユーザ80がロボット100の現在位置を判定するのに十分な特徴物を含まない場合がある。しかし、エラー条件の検出後に取得された画像は(例えばエラー条件を検出した5秒後の)、特徴物(例えばテレビ、ラグ、鉢植えの植物等)を含む場合があり、これらは、ロボット100がリビングルーム内に現在位置することをユーザ80に明かす。
【0098】
いくつかの実装形態では、ユーザ80は、複数のユーザからのデータを記憶するデータベースへエラー条件に関する情報を提供する提供オプションに対応するアフォーダンス1316を選択することができる。例えば、アフォーダンス1316が選択されると、モバイルコンピューティングデバイス85は、エラー条件に関する情報(例えばエラー条件の位置、エラー条件に対応するセンサデータ、ロボット100によりキャプチャされた画像の一部分、エラー条件のタイプを示すラベル等)をデータベースに送信し得る。このデータは、後の清掃ミッションにおいてロボット100が直面するエラー条件の個数を減らすために、または新規の自律移動ロボットを開発するために使用され得る。
【0099】
図13Bを参照すると、ロボット100により検出されたエラー条件を再確認するためのユーザインターフェースの別の例が、モバイルコンピューティングデバイス85のディスプレイ700上に表示される。この例は、
図13Aに関連して説明した例と同様であり、同様の要素は、同一の参照数字を与えられる。インジケータ1318がマップ1302上に表示されて、清掃ミッションの最中にエラー条件が検出された場合のロボット100の位置を示す。この例では、エラーリポート1310は、エラー条件のタイプを示すラベル1320を含む。
図13Bの例では、ラベル1320は、ロボット100の清掃アセンブリ116が詰まっていることを示す。また、このエラーリポートは、画像1315を含み、この画像1315は、ロボット100によりキャプチャされた画像の一部分である。この例では、画像1315は、床表面上の衣服の山1324を示す。ユーザ80は、ディスプレイ700上に表示されたアイテムを再確認し、ロボット100により検出されたエラー条件に関する前後関係を把握することができる。例えば、ユーザ80は、ロボット100の清掃アセンブリ116が、書斎内に位置する衣服の山1324からある衣類(例えばソックス)を吸い込もうとしたため詰まった状態になったと推測することができる。ユーザは、複数のユーザからのデータを記憶するデータベースへエラー条件に関する情報を提供する提供オプションに対応するアフォーダンス1316を再度選択し得る。例えば、アフォーダンス1316が選択されると、モバイルコンピューティングデバイス85は、エラー条件に関する情報(例えばエラー条件の位置、エラー条件に対応するセンサデータ、ロボット100によりキャプチャされた画像の一部分、エラー条件のタイプを示すラベル等)をデータベースに送信し得る。このデータは、後の清掃ミッションにおいてロボット100が直面するエラー条件の個数を減らすために、または新規の自律移動ロボットを開発するために使用され得る。
【0100】
さらなる代替的な実装形態
いくつかの実装形態を上記で詳細に説明したが、他の実装形態もまた可能である。例えば、いくつかの実装形態では、検出された障害物および/またはエラー条件に関するユーザフィードバックの提供に時間制限が存在してもよい(例えば第1のミッションの完了から12時間、第1のミッションの完了から18時間、第1のミッションの完了から24時間等)。いくつかの実装形態では、ユーザ80がこの時間制限付きの検出された障害物および/またはエラー条件に関するフィードバックを提供しない場合には、検出された障害物および/またはエラー条件に関する情報が消去され得る。いくつかの実装形態では、時間制限が期限切れになると、ユーザ80は、整頓ミッションのプランニングを行うことが不可能になり得るか、またはロボット100に整頓ミッションを開始させることができなくなり得る。いくつかの実装形態では、時間制限の期限前に、通知(例えばプッシュ通知)が、モバイルコンピューティングデバイス85のディスプレイ700上に表示されて、ロボット100により検出された潜在的障害物および/またはエラー条件に関するフィードバックを提供することをユーザにリマインドすることができる。
【0101】
いくつかの実装形態では、ロボット100により実施された第1のミッションが、トレーニングミッションであってもよく、そこではロボットは、床表面10の清掃を行わずに環境20を方々へと走行する。このトレーニングミッションの最中に、ロボット100は、潜在的障害物および/またはエラー条件をさらに検出することが可能である(例えば上述した例と実質的に同様の形で)。潜在的障害物および/またはエラー条件に関するユーザフィードバックに基づき、ロボット100は、次いで第2のミッションを実施し得る。いくつかの例では、第2のミッションは、例えば整頓ミッションなどの清掃ミッションであってもよい。
【0102】
いくつかの実装形態では、ロボット100により検出された1つまたは複数の潜在的障害物および/またはエラー条件に関する情報が、ユーザ80の所有する複数の自律移動ロボット(例えば一隊の自律移動ロボット)の間で共有され得る。いくつかの実装形態では、1つのロボットが、エラー条件を検出し、清掃ミッションを完了することができない場合に、第2のロボットが、この清掃ミッションを完了することができる。いくつかの実装形態では、第1のロボットが、第1の清掃ミッションを実施することができ、第2のロボットが、ユーザ80からの1つまたは複数の潜在的障害物に関するフィードバックの受信後に、整頓ミッションを実施することができる。
【0103】
いくつかの実装形態では、ユーザ80がロボット100により検出された潜在的障害物および/またはエラー条件に関するフィードバックを提供する前に、モバイルコンピューティングデバイス85は、チュートリアルのためのユーザインターフェースをディスプレイ700上に表示させ得る。このチュートリアルは、ロボット100により検出された潜在的障害物および/またはエラー条件に関するフィードバックを提供する方法をユーザ80に対して説明し得る。また、このチュートリアルは、整頓ミッションをプランニングする方法を説明することもできる。チュートリアルは、複数のユーザ選択可能アフォーダンス912のそれぞれに関する情報と(
図9A~
図9Dに示す)、提供オプションに対応するアフォーダンス930、1316に関する詳細と(
図9A~
図9D、
図13A~
図13Bに示す)を提供し得る。いくつかの実装形態では、チュートリアルは、ロボット100により検出された潜在的障害物および/またはエラー条件に関するフィードバックを提供しようとするユーザ80による第1の試みの前に初めて示される。しかし、いくつかの実装形態では、このチュートリアルは、任意の時点にてアクセス可能であり、したがってユーザ80は、必要に応じてチュートリアルを再確認することができる。
【0104】
図14は、本明細書において説明される技術を実装するために使用され得る、コンピューティングデバイス1400およびモバイルコンピューティングデバイス1450の一例を示す。例えば、コンピューティングデバイス1400およびモバイルコンピューティングデバイス1450は、モバイルデバイス85およびコンピューティングシステム90の要素の一例に相当するものであることが可能である。コンピューティングデバイス1400は、例えばラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどの、様々な形態のデジタルコンピュータに相当するものとして意図される。モバイルコンピューティングデバイス1450は、例えばパーソナルデジタルアシスタント、携帯電話、スマートフォン、および他の同様のコンピューティングデバイスなどの、様々な形態のモバイルデバイスに相当するものとして意図される。さらに、コンピューティングデバイス1400または1450は、ユニバーサルシリアルバス(USB)フラッシュドライブを含み得る。これらのUSBフラッシュドライブは、オペレーティングシステムおよび他のアプリケーションを格納し得る。USBフラッシュドライブは、例えば無線送受信機または、他のコンピューティングデバイスのUSBポートに挿入され得るUSBコネクタなどの、入出力コンポーネントを含み得る。本明細書において示されるコンポーネント、それらの接続および関係、ならびにそれらの機能は、もっぱら例として意図されるものであり、限定的なものとしては意図されない。
【0105】
コンピューティングデバイス1400は、プロセッサ1402、メモリ1404、記憶デバイス1406、メモリ1404および複数の高速拡張ポート1410に接続された高速インターフェース1408、ならびに低速拡張ポート1414および記憶デバイス1406に接続された低速インターフェース1412を備える。プロセッサ1402、メモリ1404、記憶デバイス1406、高速インターフェース1408、高速拡張ポート1410、および低速インターフェース1412はそれぞれ、様々なバスを使用して相互接続され、適宜共有マザーボード上にまたは他の形で搭載され得る。プロセッサ1402は、例えば高速インターフェース1408に結合されたディスプレイ1416などの外部入出力デバイス上にGUIのグラフィック情報を表示するためにメモリ1404内または記憶デバイス1406上に記憶された命令を含む、コンピューティングデバイス1400内で実行するための命令を処理し得る。他の実装形態では、複数のプロセッサおよび/または複数のバスが、複数のメモリおよび複数のタイプのメモリと共に適宜使用され得る。また、各デバイスが必要な動作の一部を実現する状態で(例えばサーババンクとして、ブレードサーバ群として、またはマルチプロセッサシステムとしてなど)、複数のコンピューティングデバイスが接続されてもよい。
【0106】
メモリ1404は、コンピューティングデバイス1400内に情報を記憶する。いくつかの実装形態では、メモリ1404は、揮発性メモリユニットである。いくつかの実装形態では、メモリ1404は、不揮発性メモリユニットである。また、メモリ1404は、例えば磁気ディスクまたは光ディスクなどの、他の形態のコンピュータ可読媒体であってもよい。
【0107】
記憶デバイス1406は、コンピューティングデバイス1400に大容量記憶を与えることができる。いくつかの実装形態では、記憶デバイス1406は、例えばフロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、もしくはテープデバイス、フラッシュメモリ、または他の同様のソリッドステートメモリデバイスなどのコンピュータ可読媒体、あるいはストレージエリアネットワークまたは他のコンフィギュレーション内のデバイスを含むデバイスアレイであってもよく、またはそれを含んでもよい。命令は、情報キャリアに記憶され得る。これらの命令は、1つまたは複数の処理デバイス(例えばプロセッサ1402)により実行されると、上述のものなどの1つまたは複数の方法を実施する。また、これらの命令は、例えばコンピュータ可読媒体または機械可読媒体などの1つまたは複数の記憶デバイス(例えばメモリ1404、記憶デバイス1406、またはプロセッサ1402上のメモリなど)によっても記憶され得る。
【0108】
高速インターフェース1408は、コンピューティングデバイス1400の帯域消費型動作を管理し、一方で低速インターフェース1412は、より低い帯域消費型動作を管理する。かかる機能の割振りは、一例にすぎない。いくつかの実装形態では、高速インターフェース1408は、メモリ1404、ディスプレイ1416(例えばグラフィクスプロセッサまたはアクセラレータを介して)、および様々な拡張カードを受け入れ得る高速拡張ポート1410に結合される。この実装形態では、低速インターフェース1412は、記憶デバイス1406および低速拡張ポート1414に結合される。様々な通信ポート(例えばUSB、ブルートゥース(登録商標)、イーサネット、無線イーサネット)を含み得る低速拡張ポート1414は、1つまたは複数の入出力デバイスに結合され得る。かかる入出力デバイスは、スキャナ1430、プリントデバイス1434、またはキーボードもしくはマウス1436を含み得る。また、この入出力デバイスは、ネットワークアダプタを介して低速拡張ポート1414にも結合され得る。かかるネットワーク入出力デバイスは、例えばスイッチまたはルータ1432を含み得る。
【0109】
コンピューティングデバイス1400は、
図14に示すように複数の種々の形態で実装され得る。例えば、コンピューティングデバイス1400は、標準サーバ1420として実装されてもよく、またはかかるサーバ群において複数倍に実装されてもよい。さらに、コンピューティングデバイス1400は、例えばラップトップコンピュータ1422などのパーソナルコンピュータに実装されてもよい。さらに、コンピューティングデバイス1400は、ラックサーバシステム1424の一部として実装されてもよい。代替的には、コンピューティングデバイス1400のコンポーネントが、例えばモバイルコンピューティングデバイス1450などのモバイルデバイスの他のコンポーネントと組み合わされてもよい。かかるデバイスはそれぞれ、コンピューティングデバイス1400およびモバイルコンピューティングデバイス1450の1つまたは複数を含んでもよく、システム全体が、互いに通信する複数のコンピューティングデバイスから構成されてもよい。
【0110】
モバイルコンピューティングデバイス1450は、他のコンポーネントの中でも特に、プロセッサ1452、メモリ1464、ディスプレイ1454などの入出力デバイス、通信インターフェース1466、および送受信機1468を含む。また、モバイルコンピューティングデバイス1450は、追加のストレージを提供するために例えばマイクロドライブまたは他のデバイスなどの記憶デバイスを備えてもよい。プロセッサ1452、メモリ1464、ディスプレイ1454、通信インターフェース1466、および送受信機1468はそれぞれ、様々なバスを利用して相互接続され、これらのコンポーネントの中の複数が、適宜共有マザーボード上にまたは他の形で搭載され得る。
【0111】
プロセッサ1452は、モバイルコンピューティングデバイス1450内において、メモリ1464に記憶された命令を含む命令を実行し得る。プロセッサ1452は、独立したおよび複数のアナログプロセッサおよびデジタルプロセッサを含むチップのチップセットとして実装され得る。例えば、プロセッサ1452は、複雑命令セットコンピュータ(CISC)プロセッサ、縮小命令セットコンピュータ(RISC)プロセッサ、または最小命令セットコンピュータ(MISC)プロセッサであってもよい。プロセッサ1452は、例えば、ユーザインターフェース、モバイルコンピューティングデバイス1450により実行されるアプリケーション、およびモバイルコンピューティングデバイス1450による無線通信の制御などの、モバイルコンピューティングデバイス1450の他の構成要素間のコーディネーションなどを可能にし得る。
【0112】
プロセッサ1452は、制御インターフェース1458およびディスプレイ1454に結合されたディスプレイインターフェース1456を介してユーザと通信し得る。ディスプレイ1454は、例えば薄膜トランジスタ液晶ディスプレイ(TFT-LCD)もしくは有機発光ダイオード(OLED)ディスプレイ、または他の適切なディスプレイ技術などであってもよい。ディスプレイインターフェース1456は、ユーザに対してグラフィック情報および他の情報を表示するためにディスプレイ1454を駆動するための適切な回路を備え得る。制御インターフェース1458は、ユーザから命令を受信し、プロセッサ1452への提出のためにこれらの命令を変換し得る。さらに、外部インターフェース1462は、プロセッサ1452との通信を可能にすることにより、他のデバイスとのモバイルコンピューティングデバイス1450の近エリア通信を可能にし得る。外部インターフェース1462は、いくつかの実施形態では例えば有線通信を可能にし、または他の実施形態では無線通信を可能にし得る。また、複数のインターフェースが使用されてもよい。
【0113】
メモリ1464は、モバイルコンピューティングデバイス1450内に情報を記憶する。メモリ1464は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットの中の1つまたは複数として実装され得る。また、増設メモリ1474が用意され、拡張インターフェース1472を介してモバイルコンピューティングデバイス1450に接続されてもよい。拡張インターフェース1472としては、例えばメモリ増設用モジュール(SIMM、シム)カードインターフェースなどが含まれ得る。増設メモリ1474は、モバイルコンピューティングデバイス1450に余剰の記憶領域を与え得るか、またはモバイルコンピューティングデバイス1450のためのアプリケーションもしくは他の情報を記憶し得る。具体的には、増設メモリ1474は、上述のプロセスを実行または補足するための命令を含んでもよく、セキュア情報を含んでもよい。したがって、例えば、増設メモリ1474は、モバイルコンピューティングデバイス1450のためのセキュリティモジュールとして用意されてもよく、モバイルコンピューティングデバイス1450の安全利用を可能にする命令でプログラミングされてもよい。さらに、セキュアアプリケーションが、例えばハッキング不能な形でSIMMカード上に識別情報を配置するなど、追加情報と共にSIMMカードを介して用意されてもよい。
【0114】
メモリは、以下で論じるように、例えばフラッシュメモリおよび/または不揮発性ランダムアクセスメモリ(NVRAM)を含み得る。いくつかの実装形態では、命令は、情報キャリアに記憶される。これらの命令は、1つまたは複数の処理デバイス(例えばプロセッサ1452)により実行されると、上述したものなどの1つまたは複数の方法を実施する。また、これらの命令は、例えば1つまたは複数のコンピュータ可読媒体または機械可読媒体など(例えばメモリ1464、増設メモリ1474、またはプロセッサ1452上のメモリなど)の、1つまたは複数の記憶デバイスによって記憶され得る。いくつかの実装形態では、これらの命令は、例えば送受信機1468または外部インターフェース1462などを介して、伝搬信号として受信され得る。
【0115】
モバイルコンピューティングデバイス1450は、通信インターフェース1466を介して無線通信してもよく、この通信インターフェース1466は、必要な場合にはデジタル信号処理回路を備え得る。通信インターフェース1466は、中でも特に例えばグローバルシステムフォーモバイルコミュニケーションズ(GSM)ボイスコール、ショートメッセージサービス(SMS)、拡張メッセージサービス(EMS)、またはマルチメディアメッセージングサービス(MMS)メッセージング、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、パーソナルデジタルセルラー(PDC)、広帯域符号分割多元接続(WCDMA(登録商標))、CDMA2000、またはジェネラルパケットラジオサービス(GPRS)などの、様々なモードまたはプロトコルの下における通信を可能にし得る。かかる通信は、例えば無線周波数を利用して送受信機1468を介して行われ得る。さらに、狭域通信が、例えばブルートゥース(登録商標)、Wi-Fi、または他のかかる送受信機などを利用して行われ得る。さらに、全地球測位システム(GPS)受信機モジュール1470が、モバイルコンピューティングデバイス1450へ追加的な走行関連および位置関連の無線データを提供してもよく、これらのデータは、モバイルコンピューティングデバイス1450上で実行されるアプリケーションによって適宜利用され得る。いくつかの実装形態では、ロボット100の無線送受信機149は、通信インターフェース1466により可能となる無線送信技術のいずれか(例えばモバイルデバイス85と通信するために)を使用し得る。
【0116】
また、モバイルコンピューティングデバイス1450は、オーディオコーデック1460を利用して音声的に通信してもよく、このオーディオコーデック1460は、ユーザからの発話情報を受信し、これを利用可能なデジタル情報へと変換し得る。同様に、オーディオコーデック1460は、例えばモバイルコンピューティングデバイス1450のハンドセットなどにおいて、例えばスピーカーなどを介してユーザに対する音声サウンドを生成し得る。かかるサウンドは、音声電話からのサウンドを含んでもよく、録音されたサウンド(例えばボイスメッセージ、ミュージックファイル等)を含んでもよく、さらにモバイルコンピューティングデバイス1450上におけるアプリケーション動作により生成されたサウンドを含んでもよい。
【0117】
モバイルコンピューティングデバイス1450は、図に示すように複数の種々の形態で実装され得る。例えば、モバイルコンピューティングデバイス1450は、携帯電話1480として実装されてもよい。また、モバイルコンピューティングデバイス1450は、スマートフォン、パーソナルデジタルアシスタント1482、または他の同様のモバイルデバイスの一部として実装されてもよい。
【0118】
本明細書において説明されるシステムおよび技術の様々な実装形態は、デジタル電子回路、集積回路、特別設計の特定用途向け集積回路(ASIC)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せにおいて実現され得る。これらの様々な実装形態は、データおよび命令を記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスから受信するおよびこれらへ送信するように結合された、専用または汎用であり得る、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能な1つまたは複数のコンピュータプログラムでの実装を含んでもよい。
【0119】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、プログラマブルプロセッサのためのマシン命令を含み、高レベル手続き型プログラミング言語および/またはオブジェクト指向プログラミング言語において、および/またはアセンブリ/マシン言語において実装され得る。本明細書において、機械可読媒体およびコンピュータ可読媒体という用語は、機械可読信号として機械命令を受信する機械可読媒体を含む、プログラマブルプロセッサへ機械命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、装置、および/またはデバイス(例えば磁気ディスク、光ディスク、メモリ、プログラマブル論理デバイス(PLD))を指す。機械可読信号という用語は、プログラマブルプロセッサへ機械命令および/またはデータを提供するために使用される任意の信号を指す。いくつかの実装形態では、モジュール(例えば対象検出モジュール)、機能(例えばディスプレイ上への情報表示)、ならびにロボット100、コンピューティングシステム90、およびモバイルデバイス85により実行されるプロセス(
図5に関連して説明する)は、上述のコンピュータプログラムに関連する命令を実行することができる。
【0120】
ユーザとの対話を可能にするために、本明細書において説明されるシステムおよび技術は、ユーザに情報を表示するためのディスプレイデバイス(例えば陰極線管(CRT)モニタまたは液晶ディスプレイ(LCD)モニタなど)と、ユーザによるコンピュータへの入力を可能にするためのキーボードおよびポインティングデバイス(例えばマウスまたはトラックボールなど)とを有するコンピュータ上に実装され得る。他の種類のデバイスが、ユーザとの対話を可能にするために使用されることも可能である、例えばユーザに提供されるフィードバックは、任意の形態の知覚フィードバック(例えば視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であることが可能であり、ユーザからの入力は、音声入力、発話入力、または触覚入力を含む任意の形態で受信されることが可能である。
【0121】
本明細書において説明されるシステムおよび技術は、バックエンドコンポーネントを含む(例えばデータサーバとして)、ミドルウェアコンポーネントを含む(例えばアプリケーションサーバとして)、またはフロントエンドコンポーネントを含む(例えば本明細書において説明されるシステムおよび技術の実装形態とのユーザの対話を可能にするグラフィックユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータなど)、あるいはかかるバックエンドコンポーネント、ミドルウェアコンポーネント、またはフロントエンドコンポーネントの任意の組合せを含む、コンピューティングシステムにおいて実装されることが可能である。本システムのコンポーネントは、任意の形態または媒体のデジタルデータ通信(例えば通信ネットワーク)により相互接続され得る。通信ネットワークの例としては、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、およびインターネットが含まれる。
【0122】
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは、一般的には互いに遠隔に位置し、典型的には通信ネットワークを介して連係する。クライアントとサーバとの関係は、コンピュータプログラムがそれぞれのコンピュータ上で実行され、互いに対するクライアント-サーバ関係を有することによって確立される。
【符号の説明】
【0123】
10 床表面
20 環境
25 エリア
25A 第1のエリア
25B 第2のエリア
25C 第3のエリア
30 ラグ
35 ソックス
45 コード
50 ドッキングステーション
55 ラグ
60 ダイニングテーブル
70 軌道
80 ユーザ
85 モバイルコンピューティングデバイス
90 コンピューティングシステム
100 ロボット
101 画像キャプチャデバイス
103 視野
105 ゴミ
106 電気回路
108 ハウジング構造部
109 コントローラ
110 駆動システム
112 駆動輪
113 底部部分
114 モータ
115 受動自在輪
116 清掃アセンブリ
117 清掃吸入口
118 回転可能部材
119 真空システム
120 モータ
124 ゴミ箱
126 ブラシ
128 モータ
134 クリフセンサ
136a 近位センサ
136b 近位センサ
138 バンパー
139a バンプセンサ
139b バンプセンサ
141 障害物追従センサ
144 メモリストレージ要素
145 吸入経路
146 平行水平軸
148 平行水平軸
149 無線送受信機
190 物体検出モジュール
190 対象検出モジュール
700 ディスプレイ
710 プッシュ通知
802 マップ
804 インジケータ
804A インジケータ
804B インジケータ
804C インジケータ
806A ズームインオプション
806B ズームアウトオプション
808 回転マップオプション
810 清掃リポート
812 概要ステートメント
814A 画像
814B 画像
814C 画像
814D 画像
814E 画像
816A ラベル
816B ラベル
816C ラベル
816D ラベル
816E ラベル
818A エリア
818B エリア
818C エリア
818D エリア
818E エリア
820 オプション
822 タイムスタンプ
824 最小化オプション
830 タイトル
832 エントリー
834 ステータスインジケータ
836 エリア名
838 経過時間
840 エントリー
842 ステータスインジケータ
844 メッセージ
846 時間
890 ユーザ選択可能アフォーダンス
895 概要エントリー
902A 画像
902B 画像
902C 画像
904 コード
906A 境界ボックス
906B 境界ボックス
906C 境界ボックス
908A ラベル
908B ラベル
908C ラベル
910A エリア
910B エリア
910C エリア
912 ユーザ選択可能アフォーダンス
912A ユーザ選択可能アフォーダンス
912B ユーザ選択可能アフォーダンス
912C ユーザ選択可能アフォーダンス
912D ユーザ選択可能アフォーダンス
914 ユーザ選択可能オプション
916 視覚要素
918 ソックス
918 ソックス群
920 影
924 アフォーダンス
930 アフォーダンス
950 床表面
990 視覚要素
1000A 「再清掃」部分、「再清掃」セクション
1000B 「今回は回避」部分
1002 画像
1002A 画像
1002B 画像
1002C 画像
1004A 選択インジケータ
1004B 選択インジケータ
1004C 選択インジケータ
1006 アフォーダンス
1008 アフォーダンス
1010 メッセージ
1102 マップ
1104 インジケータ
1104A インジケータ
1104B インジケータ
1104C インジケータ
1104D インジケータ
1104E インジケータ
1106A ズームインオプション
1106B ズームアウトオプション
1110 清掃リポート
1112 概要ステートメント
1114 画像
1116 ラベル
1118 エリア
1120 アフォーダンス
1122 タイムスタンプ
1124 最小化オプション
1128 経路
1130 部分
1132 エントリー
1134 エントリー
1136 ステータスインジケータ
1138 エリア
1140 経過時間
1142 部分
1302 マップ
1304 インジケータ
1305 画像
1306A ズームインオプション
1306B ズームアウトオプション
1308 回転マップオプション
1310 エラーリポート
1312 ラベル
1314 コード、電気コード
1315 画像
1316 アフォーダンス
1318 インジケータ
1320 ラベル
1322 タイムスタンプ
1324 衣服の山
1400 コンピューティングデバイス
1402 プロセッサ
1404 メモリ
1406 記憶デバイス
1408 高速インターフェース
1410 高速拡張ポート
1412 低速インターフェース
1414 低速拡張ポート
1416 ディスプレイ
1420 標準サーバ
1422 ラップトップコンピュータ
1424 ラックサーバシステム
1430 スキャナ
1432 ルータ
1434 プリントデバイス
1436 マウス
1450 モバイルコンピューティングデバイス
1452 プロセッサ
1454 ディスプレイ
1456 ディスプレイインターフェース
1458 制御インターフェース
1460 オーディオコーデック
1462 外部インターフェース
1464 メモリ
1466 通信インターフェース
1468 送受信機
1470 全地球測位システムGPS受信機モジュール
1472 拡張インターフェース
1474 増設メモリ
1480 携帯電話
1482 パーソナルデジタルアシスタント
【国際調査報告】