(57)【要約】例示的な方法は、以前の期間中の環境を示し、一連の画像フレームを含むセンサデータのログを取得し、センサデータのログは以前の期間内の特定の時間における環境内の物理的物体を巻き込む衝突に関連すると判定することを含む。また、この方法は、センサデータのログが衝突に関連すると判定することに応じて、センサデータのログから衝突に対するトレーニングデータセットを生成することを含む。衝突に対するトレーニングデータセットは、特定の時間に対応する一連の画像フレーム内の画像フレームより前の一連の画像フレームの複数の画像フレームを含んでもよい。
2020529088.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータにより実行される方法であって、
コンピューティング装置によって、以前の期間中の環境を示し、一連の画像フレームを含む、センサデータのログを取得し、
前記コンピューティング装置によって、前記センサデータのログは、前記以前の期間内の特定の時間における前記環境内の物理的物体を巻き込む衝突に関連すると判定し、
前記センサデータのログが前記衝突に関連すると判定することに応じて、前記コンピューティング装置によって、前記センサデータのログから前記衝突に対するトレーニングデータセットを生成する、ことを含み、
前記衝突に対するトレーニングデータセットは、前記特定の時間に対応する前記一連の画像フレーム内の画像フレームより前の前記一連の画像フレームの複数の画像フレームを含む、コンピュータにより実行される方法。
【請求項２】
請求項１に記載のコンピュータにより実行される方法において、
前記センサデータのログが前記衝突に関連すると判定することは、前記衝突は前記物理的物体とロボット装置との間の物理的衝突であると判定することを含む、コンピュータにより実行される方法。
【請求項３】
請求項２に記載のコンピュータにより実行される方法において、
前記以前の期間の少なくとも一部に対応する加速度計データを取得することをさらに含み、
前記センサデータのログが前記衝突に関連すると判定することは、前記加速度計データは前記物理的物体と前記ロボット装置との間の衝突を示すと判定することを含む、コンピュータにより実行される方法。
【請求項４】
請求項２に記載のコンピュータにより実行される方法において、
前記以前の期間の少なくとも一部に対応する接触センサデータを取得することをさらに含み、
前記センサデータのログが前記衝突に関連すると判定することは、前記接触センサデータは前記物理的物体と前記ロボット装置との間の衝突を示すと判定することを含む、コンピュータにより実行される方法。
【請求項５】
請求項２に記載のコンピュータにより実行される方法において、
前記コンピューティング装置は、前記ロボット装置のコンピューティング装置である、コンピュータにより実行される方法。
【請求項６】
請求項２に記載のコンピュータにより実行される方法において、
前記センサデータのログは、前記以前の期間中の前記環境における前記ロボット装置の移動を示す速度データのログをさらに含み、
前記センサデータのログから前記衝突に対する前記トレーニングデータセットを生成することは、前記速度データのログの少なくとも一部をさらに含む前記トレーニングデータセットを生成することを含む、コンピュータにより実行される方法。
【請求項７】
請求項２に記載のコンピュータにより実行される方法において、
前記センサデータのログは、前記ロボット装置のペイロードを示すペイロードデータをさらに含み、
前記センサデータのログが前記衝突に関連すると判定することは、前記ペイロードデータは前記物理的物体と前記ロボット装置との間の衝突を示すと判定することを含む、コンピュータにより実行される方法。
【請求項８】
請求項１に記載のコンピュータにより実行される方法において、
前記センサデータのログが前記衝突に関連すると判定することは、前記衝突は前記物理的物体とロボット装置を囲む仮想境界との間の仮想衝突、または物理的物体を囲む仮想境界とロボット装置との間の仮想衝突であると判定することを含む、コンピュータにより実行される方法。
【請求項９】
請求項８に記載のコンピュータにより実行される方法において、
前記以前の期間の少なくとも一部に対応する近接センサデータを取得することをさらに含み、
前記センサデータのログが前記衝突に関連すると判定することは、前記近接センサデータは、前記物理的物体と前記ロボット装置との間の距離が、閾値距離よりも上回る状態から閾値距離よりも下回る状態へ移行していることを示すと判定することを含む、コンピュータにより実行される方法。
【請求項１０】
請求項１に記載のコンピュータにより実行される方法において、
前記センサデータのログが前記衝突に関連すると判定することは、前記衝突は、前記物理的物体と拡張現実グラフィック形態のソフトウェアロボットとの間の仮想衝突であると判定することを含む、コンピュータにより実行される方法。
【請求項１１】
請求項１０に記載のコンピュータにより実行される方法において、
前記一連の画像フレームの少なくとも２つの画像は、前記物理的物体までの距離を示す深度情報を含み、
前記センサデータのログが前記衝突に関連すると判定することは、前記深度情報に基づいて、前記物理的物体は第１位置から第２位置に移動し、および、第２位置は拡張現実グラフィックの位置と重なっていると判定することを含む、コンピュータにより実行される方法。
【請求項１２】
請求項１に記載のコンピュータにより実行される方法において、
前記複数の画像フレームは、１つ以上の画素の深度データを含み、前記深度データは、前記衝突前の前記物理的物体の動きを示す、コンピュータにより実行される方法。
【請求項１３】
請求項１に記載のコンピュータにより実行される方法において、
前記環境は、部屋を含み、
前記センサデータのログは、前記部屋の部屋種類を示す部屋情報をさらに含み、
前記センサデータのログから前記衝突に対する前記トレーニングデータセットを生成することは、前記部屋情報をさらに含む前記トレーニングデータセットを生成することを含む、コンピュータにより実行される方法。
【請求項１４】
請求項１に記載のコンピュータにより実行される方法において、
前記衝突に対するトレーニングデータセットを表す少なくとも１つのファイルを機械学習サーバ装置に送信することをさらに含み、前記機械学習サーバ装置は、前記トレーニングデータセットを用いて機械学習モデルをトレーニングするように構成される、コンピュータにより実行される方法。
【請求項１５】
請求項１に記載のコンピュータにより実行される方法において、
前記コンピューティング装置によって、前記トレーニングデータセットを用いて機械学習モデルをトレーニングすることをさらに含む、コンピュータにより実行される方法。
【請求項１６】
請求項１に記載のコンピュータにより実行される方法において、
前記環境を示す追加センサデータを受信し、
機械学習モデルを用いるコンピューティング装置によって、前記追加センサデータは前記環境内における将来の潜在的衝突を示すと判定する、ことをさらに含む、コンピュータにより実行される方法。
【請求項１７】
コンピューティング装置であって、
少なくとも１つのプロセッサと、
メモリと、
前記メモリに記憶されるプログラム命令と、を備え、当該プログラム命令は、前記少なくとも１つのプロセッサによって実行されると、前記コンピューティング装置に、
以前の期間中の環境を示し、一連の画像フレームを含むセンサデータのログを取得し、
前記センサデータのログは前記以前の期間内の特定の時間における前記環境内の物理的物体を巻き込む衝突に関連すると判定し、
前記センサデータのログが前記衝突に関連すると判定することに応じて、前記センサデータのログから前記衝突に対するトレーニングデータセットを生成する、ことを含む動作を実行させ、
前記衝突に対する前記トレーニングデータセットは、前記特定の時間に対応する前記一連の画像フレーム内の画像フレームより前の前記一連の画像フレームの複数の画像フレームを含む、
コンピューティング装置。
【請求項１８】
請求項１７に記載のコンピューティング装置において、
前記センサデータのログが前記衝突に関連すると判定することは、前記衝突は前記物理的物体とロボット装置との間の物理的衝突であると判定することを含む、コンピューティング装置。
【請求項１９】
請求項１８に記載のコンピューティング装置において、
前記コンピューティング装置は、前記ロボット装置のコンピューティング装置である、コンピューティング装置。
【請求項２０】
命令を記憶した非一時的なコンピュータ読み取り可能な媒体であって、コンピューティング装置によって前記命令が実行されると前記コンピューティング装置に、
コンピューティング装置によって、以前の期間中の環境を示し、一連の画像フレームを含むセンサデータのログを取得し、
前記センサデータのログは前記以前の期間内の特定の時間における前記環境内の物理的物体を巻き込む衝突に関連すると判定し、
前記センサデータのログが前記衝突に関連すると判定することに応じて、前記センサデータのログから前記衝突に対するトレーニングデータセットを生成する、ことを含む機能を実行させ、
前記衝突に対する前記トレーニングデータセットは、前記特定の時間に対応する前記一連の画像フレーム内の画像フレームより前の前記一連の画像フレームの複数の画像フレームを含む、非一時的なコンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、機械学習に関し、より具体的には、機械学習モデルをトレーニングするためのトレーニングデータセットを生成し、機械学習モデルを用いて衝突の推定を行うことに関する。
【背景技術】
【０００２】
ロボット装置が環境をナビゲートするとき、環境内の物理的物体との衝突を回避することが望まれる場合がある。例えば、ロボット装置が屋内環境をナビゲートするとき、人々、ペット、および他の移動する物体との衝突を回避することが望まれる場合がある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
場合によって、ロボット装置は、受動的な方法で動作することで衝突を回避するようにプログラムされている。例えば、ロボット装置は、赤外線近接センサを含み、ロボット装置の特定範囲内で物体が検出されるたびに停止または方向を変更するようにプログラムされてもよい。しかしながら、残念なことに、状況によっては、ロボット装置の反応が遅すぎて、ロボット装置が物体と衝突する場合がある。さらに、ロボット装置が環境内をナビゲートするとき、受動的な方法で動作するロボット装置は、動いている体（または動く可能性のある物体）の軌道を推定できず、物体との衝突を回避するために能動的に動作を行うことができない場合がある。従って、改善が望まれている。
【課題を解決するための手段】
【０００４】
一例では、コンピュータにより実行される方法が記載される。コンピュータにより実行される方法は、コンピューティング装置によって、以前の期間中の環境を示し、一連の画像フレームを含むセンサデータのログを取得することを含む。コンピュータにより実行される方法は、コンピューティング装置によって、センサデータのログは、以前の期間内の特定の時間における環境内の物理的物体を巻き込む衝突に関連すると判定することをさらに含む。コンピュータにより実行される方法はまた、センサデータのログが衝突に関連すると判定することに応じて、コンピューティング装置によって、センサデータのログから衝突に対するトレーニングデータセットを生成することを含む。衝突に対するトレーニングデータセットは、特定の時間に対応する一連の画像フレーム内の画像より前の前記一連の画像フレームの複数の画像フレームを含む。
【０００５】
別の例では、コンピューティング装置が記載される。コンピューティング装置は、少なくとも１つのプロセッサと、メモリと、メモリに記憶され、少なくとも１つのプロセッサによって実行されるとコンピューティング装置に様々な機能を実行させるプログラム命令とを備える。機能は、以前の期間中の環境を示し、一連の画像フレームを含むセンサデータのログを取得することを含む。この機能は、センサデータのログは、以前の期間内の特定の時間における環境内の物理的物体を巻き込む衝突に関連すると判定することをさらに含む。この機能はまた、センサデータのログが衝突に関連すると判定することに応じて、センサデータのログから衝突に対するトレーニングデータセットを生成することを含む。衝突に対するトレーニングデータセットは、特定の時間に対応する一連の画像フレーム内の画像フレームより前の一連の画像フレームの複数の画像フレームを含む。
【０００６】
別の例において、コンピューティング装置によって実行されるとコンピューティング装置に機能を実行させる命令を記憶した非一時的なコンピュータ読み取り可能な媒体が記載される。機能は、以前の期間中の環境を示し、一連の画像フレームを含むセンサデータのログを取得することを含む。この機能は、センサデータのログは、以前の期間内の特定の時間における環境内の物理的物体を巻き込む衝突に関連すると判定することをさらに含む。この機能はまた、センサデータのログが衝突に関連すると判定することに応じて、センサデータのログから衝突に対するトレーニングデータセットを生成することを含む。衝突に対するトレーニングデータセットは、特定の時間に対応する一連の画像フレーム内の画像フレームより前の一連の画像フレームの複数の画像フレームを含む。
【０００７】
議論された特徴、機能、および利点は、多様な例で独立に達成でき、またはさらに他の例と組み合わせてもよく、さらにその詳細は、以下の説明および図を参照できる。
【図面の簡単な説明】
【０００８】
例示的な一例の特徴になる新規の特徴は、添付した特許請求の範囲に記載されている。しかしながら、例示的な一例、ならびに好ましい使用モード、さらに目的および説明は、以下の本開示の例示的な一例の詳細な説明を参照し、添付の図と併せて読むと最もよく理解されるであろう。
【０００９】
【図１】図１は、一実施形態に係る例示的なシステムを示す。
【図２】図２は、一実施形態に係る例示的なロボット装置を示す。
【図３】図３は、一実施形態に係る例示的なコンピューティング装置を示す。
【図４】図４は、一実施形態に係る、例示的な方法のフローチャートを示す。
【図５】図５は、一実施形態に係る、環境内の物理的物体に関連する衝突を示す概念図である。
【図６】図６は、一実施形態に係る、環境内の物理的物体に関連する衝突を示す別の概念図である。
【図７】図７は、一実施形態に係る、別の例示的な方法のフローチャートを示す。
【図８】図８は、一実施形態に係る、衝突の推定および回避を示す概念図である。
【発明を実施するための形態】
【００１０】
開示された例は、添付の図面を参照して以下により十分に記載されており、添付の図面には、開示された例の全てではないが、いくつかの例を示す。実際に、いくつかの異なる例が取り上げられる場合があるが、ここに記載される例に限定されると解釈されてはならない。より正確に言えば、これらの例は、本開示が徹底的かつ完全であり、本開示の範囲が当業者に十分に伝達されるように提供される。
【００１１】
ここでは、機械学習モデルをトレーニングするトレーニングデータセットを生成するシステムおよび方法が記載される。例において、ロボット装置は、環境内の物理的物体に関連する衝突を検出し、それに応じて衝突に係るデータを、機械学習モデルのトレーニングデータセットとして、収集およびパッケージ化してもよい。このトレーニングデータセットおよび他のトレーニングデータセットを用いて機械学習モデルをトレーニングした後、ロボット装置（または別のロボット装置）は、モデルを用いて、将来の衝突がいつ発生するかを予測し、物理的物体との衝突を回避する予防策を講じることができる。
【００１２】
１つの例示的な方法は、コンピューティング装置によって、以前の期間中の環境を示すセンサデータのログを取得することを含む。例えば、環境内をナビゲートするロボット装置は、以前の期間に対応する一連の画像フレームを含むセンサデータのログを記録および記憶し、センサデータのログをコンピューティング装置に提供してもよい。この方法はまた、コンピューティング装置によって、センサデータのログは、以前の期間内の特定の時間における環境内の物理的物体を巻き込む衝突に関連すると判定することを含む。例えば、コンピューティング装置は、衝突は、物理的物体とロボット装置との間の物理的衝突であると判定してもよい。また、センサデータのログが衝突に関連すると判定することに応じて、コンピューティング装置は、センサデータのログから衝突に対するトレーニングデータセットを生成することができる。トレーニングデータセットは、特定の時間に対応する一連の画像フレーム内の画像フレームより前の一連の画像フレームの複数の画像フレームを含んでもよい。
【００１３】
いくつかの例において、ロボット装置は、ＲＧＢＤ（Red, Green, Blue, Distance）画像を撮像するＲＧＢＤカメラを有してもよく、センサデータのログには一連のＲＧＢＤ画像フレームが含まれてもよい。これらの例において、衝突に対するトレーニングデータセットには、衝突までのＲＧＤＢ画像フレームが含まれてもよい。例えば、動いている物体（跳ねるボールなど）がロボット装置と衝突して、トレーニングデータセットの生成のトリガとなった場合、トレーニングデータセットには物体の動きを表すＲＧＢＤ画像フレームが含まれてもよい。
【００１４】
コンピューティング装置は、様々な方法でセンサデータのログが衝突に関連すると判定できる。例えば、以下でさらに記載されるように、コンピューティング装置は、ロボット装置によって記録された加速度計データは、物理的物体とロボット装置との間の衝突を示していると判定してもよい。同様に、コンピューティング装置は、ロボット装置によって記録された接触センサデータは、物理的物体とロボット装置との間の衝突を示していると判定してもよい。衝突を認識し、トレーニングデータセットの生成のトリガとする他の技術も考えられかつここに開示される。
【００１５】
さらに、いくつかの例において、物理的物体と拡張現実キャラクター形態のソフトウェアロボットとの間の衝突のような仮想衝突も、トレーニングデータセットの生成のトリガとなる場合がある。例えば、拡張現実グラフィックは環境内の特定の位置に配置されてもよく、物理的物体は、特定の位置に移動したとコンピューティング装置が判定すると、コンピューティング装置はそれに応じて衝突のトレーニングデータセットを生成してもよい。
【００１６】
有利には、ここに開示されるシステムおよび方法は、衝突が発生したときに、人間によるラベル付けの必要なく、センサデータのログを後処理してセンサデータの一部を衝突としてラベル付けするか、または、リアルタイムにトレーニングデータセットの生成のトリガとする、機械学習モデルのトレーニングデータセットの生成を促進してもよい。
【００１７】
これらのシステムおよび方法の他の様々な特徴は、添付の図面を参照して以下に記載する。
【００１８】
図１を参照し、例示的なシステム１００を示す。特に、図１には、衝突の検出および／または衝突の推定に対する例示的なシステム１００が示される。ここで用いられる衝突の検出とは、環境内の少なくとも１つの動いている物体に関連する衝突が発生したことを判定するプロセスを言う。上記の説明を踏まえ、衝突の検出は、衝突に関連するデータを収集し、機械学習モデルをトレーニングするトレーニングデータセットを生成することに有用である。一方、衝突の推定とは、ロボット装置またはソフトウェアロボットなどのロボットが物理的物体と衝突する可能性があることを予測するプロセスを言う。物理的物体は、静止していてもよく、動いていてもよい。例えば、物理的物体は、家具、または壁、床、キャビネット、階段などの環境内の物理的な構造物であってもよい。あるいは、物理的物体は、ボール、おもちゃ、または衣類であってもよい。場合によって、衝突の推定は、機械学習モデルを用いて、動いている物体および／またはロボットの軌道を推定することを含んでもよい。
【００１９】
図１に示されるように、システム１００は、ロボット装置１０２ａ、１０２ｂと、少なくとも１つのサーバ装置１０４と、ホスト装置１０６と、通信ネットワーク１０８とを含む。
【００２０】
ロボット装置１０２ａ、１０２ｂは、少なくとも１つのセンサを有し、ここに記載の実施形態によるセンサデータを記録するように構成される任意の種類の装置であってもよい。場合によって、ロボット装置１０２ａ、１０２ｂは、環境内で動くことを容易にする移動能力（例えば、駆動システム）を含んでもよい。
【００２１】
図１に示すように、ロボット装置１０２ａは、通信ネットワーク１０８を介して、サーバ装置１０４および／またはホスト装置１０６にデータ１１０を送信、および／または、サーバ装置１０４および／またはホスト装置１０６からデータ１１２を受信してもよい。例えば、ロボット装置１０２ａは、通信ネットワーク１０８を介してセンサデータのログをサーバ装置１０４に送信してもよい。さらに加えてまたは代替として、ロボット装置１０２ａは、サーバ装置１０４から機械学習モデルデータを受信してもよい。同様に、ロボット装置１０２ａは、通信ネットワーク１０８を介してホスト装置１０６にセンサデータのログを送信し、および／またはホスト装置１０６から機械学習モデルデータを受信してもよい。さらに、場合によって、ロボット装置１０２ａは、通信ネットワーク１０８を介するものではなく、ホスト装置１０６にデータを直接送信および／またはホスト装置１０６からデータを直接受信してもよい。
【００２２】
サーバ装置１０４は、ここに記載のコンピューティング装置の動作を実行するように構成された任意の種類のコンピューティング装置であってもよい。例えば、サーバ装置１０４は、リモートサーバ装置を含むことができ、「クラウドベース」装置と呼ばれる場合がある。いくつかの例において、サーバ装置１０４は、コンピューティングタスクを複数のサーバ装置の間に分散させるクラウドベースのサーバクラスターを含んでもよい。上記の議論に沿って、サーバ装置１０４は、通信ネットワーク１０８を介してロボット装置１０２ａにデータ１１２を送信、および／または、ロボット装置１０２ａからデータ１１０を受信するように構成されてもよい。サーバ装置１０４は、機械学習モデルをトレーニングするように構成された機械学習サーバ装置を含むことができる。
【００２３】
サーバ装置１０４のように、ホスト装置１０６は、ここに記載のコンピューティング装置の動作を実行するように構成された任意の種類のコンピューティング装置であってもよい。しかしながら、サーバ装置１０４とは異なり、ホスト装置１０６は、ロボット装置１０２ａと同じ環境（例えば、同じ建物内）に位置してもよい。一例において、ロボット装置１０２ａは、ホスト装置１０６とドッキングして、データを更新し、ダウンロード、および／またはアップロードしてもよい。
【００２４】
ロボット装置１０２ａは、通信ネットワーク１０８を介してサーバ装置１０４と通信し、ホスト装置１０６と通信することができるが、いくつかの例において、ロボット装置１０２ａは、ここに記載のコンピューティング装置の動作を行ってもよい。例えば、ロボット装置１０２ａは、ここに記載のコンピューティング装置の動作を実行するように構成された内部コンピューティングシステムを含んでもよい。
【００２５】
いくつかの例において、ロボット装置１０２ａは、無線インターフェースを介してロボット装置１０２ｂと無線で通信してもよい。例えば、ロボット装置１０２ａおよびロボット装置１０２ｂは両方とも同じ環境で動作し、時には環境に関するデータを共有してもよい。
【００２６】
通信ネットワーク１０８は、ＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）、企業イントラネット、公衆インターネット、または装置間に通信経路を提供するように構成された任意の他の種類のネットワークに対応し得る。通信ネットワーク１０８はまた、１つ以上のＬＡＮ、ＷＡＮ、企業イントラネット、および／または公衆インターネットの組み合わせに対応し得る。
【００２７】
図２は、一実施形態に係る例示的なロボット装置２００を示す。ロボット装置２００は、ここの図面のいずれかに示された任意のロボット装置を表してもよい。図２は、ここに記載の実施形態に従って動作するように構成されたロボット装置が含み得るいくつかの構成要素を示す。
【００２８】
図２に示すように、ロボット装置２００は、センサシステム２０２と、機械システム２０４と、コンピューティング装置２０６とを含む。図２において、センサシステム２０２は、深度カメラ２０８、慣性測定ユニット（ＩＭＵ：Inertial Measurement Unit）２１０、１つ以上の動き追跡カメラ２１２、１つ以上のレーダ２１４、１つ以上のマイクロホンアレイ２１６、１つ以上の接触センサ２１８、１つ以上の近接センサ２２０、およびペイロードセンサ２２２などの多数のセンサを含む。
【００２９】
深度カメラ２０８は、物体の３次元（３Ｄ：3-Dimensional）特徴など、環境内の物体の深度に関する情報をリカバーするように構成されてもよい。例えば、深度カメラ２０８は、投影赤外線パターンの１つ以上の画像を撮像し、様々なアルゴリズムを用いて３Ｄデータを三角測量および抽出して１つ以上のＲＧＢＤ画像を出力するプロセッサに画像を提供するように構成されたＲＧＢ−赤外線（ＲＧＢ−ＩＲ）カメラであってもよい。赤外線パターンは、深度カメラ２０８と一体化されたプロジェクターによって投影されてもよい。あるいは、赤外線パターンは、深度カメラ２０８とは別のプロジェクター（図示せず）によって投影されてもよい。
【００３０】
ＩＭＵ２１０は、ロボット装置の速度および／または方位を判定するように構成されてもよい。一例において、ＩＭＵは、３軸ジャイロスコープ、３軸加速度計、３軸コンパス、および動き情報を処理する１つ以上のプロセッサを含んでもよい。
【００３１】
動き追跡カメラ２１２は、画像（例えば、ＲＧＢ−ＩＲ画像）を撮像および処理することにより、物体の動きを検出および追跡するように構成されてもよい。場合によって、動き追跡カメラ２１２は、低輝度照明条件での検出を可能にする１つ以上のＩＲ発光ダイオード（ＬＥＤ：Light Emitting Diodes）を含んでもよい。動き追跡カメラ２１２は、１８０度広視野（ＦＯＶ：Field Of View）などのＦＯＶを含んでもよい。一例の構成において、ロボット装置２００は、ロボット装置２００の第１側の画像を撮像するように構成された第１動き追跡カメラと、ロボット装置２００の反対側の画像を撮像するように構成された第２動き追跡カメラとを含んでもよい。
【００３２】
レーダ２１４は、電磁波を用いて環境内の物体の範囲、角度、または速度を判定する物体検出システムを含んでもよい。レーダ２１４は、レーザパルスを環境に発し、１つ以上のセンサで反射パルスを測定することにより動作してもよい。一例において、レーダ２１４は、１５０度ＦＯＶなどの広いＦＯＶを有するソリッドステートミリ波レーダを含んでもよい。
【００３３】
マイクロホンアレイ２１６は、音声データを記録するなど、１つ以上の機能を連携して実行するように動作する多数のマイクロホンを含んでもよい。一例において、マイクロホンアレイ２１６は、音源探査を用いて音源の位置を特定するように構成されてもよい。
【００３４】
接触センサ２１８は、ロボット装置２００が物体と接触したときに信号を提供するように構成されてもよい。例えば、接触センサ２１８は、接触センサ２１８が物体と接触したときに信号を提供するロボット装置２００の外面の物理的衝突センサであってもよい。
【００３５】
近接センサ２２０は、ロボット装置２００の範囲内の物体の存在を検出するように構成されてもよい。例えば、近接センサ２２０は、赤外線近接センサを含むことができる。一例において、ロボット装置２００は、複数の近接センサを含み、各近接センサはロボット装置２００の異なる側面（例えば、正面、背面、左、右など）の物体を検出するように配置されていてもよい。
【００３６】
ペイロードセンサ２２２は、ロボット装置２００によって運ばれるペイロードの重量を測定するように構成されてもよい。例えば、ペイロードセンサ２２２は、ロボット装置２００のプラットフォームまたは他の表面に加えられる力に比例する電気信号を提供するように構成されたロードセルを含むことができる。
【００３７】
図２にさらに示すように、機械システム２０４は、駆動システム２２４および補助システム２２６を含む。駆動システム２２４は、ロボット装置２００を環境内で移動させる（例えば、床を走行する）ように制御することができる１つ以上のモータ、車輪、および他の構成要素を含んでもよい。一例において、駆動システム２２４は、ロボット装置２００を任意の方向に駆動させるように制御することができる全方向性駆動システムを含んでもよい。
【００３８】
補助システム２２６は、付随的タスクの実行を容易にするように構成された１つ以上の機械的構成要素を含んでもよい。一例として、補助システム２２６は、真空引きを容易にするように構成されたモータおよびファンを含んでもよい。例えば、電気モータは、吸引口を通じて、ほこり、ごみ、または他の破片の吸引および容易な収集のために、ファンを回転させてもよい。別の例として、補助システムは、プラットフォームまたは構造の上部に置かれた任意の物体が地面から持ち上げられるように、ロボット装置２００のプラットフォームまたは他の構造を垂直に持ち上げる構成を有する１つ以上のアクチュエータを含んでもよい。一例において、リフトシステム２２６は、約１０キログラムのペイロードを持ち上げるように構成されてもよい。ロボット装置２００の所望の動作に応じて、他の例も可能である。
【００３９】
コンピューティング装置２０６は、センサシステム２０２および機械システム２０４を制御するように構成された様々なコンピューティング構成要素を含んでもよい。例えば、コンピューティング装置２０６は、様々な構成要素を統合するシステム・オン・チップ（ＳＯＣ：System On a Chip）を含んでもよい。
【００４０】
例として、図３は例示的なコンピューティング装置３００を示す。コンピューティング装置３００は、ここの任意の図面に示されている任意のコンピューティング装置、サーバ装置、またはホスト装置を表してもよい。図３は、ここの実施形態に従って動作するように構成されたコンピューティング装置が含み得るいくつかの機能要素を示す。この例では、コンピューティング装置３００は、プロセッサ３０２、データ記憶装置３０４、通信インターフェース３０６、および入出力機能３０８を含み、それらの全ては、システムバス３１０または同様のメカニズムによって結合されてもよい。
【００４１】
プロセッサ３０２は、１つ以上の汎用プロセッサおよび／または１つ以上の専用プロセッサ（例えば、ＡＳＩＣ（Application Specific Integrated Circuits）、ＤＳＰ（Digital Signal Processors）、ネットワークプロセッサなど）などの１つ以上のＣＰＵを含むことができる。例えば、プロセッサ３０２は、機械学習モデルのトレーニングおよび／または推論のためのＴＰＵ（Tensor Processing Unit）を含むことができる。
【００４２】
次に、データ記憶装置３０４は、揮発性および／または不揮発性データ記憶装置を備えてもよく、全体または一部がプロセッサ３０２と統合されてもよい。データ記憶装置３０４は、プロセッサ３０２によって実行可能なプログラム命令、およびここに記載の様々な方法、プロセス、または動作を実行するためにこれらの命令によって操作されてもよいデータを保持することができる。あるいは、これらの方法、プロセス、または動作は、ハードウェア、ファームウェア、および／またはハードウェアと、ファームウェアと、ソフトウェアとの任意の組み合わせによって規定できる。一例として、データ記憶装置３０４のデータは、ここまたは添付図面に開示される方法、プロセス、または動作のいずれかを実行するためにプロセッサ３０２によって実行可能な非一時的なコンピュータ読み取り可能な媒体に記憶され得るプログラム命令を含んでもよい。
【００４３】
通信インターフェース３０６は、イーサネット接続などの有線接続の形態をとることができる。通信インターフェース３０６は、ＩＥＥＥ８０２．１１（Ｗｉｆｉ）、ブルートゥース（登録商標）、または広域無線接続などの無線接続の形態をとることができる。しかしながら、他の形態の物理層接続、および他の種類の標準または独自の通信プロトコルが、通信インターフェース３０６上で使用されてもよい。
【００４４】
入出力機能３０８は、コンピューティング装置３００とのユーザインタラクションを容易にし得る。入出力機能３０８は、キーボード、マウス、タッチスクリーン、マイクロホンなどの複数の種類の入力装置を備えてもよい。同様に、入出力機能３０８は、スクリーン、モニタ、プリンタ、または１つ以上のＬＥＤなどの複数の種類の出力装置を備えてもよい。さらに加えてまたは代替として、コンピューティング装置３００は、通信インターフェース３０６またはＵＳＢ（Universal Serial Bus）またはＨＤＭＩ（High-Definition Multimedia Interface）ポートなどの別のインターフェース（図示せず）を介して、別の装置から遠隔アクセスを支援してもよい。
【００４５】
図４は、衝突の検出のための例示的な方法４００のフローチャートを示す。図４に示される方法４００は、例えば、ここのいずれかの図に示されたいずれかのコンピューティング装置などのコンピューティング装置によって実行できる方法の実施形態を表す。ここに開示されるプロセスおよび方法や他のプロセスおよび方法について、本実施形態のうちの１つの実施可能な機能および動作をフローチャートに示す。別の例は、本開示の例示的な実施形態の範囲内に含まれ、当業者には明らかなように、機能は、関連機能に応じて実質的に同時に行われるか、または逆順に行われることを含み、図示または論議された順序とは異なる順序で実行されてもよい。
【００４６】
ブロック４０２において、方法４００は、以前の期間中の環境を示し、一連の画像フレームを含むセンサデータのログを取得することを含む。例えば、環境は、住宅などの建物の内部であり、画像フレームはＲＧＢＤ画像フレームであってもよい。
【００４７】
いくつかの例において、センサデータのログは、ロボット装置によってキャプチャされたセンサデータを含んでもよい。例えば、センサデータのログは、ロボット装置の１つ以上の複数のカメラによって撮像された画像を含んでもよい。さらに、センサデータのログは、ＩＭＵ、マイクロホンアレイ、接触センサ、ペイロードセンサ、または近接センサなど、ロボット装置の他のセンサによってキャプチャされたセンサデータを含んでもよい。場合によって、ロボット装置は、センサデータを記録し、方法４００の一部を実行する別のコンピューティング装置にセンサデータのログを提供してもよい。あるいは、他の例において、ロボット装置は、ロボット装置のセンサを用いてセンサデータのログを取得し、センサデータのログをデータバッファに記憶してもよい。この構成において、新しいセンサデータが取得されると、ロボット装置は、データバッファ内の過去のまたは古くなったセンサデータを新しいセンサデータに置き換えてもよい。例えば、データバッファは、以前の３０秒間に、ロボット装置によって取得されたセンサデータを記憶するように、継続的または周期的に更新されてもよい。
【００４８】
いくつかの例において、センサデータのログは、スマートフォン、タブレット、ウェアラブルコンピューティング装置、携帯式カメラコンピューティング装置などのモバイルコンピューティング装置によって撮像された画像を含んでもよい。さらに、センサデータのログは、ＩＭＵまたはマイクロホンアレイなどのモバイルコンピューティング装置の他のセンサからキャプチャされたセンサデータを含んでもよい。場合によって、モバイルコンピューティング装置は、センサデータを記録し、方法４００の一部を実行する別のコンピューティング装置にセンサデータのログを提供してもよい。あるいは、他の例において、モバイルコンピューティング装置は、モバイル装置のセンサを用いてセンサデータのログを取得し、方法４００の他の機能を実行してもよい。
【００４９】
ブロック４０４において、方法４００は、センサデータのログは、以前の期間内の特定の時間における環境内の物理的物体を巻き込む衝突に関連すると判定することを含む。物理的物体は様々な形態をとることができる。例えば、物理的物体は、ボール、ペット、または人である。あるいは、物理的物体は、ロボット装置によって輸送（例えば、持ち運び）されているアイテムであってもよい。別の例として、物理的物体は、壁、床、または家具であってもよい。
【００５０】
センサデータのログが衝突に関連すると判定することは、衝突は、物理的物体とロボット装置との間の物理的衝突であると判定することを含んでもよい。この判定は様々な方法で行うことができる。例えば、コンピューティング装置は、以前の期間の少なくとも一部に対応する加速度計データを取得してもよく、そして、コンピューティング装置は、加速度計データは、特定の時間における物理的物体とロボット装置との間の衝突を示すと判定してもよい。例えば、閾値を超える加速度の大きさは、物理的衝突による速度の突然の変化を示してもよく、コンピューティング装置は、加速度計データを分析し、特定の時間における加速度の大きさを検出してもよい。ロボット装置と物理的物体との間の物理的衝突の一例として、ロボット装置が棚から転倒または落下することによるロボット装置と床との間の物理的衝突が挙げられる。
【００５１】
あるいは、衝突が物理的物体とロボット装置との間の物理的衝突であると判定することは、以前の期間の少なくとも一部に対応する接触センサデータを取得することと、接触センサデータは物理的物体とロボット装置との間の衝突を示すと判定することとを含んでもよい。例えば、接触センサは別の物体と接触するときに信号を出力し、コンピューティング装置はその信号を認識してもよい。一例では、接触センサは、ロボット装置が壁にぶつかったときに信号を出力してもよい。
【００５２】
場合によっては、衝突が物理的物体とロボット装置との間の物理的衝突であると判定することは、ロボット装置によって運ばれているまたは輸送されている物体は、落下または転落したと判定することを含んでもよい。例えば、センサデータのログは、ロボット装置のペイロード（例えば、ペイロードの重量）を示すペイロードデータを含んでもよく、コンピューティング装置は、ペイロードが予想より減少することを検出してもよい。ロボット装置が物理的物体と衝突したり転倒すると、ペイロードが突然減少する場合がある。従って、コンピューティング装置は、減少を衝突可能性の指標として解釈してもよい。
【００５３】
他の例において、衝突は仮想衝突であってもよい。例として、センサデータのログは衝突に関連すると判定することは、衝突は物理的物体とロボット装置を囲む仮想境界との間の仮想衝突、または前記物理的物体を囲む仮想境界と前記ロボット装置との間の仮想衝突であると判定することを含む。この判定は様々な方法で行うことができる。例えば、コンピューティング装置は、以前の期間の少なくとも一部に対応する近接センサデータを取得してもよく、近接センサデータは、物理的物体と閾値距離よりも上回る状態から閾値距離よりも下回る状態へ移行している、ロボット装置との間の距離を示すと判定してもよい。閾値距離は、仮想境界の距離と同じであってもよい。
【００５４】
同様に、いくつかの例において、衝突は、物理的物体と環境のビューに重ねられた拡張現実グラフィック形態のソフトウェアロボットとの間の仮想衝突であってもよい。コンピューティング装置は、深度画像から得た深度情報を処理して、このような衝突を検出できる。例えば、センサデータのログの一連の画像フレームは、物理的物体との距離を示す深度情報を含むことができ、コンピューティング装置は、深度情報に基づいて、（ｉ）物理的物体は第１位置から第２位置に移動し、および、（ｉｉ）第２位置は拡張現実グラフィックの位置と重なっていると判定することができる。モバイルコンピューティング装置（例えば、スマートフォンまたはタブレット）、またはウェアラブルコンピューティング装置（例えば、ヘッドマウントディスプレイ）など、任意のコンピューティング装置で拡張現実（ＡＲ）グラフィックを生成でき、衝突などを検出できる。
【００５５】
同様に、衝突は、物理的物体とシミュレーション中にレンダリングされる拡張現実グラフィック形態のソフトウェアロボットとの間の仮想衝突であってもよい。例えば、コンピューティング装置は、センサデータのログを用いて、環境内を移動するソフトウェアロボットのシミュレーションを生成し得る。このシミュレーションにおいて、ソフトウェアロボットは、センサデータのログをキャプチャしたロボット装置がたどる経路と同じ経路または異なる経路をたどってもよい。ソフトウェアロボットが異なる経路をたどる場合、異なる経路には、環境内のソフトウェアロボットと物理的物体との間の仮想ゲームプレイが含まれ、コンピューティング装置は仮想衝突を検出できる。
【００５６】
ブロック４０６において、方法４００は、センサデータのログが衝突に関連すると判定することに応じて、センサデータのログから衝突に対するトレーニングデータセットを生成することを含む。トレーニングデータセットは、特定の時間に対応する一連の画像フレーム内の画像フレームより前の一連の画像フレームの複数の画像フレームを含んでもよい。一例として、トレーニングデータセットは、特定の時間に対応する画像フレームまでの最新の５つの画像フレームを含むことで、衝突までの物理的物体の動きを描いてもよい。例えば、複数の画像フレームは１つ以上の画素に対する深度データを含むことで、トレーニングデータセットは、衝突前の物理的物体のいずれかの動きを示す深度データを含んでもよい。
【００５７】
場合によっては、トレーニングデータセットは他の形式のセンサデータを含んでもよい。一般に、センサデータのログが複数のセンサから得たデータを含むとき、複数のセンサから得たいずれかのデータはトレーニングデータセット内にパッケージ化されてもよい。例えば、センサデータのログがペイロードデータを含むとき、トレーニングデータセットを生成することは、ペイロードデータをさらに含むトレーニングデータセットを生成することを含んでもよい。同様に、センサデータのログがロボット装置の速度データを含むとき、トレーニングデータセットを生成することは、速度データをさらに含むトレーニングデータセットを生成することを含んでもよい。別の例として、センサデータのログは、部屋の種類（例えば、居間、キッチン、寝室など）を識別する部屋情報を含んでもよく、トレーニングデータセットを生成することは、部屋情報をさらに含むトレーニングデータセットを生成することを含んでもよい。
【００５８】
有利には、方法４００を用いて生成されたトレーニングデータセットは、衝突の推定のための機械学習モデルのトレーニングに用いることができる。場合によっては、方法４００を実行するコンピューティング装置は、方法４００を用いて生成されるか、または他の技術を用いて生成可能な、トレーニングデータセットおよび他のトレーニングデータセットを用いて、機械学習モデルをトレーニングしてもよい。例えば、ロボット装置のコンピューティング装置は、方法４００を複数回実行し、その後、生成されたトレーニングデータセットを用いて機械学習モデルをトレーニングしてもよい。他のケースにおいて、方法４００を実行するコンピューティング装置は、生成されたトレーニングデータセットを別のコンピューティング装置に送信し、その後、機械学習モデルをトレーニングしてもよい。例えば、方法４００を実行するコンピューティング装置は、生成されたトレーニングデータセットを表す少なくとも１つのファイルを機械学習サーバに送信し、機械学習サーバがトレーニングを実行してもよい。
【００５９】
図５は、一実施形態に係る、環境内の物理的物体に関連する衝突を示す概念図である。図５に示すように、ロボット装置５００は居間で動作してもよい。例えば、ロボット装置５００は、居間の床を走行してもよい。ロボット装置５００は、床を走行しながら、環境を示すセンサデータを取得してもよい。例えば、ロボット装置５００は、一連の画像フレームをキャプチャし、ＩＭＵデータを記録してもよい。
【００６０】
図５にさらに示すように、ロボット装置５００は、意図せずに猫５０２にぶつかる場合がある。ロボット装置５００のコンピューティング装置は、ロボット装置５００が猫５０２にぶつかったことを検出し、それに応じて、トレーニングデータセットの生成のトリガとしてもよい。例として、コンピューティング装置は、猫５０２にぶつかる前のロボット装置５００によって取得されたセンサデータの一部をトレーニングデータセットとして一緒にパッケージ化してもよい。一例において、トレーニングデータセットは、ロボット装置５００との衝突前の猫５０２の動きを表す一連のＲＧＢＤ画像フレームを含んでもよい。
【００６１】
図６は、一実施形態に係る、環境内の物理的物体に関連する衝突を示す別の概念図である。図６に示すように、コンピューティング装置６００は、居間のビューを撮像して表示してもよい。また、コンピューティング装置６００は、居間のビュー上に拡張現実グラフィック６０２を重ねてもよい。例えば、拡張現実グラフィック６０２は、居間の仮想表示内を動き回るアニメーションキャラクターであってもよい。
【００６２】
図６にさらに示すように、拡張現実グラフィック６０２は、居間の仮想表示内の特定の位置に配置される。コンピューティング装置６００は、居間の物体の動きを検出および追跡してもよい。例えば、コンピューティング装置６００は、物体、すなわち犬６０４が居間を横切って移動していることを検出してもよい。また、コンピューティング装置６００は、居間の仮想表示内の犬６０４の３Ｄ位置を判定してもよい。例えば、コンピューティング装置６００は、深度カメラを用いてＲＧＢＤ画像フレームを取得し、ＲＧＢＤ画像フレームを処理することで犬６０４の３Ｄ位置を判定してもよい。
【００６３】
さらに、コンピューティング装置６００は、犬６０４が拡張現実グラフィック６０２の位置と重ならない第１位置から拡張現実グラフィック６０２の位置と重なる第２位置に移動したと判定してもよい。一例において、コンピューティング装置６００は、環境の仮想表示内の犬６０４の３Ｄ位置と、環境の仮想表示内の拡張現実グラフィック６０２の３Ｄ位置とを比較することによって、犬６０４の第２位置と拡張現実グラフィック６０２の位置は重なると判定してもよい。例えば、コンピューティング装置６００は、犬６０４の重心と拡張現実グラフィック６０２の重心との間の２Ｄまたは３Ｄ距離を判定し、判定された距離が閾値よりも下回っていることに基づいて、犬６０４の３Ｄ位置と拡張現実グラフィック６０２の３Ｄ位置は重なると判定してもよい。
【００６４】
拡張現実グラフィック６０２の位置と重ならない位置から拡張現実グラフィック６０２の位置と重なる位置への犬６０４の動きを検出することに応答して、コンピューティング装置６００は、トレーニングデータセットの生成のトリガとしてもよい。例として、コンピューティング装置６００は、犬６０４の第１位置から第２位置への動きを表す１つ以上のＲＧＢＤ画像フレームをトレーニングデータセットとして一緒にパッケージ化してもよい。
【００６５】
拡張現実グラフィック６０２と犬６０４との間の衝突を検出する他の技術も可能である。例えば、ゲームにおいて、いくつかのゲームエンジンは、場所内の既知の物体の衝突の検出を提供するコライダーを有する。コライダーは、場所内の物体にボディを与える（例えば、バウンディングスフィア、メッシュ、キャッチオール３Ｄボディなど）。第１物体のボディが第２物体のボディと接触すると、コライダーは衝突イベントを生成する。
【００６６】
コライダーは拡張現実場所で機能するために、コンピューティング装置は現実世界の物体の位置、サイズ、および姿勢を推定し、現実世界の物体を拡張現実グラフィックとともに環境の３Ｄ表示で適切なボディで表示することができる。コンピューティング装置は、様々なレベルの詳細を用いて、現実世界の物体の位置、サイズ、および姿勢を推定できる。一例として、コンピューティング装置は、深度カメラを介して判定される物体の表面上の点を用いて、物体のボディを規定できる。別の例として、コンピューティング装置は、場所内の１つ以上の物体のバウンディングボックスを推定できる。バウンディングボックスは２Ｄまたは３Ｄとすることができる。さらに別の例として、コンピューティング装置は物体の３Ｄ形状を推定できる。例えば、コンピューティング装置は、データベースにクエリを行って物体の３Ｄモデルを判定するか、または機械学習を用いて物体の３Ｄモデルを推定してもよい。
【００６７】
上述のように、図４の方法４００を用いて生成されたトレーニングデータセットおよび／または他の技術を用いて生成されたトレーニングデータセットは、衝突を推定する機械学習モデルをトレーニングすることに使用できる。物理的物体の動きに関連するデータを含むトレーニングデータセットで機械学習モデルをトレーニングすることには、入力センサデータを物体の軌道または速度にマッピングするトレーニングデータセットのパターンを見つけることが含まれる場合がある。機械学習モデルがトレーニングされた後、コンピューティング装置は、機械学習モデルを用いて、物理的物体がどのように物理的物体に対応する入力データに基づいて動くかを予測してもよい。
【００６８】
図７は、衝突の検出のための例示的な方法７００のフローチャートを示す。図７に示される方法７００は、例えば、ここのいずれかの図に示されたいずれかのコンピューティング装置などのコンピューティング装置によって実行できる方法の実施形態を表す。
【００６９】
ブロック７０２で、方法７００は、以前の期間中の環境内の物理的物体を示すセンサデータを取得することを含む。一例において、センサデータは一連の画像フレームを含んでもよい。例えば、センサデータは、物理的物体の動きを表す一連のＲＧＢＤ画像フレームを含んでもよい。センサデータは、部屋の種類や時刻などのコンテキストデータも含んでもよい。
【００７０】
ブロック７０４において、方法７００は、機械学習モデルおよびセンサデータを用いて、以後の期間中の物理的物体の推定軌道を判定することを含む。例えば、コンピューティング装置は、センサデータを機械学習モデルへの入力として提供し、物理的物体の推定軌道を出力として受信する。推定軌道は、経時的な物理的物体の推定位置を含んでもよい。場合によって、コンピューティング装置は、物理的物体に対応する情報を取得し、取得した情報を入力として機械学習モデルに提供する場合があり得る。一例として、コンピューティング装置は、移動する物体の速度、および、高さ、深さなどの物理的物体の寸法を判定し、機械学習モデルへの入力として寸法と速度を提供してもよい。場合によっては、機械学習モデルへの入力として、部屋の種類や時刻などのコンテキストデータが提供される場合もある。
【００７１】
ブロック７０６において、方法７００は、物理的物体の推定軌道は潜在的な衝突を示すと判定することを含む。一例において、物理的物体の推定軌道が潜在的な衝突を示すと判定することは、物理的物体の推定軌道と、ロボット装置またはソフトウェアロボットなどのロボットの推定軌道とを比較し、物理的物体の推定軌道とロボットの推定軌道は交差すると判定することを含む。例えば、コンピューティング装置は、物理的物体が物理的物体の推定軌道に従って移動し、ロボットがロボットの推定軌道に従って移動すると、物理的物体とロボットは衝突する可能性があると判定してもよい。
【００７２】
ブロック７０８において、方法７００は、潜在的な衝突を回避する動作を行うことを含む。例えば、ブロック７０６の潜在的な衝突は、物理的物体とロボット装置との間の潜在的な衝突であってもよく、動作を行うことは、ロボット装置の駆動システムにコマンドを提供すること（例えば、停止、後進、または特定の軌道をたどって物理的物体との衝突を回避するコマンドを提供すること）を含んでもよい。別の例として、ブロック７０６の潜在的な衝突は、物理的物体と環境のビューにレンダリングされる拡張現実グラフィック形態のソフトウェアロボットとの間の潜在的な衝突であってもよく、動作を行うことは、拡張現実グラフィックの位置を調整する（例えば、拡張現実グラフィックを新しい位置に移動する、または、拡張現実グラフィックをちょっと飛ばさせてどける）ことを含んでもよい。
【００７３】
有利には、コンピューティング装置は、方法７００を用いて潜在的な衝突を検出し、潜在的な衝突を回避する動作を行うことができる。例えば、ロボット装置のコンピューティング装置は、ロボット装置によって取得されたセンサデータを処理し、ロボット装置に潜在的な衝突を回避する動作を行わせることができる。
【００７４】
図８は、一実施形態に係る、衝突の推定および回避を示す概念図である。図８に示すように、物理的物体、すなわち、犬８０２は、建物内の部屋を移動する場合がある。ロボット装置８０４が部屋を横切って移動する間に、ロボット装置８０４のコンピューティング装置は、犬８０２を示すセンサデータを取得してもよい。例えば、コンピューティング装置は、犬８０２の動きを表す１つ以上の画像フレームを含むセンサデータを取得してもよい。
【００７５】
次いで、コンピューティング装置は、機械学習モデルを用いて犬８０２の推定軌道を判定してもよい。図８に示されるように、犬８０２の推定軌道は、１秒後の犬８０２の推定位置、２秒後の犬８０２の推定位置などを含んでもよい。
【００７６】
さらに、コンピューティング装置は、犬８０２の推定軌道と、ロボット装置８０４の推定軌道とを比較し、ロボット装置は約２秒内に犬８０２と衝突する可能性があると判定してもよい。この判定に応じて、コンピューティング装置は、ロボット装置８０４が犬８０２と意図せずに衝突することを回避するように、ロボット装置８０４を位置８０６で停止させてもよい。あるいは、コンピューティング装置は、ロボット装置８０４を位置８０６で停止させ、その後、後進または方向を変更するようにしてもよい（図示せず）。
【００７７】
別の例において、図４の方法４００を用いて生成されたトレーニングデータセットおよび／または他の技術を用いて生成されたトレーニングデータセットは、ロボット装置は落下する可能性があることを予測するように機械学習モデルをトレーニングすることに使用できる。例えば、コンピューティング装置は、ロボット装置の軌道を示すデータを受信し、落下するロボット装置を含むデータセットでトレーニングされた機械学習モデルにデータを提供するようにしてもよい。次いで、コンピューティング装置は、機械学習モデルを用いて、ロボット装置の軌道は潜在的な衝突を示すことを判定してもよい（例えば、ロボット装置が落下する）。また、この判定に応じて、コンピューティング装置は、潜在的な衝突を回避する動作を行ってもよい。例えば、コンピューティング装置は、警告を提供したり、ロボット装置の軌道を変更したりしてもよい。
【００７８】
別の有利な構成の説明は、例示および説明の目的で提示され、開示された形態の例を網羅するか、または限定することを意図していない。前述の開示を検討および理解した上、あらゆる修正および変形が当業者にとって明らかであろう。さらに、あらゆる例は、他の例に照らしてあらゆる利点を提供してもよい。選択された１つ以上の例は、原理や実際の応用を最適に説明するためのものであり、考えられる特定の用途に適した様々な変更を伴う様々な例の開示を当業者が理解できるようにするために選ばれて記載されたものである。
【００７９】
本願は、２０１７年９月８日に出願された米国非仮出願第１５／６９９４４４号に対する利益を主張し、その全体が参照として組み込まれる。
【図１】
2020529088.tif 000003
【図２】
2020529088.tif 000004
【図３】
2020529088.tif 000005
【図４】
2020529088.tif 000006
【図５】
2020529088.tif 000007
【図６】
2020529088.tif 000008
【図７】
2020529088.tif 000009
【図８】
2020529088.tif 000010
【手続補正書】
【提出日】令和2年7月20日(2020.7.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
非一時的なコンピュータ読み取り可能な媒体に記憶される衝突検出システムであって、前記衝突検出システムは、
以前の期間中の環境を示し、一連の画像フレームを含む、センサデータのログを取得し、
前記センサデータのログは、前記以前の期間内の特定の時間における前記環境内の物理的物体を巻き込む衝突に関連すると判定し、
前記センサデータのログが前記衝突に関連すると判定することに応じて、前記センサデータのログから前記衝突に対するトレーニングデータセットを生成し、
前記衝突に対するトレーニングデータセットは、前記特定の時間に対応する前記一連の画像フレーム内の画像フレームより前の前記一連の画像フレームの複数の画像フレームを含み、
前記トレーニングデータセットを用いて前記衝突検出システムをトレーニングして将来の衝突を予測する、
ことを含む、プロセスによって製造される衝突検出システム。
【請求項２】
請求項１に記載の衝突検出システムにおいて、
前記センサデータのログが前記衝突に関連すると判定することは、前記衝突は前記物理的物体とロボット装置との間の物理的衝突であると判定することを含む、衝突検出システム。
【請求項３】
請求項２に記載の衝突検出システムにおいて、前記プロセスは、
前記以前の期間の少なくとも一部に対応する加速度計データを取得することをさらに含み、
前記センサデータのログが前記衝突に関連すると判定することは、前記加速度計データは前記物理的物体と前記ロボット装置との間の衝突を示すと判定することを含む、衝突検出システム。
【請求項４】
請求項２に記載の衝突検出システムにおいて、前記プロセスは、
前記以前の期間の少なくとも一部に対応する接触センサデータを取得することをさらに含み、
前記センサデータのログが前記衝突に関連すると判定することは、前記接触センサデータは前記物理的物体と前記ロボット装置との間の衝突を示すと判定することを含む、衝突検出システム。
【請求項５】
請求項２に記載の衝突検出システムにおいて、
前記プロセスは、前記ロボット装置のコンピューティング装置によって実現される、衝突検出システム。
【請求項６】
請求項２に記載の衝突検出システムにおいて、
前記センサデータのログは、前記以前の期間中の前記環境における前記ロボット装置の移動を示す速度データのログをさらに含み、
前記センサデータのログから前記衝突に対する前記トレーニングデータセットを生成することは、前記速度データのログの少なくとも一部をさらに含む前記トレーニングデータセットを生成することを含む、衝突検出システム。
【請求項７】
請求項２に記載の衝突検出システムにおいて、
前記センサデータのログは、前記ロボット装置のペイロードを示すペイロードデータをさらに含み、
前記センサデータのログが前記衝突に関連すると判定することは、前記ペイロードデータは前記物理的物体と前記ロボット装置との間の衝突を示すと判定することを含む、衝突検出システム。
【請求項８】
請求項１に記載の衝突検出システムにおいて、
前記センサデータのログが前記衝突に関連すると判定することは、前記衝突は前記物理的物体とロボット装置を囲む仮想境界との間の仮想衝突、または物理的物体を囲む仮想境界とロボット装置との間の仮想衝突であると判定することを含む、衝突検出システム。
【請求項９】
請求項８に記載の衝突検出システムにおいて、前記プロセスは、
前記以前の期間の少なくとも一部に対応する近接センサデータを取得することをさらに含み、
前記センサデータのログが前記衝突に関連すると判定することは、前記近接センサデータは、前記物理的物体と前記ロボット装置との間の距離が、閾値距離よりも上回る状態から閾値距離よりも下回る状態へ移行していることを示すと判定することを含む、衝突検出システム。
【請求項１０】
請求項１に記載の衝突検出システムにおいて、
前記センサデータのログが前記衝突に関連すると判定することは、前記衝突は、前記物理的物体と拡張現実グラフィック形態のソフトウェアロボットとの間の仮想衝突であると判定することを含む、衝突検出システム。
【請求項１１】
請求項１０に記載の衝突検出システムにおいて、
前記一連の画像フレームの少なくとも２つの画像は、前記物理的物体までの距離を示す深度情報を含み、
前記センサデータのログが前記衝突に関連すると判定することは、前記深度情報に基づいて、前記物理的物体は第１位置から第２位置に移動し、および、第２位置は拡張現実グラフィックの位置と重なっていると判定することを含む、衝突検出システム。
【請求項１２】
請求項１に記載の衝突検出システムにおいて、
前記複数の画像フレームは、１つ以上の画素の深度データを含み、前記深度データは、前記衝突前の前記物理的物体の動きを示す、衝突検出システム。
【請求項１３】
請求項１に記載の衝突検出システムにおいて、
前記環境は、部屋を含み、
前記センサデータのログは、前記部屋の部屋種類を示す部屋情報をさらに含み、
前記センサデータのログから前記衝突に対する前記トレーニングデータセットを生成することは、前記部屋情報をさらに含む前記トレーニングデータセットを生成することを含む、衝突検出システム。
【請求項１４】
請求項１に記載の衝突検出システムにおいて、前記プロセスは、
前記衝突に対するトレーニングデータセットを表す少なくとも１つのファイルを機械学習サーバ装置に送信することをさらに含み、前記機械学習サーバ装置は、前記トレーニングデータセットを用いて機械学習モデルをトレーニングするように構成される、衝突検出システム。
【請求項１５】
請求項１に記載の衝突検出システムにおいて、
前記環境を示す追加センサデータを受信し、
機械学習モデルを用いるコンピューティング装置によって、前記追加センサデータは前記環境内における将来の潜在的衝突を示すと判定する、ように構成される衝突検出システム。
【請求項１６】
コンピュータにより実行される方法であって、
現在時点の環境を示すセンサデータを受信し、
トレーニングされたモデルに前記センサデータを入力することにより、前記センサデータは将来の前記環境における潜在的な衝突を示すかどうかを判定し、
前記トレーニングされたモデルは、
以前の期間中の他の環境を示し、一連の画像フレームを含む、センサデータのログを取得し、
前記センサデータのログは、前記以前の期間内の特定の時間における前記環境内の物理的物体を巻き込む衝突に関連すると判定し、
前記センサデータの前記ログが前記衝突に関連しているとの判定に応答して、前記センサデータの前記ログから前記衝突のトレーニングデータセットを生成し、前記衝突のトレーニングデータセットは、前記特定の時間に対応する画像フレームのシーケンス内の画像フレームより前の前記一連の画像フレームの複数の画像フレームを含み、
前記トレーニングデータセットを用いて前記トレーニングされたモデルをトレーニングして衝突を検出する、ことを含むプロセスに従ってトレーニングされる、方法。
【請求項１７】
請求項１６に記載のコンピュータにより実行される方法において、
前記センサデータのログが前記衝突に関連すると判定することは、前記衝突は前記物理的物体とロボット装置との間の物理的衝突であると判定することを含む、コンピュータにより実行される方法。
【請求項１８】
請求項１７に記載のコンピュータにより実行される方法において、
前記プロセスは、前記以前の期間の少なくとも一部に対応する加速度計データを取得することをさらに含み、
前記センサデータのログが前記衝突に関連すると判定することは、前記加速度計データは前記物理的物体と前記ロボット装置との間の衝突を示すと判定することを含む、コンピュータにより実行される方法。
【請求項１９】
請求項１７に記載のコンピュータにより実行される方法において、
前記プロセスは、前記以前の期間の少なくとも一部に対応する接触センサデータを取得することをさらに含み、
前記センサデータのログが前記衝突に関連すると判定することは、前記接触センサデータは前記物理的物体と前記ロボット装置との間の衝突を示すと判定することを含む、コンピュータにより実行される方法。
【請求項２０】
請求項１７に記載のコンピュータにより実行される方法において、
前記プロセスは、前記ロボット装置のコンピューティング装置によって実現される、コンピュータにより実行される方法。
【請求項２１】
請求項１７に記載のコンピュータにより実行される方法において、
前記センサデータのログは、前記以前の期間中の前記他の環境における前記ロボット装置の移動を示す速度データのログをさらに含み、
前記センサデータのログから前記衝突に対する前記トレーニングデータセットを生成することは、前記速度データのログの少なくとも一部をさらに含む前記トレーニングデータセットを生成することを含む、コンピュータにより実行される方法。
【請求項２２】
請求項１７に記載のコンピュータにより実行される方法において、
前記センサデータのログは、前記ロボット装置のペイロードを示すペイロードデータをさらに含み、
前記センサデータのログが前記衝突に関連すると判定することは、前記ペイロードデータは前記物理的物体と前記ロボット装置との間の衝突を示すと判定することを含む、コンピュータにより実行される方法。
【請求項２３】
請求項１６に記載のコンピュータにより実行される方法において、
前記センサデータのログが前記衝突に関連すると判定することは、前記衝突は前記物理的物体とロボット装置を囲む仮想境界との間の仮想衝突、または物理的物体を囲む仮想境界とロボット装置との間の仮想衝突であると判定することを含む、コンピュータにより実行される方法。
【請求項２４】
請求項２３に記載のコンピュータにより実行される方法において、
前記プロセスは、前記以前の期間の少なくとも一部に対応する近接センサデータを取得することをさらに含み、
前記センサデータのログが前記衝突に関連すると判定することは、前記近接センサデータは、前記物理的物体と前記ロボット装置との間の距離が、閾値距離よりも上回る状態から閾値距離よりも下回る状態へ移行していることを示すと判定することを含む、コンピュータにより実行される方法。
【請求項２５】
請求項１６に記載のコンピュータにより実行される方法において、
前記センサデータのログが前記衝突に関連すると判定することは、前記衝突は、前記物理的物体と拡張現実グラフィック形態のソフトウェアロボットとの間の仮想衝突であると判定することを含む、コンピュータにより実行される方法。
【請求項２６】
請求項２５に記載のコンピュータにより実行される方法において、
前記一連の画像フレームの少なくとも２つの画像は、前記物理的物体までの距離を示す深度情報を含み、
前記センサデータのログが前記衝突に関連すると判定することは、前記深度情報に基づいて、前記物理的物体は第１位置から第２位置に移動し、および、第２位置は拡張現実グラフィックの位置と重なっていると判定することを含む、コンピュータにより実行される方法。
【請求項２７】
請求項１６に記載のコンピュータにより実行される方法において、
前記複数の画像フレームは、１つ以上の画素の深度データを含み、前記深度データは、前記衝突前の前記物理的物体の動きを示す、コンピュータにより実行される方法。
【請求項２８】
請求項１６に記載のコンピュータにより実行される方法において、
前記環境は、部屋を含み、
前記センサデータのログは、前記部屋の部屋種類を示す部屋情報をさらに含み、
前記センサデータのログから前記衝突に対する前記トレーニングデータセットを生成することは、前記部屋情報をさらに含む前記トレーニングデータセットを生成することを含む、コンピュータにより実行される方法。
【請求項２９】
請求項１６に記載のコンピュータにより実行される方法において、
前記トレーニングされたモデルは、機械学習モデルとしてトレーニングされる、コンピュータにより実行される方法。
【請求項３０】
エンコードされた命令を含む非一時的なコンピュータ読み取り可能な記憶媒体であって、プロセッサにより実行されるとき、前記プロセッサに、
現在時点の環境を示すセンサデータを受信するステップと、
トレーニングされたモデルに前記センサデータを入力することにより、前記センサデータは将来の前記環境における潜在的な衝突を示すかどうかを判定するステップと、を実行させ、
前記トレーニングされたモデルは、
以前の期間中の他の環境を示し、一連の画像フレームを含む、センサデータのログを取得し、
前記センサデータのログは、前記以前の期間内の特定の時間における前記環境内の物理的物体を巻き込む衝突に関連すると判定し、
前記センサデータの前記ログが前記衝突に関連しているとの判定に応答して、前記センサデータの前記ログから前記衝突のトレーニングデータセットを生成し、前記衝突のトレーニングデータセットは、前記特定の時間に対応する画像フレームのシーケンス内の画像フレームより前の前記一連の画像フレームの複数の画像フレームを含み、
前記トレーニングデータセットを用いて前記トレーニングされたモデルをトレーニングして衝突を検出する、ことを含むプロセスに従ってトレーニングされる、非一時的なコンピュータ読み取り可能な記憶媒体。
【手続補正２】
【補正対象書類名】図面
【補正対象項目名】図８
【補正方法】変更
【補正の内容】
【図８】
2020529088.tif 000011
【国際調査報告】
2020529088.tif 000012
2020529088.tif 000013
2020529088.tif 000014