(57)【特許請求の範囲】
【請求項１】
ロボットと、前記ロボットの手先に固定された視覚センサを組み合わせたシステムにおいて、記憶部に記憶された前記ロボットの手先座標系と前記視覚センサのセンサ座標系の相対的な関係を記述する関連情報を校正する方法であり、
前記関連情報は、回転行列と並進ベクトルとを含み、
前記ロボットのロボット座標系に一つのマークを配置し、
前記視覚センサを取り付けた前記ロボットの手先を移動させて、前記マークに向けた前記視覚センサの姿勢を変えずに平行移動させた少なくとも第１から第３の３箇所の観測箇所と、前記マークに対して前記第１から第３の３箇所の観測方向と異なる方向でかつ相互に異なる方向から前記マークを臨む少なくとも第４及び第５の観測箇所で、前記マークの観測を行い、
各観測箇所の画像を画像処理してマーク位置認識データを得て、
各観測箇所での前記ロボットの姿勢データと前記マーク位置認識データとを対応づけて取得し、
前記第１から第３の観測箇所での姿勢データとマーク位置認識データとの対応関係に基づいて前記回転行列を校正し、
前記第１から第３の観測箇所のうちの一つと、前記第４及び第５の観測箇所と、での姿勢データとマーク位置認識データとの対応関係に基づいて前記並進ベクトルを校正する、
ことを特徴とする座標系校正方法。
【請求項２】
前記ロボットを制御するロボットコントローラに、あらかじめ前記第１から第５の５箇所の観測箇所をプログラミングしておき、前記ロボットコントローラにより、各観測箇所への移動、観測、画像処理及び前記関連情報の校正を自動的に制御する
ことを特徴とする請求項１に記載の座標系校正方法。
【請求項３】
前記視覚センサによって観測される画像が、あらかじめ登録された理想的な観測画像と一致するように漸近的にロボットを誘導するロボット誘導手段を設け、
前記ロボット誘導手段により、前記視覚センサの各観測箇所への移動を行う
ことを特徴とする請求項１に記載の座標系校正方法。
【請求項４】
ロボットと、前記ロボットの手先に固定された視覚センサと、前記視覚センサの画像処理を行う画像処理装置と、前記ロボットを動作させるロボット動作手段と、前記ロボットの手先座標系と前記視覚センサのセンサ座標系の相対的な関係を記述する関連情報を記憶する記憶部と、前記関連情報を校正する演算部とを備え、
前記ロボットのロボット座標系に一つのマークが配置されており、
前記ロボット動作手段は、前記視覚センサを取り付けた前記ロボットの手先を、前記マークに向けた前記視覚センサの姿勢を変えずに平行移動させた少なくとも第１から第３の３箇所の観測箇所と、前記マークに対して前記第１から第３の３箇所の観測方向と異なる方向でかつ相互に異なる方向の少なくとも第４及び第５の観測箇所に移動させ、
前記画像処理装置は、各観測箇所の前記視覚センサの画像を画像処理してマーク位置認識データを出力し、
前記関連情報は、回転行列と並進ベクトルとを含み、
前記演算部は、各観測箇所での前記ロボットの姿勢データと前記マーク位置認識データとを対応づけて取得し、前記第１から第３の観測箇所での姿勢データとマーク位置認識データとの対応関係に基づいて前記回転行列を校正し、前記第１から第３の観測箇所のうちの一つと、前記第４及び第５の観測箇所と、での姿勢データとマーク位置認識データとの対応関係に基づいて前記並進ベクトルを校正する、
ことを特徴とするロボットシステム。
【請求項５】
前記ロボット動作手段は、前記第１から第５の５箇所の観測箇所があらかじめプログラミングされたロボットコントローラであり、前記ロボットコントローラは、各観測箇所への移動、観測及び前記関連情報の校正を自動的に行う
ことを特徴とする請求項４に記載のロボットシステム。
【請求項６】
前記視覚センサによって観測される画像が、あらかじめ登録された理想的な観測画像と一致するように漸近的にロボットを誘導するロボット誘導手段を、さらに備え、
前記ロボット誘導手段は、各観測箇所にて前記視覚センサが理想的な位置に近づくように誘導する
ことを特徴とする請求項４に記載のロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットと視覚センサとを組み合わせたロボットシステムの座標系校正方法に関するものである。
【背景技術】
【０００２】
従来、ロボットと視覚センサとを組み合わせたシステムにおいて、視覚センサの設置形態の一つにハンドアイと呼ばれる方式が提案されている。ロボットの手先部（フランジ）に視覚センサを固定し、視覚センサにロボットの手先部と同一の動きをさせるもので、視覚センサの数を増やすことなく複数の位置での計測が可能なことから、コスト面や作業スペース節約の面から効果が大きい。
【０００３】
ハンドアイ方式を採用したシステムにおいては、視覚センサを用いて対象物の位置を計測し、それに基づいてロボットの動作（位置）を補正する。そのためには、視覚センサによって得られる対象物の位置データをロボットが動作する座標系上のデータに変換する必要がある。すなわち、視覚センサの座標系（センサ座標系）と、ロボットが動作する座標系（ロボット座標系）の間の関係を情報として求めておく必要がある。
【０００４】
一般に、ロボットアームの先端には、各種ツールを取付けるフランジが設けられている。そして、このフランジに定義されている座標系（フランジ座標系／手先座標系）をロボット座標系に変換するパラメータ（回転行列と並進ベクトル）が、ロボットコントローラの記憶部に記憶されている。したがって、このフランジに視覚センサが取付けられた場合には、視覚センサの座標系つまりセンサ座標系をフランジ座標系に変換するパラメータを校正すればよい。これにより、視覚センサで検出した対象物のセンサ座標系をフランジ座標系に変換し、さらにそれをロボット座標系に変換することができる。
【０００５】
下記の特許文献１は、視覚センサがロボットのアーム先端に取り付けられている場合の校正方法に関するものである。同一平面上に視覚センサが検出可能なマークを４つ以上設けて、ロボットの制御点をマークに位置決めすることによりマークのロボット座標を取得する。一方、ロボットの手先を所定位置に固定して視覚センサでマークを検出することでマークのセンサ座標を取得する。その後、一定の評価により３つのマークを選択し、３つのマークのロボット座標とセンサ座標の対応関係から両座標系の関係を決定する。
【０００６】
また、下記の非特許文献１は、視覚センサがロボットのアーム先端に取り付けられている場合の校正方法に関するものである。この文献では座標系の回転と並進を４×４の行列で表現する方法を用いているが、アーム先端の姿勢すなわち視覚センサの姿勢を変えて２方向から校正用マークを観測すると、センサ座標系のＸをフランジ座標系に変換する行列として、ＡＸ＝ＸＢという形式の方程式が成立することを示している。ここでＡは校正用マークを視覚センサで検出したときのアームの２通りの姿勢に関する行列で、ロボットコントローラの出力から得られる。一方Ｂはアームの各姿勢のときに視覚センサで検出された校正用マークのセンサ系座標に関する行列で、校正用マークの検出結果から得られる。そして、この方程式をいかに解いて行列Ｘを求めるかということがこの文献の主題になっている。ここで、行列Ｂを得るためには同一平面にはない校正用マークが少なくとも４点必要である。
【０００７】
さらに、下記の非特許文献２は、ロボットの手先に取り付けられた視覚センサで、ロボット座標系に固定されたただ一つのマークを、ロボットの手先の位置・姿勢を変化させてさまざまな方向（一つの実験例では２７方向）から観測し、その観測データを用いて非線形最適化手法による複雑なアルゴリズムでロボットの手先の座標系とセンサの座標系の関係を計算している。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許第３５４１９８０号公報
【非特許文献】
【０００９】
【非特許文献１】Y. Shiu and S. Ahmad: "Calibration of Wrist-Mounted Robotic Sensors by Solving Homogeneous Transform Equations of the Form AX = XB", IEEE Trans. on Robotics and Automation, vol. 5, no. 1, pp.16-29, August 1989.
【非特許文献２】川端聡，  永田和之，  河井良浩："環境に固定されたマーカを用いたハンドアイキャリブレーション"，  「画像認識・理解シンポジウム（ＭＩＲＵ２００９）」，ｐｐ．８２５−８３２，  ２００９年７月
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記特許文献１に開示された校正方法は、視覚センサがロボットのアーム先端に取り付けられている場合の校正方法において、視覚センサが検出可能なマークを同一平面上に４つ以上設けて、ロボットの制御点をマークに位置決めすることによりマークのロボット座標を取得するものであり、校正用マークが４点以上必要であるので、コストが増えるという問題があった。
【００１１】
また、上記非特許文献１に開示された校正方法は、同一平面にない、すなわち３次元的に配置された校正用マークが４点以上必要であり、それらは２方向から同時に精度よく視覚センサによって検出可能とされていなければならない。そのため、形状と配置に工夫が必要で、その製作にコストと時間を要する、という問題があった。
【００１２】
また、非特許文献２に開示された校正方法は、校正用マークはただ一つでよいが、非常に多数の方向からマークを観測する必要があり、また非線形最適化手法を用いているので、計算が真値に収束する保証がない、という問題があった。
【００１３】
本発明は、上記に鑑みてなされたものであって、ロボットと、ロボットの手先に固定された視覚センサを組み合わせたロボットシステムにおいて、ロボットの手先座標系と視覚センサのセンサ座標系の相対的な関係を記述する関連情報（回転行列と並進ベクトル）を、容易にまた安価に校正することができる座標系校正方法及びロボットシステムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上述した課題を解決し、目的を達成するために、本発明の座標系校正方法は、ロボットと、ロボットの手先に固定された視覚センサを組み合わせたシステムにおいて、記憶部に記憶されたロボットの手先座標系と視覚センサのセンサ座標系の相対的な関係を記述する関連情報を校正する方法であり、前記関連情報は、回転行列と並進ベクトルとを含み、ロボットのロボット座標系に一つのマークを配置し、視覚センサを取り付けたロボットの手先を移動させて、マークに向けた視覚センサの姿勢を変えずに平行移動させた少なくとも第１から第３の３箇所の観測箇所と、マークに対して第１から第３の３箇所の観測方向と異なる方向でかつ相互に異なる方向からマークを臨む少なくとも第４及び第５の観測箇所で、マークの観測を行い、各観測箇所の画像を画像処理してマーク位置認識データを得て、各観測箇所でのロボットの姿勢データとマーク位置認識データとを対応づけて取得し、前記第１から第３の観測箇所での姿勢データとマーク位置認識データとの対応関係に基づいて前記回転行列を校正し、前記第１から第３の観測箇所のうちの一つと、前記第４及び第５の観測箇所と、での姿勢データとマーク位置認識データとの対応関係に基づいて前記並進ベクトルを校正する、ことを特徴とする。
【００１５】
上述した課題を解決し、目的を達成するために、本発明のロボットシステムは、ロボットと、ロボットの手先に固定された視覚センサと、視覚センサの画像処理を行う画像処理装置と、ロボットを動作させるロボット動作手段と、ロボットの手先座標系と視覚センサのセンサ座標系の相対的な関係を記述する関連情報を記憶する記憶部と、関連情報を校正する演算部とを備え、ロボットのロボット座標系に一つのマークが配置されており、ロボット動作手段は、視覚センサを取り付けたロボットの手先を、マークに向けた視覚センサの姿勢を変えずに平行移動させた少なくとも第１から第３の３箇所の観測箇所と、マークに対して第１から第３の３箇所の観測方向と異なる方向でかつ相互に異なる方向の少なくとも第４及び第５の観測箇所に移動させ、画像処理装置は、各観測箇所の視覚センサの画像を画像処理してマーク位置認識データを出力し、演算部は、各観測箇所でのロボットの姿勢データとマーク位置認識データとを対応づけて取得し、このデータに基づいて関連情報を校正することを特徴とする。
【発明の効果】
【００１６】
本発明によれば、ロボットの手先座標系と視覚センサのセンサ座標系の相対的な関係を記述する関連情報を、容易にまた安価に校正することができる、という効果を奏する。
【図面の簡単な説明】
【００１７】
【図１】図１は、実施の形態１のロボットシステムを示す模式図である。
【図２】図２は、５箇所の観測位置の位置と姿勢を表す概念図である。
【図３】図３は、各観測位置におけるマークの観測画像である。
【図４】図４は、実施の形態３のロボットシステムを示す模式図である。
【発明を実施するための形態】
【００１８】
以下に、本発明にかかる座標系校正方法及びロボットシステムの実施の形態を図面に基づいて詳細に説明する。なおこの実施の形態によりこの発明が限定されるものではない。
【００１９】
実施の形態１．
本実施の形態１においては、視覚センサが位置認識可能である一つのマークをロボットの座標系に配置し、視覚センサを取り付けたロボットの手先を制御して、少なくとも３箇所の視覚センサの姿勢が同じでかつ異なる観測位置に移動（つまり平行移動のみ）させ、また少なくとも３箇所の視覚センサの姿勢が互いに異なる方向から該マークを観測する観測位置に移動させてマークを観測し、各マーク観測箇所でのロボットの姿勢のデータと視覚システムによるマーク位置認識データとを対応づけて取得し、そのデータに基づいてロボットの手先の座標系と視覚センサの座標系の関係を表す関連情報（パラメータ）を校正する。
【００２０】
用意する校正用マークは一つでよく、その配置位置の座標は未知でよい。マークの観測位置は５箇所でたり、そのうち３箇所は視覚センサを平行移動させた位置でよいので、安価で、容易にロボットの手先の座標系とセンサ座標系の間の関係を校正することができる。計算は連立方程式を解いて行われるが解析的に解を求めることができるので、非線形最適化アルゴリズムのように真値に収束するか否の心配がない。
【００２１】
図１は、実施の形態１のロボットシステムを示す模式図である。図１において、本実施の形態１のロボットシステム１０１は、ロボット３０、ロボットコントローラ３１、手動操作パネル３７、画像処理装置２１、視覚センサ２０を含んで構成されている。ロボットコントローラ３１には、ロボット３０と画像処理装置２１と手動操作パネル３７が接続されている。
【００２２】
ロボット３０は、６自由度の多関節ロボットであり、ロボットアームの先端には、フランジ３２が設けられている。このフランジ３２には作業用のツールとして例えばロボットハンド等が装着されるが図１では省略している。そして、このフランジ３２には、ロボットハンド等のツールと並んで視覚センサ２０が取り付けられている。
【００２３】
一般にロボット座標系３５の原点は、ロボット３０の基部の底面にあり、Ｚ軸を垂直方向にとって定義される。図１ではこのロボット座標系３５を便宜上少しずらして描いている。フランジ座標系（手先座標系）３６は、ロボット３０の手先のフランジ３２に定義された座標系で、同様に図１では便宜上少しずらして描いている。フランジ座標系（手先座標系）３６の位置と姿勢はロボットコントローラ３１が制御している。ロボット座標系３５内に唯一つの校正用マークが配置されており、その座標位置は未知である。
【００２４】
視覚センサ２０を用いて対象物の位置を計測し、それに基づいてロボット３０の動作をさせるために、視覚センサ２０によって得られる対象物の位置データをロボット３０が動作する座標系上のデータに変換する。つまり、視覚センサ２０の座標系（これを「センサ座標系２５」と言う）と、ロボット３０が動作する座標系（これを「ロボット座標系３５」と言う）の間の関係を予め求める。ロボットアーム先端のフランジ３２に定義されているフランジ座標系（手先座標系）３６をロボット座標系３５に変換するパラメータが、ロボットコントローラ３１の記憶部３１ｃにあらかじめ記憶されている。そして、このフランジ３２に視覚センサ２０が取付けられているので、センサ座標系２５をフランジ座標系３６に変換するパラメータ（回転行列と並進ベクトル）を校正すればよい。これにより、視覚センサ２０で検出したマーク１０のセンサ座標系２５をフランジ座標系３６に変換し、さらにそれをロボット座標系３５に変換することができる。
【００２５】
ロボットコントローラ３１は、マイクロプロセッサからなる中央演算処理装置（ＣＰＵ）と、ＣＰＵにバス結合されたＲＯＭメモリ、ＲＡＭメモリ、不揮発性メモリ、ロボットの軸制御のためのディジタルサーボ回路と、サーボアンプ、外部信号の入出力装置、画像処理装置２１と結ばれた通信インターフェイス等を備えている。これら電子部品は、機能的に制御部３１ａ、演算部３１ｂ、記憶部３１ｃを構成している。
【００２６】
記憶部３１ｃを構成するメモリのうち、ＲＯＭメモリにはシステムを制御するシステムプログラムが格納され、ＲＡＭメモリはＣＰＵが行なう処理のためのデータの一時記憶等に使用される。また、不揮発性メモリには、動作プログラムのデータや、システムの動作に必要な各種設定値が格納される。この各種設定値には、ロボット３０のフランジ３２に定義されている座標系（フランジ座標系／手先座標系）３６をロボット座標系３５に変換するパラメータ、すなわち、フランジ座標系（手先座標系）３６とセンサ座標系２５の相対的な関係を記述する関連情報であるパラメータ（回転行列と並進ベクトル）も含まれている。ロボットコントローラ３１は、フランジ３２の位置姿勢を制御すると同時にそのデータをリアルタイムでアップデートしており、出力することができる。なお、本実施の形態の記憶部３１ｃは、ロボットコントローラ３１の内部に設けられているが、外部に設けられた記憶装置であってもよい。
【００２７】
手動操作パネル３７は、ロボット３０の手動操作をするためのパネルであり、このパネル上に設けられたボタン、ジョイスティックなどを操作することにより、ロボット３０を手動操作できるようになっている。
【００２８】
本実施の形態１の動作においては、ロボットコントローラ３１と手動操作パネル３７は、視覚センサ２０を第１の観測位置１から第５の観測位置５に順次移動させるロボット動作手段を構成している。作業者が、手動操作パネル３７を使ってボタン操作などによりロボットを操作して、視覚センサ２０を第１の観測位置１から第５の観測位置５に順次移動させる場合には、手動操作パネル３７がロボット動作手段を構成する。一方、ロボットコントローラ３１の記憶部３１ｃに記憶された動作プログラムにより、自動的に視覚センサ２０が第１の観測位置１から第５の観測位置５に順次移動する場合（実施の形態２）には、ロボットコントローラ３１がロボット動作手段を構成する。
【００２９】
視覚センサ２０は、視野２２を有し、マーク１０の３次元位置データを得ることができる視覚センサであり、図１では一つのカメラのように描かれているが、２眼ステレオカメラのようなセンサでもよい。視覚センサ２０には、視覚センサ２０が撮像した画像の情報を処理する画像処理装置２１が接続されている。一般にセンサ座標系２５の原点はレンズ中心にとり、Ｚ軸を光軸方向にとるが、図１では便宜上少しずらして描いている。
【００３０】
次に、動作の説明に入る前に、座標系の関係を整理しておく。ロボット３０の手先座標系（フランジ座標系）３６とセンサ座標系２５の間の関係の校正作業で目的とするのは、次式に示すセンサ系座標（ｘ、ｙ、ｚ）をフランジ系座標（ＸＦ，ＹＦ，ＺＦ）に変換する３×３の回転行列Ｒｈと並進ベクトルＴｈを決定することである。
【数１】
0005371927.tif 000002
【００３１】
フランジ系座標３６は、次式でロボット系座標３５に変換される。
【数２】
0005371927.tif 000003
【００３２】
ここでＲｆ、Ｔｆはロボットコントローラ３１が保持しているフランジ３２の位置、姿勢を表す回転行列と並進ベクトルである。そして、（１）（２）式を結合すると、
【数３】
0005371927.tif 000004
となる。すなわち、この式がセンサ系座標（ｘ、ｙ、ｚ）をロボット系座標（Ｘ，Ｙ，Ｚ）に変換する式である。フランジ３２の姿勢をＲｆｃに固定して、つまり視覚センサ２０の姿勢を同じに保ったまま、２つの位置Ｔｆ１およびＴｆ２に移動して校正用マークを観測したときのマーク１０のセンサ系座標２５をそれぞれ（ｘ１、ｙ１、ｚ１）、（ｘ２、ｙ２、ｚ２）とすると、ロボット座標系３５におけるマーク１０の座標は同じであるから次の等式が成り立つ。
【数４】
0005371927.tif 000005
【００３３】
式を変形すると
【数５】
0005371927.tif 000006
【００３４】
同様にして、視覚センサ２０の姿勢を同じに保ったまま第３の位置Ｔｆ３に移動して、同じ校正用マークを観測すると、
【数６】
0005371927.tif 000007
が得られる。（５）（６）式において未知数はＲｈのみである。Ｒｈは３×３の行列で９要素からなるが、回転行列であることから、各列（各行）の要素の２乗和が１になるという制約条件があり、（ｘ１、ｙ１、ｚ１）、（ｘ２、ｙ２、ｚ２）、（ｘ３、ｙ３、ｚ３）が互いに異なっていれば、（５）（６）の連立方程式を解いてＲｈをユニークに決定できる。
【００３５】
次に、フランジ３２の位置と姿勢をＴｆ４，Ｒｆ４に移動して校正用マークを観測し、マーク１０のセンサ系座標が（ｘ４、ｙ４、ｚ４）だったとすると、（４）式と同様に
【数７】
0005371927.tif 000008
が言える。整理をすると
【数８】
0005371927.tif 000009
【００３６】
前述のようにしてＲｈが求まっていれば、（８）式の未知数は右辺のＴｈのみであり、［Ｒｆ４−Ｒｆｃ］の逆行列を左から掛ければＴｈが求まるように思われる。しかし回転行列の差の行列はランクが２に縮退しているため、逆行列は存在しない。そこで、さらにフランジ３２の位置と姿勢をＴｆ５，Ｒｆ５に移動して校正用マークを観測し、マークのセンサ系座標が（ｘ５、ｙ５、ｚ５）だったとすると、（８）式と同様にして
【数９】
0005371927.tif 000010
を得る。回転行列Ｒｆ４、Ｒｆ５の回転軸が平行でなければ、言い換えれば回転方向が異なっていれば、（８）（９）式を連立一次方程式として解いてＴｈを求めることが出来る。
【００３７】
以上の準備のもと、以下に動作について説明する。作業者は、まず校正用マーク１０を配置するが、その位置はロボット３０を操作してその手先に取り付けられた視覚センサ２０で以下に述べるような観測が可能な位置ならどこでもよい。そして、その座標も未知でよい。マーク１０の形状やパターンに特に制限はなく、マークが視覚センサで認識できて、その上の１点の位置が視覚センサ２０で計測できればよい。
【００３８】
次に、作業者はロボット３０の手動操作パネル３７を操作して、順次ロボット３０の手先の位置と姿勢を制御しながら、視覚センサ２０によるマーク１０の検出を５回実行し、各回のロボット３０の姿勢データＲｆ、Ｔｆとマークのセンサ系座標を対応付けて記録する。このときに姿勢を変えずに位置だけ手先を移動させた第１から第３の観測箇所にてマーク１０の観測を行い、次いで手先の位置も姿勢も変化させた第４および第５の観測箇所でマーク１０の検出を実行する。
【００３９】
図２は、本実施の形態１の５箇所の観測位置の位置と姿勢を表す概念図である。第１から第３の観測箇所である観測１、２、３の観測姿勢は固定（一定の方向に保持）されており、観測位置のみ互いに異なることを示している。第４および第５の観測箇所である観測４と５は、第１の観測箇所にくらべて位置も姿勢も互いに異なっていることを示している。第１の観測箇所から第４の観測箇所への移動するとき、あるいは、第１の観測箇所から第５の観測箇所へ移動するときには、視覚センサ２０はマーク１０を回転中心とする円弧状の経路を通って移動（回転）する。このとき図示は難しいが、上述のように第１の観測箇所から第４の観測箇所への移動するときの円弧の回転軸と第１の観測箇所から第５の観測箇所へ移動するときの円弧の回転軸とは、ともにマーク１０中心近傍を通る直線となるが、両直線が平行にならないように制御する。
【００４０】
各観測毎に、ロボットコントローラ３１から出力されるフランジ座標系３６の位置、姿勢を表す回転行列Ｒｆと並進ベクトルＴｆが、画像処理装置２１から出力される観測されたマーク１０のセンサ系座標（ｘ、ｙ、ｚ）２５と対応づけられて記録される。
【００４１】
第１から第３の観測箇所である観測１、２、３から並進ベクトルを含まない方程式が得られて、回転行列が容易に求まり、第１、第４及び第５の観測箇所である観測１，４，５からは回転行列、並進ベクトルを含む一般形の方程式が得られるが、回転行列がわかっていると並進ベクトルだけの方程式となり、容易に並進ベクトルが求まる。
【００４２】
なお、マーク１０の観測順序は図２に示された観測１から観測５の順序に従う必要はなく、任意の順序で実行してよい。図３にマークの観測例を示す。マークは正方形を２本の対角線で４分割し、４つの３角形を白、黒交互に塗り分けたパターンで、視覚センサ２０がその位置を計測する点は対角線の交点である。このような明確な特徴のある点であれば、上記非特許文献２の技術のように２眼ステレオ方式の視覚センサで容易に対応点を見つけて、カメラからの距離を計算できる。
【００４３】
所定の５箇所のマーク観測が終了した後、方程式（５）（６）を連立で解いてＲｈを求め、求まったＲｈを利用して、方程式（８）（９）を連立で解いてＴｈを求める。方程式を解く作業は、マーク観測時に得られるフランジ３２の位置姿勢に関するデータ、ＴｆとＲｆおよび視覚センサ２０から出力されるマークのセンサ系座標（ｘ、ｙ、ｚ）２５の値を対応付けて、例えばエクセルのような表計算プログラムにインプットして解くことができる。
【００４４】
方程式を解く作業は、ロボットコントローラ３１の記憶部３１ｃに記憶されたプログラムを演算部３１ｂにより解いたり、画像処理装置２１の図示しない記憶部に記憶されたプログラムで実行したりしてもよい。その場合には、ロボットコントローラ３１と画像処理装置２１が通信網を介して必要なデータの送受信をするようにするのがよい。
【００４５】
以上のように、本実施の形態１の座標系校正方法は、ロボット３０のロボット座標系３５に一つのマーク１０を配置し、視覚センサ２０を取り付けたロボット３０の手先を移動させて、視覚センサ２０の姿勢を変えずに平行移動させた少なくとも第１から第３の３箇所の観測箇所と、マーク１０に対して第１から第３の３箇所の観測方向と異なる方向でかつ相互に異なる方向からマーク１０を臨む少なくとも第４及び第５の観測箇所で、マーク１０の観測を行い、各観測箇所の画像を画像処理してマーク位置認識データを得て、各観測箇所でのロボット３０の姿勢データとマーク位置認識データとを対応づけて取得し、両データに基づいて関連情報（パラメータ）を校正する。計算は連立方程式を解いて行われるが解析的に解を求めることができるので、非線形最適化アルゴリズムのように真値に収束するか否の心配がない。そして、第１から第３の観測箇所から並進ベクトルを含まない方程式がえられて、回転行列が容易に求まり、第１、第４及び第５の観測箇所からは回転行列、並進ベクトルを含む一般形の方程式が得られ、その際、回転行列がわかっていると並進ベクトルだけの方程式となり、容易に並進ベクトルが求まる。これにより、ロボット３０の手先座標系（フランジ座標系）３６と視覚センサ２０のセンサ座標系２５の相対的な関係を記述する関連情報（パラメータ）を、容易にまた安価に校正することができる。
【００４６】
実施の形態２．
実施の形態１では、作業者が手動操作パネル３７からロボット３０を操作して、ロボット３０の手先の位置と姿勢を制御して、必要な５箇所の観測位置へロボット手先を誘導した。本実施の形態２では、あらかじめ５箇所のマーク観測位置および各位置での姿勢をロボット制御プログラムとしてプログラミングしてロボットコントローラ３１の記憶部３１ｃに記憶させておき、作業者はマーク１０を配置したのち、プログラムの起動操作をすることのみで、必要な５箇所の観測データを得られるようにする。必要な５箇所のマークの観測位置、姿勢をあらかじめプログラムとして組み込んでおくことにより、何かのトラブルで再度、座標系の校正作業が必要になったときに、迅速に対応できる。
【００４７】
実施の形態３．
図４は、実施の形態３のロボットシステムを示す模式図である。本実施の形態３の構成は実施の形態１の構成に対してロボット誘導装置（ロボット誘導手段）４０が付加されている。実施の形態１では、マーク観測位置への手先すなわち視覚センサ２０の移動は作業者の手動操作によるものであったが、本実施の形態３ではロボット誘導装置４０が主導権を持って、マーク１０の位置認識結果を用いてロボット１０を誘導して視覚センサ２０を順次所定のマーク観測位置へ移動させる。ロボット誘導装置４０は誘導目標データとして理想観測画像情報４１を記憶している。理想観測画像情報４１には、第２、第３の観測に対しては、マーク１０を観測する画像上の理想位置、第４、第５の観測にたいしてはマーク１０を観測する画像上の理想位置と観測１から見た姿勢の理想回転情報が保持されている。
【００４８】
まず、作業者は図３の観測１のような観測ができる位置にロボット３０の手先を手動操作で移動させる。次に自動モードに切り替えて、ロボット誘導装置４０を起動する。ロボット誘導装置４０は、順次、第２、第３、第４、第５のマーク観測位置姿勢に、ビジュアルフィードバックと呼ばれる手法でロボット３０の手先を誘導する。すなわち、現在観測しているマーク１０の位置と理想観測画像情報４１に記された画像上の理想マーク位置の差が小さくなるようにロボット３０を誘導する。そのためにまず、視覚センサ２５の視野２２からマークが外れない程度にわずかにロボット３０の手先を移動させ、その結果マーク１０が画像上でどの方向へ移動したか調べ、理想位置にマークが近づくように試行錯誤を繰り返す。そして、理想マーク位置と画像上のマーク位置の差が一定以下になれば、目標観測位置に達したと判断する。第２、第３の観測においては姿勢は最初に作業者が手動操作で移動した姿勢を変化させず、第４、第５の観測においては理想観測画像情報４１に記された回転を、マーク１０が視野２２から外れない程度に序々に加えて同様に誘導する。なお、本実施の形態の理想観測画像情報４１は、ロボット誘導装置４０の内部に設けられた記憶部に記憶されているが、外部に設けられた記憶装置などに記憶されてもよい。
【００４９】
このようにして、本実施の形態３では５箇所の観測データを自動的に取得することができる。視覚センサ２０では一般に視野中心部における計測精度が視野周辺部よりも高い。理想観測画像情報４１として視野中心で観測するように設定しておけば、作業者の目視によるマーク観測位置の位置決めよりも精度のよい観測データをもとに座標系の校正を実施できる。
【産業上の利用可能性】
【００５０】
以上のように、本発明にかかる座標系校正方法及びロボットシステムは、ロボットハンドに視覚センサを組み合わせたロボットシステムの座標系校正方法に最適なものである。
【符号の説明】
【００５１】
１０  マーク
２０  視覚センサ
２１  画像処理装置
２２  視野
２５  センサ座標系
３０  ロボット
３１  ロボットコントローラ（ロボット動作手段）
３１ａ  制御部
３１ｂ  演算部
３１ｃ  記憶部
３２  フランジ
３５  ロボット座標系
３６  フランジ座標系（手先座標系）
３７  手動操作パネル（ロボット動作手段）
４０  ロボット誘導装置（ロボット誘導手段）
４１  理想観測画像情報
【図１】
0005371927.tif 000011
【図２】
0005371927.tif 000012
【図３】
0005371927.tif 000013
【図４】
0005371927.tif 000014