(57)【特許請求の範囲】
【請求項１】
ロボットと、前記ロボットに搭載した３次元視覚センサとを含み、前記３次元視覚センサによる計測対象物に対する本計測に先立って、前記３次元視覚センサによる前記計測対象物に対する予備計測を行う３次元計測装置において、
前記本計測を行う際の前記３次元視覚センサと計測対象物との目標相対位置姿勢を、前記予備計測に先立って、前記３次元視覚センサにより、基準位置に置かれた計測対象物に対して３次元計測を行うことによって取得し、記憶する手段と、
前記ロボットにより前記３次元視覚センサを、前記予備計測を行う予備計測位置に位置決めし、該予備計測位置における前記３次元視覚センサと計測対象物との相対位置姿勢を計測することにより前記予備計測を実行する手段と、
該予備計測位置において計測した相対位置姿勢と前記目標相対位置姿勢とに基づいて、前記３次元視覚センサと前記計測対象物との相対位置姿勢を前記目標相対位置姿勢に一致させる前記３次元視覚センサの本計測位置を計算し、前記ロボットにより前記３次元視覚センサを前記本計測位置に位置決めする手段と、
前記本計測位置において、前記３次元視覚センサにより前記計測対象物を３次元計測することにより前記本計測を実行する手段とを備えることを特徴とする、３次元計測装置。
【請求項２】
前記本計測位置において、前記３次元視覚センサと前記計測対象物との相対位置姿勢を計測し、該計測した相対位置姿勢の前記目標相対位置姿勢に対する誤差が、予め設定された許容誤差範囲内か否かを判断する手段と、
該判断する手段により、前記誤差が前記許容誤差範囲外と判断された時に、前記本計測位置で計測した相対位置姿勢と前記目標相対位置姿勢に基づいて、前記３次元視覚センサと前記計測対象物との相対位置姿勢を前記目標相対位置姿勢に一致させる前記３次元視覚センサの本計測位置を再度計算し、前記ロボットにより、前記３次元視覚センサを再度計算した本計測位置に位置決めする再位置決め手段を備え、
前記誤差が、許容範囲内となるまで、前記再位置決め手段による位置決めを繰り返し実行することを特徴とする、請求項１に記載の３次元計測装置。
【請求項３】
前記本計測位置において、前記３次元視覚センサと前記計測対象物との相対位置姿勢を計測し、該計測した相対位置姿勢と前記目標相対位置姿勢に基づいて、前記３次元視覚センサと前記計測対象物との相対位置姿勢を前記目標相対位置姿勢に一致させる前記３次元視覚センサの本計測位置を再度計算し、前記ロボットにより前記３次元視覚センサを該再度計算した本計測位置に位置決めする再位置決め手段を備え、
該再位置決め手段による位置決めを、予め設定された回数だけ繰り返し実行させることを特徴とする、請求項１に記載の３次元計測装置。
【請求項４】
前記予備計測位置を予め指定する手段を備えることを特徴とする、請求項１乃至請求項３の内何れか１項に記載の３次元計測装置。
【請求項５】
前記予備計測位置は、前記視覚センサとは別の視覚センサによる計測結果に基づいて求められることを特徴とする、請求項１乃至請求項４の内何れか１項に記載の３次元計測装置。
【請求項６】
前記予備計測位置及び前記本計測位置の内の少なくとも一方である計測位置へ前記３次元視覚センサを移動させるためのロボット移動について、
前記ロボット移動を、補助位置へ前記ロボットを移動させた後に実行する手段と、
前記補助位置から前記計測位置へのロボット移動が、前記ロボットの全ての駆動モータのそれぞれが一定の向きの回転を行なうことによって実現されるように、前記補助位置を定める手段とを備えたことを特徴とする、請求項１乃至請求項５の内何れか１項に記載の３次元計測装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、３次元視覚センサをロボットに搭載して対象物の３次元計測を行なう３次元計測装置に関する。本発明に係る３次元計測装置は、例えばワークに対する３次元計測を行ない、それに基づいてワークの取り出しや、ワークに対する加工などを実行するアプリケーションにおいて利用される。
【０００２】
【従来の技術】
ロボットに３次元視覚センサのセンサヘッドを搭載（本明細書では、これを、「ロボットに３次元視覚センサを搭載」と言う）してワーク等の対象物について３次元計測を行う場合、３次元視覚センサがキャリブレーションされている座標系とロボットの座標系を結合しておく必要がある。この方法の１例は、特許文献１「ロボット−視覚センサシステムにおける座標系結合方法」に開示されている。
【０００３】
【特許文献１】
特開平１０−６３３１７号公報
しかしながら、一般的には、様々な原因に起因して、厳密な結合は非常に難しいのが実状であり、結合された結果には不可避的に誤差が含まれる。その結果、ロボットの姿勢を変えながら計測する場合、この座標系結合誤差に起因する計測誤差が発生し、アプリケーションによっては無視できない場合がある。
また、この要因とは別に、ロボットには、関節軸の動作方向によってバックラッシが存在するという一般的な性質があり、そのために、ロボットは移動時の関節軸の動作方向（モータの回転の向き）によって、微妙に位置が変わることが知られている。アプリケーションによっては、この要因による誤差も無視できない場合がある。
【０００４】
【発明が解決しようとする課題】
そこで、本発明の目的は上記のような座標系結合誤差や、バックラッシによるロボット位置の誤差の影響を低減することができる３次元計測装置を提供し、ロボットがより高精度な作業を実現できるようにすることを目的とする。
【０００５】
【課題を解決するための手段】
本発明は、ロボットと、前記ロボットに搭載した３次元視覚センサとを含み、前記３次元視覚センサによる計測対象物に対する本計測に先立って、前記３次元視覚センサによる前記計測対象物に対する予備計測を行う３次元計測装置に適用される。本発明に係る３次元計測装置は、上記目的を達成するための基本的な構成として、前記本計測を行う際の前記３次元視覚センサと計測対象物との目標相対位置姿勢を、前記予備計測に先立って、前記３次元視覚センサにより、基準位置に置かれた計測対象物に対して３次元計測を行うことによって取得し、記憶する手段と、前記ロボットにより前記３次元視覚センサを、前記予備計測を行う予備計測位置に位置決めし、該予備計測位置における前記３次元視覚センサと計測対象物との相対位置姿勢を計測することにより前記予備計測を実行する手段と、該予備計測位置において計測した相対位置姿勢と前記目標相対位置姿勢とに基づいて、前記３次元視覚センサと前記計測対象物との相対位置姿勢を前記目標相対位置姿勢に一致させる前記３次元視覚センサの本計測位置を計算し、前記ロボットにより前記３次元視覚センサを前記本計測位置に位置決めする手段と、前記本計測位置において、前記３次元視覚センサにより前記計測対象物を３次元計測することにより前記本計測を実行する手段とを備えている。
【０００６】
また、上記３次元計測装置は、前記本計測位置において、前記３次元視覚センサと前記計測対象物との相対位置姿勢を計測し、該計測した相対位置姿勢の前記目標相対位置姿勢に対する誤差が、予め設定された許容誤差範囲内か否かを判断する手段と、該判断する手段により、前記誤差が前記許容誤差範囲外と判断された時に、前記本計測位置で計測した相対位置姿勢と前記目標相対位置姿勢に基づいて、前記３次元視覚センサと前記計測対象物との相対位置姿勢を前記目標相対位置姿勢に一致させる前記３次元視覚センサの本計測位置を再度計算し、前記ロボットにより、前記３次元視覚センサを再度計算した本計測位置に位置決めする再位置決め手段を備え、前記誤差が、許容範囲内となるまで、前記再位置決め手段による位置決めを繰り返し実行するように構成することができる。
【０００７】
また、前記本計測位置において、前記３次元視覚センサと前記計測対象物との相対位置姿勢を計測し、該計測した相対位置姿勢と前記目標相対位置姿勢に基づいて、前記３次元視覚センサと前記計測対象物との相対位置姿勢を前記目標相対位置姿勢に一致させるような前記３次元視覚センサの本計測位置を再度求め、前記ロボットにより前記３次元視覚センサを該再度求めた本計測位置に位置決めする再位置決め手段を備え、該再位置決め手段による位置決めを、予め設定された回数だけ繰り返し実行させるように構成することができる。
【０００８】
また、以上のいずれのケースにおいても、前記予備計測位置を予め指定する手段を備えることもできる。更に、前記予備計測位置は、前記視覚センサとは別の視覚センサによる計測結果に基づいて求められても良い。
【０００９】
更にまた、３次元計測装置は、前記予備計測位置及び前記本計測位置の内の少なくとも一方である計測位置へ前記３次元視覚センサを移動させるためのロボット移動について、前記ロボット移動を、補助位置へ前記ロボットを移動させた後に実行する手段と、前記補助位置から前記計測位置へのロボット移動が、前記ロボットの全ての駆動モータのそれぞれが一定の向きの回転を行なうことによって実現されるように、前記補助位置を定める手段とを備えていることが好ましい。この場合、ロボットの関節軸の動作方向によって生じるバックラッシの計測誤精度への影響を抑えた３次元計測装置が提供される。
【００１０】
【発明の実施の形態】
図１は、本発明の１つの実施形態に係る３次元計測装置の全体構成を説明する図である。同図に示すように、３次元計測装置は、センサヘッド１０２と３次元視覚センサ制御装置１０４からなる３次元視覚センサと、同３次元視覚センサのセンサヘッド１０２をアーム先端部に装着するとともに、ロボット制御装置１００に接続されたロボット１０１で構成されている。そして、３次元視覚センサ制御装置１０４は、センサヘッド１０２に接続されるとともに、通信回線１０５により、ロボット制御装置１００と結ばれている。
【００１１】
符号１０３は、視覚センサによってその位置・姿勢等が計測される対象物（以下、ワークとする）を表わしている。また、図示は省略したが、ロボット制御装置１００には、周知の態様で教示操作盤が接続され、同教示操作盤から各種の指令をマニュアル入力できるようになっている。このマニュアル入力には、ロボットのジョグ送りの他、視覚センサによる計測実行指令の入力などが含まれる。更に、ロボット１０１には、アプリケーションに応じて所要のツール（例えばハンド、溶接ガン等；図示は省略）が装着される。
【００１２】
視覚センサのキャリブレーションについては、周知の適当な手法により完了しているものとする。また、視覚センサが準拠するセンサ座標系とロボットのメカニカルインタフェースに設定された座標系との結合についても、例えば前述した特許文献１に記載された方法によって完了しているものとする。
【００１３】
従って、ロボット制御装置１００に教示したプログラムによる指令あるいはマニュアル入力による指令を３次元視覚センサ制御装置１０４に送ることで、視覚センサによるワーク１０３の計測が実行できる状態にある。なお、センサヘッド１０２は、例えばレーザスリット光投光部とビデオカメラ（反射光検出部）等を備えた周知のものであり、３次元視覚センサ制御装置１０４も光検出信号処理部、諸メモリ等を備えた周知のものである。これら視覚センサ自体の構成及び機能については、本発明と直接の関係はないので、詳細説明は省略する。
【００１４】
さて、本実施形態では、上記の装置を用いて、先ず（ａ）ワーク１０３を基準位置姿勢に置いた時の計測結果、及び、基準位置においたワーク１０３に対して何らかの作用（アプリケーションによって決まる。例えばハンドによる把持）を及ぼすためのロボット１０１の位置姿勢（以下、ロボットの「作業用位置姿勢」という）を予め設定しておき、これに基づいて、（ｂ）ワーク１０３の位置姿勢が基準位置から任意に変化した場合でも、前記作用を及ぼすロボットの位置姿勢を正確に実現できるようにすることを考える。なお、説明のために、図２の（ａ）、（ｂ）を適宜参照する。同図において、符号１〜符号５は、順に「ロボット（ロボットアーム）」（図１におけるロボット１０１に対応）、「視覚センサ（センサヘッド）」（図１におけるセンサヘッド１０２に対応）、「ワーク」（図１におけるワーク１０３に対応）、「ロボットのメカニカルインタフェース座標系」、「センサ座標系」を表わしている。
ワーク３に対して把持等、何らかの作用を及ぼすためのロボット１の位置姿勢を以下、「ロボットの作業用位置姿勢」などと呼ぶことにする。
【００１５】
ここで、ロボットのメカニカルインタフェース座標系（以下、単に「メカニカルインタフェース座標系」ともいう）４→センサ座標系５の「真の結合関係式」を［Ｔ］で表わすことにする。一般に、［Ｔ］は上述した座標系結合で求めて設定されている結合関係式［Ｔ' ］とは一致せず、ある程度の誤差がある。なお、本明細書では記号［］を、座標系変換、ロボット１の位置・姿勢等を表わす４行４列の行列の表記に用いることする。これらを下記のように簡略表記する。
【００１６】
●真の結合関係式；メカニカルインタフェース座標系→センサ座標系＝［Ｔ］
●設定された結合関係式；メカニカルインタフェース座標系→センサ座標系＝［Ｔ' ］
同様に、諸量を下記のように簡略表記する（図２（ａ）、（ｂ）を参照）。
【００１７】
●ワーク３が基準位置にある時の同ワークの位置姿勢＝［Ｗ1 ］
●任意のある計測位置でのメカニカルインタフェース座標系＝［Ｆ1 ］
（以下、この計測位置を「計測位置１」という）。
【００１８】
●計測位置１でのワーク計測結果（センサ座標系上で表現）＝［Ｓ1 ］
●ワーク３が基準位置にある時のロボットの作業用位置姿勢＝［Ｐ1 ］
なお、ここでは「ロボットの位置姿勢」は、メカニカルインタフェース座標系の位置姿勢のことであるとする。従って、［Ｐ1 ］は、「ワーク３が基準位置にある時のロボットのメカニカルインタフェース座標系の位置姿勢」である。
【００１９】
●ワーク３が基準位置からずれた時の同ワークの位置姿勢＝［Ｗ2 ］
ここで、ずれ方は任意で、［Ｗ2 ］はワーク３の一般的な位置姿勢を代表している。特殊ケースとして、［Ｗ2 ］＝［Ｗ1 ］を包含しているものとする。
【００２０】
●［Ｗ2 ］にあるワークに対する計測位置２でのメカニカルインタフェース座標系＝［Ｆ2 ］
ここで、計測位置２は、一般には任意のロボット位置で、特殊ケースとして、計測位置１＝計測位置２を包含しているものとする。
【００２１】
●計測位置２でのワーク計測結果（センサ座標系上で表現）＝［Ｓ2 ］
●ワーク３が［Ｗ2 ］にある時のロボットの作業用位置姿勢＝「Ｐ2 」
さて、上記諸量と、真のロボットのメカニカルインタフェース座標系→センサ座標系の結合関係式［Ｔ］の間には、下記関係（Ａ１）〜（Ａ３）
［Ｗ1 ］＝［Ｆ1 ］［Ｔ］［Ｓ1 ］        ・・・（Ａ１）
［Ｗ2 ］＝［Ｆ2 ］［Ｔ］［Ｓ2 ］        ・・・（Ａ２）
［Ｐ2 ］＝［Ｗ2 ］［Ｗ1 ］-1［Ｐ1 ］    ・・・（Ａ３）
が成立する。
【００２２】
しかし、実際には真のロボットのメカニカルインタフェース座標系→センサ座標系の結合関係式［Ｔ］は不明であり、上記したように、一般には誤差を含む［Ｔ' ］が設定されている。そこで、［Ｔ］に代えて［Ｔ' ］を考えれば、上記関係（Ａ１）〜（Ａ３）は下記（Ｂ１）〜（Ｂ３）となる。
［Ｗ1'］＝［Ｆ1 ］［Ｔ' ］［Ｓ1 ］      ・・・（Ｂ１）
［Ｗ2'］＝［Ｆ2 ］［Ｔ' ］［Ｓ2 ］      ・・・（Ｂ２）
［Ｐ2'］＝［Ｗ2'］［Ｗ1'］-1［Ｐ1 ］・・・・・（Ｂ３）
ここで、［Ｗ1'］、［Ｗ2'］、［Ｐ2'］は、関係（Ｂ１）〜（Ｂ３）を満たすことのできる［Ｗ1 ］、［Ｗ2 ］、［Ｐ2 ］の各代用量である。
【００２３】
一方、ロボットの作業が正しく行われる条件を考えると、
［Ｐ2'］＝［Ｐ2 ］
となるから、
［Ｗ2'］［Ｗ1'］-1＝［Ｗ2 ］［Ｗ1 ］-1
［Ｆ2 ］［Ｔ' ］［Ｓ2 ］［Ｓ1 ］-1［Ｔ' ］-1［Ｆ1 ］-1＝［Ｆ2 ］［Ｔ］［Ｓ2 ］［Ｓ1 ］-1［Ｔ］-1［Ｆ1 ］-1
でなければならない。
【００２４】
この関係式が常に成り立つ条件の１つは、
［Ｓ2 ］［Ｓ1 ］-1＝［Ｉ］（単位行列）、即ち、
［Ｓ2 ］=［Ｓ1 ］
である。
【００２５】
このことは、ワーク３が基準位置から変化した時にも、視覚センサ（センサヘッド２）とワーク３との相対的位置姿勢関係が不変であれば、結合誤差によらずに、ロボットが正しく作業できることを意味している。従って、視覚センサの出力を基にロボットがより精度の高い作業を行うためには、計測位置自体をワークに合わせて変更することが必要となる。換言すれば、計測位置２を「計測位置１における視覚センサとワーク３との相対的位置姿勢関係」が再現されるように、選択すれば良いということになる。
【００２６】
そこで、「計測位置１」を前述の「ワーク３が基準位置［Ｗ1 ］にある時のロボットの作業用位置姿勢」＝［Ｐ1 ］の一つと考えて予めこれを設定しておけば、上述の関係式（Ｂ３）によって、ワーク３が任意の位置姿勢［Ｗ2 ］にある時の望ましい計測位置２を求めることができる。
【００２７】
以下、上述の原理を実際に適用する手順を説明する。先ず、準備としてワーク３を適当な基準位置におき、同基準位置においたワーク３に対する作業用位置姿勢（例えば把持に適したロボット位置）にロボット１を位置決めし、位置［Ｐ1 ］をロボット制御装置のメモリに記憶する。また、同基準位置においたワーク３に対する計測位置である「計測位置１」にロボット１を位置決めし、位置［Ｆ1 ］をロボット制御装置のメモリに記憶する。同ロボット位置［Ｆ1 ］で視覚センサによる計測を実行し、基準位置にあるワーク３の位置姿勢［Ｓ1 ］を計測する。ここで［Ｓ1 ］はセンサ座標系上の表現データであり、従って、「視覚センサとワーク３との相対的位置姿勢関係」を表わしたデータでもある。
【００２８】
この準備の下で、任意の位置［Ｗ2 ］にあるワーク３に対して図３のフローチャートに記した手順を実行する。各ステップの要点は下記の通りである。
ステップＳＴ１；予備計測位置［Ｆ2 ］へロボットを移動させ、［Ｗ2 ］にあるワークに対して予備計測を行なう。ここで、予備計測位置は、一般には任意であるが、［Ｓ1 ］に近い計測結果が得られるような位置であることが好ましい。このことを考慮して、そのような予備計測位置を実際のワーク位置の存在範囲に即して予めロボット制御装置に設定しておいても良い。
【００２９】
予備計測位置での計測結果を［Ｓ2 ］とすれば、前述の式（Ｂ１）〜（Ｂ２）は次のようになる。
［Ｗ1'］＝［Ｆ1 ］［Ｔ' ］［Ｓ1 ］      ・・・（Ｂ１１）
［Ｗ2’］＝［Ｆ2 ］［Ｔ' ］［Ｓ2 ］      ・・・（Ｂ１２）
となる。ここで［Ｗ2’］は、式（Ｂ１２）から算出される［Ｗ2 ］に近い量である。
【００３０】
ステップＳＴ２；本計測位置（本計測を行なう予定のロボット位置）を計算する。ここで計算される本計測位置を［Ｆ21］（第１回計算の本計測位置）とする。「計測位置１」である［Ｆ1 ］を前述の「ワーク３が基準位置［Ｗ1 ］にある時のロボットの作業用位置姿勢」＝［Ｐ1 ］の一つと考えれば、（Ｂ３）は下記のようになる。
［Ｆ21］＝［Ｗ2’］［Ｗ1'］-1［Ｆ1 ］ ・・・・・（Ｂ１３）
これをステップＳＴ２で求める本計測位置とし、ロボット制御装置に記憶する。
【００３１】
ステップＳＴ３；ステップＳＴ２で求めた本計測位置へロボットを移動させる。
ステップＳＴ４；本計測位置でワークに対して計測を行なう。計測結果を［Ｓ21］とし、これを視覚センサ制御装置のメモリに記憶するとともに、ロボット制御装置へ知らせ、処理を完了する。ここで得られる計測結果［Ｓ21］は、かなりの程度、座標系結合誤差を減じたものとなっている。なお、ロボット制御装置では、［Ｓ21］を得た時のロボット位置を使って、任意の位置［Ｗ2 ］にあるワークに対するロボットの作業用位置姿勢（例えば把持に適したロボット位置）［Ｐ2 ］を次式によって算出する。
【００３２】
［Ｗ21］＝［Ｆ21］［Ｔ' ］［Ｓ21］      ・・・（Ｂ１２）
［Ｐ2 ］＝［Ｗ21］［Ｗ1'］-1［Ｐ1 ］ ・・・・・（Ｂ１３）
以上が本実施形態における基本形であるが、基本形で求めた、最初の本計測位置を再度「予備計測位置」と見なして、これと若干の誤差を含んだ最初の本計測位置での計測結果を用いて、次の計測位置姿勢（本計測位置姿勢）を求めることもできる。この見直しは、必要に応じて何度でも繰り返すことができる。このような繰り返しを採用した場合の手順を図４のフローチャートに記した。各ステップの要点は下記の通りである。
【００３３】
ステップＴＴ１；上述のステップＳＴ１と同じである。即ち、予備計測位置へロボットを移動させ、［Ｗ2 ］にあるワークに対して予備計測を行なう。予備計測位置は、予めロボット制御装置に設定しておくこともできる。
【００３４】
ステップＴＴ２；上述のステップＳＴ２と基本的に同じである。即ち、計測位置（本計測を行なう予定のロボット位置）を計算する。但し、ステップＳＴ２は繰り返す可能性があるので、ｉ回目の計算による本計測位置を［Ｆ2i］（第ｉ回計算の本計測位置）とする。
【００３５】
本計測位置の計算法は、上述したのと同様である。式（Ｂ１２）、（Ｂ１３）をｉ回目について書けば、
［Ｗ2i-1］＝［Ｆ2i-1］［Ｔ' ］［Ｓ2i-1］   ・・・（Ｂ１２ｉ）
［Ｆ2i］＝［Ｗ2i-1］［Ｗ1'］-1［Ｆ1 ］ ・・・・・（Ｂ１３ｉ）
ここで［Ｗ20］＝［Ｗ2’］、［Ｆ20］＝［Ｆ2 ］、［Ｓ20］＝［Ｓ2 ］である。上式の［Ｆ2i］をｉ回目のステップＴＴ２で求める本計測位置とし、ロボット制御装置に記憶する。
【００３６】
ステップＴＴ３；ステップＴＴ２で求めた本計測位置へロボットを移動させる。
ステップＴＴ４；同本計測位置でワークに対して計測を行なう。計測結果を［Ｓ2i］とする。ここで得られる計測結果［Ｓ2i］は、前回の［Ｓ2i-1］より、座標系結合誤差を減じたものとなっている。
【００３７】
ステップＴＴ５；現在の「対象物（ワーク）と視覚センサの相対的位置姿勢」を「予め定めた対象物（ワーク）と視覚センサの相対的位置姿勢＝目標相対的位置姿勢」と比較して、誤差を評価する。具体的には、［Ｓ2i］と［Ｓ1 ］を比較し、差異が予め定めたしきい値を越えているかどうかチェックし、越えていればステップＴＴ２へ戻る。
【００３８】
越えていなければ、ステップＴＴ４で求めた計測結果を［Ｓ2i］を視覚センサ制御装置のメモリに記憶するとともに、ロボット制御装置へ知らせ、処理を完了する。ロボット制御装置では、［Ｓ2i］を得た時のロボット位置を使って、任意の位置［Ｗ2 ］にあるワークに対するロボットの作業用位置姿勢（例えば把持に適したロボット位置）［Ｐ2 ］を次式によって算出する。
【００３９】
［Ｗ2i］＝［Ｆ2i］［Ｔ' ］［Ｓ2i］      ・・・（Ｂ１２）
［Ｐ2 ］＝［Ｗ2i］［Ｗ1'］-1［Ｐ1 ］ ・・・・・（Ｂ１３）
以上により、より高い精度でワークの計測を実行できる。なお、ステップＴＴ５の誤差評価に代えて、予め決められた回数だけ処理サイクルを実行することも考えられる。その場合の手順を図５のフローチャートに示した。各ステップの要点を簡単に記しておく（本計測位置の計算の繰り返し説明は省略する）。
ステップＵＴ１；回数指標Ｋの初期設定（Ｋ＝１）。
【００４０】
ステップＵＴ２；上述のステップＳＴ１と同じである。即ち、予備計測位置へロボットを移動させ、［Ｗ2 ］にあるワークに対して予備計測を行なう。予備計測位置は、予めロボット制御装置に設定しておくこともできる。
【００４１】
ステップＵＴ３；上述のステップＳＴ２と基本的に同じである。即ち、計測位置（本計測を行なう予定のロボット位置）を計算する。Ｋ回目の本計測位置を［Ｆ2K］（第Ｋ回計算の本計測位置）とする。
【００４２】
ステップＵＴ４；ステップＵＴ３で求めた本計測位置へロボットを移動させる。
ステップＵＴ５；回数指標Ｋの１アップ。
ステップＵＴ６；本計測位置でワークに対して計測を行なう。計測結果を［Ｓ2K］とする。
【００４３】
ステップＵＴ７；設定回数満了か否かをチェックし、未満了であればステップＵＴ３へ戻る。満了していれば、ステップＵＴ５で求めた計測結果を視覚センサ制御装置のメモリに記憶するとともに、ロボット制御装置へ知らせ、処理を完了する。ロボット制御装置では、本計測位置のロボット位置を使って、任意の位置にあるワークに対するロボットの作業用位置姿勢（例えば把持に適したロボット位置）を算出する。
【００４４】
ここで、ロボットのバックラッシについて考慮する場合について考える。ロボットのバックラッシは、図６のようなモデルで表すことができる。このモデルに従うと、モータの位置が同じであっても、モータの外側の位置、つまりロボットアームの先端位置はギアの歯がどちら側で噛み合うにかによって、毎回違ってくる可能性がある。
【００４５】
そのため、数値上の計測位置が同じでも、実際の計測位置が異なっていれば、その分のずれが視覚センサの出力に含まれてしまい、正確な出力が得られない。そこで、モータの回転方向を毎回の計測時にそろえることによって、ギアの噛み合う側を一定にすれば、ロボットのバックラッシの影響を抑制することができる。上述の基本形に対して、これを実行する場合の手順を図７のフローチャートに示した。各ステップの要点は下記の通りである。なお、本計測位置の計算の繰り返し説明は省略する。
【００４６】
ステップＶＴ１；上述のステップＳＴ１と同じである。即ち、予備計測位置へロボットを移動させ、［Ｗ2 ］にあるワークに対して予備計測を行なう。予備計測位置は、予めロボット制御装置に設定しておくこともできる。
ステップＶＴ２；上述のステップＳＴ２と基本的に同じである。即ち、本計測位置を計算する。
【００４７】
ステップＶＴ３；補助位置を計算する。ここで、補助位置の条件は、上記の計算された本計測位置へのロボット移動が、ロボットのいずれの駆動軸についても、移動過程で一度も反転しないで一定方向の回転で行なわれるような位置のことである。この条件を満たす補助位置は、例えば本計測位置から、各軸動作の形式で、各軸について微小同一符号変位を適当な多数回積算した位置として計算できる。
【００４８】
ステップＶＴ４；ステップＶＴ３で求めた補助位置へロボットを移動させ、一旦位置決めする。
ステップＶＴ５；ステップＶＴ２で求めた本計測位置へロボットを移動させる。
【００４９】
ステップＶＴ６；本計測位置でワークに対して計測を行なう。計測結果を視覚センサ制御装置のメモリに記憶するとともに、ロボット制御装置へ知らせ、処理を完了する。ロボット制御装置では、本計測位置のロボット位置を使って、任意の位置にあるワークに対するロボットの作業用位置姿勢（例えば把持に適したロボット位置）を算出する。
以上の手順は、前述した要領で、繰り返すことができる。その場合は、ステップＶＴ２〜ステップＶＴ６が必要に応じて繰り返される。
【００５０】
【発明の効果】
以上述べたように、本発明を用いることで、最初の計測時におけるロボットとワークとの位置関係がどのような状態であっても、予備計測を行うこと、あるいは、予備計測を繰り返すことによって、センサとロボットの座標系結合誤差や、バックラッシによるロボット位置の誤差の影響をできるだけ低減でき、ロボットがより高精度な作業を行うことができるようになる。
【図面の簡単な説明】
【図１】ロボット、センサとワークの位置関係について説明する図である。
【図２】（ａ）は、基準位置にあるワークと視覚センサ座標系等の関係を示した図であり、（ｂ）は、一般の位置にあるワークと視覚センサ座標系等の関係を示した図である。
【図３】実施形態における基本形の処理手順を記したフローチャートである。
【図４】実施形態における基本形を変形して、本計測位置の計算を繰り返す場合の処理手順の一例を記したフローチャートである。
【図５】実施形態における基本形を変形して、本計測位置の計算を繰り返す場合の処理手順の別の例を記したフローチャートである。
【図６】ロボットの軸のバックラッシの影響について説明するモデルを示した図である。
【図７】実施形態における基本形を変形して、ロボットの軸のバックラッシの影響を抑制した場合の処理手順の別の例を記したフローチャートである。
【符号の説明】
１、１０１  ロボット（ロボットアーム）
２、１０２  視覚センサ（センサヘッド）
３、１０３  ワーク（対象物）
４  メカニカルインタフェース座標系
５  センサ座標系
１００  ロボット制御装置
１０４  ３次元視覚センサ制御装置
１０５  通信回線
【図１】
0003711105.tif 000002
【図２】
0003711105.tif 000003
【図３】
0003711105.tif 000004
【図４】
0003711105.tif 000005
【図５】
0003711105.tif 000006
【図６】
0003711105.tif 000007
【図７】
0003711105.tif 000008