(57)【要約】  家の中で操縦可能な自律移動ロボットの1つまたは複数の動作を制御するための方法は、自律移動ロボットとリモートコンピューティングシステムとの間のワイヤレス通信を確立するステップと、リモートコンピューティングシステムからワイヤレスコマンド信号を受信したことに応答して、自律移動ロボットの1つまたは複数の動作を開始するステップとを含む。自律移動ロボットは、家の中に配備されたオーディオメディアデバイスから離れている。オーディオメディアデバイスは、オーディオを受け取り、発出することが可能である。リモートコンピューティングシステムは、自律移動ロボットの識別データをオーディオメディアデバイスの識別データと関連付けるように構成される。ワイヤレスコマンド信号は、オーディオメディアデバイスによって受け取られる可聴ユーザコマンドに対応する。
2019525273.tif 000002
【特許請求の範囲】
【請求項１】
家の中で操縦可能な自律移動ロボットの1つまたは複数の動作を制御するための方法であって、
自律移動ロボットとリモートコンピューティングシステムとの間のワイヤレス通信を確立するステップであって、前記自律移動ロボットは、前記家の中に配備されたオーディオメディアデバイスから離れており、前記オーディオメディアデバイスは、オーディオを受け取り、発出することが可能であり、前記リモートコンピューティングシステムは、前記自律移動ロボットの識別データを前記オーディオメディアデバイスの識別データと関連付けるように構成される、ステップと、
前記リモートコンピューティングシステムからワイヤレスコマンド信号を受信したことに応答して、前記自律移動ロボットの1つまたは複数の動作を開始するステップであって、前記ワイヤレスコマンド信号は、前記オーディオメディアデバイスによって受け取られる可聴ユーザコマンドに対応する、ステップとを含む、方法。
【請求項２】
前記1つまたは複数の動作は、前記オーディオメディアデバイスに相対して前記家の中を自律的にナビゲートすることを含む、請求項1に記載の方法。
【請求項３】
前記自律移動ロボットは自律掃除ロボットを含み、前記1つまたは複数の動作は、前記自律移動ロボット用のドッキングステーションへ自律的にナビゲートすることを含む、請求項2に記載の方法。
【請求項４】
前記1つまたは複数の動作は、前記オーディオメディアデバイスの方へ自律的にナビゲートすることを含む、請求項2に記載の方法。
【請求項５】
前記リモートコンピューティングシステムから位置信号を受信するステップであって、前記位置信号は、前記家の中での前記オーディオメディアデバイスのロケーションを示す、ステップと、
前記オーディオメディアデバイスのロケーションを定位しながら、前記オーディオメディアデバイスに相対して前記家の中を自律的にナビゲートするステップとをさらに含む、請求項2に記載の方法。
【請求項６】
前記家の中を自律的にナビゲートする間に、前記リモートコンピューティングシステムとワイヤレス通信しているデバイスの位置を含む前記家の地図を生成するステップをさらに含む、請求項2に記載の方法。
【請求項７】
前記1つまたは複数の動作は、前記自律移動ロボットの掃除動作を一時停止することを含む、請求項1に記載の方法。
【請求項８】
前記1つまたは複数の動作を開始するステップは、前記自律移動ロボットの掃除動作を開始するステップを含む、請求項1に記載の方法。
【請求項９】
掃除動作を実施しながら前記家の中を自律的にナビゲートするステップと、
前記リモートコンピューティングシステムから前記ワイヤレスコマンド信号を受信したことに応答して、前記家の部分内で前記自律移動ロボットを所定のパターンでナビゲートし、前記自律移動ロボットの掃除装置に供給される電力量を増大することによって、前記家の前記部分内の局地化された掃除動作を開始するステップとをさらに含む、請求項1に記載の方法。
【請求項１０】
前記1つまたは複数の動作は、可聴信号を発出することを含む、請求項1に記載の方法。
【請求項１１】
前記1つまたは複数の動作は、将来の時間に後続動作を実施するためのユーザ定義スケジュールを記憶することと、前記後続動作を前記将来の時間に実施することとを含む、請求項1に記載の方法。
【請求項１２】
家の中で操縦可能な自律移動ロボットの1つまたは複数の動作を制御するための方法であって、
前記自律移動ロボットの識別データを、オーディオの受取りおよび発出が可能なオーディオメディアデバイスの識別データと関連付けるステップであって、前記オーディオメディアデバイスは、前記家の中の、前記自律移動ロボットから離れたロケーションに配備される、ステップと、
前記自律移動ロボットおよび前記オーディオメディアデバイスの各々とのワイヤレス通信を確立するステップと、
前記オーディオメディアデバイスからワイヤレス命令信号を受信すると、前記自律移動ロボットの1つまたは複数の動作を開始するためのワイヤレスコマンド信号を前記自律移動ロボットへ送信するステップであって、前記ワイヤレス命令信号は、前記オーディオメディアデバイスによって受け取られる可聴ユーザコマンドに対応する、ステップとを含む、方法。
【請求項１３】
前記可聴ユーザコマンドは、前記自律移動ロボットの前記識別データを示す可聴識別子と、前記自律移動ロボットの前記1つまたは複数の動作に対応するボイスコマンドとを含み、
前記方法は、前記ボイスコマンドに基づいて前記ワイヤレスコマンド信号を生成するステップと、前記可聴識別子に基づいて、前記ワイヤレスコマンド信号の宛先を選択するステップとをさらに含む、請求項12に記載の方法。
【請求項１４】
ロボットタイプを示す可聴識別子を含む初期ユーザコマンドを受け取ると、前記自律移動ロボットの前記識別データが前記ロボットタイプを含み、前記オーディオメディアデバイスの前記識別データに関連付けられた他のロボットの他の識別データが前記ロボットタイプを含むと判断するステップと、次いで、
前記自律移動ロボットの一意のアイデンティティを示す可聴識別子についての可聴要求を前記オーディオメディアデバイスに発出させるためのワイヤレス通知信号を送信するステップとをさらに含み、
前記可聴ユーザコマンドは、前記可聴要求へのユーザ応答に対応する、請求項12に記載の方法。
【請求項１５】
前記オーディオメディアデバイスに関連付けられていない別の自律移動ロボットの識別を示す可聴識別子を含む初期可聴ユーザコマンドを受け取るステップと、
前記別の自律移動ロボットが前記オーディオメディアデバイスに関連付けられていないことを示す可聴通知を前記オーディオメディアデバイスに発出させるためのワイヤレス通知信号を送信するステップとをさらに含む、請求項12に記載の方法。
【請求項１６】
前記自律移動ロボットの前記1つまたは複数の動作に対応する複数の利用可能ボイスコマンドのうちのいずれも含まない初期可聴ユーザコマンドを受け取るステップと、
前記初期可聴ユーザコマンドが、前記利用可能ボイスコマンドのうちのいずれかに対応するボイスコマンドを含まないことを示す可聴通知を前記オーディオメディアデバイスに発出させるためのワイヤレス通知信号を送信するステップとをさらに含む、請求項12に記載の方法。
【請求項１７】
前記可聴ユーザコマンドの音響特性に基づいて前記ユーザの位置を推定するステップをさらに含み、前記ワイヤレスコマンド信号を送信するステップは、前記自律移動ロボットを、推定された前記ユーザの前記位置の方へナビゲートさせるための前記ワイヤレスコマンド信号を送信するステップを含む、請求項12に記載の方法。
【請求項１８】
別の自律移動ロボットの識別データを前記オーディオメディアデバイスの前記識別データと関連付けるステップをさらに含み、前記自律移動ロボットの前記識別データは第1の可聴識別子に対応し、前記別の自律移動ロボットの前記識別データは、前記第1の可聴識別子とは別個の第2の可聴識別子に対応する、請求項12に記載の方法。
【請求項１９】
前記可聴ユーザコマンドは、前記家の中の所定のロケーションに対応する可聴ロケーション識別子を含み、前記方法は、
別の自律移動ロボットの識別データを前記オーディオメディアデバイスの前記識別データと関連付けるステップをさらに含み、
前記自律移動ロボットへ前記ワイヤレスコマンド信号を送信するステップは、前記所定のロケーションまでの前記自律移動ロボットの距離が、前記所定のロケーションまでの前記別の自律移動ロボットの距離未満であると判断すると、前記自律移動ロボットへ前記ワイヤレスコマンド信号を送信するステップを含む、請求項12に記載の方法。
【請求項２０】
前記可聴ユーザコマンドは、前記家の中の複数の所定のロケーションのうちの1つの所定のロケーションに対応する可聴ロケーション識別子を含み、前記自律移動ロボットへ前記ワイヤレスコマンド信号を送信するステップは、前記自律移動ロボットを前記1つの所定のロケーションへナビゲートさせるための前記ワイヤレスコマンド信号を前記自律移動ロボットへ送信するステップを含む、請求項12に記載の方法。
【請求項２１】
前記1つまたは複数の動作を実施するための前記ワイヤレスコマンド信号を前記自律ロボットへ送信するための将来の時間に対応する可聴スケジューリングパラメータを含む初期可聴ユーザコマンドを受け取るステップと、
前記将来の時間がユーザイベントカレンダ中のイベントと衝突すると判断すると、前記将来の時間が前記イベントと衝突することを示す可聴通知を前記オーディオメディアデバイスに発出させるためのワイヤレス通知信号を送信するステップとをさらに含む、請求項12に記載の方法。
【請求項２２】
ユーザイベントカレンダ中のイベントをスケジューリングするための初期可聴ユーザコマンドを受け取るステップと、
前記イベントが所定のイベントタイプに対応すると判断すると、前記オーディオメディアデバイスに可聴要求を発出させるためのワイヤレス通知信号を送信するステップとをさらに含み、
前記可聴ユーザコマンドは前記可聴要求の確認を含み、前記ワイヤレスコマンド信号を送信するステップは、前記イベント前の所定の期間内に前記自律移動ロボットの1つまたは複数の動作を開始するための前記ワイヤレスコマンド信号を前記自律移動ロボットへ送信するステップを含む、請求項12に記載の方法。
【請求項２３】
家の中で操縦可能な自律移動ロボットのステータスを与える方法であって、
オーディオメディアデバイスとリモートコンピューティングシステムとの間のワイヤレス通信を確立するステップであって、前記オーディオメディアデバイスは、オーディオを受け取り、発出することが可能であり、家の中で、前記自律移動ロボットから離れたロケーションに配備され、前記リモートコンピューティングシステムは、前記自律移動ロボットの識別データを前記オーディオメディアデバイスの識別データと関連付けるように構成される、ステップと、
前記リモートコンピューティングシステムからワイヤレス通知信号を受信したことに応答して、前記自律移動ロボットの動作ステータスを表す可聴信号を発出するステップであって、前記ワイヤレス通知信号は、前記自律移動ロボットが前記オーディオメディアデバイスに相対して前記家の中を自律的にナビゲートするときに前記リモートコンピューティングシステムによって受信されるステータスデータに対応する、ステップとを含む、方法。
【請求項２４】
前記可聴信号を発出するステップは、ユーザが前記家に入ったと判断した後で前記可聴信号を発出するステップを含む、請求項23に記載の方法。
【請求項２５】
前記自律移動ロボットの前記動作ステータスは、以前の動作のスケジュールを含み、前記可聴信号を発出するステップは、以前の動作の前記スケジュールに基づいて、動作の前記記憶されたスケジュールを修正するための可聴要求を発出するステップを含む、請求項23に記載の方法。
【請求項２６】
前記動作ステータスは、前記家の中の前記自律移動ロボットの静止状態に対応し、前記可聴信号を発出するステップは、前記自律移動ロボットが前記静止状態にあることを示すための前記可聴信号を発出するステップを含む、請求項23に記載の方法。
【請求項２７】
前記可聴信号は、前記家の中での前記自律移動ロボットのロケーションを示す、請求項26に記載の方法。
【請求項２８】
前記可聴信号を発出するステップは、前記自律移動ロボットの以前の動作の頻度を示すための前記可聴信号を発出するステップを含む、請求項23に記載の方法。
【請求項２９】
前記可聴信号を発出するステップは、所定の期間内の前記自律移動ロボットの以前の動作の総持続時間を示すための前記可聴信号を発出するステップを含む、請求項23に記載の方法。
【請求項３０】
前記可聴信号を発出するステップは、前記自律移動ロボットの部品の推定残存サービス寿命を示すための前記可聴信号を発出するステップを含む、請求項23に記載の方法。
【請求項３１】
前記自律移動ロボットの前記部品は、掃除ブラシ、掃除パッド、ローラー、バッテリー、ごみ容器、またはホイールモジュールである、請求項30に記載の方法。
【請求項３２】
前記可聴信号を発出するステップは、前記自律移動ロボットが前記家の中をナビゲートする間に、前記自律移動ロボットによって検出された障害物を識別するための前記可聴信号を発出するステップを含む、請求項23に記載の方法。
【請求項３３】
前記可聴信号を発出するステップは、前記家の中に配置された被接続デバイスを識別するための前記可聴信号を発出するステップを含み、前記被接続デバイスは、前記リモートコンピューティングシステムにワイヤレスに接続され、前記オーディオメディアデバイスに関連付けられる、請求項23に記載の方法。
【請求項３４】
前記可聴信号を発出するステップは、エラーの検出に応答して、前記自律移動ロボットに関連付けられた前記エラーの根本に対処するようにユーザをガイドするための可聴命令を発出するステップを含む、請求項23に記載の方法。
【請求項３５】
前記可聴信号を発出するステップは、前記自律移動ロボットが前記家の中を自律的にナビゲートした後で前記可聴信号を発出するステップを含み、前記可聴信号は、前記自律移動ロボットが、自律的にナビゲートする間に、通行しなかった前記家のエリアを識別する、請求項23に記載の方法。
【請求項３６】
前記可聴信号を発出するステップは、前記自律移動ロボットの前記動作ステータスについての可聴ユーザ要求を受け取ると、前記可聴信号を発出するステップを含む、請求項23に記載の方法。
【請求項３７】
家の中に位置する自律移動ロボットのステータスを与える方法であって、
前記自律移動ロボットの識別データを、オーディオを受け取り、発出することが可能なオーディオメディアデバイスの識別データと関連付けるステップであって、前記オーディオメディアデバイスは、前記家の中の、前記自律移動ロボットから離れたロケーションに配備される、ステップと、
前記自律移動ロボットおよび前記オーディオメディアデバイスの各々とのワイヤレス通信を確立するステップと、
前記自律移動ロボットの動作ステータスを示すデータを受信すると、前記オーディオメディアデバイスに、前記自律移動ロボットの前記動作ステータスを表す可聴信号を発出させるためのワイヤレス通知信号を送信するステップとを含む、方法。
【請求項３８】
前記ワイヤレス通知信号を送信するステップは、前記自律移動ロボットの交換可能部品の推定残存サービス寿命が所定の閾未満であると判断すると、前記オーディオメディアデバイスに前記可聴信号を発出させるための前記ワイヤレス通知信号を送信するステップを含み、前記可聴信号は、前記自律移動ロボットの前記部品用の交換部品を購入するための提案を含み、
前記方法は、前記交換部品を購入するための確認を含む可聴ユーザコマンドを受け取ると、前記交換部品を注文するステップをさらに含む、請求項37に記載の方法。
【請求項３９】
前記自律移動ロボットの前記識別データを前記オーディオメディアデバイスの前記識別データと関連付けるステップは、
可聴関連付け要求の発出および受取りに基づいて、ワイヤレスコマンド信号を送信するステップであって、前記自律移動ロボットおよび前記オーディオメディアデバイスのうちの1つは、前記可聴関連付け要求を発出し、前記自律移動ロボットおよび前記オーディオメディアデバイスのうちの他方は、前記可聴関連付け要求を受け取る、ステップと、
前記可聴関連付け要求の前記受取りの確認を受信すると、前記自律移動ロボットの前記識別データを前記オーディオメディアデバイスの前記識別データと関連付けるステップとを含む、請求項37に記載の方法。
【請求項４０】
前記自律移動ロボットによって発出され、前記オーディオメディアデバイスによって受け取られた可聴ステータス信号に基づいて、前記家の中での前記自律移動ロボットのロケーションを判断するステップをさらに含み、前記可聴信号を発出するステップは、前記自律移動ロボットの前記ロケーションを示すための前記可聴信号を発出するステップを含む、請求項37に記載の方法。
【請求項４１】
家の中で操縦可能な自律移動ロボットの1つまたは複数の動作を制御するための方法であって、
オーディオメディアデバイスとリモートコンピューティングシステムとの間のワイヤレス通信を確立するステップであって、前記オーディオメディアデバイスは、オーディオを受け取り、発出することが可能であり、家の中で、前記自律移動ロボットから離れたロケーションに配備され、前記リモートコンピューティングシステムは、前記自律移動ロボットの識別データを前記オーディオメディアデバイスの識別データと関連付けるように構成される、ステップと、
可聴ユーザコマンドを受け取ったことに応答して、前記自律移動ロボットの1つまたは複数の動作を開始するためのワイヤレス命令信号を前記リモートコンピューティングシステムへ送信するステップとを含む、方法。
【請求項４２】
家の中で操縦可能な自律移動ロボットのステータスを与える方法であって、
自律移動ロボットとリモートコンピューティングシステムとの間のワイヤレス通信を確立するステップであって、前記自律移動ロボットは、前記家の中に配備されたオーディオメディアデバイスから離れており、前記オーディオメディアデバイスは、オーディオを受け取り、発出することが可能であり、前記リモートコンピューティングシステムは、前記自律移動ロボットの識別データを前記オーディオメディアデバイスの識別データと関連付けるように構成される、ステップと、
前記オーディオメディアデバイスに相対して前記家の中を自律的にナビゲートする間に、前記自律移動ロボットの動作ステータスを表す可聴信号を前記オーディオメディアデバイスに発出させるための、前記自律移動ロボットの前記動作ステータスを示すステータスデータを、前記自律移動ロボットから前記リモートコンピューティングシステムへ送信するステップとを含む、方法。
【請求項４３】
シャーシと、
家の地図を生成するための信号を生成するための検知システムと、
前記家の中の床面上で前記シャーシを支えるための運動性部材であって、前記検知システムが前記家の前記地図を生成するための前記信号を生成する間、前記自律移動ロボットを、前記床面を自律的にナビゲートするように駆動可能である、運動性部材と、
ワイヤレス通信システムと動作可能なコントローラであって、リモートコンピューティングシステムからワイヤレスコマンド信号を受信したことに応答して、前記自律移動ロボットの1つまたは複数の動作を開始するように構成され、前記ワイヤレスコマンド信号は、オーディオの受取りおよび発出が可能なオーディオメディアデバイスによって受け取られる可聴ユーザコマンドに対応する、コントローラとを備える、自律移動ロボット。
【請求項４４】
前記移動ロボットは前記オーディオメディアデバイスから離れており、前記オーディオメディアデバイスは前記家の中に配備され、
前記コントローラは、前記リモートコンピューティングシステムが前記移動ロボットの識別データを前記オーディオメディアデバイスの識別データと関連付けると、前記リモートコンピューティングシステムとのワイヤレス通信を確立するようにさらに構成される、請求項43に記載の自律移動ロボット。
【請求項４５】
前記オーディオメディアデバイスをさらに備え、前記オーディオメディアデバイスは、前記自律移動ロボットの前記シャーシに搭載される、請求項43に記載の自律移動ロボット。
【請求項４６】
複数のカメラ高さ位置まで、前記シャーシに対して垂直に動くように構成される、前記シャーシ上の高さ可変の部材と、
前記高さ可変の部材によって支えられるカメラとをさらに備える、請求項43に記載の自律移動ロボット。
【請求項４７】
前記検知システムは前記カメラを備え、前記カメラは、前記家の前記地図を生成するために、前記家の画像をキャプチャするように構成される、請求項46に記載の自律移動ロボット。
【請求項４８】
前記コントローラによって開始される前記1つまたは複数の動作は、前記自律移動ロボットを、前記家の中の選択されたロケーションへ自律的にナビゲートすることと、前記カメラを使って前記家の中の対象を観察するために、前記高さ可変の部材を、選択されたカメラ高さ位置へ動かすこととを含み、前記対象は、前記オーディオメディアデバイスによって受け取られた前記可聴ユーザコマンドにおいて識別される、請求項46に記載の自律移動ロボット。
【請求項４９】
前記移動ロボットを床面にわたって動かすように動作可能な少なくとも1つの駆動ホイールと、
ナビゲーションセンサを含むセンサシステムと、
前記センサシステムと通信しているコントローラであって、前記ナビゲーションセンサによって生成されたセンサ信号に基づいて、前記移動ロボットの動きを制御するように構成される、コントローラと、
前記コントローラと通信しているワイヤレス通信システムとを備え、
前記コントローラは、リモートコンピューティングシステムからワイヤレスコマンド信号を受信したことに応答して、前記移動ロボットの1つまたは複数の動作を開始するように構成され、前記ワイヤレスコマンド信号は、ユーザ要求アクションを示し、オーディオの受取りおよび発出が可能なオーディオメディアデバイスによって受け取られる可聴ユーザコマンドに基づく、自律移動ロボット。
【請求項５０】
前記オーディオメディアデバイスは、前記リモートコンピューティングシステムとワイヤレス通信しており、環境内で前記自律移動ロボットから離れたロケーションに配備される、請求項49に記載の移動ロボット。
【請求項５１】
前記コントローラは、前記センサ信号に基づいて環境の地図を生成するように構成される、請求項49に記載の移動ロボット。
【請求項５２】
前記ナビゲーションセンサは、前記生成された地図上でのロボットの姿勢を算出する際に使われる特徴および目印の視覚的識別用に構成されたカメラを備える、請求項51に記載の移動ロボット。
【請求項５３】
前記移動ロボットは、複数のミッションを実施し、
前記複数のミッションの各々について前記センサシステムによって測定された累積データを示すワイヤレス信号を、前記累積データに基づく累積要約を前記オーディオメディアデバイスに発出させるために送信するように構成される、請求項49に記載の移動ロボット。
【請求項５４】
前記センサシステムは、ロボットステータスを示すデータを前記コントローラに与えるように構成され、
前記移動ロボットは、前記オーディオメディアデバイスに可聴ステータス更新を発出させるために、前記ロボットステータスを示すワイヤレス信号を送信するように構成される、請求項49に記載の移動ロボット。
【請求項５５】
前記データは、前記移動ロボットが複数のミッションに対して動作していた総持続時間、前記移動ロボットが実施したミッションの数、通行された床面の総累積距離、または前記移動ロボットが移動した距離を示す、請求項54に記載の移動ロボット。
【請求項５６】
前記移動ロボットは真空掃除ロボットであり、
前記センサシステムは、複数のミッションにおいて前記移動ロボットによって収集されたごみの総量を示すデータを与えるように構成される、請求項54に記載の移動ロボット。
【請求項５７】
前記移動ロボットは、前記真空掃除ロボットからごみを排出するドッキングステーションとともに動作可能な真空掃除ロボットであり、
前記移動ロボットは、週ごとの排出動作の平均数、一定の時間期間中に実施される排出動作の数、または一定の時間期間中に前記移動ロボットによってカバーされるエリアに対して実施される排出動作の数を前記リモートコンピューティングシステムが算出することを可能にするためのデータを、前記ワイヤレス通信システムを介して前記リモートコンピューティングシステムへ送るように構成される、請求項54に記載の移動ロボット。
【請求項５８】
修理可能部品と、
前記修理可能部品の推定サービス寿命を示す信号を生成するように構成された1つまたは複数のセンサとをさらに備える、請求項49に記載の移動ロボット。
【請求項５９】
前記修理可能部品は、掃除ブラシ、掃除パッド、ローラー、ブレード、バッテリー、容器、ホイール、容器フィルタ、または容器の蓋を含む、請求項58に記載の移動ロボット。
【請求項６０】
前記コントローラは、前記オーディオメディアデバイスによって受け取られる可聴ユーザコマンドに応答して、前記修理可能部品の推定残存サービス寿命を示すワイヤレス信号を送信するように構成される、請求項59に記載の移動ロボット。
【請求項６１】
前記移動ロボットのストール状況を検出するように構成されたストールセンサユニットをさらに備え、
前記コントローラは、前記移動ロボットが前記ストール状況にあることを示すステータス更新を前記オーディオメディアデバイスに発出させるために、前記移動ロボットの前記検出されたストール状況を示すワイヤレス信号を送信するように構成される、請求項49に記載の移動ロボット。
【請求項６２】
前記ストールセンサユニットは、光学静止センサ、モーターストールセンサ、マウスセンサ、ジャイロスコープ、加速度計、またはステレオカメラを含む、請求項61に記載の移動ロボット。
【請求項６３】
前記コントローラは、前記センサシステムがエラーを検出したことに応答して、前記オーディオメディアデバイスに前記エラーに対処するための初期可聴命令を発出させるために、前記エラーを示すワイヤレス信号を送信するように構成される、請求項49に記載の移動ロボット。
【請求項６４】
前記移動ロボットは真空掃除ロボットであり、
前記コントローラは、前記ワイヤレスコマンド信号を受信したことに応答して、環境中でのユーザが指定した部屋への前記真空掃除ロボットの動きを制御するように構成され、前記可聴ユーザコマンドおよび前記ワイヤレスコマンド信号は、前記ユーザが指定した部屋を示す、請求項49に記載の移動ロボット。
【請求項６５】
前記移動ロボットは真空掃除ロボットであり、
前記コントローラは、前記ワイヤレスコマンド信号に応答して、真空強度を調節するように構成される、請求項49に記載の移動ロボット。
【請求項６６】
前記コントローラは、前記ワイヤレスコマンド信号に応答して、動作の記憶されたスケジュールを調節するように構成される、請求項49に記載の移動ロボット。
【請求項６７】
前記移動ロボットは、前記ワイヤレスコマンド信号に応答して、前記オーディオメディアデバイスに前記移動ロボットの現在のロケーションを示す可聴信号を発出させるためのワイヤレス信号を送信するように構成される、請求項49に記載の移動ロボット。
【請求項６８】
ごみ容器と、
前記床面からごみを撹拌するように構成された回転可能ローラーと、
前記床面から前記ごみ容器の方へ前記ごみを動かすように構成されたエアムーバとを備える真空掃除ロボットである、請求項49に記載の移動ロボット。
【請求項６９】
前記ごみ容器に吸引されたごみの量を検出するように構成されたごみ容器レベルセンサをさらに備える、請求項68に記載の移動ロボット。
【請求項７０】
ごみ吸引率を検出するように構成された1つまたは複数のごみセンサをさらに備える、請求項68に記載の移動ロボット。
【請求項７１】
ごみフィルタと、前記ごみフィルタが掃除を必要とするかどうかを検出するためのフィルタセンサとをさらに備える、請求項68に記載の移動ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、自律移動ロボットを制御するための、詳細には、オーディオメディアデバイスを使って自律移動ロボットを制御するためのシステムおよび方法に関する。
【背景技術】
【０００２】
多くのホーム環境は、さもなければ家の中の居住者の注意を必要とするであろうタスクを完了するためのいくつかの動作を実施しながら家の中を自律的にナビゲートする移動ロボットを含む。たとえば、いくつかの移動ロボットは、コントローラに結合されたメモリに記憶されたプログラムを使って、画定エリア内で掃除動作を自律的に実施することができる掃除ロボットである。掃除ロボットは、ユーザが家で掃除ロボットを手動で動かす必要なく、家を掃除することができる。掃除ロボットは、手動入力デバイス、たとえば、家の中で自律掃除動作を開始するためにユーザが押すボタンを含み得る。
【０００３】
これらの同じホーム環境はしばしば、デスクトップ、タブレット、エンターテインメントシステム、およびポータブル通信デバイスなどのコンピューティングデバイスを含む。ユーザがコンピューティングデバイスを制御することを可能にするために、コンピューティングデバイスは、コンピューティングデバイスの動作に対する手動制御をユーザに提供する手動入力デバイス(たとえば、タッチスクリーン、キーボード、ポインティングデバイス)を含み得る。これらのコンピューティングデバイスのうちのいくつかは、ユーザが、コンピューティングデバイス上に記憶されたアプリケーションプログラムを使って移動ロボットを制御できるようにする。
【発明の概要】
【課題を解決するための手段】
【０００４】
一態様では、家の中で操縦可能な自律移動ロボットの1つまたは複数の動作を制御するための方法は、自律移動ロボットとリモートコンピューティングシステムとの間のワイヤレス通信を確立するステップと、リモートコンピューティングシステムからワイヤレスコマンド信号を受信したことに応答して、自律移動ロボットの1つまたは複数の動作を開始するステップとを含む。自律移動ロボットは、家の中に配備されたオーディオメディアデバイスから離れている。オーディオメディアデバイスは、オーディオを受け取り、発出することが可能である。リモートコンピューティングシステムは、自律移動ロボットの識別データをオーディオメディアデバイスの識別データと関連付けるように構成される。ワイヤレスコマンド信号は、オーディオメディアデバイスによって受け取られる可聴ユーザコマンドに対応する。
【０００５】
別の態様では、家の中で操縦可能な自律移動ロボットの1つまたは複数の動作を制御するための方法は、自律移動ロボットの識別データをオーディオメディアデバイスの識別データと関連付けるステップと、自律移動ロボットおよびオーディオメディアデバイスの各々とのワイヤレス通信を確立するステップとを含む。方法は、オーディオメディアデバイスからワイヤレス命令信号を受信すると、自律移動ロボットの1つまたは複数の動作を開始するためのワイヤレスコマンド信号を自律移動ロボットへ送信するステップをさらに含む。オーディオメディアデバイスは、オーディオを受け取り、発出することが可能である。オーディオメディアデバイスは、家の中の、自律移動ロボットから離れたロケーションに配備される。ワイヤレス命令信号は、オーディオメディアデバイスによって受け取られる可聴ユーザコマンドに対応する。
【０００６】
別の態様では、家の中で操縦可能な自律移動ロボットのステータスを与える方法は、オーディオメディアデバイスとリモートコンピューティングシステムとの間のワイヤレス通信を確立するステップと、リモートコンピューティングシステムからワイヤレス通知信号を受信したことに応答して、自律移動ロボットの動作ステータスを表す可聴信号を発出するステップとを含む。オーディオメディアデバイスは、オーディオを受け取り、発出することが可能であり、家の中で、自律移動ロボットから離れたロケーションに配備される。リモートコンピューティングシステムは、自律移動ロボットの識別データをオーディオメディアデバイスの識別データと関連付けるように構成される。ワイヤレス通知信号は、自律移動ロボットがオーディオメディアデバイスに相対して家の中を自律的にナビゲートするときにリモートコンピューティングシステムによって受信されるステータスデータに対応する。
【０００７】
別の態様では、家の中に位置する自律移動ロボットのステータスを与える方法は、自律移動ロボットの識別データをオーディオメディアデバイスの識別データと関連付けるステップと、自律移動ロボットおよびオーディオメディアデバイスの各々とのワイヤレス通信を確立するステップとを含む。方法は、自律移動ロボットの動作ステータスを示すデータを受信すると、オーディオメディアデバイスに、自律移動ロボットの動作ステータスを表す可聴信号を発出させるためのワイヤレス通知信号を送信するステップをさらに含む。オーディオメディアデバイスは、オーディオを受け取り、発出することが可能である。オーディオメディアデバイスは、家の中の、自律移動ロボットから離れたロケーションに配備される。
【０００８】
別の態様では、家の中で操縦可能な自律移動ロボットの1つまたは複数の動作を制御するための方法は、オーディオメディアデバイスとリモートコンピューティングシステムとの間のワイヤレス通信を確立するステップと、可聴ユーザコマンドを受け取ったことに応答して、自律移動ロボットの1つまたは複数の動作を開始するためのワイヤレス命令信号をリモートコンピューティングシステムへ送信するステップとを含む。オーディオメディアデバイスは、オーディオを受け取り、発出することが可能であり、家の中で、自律移動ロボットから離れたロケーションに配備される。リモートコンピューティングシステムは、自律移動ロボットの識別データをオーディオメディアデバイスの識別データと関連付けるように構成される。
【０００９】
別の態様では、家の中で操縦可能な自律移動ロボットのステータスを与える方法は、自律移動ロボットとリモートコンピューティングシステムとの間のワイヤレス通信を確立するステップと、オーディオメディアデバイスに相対して家の中を自律的にナビゲートする間に、自律移動ロボットの動作ステータスを表す可聴信号をオーディオメディアデバイスに発出させるために、自律移動ロボットからリモートコンピューティングシステムへ、自律移動ロボットの動作ステータスを示すステータスデータを送信するステップとを含む。自律移動ロボットは、オーディオメディアデバイスから離れている。オーディオメディアデバイスは、家の中に配備される。オーディオメディアデバイスは、オーディオを受け取り、発出することが可能である。リモートコンピューティングシステムは、自律移動ロボットの識別データをオーディオメディアデバイスの識別データと関連付けるように構成される。
【００１０】
別の態様では、自律移動ロボットは、シャーシと、家の地図を生成するための信号を生成するための検知システムと、家の中の床面上でシャーシを支えるための運動性部材と、ワイヤレス通信システムと動作可能なコントローラとを含む。運動性部材は、検知システムが家の地図を生成するための信号を生成する間、自律移動ロボットを、床面を自律的にナビゲートするように駆動可能である。コントローラは、リモートコンピューティングシステムからワイヤレスコマンド信号を受信したことに応答して、自律移動ロボットの1つまたは複数の動作を開始するように構成される。ワイヤレスコマンド信号は、オーディオの受取りおよび発出が可能なオーディオメディアデバイスによって受け取られる可聴ユーザコマンドに対応する。
【００１１】
別の態様では、自律移動ロボットは、移動ロボットを床面にわたって動かすように動作可能な少なくとも1つの駆動ホイールと、ナビゲーションセンサを含むセンサシステムと、センサシステムと通信しているコントローラと、コントローラと通信しているワイヤレス通信システムとを含む。コントローラは、ナビゲーションセンサによって生成されたセンサ信号に基づいて、移動ロボットの動きを制御するように構成される。コントローラは、リモートコンピューティングシステムからワイヤレスコマンド信号を受信したことに応答して、移動ロボットの1つまたは複数の動作を開始するように構成される。ワイヤレスコマンド信号は、ユーザ要求アクションを示し、オーディオの受取りおよび発出が可能なオーディオメディアデバイスによって受け取られる可聴ユーザコマンドに基づく。
【００１２】
いくつかの態様は、以下および本明細書の他の箇所で説明する1つまたは複数の実装形態を含み得る。いくつかの例では、コントローラは、上記の方法のうちの1つまたは複数を実施する。
【００１３】
いくつかの例では、1つまたは複数の動作は、オーディオメディアデバイスに相対して家の中を自律的にナビゲートすることを含む。自律移動ロボットは、自律掃除ロボットを含み得る。1つまたは複数の動作は、自律移動ロボット用のドッキングステーションへ自律的にナビゲートすることを含み得る。1つまたは複数の動作は、オーディオメディアデバイスの方へ自律的にナビゲートすることを含み得る。方法のうちの1つまたは複数は、リモートコンピューティングシステムから位置信号を受信することと、オーディオメディアデバイスのロケーションを定位しながら(localize to the location)、オーディオメディアデバイスに相対して家の中を自律的にナビゲートすることとをさらに含み得る。位置信号は、家の中でのオーディオメディアデバイスのロケーションを示し得る。方法のうちの1つまたは複数は、家の中を自律的にナビゲートする間に、リモートコンピューティングシステムとワイヤレス通信しているデバイスの位置を含む、家の地図を生成するステップを含み得る。
【００１４】
いくつかの例では、1つまたは複数の動作は、自律移動ロボットの掃除動作を一時停止することを含む。
【００１５】
いくつかの例では、1つまたは複数の動作を開始することは、自律移動ロボットの掃除動作を開始することを含む。
【００１６】
いくつかの例では、方法のうちの1つまたは複数は、掃除動作を実施しながら家の中を自律的にナビゲートするステップをさらに含む。方法のうちの1つまたは複数は、リモートコンピューティングシステムからワイヤレスコマンド信号を受信したことに応答して、家の、ある部分内で自律移動ロボットを所定のパターンでナビゲートし、自律移動ロボットの掃除装置に供給される電力量を増大することによって、家のその部分内の局地化された掃除動作を開始するステップをさらに含み得る。
【００１７】
いくつかの例では、1つまたは複数の動作は、可聴信号を発出することを含む。
【００１８】
いくつかの例では、1つまたは複数の動作は、将来の時間に後続動作を実施するためのユーザ定義スケジュールを記憶することを含む。1つまたは複数の動作は、後続動作を将来の時間に実施することを含み得る。
【００１９】
いくつかの例では、可聴ユーザコマンドは、自律移動ロボットの識別データを示す可聴識別子と、自律移動ロボットの1つまたは複数の動作に対応するボイスコマンドとを含む。方法のうちの1つまたは複数は、ボイスコマンドに基づいてワイヤレスコマンド信号を生成するステップと、可聴識別子に基づいて、ワイヤレスコマンド信号の宛先を選択するステップとをさらに含み得る。
【００２０】
いくつかの例では、方法のうちの1つまたは複数は、ロボットタイプを示す可聴識別子を含む初期ユーザコマンドを受け取ると、自律移動ロボットの識別データがロボットタイプを含み、オーディオメディアデバイスの識別データに関連付けられた他のロボットの他の識別データがロボットタイプを含むと判断するステップをさらに含む。方法のうちの1つまたは複数は、自律移動ロボットの一意のアイデンティティを示す可聴識別子についての可聴要求をオーディオメディアデバイスに発出させるためのワイヤレス通知信号を送信するステップを含み得る。可聴ユーザコマンドは、可聴要求へのユーザ応答に対応し得る。ワイヤレス通知信号を送信するステップは、自律移動ロボットの識別データがロボットタイプおよび他の識別データを含むと判断した後で起こり得る。
【００２１】
いくつかの例では、方法のうちの1つまたは複数は、オーディオメディアデバイスに関連付けられていない別の自律移動ロボットの識別を示す可聴識別子を含む初期可聴ユーザコマンドを受け取るステップをさらに含む。方法のうちの1つまたは複数は、別の自律移動ロボットがオーディオメディアデバイスに関連付けられていないことを示す可聴通知をオーディオメディアデバイスに発出させるためのワイヤレス通知信号を送信するステップをさらに含み得る。
【００２２】
いくつかの例では、方法のうちの1つまたは複数は、自律移動ロボットの1つまたは複数の動作に対応する複数の利用可能ボイスコマンドのうちのいずれも含まない初期可聴ユーザコマンドを受け取るステップをさらに含む。方法のうちの1つまたは複数は、初期可聴ユーザコマンドが利用可能ボイスコマンドのうちのいずれかに対応するボイスコマンドも含まないことを示す可聴通知をオーディオメディアデバイスに発出させるためのワイヤレス通知信号を送信するステップをさらに含み得る。
【００２３】
いくつかの例では、方法のうちの1つまたは複数は、可聴ユーザコマンドの音響特性に基づいてユーザの位置を推定するステップをさらに含む。ワイヤレスコマンド信号を送信するステップは、自律移動ロボットを、推定されたユーザの位置の方へナビゲートさせるためのワイヤレスコマンド信号を送信するステップを含み得る。
【００２４】
いくつかの例では、方法のうちの1つまたは複数は、別の自律移動ロボットの識別データをオーディオメディアデバイスの識別データと関連付けるステップをさらに含む。自律移動ロボットの識別データは第1の可聴識別子に対応してよく、別の自律移動ロボットの識別データは、第1の可聴識別子とは別個の第2の可聴識別子に対応してよい。
【００２５】
いくつかの例では、可聴ユーザコマンドは、家の中の所定のロケーションに対応する可聴ロケーション識別子を含む。方法のうちの1つまたは複数は、別の自律移動ロボットの識別データをオーディオメディアデバイスの識別データと関連付けるステップをさらに含み得る。自律移動ロボットへワイヤレスコマンド信号を送信するステップは、所定のロケーションまでの自律移動ロボットの距離が、所定のロケーションまでの別の自律移動ロボットの距離未満であると判断すると、自律移動ロボットへワイヤレスコマンド信号を送信するステップを含み得る。
【００２６】
いくつかの例では、可聴ユーザコマンドは、家の中の複数の所定のロケーションのうちの1つの所定のロケーションに対応する可聴ロケーション識別子を含む。自律移動ロボットへワイヤレスコマンド信号を送信するステップは、自律移動ロボットを1つの所定のロケーションへナビゲートさせるためのワイヤレスコマンド信号を自律移動ロボットへ送信するステップを含み得る。
【００２７】
いくつかの例では、方法のうちの1つまたは複数は、1つまたは複数の動作を実施するためのワイヤレスコマンド信号を自律ロボットへ送信するための将来の時間に対応する可聴スケジューリングパラメータを含む初期可聴ユーザコマンドを受け取るステップをさらに含む。方法のうちの1つまたは複数は、将来の時間がユーザイベントカレンダ中のイベントと衝突すると判断すると、将来の時間がイベントと衝突することを示す可聴通知をオーディオメディアデバイスに発出させるためのワイヤレス通知信号を送信するステップをさらに含み得る。
【００２８】
いくつかの例では、方法のうちの1つまたは複数は、ユーザイベントカレンダ中でイベントをスケジューリングするための初期可聴ユーザコマンドを受け取るステップをさらに含む。方法のうちの1つまたは複数は、イベントが所定のイベントタイプに対応すると判断すると、オーディオメディアデバイスに可聴要求を発出させるためのワイヤレス通知信号を送信するステップをさらに含み得る。可聴ユーザコマンドは、可聴要求の確認を含み得る。ワイヤレスコマンド信号を送信するステップは、イベント前の所定の期間内に自律移動ロボットの1つまたは複数の動作を開始するためのワイヤレスコマンド信号を自律移動ロボットへ送信するステップを含み得る。
【００２９】
いくつかの例では、可聴信号を発出するステップは、ユーザが家に入ったと判断した後で可聴信号を発出するステップを含む。
【００３０】
いくつかの例では、自律移動ロボットの動作ステータスは、以前の動作のスケジュールを含む。可聴信号を発出するステップは、以前の動作のスケジュールに基づいて、動作の記憶されたスケジュールを修正するための可聴要求を発出するステップを含み得る。
【００３１】
いくつかの例では、動作ステータスは、家の中の自律移動ロボットの静止状態に対応する。可聴信号を発出するステップは、自律移動ロボットが静止状態にあることを示すための可聴信号を発出するステップを含み得る。可聴信号は、家の中での自律移動ロボットのロケーションを示し得る。
【００３２】
いくつかの例では、可聴信号を発出するステップは、自律移動ロボットの以前の動作の頻度を示すための可聴信号を発出するステップを含む。
【００３３】
いくつかの例では、可聴信号を発出するステップは、所定の期間内の自律移動ロボットの以前の動作の総持続時間を示すための可聴信号を発出するステップを含む。
【００３４】
いくつかの例では、可聴信号を発出するステップは、自律移動ロボットの部品の推定残存サービス寿命を示すための可聴信号を発出するステップを含む。自律移動ロボットの部品は、掃除ブラシ、掃除パッド、ローラー、バッテリー、ごみ容器(debris bin)、またはホイールモジュールであってよい。
【００３５】
いくつかの例では、可聴信号を発出するステップは、自律移動ロボットが家の中をナビゲートする間に、自律移動ロボットによって検出された障害物を識別するための可聴信号を発出するステップを含む。
【００３６】
いくつかの例では、可聴信号を発出するステップは、家の中に配置された被接続デバイスを識別するための可聴信号を発出するステップを含む。被接続デバイスは、リモートコンピューティングシステムにワイヤレスに接続されてよく、オーディオメディアデバイスに関連付けられている。
【００３７】
いくつかの例では、可聴信号を発出するステップは、エラーの検出に応答して、自律移動ロボットに関連付けられたエラーの根本に対処するようにユーザをガイドするための可聴命令を発出するステップを含む。
【００３８】
いくつかの例では、可聴信号を発出するステップは、自律移動ロボットが家の中を自律的にナビゲートした後で可聴信号を発出するステップを含む。可聴信号は、自律移動ロボットが、自律的にナビゲートする間に、通行しなかった家のエリアを識別し得る。
【００３９】
いくつかの例では、可聴信号を発出するステップは、自律移動ロボットの動作ステータスについての可聴ユーザ要求を受け取ると、可聴信号を発出するステップを含む。
【００４０】
いくつかの例では、ワイヤレス通知信号を送信するステップは、自律移動ロボットの交換可能部品の推定残存サービス寿命が、所定の閾未満であると判断すると、オーディオメディアデバイスに可聴信号を発出させるためのワイヤレス通知信号を送信するステップを含む。可聴信号は、自律移動ロボットの部品用の交換部品を購入するための提案を含み得る。方法のうちの1つまたは複数は、交換部品を購入するための確認を含む可聴ユーザコマンドを受け取ると、交換部品を注文するステップをさらに含み得る。
【００４１】
いくつかの例では、自律移動ロボットの識別データをオーディオメディアデバイスの識別データと関連付けるステップは、可聴関連付け要求の発出および受取りに基づいて、ワイヤレスコマンド信号を送信するステップと、可聴関連付け要求の受取りの確認を受信すると、自律移動ロボットの識別データをオーディオメディアデバイスの識別データと関連付けるステップとを含む。自律移動ロボットおよびオーディオメディアデバイスのうちの1つは、可聴関連付け要求を発出することができ、自律移動ロボットおよびオーディオメディアデバイスのうちの他方は、可聴関連付け要求を受け取ることができる。
【００４２】
いくつかの例では、方法のうちの1つまたは複数は、自律移動ロボットによって発出され、オーディオメディアデバイスによって受け取られた可聴ステータス信号に基づいて、家の中での自律移動ロボットのロケーションを判断するステップをさらに含み、可聴信号を発出するステップは、自律移動ロボットのロケーションを示すための可聴信号を発出するステップを含む。
【００４３】
いくつかの例では、移動ロボットはオーディオメディアデバイスから離れており、オーディオメディアデバイスは家の中に配備される。コントローラは、リモートコンピューティングシステムが移動ロボットの識別データをオーディオメディアデバイスの識別データと関連付けると、リモートコンピューティングシステムとのワイヤレス通信を確立するようにさらに構成され得る。
【００４４】
いくつかの例では、自律移動ロボットは、オーディオメディアデバイスをさらに含む。オーディオメディアデバイスは、自律移動ロボットのシャーシに搭載され得る。
【００４５】
いくつかの例では、自律移動ロボットは、シャーシ上の高さ可変の部材と、高さ可変の部材によって支えられるカメラとをさらに含む。高さ可変の部材は、複数のカメラ高さ位置まで、シャーシに対して垂直に動くように構成され得る。検知システムはカメラを含み得る。カメラは、家の地図を生成するための、家の画像をキャプチャするように構成され得る。1つまたは複数の動作は、自律移動ロボットを、家の中の選択されたロケーションへ自律的にナビゲートすることと、カメラを使って、家の中の対象を観察するために、高さ可変の部材を、選択されたカメラ高さ位置へ動かすこととを含み得る。対象は、オーディオメディアデバイスによって受け取られる可聴ユーザコマンドにおいて識別され得る。
【００４６】
いくつかの例では、オーディオメディアデバイスは、リモートコンピューティングシステムとワイヤレス通信しており、環境内で、自律移動ロボットから離れたロケーションに配備される。
【００４７】
いくつかの例では、オーディオメディアデバイスは、リモートコンピューティングシステムとワイヤレス通信しており、環境内で、自律移動ロボットから離れたロケーションに配備される。
【００４８】
いくつかの例では、コントローラは、センサ信号に基づいて環境の地図を生成するように構成される。いくつかのケースでは、ナビゲーションセンサは、生成された地図上でのロボットの姿勢を算出する際に使われる特徴および目印の視覚的識別用に構成されたカメラを含む。
【００４９】
いくつかの例では、移動ロボットは、複数のミッションを実施し、複数のミッションの各々についてセンサシステムによって測定された累積データを示すワイヤレス信号を、累積データに基づく累積要約をオーディオメディアデバイスに発出させるために送信するように構成される。
【００５０】
いくつかの例では、センサシステムは、ロボットステータスを示すデータをコントローラに与えるように構成される。移動ロボットは、オーディオメディアデバイスに可聴ステータス更新を発出させるために、ロボットステータスを示すワイヤレス信号を送信するように構成され得る。
【００５１】
いくつかのケースでは、データは、移動ロボットが複数のミッションに対して動作していた総持続時間、移動ロボットが実施したミッションの数、通行された床面の総累積距離、または移動ロボットが移動した距離を示す。
【００５２】
いくつかのケースでは、移動ロボットは真空掃除ロボットである。センサシステムは、複数のミッションにおいて移動ロボットによって収集されたごみの総量を示すデータを与えるように構成され得る。
【００５３】
いくつかのケースでは、移動ロボットは、真空掃除ロボットからごみを排出するドッキングステーションとともに動作可能な真空掃除ロボットである。移動ロボットは、リモートコンピューティングシステムが、週ごとの排出動作の平均数、一定の時間期間中に実施される排出動作の数、または一定の時間期間中に移動ロボットによってカバーされるエリアに対して実施される排出動作の数を算出することを可能にするためのデータを、ワイヤレス通信システムを介してリモートコンピューティングシステムへ送るように構成され得る。
【００５４】
いくつかの例では、移動ロボットは、修理可能部品(serviceable component)と、修理可能部品の推定サービス寿命を示す信号を生成するように構成された1つまたは複数のセンサとをさらに含む。いくつかのケースでは、修理可能部品は、掃除ブラシ、掃除パッド、ローラー、ブレード、バッテリー、容器、ホイール、容器フィルタ、または容器の蓋を含む。いくつかのケースでは、コントローラは、オーディオメディアデバイスによって受け取られた可聴ユーザコマンドに応答して、修理可能部品の推定残存サービス寿命を示すワイヤレス信号を送信するように構成される。
【００５５】
いくつかの例では、移動ロボットは、移動ロボットのストール状況を検出するように構成されたストールセンサユニットをさらに含む。コントローラは、移動ロボットがストール状況にあることを示すステータス更新をオーディオメディアデバイスに発出させるために、移動ロボットの、検出されたストール状況を示すワイヤレス信号を送信するように構成され得る。いくつかのケースでは、ストールセンサユニットは、光学静止センサ、モーターストールセンサ、マウスセンサ、ジャイロスコープ、加速度計、またはステレオカメラを含む。
【００５６】
いくつかの例では、コントローラは、センサシステムがエラーを検出したことに応答して、オーディオメディアデバイスにエラーに対処するための初期可聴命令を発出させるために、エラーを示すワイヤレス信号を送信するように構成される。
【００５７】
いくつかの例では、移動ロボットは真空掃除ロボットである。コントローラは、ワイヤレスコマンド信号を受信したことに応答して、環境中での、ユーザが指定した部屋への真空掃除ロボットの動きを制御するように構成されてよく、可聴ユーザコマンドおよびワイヤレスコマンド信号は、ユーザが指定した部屋を示す。
【００５８】
いくつかの例では、移動ロボットは真空掃除ロボットである。コントローラは、ワイヤレスコマンド信号に応答して、真空強度を調節するように構成され得る。
【００５９】
いくつかの例では、コントローラは、ワイヤレスコマンド信号に応答して、動作の記憶されたスケジュールを調節するように構成される。
【００６０】
いくつかの例では、移動ロボットは、ワイヤレスコマンド信号に応答して、オーディオメディアデバイスに移動ロボットの現在のロケーションを示す可聴信号を発出させるためのワイヤレス信号を送信するように構成される。
【００６１】
いくつかの例では、移動ロボットは、ごみ容器と、床面からごみを撹拌するように構成された回転可能ローラーと、床面からごみ容器の方へごみを動かすように構成されたエアムーバとを含む真空掃除ロボットである。いくつかのケースでは、移動ロボットは、ごみ容器に吸引されたごみの量を検出するように構成されたごみ容器レベルセンサをさらに含む。いくつかのケースでは、移動ロボットは、ごみ吸引率を検出するように構成された1つまたは複数のごみセンサをさらに含む。いくつかのケースでは、移動ロボットは、ごみフィルタと、ごみフィルタが掃除を必要とするかどうかを検出するためのフィルタセンサとをさらに含む。
【００６２】
上述したものの利点は、以下および本明細書の他の箇所で説明するものを含み得るが、それらに限定されない。本明細書に記載するシステムおよび方法は、ユーザが、家の中でロボット動作を開始または制御するために、移動ロボットと手動で対話する必要を減らす。具体的には、ユーザは、移動ロボットを制御するためのボイスコマンドをオーディオメディアデバイスへ発行すればよく、それによって、ユーザが移動ロボットとともに動作可能な手動入力デバイスを操作するために手が空いていない場合であっても、ユーザが移動ロボットを制御することを可能にする。ユーザは、移動ロボットに物理的に近接する必要なく、移動ロボットのステータスに関する通知を受け取ることもできる。オーディオメディアデバイスは、ユーザに可聴通知を与えるように位置付けられてよく、これらの通知を、移動ロボットが、いくつかのケースでは、ユーザの付近から離れて家の中を自律的にナビゲートするときにユーザに与えることができる。オーディオメディアデバイスは、可聴である通知を発出するので、ユーザは、ユーザの視覚的注意をそらす必要なく、移動ロボットのステータスを知らされ得る。
【００６３】
本明細書に記載するシステムおよび方法は、移動ロボットおよびオーディオメディアデバイスの動作を改善し得る、家の状態に関する追加データを、移動ロボットおよびオーディオメディアデバイスにさらに与え得る。いくつかの例では、オーディオメディアデバイスのセンサによって収集されたデータは、オーディオメディアデバイスにアップロードされ、または移動ロボットのセンサによって収集されたデータとともに、移動ロボットが家の中での自律ナビゲーション中に構築する家の地図の正確さまたは精度を向上するのに使われ得る。移動ロボットは、オーディオメディアデバイスにアップロードされるか、またはオーディオメディアデバイスによって収集されたデータを、家の中での移動ロボットの位置推定(localization)を向上するのに使うこともでき、それによって、移動ロボットのナビゲーション挙動におけるエラーを削減する。
【００６４】
本明細書に記載するシステムおよび方法はまた、移動ロボットとの、または移動ロボットに関連したユーザ対話に関する非効率性を低減することができる。たとえば、システムおよび方法は、実施された場合に、移動ロボットの動作におけるエラーが起こるのを防止し得る推奨アクションの予測について記述する。オーディオメディアデバイスは、推奨アクションを、ユーザが通常そのようなアクションが有益であることに気づく前に、ユーザに通知することができる。いくつかのケースでは、リモートコンピューティングシステムは、推奨アクションを実施することができ、それによって、ユーザによって移動ロボットに関するエラーまたは潜在的エラーに対処するのに費やされる時間を削減する。
【００６５】
本明細書において説明される主題の1つまたは複数の実施態様の詳細は、添付の図面および以下の説明に記載される。他の可能な特徴、態様、および利点は、説明、図面および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００６６】
【図１】ホーム環境においてナビゲートする移動ロボットの概略上面図である。
【図２】制御システムのブロック図である。
【図３Ａ】移動ロボットの例の概略底面図である。
【図３Ｂ】移動ロボットに搭載されたセンサの例の概略図である。
【図４】オーディオメディアデバイスの概略正面図である。
【図５】ユーザがオーディオメディアデバイスに可聴コマンドを与える図である。
【図６Ａ】関連付けプロセスを示すフローチャートである。
【図６Ｂ】図6Aの関連付けプロセスの例のスクリーンショットを示す図である。
【図７】移動ロボットへコマンド信号を送信するためのプロセスを示すフローチャートである。
【図８】移動ロボットのステータスの可聴通知を発出するためのプロセスを示すフローチャートである。
【図９】移動ロボットの動作に基づいて推奨アクションを実施するためのプロセスを示すフローチャートである。
【図１０】移動ロボットについてのエラー状態を訂正するための可聴命令を発出するためのプロセスを示すフローチャートである。
【図１１Ａ】カメラ収納位置における移動ロボットを示す図である。
【図１１Ｂ】カメラ収納位置における移動ロボットを示す図である。
【図１１Ｃ】カメラ収納位置における移動ロボットを示す図である。
【図１１Ｄ】カメラ収納位置における移動ロボットを示す図である。
【図１１Ｅ】カメラ突出し位置における、図11A〜図11Dの移動ロボットを示す図である。
【図１１Ｆ】カメラ突出し位置における、図11A〜図11Dの移動ロボットを示す図である。
【図１１Ｇ】カメラ突出し位置における、図11A〜図11Dの移動ロボットを示す図である。
【図１２】移動ロボット監視経路の例を表す概略図である。
【発明を実施するための形態】
【００６７】
様々な図面における同様の参照番号および表示は、同様の要素を示す。
【００６８】
図1を参照すると、リモートコンピューティングシステム200は、ユーザ100がオーディオメディアデバイス400に向けるボイスコマンドに従って移動ロボット300を制御することができる。同様に、リモートコンピューティングシステム200は、オーディオメディアデバイス400に、移動ロボット300の動作を示す可聴信号を発出させることができる。例示的通信ネットワーク201の図を示す図2を参照すると、移動ロボット300およびオーディオメディアデバイス400は両方とも、リモートコンピューティングシステム200と移動ロボット300との間の通信およびリモートコンピューティングシステム200とオーディオメディアデバイス400との間の通信を可能にするように、リモートコンピューティングシステム200(コンピューティングシステムに含まれるサーバとしてグラフィカルに表される)にワイヤレスにリンクされる。
【００６９】
通信ネットワーク201は、オーディオメディアデバイス400に向けられたユーザのボイスコマンドが、コマンド信号が移動ロボット300の動作を制御するための基礎として使われることを可能にする。ユーザ100は、オーディオメディアデバイス400が受け取る可聴コマンドを発語することによって移動ロボット300に命じるように、オーディオメディアデバイス400を操作する。リモートコンピューティングシステム200は、オーディオメディアデバイス400に通信可能にリンクされ、可聴コマンドに対応する信号をオーディオメディアデバイス400から受信し、次いで、移動ロボット300に、ユーザの可聴コマンドに従って動作を実施させるための別の信号(または複数の信号)を移動ロボット300へ送信することができる。
【００７０】
いくつかの例において、オーディオメディアデバイス400は、移動ロボット300の動作のステータスをユーザ100に知らせる可聴通知を含む可聴信号を発出する。リモートコンピューティングシステム200は、移動ロボット300の動作のステータスに関する情報を与え得る、移動ロボット300、モバイルコンピューティングデバイス202(たとえば、図2に示すスマートフォン)または他の適切なソースからの1つまたは複数からの入力信号を分析することによって、オーディオメディアデバイス400へ送信されるべきコマンド信号を生成する。リモートコンピューティングシステム200は次いで、オーディオメディアデバイス400に可聴信号を発出させるためのコマンド信号を、オーディオメディアデバイス400へ送信し、そうすることによって、移動ロボットの動作に関する情報をユーザ100に与える。
【００７１】
いくつかのケースでは、可聴信号によってユーザ100に与えられる情報は、移動ロボット300にとっての現時点での必要性または予測される必要性に対処する推奨アクションを実施するための要求を含む。リモートコンピューティングシステム200は、推奨アクションが、移動ロボット300の動作の効率または効力を向上し得ると予測し得る。オーディオメディアデバイス400は、たとえば、移動ロボット300の動作を調節するため、または移動ロボット300の動作をサポートするアクションを実施するための可聴要求を発出する。ユーザ100が、可聴要求に同意するオーディオメディアデバイス400に言葉で応答した場合、リモートコンピューティングシステム200は、移動ロボット300にとっての必要性に対処するためのアクションを実施させる。たとえば、一例では、推奨アクションが、移動ロボット300向けのユーザ定義スケジュールの調節である場合、リモートコンピューティングシステム200は、調節されたスケジュールを移動ロボット300へ送信し、移動ロボット300に、調節されたスケジュールを、たとえば、移動ロボット300に、またはリモートコンピューティングシステム200に関連付けられたメモリに記憶させる。推奨アクションが、移動ロボット300用の交換部品を購入することである場合、リモートコンピューティングシステム200は、交換部品がユーザ100へ配送されるように注文するための信号をオンラインマーケットプレイスへ送信する。
【００７２】
いくつかの実装形態では、移動ロボット300とオーディオメディアデバイス400は、音響信号を互いに直接通信する。たとえば、オーディオメディアデバイス400は、移動ロボット300に音響信号を直接通信し、移動ロボット300は、オーディオメディアデバイス400に音響信号を直接通信する。音響信号は、たとえば、移動ロボット300のステータスを識別する音響信号を移動ロボット300が発出し、オーディオメディアデバイス400が音響信号を直接受け取る直接コマンドおよび応答を含む。オーディオメディアデバイスは、代替または追加として、移動ロボット300が直接受け取る音響コマンドを発出し、音響コマンドは、移動ロボット300に動作を実施させる。
【００７３】
移動ロボット300とオーディオメディアデバイス400が音響信号を互いに直接通信するいくつかのケースでは、移動ロボット300およびオーディオメディアデバイス400のうちの1つは、デバイスをワイヤレス通信ネットワーク201に接続するワイヤレス通信システムを含まないが、移動ロボット300およびオーディオメディアデバイス400のうちの他方は、デバイスをワイヤレス通信ネットワーク201に接続するためのワイヤレス通信システムを含む。たとえば、オーディオメディアデバイス400がワイヤレス通信システムを含む場合、ユーザ100は、オーディオメディアデバイス400に可聴コマンドを与えるか、またはコマンドを与えるためにオーディオメディアデバイス400にリモートアクセスする。オーディオメディアデバイス400は次いで、動作を開始するための可聴ユーザコマンドを受け取ると、動作、たとえば、掃除動作または観察動作を開始するために、音響コマンドを移動ロボット300に発出する。同様に、移動ロボット300がワイヤレス通信システムを含む場合、移動ロボット300は、たとえば、ユーザ100がそのような可聴ユーザコマンドを与えるのと同様にして、より再使用可能なパッドをオーディオメディアデバイス400に注文させる音響コマンドを、オーディオメディアデバイス400に通信する。音響コマンドは、たとえば、ボイスコマンドまたは単純な可聴信号、たとえば特定のコマンドに関連付けられたトーンを含む。
【００７４】
いくつかの例では、オーディオメディアデバイス400のオーディオ検知能力により、移動ロボット300の位置推定が向上する。たとえば、オーディオメディアデバイス400は、移動ロボット300からの音響出力のラウドネスおよび/または方向を測定する能力があり、その情報は、移動ロボット300の位置を判断するのに使うことができる。いくつかの例では、移動ロボット300は、環境内のオーディオメディアデバイス400に対して位置推定し(localize)、かつ/または音響信号を発出する他のデバイスのロケーションに対して位置推定する。いくつかの実装形態では、移動ロボット300は、音響信号のラウドネスおよび方向を測定し、オーディオメディアデバイス400および/または他のデバイスから来るその信号を位置推定する。
【００７５】
いくつかの例では、このタイプのオーディオ検知は、ホーム環境用のオーディオメディアデバイス400の、オーディオ入力デバイス、たとえば、マイクロフォン、およびオーディオ出力デバイス、たとえば、スピーカーの動作を調節するのに使用可能である。部屋20の中および/または部屋20の外の様々なロケーションでのオーディオメディアデバイス400と音響信号を通信することによって、移動ロボット300は、オーディオメディアデバイス400が、そのオーディオ入力デバイスの検知レベルを調節し、またはそのオーディオ出力デバイスの出力レベル、たとえば、ラウドネスを調節することを可能にする。
【００７６】
移動ロボットのための例示的な環境
移動ロボット300およびオーディオメディアデバイス400は、1つもしくは複数の囲み空間内または1つもしくは複数の囲み空間を含む環境内で動作し得る。環境は、たとえば、ホーム環境、生活空間、仕事環境、または他の環境を含む。囲み空間は、たとえば、環境内の部屋に対応する。図1に示す例示的な環境では、環境は、ユーザ100、移動ロボット300、およびオーディオメディアデバイス400が置かれた家10を含む。移動ロボット300は、部屋20A内に位置する。オーディオメディアデバイス400は、ユーザ100もいる部屋20B内に配備される。部屋20Aは、部屋20Bに隣接し、入口22Aによってつながっている。部屋20Aは、ベッド22およびエンドテーブル24、26を含む寝室である。
【００７７】
図1に示す例では、移動ロボット300は、ミッションを完了するために、部屋20Aの中を自律的にナビゲートする。移動ロボット300が掃除ロボットである場合、ミッションは、部屋20Aの床面を掃除するための掃除ミッションに対応し得る。いくつかの例では、ミッションは、家10内の所定の位置へ移動ロボット300が自律的にナビゲートする巡回に対応し得る。移動ロボット300は、そのミッションを完了する間に、部屋20Aの中に位置する障害物(たとえば、ベッド22およびエンドテーブル24、26)の周りをナビゲートする。移動ロボット300がミッション中に家10を動くとき、移動ロボット300は、そのセンサを使って、家10の地図を生成し、地図内で移動ロボット300を位置推定する。移動ロボット300は、移動ロボット300の部品のステータスまたは移動ロボット300によって実施されているミッションもしくは動作のステータスなど、移動ロボットのステータスを示す信号を生成する他のセンサを含む。
【００７８】
いくつかの実装形態では、移動ロボット300およびオーディオメディアデバイス400に加え、家10は、リモートコンピューティングシステム200と通信する他のデバイスを含む。いくつかの実装形態では、図2に示すモバイルコンピューティングデバイス202は、リモートコンピューティングシステム200にリンクされ、ユーザ100が、モバイルコンピューティングデバイス202上で入力を与えることを可能にする。モバイルコンピューティングデバイス202は、たとえば、タッチスクリーンディスプレイ、ボタン、マイクロフォン、マウス、キーボード、またはユーザ100によって与えられた入力に応答する他のデバイスのうちの1つまたは複数などのユーザ入力要素を含み得る。モバイルコンピューティングデバイス202は、代替または追加として、ユーザ100がユーザ入力を与えるために対話するための没入型メディア(たとえば、仮想現実)を含む。モバイルコンピューティングデバイス202は、これらのケースでは、たとえば、仮想現実ヘッドセットまたはヘッドマウントディスプレイである。ユーザは、移動ロボット300向けのコマンドに対応する入力を与えることができる。そのようなケースでは、モバイルコンピューティングデバイス202は、リモートコンピューティングシステム200に、移動ロボット300へコマンド信号を送信させるために、リモートコンピューティングシステム200へ信号を送信する。
【００７９】
図2の通信ネットワーク201は、モバイルコンピューティングデバイス202を、リモートコンピューティングシステム200にワイヤレスにリンクされるものとして示すが、いくつかの実装形態では、図2の通信ネットワーク201は、モバイルコンピューティングデバイス202が移動ロボット300へワイヤレスコマンド信号を直接送信することを可能にするための、モバイルコンピューティングデバイス202と移動ロボット300との間のワイヤレスリンクを含む。ユーザ100は、コマンド信号を示すユーザ入力をモバイルコンピューティングデバイス202へ与え、次いで、モバイルコンピューティングデバイス202は、ユーザ入力に対応するコマンド信号を送信する。様々なタイプのワイヤレスネットワーク(たとえば、Bluetooth、無線周波数、光学ベースなど)およびネットワークアーキテクチャ(たとえば、メッシュネットワーク)が、通信ネットワーク201によって利用され得る。
【００８０】
他のデバイスも、リモートコンピューティングシステム200にワイヤレスにリンクされ得る。図1の例では、家10は、リンクされたデバイス102A、102Bを含む。いくつかの実装形態では、リンクされたデバイス102A、102Bの各々は、家10を監視すること、家10の居住者を監視すること、移動ロボット300の動作を監視すること、オーディオメディアデバイス400の動作を監視することなどに適したセンサを含む。これらのセンサは、たとえば、撮像センサ、人感センサ、環境センサなどを含み得る。
【００８１】
リンクされたデバイス102A、102B用の撮像センサは、可視光、赤外線カメラ、電磁スペクトルの他の部分を利用するセンサなどを含み得る。リンクされたデバイス102A、102Bは、これらの撮像センサによって生成された画像を、リモートコンピューティングシステム200へ送信する。リンクされたデバイス102A、102B用の人感センサは、たとえば、受動もしくは能動透過型もしくは反射赤外線センサ、光、ソナー、もしくは無線周波数を使う飛行時間もしくは三角測距センサ、占有の音もしくは音圧力特性を認識するためのマイクロフォン、気流センサ、カメラ、十分に強い受信信号強度向けの周波数および/もしくはWiFi周波数を監視するための無線受信機もしくはトランシーバ、自然採光、人工照明、およびモバイルコンピューティングデバイス(たとえば、モバイルコンピューティングデバイス202)から発出された光を含む周辺光を検出することが可能な光センサ、ならびに/またはユーザ100もしくは家10内の他の居住者の存在を検出するための他の適切なセンサのうちの1つまたは複数を含む。人感センサは、代替または追加として、ユーザ100の動きまたは自律移動ロボット300の動きを検出する。人感センサが、自律移動ロボット300の動きに対して十分に敏感な場合、リンクされたデバイス102A、102Bの人感センサは、移動ロボット300の動きを示す信号を生成する。リンクされたデバイス102A、102B用の環境センサは、電子温度計、気圧計、湿度または湿気センサ、ガス検出器、空中微粒子カウンタなどを含み得る。リンクされたデバイス102A、102Bは、撮像センサ、人感センサ、環境センサ、およびリンクされたデバイス102A、102Bに存在する他のセンサの組合せからのセンサ信号を、リモートコンピューティングシステム200へ送信する。これらの信号は、移動ロボット300およびオーディオメディアデバイス400の動作を制御または監視するための、本明細書に記載するプロセスを実施するための、リモートコンピューティングシステム200向けの入力データとして働く。
【００８２】
いくつかの例では、リモートコンピューティングシステム200は、移動ロボット300および第2の移動ロボット301を含む複数のロボットデバイスに接続され、したがって、ユーザ100が、複数のロボットデバイス300、301を制御し、監視するためにオーディオメディアデバイス400と対話することを可能にする。図1に示すように、第2の移動ロボット301は、入口22Bで部屋20Bにつながった部屋20C内に位置する。第2の移動ロボット301は、移動ロボット300と同様、ミッション、たとえば、掃除ミッションを、部屋20C内で実施する。
【００８３】
オーディオメディアデバイス400、移動ロボット300、リンクされたデバイス102A、102B、第2の移動ロボット301、および他のデバイスの各々のためのコントローラは、リモートコンピューティングシステム200との通信用のワイヤレスリンクを創設し、維持し得る。コントローラはまた、たとえば、移動ロボット300とオーディオメディアデバイス400との間、オーディオメディアデバイス400と、リンクされたデバイス102A、102Bのうちの1つとの間のワイヤレスリンクを創設し、維持するために、互いとのワイヤレスリンクを直接創設し、維持することができる。ワイヤレスリンクは、モバイルフォン、タブレット、ラップトップ、別のモバイルコンピューティングデバイス、1つまたは複数の環境制御デバイス、他のタイプの電子デバイスなどのような、他のリモート電子デバイスとも形成され得る。いくつかの実装形態では、ワイヤレスリンクは、スマート電球、サーモスタット、ガレージドアオープナー、ドアロック、リモートコントロール、テレビジョン、セキュリティシステム、セキュリティカメラ、煙検出器、ビデオゲームコンソール、他のロボットシステム、または他の通信対応検知および/もしくは作動デバイスもしくは器具を含むが、それらに限定されない1つまたは複数のデバイスとの通信を許可する。
【００８４】
図2に示す通信ネットワーク201では、および通信ネットワーク201の他の実装形態では、ワイヤレスリンクは、たとえば、Bluetoothクラス、Wi-Fi、BLEとしても知られるBluetooth-low-energy(BLEおよびBT classicは、ブランディングを単に共有する、完全に異なるプロトコルである)、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を使うことができる。
【００８５】
通信ネットワーク201は、ユーザ100が、移動ロボット300を制御または監視するために、自然な話し言葉を使って、オーディオメディアデバイス400と対話することを可能にする。図1に示す一例では、リモートコンピューティングシステム200は、充電容量が、移動ロボット300が動作を実施するのに不十分になる前に、移動ロボット300(「ロボット#1」)用のバッテリーが、交換バッテリーを注文することが有益であるのに十分に低い充電容量を有すると判断する。リモートコンピューティングシステム200は、オーディオメディアデバイス400に、「ロボット#1が間もなくバッテリーを必要とします。新しいバッテリーを注文しましょうか?」という可聴要求を発出させる。ユーザ100は、この可聴要求を聞くと、「はい、新しい掃除パッドを注文してください」と応答する。オーディオメディアデバイス400は、可聴要求に対するユーザの同意を示す信号をリモートコンピューティングシステム200へ送信する。リモートコンピューティングシステム200は次いで、交換バッテリーがユーザ100の家10へ配送されるように注文するための信号をオンラインマーケットプレイスへ送信する。
【００８６】
いくつかの実装形態では、移動ロボット300および第2の移動ロボット301は両方とも、リモートコンピューティングシステム200にリンクされる。移動ロボット300、301の両方の動作に関する情報が、それらの動作をユーザ100に通知する際に使用するために、リモートコンピューティングシステム200へ送信され得る。いくつかのケースでは、オーディオメディアデバイス400に可聴要求を発出させることに加え、リモートコンピューティングシステム200は、オーディオメディアデバイスに、移動ロボット300、301の動作を示す可聴通知を発出させるためのコマンド信号を生成する。図1に示す別の例では、ユーザ100は、オーディオメディアデバイス400(「AMD」)によって発出されるべき、第2の移動ロボット301(「ロボット#2」)に関する情報についての可聴要求、すなわち、「AMD。ロボット#2はどこ?」を発語する。オーディオメディアデバイス400は、可聴要求を受け取り、可聴要求を示すワイヤレス信号をリモートコンピューティングシステム200へ送信する。リモートコンピューティングシステム200は、第2の移動ロボット301のロケーションに基づいてコマンド信号を生成する。リモートコンピューティングシステム200は、コマンド信号をオーディオメディアデバイス400へ送信し、オーディオメディアデバイス400は、第2の移動ロボット301のロケーションを示す可聴通知、すなわち「ロボット#2はバスルームにいます」を発出する。
【００８７】
オーディオメディアデバイス400を使って、ユーザ100は、移動ロボット300の動作と、移動ロボット300へ送信されるべき要求コマンドとを追跡することができる。第2の移動ロボット301もリモートコンピューティングシステム200に接続されている場合、オーディオメディアデバイス400は、ユーザ100が、移動ロボット300、301の各々を選択的に制御し、または移動ロボット300、301の各々の動作に関する情報を選択的に要求することを可能にするフリート管理ツールとして働く。上で、および本明細書の他の箇所で記載する例示的プロセスは有益には、ユーザ100が、移動ロボット300を好都合であり効率的なやり方で管理することを可能にする。例示的プロセスはまた、移動ロボット300に命じるための入力をユーザ100が手動で与える必要がないように、ユーザ100が移動ロボット300を管理するためのハンズフリー方式を提供する。ユーザ100は、入力デバイスを手動で操作する必要なく、移動ロボット300の動作を知らされたままである。移動ロボット300が家10を動き回ると、ユーザ100は、移動ロボット300のロケーションを知る必要なく、または移動ロボット300のロケーションに近接して動く必要なく、移動ロボット300を容易に追跡する。
【００８８】
さらに、ユーザ100が移動ロボット300向けの通知に視覚的注意を集中することができないケースでは、ユーザ100は、オーディオメディアデバイス400によって発出された可聴信号を聴くことによって、移動ロボット300の動作を監視し続ける。たとえば、ユーザ100が、ユーザの視覚的注意を必要とするタスクを実施しているとき、ユーザ100は、移動ロボット300に対して命じるのに、口頭通信を使うことが可能である。オーディオメディアデバイス400はまた、ユーザ100が、視覚インジケータまたはアイコンを翻訳する必要なく移動ロボット300を制御するために、自然な口頭通信を使うことができるようにし、こうすることによって、たとえば、年配者、子供、視覚障害者、およびその他の人達が、移動ロボット300の動作を制御できるための容易性を向上する。
【００８９】
移動ロボットの例
移動ロボット300、301は、駆動システムおよび一連のセンサを使って、環境、たとえば、家10の中を自律的にナビゲートする。図3Aは、図1の移動ロボット300の例の概略底面図を示す。図3Aは、移動ロボット300に関して記載され、図3Aの移動ロボットは、追加または代替として、第2の移動ロボット301に対応する。移動ロボット300は、駆動ホイール302を含む駆動システムを含む。いくつかのケースでは、キャスターホイール304が、床面の上の移動ロボット300を支える。移動ロボット300は、駆動ホイール302に接続された1つまたは複数のモーターで動作可能なコントローラ306をさらに含む。移動ロボット300のコントローラ306は、駆動ホイール302を駆動するとともに移動ロボット300を床面においてナビゲートするように、モーターを選択的に活動化する。
【００９０】
コントローラ306は、検知システム308とも動作可能である。検知システム308は、家10の中をナビゲートするようにコントローラ306によって使用可能なセンサを含む。検知システム308は、たとえば、家10内の障害物を検出するため、および家10の地図を生成するための信号を生成するためのセンサを有する。検知システム308は、障害物までの距離を検出するための飛行時間センサ、段差(たとえば、階段)を検出するためのクリフ検出センサ、移動ロボット300に搭載された緩衝器に関連付けられた衝撃センサ、および接触センサなどの障害物検出センサを含み得る。コントローラ306は、障害物検出センサが障害物を検出したとき、移動ロボット300用の駆動システムを、障害物の周りを動くように操作する。
【００９１】
コントローラ306は、そのセンサシステムからの信号を使って、時間をかけて移動ロボット300の位置および配向を追跡し、更新することによって家10の地図を生成する。これらの地図作成センサは、たとえば、自己位置推定および地図作成の同時実行(simultaneous localization and mapping:SLAM) センサ、デッドレコニングセンサ、ならびに障害物検出および回避(ODOA) センサを含む。コントローラ306は、家10の床面の2次元地図を構築し、地図上でのロボットの姿勢を判断し、移動ロボット300が通行することができる家10のいくつかの部分(たとえば、人がいない、通行可能な床)の位置を判断する。デッドレコニングセンサならびに接触および非接触障害物検出センサからの信号を使って、コントローラ306は、床面の上または床面上方にある障害物のせいで移動ロボット300が通行することができない床を示す。一例では、コントローラ306は、壁および障害物を通過するときにそれらの地図を構築し、通行可能な、人がいる空間の占有グリッドを作成する。いくつかの実装形態では、地図は、デカルト座標系または極座標系を使う。いくつかのケースでは、地図は、トポロジカルマップ、表象地図、または確率的地図である。
【００９２】
いくつかの例では、自己位置推定および地図作成の同時実行(SLAM)技法を使って、コントローラ306は、家10の2次元地図内での移動ロボット300の姿勢を判断する。SLAMセンサは、たとえば、地図上でのロボットの姿勢を算出する際に使われる特徴および目印の視覚的識別のための1つまたは複数のカメラを含む。移動ロボット300は、移動ロボット300が家10を動き回るときにコントローラ306が移動ロボット300の位置および/または配向を推定することを可能にするための信号を生成する追加センサを含む。これらのセンサは、単独で、またはSLAMセンサとの組合せで、通過中の移動ロボット300によって構築されたロボット地図上での移動ロボット300の姿勢を判断する。いくつかの実装形態では、コントローラ306は、SLAMセンサによって判断された姿勢を検証または調節するのに、追加センサからの信号を使う。いくつかの実装形態では、追加センサは、オドメーター、加速度計、ジャイロスコープ、慣性測定ユニット、および/または移動ロボット300の移動した距離、回転の量、速さ、もしくは加速度を示す信号を生成する他のセンサを含む。たとえば、移動ロボット300は、移動ロボット300が機首から回転した量を示す信号を生成する、ジャイロスコープなどの方向センサを含む。いくつかの実装形態では、検知システム308は、駆動ホイール302の回転を示す信号を生成するための、IRホイールエンコーダなどのデッドレコニングセンサを含み、コントローラ306は、検出された回転を、移動ロボット300が移動した距離を推定するのに使う。いくつかの実装形態では、検知システム308は、たとえば、環境内の観察された障害物および対象までの距離を判断するためのセンサ示度を生成するレーザースキャナまたは飛行時間センサを含む。代替または追加として、検知システム308は、距離移動ロボット300が、機首に対して床面で横方向にドリフトしたことを判断するための、床面に面する光学マウスセンサを含む。
【００９３】
いくつかの実装形態では、移動ロボット300は、その地図を構築し、地図上での現在の姿勢を判断するのに、視覚的自己位置推定および地図作成の同時実行(visual simultaneous localization and mapping:VSLAM)を利用する。検知システム308は、コントローラ306が、環境内で検出された特徴に対して、移動ロボットのロケーションおよび配向を判断するための信号を生成する、1つまたは複数の位置推定センサ、たとえば、カメラ310を含む。いくつかの実装形態では、移動ロボット300は、ロボット本体の上面の下に、上方向の角度で、たとえば、移動ロボット300がナビゲートする床面から30度と80度との間の角度で、可視光カメラ310を含む。カメラ310は、直線、隅および端のような可視的な検出可能特徴をもつ窓枠、ピクチャフレーム、戸口フレームおよび他の対象などの静的要素が高度に集中した壁および天井の上のロケーションを目指す。たとえば、カメラ310が上向きの角度のとき、カメラ310の視円錐の中心は、視円錐の中心が、壁および天井にあるロケーションを目指すように、上向きの角度である。カメラ310によってキャプチャされた画像を使って、コントローラ306は、移動ロボット300が部屋または囲み空間、たとえば、一連の続き部屋20A、20B、20C、20D(まとめて、囲み空間または部屋20と呼ばれる)の中をナビゲートするときに構築する地図上でのロボットの姿勢を判断する。
【００９４】
位置推定センサは、いくつかのケースでは、通行不可能な床空間を塞ぐ、環境内の壁および対象の検出に応答して信号を生成することが可能な、移動ロボット300上のセンサを含む。VSLAMカメラに加え、これらの位置推定センサは、たとえば、衝撃センサなどの接触センサ、ならびにレーザー、容積点クラウドセンサ、ポイントラインセンサ(たとえば、PIXART製のような、飛行時間ラインセンサ)、IR近接センサ、LIDAR、および音響センサなどの非接触飛行時間センサを含む。位置推定センサは、一意の署名、パターン、または特徴が抽出される、特に、通行不可能な床と、通行可能な床、または移動ロボット300が通行するときに拡大ロボット地図に追加された通行可能な床空間を区別する信号を生成する。コントローラ306が、これらの特徴が検出されたと判断すると、コントローラ306は、これらの検出された特徴に対する移動ロボット300のロケーションおよび配向を使って、家10の地図上での移動ロボット300の姿勢を判断する。コントローラ306は、特に、家10内の対象に対応する特徴に対する移動ロボット300の現在の姿勢を判断することによって、家10内で移動ロボット300を位置推定する。抽出された特徴は、移動ロボット300が位置する部屋を示す。図1を再び参照すると、抽出された特徴は、部屋20A、20B、20Cの各々についての一意の識別子を形成する。いくつかの実装形態では、移動ロボット300は、部屋識別子に関連付けられた特定の1つの特徴または複数の特徴を検出したことに応答して、部屋20A、20B、20Cのうちのどれに現在位置しているかを判断するのに、抽出された特徴を使う。いくつかの実装形態では、移動ロボット300は、対象認識を通して、あらかじめ識別された部屋を認識する。移動ロボット300は、たとえば、そのカメラ310を使って、各部屋20に関連付けられた、対象(たとえば、コンロ、食洗機および冷蔵庫)の画像をキャプチャする。ユーザ100は、それらの認識可能対象に関連付けられた特定の部屋識別子(たとえば、台所)を、移動ロボット300に通信する。ミッション中、移動ロボット300は、これらの対象を認識すると、そのロケーションを、可聴アラートの発出を引き起こすことによって、たとえば、AMD400もしくはモバイルコンピューティングデバイス
202が可聴アラートを生じることを要求することによって、または視覚アラートを発行させることによって、たとえば、関連付けられた記憶された部屋識別子を示すテキスト通知をモバイルコンピューティングデバイス202上に表示することによって、ユーザに通信する。
【００９５】
いくつかの実装形態では、地図は永続的であり、1つもしくは複数の移動ロボット300、301および/またはAMD400によるアクセスのために、リモートコンピューティングシステム200中に記憶される。各後続稼働において、移動ロボット300は、移動された家具またはAMD400の新しいロケーションなど、家10内の変化する状態に従って、永続的地図を更新する。いくつかの例では、移動ロボット300は、標準プロトコルを通して、家10の中の被接続デバイスを発見し、それらを地図上で位置推定する。これは、被接続電灯およびスピーカー、通気口、ドアおよび窓センサ、ならびに家10の中の他の被接続デバイスの位置を含む。移動ロボット300は、家10をローミングし、RF署名、視覚認識、受信信号強度および他の方法を使って、家10の中の被接続デバイスを認識し、それらを、家10のロボット地図上に自動的に置く。たとえば、移動ロボット300は、家10を探検し、リビングルームの壁にあるNESTサーモスタット、台所にある被接続SAMSUNG冷蔵庫、およびファミリールームと寝室の両方にあるHUE BLOOMライトを認識する。移動ロボット300は、認識された被接続デバイスを地図に載せ、ユーザ100およびAMD400が、被接続デバイスのこの空間知識を利用することを可能にする。たとえば、ユーザ100は、「寝室の電灯をつけて」という言葉を話すことによって、寝室の電灯をつけることができる。本明細書に記載する、AMD400と移動ロボット300の対話は、この単純な発話制御を、移動ロボット300が家10の中をナビゲートするとき、移動ロボット300によって検出されたデバイスを介して可能にする。
【００９６】
検知システム308はまた、移動ロボット300の動作を示す信号を生成する。いくつかの例では、検知システム308は、移動ロボット300が家10内の床面に沿って動くことができない移動ロボット300のストール状態を示す信号を生成する、駆動システムと統合されたストールセンサユニットを含む。ストールセンサユニットは、駆動システムのモーターに供給される電流の変化を示すための信号を生成する。電流の変化は、移動ロボット300についての静止状態を示す場合があり、その状態では、移動ロボット300は、その現在の姿勢から実質的に動くことができない。ストールセンサユニットは、代替または追加として、ホイール、たとえば、キャスターホイール304または駆動ホイール302のうちの1つが、駆動ホイール302のモーターに電力が供給されているとき、動いているかどうかを示す信号を生成する光学センサを含む。ストールセンサユニットは、いくつかのケースでは、変化を求めて連続画像を比較することによって、動き、または動きがないことを追跡および検出するためのマウスセンサであり、他の実装形態では、移動ロボット300は、移動ロボット300の加速度を示す信号を生成するために、加速度計に依拠する。コントローラ306は、ホイールの動きがないことを検出すると、移動ロボット300がストール状態にあると判断する。
【００９７】
いくつかの実装形態では、移動ロボット300は、図3Bの概略図に示すように、他のセンサを含む。検知システム308は、いくつかの例では、移動ロボット300の環境から可聴信号を受け取るマイクロフォン314を含む。いくつかのケースでは、検知システム308は、環境センサ、たとえば、温度センサ2070C、周辺光センサ2070D、空気水分含有量センサ2070J、ガス組成、空気質センサ2070I、または環境の他の特性を含む。検知システム308は、移動ロボット300の、または移動ロボット300の部品の状態を示す状態センサも含む。これらのセンサは、たとえば、移動ロボット300の電力源での充電の量または充電のための容量を検出するためのバッテリー充電状況センサ、部品の運用性または部品の残存寿命の量などを検出するための輪距センサなどの部品寿命センサを含む。
【００９８】
移動ロボット300は、移動ロボット300が可聴信号を発出することができるようにするオーディオ発出システム312をさらに含む。コントローラ306は、たとえば、移動ロボット300のステータス、たとえば、移動ロボット300の部品のステータス、移動ロボット300の動作のステータス、または移動ロボット300によって実施されるミッションのステータスをユーザ100に通知するために、可聴信号の発出を引き起こす。本明細書においてより詳細に記載するように、コントローラ306は、オーディオメディアデバイス400のマイクロフォンユニット402によって受け取られるべき可聴信号を通信するように、オーディオ発出システム312を操作することができる。いくつかのケースでは、オーディオメディアデバイス400は、移動ロボット300のマイクロフォン314によって受け取られるべき可聴信号を通信するのに、スピーカーユニットを使う。
【００９９】
移動ロボット300は、図2の通信ネットワーク201に示すように、移動ロボット300がリモートコンピューティングシステム200と通信することができるようにするワイヤレス通信システム316をさらに含む。ワイヤレス通信システム316を使って、コントローラ306は、リモートコンピューティングシステム200へデータを送信する。いくつかの例では、データは、検知システム308のセンサによって生成された信号を含む。画像キャプチャシステム310を含む移動ロボット300のいくつかの実装形態では、キャプチャされた画像は、リモートコンピューティングシステム200へ直接送信され得る。いくつかの例では、移動ロボット300は、情報を収集し、家10の地図を構築し、コントローラ306は、地図をリモートコンピューティングシステム200へ送信する。コントローラ306がいずれかの状態センサを含む場合、コントローラ306は、移動ロボット300の状態を示す情報もリモートコンピューティングシステム200へ送信する。
【０１００】
図1に関して記載したように、家10のそのナビゲーション中、移動ロボット300は、動作を実施し、家10内でのミッションを完了する。実施される動作は、移動ロボット300のタイプに依存する。いくつかのケースでは、ユーザ100が、移動ロボット300に動作を実施するよう命じるためのボイスコマンドをオーディオメディアデバイス400に向けたとき、移動ロボット300によって実施されるために利用可能な動作は、移動ロボット300のタイプに依存する。本明細書に記載する実装形態のための多くのタイプの移動ロボットに存在し得る基本構成要素を示すのに加え、図3Aは、本明細書に記載するプロセスから利益を受け得る多くのタイプの移動ロボットのうちの1つに対応する真空掃除ロボットに特有の構成要素を示す。他の移動ロボット300は、床洗浄ロボット、家監視ロボット、ロボット芝刈り機、モップがけロボット、コンパニオンロボット、掃き掃除ロボット、それらの組合せ、および他の適切なロボットを含み得る。本明細書においてより詳細に記載するように、これらのロボットは各々、本明細書に記載するプロセスおよびシステムから利益を受け得る。
【０１０１】
いくつかの例では、移動ロボット300は、床面のごみを吸引するための掃除システムを含む真空掃除ロボットである。掃除システムは、たとえば、床面からごみを、移動ロボット300に搭載されたごみ容器(図示せず)中へ撹拌する回転可能ローラーまたはブラシ317を含む。掃除システムは、活動化すると、空気を動かし、そうすることによって床面のごみをごみ容器の方へ動かすエアムーバを含む。移動ロボット300が、掃除ミッション中にその環境においてナビゲートするとき、移動ロボット300は、その掃除システムを活動化してごみを吸引し、そうすることによって床面を掃除する。
【０１０２】
いくつかのケースでは、移動ロボット300が真空掃除ロボットである場合、検知システム308は、真空掃除ロボット用の取外し可能ごみ容器中に吸引されたごみの量を検出するごみ容器レベルセンサを含む。検知システム308は、真空掃除ロボットがごみを吸引したときを検出し、またはごみ吸引率を検出する1つまたは複数のごみセンサを含む。いくつかの例において、移動ロボット300はごみ用フィルタを含み、検知システム308は、フィルタが掃除を必要とするかどうかを検出するためのフィルタセンサも含む。
【０１０３】
コントローラ306は、センサによって収集された情報と、コントローラ306によって、移動ロボット300に家10内で動作を実施させるように実行可能なルーチンとを記憶するメモリにアクセスする。図3Aに示すように、いくつかの例では、移動ロボット300はメモリ318を含む。ルーチンは、たとえば、家10で移動ロボット300をナビゲートするためのナビゲーションルーチンを含む。コントローラ306は、たとえば、検知システム308からの信号またはワイヤレス通信システム316を通してコントローラ306へ送信されたワイヤレスコマンド信号に応答して、移動ロボット300の動作を開始する。移動ロボット300が、手動で動作可能なボタンなどのユーザ入力デバイスを含む場合、入力デバイスは、コントローラ306に、移動ロボット300の1つまたは複数の動作を開始させるように、ユーザ100によって操作され得る。手動で動作可能なボタンは、たとえば、タッチスクリーンディスプレイ上の押ボタンまたはボタンアイコンに対応する。いくつかのケースでは、メモリ318は、コントローラ306が移動ロボット300を家10中でナビゲートするために実装する動きの決定性パターンも記憶する。パターンは、たとえば、直線運動パターン、つる状パターン、コーンローパターン、らせんパターン、ジグザグパターン、またはパターンの組合せを含む他のパターンを含む。メモリ318は、デッドレコニングセンサ、位置推定センサ、状態センサ、または検知システム308の他のセンサのいずれかを含む、検知システム308のセンサによって収集されたデータも記憶する。コントローラ306が家10の地図を構築した場合、コントローラ306は任意選択で、地図を、後続掃除ミッションにおいて再利用するためにメモリ318に記憶する。
【０１０４】
移動ロボット300にとって利用可能な動作は、移動ロボット300のタイプに依存する。たとえば、移動ロボット300が、本明細書に記載するように真空掃除ロボットである場合、メモリ318は、床掃除動作を実施するためのルーチンを含む。真空掃除ロボットが、掃除ミッションを始めるためのコマンドを受信すると、真空掃除ロボットは、その環境を自律的にナビゲートすること、および床面からごみを吸引することによって、床掃除動作を実施する。床掃除動作は、コントローラ306が、ある部屋または複数の部屋の床面をカバーするためのパターン、たとえば、コーンローパターン、らせんパターン、または他の適切な動きパターンで真空掃除ロボットをナビゲートする部屋掃除動作を含む。
【０１０５】
いくつかのケースでは、床掃除動作は、真空掃除ロボットが、スポット掃除動作を実施するためのコマンドを受信すると、その掃除動作を、局所化された(localized)エリアに制限するスポット掃除動作を含む。局所化されたエリアは、ごみセンサによって検出された、比較的大量の検出されたごみを含み得る。スポット掃除動作の一部として、コントローラ306は追加または代替として、真空掃除ロボットによってごみをより簡単に吸引させるように、真空掃除ロボットのエアムーバに供給される電力を増大する。スポット掃除動作を実施するために、コントローラ306は、真空掃除ロボットが、所定のパターン、たとえば、らせんパターンで、局所化されたエリア内を動くように、駆動システムを制御する。床掃除動作のうちのいずれかの開始も、センサ信号に応答して起こり得る。真空掃除ロボットがごみセンサを含む場合、コントローラ306は、ごみセンサによるごみの検出に応答してスポット掃除動作を実施するように、真空掃除ロボットを制御することができる。リモートコンピューティングシステム200からのワイヤレスコマンド信号も、スポット掃除動作、部屋掃除動作、または真空掃除ロボットの他の動作を開始することができる。
【０１０６】
いくつかの実装形態では、移動ロボット300は、その環境において、他のデバイスと通信するか、またはさもなければ対話する。移動ロボット300は、たとえば、バッテリーと電気的に接続可能なステーションにおいて再充電することができる再充電可能バッテリーを含む。いくつかのケースでは、バッテリーは、ステーションに差し込まれる取外し可能バッテリーであり、他のケースでは、移動ロボット300は、ステーションにドッキングし、そうすることによって、ステーションがバッテリーを再充電することを可能にする。図1に示すように、ドッキングステーション104は部屋20Aの中に位置する。ドッキングステーション104は、移動ロボット300がドッキングステーション104にドッキングされた、たとえば、ドッキングステーション104に物理的および/または電気的に接続されたとき、移動ロボット300のバッテリーを充電するように動作可能な充電器を含む。移動ロボット300が真空掃除ロボットである場合、ドッキングステーション104は、追加または代替として、真空掃除ロボットのごみ容器からごみを移すためのモーター式入れ物を含む排出ステーションとして働く。
【０１０７】
図1に示す別の例では、入口22Bに近接して配置された送信ユニット106が、少なくとも入口22Bの長さにわたる軸方向抑制ビームを送信する。送信ユニット106は、発出された抑制ビームが部屋20Bから部屋20Cを隔てるように位置付けられる。いくつかのケースでは、検知システム308は、発出された抑制ビームを検出する全方向性検出器を含む。抑制ビームの検出に応答して、コントローラ306は、抑制ビームを超えるのを避けるように移動ロボット300をナビゲートし、そうすることによって、部屋20Cの中または部屋20Cの外での移動ロボット300の自律ナビゲーションを維持する。移動ロボット300は、たとえば、全方向性検出器が抑制ビームを検出すると、抑制ビームから離れる。図1を参照すると、第2の移動ロボット301は、そのような全方向性検出器を含む場合、送信ユニット106は、第2の移動ロボット301が、抑制ビームを、およびしたがって入口22Bを横切ることなく部屋20C内を自律的にナビゲートするように、第2の移動ロボット301を制限する。
【０１０８】
いくつかのケースでは、1つまたは複数の送信ユニットが、移動ロボット300上の位置推定センサによって検出可能な信号を、環境内へ発出する。信号は、たとえば、家10内で静止したままである光学または音響信号である。たとえば、移動ロボット300が家10の中をナビゲートする間に送信ユニットが、狭く方向付けられた音響信号を家10内へ送信した場合、移動ロボット300上の音響受信機が音響信号を受信すると、コントローラ306は、音響信号に集中する。音響信号は、音響受信機が反射音響信号を検出するように壁面へ向けられてよく、または音響信号は、音響受信機が音響信号の直接発出を受け取るように床面へ向けられてよい。送信ユニットは、これらの信号のうちの1つまたは複数を家10の中へ送信し、移動ロボット300は、これらの信号の各々を位置推定特徴として使う。いくつかのケースでは、送信ユニットは、検知システム308が検出し、コントローラ306が家10内で移動ロボット300を位置推定するのに使う狭焦点光ビームを、家10の中へ発出する。
【０１０９】
オーディオメディアデバイスの例
図4は、ユーザ100とのオーディオ対話を可能にするように、家10内の表面上、たとえば、部屋20B内のテーブル上に位置付け可能なオーディオメディアデバイス400の例を示す。これらのオーディオ対話は、ユーザ100が聞くためにオーディオメディアデバイス400によって発出された可聴信号の再生と、オーディオメディアデバイス400によって受け取られるようにユーザ100によって発語される発話とを含む。これらの対話をサポートするために、オーディオメディアデバイス400は、音響信号を電気信号に変換し、または電気信号を音響信号に変換するための、オーディオトランスデューサ、たとえば、1つまたは複数のマイクロフォンおよび1つまたは複数のスピーカーを含む。オーディオメディアデバイス400は、可聴信号を受け取るための少なくとも1つのマイクロフォンをもつマイクロフォンユニット402と、可聴信号を発出するための少なくとも1つのスピーカーをもつ少なくとも1つのスピーカーユニット404とを含む。
【０１１０】
オーディオメディアデバイス400は、いくつかのケースでは、ボリュームを増大/低下するため、またはオーディオメディアデバイス400をオンもしくはオフにするための1つまたは複数の入力ボタンなどの非オーディオ制御入力機構を含む。いくつかの例では、オーディオメディアデバイス400上の視覚インジケータ406は、オーディオメディアデバイス400用の電力がオンであるときなど、オーディオメディアデバイス400の状況を示す。視覚インジケータ406は、たとえば、オーディオメディアデバイス400についてのボリュームまたは電力状態を示す。
【０１１１】
オーディオメディアデバイス400向けのユーザ入力の主要な形は、ユーザ100によって発語され、受け取られた発話に対応し、ユーザ出力の主要な形は、ユーザ100が聞くべき可聴発出に対応する。ユーザ100は、自然な発話を通して、オーディオメディアデバイス400と対話し、通信する。いくつかの実装形態では、オーディオメディアデバイス400は、可聴信号のみを使って制御可能であり、したがって、入力デバイスまたはディスプレイを操作するのに、ユーザ100を必要としない。そのようなケースでは、オーディオメディアデバイス400は、制御ボタン、キーパッド、ジョイスティック、キーボード、タッチスクリーン、および他の代替触覚デバイスなどの触覚入力デバイスを含まない。さらに、いくつかの実装形態では、オーディオメディアデバイス400は、可聴信号のみを使って、通知および情報をユーザ100に与える。オーディオメディアデバイスは、たとえば、テキストまたはグラフィカル出力をユーザ100が読むためのディスプレイを含まない。オーディオメディアデバイス400は、いくつかの実装形態では視覚インジケータ406を含むが、他の実装形態では、オーディオメディアデバイス400は、非触覚、非視覚ユーザ入力およびユーザ出力機構をユーザ100に提供することができる。
【０１１２】
マイクロフォンユニット402に加え、オーディオメディアデバイス400は、画像キャプチャセンサ、動き検出センサ、光学センサ、全地球測位システム(GPS)トランシーバ、デバイス存在センサ(たとえば、ジオフェンシング用)およびオーディオメディアデバイス400の環境の状態を検出することができる他のセンサなど、他のセンサを含み得る。いくつかのケースでは、オーディオメディアデバイス400は、環境中の光の量を検出するためのセンサを含み、オーディオメディアデバイス400は、低い光状態にある環境を照明するためにランプを活動化する。いくつかのケースでは、オーディオメディアデバイス400は、オーディオメディアデバイス400からのユーザ100の距離および配向を検出するため、またはカメラを使って遠隔会議動作を可能にするためのカメラを含む。
【０１１３】
オーディオメディアデバイス400は、オーディオメディアデバイス400を操作するためのコントローラ408をさらに含む。コントローラ408は、メモリへのアクセスを有する。いくつかの実装形態では、オーディオメディアデバイス400は、コントローラ408がアクセスを有するメモリ410を含む。いくつかのケースでは、コントローラ408は、代替または追加として、ワイヤレス通信システム412を使って、リモートメモリ、たとえば、リモートコンピューティングシステム200に関連付けられたリモートメモリにアクセスする。データのリモート記憶を可能にすることに加え、ワイヤレス通信システム412は、コントローラ408が、たとえば、図2に示すように、リモートコンピューティングシステム200と通信することを可能にする。移動ロボット300、301用のワイヤレス通信システムも近距離通信が可能であるとすると、ワイヤレス通信システム412は、移動ロボット300、301など、近くのデバイスとの近距離通信を実施することが可能であり得る。ワイヤレス通信システム412は、マイクロフォンユニット402および他のセンサによって収集された情報を、オーディオメディアデバイス400からリモートコンピューティングシステム200へ送信することが可能である。ワイヤレス通信システム412はまた、コントローラ408が、リモートコンピューティングシステム200から信号を受信することを可能にする。
【０１１４】
いくつかの例では、コントローラ408は、オーディオメディアデバイス400のマイクロフォンユニット402と、マイクロフォンユニット402によって受け取られたオーディオの起点との間の距離を推定する距離推定ルーチンへのアクセスを有する。受け取られたオーディオが、たとえば、ユーザ100からの発声である場合、オーディオメディアデバイス400のコントローラ408は、ユーザとマイクロフォンユニット402との間の距離を判断するために距離推定ルーチンを実行するか、またはその実行を引き起こす。マイクロフォンユニット402が複数のマイクロフォンを有する場合、距離推定ルーチンは、たとえば、マイクロフォンにおける音響信号の到達時間差を算出することを含む。
【０１１５】
マイクロフォンユニット402は、ユーザ100から生じた発声以外のオーディオをキャプチャすることもできる。いくつかのケースでは、ユーザ100がオーディオメディアデバイス400の付近を歩き回ると、オーディオメディアデバイス400は、ユーザ100の足音を検出する。これらの音を使って、距離推定ルーチンは、オーディオメディアデバイス400からのユーザ100の距離と、いくつかの例では、ユーザ100の速さとを判断する。
【０１１６】
マイクロフォンユニット402は、オーディオメディアデバイス400によって発出された音響信号を、特に、家10内での発出された音響信号の反射を検出することによって検出することができる。いくつかの例では、コントローラ408は、オーディオメディアデバイス400のスピーカーユニット404に音響信号を生成させ、マイクロフォンユニット402は、音響信号がオーディオメディアデバイス400の環境中を移動した後、対応する音響反射を受け取る。コントローラ408は、実行されると環境の音響地図を形成する音響地図作成ルーチンにアクセスすることができる。
【０１１７】
コントローラ408が音響地図作成ルーチンを実行するとき、スピーカーユニット404は、異なる方向、周波数、強度、および/または他の音響特性を有する複数の音響信号を、一斉におよび/または連続して発出し得る。発出された音響信号の音響特性および反射音響信号の音響特性は、反射を引き起こす、環境中の表面および対象の特性を示し得る。環境のエコー特性および環境内の音響反射の異なる強度に基づいて、音響地図作成ルーチンは、オーディオメディアデバイス400の環境内の表面および対象の距離を判断する。いくつかの実装形態では、音響地図作成ルーチンは、距離およびオーディオメディアデバイス400の環境の空間特性を判断するのに、反響定位音響測距などを使う。
【０１１８】
いくつかのケースでは、コントローラ408は、環境中の対象の間の推定距離に対するノイズの影響を低減するために、受け取られたオーディオをフィルタリングさせる。たとえば、音響信号の残響をフィルタアウトして、マイクロフォンユニット402のマイクロフォンにおける異なる到着時間を有するいくつかの音響信号を生じると、残響に基づいて距離が推定される見込みが低下する。
【０１１９】
いくつかの例では、音響地図作成ルーチンは、環境に運動エンティティ、人間が欠けているときの、またはさもなければ、オーディオメディアデバイス400が環境内で静止している間の、環境のベースライン音響地図を形成することを含む。図1では、環境は家10に対応する。家10の構築された音響地図は、たとえば、マイクロフォンユニット402によって受け取られる音響反射を引き起こす表面および他の対象のロケーションを含む。音響地図作成ルーチンは、家10内の表面および他の対象に対した、ベースライン音響地図内でのオーディオメディアデバイス400のロケーションを与える。音響地図作成ルーチンは、ユーザ100などの居住者が、家10にいるときのエコー方向および起点姿勢をさらに測定する。この点において、音響地図作成ルーチンは、家10の音響地図内でのユーザ100のロケーションを推定することが可能である。
【０１２０】
いくつかのケースでは、コントローラ408は、マイクロフォンユニット402によって検出された音響信号を使って、独特の特徴または目印を抽出する。コントローラ408は、たとえば、マイクロフォンユニット402によって検出された信号から音響反射特徴をコントローラ408が抽出する音ベースSLAMなどの技法を使う。たとえば、音響反射特徴は、反射音響信号のパターンをマイクロフォンユニット402によって検出させる、家10内の対象の特定のジオメトリに対応し得る。
【０１２１】
これらの特徴が、家10内でのオーディオメディアデバイス400の位置推定を可能にし得る。いくつかの実装形態では、ベースライン音響地図は、オーディオメディアデバイス400が環境内の初期ロケーションにあるときに構築された音響地図に対応する。オーディオメディアデバイス400は、音響地図作成ルーチンに従って音を定期的に発出して、後続音響地図を構築することができる。ベースライン音響地図が構築された後、オーディオメディアデバイス400の動作中に、後続音響地図が構築された場合、後続音響地図は、いくつかの事例では、ベースライン音響地図に対して不一致を呈する。不一致は、オーディオメディアデバイス400が、家10内のその初期ロケーションから動いたことを示し得る。オーディオメディアデバイス400がその初期ロケーションから動かされると、後続音響地図中でのいくつかの特徴のロケーションは、ベースライン音響地図中での、それらのロケーションに対して、同じように動き得る。音響地図作成ルーチンは、後続音響地図中でのオーディオメディアデバイス400の新しいロケーションを判断するための、特徴の相対シフティングを引き起こし、そうすることによって、コントローラ408が、家10内でオーディオメディアデバイス400を位置推定することを可能にする。
【０１２２】
いくつかのケースでは、位置推定のための特徴を抽出するのに、対象の検出された距離およびジオメトリを使うことに加え、またはその代替として、コントローラ408は、位置推定のための特徴を抽出するのに、受信された音響信号の他の特性を使う。音響地図作成ルーチンを使って環境の地図を作成した後、コントローラ408は、たとえば、スピーカーユニット404に、一定範囲の周波数で音響信号を発出させる。家10内の対象は、家10内でのオーディオメディアデバイス400の位置推定のための特徴として働き得る一意の署名を形成する周波数応答を有し得る。たとえば、いくつかの表面は、広範な周波数での音響信号を吸収し、狭い範囲の周波数での反射を引き起こす。そのような周波数応答は、家10内の特定の表面または対象にとって一意であり得る。オーディオメディアデバイス400が新しいロケーションに動かされた場合、コントローラ408は、一意の周波数応答を使って特定の表面を検出し、次いで、オーディオメディアデバイス400と特定の表面との間の距離の変化を判断することができる。コントローラ408はこのように、周波数応答を、位置推定のための特徴として使うことができる。
【０１２３】
コントローラ408は、他の音響位置推定特徴を使うこともできる。いくつかの実装形態では、環境中の対象によって引き起こされた残響が、マイクロフォンユニット402によって受け取られた音響信号中で認識可能であり得る独特の特性を呈し得る。残響の検出はしたがって、位置推定のための特徴としても働き得る。いくつかのケースでは、家10は、一意の周波数で音響信号を発出する1つまたは複数のオーディオ発出ユニットを含む。オーディオ発出ユニットは、コントローラ408が家10内でのその位置を三角測量するのに使う固定送信ビーコンとして働く。
【０１２４】
コントローラ408は、音認識ルーチンへのアクセスを有し、そうすることによって、音認識ルーチンは、可聴信号中の異なる音を認識するように実行され得る。いくつかの例では、メモリ410は、コントローラ408によって実行されるべき音認識ルーチンを含む。いくつかの実装形態では、コントローラ408は、リモートコンピューティングシステムに音認識ルーチンを実行させるために、可聴信号に対応する信号をリモートコンピューティングシステム200へ送信する。音認識ルーチンは、ユーザ100によって発語された言葉からの発話を認識させるための発話認識サブルーチンを含む。特定の単語の認識に応答して、たとえば、コマンド信号、通知信号、または他の信号を含む、対応する信号が生成される。信号は、たとえば、オーディオメディアデバイス400、移動ロボット300、または第2の移動ロボット301に動作を実施させる。
【０１２５】
いくつかの例では、音認識ルーチンは、ホーム環境中で期待されるか、または移動ロボットのあるホーム環境から期待される共通可聴信号を認識するために実行される。いくつかの実装形態では、音認識ルーチンは、家10内の器具から、比較的低い周波数ノイズを識別する。音認識ルーチンは、たとえば、移動ロボット300が掃除ロボットである場合はエアムーバの活動化など、移動ロボット300から生じたノイズを識別する。音認識ルーチンは、いくつかのケースでは、モーターの活動化または異なるタイプの床面における駆動ホイール302の動きなど、移動ロボット300の駆動機構によって引き起こされた音を識別する。代替または追加として、音認識ルーチンは、家の中のドアおよび窓の開閉によって引き起こされた音を識別する。
【０１２６】
いくつかの事例では、スピーカーユニット404によって発出された音響信号は、非可聴、超音波信号である。音響信号は、代替または追加として、可聴トーンを含む。スピーカーユニット404およびマイクロフォンユニット402を、音響地図作成に使われるように記載してきたが、音響地図作成ルーチンは、代替として、補助スピーカーおよび補助マイクロフォンに、それぞれ、音響信号を、発出させ、受け取らせる。補助スピーカーおよびマイクロフォン向けのこれらの音響信号は、たとえば、スピーカーユニット404およびマイクロフォンユニット402の周波数応答範囲外の周波数を有する。いくつかのケースでは、補助スピーカーおよびマイクロフォンは、超音波範囲または非可聴範囲内の音響信号を発出し、受け取り、スピーカーユニット404およびマイクロフォンユニット402は、可聴範囲内の音響信号を発出し、受け取る。この点において、補助スピーカーは、音響スピーカーがそれらの音響信号を発出したとき、マイクロフォンユニット402向けの最小限の音響干渉を引き起こす。同様に、スピーカーユニット404がその音響信号を発出すると、スピーカーユニット404は、補助マイクロフォンとの最小限の音響干渉を引き起こす。
【０１２７】
移動ロボットおよびオーディオメディアデバイス用のプロセスの例
移動ロボット300およびオーディオメディアデバイス400用のワイヤレス通信システムは、移動ロボット300とオーディオメディアデバイス400との間のデータの送信を、いくつかのケースでは、図2の通信ネットワーク201に示すように、リモートコンピューティングシステム200を通して可能にする。リモートコンピューティングシステム200は、移動ロボット300およびオーディオメディアデバイス400の環境から離れた、たとえば、家10から離れたコンピューティングリソースを含む。いくつかのケースでは、リモートコンピューティングシステム200は、移動ロボット300およびオーディオメディアデバイス400の各々とのワイヤレスリンクを確立する1つまたは複数のサーバ204を含む。1つまたは複数のサーバ204は、いくつかのケースでは、1つまたは複数のリモートに配置されたサーバからなるネットワーク(「クラウド」コンピューティングネットワーク205)に接続される。リモートコンピューティングシステム200は、たとえば、本明細書に記載するように、通信ネットワークを通して維持されるとともにアクセス可能なプロセッサ、ストレージ、ソフトウェア、データアクセスなどのコンピューティングインフラストラクチャとして実装されるネットワークアクセス可能コンピューティングプラットフォームの部分を含む。リモートコンピューティングシステムは、ユーザ100が、システムの物理的なロケーションおよび構成を知っていることも必要とせず、リモートコンピューティングシステムは、ユーザ100が、リモートコンピューティングシステム200によって実行されるルーチンまたはリモートコンピューティングシステム200によって供給されるサービスを知っていることも必要としない。
【０１２８】
リモートコンピューティングシステム200は、オーディオメディアデバイス識別データ、移動ロボット識別データ、および関連付けられたユーザデータを記憶するための1つまたは複数のデータベースを含む。図5の例では、オーディオメディアデバイス識別データベース502が、リモートコンピューティングシステム200にワイヤレスにリンクされたオーディオメディアデバイスについての識別データを記憶する。移動ロボット識別データベース504は、リモートコンピューティングシステム200にワイヤレスにリンクされた移動ロボットについての識別データを記憶する。図1、図2、および図5に関して記載する例示的なケースでは、オーディオメディアデバイス識別データベース502は、オーディオメディアデバイス400についてのオーディオメディアデバイス識別データを含む。移動ロボット識別データベース504は、移動ロボット300および図1の例示的家10に示す第2の移動ロボット301など、任意の追加ロボットについてのロボット識別データを含む。
【０１２９】
ここでより詳細に記載する図6Aを手短に参照すると、関連付けプロセス600の実行が、移動ロボット300についての識別データを、オーディオメディアデバイス400についての識別データと関連付ける。識別データが関連付けられた後、リモートコンピューティングシステム200は、移動ロボット300とオーディオメディアデバイス400との間での、情報、たとえば、センサデータ、コマンド、通知などの送信を容易にすることが可能である。いくつかの例では、これにより、コンピューティングプロセスの効率が向上し、というのは、リモートコンピューティングシステム200が、ルーチンおよび動作の処理と、オーディオメディアデバイス400および/または移動ロボット300によって通信される情報の記憶とを支援するからである。
【０１３０】
移動ロボット300についての識別データとオーディオメディアデバイス400についての識別データの関連付けにより、移動ロボット300のナビゲーション動作を強化し得るデータの送信が可能になる。たとえば、オーディオメディアデバイス400のセンサが、移動ロボット300の位置を推定するのに、または家10内で移動ロボット300を位置推定するのに使われる信号を生成する。図3Aに関して記載するように、移動ロボット300用のデッドレコニングおよび/または位置推定センサは、移動ロボット300を位置推定するための特徴が抽出され得る信号を生成するセンサを含み得る。デッドレコニングおよび/または位置推定センサは、代替または追加として、移動ロボット300から離れたセンサ、たとえば、オーディオメディアデバイス400またはリンクされたデバイス102A、102B上のセンサを含む。
【０１３１】
移動ロボット300は、移動ロボット300が環境においてナビゲートする間の移動ロボット300の相対的な位置および/または配向の変化が、リモートデッドレコニングセンサからの出力を使って推定されるように、これらのリモートデッドレコニングセンサによって検出可能な信号を発出し得る。いくつかの実装形態では、オーディオメディアデバイス400によって受け取られた音響信号は、移動ロボット300が家10の中をナビゲートする間に、オーディオメディアデバイス400の位置および配向に対して、移動ロボット300の位置および配向を判断するのに使われ得る。いくつかの実装形態では、オーディオメディアデバイス400は、移動ロボット300から生じた音響信号を受け取る。移動ロボット300が真空掃除ロボットである場合、音響信号は、たとえば、真空掃除ロボットのエアムーバの活動化からのノイズに対応する。いくつかのケースでは、移動ロボット300を動かすための駆動システムの活動化が、オーディオメディアデバイス400のマイクロフォン402が受け取る音響信号を生成する。移動ロボット300がオーディオ発出システム312を含む場合、移動ロボット300は、代替として、オーディオメディアデバイス400によって受け取られるべき音響信号を発出する。音響信号は、可聴音響信号(たとえば、人間可聴範囲内)または非可聴音響信号(たとえば、超音波範囲内)のいずれかであってよい。
【０１３２】
移動ロボット300がオーディオメディアデバイス400に相対して動く間に、オーディオメディアデバイス400が家10内で静止したままである例では、オーディオメディアデバイス400によって受け取られる音響信号の強度は、移動ロボット300が家10を動くと変化する。家10内でのオーディオメディアデバイス400のロケーションが、本明細書に記載する技法を使って、たとえば、音響地図作成ルーチンを使って、知られるか、または判断された場合、移動ロボット300において生じた音響信号の検出は、家10内で移動ロボット300を位置推定するのに使用可能である。オーディオメディアデバイス400が音響信号を受け取ると、たとえば、距離推定ルーチンが、リモートコンピューティングシステム200によって、移動ロボット300とオーディオメディアデバイス400との間の距離を推定するために実行される。いくつかのケースでは、リモートコンピューティングシステム200はまた、(たとえば、1つまたは複数の方向発見技法を利用して)オーディオメディアデバイス400に対する、移動ロボット300の方向を判断する。家10内のオーディオメディアデバイス400のロケーションは以前判断されているので、リモートコンピューティングシステム200は、受け取られた音響信号を使って、家10内で移動ロボット300を位置推定することができる。いくつかの実装形態では、ロボット地図と音響地図が比較されて、地図の間の不一致が削減される。特に、ロボット地図は、移動ロボット300が環境においてナビゲートする間に、VSLAM、ODOAセンサ、およびデッドレコニングセンサなど、移動ロボット300のセンサを使って構築することができ、音響地図は、オーディオメディアデバイス400がそのマイクロフォンユニットおよびスピーカーユニットを操作する間に、音響地図作成ルーチンを実行することによって構築することができる。不一致を削減するための分析の一例では、リモートコンピューティングシステム200は、ロボット地図と音響地図の両方を受信し、ロボット地図からの抽出された特徴を、音響地図からの抽出された特徴と比較する。ロボット地図が、家10の床面の2次元地図であり、音響地図が家10の3次元地図である場合、音響地図が分析されて、家10の床面に対応する2次元地図を判断することができる。音響
地図上の3次元幾何学的特徴が、ロボット地図上に2次元特徴、たとえば、床面の上または上方の、ロボットセンサによって検出された障害物が現れると、2次元特徴に対応するように、さらに処理され得る。ロボット地図からの抽出された特徴は、移動ロボットの画像キャプチャシステム310によってキャプチャされた画像から抽出された特徴または障害物検出センサもしくは検知システム308の他のセンサを使って抽出された特徴を含んでよく、抽出された特徴に一意の幾何学特性を有する。同様に、オーディオメディアデバイス400によって構築された音響地図は、一意の幾何学特性をもつ、抽出された特徴も含む。いくつかのケースでは、2つの地図からのこれらの抽出された特徴を比較することによって、リモートコンピューティングシステム200は、音響地図とロボット地図が、これらの抽出された特徴のロケーションまたは配向に関して何らかの不一致を有するかどうかを判断する。
【０１３３】
いくつかの実装形態では、リモートコンピューティングシステム200は、統計的または確率的モデリングを使って不一致を検出したことに応答して、音響地図および/またはロボット地図を調節する。音響地図およびロボット地図が構築されると、地図内の特徴に信頼性レーティングが割り当てられる。リモートコンピューティングシステム200は、これらの信頼性レーティングを、各地図の異なる部分の相対予測精度を判断するのに使う。リモートコンピューティングシステム200が地図を調節した場合、リモートコンピューティングシステム200は、一方の地図の部分を、他方の地図中の類似部分に従って調節してよい。たとえば、図1を参照すると、移動ロボット300は部屋20Aに位置するので、移動ロボット300を使って構築されたロボット地図は、部屋20Aから抽出された特徴について、より大きい信頼性レーティングを有し得る。一方、オーディオメディアデバイス400は部屋20Bに位置するので、オーディオメディアデバイス400を使って構築された音響地図は、部屋20Bから抽出された特徴について、より大きい信頼性レーティングを有し得る。リモートコンピューティングシステム200が、部屋20Aと部屋20Bの両方についてのそれらの地図において不一致を検出した場合、リモートコンピューティングシステム200は、部屋20Aに対応する音響地図の部分が、部屋20Aに対応するロボット地図の部分に対応するように調節されるべきであると、信頼性レーティングに基づいて判断する。同様に、リモートコンピューティングシステム200は、部屋20Bに対応するロボット地図の部分が、部屋20Bに対応する音響地図の部分に対応するように調節されるべきであると、信頼性レーティングに基づいて判断する。
【０１３４】
いくつかのケースでは、移動ロボット300は、家10内でのオーディオメディアデバイス400のロケーションを示す信号を、リモートコンピューティングシステム200から受信する。たとえば、信号は、音響地図に対応してよく、その地図内でのオーディオメディアデバイス400のロケーションを含む。移動ロボット300がオーディオメディアデバイス400を検出した場合、移動ロボット300がオーディオメディアデバイス400に相対して家10の中をナビゲートする間に、移動ロボット300はオーディオメディアデバイス400のロケーションに集中する。いくつかの例では、移動ロボット300が家10の中をナビゲートすると、画像キャプチャシステム310または移動ロボット300の他のセンサがオーディオメディアデバイス400を検出し、そうすることによって、ロボット地図内でのオーディオメディアデバイス400のロケーションの推定を可能にする。オーディオメディアデバイス400の推定ロケーションは、リモートコンピューティングシステム200によって受信された信号によって示されるロケーションと比較される。ロボット地図は、いずれかの不一致が判断された場合、家10内での移動ロボット300の位置推定の正確さを向上するように調節される。
【０１３５】
リンクされたデバイス102A、102B(たとえば、ネットワーク化被接続デバイスまたは通信ネットワーク201に接続されたデバイス)はまた、いくつかの実装形態では、リモートコンピューティングシステム200、移動ロボット300および/またはAMDがロボット地図および/または音響地図の精度を向上するためにアクセスする情報を生成する。リンクされたデバイス102A、102Bは、音響センサ、画像キャプチャシステム、または特徴がそこから抽出され得る信号を生成する他のセンサなど、家10の中の特徴を検出するセンサを含む。いくつかの事例では、リンクされたデバイス102A、102Bは、センサ信号からの情報をリモートコンピューティングシステム200へ送信する。リモートコンピューティングシステム200は、これらの特徴に関する情報を、音響地図および/またはロボット地図上の特徴と相関させる。
【０１３６】
いくつかの実装形態では、リンクされたデバイス102A、102Bは、ロボット地図および音響地図と比較される、家10の部分の、それら自体の地図を生成する。リンクされたデバイス102A、102Bは、たとえば、カメラ、光学センサ、測距センサ、音響センサ、またはリンクされたデバイス102A、102Bの環境の地図を形成するのに使われるべき信号を生成する他のセンサを含む。いくつかの例では、リンクされたデバイス102A、102Bは、互いと協力して、地図を形成する。リンクされたデバイス102A、102Bは、いくつかのケースでは、マイクロフォンユニットおよび/またはスピーカーユニットを含み、オーディオメディアデバイス400によって実施されるべき音響地図作成ルーチンが、地図を生成するために実施される。リンクされたデバイス102A、102Bの地図は、追加または代替として、ロボット地図および音響地図中の不一致を訂正するのに使われる。
【０１３７】
リンクされたデバイス102A、102Bは、移動ロボット300またはオーディオメディアデバイス400上のセンサによって受信される信号を発出することもできる。移動ロボット300およびオーディオメディアデバイス400は、移動ロボット300の位置およびオーディオメディアデバイス400の位置を三角測量するために、リンクされたデバイス102A、102Bからの信号に応答して、それらのセンサによって生成された信号を使う。発出される信号は、たとえば、光信号、音響信号、ワイヤレス信号、および環境を伝播するときに強度が変化する他の検出可能信号であってよい。
【０１３８】
移動ロボット300およびオーディオメディアデバイス400を含む、家10の中の様々なデバイスの間の対話を可能にすることに加え、通信ネットワーク201は、移動ロボット300を制御または監視するために、ユーザ100とオーディオメディアデバイス400との間の対話も容易にする。図1に関して記載したように、ユーザ100とオーディオメディアデバイス400との間の対話は、ユーザ100向けにオーディオメディアデバイス400によって発出される可聴信号と、オーディオメディアデバイス400向けにユーザ100によって与えられる可聴信号とを含む。これらの対話は、移動ロボット300もしくは第2の移動ロボット301の動作に影響する場合があり、または移動ロボット300もしくは第2の移動ロボット301の動作に関する情報をユーザ100に与えることができる。
【０１３９】
オーディオメディアデバイス400のコントローラ408は、発話認識ルーチンを実施するか、または、たとえば、リモートコンピューティングシステム200によって発話認識ルーチンを実施させることができる。いくつかの例では、音認識ルーチンがオーディオメディアデバイス400のメモリ410上に記憶され、コントローラ408が、そのマイクロフォンによって検出された可聴信号に対して音認識ルーチンを実施することを可能にする。いくつかのケースでは、音認識ルーチンは、リモートコンピューティングシステム200上に、またはリモートコンピューティングシステム200に関連付けられたデータベース上に記憶される。音認識ルーチンがリモートコンピューティングシステム200上に記憶されている場合、コントローラ408は、マイクロフォン402によってキャプチャされた可聴信号を示すワイヤレス信号をリモートコンピューティングシステム200へ送信し、リモートコンピューティングシステム200は、可聴信号中の言葉を認識するために発話認識ルーチンを実行する。リモートコンピューティングシステム200は次いで、オーディオメディアデバイス400、移動ロボット300、または第2の移動ロボット301に動作を実施させるための信号を生成する。
【０１４０】
いくつかの例では、ユーザ100についての識別データは、オーディオメディアデバイス400および/または移動ロボット300についての識別データに関連付けられる。リモートコンピューティングシステム200は、たとえば、リモートコンピューティングシステム200のサービスを使うユーザについての識別データを記憶するユーザ識別データベース506を含む。ユーザについての識別データは、たとえば、各ユーザに一意のアカウントデータを含む。ユーザ識別データベース506は、存在する場合、ユーザ100についての識別データを含む。いくつかの実装形態では、ユーザ100についての識別データは、ユーザ100の発話パターンに一意の発話署名を含む。ユーザ100が、オーディオメディアデバイス400を制御するための発話信号を発語することができるために、発話署名は、オーディオメディアデバイス400と一緒に使われるように認証される。ユーザ100についての識別データは発話署名を含み、発話署名は、オーディオメディアデバイス400についての識別データに関連付けられる。発話署名が、オーディオメディアデバイス400についての識別データに関連付けられる場合、音認識ルーチンは、ユーザ100の話した言葉に適用され、認識された言葉に対応するアクションを実施する。
【０１４１】
オーディオメディアデバイス400、移動ロボット300、および/またはユーザ100についての関連付けが完了されると、ユーザ100は、オーディオメディアデバイス400に命じ、かつ/またはロボット300に命じるための言葉を発語することができる。ユーザ100は、コマンドデータベース508中のコマンドに対応する言葉を発語する。ユーザ識別データが発話署名を含む場合、発話署名を有する、発語された発話のみが、オーディオメディアデバイス400に命じるのに、またはオーディオメディアデバイス400を使って移動ロボットに命じるのに使われ得る。コマンドデータベース508は、オーディオメディアデバイス400を制御するためのコマンドと、移動ロボット300を制御するためのコマンドとを含む。リモートコンピューティングシステム200がコマンドデータベース508からのコマンドを選択すると、リモートコンピューティングシステム200は、適切なデバイス、たとえば、オーディオメディアデバイス400、または移動ロボット300および301のうちの1つへ送信するべきコマンド信号を生成する。コマンド信号を受信すると、デバイスは1つまたは複数の動作を実施する。
【０１４２】
ユーザ100が、移動ロボット300を制御するためのコマンドを発語する例では、ユーザ100の発声510は、たとえば、オーディオメディアデバイス400についての識別データに対応する可聴識別子512、移動ロボット300についての識別データに対応する可聴識別子514、および可聴コマンド516を含む。いくつかの例では、リモートコンピューティングシステム200は、可聴識別子512、可聴識別子514、および可聴コマンド516を構文解析するために音認識ルーチンを実行する。リモートコンピューティングシステム200は、識別データが関連付けられていることをチェックし、次いで、可聴コマンドに対応するコマンドを探索するために、コマンドデータベース508を照会する。リモートコンピューティングシステム200は次いで、適切なデバイス、たとえば、オーディオメディアデバイス400または移動ロボット300へ送信されるべきコマンド信号を生成する。コマンド信号が、移動ロボット300を制御するのに使われる場合、移動ロボット300がコマンド信号を受信すると、コマンド信号は、移動ロボット300に1つまたは複数の動作を実施させる。ユーザ提供発声を使って移動ロボット300に命じるためのコマンドプロセス700の例については、図7に関して記載する。
【０１４３】
いくつかの実装形態では、コマンド信号がオーディオメディアデバイス400へ送信された場合、オーディオメディアデバイス400は可聴通知を発出する。関連付けにより、移動ロボット300およびオーディオメディアデバイス400は、それらの動作に関する情報をリモートコンピューティングシステム200へ送信することが可能になり、そうすることによって、オーディオメディアデバイス400からの可聴通知は、オーディオメディアデバイス400または移動ロボット300のいずれかのステータス更新を含むことができる。オーディオメディアデバイス400に、可聴通知を発出するよう命じるための通知プロセス800の例については、図8に関して記載する。そのような通知によって与えられる情報の例についても、通知プロセス800に関して記載する。
【０１４４】
関連付けにより、リモートコンピューティングシステム200が、ユーザ100からのプロンプトを受け取ることなく、オーディオメディアデバイス400に、移動ロボット300に関する可聴信号を発出させることも可能になる。たとえば、移動ロボット300によってリモートコンピューティングシステム200へ送信されるデータと、いくつかのケースでは、ユーザ100によってリモートコンピューティングシステム200へ送信される情報とに基づいて、である。リモートコンピューティングシステム200は次いで、移動ロボット300の動作を強化し得る推奨アクションを判断する。推奨アクションを実施する、オーディオメディアデバイス400向けの推奨プロセス900の例については、図9に関して記載する。例示的推奨アクションについても、図9との関係で記載する。
【０１４５】
いくつかの実装形態では、移動ロボット300の動作中、移動ロボット300用の検知システムが、移動ロボット300に関連付けられたエラーステータスを検出する。リモートコンピューティングシステム200は、エラーステータスの指示を受信し、オーディオメディアデバイスに、ユーザ100がエラーステータスの根本を訂正するための可聴命令を発出させることができる。代替として、ユーザ100は、オーディオメディアデバイスに、移動ロボット300のエラーステータスに対応する可聴命令を発出させるための言葉を話す。オーディオメディアデバイス400に、移動ロボット300のエラーを訂正するためのガイダンスをユーザ100へ与えさせるためのエラー訂正プロセス1000の例については、図10に関して記載する。
【０１４６】
プロセス600、700、800、900、および1000ならびに本明細書に記載する他のプロセスの各々のための動作は、分散方式で実行することができる。たとえば、リモートコンピューティングシステム200、移動ロボット300、およびオーディオメディアデバイス400は、動作のうちの1つまたは複数を、互いと協調して実行することができる。リモートコンピューティングシステム200、移動ロボット300、およびオーディオメディアデバイス400のうちの1つによって実行されるように記載される動作は、いくつかの実装形態では、リモートコンピューティングシステム200、移動ロボット300、およびオーディオメディアデバイス400のうちの2つまたはすべてによって、少なくとも部分的に実行される。
【０１４７】
例示的な関連付けプロセス
図2の通信ネットワーク201を再び参照すると、移動ロボット300とオーディオメディアデバイス400との間のワイヤレス通信のチャネルを確立するために、移動ロボット300についての識別データとオーディオメディアデバイス400についての識別データが関連付けられる。図6Aの関連付けプロセス600は、移動ロボット300についての識別データをオーディオメディアデバイス400についての識別データに関連付けるための、ユーザ100(ユーザ動作600A)、モバイルコンピューティングデバイス202(モバイルデバイス動作600B)、リモートコンピューティングシステム200(リモートコンピューティングシステム動作600C)、移動ロボット300(移動ロボット動作600D)、およびオーディオメディアデバイス400(オーディオメディアデバイス動作600E)によって実施される動作の例を示す。
【０１４８】
いくつかの例では、関連付けプロセス600の一部として、ユーザ100は、移動ロボット300およびオーディオメディアデバイス400に関連付けられた1つまたは複数のユーザアカウントを生成するよう、リモートコンピューティングシステム200に問い合わせる。たとえば、いくつかの実装形態では、ユーザ100が単一のアカウントを生成した場合、移動ロボット識別データとオーディオメディアデバイス識別データは両方とも、そのユーザアカウントに関連付けられる。いくつかのケースでは、ユーザ100は、移動ロボット識別データおよびオーディオメディアデバイス識別データの各々についての異なるアカウントを生成する。
【０１４９】
図6Aに示す例では、ユーザ100は、移動ロボット300とオーディオメディアデバイス400の関連付けを要求する(602)。ユーザ100は、たとえば、モバイルコンピューティングデバイス202などのユーザインターフェースデバイス上の入力デバイスを、関連付けを要求するのに使う。モバイルコンピューティングデバイス202は次いで、移動ロボット300とオーディオメディアデバイス400を関連付けるための要求を、リモートコンピューティングシステム200へ送信する(604)。リモートコンピューティングシステム200は、移動ロボット識別データおよびオーディオメディアデバイス識別データに対するユーザアカウントにアクセスする(606)。
【０１５０】
いくつかのケースでは、関連付けプロセス600は、移動ロボットおよびオーディオメディアデバイスについての識別データをユーザ100が確認するユーザ確認プロセスを含む。このユーザ確認プロセスを実施するために、リモートコンピューティングシステム200は、移動ロボット識別データおよびオーディオメディアデバイス識別をモバイルコンピューティングデバイス202へ送信する(608)。モバイルコンピューティングデバイス202は次いで、オーディオメディアデバイス識別データおよび移動ロボット識別データを表示し(610)、ユーザ100は、識別データが関連付けられるべきであることを確認する(612)ために、モバイルコンピューティングデバイス202上で入力デバイスを操作する(たとえば、タッチスクリーン、仮想ボタン、押ボタンなどを操作する)。
【０１５１】
いくつかの実装形態では、関連付けプロセス600は、代替または追加として、移動ロボット300および/またはオーディオメディアデバイス400からのデバイス確認を含む。図6Aの例では、リモートコンピューティングシステム200は、移動ロボット300およびオーディオメディアデバイス400に対して、関連付けについての確認を要求する(614)。移動ロボット300は関連付けを確認し(616)、オーディオメディアデバイス618も関連付けを確認する。移動ロボット300および/またはオーディオメディアデバイス400からの確認は、デバイスがアクティブデバイスであることを示す。いくつかのケースでは、移動ロボット300および/またはオーディオメディアデバイス400からの確認により、ロボット識別データがオーディオメディアデバイス400のメモリ410に記憶され、またはオーディオメディアデバイス識別データが移動ロボット300のメモリ318に記憶される。
【０１５２】
ユーザ確認プロセスおよびデバイス確認プロセスのいずれかまたは両方が実施されるケースにおいて、リモートコンピューティングシステム200が、対応する確認信号を受信した後、リモートコンピューティングシステム200は、移動ロボット識別データとオーディオメディアデバイス識別データを関連付ける(620)。代替として、確認プロセスが存在しない場合、リモートコンピューティングシステム200は、リモートコンピューティングシステム200がユーザアカウントにアクセスした(606)後で、移動ロボット識別データとオーディオメディアデバイス識別データを関連付ける(620)。いくつかの例では、リモートコンピューティングシステム200は、水拭き床モップがけ、家の監視、または掃除機がけを実施する移動ロボットなど、様々なタイプの移動ロボットからの識別データを関連付ける。図3Aの真空掃除ロボットに関して記載したように、いくつかの実装形態では、移動ロボット300のタイプは、オーディオメディアデバイス400における、利用可能ボイスコマンド入力のタイプを決定する。この点において、いくつかの実装形態では、リモートコンピューティングシステム200は、移動ロボット300のタイプについてのコマンドリストを、オーディオメディアデバイス識別データに関連付ける(622)。リモートコンピューティングシステム200は、特定のタイプの移動ロボット300を制御するための、オーディオメディアデバイス400によって受け取られた特定のボイスコマンドに対応するワイヤレス信号に応答する。
【０１５３】
いくつかの実装形態では、関連付けが完了した後、リモートコンピューティングシステム200は、関連付け成功通知を送信する(624)。モバイルコンピューティングデバイス202、移動ロボット300、およびオーディオメディアデバイス400のうちの1つまたは複数が、送信された成功通知を受信し、関連付けが成功したことを示す。たとえば、モバイルコンピューティングデバイス202は関連付け成功通知を発出し、もしくは表示し(626)、移動ロボット300は関連付け成功通知を発出し、もしくは表示し(628)、かつ/またはオーディオメディアデバイス400は関連付け成功通知を発出する。表示される関連付け成功通知は、たとえば、表示画面上のバナーまたは通知、一連の照明光、または他の適切な視覚信号を含む。可聴関連付け成功通知は、たとえば、関連付け動作が成功したことを示す可聴アラートもしくは音、話された言葉、または他の適切な可聴信号を含む。いくつかのケースでは、関連付け成功通知は、振動アラートなどの触覚通知を含む。
【０１５４】
いくつかの例では、オーディオメディアデバイス400は、複数の移動ロボット、たとえば、移動ロボット300、301の両方に関連付けられる。移動ロボット300についての識別データは、第2の移動ロボット301とは別個である。関連付けプロセス600は、各移動ロボット300、301についての識別データを、オーディオメディアデバイス400についての識別データと関連付ける。
【０１５５】
図6Bは、関連付けを要求するのに、モバイルコンピューティングデバイス202、たとえば、スマートフォンを使う例を示す。この例では、ユーザ100は、移動ロボット300用の第1のユーザアカウントと、オーディオメディアデバイス400に固有の第2のユーザアカウントとを有する。ユーザ100が関連付けを要求する(602)ことの一部として、ユーザ100は移動ロボット識別データを取得する。ユーザ100は、移動ロボットユーザアカウントにアクセスするのにモバイルコンピューティングデバイス202を使い、モバイルコンピューティングデバイス202は、画面650に示すように、移動ロボット300のユーザアカウントに関連付けられた移動ロボット識別データを表示する。関連付けを要求する(602)ことの一部として、ユーザ100は、オーディオメディアデバイス識別データも取得する。ユーザ100は、オーディオメディアデバイス400用のユーザアカウントにアクセスするのにモバイルコンピューティングデバイス202を使い、モバイルコンピューティングデバイス202は次いで、画面652に示すように、オーディオメディアデバイス400用のユーザアカウントに関連付けられたオーディオメディアデバイス識別データを表示する。関連付けを要求するために、ユーザ100は、たとえば、モバイルコンピューティングデバイス202上のアプリケーションを使って、対応するオーディオメディアデバイス識別データに関連付けるべき移動ロボット識別データを入力する。関連付けプロセス600がユーザ確認プロセスを含む場合、モバイルコンピューティングデバイス202は、画面654に示すように、モバイルコンピューティングデバイス202上に確認要求を表示する。ユーザ100が、たとえば、「Yes」のユーザインターフェースボタンを呼び出すことによって関連付けを確認した後、リモートコンピューティングシステム200は、移動ロボット300およびオーディオメディアデバイス400についての識別データを関連付ける。モバイルコンピューティングデバイス202は任意選択で、画面656に示すように、関連付け成功通知を表示する。
【０１５６】
いくつかの実装形態では、移動ロボット300およびオーディオメディアデバイス400は、移動ロボット識別データとオーディオメディアデバイス識別データの関連付けを確立するために直接対話する。たとえば、ユーザ100は、移動ロボット300と関連付けるべきオーディオメディアデバイス400へのボイスコマンドを発語することによって、関連付けを要求する(602)。オーディオメディアデバイス400は、そのワイヤレス通信システム412を使って、たとえばローカルエリアネットワーク上で、または近距離通信を使って、近くの移動ロボットを探索する。移動ロボット300を見つけると、オーディオメディアデバイス400は、識別データを関連付けるための信号を送信する。いくつかのケースでは、移動ロボット300は、そのワイヤレス通信システム316を使って、そのような関連付けプロセスを実施する。
【０１５７】
いくつかの例では、ユーザ100は、オーディオメディアデバイス400および移動ロボット300の一方または両方に、互いと関連付くためのコマンドを発行する。コマンドは、たとえば、リモートコンピューティングシステム200に、デバイスのうちの1つに可聴関連付け要求を発出させ、デバイスの他方に可聴関連付け要求を受け取らせるコマンド信号を送信させる。リモートコンピューティングシステム200は、可聴の関連付けられた要求が、たとえば、オーディオメディアデバイス400のマイクロフォンユニット402または移動ロボット300のマイクロフォンによって受け取られたという確認を受信すると、移動ロボット300の識別データをオーディオメディアデバイス400の識別データと関連付ける。
【０１５８】
いくつかの実装形態では、ユーザ100は、オーディオメディアデバイス400に関連付けるための関連付けコマンドを、移動ロボット300に発行する。コマンドに応答して、移動ロボット300は、たとえば、移動ロボット300上に搭載された画像キャプチャシステム310またはマイクロフォン314を使って、オーディオメディアデバイス400を探索するために、家10を自律的にナビゲートする。図5の例に示すように、移動ロボット300が家10の中をナビゲートすると、移動ロボット300の画像キャプチャシステム310は、オーディオメディアデバイス400を検出する。オーディオメディアデバイス400の位置を突き止めると、移動ロボット300は、オーディオメディアデバイス400によって受け取られるべき可聴関連付け要求を、オーディオ発出システム312を使って発出する。可聴関連付け要求は、任意選択で、ロボット識別データを含む。オーディオメディアデバイス400が信号を受け取ると、オーディオメディアデバイス400は、移動ロボット識別データをオーディオメディアデバイス識別データと関連付けさせるためのワイヤレス信号を、リモートコンピューティングシステム200へ送信する。いくつかのケースでは、オーディオメディアデバイス400は、移動ロボット300のマイクロフォンによって受け取られる可聴応答信号を発出することによって、可聴関連付け信号に応答する。
【０１５９】
例示的なコマンドプロセス
ここで、および図5に関して記載するように、ユーザ100は、オーディオメディアデバイス400によって受け取られ得るボイスコマンドを、たとえば、発声510を通して発語して、移動ロボット300に、ボイスコマンドに従って挙動を実行させる。図7のコマンドプロセス700は、移動ロボット300に発語されたボイスコマンドに従って挙動を実行させる、発語されたコマンドの例を示す。図7のコマンドプロセス700は、移動ロボット300に、ユーザのボイスコマンドに従って挙動または動作を実行させるための、ユーザ100(ユーザ動作700A)、オーディオメディアデバイス400(オーディオメディアデバイス動作700B)リモートコンピューティングシステム200(リモートコンピューティングシステム動作700C)、および移動ロボット300(移動ロボット動作700D)によって実施される動作の例を示す。
【０１６０】
ユーザ100は、リモートコンピューティングシステム200が、どの移動ロボット300、301が命じるかを判断するため、および移動ロボット300、301によって実施されるべき特定の挙動を判断するための可聴ユーザコマンド、たとえば、ボイスコマンドを、オーディオメディアデバイスに与える。図7に示す例では、ユーザ100は、移動ロボット300を制御するためのボイスコマンドを含む発声を与える(702)。オーディオメディアデバイス400は、発声を示すワイヤレス信号を生成し(704)、次いで、ワイヤレス信号をリモートコンピューティングシステム200へ送信する。図5に示すように、いくつかのケースでは、発声510は可聴識別子512も含み、オーディオメディアデバイス400は、ユーザの発声が、オーディオメディアデバイス400によって実行されるべきコマンドにも対応することを認識する。オーディオメディアデバイス400のメモリ410は、任意選択で、オーディオメディアデバイス400が、オーディオメディアデバイス400に対応する可聴識別子512が先行するコマンドを実行するだけであるような、可聴識別子512を認識する音認識ルーチンを含む。オーディオメディアデバイス400によって実行されるコマンドは、たとえば、ワイヤレス信号をリモートコンピューティングシステム200へ送信することに対応する。
【０１６１】
リモートコンピューティングシステム200は、ワイヤレス信号を受信すると、ワイヤレス信号を構文解析する(706)。リモートコンピューティングシステム200は、たとえば、ワイヤレス信号を構文解析し(706)、与えられた(702)発声の内容を判断するための音認識ルーチンを実行する。構文解析された(706)ワイヤレス信号は次いで、たとえば、エラーをチェックするため、および移動ロボット300へ送信するべきコマンドを生成するために分析される。
【０１６２】
いくつかの例では、リモートコンピューティングシステム200は、与えられた(702)発声に基づいて、オーディオメディアデバイス400に対応する識別データと、移動ロボット300に対応する識別データとを判断する。リモートコンピューティングシステム200は、識別データに基づいて、移動ロボット識別データとオーディオメディアデバイス識別データが関連付けられているかどうかを判断する(708)。リモートコンピューティングシステム200が、それらが関連付けられていないと判断した場合、リモートコンピューティングシステム200は、オーディオメディアデバイス400にエラー通知を発出させる(712)ための信号を送信する。いくつかのケースでは、ユーザの発声は、オーディオメディアデバイス400の識別データに関連付けられていない別の自律移動ロボットを示す、すなわち、移動ロボット300を示さない可聴識別子を含むので、識別データは関連付けられない。ユーザ100は、エラー通知に応答して、別の発声を与える(702)ことを試み得るか、または、たとえば、図6の関連付けプロセス600を使って、オーディオメディアデバイス識別データと移動ロボット識別データを関連付けることを試み得る。
【０１６３】
リモートコンピューティングシステム200は、代替または追加として、構文解析された(706)ワイヤレス信号を分析して、与えられた(702)発声が、移動ロボット300向けの有効なボイスコマンドを含むかどうかを判断する(710)。図5に示すように、構文解析された(706)ワイヤレス信号の部分は、ユーザ100によって与えられる発声の可聴コマンド516に対応し得る。有効なボイスコマンドは、たとえば、コマンドデータベース508内のどのコマンドも含む。いくつかのケースでは、有効なボイスコマンドは、所定のタイプの移動ロボット300向けの、コマンドデータベース508中の所定のコマンドを含む。構文解析された(706)ワイヤレス信号が有効なボイスコマンドを含まない場合、リモートコンピューティングシステム200は、オーディオメディアデバイス400に、エラー通知を発出させる(712)。エラー通知は、ユーザ100が、有効なボイスコマンドをもつ発声を与え(702)なかったこと、またはボイスコマンドが、特定のタイプの移動ロボット300用に利用可能なボイスコマンドのどれにも対応しないことを、ユーザに通知する。
【０１６４】
構文解析された(706)ワイヤレス信号が有効なボイスコマンドを含む場合、リモートコンピューティングシステム200は、有効なボイスコマンドに対応するコマンド信号を生成する(714)。コマンドデータベース508は、たとえば、各有効ボイスコマンドを、対応するコマンド信号と突き合わせるルックアップテーブルを含む。
【０１６５】
リモートコンピューティングシステム200は次いで、たとえば、生成された(714)コマンド信号向けの宛先を選択することによって、コマンド信号を適切な宛先へ送信する。コマンドプロセス700において、移動ロボット300はコマンド信号を使って制御され、この点において、リモートコンピューティングシステム200は、たとえば、移動ロボット300に対応する可聴識別子514によって示される移動ロボット300へコマンド信号を送信する。オーディオメディアデバイス400が複数の移動ロボットに関連付けられている場合、移動ロボットの各々についての可聴識別子514は、他の可聴識別子とは別個である。可聴識別子514が、移動ロボット300についての識別データに対応する場合、コマンド信号は移動ロボット300へ送信される。移動ロボット300は、コマンド信号を受信すると、挙動または動作を実行する(716)。具体的には、移動ロボット300は、ユーザ100によって与えられた(702)発声に含まれるボイスコマンドに対応する挙動または動作を実行する(716)。いくつかの例では、リモートコンピューティングシステム200はまた、オーディオメディアデバイス400に、ユーザの発声が、移動ロボット300に命じるのに使われるのに成功したことをユーザ100に示すためのコマンド成功通知を発出させる(718)。
【０１６６】
いくつかの例では、コマンド信号は、移動ロボット300とオーディオメディアデバイス400の両方に、対応するコマンドを受信させる。たとえば、コマンド信号は、移動ロボット300に、家10内で挙動またはルーチンを実行させる。いくつかの例では、コマンド信号は、移動ロボット300に、オーディオメディアデバイス400に相対して、家10を自律的にナビゲートさせる。移動ロボット300が、真空掃除ロボットなどの掃除ロボットであり、コマンドが掃除コマンドである場合、オーディオメディアデバイス400は、任意選択で、たとえば、移動ロボット300が家10を自律的にナビゲートする間にエアムーバを活動化することによって、移動ロボット300に、掃除動作を開始させる。さらに、ユーザ100は、移動ロボット300に掃除動作を一時停止させるためのボイスコマンドを与えることができる。
【０１６７】
移動ロボット300が、ドッキングステーション、たとえば、図1のドッキングステーション104に接続可能である場合、コマンド信号は、移動ロボット300をドッキングステーション104へ自律的にナビゲートさせるコマンド信号に対応し得る。コマンド信号は、いくつかのケースでは、移動ロボット300をドッキングステーション104へナビゲートさせ、移動ロボット300が、ごみ容器付き真空掃除ロボットである場合は、ドッキングステーション104に、移動ロボット300のごみ容器からごみを排出させる。たとえば、移動ロボット300は、適切なドッキングおよび整列の後で排出を開始するように、ドッキングステーション104を操作する。いくつかの実装形態では、リモートコンピューティングシステム200はまた、ドッキングステーション104にワイヤレスにリンクされ、移動ロボット301またはドッキングステーション104が、移動ロボット300およびドッキングステーション104の一方または両方についての準備完了状況を示す信号を送信すると、ドッキングステーションにごみ容器から排出させるための排出コマンド信号を、ドッキングステーション104へ直接送信する。
【０１６８】
いくつかの実装形態では、コマンド信号は、移動ロボット300をオーディオメディアデバイス400の方へナビゲートさせることをユーザ100が望むというボイスコマンドに対応する。移動ロボット300はしたがって、たとえば、オーディオメディアデバイス400の所定のロケーションに基づいて、オーディオメディアデバイス400の方へ自律的にナビゲートする。所定のロケーションは、たとえば、図4に関して記載した音響地図作成ルーチンを使って判断されたロケーションに対応し、または移動ロボット300の画像キャプチャシステム310もしくは移動ロボット300がロボット地図上でオーディオメディアデバイス400を位置推定することを可能にする、何らかの他のセンサベースの検出(たとえば、IRトランシーバ)によってキャプチャされた画像を使って判断されたロケーションに対応する。
【０１６９】
いくつかの例では、移動ロボット300がマイクロフォン314を含む場合、リモートコンピューティングシステム200は、移動ロボット300をオーディオメディアデバイス400の方へナビゲートさせるためのコマンド信号を、オーディオメディアデバイス400と移動ロボット300の両方に与える。たとえば、リモートコンピューティングシステム200は、オーディオメディアデバイス400に、移動ロボット300のマイクロフォン314によって受け取られるべき可聴ナビゲーション信号を発出させる。オーディオメディアデバイス400の方へナビゲートするために、移動ロボット300は、受け取られた可聴ナビゲーション信号の強度を増大する方向にナビゲートする。いくつかの実装形態では、移動ロボット300は、たとえば、オーディオメディア400を通信ネットワーク201に接続するワイヤレス信号など、可聴信号以外の信号の信号強度を検出する。移動ロボット300は、ワイヤレス信号の信号強度を検出し、この信号強度を、家10内をナビゲートするために使う。オーディオメディアデバイス400の方へナビゲートするために、移動ロボット300は、受け取られたワイヤレス信号の強度を増大する方向にナビゲートする。
【０１７０】
ユーザ100は、いくつかのケースでは、移動ロボット動作の制御のために、ユーザ定義スケジュールを調節するためのボイスコマンドを与える。移動ロボット300は、このユーザ定義スケジュールに従って動作し得る。たとえば、移動ロボット300が掃除ロボットである場合、移動ロボット300は、ユーザ定義スケジュールにおいて示されるスタート時間に掃除動作を開始する。コマンドプロセス700中でユーザ100によって与えられる(702)発声はしたがって、移動ロボット動作のための開始時間を変えるか、または確立するボイスコマンドを含む。リモートコンピューティングシステム200がコマンド信号を生成する(714)と、リモートコンピューティングシステム200は、開始時間に対する変化に従ってユーザ定義スケジュールを調節する。いくつかのケースでは、ユーザ定義スケジュールは、移動ロボット300上のメモリ318に記憶され、リモートコンピューティングシステム200は、移動ロボット300へスケジュール変更コマンドを送信する。代替または追加として、ユーザ定義スケジュールは、移動ロボット300とは離れて、たとえば、クラウドコンピューティングネットワーク205上に記憶され、リモートコンピューティングシステム200は、クラウドコンピューティングネットワーク205中でユーザ定義スケジュールを修正する。そのようなケースでは、ユーザ100は、ユーザ100がコマンドを将来の時間に与える必要なく、将来に移動ロボット300の動作を制御するという意図で、現在の時間にボイスコマンドで発声を与える(702)。リモートコンピューティングシステム200は、修正されたユーザ定義スケジュールを記憶し、ボイスコマンドに対応する挙動または動作を移動ロボット300に実行させる(716)ために、修正されたユーザ定義スケジュールに従って、コマンドを将来の時間に送信する。
【０１７１】
いくつかの実装形態では、ユーザ100は、移動ロボット300をユーザ100の現在のロケーションへ自律的にナビゲートさせるためのボイスコマンドを与える。移動ロボット300をユーザ100の現在のロケーションの方へナビゲートさせるためのコマンド信号を生成するために、たとえば、図4に関して記載した距離推定ルーチンが、ユーザ100とオーディオメディアデバイス400との間の距離および配向を推定するために実装され、そうすることによって、リモートコンピューティングシステム200は、ロボット地図および/またはオーディオメディアデバイス地図上でのユーザ100の姿勢を判断することができる。たとえば、リモートコンピューティングシステム200またはオーディオメディアデバイス400は、音響特性、たとえば、ユーザ100によって与えられる(702)発声を受け取るマイクロフォンユニット402の2つのマイクロフォンの間の時間遅延を示す信号に基づいて距離を推定する。リモートコンピューティングシステム200またはオーディオメディアデバイス400は、ロボット地図内でのユーザ100のロケーションを判断し、次いで、移動ロボット300を、ユーザ100の推定ロケーションに対応する、ロボット地図内でのロケーションへナビゲートさせるためのコマンド信号を生成する。いくつかのケースでは、移動ロボット300は、ユーザ100の推定ロケーションの所定の距離内、たとえば、ユーザ100から0.1〜2メートル内の位置へナビゲートする。
【０１７２】
移動ロボット300が真空掃除ロボットである場合、ユーザ100は、移動ロボット300に、特に汚れているスポットにおける集中掃除のためのスポット掃除動作などの動作を実施させるためのボイスコマンドを与えることができる。移動ロボット300の現在のロケーションは、スポット掃除動作が実施されるべき、局所化されたエリアの中心に対応し得る。いくつかのケースでは、ユーザ100は、移動ロボット300に、ユーザ100の現時点でのロケーションにおいて掃除させるためのボイスコマンドをもつ発声を与える(702)。したがって、移動ロボット300を、ユーザ100のロケーションに近接する位置まで動かせることに加え、コマンド信号は、その位置に達すると、移動ロボット300に、スポット掃除動作を実施させる。
【０１７３】
いくつかの例では、リモートコンピューティングシステム200は、たとえば、オーディオメディアデバイス400に対する、ユーザ100の推定距離および方向に基づいて、ユーザ100が位置する家10内の部屋を識別する。ユーザ100が、たとえば図1に示すように部屋20Bの中に位置し、ユーザ100が、ユーザ100のロケーションまで動かすためのボイスコマンドを発行した場合、リモートコンピューティングシステム200は、移動ロボット300を、ユーザ100が現在位置する部屋20Bまで動かす。移動ロボット300が部屋20Bの方へ自律的にナビゲートすると、移動ロボット300は、部屋20Bに関連付けられた一意の特徴を認識すると、移動ロボット300が部屋20B内にあると判断する。一意の特徴は、たとえば、家10の中での以前のナビゲーション動作中に位置推定センサの信号から抽出された特徴に対応する。これらの一意の特徴は、移動ロボット300が部屋20Bを家10内の他の部屋と区別することを可能にするように、部屋20B内の特性または対象に固有である。
【０１７４】
いくつかの実装形態では、部屋20A、20B、20C、20Dは各々、部屋20A、20B、20C、20Dの各々用の位置推定センサの信号から一意の特徴が抽出されることを可能にする対象または特性を含み、ユーザ100は、部屋の各々に識別データを与える。識別データは、たとえば、リモートコンピューティングシステム200および/または移動ロボット300によってアクセス可能なデータベースに記憶される。部屋に識別データを与えるために、ユーザ100は、話されるか、またはタイプ入力された(たとえば、スマートフォン用のアプリケーションにおいて編集可能フィールドに入れられた)名称、たとえば、「台所」、「バスルーム」、「ダイニングルーム」、「リビングルーム」、「寝室」、または他の適切な部屋標示を、部屋20A、20B、20C、20Dの各々に与える。いくつかの例では、モバイルコンピューティングデバイス202は、家10のロボット地図に対応するユーザインターフェース地図を表示し、ユーザ100は、各部屋を選択し、名称を話すか、またはタイプ入力することによって、各部屋に名称を与える。いくつかの例では、移動ロボット300は、家10中を各部屋までナビゲートする。移動ロボット300が、ある部屋にいるとき、ユーザ100はその部屋の名称を発語し、名称は、その部屋についての識別データとして記憶される。移動ロボット300は、部屋の各々へ動き、そうすることによって、ユーザ100は、部屋の各々の名称を発語し得る。いくつかの例では、ユーザ100は、家10の中の対象についての、話されるか、またはタイプ入力された名称、たとえば、「玄関ドア」、「勝手口」、「食器洗い機」、「洗濯機」、「ベッド」、または他の標示を、家10内の対象に与える。
【０１７５】
部屋の各々についての識別データにより、ユーザ100は、移動ロボット300を、ユーザが指定した部屋へ、またはユーザが指定した対象の方へ動くように制御することが可能になる。ユーザ100が、ボイスコマンドをもつ発声を与える(702)とき、ユーザ100は、家10内の所定のロケーションに対応する可聴ロケーション識別子を指定する。可聴ロケーション識別子は、たとえば、移動ロボット300を、指定された名称に対応する部屋へ自律的にナビゲートさせるために、ユーザ100によって以前与えられた名称のうちの1つに対応する。移動ロボット300は、リモートコンピューティングシステム200からコマンド信号を受信すると、指定された名称を有する部屋の方へ動くための動作を実行する(716)。本明細書に記載するように、移動ロボット300の位置推定センサが、部屋に一意の特徴を検出すると、移動ロボット300は、指定された名称を有する部屋内にロボット300があると判断する。いくつかの例では、可聴ロケーション識別子は、対象についての名称に対応し、自律移動ロボット300を、コマンド信号を受信すると、対象の方へ自律的にナビゲートさせる。自律移動ロボット300は、たとえば、移動ロボット300が対象から所定の距離内にあると判断したとき、停止するように制御される。
【０１７６】
いくつかの実装形態では、ユーザ100は、同じタイプの複数の移動ロボットを、オーディオメディアデバイス400と関連付けている。たとえば、図1を参照すると、移動ロボット300と移動ロボット301は両方とも、真空掃除ロボットであってよく、ユーザ100は、これらのロボットの両方をオーディオメディアデバイス400と関連付ける。ユーザ100は、いくつかのケースでは、移動ロボット300、301の両方を指し得る可聴識別子をもつ発声を与える(702)。可聴識別子は、たとえば、移動ロボット300、301のタイプであってもよい。いくつかのケースでは、リモートコンピューティングシステム200は、オーディオメディアデバイス400に、移動ロボット300、301のどちらに命じることをユーザ100が意図しているかをユーザ100が指定する可聴要求を発出させる。
【０１７７】
いくつかの例では、ボイスコマンドが、指定されたロケーションにおいて実施されるべき動作を指す場合、リモートコンピューティングシステム200は、移動ロボット300、301のどちらが、指定されたロケーションに最も近いかを判断し、最も近い移動ロボット300、301にコマンド信号を向ける。リモートコンピューティングシステム200は、ユーザが指定したロケーションまでの第2の移動ロボット301の距離が、ユーザが指定したロケーションまでの他方の移動ロボット300の距離未満であると判断する。たとえば、ユーザ100が、部屋20Dを掃除するよう、真空掃除ロボットに命じる発声を与えた(702)場合、リモートコンピューティングシステム200は、第2の移動ロボット301が部屋20Dにより近いと判断し、したがって、第2の移動ロボット301に部屋20Dを掃除させるためのコマンド信号を、第2の移動ロボット301へ送信する。ユーザ100が、移動ロボットがユーザ100の現在のロケーションで掃除するべきであることを指定するボイスコマンドを与えた場合(たとえば、ボイスコマンドは、「ロボット、ここに来て掃除して」である)、リモートコンピューティングシステム200は、真空掃除ロボットがユーザ100の現在のロケーションで掃除するよう命じられることになると判断し得る。
【０１７８】
本明細書に記載するように、音響信号を使う位置推定により、話しているユーザ100のロケーションが、移動ロボット300のロケーションに対して判断されることが可能になり、移動ロボット300は、話しているユーザ100の方向に向かって行くことによって、「ここに来て」などのユーザコマンドに応答する。ユーザ100のこの方向およびロケーションは、オーディオメディアデバイス400上の方向検知マイクロフォンによって判断され、移動ロボット300に、またはリモートコンピューティングシステム200に通信される。いくつかの例では、移動ロボット300がオーディオメディアデバイス400を検出し、そのロケーションをロボット地図に置いた場合、オーディオメディアデバイス400および/またはリモートコンピューティングシステム200は、話しているユーザ100までの距離を判断する。マイクロフォンユニット402は、たとえば、オーディオメディアデバイス400上に位置付けられた複数のマイクロフォンを含み、マイクロフォンは、たとえば、家10の中の表面、たとえば、家10の中の壁または対象の表面から反射する、ユーザ100の声によって引き起こされた多重経路音響反射を検出する。オーディオメディアデバイス400および/またはリモートコンピューティングシステム200は、これらの多重経路信号を使って、たとえば、受信された多重経路音響信号を三角測量することによって、検出されたボイスコマンドの起点を算出する。いくつかの実装形態では、リモートコンピューティングシステム200および/またはオーディオメディアデバイス400は、ロボット地図上での話しているユーザの姿勢を算出する際にノイズおよび/または減衰を補償する。
【０１７９】
例示的な通知プロセス
移動ロボット300へコマンドを送信するのにボイスコマンドを使うことに加え、ユーザ100は、オーディオメディアデバイス400に、移動ロボット300のステータスを示す可聴通知を与えさせるボイスコマンドを与えることができる。そのような可聴通知の例について、図8の通知プロセス800に関して記載する。図8の通知プロセス800は、オーディオメディアデバイス400に、たとえば、可聴ミッションステータス更新または可聴累積ステータス更新を発出させるように、ユーザ100(ユーザ動作800A)、オーディオメディアデバイス400(オーディオメディアデバイス動作800B)、リモートコンピューティングシステム200(リモートコンピューティングシステム動作800C)、および移動ロボット300(移動ロボット動作800D)によって実施される動作の例を示す。
【０１８０】
リモートコンピューティングシステム200は、移動ロボット300が家10内で動作を実施するとき、移動ロボット300からデータを収集する。移動ロボット300が、ミッションを開始し(802)、ミッション中のロボット動作を示すデータを収集する(804)とき、リモートコンピューティングシステムは、収集された(804)データを受信する。データは、地図上の位置における、家10の測定された条件(たとえば、温度、湿度、照明)を含む、移動ロボット300の検知システム308のセンサによって収集されたデータと、静止ネットワークデバイス(たとえば、動きセンサ、温度センサ、湿度センサ、ネットワーク化照明など)から集められた情報とに対応する。
【０１８１】
いくつかの例では、ユーザ100は、移動ロボット300によって現時点で実施されているミッションについての更新を要求する。ユーザ100が、移動ロボット300についてのミッションステータス更新について、オーディオメディアデバイス400に音声要求を与える(806)と、オーディオメディアデバイス400は、音声要求に対応するワイヤレス信号をリモートコンピューティングシステム200へ送信する(808)。
【０１８２】
リモートコンピューティングシステム200は、ミッション中の移動ロボット300の動作を示すデータを求めて移動ロボット300をポーリングし、移動ロボット300からのデータに基づいて、ミッションの要約を生成する(810)。リモートコンピューティングシステム200は次いで、オーディオメディアデバイスにミッションステータス更新を発出させる(814)ミッションステータス更新コマンド信号を生成する(812)。ミッションステータス更新は、生成された(810)要約に対応する。要約は、たとえば、移動ロボット300がミッションを開始してから経過した時間の程度、通行された床の全部分、残っている通行可能なフローリング(たとえば、障害物がないとともにロボット300によってアクセス可能)の割合、ミッションを完了するために残っている時間の推定量、または移動ロボット300の現在の部屋を含む。移動ロボット300が真空掃除ロボットである場合、要約は、たとえば、ミッション中に移動ロボット300によって吸引されたごみの量、ミッション中にスポット掃除が起きた事例および地図ロケーションの数、または移動ロボット300がミッション中に掃除した部屋の数を含む。いくつかのケースでは、ユーザ100は、特定の情報を、ミッションステータス更新に含まれるように示し、生成された(810)要約は、要求された情報を含む。
【０１８３】
いくつかの例では、ユーザ100は、移動ロボット300によって実施された複数のミッションを示す累積ステータス更新を要求し得る。ユーザ100は、移動ロボット300の累積ステータス更新についての音声要求を与え(820)、オーディオメディアデバイス400は、音声要求に対応するワイヤレス信号を生成する(822)。リモートコンピューティングシステム200は、ワイヤレス信号を受信し、移動ロボット300によって開始されたミッションの各々からのデータに基づいて累積要約を生成する(824)。リモートコンピューティングシステム200は、オーディオメディアデバイス400に、可聴累積ステータス更新を発出させる(828)ための累積ステータス更新コマンド信号を生成する(826)。累積要約は、たとえば、移動ロボット300が複数のミッションに対して動作している総持続時間、移動ロボット300が実施したミッションの数、通行された床の総累積距離、または移動ロボット300が移動した距離を含む。移動ロボット300が真空掃除ロボットである場合、累積要約は、代替または追加として、移動ロボット300が複数のミッションにおいて収集したごみの総量、または移動ロボット300がスポット掃除動作を実施した総回数を含む。移動ロボット300が、移動ロボット300からごみを排出するドッキングステーションとともに動作可能である、いくつかの例では、累積要約は、週ごとの排出動作の平均数、一定の時間期間中に実施される排出動作の数、一定の時間期間中に移動ロボット300によってカバーされるエリアに対して実施された排出動作の数などを含む。
【０１８４】
いくつかの例では、累積ステータス更新は、ユーザが指定した期間内に指定されたミッションの累積ステータスを記述する。ユーザ100は、与えられた(820)音声要求中で、累積要約においてデータがそこから要約される以前のミッションの数、たとえば、以前の2〜10個のミッション、10〜20個のミッション、または移動ロボット300によって完了されたミッションすべてを指定することができる。ユーザ100は、累積ステータス更新においてデータがそこから要約されるミッションについての日付または日付の範囲を指定することができる。
【０１８５】
ステータス更新は、音声要求中でユーザ100によって要求された様々な情報を含み得る。いくつかの実装形態では、ステータス更新は、移動ロボット300の動作の頻度を含む。移動ロボット300が、移動ロボット300の部品の運用性を示す信号を生成するセンサを含む場合、リモートコンピューティングシステム200は、これらの信号を受信し、発出されたステータス更新に、移動ロボット300の部品の推定残存サービス寿命を含めさせる。部品は、たとえば、掃除ブラシ、掃除パッド、ローラー、バッテリー、容器、ホイール、容器フィルタ、または容器の蓋である。いくつかのケースでは、移動ロボット300が、ドッキングステーション104または送信ユニット106など、他の静止デバイスと対話する場合、リモートコンピューティングシステム200は、ステータス更新に、これらの静止デバイスについての情報を含めさせる。たとえば、ステータス更新は、送信ユニット106が交換バッテリーを必要とすることを示し得る。
【０１８６】
いくつかの例では、オーディオメディアデバイス400は、ミッションが完了した後、ミッションステータス更新を発出する(814)。リモートコンピューティングシステム200は、いくつかのケースでは、ミッション中に移動ロボット300が通行しなかった家10の部分を判断し、オーディオメディアデバイス400に、非通行部分を示すミッションステータス更新を発出させる(814)。ミッションステータス更新中の非通行部分は、たとえば、ミッション中に移動ロボット300が掃除しなかった部屋または部屋の部分を指す。いくつかのケースでは、ミッションステータス更新は、ミッションが打ち切られた理由、たとえば、通信ネットワーク201中のデバイスが、ユーザ100が家に戻ったことを検出したこと、障害物が家10の中の特定のドアを塞いだこと、または移動ロボット300のバッテリー2024が、移動ロボット300がミッションを完了するのに十分な充電を有していなかったことを示す。
【０１８７】
いくつかの例では、ユーザがステータス更新についての音声要求を与えた(806、820)ことに応答してステータス更新を発出する(814、828)のではなく、オーディオメディアデバイス400は、ユーザ100が家10に入ったとき、ステータス更新を発出する。たとえば、ユーザ100が家10に戻ると、オーディオメディアデバイス400は、ユーザ100が家10から離れていた間に移動ロボット300によって完了されたミッションのステータス更新を自動的に発出する。オーディオメディアデバイス400は、ユーザ100が家10に戻ったことをマイクロフォンユニット402またはオーディオメディアデバイス400の他のセンサが検出すると、ステータス更新を発出する。いくつかのケースでは、リンクされたデバイス102A、102Bが人感センサを含む場合、リモートコンピューティングシステム200は、オーディオメディアデバイス400に、人感センサがユーザ100の家10への帰宅を検出したときにステータス更新を発出させる。代替または追加として、オーディオメディアデバイス400は、ユーザデバイス、たとえば、モバイルコンピューティングデバイス202が、家10内のワイヤレス通信ネットワーク(たとえば、WLAN)に接続したと判断したことに応答して、ステータス更新を発出するか、またはユーザデバイスが発出するワイヤレス信号、たとえば、Bluetoothもしくはワイヤレス信号を検出する。たとえば、オーディオメディアデバイス400は、そのデバイス存在センサを、ユーザデバイス202が、家10に生成された仮想境界線、たとえば、ジオフェンスに入ったときの判断を実施するために使う。
【０１８８】
いくつかの例では、ユーザ100は、移動ロボット300の現在のロケーションの通知についての音声要求を与える(806)。移動ロボット300の現在のロケーションを判断するために、リモートコンピューティングシステム200は、ロボット地図およびロボット地図内での移動ロボットの推定された位置をチェックする。リモートコンピューティングシステム200は次いで、オーディオメディアデバイス400に、移動ロボット300のロケーションを示す可聴通知を発出させる。いくつかの実装形態では、オーディオメディアデバイス400は、ユーザ100またはオーディオメディアデバイス400に対する移動ロボット300のロケーションを示す通知を発出する。可聴通知は、たとえば、移動ロボット300がオーディオメディアデバイス400に対する方位に位置することを示す。いくつかのケースでは、リモートコンピューティングシステム200は、構築されたロボット地図または音響地図を使って、移動ロボット300が位置する部屋を識別し、次いで、部屋の名称を可聴通知中で示させる。いくつかの実装形態では、移動ロボットのロケーションが分からない場合、ボイスコマンドは、移動ロボットのロケーションを判断するためのプロセスを開始する。ボイスコマンドは、たとえば、移動ロボット300のオーディオ発出システム312に、オーディオメディアデバイス400によって受け取られるべき音響信号を発出させる。オーディオメディアデバイス400は次いで、オーディオメディアデバイス400のマイクロフォンユニット402によって受け取られた音響信号の特性に基づいて、移動ロボット300のロケーションを判断する。いくつかのケースでは、移動ロボット300の現在のロケーションをユーザ100に通知するために、ボイスコマンドは、ユーザ100が家10内で移動ロボット300のロケーションを見つけるのを助けるために、移動ロボット300に、音響信号を発出させるか、または音響信号を定期的に、たとえば、1〜5秒ごとに発出させる。
【０１８９】
いくつかの例では、オーディオメディアデバイス400は、ユーザ100が音声要求を与えることなく、移動ロボット300によって実施されるミッションの継続するステータス更新を発出する。たとえば、継続するステータス更新は、移動ロボット300が部屋の間を動いているときを示す。この場合の継続するステータス更新は、移動ロボット300が以前位置していた、および移動ロボット300が現時点で位置する1つまたは複数の部屋を示す。いくつかのケースでは、継続するステータス更新は、移動ロボット300が通り過ぎている対象を示す。移動ロボット300は、その検知システム308を使って、近くの対象を検出する。移動ロボット300が画像キャプチャシステム310を含む場合、画像キャプチャシステム310は、近くの対象、たとえば、カウチ、冷蔵庫、器具、または家10の中の他の静止対象に対応する画像をキャプチャする。画像キャプチャシステム310が、ロボット300がミッションを実施する間に画像をキャプチャした場合、リモートコンピューティングシステム200は、キャプチャされた画像内で近くの対象または障害物を識別する。リモートコンピューティングシステム200は、たとえば、対象認識データベースにアクセスして、キャプチャされた画像中の対象を識別する。リモートコンピューティングシステムは次いで、オーディオメディアデバイス400に、移動ロボット300が特定の対象の近くにあるというステータス更新を発出させる。
【０１９０】
いくつかの例では、ユーザ100が家10にいる間に移動ロボット300がそのミッション中にストールした場合、移動ロボット300は、移動ロボット300がストールされたことを示す信号を、リモートコンピューティングシステム200へ送信する。移動ロボット300は、たとえば、光学静止センサ、モーターストールセンサ、マウスセンサ、ジャイロスコープ、加速度計、ステレオカメラ、および/または動き検出のための別のセンサなどのストールセンサユニットを使って、ロボット300がストールしたことを検出する。リモートコンピューティングシステム200は、ユーザ100がステータス更新を要求するのを待つのではなく、オーディオメディアデバイス400に、移動ロボット300がストールされたことを示すステータス更新を発出させればよい。リモートコンピューティングシステム200が、移動ロボット300が位置する部屋を判断することができる場合、リモートコンピューティングシステム200はさらに、オーディオメディアデバイス400によって発出されたステータス更新に、移動ロボット300が位置し、ストールされた部屋を示させることができる。移動ロボット300が、移動ロボット300の検知システム308によって検出可能であるとともにリモートコンピューティングシステム200によって識別可能な対象の近くでストールされた場合、ステータス更新は特定の対象を示す。
【０１９１】
例示的な推奨プロセス
いくつかの実装形態では、リモートコンピューティングシステム200は、推奨アクションの実施が移動ロボット300の動作から利益を受けることになると判断し、推奨アクションが実施されることを引き続き要求する。リモートコンピューティングシステム200は、オーディオメディアデバイス400に、推奨アクションが実施されたこと、または実施される予定であることを示す可聴信号を発出させることができる。推奨アクションの例を、図9の推奨プロセス900に関して記載する。図9の推奨プロセス900は、推奨アクションを実施させるために、ユーザ100(ユーザ動作900A)、オーディオメディアデバイス400(オーディオメディアデバイス動作900B)、リモートコンピューティングシステム200(リモートコンピューティングシステム動作900C)、および移動ロボット300(移動ロボット動作900D)によって実施される動作の例を示す。
【０１９２】
リモートコンピューティングシステム200は、ユーザ100、オーディオメディアデバイス400、移動ロボット300、またはそれらの組合せからの入力データに基づいて、アクションが移動ロボットの動作のためになるであろうと判断し得る。ユーザ100は、たとえば、移動ロボット300の動作を示す1つまたは複数のユーザ入力を与える(902)。ユーザ入力は、ユーザ挙動も示し得る。ユーザ入力は、たとえば、移動ロボット300の動作についてのユーザ定義スケジュール、移動ロボット300の動作のユーザ開始またはユーザ中止などに対応する。オーディオメディアデバイス400は、そのセンサによって収集されたデータを送信し(904)、移動ロボット300は、移動ロボット300のステータスを示すデータを送信する(906)。
【０１９３】
これらの入力(たとえば、動作902、904、906から受信された)のうちの1つまたは複数に基づいて、リモートコンピューティングシステム200は、実施されるべき推奨アクションを判断し(908)、推奨アクションを実施するための要求信号を生成する(910)。リモートコンピューティングシステム200は、推奨アクションのための要求信号を送信するべき宛先を判断する(912)。推奨アクションは、たとえば、ロボットアクション、ユーザ操作、または家10から離れた別のコンピューティングシステムによって実施されるアクションに対応する。
【０１９４】
推奨アクションが移動ロボット300によって実施されるべきである場合、リモートコンピューティングシステム200は、要求信号を移動ロボット300へ送信し、ロボット300は、要求信号に従って、すなわち、推奨アクションに従って、移動ロボット動作を調節する(914)。推奨アクションは、たとえば、移動ロボット300についてのユーザ定義スケジュールに対する調節である。移動ロボット300が真空掃除ロボットである場合、いくつかの実装形態では、リモートコンピューティングシステム200は、真空掃除ロボットが家10または家10の中の特定の部屋を所定の持続時間の間、たとえば、1週間から1か月以上、掃除していないと判断する。リモートコンピューティングシステム200は、推奨アクションを実施するための要求信号を生成し(910)、次いで、家10の中で、または家10の中の特定の部屋の中で掃除動作を開始するために、要求信号を、移動ロボット300へ送信する。
【０１９５】
いくつかの例では、リモートコンピューティングシステム200は、家10の居住者がいないときを示す指示を、たとえば、オーディオメディアデバイス400上の、またはリンクされたデバイス102A、102B上の人感センサから受信する。人感センサの指示から、リモートコンピューティングシステム200は、たとえば、居住者が家にいるか、または家にいないときのパターンを判断する。リモートコンピューティングシステム200は、オーディオメディアデバイス400に、居住者が普段家にいないときに移動ロボット300が動作するように、移動ロボット300向けのユーザ定義スケジュールを変えるための可聴要求を発出させる(916)。ユーザ100が要求を確認した場合、リモートコンピューティングシステム200は、相応してユーザ定義スケジュールを調節する。
【０１９６】
推奨アクションがユーザ100によって実施されるべきである場合、リモートコンピューティングシステム200は、オーディオメディアデバイス400に、ユーザ100が推奨アクションを実施する(918)ための可聴要求を発出させる(916)ために、オーディオメディアデバイス400へ要求信号を送信する。たとえば、リモートコンピューティングシステム200は、オーディオメディアデバイス400によって収集されたデータに基づいて、部屋へのドアが閉められていると判断し得る。オーディオメディアデバイス400からのデータは、音響地図作成ルーチンを使って構築されたベースライン音響地図との不一致を有する音響地図に対応し得る。不一致は、ドアが開いているか、または閉められていることを示す。ドアが、入口22A用のドアに対応し、リモートコンピューティングシステム200が、音響地図作成データに基づいて、ドアが閉められていると判断した場合、リモートコンピューティングシステム200は、オーディオメディアデバイス400に、ユーザがドアを開けるための可聴要求を発出させ(916)、そうすることによって、移動ロボット300は、入口22Aを通行し、部屋20Bに入ることができる。
【０１９７】
推奨アクションが、移動ロボット300またはユーザ100に加えて別のエンティティによって実施されるべきである場合、リモートコンピューティングシステム200は、そのエンティティ、たとえば、別のリモートコンピューティングシステムへ要求信号を送信する(920)。いくつかの実装形態では、移動ロボット300のステータスを示すデータは、移動ロボット300が、交換可能部品の交換をすぐに、たとえば、3日〜7日以内に必要とすることを示す。リモートコンピューティングシステム200は、部品を購入するための要求信号を生成し(910)、要求信号を、たとえば、オンラインマーケットプレイスへ送信する。いくつかのケースでは、要求信号は、交換可能部品が交換されることが必要になる前に、部品を注文させ、ユーザ100の家10へ配送させる。部品は、たとえば、ロボットバッテリーまたは床洗浄パッドなど、消費可能アイテムに対応する。移動ロボット300が掃除ロボットである場合、部品は、掃除ブラシ、掃除パッド、ローラー、ごみ容器、容器の蓋、または他の交換可能部品であってよい。
【０１９８】
いくつかの実装形態では、リモートコンピューティングシステム200が推奨アクションを判断した(908)後、リモートコンピューティングシステム200は、オーディオメディアデバイス400に、推奨アクションが実施されるべきであるという、ユーザ100からの確認を要求させる。たとえば、リモートコンピューティングシステム200が交換部品の購入を推奨する場合、リモートコンピューティングシステム200は、そのような購入を確認するための、ユーザ100への可聴要求を発出するように、オーディオメディアデバイス400をトリガする。ユーザ100は次いで、要求に応答して、AMDに対して自然に話すことによって、購入を起こさせるか、または購入が起こるのを防止するために要求を拒否する。推奨アクションが、ユーザ100によって直接実施されるべきである(たとえば、ユーザがドアを開けるべきである)場合、リモートコンピューティングシステム200は、確認を要求しなくてよく、代わりに、ユーザ100が推奨アクションを実施する(918)べきであることをユーザ100に知らせるための可聴通知を直接発出する(916)。
【０１９９】
いくつかの例では、要求信号は、移動ロボット300用のユーザ定義スケジュールを、ユーザイベントカレンダ中に記録されたイベントに従って変えさせる。ユーザ100は、近日中のイベントを示すユーザ入力を与える(902)ことができる。近日中のイベントは、ユーザ100が家10に来るように客を誘った家での集まりであってよく、ネットワークアクセス可能カレンダ上でスケジュールされたイベント中は、移動ロボット300の動作を禁止することが望ましい場合がある。移動ロボット300が、近日中のイベント中に動作を実施するようにスケジュールされている場合、リモートコンピューティングシステム200は、ロボット動作が近日中のイベントと衝突すると判断する。衝突を避けるために、リモートコンピューティングシステム200は、近日中のイベント中は移動ロボット300が動作を実施しないように、移動ロボット300用のユーザ定義スケジュールを調節するための要求信号を生成する(910)。
【０２００】
いくつかの例では、リモートコンピューティングシステム200は、移動ロボット300が、イベントに先んじて動作を実施するべきであると判断する。たとえば、近日中のイベントが家での集まりである場合、リモートコンピューティングシステム200は、家での集まりが起きている時間期間に従って、移動ロボット300のユーザ定義スケジュールを調節するための要求信号を生成する(912)。移動ロボット300が掃除ロボットである場合、スケジュールされたユーザ定義は、近日中のイベントの前の所定の期間、たとえば、家での集まりの前の1時間〜24時間以内に、移動ロボット300が掃除動作を実施するように調節される。この点において、家10は、家での集まりのために客が到着する前に掃除され得る。
【０２０１】
いくつかの例では、リモートコンピューティングシステム200は、ユーザ100が、移動ロボット300用のスケジュールを定義していないが、移動ロボット300の動作を開始したと判断する。ユーザ100は以前、ユーザ定義スケジュールを指定せずに、移動ロボット300に動作を始めさせたことがある。いくつかの例では、リモートコンピューティングシステム200は、ユーザ100が移動ロボット動作の開始を引き起こした時間から、パターンを抽出する。これらのパターンに基づいて、リモートコンピューティングシステム200は、オーディオメディアデバイス400に、ユーザ定義スケジュールを調節するための可聴要求を発出させる要求信号を生成する。移動ロボット動作用のユーザ定義スケジュールは、たとえば、特定の曜日における毎週の動作または特定の時間における毎日の動作に対応する。
【０２０２】
いくつかのケースでは、移動ロボット300はすでに、ユーザ定義スケジュールに従って動作を実施するが、リモートコンピューティングシステム200は、ユーザ100がこれらの移動ロボット動作のうちのいくつかを停止したか、または移動ロボット300に、ユーザ定義スケジュールに従って実施されるものに加えた動作を実施させたと判断する。リモートコンピューティングシステム200は、ユーザ100が移動ロボット300の動作を停止している時間中に移動ロボット300が操作されないように、およびユーザ100が移動ロボット300に操作を始めさせている時間中に移動ロボット300が操作されるように、オーディオメディアデバイス400に、ユーザ定義スケジュールに対する調節を推奨するための可聴要求を発出させる。
【０２０３】
例示的なエラー訂正プロセス
いくつかの実装形態では、移動ロボット300の検知システム308は、移動ロボット300についてのエラー状態が起きたと判断する。リモートコンピューティングシステム200は、エラー状態の指示を移動ロボット300から受信し、エラー状態の根本に対処するための推奨アクションを判断し、オーディオメディアデバイス400に、推奨アクションを実施するためのガイダンスをユーザ100へ与えさせる。図10は、エラー訂正プロセス1000の例を示す。図10のエラー訂正プロセス1000は、オーディオメディアデバイス400に、エラーを訂正するためのガイダンスを与えさせるために、ユーザ100(ユーザ動作1000A)、オーディオメディアデバイス400(オーディオメディアデバイス動作1000B)、リモートコンピューティングシステム200(リモートコンピューティングシステム動作1000C)、および移動ロボット300(移動ロボット動作1000D)によって実施される動作の例を示す。
【０２０４】
いくつかの例では、移動ロボットエラーは、移動ロボット300が動作を実施する(1002)間に起こる。移動ロボット300が動作を実施する間に、移動ロボット300は、エラーが起きたかどうかを判断する(1004)。たとえば、移動ロボット300は、検知システム308からのセンサがエラー状態を検出すると、エラーが起きたと判断する。エラー状態は、たとえば、移動ロボット300の駆動ホイール302についてのストール状態、移動ロボット300のバッテリーについての充電枯渇状態、または移動ロボット300の動作を妨げるか、もしくは妨害し得る他の状態に対応し得る。
【０２０５】
エラーが起きた場合、移動ロボット300は、エラーを示すワイヤレス信号を送信する(1006)。いくつかのケースでは、移動ロボット300は、エラー通知信号も発出する。リモートコンピューティングシステム200は、エラーに対処するための推奨アクションを判断し(1008)、次いで、オーディオメディアデバイスに、エラー通知およびエラーに対処するための初期可聴命令を発出させる(1010)。初期可聴命令は、判断された(1008)推奨アクションに対応する。ユーザ100は、初期可聴命令に従って推奨アクションを実施する(1012)。
【０２０６】
移動ロボット300は、たとえば、エラー状態を示したセンサをチェックすることによって、エラーが対処されたかどうかを判断する(1014)。エラーが対処されていない場合、リモートコンピューティングシステム200は、エラーに対処するための次の推奨アクションを判断し(1016)、オーディオメディアデバイスに、次の可聴命令を発出させる(1018)。ユーザ100は、次の推奨アクションを再度実施し(1012)、移動ロボット300は、エラーが対処されたかどうかを再度判断する(1014)。オーディオメディアデバイス400は、たとえば、エラーが対処されたと移動ロボット300が判断する(1014)まで、後続可聴命令を発出し(1018)続ける。
【０２０７】
移動ロボット300が、エラーが対処されたと判断した(1014)場合、移動ロボット300は、成功通知を発出する(1020)。移動ロボット300は任意選択で、エラーが対処されたことをユーザ100に示す可聴成功通知をオーディオメディアデバイス400に発出させる(1024)ための通知信号をリモートコンピューティングシステムに生成させる(1022)ために、リモートコンピューティングシステム200へ成功信号を送信する。いくつかの実装形態では、成功通知は、たとえば、視覚インジケータ406の活動化によって引き起こされる視覚信号を含む。
【０２０８】
いくつかの例では、移動ロボット300が家10中をナビゲートすると、髪の毛が駆動ホイール302に絡みつく場合があり、そうすることによって、駆動ホイール302の回転が妨げられる。オーディオメディアデバイス400は、エラー訂正プロセス1000中、駆動ホイール302から髪の毛を取り除くためのアクションの連続セットをユーザ100に対して記述するための可聴命令を発出する。移動ロボット300が掃除ロボットである場合、エラー訂正プロセス1000は、オーディオメディアデバイス400に、掃除パッド、掃除ローラー、またはごみ容器など、移動ロボット300上の掃除デバイスに関連付けられたエラーに対処するための可聴ガイダンスをユーザ100へ与えさせるように実行され得る。掃除デバイスが掃除パッドである場合、オーディオメディアデバイス400は、掃除パッドを取り外し、掃除パッドを交換するステップをユーザ100にガイドするための可聴命令を発出する。掃除デバイスが掃除ローラーである場合、オーディオメディアデバイス400は、移動ロボット300において、掃除ローラーを取り外し、掃除ローラーの動作を妨げるごみを掃除し、掃除ローラーを交換するステップをユーザにガイドするための可聴命令を発出する。掃除デバイスがごみ容器である場合、オーディオメディアデバイス400は、移動ロボット300において、ごみ容器を取り外し、ごみ容器からごみを空け、ごみ容器を交換するステップをユーザ100にガイドするための可聴命令を発出する。
【０２０９】
いくつかの例では、エラーに対処するためのアクションをユーザ100が実施する(1012)間、または移動ロボット300が、エラーが起きたと最初に判断した後、リモートコンピューティングシステム200は、ユーザ操作によってエラーに対処することができないと、または顧客サービス担当者からの支援が、ユーザ100が、エラーにより効率的に対処するのに役立つ可能性があると判断する。いくつかのケースでは、発出された可聴命令の数が、命令のこの所定の数に達した場合、リモートコンピューティングシステム200は、オーディオメディアデバイス400に、ユーザ100が、顧客サービス担当者と対話することから利益を受け得るという可聴指示を発出させてよい。リモートコンピューティングシステム200は、オーディオメディアデバイス400と顧客サービス担当者との間にワイヤレス通信チャネルを確立させ、顧客サービス担当者は、エラーに対処するためのさらなる命令を与え得る。いくつかの例では、リモートコンピューティングシステム200は、オーディオメディアデバイス400に、ユーザ100が、オーディオメディアデバイス400を使って顧客サービス担当者に接続されたいかどうかをユーザ100に尋ねさせる。ユーザ100は、可聴的に承諾し、オーディオメディアデバイス400は、リモートコンピューティングシステム200からユーザの連絡先情報にアクセスし、ユーザデバイス202を顧客サービスと接続する。たとえば、エラーが、移動ロボット300が保守のために修理店に出荷されることを必要とする場合、オーディオメディアデバイス400は、ユーザ100が、修理プロセスに関する情報を受信できるように、顧客サービス担当者とのワイヤレス通信チャネルを確立する。いくつかの例では、オーディオメディアデバイス400は、所定の数の命令が与えられるまで、可聴命令を発出する(1010)。
【０２１０】
他の代替例
図3Aは、真空掃除ロボットに関して記載されているが、他の移動ロボットタイプが、本明細書に記載するプロセスから利益を受ける。いくつかの例では、移動ロボットは、屋外環境においてナビゲートする屋外ロボットである。移動ロボットは、草または屋外環境の他の刈取り可能エリアを切る回転可能ブレードをもつロボット芝刈り機であってよい。コマンドプロセス700中、ユーザ100は、ロボット芝刈り機に芝刈り動作を実施させるためのボイスコマンドを、オーディオメディアデバイス400に与えることができる。ユーザ100は、ブレードアセンブリの高さまたは切られるべき草の高さなど、ロボット芝刈り機についての設定を指定するためのボイスコマンドを、オーディオメディアデバイス400へ発行することができる。屋外環境が、ロボット芝刈り機によって切られるべき複数の芝生を含む場合、ボイスコマンドは、特定の芝刈り動作中に切られるべき特定の芝生を示し得る。通知プロセス800中、オーディオメディアデバイス400は、ロボット芝刈り機によって実施される芝刈りミッションに関するステータス更新を与えることができる。推奨プロセス900中、オーディオメディアデバイス400は、緩衝器、ブレード、またはブレードアセンブリなど、ロボット芝刈り機用の交換可能部品を購入するための可聴要求を発出し得る。ロボット芝刈り機はしたがって、これらの交換可能部品の運用性を検出するセンサを含み得る。エラー訂正プロセス1000中、オーディオメディアデバイス400は、たとえば、ロボット芝刈り機のブレードまたはブレードアセンブリに関連付けられたエラーの根本に対処するための命令を発出し得る。
【０２１１】
移動ロボット300が掃除ロボットである場合、移動ロボットは、掃除パッドが搭載され得る掃き掃除またはモップがけロボットであってよい。いくつかのケースでは、掃除ロボットは、掃除ロボットが家10の中をナビゲートするとき、床面上に液体をスプレーする。掃除ロボットが床面を横切るときに掃除パッドが液体を吸収するように、掃除パッドが掃除ロボットに搭載される。コマンドプロセス700中、ユーザ100は、掃除ロボットについての掃除動作を制御するためのボイスコマンドを、オーディオメディアデバイス400に与えることができる。いくつかのケースでは、ボイスコマンドは、掃除動作中に掃除ロボットからスプレーされる液体の量を調節するのに使われる。通知プロセス800中、オーディオメディアデバイス400は、掃除パッドの状態、たとえば、掃除ロボットに搭載された掃除パッドが交換されるべきかどうかに関するステータス更新を与え得る。
【０２１２】
推奨プロセス900中、オーディオメディアデバイス400は、検出された床面タイプに基づいて、使われるべき特定の掃除パッドを推奨し得る。掃除ロボットに搭載され得る異なるタイプのパッドは、たとえば、乾拭きパッド、水拭きパッド、または濡れモップがけパッドを含む。濡れモップがけパッドは、たとえば、水拭きパッドよりも大量の液体を吸収し、乾拭きパッドは、液体なしでの使用を意図している。移動ロボット300上でセンサを使って検出され得るか、またはユーザ100によって入力され得る、部屋の床タイプに基づいて、オーディオメディアデバイス400は、掃除パッドを推奨掃除パッドに変えるための可聴要求を発出し得る。たとえば、床面が木製表面である場合、オーディオメディアデバイス400は、ユーザ100が掃除ロボットに水拭きパッドを取り付けるための可聴要求を発出し得る。床面がタイル表面である場合、オーディオメディアデバイス400は、掃除ロボットに濡れモップがけパッドを取り付けるための可聴要求を発出し得る。いくつかの例では、リモートコンピューティングシステム200は、オーディオメディアデバイス400に、追加掃除パッドを購入するための可聴要求を発出させる。リモートコンピューティングシステム200は、たとえば、ユーザ100が移動ロボット300用の使い捨て掃除パッドを以前購入した購入日付を受信し、購入日付から、ユーザ100が、購入日付に基づいて追加掃除パッドを必要とする見込みがあると判断する。
【０２１３】
いくつかの例では、図3A〜図3Bおよび図11A〜図11Gに示すように、移動ロボット300は、家10を巡回し、家の中の状態を監視することが可能である。図11A〜図11Gの例に示すように、移動ロボット300は、床面と接しているとともにロボットシャーシ2010を支える、被駆動運動性部材232A、232Bを含む。被駆動運動性部材232A、232Bは、移動ロボット300に家10内の床面を通行させるように、コントローラ、たとえば、マイクロプロセッサ2021によって指令可能である。マイクロプロセッサ2021は、いくつかの例では、家10内の1つもしくは複数のマップされたロケーションまで、またはロケーションを通るように移動ロボット300をナビゲートする。
【０２１４】
移動ロボット300はカメラ2070Bを含み得る。カメラ2070Bは、いくつかのケースでは、検知システム(たとえば、検知システム308)の一部であり、他の実装形態では、カメラ2070Bは、検知システム308から独立して動作する。いくつかの例では、画像キャプチャシステム310がカメラ2070Bを含む。いくつかの例では、カメラ2070Bは、画像キャプチャシステム310から独立して動作する。いくつかの例では、移動ロボット300は高さ可変の部材を含む。高さ可変の部材は、たとえば、カメラ2070Bを支える、十分に格納可能な支柱280である。いくつかのケースでは、カメラ2070Bは、支柱280の上部に、たとえば、支柱280の先端に搭載される。いくつかの実装形態では、検知システムは、移動ロボット300のシャーシ2010上に搭載されたナビゲーションおよび環境センサを含む。検知システムは、たとえば、ワイヤレスネットワーク回路と通信するネットワークエンティティのロケーションおよびステータスを検出するように構成され、ネットワークエンティティは家10内に備えられている。
【０２１５】
いくつかのケースでは、移動ロボット300によって、たとえば、カメラ2070Bによって撮像および/または検出された状態が、リモートユーザ100が、複数の視点から家10を眺めることができるようにする仮想現実ポータルにおいて提示される。ユーザ100は、家10のエリアを眺めるために、移動ロボット300を、家10を通るように手動で駆動する必要なく、仮想現実ポータル中で複数の部屋を通る、および部屋内での動きをシミュレートするために、提示された画像と対話することができる。いくつかの例では、仮想現実ポータルは、家10の、没入型、高精細、対話型3D写真再現である。画像は、移動ロボット300が家10の中をナビゲートするときに移動ロボット300によって撮像されたロケーションの連続性を保存する対話型3D写真再現を形成するように合成される(たとえば、絶えずおよび/または継続的にスティッチングされる)。カメラ2070Bが支柱280上に搭載されるケースでは、支柱280が垂直に動かされると、カメラ2070Bの複数の垂直視点が合成される。垂直視点は、移動ロボット300が家10を通行すると、調節され得る。
【０２１６】
いくつかの実装形態では、移動ロボット300は、カメラ2070Bが、たとえば、シャーシ2010または支柱280の回転を通して回転する間にカメラ2070Bが家10の画像をキャプチャする間に、垂直軸Zの周りの場所で回転する。いくつかの実装形態では、マップされたロケーションのうちの1つが、1つまたは複数の自動的に選択されたおよび/またはユーザ選択カメラ高さ位置を有する。ロケーションは、デフォルト時間経過もしくは距離間隔で、および/または家10内のユーザ選択ロケーションに位置付けられる。いくつかの実装形態では、カメラ2070Bは、2つおよび4つの画像の間に集まる。いくつかの実装形態では、カメラ2070Bは、関心ロケーションにおける360度回転中、4と8の高解像度の間に集まる。いくつかの実装形態では、支柱280は、シャーシ2010の上面と同じ高さの位置と、1.5メートル(たとえば、5フィート)の高さとの間に拡張する。ロケーションベースの画像はしたがって、リモートユーザ100が、ロボット300を、家10を通るように駆動する必要なく、リモートインターネットアクセス可能デバイスの人間可読ディスプレイ上でナビゲートすることができる仮想表現で与えられる、家10の対話型探検可能ビューを与える。
【０２１７】
いくつかの実装形態では、移動ロボット300が関心ロケーションへ移動するよう要求することによって、没入型、対話型3D写真再現において、および/またはリアルタイムビデオフィードにおいて、システムのリモートユーザ100が、隣接するロケーションの間を動くとともに、関心ロケーションを複数の視点からより徹底的に選択的に調べる間に、第1の人間視点から家10を眺める。いくつかの例では、移動ロボット300は、ロボット300の周りの360度ビューで生活空間を撮像するためのデフォルトロケーションLx1、Lx2、Lx3...Lxnを選択し、かつ/またはシステムのリモートユーザ100は、移動ロボットが通行中に家10のロケーションベースの画像を集めるロケーションの一部もしくは全部を選択する。システムは、いくつかのケースでは、毎日家10を通る、移動ロボット300の複数の巡回から、複数のリモートにアクセス可能な360度ビューを自動的に生成し、ユーザ100は、これらの記録された、タイムスタンプされた巡回に、リモートインターネットアクセス可能デバイスの人間可読ディスプレイ上の選択リストからアクセスする。
【０２１８】
いくつかの実装形態では、移動ロボット300は、家10の中の非可視的条件(たとえば、温度、有毒物質、湿度、および類似の空気質測定値)をリモートに監視し、仮想現実ポータル内の可視的な情報アイコンおよび/または対話型メニューを、状態が測定される、表示されるロケーションLx1、Lx2、Lx3...Lxnにおいて重ねるために使われる。いくつかの実装形態では、移動ロボット300は、間取り通行中に家10から情報を収集するように構成された1つまたは複数の搭載環境センサを含み、監視システムは、家10の対話型3D写真再現を通して、状態を監視しているリモートユーザ100に情報を提示する。いくつかの実装形態では、システムは、移動ロボット上に搭載されない1つまたは複数の静止センサも含み、これらの静止センサは、家10の対話型3D写真再現を通して、状態を監視しているリモートユーザに提示されるデータを収集するために、生活空間を監視するのに使われる。いくつかの実装形態では、移動ロボット300は、家10を監視する静止センサの状況を検出し、リモートユーザディスプレイにおいて、システムは、家10の対話型3D写真再現において静止センサに隣接する参考および/または対話型メニューを与える。
【０２１９】
サーモスタット、空気清浄機および加湿機などのネットワークエンティティは、静止しており、通常、生活空間中の1つまたは2つのロケーションに位置し、それらの中の静止センサが、その特定の唯一の不変ロケーションにおける比較的局地化された気流を測定する。移動ロボット300は、ネットワークエンティティから離れているか、またはネットワークエンティティに直には隣接しない別の区画もしくは部屋の中のロケーションにアクセスするという利点を与える。生活空間全体における温度、空気質および湿度を監視および測定することによって、移動ロボット300は、さもなければ静的ネットワークエンティティによってアクセス不可能な情報を与える。
【０２２０】
図3A〜図3Bおよび図11A〜図11Gを参照すると、例示的な移動ロボット300は、シャーシ2010、コントローラ306、メモリ318、バッテリー2024、バッテリー充電器2026、駆動システム2030、地図作成/ナビゲーションシステム2040、ワイヤレス通信システム316、IRエミッタ2060、センサ2070A〜N、310、および314、インジケータライト2074A、オーディオトランスデューサ2074B、ならびに障害物回避および検出のための構造化光センサ2070Kを含む。コントローラ306は、どの適切に構成されたプロセッサ2021(たとえば、マイクロプロセッサ)またはプロセッサを含んでもよい。マイクロプロセッサ2021は、コントローラ306、メモリ318、センサ2070A〜N、310および314、ならびに駆動システム2030と通信する。いくつかの実装形態では、カメラ2070Bは、2D画像、全景、ビデオおよび/または3Dモデルを集める撮像デバイスである。
【０２２１】
ワイヤレス通信システム316は、ワイヤレス通信送信機またはモジュール2052(たとえば、Wi-Fiモジュール)、ならびにロボット300とハブ110(Google OnHub wi-fiアクセスポイントなど)および/または私設ネットワーク160)との間のワイヤレス通信を(すなわち、WAP164を介して可能にするための、関連付けられたアンテナ2054を含む。異なる様々なネットワーク構成が、移動ロボット300がノードを構成する私設ネットワーク160用に利用され得る。いくつかの例では、ロボット300は、WAP164によりルータ162を通してハブ110とワイヤレスに通信する。いくつかの例では、移動ロボット300は、ハブ110を迂回し、ルータ162およびWAP164を介してリモート管理サーバ204と通信する。
【０２２２】
図3Bに戻ると、いくつかの実装形態では、ロボット300は環境センサを含む。例示的なロボット300は、以下の環境センサ、すなわちIR放射検出器2070A、カメラ2070B、周辺温度センサ2070C、周辺光センサ2070D、音響センサ314(たとえば、マイクロフォン)、動き検出器2070F(たとえば、受動IRフォトダイオード)、超音波センサ2070G、圧力センサ2070H、空気質センサ2070I、および湿気センサ2070Jを含む。これらのセンサは、ロボット300上に設けられ得るセンサのタイプを網羅するものではなく、センサのうちのいくつかは、ロボット300によって検出されるべき環境パラメータによっては省かれてよい。
【０２２３】
いくつかの実装形態では、移動ロボット200は、家10を通過する間の障害物検出および障害物回避(「ODOA」)のためのセンサを含む。これらのセンサは、超音波センサ2070G、赤外線エミッタ/検出器近接センサ2065、およびPixArt製などの構造化光センサ2070Kなどの静止障害物および非接触センサと接触するとトリガされる機械的緩衝器切替えセンサ2032を含む。
【０２２４】
いくつかの実装形態では、上で詳しく記載したように、移動ロボット300は、家10の自律ナビゲーションおよび地図作成のための地図作成/ナビゲーションシステム2040を含む。移動ロボット300は、視覚的自己位置推定および地図作成の同時実行(「VSLAM」)用のカメラ310、マウスセンサ2070M、3軸加速度計および3軸ジャイロスコープ付きIMU2070L、ならびに/または空間10に対するロボット300の位置を判断もしくは登録するため(すなわち、空間10中でロボット300を位置推定するため)のホイールオドメーター2070Fなど、自律ナビゲーションのためのセンサを含む。ロボット300は、その搭載センサ2070A〜Jによって収集された示度のロケーションを位置推定し得る。マシンビジョン(たとえば、カメラ310および特徴認識もしくはクラス認識ソフトウェアを使う)、光ビーコン、または無線周波数受信信号強度インジケータ(RSSI)技術など、どの適切な技法および構成要素が、ロボット300を位置推定し、登録するのに使われてもよい。
【０２２５】
いくつかの実装形態では、移動ロボット300は、観察される対象に対して、移動ロボット300の現在の姿勢を判断するために、空間内の対象からのセンサ示度を観察する少なくとも1つの定位センサを含む。移動ロボット300は、部屋の中に配備された、観察される対象に特に関連付けられた部屋識別子に、姿勢を関連付ける。いくつかの実装形態では、自律移動ロボット300は、この地図内をカバーするのと同じときに漸進的に向上する地図を構築し、地図データ(たとえば、地図データのセット全体、地図データの簡略化表現、または地図データの抽象化)をリモートコンピューティングシステム200へ送信する。そのデータもしくは表現および/または抽象化を用いて公衆インターネット205に到達するために、マイクロプロセッサ2021、ワイヤレス送信機2052、ワイヤレス受信機2054、および/またはトランシーバ(それら自体の埋め込みマイクロプロセッサをもつものを含む)は、IP(インターネットプロトコル)を使って通信し、公衆インターネット205、またはリモートコンピューティングシステム200用の従来のアドレス指定およびパケット化をサポートすることになる。
【０２２６】
地図データベースまたはカバレージデータベースのどの部分も、ロボット300以外のロケーション、たとえば、家10内のローカルハブ110もしくはゲートウェイ、リモートコンピューティングシステム200上のハブ、ゲートウェイ、サーバ204もしくは同様のもの、またはインターネット上で利用可能なそれらの仮想化インスタンスへ送信され、そこに記憶され得る。いくつかのケースでは、移動ロボット300は、その地図をリモートコンピューティングシステム200へ送信し、オーディオメディアデバイス(AMD)400は、この地図に、測定データの可聴要約をユーザ100に与えるためにリモートコンピューティングシステム200からアクセスする。いくつかの例において、AMD400は、測定された状態に応答して、家10の中の被接続デバイスのパラメータの修正に関して、ユーザ100に問い合わせる。AMD400は、換気口を閉じ、または比較的暖かい部屋ではブラインドを閉じるなど、AMD400に、推奨アクションを進めるよう、ユーザ100が言葉で命令したことに従って、それらの変更に影響する。
【０２２７】
リモートコンピューティングシステム200は、家10についての最新の物理的地図および他の空間情報のデータベースと、移動ロボット300によるデータ収集とを維持する。リモートコンピューティングシステム200中の地図は、家具、被接続電灯または器具のような、家の中の被接続デバイス、および温度地図または照明地図のような、家についての空間情報のレイヤなど、適切な対象のロケーションを含む。この情報を用いて、リモートコンピューティングシステムは、重要な空間分析動作を実施する。たとえば、ユーザ100が、リビングルームにあるカウチにおいて読書灯を欲する場合、リモートコンピューティングシステム200は、家10の物理的地図に基づいて、どの電灯をつけるべきかと、どの程度明るくするかとを判断する。異なる光源がカウチの周りのエリアの照度にどのように影響を与えるかを理解するとともに、リビングルーム、カウチ、および近くの光源のロケーションの知識を用いて、リモートコンピューティングシステム200は、被接続照明を調節する。移動ロボット300は、地図を構築し、この地図を、各ミッションまたは家10の定期的巡回で永続的に維持する。地図は、環境の通行可能な床空間、たとえば、移動ロボット300が通過し得る、障害物のない床空間における変化とともに繰り返し向上し、かつ/または変わる。移動ロボット300は、家屋10を動くとき、どこに壁があるかのような、空間の構造を識別して、空間の物理的地図を構築する。これは、物理的地図は、家10の空間およびレイアウトを理解するための基礎であるので、重要なステップである。初期インストール時、移動ロボット300は、地図を最初から探検し、構築しなければならない。ただし、時間とともに、移動ロボット300は、全体的地図を学習し、またはリモートコンピューティングシステムからアクセスし、地図を使って、家10を体系的にナビゲートし、何かが変わったときを認識し、プロセス中で地図を更新する。
【０２２８】
移動ロボット300は、家10の中を動いている間に、標示され、地図に追加され得る共通するいくつかの家具または器具などの関心対象を検出する。空間中での対象の理解は、カウチのそばに読書灯を与えるための要求に応答するなど、より高いレベルのタスクを実施する際に有用である、より豊かなレベルの理解をリモートコンピューティングシステム200に与える。ユーザ100は、AMD400、子供のバックパック、特別な玩具または飼い犬など、他の特定の関心アイテムを移動ロボット300に示している場合もある。これらのアイテムのロケーションは、移動ロボット300に遭遇すると、地図上で更新される。さらに、空間中の対象の理解を与えられると、部屋20も標示され得る。冷蔵庫は台所にある。ベッドは寝室にある。これは、追加の意味論的コンテキストをロボット地図に与え、AMD400は、ローカルユーザ100に口頭通知を与えるために、この情報にアクセスする。
【０２２９】
移動ロボット300はまた、標準プロトコルを通して、家の中の被接続デバイスを発見し、それらを地図上で位置推定する。これは、被接続電灯およびスピーカー、通気口、ドアおよび窓センサ、ならびに家10の中の他の被接続デバイスの位置を含む。移動ロボット300は、家10をローミングし、RF署名、視覚認識、受信信号強度および他の方法を使って、家10の中の被接続デバイスを認識し、それらを、家10のロボット地図上に自動的に置く。たとえば、移動ロボット300は、家10を探検し、リビングルームの壁にあるNESTサーモスタット、台所にある被接続SAMSUNG冷蔵庫、およびファミリールームと寝室の両方にあるHUE BLOOMライトを認識する。移動ロボット300は、認識されたデバイスを地図に載せ、ユーザ100およびAMD400が、被接続デバイスのこの空間知識を利用することを可能にする。たとえば、ユーザは、「寝室の電灯をつけて」という言葉を話すことによって、寝室の電灯をつけることができる。本明細書に記載する、AMD400と移動ロボット300の対話は、この単純な発話制御を、家10を巡回する移動ロボット300によって検出されたデバイスを介して可能にする。
【０２３０】
いくつかの実装形態では、移動ロボット300は、様々な被接続デバイスを制御して、それらがどのように家10に影響するかを学習する。たとえば、移動ロボット300は、家10全体の照度レベルをサンプリングして、異なる電灯が異なる時刻にスイッチオンおよびオフされるシナリオのための空間照度地図を発展させる。これにより、個々の光源の制御に基づいて、家10全体のいくつかの照明プロファイルをどのようにして獲得するかを理解できるようになる。同様に、これは、スピーカーおよび音またはボリュームプロファイル、気候制御口を通る気流、および温度プロファイルのためにも行われ得る。これはすべて、移動ロボット300が、リモートコンピューティングシステム200に、家10の豊富な標示付き地図を与えることにつながる。キーとなる対象およびデバイスのロケーションを伴う空間のレイアウトのこの統合理解が、スマートホーム10(たとえば、被接続デバイスが備え付けられた家)がそれ自体を管理し、使いやすいスマートホーム能力をユーザ100に届けることを可能にするのに必要とされる貴重な空間分析のための土台を与える。
【０２３１】
ある実装形態における図12に移ると、移動ロボット300は、閉鎖空間、たとえば、家10または家10内の部屋20の自律巡回および地図生成を始める。閉鎖空間の間取りを通行する間に、移動ロボット200は、巡回経路1200に沿ったマーキング中間地点を含む、閉鎖空間の地図を自律的に構築する。いくつかの実装形態では、移動ロボット300は、閉鎖空間中を様々な中間地点ロケーションL1、L2、L3...Lnにおいて、垂直Z軸(図11Eに示す)の周りを所定位置で回転する。これらのロケーションL1、L2、L3...Lnは、ロボット300が、画像データ、巡回経路1200に沿って静止ネットワーク化デバイスから収集されるデータおよび移動ロボット1200のセンサによって検出される、他の環境的に検知されるデータを、処理およびリモートユーザ端末144での、および/または閉鎖空間中で、聞き取れるメッセージ通信をユーザ100に与えるAMD400によるエンドユーザ100への提示のために収集するための監視ミッションで閉鎖空間を通行するときのロボット巡回経路1200に沿った中間地点である。図12における家10の概略間取り図に示すように、ロケーションは、地図のグローバル座標系に対する2次元座標を有する。たとえば、いくつかの実装形態では、ロボット300は、ロボットドックが位置するロケーションL0において巡回を始める。ロケーションL0は、たとえば、ロボットドックのロケーションに対応し、ロボット地図上ですべての他のロケーションL1、L2、L3...Lnが参照されるグローバル原点である。いくつかの実装形態では、ロボット300は、デフォルト時間間隔および/または移動した距離に基づいて通過を停止し、回転するべきロケーションL1、L2、L3...Lnを自動的に選択する。たとえば、一実装形態では、ロボット300は、4フィートごとに停止し、各停止ロケーションL1、L2、L3...Lnにおける360度ロボットビューを表す画像を集めるために回転し、集められた画像を、ロボット300上にある、またはそれ以外の所にあるメモリに記憶された画像データベースにアップロードする。他の実装形態では、リモートユーザ端末におけるリモートユーザが、ロボット300が停止する1つまたは複数のロケーションLx1、Lx2、Lx3...Lxnをあらかじめ選択する。いくつかの実装形態では、ロボット300は、ロボットデフォルトとあらかじめ選択されたユーザロケーションL1、Lx1、L2、Lx2、L3...Lnの組合せにおいて停止する。
【０２３２】
いくつかの実装形態では、AMD400は、移動ロボット300から離れており、閉鎖空間または家10内で静止している。家10を通過する間に、移動ロボット300は、AMD400を検出し、AMDロケーションをロボット地図上に記憶し、これは、AMDならびに他のネットワーク化デバイスおよびロボットと、直接またはリモートコンピューティングシステム200(たとえば、クラウド)を通して共有可能である。他の実装形態では、AMD400は、ロボットシャーシ2010上に含まれ、移動ロボット300とともに動く。いくつかの実装形態では、AMD400は、ロボット300のシャーシ内に十分に埋め込まれ、他の実装形態では、AMD400は、家屋10の中の様々な移動ロボット300、301に交換可能に取り付けられたポータブル着脱可能デバイスである。
【０２３３】
移動ロボット300がAMD400を装備する例では、家10において、ボイス対話がロケーションアウェアになる。ロボット300が台所にいるときの「電灯を消して」というボイスコマンドは、被接続台所電灯を消し、リビングルームにいるときは、被接続リビングルーム電灯を消す。同様に、ユーザ100が、温度を設定し、被接続スピーカー上のオーディオボリュームを調節するための組み込みAMD400を有する移動ロボット300に話しかけることができる。たとえば、ユーザ100が「ボリュームを下げて」と言い、AMD装備ロボット300は、ユーザ100のロケーションにあるスピーカーのボリュームを下げる。
【０２３４】
上述したように、いくつかの実装形態では、移動ロボット300は、家10中のセンサ示度をサンプリングし、それらを使って、応答/アクションにおいてより洞察的になる。たとえば、移動ロボット300が、台所において、およびリビングルームにおいて温度示度をとった場合、ユーザ100は、「リビングルームの温度を、ダイニングルームの温度と同じ設定にセットして」と言うことによって、AMD装備移動ロボット300に、両方の部屋の温度を均一に調節するよう、命じることができる。いくつかの実装形態では、移動ロボット300は、異なる電灯がスイッチオンおよびオフされる家全体で照度レベル示度をとり、各個々の電灯が、空間の照明にどのように影響を与えるかを学習する。次いで、ユーザ100が、リビングルームにおいてより多くの光を依頼した場合、移動ロボット300は、家10の中でのそのロケーションを知っているので、家10の中の所与の空間により多くの照明を与えるように、適切に電灯をつけることができる。
【０２３５】
ユーザ100は、「勝手口のWi-Fi信号強度はどれくらい?」のような問合せで、AMD装備移動ロボット300に問い合わせる場合もある。移動ロボット300は、勝手口に行き、センサ示度をとり、可聴的および/または視覚的に(たとえば、スマートフォンアプリ、SMS、テキストメッセージ、eメールまたはバナーアラート上で)ユーザ100に結果を知らせればよい。別の例では、ユーザ10は、「今日、家のどこかで90%を超える湿度を検出した?」と言葉で尋ねるなどして、家10の中で監視される環境状態についての質問を、AMD装備移動ロボット300に尋ねる場合もある。AMD装備移動ロボット300は次いで、可聴および/または視覚応答を生じることによって応答する。
【０２３６】
AMDの構成要素に関して上述したように、音位置推定は、AMD装備移動ロボット300が、ロボット300に対して話者であるユーザ100の相対ロケーションを知ることを可能にし、移動ロボット300は、AMD400上の方向検知マイクロフォンによって検出された、話しているユーザ100の方向を向くことによって、「ここに来て」などのコマンドに応答することができる。移動ロボット300は、AMD400を検出し、そのロケーションをロボット地図に載せるので、また、ロボット地図はリモートコンピューティングデバイスおよびAMDと共有されるので、通信ネットワーク201は、話しているユーザ100までの距離を判断することができる。たとえば、AMD400は、AMD400上に位置付けられたそのマイクロフォンのうちの1つまたは複数において、ユーザ100からの多重経路ボイス反射を検出し得る。ユーザ100の声が跳ね返る1つの壁または複数の壁に対したマイクロフォンの距離および配向を知ったうえで、AMD400および/またはリモートコンピューティングシステム200は、これらの多重経路信号を使って、検出されたボイスコマンドの起点を、三角測量および基本三角法に基づいて算出することができる。いくつかの実装形態では、リモートコンピューティングシステム200および/またはAMD400は、ロボット地図上での話しているユーザの姿勢を算出する際にノイズおよび/または減衰を補償する。たとえば、ユーザ100は、「ここに来て、今日はここにいて」と移動ロボット300に言う場合があり、移動ロボット300は、ユーザ100のロケーションへ動く。同様に、ユーザ100が、AMD装備移動ロボット300を、歩いているユーザ100の後ろについて来させるために、「ついて来て」という言葉を音声化する場合がある。ユーザは、「こっちを向いて」と言う場合があり、AMD装備移動ロボット300は、その前方部分を、ユーザ100を向くように方向付け直す。
【０２３７】
ユーザ100がボイスコマンドを与えたが、AMDデバイス400が聞くのに問題があった場合、AMD装備移動ロボット300は、より可聴的に、およびユーザ100にボイスコマンドを繰り返すよう依頼するために、ユーザ100により近い位置に、または別のノイズ源から離れて方向付け直し、かつ/または動けばよい。
【０２３８】
いくつかの例では、ユーザ100は、移動ロボット300を対象の方へ動かすための可聴コマンドを与える。可聴コマンドに応答して、移動ロボット300は、対象の方へ自律的にナビゲートする。いくつかのケースでは、移動ロボット300は、対象に近接する位置まで移動ロボット300が自律的に動いた後、カメラ310または支柱280によって支えられる他のセンサが対象に向けられるように、支柱280を、シャーシ2010に対する高さまで動かす。
【０２３９】
いくつかの実装形態では、ユーザ100は、AMD装備移動ロボット300に、家10の中のどこか他の所の、視覚または他のタイプのセンサ検査を必要とするアイテムを問い合わせる場合がある。たとえば、ユーザ100は、「玄関ドアは開いている?」と尋ねる(玄関ドアが、インターネットも、LAN接続された開/閉センサも有していないと仮定する)。AMD装備移動ロボット300は、玄関ドアへ行き、ロボットのカメラおよび/または近接センサもしくは他の測距センサでドアを視覚的に検査して、質問に答えるのに必要とされるデータを獲得する。データは、リモートコンピューティングシステム200へ処理のために送られ、AMD装備移動ロボット300は、ユーザ100の所に戻り、質問への応答を可聴的に発音する。このようにして、ユーザ100は、AMD装備移動ロボット300に、モビリティおよび地図作成を必要とする任意の数のステータス条件を求めて巡回をするよう依頼することもできる。たとえば、ユーザは、AMD装備移動ロボット300に、「書斎の窓は開いている?」「台所の電灯はついている?」「リビングルームに誰かいる?」という質問を尋ねればよい。それに応答して、AMD装備移動ロボット300は、目的地に行って、問合せに応答してデータを収集する。
【０２４０】
同様に、ユーザ100は、AMD装備移動ロボット300に、家10の中の対象のロケーションを尋ねることもできる。一実装形態では、ユーザ100が、「わたしのバックパックはどこ?」という言葉を話し、AMD装備移動ロボット300は、バックパックを探して家屋10を動き回る。一実装形態では、AMD装備移動ロボット300は、最近のミッションまたは巡回中に家10で撮像された、識別された対象のピクチャにアクセスし、対象が見つかり、画像の搭載コレクションまたはリモートコンピューティングシステム400に記憶された画像のコレクションと突き合わせて証明されると、識別された対象のロケーションをユーザに報告する。いくつかの実装形態では、ユーザ100が、AMD装備移動ロボット300に、RF署名を有するデバイスを見つけるよう依頼する。たとえば、ユーザ100がAMD装備移動ロボット300に、「わたしの電話はどこ?」と尋ねた場合、移動ロボット300は、家10中で無線周波信号を探索して、ユーザ100に関連付けられた電話のBluetooth IDを、リモートコンピューティングシステム200および/または移動ロボット300上の、またはそれらにとってアクセス可能なデータベース中で探す。AMD装備移動ロボット300は次いで、ユーザ100に電話のロケーションを、可聴的および/または可視的に警告する。移動ロボット300はAMD400を装備するので、移動ロボット300は、平易な言語でユーザに自然に話しかけるように整えられている。たとえば、AMD装備移動ロボット300は、ユーザに、「あなたの電話は、リビングルームの、カウチの上のここにあります」と言う。これにより、ユーザ100が端末またはユーザデバイス202上でアプリケーションまたはウェブページにログインする必要がなくなる。ユーザ100は、移動ロボット300に命じ、家10全体の被接続デバイスを制御するために、リアルタイムの自然な発話対話にのみ依拠する必要がある。
【０２４１】
いくつかの実装形態では、ユーザは、AMD装備移動ロボット300へのコマンドおよび問合せを、「充電ドックに戻って」、「カメラをプライバシーモードにして(たとえば、支柱280を下げて)」、「ロケーションに行って」、「運転速度を上げて/下げて」、「カメラ支柱を持ち上げて」、「向きを変えて」、および「この部屋を出て」などの言葉で表す。ユーザ100はしたがって、ロボットに命じるために、アプリにログインする必要も、別のオンラインポータルもしくはリモートコントロールを使う必要もない。簡単な話し言葉が、追加レベルの非効率または複雑さを必要とせずに、移動ロボット300に命じる。
【０２４２】
いくつかの実装形態では、オーディオメディアデバイス400は、移動ロボット300の監視システム(たとえば、カメラ310、2070B)を活動化し、非活動化するための代替ユーザインターフェースである。ユーザ100は、AMD装備移動ロボット300に、外出時に家を巡回し、または家10に到着すると夜間はシャットダウンするようボイスコマンドで命じることができる。
【０２４３】
いくつかの実装形態では、AMD400は、ユーザ100が、移動ロボット300の監視システムを活動化または非活動化するための可聴パスワードを確立できるようにする。
【０２４４】
いくつかの実装形態では、AMD400は、ユーザ100が、ロボットのカメラ310、2070Bから画像またはビデオをとるよう、移動ロボット300にAMD400を介して命じることができるようにする。これは、オーディオメディアデバイスを介して、ロボット300に、カメラ310、2070Bの前に立っているユーザ100を認識するように言うなど、ユーザ識別に使うことができる。追加レベルのセキュリティ/認可として、いくつかの実装形態では、移動ロボット300は、オーディオメディアデバイス400を介してアクセス可能な機能へのあるレベルまたは複数のレベルのアクセスをロック解除することの一部として、ユーザ100を識別しなければならない。
【０２４５】
いくつかの実装形態では、オーディオメディアデバイス400は、監視ロボット300による検出またはアクションに応答して、ユーザ100に可聴応答を促す。たとえば、移動ロボット300は、ミッション中に家の中で人を検出した場合、その人に、自分を識別し、かつ/またはオーディオメディアデバイス400を介して付加情報を与えるよう命令する。
【０２４６】
いくつかの実装形態では、移動ロボット300のカメラ310、2070Bは、オーディオメディアデバイス400を補う代替ユーザインターフェースである。一例は、ジェスチャーに応答して、移動ロボット300が、オーディオメディアデバイス400の動作ならびに/またはオーディオメディアデバイス400および/もしくはリモートコンピューティングシステム200に接続された他のデバイスの動作に影響するようにコマンドをオーディオメディアデバイス400に中継するように、カメラをジェスチャー認識に使うことであろう。たとえば、ユーザ100は、ボイスコマンドにより、オーディオメディアデバイス400に電灯を調節するように言い、次いで、移動ロボット300上のカメラ310、2070Bは、ユーザ100が手および/または腕を上げるのを検出し、AMD400および/またはリモートコンピューティングシステムに、それに従って電灯のレベルを上げるか、または下げるよう命じる。
【０２４７】
本明細書に記載する自律移動ロボットは、少なくとも部分的には、1つまたは複数のデータ処理装置、たとえば、プログラム可能プロセッサ、コンピュータ、複数のコンピュータ、および/またはプログラム可能論理構成要素の動作による実行のために、またはそれらを制御するために、1つまたは複数のコンピュータプログラム製品、たとえば、1つまたは複数の非一時的機械可読媒体など、1つまたは複数の情報キャリア中で有形に実施された1つまたは複数のコンピュータプログラムを使って制御され得る。
【０２４８】
本明細書に記載する自律移動ロボットの制御に関連付けられた動作は、本明細書に記載する機能を実施するように1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラム可能プロセッサによって実施され得る。コンピュータプログラムは、コンパイルまたはインタープリタ型言語を含む、どの形のプログラミング言語で書かれてもよく、スタンドアロンプログラムとして、またはモジュールとして、コンピューティング環境での使用に適した構成要素、サブルーチン、または他のユニットを含む、どの形でも展開することができる。本明細書に記載したロボットの全部または一部に対する制御は、特殊目的論理回路要素、たとえば、FPGA(フィールドプログラム可能ゲートアレイ)および/またはASIC(特定用途向け集積回路)によって実装されてよい。
【０２４９】
本明細書に記載するコントローラは、1つまたは複数のプロセッサを含み得る。コンピュータプログラムの実行に適したプロセッサは、例として、汎用および特殊目的マイクロプロセッサの両方、ならびに任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサも含む。概して、プロセッサは、読出し専用記憶域もしくはランダムアクセス記憶域または両方から、命令およびデータを受信することになる。コンピュータの要素は、命令を実行するための1つまたは複数のプロセッサと、命令およびデータを記憶するための1つまたは複数の記憶域デバイスとを含む。概して、コンピュータは、データを記憶するための大容量PCBなど、1つまたは複数の機械可読記憶媒体、たとえば、磁気、光磁気ディスク、または光ディスクも含み、あるいは大容量記憶デバイスからデータを受信し、もしくはデータを転送し、または両方を行うように大容量記憶デバイスに動作可能に結合されることになる。コンピュータプログラム命令およびデータを実施するのに適した機械可読記憶媒体は、例として、半導体記憶域デバイス、たとえば、EPROM、EEPROM、およびフラッシュ記憶域デバイスと、磁気ディスク、たとえば、内部ハードディスクまたは取外し可能ディスクと、光磁気ディスクと、CD-ROMおよびDVD-ROMディスクとを含む、あらゆる形の不揮発性記憶域を含む。
【０２５０】
いくつかの実装形態を記載した。それにも関わらず、様々な修正が行われてよいことが理解されよう。したがって、他の実装形態は、特許請求の範囲内である。
【符号の説明】
【０２５１】
100  ユーザ、リモートユーザ、エンドユーザ
102  リンクされたデバイス
104  ドッキングステーション
106  送信ユニット
144  リモートユーザ端末
200  リモートコンピューティングシステム
201  通信ネットワーク
202  モバイルコンピューティングデバイス
204  サーバ、リモート管理サーバ
205  クラウドコンピューティングネットワーク、公衆インターネット
232  被駆動運動性部材
280  支柱
300  移動ロボット、ロボットデバイス、ロボット、自律移動ロボット、AMD装備移動ロボット
301  第2の移動ロボット、ロボットデバイス、移動ロボット
302  駆動ホイール
304  キャスターホイール
306  コントローラ
308  検知システム
310  カメラ、可視光カメラ、画像キャプチャシステム
312  オーディオ発出システム
314  マイクロフォン、音響センサ
316  ワイヤレス通信システム
317  回転可能ローラーまたはブラシ
318  メモリ
400  オーディオメディアデバイス、AMD
402  マイクロフォンユニット
404  スピーカーユニット
406  視覚インジケータ
408  コントローラ
410  メモリ
412  ワイヤレス通信システム
502  オーディオメディアデバイス識別データベース
504  移動ロボット識別データベース
506  ユーザ識別データベース
508  コマンドデータベース
2010  ロボットシャーシ、シャーシ
2021  マイクロプロセッサ、プロセッサ
2024  バッテリー
2026  バッテリー充電器
2030  駆動システム
2032  機械的緩衝器切替えセンサ
2040  地図作成/ナビゲーションシステム
2052  ワイヤレス通信送信機またはモジュール、ワイヤレス送信機
2054  アンテナ、ワイヤレス受信機
2065  赤外線エミッタ/検出器近接センサ
2070A  IR放射検出器
2070B  カメラ、センサ
2070C  温度センサ、センサ、周辺温度センサ
2070D  周辺光センサ、センサ
2070F  動き検出器、センサ、ホイールオドメーター
2070G  超音波センサ、センサ
2070H  圧力センサ、センサ
2070I  空気質センサ、センサ、湿気センサ
2070J  空気水分含有量センサ、センサ
2070K  構造化光センサ、センサ
2070L  IMU、センサ
2070M  マウスセンサ、センサ
2074A  インジケータライト
2074B  オーディオトランスデューサ
【図１】
2019525273.tif 000003
【図２】
2019525273.tif 000004
【図３Ａ】
2019525273.tif 000005
【図３Ｂ】
2019525273.tif 000006
【図４】
2019525273.tif 000007
【図５】
2019525273.tif 000008
【図６Ａ】
2019525273.tif 000009
【図６Ｂ】
2019525273.tif 000010
【図７】
2019525273.tif 000011
【図８】
2019525273.tif 000012
【図９】
2019525273.tif 000013
【図１０】
2019525273.tif 000014
【図１１Ａ】
2019525273.tif 000015
【図１１Ｂ】
2019525273.tif 000016
【図１１Ｃ】
2019525273.tif 000017
【図１１Ｄ】
2019525273.tif 000018
【図１１Ｅ】
2019525273.tif 000019
【図１１Ｆ】
2019525273.tif 000020
【図１１Ｇ】
2019525273.tif 000021
【図１２】
2019525273.tif 000022
【国際調査報告】
2019525273.tif 000023
2019525273.tif 000024
2019525273.tif 000025
2019525273.tif 000026