(57)【要約】【課題】  バラツキをもって収納部に収納されたワークを取り出す際に、収納部と把持手段とが干渉しないかどうかをポリゴン同士の干渉計算によって行うと、計算時間がかかり、タクトが伸びる。【解決手段】  ロボット装置は、ワークの位置姿勢が把持禁止位置姿勢範囲に入っているかどうかで、収納部と把持手段とが干渉しないかどうかを判定する。【選択図】  図１
2016020011.tif 000002
【特許請求の範囲】
【請求項１】
ビジョンセンサと、把持手段を備えたロボットと、前記ビジョンセンサおよび前記ロボットを制御する制御部とを備えたロボット装置であって、
前記制御部には前記ロボットによる把持動作の際の位置姿勢データと、ワークおよび前記ワークの収納部の幾何学データに基づいて設定された、把持動作が禁止された前記ロボットおよび前記ワークの相対的な位置姿勢データがあらかじめ記憶されており、
前記制御部は、前記ビジョンセンサによって撮像されたワークおよび前記撮像されたワークの収納部の位置姿勢のデータを取得し、
取得した前記ワークおよび前記収納部の前記位置姿勢データと、前記把持動作が禁止された位置姿勢データと、を比較して前記ロボットと前記収納部との干渉の有無を判定し、
前記制御部は干渉の有無に関する前記判定に基づき、前記ロボットで収納部に設けられた前記撮像されたワークを把持する制御を行うことを特徴とするロボット装置。
【請求項２】
前記制御部は、前記収納部と前記ロボットとが干渉すると判定された場合に、ロボットによって前記収納部を揺動させ、前記収納部に対するワークの配置を変える制御が行われることを特徴とする請求項１に記載のロボット装置。
【請求項３】
ビジョンセンサと、把持手段を備えたロボットと、前記ビジョンセンサおよび前記ロボットを制御する制御部とを備えたロボット装置の制御方法であって、
前記制御部には前記ロボットによる把持動作の際の位置姿勢データと、ワークおよび前記ワークの収納部の幾何学データに基づいて設定された、把持動作が禁止された位置姿勢データが記憶されており、
前記ビジョンセンサで撮像し、ワークおよび前記ワークの収納部の位置姿勢のデータを取得する工程と、
取得した前記ワークおよび前記収納部の前記位置姿勢データと、前記把持動作が禁止された位置姿勢データと、を比較して前記ロボットと前記収納部との干渉の有無を判定する判定工程と、
前記制御部は干渉の有無に関する前記判定に基づき、前記ロボットで収納部に設けられた前記ワークを把持する工程と、
の各工程を備えることを特徴とするロボット装置の制御方法。
【請求項４】
前記判定工程において、収納部の幾何学モデルに対して配されたワークモデルに対する収納部の幾何学モデルの位置と姿勢に基づく判定が行われることを特徴とする請求項３記載のロボット装置の制御方法。
【請求項５】
前記把持手段の幾何学モデルと収納部の幾何学モデルが干渉すると判定される位置姿勢は、把持動作が禁止された位置姿勢として記録されることを特徴とする請求項４記載のロボット装置の制御方法。
【請求項６】
前記収納部と前記ロボットとが干渉すると判定された場合に、前記制御部によって、ロボットによって前記収納部を揺動させ、前記収納部に対するワークの配置を変える工程を
そなえることを特徴とする請求項３ないし５のいずれか一項に記載に記載のロボット装置の制御方法。
【請求項７】
把持が禁止された位置姿勢データの範囲外のワークの位置姿勢に対してロボットの動作が可能かどうかを検証する動作シミュレーション工程をさらに備えていることを特徴とする請求項３ないし６のいずれか一項記載のロボット装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はロボット装置に関し、特にワークを拾い上げる際にワークの収納部と把持手段とが干渉しないかを判定するロボット装置に関する。
【背景技術】
【０００２】
ロボット装置を生産ラインに投入し、自動生産を行う試みは広くなされている。このようなロボット装置による生産ラインを敷設した場合、生産ラインへのワークの供給は、主にパーツフィーダを用いて、ワークの位置と姿勢の精度が良好な状態に継続的に保たれるように行われていた。一方で、パーツフィーダは一般に高価であり、またワークの形状ごとに設計されていることが多いため使い回しが利かない、という不自由があった。
【０００３】
そこで様々な生産ラインで使い回す共通のワーク供給手段として、例えば図３のごとく、複数の収納部３０２を備えたパーツトレー３０３を用いることが望まれている。（説明のため本願発明を図示する図３を用いて、以下に課題点を述べる。）
各収納部３０２には同じ種類のワーク３０１が１つずつ収められている。係るパーツトレーを用いた場合、収納部の形状はワークの形状に対して専用設計されているわけではないので、収納部の内部において、ワークの位置姿勢は一意に定まらず、ある範囲のバラツキのある状態で工程に供給されることになる。
【０００４】
バラツキを持った状態のワークを、グリッパーハンド等の把持手段を有するロボット装置で拾い上げる動作を、以下ではランダムピックと呼ぶことにする。ランダムピックを実行するには、ワークは予め定められた位置姿勢には配置されていないため、ワークを拾い上げる際にパーツトレー３０３における特定の収納部と把持手段とが干渉しないかチェックする必要がある。
【０００５】
このようにワークの位置姿勢にバラツキのある供給系からワークを拾い上げる工程において、収納部と把持手段とが干渉しないかを検証するロボット装置に関して、特許文献１に示す技術が知られていた。特許文献１においては、把持すべきワークの位置姿勢から把持手段の位置姿勢を定め、その後にオンラインで把持手段のモデル（ポリゴン）と収納部のモデル（ポリゴン）との干渉計算を行って判定していた。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−３３１４８０
【発明の概要】
【発明が解決しようとする課題】
【０００７】
前述した特許文献１に記載のロボット装置を用いて、前述した図３に示すようなランダムピック工程を実行しようとする場合、収納部と把持手段とが干渉しないかを判定するために、オンラインでポリゴン同士の干渉計算を行うことになる。ポリゴン同士の干渉計算は総じて計算時間がかかるので、タクトが伸びるという課題があった。
【０００８】
本発明の目的は、係る工程において、収納部と把持手段との干渉判定を高速に行うロボット装置を提供することにある。
【課題を解決するための手段】
【０００９】
ビジョンセンサと、把持手段を備えたロボットと、前記ビジョンセンサおよび前記ロボットを制御する制御部とを備えたロボット装置であって、
前記制御部には前記ロボットによる把持動作の際の位置姿勢データと、ワークおよび前記ワークの収納部の幾何学データに基づいて設定された、把持動作が禁止された前記ロボットおよび前記ワークの相対的な位置姿勢データがあらかじめ記憶されており、
前記制御部は、前記ビジョンセンサによって撮像されたワークおよび前記撮像されたワークの収納部の位置姿勢のデータを取得し、
取得した前記撮像されたワークおよび前記収納部の前記位置姿勢データと、前記把持動作が禁止された位置姿勢データと、を比較して前記ロボットと前記収納部との干渉の有無を判定し、
前記制御部は干渉の有無に関する前記判定に基づき、前記ロボットで収納部に設けられた前記ワークを把持する制御を行うことを特徴とするロボット装置。
【発明の効果】
【００１０】
ポリゴン同士の干渉計算によらず、あらかじめ求められた把持禁止位置姿勢範囲を参照して収納部と把持手段とが干渉しないかどうかを判定するので、高速に判定を行うことができる。
【図面の簡単な説明】
【００１１】
【図１】本発明に係わるロボット装置のブロック図である。
【図２】本発明に係わるソフトウェアモジュールの構成図である。
【図３】本発明により好適に遂行できる工程を模擬した図である。
【図４】パーツトレーを上面から俯瞰した図である。
【図５】本発明に係わるロボット装置の動作を示すフローチャートである。
【図６】把持禁止位置姿勢範囲を求めるフローチャートである。
【図７】ワークモデルの複製を説明する図である。
【図８】把持禁止位置姿勢範囲の設定を説明する図である。
【図９】（ａ）把持手段と収納部が干渉する場合を説明する図、（ｂ）把持手段と収納部が干渉しない場合を説明する図である。
【図１０】本発明に係わる別の実施例を説明するフローチャートである。
【発明を実施するための形態】
【００１２】
（実施例１）
以下、図面を参照して本発明の好適な実施例について説明する。図１は本発明を適用できるロボット装置のブロック図である。本実施例のロボット装置は、把持手段３０４としてのグリッパーハンドあるいは三爪チャックを備えたロボット３０５、ビジョンセンサ３０６、制御部としてのコンピュータ１０１を備えている。コンピュータ１０１には、ロボットおよびビジョンセンサをコントロールしたり、データの送受信およびシミュレーション等を実行したりするソフトウェアモジュールがインストールされている。コンピュータ１０１は、ＣＰＵ１０２、ＲＯＭ１０３、ＲＡＭ１０４、入出力回路（以下、Ｉ／Ｏ）１０５から構成されている。ＣＰＵ１０２は各ソフトウェアモジュールをプログラムに基づいて実行する。ＲＯＭ１０３は前記ソフトウェアモジュールや収納部の幾何学データなどを記憶している。ＲＡＭ１０４は演算のためのデータを読み書きする。Ｉ／Ｏ１０５はユーザやロボットなど外部とのデータをやり取りする。
【００１３】
図２はロボット装置において実行されるソフトウェアモジュールの構成を示す図である。
【００１４】
全体制御モジュール２０１は、後述するＵＩモジュール２０２、禁止姿勢設定モジュール２０３、動作シミュレーションモジュール２０８、ロボット制御モジュール２０９、を備え、それぞれを協調して動作させる役割を担っている。
【００１５】
ＵＩモジュール２０２は、オペレータが後述するワーク位置姿勢範囲やワーク位置姿勢刻み幅を入力するのに用いられる。
【００１６】
禁止姿勢設定モジュール２０３は、ワーク位置設定モジュール２０４、ワーク位置姿勢刻み幅設定モジュール２０５、ワークモデル複製モジュール２０６、干渉チェックモジュール２０７から構成されている。
【００１７】
ワーク位置設定モジュール２０４は、収納部内で想定されるワーク位置姿勢のバラツキ幅をオペレータがＵＩモジュール２０２から入力し、ワーク位置姿勢範囲として設定する。
【００１８】
ワーク位置姿勢刻み幅設定モジュール２０５は、ワーク位置姿勢範囲を分割する刻み幅をオペレータがＵＩモジュールから入力し、ワーク位置姿勢刻み幅として設定する。刻み幅が小さいと設定できるワーク位置姿勢の種類が豊富になるが、データ数も増加する。
【００１９】
ワークモデル複製モジュール２０６は、収納部に対するワークの位置姿勢が理想状態にあるワークモデルから、前記ワーク位置姿勢範囲と前記ワーク位置姿勢刻み幅に従い、位置姿勢をずらしたワークモデルを複製する。ここでは複製することを例に挙げたが、複製ではなく新たにワークモデルを設定しても同様の効果がある。
【００２０】
干渉チェックモジュール２０７は、把持手段と収納部の幾何学形状が記憶されており、複製されたワークモデルの夫々に対して、把持を試みた際に把持手段と収納部とが干渉しないかどうかをチェックする。
【００２１】
動作シミュレーションモジュール２０８は、逆運動学計算や可動範囲チェックを始めとしたロボットの動作検証を行う。
【００２２】
以下説明するように把持が禁止された位置姿勢データの範囲外のワークの位置姿勢に対してロボットの動作が可能かどうかを検証する動作シミュレーション工程が実行される。
【００２３】
ロボット制御モジュール２０９は、前記逆運動学計算結果に基づきロボット３０５を制御し、また把持手段３０４を制御する。
【００２４】
ビジョンセンサ制御モジュール２１０は、ビジョンセンサ３０６を制御し、撮像した結果からワークの位置姿勢を算出する。すなわち制御部は、ビジョンセンサによって撮像されたワークおよびワークの収納部の位置姿勢のデータを取得する。
【００２５】
図３は本発明を適用できるロボット装置によって好適に遂行されるランダムピック工程を模擬した図である。パーテーションで区切られた複数の収納部３０２から構成されるパーツトレー３０３がロボット３０５から所定の位置に配置されている。また、各収納部３０２には１つずつワーク３０１が収納されている。ロボットの動作としては、まずビジョンセンサ３０６を用いてワーク３０１の位置姿勢を計測する。そして、その計測結果をもとにロボット３０５を制御してグリッパ状の把持手段３０４によってワーク３０１を把持し、収納部３０２から拾い上げる工程が実行される。図４はワークが収納されたパーツトレー３０３を上から俯瞰した図である。
【００２６】
以下、本発明を適用できるロボット装置の動作について説明する。図５は、前述した図２に示したソフトウェアモジュールを実行しておこなわれる本実施例におけるロボット制御を、工程を追って記載したフローチャートである。
【００２７】
まず、あらかじめオフラインで、把持が禁止された位置姿勢の範囲を求める方法について図６のフローチャートを用いて説明する。この範囲を設定することは、ロボットの取りうる位置姿勢の有効な制約条件となっており、本実施例の特徴の一つである。
【００２８】
把持が禁止された位置姿勢の範囲を求める方法は以下のＳ１１１〜Ｓ１１５のステップから成る。
【００２９】
Ｓ１１１：予備実験ステップ
ワーク位置姿勢範囲は、ここでは現物のパーツトレーおよびワークを用いた予備実験結果から統計的に得られた数値を用いることとするが、その方法に限らない。仮想的な予備実験として、シミュレータを用いて乱数を用いてワーク位置姿勢を仮想的にバラつかせ、収納部と仮想ワークとの干渉チェックを行ってバラツキの範囲を見積もるなどの方法も考えられる。
【００３０】
Ｓ１１２：ワーク位置姿勢範囲の設定ステップ
Ｓ１１１で求められたワーク位置姿勢範囲をオペレータがコンピュータ１０１に入力する。並進および回転の自由度を合計すると最大６自由度（Ｘ，Ｙ，Ｚ，θＸ，θＹ，θＺ）のバラツキを考慮することになるが、後の説明を簡便にするために、図８を参照してひとつのモデルケースを示す。
【００３１】
ここでは図８（ａ）に示すごとく並進方向（Ｘ）および平面内回転方向（θ）の合計２自由度のみを考慮するが、一般にはそれに限らない。図８の紙面右手をＸ方向、紙面上手をＹ方向、紙面手前をＺ方向とすると、平面内回転方向（θ）は上述の６自由度のうちの、θＺに相当する。ここで挙げたモデルケースでは、ワークはパーツトレー３０３の収納部に安定に静置されており、ワークの不安定性（すなわちθＸ，θＹの自由度）は無いものと仮定した。
【００３２】
ここではワーク位置姿勢範囲を、並進方向（Ｘ）のバラツキ幅ΔＸ：−１［ｍｍ］〜＋１．５［ｍｍ］、平面内回転方向（θ）のバラツキ幅Δθ：−１０［ｄｅｇｒｅｅ］〜＋１０［ｄｅｇｒｅｅ］として設定されたものとする。
【００３３】
Ｓ１１３：ワーク位置姿勢の刻み幅の設定ステップ
先に求めたワーク位置姿勢範囲を分割する刻み幅をワーク位置姿勢刻み幅としてオペレータがコンピュータ１０１に入力する。刻み幅を細かくすればその分緻密なシミュレーションが可能となるが、計算量は増大するというトレードオフが存在する。ここではワーク位置姿勢刻み幅を、並進方向（Ｘ）の刻み幅  ０．５［ｍｍ］、平面内回転方向（θ）の刻み幅  ５［ｄｅｇｒｅｅ］として設定されたものとする。これにより、並進方向（Ｘ）に６通り、平面内回転方向（θ）に５通りのバラツキのパターンが定義された。
【００３４】
Ｓ１１４：ワークモデル複製ステップ
図７に示すごとく、収納部に対してワークが理想的に配置された状態を基準に、先に求めたワーク位置姿勢範囲とワーク位置姿勢範囲の刻み幅に基づき、ワークモデルを複製する。具体的にはワークモデル６０１（Σ＿ｃ１）をΣ＿ｃ１（１，１）（理想位置姿勢に対して＋５［ｄｅｇｒｅｅ］）、Σ＿ｃ１（１，２）（理想位置姿勢に対して＋１０［ｄｅｇｒｅｅ］）・・・のように複製する。本実施例においては、並進方向（Ｘ）に６通り、平面内回転方向（θ）に５通りのバラツキのパターンがあるので、その組み合わせの数として、オリジナルを含めて３０通りのワークモデルが複製される。
【００３５】
ワークモデルの複製の手法を用いずに、直接に複数のワークモデルを生成しても同じである。
【００３６】
Ｓ１１５：干渉チェックステップ
以下説明する計算はコンピュータ１０１で行われる。
準備された３０通りのワークモデルの夫々に対し、所定の相対位置姿勢の関係にある把持手段を備えたロボットの位置姿勢を計算する。以下の説明では特に干渉が発生しやすい、ロボットにおける把持手段と、入力されている夫々のワークモデルとの相対的な位置姿勢を計算する。
【００３７】
夫々のワークモデルに対する把持手段の位置姿勢が計算されれば、収納部座標系６０２における把持手段の位置姿勢が決まるので、干渉チェックを実行することができる。すなわち、干渉チェックモジュールに記憶された収納部の幾何学モデルと把持手段の幾何学モデル、および夫々のワークモデルを用いて、収納部と把持手段が干渉するか否かを判定できる。図９（ａ）に干渉する場合の模式図を、図９（ｂ）に干渉しない場合の模式図を示す。図９（ａ）では、把持手段３０４の断面９０１が収納部と一部重なっており、すなわち干渉していることがわかる。チェックの結果把持手段と収納部とが干渉するとコンピュータ１０１が判定したワークモデルの位置姿勢の範囲が、把持が禁止された位置姿勢の範囲として設定される。ここでは把持手段の位置姿勢を計算したが、ロボットの形状やワークの配置によっては、ロボットを構成するリンク等が収納部に干渉することが想定されるケースもある。その場合は干渉が予想されるロボットの部位を特定するか、あるいはロボット全体を対象にロボットによる把持動作の際の位置姿勢データを生成して利用するとよい。
【００３８】
図８を用いてさらに具体的に位置姿勢のデータの計算過程や設定過程を説明する。図８（ｂ）のマトリクスの中身は干渉チェックステップ実行前の把持禁止位置姿勢範囲の状態である。並進方向（Ｘ）のバラツキおよび平面内回転方向（θ）のバラツキの組（３０通り）に対して、収納部と把持手段との干渉が起こるかどうか不明な状態であるので、マトリクスの各ボックスには“？”印が記載されている。ここで並進方向（Ｘ）のバラツキおよび平面内回転方向（θ）のバラツキの組を１つ定めると、収納部座標系における把持手段の位置姿勢が一意に定まるので収納部との干渉をチェックできる。全ての組に対してチェックをコンピュータが行った結果が図８（ｃ）である。理想位置姿勢からのずれが（Ｘ＝−１［ｍｍ］，θ＝  −１０［ｄｅｇｒｅｅ］）の組のように×印が記載されている組は、干渉チェックの結果、収納部と把持手段との干渉が起こると判定されたことを意味する。理想位置姿勢からのずれが（Ｘ＝０［ｍｍ］，θ＝０［ｄｅｇｒｅｅ］）の組のように○印が記載されている組は、干渉チェックの結果、干渉が起きないと判定されたことを意味する。全ての組に対して干渉チェックを行った結果、×印が記載された組を把持が禁止された位置姿勢の範囲として設定する。
【００３９】
図８（ｃ）のテーブル上で、○印が記載されている組はひと続きの単連結な領域となっていることが見て取れる。すなわち×印の領域を避け、この○印の領域から選択される姿勢を選べば、収納部とロボットとの干渉を回避しつつワークを把持できることが期待できる。
【００４０】
以上、把持が禁止された位置姿勢の範囲の求め方について説明した。上記の計算過程はコンピュータ１０１で行われていることとして説明したが、他の演算機で計算した上でロボット装置の制御部であるコンピュータに記憶させても良い。
以下、このデータはロボット装置の制御部であるコンピュータに記憶されているものとして、このデータをオンラインでどう活用するかについて図５のフローチャートを用いて説明する。
【００４１】
Ｓ２１０：ビジョン検出
ビジョンセンサ３０６でワークの位置姿勢を検出する。このとき、ワークの位置姿勢はビジョン座標系（ビジョンセンサを基準とする座標系）での値で表現されている。
【００４２】
Ｓ２２０：座標変換
ビジョン検出結果を収納部座標系（収納部を基準とする座標系）での値に変換する。あらかじめビジョンセンサ３０６により各収納部３０２の特徴点を検出することによって、ビジョンセンサ３０６と各収納部３０２の位置関係は校正値を算出できるので、座標変換が可能である。
【００４３】
Ｓ２３０：把持禁止位置姿勢範囲チェック
制御部は、ワークの位置姿勢が、あらかじめ求めておいた把持が禁止された位置姿勢の範囲に入っていないかチェックする。例えば、Ｘ＝−１［ｍｍ］，θ＝１０［ｄｅｇｒｅｅ］の時は把持禁止位置姿勢範囲に入っているのでＮＧとなる。Ｘ＝０［ｍｍ］，θ＝０［ｄｅｇｒｅｅ］の時は把持禁止位置姿勢範囲に入っていないのでＯＫとなる。
【００４４】
すなわち、一連の工程を経ることで、取得したワークおよび収納部の位置姿勢データと、把持動作が禁止された位置姿勢データと、を比較してロボットと収納部との干渉の有無を判定している。
【００４５】
Ｓ２４０：判断１
上記チェック結果がＮＧならば、Ｓ２９０に遷移し、そのワークをスキップして、Ｓ２１０に戻り、次のワークの位置姿勢を検出する。ＯＫならば次のステップに進む。
【００４６】
Ｓ２５０：逆運動学チェック
上記Ｓ２３０のチェックをクリアしたワークは、把持しようとする際に収納部と把持手段とが干渉しないことが分かっているので、ロボットの逆運動学をチェックする。
ロボットの関節の位置や角度から可動端の位置姿勢を求めることを運動学といい、
逆に、可動端の位置姿勢から各関節の位置や角度を求めることを逆運動学という。
すなわち、当該ステップでは把持手段の位置姿勢からロボットの関節の位置や角度を求める。
【００４７】
Ｓ２６０：判断２
上記チェック結果がＮＧならば、Ｓ２９０に遷移し、そのワークをスキップして、Ｓ２１０に戻り、次のワークの位置姿勢を検出する。ＯＫならば次のステップに進む。
【００４８】
Ｓ２７０：把持動作
上記Ｓ２３０およびＳ２４０のチェックをクリアしたワークは把持可能であるので、ロボット制御モジュールはロボットおよび把持手段に拾い上げ動作を行わせる。
【００４９】
Ｓ２８０：判断３
全てのワークに対して試行が終わっていなければ、Ｓ２９０に遷移し、次ワークを対象にＳ２１０に戻る。そうでなければ終了する。
【００５０】
Ｓ２９０：ワークスキップ（次ワークを対象）
把持対象のワークを、次のワークに切り替える。
【００５１】
判断１以降の工程を経ることで、制御部は干渉の有無に関する判定に基づき、ロボットで収納部に設けられたワークを把持する制御を行うことになる。
【００５２】
このように本実施例によれば、記録されている把持が禁止された位置姿勢の範囲を参照して収納部と把持手段との干渉判定ができるので、ポリゴン同士の干渉計算による判定よりも計算量が少なく、高速に判定できる。図５に示されたフローチャートからも明らかなように、まず把持が禁止された位置姿勢の範囲ではない姿勢を選択した上で、その姿勢をロボットが取りうるのかチェックする点に本実施例の特徴がある。
【００５３】
従来の技術は、まずロボットが取りうる特定の位置姿勢を（逆運動学チェック等を活用して）選択し、その姿勢において干渉がおこるかどうかチェックしていたため、過度な演算時間が必要であった。
【００５４】
本実施例では、逆運動学チェックを行う際にはすでに把持が禁止された位置姿勢は除かれているので、演算負荷が小さいという優れた効果を備えている。
【００５５】
（実施例２）
以下、本発明の別の実施例について、図１０のフローチャートを用いて説明する。おおまかな流れについては先の実施例と同様であるので、差異のあるステップについて下記に示す。例えばＳ３１０−Ｓ３３０はＳ２１０−Ｓ２３０と同様であり、以下説明する本実施例に特徴てきな判断工程を除く各工程も同様であるので、説明を省略する。
【００５６】
Ｓ３４０：判断１
Ｓ３３０のチェック結果において実行された把持禁止位置姿勢範囲チェックがＮＧならば、Ｓ３９０：揺動動作に遷移する。ＯＫならば次のステップに進む。
【００５７】
なお前述の実施例１に記載されているようにワークをスキップする工程を同様に設定してもよい。その場合は、ワークスキップした結果一部あるいは全てのワークが把持禁止位置姿勢範囲に有る場合にＳ３９０：揺動動作に遷移するように、システムを構成してもよい。
【００５８】
Ｓ３６０：判断２
Ｓ３５０のチェック結果がＮＧならばＳ３９０：揺動動作に遷移する。ＯＫならば次のステップに進む。
【００５９】
Ｓ３８０：判断３
全てのワークにたいして試行を完了したら終了へ、そうでない場合はパーツトレーに載置されている残りのワークに対称を更新して、Ｓ３１０のビジョン検出工程から同様に繰り返す。
【００６０】
Ｓ３９０：揺動動作
把持手段でパーツトレーを把持して揺り動かし、ワークの配置条件を変えてから、Ｓ３１０：ビジョン検出に戻る。
【００６１】
このように本実施例においては、初期状態においては拾い上げ不可能だったワークについても、収納部内での配置条件を変えてリトライするので、供給されたワークを全て拾い上げられる可能性が高まる、という効果も奏する。
【符号の説明】
【００６２】
１０１  コンピュータ
１０２  ＣＰＵ
２０１  全体制御モジュール
３０１  ワーク
３０２  収納部
３０３  パーツトレー
３０４  把持手段
３０５  ロボット
３０６  ビジョンセンサ
６０１  ワークモデル
６０２  収納部座標系
９０１  把持手段の断面
【図１】
2016020011.tif 000003
【図２】
2016020011.tif 000004
【図３】
2016020011.tif 000005
【図４】
2016020011.tif 000006
【図５】
2016020011.tif 000007
【図６】
2016020011.tif 000008
【図７】
2016020011.tif 000009
【図８】
2016020011.tif 000010
【図９】
2016020011.tif 000011
【図１０】
2016020011.tif 000012