(57)【要約】  ロボット（１１）のアームに取り付けられたハンドカメラ（４０）と、ロボットのアーム可動領域よりも高い場所に下向きに固定され固定カメラ（５１）と、固定カメラのビジョン座標系の座標値をロボットの座標系である世界座標系の座標値に変換するための座標変換パラメータを算出する座標変換パラメータ算出部（４５）と、所定位置に配置したキャリブレーション治具（５５）とを備える。座標変換パラメータは、固定カメラのビジョン座標系の原点を補正する原点補正パラメータと、固定カメラのビジョン座標系の座標軸の傾きを補正する座標軸傾き補正パラメータとを含み、ハンドカメラのビジョン座標系でのキャリブレーション治具の位置及び傾き角度に関する情報と固定カメラのビジョン座標系でのキャリブレーション治具の位置及び傾き角度に関する情報との関係に基づいて原点補正パラメータ及び座標軸傾き補正パラメータを算出する。
2020121396.tif 000002
【特許請求の範囲】
【請求項１】
作業エリアに供給されたワークに対して所定の作業を行うロボットと、
前記ロボットのアームに取り付けられたハンドカメラと、
前記ロボットのアーム可動領域よりも高い場所に下向きに固定され、前記作業エリアに供給されたワークを上方から撮像する固定カメラと、
前記ハンドカメラで撮像した画像を処理して撮像対象の位置を当該画像の基準点を原点とする座標系（以下「ハンドカメラのビジョン座標系」という）の座標値で認識し、前記固定カメラで撮像した画像を処理して撮像対象の位置を当該画像の基準点を原点とする座標系（以下「固定カメラのビジョン座標系」という）の座標値で認識する画像処理部と、
前記固定カメラのビジョン座標系の座標値を前記ロボットのアームの動作を制御する座標系である世界座標系の座標値に変換するための座標変換パラメータを算出する座標変換パラメータ算出部と、
前記座標変換パラメータを用いて前記固定カメラのビジョン座標系の座標値を前記世界座標系の座標値に変換する座標変換部と、
前記ロボットのアームの位置を前記世界座標系の座標値で制御する制御部と、
前記固定カメラの視野内に収まる所定位置に配置されたキャリブレーション治具とを備え、
前記座標変換パラメータは、前記固定カメラのビジョン座標系の原点を補正する原点補正パラメータと、前記固定カメラのビジョン座標系の座標軸の傾きを補正する座標軸傾き補正パラメータとを含み、
前記座標変換パラメータ算出部が前記座標変換パラメータを算出する際に、前記制御部は、前記ハンドカメラの視野内に前記キャリブレーション治具が収まるように前記ロボットのアームの動作を制御して前記ハンドカメラを移動させ、前記画像処理部は、前記ハンドカメラで前記キャリブレーション治具を撮像した画像を処理して前記キャリブレーション治具の位置及び傾き角度に関する情報を前記ハンドカメラのビジョン座標系で認識すると共に、前記固定カメラで前記キャリブレーション治具を撮像した画像を処理して前記キャリブレーション治具の位置及び傾き角度に関する情報を前記固定カメラのビジョン座標系で認識し、
前記座標変換パラメータ算出部は、前記画像処理部が認識した前記ハンドカメラのビジョン座標系での前記キャリブレーション治具の位置及び傾き角度に関する情報と前記固定カメラのビジョン座標系での前記キャリブレーション治具の位置及び傾き角度に関する情報との関係に基づいて前記原点補正パラメータ及び前記座標軸傾き補正パラメータを算出する、ロボットキャリブレーションシステム。
【請求項２】
前記座標変換パラメータ算出部が前記原点補正パラメータを算出する際に、前記制御部は、前記ハンドカメラの視野内に前記キャリブレーション治具が収まるように前記ロボットのアームの動作を制御して前記ハンドカメラを移動させ、前記画像処理部は、前記ハンドカメラで前記キャリブレーション治具を撮像した画像を処理して前記キャリブレーション治具の１つの特定点の位置を前記キャリブレーション治具の位置に関する情報として前記ハンドカメラのビジョン座標系の座標値で認識すると共に、前記固定カメラで前記キャリブレーション治具を撮像した画像を処理して前記キャリブレーション治具の前記１つの特定点の位置を前記キャリブレーション治具の位置に関する情報として前記固定カメラのビジョン座標系の座標値で認識し、
前記座標変換パラメータ算出部は、前記画像処理部が認識した前記ハンドカメラのビジョン座標系での前記１つの特定点の位置の座標値と前記固定カメラのビジョン座標系での前記１つの特定点の位置の座標値との位置関係に基づいて前記原点補正パラメータを算出する、請求項１に記載のロボットキャリブレーションシステム。
【請求項３】
前記座標変換パラメータ算出部が前記座標軸傾き補正パラメータを算出する際に、前記制御部は、前記ハンドカメラの視野内に前記キャリブレーション治具が収まるように前記ロボットのアームの動作を制御して前記ハンドカメラを移動させ、前記画像処理部は、前記ハンドカメラで前記キャリブレーション治具を撮像した画像を処理して前記キャリブレーション治具の２箇所の特定点の位置を前記ハンドカメラのビジョン座標系の座標値で認識すると共に、前記固定カメラで前記キャリブレーション治具を撮像した画像を処理して前記キャリブレーション治具の前記２箇所の特定点の位置を前記固定カメラのビジョン座標系の座標値で認識し、
前記座標変換パラメータ算出部は、前記ハンドカメラのビジョン座標系での前記２箇所の特定点の位置の座標値に基づいて前記ハンドカメラのビジョン座標系での前記キャリブレーション治具の傾き角度を算出すると共に、前記固定カメラのビジョン座標系での前記２箇所の特定点の位置の座標値に基づいて前記固定カメラのビジョン座標系での前記キャリブレーション治具の傾き角度に関する情報を算出し、前記ハンドカメラのビジョン座標系と前記固定カメラのビジョン座標系で算出した２つの前記キャリブレーション治具の傾き角度に関する情報の差分値に基づいて前記座標軸傾き補正パラメータを算出する、請求項１又は２に記載のロボットキャリブレーションシステム。
【請求項４】
前記キャリブレーション治具は、それを前記ハンドカメラと前記固定カメラで撮像する際に作業者が前記固定カメラの視野内の所定位置にセットし、撮像終了後に取り出す、請求項１乃至３のいずれかに記載のロボットキャリブレーションシステム。
【請求項５】
作業エリアに供給されたワークに対して所定の作業を行うロボットと、
前記ロボットのアームに取り付けられたハンドカメラと、
前記ロボットのアーム動作範囲よりも高い場所に下向きに固定され、前記作業エリアに供給されたワークを上方から撮像する固定カメラと、
前記ロボットのアームの動作を世界座標系の座標値で制御する制御部と、
前記固定カメラの視野内に収まる所定位置に配置されたキャリブレーション治具とを備え、
前記固定カメラで前記キャリブレーション治具を撮像した画像を処理して前記キャリブレーション治具の位置及び傾き角度に関する情報を当該画像の基準点を原点とする座標系（以下「固定カメラのビジョン座標系」という）で認識する工程と、
前記ハンドカメラの視野内に前記キャリブレーション治具が収まるように前記ロボットのアームの動作を制御して前記ハンドカメラを移動させて、前記ハンドカメラで前記キャリブレーション治具を撮像した画像を処理して前記キャリブレーション治具の位置及び傾き角度に関する情報を当該画像の基準点を原点とする座標系（以下「ハンドカメラのビジョン座標系」という）で認識する工程と、
前記固定カメラのビジョン座標系での前記キャリブレーション治具の位置及び傾き角度に関する情報と前記ハンドカメラのビジョン座標系での前記キャリブレーション治具の位置及び傾き角度に関する情報との関係に基づいて前記固定カメラのビジョン座標系の座標値を前記世界座標系の座標値に変換するための座標変換パラメータを算出する工程と
を含む、ロボットキャリブレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、作業エリアに供給されたワークを上方から固定カメラで撮像して当該ワークの位置を認識して作業するロボットの座標系と固定カメラの座標系との対応関係をキャリブレーション（校正）するロボットキャリブレーションシステム及びロボットキャリブレーション方法に関する技術を開示したものである。
【背景技術】
【０００２】
近年、特許文献１（特開２０１３−２１５８６６号公報）に記載されているように、ロボットのアーム可動領域の上方に固定カメラを下向きに固定し、アーム可動領域に供給されたワークを固定カメラで撮像して当該ワークの位置を認識しながらロボットのアームの動作を制御するロボット制御システムにおいて、固定カメラの座標系とロボットの座標系との関係をキャリブレーションするキャリブレーターを備えたものがある。この特許文献１のキャリブレーション方法は、ロボットのアームにマークを付して、固定カメラの視野内にロボットのアームに付されたマークを収めて撮像して当該マークの位置を固定カメラの座標系で認識することで、固定カメラの座標系とロボットの座標系との対応関係をキャリブレーションするようにしている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−２１５８６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、キャリブレーションの精度を高めるには、固定カメラの座標系の座標軸（Ｘ軸とＹ軸）の方向をロボットの座標系の座標軸（Ｘ軸とＹ軸）の方向と正確に一致させる必要がある。しかし、実際には、ロボットのアーム可動領域の上方の固定構造物（ロボット防護柵の天井等）に固定カメラを取り付けるときの取付誤差によって固定カメラの座標系の座標軸の方向とロボットの座標系の座標軸の方向との間に多少のずれが生じることは避けられない。【０００５】
上記特許文献１のキャリブレーション方法では、ロボットのアームにマークを付して、固定カメラの視野内にロボットのアームに付されたマークを収めて撮像して当該マークの位置を固定カメラの座標系で認識することで、ロボットの座標系の原点に対する固定カメラの座標系の原点のずれ量とずれ方向を計測できるため、ロボットの座標系の原点に対する固定カメラの座標系の原点のずれを補正できる。しかし、ロボットのアームに付されたマークを固定カメラで撮像するだけでは、ロボットの座標系の座標軸に対する固定カメラの座標系の座標軸の傾き角度を計測することはできない。このため、取付誤差等によって生じる固定カメラの座標系の座標軸の傾きを補正することはできず、その座標軸の傾きによってキャリブレーションの精度が低下するという欠点がある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、作業エリアに供給されたワークに対して所定の作業を行うロボットと、前記ロボットのアームに取り付けられたハンドカメラと、前記ロボットのアーム可動領域よりも高い場所に下向きに固定され、前記作業エリアに供給されたワークを上方から撮像する固定カメラと、前記ハンドカメラで撮像した画像を処理して撮像対象の位置を当該画像の基準点を原点とする座標系（以下「ハンドカメラのビジョン座標系」という）の座標値で認識し、前記固定カメラで撮像した画像を処理して撮像対象の位置を当該画像の基準点を原点とする座標系（以下「固定カメラのビジョン座標系」という）の座標値で認識する画像処理部と、前記固定カメラのビジョン座標系の座標値を前記ロボットのアームの動作を制御する座標系である世界座標系の座標値に変換するための座標変換パラメータを算出する座標変換パラメータ算出部と、前記座標変換パラメータを用いて前記固定カメラのビジョン座標系の座標値を前記世界座標系の座標値に変換する座標変換部と、前記ロボットのアームの位置を前記世界座標系の座標値で制御する制御部と、前記固定カメラの視野内に収まる所定位置に配置されたキャリブレーション治具とを備え、前記座標変換パラメータは、前記固定カメラのビジョン座標系の原点を補正する原点補正パラメータと、前記固定カメラのビジョン座標系の座標軸の傾きを補正する座標軸傾き補正パラメータとを含み、前記座標変換パラメータ算出部が前記座標変換パラメータを算出する際に、前記制御部は、前記ハンドカメラの視野内に前記キャリブレーション治具が収まるように前記ロボットのアームの動作を制御して前記ハンドカメラを移動させ、前記画像処理部は、前記ハンドカメラで前記キャリブレーション治具を撮像した画像を処理して前記キャリブレーション治具の位置及び傾き角度に関する情報を前記ハンドカメラのビジョン座標系で認識すると共に、前記固定カメラで前記キャリブレーション治具を撮像した画像を処理して前記キャリブレーション治具の位置及び傾き角度に関する情報を前記固定カメラのビジョン座標系で認識し、前記座標変換パラメータ算出部は、前記画像処理部が認識した前記ハンドカメラのビジョン座標系での前記キャリブレーション治具の位置及び傾き角度に関する情報と前記固定カメラのビジョン座標系での前記キャリブレーション治具の位置及び傾き角度に関する情報との関係に基づいて前記原点補正パラメータ及び前記座標軸傾き補正パラメータを算出するようにしたものである。【０００７】
このように、所定位置に配置されたキャリブレーション治具を固定カメラとハンドカメラの両方で撮像して、画像処理により各々のビジョン座標系でキャリブレーション治具の位置及び傾き角度に関する情報を認識するようにすれば、両座標系のキャリブレーション治具の位置関係に基づいて原点補正パラメータを算出できると共に、両座標系のキャリブレーション治具の傾き角度の関係に基づいて座標軸傾き補正パラメータを算出することができる。これにより、ロボットの座標系である世界座標系の座標軸に対して固定カメラのビジョン座標系の座標軸が傾いていたとしても、そのビジョン座標系の座標軸の傾きと原点のずれを座標軸傾き補正パラメータと原点補正パラメータで精度良く補正して、固定カメラのビジョン座標系の座標値を世界座標系の座標値に精度良く変換することができる。
【図面の簡単な説明】
【０００８】
【図１】図１はロボット制御システムの外観を示す正面図である。
【図２】図２はロボット制御システムの電気的構成を示すブロック図である。
【図３】図３はキャリブレーション治具の平面図である。
【図４】図４はキャリブレーション実行プログラムの前半部の処理の流れを示すフローチャートである。
【図５】図５はキャリブレーション実行プログラムの後半部の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本明細書に開示した一実施例を図面を用いて説明する。
まず、図１に基づいてロボット１１の構成を説明する。
【００１０】
ロボット１１は、例えば５軸垂直多関節ロボットであり、工場フロア１２に設置された固定ベース１３と、この固定ベース１３上に第１関節軸１４（Ｊ１）を中心に回転可能に設けられた第１アーム１５と、この第１アーム１５の先端に第２関節軸１６（Ｊ２）によって旋回可能に設けられた第２アーム１７と、この第２アーム１７の先端に第３関節軸１８（Ｊ３）によって旋回可能に設けられた第３アーム１９と、この第３アーム１９の先端に第４関節軸２０（Ｊ４）によって旋回可能に設けられた手首部２１と、この手首部２１に第５関節軸２２（Ｊ５）を中心に回転可能且つ交換可能に取り付けられたエンドエフェクタ２３とから構成されている。これにより、手首部２１に取り付けたエンドエフェクタ２３は、その手首部２１の関節軸である第４関節軸２０によって旋回動作するようになっている。
【００１１】
この場合、エンドエフェクタ２３は、例えば、吸着ノズル、ハンド、グリッパ、溶接機等のいずれであっても良い。ロボット１１の第１〜第５の各関節軸１４，１６，１８，２０，２２は、それぞれサーボモータ２５〜２９（図２参照）により駆動されるようになっている。図２に示すように、各サーボモータ２５〜２９には、それぞれ回転角を検出するエンコーダ３１〜３５が設けられ、各エンコーダ３１〜３５で検出した回転角の情報がサーボアンプ３６を経由して制御部３７にフィードバックされる。これにより、制御部３７は、各エンコーダ３１〜３５で検出した各サーボモータ２５〜２９の回転角が各々の目標回転角と一致するようにサーボアンプ３６を介して各サーボモータ２５〜２９をフィードバック制御することで、ロボット１１の各アーム１５，１７，１９と手首部２１とエンドエフェクタ２３の位置を各々の目標位置にフィードバック制御する。
【００１２】
図２の構成例では、サーボアンプ３６は、複数のサーボモータ２５〜２９をフィードバック制御する多軸アンプであるが、サーボモータ２５〜２９を１台ずつ別々のサーボアンプでフィードバック制御するようにしても良い。
【００１３】
ロボット１１のアーム可動領域（手首部２１先端側のエンドエフェクタ２３が移動可能な領域）の所定位置には、作業対象となるワーク（図示せず）を一定の高さ位置の作業エリア３８に供給する供給装置３９が設置されている。この供給装置３９は、コンベアで構成したものであっても良いし、振動式パーツフィーダ等、どの様な構成のパーツフィーダを用いても良く、要は、作業エリア３８の高さ位置が既知の一定の高さ位置であれば良い。
【００１４】
図１に示すように、ロボット１１のアーム先端部である手首部２１には、作業エリア３８に供給されたワーク又は所定位置に配置されたキャリブレーション治具５５を上方から撮像するハンドカメラ４０が取り付けられている。このハンドカメラ４０は、２次元の画像を撮像する２次元のカメラであり、光軸が第５関節軸２２と平行で、且つ、ハンドカメラ４０のレンズ４１が第５関節軸２２の先端側（アーム先端側）に位置するように固定されている。
【００１５】
更に、ロボット１１のアーム可動領域よりも高い場所に設置された固定構造物５０（例えばロボット防護柵の天井）の所定位置には、固定カメラ５１が下向きに固定され、そのレンズ５２側が下方に向けられている。この固定カメラ５１は、作業エリア３８に供給されたワーク又は所定位置に配置されたキャリブレーション治具５５を上方から撮像する２次元のカメラとして使用される。
【００１６】
図３に示すように、キャリブレーション治具５５は、樹脂板、ガラス板、金属板等により四角形の板状に形成され、その上面に小さな円形のキャリブレーションマーク５６が所定ピッチでマトリックス状（格子点状）に形成されている。
【００１７】
後述するように、固定カメラ５１のビジョン座標系の座標値をロボット１１のアーム位置を制御する座標系である世界座標系の座標値に変換するための座標変換パラメータを算出する場合には、所定位置に配置されたキャリブレーション治具５５を固定カメラ５１とハンドカメラ４０の両方で順番に撮像するが、作業エリア３８に供給されたワークを撮像する場合には、要求される分解能やロボット１１のアーム可動領域内における作業エリア３８の位置等によってハンドカメラ４０と固定カメラ５１とを使い分けるようにしている。ここで、固定カメラ５１の視野やハンドカメラ４０の視野は、ロボット１１のアーム可動領域よりも狭い。ハンドカメラ４０と固定カメラ５１とを比較すると、視野は固定カメラ５１の方が広いが、分解能（１ピクセル当たりの撮像対象の実際の長さ）はハンドカメラ４０の方が細かく、高精度の画像処理が可能である。従って、例えば、作業エリア３８上のワークのサイズが小さくて細かい分解能が要求される場合には、ハンドカメラ４０を使用し、また、固定カメラ５１の視野から外れた位置に設置された作業エリア３８についてはハンドカメラ４０を使用するようにすれば良い。また、固定カメラ５１の視野内に複数の作業エリア３８が収まる場合には、固定カメラ５１の視野内に複数の作業エリア３８を収めて撮像すれば、複数の作業エリア３８上のワークの画像処理を能率良く行うことかできる。或は、複数の作業エリア３８が存在する場合に、作業エリア３８毎にハンドカメラ４０を移動させてワークを撮像するようにしても良い。
【００１８】
以上のように構成したロボット１１の動作を制御するロボット制御ユニット４２は、図２に示すように、画像処理部４３、座標変換パラメータ算出部４５、座標変換部４４、制御部３７及びサーボアンプ３６等を備えた構成となっている。画像処理部４３は、ハンドカメラ４０又は固定カメラ５１で撮像した２次元の画像を処理して作業エリア３８上のワークの位置、或はキャリブレーション治具５５の特定のキャリブレーションマーク５６の位置を当該画像の基準点（例えば画像の中心）を原点とする２次元の直交座標系（以下「ビジョン座標系」という）の座標値で認識する。このビジョン座標系の座標軸は、画像上で直交するＸv 軸とＹv 軸である。作業エリア３８上のワーク又はキャリブレーション治具５５をハンドカメラ４０で撮像する際には、ハンドカメラ４０の光軸を鉛直下向きに向けて撮像するため、ハンドカメラ４０で撮像した画像は、固定カメラ５１で撮像した画像と同様に、水平面を撮像した画像となり、ビジョン座標系のＸv 軸とＹv 軸は水平面上の直交座標軸となる。画像処理部４３は、画像処理によってワークの位置又はキャリブレーション治具５５の特定のキャリブレーションマーク５６の位置をビジョン座標系のピクセル単位の座標値で認識する。
【００１９】
一方、座標変換部４４は、ロボット１１の稼働中には、画像処理部４３の画像処理でワークの位置として認識した２次元のビジョン座標系の座標値を、ロボット１１の各アーム１５，１７，１９と手首部２１とエンドエフェクタ２３の位置を制御するための世界座標系の座標値に変換する。この世界座標系は、基準点を原点とする３次元の直交座標系であり、世界座標系の座標軸は、水平面上の直交座標軸（Ｘ軸とＹ軸）と鉛直上向きの座標軸（Ｚ軸）である。この世界座標系の座標値の単位は、長さの単位（例えばμｍ単位）である。この世界座標系の原点（基準点）は、例えば、ロボット１１のアーム可動領域（手首部２１先端側のエンドエフェクタ２３が移動可能な領域）の中心である。
【００２０】
この場合、座標変換部４４は、ロボット１１の稼働中に固定カメラ５１のビジョン座標系の座標値を世界座標系の座標値に変換する場合には、座標変換パラメータ算出部４５で算出した座標変換パラメータを用いて固定カメラ５１のビジョン座標系の座標値を世界座標系の座標値に変換する。ここで、座標変換パラメータは、固定カメラ５１のビジョン座標系の原点を補正する原点補正パラメータと、固定カメラ５１のビジョン座標系の座標軸の傾きを補正する座標軸傾き補正パラメータとを含む。この固定カメラ５１の原点補正パラメータと座標軸傾き補正パラメータの算出方法については後述する。
【００２１】
一方、ハンドカメラ４０のビジョン座標系の座標値を世界座標系の座標値に変換する場合には、世界座標系の座標軸に対するハンドカメラ４０のビジョン座標系の座標軸の傾き角度Ｒｚと原点を補正することによって、ハンドカメラ４０のビジョン座標系の座標値を世界座標系の座標値に変換する。この補正は、それぞれの座標軸の傾き角度Ｒｚを示す回転行列とビジョン座標原点の世界座標系上の位置（Ｘ1w，Ｙ1w）への並進ベクトルとを求めることによって、ハンドカメラ４０のビジョン座標系の座標値（Ｘav，Ｙav）を次式で補正して世界座標系の座標値（Ｘw'，Ｙw'）に変換することができる。
【００２２】
【数１】
2020121396.tif 000003
【００２３】
上式により、座標変換を行うためには、ハンドカメラ４０のビジョン座標系の座標軸の傾き角度Ｒｚと原点の座標値を測定する必要がある。
【００２４】
ハンドカメラ４０はロボット１１の手首部２１に固定されているため、ロボット１１のアーム位置とハンドカメラ４０との相対的位置関係は常に一定に維持される。従って、世界座標系のＸＹ座標軸に対するハンドカメラ４０のビジョン座標系の座標軸の傾き角度Ｒｚは、次式により算出される。
【００２５】
Ｒｚ＝［ハンドカメラ４０の設置角度］＋［第１関節軸１４の回転角度］
ここで、ハンドカメラ４０の設置角度は、ロボット１１の手首部２１に対するハンドカメラ４０の設置角度であり、ハンドカメラ４０をロボット１１の手首部２１に設置したときに手首部２１に対するハンドカメラ４０の設置角度を測定してロボット制御ユニット４２の不揮発性メモリ（図示せず）に保存しておいた値を参照する。
【００２６】
第１関節軸１４の回転角度の検出方法については、ロボット１１のアーム位置（ハンドカメラ４０の位置）が撮像位置で停止しているときの第１関節軸１４のサーボモータ２５のエンコーダ３１の出力値をロボット制御ユニット４２の制御部３７がリアルタイムで取得して、第１関節軸１４の回転角度を算出するようにしている。
【００２７】
一方、ハンドカメラ４０のビジョン座標系の原点の座標値は、ロボット制御ユニット４２の制御部３７がハンドカメラ４０の撮像位置に指定した世界座標系の座標値と一致するようにロボット１１へのハンドカメラ４０組付け時にキャリブレーション済の状態にしておく。ロボット１１のアーム位置とハンドカメラ４０との相対的位置関係は常に一定の為、ロボット１１の基準点とハンドカメラ４０の光軸中心の距離を測定し、これを補正値として制御部３７からの座標指令値に反映する事によって、ロボット１１に世界座標系上の位置（X1w 、Y1w ）を指示すると、ハンドカメラ４０のビジョン座標系の原点が世界座標系上の位置（X1w 、Y1w ）に移動する様に制御される。
【００２８】
ロボット制御ユニット４２の制御部３７は、各エンコーダ３１〜３５で検出した各サーボモータ２５〜２９の回転角とハンドカメラ４０と手首部２１（エンドエフェクタ２３）との相対的位置関係に基づいてリアルタイムでハンドカメラ４０のビジョン座標系の原点の座標値（Ｘ1w，Ｙ1w）を算出するようにしている。
【００２９】
ロボット制御ユニット４２の制御部３７は、ロボット１１の稼働中に座標変換部４４で３次元の世界座標系の座標値に変換したワークの位置に基づいてロボット１１の各アーム１５，１７，１９と手首部２１とエンドエフェクタ２３の目標位置を世界座標系の座標値で設定して、当該アーム１５，１７，１９と手首部２１とエンドエフェクタ２３の位置を世界座標系の座標値で制御する。
【００３０】
次に、固定カメラ５１のビジョン座標系の座標値を世界座標系の座標値に変換する際に使用する原点補正パラメータと座標軸傾き補正パラメータと分解能の算出処理について説明する。この原点補正パラメータと座標軸傾き補正パラメータと分解能の算出処理は、ロボット１１の設置作業完了時にロボット制御ユニット４２によって図４及び図５のキャリブレーション実行プログラムに従って自動的に実行される。
【００３１】
本プログラムが起動されると、まず、ステップ１０１で、ハンドカメラ４０が固定カメラ５１の視野から外れる位置までロボット１１の各アーム１５，１７，１９を動作させてハンドカメラ４０を退避させる。この後、ステップ１０２に進み、作業者がキャリブレーション治具５５を固定カメラ５１の視野中央に位置する作業エリア３８の所定位置にセットするように作業者に指示する案内を表示及び／又は音声で作業者に知らせる。この案内により、作業者はキャリブレーション治具５５を作業エリア３８の所定位置にセットする作業を行うことになる。
【００３２】
次のステップ１０３で、ロボット制御ユニット４２は、作業者がキャリブレーション治具５５を作業エリア３８の所定位置にセットする作業を完了するまで待機する。このキャリブレーション治具５５のセット作業の完了の判定は、センサ等で自動検知するようにしても良いし、セット作業の完了時に作業者がセット作業完了の情報を手動操作でロボット制御ユニット４２に入力するようにしても良い。
【００３３】
その後、キャリブレーション治具５５のセット作業が完了した時点で、ステップ１０４に進み、固定カメラ５１でキャリブレーション治具５５を撮像し、次のステップ１０５で、固定カメラ５１で撮像した画像を処理して、キャリブレーション治具５５の１箇所の特定点である中央のキャリブレーションマーク５６（Ａ）の位置を固定カメラ５１のビジョン座標系の座標値で認識すると共に、２箇所の特定点である２箇所のコーナー部分のキャリブレーションマーク５６（Ｂ，Ｃ）の位置を固定カメラ５１のビジョン座標系の座標値で認識する。更に、固定カメラ５１のビジョン座標系での２箇所のコーナー部分のキャリブレーションマーク５６（Ｂ，Ｃ）を結ぶ直線の傾き角度を算出する。更に、キャリブレーション治具５５の中央付近の２箇所のキャリブレーションマーク５６（Ａ，Ｄ）の位置を固定カメラ５１のビジョン座標系の座標値で認識し、当該２箇所のキャリブレーションマーク５６（Ａ，Ｄ）の位置間の実際の長さ寸法を画像上の当該位置間のピクセル数で割り算して固定カメラ５１の分解能を算出する。
【００３４】
この後、図５のステップ１０６に進み、ハンドカメラ４０の視野内にキャリブレーション治具５５が収まるようにロボット１１のアーム位置を制御して、ハンドカメラ４０をキャリブレーション治具５５の１箇所の特定点である中央のキャリブレーションマーク５６（Ａ）の上方の所定位置へ移動させる。この後、ステップ１０７に進み、ハンドカメラ４０でキャリブレーション治具５５を撮像し、次のステップ１０８で、ハンドカメラ４０で撮像した画像を処理して、キャリブレーション治具５５の中央のキャリブレーションマーク５６（Ａ）の位置をハンドカメラ４０のビジョン座標系の座標値で認識する。
【００３５】
この後、ステップ１０９に進み、ハンドカメラ４０をキャリブレーション治具５５の一方のコーナー部分のキャリブレーションマーク５６（Ｂ）の上方へ移動させた後、ステップ１１０に進み、ハンドカメラ４０でキャリブレーション治具５５を撮像し、次のステップ１１１で、ハンドカメラ４０で撮像した画像を処理して、キャリブレーション治具５５の一方のコーナー部分のキャリブレーションマーク５６（Ｂ）の位置をハンドカメラ４０のビジョン座標系の座標値で認識する。
【００３６】
この後、ステップ１１２に進み、ハンドカメラ４０をキャリブレーション治具５５の他方のコーナー部分のキャリブレーションマーク５６（Ｃ）の上方へ移動させた後、ステップ１１３に進み、ハンドカメラ４０でキャリブレーション治具５５を撮像し、次のステップ１１４で、ハンドカメラ４０で撮像した画像を処理して、キャリブレーション治具５５の他方のコーナー部分のキャリブレーションマーク５６（Ｃ）の位置をハンドカメラ４０のビジョン座標系の座標値で認識する。
【００３７】
この後、ステップ１１５に進み、固定カメラ５１のビジョン座標系の座標値を世界座標系の座標値に変換するための原点補正パラメータと座標軸傾き補正パラメータを次のようにして算出する。
【００３８】
原点補正パラメータを算出する場合には、固定カメラ５１の撮像画像を処理して認識したキャリブレーション治具５５の中央のキャリブレーションマーク５６（Ａ）の位置の座標値と、ハンドカメラ４０の撮像画像を処理して認識したキャリブレーション治具５５の中央のキャリブレーションマーク５６（Ａ）の位置の座標値との差分値（ΔＸ，ΔＹ）を原点補正パラメータとして算出する。
【００３９】
座標軸傾き補正パラメータを算出する場合には、ハンドカメラ４０の撮像画像を処理して認識したキャリブレーション治具５５の２箇所のコーナー部分のキャリブレーションマーク５６（Ｂ，Ｃ）を結ぶ直線の傾き角度を算出し、前記ステップ１０５で算出した固定カメラ５１のビジョン座標系での２箇所のコーナー部分のキャリブレーションマーク５６（Ｂ，Ｃ）を結ぶ直線の傾き角度と、ハンドカメラ４０のビジョン座標系での２箇所のコーナー部分のキャリブレーションマーク５６（Ｂ，Ｃ）を結ぶ直線の傾き角度との差分値を座標軸傾き補正パラメータとして算出する。
【００４０】
ところで、固定カメラ５１のビジョン座標系では、認識対象の座標値をピクセル単位で認識するのに対して、世界座標系の座標値の単位は、長さの単位（例えば［μｍ］の単位）である。このため、固定カメラ５１のビジョン座標系のピクセル単位の座標値を世界座標系の座標値と同じ長さの単位（例えば［μｍ］の単位）の座標値に変換する必要がある。
【００４１】
そこで、前記ステップ１０５で算出した固定カメラ５１の分解能［μｍ／ピクセル］を固定カメラ５１のビジョン座標系のピクセル単位の座標値に乗算することで、固定カメラ５１のビジョン座標系のピクセル単位の座標値を世界座標系の座標値と同じ長さの単位（例えば［μｍ］の単位）の座標値に変換する。
【００４２】
図４及び図５のキャリブレーション実行プログラムの終了後は、作業エリア３８の所定位置にセットされているキャリブレーション治具５５を作業者が取り出せば、キャリブレーション作業は終了する。
【００４３】
尚、図４及び図５のキャリブレーション実行プログラムでは、キャリブレーション治具５５の中央のキャリブレーションマーク５６（Ａ）を原点補正用の１箇所の特定点としたが、これ以外の位置の１箇所のキャリブレーションマーク５６を原点補正用の１箇所の特定点としても良く、要は、画像処理によりキャリブレーション治具５５の位置に関する情報を取得できるようにすれば良い。
【００４４】
また、図４及び図５のキャリブレーション実行プログラムでは、キャリブレーション治具５５の２箇所のコーナー部分のキャリブレーションマーク５６（Ｂ，Ｃ）を座標軸傾き補正用の２箇所の特定点としたが、これ以外の位置の２箇所のキャリブレーションマーク５６を座標軸傾き補正用の２箇所の特定点としても良く、要は、２箇所の特定点を結ぶ直線の傾き角度をキャリブレーション治具５５の傾き角度に関する情報として取得できるようにすれば良い。或は、キャリブレーション治具５５の上面に直線を形成して、画像処理によりこの直線の傾き角度を計測するようにしても良い。或は、キャリブレーション治具５５の一辺のエッジを画像処理により認識してキャリブレーション治具５５の傾き角度を計測するようにしても良い。要は、画像処理によりキャリブレーション治具５５の傾き角度に関する角度情報を取得できるようにすれば良い。
【００４５】
また、図４及び図５のキャリブレーション実行プログラムでは、先に固定カメラ５１の撮像・画像処理（ステップ１０４〜１０５）を行った後に、ハンドカメラ４０の撮像・画像処理（ステップ１０６〜１１４）を行うようにしたので、ステップ１０６、１０９、１１２で移動するキャリブレーションマーク（Ａ）（Ｂ）（Ｃ）の世界座標系の座標値は、ステップ１０５での固定カメラの画像処理で認識済なため、この世界座標系の座標値を制御部３７から自動的に指示される。つまり、キャリブレーション冶具５５の配置位置によって前記キャリブレーションマーク（Ａ）（Ｂ）（Ｃ）の世界座標系の座標値を作業者が指示し直す必要がないように配慮されている。
【００４６】
以上説明した図４及び図５のキャリブレーション実行プログラムは、ロボット１１の設置作業完了時にロボット制御ユニット４２によって実行されるが、ロボット１１の作業ミスの発生頻度が増加した場合等、再度のキャリブレーションが必要と判断される状況になったときに、ロボット制御ユニット４２が図４及び図５のキャリブレーション実行プログラムを再実行して各補正パラメータを再計測したり、或は、ロボット１１の点検・修理時や異常停止時（エラー停止時）、又は、ロボット１１の積算運転時間、積算運転日数、エラー発生回数（エラー発生率）等が所定値に達する毎に、ロボット制御ユニット４２が図４及び図５のキャリブレーション実行プログラムを再実行して各補正パラメータを再計測するようにしても良い。
【００４７】
この場合、各補正パラメータを再計測する毎に、その計測値で各補正パラメータを更新するようにしても良いし、或は、ロボット１１の設置作業完了時に計測した各補正パラメータをロボット制御ユニット４２の不揮発性メモリに記憶しておき、各補正パラメータの再計測時に、再計測した各補正パラメータを不揮発性メモリの記憶値と比較して、両者の差が所定のしきい値を超えたときに、各補正パラメータを再計測値に更新するようにしても良い。
【００４８】
いずれの場合でも、例えば、固定カメラ５１とロボット１１との相対的位置・角度関係が経時的に変化したり、固定カメラ５１の設置角度が経時的に変化したり、固定カメラ５１と作業エリア３８（キャリブレーション治具のセット位置）との相対的位置・角度関係が経時的に変化したりして、再度のキャリブレーションが必要となったときに、各補正パラメータを再計測して各補正パラメータを適正な値に修正することができる。
【００４９】
以上説明した本実施例によれば、所定位置に配置されたキャリブレーション治具５５を固定カメラ５１とハンドカメラ４０の両方で撮像して、画像処理により各々のビジョン座標系でキャリブレーション治具５５の位置及び傾き角度に関する情報を認識するようにしたので、両座標系のキャリブレーション治具５５の位置関係に基づいて原点補正パラメータを算出できると共に、両座標系のキャリブレーション治具５５の傾き角度の関係に基づいて座標軸傾き補正パラメータを算出することができる。これにより、ロボット１１の座標系である世界座標系の座標軸に対して固定カメラ５１のビジョン座標系の座標軸が傾いていたとしても、そのビジョン座標系の座標軸の傾きと原点のずれを座標軸傾き補正パラメータと原点補正パラメータで精度良く補正して、固定カメラ５１のビジョン座標系の座標値を世界座標系の座標値に精度良く変換することができる。
【００５０】
尚、本実施例では、キャリブレーション治具５５の上面に配列したキャリブレーションマーク５６の形状を円形としたが、四角形等、他の形状であっても良い。
【００５１】
その他、本発明は、ロボット１１の構成を適宜変更しても良い等、要旨を逸脱しない範囲内で種々変更して実施できることは言うまでもない。
【符号の説明】
【００５２】
１１…ロボット、１４…第１関節軸、１５…第１アーム、１６…第２関節軸、１７…第２アーム、１８…第３関節軸、１９…第３アーム、２０…第４関節軸、２１…手首部（アーム先端部）、２２…第５関節軸、２３…エンドエフェクタ、２５〜２９…サーボモータ、３１〜３５…エンコーダ、３６…サーボアンプ、３７…制御部、３８…作業エリア、３９…供給装置、４０…ハンドカメラ、４１…レンズ、４２…ロボット制御ユニット、４３…画像処理部、４４…座標変換部、４５…座標変換パラメータ算出部、５０…固定構造物、５１…固定カメラ、５２…レンズ、５５…キャリブレーション治具、５６…キャリブレーションマーク
【図１】
2020121396.tif 000004
【図２】
2020121396.tif 000005
【図３】
2020121396.tif 000006
【図４】
2020121396.tif 000007
【図５】
2020121396.tif 000008
【国際調査報告】
2020121396.tif 000009
2020121396.tif 000010
2020121396.tif 000011
2020121396.tif 000012