(57)【要約】【課題】ロボットを有する加工システムを安価に構成する。【解決手段】工作機械制御装置１０により制御される工作機械１と、ロボット制御装置２０により制御され、工作機械１に対して作業を行うロボット２とを有する加工システムであって、ロボット２の所定の移動可能部位に定められた設定点Ｐのロボット制御点Ｑに対する既知の位置関係に基づき、ロボット座標系上で設定点Ｐの位置データを取得するデータ取得手段２０と、工作機械座標系上で設定点Ｐの位置を計測する計測手段１０，１４と、データ取得手段２０により取得された位置データと、計測手段１０，１４により計測された位置データとに基づき、ロボット座標系と工作機械座標系の相対関係を導出する相対関係導出手段２０とを備える。【選択図】図１
2011048467.tif 000002
【特許請求の範囲】
【請求項１】
工作機械制御装置により制御される工作機械と、ロボット制御装置により制御され、前記工作機械に対して作業を行うロボットとを有する加工システムであって、
前記ロボットの所定の移動可能部位に定められた設定点のロボット制御点に対する既知の位置関係に基づき、前記ロボットに定めたロボット座標系上で前記設定点の位置データを取得するデータ取得手段と、
前記工作機械に定めた工作機械座標系上で前記設定点の位置を計測する計測手段と、
前記データ取得手段により取得された前記ロボット座標系上での位置データと、前記計測手段により計測された前記機械座標系上での位置データとに基づき、前記ロボット座標系と前記工作機械座標系の相対関係を導出する相対関係導出手段とを備えることを特徴とする加工システム。
【請求項２】
請求項１に記載の加工システムにおいて、
前記ロボットは、アーム先端のハンド部に略直方体形状の爪を有し、
前記設定点は、略直方体の互いに隣り合う３つの平面が交差する前記爪の角部であり、
前記計測手段は、
前記３つの平面上の位置データを検出する検出部と、
これらの位置データに基づき前記設定点の位置を演算する演算部とを有することを特徴とする加工システム。
【請求項３】
請求項１に記載の加工システムにおいて、
前記ロボットは、アーム先端のハンド部に略円筒形状の爪を有し、
前記設定点は、略円筒の上端面の中心点であり、
前記計測手段は、
前記略円筒の上端面と側面の位置データを検出する検出部と、
これらの位置データに基づき前記上端面と前記側面との交点を演算し、その交点に基づき前記設定点の位置を演算する演算部とを有することを特徴とする加工システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械に対してワークやツールのハンドリング作業を行うロボットを有する加工システムに関する。
【背景技術】
【０００２】
工作機械の座標系上およびハンドリング作業を行うロボット座標系上において、予め定めた３点以上の計測点の位置をそれぞれ計測し、その計測値に基づいて両座標系の相対関係を求め、ロボットの位置データを修正するようにした装置が知られている（例えば特許文献１参照）。この特許文献１記載の装置では、ロボットのアーム先端部に装着した撮像手段により、工作機械に取り付けられた治具上の３点の３次元位置をロボット座標系上で計測し、その計測値に基づいてロボットの位置データを修正する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１３８２２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１記載の装置では、ロボットアーム先端部に撮像手段を装着するため、コスト高となる。
【課題を解決するための手段】
【０００５】
本発明は、工作機械制御装置により制御される工作機械と、ロボット制御装置により制御され、工作機械に対して作業を行うロボットとを有する加工システムであって、ロボットの所定の移動可能部位に定められた設定点のロボット制御点に対する既知の位置関係に基づき、ロボットに定めたロボット座標系上で設定点の位置データを取得するデータ取得手段と、工作機械に定めた工作機械座標系上で設定点の位置を計測する計測手段と、データ取得手段により取得されたロボット座標系上での位置データと、計測手段により計測された工作機械座標系上での位置データとに基づき、ロボット座標系と工作機械座標系の相対関係を導出する相対関係導出手段とを備えることを特徴とする。
【発明の効果】
【０００６】
本発明によれば、ロボット座標系と工作機械座標系の相対関係を導出するに当たり、ロボット側に位置検出器を設ける必要がないため、加工システムを安価に構成できる。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施の形態に係る加工システムの概略構成を示す図である。
【図２】本発明の実施の形態に係る加工システムの概略構成を示すブロック図である。
【図３】ロボットハンドの各種形状を概略的に示す斜視図である。
【図４】Ａ形状の爪を有するロボットハンドの計測点および設定点の位置を示す図である。
【図５】Ｂ形状の爪を有するロボットハンドの計測点および設定点の位置を示す図である。
【図６】Ｃ形状の爪を有するロボットハンドの計測点および設定点の位置を示す図である。
【図７】図２の機械制御コントローラとロボット制御コントローラにおける処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、図１〜図７を参照して本発明の実施の形態について説明する。図１は、本実施の形態に係る加工システムの概略構成を示す図である。
【０００９】
この加工システムは、ワークＷが搭載されるテーブル１１およびツールＴが取り付けられる刃物台１２を有する工作機械１と、アーム２１の先端部にエンドエフェクタとしてのハンド２２が取り付けられる多関節型のロボット２と、工作機械１の動作を制御する機械制御コントローラ１０と、ロボット２の動作を制御するロボット制御コントローラ２０とを有する。ロボット２は、予め作成された所定の作業プログラムに従い、ロボット制御コントローラ２０による制御下で動作し、ワークＷやツールＴ等の加工関連対象物をテーブル１１や刃物台１２等の搭載部に供給したり、搭載部から取り出したりするハンドリング作業を実行する。
【００１０】
このような加工システムでは、工作機械１の搭載部上で動作するワークＷやツールＴの位置データは、例えばテーブル１１や刃物台１２の送り軸を座標軸とする直交座標系等、工作機械１の座標系（工作機械座標系）を基準にして与えられる。一方、ロボット２のハンドリング作業時のロボット自体の位置データは、例えばワールド座標系等、ロボット２の座標系（ロボット座標系）を基準にして与えられる。したがって、工作機械１に対してロボット２が精度よくハンドリング作業を実行するためには、予め工作機械座標系とロボット座標系の相対関係を求め、その相対関係を用いて工作機械座標系の位置データをロボット座標系の位置データに正確に変換する必要がある。なお、位置データは、位置と姿勢を含むデータである。
【００１１】
工作機械座標系とロボット座標系の相対関係は、例えば次のようにして求めることができる。すなわち、工作機械１に設けられた位置計測器を用いて、工作機械座標系上で異なる３点の位置をそれぞれ計測するとともに、ロボット２に設けられた位置計測器を用いて、ロボット座標系上でそれと同一の３点の位置をそれぞれ計測する。これら工作機械座標系上およびロボット座標系上における計測データを用いて、ロボット座標系から工作機械座標系に座標変換するための座標変換行列を求め、これにより工作機械座標系とロボット座標系の相対関係を表す。
【００１２】
しかしながら、上述したように工作機械１とロボット２にそれぞれ位置計測器を設け、各位置計測器により工作機械座標系上およびロボット座標系上での位置計測を行うようにしたのでは、システム構成が高価となる。そこで、本実施の形態では、以下に述べるようにロボット２に位置計測器を設けずに、工作機械１に設けられた位置計測器により、ロボット２の制御基準点（ロボット制御点）に対する位置関係が既知である設定点の位置計測を行う。
【００１３】
図２は、本実施の形態に係る加工システムの概略構成を示すブロック図である。機械制御コントローラ１０は、ＣＰＵ，ＲＯＭ，ＲＡＭ，通信器，その他の周辺回路などを有する演算処理装置を含んで構成される。ロボット制御コントローラ２０も同様に、ＣＰＵ，ＲＯＭ，ＲＡＭ，通信器，その他の周辺回路などを有する演算処理装置を含んで構成される。機械制御コントローラ１０とロボット制御コントローラ２０は、内部の通信器および外部ケーブル３１を介して接続され、機械制御コントローラ１０とロボット制御コントローラ２０との間で後述するように通信が行われる。
【００１４】
機械制御コントローラ１０とロボット制御コントローラ２０には、例えばキーボード、タッチパネル、各種スイッチ等からなる入力装置３０を介し、工作機械１の駆動に関する各種指令やロボット２の駆動に関する各種指令、ロボット２のモード指令等が入力される。プログラムや各種データを格納した記憶媒体を介して入力装置３０から各種情報を入力することもできる。
【００１５】
図示は省略するが、機械制御コントローラ１０は、テーブル１１（ワークＷ）や刃物台１２（ツールＴ）の駆動を制御する工作機械制御部と、後述する計測モードにおいて計測器１４からの信号を処理する信号処理部とを有する。工作機械制御部は、工作機械１に設けられたアクチュエータ１３に制御信号を出力し、工作機械上でのワークＷやツールＴの位置，姿勢、およびツールＴの駆動等を制御する。
【００１６】
図示は省略するが、ロボット制御コントローラ２０は、工作機械座標系とロボット座標系との相対関係を演算し、この相対関係に基づき、ロボット２の作業プログラムを作成するプログラム作成部と、その作業プログラムに基づきロボット駆動用のアクチュエータ２３に制御信号を出力し、ハンドリング作業時のロボット２の動作を制御するロボット制御部とを有する。
【００１７】
計測器１４は、例えば刃物台１２のツール取付部にツールＴの代わりプローブを取り付けて構成され、プローブ先端を被測定物に押圧したときにオン信号を出力する押圧スイッチと、このオン信号出力時の工作機械座標系における被測定物の３次元位置を検出する位置検出部とを有する。
【００１８】
本実施の形態では、ロボットアーム先端部に取り付けられたハンド２２の表面上の任意の複数点の位置を後述するように計測器１４により計測し、この計測値に基づき、予め定めたハンド上の設定点の工作機械座標系上での位置を求める。この場合の位置計測手順はハンド２２の形状に応じて異なる。図３は、ハンド２２の各種形状を概略的に示す斜視図であり、図３（ａ）〜図３（ｃ）の各形状をそれぞれＡ形状，Ｂ形状，Ｃ形状と称する。
【００１９】
図３（ａ）に示すＡ形状は、ハンド先端部に拡縮可能な２つの略直方体形状の爪２２ａを互いに対向して有し、これらの爪２２ａによってワークＷが把持される。図３（ｂ）に示すＢ形状は、ハンド先端部に拡縮可能な３つの略直方体形状の爪２２ａを１２０°間隔で有し、これらの爪２２ａによってワークＷが把持される。図３（ｃ）に示すＣ形状は、ハンド先端部に拡縮可能な３つの略円筒形状の爪２２ｂを１２０°間隔で有し、これらの爪２２ｂによってワークＷが把持される。
【００２０】
図３（ａ）〜図３（ｃ）において、ハンド先端の点Ｐは、それぞれ工作機械座標系上での位置データを求める設定点であり、ロボット座標系における位置データとして与えられる。また、点Ｑは、それぞれロボット制御時の制御対象となる制御規準点であり、ロボット座標系における位置データとして与えられる。なお、図では制御点Ｑをロボットハンド先端部の中心点に定めているが、制御点Ｑの位置はオペレータが任意に設定可能であり、制御点Ｑを設定点Ｐに一致させることもできる。
【００２１】
図３に示すように制御点Ｑをロボットハンド先端部の中心点に定めた場合、制御点Ｑと所定点Ｐとのロボット座標系での位置関係（距離など）は、設計値あるいは実測値として予めロボット制御コントローラ２０に設定できる。それにより、ロボット座標系上における制御点Ｑの位置データおよび設定点Ｐの位置データは既知のデータとなる。制御点Ｑに対する位置関係が既知であるロボットハンド上に設定点Ｐを定めることにより、ロボット２を移動した場合に、位置検出器を用いることなく、ロボット座標系上での設定点Ｐの位置データを求めることができる。
【００２２】
本実施の形態に係る加工システムの主要な動作について説明する。以下では、とくに工作機械座標系とロボット座標系のロボットハンド２２の各形状毎の相対関係の導出方法を中心に説明する。
（１）Ａ形状
図４（ａ）は、Ａ形状のハンド先端部を示す斜視図であり、図４（ｂ）は、図４（ａ）の爪２２ａの拡大図である。ここでは、設定点ＰをＰａで示している。設定点Ｐａは、爪２２ａを形成する直方体の隣り合う３つの面Ｓ１〜Ｓ３が交差する点、すなわち爪２２ａの先端角部に設定されている。
【００２３】
まず、オペレータは、刃物台１２のツール取付部にプローブを取り付けるとともに、入力装置３０の操作（例えばモード選択スイッチの操作）により、ロボット２の動作モードを作業モードから計測モードに変更する。なお、作業モードはハンドリング作業を行う場合のモード、計測モードは設定点Ｐの位置データを求める場合のモードであり、電源オン時には、動作モードは作業モードに設定される。
【００２４】
次いで、ロボットハンド２２を第１の位置および姿勢に固定した状態で、オペレータは刃物台１２のツール取付部を操作し、計測器１４のプローブを面Ｓ１上の任意の３点の計測点Ｐ１〜Ｐ３に押し当てる。このときの計測器１４からの信号により、機械制御コントローラ１０は、工作機械座標系（例えばｘｙｚ座標系）上での計測点Ｐ１〜Ｐ３の位置データＰ１（ｘ１，ｙ１，ｚ１）、Ｐ２（ｘ２，ｙ２，ｚ２）、Ｐ３（ｘ３，ｙ３，ｚ３）を取得し、これらの位置データにより次のような面Ｓ１の平面式(I)を算出する。
Ａ１・ｘ＋Ｂ１・ｙ＋Ｃ１・ｚ＝Ｄ１            (I)
【００２５】
同様に、計測器１４のプローブを面Ｓ２上の任意の計測点Ｐ４〜Ｐ６に押圧し、これにより点Ｐ４〜Ｐ６の位置データを取得し、次のような面Ｓ２の平面式(II)を算出する。
Ａ２・ｘ＋Ｂ２・ｙ＋Ｃ２・ｚ＝Ｄ２            (II)
また、計測器１４のプローブを面Ｓ３上の任意の計測点Ｐ７〜Ｐ９に押圧し、これにより点Ｐ７〜Ｐ９の位置データを取得し、次のような面Ｓ３の平面式(III)を算出する。
Ａ３・ｘ＋Ｂ３・ｙ＋Ｃ３・ｚ＝Ｄ３            (III)
なお、上式(I)〜(III)のＡ１〜Ａ３，Ｂ１〜Ｂ３，Ｃ１〜Ｃ３，Ｄ１〜Ｄ４は、それぞれ定数である。機械制御コントローラ１０は、これらの式(I)〜(III)を連立させて解くことにより、設定点Ｐａの位置データ（ｘａ，ｙａ，ｚａ）を算出する。
【００２６】
次いで、オペレータは、ロボットハンド２２を第１の位置、姿勢とは異なる第２の位置、姿勢に操作し、ロボットハンド２２を第２の位置、姿勢に固定した状態で、上述したのと同様にして面Ｓ１〜Ｓ３上の任意の計測点Ｐ１〜Ｐ９の位置を計測し、これら計測値に基づき設定点Ｐａの位置データを算出する。さらに、ロボットハンド２２を第１の位置、姿勢および第２の位置、姿勢とは異なる第３の位置、姿勢に操作し、ロボットハンド２２を第３の位置、姿勢に固定した状態で、上述したのと同様にして面Ｓ１〜Ｓ３の任意の計測点Ｐ１〜Ｐ９の位置を計測し、これら計測値に基づき設定点Ｐａの位置データを算出する。
【００２７】
これにより第１の位置、姿勢〜第３の位置、姿勢における設定点Ｐａの位置データ、すなわち工作機械座標系における設定点Ｐａの３つの位置データを得る。機械制御コントローラ１０は、ケーブル３１を介してこれらの位置データをロボット制御コントローラ２０に送信する。ロボット制御コントローラ２０は、第１の位置、姿勢〜第３の位置、姿勢におけるロボット制御点Ｑの位置データ、および予め定めた設定点Ｐａと制御点Ｑとのロボット座標系上での位置関係に基づき、ロボット座標系における設定点Ｐａの３つの位置データを得る。
【００２８】
このようにして工作機械座標系上での設定点Ｐａの３つの位置データおよびロボット座標系上での設定点Ｐａの３つの位置データを求めた後、ロボット制御コントローラ２０は、例えば次式(IV)の関係を満たすロボット座標系から工作機械座標系への座標変換行列Ｔａを求める。
Ｔｍ＝Ｔａ・Ｔｒ                          (IV)
ここで、Ｔｒは、ロボット座標系における位置および姿勢を表す行列であり、Ｔｍは、工作機械座標系における位置および姿勢を表す行列である。
【００２９】
この変換行列Ｔａにより、工作機械座標系とロボット座標系の相対関係が表される。なお、この種の行列式の演算は周知であるため、変換行列Ｔａの演算についての説明は省略する。ロボット制御コントローラ２０は、この変換行列Ｔａを用いてロボット２の作業プログラムを作成し、この作業プログラムに基づきハンドリング作業時のロボット２の動作を制御する。なお、オフライン等で予め作業プログラムが作成されている場合には、変換行列Ｔａを用いて作業プログラムの位置データを修正し、修正後のプログラムに基づきハンドリング作業時のロボット２の動作を制御する。
【００３０】
（２）Ｂ形状
図５（ａ）は、Ｂ形状のハンド先端部を示す斜視図であり、図５（ｂ）は、図５（ａ）の爪２２ａの拡大図である。ここでは、設定点ＰをＰｂで示している。設定点Ｐｂは、形状Ａと同様、爪２２ａを形成する直方体の隣り合う３つの面Ｓ１〜Ｓ３が交差する点、すなわち爪２２ａの先端角部に設定されている。
【００３１】
工作機械座標系とロボット座標系の相対関係は、Ａ形状の場合と同様にして導出される。すなわち、オペレータは、ロボットハンド２２を第１の位置、姿勢に固定した状態で計測器１４のプローブを面Ｓ１〜Ｓ３上の任意の計測点Ｐ１〜Ｐ９に押し当てる。これにより機械制御コントローラ１０は、工作機械座標系における計測点Ｐ１〜Ｐ９の位置データを取得し、これら位置データに基づき面Ｓ１〜Ｓ３の平面式(I)〜(III)を算出し、これら平面式(I)〜(III)を連立させて解くことにより設定点Ｐｂの位置データを算出する。
【００３２】
次いで、ロボットハンド２２を第２の位置、姿勢に操作し、ロボットハンド２２を第２の位置、姿勢に固定した状態で、面Ｓ１〜Ｓ３上の任意の計測点Ｐ１〜Ｐ９の位置を計測する。さらに、ロボットハンド２２を第３の位置、姿勢に操作し、ロボットハンド２２を第３の位置、姿勢に固定した状態で、面Ｓ１〜Ｓ３の任意の計測点Ｐ１〜Ｐ９の位置を計測する。これら計測値に基づき、機械制御コントローラ１０は、工作機械座標系における設定点Ｐｂの３つの位置データを算出し、算出した３つの位置データをロボット制御コントローラ２０に送信する。
【００３３】
ロボット制御コントローラ２０は、第１の位置、姿勢〜第３の位置、姿勢のロボット制御点Ｑの位置データ、およびロボット座標系の設定点Ｐｂと制御点Ｑの位置関係に基づき、第１の位置、姿勢〜第３の位置、姿勢におけるロボット座標系上での設定点Ｐｂの３つの位置データを得る。このようにして工作機械座標系上での設定点Ｐｂの３つの位置データおよびロボット座標系上での設定点Ｐｂの３つの位置データを求めた後、上述したように座標変換行列Ｔａを求めることで、工作機械座標系とロボット座標系の相対関係を導出する。
【００３４】
（３）Ｃ形状
図６（ａ）は、Ｃ形状のハンド先端部を示す斜視図であり、図６（ｂ）は、図６（ａ）の爪２２ｂの拡大図である。ここでは、設定点ＰをＰｃで示している。設定点Ｐｃは、爪２２ｂを形成する円筒の円形上端面Ｓ１の中心点に設定されている。
【００３５】
まず、オペレータは、ロボットハンド２２を第１の位置、姿勢に固定した状態で、計測器１４のプローブを面Ｓ１上の任意の計測点Ｐ１〜Ｐ３に押し当てる。これにより機械制御コントローラ１０は、工作機械座標系上での計測点Ｐ１〜Ｐ３の位置データを取得し、これらの位置データにより次のような面Ｓ１の平面式(V)を算出する。
Ａ１・ｘ＋Ｂ１・ｙ＋Ｃ１・ｚ＝Ｄ１            (V)
なお、Ａ１，Ｂ１，Ｃ１，Ｄ１はそれぞれ定数である。
【００３６】
さらに、プローブを円筒側面Ｓ２の任意の点Ｐ４に押し当ててその点Ｐ４の位置を計測し、このときの位置データを用いて、面Ｓ１に垂直で、かつ円筒側面Ｓ２の点Ｐ４を通る次のような直線式(VI)を算出する。
ｘ／Ａ１＝（ｙ／Ｂ１）＋Ｂ２＝（ｚ／Ｃ１）＋Ｃ２          (VI)
なお、Ａ１，Ｂ１，Ｂ２，Ｃ１，Ｃ２はそれぞれ定数である。機械制御コントローラ１０は、この直線式(VI)と平面式(V)を連立させて解くことにより、直線と平面Ｓ１の交点Ｐ７の位置Ｐ７（ｘ１，ｙ１，ｚ１）を算出する。
【００３７】
同様に、計測器１４のプローブを面Ｓ２上の任意の計測点Ｐ５，Ｐ６にそれぞれ押し当て、点Ｐ５，Ｐ６の位置データを取得する。これにより、面Ｓ１に垂直で、かつ点Ｐ５を通る直線式、および面Ｓ１に垂直で、かつ点Ｐ６を通る直線式をそれぞれ算出するとともに、これら直線と平面Ｓ１の交点Ｐ８，Ｐ９の位置Ｐ８（ｘ２，ｙ２，ｚ２），Ｐ９（ｘ３，ｙ３，ｚ３）をそれぞれ算出する。
【００３８】
ここで、円の中心位置をＰｃ（ｘｃ，ｙｃ，ｚｃ）、半径をＲとすると、それぞれ次式(VII)，(VIII)，(IX)が成り立つ。
（ｘ１−ｘｃ）２＋（ｙ１−ｙｃ）２＋（ｚ１−ｚｃ）２＝ｒ２      (VII)
（ｘ２−ｘｃ）２＋（ｙ２−ｙｃ）２＋（ｚ２−ｚｃ）２＝ｒ２      (VIII)
（ｘ３−ｘｃ）２＋（ｙ３−ｙｃ）２＋（ｚ３−ｚｃ）２＝ｒ２      (IX)
さらに、平面式(V)に（ｘｃ，ｙｃ，ｚｃ）を代入すると、次式(X)となる。
Ａ１・ｘｃ＋Ｂ１・ｙｃ＋Ｃ１・ｚｃ＝Ｄ１            (X)
機械制御コントローラ１０は、上式(VII)，(VIII)，(IX)，(X)を連立させて解くことより、設定点Ｐｃの位置データを算出する。
【００３９】
次いで、ロボットハンド２２を第１の位置、姿勢とは異なる第２の位置、姿勢に操作した後、ロボットハンド２２の位置、姿勢を固定した状態で、上述したのと同様にして面Ｓ１上の任意の計測点Ｐ１〜Ｐ３および面Ｓ２上の任意の計測点Ｐ４〜Ｐ６の位置を計測し、設定点Ｐｃの位置データを算出する。さらに、ロボットハンド２２を第１の位置、姿勢および第２の位置、姿勢とは異なる第３の位置、姿勢に操作した後、ロボットハンド２２の位置、姿勢を固定した状態で、上述したのと同様にして面Ｓ１上の任意の計測点Ｐ１〜Ｐ３および面Ｓ２上の任意の計測点Ｐ４〜Ｐ６の位置を計測し、設定点Ｐｃの位置データを算出する。
【００４０】
これにより機械制御コントローラ１０は、第１の位置、姿勢〜第３の位置、姿勢における設定点Ｐｃの位置データ、すなわち工作機械座標系における設定点Ｐａの３つの位置データを取得し、これらの位置データをロボット制御コントローラ２０に送信する。ロボット制御コントローラ２０は、第１の位置、姿勢〜第３の位置、姿勢のロボット制御点Ｑの位置データ、およびロボット座標系上の設定点Ｐｃと制御点Ｑの位置関係に基づき、ロボット座標系における設定点Ｐｃの３つの位置データを算出する。
【００４１】
このようにして工作機械座標系上での設定点Ｐｃの３つの位置データおよびロボット座標系上での設定点Ｐｃの３つの位置データを求めた後、上述したように座標変換行列Ｔａを求めることで、工作機械座標系とロボット座標系の相対関係を導出する。
【００４２】
機械制御コントローラ１０およびロボット制御コントローラ２０における動作をより具体的に説明する。なお、以下ではロボットハンド２２がＡ形状の場合について説明する。図７は、機械制御コントローラ１０およびロボット制御コントローラ２０のＣＰＵで実行される処理の一例を示すフローチャートである。このフローチャートに示す処理は、例えば機械制御コントローラ１０およびロボット制御コントローラ２０の電源オンにより開始される。
【００４３】
まず、機械制御コントローラ１０の処理について説明する。ステップＳ１１では、入力装置３０（モード切替スイッチ）からの信号に基づきロボット２の動作モードが作業モードから計測モードに変更されたか否かを判定する。ステップＳ１１が肯定されるとステップＳ１２に進み、ケーブル３１を介してロボット制御コントローラ２０に信号を出力し、計測モードへの変更を通知する。ステップＳ１３では、オペレータが刃物台１２のツール取付部を操作したことにより、プローブがロボットハンド２２の計測点Ｐ１〜Ｐ９に押圧されたか否か、すなわち計測器１４からオン信号が出力されたか否かを判定する。
【００４４】
ステップＳ１３が肯定されるとステップＳ１４に進み、計測器１４で検出した工作機械座標系上の位置データを機械制御コントローラ１０のメモリに保存する。ステップＳ１５では、全ての計測点Ｐ１〜Ｐ９の位置データを取得したか否か、すなわち必要データの取得が終了したか否かを判定する。ステップＳ１５が否定されるとステップ１３に進み、必要データの取得が終了するまで同様の処理を繰り返す。
【００４５】
ステップＳ１５が肯定されるとステップＳ１６に進み、計測点Ｐ１〜Ｐ９の位置データを用いて信号処理部が上述したように設定点Ｐの位置を演算する。すなわち計測点Ｐ１〜Ｐ３，Ｐ４〜Ｐ６，Ｐ７〜Ｐ９の位置データにより面Ｓ１〜Ｓ３の平面式(I)〜(III)をそれぞれ算出し、これらを連立させて解くことにより工作機械座標系上での設定点Ｐの位置データを求める。ステップＳ１７では、ケーブル３１を介してロボット制御コントローラ２０に設定点Ｐの位置データを送信する。
【００４６】
ステップＳ１８では、入力装置３０の操作、例えばモード切替スイッチの操作により、計測モードの終了が指令されたか否かを判定する。計測モードの終了は、オペレータがロボットハンド２２を第１の位置、姿勢〜第３の位置、姿勢に操作した後、各位置において計測点Ｐ１〜Ｐ９の計測を終了した後に指令され、計測モードの終了が指令されるまではステップＳ１３〜ステップＳ１７の処理が繰り返される。これによりロボット制御コントローラ２０には設定点Ｐの各位置に対応した３つの位置データが送信される。ステップＳ１８が肯定されるとステップＳ１９に進み、ケーブル３１を介してロボット制御コントローラ２０に信号を出力し、計測モードの終了を通知する。
【００４７】
次に、ロボット制御コントローラ２０の処理について説明する。ステップＳ２１では、機械制御コントローラ１０より作業モードから計測モードへのモード変更が通知されたか否かを判定する。ステップＳ２１が肯定されるとステップＳ２２に進み、機械制御コントローラ１０から設定点Ｐの位置データを受信したか否かを判定する。ステップＳ２２が肯定されるとステップＳ２３に進み、否定されるとステップＳ２３をパスしてステップＳ２４に進む。
【００４８】
ステップＳ２３では、ロボット制御点Ｑの位置データ、および予め定められたロボット座標系上での設定点Ｐと制御点Ｑとの位置関係に基づき、ロボット座標系における設定点Ｐの位置を求め、この位置データをロボット制御コントローラ２０のメモリに保存する。ステップＳ２４では、機械制御コントローラ１０から計測モード終了の通知があったか否かを判定する。ステップＳ２４が肯定されるとステップＳ２５に進み、否定されるとステップＳ２２に進む。
【００４９】
ステップＳ２５では、機械制御コントローラ１０から送信された工作機械座標系上での設定点Ｐの３つの位置データと、これに対応するロボット座標系上での設定点Ｐの３つの位置データに基づき、ロボット座標系から工作機械座標系への座標変換行列Ｔａを求め、工作機械座標系とロボット座標系の相対関係を導出する。ステップＳ２６では、この変換行列Ｔａを用いて作業プログラムの作成や既存プログラムの座標変換を行い、作業プログラムをメモリに保存する。なお、ロボットハンド２２がＢ形状およびＣ形状のときも、図７と同様な処理が行われる。
【００５０】
本実施の形態によれば以下のような作用効果を奏することができる。
（１）ロボット制御コントローラ２０での処理（ステップＳ２３）により、ロボットハンド先端に定めた設定点Ｐのロボット制御点Ｑに対する既知の位置関係に基づき、ロボット座標系上の設定点Ｐの位置データを取得するとともに、機械制御コントローラ１０での処理（ステップＳ１６）により、工作機械１に取り付けられた計測器１４を用いて工作機械座標系上の設定点Ｐの位置データを取得し、これらの位置データに基づき、ロボット制御コントローラ２０での処理（ステップＳ２５）により、ロボット座標系と工作機械座標系の相対関係を導出するようにした。これにより設定点Ｐを計測するための位置検出器をロボット２に設ける必要がなく、加工システムを安価に構成できる。
【００５１】
（２）ロボットハンド２２の爪２２ａが略直方体のＡ形状（図４）およびＢ形状（図５）のとき、略直方体の互いに隣り合う３つの平面Ｓ１〜Ｓ３が交差する爪２２ａの角部に設定点Ｐを設定した。そして、計測器１４により面Ｓ１〜Ｓ３上の計測点Ｐ１〜Ｐ９の位置を検出するとともに、これら計測点Ｐ１〜Ｐ９の位置データに基づき各面Ｓ１〜Ｓ３の平面式を算出し、平面式を連立させて解くことにより設定点Ｐの位置を演算するようにした。これにより、プローブを爪２２ａの角部に押し当てて計測器１４で設定点Ｐの位置を直接計測する場合に比べ、設定点Ｐの計測精度が高まる。
（３）ロボットハンド２２の爪２２ｂが略円筒のＣ形状（図６）のとき、略円筒の上端面の中心に設定点Ｐを設定した。そして、計測器１４により上端面と円筒側面の計測点Ｐ１〜Ｐ６の位置を検出するとともに、これら計測点Ｐ１〜Ｐ６の位置データに基づき上端面と円筒側面の交点Ｐ７〜Ｐ９を演算し、その交点Ｐ７〜Ｐ９に基づき設定点Ｐの位置を演算するようにした。これにより、プローブを爪２２ｂの中心に押し当てて計測器１４で設定点Ｐの位置を直接計測する場合に比べ、設定点Ｐの計測制度が高まる。
（４）ロボット制御コントローラ２０での処理（ステップＳ２５）により、ロボット座標系と工作機械座標系の相対関係を表す変換行列Ｔａを演算し、この変換行列に基づきロボット２の作業プログラムの作成や既存プログラムの座標変換を行うようにしたので（ステップＳ２６）、ハンドリング作業を精度よく行うことができる。
【００５２】
なお、上記実施の形態では、ロボットハンド２２を第１の位置、姿勢〜第３の位置、姿勢に移動して各位置における設定点Ｐの位置データを求めるようにしたが、ロボットハンド２２をさらに移動して設定点Ｐの位置データを４つ以上求め、これら位置データに基づきロボット座標系と工作機械座標系の相対関係を導出するようにしてもよい。設定点Ｐの数が多ければ、位置精度をより高めることができる。
【００５３】
ロボット制御点Ｑに対する位置関係が既知である箇所に設定点Ｐを定めるのであれば、設定点Ｐをロボットハンド以外の移動可能部位に定めてもよく、ロボット座標系上で設定点Ｐの位置データを取得するデータ取得手段としてのロボット制御コントローラ２０の構成は、上述したものに限らない。刃物台１２のツール取付部にプローブを取り付けるようにしたが、計測手段としての計測器１４の構成はこれに限らず、例えばレーザ位置検出器等の非接触式の計測器を用いてもよい。工作機械に計測手段を取り付けるのではなく、他の箇所に計測手段を設けてもよい。
【００５４】
ロボット座標系と工作機械座標系の設定点Ｐの位置データが３点以上あれば、ロボット座標系と工作機械座標系の相対関係を求めることは可能であり、相対関係導出手段としてのロボット制御コントローラ２０における処理はいかなるものでもよい。ロボットハンド２２の爪２２ａがＡ形状およびＢ形状のときは、検出部としての計測器１４により３つの平面上の位置データを検出し、演算部としての機械制御コントローラ１０の信号処理部により設定点Ｐの位置を演算するようにした。また、ロボットハンド２２の爪２２ｂがＣ形状のときは、検出部としての計測器１４により円筒上端面と側面の位置データを検出し、演算部としての機械制御コントローラ１０の信号処理部により設定点Ｐの位置を演算するようにしたが、ロボット計測手段の構成はこれに限らない。ロボットハンド２２の形状は上述したＡ形状〜Ｃ形状に限らない。
【００５５】
本発明は、ワークＷを加工する工作機械１に適用したが、射出成形機等、他の工作機械に本発明を同様に適用できる。すなわち、本発明の特徴、機能を実現できる限り、本発明は実施の形態の加工システムに限定されない。
【符号の説明】
【００５６】
１    工作機械
２    ロボット
１０    機械制御コントローラ
１４    計測器
２０    ロボット制御コントローラ
２２    ハンド
２２ａ，２２ｂ    爪
【図１】
2011048467.tif 000003
【図２】
2011048467.tif 000004
【図３】
2011048467.tif 000005
【図４】
2011048467.tif 000006
【図５】
2011048467.tif 000007
【図６】
2011048467.tif 000008
【図７】
2011048467.tif 000009