(57)【要約】  移動ロボットからの物体観察結果に基づき空間時間物体インベントリを生成し、空間時間物体インベントリに基づき1つまたは複数の将来の時間期間における移動ロボットに対する監視パラメータを決定するための方法、装置、システム、およびコンピュータ可読媒体が提供される。いくつかの実施形態は、空間時間物体インベントリを使用して、1つまたは複数の特定の基準が充足されたときに環境の1つまたは複数の領域内で生じる物体の移動の量を決定すること、およびその決定を使用して、1つまたは複数の特定の基準が充足される将来の時間期間において移動ロボットの移動の1つまたは複数の態様に影響を及ぼすコマンドを移動ロボットのうちの1つまたは複数に与えるために利用可能な監視パラメータを決定することに関する。【選択図】図１
2018530089.tif 000002
【特許請求の範囲】
【請求項１】
1つまたは複数のコンピューティングシステムと、
ある時間期間にわたって前記1つまたは複数のコンピューティングシステムに物体観察結果を与える、環境内の複数の移動ロボットと
を備え、
前記物体観察結果は各々、
対応する物体に対する物体識別子であって、前記移動ロボットのうちの対応する1つの移動ロボットの1つまたは複数のセンサからのセンサデータに基づき決定される、物体識別子と、
前記対応する物体の物体姿勢を示す、前記物体識別子に対する測定された物体姿勢と
を含み、
前記1つまたは複数のコンピューティングシステムは、命令を含み、前記命令は、前記1つまたは複数のコンピューティングシステムによって実行されたときに、前記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つまたは複数の基準は、前記領域内に1人または複数の人間のうちの1人または複数の特定の人数が存在することを含み、
前記命令は、前記1つまたは複数のコンピューティングシステムによって実行されたときに、前記1つまたは複数のコンピューティングシステムに、
前記領域内に前記1人または複数の人間のうちの前記1人または複数の特定の人数が存在している複数の時間期間を指示する人間人数データを受信することと、
前記1つまたは複数の基準が充足されたときに前記物体の前記移動が生じたことを、前記1人または複数の特定の人数が前記領域内に存在している前記複数の時間期間のうちの1つにおいて前記物体の前記移動が生じたと決定したことに基づき決定することと
を行わせる命令をさらに含む、請求項1に記載のシステム。
【請求項６】
前記1つまたは複数の基準は、前記環境のインベントリ基準を含み、
前記命令は、前記1つまたは複数のコンピューティングシステムによって実行されたときに、前記1つまたは複数のコンピューティングシステムに、
前記1つまたは複数の基準が充足されたときに前記物体の前記移動が生じたことを、前記インベントリ基準が前記環境内に存在していたときに前記物体の移動が生じたと決定したことに基づき決定すること
を行わせる命令をさらに含む、請求項1に記載のシステム。
【請求項７】
1つまたは複数のコンピュータからなるシステムにより、環境内の複数の移動ロボットから物体観察結果を受信するステップであって、複数の前記物体観察結果は各々、
対応する物体に対する物体識別子であって、前記移動ロボットのうちの対応する1つの移動ロボットの1つまたは複数のセンサからのセンサデータに基づき決定される、物体識別子と、
前記対応する物体の物体姿勢を示す、前記物体識別子に対する測定された物体姿勢とを含む、受信するステップと、
前記システムにより、前記物体識別子、前記測定された物体姿勢、および前記物体観察結果の測定時間に基づき空間時間物体インベントリを生成するステップであって、前記空間時間物体インベントリは、前記物体観察結果の前記物体識別子によって指示される複数の物体の各々について、当該物体に対する1つまたは複数の姿勢および該姿勢に対する対応する測定時間を定義する、生成するステップと、
前記システムにより、前記空間時間物体インベントリに基づき、1つまたは複数の基準が充足されたときに生じた前記物体の移動の量を決定するステップであって、前記物体の前記移動は、前記環境の少なくとも1つの領域内への前記物体の移動および前記環境の前記領域から外への前記物体の移動のうちの少なくとも1つを含む、決定するステップと、
前記システムにより、前記基準が充足されたときに生じた前記移動の量に基づき、前記基準が充足される1つまたは複数の将来の時間期間に対する前記移動ロボットの1つまたは複数の監視パラメータを決定するステップと、
前記システムにより、前記移動ロボットのうちの1つまたは複数に、前記監視パラメータに基づきコマンドを与えるステップであって、前記コマンドは、前記将来の時間期間における前記移動ロボットの移動の1つまたは複数の態様に影響を及ぼし、その結果、前記将来の時間期間において受信された前記環境の前記領域に対する前記物体観察結果の量に影響を及ぼす、与えるステップと
を含む、コンピュータ実施方法。
【請求項８】
前記1つまたは複数の基準は、特定の時間期間を含み、
前記方法は、
前記システムにより、前記1つまたは複数の基準が充足されたときに前記物体の前記移動が生じたことを、前記特定の時間期間において前記物体の前記移動が生じたと決定したことに基づき決定するステップ
をさらに含む、請求項7に記載のコンピュータ実施方法。
【請求項９】
前記特定の時間期間は、1つまたは複数の特定の曜日、1つまたは複数の特定の日付、または、前記特定の曜日もしくは前記特定の日付のうちの1つまたは複数における1つまたは複数の時間期間、のうちの1つである、請求項8に記載のコンピュータ実施方法。
【請求項１０】
前記1つまたは複数の基準が充足されたときに前記物体の前記移動が生じたと決定するステップは、
前記システムにより、前記領域内への前記物体の前記移動のうちの1つの移動が前記特定の時間期間に生じたことを、
前記物体に対する前記姿勢のうちの第1の姿勢が前記領域の外側にあり、時間的に前記時間期間よりも前にある前記対応する測定時間のうちの第1の対応する測定時間を有すると決定することと、
前記物体に対する前記姿勢のうちの第2の姿勢が前記領域内にあり、時間的に前記時間期間内にある前記対応する測定時間のうちの第2の対応する測定時間を有すると決定することとに基づき、決定するステップ
を含む、請求項8に記載のコンピュータ実施方法。
【請求項１１】
前記1つまたは複数の基準が充足されたときに前記物体の前記移動が生じたと決定するステップは、
前記システムにより、前記領域内への前記物体の前記移動のうちの1つの移動が前記特定の時間期間に生じたことを、
時間的に前記時間期間よりも前にある姿勢はいずれも、前記空間時間物体インベントリ内の前記物体について定義されていないと決定することと、
前記物体に対する前記姿勢のうちの1つの姿勢が前記領域内にあり、時間的に前記時間期間内にある前記対応する測定時間のうちの対応する測定時間を有すると決定することとに基づき、決定するステップ
を含む、請求項8に記載のコンピュータ実施方法。
【請求項１２】
前記1つまたは複数の基準が充足されたときに前記物体の前記移動が生じたと決定するステップは、
前記システムにより、前記領域から外への前記物体の前記移動のうちの1つの移動が前記特定の時間期間に生じたことを、
前記物体に対する前記姿勢のうちの第1の姿勢が前記領域の内側にあり、時間的に前記時間期間よりも前にある前記対応する測定時間のうちの第1の対応する測定時間を有すると決定することと、
前記物体に対する前記姿勢のうちの第2の姿勢が前記領域の外側にあり、時間的に前記時間期間内にある前記対応する測定時間のうちの第2の対応する測定時間を有すると決定することとに基づき、決定するステップ
を含む、請求項8に記載のコンピュータ実施方法。
【請求項１３】
前記1つまたは複数の基準は、前記領域内の1人または複数の人間のグループの存在を含み、
前記方法は
前記システムにより、1人または複数の人間の前記グループが前記領域内に存在している複数の時間期間を指示する人間存在データを受信するステップと、
前記1つまたは複数の基準が充足されたときに前記物体の前記移動が生じたことを、前記グループが前記領域内に存在している前記複数の時間期間のうちの1つにおいて前記物体の前記移動が生じたと決定したことに基づき決定するステップと
をさらに含む、請求項7に記載のコンピュータ実施方法。
【請求項１４】
前記1つまたは複数の基準は、前記領域内に1人または複数の人間のうちの1人または複数の特定の人数が存在することを含み、
前記方法は
前記システムにより、前記領域内に前記1人または複数の人間のうちの前記1人または複数の特定の人数が存在している複数の時間期間を指示する人間人数データを受信するステップと、
前記1つまたは複数の基準が充足されたときに前記物体の前記移動が生じたことを、前記1人または複数の特定の人数が前記領域内に存在している前記複数の時間期間のうちの1つにおいて前記物体の前記移動が生じたと決定したことに基づき決定するステップと
をさらに含む、請求項7に記載のコンピュータ実施方法。
【請求項１５】
前記1つまたは複数の基準は、前記環境のインベントリ基準を含み、
前記方法は
前記1つまたは複数の基準が充足されたときに前記物体の前記移動が生じたことを、前記インベントリ基準が前記環境内に存在していたときに前記物体の移動が生じたと決定したことに基づき決定するステップ
をさらに含む、請求項7に記載のコンピュータ実施方法。
【請求項１６】
前記環境の前記インベントリ基準は、前記環境の前記領域に制限されたインベントリ基準である、請求項15に記載のコンピュータ実施方法。
【請求項１７】
前記領域は、前記環境の部分集合である、請求項7に記載のコンピュータ実施方法。
【請求項１８】
前記監視パラメータに基づき前記将来の時間期間における前記移動ロボットの移動の1つまたは複数の態様に影響を及ぼす前記コマンドは、前記将来の時間期間において前記移動ロボットを前記領域に誘導するコマンドを含む、請求項7に記載のコンピュータ実施方法。
【請求項１９】
前記監視パラメータに基づき前記将来の時間期間における前記移動ロボットの移動の1つまたは複数の態様に影響を及ぼす前記コマンドは、前記将来の時間期間において前記領域と遭遇する経路を前記移動ロボットが選択する確率を高めるコマンドを含む、請求項7に記載のコンピュータ実施方法。
【請求項２０】
1つまたは複数のコンピュータからなるシステムにより、環境内の複数の移動ロボットから物体観察結果を受信するステップであって、複数の前記物体観察結果は各々、
対応する物体に対する物体識別子であって、前記移動ロボットのうちの対応する1つの移動ロボットの1つまたは複数のセンサからのセンサデータに基づき決定される、物体識別子と、
前記対応する物体の物体姿勢を示す、前記物体識別子に対する測定された物体姿勢とを含む、受信するステップと、
前記システムにより、前記物体識別子、前記測定された物体姿勢、および前記物体観察結果の測定時間に基づき空間時間物体インベントリを生成するステップであって、前記空間時間物体インベントリは、前記物体観察結果の前記物体識別子によって指示される複数の物体の各々について、当該物体に対する1つまたは複数の姿勢および該姿勢に対する対応する測定時間を定義し、複数の前記姿勢は各々、前記対応する物体の位置が前記対応する測定時間に対して不明であることを示す、生成するステップと、
前記システムにより、前記空間時間物体インベントリに基づき、1つまたは複数の基準が充足されたときに生じた前記物体の不明な移動の量を決定するステップであって、前記物体の前記不明な移動は、前記対応する物体の前記位置が前記対応する測定時間に対して不明であることを示す前記姿勢に基づき決定される、決定するステップと、
前記システムにより、前記基準が充足されたときに生じた前記不明な移動の前記量に基づき、前記基準が充足される1つまたは複数の将来の時間期間に対する前記移動ロボットの1つまたは複数の監視パラメータを決定するステップと、
前記システムにより、前記移動ロボットのうちの1つまたは複数に、前記監視パラメータに基づきコマンドを与えるステップであって、前記コマンドは、前記将来の時間期間における前記移動ロボットの移動の1つまたは複数の態様に影響を及ぼし、その結果、前記将来の時間期間において受信された前記環境内の領域に対する前記物体観察結果の量に影響を及ぼす、与えるステップと
を含む、コンピュータ実施方法。
【発明の詳細な説明】
【背景技術】
【０００１】
ロボットは、たとえば、自律または半自律航法、物体の操作(たとえば、物体を再配置する、物体を変える、および/または物体をピックアップして異なる場所に移動するなど)、物体の運搬(必ずしもそれらの物体を操作することを伴わない)、環境状態の監視、「ビデオカンファレンシングオンホイール(video conferencing on wheels)」としての機能など、様々なタスクを実行するようにプログラムされ得る。
【０００２】
さらに、ロボットを利用してロボットの環境内にある様々な物体の位置を検出する様々な技術が提案されている。たとえば、ロボットは、1つまたは複数のカメラ、レーザスキャナ、深度センサ、および/または他のセンサを利用してその環境内の物体の位置を検出し得る。しかしながら、それらの技術のうちの1つまたは複数には、1つまたは複数の欠点があり得る。たとえば、多くの技術は、環境内の物体の位置および/または配向の追跡を可能にする空間時間物体インベントリ(spatio-temporal object inventory)を生成するために環境内で複数の移動ロボットからの物体観察結果を利用し得ない。それに加えて、および/または代替的に、多くの技術は、1つまたは複数の将来の時間期間におけるロボットに対する監視パラメータを生成するために空間時間物体インベントリを分析することに関係する1つまたは複数のいくつかの技術を使用し得ず、および/または監視パラメータに基づきロボットの将来の移動に影響を及ぼすことに関係する1つまたは複数のいくつかの技術を使用し得ない。前述の技術および/または他の技術について追加のおよび/または代替的な欠点が提起され得る。
【発明の概要】
【課題を解決するための手段】
【０００３】
本開示は、一般に、移動ロボットからの物体観察結果に基づき空間時間物体インベントリを生成し、および/または空間時間物体インベントリに基づき、1つまたは複数の将来の時間期間における移動ロボットに対する監視パラメータを決定するための技術的特徴を対象とする。監視パラメータは、将来の時間期間において移動ロボットの移動に影響を及ぼす。様々な実施態様において、監視パラメータは、移動ロボットリソースの全体的利用度を低減し、および/または移動ロボットリソースをより効率よく利用させる。本明細書で開示されている技術の実施態様は、インベントリの物体が環境の1人または複数の人間によって環境の中へ移動され、環境の外から移動され、および/または環境内で移動され得る混合人間自動化環境などの様々な環境内で有用であり得る。
【０００４】
技術のいくつかの実施態様は、環境内の複数の移動ロボットからの物体観察結果を使用して、環境内の物体の空間時間物体インベントリを生成することに関する。物体観察結果は各々、少なくとも対応する物体に対する物体識別子および対応する物体の姿勢を示す測定された物体姿勢を含む。
【０００５】
物体観察結果に基づき生成された空間時間物体インベントリは、環境内の複数の物体の各々に対する姿勢およびそれらの姿勢に対する対応する測定時間を定義する。したがって、モデルでは、物体の各々について、物体の初期姿勢(たとえば、物体を識別する物体識別子を有する初期物体観察結果の測定された物体姿勢に基づく)、および物体に対するオプションの1つまたは複数のその後の姿勢(たとえば、物体を識別し、少なくとも閾値量だけ初期物体観察結果の測定された姿勢値から変化するその後の物体観察結果の測定された姿勢値に基づく)を定義し得る。本明細書で使用されているように、物体の「姿勢」は、物体のみの位置(たとえば、多次元座標)を指すか、または物体の位置と物体の配向の両方を指すものとしてよい。いくつかの実施態様において、空間時間物体インベントリ内の物体について定義されている「姿勢」のうちの1つまたは複数は、物体が環境内にもはや存在せず(すなわち、環境の外側の位置であることを示す)、および/またはその配置が未知である(すなわち、未知の位置であることを示す)ことを示し得る。
【０００６】
いくつかの実施態様において、空間時間モデルを生成するために使用される複数の観察結果は、タスクおよび/またはアイドルロボットにすでに関わっている移動ロボットからのものである(すなわち、潜在的に移動しているが、関わっているタスクはない)。いくつかの実施態様において、空間時間モデルは、環境内のインベントリへの変更(たとえば、環境内の物体の移動、環境内への新しい物体の導入、および/または環境からの物体の取り除き)を反映するように、新たに受信された物体観察結果に基づき、連続的にまたは定期的に更新される(各更新はモデルの「生成」を構成する)。
【０００７】
技術のいくつかの実施態様は、空間時間物体インベントリを使用して1つまたは複数の特定の基準が充足されたときに環境の1つまたは複数の領域内で生じる物体の移動(たとえば、領域内への移動、領域から外への移動、および/または少なくとも閾値量による領域内の移動)の量を決定すること、およびその決定を使用して1つまたは複数の特定の基準が充足される将来の時間期間において移動ロボットの移動の1つまたは複数の態様に影響を及ぼす移動ロボットのうちの1つまたは複数にコマンドを与えるために利用され得る監視パラメータを決定することに関する。
【０００８】
一例として、空間時間物体インベントリに基づき、いくつかの基準が充足されたときに環境の領域内の物体の移動が比較的頻繁であると決定された場合、比較的多数の移動ロボットが、それらの基準が充足される将来の時間期間においてその領域に明示的に誘導されるものとしてよく、および/または1つまたは複数の移動ロボットは、将来の時間期間においてその領域に遭遇する経路を選択する可能性が高くなるように誘導されるものとしてよい。この結果、将来の時間期間において移動ロボットによるその領域内の物体観察結果の量が多くなり得、空間時間物体インベントリがインベントリの実際の現在状態をより正確に反映するようにできる。その一方で、いくつかの他の基準が充足されたときに領域内の物体の移動が比較的めったに起こらないと決定された場合、比較的少数の移動ロボットが、それらの他の基準が充足される将来の時間期間においてその領域に明示的に誘導されるものとしてよく(または誘導されるロボットが全くないことすらある)、および/または1つまたは複数の移動ロボットは、将来の時間期間においてその領域に遭遇する経路を選択する可能性があまりないように誘導されるものとしてよい。この結果、将来の時間期間において移動ロボットによるその領域内の物体観察結果の量が少なくなり得、それによって、移動ロボットリソースの利用を全体的に減らし、および/または移動ロボットリソースが他のタスクに誘導される(およびそれによってより効率的に利用される)ようにできる。
【０００９】
いくつかの実施態様において、1つまたは複数のコンピュータからなるシステムによって環境内の複数の移動ロボットから物体観察結果を受信するステップを含む方法が提供され得る。複数の物体観察結果は各々、対応する物体に対する物体識別子および対応する物体の物体姿勢を示す物体識別子に対する測定された物体姿勢を含む。物体識別子および/または測定された物体姿勢は、移動ロボットのうちの対応する1つの移動ロボットの1つまたは複数のセンサからのセンサデータに基づき決定され得る。この方法は、物体識別子、測定された物体姿勢、および物体観察結果の測定時間に基づきシステムによって空間時間物体インベントリを生成するステップをさらに含む。空間時間物体インベントリは、物体観察結果の物体識別子によって指示される複数の物体の各々について、物体に対する1つまたは複数の姿勢および姿勢に対する対応する測定時間を定義する。方法は、空間時間物体インベントリに基づき、1つまたは複数の基準が充足されたときに生じた物体の移動の量を、システムによって決定するステップをさらに含む。物体の移動は、環境の少なくとも1つの領域内への物体の移動、および環境の領域から外への物体の移動のうちの少なくとも1つを含む。方法は、システムによって、基準が充足されたときに生じた移動の量に基づき、その基準が充足される1つまたは複数の将来の時間期間に対する移動ロボットの1つまたは複数の監視パラメータを決定するステップと、システムによって、移動ロボットのうちの1つまたは複数に、監視パラメータに基づきコマンドを与えるステップとをさらに含む。これらのコマンドは、将来の時間期間における移動ロボットの移動の1つまたは複数の態様に影響を及ぼし、その結果、将来の時間期間において受信された環境の領域に対する物体観察結果の量に影響を及ぼす。
【００１０】
本明細書で開示されている技術のこの方法および他の実施態様は各々、以下の特徴のうちの1つまたは複数を適宜含み得る。
【００１１】
いくつかの実施態様において、1つまたは複数の基準は、特定の時間期間を含み、方法は、物体の移動が特定の時間期間において生じたと決定したことに基づき1つまたは複数の基準が充足されたときに物体の移動が生じたと、システムによって決定するステップをさらに含む。それらの実施態様のうちのいくつかにおいて、特定の時間期間は、1つまたは複数の特定の曜日、1つまたは複数の特定の日付、または特定の曜日もしくは日付のうちの1つまたは複数における1つまたは複数の時間期間のうちの1つである。いくつかの実施態様において、1つまたは複数の基準が充足されたときに物体の移動が生じたと決定するステップは、領域内への物体の移動のうちの1つの移動が特定の時間期間において生じたと、システムによって決定するステップを含む。それらの実施態様のうちのいくつかにおいて、領域内への物体の移動のうちの1つの移動が特定の時間期間に生じたと決定するステップは、物体に対する姿勢のうちの第1の姿勢が領域の外側にあり、時間的に時間期間よりも前にある対応する測定時間のうちの第1の対応する測定時間を有すると決定するステップと、物体に対する姿勢のうちの第2の姿勢が領域内にあり、時間的に時間期間内にある対応する測定時間のうちの第2の対応する測定時間を有すると決定するステップとを含む。それらの実施態様のうちのいくつかにおいて、領域内への物体の移動のうちの1つの移動が特定の時間期間に生じたと決定するステップは、時間的に時間期間よりも前にある姿勢はいずれも、空間時間物体インベントリ内の物体について定義されていないと決定するステップと、物体に対する姿勢のうちの1つの姿勢は、領域内にあり、時間的に時間期間内にある対応する測定時間のうちの対応する測定時間を有すると決定するステップとを含む。いくつかの実施態様において、1つまたは複数の基準が充足されたときに物体の移動が生じたと決定するステップは、領域から外への物体の移動のうちの1つ移動が特定の時間期間において生じたと、システムによって決定するステップを含む。それらの実施態様のうちのいくつかにおいて、領域から外への物体の移動のうちの1つの移動が特定の時間期間に生じたと決定するステップは、物体に対する姿勢のうちの第1の姿勢が領域の内側にあり、時間的に時間期間よりも前にある対応する測定時間のうちの第1の対応する測定時間を有すると決定するステップと、物体に対する姿勢のうちの第2の姿勢は、領域の外側にあり、時間的に時間期間内にある対応する測定時間のうちの第2の対応する測定時間を有すると決定するステップとを含む。
【００１２】
いくつかの実施態様において、1つまたは複数の基準は、領域内の1人または複数の人間のグループの存在を含み、方法は、1人または複数の人間のグループが領域内に存在している複数の時間期間を指示する人間存在データを、システムによって受信するステップをさらに含む。それらの実施態様のうちのいくつかにおいて、方法は、グループが領域内に存在していたときに物体の移動が時間期間の1つにおいて生じたと決定したことに基づき1つまたは複数の基準が充足されたときに物体の移動が生じたと決定するステップをさらに含む。
【００１３】
いくつかの実施態様において、1つまたは複数の基準は、領域内に1人または複数の人間のうちの1人または複数の特定の人数が存在することを含み、方法は、1人または複数の人間のうちの1人または複数の特定の人数が領域内に存在している複数の時間期間を指示する人間人数データを、システムによって受信するステップをさらに含む。それらの実施態様のうちのいくつかにおいて、方法は、1つまたは複数の特定の量が領域内に存在していたときに物体の移動が時間期間の1つにおいて生じたと決定したことに基づき1つまたは複数の基準が充足されたときに物体の移動が生じたと決定するステップをさらに含む。
【００１４】
いくつかの実施態様において、1つまたは複数の基準は、環境のインベントリ基準を含み、方法は、インベントリ基準が環境内に存在していたときに物体移動が生じたと決定したことに基づき1つまたは複数の基準が充足されたときに物体の移動が生じたと決定するステップをさらに含む。それらの実施態様のうちのいくつかにおいて、環境のインベントリ基準は、環境の領域に制限されたインベントリ基準である。
【００１５】
いくつかの実施態様において、領域は環境の部分集合である。
【００１６】
いくつかの実施態様において、監視パラメータに基づき将来の時間期間において移動ロボットの移動の1つまたは複数の態様に影響を及ぼすコマンドは、将来の時間期間において移動ロボットを領域に誘導するコマンドを含む。
【００１７】
いくつかの実施態様において、監視パラメータに基づき将来の時間期間において移動ロボットの移動の1つまたは複数の態様に影響を及ぼすコマンドは、将来の時間期間において領域と遭遇する経路を移動ロボットが選択する確率を高めるコマンドを含む。
【００１８】
他の実施態様は、上で説明されている方法のうちの1つまたは複数などの方法を実行させる1つまたは複数のプロセッサによって実行可能な命令を記憶する非一時的コンピュータ可読記憶媒体を含み得る。さらに別の実施態様は、メモリと、上で説明されている方法のうちの1つまたは複数などの方法を、単独でまたは集団で実行する1つまたは複数のモジュールまたはエンジンを実装するための、メモリに記憶されている命令を実行するように動作可能な1つまたは複数のプロセッサとを備えるシステムを含み得る。
【００１９】
前述の概念および本明細書でより詳しく説明されている追加の概念のすべての組合せは、本明細書で開示されている主題の一部であると企図されることは理解されるべきである。たとえば、本開示の末尾に現れる請求されている主題のすべての組合せは、本明細書で開示されている主題の一部であると企図される。
【図面の簡単な説明】
【００２０】
【図１】空間時間物体インベントリが移動ロボットからの物体観察結果に基づき生成され得、および/または1つまたは複数の将来の時間期間における移動ロボットに対する監視パラメータが空間時間物体インベントリに基づき決定され得る例示的な環境を示す図である。
【図２】移動ロボットの物体観察結果を使用して空間時間物体インベントリの一部を生成する例を示す図である。
【図３】空間時間物体インベントリに基づき移動ロボットに対する監視パラメータを決定し、移動ロボットに、監視パラメータに基づくコマンドを与える例を示す図である。
【図４Ａ】第1の時刻における建物の一部の平面図である。
【図４Ｂ】図4Aの第1の時刻よりも後の第2の時刻におけるその建物の一部の平面図である。
【図４Ｃ】図4Bの第2の時刻よりも後の第3の時刻におけるその建物の一部の平面図である。
【図５】空間時間物体インベントリを移動ロボットからの物体観察結果に基づき生成し、1つまたは複数の将来の時間期間における移動ロボットに対する監視パラメータを、空間時間物体インベントリに基づき決定する例示的な方法を示すフローチャートである。
【図６】ロボットの例示的なアーキテクチャの概略を示す図である。
【図７】コンピュータシステムの例示的なアーキテクチャの概略を示す図である。
【発明を実施するための形態】
【００２１】
本開示は、一般に、移動ロボットからの物体観察結果に基づき空間時間物体インベントリを生成し、および/または空間時間物体インベントリに基づき、1つまたは複数の将来の時間期間における移動ロボットに対する監視パラメータを決定するための技術的特徴を対象とする。監視パラメータは、将来の時間期間において移動ロボットの移動に影響を及ぼす。様々な実施形態において、監視パラメータは、移動ロボットリソースの全体的利用度を低減し、および/または移動ロボットリソースをより効率よく利用させる。
【００２２】
図1は、空間時間物体インベントリ170が移動ロボット130A〜Nからの物体観察結果140A〜Nに基づき生成され得、および/または1つまたは複数の将来の時間期間における移動ロボット130A〜Nに対する監視パラメータが空間時間物体インベントリ170に基づき決定され得る例示的な環境を示す。3つのロボット130A、130B、および130Nは、図1の例示的な環境で例示されている。追加のロボットは、ロボット130Bとロボット130Nとの間に位置決めされている図1の省略記号によって示されるようにも存在し得る。また図1の実施形態では、空間時間物体インベントリ生成システム150、ロボットコマンド生成システム160、空間時間物体インベントリ170、予想物体移動データベース175、ならびに物体観察結果140A、140B、および140Nも提示されている。環境の様々な構成要素は、ローカルエリアネットワーク(LAN)および/またはインターネットなどのワイドエリアネットワーク(WAN)などの1つまたは複数のネットワークを介して互いに通信し得る。他の実施形態では、1つまたは複数の構成要素の間で直接接続が利用されてもよい。
【００２３】
物体観察結果140A、140B、および140Nは、対応するロボット130A、130B、および130Nによってシステム150に提供され、それにより、本明細書で説明されている技術に従って空間時間物体インベントリ170を生成し得る。さらに、ロボットコマンド生成システム160は、空間時間物体インベントリ170を使用して、1つまたは複数の特定の基準が充足されたときに環境の1つまたは複数の領域内で生じる物体の移動の量を決定し、および1つまたは複数の特定の基準がやはり充足される将来の時間期間において移動ロボットの移動の1つまたは複数の態様に影響を及ぼす移動ロボットのうちの1つまたは複数にコマンドを与えるために利用され得るその量に基づき監視パラメータを決定し得る。
【００２４】
ロボット130A〜Nの各々は、建物(たとえば、倉庫、製造設備、オフィス用建物)、近隣の建物の集合体のうちの1つまたは複数の建物、マルチフロアオフィスまたは他の建物の1つまたは複数のフロア、などの環境内に配置され得る。図1に例示されているものと1つまたは複数の点で異なる追加のロボットなどの、追加のおよび/または代替的ロボットが、他の実施形態で実現され得る。たとえば、自律または半自律式フォークリフトロボットは、ロボットのみとして、および/または他のロボットとともに実現され得る。
【００２５】
ロボット130A、130B、および130Nの各々は、ロボット130A、130B、および130Nの対応するものの移動運動のため対向側に車輪を備える対応する基部133A、133B、および133Nを備える。基部133A、133B、および133Nの各々は、たとえば、対応するロボット130A、130B、および130Nに対する移動の所望の方向、速度、および/または加速度を達成するように対応する車輪を駆動するための1つまたは複数のモーターを備え得る。
【００２６】
ロボット130A、130B、および130Nの各々は、1つまたは複数の対応する姿勢センサを備える少なくとも1つの姿勢デバイスも具備する。本明細書で使用されているように、姿勢センサは、センサの視線(または他の感知範囲)に入っている物体の形状、色、無線周波数、および/または他の特徴に関係するデータを感知することができ、感知されたデータは、物体の配置および/または配向を決定するために(適宜、他のデータと組み合わせて)使用され得るセンサである。姿勢デバイスの一例として、ロボット130Aおよび130Nは対応する3Dレーザスキャナ131Aおよび131Nを備え、その各々は、光を放射する1つまたは複数のレーザと、様々な物体の配置および/または配向の決定を可能にする放射光の反射に関係するデータを収集する1つまたは複数のセンサとを備える。レーザスキャナ131Aおよび131Nは、たとえば、飛行時間型3Dレーザスキャナまたは三角測量ベースの3Dレーザスキャナであってよく、位置敏感型検出器(PSD)または他の光学式位置センサを備え得る。
【００２７】
姿勢デバイスの別の例として、ロボット130Bは、異なる見晴らしの利く地点で各々、2つのセンサ(たとえば、電荷結合素子(CCD))を備えるステレオカメラ131Bを備える。異なる見晴らしの利く地点で2つのセンサによって感知されたデータを比較することによって、様々な物体の位置および/または配向が決定され得る。姿勢デバイスのさらに別の例として、ロボットは、とりわけ、物体上の基準タグに関係するデータを取り込むセンサを含むマシンビジョンカメラを備え得る。物体上の基準タグに関係するデータは、基準タグを検出し、基準タグに基づき物体の位置および/または配向を決定するために利用できる。姿勢デバイスのさらに別の例として、ロボットは、物体のRFIDタグ(受動または能動)を読み込む無線周波識別(RFID)リーダーを備え得、ロボットは、RFIDタグを読み取るときの自姿勢を使用して物体の位置を決定し得る。姿勢デバイスおよび関連するセンサの特定の例について本明細書では説明しているが、追加のおよび/または代替的な姿勢デバイスおよび関連するセンサが利用されてよい。
【００２８】
ロボット130A、130B、および130Nの各々は、また、たとえば、制御コマンドをアクチュエータおよび/または他の動作可能構成要素に与え、本明細書で説明されている物体観察結果のすべてのまたはいくつかの態様を生成し、および/またはロボットコマンド生成システム160によって与えられた1つまたは複数のコマンド145を受信し、コマンド145に基づく1つまたは複数の制御コマンドを生成する1つまたは複数のコントローラも備える。たとえば、ロボット130Aの1つまたは複数のコントローラは、ロボット130Aを自律的に環境内の様々な場所にナビゲートするためにロボット130Aの車輪を駆動するサーボモーターに制御コマンドを与えるものとしてよく、それらの制御コマンドは、システム160から受信されたコマンド145を考慮しつつロボット130Aによって生成される。また、たとえば、ロボット130Aの1つまたは複数のコントローラは、空間時間物体インベントリ生成システム150および/またはロボットコマンド生成システム160とのネットワーク接続を、ロボット130Aのネットワークインターフェースを介して確立し、物体観察結果140Aのすべてまたはいくつかの態様をシステム150に与え、および/またはロボットコマンド生成システム160からコマンド145を受信するものとしてよい。様々なロボットの構造および機能のいくつかの例の追加の説明が本明細書に用意されている。
【００２９】
ロボット130Aは、環境内を動き回り、3Dレーザスキャナ131Aおよび/または他のセンサを介してデータを収集するが、追加の非監視/観察タスクを実行しない監視/観察ロボットであってよい。ロボット130Bは、2本の対向する「指(fingerまたはdigit)」を持つ把持器の形態を各々とる、対応するエンドエフェクター135B1および135B2を有するロボットアーム134B1および134B2を備える。ロボットアーム134B1、134B2およびエンドエフェクター135B1、135B2は、自律式に、半自律式に、および/またはユーザのコンピューティングデバイスを介してユーザによって与えられる制御コマンドに基づき制御され得る。たとえば、ロボットアーム134B1は、エンドエフェクター135B1を物体の近位に位置決めするように自律式に制御され、エンドエフェクター135B1は、物体を把持するように自律式に制御され得る。ロボット130Nは、表示画面132Nを備えるテレプレゼンスロボットであり、他にも機能はあるがとりわけ、モバイルビデオ会議機能を備え得る。たとえば、ロボット130Nは、リモートコンピューティングデバイスのところにいるユーザがロボット130Nから(たとえば、ロボット130Nの追加のカメラを介して)「ライブビュー」を受信し、および/またはユーザの何らかの印を表示画面132B上に表示することを可能にするために利用され得る。ユーザの印は、たとえば、ユーザの画像、ユーザのコンピューティングデバイスに結合されているカメラからのライブビデオフィードなどであってよい。図1にはロボットの異種グループが例示されているが、環境内のロボットは、他の実施形態においては同種のものであってよい。
【００３０】
ロボット130A〜Nは、対応する物体観察結果140A〜Nを空間時間物体インベントリ生成システム150に提供し、空間時間物体インベントリ生成システム150は、提供された物体観察結果に基づき空間時間物体インベントリ170を生成する。空間時間物体インベントリ170を生成するステップは、環境内の物体の移動、環境への新しい物体の導入、または環境からの物体の取り出しなどの、物体観察結果によって指示される環境内の変化を反映するようにインベントリ170を更新するステップを含み得る。空間時間物体インベントリ生成システム150は、インベントリ170を、連続的に、定期的に、1つまたは複数の新しい物体観察結果を受信したことに基づき、および/または他の基準に基づき更新するものとしてよい。
【００３１】
ロボット130A〜Nは、様々な状況の下で物体観察結果140A〜Nを提供し得る。たとえば、ロボット130A〜Nは、それらがすでに別のタスクに携わっているときに(たとえば、ロボット130Bは、タスクを実行する場所にナビゲートされると複数の物体観察結果140Bをもたらし得る)および/または別の非監視/観察タスクに携わっていないときに(たとえば、何もせず座っている代わりに、ロボットは環境内全体を動き回り物体観察結果をもたらし得る)物体観察結果140A〜Nをもたらし得る。本明細書の説明に照らすと理解されるように、ロボット130A、130B、130Nは、典型的には、ある時間期間にわたって複数の物体観察結果をもたらすだろう。たとえば、ロボット130Aの物体観察結果140Aは複数の物体観察結果を含み、物体観察結果の各々は異なる時点に対するものである。
【００３２】
物体観察結果140A〜Nの各々は、とりわけ、物体の少なくとも1つの物体識別子、物体に対する測定された物体姿勢、および測定された物体姿勢に対する測定時間を各々含み得る。測定された物体の物体識別子は、たとえば、物体に付けられている基準タグ、物体の無線周波識別(RFID)タグ(受動または能動)、および/または物体の特徴点に基づくものとしてよく、および様々な技術に基づきロボット130A〜Nのうちの対応する1つによって決定され得る。たとえば、物体識別子が、物体上の基準タグ(たとえば、QUICK RESPONSE(QR)コードまたは他のバーコード、英数字タグ)に基づくときに、ロボット130Aは、ロボット130Aによって取り込まれた物体の画像内の基準タグから物体識別子を抽出したことに基づき測定された物体の物体識別子を決定し得る。また、たとえば、物体識別子が物体のRFIDタグに基づくときに、ロボット130Aは、RFIDタグと物体識別子として利用される読み取り済みのRFIDタグのID信号とを読み取るRFIDリーダーを備え得る。また、たとえば、物体識別子が、物体の特徴点に基づくときに、ロボット130Aは、レーザスキャナ131A、カメラ、および/または他のセンサを利用して、特徴点を生成し、それらの特徴点に基づき識別子を決定し得る。
【００３３】
いくつかの実施形態において、物体に対する測定された物体姿勢は、姿勢デバイス131A〜Nのうちの対応する1つの1つまたは複数のセンサによって感知されたデータに基づきロボット130A〜Nのうちの対応する1つによって決定され得る。物体に対する測定された物体姿勢は、SE(3)コンフィギュレーション空間内の単一平均姿勢などの単一姿勢として与えられ得るか、または関連するガウス共分散測定が平均を中心とする六次元接空間内にあるSE(3)コンフィギュレーション空間内の平均姿勢などの、共分散測定を有する姿勢として与えられ得る。
【００３４】
測定時間は、測定された物体姿勢が基づくセンサデータが感知された時刻を示す。測定時間は、センサデータが感知された時刻に基づき得るか、または測定された物体姿勢が決定された時刻など別の事象に基づき得る(これがセンサデータと異なるとき)。いくつかの実施形態において、物体観察結果140A〜Nのうちの1つまたは複数(たとえば、すべて)で測定時間を省略することができ、測定時間は対応する物体観察結果140A〜Nの受信時刻に基づき空間時間物体インベントリ生成システム150によって推論され得る。
【００３５】
いくつかの実施形態において、物体観察結果140A〜Nのうちの1つまたは複数は、また、測定時刻に対応する測定された物体姿勢を生成するために利用される1つまたは複数のセンサに対する測定されたソース姿勢も含み得る。言い替えれば、物体観察結果の測定されたソース姿勢は、測定された物体姿勢に対する測定がなされたときの対応するロボットの姿勢および/またはロボットの対応するセンサを示す。測定されたソース姿勢は、SE(3)コンフィギュレーション空間内の単一平均姿勢などの単一姿勢として与えられ得るか、または関連するガウス共分散測定が平均を中心とする六次元接空間内にあるSE(3)コンフィギュレーション空間内の平均姿勢などの、共分散測定を有する姿勢として与えられ得る。
【００３６】
本明細書で説明されているように、いくつかの実施形態において、空間時間物体インベントリ生成システム150は、対応する測定された物体姿勢および対応する測定されたソース姿勢の両方に基づき空間時間物体インベントリ170に対する物体姿勢を決定し得る。いくつかの実施形態において、システム150は、対応する測定された物体姿勢に基づき、対応する測定されたソース姿勢を参照することなく、空間時間物体インベントリ170に対する物体姿勢を決定し得る。それらの実施形態のうちのいくつかにおいて、測定されたソース姿勢は、測定された物体姿勢としてシステム150に与えられるものとしてよい。
【００３７】
いくつかの実施形態において、物体に対する測定されたソース姿勢は、その1つまたは複数のセンサによって感知されたデータに基づきロボット130A〜Nのうちの対応する1つによって決定され得る。様々な位置測定技術がロボット130A〜Nによって利用され、それにより、粒子フィルタ、ランドマーク検出、および/またはGPSなどの測定されたソース姿勢を決定し得る。いくつかの実施形態において、ロボットの外部の1つまたは複数のセンサは、ロボットに対する測定されたソース姿勢を決定するため利用され得る。たとえば、ロボットを見つめる固定カメラからの測定結果が、ロボットに対する測定されたソース姿勢を決定するため利用され得る。測定結果は、たとえば、ロボットの基準マーカーおよび/またはRFIDタグに基づきロボットに相関するものとしてよく、測定結果は、その測定と物体観察結果の対応する測定時間との相関を求めるためにタイムスタンプを付けられ得る。別の例として、所与のロボットを見つめる別のロボットからの測定結果が、所与のロボットに対する測定されたソース姿勢を決定するため利用され得る。測定結果は、たとえば、ロボットの基準マーカーおよび/またはRFIDタグに基づきロボットに相関するものとしてよく、測定結果は、その測定と物体観察結果の対応する測定時間との相関を求めるためにタイムスタンプを付けられ得る。いくつかの実施形態において、所与のロボットを見つめる別のロボットからの測定結果が、所与のロボットがそれ自体測定されたソース姿勢をもたらさないときに所与のロボットに対する測定されたソース姿勢を決定するために利用され得る(たとえば、所与のロボットが適切なセンサを欠いているか、または適切なセンサを備えているが、位置測定できない)。所与のロボットに対する測定されたソース姿勢を決定するために利用された別のロボットからの測定結果は、他のロボットからの測定された物体姿勢であってよく、測定された物体姿勢の物体は所与のロボットであることに留意されたい。ロボットの外部の1つまたは複数のセンサからの測定結果は、ロボットの測定されたソース姿勢に対する単独ソースとして利用され、および/または他のセンサ(ロボットの、またはロボットの外部にある)からの測定結果と組み合わされ、ロボットの測定されたソース姿勢を決定し得る。
【００３８】
空間時間物体インベントリ生成システム150は、1つまたは複数のネットワーク(図示せず)によって接続されている1つまたは複数のコンピューティングシステムを含むものとしてよく、物体観察結果140A〜Nを使用してロボット130A〜Nによってアクセス可能な環境内で物体、物体姿勢、および複数の物体に対する対応する測定時間を定義する空間時間物体インベントリ170を生成し得る。そのようなコンピューティングシステムの例は、図7に概略として示されている。様々なモジュールまたはエンジンが、空間時間物体インベントリ生成システム150の一部として、ソフトウェア、ハードウェア、またはこれら2つの任意の組合せで実装され得る。たとえば、図1では、システム150は、物体姿勢生成エンジン152およびインベントリ生成エンジン154を備える。以下の例は、ロボット130A〜Nに対する物体観察結果140A〜Nに関して説明されているが、いくつかの実施形態では、空間時間物体インベントリ生成システム150は、また、ロボットに装着されていない固定センサに対する物体観察結果を使用して、環境内の物体のうちの1つまたは複数に対する物体姿勢および対応する測定時間の少なくとも一部を決定し得る。
【００３９】
物体姿勢生成エンジン152は、物体観察結果140A〜Nの各々について、観察によって示される測定時間に対する観察によって示される物体についての姿勢を決定するように構成される。物体姿勢生成エンジン152によって決定される物体姿勢は、いわゆる「ワールドフレーム」などの、基準フレームに関するものである。
【００４０】
いくつかの実施形態において、物体観察結果140A〜Nのうちの1つまたは複数の測定された物体姿勢は、基準フレームに関して与えられ得る。たとえば、ロボット130Aに与えられる測定された物体姿勢は、ロボット130Aが対応する測定されたソース姿勢を考慮して測定された物体姿勢を修正した結果として基準フレーム内にあるものであってよい。別の例として、いくつかの実施形態において、ロボット130Bの測定された物体姿勢は、基準フレーム内にすでにあるロボット130Bの測定されたソース姿勢であってよい。たとえば、ロボット130Bは、物体のRFIDタグおよび/または物体の基準タグに基づき物体の物体識別子を決定するものとしてよく、ロボット130Bは、その自ソース姿勢をその時の物体に対する測定された物体姿勢として与え得る。
【００４１】
いくつかの実施形態において、物体観察結果140A〜Nのうちの1つまたは複数の測定された物体姿勢は、測定された物体姿勢を決定するために利用されるセンサに関するものであってよく、それらの物体観察結果は、また、基準フレームに関するものである測定されたソース姿勢とともにもたらされ得る。それらの実施形態において、物体姿勢生成エンジン152は、測定されたソース姿勢を考慮して測定された物体姿勢を修正したことに基づき基準フレーム内の物体姿勢を決定し得る。言い替えれば、物体姿勢生成エンジン152は、測定されたソース姿勢を使用して、測定された物体姿勢を基準フレームに変換するものとしてよい。
【００４２】
インベントリ生成エンジン154は、物体姿勢生成エンジン152によって決定された姿勢値を、姿勢値の対応する物体識別子および姿勢値の対応する測定時間とともに、空間時間物体インベントリ170内に記憶する。したがって、生成されたインベントリ170は、複数の物体の各々について、複数の物体姿勢および物体姿勢に対する関連付けられている測定時間を定義し得る。とりわけ、決定され記憶されている物体姿勢の各々は、物体観察結果140A〜Nの異なる物体観察結果からのものであり、物体観察結果140A〜Nは、複数の対応するロボット130A〜Nからのものである。
【００４３】
いくつかの実施形態において、新しく受信された物体観察結果がインベントリ生成エンジン154によってつい最近に記憶された物体に対するつい最近の物体姿勢からの少なくとも閾値量だけ変わっていない物体に対する測定された物体姿勢を含むときに、エンジン154は、新しく受信された物体観察結果に基づき追加の物体姿勢を記憶し得ない。それらの実施形態のうちのいくつかにおいて、エンジン154は、その代わりに、新しく受信された物体観察結果の測定時間をつい最近の物体姿勢に関連付けることができる。いくつかの実施形態において、エンジン156は、つい最近の物体姿勢と新しく受信された物体観察結果に基づき決定された追加の物体姿勢とを組み合わせ(たとえば、平均し)、つい最近の物体姿勢を組み合わされた物体姿勢で置き換えるものとしてよい。
【００４４】
いくつかの実施形態において、インベントリ生成エンジン154は、空間時間物体インベントリ170内の物体に対する物体姿勢のうちの1つまたは複数を、物体が環境内にもはや存在せず(すなわち、環境の外側の位置であることを示す)、および/またはその配置が未知である(すなわち、未知の位置であることを示す)ことを示すものとして定義し得る。いくつかの実施形態において、インベントリ生成エンジン154は、たとえば、少なくとも閾値時間の間、物体を識別する物体観察結果を受信しないことに基づき物体がもはや環境内に存在しないと決定する。いくつかの実施形態において、インベントリ生成エンジン154は、予想物体移動データベース175内に物体に対するエントリが存在していると識別したことに基づき物体がもはや環境内に存在しないと決定する(適宜、少なくとも閾値時間の間、物体を識別する物体観察結果を受信しないことと組み合わせて)。予想物体移動データベース175は、1つまたは複数の物体の各々について、物体が環境から外に移動すると予想されることを示すデータを含み得る。物体が環境から外に移動すると予想されることを示すデータは、たとえば、物体に対する受信された命令、物体を移動する要求、および/または物体を移動するステップに関係する1つまたは複数のロボットの記録されたアクションに基づき得る。
【００４５】
いくつかの実施形態において、インベントリ生成エンジン154は、たとえば、物体の最後の知られている姿勢にある、またはそれに近い他の物体に対する1つまたは複数の物体観察結果を受信したが、その物体に対する物体観察結果を受信していないことに基づき、物体の位置が不明であると決定する。それらの実施形態のうちのいくつかにおいて、インベントリ生成エンジン154は、予想物体移動データベース175内に物体に対するエントリが存在していないと識別したことにさらに基づき物体の位置が不明であると決定する(そうでなければ、それが存在していた場合、物体の位置は「環境の外側」にあるものとして知られ得る)。いくつかの実施形態において、インベントリ生成エンジン154は、たとえば、その姿勢デバイスを特に物体の最後の知られている姿勢の方へ誘導するように移動ロボット130A〜Nのうちの1つまたは複数を誘導したことに基づき、物体の位置が不明であると決定する。1つまたは複数の誘導される移動ロボットが最後の知られている姿勢にあるか、またはそれに近い物体を検出しない場合に、インベントリ生成エンジン154は、物体の位置が不明であると決定し得る。それらの実施形態のうちのいくつかにおいて、エンジン154は、たとえば、少なくとも閾値時間の間、物体を識別する物体観察結果を受信しないことに基づき移動ロボット130A〜Nのうちの1つまたは複数を物体に誘導することができる。いくつかの実施形態において、閾値時間および/またはエンジン154が移動ロボットのうちの1つまたは複数を物体に誘導するかどうかは、たとえば、物体の重要度レベルに基づき得る。
【００４６】
空間時間物体インベントリ170の値および関係は、様々な仕方でインベントリ170内に記憶され得る。たとえば、空間時間物体インベントリ170は、物体識別子が各々少なくとも1つまたは複数の対応する時間に対する物体姿勢値および1つまたは複数の対応する時間を含むタプルを各々指す指数値である指数であってよい。また、たとえば、空間時間物体インベントリ170は、物体識別子がノードであり、ノードが各々1つまたは複数のエッジによって中心ノードに接続されているグラフトポロジーを有し得る。エッジの各々は、1つまたは複数の物体観察結果に基づくものとしてよく、1つまたは複数の対応する時間に対する物体姿勢値および1つまたは複数の対応する時間などの属性を含み得る。たとえば、所与のノードは複数のエッジを有するものとしてよく、エッジの各々は対応する物体観察結果に基づく。さらに別の例として、空間時間物体インベントリ170は、物体識別子がノードであり、物体姿勢もノードであるグラフトポロジーを有し得る。物体識別子ノードは、各々、1つまたは複数のエッジによって1つまたは複数の物体姿勢ノードに接続されるものとしてよく、各エッジは、対応する物体姿勢を示した対応する物体識別子に対する物体観察結果に基づく。たとえば、所与のエッジは、所与の物体識別子ノードと所与の物体姿勢ノードとの間にあるものとしてよく、対応する物体観察結果に基づき得る。所与のエッジは、対応する測定時間などの属性を含み得る。
【００４７】
いくつかの実施形態において、空間時間物体インベントリ170は、1つまたは複数のインベントリ管理システムの予想物体移動データベース175および/または他のデータベースにおけるデータ品質を改善するために利用され得る。たとえば、インベントリ170の物体について定義されている姿勢は、インベントリ管理システムによって予想される物体の姿勢を検証するために利用され得る。たとえば、インベントリ170は、環境内にあるべき物体が実際に環境内にあることを検証する、環境内の物体の予想姿勢が予想通りであることを検証する、および/または環境から出ているべき物体が実際に環境から出ていることを検証するために利用され得る。以下で説明されているように、ロボットコマンド生成システム160は様々な技術を使用して移動ロボット130A〜Nを環境全体にわたって分散させ、インベントリ170の精度および/または適時性を改善する(および/または移動ロボット130A〜Nの利用効率を改善する)ことができる。これは、インベントリ管理システムによって予想される姿勢を検証する際にインベントリ170をより効果的なものにし、および/または他の目的のためにより効果的なものにし得る。
【００４８】
ロボットコマンド生成システム160は、1つまたは複数のネットワーク(図示せず)によって接続されている1つまたは複数のコンピューティングシステムを備えるものとしてよく、空間時間物体インベントリ170を使用して、1つまたは複数の将来の時間期間において環境の1つまたは複数の領域に対する移動ロボット130A〜Nの監視パラメータを決定する。さらに、システム160は、監視パラメータを考慮して、将来の時間期間において環境の1つまたは複数の領域における物体観察結果の量に影響を及ぼすためのコマンド145を移動ロボット130A〜Nのうちの1つまたは複数に与えるものとしてよい。様々なモジュールまたはエンジンが、ロボットコマンド生成システム160の一部として、ソフトウェア、ハードウェア、またはこれら2つの任意の組合せで実装され得る。たとえば、図1では、システム160は、移動量エンジン162、監視パラメータエンジン164、およびコマンドエンジン166を備える。
【００４９】
移動量エンジン162は、1つまたは複数の基準が充足されたときに環境の少なくとも1つの領域において生じた空間時間物体インベントリ170の物体の移動の量を決定する。この基準は、たとえば、1つまたは複数の特定の時間期間、領域内の1人または複数の人間の特定のグループの存在、領域内の人間の1人または複数の特定の人数の存在、および/またはインベントリ基準のうちの1つまたは複数を含み得る。
【００５０】
いくつかの実施形態において、移動量エンジン162は、移動の非加重量を決定し得る(すなわち、各移動は同じとみなされる)。いくつかの他の実施形態において、移動量エンジン162は、量を決定する際に、様々な基準に基づきそれらの移動のうちの1つまたは複数に重みを付けるものとしてよい。たとえば、エンジン162は、現在の時刻への時間的な近接度に基づき移動のうちの1つまたは複数に重みを付けるものとしてよい(たとえば、より近位のものはより大きい重みを付けられ得る)。また、たとえば、エンジン162は、移動に関連付けられている物体識別子に対する重要度レベルに基づき移動のうちの1つまたは複数に重みを付けるものとしてよい。たとえば、値が高い物体に関連付けられているいくつかの物体識別子は、値がより低い物体よりも高い重要度レベルを有するものとしてよく、および/または特定の環境条件下(たとえば、特定の温度の範囲内)にある必要のある物体に関連付けられているいくつかの物体識別子は、そうでない物品よりも高い重要度レベルを有し得る。また、たとえば、エンジン162は、移動が「予想された移動」または「不明な移動」(たとえば、上で説明されているような)であったかどうかに基づき移動のうちの1つまたは複数に重みを付け得る。たとえば、「不明な」移動により大きい重みを付けて、「不明な移動」(たとえば、物体の配置を示す物体姿勢に基づき決定される移動は不明である)への注目を高めることができる。
【００５１】
いくつかの実施形態において、移動量エンジン162は、様々な基準に基づき量を決定するそれらの移動を制限するものとしてよい。たとえば、領域内の移動の量を決定するために移動量エンジン162によって使用される物体の移動は、「不明な移動」である移動に制限され得る。また、たとえば、領域内の移動の量を決定するために移動量エンジン162によって使用される物体の移動は、少なくとも重要度閾値レベルを有する物体に関連付けられている移動に制限され得る。さらに別の例として、領域内の移動の量を決定するために移動量エンジン162によって使用される物体の移動は、「不明の移動」であり、少なくとも重要度閾値レベルを有する物体に関連付けられている移動に制限され得る。
【００５２】
基準が特定の時間期間を含む実施形態では、特定の時間期間は、たとえば、1つまたは複数の特定の曜日、1つまたは複数の特定の日付、または1つまたは複数の特定の曜日もしくは特定の日付のうちの1つまたは複数における1つまたは複数の時間期間であってよい。基準が特定の時間期間を含む実施形態では、領域内の移動の量を決定するために使用される物体の移動は、特定の時間期間において生じた移動に少なくとも制限され得る。そのような移動は、たとえば、それらの移動を示す姿勢値がその時間期間における領域内の移動を示すインベントリ170において定義されている測定時間を有すると決定したことに基づき移動量エンジン162によって決定され得る。
【００５３】
たとえば、移動量エンジン162は、インベントリ170内の物体に対する第1の姿勢が領域の外側にあり、一時的にその時間期間よりも前にある第1の対応する測定時間を有すると決定したことと、インベントリ170内の物体に対する第2の姿勢が領域内にあり、一時的にその時間期間内にある第2の対応する測定時間を有すると決定したこととに基づき、領域内への物体のうちの1つの移動が特定の時間期間において生じたと決定し得る。また、たとえば、移動量エンジン162は、一時的にその時間期間よりも前にあるどの姿勢もインベントリ170内の物体について定義されていないと決定したことと、インベントリ170内の物体に対する姿勢が領域内にあり、一時的にその時間期間内にある対応する測定時間を有すると決定したこととに基づき、領域内への物体のうちの1つの移動が特定の時間期間において生じたと決定し得る。さらに別の例として、移動量エンジン162は、インベントリ170内の物体に対する第1の姿勢が領域の内側にあり、一時的にその時間期間よりも前にある第1の対応する測定時間を有すると決定したことと、インベントリ170内の物体に対する第2の姿勢が領域の外側にあり、一時的にその時間期間内にある第2の対応する測定時間を有すると決定したこととに基づき、領域から外への物体のうちの1つの移動が特定の時間期間において生じたと決定し得る。
【００５４】
基準が領域内の1人または複数の人間のグループの存在を含むいくつかの実施形態において、グループは、たとえば、1人または複数の特定の人間および/または人間の「クラス」であってよい。たとえば、グループは、特定の従業員、複数の特定の従業員、1人もしくは複数の特定の契約人、一般に1人もしくは複数の契約人、および/または一般に1人もしくは複数の客のうちの1つまたは複数を含み得る。
【００５５】
基準が領域内の1人または複数の人間のグループの存在を含むいくつかの実施形態において、領域内の移動の量を決定するために使用される物体の移動は、1人または複数の人間のグループが存在していたときに生じたそれらの移動に少なくとも制限され得る。移動量エンジン162は、たとえば、1人または複数の人間のグループが領域内に存在している複数の時間期間を示す人間存在データを受信したことと、インベントリ170に基づき、それらの移動を示し、1人または複数の人間のグループが存在していたときにそれらの時間期間のうちの1つの時間期間内の測定時間を有する姿勢値を決定したことに基づき、そのような移動を決定し得る。いくつかの実施形態において、人間存在データは、領域へのアクセスを得るため人間がバイオメトリック特徴を「バッジイン/アウト」しおよび/または使用したことに応答してアクセス制御システムによって与えられる識別子などの、1つまたは複数の電子アクセス制御システムによって与えられる識別子に基づくものとしてよい。いくつかの実施形態において、人間存在データは、移動ロボット130A〜N、固定カメラシステム、および/または環境の他のセンサによって与えられ得る。たとえば、人間存在データは、人間によって身に着けられたバッジ内の「RFIDタグ」から感知された識別子に基づき移動ロボット130A〜Nによって決定され、および/または画像解析に基づき決定され得る。
【００５６】
基準が領域内の1人または複数の人間のグループの存在を含むいくつかの実施形態において、本明細書で説明されている技術は、比較的大きい量の物体移動に関連付けられている人間が存在する1つまたは複数の領域内で移動ロボットによりインベントリの余計な監視を促し得る。たとえば、頻繁に物体を移動する第1のグループが領域内に存在するときに、ロボット130A〜Nによるインベントリ監視は、物体をめったに移動しない第2のグループが領域内に存在するときと比べて増大し得る。たとえば、第1のグループは、仕事が物体を別の領域におよび/または環境の外へ運ぶために物体を取り出すことである作業者であってよく、第2のグループは、仕事が機械機器を修理する(めったに物体を移動しない)ことである作業者であってよい。それらのおよび/または他の実施形態のうちのいくつかにおいて、領域内の移動の量を決定するために移動量エンジン162によって使用される物体の移動は、領域の外にあり、物体の配置が不明であることを指示する物体姿勢に基づき決定される物体の移動などの、「不明の移動」である移動に制限され得る。これは、1つまたは複数の基準が充足されたときに生じた予期しない移動の量を決定することを可能にするものとしてよく、量が比較的多いときに、1つまたは複数の移動ロボットによるインベントリの監視を、基準を充足する将来の時間期間に高めることをさらに可能にし得る。
【００５７】
基準が1人または複数の人間のうちの1人もしくは複数の人数が領域内に存在するということを含むいくつかの実施形態において、特定の量は、たとえば、「5」などの単一の量、または「5〜10」または「2〜4および6〜10」などの量の1つもしくは複数の範囲であってよい。いくつかの実施形態において、領域内の移動の量を決定するために使用される物体の移動は、特定の量がその領域内に存在していたときに生じた移動に少なくとも制限され得る。移動量エンジン162は、たとえば、特定の人数の1人または複数の人間が領域内に存在している複数の時間期間を示す人間存在データを受信した(たとえば、「バッジイン」から受信された、「RFIDタグ」から受信された、画像解析によって決定された)ことと、インベントリ170に基づき、それらの移動を示す姿勢値が特定の人数が領域内に存在していたときにそれらの時間期間のうちの1つの時間期間内の測定時間を有する姿勢値を決定したことに基づき、そのような移動を決定し得る。
【００５８】
基準が環境のインベントリ基準を含む実施形態において、インベントリ基準は、たとえば、1つまたは複数の特定のタイプのインベントリおよび/または一般にインベントリの少なくとも閾値量の存在、1つまたは複数の特定のタイプのインベントリおよび/または一般にインベントリの閾値量よりも少ない量の存在、および/または1つまたは複数の特定のタイプのインベントリおよび/または一般にインベントリの量の少なくとも閾値変化であってよい。いくつかの実施形態において、環境のインベントリ基準は、物体の移動の量が決定されている環境の領域に制限されたインベントリ基準である。
【００５９】
いくつかの実施形態において、領域内の移動の量を決定するために使用される物体の移動は、特定のインベントリ基準が存在していたときに生じた移動に少なくとも制限され得る。移動量エンジン162は、たとえば、空間時間物体インベントリ170に基づき、特定のインベントリ基準が領域内に存在したときの時間期間を決定したことと、それらの移動が特定のインベントリ基準が領域内に存在したときの時間期間のうちの1つの時間期間内にあるインベントリ170において定義されている測定時間を有することを指示する物体姿勢を決定したこととに基づきそのような移動を決定し得る。
【００６０】
単一の基準にのみに依存するいくつかの例が上に挙げられているが、移動量エンジン162は、複数の基準が充足されときに領域内で生じた移動の量を決定し得ることは理解されるであろう。たとえば、エンジン162は、先月の平日に領域内で生じた移動の量を、少なくとも5人の人間が存在し、「タイプA」の物体の少なくとも100の量が存在したときに、決定し得る。また、一組の1つまたは複数の基準に基づき1つまたは複数の領域に対する単一の量を決定するステップのみを説明しているいくつかの例が取りあげられているが、移動量エンジン162は、複数のインスタンスの各々に対する対応する量を決定するものとしてよく、各インスタンスは異なる領域および/または異なる一組の基準に対するものである。たとえば、第1の量は、第1の一組の基準に対する環境の第1の領域について決定され得、第2の量は、第2の一組の基準に対する環境の第2の領域について決定され得る。また、たとえば、第3の量は、第2の一組の基準に対する環境の第1の領域について決定され得る。
【００６１】
エンジン162によって決定される量の各々について、監視パラメータエンジン164は、対応する基準がやはり充足される1つまたは複数の将来の時間期間において対応する領域に対する1つまたは複数の監視パラメータを決定する。監視パラメータエンジン164は、本明細書で説明されているようにコマンドエンジン166による利用のため関連付けられている領域および関連付けられている基準とともに決定された監視パラメータを記憶するものとしてよい。監視パラメータは、一般に、移動ロボット130A〜Nはその領域にいくつ配備されるべきか、および/または移動ロボット130A〜Nのうちの1つまたは複数がその領域に何回遭遇すべきかを定義する。たとえば、環境の第1の領域について、および第1の一組の1つまたは複数の基準について、エンジン162によって決定される移動の量は、10であると仮定する。さらに、環境の第2の領域について、および第1の一組の基準について、エンジン162によって決定される移動の量は、250であると仮定する。監視パラメータエンジン164は、より多数の移動ロボットを定義する第1の一組の基準に対する第2の領域について監視パラメータが配備されるべきであり、および/または第1の一組の基準に対する第1の領域について決定する数および/または頻度よりも高い頻度で配備されるべきであると決定するであろう。
【００６２】
いくつかの実施形態において、いくつかの基準が充足されたときに領域内で生じた移動の量に基づき監視パラメータを決定するステップは、エンジン162によって決定された生の量に基づき監視パラメータを決定するステップを含む。たとえば、第1の監視パラメータは、生の量が50未満の場合に決定されてよく、第2の監視パラメータは、生の量が50から100の範囲などの場合に決定されてよい。いくつかの実施形態において、いくつかの基準が充足されたときに領域内で生じた移動の量に基づき監視パラメータを決定するステップは、エンジン162によって決定された量の正規化に基づき、または量の他の何らかの変換に基づき量を決定するステップを含む。たとえば、いくつかの実施形態において、エンジン162によって決定される生の量は、移動の生の量で表される日数、時間数、および/または週数などの1つまたは複数の値に関して正規化され得る。たとえば、その量が最後の日に領域内に生じた移動の量に基づく場合、その量は、1時間当たりの移動の平均量に正規化され得る(たとえば、生の量を24で割る)。別の例として、その量が最後の時間に領域内に生じた移動の量に基づく場合、その量は、1分当たりの移動の平均量に正規化され得る(たとえば、生の量を60で割る)。さらに別の例として、その量が過去52週間の火曜日に生じた移動の量である場合、その量は、1日当たりの移動の平均量に正規化され得る(たとえば、生の量を52で割る)。
【００６３】
特定の一例として、エンジン162によって決定されるすべての量は、1分当たり移動の平均量に正規化され得る。監視パラメータエンジン164は、1分当たりの移動の平均量が1未満である場合に第1の監視パラメータを決定し、1分当たり移動の平均量が1から5である場合に第2の監視パラメータを決定し、1分当たり移動の平均量が6から10である場合に第3の監視パラメータを決定し、などとすることができる。第3の監視パラメータは、第2の監視パラメータに比べてより多くの量の領域内の移動ロボットおよび/またはより高い頻度の領域内のロボット移動を定義するものとしてよく、第2の監視パラメータは、第1の監視パラメータに比べてより多くの量および/またはより高い頻度を定義するものとしてよい。
【００６４】
本明細書で説明されているように、監視パラメータエンジン164は、監視パラメータの複数のインスタンスを決定するものとしてよく、インスタンスの各々は環境の1つまたは複数の対応する領域および1つまたは複数の対応する基準に関連付けられる。監視パラメータの1つまたは複数のインスタンスの各々について、コマンドエンジン166は、移動ロボット130A〜Nに、それらの監視パラメータに基づく、それらの監視パラメータに対応する基準が充足されたときに将来の時間期間において移動ロボット130A〜Nの移動の1つまたは複数の態様に影響を及ぼす、コマンド145を与える。将来の時間期間における移動ロボット130A〜Nの移動の1つまたは複数の態様の影響の結果として、与えられるコマンド145は、それらの将来の時間期間において、それらの監視パラメータに対応する1つまたは複数の領域での物体観察結果の量に影響を及ぼすであろう。
【００６５】
いくつかの実施形態において、コマンド145は、一定量の移動ロボット130A〜Nを、監視パラメータが決定された1つまたは複数の領域に移動するように明示的に誘導するものとしてよく、この量は監視パラメータに基づく。たとえば、監視パラメータで少なくとも5つの移動ロボットが配備されるべきと定義した場合、コマンドは、移動ロボット130A〜Nのうちの5台を1つまたは複数の領域に誘導し、および/または最大5台までの利用可能な移動ロボット130A〜Nを同じ数だけ1つまたは複数の領域に誘導するものとしてよい。
【００６６】
いくつかの実施形態において、コマンド145は、移動ロボット130A〜Nが将来の時間期間において領域に遭遇する経路を選択する確率に影響を及ぼし得る。たとえば、コマンド145は、移動ロボット130A〜Nのうちの1つまたは複数がその時間期間において領域を訪問する場所までの「最短の」または他の何らかの形で「最適な」経路を「迂回する」確率を高くするか、または低くするかのいずれかを行うものとしてよい(たとえば、1つまたは複数の移動ロボット130A〜Nが迂回する距離を大きくし、および/または小さくし得る)。たとえば、監視パラメータで、ロボットが比較的高い頻度でその領域に配備されるべきであると定義した場合、コマンド145は、最適な経路から最大100ヤードまで離れて迂回するように移動ロボット130A〜Nを誘導するものとしてよく、そうするとロボット130A〜Nはその領域に通される。その一方で、監視パラメータで、ロボットが比較的低い頻度でその領域に配備されるべきであると定義した場合、コマンド145は、最適な経路から最大15ヤードまで離れて迂回するように移動ロボット130A〜Nを誘導するものとしてよく、そうするとロボット130A〜Nはその領域に通される。
【００６７】
いくつかの実施形態において、コマンドエンジン166は、監視パラメータが監視パラメータエンジン164によって決定された基準のうちのどれかを充足しているか監視し、監視パラメータのインスタンスが決定された基準を充足したことに応答して移動ロボット130A〜Nに対応するコマンド145を送信する。たとえば、基準が特定の時間期間(たとえば、火曜日の15:00〜17:00)からなる場合、コマンドエンジン166は、その特定の時間期間(たとえば、火曜日の15:00〜17:00の間の任意の時刻)の発生を監視し得る。その発生に応答して、コマンドエンジンは、対応する監視パラメータに基づき手直しされたコマンド145を送信し得る。いくつかの他の実施形態において、コマンドエンジン166は、それらのコマンドに対応する基準とともに、その発生の前に移動ロボット130A〜Nにコマンド145を送信し得る。それらの実施形態において、ロボット130A〜Nはそれ自体、基準が充足されているか監視し、基準が充足されていたらそのことに応答してコマンド145に従って動作し得る。
【００６８】
いくつかのシナリオにおいて、監視パラメータの複数のインスタンスに対する基準は、所与の時間期間において充足され得る。たとえば、監視パラメータの第1のインスタンスが、「火曜日の15:00〜17:00」という関連する基準を有し、監視パラメータの第2のインスタンスが、「人間のグループAが存在する」という関連する基準を有し得ると仮定する。さらに、それが火曜日の15:00であり、人間のグループAが環境内に存在すると仮定する。いくつかの実施形態において、コマンドエンジン166は、監視パラメータの第1のインスタンスと監視パラメータの第2のインスタンスの両方に基づくコマンドを生成し得る。いくつかの他の実施形態において、コマンドエンジン166は、監視パラメータのインスタンスのうちのただ1つに基づくコマンド145を生成し得る。たとえば、コマンドエンジン166は、監視パラメータのつい最近に決定されたインスタンスのみに基づくコマンド145を生成し得る。また、たとえば、コマンドエンジン166は、大半の特に定義されている基準に関連付けられている監視パラメータのインスタンスのみに基づくコマンドを生成し得る。たとえば、「インベントリXが存在する、火曜日の13:00〜15:00」という関連する基準を有する第1の監視パラメータは、「火曜日」という関連する基準を有する第2の監視パラメータ上で利用され得る。
【００６９】
ロボット130A〜N、システム150、およびシステム160は、図1に別々に示されているが、これは制限することを意図していない。様々な実施形態において、空間時間物体インベントリ生成システム150の1つまたは複数の態様は、ロボットコマンド生成システム160で実装され、またその逆もあり得る。さらに、様々な実施形態において、システム150および/または160の1つまたは複数の態様は、ロボット130A〜Nのうちの1つまたは複数で実装され得る。たとえば、コマンドエンジン166のインスタンスは、移動ロボット130A〜Nの各々で実装され得る。ロボット130A〜N、システム150、および/またはシステム160が別々の構成要素である実施形態において、これらは、1つまたは複数の有線もしくはワイヤレスネットワーク上で、または無線、Bluetooth、赤外線などの他のワイヤレス技術を使用して通信し得る。
【００７０】
図2は、移動ロボットの物体観察結果を使用して空間時間物体インベントリの一部を生成する例を示している。図2では、物体観察結果140A(図1)のうちの物体観察結果140A1が例示されており、物体識別子142A1、測定された物体姿勢144A1、測定時間146A1、および測定されたソース姿勢148A1を示す。
【００７１】
物体姿勢生成エンジン152は、測定された物体姿勢144A1および測定されたソース姿勢148A1の両方を使用して、物体姿勢を決定する。たとえば、測定されたソース姿勢148A1は、基準フレームに関するものであってよく、測定された物体姿勢144A1は、測定された物体姿勢145A1を決定するために測定が利用されたセンサに関するものであってよく、物体姿勢生成エンジン152は、測定されたソース姿勢148A1を使用して、測定された物体姿勢144A1を基準フレームに変換するものとしてよい。物体姿勢は、インベントリ生成エンジン156に与えられる。
【００７２】
インベントリ生成エンジン156は、物体識別子142A1、決定された物体姿勢、および測定時間146A1を含む空間時間物体インベントリ170に対するエントリを生成する。
【００７３】
図2は、単一の物体観察結果140A1に関して説明されているが、図2の技術は、追加の物体観察結果140A〜Nを利用して空間時間物体インベントリ170の追加の部分を生成するために利用され得ることは理解される。物体観察結果140A〜Nは、空間時間物体インベントリ170を最新状態に保つように受信されたときに処理され得る。
【００７４】
図3は、空間時間物体インベントリに基づき移動ロボットに対する監視パラメータを決定し、移動ロボットに、監視パラメータに基づくコマンドを与える例を示している。図3では、基準101が移動量エンジン162に与えられている。本明細書で説明されているように、基準は、たとえば、1つまたは複数の特定の時間期間、領域内の1人または複数の人間の特定のグループの存在、領域内の人間の1人または複数の特定の人数の存在、および/またはインベントリ基準のうちの1つまたは複数を含み得る。
【００７５】
移動量エンジン162は、空間時間物体インベントリ170および/または環境データデータベース177内の人間に基づき、基準101が充足されたときに環境の領域内で生じたインベントリ170において定義されている物体の移動の量を決定する。環境データデータベース177内の人間は、複数の時間期間の各々について、それらの時間期間において環境内に存在する1人または複数の人間および/またはそれらの時間期間において環境内に存在する人間の人数を示す人間存在データを含み得る。移動量エンジン162は、データベース177を利用して、インベントリ170で示されている移動が「領域内の1人または複数の人間の特定のグループの存在および/または領域内の人間の1人または複数の特定の人数の存在」基準を充足するかどうかを決定し得る。移動量エンジン162は、インベントリ170に示されている移動が「時間期間および/またはインベントリ」基準を充足するかどうかを決定するためにインベントリ170に依存し得る。
【００７６】
移動量エンジン162は、移動の決定された量と、移動の決定された量に対する領域および基準を監視パラメータエンジン164に与える。監視パラメータエンジン164は、移動の受信された量に基づき、その基準がやはり充足される1つまたは複数の将来の時間期間に対する移動ロボットの1つまたは複数の監視パラメータを決定する。たとえば、移動の量が比較的大きい場合、エンジン164は、比較的多数の移動ロボットが、その基準がやはり充足される1つまたは将来の時間期間にその領域に配備されるべきであること、および/または移動ロボットがその基準がやはり充足されたときに1つまたは複数の将来の時間期間に比較的頻繁にその領域に遭遇すべきであることを指示する監視パラメータを決定し得る。
【００７７】
監視パラメータエンジン164は、決定された監視パラメータと、領域および基準をコマンドエンジン166に与える。図3の実施形態において、コマンドエンジン166は、エンジン164によって与えられた基準の「現在充足」についてインベントリ170および/またはデータベース177を監視する。現在充足を決定したことに応答して、コマンドエンジン166は、監視パラメータに基づき手直しされたコマンドを移動ロボット130A〜Nに送信する。いくつかの実施形態において、コマンドエンジン166は、現在充足の前に、コマンドを移動ロボット130A〜Nに送信する。たとえば、コマンドエンジン166は、現在充足を予期して(たとえば、時間期間基準が充足される5分前に)コマンドを与えるものとしてよい。いくつかの実施形態において、コマンドは、一定量の移動ロボット130A〜Nを、監視パラメータが決定された1つまたは複数の領域に移動するように明示的に誘導するものとしてよく、この量は監視パラメータに基づく。いくつかの実施形態において、コマンドは、移動ロボット130A〜Nが領域に遭遇する経路を選択する確率に影響を及ぼし得る。
【００７８】
特定の一例として、基準が特定の時間期間および環境内に存在する人間の人数(たとえば、少なくとも10人の人間が存在する、火曜日の15:00〜17:00)からなる場合、コマンドエンジン166は、その特定の時間期間(たとえば、火曜日の15:00〜17:00の間の任意の時刻)の発生を監視し、データベース177にアクセスして10人の人間が環境内に存在するという事象の発生を監視し得る。その発生に応答して、コマンドエンジン166は、監視パラメータに基づき手直しされたコマンドを移動ロボット130A〜Nに送信する。
【００７９】
図4A〜図4Cを参照すると、環境を通って移動し、環境内の物体105A〜Mに関係する物体観察結果を決定して提供するロボット130A、130B、130C、および130Nの例が示されている。図4Aは、第1の時刻における建物の一部の平面図を例示している。1回目に、物体106A〜Mはそれぞれの位置にあるように例示されており、ロボット130A、130B、130C、および130Nも、そのそれぞれの位置にあるように例示されている。物体105A〜Hは、たとえば、ボックス、パレット、および/または他の物体であってよい。物体105K〜Mは、たとえば、ドラム、バレル、および/または他の物体であってよい。図4Aの第1の時刻では、ロボット130A、130B、130C、および130Nのうちの1つまたは複数の各々は、物体105A〜Mのうちの1つまたは複数に対する対応する物体観察結果をもたらし得る。たとえば、物体105Aは、ロボット130Aの1つまたは複数のセンサの視野内にあるものとしてよく、ロボット130Aは、物体105Aの物体識別子および物体105Aに対する測定された物体姿勢とともに物体観察結果をもたらし得る。
【００８０】
図4Bは、図4Aの第1の時刻よりも後の第2の時刻におけるその建物の一部の平面図を例示している。物体105A〜Mは、図4Aでとっているのと同じ姿勢を図4Bでもとっている。しかしながら、ロボット130A、130B、130C、および130Nは、すべて、タスク(観察/監視タスクまたは非観察/監視タスク)を実行した結果として移動している。図4Bの第2の時刻で、ロボット130A、130B、130C、および130Nのうちの1つまたは複数の各々は、物体105A〜Mのうちの1つまたは複数に対して測定された物体姿勢とともに物体観察結果を含む対応する物体観察結果をもたらし得る。複数の観察結果は、図4Aの第1の時刻と図4Bの第2の時刻との間でも与えられている可能性があることに留意されたい。
【００８１】
図4Cは、図4Bの第2の時刻よりも後の第3の時刻におけるその建物の一部の平面図を例示している。物体105K〜Mは、図4Aおよび図4Bでとっているのと同じ姿勢を図4Cでもとっている。しかしながら、物体105A〜Cおよび105E〜Mは、すべて、1人もしくは複数の人間による移動、1つもしくは複数の人間制御機械による移動、および/または1つもしくは複数のロボット(ロボット130A、130B、130C、および130Nのうちの1つもしくは複数を含み得る)による移動の結果として異なる姿勢を有する。物体105Dは、物体105Dが環境から外に移動したため図4C内にもはや存在していない。さらに、ロボット130A、130B、130C、および130Nは、すべて、タスク(観察/監視タスクまたは非観察/監視タスク)を実行した結果として移動している。図4Cの第3の時刻で、ロボット130A、130B、130C、および130Nのうちの1つまたは複数の各々は、物体105A〜Mのうちの1つまたは複数に対して測定された物体姿勢とともに物体観察結果を含む対応する物体観察結果をもたらし得る。複数の物体観察結果は、図4Bの第2の時刻と図4Cの第2の時刻との間でも与えられている可能性があることに留意されたい。
【００８２】
空間時間物体インベントリ170は、本明細書で説明されている技術に従って図4Cの変化を反映するように更新され得る。さらに、コマンド生成システム160は、図4Bと図4Cとの間で生じた物体105Dの移動を考慮して(および物体の他の時間的に異なる移動を考慮して)監視パラメータを決定し得、そのような監視パラメータを利用して、制御コマンドを将来の時間期間にロボット130A、130B、および130Nに与え、制御コマンドは、監視パラメータに基づいており、将来の時間期間においてロボット130A、130B、および130Nの移動の1つまたは複数の態様に影響を及ぼす。
【００８３】
図5は、空間時間物体インベントリを移動ロボットからの物体観察結果に基づき生成し、1つまたは複数の将来の時間期間における移動ロボットに対する監視パラメータを、空間時間物体インベントリに基づき決定する例示的な方法を示すフローチャートである。便宜上、フローチャートの動作は、動作を実行するシステムを参照しつつ説明されている。このシステムは、図1の空間時間物体インベントリ生成システム150および/またはロボットコマンド生成システム160などの、様々なコンピュータシステムの様々な構成要素を含み得る。さらに、方法500の動作が特定の順序で示されているが、これは制限することを意味しない。1つまたは複数の動作は、順序変更、省略、または追加が可能である。
【００８４】
ブロック502において、システムは、環境内の複数の移動ロボットから、環境内の物体に対する物体観察結果を受信する。物体観察結果の各々は、少なくとも物体の識別子および物体に対する測定された物体姿勢を含む。
【００８５】
ブロック504において、システムは、ブロック502で受信された物体観察結果に基づき空間時間物体インベントリを生成する。生成された空間時間モデルは、環境の複数の物体の各々に対する物体姿勢および対応する測定時間を定義する。
【００８６】
ブロック506において、システムは、空間時間物体インベントリに基づき、1つまたは複数の基準が充足されたときに生じた物体の移動の量を決定する。この基準は、たとえば、1つまたは複数の特定の時間期間、領域内の1人または複数の人間の特定のグループの存在、領域内の人間の1人または複数の特定の人数の存在、および/またはインベントリ基準のうちの1つまたは複数を含み得る。
【００８７】
ブロック508において、システムは、1つまたは複数の基準が充足されたときに生じた物体の移動の量に基づき、その基準がやはり充足される1つまたは複数の将来の時間期間に対する移動ロボットの監視パラメータを決定する。
【００８８】
ブロック510において、システムは、1つまたは複数の移動ロボットに、監視パラメータに基づき、将来の時間期間における移動ロボットの移動に影響を及ぼすコマンドを与える。
【００８９】
図6は、ロボットの例示的なアーキテクチャの概略を示している。ロボット600は、限定はしないが、テレプレゼンスロボット、ヒューマノイド形態、動物形態、車輪付きデバイス、水中作業船、無人機(「UAV」)などを含む、様々な形態をとり得る。様々な実施形態において、ロボット600はコントローラ602を備え得る。コントローラ602は、1つまたは複数のプロセッサ、1つまたは複数のフィールドプログラマブルゲートアレイ(「FPGA」)、1つまたは複数の特定用途向け集積回路(「ASIC」)、1つまたは複数のいわゆる「リアルタイムコントローラ」などの様々な形態をとり得る。
【００９０】
様々な実施形態において、コントローラ602は、1つまたは複数のアクチュエータ604a〜n、および/または1つまたは複数のセンサ608a〜mと、たとえば、1つまたは複数のバス610を介して動作可能に結合され得る。センサ608a〜mは、限定はしないが、3Dセンサ、カメラ、深度センサ、光センサ、圧力センサ、圧力波センサ(たとえば、マイクロフォン)、近接センサ、加速度計、ジャイロスコープ、温度計、気圧計などを含む、様々な形態をとり得る。センサ608a〜mは、ロボット600と一体であるように示されているが、これは制限することを意味しない。いくつかの実施形態において、1つまたは複数のセンサ608a〜mは、ロボット600の外部に、たとえばスタンドアロンユニットとして配置され得る。
【００９１】
コントローラ602は、1つまたは複数のタスクを実行するための制御コマンドをアクチュエータ604a〜nに与えるものとしてよい。それらの制御コマンドは、車輪および/または他の構成要素を駆動してロボット600が自律的に、半自律的に、および/またはコンピューティングデバイスでのユーザインターフェース入力に応答してコンピューティングデバイスによって与えられる制御コマンドに応答して1つまたは複数の経路を横断することを可能にするようにアクチュエータ604a〜nを誘導するコマンドを含む。コントローラ602は、本明細書で説明されている物体観察結果のすべての、またはいくつかの態様を生成し、および/またはロボットコマンド生成システム160によって与えられる1つまたは複数のコマンド145を受信し、それらのコマンド145に基づく1つまたは複数の制御コマンドを生成するための制御コマンドをさらに与えることができる。たとえば、コントローラ602は、ロボット600を環境内の様々な場所に自律的にナビゲートするための制御コマンドを1つまたは複数のアクチュエータ604a〜nに与えるものとしてよく、それらの制御コマンドは、コマンド145を考慮しつつロボット600によって生成される。また、たとえば、コントローラ602は、ネットワークインターフェースサブシステム615を介して空間時間物体インベントリ生成システム150および/またはロボットコマンド生成システム160とのネットワーク接続を確立し得る。ネットワークインターフェースサブシステム615は、外部ネットワークへのインターフェースを提供し、ロボットとのセッションに関わるコンピューティングデバイスなどの1つまたは複数の他のコンピュータシステム内の1つまたは複数の対応するインターフェースデバイスに結合される。いくつかの実施形態において、ロボット600は、他の構成要素に加えて、以下で説明されているコンピュータシステム710などの、コンピュータシステムの1つまたは複数の態様を組み込み得る。
【００９２】
図7は、例示的なコンピュータシステム710のブロック図である。コンピュータシステム710は、典型的には、バスサブシステム712を介して多数の周辺デバイスと通信する少なくとも1つのプロセッサ714を備える。これらの周辺デバイスは、たとえば、メモリサブシステム725およびファイルストレージサブシステム726を含む、ストレージサブシステム724、ユーザインターフェース出力デバイス720、ユーザインターフェース入力デバイス722、およびネットワークインターフェースサブシステム716を含み得る。入力および出力デバイスは、ユーザがコンピュータシステム710をインタラクティブに操作することを可能にする。ネットワークインターフェースサブシステム716は、外部ネットワークへのインターフェースを備え、他のコンピュータシステム内の対応するインターフェースデバイスに結合される。
【００９３】
ユーザインターフェース入力デバイス722は、キーボード、マウス、トラックボール、タッチパッド、もしくはグラフィックスタブレットなどのポインティングデバイス、スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システムなどの音声入力デバイス、マイクロフォン、および/または他の種類の入力デバイスを含み得る。一般に、「入力デバイス」という用語の使用は、情報をコンピュータシステム710内に、または通信ネットワーク上に入力するためのすべての可能な種類のデバイスおよび方法を含むことが意図されている。
【００９４】
ユーザインターフェース出力デバイス720は、表示サブシステム、プリンタ、ファックス機、または音声出力デバイスなどの非視覚的ディスプレイを含み得る。表示サブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、プロジェクションデバイス、または可視画像を生成するための他の何らかのメカニズムを含み得る。表示サブシステムは、音声出力デバイスなどを介して非視覚的ディスプレイも備え得る。一般に、「出力デバイス」という用語の使用は、情報をコンピュータシステム710からユーザまたは別のマシンもしくはコンピュータシステムに出力するためのすべての可能な種類のデバイスおよび方法を含むことが意図されている。
【００９５】
ストレージサブシステム724は、本明細書で説明されているモジュールのうちのいくつかまたはすべての機能を実現するプログラミングおよびデータ構造を記憶する。たとえば、ストレージサブシステム724は、方法500の選択された態様を実行し、および/またはコントローラ602、エンジン152、エンジン154、エンジン162、エンジン164、および/またはエンジン166のうちの1つまたは複数の態様を実装するためのロジック回路を備え得る。ストレージサブシステム724において使用されるメモリ725は、プログラム実行時に命令およびデータを記憶するための主ランダムアクセスメモリ(RAM)730、ならびに固定された命令が記憶されるリードオンリーメモリ(ROM)732を含む多数のメモリを備えることができる。ファイルストレージサブシステム726は、プログラムおよびデータファイル用の永続的記憶域を備えることができ、ハードディスクドライブ、CD-ROMドライブ、光ドライブ、または取り外し可能メディアカートリッジを含み得る。いくつかの実施形態の機能を実装するモジュールは、ファイルストレージサブシステム726によって、ストレージサブシステム724、またはプロセッサ714によってアクセス可能な他のマシン内に記憶され得る。
【００９６】
バスシステム712は、コンピュータシステム710の様々なコンポーネントおよびサブシステムに意図されたとおりに互いに通信させるメカニズムを備える。バスシステム712は、単一のバスとして概略が示されているが、バスシステムの代替的実装では、複数のバスを使用し得る。
【００９７】
コンピュータシステム710は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、スマートフォン、スマートウォッチ、スマートグラス、セットトップボックス、タブレットコンピュータ、ラップトップ、または任意の他のデータ処理システムもしくはコンピューティングデバイスを含む様々な種類のシステムであってよい。コンピュータおよびネットワークはその性質上絶えず変化し続けるので、図7に示されているコンピュータシステム710の説明は、いくつかの実施形態を例示することを目的とする特定の例としてのみ意図されている。コンピュータシステム710の他の多くの構成は、図7に示されているコンピュータシステムよりも多い、または少ない構成要素を有するものが可能である。
【図１】
2018530089.tif 000003
【図２】
2018530089.tif 000004
【図３】
2018530089.tif 000005
【図４Ａ】
2018530089.tif 000006
【図４Ｂ】
2018530089.tif 000007
【図４Ｃ】
2018530089.tif 000008
【図５】
2018530089.tif 000009
【図６】
2018530089.tif 000010
【図７】
2018530089.tif 000011
【国際調査報告】
2018530089.tif 000012
2018530089.tif 000013
2018530089.tif 000014