(57)【要約】      （修正有）【課題】ロボットの様々な態様を制御及び管理するための、向上した技術及びシステムを提供する。【解決手段】ベースとなるモーションプランを計算する。ベースとなるモーションプランは、ロボットアーム及びグリッパを操作して、ターゲットとなる対象をスタート位置から作業位置に移送する、コマンドもしくは設定、またはそれらの組合せのシークエンスを含む。ベースとなるモーションプランを実行している間に、ターゲットとなる対象上のグリッパのグリップの量を示す接触基準を受領する。接触基準が閾値を満たさない場合に、ベースとなるモーションプランから外れた１つまたは複数のアクチュエータコマンド／設定を生成する。その１つまたは複数のアクチュエータコマンド／設定が、ロボットアーム、グリッパ、またはそれらの組合せを操作して、ベースとなるモーションプランに含まれない１つまたは複数の応答動作を実行するように構成されている。【選択図】図５
2020116726.tif 000002
【特許請求の範囲】
【請求項１】
ターゲットとなる対象をグリップするためのグリッパと、前記グリッパを操縦するためのロボットアームとを含む移送ロボットの操作方法であって、
ベースとなるモーションプランを計算することであって、前記ベースとなるモーションプランが、前記ロボットアーム及び前記グリッパを操作して、前記ターゲットとなる対象をスタート位置から作業位置に移送するように構成された、アクチュエータコマンド、アクチュエータ設定、またはそれらの組合せの第１のセットを含む、前記計算することと、
前記ベースとなるモーションプランを実行している間、前記ターゲットとなる対象の現在の位置を追跡することと、
前記ベースとなるモーションプランを実行している間、接触基準を受領することであって、前記接触基準が、前記ターゲットとなる対象の水平移動を開始した後に接触センサによって測定された、前記ターゲットとなる対象上の前記グリッパのグリップの量を示している、前記受領することと、
前記接触基準が移行グリップ閾値を満たしていないことを判定することと、
前記判定に基づき、前記ベースとなるモーションプランから外れた、調整されたモーションプランを計算することと、を含み、
前記調整されたモーションプランは、
前記現在の位置に基づき、ドロップエリアを選択することであって、前記ドロップエリアが、供給元のドロップエリア、目的地のドロップエリア、移行ドロップエリア、またはそれらの組合せから選択される、前記選択することと、
前記接触基準が前記移行グリップ閾値未満であると判定された後に、前記選択されたドロップエリアにおいて、調整されたドロップ位置を計算することと、
前記ターゲットとなる対象を前記現在の位置から前記調整されたドロップ位置に移送するために、調整されたモーションプランを計算することであって、前記調整されたドロップ位置が前記作業位置と異なっている、前記計算することと、
を含む、制御されたドロップに対応する、アクチュエータコマンド、アクチュエータ設定、またはそれらの組合せの第２のセットを含む、方法。
【請求項２】
前記ベースとなるモーションプランを実行している間、前記グリッパの向きを追跡することと、
前記接触センサに関する検知方向と、前記向きに応じて前記ターゲットとなる対象に印加される重力との間の方向関係に対処するために、前記向きに基づいて前記接触基準を調整することと、
をさらに含む、請求項１に記載の方法。
【請求項３】
前記ドロップエリアを選択することは、
前記現在の位置が前記供給元のドロップエリア及び前記目的地のドロップエリアの外にあることを判定することと、
前記ターゲットとなる対象を、前記作業位置の代わりに、前記移行ドロップエリア内に意図的に配置するように、前記判定に基づいて前記移行ドロップエリアを選択することと、
を含む、請求項１に記載の方法。
【請求項４】
前記ドロップエリアを選択することは、
前記現在の位置が前記供給元のドロップエリア内にあることを判定することであって、前記供給元のドロップエリアが、前記スタート位置を含むコンテナまたはパレットの境界と関連付けられている、前記判定することと、
前記ターゲットとなる対象を前記供給元のドロップエリア内に意図的に配置するように、前記判定に基づいて前記供給元のドロップエリアを選択することと、
を含む、請求項１に記載の方法。
【請求項５】
前記ドロップエリアを選択することは、
前記現在の位置が前記目的地のドロップエリア内にあることを判定することであって、前記目的地のドロップエリアが、前記作業位置を含むコンテナまたはパレットの境界と関連付けられている、前記判定することと、
前記ターゲットとなる対象を前記目的地のドロップエリア内に意図的に配置するように、前記判定に基づいて前記目的地のドロップエリアを選択することと、
を含む、請求項１に記載の方法。
【請求項６】
前記調整されたドロップ位置は、前記スタート位置と前記作業位置との両方と異なり、
前記調整されたモーションプランは、
前記ターゲットとなる対象を前記現在の位置から前記調整されたドロップ位置に移送することと、
前記ターゲットとなる対象を前記調整されたドロップ位置に意図的に配置するように、前記調整されたドロップ位置で、前記グリッパから前記ターゲットとなる対象を開放することと、
を行う、アクチュエータコマンド、アクチュエータ設定、またはそれらの組合せを含む、請求項１に記載の方法。
【請求項７】
前記調整されたモーションプランは、前記制御されたドロップを実行した後に、前記ターゲットとなる対象を前記グリッパでグリップし直す、アクチュエータコマンド、アクチュエータ設定、またはそれらの組合せを含む、請求項１に記載の方法。
【請求項８】
前記制御されたドロップを実行した後に、前記ベースとなるモーションプランの残りの動作をキャンセルすることと、
新たなターゲットとなる対象を判定することと、
前記新たなターゲットとなる対象を移送するために、新たなベースとなるモーションプランを計算することと、
をさらに含む、請求項１に記載の方法。
【請求項９】
前記移行グリップ閾値は、前記ターゲットとなる対象を水平移動する前に前記ターゲットとなる対象を最初にグリップすることに関する最初のグリップ閾値よりも小である、請求項１に記載の方法。
【請求項１０】
前記接触基準を受領することは、前記グリップの量に対応する、力、トルク、圧力、またはそれらの組合せの測定値を受信することを含み、
前記測定値は、前記ロボットアームの１つまたは複数の位置、前記グリッパの１つまたは複数の位置、またはそれらの組合せに関して形成される、請求項１に記載の方法。
【請求項１１】
ターゲットとなる対象をグリップするためのグリッパと、前記グリッパを操縦するためのロボットアームとを含む移送ロボットの操作方法であって、
ベースとなるモーションプランを計算することであって、前記ベースとなるモーションプランが、前記ロボットアーム及び前記グリッパを操作して、前記ターゲットとなる対象をスタート位置から作業位置に移送するように構成された、アクチュエータコマンド、アクチュエータ設定、またはそれらの組合せのシークエンスを含む、前記計算することと、
前記ベースとなるモーションプランを実行している間、接触基準を受領することであって、前記接触基準が、前記ターゲットとなる対象をグリップした後、かつ、前記ターゲットとなる対象の水平移動を開始する前に、接触センサによって測定された、前記ターゲットとなる対象上の前記グリッパのグリップの量を示している、前記受領することと、
前記接触基準が最初のグリップ閾値を満たしていないことを判定することと、
前記判定に基づいて、再グリップコマンド、再グリップ設定、またはそれらの組合せを生成することであって、前記生成された再グリップコマンド、再グリップ設定、またはそれらの組合せが、前記ターゲットとなる対象を再グリップするように、前記ベースとなるモーションプランから外れている、前記生成することと、
を含む、方法。
【請求項１２】
前記グリッパを前記スタート位置の周りに配置すること、及び、前記ターゲットとなる対象を前記グリッパで最初にグリップすることを含む、前記ベースとなるモーションプランの第１の動作セットを実行することをさらに含み、
前記接触基準を受領することは、前記ターゲットとなる対象を最初にグリップした後に判定された前記接触基準を受領することを含み、
前記生成されたアクチュエータコマンド、アクチュエータ設定、またはそれらの組合せは、
前記第１の動作セットを実行した後に、前記接触基準が前記最初のグリップ閾値未満である場合に、前記グリッパから前記ターゲットとなる対象を開放することと、
前記ターゲットとなる対象を開放した後に、前記ターゲットとなる対象を前記グリッパで再グリップすることと、
を行うように、前記ロボットアーム、前記グリッパ、またはそれらの組合せを操作するように構成されている、請求項１１に記載の方法。
【請求項１３】
前記ターゲットとなる対象を開放した後、かつ、前記ターゲットとなる対象を再グリップする前に、前記グリッパの位置を調整する、位置調整コマンド、位置調整設定、またはそれらの組合せを生成することをさらに含む、請求項１２に記載の方法。
【請求項１４】
前記ターゲットとなる対象を再グリップした後に、再グリップの接触基準を受領することと、
前記再グリップの接触基準が、前記最初のグリップ閾値を満たしていることを判定することと、
前記判定に基づいて、前記ベースとなるモーションプランを調整することと、をさらに含み、
前記ベースとなるモーションプランは、前記ターゲットとなる対象を前記グリッパの前記調整された位置から前記作業位置に移送するように、前記生成された位置調整コマンド、位置調整設定、またはそれらの組合せに従って調整される、請求項１３に記載の方法。
【請求項１５】
前記接触基準が前記最初のグリップ閾値を満たさない場合、前記ベースとなるモーションプランの実行を中断することと、
前記ターゲットとなる対象を再グリップした後に、再グリップの接触基準を受領することと、
前記再グリップの接触基準が前記最初のグリップ閾値を満たす場合に、前記ベースとなるモーションプランの実行を再開することと、
をさらに含む、請求項１１に記載の方法。
【請求項１６】
前記接触基準が前記最初のグリップ閾値を満たさない場合、前記ベースとなるモーションプランの実行を中断することと、
繰り返しのカウントが閾値を超えたことを判定することであって、当該判定が、
前記ターゲットとなる対象を再グリップした後に、前記繰り返しのカウントを増大させることと、
前記ターゲットとなる対象を再グリップした後に、再グリップの接触基準を受領することと、
前記再グリップの接触基準が最初のグリップ閾値を満たしていないことを判定することと、
前記ターゲットとなる対象を再グリップするように、前記再グリップコマンド、再グリップ設定、または組合せを再生成することと、
が反復的に行われることに基づいてなされる、前記判定することと、
前記繰り返しのカウントが前記閾値を超えた場合に、オペレータの入力に関する申請を生成することと、をさらに含む、請求項１１に記載の方法。
【請求項１７】
前記接触基準は、前記ターゲットとなる対象の表面に接触してその内部に真空状態を保持する前記グリッパの吸引カップの、量、位置、またはそれらの組合せを示している、請求項１１に記載の方法。
【請求項１８】
前記接触基準は、前記ターゲットとなる対象の対向するポイントに圧縮力を印加するように構成された前記グリッパの顎部に対する、前記ターゲットとなる対象のシフトに対応する、請求項１１に記載の方法。
【請求項１９】
有形の非一時的なコンピュータ可読媒体であって、前記コンピュータ可読媒体に記憶されたプロセッサ命令を有する有形の非一時的なコンピュータ可読媒体であって、
前記プロセッサ命令は、ロボットシステムにより、その１つまたは複数のプロセッサを介して実行された際に、前記ロボットシステムに、
ベースとなるモーションプランを計算することであって、前記ベースとなるモーションプランが、ロボットアーム及びグリッパを操作して、ターゲットとなる対象をスタート位置から作業位置に移送するように構成された、アクチュエータコマンド、アクチュエータ設定、またはそれらの組合せの第１のセットを含む、前記計算することと、
前記ベースとなるモーションプランを実行している間、接触基準を受領することであって、前記接触基準が、接触センサによって測定された、前記ターゲットとなる対象上の前記グリッパのグリップの量を示している、前記受領することと、
前記接触基準が閾値を満たさないことを判定することと、
前記ベースとなるモーションプランの実行の進捗を追跡することであって、前記進捗が、前記ターゲットとなる対象の水平移動と関連付けられている、前記追跡することと、
前記ベースとなるモーションプランから外れて、前記ベースとなるモーションプランに含まれない１つまたは複数の応答動作を実行するように、前記ロボットアーム、前記グリッパ、またはそれらの組合せを操作することに関する、アクチュエータコマンド、アクチュエータ設定、またはそれらの組合せの第２のセットを、前記判定及び前記進捗に基づいて、選択的に生成することと、
をさせる、有形の非一時的なコンピュータ可読媒体。
【請求項２０】
前記ベースとなるモーションプランを実行している間、前記ターゲットとなる対象の現在の位置を追跡する命令と、
前記進捗が前記水平移動の実行に対応することを判定する命令と、をさらに含み、
前記選択的に生成する命令は、
前記進捗の判定に基づいて、前記現在の位置に従って前記第２のセットを生成する命令を含み、
前記第２のセットは、前記作業位置とは異なる位置に前記ターゲットとなる対象を意図的に配置するための、制御されたドロップに対応する、請求項１９に記載の有形の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は概して、ロボットシステムを対象とし、より詳細には、ピースロスのシナリオを検出及び管理するためのシステム、プロセス、及び技術を対象とする。
【背景技術】
【０００２】
多くのロボット（たとえば、自動的に／独立して物理的動作を実行するように構成されたマシン）は、その絶えず向上する性能及び低下するコストにより、現在、多くの分野で広く使用されている。たとえば、ロボットは、製造及び／または組立て、パッキング及び／またはパッケージング、移送及び／または輸送などにおいて、様々な作業（たとえば、空間を通しての対象の操縦または移動）を実行するように使用することができる。作業の実行において、ロボットは、人間の動作を反復することができ、それにより、そうでなければ危険又は反復的な作業を行うことが要求される人間の関与を置き換えたり、低減したりする。
【０００３】
しかし、技術的な進歩に関わらず、ロボットはしばしば、より複雑な作業を実行するために必要な人間の感受性及び／または適応性を複製するのに必要な洗練さが欠如している。たとえば、ロボットのエンドエフェクタ（たとえば、ロボットハンドまたはグリッパ）は、しばしば、接触センサの感度の不足及び／または力の制御における不十分な粒度（granularity）に起因して、比較的柔らかく、及び／または、不規則な表面を持つ対象を把持することが困難である。また、たとえば、ロボットは、しばしば、適応性の欠如に起因して、ターゲットとなる条件／シナリオの外の条件または状況に対処することができない。したがって、ロボットの様々な態様を制御及び管理するための、向上した技術及びシステムが必要とされている。
【図面の簡単な説明】
【０００４】
【図１】ピースロス管理メカニズムを有するロボットシステムが作動し得る例示的環境を示す図である。
【図２】本技術の１つまたは複数の実施形態に係るロボットシステムを示すブロック図である。
【図３Ａ】本技術の１つまたは複数の実施形態に係るグリップ状態の例を示す図である。
【図３Ｂ】本技術の１つまたは複数の実施形態に係るグリップ状態のさらなる例を示す図である。
【図４】本技術の１つまたは複数の実施形態に係るロボットシステムによって実行される例示的作業を示す上面図である。
【図５】本技術の１つまたは複数の実施形態に係る、図１のロボットシステムを作動するためのフロー図である。
【発明を実施するための形態】
【０００５】
ピースロス管理メカニズムを有するロボットシステムのためのシステム及び方法が、本明細書に記載されている。いくつかの実施形態に従って構成されたロボットシステム（たとえば、１つまたは複数の専用の作業を実行するデバイスの統合システム）は、接触基準に従って、ターゲットとなる対象について粒度の細かい制御／操縦を実施することにより、ピースロス管理を行う。１つまたは複数のセンサを使用することにより、ロボットシステムは、エンドエフェクタに対するターゲットとなる対象の安定性に対応する、量子化された接触量を示す接触基準を判定することができる。換言すると、接触基準は、エンドエフェクタがターゲットとなる対象に対して有する、量子化されたグリップ量を示すことができる。接触基準に基づき、ロボットシステムは、ターゲットとなる対象を再度グリップし、指定された位置においてターゲットとなる対象の制御されたドロップを実行し、モーションプランを選択及び／または調整し、または、それらの組合せを行うことができる。
【０００６】
ロボットシステムは、ターゲットとなる対象を操縦すること（たとえば、物理的移動及び／または再度の方向付け）に基づいて、作業を実行するように構成することができる。たとえば、ロボットシステムは、供給元（たとえば、大箱、パレット、またはコンベアベルト）の位置からターゲットとなる対象を取り上げ、それを目的地の位置に移動させることに基づき、様々な対象を並び替え又は置き換えることができる。いくつかの実施形態では、ターゲットとなる対象を操縦するために、ロボットシステムは、ロボットアームに操作可能に接続されたグリッパを備えることができる。グリッパは、ロボットアームに対してターゲットとなる対象を添付するように構成することができる。換言すると、ロボットシステムは、グリッパを（たとえば、１つまたは複数の関連するモータ／アクチュエータ及びセンサを介して）操作して、ターゲットとなる対象を把持し、この対象をロボットアームに対して保持することができる。ロボットシステムは、ロボットアームを同様に操作して、グリッパ、このグリッパに保持されたターゲットとなる対象、またはそれらの組合せを操縦することができる。
【０００７】
作業を実行するために、いくつかの実施形態では、ロボットシステムは、ターゲットとなる対象の位置及び／またはポーズ（たとえば、休止している向き）、及び／または、ターゲットとなる対象の周りの環境を識別するために使用される、撮像デバイス（たとえば、カメラ、赤外センサ／カメラ、レーダー、ライダーなど）を備えることができる。前記位置、ポーズ、またはそれらの組合せに応じて、ロボットシステムは、作業を実行するためのモーションプラン（たとえば、１つまたは複数のリンク及び／またはジョイントを移動させるためのアクチュエータに関する制御のシークエンス）を実施することができる。たとえば、ターゲットとなる対象の並び替え及び／または置き換えのために、モーションプランは、最初に供給元の位置でターゲットとなる対象をグリップすること、空間にわたって対象を操縦すること、及び、対象を目的地の位置に置くことに対応することができる。
【０００８】
しかし、いくつかの状況では、ターゲットとなる対象上のグリッパのグリップ（たとえば、固定の程度）が、作業の実行の間、不足する場合がある。結果として、ターゲットとなる対象は、グリッパに対して移動する又はシフトする場合がある。いくつかのケースでは、グリップの欠如は、操縦の間にグリッパがターゲットとなる対象を落とす又は制御を失う場合など、ピース（たとえば、目的地の位置及び／または意図されたポーズに置かれなかったターゲットとなる対象）を失うことにつながる場合がある。グリップの欠如は、たとえば、操縦によって生じる、ターゲットとなる対象に印加された力、及び／または、ターゲットとなる対象の慣性、ターゲットとなる対象（たとえば、ボックス、もしくはボックス内の内容物）のシフト、またはそれらの組合せによって生じる場合がある。また、たとえば、グリップの欠如は、撮像メカニズムの較正エラーによって生じる場合がある。
【０００９】
従前のマニピュレータ（たとえば、ピッカーロボット）は、しばしば、作業から外れない、比較的固定されたモーションプランを実施する。従来のマニピュレータが対象の様々な位置及び／またはポーズに対処する場合があるが、いったん対象がピックアップされると、目的地の位置／方向に対象を操縦するためのモーションプランは不変のままである。これに対し、以下に記載のロボットシステムの様々な実施形態は、（たとえば、ターゲットとなる対象がグリップされている場合、及び／または、作業を実行している間に）接触基準（たとえば、グリップの量または程度）を判定し、それに応じて、ターゲットとなる対象について粒度の細かい制御／操縦を実施するように構成されている。接触基準の判定及び粒度の細かい制御／操縦を、以下に詳細に記載する。
【００１０】
以下では、複数の特定の詳細が、本開示の技術を完全に理解させるために説明される。他の実施形態では、本明細書で導入された技術を、それら特定の詳細を伴わずに実施することができる。他の例では、特定の機能またはルーチンなど、よく知られている機能は、本開示を不要にわかりにくくすることを避けるために詳細には記載されない。本記載における「実施形態（ａｎ  ｅｍｂｏｄｉｍｅｎｔ）」、「１つの実施形態（ｏｎｅ  ｅｍｂｏｄｉｍｅｎｔ）」などの参照は、記載の特定の特徴、構造、材料、または特性が、本開示の少なくとも１つの実施形態に含まれていることを意味している。このため、本明細書におけるそのようなフレーズの表示は、必ずしも、すべてが同じ実施形態を参照してはいない。一方、そのような参照は、必ずしも相互に排他的であることもない。さらに、特定の特徴、構造、材料、または特性は、１つまたは複数の実施形態において、任意の適切な方式で組み合わせることができる。図示の様々な実施形態は、説明的表示に過ぎず、必ずしも正寸して示されていないことを理解されたい。
【００１１】
よく知られていてかつロボットシステム及びサブシステムとしばしば関連付けられる構造またはプロセスであって、開示の技術のいくつかの顕著な態様を不要に妨げ得る構造またはプロセスを記載するいくつかの詳細は、明確化の目的のために、以下の記載では説明されない。さらに、以下の開示が、本技術の様々な態様のいくつかの実施形態を説明しているが、いくつかの他の実施形態が、このセクションで記載のものとは異なる構成、または異なる構成要素を有することができる。したがって、開示の技術は、追加の要素を伴うか、以下に記載の要素のいくつかを伴わない、他の実施形態を有することができる。
【００１２】
以下に記載の、本開示の多くの実施形態または態様は、プログラム可能なコンピュータまたはコントローラによって実行されるルーチンを含み、コンピュータで実行可能であるか又はコントローラで実行可能である命令の形態を取ることができる。関連技術の当業者には、開示の技術が、以下に示すもの及び記載するもの以外のコンピュータまたはコントローラのシステムで実施され得ることを理解されたい。本明細書に記載の技術は、以下に記載のコンピュータで実行可能な１つまたは複数の命令を実行するように、明確にプログラムされたか、構成されたか、構築された、特定用途のコンピュータまたはデータプロセッサ内で実施することができる。したがって、本明細書で通常使用される「コンピュータ（ｃｏｍｐｕｔｅｒ）」及び「コントローラ（ｃｏｎｔｒｏｌｌｅｒ）」との用語は、任意のデータプロセッサに言及し、インターネットの装置及びハンドヘルドデバイス（パームトップ型コンピュータ、ウェアラブルコンピュータ、セルラまたは移動電話、複数プロセッサシステム、プロセッサベースであるかプログラム可能な家庭用電気機械器具、ネットワークコンピュータ、ミニコンピュータなどを含む）を含むことができる。これらコンピュータ及びコントローラによって扱われる情報は、液晶ディスプレイ（ＬＣＤ）を含む、任意の適切な表示媒体に提供することができる。コンピュータまたはコントローラで実行可能な作業を実行するための命令は、ハードウェア、ファームウェア、またはハードウェアとファームウェアとの組合せを含む、任意の適切なコンピュータ可読媒体に記憶することができる。命令は、たとえば、フラッシュドライブ、ＵＳＢデバイス、及び／または他の適切な媒体を含む、任意の適切なメモリデバイスに包含することができる。
【００１３】
「結合された（ｃｏｕｐｌｅｄ）」及び「接続された（ｃｏｎｎｅｃｔｅｄ）」との用語は、その派生形とともに、構成要素間の構造的な関係を記載するために、本明細書で使用することができる。これらの用語が、互いに関して同義であることは意図されていないことを理解されたい。むしろ、特定の実施形態では、「接続された（ｃｏｎｎｅｃｔｅｄ）」は、２つ以上の要素が互いに直接接触していることを示すために使用することができる。文脈から別様に明確にされていない限り、「結合された（ｃｏｕｐｌｅｄ）」との用語は、２つ以上の要素が直接的か（それらの間に他の介在要素を伴って）間接的に互いに接触していること、または、（たとえば、信号の送信／受信、もしくは、関数呼び出しに関するものなど、因果関係にあるように）２つ以上の要素が互いに協同するか相互作用すること、またはその両方を示すために使用することができる。
【００１４】
適切な環境
図１は、ピースロス管理メカニズムを有するロボットシステム１００が作動し得る例示的環境を示す図である。ロボットシステム１００は、１つまたは複数の作業を実行するように構成された、１つまたは複数の構造物（たとえば、ロボット）を備えている。ピースロス管理メカニズムの態様は、様々な構造によって実行または実施することができる。
【００１５】
図１に示す例に関し、ロボットシステム１００は、倉庫または分配／輸送ハブ内に、荷降しユニット１０２、移送ユニット１０４、輸送ユニット１０６、荷積みユニット１０８、またはそれらの組合せを備えることができる。ロボットシステム１００における各々のユニットは、１つまたは複数の作業を実行するように構成することができる。これら作業は、倉庫に貯蔵するために、対象をトラックまたはバンから荷降しするか、対象を貯蔵位置から荷降しして、それら対象を輸送のためにトラックまたはバンに荷積みするなど、目的を達成する操作を実施するように、シークエンスにおいて組み合わせることができる。別の例に関し、作業には、１つのコンテナから別のコンテナに対象を移動させることを含むことができる。各々のユニットは、作業を実行するために、作業のシークエンス（たとえば、１つまたは複数の内部の構成要素を操作すること）を実行するように構成することができる。
【００１６】
いくつかの実施形態では、作業は、ターゲットとなる対象１１２（たとえば、ボックス、ケース、ケージ、パレットなど）の、スタート位置１１４から作業位置１１６への操縦（たとえば、移動及び／または再配置）を含むことができる。たとえば、荷降しユニット１０２（たとえば、デバンニングロボット）は、キャリア（たとえば、トラック）のある位置から、コンベアベルトのある位置まで、ターゲットとなる対象１１２を移送するように構成することができる。また、移送ユニット１０４（たとえば、パレットに載せるロボット）は、輸送ユニット１０６のパレットの上に、ターゲットとなる対象１１２を積載するなどのために、コンベアベルト上のある位置から、輸送ユニット１０６上のある位置にターゲットとなる対象１１２を移送するように構成することができる。別の例に関し、移送ユニット１０４（たとえば、ピースピッキングロボット）は、１つのコンテナから別のコンテナにターゲットとなる対象１１２を移送するように構成することができる。操作を完了する際には、輸送ユニット１０６は、ターゲットとなる対象１１２を、移送ユニット１０４に関連するエリアから、荷積みユニット１０８に関連するエリアに移送することができ、荷積みユニット１０８は、ターゲットとなる対象１１２を、（たとえば、ターゲットとなる対象１１２を載せたパレットを移動することにより）移送ユニット１０４から貯蔵位置（たとえば、棚上のある位置）に移送することができる。以下に、作業及び関連する動作に関する詳細を記載する。
【００１７】
説明の目的のために、ロボットシステム１００は、輸送センターの文脈で記載するが、ロボットシステム１００は、製造、組立て、パッケージング、ヘルスケア、及び／または他のタイプのオートメーションなど、他の環境／目的で作業を実行するように構成することができることを理解されたい。ロボットシステム１００は、図１に示されていない、マニピュレータ、サービスロボット、モジュール式ロボットなどの、他のユニットを含むことができることも理解されたい。たとえば、いくつかの実施形態では、ロボットシステム１００は、ケージカートまたはパレットから、コンベアまたは他のパレットに対象を移送するための、パレットから降ろすユニット、１つのコンテナから別のコンテナに対象を移送するためのコンテナ切替えユニット、対象をラッピングするためのパッケージングユニット、対象の１つまたは複数の特性に応じて対象をグループ化するための並び替えユニット、対象の１つまたは複数の特性に応じて様々に対象を操縦するため（たとえば、並び替え、グループ化、及び／または移送のため）のピースピッキングユニット、またはそれらの組合せを含むことができる。
【００１８】
適切なシステム
図２は、本技術の１つまたは複数の実施形態に係るロボットシステム１００を示すブロック図である。いくつかの実施形態では、たとえば、ロボットシステム１００（たとえば、上述のユニット及び／またはロボットの１つまたは複数におけるシステム）は、１つもしくは複数のプロセッサ２０２、１つもしくは複数のストレージデバイス２０４、１つもしくは複数の通信デバイス２０６、１つもしくは複数の入力−出力デバイス２０８、１つもしくは複数の作動デバイス２１２、１つもしくは複数の移送モータ２１４、１つもしくは複数のセンサ２１６、またはそれらの組合せなどの、電子デバイス／電気デバイスを備えることができる。その様々なデバイスは、有線接続及び／または無線接続を介して互いに結合することができる。たとえば、ロボットシステム１００は、システムバス、周辺部品相互接続（ＰＣＩ）バスまたはＰＣＩ−エクスプレスバス、ＨｙｐｅｒＴｒａｎｓｐｏｒｔまたは産業標準構成（ＩＳＡ）バス、小型コンピュータシステムインターフェース（ＳＣＳＩ）バス、ユニバーサルシリアルバス（ＵＳＢ）、ＩＩＣ（Ｉ２Ｃ）バス、または電気電子技術者協会（ＩＥＥＥ）規格１３９４のバス（「Ｆｉｒｅｗｉｒｅ」とも呼ばれる）などのバスを含むことができる。また、たとえば、ロボットシステム１００は、デバイス間の有線接続を提供するための、ブリッジ、アダプタ、コントローラ、または他の信号に関するデバイスを含むことができる。無線接続は、たとえば、セルラ通信プロトコル（たとえば、３Ｇ、４Ｇ、ＬＴＥ、５Ｇなど）、無線ローカルエリアネットワーク（ＬＡＮ）プロトコル（たとえば、忠実な無線通信環境（ｗｉｒｅｌｅｓｓ  ｆｉｄｅｌｉｔｙ（ＷＩＦＩ））、ピアツーピアまたはデバイスツーデバイスの通信プロトコル（たとえば、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｎｅａｒ−Ｆｉｅｌｄ通信（ＮＦＣ）など）、モノのインターネット（ＩｏＴ）プロトコル（たとえば、ＮＢ−ＩｏＴ、ＬＴＥ−Ｍなど）、及び／または、他の無線通信プロトコルに基づくものとすることができる。
【００１９】
プロセッサ２０２は、ストレージデバイス２０４（たとえばコンピュータメモリ）に記憶された命令（たとえば、ソフトウェア命令）を実行するように構成されたデータプロセッサ（たとえば、中央処理ユニット（ＣＰＵ）、特定用途のコンピュータ、及び／またはオンボードサーバ）を含むことができる。プロセッサ２０２は、他のデバイスを制御／相互作用するようにプログラム命令を実施することができ、それにより、ロボットシステム１００に、動作、作業、及び／または操作を実行させる。
【００２０】
ストレージデバイス２０４は、そこに記憶されたプログラム命令（たとえば、ソフトウェア）を有する非一時的なコンピュータ可読媒体を含むことができる。ストレージデバイス２０４のいくつかの例には、揮発性メモリ（たとえば、キャッシュ及び／またはランダムアクセスメモリ（ＲＡＭ）及び／または不揮発性メモリ（たとえば、フラッシュメモリ及び／または磁気ディスクドライブ）を含むことができる。ストレージデバイス２０４の他の例には、ポータブルメモリドライブ及び／またはクラウドストレージデバイスを含むことができる。
【００２１】
いくつかの実施形態では、ストレージデバイス２０４は、処理結果及び／または所定のデータ／閾値をさらに記憶するとともにアクセスを提供するために使用することができる。たとえば、ストレージデバイス２０４は、ロボットシステム１００によって操縦され得る対象（たとえば、ボックス、ケース、及び／または製品）の記載を含むマスターデータを記憶することができる。１つまたは複数の実施形態では、マスターデータは、ロボットシステム１００によって操縦されると予期される対象に関する、寸法、形状（たとえば、可能性のあるポーズに関するテンプレート、及び／または、異なるポーズの対象を認識するための、コンピュータで生成されたモデル）、カラースキーム、イメージ、識別情報（たとえば、バーコード、クイックレスポンス（ＱＲ）コード（登録商標）、ロゴなど、及び／または、それらの予期される位置）、予期される重さ、またはそれらの組合せを含むことができる。いくつかの実施形態では、マスターデータは、対象各々の質量中心の位置、１つまたは複数の動作／動きに応じた、予期されるセンサの測定値（たとえば、力、トルク、圧力、及び／または接触基準値に関する）、またはそれらの組合せなどの、対象に関する操縦関連情報を含むことができる。また、たとえば、ストレージデバイス２０４は、対象の追跡データを記憶することができる。いくつかの実施形態では、対象の追跡データには、スキャン又は操縦された対象のログが含まれ得る。いくつかの実施形態では、対象の追跡データには、１つまたは複数の位置（たとえば、指定されたピックアップ位置またはドロップ位置、及び／またはコンベアベルト）における対象の撮像データ（たとえば、写真、ポイントクラウド、ライブビデオの提供など）が含まれ得る。いくつかの実施形態では、対象の追跡データには、１つまたは複数の位置における対象の位置及び／または向きが含まれ得る。
【００２２】
通信デバイス２０６は、外部または遠隔のデバイスとネットワークを介して通信するように構成された回路を含むことができる。たとえば、通信デバイス２０６は、受信機、送信機、調整器／復調器（モデム）、信号検出器、信号エンコーダ／デコーダ、コネクタポート、ネットワークカードなどを含むことができる。通信デバイス２０６は、１つまたは複数の通信プロトコル（たとえば、インターネットプロトコル（ＩＰ）、無線通信プロトコルなど）に応じて電気信号を送信、受信、及び／または処理するように構成することができる。いくつかの実施形態では、ロボットシステム１００は、ロボットシステム１００のユニット間での情報の交換、及び／または、ロボットシステム１００の外のシステムもしくはデバイスとの（たとえば、レポート、データの収集、分析、及び／またはトラブルシューティングの目的のための）情報の交換をするように、通信デバイス２０６を使用することができる。
【００２３】
入力−出力デバイス２０８は、人間のオペレータとの情報の通信及び／または人間のオペレータからの情報の受信を行うように構成されたユーザインターフェースデバイスを含むことができる。たとえば、入力−出力デバイス２０８は、人間のオペレータに情報を通信するためのディスプレイ２１０及び／または他の出力デバイス（たとえば、スピーカ、触覚回路、またはタクティールフィードバックデバイスなど）を含むことができる。また、入力−出力デバイス２０８は、キーボード、マウス、タッチスクリーン、マイク、ユーザインターフェース（ＵＩ）センサ（たとえば、モーションコマンドを受信するためのカメラ）、ウェアラブル入力デバイスなどの、制御または受信デバイスを含むことができる。いくつかの実施形態では、ロボットシステム１００は、動作、作業、操作、またはそれらの組合せを実行する際に、入力−出力デバイス２０８を使用して、人間のオペレータと相互作用することができる。
【００２４】
ロボットシステム１００は、モーション（たとえば、回転及び／または平行移動の変位）のためにジョイントで接続された、物理的なまたは構造的な部材（たとえば、ロボットマニピュレータアーム）を含むことができる。構造的部材及びジョイントは、ロボットシステム１００の使用／操作に応じた１つまたは複数の作業（たとえば、グリップ、スピン、溶接など）を実行するように構成されたエンドエフェクタ（たとえば、グリッパ）を操縦するように構成された運動学上のチェーンを形成することができる。ロボットシステム１００は、対応するジョイントの周り又はジョイントにおいて、構造的部材を駆動又は操縦する（たとえば、変位及び／または再度の方向付け）ように構成された作動デバイス２１２（たとえば、モータ、アクチュエータ、ワイヤ、人工筋、電気活性ポリマなど）を含むことができる。いくつかの実施形態では、ロボットシステム１００は、ある位置から位置に、対応するユニット／シャシーを移送するように構成された移送モータ２１４を含むことができる。
【００２５】
ロボットシステム１００は、構造的部材を操縦するため、及び／または、ロボットユニットを移送するためなど、作業を実施するために使用される情報を得るように構成されたセンサ２１６を含むことができる。センサ２１６は、ロボットシステム１００の１つまたは複数の物理的特性（たとえば、１つまたは複数の構造的部材／そのジョイントの状態、条件、及び／または位置）、及び／または、周囲の環境に関する特性を検出するか測定するように構成されたデバイスを含むことができる。センサ２１６のいくつかの例は、加速度計、ジャイロスコープ、力センサ、ひずみゲージ、タクティールセンサ、トルクセンサ、位置エンコーダなどを含むことができる。
【００２６】
いくつかの実施形態では、たとえば、センサ２１６は、周囲の環境を検出するように構成された１つまたは複数の撮像デバイス２２２（たとえば、可視及び／または赤外カメラ、ライダー、レーダー、及び／または他の距離測定もしくは撮像デバイスを含む、２次元及び／または３次元カメラ）を含むことができる。撮像デバイス２１４は、（たとえば、自動的な検査、ロボットのガイダンス、または他のロボットのアプリケーションのための）マシン／コンピュータの視覚を実行するために使用される、デジタル画像及び／またはポイントクラウドなどの検出環境の表示を生成することができる。以下にさらに詳細に記載するように、ロボットシステム１００は、（たとえば、プロセッサ２０２を介して）、デジタル画像及び／またはポイントクラウドを処理して、図１のターゲットとなる対象１１２、図１のスタート位置１１４、図１の作業位置１１６、図１のターゲットとなる対象１１２のポーズ、またはそれらの組合せを識別することができる。ターゲットとなる対象１１２を操縦するために、ロボットシステム１００は、（たとえば、様々なユニットを介して）、指定されたエリア（たとえば、トラック内、コンテナ内、または、コンベアベルト上の対象のピックアップ位置）の画像を取得及び分析して、ターゲットとなる対象１１２及びそのスタート位置１１４を識別することができる。同様に、ロボットシステム１００は、別の指定されたエリア（たとえば、コンベアベルト上に対象を配置するためのドロップ位置、コンテナ内に対象を配置するための位置、または、スタックする目的のためのパレット上の位置）の画像を取得及び分析して、作業位置１１６を識別することができる。
【００２７】
また、たとえば、センサ２１６は、構造的部材（たとえば、ロボットアーム及び／またはエンドエフェクタ）、及び／または、ロボットシステム１００の対応するジョイントの位置を検出するように構成された位置センサ２２４（たとえば、位置エンコーダ、ポテンショメータなど）を含むことができる。ロボットシステム１００は、作業の実行の間、構造的部材及び／またはジョイントの位置及び／または向きを追跡するために、位置センサ２２４を使用することができる。
【００２８】
いくつかの実施形態では、センサ２１６は、複数の物理的構造または表面間の直接の接触に関連する特性を測定するように構成された接触センサ２２６（たとえば、圧力センサ、力センサ、ひずみゲージ、圧電抵抗性／圧電性センサ、容量性センサ、弾性抵抗性センサ、及び／または他のタクティールセンサ）を含むことができる。接触センサ２２６は、ターゲットとなる対象１１２上のエンドエフェクタ（たとえば、グリッパ）のグリップに対応する特性を測定することができる。したがって、接触センサ２２６は、グリッパとターゲットとなる対象１１２との間の接触または取付けの程度に対応する、定量化された測定値（たとえば、測定された力、トルク、位置など）を示す接触基準を出力することができる。たとえば、接触基準は、エンドエフェクタによってターゲットとなる対象１１２に印加された力に関する、１つまたは複数の力またはトルクの読取り値を含むことができる。接触基準に関する詳細を、以下に記載する。
【００２９】
以下にさらに詳述するように、ロボットシステム１００は、（たとえば、プロセッサ２０２を介して）接触基準に基づく作業を達成するように様々な動作を実施することができる。たとえば、ロボットシステム１００は、最初の接触基準が閾値未満である場合、ターゲットとなる対象１１２をグリップし直すことができる。また、ロボットシステム１００は、作業の実行の間に接触基準が閾値未満に低下した場合、意図してターゲットとなる対象１１２をドロップするか、作業位置１１６を調整するか、動作に関する速度もしくは加速度を調整するか、またはそれらの組合せを行うことができる。
【００３０】
接触基準
図３Ａ及び図３Ｂは、本技術の１つまたは複数の実施形態に係るグリップ状態の例を示している。いくつかの実施形態では、図１のロボットシステム１００（たとえば、上述の、１つまたは複数のユニットにおいて、パレットに載せる／パレットから降ろすロボット、ピッカーロボットなど）は、ロボットアーム３０４に接続されたエンドエフェクタ（たとえば、グリッパ）を含むことができる。ロボットアーム３０４は、エンドエフェクタを操縦するように構成された部材間の構造的部材及び／またはジョイントを含むことができる。エンドエフェクタは、ロボットアーム３０４の構造的部材及び／またはジョイントに接続された、図２の作動デバイス２１２を操作することによって操縦することができる。
【００３１】
いくつかの実施形態では、エンドエフェクタ（たとえば、グリッパ）は、対象をグリップするように構成することができ、それにより、エンドエフェクタに対し、対象を固定又は添付する。エンドエフェクタは、エンドエフェクタの１つまたは複数の位置に関連付けられたか又は取り付けられた作動デバイス２１２の１つまたは複数を操作することにより、（たとえば、把持及び／または開放するために）操作することもできる。
【００３２】
１つまたは複数の実施形態では、図３Ａに示すように、エンドエフェクタは、グリッパ３０２（たとえば、収斂性または吸引性のグリッパ）を含むことができる。このグリッパ３０２は、グリッパ３０２とターゲットとなる対象１１２との間に真空状態を形成及び維持することによって得られるものなど、引付力を介してターゲットとなる対象１１２を保持又は添付するように構成されている。たとえば、グリッパ３０２は、吸引カップ３０６のセットを含むことができる。この吸引カップ３０６は、ターゲットとなる対象１１２の表面に接触し、吸引カップ３０６と表面との間の空間に真空状態を形成／維持するように構成されている。真空状態は、グリッパ３０２がロボットアーム３０４を介して下げられ、それにより、吸引カップ３０６をターゲットとなる対象１１２の表面に対して押圧し、対向する表面間の気体を外に出す場合に形成することができる。ロボットアーム３０４がグリッパ３０２を上昇させると、吸引カップ３０６の内側の空間と、周囲の環境との間の圧力差により、吸引カップ３０６に取り付けられたターゲットとなる対象１１２を維持することができる。したがって、ターゲットとなる対象１１２上のグリッパ３０２のグリップまたは取付けの程度は、成功的に真空状態を形成して保持している吸引カップ３０６の数に基づくものとすることができる。
【００３３】
様々な要因により、吸引カップ３０６が成功的に真空状態を形成して保持することを妨げられ得る。たとえば、図２の撮像デバイス２２２における較正エラーにより、グリッパ３０２をターゲットとなる対象１１２に対して誤って配置するか、誤って向けることが生じ得る。したがって、１つまたは複数の吸引カップ３０６は、真空状態を形成するとともに保持するように、ターゲットとなる対象１１２の表面に（たとえば、分離ギャップ３２２によって示すように）適切に接触しない場合がある。また、ターゲットとなる対象１１２の表面上の予期されていない変形または微粒子により、１つまたは複数の吸引カップ３０６が、真空状態を保持するターゲットとなる対象１１２の表面のシールされた空間を形成することが妨げられる場合がある。また、ターゲットとなる対象１１２を操縦している間、１つまたは複数の吸引カップ３０６は、ターゲットとなる対象１１２の移動の慣性及び／またはシフト（たとえば、ボックスまたはボックス内の内容物）から生じる力を受ける場合がある。その受けた力が、形成されているシールの完全性より大である場合、吸引カップ３０６は、真空状態の保持を失う場合がある。
【００３４】
いくつかの実施形態では、グリッパ３０２は、接触基準３１２を判定するように構成された、図２の接触センサ２２６（たとえば、１つまたは複数の力センサ、圧力センサ、トルクセンサ、及び／または他のタクティールセンサ）を含んでいる。接触センサ２２６は、ターゲットとなる対象１１２に対するグリッパ３０２の取付けの程度を示すものとして、接触基準３１２を生成することができる。換言すると、接触基準３１２は、ターゲットとなる対象１１２上の、エンドエフェクタのグリップの測定値または量を示すことができる。たとえば、接触センサ２２６は、検知された表面が別の表面に接触しているか、及び／または、別の表面に接触している表面積のサイズを判定するように構成されているかを示すように構成された、タッチセンサまたはタクティールセンサを含むことができる。また、接触センサ２２６は、吸引カップ３０６の内部の圧力（たとえば、真空状態）を測定するように構成された圧力センサを含むことができる。また、接触センサ２２６は、吸引カップ３０６によって保持又は支持されたターゲットとなる対象１１２の重量（たとえば、破線の線形矢印によって示される）を測定するように構成された直線力センサを含むことができる。さらに、接触センサ２２６は、吸引カップ３０６、グリッパ３０２、及び／またはロボットアーム３０４のトルク（たとえば、破線の曲線の矢印によって示される）を測定するように構成されたトルクセンサを含むことができる。完全にグリップされた状態と比較すると、吸引カップ３０６のいくつか（たとえば、周囲に位置する吸引カップ３０６）が真空状態を保持しない場合、トルクの測定値が変わる（たとえば、増大する）場合がある。接触センサ２２６のタイプ及び／または位置に応じて、接触基準３１２は、測定値が真空の閾値を満たす、吸引カップ３０６、吸引カップ３０６の量、及び／またはそれらの位置にわたる、測定値（たとえば、内圧、直線力、及び／またはトルク）の合計または平均に対応し得るか、それらの組合せに対応し得る。
【００３５】
図示の例として、図３Ａは、（ターゲットとなる対象１１２を通して横断する矢印によって示されるように）ターゲットとなる対象１１２上にグリップを有するグリッパ３０２の遠位端（すなわち、図３Ａの右側に位置している）上の吸引カップを示している。対照的に、グリッパ３０２の近位端（すなわち、図３Ａの左側に位置している）上の吸引カップは、分離ギャップ３２２によって分離されて示されている。したがって、遠位端上の吸引カップに対応する直線力センサは、その遠位の吸引カップによって支持された重量に関連する、ゼロではない読取り値を判定することができる。また、近位端上の吸引カップに対応する直線力センサは、グリップの欠如に起因する、ゼロ又はゼロに近い読取り値を判定することができる。さらに、力の均等ではない分布に起因して、グリッパ３０２に関連付けられたトルクセンサは、ゼロではない読取り値を判定することができる。
【００３６】
比較すると、吸引カップ３０６のすべてがターゲットとなる対象１１２の表面と真空状態を確立又は維持している場合、直線力の読取り値は、吸引カップ３０６のすべてにおいてゼロではない大きさを有し、及び／または、直線力の読取り値間の偏差が、比較的小さいレンジ内にあることになる。さらに、重量が、吸引カップ３０６にわたって実質的に均等な方式で分布することになることから、グリッパ３０２で測定されるトルクは、ゼロの値に近くなる。
【００３７】
したがって、ロボットシステム１００は、接触基準３１２の上述の例を、ターゲットとなる対象１１２上のグリッパ３０２のグリップの表示として使用することができる。たとえば、直線力の読取り値及び／またはトルクの読取り値の偏差は、グリップの強度を逆に示し得る。換言すると、予期される読取り値からの、より大である偏差（たとえば、直線力の測定値のゼロに近い偏差、及び／または、ゼロに近いトルクの測定値が、強力なグリップに対応し得る）が、より弱いグリップに対応する場合がある。いくつかの実施形態では、ロボットシステム１００は、グリッパ３０２及びターゲットとなる対象１１２の異なる向き（たとえば、ポーズ）に従って、予期される読取り値の変換／移行のために、検索／変換テーブル、方程式、プロセス、またはそれらの組合せをさらに使用することができる。いくつかの実施形態では、マスターデータは、グリッパ３０２及びターゲットとなる対象１１２の様々な向きの各々に関し、予期される読取り値を含むことができる。ロボットシステム１００は、グリッパ３０２及びターゲットとなる対象１１２の向きに応じて、接触基準３１２を評価または処理するように、予期される読取り値を使用することができる。
【００３８】
いくつかの実施形態では、図３Ｂに示すように、図１のロボットシステム１００（たとえば、上述の、１つまたは複数において、パレットに載せる／パレットから降ろすロボット、ピッカーロボットなど）は、直接的な衝撃を介してターゲットとなる対象１１２を物理的に把持するように構成されたグリッパ３５２（たとえば、衝撃によるグリッパ）を含むことができる。たとえば、グリッパ３５２は、ターゲットとなる対象１１２に印加される対向又は圧縮する力に基づき、ターゲットとなる対象１１２をグリップするように構成されたグリッパ顎部３５６を含むことができる。ターゲットとなる対象１１２は、グリッパ顎部３５６の接触表面とターゲットとなる対象１１２の接触表面との間の、結果として生じる摩擦に基づき、グリップすることができる。
【００３９】
様々な要因が、グリッパ顎部３５６がターゲットとなる対象１１２を成功的にグリップすることを妨げ得る。たとえば、図２の撮像デバイス２２２における較正エラーにより、グリッパ３５２をターゲットとなる対象１１２に対して誤って配置するか、誤って向けることが生じ得る。したがって、グリッパ顎部３５６は、表面特性が、結果として生じる摩擦を低減する場所など、ターゲットとなる対象１１２の意図されていない部分に接触する場合がある。また、ターゲットとなる対象１１２の表面上の予期されていない変形または微粒子により、結果として生じる摩擦が低減され得る。また、ターゲットとなる対象１１２の操縦の間、グリッパ顎部３５６は、ターゲットとなる対象１１２の移動の慣性及び／またはシフト（たとえば、ボックスまたはボックス内の内容物）から生じる力を受ける場合がある。その受けた力が摩擦力より大である場合、グリッパ顎部３５６は、真空状態の保持を失う場合がある。
【００４０】
いくつかの実施形態では、グリッパ３５２は、接触基準３１２を判定するように構成された、図２の接触センサ２２６（たとえば、１つまたは複数の力センサ、圧力センサ、及び／またはトルクセンサ）を含んでいる。たとえば、接触センサ２２６は、検知した表面と他の表面との間の直接の接触を示し、及び／または、接触面積のサイズを測定するタクティールセンサを含むことができる。また、接触センサ２２６は、グリッパ顎部３５６の接触表面上に圧力センサまたはタクティールセンサを含むことができる。このセンサは、グリッパ顎部３５６によってターゲットとなる対象１１２に印加された力を測定するように構成されている。さらに、接触センサ２２６は、ターゲットとなる対象１１２の重量を測定するように構成された直線力センサを含むことができる。グリップが失われると、ターゲットとなる対象１１２はスリップし得る。このことは、直線力センサによって検知される重量の低下につながり得る。
【００４１】
図３Ｂに示すように、たとえば、グリップが不適切である又は欠如していることにより、グリッパ３５２が、ターゲットとなる対象１１２を持ち上げることを意図して上に移動した際に、ターゲットとなる対象１１２が動かないまま（すなわち、グリッパ顎部３５６に対して下にスライドする）の結果となり得る。したがって、直線力センサによって測定された重量または力は、グリップが十分で、かつ、ターゲットとなる対象１１２がグリッパ顎部３５６に対して固定されたままである場合に測定される実際の重量またはその一部（たとえば、各顎部にかかる約半分の重量）より少なくなり得る。図示の例として、ロボットシステム１００は、グリップ動作の後の最初の持ち上げ動作の間、グリッパ３５２、ロボットアーム３０４、及び／またはグリッパ顎部３５６に関連する直線力センサの測定値を追跡することができる。予期される測定プロファイル（図３Ｂに時間に対する力の大きさのプロットにおいて、破線を使用して示されている）は、所定の持続時間の間、ターゲットとなる対象１１２の重量にマッチするように上昇する、測定された下向きの力に対応する場合がある。しかし、不適切なグリップに関するセンサの読取り値は、予期されたレベルまで上昇せず、かつ、最初の持ち上げの動きの終了によってゼロまたはゼロに近い大きさに達する、測定された下向きの力に対応する。いくつかの状況では、グリップの一瞬のロス（すなわち、全体のグリップが弱い状況を示す）は、検出された直線力の急激な低下または一瞬の低下に対応し得る。
【００４２】
いくつかの実施形態では、接触センサ２２６は、グリッパが水平に向けられた場合など、グリッパ顎部３５６上でトルクを測定するように構成されたトルクセンサを含むことができる。不適切なグリップは、持ち上げ動作の間、ターゲットとなる対象１１２に、グリッパ顎部３５６からシフトさせ（たとえば、離す）、それにより、グリッパ３５２に対するターゲットとなる対象１１２の重心の位置を変更する。したがって、グリッパ顎部３５６に印加されるトルクの量及び／または向きは、シフトした重心に基づいて変化し得る。接触基準３１２は、接触センサ２２６のタイプ及び／または位置に従って、上述の測定値に対応する場合がある。
【００４３】
システム操作
図４は、本技術の１つまたは複数の実施形態に係るロボットシステム１００によって実行される例示的作業４０２を示す上面図である。上述のように、作業４０２は、目的を達成するために、ロボットシステム１００によって実行される（たとえば、図１の移送ユニット１０４など、上述のユニットの１つによって実行される）動作のシークエンスを示し得る。図４に示すように、たとえば、作業４０２は、ターゲットとなる対象１１２を、スタート位置１１４（たとえば、受領パレットまたは大箱の上／中の位置）から作業位置１１６（たとえば、並び替えされたパレットまたは大箱の上／中の位置）に移動することを含み得る。
【００４４】
いくつかの実施形態では、ロボットシステム１００は、スタート位置１１４を識別及び／または位置特定するために、所定のエリアを撮像することができる。たとえば、ロボットシステム１００は、部品調達用のパレットまたは大箱に関して指定されたエリア、及び／または、コンベアベルトの受領側の領域など、ピックアップエリアに向けられたソーススキャナ４１２（すなわち、図２の撮像デバイス２２２の例）を含むことができる。ロボットシステム１００は、指定されたエリアの撮像データ（たとえば、取得された画像及び／またはポイントクラウド）を生成するために、ソーススキャナ４１２を使用することができる。ロボットシステム１００は（たとえば、図２のプロセッサ２０２を介して）、指定されたエリアに位置する様々な対象（たとえば、ボックスまたはケース）を識別するために、撮像結果について、コンピュータによる視野処理を実施することができる。対象の識別の詳細は以下に記載する。
【００４５】
認識された対象から、ロボットシステム１００は、作業４０２の実行のために、ターゲットとなる対象１１２として、（たとえば、所定のシークエンスまたは規則のセット、及び／または、対象のアウトラインのテンプレートに応じて）１つを選択することができる。選択されたターゲットとなる対象１１２に関し、ロボットシステム１００は、スタート位置１１４及び／または最初のポーズを判定するために、撮像結果をさらに処理することができる。選択及び位置／ポーズの判定の詳細を以下に記載する。
【００４６】
ロボットシステム１００は、作業位置１１６を識別するために、別の所定のエリアをさらに撮像及び処理することができる。いくつかの実施形態では、たとえば、ロボットシステム１００は、並び替えされたパレットまたは大箱、及び／または、コンベアベルトの送り側の領域に関して指定されたエリアなど、配置エリアの撮像結果を生成するように構成された撮像デバイス２２２（図示せず）の別の例を含むことができる。撮像結果は、ターゲットとなる対象１１２を配置するための作業位置１１６及び／または対応するポーズを識別するために、（たとえば、プロセッサ２０２を介して）処理することができる。いくつかの実施形態では、ロボットシステム１００は、複数の対象をスタック及び／または配置するための所定のシークエンスまたは規則のセットに従って、作業位置１１６を（撮像結果に基づくか、または、撮像結果を伴わずに）識別することができる。
【００４７】
識別されたスタート位置１１４及び／または作業位置１１６を使用して、ロボットシステム１００は、作業４０２を実行するために、対応するユニット（たとえば、移送ユニット１０４）の１つまたは複数の構造（たとえば、ロボットアーム３０４及び／またはエンドエフェクタ、図３Ａのグリッパ３０２及び／または図３Ｂのグリッパ３５２など）を操作することができる。したがって、ロボットシステム１００（たとえば、プロセッサ２０２を介して）は、作業４０２を実行するために対応するユニットによって実施される１つまたは複数の動作に対応する、ベースのモーションプラン４２２を（たとえば、モーションプランの規定またはアルゴリズムを介して）計算することができる。たとえば、移送ユニット１０４に関するベースのモーションプラン４２２は、ピックアップのためにエンドエフェクタを配置すること、ターゲットとなる対象１１２をグリップすること、ターゲットとなる対象１１２を持ち上げること、ターゲットとなる対象１１２をスタート位置１１４の上から作業位置１１６の上に移動すること、ターゲットとなる対象１１２を下げること、及び、ターゲットとなる対象１１２を開放することを含むことができる。また、ベースとなるモーションプラン４２２は、理想的な状況（たとえば、いずれの妨害、エラー、予期しない外部の影響などを伴わない）または実行に関するものなど、作業４０２を成功して完了するために必要な動作のみを含むことができる。
【００４８】
いくつかの実施形態では、ロボットシステム１００は、ロボットアーム３０４及び／またはエンドエフェクタを操作する図２の１つまたは複数の作動デバイス２１２のためのコマンド及び／または設定のシークエンスを判定することにより、ベースとなるモーションプラン４２２を計算することができる。たとえば、ロボットシステム１００は、プロセッサ２０２を使用して、グリッパをスタート位置１１４周りの特定の位置に置き、エンドエフェクタでターゲットとなる対象１１２を係合及び把持し、エンドエフェクタを作業位置１１６周りの特定の位置に置き、ターゲットとなる対象１１２をエンドエフェクタから開放するように、エンドエフェクタ及びロボットアーム３０４を操縦するために、作動デバイス２１２のコマンド及び／または設定を計算することができる。ロボットシステム１００は、コマンド及び／または設定の判定されたシークエンスに従って、作動デバイス２１２を操作することにより、作業４０２を完了するための動作を実行することができる。
【００４９】
いくつかの実施形態では、作業４０２は、製品のロギングの目的のため、及び／または、ターゲットとなる対象１１２のさらなる識別のためなど、ターゲットとなる対象１１２をスキャンすること（たとえば、バーコードまたはＱＲコード（登録商標）をスキャンすること）を含むことができる。たとえば、ロボットシステム１００は、通常はピックアップエリアと配置位置との間の位置において、ターゲットとなる対象１１２をスキャンするように構成された対象スキャナ４１６（たとえば、バーコードスキャナまたはＱＲコードスキャナなど、撮像デバイス２２２のさらなる例）を含むことができる。したがって、ロボットシステム１００は、ターゲットとなる対象１１２の一部または表面が対象スキャナ４１６に与えられるように、所定のポーズでスキャン位置にターゲットとなる対象１１２を配置するように、ベースとなるモーションプラン４２２を計算することができる。
【００５０】
作業４０２に関する動作を実行するために、ロボットシステム１００は、ターゲットとなる対象１１２の現在の位置４２４（たとえば、ロボットシステム１００によって使用されるグリッドに対応する座標のセット）を追跡することができる。たとえば、ロボットシステム１００（たとえば、プロセッサ２０２を介して）は、図２の位置センサ２２４からのデータに従って現在の位置４２４を追跡することができる。ロボットシステム１００は、位置センサ２２４からのデータに従って、運動学上のチェーンにおいて、ロボットアーム３０４の１つまたは複数の部分（たとえば、構造的部材及び／またはそれらのジョイント）を配置することができる。ロボットシステム１００は、ロボットアーム３０４の位置及び向きに基づき、エンドエフェクタの位置及び向きをさらに計算することができ、それにより、エンドエフェクタによって保持されるターゲットとなる対象１１２の現在の位置４２４を計算することができる。また、ロボットシステム１００は、推測位置メカニズムに従って、他のセンサの読取り値（たとえば、力の読取り値または加速度計の読取り値）の処理、実行された作動コマンド／設定、及び／または、関連するタイミング、またはそれらの組合せに基づき、現在の位置４２４を追跡することができる。
【００５１】
また、作業４０２に関する動作の実行において、ロボットシステム１００（たとえば、接触センサ２２６を介する）は、図３Ａ／図３Ｂの接触基準３１２を判定することができる。ロボットシステム１００は、所定のサンプリングインターバルもしくはタイミング、またはそれらの組合せに従って、ベースとなるモーションプラン４２２の一部（たとえば、グリップ動作、移動動作、及び／または回転動作）を実行した後など、様々な時点で接触基準３１２を判定またはサンプリングすることができる。
【００５２】
接触基準３１２に基づき、ロボットシステム１００は、作業４０２を完了するために、様々な動作を実行することができる。換言すると、ロボットシステム１００は、接触基準３１２に従って、ターゲットとなる対象１１２について粒度の細かい制御／操縦を実施することができる。たとえば、接触基準３１２が第１の閾値を満たした場合または満たす間、ロボットシステム１００は、ベースとなるモーションプラン４２２を実施することができる。接触基準３１２が第１の閾値を満たさない（たとえば、閾値未満に低下した）場合、ロボットシステム１００は、ベースとなるモーションプラン４２２から外れ、１つまたは複数の追加及び／または異なる動作を実行することができる。たとえば、（たとえば、図３Ａの吸引カップ３０６をターゲットとなる対象１１２に押圧するか、図３Ｂのグリッパ顎部３５６を介して圧縮力を、ターゲットとなる対象１１２の両側に印加することにより）グリップ動作を実施した後に、接触基準３１２がグリップ閾値未満である場合、ロボットシステム１００は、ターゲットとなる対象１１２の開放及び／またはエンドエフェクタの位置の調整の後に、グリップ動作を再度実行することができる。ロボットシステム１００は、次いで、接触基準３１２を判定し、接触基準３１２がグリップ閾値未満のままである場合、所定の限界まで再グリップのプロセスを繰り返すことができる。再度グリップする試みにより、接触基準３１２がグリップ閾値を満たす結果となる場合、ロボットシステム１００は、ベースとなるモーションプラン４２２の残りの部分を続けることができる。いくつかの実施形態では、限られた数の試みの後に、ロボットシステム１００がターゲットとなる対象１１２を十分にグリップできなかった場合、ロボットシステム１００は、ターゲットとなる対象１１２をドロップして離し、異なる対象で作業を実行することができる（たとえば、次の作業に関し、異なる対象をターゲットとなる対象１１２として識別する）。
【００５３】
また、ロボットシステム１００は、ターゲットとなる対象１１２を操縦している間（たとえば、グリップ動作を実行した後）、移行閾値未満に接触基準３１２が低下した場合、ベースとなるモーションプラン４２２から外れることができる。いくつかの実施形態では、ロボットシステム１００は、現在の位置４２４に基づき、次の動作（たとえば、制御されたドロップ）を実行することができる。たとえば、ロボットシステム１００は、ターゲットとなる対象１１２の現在の位置４２４が１つまたは複数の所定のエリアの上／中にある場合、ターゲットとなる対象１１２を急激に低下させる、及び／または開放することができる。
【００５４】
いくつかの実施形態では、制御されたドロップ動作のために指定された所定のエリアは、供給元のドロップエリア４３２、目的地のドロップエリア４３４、及び／または、１つもしくは複数の移行ドロップエリア４３６を含むことができる。供給元のドロップエリア４３２は、パレットの縁部または大箱／ケージの壁など、ピックアップエリアの境界によって閉じられたエリアに対応するものとすることができる（たとえば、重なっているか、または、そこからある距離だけ内側にオフセットしている）。同様に、目的地のドロップエリア４３４は、配置エリアの境界に対応するものとすることができる。移行ドロップエリア４３６は、ピックアップエリアと、対象が次の作業の実行を妨げないように、ロボットシステム１００がターゲットとなる対象１１２をドロップ又は配置することができる配置エリアとの間のエリアを含むことができる。図４に示す例に関し、移行ドロップエリア４３６は、対象スキャナ４１６の前及び／または後（すなわち、ピックアップエリアから配置エリアに移動している時）とすることができる。
【００５５】
したがって、接触基準３１２が閾値を満たさない場合、ロボットシステム１００は、ターゲットとなる対象１１２を配置するためのドロップエリアの１つに、調整されたドロップ位置４４２を計算することができる。ロボットシステム１００は、調整されたドロップ位置４４２を、ターゲットとなる対象１１２を配置するための十分な空間を有する、現在の位置４２４と作業位置１１６との間の位置として識別することができる。ロボットシステム１００は、作業位置１１６と同様に、調整されたドロップ位置４４２を識別することができる。識別された、調整されたドロップ位置４４２及び現在の位置４２４に基づき、ロボットシステムは、ターゲットとなる対象１１２を移動し、これを調整されたドロップ位置４４２に配置するための、調整されたモーションプラン４４４を計算することができる。調整されたドロップ位置４４２の識別、及び、調整されたモーションプラン４４４の計算に関する詳細を、以下に記載する。
【００５６】
操作フロー
図５は、本技術の１つまたは複数の実施形態に係る、図１のロボットシステム１００を操作する方法５００のフロー図である。方法５００は、図３Ａ／図３Ｂの接触基準３１２に従って、図１のターゲットとなる対象１１２について粒度の細かい制御／操縦を実施するためのものとすることができる。換言すると、方法５００により、ロボットシステム１００が、接触基準３１２に従って、図４のベースとなるモーションプラン４２２に追従及び／または同プランから外れる（たとえば、ベースとなるモーションプラン４２２に加えて、及び／または代わりに、他の動作を実施する）ことを許容する。方法５００は、図２の１つまたは複数のプロセッサ２０２で、図２の１つまたは複数のストレージデバイス２０４に記憶された命令を実行することに基づいて、実施することができる。
【００５７】
ブロック５０２では、ロボットシステム１００は、指定されたエリアをスキャンすることができる。いくつかの実施形態では、ロボットシステム１００は、図２の１つまたは複数の撮像デバイス２２２（たとえば、図４のソーススキャナ４１２及び／または他のエリアスキャナ）を（たとえば、プロセッサ２０２によって送信されたコマンド／プロンプトを介して）使用して、ピックアップエリア及び／またはドロップエリアなど（たとえば、図４の供給元のドロップエリア４３２、図４の目的地のドロップエリア４３４、及び／または、図４の移行ドロップエリア４３６）の１つまたは複数の指定されたエリアの撮像結果（たとえば、取得されたデジタル画像及び／またはポイントクラウド）を生成することができる。
【００５８】
ブロック５０４では、ロボットシステム１００は、図１のターゲットとなる対象１１２及び関連する位置（たとえば、図１のスタート位置１１４、及び／または、図１の作業位置１１６）を識別することができる。いくつかの実施形態では、たとえば、ロボットシステム１００（たとえば、プロセッサ２０２を介する）は、対象のアウトライン（たとえば、周囲の縁部または表面）を識別するために、パターン認識メカニズム及び／または規則のセットに従って、撮像結果を分析することができる。ロボットシステム１００は、対象の特有の例の各々に対応するような、（たとえば、所定の規則及び／またはポーズのテンプレートに従って）対象のアウトラインのグルーピングのさらなる識別を行うことができる。たとえば、ロボットシステム１００は、対象のラインにわたり、色、輝度、深さ／位置、またはそれらの組合せにおけるパターン（たとえば、同じ値であるか、既知の割合／パターンで変化する）に対応する、対象のアウトラインのグルーピングを識別することができる。また、たとえば、ロボットシステム１００は、マスターデータにおいて規定された所定の形状／ポーズのテンプレートに従って、対象のアウトラインのグルーピングを識別することができる。
【００５９】
ピックアップ位置で認識された対象から、ロボットシステム１００は、ターゲットとなる対象１１２として、（たとえば、所定のシークエンスまたは規則のセット、及び／または、対象のアウトラインのテンプレートに従って）１つを選択することができる。たとえば、ロボットシステム１００は、（ソーススキャナ４１２の既知の位置に対する距離／位置を示す）ポイントクラウドに従うなどして、頂部に位置する対象として、ターゲットとなる対象１１２を選択することができる。また、たとえば、ロボットシステム１００は、角／縁部に位置し、撮像結果に露出する／示される、２つ以上の表面を有する対象として、ターゲットとなる対象１１２を選択することができる。さらに、ロボットシステム１００は、所定のパターン（たとえば、基準位置に対し、左から右へ、もっとも近くからもっとも遠くへなど）に従って、ターゲットとなる対象１１２を選択することができる。
【００６０】
選択されたターゲットとなる対象１１２に関し、ロボットシステム１００は、スタート位置１１４及び／または最初のポーズを判定するために、撮像結果をさらに処理することができる。たとえば、ロボットシステム１００は、複数の所定のポーズのテンプレート（たとえば、対応する対象の向きに係る、対象のアウトラインの、異なる、可能性のある配置）から、対象のアウトラインのグルーピングと比較した際の、もっとも少ない差異の測定に対応するものの選択に基づき、ターゲットとなる対象１１２の最初のポーズを判定することができる。また、ロボットシステム１００は、撮像結果の中のターゲットとなる対象１１２の位置（たとえば、判定されたポーズに関する所定の基準ポイント）を、ロボットシステム１００によって使用されるグリッド内の位置へ変換することにより、スタート位置１１４を判定することができる。ロボットシステム１００は、所定の較正マップに従って位置を変換することができる。
【００６１】
いくつかの実施形態では、ロボットシステム１００は、ドロップエリアの撮像結果を処理して、対象間のあいているスペースを判定することができる。ロボットシステム１００は、画像の位置を、現実の位置及び／またはシステムによって使用される座標に変換する所定の較正マップに従って、対象のラインをマッピングすることに基づいて、前記あいているスペースを判定することができる。ロボットシステム１００は、異なるグルーピング／対象に属する対象のライン（そしてひいては、対象の表面）間の空間として、あいているスペースを判定することができる。いくつかの実施形態では、ロボットシステム１００は、あいているスペースの１つまたは複数の寸法を測定し、測定された寸法をターゲットとなる対象１１２の１つまたは複数の寸法（たとえば、マスターデータに記憶されているようなもの）と比較することに基づいて、ターゲットとなる対象１１２にとって適切なあいているスペースを判定することができる。ロボットシステム１００は、所定のパターン（たとえば、基準位置に対し、左から右へ、もっとも近くからもっとも遠くへ、底部から頂部へなど）に従って、適切な／あいているスペースの１つを、作業位置１１６として選択することができる。
【００６２】
いくつかの実施形態では、ロボットシステム１００は、撮像結果を処理せずにまたは処理することに加えて、作業位置１１６を判定することができる。たとえば、ロボットシステム１００は、エリアを撮像することなく、所定の動作のシークエンス及び位置に従って、配置エリアに対象を配置することができる。また、たとえば、ロボットシステム１００は、複数の作業（たとえば、スタックの共通の層／列に位置する対象に関するものなど、複数の対象を移動すること）を実施するために、撮像結果を処理することができる。
【００６３】
ブロック５０６では、ロボットシステム１００は、ターゲットとなる対象１１２に関する図４の作業４０２を実行するためのベースとなるプラン（たとえば、図４のベースとなるモーションプラン４２２）を計算することができる。たとえば、ロボットシステム１００は、図３Ａ／図３Ｂのロボットアーム３０４、及び／または、エンドエフェクタ（たとえば、図３Ａのグリッパ３０２、及び／または、図３Ｂのグリッパ３５２）を操作する、図２の作動デバイス２１２に関して、コマンドもしくは設定のシークエンスまたはそれらの組合せを計算することに基づいて、ベースとなるモーションプラン４２２を計算することができる。いくつかの作業に関し、ロボットシステム１００は、ロボットアーム３０４及び／またはエンドエフェクタを操縦して、ターゲットとなる対象１１２をスタート位置１１４から作業位置１１６に移動する、シークエンス及び設定値を計算することができる。ロボットシステム１００は、１つまたは複数の規制、ゴール、及び／または規則に従って、空間内の経路を計算するように構成されたモーションプランメカニズム（たとえば、処理、機能、方程式、アルゴリズム、コンピュータで生成された／読取り可能なモデル、またはそれらの組合せ）を実施することができる。たとえば、ロボットシステム１００は、ターゲットとなる対象１１２をスタート位置１１４から作業位置１１６に移動するために、空間を通る経路を計算するように、Ａ＊アルゴリズム、Ｄ＊アルゴリズム、及び／または他のグリッドに基づく検索を使用することができる。モーションプランメカニズムは、さらなる処理、機能、もしくは方程式、及び／または移行テーブルを使用して、経路を、作動デバイス２１２に関するコマンドもしくは設定のシークエンス、またはそれらの組合せに変換することができる。モーションプランメカニズムを使用する際、ロボットシステム１００は、ロボットアーム３０４及び／またはエンドエフェクタを操作し、ターゲットとなる対象１１２に計算された経路をたどらせる、シークエンスを計算することができる。
【００６４】
ブロック５０８では、ロボットシステム１００は、ベースとなるプランの実行を開始することができる。ロボットシステム１００は、コマンドもしくは設定、またはそれらの組合せのシークエンスに従って作動デバイス２１２を操作することに基づいて、ベースとなるモーションプラン４２２の実行を開始することができる。ロボットシステム１００は、ベースとなるモーションプラン４２２の第１の動作セットを実行することができる。たとえば、ロボットシステム１００は、ブロック５５２に示すように、ターゲットとなる対象１１２をグリップするために、作動デバイス２１２を操作して、エンドエフェクタを、スタート位置１１４周りの計算された位置及び／または向きに配置することができる。ブロック５５４では、ロボットシステム１００は、作動デバイス２１２を操作して、エンドエフェクタ（たとえば、グリッパ３０２及び／またはグリッパ３５２）に、ターゲットとなる対象１１２と係合及びグリップさせることができる。いくつかの実施形態では、ブロック５５６で示すように、ロボットシステム１００は、エンドエフェクタを所定の距離だけ上に移動することにより、最初の持ち上げを実施することができる。いくつかの実施形態では、ロボットシステム１００は、グリップ動作の数を追跡するために使用される繰り返しカウンタ「ｉ」をリセットするか初期化することができる。
【００６５】
ブロック５１０では、ロボットシステム１００は、確立されたグリップを測定することができる。ロボットシステム１００は、図２の１つまたは複数の接触センサ２２６を使用して、図３Ａ／図３Ｂの接触基準３１２を判定することに基づいて、確立されたグリップを測定することができる。ロボットシステム１００は、ターゲットとなる対象１１２をグリップ（ブロック５５４）した後、及び／または、最初の持ち上げを実施（ブロック５５６）した後など、ベースとなるモーションプラン４２２を実行する間、接触基準３１２を判定することができる。ロボットシステム１００は、ロボットアーム３０４上の１つもしくは複数の位置、エンドエフェクタ上の１つもしくは複数の位置、またはそれらの組合せにおける、力、トルク、圧力、またはそれらの組合せを測定するために、１つまたは複数の接触センサ２２６を使用することにより、接触基準３１２を判定することができる。いくつかの実施形態において、グリッパ３０２（たとえば、図３Ａの吸引カップ３０６を含む、吸引グリッパ）によって確立されたグリップなどに関しては、接触基準３１２は、ターゲットとなる対象１１２の表面に接触して内部に真空状態を保持する吸引カップ３０６の量、位置、またはそれらの組合せに対応することができる。いくつかの実施形態において、グリッパ３５２（たとえば、図３Ｂのグリッパ顎部３５６を含む、衝撃性のグリッパ）によって確立されたグリップなどに関しては、接触基準３１２は、グリッパ顎部３５６に対するターゲットとなる対象１１２のシフトに対応することができる。
【００６６】
決定ブロック５１２では、ロボットシステム１００は、測定されたグリップを閾値（たとえば、最初のグリップ閾値）と比較することができる。たとえば、ロボットシステム１００は、接触基準３１２を所定の閾値と比較することができる。換言すると、ロボットシステム１００は、接触／グリップが、ターゲットとなる対象１１２の操縦（たとえば、持ち上げ、移動、及び／または再度の方向付け）を続けるのに十分であるかどうかを判定することができる。
【００６７】
測定されたグリップが、閾値を満たさない場合、ロボットシステム１００は、決定ブロック５１４に示すように、ターゲットとなる対象１１２を再度グリップすることに関する繰り返しのカウントが、繰り返しの閾値に達したかどうかを評価することができる。繰り返しのカウントが繰り返しの閾値未満である間、ロボットシステム１００は、接触基準３１２が閾値を満たさない（たとえば、閾値未満である）場合、ベースとなるモーションプラン４２２から外れることができる。したがって、ブロック５２０において、ロボットシステム１００は、ロボットアーム３０４及び／またはエンドエフェクタを操作して、ベースとなるモーションプラン４２２には含まれていない、再度グリップする動作を実行することができる。たとえば、再度グリップする動作には、ロボットアーム３０４に、エンドエフェクタを下げさせる（たとえば、最初の持ち上げの逆）、及び／または、エンドエフェクタに、ターゲットとなる対象１１２を開放させ、ターゲットとなる対象１１２を再度グリップさせる、作動デバイス２１２に関するコマンドもしくは設定の所定のシークエンス、またはそれらの組合せを含むことができる。いくつかの実施形態では、所定のシークエンスにより、ターゲットとなる対象を開放した後、かつ、ターゲットとなる対象を再度グリップする前に、グリッパの位置を調整するように、ロボットアーム３０４をさらに操作することができる。再度グリップする動作を実施する際に、ロボットシステム１００は、ベースとなるモーションプラン４２２の実行を中断することができる。再度グリップする動作を実行した後に、ロボットシステム１００は、繰り返しのカウントを増大させることができる。
【００６８】
対象を再度グリップした後に、ロボットシステム１００は、ブロック５１０に関して上述したように、確立されたグリップを測定し、ブロック５１２に関して上述したように、確立されたグリップを評価することができる。ロボットシステム１００は、繰り返しのカウントが繰り返しの閾値に達するまで、上述のターゲットとなる対象１１２をグリップし直すように試みることができる。繰り返しのカウントが繰り返しの閾値に達すると、ロボットシステム１００は、ブロック５１６に示すように、ベースとなるモーションプラン４２２の実行を停止することができる。いくつかの実施形態では、ロボットシステム１００は、ブロック５１８に示すように、オペレータの入力を要請することができる。たとえば、ロボットシステム１００は、図２の通信デバイス２０６及び／または図２の入力−出力デバイス２０８を介して、オペレータに対する通知（たとえば、所定のメッセージ）を生成することができる。ロボットシステム１００は、オペレータの入力に従って、作業４０２及び／またはベースとなるモーションプラン４２２を処理することができる。いくつかの実施形態では、ロボットシステム１００は、ベースとなるモーションプラン４２２をキャンセルまたは削除するか、対応する作業４０２に関する所定の状態（たとえば、エラーコード）を記録するか、または、それらの組合せを実行するかすることができる。いくつかの実施形態では、ロボットシステム１００は、上述のような、ピックアップ／作業エリアの撮像（ブロック５０２）、及び／または、ターゲットとなる対象としてのピックアップエリア内の別のアイテムの識別（ブロック５０４）により、処理を再開することができる。
【００６９】
測定されたグリップが閾値を満たすと、ロボットシステム１００は、ブロック５２２に示すように、ベースとなるモーションプラン４２２の残りの部分／動作の実行を継続することができる。同様に、接触基準３１２が、ターゲットとなる対象１１２を再度グリップした後に、閾値を満たした場合、ロボットシステム１００は、中断されたベースとなるモーションプラン４２２の実行を再開することができる。したがって、ロボットシステム１００は、コマンド及び／または設定の残りのシークエンスに従って、図２の作動デバイス２１２及び／または移送モータ２１４を操作することにより、ベースとなるモーションプラン４２２のシークエンス化された動作（すなわち、グリップ及び／または最初の持ち上げの後の動作）の実行を継続することができる。たとえば、ロボットシステム１００は、ベースとなるモーションプラン４２２に従って、ターゲットとなる対象１１２を移送（たとえば、垂直及び／または水平に移送）及び／または再度方向付けることができる。
【００７０】
ベースとなるモーションプラン４２２を実行している間は、ロボットシステム１００は、ターゲットとなる対象１１２の現在の位置４２４及び／または現在の向きを追跡することができる。ロボットシステム１００は、ロボットアーム３０４及び／またはエンドエフェクタの１つまたは複数の位置を特定するように、図２の位置センサ２２４からの出力に従って、現在の位置４２４を追跡することができる。いくつかの実施形態では、ロボットシステム１００は、コンピュータで生成されたモデル、処理、方程式、位置マップ、またはそれらの組合せを伴って、位置センサ２２４の出力を処理することにより、現在の位置４２４を追跡することができる。したがって、ロボットシステム１００は、ジョイント及び構造的部材の位置または向きを組み合わせ、その位置をグリッドにさらにマッピングして、現在の位置４２４を計算及び追跡することができる。いくつかの実施形態では、ベースとなるモーションプラン４２２は、マルチラテレーションシステムを使用することができる。たとえば、ロボットシステム１００は、複数のビーコン源を含むことができる。ロボットシステム１００は、ロボットアーム３０４及び／またはエンドエフェクタの１つまたは複数の位置でビーコン信号を測定し、測定値（たとえば、信号強度、タイムスタンプもしくは伝播遅れ、及び／または位相シフト）を使用して、信号源と測定位置との間の分離距離を計算することができる。ロボットシステム１００は、信号源の既知の位置に分離距離をマッピングし、信号の受信位置の現在の位置を、マッピングされた分離距離がオーバーラップする位置として計算することができる。
【００７１】
決定ブロック５２４では、ロボットシステム１００は、ベースとなるプランが、終了まで完全に実行されたかを判定することができる。たとえば、ロボットシステム１００は、ベースとなるモーションプラン４２２の動作のすべて（たとえば、コマンド及び／または設定）が完了したかどうかを判定することができる。また、ロボットシステム１００は、現在の位置４２４が作業位置１１６にマッチした際に、ベースとなるモーションプラン４２２が完了したことを判定することができる。ロボットシステム１００がベースとなるプランの実行を完了した場合、ロボットシステム１００は、上述のような、ピックアップ／作業エリアの撮像（ブロック５０２）、及び／または、ターゲットとなる対象としてのピックアップエリア内の別のアイテムの識別（ブロック５０４）により、処理を再開することができる。
【００７２】
そうでなければ、ブロック５２６において、ロボットシステム１００は、ターゲットとなる対象１１２の移行の間、グリップを（すなわち、接触基準３１２を判定することにより）測定することができる。換言すると、ロボットシステム１００は、ベースとなるモーションプラン４２２を実行する間、接触基準３１２を判定することができる。いくつかの実施形態では、ロボットシステム１００は、サンプリング周期に従って、または所定の時間に、接触基準３１２を判定することができる。いくつかの実施形態では、ロボットシステム１００は、所定の数のコマンドまたは設定を作動デバイス２１２で実行する前及び／または後に、接触基準３１２を判定することができる。たとえば、ロボットシステム１００は、持ち上げまたは回転など、特定のカテゴリの動きの後または間に、接触センサ２２６をサンプリングすることができる。また、たとえば、ロボットシステム１００は、加速度計の出力の方向及び／または大きさが、急激又は迅速な動きを示す所定の閾値にマッチする又は超えた場合、接触センサ２２６をサンプリングすることができる。ロボットシステム１００は、（たとえば、ブロック５１０に関する）上述の１つまたは複数のプロセスを使用して、接触基準３１２を判定することができる。
【００７３】
いくつかの実施形態では、ロボットシステム１００は、グリッパ及び／またはターゲットとなる対象１１２の向きを判定し、それに応じて接触基準を調整することができる。ロボットシステム１００は、接触センサに関する検知方向と、向きに応じてターゲットとなる対象に印加される重力との間の方向関係に対処（account for）するために、向きに基づいて接触基準を調整することができる。たとえば、ロボットシステム１００は、検知方向と、向きに応じた基準方向（たとえば、「下」または重力の方向）との間の角度を計算することができる。ロボットシステム１００は、計算された角度に対応する因子及び／またはサインに応じて、接触基準をスケーリング又は複数倍にすることができる。
【００７４】
決定ブロック５２８では、ロボットシステム１００は、測定されたグリップを閾値（たとえば、移行グリップ閾値）と比較することができる。いくつかの実施形態では、移行グリップ閾値は、ターゲットとなる対象１１２上の最初の（たとえば、移行前の）グリップを評価することに関する最初のグリップ閾値以下とすることができる。したがって、ロボットシステム１００は、ターゲットとなる対象１１２の移送を開始する前に、グリップの評価に関するより厳格な規則を施行することができる。グリップに関する閾値の要件は、ターゲットとなる対象１１２をピックアップするのに十分な接触が、ターゲットとなる対象１１２を移送するのに十分であると考えられることから、最初はより高くすることができる。
【００７５】
測定されたグリップが閾値を満たす（たとえば、閾値以上である）と、ロボットシステム１００は、ブロック５２２に示して上述したように、ベースとなるプランの実行を継続することができる。測定されたグリップが、閾値を満たさない（たとえば、閾値未満である）場合、ロボットシステム１００は、ベースとなるモーションプラン４２２から外れ、ブロック５３０において示したような１つまたは複数の応答性の動作を実行することができる。したがって、測定されたグリップが、閾値に照らして、不十分である場合、ロボットシステム１００は、ベースとなるモーションプラン４２２には含まれていないコマンド及び／または設定に従って、ロボットアーム３０４、エンドエフェクタ、またはそれらの組合せを操作することができる。いくつかの実施形態では、ロボットシステム１００は、現在の位置４２４に基づき、異なるコマンド及び／または設定を実行することができる。
【００７６】
図示の目的のために応答性の動作は、制御されたドロップを使用して記載される。しかし、ロボットシステム１００は、ブロック５１６で示したように、ベースとなるモーションプラン４２２の実行を停止すること、及び／または、ブロック５１８で示したように、オペレータの入力を要請することなどにより、他の動作を実行することができることを理解されたい。
【００７７】
制御されたドロップには、制御された方式で（すなわち、ターゲットとなる対象１１２の下降及び／または開放に基づくものであり、グリップの完全な欠落の結果ではない）、ドロップエリアの１つに（たとえば、作業位置１１６の代わりに）、ターゲットとなる対象１１２を配置するための１つまたは複数の動作が含まれている。制御されたドロップの実行において、ロボットシステム１００は、動的に（すなわち、リアルタイムで、及び／または、ベースとなるモーションプラン４２２を実行している間に）、現在の位置４２４に従って、異なる位置、動きもしくは経路、及び／または作動デバイスのコマンドまたは設定を計算することができる。
【００７８】
ブロック５６２では、ロボットシステム１００は、図４の調整されたドロップ位置４４２、及び／または、ターゲットとなる対象１１２を配置するための関連するポーズを計算することができる。調整されたドロップ位置４４２を計算する際に、ロボットシステム１００は、現在の位置４２４の最寄り及び／または前方（たとえば、現在の位置４２４と作業位置１１６との間）のドロップエリア（たとえば、図４の供給元のドロップエリア４３２、図４の目的地のドロップエリア４３４、または、図４の移行ドロップエリア４３６）を識別することができる。ロボットシステム１００は、ドロップエリアを規定する境界に対し、現在の位置４２４を比較することに基づいて、適切なドロップエリアを識別することができる。いくつかの実施形態では、現在の位置４２４がドロップエリアの１つにある場合（たとえば、ターゲットとなる対象１１２が依然として供給源のパレット／大箱、または、ターゲットのパレット／大箱の上にある場合など）、ロボットシステム１００は、現在の位置４２４として、調整されたドロップ位置４４２を計算することができる。いくつかの実施形態では、現在の位置４２４がドロップエリアの１つにある場合、ロボットシステム１００は、ターゲットとなる対象１１２を共用の回廊から離れて配置するなどのために、現在の位置４２４に対する所定のオフセット距離及び／または方向を付加することに基づいて、調整されたドロップ位置４４２を計算することができる。
【００７９】
また、現在の位置４２４がドロップエリア間にある（すなわち、ドロップエリアにない）場合、ロボットシステム１００は、ドロップエリアまでの距離（たとえば、ドロップエリアに関する代表的な基準位置までの距離）を計算することができる。したがって、ロボットシステム１００は、現在の位置４２４の最寄り、及び／または、現在の位置４２４の前方のドロップエリアを識別することができる。識別されたドロップエリアに基づき、ロボットシステム１００は、調整されたドロップ位置４４２として、その内部の位置を計算することができる。いくつかの実施形態では、ロボットシステム１００は、所定の順番（たとえば、基準位置に対し、左から右へ、底部から頂部へ、及び／または、前方から後方へ）に従って位置を選択することに基づき、調整されたドロップ位置４４２を計算することができる。
【００８０】
いくつかの実施形態では、ロボットシステム１００は、現在の位置４２４からドロップエリア内のあいているスペース（たとえば、ブロック５０４で識別されるもの、及び／または、対象の進行中の配置に従って追跡されるもの）までの距離を計算することができる。ロボットシステム１００は、調整されたドロップ位置４４２として、現在の位置４２４の前方、及び／または、現在の位置４２４の最寄りのあいているスペースを選択することができる。
【００８１】
いくつかの実施形態では、ドロップエリア及び／またはあいているスペースを選択する前に、ロボットシステム１００は、所定のプロセス及び／または方程式を使用して、接触基準３１２を最大の移送距離に変換することができる。たとえば、所定のプロセス及び／または方程式は、接触基準３１２の様々な値に基づき、完全にグリップが失われる前に、対応する最大の移送距離及び／または持続時間を見積もる。したがって、ロボットシステム１００は、現在の位置４２４からの最大の移送距離より離れた、利用可能なドロップエリア及び／またはあいているスペースをフィルタリングすることができる。いくつかの実施形態では、ロボットシステム１００が、利用可能なドロップエリア及び／またはあいているスペースを識別できなかった場合（たとえば、アクセス可能なドロップエリアが満杯である場合）、ロボットシステム１００は、ブロック５１６で示すように、ベースとなるモーションプラン４２２の実行を停止し、及び／または、ブロック５１８で示すように、オペレータの入力を申請することができる。
【００８２】
ブロック５６６では、ロボットシステム１００は、ターゲットとなる対象１１２を現在の位置４２４から、調整されたドロップ位置４４２に移送するために、調整されたモーションプラン４４４を計算することができる。ロボットシステム１００は、ブロック５０６に関して上述した方法と同様の方法で、調整されたモーションプラン４４４を計算することができる。たとえば、ロボットシステム１００は、Ａ＊またはＤ＊を使用して、現在の位置４２４から、調整されたドロップ位置４４２までの経路を計算し、作動デバイス２１２に関し、その経路をコマンドもしくは設定、またはそれらの組合せのシークエンスに変換することができる。作動デバイス２１２は、ロボットアーム３０４及び／またはエンドエフェクタを操作して、ターゲットとなる対象１１２がその経路を辿るように動かす。
【００８３】
ブロック５６８では、ロボットシステム１００は、ベースとなるモーションプラン４２２に加えて、及び／または代わりに、調整されたモーションプラン４４４を実行することができる。たとえば、ロボットシステム１００は、コマンドもしくは設定、またはそれらの組合せのシークエンスに応じて、作動デバイス２１２を操作することができ、それにより、ロボットアーム３０４及び／またはエンドエフェクタを動かして、ターゲットとなる対象１１２を経路に沿って移動させる。
【００８４】
いくつかの実施形態では、ロボットシステム１００は、ベースとなるモーションプラン４２２の実行を停止し、調整されたモーションプラン４４４を実行することができる。ターゲットとなる対象１１２が、調整されたモーションプラン４４４の実行に基づき、調整されたドロップ位置４４２に配置される（すなわち、制御されたドロップの実行が完了する）と、いくつかの実施形態では、ロボットシステム１００は、ブロック５２０に関して上述したように、ターゲットとなる対象１１２を再度グリップし、次いで、ブロック５１０に関して上述したように、確立されたグリップを測定することを試みることができる。いくつかの実施形態では、ロボットシステム１００は、上述のように、繰り返しの限界まで、ターゲットとなる対象１１２をグリップし直すことを試みることができる。接触基準３１２が最初のグリップ閾値を満たす場合、ロボットシステム１００は、調整されたモーションプラン４４４を逆転し（たとえば、中断されたポイント／位置に戻り）、中断されたベースとなるモーションプラン４２２の残りの部分の実行を続けることができる。いくつかの実施形態では、ロボットシステム１００は、調整されたモーションプラン４４４を、現在の位置４２４（再グリップの後）から作業位置１１６にアップデート及び再計算し、調整されたモーションプラン４４４を実行して、作業４０２の実行を完了することができる。
【００８５】
いくつかの実施形態では、ブロック５７０において、ロボットシステム１００は、アクセスされたドロップエリアに関するエリアログ（たとえば、あいているスペース及び／または配置された対象の記録）をアップデートして、配置されたターゲットとなる対象１１２を反映することができる。たとえば、ロボットシステム１００は、対応するドロップエリアに関し、撮像結果を生成し直すことができる。いくつかの実施形態では、ロボットシステム１００は、調整されたドロップ位置４４２における、制御されたドロップの実行、及び、ターゲットとなる対象１１２の配置の後に、ベースとなるモーションプラン４２２の残りの動作をキャンセルすることができる。１つまたは複数の実施形態では、移行ドロップエリア４３６は、図１の輸送ユニット１０６の１つの頂部に置かれたパレットまたは大箱を含むことができる。指定された時間において（たとえば、パレット／大箱が満杯である場合、及び／または、続いて来るパレット／大箱が遅れている場合）、対応する輸送ユニットは、ドロップエリアからピックアップエリアに移動することができる。したがって、ロボットシステム１００は、方法５００を再度実施することができ、それにより、ターゲットとなる対象１１２としてドロップされたアイテムを再度識別し、それらアイテムを対応する作業位置１１６に移送する。
【００８６】
ターゲットとなる対象１１２が調整されたドロップ位置４４２に配置されると、ロボットシステム１００は、新たなターゲットとなる対象に関し、方法５００を繰り返すことができる。たとえば、ロボットシステム１００は、ピックアップエリアにある次の対象を、ターゲットとなる対象１１２として判定し、新たなターゲットとなる対象を移送するために新たなベースとなるモーションプランを計算するなどすることができる。
【００８７】
いくつかの実施形態では、ロボットシステム１００は、接触基準３１２に基づいて経路計算メカニズムをアップデートするフィードバックメカニズムを含むことができる。たとえば、ロボットシステム１００が、ターゲットとなる対象１１２を、（たとえば、ブロック５２０に関して上述したように）調整された位置でグリップし直す動作を実施すると、ロボットシステム１００は、（たとえば、ブロック５１２に関して上述したように）閾値を満たす接触基準３１２を生成した、エンドエフェクタの位置を記憶することができる。ロボットシステム１００は、ターゲットとなる対象１１２に関する位置を記憶することができる。ロボットシステム１００は、グリップの欠落及び／または成功した再グリップの動作の数が閾値に達した場合、ターゲットとなる対象１１２をグリップし直すために、（たとえば、最近の動作のセットを分析するための実行ウインドウを使用して）記憶された位置を分析することができる。所定の数の再グリップの動作が、特定の対象に関して生じた場合、ロボットシステム１００は、ターゲットとなる対象１１２に対する新たな位置（たとえば、もっとも多い成功数に対応する位置）にグリッパを配置するように、モーションプランメカニズムを更新することができる。
【００８８】
ブロック５１０及び／またはブロック５２６に示す動作に基づき、ロボットシステム１００（たとえば、プロセッサ２０２を介する）は、ベースとなるモーションプラン４２２の実行の進捗を追跡することができる。いくつかの実施形態では、ロボットシステム１００は、ターゲットとなる対象１１２の水平移動に係る進捗を追跡することができる。たとえば、図５に示すように、ロボットシステム１００は、水平移動を開始する前の確立されたグリップの測定（ブロック５１０）に基づくとともに、水平移動を開始した後の移動の間のグリップの測定（ブロック５２６）に基づいて、進捗を追跡することができる。したがって、ロボットシステム１００は、アクチュエータコマンド、アクチュエータ設定、またはそれらの組合せの新たなセット（すなわち、ベースとなるモーションプラン４２２とは異なる）を上述のような進捗に基づき、選択的に生成することができる。
【００８９】
他の実施形態では、たとえば、ロボットシステム１００は、作動デバイス２１２によって通信及び／または実施されたコマンド、設定、またはそれらの組合せの追跡に基づき、進捗を追跡することができる。進捗に基づき、ロボットシステム１００は、再グリップの応答動作及び／または制御されたドロップの応答動作を実行するように、アクチュエータコマンド、アクチュエータ設定、またはそれらの組合せの新たなセットを選択的に生成することができる。たとえば、進捗が、ターゲットとなる対象１１２の任意の水平移動の前である場合、ロボットシステム１００は、最初のグリップ閾値を選択し、（たとえば関数呼び出しまたはジャンプ命令を介して）ブロック５１２及びその先に示された操作を実行することができる。また、進捗が、ターゲットとなる対象１１２の水平移動の後である場合、ロボットシステム１００は、移行グリップ閾値を選択し、（たとえば関数呼び出しまたはジャンプ命令を介して）ブロック５２８及びその先に示された操作を実行することができる。
【００９０】
接触基準３１２に係る、ターゲットとなる対象１１２について粒度の細かい制御／操縦の実施（すなわち、ベースとなるモーションプラン４２２の実施またはそれから外れることの選択）により、対象を移送することに関する効率、速度、及び精度が向上する。たとえば、接触基準３１２が最初のグリップ閾値未満である場合、ターゲットとなる対象１１２をグリップし直すことにより、移送の間にグリップの欠落が生じる可能性が低減され、これにより、移送の間に失われる又は意図せずにドロップする対象の数が低減される。さらに、失われた対象の各々は、結果を修正するために、人間の干渉が必要である（たとえば、失われた対象を、次の作業のために、モーションの経路から移動する、損害のために失われた対象を調査する、及び／または失われた対象に関する作業を完了する）。このため、失われた対象の数を低減することにより、作業及び／または全体の操作を実施するために必要な人間の労力が低減される。
【００９１】
さらに、接触基準３１２が移行グリップ閾値未満である場合、ターゲットとなる対象１１２を指定されたエリアに置くことにより、追跡されていない障害及び損傷したアイテムの数が低減される。調整されたドロップ位置４４２の計算、及び、制御されたドロップの実行に基づき、ターゲットとなる対象１１２は、既知の位置に置くことができる。したがって、ランダムな追跡されない位置になる失われた対象の数は低減され、これにより、失われた対象が、後の作業の実行をブロックする又は妨げる位置となる可能性がさらに低減される。さらに、ロボットシステム１００は、上述のように調整されたドロップ位置４４２を計算する際に、頻繁に使用される経路のセグメントを避けることができ、それにより、不十分なグリップの衝撃がさらに低減される。さらに、ターゲットとなる対象１１２が、はずみで、ある高さから落とされる代わりに、制御された方式で配置されることから、ターゲットとなる対象１１２は、より少ない力で配置場所に接触する。したがって、制御されたドロップを実行することにより、対象の損失によって生じる損傷が大きく低減される。
【００９２】
まとめ
開示の技術の実施例の上述の発明を実施するための形態は、排他的であるか、開示の技術を上記に開示の明確な形態に限定されることは意図されていない。開示の技術に関する特定の実施例が、説明の目的のために上述されているが、様々な均等の変形形態が、当業者が認識することになるように、開示の技術の範囲内で可能である。たとえば、プロセスまたはブロックが所与の順番で提供されているが、代替的な実施態様により、異なる順番で、ステップを有するルーチンを実施するか、ブロックを有するシステムを採用する場合があり、また、いくつかのプロセスまたはブロックは、削除、移動、追加、細分化、結合、及び／または変形されて、代替的またはサブの組合せを提供する場合がある。これらプロセスまたはブロックの各々は、様々な異なる方法で実施される場合がある。また、プロセスまたはブロックが、図示の時点で、連続して実施されるものであるが、これらプロセスまたはブロックは、代わりに、並行して実施されるか実行される場合があり、あるいは、異なる時間に実施される場合がある。さらに、本明細書に示されたあらゆる特定の数は、実施例にすぎず、代替的実施態様では、異なる値またはレンジが採用される場合がある。
【００９３】
これら及び他の変更は、上述の発明を実施するための形態に照らして、開示の技術に行うことができる。発明を実施するための形態には、開示の技術の特定の実施例と、想定されるベストモードとが記載されているが、開示の技術は、上述の説明が、テキストにおいてどれだけ詳細に示されるかに関わらず、多くの方法で実施することができる。本システムの詳細は、その特定の実施態様において、著しく変化する場合があるが、依然として、本明細書に開示の技術に包含されている。上述のように、開示の技術の特定の特徴または態様を記載する際に使用された特定の用語は、その用語が、用語が関連付けられた開示の技術の特定の特性、特徴、または態様のいずれにも限定されるように本明細書で再定義されることを暗示するものとは取られないものとする。したがって、本発明は、添付の特許請求の範囲によるものを除き、限定されない。概して、添付の特許請求の範囲で使用される用語は、上述の発明を実施するための形態のセクションが、そのような用語を明示的に規定していない限り、開示の技術を、明細書に開示の特定の実施例に制限するようには解釈されないものとする。
【００９４】
本発明の特定の態様が、特定の特許請求の範囲の形態で添付のように与えられているが、本出願人は、任意の数の請求項の形態で、本発明の様々な態様を想定している。したがって、本出願人は、本出願または継続出願において、本出願を出願した後に、さらなる特許請求の範囲を実行する権利を留保して、そのような追加の請求項の形態を実行する。
【図１】
2020116726.tif 000003
【図２】
2020116726.tif 000004
【図３Ａ】
2020116726.tif 000005
【図３Ｂ】
2020116726.tif 000006
【図４】
2020116726.tif 000007
【図５】
2020116726.tif 000008
【手続補正書】
【提出日】令和1年10月8日(2019.10.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ターゲットとなる対象をグリップするためのグリッパと、前記グリッパを操縦するためのロボットアームとを含む移送ロボットの操作方法であって、
ベースとなるモーションプランを計算することであって、前記ベースとなるモーションプランが、前記ロボットアーム及び前記グリッパを操作して、前記ターゲットとなる対象をスタート位置から作業位置に移送するように構成された、アクチュエータコマンド、アクチュエータ設定、またはそれらの組合せの第１のセットを含む、前記計算することと、
前記ベースとなるモーションプランを実行している間、前記ターゲットとなる対象の現在の位置を追跡することと、
前記ベースとなるモーションプランを実行している間、接触基準を受領することであって、前記接触基準が、前記ターゲットとなる対象の水平移動を開始した後に接触センサによって測定された、前記ターゲットとなる対象上の前記グリッパのグリップの量を示している、前記受領することと、
前記接触基準が移行グリップ閾値を満たしていないことを判定することと、
前記判定に基づき、前記ベースとなるモーションプランから外れた、調整されたモーションプランを計算することと、を含み、
前記調整されたモーションプランは、
前記現在の位置に基づき、ドロップエリアを選択することであって、前記ドロップエリアが、供給元のドロップエリア、目的地のドロップエリア、移行ドロップエリア、またはそれらの組合せから選択される、前記選択することと、
前記接触基準が前記移行グリップ閾値未満であると判定された後に、前記選択されたドロップエリアにおいて、調整されたドロップ位置を計算することと、
前記ターゲットとなる対象を前記現在の位置から前記調整されたドロップ位置に移送するために、調整されたモーションプランを計算することであって、前記調整されたドロップ位置が前記作業位置と異なっている、前記計算することと、
を含む、制御されたドロップに対応する、アクチュエータコマンド、アクチュエータ設定、またはそれらの組合せの第２のセットを含む、方法。
【請求項２】
前記ベースとなるモーションプランを実行している間、前記グリッパの向きを追跡することと、
前記接触センサに関する検知方向と、前記向きに応じて前記ターゲットとなる対象に印加される重力との間の方向関係に対処するために、前記向きに基づいて前記接触基準を調整することと、
をさらに含む、請求項１に記載の方法。
【請求項３】
前記ドロップエリアを選択することは、
前記現在の位置が前記供給元のドロップエリア及び前記目的地のドロップエリアの外にあることを判定することと、
前記ターゲットとなる対象を、前記作業位置の代わりに、前記移行ドロップエリア内に意図的に配置するように、前記判定に基づいて前記移行ドロップエリアを選択することと、
を含む、請求項１に記載の方法。
【請求項４】
前記ドロップエリアを選択することは、
前記現在の位置が前記供給元のドロップエリア内にあることを判定することであって、前記供給元のドロップエリアが、前記スタート位置を含むコンテナまたはパレットの境界と関連付けられている、前記判定することと、
前記ターゲットとなる対象を前記供給元のドロップエリア内に意図的に配置するように、前記判定に基づいて前記供給元のドロップエリアを選択することと、
を含む、請求項１に記載の方法。
【請求項５】
前記ドロップエリアを選択することは、
前記現在の位置が前記目的地のドロップエリア内にあることを判定することであって、前記目的地のドロップエリアが、前記作業位置を含むコンテナまたはパレットの境界と関連付けられている、前記判定することと、
前記ターゲットとなる対象を前記目的地のドロップエリア内に意図的に配置するように、前記判定に基づいて前記目的地のドロップエリアを選択することと、
を含む、請求項１に記載の方法。
【請求項６】
前記調整されたドロップ位置は、前記スタート位置と前記作業位置との両方と異なり、
前記調整されたモーションプランは、
前記ターゲットとなる対象を前記現在の位置から前記調整されたドロップ位置に移送することと、
前記ターゲットとなる対象を前記調整されたドロップ位置に意図的に配置するように、前記調整されたドロップ位置で、前記グリッパから前記ターゲットとなる対象を開放することと、
を行う、アクチュエータコマンド、アクチュエータ設定、またはそれらの組合せを含む、請求項１に記載の方法。
【請求項７】
前記調整されたモーションプランは、前記制御されたドロップを実行した後に、前記ターゲットとなる対象を前記グリッパでグリップし直す、アクチュエータコマンド、アクチュエータ設定、またはそれらの組合せを含む、請求項１に記載の方法。
【請求項８】
前記制御されたドロップを実行した後に、前記ベースとなるモーションプランの残りの動作をキャンセルすることと、
新たなターゲットとなる対象を判定することと、
前記新たなターゲットとなる対象を移送するために、新たなベースとなるモーションプランを計算することと、
をさらに含む、請求項１に記載の方法。
【請求項９】
前記移行グリップ閾値は、前記ターゲットとなる対象を水平移動する前に前記ターゲットとなる対象を最初にグリップすることに関する最初のグリップ閾値よりも小である、請求項１に記載の方法。
【請求項１０】
前記接触基準を受領することは、前記グリップの量に対応する、力、トルク、圧力、またはそれらの組合せの測定値を受信することを含み、
前記測定値は、前記ロボットアームの１つまたは複数の位置、前記グリッパの１つまたは複数の位置、またはそれらの組合せに関して形成される、請求項１に記載の方法。
【請求項１１】
ターゲットとなる対象をグリップするためのグリッパと、前記グリッパを操縦するためのロボットアームとを含む移送ロボットを操作するためのシステムであって、
一つ又は複数のプロセッサと、
前記一つ又は複数のプロセッサに結合された一つ又は複数のメモリであって、当該一つ又は複数のメモリに記憶された命令を有する一つ又は複数のメモリと、を備え、
前記命令は、前記一つ又は複数のプロセッサによって実行されたときに、前記一つ又は複数のプロセッサに、
ベースとなるモーションプランを計算することであって、前記ベースとなるモーションプランが、前記ロボットアーム及び前記グリッパを操作して、前記ターゲットとなる対象をスタート位置から作業位置に移送するように構成された、アクチュエータコマンド、アクチュエータ設定、またはそれらの組合せの第１のセットを含む、前記計算することと、
前記ベースとなるモーションプランを実行している間、前記ターゲットとなる対象の現在の位置を追跡することと、
前記ベースとなるモーションプランを実行している間、接触基準を受領することであって、前記接触基準が、前記ターゲットとなる対象の水平移動を開始した後に接触センサによって測定された、前記ターゲットとなる対象上の前記グリッパのグリップの量を示している、前記受領することと、
前記接触基準が閾値を満たしていないことを判定することと、
前記判定に基づき、前記ベースとなるモーションプランから外れた、調整されたモーションプランを計算することと、をさせ、
前記調整されたモーションプランは、
前記現在の位置に基づき、ドロップエリアを選択することであって、前記ドロップエリアが、供給元のドロップエリア、目的地のドロップエリア、移行ドロップエリア、またはそれらの組合せから選択される、前記選択することと、
前記接触基準が前記閾値未満であると判定された後に、前記選択されたドロップエリアにおいて、調整されたドロップ位置を計算することと、
前記ターゲットとなる対象を前記現在の位置から前記調整されたドロップ位置に移送するために、調整されたモーションプランを計算することであって、前記調整されたドロップ位置が前記作業位置と異なっている、前記計算することと、
を含む、制御されたドロップに対応する、アクチュエータコマンド、アクチュエータ設定、またはそれらの組合せの第２のセットを含む、システム。
【請求項１２】
前記一つ又は複数のメモリは、
前記グリッパを前記スタート位置の周りに配置すること、及び、前記ターゲットとなる対象を前記グリッパで最初にグリップすることを含む、前記ベースとなるモーションプランの第１の動作セットを実行することと、
前記ターゲットとなる対象を最初にグリップした後に判定された前記接触基準を受領することと、をさせる命令を含み、
前記アクチュエータコマンド、前記アクチュエータ設定、またはそれらの組合せの前記第２のセットは、
前記第１の動作セットを実行した後に、前記接触基準が前記閾値未満である場合に、前記グリッパから前記ターゲットとなる対象を開放することと、
前記ターゲットとなる対象を開放した後に、前記ターゲットとなる対象を前記グリッパで再グリップすることと、
を行うように、前記ロボットアーム、前記グリッパ、またはそれらの組合せを操作するように構成されている、請求項１１に記載のシステム。
【請求項１３】
前記一つ又は複数のメモリは、
前記ターゲットとなる対象を開放した後、かつ、前記ターゲットとなる対象を再グリップする前に、前記グリッパの位置を調整する、位置調整コマンド、位置調整設定、またはそれらの組合せを生成することをさせる命令をさらに含む、請求項１２に記載のシステム。
【請求項１４】
前記一つ又は複数のメモリは、
前記ターゲットとなる対象を再グリップした後に、再グリップの接触基準を受領することと、
前記再グリップの接触基準が、前記閾値を満たしていることを判定することと、
前記判定に基づいて、前記ベースとなるモーションプランを調整することと、をさせる命令をさらに含み、
前記ベースとなるモーションプランは、前記ターゲットとなる対象を前記グリッパの前記調整された位置から前記作業位置に移送するように、前記生成された位置調整コマンド、位置調整設定、またはそれらの組合せに従って調整される、請求項１３に記載のシステム。
【請求項１５】
前記第２のセットは、前記ロボットアーム、前記グリッパ、又はそれらの組み合わせを操作して前記ターゲットとなる対象を再グリップするための、前記アクチュエータコマンド、前記アクチュエータ設定、またはそれらの組合せを有し、
前記一つ又は複数のメモリは、
前記接触基準が前記閾値を満たさない場合、前記ベースとなるモーションプランの実行を中断することと、
前記ターゲットとなる対象を再グリップした後に、再グリップの接触基準を受領することと、
前記再グリップの接触基準が前記閾値を満たす場合に、前記ベースとなるモーションプランの実行を再開することと、
をさせる命令をさらに含む、請求項１１に記載のシステム。
【請求項１６】
前記第２のセットは、前記ロボットアーム、前記グリッパ、又はそれらの組み合わせを操作して前記ターゲットとなる対象を再グリップするための、前記アクチュエータコマンド、前記アクチュエータ設定、またはそれらの組合せを有し、
前記一つ又は複数のメモリは、
前記接触基準が前記閾値を満たさない場合、前記ベースとなるモーションプランの実行を中断することであって、前記接触基準が、前記ターゲットとなる対象の水平移動を開始する前に受領されている、前記中断することと、
繰り返しのカウントが繰り返しの閾値を超えたことを判定することであって、当該判定が、
前記ターゲットとなる対象を再グリップした後に、前記繰り返しのカウントを増大させることと、
前記ターゲットとなる対象を再グリップした後に、再グリップの接触基準を受領することと、
前記再グリップの接触基準が前記閾値を満たしていないことを判定することと、
前記ターゲットとなる対象を再グリップするように、前記再グリップコマンド、再グリップ設定、または組合せを再生成することと、
が反復的に行われることに基づいてなされる、前記判定することと、
前記繰り返しのカウントが前記繰り返しの閾値を超えた場合に、オペレータの入力に関する申請を生成することと、をさらに含む、請求項１１に記載のシステム。
【請求項１７】
前記接触基準は、前記ターゲットとなる対象の表面に接触してその内部に真空状態を保持する前記グリッパの吸引カップの、量、位置、またはそれらの組合せを示している、請求項１１に記載のシステム。
【請求項１８】
前記接触基準は、前記ターゲットとなる対象の対向するポイントに圧縮力を印加するように構成された前記グリッパの顎部に対する、前記ターゲットとなる対象のシフトに対応する、請求項１１に記載のシステム。
【請求項１９】
有形の非一時的なコンピュータ可読媒体であって、前記コンピュータ可読媒体に記憶されたプロセッサ命令を有する有形の非一時的なコンピュータ可読媒体であって、
前記プロセッサ命令は、ロボットシステムにより、その１つまたは複数のプロセッサを介して実行された際に、前記ロボットシステムに、
ベースとなるモーションプランを計算することであって、前記ベースとなるモーションプランが、ロボットアーム及びグリッパを操作して、ターゲットとなる対象をスタート位置から作業位置に移送するように構成された、アクチュエータコマンド、アクチュエータ設定、またはそれらの組合せの第１のセットを含む、前記計算することと、
前記ベースとなるモーションプランを実行している間、前記ターゲットとなる対象の現在の位置を追跡することと、
前記ベースとなるモーションプランを実行している間、接触基準を受領することであって、前記接触基準が、接触センサによって測定された、前記ターゲットとなる対象上の前記グリッパのグリップの量を示している、前記受領することと、
前記接触基準が閾値を満たさないことを判定することと、
前記ベースとなるモーションプランの実行の進捗を追跡することであって、前記進捗が、前記ターゲットとなる対象の水平移動と関連付けられている、前記追跡することと、
前記進捗が前記水平移動の実行に対応することを判定することと、
アクチュエータコマンド、アクチュエータ設定、またはそれらの組合せの第２のセットを、（１）前記接触基準が閾値を満たさないという前記判定、（２）前記進捗、及び（３）前記進捗が前記水平移動の実行に対応するという前記判定に基づいて、選択的に生成することと、
をさせ、
前記第２のセットは、前記現在の位置に従って生成され、
前記第２のセットは、前記ベースとなるモーションプランから外れて、前記ベースとなるモーションプランに含まれない、制御されたドロップを実行するように、前記ロボットアーム、前記グリッパ、またはそれらの組合せを操作するためのものであり、
前記制御されたドロップは、前記作業位置とは異なる位置に前記ターゲットとなる対象を意図的に配置するためのものである、有形の非一時的なコンピュータ可読媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００２
【補正方法】変更
【補正の内容】
【０００２】
多くのロボット（たとえば、自動的に／独立して物理的動作を実行するように構成されたマシン）は、その絶えず向上する性能及び低下するコストにより、現在、多くの分野で広く使用されている。たとえば、ロボットは、製造及び／または組立て、パッキング及び／またはパッケージング、移送及び／または輸送などにおいて、様々な作業（たとえば、空間を通しての対象の操縦または移動）を実行するように使用することができる。作業の実行において、ロボットは、人間の動作を反復することができ、それにより、そうでなければ危険又は反復的な作業を行うことが要求される人間の関与を置き換えたり、低減したりする。
[先行技術文献]
[特許文献１]  特開平５−３１８３５６号公報
【手続補正書】
【提出日】令和2年1月20日(2020.1.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ターゲットとなる対象をグリップするためのグリッパと、前記グリッパを操縦するためのロボットアームとを含む移送ロボットの操作方法であって、
ベースとなるモーションプランを計算することであって、前記ベースとなるモーションプランが、前記ロボットアーム及び前記グリッパを操作して、前記ターゲットとなる対象をスタート位置から作業位置に移送するように構成された、アクチュエータコマンド、アクチュエータ設定、またはそれらの組合せの第１のセットを含む、前記計算することと、
前記ベースとなるモーションプランを実行している間、前記ターゲットとなる対象の現在の位置を追跡することと、
前記ベースとなるモーションプランを実行している間、接触基準を受領することであって、前記接触基準が、前記ターゲットとなる対象の水平移動を開始した後に接触センサによって測定された、前記ターゲットとなる対象上の前記グリッパのグリップの量を示している、前記受領することと、
前記接触基準が移行グリップ閾値を満たしていないことを判定することと、
前記判定に基づき、前記ベースとなるモーションプランから外れた、調整されたモーションプランを計算することと、を含み、
前記調整されたモーションプランは、
前記現在の位置に基づき、ドロップエリアを選択することであって、前記ドロップエリアが、供給元のドロップエリア、目的地のドロップエリア、移行ドロップエリア、またはそれらの組合せから選択される、前記選択することと、
前記接触基準が前記移行グリップ閾値未満であると判定された後に、前記選択されたドロップエリアにおいて、調整されたドロップ位置を計算することと、
前記ターゲットとなる対象を前記現在の位置から前記調整されたドロップ位置に移送するために、調整されたモーションプランを計算することであって、前記調整されたドロップ位置が前記作業位置と異なっている、前記計算することと、
を含む、制御されたドロップに対応する、アクチュエータコマンド、アクチュエータ設定、またはそれらの組合せの第２のセットを含む、方法。
【請求項２】
前記ベースとなるモーションプランを実行している間、前記グリッパの向きを追跡することと、
前記接触センサに関する検知方向と、前記向きに応じて前記ターゲットとなる対象に印加される重力との間の方向関係に対処するために、前記向きに基づいて前記接触基準を調整することと、
をさらに含む、請求項１に記載の方法。
【請求項３】
前記ドロップエリアを選択することは、
前記現在の位置が前記供給元のドロップエリア及び前記目的地のドロップエリアの外にあることを判定することと、
前記ターゲットとなる対象を、前記作業位置の代わりに、前記移行ドロップエリア内に意図的に配置するように、前記判定に基づいて前記移行ドロップエリアを選択することと、
を含む、請求項１に記載の方法。
【請求項４】
前記ドロップエリアを選択することは、
前記現在の位置が前記供給元のドロップエリア内にあることを判定することであって、前記供給元のドロップエリアが、前記スタート位置を含むコンテナまたはパレットの境界と関連付けられている、前記判定することと、
前記ターゲットとなる対象を前記供給元のドロップエリア内に意図的に配置するように、前記判定に基づいて前記供給元のドロップエリアを選択することと、
を含む、請求項１に記載の方法。
【請求項５】
前記ドロップエリアを選択することは、
前記現在の位置が前記目的地のドロップエリア内にあることを判定することであって、前記目的地のドロップエリアが、前記作業位置を含むコンテナまたはパレットの境界と関連付けられている、前記判定することと、
前記ターゲットとなる対象を前記目的地のドロップエリア内に意図的に配置するように、前記判定に基づいて前記目的地のドロップエリアを選択することと、
を含む、請求項１に記載の方法。
【請求項６】
前記調整されたドロップ位置は、前記スタート位置と前記作業位置との両方と異なり、
前記調整されたモーションプランは、
前記ターゲットとなる対象を前記現在の位置から前記調整されたドロップ位置に移送することと、
前記ターゲットとなる対象を前記調整されたドロップ位置に意図的に配置するように、前記調整されたドロップ位置で、前記グリッパから前記ターゲットとなる対象を開放することと、
を行う、アクチュエータコマンド、アクチュエータ設定、またはそれらの組合せを含む、請求項１に記載の方法。
【請求項７】
前記調整されたモーションプランは、前記制御されたドロップを実行した後に、前記ターゲットとなる対象を前記グリッパでグリップし直す、アクチュエータコマンド、アクチュエータ設定、またはそれらの組合せを含む、請求項１に記載の方法。
【請求項８】
前記制御されたドロップを実行した後に、前記ベースとなるモーションプランの残りの動作をキャンセルすることと、
新たなターゲットとなる対象を判定することと、
前記新たなターゲットとなる対象を移送するために、新たなベースとなるモーションプランを計算することと、
をさらに含む、請求項１に記載の方法。
【請求項９】
前記移行グリップ閾値は、前記ターゲットとなる対象を水平移動する前に前記ターゲットとなる対象を最初にグリップすることに関する最初のグリップ閾値よりも小である、請求項１に記載の方法。
【請求項１０】
前記接触基準を受領することは、前記グリップの量に対応する、力、トルク、圧力、またはそれらの組合せの測定値を受信することを含み、
前記測定値は、前記ロボットアームの１つまたは複数の位置、前記グリッパの１つまたは複数の位置、またはそれらの組合せに関して形成される、請求項１に記載の方法。
【請求項１１】
ターゲットとなる対象をグリップするためのグリッパと、前記グリッパを操縦するためのロボットアームとを含む移送ロボットを操作するためのシステムであって、
一つ又は複数のプロセッサと、
前記一つ又は複数のプロセッサに結合された一つ又は複数のメモリであって、当該一つ又は複数のメモリに記憶された命令を有する一つ又は複数のメモリと、を備え、
前記命令は、前記一つ又は複数のプロセッサによって実行されたときに、前記一つ又は複数のプロセッサに、
ベースとなるモーションプランを計算することであって、前記ベースとなるモーションプランが、前記ロボットアーム及び前記グリッパを操作して、前記ターゲットとなる対象をスタート位置から作業位置に移送するように構成された、アクチュエータコマンド、アクチュエータ設定、またはそれらの組合せの第１のセットを含む、前記計算することと、
前記ベースとなるモーションプランを実行している間、前記ターゲットとなる対象の現在の位置を追跡することと、
前記ベースとなるモーションプランを実行している間、移行接触基準を受領することであって、前記移行接触基準が、前記ターゲットとなる対象の水平移動を開始した後に接触センサによって測定された、前記ターゲットとなる対象上の前記グリッパのグリップの量を示している、前記受領することと、
前記移行接触基準が移行グリップ閾値を満たしていないことを判定することと、
前記判定に基づき、前記ベースとなるモーションプランから外れた、調整されたモーションプランを計算することと、をさせ、
前記調整されたモーションプランは、
前記現在の位置に基づき、ドロップエリアを選択することであって、前記ドロップエリアが、供給元のドロップエリア、目的地のドロップエリア、移行ドロップエリア、またはそれらの組合せから選択される、前記選択することと、
前記移行接触基準が前記移行グリップ閾値未満であると判定された後に、前記選択されたドロップエリアにおいて、調整されたドロップ位置を計算することと、
前記ターゲットとなる対象を前記現在の位置から前記調整されたドロップ位置に移送するために、調整されたモーションプランを計算することであって、前記調整されたドロップ位置が前記作業位置と異なっている、前記計算することと、
を含む、制御されたドロップに対応する、アクチュエータコマンド、アクチュエータ設定、またはそれらの組合せの第２のセットを含む、システム。
【請求項１２】
前記アクチュエータコマンド、前記アクチュエータ設定、またはそれらの組合せの前記第２のセットは、
前記調整されたドロップ位置で、前記ターゲットとなる対象を開放することと、
前記調整されたドロップ位置で、前記ターゲットとなる対象を前記グリッパでグリップすることと、
前記ターゲットとなる対象をグリップすることを開始した後に判定された再グリップ接触基準を受領することと、
前記再グリップ接触基準が最初のグリップ閾値未満である場合に、前記グリッパから前記ターゲットとなる対象を開放することと、
前記ターゲットとなる対象を開放した後に、前記ターゲットとなる対象を前記グリッパで再グリップすることと、
を行うように、前記ロボットアーム、前記グリッパ、またはそれらの組合せを操作するように構成されている、請求項１１に記載のシステム。
【請求項１３】
前記一つ又は複数のメモリは、
前記ターゲットとなる対象を開放した後、かつ、前記ターゲットとなる対象を再グリップする前に、前記グリッパの位置を調整する、位置調整コマンド、位置調整設定、またはそれらの組合せを生成することをさせる命令をさらに含む、請求項１２に記載のシステム。
【請求項１４】
前記一つ又は複数のメモリは、
前記ターゲットとなる対象を再グリップした後に、前記再グリップ接触基準を受領することと、
前記再グリップ接触基準が、前記最初のグリップ閾値を満たしていることを判定することと、
前記判定に基づいて、前記ベースとなるモーションプランを調整することと、をさせる命令をさらに含み、
前記ベースとなるモーションプランは、前記ターゲットとなる対象を前記グリッパの前記調整された位置から前記作業位置に移送するように、前記生成された位置調整コマンド、位置調整設定、またはそれらの組合せに従って調整される、請求項１３に記載のシステム。
【請求項１５】
前記一つ又は複数のメモリは、
前記再グリップ接触基準が前記最初のグリップ閾値を満たさない場合、前記ベースとなるモーションプランの実行を中断することと、
前記再グリップ接触基準が前記最初のグリップ閾値を満たす場合に、前記ベースとなるモーションプランを調整した後で実行することと、
をさせる命令をさらに含む、請求項１４に記載のシステム。
【請求項１６】
前記一つ又は複数のメモリは、
前記移行接触基準が前記移行グリップ閾値を満たさない場合、前記ベースとなるモーションプランの実行を中断することと、
繰り返しのカウントが繰り返しの閾値を超えたことを判定することであって、当該判定が、
前記ターゲットとなる対象を再グリップした後に、前記繰り返しのカウントを増大させることと、
前記ターゲットとなる対象を再グリップした後に、再グリップ接触基準を受領することと、
前記再グリップ接触基準が前記移行グリップ閾値を満たしていないことを判定することと、
前記ターゲットとなる対象を前記グリッパから開放することと、
前記ターゲットとなる対象を再グリップすることと、
を行うように、前記アクチュエータコマンド、前記アクチュエータ設定、またはそれらの組合せの前記第２のセットの少なくとも一部を反復的に実行することに基づいてなされる、前記判定することと、
前記繰り返しのカウントが前記繰り返しの閾値を超えた場合に、オペレータの入力に関する申請を生成することと、をさらに含む、請求項１２に記載のシステム。
【請求項１７】
前記移行接触基準は、前記ターゲットとなる対象の表面に接触してその内部に真空状態を保持する前記グリッパの吸引カップの、量、位置、またはそれらの組合せを示している、請求項１１に記載のシステム。
【請求項１８】
前記移行接触基準は、前記ターゲットとなる対象の対向するポイントに圧縮力を印加するように構成された前記グリッパの顎部に対する、前記ターゲットとなる対象のシフトに対応する、請求項１１に記載のシステム。
【請求項１９】
有形の非一時的なコンピュータ可読媒体であって、前記コンピュータ可読媒体に記憶されたプロセッサ命令を有する有形の非一時的なコンピュータ可読媒体であって、
前記プロセッサ命令は、ロボットシステムにより、その１つまたは複数のプロセッサを介して実行された際に、前記ロボットシステムに、
ベースとなるモーションプランを計算することであって、前記ベースとなるモーションプランが、ロボットアーム及びグリッパを操作して、ターゲットとなる対象をスタート位置から作業位置に移送するように構成された、アクチュエータコマンド、アクチュエータ設定、またはそれらの組合せの第１のセットを含む、前記計算することと、
前記ベースとなるモーションプランを実行している間、前記ターゲットとなる対象の現在の位置を追跡することと、
前記ベースとなるモーションプランを実行している間、接触基準を受領することであって、前記接触基準が、接触センサによって測定された、前記ターゲットとなる対象上の前記グリッパのグリップの量を示している、前記受領することと、
前記接触基準が閾値を満たさないことを判定することと、
前記ベースとなるモーションプランの実行の進捗を追跡することであって、前記進捗が、前記ターゲットとなる対象の水平移動と関連付けられている、前記追跡することと、
前記進捗が前記水平移動の実行に対応することを判定することと、
アクチュエータコマンド、アクチュエータ設定、またはそれらの組合せの第２のセットを、（１）前記接触基準が閾値を満たさないという前記判定、（２）前記進捗、及び（３）前記進捗が前記水平移動の実行に対応するという前記判定に基づいて、選択的に生成することと、
をさせ、
前記第２のセットは、前記現在の位置に従って生成され、
前記第２のセットは、前記ベースとなるモーションプランから外れて、前記ベースとなるモーションプランに含まれない、制御されたドロップを実行するように、前記ロボットアーム、前記グリッパ、またはそれらの組合せを操作するためのものであり、
前記制御されたドロップは、前記作業位置とは異なる位置に前記ターゲットとなる対象を意図的に配置するためのものである、有形の非一時的なコンピュータ可読媒体。
【外国語明細書】
2020116726000001.pdf