機械の誤差補償値計算方法
【課題】汎用性があり、どのようなタイプの多軸制御工作機械においても、共通の方法によって幾何誤差の補償値を効率良く算出することができる上、幾何誤差の補償値の計算用として、処理能力が低く安価なCPUを搭載することを可能とする実用的な誤差補償値計算方法を提供する。
【解決手段】幾何誤差の補償値を計算する際には、機械の駆動軸のつながり順番を示す第一インデックスと、幾何学的誤差を含んだ駆動軸のつながり順番を示す第二インデックスとを求める。しかる後、第一インデックスのつながり情報にしたがって基準ベクトルをマトリックス演算して第一ベクトルを求め、第二インデックスのつながり情報にしたがって基準ベクトルをマトリックス演算して第二ベクトルを求める。そして、得られた第一ベクトルと第二ベクトルとの差分を補償値として算出する。
【解決手段】幾何誤差の補償値を計算する際には、機械の駆動軸のつながり順番を示す第一インデックスと、幾何学的誤差を含んだ駆動軸のつながり順番を示す第二インデックスとを求める。しかる後、第一インデックスのつながり情報にしたがって基準ベクトルをマトリックス演算して第一ベクトルを求め、第二インデックスのつながり情報にしたがって基準ベクトルをマトリックス演算して第二ベクトルを求める。そして、得られた第一ベクトルと第二ベクトルとの差分を補償値として算出する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、多軸工作機械やロボット等の機械において幾何誤差を補償するための補償値を計算するための計算方法に関するものである。
【背景技術】
【0002】
機械の一種として、能率の高い加工や複雑な形状のワークの加工を行う目的で従来の3軸マシニングセンタに回転軸や旋回軸を付加した5軸制御工作機械(5軸マシニングセンタ等)が知られている。そのような5軸制御工作機械の運動精度およびワークの形状精度に影響を及ぼす要因として、回転軸と並進軸の平行度や各回転軸間の回転中心の不一致等の各軸間の幾何学的な誤差(所謂、幾何誤差)を挙げることができる。5軸制御工作機械を製造する際に、かかる幾何誤差をなくすことは非常に困難である。それゆえ、特許文献1の如く、5軸制御工作機械を制御する際に、回転軸の中心ズレや傾き誤差を考慮して、工具とワークの相対関係が誤差のない機械と同じになるように、各軸の指令位置を補償して各軸を駆動する方法が考案されている。
【0003】
かかる特許文献1の制御方法においては、補償値を計算する際に、構成される駆動軸の動作とそれに含まれる幾何誤差が、4行×4列のマトリックス(行列式)の乗算によって求められている。また、5軸制御工作機械を、軸構成の違いによって、主軸回転型、テーブル回転型、主軸・テーブル混合型との3タイプに分けて、それぞれ異なる計算式によって幾何誤差の補償値が算出されており、どのタイプの5軸制御工作機械の補償値の算出においても、下記の数1のように、4行×4列のマトリックスと4行×1列のマトリックスとの乗算が行われている。
【0004】
【数1】
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2004−272887号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記特許文献1に示された幾何誤差の補償値の計算方法は、5軸制御工作機械のタイプによって別々の計算式を用いて補償値を算出するものであるため、汎用性がない。また、特許文献1に示された幾何誤差の補償値の計算方法は、4行×4列のマトリックスと4行×1列のマトリックスとの乗算を行うものであるため、12回の加算処理と、16回の乗算処理という膨大な計算処理を行わなければならず、非常に効率が悪い上、処理能力の高いCPUが必要となる、という課題がある。
【0007】
本発明の目的は、上記従来の幾何誤差の補償値の計算方法が有する問題点を解消し、汎用性があり、どのようなタイプの多軸制御工作機械においても、共通の方法によって幾何誤差の補償値を効率良く算出することができる上、幾何誤差の補償値の計算用として安価なCPUを搭載することを可能とする実用的な機械の誤差補償値の計算方法(誤差補償値計算方法)を提供することにある。
【課題を解決するための手段】
【0008】
請求項1に記載された発明(以下、第一の発明という)は、機械の幾何学的誤差を補償するための補償値を計算する方法であって、機械の駆動軸のつながり順番を示す第一インデックスと、幾何学的誤差を含んだ前記駆動軸のつながり順番を示す第二インデックスとを求め、前記第一インデックスのつながり順番に関する情報にしたがって基準ベクトルをマトリックス演算して第一ベクトルを求め、前記第二インデックスのつながり順番に関する情報にしたがって基準ベクトルをマトリックス演算して第二ベクトルを求め、前記第一ベクトルと第二ベクトルとの差分を補償値とすることを特徴とするものである。
【0009】
請求項2に記載された発明(以下、第二の発明という)は、機械の幾何学的誤差を補償するための補償値を計算する方法であって、機械の駆動軸のつながり順番を示す第一インデックスと、幾何学的誤差を含んだ前記駆動軸のつながり順番を示す第二インデックスとを求め、それらのインデックスの要素の種類に応じて予め対応付けられた計算処理を、前記第一インデックスのつながり情報にしたがって基準ベクトルに対して行って第一ベクトルを求めるとともに、前記第二インデックスのつながり情報にしたがって基準ベクトルに対して行って第二ベクトルを求め、前記第一ベクトルと第二ベクトルとの差分を補償値とすることを特徴とするものである。
【発明の効果】
【0010】
本発明に係る機械の誤差補償値計算方法は、汎用性があり、どのようなタイプの5軸制御工作機械(もしくは4軸以下あるいは6軸以上を制御する工作機械)においても、共通の方法によって幾何誤差の補償値を計算することができる。また、本発明に係る機械の誤差補償値計算方法によれば、計算量を少なくすることができ、効率良く幾何誤差の補償値を算出することができる上、幾何誤差の補償値の計算用として、処理能力が低く安価なCPUを搭載することが可能となる。
【図面の簡単な説明】
【0011】
【図1】X軸、Y軸、Z軸の並進軸およびテーブル側にA軸、C軸の回転軸を有する5軸制御工作機械を示す模式図(斜視図)である。
【図2】5軸制御工作機械の制御機構を示すブロック図である。
【図3】機械立ち上げ時の処理内容を示すフローチャートである。
【図4】機械の軸構成を示す機構チェインの概念図である。
【図5】幾何誤差のない機械での計算順番を示すI−チェインの概念図である。
【図6】幾何誤差のない機械での計算順番を示すI−チェインの概念図である。
【図7】幾何誤差のある機械での計算順番を示すR−チェインの概念図である。
【図8】幾何誤差のある機械での計算順番を示すR−チェインの概念図である。
【図9】機械の幾何誤差の補償値計算処理の内容を示すフローチャートである。
【図10】X軸、Y軸、Z軸の並進軸および主軸側にB軸、C軸の回転軸を有する5軸制御工作機械を示す模式図(斜視図)である。
【図11】機械の軸構成を示す機構チェインの概念図である。
【図12】幾何誤差のない機械での計算順番を示すI−チェインの概念図である。
【図13】幾何誤差のある機械での計算順番を示すR−チェインの概念図である。
【図14】場合分け計算処理の内容を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、本発明(第一の発明および第二の発明)に係る幾何誤差を補償するための補償値を計算する方法(誤差補償値計算方法)の一実施形態について、図面に基づいて詳細に説明する。
【0013】
[実施例1]
実施例1では、図1の如きテーブル側に2つの回転軸を有する5軸制御工作機械において、第一の発明に係る誤差補償値計算方法によって補償値を算出する一例について説明する。
【0014】
<多軸工作機械の構成>
図1は、3つの並進軸と2つの回転軸を有する5軸制御工作機械(5軸制御マシニングセンタ)を示したものである(以下、単に工作機械M1という)。工作機械M1のベッド(基台)1には、主軸頭2、テーブル3、トラニオンユニット4が駆動制御可能に設置されている。主軸頭2は、並進軸であり互いに直交するX軸、Z軸によって並進2自由度の運動が可能になっている。また、テーブル3は、トラニオンユニット4に内蔵された互いに直交した回転軸であるA軸、C軸によって回転2自由度の運動が可能になっているとともに、並進軸でありX・Z軸に直交するY軸により並進1自由度の運動が可能になっている。かかる工作機械M1は、NC制御装置(図2参照)により、サーボモータ(図示せず)でX,Y,Z,A,Cの各軸を駆動制御することによって、主軸頭2に装着される工具を用いて、テーブル3に固定されるワークを任意の形状に加工することができるようになっている。
【0015】
図2は、上記した工作機械M1の制御機構を示すブロック図であり、主軸頭2、テーブル3、トラニオンユニット4を並進させるための各サーボモータ、および、テーブル3を回転させるための各サーボモータは、NC制御装置21によって駆動制御されるようになっている。また、NC制御装置21には、割出位置(割出条件)等を設定するための入力手段31、算出された幾何誤差の補償値の結果等を出力するためのモニタ等の出力手段32等が接続されている。さらに、NC制御装置21には、記憶手段22が設けられており、当該記憶手段22内には、幾何誤差の補償値を算出するための各種のプログラムを記憶するためのプログラム記憶領域、各種の演算に用いる変数等を記憶するための変数記憶領域等が設けられている。
【0016】
<誤差補償値計算方法>
上記した工作機械M1においては、主軸に装着された工具からテーブルに固定されるワークまでの駆動軸のつながりは、Z軸、X軸、Y軸、A軸、C軸の順番になっており、外界に固定されるベッド1の位置、すなわちグラウンド座標系は、Y軸とX軸との間になっている。なお、当該グラウンド座標系をgで表し、工作機械M1の軸のつながりをCAYgXZと表記する。また、以下の説明においては、この軸構成を表すつながりを機構チェイン(K−Chain)と総称する。
【0017】
工作機械M1の主軸頭2に装着された工具の工具長をTと仮定し、X軸、Y軸、Z軸、A軸、C軸の指令値を、それぞれx,y,z,a,cと仮定する。工作機械M1に幾何誤差がない場合には、ワーク座標系における工具先端点ベクトルWPIは、工具座標系における工具先端点ベクトルTPから、機構チェインにしたがって同時変換を行うことによって、下記の数2から求めることができる。
【0018】
【数2】
【0019】
ここで、幾何誤差が各軸間の6自由度相対誤差εとして各軸間に存在すると考えると、幾何誤差が存在する場合のワーク座標系における工具先端点ベクトルWPRは、以下の数3となる。
【0020】
【数3】
【0021】
したがって、ワーク座標系における工具先端点の位置誤差ベクトルWΔPは、以下の数4となる。
【0022】
【数4】
【0023】
この誤差を補償するためのX,Y,Z軸の補償値としては、上記した位置誤差ベクトルを指令値の座標系に変換した指令値座標系での位置誤差ベクトルOΔPを用いることができる。そして、当該位置誤差ベクトルOΔPは、以下の数5から求めることができる。すなわち、指令値座標系は、Y軸とA軸との間にあり、ワーク座標系から指令値座標系への変換は、ワーク座標系から逆行列で、C軸、A軸の順番で掛け合わせることによって求めることができる。
【0024】
【数5】
【0025】
上記数2〜5により、ワーク座標系から指令値座標系に変換された誤差のない場合の工具先端点ベクトルOPI、および、誤差のある場合の工具先端点ベクトルOPRは、それぞれ、以下の数6、数7として表すことができる。
【0026】
【数6】
【0027】
【数7】
【0028】
したがって、補償値となる位置誤差ベクトルOΔPは、以下の数8からも求めることができる。
【0029】
【数8】
【0030】
上記数6〜8により、工作機械M1の如きテーブル側に回転軸が2軸あるタイプの5軸制御工作機械の補償値を求めることができる(なお、後述するように、他のタイプの工作機械では、別の数式を利用して補償値を求める必要がある)。
【0031】
[実施例2]
実施例2では、第一の発明に係る誤差補償値計算方法を、すべてのタイプの工作機械に共通して使用できるようにアレンジする方法の一例について説明する。かかる計算方法においては、工作機械を制御するNC装置の初期化時の処理において、上記した機構チェインに基づいて、幾何誤差がない場合の工具からワークまでの軸構成を示すI−チェイン、および、幾何誤差がある場合の工具からワークまでの軸構成を示すR−チェインを求めるとともに、幾何誤差パラメータを設定する。
【0032】
図3は、NC装置21の初期化時に行う処理の内容を示したものであり、当該初期化処理においては、まず、ステップ(S)1で、上記した機構チェイン(K−Chain)を、予めNC装置21の記憶手段22に記憶させておく。この際、機構チェイン内の各軸名称を、数字や記号に置き換える。図4は、記憶された機構チェインの概念図であり、右側が工具側になっており、左側がワーク側になっている。
【0033】
次に、S2で、記憶された機構チェインから軸のつながりに関連したつながり情報を読み取り、幾何誤差がない場合の工具からワークまでの軸構成を示すI−チェインを作成する。図5は、作成されたI−チェインの概念図である。補償値を求める際には、I−チェインを指令値座標系に変換する必要があるため、ワーク座標系から指令値座標系まで逆にたどり、上記した数6のように相殺できる場合には相殺して、I−チェインを図6のように更新する。ここで、指令値座標系は、A軸とY軸との間にある(すなわち、機構チェインにおいてグラウンド座標系からワーク側の最初の回転軸と直進軸との間にある)と判断できる。
【0034】
同様に、S3で、幾何誤差がある場合の工具からワークまでの軸構成を示すR−チェインを図7のように作成する。さらに、指令値座標系まで逆にたどり、R−チェインを図8のように更新する。
【0035】
一方、S4で、予め記憶手段22に記憶しておいた幾何誤差パラメータを読み込み、S5で、幾何誤差パラメータとして設定しておく。この幾何誤差パラメータは、熱変位、重力による変形、直線軸の真直度誤差等の影響により可変なものとすることもできる。
【0036】
次に、軸動作時の補償値の計算方法について、図9のフローチャートにしたがって説明する。補償値の計算においては、まず、S11で、NC装置21が入力されたNCプログラムを読み込み、解釈し、各軸の指令値を生成する。しかる後、S12で、生成された回転軸の指令値に対してSINとCOSを計算する。さらに、生成された各軸の指令値に対して、それぞれ変換マトリックスを用意する。また、NC装置21の初期化処理で求めた(設定された)幾何誤差パラメータを用いて、幾何誤差のマトリックスも用意する。なお、この処理においても、幾何誤差パラメータを、熱変位や重力・慣性力による変形、直進軸の真直度誤差等により可変なものとすることができる。
【0037】
次に、S13で、I−チェイン内の軸順番にしたがって、工具座標系での工具先端点ベクトルTPを各変換マトリックスに掛け合わせていき、指令値座標系での工具先端点ベクトルOPIを求める。
【0038】
さらに、S14で、R−チェイン内の軸順番にしたがって、工具座標系での誤差のない場合の工具先端点ベクトルTPを各変換マトリックスに掛け合わせていき、指令値座標系での誤差のある場合の工具先端点ベクトルOPRを求める。
【0039】
その後、上記した数8を用いて補償値OΔPを求める。
【0040】
[実施例3]
実施例3では、図10の如き主軸頭側に2つの回転軸を有する5軸制御工作機械において、第一の発明に係る誤差補償値計算方法によって補償値を求める一例について説明する。図10の工作機械M2においては、主軸頭12は、並進軸であり互いに直交するY軸、Z軸によって並進2自由度の運動が可能になっているとともに、ユニバーサルヘッド14に内蔵された互いに直交した回転軸であるB軸、C軸によって回転2自由度の運動が可能になっている。また、テーブル13は、並進軸でありY・Z軸に直交するX軸により並進1自由度の運動が可能になっている。かかる工作機械M2は、NC制御装置(図示せず)によりサーボモータでX,Y,Z,B,Cの各軸を駆動制御することによって、主軸頭12に装着される工具を用いて、テーブル13に固定されたワークを任意の形状に加工することができるようになっている(なお、実施例3の工作機械M2の制御機構は、実施例1,2の工作機械M1の制御機構と略同様である)。
【0041】
上記した工作機械M2においては、工具からワークまでの駆動軸のつながりはB軸、C軸、Z軸、Y軸、X軸の順番になっており、機構チェインは、XgYZCBと記述することができるため、機構チェインを図11の如く示すことができる。また、指令値座標系は、Xの左側にあるため、I−チェインを図12の如く示すことができ、R−チェインを図13の如く示すことができる。そして、図12、図13に示された両チェインにしたがって、以下の数9によりOPIを算出することができ、以下の数10によりOPRを算出することができる。そして、上記した数8から補償値となる位置誤差ベクトルOΔPを求めることができる。
【0042】
【数9】
【0043】
【数10】
【0044】
<実施例4>
実施例4では、第二の発明に係る誤差補償値計算方法によって補償値を算出する一例について説明する。上記した第一の発明に係る実施例1〜3においては、I−チェインおよびR−チェインの各要素にしたがってマトリックス乗算を行っているが、実施例4の計算方法においては、当該マトリックス乗算を要素毎に分類し、場合分けして計算処理を行う。すわなち、要素毎に以下の処理をおこなう。ここで、変換する基準ベクトルP=[Px,Py,Pz]tとする。
【0045】
1)要素がX,Y,Zである場合
この場合には、対応したベクトル要素のみ加算を1回行う。たとえば、Xの場合には、下記の数11のようにPxにのみ加算して更新する。
【0046】
【数11】
【0047】
2)要素がA,B,Cである場合
この場合には、指定した回転軸と平行な軸に対応したベクトル要素以外の2つの要素に対して、加算2回、乗算4回を行う。たとえば、Aの場合には、下記の数12のようにPyとPzとに対して加算・乗算を行い更新する。なお、COS,SINは、上述のように予め求めておいたものを利用する。
【0048】
【数12】
【0049】
3)要素がA−1,B−1,C−1である場合
この場合には、要素がA,B,Cである場合と同様に、指定した回転軸と平行な軸に対応したベクトル要素以外の2つの要素に対して、加算2回、乗算4回を行うが、SINの符号を逆にする。たとえば、A−1の場合には、下記の数13のようにPyとPzに対して加算・乗算を行い更新する。なお、COS,SINは、上述のように予め求めておいたものを利用する。
【0050】
【数13】
【0051】
4)要素がε(εWC,εCA,εAY,εYX,εXZ,εZT)である場合
この場合には、対応したεの幾何誤差パラメータα*,β*,γ*,δx*,δy*,δz*を用いて、加算9回、乗算6回を行う。たとえば、εAYの場合には、下記の数14として求められる。この説明では、6つのパラメータをすべて計算しているが、εによっては、6つすべてに値が入らない場合があるので、さらに計算を細分化して場合分けしても良い。
【0052】
【数14】
【0053】
以下、上記の如き要素の場合分けを用いてOPIもしくはOPRを計算する方法について、図14のフローチャートにしたがって説明する。
【0054】
要素の場合分けを用いてOPI,OPRを計算する場合には、まず、S21の如く、ベクトルPを、上記した数3の工具先端点ベクトルTPになるように初期化する。次に、S22で、ループカウンタiを0にし、I−チェインもしくはR−チェインの最大ノード数nだけのループを行う(S23〜S28)。このループ内では、各チェインのi番目のノードを読み出し、対応した要素毎に場合分けされた計算を行い、Pを更新する。これを最大ノード数まで繰り返すことで得られるP(更新されたP)が、OPIもしくはOPRとなる。
【0055】
<誤差補償値計算方法による効果>
上記した実施例1〜4の各誤差補償値計算方法は、汎用性があり、どのようなタイプの5軸制御工作機械(もしくは4軸以下あるいは6軸以上を制御する工作機械)においても、共通の方法によって幾何誤差の補償値を計算することができる。また、上記した実施例1〜4の各誤差補償値計算方法によれば、計算量を少なくすることができ、効率良く幾何誤差の補償値を算出することができる上、幾何誤差の補償値の計算用として、処理能力が低く安価なCPUを搭載することが可能となる。
【0056】
<幾何誤差計算方法の変更例>
本発明に係る誤差補償値計算方法は、上記実施形態の態様に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で、必要に応じて適宜変更することができる。また、本発明に係る誤差補償値計算方法を利用可能な機械は、上記実施形態の如き5軸制御工作機械に限定されず、4軸以下の制御軸を有する工作機械や6軸以上の制御軸を有する工作機械においても、本発明に係る方法によって、誤差誤差の補償値を算出することが可能である。加えて、本発明に係る誤差補償値計算方法を利用可能な機械は、工作機械に限定されず、ロボット、産業機械、建築機械等においても、本発明に係る方法によって、誤差誤差の補償値を算出することが可能である。
【産業上の利用可能性】
【0057】
本発明に係る誤差補償値計算方法は、上記の如く優れた効果を奏するものであるから、各種の機械において幾何誤差の補償値を計算する方法として好適に用いることができる。
【符号の説明】
【0058】
M1,M2・・工作機械
1・・ベッド
2・・主軸頭
3・・テーブル
4・・トラニオンユニット
21・・NC制御装置
【技術分野】
【0001】
本発明は、多軸工作機械やロボット等の機械において幾何誤差を補償するための補償値を計算するための計算方法に関するものである。
【背景技術】
【0002】
機械の一種として、能率の高い加工や複雑な形状のワークの加工を行う目的で従来の3軸マシニングセンタに回転軸や旋回軸を付加した5軸制御工作機械(5軸マシニングセンタ等)が知られている。そのような5軸制御工作機械の運動精度およびワークの形状精度に影響を及ぼす要因として、回転軸と並進軸の平行度や各回転軸間の回転中心の不一致等の各軸間の幾何学的な誤差(所謂、幾何誤差)を挙げることができる。5軸制御工作機械を製造する際に、かかる幾何誤差をなくすことは非常に困難である。それゆえ、特許文献1の如く、5軸制御工作機械を制御する際に、回転軸の中心ズレや傾き誤差を考慮して、工具とワークの相対関係が誤差のない機械と同じになるように、各軸の指令位置を補償して各軸を駆動する方法が考案されている。
【0003】
かかる特許文献1の制御方法においては、補償値を計算する際に、構成される駆動軸の動作とそれに含まれる幾何誤差が、4行×4列のマトリックス(行列式)の乗算によって求められている。また、5軸制御工作機械を、軸構成の違いによって、主軸回転型、テーブル回転型、主軸・テーブル混合型との3タイプに分けて、それぞれ異なる計算式によって幾何誤差の補償値が算出されており、どのタイプの5軸制御工作機械の補償値の算出においても、下記の数1のように、4行×4列のマトリックスと4行×1列のマトリックスとの乗算が行われている。
【0004】
【数1】
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2004−272887号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記特許文献1に示された幾何誤差の補償値の計算方法は、5軸制御工作機械のタイプによって別々の計算式を用いて補償値を算出するものであるため、汎用性がない。また、特許文献1に示された幾何誤差の補償値の計算方法は、4行×4列のマトリックスと4行×1列のマトリックスとの乗算を行うものであるため、12回の加算処理と、16回の乗算処理という膨大な計算処理を行わなければならず、非常に効率が悪い上、処理能力の高いCPUが必要となる、という課題がある。
【0007】
本発明の目的は、上記従来の幾何誤差の補償値の計算方法が有する問題点を解消し、汎用性があり、どのようなタイプの多軸制御工作機械においても、共通の方法によって幾何誤差の補償値を効率良く算出することができる上、幾何誤差の補償値の計算用として安価なCPUを搭載することを可能とする実用的な機械の誤差補償値の計算方法(誤差補償値計算方法)を提供することにある。
【課題を解決するための手段】
【0008】
請求項1に記載された発明(以下、第一の発明という)は、機械の幾何学的誤差を補償するための補償値を計算する方法であって、機械の駆動軸のつながり順番を示す第一インデックスと、幾何学的誤差を含んだ前記駆動軸のつながり順番を示す第二インデックスとを求め、前記第一インデックスのつながり順番に関する情報にしたがって基準ベクトルをマトリックス演算して第一ベクトルを求め、前記第二インデックスのつながり順番に関する情報にしたがって基準ベクトルをマトリックス演算して第二ベクトルを求め、前記第一ベクトルと第二ベクトルとの差分を補償値とすることを特徴とするものである。
【0009】
請求項2に記載された発明(以下、第二の発明という)は、機械の幾何学的誤差を補償するための補償値を計算する方法であって、機械の駆動軸のつながり順番を示す第一インデックスと、幾何学的誤差を含んだ前記駆動軸のつながり順番を示す第二インデックスとを求め、それらのインデックスの要素の種類に応じて予め対応付けられた計算処理を、前記第一インデックスのつながり情報にしたがって基準ベクトルに対して行って第一ベクトルを求めるとともに、前記第二インデックスのつながり情報にしたがって基準ベクトルに対して行って第二ベクトルを求め、前記第一ベクトルと第二ベクトルとの差分を補償値とすることを特徴とするものである。
【発明の効果】
【0010】
本発明に係る機械の誤差補償値計算方法は、汎用性があり、どのようなタイプの5軸制御工作機械(もしくは4軸以下あるいは6軸以上を制御する工作機械)においても、共通の方法によって幾何誤差の補償値を計算することができる。また、本発明に係る機械の誤差補償値計算方法によれば、計算量を少なくすることができ、効率良く幾何誤差の補償値を算出することができる上、幾何誤差の補償値の計算用として、処理能力が低く安価なCPUを搭載することが可能となる。
【図面の簡単な説明】
【0011】
【図1】X軸、Y軸、Z軸の並進軸およびテーブル側にA軸、C軸の回転軸を有する5軸制御工作機械を示す模式図(斜視図)である。
【図2】5軸制御工作機械の制御機構を示すブロック図である。
【図3】機械立ち上げ時の処理内容を示すフローチャートである。
【図4】機械の軸構成を示す機構チェインの概念図である。
【図5】幾何誤差のない機械での計算順番を示すI−チェインの概念図である。
【図6】幾何誤差のない機械での計算順番を示すI−チェインの概念図である。
【図7】幾何誤差のある機械での計算順番を示すR−チェインの概念図である。
【図8】幾何誤差のある機械での計算順番を示すR−チェインの概念図である。
【図9】機械の幾何誤差の補償値計算処理の内容を示すフローチャートである。
【図10】X軸、Y軸、Z軸の並進軸および主軸側にB軸、C軸の回転軸を有する5軸制御工作機械を示す模式図(斜視図)である。
【図11】機械の軸構成を示す機構チェインの概念図である。
【図12】幾何誤差のない機械での計算順番を示すI−チェインの概念図である。
【図13】幾何誤差のある機械での計算順番を示すR−チェインの概念図である。
【図14】場合分け計算処理の内容を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、本発明(第一の発明および第二の発明)に係る幾何誤差を補償するための補償値を計算する方法(誤差補償値計算方法)の一実施形態について、図面に基づいて詳細に説明する。
【0013】
[実施例1]
実施例1では、図1の如きテーブル側に2つの回転軸を有する5軸制御工作機械において、第一の発明に係る誤差補償値計算方法によって補償値を算出する一例について説明する。
【0014】
<多軸工作機械の構成>
図1は、3つの並進軸と2つの回転軸を有する5軸制御工作機械(5軸制御マシニングセンタ)を示したものである(以下、単に工作機械M1という)。工作機械M1のベッド(基台)1には、主軸頭2、テーブル3、トラニオンユニット4が駆動制御可能に設置されている。主軸頭2は、並進軸であり互いに直交するX軸、Z軸によって並進2自由度の運動が可能になっている。また、テーブル3は、トラニオンユニット4に内蔵された互いに直交した回転軸であるA軸、C軸によって回転2自由度の運動が可能になっているとともに、並進軸でありX・Z軸に直交するY軸により並進1自由度の運動が可能になっている。かかる工作機械M1は、NC制御装置(図2参照)により、サーボモータ(図示せず)でX,Y,Z,A,Cの各軸を駆動制御することによって、主軸頭2に装着される工具を用いて、テーブル3に固定されるワークを任意の形状に加工することができるようになっている。
【0015】
図2は、上記した工作機械M1の制御機構を示すブロック図であり、主軸頭2、テーブル3、トラニオンユニット4を並進させるための各サーボモータ、および、テーブル3を回転させるための各サーボモータは、NC制御装置21によって駆動制御されるようになっている。また、NC制御装置21には、割出位置(割出条件)等を設定するための入力手段31、算出された幾何誤差の補償値の結果等を出力するためのモニタ等の出力手段32等が接続されている。さらに、NC制御装置21には、記憶手段22が設けられており、当該記憶手段22内には、幾何誤差の補償値を算出するための各種のプログラムを記憶するためのプログラム記憶領域、各種の演算に用いる変数等を記憶するための変数記憶領域等が設けられている。
【0016】
<誤差補償値計算方法>
上記した工作機械M1においては、主軸に装着された工具からテーブルに固定されるワークまでの駆動軸のつながりは、Z軸、X軸、Y軸、A軸、C軸の順番になっており、外界に固定されるベッド1の位置、すなわちグラウンド座標系は、Y軸とX軸との間になっている。なお、当該グラウンド座標系をgで表し、工作機械M1の軸のつながりをCAYgXZと表記する。また、以下の説明においては、この軸構成を表すつながりを機構チェイン(K−Chain)と総称する。
【0017】
工作機械M1の主軸頭2に装着された工具の工具長をTと仮定し、X軸、Y軸、Z軸、A軸、C軸の指令値を、それぞれx,y,z,a,cと仮定する。工作機械M1に幾何誤差がない場合には、ワーク座標系における工具先端点ベクトルWPIは、工具座標系における工具先端点ベクトルTPから、機構チェインにしたがって同時変換を行うことによって、下記の数2から求めることができる。
【0018】
【数2】
【0019】
ここで、幾何誤差が各軸間の6自由度相対誤差εとして各軸間に存在すると考えると、幾何誤差が存在する場合のワーク座標系における工具先端点ベクトルWPRは、以下の数3となる。
【0020】
【数3】
【0021】
したがって、ワーク座標系における工具先端点の位置誤差ベクトルWΔPは、以下の数4となる。
【0022】
【数4】
【0023】
この誤差を補償するためのX,Y,Z軸の補償値としては、上記した位置誤差ベクトルを指令値の座標系に変換した指令値座標系での位置誤差ベクトルOΔPを用いることができる。そして、当該位置誤差ベクトルOΔPは、以下の数5から求めることができる。すなわち、指令値座標系は、Y軸とA軸との間にあり、ワーク座標系から指令値座標系への変換は、ワーク座標系から逆行列で、C軸、A軸の順番で掛け合わせることによって求めることができる。
【0024】
【数5】
【0025】
上記数2〜5により、ワーク座標系から指令値座標系に変換された誤差のない場合の工具先端点ベクトルOPI、および、誤差のある場合の工具先端点ベクトルOPRは、それぞれ、以下の数6、数7として表すことができる。
【0026】
【数6】
【0027】
【数7】
【0028】
したがって、補償値となる位置誤差ベクトルOΔPは、以下の数8からも求めることができる。
【0029】
【数8】
【0030】
上記数6〜8により、工作機械M1の如きテーブル側に回転軸が2軸あるタイプの5軸制御工作機械の補償値を求めることができる(なお、後述するように、他のタイプの工作機械では、別の数式を利用して補償値を求める必要がある)。
【0031】
[実施例2]
実施例2では、第一の発明に係る誤差補償値計算方法を、すべてのタイプの工作機械に共通して使用できるようにアレンジする方法の一例について説明する。かかる計算方法においては、工作機械を制御するNC装置の初期化時の処理において、上記した機構チェインに基づいて、幾何誤差がない場合の工具からワークまでの軸構成を示すI−チェイン、および、幾何誤差がある場合の工具からワークまでの軸構成を示すR−チェインを求めるとともに、幾何誤差パラメータを設定する。
【0032】
図3は、NC装置21の初期化時に行う処理の内容を示したものであり、当該初期化処理においては、まず、ステップ(S)1で、上記した機構チェイン(K−Chain)を、予めNC装置21の記憶手段22に記憶させておく。この際、機構チェイン内の各軸名称を、数字や記号に置き換える。図4は、記憶された機構チェインの概念図であり、右側が工具側になっており、左側がワーク側になっている。
【0033】
次に、S2で、記憶された機構チェインから軸のつながりに関連したつながり情報を読み取り、幾何誤差がない場合の工具からワークまでの軸構成を示すI−チェインを作成する。図5は、作成されたI−チェインの概念図である。補償値を求める際には、I−チェインを指令値座標系に変換する必要があるため、ワーク座標系から指令値座標系まで逆にたどり、上記した数6のように相殺できる場合には相殺して、I−チェインを図6のように更新する。ここで、指令値座標系は、A軸とY軸との間にある(すなわち、機構チェインにおいてグラウンド座標系からワーク側の最初の回転軸と直進軸との間にある)と判断できる。
【0034】
同様に、S3で、幾何誤差がある場合の工具からワークまでの軸構成を示すR−チェインを図7のように作成する。さらに、指令値座標系まで逆にたどり、R−チェインを図8のように更新する。
【0035】
一方、S4で、予め記憶手段22に記憶しておいた幾何誤差パラメータを読み込み、S5で、幾何誤差パラメータとして設定しておく。この幾何誤差パラメータは、熱変位、重力による変形、直線軸の真直度誤差等の影響により可変なものとすることもできる。
【0036】
次に、軸動作時の補償値の計算方法について、図9のフローチャートにしたがって説明する。補償値の計算においては、まず、S11で、NC装置21が入力されたNCプログラムを読み込み、解釈し、各軸の指令値を生成する。しかる後、S12で、生成された回転軸の指令値に対してSINとCOSを計算する。さらに、生成された各軸の指令値に対して、それぞれ変換マトリックスを用意する。また、NC装置21の初期化処理で求めた(設定された)幾何誤差パラメータを用いて、幾何誤差のマトリックスも用意する。なお、この処理においても、幾何誤差パラメータを、熱変位や重力・慣性力による変形、直進軸の真直度誤差等により可変なものとすることができる。
【0037】
次に、S13で、I−チェイン内の軸順番にしたがって、工具座標系での工具先端点ベクトルTPを各変換マトリックスに掛け合わせていき、指令値座標系での工具先端点ベクトルOPIを求める。
【0038】
さらに、S14で、R−チェイン内の軸順番にしたがって、工具座標系での誤差のない場合の工具先端点ベクトルTPを各変換マトリックスに掛け合わせていき、指令値座標系での誤差のある場合の工具先端点ベクトルOPRを求める。
【0039】
その後、上記した数8を用いて補償値OΔPを求める。
【0040】
[実施例3]
実施例3では、図10の如き主軸頭側に2つの回転軸を有する5軸制御工作機械において、第一の発明に係る誤差補償値計算方法によって補償値を求める一例について説明する。図10の工作機械M2においては、主軸頭12は、並進軸であり互いに直交するY軸、Z軸によって並進2自由度の運動が可能になっているとともに、ユニバーサルヘッド14に内蔵された互いに直交した回転軸であるB軸、C軸によって回転2自由度の運動が可能になっている。また、テーブル13は、並進軸でありY・Z軸に直交するX軸により並進1自由度の運動が可能になっている。かかる工作機械M2は、NC制御装置(図示せず)によりサーボモータでX,Y,Z,B,Cの各軸を駆動制御することによって、主軸頭12に装着される工具を用いて、テーブル13に固定されたワークを任意の形状に加工することができるようになっている(なお、実施例3の工作機械M2の制御機構は、実施例1,2の工作機械M1の制御機構と略同様である)。
【0041】
上記した工作機械M2においては、工具からワークまでの駆動軸のつながりはB軸、C軸、Z軸、Y軸、X軸の順番になっており、機構チェインは、XgYZCBと記述することができるため、機構チェインを図11の如く示すことができる。また、指令値座標系は、Xの左側にあるため、I−チェインを図12の如く示すことができ、R−チェインを図13の如く示すことができる。そして、図12、図13に示された両チェインにしたがって、以下の数9によりOPIを算出することができ、以下の数10によりOPRを算出することができる。そして、上記した数8から補償値となる位置誤差ベクトルOΔPを求めることができる。
【0042】
【数9】
【0043】
【数10】
【0044】
<実施例4>
実施例4では、第二の発明に係る誤差補償値計算方法によって補償値を算出する一例について説明する。上記した第一の発明に係る実施例1〜3においては、I−チェインおよびR−チェインの各要素にしたがってマトリックス乗算を行っているが、実施例4の計算方法においては、当該マトリックス乗算を要素毎に分類し、場合分けして計算処理を行う。すわなち、要素毎に以下の処理をおこなう。ここで、変換する基準ベクトルP=[Px,Py,Pz]tとする。
【0045】
1)要素がX,Y,Zである場合
この場合には、対応したベクトル要素のみ加算を1回行う。たとえば、Xの場合には、下記の数11のようにPxにのみ加算して更新する。
【0046】
【数11】
【0047】
2)要素がA,B,Cである場合
この場合には、指定した回転軸と平行な軸に対応したベクトル要素以外の2つの要素に対して、加算2回、乗算4回を行う。たとえば、Aの場合には、下記の数12のようにPyとPzとに対して加算・乗算を行い更新する。なお、COS,SINは、上述のように予め求めておいたものを利用する。
【0048】
【数12】
【0049】
3)要素がA−1,B−1,C−1である場合
この場合には、要素がA,B,Cである場合と同様に、指定した回転軸と平行な軸に対応したベクトル要素以外の2つの要素に対して、加算2回、乗算4回を行うが、SINの符号を逆にする。たとえば、A−1の場合には、下記の数13のようにPyとPzに対して加算・乗算を行い更新する。なお、COS,SINは、上述のように予め求めておいたものを利用する。
【0050】
【数13】
【0051】
4)要素がε(εWC,εCA,εAY,εYX,εXZ,εZT)である場合
この場合には、対応したεの幾何誤差パラメータα*,β*,γ*,δx*,δy*,δz*を用いて、加算9回、乗算6回を行う。たとえば、εAYの場合には、下記の数14として求められる。この説明では、6つのパラメータをすべて計算しているが、εによっては、6つすべてに値が入らない場合があるので、さらに計算を細分化して場合分けしても良い。
【0052】
【数14】
【0053】
以下、上記の如き要素の場合分けを用いてOPIもしくはOPRを計算する方法について、図14のフローチャートにしたがって説明する。
【0054】
要素の場合分けを用いてOPI,OPRを計算する場合には、まず、S21の如く、ベクトルPを、上記した数3の工具先端点ベクトルTPになるように初期化する。次に、S22で、ループカウンタiを0にし、I−チェインもしくはR−チェインの最大ノード数nだけのループを行う(S23〜S28)。このループ内では、各チェインのi番目のノードを読み出し、対応した要素毎に場合分けされた計算を行い、Pを更新する。これを最大ノード数まで繰り返すことで得られるP(更新されたP)が、OPIもしくはOPRとなる。
【0055】
<誤差補償値計算方法による効果>
上記した実施例1〜4の各誤差補償値計算方法は、汎用性があり、どのようなタイプの5軸制御工作機械(もしくは4軸以下あるいは6軸以上を制御する工作機械)においても、共通の方法によって幾何誤差の補償値を計算することができる。また、上記した実施例1〜4の各誤差補償値計算方法によれば、計算量を少なくすることができ、効率良く幾何誤差の補償値を算出することができる上、幾何誤差の補償値の計算用として、処理能力が低く安価なCPUを搭載することが可能となる。
【0056】
<幾何誤差計算方法の変更例>
本発明に係る誤差補償値計算方法は、上記実施形態の態様に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で、必要に応じて適宜変更することができる。また、本発明に係る誤差補償値計算方法を利用可能な機械は、上記実施形態の如き5軸制御工作機械に限定されず、4軸以下の制御軸を有する工作機械や6軸以上の制御軸を有する工作機械においても、本発明に係る方法によって、誤差誤差の補償値を算出することが可能である。加えて、本発明に係る誤差補償値計算方法を利用可能な機械は、工作機械に限定されず、ロボット、産業機械、建築機械等においても、本発明に係る方法によって、誤差誤差の補償値を算出することが可能である。
【産業上の利用可能性】
【0057】
本発明に係る誤差補償値計算方法は、上記の如く優れた効果を奏するものであるから、各種の機械において幾何誤差の補償値を計算する方法として好適に用いることができる。
【符号の説明】
【0058】
M1,M2・・工作機械
1・・ベッド
2・・主軸頭
3・・テーブル
4・・トラニオンユニット
21・・NC制御装置
【特許請求の範囲】
【請求項1】
機械の幾何学的誤差を補償するための補償値を計算する方法であって、
機械の駆動軸のつながり順番を示す第一インデックスと、幾何学的誤差を含んだ前記駆動軸のつながり順番を示す第二インデックスとを求め、前記第一インデックスのつながり順番に関する情報にしたがって基準ベクトルをマトリックス演算して第一ベクトルを求め、前記第二インデックスのつながり順番に関する情報にしたがって基準ベクトルをマトリックス演算して第二ベクトルを求め、前記第一ベクトルと第二ベクトルとの差分を補償値とすることを特徴とする機械の誤差補償値の計算方法。
【請求項2】
機械の幾何学的誤差を補償するための補償値を計算する方法であって、
機械の駆動軸のつながり順番を示す第一インデックスと、幾何学的誤差を含んだ前記駆動軸のつながり順番を示す第二インデックスとを求め、それらのインデックスの要素の種類に応じて予め対応付けられた計算処理を、前記第一インデックスのつながり情報にしたがって基準ベクトルに対して行って第一ベクトルを求めるとともに、前記第二インデックスのつながり情報にしたがって基準ベクトルに対して行って第二ベクトルを求め、前記第一ベクトルと第二ベクトルとの差分を補償値とすることを特徴とする機械の誤差補償値の計算方法。
【請求項1】
機械の幾何学的誤差を補償するための補償値を計算する方法であって、
機械の駆動軸のつながり順番を示す第一インデックスと、幾何学的誤差を含んだ前記駆動軸のつながり順番を示す第二インデックスとを求め、前記第一インデックスのつながり順番に関する情報にしたがって基準ベクトルをマトリックス演算して第一ベクトルを求め、前記第二インデックスのつながり順番に関する情報にしたがって基準ベクトルをマトリックス演算して第二ベクトルを求め、前記第一ベクトルと第二ベクトルとの差分を補償値とすることを特徴とする機械の誤差補償値の計算方法。
【請求項2】
機械の幾何学的誤差を補償するための補償値を計算する方法であって、
機械の駆動軸のつながり順番を示す第一インデックスと、幾何学的誤差を含んだ前記駆動軸のつながり順番を示す第二インデックスとを求め、それらのインデックスの要素の種類に応じて予め対応付けられた計算処理を、前記第一インデックスのつながり情報にしたがって基準ベクトルに対して行って第一ベクトルを求めるとともに、前記第二インデックスのつながり情報にしたがって基準ベクトルに対して行って第二ベクトルを求め、前記第一ベクトルと第二ベクトルとの差分を補償値とすることを特徴とする機械の誤差補償値の計算方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2012−248098(P2012−248098A)
【公開日】平成24年12月13日(2012.12.13)
【国際特許分類】
【出願番号】特願2011−120819(P2011−120819)
【出願日】平成23年5月30日(2011.5.30)
【出願人】(000149066)オークマ株式会社 (476)
【Fターム(参考)】
【公開日】平成24年12月13日(2012.12.13)
【国際特許分類】
【出願日】平成23年5月30日(2011.5.30)
【出願人】(000149066)オークマ株式会社 (476)
【Fターム(参考)】
[ Back to top ]