(57)【要約】【課題】ロボットについて規定されたロボット座標系から、工作機械について規定された機械座標系への座標変換を行うための座標変換手段を、簡易な構成で精度よく取得することができる協働システムの提供。【解決手段】機械座標系｛Ｍ｝を平行移動させたベース座標系｛Ｂ｝での３つの較正用マーカ６２、６４、６６の座標値から、仮の座標系｛Ｂ′｝を定義し、座標系｛Ｂ′｝からベース座標系｛Ｂ｝への座標変換行列ＴBを求める。カメラ５０を用いて３つの較正用マーカを撮像し、ロボット座標系｛Ｒ｝における較正用マーカの位置RＰMA1、RＰMA2、RＰMA3を取得する。ロボット座標系｛Ｒ｝での３つの座標値から、ロボット座標系｛Ｒ｝から座標系｛Ｂ′｝への座標変換行列ＴRを求め、さらに、座標変換行列ＴRとＴBを用いて、ロボット座標系｛Ｒ｝からベース座標系｛Ｂ｝への座標変換行列Ｔを求める。【選択図】図１８
2016101640.tif 000002
【特許請求の範囲】
【請求項１】
工作機械と、前記工作機械に対して作業を行うロボットとを有する協働システムであって、
前記ロボットの可動部に装着されたカメラと、
前記工作機械に設けられた少なくとも１つの較正用マーカと、
前記工作機械に定義された機械座標系における、前記較正用マーカの第１の座標値を取得する第１のマーカ座標取得部と、
前記較正用マーカを前記カメラで撮像することにより、前記較正用マーカの、前記ロボットについて設定されたロボット座標系における第２の座標値を取得する第２のマーカ座標取得部と、
前記較正用マーカの前記第１の座標値及び前記第２の座標値の複数の組に基づき、前記ロボット座標系から前記機械座標系への座標変換手段を求める座標変換部と、
を備えることを特徴とする、協働システム。
【請求項２】
前記較正用マーカが前記工作機械の可動部に取り付けられ、
前記第１のマーカ座標取得部は、前記工作機械の可動部の複数の位置のそれぞれにおいて、前記機械座標系における前記較正用マーカの第１の座標値を複数取得し、
前記第２のマーカ座標取得部は、前記工作機械の可動部の複数の位置のそれぞれにおいて、前記較正用マーカを前記カメラで撮像することにより、前記較正用マーカの、前記ロボットについて設定されたロボット座標系における第２の座標値を複数取得することを特徴とする、請求項１に記載の協働システム。
【請求項３】
前記カメラと前記較正用マーカとの相対位置関係が、前記カメラで前記較正用マーカの位置を計測できるものとなるように、前記ロボットが自動的に制御されることを特徴とする、請求項１又は２に記載の協働システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットが工作機械に対して作業を行う協働システムに関する。
【背景技術】
【０００２】
ロボットが工作機械に対して作業する場合、加工対象のハンドリング以外に、工具の交換、切粉の清掃、工作機械の内部点検などを行うことができる。ここで、ロボットの作業が加工対象のハンドリングだけであれば、ロボットのツール先端点（Tool Center Point）の位置（座標値）を利用して、加工対象の表面上の複数（通常、３点又は４点）の教示点を取得し、ロボット座標系から加工対象の座標系（機械座標系）への座標変換行列を求めることが一般的である。
【０００３】
例えば、特許文献１には、工作機械とロボットとを接続し、ロボットについて設定された座標系と、工作機械について設定された座標系との間の変換式を用いて、工作機械のプログラムからロボットプログラムを自動で生成する自動プログラミング方法が記載されている。
【０００４】
特許文献２には、加工ゾーンと計測ゾーンとを備えるとともに、測定データをもとに座標変換行列を算出する第１演算手段と、求められた座標変換行列を使って測定データの変換を行なう第２演算手段と、算出された形状データの形状精度を判定する判定手段と、ＮＣデータの自動修正を行なう修正手段と、修正されたＮＣデータにより再度加工を行なう加工実行手段とを備えた精密加工機が記載されている。
【０００５】
特許文献３には、工作機械のＮＣ制御を行う上位コンピュータから、ロボットを制御するロボットコントローラに動作制御データを送り、工作機械のワークや工具の着脱移動を行うロボットの制御方法が記載されている。
【０００６】
特許文献４には、工作機械に与えられるワーク加工プログラムに含まれる、対象物の位置を特定する指令に基づいて、ハンドリング作業実行時の工作機械上での対象物の位置及び姿勢を求め、この対象物の位置及び姿勢に対し、予め設定した相対位置関係の下に、ハンドリング作業実行時のロボットの位置及び姿勢を求めることで、作業プログラムを生成するオフラインプログラミング装置が記載されている。
【０００７】
特許文献５には、ロボットの手先に取り付けたプローブを用いて、ロボット座標系に対する物体の座標値を取得し、該物体の３次元モデルを生成する装置及び方法が記載されている。また特許文献５には、ロボットの手先にカメラを取り付け、カメラの位置を変更して物体を撮像することにより得られた複数の画像から物体の座標値を取得し、該物体の３次元モデルを生成する旨も記載されている。
【０００８】
特許文献６には、カメラ等の計測装置のキャリブレーションの必要なしに、ロボットと作業対象とを所望の相対位置関係に移動して教示位置の修正を自動的に行うことを企図したロボット制御装置が記載されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開昭５９−１７７６０７号公報
【特許文献２】特開平０５―２１２６５２号公報
【特許文献３】特開平０５―３２４０３４号公報
【特許文献４】特開２００８―１５２７３３号公報
【特許文献５】特表平１１―５０９９２８号公報
【特許文献６】特開２００９―２７９６７７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
従来は、ロボット座標系と機械座標系との間の座標変換は、主として加工対象のハンドリングを目的として使用されていた。例えば、特許文献１には、ロボットによって工作機械の加工対象のハンドリングプログラムを容易に生成する方法が記載されており、特許文献３には、上位コンピュータを使用することで、ロボットによる工作機械の加工対象のハンドリング、工具の着脱を実施するように容易にロボットに指令できる方法が記載されている。しかし、特許文献１及び３では、いずれも座標変換を使用するが、座標変換手段の具体的な取得方法については言及がない。
【００１１】
特許文献２に記載の技術は、計測された加工対象の表面と理想曲面との差と、計測装置について設定された座標系から工作機械の所定位置に定義された座標系への座標変換を使用して、工作機械の加工量を補正するものである。しかし、計測装置に対応して設定された座標系から工作機械の所定位置に定義された座標系への座標変換手段の具体的取得方法については述べられていない。
【００１２】
特許文献４では、工作機械とロボットの共通座標系を取得するために、ロボットの手先に位置検出器を取り付け、工作機械のテーブルに検出用の目標物を取り付け、ロボットの手先位置を固定し、目標物を３つの位置で検出する。具体的には、第一に目標物の基準位置を定め、その位置で目標物を検出する。第二にテーブルを基準軸方向に移動させ、目標物を検出する。第三に目標物を基準位置に戻して異なる基準軸方向に移動させ、目標物を検出する。このようにして得られた３つの計測値から求められた座標変換行列と、オフラインシミュレーション装置でのシミュレーション結果とに基づいて、ロボットのキャリブレーションが行われる。しかしこの方法では、予め、オフラインシミュレーション装置で使用するための高精度の３次元ＣＡＤモデルを用意しておく必要がある。また、オフラインシミュレーション装置での計算には、実ロボットと実工作機械の配置誤差が含まれてしまうという問題があった。
【００１３】
また特許文献３又は４に記載の方法では、ロボットと工作機械以外に、上位コンピュータ又はオフラインシミュレーション装置が必要であり、設備費用が高くなるという問題もあった。
【００１４】
さらに、工作機械に対するロボットの作業が、加工対象のハンドリング以外の作業を含む場合、ロボットは加工対象だけでなく、工作機械の他の部位にも到達又は接近できる必要がある。このような場合、ロボットの配置位置が大きく制限されることがある。
【００１５】
このように、工作機械に対するロボットの作業が加工対象のハンドリング以外の様々な作業を含み、これらの作業を自動化しようとする場合、ロボットが加工対象近辺での作業用の座標系情報を保持しているだけでは不十分である。
【００１６】
そこで本発明は、ロボットについて規定されたロボット座標系から、工作機械の所定位置に定義された機械座標系への座標変換を行うための座標変換行列等の座標変換手段を、簡易な構成で精度よく取得することができる、ロボットと工作機械の協働システムを提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記目的を達成するために、本願第１の発明は、工作機械と、前記工作機械に対して作業を行うロボットとを有する協働システムであって、前記ロボットの可動部に装着されたカメラと、前記工作機械に設けられた少なくとも１つの較正用マーカと、前記工作機械に定義された機械座標系における、前記較正用マーカの第１の座標値を取得する第１のマーカ座標取得部と、前記較正用マーカを前記カメラで撮像することにより、前記較正用マーカの、前記ロボットについて設定されたロボット座標系における第２の座標値を取得する第２のマーカ座標取得部と、前記較正用マーカの前記第１の座標値及び前記第２の座標値の複数の組に基づき、前記ロボット座標系から前記機械座標系への座標変換手段を求める座標変換部と、を備えることを特徴とする、協働システムを提供する。
【００１８】
第２の発明は、第１の発明において、前記較正用マーカが前記工作機械の可動部に取り付けられ、前記第１のマーカ座標取得部は、前記工作機械の可動部の複数の位置のそれぞれにおいて、前記機械座標系における前記較正用マーカの第１の座標値を複数取得し、前記第２のマーカ座標取得部は、前記工作機械の可動部の複数の位置のそれぞれにおいて、前記較正用マーカを前記カメラで撮像することにより、前記較正用マーカの、前記ロボットについて設定されたロボット座標系における第２の座標値を複数取得することを特徴とする、協働システムを提供する。
【００１９】
第３の発明は、第１または第２の発明において、前記ロボット制御装置は、前記カメラと前記較正用マーカとの相対位置関係が、前記カメラで前記較正用マーカの位置を計測できるものとなるように、前記ロボットを自動的に制御することを特徴とする、協働システムを提供する。
【発明の効果】
【００２０】
本発明によれば、ロボットについて設定されたロボット座標系から、工作機械の所定位置に定義された機械座標系への座標変換手段を簡易な構成で精度よく得ることができるので、工作機械に対し加工対象のハンドリングを含む様々な作業を行うロボットプログラムを容易に作成できる。またロボットの配置可能範囲を拡大し、オフラインシミュレーション装置では考慮できない非線形のモデル化誤差を小さくすることもできる。
【００２１】
また本発明によれば、ロボットと工作機械で共通座標系を得ることができるので、３次元ＣＡＤモデル情報がロボットと工作機械のそれぞれで保有されているときに、ロボットの作業時に工作機械に関する情報を得て、干渉の有無等を確認することができる。このとき、工作機械における加工対象物等の位置決めの状態がロボットに既知であるので、工作機械の作業を進める際、必ずしもロボットを安全位置に退避させることを要しない場合が発生し、その際、ロボットの移動完了を待たずに工作機械の作業を進めることもできるので、協働システム全体の作業効率を改善できる。また、工作機械の３次元ＣＡＤモデル情報をロボットでも利用できるため、工作機械に異常があった際に、ロボットに取り付けられたカメラで工作機械を自動的に検査することもできる。
【図面の簡単な説明】
【００２２】
【図１】本発明の第１の実施形態に係る協働システムの概略構成を示す図である。
【図２】図１の協働システムにおいて、各座標系を設定した状態を示す図である。
【図３】第１の実施形態における処理の一例を示すフローチャートである。
【図４】第１の実施形態において、計測用プローブで第２の較正用マーカの位置を計測している状態を示す図である。
【図５】第１の実施形態において、第２の較正用マーカの位置をカメラで計測している状態を示す図である。
【図６】第１の実施形態において、第１の較正用マーカの位置をカメラで計測している状態を示す図である。
【図７】第１の実施形態において、第１の較正用マーカと工具先端点との差分（オフセット）を求めるための処理を説明する図である。
【図８】第１の実施形態において、第２の較正用マーカの位置をカメラで計測している状態を示す図である。
【図９】第１の実施形態において、ロボット座標系から機械座標系への座標変換行列を求めるための処理を説明する図である。
【図１０】本発明の第２の実施形態に係る協働システムの概略構成を示す図である。
【図１１】図１０の協働システムにおいて、各座標系を設定した状態を示す図である。
【図１２】第２の実施形態において、ロボット座標系から機械座標系への座標変換行列を求めるための処理を説明する図である。
【図１３】本発明の第３の実施形態に係る協働システムの概略構成を示す図である。
【図１４】第３の実施形態において、ロボット座標系から機械座標系への座標変換行列を求めるための処理を説明する図である。
【図１５】本発明の第４の実施形態に係る協働システムの概略構成を示す図である。
【図１６】図１５の協働システムにおいて、各座標系を設定した状態を示す図である。
【図１７】第４の実施形態における処理の一例を示すフローチャートである。
【図１８】第４の実施形態において、ロボット座標系から機械座標系への座標変換行列を求めるための処理を説明する図である。
【図１９】本発明の第５の実施形態に係る協働システムの概略構成を示す図である。
【図２０】図１９の協働システムにおいて、各座標系を設定した状態を示す図である。
【図２１ａ】第５の実施形態で使用される較正用マーカ付き冶具の正面図である。
【図２１ｂ】第５の実施形態で使用される較正用マーカ付き冶具の側面図である。
【図２２】第５の実施形態において、較正用マーカの位置をカメラで計測している状態を示す図である。
【発明を実施するための形態】
【００２３】
以下、添付図面を参照して、本発明の好適な実施形態を説明する。なお本願明細書において、「座標変換手段」なる用語は、後述する座標変換を行うための変換行列や回転行列の他、当該行列を規定するためのベクトルやスカラー量、さらには当該行列を用いた座標変換と実質同等の演算処理を行うための計算式等を含むものとする。また「較正用マーカ」なる用語は、ロボットに取り付けたカメラによって検出可能な、工作機械の所定位置に配置又は形成されたマークや刻印等の印刷物又は形状物を意味し、該カメラによって較正用マーカを撮像することにより、ロボット座標系における該較正用マーカの位置（計測値）を得ることができる。また後述する実施形態では、本願発明における第１のマーカ座標取得部の機能は工作機械の制御装置が担うものとし、第２のマーカ座標取得部及び座標変換部の機能はロボット制御装置が担うものとするが、これに限られるものではない。
【００２４】
図１は、本発明の第１の実施形態に係る協働システムの概略構成を示す図である。協働システム１０は、ＮＣ制御装置等の制御装置１１により制御される工作機械１２と、工作機械１２の加工対象物のハンドリング等の、工作機械１２に対する作業を行うロボット１４と、ロボット１４の動作を制御するロボット制御装置１６とを備え、後述する機械座標系をロボット制御装置１６に設定する機能を有する。ロボット１４は、例えば６軸の多関節ロボットであり、アーム１８やアーム１８の先端に取り付けたハンド２０等のロボット可動部を有し、該ロボット可動部（好ましくはハンド２０の先端）にはカメラ２２が取り付けられる。また工作機械１２の制御装置１１は、工作機械１２の筐体と別に設けてもよいし、該筐体と一体的に構成されていてもよいし、ロボット制御装置１６と一体的に構成されてもよい。
【００２５】
一方、工作機械１２は、工具を把持しかつ（図示例では略鉛直方向の）中心軸線回りに回転可能であるとともに、該中心軸線方向に移動可能に構成された主軸２４と、主軸２４に対して、少なくとも主軸２４の中心軸線方向に対して垂直な平面内を可動に構成された可動部（ここでは、工作機械１２の加工対象物（ワーク）等を載置可能に構成されたテーブル）２６とを有する。また主軸２４には、工具の代わりに（例えば接触式の）計測用プローブ２８が取り付け可能であり、計測用プローブ２８の近傍の主軸２４の部位に第１の較正用マーカ３０が設けられる。さらに、テーブル２６上には、第２の較正用マーカ３２が設けられる。
【００２６】
第１の実施形態では、以下の定義又は条件（ａ１）〜（ａ６）が設定されているものとする。
（ａ１）図２に示すように、工作機械１２について定義された座標系（機械座標系）を｛Ｍ｝で表し、ロボット１４について定義された座標系（ロボット座標系）を｛Ｒ｝で表す。
（ａ２）機械座標系｛Ｍ｝及びロボット座標系｛Ｒ｝はいずれも、互いに直交する３つの軸（ｘ，ｙ，ｚ）を有する直交座標系とするが、極座標を用いてもよい。また図２が示す機械座標系｛Ｍ｝では、Ｘ軸は紙面に垂直な方向、Ｙ軸は左右方向、Ｚ軸は上下方向であり、一方、ロボット座標系｛Ｒ｝では、Ｘ軸は左右方向、Ｙ軸は紙面に垂直な方向、Ｚ軸は上下方向である。
（ａ３）機械座標系｛Ｍ｝の原点はテーブル２６に固定されており、該原点の位置（ｘ，ｙ，ｚ）は、ロボット１４側からテーブル２６をみたときのテーブル２６の左奥の隅（図９参照）において（ｘ，ｙ）＝（０，０）となり、さらに主軸２４に取り付けた工具（図示せず）の先端点（工具先端点）が工具交換位置にあるときにｚ＝０となるようにする。但し、機械座標系｛Ｍ｝の原点位置や各基本軸の方向は、これに限られるものではない。
（ａ４）機械座標系｛Ｍ｝、ロボット座標系｛Ｒ｝及びカメラ２２について定義されたカメラ座標系の各々は、較正済とする。またロボット座標系｛Ｒ｝とカメラ座標系との間の位置関係（座標変換手段）は既知であるとする。
（ａ５）図２に示すように、計算の便宜のため、工作機械１２の所定位置（例えばテーブル２６）について座標系（機械ベース座標系）を定義し、これを｛Ｂ｝で表す。図２に例示する機械ベース座標系（以降、単にベース座標系とも称する）｛Ｂ｝は、主軸２４の中心軸線とテーブル２６の表面（上面）とが交差する点を原点とし、ベース座標系｛Ｂ｝の各基本軸（ｘ，ｙ，ｚ）の方向は機械座標系｛Ｍ｝のものと一致する。つまりベース座標系｛Ｂ｝は、機械座標系｛Ｍ｝を平行移動させたものに相当する。
（ａ６）計測用プローブ２８及び第１の較正用マーカ３０は、同時に使用可能である。
【００２７】
次に、協働システム１０において、上述の定義又は条件下にて、ロボット座標系｛Ｒ｝からベース座標系｛Ｂ｝への座標変換を行うための座標変換行列Ｔを取得する手順について、図１〜図１０を参照しつつ説明する。
【００２８】
先ず、図１に示したように、工作機械１２及びロボット１４を予め定めた位置に配置し、（図３のステップＳ１１）。第１の較正用マーカ３０及び第２の較正用マーカ３２を、それぞれ主軸２４及びテーブル２６（工作機械１２の可動部）に取り付ける（図３のステップＳ１２）。
【００２９】
次に、図４に示すように、工作機械１２の主軸２４に取り付けられた計測用プローブ２８を用いて（具体的には、計測用プローブ２８及びテーブル２６の少なくとも一方を移動させてプローブ２８を第２の較正用マーカ３２に当接させ）、テーブル２６に取り付けられた第２の較正用マーカ３２の位置を計測する。この計測により、第２の較正用マーカ３２の機械座標系｛Ｍ｝における位置MＰMA1（第１の座標値）が得られる。
【００３０】
次に、図５に示すように、主軸２４を上方に移動させ、ロボット１４に設けたカメラ２２を用いて（具体的には、カメラ２２の視野内に第２の較正用マーカ３２が入り、該マーカの位置が十分な精度で計測できるようにロボット１４を制御して）、第２の較正用マーカ３２を撮像する。この処理により、ロボット座標系｛Ｒ｝における第２の較正用マーカ３２の位置RＰMA1（第２の座標値）が得られる。
【００３１】
次に、ロボット座標系｛Ｒ｝からベース座標系｛Ｂ｝への座標変換行列Ｔが未知の条件下で、工具先端点の位置から第１の較正用マーカ３０の中心位置までの、機械座標系｛Ｍ｝を基準としたオフセットMＰOFF1＝（ＰxOFF1，ＰyOFF1，ＰzOFF1）（図２参照）のうちのｘ，ｙ成分を、ロボット１４を使用して測定する。以下、その詳細を説明する。
【００３２】
図６に示すように、先ず主軸２４を任意の位置に移動させ、第１の較正用マーカ３０をカメラ２２で撮像し、ロボット座標系｛Ｒ｝での第１の位置RＰu1を測定（取得）する。次に、主軸２４を別の任意の位置に移動させ、第１の較正用マーカ３０をカメラ２２で撮像し、ロボット座標系｛Ｒ｝での第２の位置RＰu2を測定（取得）する。第１の位置RＰu1及び第２の位置RＰu2から、ロボット座標系｛Ｒ｝においてこれらの位置を通る直線（の式）（ここではＺ″軸）が得られる。
【００３３】
次に、図７に示すように、ロボット座標系｛Ｒ｝において、第１の位置RＰu1及び第２の位置RＰu2を通る直線（Ｚ″軸）と垂直に交差するとともに、ロボット座標系｛Ｒ｝における第２の較正用マーカ３２の位置RＰMA1が含まれる平面Ｓ1を計算し、この平面Ｓ1と第１の位置RＰu1及び第２の位置RＰu2を通る直線とが交差する点をRＰd1とする。この点RＰd1を撮像できる（好ましくは点RＰd1がカメラ２２の視野の中心に位置する）位置に、カメラ２２を移動させる。
【００３４】
次に、点RＰd1と第２の較正用マーカ３２の中心位置が重なるように、テーブル２６を移動させる。但し、現時点では座標変換行列Ｔは得られていないので、テーブル２６の移動方向を一意に定めることはできない。そこで、機械座標系｛Ｍ｝における第２の較正用マーカ３２の位置MＰMA1と、ロボット座標系｛Ｒ｝における点RＰd1との距離が非常に短いことから、位置MＰMA1のｘ，ｙ座標を起点として、テーブル２６を微小距離だけ移動させて第２の較正用マーカ３２をカメラ２２で撮像すれば、ロボット座標系｛Ｒ｝において、第２の較正用マーカ３２の中心が点RＰd1に接近したか否かを検出することができる。このような考えに基づき、テーブル２６を任意の方向に移動させ、第２の較正用マーカ３２の計測位置の変化をカメラ２２で計測することにより、計測位置の変化量とテーブル２６の移動方向とを適切に補正し、カメラ２２による第２の較正用マーカ３２の計測位置が点RＰd1に一致するようにテーブル２６を移動させることができる。
【００３５】
図７に示すように、カメラ２２による第２の較正用マーカ３２の計測位置が点RＰd1に一致したときの、機械座標系｛Ｍ｝における工具先端点の位置をMＰT1とする。この位置MＰT1と、第２の較正用マーカ３２の位置MＰMA1との差を求めることにより、上述のオフセットMＰOFF1のｘ，ｙ成分（ＰxOFF1，ＰyOFF1）が得られる。
【００３６】
次に、図８に示すように、工作機械１２において、可動部（ここではテーブル２６）を任意の位置に移動させる（図３のステップＳ１３）。但し、第２の較正用マーカ３２の中心が、主軸２４の中心軸線と重ならないようにする。このときの機械座標系｛Ｍ｝での第２の較正用マーカ３２の座標値MＰMA1を用いて、機械座標系｛Ｍ｝における第２の較正用マーカ３２の位置をベース座標系｛Ｂ｝での座標値に変換し、変換後の座標値をBＰM2とする。座標値BＰM2は、適当な手段を用いてロボット制御装置１６に送信される。
【００３７】
そして、テーブル２６に取り付けられた第２の較正用マーカ３２とロボット１４の手先に取り付けられたカメラ２２との距離が適切になり、第２の較正用マーカ３２の位置を十分な精度で計測できるように、ロボット制御装置１６を用いてロボット１４を動作させる。そしてカメラ２２で第２の較正用マーカ３２を撮像し、ロボット座標系｛Ｒ｝での第２の較正用マーカ３２の位置（計測値）RＰM2を得る（図３のステップＳ１４）。
【００３８】
ここで、ロボット座標系｛Ｒ｝での第１の較正用マーカ３０の第１の位置RＰu1と第２の位置RＰu2とを通る直線（図７参照）を仮のＺ″軸と定義し、Ｚ″軸に垂直に交差しかつ点RＰM2を含む平面Ｓ2を求め、この平面Ｓ2とＺ″軸の交点を原点としたときに、該原点からRＰu1に向かう方向をＺ軸の正方向とする。
【００３９】
次に、図９に示すように、平面Ｓ2の原点から第２の較正用マーカ３２の位置RＰM2に向かう方向を正方向とする仮のＸ′軸を定め、このＸ′軸と、平面Ｓ2上を延びＸ′軸に直交するＹ′軸と、Ｘ′軸及びＹ′軸の双方に直交するＺ′軸とからなる仮の座標系｛Ｂ′｝を定義することにより、ロボット座標系｛Ｒ｝から座標系｛Ｂ′｝への座標変換行列Ｔ′を得ることができる。なお座標系｛Ｂ′｝の定義の方法は、これに限られるものではない。
【００４０】
さらに、ベース座標系｛Ｂ｝での第２の較正用マーカ３２の位置BＰM2のｘ，ｙ成分と、上述のオフセット量MＰOFF1のｘ，ｙ成分（ＰxOFF1，ＰyOFF1）との差に相当する位置ベクトルを求め、この位置ベクトルをベース座標系｛Ｂ｝のＸ軸の正方向直線へ重なるように角度θだけ回転させる回転変換行列BＲを求める。
【００４１】
ここで、図９に示すように、仮の座標系｛Ｂ′｝のＺ軸と、第１の較正用マーカ３０の第１の位置RＰu1と第２の位置RＰu2とを通る直線（Ｚ′軸）とは平行関係にあるため、座標変換行列Ｔ′及び回転変換行列BＲから得られる座標変換行列Ｔ″を求めておき、ロボット座標系｛Ｒ｝から座標変換行列Ｔ″を用いて変換された座標系を｛Ｂ″｝とする。この座標系｛Ｂ″｝のｘ−ｙ平面と、ベース座標系｛Ｂ｝の平面とは互いに重なっており、座標系｛Ｂ″｝とベース座標系｛Ｂ｝は互いに平行移動した位置関係にあり、さらにその平行移動量はBＰM2のｘ，ｙ成分で表される。従って、BＰM2を使用することにより、座標系｛Ｂ″｝からベース座標系｛Ｂ｝に平行移動するための座標変換行列Ｔ″′が得られる。
【００４２】
以上のことから、座標変換行列Ｔ″（座標変換行列Ｔ′及び回転変換行列BＲ）と、座標変換行列Ｔ″′から、ロボット座標系｛Ｒ｝からベース座標系｛Ｂ｝への座標変換行列Ｔを求めることができる（図３のステップＳ１５）。ベース座標系｛Ｂ｝と機械座標系｛Ｍ｝とは互いに平行移動した関係にあるので、座標変換行列Ｔが求まれば、ロボット座標系｛Ｒ｝から機械座標系｛Ｍ｝への座標変換行列も容易に求めることができる。
【００４３】
第１の実施形態では、主軸２４に取り付けられた第１の較正用マーカ３０の、ロボット座標系｛Ｒ｝における任意の２つの位置の計測値と、主軸２４の中心軸（Ｚ軸）に対し、当該２つの位置のどちらか一方の点までのｘ，ｙ成分のオフセット量と、テーブル２６上の第２の較正用マーカ３２の、ロボット座標系｛Ｒ｝及びベース座標系｛Ｂ｝のそれぞれにおける１つの計測値と、を使用することにより、座標変換行列Ｔを得ることができる。このように、テーブル２６上では任意の１箇所を計測すれば足りるので、ロボット１４の配置可能領域を拡大することができる。さらに、主軸２４に取り付ける第１の較正用マーカ３０は、主軸２４に固定されていれば足りるので、設計の自由度を高めることができる。
【００４４】
次に、本願発明の第２の実施形態について、図１０〜図１２を参照しつつ説明する。
第２の実施形態では、図１０に示すように、協働システムの構成としては、第１の較正用マーカ３０が、第１の実施形態において説明したような計測用プローブ２８と交換可能である点を除けば、第１の実施形態と同様でよいので、実質同等の構成要素については第１の実施形態と同じ参照符号を付与し、詳細な説明は省略する。
【００４５】
第２の実施形態では、以下の定義又は条件（ｂ１）〜（ｂ６）が設定されているものとする。なお（ｂ１）〜（ｂ５）は、第１の実施形態における（ａ１）〜（ａ５）と実質同様である。
（ｂ１）図１１に示すように、工作機械１２について定義された座標系（機械座標系）を｛Ｍ｝で表し、ロボット１４について定義された座標系（ロボット座標系）を｛Ｒ｝で表す。
（ｂ２）機械座標系｛Ｍ｝及びロボット座標系｛Ｒ｝はいずれも、互いに直交する３つの軸（ｘ，ｙ，ｚ）を有する直交座標系とするが、極座標を用いてもよい。また図１１が示す機械座標系｛Ｍ｝では、Ｘ軸は紙面に垂直な方向、Ｙ軸は左右方向、Ｚ軸は上下方向であり、一方ロボット座標系｛Ｒ｝では、Ｘ軸は左右方向、Ｙ軸は紙面に垂直な方向、Ｚ軸は上下方向である。
（ｂ３）機械座標系｛Ｍ｝の原点はテーブル２６に固定されており、該原点の位置（ｘ，ｙ，ｚ）は、ロボット１４側からテーブル２６をみたときのテーブル２６の左奥の隅（図１２参照）において（ｘ，ｙ）＝（０，０）となり、さらに主軸２４に取り付けた工具（図示せず）の先端点（工具先端点）が工具交換位置にあるときにｚ＝０となるようにする。但し、機械座標系｛Ｍ｝の原点位置や各基本軸の方向は、これに限られるものではない。
（ｂ４）機械座標系｛Ｍ｝、ロボット座標系｛Ｒ｝及びカメラ２２について定義されたカメラ座標系の各々は、較正済とする。またロボット座標系｛Ｒ｝とカメラ座標系との間の位置関係（座標変換手段）は既知であるとする。
（ｂ５）図１１に示すように、計算の便宜のため、工作機械１２の所定位置（例えばテーブル２６）について座標系（機械ベース座標系）を定義し、これを｛Ｂ｝で表す。図１１に例示する機械ベース座標系（以降、単にベース座標系とも称する）｛Ｂ｝は、主軸２４の中心軸線とテーブル２６の表面（上面）とが交差する点を原点とし、ベース座標系｛Ｂ｝の各基本軸（ｘ，ｙ，ｚ）の方向は機械座標系｛Ｍ｝のものと一致する。つまりベース座標系｛Ｂ｝は、機械座標系｛Ｍ｝を平行移動させたものに相当する。
（ｂ６）第１の較正用マーカ３０は、工具と同様の態様で主軸２４に取り付け可能であり、その中心点は主軸の軸線上に位置する。
（ｂ７）第１の較正用マーカ３０は、計測用プローブと交換可能である。
【００４６】
次に、第２の実施形態に係る協働システム１０において、上述の定義又は条件下にて、ロボット座標系｛Ｒ｝からベース座標系｛Ｂ｝への座標変換を行うための座標変換行列Ｔを取得する手順について、図１０〜図１２を参照しつつ説明する。
【００４７】
先ず、第１の実施形態と同様に、工作機械１２の主軸２４に計測用プローブを取り付け、テーブル２６に取り付けられた第２の較正用マーカ３２の位置を計測する。この計測により、第２の較正用マーカ３２の機械座標系｛Ｍ｝における位置MＰMA1が得られる。その後、計測用プローブを第１の較正用マーカ３０に交換する。
【００４８】
図６に類似して、主軸２４を任意の位置に移動させ、ロボット１４に設けたカメラ２２を用いて（具体的には、カメラ２２の視野内に第１の較正用マーカ３０が入り、該マーカの位置が十分な精度で計測できるようにロボット１４を制御して）、第１の較正用マーカ３０を撮像し、ロボット座標系｛Ｒ｝での第１の位置RＰu1を測定（取得）する。次に、主軸２４を別の任意の位置に移動させ、第１の較正用マーカ３０をカメラ２２で撮像し、ロボット座標系｛Ｒ｝での第２の位置RＰu2を測定（取得）する。
【００４９】
次に、図８に類似して、テーブル２６を任意の位置に移動させる。但し、第２の較正用マーカ３２の中心が、主軸２４の中心軸線と重ならないようにする。このときの機械座標系｛Ｍ｝での第２の較正用マーカ３２の座標値MＰMA1を用いて、機械座標系｛Ｍ｝における第２の較正用マーカ３２の位置を求め、これをベース座標系｛Ｂ｝での座標値に変換し、変換後の座標値をBＰM2とする。座標値BＰM2は、適当な手段を用いてロボット制御装置１６に送信される。
【００５０】
次に、テーブル２６に取り付けられた第２の較正用マーカ３２とロボット１４の手先に取り付けられたカメラ２２との距離が適切になり、第２の較正用マーカ３２の位置を十分な精度で計測できるように、ロボット制御装置１６を用いてロボット１４を動作させる。そしてカメラ２２で第２の較正用マーカ３２を撮像し、ロボット座標系｛Ｒ｝での第２の較正用マーカ３２の位置（計測値）RＰM2を得る。
【００５１】
上述の第１の較正用マーカ３０の第１の位置RＰu1と第２の位置RＰu2とを通る直線をＺ軸とし、Ｚ軸に垂直に交差しかつ点RＰM2を含む平面Ｓを求め、この平面ＳとＺ軸の交点を原点としたときに、該原点からRＰu1に向かう方向をＺ軸の正方向とする。
【００５２】
次に、図１２に示すように、平面Ｓの原点から第２の較正用マーカ３２の位置RＰM2に向かう方向を正方向とする仮のＸ′軸を定め、このＸ′軸と、平面Ｓ上を延びＸ′軸に直交するＹ′軸と、Ｘ′軸及びＹ′軸の双方に直交するＺ′軸とからなる仮の座標系｛Ｂ′｝を定義することにより、ロボット座標系｛Ｒ｝から座標系｛Ｂ′｝への座標変換行列Ｔ′を得ることができる。なお座標系｛Ｂ′｝の定義の方法は、これに限られるものではない。
【００５３】
さらに、ベース座標系｛Ｂ｝での第２の較正用マーカ３２の位置BＰM2のｘ，ｙ成分から、この位置をベース座標系｛Ｂ｝のＸ軸の正方向直線へ重なるように角度θだけ回転させる回転変換行列BＲを求める。
【００５４】
ここで、図１２に示すように、仮の座標系｛Ｂ′｝のＺ′軸とベース座標系｛Ｂ｝のＺ軸とは平行関係にあるので、座標変換行列Ｔ′及び回転変換行列BＲから、ロボット座標系｛Ｒ｝からベース座標系｛Ｂ｝への座標変換行列Ｔを求めることができる。
【００５５】
第２の実施形態では、主軸２４に取り付けられた第１の較正用マーカ３０の、ロボット座標系｛Ｒ｝における任意の２つの位置の計測値と、テーブル２６上の第２の較正用マーカ３２の、ロボット座標系｛Ｒ｝及びベース座標系｛Ｂ｝のそれぞれにおける１つの計測値と、を使用することにより、座標変換行列Ｔを得ることができる。このように、テーブル２６上では任意の１箇所を計測すれば足りるので、ロボット１４の配置可能領域を拡大することができる。また第２の実施形態では、第１の実施形態のようにオフセット量を考慮する必要はないが、第１の較正用マーカ３０が主軸２４に工具として取り付け可能な構造を具備する必要がある。
【００５６】
次に、本願発明の第３の実施形態について、図１３及び図１４を参照しつつ説明する。
第３の実施形態では、図１３に示すように、協働システムの構成としては、第１又は第２の実施形態における第１の較正用マーカを使用しない点で、第１の実施形態と同様でよいので、実質同等の構成要素については第１の実施形態と同じ参照符号を付与し、詳細な説明は省略する。
【００５７】
第３の実施形態では、以下の定義又は条件（ｃ１）〜（ｃ５）が設定されているものとする。なお（ｃ１）〜（ｃ５）は、第１の実施形態における（ａ１）〜（ａ５）と実質同様である。
（ｃ１）図１４に示すように、工作機械１２について定義された座標系（機械座標系）を｛Ｍ｝で表し、ロボット１４について定義された座標系（ロボット座標系）を｛Ｒ｝で表す。
（ｃ２）機械座標系｛Ｍ｝及びロボット座標系｛Ｒ｝はいずれも、互いに直交する３つの軸（ｘ，ｙ，ｚ）を有する直交座標系とするが、極座標を用いてもよい。また図１４が示す機械座標系｛Ｍ｝では、Ｘ軸は上下方向、Ｙ軸は左右方向、Ｚ軸は紙面に垂直な方向であり、一方ロボット座標系｛Ｒ｝では、Ｘ軸は左右方向、Ｙ軸は上下方向、Ｚ軸は紙面に垂直な方向である。
（ｃ３）機械座標系｛Ｍ｝の原点はテーブル２６に固定されており、該原点の位置（ｘ，ｙ，ｚ）は、ロボット１４側からテーブル２６をみたときのテーブル２６の左奥の隅（図１４参照）において（ｘ，ｙ）＝（０，０）となり、さらに主軸２４に取り付けた工具（図示せず）の先端点（工具先端点）が工具交換位置にあるときにｚ＝０となるようにする。但し、機械座標系｛Ｍ｝の原点位置や各基本軸の方向は、これに限られるものではない。
（ｃ４）機械座標系｛Ｍ｝、ロボット座標系｛Ｒ｝及びカメラ２２について定義されたカメラ座標系の各々は、較正済とする。またロボット座標系｛Ｒ｝とカメラ座標系との間の位置関係（座標変換手段）は既知であるとする。
（ｃ５）図１４に示すように、計算の便宜のため、工作機械１２の所定位置（例えばテーブル２６）について座標系（機械ベース座標系）を定義し、これを｛Ｂ｝で表す。図１４に例示する機械ベース座標系（以降、単にベース座標系とも称する）｛Ｂ｝は、主軸２４の中心軸線とテーブル２６の表面（上面）とが交差する点を原点とし、ベース座標系｛Ｂ｝の各基本軸（ｘ，ｙ，ｚ）の方向は機械座標系｛Ｍ｝のものと一致する。つまりベース座標系｛Ｂ｝は、機械座標系｛Ｍ｝を平行移動させたものに相当する。
【００５８】
次に、第３の実施形態に係る協働システム１０において、上述の定義又は条件下にて、ロボット座標系｛Ｒ｝からベース座標系｛Ｂ｝への座標変換を行うための座標変換行列Ｔを取得する手順について説明する。
【００５９】
先ず、工作機械１２の主軸２４に取り付けた計測用プローブ２８を用いて、第１の実施形態と同様に、テーブル２６に取り付けられた第２の較正用マーカ３２の位置を計測する。この計測により、第２の較正用マーカ３２の機械座標系｛Ｍ｝における位置MＰMA1が得られる。
【００６０】
次に、テーブル２６を任意の位置に移動させる。但し、第２の較正用マーカ３２の中心が、主軸２４の中心軸線と重ならないようにする。このときの機械座標系｛Ｍ｝での第２の較正用マーカ３２の座標値MＰMA1を用いて、機械座標系｛Ｍ｝における第２の較正用マーカ３２の位置を求め、これをベース座標系｛Ｂ｝での座標値に変換し、変換後の座標値をBＰM1とする。座標値BＰM1は、適当な手段を用いてロボット制御装置１６に送信される。
【００６１】
次に、テーブル２６に取り付けられた第２の較正用マーカ３２とロボット１４の手先に取り付けられたカメラ２２との距離が適切になり、第２の較正用マーカ３２の位置を十分な精度で計測できるように、ロボット制御装置１６を用いてロボット１４を動作させる。そしてカメラ２２で第２の較正用マーカ３２を撮像し、ロボット座標系｛Ｒ｝での第２の較正用マーカ３２の位置（計測値）RＰM1を得る。
【００６２】
以上の操作により、第２の較正用マーカ３２の、ロボット座標系｛Ｒ｝及びベース座標系｛Ｂ｝でのそれぞれの位置、すなわち位置の組（BＰM1，RＰM1）が１組得られる。図１４に示すように、この位置の組を得る操作を、テーブル２６の位置を変えてさらに２回行い、さらに第２の較正用マーカ３２の位置の組を２組（（BＰM2，RＰM2）、（BＰM3，RＰM3））取得する。
【００６３】
このようにして得られた第２の較正用マーカ３２のロボット座標系｛Ｒ｝での３つの座標（RＰM1，RＰM2，RＰM3）から、１つの平面を規定することができる。この平面に垂直な軸はベース座標系｛Ｂ｝のをＺ軸と平行であり、ベース座標系｛Ｂ｝での３つの座標（BＰM1，BＰM2，BＰM3）のいずれか１つ（に向かう方向）をＺ軸の正方向とする。
【００６４】
次に、図１４に示すように、上記平面上の任意の１点（ここではRＰM1）を原点とし、RＰM1からRＰM2に向かう方向を正方向とする仮のＸ′軸を定め、このＸ′軸と、ロボット座標系｛Ｒ｝での３つの座標で規定された平面上を延びＸ′軸に直交するＹ′軸と、Ｘ′軸及びＹ′軸の双方に直交するＺ′軸とからなる仮の座標系｛Ｂ′｝を定義し、ロボット座標系｛Ｒ｝から座標系｛Ｂ′｝への座標変換を行うための座標変換行列Ｔ′を求める。ベース座標系｛Ｂ｝のＺ軸と仮の座標系｛Ｂ′｝のＺ′軸は平行であり、その正方向も一致する。なお座標系｛Ｂ′｝の定義の方法は、これに限られるものではない。
【００６５】
次に、BＰM1からBＰM2までの差（ベクトル）を求め、このベクトルを、ベース座標系｛Ｂ｝においてＸ軸の正方向を示す直線に一致させるためのＺ軸回りの回転変換行列BＲ′を求める。座標変換行列Ｔ′及び回転変換行列BＲ′から、ロボット座標系｛Ｒ｝から仮の座標系｛Ｂ″｝に座標変換するための座標変換行列Ｔ″が得られる。
【００６６】
仮の座標系｛Ｂ″｝とベース座標系｛Ｂ｝は、互いに平行移動した位置関係にあり、その平行移動の方向及び距離はBＰM1で表される座標値から求めることができる。従って、BＰM1及び座標変換行列Ｔ″から、ロボット座標系｛Ｒ｝からベース座標系｛Ｂ｝への座標変換行列Ｔを求めることができる。
【００６７】
第３の実施形態では、テーブル２６上の第２の較正用マーカ３２の、ロボット座標系｛Ｒ｝及びベース座標系｛Ｂ｝のそれぞれにおける３つの計測値（位置の組）を使用することにより、座標変換行列Ｔを得ることができる。また第３の実施形態では、主軸２４に取り付ける第１の較正用マーカが不要なので、主軸２４にカメラ２２を接近させて計測を行う必要がなく、ロボット１４の配置可能領域をさらに拡大することができる。
【００６８】
次に、本願発明の第４の実施形態について、図１５〜図１８を参照しつつ説明する。図１５に示すように、第４の実施形態に係る協働システム４０は、マシニングセンタ等の工作機械４２と、工作機械４２の加工対象物のハンドリング等の、工作機械４２に対する作業を行うロボット４４と、ロボット４４の動作を制御するロボット制御装置とを備え、後述する機械座標系をロボット制御装置に設定する機能を有する。ロボット制御装置は、図示していないが、工作機械４２（又はその制御装置）と接続されているものとする。
【００６９】
ロボット４４は、例えば６軸の多関節ロボットであり、アーム４６やアーム４６の先端に取り付けたハンド４８等のロボット可動部を有し、該ロボット可動部（好ましくはハンド４８の先端）にはカメラ５０が取り付けられる。またロボット４４は、工作機械４２の内部に設けられたガントリ軸５２に取り付けられ、ガントリ軸５２に沿って移動可能である。
【００７０】
工作機械４２は、工具を把持しかつ（図示例では鉛直軸線方向に）回転可能に構成された主軸５４と、工作機械４２の加工対象物（ワーク）等を載置可能に構成されたテーブル５６とを有する。また、少なくとも３つの較正用マーカが、工作機械４２の内部の互いに異なる所定位置（好ましくは固定位置）に設けられる。図示例では、工作機械４２の内部を、主軸５４を含む加工エリアとロボット４４が作業を行う作業台５８を含むロボット作業エリアとに分割し、加工エリアからの切削油や切屑等の飛散を防止するパーティション６０の異なる２箇所（図示例ではパーティション６０の上面と側面）にそれぞれ第１の較正用マーカ６２及び第２の較正用マーカ６４が形成され、作業台５８の上に第３の較正用マーカ６６が形成される。
【００７１】
第４の実施形態では、以下の定義又は条件（ｄ１）〜（ｄ６）が設定されているものとする。なお（ｄ１）〜（ｄ５）は、第１の実施形態における（ａ１）〜（ａ５）と実質同様である。
（ｄ１）図１６に示すように、工作機械４２について定義された座標系（機械座標系）を｛Ｍ｝で表し、ロボット４４について定義された座標系（ロボット座標系）を｛Ｒ｝で表す。
（ｄ２）機械座標系｛Ｍ｝及びロボット座標系｛Ｒ｝はいずれも、互いに直交する３つの軸（ｘ，ｙ，ｚ）を有する直交座標系とするが、極座標を用いてもよい。また図１６が示す機械座標系｛Ｍ｝では、Ｘ軸は左右方向、Ｙ軸は紙面に垂直な方向、Ｚ軸は上下方向であり、一方ロボット座標系｛Ｒ｝では、Ｘ軸は左右方向、Ｙ軸は紙面に垂直な方向、Ｚ軸は上下方向である。
（ｄ３）機械座標系｛Ｍ｝の原点はテーブル２６に固定されており、該原点の位置（ｘ，ｙ，ｚ）は、ロボット１４側からテーブル２６をみたときのテーブル２６の左奥の隅において（ｘ，ｙ）＝（０，０）となり、さらに主軸２４に取り付けた工具（図示せず）の先端点（工具先端点）が工具交換位置にあるときにｚ＝０となるようにする。
（ｄ４）機械座標系｛Ｍ｝、ロボット座標系｛Ｒ｝及びカメラ５０について定義されたカメラ座標系の各々は、較正済とする。またロボット座標系｛Ｒ｝とカメラ座標系との間の位置関係（座標変換手段）は既知であるとする。
（ｄ５）図１６に示すように、計算の便宜のため、工作機械４２の所定位置（例えばテーブル５６）について座標系（機械ベース座標系）を定義し、これを｛Ｂ｝で表す。図１６に例示する機械ベース座標系（以降、単にベース座標系とも称する）｛Ｂ｝は、主軸５４の中心軸線とテーブル５６の表面（上面）とが交差する点を原点とし、ベース座標系｛Ｂ｝の各基本軸（ｘ，ｙ，ｚ）の方向は機械座標系｛Ｍ｝のものと一致する。つまりベース座標系｛Ｂ｝は、機械座標系｛Ｍ｝を平行移動させたものに相当する。
（ｄ６）工作機械４２の内部に設けた３つの較正用マーカの、ベース座標系｛Ｂ｝における位置（座標値）は、全て既知とする。このとき、ベース座標系｛Ｂ｝の原点から第１〜第３の較正用マーカへの座標ベクトルはそれぞれ、BＰM1、BＰM2、及びBＰM3で表すものとする。
【００７２】
次に、協働システム４０において、上述の定義又は条件下にて、ロボット座標系｛Ｒ｝からベース座標系｛Ｂ｝への座標変換を行うための座標変換行列Ｔを取得する手順について、図１５〜図１８を参照しつつ説明する。
【００７３】
先ず、図１５に示したように、工作機械４２及びロボット４４を予め定めた位置に配置し（図１７のステップＳ２１）、第１〜第３の較正用マーカ６２、６４及び６６を、工作機械４２の所定位置（ここではパーティション６０及び作業台５８）に形成する（図１７のステップＳ２２）。
【００７４】
ここで、ベース座標系｛Ｂ｝での３つの較正用マーカの座標値BＰM1、BＰM2、及びBＰM3は全て既知であるため、これらの座標値を用いて仮の座標系｛Ｂ′｝を定義し、座標系｛Ｂ′｝から、ベース座標系｛Ｂ｝への座標変換行列ＴBを求める。ここでは、図１６に示すように、BＰM1、BＰM2、及びBＰM3の３点で規定される平面を定義し、第１の較正用マーカ６２の位置BＰM1を原点とし、該平面上を延びるとともに原点からBＰM3に向かう方向と反対方向を仮のＸ′軸とし、該平面上を延びるとともにＸ′軸と直交する方向を仮のＺ′軸とし、Ｘ′軸及びＺ′軸の双方に直交する方向を仮のＹ′軸とすることにより、座標系｛Ｂ′｝を定義することができる。なお座標系｛Ｂ′｝の定義の方法はこれに限られるものではなく、例えばBＰM2又はBＰM3を原点とする仮の座標系を定義することもできる。
【００７５】
次に、図１８に示すように、ロボット４４に設けたカメラ５０を用いて（具体的には、カメラ５０の視野内に第１の較正用マーカ６２が入るようにロボット４４を制御して）、第１の較正用マーカ６２を撮像する。この処理により、ロボット座標系｛Ｒ｝における第１の較正用マーカ６２の位置RＰMA1が得られる。同様に、カメラ５０を用いて第２の較正用マーカ６４を撮像し、ロボット座標系｛Ｒ｝における第２の較正用マーカ６４の位置RＰMA2を取得する。さらに同様に、カメラ５０を用いて第３の較正用マーカ６６を撮像し、ロボット座標系｛Ｒ｝における第３の較正用マーカ６６の位置RＰMA3を取得する（図１７のステップＳ２３）。
【００７６】
カメラ５０により得られた３つの較正用マーカのロボット座標系｛Ｒ｝での３つの座標値（RＰM1，RＰM2，RＰM3）を用いることにより、ロボット座標系｛Ｒ｝から、仮の座標系｛Ｂ′｝への座標変換行列ＴRを求める。さらに、この座標変換行列ＴRと上述の座標変換行列ＴBを用いて、ロボット座標系｛Ｒ｝からベース座標系｛Ｂ｝への座標変換行列Ｔを求める（図１７のステップＳ２４）。すなわち、Ｔ＝ＴR（ＴB）-1である（但し、（ＴB）-1はＴBの逆行列を意味する）。
【００７７】
第４の実施形態では、少なくとも３つの較正用マーカを、工作機械の所定位置に定義された座標系での位置が既知となるように設けることにより、ロボットのカメラを用いてそれらの較正用マーカを計測するだけで、ロボットと工作機械とに共通の座標系を得ることができる。従って較正用マーカの位置によっては、ロボットを工作機械の主軸やテーブルに接近させる必要がないので、例えばロボットをパーティションで仕切られたロボット作業エリア内でのみ動作可能とする等、ロボットの動作範囲をその作業内容に応じて過不足なく設定することができ、ロボットの配置可能領域を拡大することもできる。
【００７８】
次に、本願発明の第５の実施形態について、図１９〜図２２を参照しつつ説明する。図１９に示すように、第５の実施形態に係る協働システム７０は、工作機械（図示例ではＮＣ旋盤）７２と、工作機械７２に接続されるとともに、工作機械７２の加工対象物のハンドリング等の、工作機械７２に対する作業を行うロボット７４とを備え、後述する機械座標系をロボット制御装置に設定する機能を有する。ロボット７４は、例えば６軸の多関節ロボットであり、アーム７６やアーム７６の先端に取り付けたハンド７８等のロボット可動部を有し、該ロボット可動部（好ましくはハンド７８の先端）にはカメラ８０が取り付けられる。ロボット制御装置は、図示していないが、ＮＣ旋盤７２と接続されているものとする。
【００７９】
一方、工作機械７２は、ベッド８２と、ベッド８２上に配置された主軸台８４と、工具を把持するチャック８６を有するとともに、（図示例では水平軸線方向に）回転するように主軸台８４に設けられた主軸８８と、ベッド８２上に配置された心押台９０と、ベッド８２に対して移動可能に構成されたクロススライド９２と、クロススライド９２に設けられた刃物台タレット９４とを備える。また第４の実施形態では、ロボット７４は主軸台８４上に配置され、計測用プローブ９６は、工具と同様の態様で刃物台タレット９４に（通常は着脱可能に）取り付けられる。なおチャック８６には、少なくとも３つの較正用マーカを備えたマーカ付き冶具９８を取り付けることができる。
【００８０】
第５の実施形態では、以下の定義又は条件（ｅ１）〜（ｅ５）が設定されているものとする。
（ｅ１）図２０に示すように、ＮＣ旋盤７２について定義された座標系（機械座標系）を｛Ｍ｝で表し、ロボット７４について定義された座標系（ロボット座標系）を｛Ｒ｝で表す。
（ｅ２）機械座標系｛Ｍ｝の原点は、主軸８８の中心軸線上に固定されており、また機械座標系｛Ｒ｝の向きはＪＩＳ  Ｂ６３１０に準拠するものとし、図２０では上方向がそのＸ軸の正方向に相当する。
（ｅ３）機械座標系｛Ｍ｝、ロボット座標系｛Ｒ｝及びカメラ８０について定義されたカメラ座標系の各々は、較正済とする。またロボット座標系｛Ｒ｝とカメラ座標系との間の位置関係（座標変換手段）は既知であるとする。
（ｅ４）図２１ａ及び２２ｂに示すように、マーカ付き冶具９８の本体は略円筒形状であり、その側面の同一円周上の異なる角度位置に、第１〜第３の較正用マーカ１００、１０２及び１０４が形成されている。３つのマーカの角度位置関係は任意に定めることができるが、図示例では、互いに１２０度離れた等間隔配置となっている。
（ｅ５）マーカ付き冶具９８の３つのマーカ１００、１０２及び１０４の相対位置関係は、事前の計測等によって既知であるものとする。
【００８１】
次に、第５の実施形態に係る協働システム７０において、上述の定義又は条件下にて、ロボット座標系｛Ｒ｝から機械座標系｛Ｍ｝への座標変換を行うための座標変換行列Ｔを取得する手順について説明する。
【００８２】
先ず、図２０に示すように、マーカ付き冶具９８をＮＣ旋盤７２のチャック８６に取り付け、冶具９８の１つの較正用マーカ（ここでは第１の較正用マーカ１００）の中心が工具（計測用プローブ９６）先端と当接するまで、主軸８８を低速で送る。その後、刃物台タレット９４に装着した計測用プローブ９６を用いて、第１の較正用マーカ１００の、機械座標系｛Ｍ｝のＺ−Ｘ平面上における位置（座標値）を計測する。ここで、第１〜第３の較正用マーカの相対位置関係は既知であるので、第１の較正用マーカ１００の位置を計測することにより、その相対位置関係を用いて第２及び第３の較正用マーカ１０２及び１０４の位置（座標値）を求めることができる。
【００８３】
機械座標系｛Ｍ｝について得られた３つの（較正用マーカの）座標値から、座標系｛Ｍ′｝を定義し、機械座標系｛Ｍ｝から座標系｛Ｍ′｝への座標変換行列ＴMを求める。なお座標系｛Ｍ′｝の定義の方法については、第３又は第４の実施形態における仮の座標系｛Ｂ′｝の定義と同様でよいので、詳細な説明は省略する。
【００８４】
次に、図２２に示すように、刃物台タレット９４（クロススライド９２）を主軸８８から退避させ、第１の較正用マーカ１００とロボット７４の手先に取り付けられたカメラ８０との距離が適切になり、第１の較正用マーカ１００の位置を十分な精度で計測できるように、ロボット７４を動作させる。そしてカメラ８０で第１の較正用マーカ１００を撮像し、ロボット座標系｛Ｒ｝での第１の較正用マーカ１００の位置（計測値）を得る。同様に、第２及び第３の較正用マーカ１０２及び１０４のロボット座標系｛Ｒ｝での位置も、カメラ８０を用いて計測する。
【００８５】
ここで較正用マーカ付き治具９８の３つの較正用マーカは、主軸８８の中心軸線についての同一円周上にある限り、任意の角度間隔で取りつけることができるが、ロボット７４に取り付けたカメラ８０が各マーカの計測を容易に行えるような角度位置に配置されることが好ましい。
【００８６】
ロボット座標系｛Ｒ｝について得られた３つの（較正用マーカの）座標値から、ロボット座標系｛Ｒ｝から座標系｛Ｍ′｝への座標変換行列ＴRを求める。
【００８７】
このようにして得られた座標変換行列ＴM及びＴRを用いて、ロボット座標系｛Ｒ｝から機械座標系｛Ｍ｝への座標変換行列Ｔを求めることができる。すなわち、Ｔ＝ＴR（ＴM）-1である（但し、（ＴM）-1はＴMの逆行列を意味する）。
【００８８】
第５の実施形態では、較正用マーカ付治具を使用することで、機械座標系｛Ｍ｝での３点の座標値と、これに対応するロボット座標系での３点の座標値を取得することで、ロボットから工作機械（ＮＣ旋盤）への座標変換行列を得ることができる。つまり、単に加工対象の座標系をロボットが取得するわけではないので、加工対象のハンドリング以外にも、ＮＣ旋盤の点検及び診断や、切屑の清掃等の作業をロボットに行わせることができる。
【００８９】
なお、ＮＣ旋盤７２がターニングセンタである場合、ターニングセンタは主軸割出し（Ｃ軸送り）機能を有するので、較正用マーカ付き治具９８には１つのみの較正用マーカを設ければ足りる。具体的には、１つの較正用マーカについて、計測用プローブ９６による（機械座標系｛Ｍ｝での）計測と、カメラ８０を用いた（ロボット座標系｛Ｒ｝での）計測とを行った後、１回目のＣ軸送りを行う。そのときの送り量から、当該較正用マーカの機械座標系｛Ｍ｝での位置を求めるとともに、カメラ８０を用いた計測を行う。さらに、２回目のＣ軸送りを行い、その時の送り量から、当該較正用マーカの機械座標系｛Ｍ｝での位置を求めるとともに、カメラ８０を用いた計測を行う。以上より、較正用マーカについて、機械座標系｛Ｍ｝での座標値とロボット座標系｛Ｒ｝での座標値が３組得られるので、座標変換行列Ｔを求めることができる。
【００９０】
上述の各実施形態において、ロボット制御装置は、カメラと較正用マーカとの相対位置関係が、カメラで較正用マーカの位置を計測できるものとなるようにロボットを自動的に制御することができる。具体的には、較正用マーカとロボットのカメラの相対距離が適切になるようにロボットを制御する際、ロボットを動作させる前（すなわち初期位置にあるとき）にカメラで較正用マーカを撮像し、得られた撮像情報を利用して、ロボットが較正用マーカに自動的に近づくような制御を行うことができる。なおこれについては、上述の特許文献６に記載の技術が適用可能である。このようにすれば、ロボット座標系での較正用マーカの位置を計測する一連の動作を自動で行うことができ、作業者の負担が低減する。
【符号の説明】
【００９１】
１０、４０、７０    協働システム
１１    ＮＣ制御装置
１２、４２、７２    工作機械
１４、４４、７４    ロボット
１６    ロボット制御装置
２２、５０、８０    カメラ
２４、５４、８８    主軸
２６    テーブル
２８、９６    計測用プローブ
３０、６２、１００    第１の較正用マーカ
３２、６４、１０２    第２の較正用マーカ
３４、６６、１０４    第３の較正用マーカ
【図１】
2016101640.tif 000003
【図２】
2016101640.tif 000004
【図３】
2016101640.tif 000005
【図４】
2016101640.tif 000006
【図５】
2016101640.tif 000007
【図６】
2016101640.tif 000008
【図７】
2016101640.tif 000009
【図８】
2016101640.tif 000010
【図９】
2016101640.tif 000011
【図１０】
2016101640.tif 000012
【図１１】
2016101640.tif 000013
【図１２】
2016101640.tif 000014
【図１３】
2016101640.tif 000015
【図１４】
2016101640.tif 000016
【図１５】
2016101640.tif 000017
【図１６】
2016101640.tif 000018
【図１７】
2016101640.tif 000019
【図１８】
2016101640.tif 000020
【図１９】
2016101640.tif 000021
【図２０】
2016101640.tif 000022
【図２１ａ】
2016101640.tif 000023
【図２１ｂ】
2016101640.tif 000024
【図２２】
2016101640.tif 000025