(57)【要約】【課題】  物品の重なり合い部位の情報に基づいて適正な態様で物品の取出しを行なうこと。【解決手段】  ワークの全体モデルといくつかの部分モデルを相互位置関係をともに教示しておく。計測位置へロボットを移動させ視覚センサで全体モデルを検出する。各部分モデルの存在領域を計算し、その範囲で各部分モデルの検出を試みる。検出した全体モデルに対応するワークの３次元位置・姿勢を取得し、基準把持姿勢を定める。全部分モデルが検出できている場合は、把持位置へロボットを移動させ、基準把持姿勢で把持を実行し、ワークを取出す。検出不可の部分モデルがあれば、基準把持姿勢から別のワークが重なっている方向が下になるように姿勢を傾斜させ、次いで、別のワークが重なっていない方向にロボットを移動させる。重なりに応じてハンドを交換して別の箇所を把持する方法もある。【選択図】        図５
2005305613.tif 000002
【特許請求の範囲】
【請求項１】
重なり合って置かれた複数の物品について、視覚センサにより取出し対象の物品を検出し、該検出結果に従って、取出し手段によって前記取出し対象物品の取出しを行う物品取出し装置において、
前記視覚センサは、取出し予定の物品と同種の物品に対して１箇所以上の着目部位の情報を記憶する手段と、
取出し対象物品を捉えた画像に対して、前記記憶された着目部位の情報に基づいて、前記取出し対象物品の各着目部位が他の物品に隠蔽されているか否かを着目部位毎に検出する手段と、
他の物品により隠蔽された着目部位に応じて、前記取出し対象物品の取出しパターンを、選択、変更または生成する手段を備えた物品取出し装置。
【請求項２】
前記取出し手段がロボットであることを特徴とする、請求項１に記載の物品取出し装置。
【請求項３】
前記取出し対象物品の取出しパターンが、前記隠蔽を生じさせている前記他の物品の位置を基点として、前記隠蔽が生じている部位以外の前記対象物品上の部位を、相対的に上方に傾けて取出すものであることを特徴とする、請求項１または請求項２に記載の物品取出し装置。
【請求項４】
前記取出し手段が、前記取出し対象物品を取出すハンドを前記隠蔽された着目部位に応じて選択する手段を含むことを特徴とする、請求項１乃至請求項３の内いずれか１項に記載の物品取出し装置。
【請求項５】
前記取出し手段が、前記取出し対象物品上で隠蔽が生じていない部位を物品把持箇所として選択する手段を含むことを特徴とする、請求項１乃至請求項３の内いずれか１項に記載の物品取出し装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、容器に収容されるなどして複数個置かれている物品を順次取り出すための装置に関する。本発明は、例えば工場内でバラ積みされたワークを１個づつ取り出す際に用いられる。
【背景技術】
【０００２】
例えば工場の生産ラインにおいて、多数のワークが籠の中に整列されていない状態（バラ積み状態）で存在する場合に、各ワークの取出しを確実に行えるならば、大きな省力化の利点が得られる。ワークの取出しには、通常、ロボットが利用され、ワークの位置、姿勢等を知るために視覚センサが併用される。ところで、ロボットでバラ積みされたワークを取出す場合、次の取出し動作で取り出そうとするワーク（以下、「取出し対象ワーク」という）上にもしも何も載っていなければ、視覚センサで得られる情報等に基づいてロボットを制御し、その取出し対象ワークを把持し、普通に取出しても特に問題は生じない。
【０００３】
しかし、バラ積み状態のワークでは、取出し対象ワークに別のワークが重なっているケースが発生する。そのようなケースにおいてそのままその取出し対象ワークを持ち上げると、取出し対象ワーク上に乗っているワークが落下したり、ロボットによる搬送中に放り出されたりして危険である。あるいは、落下したワークが別のワークに当たればワークに傷がつくこともあるし、ワーク同士の衝突による騒音も起こる。
【０００４】
この問題に対して、従来は作業者の安全を優先し、そのような重なりがあるワークを発見しても、それを無視して作業を進めることが多かった。また、例えば、下記特許文献１では、他のワークとの干渉を起こしているワークを特定し、他部材との干渉が生じていない部品をピッキング（取出し）可能な部品として検出する方式が提案されている。しかし、往々にして、そうした干渉が生じているワークは最後まで取出すことができず、結果としてそれより下にあるワークは全て取出せなくなるため、作業効率が著しく低下する可能性がある、という課題が残っていた。
【０００５】
【特許文献１】特開平９−９１４４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
そこで、本発明の基本的な目的は、バラ積みワークのように重なり合って置かれている複数の物品を取出す際に、重なり合いが起っている部位に関する情報を取得して、適切な対応がとれるような物品取出し装置を提供することにある。本発明はまた、そのことを通して、物品の無理な取出しによる危険や、物品の損傷による品質不良を回避し、且つ、そうした物品を見逃してしまうことから生じる作業効率の低下を防止しようとすることを企図している。
【課題を解決するための手段】
【０００７】
本発明は、重なり合って置かれた複数のワークについて、視覚センサにより取出し対象のワークを検出し、該検出結果に従って、取出し手段によって前記取出し対象ワークの取出しを行うワーク取出し装置に適用される。  
そして、上記目的を達成するため、請求項１の発明では、前記視覚センサに、取出し予定のワークと同種のワークに対して１箇所以上の着目部位の情報を記憶する手段と、取出し対象ワークを捉えた画像に対して、前記記憶された着目部位の情報に基づいて、前記取出し対象ワークの各着目部位が他のワークに隠蔽されているか否かを着目部位毎に検出する手段と、他のワークにより隠蔽された着目部位に応じて、前記取出し対象ワークの取出しパターンを、選択、変更または生成する手段が設けられる。
【０００８】
ここで、典型的な取出し手段として、ロボットを用いることができる（請求項２）。また、前記取出し対象ワークの取出しパターンを、前記隠蔽を生じさせている前記他のワークの位置を基点として、前記隠蔽が生じている部位以外の前記対象ワーク上の部位を、相対的に上方に傾けて取出すものとすることができる（請求項３）。
【０００９】
更に、上記いずれの発明においても、前記取出し手段として、前記取出し対象ワークを取出すハンドを前記隠蔽された着目部位に応じて選択する手段を含むものを採用することができる（請求項４）。あるいは、前記取出し手段に、前記取出し対象ワーク上で隠蔽が生じていない部位をワーク把持箇所として選択する手段を含むものを用いることもできる。
【００１０】
このように、本発明に係る物品取出し装置は、ロボット等でバラ積みされた物品を取出す際に、対象の物品に別の物品が重なっている場合、それが対象の物品上のどこで重なっているかに関する情報を取得し、その情報に応じて取出し方を変える機能を有するものである。
【発明の効果】
【００１１】
本発明を用いることで、ロボット等でバラ積みされた物品（例えばワーク）を取出す際に、物品の状態に合わせた取出し方を行うことが可能となり、その結果、別のワークが重なっているような物品を無理に取出すことによる危険や品質不良を防ぎ、合わせて、そうした物品を取出さないことによる稼働率の低下も防ぐことができる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照して本発明の実施形態について説明する。先ず図１は、本発明の一つの実施形態で採用される全体構成を示した図である。本実施形態では、一例として、ここに示したハンド／視覚センサ（センサヘッド部）付のロボットを用いて、かご状の容器１０内にバラ積み状態で収容されているワーク２０を１個ずつ取出すアプリケースを考える。
【００１３】
ワーク２０の検出を行なう３次元視覚センサのセンサヘッド部は、スリット光または疑似スリット光を参照光として投光する投光器１と、投光された参照光を受光するビデオカメラ２からなっている。ビデオカメラ２は、参照光の反射光を検出する受光器としてだけではなく、計測対象の２次元的な特徴量を求めるためにも使用される。なお、「疑似スリット光」とは、平面状に走査されるスポット光によって形成される疑似的なスリット光のことである。
【００１４】
符号６は、ロボットコントローラ７に接続されて同ロボットコントローラ７により周知の方式で制御されるロボットである。図示されているように、３次元視覚センサ（センサヘッド部；以下、同様）は、ツール（ここではハンド）３とともにロボット６の先端のフランジ部に取り付けられている。ロボットコントローラ７は視覚センサの画像処理／制御部を兼ねており、投光器１、ビデオカメラ２に接続され、投光器１の投光動作、ビデオカメラ２の撮像動作の制御、画像の取り込み、画像処理の外、後述する諸処理がこのロボットコントローラ７内で行なわれる。
【００１５】
ロボット６は固有の座標系（以下、「ロボット座標系」という）８を持っており、ロボット６のアーム先端のフランジ部には、同フランジ部に固定された座標系（以下、「フランジ座標系」；メカニカルインタフェース座標系とも言う）４が設定されている。周知のように、フランジ座標系４の位置・姿勢は、ロボット６の現在位置に対応してロボット座標系８上で動くが、両座標系上での位置・姿勢を表現するデータは、ロボットコントローラ７内のメモリに記憶されているパラメータを使って随時相互に換算できるようになっている。
【００１６】
また、３次元視覚センサについて周知のキャリブレーションが完了しており、それによって得られた諸データ（キャリブレーションデータ）はロボットコントローラ７内のメモリに記憶されている。キャリブレーションデータには、投光器１の投光するスリット光が空間上どこに平面（参照光面）を構成しているかを計算するためのデータ、ビデオカメラ２の光軸はどの方向を向いているかを計算するためのデータ等が含まれている。また、同時に視覚センサ自身の固有の座標系（以下、「センサ座標系」という）５が設定されており、フランジ座標系４とセンサ座標系５は変換行列［Ｓf ］で関連付けるようになっている。
【００１７】
この変換行列［Ｓf ］のデータもロボットコントローラ７内のメモリに合わせて記憶されている。なお、キャリブレーションの具体的なやり方、変換行列［Ｓf ］の求め方等については周知であるから、詳細は省略する。
【００１８】
以下、上記のハンド３及び視覚センサ（センサヘッド部）付のロボット６を用いてワーク２０を取出す作業の進め方について説明する。ワーク２０の認識には、上述の如くセンサヘッド部（投光器１及びビデオカメラ２）をロボット６に搭載した３次元視覚センサを使用する。既述の通り、ビデオカメラ２は、計測対象の２次元的な特徴量を求めるためにも使用されるもので、ビデオカメラ２で得られる２次元画像の処理に基づく検出情報は、３次元視覚センサとしての検出情報と同様に、それぞれのキャリブレーションデータによって、同一のセンサ座標系５上の結果として出力される。センサ座標系５上でのデータを表わす出力が、行列［Ｓf ］による変換を通してロボットのフランジ座標系（メカニカルインタフェース座標系）４上でのデータと関係づけられていることも既に述べた通りである。
【００１９】
さて、バラ積み状態にあるワークの取出しを行なうために、予め、ワーク全体のモデル（以下、全体モデルと呼ぶ）と、その周辺部位のモデル（以下、部分モデルと呼ぶ）を教示しておく。図２は、ワークの全体モデル及び部分モデルの事前教示について説明する図で、（ａ）は全体モデルと部分モデルの関係の例を示し、（ｂ）は各モデルの原点（代表点）の位置関係をテーブル形式で表わしている。
【００２０】
ワークの全体モデル及び部分モデルの事前教示を行なうには、先ず教示に用いる代表ワーク（任意の１個のワーク）の全体をビデオカメラ２の視野に収め得る適所に置き、ビデオカメラ２による撮像を行い、例えば図２（ａ）に示したような２次元画像を取得する。この画像を画像処理し、１つの全体モデルといくつかの部分モデル（ここでは２つの部分モデル）のデータを記憶する。記憶するデータは、各モデルの形状情報だけでなく、全体モデルの画像上の位置及び回転（姿勢）、ワークモデル教示時の全体モデルと各部分モデル間の画像上での相対的な位置関係を記憶しておく。即ち、図２（ａ）において、全体モデルの原点Ｐ０（全体モデルの位置を代表する点で、例えばワーク画像Ｗの重心とする）と、各部分モデル１、２を代表する「部分モデル１、２の各原点Ｐ１、Ｐ２」（例えば各部分モデル１、２に対応する画像領域の重心）の位置と方向（画像上の座標軸を基準にした回転で表現）が記憶される。図２（ｂ）は記憶データの態様をテーブル形式で例示したものである。なお、教示される部分モデルの個数に特に制限はない。
【００２１】
次に、実稼動時の動作について、実稼動時のロボットの動作と計算プロセスに関連するフローチャートを示した図３の各ステップ毎に、図４、図５を適宜参照図に加えながら説明する。  
ステップＳ１；計測位置へロボット６を移動させる。計測位置は、予め教示された位置で、例えばワーク２０を収容した容器１０の中央部の上方で、数個のワークに対応する画像をビデオカメラ２の視野に収められるような位置とする。  
ステップＳ２；ビデオカメラ２による撮像を行い、２次元画像を取得する。  
ステップＳ３；取得した２次元画像を処理し、全体モデルの検出を試みる。全体モデルの検出には、例えば前述した教示済みの全体モデルをテンプレートに用いたマッチング法が適用できる。なお、マッチング法による全体モデルの検出自体は周知なので、詳細説明は省略する。  
ステップＳ４；検出できなければ残りワークなしと判断して処理を終了する。検出できたらステップＳ５へ進む。
【００２２】
ステップＳ５；各部分モデル１、２の存在領域を計算する。そのために、全体モデルの検出結果と、教示時の全体モデルの位置と回転から、画像上でのワーク全体の教示状態からの位置と姿勢のずれを推定する。このずれと、前述した記憶データ（図２（ｂ）参照）に基づいて、部分モデル１、２が存在する範囲が計算できる。  
ステップＳ６；ステップＳ５で計算された範囲の領域中で各部分モデルの検出を試みる。
【００２３】
ステップＳ７；各部分モデル１、２について、検出の成否を記憶する。ここで、「検出成功」はその部分に他のワークが載っていないと判断することを意味し、「検出不成功」は、その部分に別のワークが重なっていると判断することを意味している。例えば、部分モデル２は検出できたが部分モデル１が検出できない場合には、ステップＳ３で検出された全体モデルに対応するワーク（今回の取出し対象ワーク）の部分モデル１に対応する部分が他のワークで隠蔽されていると判定する。図４は、その様子を、全体モデルの教示時との位置、姿勢の比較とともに示している。図４中、符号Ｐ0 は教示時の全体モデル原点位置を表わし、符号Ｐ0'はステップＳ２で得られた画像中の全体モデル原点位置を表わしている。
【００２４】
ステップＳ８；全体モデルの中心Ｐ0'から部分モデルｉ（ここではｉ＝１、２）の原点までのベクトルについて、センサ座標系５（図１参照）上で表したものＶi を求める。Ｖi には、奥行き方向の情報がないので、Ｚ成分＝０とする。
【００２５】
尚、ここまでのステップでは、全体モデルと部分モデルと区別し、全体モデルを先に検出し、その検出結果に基づいて、その他の部分モデルを検出する、という手順を採用しているが、実際には、記憶すべきものの中に全体モデルを含む必要はなく、合わせて、最初に検出するのは全体モデルである必要もない。部分モデルのみの組み合わせで記憶し、その中の１つを上記の全体モデルのような基準にすることも可能である。
【００２６】
また、上記ではある基準のモデルを先に検出し、その検出結果に基づいて、その他のモデルを検出する、という手順をとっているが、全てのモデルについて独立に検出を行い、それらの検出結果について、相対位置関係を相互に比較し、隠蔽の有無を判断することも可能である。
【００２７】
ステップＳ９；検出した全体モデル（あるいは複数の部分モデル）に対応するワーク（即ち、今回の取出し対象ワーク）について、３次元視覚センサを用いて全体の３次元位置・姿勢を取得する。取得したワーク全体の位置・姿勢を行列［Ｗa ］で表現して記憶する。［Ｗa ］＝［Ｎa ，Ｏa ，Ａa ，Ｐa ］となる。Ｎa ，Ｏa ，Ａa ，Ｐa はそれぞれ、ノーマルベクトル、オリエンテーションベクトル、アプローチベクトル及び位置である。
【００２８】
ステップＳ１０；上記のアプローチベクトルＡa が、ツールの方向に一致するような姿勢を把持姿勢（基準把持姿勢）とする。  
ステップＳ１１；把持位置へロボット６を移動させる。  
ステップＳ１２；ハンド３を閉じてワークを把持する。
【００２９】
ステップＳ１３；ステップＳ７で部分モデル１、２のいずれも検出成功であれば、ステップＳ１４へ進む。部分モデル１、２の少なくとも一方が検出不成功であればステップＳ１５へ進む。  
ステップＳ１４；把持したワークを持ち上げて、プログラムで指定された場所まで搬送し、ステップＳ１へ戻る。即ち、このケースでは取出し対象のワークに他のワークが重なっていないので、把持を行なった基準把持姿勢のままワークを持ち上げても、ワーク落下等の不都合は起らないと考えて良い。
【００３０】
ステップＳ１５；ツール（ハンド）３の姿勢の変更内容を定める。即ち、このケースでは、取出し対象ワークに別のものが載っていると考えられるので、ステップＳ１２で把持はできても、そのまま引き上げれば重なっていた他のワークが途中で落下する。場合によっては、重なったまま持ち上げてしまい、搬送時に飛ばしてしまったりすることもある。そこで、別の方式でワークの把持と取出しを行なう。ここでは重なりの方向性に応じて傾け方を選択し、斜めに取出す方式を採用する。図５（ａ）、（ｂ）は、この方式について説明する図で、（ａ）は傾け方のルールに関する説明図、（ｂ）は把持後のツール傾斜とその後の移動に関する説明図である。
【００３１】
即ち、図５（ａ）に示したように、基準把持姿勢（アプローチベクトルＡa の方向）を基準として、傾ける方向は、別のワークが重なっている方向、つまり部分モデルが検出できなかった方向が下になるよう定める。傾斜量は予め検出できなかった部分モデル毎に記憶しておく。
【００３２】
ステップＳ１６；ステップＳ１４で定めた傾斜姿勢をとる。
【００３３】
ステップＳ１７；別のワークが重なっていない方向、つまり検出できなかった部分モデルが存在しない方向にロボット６を移動させる。図５（ｂ）には、ステップＳ１６〜ステップＳ１７の動きが描かれている。具体的には、例えば前述したベクトルＶi の符号を反転させた移動量−Ｖi の移動を行なわせる。
【００３４】
あるいは、基準把持姿勢で把持した位置姿勢（＝計測したワークの位置姿勢）［Ｗa ］から、傾けた位置姿勢［Ｗb ＝［Ｎb,Ｏb,Ａb,Ｐb ］へ動作させ、更に、斜め抜き出し位置［Ｗc ］＝［Ｎc,Ｏc,Ａc,Ｐc ］を計算で求めそれらの位置へ順に動作させても良い。具体的な計算を、以下に示す。
【００３５】
新たな座標系 ［Ｗn ］＝［Ｎn,Ｏn,Ａn,Ｐn ］を下記のように定義する。 
Ａn ＝Ａa 
Ｏn ＝（Ａn ×（［Ｕf ］＊［Ｓf ］＊Ｖi ）／‖Ａn ×（［Ｕf ］＊［Ｓf ］＊Ｖi ）‖
Ｎn  ＝  Ｏn ×Ａn 
Ｐn ＝Ｐa 
但し、［Ｕf ］は、計測時のフランジ座標系の位置・姿勢を表わす行列である。
【００３６】
ここで定義された座標系では、回転軸がY軸に設定される。従って、Y軸回りにα回転させる座標変換をＲｏｔ［Ｙ，α］で定義すると、［Ｗb ］＝［Ｗn ］＊Ｒｏｔ［Ｙ，α］＊Ｉｎｖ（［Ｗn ］＊［Ｗa ］となる。ここで、Ｉｎｖ［Ｗn ］は［Ｗn ］の逆行列である。
【００３７】
また、［Ｗc ］については、［Ｗm ］＝［Ｗn ］＊Ｒｏｔ［Ｙ，α］＝［Ｎm,Ｏm,Ａm,Ｐm ］を定義すると、
Ｎc ＝Ｎb 
Ｏc ＝Ｏb 
Ａc ＝Ａb 
Ｐc ＝Ｐb −β＊Ｎm （但し、βは取出し量）
と計算できる。  
ステップＳ１８；把持したワークを持ち上げて、プログラムで指定された場所まで搬送し、ステップＳ１へ戻る。
【００３８】
なお、ここではツールを傾けて、斜めに取出す例を示したが、取出し方は、ワークの形状やワークの存在する場所によって変わる。例えば、斜めに取出すと、ワークの入っている入れ物とツールの干渉が発生する、という場合は、ツール周りにゆっくり回転させワークを振り落しながら取出したり、普通の速度に比べてゆっくり取出して、同じワークを落下するにしてもショックを軽減したり、途中までは普通に取出すが、その後干渉の恐れのない場所に移動後に傾ける、といった方法も考えられる。
【００３９】
また、上記説明した例では、ワークの隠蔽状態に応じてロボットの動作を変更または選択する内容について記述したが、ワーク同士に隠蔽が発生しうる場合に、安全にかつ有効にワークを取出す方法には、更に以下に記述するような方法もある。  
図６は、ワーク２１、２２、２３等に２つの大小の穴Ｈ１、Ｈ２が空いており、それらが複数バラ積みされている例を示している。このワークの把持方法として、ワークに空いている穴Ｈ１あるいはＨ２を内側から押し広げる方法を採ることができる。このようなワークの把持方法は、穴部を持つ機械部品などには比較的よく行われるものである。これを既述のようにセンサで計測し、ワーク同士の隠蔽状態を検出した上で、把持し取出すことを考える。即ち、上述した例と同様に、全体モデルと部分モデルを教示する。
【００４０】
部分モデルとしては、例えば部分モデル１を「穴Ｈ１を含む領域をカバーする領域」に定め、部分モデル２を「穴Ｈ２を含む領域をカバーする領域」に定めれば良い。これにより、上述した例と同様に、部分モデル１、２の検出の可／不可によって、検出された全体モデルに対応するワークの各穴Ｈ１、Ｈ２が他のワークで塞がれているか否か、判別できる。
【００４１】
従って、周囲から隠蔽をうけていないワーク２１（両方の穴Ｈ１、Ｈ２が露出）を見つけ出すことができれば、そのワークから取り出せば良い。但し、実際には何らかの要因によりワーク２１が未検出となる場合も否定できない。その場合、例えば他に検出されたワーク２２、２３（一方の穴が塞がっているワーク）に対して把持、取出しの作業を行い、全体の取出し作業を続行する必要が出てくる。図６のような場合は、大小２つの穴Ｈ１、Ｈ２それぞれを把持するのに適したハンドを予め用意しておき、検出されたワーク上で隠蔽されていない穴の種類に応じてハンドを選択し、その隠蔽されていない穴を対象として把持、取出し作業を行うことになる。
【００４２】
具体的には、ワーク２２が取出すべきワークとして検出された場合は、小さい方の穴Ｈ１を把持するハンドを選択し、小さい方の穴Ｈ１を把持する動作を起動し、把持および取出しを行う。
【００４３】
また、ワーク２３が取出すべきワークとして検出された場合は、大きい方の穴Ｈ２を把持するハンドを選択し、大きい方の穴Ｈ２を把持し、取出す動作を行う。この場合のハンドの選択については、ダブルハンドの構造になっていてその場でロボットあるいはハンドの姿勢を切り替えることで実現可能であるし、ツールチェインジャーを使って、別々のハンドになっているものから選んでも構わない。
【００４４】
更に、図６のワークの２つの穴が同一のハンドで取出し可能な場合は、検出されたワークの隠蔽状態に応じて、隠蔽されていない方の穴を把持して取出し作業を行えば良い。
【図面の簡単な説明】
【００４５】
【図１】本発明の一つの実施形態で採用される全体構成を示した図である。
【図２】ワークの全体モデル及び部分モデルの事前教示について説明する図で、（ａ）は全体モデルと部分モデルの関係を示し、（ｂ）は各モデルの原点（代表点）の位置関係をテーブル形式で示している。
【図３】実施形態で実行される手順の概略を示したフローチャートである。
【図４】取出し対象ワークの一部（部分モデル１に対応する部分）に他のワークが重なっている状況を例示した図である。
【図５】他のワークの重なりの方向性に応じてツールの傾け方を選択し、斜めに取出す方式について説明する図で、（ａ）は傾け方のルールに関する説明図、（ｂ）は把持後のツール傾斜とその後の移動に関する説明図である。
【図６】ワークに２つの穴があり、いずれかの穴に対応してハンドの種類を選択するケース、または、いずれの穴を利用しても同一のハンドで取出し可能なケースについて他のワークによる隠蔽状態に応じて取出し位置を選択する方式について説明する図である。
【符号の説明】
【００４６】
１  投光器
２  ビデオカメラ
３  ツール（ハンド）
４  フランジ座標系（メカニカルインタフェース座標系）
５  センサ座標系
６  ロボット
７  ロボットコントローラ
８  ロボット座標系
１０  カゴ状の容器
２０〜２３  ワーク
【図１】
2005305613.tif 000003
【図２】
2005305613.tif 000004
【図３】
2005305613.tif 000005
【図４】
2005305613.tif 000006
【図５】
2005305613.tif 000007
【図６】
2005305613.tif 000008