(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-02-15
(45)【発行日】2022-02-24
(54)【発明の名称】衝突の検出、推定、および回避
(51)【国際特許分類】
G06T 7/00 20170101AFI20220216BHJP
G05D 1/02 20200101ALI20220216BHJP
【FI】
G06T7/00 350B
G05D1/02 S
(21)【出願番号】P 2020513698
(86)(22)【出願日】2018-09-07
(86)【国際出願番号】 IB2018056851
(87)【国際公開番号】W WO2019049082
(87)【国際公開日】2019-03-14
【審査請求日】2020-07-20
(32)【優先日】2017-09-08
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】519087723
【氏名又は名称】ナイアンティック, インコーポレイテッド
【氏名又は名称原語表記】NIANTIC,INC.
【住所又は居所原語表記】One Ferry Building,Suite 200 San Francisco,CA 94111 United States of America
(74)【代理人】
【識別番号】100110928
【氏名又は名称】速水 進治
(74)【代理人】
【識別番号】100127236
【氏名又は名称】天城 聡
(72)【発明者】
【氏名】ヒックマン ライアン マイケル
(72)【発明者】
【氏名】ペ スヒョン
【審査官】藤崎 詔夫
(56)【参考文献】
【文献】特開平06-060300(JP,A)
【文献】特開2012-171024(JP,A)
【文献】特表2017-523054(JP,A)
【文献】特表2014-505934(JP,A)
【文献】特開2005-056185(JP,A)
【文献】特開平11-134003(JP,A)
【文献】中国特許出願公開第105139072(CN,A)
【文献】米国特許出願公開第2016/0096270(US,A1)
【文献】米国特許出願公開第2015/0094852(US,A1)
【文献】特表2014-524630(JP,A)
【文献】特開2011-043885(JP,A)
【文献】特開2009-163770(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G05D 1/02
(57)【特許請求の範囲】
【請求項1】
非一時的なコンピュータ読み取り可能な媒体に記憶される衝突検出システムであって、前記衝突検出システムは、
以前の期間中の環境を示し、一連の画像フレームを含む、センサデータのログを取得し、
前記センサデータのログは、前記以前の期間内の特定の時間における、前記環境内の物理的物体と拡張現実グラフィック形態のソフトウェアロボットとの間の衝突の発生を示す、ことを判定し、
前記センサデータのログが前記衝突の発生を示すと判定されたことに応じて、前記センサデータのログから前記衝突に対するトレーニングデータセットを生成し、
前記衝突に対するトレーニングデータセットは、前記特定の時間に対応する前記一連の画像フレーム内の画像フレームより前の前記一連の画像フレームの複数の画像フレームを含み、
前記トレーニングデータセットを用いて前記衝突を推定するための前記衝突検出システムの機械学習モデルをトレーニングして将来の衝突を予測する、
ことを含む、プロセスによって製造される衝突検出システム。
【請求項2】
請求項1に記載の衝突検出システムにおいて、
前記センサデータのログが前記衝突の発生を示すと判定することは、前記衝突は前記物理的物体とロボット装置を囲む仮想境界との間の仮想衝突、または物理的物体を囲む仮想境界とロボット装置との間の仮想衝突であると判定することを含む、衝突検出システム。
【請求項3】
請求項
2に記載の衝突検出システムにおいて、前記プロセスは、
前記以前の期間の少なくとも一部に対応する近接センサデータを取得することをさらに含み、
前記センサデータのログが前記衝突の発生を示すと判定することは、前記近接センサデータは、前記物理的物体と前記ロボット装置との間の距離が、閾値距離よりも上回る状態から閾値距離よりも下回る状態へ移行していることを示すと判定することを含む、衝突検出システム。
【請求項4】
請求項2に記載の衝突検出システムにおいて、
前記プロセスは、前記ロボット装置のコンピューティング装置によって実現される、衝突検出システム。
【請求項5】
請求項2に記載の衝突検出システムにおいて、
前記センサデータのログは、前記以前の期間中の前記環境における前記ロボット装置の移動を示す速度データのログをさらに含み、
前記センサデータのログから前記衝突に対する前記トレーニングデータセットを生成することは、前記速度データのログの少なくとも一部をさらに含む前記トレーニングデータセットを生成することを含む、衝突検出システム。
【請求項6】
請求項1に記載の衝突検出システムにおいて、
前記一連の画像フレームの少なくとも2つの画像は、前記物理的物体までの距離を示す深度情報を含み、
前記センサデータのログが前記衝突の発生を示すと判定することは、前記深度情報に基づいて、前記物理的物体は第1位置から第2位置に移動し、および、第2位置は拡張現実グラフィックの位置と重なっていると判定することを含む、衝突検出システム。
【請求項7】
請求項1に記載の衝突検出システムにおいて、
前記複数の画像フレームは、1つ以上の画素の深度データを含み、前記深度データは、前記衝突前の前記物理的物体の動きを示す、衝突検出システム。
【請求項8】
請求項1に記載の衝突検出システムにおいて、
前記環境は、部屋を含み、
前記センサデータのログは、前記部屋の部屋種類を示す部屋情報をさらに含み、
前記センサデータのログから前記衝突に対する前記トレーニングデータセットを生成することは、前記部屋情報をさらに含む前記トレーニングデータセットを生成することを含む、衝突検出システム。
【請求項9】
請求項1に記載の衝突検出システムにおいて、前記プロセスは、
前記衝突に対するトレーニングデータセットを表す少なくとも1つのファイルを機械学習サーバ装置に送信することをさらに含み、前記機械学習サーバ装置は、前記トレーニングデータセットを用いて機械学習モデルをトレーニングするように構成される、衝突検出システム。
【請求項10】
請求項1に記載の衝突検出システムにおいて、
前記環境を示す追加センサデータを受信し、
機械学習モデルを用いるコンピューティング装置によって、前記追加センサデータは前記環境内における将来の潜在的衝突を示すと判定する、ように構成される衝突検出システム。
【請求項11】
コンピュータにより実行される方法であって、
現在時点の環境を示すセンサデータを受信し、
衝突を推定するための、トレーニングされた機械学習モデルに前記センサデータを入力することにより、前記センサデータは将来の前記環境における潜在的な衝突の発生を示すかどうかを判定し、
前記機械学習モデルは、
以前の期間中の他の環境を示し、一連の画像フレームを含む、センサデータのログを取得し、
前記センサデータのログは、前記以前の期間内の特定の時間における、前記環境内の物理的物体と拡張現実グラフィック形態のソフトウェアロボットとの間の衝突の発生を示す、ことを判定し、
前記センサデータの前記ログが前記衝突の発生を示すと判定されたことに応答して、前記センサデータの前記ログから前記衝突のトレーニングデータセットを生成し、前記衝突のトレーニングデータセットは、前記特定の時間に対応する前記一連の画像フレーム内の画像フレームより前の前記一連の画像フレームの複数の画像フレームを含み、
前記トレーニングデータセットを用いて前記機械学習モデルをトレーニングして衝突を検出する、ことを含むプロセスに従ってトレーニングされる、方法。
【請求項12】
請求項
11に記載のコンピュータにより実行される方法において、
前記センサデータのログが前記衝突の発生を示すと判定することは、前記衝突は前記物理的物体とロボット装置を囲む仮想境界との間の仮想衝突、または物理的物体を囲む仮想境界とロボット装置との間の仮想衝突であると判定することを含む、コンピュータにより実行される方法。
【請求項13】
請求項
12に記載のコンピュータにより実行される方法において、
前記プロセスは、前記以前の期間の少なくとも一部に対応する近接センサデータを取得することをさらに含み、
前記センサデータのログが前記衝突の発生を示すと判定することは、前記近接センサデータは、前記物理的物体と前記ロボット装置との間の距離が、閾値距離よりも上回る状態から閾値距離よりも下回る状態へ移行していることを示すと判定することを含む、コンピュータにより実行される方法。
【請求項14】
請求項
12に記載のコンピュータにより実行される方法において、
前記プロセスは、前記ロボット装置のコンピューティング装置によって実現される、コンピュータにより実行される方法。
【請求項15】
請求項
12に記載のコンピュータにより実行される方法において、
前記センサデータのログは、前記以前の期間中の前記他の環境における前記ロボット装置の移動を示す速度データのログをさらに含み、
前記センサデータのログから前記衝突に対する前記トレーニングデータセットを生成することは、前記速度データのログの少なくとも一部をさらに含む前記トレーニングデータセットを生成することを含む、コンピュータにより実行される方法。
【請求項16】
請求項
11に記載のコンピュータにより実行される方法において、
前記一連の画像フレームの少なくとも2つの画像は、前記物理的物体までの距離を示す深度情報を含み、
前記センサデータのログが前記衝突の発生を示すと判定することは、前記深度情報に基づいて、前記物理的物体は第1位置から第2位置に移動し、および、第2位置は拡張現実グラフィックの位置と重なっていると判定することを含む、コンピュータにより実行される方法。
【請求項17】
請求項
11に記載のコンピュータにより実行される方法において、
前記複数の画像フレームは、1つ以上の画素の深度データを含み、前記深度データは、前記衝突前の前記物理的物体の動きを示す、コンピュータにより実行される方法。
【請求項18】
請求項
11に記載のコンピュータにより実行される方法において、
前記環境は、部屋を含み、
前記センサデータのログは、前記部屋の部屋種類を示す部屋情報をさらに含み、
前記センサデータのログから前記衝突に対する前記トレーニングデータセットを生成することは、前記部屋情報をさらに含む前記トレーニングデータセットを生成することを含む、コンピュータにより実行される方法。
【請求項19】
請求項
11に記載のコンピュータにより実行される方法において、
前記トレーニングされたモデルは、機械学習モデルとしてトレーニングされる、コンピュータにより実行される方法。
【請求項20】
エンコードされた命令を含む非一時的なコンピュータ読み取り可能な記憶媒体であって、プロセッサにより実行されるとき、前記プロセッサに、
現在時点の環境を示すセンサデータを受信するステップと、
衝突を推定するための、トレーニングされた機械学習モデルに前記センサデータを入力することにより、前記センサデータは将来の前記環境における潜在的な衝突の発生を示すかどうかを判定するステップと、を実行させ、
前記機械学習モデルは、
以前の期間中の他の環境を示し、一連の画像フレームを含む、センサデータのログを取得し、
前記センサデータのログは、前記以前の期間内の特定の時間における、前記環境内の物理的物体と拡張現実グラフィック形態のソフトウェアロボットとの間の衝突の発生を示す、ことを判定し、
前記センサデータの前記ログが前記衝突の発生を示すと判定されたことに応答して、前記センサデータの前記ログから前記衝突のトレーニングデータセットを生成し、前記衝突のトレーニングデータセットは、前記特定の時間に対応する画像フレームのシーケンス内の画像フレームより前の前記一連の画像フレームの複数の画像フレームを含み、
前記トレーニングデータセットを用いて前記機械学習モデルをトレーニングして衝突を検出する、ことを含むプロセスに従ってトレーニングされる、非一時的なコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、機械学習に関し、より具体的には、機械学習モデルをトレーニングするためのトレーニングデータセットを生成し、機械学習モデルを用いて衝突の推定を行うことに関する。
【背景技術】
【0002】
ロボット装置が環境をナビゲートするとき、環境内の物理的物体との衝突を回避することが望まれる場合がある。例えば、ロボット装置が屋内環境をナビゲートするとき、人々、ペット、および他の移動する物体との衝突を回避することが望まれる場合がある。
【発明の概要】
【発明が解決しようとする課題】
【0003】
場合によって、ロボット装置は、受動的な方法で動作することで衝突を回避するようにプログラムされている。例えば、ロボット装置は、赤外線近接センサを含み、ロボット装置の特定範囲内で物体が検出されるたびに停止または方向を変更するようにプログラムされてもよい。しかしながら、残念なことに、状況によっては、ロボット装置の反応が遅すぎて、ロボット装置が物体と衝突する場合がある。さらに、ロボット装置が環境内をナビゲートするとき、受動的な方法で動作するロボット装置は、動いている体(または動く可能性のある物体)の軌道を推定できず、物体との衝突を回避するために能動的に動作を行うことができない場合がある。従って、改善が望まれている。
【課題を解決するための手段】
【0004】
一例では、コンピュータにより実行される方法が記載される。コンピュータにより実行される方法は、コンピューティング装置によって、以前の期間中の環境を示し、一連の画像フレームを含むセンサデータのログを取得することを含む。コンピュータにより実行される方法は、コンピューティング装置によって、センサデータのログは、以前の期間内の特定の時間における環境内の物理的物体を巻き込む衝突に関連すると判定することをさらに含む。コンピュータにより実行される方法はまた、センサデータのログが衝突に関連すると判定することに応じて、コンピューティング装置によって、センサデータのログから衝突に対するトレーニングデータセットを生成することを含む。衝突に対するトレーニングデータセットは、特定の時間に対応する一連の画像フレーム内の画像より前の前記一連の画像フレームの複数の画像フレームを含む。
【0005】
別の例では、コンピューティング装置が記載される。コンピューティング装置は、少なくとも1つのプロセッサと、メモリと、メモリに記憶され、少なくとも1つのプロセッサによって実行されるとコンピューティング装置に様々な機能を実行させるプログラム命令とを備える。機能は、以前の期間中の環境を示し、一連の画像フレームを含むセンサデータのログを取得することを含む。この機能は、センサデータのログは、以前の期間内の特定の時間における環境内の物理的物体を巻き込む衝突に関連すると判定することをさらに含む。この機能はまた、センサデータのログが衝突に関連すると判定することに応じて、センサデータのログから衝突に対するトレーニングデータセットを生成することを含む。衝突に対するトレーニングデータセットは、特定の時間に対応する一連の画像フレーム内の画像フレームより前の一連の画像フレームの複数の画像フレームを含む。
【0006】
別の例において、コンピューティング装置によって実行されるとコンピューティング装置に機能を実行させる命令を記憶した非一時的なコンピュータ読み取り可能な媒体が記載される。機能は、以前の期間中の環境を示し、一連の画像フレームを含むセンサデータのログを取得することを含む。この機能は、センサデータのログは、以前の期間内の特定の時間における環境内の物理的物体を巻き込む衝突に関連すると判定することをさらに含む。この機能はまた、センサデータのログが衝突に関連すると判定することに応じて、センサデータのログから衝突に対するトレーニングデータセットを生成することを含む。衝突に対するトレーニングデータセットは、特定の時間に対応する一連の画像フレーム内の画像フレームより前の一連の画像フレームの複数の画像フレームを含む。
【0007】
議論された特徴、機能、および利点は、多様な例で独立に達成でき、またはさらに他の例と組み合わせてもよく、さらにその詳細は、以下の説明および図を参照できる。
【図面の簡単な説明】
【0008】
例示的な一例の特徴になる新規の特徴は、添付した特許請求の範囲に記載されている。しかしながら、例示的な一例、ならびに好ましい使用モード、さらに目的および説明は、以下の本開示の例示的な一例の詳細な説明を参照し、添付の図と併せて読むと最もよく理解されるであろう。
【0009】
【
図1】
図1は、一実施形態に係る例示的なシステムを示す。
【
図2】
図2は、一実施形態に係る例示的なロボット装置を示す。
【
図3】
図3は、一実施形態に係る例示的なコンピューティング装置を示す。
【
図4】
図4は、一実施形態に係る、例示的な方法のフローチャートを示す。
【
図5】
図5は、一実施形態に係る、環境内の物理的物体に関連する衝突を示す概念図である。
【
図6】
図6は、一実施形態に係る、環境内の物理的物体に関連する衝突を示す別の概念図である。
【
図7】
図7は、一実施形態に係る、別の例示的な方法のフローチャートを示す。
【
図8】
図8は、一実施形態に係る、衝突の推定および回避を示す概念図である。
【発明を実施するための形態】
【0010】
開示された例は、添付の図面を参照して以下により十分に記載されており、添付の図面には、開示された例の全てではないが、いくつかの例を示す。実際に、いくつかの異なる例が取り上げられる場合があるが、ここに記載される例に限定されると解釈されてはならない。より正確に言えば、これらの例は、本開示が徹底的かつ完全であり、本開示の範囲が当業者に十分に伝達されるように提供される。
【0011】
ここでは、機械学習モデルをトレーニングするトレーニングデータセットを生成するシステムおよび方法が記載される。例において、ロボット装置は、環境内の物理的物体に関連する衝突を検出し、それに応じて衝突に係るデータを、機械学習モデルのトレーニングデータセットとして、収集およびパッケージ化してもよい。このトレーニングデータセットおよび他のトレーニングデータセットを用いて機械学習モデルをトレーニングした後、ロボット装置(または別のロボット装置)は、モデルを用いて、将来の衝突がいつ発生するかを予測し、物理的物体との衝突を回避する予防策を講じることができる。
【0012】
1つの例示的な方法は、コンピューティング装置によって、以前の期間中の環境を示すセンサデータのログを取得することを含む。例えば、環境内をナビゲートするロボット装置は、以前の期間に対応する一連の画像フレームを含むセンサデータのログを記録および記憶し、センサデータのログをコンピューティング装置に提供してもよい。この方法はまた、コンピューティング装置によって、センサデータのログは、以前の期間内の特定の時間における環境内の物理的物体を巻き込む衝突に関連すると判定することを含む。例えば、コンピューティング装置は、衝突は、物理的物体とロボット装置との間の物理的衝突であると判定してもよい。また、センサデータのログが衝突に関連すると判定することに応じて、コンピューティング装置は、センサデータのログから衝突に対するトレーニングデータセットを生成することができる。トレーニングデータセットは、特定の時間に対応する一連の画像フレーム内の画像フレームより前の一連の画像フレームの複数の画像フレームを含んでもよい。
【0013】
いくつかの例において、ロボット装置は、RGBD(Red, Green, Blue, Distance)画像を撮像するRGBDカメラを有してもよく、センサデータのログには一連のRGBD画像フレームが含まれてもよい。これらの例において、衝突に対するトレーニングデータセットには、衝突までのRGDB画像フレームが含まれてもよい。例えば、動いている物体(跳ねるボールなど)がロボット装置と衝突して、トレーニングデータセットの生成のトリガとなった場合、トレーニングデータセットには物体の動きを表すRGBD画像フレームが含まれてもよい。
【0014】
コンピューティング装置は、様々な方法でセンサデータのログが衝突に関連すると判定できる。例えば、以下でさらに記載されるように、コンピューティング装置は、ロボット装置によって記録された加速度計データは、物理的物体とロボット装置との間の衝突を示していると判定してもよい。同様に、コンピューティング装置は、ロボット装置によって記録された接触センサデータは、物理的物体とロボット装置との間の衝突を示していると判定してもよい。衝突を認識し、トレーニングデータセットの生成のトリガとする他の技術も考えられかつここに開示される。
【0015】
さらに、いくつかの例において、物理的物体と拡張現実キャラクター形態のソフトウェアロボットとの間の衝突のような仮想衝突も、トレーニングデータセットの生成のトリガとなる場合がある。例えば、拡張現実グラフィックは環境内の特定の位置に配置されてもよく、物理的物体は、特定の位置に移動したとコンピューティング装置が判定すると、コンピューティング装置はそれに応じて衝突のトレーニングデータセットを生成してもよい。
【0016】
有利には、ここに開示されるシステムおよび方法は、衝突が発生したときに、人間によるラベル付けの必要なく、センサデータのログを後処理してセンサデータの一部を衝突としてラベル付けするか、または、リアルタイムにトレーニングデータセットの生成のトリガとする、機械学習モデルのトレーニングデータセットの生成を促進してもよい。
【0017】
これらのシステムおよび方法の他の様々な特徴は、添付の図面を参照して以下に記載する。
【0018】
図1を参照し、例示的なシステム100を示す。特に、
図1には、衝突の検出および/または衝突の推定に対する例示的なシステム100が示される。ここで用いられる衝突の検出とは、環境内の少なくとも1つの動いている物体に関連する衝突が発生したことを判定するプロセスを言う。上記の説明を踏まえ、衝突の検出は、衝突に関連するデータを収集し、機械学習モデルをトレーニングするトレーニングデータセットを生成することに有用である。一方、衝突の推定とは、ロボット装置またはソフトウェアロボットなどのロボットが物理的物体と衝突する可能性があることを予測するプロセスを言う。物理的物体は、静止していてもよく、動いていてもよい。例えば、物理的物体は、家具、または壁、床、キャビネット、階段などの環境内の物理的な構造物であってもよい。あるいは、物理的物体は、ボール、おもちゃ、または衣類であってもよい。場合によって、衝突の推定は、機械学習モデルを用いて、動いている物体および/またはロボットの軌道を推定することを含んでもよい。
【0019】
図1に示されるように、システム100は、ロボット装置102a、102bと、少なくとも1つのサーバ装置104と、ホスト装置106と、通信ネットワーク108とを含む。
【0020】
ロボット装置102a、102bは、少なくとも1つのセンサを有し、ここに記載の実施形態によるセンサデータを記録するように構成される任意の種類の装置であってもよい。場合によって、ロボット装置102a、102bは、環境内で動くことを容易にする移動能力(例えば、駆動システム)を含んでもよい。
【0021】
図1に示すように、ロボット装置102aは、通信ネットワーク108を介して、サーバ装置104および/またはホスト装置106にデータ110を送信、および/または、サーバ装置104および/またはホスト装置106からデータ112を受信してもよい。例えば、ロボット装置102aは、通信ネットワーク108を介してセンサデータのログをサーバ装置104に送信してもよい。さらに加えてまたは代替として、ロボット装置102aは、サーバ装置104から機械学習モデルデータを受信してもよい。同様に、ロボット装置102aは、通信ネットワーク108を介してホスト装置106にセンサデータのログを送信し、および/またはホスト装置106から機械学習モデルデータを受信してもよい。さらに、場合によって、ロボット装置102aは、通信ネットワーク108を介するものではなく、ホスト装置106にデータを直接送信および/またはホスト装置106からデータを直接受信してもよい。
【0022】
サーバ装置104は、ここに記載のコンピューティング装置の動作を実行するように構成された任意の種類のコンピューティング装置であってもよい。例えば、サーバ装置104は、リモートサーバ装置を含むことができ、「クラウドベース」装置と呼ばれる場合がある。いくつかの例において、サーバ装置104は、コンピューティングタスクを複数のサーバ装置の間に分散させるクラウドベースのサーバクラスターを含んでもよい。上記の議論に沿って、サーバ装置104は、通信ネットワーク108を介してロボット装置102aにデータ112を送信、および/または、ロボット装置102aからデータ110を受信するように構成されてもよい。サーバ装置104は、機械学習モデルをトレーニングするように構成された機械学習サーバ装置を含むことができる。
【0023】
サーバ装置104のように、ホスト装置106は、ここに記載のコンピューティング装置の動作を実行するように構成された任意の種類のコンピューティング装置であってもよい。しかしながら、サーバ装置104とは異なり、ホスト装置106は、ロボット装置102aと同じ環境(例えば、同じ建物内)に位置してもよい。一例において、ロボット装置102aは、ホスト装置106とドッキングして、データを更新し、ダウンロード、および/またはアップロードしてもよい。
【0024】
ロボット装置102aは、通信ネットワーク108を介してサーバ装置104と通信し、ホスト装置106と通信することができるが、いくつかの例において、ロボット装置102aは、ここに記載のコンピューティング装置の動作を行ってもよい。例えば、ロボット装置102aは、ここに記載のコンピューティング装置の動作を実行するように構成された内部コンピューティングシステムを含んでもよい。
【0025】
いくつかの例において、ロボット装置102aは、無線インターフェースを介してロボット装置102bと無線で通信してもよい。例えば、ロボット装置102aおよびロボット装置102bは両方とも同じ環境で動作し、時には環境に関するデータを共有してもよい。
【0026】
通信ネットワーク108は、LAN(Local Area Network)、WAN(Wide Area Network)、企業イントラネット、公衆インターネット、または装置間に通信経路を提供するように構成された任意の他の種類のネットワークに対応し得る。通信ネットワーク108はまた、1つ以上のLAN、WAN、企業イントラネット、および/または公衆インターネットの組み合わせに対応し得る。
【0027】
図2は、一実施形態に係る例示的なロボット装置200を示す。ロボット装置200は、ここの図面のいずれかに示された任意のロボット装置を表してもよい。
図2は、ここに記載の実施形態に従って動作するように構成されたロボット装置が含み得るいくつかの構成要素を示す。
【0028】
図2に示すように、ロボット装置200は、センサシステム202と、機械システム204と、コンピューティング装置206とを含む。
図2において、センサシステム202は、深度カメラ208、慣性測定ユニット(IMU:Inertial Measurement Unit)210、1つ以上の動き追跡カメラ212、1つ以上のレーダ214、1つ以上のマイクロホンアレイ216、1つ以上の接触センサ218、1つ以上の近接センサ220、およびペイロードセンサ222などの多数のセンサを含む。
【0029】
深度カメラ208は、物体の3次元(3D:3-Dimensional)特徴など、環境内の物体の深度に関する情報をリカバーするように構成されてもよい。例えば、深度カメラ208は、投影赤外線パターンの1つ以上の画像を撮像し、様々なアルゴリズムを用いて3Dデータを三角測量および抽出して1つ以上のRGBD画像を出力するプロセッサに画像を提供するように構成されたRGB-赤外線(RGB-IR)カメラであってもよい。赤外線パターンは、深度カメラ208と一体化されたプロジェクターによって投影されてもよい。あるいは、赤外線パターンは、深度カメラ208とは別のプロジェクター(図示せず)によって投影されてもよい。
【0030】
IMU210は、ロボット装置の速度および/または方位を判定するように構成されてもよい。一例において、IMUは、3軸ジャイロスコープ、3軸加速度計、3軸コンパス、および動き情報を処理する1つ以上のプロセッサを含んでもよい。
【0031】
動き追跡カメラ212は、画像(例えば、RGB-IR画像)を撮像および処理することにより、物体の動きを検出および追跡するように構成されてもよい。場合によって、動き追跡カメラ212は、低輝度照明条件での検出を可能にする1つ以上のIR発光ダイオード(LED:Light Emitting Diodes)を含んでもよい。動き追跡カメラ212は、180度広視野(FOV:Field Of View)などのFOVを含んでもよい。一例の構成において、ロボット装置200は、ロボット装置200の第1側の画像を撮像するように構成された第1動き追跡カメラと、ロボット装置200の反対側の画像を撮像するように構成された第2動き追跡カメラとを含んでもよい。
【0032】
レーダ214は、電磁波を用いて環境内の物体の範囲、角度、または速度を判定する物体検出システムを含んでもよい。レーダ214は、レーザパルスを環境に発し、1つ以上のセンサで反射パルスを測定することにより動作してもよい。一例において、レーダ214は、150度FOVなどの広いFOVを有するソリッドステートミリ波レーダを含んでもよい。
【0033】
マイクロホンアレイ216は、音声データを記録するなど、1つ以上の機能を連携して実行するように動作する多数のマイクロホンを含んでもよい。一例において、マイクロホンアレイ216は、音源探査を用いて音源の位置を特定するように構成されてもよい。
【0034】
接触センサ218は、ロボット装置200が物体と接触したときに信号を提供するように構成されてもよい。例えば、接触センサ218は、接触センサ218が物体と接触したときに信号を提供するロボット装置200の外面の物理的衝突センサであってもよい。
【0035】
近接センサ220は、ロボット装置200の範囲内の物体の存在を検出するように構成されてもよい。例えば、近接センサ220は、赤外線近接センサを含むことができる。一例において、ロボット装置200は、複数の近接センサを含み、各近接センサはロボット装置200の異なる側面(例えば、正面、背面、左、右など)の物体を検出するように配置されていてもよい。
【0036】
ペイロードセンサ222は、ロボット装置200によって運ばれるペイロードの重量を測定するように構成されてもよい。例えば、ペイロードセンサ222は、ロボット装置200のプラットフォームまたは他の表面に加えられる力に比例する電気信号を提供するように構成されたロードセルを含むことができる。
【0037】
図2にさらに示すように、機械システム204は、駆動システム224および補助システム226を含む。駆動システム224は、ロボット装置200を環境内で移動させる(例えば、床を走行する)ように制御することができる1つ以上のモータ、車輪、および他の構成要素を含んでもよい。一例において、駆動システム224は、ロボット装置200を任意の方向に駆動させるように制御することができる全方向性駆動システムを含んでもよい。
【0038】
補助システム226は、付随的タスクの実行を容易にするように構成された1つ以上の機械的構成要素を含んでもよい。一例として、補助システム226は、真空引きを容易にするように構成されたモータおよびファンを含んでもよい。例えば、電気モータは、吸引口を通じて、ほこり、ごみ、または他の破片の吸引および容易な収集のために、ファンを回転させてもよい。別の例として、補助システムは、プラットフォームまたは構造の上部に置かれた任意の物体が地面から持ち上げられるように、ロボット装置200のプラットフォームまたは他の構造を垂直に持ち上げる構成を有する1つ以上のアクチュエータを含んでもよい。一例において、リフトシステム226は、約10キログラムのペイロードを持ち上げるように構成されてもよい。ロボット装置200の所望の動作に応じて、他の例も可能である。
【0039】
コンピューティング装置206は、センサシステム202および機械システム204を制御するように構成された様々なコンピューティング構成要素を含んでもよい。例えば、コンピューティング装置206は、様々な構成要素を統合するシステム・オン・チップ(SOC:System On a Chip)を含んでもよい。
【0040】
例として、
図3は例示的なコンピューティング装置300を示す。コンピューティング装置300は、ここの任意の図面に示されている任意のコンピューティング装置、サーバ装置、またはホスト装置を表してもよい。
図3は、ここの実施形態に従って動作するように構成されたコンピューティング装置が含み得るいくつかの機能要素を示す。この例では、コンピューティング装置300は、プロセッサ302、データ記憶装置304、通信インターフェース306、および入出力機能308を含み、それらの全ては、システムバス310または同様のメカニズムによって結合されてもよい。
【0041】
プロセッサ302は、1つ以上の汎用プロセッサおよび/または1つ以上の専用プロセッサ(例えば、ASIC(Application Specific Integrated Circuits)、DSP(Digital Signal Processors)、ネットワークプロセッサなど)などの1つ以上のCPUを含むことができる。例えば、プロセッサ302は、機械学習モデルのトレーニングおよび/または推論のためのTPU(Tensor Processing Unit)を含むことができる。
【0042】
次に、データ記憶装置304は、揮発性および/または不揮発性データ記憶装置を備えてもよく、全体または一部がプロセッサ302と統合されてもよい。データ記憶装置304は、プロセッサ302によって実行可能なプログラム命令、およびここに記載の様々な方法、プロセス、または動作を実行するためにこれらの命令によって操作されてもよいデータを保持することができる。あるいは、これらの方法、プロセス、または動作は、ハードウェア、ファームウェア、および/またはハードウェアと、ファームウェアと、ソフトウェアとの任意の組み合わせによって規定できる。一例として、データ記憶装置304のデータは、ここまたは添付図面に開示される方法、プロセス、または動作のいずれかを実行するためにプロセッサ302によって実行可能な非一時的なコンピュータ読み取り可能な媒体に記憶され得るプログラム命令を含んでもよい。
【0043】
通信インターフェース306は、イーサネット接続などの有線接続の形態をとることができる。通信インターフェース306は、IEEE802.11(Wifi)、ブルートゥース(登録商標)、または広域無線接続などの無線接続の形態をとることができる。しかしながら、他の形態の物理層接続、および他の種類の標準または独自の通信プロトコルが、通信インターフェース306上で使用されてもよい。
【0044】
入出力機能308は、コンピューティング装置300とのユーザインタラクションを容易にし得る。入出力機能308は、キーボード、マウス、タッチスクリーン、マイクロホンなどの複数の種類の入力装置を備えてもよい。同様に、入出力機能308は、スクリーン、モニタ、プリンタ、または1つ以上のLEDなどの複数の種類の出力装置を備えてもよい。さらに加えてまたは代替として、コンピューティング装置300は、通信インターフェース306またはUSB(Universal Serial Bus)またはHDMI(High-Definition Multimedia Interface)(登録商標)ポートなどの別のインターフェース(図示せず)を介して、別の装置から遠隔アクセスを支援してもよい。
【0045】
図4は、衝突の検出のための例示的な方法400のフローチャートを示す。
図4に示される方法400は、例えば、ここのいずれかの図に示されたいずれかのコンピューティング装置などのコンピューティング装置によって実行できる方法の実施形態を表す。ここに開示されるプロセスおよび方法や他のプロセスおよび方法について、本実施形態のうちの1つの実施可能な機能および動作をフローチャートに示す。別の例は、本開示の例示的な実施形態の範囲内に含まれ、当業者には明らかなように、機能は、関連機能に応じて実質的に同時に行われるか、または逆順に行われることを含み、図示または論議された順序とは異なる順序で実行されてもよい。
【0046】
ブロック402において、方法400は、以前の期間中の環境を示し、一連の画像フレームを含むセンサデータのログを取得することを含む。例えば、環境は、住宅などの建物の内部であり、画像フレームはRGBD画像フレームであってもよい。
【0047】
いくつかの例において、センサデータのログは、ロボット装置によってキャプチャされたセンサデータを含んでもよい。例えば、センサデータのログは、ロボット装置の1つ以上の複数のカメラによって撮像された画像を含んでもよい。さらに、センサデータのログは、IMU、マイクロホンアレイ、接触センサ、ペイロードセンサ、または近接センサなど、ロボット装置の他のセンサによってキャプチャされたセンサデータを含んでもよい。場合によって、ロボット装置は、センサデータを記録し、方法400の一部を実行する別のコンピューティング装置にセンサデータのログを提供してもよい。あるいは、他の例において、ロボット装置は、ロボット装置のセンサを用いてセンサデータのログを取得し、センサデータのログをデータバッファに記憶してもよい。この構成において、新しいセンサデータが取得されると、ロボット装置は、データバッファ内の過去のまたは古くなったセンサデータを新しいセンサデータに置き換えてもよい。例えば、データバッファは、以前の30秒間に、ロボット装置によって取得されたセンサデータを記憶するように、継続的または周期的に更新されてもよい。
【0048】
いくつかの例において、センサデータのログは、スマートフォン、タブレット、ウェアラブルコンピューティング装置、携帯式カメラコンピューティング装置などのモバイルコンピューティング装置によって撮像された画像を含んでもよい。さらに、センサデータのログは、IMUまたはマイクロホンアレイなどのモバイルコンピューティング装置の他のセンサからキャプチャされたセンサデータを含んでもよい。場合によって、モバイルコンピューティング装置は、センサデータを記録し、方法400の一部を実行する別のコンピューティング装置にセンサデータのログを提供してもよい。あるいは、他の例において、モバイルコンピューティング装置は、モバイル装置のセンサを用いてセンサデータのログを取得し、方法400の他の機能を実行してもよい。
【0049】
ブロック404において、方法400は、センサデータのログは、以前の期間内の特定の時間における環境内の物理的物体を巻き込む衝突に関連すると判定することを含む。物理的物体は様々な形態をとることができる。例えば、物理的物体は、ボール、ペット、または人である。あるいは、物理的物体は、ロボット装置によって輸送(例えば、持ち運び)されているアイテムであってもよい。別の例として、物理的物体は、壁、床、または家具であってもよい。
【0050】
センサデータのログが衝突に関連すると判定することは、衝突は、物理的物体とロボット装置との間の物理的衝突であると判定することを含んでもよい。この判定は様々な方法で行うことができる。例えば、コンピューティング装置は、以前の期間の少なくとも一部に対応する加速度計データを取得してもよく、そして、コンピューティング装置は、加速度計データは、特定の時間における物理的物体とロボット装置との間の衝突を示すと判定してもよい。例えば、閾値を超える加速度の大きさは、物理的衝突による速度の突然の変化を示してもよく、コンピューティング装置は、加速度計データを分析し、特定の時間における加速度の大きさを検出してもよい。ロボット装置と物理的物体との間の物理的衝突の一例として、ロボット装置が棚から転倒または落下することによるロボット装置と床との間の物理的衝突が挙げられる。
【0051】
あるいは、衝突が物理的物体とロボット装置との間の物理的衝突であると判定することは、以前の期間の少なくとも一部に対応する接触センサデータを取得することと、接触センサデータは物理的物体とロボット装置との間の衝突を示すと判定することとを含んでもよい。例えば、接触センサは別の物体と接触するときに信号を出力し、コンピューティング装置はその信号を認識してもよい。一例では、接触センサは、ロボット装置が壁にぶつかったときに信号を出力してもよい。
【0052】
場合によっては、衝突が物理的物体とロボット装置との間の物理的衝突であると判定することは、ロボット装置によって運ばれているまたは輸送されている物体は、落下または転落したと判定することを含んでもよい。例えば、センサデータのログは、ロボット装置のペイロード(例えば、ペイロードの重量)を示すペイロードデータを含んでもよく、コンピューティング装置は、ペイロードが予想より減少することを検出してもよい。ロボット装置が物理的物体と衝突したり転倒すると、ペイロードが突然減少する場合がある。従って、コンピューティング装置は、減少を衝突可能性の指標として解釈してもよい。
【0053】
他の例において、衝突は仮想衝突であってもよい。例として、センサデータのログは衝突に関連すると判定することは、衝突は物理的物体とロボット装置を囲む仮想境界との間の仮想衝突、または前記物理的物体を囲む仮想境界と前記ロボット装置との間の仮想衝突であると判定することを含む。この判定は様々な方法で行うことができる。例えば、コンピューティング装置は、以前の期間の少なくとも一部に対応する近接センサデータを取得してもよく、近接センサデータは、物理的物体と閾値距離よりも上回る状態から閾値距離よりも下回る状態へ移行している、ロボット装置との間の距離を示すと判定してもよい。閾値距離は、仮想境界の距離と同じであってもよい。
【0054】
同様に、いくつかの例において、衝突は、物理的物体と環境のビューに重ねられた拡張現実グラフィック形態のソフトウェアロボットとの間の仮想衝突であってもよい。コンピューティング装置は、深度画像から得た深度情報を処理して、このような衝突を検出できる。例えば、センサデータのログの一連の画像フレームは、物理的物体との距離を示す深度情報を含むことができ、コンピューティング装置は、深度情報に基づいて、(i)物理的物体は第1位置から第2位置に移動し、および、(ii)第2位置は拡張現実グラフィックの位置と重なっていると判定することができる。モバイルコンピューティング装置(例えば、スマートフォンまたはタブレット)、またはウェアラブルコンピューティング装置(例えば、ヘッドマウントディスプレイ)など、任意のコンピューティング装置で拡張現実(AR)グラフィックを生成でき、衝突などを検出できる。
【0055】
同様に、衝突は、物理的物体とシミュレーション中にレンダリングされる拡張現実グラフィック形態のソフトウェアロボットとの間の仮想衝突であってもよい。例えば、コンピューティング装置は、センサデータのログを用いて、環境内を移動するソフトウェアロボットのシミュレーションを生成し得る。このシミュレーションにおいて、ソフトウェアロボットは、センサデータのログをキャプチャしたロボット装置がたどる経路と同じ経路または異なる経路をたどってもよい。ソフトウェアロボットが異なる経路をたどる場合、異なる経路には、環境内のソフトウェアロボットと物理的物体との間の仮想ゲームプレイが含まれ、コンピューティング装置は仮想衝突を検出できる。
【0056】
ブロック406において、方法400は、センサデータのログが衝突に関連すると判定することに応じて、センサデータのログから衝突に対するトレーニングデータセットを生成することを含む。トレーニングデータセットは、特定の時間に対応する一連の画像フレーム内の画像フレームより前の一連の画像フレームの複数の画像フレームを含んでもよい。一例として、トレーニングデータセットは、特定の時間に対応する画像フレームまでの最新の5つの画像フレームを含むことで、衝突までの物理的物体の動きを描いてもよい。例えば、複数の画像フレームは1つ以上の画素に対する深度データを含むことで、トレーニングデータセットは、衝突前の物理的物体のいずれかの動きを示す深度データを含んでもよい。
【0057】
場合によっては、トレーニングデータセットは他の形式のセンサデータを含んでもよい。一般に、センサデータのログが複数のセンサから得たデータを含むとき、複数のセンサから得たいずれかのデータはトレーニングデータセット内にパッケージ化されてもよい。例えば、センサデータのログがペイロードデータを含むとき、トレーニングデータセットを生成することは、ペイロードデータをさらに含むトレーニングデータセットを生成することを含んでもよい。同様に、センサデータのログがロボット装置の速度データを含むとき、トレーニングデータセットを生成することは、速度データをさらに含むトレーニングデータセットを生成することを含んでもよい。別の例として、センサデータのログは、部屋の種類(例えば、居間、キッチン、寝室など)を識別する部屋情報を含んでもよく、トレーニングデータセットを生成することは、部屋情報をさらに含むトレーニングデータセットを生成することを含んでもよい。
【0058】
有利には、方法400を用いて生成されたトレーニングデータセットは、衝突の推定のための機械学習モデルのトレーニングに用いることができる。場合によっては、方法400を実行するコンピューティング装置は、方法400を用いて生成されるか、または他の技術を用いて生成可能な、トレーニングデータセットおよび他のトレーニングデータセットを用いて、機械学習モデルをトレーニングしてもよい。例えば、ロボット装置のコンピューティング装置は、方法400を複数回実行し、その後、生成されたトレーニングデータセットを用いて機械学習モデルをトレーニングしてもよい。他のケースにおいて、方法400を実行するコンピューティング装置は、生成されたトレーニングデータセットを別のコンピューティング装置に送信し、その後、機械学習モデルをトレーニングしてもよい。例えば、方法400を実行するコンピューティング装置は、生成されたトレーニングデータセットを表す少なくとも1つのファイルを機械学習サーバに送信し、機械学習サーバがトレーニングを実行してもよい。
【0059】
図5は、一実施形態に係る、環境内の物理的物体に関連する衝突を示す概念図である。
図5に示すように、ロボット装置500は居間で動作してもよい。例えば、ロボット装置500は、居間の床を走行してもよい。ロボット装置500は、床を走行しながら、環境を示すセンサデータを取得してもよい。例えば、ロボット装置500は、一連の画像フレームをキャプチャし、IMUデータを記録してもよい。
【0060】
図5にさらに示すように、ロボット装置500は、意図せずに猫502にぶつかる場合がある。ロボット装置500のコンピューティング装置は、ロボット装置500が猫502にぶつかったことを検出し、それに応じて、トレーニングデータセットの生成のトリガとしてもよい。例として、コンピューティング装置は、猫502にぶつかる前のロボット装置500によって取得されたセンサデータの一部をトレーニングデータセットとして一緒にパッケージ化してもよい。一例において、トレーニングデータセットは、ロボット装置500との衝突前の猫502の動きを表す一連のRGBD画像フレームを含んでもよい。
【0061】
図6は、一実施形態に係る、環境内の物理的物体に関連する衝突を示す別の概念図である。
図6に示すように、コンピューティング装置600は、居間のビューを撮像して表示してもよい。また、コンピューティング装置600は、居間のビュー上に拡張現実グラフィック602を重ねてもよい。例えば、拡張現実グラフィック602は、居間の仮想表示内を動き回るアニメーションキャラクターであってもよい。
【0062】
図6にさらに示すように、拡張現実グラフィック602は、居間の仮想表示内の特定の位置に配置される。コンピューティング装置600は、居間の物体の動きを検出および追跡してもよい。例えば、コンピューティング装置600は、物体、すなわち犬604が居間を横切って移動していることを検出してもよい。また、コンピューティング装置600は、居間の仮想表示内の犬604の3D位置を判定してもよい。例えば、コンピューティング装置600は、深度カメラを用いてRGBD画像フレームを取得し、RGBD画像フレームを処理することで犬604の3D位置を判定してもよい。
【0063】
さらに、コンピューティング装置600は、犬604が拡張現実グラフィック602の位置と重ならない第1位置から拡張現実グラフィック602の位置と重なる第2位置に移動したと判定してもよい。一例において、コンピューティング装置600は、環境の仮想表示内の犬604の3D位置と、環境の仮想表示内の拡張現実グラフィック602の3D位置とを比較することによって、犬604の第2位置と拡張現実グラフィック602の位置は重なると判定してもよい。例えば、コンピューティング装置600は、犬604の重心と拡張現実グラフィック602の重心との間の2Dまたは3D距離を判定し、判定された距離が閾値よりも下回っていることに基づいて、犬604の3D位置と拡張現実グラフィック602の3D位置は重なると判定してもよい。
【0064】
拡張現実グラフィック602の位置と重ならない位置から拡張現実グラフィック602の位置と重なる位置への犬604の動きを検出することに応答して、コンピューティング装置600は、トレーニングデータセットの生成のトリガとしてもよい。例として、コンピューティング装置600は、犬604の第1位置から第2位置への動きを表す1つ以上のRGBD画像フレームをトレーニングデータセットとして一緒にパッケージ化してもよい。
【0065】
拡張現実グラフィック602と犬604との間の衝突を検出する他の技術も可能である。例えば、ゲームにおいて、いくつかのゲームエンジンは、場所内の既知の物体の衝突の検出を提供するコライダーを有する。コライダーは、場所内の物体にボディを与える(例えば、バウンディングスフィア、メッシュ、キャッチオール3Dボディなど)。第1物体のボディが第2物体のボディと接触すると、コライダーは衝突イベントを生成する。
【0066】
コライダーは拡張現実場所で機能するために、コンピューティング装置は現実世界の物体の位置、サイズ、および姿勢を推定し、現実世界の物体を拡張現実グラフィックとともに環境の3D表示で適切なボディで表示することができる。コンピューティング装置は、様々なレベルの詳細を用いて、現実世界の物体の位置、サイズ、および姿勢を推定できる。一例として、コンピューティング装置は、深度カメラを介して判定される物体の表面上の点を用いて、物体のボディを規定できる。別の例として、コンピューティング装置は、場所内の1つ以上の物体のバウンディングボックスを推定できる。バウンディングボックスは2Dまたは3Dとすることができる。さらに別の例として、コンピューティング装置は物体の3D形状を推定できる。例えば、コンピューティング装置は、データベースにクエリを行って物体の3Dモデルを判定するか、または機械学習を用いて物体の3Dモデルを推定してもよい。
【0067】
上述のように、
図4の方法400を用いて生成されたトレーニングデータセットおよび/または他の技術を用いて生成されたトレーニングデータセットは、衝突を推定する機械学習モデルをトレーニングすることに使用できる。物理的物体の動きに関連するデータを含むトレーニングデータセットで機械学習モデルをトレーニングすることには、入力センサデータを物体の軌道または速度にマッピングするトレーニングデータセットのパターンを見つけることが含まれる場合がある。機械学習モデルがトレーニングされた後、コンピューティング装置は、機械学習モデルを用いて、物理的物体がどのように物理的物体に対応する入力データに基づいて動くかを予測してもよい。
【0068】
図7は、衝突の検出のための例示的な方法700のフローチャートを示す。
図7に示される方法700は、例えば、ここのいずれかの図に示されたいずれかのコンピューティング装置などのコンピューティング装置によって実行できる方法の実施形態を表す。
【0069】
ブロック702で、方法700は、以前の期間中の環境内の物理的物体を示すセンサデータを取得することを含む。一例において、センサデータは一連の画像フレームを含んでもよい。例えば、センサデータは、物理的物体の動きを表す一連のRGBD画像フレームを含んでもよい。センサデータは、部屋の種類や時刻などのコンテキストデータも含んでもよい。
【0070】
ブロック704において、方法700は、機械学習モデルおよびセンサデータを用いて、以後の期間中の物理的物体の推定軌道を判定することを含む。例えば、コンピューティング装置は、センサデータを機械学習モデルへの入力として提供し、物理的物体の推定軌道を出力として受信する。推定軌道は、経時的な物理的物体の推定位置を含んでもよい。場合によって、コンピューティング装置は、物理的物体に対応する情報を取得し、取得した情報を入力として機械学習モデルに提供する場合があり得る。一例として、コンピューティング装置は、移動する物体の速度、および、高さ、深さなどの物理的物体の寸法を判定し、機械学習モデルへの入力として寸法と速度を提供してもよい。場合によっては、機械学習モデルへの入力として、部屋の種類や時刻などのコンテキストデータが提供される場合もある。
【0071】
ブロック706において、方法700は、物理的物体の推定軌道は潜在的な衝突を示すと判定することを含む。一例において、物理的物体の推定軌道が潜在的な衝突を示すと判定することは、物理的物体の推定軌道と、ロボット装置またはソフトウェアロボットなどのロボットの推定軌道とを比較し、物理的物体の推定軌道とロボットの推定軌道は交差すると判定することを含む。例えば、コンピューティング装置は、物理的物体が物理的物体の推定軌道に従って移動し、ロボットがロボットの推定軌道に従って移動すると、物理的物体とロボットは衝突する可能性があると判定してもよい。
【0072】
ブロック708において、方法700は、潜在的な衝突を回避する動作を行うことを含む。例えば、ブロック706の潜在的な衝突は、物理的物体とロボット装置との間の潜在的な衝突であってもよく、動作を行うことは、ロボット装置の駆動システムにコマンドを提供すること(例えば、停止、後進、または特定の軌道をたどって物理的物体との衝突を回避するコマンドを提供すること)を含んでもよい。別の例として、ブロック706の潜在的な衝突は、物理的物体と環境のビューにレンダリングされる拡張現実グラフィック形態のソフトウェアロボットとの間の潜在的な衝突であってもよく、動作を行うことは、拡張現実グラフィックの位置を調整する(例えば、拡張現実グラフィックを新しい位置に移動する、または、拡張現実グラフィックをちょっと飛ばさせてどける)ことを含んでもよい。
【0073】
有利には、コンピューティング装置は、方法700を用いて潜在的な衝突を検出し、潜在的な衝突を回避する動作を行うことができる。例えば、ロボット装置のコンピューティング装置は、ロボット装置によって取得されたセンサデータを処理し、ロボット装置に潜在的な衝突を回避する動作を行わせることができる。
【0074】
図8は、一実施形態に係る、衝突の推定および回避を示す概念図である。
図8に示すように、物理的物体、すなわち、犬802は、建物内の部屋を移動する場合がある。ロボット装置804が部屋を横切って移動する間に、ロボット装置804のコンピューティング装置は、犬802を示すセンサデータを取得してもよい。例えば、コンピューティング装置は、犬802の動きを表す1つ以上の画像フレームを含むセンサデータを取得してもよい。
【0075】
次いで、コンピューティング装置は、機械学習モデルを用いて犬802の推定軌道を判定してもよい。
図8に示されるように、犬802の推定軌道は、1秒後の犬802の推定位置、2秒後の犬802の推定位置などを含んでもよい。
【0076】
さらに、コンピューティング装置は、犬802の推定軌道と、ロボット装置804の推定軌道とを比較し、ロボット装置は約2秒内に犬802と衝突する可能性があると判定してもよい。この判定に応じて、コンピューティング装置は、ロボット装置804が犬802と意図せずに衝突することを回避するように、ロボット装置804を位置806で停止させてもよい。あるいは、コンピューティング装置は、ロボット装置804を位置806で停止させ、その後、後進または方向を変更するようにしてもよい(図示せず)。
【0077】
別の例において、
図4の方法400を用いて生成されたトレーニングデータセットおよび/または他の技術を用いて生成されたトレーニングデータセットは、ロボット装置は落下する可能性があることを予測するように機械学習モデルをトレーニングすることに使用できる。例えば、コンピューティング装置は、ロボット装置の軌道を示すデータを受信し、落下するロボット装置を含むデータセットでトレーニングされた機械学習モデルにデータを提供するようにしてもよい。次いで、コンピューティング装置は、機械学習モデルを用いて、ロボット装置の軌道は潜在的な衝突を示すことを判定してもよい(例えば、ロボット装置が落下する)。また、この判定に応じて、コンピューティング装置は、潜在的な衝突を回避する動作を行ってもよい。例えば、コンピューティング装置は、警告を提供したり、ロボット装置の軌道を変更したりしてもよい。
【0078】
別の有利な構成の説明は、例示および説明の目的で提示され、開示された形態の例を網羅するか、または限定することを意図していない。前述の開示を検討および理解した上、あらゆる修正および変形が当業者にとって明らかであろう。さらに、あらゆる例は、他の例に照らしてあらゆる利点を提供してもよい。選択された1つ以上の例は、原理や実際の応用を最適に説明するためのものであり、考えられる特定の用途に適した様々な変更を伴う様々な例の開示を当業者が理解できるようにするために選ばれて記載されたものである。
【0079】
本願は、2017年9月8日に出願された米国非仮出願第15/699444号に対する利益を主張し、その全体が参照として組み込まれる。