(57)【要約】複数のオブジェクトを同時に掴持及び転置するように輸送ロボットを動作させるためのシステム及び方法を開示する。輸送ロボットは、それぞれが独立して真空を提供するように構成されるアドレス指定可能真空領域のアレイを有するマルチグリッパアセンブリを含む。ロボットシステムは、オブジェクトのグループを表す画像データを受信する。受信された画像データに基づいて、グループ内の個々の対象オブジェクトが識別される。識別された対象オブジェクトに基づいて、アドレス指定可能真空領域が選択される。輸送ロボットは、選択されたアドレス指定可能真空領域に、複数の対象オブジェクトを同時に掴持及び転置させるように指令される。【選択図】図２６
2021534002.tif 000002
【特許請求の範囲】
【請求項１】
輸送ロボットを動作させるための方法であって、
開始位置におけるパッケージを描写する画像データを受信することであって、前記画像データは、前記パッケージのうちの２つ以上の同時掴持を分析するためのものであることと、
前記画像データに基づいて対象パッケージを識別することと、
前記対象パッケージに対する把持姿勢を表す掴持セットを決定することと、
第２のパッケージに重なる前記掴持セット内の把持姿勢のセットを識別することと、
前記対象パッケージ及び前記第２のパッケージを同時に操作するための統合された移動制御パラメータを導出することと、
前記対象パッケージ及び前記第２のパッケージをそれぞれの対象位置に載置するための解放シーケンスを決定することと、
前記統合された移動制御パラメータ及び前記解放シーケンスに基づいて前記掴持セットから同時掴持姿勢を選択することであって、前記同時掴持姿勢は、前記対象パッケージ及び前記第２のパッケージを同時に掴持及び転置するための前記輸送ロボットのマルチグリッパアセンブリの姿勢を表すことと、
前記同時掴持姿勢に基づいてモーションプランを導出することであって、前記モーションプランは、同時に前記対象パッケージ及び前記第２のパッケージを前記それぞれの対象位置に転置するように前記マルチグリッパアセンブリを操作するためのものであることと、
前記対象パッケージ及び前記第２のパッケージを同時に掴持及び転置するように前記輸送ロボットを動作させるための前記モーションプランを実施することと、
を含む、方法。
【請求項２】
前記掴持セットは、通知された姿勢のセットであり、各通知された姿勢は、前記マルチグリッパアセンブリの境界を前記対象パッケージの周縁と位置合わせするためのものである、請求項１に記載の方法。
【請求項３】
前記統合された移動制御パラメータを導出することは、
前記掴持セットに基づいて対象制御パラメータを決定することであって、前記対象制御パラメータは、前記マルチグリッパアセンブリの対象姿勢に従って前記対象パッケージを転置する力、及び／又は、速度に関係した関連の物理的特徴を表すことと、
前記マルチグリッパアセンブリと前記第２のパッケージとの間の重なりを推定することに基づいて第２の制御パラメータを決定することであって、前記第２の制御パラメータは、前記マルチグリッパアセンブリの前記対象姿勢に従って前記第２のパッケージを転置する力、及び／又は、速度に関係した関連の物理的特徴を表すことと、
前記統合された移動制御パラメータを、低い方の転置速度に対応する、前記対象制御パラメータ又は前記第２の制御パラメータとして選択することと、
を含む、請求項１に記載の方法。
【請求項４】
前記統合された移動制御パラメータは、前記対象パッケージ及び前記第２のパッケージを同時に操作するための前記輸送ロボット及び／又は前記マルチグリッパアセンブリの速度設定を表す、請求項１に記載の方法。
【請求項５】
前記統合された移動制御パラメータは、前記マルチグリッパアセンブリ内の第１の吸引要素のセット及び第２の吸引要素のセットを制御して、それぞれ前記対象パッケージ及び前記第２のパッケージを掴持するための真空設定を表す、請求項１に記載の方法。
【請求項６】
前記同時掴持姿勢を選択することは、前記対象パッケージ及び前記第２のパッケージを含むパッケージのセットを転置することに関連する効率尺度を最大化する前記同時掴持姿勢を選択することを含む、請求項１に記載の方法。
【請求項７】
前記画像データに基づいて前記パッケージのセットを識別することであって、前記パッケージのセットは、前記画像データに関連付けられた撮像デバイスに対して露出していると共に、対応する開始位置とタスク位置との間の転置の対象であるオブジェクトを表すことと、
前記掴持セットに少なくとも部分的に基づいて、前記パッケージのセット内の前記オブジェクトを掴持及び転置するための一意の把持姿勢のセットをそれぞれが表す姿勢の組み合わせを決定することと、
前記姿勢の組み合わせのそれぞれについて、関連する移動制御パラメータに基づいて、総転置レートを推定することと、
をさらに含み、
前記同時掴持姿勢は、総転置時間の最短のインスタンスを有する前記姿勢の組み合わせのうちの１つを選択することに基づいて選択される、請求項６に記載の方法。
【請求項８】
前記パッケージのセットは、パッケージスタックの一番上のレイヤを形成するパッケージを表す、請求項６に記載の方法。
【請求項９】
前記解放シーケンスを決定することは、
前記対象パッケージに重なる吸引要素のセットを表す対象接触セットを決定することと、
前記対象接触セットを除く第２の吸引要素のセットを表す残余セットを決定することと、
前記第２のパッケージの１つ又は複数の物理的特徴に基づいて、前記残余セットが前記第２のパッケージを掴持するのに十分であるか否かを検証することと、
前記残余セットが前記第２のパッケージを掴持するのに十分であることが検証された場合に、前記第２のパッケージよりも先に前記対象パッケージを解放するための前記解放シーケンスを決定することと、
を含む、請求項１に記載の方法。
【請求項１０】
前記解放シーケンスを決定することは、
前記対象パッケージを掴持するように指定された吸引要素のセットを表す対象アクティブ化セットを決定することと、
前記第２のパッケージに重なる第２の吸引要素のセットを表す第２の接触セットを決定することと、
前記第２の接触セット及び前記対象アクティブ化セットが相互排他的であるか否かを検証することと、
前記第２の接触セット及び前記対象アクティブ化セットが相互排他的である場合に、前記第１のパッケージよりも先に前記第２のパッケージを解放するための前記解放シーケンスを決定することと、
を含む、請求項１に記載の方法。
【請求項１１】
前記解放シーケンスは、掴持されたパッケージのうちの最も高さのあるものを最初に解放するためのルールに基づいて決定される、請求項１に記載の方法。
【請求項１２】
前記モーションプランを導出することは、
前記解放シーケンスに従って前記対象パッケージ及び前記第２のパッケージの載置位置を導出することと、
前記載置位置から前記対象パッケージ及び前記第２のパッケージの開始位置までの逆順での前記対象パッケージ及び前記第２のパッケージの移動を反復的にシミュレート及び検証することに基づいて、前記モーションプランを導出することと、
を含む、請求項１に記載の方法。
【請求項１３】
１つ又は複数の目的地センサからデータを取得することであって、前記データは、前記モーションプランの実行中にタスク位置の上方の横線と交差している前記対象パッケージ及び／又は前記第２のパッケージを表すことと、
前記取得されたデータに基づいて位置のセットを識別することであって、前記位置のセットは、前記１つ又は複数の目的地センサの位置を特定することと、
前記位置のセットに基づいて前記モーションプランの有効性を判定することと、
をさらに含む、請求項１に記載の方法。
【請求項１４】
前記位置のセットに基づいて前記モーションプランを検証することは、
前記位置のセットに基づいて交差しているパッケージを識別することと、
前記交差しているパッケージの少なくとも１つの推定寸法を導出することであって、前記少なくとも１つの推定寸法は、前記交差しているパッケージの推定高さ及び／又は推定横寸法を含むことと、
（１）前記交差しているパッケージが、より長い高さを有すると推定された前記対象パッケージ又は前記第２のパッケージと最初に一致する場合、及び／又は（２）前記少なくとも１つの推定寸法が、マスターデータに記憶された前記対象パッケージ又は前記第２のパッケージの１つ又は複数の対応する寸法と一致する場合に、前記モーションプランを検証することと、
を含む、請求項１３に記載の方法。
【請求項１５】
前記位置のセットに従って、前記モーションプランが無効であると判定された場合に、置換プランを導出することであって、
前記置換プランは、前記対象パッケージ及び前記第２のパッケージをそれぞれのタスク位置に載置するように前記マルチグリッパアセンブリを操作するためのものであり、
前記置換プランは、前記モーションプランの残りの部分を置き換えるために、前記１つ又は複数の目的地センサから取得された前記データに従って導出されることと、
前記無効判定に応答して、前記対象パッケージ及び前記第２のパッケージをそれぞれのタスク位置に載置するために、前記モーションプランの前記残りの部分の代わりに、前記置換プランを実施することと、
をさらに含む、請求項１３に記載の方法。
【請求項１６】
輸送ロボットの動作を制御するように構成されるシステムであって、
センサのセット及び前記輸送ロボットを用いてデータ、コマンド、及び／又は設定を通信するように構成される通信回路と、
前記通信回路に結合される少なくとも１つのプロセッサと、を備え、
前記通信回路は、
開始位置における対象パッケージ及び第２のパッケージを含むパッケージを描写する画像データを受信することと、
前記対象パッケージ及び前記第２のパッケージを同時に掴持及び転置するように前記輸送ロボットを動作させるためのモーションプラン、あるいは対応するコマンド及び／又は設定のセットを送ることと、
を行うように構成され、
前記少なくとも１つのプロセッサは、
前記画像データに基づいて前記対象パッケージを識別することと、
前記対象パッケージに対する把持姿勢を表す掴持セットを決定することと、
前記第２のパッケージに重なる前記掴持セット内の把持姿勢のセットを識別することと、
前記対象パッケージ及び前記第２のパッケージを同時に操作するための統合された移動制御パラメータを導出することと、
前記対象パッケージ及び前記第２のパッケージをそれぞれの対象位置に載置するための解放シーケンスを決定することと、
前記統合された移動制御パラメータ及び前記解放シーケンスに基づいて前記掴持セットから同時掴持姿勢を選択することであって、前記同時掴持姿勢は、前記対象パッケージ及び前記第２のパッケージを同時に掴持及び転置するためのマルチグリッパアセンブリの姿勢を表すことと、
前記同時掴持姿勢に基づいて前記モーションプランを導出することであって、前記モーションプランは、前記対象パッケージ及び前記第２のパッケージを前記それぞれの対象位置に同時に転置するように前記マルチグリッパアセンブリを操作するためのものであることと、
を行うように構成される、システム。
【請求項１７】
前記プロセッサは、前記マルチグリッパアセンブリの第１の吸引要素のセットと、前記マルチグリッパアセンブリの第２の吸引要素のセットとを動作させるための前記モーションプランを導出するように構成され、
前記第１のセットは、前記対象パッケージを掴持するように構成され、
前記第２のセットは、前記第２のパッケージを掴持するように構成される、請求項１６に記載のシステム。
【請求項１８】
１つ又は複数のプロセッサにより実行された場合に、前記１つ又は複数のプロセッサに方法を実施させるプロセッサ命令が記憶された有形非一時的コンピュータ可読媒体であって、
前記方法は、
開始位置におけるパッケージを描写する画像データを受信することであって、前記画像データは、前記パッケージのうちの２つ以上の同時掴持を分析するためのものであることと、
前記画像データに基づいて対象パッケージを識別することと、
前記対象パッケージに対する把持姿勢を表す掴持セットを決定することと、
第２のパッケージに重なる前記掴持セット内の把持姿勢のセットを識別することと、
前記対象パッケージ及び前記第２のパッケージを同時に操作するための統合された移動制御パラメータを導出することと、
前記対象パッケージ及び前記第２のパッケージをそれぞれの対象位置に載置するための解放シーケンスを決定することと、
前記統合された移動制御パラメータ及び前記解放シーケンスに基づいて前記掴持セットから同時掴持姿勢を選択することであって、前記同時掴持姿勢は、前記対象パッケージ及び前記第２のパッケージを同時に掴持及び転置するためのマルチグリッパアセンブリの姿勢を表すことと、
前記同時掴持姿勢に基づいてモーションプランを導出することであって、前記モーションプランは、同時に前記対象パッケージ及び前記第２のパッケージを前記それぞれの対象位置に転置するように前記マルチグリッパアセンブリを操作するためのものであることと、
前記対象パッケージ及び前記第２のパッケージを同時に掴持及び転置するように前記輸送ロボットを動作させるための前記モーションプランを実施することと、
を含む、有形非一時的コンピュータ可読媒体。
【請求項１９】
前記方法は、
前記画像データに基づいてパッケージのセットを識別することであって、前記パッケージのセットは、前記対象パッケージ及び前記第２のパッケージを含み、前記パッケージのセットは、前記画像データに関連付けられた撮像デバイスに対して露出していると共に、対応する開始位置とタスク位置との間の転置の対象であるオブジェクトを表すことと、
前記掴持セットに少なくとも部分的に基づいて、前記パッケージのセット内の前記オブジェクトを掴持及び転置するための一意の把持姿勢のセットをそれぞれが表す姿勢の組み合わせを決定することと、
前記姿勢の組み合わせのそれぞれについて、関連する移動制御パラメータに基づいて、総転置レートを推定することと、
をさらに含み、
前記同時掴持姿勢は、総転置時間の最短のインスタンスを有する前記姿勢の組み合わせのうちの１つを選択することに基づいて選択される、請求項１８に記載の有形非一時的コンピュータ可読媒体。
【請求項２０】
前記解放シーケンスを決定することは、
前記対象パッケージに重なる吸引要素のセットを表す対象接触セットを決定することと、
前記対象接触セットにない第２の吸引要素のセットを表す残余セットを決定することと、
前記第２のパッケージの１つ又は複数の物理的特徴に基づいて、前記残余セットが前記第２のパッケージを掴持するのに十分であるか否かを検証することと、
前記残余セットが前記第２のパッケージを掴持するのに不十分であることが検証された場合に、前記対象パッケージを掴持するように指定された吸引要素のセットを表す対象アクティブ化セットを決定することであって、前記対象アクティブ化セットは、前記対象接触セットよりも少ない要素を含むことと、
前記第２のパッケージに重なる第２の吸引要素のセットを表す第２の接触セットを決定することと、
前記第２の接触セット及び前記対象アクティブ化セットが相互排他的であるか否かを検証することと、
前記第２の接触セット及び前記対象アクティブ化セットが相互排他的である場合に、前記第１のパッケージよりも先に前記第２のパッケージを解放するための前記解放シーケンスを決定することと、
を含む、請求項１８に記載の有形非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２０１９年８月２１日に出願された米国仮特許出願第６２／８８９，５６２号の利益を主張し、その全体が引用により本明細書に組み込まれている。
【０００２】
本出願は、２０２０年４月２２日に出願され、「ＲＯＢＯＴＩＣ  ＭＵＬＴＩ−ＧＲＩＰＰＥＲ  ＡＳＳＥＭＢＬＩＥＳ  ＡＮＤ  ＭＥＴＨＯＤＳ  ＦＯＲ  ＧＲＩＰＰＩＮＧ  ＡＮＤ  ＨＯＬＤＩＮＧ  ＯＢＪＥＣＴＳ」と題された米国特許出願第１６／８５５，７５１号に関する主題を含み、その全体が引用により本明細書に組み込まれている。
【０００３】
本技術は一般にロボットシステムを対象とし、より詳細には、オブジェクトを選択的に把持及び保持するように構成されるロボット式マルチグリッパアセンブリを対象とする。
【背景技術】
【０００４】
現在、ロボット（たとえば、物理的なアクションを自動的／自律的に実行するように構成される機械）が、多くの分野で広く使用されている。ロボットは、たとえば、製造、パッケージング、輸送、及び／又は出荷などにおける様々なタスク（たとえば、オブジェクトの操作又は転置）を実行するために使用することができる。タスクを実行する際に、ロボットは人間のアクションを再現することによって、危険な又は反復的なタスクを実行するのに本来必要とされる人間の関与を置き換える又は減らすことができる。ロボットはより複雑なタスクを実行するのに必要とされる人間の繊細さ及び／又は順応性を複製するのに必要な精巧さを欠いていることが多い。たとえば、ロボットは、すぐ隣のオブジェクト、ならびに不規則な形状／サイズのオブジェクトなどを含むオブジェクトのグループから、オブジェクト（複数可）を選択的に把持することが困難であることが多い。したがって、ロボットの様々な特徴を制御及び管理するための改良されたロボットシステム及び技術への必要性が残っている。
【図面の簡単な説明】
【０００５】
【図１】本技術の１つ又は複数の実施形態によるロボットシステムがオブジェクトを輸送する例示的な環境を示す図である。
【図２】本技術の１つ又は複数の実施形態によるロボットシステムを示すブロック図である。
【図３】本技術の１つ又は複数の実施形態によるマルチコンポーネント転置アセンブリの図である。
【図４】本技術の１つ又は複数の実施形態による輸送ロボットのロボットアームに結合されたエンドエフェクタの正面図である。
【図５】図４のエンドエフェクタの底面図である。
【図６】本技術の１つ又は複数の実施形態によるロボット式転置アセンブリの機能ブロック図である。
【図７】本技術の１つ又は複数の実施形態によるマルチグリッパアセンブリを有するエンドエフェクタの前方上面等角図である。
【図８】図７のエンドエフェクタの前方底面等角図である。
【図９】本技術の１つ又は複数の実施形態を用いた真空式グリッパアセンブリのコンポーネントの分解前方等角図である。
【図１０】本技術の１つ又は複数の実施形態による真空式グリッパのアセンブリの等角図である。
【図１１】図１０のアセンブリの平面図である。
【図１２】本技術の１つ又は複数の実施形態による真空式グリッパのアセンブリの等角図である。
【図１３】本技術の他の実施形態によるマルチグリッパアセンブリの等角図である。
【図１４】図１３のマルチグリッパアセンブリの分解等角図である。
【図１５】本技術の１つ又は複数の実施形態によるマルチグリッパアセンブリの一部分の部分断面図である。
【図１６】本技術のいくつかの実施形態によるロボットシステムを動作させるためのフロー図である。
【図１７】本技術の１つ又は複数の実施形態によるロボットシステムを動作させるための他のフロー図である。
【図１８】本技術の１つ又は複数の実施形態によるオブジェクトをロボットにより把持及び輸送する段階を示す図である。
【図１９】本技術の１つ又は複数の実施形態によるオブジェクトをロボットにより把持及び輸送する段階を示す図である。
【図２０】本技術の１つ又は複数の実施形態によるオブジェクトをロボットにより把持及び輸送する段階を示す図である。
【図２１】本技術の１つ又は複数の実施形態によるオブジェクトをロボットにより把持及び輸送する段階を示す図である。
【図２２】本技術の１つ又は複数の実施形態による掴持セットの例示的な態様を示す図である。
【図２３】Ａ〜Ｆは、本技術の１つ又は複数の実施形態による複数のオブジェクトを同時に転置するための例示的なシナリオを示す図である。
【図２４】本技術の１つ又は複数の実施形態による例示的なグリッパ載置状況を示す図である。
【図２５】本技術の１つ又は複数の実施形態による例示的なタスク位置を示す図である。
【図２６】本技術の１つ又は複数の実施形態によるロボットシステムを動作させるための他のフロー図である。
【発明を実施するための形態】
【０００６】
本明細書では、選択されたオブジェクトを把持するためのシステム及び方法を説明する。システムは、単一のオブジェクト又は複数のオブジェクトを独立して又は連動して把持／解放するように動作するよう構成されるマルチグリッパアセンブリを有する輸送ロボットを含むことができる。たとえば、システムは、複数のオブジェクトを同時に又は順次的にピックアップすることができる。システムは、たとえば、マルチグリッパアセンブリの運搬能力、輸送プラン、又はそれらの組み合わせに基づいて、運搬されるオブジェクトを選択することができる。マルチグリッパアセンブリは、オブジェクトのグループ、不規則なオブジェクト、形状／サイズの異なるオブジェクトなどからオブジェクトを確実に把持することができる。たとえば、マルチグリッパアセンブリは、選択されたオブジェクトのみが真空グリップを介して保持されるように空気を吸い込むようそれぞれ構成されるアドレス指定可能真空領域又はバンクを含むことができる。マルチグリッパアセンブリをロボット制御で移動させて、保持されたオブジェクトを所望の位置に輸送することができ、次いでオブジェクトを解放することができる。システムは、把持されたオブジェクトを同時に又は順次的に解放することもできる。このプロセスを繰り返して、異なる位置の間で任意の数のオブジェクトを輸送することができる。
【０００７】
少なくともいくつかの実施形態は、アドレス指定可能ピックアップ領域を持つマルチグリッパアセンブリを有する輸送ロボットを動作させるための方法を対象とする。ピックアップ領域は、独立して真空把持を提供するように構成することができる。対象オブジェクト（複数可）は、キャプチャされた画像データに基づいて識別することができる。ピックアップ領域は空気を吸い込んで、識別された対象オブジェクト（複数可）を把持することができる。いくつかの実施形態では、輸送ロボットは、識別された対象オブジェクトを運搬しているマルチグリッパアセンブリをロボット制御で動かすことができる。
【０００８】
いくつかの実施形態では、ロボット式輸送システムは、ロボット装置、対象オブジェクト検出器、及び真空式グリッパデバイスを含む。真空式グリッパデバイスは、複数のアドレス指定可能領域と、マニホールドアセンブリとを含む。マニホールドアセンブリを、アドレス指定可能領域のそれぞれと、少なくとも１つの真空ラインとに流体的に結合して、各アドレス指定可能領域が、吸引要素のアレイを介して独立して負圧を提供できるようにすることができる。負圧は、ロボット装置が異なる位置の間で真空式グリッパデバイスを移動させている間に、少なくとも１つの対象オブジェクトを真空式グリッパデバイスに対して保持するのに十分なものにすることができる。
【０００９】
輸送ロボットを動作させるための方法は、オブジェクトのグループ（たとえば、オブジェクトのスタック又はパイル）を表す画像データを受信することを含む。受信された画像データに基づいて、グループ内の１つ又は複数の対象オブジェクトが識別される。識別された１つ又は複数の対象オブジェクトに基づいて、アドレス指定可能真空領域が選択される。輸送ロボットは、選択された真空領域に、識別された１つ又は複数の対象オブジェクトを保持及び輸送させるように指令される。輸送ロボットは、独立して真空把持を提供するようにそれぞれが構成される真空領域のアレイを有するマルチグリッパアセンブリを含む。視覚センサデバイスは、真空式グリッパデバイスに隣接する又はそれによって保持される対象オブジェクトを表す画像データをキャプチャすることができる。
【００１０】
以下では、本開示技術の完全な理解を提供するために、多数の具体的な詳細を記載している。他の実施形態では、本明細書で紹介する技術は、これらの具体的な詳細がなくとも実践することができる。他の例では、よく知られている特徴、たとえば、特定の関数又はルーチンについては、本開示を不必要に不明瞭にしないように、詳細には説明していない。本明細書における「実施形態」、「一実施形態」などへの言及は、説明している特定の特徴、構造、材料、又は特性が本開示の少なくとも１つの実施形態に含まれることを意味する。したがって、本明細書におけるそのような文言の出現は、必ずしも全てが同一の実施形態を指すものではない。一方、そのような言及は、必ずしも相互に排他的ではない。さらに、特定の特徴、構造、材料、又は特性は、１つ又は複数の実施形態において任意の好適な方法で組み合わせることができる。図面に示す様々な実施形態は説明のための表現にすぎず、必ずしも縮尺通りに描かれていないことを理解されたい。
【００１１】
よく知られており、多くの場合、ロボットシステム及びサブシステムに関連するものであるが、開示した技術のいくつかの重要な特徴を不必要に不明瞭にする可能性のある、構造又は処理を説明する一部の詳細については、明瞭にするために以下の説明には記載していない。また、以下の開示では本技術の異なる態様のいくつかの実施形態を記載しているが、他のいくつかの実施形態は、このセクションに記載したものとは異なる構成又は異なるコンポーネントを有することができる。したがって、開示した技術は、追加の要素を有するか、又は後述の要素の一部を有さない他の実施形態を有することができる。
【００１２】
以下で説明する本開示の多くの実施形態又は態様は、プログラム可能コンピュータ又はコントローラによって実行されるルーチンを含むコンピュータ実行可能命令又はコントローラ実行可能命令の形態をとることができる。当業者であれば、開示した技術が以下に図示及び説明した以外のコンピュータ又はコントローラシステム上で実践できることを理解するであろう。本明細書に記載の技術は、後述のコンピュータ実行可能命令のうちの１つ又は複数を実行するように特別にプログラム、構成、又は構築された専用コンピュータ又はデータプロセッサにおいて具現化することができる。したがって、本明細書で一般的に使用する「コンピュータ」及び「コントローラ」という用語は、任意のデータプロセッサを指し、インターネット機器及びハンドヘルドデバイス（たとえば、パームトップコンピュータ、ウェアラブルコンピュータ、セルラー又はモバイル電話、マルチプロセッサシステム、プロセッサベースの又はプログラム可能なコンシューマ電子機器、ネットワークコンピュータ、ミニコンピュータなど）を含むことができる。これらのコンピュータ及びコントローラによって扱われる情報は、任意の好適な表示媒体、たとえば、液晶ディスプレイ（ＬＣＤ）に提示することができる。コンピュータ実行可能タスク又はコントローラ実行可能タスクを実行するための命令は、ハードウェア、ファームウェア、又はハードウェア及びファームウェアの組み合わせを含む、任意の好適なコンピュータ可読媒体内に、又はその媒体上に記憶することができる。命令は、たとえば、フラッシュドライブ、ＵＳＢデバイス、及び／又は他の好適な媒体、たとえば、有形非一時的コンピュータ可読媒体を含む任意の好適なメモリデバイスに含めることができる。
【００１３】
「結合される」及び「接続される」という用語、ならびにこれらの派生形は、本明細書ではコンポーネント間の構造関係を記述するために使用し得る。これらの用語が互いに同義語であることは意図していないことを理解されたい。むしろ、特定の実施形態では、「接続される」は、２つ以上の要素が互いに直接接していることを示すために使用し得る。文脈において別途明記していない限り、「結合される」という用語は、２つ以上の要素が互いに直接的にもしくは間接的に（間に他の介在要素を介して）接していること、又は２つ以上の要素が（たとえば、信号の送受信もしくは関数呼び出しなどに関する因果関係のように）互いに協力又は相互作用すること、あるいはその両方を示すために使用し得る。
【００１４】
適切な環境
図１は、ロボットシステム１００がオブジェクトを輸送する例示的な環境の図である。ロボットシステム１００は、倉庫又は流通／出荷拠点における、荷下ろしユニット１０２、転置ユニット又はアセンブリ１０４（「転置アセンブリ１０４」）、輸送ユニット１０６、積載ユニット１０８、又はそれらの組み合わせを含むことができる。ロボットシステム１００の各ユニットは、１つ又は複数のタスクを実行するように構成することができる。タスクを順番に組み合わせて目標を達成する動作を行うことができ、たとえば、トラックもしくはバンからオブジェクトを荷下ろしして倉庫に保管する、又は保管場所からオブジェクトを荷下ろしし、トラックもしくはバンに積載して出荷することができる。他の例では、タスクは、オブジェクトをあるコンテナから他のコンテナに移動させることを含むことができる。各ユニットは、アクションのシーケンスを実行して（たとえば、その中の１つ又は複数のコンポーネントを動作させて）タスクを実行するように構成することができる。
【００１５】
いくつかの実施形態では、タスクは、開始位置１１４からタスク位置１１６までの対象オブジェクト又はパッケージ１１２（たとえば、ボックス、ケース、ケージ、パレットなど）の操作（たとえば、移動及び／又は向き変更）を含むことができる。たとえば、荷下ろしユニット１０２（たとえば、デバンニングロボット）は、対象パッケージ１１２をキャリア（たとえば、トラック）内の位置からコンベヤベルト上の位置に転置するように構成することができる。転置アセンブリ１０４（たとえば、パレタイズロボットアセンブリ）は、パッケージ１１２を輸送ユニット１０６又はコンベヤ１２０に積載するように構成することができる。他の例では、転置アセンブリ１０４は、１つ又は複数の対象パッケージ１１２をあるコンテナから他のコンテナに転置するように構成することができる。転置アセンブリ１０４は、オブジェクト（複数可）１１２をピックアップ及び運搬するようにそれぞれが個々に動作する真空式グリッパ（又は真空領域）を有するロボット式エンドエフェクタ１４０（「エンドエフェクタ１４０」）を含むことができる。エンドエフェクタ１４０がオブジェクトに隣接して載置された場合、対象パッケージ１１２に隣接するグリッパ（複数可）内に空気を吸い込んで、対象オブジェクトを保持するのに十分な圧力差を生成することができる。オブジェクト表面を損傷することも損なうこともなく、対象オブジェクトをピックアップ及び輸送することができる。一度に運搬されるパッケージ１１２の数は、ピックアップ位置におけるオブジェクトのスタッキング配置、降下位置における利用可能なスペース、ピックアップ位置及び降下位置の間の輸送経路、最適化ルーチン（たとえば、ユニット利用、ロボット利用などを最適化するためのルーチン）、それらの組み合わせなどに基づいて選択することができる。エンドエフェクタ１４０は、保持しているオブジェクトに関する情報（たとえば、保持しているオブジェクトの数及び構成）、任意の保持しているオブジェクト間の相対位置などを示す読取値を出力するように構成される１つ又は複数のセンサを有することができる。
【００１６】
撮像システム１６０は、コンポーネントの動作を監視し、対象オブジェクトを識別し、オブジェクトを追跡し、又は別の方法でタスクを実行するために使用される画像データを提供することができる。画像データを分析して、たとえば、パッケージスタッキング配置（たとえば、段ボール箱、パッキングコンテナなどの、スタックされたパッケージ）、オブジェクトの位置情報、利用可能な輸送経路（たとえば、ピックアップゾーン及び降下ゾーンの間の輸送経路）、把持アセンブリに関する位置情報、又はそれらの組み合わせを評価することができる。コントローラ１０９は、撮像システム１６０及びロボットシステム１００の他のコンポーネントと通信することができる。コントローラ１０９は、オブジェクトをピックアップ及び降下するシーケンス（たとえば、安定したコンテナとして図示）、位置情報、オブジェクトをピックアップする順序情報、オブジェクトを降下する順序情報、スタッキングプラン（たとえば、オブジェクトを降下ゾーンにスタッキングするためのプラン）、再スタッキングプラン（たとえば、コンテナの少なくとも一部をピックアップゾーンに再スタッキングするためのプラン）、又はそれらの組み合わせを含む輸送プランを生成することができる。輸送プランによって提供される情報及び命令は、コンテナの配置、コンテナの内容物、又はそれらの組み合わせに基づいて選択することができる。いくつかの実施形態では、コントローラ１０９は、電子／電気デバイス、たとえば、１つ又は複数の処理ユニット、プロセッサ、記憶デバイス（たとえば、外部又は内部記憶デバイス、メモリなど）、通信デバイス（たとえば、無線又は有線接続用の通信デバイス）、及び入出力デバイス（たとえば、スクリーン、タッチスクリーンディスプレイ、キーボード、キーパッドなど）を含むことができる。例示的な電子／電気デバイス及びコントローラコンポーネントについては、図２及び図６に関連して説明する。
【００１７】
輸送ユニット１０６は、対象パッケージ１１２（又は複数の対象パッケージ１１２）を転置アセンブリ１０４に関連付けられたエリアから積載ユニット１０８に関連付けられたエリアに転置することができ、積載ユニット１０８は、（たとえば、対象パッケージ１１２を運搬するパレットを移動させることによって）対象パッケージ１１２を保管場所に転置することができる。いくつかの実施形態では、コントローラ１０９は、転置アセンブリ１０４及び輸送ユニット１０６の動作を調整して、オブジェクトを保管棚に効率的に積載することができる。
【００１８】
ロボットシステム１００は、図１に示していない他のユニット、たとえば、マニピュレータ、サービスロボット、モジュール式ロボットなどを含むことができる。たとえば、いくつかの実施形態では、ロボットシステム１００は、オブジェクトをケージカート又はパレットからコンベヤ又は他のパレット上に転置するためのデパレタイズユニット、あるコンテナから他のコンテナにオブジェクトを転置するためのコンテナ入替ユニット、オブジェクトを包装するためのパッケージングユニット、オブジェクトをそれらの１つ又は複数の特性に応じてグループ化するためのソーティングユニット、オブジェクトをそれらの１つ又は複数の特性に応じて異なって操作するための（たとえば、ソートする、グループ化する、及び／又は転置するための）ピースピッキングユニット、あるいはそれらの組み合わせを含むことができる。システム１００のコンポーネント及びサブシステムは、異なるタイプのエンドエフェクタを含むことができる。たとえば、ロボットシステム１００の荷下ろしユニット１０２、輸送ユニット１０６、積載ユニット１０８、及び他のコンポーネントは、ロボット式マルチグリッパアセンブリを含むこともできる。ロボット式グリッパアセンブリの構成は、所望の運搬能力に基づいて選択することができる。例示の目的で、ロボットシステム１００は、出荷センターの状況で説明しているが、ロボットシステム１００は、他の環境／目的で、たとえば、製造、アセンブリ、パッケージング、ヘルスケア、及び／又は他のタイプの自動化のためにタスクを実行するように構成できることを理解されたい。タスク及び関連するアクションに関する詳細については、以下で説明する。
【００１９】
ロボットシステム
図２は、本技術の１つ又は複数の実施形態によるロボットシステム１００のコンポーネントを示すブロック図である。いくつかの実施形態では、たとえば、ロボットシステム１００は（たとえば、上述のユニットもしくはアセンブリ及び／又はロボットのうちの１つ又は複数において）、電子／電気デバイス、たとえば、１つ又は複数のプロセッサ２０２、１つ又は複数の記憶デバイス２０４、１つ又は複数の通信デバイス２０６、１つ又は複数の入出力デバイス２０８、１つ又は複数のアクチュエーションデバイス２１２、１つ又は複数の輸送モータ２１４、１つ又は複数のセンサ２１６、あるいはそれらの組み合わせを含むことができる。様々なデバイスは、有線接続及び／又は無線接続を介して互いに結合することができる。たとえば、ロボットシステム１００は、たとえば、システムバス、ペリフェラルコンポーネントインターコネクト（ＰＣＩ）バスもしくはＰＣＩ−Ｅｘｐｒｅｓｓバス、ハイパートランスポートもしくは業界標準アーキテクチャ（ＩＳＡ）バス、スモールコンピュータシステムインターフェース（ＳＣＳＩ）バス、ユニバーサルシリアルバス（ＵＳＢ）、ＩＩＣ（Ｉ２Ｃ）バス、又は電気電子技術者協会（ＩＥＥＥ）標準１３９４バス（「Ｆｉｒｅｗｉｒｅ」とも呼ばれる）などのバスを含むことができる。また、たとえば、ロボットシステム１００は、ブリッジ、アダプタ、コントローラ、又はデバイス間に有線接続を提供するための他の信号関連デバイスを含むことができる。無線接続は、たとえば、セルラー通信プロトコル（たとえば、３Ｇ、４Ｇ、ＬＴＥ、５Ｇなど）、無線ローカルエリアネットワーク（ＬＡＮ）プロトコル（たとえば、ワイヤレスフィディリティ（ＷＩＦＩ））、ピアツーピアもしくはデバイスツーデバイス通信プロトコル（たとえば、Ｂｌｕｅｔｏｏｔｈ、近距離無線通信（ＮＦＣ）など）、モノのインターネット（ＩｏＴ）プロトコル（たとえば、ＮＢ−ＩｏＴ、Ｚｉｇｂｅｅ、Ｚ−ｗａｖｅ、ＬＴＥ−Ｍなど）、及び／又は他の無線通信プロトコルに基づくことができる。
【００２０】
プロセッサ２０２は、記憶デバイス２０４（たとえば、コンピュータメモリ）に記憶された命令（たとえばソフトウェア命令）を実行するように構成されるデータプロセッサ（たとえば、中央処理装置（ＣＰＵ）、専用コンピュータ、及び／又はオンボードサーバ）を含むことができる。プロセッサ２０２は、プログラム命令を実行して、他のデバイスを制御する／それとインターフェースをとることによって、ロボットシステム１００にアクション、タスク、及び／又は動作を実行させることができる。
【００２１】
記憶デバイス２０４は、プログラム命令（たとえば、ソフトウェア）が記憶された非一時的コンピュータ可読媒体を含むことができる。記憶デバイス２０４のいくつかの例は、揮発性メモリ（たとえば、キャッシュ及び／又はランダムアクセスメモリ（ＲＡＭ））、及び／又は不揮発性メモリ（たとえば、フラッシュメモリ及び／又は磁気ディスクドライブ）を含むことができる。記憶デバイス２０４の他の例は、ポータブルメモリドライブ及び／又はクラウドストレージデバイスを含むことができる。
【００２２】
いくつかの実施形態では、記憶デバイス２０４を使用して、さらにマスターデータ、処理結果及び／又は所定のデータ／閾値を記憶し、これらへのアクセスを提供することができる。たとえば、記憶デバイス２０４は、ロボットシステム１００によって操作され得るオブジェクト（たとえば、ボックス、ケース、コンテナ、及び／又は製品）の説明を含むマスターデータを記憶することができる。１つ又は複数の実施形態では、マスターデータは、ロボットシステム１００によって操作されると想定されるオブジェクトの寸法、形状（たとえば、可能性のある姿勢のテンプレート、及び／又は異なる姿勢のオブジェクトを認識するためのコンピュータ生成モデル）、質量／重量情報、色彩設計、画像、識別情報（たとえば、バーコード、クイックレスポンス（ＱＲ）コード（登録商標）、ロゴなど、及び／又はそれらの想定位置）、想定質量又は重量、あるいはそれらの組み合わせを含むことができる。いくつかの実施形態では、マスターデータは、オブジェクトに関する操作関連情報、たとえば、各オブジェクトの重心位置、１つ又は複数のアクション／操作に対応する想定センサ測定値（たとえば、力、トルク、圧力、及び／又は接触の測定値）、あるいはそれらの組み合わせを含むことができる。ロボットシステムは、圧力レベル（たとえば、真空レベル、吸引レベルなど）、把持／ピックアップエリア（たとえば、アクティブ化される真空式グリッパのエリア又はバンク）、及び転置ロボットを制御するための他の記憶されたマスターデータを調べることができる。記憶デバイス２０４は、オブジェクト追跡データを記憶することもできる。いくつかの実施形態では、オブジェクト追跡データは、スキャン済み又は操作済みオブジェクトのログを含むことができる。いくつかの実施形態では、オブジェクト追跡データは、１つ又は複数の場所（たとえば、指定されたピックアップ位置もしくは降下位置及び／又はコンベヤベルト）におけるオブジェクトの画像データ（たとえば、写真、点群、ライブビデオフィードなど）を含むことができる。いくつかの実施形態では、オブジェクト追跡データは、１つ又は複数の場所におけるオブジェクトの位置及び／又は向きを含むことができる。
【００２３】
通信デバイス２０６は、ネットワークを介して外部又は遠隔のデバイスと通信するように構成される回路を含むことができる。たとえば、通信デバイス２０６は、受信器、送信器、変調器／復調器（モデム）、信号検出器、信号符号化器／復号器、コネクタポート、ネットワークカードなどを含むことができる。通信デバイス２０６は、１つ又は複数の通信プロトコル（たとえば、インターネットプロトコロル（ＩＰ）、無線通信プロトコルなど）に従って電気信号を送信、受信、及び／又は処理するように構成することができる。いくつかの実施形態では、ロボットシステム１００は通信デバイス２０６を使用して、ロボットシステム１００のユニット間で情報を交換する、及び／又はロボットシステム１００の外部のシステム又はデバイスと情報（たとえば、報告、データ収集、分析、及び／又はトラブルシューティング用）を交換することができる。
【００２４】
入出力デバイス２０８は、人間のオペレータとの間で情報を伝達及び／又は受信するように構成されるユーザインターフェースデバイスを含むことができる。たとえば、入出力デバイス２０８は、情報を人間のオペレータに伝達するためのディスプレイ２１０及び／又は他の出力デバイス（たとえば、スピーカー、ハプティックス回路、又は触覚フィードバックデバイスなど）を含むことができる。また、入出力デバイス２０８は、制御デバイス又は受信デバイス、たとえば、キーボード、マウス、タッチスクリーン、マイクロフォン、ユーザインターフェース（ＵＩ）センサ（たとえば、モーションコマンドを受信するためのカメラ）、ウェアラブル入力デバイスなどを含むことができる。いくつかの実施形態では、ロボットシステム１００は、入出力デバイス２０８を使用して、アクション、タスク、動作、又はそれらの組み合わせを実行する際に人間のオペレータと対話することができる。
【００２５】
いくつかの実施形態では、コントローラ（たとえば、図１のコントローラ１０９）は、プロセッサ２０２、記憶デバイス２０４、通信デバイス２０６、及び／又は入出力デバイス２０８を含むことができる。コントローラは、スタンドアロンコンポーネント又はユニット／アセンブリの一部とすることができる。たとえば、システム１００の各荷下ろしユニット、転置アセンブリ、輸送ユニット、及び積載ユニットは、１つ又は複数のコントローラを含むことができる。いくつかの実施形態では、単一のコントローラが、複数のユニット又はスタンドアロンコンポーネントを制御することができる。
【００２６】
ロボットシステム１００は、動き（たとえば、回転変位及び／又は並進変位）のために関節において接続された物理的な部材又は構造部材（たとえば、ロボット式マニピュレータアーム）を含むことができる。構造部材及び関節は、ロボットシステム１００の用途／動作に応じて１つ又は複数のタスク（たとえば、把持、回転、接合など）を実行するように構成されるエンドエフェクタ（たとえば、グリッパ）を操作するように構成される運動連鎖を形成することができる。ロボットシステム１００は、対応する関節まわりで又はその位置で構造部材を駆動又は操作する（たとえば、変位させる及び／又は向き変更する）ように構成されるアクチュエーションデバイス２１２（たとえば、モータ、アクチュエータ、ワイヤ、人工筋肉、電気活性ポリマーなど）を含むことができる。いくつかの実施形態では、ロボットシステム１００は、対応するユニット／シャーシを場所から場所へと輸送するように構成される輸送モータ２１４を含むことができる。たとえば、アクチュエーションデバイス２１２及び輸送モータは、ロボットアーム、リニアスライド、又は他のロボットコンポーネントに接続され得るか又はそれらの一部である。
【００２７】
センサ２１６は、たとえば、構造部材を操作するための、及び／又はロボットユニットを輸送するためのタスクを実施するために使用される情報を取得するように構成することができる。センサ２１６は、ロボットシステム１００の１つ又は複数の物理特性（たとえば、１つ又は複数の構造部材／それらの関節の状態、状況、及び／又は位置）、及び／又は周辺環境の１つ又は複数の物理特性を検出又は測定するように構成されるデバイスを含むことができる。センサ２１６のいくつかの例は、接触センサ、近接センサ、加速度計、ジャイロスコープ、力センサ、ひずみゲージ、トルクセンサ、位置エンコーダ、圧力センサ、真空センサなどを含むことができる。
【００２８】
いくつかの実施形態では、たとえば、センサ２１６は、周辺環境を検出するように構成される１つ又は複数の撮像デバイス２２２（たとえば、２次元及び／又は３次元撮像デバイス）を含むことができる。撮像デバイスは、カメラ（視覚及び／又は赤外線カメラを含む）、ライダーデバイス、レーダーデバイス、及び／又は他の距離測定もしくは検出デバイスを含むことができる。撮像デバイス２２２は、マシン／コンピュータビジョン（たとえば、自動検査、ロボット案内、又は他のロボットアプリケーション用）の実装に使用される、デジタル画像及び／又は点群などの、検出された環境の表現を生成することができる。
【００２９】
ここで図１及び図２を参照すると、ロボットシステム１００は（たとえば、プロセッサ２０２を介して）、画像データ及び／又は点群を処理して、図１の対象パッケージ１１２、図１の開始位置１１４、図１のタスク位置１１６、図１の対象パッケージ１１２の姿勢、又はそれらの組み合わせを識別することができる。ロボットシステム１００は画像データを使用して、オブジェクトにアクセスし、それをピックアップする方法を決定することができる。オブジェクトの画像を分析して、隣接するオブジェクトもまたグリッパアセンブリに近接し得るとしても、対象オブジェクトを把持するように真空式グリッパアセンブリを位置決めするためのピックアッププランを決定することができる。オンボードセンサ２１６（たとえば、ライダーデバイス）からの撮像出力、及びリモートデバイス（たとえば、図１の撮像システム１６０）からの画像データは、単独で又は組み合わせて利用することができる。ロボットシステム１００は（たとえば、様々なユニットを介して）、指定エリア（たとえば、トラック内、コンテナ内、又はコンベヤベルト上のオブジェクトのピックアップ位置）の画像を撮影及び分析して、対象パッケージ１１２及びその開始位置１１４を識別することができる。同様に、ロボットシステム１００は、他の指定エリア（たとえば、オブジェクトをコンベヤ上に載置するための降下位置、オブジェクトをコンテナ内に載置するための位置、又はスタッキング目的のパレット上の位置）の画像を撮影及び分析して、タスク位置１１６を識別することができる。
【００３０】
また、たとえば、図２のセンサ２１６は、ロボットシステム１００の構造部材（たとえば、ロボットアーム及び／又はエンドエフェクタ）及び／又はロボットシステム１００の対応する関節の位置を検出するように構成される図２の位置センサ２２４（たとえば、位置エンコーダ、電位差計など）を含むことができる。ロボットシステム１００は、位置センサ２２４を使用して、タスクの実行中の構造部材及び／又は関節の位置及び／又は向きを追跡することができる。本明細書で開示する荷下ろしユニット、転置ユニット、輸送ユニット／アセンブリ、及び積載ユニットは、センサ２１６を含むことができる。
【００３１】
いくつかの実施形態では、センサ２１６は、複数の物理的な構造又は面の間の直接接触に関連する特性を測定するように構成される接触センサ２２６（たとえば、力センサ、ひずみゲージ、ピエゾ抵抗／圧電センサ、静電容量センサ、弾性抵抗（ｅｌａｓｔｏｒｅｓｉｓｔｉｖｅ）センサ、及び／又は他の触覚センサ）を含むことができる。接触センサ２２６は、対象パッケージ１１２に対するエンドエフェクタ（たとえば、グリッパ）の把持に対応する特性を測定することができる。それに応じて、接触センサ２２６は、物理的な接触に対応する定量化された測定値（たとえば、測定された力、トルク、位置など）、グリッパ及び対象パッケージ１１２の間の接触又は付着の程度、又は他の接触特性を表す接触測定値を出力することができる。たとえば、接触測定値は、エンドエフェクタによる対象パッケージ１１２の把持に伴う力に関連する１つ又は複数の力読取値、圧力読取値、又はトルク読取値を含むことができる。いくつかの実施形態では、接触測定値は、（１）真空把持に関連する圧力読取値と、（２）オブジェクト（複数可）の運搬に関連する力読取値（たとえば、モーメント読取値）と、の両方を含むことができる。接触測定値に関する詳細については、以下で説明する。
【００３２】
以下でさらに詳細に説明するように、ロボットシステム１００は（たとえば、プロセッサ２０２を介して）、接触測定値、画像データ、それらの組み合わせなどに基づいて、異なるアクションを実施してタスクを遂行することができる。たとえば、ロボットシステム１００は、初期接触測定値が閾値を下回る、たとえば、真空グリップが低い（たとえば、吸引レベルが真空閾値を下回る）、又はそれらの組み合わせの場合に、対象パッケージ１１２を再把持することができる。また、ロボットシステム１００は、１つ又は複数の輸送ルール（たとえば、タスクの実行中に接触度合い又は吸引レベルが閾値を下回る場合）、ならびに接触測定値、画像データ、及び／又は他の読取値もしくはデータに基づいて、対象パッケージ１１２を意図的に降下する、タスク位置１１６を調整する、アクションの速度もしくは加速度を調整する、又はそれらの組み合わせを行うことができる。
【００３３】
ロボット式転置アセンブリ
図３に、本技術の１つ又は複数の実施形態による転置アセンブリ１０４を示す。転置アセンブリ１０４は、撮像システム１６０及びロボットアームシステム１３２を含むことができる。撮像システム１６０は、デパレタイズ台１１０を有する対象環境からキャプチャされた画像データを提供することができる。ロボットアームシステム１３２は、ロボットアームアセンブリ１３９及びエンドエフェクタ１４０を含むことができ、エンドエフェクタ１４０は、視覚センサデバイス１４３及びマルチグリッパアセンブリ１４１（「グリッパアセンブリ１４１」）を含む。ロボットアームアセンブリ１３９は、ピックアップ環境１６３に配置されたスタック１６５内のオブジェクトのグループの上方にエンドエフェクタ１４０を位置決めすることができる。視覚センサデバイス１４３は、スタック１６５内のオブジェクトに接触したり、これらを移動したり、又は取り除いたりすることなく、近くのオブジェクトを検出することができる。
【００３４】
エンドエフェクタ１４０の底部に対して対象オブジェクトを固定することができる。いくつかの実施形態では、グリッパアセンブリ１４１は、それぞれが選択的に空気を吸い込んで真空グリップを提供することが可能なアドレス指定可能領域を有することができる。いくつかの動作モードでは、対象オブジェクト（複数可）に近接するアドレス指定可能領域のみが空気を吸い込んで、真空式グリッパデバイスと対象オブジェクト（複数可）との間に圧力差を直接提供する。これにより、グリッパアセンブリ１４１の他の把持部分が他のパッケージに隣接又は接触していても、選択されたパッケージ（すなわち、対象パッケージ）のみを引っ張るか又は別の方法でグリッパアセンブリ１４１に対して固定することが可能になる。
【００３５】
図３は、コンベヤ１２０の上方に位置する単一のオブジェクト又はパッケージ１１２（「パッケージ１１２」）を運搬するグリッパアセンブリ１４１を示している。グリッパアセンブリ１４１は、パッケージ１１２をコンベヤベルト１２０上に解放することができ、ロボットアームシステム１３２は次いで、荷下ろししたグリッパアセンブリ１４１を両方のパッケージ１１２ａ、１１２ｂの真上に位置決めすることによって、パッケージ１１２ａ、１１２ｂを取得することができる。グリッパアセンブリ１４１は次いで、真空グリップを介して両方のパッケージ１１２ａ、１１２ｂを保持することができ、ロボットアームシステム１３２は、保持しているパッケージ１１２ａ、１１２ｂをコンベヤ１２０の真上の位置まで運搬することができる。グリッパアセンブリ１４１は次いで、パッケージ１１２ａ、１１２ｂをコンベヤ１２０上に（たとえば、同時に又は順次的に）解放することができる。このプロセスを任意の回数繰り返して、スタック１６５からコンベヤ１２０にオブジェクトを運搬することができる。
【００３６】
視覚センサデバイス１４３は、グリッパアセンブリ１４１の下に保持されたパッケージを検出するように構成される１つ又は複数の光センサを含むことができる。視覚センサデバイス１４３は、グリッパアセンブリ１４１の側面に位置決めされ、パッケージのピックアップ／降下と干渉しないようにすることができる。いくつかの実施形態では、視覚センサデバイス１４３をエンドエフェクタ１４０又はロボットアーム１３９に移動可能に結合して、視覚センサデバイス１４３をグリッパアセンブリ１４１の異なる側面に移動できるようにして、オブジェクトにぶつからないようにしつつ、グリッパアセンブリ１４１によって保持される１つ又は複数のオブジェクトがある場合に、それらの存在を検出することができる。視覚センサデバイス１４３の位置、数、及び構成は、グリッパアセンブリ１４１の構成に基づいて選択することができる。
【００３７】
図３を引き続き参照すると、デパレタイズ台（ｄｅ−ｐａｌｌｅｔｉｚｉｎｇ  ｐｌａｔｆｏｒｍ）１１０は、複数のオブジェクト又はパッケージ１１２（単数形で、「パッケージ１１２」）が、スタッキング及び／又はステージングされて輸送の準備が整い得る任意の台、面、及び／又は構造を含むことができる。撮像システム１６０は、デパレタイズ台１１０上のパッケージ１１２の画像データをキャプチャするように構成される１つ又は複数の撮像デバイス１６１を含むことができる。撮像デバイス１６１は、ピックアップ環境又は領域１６３における距離データ、位置データ、ビデオ、静止画、ライダーデータ、レーダーデータ、及び／又はモーションをキャプチャすることができる。「オブジェクト」及び「パッケージ」という用語を本明細書で使用しているが、これらの用語は、たとえば、「ケース」、「ボックス」、「カートン」、又はそれらの任意の組み合わせなどであるがこれらに限定されない、把持し、持ち上げ、輸送し、届けることが可能な他の任意のアイテムを含むことに留意されたい。そのうえ、多角形のボックス（たとえば、長方形のボックス）を本明細書で開示する図面に示しているが、ボックスの形状はそのような形状に限定されず、以下で詳細に説明するように、把持し、持ち上げ、輸送し、届けることが可能な、任意の規則的な又は不規則な形状を含む。
【００３８】
デパレタイズ台１１０と同様に、受け取り側のコンベヤ１２０は、さらなるタスク／動作のためにパッケージ１１２を受け取るように指定される任意の台、面、及び／又は構造を含むことができる。いくつかの実施形態では、受け取り側のコンベヤ１２０は、さらなる動作（たとえば、ソート及び／又は保管）のために、ある位置（たとえば、解放点）から他の位置にパッケージ１１２を輸送するためのコンベヤシステムを含むことができる。
【００３９】
図４は、本技術のいくつかの実施形態によるロボットアーム１３９に結合されたエンドエフェクタ１４０の正面図である。図５は、図４のエンドエフェクタ１４０の底面図である。視覚センサデバイス１４３は、パッケージを検出するように構成される１つ又は複数のセンサ１４５と、視覚センサデバイス１４３に対するグリッパアセンブリ１４１の位置の較正などに使用される較正ボード１４７と、を含むことができる。いくつかの実施形態では、較正ボード１４７は、動作環境内のエンドエフェクタ１４０又はグリッパアセンブリ１４１の位置、ロボットアーム１３９の位置、又はそれらの組み合わせを較正又は定義するために使用されるパターン又はデザインを有するプラカードとすることができる。グリッパアセンブリ１４１は、把持ゾーン１２５を定義するアドレス指定可能真空ゾーン又は領域１１７ａ、１１７ｂ、１１７ｃ（総称して「真空領域１１７」）を含むことができる。１つの真空領域１１７の説明は、特記のない限り、他の真空領域１１７にも当てはまる。いくつかの実施形態では、各真空領域１１７は、エンドエフェクタ１４０の外部の真空源に接続されたコンポーネントを含む吸引チャネルバンクとすることができる。真空領域１１７は、オブジェクトを保持できる把持接合部１２１（図４では１つを識別）を含むことができる。
【００４０】
ここで図４を参照すると、真空領域１１７ａは、空気を吸い込んでパッケージ１１２を保持することができ、空気の吸い込みを減少又は停止させてパッケージ１１２を解放することができる。真空領域１１７ｂ、１１７ｃ（パッケージを保持しないよう図示）は、独立して空気を吸い込んで（矢印で示す）、パッケージを対応する位置１１３ａ、１１３ｂ（図４に仮想線で示す）に保持することができる。ここで図５を参照すると、真空領域１１７は、空気を吸い込む吸引要素１５１（図５では１つを識別）のグループ又はバンクを含むことができる。吸引要素１５１は、相互に均一／一様に又は不均一に離間させることができ、所望のパターン（たとえば、不規則な又は規則的なパターン）で配置することができる。真空領域１１７は、同一の又は異なる数、構成、及び／又はパターンの吸引要素１５１を有することができる。真空領域１１７の幾何形状に一致するパッケージを運搬するために、真空領域１１７の各吸引要素１５１を介して空気を吸い込むことができる。より小さいパッケージを運搬するために、パッケージの幾何形状に一致する吸引要素１５１のサブセット（たとえば、パッケージの境界又は外周内に位置する吸引要素１５１）を介して空気を吸い込むことができる。たとえば、真空領域１１７のうちの１つの吸引要素のサブセット、たとえば、把持される対象面に直接隣接するか又はそれに重なる吸引要素１５１のみを介して空気を吸い込むことができる。図５に示すように、たとえば、境界１１９（破線で示す）内の吸引要素１５１を使用して、パッケージの対応する円形面を把持することができる。
【００４１】
全ての真空領域１１７がアクティブである場合、エンドエフェクタ１４０は、把持接合部１２１のそれぞれ又は底面２２３全体に沿って、ほぼ一様な把持力を提供することができる。いくつかの実施形態では、底面２２３はほぼ連続した実質的に途切れない面であり、隣接する真空領域１１７の吸引要素１５１間の距離又はピッチは、同一の真空領域１１７の吸引要素１５１間のピッチより小さくするか、等しくするか、又は大きくする（たとえば、２倍、３倍、４倍など）ことができる。エンドエフェクタ１４０は、真空領域１１７とオブジェクトとの間に真空状態を形成して維持することによって実現されるような引力を介してオブジェクト（複数可）を保持する又は張り付かせるように構成することができる。たとえば、エンドエフェクタ１４０は、対象オブジェクトの面に接触し、真空領域１１７と面との間の空間に真空状態を形成／維持するように構成される１つ又は複数の真空領域１１７を含むことができる。ロボットアーム１３９を介してエンドエフェクタ１４０を下げて、対象オブジェクトの面に真空領域１１７を押し当て、対向する面の間の気体を押し出すか又は別の方法で除去した場合に、真空状態を作成することができる。ロボットアーム１３９がエンドエフェクタ１４０を持ち上げる場合、真空領域１１７内の空間と周辺環境との圧力差によって、対象オブジェクトが真空領域１１７に付着したままにすることができる。いくつかの実施形態では、エンドエフェクタ１４０の真空領域１１７を通る気流速度は、対象オブジェクトをしっかりと把持するのに十分な把持が実現されるように動的に、又は対象オブジェクトと、真空領域１１７の接触面又は把持面との間の接触面積に基づいて調整することができる。同様に、真空領域１１７を通る気流速度は、対象オブジェクトをしっかりと把持するのに十分な把持が実現されるように、対象オブジェクトの重量に対応するよう、たとえば、より重いオブジェクトに対して気流を増加させるよう、動的に調整することができる。例示的な吸引要素については、図１５に関連して説明する。
【００４２】
図６は、本技術の１つ又は複数の実施形態による転置アセンブリ１０４の機能ブロック図である。処理ユニット１５０（ＰＵ）は、ロボットアームシステム１３２の動き及び／又は他のアクションを制御することができる。ＰＵ１５０は、センサ（たとえば、図３の撮像システム１６０のセンサ１６１）、視覚センサデバイス１４３のセンサ１４５、又はビデオ、静止画、ライダーデータ、レーダーデータ、もしくはそれらの組み合わせを含む画像データを収集することが可能な他のセンサもしくは検出器から画像データを受信することができる。いくつかの実施形態では、画像データは、パッケージ１１２の表面画像（ＳＩ）を示す又は表すことができる。
【００４３】
ＰＵ１５０は、メモリ１５２、デジタルメモリ記憶デバイス、又は非一時的コンピュータ可読媒体、たとえば、限定はしないが、ランダムアクセスメモリ（ＲＡＭ）、ディスクドライブ、磁気メモリ、読み取り専用メモリ（ＲＯＭ）、コンパクトディスク（ＣＤ）、ソリッドステートメモリ、セキュアデジタルカード、及び／又はコンパクトフラッシュカードに永久に又は一時的に記憶することができるソフトウェア又はコンピュータ命令コードを実行する任意の電子データ処理ユニットを含むことができる。ＰＵ１５０は、本明細書で具現化する特定の機能のために開発されるアルゴリズムを含むソフトウェア又はコンピュータ命令コードを実行することによって駆動され得る。いくつかの実施形態では、ＰＵ１５０は、本明細書で開示する実施形態向けにカスタマイズされた特定用途向け集積回路（ＡＳＩＣ）であり得る。いくつかの実施形態では、ＰＵ１５０は、マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、プログラマブルロジックデバイス（ＰＬＤ）、プログラマブルゲートアレイ（ＰＧＡ）、及び信号発生器のうちの１つ又は複数を含むことができるが、本明細書における実施形態では、「プロセッサ」という用語はそのような例示的な処理ユニットに限定されず、その意味は狭く解釈されることを意図していない。たとえば、ＰＵ１５０は２つ以上の電子データ処理ユニットを含むこともできる。いくつかの実施形態では、ＰＵ１５０は、ロボットアームシステム１３０、エンドエフェクタ１４０、及び／又は撮像システム１６０を含むがこれらに限定されないロボットシステム１００の他の任意のシステムによって、又はそれらと共に使用されるプロセッサ（複数可）とすることができる。図６のＰＵ１５０及び図２のプロセッサ２０２は、同一のコンポーネント又は異なるコンポーネントとすることができる。
【００４４】
ＰＵ１５０は、入力データの受信を容易にするために、システム及び／又はソースに（たとえば、ワイヤ、バス、及び／又は無線接続を介して）電子的に結合され得る。いくつかの実施形態では、動作可能に結合されることは、電子的に結合されることと置き換え可能であるとみなされ得る。直接接続が行われる必要はなく、代わりに、入力データのそのような受信及び出力データの提供は、バスを介して、無線ネットワークを介して、あるいはＰＵ１５０により物理的又は仮想的なコンピュータポートを介して受信及び／又は送信される信号として、行うことができる。ＰＵ１５０は、本明細書で説明する方法を実行するようにプログラム又は構成され得る。いくつかの実施形態では、ＰＵ１５０は、撮像システム１６０、エンドエフェクタ１４０などを含むがこれらに限定されない様々なシステム及び／又はユニットからデータを受信するようにプログラム又は構成され得る。いくつかの実施形態では、ＰＵ１５０は、出力データを様々なシステム及び／又はユニットに提供するようにプログラム又は構成され得る。
【００４５】
撮像システム１６０は、パッケージ（たとえば、図３のデパレタイズ台１１０上に配置されたパッケージ１１２）を表す画像データをキャプチャするように構成される１つ又は複数のセンサ１６１を含むことができる。いくつかの実施形態では、画像データは、パッケージの登録ステータスの判定がそこから行われ得る、１つ又は複数のパッケージの面に見えている視覚的デザイン及び／又はマーキングを表すことができる。いくつかの実施形態では、センサ１６１は、対象とする（たとえば、可視及び／又は赤外）電磁スペクトル帯域幅内で機能するように構成され、対応するスペクトル内の光／エネルギーを検出するために使用されるカメラである。いくつかのカメラの実施形態では、画像データは、１つ又は複数の３次元（３−Ｄ）カメラ及び／又は１つ又は複数の２次元（２−Ｄ）カメラからキャプチャされる点群を形成するデータ点のセット、深度マップ、又はそれらの組み合わせである。これらのカメラから、撮像システム１６０と、パッケージ１１２の１つ又は複数の（たとえば、撮像システム１６０の視線に対する）露出面との間の距離又は深度が求められ得る。いくつかの実施形態では、画像認識アルゴリズム（複数可）、たとえば、コンテキストに応じた画像分類アルゴリズム（複数可）及び／又はエッジ検出アルゴリズム（複数可）を使用して、距離又は深度を求めることができる。距離／深度値は、求められると、ロボットアームシステムを介してパッケージを操作するために使用され得る。たとえば、ＰＵ１５０及び／又はロボットアームシステムは、パッケージが持ち上げられる及び／又は把持され得る位置を計算するために距離／深度値を使用することができる。本明細書に記載のデータ、たとえば、画像データは、任意のアナログ又はデジタル信号を、離散又は連続のいずれでも含むことができ、これは情報を含むか又は情報を示すことができることに留意されたい。
【００４６】
撮像システム１６０は、動作情報（たとえば、ステータス情報、設定など）、センサ１６２によってキャプチャされたパッケージ（複数可）１１２の画像、又は以下で詳細に説明するロボットシステム１００の１人又は複数人のオペレータによって見られ得る他の情報／出力を提示するように構成される少なくとも１つの表示ユニット１６４を含むことができる。加えて、表示ユニット１６４は、対象パッケージ、非対象パッケージ、登録済みパッケージ、及び／又はパッケージの未登録インスタンスを表すシンボロジーなどであるがこれらに限定されない他の情報を提示するように構成することができる。
【００４７】
視覚センサデバイス１４３は、有線及び／又は無線接続を介してＰＵ１５０と通信することができる。視覚センサ１４５は、ビデオセンサ、ＣＣＤセンサ、ライダーセンサ、レーダーセンサ、距離測定又は検出デバイスなどとすることができる。視覚センサデバイス１４３からの出力を使用して、マシン／コンピュータビジョン（たとえば、自動検査、ロボット案内、又は他のロボットアプリケーション用）の実装に使用される、デジタル画像及び／又は点群などの、パッケージ（複数可）の表現を生成することができる。視覚センサデバイス１４３の視野角（たとえば、３０度、９０度、１２０度、１５０度、１８０度、２１０度、２７０度の水平及び／又は垂直ＦＯＶ）及び射程は、グリッパアセンブリ１４１の構成に基づいて選択することができる（図４では約９０度の例示的な水平ＦＯＶを示している）。いくつかの実施形態では、視覚センサ１４５は、１つ又は複数の光源（たとえば、レーザー、赤外線レーザーなど）及び光検出器を有するライダーセンサである。光検出器は、光源によって発せられ、パッケージの表面によって反射した光を検出することができる。パッケージの存在及び／又はそこまで距離は、検出された光に基づいて決定することができる。いくつかの実施形態では、センサ１４５は、実質的に全ての真空把持ゾーン（たとえば、図４の真空把持ゾーン１２５）などのエリアをスキャンすることができる。たとえば、センサ１５４は、発せられた光を検出ゾーンにわたって偏向するように動く１つ又は複数の偏光器を含むことができる。いくつかの実施形態では、センサ１５４は、垂直及び／又は水平にスキャンすること、たとえば、１０°ライダースキャン、３０°ライダースキャン、５０°ライダースキャンなどを行うことが可能なスキャニングレーザーベースのライダーセンサである。センサ１４５の構成、ＦＯＶ、感度、及び出力は、所望の検出能力に基づいて選択することができる。いくつかの実施形態では、センサ１４５は、存在／距離検出器（たとえば、レーダーセンサ、ライダーセンサなど）と、１つ又は複数のカメラ、たとえば、３次元又は２次元カメラとの両方を含むことができる。センサとパッケージの１つ又は複数の面との間の距離又は深度は、たとえば、１つ又は複数の画像認識アルゴリズムを使用して決定され得る。表示ユニット１４７を使用して、画像データを見る、センサステータスを見る、較正ルーチンを実行する、ログ及び／又はレポート、あるいは他の情報又はデータ、たとえば、限定はしないが、パッケージ１１２の対象、非対象、登録済み、及び／又は未登録インスタンスを表すシンボロジーを見ることができる。
【００４８】
ロボットシステム１００を制御するために、ＰＵ１５０はセンサ１４５及びセンサ１６１の一方又は両方からの出力を使用することができる。いくつかの実施形態では、センサ１６１からの画像出力を使用して、オブジェクトを輸送する順序を含む全体的な転置プランを決定する。センサ１４５からの画像出力ならびにセンサ２０５（たとえば、力検出器アセンブリ）を使用して、オブジェクトに対してマルチ把持アセンブリを位置決めし、オブジェクトピックアップを確認し、輸送ステップを監視することができる。
【００４９】
図６を引き続き参照すると、ＲＤＳ１７０は、複数のパッケージ１１２の登録レコード１７２、真空式グリッパのデータ１７３を記憶するように構成される任意のデータベース及び／又はメモリ記憶デバイス（たとえば、非一時的コンピュータ可読媒体）を含むことができる。たとえば、ＲＤＳ１７０は、読み取り専用メモリ（ＲＯＭ）、コンパクトディスク（ＣＤ）、ソリッドステートメモリ、セキュアデジタルカード、コンパクトフラッシュカード、及び／又はデータ記憶サーバもしくはリモート記憶デバイスを含むことができる。
【００５０】
いくつかの実施形態では、登録レコード１７２はそれぞれ、対応するパッケージ１１２の物理的な特性又は属性を含むことができる。たとえば、各登録レコード１７２は、１つ又は複数のテンプレートＳＩ、視覚データ（たとえば、基準レーダーデータ、基準ライダーデータなど）、２−Ｄ又は３−Ｄサイズ測定値、重量、及び／又は重心（ＣｏＭ）情報を含むことができるが、これらに限定されない。テンプレートＳＩは、パッケージのデザイン、マーキング、外見、外形／輪郭、又はそれらの組み合わせを含む、パッケージの既知の又は事前に決定された可視特性を表すことができる。２−Ｄ又は３−Ｄサイズ測定値は、既知の／想定されるパッケージの長さ、幅、高さ、又はそれらの組み合わせを含むことができる。
【００５１】
いくつかの実施形態では、ＲＤＳ１７０は、以下で開示する実施形態に従って作成される登録レコード１７２の新たなインスタンス（たとえば、以前は未知のパッケージ、及び／又はパッケージの以前は未知の特徴のもの）を受信するように構成することができる。それに応じて、ロボットシステム１００は、ＲＤＳ１７０に記憶される登録レコード１７２の数を増やして、パッケージ１１２を登録するためのプロセスを自動化することができ、それにより、パッケージ１１２の未登録インスタンスを少なくして、デパレタイズ動作をより効率的にすることができる。ライブ／動作データを使用してＲＤＳ１７０内の登録レコード１７２を動的に（たとえば、動作／展開中に）更新することにより、ロボットシステム１００は、以前は未知の又は想定外の状況（たとえば、照明条件、未知の向き、及び／又はスタッキングの不一致）、及び／又は新たに遭遇したパッケージを考慮することができるコンピュータ学習プロセスを効率的に実装することができる。それに応じて、ロボットシステム１００は、「未知の」状況／パッケージから生じる失敗、関連する人間のオペレータの介入、及び／又は関連するタスクの失敗（たとえば、取り落としたパッケージ及び／又は衝突）を削減することができる。
【００５２】
ＲＤＳ１７０は、アドレス指定可能真空領域の数、真空式グリッパデバイス（たとえば、マルチグリッパアセンブリ）の運搬能力、真空プロトコル（たとえば、真空レベル、気流速度など）、あるいはロボットアームシステム１３０及び／又はエンドエフェクタ１４０の制御に使用される他のデータを含むが、これらに限定されない特性又は属性を含む真空式グリッパデータ１７３を含むことができる。オペレータは、ロボットアームシステム１３０内に設置された真空式グリッパに関する情報を入力することができる。ＲＤＳ１７０は次いで、動作させる真空式グリッパデバイスに対応する真空式グリッパデータ１７３を識別する。いくつかの実施形態では、真空式グリッパデバイス（たとえば、図３のグリッパアセンブリ１４１）は、ロボットアーム１３９によって自動的に検出され、ＲＤＳ１７０を使用して、検出された真空式グリッパデバイスに関する情報を識別する。識別された情報を使用して、真空式グリッパデバイスの設定を決定することができる。それに応じて、異なる真空式グリッパデバイス又はマルチグリッパアセンブリを設置することができ、ロボットアームシステム１３０と共に使用される。
【００５３】
エンドエフェクタ
図７は、本技術の１つ又は複数の実施形態によるエンドエフェクタ１４０の一部分の前方上面等角図である。図８は、図７のエンドエフェクタ１４０の前方底面等角図である。ここで図７を参照すると、エンドエフェクタ１４０は、取付インターフェース又はブラケット２０９（「取付ブラケット２０９」）と、ブラケット２０９及びグリッパアセンブリ１４１に結合された力検出器アセンブリ２０５と、を含むことができる。流体ライン２０７は、加圧デバイス、たとえば、真空源２２１（図８には図示せず）、及びグリッパアセンブリ１４１に流体的に結合することができる。
【００５４】
視覚センサデバイス１４３のＦＯＶ（可変又は固定ＦＯＶ）は、グリッパアセンブリ１４１のほぼ下に向けられて、グリッパアセンブリ１４１の下で運搬される任意のオブジェクトの検出を提供する。視覚センサデバイス１４３が、真空領域１１７（１つを識別）のうちの１つ又は複数の実質的に水平な面、より詳細には、把持接合部１２１（１つを識別）の把持面の下方になるように、視覚センサデバイス１４３をエンドエフェクタ１４０の外周に沿って位置決めすることができる。「実質的に水平」という用語は一般に、水平の±約２度内の、たとえば、水平の±約１度内の、たとえば、水平の±約０．７度内の角度を指す。一般に、エンドエフェクタ１４０は複数の真空領域１１７を含み、これらによりロボットシステム１００は、真空領域１１７の単一のインスタンスでは本来把持できないであろう対象オブジェクトを把持できるようになる。しかしながら、真空領域１１７の単一のインスタンスを有するエンドエフェクタ１４０に比べてエンドエフェクタ１４０のサイズが大きくなるために、より大きいエリアが検出センサから見えなくなる。１つの利点として、把持接合部１２１の水平面の下方に位置する視覚センサデバイス１４３は、エンドエフェクタ１４０に取り付けられていないか、又はロボットシステム１００の動作環境内の異なる場所に位置する視覚センサデバイス１４３の他のインスタンスには通常見えないはずの、対象オブジェクトを含むオブジェクトとの接触開始中の把持接合部１２１を含むＦＯＶを視覚センサデバイス１４３に提供することができる。したがって、遮られないＦＯＶによって、把持動作中のリアルタイムの撮像センサ情報をロボットシステムに提供することができ、これにより、エンドエフェクタ１４０の位置及びモーションのリアルタイム又はその場での調整を可能にすることができる。さらなる利点として、把持接合部１２１の水平面の下方に位置する視覚センサデバイス１４３と、オブジェクト（たとえば、図３の非対象オブジェクト１１２ａ、１１２ｂ）とが近接していることにより、把持動作中の精度及び正確性が高まり、これにより、オブジェクトの押しつぶしなどによる、エンドエフェクタ１４０からの、対象オブジェクト１１２及び対象オブジェクトに隣接する非対象オブジェクト１１２ａ、１１２ｂへの損傷を保護又は防止することができる。
【００５５】
例示の目的で、視覚センサデバイス１４３は、エフェクタの幅に沿ったエンドエフェクタ１４０のコーナーに位置決めすることができるが、視覚センサデバイス１４３は異なって位置決めできることを理解されたい。たとえば、視覚センサデバイス１４３は、エンドエフェクタ１４０の幅又は長さの中心に位置決めすることができる。他の例として、視覚センサデバイス１４３は、他のコーナー又はエフェクタの長さに沿った他の位置に位置決めすることができる。
【００５６】
真空源２２１（図７）は、負圧を提供する、真空（部分真空を含む）に引く、もしくは圧力差を生成することが可能な１つ又は複数の加圧デバイス、ポンプ、弁、あるいは他のタイプのデバイスを限定なく含むことができる。いくつかの実施形態では、１つ又は複数のレギュレータ、たとえば、真空源２２１とグリッパアセンブリ１４１との間のレギュレータ、又はグリッパアセンブリ１４１内のレギュレータを用いて気圧を制御することができる。真空源２２１が真空に引く場合、グリッパアセンブリ１４１の底２２４に空気を吸い込むことができる（図８に矢印で示す）。圧力レベルは、運搬されるオブジェクトのサイズ及び重量に基づいて選択することができる。真空レベルが低すぎる場合、グリッパアセンブリ１４１は、対象オブジェクト（複数可）をピックアップできない場合がある。真空レベルが高すぎる場合、パッケージの外側を損傷する可能性がある（たとえば、真空レベルが高いことによって、外側のビニール袋を有するパッケージが破れる可能性がある）。いくつかの実施形態によれば、真空源２２１は、おおよそ１００ｍＢａｒ、５００ｍＢａｒ、１，０００ｍＢａｒ、２，０００ｍＢａｒ、４，０００ｍＢａｒ、６，０００ｍＢａｒ、８，０００ｍＢａｒなどの真空レベルを提供することができる。代替的な実施形態では、より高い又はより低い真空レベルが提供される。いくつかの実施形態では、真空レベルは、所望の把持力に基づいて選択することができる。各領域１１７の真空把持力は、ある真空レベル（たとえば、２５％、５０％、又は７５％の最大真空レベル、すなわち、真空源２２１の最大真空レベル）において、約５０Ｎ、１００Ｎ、１５０Ｎ、２００Ｎ、又は３００Ｎ以上にすることができる。これらの把持力は、段ボール箱、ビニール袋、又は他の輸送に適したパッケージをピックアップする場合に実現することができる。同一のオブジェクト又は異なるオブジェクトを輸送する場合を含めて、異なる真空レベルを使用することができる。たとえば、最初にオブジェクトを把持するために、比較的高い真空を提供することができる。パッケージが把持されると、オブジェクトを保持し続けるのに必要な把持力（ひいては真空レベル）を低減することができるので、より低い真空レベルを提供することができる。特定のタスクを実行する場合に、把持真空を増加させて、しっかりとした把持を維持することができる。
【００５７】
力検出器アセンブリ２０５は、エンドエフェクタ１４０によって運搬される負荷を示す力を検出するように構成される１つ又は複数のセンサ２０３（１つを例示）を含むことができる。検出された測定値は、座標系の１つの軸及び／又は複数の軸に沿った直線力測定値、モーメント測定値、圧力測定値、又はそれらの組み合わせを含むことができる。いくつかの実施形態では、センサ２０３は、最大で３軸の力（たとえば、デカルト座標系のｘ軸、ｙ軸、及びｚ軸に沿って検出される力）、及び／又は３軸モーメント（たとえば、デカルト座標系のｘ軸、ｙ軸、及びｚ軸まわりで検出されるモーメント）を検出するように構成される６軸力センサを有するコンポーネントを含むＦ−Ｔセンサとすることができる。いくつかの実施形態では、センサ２０３は、内蔵の増幅器及び信号処理用のマイクロコンピュータ、静的及び動的測定を行う能力、及び／又はサンプリング間隔に基づく瞬時の変化を検出する能力、を含むことができる。デカルト座標系を参照するいくつかの実施形態では、１つ又は複数の軸に沿った力測定値（複数可）（すなわち、Ｆ（ｘ軸）、Ｆ（ｙ軸）、及び／又はＦ（ｚ軸））、及び／又は１つ又は複数の軸まわりのモーメント測定値（複数可）（すなわち、Ｍ（ｘ軸）、Ｍ（ｙ軸）、及び／又はＭ（ｚ軸））が、センサ２０３を介してキャプチャされ得る。ＣｏＭ計算アルゴリズムを適用することにより、パッケージの重量、パッケージの位置、及び／又はパッケージの数を特定することができる。たとえば、パッケージの重量は、力測定値（複数可）に応じて計算され得、パッケージのＣｏＭは、力測定値（複数可）及びモーメント測定値（複数可）に応じて計算され得る。いくつかの実施形態では、パッケージの重量は、力測定値（複数可）、視覚センサデバイス１４３からのパッケージ位置情報、及び／又は把持情報（たとえば、パッケージ（複数可）との封止が実現される位置）に応じて計算される。いくつかの実施形態では、センサ２０３は、有線及び／又は無線通信を介して処理ユニット（たとえば、図６のＰＵ１５０）に通信可能に結合することができる。
【００５８】
いくつかの実施形態では、力検出器アセンブリ２０５及び視覚センサデバイス１４３の両方からの出力読取値を使用することができる。たとえば、視覚センサデバイス１４３からの出力に基づいてオブジェクトの相対位置を決定することができる。次いで、力検出器アセンブリ２０５からの出力を使用して、各オブジェクトに関する情報、たとえば、各オブジェクトの重量／質量を特定することができる。力検出器アセンブリ２０５は、複数の物理的な構造又は面の間の直接接触に関連する特性を測定するように構成される、接触センサ、圧力センサ、力センサ、ひずみゲージ、ピエゾ抵抗／圧電センサ、静電容量センサ、弾性抵抗センサ、トルクセンサ、直線力センサ、又は他の触覚センサを含むことができる。たとえば、力検出器アセンブリ２０５は、対象オブジェクトに対するエンドエフェクタの把持に対応する特性を測定するか、又は対象オブジェクトの重量を測定することができる。それに応じて、力検出器アセンブリ２０５は、グリッパ及び対象オブジェクトの間の接触又は付着の程度に対応する、測定された力又はトルクなどの定量化された度合いを表す接触度合いを出力することができる。たとえば、接触度合いは、エンドエフェクタによって対象オブジェクトに加えられた力に関連する１つ又は複数の力読取値又はトルク読取値を含むことができる。出力は、力検出器アセンブリ２０５、あるいはエンドエフェクタ１４０に一体化された又は取り付けられた他の検出器からの出力であってよい。たとえば、力トルクセンサ情報に基づく対象オブジェクトの重量又は重量分布などの接触センサからのセンサ情報を、対象オブジェクトの寸法などの撮像センサ情報と組み合わせて、ロボットシステムが使用することによって、自動登録又は自動化オブジェクト登録システムなどにより、対象オブジェクトを同定することができる。
【００５９】
図９は、本技術の１つ又は複数の実施形態によるグリッパアセンブリ１４１の分解等角図である。グリッパアセンブリ１４１は、ハウジング２６０及び内部アセンブリ２６３を含む。ハウジング２６０は内部コンポーネントを囲って保護することができ、力検出器アセンブリ２０５の少なくとも一部分を受けるように構成される開口２７０を画定することができる。内部アセンブリ２６３は、グリッパブラケットアセンブリ２６１（「ブラケットアセンブリ２６１」）、マニホールドアセンブリ２６２、及び複数のグリッパ２６４ａ、２６４ｂ、２６４ｃ（総称して「グリッパ２６４」）を含むことができる。ブラケットアセンブリ２６１は真空式グリッパ２６４のそれぞれを保持することができ、これらは、図１０及び図１１に関連して説明するように、マニホールドアセンブリ２６２を介して流体ライン（たとえば、図７の流体ライン２０７）に直列又は並列に流体的に結合することができる。いくつかの実施形態では、ブラケットアセンブリ２６１は、細長い支持体２６９と、グリッパ２６４を細長い支持体２６９に接続するブラケット２６７（１つを識別）とを含む。グリッパアセンブリ１４１は、吸引要素、封止部材（たとえば、封止パネル）、及び図１３〜図１５に関連して説明する他のコンポーネントを含むことができる。
【００６０】
図１０及び図１１は、それぞれ、本技術の１つ又は複数の実施形態によるグリッパアセンブリのコンポーネントの後方上面等角図及び平面図である。マニホールドアセンブリ２６２は、それぞれのグリッパ２６４ａ、２６４ｂ、２６４ｃに結合されたグリッパマニホールド２７４ａ、２７４ｂ、２７４ｃ（総称して「マニホールド２７４」）を含むことができる。たとえば、マニホールド２７４ａは、グリッパ２６４ａに関連する気流を制御する。いくつかの実施形態では、マニホールド２７４は、図７の真空源２２１などの加圧源に並列又は直列に接続することができる。他の実施形態では、各マニホールド２７４は、個々の加圧デバイスに流動的に結合することができる。
【００６１】
マニホールド２７４は、グリッパ２６４のうちの１つ、一部、又は全部に真空を分配するように動作させることができる。たとえば、マニホールド２７４ａを開状態にして、空気がグリッパ２６４ａの底を流れるようにすることができる。空気はマニホールド２７４ａを流れて、図７のライン２０７などのラインを介して真空式グリッパアセンブリから出る。他のマニホールド２７４ｂ、２７４ｃを閉状態にして、マニホールド２７４ｂ、２７４ｃにおける吸引を防ぐことができる。各マニホールド２７４ａは、吸引要素のそれぞれに接続された１つ又は複数のラインを限定なく含むことができる。他の実施形態では、グリッパ２６４ａの吸引要素が内部の真空室に接続される。グリッパマニホールド２７４は、１つ又は複数のライン又はパッセージ、弁（たとえば、逆止弁、球形弁、三方弁など）、空気圧シリンダ、レギュレータ、オリフィス、センサ、及び／又は流体の流れを制御することが可能な他のコンポーネントを限定なく含むことができる。各マニホールド２７４を使用して、吸引を均一に又は不均一に吸引要素又は吸引要素のグループに分配して、一様又は非一様な真空把持力を生成することができる。電子線はマニホールド２７４をコントローラに通信可能に結合して、モジュールのコンポーネント及びそれらのコンポーネントに電力を提供し、それらを制御することができる。一実施形態では、個々のマニホールド２７４は、共通のインターフェース及びプラグに用いる共通のインターフェース及びプラグを含むことができ、これにより、マニホールド２７４及びコンポーネントを迅速かつ簡単に追加及び除去して、システム再構成、保守、及び／又は修理を容易にすることが可能になり得る。
【００６２】
グリッパの数、配置、及び構成は、所望の数のアドレス指定可能真空領域に基づいて選択することができる。図１２は、本技術の１つ又は複数の実施形態による、図１及び図２の環境及び図３〜図６の転置アセンブリ１４１での使用に適した真空式グリッパアセンブリ３００（ハウジングは図示せず）の内部コンポーネントの等角図である。真空式グリッパアセンブリ３００は、略長方形の配置の６つの真空式グリッパ３０２（１つを識別）を含むことができる。他の実施形態では、グリッパは円形配置、四角形配置、又は他の適切な配置にすることができ、同様の又は異なる構成を有することができる。グリッパは、楕円形状、非多角形形状などを限定なく含む他の形状を有することができる。グリッパは、吸引要素（たとえば、吸引チューブ、吸引カップ、封止部材など）、封止部材、弁板、グリッパ機構、及び把持能力を提供するための他の流体コンポーネントを含むことができる。
【００６３】
１つ又は複数のセンサ、視覚センサデバイス、及び図１〜図１１に関連して説明した他のコンポーネントは、真空式グリッパアセンブリ３００に組み込むか又はそれと共に使用することができる。吸引要素、封止部材、及び他のコンポーネントについては、図１３〜図１５に関連して説明する。
【００６４】
真空式グリッパは直列に配列することができる。たとえば、真空式グリッパは、１×３構成で隣り合わせて配列することができ、これにより２つの横の把持位置と、１つの中央の把持位置とが提供される。しかしながら、エンドエフェクタは、互いに異なる構成の異なる数の真空式グリッパ、吸引チャネルバンク、又は真空領域を含むことができることを理解されたい。たとえば、エンドエフェクタは、２×２構成で配置された４つの真空式グリッパ又は吸引チャネルバンクを含むことができる。真空領域は、長さ寸法と同一又は類似の幅寸法を有することで、対称な正方形形状を有することができる。他の例として、エンドエフェクタは、異なる数の真空領域、たとえば、互いに同一の又は異なる長さ寸法及び／又は幅寸法を有する２つの真空領域又は３つ以上の真空領域を含むことができる。さらに他の例では、真空式グリッパは様々な構成で、たとえば、４つの真空領域を有する２×２構成、５つの真空式グリッパを含む１：２：２構成、又は他の幾何学的配置及び／又は構成で配置することができる。
【００６５】
図１３に、本技術のいくつかの実施形態による、ロボットシステム（たとえば、図１及び図２のロボットシステム１００）での使用に適したマルチグリッパアセンブリ４００（「グリッパアセンブリ４００」）を示す。図１４は、図１３のグリッパアセンブリ４００の分解図である。グリッパアセンブリ４００は、静止位置（たとえば、図３の台１１０などのデパレタイズ台上の静止位置）からパッケージを把持するように構成される任意のグリッパ又はグリッパアセンブリとすることができる。グリッパアセンブリデバイス４００は、グリッパ機構４１０と、接触又は封止部材４１２（「封止部材４１２」）と、を含むことができる。グリッパ機構４１０は、本体４１４と、部材４１２の開口４１８（図１４では１つを識別）を通過するようにそれぞれが構成される複数の吸引要素４１６（図１４では１つを識別）と、を含む。組み立てられると、吸引要素４１６のそれぞれは、対応する開口４１８を部分的に又は完全に通って伸びることができる。たとえば、吸引要素４１６は、封止部材４１２の第１の側４１９を通ってその第２の側４２１に向かって伸びることができる。
【００６６】
図１５は、封止部材４１２及び吸引要素４１６の部分断面図である。吸引要素４１６は、真空室及び／又は内部導管４３０を介して、ライン（たとえば、図１４のライン４２２）と流体連通することができる。弁４３７（たとえば、逆止弁、安全弁など）は、気流路４３６に沿って位置決めすることができる。センサ４３４は、真空レベルを検出するように位置決めすることができ、有線又は無線接続を介して、コントローラ（たとえば、図１のコントローラ１０９）又は処理ユニット（たとえば、図６の処理ユニット１５０）と通信することができる。吸引要素４１６の下端４４０は、吸引カップ、又はオブジェクトの面との間に所望の封止（たとえば、ほぼ気密の封止又は他の適切な封止）を形成するための他の適切な形状を限定なく含むことができる。下端４４０がオブジェクトに近接又は接触した場合、（矢印で示すように）吸引要素４１６のポート／吸気口４３２（「吸気口４３２」）へ空気が吸い込まれると、オブジェクトを封止部材４１２に対して引き寄せることができる。空気は流路４２６に沿って、吸引要素４１６の通路４３３を通って上に流れる。空気は弁４３７を通って導管４３０に流れることができる。いくつかの実施形態では、導管４３０を真空室４３９に接続することができる。たとえば、吸引要素４１６の一部又は全部を真空室４３９に接続することができる。他の実施形態では、異なるグループの吸引要素４１６を異なる真空室と流体連通することができる。吸引要素４１６は図示のように波状又は蛇腹の構成を有することができ、それによってその中の気流通路４３３を収縮させることなく軸方向の圧縮が可能になる。吸引要素４１６の構成、高さ、及び寸法は、所望の圧縮量に基づいて選択することができる。
【００６７】
封止部材４１２は、起伏の大きい面を含む、異なる幾何形状を有する面に適合するように変形するよう構成される圧縮性材料で全体的に又は部分的に作ることができる。封止部材４１２は、独立気泡フォーム（たとえば、フォームラバー）を含むフォームで全体的に又は部分的に作ることができる。封止部材４１２の材料を多孔質にして、少量の気流（すなわち、空気漏れ）を許容することにより、ビニール袋などのパッケージングを損傷などする可能性のある高い負圧を加えないようにすることができる。
【００６８】
動作フロー
図１６は、本開示の１つ又は複数の実施形態によるロボットシステムを動作させるための方法４９０のフロー図である。一般に、輸送ロボットは、ピックアップ環境の少なくとも一部分を表す画像データを受信することができる。ロボットシステムは、受信した画像データに基づいて対象オブジェクトを識別することができる。ロボットシステムは真空式グリッパアセンブリを使用して、識別された対象オブジェクト（複数可）を保持しておくことができる。図１のロボットシステム１００の異なるユニット、アセンブリ、及びサブアセンブリが、方法４９０を実行することができる。方法４９０の詳細については、以下で詳細に説明する。
【００６９】
ブロック５００において、ロボットシステム１００は、環境の少なくとも一部分を表す画像データを受信することができる。たとえば、受信された画像データは、図３のピックアップ環境１６３におけるスタック１６５の少なくとも一部分を表すことができる。画像データは、ビデオ、静止画、ライダーデータ、レーダーデータ、バーコードデータ、又はそれらの組み合わせを限定なく含むことができる。いくつかの実施形態では、たとえば、図３のセンサ１６１はビデオ又は静止画をキャプチャすることができ、これらはコンピュータ又はコントローラ、たとえば、図１及び図６のコントローラ１０９に（たとえば、有線又は無線接続を介して）送信される。
【００７０】
ブロック５０２において、コンピュータ１０９（図１）は、画像データを分析して、オブジェクトのグループ、オブジェクトのスタックなどの中の対象オブジェクトを識別することができる。たとえば、コントローラ１０９は、受信した画像データ、及びＲＤＳ１７０（図６）によって記憶される表面画像／データに基づいて、個々のオブジェクトを識別することができる。いくつかの実施形態では、降下位置からの情報を使用して、対象オブジェクトを選択する。たとえば、降下位置における利用可能なスペースの量、好ましいスタッキング配置などに基づいて、対象オブジェクトを選択することができる。ユーザはオブジェクトピックアップの順序を決定するための選択基準を入力することができる。いくつかの実施形態では、受信された画像データに基づいて、ピックアップ環境（たとえば、図３のピックアップ環境１６３）のマッピングを生成することができる。いくつかのマッピングプロトコルでは、エッジ検出アルゴリズムを使用して、オブジェクトのエッジ、面などを識別する。マッピングを分析して、ピックアップ領域のどのオブジェクトが一緒に輸送できるかを決定することができる。いくつかの実施形態では、真空式グリッパにより同時に持ち上げて運搬することが可能なオブジェクトのグループが、対象オブジェクトとして識別される。
【００７１】
図１のロボットシステム１００は、ソースオブジェクトから、対象パッケージ又はオブジェクト１１２を、実行されるタスクの対象として選択することができる。たとえば、ロボットシステム１００は、所定のシーケンス、ルールのセット、オブジェクト輪郭のテンプレート、又はそれらの組み合わせに従って、ピックアップされる対象オブジェクトを選択することができる。具体例として、ロボットシステム１００は、画像デバイスの既知の場所に対する距離及び位置を表す点群／深度マップに応じて、ソースパッケージのスタックの上に配置されたソースパッケージ１１２のインスタンスなど、エンドエフェクタ１４０にアクセス可能なソースパッケージのインスタンスとして、対象パッケージを選択することができる。他の具体例では、ロボットシステム１００は、コーナー又はエッジに配置された、エンドエフェクタ１４０に対して露出しているか又はそれがアクセス可能な２つ以上の面を有するソースパッケージ１１２のインスタンスとして、対象オブジェクトを選択することができる。さらなる具体例では、ロボットシステム１００は、ソースパッケージの他のインスタンスを乱すこともずらすこともなく、又はそれらを最小限に抑えて、所定のパターンに従って、たとえば、基準位置に対して左から右へ、又は手前から奥へ、対象オブジェクトを選択することができる。
【００７２】
ブロック５０４において、コントローラ１０９は、対象オブジェクトを把持するための真空式グリッパ又は領域を選択することができる。たとえば、コントローラ１０９（図１）は、図３に示すパッケージ１１２を把持するために真空領域１１７ａ（図４）を選択することができ、その理由は、パッケージ１１２（すなわち、対象オブジェクト）の実質的に全体が真空領域１１７ａの真下にあるためである。図４の真空領域１１７ａの吸引要素１５１の実質的に全て（たとえば、吸引要素１５１の少なくとも９０％、９５％、９８％）を通じて真空に引かれることができる。
【００７３】
ブロック５０６において、コントローラ１０９は、ロボットシステム１００を制御するための１つ又は複数のコマンドを生成する。いくつかの動作モードでは、コマンドは、識別又は選択されたアドレス指定可能真空領域において、ロボットシステムに空気を吸い込ませることができる。たとえば、コントローラ１０９は、１つ又は複数のピックアップコマンドを生成して、真空源（たとえば、図７の真空源２２１）に、選択された真空レベルで真空を提供させることができる。真空レベルは、対象オブジェクト（複数可）の重量又は質量、実行されるタスクなどに基づいて選択することができる。コマンドをグリッパアセンブリ１４１に送って、マニホールド２６２に、選択された領域又はグリッパにおいて吸引を提供するように動作させることができる。視覚センサデバイス１４３（図７）からのフィードバックを使用して、ピックアップ及び転置プロセスを監視することができる。
【００７４】
ブロック５０８において、視覚センサデバイス１４３を使用して、図１のパッケージ１１２などのソースオブジェクト又は対象オブジェクトを含むオブジェクトに対するエンドエフェクタ１４０の位置を検証することができる。視覚センサデバイス１４３を使用して、オブジェクトピックアップの前及び間、オブジェクト輸送中、及び／又はオブジェクト降下の間及び後に、オブジェクトに対するエンドエフェクタ１４０の相対位置を継続的に又は定期的に監視することができる。視覚センサデバイス１４３からの出力を使用して、オブジェクトをカウントし（たとえば、対象オブジェクト又はソースオブジェクトの数をカウントし）、あるいは別の方法でオブジェクトを分析し、たとえば、オブジェクトのスタックを分析することもできる。視覚センサデバイス１４３を使用して、ロボットシステム１００をナビゲートするのに使用される環境情報を取得することもできる。
【００７５】
ブロック５１０において、コントローラ１０９は、アクチュエーションデバイス（たとえば、アクチュエーションデバイス２１２）、モータ、サーボ、アクチュエータ、及びロボットアーム１３９の他のコンポーネントにグリッパアセンブリ１４１を移動させるためのコマンドを生成する。転置コマンドは、ロボットシステムによって生成され、ロボット式輸送アームが、ロボット制御でグリッパアセンブリ１４１を移動させて、位置間でオブジェクトを運搬させるようにすることができる。輸送コマンドは、オブジェクトを他のオブジェクトにぶつけることなく、オブジェクトを降下位置に届けるための輸送経路を含む輸送プランに基づいて、生成することができる。視覚センサデバイス１４３（図７）を使用して、衝突を回避することができる。
【００７６】
方法４９０は、複数の対象オブジェクトを把持するために使用することができる。エンドエフェクタ１４０は、ソースパッケージ又はオブジェクトの中から対象パッケージ又はオブジェクトの複数のインスタンスを把持するように構成することができる。たとえば、ロボットシステム１００は、エンドエフェクタ１４０が真空領域１１７の複数のインスタンスを係合させて、把持動作を実行して、対象オブジェクトの複数のインスタンスを同時に把持する命令を生成することができる。具体例として、エンドエフェクタ１４０を使用して、対象オブジェクトの複数のインスタンスを個別に、かつ順番に次々に把持する把持動作の命令を実行することができる。たとえば、命令は、真空領域１１７の１つを使用して、ある姿勢又はある向きの対象オブジェクト１１２の第１のインスタンスを把持する把持動作を実行し、次いで、必要であれば、エンドエフェクタ１４０の位置を変更して、真空領域１１７の第２の又は異なるインスタンスを係合させて、対象オブジェクトの第２のインスタンスを把持すること、を含むことができる。他の具体例では、エンドエフェクタ１４０を使用して、対象オブジェクトの別々のインスタンスを同時に把持する把持動作のための命令を実行することができる。たとえば、エンドエフェクタ１４０を位置決めして、対象オブジェクトの２つ以上のインスタンスに同時に接触するようにし、真空領域１１７の対応するインスタンスのそれぞれを係合させて、対象オブジェクトの複数のインスタンスのそれぞれに把持動作を実行することができる。上記の実施形態では、真空領域１１７のそれぞれは、必要に応じて、異なる把持動作を実行するように独立して動作させることができる。
【００７７】
図１７は、本技術の１つ又は複数の実施形態によるベースプランに従って図１のロボットシステム１００を動作させるための方法７００のフロー図である。方法７００は、図１６の方法４９０に組み込むことができるステップであって、図２のプロセッサ２０２のうちの１つ又は複数あるいは図６のコントローラ１０９を用いて、図２の記憶デバイス２０４のうちの１つ又は複数に記憶された命令を実行することに基づいて実施することができるステップを含む。視覚センサデバイスによってキャプチャされるデータ及びセンサ出力は、以下で詳述する方法７００の様々なステップにおいて使用することができる。
【００７８】
ブロック７０２において、ロボットシステム１００は、１つ又は複数の指定エリア、たとえば、ピックアップエリア及び／又は降下エリア（たとえば、ソース降下エリア、目的地降下エリア、及び／又は中継降下エリア）を調べる（たとえば、スキャンする）ことができる。いくつかの実施形態では、ロボットシステム１００は、（たとえば、図２のプロセッサ２０２によって送られるコマンド／プロンプトを介して）図２の撮像デバイス２２２、図６のセンサ１６１及び／又は１４５、あるいは他のセンサのうちの１つ又は複数を使用して、１つ又は複数の指定エリアの撮像結果を生成することができる。撮像結果は、キャプチャされたデジタル画像及び／又は点群、オブジェクト位置データなどを限定なく含むことができる。
【００７９】
ブロック７０４において、ロボットシステム１００は、図１の対象パッケージ１１２及び関連する位置（たとえば、図１の開始位置１１４及び／又は図１のタスク位置１１６）を識別することができる。いくつかの実施形態では、たとえば、ロボットシステム１００は（たとえば、プロセッサ２０２を介して）、パターン認識メカニズム及び／又はルールのセットに従って撮像結果を分析して、オブジェクト輪郭（たとえば、周縁又は周面）を識別することができる。ロボットシステム１００はさらに、オブジェクトの各固有のインスタンスに対応するオブジェクト輪郭のグルーピングを（たとえば、所定のルール及び／又は姿勢テンプレートに従って）識別することができる。たとえば、ロボットシステム１００は、オブジェクト線にわたる色、明るさ、深度／位置、又はそれらの組み合わせのパターン（たとえば、同一の値又は既知のレート／パターンで変化するもの）に対応するオブジェクト輪郭のグルーピングを識別することができる。また、たとえば、ロボットシステム１００は、マスターデータで定義される所定の形状／姿勢テンプレートに従ってオブジェクト輪郭のグルーピングを識別することができる。
【００８０】
ピックアップ位置において認識されたオブジェクトから、ロボットシステム１００は、（たとえば、所定のシーケンス、もしくはルールのセット、及び／又はオブジェクト輪郭のテンプレートに従って）１つを対象パッケージ１１２として選択することができる。たとえば、ロボットシステム１００は、センサの既知の場所に対する距離／位置を表す点群などに応じて、対象パッケージ（複数可）１１２を、一番上に配置されたオブジェクト（複数可）として選択することができる。また、たとえば、ロボットシステム１００は、対象パッケージ１１２を、コーナー／エッジに配置された、撮像結果内で露出している／表示された２つ以上の面を有するオブジェクト（複数可）として選択することができる。利用可能な真空式グリッパ及び／又は領域を使用して、対象パッケージを選択することもできる。さらに、ロボットシステム１００は、所定のパターン（たとえば、基準位置に対して左から右へ、手前から奥へ、など）に従って、対象パッケージ１１２を選択することができる。
【００８１】
いくつかの実施形態では、エンドエフェクタ１４０は、ソースパッケージの中から対象パッケージ１１２の複数のインスタンスを把持するように構成することができる。たとえば、ロボットシステム１００は、エンドエフェクタ１４０が真空領域１１７の複数のインスタンスを係合させて、把持動作を実行して、対象パッケージ１１２の複数のインスタンスを同時に把持する命令を生成することができる。具体例として、エンドエフェクタ１４０を使用して、対象パッケージ１１２の複数のインスタンスを個別に、かつ順番に次々に把持する把持動作の命令を実行することができる。たとえば、命令は、真空領域１１７の１つを使用して、ある姿勢又はある向きの対象パッケージ１１２の第１のインスタンスを把持する把持動作を実行すること、次いで、必要であれば、エンドエフェクタ１４０の位置を変更して、真空領域１１７の第２の又は異なるインスタンスを係合させて、対象パッケージ１１２の第２のインスタンスを把持すること、を含むことができる。他の具体例では、エンドエフェクタ１４０を使用して、対象パッケージ１１２の別々のインスタンスを同時に把持する把持動作のための命令を実行することができる。たとえば、エンドエフェクタ１４０を位置決めして、対象パッケージ１１２の２つ以上のインスタンスに同時に接触するようにし、真空領域１１７の対応するインスタンスのそれぞれを係合させて、対象パッケージ１１２の複数のインスタンスのそれぞれに把持動作を実行することができる。上記の実施形態では、真空領域１１７のそれぞれは、必要に応じて、異なる把持動作を実行するように独立して動作させることができる。
【００８２】
選択された対象パッケージ１１２について、ロボットシステム１００はさらに、撮像結果を処理して、開始位置１１４及び／又は初期姿勢を特定することができる。たとえば、ロボットシステム１００は、複数の所定の姿勢テンプレート（たとえば、オブジェクトの対応する向きに応じたオブジェクト輪郭の異なる可能な配置）から、オブジェクト輪郭のグルーピングと比較して最も低い差分度合いに対応するものを選択することに基づいて、対象パッケージ１１２の初期姿勢を特定することができる。また、ロボットシステム１００は、撮像結果内の対象パッケージ１１２の位置（たとえば、決定された姿勢の所定の基準点）を、ロボットシステム１００によって使用されるグリッド内の位置に変換することによって、開始位置１１４を特定することができる。ロボットシステム１００は、所定の較正マップに従って位置を変換することができる。
【００８３】
いくつかの実施形態では、ロボットシステム１００は、降下エリアの撮像結果を処理して、オブジェクト間のオープンスペースを決定することができる。ロボットシステム１００は、画像位置を現実世界の位置及び／又はシステムによって使用される座標に変換する所定の較正マップに従ってオブジェクト線をマッピングすることに基づいて、オープンスペースを決定することができる。ロボットシステム１００は、オープンスペースを、異なるグルーピング／オブジェクトに属するオブジェクト線（ひいてはオブジェクト面）の間のスペースとして決定することができる。いくつかの実施形態では、ロボットシステム１００は、オープンスペースの１つ又は複数の寸法を測定し、測定した寸法を対象パッケージ１１２の１つ又は複数の寸法（たとえば、マスターデータに記憶されたもの）と比較することに基づいて、対象パッケージ１１２に適したオープンスペースを決定することができる。ロボットシステム１００は、所定のパターン（たとえば、基準位置に対して左から右へ、手前から奥へ、下から上へ、など）に従って、適切な／オープンスペースのうちの１つを、タスク位置１１６として選択することができる。
【００８４】
いくつかの実施形態では、ロボットシステム１００は、撮像結果を処理することなく、又はそれに加えて、タスク位置１１６を決定することができる。たとえば、ロボットシステム１００は、エリアを撮像することなく、所定のシーケンスのアクション及び位置に従って、オブジェクトを載置エリアに載置することができる。追加的には、真空式グリッパアセンブリ１４１に取り付けられたセンサ（たとえば、視覚センサデバイス１４３）は、エリアを定期的に撮像するために使用される画像データを出力することができる。追加の画像データに基づいて撮像結果を更新することができる。また、たとえば、ロボットシステム１００は、撮像結果を処理して、複数のタスクを実行する（たとえば、スタックの共通のレイヤ／階層に配置されたオブジェクトなどの複数のオブジェクトを転置する）ことができる。
【００８５】
ブロック７０６において、ロボットシステム１００は、対象パッケージ１１２用のベースプランを計算することができる。たとえば、ロボットシステム１００は、図３のロボットシステム１３２及び／又はエンドエフェクタ（たとえば、図３〜図５のエンドエフェクタ１４０）を動作させる図２のアクチュエーションデバイス２１２に対するコマンドもしくは設定又はそれらの組み合わせのシーケンスを計算することに基づいて、ベースモーションプランを計算することができる。いくつかのタスクについて、ロボットシステム１００は、対象パッケージ１１２を開始位置１１４からタスク位置１１６に転置するようにロボットシステム１３２及び／又はエンドエフェクタ１４０を操作するシーケンス及び設定値を計算することができる。ロボットシステム１００は、１つ又は複数の制約、目標、及び／又はルールに従って空間内の経路を計算するように構成されるモーション計画メカニズム（たとえば、処理、関数、数式、アルゴリズム、コンピュータ生成／可読モデル、又はそれらの組み合わせ）を実装することができる。たとえば、ロボットシステム１００は、所定のアルゴリズム及び／又は他のグリッドベースの検索を使用して、対象パッケージ１１２を開始位置１１４からタスク位置１１６に移動させるための空間を通る経路を計算することができる。モーション計画メカニズムは、さらなる処理、関数、もしくは数式、及び／又は変換テーブルを使用して、経路をアクチュエーションデバイス２１２のコマンドもしくは設定又はそれらの組み合わせのシーケンスに変換することができる。モーション計画メカニズムを使用する際に、ロボットシステム１００は、ロボットアーム２０６（図３）及び／又はエンドエフェクタ１４０（図３）を動作させるシーケンスを計算し、対象パッケージ１１２に計算した経路をたどらせることができる。視覚センサデバイス１４３を使用して、任意の障害物を識別し、経路を再計算し、ベースプランを改良することができる。
【００８６】
ブロック７０８において、ロボットシステム１００は、ベースプランの実行を開始することができる。ロボットシステム１００は、コマンドもしくは設定又はそれらの組み合わせのシーケンスに従ってアクチュエーションデバイス２１２を動作させることに基づいて、ベースモーションプランの実行を開始することができる。ロボットシステム１００は、ベースモーションプラン内の第１のアクションのセットを実行することができる。たとえば、ロボットシステム１００は、ブロック７５２に示すように対象パッケージ１１２を把持するために計算した位置及び／又は開始位置１１４まわりの向きでエンドエフェクタ１４０を載置するように、アクチュエーションデバイス２１２を動作させることができる。
【００８７】
ブロック７５４において、ロボットシステム１００は、把持動作の前及び／又は間に取得されたセンサ情報（たとえば、視覚センサデバイス１４３、センサ２１６、力検出器アセンブリ２０５からの情報）、たとえば、対象パッケージ１１２の重量、対象パッケージ１１２の重心、真空領域に対する対象パッケージ１１２の相対位置、又はそれらの組み合わせを使用して、オブジェクトの位置を分析することができる。ロボットシステム１００は、エンドエフェクタ１４０に対象パッケージ１１２を係合させて把持させるように、アクチュエーションデバイス２１２及び真空源２２１（図７）を動作させることができる。視覚センサデバイス１４３からの画像データ、及び／又は力センサアセンブリ２０５からのデータを使用して、対象パッケージ１１２の位置及び数を分析することができる。ブロック７５５において、視覚センサデバイス１４３を使用して、対象パッケージ１１２又は他のオブジェクトに対するエンドエフェクタ１４０の位置を検証することができる。いくつかの実施形態では、ブロック７５６に示すように、ロボットシステム１００は、エンドエフェクタを所定の距離だけ上昇させることによって、初期リフトを実行することができる。いくつかの実施形態では、ロボットシステム１００は、把持アクションの回数を追跡するために使用される反復カウンタ「ｉ」をリセット又は初期化することができる。
【００８８】
ブロック７１０において、ロボットシステム１００は、確立された把持を測定することができる。ロボットシステム１００は、図７の力検出器アセンブリ２０５、視覚センサデバイス１４３、又は他のセンサ、たとえば、圧力センサ４３４（図１５）からの読取値に基づいて、確立された把持を測定することができる。たとえば、ロボットシステム１００は、図３の力検出器アセンブリ２０５のうちの１つ又は複数を使用して、ロボットアーム１３９上の１つ又は複数の位置、エンドエフェクタ１４０上の１つ又は複数の位置、又はそれらの組み合わせにおける力、トルク、圧力、又はそれらの組み合わせを測定することによって、把持特性を決定することができる。いくつかの実施形態では、たとえば、アセンブリ１４１によって確立された把持について、接触測定値又は力測定値は、対象パッケージ１１２の面に接触し、その中の真空状態を保持する吸引要素（たとえば、図１４の吸引要素４１６）の数量、位置、又はそれらの組み合わせに対応することができる。追加的又は代替的には、把持特性は、視覚センサデバイス１４３からの出力に基づいて決定することができる。たとえば、センサ検出器１４３からの画像データを使用して、オブジェクトが輸送中にエンドエフェクタ１４０に対して動くか否かを判定することができる。
【００８９】
判定ブロック７１２において、ロボットシステム１００は、測定した把持を閾値（たとえば、初期把持閾値）と比較することができる。たとえば、ロボットシステム１００は、接触測定値又は力測定値を所定の閾値と比較することができる。ロボットシステム１００はまた、検出器１４３からの画像データを基準画像データ（たとえば、最初のオブジェクトピックアップ時にキャプチャされた画像データ）と比較して、把持しているオブジェクトが、たとえば、互いに対して、又はグリッパアセンブリ１４１に対して動いたか否かを判定することができる。それに応じて、ロボットシステム１００は、接触／把持が、対象パッケージ（複数可）１１２の操作（たとえば、持ち上げ、転置、及び／又は向き変更）を継続するのに十分であるか否かを判定することができる。
【００９０】
測定した把持が閾値を満足できない場合、ロボットシステム１００は、判定ブロック７１４に示すように、対象パッケージ（複数可）１１２の再把持の反復カウントが反復閾値に達したか否かを評価することができる。反復カウントが反復閾値未満である間、ロボットシステム１００は、接触測定値又は力測定値が閾値を満たさない（たとえば、下回る）場合に、ベースモーションプランから外れることができる。それに応じて、ブロック７２０において、ロボットシステム１００は、ベースモーションプランに含まれない再把持アクションを実行するように、ロボットアーム１３９及び／又はエンドエフェクタ１４０を動作させることができる。たとえば、再把持アクションは、ロボットアーム１３９に（たとえば、初期リフトを逆転させる際に）エンドエフェクタ１４０を下げさせる、及び／又はエンドエフェクタ１４０に対象パッケージ（複数可）１１２を解放させ、対象パッケージ（複数可）１１２を再把持させる、アクチュエーションデバイス２１２に対する所定のコマンドもしくは設定又はそれらの組み合わせのシーケンスを含むことができる。いくつかの実施形態では、所定のシーケンスはさらに、対象オブジェクトを解放した後、それを再把持するか又は真空に引かれるエリアを変える前に、グリッパの位置を調整するようにロボットアーム１３９を動作させることができる。再把持アクションを実行する際に、ロボットシステム１００は、ベースモーションプランの実行を一時停止することができる。再把持アクションを実行した後、ロボットシステム１００は、反復カウントをインクリメントすることができる。
【００９１】
再把持オブジェクトした後、ロボットシステム１００は、ブロック７１０に関して上述したように確立された把持を測定し、ブロック７１２に関して上述したように確立された把持を評価することができる。ロボットシステム１００は、反復カウントが反復閾値に達するまで、上述のように対象パッケージ１１２の再把持を試行することができる。反復カウントが反復閾値に達した場合、ロボットシステム１００は、ブロック７１６に示すように、ベースモーションプランの実行を停止することができる。いくつかの実施形態では、ロボットシステム１００は、ブロック７１８に示すようにオペレータ入力を求めることができる。たとえば、ロボットシステム１００は、図２の通信デバイス２０６及び／又は図２の入出力デバイス２０８を介してオペレータ通知（たとえば、所定のメッセージ）を生成することができる。いくつかの実施形態では、ロボットシステム１００は、ベースモーションプランをキャンセル又は削除するか、対応するタスクの所定のステータス（たとえば、エラーコード）を記録するか、又はそれらの組み合わせを実行することができる。いくつかの実施形態では、ロボットシステム１００は、上述のように、ピックアップ／タスクエリアを撮像し（ブロック７０２）、及び／又はピックアップエリア内の他のアイテムを対象オブジェクトとして識別する（ブロック７０４）ことにより、プロセスを再開することができる。
【００９２】
測定した把持（たとえば、保持しているパッケージごとに測定した把持）が閾値を満たす場合、ロボットシステム１００は、ブロック７２２に示すように、ベースモーションプランの残りの部分／アクションの実行を継続することができる。同様に、対象パッケージ１１２を再把持した後に接触度合いが閾値を満たす場合、ロボットシステム１００は、一時停止したベースモーションプランの実行を再開することができる。それに応じて、ロボットシステム１００は、残りのコマンド及び／又は設定のシーケンスに従って図２のアクチュエーションデバイス２１２及び／又は輸送モータ２１４を動作させることによって、ベースモーションプランにおける順序付けられたアクション（すなわち、把持及び／又は初期リフトに続くもの）の実行を継続することができる。たとえば、ロボットシステム１００は、ベースモーションプランに従って対象パッケージ１１２を転置（たとえば、垂直及び／又は水平に）及び／又は向き変更することができる。
【００９３】
ベースモーションプランを実行している間に、ロボットシステム１００は、対象パッケージ１１２の現在位置及び／又は現在の向きを追跡することができる。ロボットシステム１００は、ロボットアーム及び／又はエンドエフェクタの１つ又は複数の部分の位置を特定するための図２の位置センサ２２４からの出力に応じて、現在位置を追跡することができる。いくつかの実施形態では、ロボットシステム１００は、コンピュータ生成モデル、処理、数式、位置マップ、又はそれらの組み合わせを用いて位置センサ２２４の出力を処理することによって、現在位置を追跡することができる。それに応じて、ロボットシステム１００は、関節及び構造部材の位置又は向きを組み合わせ、さらにそれらの位置をグリッドにマッピングして、現在位置４２４を計算及び追跡することができる。いくつかの実施形態では、ロボットシステム１００は、複数のビーコンソースを含むことができる。ロボットシステム１００は、ロボットアーム及び／又はエンドエフェクタの１つ又は複数の位置におけるビーコン信号を測定し、測定値（たとえば、信号強度、タイムスタンプもしくは伝播遅延、及び／又は位相ずれ）を使用して、信号源及び測定した位置の間の離間距離を計算することができる。ロボットシステム１００は、離間距離を信号源の既知の位置にマッピングし、信号受信位置の現在位置を、マッピングされた離間距離が重なる位置として計算することができる。
【００９４】
判定ブロック７２４において、ロボットシステム１００は、ベースプランが完全に最後まで実行されたか否かを判定することができる。たとえば、ロボットシステム１００は、ベースモーションプラン４２２の全てのアクション（たとえば、コマンド及び／又は設定）が完了したか否かを判定することができる。また、ロボットシステム１００は、現在位置がタスク位置１１６に一致する場合に、ベースモーションプランが終了したと判定することができる。ロボットシステム１００がベースプランの実行を終了した場合、ロボットシステム１００は、上述のように、ピックアップ／タスクエリアを撮像し（ブロック７０２）、及び／又はピックアップエリア内の他のアイテムを対象オブジェクトとして識別する（ブロック７０４）ことによって、プロセスを再開することができる。
【００９５】
そうでない場合、ブロック７２６において、ロボットシステム１００は、対象パッケージ１１２の転置中の把持の測定を（すなわち、接触／力測定値を求めることによって）行うことができる。換言すれば、ロボットシステム１００は、ベースモーションプランを実行しながら、接触／力測定値を決定することができる。いくつかの実施形態では、ロボットシステム１００は、サンプリング周波数に従って、又は所定の時刻に、接触／力測定値を決定することができる。いくつかの実施形態では、ロボットシステム１００は、アクチュエーションデバイス２１２を用いて所定の数のコマンド又は設定を実行する前及び／又は後に、接触／力測定値を決定することができる。たとえば、ロボットシステム１００は、持ち上げ又は回転などのための特定のカテゴリの操作の後又は間に、接触センサ２２６をサンプリングすることができる。また、たとえば、ロボットシステム１００は、加速度計出力の方向及び／又は大きさが、突然の又は速い動きを表す所定の閾値に一致するか又はそれを超える場合に、接触センサ２２６をサンプリングすることができる。ロボットシステム１００は、上述の（たとえば、ブロック７１０の）１つ又は複数のプロセスを使用して、接触／力測定値を決定することができる。
【００９６】
いくつかの実施形態では、ロボットシステム１００は、グリッパ及び／又は対象パッケージ１１２の向きを特定し、それに応じて接触度合いを調整することができる。ロボットシステム１００は、接触センサの検知方向と、向きに応じて対象オブジェクトに加わる重力との間の方向関係を考慮して、向きに基づいて、接触度合いを調整することができる。たとえば、ロボットシステム１００は、向きに応じて、検知方向と、基準方向（たとえば、「下向き」、すなわち重力の方向）との間の角度を計算することができる。ロボットシステム１００は、計算した角度に対応する係数及び／又は符号に応じて、接触／力測定値をスケーリング又は乗算することができる。
【００９７】
判定ブロック７２８において、ロボットシステム１００は、測定した把持を閾値（たとえば、転置把持閾値）と比較することができる。いくつかの実施形態では、転置把持閾値は、対象パッケージ１１２の最初の（たとえば、転置前の）把持の評価に関連する初期把持閾値以下にすることができる。それに応じて、ロボットシステム１００は、対象パッケージ１１２の転置を開始する前に把持を評価するためのより厳格なルールを施行することができる。対象パッケージ１１２をピックアップするのに十分な接触が、対象パッケージ１１２を転置するのに十分である可能性が高いので、把持のための閾値要件を、最初はより高くすることができる。
【００９８】
測定した把持が閾値を満たし（たとえば、閾値未満でなく）、正しいパッケージが把持されている（たとえば、視覚センサデバイス１４３からの画像データに基づいて判定される）場合、ロボットシステム１００は、ブロック７２２に示し、上述したように、ベースプランの実行を継続することができる。測定した把持が閾値を満たさない（たとえば、閾値未満である）か、又は正しいパッケージが把持されていない場合、ロボットシステム１００は、ベースモーションプランから外れ、ブロック７３０に示すように、１つ又は複数の応答アクションを実行することができる。測定した把持が閾値に照らして不十分である場合、ロボットシステム１００は、ベースモーションプランに含まれないコマンド及び／又は設定に従って、ロボットアーム１３９、エンドエフェクタ、又はそれらの組み合わせを動作させることができる。いくつかの実施形態では、ロボットシステム１００は、現在位置に基づいて異なるコマンド及び／又は設定を実行することができる。
【００９９】
例示の目的で、制御された降下を使用した応答アクションについて説明する。しかしながら、ロボットシステム１００は、たとえば、ブロック７１６に示すようにベースモーションプランの実行を停止し、及び／又はブロック７１８に示すようにオペレータ入力を求めることによって、他のアクションを実行できることを理解されたい。
【０１００】
制御された降下は、制御された方法で（すなわち、完全な把持の失敗の結果としてではなく、対象パッケージ１１２を下ろす及び／又は解放することに基づいて）、（たとえば、タスク位置１１６ではない）降下エリアの１つに対象パッケージ１１２を載置するための１つ又は複数のアクションを含む。制御された降下を実行する際に、ロボットシステム１００は、現在位置に応じて、異なる位置、操作もしくは経路、及び／又はアクチュエーションデバイスコマンド又は設定を動的に（すなわち、リアルタイムに、及び／又はベースモーションプランを実行しながら）計算することができる。いくつかの実施形態では、エンドエフェクタ１４０は、対象パッケージ１１２の複数のインスタンスの把持解放動作用に構成することができる。たとえば、いくつかの実施形態では、エンドエフェクタ１４０は、必要に応じて真空領域１１７を選択的に係脱して、それに応じて対象パッケージ１１２の各インスタンスを解放することによって、把持解放動作を同時に又は順次的に実行するように構成することができる。ロボットシステム１００は、保持しているオブジェクトの位置、降下エリアにおけるオブジェクト配置などに基づいて、オブジェクトを同時に解放するか順次的に解放するか、及び解放の順序を選択することができる。
【０１０１】
ブロック７６２において、ロボットシステム１００は、対象パッケージ１１２を載置するための調整済み降下位置及び／又は関連する姿勢を計算することができる。調整済み降下位置を計算する際に、ロボットシステム１００は、現在位置に最も近い、及び／又はその先の（たとえば、現在位置とタスク位置との間の）降下エリア（たとえば、ソース降下エリア、目的地降下エリア、又は中継降下エリア）を識別することができる。また、現在位置が降下エリア間にある（すなわち、それらの中にない）場合、ロボットシステム１００は、降下エリアまでの距離（たとえば、降下エリアの代表的な基準位置までの距離）を計算することができる。それに応じて、ロボットシステム１００は、現在位置に最も近い降下エリア、及び／又は現在位置の先の降下エリアを識別することができる。識別した降下エリアに基づいて、ロボットシステム１００は、その中の位置を調整済み降下位置として計算することができる。いくつかの実施形態では、ロボットシステム１００は、所定の順序（たとえば、基準位置に対して左から右へ、下から上へ、及び／又は前から後へ）に従って位置を選択することに基づいて、調整済み降下位置を計算することができる。
【０１０２】
いくつかの実施形態では、ロボットシステム１００は、現在位置から、降下エリア内のオープンスペース（たとえば、ブロック７０４において識別され、及び／又はオブジェクトの進行中の載置に従って追跡されるもの）までの距離を計算することができる。ロボットシステム１００は、現在位置の先の、及び／又は現在位置４２４に最も近いオープンスペースを調整済み降下位置として選択することができる。
【０１０３】
いくつかの実施形態では、降下エリア及び／又はオープンスペースを選択する前に、ロボットシステム１００は、所定の処理及び／又は数式を使用して、接触／力度合いを最大転置距離に変換することができる。たとえば、所定の処理及び／又は数式は、接触度合いの様々な値に基づいて、対応する最大転置距離及び／又は完全な把持の失敗の前の持続時間を推定することができる。それに応じて、ロボットシステム１００は、現在位置から最大転置距離よりも遠い利用可能な降下エリア及び／又はオープンスペースを除外することができる。いくつかの実施形態では、ロボットシステム１００が利用可能な降下エリア及び／又はオープンスペースを識別できない場合（たとえば、アクセス可能な降下エリアが満杯の場合）、ロボットシステム１００は、ブロック７１６に示すようにベースモーションプランの実行を停止し、及び／又はブロック７１８に示すようにオペレータ入力を求めることができる。
【０１０４】
ブロック７６６において、ロボットシステム１００は、対象パッケージ１１２を現在位置から調整済み降下位置に転置するための調整済みモーションプランを計算することができる。ロボットシステム１００は、ブロック５０６に関して上述した方法と同様の方法で、調整済みモーションプランを計算することができる。
【０１０５】
ブロック７６８において、ロボットシステム１００は、ベースモーションプランに加えて、及び／又はその代わりに、調整済みモーションプランを実行することができる。たとえば、ロボットシステム１００は、コマンドもしくは設定又はそれらの組み合わせのシーケンスに従ってアクチュエーションデバイス２１２を動作させることによって、ロボットアーム１３９及び／又はエンドエフェクタを操作して、対象パッケージ１１２を経路に従って移動させることができる。
【０１０６】
いくつかの実施形態では、ロボットシステム１００は、ベースモーションプランの実行を一時停止し、調整済みモーションプランを実行することができる。調整済みモーションプランを実行することに基づいて、対象パッケージ１１２が調整済み降下位置に載置されると（すなわち、制御された降下の実行を完了すると）、いくつかの実施形態では、ロボットシステム１００は、ブロック７２０に関して上述したように対象パッケージ１１２の再把持を試行し、次いでブロック７１０に関して上述したように確立された把持を測定することができる。いくつかの実施形態では、ロボットシステム１００は、上述のように反復限度まで対象パッケージ１１２の再把持を試行することができる。接触度合いが初期把持閾値を満たす場合、ロボットシステム１００は、調整済みモーションプランを逆転させ（たとえば、一時停止した点／位置まで戻り）、一時停止したベースモーションプランの残りの部分の実行を継続することができる。いくつかの実施形態では、ロボットシステム１００は、現在位置４２４（再把持後）からタスク位置１１６までの調整済みモーションプランを更新及び再計算し、調整済みモーションプランを実行して、タスクの実行を終了することができる。
【０１０７】
いくつかの実施形態では、ロボットシステム１００は、アクセスした降下エリアのエリアログ（たとえば、オープンスペース及び／又は載置したオブジェクトのレコード）を更新して、載置した対象パッケージ１１２を反映することができる。たとえば、ロボットシステム１００は、対応する降下エリアの撮像結果を再生成することができる。いくつかの実施形態では、ロボットシステム１００は、制御された降下を実行し、対象パッケージ１１２を調整済み降下位置に載置した後に、ベースモーションプランの残りのアクションをキャンセルすることができる。１つ又は複数の実施形態では、中継降下エリアは、図１の輸送ユニット１０６のうちの１つの上に載置されるパレット又はビンを含むことができる。指定時刻に（たとえば、パレット／ビンが満杯の場合、及び／又は到着するパレット／ビンが遅れている場合）、対応する輸送ユニットは、降下エリアからピックアップエリアに行くことができる。それに応じて、ロボットシステム１００は、方法５００を再実施して、降下したアイテムを対象パッケージ１１２として再識別し、それらを対応するタスク位置１１６に転置することができる。
【０１０８】
対象パッケージ１１２が調整済み降下位置に載置されると、ロボットシステム１００は、新たな対象オブジェクトについて方法７００を繰り返すことができる。たとえば、ロボットシステム１００は、ピックアップエリア内の次のオブジェクトを対象パッケージ１１２として決定し、新たな対象オブジェクトを転置するなどための新たなベースモーションプランを計算することができる。
【０１０９】
いくつかの実施形態では、ロボットシステム１００は、接触度合い３１２に基づいて経路計算メカニズムを更新するフィードバックメカニズムを含むことができる。たとえば、ロボットシステム１００が（たとえば、ブロック７２０に関して上述したように）調整された位置で対象パッケージ１１２を再把持するアクションを実施するときに、ロボットシステム１００は、（たとえば、ブロック７１２に関して上述したように）閾値を満たした接触／力測定値を生成したエンドエフェクタの位置を記憶することができる。ロボットシステム１００は、その位置を対象パッケージ１１２に関連付けて記憶することができる。ロボットシステム１００は、把持の失敗及び／又は成功した再把持アクションの回数が閾値に達した場合、対象パッケージ１１２を把持するための記憶された位置の分析を（たとえば、最近のアクションのセットを分析するためのランニングウィンドウを使用して）行うことができる。特定のオブジェクトに対して所定の回数の再把持アクションが行われた場合、ロボットシステム１００は、対象パッケージ１１２に対する新たな位置（たとえば、最大の成功回数に対応する位置）にグリッパを載置するようにモーション計画メカニズムを更新することができる。
【０１１０】
ブロック７１０及び／又はブロック７２６に表した動作に基づいて、ロボットシステム１００は（たとえば、プロセッサ２０２を介して）、ベースモーションプランの実行の進捗を追跡することができる。いくつかの実施形態では、ロボットシステム１００は、対象パッケージ（複数可）１１２の水平転置に応じて進捗を追跡することができる。ロボットシステム１００は、水平転置を開始する前に、確立された把持を測定すること（ブロック７１０）に基づいて、また、水平転置を開始した後に、転置中の把持を測定すること（ブロック７２６）に基づいて、進捗を追跡することができる。それに応じて、ロボットシステム１００は、上述の進捗に基づいて、アクチュエータコマンド、アクチュエータ設定、又はそれらの組み合わせの新たなセット（すなわち、ベースモーションプランとは異なるもの）を選択的に生成することができる。
【０１１１】
他の実施形態では、たとえば、ロボットシステム１００は、アクチュエーションデバイス２１２に伝達された、及び／又はそれによって実施されたコマンド、設定、又はそれらの組み合わせを追跡することに基づいて、進捗を追跡することができる。進捗に基づいて、ロボットシステム１００は、アクチュエータコマンド、アクチュエータ設定、又はそれらの組み合わせの新たなセットを選択的に生成して、再把持応答アクション及び／又は制御された降下の応答アクションを実行することができる。たとえば、進捗が対象パッケージ１１２のあらゆる水平転置の前である場合、ロボットシステム１００は、初期把持閾値を選択し、（たとえば、関数呼び出し又はジャンプ命令を介して）ブロック７１２以降に表した動作を実行することができる。また、進捗が対象パッケージ１１２の水平転置後である場合、ロボットシステム１００は、転置把持閾値を選択し、（たとえば、関数呼び出し又はジャンプ命令を介して）ブロック７２８以降に表した動作を実行することができる。
【０１１２】
接触／力測定値と、視覚センサデバイス１４３からの撮像データを介した視覚ベースのモニタリングとに従って、対象パッケージ１１２の粒度の細かい制御／操作を実装すること（すなわち、ベースモーションプランを実施するか、又はそれから外れるかを選択すること）により、オブジェクトを転置する効率、速度、及び正確性が向上する。たとえば、接触度合いが初期把持閾値を下回るか、又はパッケージ１１２が不適切に位置決めされている場合に、対象パッケージ１１２を再把持することにより、転置中に把持の失敗が発生する可能性が減少し、それによって、転置中に取り落とす又は意図せずに落下するオブジェクトの数が減少する。所望の把持を維持するように真空領域及び真空レベルを調整することができ、それによってパッケージ１１２の取り扱いがさらに改善される。そのうえ、取り落とした各オブジェクトは、結果を修正するための人間のインタラクション（たとえば、取り落としたオブジェクトを後続のタスクのためにモーション経路からどかし、取り落としたオブジェクトの損傷を検査し、及び／又は取り落としたオブジェクトのタスクを完了すること）を必要とする。このように、取り落とすオブジェクトの数を削減することにより、タスク及び／又は全体動作を実施するのに必要な人的労力が削減される。
【０１１３】
図１８〜図２１に、本開示の１つ又は複数の実施形態による、図１６の方法４９０又は図１７の方法７００に従ってオブジェクトをロボットにより把持及び輸送する段階を示す。図１８は、グリッパアセンブリ１４１がオブジェクトのスタックの上方に配置されていることを示している。ロボットアーム１３９は、グリッパアセンブリ１４１を対象オブジェクトの真上に位置決めすることができる。コントローラは、視覚センサデバイス１４３からの画像データを分析して、図１７のブロック７０４で説明したように、例えば、対象オブジェクト８１２ａ、８１２ｂなどを識別することができる。収集された画像データに基づいて、プラン（たとえば、ピックアップ又はベースプラン）を生成することができる。プランは、（ａ）グリッパアセンブリ１４１の運搬能力、及び／又は（ｂ）対象オブジェクトの構成に基づいて、生成することができる。
【０１１４】
図１９は、グリッパアセンブリ１４１の下面が、対象オブジェクト８１２ａ、８１２ｂと、大きい非対象オブジェクト８１８とに重なっていることを示している。視覚センサデバイス１４３からの出力を分析して、対象オブジェクトに対するグリッパアセンブリ１４１の位置を確認することができる。オブジェクト８１２ａ、８１２ｂの位置に基づいて、真空に引くための真空領域１１７ａ、１１７ｂが識別される。いくつかの実施形態では、力センサ２０３からの読取値を使用して、対象オブジェクト８１２ａ、８１２ｂを把持する前及び／又は後に、グリッパアセンブリ１４１がスタック８１４の上面に接触していることを確認する。
【０１１５】
図２０は、矢印で示すように真空領域１１７ａ、１１７ｂに空気が吸い込まれて、他の真空領域１１７ｃにおいて真空（又は実質的に真空）に引くことなく、対象オブジェクト８１２ａ、８１２ｂがグリッパアセンブリ１４１に対して保持されることを示している。真空レベルを増減させて、弾性パネル（複数可）４１２（１つを識別）の圧縮を増減させることができる。図１７のブロック７１０に関連して説明したように、真空グリップを評価することができる。
【０１１６】
図２１は、上昇したグリッパアセンブリ１４１が対象オブジェクト８１２ａ、８１２ｂをしっかりと保持していることを示している。視覚センサデバイス１４３を使用して、対象オブジェクト８１２ａ、８１２ｂの位置を監視することができる。追加的又は代替的には、力検出器アセンブリ２０５を使用して、負荷に関する情報、たとえば、対象オブジェクト８１２ａ、８１２ｂの位置及び重量を特定することができる。真空領域１１７ａ、１１７ｂは、空気を吸い込んで、対象オブジェクト８１２ａ、８１２ｂをしっかりと保持し続けることができる。図１７のブロック７２６で説明したように、転置中に真空グリップを監視することができる。加えられた真空を停止又は低減して、オブジェクト８１２ａ、８１２ｂを解放することができる。このプロセスを繰り返して、スタック内のオブジェクトのそれぞれを転置することができる。
【０１１７】
掴持（ｇｒａｓｐ）セット
図２２に、本技術の１つ又は複数の実施形態による掴持セット２２００の例示的な態様を示す。掴持セット２２００は、対象パッケージ１１２に対するエンドエフェクタ１４０の１つ又は複数の把持姿勢（たとえば、位置、場所、向きなど）を含むことができる。より詳細には、把持姿勢は、把持姿勢が対象パッケージ１１２を把持するのに使用できるか否かを判定する場合の対象パッケージ１１２及びエンドエフェクタ１４０の間の相対位置を表すことができる。
【０１１８】
把持姿勢の説明用の例として、図２２は、対象パッケージ１１２に対するエンドエフェクタ１４０の第１の姿勢２２０２及び第２の姿勢２２０４を示している。第１の姿勢２２０２は、対象パッケージ１１２を掴持するためのエンドエフェクタ１４０の第１の姿勢２２０２を表す第１の上面図２２１２及び第１の側面図２２１４によって示している。対象パッケージ１１２は、エンドエフェクタ１４０よりも小さいフットプリントを有し、第１の上面図２２１２ではエンドエフェクタ１４０によって隠され得る。したがって、第１の上面図２２１２では、対象パッケージ１１２は、エンドエフェクタ１４０に対する姿勢を示すために破線で示している。第１の姿勢２２０２と同様に、第２の姿勢２２０４は、対象パッケージ１１２を掴持するためのエンドエフェクタ１４０の第２の姿勢を表す第２の上面図２２２２及び第２の側面図２２２４によって示している。
【０１１９】
第１の姿勢２２０２は、互いに平行なエンドエフェクタ１４０及び対象パッケージ１１２の長さを有することができる。第１の姿勢２２０２及び第２の姿勢２２０４は、垂直方向（たとえば、ｚ軸、図２２では図示せず）まわりに９０度だけ回転／オフセットすることができる。それに応じて、第２の姿勢２２０４は、対象パッケージ１１２の幅に平行であって、対象パッケージ１１２の長さに直交するエンドエフェクタ１４０の長さを有することができる。
【０１２０】
図１のロボットシステム１００は、対象パッケージ１１２の把持姿勢を識別し、識別された把持姿勢の対象パッケージ１１２のモデルに対して、１つ又は複数の把持姿勢のエンドエフェクタ１４０のモデルを重ねる又は配置することによって、掴持セット２２００を導出することができる。ロボットシステム１００は、モデルを配置及び分析する際に、所定のパターン又はルーチンに従うことができる。いくつかの実施形態では、掴持セット２２００は、１つ又は複数のエッジ／境界が、対象パッケージ１１２の１つ又は複数の対応する周縁と位置合わせされた、エンドエフェクタ１４０の通知された（ｎｏｔｉｆｉｅｄ）把持姿勢２２０６を含むことができる。たとえば、通知された把持姿勢２２０６は、図４の把持接合部１２１の１つ又は複数の周縁を有することができ、及び／又は図４の真空領域１１７は、対象パッケージ１１２の対応する周縁と位置合わせすることができる。換言すれば、対象パッケージ１１２の周縁、及び真空領域１１７の対応する周縁は、垂直線／面と一致することができる。１つ又は複数の実施形態では、掴持セット２２００は、位置合わせされていないエンドエフェクタ把持姿勢のない、通知された把持姿勢２２０６を含む通知された掴持セットとすることができる。ロボットシステム１００は、想定される又は既知のパッケージのコンピュータモデルを介して、オフラインで（たとえば、実際のパッケージを受け取る及び／又は処理する前に）掴持セット２２００を導出することができる。代替的又は追加的には、ロボットシステム１００は、掴持セット２２００を動的に、たとえば、転置の対象となる実際のパッケージを描写するリアルタイム画像に基づいて、導出することができる。
【０１２１】
掴持セット２２００は、把持姿勢に関連する移動制御パラメータ２２０８をさらに含むことができる。移動制御パラメータ２２０８はそれぞれ、対応する把持姿勢のために対象オブジェクトを掴持するのに必要な真空領域１１７及び／又は吸引要素１５１を識別する表示を含むことができる。また、移動制御パラメータ２２０８は、対象パッケージ１１２を掴持及び転置する間の、エンドエフェクタ１４０の移動を制御するために使用される速度、加速度、力、レートなどを表す値を含むことができる。たとえば、移動制御パラメータ２２０８は、把持姿勢ごとの転置速度乗数（ＴＳＭ）（たとえば、第１の姿勢２２０２に対する第１のＴＳＭ２２１８、及び第２の姿勢２０４０に対する第２のＴＳＭ２２２８）を含むことができる。ＴＳＭは範囲Ｒ∈［０，１］内の値を含むことができ、ここで「１」は全速力又は最高速度を表し、「０」は停止又は移動なしを表す。
【０１２２】
ロボットシステム１００は、対応する把持姿勢に従って移動制御パラメータ２２０８を（オフラインで及び／又は動的に）導出又は計算することができる。ロボットシステム１００は、エンドエフェクタ１４０と対象パッケージ１１２との重なり、対象パッケージ１１２の物理的特徴に関する情報、及び／又は同一のタイプのパッケージの以前の転置からのレコードに基づいて、移動制御パラメータ２２０８を導出することができる。たとえば、ロボットシステム１００は、重なったエリアと、対応する真空領域１１７及び／又は吸引要素１５１とを識別することができる。さらに、ロボットシステム１００は、重なったエリアのサイズ、及び／又は対象パッケージ１１２上の吸引要素１５１の数を入力とする所定の関数を使用して、移動制御パラメータ２２０８を導出することができる。所定の関数は、対象パッケージ１１２に関する重量、ＣｏＭ情報、１つ又は複数の寸法、表面タイプ、及び／又はマスターデータ内の他の情報をさらに使用し得る。いくつかの実施形態では、ロボットシステム１００は、移動制御パラメータ２２０８（たとえば、ＴＳＭ）を、最初の把持の失敗及び／又は転置中のパッケージの取り落としの発生（たとえば、パラメータを減少させる）又は長期の不在（たとえば、パラメータを増加させる）に基づいて、自動的に調整することができる。
【０１２３】
パッケージを転置する場合、ロボットシステム１００は、移動制御パラメータ２２０８の最大のインスタンス（たとえば、ＴＳＭの最高値）を有する掴持セット２２００から把持姿勢を選択することができる。それに応じて、ロボットシステム１００は、対応するパッケージの転置期間を短縮することができる。追加的には、ロボットシステム１００は、複数のパッケージを同時に掴持及び転置することを検討及び分析することができる。ロボットシステム１００は、同時転置の実現可能性を分析することができ、実現可能な場合、ロボットシステム１００は、同時転置の効率（たとえば、総転置時間）を別々の個々の転置の効率と効果的に比較することができる。
【０１２４】
図示した例として、第１の姿勢２２０２は第２の姿勢２２０４と比べて、エンドエフェクタ１４０と対象パッケージ１１２との間により大きい重なりを提供するので、第１のＴＳＭ２２１８は第２のＴＳＭ２２２８よりも大きくなり得る。換言すれば、第１のＴＳＭ２２１８を「Ｘ」とすることができ、第２のＴＳＭ２２２８は「Ｙ」とすることができ、ここで「Ｘ＞Ｙ」である。それに応じて、同時掴持が利用できない又は検討しない場合、ロボットシステム１００は、第２の姿勢２２０４よりも第１の姿勢２２０２を選択することができる。
【０１２５】
図２２に示す例では、ロボットシステム１００は、エンドエフェクタ１４０が同時掴持対象２２５０に及んでいると判定することができる。同時掴持対象２２５０は、対象パッケージ１１２に隣接する、及び／又は対象パッケージ１１２と同一のレイヤに配置されたパッケージとすることができる。いくつかの実施形態では、ロボットシステム１００は、隣接するパッケージが、対象パッケージ１１２の上面／上部の高さと同一の高さであるか又はそこから閾値範囲内にある上部又は上面を有する場合に、隣接するパッケージをさらなる処理のために同時掴持対象２２５０として有効性検証することができる。ロボットシステム１００は、たとえば、全体的な移動制御パラメータを導出又は決定し、及び／又は解放シーケンスを分析することによって、対象パッケージ１１２を同時掴持対象２２５０と同時に掴持及び転置する実現可能性を分析することができる。分析結果が同時掴持／転置の実現可能性を示す場合、ロボットシステム１００は、対応するモーションプランを導出し、及び／又は対応する効率を評価することができる。それに応じて、ロボットシステム１００は、適用可能かつ有益な場合に、複数のパッケージを掴持及び転置することにより、パッケージのレイヤ／スタックの全体的な転置時間を短縮することができる。同時掴持及び転置に関する詳細については、以下で説明する。
【０１２６】
複数のパッケージの同時掴持
図２３Ａ〜図２３Ｆに、本技術の１つ又は複数の実施形態による複数のオブジェクトを同時に転置するための例示的なシナリオを示す。図示した例示的なシナリオでは、エンドエフェクタ１４０の真空領域１１７の動作状態と、対象パッケージ１１２及び同時掴持対象２２５０への対応する効果とを示している。それに応じて、図示した例示的なシナリオでは、同時掴持／転置に関連するエラー状態及び対応する解決策を示している。
【０１２７】
説明用の例では、対象パッケージ１１２は、第１の真空領域１１７ａの対応する寸法より長い寸法を有し得る。図２３Ａに示す通知された把持姿勢では、対象パッケージ１１２は、第２の真空領域１１７ｂに及び得る。同時掴持対象２２５０は、対象パッケージ１１２に隣接し得る。これら２つのパッケージは、ある距離だけ離され得る。選択された把持姿勢により、第２の真空領域１１７ｂ及び第３の真空領域１１７ｃは共に、同時掴持対象２２５０に重なることができる。したがって、ロボットシステム１００は、３つ全ての真空領域をアクティブ化して、同時掴持対象２２５０及び対象パッケージ１１２を同時に掴持及びピックアップすることができる。
【０１２８】
図２３Ｂ及び図２３Ｃは、パッケージを解放するための起こり得るエラー状態を示している。図２３Ｂに示すように、第１の真空領域１１７ａのみを非アクティブ化しても、対象オブジェクト１１２が完全に解放されない場合がある。たとえば、比較的軽い重量、フレキシブルな構造、及び／又はよりスムーズな掴持面を有するパッケージは、重なりによって第２の真空領域１１７ｂにくっついたままになり、又はそれによって掴持されたままになり得る。結果として、対象オブジェクト１１２は、他のオブジェクトと衝突する、エンドエフェクタ１４０によって掴持されたままになる、及び／又は想定外の方法で落下し得る。代替的には、図２３Ｃに示すように、対象オブジェクト１１２を解放するために第１の真空領域１１７ａ及び第２の真空領域１１７ｂの両方を非アクティブ化すると、同時掴持対象２２５０の想定外の解放が生じ得る。たとえば、同時掴持対象２２５０がより重い、硬い、及び／又は不規則な又は多孔質の掴持面を有する場合に、１つの真空領域では、それを掴持するのに十分でない場合がある。
【０１２９】
図２３Ｄ〜図２３Ｆは、対象パッケージ１１２及び同時掴持対象２２５０を処理するための可能な解決策を示す。図２３Ｄに示すように、ロボットシステム１００は、代替的な解放シーケンスを分析することができる。ロボットシステム１００は、対象パッケージ１１２の前に同時掴持対象２２５０を解放することを検討することができる。それに応じて、ロボットシステム１００は、第２の真空領域１１７ｂ及び第３の真空領域１１７ｃを非アクティブ化して同時掴持対象２２５０を解放することを検討することができる。ロボットシステム１００は、対象パッケージ１１２へのそのような非アクティブ化の効果を分析することができる。上記で説明した例示的な状況では、第１の真空領域１１７ａは、対象パッケージ１１２を掴持するのに十分であり得、代替的な解放シーケンスは実行可能な解決策であり得る。いくつかの実施形態では、ロボットシステム１００は、同じパッケージのセットに対して、対象及び同時掴持の指定を置き換え（たとえば、図２３Ｄの対象２を対象パッケージ１１２として指定し、対象１を同時に掴持されるパッケージ２２５０として指定し）、同時に掴持されるパッケージの前に対象パッケージ１１２が解放されるように維持することによって、代替的な解放シーケンスを処理することができる。
【０１３０】
代替的又は追加的には、ロボットシステム１００は、図２３Ｅに示すような他の把持姿勢を検討することができる。たとえば、エンドエフェクタ１４０の最初に分析された把持姿勢は、第１の真空領域１１７ａの外縁が、対象パッケージ１１２の第１の周縁と位置合わせされ得る。ロボットシステム１００は、追加的又は代替的には、第１の真空領域１１７ａの内側境界を、第１の周縁とは反対側の対象パッケージ１１２の第２の周縁と位置合わせした代替的な姿勢２４０２を処理及び分析することができる。実際上は、ロボットシステム１００は、対象パッケージ１１２及び／又は同時に掴持されるパッケージ２２５０に対して、横方向に沿ってエンドエフェクタ１４０をシフトすることを検討することができる。上記で説明した例示的な状況では、対象パッケージ１１２には、第２の真空領域１１７ｂが重ならずに、第１の真空領域１１７ａが重なって、これを掴持することができる。したがって、第２の真空領域１１７ｂは、同時に掴持されるパッケージ２２５０のみの掴持専用にすることができる。このようにして、第１の真空領域１１７ａを非アクティブ化することにより、対象パッケージ１１２を解放することができ、それと独立して、第２の真空領域１１７ｂ及び第３の真空領域１１７ｃを非アクティブ化することにより、同時に掴持されるパッケージ２２５０を解放することができる。
【０１３１】
図２３Ｆは、ロボットシステム１００が対象パッケージ１１２のみを掴持することを示している。たとえば、ロボットシステム１００は、同時掴持の分析が任意のルール又は閾値の違反を示す場合に、他のパッケージを同時に掴持することなく、対象パッケージ１１２の掴持及び転置に戻ることができる。
【０１３２】
接触評価
図２４に、本技術の１つ又は複数の実施形態による例示的なグリッパ載置状況を示す。いくつかの実施形態では、ロボットシステム１００は、パッケージと対応する真空領域との間の重なり量を表す重なり度合いを導出することができる。図２４に示す例では、エンドエフェクタ１４０は、第２の真空領域１１７ｂが対象パッケージ１１２に完全に重なるように位置決めすることができる。それに応じて、ロボットシステム１００は、第２の真空領域１１７ｂの重なり度合いを「全部」として決定することができる。真空領域が対象パッケージ１１２と重ならない場合（図２４には図示せず）、ロボットシステム１００は、重なり度合いを「なし」として決定することができる。
【０１３３】
ロボットシステム１００は、真空領域及び対象パッケージ１１２の間の部分的な重なりを記述する１つ又は複数の値を有することができる。いくつかの実施形態では、ロボットシステム１００は、真空領域のうちの１つ又は複数（すなわち、第１の真空領域１１７ａ、第２の真空領域１１７ｂ、又は第３の真空領域１１７ｃ）と、対象オブジェクト１１２との間の部分的な重なり度合いを、たとえば、真空センサ（すなわち、センサ２１６）からのセンサ読取値に応じて決定することができる。たとえば、把持のための掴持姿勢が対象オブジェクト１１２及び真空領域の重なり又はそれらの間の接触を示すとしても、対象オブジェクト１１２が真空領域のうちの１つ（すなわち、第１の真空領域１１７ａ）と接触していることを、真空センサが真空圧の変化で検出できない場合、ロボットシステム１００は、図２４に示すように、重なりを「接触」として分類することができる。いくつかの実施形態では、ロボットシステム１００は、対応する閾値のセット又は範囲に応じて、部分的な重なり度合いを決定することができる。図２４に示す例では、ロボットシステム１００は、５０％の重なりを、「接触」分類及び「一部」分類の間の分割閾値として使用することができる。それに応じて、ロボットシステム１００は、第１の真空領域１１７ａの重なり度合いを「接触」として決定することができ、その理由は、その領域の５０％未満が対象パッケージ１１２と重なるためである。さらに、ロボットシステム１００は、第３の真空領域１１７ｃの重なり度合いを「一部」として決定することができ、その理由は、重なり量が５０％より大きく１００％未満の値に対応するためである。いくつかの実施形態では、「一部」分類及び「全部」分類の間の区別は、５０％及び１００％の重なりの間の閾値に基づくことができる。
【０１３４】
掴持されたパッケージのリアルタイム検証
図２５に、本技術の１つ又は複数の実施形態による例示的なタスク位置を示す。いくつかの実施形態では、目的地センサ２５０２のセットは、パッケージ転置の進捗を追跡するように構成され得る。たとえば、目的地センサ２５０２は、光信号を送信し、及び／又は、転置されたパッケージ及び／又はロボットユニット（たとえば、エンドエフェクタ１４０）によって生じる光信号の変化を検出するラインセンサ（たとえば、光センサ）を含むことができる。いくつかの例示的なラインセンサは、交差又は進入イベントを示す対応するレーザー又は光信号の不在と、退出イベントを示すレーザー／光信号のその後の検出と、を検出することができる。
【０１３５】
いくつかの実施形態では、目的地センサ２５０２は、図１のタスク位置１１６（たとえば、図３のコンベヤ１２０）の上方に配置することができる。目的地センサ２５０２は、減速センサ２５０４のセット及び／又は解放センサ２５０６のセットを含むことができる。減速センサ２５０４は、転置されるパッケージ（複数可）の下降中に、その解放に備えて、減速をトリガするように構成されるラインセンサを含むことができる。解放センサ２５０６は、掴持されたパッケージの解放のトリガを（たとえば、対応する真空領域１１７の非アクティブ化を介して）行って、そのパッケージを対応する対象位置１１６に載置するように構成されるラインセンサを含むことができる。
【０１３６】
目的地センサ２５０２は、１つ又は複数の横平面に沿って配置及び配向することができる。いくつかの実施形態では、たとえば、目的地センサ２５０２は、横線に沿って（たとえば、ｘ方向に沿って）及び／又は固定の離間距離に従って配置することができる。目的地センサ２５０２は、直交する横線に沿って（たとえば、ｙ方向に沿って）交差を検出するように構成することができる。換言すれば、目的地センサ２５０２は、ｙ方向に沿って進行する光信号の変化／乱れを検出するように構成することができる。また、減速センサ２５０４は、解放センサ２５０６に対応する他の横平面（たとえば、第２の水平面）の上方に配置された横平面（たとえば、水平面）に対応することができる。
【０１３７】
ロボットシステム１００は、目的地センサ２５０２を使用して、転置されるパッケージの他の物理的特徴を特定又は検証することができる。たとえば、ロボットシステム１００は、交差イベントを使用して、転置されるパッケージの高さを求めることができる。目的地センサ２５０２の検出線／面は、既知の高さにすることができる。それに応じて、ロボットシステム１００は、交差イベント時のエンドエフェクタ１４０の高さを識別し、識別した高さと、目的地センサ２５０２の既知の高さとの差を計算することによって、パッケージの高さを求めることができる。また、ロボットシステム１００は、直線的に配置されたセンサのトリガされたインスタンスを識別して、転置されるパッケージの対応する横寸法を求めることができる。図２５に示すように、ロボットシステム１００は、センサＤ１ａ、Ｄ１ｂ、及びＤ２ａが交差イベントを検出しているが、センサＤ２ｂ以降は乱れがないままであると判定することができる。それに応じて、ロボットシステム１００は、同時掴持対象２２５０の幅又は長さを推定することができる。
【０１３８】
ロボットシステム１００は、導出された情報を使用して、転置されるパッケージと、対応するモーションプランの残りの部分とを検証することができる。たとえば、ロボットシステム１００はさらに、最も高いパッケージを最初に解放するルールに従って、モーションプランを導出及び実施することができる。それに応じて、ロボットシステム１００は、最初に解放されるように意図されたパッケージが、他の同時に転置されるパッケージ（複数可）の前に、検知線／面と交差することを検証することができる。さらに、ロボットシステム１００は、センサベースの高さ及び／又は横寸法を、転置されるパッケージの既知の又は想定される寸法と比較して、その同一性／カテゴリを検証することができる。
【０１３９】
図２５に示す例では、ロボットシステム１００は、対象パッケージ１１２及び同時掴持対象２２５０を同時に掴持及び転置するためのモーションプランを導出及び実施することができる。ロボットシステム１００は、対象パッケージ１１２が同時掴持対象２２５０よりも高いことを示すデータ及び分析結果に従って、モーションプランを導出することができる。このようにして、モーションプランは、同時掴持対象２２５０の前に対象パッケージ１１２を解放することに対応することができる。しかしながら、利用される寸法は誤っている場合があり、対応する位置におけるパッケージの実際の寸法は異なっている場合がある。それに応じて、ロボットシステム１００は、センサＤ３ａ及びＤ３ｂ（たとえば、対象パッケージ１１２に対応するセンサ）が交差イベントを示す前に、センサＤ１ａ〜Ｄ２ｂ（たとえば、同時掴持対象２２５０に対応するセンサ）が交差イベントを示す場合に、エラー状態を検出することができる。追加的又は代替的には、ロボットシステム１００は、センサＤ１ａ〜Ｄ２ｂのトリガに基づいて、推定横寸法及び／又は想定外の寸法ステータスを導出することができる。換言すれば、トリガされたセンサの位置に基づいて、ロボットシステム１００は、転置されるオブジェクトの横寸法が想定通りでないと判定することができる。以下で詳細に説明するように、ロボットシステム１００は、検出されたエラー状態に応答し、モーションプランの残りの部分を評価することができる。評価に基づいて、ロボットシステム１００は、残りの部分を継続するか、又は残りの部分を更新する／置き換えることができる。
【０１４０】
複数のオブジェクトを同時に処理するための動作フロー
図２６は、本技術の１つ又は複数の実施形態によるロボットシステム（たとえば、ロボットシステム１００）を動作させるための例示的な方法２６００の他のフロー図である。方法２６００は、マルチグリッパアセンブリ（たとえば、図４のエンドエフェクタ１４０）を使用した２つ以上のオブジェクトの同時掴持を評価するためのものとすることができる。方法２６００は、２つ以上のオブジェクトを同時に掴持及び転置することが実現可能及び／又は最適であるかを判定するためのものとすることができる。判定に基づいて、ロボットシステム１００は（たとえば、図２のプロセッサ２０２を介して）、方法２６００を実施して、パッケージを掴持及び転置するための１つ又は複数のモーションプランを導出及び実施することができる。方法２６００は、図２のプロセッサ２０２の１つ又は複数を用いて図２の記憶デバイス２０４の１つ又は複数に記憶された命令を実行することに基づいて、実施することができる。モーションプラン及び／又は方法２６００を実施する際に、プロセッサ２０２は、モーションプラン又は関連するコマンド／設定のセット／シーケンスを図３の転置アセンブリ１０４及び／又は図３のエンドエフェクタ１４０に送ることができる。それに応じて、転置アセンブリ１０４及び／又はエンドエフェクタ１４０は、パッケージを掴持及び転置するためのモーションプランを実行することができる。
【０１４１】
ブロック５００において、ロボットシステム１００（たとえば、図１のコンピュータ１０９及び／又はプロセッサ２０２）は、上述の環境の少なくとも一部分を表す画像データを受信することができる。たとえば、ロボットシステム１００は、図３の撮像システム１６０から、図３のピックアップ環境１６３における図３のスタック１６５の少なくとも一部分を表す画像データを受信することができる。ピックアップ環境１６３は、図１の対象パッケージ１１２及び図２２の同時掴持対象２２５０を含むことができる。したがって、画像データは、対象パッケージ１１２、同時掴持対象２２５０、及び／又はスタック１６５内の他のパッケージ（たとえば、スタック１６５の一番上のレイヤを形成するパッケージ）を描写することができる。
【０１４２】
ブロック５０２において、ロボットシステム１００は、画像データを分析して、上述のようにオブジェクトのグループ、パッケージのスタックなどの中のパッケージを識別することができる。たとえば、ロボットシステム１００は、対象パッケージ１１２及び同時掴持対象２２５０を含む、撮像システム１６０に対して露出している／それによって視認可能な、及び／又はエンドエフェクタ１４０にアクセス可能なパッケージ（たとえば、スタック１６５の一番上のレイヤを形成するパッケージ）などのパッケージのセットを識別することができる。ロボットシステム１００は、個々のパッケージの境界及び／又は位置を推定することにより、パッケージのセットを識別することができる。いくつかの実施形態では、ロボットシステム１００は、画像データの各部分を、パッケージの既知の面を表すマスターデータ内の画像と比較することができる。追加的又は代替的には、ロボットシステム１００は、エッジ検出を（たとえば、Ｓｏｂｅｌフィルタを介して）実行してエッジを検出し、位置特定することができる。ロボットシステム１００は、エッジを分析して、画像データに描写されたパッケージの境界を推定することができる。
【０１４３】
いくつかの実施形態では、ロボットシステム１００は、後続の処理／検討のために、識別されたパッケージの１つを対象パッケージ１１２として反復的に選択することができる。ロボットシステム１００は、反復的な分析を介してセット内のパッケージを処理し、パッケージを転置するための掴持の組み合わせを選択することができる。代替的には、ロボットシステム１００は、各反復の最後に、対象パッケージ１１２を単独で、あるいは１つ又は複数の同時に掴持されるパッケージ（たとえば、同時掴持対象２２５０）と共に転置することができる。
【０１４４】
ブロック２６０２において、ロボットシステム１００は、各パッケージの掴持セット（たとえば、図２２の掴持セット２２００）を分析することができる。ロボットシステム１００は、ブロック２６２２などにおいて、利用可能なグリッパ位置のセットを決定することによって、掴持セット２２００を分析することができる。掴持セット２２００内の把持姿勢のそれぞれは、現実世界の及び／又は対象パッケージ１１２に対するエンドエフェクタ１４０の位置及び／又は向きを表すことができる。ロボットシステム１００は、様々な異なる把持姿勢のエンドエフェクタ１４０のモデルを画像データ内の対象パッケージ１１２に重ねることにより、掴持セット２２００を分析することができる。ロボットシステム１００は、１つ又は複数の所定のルールに違反するあらゆる把持姿勢を排除することができる。たとえば、ロボットシステム１００は、任意の障害物、たとえば、コンテナ壁、所定の固定物／構造などに重なる把持姿勢を排除することができる。
【０１４５】
処理の複雑性／負担を低減するために、ロボットシステム１００は、１つ又は複数の所定のパターン及び／又はルールに従って、掴持セット内の限られた数の把持姿勢を分析する又は含むことができる。ブロック２６２４などに示すいくつかの実施形態では、ロボットシステム１００は、各パッケージについて通知された掴持セット（たとえば、図２２の通知された把持姿勢２２０６のセット）を決定することができる。それに応じて、掴持セットは、それぞれが、マルチグリッパアセンブリの境界（たとえば、図４の真空領域１１７の周縁）を対象パッケージ１１２の周縁と位置合わせした、把持姿勢のセットを含むことができる。通知された掴持セットは、通知された把持姿勢２２０６のみを含むことができる。ロボットシステム１００は、対応するエッジが垂直線又は面と交わる又は当接するように、構造又はそのモデルを位置合わせすることができる。
【０１４６】
いくつかの実施形態では、ロボットシステム１００は、画像データを受信した後に、把持姿勢を動的に導出及び生成することに基づいて、掴持セット２２００を分析することができる。代替的には、ロボットシステム１００は、既知のパッケージごとに、掴持セット２２００の所定のインスタンスを有することができる。たとえば、既知の又は想定されるパッケージごとの掴持セット２２００は、マスターデータに記憶することができる。ロボットシステム１００は、識別された対象パッケージに対応する把持姿勢にマスターデータからアクセスすることに基づいて、掴持セット２２００を分析することができる。
【０１４７】
ブロック２６２６において、ロボットシステム１００は、隣接するグループ化対象、たとえば、対象パッケージ１１２との同時掴持が検討される追加のパッケージ（たとえば、同時掴持対象２２５０などの第２のパッケージ）を識別することができる。ロボットシステム１００は、識別されたパッケージセット内の他のパッケージと重なる把持姿勢を識別することができる。たとえば、ロボットシステム１００は、横方向に沿って第２のパッケージに及ぶ把持姿勢を識別することができる。ロボットシステム１００は、重なったパッケージ（複数可）を隣接するグループ化対象として識別することができる。ロボットシステム１００は、追加のパッケージ（複数可）を対象パッケージ１１２と共に同時に掴持するための、識別された重なる把持姿勢を処理することができる。いくつかの実施形態では、ロボットシステム１００は、たとえば、同時転置を最初に／単一の転置の前に評価するように、重なる把持姿勢を優先することができる。
【０１４８】
上述のように、ロボットシステム１００は、識別されたパッケージのセット（たとえば、スタック１６５及び／又はその一番上のレイヤ）の中のパッケージを反復的に選択及び分析することができる。ロボットシステム１００は、分析されたパッケージの掴持セットを追跡し、識別されたパッケージごとに把持姿勢を組み合わせることができる。それに応じて、ロボットシステム１００は、識別されたパッケージを掴持して開始位置１１４からタスク位置１１６に転置するための把持姿勢の組み合わせを決定することができる。把持姿勢の各組み合わせは、パッケージのセット内のオブジェクトを掴持するための一意の把持姿勢のセットを表すことができる。
【０１４９】
ブロック２６０４において、ロボットシステム１００は、計画された掴持について、統合された転置制御設定を導出することができる。ロボットシステム１００は、重なる把持姿勢について、統合された転置制御設定を導出することができる。以下で詳細に説明するように、ロボットシステム１００は、対象パッケージ１１２、同時掴持対象２２５０、又は他の任意の重なったパッケージについての図２２の移動制御パラメータ２２０８を決定することができる。ロボットシステム１００は、パッケージのセットについてのパラメータを、同時転置に対応する１つのパラメータに統合することができる。
【０１５０】
ブロック２６３２において、ロボットシステム１００は、エンドエフェクタ１４０のモデルと、同時掴持の対象となるパッケージ（たとえば、対象パッケージ１１２及び同時掴持対象２２５０）との間の重なり領域を識別することができる。把持姿勢のそれぞれについて、ロボットシステム１００は、エンドエフェクタ１４０と、把持姿勢に対応するパッケージのそれぞれとの間の重なり量を計算することができる。いくつかの実施形態では、ロボットシステム１００は、所定の閾値のセットに従って、図２４に関して上述したような重なりをカテゴライズすることができる（たとえば、全部、一部、及び接触のカテゴリ）。代替的又は追加的には、ロボットシステム１００は、パッケージに重なる吸引要素１５１の数をカウントすることができる。ロボットシステム１００は、重なる吸引要素１５１の全体数、及び／又は真空領域１１７ごとの重なり領域を表す数をカウントすることができる。
【０１５１】
ブロック２６３４において、ロボットシステム１００は、制御パラメータ（たとえば、ＴＳＭなどの移動制御パラメータ２２０８）を決定することができる。制御パラメータは、把持姿勢に関連するパッケージごとに決定することができる。ロボットシステム１００は、重なり領域に基づいて移動制御パラメータ２２０８を決定することができる。たとえば、エンドエフェクタ１４０の把持姿勢のそれぞれについて、ロボットシステム１００は、対象パッケージ１１２を転置する力及び／又は関連の物理的特徴を表す対象制御パラメータを決定することができる。追加的には、把持姿勢のそれぞれについて、ロボットシステム１００は、同時掴持対象２２５０を転置する力及び／又は関連の物理的特徴を表す第２の制御パラメータを決定することができる。
【０１５２】
重なった領域に応じて、ロボットシステム１００は、（１）対象パッケージ１１２を掴持するための第１の吸引要素のセット、（２）同時掴持パッケージ２２５０を掴持するための第２の吸引要素のセット、及び／又は（３）さらなるパッケージを掴持するための追加の吸引要素のセットを制御するための真空設定を表す制御パラメータを決定することができる。いくつかの実施形態では、ロボットシステム１００は、パッケージに重なる真空領域１１７の個々のインスタンス（たとえば、吸引要素１５１のセット）をアクティブ化するための制御パラメータを決定することができる。個々の吸引要素を制御可能な実施形態では、制御パラメータは、重なり領域の境界内に配置された吸引要素１５１のセットを識別することができる。
【０１５３】
追加的又は代替的には、ロボットシステム１００は、把持強度の度合い（たとえば、真空力又は吸引要素を掴持する数）を表す制御パラメータを決定することができる。ロボットシステム１００はさらに、たとえば、最高速度／加速度及び／又は推定転置時間など、把持強度の度合いに関連する転置の１つ又は複数の特徴を表す制御パラメータを決定することができる。いくつかの実施形態では、ロボットシステム１００は、識別された重なり領域に基づいて、把持強度度合い及び／又は転置の特徴（たとえば、ＴＳＭ）を（たとえば、画像データの受信後に）動的に計算することができる。代替的には、ロボットシステム１００は、制御パラメータをオフラインで対応する把持姿勢と共に計算することができる。掴持セット２２００は、移動制御パラメータ２２０８を対応する把持姿勢と共に含むことができ、ロボットシステム１００は、所定のデータにアクセスすることに基づいてパラメータを決定することができる。
【０１５４】
ブロック２６３６において、ロボットシステム１００は、複数のパッケージを同時に掴持するように構成される掴持姿勢ごとに、グループ化転置パラメータ（たとえば、統合された移動制御パラメータ）を生成することができる。たとえば、ロボットシステム１００は、重なったパッケージに対応する異なる吸引要素１５１のセットを１つのデータパラメータに統合することに基づいて、統合された移動制御パラメータを生成することができる。いくつかの実施形態では、統合されたデータパラメータは、各ビットが対応する真空領域／吸引要素のアクティブ化状態を表す１６進ワードとすることができる。また、たとえば、統合された移動制御パラメータは、対象パッケージ１１２及び同時掴持対象２２５０を同時に操作する／動かす際に、転置アセンブリ１０４及び／又はエンドエフェクタ１４０を動作させるために使用される速度設定（たとえば、統合されたＴＳＭ）を表すことができる。いくつかの実施形態では、ロボットシステム１００は、重なったパッケージのグループに対する転置速度又はＴＳＭのうちの最小のもの（たとえば、対象制御パラメータ及び第２の制御パラメータの中の最低／最低速のインスタンス）を選択することにより、統合された移動制御パラメータを決定することができる。
【０１５５】
ブロック２６３８において、ロボットシステム１００は、パッケージのセットを転置するための総転置レートを評価することができる。評価のために、ロボットシステム１００は、把持姿勢の組み合わせごとに、対応する制御パラメータに基づいて、総転置レート（たとえば、パッケージセットを転置するための推定速度又は時間）を推定することができる。換言すれば、ロボットシステム１００は、識別されたパッケージのセットを転置するための掴持の解決策のセット（たとえば、把持姿勢の組み合わせ）を決定することができる。ロボットシステム１００は、各掴持の解決策における把持姿勢についての重なり及び対応する制御パラメータ（たとえば、ＴＳＭ）に基づいて、総転置レートを推定することができる。ロボットシステム１００は、所定の処理又は数式に従ってＴＳＭを組み合わせることに基づいて、総転置レートを推定することができる。たとえば、ロボットシステム１００は、ＴＳＭを追加又は平均化することに基づいて、総転置レートを推定することができる。
【０１５６】
ロボットシステム１００は、異なる把持姿勢の組み合わせ又は掴持の解決策の総転置レートを比較することに基づいて、総転置レートを評価することができる。比較に基づいて、ロボットシステム１００は、総転置レートに応じて把持姿勢の組み合わせを評価する、又はランク付けすることができる。それに応じて、ロボットシステム１００は、パッケージのセットを同時に掴持することにより、識別されたパッケージのセット全体の転置が最適化されるか否かを評価することができる。
【０１５７】
ブロック２６０６において、ロボットシステム１００は、計画された掴持（たとえば、各把持姿勢）を有効性検証することができる。ロボットシステム１００は、把持姿勢の組み合わせの１つ、たとえば、最も適した総転置レートを有する組み合わせを、有効性検証のために選択することができる。ロボットシステム１００は、所定のルールのセットに従って把持姿勢の実現可能性を判定することなどによって、選択された組み合わせ内の把持姿勢を有効性検証することができる。
【０１５８】
いくつかの実施形態では、ロボットシステム１００は、たとえば、ブロック２６４２に示すように、同時に掴持されるパッケージの解放シーケンスを決定することに基づいて、計画された掴持の有効性検証をすることができる。所与の把持姿勢について、ロボットシステム１００は、同時に掴持されたパッケージのセット（たとえば、対象パッケージ１１２及び同時掴持対象２２５０）をそれぞれの対象／目的地位置で解放するためのシーケンスを決定することができる。ロボットシステム１００は、所定のルールのセット及び／又は所定のプロセスのセットに従って、解放シーケンスを決定することができる。解放シーケンスを決定するためのルールの一例は、より高いパッケージをより低いパッケージよりも早く解放するものとすることができる。それに応じて、ロボットシステム１００は、解放されるパッケージの降下高さを最小限に抑えることにより、解放されたパッケージへの損傷を最小化又は排除しつつ、後で解放されるパッケージへの損傷（たとえば、押しつぶしイベント）を防ぐことができる。
【０１５９】
説明用の例として、降下シーケンス決定プロセスは、ブロック２６４６に示すように、第１の手法に基づくことができる。第１の手法は、対象パッケージ１１２を同時掴持対象２２５０の前に解放できるか否かを検証することに基づくことができる。
【０１６０】
第１の手法では、ロボットシステム１００は、対応する把持姿勢について識別された重なり領域に応じて、対象接触セット（Ｐ１）及び残余セット（Ｐ２）を決定することができる。対象接触セットは、対応する把持姿勢について、対象パッケージ１１２に重なる吸引要素のセット（たとえば、１つ又は複数の真空領域１１７）を表すことができる。残余セットは、対象接触セットに含まれない第２の吸引要素のセット（たとえば、１つ又は複数の真空領域１１７）を表すことができる。したがって、第１の接触セット及び第２の接触セットは、相互排他的にすることができる。ロボットシステム１００は、同時掴持対象２２５０の１つ又は複数の物理属性を表すデータにアクセスし、アクセスした結果を使用して、残余セットが同時掴持対象２２５０を掴持するのに十分であるか否かを判定することができる。残余セットが第２のパッケージを掴持するのに十分であると検証された場合、ロボットシステム１００は、対象パッケージ１１２を同時掴持対象２２５０の前に解放できることを判定又は検証することができる。換言すれば、ロボットシステム１００は、対象パッケージ１１２に重ならない吸引要素（複数可）１５１及び／又は真空領域（複数可）１１７が、同時掴持対象２２５０を掴持するのに十分である場合に、対象パッケージ１１２を最初に解放できることを検証することができる。検証に基づいて、ロボットシステム１００は、対象パッケージ１１２を同時掴持対象２２５０の前に解放するための解放シーケンスを決定することができる。
【０１６１】
また、説明用の例として、降下シーケンス決定プロセスは、ブロック２６４８に示すように、第２の手法に基づくことができる。第２の手法は、同時掴持対象２２５０を対象パッケージ１１２の前に解放できるか否かを検証することに基づくことができる。換言すれば、ロボットシステム１００は、対象パッケージと、二次的な／重なったパッケージとの区別を変更することができる。いくつかの実施形態では、ロボットシステム１００は、第１の手法が失敗した場合に（たとえば、残余セットが同時掴持対象２２５０を掴持するのに不十分な場合に）、第２の手法を実施することができる。
【０１６２】
第２の手法について、ロボットシステム１００は、対応する把持姿勢について識別された重なり領域に応じて、対象アクティブ化セット（Ａ１）及び第２の接触セット（Ｔ２）を決定することができる。対象アクティブ化セットは、対象パッケージを掴持するためにアクティブ化されるように指定された吸引要素のセットを表すことができる。対象アクティブ化セットは、対象接触セット以下にすることができる。第２の接触セットは、同時掴持対象２２５０に重なる吸引要素のセットを表すことができる。ロボットシステム１００は、対象アクティブ化セット及び第２の接触セットが相互排他的である場合に、同時掴持対象２２５０を対象パッケージ１１２の前に解放できることを検証することができる。それに応じて、ロボットシステム１００は、第２の接触セット及び対象アクティブ化セットが相互排他的である場合に、同時掴持対象２２５０及び対象パッケージ１１２を解放するための解放シーケンスを決定することができる。
【０１６３】
把持姿勢の組み合わせ内の同時掴持姿勢のうちの１つ又は複数が、解放シーケンスを提供できない（たとえば、第１の及び第２の手法の両方による有効性検証に失敗した）場合、ロボットシステム１００は、図２６内のフィードバックループで示すように、次の把持姿勢の組み合わせを選択して、評価することができる。ロボットシステム１００は、選択された把持姿勢の組み合わせを、その中の把持姿勢のそれぞれが有効な降下シーケンスを提供する場合に、有効性検証することができる。それに応じて、ロボットシステム１００は、パッケージのセットを掴持及び転置するための一意の把持姿勢のセット／解決策（たとえば、複数のパッケージを同時に掴持するための１つ又は複数の同時掴持姿勢を含む）を選択することができる。上述のように、ロボットシステム１００は、（１）有効な掴持（たとえば、有効な解放シーケンス）を提供すると共に、（２）識別されたパッケージのセットの転置に関連する効率尺度（たとえば、転置レート及び／又は転置時間）を最大化する、同時掴持姿勢を選択することができる。
【０１６４】
ブロック２６０８において、ロボットシステム１００は、有効性検証された掴持に基づいて、モーションプランのセットを導出することができる。ロボットシステム１００は、選択された姿勢の組み合わせにおけるグリッパ位置のそれぞれについて、モーションプランを導出することができる。組み合わせ内の同時掴持姿勢について、ロボットシステム１００は、（１）対応する同時掴持姿勢に従ってエンドエフェクタ１４０を載置し、（２）導出された／有効性検証された吸引要素のセット（たとえば、Ｐ１、Ｐ２、Ａ１、及び／又はＴ２）をアクティブ化して重なったパッケージを同時に掴持し、（３）掴持されたパッケージを転置し、（４）パッケージを対応する対象位置で解放する、モーションプランを導出することができる。
【０１６５】
いくつかの実施形態では、ロボットシステム１００は、逆運動学（ＩＫ）のメカニズムに基づいて各モーションプランを導出することができる。ＩＫメカニズムに従って、ロボットシステム１００は、掴持されたパッケージの対象位置（複数可）を特定することに基づいて、モーションプランを導出することができる。ロボットシステム１００は、対象位置（複数可）、たとえば、最後に解放されるパッケージの対象位置から開始し、開始位置へ向かう逆行順序でのエンドエフェクタ１４０、ロボットアーム、及びパッケージの移動を（たとえば、モデルを重ねて）反復的にシミュレートすることができる。それに応じて、ロボットシステム１００は、障害物／衝突を回避する転置経路を導出することができる。ロボットシステム１００は、導出された転置経路、及び／又はエンドエフェクタ１４０及び転置アセンブリ１０４を動作させるための対応するコマンド及び／又は設定のセット／シーケンスとして、モーションプランを導出することができる。
【０１６６】
ブロック２６１０において、ロボットシステム１００は、モーションプランのセットを実施することができる。ロボットシステム１００は、転置経路、対応するコマンド、及び／又は対応する設定をプロセッサ２０２から転置アセンブリ１０４に伝達することに基づいて、モーションプランを実施することができる。受信すると、転置アセンブリ１０４は、転置経路に従ってモーションプランを実施し、対応するコマンド及び／又は対応する設定を実行することができる。
【０１６７】
いくつかの実施形態では、ロボットシステム１００は、実施中に上述のモーションプラン及び／又は対応する導出物の正確性を検証することができる。たとえば、ブロック２６５２に示すように、ロボットシステム１００は、モーションプランの実施中に、掴持パッケージ（複数可）を解放する前に、転置しているオブジェクト（複数可）の１つ又は複数の寸法をチェックすることができる。チェックのために、ロボットシステム１００は、図２５の目的地センサ２５０２の１つ又は複数からデータを取得することができる。取得されたデータは、モーションプランの実行中に、タスク位置（複数可）の上方の横方向の検知線／面と交差した掴持されたパッケージ（複数可）を表すことができる。取得されるデータのいくつかの例は、トリガイベント（たとえば、オブジェクト進入イベント）、トリガしたセンサの識別子及び／又は位置、及び／又はそれらのイベントに関連付けられたタイムスタンプを含むことができる。
【０１６８】
取得したデータを使用して、ロボットシステム１００は、どのパッケージが検知線／面と交差したか、及び／又は交差しているパッケージの１つ又は複数の寸法を推定することができる。たとえば、ロボットシステム１００は、エンドエフェクタ１４０の追跡された位置及びパッケージの相対的な／追跡された位置をトリガしたセンサの横位置／座標と比較することに基づいて、対象パッケージ１１２及び同時掴持対象２２５０のいずれであるかを特定することができる。また、ロボットシステム１００は、トリガしたセンサの高さ（既知の値）を、交差イベント時のエンドエフェクタ１４０の高さ（たとえば、その底部分の高さ）から減算することにより、交差しているパッケージの高さを計算することができる。さらに、ロボットシステム１００は、トリガしたセンサの数と、トリガしたセンサの横位置及び／又は間隔とに基づいて、交差しているパッケージの横寸法を計算することができる。
【０１６９】
ロボットシステム１００は、動的に導出された値を想定値と比較することに基づいて、モーションプランを有効性検証することができる。たとえば、ロボットシステム１００は、交差しているパッケージが、対象パッケージ１１２及び同時掴持対象２２５０（たとえば、同時に掴持されるパッケージの中で最大の高さを有するパッケージ）のうちの想定されたものであることを検証することができる。また、ロボットシステム１００は、導出された寸法を対応するパッケージに関するマスターデータに記憶された情報と比較する。
【０１７０】
ロボットシステム１００は、導出された結果が想定値と一致する場合に、モーションプランの残りの部分を完了することができる。導出された結果が想定値と一致しない場合、たとえば、想定外のパッケージがセンサをトリガした、及び／又はトリガしたパッケージが想定外の寸法（複数可）を有する場合、ロボットシステム１００は、モーションプランの残りの部分を再評価することができる。いくつかの実施形態では、ロボットシステム１００は、置換モーションプラン、たとえば、解放シーケンス／位置を調整し、及び／又は解放高さを調整するためのものを導出することができる。たとえば、後で解放するように指定されたパッケージが、最初の／先の解放パッケージの前に検知線／面と交差した場合、ロボットシステム１００は、最初の／先の解放パッケージをより高い高さで解放できるか否かを判定することができる。ロボットシステム１００は、トリガイベント時のエンドエフェクタ１４０の高さに基づいて、より高い解放高さを求めることができる。ロボットシステム１００は、先の解放パッケージ（たとえば、対象パッケージ１１２）の高さ及び／又は重量に基づいて、より高い解放高さの実現可能性を判定することができる。
【０１７１】
いくつかの実施形態では、ロボットシステム１００は、フィードバックループで示すように解放シーケンス／位置を調整することに基づいて、置換モーションプランを導出することができる。ロボットシステム１００は、最も高いパッケージを最初に解放するための置換モーションプランを導出することができる。ロボットシステム１００は、ＩＫメカニズムなしの置換モーションプランを導出することができる。ロボットシステム１００は、目的地センサ２５０２から取得されたデータに応じて、置換モーションプランを導出することができる。ロボットシステム１００は、ブロック２６１０に示すように置換モーションプランを実施することができる。
【０１７２】
方法２６００は、所与のパッケージのセットについて、実用的な量の並べ替え（たとえば、通知された掴持セット）を提供及び分析することができる。実用的な量の並べ替えを使用して、ロボットシステム１００は、複数のパッケージを同時に掴持及び転置する実現可能性と、それが所与のパッケージのセットの転置を実際に改善するか否かを評価することができる。それに応じて、ロボットシステム１００は、複数のパッケージの同時掴持及び転置を効率的に可能にし、パッケージのセット（たとえば、パッケージのスタック又はそのレイヤ）の総転置時間を短縮することができる。
【０１７３】
例
本技術の１つ又は複数の実施形態は、転置ロボットを動作させる方法に基づくか又はこれを含むことができ、この方法は、開始位置におけるパッケージを描写する画像データを受信することであって、画像データは、パッケージのうちの２つ以上の同時掴持を分析するためのものである、受信すること、画像データに基づいて対象パッケージを識別すること、対象パッケージに対する把持姿勢を表す掴持セットを決定すること、第２のパッケージに重なる掴持セット内の把持姿勢のセットを識別すること、対象パッケージ及び第２のパッケージを同時に操作するための統合された移動制御パラメータを導出すること、対象パッケージ及び第２のパッケージをそれぞれの対象位置に載置するための解放シーケンスを決定すること、統合された移動制御パラメータ及び解放シーケンスに基づいて掴持セットから同時掴持姿勢を選択することであって、同時掴持姿勢は、対象パッケージ及び第２のパッケージを同時に掴持及び転置するための輸送ロボットのマルチグリッパアセンブリの姿勢を表す、選択すること、同時掴持姿勢に基づいてモーションプランを導出することであって、モーションプランは、同時に対象パッケージ及び第２のパッケージをそれぞれの対象位置に転置するようにマルチグリッパアセンブリを操作するためのものである、導出すること、及び／又は、対象パッケージ及び第２のパッケージを同時に掴持及び転置するように輸送ロボットを動作させるためのモーションプランを実施すること、を含み得る。
【０１７４】
例示的な方法では、掴持セットは通知された姿勢のセットとすることができ、各通知された姿勢は、マルチグリッパアセンブリの境界を対象パッケージの周縁と位置合わせするためのものとすることができる。追加的又は代替的には、統合された移動制御パラメータを導出することは、掴持セットに基づいて対象制御パラメータを決定することであって、対象制御パラメータは、マルチグリッパアセンブリの対象姿勢に従って対象パッケージを転置する力、及び／又は、速度に関係した関連の物理的特徴を表す、決定すること、マルチグリッパアセンブリと第２のパッケージとの間の重なりを推定することに基づいて第２の制御パラメータを決定することであって、第２の制御パラメータは、マルチグリッパアセンブリの対象姿勢に従って第２のパッケージを転置する力及び／又は速度に関係した関連の物理的特徴を表す、決定すること、及び／又は、統合された移動制御パラメータを、低い方の転置速度に対応する、対象制御パラメータ又は第２の制御パラメータとして選択すること、を含む。いくつかの実施形態では、統合された移動制御パラメータは、（１）対象パッケージ及び第２のパッケージを同時に操作するための輸送ロボット及び／又はマルチグリッパアセンブリの速度設定、及び／又は、（２）マルチグリッパアセンブリ内の第１の吸引要素のセット及び第２の吸引要素のセットを制御して、それぞれ対象パッケージ及び第２のパッケージを掴持するための真空設定、を表すことができる。さらに、同時掴持姿勢を選択することは、対象パッケージ及び第２のパッケージを含むパッケージのセットを転置することに関連する効率尺度を最大化する同時掴持姿勢を選択することを含むことができる。
【０１７５】
いくつかの実施形態では、この方法は、画像データに基づいてパッケージのセットを識別することであって、パッケージのセットは、画像データに関連付けられた撮像デバイスに対して露出していると共に、対応する開始位置とタスク位置との間の転置の対象であるオブジェクトを表す、識別することと、掴持セットに少なくとも部分的に基づいて、パッケージのセット内のオブジェクトを掴持及び転置するための一意の把持姿勢のセットをそれぞれが表す姿勢の組み合わせを決定することと、姿勢の組み合わせのそれぞれについて、関連する移動制御パラメータに基づいて、総転置レートを推定することと、をさらに含むことができ、及び／又は、同時掴持姿勢は、総転置時間の最短のインスタンスを有する姿勢の組み合わせのうちの１つを選択することに基づいて選択される。加えて、パッケージのセットは、パッケージスタックの一番上のレイヤを形成するパッケージを表すことができる。
【０１７６】
例示的な方法では、解放シーケンスを決定することは、対象パッケージに重なる吸引要素のセットを表す対象接触セットを決定することと、対象接触セットを除く第２の吸引要素のセットを表す残余セットを決定することと、第２のパッケージの１つ又は複数の物理的特徴に基づいて、残余セットが第２のパッケージを掴持するのに十分であるか否かを検証することと、残余セットが第２のパッケージを掴持するのに十分であることが検証された場合に、第２のパッケージよりも先に対象パッケージを解放するための解放シーケンスを決定することと、を含むことができる。追加的又は代替的には、解放シーケンスを決定することは、対象パッケージを掴持するように指定された吸引要素のセットを表す対象アクティブ化セットを決定すること、第２のパッケージに重なる第２の吸引要素のセットを表す第２の接触セットを決定すること、第２の接触セット及び対象アクティブ化セットが相互排他的であるか否かを検証すること、及び／又は、第２の接触セット及び対象アクティブ化セットが相互排他的である場合に、第１のパッケージよりも先に第２のパッケージを解放するための解放シーケンスを決定すること、を含むことができる。
【０１７７】
いくつかの実施形態では、解放シーケンスは、掴持されたパッケージのうちの最も高いものを最初に解放するためのルールに基づいて決定することができる。この方法でのモーションプランを導出することは、解放シーケンスに従って対象パッケージ及び第２のパッケージの載置位置を導出すること、及び／又は、載置位置から対象パッケージ及び第２のパッケージの開始位置までの逆順での対象パッケージ及び第２のパッケージの移動を反復的にシミュレート及び検証することに基づいて、モーションプランを導出すること、を含むことができる。
【０１７８】
いくつかの実施形態では、この方法は、１つ又は複数の目的地センサからデータを取得することであって、データは、モーションプランの実行中にタスク位置の上方の横線と交差している対象パッケージ及び／又は第２のパッケージを表す、取得すること、取得されたデータに基づいて位置のセットを識別することであって、位置のセットは、１つ又は複数の目的地センサの位置を特定する、識別すること、及び／又は、位置のセットに基づいてモーションプランの有効性を判定すること、をさらに含むことができる。位置のセットに基づいてモーションプランを検証することは、位置のセットに基づいて交差しているパッケージを識別することと、交差しているパッケージの少なくとも１つの推定寸法を導出することであって、少なくとも１つの推定寸法は、交差しているパッケージの推定高さ及び／又は推定横寸法を含む、導出することと、（１）交差しているパッケージが、より長い高さを有すると推定された対象パッケージ又は第２のパッケージと最初に一致する場合、及び／又は（２）少なくとも１つの推定寸法が、マスターデータに記憶された対象パッケージ又は第２のパッケージの１つ又は複数の対応する寸法と一致する場合に、モーションプランを検証することと、を含むことができる。追加的又は代替的には、この方法は、位置のセットに従って、モーションプランが無効であると判定された場合に、置換プランを導出することであって、（１）置換プランは、対象パッケージ及び第２のパッケージをそれぞれのタスク位置に載置するようにマルチグリッパアセンブリを操作するためのものであり、及び／又は、置換プランは、モーションプランの残りの部分を置き換えるために、１つ又は複数の目的地センサから取得されたデータに従って導出される、導出すること、及び／又は、無効判定に応答して、対象パッケージ及び第２のパッケージをそれぞれのタスク位置に載置するために、モーションプランの残りの部分の代わりに、置換プランを実施すること、をさらに含むことができる。
【０１７９】
本技術の１つ又は複数の実施形態は、例示的な方法の１つ又は複数の態様に従って、輸送ロボットの動作を制御するように構成されるシステムに基づくか又はこれを含むことができる。一例として、このシステムは、センサのセット及び輸送ロボットを用いてデータ、コマンド、及び／又は設定を通信するように構成される通信回路であって、開始位置における対象パッケージ及び第２のパッケージを含むパッケージを描写する画像データを受信することと、対象パッケージ及び第２のパッケージを同時に掴持及び転置するように輸送ロボットを動作させるためのモーションプラン、あるいは対応するコマンド及び／又は設定のセットを送ることと、を行うように構成される、通信回路と、通信回路に結合される少なくとも１つのプロセッサであって、画像データに基づいて対象パッケージを識別すること、対象パッケージに対する把持姿勢を表す掴持セットを決定すること、第２のパッケージに重なる掴持セット内の把持姿勢のセットを識別すること、対象パッケージ及び第２のパッケージを同時に操作するための統合された移動制御パラメータを導出すること、対象パッケージ及び第２のパッケージをそれぞれの対象位置に載置するための解放シーケンスを決定すること、統合された移動制御パラメータ及び解放シーケンスに基づいて掴持セットから同時掴持姿勢を選択することであって、同時掴持姿勢は、対象パッケージ及び第２のパッケージを同時に掴持及び転置するためのマルチグリッパアセンブリの姿勢を表す、選択すること、及び／又は、同時掴持姿勢に基づいてモーションプランを導出することであって、モーションプランは、対象パッケージ及び第２のパッケージをそれぞれの対象位置に同時に転置するようにマルチグリッパアセンブリを操作するためのものである、導出すること、を行うように構成される、少なくとも１つのプロセッサと、を含み得る。追加的又は代替的には、プロセッサは、マルチグリッパアセンブリの第１の吸引要素のセットと、マルチグリッパアセンブリの第２の吸引要素のセットとを動作させるためのモーションプランを導出するように構成することができ、第１のセットは、対象パッケージを掴持するように構成され、第２のセットは、第２のパッケージを掴持するように構成される。
【０１８０】
本技術の１つ又は複数の実施形態は、１つ又は複数のプロセッサにより実行された場合に、１つ又は複数のプロセッサに例示的な方法の１つ又は複数の態様を実施させるプロセッサ命令が記憶された有形非一時的コンピュータ可読媒体に基づくか又はこれを含むことができる。一例として、実施される方法は、開始位置におけるパッケージを描写する画像データを受信することであって、画像データは、パッケージのうちの２つ以上の同時掴持を分析するためのものである、受信すること、画像データに基づいて対象パッケージを識別すること、対象パッケージに対する把持姿勢を表す掴持セットを決定すること、第２のパッケージに重なる掴持セット内の把持姿勢のセットを識別すること、対象パッケージ及び第２のパッケージを同時に操作するための統合された移動制御パラメータを導出すること、対象パッケージ及び第２のパッケージをそれぞれの対象位置に載置するための解放シーケンスを決定すること、統合された移動制御パラメータ及び解放シーケンスに基づいて掴持セットから同時掴持姿勢を選択することであって、同時掴持姿勢は、対象パッケージ及び第２のパッケージを同時に掴持及び転置するためのマルチグリッパアセンブリの姿勢を表す、選択すること、同時掴持姿勢に基づいてモーションプランを導出することであって、モーションプランは、同時に対象パッケージ及び第２のパッケージをそれぞれの対象位置に転置するようにマルチグリッパアセンブリを操作するためのものである、導出すること、及び／又は、対象パッケージ及び第２のパッケージを同時に掴持及び転置するように輸送ロボットを動作させるためのモーションプランを実施すること、を含むことができる。実施される方法は、画像データに基づいてパッケージのセットを識別することであって、パッケージのセットは、対象パッケージ及び第２のパッケージを含み、パッケージのセットは、画像データに関連付けられた撮像デバイスに対して露出していると共に、対応する開始位置とタスク位置との間の転置の対象であるオブジェクトを表す、識別することと、掴持セットに少なくとも部分的に基づいて、パッケージのセット内のオブジェクトを掴持及び転置するための一意の把持姿勢のセットをそれぞれが表す姿勢の組み合わせを決定することと、姿勢の組み合わせのそれぞれについて、関連する移動制御パラメータに基づいて、総転置レートを推定することと、を追加的に含むことができ、及び／又は、同時掴持姿勢は、総転置時間の最短のインスタンスを有する姿勢の組み合わせのうちの１つを選択することに基づいて選択される。追加的又は代替的には、解放シーケンスを決定することは、対象パッケージに重なる吸引要素のセットを表す対象接触セットを決定すること、対象接触セットにない第２の吸引要素のセットを表す残余セットを決定すること、第２のパッケージの１つ又は複数の物理的特徴に基づいて、残余セットが第２のパッケージを掴持するのに十分であるか否かを検証すること、残余セットが第２のパッケージを掴持するのに不十分であることが検証された場合に、対象パッケージを掴持するように指定された吸引要素のセットを表す対象アクティブ化セットを決定することであって、対象アクティブ化セットは、対象接触セットよりも少ない要素を含む、決定すること、第２のパッケージに重なる第２の吸引要素のセットを表す第２の接触セットを決定すること、第２の接触セット及び対象アクティブ化セットが相互排他的であるか否かを検証すること、及び／又は、第２の接触セット及び対象アクティブ化セットが相互排他的である場合に、第１のパッケージよりも先に第２のパッケージを解放するための解放シーケンスを決定すること、を含むことができる。
【０１８１】
結論
開示した技術の実施例の上記の詳細な説明は、網羅的なものではなく、開示した技術を上記で開示した厳密な形に限定するものでもない。開示した技術の具体例を例示の目的で上述しているが、当業者であれば理解するように、開示した技術の範囲内で様々な等価な修正が可能である。たとえば、処理又はブロックを所与の順序で提示しているが、代替的な実施態様は異なる順序のステップを有するルーチンを実行してもよく、又は異なる順序のブロックを有するシステムを採用してもよく、一部の処理又はブロックを削除、移動、追加、細分化、結合、及び／又は修正して、代替的な組み合わせ又は部分的な組み合わせを提供してもよい。これらの処理又はブロックのそれぞれは、種々の異なる方法で実施されてもよい。また、処理又はブロックは順番に実行されるように示している場合があるが、これらの処理又はブロックは代わりに並列に実行又は実施されてもよく、又は異なる時に実行されてもよい。さらに、本明細書に記載の任意の特定の数字は例にすぎず、代替的な実施態様は異なる値又は範囲を採用してもよい。
【０１８２】
これら及び他の変更は、上記の詳細な説明に照らして、開示した技術に対して行うことができる。詳細な説明では、開示した技術の特定の例だけでなく、企図される最良の形態を説明しているが、上記の説明が文中でどれほど詳細に見えても、開示した技術は多くの方法で実践することができる。システムの詳細はその特定の実施態様において大幅に異なってもよく、本明細書で開示した技術によってなおも包含される。上述のように、開示した技術の特定の特徴又は態様を説明する際に使用される特定の用語は、その用語が関連する開示した技術の任意の特定の特性、特徴、又は態様に限定されるようにその用語が本明細書で再定義されることを意味するよう解釈されるべきではない。したがって、本発明は、添付の特許請求の範囲を除いて、限定されない。一般に、以下の特許請求の範囲で使用される用語は、上記の詳細な説明のセクションがそのような用語を明確に定義していない限り、開示した技術を本明細書で開示した具体例に限定するように解釈されるべきではない。
【０１８３】
本発明の特定の態様を特定の請求項の形式で以下に提示するが、出願人は本発明の様々な態様を任意数の請求項の形式で企図している。したがって、出願人は、本出願又は継続出願において、そのような追加の請求項の形式を追求するために本出願を提出した後に追加の請求を追求する権利を留保している。
【図１】
2021534002.tif 000003
【図２】
2021534002.tif 000004
【図３】
2021534002.tif 000005
【図４】
2021534002.tif 000006
【図５】
2021534002.tif 000007
【図６】
2021534002.tif 000008
【図７】
2021534002.tif 000009
【図８】
2021534002.tif 000010
【図９】
2021534002.tif 000011
【図１０】
2021534002.tif 000012
【図１１】
2021534002.tif 000013
【図１２】
2021534002.tif 000014
【図１３】
2021534002.tif 000015
【図１４】
2021534002.tif 000016
【図１５】
2021534002.tif 000017
【図１６】
2021534002.tif 000018
【図１７】
2021534002.tif 000019
【図１８】
2021534002.tif 000020
【図１９】
2021534002.tif 000021
【図２０】
2021534002.tif 000022
【図２１】
2021534002.tif 000023
【図２２】
2021534002.tif 000024
【図２３】
2021534002.tif 000025
【図２４】
2021534002.tif 000026
【図２５】
2021534002.tif 000027
【図２６】
2021534002.tif 000028
【手続補正書】
【提出日】令和3年9月8日(2021.9.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
輸送ロボットを動作させるための方法であって、
開始位置におけるパッケージを描写する画像データを受信することであって、前記画像データは、前記パッケージのうちの２つ以上の同時掴持を分析するためのものであることと、
前記画像データに基づいて対象パッケージを識別することと、
前記対象パッケージに対する把持姿勢を表す掴持セットを決定することと、
第２のパッケージに重なる前記掴持セット内の把持姿勢のセットを識別することと、
前記対象パッケージ及び前記第２のパッケージを同時に操作するための統合された移動制御パラメータを導出することと、
前記対象パッケージ及び前記第２のパッケージをそれぞれの対象位置に載置するための解放シーケンスを決定することと、
前記統合された移動制御パラメータ及び前記解放シーケンスに基づいて前記掴持セットから同時掴持姿勢を選択することであって、前記同時掴持姿勢は、前記対象パッケージ及び前記第２のパッケージを同時に掴持及び転置するための前記輸送ロボットのマルチグリッパアセンブリの姿勢を表すことと、
前記同時掴持姿勢に基づいてモーションプランを導出することであって、前記モーションプランは、同時に前記対象パッケージ及び前記第２のパッケージを前記それぞれの対象位置に転置するように前記マルチグリッパアセンブリを操作するためのものであることと、
前記対象パッケージ及び前記第２のパッケージを同時に掴持及び転置するように前記輸送ロボットを動作させるための前記モーションプランを実施することと、
を含み、
前記統合された移動制御パラメータを導出することは、
前記掴持セットに基づいて対象制御パラメータを決定することであって、前記対象制御パラメータは、前記マルチグリッパアセンブリの対象姿勢に従って前記対象パッケージを転置する物理的特徴を表すことと、
前記マルチグリッパアセンブリと前記第２のパッケージとの間の重なりを推定することに基づいて第２の制御パラメータを決定することであって、前記第２の制御パラメータは、前記マルチグリッパアセンブリの前記対象姿勢に従って前記第２のパッケージを転置する物理的特徴を表すことと、
前記統合された移動制御パラメータとして、前記対象制御パラメータ又は前記第２の制御パラメータを選択することと、を含み、
前記モーションプランを導出することは、
前記解放シーケンスに従って前記対象パッケージ及び前記第２のパッケージの載置位置を導出することと、
前記載置位置から前記対象パッケージ及び前記第２のパッケージの開始位置までの逆順での前記対象パッケージ及び前記第２のパッケージの移動を反復的にシミュレート及び検証することに基づいて、前記モーションプランを導出することと、
を含む、方法。
【請求項２】
前記掴持セットは、通知された姿勢のセットであり、各通知された姿勢は、前記マルチグリッパアセンブリの境界を前記対象パッケージの周縁と位置合わせするためのものである、請求項１に記載の方法。
【請求項３】
前記対象制御パラメータが表す前記物理的特徴は、前記対象パッケージを転置する力、及び／又は、速度に関係した関連の物理的特徴であり、
前記第２の制御パラメータが表す前記物理的特徴は、前記第２のパッケージを転置する力、及び／又は、速度に関係した関連の物理的特徴であり、
前記統合された移動制御パラメータを導出することは、
前記統合された移動制御パラメータとして、低い方の転置速度に対応する、前記対象制御パラメータ又は前記第２の制御パラメータを選択することを含む、請求項１に記載の方法。
【請求項４】
前記統合された移動制御パラメータは、前記対象パッケージ及び前記第２のパッケージを同時に操作するための前記輸送ロボット及び／又は前記マルチグリッパアセンブリの速度設定を表す、請求項１に記載の方法。
【請求項５】
前記統合された移動制御パラメータは、前記マルチグリッパアセンブリ内の第１の吸引要素のセット及び第２の吸引要素のセットを制御して、それぞれ前記対象パッケージ及び前記第２のパッケージを掴持するための真空設定を表す、請求項１に記載の方法。
【請求項６】
前記同時掴持姿勢を選択することは、前記対象パッケージ及び前記第２のパッケージを含むパッケージのセットを転置することに関連する効率尺度を最大化する前記同時掴持姿勢を選択することを含む、請求項１に記載の方法。
【請求項７】
前記画像データに基づいて前記パッケージのセットを識別することであって、前記パッケージのセットは、前記画像データに関連付けられた撮像デバイスに対して露出していると共に、対応する開始位置とタスク位置との間の転置の対象であるオブジェクトを表すことと、
前記掴持セットに少なくとも部分的に基づいて、前記パッケージのセット内の前記オブジェクトを掴持及び転置するための一意の把持姿勢のセットをそれぞれが表す姿勢の組み合わせを決定することと、
前記姿勢の組み合わせのそれぞれについて、関連する移動制御パラメータに基づいて、総転置レートを推定することと、
をさらに含み、
前記同時掴持姿勢は、総転置時間の最短のインスタンスを有する前記姿勢の組み合わせのうちの１つを選択することに基づいて選択される、請求項６に記載の方法。
【請求項８】
前記パッケージのセットは、パッケージスタックの一番上のレイヤを形成するパッケージを表す、請求項６に記載の方法。
【請求項９】
前記解放シーケンスを決定することは、
前記対象パッケージに重なる吸引要素のセットを表す対象接触セットを決定することと、
前記対象接触セットを除く第２の吸引要素のセットを表す残余セットを決定することと、
前記第２のパッケージの１つ又は複数の物理的特徴に基づいて、前記残余セットが前記第２のパッケージを掴持するのに十分であるか否かを検証することと、
前記残余セットが前記第２のパッケージを掴持するのに十分であることが検証された場合に、前記第２のパッケージよりも先に前記対象パッケージを解放するための前記解放シーケンスを決定することと、
を含む、請求項１に記載の方法。
【請求項１０】
前記解放シーケンスを決定することは、
前記対象パッケージを掴持するように指定された吸引要素のセットを表す対象アクティブ化セットを決定することと、
前記第２のパッケージに重なる第２の吸引要素のセットを表す第２の接触セットを決定することと、
前記第２の接触セット及び前記対象アクティブ化セットが相互排他的であるか否かを検証することと、
前記第２の接触セット及び前記対象アクティブ化セットが相互排他的である場合に、前記対象パッケージよりも先に前記第２のパッケージを解放するための前記解放シーケンスを決定することと、
を含む、請求項１に記載の方法。
【請求項１１】
前記解放シーケンスは、掴持されたパッケージのうちの最も高さのあるものを最初に解放するためのルールに基づいて決定される、請求項１に記載の方法。
【請求項１２】
１つ又は複数の目的地センサからデータを取得することであって、前記データは、前記モーションプランの実行中にタスク位置の上方の横線と交差している前記対象パッケージ及び／又は前記第２のパッケージを表すことと、
前記取得されたデータに基づいて位置のセットを識別することであって、前記位置のセットは、前記１つ又は複数の目的地センサの位置を特定することと、
前記位置のセットに基づいて前記モーションプランの有効性を判定することと、
をさらに含む、請求項１に記載の方法。
【請求項１３】
前記位置のセットに基づいて前記モーションプランを検証することは、
前記位置のセットに基づいて交差しているパッケージを識別することと、
前記交差しているパッケージの少なくとも１つの推定寸法を導出することであって、前記少なくとも１つの推定寸法は、前記交差しているパッケージの推定高さ及び／又は推定横寸法を含むことと、
（１）前記交差しているパッケージが、より長い高さを有すると推定された前記対象パッケージ又は前記第２のパッケージと最初に一致する場合、及び／又は（２）前記少なくとも１つの推定寸法が、マスターデータに記憶された前記対象パッケージ又は前記第２のパッケージの１つ又は複数の対応する寸法と一致する場合に、前記モーションプランを検証することと、
を含む、請求項１２に記載の方法。
【請求項１４】
前記位置のセットに従って、前記モーションプランが無効であると判定された場合に、置換プランを導出することであって、
前記置換プランは、前記対象パッケージ及び前記第２のパッケージをそれぞれのタスク位置に載置するように前記マルチグリッパアセンブリを操作するためのものであり、
前記置換プランは、前記モーションプランの残りの部分を置き換えるために、前記１つ又は複数の目的地センサから取得された前記データに従って導出されることと、
前記無効判定に応答して、前記対象パッケージ及び前記第２のパッケージをそれぞれのタスク位置に載置するために、前記モーションプランの前記残りの部分の代わりに、前記置換プランを実施することと、
をさらに含む、請求項１２に記載の方法。
【請求項１５】
輸送ロボットの動作を制御するように構成されるシステムであって、
センサのセット及び前記輸送ロボットを用いてデータ、コマンド、及び／又は設定を通信するように構成される通信回路と、
前記通信回路に結合される少なくとも１つのプロセッサと、を備え、
前記通信回路は、
開始位置における対象パッケージ及び第２のパッケージを含むパッケージを描写する画像データを受信することと、
前記対象パッケージ及び前記第２のパッケージを同時に掴持及び転置するように前記輸送ロボットを動作させるためのモーションプラン、あるいは対応するコマンド及び／又は設定のセットを送ることと、
を行うように構成され、
前記少なくとも１つのプロセッサは、
前記画像データに基づいて前記対象パッケージを識別することと、
前記対象パッケージに対する把持姿勢を表す掴持セットを決定することと、
前記第２のパッケージに重なる前記掴持セット内の把持姿勢のセットを識別することと、
前記対象パッケージ及び前記第２のパッケージを同時に操作するための統合された移動制御パラメータを導出することと、
前記対象パッケージ及び前記第２のパッケージをそれぞれの対象位置に載置するための解放シーケンスを決定することと、
前記統合された移動制御パラメータ及び前記解放シーケンスに基づいて前記掴持セットから同時掴持姿勢を選択することであって、前記同時掴持姿勢は、前記対象パッケージ及び前記第２のパッケージを同時に掴持及び転置するためのマルチグリッパアセンブリの姿勢を表すことと、
前記同時掴持姿勢に基づいて前記モーションプランを導出することであって、前記モーションプランは、前記対象パッケージ及び前記第２のパッケージを前記それぞれの対象位置に同時に転置するように前記マルチグリッパアセンブリを操作するためのものであることと、
を行うように構成され、
前記統合された移動制御パラメータを導出することは、
前記掴持セットに基づいて対象制御パラメータを決定することであって、前記対象制御パラメータは、前記マルチグリッパアセンブリの対象姿勢に従って前記対象パッケージを転置する物理的特徴を表すことと、
前記マルチグリッパアセンブリと前記第２のパッケージとの間の重なりを推定することに基づいて第２の制御パラメータを決定することであって、前記第２の制御パラメータは、前記マルチグリッパアセンブリの前記対象姿勢に従って前記第２のパッケージを転置する物理的特徴を表すことと、
前記統合された移動制御パラメータとして、前記対象制御パラメータ又は前記第２の制御パラメータを選択することと、を含み、
前記モーションプランを導出することは、
前記解放シーケンスに従って前記対象パッケージ及び前記第２のパッケージの載置位置を導出することと、
前記載置位置から前記対象パッケージ及び前記第２のパッケージの開始位置までの逆順での前記対象パッケージ及び前記第２のパッケージの移動を反復的にシミュレート及び検証することに基づいて、前記モーションプランを導出することと、
を含む、システム。
【請求項１６】
前記プロセッサは、前記マルチグリッパアセンブリの第１の吸引要素のセットと、前記マルチグリッパアセンブリの第２の吸引要素のセットとを動作させるための前記モーションプランを導出するように構成され、
前記第１のセットは、前記対象パッケージを掴持するように構成され、
前記第２のセットは、前記第２のパッケージを掴持するように構成される、請求項１５に記載のシステム。
【請求項１７】
１つ又は複数のプロセッサにより実行された場合に、前記１つ又は複数のプロセッサに方法を実施させるプロセッサ命令が記憶された有形非一時的コンピュータ可読媒体であって、
前記方法は、
開始位置におけるパッケージを描写する画像データを受信することであって、前記画像データは、前記パッケージのうちの２つ以上の同時掴持を分析するためのものであることと、
前記画像データに基づいて対象パッケージを識別することと、
前記対象パッケージに対する把持姿勢を表す掴持セットを決定することと、
第２のパッケージに重なる前記掴持セット内の把持姿勢のセットを識別することと、
前記対象パッケージ及び前記第２のパッケージを同時に操作するための統合された移動制御パラメータを導出することと、
前記対象パッケージ及び前記第２のパッケージをそれぞれの対象位置に載置するための解放シーケンスを決定することと、
前記統合された移動制御パラメータ及び前記解放シーケンスに基づいて前記掴持セットから同時掴持姿勢を選択することであって、前記同時掴持姿勢は、前記対象パッケージ及び前記第２のパッケージを同時に掴持及び転置するためのマルチグリッパアセンブリの姿勢を表すことと、
前記同時掴持姿勢に基づいてモーションプランを導出することであって、前記モーションプランは、同時に前記対象パッケージ及び前記第２のパッケージを前記それぞれの対象位置に転置するように前記マルチグリッパアセンブリを操作するためのものであることと、
前記対象パッケージ及び前記第２のパッケージを同時に掴持及び転置するように輸送ロボットを動作させるための前記モーションプランを実施することと、
を含み、
前記統合された移動制御パラメータを導出することは、
前記掴持セットに基づいて対象制御パラメータを決定することであって、前記対象制御パラメータは、前記マルチグリッパアセンブリの対象姿勢に従って前記対象パッケージを転置する物理的特徴を表すことと、
前記マルチグリッパアセンブリと前記第２のパッケージとの間の重なりを推定することに基づいて第２の制御パラメータを決定することであって、前記第２の制御パラメータは、前記マルチグリッパアセンブリの前記対象姿勢に従って前記第２のパッケージを転置する物理的特徴を表すことと、
前記統合された移動制御パラメータとして、前記対象制御パラメータ又は前記第２の制御パラメータを選択することと、を含み、
前記モーションプランを導出することは、
前記解放シーケンスに従って前記対象パッケージ及び前記第２のパッケージの載置位置を導出することと、
前記載置位置から前記対象パッケージ及び前記第２のパッケージの開始位置までの逆順での前記対象パッケージ及び前記第２のパッケージの移動を反復的にシミュレート及び検証することに基づいて、前記モーションプランを導出することと、
を含む、有形非一時的コンピュータ可読媒体。
【請求項１８】
前記方法は、
前記画像データに基づいてパッケージのセットを識別することであって、前記パッケージのセットは、前記対象パッケージ及び前記第２のパッケージを含み、前記パッケージのセットは、前記画像データに関連付けられた撮像デバイスに対して露出していると共に、対応する開始位置とタスク位置との間の転置の対象であるオブジェクトを表すことと、
前記掴持セットに少なくとも部分的に基づいて、前記パッケージのセット内の前記オブジェクトを掴持及び転置するための一意の把持姿勢のセットをそれぞれが表す姿勢の組み合わせを決定することと、
前記姿勢の組み合わせのそれぞれについて、関連する移動制御パラメータに基づいて、総転置レートを推定することと、
をさらに含み、
前記同時掴持姿勢は、総転置時間の最短のインスタンスを有する前記姿勢の組み合わせのうちの１つを選択することに基づいて選択される、請求項１７に記載の有形非一時的コンピュータ可読媒体。
【請求項１９】
前記解放シーケンスを決定することは、
前記対象パッケージに重なる吸引要素のセットを表す対象接触セットを決定することと、
前記対象接触セットにない第２の吸引要素のセットを表す残余セットを決定することと、
前記第２のパッケージの１つ又は複数の物理的特徴に基づいて、前記残余セットが前記第２のパッケージを掴持するのに十分であるか否かを検証することと、
前記残余セットが前記第２のパッケージを掴持するのに不十分であることが検証された場合に、前記対象パッケージを掴持するように指定された吸引要素のセットを表す対象アクティブ化セットを決定することであって、前記対象アクティブ化セットは、前記対象接触セットよりも少ない要素を含むことと、
前記第２のパッケージに重なる第２の吸引要素のセットを表す第２の接触セットを決定することと、
前記第２の接触セット及び前記対象アクティブ化セットが相互排他的であるか否かを検証することと、
前記第２の接触セット及び前記対象アクティブ化セットが相互排他的である場合に、前記対象パッケージよりも先に前記第２のパッケージを解放するための前記解放シーケンスを決定することと、
を含む、請求項１７に記載の有形非一時的コンピュータ可読媒体。
【国際調査報告】
2021534002.tif 000029
2021534002.tif 000030