(57)【要約】      （修正有）【課題】ロボットを停止させずにハンドによるワークの把持状態を観測できるようにして、専用のコンベアを要しないワーク搬送装置を提供する。【解決手段】ワーク１はハンド１１で把持され、停止することなくカメラ１０３で撮像され、パーソナルコンピュータ１０４で特徴部１０５の位置・姿勢が検出される。ロボット制御装置１０２は、１回以上、撮像トリガ指令の出力と同期してロボット１０１の現在位置を記憶する。このロボット１０１の現在位置と検出結果から、ロボット１０１のフランジまたはハンド１１と特徴部１０５との相対位置姿勢が検出される。これを正常把持時の相対位置姿勢と比較し、把持誤差を求め、許容誤差を越えていればロボット１０１を停止させる。許容誤差以下であれば、把持誤差の影響を打ち消すように、ワーク解放のための教示位置Ｑ１をＱ２に補正する。【選択図】        図１
2004249391.tif 000002
【特許請求の範囲】
【請求項１】
ハンドでワークを把持して該ワークを搬送するロボットと、視覚センサを備えたワーク搬送装置において、
前記視覚センサは、前記ロボットにより搬送動作中のワークの特徴箇所を撮像する撮像手段と、該撮像手段により取得した前記特徴箇所の画像に基いて前記撮像時における前記ワークの特徴箇所の位置を検出する位置検出手段とを有し、
前記視覚センサにより、前記撮像時のロボットの位置と前記ワークの特徴箇所の位置に基いて、ロボットによって搬送移動されるまま、前記ワークの把持状態が認識されることを特徴とする、ワーク搬送装置。
【請求項２】
前記ロボットのハンドによる所定の把持状態を予め記憶する手段と、
該所定の把持状態と前記視覚センサにより認識された前記撮像時の把持状態とを比較して誤差を求める手段と、
該誤差が所定の許容限界を超えたとき前記ロボットを停止させる手段、又は、異常を示す信号を出力する手段とを備えたことを特徴とする、請求項１に記載のワーク搬送装置。
【請求項３】
前記ロボットのハンドによる所定の把持状態を予め記憶する手段と、
該所定の把持状態と、前記視覚センサにより認識された把持状態とを比較して誤差を求める手段と、
該誤差に基き前記ロボットのワーク搬送先の位置を補正する手段とを備えたことを特徴とする、請求項１に記載のワーク搬送装置。
【請求項４】
前記把持状態が、前記ロボットのアーム先端又は前記ハンドと前記ワークとの相対位置姿勢によって与えられることを特徴とする、請求項１乃至請求項３の内、何れか１項に記載のワーク搬送装置。
【請求項５】
前記撮像時ロボットの位置を検出する手段が、前記ロボットの制御装置に備えられ、
該制御装置は、前記検出手段による前記撮像時のロボットの位置の検出実行と、前記撮像手段に対する撮像指令を同期させる手段を更に備えることを特徴とする、請求項１乃至請求項４の内、何れか１項に記載のワーク搬送装置。
【請求項６】
前記撮像時のロボットの位置の検出実行と同期した撮像指令が複数回繰返し実行されることを特徴とする、請求項５に記載のワーク搬送装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ロボットのハンドでワークを把持してワークを搬送する搬送装置に関する。
【０００２】
【従来の技術】
ロボットのハンドでワークを把持し、次工程へ搬送するシステムにおいて、把持が正確になされているかを確認することは非常に重要である。把持誤差を含むのであれば、その分だけ、次工程のシステムに冗長度を与えることが必要になる。また、場合によっては、スペースや周辺機器の追加など、システムの拡充が要求されることもある。そこで、ワークの把持状態を視覚センサを用いて確認することが以前より試みられている。但し、その場合、カメラによる撮像タイミングをはっきりさせるために、カメラの視野内にワークの特徴個所が収める位置でロボットを一時停止させてから撮像を行い、把持状態を計測することが一般的である。
【０００３】
また、搬送装置を止めずに、視覚センサを使用してワークの位置を計測するシステムとしては、いわゆるビジュアルトラッキングシステムがある。これは、搬送装置であるベルトコンベアに乗っているワークを視覚センサで検出し、同コンベア上でのワークの位置ずれに応じてロボットの位置を補正し、同ロボットで同ワークを取出すシステムである。このシステムの例は、下記特許文献１（ビジュアルトラッキング方法）に開示されている。
【０００４】
【特許文献１】
特許第３００２０９７号公報
【０００５】
【発明が解決しようとする課題】
ところで、ロボットを停止させて把持状態を観測すれば、その分タクトタイムが伸びることになり、場合によってはユーザーに受け入れられないことがある。また、ビジュアルトラッキングで処理が可能なワークは、コンベアの大きさの条件から、比較的小型のワークに限られてしまい、例えば自動車のフロアパネルのような大型のワークについては、コンベアを使用したトラッキングシステムを組むことは、専用コンベアのコストやスペースを考えても現実的ではない。
【０００６】
そこで本発明の目的は、ロボットを停止させることなくハンドによるワークの把持状態を観測することができるようにして、タクトタイムに悪影響を与えることなく、且つ、大きなワークに対しても専用のコンベアを用意する必要がなく、フレキシブルで低コストなシステムを構築できるワーク搬送装置を提供することにある。
【０００７】
【課題を解決するための手段】
本発明は、ロボットのハンドで把持されて把持中のワークについて、視覚センサによる特徴位置の検出を行い、その結果を用いてワークの把持状態を把握することで上記課題を解決したものである。
【０００８】
具体的に言えば、本発明は、ハンドでワークを把持して該ワークを搬送するロボットと、視覚センサを備えたワーク搬送装置に適用されるものである。そして、前記視覚センサは、前記ロボットにより搬送動作中のワークの特徴箇所を撮像する撮像手段と、該撮像手段により取得した前記特徴箇所の画像に基いて前記撮像時における前記ワークの特徴箇所の位置を検出する位置検出手段とを有し、前記撮像時のロボットの位置と前記ワークの特徴箇所の位置に基いて、ロボットに搬送されるまま、前記ワークの把持状態が認識される。
【０００９】
ここで、ワーク搬送装置には、前記ロボットのハンドによる所定の把持状態を予め記憶する手段と、該所定の把持状態と前記視覚センサにより認識された前記撮像時の把持状態とを比較して誤差を求める手段と、該誤差が所定の許容限界を超えたとき前記ロボットを停止させる手段、又は、異常を示す信号を出力する手段とを設けることができる。
【００１０】
また、ワーク搬送装置には、前記ロボットのハンドによる所定の把持状態を予め記憶する手段と、該所定の把持状態と、前記視覚センサにより認識された把持状態とを比較して誤差を求める手段と、該誤差に基き前記ロボットのワーク搬送先の位置を補正する手段を設けることもできる。
【００１１】
なお、前記把持状態は、典型的には、前記ロボットのアーム先端又は前記ハンドと前記ワークとの相対位置姿勢によって与えられる。また、前記撮像時のロボットの位置を検出する手段は、前記ロボットの制御装置に具備させることができ、この該制御装置には、前記検出手段による前記撮像時のロボットの位置の検出実行と、記撮像手段に対する撮像指令を同期させる手段を更に設けることができる。ここで、前記撮像時のロボットの位置の検出実行と同期した撮像指令が、複数回繰返し実行されるようにしても良い。
【００１２】
【発明の実施の形態】
図１は本発明の実施形態の全体配置を説明する図である。同図に示すように、本実施形態に係るワーク搬送装置は、アーム先端（メカニカルインターフェイスとしてのフランジ）に装着したハンド１１でワーク１を把持して搬送するロボット（機構部）１０１と、同ロボット１０１及びハンド１１を制御するロボット制御装置１０２、３次元視覚センサの撮像手段を構成する２台のビデオカメラ１０３と、それらビデオカメラ１０３で取得された画像信号の処理を行なうパーソナルコンピュータ（画像処理装置）１０４で構成されている。
【００１３】
ロボット制御装置１０２は、ロボット１０１とケーブル２で接続されている。このケーブル２には、ハンド１１を制御する信号及び駆動電力を送る信号線、給電線等が含まれている。ロボット制御装置１０２は、更に、ＬＡＮネットワーク４でパーソナルコンピュータ１０４と結ばれる一方、トリガ信号線３で各カメラ１０３と接続されている。なお、ロボット制御装置１０２の内部構成、一般的機能、ティーチペンダント（図示省略）との接続等については、周知なので具体的な説明は省略する。
【００１４】
カメラ１０３は、画像処理装置１０４とビデオケーブル５で接続されている。ワーク１は大型の部品（例えば自動車用パネル）であり、ロボット位置Ｐ１でハンド１１によって把持される。ハンド１１は、ワーク１の形状、重量等に応じて設計的に選択されるもので、吸引式、チャック式等、いずれの方式のハンドを用いるかについて特に制限はない。ここでは、例示として、２つの吸盤によりワーク１を吸引把持するものが描かれている。
【００１５】
矢印で示したように、ロボット１０１は、位置Ｐ１から位置Ｆ１を経て所定位置（予め教示される位置）Ｑ１でワーク１を解放し、次の工程に引き渡す。
但し、後述するように、搬送される各ワーク毎の把持状態に応じて教示位置Ｑ１を補正した位置でワーク１を解放する。ロボット１０１は、位置Ｐ１→位置Ｆ１→位置Ｑ１の軌道を停止することなく移動する。
また、ロボット位置Ｆ１は、ワーク１の把持状態認識のためのセンシング（本実施形態では撮像）が行なわれる時点における位置であり、後述するように、把持されたワーク１の画像が２台のカメラで取得された時のロボット１０１の現在位置としてロボット制御装置１０２に認識される。ロボット１０１は、位置Ｆ１で停止する必要はないことに注意されたい。
【００１６】
なお、視覚センサとしてここでは２台の撮像手段を用いたステレオ方式の３次元視覚センサが用いられているが、他の型の３次元視覚センサを用いても良い。
例えば、スリット光、スポット光等のパターン光を投射する投光器とパターン光の反射光を検出する光検出器（ビデオカメラ、ＰＳＤ等）を組み合わせた３次元視覚センサを用いても良い。また、平面内だけの情報の取得で問題がなければ、１台のカメラを用いた２次元センサを用いることもできる。
【００１７】
更に、正しく測定を行なうためのキャリブレーション、ロボット側に設定されている座標系との結合等は既に完了しているものとする。これら３次元視覚センサの構成、一般機能、キャリブレーション、座標系結合等の詳細については周知なのでここでは述べない。
【００１８】
さて、搬送対象物であるワーク１について、各ワーク共通の特徴部（特徴個所）１０５が予め選定されている。特徴部１０５には、ワーク１上での存在位置が定まっており、且つ、パーソナルコンピュータ１０４による画像処理によってその位置・姿勢が検出できるような特徴部（例えば小穴、突起、明暗パターン、色マーク等）の中から適当なものが選ばれる。
【００１９】
２台の撮像手段による撮像（一般には視覚センサのセンサヘッドによるセンシング）は、把持・搬送状態にあるワーク１の特徴部１０５が必ず視野に収まるように行なわれる。パーソナルコンピュータ１０４は、取得された画像から特徴部１０５の位置・姿勢を検出し、そのデータと同撮像が行なわれた時点におけるロボット位置Ｆ１に基づいて、ワーク１の把持状態を求める。具体的には、「検出された特徴部分１０５の位置・姿勢」と、「ハンド座標系；ハンド上に固定された座標」あるいは「フランジ座標系；ロボットのフランジ（メカニカルインターフェイス）上に固定された座標系」との間の相対的位置関係として把握される。
なお、ここではフランジ座標系の原点の位置・姿勢で、ロボット１０１の位置・姿勢を代表するものとする。従って、位置Ｐ１は、「ワーク把持時」、のフランジ座標系の原点の位置・姿勢を表わし、位置Ｆ１は、「撮像時」のフランジ座標系の原点の位置・姿勢を表わしている。また、位置Ｑ１は、「ワーク解放時」のフランジ座標系の原点の位置・姿勢（把持状態に応じた補正前）を表わしている。
【００２０】
この様子を図２に示す。同図において、符号Ｆはロボット１０１のフランジ（メカニカルインターフェイス）１０上に固定されたフランジ座標系を表わし、符号Ｔはハンド１１上に固定されたハンド座標系を表わしている。撮像／画像処理により検出された特徴部１０５の位置・姿勢をＲで表わせば、ワークの把持状態は、フランジ座標系Ｆに対する位置姿勢Ｒの相対的位置姿勢Ａ、ハンド座標系Ｔに対する位置姿勢Ｒの相対的位置姿勢Ｃのいずれによっても把握可能である。
但し、ハンド１１に設定されたハンド座標系Ｔは、フランジ座標系Ｆとの相対関係Ｂが既知であるとする。ここで、Ｆ、Ｔ、Ｒ、Ａ、Ｂ、Ｃは、良く知られているように、４行４列の同次変換行列で表現することができる。
【００２１】
そして、これらの行列を使えば、検出結果を示す特徴部（特徴箇所）１０５の位置・姿勢Ｒとフランジ座標系Ｆとの相対関係Ａは、下記関係式（１）で決まる。
Ａ＝Ｉｎｖ（Ｆ）＊Ｒ      ・・・・・（１）
なお、Ｉｎｖは、「逆行列」を意味する記号である。
【００２２】
また、同様に、検出結果を示す特徴部（特徴箇所）１０５の位置・姿勢Ｒとハンド座標系Ｔとの相対関係Ｂは、下記関係式（２）で決まる。
Ｃ＝Ｉｎｖ（Ｆ＊Ｂ）＊Ｒ      ・・・・・（２）
上記式（１），（２）において、Ｆは検出結果Ｒを得た撮像時のロボット位置Ｆ１としてロボット制御装置１０２で認識可能であるから、式（１）からＡを求めることができる。また、上述したように、フランジ座標系Ｆとの相対関係Ｂが既知であれば、式（２）からＣを求めることができる。ワークの把持状態を認識するためにどちらの相対位置関係に着目しても結果的には等価である。
【００２３】
さて、本実施形態では、上記のＡまたはＣで把握される把持状態について、それが正常であるか異常であるかの判定を行なう。また、把持状態（把持位置・姿勢）に応じて、把持ワークを解放する位置（ワークを置く位置）Ｑ１を補正する。そのために、システム（ワーク搬送装置）に、基準となる正常な把持状態及びワーク解放位置Ｑ１を予め教示しておく。そのための前処理の概要を図３にフローチャートで示した。各ステップの要点は下記の通りである。
【００２４】
ステップＳ１；手動操作で、ロボット１０１のハンド１１にワーク１を正常に把持させる。把持を行なうロボット位置はどこでも良い。動作プログラムで教示されている位置Ｐ１で把持を行なっての良いし、別のロボット位置で把持を行なっても良い。
【００２５】
ステップＳ２；ロボット１０１を、把持されたワークの特徴部１０５の検出（カメラ１０３による撮像）に適した位置Ｆ１に移動させる（ジョグ送りで良い）。なお、この前処理では、ロボット１０１を位置Ｆ１で停止させる。また、位置Ｆ１をロボット制御装置１０２内のメモリに記憶する。
【００２６】
ステップＳ３；ロボット制御装置１０２から、各カメラ１０３に撮像トリガ指令を送り、把持されたワーク１の特徴部１０５の検出（カメラ１０３による撮像）を行なう。一方、ロボット制御装置１０２からパーソナルコンピュータ１０４に画像取込み指令が送られ、取得した画像はパーソナルコンピュータ１０４へ送られる。
【００２７】
ステップＳ４；パーソナルコンピュータ１０４内で画像処理を行い、特徴部１０５の位置・姿勢を求める。これをＲ１とする。
ステップＳ５；位置Ｆ１と求めたＲ１を、上記（１）式におけるＲに代入して、Ａ１＝Ｉｎｖ（Ｆ１）＊Ｒ１を求めてロボット制御装置１０２内のメモリに記憶する。なお、上記（２）式におけるＲに代入して  Ｃ１＝Ｉｎｖ（Ｆ１＊Ｂ）＊Ｒ１を求めて記憶しても良い。
【００２８】
ステップＳ６；ワーク１を把持したロボット１０１を次工程のワーク解放位置へ移動させ（ジョグ送りで良い）、適正なワーク解放位置Ｑ１を教示して前処理を終了する。ここで、このワーク解放位置Ｑ１が「適正」であるのは、この前処理におけるワーク把持状態においてであり、後述するように、毎回のワーク把持状態に応じて、ワーク解放位置Ｑ１は補正（図１中、符号Ｑ２参照）される。
【００２９】
以上の準備の下に、実際の把持・搬送作業を実行する。なお、ロボット１０１は、ワーク１を把持した後、停止することなく、カメラ１０３の視野内を通過するが、ここで、カメラ１０３が特徴部１０５の撮像を行うタイミングのとり方としては、次の２つの方法が考えられる。
【００３０】
▲１▼ロボット制御装置１０２が、特徴部１０５が視野内に入ったと考えられるタイミング（例えばロボット移動開始から一定時間経過後）で、撮像トリガをカメラ１０３に送る方法。
▲２▼ロボット制御装置１０２が、ロボット移動開始直後、あるいは、一定時間経過後から周期的に撮像トリガを入れることで、カメラ１０３に周期的に撮像を実行させる方法。
【００３１】
いずれの方法も採用可能であるが、以下の説明では、▲２▼の方法を前提とする。作業実行時の処理の概要を図４のフローチャートに示した。各ステップの要点は下記の通りである。
【００３２】
ステップＶ１；ロボット１０１は把持位置Ｐ１でハンド１１によりワーク１を把持する。
ステップＶ２；把持直後、ロボット１０１は、予め教示された経路に沿って移動を開始する。
ステップＫ１／Ｋ２／Ｋ３；その一方、把持直後から、ロボット１０１は現在位置の保存を実行するとともに、これを同期してカメラ１０３に撮像トリガを送る。これにより、カメラ１０３は直ちに撮像を実行する。以下、現在位置をＦ２で表わす。
【００３３】
ステップＫ４；ロボット制御装置１０２からパーソナルコンピュータ１０４に画像取り込み指令が送られ、パーソナルコンピュータ１０４は画像を取り込み、特徴部１０５の検出を試みる。なお、ロボット制御装置１０２からパーソナルコンピュータ１０４に画像取り込み指令を送らずに、パーソナルコンピュータ１０４が常に短周期で（最新の）画像を取り込むようにしても良い。
【００３４】
ステップＫ５；特徴部１０５の検出に成功したらステップＶ３へ進み、失敗したらステップＫ６へ進む。
ステップＫ６；ステップＫ１で記憶したロボット位置Ｆ２のデータを消去する。
【００３５】
ステップＫ７；一定時間（例えば、ロボットが５ｃｍ移動する程度の時間）待機してから、ステップＫ１へ戻る。なお、当然のことながら、特徴部１０５が両カメラ１０３の視野に入るまでは、ステップＫ５→ステップＫ６→ステップＫ７→ステップＫ１→・・・・→ステップＫ５→ステップＫ６→ステップＫ７→ステップＫ１・・・のサイクルが繰り返される。
【００３６】
ステップＶ３；ステップＫ４で検出された特徴部１０５の検出結果（位置・姿勢）Ｒ２をパーソナルコンピュータ１０４からロボット制御装置１０２に転送し、ロボット制御装置１０２内のメモリに記憶する。
ステップＶ４；ステップＫ１で記憶したＦ２のデータと、検出結果Ｒ２を使って、上記（１）式に基づき、Ａ２＝Ｉｎｖ（Ｆ２）＊Ｒ２を求めてロボット制御装置１０２内のメモリに記憶する。なお、上記（２）式に基づき  Ｃ２＝Ｉｎｖ（Ｆ２＊Ｂ）＊Ｒ２を求めて記憶しても良い。
【００３７】
ステップＶ５；Ａ１とＡ２から、ワークを置く位置Ｑ１の要修正量を下記の式（３）で計算する。
Ｑ２＝Ｑ１＊Ａ１＊Ｉｎｖ（Ｆ２）  ・・・・・・（３）
ステップＶ６；Ｑ１とＱ２を比較し、その差指標Ｄ（Ｑ１、Ｑ２）が許容限界Ｄ０  を越えているかどうかチェックする。越えていればステップＫ８へ進み、越えていなければステップＶ７へ進む。なお、差指標Ｄとしては、種々にものが考えられる。例えば、姿勢を無視して、Ｄ＝Ｑ１、Ｑ２の間の距離として、Ｄ０  ＝許容最大距離とすることもできる。また、姿勢（Ｗ、Ｐ、Ｒ）についてそれぞれ差異の最大許容値Ｗｔｈ、Ｐｔｈ、Ｒｔｈを設定し、距離、姿勢両方の基準をクリヤして初めて「正常」と判断することもできる。
【００３８】
ステップＫ８；把持失敗と見なしてロボットを停止させる。又は、失敗を示す異常信号を出力する。
ステップＶ７；Ｑ２（Ｑ１の補正位置）へロボット１０１を移動させ、ワーク１を解放する。
以上により、ワーク１個の搬送について、処理が完了する。以後、必要に応じてステップＶ１へ戻り、次のワークを把持して同様の処理を繰り返す。
【００３９】
【発明の効果】
本発明によれば、ロボットを停止させることなくハンドによるワークの把持状態を観測できるため、タクトタイムに悪影響を与えることがない。且つ、大きなワークに対しても専用のコンベアを使用しなくてすむフレキシブルで低コストのシステムを構築することが可能となる。
【図面の簡単な説明】
【図１】本発明の実施形態の全体配置を説明する図である。
【図２】ロボットのアーム先端（フランジ）、ハンド及び特徴部の相対位置関係について説明する図である。
【図３】実施形態における前処理の概要を記したフローチャートである。
【図４】実施形態における搬送実行時の処理の概要を記したフローチャートである。
【符号の説明】
１  ワーク
２  ケーブル
３  トリガ信号線
４  ＬＡＮネットワーク
５  ビデオケーブル
１０  フランジ（メカニカルインターフェイス）
１１  ハンド
１０１  ロボット（機構部）
１０２  ロボット制御装置
１０３  ビデオカメラ（撮像手段）
１０４  パーソナルコンピュータ（画像処理装置）
１０５  特徴部
【図１】
2004249391.tif 000003
【図２】
2004249391.tif 000004
【図３】
2004249391.tif 000005
【図４】
2004249391.tif 000006