(57)【特許請求の範囲】
【請求項１】
１または２以上の対象物体を撮像した画像に基づいて１または２以上の前記対象物体の位置姿勢を計測する位置姿勢計測手段と、
前記位置姿勢に基づいて１または２以上の把持可能な対象物体を選択する選択手段と、
前記選択手段により選択された１または２以上の把持可能な対象物体から、把持位置または把持方向を含む状態ごとに予め定められた優先度に基づいて、把持対象物体を決定する決定手段とを備え、
前記優先度は、前記把持対象物体を他の物体に対して組み付ける際の状態へと変更するのに要する変更量が小さいほど高く定められていることを特徴とする情報処理装置。
【請求項２】
１または２以上の対象物体を撮像した画像に基づいて１または２以上の前記対象物体の位置姿勢を計測する位置姿勢計測手段と、
前記位置姿勢に基づいて１または２以上の把持可能な対象物体を選択する選択手段と、
前記選択手段により選択された１または２以上の把持可能な対象物体から、把持位置または把持方向を含む状態ごとに予め定められた優先度に基づいて、把持対象物体を決定する決定手段とを備え、
前記優先度は、前記把持対象物体を他の物体に対して組み付ける際の状態へと変更するのに要する時間が短いほど高く定められていることを特徴とする情報処理装置。
【請求項３】
前記決定手段は、最も優先度が高い状態で把持可能な対象物体を把持対象物体として決定することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
請求項１乃至３のいずれか１項に記載の情報処理装置と、
前記決定手段により決定された前記把持対象物体を最も優先度が高い状態で把持する把持手段と、
前記把持手段により把持されている前記把持対象物体の前記状態を、当該把持対象物体を他の物体に対して組み付ける際の状態に変更する変更手段と
を備えることを特徴とする物体把持システム。
【請求項５】
前記変更手段により変更された前記状態で前記把持物体を他の物体に対して組み付ける組み付け手段をさらに備えることを特徴とする請求項４に記載の物体把持システム。
【請求項６】
前記対象物体の画像を撮像する撮像手段を更に備え、
前記撮像手段は、前記把持手段により把持されている前記把持物体の画像を改めて撮像し、
前記位置姿勢計測手段は、前記撮像手段により改めて撮像された前記画像に基づいて１または２以上の前記対象物体の位置姿勢を改めて計測し、
前記変更手段は、前記把持手段により把持されている前記把持物体の前記状態を、前記位置姿勢計測手段により改めて計測された位置姿勢に基づいて、前記把持物体を他の物体に対して組み付ける際の状態に変更することを特徴とする請求項４または５に記載の物体把持システム。
【請求項７】
前記把持手段は、多指機構、グリッパ機構、または吸着機構を有することを特徴とする請求項４乃至６の何れか１項に記載の物体把持システム。
【請求項８】
請求項４乃至７の何れか１項に記載の物体把持システムを備えることを特徴とするロボットシステム。
【請求項９】
情報処理装置における情報処理方法であって、
位置姿勢計測手段が、１または２以上の対象物体を撮像した画像に基づいて１または２以上の前記対象物体の位置姿勢を計測する工程と、
選択手段が、前記位置姿勢に基づいて１または２以上の把持可能な対象物体を選択する工程と、
決定手段が、前記選択する工程で選択された１または２以上の把持可能な対象物体から、把持位置または把持方向を含む状態ごとに予め定められた優先度に基づいて、把持対象物体を決定する工程とを有し、
前記優先度は、前記把持対象物体を他の物体に対して組み付ける際の状態へと変更するのに要する変更量が小さいほど高く定められていることを特徴とする情報処理方法。
【請求項１０】
情報処理装置における情報処理方法であって、
位置姿勢計測手段が、１または２以上の対象物体を撮像した画像に基づいて１または２以上の前記対象物体の位置姿勢を計測する工程と、
選択手段が、前記位置姿勢に基づいて１または２以上の把持可能な対象物体を選択する工程と、
決定手段が、前記選択する工程で選択された１または２以上の把持可能な対象物体から、把持位置または把持方向を含む状態ごとに予め定められた優先度に基づいて、把持対象物体を決定する工程とを有し、
前記優先度は、前記把持対象物体を他の物体に対して組み付ける際の状態へと変更するのに要する時間が短いほど高く定められていることを特徴とする情報処理方法。
【請求項１１】
物体把持システムにおける物体把持方法であって、
把持手段が、請求項９または１０に記載の情報処理方法により決定された前記把持対象物体を最も優先度が高い状態で把持する把持工程と、
変更手段が、前記把持工程により把持されている前記把持対象物体の前記状態を、当該把持対象物体を他の物体に対して組み付ける際の状態に変更する変更工程と
を有することを特徴とする物体把持方法。
【請求項１２】
請求項９に記載の情報処理方法の各工程をコンピュータに実行させるためのプログラム。
【請求項１３】
請求項１０に記載の情報処理方法の各工程をコンピュータに実行させるためのプログラム。
【請求項１４】
請求項１１に記載の物体把持方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体把持システム、物体把持方法、プログラム、およびロボットシステムに関する。
【背景技術】
【０００２】
特許文献１には、次の動作にスムーズに移るために、把持した物体に対する片手での持ち替えを可能とするロボットハンドが開示されている。このロボットハンドは複数の指機構を備え、かつ指機構が複数の関節部と回転部を有することにより、把持物体の把持状態を変更可能としている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５-３４９４９１号公報
【非特許文献】
【０００４】
【非特許文献１】V. Lepetit and P. Fua, "Keypoint recognition using randomized trees," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.28, no.9, 2006.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の把持部においては、後工程で必要とされる把持状態への変更を考慮した上で、物体を把持する際の物体上の把持位置または物体と把持部の相対姿勢を選択することは行っていない。そのため、物体を把持した状態で把持状態の大きな変更が数多く発生し、その際に、物体の位置姿勢変化量が大きくなり、把持状態変更時に物体を落としたり、または把持状態の変更に要するタクトタイムが増大したりする課題がある。
【０００６】
上記の課題に鑑み、本発明は、物体を撮像した画像から物体の位置姿勢を計測し、後工程で必要とされる物体上の把持位置または相対姿勢への変更を考慮して物体の把持を実行することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成する本発明に係る情報処理装置は、
１または２以上の対象物体を撮像した画像に基づいて１または２以上の前記対象物体の位置姿勢を計測する位置姿勢計測手段と、
前記位置姿勢に基づいて１または２以上の把持可能な対象物体を選択する選択手段と、
前記選択手段により選択された１または２以上の把持可能な対象物体から、把持位置または把持方向を含む状態ごとに予め定められた優先度に基づいて、把持対象物体を決定する決定手段とを備え、
前記優先度は、前記把持対象物体を他の物体に対して組み付ける際の状態へと変更するのに要する変更量が小さいほど高く定められていることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、後工程で必要とされる物体上の把持位置または相対姿勢への変更を考慮した物体の把持を実現することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】物体把持システムを示す図。
【図２】エンドエフェクタを示す図。
【図３】物体把持システムの機能構成を示す図。
【図４】物体把持システムの処理の手順を示すフローチャート。
【図５】組み付け工程を示す図。
【図６】部品の把持状態を示す図。
【図７】撮像画像を示す図。
【図８】部品の安定姿勢を示す図。
【図９】部品の把持状態を示す図。
【図１０】オンハンドカメラを用いた物体把持システムを示す図。
【図１１】第２実施形態に係る物体把持システムの処理の手順を示すフローチャート。
【図１２】第５実施形態に係るエンドエフェクタを示す図。
【図１３】第６実施形態に係るエンドエフェクタを示す図。
【図１４】第６実施形態に係る物体把持システムの処理の手順を示すフローチャート。
【図１５】第６実施形態に係る部品の把持状態を示す図。
【図１６】第７実施形態に係る部品の把持状態の変更処理を示す図。
【発明を実施するための形態】
【００１０】
（第１実施形態）
本実施形態では、例えば工場の生産ラインなどで、部品のピッキングおよび組み立て等のタスクを実行するためのロボットシステムにおいて使用される、１または２以上の部品のうち１つの部品を把持する物体把持システムの例を説明する。
【００１１】
まず、図１を参照して、物体把持システムの構成について説明する。物体把持システムは、エンドエフェクタとして多指ハンド１を有するロボットアーム２と、支持柱３と、支持柱３に保持されたカメラ４と、多指ハンド１・ロボットアーム２・カメラ４を制御するコントローラ５とを備える。なお、さらに図１には、処理対象物体である部品６が山積みされた部品供給箱７と、部品６が組み付けられる被組み付け部品である本体部品８が記載されている。ここでコントローラ５は、一般的にコンピュータから構成されるが、本実施形態はその構成を限定するものではない。
【００１２】
図２（ａ）を参照して、エンドエフェクタとしての多指ハンド１の構成を説明する。図２（ａ）に示すように、本実施形態における多指ハンド１は、山積み部品を把持する際に用いるイニシャル把持フィンガ９を３本と、組み付け工程のために部品の把持状態を変更する必要がある場合に用いる持ち替えフィンガ１０を３本備える。例えば、図２（ａ）に示すように、イニシャル把持フィンガ９を用いて３点支持により部品１１を把持していた場合に、持ち替えフィンガ１０を用いて必要に応じて部品１１の把持位置および部品１１と多指ハンド１との相対姿勢を変更する。これにより、部品１１の把持状態を変更することが可能である。例えば、図２（ｂ）、図２（ｃ）に示すように、多指ハンド１の各指が複数の関節を有し、イニシャル把持フィンガ９と持ち替えフィンガ１０とが協調動作を実行することにより持ち替えが可能となる。なお、本実施形態における多指ハンド１は、図２（ａ）に示すように伸縮可能部１２（図中斜線部分）を有しており、前述した持ち替え動作時に、適宜指の長さが変化する。また各指が装着される台座部１３は、図２（ａ）の矢印１４が示すように３本の指の相対位置関係を保持したまま回転する機構１５を有している。
【００１３】
なお本実施形態においては、後述するように物体の把持状態は、事前に優先付けられた複数のパターンが設定されており、各把持状態パターン間での持ち替え動作も事前に設定されている。そのため、物体把持システムの実動作時には、把持状態のパターンを選択することで多指ハンド１の動作制御パターンを選択することが可能である。また、多指ハンド１の構成および機能は、前述したものに限定されるものではなく、持ち替え動作が可能なものであれば、どのような構成をとるものであっても構わない。
【００１４】
図３を参照して、コントローラ５により実現される処理の機能構成について説明する。図３において、アーム制御モジュール１６は、ロボットアーム２の動作を制御する機能を有する。またエンドエフェクタ制御モジュール１７は、多指ハンド１の動作を制御する機能を有する。アーム制御モジュール１６およびエンドエフェクタ制御モジュール１７は、前述した多指ハンド１を有するロボットアーム２と合わせて、把持手段としての機能を実現する。またカメラ制御モジュール１８は、カメラ４の動作制御および画像を取得/転送する機能を有する。カメラ制御モジュール１８は、カメラ４と合わせて撮像手段としての機能を実現する。また、位置姿勢計測モジュール１９は、カメラ４により撮像された画像より、対象物体の空間的な位置姿勢を計測する位置姿勢計測手段としての機能を有する。また、把持状態決定モジュール２０は、位置姿勢計測モジュール１９で計測された位置姿勢計測結果に基づいて、物体の把持状態を選択する把持状態決定手段としての機能を有する。また、把持状態変更モジュール２１は、位置姿勢計測モジュール１９で計測された位置姿勢計測結果に基づいて物体の把持状態をどのように変更するかを決定する把持状態変更手段としての機能を有する。
【００１５】
また、把持候補モジュール２２は、事前に設定された把持優先候補データを保持する。把持候補モジュール２２および把持優先候補データの詳細な説明については後述する。
【００１６】
なお本実施形態においては、それぞれの機能を実現するモジュールおよび手段を前述したように定義したが、これらの定義は本発明の趣旨を限定するものでは無い。例えば、把持状態変更手段として把持状態変更モジュール２１を定義したが、さらにエンドエフェクタおよびエンドエフェクタ制御モジュール１７を含むものとして定義しても構わない。すなわち上記の定義は、本実施形態で示される物体把持システムが、後述する処理を実現する際に必要とする手段を説明するために設定したものであり、その他の定義を除外するものでは無い。
【００１７】
続いて図４を参照して、本実施形態における物体把持システムの処理の流れを示すフローチャートについて説明する。ここで、ステップＳ４０１における撮像工程では、カメラ４は、山積みされた部品を含む領域を撮像する。また、ステップＳ４０２における位置姿勢計測工程では、カメラ４により撮像された画像を用いて、位置姿勢計測モジュール１９が対象部品の空間的な位置姿勢を計測する。また、ステップＳ４０３における把持状態決定工程では、把持状態決定モジュール２０が位置姿勢計測結果に基づいてエンドエフェクタによる部品の把持状態を決定する。なお、部品の把持状態とは、エンドエフェクタが把持する部品上の把持位置およびエンドエフェクタと部品との相対姿勢（把持方向）を含む。また、ステップＳ４０４における把持工程４０４では、アーム制御モジュール１６およびエンドエフェクタ制御モジュール１７がロボットアーム２およびエンドエフェクタ（多指ハンド）１を制御する。そして、把持状態決定モジュール２０により決定された把持状態で部品を把持する。
【００１８】
また、ステップＳ４０５における部品移動工程では、アーム制御モジュール１６およびエンドエフェクタ制御モジュール１７がロボットアーム２およびエンドエフェクタ（多指ハンド）１を制御する。そして、後工程として事前に設定された部品の組み付け開始位置まで把持した部品を移動する。
【００１９】
また、ステップＳ４０６における把持状態変更工程では、部品の現在の把持状態と後工程で必要とされる把持状態との各情報に基づいて、把持状態変更モジュール２１は把持状態の変更制御内容を決定する。さらに、その決定された変更制御内容に基づいて、エンドエフェクタ制御モジュール１７はエンドエフェクタ（多指ハンド）１を制御して部品の把持状態を後工程で必要とされる把持状態に変更する。なお本実施形態では、後工程とは、ステップＳ４０７における部品の組み付け工程を指す。また本実施形態では、ステップＳ４０５における部品移動工程とステップＳ４０６における把持状態変更工程とを並列に実行する例を示すが、両者を直列に実行することも可能である。
【００２０】
またステップＳ４０７における組み付け工程では、アーム制御モジュール１６およびエンドエフェクタ制御モジュール１７によりロボットアーム２およびエンドエフェクタ（多指ハンド）１を制御して、後工程として事前に設定された部品の組み付けを行う。
【００２１】
続いて、本実施形態における物体把持システムの動作をさらに詳細に説明する。
【００２２】
まず本実施形態における物体把持システムは、図１に示すように部品箱７に山積みされて供給された部品６をロボットアーム２のエンドエフェクタ（多指ハンド）１により把持する。そして、それを被組み付け部品である本体部品８に対する組み付け開始位置までロボットアーム２により移動し、事前に設定された組み付け工程を実行するものである。 
本実施形態では、図５に示すように、組み付け工程として、把持した部品１１を本体部品８の穴３０に挿入する工程を例として示す。ここで部品１１は、ネジのような頭部３１と軸部３２を有する形状をしており、本体部品８に対しては、頭部３１以外の軸部３２全体が挿入されるものとする。
【００２３】
従って組み付け工程を実行するためには、多指ハンド１は部品１１の頭部３１を把持する必要がある。しかしながら、部品１１が山積み状態で供給される場合、必ずしも部品を組み付け工程に対応した把持状態で把持できない場合が有りうる。
【００２４】
そこで本実施形態では、多指ハンド１による組み付け対象部品の把持状態として、多指ハンド１で把持する部品上の位置と、多指ハンド１および部品１１の相対姿勢の複数の候補と、を把持優先順位とともに事前に設定する。そして、その候補を把持候補モジュール２２に把持優先候補データとして保持しておく。
【００２５】
例えば、前述したように組み付け工程を実行するためには、多指ハンド１は図６（ａ）に示すように部品１１の頭部３１の側面位置を把持する必要があるため、優先度ゼロの把持状態として、把持位置を頭部３１の側面位置に設定する。図６（ａ）では理解を助けるために、頭部３１の側面位置を黒で示す。また、多指ハンド１と部品１１との相対姿勢は、組み付けに際して多指ハンド１と本体部品８とが干渉しないようにする必要がある、そのため、図６（ａ）に示すように部品の頭部３１が多指ハンド１に近い側（軸部３２が遠い側）となる相対姿勢に設定する。
【００２６】
続いて優先度１の把持状態として、把持位置を図６（ｂ）に示すように軸部３２の領域に設定する。図６（ｂ）では理解を助けるために、軸部３２の領域を黒で示す。また、相対姿勢は、図６（ｂ）に示すように多指ハンド１が部品の軸部３２の長手側面から把持する方向を設定する。
【００２７】
続いて優先度２の把持状態として、把持位置を図６（ｃ）に示すように部品１１の軸部３２の先端側面位置に設定する。図６（ｃ）では理解を助けるために、軸部３２の先端側面位置を黒で示す。また、相対姿勢は、図６（ｃ）に示すように部品１１の軸部３２が多指ハンド１に近い側（頭部３１が遠い側）となる相対姿勢に設定する。
【００２８】
以上のように設定した把持状態において、まず優先度ゼロの把持状態で部品１１を把持した場合、組み付け工程のために部品１１の把持状態を変更する必要は無い。そのため、最優先で把持すべき把持状態として優先度ゼロを設定している。また優先度１および優先度２の把持状態で部品１１を把持した場合には、組み付け工程を実行するために部品の把持状態を優先度ゼロの把持状態に変更する必要がある。その場合、後述するように部品の移動工程中に、多指ハンド１により部品１１の把持状態を変更する。しかし、図６から分かるように優先度１および優先度２からのそれぞれの把持状態変更量を比較した場合、多指ハンド１と部品１１の相対姿勢が反転する優先度２の方が把持状態変更量は大きくなる。
【００２９】
把持状態変更量が大きい場合、部品１１の落下等のミスに繋がる可能性が高いため、優先度２の把持状態をより低い優先度に設定している。
【００３０】
なお本実施形態では、前述した多指ハンド１による優先度１から優先度ゼロへの把持状態変更動作、および優先度２から優先度ゼロへの把持状態変更動作は、いずれも１回の処理動作により変更できるものとしている。
【００３１】
なお前述した説明では、優先度１における把持位置として、部品軸部３２の所定の自由度を有する領域を設定した。しかしながら、多指ハンド１により実際に物体を把持する際には、自由度を有する把持状態の中で、適当な１つの把持状態を選択することができる。自由度を有する把持状態の中から１つの把持状態を決定する方法の例に関しては後述する。なお優先順位の設定手法はあくまで一例に過ぎず、部品種別、エンドエフェクタ形状、および物体把持システムで実施する工程の内容に対応して、適宜設定することが可能である。
【００３２】
続いて、本実施形態における物体把持システムの実動作時の処理フローを詳細に説明する。
【００３３】
まず、本実施形態における物体把持システムは撮像工程を実行する。図７（ａ）に示すように、撮像工程では対象となる部品が含まれる画像３３を取得する。
【００３４】
続いて位置姿勢計測工程において、撮像された画像３３より部品の位置姿勢を計測する。ここでカメラにより取得された画像３３から物体の位置姿勢を計測する手法としては、認識処理または距離計測処理等を用いた位置姿勢計測手法が多数提案されている。本実施形態では、例えば２次元画像上で検出される特徴点やエッジなどの画像特徴を用いる非特許文献１に開示された手法を用いることを想定している。
【００３５】
またさらに、本実施形態における位置姿勢計測工程では、物体上で他の物体に隠蔽された領域を判定する。例えば本実施形態では、空間コード化法による三次元距離計測を行い、画像の奥行方向の距離データを算出する。認識処理で抽出された対象部品領域の距離情報と、対象部品の三次元モデルデータとを比較することにより、三次元モデルデータに合致しない領域を隠蔽領域と判定する。
【００３６】
またさらに本工程では、部品の位置姿勢として、検出された部品と、部品周囲に存在する物体（主に他部品）との相対位置関係を計測する。例えば、前述したように算出された画像の奥行方向の距離データを用いて、対象部品領域の距離データと、周囲領域の距離データとを比較することにより、対象部品と、周囲領域に含まれる隣接する物体との対応関係を求めることが可能となる。
【００３７】
すなわち図７（ｂ）に示すように、例えば対象部品３６と画像上で隣接する部品３４、部品３５に関する画像の奥行方向の距離データが、対象部品３６の奥行方向の距離データと同一範囲内にある場合、部品３４〜部品３６は撮像面からの奥行方向に直交する同一面内に存在することとなる。この場合、画像３３上でのそれぞれの部品の距離が図７（ｂ）に示すように多指ハンド１の指の太さ（図中、両方向矢印で示す）よりも近接していた場合、多指ハンド１は指を両者の間に挿入することが出来ない。一方、対象部品３７と画像上で隣接する部品３５に関する画像の奥行方向の距離データが、対象部品３７の奥行方向の距離データよりも大きい場合、両者は撮像面からの奥行方向に直交する同一面内に存在していない。そのため、画像上での両者の距離が多指ハンド１の指の太さよりも近接していても、多指ハンド１は指を両者の間に挿入することが可能である。
【００３８】
なお、三次元距離計測として前述した空間コード化法を用いる場合は、計測対象領域に対して照明装置により空間コード化パターンを投影して撮像した画像より、撮像面からの奥行方向の距離データの算出を行う。しかし、三次元距離計測に関しては、本発明の主眼とするところではないため、図１において照明装置の記載は省略している。また、三次元距離計測に対応した撮像処理および画像処理に関しても、同様の理由により詳細な説明は省略する。
【００３９】
なお、本発明における位置姿勢計測工程としては、前述した手法を用いるものに限るわけではなく、その他の手法を用いることも可能である。なお、位置姿勢計測工程で用いられる位置姿勢計測手法、隠蔽領域判定手法、または周囲物体との相対位置関係の計測手法に関しては本発明の主眼とするものではないため、詳細な説明は省略する。本工程により、例えば図７（ｂ）に示すように、部品箱中で部品３６〜部品３９の位置姿勢が計測される。
【００４０】
続いて把持状態決定工程では、位置姿勢計測工程において算出された位置姿勢計測結果に基づいて、把持候補モジュール２２に保持されている事前に設定された把持優先候補データより、多指ハンド１により部品を把持する際の把持状態を選択する。
【００４１】
例えば位置姿勢計測工程において、図７（ｂ）の中で部品３６〜部品３９の位置姿勢が計測されたとする（その他の部品は位置姿勢計測工程において認識されなかったとする）。ここで、部品３６、部品３７は部品の山に対して、頭部３１を上に向けて位置している。また、部品３８は部品の山に対して軸部３２を横に向けて位置している。また部品３９は部品の山に対して、頭部３１を下に向けて位置している。また、部品３６は、部品３７と同様に頭部３１を上に向けて位置しているが、隣接する他の部品３４、部品３５が撮像面からの奥行方向に直交する同一面内に近接して存在しており頭部３１の周囲に多指ハンド１の指を挿入することができない形で位置している。
【００４２】
この場合、まず把持状態決定工程では、把持状態決定モジュール２０によって、多指ハンド１により把持が可能な部品を選択する。本実施形態の場合は、部品３７〜部品３９が把持可能な部品として選択され、その他の部品３６は、前述した理由により把持不可能な部品として把持対象から除外される。続いて、把持状態決定モジュール２０によって、より優先度の高い把持状態で把持可能な部品を把持対象部品として決定する。位置姿勢計測結果においては、優先度ゼロの把持状態で把持可能な部品３７が把持対象部品として選択される。この場合、優先度ゼロの把持状態は組み付け工程で必要とされる把持状態であるため、後述するように把持状態変更工程は実行されない（パターンゼロ）。
【００４３】
一方、仮に位置姿勢計測結果として、部品３７が検出されなかった場合（例えば図７（ｂ）中に部品３７が存在しなかった場合）、次に優先度の高い把持状態で把持可能な部品３８が把持対象部品として選択される（パターン１）。なおパターン１の場合、多指ハンド１による部品３８上の把持候補位置は、図６（ｂ）に示すように事前に軸部３２の側面の所定の領域に設定されている。  この場合は、把持状態決定モジュール２０により、最終的な把持位置を例えば把持可能な領域の中でより頭部３１に近い位置として決定する。このように部品上の把持位置または部品と多指ハンドとの相対姿勢が、事前に所定の領域範囲で設定されている場合は、把持候補モジュール２２においてやはり事前に設定されたルールにより実際の把持位置が選択される。前述したルール（より頭部に近い位置を選択する）はその一例であり、部品の形状または後工程の内容等によって適宜設定することが可能である。
【００４４】
また仮に位置姿勢計測結果として、部品３７、部品３８が検出されなかった場合（例えば図７（ｂ）中に部品３７、部品３８が存在しなかった場合）、次に優先度の高い把持状態で把持可能な部品３９が把持対象部品として選択される（パターン２）。
【００４５】
以降の説明では、上述した３種類のパターンゼロ、１、２に対応した処理をそれぞれ説明していく。
【００４６】
続いて把持工程では、決定された把持状態の情報がアーム制御モジュール１６およびエンドエフェクタ制御モジュール１７に送られる。そして、それぞれの制御モジュールによって、決定された把持状態で部品を把持するようにロボットアーム２およびエンドエフェクタ（多指ハンド）１を制御して部品の把持を実行する。ここでパターンゼロの場合、部品３７は図６（ａ）に示すように把持される。またパターン１の場合、部品３８は図６（ｂ）に示すように把持される。またパターン２の場合、部品３９は図６（ｃ）に示すように把持される。
【００４７】
続いて部品移動工程で、アーム制御モジュール１６およびエンドエフェクタ制御モジュール１７によりロボットアーム２およびエンドエフェクタ（多指ハンド）１を制御して、事前に設定された部品の組み付け開始位置まで、把持された部品を移動する。
【００４８】
また並行して、把持状態変更工程では、把持状態決定工程で選択された把持状態（現在の把持状態）と組み付け工程で必要とされる把持状態の情報に基づいて、把持状態変更モジュール２１により把持状態の変更制御内容を決定する。さらに、決定された変更制御内容に基づいて、エンドエフェクタ制御モジュール１７によりエンドエフェクタ（多指ハンド）１を制御して部品の把持状態を変更する。ここで把持状態変更モジュール２１は、まず前述した把持状態決定工程で選択し、把持工程で実行された部品の把持状態が、組み付け工程で必要とされる部品の把持状態と一致するか否かを判定する。例えば、把持工程においてパターンゼロが実行されていた場合は、部品の把持状態は、組み付け工程で必要とされる部品の把持状態と一致する。従って、部品の把持状態の変更は実行されない。
【００４９】
また、把持工程においてパターン１またはパターン２が実行されていた場合は、部品の把持状態を組み付け工程で必要とされる把持状態に変更する。この時、本実施形態では各把持状態パターンに対応した持ち替え動作制御内容も事前に設定されているため、持ち替え前の把持状態パターンに対応して動作制御内容を選択する。そして、エンドエフェクタ制御モジュール１７によって、選択された動作制御内容に基づいてエンドエフェクタ（多指ハンド）１を制御することで、部品の持ち替え動作を実現することができる。結果として、把持状態変更工程を経た後は、ピッキング時の部品の把持状態に関わらず、図６（ａ）に示すような、組み付け工程で必要とされる優先度ゼロの把持状態で把持されることとなる。なお、事前に設定された、各把持状態パターンに対応した持ち替え動作制御内容は、図３に示した把持候補モジュール２２に保持されている。
【００５０】
続いて組み付け工程で、アーム制御モジュール１６およびエンドエフェクタ制御モジュール１７によりロボットアーム２およびエンドエフェクタ（多指ハンド）１を制御して、事前に設定された部品の組み付けを行う。前述したように、本実施形態では、図５に示すように部品１１を本体部品８の穴３０に挿入する工程を実行する。
【００５１】
以上のフローにより、山積みされた部品から、後工程（組み付け工程）に対してより適した把持状態で把持可能な部品を選択把持し、必要に応じて後工程で必要とされる把持状態に変更して後工程を実行する処理が実現される。一般的には山積みされた部品が全て処理されるまで、もしくはピッキング可能な部品が無くなるまで処理フローが繰り返される。
【００５２】
なお以上の説明では、部品のピッキングタスクの例として山積みされた部品のピッキングを示したが、本発明の物体把持システムが実行するタスクはこれに限定されるものではない。例えば断面の直径に対して高さが低い円柱状の形状を有する部品４０の場合、単品で供給されるとしても、何らかの治具を用いて供給を制御しない限り、一般的に安定姿勢である図８のような姿勢で供給される可能性が高い。ここで、後工程において図９（ｂ）に示すような把持状態が必要となる場合、図８のような状態で部品４０が供給されてもそのままでは多指ハンド１ではピッキングすることができない。これに対して、本実施形態における物体把持システムを用いることにより、図８の状態で供給される部品４０を一旦図９（ａ）に示す把持状態で把持した後に、この把持物体を図９（ｂ）のように持ち替える。これにより後工程に対応した把持状態に変更することが可能となる。なおこの場合、図９（ｂ）の把持状態が優先度ゼロに相当し、図９（ａ）の把持状態が優先度１に相当する。またここでは、図８のように単純な形状を有する部品４０を示したが、より複雑な形状を有し、かつ安定姿勢で把持する際の把持状態が後工程で必要とされる把持状態に一致しないケースでも同様である。
【００５３】
また以上の説明では、図１に示すようにカメラ４が所定の位置に固定された構成について説明を行ったが、カメラの位置および台数はこれに限定されるものではない。例えば図１０に示すように、カメラ４１をエンドエフェクタ（多指ハンド）１の台座部に設置したオンハンドカメラとして構成しても構わない。また、所定の位置に固定されたカメラとエンドエフェクタ（多指ハンド）１の台座部に設置したオンハンドカメラとを組み合わせたり、部品の種類または処理工程の種類などに対応して使用するカメラを切り替えたり、もしくは同時に使用するものであっても良い。
【００５４】
以上説明したように本実施形態における物体把持システムは、部品のピッキングを行う際に、後工程の組み付け工程に対してより適した把持状態で部品を把持することができる。さらに部品を組み付け開始位置まで移動させる際に、組み付け工程に対応した把持状態に部品を持ち替えることを可能とする。これにより、必ずしも組み付けに対応した把持状態で部品をピッキング出来ない場合でも、部品のピッキングと組み付けを一連の処理として実行することが可能となり、タクトタイムの削減を実現することができる。また把持状態変更量が小さい把持状態を選択することにより、部品の持ち替えに際して部品を落としてしまう可能性を低減することも可能となる。
【００５５】
（第２実施形態）
本実施形態における物体把持システムは、山積み状態の部品をピッキングした後に、把持された状態の部品を再度撮像した画像より改めて位置姿勢計測工程を実行する。そして、位置姿勢計測結果を用いて、把持状態変更工程において部品の把持状態を変更する点が、第１実施形態と異なっている。従って本実施形態においては、第１実施形態における物体把持システムとの相違点についてのみ説明を行い、その他の部分に関しては第１実施形態と同様として説明を省略する。
【００５６】
図１１を参照して、本実施形態における物体把持システムの処理の流れを示すフローチャートについて説明する。まずステップＳ１１０１における撮像工程からステップＳ１１０５における部品移動工程までは第１実施形態と同様の処理を実行する。
【００５７】
続いて本実施形態では、カメラ４により、ステップＳ１１０６において、把持された状態の部品を撮像する撮像工程を実行する。なおステップＳ１１０６における撮像工程を実行するタイミングは、部品の移動中であっても構わない。
【００５８】
続いてステップＳ１１０７における位置姿勢計測工程では、カメラ４により撮像された画像より位置姿勢計測モジュール１９によって、把持された状態での部品の位置姿勢を計測する。
【００５９】
続いてステップＳ１１０８における把持状態変更工程では、把持された状態での部品の位置姿勢計測結果と、組み付け工程で必要とされる把持状態の情報に基づいて、把持状態変更モジュール２１により把持状態の変更制御内容を決定する。さらに、決定された変更制御内容に基づいて、エンドエフェクタ制御モジュール１７によりエンドエフェクタ（多指ハンド）１を制御して部品の把持状態を変更する。ここで把持状態変更モジュール２１は、位置姿勢計測結果を初期状態として、持ち替え動作に関わるエンドエフェクタ（多指ハンド）１の動作制御内容を算出する。すなわち、ステップＳ１１０４における把持工程により部品のピッキングを実行する場合、ピッキング時の部品の位置ズレ等の影響により、事前にステップＳ１１０３における把持状態決定工程で決定された把持状態と、実際の把持状態とにズレが生じる可能性がある。例えば複雑な形状を有する部品の場合、このズレの影響により部品の持ち替え動作にもズレが生じ、部品を落とすなどのミスが生じる可能性がある。これに対して本実施形態では、前述したように部品の持ち替えに関わるエンドエフェクタ（多指ハンド）１の動作制御内容を算出する際に、把持された状態での部品の位置姿勢を初期状態とする。これにより、ステップＳ１１０４における把持工程で生じた部品の把持状態のズレの影響を排除することが可能となる。
【００６０】
またさらに、ステップＳ１１０５における部品移動工程において、把持された部品の移動中に、部品および周囲環境を随時カメラ４により撮像して得られた画像より位置姿勢計測を実行する。そして、この位置姿勢計測結果に基づいて、持ち替え動作に関わるエンドエフェクタ（多指ハンド）１の動作制御内容を随時算出するものであっても良い。この場合は、位置姿勢計測結果より、エンドエフェクタが部品を落としそうな状況や、エンドエフェクタまたは部品が周囲環境物に接触しそうな状況を判定し、それを回避するようにエンドエフェクタ（多指ハンド）１の動作制御内容を修正することが可能となる。
【００６１】
なお、本実施形態ではエンドエフェクタ（多指ハンド）１の動作制御内容を改めて算出するものとした。しかしながら、把持された状態の部品の位置姿勢計測結果を用いて、第１実施形態で説明したような各把持状態パターンに対応して事前に設定した持ち替え動作制御内容を調整するものであっても構わない。
【００６２】
以降のステップＳ１１０９における組み付け工程に関しては第１実施形態と同様である。
【００６３】
なお、カメラの構成に関しても第１実施形態と同様であり、例えば部品のピッキング時には所定の位置に固定されたカメラを使用し、把持された状態の部品を撮像する際にはオンハンドカメラを使用するといったことも可能である。
【００６４】
以上説明したように本実施形態における物体把持システムは、部品が把持された状態での位置姿勢計測結果に基づいて部品の把持状態を変更することにより、部品を把持する際に生じたズレの影響等を排除することが可能となる。これにより、より高精度な部品の把持状態の制御を実行することが可能となる。
【００６５】
（第３実施形態）
本実施形態における物体把持システムは、把持状態の優先度を設定する際に、把持状態変更量を評価量とするのでは無く、把持状態の変更に伴うエンドエフェクタのタクトタイムを評価量とする。この点が第１実施形態および第２実施形態とは異なっている。従って本実施形態においては、第１実施形態および第２実施形態における物体把持システムとの相違点についてのみ説明を行い、その他の部分に関しては第１実施形態と同様であるため説明を省略する。
【００６６】
例えば第１実施形態で説明した図６（ｂ）の把持状態と、図６（ｃ）の把持状態を比較した場合、後工程に対応した図６（ａ）の把持状態への多指ハンド１による持ち替え実行時のタクトタイムが、図６（ｂ）の把持状態の方が小さい場合に、図６（ｂ）の把持状態の優先順位を優先度１とし、図６（ｃ）の把持状態の優先度を優先度２と設定する。この場合には、把持状態決定工程において、より優先度の高い把持状態を選択することにより、把持状態変更工程にかかるタクトタイムを削減することが可能となる。例えば、部品移動工程に要するタクトタイムが３秒であり、優先度１から優先度ゼロへの把持状態変更工程に要するタクトタイムが２秒であり、また優先度２から優先度ゼロへの把持状態変更工程に要するタクトタイムが４秒であったとする。この場合、部品移動工程と把持状態変更工程とを並行して処理するとすると、優先度１から優先度ゼロへ把持状態を変更する際は、部品移動工程が完了するまでに把持状態変更工程も完了することができる。一方、優先度２から優先度ゼロへ把持状態を変更する際は、部品移動工程が完了するまでに把持状態変更工程を完了することができず、後段の部品組み付け工程を開始するまでに、把持状態変更工程の完了を待つ時間が必要となる。
【００６７】
また、部品移動工程と把持状態変更工程とを直列に実行する場合には、把持状態変更工程に要するタクトタイムの長短が、システム全体のタクトタイムに直接影響する。一般的にタクトタイムの増加は製造コストの悪化を招くため、タクトタイムをより短くすることが要求される。
【００６８】
これに対して本実施形態における物体把持システムは、以上説明したように把持状態の変更に伴うエンドエフェクタのタクトタイムを評価量とすることにより、システム全体のタクトタイムを削減することを可能とする。
【００６９】
（第４実施形態）
本実施形態における物体把持システムは、部品の把持状態の優先度を設定しない。この点が第１乃至第３実施形態と異なっている。従って本実施形態においては、第１乃至第３実施形態における物体把持システムとの相違点についてのみ説明を行い、その他の部分に関しては第１乃至第３実施形態同様として説明を省略する。
【００７０】
本実施形態における物体把持システムでは、部品上で把持可能な位置および部品とエンドエフェクタ（多指ハンド）１の相対姿勢を把持候補モジュール２２に保持しておく。
【００７１】
続いて把持状態決定工程において、位置姿勢計測工程結果に基づいて、把持候補モジュール２２に保持された情報から、部品上の把持可能な位置および部品とエンドエフェクタとの相対姿勢を決定する。ここで、事前に設定した部品上の把持可能な位置、および部品とエンドエフェクタの相対姿勢（把持方向）から適当な候補を選択する際には、例えば後工程で必要となる把持状態に対応した評価量に基づいて把持位置および相対姿勢を選択することができる。この場合の評価量としては、例えば後工程で必要となる把持状態における把持位置との物理的な距離を設定することができる。
【００７２】
また、把持状態変更工程においては、決定された把持状態と、後工程で必要となる把持状態とに基づいて、事前に設定した持ち替え動作に関わるエンドエフェクタ（多指ハンド）１の動作制御内容候補の中から、対応するものを選択する。もしくは、部品および周囲環境を随時カメラにより撮像して得られた画像より位置姿勢計測を実行し、その位置姿勢計測結果に基づいて、持ち替え動作に関わるエンドエフェクタ（多指ハンド）１の動作制御内容を随時算出するものであっても良い。
【００７３】
以上説明したように、本実施形態における物体把持システムは、部品の把持状態の優先度を設定しないことを特徴とし、かつ第１乃至第３実施形態と同様の効果を有する。
【００７４】
（第５実施形態）
本実施形態における物体把持システムでは、把持手段として機能するエンドエフェクタがグリッパ機構を有する。この点が第１乃至第４実施形態と異なっている。従って本実施形態においては、第１乃至第４実施形態における物体把持システムとの相違点についてのみ説明を行い、その他の部分に関しては第１乃至第４実施形態と同様として説明を省略する。
【００７５】
図１２を参照して、エンドエフェクタとしてのグリッパ４５の構成について説明する。図１２（ａ）に示すように本実施形態におけるグリッパ４５は、山積み部品を把持する際に用いるイニシャルグリッパ４６と、組み付け工程のために部品の把持状態を変更する必要がある場合に用いる持ち替えグリッパ４７とを有する。それぞれのグリッパは、部品を２点支持により把持する。また、本実施形態におけるグリッパ４７は、図１２（ａ）に示すように伸縮可能部４８（図中斜線部）を有しており，持ち替え動作時に適宜軸の長さが変化する。また各軸が装着される台座部４９は、図１２（ａ）の矢印５０が示すように各グリッパの相対位置関係を保持したまま回転する機構５１を有している。
【００７６】
この時例えば図１２（ｂ）に示すようにイニシャルグリッパ４６を用いて部品５２を把持していた場合を考える。その場合、持ち替えグリッパ４７により必要に応じて部品５２の把持位置および部品５２とグリッパ４５との相対姿勢を変更することにより、部品５２の把持状態を変更することが可能である。例えばそれぞれのグリッパ４６、グリッパ４７の軸が複数の関節を有し、かつ回転動作が可能な構成である。イニシャルグリッパ４６と持ち替えグリッパ４７とが協調動作を実行することにより持ち替えが可能となる。図１２（ｂ）、（ｃ）では、コネクタ部５３を有するフレキシブルプリント基板５２をそれぞれのグリッパ４６、グリッパ４７で把持する様子を示している。
【００７７】
なおグリッパの構成は、前述したものに限定されるものではなく、持ち替え動作が可能なものであれば、どのような構成をとるものであっても構わない。
【００７８】
（第６実施形態）
本実施形態における物体把持システムでは、把持手段として機能するエンドエフェクタが吸着機構を有する。この点が、第１乃至第５実施形態と異なっている。従って本実施形態においては、第１乃至第５実施形態における物体把持システムとの相違点についてのみ説明を行い、その他の部分に関しては第１乃至第５実施形態と同様として説明を省略する。
【００７９】
図１３（ａ）を参照して、吸着機構５４を有する多指ハンド５５について説明する。また、図１３（ｂ）を参照して、吸着機構５４を有するグリッパ５６について説明する。本実施形態における物体把持システムは、第１乃至第５実施形態で説明した物体の把持工程の代わりに、図１４に示すように、ステップＳ１４０４において吸着機構を用いた吸着工程を実行する。なお、部品上の吸着位置の決定に関しては、第１実施形態で説明した把持状態決定工程の代わりに、ステップＳ１４０３において吸着状態決定工程を実行する。吸着状態決定工程では、把持状態決定工程において把持状態を決定した工程と同様に、吸着位置および部品とエンドエフェクタとの相対姿勢を決定する処理を実行する。また、ステップＳ１４０６における把持状態変更工程においては、吸着機構５４により保持された部品を多指機構５９またはグリッパ機構６０を用いて、後工程に対応した把持姿勢で把持する。なお、本実施形態における吸着機構５４は、図１３（ａ）、（ｂ）に示すように伸縮可能部６１（図中斜線部）を有しており、適宜長さが変化する。図１５（ａ）に、ステップＳ１４０６における把持状態変更工程において、吸着機構５４により保持された部品６２を多指機構５９を用いて、後工程に対応した把持状態で把持する様子を示す。また図１５（ｂ）に、ステップＳ１４０６における把持状態変更工程において、吸着機構５４により保持された部品６３をグリッパ機構６０を用いて、後工程に対応した把持状態で把持する様子を示す。その他の工程（ステップＳ１４０１、１４０２、１４０５、および１４０７）については前述の実施形態と同様であるため説明を省略する。
【００８０】
なお、本実施形態および第１乃至第５実施形態においては、エンドエフェクタの構成の具体例を示すために、多指機構、グリッパ機構、および吸着機構の例を示した。しかし、これらは本発明を実現する例として示したものであり、説明した持ち替え動作を実行可能なものであれば、本発明の物体把持システムはエンドエフェクタの構成・機能を限定しない。
【００８１】
（第７実施形態）
本実施形態における物体把持システムは、把持状態変更工程において、複数回の部品持ち替え処理を実行する。この点が第１乃至第６実施形態と異なっている。従って本実施形態においては、第１乃至第６実施形態における物体把持システムとの相違点についてのみ説明を行い、その他の部分に関しては第１乃至第６実施形態と同様として説明を省略する。
【００８２】
例えば、対象部品６４が図１６（ａ）に示すような長い軸部を有する場合、例えば山積み状態からピッキングする際に、その他の部品の隠蔽等により、図１６（ａ）に示すように軸部先端位置６５しか把持できないケースが有り得る。この場合、後工程の組み付け工程で必要とされる把持状態が図１６（ｄ）に示すように頭部６６を把持するものだとすると、第１実施形態で説明した多指ハンド１を用いて部品の把持状態を変更する際に、１回の把持状態変更処理では後工程に対応した把持状態に変更できないことが起こり得る。これに対して本実施形態では、把持状態変更工程において、複数回の把持状態変更処理を実行することで、部品の把持状態を後工程の組み付け工程で必要とされる把持状態に変更するものである。図１６（ａ）〜図１６（ｄ）は、部品の把持状態の変更処理を順を追って示したものである。
【００８３】
複数回の把持状態変更処理に関するエンドエフェクタの動作制御内容は、第１乃至第６実施形態と同様に、事前に決定しておくものであっても良い。あるいは、撮像された画像から算出した、部品の位置姿勢計測結果から算出するものであっても構わない。
【００８４】
本実施形態における物体把持システムは、以上説明したように複数回の把持状態の変更が可能であるため、エンドエフェクタの機能を拡張することなく、システムを適用可能な処理対象部品の種類（形状）を増やすことが可能となる。
【００８５】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005685027.tif 000002
【図２】
0005685027.tif 000003
【図３】
0005685027.tif 000004
【図４】
0005685027.tif 000005
【図５】
0005685027.tif 000006
【図６】
0005685027.tif 000007
【図７】
0005685027.tif 000008
【図８】
0005685027.tif 000009
【図９】
0005685027.tif 000010
【図１０】
0005685027.tif 000011
【図１１】
0005685027.tif 000012
【図１２】
0005685027.tif 000013
【図１３】
0005685027.tif 000014
【図１４】
0005685027.tif 000015
【図１５】
0005685027.tif 000016
【図１６】
0005685027.tif 000017