| 発明の名称 |
数値制御工作機械の主軸法線方向制御方法 |
|
| 発行国 |
日本国特許庁(JP) |
| 公報種別 |
公開特許公報(A) |
| 公開番号 |
特開平8−118205 |
| 公開日 |
平成8年(1996)5月14日 |
| 出願番号 |
特願平6−258487 |
| 出願日 |
平成6年(1994)10月24日 |
| 代理人 |
【弁理士】 【氏名又は名称】三好 秀和 (外3名)
|
| 発明者 |
尾崎 安男 / 林 智夫 / 船木 崇宏 |
| 要約 |
目的 工具の刃先が主軸回転中心に対してオフセットしていても、オペレータはそれを意識することなく、工具の刃先で被加工物を加工する際に、加工プログラムの軌跡の進行方向に対して工具の刃先を直角に保つように制御して、容易に加工できるようにすると共に、一定の面粗度を得るようにした数値制御工作機械の主軸法線方向制御方法を提供することにある。
構成 回転可能な主軸Sの先端に工具Tを装着し、工具Tの刃先TA が前記主軸Sの回転中心S0 からオフセットされた状態で、工具Tの刃先TA で被加工物Wを加工する際、加工プログラム軌跡の加工進行に対して前記工具Tの刃先を常に直角に保つよう少なくとも前記主軸Sの回転角度を制御することを特徴とする。 |
特許請求の範囲
【請求項1】 回転可能な主軸の先端に工具を装着し、工具の刃先が前記主軸の回転中心からオフセットされた状態で、工具の刃先で被加工物を加工する際、加工プログラム軌跡の加工進行に対して前記工具の刃先を常に直角に保つよう少なくとも前記主軸の回転角度を制御することを特徴とする数値制御工作機械の主軸法線方向制御方法。
|
発明の詳細な説明
【0001】 【産業上の利用分野】この発明は、数値制御工作機械において、主軸の先端に装着された工具で被加工物を加工する際に、工具の刃先を加工プログラム軌跡の加工進行に対して常に直角方向に保つように制御する数値制御工作機械の主軸法線方向制御方法に関する。 【0002】 【従来の技術】従来、数値制御工作機械において、主軸の先端に装着された工具で被加工物を加工する際に、工具の刃先を加工プログラムの軌跡の加工進行方向に対して常に直角方向に保つように制御する主軸法線方向制御方法は一般に知られている。 【0003】この場合における主軸法線方向制御方法においては、主軸の中心と工具刃先の中心とが一致しており、直線補間、円弧補間に対してのみ、工具の刃先を加工プログラムの軌跡の加工進行方向に対して常に直角となるように制御しているものである。 【0004】 【発明が解決しようとする課題】ところで、上述した従来の主軸法線方向制御方法においては、主軸の中心と工具の中心とが一致した状態の制御機能しか備えていないため、直線補間、円弧補間に対してしか主軸法線方向制御が出来ず、主軸中心と工具刃先とがオフセットしている場合には、正しく主軸法線方向制御ができないという問題があった。 【0005】また、加工プログラムの軌跡におけるコーナー内側での主軸法線制御が正しく行うことができないという問題もあった。 【0006】そのため、工具の刃先が主軸中心に対してオフセットしているような場合には、オペレータがいちいち種々の補正計算を行って主軸法線方向制御するようにしなければならず、非常に手間がかかると共に大変面倒であった。 【0007】この発明の目的は、工具の刃先が主軸回転中心に対してオフセットしていても、オペレータはそれを意識することなく、工具の刃先で被加工物を加工する際に、加工プログラムの軌跡の進行方向に対して工具の刃先を直角に保つように制御して、容易に加工できるようにすると共に、一定の面粗度を得るようにした数値制御工作機械の主軸法線方向制御方法を提供することにある。 【0008】 【課題を解決するための手段】上記目的を達成するために請求項1によるこの発明の数値制御工作機械の主軸法線方向制御方法は、回転可能な主軸の先端に工具を装着し、工具の刃先が前記主軸の回転中心からオフセットされた状態で、工具の刃先で被加工物を加工する際、加工プログラム軌跡の加工進行に対して前記工具の刃先を常に直角に保つよう少なくとも前記主軸の回転角度を制御することを特徴とするものである。 【0009】 【作用】以上のような請求項1による発明の数値制御工作機械の主軸法線方向制御方法とすることにより、工具の刃先で被加工物を加工する際に、工具の刃先が主軸の回転中心からオフセットされた状態で工具が主軸に装着されていても、加工プログラム軌跡の加工進行に対して工具の刃先が直角に保つように少なくとも主軸の回転角度を制御する制御機能を備えているから、工具の刃先が加工プログラム軌跡の加工進行に対して常に直角に保たれて加工されるので、容易に加工ができると共に一定の面粗度が得られる。しかもオペレータは工具の刃先が主軸回転中心に対してオフセットされていることを意識することなく加工される。 【0010】 【実施例】以下、この発明の実施例を図面に基いて詳細に説明する。 【0011】この発明の具体的な実施例の説明を行う前に、まず、主軸法線方向を使用した加工形態の一例としてヘール(溝)加工を例にとって説明する。 【0012】図4(A),(B)に示されているように、主軸Sの先端には工具としてのヘールバイトTが主軸Sの回転中心線SC に対してオフセットされている。すなわち、図4(A),(B)において、I,J,Kは主軸Sの回転中心線SC からヘールバイトTの刃先TA までのオフセット量を示している。なお、便宜的に主軸Sの回転中心線SC に対してプログラム軌跡に沿う側へのオフセット量をI,反対側へのオフセット量をJとする。 【0013】次に、図4(A),(B)で説明したように、主軸Sの回転中心線に対してI,J,KだけオフセットしているヘールバイトTを使ってプログラム軌跡から主軸Sの中心点S0 (軸制御対象点)へのオフセットベクトルは、図5に示されているように定義する。図5において、ベクトルI,J,kをオフセットベクトルと呼ぶと、ベクトルの大きさは、|ベクトルI|=I,|ベクトルJ|=J,|ベクトルK|=Kとなる。 【0014】そして、直線補間、円弧補間におけるブロック始点、終点でのオフセットベクトルの求め方は、丁度工具径補正での補正ベクトルの計算方法と同じであるので、詳細な説明を省略するが、図5においての|I+J|に相当するのが工具径補正の工具半径である。 【0015】図6に示されているようなヘールバイトTでは刃先TA と主軸中心S0 との加工方向でのオフセット量Kがゼロ(K=0)の場合には、図7に示されているように、被加工物Wにおけるプログラム軌跡に沿ってヘールバイトTが加工方向へ移動して被加工物Wにヘール加工が施されることになる。 【0016】このように図7に示したように被加工物Wにヘール加工を行うには、プログラム軌跡に対して主軸中心S0 をIだけ左側へオフセットする必要がある。そうなるように主軸S0 を制御するのは、既存技術の工具径補正のアルゴリズムを利用して行えばよい。 【0017】図7に示したような直線を加工するときには、主軸Sの刃先角度を変える必要はないが、例えば直線ブロックでもブロック継ぎ目において進行方向の角度が変わる場合には、主軸Sの刃先角を変える必要がある。 【0018】ブロック継ぎ目の外側をヘールバイトTの刃先TA が通る場合には、継ぎ目の前後のブロックが直線、円弧、その他の補間によらず、次のアルゴリズムで計算できる。一例として、直線ブロックから直線ブロックへ継ぐ場合について説明する。 【0019】すなわち、図8に示されているように、点0はブロックAの指令終了点のプログラム座標原点からのベクトル,I1 ,J1 はブロックAでのオフセットベクトル、I2 ,J2 はブロックBでのオフセットベクトルとする。 【0020】OP1 はブロックAの終点におけるオフセットベクトル、OP2 はブロックBの始点におけるオフセットベクトルであり、直線補間であるからそれぞれI1 +J1 とI2 +J2 とは等しい。点S1 ,点S2 は次式により求められる。 OS1 =O+OP1 −J1OS2 =O+OP2 −J2 ……式1【0021】主軸中心S0 は点S1 へ直線補間で移動した後、点S1 から点S2 まで点Oを中心とした半径Iの円弧補間で移動する。そのときOP1 とOP2 の間の角度をθとすると、円弧補間に同期して主軸Sもθだけ回転する。また、そのときの主軸中心S0 の速度は、プログラム指令速度Fでなく、プログラム経路と反対側の工具刃先がプログラム指令速度Fになるように次式により求められる。 主軸中心速度=I×F/(I+J) ……式2【0022】ここでは直線補間の場合について説明したが、円弧補間など他の補間でもブロック始点、終点におけるオフセットベクトルが算出できれば、点S1 ,点S2 を求める事が可能であり、したがって、ブロック継ぎ目での法線方向制御を行うことができる。 【0023】ブロック継ぎ目の内側をヘールバイトTの刃先TA が通る場合には、継ぎ目の前後のブロックが直線、円弧、その他の補間によらず、次のアルゴリズムで計算できる。一例として、直線ブロックから直線ブロックへ継ぐ場合について説明する。 【0024】すなわち、図9に示されているように、点OはブロックAの指令終点のプログラム座標原点からのベクトル,I1 ,J1 はブロックAでのオフセットベクトル、I2 ,J2 はブロックBでのオフセットベクトルとする。 【0025】OPを半径(I+J)のヘールバイトTでの工具径補正におけるブロック継ぎ目での工具径補正用交点ベクトルとすると、点S1 ,点S2 は次式により求められる。 OS1 =O+OP−J1OS2 =O+OP−J2 ……式3【0026】主軸中心S0 は点S1 まで達したら、そこから点S2 まで点Pを中心とする半径Jの円弧補間を行い、同時に主軸Sが同期してθだけ回転する。また、主軸中心S0 の速度は、プログラム指令速度Fでなく、次式により求められる。 主軸中心速度=J×F/(I+J) ……式4また、J=0の場合には主軸Sだけθ回転する。 【0027】ここでは直線補間の場合について説明したが、円弧補間など他の補間でもブロック始点、終点におけるオフセットベクトルが算出できれば、点S1 ,点S2 を求めることが可能であり、したがって、ブロック継ぎ目での法線方向制御を行うことができる。 【0028】次に、直線ブロックから円弧ブロック、円弧ブロックから直線ブロックあるいは円弧ブロックから円弧ブロックへ継いでヘールバイトTが通る場合があるが、一例として円弧ブロックから円弧ブロックへ継ぐ場合について説明する。 【0029】図10に示されているように、点OはブロックAの指令終点のプログラム座標原点からのベクトル,I1 ,J1 はブロックAでのP点でのオフセットベクトル、I2 ,J2 はブロックBでのP点でのオフセットベクトルとし、OPを半径(I+J)の工具径補正におけるブロック継ぎ目での工具径補正用交点ベクトルとすると、点S1 でのオフセットベクトルI1 ,J1 は、I1 =OA P×I/|OA P|J1 =OA P×J/|OA P| ……式5点S2 でのオフセットベクトルI2 ,J2 は、I2 =POB ×I/|OB P|J2 =POB ×J/|OB P| ……式6よって、点S1 ,点S2 は次式に求められる。 OS1 =O+OP−J1OS2 =O+OP−J2 ……式7【0030】主軸中心S0 は点S1 まで達したら、そこから点S2 まで点Pを中心とする半径Jの円弧補間を行い、同時に主軸Sが同期してθだけ回転する。また、主軸Sの中心速度は、次式により求められる。 主軸中心速度=J×F/(I+J) ……式8また、J=0の場合には主軸Sだけθ回転する。 【0031】ここでは、例として円弧ブロックから円弧ブロックへ継ぐ例をとり上げたが、他の場合でも同様に点S1 ,点S2 を求めることができれば、ブロック継ぎ目での法線方向制御を行うことができる。 【0032】図11に示されているようなヘールバイトTでは刃先TA と主軸中心S0 とのオフセットをKとしたような場合には、図12に示されているように、被加工物Wにおけるプログラム軌跡に対して主軸中心S0 をIだけオフセットするのは、すでに図7で説明したとおり、既存技術である工具径補正のアルゴリズムを利用すれば可能であるが、かつKだけ進行方向へオフセットするには別の考え方をプラスする必要がある。この場合には主軸中心S0 における位置と主軸刃先角度θの制御を行う必要があり、その求め方を、次のごとく説明する。 【0033】ブロック継ぎ目の外側をヘールバイトTの刃先が通る場合には、継ぎ目の前後のブロックが直線、円弧、その他の補間によらず、次のアルゴリズムで計算できる。一例として、直線ブロックから直線ブロックへ継ぐ場合について説明する。 【0034】すなわち、図13に示されているように、点OはブロックAの指令終点のプログラム座標原点からのベクトル,I1 ,J1 ,K1 はブロックAでのオフセットベクトル、I2 ,J2 ,K2 はブロックBでのオフセットベクトルとする。 OS1 =O+I1 +K1OS2 =O+I2 +K2 ……式9OS1 ,OS2 によって求められた点S1 から点S2 まで主軸中心S0 が点0を中心とした半径|OS1 |の円弧補間で移動し、同時に主軸Sが同期して角度θ回転すれば、ヘールバイトTの工具刃先TA は点Oを中心にコーナーを回ることになる。 【0035】また、そのときの主軸中心S0 の速度はプログラム指令速度Fでなく、プログラム経路と反対側の工具刃先がプログラム指令速度Fとなるように次式により求められる。 【数1】
ここでは直線補間の場合について説明したが、円弧補間など他の補間でもブロック始点、終点におけるオフセットベクトルが算出できれば、点S1 ,点S2 を求めることが可能であり、したがって、ブロック継ぎ目での法線方向制御を行うことができる。 【0036】ブロック継ぎ目の内側をヘールバイトTの刃先が通る場合には、継ぎ目の前後のブロックが直線、円弧、その他の補間によらず、次のアルゴリズムで計算できる。一例として、直線ブロックから直線ブロックへ継ぐ場合について説明する。 【0037】すなわち、図14に示されているように、点OはブロックAの指令終点のプログラム座標原点からのベクトル,I1 ,J1 ,K1 はブロックAでのオフセットベクトル、I2 ,J2 ,K2 はブロックBでのオフセットベクトルとする。 【0038】OPを半径(I+J)のヘールバイトTでの工具径補正におけるブロック継ぎ目での工具径補正用交点ベクトルとすると、点S1 ,点S2 は次式により求められる。 OS1 =O+OP−J1 +K1OS2 =O+OP−J2 +K2 ……式11主軸中心S0 は点S1 まで達したら、そこから点S2 まで点Pを中心とする半径√(J2 +K2 )の円弧補間を行い、同時に主軸Sが同期してθだけ回転する。また、主軸中心S0 の速度は、プログラム指令速度Fでなく、次式により求められる。 【数2】
また、J=0の場合には主軸Sだけθ回転する。 【0039】ここでは直線補間の場合について説明したが、円弧補間など他の補間でもブロック始点、終点におけるオフセットベクトルが算出できれば、点S1 ,点S2 を求めることが可能であり、したがって、ブロック継ぎ目での法線方向制御を行うことができる。 【0040】次に、直線ブロックから円弧ブロック、円弧ブロックから直線ブロックあるいは円弧ブロックから円弧ブロックへ継いでヘールバイトTが通る場合があるが、一例として円弧ブロックから円弧ブロックへ継ぐ場合について説明する。 【0041】図15に示されているように、点OはブロックAの指令終点のプログラム座標原点からのベクトル,I1 ,J1 ,K1 はブロックAでのP点でのオフセットベクトル、I2 ,J2 ,K2 はブロックBでのP点でのオフセットベクトルとし、OPを半径(I+J)の工具径補正におけるブロック継ぎ目での工具径補正用交点ベクトルとすると、点S1 でのオフセットベクトルI1 ,J1 ,K1 は、I1 =OA P×I/|OA P|J1 =OA P×J/|OA P| ……式13K1 ’=OA P×K/|OA P|但し、K1 はK1 ’を90度回転したもの点S2 でのオフセットベクトルI2 ,J2 ,K2 は、I2 =POB ×I/|OB P|J2 =POB ×J/|OB P| ……式14K2 ’=POB ×K/|OB P|但し、K2 はK2 ’を90度回転したものよって、点S1 ,点S2 は次式で求められる。 OS1 =O+OP−J1 +K1OS2 =O+OP−J2 +K2 ……式15【0042】主軸中心S0 は点S1 まで達したら、そこから点S2 まで点Pを中心とする半径√(J2 +K2 )の円弧補間を行い、同時に主軸Sが同期してθだけ回転する。また、主軸Sの中心速度は、次式により求められる。 【数3】
また、J=0の場合には主軸Sだけ回転する。 【0043】ここでは、例として円弧ブロックから円弧ブロックへ継げる例を取り上げたが、他の場合でも同様に点S1 ,点S2 を求めることができれば、ブロック継ぎ目での法線方向制御を行うことができる。 【0044】次に、この発明の主軸法線方向制御方法を実施する数値制御工作機械の一例が図2に示されている。すなわち、図2において、数値制御工作機械は、ベッド1と、ベッド1上にY軸方向に移動可能に設けられてY軸テーブル3と、Y軸テーブル3上にX軸方向に移動可能に設けられてX軸テーブル5とを有し、X軸テーブル5上に被加工物Wを固定載置される。Y軸テーブル3はY軸サーボモータ7によってY軸方向に駆動され、X軸テーブル5はX軸サーボモータ9によってX軸方向に駆動され、X軸テーブル5上の被加工物Wは、Y軸サーボモータ7によるY軸テーブル3のY軸方向の移動とX軸サーボモータ9によるX軸テーブル5のX軸方向の移動により、X軸とY軸による水平面に沿ってX座標とY座標による任意に座標位置に軸制御される。 【0045】数値制御工作機械のコラム11にはZ軸スライダ13が上下方向、即ちZ軸方向に移動可能に装着されており、Z軸スライダ13はZ軸サーボモータ15によってZ軸方向に駆動される。 【0046】Z軸スライダ13には主軸頭17が取り付けられており、主軸頭17には主軸SがZ軸と同一方向の軸線周り、即ちC軸周りの回転可能に装着されている。 【0047】主軸Sは主軸モータであるC軸サーボモータ19により回転駆動されると共にC軸回転角を定量的に制御され、主軸Sには工具としての例えばヘールバイトTが装着される。 【0048】ここで、X軸とY軸による被加工物Wの移動平面は主軸Sの回転軸線、即ちC軸(Z軸)に直交する平面である。 【0049】X軸サーボモータ9、Y軸サーボモータ7、Z軸サーボモータ15、C軸サーボモータ19の各々にはロータリエンコーダ21,23,25,27が装着されており、このロータリエンコーダ21,23,25,27は各軸のサーボモータ9,7,15,19の回転角を検出し、回転角情報をNC装置29へ出力する。 【0050】前記NC装置29は、図3に示されているように、バス31により相互に接続されたメインプロセッサ(CPU1)33とROM35とRAM37,39と加工プログラム入力部41と表示器43とサーボコントローラ45とを有している。また高速処理化のためにメインプロセッサ33にはコプロセッサ(CPU2)47が直接接続されている。ROM35はシステムプログラムを格納し、RAM37は一時的なデータ格納メモリとして作用し、RAM39は加工プログラム入力部41より入力した加工プログラムや工具データなどを格納する。サーボコントローラ45には各軸のサーボアンプ49が接続され、サーボアンプ49には各軸サーボモータ7,9,15が接続されている。さらに、前記バス31にはC軸サーボモータ19を制御するための主軸コントローラ51が接続されている。 【0051】前記表示器43は実行中の加工プログラムや機械位置座標など加工に必要なデータを表示するものである。また、主軸コントローラ51は主軸Sにおける法線方向制御で主軸Sの角度(θ)を加工プログラム進行方向と常に一定に保つように制御すべくメインプロセッサ33より速度出力を行い、主軸位置フィードバックを読取るものである。 【0052】上記構成により、主軸法線方向制御モード中のブロック継ぎ目での解析動作を、図1に示されているフローチャートを基にして説明すると、まず加工プログラムを1ブロックずつRAM39から読み出し解析していくが、主軸Sの法線方向制御中は前後2ブロックからその継ぎ目での様子によって、主軸中心S0 が内側を通る場合と外側を通る場合とでオフセットベクトルの計算の仕方が異なるから、ステップS1で主軸中心S0 が内側を通るかどうかの判断が行われる。 【0053】主軸中心S0 が内側を通ると判断された場合には、ステップS2に進み、工具径補正での補正用交点ベクトルOPを計算する。次にステップS3で継ぎ目での前後ブロックのオフセットベクトルI1 ,J1 ,K1 ;I2 ,J2 ,K2 を計算する。ステップS4で前ブロック補正軌跡終点の座標を、例えば式11のOS1=O+OP−J1 +K1 で計算する。ここで得られた座標が前ブロックAの補正した結果の主軸中心S0 の終点となる。 【0054】ステップS5で次ブロック補正軌跡終点の座標を、例えば式11のOS2 =O+OP−J2 +K2 で計算する。ここで得られた座標が次ブロックBの補正した結果の主軸中心S0 の終点となる。ステップS6で前ブロック補正軌跡終点から次ブロック補正軌跡終点まで円弧補間させ、それに同期して主軸Sをθだけ回転させるための計算が行われる。 【0055】前記ステップS1で主軸中心S0 が内側を通らずに外側を通ると判断された場合には、ステップS7に進み、継ぎ目での前後ブロックのオフセットベクトルI1 ,J1 ,K1 ;I2 ,J2 ,K2 を計算する。ステップS8で前ブロック補正軌跡終点の座標を、例えば式9のOS1 =O+I1 +K1 で計算する。 【0056】ステップS9で次ブロック始点の補正軌跡座標を、式9のOS2 =O+I2 +K2 で計算する。ここで得られた座標が次ブロックBの補正した結果の主軸中心S0 の終点となる。ステップS10で前ブロック補正軌跡終点から次ブロック補正軌跡始点まで円弧補間させ、それに同期して主軸Sを回転させるための計算が行われる。 【0057】このようにして得られた工具中心の軌跡を工具中心が移動し、同時に主軸Sを同期させることによって、工具刃先TA が主軸中心S0 に対してオフセットしていても、オペレータはそれを意識せずに容易にヘール加工を行うことができる。また、ブロック継ぎで主軸Sだけが回転する場合なども、工具刃先の片方が進行方向と逆方向へ動くことがなく、工具刃先の先端速度がプログラム指令された速度になるので、一定の面精度を得ることができる。 【0058】なお、この発明は、前述した実施例に限定されることなく、適宜な変更を行うことによって、その他の態様で実施し得るものである。本実施例では工具としてヘールバイトを用いた例で説明したが、通常のバイトで主軸中心S0 とオフセットされたものでも適用できるものである。また、実施例の説明では、直線補間、円弧補間しか取り上げなかったが、各ブロック間のオフセットベクトルを求めることができれば、主軸法線方向制御を正しく行うことが可能である。 【0059】 【発明の効果】以上のごとき実施例の説明より理解されるように、請求項1による発明によれば、工具の刃先で被加工物を加工する際に、工具の刃先が主軸の回転中心からオフセットされた状態で工具が主軸に装着されていても、加工プログラム軌跡の加工進行方向に対して工具の刃先が直角に保つよう少なくとも主軸の回転角度を制御する制御機能を備えているから、工具の刃先が加工プログラム軌跡の加工進行方向に対して常に直角に保たれて加工されるので、容易に加工ができると共にオペレータは工具の刃先が主軸回転中心に対してオフセットされていることを意識することなく加工を行うことができる。 【0060】また、ブロック継ぎ目で主軸だけが回転する場合なども工具刃先の進行方向と逆方向へ動くことがなく、工具の刃先の先端速度がプログラム指令された速度になるので一定の面精度を得ることができる。
|
|