(58)【調査した分野】(Int.Cl.,DB名)
前記制御ユニットが前記オブジェクトハンドリング方策を生成することは、重量閾値を上回るオブジェクト重量の前記オブジェクトエントリ特性にしたがって、速度、加速率、またはそれらの組み合わせを制限するオブジェクトハンドリング方策を生成することを含む、請求項1に記載のロボットシステム。
前記制御ユニットが前記オブジェクトハンドリング方策を生成することは、オブジェクト剛性の前記オブジェクトエントリ特性にしたがって、前記オブジェクトハンドリングユニットによって前記対象オブジェクトに加えられる把持圧力を制限するオブジェクトハンドリング方策を生成することを含む、請求項1に記載のロボットシステム。
前記制御ユニットが前記オブジェクトハンドリング方策を生成することは、変形モードの前記オブジェクトエントリ特性にしたがって、前記対象オブジェクトの形状変形を最小限とするように前記対象オブジェクト上の把持位置を決定するオブジェクトハンドリング方策を生成することを含む、請求項1に記載のロボットシステム。
前記制御ユニットが前記オブジェクトハンドリング方策を生成することは、変形度の前記オブジェクトエントリ特性にしたがって、前記対象オブジェクトの予測される伸びの量に対応するように、前記対象オブジェクトを前記オブジェクト供給源から持ち上げる量を増大するオブジェクトハンドリング方策を生成することを含む、請求項1に記載のロボットシステム。
前記制御ユニットは、前記オブジェクトエントリ特性と前記対象オブジェクトの前記検出可能オブジェクト特性との間に不整合が検出されたときに、エラー検出プロトコルを実施するように構成される、請求項1に記載のロボットシステム。
前記制御ユニットは、前記対象オブジェクトを前記オブジェクト供給源から作業場所に移送するための作業モーションプランを生成するように構成される、請求項1に記載のロボットシステム。
前記オブジェクトハンドリング方策を生成することは、重量閾値を上回るオブジェクト重量の前記オブジェクトエントリ特性にしたがって、速度、加速率、またはそれらの組み合わせを制限するオブジェクトハンドリング方策を生成することを含む、請求項8に記載の方法。
前記オブジェクトハンドリング方策を生成することは、オブジェクト剛性の前記オブジェクトエントリ特性にしたがって、前記オブジェクトハンドリングユニットによって前記対象オブジェクトに加えられる把持圧力を制限するオブジェクトハンドリング方策を生成することを含む、請求項8に記載の方法。
前記オブジェクトハンドリング方策を生成することは、変形モードの前記オブジェクトエントリ特性にしたがって、前記対象オブジェクトの形状変形を最小限とするように前記対象オブジェクト上の把持位置を決定するオブジェクトハンドリング方策を生成することを含む、請求項8に記載の方法。
前記オブジェクトハンドリング方策を生成することは、変形度の前記オブジェクトエントリ特性にしたがって、前記対象オブジェクトの予測される伸びの量に対応するように、前記対象オブジェクトを前記オブジェクト供給源から持ち上げる量を増大するオブジェクトハンドリング方策を生成することを含む、請求項8に記載の方法。
前記オブジェクトエントリ特性と前記対象オブジェクトの前記検出可能オブジェクト特性との間に不整合が検出されたときに、エラー検出プロトコルを実施することをさらに含む、請求項8に記載の方法。
前記オブジェクトハンドリング方策を生成することは、重量閾値を上回るオブジェクト重量の前記オブジェクトエントリ特性にしたがって、速度、加速率、またはそれらの組み合わせを制限するオブジェクトハンドリング方策を生成することを含む、請求項15に記載の非一時的コンピュータ可読媒体。
前記オブジェクトハンドリング方策を生成することは、オブジェクト剛性の前記オブジェクトエントリ特性にしたがって、前記オブジェクトハンドリングユニットによって前記対象オブジェクトに加えられる把持圧力を制限するオブジェクトハンドリング方策を生成することを含む、請求項15に記載の非一時的コンピュータ可読媒体。
前記オブジェクトハンドリング方策を生成することは、変形モードの前記オブジェクトエントリ特性にしたがって、前記対象オブジェクトの形状変形を最小限とするように前記対象オブジェクト上の把持位置を決定するオブジェクトハンドリング方策を生成することを含む、請求項15に記載の非一時的コンピュータ可読媒体。
前記オブジェクトハンドリング方策を生成することは、変形度の前記オブジェクトエントリ特性にしたがって、前記対象オブジェクトの予測される伸びの量に対応するように、前記対象オブジェクトを前記オブジェクト供給源から持ち上げる量を増大するオブジェクトハンドリング方策を生成することを含む、請求項15に記載の非一時的コンピュータ可読媒体。
前記オブジェクトエントリ特性と前記対象オブジェクトの前記検出可能オブジェクト特性との間に不整合が検出されたときに、エラー検出プロトコルを実施することをさらに含む、請求項15に記載の非一時的コンピュータ可読媒体。
【発明を実施するための形態】
【0011】
[0016] 以下の説明には、ここに開示する技術を完全に理解できるように、無数の具体的な詳細が記載される。他の実施形態では、これらの具体的な詳細を除いて、本明細書で紹介する技術を実施してもよい。他の例では、本開示を不必要に曖昧にしないよう、具体的な機能またはルーチンなどの周知の特色は詳細に説明されない。本明細書における「ある実施形態」、「一実施形態」などへの言及は、説明されている特定の特色、構造、材料、または特徴が、本開示の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書においてそのような文言が記載されていても、必ずしも全てが同一の実施形態を指しているわけではない。一方、そのような言及は、必ずしも互いに排他的なわけでもない。さらに、特定の特色、構造、材料、または特徴は、1つまたは複数の実施形態において、任意の適切な方法で組み合わせることができる。
【0012】
[0017] 図に示す様々な実施形態は、単なる例示的な記述であることが理解されるべきである。さらに、システムの実施形態を示す図面は、半図式的であり、正確な縮尺ではなく、特に、寸法の一部は表示を明確にするためのものであり、図面中で誇張して示されている。同様に、図面内の図は、説明し易くするために概ね同様の向きを示しているが、この図における描写は、大部分において恣意的なものである。通常、本発明は任意の向きで動作することができる。
【0013】
[0018] よく知られており、ロボットシステムおよびサブシステムにしばしば関連付けられるものの、開示される技術のいくつかの重要な態様を不必要に曖昧にし得る構造またはプロセスについては、それらを説明するいくつかの詳細は、分かり易さのために以下の説明において記載しない。さらに、以下の開示において、本技術の異なる態様のいくつかの実施形態を記載するが、他のいくつかの実施形態は、本セクションで説明するものとは異なる構成または異なる構成要素を有してよい。したがって、開示される技術は、追加の要素を伴うか、または以下に説明する要素のうちのいくつかを伴わない、他の実施形態を有してよい。
【0014】
[0019] 以下に説明する本開示の多くの実施形態または態様は、プログラム可能コンピュータまたはプログラム可能コントローラによって実行されるルーチンを含む、コンピュータ実行可能命令またはコントローラ実行可能命令の形を取ることができる。開示される技術が、以下に図示および説明されるもの以外のコンピュータシステムまたはコントローラシステム上でも実施できることを、当業者は理解するであろう。本明細書で説明する技術は、以下に説明するコンピュータ実行可能命令の1つまたは複数を実行するように特にプログラム、構成または構築された、専用のコンピュータまたはデータプロセッサにおいて具現化することができる。したがって、本明細書において一般に用いられる「コンピュータ」および「コントローラ」という用語は、任意のデータプロセッサを指し、パームトップ型コンピュータ、ウェアラブルコンピュータ、セルラまたは携帯電話、マルチプロセッサシステム、プロセッサベースまたはプログラム可能大衆消費電子製品、ネットワークコンピュータ、ミニコンピュータなどを含む、インターネット機器およびハンドヘルドデバイスを含んでよい。これらのコンピュータおよびコントローラによってハンドリングされる情報は、液晶ディスプレイ(LCD)を含む、任意の適切な表示媒体で提示することができる。コンピュータ実行可能作業またはコントローラ実行可能作業を実行するための命令は、ハードウェア、ファームウェア、またはハードウェアとファームウェアの組み合わせを含む、任意の適切なコンピュータ可読媒体内または任意の適切なコンピュータ可読媒体上に格納することができる。命令は、例えばフラッシュドライブ、USBデバイス、および/または他の適切な媒体などを含む、任意の適切なメモリデバイスに収容することができる。
【0015】
[0020] 本明細書において、「結合された」および「接続された」という用語は、その派生形と共に、構成要素間の構造的関係を説明するために使用されることがある。これらの用語は、互いに同義語として用いられていないことを理解されたい。むしろ、特定の実施形態では、「接続された」は、2つ以上の要素が互いに直接接触していることを示すために使用されることがある。文脈の中で別段の明記がない限り、「結合された」という用語は、2つ以上の要素が互いに直接的または(間に他の介在要素を伴って)間接的に接触していること、あるいは(例えば、信号の送信/受信のため、または関数呼び出しのためなどの、因果関係のように)2つ以上の要素が互いに協働または相互作用すること、あるいはその両方を指すために使用されることがある。
【0016】
[0021] 以下の実施形態は、当業者が本発明を実施および使用できるように十分詳細に説明される。他の実施形態は本開示に基づいて明らかになること、および、本発明の実施形態の範囲を逸脱することなく、システム変更、プロセス変更、または機械的変更を加えてよいことが理解されるべきである。
【0017】
[0022] 次に
図1を参照すると、オブジェクトハンドリングメカニズムを有するロボットシステム100が動作できる例示的環境が示されている。ロボットシステム100の動作環境は、ロボットまたはロボットデバイスなど、1つまたは複数の作業を実行するように構成された1つまたは複数の構造を含んでよい。オブジェクトハンドリングメカニズムの態様は、様々な構造によって実施または実装することができる。
【0018】
[0023]
図1に示す例において、ロボットシステム100は、倉庫、配送センター、または出荷ハブ内で、荷下ろしユニット102、移送ユニット104、搬送ユニット106、荷積みユニット108、またはそれらの組み合わせを含むことができる。ロボットシステム100内のユニットのそれぞれは、1つまたは複数の作業を実行するように構成することができる。例えば、倉庫に格納するために、トラック、トレーラー、バン、または列車の車両などの車両からオブジェクトを下ろすこと、あるいは出荷のために、格納位置からオブジェクトを下ろして車両に積み込むことなどの目標を達成する動作を実施するように、作業は順番に組み合わせることができる。他の例では、作業は、コンテナ、大箱、ケージ、バスケット、棚、台、パレット、またはコンベヤベルトなどの1つの場所から、別の場所へオブジェクトを移動することを含んでよい。ユニットのそれぞれは、その中の1つまたは複数の構成要素を動作させるなどの一連のアクションを実行して、作業を実行するように構成することができる。
【0019】
[0024] いくつかの実施形態において、作業は、対象オブジェクト112との相互作用、例えば、オブジェクトの操作、移動、再配向、またはそれらの組み合わせを含むことができる。対象オブジェクト112は、ロボットシステム100によってハンドリングされることとなるオブジェクトである。より具体的には、対象オブジェクト112は、多くのオブジェクトのうち、ロボットシステム100による動作または作業の対象である特定のオブジェクトであってよい。例えば、対象オブジェクト112は、ロボットシステム100が選択したオブジェクトであってもよいし、または現在ハンドリング、操作、移動、再配向、またはそれらの組み合わせが行われているオブジェクトであってもよい。対象オブジェクト112は、例えば、箱、ケース、管、包装容器、バンドル、個々の物品を取り合わせたもの、または、ロボットシステム100によってハンドリングすることができるその他の任意のオブジェクトを含み得る。
【0020】
[0025] 一例として、作業は、対象オブジェクト112をオブジェクト供給源114から作業場所116に移送することを含んでよい。オブジェクト供給源114は、オブジェクト格納のための入れ物である。オブジェクト供給源114は、無数の構成および形状を含んでよい。例えば、オブジェクト供給源114は、パレット、棚、またはコンベヤベルトなどの、オブジェクトを上に配置または積み重ねることができる台としてよく、壁はあってもなくてもよい。別の例としては、オブジェクト供給源114は、壁または蓋を有しオブジェクトを中に載置することができる、大箱、ケージ、またはバスケットなどの、部分的または完全に閉鎖された入れ物としてもよい。いくつかの実施形態では、中に収容されたオブジェクトの一部分が壁を通して見えるか、または部分的に見えるように、部分的または完全に閉鎖されたオブジェクト供給源114の壁を透明にしてもよいし、または様々なサイズの開口または間隙を含むようにしてもよい。
【0021】
[0026]
図1に、対象オブジェクト112をハンドリングする際にロボットシステム100の様々なユニットによって実施することができる、想定される機能および動作の例を示すが、環境および条件は、以下に説明されるものと異なってもよいことが理解される。例えば、荷下ろしユニット102は、トラックなどの運搬車内のある場所から、コンベヤベルト上のある場所に対象オブジェクト112を移送するように構成された、車両荷下ろしロボットとしてもよい。また、パレタイジングロボットなどの移送ユニット104は、例えば対象オブジェクト112を搬送ユニット106上のパレットに載せる目的などで、コンベヤベルト上のある場所から搬送ユニット106上のある場所に、対象オブジェクト112を移送するように構成してもよい。他の例では、移送ユニット104は、対象オブジェクト112を1つのコンテナから別のコンテナに移送するように構成された、ピースピッキングロボットとしてもよい。動作を完了させる際、搬送ユニット106は、移送ユニット104に関連付けられたエリアから荷積みユニット108に関連付けられたエリアに対象オブジェクト112を移送することができ、荷積みユニット108は、対象オブジェクト112を載せたパレットを移動することなどにより、移送ユニット104から、棚上のある場所などの格納場所に、対象オブジェクト112を移送することができる。作業および関連するアクションに関する詳細は後述する。
【0022】
[0027] 例示のために、出荷センターの文脈でロボットシステム100について説明するが、ロボットシステム100は、例えば製造、組立て、包装、ヘルスケア、または他のタイプの自動化など、他の環境で、または他の目的のために作業を実行するように構成してもよいことが理解される。また、ロボットシステム100は、マニピュレータ、サービスロボット、モジュール式ロボットなどの、
図1に示されていない他のユニットを含んでよいことも理解される。例えば、いくつかの実施形態では、ロボットシステム100は、ケージ、カート、またはパレットから、コンベヤまたは他のパレット上にオブジェクトを移送するためのデパレタイジングユニット、1つのコンテナから他のコンテナにオブジェクトを移送するためのコンテナ切替えユニット、オブジェクトをラッピングするための包装ユニット、オブジェクトの1つまたは複数の特徴にしたがってオブジェクトをグルーピングするための仕分けユニット、オブジェクトの1つまたは複数の特徴にしたがって、仕分け、グルーピング、および/または移送など、オブジェクトを様々に操作するためのピースピッキングユニット、あるいはそれらの組み合わせを含むことができる。
【0023】
[0028] 次に
図2を参照すると、本発明の1つまたは複数の実施形態によるロボットシステム100を示すブロック図が示されている。いくつかの実施形態では、例えば、ロボットシステム100は、電子デバイス、電気デバイス、またはそれらの組み合わせ、例えば、互いに結合されているか、上記
図1に記載のユニットまたはロボットの1つまたは複数と一体化または結合されているか、あるいはそれらの組み合わせである、制御ユニット202、ストレージユニット204、通信ユニット206、システムインターフェース208、1つまたは複数の作動デバイス212、1つまたは複数の搬送モータ214、1つまたは複数のセンサユニット216、あるいはそれらの組み合わせなどを含んでよい。
【0024】
[0029] 制御ユニット202は、多くの異なる形で実装することができる。例えば、制御ユニット202は、プロセッサ、特定用途向け集積回路(ASIC)、組込みプロセッサ、マイクロプロセッサ、ハードウェア制御論理回路、ハードウェア有限状態機械(FSM)、デジタル信号プロセッサ(DSP)、またはそれらの組み合わせであってよい。制御ユニット202は、ソフトウェア210を実行して、ロボットシステム100の知能を提供することができる。
【0025】
[0030] 制御ユニット202は、制御インターフェース240を含むことができる。制御インターフェース240は、制御ユニット202と、ロボットシステム100内の他の機能ユニットとの間の通信のために使用することができる。制御インターフェース240はまた、ロボットシステム100の外部の通信のためにも使用することができる。制御インターフェース240は、他の機能ユニットまたは外部ソースから情報を受け取ることができるか、あるいは他の機能ユニットまたは外部の宛先に情報を送信することができる。外部ソースおよび外部の宛先は、ロボットシステム100の外部のソースおよび宛先を指す。
【0026】
[0031] 制御インターフェース240は、どの機能ユニットまたは外部ユニットが制御インターフェース240とインターフェースをとっているかによって、異なる方法で実装することができ、異なる実装形態を含むことができる。例えば、制御インターフェース240は、圧力センサ、慣性センサ、微小電子機械システム(MEMS)、光回路、導波路、無線回路、ワイヤライン回路、アプリケーションプログラミングインターフェース、またはそれらの組み合わせによって実装することができる。
【0027】
[0032] ストレージユニット204は、ソフトウェア210、マスタデータ246、またはそれらの組み合わせを格納することができる。例示のために、ストレージユニット204は単一の要素として示されているが、ストレージユニット204は、複数のストレージ要素の分散としてもよいことが理解される。やはり例示のために、ロボットシステム100は、単一の階層ストレージシステムとしてのストレージユニット204を有するものとして示されているが、ロボットシステム100は、異なる構成のストレージユニット204を有してもよいことが理解される。例えば、ストレージユニット204は、異なるレベルのキャッシング、主メモリ、回転媒体、またはオフラインストレージを含むメモリ階層システムを形成する、異なるストレージ技術で形成することもできる。
【0028】
[0033] ストレージユニット204は、揮発性メモリ、不揮発性メモリ、内部メモリ、外部メモリ、またはそれらの組み合わせであってよい。例えば、ストレージユニット204は、不揮発性ランダムアクセスメモリ(NVRAM)、フラッシュメモリ、ディスクストレージなどの不揮発性ストレージ、またはスタティックランダムアクセスメモリ(SRAM)などの揮発性ストレージであってよい。さらなる例として、ストレージユニット204は、ハードディスクドライブ、NVRAM、ソリッドステートストレージデバイス(SSD)、コンパクトディスク(CD)、デジタルビデオディスク(DVD)、またはユニバーサルシリアルバス(USB)フラッシュメモリデバイスなどの不揮発性メモリを含む、非一時的コンピュータ媒体であってもよい。ソフトウェア210は、制御ユニット202によって実行されるように、非一時的コンピュータ可読媒体に格納することができる。
【0029】
[0034] ストレージユニット204は、制御インターフェース240を含むことができる。制御インターフェース240は、ストレージユニット204と、ロボットシステム100内の他の機能ユニットとの間の通信のために使用することができる。制御インターフェース240はまた、ロボットシステム100の外部の通信のためにも使用することができる。制御インターフェース240は、他の機能ユニットまたは外部ソースから情報を受け取ることができるか、あるいは他の機能ユニットまたは外部の宛先に情報を送信することができる。外部ソースおよび外部の宛先は、ロボットシステム100の外部のソースおよび宛先を指す。
【0030】
[0035] 制御インターフェース240は、どの機能ユニットまたは外部ユニットがストレージユニット204とインターフェースをとっているかによって、異なる実装形態を含むことができる。制御インターフェース240は、制御インターフェース240の実装形態と同様の技術および技法により実装することができる。
【0031】
[0036] 一実施形態では、ストレージユニット204を使用して、処理結果、所定のデータ、閾値、またはそれらの組み合わせをさらに格納し、かつそれらへのアクセスを提供することができる。例えば、ストレージユニット204は、1つまたは複数の対象オブジェクト104の説明、例えば、箱、箱のタイプ、ケース、ケースのタイプ、製品、またはそれらの組み合わせなどを含む、マスタデータ246を格納することができる。一実施形態において、マスタデータ246は、ロボットシステム100によって操作されることが予測される1つまたは複数の対象オブジェクト104に関する、寸法、形状(例えば、あり得る姿勢に関するテンプレート、または異なる姿勢の1つまたは複数の対象オブジェクト104を認識するためのコンピュータ生成モデル)、配色、画像、識別情報(例えば、バーコード、クイックレスポンス(QR)コード(登録商標)、ロゴ)、予測される場所、予測される重量、またはそれらの組み合わせを含むことができる。
【0032】
[0037] 一実施形態では、マスタデータ246は、ロボットシステム100が出くわすまたはハンドリングし得る1つまたは複数のオブジェクトに関する操作関連情報をさらに含んでよい。例えば、オブジェクトに関する操作関連情報は、オブジェクトのそれぞれの質量中心位置、1つまたは複数のアクション、操作に対応する、例えば力、トルク、圧力、または接触測定値などに関する予測されるセンサ測定値、あるいはそれらの組み合わせを含んでよい。
【0033】
[0038] 通信ユニット206は、ロボットシステム100への外部通信およびロボットシステム100からの外部通信を可能にすることができる。例えば、通信ユニット206は、ロボットシステム100が、有線または無線ネットワークなどの通信経路218を介して、他のロボットシステムまたはユニット、外部コンピュータ、外部データベース、外部機械、外部周辺デバイスなどの外部デバイス、あるいはそれらの組み合わせと通信することを可能にすることができる。
【0034】
[0039] 通信経路218は、様々なネットワークおよびネットワークトポロジにわたってよく、それらを表してよい。例えば、通信経路218は、無線通信、有線通信、光通信、超音波通信、またはそれらの組み合わせを含んでよい。例えば、衛星通信、セルラ通信、Bluetooth(登録商標)、赤外線データ協会標準(IrDA)、ワイヤレスフィデリティ(WiFi)、およびマイクロ波アクセスのための世界相互運用性(WiMAX)は、通信経路218に含まれ得る無線通信の例である。ケーブル、イーサネット、デジタル加入者回線(DSL)、光ファイバ線、ファイバトゥザホーム(FTTH)、および単純旧式電話サービス(POTS)は、通信経路218に含まれ得る有線通信の例である。さらに、通信経路218は、多くのネットワークトポロジおよび距離を通ってよい。例えば、通信経路218は、直接接続、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、メトロポリタンエリアネットワーク(MAN)、ワイドエリアネットワーク(WAN)、またはそれらの組み合わせを含むことができる。ロボットシステム100は、通信経路218を介して、様々なユニット間で情報を送信することができる。例えば、制御ユニット202、ストレージユニット204、通信ユニット206、システムインターフェース208、作動デバイス212、搬送モータ214、センサユニット216、またはそれらの組み合わせの間で、情報を送信することができる。
【0035】
[0040] 通信ユニット206は、ロボットシステム100が通信経路218の一部として機能することを可能にし、かつ通信経路218のエンドポイントまたは端末ユニットに限定されない、通信ハブとしても機能することができる。通信ユニット206は、通信経路218との相互作用のための、マイクロエレクトロニクスまたはアンテナなどの能動および受動部品を含んでよい。
【0036】
[0041] 通信ユニット206は、通信インターフェース248を含んでよい。通信インターフェース248は、通信ユニット206と、ロボットシステム100内の他の機能ユニットとの間の通信のために使用することができる。通信インターフェース248は、他の機能ユニットまたは外部ソースから情報を受け取ることができるか、あるいは他の機能ユニットまたは外部の宛先に情報を送信することができる。外部ソースおよび外部の宛先は、ロボットシステム100の外部のソースおよび宛先を指す。
【0037】
[0042] 通信インターフェース248は、どの機能ユニットが通信ユニット206とインターフェースをとっているかによって、異なる実装形態を含むことができる。通信インターフェース248は、制御インターフェース240の実装形態と同様の技術および技法により実装することができる。
【0038】
[0043] ユーザインターフェース216は、入力デバイスおよび出力デバイスを含むことができる。ユーザインターフェース216の入力デバイスの例には、キーパッド、タッチパッド、ソフトキー、キーボード、マイクロフォン、遠隔信号を受信するためのセンサ、モーションコマンドを受信するためのカメラ、またはそれらの任意の組み合わせが含まれてよく、データおよび通信の入力を提供することができる。出力デバイスの例には、ディスプレイインターフェース250が含まれ得る。ディスプレイインターフェース250は、ディスプレイ、プロジェクタ、ビデオスクリーン、またはそれらの任意の組み合わせなどの、任意のグラフィカルユーザインターフェースとすることができる。
【0039】
[0044] 制御ユニット202は、ロボットシステム100によって生成された情報を提示または受信するように、ユーザインターフェース216を動作させることができる。制御ユニット202は、ロボットシステム100によって生成された情報を提示するようにユーザインターフェース216を動作させることができる。制御ユニット202は、ロボットシステム100の他の機能のためにソフトウェア210を実行することもできる。制御ユニットはさらに、通信ユニット206を介して通信経路218と相互作用するためにソフトウェア210を実行することができる。
【0040】
[0045] ロボットシステム100は、ロボットマニピュレータアームなどの物理的または構造的部材を含んでよく、それらは回転変位、並進変位、またはそれらの組み合わせなどの動きのために、関節で接続される。構造的部材および関節は、グリッパなどのエンドエフェクタを操作するように構成された運動連鎖を形成することができ、ロボットシステム100の用途または動作に応じて、把持、スピン、または溶接などの1つまたは複数の作業を実行することができる。ロボットシステム100は、対応する関節の周りで、または対応する関節において、構造的部材の駆動、操作、変位、再配向、またはそれらの組み合わせを行うように構成された、モータ、アクチュエータ、ワイヤ、人工筋肉、電気活性高分子、またはそれらの組み合わせなどの作動デバイス212を含んでよい。いくつかの実施形態において、ロボットシステム100は、対応するユニットを各所に搬送するように構成された搬送モータ214を含んでよい。
【0041】
[0046] ロボットシステム100は、構造的部材を操作するため、またはロボットユニットを搬送するためなどの、作業および動作を実行するために使用される情報を取得するように構成されたセンサユニット216を含むことができる。センサユニット216は、1つまたは複数の構造的部材または関節の状態、条件、場所などの、ロボットシステム100の1つまたは複数の物理的特性、オブジェクトまたは周囲の環境に関する情報、あるいはそれらの組み合わせを検出または測定するように構成されたデバイスを含んでよい。一例として、センサユニット216は、撮像デバイス222、システムセンサ224、接触センサ226、またはそれらの組み合わせを含んでよい。
【0042】
[0047] いくつかの実施形態において、センサユニット216は、1つまたは複数の撮像デバイス222を含んでよい。撮像デバイス222は、周囲の環境を検出するように構成されたデバイスである。例えば、撮像デバイス222は、2次元カメラ、3次元カメラ(いずれも可視および赤外線性能の組み合わせを含むことができる)、ライダ、レーダ、他の測距デバイス、および他の撮像デバイスを含んでよい。撮像デバイス222は、デジタル画像または点群などの、検出された環境の表現を生成することができ、生成された表現は、自動検査、ロボットガイダンス、またはその他のロボットの応用のためのマシン/コンピュータビジョンを実装するために使用される。以下でさらに詳細に説明されるように、ロボットシステム100は、制御ユニット202を介してデジタル画像、点群、またはそれらの組み合わせを処理し、
図1の対象オブジェクト112、対象オブジェクト112の姿勢、またはそれらの組み合わせを識別することができる。対象オブジェクト112を操作するために、ロボットシステム100は、トラックの内部、コンテナの内部、またはコンベヤベルト上のオブジェクトのピックアップ場所などの、指定エリアの画像を取得および分析し、その
図1の対象オブジェクト112およびオブジェクト供給源114を識別することができる。同様に、ロボットシステム100は、コンベヤベルト上にオブジェクトを配置するためのドロップ場所、コンテナの内部にオブジェクトを配置するための場所、または積み重ねるためのパレット上の場所など、別の指定エリアの画像を取得および分析し、
図1の作業場所116を識別することもできる。
【0043】
[0048] いくつかの実施形態において、センサユニット216は、システムセンサ224を含むことができる。システムセンサ224は、ロボットユニットを監視するためのデバイスである。例えば、システムセンサ224は、ロボットアームおよびエンドエフェクタ、ロボットユニットの対応する関節、またはそれらの組み合わせなどの、構造的部材の位置を検出および監視するためのユニットまたはデバイスを含んでよい。さらなる例として、ロボットシステム100は、システムセンサ224を使用して、作業の実行中に、構造的部材および関節の場所、向き、またはそれらの組み合わせを追跡することができる。システムセンサ224の例には、加速度計、ジャイロスコープ、または位置エンコーダが含まれ得る。
【0044】
[0049] いくつかの実施形態において、センサユニット216は、複数の物理的構造または表面間の直接的な接触に関連する特徴を測定するように構成された、圧力センサ、力センサ、ひずみゲージ、圧電抵抗/圧電センサ、容量センサ、弾性抵抗センサ、トルクセンサ、直線力センサ、または他の触覚センサなどの、接触センサ226を含むことができる。例えば、接触センサ226は、エンドエフェクタによる対象オブジェクト112の把持に対応する特徴を測定するか、または対象オブジェクト112の重量を測定することができる。したがって、接触センサ226は、グリッパと対象オブジェクト112の間の接触または取り付けの度合いに対応する、測定された力またはトルクなどの定量化された計測値を表す、接触計測値を出力することができる。例えば、接触計測値は、エンドエフェクタによって対象オブジェクト112に加えられた力に関連する1つまたは複数の力またはトルク読み取り値を含み得る。接触計測値に関する詳細については後述する。
【0045】
[0050] 次に
図3を参照すると、本発明の1つまたは複数の実施形態による、オブジェクト供給源114の供給オブジェクト302の同一性(identity)を決定するときのロボットシステム100の例が示されている。供給オブジェクト302は、
図1に記載のオブジェクト供給源114の構成によると、オブジェクト供給源114内に収容されているか、またはオブジェクト供給源114上にあるオブジェクトの集合である。供給オブジェクト302は、形状、サイズ、色、組成、および内容などの無数の特性が互いに類似または相違する、多種多様の物品またはオブジェクトを取り合わせたものであってよい。例えば、
図3に示すように、供給オブジェクト302は、箱を均等に並べて積み重ねたものから、または、取り合わせた物品をそれぞれ不規則な姿勢で位置決めして無秩序に積み上げたものにわたってよい。供給オブジェクト302は、対象オブジェクト112を含むことができる。また、例示のために、オブジェクト供給源114はパレットとして示されているが、オブジェクト供給源114は、
図1に記載の供給オブジェクト302のための任意の形態の入れ物としてよいことが理解される。例えば、一実施形態において、1つまたは複数の側部、横方向の保持構造、カバー、あるいはそれらの組み合わせを有しない構成の場合、オブジェクト供給源114の供給オブジェクト302は、オブジェクト供給源114上に積み重ねることができる。別の実施形態において、側部、横方向の保持構造、カバー、またはそれらの組み合わせを含む構成の場合、供給オブジェクト114の供給オブジェクト302は、供給オブジェクト114の内部に格納することができる。
【0046】
[0051] 供給オブジェクト302のそれぞれは、オブジェクトセット304に含まれ得る。オブジェクトセット304は、オブジェクトに関する情報の配列である。この情報の配列は、対象オブジェクト112の物理的特徴、属性、および特性を含むことができる。いくつかの実施形態において、オブジェクトセット304は、単一の特性、特徴、または属性、あるいは単一のオブジェクトを説明する特性、特徴、または属性のグループを含むことができる。別の実施形態において、オブジェクトセット304は、オブジェクトセット304内の、同一の形状または同一の表面マーキングを有する供給オブジェクト302の例など、1つまたは複数の特性、特徴、または属性を互いに共有するオブジェクトのグループまたはサブグループであってよい。したがって、単一のオブジェクトがオブジェクトセット304の1つまたは複数の例に含まれてもよいし、オブジェクト供給源302の単一の例がオブジェクトセット302の複数の例に関連付けられてもよい。さらなる実施形態では、オブジェクトセット304は、オブジェクト供給源114の特定の例に関連付けられた供給オブジェクト302のそれぞれの、レジストリであってよい。例えば、供給オブジェクト302のレジストリとしてのオブジェクトセット304は、オブジェクトエントリ306を含むことができる。オブジェクトエントリ306は、供給オブジェクト302の特定の例に対応するデータエントリである。オブジェクトセット304は、オブジェクトエントリ306の1つまたは複数を含んでよく、ここで、オブジェクトエントリ306のそれぞれは、オブジェクト供給源114内に収容されているか、またはオブジェクト供給源114上にある供給オブジェクト302の特定の例に対応する。
【0047】
[0052] オブジェクトエントリ306のそれぞれは、1つまたは複数のオブジェクトエントリ特性308を含むことができる。オブジェクトエントリ特性308は、オブジェクトエントリ306の説明である。より具体的には、オブジェクトエントリ特性308は、オブジェクトエントリ306の物理的特徴、属性、および特性の説明であり得る。オブジェクトエントリ特性308は、オブジェクトエントリ306および対応する供給オブジェクト302の例を説明する多種多様な特性であってよく、バーコードまたはQRコード(登録商標)などの一意の識別子310;製品または物品のタイプなどのオブジェクトカテゴリ;矩形の箱、円筒形の管、または不均一な形状などの、表面輪郭および3次元形状の説明を含み得る、形状プロファイル312;長さ、幅、高さ、直径、またはそれらの組み合わせなどのオブジェクト寸法314;着色、マーキング、画像、ロゴ、およびパターンなどの、表面設計スキーム316;重量の測定値であり、重量配分および質量中心を含み得る、オブジェクト重量318;プラスチック、ボール紙、または金属などの外面材料組成320;オブジェクト表面テクスチャ;オブジェクト剛性322、変形モード324、変形度326、またはそれらの組み合わせを含み得る、変形特徴を含む。
【0048】
[0053] オブジェクト剛性322は、オブジェクトの表面剛性の説明である。より具体的には、オブジェクト剛性322は、圧縮または衝撃を受けたときなど、オブジェクトの表面に圧力が加えられたときにオブジェクトが変形ずる量を説明し得る。
【0049】
[0054] 変形モード324は、オブジェクトに力が加えられたときにオブジェクトの形状がどのように変化するかについての説明である。例えば、変形モード324は、供給オブジェクト302の1つが静止状態から持ち上げられたときに、その形状がどのように変化するかを説明し得る。具体例として、変形モード324は、供給オブジェクト302が静止状態から表面を離れて持ち上げられたときに、そのオブジェクトの一部分がたるむか又は湾曲するかを示し得る。
【0050】
[0055] 変形度326は、オブジェクトに力が加えられたときにオブジェクトが受ける形状変形の量である。例えば、変形度326は、供給オブジェクト302の1つが静止状態から表面を離れて持ち上げられ宙吊りにされたときの、伸びの最大長などの寸法の変化の計測値を含み得る。
【0051】
[0056] いくつかの実施形態では、オブジェクトエントリ特性308は、特性タイプに分類することができる。例えば、オブジェクトエントリ特性308についての特性タイプは、撮像特性および接触特性を含むことができる。撮像特性は、
図2の撮像デバイス222を介して決定し得るオブジェクトエントリ特性308の例である。例えば、撮像タイプ特性は、一意の識別子310、形状プロファイル312、オブジェクト寸法314、表面設計スキーム316、またはそれらの組み合わせを含むことができる。接触特性は、オブジェクト重量318、外面材料組成320、オブジェクト剛性322、またはそれらの組み合わせなど、
図2の接触センサ226を介して決定し得るオブジェクトエントリ特性308の例である。
【0052】
[0057] いくつかの実施形態では、オブジェクトハンドリングユニット328によって作業を実施することができる。オブジェクトハンドリングユニット328は、オブジェクトハンドリング作業を自動化するコマンドを実行するように構成された機械である。例えば、オブジェクトハンドリングユニット328は、パレタイジングロボット、デパレタイジングロボット、あるいは大箱または棚ピッキングロボットなどの、オブジェクトを操作するように構成されたロボットであってよい。さらなる例として、
図1の荷下ろしユニット102、
図1の移送ユニット104、
図1の搬送ユニット106は、オブジェクトハンドリングユニット328の例となり得る。一般的に、オブジェクトハンドリングユニット328は、作業を実施するために、オブジェクト供給源114に隣接して配置することができる。
【0053】
[0058] オブジェクトハンドリングユニット328は、ロボットアーム330に接続されたエンドエフェクタ332を含むことができる。ロボットアーム330は、エンドエフェクタ332を操作するように構成された、構造的部材、部材間の関節、またはそれらの組み合わせを含むことができる。エンドエフェクタ332は、オブジェクトハンドリングユニット328の、オブジェクトに接触するか、オブジェクトを保持するか、またはそれらの組み合わせを行う部分である。例えば、
図3に、対象オブジェクト112を保持するエンドエフェクタ332が例示されている。
【0054】
[0059] エンドエフェクタ332は、ロボットアーム330の構造的部材、ロボットアーム330の関節、またはそれらの組み合わせに接続された、
図2の作動デバイス212を動作させることによって操作することができる。エンドエフェクタ332は、エンドエフェクタ332の1つまたは複数の部分に関連付けられているか、または取り付けられた作動デバイス212の1つまたは複数を動作させることによって、オブジェクトを掴むかまたは解放するように動作することができる。エンドエフェクタ332は、オブジェクトを把持および解放するように構成されたデバイスである把持デバイス334を含むことができ、それによって、エンドエフェクタ332にオブジェクトを固定するか、取り付けるか、またはエンドエフェクタ332からオブジェクトを解放することができる。
【0055】
[0060] いくつかの実施形態において、把持デバイス334は、把持デバイス334とオブジェクトとの間に真空条件を形成および維持することによって実現されるような引力を介してオブジェクトを保持または取り付けるように構成された、収縮または吸引グリッパとすることができる。例えば、把持デバイス334は、対象オブジェクト112の表面に接触し、表面との間の空間内に真空条件を形成/維持するように構成された、1組の吸引カップ336を含むことができる。把持デバイス334がロボットアーム330によって下ろされ、それによって吸引カップ336が対象オブジェクト112の表面に対して押しつけられて対向する表面間のガスが押し出されると、真空条件が生成される。ロボットアーム330が把持デバイス334を持ち上げると、吸引カップ336の内側の空間と周囲環境との間の圧力差によって、対象オブジェクト112を吸引カップ336に取り付けたままにすることができる。したがって、対象オブジェクト112に対する把持デバイス334の把持または取り付けの度合いは、真空条件を正常に生成および保持する吸引カップ336の数に基づくことがある。
【0056】
[0061] いくつかの実施形態において、把持デバイス334は、直接的な衝撃によって対象オブジェクト112を物理的に把持するように構成された衝撃グリッパ(図示せず)とすることができる。例えば、把持デバイス334は、対象オブジェクト112に対して相反する力または圧縮力を加えることに基づいて対象オブジェクト112を把持するように構成された、グリッパジョー(図示せず)を含むことができる。グリッパジョーおよび対象オブジェクト112の接触面間に生じる摩擦に基づいて、対象オブジェクト112を把持することができる。例示のために、把持デバイス334は1組の吸引カップ336として示されているが、把持デバイス334は代替的に衝撃グリッパとしてもよいことが理解される。
【0057】
[0062] オブジェクトハンドリングユニット328は、センサユニット216の1つまたは複数を含むことができる。例えば、撮像デバイス222の1つまたは複数、システムセンサ224の1つまたは複数、接触センサ226の1つまたは複数、あるいはそれらの組み合わせを、オブジェクトハンドリングユニット328に取り付けるか、または一体化させることができる。いくつかの実施形態では、撮像デバイス222の例をエンドエフェクタ332に取り付けて、エンドエフェクタ332の視点からの撮像情報を提供することができる。いくつかの実施形態において、撮像デバイス222は、バーコードスキャナまたはQRコードスキャナなど、対象オブジェクト112の一意の識別子をスキャンできるオブジェクトスキャナとして機能するように構成することができる。
【0058】
[0063] いくつかの実施形態において、オブジェクトハンドリングユニット328は、ロボットアーム330の構造的部材および関節、エンドエフェクタ332、またはそれらの組み合わせなどの、オブジェクトハンドリングユニット328の様々な構成要素に取り付けられるか、またはそれらと一体化した、
図2のシステムセンサ224を含むことができる。例えば、システムセンサ224は、位置を検出して、ロボットアーム330、エンドエフェクタ332、またはそれらの組み合わせの場所および向きを追跡するように構成することができる。
【0059】
[0064] いくつかの実施形態において、オブジェクトハンドリングユニット328は、把持デバイス334に取り付けられるか、または把持デバイス334と一体化した、力センサ、圧力センサ、トルクセンサ、および/またはその他の触覚センサなどの、
図2の接触センサ226を含むことができる。例えば、接触センサ226は、検知した表面が別の表面と接触しているかどうかを示すように構成され、かつ/または別の表面に接触している表面積のサイズを決定するように構成された、接触覚センサまたは触覚センサを含み得る。別の例において、接触センサ226は、吸引カップ336の内側の、真空条件などの圧力を測定するように構成された圧力センサを含み得る。さらなる例において、接触センサは、破線矢印で示されるように、把持デバイス334によって運搬または支持される対象オブジェクト112の重量を測定するように構成された直線力センサを含み得る。さらに別の例において、接触センサ226は、把持デバイス334、ロボットアーム330、またはそれらの組み合わせに対するトルクを測定するように構成されたトルクセンサを含み得る。
【0060】
[0065] いくつかの実施形態において、ロボットシステム100は、オブジェクト供給源114の周囲に位置決めされた撮像デバイス222の1つまたは複数を含むことができる。例えば、撮像デバイス222は、オブジェクト供給源114またはオブジェクト供給源114を含むエリアに向けることができる。いくつかの実施形態では、撮像デバイス222は、対象オブジェクト112の一意の識別子310をスキャンすることができる、バーコードスキャナまたはQRコードスキャナなどのオブジェクトスキャナとして機能するように構成することができる。
【0061】
[0066] ロボットシステム100は、撮像デバイス222、システムセンサ224、接触センサ226、またはそれらの組み合わせを含む、センサユニット216の1つまたは複数を含むか、利用するか、またはそれらの組み合わせを行い、オブジェクト供給源114、供給オブジェクト302、またはそれらの組み合わせに関するセンサ情報340を生成することができる。例えば、センサ情報340は、オブジェクト供給源114、供給オブジェクト302、またはそれらの組み合わせに関する撮像センサ情報342、接触センサ情報344、またはそれらの組み合わせを含むことができる。撮像センサ情報342の例には、オブジェクト供給源114の取得された画像または点群/距離画像などの、撮像データが含まれ得る。接触センサ情報344の例には、圧力測定値、力測定値、トルク測定値、またはそれらの組み合わせが含まれ得る。
【0062】
[0067] 一般的に、ロボットシステム100は、オブジェクト供給源114が最初にロボットシステム100に対して提示されたときなど、最初は特定のオブジェクト供給源114に関する供給オブジェクト302の同一性(アイデンティティ)についての知識を有しない。より具体的には、ロボットシステム100は、供給オブジェクト302のどの例が、登録済みのオブジェクト306の特定の例に対応するのかについて、知識を有しない。ロボットシステム100は、センサ情報340を分析して、供給オブジェクト302から検出可能供給オブジェクト350を識別することができる。検出可能供給オブジェクト350は、センサユニット216が供給オブジェクト302に関する情報を収集することができるように、オブジェクト供給源114内またはオブジェクト供給源114上に位置決めされた、供給オブジェクト302の例である。より具体的には、検出可能供給オブジェクト350は、オブジェクトハンドリングユニット328のセンサユニット216を含む部分によって接触し得るか、センサユニット216の視程または視野内にあるか、あるいはそれらの組み合わせの、供給オブジェクト302の例である。例えば、検出可能供給オブジェクト350は、オブジェクト供給源114上またはオブジェクト供給源114内で、外側に配置されるかまたは並べられた供給オブジェクト302の例であり得る。
図3に例示するように、「II、IV、V、およびVI」とラベリングされた供給オブジェクト302は、撮像デバイス222によって認識可能なため、検出可能供給オブジェクト302となり得るが、一方で「VII」および「VIII」とラベリングされた供給オブジェクト302は、供給オブジェクト302の他の例によって遮られているため、撮像デバイスによって認識可能ではない。以下に、検出可能供給オブジェクト350の識別に関する詳細を説明する。
【0063】
[0068] ロボットシステム100は、センサ情報340を分析して、検出可能供給オブジェクト350に関する1つまたは複数の検出可能オブジェクト特性352を識別することができる。一般的に、検出可能オブジェクト特性352は、センサ情報340の分析を通して導かれた検出可能供給オブジェクト350の物理的組成に関する情報であり得る。例えば、検出可能オブジェクト特性352は、撮像特性354、接触特性356、またはそれらの組み合わせを含み得る。
【0064】
[0069] 撮像特性354は、検出可能供給オブジェクト350の、撮像センサ情報342から導かれた特性である。例えば、撮像特性354は、一意の識別子310、形状プロファイル312、オブジェクト寸法314、表面設計スキーム316、オブジェクト供給源114上またはオブジェクト供給源114内の検出可能供給オブジェクト350の場所または相対的位置、検出可能供給オブジェクト350の姿勢、あるいはそれらの組み合わせを含み得る。
【0065】
[0070] 接触特性356は、検出可能供給オブジェクト350の、接触センサ情報344から導かれた特性である。検出可能供給オブジェクト302の例には、オブジェクト剛性322、外面材料組成320、オブジェクト表面テクスチャ、オブジェクト重量318、質量中心、またはそれらの組み合わせが含まれ得る。
【0066】
[0071] 一般的に、検出可能オブジェクト特性352のみに基づく検出可能供給オブジェクト350の識別によって得られる結果は、不確かかつ不正確であり得る。さらに、検出可能供給オブジェクト350のそれぞれに関する、限られた数の利用可能な検出可能オブジェクト特性352の例を、ロボットシステム100によってハンドリングされる可能性のある全てのオブジェクトのマスタリストに一致させることは、時間および処理資源を非効率に消費するおそれがある。
【0067】
[0072] そのため、ロボットシステム100は、オブジェクトセット304に基づいて、検出可能供給オブジェクト350に関するオブジェクト同一性推定360を生成することができる。オブジェクト同一性推定360は、検出可能供給オブジェクト350がどのオブジェクトエントリ306であり得るのかについての推定である。例えば、オブジェクト同一性推定360は、検出可能供給オブジェクト350が該当する可能性が最も高いオブジェクトエントリ306の指標を含むことができる。オブジェクトセット304を使用してオブジェクト同一性推定360を生成することにより、検出可能供給オブジェクト350のそれぞれについて可能性のある同一性(アイデンティティ)を、オブジェクトのマスタリスト内の可能性のある全てのオブジェクトから、オブジェクトセット304のオブジェクトエントリ306のみに限定することによって、検出可能供給オブジェクト350を識別する効率および速度が向上することが分かっている。例えば、いくつかの実装形態において、ロボットシステム100は、検出可能オブジェクト特性352およびオブジェクトセット304、より具体的には、オブジェクトセット304内のオブジェクトエントリ306のオブジェクトエントリ特性308に基づいて、オブジェクト同一性推定360を生成することができる。具体例として、検出可能オブジェクト特性352の1つまたは複数がオブジェクトエントリ特性308の1つまたは複数と一致したとき、検出可能供給オブジェクト350の1つに関するオブジェクト同一性推定360は、オブジェクトエントリ306の1つに対応し得る。したがって、オブジェクトセット304のオブジェクトエントリ306に基づいて検出可能供給オブジェクト350を識別することができるロボットシステム100は、各検出可能供給オブジェクト350について可能性のある同一性(アイデンティティ)の数を限定することによって、動作の効率、速度および正確性を向上できることが分かっている。
【0068】
[0073] いくつかの状況では、検出可能オブジェクト特性352の識別された数およびオブジェクトエントリ特性308の数に応じて、検出可能供給オブジェクト350は、潜在的に、2つ以上のオブジェクト同一性推定360の例を含むことがあり、これは、オブジェクトエントリ306の複数の例との一致を示す。これらの状況では、検出可能供給オブジェクト350のオブジェクト同一性推定360がオブジェクトエントリ306の1つに対応する度合いを、オブジェクト一致確率362によって示すことができる。オブジェクト一致確率362は、オブジェクト同一性推定360の確度の計測値である。より具体的には、オブジェクト一致確率362は、検出可能オブジェクト特性352とオブジェクトエントリ特性308との間の相関の確実性の計測値であり得る。例えば、オブジェクト一致確率362の値が高いことは、オブジェクト同一性推定360の確実性が高いことと相関する。
【0069】
[0074] いくつかの実施形態において、オブジェクト一致確率362は、検出可能供給オブジェクト350とオブジェクトエントリ特性308との間の特性相関364に基づいて算出することができる。特性相関364は、検出可能供給オブジェクト350の1つに関する検出可能オブジェクト特性352の特定の例が、オブジェクトエントリ306の1つに関するオブジェクトエントリ特性308の対応する例と一致するかどうかについての指標である。一般的に、検出可能オブジェクト特性352の1つに関する特性相関364は、検出可能オブジェクト特性352がオブジェクトエントリ特性308の対応する例と一致する場合はポジティブであると決定することができ、検出可能オブジェクト特性352がオブジェクトエントリ特性308の対応する例に一致しない場合はネガティブであると決定することができる。具体例として、特性相関364は、検出可能供給オブジェクト350の検出可能オブジェクト特性352とオブジェクトエントリ306のオブジェクトエントリ特性308が共に箱である場合、形状プロファイル312に関して一致を示すことができる。
【0070】
[0075] いくつかの実施形態では、ロボットシステム100は、検出可能供給オブジェクト350についてオブジェクト一致確率362を算出して、オブジェクトエントリ特性308の1つまたは複数について一意性を考慮することができる。例えば、一意の識別子310は、ロボットシステム100が供給オブジェクト302の1つを供給オブジェクト302の他の例から区別できるようにし得る、高度な一意性をもたらすオブジェクトエントリ特性308の例である。反対に、例えば、オブジェクトエントリ306のそれぞれが箱という形状プロファイル312を含む場合、形状プロファイル312というオブジェクトエントリ特性308は、一意性が低くなる。さらなる例として、ロボットシステム100は、オブジェクトエントリ特性308のグループまたは組み合わせの一意性を考慮することができる。例えば、オブジェクトエントリ306のそれぞれが箱という形状プロファイル312を含む場合、オブジェクト寸法314の組み合わせ、表面設計スキーム316、またはその他のオブジェクトエントリ特性308の例は、オブジェクトエントリ306の1つをオブジェクトエントリ306の別の例から区別するために、組み合わせることができる。
【0071】
[0076] いくつかの状況では、検出可能供給オブジェクト302のそれぞれが、2つ以上のオブジェクトエントリ306に一致することがあり、各一致は、異なる値のオブジェクト一致確率362を有し得る。異なる値のオブジェクト一致確率362は、「II」とラベリングされた検出可能供給オブジェクト350が、オブジェクトセット304内の「オブジェクトB」に対するオブジェクト一致確率362が「10%」であり、オブジェクトセット内の「オブジェクトC」に対するオブジェクト一致確率362が「70%」であると示され、一方で「III」とラベリングされた検出可能供給オブジェクト350は、「オブジェクトB」に対するオブジェクト一致確率362が「60%」であり、「オブジェクトC」については「30%」であると示されていることによって例示される。一般的に、センサユニット216に対する露出またはセンサユニット216による測定などによって、検出可能供給オブジェクト350に関してより多くの検出可能オブジェクト特性352が利用可能になるにつれて、登録済みのオブジェクト304の特定の例に対応するオブジェクト一致確率362は増大することとなる。
【0072】
[0077] ロボットシステム100は、オブジェクトハンドリングユニット328によって実施される作業の対象として、オブジェクト供給源114の検出可能供給オブジェクト350から対象オブジェクト112を選択することができる。例えば、ロボットシステム100は、所定の順序、1組のルール、オブジェクトアウトラインのテンプレート、またはそれらの組み合わせにしたがって、対象オブジェクト112を選択することができる。具体例として、ロボットシステム100は、撮像デバイス222の既知の場所に対する距離および位置を表す点群/距離画像にしたがって、供給オブジェクト302の上部に配置された検出可能供給オブジェクト350の例などの、エンドエフェクタ332がアクセスできる検出可能供給オブジェクト350の例として、対象オブジェクト112を選択することができる。別の具体例において、ロボットシステム100は、角または縁部に配置され、オブジェクトハンドリングユニット328に対して露出しているか、またはオブジェクトハンドリングユニット328がアクセスできる2つ以上の表面を有する検出可能供給オブジェクト350の例として、対象オブジェクト112を選択することができる。さらなる具体例では、ロボットシステム100は、基準位置に対して左から右へ、または最も近くから最も遠くへといった所定のパターンにしたがって、供給オブジェクト302の他の例を妨害または移動することなく、あるいは妨害または移動を最小限にして、対象オブジェクト112を選択することができる。対象オブジェクト112は、検出可能オブジェクト特性352によって説明することができる。
【0073】
[0078] いくつかの実施形態において、ロボットシステム100は、センサ情報340の追加的な例に基づいて、オブジェクト同一性推定360を検証することができる。例えば、ロボットシステム100は、接触センサ情報344を利用して、オブジェクト重量318、オブジェクト剛性322、外面材料組成320、またはそれらの組み合わせなど、撮像デバイス222によって決定することが不可能または非効率である検出可能オブジェクト特性352の例を決定することができる。この例を続けると、ロボットシステム100は、接触センサ情報344に基づく検出可能オブジェクト特性352を使用して、オブジェクト同一性推定360がオブジェクトエントリ306の対応する例として検証または明確に識別される確度まで、オブジェクト一致確率362を上昇させ得る可能性がある。具体例として、オブジェクトハンドリングユニット328による対象オブジェクト114の持ち上げ動作中に、接触センサ情報344から対象オブジェクト114のオブジェクト重量318を決定することができ、これを使用して、対象オブジェクト114に対応するオブジェクト重量318の値を有するオブジェクトエントリ306の1つまたは複数に対するオブジェクト一致確率362を、上昇させることができる。
【0074】
[0079] 別の例では、一意の識別子310がそれまで不明瞭またはスキャン不能であった場合に、ロボットシステム100は、撮像デバイス222のさらなる例を利用して一意の識別子をスキャンすることができる。一意の識別子310はオブジェクトエントリ306の特定の例に固有のものであるため、検出可能供給オブジェクト350の一意の識別子310をスキャンすることによって、オブジェクト同一性推定360がオブジェクトエントリ306の対応する例として検証される確度まで、オブジェクト一致確率362が上昇する。一般的に、センサ情報340の追加の例は、オブジェクトハンドリングユニット328と対象オブジェクト112との間の直接的な接触を通して、またはそれに続いて取得することができる。例えば、ロボットシステム100は、オブジェクトハンドリングユニット328により対象オブジェクト112を操作して、一意の識別子310を撮像デバイス222に対して露出させることによって、一意の識別子310という検出可能オブジェクト特性352を決定することができる。
【0075】
[0080] 一般的に、対象オブジェクト114および供給オブジェクト302の他の例についてのオブジェクト同一性推定360の検証は、ロボットシステム100によって、検出可能供給オブジェクト350の残りの例についてのオブジェクト同一性推定360の正確性を向上するために使用され得る。例えば、
図3に示すように、「オブジェクトI」とラベリングされた対象オブジェクト114は、オブジェクト同一性推定360によって、オブジェクトセット304における「オブジェクトA」として明確に識別されており、したがって、検出可能供給オブジェクト350「II」および「III」に関して、「オブジェクトA」としてのオブジェクト同一性推定360の可能性は排除されている。オブジェクト同一性推定360の検証に関する詳細については後述する。
【0076】
[0081] ロボットシステム100は、システム動作ユニット366を含んでよい。システム動作ユニット366は、情報を分析し、ロボットシステム100の動作を実施するための命令を生成する機能を提供するユニットである。例えば、システム動作ユニット336は、オブジェクトハンドリングユニット328、センサユニット216、またはそれらの組み合わせを動作させるための命令を生成することができる。別の例として、システム動作ユニット336は、オブジェクトセット304およびセンサ情報340などの情報を受信および分析して、検出可能供給オブジェクト350を識別したり、オブジェクト同一性推定360を生成したり、上述の他の機能を生成したりすることができる。いくつかの実施形態において、システム動作ユニット336は、制御ユニット202、ストレージユニット204、通信ユニット206、システムインターフェース208、またはそれらの組み合わせなどの、
図2のユニットの1つまたは複数を含むことができる。
【0077】
[0082] いくつかの実施形態において、システム動作ユニット336は、通信経路218を介して、オブジェクトハンドリングユニット328、センサユニット216、システム動作ユニット336の他の例、またはそれらの組み合わせなどの、ロボットシステム100内の他のユニットとインターフェースをとることができる。例えば、システム動作ユニット336は、通信ユニット206の例を含むことができ、オブジェクトハンドリングユニット328に動作命令を送信するか、センサユニット216からセンサ情報340を受信するか、システム動作ユニット336の別の例からオブジェクトセット304を受信するか、またはそれらの組み合わせを行うことができる。
【0078】
[0083] 例示のために、ロボットシステム100は、オブジェクトハンドリングユニット328およびセンサユニット216に結合されたシステム動作ユニット336の単一の例と共に示されているが、ロボットシステム100は、異なる構成の2つ以上のシステム動作ユニット366の例を含んでよいことが理解される。例えば、いくつかの実施形態において、ロボットシステム100は、センサユニット216に結合されたシステム動作ユニット366の例、およびオブジェクトハンドリングユニット328に結合されたシステム動作ユニット366の別の例を含んでよい。システム動作ユニット366の機能に関する追加の詳細については後述する。
【0079】
[0084] 次に
図4を参照すると、本発明の1つまたは複数の実施形態によるオブジェクトハンドリング作業440を実行しているロボットシステム100の例を示す上面図が示されている。オブジェクトハンドリング作業440は、オブジェクトハンドリングユニット328を含み得るロボットシステム100によって、目標を達成するために実行される一連のアクションを表す。
図4において破線矢印で示すように、例えば、オブジェクトハンドリング作業440は、対象オブジェクト112をオブジェクト供給源114から作業場所116に移動することを含んでよいが、オブジェクトハンドリング作業440の範囲は異なってもよく、例えば、
図3の供給オブジェクト302を
図3のオブジェクトエントリ特性308にしたがって作業場所116の異なる例に移送することによって、供給オブジェクト302を分類することなどでもよいことが理解される。
【0080】
[0085] 具体例として、オブジェクトハンドリング作業440は、オブジェクト供給源114のスキャン、検出可能供給オブジェクト350の識別、検出可能供給オブジェクト350に関する
図3のオブジェクト同一性推定360の決定、および上記
図3において説明したようなオブジェクト供給源114からの対象オブジェクト112の選択など、連続または並行して実行される1つまたは複数の動作を含んでよい。さらなる具体例として、オブジェクトハンドリング作業440は、オブジェクトハンドリング方策442の実行、エラー検出プロトコル444の実施、作業モーションプラン450の実行、またはそれらの組み合わせを含んでよい。
【0081】
[0086] オブジェクトハンドリング方策442は、
図3のオブジェクトエントリ特性308の対応する例にしたがって、オブジェクトハンドリングユニット328がどのように対象オブジェクト112と相互作用するかを制御する、1組の動作パラメータである。例えば、オブジェクトハンドリング方策442の様々な動作パラメータには、対象オブジェクト112のどこをどのように把持するか、対象オブジェクト112をどのように搬送および移動するか、対象オブジェクトに必要なクリアランス、対象オブジェクト112をオブジェクト供給源114から作業場所116に搬送するときの経路の割り当て、またはそれらの組み合わせが含まれ得る。オブジェクトハンドリング方策442を生成するために使用されるオブジェクトエントリ特性308の例には、
図3のオブジェクト寸法314、
図3のオブジェクト重量318、
図3のオブジェクト剛性322、
図3の変形モード324、
図3の変形度326、
図3のオブジェクト内容、またはそれらの組み合わせが含まれ得る。
【0082】
[0087] 一般的に、
図3のオブジェクトセットを参照せずに、
図3の接触センサ情報344、
図3の撮像センサ情報342、またはそれらの組み合わせに基づいて
図3の検出可能供給オブジェクト350に関するオブジェクトハンドリング方策442を生成することは、オブジェクト内容、オブジェクト剛性322、変形モード324、または変形度326などの、
図3のセンサ情報340のみによっては容易に決定し得ない対象オブジェクト112の特性については考慮しない。しかし、オブジェクトセット304のオブジェクトエントリ306に相関するオブジェクト同一性推定360に基づいてオブジェクトハンドリング方策442を生成することによって、ロボットシステム100は、より広い範囲の検出可能オブジェクト特性352を考慮するようにオブジェクトハンドリング方策442を最適化できるようになることが分かっている。
【0083】
[0088] オブジェクト寸法314というオブジェクトエントリ特性308の場合、一例として、オブジェクトハンドリング方策442は、対象オブジェクト112の移動範囲、対象オブジェクト112の移動モード、またはそれらの組み合わせに関して境界を設定するための命令を含んでよい。例えば、オブジェクトハンドリング方策442は、対象オブジェクト112の一部分が他のオブジェクトまたは構造と意図せず接触することを防ぐように、対象オブジェクト112の回転または移動中に、オブジェクト寸法314にしたがって対象オブジェクト112のクリアランスを提供するための命令を含んでよい。
【0084】
[0089] オブジェクト重量318というオブジェクトエントリ特性308の場合、一例として、オブジェクトハンドリング方策442は、最高速度ならびに加速率および減速率を制限するための命令を含んでよい。例えば、指定された重量制限を超えるオブジェクトは、指定された重量制限を下回るオブジェクトより低い速度でハンドリングされてよい。同様に、例えば、指定された重量制限を超えるオブジェクトの加速率および減速率は、重量制限を下回るオブジェクトより緩やかであってよい。
【0085】
[0090] オブジェクト剛性322というオブジェクトエントリ特性308の場合、一例として、オブジェクトハンドリング方策442は、オブジェクトハンドリングユニット328の把持デバイス334によって対象オブジェクト112に加えられ得る把持圧力の量を制限するための命令を含んでよい。例えば、オブジェクトハンドリング方策442は、対象オブジェクト112に接触するときに、
図3のエンドエフェクタ332によって加えられる接触圧力、または把持デバイス334によって加えられる力の量に対する制限を含んでよい。
【0086】
[0091] 変形モード324というオブジェクトエントリ特性308の場合、一例として、オブジェクトハンドリング方策442は、対象オブジェクト112の湾曲またはたるみなどの形状変形の量を制限または最小限にするための、対象オブジェクト112上の把持位置に関する命令を含んでよい。例えば、オブジェクトハンドリング方策442は、対象オブジェクト112の湾曲またはたるみを最小限にするために、質量中心から離れた縁部ではなく、質量中心付近で対象オブジェクト112を掴むかまたは持ち上げるための命令を含んでよい。
【0087】
[0092] 変形度326というオブジェクトエントリ特性308の場合、一例として、オブジェクトハンドリング方策442は、対象オブジェクト112をハンドリングするときに、伸びなどの形状変化の予測される量に対応するために、追加の動き範囲を含んでよい。例えば、オブジェクトハンドリング方策442は、対象オブジェクト112を移動するときに追加のクリアランスを提供するために、対象オブジェクト112が静止状態から、オブジェクト供給源114からまたはオブジェクト供給源114を離れて持ち上げられる高さを増大させるための命令を含んでよい。
【0088】
[0093] オブジェクト内容というオブジェクトエントリ特性308の場合、一例として、オブジェクトハンドリング方策442は、速度または動きに影響されやすい可能性のあるオブジェクトの場合に最大速度を制限するための命令を含んでよい。例えば、壊れやすいオブジェクトまたは液体などのオブジェクト内容は、壊れやすくないオブジェクトまたは固体のオブジェクトと比較して低速でハンドリングしてよい。
【0089】
[0094] 別の実装形態では、オブジェクト内容というオブジェクトエントリ特性308の場合、一例として、オブジェクトハンドリング方策442は、速度または動きの素早いまたは急激な変化に影響されやすい可能性のあるオブジェクトの場合に加速率および減速率を制限する命令を含んでよい。例えば、壊れやすいオブジェクトまたは液体などのオブジェクト内容は、運動量の急激または大幅な変化を制限する加速率でハンドリングしてよい。
【0090】
[0095] エラー検出プロトコル444は、オブジェクトハンドリング作業440の間にエラーが検出されたときにロボットシステム100によって実施されるアクションである。例えば、エラー検出プロトコル444は、オブジェクトエントリ特性308の1つまたは複数と、検出可能オブジェクト特性352の1つまたは複数との間に不整合が検出されたときに実施することができる。より具体的には、エラー検出プロトコル444は、
図3の一意の識別子310の一致など、オブジェクト同一性推定360がオブジェクトエントリ306の特定の例として検証されたものの、オブジェクトエントリ特性308の1つまたは複数が検出可能オブジェクト特性352の1つまたは複数と整合しないという状況で実施することができる。エラー検出プロトコル444のトリガとなる不整合の例には、オブジェクトセット304内の登録済みのオブジェクト306のオブジェクト重量318と、
図2の接触センサ226によって決定された対象オブジェクト112のオブジェクト重量318との間の差異が含まれ得る。
【0091】
[0096] いくつかの実施形態において、エラー検出プロトコル444は、エラー検出時にオブジェクトハンドリング作業440の実行を中止することを含むことができる。いくつかの実施形態において、エラー検出プロトコル444は、オブジェクト供給源114内またはオブジェクト供給源114上の対象オブジェクト112を交換することを含むことができる。いくつかの実施形態において、エラー検出プロトコル444は、対象オブジェクト112の検査のために、対象オブジェクト112を指定された場所に搬送することを含んでよい。いくつかの実施形態において、エラー検出プロトコル444は、オペレータによる入力を求めることを含んでよい。例えば、ロボットシステム100は、別のシステムまたは人間のオペレータにエラー検出の発生について警告するオペレータ通知を生成することができる。
【0092】
[0097] 作業モーションプラン450は、オブジェクトハンドリング作業440を実行するように、対応するユニットによって実施される1つまたは複数のアクションに対応する。
図4に示す状況において、作業モーションプラン450は、対象オブジェクト112をオブジェクト供給源114から作業場所116に移送するためのものである。例えば、オブジェクトハンドリングユニット328に関する作業モーションプラン450は、ピックアップ、対象オブジェクト112の把持、対象オブジェクト112の持ち上げ、オブジェクト供給源114の上方から作業場所116の上方への対象オブジェクト112の移送、対象オブジェクト112の降下、および対象オブジェクト112の解放のために、エンドエフェクタ332を位置決めすることを含むことができる。作業モーションプラン450は、作業モーションプラン450の実行中に、オブジェクトハンドリング方策442を組み込むことができる。
【0093】
[0098] いくつかの実施形態において、作業モーションプラン450は、ロボットアーム330、エンドエフェクタ332、またはそれらの組み合わせを動作させる、
図2の作動デバイス212の1つまたは複数に関する一連のコマンドまたは設定を含むことができる。例えば、作業モーションプラン450は、オブジェクト供給源114の周囲の特定の場所にグリッパを配置し、オブジェクトハンドリング方策442にしたがって、エンドエフェクタ332により対象オブジェクト112と係合して対象オブジェクト112を把持し、作業場所116の周囲の特定の場所にエンドエフェクタ332を配置し、エンドエフェクタ332から対象オブジェクト112を解放するためのコマンドまたは設定を含むことができる。
【0094】
[0099] いくつかの実施形態では、システム動作ユニット366は、オブジェクトハンドリングユニット328を動作させるための命令を生成することができる。例えば、システム動作ユニット336は、オブジェクトハンドリング方策442を生成するか、作業モーションプラン450を算出するか、エラー検出プロトコル444を呼び出すか、またはその他の関連付けられた機能を実施することができる。
【0095】
[0100] 次に
図5を参照すると、本発明の1つまたは複数の実施形態による、
図1のロボットシステム100を動作させる方法500に関するフロー図が示されている。方法500は、
図3のオブジェクトセット304にしたがって、
図1の対象オブジェクト112を識別すること、対象オブジェクト112のきめ細かい制御および操作を実施すること、またはそれらの組み合わせのためのものであってよい。方法500は、
図2のストレージユニット204の1つまたは複数に格納された命令を実行することに基づいて実施されるか、
図2の制御ユニット202の1つまたは複数によって実施されるか、またはそれらの組み合わせによって実施することができる。さらに、方法500に関する以下の説明は、制御ユニット202、ストレージユニット204、および通信ユニット206などの、
図2のユニットに関して記載されているが、この方法は、様々な数および組み合わせの制御ユニット202、ストレージユニット204、および通信ユニット206を含み得る、
図3のシステム動作ユニット336の1つまたは複数の例によって実施してもよいことが理解される。
【0096】
[0101] ブロック502において、ロボットシステム100は、オブジェクトセット304を受け取ることができる。例えば、ロボットシステム100は、オブジェクト供給源114の特定の例に関連付けられたオブジェクトセット304を受け取ることができる。一実施形態において、ロボットシステム100の制御ユニット202は、通信ユニット206を介して、またはストレージユニット204へのアクセスを介して、オブジェクトセット304を得ることができる。
【0097】
[0102] ブロック504において、ロボットシステム100は、オブジェクトセット304を分析して、
図3のオブジェクトエントリ特性308の1つまたは複数についての一意性を識別することができる。例えば、制御ユニット202は、一意の識別子310を、ロボットシステム100が検出可能供給オブジェクト350の1つを識別できるようにし得る高度な一意性をもたらすオブジェクトエントリ特性308の例として識別することができる。別の例において、制御ユニット202は、オブジェクトセット304内のオブジェクトエントリ306の他の多くの例の中で、オブジェクトエントリ306のサブセットまたはグループに特有の、オブジェクトエントリ特性308のグルーピングまたは組み合わせを識別することができる。反対に、オブジェクトエントリ306の多くに共通するオブジェクトエントリ特性308の例は、一意性が低い可能性がある。例えば、オブジェクトエントリ306の全てについて形状プロファイルが箱である場合、制御ユニット202は、形状プロファイル312というオブジェクトエントリ特性308の一意性が低いと決定することができる。
【0098】
[0103] オブジェクトエントリ特性308の一意性またはオブジェクトエントリ特性308のグループの一意性は、動的に分析することができる。例えば、制御ユニット202は、供給オブジェクト302がオブジェクト供給源114から除去されるときに、登録オブジェクト特性308を再分析して、供給オブジェクト302の残りの例の数が減少するにつれて、オブジェクトエントリ特性308の追加のグルーピングまたは組み合わせの一意性が増大しているかどうかを決定することができる。
【0099】
[0104] ブロック506において、ロボットシステム100は、オブジェクト供給源114、供給オブジェクト302、またはそれらの組み合わせをスキャンするスキャン命令を生成し、
図3のセンサ情報340を生成することができる。一実装形態において、ロボットシステム100の制御ユニット202は、通信ユニット206経由などでセンサユニット216にスキャン命令を送信し、オブジェクト供給源114に関するセンサ情報340を生成することができる。例えば、ロボットシステム100は、オブジェクト供給源114の周りに配置されてオブジェクト供給源114に向けられた
図2の撮像デバイス222を利用して
図3の撮像センサ情報342を生成するための、スキャン命令を生成するように、制御ユニット202を実装することができる。一実施形態では、制御ユニット202は、通信ユニット206経由などで、撮像デバイス222から撮像センサ情報342を受け取ることができる。いくつかの実施形態において、制御ユニット202は、オブジェクト供給源114から露出している供給オブジェクト302の、外側に面した1つまたは複数の表面のデジタル画像、点群、距離画像、またはそれらの組み合わせを含み得る、撮像センサ情報342を受け取ることができる。別の具体例として、撮像センサ情報342は、サーマルイメージング情報、X線イメージング情報、2次元マッピング、3次元マッピング、またはそれらの組み合わせを含み得る。別の実装形態において、制御ユニット202は、撮像デバイス222の複数の例から、未加工、未処理、または部分的に処理された撮像情報として撮像センサ情報202を受け取ることができ、この情報を制御ユニット202によって分析して、点群、距離画像、2次元マップ、3次元マップ、またはそれらの組み合わせを生成することができる。
【0100】
[0105] ブロック508において、ロボットシステム100は、撮像センサ情報342を分析して、検出可能供給オブジェクト350を識別することができる。例えば、一実装形態において、制御ユニット202は、撮像センサ情報342を分析して、パターン認識メカニズム、周縁部または表面などのオブジェクトアウトラインを識別するための1組のルール、またはそれらの組み合わせにより、検出可能供給オブジェクト350を識別することができる。この例を続けると、制御ユニット202は、所定のルール、姿勢テンプレート、またはそれらの組み合わせなどにしたがって、アウトラインのグルーピングを、検出可能供給オブジェクト350に対応するものとしてさらに識別することができる。この例をさらに進めると、制御ユニット202は、同じ値であるか、あるいは既知の割合またはパターンで変化するといった、色、輝度、深さ、場所、またはそれらの組み合わせのパターンに対応するオブジェクトアウトラインのグルーピングを、オブジェクトのラインにわたって識別することができる。また、例えば、制御ユニット202は、
図2のマスタデータ246において定義された所定の形状または姿勢テンプレートにしたがって、オブジェクトアウトラインのグルーピングを識別することもできる。具体例として、制御ユニット202は、
図3の撮像特性354としての撮像センサ情報342を、
図3の一意の識別子310、
図3の形状プロファイル312、
図3のオブジェクト寸法314、
図3の表面設計スキーム316、オブジェクト供給源114上またはオブジェクト供給源114内における検出可能供給オブジェクト350の場所または相対的位置、検出可能供給オブジェクト350の姿勢、あるいはそれらの組み合わせなどの、検出可能オブジェクト特性352の1つまたは複数にマッピングすることができる。
【0101】
[0106] ブロック510において、ロボットシステム100は、検出可能供給オブジェクト350の検出可能オブジェクト特性352と、オブジェクトエントリ306のオブジェクトエントリ特性308との間の、
図3の特性相関364を決定することができる。一実装例において、制御ユニット202は、検出可能供給オブジェクト350の特定の例に関する検出可能オブジェクト特性352の1つを、検出可能供給オブジェクト302のそれぞれに関するオブジェクトエントリ特性308と比較して、特性相関364がポジティブであって一致を示しているか、またはネガティブであって不一致を示しているかを決定することができる。この実装例を続けると、検出可能供給オブジェクト302の特定の例について、制御ユニット202は、検出可能オブジェクト特性352のそれぞれと、オブジェクトセット304内のオブジェクトエントリ306のそれぞれに関するオブジェクトエントリ特性308との比較を、繰り返し行うことができる。具体例として、検出可能供給オブジェクト302の特定の例について、制御ユニット202は、検出可能オブジェクト特性352の一例、例えば形状プロファイル312を、オブジェクトセット304内のオブジェクトエントリ306のそれぞれに関する形状プロファイル312と比較して、特性相関364がポジティブであるかネガティブであるかを決定することができる。例えば、制御ユニット202は、検出可能供給オブジェクト350と登録済みのオブジェクト306が共に箱である場合、形状プロファイル312についての特性相関364はポジティブであると決定することができる。この具体例を続けると、制御ユニット202は、検出可能供給オブジェクト302の特定の例の検出可能オブジェクト特性352の現在利用可能な各例について、オブジェクトセット304内のオブジェクトエントリ306のそれぞれに関するオブジェクトエントリ特性308の対応する例との反復比較を継続することができる。
【0102】
[0107] ブロック512において、ロボットシステム100は、検出可能供給オブジェクト350に関するオブジェクト一致確率362を算出することができる。例えば、制御ユニット202は、検出可能オブジェクト特性352と、オブジェクトセット304内のオブジェクトエントリ306のオブジェクトエントリ特性308との間の特性相関364に基づいて、オブジェクト一致確率362を算出することができる。いくつかの実施形態では、制御ユニット202は、検出可能オブジェクト特性352と、オブジェクトエントリ306のオブジェクトエントリ特性308との間の特性相関364のポジティブな例の数に基づいて、オブジェクト一致確率362をパーセンテージとして算出することができる。例えば、一実装形態において、制御ユニット202は、オブジェクトエントリ306の特定の例についての、オブジェクトセット302に含まれるオブジェクトエントリ特性308の総数に対する、特性相関364のポジティブな例の数のパーセンテージとして、オブジェクト一致確率362を算出することができる。具体例として、ロボットシステム100が、検出可能供給オブジェクト350の例が特性相関364のポジティブな例を2つ含むと決定し、オブジェクトエントリ306がオブジェクトエントリ特性308の例を4つ含む状況において、制御ユニット202は、オブジェクト一致確率362を50%と算出することができる。
【0103】
[0108] いくつかの実施形態では、制御ユニット202は、オブジェクトエントリ特性308の1つまたは複数に対する一意性の度合いを考慮して、検出可能供給オブジェクト350についてオブジェクト一致確率362を算出することができる。例えば、オブジェクト一致確率362を算出するとき、一意の識別子310などの、一意性が高いオブジェクトセット特性308の特定の例または組み合わせは、オブジェクトエントリ306の多くの間で共通するものなど、一意性が低いオブジェクトセット特性308よりも、高く重み付けしてよい。具体例として、制御ユニット202は、検出可能供給オブジェクト350の例の一意の識別子310と、オブジェクトエントリ306のうちの1つの一意の識別子310との間の特性相関364の例がポジティブである場合、オブジェクト一致確率362を高いパーセンテージ値として算出することができる。
【0104】
[0109] いくつかの実施形態では、検出可能オブジェクト特性308の1つまたは複数と、オブジェクトエントリ特性308の対応する例との間に、特性相関364のネガティブな例が存在するとき、制御ユニット202は、オブジェクト一致確率362をゼロ一致確率として算出することができる。検出可能供給オブジェクト350の特定の例とオブジェクトエントリ302の特定の例との間のオブジェクト一致確率362がゼロ一致確率であることは、検出可能供給オブジェクト350の特定の例がオブジェクトエントリ302の特定の例と対応しないことを示す。一例として、検出可能供給オブジェクト350についての一意の識別子310、形状プロファイル312、オブジェクト寸法314,表面設計スキーム316、またはそれらの組み合わせと、オブジェクトエントリ306の特定の例についてのオブジェクトエントリ特性308の対応する例との間に、特性相関364のネガティブな例が存在するとき、制御ユニット202は、オブジェクト一致確率をゼロ一致確率として算出することができる。具体例として、箱という形状プロファイル312を有するオブジェクトエントリ306の例と比較されたとき、管という形状プロファイル312を有する検出可能供給オブジェクト350は、オブジェクト一致確率362がゼロ一致確率であると算出され得る。
【0105】
[0110] いくつかの状況において、制御ユニット202は、検出可能オブジェクト特性352とオブジェクトエントリ特性308のいくつかの例の間に特性相関364のポジティブな例があるとの決定にもかかわらず、オブジェクト一致確率362をゼロ一致確率として算出することができる。例えば、制御ユニット202が、検出可能オブジェクト特性352の1つについて特性相関362のネガティブな例があると決定したとき、制御ユニット202は、特性相関364のポジティブな例があるとの決定にもかかわらず、ゼロ一致確率のオブジェクト一致特性362を算出することができる。別の例において、オブジェクトエントリ306の1つに対応する供給オブジェクト302の例がオブジェクト供給源114から除去され、したがって検出可能供給オブジェクト350がオブジェクトエントリ306の特定の例と一致し得ないとロボットシステム100が決定したとき、制御ユニット202は、特性相関364のポジティブな例があるとの決定にもかかわらず、ゼロ一致確率のオブジェクト一致特性362を算出することができる。
【0106】
[0111] ブロック516において、ロボットシステム100は、検出可能供給オブジェクト350について、
図3のオブジェクト同一性推定360を生成することができる。いくつかの実施形態では、制御ユニット202は、検出可能供給オブジェクト350のオブジェクト一致確率362に基づいて、オブジェクト同一性推定360を生成することができる。いくつかの実施形態において、制御ユニット202は、検出可能供給オブジェクト350の1つについて、その検出可能供給オブジェクト350の例に固有のオブジェクト一致確率362の、生成された例の数に基づいて、オブジェクト同一性推定360の複数の例を生成することができる。例えば、いくつかの状況において、ロボットシステム100は、特性相関364の現在利用可能な例に基づいて、オブジェクト一致確率362の複数の例を生成することができ、これはオブジェクトエントリ306の複数の例との一致を示す。これらの状況において、制御ユニット202は、生成されたオブジェクト一致確率362の各例について、オブジェクト同一性推定360の例を生成し、オブジェクト同一性推定360のそれぞれを、対応するオブジェクト一致確率362の値にしたがってランク付けすることができる。いくつかの実施形態では、制御ユニット202は、オブジェクト同一性推定360を、最も値が高いオブジェクト一致確率362に対応するオブジェクトエントリ306の例として生成することができる。これは、オブジェクト一致特性362の値が高いことは、オブジェクト同一性推定360の確実性が高いことと相関し得るためである。
【0107】
[0112] いくつかの実施形態において、制御ユニット202は、検出可能供給オブジェクト350のそれぞれに関するオブジェクト一致確率362の比較に基づいて、検出可能供給オブジェクト350に関するオブジェクト同一性推定360を生成することができる。一例として、検出可能供給オブジェクト350のそれぞれについてのオブジェクト一致確率362の比較は、オブジェクトエントリ306の特定の例に特化してよい。一実装例において、オブジェクトエントリ306の特定の例との間にゼロ一致確率ではないオブジェクト一致確率362を含む検出可能供給オブジェクト350のそれぞれに関して、制御ユニット202はオブジェクト一致確率362を比較し、オブジェクト同一性推定360を生成して、当該オブジェクトエントリ306の特定の例に対応するオブジェクト一致確率362の値が最も高い検出可能供給オブジェクト350を、当該オブジェクトエントリ306の特定の例として識別することができる。
【0108】
[0113] この例を説明するために、
図3に示す仮定の状況を参照すると、「オブジェクトB」というオブジェクトエントリ306の特定の例に関して、制御ユニット202は、検出可能供給オブジェクト350「オブジェクトII」に対する「10%」というオブジェクト一致確率362と、検出可能供給オブジェクト350「オブジェクトIII」に対する「60%」というオブジェクト一致確率362とを比較することができる。同様に、「オブジェクトC」というオブジェクトエントリ306の特定の例に関して、制御ユニット202は、検出可能供給オブジェクト350「オブジェクトII」に対する「70%」というオブジェクト一致確率362と、検出可能供給オブジェクト350「オブジェクトIII」に対する「30%」というオブジェクト一致確率362とを比較することができる。この例示を続けると、「オブジェクトII」および「オブジェクトIII」という検出可能供給オブジェクト350に対するオブジェクト一致確率362を比較する場合、制御ユニット202は、「オブジェクトII」に関するオブジェクト同一性推定を、「オブジェクトB」というオブジェクトエントリ306として、また、「オブジェクトIII」に関するオブジェクト同一性推定を、「オブジェクトC」というオブジェクトエントリ306として、生成することができる。
【0109】
[0114] ブロック518において、ロボットシステム100は、オブジェクト供給源114の検出可能供給オブジェクト350から対象オブジェクト112を選択することができる。例えば、制御ユニット202は、所定の順序、1組のルール、オブジェクトアウトラインのテンプレート、またはそれらの組合せにしたがって、対象オブジェクト112を選択することができる。具体例として、制御ユニット202は、撮像デバイス222の既知の場所に対する距離または位置を表す点群、距離画像、あるいはそれらの組み合わせにしたがって、供給オブジェクト302の上部に配置された検出可能供給オブジェクト350の例などの、エンドエフェクタ332がアクセスできる検出可能供給オブジェクト350の例として、対象オブジェクト112を選択することができる。具体例として、制御ユニット202は、角または縁部に配置され、露出した2つ以上の表面を有する検出可能供給オブジェクト350の例として、対象オブジェクト112を選択することができる。さらなる例として、制御ユニット202は、基準位置に対して左から右へ、または最も近くから最も遠くへといった所定のパターンにしたがって、好ましくは供給オブジェクト302の他の例を妨害または移動することなく、対象オブジェクト112を選択することができる。
【0110】
[0115] ブロック520において、ロボットシステム100は、対象オブジェクト112について
図4のオブジェクトハンドリング方策442を生成することができる。いくつかの実施形態において、制御ユニット202は、検出されたオブジェクト特性352、オブジェクトエントリ特性308、またはそれらの組み合わせの対応する例にしたがって、
図3のオブジェクトハンドリングユニット328がどのように対象オブジェクト112と相互作用するかを制御する1組の動作パラメータとして、オブジェクトハンドリング方策442を生成することができる。例えば、制御ユニット202は、オブジェクトハンドリングユニット328によってハンドリングされているときの対象オブジェクト112に関する、オブジェクト同一性推定360と相関するオブジェクトエントリ特性308を、特に接触特性356など、制御ユニット202が未だ情報を有しないオブジェクトエントリ特性308の例について、適用することができる。いくつかの実施形態では、対象オブジェクト112が複数のオブジェクト同一性推定360の例を含む状況において、制御ユニット202は、オブジェクト同一性推定360のそれぞれに対応する複数のオブジェクトハンドリング方策442の例を生成することができる。
【0111】
[0116] 一実装形態において、
図3のオブジェクト寸法314というオブジェクトエントリ特性308について、制御ユニット202は、対象オブジェクト112の移動範囲および移動モードに関して境界を設定するための命令として、オブジェクトハンドリング方策442を生成することができる。例えば、制御ユニット202は、対象オブジェクト112の一部分が他のオブジェクトまたは構造と意図せず接触することを防ぐように、回転または移動の際に、オブジェクト寸法314にしたがってクリアランスを提供するための命令を含む、オブジェクトハンドリング方策442を生成することができる。
【0112】
[0117] 別の実装形態では、
図3のオブジェクト重量318というオブジェクトエントリ特性308について、制御ユニット202は、最高速度ならびに加速率および減速率を制限する命令としてオブジェクトハンドリング方策442を生成することができる。例えば、指定された重量制限を超える対象オブジェクト112の例は、指定された重量制限を下回る他のオブジェクトより低い速度でハンドリングされてよい。同様に、例えば、指定された重量制限を超える対象オブジェクト112の例の加速率および減速率は、重量制限を下回る他のオブジェクトより緩やかであってよい。
【0113】
[0118] さらなる実装形態では、
図3のオブジェクト剛性322というオブジェクトエントリ特性308について、制御ユニット202は、オブジェクトハンドリングユニット328の把持デバイス334によって対象オブジェクト112に加えられ得る把持圧力の量を制限するための命令として、オブジェクトハンドリング方策442を生成することができる。例えば、オブジェクトハンドリング方策442は、対象オブジェクト112に接触するときに、エンドエフェクタ332によって加えられる接触圧力、または把持デバイス334によって加えられる力の量に対する制限を含んでよい。
【0114】
[0119] さらに別の実装形態では、
図3の変形モード324というオブジェクトエントリ特性308について、制御ユニット202は、対象オブジェクト112の湾曲またはたるみなどの形状変形の量を制限または最小限にするための、対象オブジェクト112上の把持位置に関する命令として、オブジェクトハンドリング方策442を生成することができる。例えば、オブジェクトハンドリング方策442は、対象オブジェクト112の湾曲またはたるみを最小限にするために、縁部ではなく、質量中心付近で対象オブジェクト112を把持または持ち上げるための命令を含んでよい。
【0115】
[0120] さらに別の実装形態では、
図3の変形度326というオブジェクトエントリ特性308について、制御ユニット202は、対象オブジェクト112をハンドリングするときに、伸びなどの形状変化の予測される量に対応するために、追加の動き範囲を含むようにオブジェクトハンドリング方策442を生成することができる。例えば、オブジェクトハンドリング方策442は、対象オブジェクト112を移動するときの対象オブジェクト112の伸びを考慮して追加のクリアランスを提供するために、対象オブジェクト112が静止状態から、オブジェクト供給源114からまたはオブジェクト供給源114を離れて持ち上げられる高さまたは距離を増大させるための命令を含んでよい。
【0116】
[0121] 別の実装形態では、オブジェクト内容というオブジェクトエントリ特性308について、制御ユニット202は、速度または動きの素早い変化に影響されやすい可能性のあるオブジェクトの場合に最大速度ならびに加速率および減速率を制限する命令として、オブジェクトハンドリング方策442を生成することができる。例えば、壊れやすいオブジェクトまたは液体などのオブジェクト内容は、運動量の急激または大幅な変化を制限する速度および加速率でハンドリングしてよい。
【0117】
[0122] ブロック522において、ロボットシステム100は、対象オブジェクト112についてオブジェクトハンドリング作業440を実行するための、
図4の作業モーションプラン450を算出することができる。例えば、制御ユニット202は、一連のコマンドまたは設定、あるいはそれらの組み合わせの算出に基づいて、
図3のロボットアーム330、把持デバイス334を含む
図3のエンドエフェクタ332、またはそれらの組み合わせを動作する
図2の作動デバイス212のために、作業モーションプラン450を算出することができる。オブジェクトハンドリング作業440のいくつかの例について、制御ユニット202は、対象オブジェクト112をオブジェクト供給源114から作業場所116に移送するようにロボットアーム330、エンドエフェクタ332、またはそれらの組み合わせを操作する、順序および設定値を算出することができる。例えば、制御ユニット202は、プロセス、機能、等式、アルゴリズム、コンピュータ生成/可読モデル、またはそれらの組み合わせを含み得るモーションプランニングメカニズムを実施し、1つまたは複数の制約、目標、ルール、またはそれらの組み合わせにしたがって、空間内の経路を算出することができる。具体例として、制御ユニット202は、A*アルゴリズム、D*アルゴリズム、他のグリッドベースの探索、またはそれらの組み合わせを使用して、対象オブジェクト112をオブジェクト供給源114から作業場所116に移動するための、空間を通る経路を算出することができる。モーションプランニングメカニズムは、さらなるプロセス、機能、または等式、および/または変換テーブルを使用して、経路を、作動デバイス212のための一連のコマンドまたは設定、あるいはそれらの組み合わせに変換することができる。モーションプランニングメカニズムを使用する際に、制御ユニット202は、算出された経路を対象オブジェクト112がたどるように、ロボットアーム330およびエンドエフェクタ332を動作させる順序を算出することができる。いくつかの実施形態では、対象オブジェクト112が複数のオブジェクト同一性推定360の例を含む状況において、制御ユニット202は、オブジェクト同一性推定360のそれぞれに対応する作業モーションプラン450の複数の例を算出することができる。
【0118】
[0123] 決定ブロック524において、ロボットシステム100は、オブジェクト識別推定360の補足的なチェックを実施することができる。例えば、制御ユニット202は、対象オブジェクト112を初めて持ち上げている間に、
図2の接触センサ226とインターフェースをとって、トルクまたは力の測定値などの
図3の接触センサ情報344を生成し、オブジェクト重量318を算出することなどによって、検出可能オブジェクト特性352の追加の例を生成することができる。別の例では、対象オブジェクト112の一意の識別子310が存在するものの未だスキャンされていない場合、制御ユニット202は、対象オブジェクト112の操作またはハンドリング中に、撮像デバイス222とインターフェースをとって、一意の識別子310を識別およびスキャンすることができる。いくつかの実施形態では、制御ユニット202は、検出可能オブジェクト特性352の追加の例を使用して、オブジェクト識別推定360を更新するか、または
図4のエラー検出プロトコル444を実施することができる。例えば、制御ユニット212は、接触特性356または撮像特性354の追加の例などの、検出可能オブジェクト特性352の追加の例と、オブジェクトエントリ特性308との間の特性相関364を決定することによって、対象オブジェクト112のオブジェクト識別推定360のそれぞれについて、オブジェクト一致確率362を調節することができる。具体例として、対象オブジェクト112が、オブジェクト一致確率362の値が等しい2つのオブジェクト識別推定360を含むが、対応するオブジェクトエントリ306の例のオブジェクト重量318が異なるという状況において、制御ユニット202は、オブジェクト重量318という接触特性356を使用して特性相関364を決定し、オブジェクト一致確率362を再算出することができる。いくつかの実施形態では、制御ユニット202は、オブジェクトハンドリング方策442、作業モーションプラン450、またはそれらの組み合わせを、オブジェクト識別推定360の更新に基づいて修正することができる。
【0119】
[0124] ブロック526において、ロボットシステム100は、
図4のエラー検出プロトコル444の実施が必要かどうかを決定することができる。例えば、ロボットシステム100は、制御ユニット202が、オブジェクトエントリ特性308の1つまたは複数と、対象オブジェクト112の検出可能オブジェクト特性352の1つまたは複数との間の不整合を検出したときに、エラー検出プロトコル444を実施することができる。より具体的には、一意の識別子310の一致など、オブジェクト同一性推定360がオブジェクトエントリ306の特定の例として検証されたものの、オブジェクトセット304内のオブジェクトエントリ306のオブジェクト重量318と、接触センサ226によって決定された対象オブジェクト112のオブジェクト重量318との間に差異がある場合など、オブジェクトエントリ特性308の1つまたは複数が検出可能オブジェクト特性352の1つまたは複数と整合しない状況において、制御ユニット202は、エラー検出プロトコル444を実施することができる。
【0120】
[0125] いくつかの実施形態では、ロボットシステム100は、検出可能オブジェクト特性352と登録済みのオブジェクト特性306との間に不整合が検出された場合など、エラー検出時にオブジェクトハンドリング作業440の実行を中止するように、エラー検出プロトコル444を実施することができる。いくつかの実施形態では、ロボットシステム100は、エラー検出プロトコル444を実施し、
図3のオブジェクトハンドリングユニット328を使用して、対象オブジェクト112を交換するか、あるいはオブジェクト供給源114内に、オブジェクト供給源114上に、またはオブジェクト供給源114に対象オブジェクト112を戻すことができる。いくつかの実施形態において、ロボットシステム100は、エラー検出プロトコル444を実施して、検査のために、オブジェクトハンドリングユニット328を使用して、指定された場所に対象オブジェクト112を搬送することができる。いくつかの実施形態では、エラー検出プロトコル444は、オペレータによる入力を求めることを含んでよい。例えば、ロボットシステム100は、通信ユニット206、システムインターフェース208、またはそれらの組み合わせを介して、人間のオペレータにエラー検出の発生について警告するオペレータ通知を生成することができる。いくつかの実施形態では、上記の実施形態において説明したエラー検出プロトコル444の目的に応じて、制御ユニット202により、エラー検出プロトコル444を動作させるための命令を、作業モーションプラン450のさらなる例として生成することもできる。
【0121】
[0126] ブロック528において、ロボットシステム100は、作業モーションプラン450の実行を開始することができる。例えば、ロボットシステム100は、通信ユニット206を介して、オブジェクトハンドリングユニット328に作業モーションプラン450または作業モーションプラン450の増分を送信することにより、作業モーションプラン450の実行を開始して、ロボットアーム330、エンドエフェクタ332、またはそれらの組み合わせの作動デバイス212を、一連のコマンドまたは設定、あるいはそれらの組み合わせにしたがって動作させることができる。
【0122】
[0127] 決定ブロック530において、ロボットシステム100は、オブジェクトハンドリング作業440が、最後まで完全に実行されたかどうかを決定することができる。例えば、制御ユニット202は、オブジェクトハンドリングユニット328とインターフェースをとり、オブジェクトハンドリング作業440におけるアクションおよびコマンドの全てが対象オブジェクト112について完了しているかどうか、または、代替的にエラー検出の場合には、エラー検出プロトコル444におけるアクションおよびコマンドの全てが完了しているかどうかを決定する。いくつかの実装形態では、オブジェクトハンドリング作業440が完了していると制御ユニット202が検証したとき、制御ユニット202は、オブジェクトエントリ306の1つに対応する対象オブジェクト112がオブジェクト供給源114から除去されたことを示すようにオブジェクトセット304を更新することができ、ロボットシステム100は、供給オブジェクト302の新しい例について方法500を繰り返すことができる。
【0123】
[0128] オブジェクトエントリ306の1つに対応する供給オブジェクト302の1つが除去されたことを反映するようにオブジェクトセット304を更新することによって、ロボットシステム100の、オブジェクトハンドリング作業400を引き続き反復して実施する能力が向上することが分かっている。対象オブジェクト112の除去を考慮するためにオブジェクトセット304を更新することによって、供給オブジェクト302の残りの例に一致する可能性のある、考えられるオブジェクトエントリ306の例の数を減少させ、オブジェクト同一性推定360をさらに洗練することができ、それによって、オブジェクト識別の正確性およびロボットシステム100の動作を改善することができる。
【0124】
[0129] 方法500のフロー図のブロックは、
図2の制御ユニット202、ストレージユニット204、通信ユニット206、および
図2のシステムインターフェース208の単一の例による実施に関して説明されているが、フロー図は、ロボットシステム100によって異なる形で実施できることが理解される。例えば、ブロックを分割して、システム動作ユニット366の異なる例のユニットによって実施してもよい。具体例として、システム動作ユニット366の1つの例が供給オブジェクト302の識別に関連するブロックを実施することができ、一方でシステム動作ユニット366の別の例がオブジェクトハンドリング作業440の実行に関連付けられたブロックを実施することができるように、ブロックを分割してよい。一実施形態において、供給オブジェクト302の識別に関連するブロックは、オブジェクトセット受け取りブロック502、セット分析ブロック504、供給源情報生成ブロック506、オブジェクト検出ブロック508、特性相関決定ブロック510、確率算出ブロック512、オブジェクト同一性推定生成ブロック516、またはそれらの組み合わせを含み得る。別の実装形態において、オブジェクトハンドリング作業440の実行に関連付けられるブロックは、オブジェクト選択ブロック518、オブジェクトハンドリング方策生成ブロック520、作業モーションプラン算出ブロック522、識別決定検証ブロック524、エラーハンドリング実施ブロック526、プラン実行ブロック528、作業完了決定ブロック530、またはそれらの組み合わせを含み得る。
【0125】
[0130] 次に
図6を参照すると、本発明の一実施形態におけるロボットシステム100の動作の方法600のフローチャートが示されている。方法600は、ブロック602において、1つまたは複数のオブジェクトエントリを含むオブジェクトセットを受け取ることであって、オブジェクトエントリは、オブジェクト供給源の供給オブジェクトに対応し、オブジェクトエントリのそれぞれは1つまたは複数のオブジェクトエントリ特性によって説明されることと;ブロック604において、オブジェクト供給源の検出可能供給オブジェクトについて1つまたは複数の検出可能オブジェクト特性を表すセンサ情報を受け取ることと;ブロック606において、検出可能供給オブジェクトの検出可能オブジェクト特性と、オブジェクトエントリのオブジェクトエントリ特性との間の特性相関に基づいて、検出可能供給オブジェクトとオブジェクトエントリとの間のオブジェクト一致確率を算出することと;ブロック608において、オブジェクトエントリの特定の例に対応する検出可能供給オブジェクトのそれぞれについてのオブジェクト一致確率の間の比較に基づいて、検出可能供給オブジェクトのそれぞれについてオブジェクト同一性推定を生成することと;ブロック610において、検出可能供給オブジェクトから対象オブジェクトを選択することと;ブロック612において、オブジェクト同一性推定に対応するオブジェクトエントリのオブジェクトエントリ特性に基づいて、オブジェクト供給源から対象オブジェクトを移送するように、オブジェクトハンドリングユニットが実施するための、オブジェクトハンドリング方策と;ブロック614において、オブジェクトエントリの特定の例に対応する対象オブジェクトがオブジェクト供給源から除去されたことを示すようにオブジェクトセットを更新することと、を含む。
【0126】
[0131] 結果として得られる方法、プロセス、装置、デバイス、製品、および/またはシステムは、費用対効果が高く、用途が広く、正確であり、精度が高く、かつ効果が高く、また、既知の構成要素を採用することによって、素早く、効率よく、かつ経済的な製造、応用、および利用のために実装することができる。本発明の実施形態の他の重要な態様は、有用なことに、コスト削減、システムの単純化、および性能の向上という歴史的傾向を支援および補助することである。
【0127】
[0132] したがって、本発明の実施形態の上記および他の有用な態様は、当該技術の状況を、少なくとも次のレベルに進めるものである。
【0128】
[0133] 本発明を具体的なベストモードと共に説明してきたが、上記の説明に照らして、多くの代替例、修正例、および変形例が当業者には明らかになることが理解されるべきである。したがって、添付の特許請求の範囲内の当該代替例、修正例、および変形例を全て包含することが意図される。本明細書に記載の、または添付の図面に示される全ての事項は、例示的かつ非限定的な意味で解釈されるべきである。
【解決手段】ロボットシステムは、制御ユニットとストレージユニット204とを備える。制御ユニットは、1つまたは複数のオブジェクトエントリを含むオブジェクトセットを受け取るように構成され、オブジェクトエントリは、オブジェクト供給源の供給オブジェクトに対応し、オブジェクトエントリのそれぞれは、1つまたは複数のオブジェクトエントリ特性によって説明される。制御ユニットは、オブジェクト供給源の検出可能供給オブジェクトに関する1つまたは複数の検出可能オブジェクト特性を表すセンサ情報を受け取り、検出可能供給オブジェクトの検出可能オブジェクト特性と、オブジェクトエントリのオブジェクトエントリ特性との間の特性相関に基づいて、検出可能供給オブジェクトとオブジェクトエントリとの間のオブジェクト一致確率を算出し、オブジェクトエントリの特定の例に対応する検出可能供給オブジェクトのそれぞれに関するオブジェクト一致確率の間の比較に基づいて、検出可能供給オブジェクトのそれぞれについてオブジェクト同一性推定を生成し、検出可能供給オブジェクトから対象オブジェクトを選択し、オブジェクト同一性推定に対応するオブジェクトエントリのオブジェクトエントリ特性に基づいて、オブジェクト供給源から対象オブジェクトを移送するように、オブジェクトハンドリングユニットが実施するためのオブジェクトハンドリング方策を生成し、オブジェクトエントリの特定の例に対応する対象オブジェクトがオブジェクト供給源から除去されたことを示すように、オブジェクトセットを更新するように構成される。ストレージユニット204は、制御ユニットに結合され、オブジェクトセットを格納するように構成される。