(57)【要約】【課題】  ロボットシステムの移設後における教示位置修正を簡便且つ高精度で行えるようにする。【解決手段】  視覚センサ（ＣＣＤカメラ）３を作業ツール１ｃに取り付け、キャリブレーションを行なう。視覚センサで作業物体４の保持装置５上の３個以上の一直線上にない基準マーク６ａ〜６ｃの３次元位置を測定する。視覚センサをオプションで作業ツールから取り外し、ロボット１と保持装置５を別の場所に移設する。移設後、再設置した条件で、再度キャリブレーション（視覚センサ取り外しなければ省略）と基準マーク６ａ〜６ｃの３次元位置測定を行なう。移設前後の、基準マーク６ａ〜６ｃの３次元位置測定結果を用いて、ロボット１と保持装置５の相対位置関係の変化を求め、その変化分を補償するデータ修正を移設前に有効であった教示点データに対して実行する。計測ロボットは移設される作業ロボットとは別でも良く、その場合は、移設前後における作業ロボット位置も測定される。【選択図】          図１
2005149299.tif 000002
【特許請求の範囲】
【請求項１】
作業用のロボットと、作業中の作業対象物を保持するための手段を備えた保持装置の少なくとも一方が移設された際に、該ロボットの動作プログラムの教示点位置を修正する、教示位置修正装置において、
ロボットのアーム先端部に装着され、該アーム先端部に対する装着位置姿勢が認識されている視覚センサと、
前記保持装置、または該保持装置に保持された作業対象物上の一直線上に並ばない少なくとも３個所のそれぞれの３次元位置を、前記視覚センサにより求める位置計測手段を備え、
前記ロボットおよび前記保持装置の少なくとも一方の移設前及び移設後に、それぞれ前記少なくとも３個所の位置を計測し、
前記移設前および移設後に計測した前記少なくとも３個所の位置に基づいて、前記ロボットと前記保持装置の相対位置の変化が補償されるように、前記ロボットの動作プログラムの教示点位置を修正する教示位置修正装置。
【請求項２】
作業用のロボットと、作業中の作業対象物を保持するための手段を備えた保持装置の少なくとも一方が移設された際に、該ロボットの動作プログラムの教示点位置を修正する、教示位置修正装置において、
計測用の第１ロボットのアーム先端部に装着される、該アーム先端部に対する装着位置姿勢が認識されている視覚センサと、
前記視覚センサで捕えた画像内の特定の部位の３次元位置を求める位置計測手段を備え、
作業用の第２ロボットおよび前記保持装置の少なくとも一方の移設前及び移設後のそれぞれにおいて、
（ａ）前記保持装置、または該保持装置に保持された作業対象物上の、一直線上に並ばない少なくとも３個所のそれぞれの３次元位置、および
（ｂ）前記第２のロボット上の、一直線上に並ばない少なくとも３個所のそれぞれの３次元位置とを、前記視覚センサにより計測し、
前記移設前および移設後に計測した前記保持装置、または該保持装置に保持された作業対象物上の前記少なくとも３個所の３次元位置と、前記第２のロボット上の少なくとも３個所の３次元位置に基づいて、前記第２ロボットと前記保持装置の相対位置の変化が補償されるように、前記第２ロボットの動作プログラムの教示点位置を修正する教示位置修正装置。
【請求項３】
前記視覚センサはアーム先端部に着脱可能であり、前記３次元位置を計測する時に前記ロボットのアーム先端部に取り付けられ、計測終了後に取り外すことを特徴とする、請求項１または請求項２に記載の教示位置修正装置。
【請求項４】
前記視覚センサの前記ロボットアーム先端部に対する位置姿勢は、視覚センサをアーム先端に取り付けた後、複数の異なる位置で、一定の位置に配置された基準物体を計測することにより、センサを取り付けるたびに求めることを特徴とする請求項１乃至請求項３の内いずれか１項に記載の教示位置修正装置。
【請求項５】
前記３次元位置を計測する個所は、前記保持装置、または前記作業対象物の備えた形状特徴であることを特徴とする、請求項１乃至請求項４の内いずれか１項に記載の教示位置修正装置。
【請求項６】
前記３次元位置を計測する個所は、前記保持装置、または前記作業対象物上に設けた、位置計測のための基準マークであることを特徴とする、請求項１乃至請求項４の内いずれか１項に記載の教示位置修正装置。
【請求項７】
前記視覚センサが、カメラによる画像処理を行う視覚センサであり、異なる複数位置での該カメラの画像から、計測個所の３次元位置を求めることを特徴とする、請求項１乃至請求項６の内いずれか１項に記載の教示位置修正装置。
【請求項８】
前記視覚センサが、３次元視覚センサであることを特徴とする、請求項１乃至請求項６の内いずれか１項に記載の教示位置修正装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの教示位置修正装置に関し、更に詳しく言えば、ロボットと作業対象物の少なくとも一方が移設された際に行なわれるロボットの動作プログラムの教示点位置の修正作業に用いられる教示位置修正装置に関する。
【背景技術】
【０００２】
ロボットを用いる生産ラインを一旦稼動させた後に、ロボットと作業対象物の一方または両方を移設することがある。例えば次のような場合である。
●稼動中のラインを別の場所へ移設する。  
（例）生産ラインを海外や国内の別工場にそっくり移設する。  
●一旦別の場所でシステムを立ち上げた後、生産現場へ移設・設置する。  
（例）新しいラインを仮設工場で立上げ、ラインでの動作を確認後、実際の生産場所へ移設する。  
●ライン改造のため、ロボットや作業対象物の一部を移設する。  
（例）生産品種の追加や、生産能力向上のため、ロボットの設置位置を変更したりする。
【０００３】
このようにライン設備が移設された場合、移設の前後でロボットと作業対象物の設置位置にズレが生じるため、移設前に教示されていたロボットの動作プログラムをそのまま使用することはできず、教示位置の修正が必要となる。この教示修正作業は、作業者が現物にあわせて教示点１点１点の位置を確認しながら修正する、非常に手間のかかる作業となる。特に、自動車のスポット溶接工程のように多数のロボットを使用するライン移設では、この教示修正作業の工数が膨大になる。
【０００４】
このような移設後の教示修正作業にかかる時間を短縮するために、従来より次のような方法が単独または組み合わせで使用されていた。  
（１）機械的手段による方法
ケガキ、マーキング、治具などを用い、移設前後で、ロボットと周辺機器の相対位置ができる限り同一となるように設置する。  
（２）タッチアップによるプログラムシフト
ロボットのツール先端点（TCP: Tool Center Point）を、作業対象物または対象物を保持する周辺機器上の３点以上の基準点にタッチアップ（ツール先端点を基準点にぴったり合わせること）し、各基準点の三次元位置Pi(Xi,Yi,Zi)［i=1..n；n≧3］を計測する。移設前、移設後にそれぞれ３点以上の基準点位置を測定し、移設前・後の基準点位置から作業対象物の位置の変化量を求め、この位置変化量分だけロボットプログラムの教示点位置をシフトする。  
なお、後述するキャリブレーションに関連して下記の非特許文献１及び特許文献１がある。
【０００５】
【非特許文献１】Roger Y. Tsai and Reimar K. Lenz, "A New Technique for Fully Autonomous and Efficient 3D Robotics Hand/Eye Calibration", IEEE Trans. on Robotics and Automation, Vol.5, No.3, 1989, pp.345-358
【特許文献１】特開平１０−６３３１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、上記（１）の機械的方法では再設置後の精度は通常数センチメートル程度であり、それ以上の精度を確保することは実際上困難である。従って、残された誤差を解消するための教示修正作業は不可避である。また、倒れや、傾きといった３次元的な姿勢変化を合わせることは難しく、倒れ、傾きの精度は設置作業者の目視に頼ることになる。
【０００７】
また、上記（２）の方法は、ロボットのタッチアップで移設前、移設後の作業対象物の位置を測定、求めた位置データに基づきロボットプログラムをシフトする方法であるが、実際には、ロボットのツール先端点設定の設定誤差、基準点へのタッチアップ時の位置合わせの誤差により、最終的にシフトしたプログラムに高い精度を出すことは簡単でない。ツール先端点の設定、タッチアップではいずれも、ロボットをジョグ送りで動作させ、目標とする点にロボットのツール先端点を合わせるのであるが、ツール先端点設定時および位置合わせ時のロボットの姿勢の取り方、作業者の熟練度により精度に差が出易い。特に、位置合わせは目視で行なうため、熟練者でも精度が出にくく、シフト後に1点づつ教示点位置を修正する作業は依然として必要である。
【０００８】
また、ツール先端点設定やタッチアップを正確に行うには、それだけ時間がかかり、教示修正作業に要するトータルの時間は、タッチアップによるシフトを行わなわず、全教示点を修正した場合と比較して大差がない場合も多く、タッチアップによるシフトを使わないケースも多い。  
このように、移設前後の教示修正を正確に、短時間で行いたいというユーザの要求は強いものの、従来これを実現する実用的な方法がなかった。本発明はこのような問題を解決しようとするもので、上記したような移設後における教示位置修正を簡便且つ高精度で行えるようにして、移設に伴う教示修正作業の負担を軽減することを目的とするものである。
【課題を解決するための手段】
【０００９】
本発明は、ロボットシステムの移設の前後で作業対象物上またはその保持装置上に定義された３点以上の３次元位置を視覚センサを用いて計測し、該計測位置データから移設前後のロボットと作業対象物の相対位置の変化が補償されるように、移設前に教示済みのロボット動作プログラムの教示点位置を修正することで上記問題点を解決するものである。即ち、本発明に係る教示位置修正装置には、ロボットのアーム先端に取り付けられた視覚センサを用いて、作業対象物または作業対象物を保持する保持装置の一直線上に並ばない少なくとも３個所の３次元位置を求める位置計測手段が装備され、前記移設前および移設後に計測した前記少なくとも３個所の位置に基づいて、前記ロボットと前記作業対象物または前記保持装置の相対位置の変化に見合った、前記ロボットの動作プログラムの教示点位置修正を行なう。
【００１０】
各請求項の記載に即して言えば、請求項１は、視覚センサで計測を行うロボットと、教示点位置が修正されるロボットが同じ場合に適用される発明を規定しているのに対し、請求項２は、視覚センサで計測を行うロボットと、教示点位置が修正されるロボットが別のロボットの場合に適用される発明を規定している。後者の場合、教示点位置を修正するロボット（第２ロボット）と、作業対象物の相対位置の変化を求めるため、視覚センサを装着した第１ロボットは、作業対象物だけでなく、第２ロボット上の一直線上に並ばない少なくとも３点の計測も行われる。視覚センサにより、第２ロボットの設置位置および作業対象物の位置が移設前後でそれぞれ計測され、これから第２ロボットと作業対象物の相対位置の変化を補償するように教示点データの修正が行なわれる。
【００１１】
請求項３は、視覚センサを、上記３次元計測を行う際に前記ロボットのアーム先端部に取り付け、計測終了後に取り外すことを特徴とするものである。これにより、１台の視覚センサを複数台のロボットの教示位置修正に兼用することができる。  
請求項４は、視覚センサとロボットアーム先端部の位置姿勢関係を、アーム先端部に視覚センサを取り付けるたびに、複数の異なる位置で、一定の位置に配置された基準物体を計測することにより求めることを特徴とするものである。これにより、視覚センサのアーム先端部への取り付け精度が高くなくても、正確な計測が可能になる。
【００１２】
請求項５は、３次元位置を計測する個所として、作業対象物または、作業対象物を保持する保持装置の持つ形状特徴を使用するものである。形状特徴の例としては、穴、コーナーなど画像処理により、位置が正確に求められる部位が望ましいが、視覚センサにより位置を検出できる特徴であれば特に制限はない。
【００１３】
請求項６は、３次元位置を計測する個所として、作業対象物または、作業対象物の保持装置に設けた基準マークを用いるものである。例えば、作業対象物や保持装置自体に視覚センサが容易に位置を検出できる特徴がない場合（表面の平らな板状物体など）には、円形、十字形などの基準マークを対象物または保持装置上に用意（例えば貼付けて固定）し、その位置を計測する。
【００１４】
請求項７は、視覚センサとして二次元画像を取得するカメラを用いる場合である。例えば産業用ＴＶカメラなどがこれに相当する。  
請求項８は、視覚センサとして３次元の位置、姿勢計測が可能な３次元視覚センサを用いるものである。例えば、産業用ＴＶカメラと投光装置を組み合わせたものなどがある。
【００１５】
以上、いずれの請求項に記載された発明においても、ロボット（請求項２では第１ロボット）のアーム先端に装着した視覚センサは、作業対象物または、対象物保持装置上の特定個所の３次元位置を計測する。移設前後のそれぞれについて計測した点の位置に基づき、教示位置を修正するために必要な座標変換を求め、この座標変換を動作プログラムの教示位置データに作用させることにより、プログラムの教示点位置を修正する。
【発明の効果】
【００１６】
本発明によれば、下記（１）、（２）の効果を通して、移設に伴う教示修正作業工数を低減することができる。  
（１）目視で位置合わせを行うタッチアップを用いず、視覚センサにより計測を行うことにより、目視では不可能な高精度の計測を実現できる。目視による確認を必要としないため、作業者の技量に依存しない。また、視覚センサで自動的に測定ができるので、短時間で作業が完了する。  
（２）ロボットのアーム先端と視覚センサの位置姿勢を、複数の個所から視覚センサで基準物体を見ることにより認識するので、視覚センサを必要なときに装着すればよく、また、視覚センサを装着する位置・姿勢について高精度を要求するものではないため、作業を簡便に行うことができる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照して本発明の実施形態について説明する。先ず図１は、本発明の一実施形態の全体構成を示した図である。同図において、符号１は公知の典型的なロボットで、図２に示した周知のブロック構成を有している。即ち、メインＣＰＵ（以下、単にＣＰＵと言う。）１１に接続されたバス１７に、ＲＡＭ、ＲＯＭ、不揮発性メモリ等からなるメモリ１２、教示操作盤用インターフェイス１３、外部装置用の入出力インターフェイス１６、サーボ制御部１５及び通信インターフェイス１４が並列に接続されている。
【００１８】
教示操作盤用インターフェイス１３に接続される教示操作盤１８は通常のディスプレイ機能付のもので、オペレータは、この教示操作盤１８のマニュアル操作を通して、ロボットの動作プログラムの作成、修正、登録、あるいは各種パラメータの設定の他、教示された動作プログラムの再生運転、ジョグ送り等を実行する。ロボット及びロボット制御装置の基本機能を支えるシステムプログラムは、メモリ１２のＲＯＭに格納される。また、アプリケーションに応じて教示されるロボットの動作プログラム（ここではスポット溶接のプログラム）並びに関連設定データは、メモリ１２の不揮発性メモリに格納される。なお、後述する教示位置データ修正に関連した処理を行なうためのプログラム、パラメータ等のデータもメモリ１２の不揮発性メモリに格納される。メモリ１２のＲＡＭは、ＣＰＵ１１が行なう各種演算処理におけるデータの一時記憶の記憶領域に使用される。
【００１９】
サーボ制御部１５はサーボ制御器＃１〜＃ｎ（ｎ：ロボットの総軸数で、ここではｎ＝６とする）を備え、ロボット制御のための演算処理（軌道計画作成とそれに基づく補間、逆変換など）を経て作成された移動指令を受け、各軸に付属したパルスコーダ（図示省略）から受け取るフィードバック信号と併せてサーボアンプＡ１〜Ａｎにトルク指令を出力する。各サーボアンプＡ１〜Ａｎは、各トルク指令に基づいて各軸のサーボモータに電流を供給してそれらを駆動する。通信インターフェイス１４は、画像処理装置２（図１参照）に接続されており、この通信インターフェイス１４を介して、後述する計測に関連する指令、計測結果データ等の授受がロボット制御装置との間で行なわれる。
【００２０】
画像処理装置２は、図３に示した周知のブロック構成を有している。即ち、画像処理装置２はマイクロプロセッサからなるＣＰＵ２０を有しており、ＣＰＵ２０には、バスライン３０を介してＲＯＭ２１、画像処理プロセッサ２２、カメラインターフェイス２３、モニタインターフェイス２４、入出力機器（Ｉ／Ｏ）２５、フレームメモリ（画像メモリ）２６、不揮発性メモリ２７、ＲＡＭ２８及び通信インターフェイス２９が各々接続されている。
【００２１】
カメラインターフェイス２３には、視覚センサ３の撮像手段であるカメラ（ここではＣＣＤカメラ）が接続されており、カメラインターフェイス２３を介して撮影指令が送られると、カメラに設定された電子シャッタ機能により撮影が実行され、カメラインターフェイス２３を介して映像信号がグレイスケール信号の形でフレームメモリ２６に格納される。モニタインターフェイス２４にはモニタ２ａ（図１、図５を参照）としてＣＲＴ、ＬＣＤ等のディスプレイが接続されており、カメラが撮影中の画像、フレームメモリ２６に格納された過去の画像、画像処理プロセッサ２２による処理を受けた画像等が必要に応じて表示される。
【００２２】
フレームメモリ２６に格納されたワークＷの映像信号は、画像処理プロセッサ２２を利用して解析され、保持装置５上の基準マーク６ａ、６ｂ、６ｃを認識し、それに基づいて６ａ、６ｂ、６ｃの３次元位置が求められる（詳細は後述）。なお、そのためのプログラム、パラメータ等は不揮発性メモリ２７に格納されている。また、ＲＡＭ２８はＣＰＵ２０が実行する各種処理に必要なデータの一時記憶に利用される。通信インターフェイス２９は、前述したロボット制御装置側の通信インターフェイス１４を介してロボット制御装置に接続されている。
【００２３】
さて、図１に戻ると、ロボットアーム１ｂの先端には作業ツール１ｃ（本例ではスポット溶接用の溶接ガン）が取り付けられている。ロボット１は、作業対象物４（本例では溶接を行う板金パネル）に対し溶接作業を行うロボットである。作業対象物４は、保持装置５上に固定されている。作業対象物４と保持装置５の相対位置関係は一定で、後述する移設後も変化しない。保持装置５の典型的なものは、板金パネルを固定するクランプ機構を備えた固定治具である。
【００２４】
溶接作業を行うロボットの動作プログラムは予め教示済みであり、ロボット制御装置１ａ内に記憶されている。画像処理装置２には、視覚センサ（センサヘッド）３が接続され、視覚センサ３から入力された画像が画像処理装置２で処理され、センサ画像内の特定の点や、形状特徴の位置が検出される。
【００２５】
本実施形態では、視覚センサ３は２次元画像を撮影するＣＣＤカメラであり、ロボットの作業ツール１ｃに、適当な取付手段（例えば永久磁石を利用した吸着、万力機構によるクランプ等）によって着脱自在に取り付けられている。視覚センサ３は、後述する移設前の計測完了後に一旦取り外し、移設後に再装着しても良いし、支障がなければ取り付けたまま移設を行なっても良い。ロボット１の最終リンク上のメカニカルインタフェース座標系Σf と視覚センサの基準座標系Σc との相対関係は予め設定されているか、視覚センサ３を作業ツール１ｃに取り付けた際にキャリブレーションを行い設定しても良い。移設前の計測完了後に視覚センサ３を一旦取り外す場合には、移設後にもキャリブレーションを行なう。なお、視覚センサのキャリブレーションについては周知であるが、後に若干の説明を行なう。
【００２６】
さて既述の通り、本発明は、ロボット１と保持装置５の少なくとも一方が別の場所に移設され、ロボット１と作業対象物の相対位置が移設前と変化する場合に、この相対位置のズレによって必要となる溶接作業用ロボット動作プログラムの教示位置の修正を簡単且つ精度良く行えるようにするものである。そのために、本実施形態では、図４のフローチャートに概要を示した処理手順を実行する。
【００２７】
図４に示したフローチャートにおいて、ステップ１００〜１０５は、移設前の計測に関連する諸ステップで、保持装置５上に設けられた３個所の基準マークの３次元位置の計測とそのための準備を行なうものである。ステップ２００以降は移設後に行う操作の諸ステップで、その内、ステップ２００〜２０５は、移設後の基準マークの３次元位置の計測とその準備を行なうものであり、ステップ３００〜３０２は、移設前、移設後の基準マーク位置から、移設前後のロボットに対する保持装置の移動量分を計算し、移設前に教示済みのロボット動作プログラムの教示点位置データを修正する処理に係るものである。以下、各ステップの要点を説明する。なお、以下の説明において括弧[]は行列を表わす記号として用いる。
【００２８】
ステップ１００；視覚センサ（ＣＣＤカメラ）を作業ツール１ｃに取り付ける。視覚センサがカメラと投光装置を含むセンサヘッドを持つタイプのものである場合には、そのセンサヘッドを作業ツール１ｃに取り付ける。なお、取り付けは既述の通り、着脱自在な態様で行なわれ、後で一旦取り外される（ステップＳ１５０参照）。
【００２９】
ステップ１０１；ロボット最終リンクの座標系Σf と、取り付けられた視覚センサ（カメラ）の基準座標系Σc の相対位置姿勢関係を求めるために、キャリブレーションを行う。キャリブレーションのやり方はいくつかのものが周知となっており、それを適宜用いれば良い。図５は、その１つを適用する場合の配置を表わしている。先ず、既知の間隔でドットを配置したキャリブレーション用の基準物体をロボットの作業領域内に置く。このような基準物体は視覚センサのキャリブレーションで一般的に用いられるものである。
【００３０】
オペレータがジョグ操作で、視覚センサの視野内に基準物体が納まる第１の位置A1 へロボットを移動させる。オペレータは画像処理装置のキーボードを操作し、第１のキャリブレーション用画像の入力を指示する。画像処理装置２は、視覚センサからの画像を撮影を実行する。画像処理処置を用いてキャリブレーション用基準物体の画像を解析し、ドットの画像上での位置と、ドット間隔、ドットの配列などのデータからセンサ座標系Σc から見た基準物体の位置姿勢[D1]のデータを求める。またそれと共に、画像撮影時の最終リンク座標系の（Σf ）の位置姿勢[A1]をロボット制御装置から通信インターフェイスを介して取り込み、[D1]と共に画像処理装置のメモリに記憶する。
【００３１】
同様に、ロボットを別の位置A2，A3に動かし、同様に[D2]、[A2]、[D3]、[A3]を記憶する。一直線上に並ばない３個所以上の異なる位置について、[Di]、[Ai]を求める。画像処理装置はこのようにして得られた複数の （[Di]、[Ai]）のペアから、最終リンクΣf に対するセンサ座標系Σc の位置姿勢[S] を計算し、その結果を記憶する。[S] を求める具体的計算内容の詳細については、複数のものが周知なので、ここでは省略する（例えば前出の非特許文献１を参照）。
【００３２】
なお、視覚センサがカメラと投光装置を組み合わせた３次元視覚センサの場合のキャリブレーション方法についても複数のものが周知なので、ここでは省略する（例えば前出の特許文献１を参照）。  
また、ここでは、最終リンクの座標系Σf と視覚センサの基準座標系Σc  の関係をキャリブレーションにより設定したが、ロボットの最終リンクに対し視覚センサを毎回同じ位置姿勢に取り付け可能なようにカメラの取り付け治具が設計されていれば、キャリブレーションを省略し、予め既知のΣc とΣf の関係を画像処理装置にキーボードなどの入力装置で設定しても良い。
【００３３】
但し、本実施例のように、視覚センサを取り付けるたびに毎回キャリブレーションを行うようにすれば、視覚センサの作業ツールへの取り付け精度が不要であり、作業ツールへの視覚センサの取り付けに誤差があっても、キャリブレーションによりその誤差が吸収されるため、取り付け誤差が計測精度に影響しないという利点がある。また、取り付け毎に位置・姿勢の高い再現性を要求されないということは、簡単な取り付け機構（マグネット、万力機構等）の使用を可能にするという利点もある。
【００３４】
ステップ１０２／１０３／１０４／１０５；キャリブレーション終了後、作業対象物４を保持する保持装置５に設けた３個の基準マーク１〜３（図１中の６ａ〜６ｃ参照）の３次元位置を計測する。ここで、３つの基準マークの位置は、それらが一直線上に並ばないように選ばれている。また、基準マークを人為的に設ける代わりに、既存の形状特徴、特徴部位等があれば、それを利用しても良い。更に、基準マーク（あるいはそれに代わる形状特徴、特徴部位等）の一部あるいは全部は作業対象物４上にあっても良い。
【００３５】
オペレータがロボットを操作し、第１の基準マーク６ａが視覚センサの視野内に収まる位置 B1へロボットを移動させる。オペレータは画像処理装置のキーボードから画像の入力を指示し、画像処理装置はセンサからの画像を撮影し、画像上での基準マーク６ａの位置を検出する。同時に画像撮影時の最終リンクΣf の位置[B1]をロボット制御装置から通信インターフェイスを介して取り込む。
【００３６】
次に、B1から一定距離離れた位置B1' へロボットを移動させ、同様にセンサの画像を撮影、基準マーク６ａの画像上位置を検出するとともに、ロボット位置[B1']を取り込む。
【００３７】
[B1]および[B1']、前述のキャリブレーションで求めた最終リンクΣf に対するセンサ座標系Σc の位置姿勢[S]から、[B1]および[B1']でのセンサ座標系Σc のロボット座標系での位置が求まり、これと[B1]、[B1']で検出したマーク６ａの画像上位置から、公知のステレオ視の原理を用いて、マーク６ａのロボット座標系での３次元位置P1(x1,y1,z1)を求めることができる。なお、視覚センサが投光装置を用いた３次元視覚センサであれば、１つのロボット位置からの画像撮影で各基準マークの位置P1(x1,y1,z1)を測定することができる。
【００３８】
求めた位置P1（x1,y1,z1）は通信I/Fを介してロボット制御装置に送信され、ロボット制御装置内のメモリに記憶される。なお、一般的な視覚センサの分解能は、視野範囲の1/500 から1/1000以上あるので、人間の目視と比べはるかに高い精度で基準マーク位置を計測することができる。
【００３９】
同様に、第２、第３の基準マーク６ｂ、６ｃをセンサの視野内に収める位置B2，B3 へロボットを移動させ、第２、第３のマークの３次元位置 P2(x2,y2,z2)、P3(x3,y3,z3)を計測し同じくロボット制御装置内のメモリに記憶する。ロボットを各計測位置に移動させる方法は、オペレータがジョグ操作でロボットを移動させても良いし、予めマーク位置計測用のロボット動作プログラムを作成し、各計測位置を教示しておいても良い。計測した３個所のマーク位置は、画像処理装置のメモリに記憶しても良い。
【００４０】
ステップ１５０；移設前のマーク計測が終了したら、視覚センサを作業ツールから取り外しても良い。もちろん、取り外さなくても良い。その後、ロボット１と保持装置５は別の場所に移設され、再設置が行われる。
【００４１】
ステップ２００／２０１；移設後、再び視覚センサをロボット作業ツール先端に取り付け、移設前と同様の手順で再度キャリブレーションを実行する。なお、視覚センサをロボット作業ツール先端に取り付けたままであれば、これらステップは省略される。
【００４２】
ステップ２０２／２０３／２０４／２０５；移設後の配置で、移設前と同じ手順で再び保持装置上の基準マーク６ａ、６ｂ、６ｃの計測を行い、求めた移設後の基準マーク位置 P1'(x1',y1',z1')、P2'(x2',y2',z2')、P3'(x3',y3',z3') を記憶する。ここまでで、保持装置上に設けた３ヶ所の基準マークについて、
移設前の基準マーク位置P1（x1,y1,z1）、P2(x2,y2,z2)、P3(x3,y3,z3) および、移設後の基準マーク位置P1'(x1',y1',z1')、P2'(x2',y2',z2')、P3'(x3',y3',z3') がロボット制御装置のメモリに記憶される。
【００４３】
オペレータは、教示位置を修正すべき動作プログラムをロボットの教示操作盤１８を操作して指示する。次に移設前、移設後の各３個の基準マーク位置を格納しているメモリ領域を指示し、動作プログラムの教示点位置修正を指示する。  
ステップ３００；ロボット制御装置は、移設前の基準マーク位置P1,P2、P3から保持装置の位置姿勢を表す行列 [W1] を計算する。
【００４４】
ステップ３０１；次に、移設後の基準マーク位置P1'，P2'，P3' から移設後の保持装置の位置姿勢を表す行列[W2]を計算する。  
移設前の教示点位置を P、移設後に修正すべき教示点位置を P' とすると、移設の前後で、
inv[W1] P ＝ inv[W2] P'    （式１）    （但しinv[Wi] は、[Wi]の逆行列）
という関係が成り立つ。これから、移設後に修正すべき教示点位置 P' は、W1,W2, Pを用いて、下記式で表わされる。  
P' ＝ [W2] inv[W1] P （式２）
従って、移設前の教示点位置P に 行列（[W2] inv[W1]）を左からかければ、移設後の教示点位置を求めることができる。これに従い、ロボット制御装置内で、[W2] inv[W1]を計算する。
【００４５】
ステップ３０２；指定された動作プログラムの各教示点位置 を上記の（式２）によって座標変換すれば、移設によるロボットと作業対象物の相対位置ずれを補正した、教示位置点位置を求めることができる。
以上、視覚センサを作業ロボット自身に搭載するケースを説明したが、基準マーク（またはそれに代わる形状特徴等）の３次元位置の計測を行うロボットと、教示位置を修正するロボットを別のロボットとすることもできる。その場合は、作業対象物の位置だけでなく、教示位置を修正するロボット（第２ロボット）の位置も求める必要がある。
【００４６】
そのためには、保持装置５上の３個所の基準マーク６ａ〜６ｂを計測した場合と同様、図６に示したように、第２ロボットのベース上にも一直線上に並ばない基準マーク７ａ〜７ｃを３個所以上設け、その位置を第１ロボットに搭載した視覚センサ（図示省略）を用いて、移設前及び移設後で計測すれば良い。ここで、第２ロボット上に設ける基準マーク７ａ〜７ｃは、ロボットベース８のように第２ロボットの姿勢が変わっても動かない位置に選択するのが好ましい。
【００４７】
もしも、第２ロボットの姿勢に応じて位置が変化する位置に基準マークを設ける場合には、移設前の計測時と、移設後の計測時で同一姿勢をとらせることが好ましい（別の姿勢の場合は、その姿勢の差異を考慮して移設前後の第２ロボットの位置変化を求める必要があり、計算が複雑になり、誤差も出易くなる）。
【００４８】
プログラムシフト時は、第２ロボットの、３個所の基準マークから、視覚センサを装着した第１ロボットに対する、第２ロボットの相対位置を計算する。計算の仕方は、上記の実施形態で基準マーク６ａ〜６ｃを利用して行なった計算と同様なので詳細は省略する。
そして、求めた第２ロボットの位置を用いて、第２ロボットと、保持装置５の相対位置（行列）を計算すれば、ステップ３００以降の教示点位置シフトは、先の実施例（計測ロボットと教示位置修正するロボット同じ場合）と同様に行うことができる。
【図面の簡単な説明】
【００４９】
【図１】本発明の実施形態で採用されるシステムの全体構成図である。
【図２】ロボット制御装置のブロック構成を示した図である。
【図３】画像処理装置のブロック構成を示した図である。
【図４】実施形態で行なわれる教示位置修正の手順の概略を記したフローチャートである。
【図５】視覚センサのキャリブレーションについて説明する図である。
【図６】第２ロボット上に設けられた基準マークの例を示した図である。
【符号の説明】
【００５０】
１  ロボット
１ａ  ロボット制御装置
１ｂ  ロボットアーム
１ｃ  作業ツール
２  画像処理装置
３  視覚センサ（センサヘッド）
４  作業対象物
５  保持装置
６ａ〜６ｃ、７ａ〜７ｃ  基準マーク
８  ロボットベース
１１  メインＣＰＵ
１２  メモリ
１３  教示操作盤用インターフェイス
１４  通信インターフェイス
１５  サーボ制御部
１６  外部装置用の入出力インターフェイス
１７  バス
１８  教示操作盤
２０  ＣＰＵ
２１  ＲＯＭ
２２  画像処理プロセッサ
２３  カメラインターフェイス
２４  モニタインターフェイス
２５  入出力機器（Ｉ／Ｏ）
２６  フレームメモリ（画像メモリ）
２７  不揮発性メモリ
２８  ＲＡＭ
２９  通信インターフェイス
３０  バスライン
【図１】
2005149299.tif 000003
【図２】
2005149299.tif 000004
【図３】
2005149299.tif 000005
【図４】
2005149299.tif 000006
【図５】
2005149299.tif 000007
【図６】
2005149299.tif 000008