説明

工具先端点位置を制御する多軸加工機用数値制御装置

【課題】工具先端点制御または3次元手動送りを、直線軸3軸と回転軸3軸からなる加工機で可能にする。
【解決手段】指令プログラム10を解析手段11で解析し補間手段12で補間する。自動運転における手動移動指令の重畳の場合、手動移動指令が、直線軸手動積算手段24によって直線軸手動積算量25に積算され直線軸手動積算量加算手段22によって工具先端点位置20に加算される。あるいは回転軸手動積算手段26によって第1回転軸手動積算量,第2回転軸手動積算量,第3回転軸手動積算量27に積算され、回転軸手動積算量加算手段23によって第1回転軸位置,第2回転軸位置,第3回転軸位置にそれぞれ加算される。そして、自動運転制御点位置演算手段16で実際の工具の先端点位置がプログラムで指令された工具先端点位置となる直線軸3軸と回転軸3軸の制御点を求め、各軸のサーボ30x,30y,30z,30A,30B,30Cを駆動する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、少なくとも直線軸3軸と回転軸3軸とを有する多軸加工機を制御する数値制御装置に関する。特に、テーブル上で定義されテーブル移動とともに移動するテーブル座標系上で工具先端点の経路を指令して補間するとともに回転軸を指令して補間し、補間された工具先端点位置としての直線軸位置、回転軸位置および工具長補正ベクトルから機械座標系の制御点としての直線軸位置および回転軸位置を求め、それらの位置に直線軸および回転軸を駆動する数値制御装置に関する。さらに、補間された工具先端点位置、工具長補正ベクトル、または回転軸位置に対して、手動(手動ハンドル送り、ジョグ送りなど)指令による直線軸移動量または回転軸移動量を加算することができる数値制御装置に関する。
【背景技術】
【0002】
特許文献1には、テーブル上に定義される座標系において直線軸移動を補間する第1補間手段と、回転移動軸を補間する第2補間手段と、回転移動軸の補間位置によって直線移動軸の補間位置を補正する技術が開示されている。しかし、実施例から見て直線軸3軸と回転軸2軸とを有する5軸加工機を前提としている。実施例に記載された計算方法も直線軸3軸と回転軸2軸とを有する5軸加工機用の計算方法しか開示されていない。この技術は、5軸加工機においては一般に工具先端点制御と呼ばれている。
【0003】
特許文献2には、手動指令により工具を工具軸方向に移動させる技術が開示されている。特許文献3には、手動指令による回転軸2軸の動作に対して工具先端点とワークとの相対的位置関係を維持するようにX,Y,Z軸を動作させる技術が開示されている。しかし、特許文献2および特許文献3の技術は、実施例から見て直線軸3軸と回転軸2軸とを有する5軸加工機を前提としている。実施例に記載された計算方法も直線軸3軸と回転軸2軸とを有する5軸加工機用の計算方法しか開示されていない。これらの特許文献2および特許文献3に記載の技術は、5軸加工機においては一般に3次元手動送りと呼ばれている。
特許文献4には、上記特許文献2と特許文献3に記載された技術に相当する可能性のある技術が開示されているが、実施例には具体的な計算方法などは開示されていない。そのため実施できないという問題があった。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2003−195917号公報
【特許文献2】特公昭62−46002号公報
【特許文献3】特公昭63−33166号公報
【特許文献4】特開2009−110083号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1、特許文献2および特許文献3に述べられた5軸加工機には大きく分けて「工具ヘッド回転型」、「テーブル回転型」、「混合型(工具ヘッド、テーブル、両方とも回転)」の3つがある。
【0006】
本発明は、5軸加工機ではなく少なくとも直線軸3軸と回転軸3軸とからなる多軸加工機を対象としている。図1〜図4は本発明の数値制御装置が制御する多軸加工機の例である。図1に示される例は回転軸3軸で工具ヘッドを回転する工具ヘッド回転型である。図2に示される例はテーブル2軸混合型(回転軸2軸でテーブルを回転し、回転軸1軸で工具ヘッドを回転)、図3に示される例は工具ヘッド2軸混合型(回転軸2軸で工具ヘッドを回転し、回転軸1軸でテーブルを回転)、図4に示される例は回転軸3軸でテーブルを回転するテーブル回転型である。
【0007】
本発明の課題は、上記従来技術で述べた工具先端点制御または3次元手動送りを、少なくとも直線軸3軸と回転軸3軸とからなる多軸加工機において可能にする該多軸加工機を制御する数値制御装置を提供することである。
【課題を解決するための手段】
【0008】
本願の請求項1に係る発明は、テーブルに取付けられたワーク(加工物)に対して少なくとも前記ワークに対する工具の位置を制御する直線軸3軸と、工具からテーブルへの機械構成上の軸順における第1回転軸、第2回転軸および第3回転軸の回転軸3軸によって、前記ワークに対する工具の位置と方向を自動運転で制御して加工を行う多軸加工機を制御する数値制御装置において、前記直線軸3軸に属する直線軸の直線軸移動指令、前記回転軸3軸に属する回転軸の回転軸移動指令、および工具長補正指令を解析するとともに、前記工具長補正指令から工具長補正ベクトルを作成する移動指令解析手段と、補間周期毎に、前記テーブル上に定義されるテーブル座標系において前記直線軸移動指令を補間し工具先端点位置を得る直線軸補間手段と、補間周期毎に、前記回転軸移動指令を補間し前記第1回転軸の第1回転軸位置、前記第2回転軸の第2回転軸位置および前記第3回転軸位置の第3回転軸位置を得る回転軸補間手段と、補間周期毎に、前記工具長補正ベクトル、前記第1回転軸位置、前記第2回転軸位置、前記第3回転軸位置、前記工具先端点位置、およびテーブル座標系原点によって前記工具の先端点位置が前記工具先端点位置となる制御点位置を得る自動運転制御点位置演算手段と、前記直線軸3軸を前記制御点位置へ駆動し、前記回転軸3軸を前記第1回転軸位置、前記第2回転軸位置および前記第3回転軸位置に駆動する手段を有する数値制御装置である。
該請求項1に係る発明によって、自動運転において工具先端点位置が指令された位置となる。
【0009】
請求項2に係る発明は、前記自動運転制御点位置演算手段は、補間周期毎に、前記工具長補正ベクトルに対して、前記第1回転軸位置による第1回転軸マトリックスの積算、前記第2回転軸位置による第2回転軸マトリックスの積算、および前記第3回転軸位置による第3回転軸マトリックスの積算を行い、前記工具先端点位置を加算し、テーブル機械座標系回転マトリックスを積算し、テーブル座標系原点を加算することによって制御点位置を得る自動運転制御点位置演算手段であることを特徴とする請求項1に記載の数値制御装置である。
該請求項2に係る発明によって、自動運転において工具先端点位置が指令された位置となる。
【0010】
請求項3に係る発明は、前記回転軸3軸に対する手動による回転軸手動移動量を積算し第1回転軸手動積算量、第2回転軸手動積算量および第3回転軸手動積算量を得る回転軸手動積算手段と、補間周期毎に、前記第1回転軸手動積算量を前記第1回転軸位置に加算し新たに前記第1回転軸位置とするとともに新たな第1回転軸マトリックスを作成する、前記第2回転軸手動積算量を前記第2回転軸位置に加算し新たに前記第2回転軸位置とするとともに新たな第2回転軸マトリックスを作成する、または前記第3回転軸手動積算量を前記第3回転軸位置に加算し新たに前記第3回転軸位置とするとともに新たな第3回転軸マトリックスを作成する回転軸手動積算量加算手段を有する、請求項1または請求項2の何れか1つに記載の数値制御装置である。
該請求項3に係る発明によって、自動運転での手動移動指令の重畳において、手動移動指令で回転軸を移動しても工具先端点位置が保持される。
【0011】
請求項4に係る発明は、前記直線軸3軸に対する手動による直線軸手動移動量を積算し直線軸手動積算量を得る直線軸手動積算手段と、補間周期毎に、前記直線軸手動積算量を前記工具先端点位置に加算し新たに前記工具先端点位置とする、または前記工具長補正ベクトルに加算し新たに前記工具長補正ベクトルとする直線軸手動積算量加算手段を有する、請求項1または請求項2の何れか1つに記載の数値制御装置である。
該請求項4に係る発明によって、自動運転での手動移動指令の重畳において、手動移動指令で直線軸を移動することにより、工具先端点位置または工具長補正ベクトルをシフトできる。
【0012】
請求項5に係る発明は、テーブルに取付けられたワーク(加工物)に対して少なくとも前記ワークに対する工具位置を制御する直線軸3軸と、工具からテーブルへの機械構成上の軸順における第1回転軸、第2回転軸および第3回転軸の回転軸3軸によって、前記ワークに対する工具の位置と方向を手動運転で制御して加工を行う多軸加工機を制御する数値制御装置において、補間周期毎に、工具長補正ベクトル、前記第1回転軸の第1回転軸位置、前記第2回転軸の第2回転軸位置、前記第3回転軸の第3回転軸位置、工具先端点位置、およびテーブル座標系原点によって前記工具の先端点位置が前記工具先端点位置となる制御点位置を得る手動運転制御点位置演算手段と、前記直線軸3軸を前記制御点位置へ駆動し、前記回転軸3軸を前記第1回転軸位置、前記第2回転軸位置および前記第3回転軸位置に駆動する手段を有する数値制御装置である。
請求項5に係る発明によって、手動運転において工具先端点位置が保持される。
【0013】
請求項6に係る発明は、前記手動運転制御点位置演算手段は、補間周期毎に、前記工具長補正ベクトルに対して前記第1回転軸位置による第1回転軸マトリックスの積算、前記第2回転軸位置による第2回転軸マトリックスの積算、および前記第3回転軸位置による第3回転軸マトリックスの積算を行い、前記工具先端点位置を加算し、テーブル機械座標系回転マトリックスを積算し、テーブル座標系原点を加算することによって制御点位置を得る手動運転制御点位置演算手段である請求項5に記載の数値制御装置である。
請求項6に係る発明によって、手動運転において工具先端点位置が保持される。
【0014】
請求項7に係る発明は、前記工具長補正ベクトルをセットする初期工具長補正ベクトル記憶手段と、前記回転軸3軸位置を初期第1回転軸位置、初期第2回転軸位置および初期第3回転軸位置として記憶し、補間周期毎に前記初期第1回転軸位置、前記初期第2回転軸位置および前記初期第3回転軸位置を前記第1回転軸位置、前記第2回転軸位置および前記第3回転軸位置としてセットする初期回転軸位置記憶手段と、制御点位置、テーブル座標系原点、前記初期工具長補正ベクトル、前記初期第1回転軸位置、前記初期第2回転軸位置および前記初期第3回転軸位置から初期工具先端点位置を求めて記憶し、補間周期毎に前記初期工具先端点位置を前記工具先端点位置としてセットする初期工具先端点位置記憶手段を有する請求項5または請求項6の何れか1つに記載の数値制御装置である。 請求項7に係る発明によって、手動運転において工具先端点位置が保持される。
【0015】
請求項8に係る発明は、前記初期工具先端点位置記憶手段は、制御点位置からテーブル座標系原点を減算し機械テーブル座標系回転マトリックスを積算するとともに、前記工具長補正ベクトルに対して前記初期第1回転軸位置による第1回転軸マトリックスの積算、前記初期第2回転軸位置による第2回転軸マトリックスの積算、および前記初期第3回転軸位置による第3回転軸マトリックスの積算を行って減算した位置を初期工具先端点位置として記憶し、補間周期毎に前記初期工具先端点位置を前記工具先端点位置としてセットする初期工具先端点位置記憶手段であることを特徴とする請求項7に記載の数値制御装置である。
請求項8に係る発明によって、手動運転において工具先端点位置が保持される。
【0016】
請求項9に係る発明は、前記回転軸3軸に対する手動による回転軸手動移動量を積算し第1回転軸手動積算量、第2回転軸手動積算量および第3回転軸手動積算量を得る回転軸手動積算手段と、補間周期毎に、前記第1回転軸手動積算量を前記第1回転軸位置に加算し新たに前記第1回転軸位置とするとともに新たな第1回転軸マトリックスを作成する、前記第2回転軸手動積算量を前記第2回転軸位置に加算し新たに前記第2回転軸位置とするとともに新たな第2回転軸マトリックスを作成する、または前記第3回転軸手動積算量を前記第3回転軸位置に加算し新たに前記第3回転軸位置とするとともに新たな第3回転軸マトリックスを作成する回転軸手動積算量加算手段を有する、請求項5〜8の何れか1つに記載の数値制御装置である。
請求項9に係る発明によって、手動運転において、手動移動指令で回転軸を移動しても工具先端点位置が保持される。
【0017】
請求項10に係る発明は、前記初期工具長補正ベクトル記憶手段は、初期工具長補正ベクトルを記憶し、補間周期毎に前記初期工具長補正ベクトルを前記工具長補正ベクトルとしてセットする初期工具長補正ベクトル記憶手段であり、前記直線軸3軸に対する手動による直線軸手動移動量を積算し直線軸手動積算量を得る直線軸手動積算手段と、補間周期毎に、前記直線軸手動積算量を前記工具先端点位置に加算し新たに前記工具先端点位置とする、または前記工具長補正ベクトルに加算し新たに前記工具長補正ベクトルとする直線軸手動積算量加算手段を有する、請求項5〜8の何れか1つに記載の数値制御装置である。
請求項10に係る発明によって、手動運転において、手動移動指令で直線軸を移動することにより、工具先端点位置または工具長補正ベクトルをシフトできる。
【発明の効果】
【0018】
本発明により、上記従来技術で述べた工具先端点制御または3次元手動送りを、少なくとも直線軸3軸と回転軸3軸とからなる多軸加工機において可能にする該多軸加工機を制御する数値制御装置を提供できる。
【図面の簡単な説明】
【0019】
【図1】図1に示される例は回転軸3軸で工具ヘッドを回転する工具ヘッド回転型の多軸加工機の例を説明する図である。
【図2】テーブル2軸混合型(回転軸2軸でテーブルを回転し、回転軸1軸で工具ヘッドを回転)の多軸加工機の例を説明する図である。
【図3】工具ヘッド2軸混合型(回転軸2軸で工具ヘッドを回転し、回転軸1軸でテーブルを回転)の多軸加工機の例を説明する図である。
【図4】回転軸3軸でテーブルを回転するテーブル回転型の多軸加工機の例を説明する図である。
【図5】指令プログラムを説明する図である。
【図6】工具ヘッドとテーブルに回転軸を持った多軸加工機を模した図である。
【図7】テーブル座標系上の工具先端点位置Tpが手動移動指令によって変化しないことを説明する図である。
【図8】テーブル座標系上で工具先端点位置をZ軸方向に手動で移動する状態を示す図である。
【図9】工具先端点位置を工具軸方向や工具軸直角方向に手動で移動する状態を示す図である。
【図10】自動運転、および自動運転における手動移動指令の重畳を行う数値制御装置を説明する機能ブロック図である。
【図11】手動運転を行う数値制御装置を説明する機能ブロック図である。
【図12】自動運転制御点演算手段を説明するフローチャートである。
【図13】初期工具先端点位置記憶手段を説明するフローチャートである。
【図14】本発明の一実施形態である工具先端点位置を制御する多軸加工機用数値制御装置のブロック図である。
【発明を実施するための形態】
【0020】
本発明は、テーブルに取り付けられたワーク(加工物)に対して、少なくとも直線軸3軸と回転軸3軸によって加工する多軸加工機を制御する数値制御装置において、自動運転において、実際の工具の先端点位置がプログラムで指令された工具先端点位置となるように直線軸3軸と回転軸3軸を制御する、また、手動移動指令による回転軸移動において工具先端点位置を保持する、手動移動指令による直線軸移動において工具先端点位置または工具長補正ベクトルをシフトすることを可能にするものである。
ここで、手動移動指令は、自動運転での手動移動指令の重畳および手動運転での手動移動指令における直線軸3軸と回転軸3軸の制御を含む。これら自動運転での制御(工具先端点制御)、自動運転での手動移動指令の重畳(3次元手動送りの1形態)、および手動運転での手動移動指令の制御(3次元手動送りの他の1形態)は、工具先端点位置を制御する点で基本部分が共通であり、一体不可分の技術である。
【0021】
以下、本発明の実施形態を図面と共に説明する。
1)機械構成と座標系
図1〜図4、および図6を参照しながら機械構成と座標系について説明する。
【0022】
テーブル上に固定されていてテーブル回転とともに回転するテーブル座標系上の工具先端点位置をベクトルTp((Xt,Yt,Zt)T)と表す。
回転軸3軸をA軸、B軸、C軸とし、工具からテーブルへの機械構成上の軸順における第1回転軸がA軸,第2回転軸がB軸,第3回転軸がC軸とする。A軸はX軸周りの回転軸、B軸はY軸周りの回転軸、C軸はZ軸周りの回転軸であり、工具ヘッド、テーブル、またはそれらの両方を回転する。テーブル回転軸が複数である場合それらは交叉する、工具ヘッド回転軸が複数ある場合もそれらは交叉するとともに工具中心軸とも交叉する。
【0023】
工具方向は回転軸位置A,B,Cで指令され、工具長補正番号はHで指令され工具長補正量はhとする。Vl((0,0,h)T)が工具長補正ベクトルである。A=B=C=0度の時、工具方向はZ軸方向とする。数値制御装置は機械の移動すべき位置として、機械座標系上の制御点位置(Pm(Xm,Ym,Zm)T)をX,Y,Z軸で、工具方向を工具ヘッドとテーブルの回転軸位置A,B,C軸で制御する。制御点位置(Pm)は工具ヘッドの特定の位置を示し、工具ヘッドが回転する場合は制御点位置(Pm)は工具ヘッドの回転中心にある。なお、ここでは、A=0,B=0,C=0度の位置を基準位置としたが、他の位置を基準位置とする場合は、上記「A=0,B=0,C=0度の位置」という条件を他の基準位置とすればよい。「T」は転置を表すが、以降自明の場合記載しない。
【0024】
テーブル回転軸が複数である場合テーブル回転軸交叉位置をテーブル座標系原点(P0(P0x,P0y,P0z))とし、テーブル回転軸が1軸である場合その回転中心の適当な位置をテーブル座標系原点(P0)とする。テーブル回転軸が存在しない場合(工具ヘッド回転型)は、機械座標系原点からP0離れた位置をテーブル座標系原点とする。
なお、このような機械構成や座標系は1つの例であり、本発明は他の機械構成や座標系にも適用可能である。
【0025】
2)数値制御装置での運転には、指令プログラムに従った運転を行う自動運転と手動による手動運転がある。まず、自動運転での演算を説明する。
<指令プログラム>
指令プログラムは図5のような指令である。G43.4は工具先端点制御モードを指令するGコードであり、G43.4ブロックのH_で工具長補正番号を指令しH_で指令される番号の工具長補正量が指令された工具長補正量(h)となる。X_Y_Z_で工具先端点位置Tp(Xt,Yt,Zt)を指令し、A_B_C_で回転軸位置を指令することによって工具方向を指令する。工具方向の指令方法には、A_B_C_の代わりにI_J_K_で工具方向を指令するなど他の方法もある。G49は工具先端点制御モードをキャンセルするGコードである。
【0026】
<制御点の演算方法>
制御点位置Pmは、Tp,Vl,P0,回転軸A,B,C軸の各位置A,B,C、および機械座標系からテーブル座標系への回転変換マトリックスRtによって、数1式の演算で求められる。つまり、工具長補正指令から作成される工具長補正ベクトルVlに対して、第1回転軸(A軸)位置Aによる第1回転軸マトリックスRaの積算、第2回転軸(B軸)位置Bによる第2回転軸マトリックスRbの積算、および第3回転軸(C軸)位置Cによる第3回転軸マトリックスRcの積算を行いテーブル座標系での工具長補正ベクトルを求め、それに工具先端点位置Tpを加算してテーブル座標系上での制御位置を求め、それにテーブル機械座標系回転マトリックスRt-1を積算しP0を加算することによって機械座標系上の制御点位置を得る(図6参照)。これが、自動運転制御点位置演算手段の1番目の1形態である。
【0027】
ここで、Rtは、Rc,Rb,Raのうちテーブル回転に関わる回転軸の位置A,B,Cによるマトリックスの積であり、機械座標系からテーブル座標系への回転変換を行う機械テーブル座標系回転マトリックスである。図1の例では、Rtは単位マトリックス、図2の例では、Rt=Rc*Rb、図3の例では、Rt=Rc、図4の例では、Rt=Rc*Rb*Raである。Rt-1はRtの逆マトリックスであり、テーブル座標系から機械座標系への回転変換を行うテーブル機械座標系回転マトリックスである。Tpは、上記指令プログラムにおいてX_Y_Z_で指令された工具先端点位置を補間した工具先端点位置である。
【0028】
これによって、実際の工具の先端点が、上記指令プログラムにおいてX_Y_Z_で指令された工具先端点位置を補間した工具先端点位置となるように制御点を求めることができる。その結果、テーブル座標系上において指令プログラムで指令された経路を工具先端点で加工することができる。
【0029】
【数1】

【0030】
なお、図6は工具ヘッドとテーブルに回転軸を持った多軸加工機を模した図である。工具ヘッドに回転軸1軸、テーブルに回転軸1軸を持ちそれらの回転軸中心は平行であるイメージの図としているが、図示の便宜上そのような構成にしているものである。つまり、図1〜図4のように、一般に工具ヘッドの回転軸中心とテーブルの回転軸中心は平行ではなく、かつそれぞれ0〜3軸の回転軸を持つが、図示の便宜上、回転軸中心が紙面に垂直な工具ヘッドの回転軸1軸、テーブルの回転軸1軸のイメージでそれらを統一的かつ概念的に表している。図6のTlは工具長補正ベクトルVlをA,B,C軸によって回転変換しテーブル座標系で表したベクトル(Tl=Rc*Rb*Ra*Vl)である。
【0031】
3)手動運転での運転方法
手動運転において、手動移動指令で回転軸位置を変更する場合や直線軸位置を変更する場合、工具先端点を移動させないで回転軸を移動したり工具軸方向に動作させたりすることが望ましい時がある。前述のように、5軸加工機において3次元手動送りと呼ばれている手動移動指令の方法である。
【0032】
また、前述の自動運転における回転軸位置、工具先端点位置または工具長補正ベクトルを、手動移動指令の重畳で変更する場合がある。回転軸位置を変更する場合、工具先端点位置は指令プログラム通りとして工具先端点制御モードの加工を継続することが望ましい。直線軸位置を変更する場合、変更された直線軸位置にもとづいて工具先端点位置をシフトする、または工具長補正ベクトルを変更して工具先端点制御モードの加工を継続することが望ましい。
【0033】
手動運転での3次元手動送り(手動移動指令)と、自動運転での手動移動指令の重畳において、手動移動指令で回転軸位置を変更する場合と直線軸位置を変更する場合について、少なくとも直線軸3軸と回転軸3軸を有する多軸加工機を制御する数値制御装置における制御点位置の演算方法を説明する。
【0034】
3−1)手動運転における3次元手動送り開始時の演算および補間周期毎のセット
<工具長補正ベクトル>
手動運転における3次元手動送りを開始する時に、工具長補正ベクトルについて、自動運転での工具長補正ベクトルVlが残っていればそれを使用する、あるいは工具長補正量番号を指定して工具長補正量(h)を指定し(0,0,h)のベクトルを作成して初期工具長補正ベクトルとして記憶する。
【0035】
補間周期毎に初期工具長補正ベクトルを工具長補正ベクトルVlとしてセットする。この処理は、後述の<工具長ベクトルへの加算>を行う場合に必要となる。したがって、<工具長補正ベクトルへの加算>を行わない場合は、補間周期毎に初期工具長補正ベクトルを工具長補正ベクトルVlとしてセットすることは不要である。これを行うのが初期工具長補正ベクトル記憶手段である。なお、手動運転中に3次元手動送りを開始するのは、信号や設定などによる。
【0036】
<回転軸位置>
手動運転における3次元手動送りを開始する時に、それぞれの回転軸3軸位置を初期第1回転軸位置、初期第2回転軸位置および初期第3回転軸位置として記憶する。補間周期毎に初期第1回転軸位置、初期第2回転軸位置および初期第3回転軸位置を第1回転軸位置、第2回転軸位置および第3回転軸位置としてセットする。これを行うのが初期回転軸位置記憶手段である。
【0037】
<工具先端点位置>
手動運転における3次元手動送りを開始する時に、テーブル座標系上の工具先端点位置Tpを、制御点位置Pm、P0、Vl,回転軸A,B,C軸の各位置A,B,CによるマトリックスRa,Rb,Rc、および回転マトリックスRtから、数2式の演算で求める。つまり、PmからP0を減算し機械テーブル座標系回転マトリックスRtを積算し、Vlに第1回転軸マトリックスRa、第2回転軸マトリックスRb、第3回転軸マトリックスRcを積算したベクトルを減算することによってテーブル座標系上の工具先端点位置Tpを得る。これを初期工具先端点位置として記憶する。この演算は初期工具先端点記憶手段の一部である。数2式は、Tpを求めるように数1式を変形した式である。(図としては、自動運転で使用した図6と同じであるので図6を参照。)
ここで、A,B,Cは前述の<回転軸位置>の項で説明した初期回転軸位置である。制御点位置Pmはその時のX,Y,Z軸機械座標値である。Ra、Rb,Rc、Rtは数1式での説明と同じである。Vlは前述の<工具長補正ベクトル>の項で説明した初期工具長補正ベクトルである。
【0038】
【数2】

【0039】
また、初期工具先端点位置記憶手段は、補間周期毎に初期工具先端点位置を工具先端点位置としてセットする。この処理は、後述の<工具先端点位置への加算>を行う場合に必要となる。したがって、<工具先端点位置への加算>を行わない場合は、補間周期毎に初期工具先端点位置を工具先端点位置としてセットすることは不要である。
【0040】
3−2)手動回転軸指令
回転軸(A軸,B軸,C軸)に対する手動(手動ハンドル送り、ジョグ送りなど)による移動量である回転軸手動移動量を積算し、回転軸手動積算量を得る。この手段が、回転軸手動積算手段である。A,B,C軸の回転軸手動積算量をそれぞれSA,SB,SCとする。数3式のように、SA,SB,SCを各回転軸位置A,B,Cに加算し、新たな各回転軸位置A,B,Cとする。この手段が回転軸手動積算量加算手段である。
【0041】
【数3】

【0042】
これら新たなA,B,Cによって数1式の演算を行いPmを得る。これが各回転軸位置A,B,Cに手動による移動量を加算して求める制御点位置Pmである。手動運転の場合、この手段が手動運転制御点位置演算手段の1番目の1形態である。自動運転の場合、この手段が自動運転制御点位置演算手段の2番目の1形態である。これにより、制御点位置と機械座標系での工具先端点位置の移動が行われるが、テーブル座標系上の工具先端点位置Tpが手動移動指令によって変化することはない(図7参照)。
【0043】
これによって、手動運転での3次元手動送りの場合、回転軸を手動で移動しても工具先端点は移動しないようにX,Y,Z軸も動作させることができる。自動運転における手動移動指令の重畳の場合、回転軸を手動で移動しても、テーブル座標系上の工具先端点位置Tpは指令プログラム通りであるので、元の指令プログラム通りの加工がおこなわれる。
【0044】
3−3)手動直線軸指令
直線軸(X軸,Y軸,Z軸)に対する手動(手動ハンドル送り、ジョグ送りなど)による移動量である直線軸手動移動量を積算し、直線軸手動積算量を得る。この手段が、直線軸手動積算手段である。X,Y,Z軸の直線軸手動積算量をそれぞれSX,SY,SZとする。
【0045】
<工具先端点位置への加算>
数4式のように、SX,SY,SZを工具先端点位置Tp(Xt,Yt,Zt)に加算し、新たな工具先端点位置Tp(Xt,Yt,Zt)とする。この手段が、直線軸手動積算量加算手段の1形態である。
【0046】
【数4】

【0047】
これら新たなTp(Xt,Yt,Zt)によって数1式の演算を行いPmを得る。これが、工具先端点位置に手動による移動量を加算して求める制御点位置Pmである。手動運転の場合、この手段が手動運転制御点位置演算手段の2番目の1形態である。自動運転の場合、この手段が自動運転制御点位置演算手段の3番目の1形態である(図8参照)。
【0048】
これによって、手動運転での3次元手動送りの場合、テーブル座標系上での加工点である工具先端点位置をシフトすることができる。自動運転における手動移動指令の重畳の場合、元のプログラム指令に対して手動による移動分シフトした工具先端点位置に対する加工が行われる。例えば、元のプログラム指令に対して一定のシフトを行って加工する場合、元のプログラム指令を変更することなく容易に手動による変更を行って加工を行うことができる。図8ではテーブル座標系上で工具先端点位置をZ軸方向に手動で移動する状態を示している。
【0049】
<工具長補正ベクトルへの加算>
数5式のように、SX,SY,SZを工具長補正ベクトルVl(0,0,h)に加算し、新たな工具長補正ベクトルVl(Vlx,Vly,Vlz)とする。
【0050】
【数5】

【0051】
これら新たなVl(Vlx,Vly,Vlz)によって数1式の演算を行いPmを得る。これが、工具長補正ベクトルに手動による移動量を加算して求める制御点位置Pmである。手動運転の場合、この手段が手動運転制御点位置演算手段の3番目の1形態である。自動運転の場合、この手段が自動運転制御点位置演算手段の4番目の1形態である(図9参照)。
【0052】
これによって、手動運転での3次元手動送りの場合、工具軸方向や工具軸直角方向に手動動作させることができる。自動運転における手動移動指令の重畳の場合、元のプログラム指令による工具長補正ベクトルに対して手動による移動分シフトした工具長補正ベクトルによる加工が行われる。例えば、工具が摩耗したり工具交換によって工具長が変更となった場合、容易に手動によって工具長を変更して加工を行うことができる。工具取り付け誤差なども容易に補正できる。図9では工具軸方向や工具軸直角方向に手動で移動する状態を示している。
【0053】
直線軸(X軸,Y軸,Z軸)に対する手動による移動を行う場合、上記の工具先端点位置への加算とするか工具補正ベクトルへの加算とするかは、指令、信号または設定値などの方法よって選択することができる。
【0054】
なお、ここで述べた方法は1つの実施例である。直線軸手動指令や回転軸手動指令を手動移動量として積算するのではなく、補間周期毎に各軸位置に加算する方法もある。また、初期工具長補正ベクトル、初期工具先端点位置、または初期回転軸位置を記憶することなく、補間周期毎にそれぞれ工具長補正ベクトル、工具先端点位置、または回転軸位置を更新して演算する方法もある。
【0055】
次に、本発明に係る少なくとも直線軸3軸と回転軸3軸とからなる多軸加工機を制御する数値制御装置の機能ブロック図を説明する。
<自動運転、および自動運転における手動移動指令の重畳の場合>
図10において、一般に数値制御装置は、自動運転の場合、指令プログラム10を解析手段11で解析し補間手段12で補間し各軸のサーボ30x,30y,30z,30A,30B,30Cを駆動する。この図では、X軸サーボ30x,Y軸サーボ30y,およびZ軸サーボ30zは、直線軸3軸を駆動するサーボであり、A軸サーボ30A,B軸サーボ30B,C軸サーボ30Cは、回転軸3軸を駆動するサーボである。
【0056】
自動運転における移動指令解析手段13は解析手段11に属する。直線軸補間手段14、回転軸補間手段15および自動運転制御点位置演算手段16は補間手段12に属する(図10参照)。
【0057】
また、自動運転における手動移動指令の重畳の場合、ハンドル送り28やジョグ送り29による手動移動指令が、直線軸手動積算手段24によって直線軸手動積算量25に積算され直線軸手動積算量加算手段22によって工具長補正ベクトル19または工具先端点位置20に加算される、あるいは回転軸手動積算手段26によって第1回転軸手動積算量,第2回転軸手動積算量,第3回転軸手動積算量27に積算され回転軸手動積算量加算手段23によって第1回転軸位置,第2回転軸位置,第3回転軸位置にそれぞれ加算される。
一点鎖線より上の部分が自動運転に対応し、一点鎖線より下の部分が自動運転における手動移動指令の重畳に対応する(図10参照)。
【0058】
<手動運転の場合>
図11において、一般に、手動運転の場合、手動運転補間手段40が補間周期毎にハンドル送り28やジョグ送り29などの手動移動指令を受付けて各軸のサーボ30x,30y,30z,30A,30B,30Cを駆動する。
初期工具長補正ベクトル記憶手段17、初期工具先端点位置記憶手段41、初期回転軸位置記憶手段42、および手動運転制御点位置演算手段43は手動運転補間手段40に属する。一点鎖線以下の部分は前述の自動運転における手動移動指令の重畳の場合と同等である(図11参照)。
【0059】
次に、図12を用いて自動運転制御点演算手段のフローチャートを説明する。
本文においては、自動運転制御点位置演算手段の1番目、2番目、3番目、4番目の1形態を示しているが、それらは、A,B,C,Tp,Vlの求め方が相違することによる形態の相違であり、フローチャートとしては同様である。
●[ステップSA10]Vl,Tp,P0を得る。
●[ステップSA11]A,B,C軸位置A,B,Cから、数1式によりRa,Rb,Rcを得る。
●[ステップSA12]Ra,Rb,Rcから機械構成によってRtおよびRt-1を得る。
●[ステップSA13]Vl,Ra,Rb,Rc,Tp,Rt-1,P0により、数1式を演算しPmを得る。
【0060】
手動運転制御点位置演算手段43のフローチャートも、この自動運転制御点位置演算手段16のフローチャートと同様である。本文においては、手動運転制御点位置演算手段43の1番目、2番目、3番目の1形態を示しているが、A,B,C,Tp,Vlの求め方が相違することによる形態の相違であり、フローチャートとしては同様である。
【0061】
図13は、初期工具先端点位置記憶手段41のフローチャートである。
●[ステップSB10]Pm,Vl,P0を得る。
●[ステップSB11]A,B,C軸位置A,B,Cから、数1式によりRa,Rb,Rcを得る。
●[ステップSB12]Ra,Rb,Rcから機械構成によってRtを得る。
●[ステップSB13]Pm,P0,Rt,Vl,Ra,Rb,Rcより数2式を演算しTpを得る。
【0062】
図14は、本発明に係る多軸加工機用数値制御装置のブロック図である。多軸加工機用数値制御装置100は、図14,図15に示されるフローチャートの処理を実行し、工具先端点制御または3次元手動送りを行う。CPU111は数値制御装置を全体的に制御するプロセッサである。CPU111は、ROM112に格納されたシステムプログラムをバス120を介して読み出し、該システムプログラムに従って数値制御装置100の全体を制御する。RAM113は一時的な計算データや表示データ及びLCD/MDIユニット170を介してオペレータが入力した各種データが格納される。
【0063】
SRAMメモリ114は図示しないバッテリでバックアップされ、数値制御装置100の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。SRAMメモリ114中には、インタフェース115を介して読み込まれた加工プログラムやLCD/MDIユニット170を介して入力された加工プログラム等が記憶される。本発明を実施する加工プログラム等の各種加工プログラムはインタフェース115やLCD/MDIユニット170を介して入力し、SRAMメモリ114に格納することができる。
【0064】
また、ROM112には、加工プログラムの作成及び編集のために必要とされる編集モードの処理や自動運転のための処理を実施するための各種システムプログラムが予め書き込まれている。工具先端点制御または3次元手動送りを行うための本発明に係るプログラムもROM112に格納されている。
【0065】
インタフェース115は、数値制御装置100とアダプタ等の外部機器172との接続を可能とするものである。外部機器172側からは加工プログラムや各種パラメータ等が読み込まれる。また、数値制御装置100内で編集した加工プログラムは、外部機器172を介して外部記憶手段に記憶させることができる。
【0066】
PMC(プログラマブル・マシン・コントローラ)116は、数値制御装置100に内蔵されたシーケンスプログラムを用いて工作機械の補助装置(例えば、工具交換装置)にI/Oユニット117を介して信号を出力し制御する。また、工作機械本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理を行った後、CPU111に渡す。
【0067】
LCD/MDIユニット170はディスプレイやキーボードを備えた手動データ入力装置であり、インタフェース118はLCD/MDIユニット170のキーボードからの指令、データを受けてCPU111に渡す。インタフェース119はハンドル送り28やジョグ送り29の手動パルス発生器を備えた操作盤171に接続されている。
【0068】
各軸のサーボ制御手段130〜135はCPU111からの各軸の移動指令を受けて、各軸の指令をサーボアンプ140〜145に出力する。サーボアンプ140〜145はこの指令を受けて、各軸のサーボモータ150〜155を駆動する。各軸のサーボモータ150〜155は位置検出装置(図示省略)を内蔵しており、この位置検出装置からのフィードバック信号をサーボ制御手段130〜135にフィードバックする。各軸のサーボ制御手段130〜135は、該フィードバック信号に基づいて位置と速度のフィードバック制御を行う。
【符号の説明】
【0069】
10 指令プログラム
11 解析手段
12 補間手段
13 移動指令解析手段
14 直線軸補間手段
15 回転軸補間手段
16 自動運転制御点位置演算手段
17 初期工具長補正ベクトル記憶手段
18 初期工具長補正ベクトル
19 工具長補正ベクトル
20 工具先端点位置
21 第1回転軸位置,第2回転軸位置,第3回転軸位置
22 直線軸手動積算量加算手段
23 回転軸手動積算量加算手段
24 直線軸手動積算手段
25 直線軸手動積算量
26 回転軸手動積算手段
27 第1回転軸手動積算量,第2回転軸手動積算量,第3回転軸手動積算量
28 ハンドル送り
29 ジョグ送り
30x X軸サーボ
30y Y軸サーボ
30z Z軸サーボ
30A A軸サーボ
30B B軸サーボ
30C C軸サーボ
40 手動運転補間手段
41 初期工具先端点位置記憶手段
42 初期回転軸位置記憶手段
43 手動運転制御点位置演算手段
44 初期工具先端点位置
45 初期回転軸位置

【特許請求の範囲】
【請求項1】
テーブルに取付けられたワーク(加工物)に対して少なくとも前記ワークに対する工具の位置を制御する直線軸3軸と、工具からテーブルへの機械構成上の軸順における第1回転軸、第2回転軸および第3回転軸の回転軸3軸によって、前記ワークに対する工具の位置と方向を自動運転で制御して加工を行う多軸加工機を制御する数値制御装置において、
前記直線軸3軸に属する直線軸の直線軸移動指令、前記回転軸3軸に属する回転軸の回転軸移動指令、および工具長補正指令を解析するとともに、前記工具長補正指令から工具長補正ベクトルを作成する移動指令解析手段と、
補間周期毎に、前記テーブル上に定義されるテーブル座標系において前記直線軸移動指令を補間し工具先端点位置を得る直線軸補間手段と、
補間周期毎に、前記回転軸移動指令を補間し前記第1回転軸の第1回転軸位置、前記第2回転軸の第2回転軸位置および前記第3回転軸位置の第3回転軸位置を得る回転軸補間手段と、
補間周期毎に、前記工具長補正ベクトル、前記第1回転軸位置、前記第2回転軸位置、前記第3回転軸位置、前記工具先端点位置、およびテーブル座標系原点によって前記工具の先端点位置が前記工具先端点位置となる制御点位置を得る自動運転制御点位置演算手段と、
前記直線軸3軸を前記制御点位置へ駆動し、前記回転軸3軸を前記第1回転軸位置、前記第2回転軸位置および前記第3回転軸位置に駆動する手段を有する数値制御装置。
【請求項2】
前記自動運転制御点位置演算手段は、補間周期毎に、前記工具長補正ベクトルに対して、前記第1回転軸位置による第1回転軸マトリックスの積算、前記第2回転軸位置による第2回転軸マトリックスの積算、および前記第3回転軸位置による第3回転軸マトリックスの積算を行い、前記工具先端点位置を加算し、テーブル機械座標系回転マトリックスを積算し、テーブル座標系原点を加算することによって制御点位置を得る自動運転制御点位置演算手段であることを特徴とする請求項1に記載の数値制御装置。
【請求項3】
前記回転軸3軸に対する手動による回転軸手動移動量を積算し第1回転軸手動積算量、第2回転軸手動積算量および第3回転軸手動積算量を得る回転軸手動積算手段と、
補間周期毎に、前記第1回転軸手動積算量を前記第1回転軸位置に加算し新たに前記第1回転軸位置とするとともに新たな第1回転軸マトリックスを作成する、前記第2回転軸手動積算量を前記第2回転軸位置に加算し新たに前記第2回転軸位置とするとともに新たな第2回転軸マトリックスを作成する、または前記第3回転軸手動積算量を前記第3回転軸位置に加算し新たに前記第3回転軸位置とするとともに新たな第3回転軸マトリックスを作成する回転軸手動積算量加算手段を有する、請求項1または請求項2の何れか1つに記載の数値制御装置。
【請求項4】
前記直線軸3軸に対する手動による直線軸手動移動量を積算し直線軸手動積算量を得る直線軸手動積算手段と、
補間周期毎に、前記直線軸手動積算量を前記工具先端点位置に加算し新たに前記工具先端点位置とする、または前記工具長補正ベクトルに加算し新たに前記工具長補正ベクトルとする直線軸手動積算量加算手段を有する、請求項1または請求項2の何れか1つに記載の数値制御装置。
【請求項5】
テーブルに取付けられたワーク(加工物)に対して少なくとも前記ワークに対する工具位置を制御する直線軸3軸と、工具からテーブルへの機械構成上の軸順における第1回転軸、第2回転軸および第3回転軸の回転軸3軸によって、前記ワークに対する工具の位置と方向を手動運転で制御して加工を行う多軸加工機を制御する数値制御装置において、
補間周期毎に、工具長補正ベクトル、前記第1回転軸の第1回転軸位置、前記第2回転軸の第2回転軸位置、前記第3回転軸の第3回転軸位置、工具先端点位置、およびテーブル座標系原点によって前記工具の先端点位置が前記工具先端点位置となる制御点位置を得る手動運転制御点位置演算手段と、
前記直線軸3軸を前記制御点位置へ駆動し、前記回転軸3軸を前記第1回転軸位置、前記第2回転軸位置および前記第3回転軸位置に駆動する手段を有する数値制御装置。
【請求項6】
前記手動運転制御点位置演算手段は、補間周期毎に、前記工具長補正ベクトルに対して前記第1回転軸位置による第1回転軸マトリックスの積算、前記第2回転軸位置による第2回転軸マトリックスの積算、および前記第3回転軸位置による第3回転軸マトリックスの積算を行い、前記工具先端点位置を加算し、テーブル機械座標系回転マトリックスを積算し、テーブル座標系原点を加算することによって制御点位置を得る手動運転制御点位置演算手段である請求項5に記載の数値制御装置。
【請求項7】
前記工具長補正ベクトルをセットする初期工具長補正ベクトル記憶手段と、
前記回転軸3軸位置を初期第1回転軸位置、初期第2回転軸位置および初期第3回転軸位置として記憶し、補間周期毎に前記初期第1回転軸位置、前記初期第2回転軸位置および前記初期第3回転軸位置を前記第1回転軸位置、前記第2回転軸位置および前記第3回転軸位置としてセットする初期回転軸位置記憶手段と、
制御点位置、テーブル座標系原点、前記初期工具長補正ベクトル、前記初期第1回転軸位置、前記初期第2回転軸位置および前記初期第3回転軸位置から初期工具先端点位置を求めて記憶し、補間周期毎に前記初期工具先端点位置を前記工具先端点位置としてセットする初期工具先端点位置記憶手段を有する請求項5または請求項6の何れか1つに記載の数値制御装置。
【請求項8】
前記初期工具先端点位置記憶手段は、制御点位置からテーブル座標系原点を減算し機械テーブル座標系回転マトリックスを積算するとともに、前記工具長補正ベクトルに対して前記初期第1回転軸位置による第1回転軸マトリックスの積算、前記初期第2回転軸位置による第2回転軸マトリックスの積算、および前記初期第3回転軸位置による第3回転軸マトリックスの積算を行って減算した位置を初期工具先端点位置として記憶し、補間周期毎に前記初期工具先端点位置を前記工具先端点位置としてセットする初期工具先端点位置記憶手段であることを特徴とする請求項7に記載の数値制御装置。
【請求項9】
前記回転軸3軸に対する手動による回転軸手動移動量を積算し第1回転軸手動積算量、第2回転軸手動積算量および第3回転軸手動積算量を得る回転軸手動積算手段と、
補間周期毎に、前記第1回転軸手動積算量を前記第1回転軸位置に加算し新たに前記第1回転軸位置とするとともに新たな第1回転軸マトリックスを作成する、前記第2回転軸手動積算量を前記第2回転軸位置に加算し新たに前記第2回転軸位置とするとともに新たな第2回転軸マトリックスを作成する、または前記第3回転軸手動積算量を前記第3回転軸位置に加算し新たに前記第3回転軸位置とするとともに新たな第3回転軸マトリックスを作成する回転軸手動積算量加算手段を有する、請求項5〜8の何れか1つに記載の数値制御装置。
【請求項10】
前記初期工具長補正ベクトル記憶手段は、初期工具長補正ベクトルを記憶し、補間周期毎に前記初期工具長補正ベクトルを前記工具長補正ベクトルとしてセットする初期工具長補正ベクトル記憶手段であり、
前記直線軸3軸に対する手動による直線軸手動移動量を積算し直線軸手動積算量を得る直線軸手動積算手段と、
補間周期毎に、前記直線軸手動積算量を前記工具先端点位置に加算し新たに前記工具先端点位置とする、または前記工具長補正ベクトルに加算し新たに前記工具長補正ベクトルとする直線軸手動積算量加算手段を有する、請求項5〜8の何れか1つに記載の数値制御装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図7】
image rotate


【公開番号】特開2012−43243(P2012−43243A)
【公開日】平成24年3月1日(2012.3.1)
【国際特許分類】
【出願番号】特願2010−184678(P2010−184678)
【出願日】平成22年8月20日(2010.8.20)
【出願人】(390008235)ファナック株式会社 (1,110)
【Fターム(参考)】