(57)【特許請求の範囲】
【請求項１】
ワークを加工する工具を保持して前記ワークと相対移動する工具保持部と、
前記工具保持部を用いる工程を定めた数値制御プログラムに基づいて前記工具保持部の位置を指令する制御部と、
前記工具保持部の位置の補正量を算出する算出部と、
前記算出部が算出した補正量を用いて前記工具保持部を駆動する駆動部と、を備え、
前記算出部は、前記工具保持部の位置と関係付けられた変数と、前記駆動部の稼働時間、環境温度、前記駆動部の部品の使用時間、前記駆動部の部品の温度情報、及び加工情報の少なくとも１つに関連付けられた他の変数とを含む数式で、前記工具保持部の位置の補正量を算出する、工作機械。
【請求項２】
前記制御部は、前記数値制御プログラムに基づいて、前記工具保持部の移動の開始位置と終了位置とを指令し、
前記算出部は、前記工具保持部が前記開始位置から前記終了位置まで移動する間に、所定の周期で前記数式で補正量を算出する、請求項１に記載の工作機械。
【請求項３】
前記制御部は、前記数値制御プログラムに指定された前記工具に関連付けられた前記工具保持部の位置の補正量を用いて、前記開始位置および前記終了位置を算出する、請求項２に記載の工作機械。
【請求項４】
前記算出部は、前記数式で算出した補正量を前記駆動部に供給し、
前記駆動部は、前記工具保持部の位置に関する情報を検出するセンサの検出結果、及び前記算出部から供給された前記補正量に基づいて、前記工具保持部を移動させる駆動力を決定する、請求項１から請求項３のいずれか一項に記載の工作機械。
【請求項５】
前記算出部は、前記工具保持部の位置に関する情報を検出するセンサの検出結果を用いて前記工具保持部の位置の補正量を算出する、請求項１から請求項４のいずれか一項に記載の工作機械。
【請求項６】
前記数式に含まれる前記他の変数と定数との少なくとも一方を変更する変更部を備える、請求項１から請求項５のいずれか一項に記載の工作機械。
【請求項７】
ワークを加工する工具を保持する工具保持部を前記ワークと相対移動させ、前記ワークに加工を施すことと、
前記工具保持部を用いる工程を定めた数値制御プログラムに基づいて前記工具保持部の位置を指令することと、
前記工具保持部の位置の補正量を算出することと、
前記算出された補正量を用いて前記工具保持部を駆動することと、を含み、
前記工具保持部の位置の補正量の算出では、前記工具保持部の位置と関係付けられた変数と、前記工具保持部を駆動する駆動部の稼働時間、環境温度、前記駆動部の部品の使用時間、前記駆動部の部品の温度情報、及び加工情報の少なくとも１つに関連付けられた他の変数とを含む数式で、前記工具保持部の位置の補正量を算出する、加工方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械、及び加工方法に関する。
【背景技術】
【０００２】
工作機械の１つである旋盤は、加工対象であるワークを主軸に保持し、ワークを回転させながら、刃物台などの工具保持部に保持されるバイト等の工具により切削などの加工を行う。工作機械は、通常、数値制御（ＮＣ）によりワークを加工する（例えば、下記の特許文献１参照）。数値制御に用いられる数値制御プログラムは、例えば、ユーザが工程の内容を工程を行う順にコード、座標などで表したものである。
【０００３】
従来から、数値制御を行う数値制御装置（ＮＣ装置）には様々な補正機能が備わっている。例えば、数値制御装置は、数値制御プログラムに定められた工程を行う際に、指定された切削工具の摩耗のレベル、ボールネジの伸び等に応じて、補正テーブルから補正量を取得し、この補正量を加味して刃物台の目標位置を決定する。工作機械の各軸の駆動系は、数値制御装置が指定した目標位置に基づいて、切削工具を保持した刃物台を移動させる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４１０５５９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述のような工作機械は、刃物台などの工具保持部の位置によって目標位置との位置誤差が異なる場合がある。工具保持部の各位置での位置誤差は、数値制御装置が目標位置を決定する際に加味することができず、工具保持部が目標位置に応じて開始位置から終了位置まで移動する際に、各位置の位置誤差に応じた加工誤差が生じる。また、補正テーブルから補正量を取得する場合、補正テーブルのブロックごとに補正量が一定であるので、例えば、このブロックに対応する区間を工具保持部が移動する間の補正量が固定値となり、補正の精度を高めることが難しい。
【０００６】
本発明は、上述の事情に鑑みなされたものであり、工具保持部の位置を高精度に補正することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の工作機械は、ワークを加工する工具を保持してワークと相対移動する工具保持部と、工具保持部を用いる工程を定めた数値制御プログラムに基づいて工具保持部の位置を指令する制御部と、工具保持部の位置と関係付けられた変数を含む数式で工具保持部の位置の補正量を算出する算出部と、算出部が算出した補正量を用いて工具保持部を駆動する駆動部と、を備える。
また、本発明の工作機械は、ワークを加工する工具を保持してワークと相対移動する工具保持部と、工具保持部を用いる工程を定めた数値制御プログラムに基づいて工具保持部の位置を指令する制御部と、工具保持部の位置の補正量を算出する算出部と、算出部が算出した補正量を用いて工具保持部を駆動する駆動部と、を備え、算出部は、工具保持部の位置と関係付けられた変数と、駆動部の稼働時間、環境温度、駆動部の部品の使用時間、駆動部の部品の温度情報、及び加工情報の少なくとも１つに関連付けられた他の変数とを含む数式で、工具保持部の位置の補正量を算出する。
【０００８】
本発明の加工方法は、ワークを加工する工具を保持する工具保持部をワークと相対移動させ、ワークに加工を施すことと、工具保持部を用いる工程を定めた数値制御プログラムに基づいて工具保持部の位置を指令することと、工具保持部の位置と関係付けられた変数を含む数式で工具保持部の位置の補正量を算出することと、算出された補正量を用いて工具保持部を駆動することと、を含む。
また、本発明の加工方法は、ワークを加工する工具を保持する工具保持部をワークと相対移動させ、ワークに加工を施すことと、工具保持部を用いる工程を定めた数値制御プログラムに基づいて工具保持部の位置を指令することと、工具保持部の位置の補正量を算出することと、算出された補正量を用いて工具保持部を駆動することと、を含み、工具保持部の位置の補正量の算出では、工具保持部の位置と関係付けられた変数と、工具保持部を駆動する駆動部の稼働時間、環境温度、駆動部の部品の使用時間、駆動部の部品の温度情報、及び加工情報の少なくとも１つに関連付けられた他の変数とを含む数式で、工具保持部の位置の補正量を算出する。
【０００９】
また、制御部は、数値制御プログラムに基づいて、工具保持部の移動の開始位置と終了位置とを指令し、算出部は、工具保持部が開始位置から終了位置まで移動する間に、所定の周期で数式で補正量を算出するものでもよい。制御部は、数値制御プログラムに指定された切削工具に関連付けられた工具保持部の位置の補正量を用いて、開始位置および終了位置を算出するものでもよい。また、算出部は、数式で算出した補正量を駆動部に供給し、駆動部は、工具保持部の位置に関する情報を検出するセンサの検出結果、及び算出部から供給された補正量に基づいて、工具保持部を移動させる駆動力を決定するものでもよい。また、算出部は、工具保持部の位置の測定値を数式に代入して、工具保持部の位置の補正量を算出するものでもよい。また、数式に含まれる他の変数と定数との少なくとも一方を変更する変更部を備えるものでもよい。
【発明の効果】
【００１０】
本発明によれば、刃物台の位置を変数とする数式で刃物台の位置の補正量を算出するので、刃物台の位置ごとに補正量を算出することができ、算出した補正量を用いて刃物台を駆動するので、刃物台の位置を高精度に補正することができる。
【００１１】
また、制御部は、数値制御プログラムに基づいて、刃物台の移動の開始位置と終了位置とを指令し、算出部は、刃物台が開始位置から終了位置まで移動する間に、所定の周期で数式で補正量を算出するものでは、例えば、刃物台の移動中にリアルタイムで位置の補正を行うことができ、刃物台の位置を高精度に補正することができる。また、制御部は、数値制御プログラムに指定された切削工具に関連付けられた刃物台の位置の補正量を用いて、開始位置および終了位置を算出するものでは、開始位置および終了位置に切削工具に応じた補正量が加味され、かつ、このような開始位置と終了位置との間の各位置の補正が算出部により行われるので、刃物台の位置を高精度に補正することができる。また、算出部は、数式で算出した補正量を駆動部に供給し、駆動部は、刃物台の位置に関する情報を検出するセンサの検出結果、及び算出部から供給された補正量に基づいて、刃物台を移動させる駆動力を決定するものでは、算出部が算出した補正量を駆動部による駆動力に反映させることができ、駆動部を利用して補正することができるので、装置構成をシンプルにすることができる。また、算出部は、刃物台の位置の測定値を用いて刃物台の位置の補正量を算出するものでは、サーボ機構あるいは他のセンサの測定値を補正量の算出に用いるので、実際の刃物台の位置に即した補正量が算出され、刃物台の位置を高精度に補正することができる。また、数式に含まれる刃物台の位置の他の変数と定数との少なくとも一方を変更する変更部を備えるものでは、例えば、オペレータは、工作機械の使用環境などに応じて変更部によって数式を変更することができ、使用環境に即した補正量が算出されるので、刃物台の位置を高精度に補正することができる。
【図面の簡単な説明】
【００１２】
【図１】実施形態に係る工作機械を示す図である。
【図２】実施形態に係る工作機械の刃物台、駆動部、及び数値制御部を示す図である。
【図３】実施形態に係る数値制御部、駆動部、算出部、及び変更部を示すブロック図である。
【図４】実施形態に係る加工方法を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、実施形態について図面を参照しながら説明する。図１は、実施形態に係る工作機械１を示す図である。図１の工作機械１は、平行２軸旋盤であるが、本実施形態は、ワークと加工を施す工具とを相対移動させる各種の工作機械に適用可能である。ここでは、ＸＹＺ直交座標系を参照しつつ、各部の位置関係などを説明する。このＸＹＺ直交座標系において、Ｘ方向およびＺ方向は水平方向であり、Ｙ方向は鉛直方向である。Ｚ方向は、後述する主軸１１に平行な方向であり、Ｘ方向はＺ方向と直交する方向である。また、Ｘ方向、Ｙ方向、Ｚ方向の各方向に、＋または−を付して向きを表す場合がある。例えば、Ｘ方向において、矢印の方向が＋Ｘ側であり、その反対方向が−Ｘ側である。
【００１４】
ワーク搬入部２は、加工対象であるワークＷが搬入される部分である。ワーク搬入部２は、例えば固定台であり、その上面にワークＷが載置される。ワーク搬入部２は、コンベアやロータリー式の載置台などでもよい。ワーク搬入部２は、ワークＷの搬出部としても機能する。ワークＷの搬出部は、ワーク搬入部２と異なる部分でもよい。
【００１５】
ローダ装置３は、例えば、ワーク搬入部２と工作機械１との間でワークＷを搬送する。ローダ装置３は、ワーク保持部４と、ローダ駆動部５とを備える。ローダ駆動部５は、Ｘ駆動部６と、Ｙ駆動部７と、Ｚ駆動部８とを有する。Ｘ駆動部６は、Ｘ移動体６Ａをガイドレール６ｂに沿ってＸ方向に移動させる。Ｚ駆動部８は、Ｘ移動体６Ａに保持されるＺ移動体をガイド部（図示せず）に沿ってＺ方向に移動させる。Ｙ駆動部７は、Ｚ移動体に保持されるＹ移動体７Ａをガイド部７ｂに沿ってＹ方向に移動させる。
【００１６】
ワーク保持部４は、Ｙ移動体７Ａの下部に配置される。ワーク保持部４は、ワークＷを複数の把持爪によって把持するローダチャック９を有する。ローダチャック９は、例えば、ワークＷを把持して−Ｙ方向に向けた姿勢と、−Ｚ方向に向けた姿勢とに配置可能である。なお、ローダ装置３のローダチャック９の数は、１つでもよいし２つ以上でもよい。ローダ装置３は、ローダチャック９によりワークＷを把持した状態で、ローダチャック９をＸ駆動部６、Ｚ駆動部８、及びＹ駆動部７により、Ｘ、Ｙ、Ｚ方向のそれぞれに移動可能である。これにより、ローダ装置３は、ワークＷを、Ｘ、Ｙ、Ｚ方向の各方向、あるいは２方向以上を合成した方向に搬送可能である。
【００１７】
工作機械１は、主軸１１、１２と、工具保持部（刃物台１３、１４）とを備える。主軸１１、１２は、Ｘ方向に並んで配置され、それぞれ、駆動装置（図示せず）によって中心軸ＡＸ１，ＡＸ２まわりに回転する。刃物台１３は、主軸１１に保持されたワークに対する加工に用いられ、刃物台１４は、主軸１２に保持されたワークに対する加工に用いられる。刃物台１３は、主軸１１の−Ｘ方向に配置される。刃物台１４は、主軸１２の＋Ｘ方向に配置される。主軸１１、刃物台１３及び刃物台１３の駆動部については、後に図２、図３で詳しく説明する。主軸１２、刃物台１４及び刃物台１４の駆動部は、主軸１１、刃物台１３及び刃物台１３の駆動部と同様であり、その詳細な説明を省略する。
【００１８】
なお、主軸の数、刃物台の数は、２つでなくてもよい。また、図１において、工作機械１は、平行２軸旋盤であるが、実施形態に係る工作機械は対向２軸旋盤でもよい。また、実施形態に係る工作機械は、１つの主軸１１に保持したワークに対して、２以上の刃物台を用いて加工を施すものでもよい。また、上述のローダ装置３は、工作機械１が備えてもよいし、工作機械１の外部の装置であってもよい。
【００１９】
コントローラ２１は、工作機械１、ローダ装置３を囲むように配置されたパネルＰＬに保持される。コントローラ２１には、例えば、各種情報を表示する表示部２２、及び各種情報を入力可能な入力部２３が設けられる。コントローラ２１は、制御部（数値制御部２４）と通信可能に接続される。オペレータは、例えば、表示部２２に各種上方を表示させ、入力部２３を操作することによって、数値制御部２４に各種指令を送ることができる。数値制御部２４は、例えばコントローラ２１を介して供給される数値制御プログラム（ＮＣプログラム）に基づいて、工作機械１の各部（例、刃物台１３）を制御する。
【００２０】
次に、刃物台１３、刃物台１３の駆動部、及び数値制御部２４についてより詳しく説明する。図２は、実施形態に係る工作機械１の刃物台１３、駆動部２５、及び数値制御部２４を示す図である。ここでは、主軸１１、１２のうち主軸１１に関する部分を代表的に説明するが、主軸１２に関する部分についても同様である。
【００２１】
主軸１１は、ワークＷを保持して回転可能である。ワークＷは、例えば、円筒面を有する形状（例、円柱形、円筒形）のものであるが、その形状に限定はない。主軸１１は、主軸台３１に回転可能な状態で支持される。主軸台３１は、例えばベース（図示せず）上に設けられる。主軸台３１は、ベースに固定されるが、Ｚ方向、Ｘ方向、Ｙ方向等に移動可能に形成され、モータ等の駆動によって移動するものでもよい。主軸１１の＋Ｚ側の端部には、チャック駆動部３２が設けられる。チャック駆動部３２は、複数の把持爪３３を主軸１１の径方向に移動させ、把持爪３３によりワークＷを把持させる。把持爪３３の個数、形状に限定はなく、把持爪３３は、ワークＷを保持可能な任意の構成のものでよい。主軸１１には、ローダ装置３からワークＷが搬入され、把持爪３３がワークＷを把持することにより、ワークＷが保持される。
【００２２】
主軸１１の−Ｚ側の端部は主軸台３１から−Ｚ側に突出しており、この端部にプーリ３４が取り付けられる。プーリ３４とモータ（図示せず）の回転軸との間にはベルト３５が掛け渡される。このモータは、例えば上記のベースに設けられ、トルク制御機構を備える。このモータの回転によりベルト３５が周回し、ベルト３５の周回によりプーリ３４が回転する。主軸１１は、プーリ３４の回転に伴って、Ｚ方向に平行な軸周りに回転する。なお、主軸１１を回転させる機構は、上述の機構に限定されず、例えばモータの駆動を歯車列等で主軸１１に伝達するものでもよい。
【００２３】
刃物台１３は、例えばタレットであり、ワークＷを切削（加工）する切削工具Ｔ（工具）を保持する。刃物台１３は、例えば、切削工具Ｔを保持して主軸１１に対してＸ方向、Ｙ方向、Ｚ方向のそれぞれに移動可能である。すなわち、刃物台１３は、ワークＷを加工する切削工具Ｔを保持してワークＷと相対移動する。工作機械１には、Ｚ方向に延びるＺガイド３６が設けられる。Ｚガイド３６には、Ｚガイド３６に沿ってＺ方向に移動可能なＺスライド３７が設けられる。Ｚスライド３７は、駆動部２５（Ｚ駆動部３８）によりＺ方向に移動し、所定位置で保持される。Ｚ駆動部３８は、例えば、電気モータや油圧等が用いられる。Ｚスライド３７には、Ｘ方向に延びるＸガイド３９と、Ｘガイド３９に沿って移動可能なＸスライド４０とが設けられる。Ｘスライド４０は、駆動部２５（Ｘ駆動部４１）の駆動によりＸ方向に移動し、所定位置で保持される。Ｘ駆動部６は、例えば、電気モータや油圧等が用いられる。
【００２４】
なお、図２には、刃物台１３をＹ方向に移動させる機構の図示を省略したが、この機構は、例えば、Ｘ方向の移動機構（Ｘガイド３９、Ｘスライド４０、Ｘ駆動部４１）、あるいはＺ方向の移動機構と同様でよい。また、刃物台１３は、Ｘ方向、Ｙ方向、及びＺ方向のうち、２方向を合成した方向または３方向を合成した方向に移動可能でもよいし、Ｘ方向に平行な軸の周りの回転方向、Ｙ方向に平行な軸の周りの回転方向、及びＺ方向に平行な軸の周りの回転方向の少なくとも１つの回転方向に切削工具Ｔを回転可能でもよい。また、刃物台１３は、上述の各方向のうち少なくとも１方向に切削工具Ｔを移動させなくてもよいし、回転させなくてもよい。
【００２５】
Ｘスライド４０には、刃物台駆動部４２が設けられる。刃物台駆動部４２には、モータ等の回転駆動装置（図示せず）が用いられる。刃物台駆動部４２には、刃物台１３が取り付けられる。刃物台１３は、回転駆動装置の駆動によりＺ方向と平行の回転軸周りに回転可能である。刃物台１３の周面には、切削工具Ｔ（ツール）を保持する複数のステーションが設けられる。切削工具Ｔは、複数のステーションの全部または一部に、ステーションごとに保持される。刃物台１３を回転させることにより、所望の切削工具Ｔが選択される。例えば、数値制御部２４は、加工に用いる切削工具Ｔを指定する指令を刃物台駆動部４２に送り、刃物台駆動部４２は、数値制御部２４からの指令に基づいて、加工に用いる切削工具ＴをワークＷに対向する位置に配置させる。
【００２６】
刃物台１３のステーションに保持される切削工具Ｔは、各ステーションに対して交換可能である。切削工具Ｔとしては、ワークＷに対して切削加工を施すバイト等の他、ドリルやエンドミル等の回転工具が用いられてもよい。刃物台１３には、複数のステーションの１つとして工具ユニット４３が装着される。工具ユニット４３には、ホルダ（図示せず）を介して切削工具Ｔが取り付けられている。刃物台１３は、タレットに限定されず、くし歯状の刃物台でもよい。くし歯状の刃物台は、複数のくし歯部分のそれぞれに切削工具Ｔが保持され、くし歯が並ぶ方向に移動することにより複数の切削工具Ｔのうちいずれか１つを選択する。
【００２７】
図３は、実施形態に係る数値制御部２４、駆動部２５、算出部５１、及び変更部５２を示すブロック図である。数値制御部２４は、数値制御プログラムＰＲに基づいて刃物台１３の位置を指令する。数値制御プログラムＰＲは、刃物台１３を用いる工程（例、加工内容、加工条件）を定めたものである。数値制御プログラムＰＲは、例えば行われる工程の順に、使用する切削工具Ｔの種類、番号、切削工具Ｔの位置（ＸＹＺの各軸の位置）などをＧコード、Ｔコードで表したものである。例えば、使用する切削工具Ｔを指定するＴコードには、工具番号および補正量番号をそれぞれ２桁の数字で表した数値コードが付される。工具番号は、例えば、刃物台１３のステーションの番号に対応する。補正量番号は、切削工具Ｔの摩耗などによる刃先の位置誤差を補正することに用いられる。
【００２８】
数値制御部２４は、数値制御プログラムＰＲに定められた工具番号および補正量番号、並びに補正テーブルＴＢを用いて、数値制御プログラムＰＲに定められた刃物台１３の位置を補正し、補正後の位置に基づいて駆動部２５に指令を送る。補正テーブルＴＢは、例えば、工具番号および補正量番号に関連付けられた補正量を含む。図３では、工具番号が「０１」であって補正量番号が「０１」である場合、Ｘ方向の補正量が「ΔＸ１」、Ｙ方向の補正量が「ΔＹ１」、Ｚ方向の補正量が「ΔＺ１」というように、補正テーブルＴＢに定められている。補正量は、工具番号（例、「０１」）が同じである場合でも、補正量番号（例、「０１」、「０２」、「０３」）によって異なる。補正量番号は、例えば、切削工具Ｔの摩耗量（使用量）に応じて設定され、例えば、１００回加工を行うまでは「０１」、１００回以降２００回加工を行うまでは「０２」というように定められる。また、補正量は、切削工具番号が異なる場合（例、切削工具Ｔの種類が異なる場合）によっても異なる。補正量は、例えば、オペレータまたはセンサが測定した値に基づいて、自動入力あるいは手動入力される値である。
【００２９】
数値制御部２４は、上述のように数値制御プログラムＰＲに定められた刃物台１３の位置を補正し、駆動部２５に対して目標位置の指令を送る。例えば、数値制御部２４は、数値制御プログラムに指定された切削工具に関連付けられた刃物台の位置の補正量（例、補正テーブルＴＢ）を用いて、刃物台１３の移動の開始位置および終了位置を算出し、算出した開始位置および終了位置を上記の目標位置として駆動部２５に供給する。
【００３０】
駆動部２５は、例えば、サーボアンプ５５、サーボモータ５６、及びエンコーダ５７を備える。サーボアンプ５５は、数値制御部２４からの目標位置に基づいて、サーボモータ５６に供給する駆動電力を決定する。サーボモータ５６は、サーボアンプ５５からの駆動電力によって、刃物台１３を移動させる駆動力を発生する。この駆動力は、ギア、シャフト、ベルト、変速機などの動力伝達機構（図示せず）を介して刃物台１３に伝達され、刃物台１３が移動する。
【００３１】
刃物台１３の座標、速度、加速度などの位置情報は、例えば、サーボモータ５６の回転軸の情報と、上記の動力伝達機構の変速比とを加味することで得られる。エンコーダ５７は、刃物台１３の位置に関する情報を検出するセンサである。エンコーダ５７は、刃物台１３の位置に関する情報として、サーボモータ５６の回転軸の情報を検出する。このように、駆動部２５は、エンコーダ５７が検出した位置情報を用いたフィードバック制御によって、刃物台１３を目標位置に移動させる。例えば、エンコーダ５７は、その検出結果をサーボアンプ５５に供給し、サーボアンプ５５は、刃物台１３の位置が目標位置に近づくように、サーボモータ５６に供給する駆動電力を制御する。なお、刃物台１３の位置情報は、駆動部２５における可動部の位置をリニアエンコーダなどで検出することで取得してもよい。
【００３２】
ところで、刃物台１３あるいは切削工具Ｔの刃先の位置誤差は、刃物台１３の位置によって異なる場合がある。例えば、刃物台１３の位置（駆動部２５の軸の位置）によって、駆動部２５の各部の伸縮、振動、ギアの噛み合わせなどの機械特性、駆動部２５の稼働時間、駆動部２５の各部の使用時間に応じた上記機械特性の時間による変化、環境温度あるいは駆動部２５における温度分布、刃物台１３の移動に伴う刃先の軌道などが異なる場合があり、これらの要因によって刃物台１３あるいは切削工具Ｔの刃先の位置誤差が変化する。切削工具Ｔの刃先の位置誤差が位置によって変化する場合、例えば切削工具Ｔを移動させながら切削を行う際に、切削工具Ｔの刃先がワークＷに接触する位置がワークＷ上の位置によって所望の位置からずれて、加工誤差が生じる。
【００３３】
実施形態に係る工作機械１は、算出部５１を備え、算出部５１により上述の位置誤差の補正量を算出する。算出部５１は、刃物台１３の位置と関連付けられた変数を含む数式（以下、補正量算出式という）で刃物台の位置の補正量を算出する。刃物台１３の位置と関連付けられた変数は、刃物台１３の位置でもよいし、刃物台１３の位置から算出される換算値などでもよく、刃物台１３の位置と互換性のある情報（駆動部２５の軸の位置）でもよい。
【００３４】
上記の補正量算出式は、例えば、刃物台１３の目標位置に対するオフセット量を算出する式である。補正量算出式は、例えば、下記の式（１）〜式（３）である。
ΔＸ＝Ａ１×ｘ＋Ａ２×ｙ＋Ａ３×ｚ＋Ａ４×ｔ＋Ａ５×Ｔ  ・・・（１）
ΔＹ＝Ｂ１×ｘ＋Ｂ２×ｙ＋Ｂ３×ｚ＋Ｂ４×ｔ＋Ｂ５×Ｔ  ・・・（２）
ΔＺ＝Ｃ１×ｘ＋Ｃ２×ｙ＋Ｃ３×ｚ＋Ｃ４×ｔ＋Ｃ５×Ｔ  ・・・（３）
上記の式（１）から式（３）において、左辺のΔＸ、ΔＹ、ΔＺは、それぞれ、Ｘ方向の補正量、Ｙ方向の補正量、Ｚ方向の補正量である。また、右辺のｘ、ｙ、ｚは、刃物台１３のＸ、Ｙ、Ｚ方向の各方向の位置であり、例えば、刃物台１３を各方向に移動させる軸の位置である。ｔは、稼働時間であり、Ｔは環境温度である。また、Ａ１〜Ａ５、Ｂ１〜Ｂ５、Ｃ１〜Ｃ５は、例えば計測、あるいはシミュレーションなどで得られる係数である。算出部５１は、上記の式（１）〜式（３）を用いてＸ、Ｙ方向、Ｚ方向の各方向の補正量を算出する。なお、算出部５１は、上記の式（１）〜式（３）の１つのみを用いて１方向のみに関して補正量を算出するものでもよいし、上記の式（１）〜式（３）の２つのみを用いて２方向のみに関して補正量を算出するものでもよい。また、上記の式（１）〜式（３）は、いずれもＸ、Ｙ、Ｚ方向の各方向の位置（ｘ、ｙ、ｚ）を変数としてするが、補正量算出式は、ｘ、ｙ、ｚの１つ又は２つを変数とする式でもよい。また、補正量算出式は、上記の式（１）〜式（３）のように、補正量算出式は、刃物台１３の位置に関する変数（ｘ、ｙ、ｚ）の他の変数、例えば、稼働時間（ｔ）、環境温度（Ｔ）を含まなくてもよい。また、補正量算出式は、稼働時間（ｔ）、環境温度（Ｔ）の他の変数、例えば、駆動部２５の部品の使用時間、駆動部２５の部品の温度情報、及び加工情報（例、対象の刃物台１３を用いる加工の内容、加工条件）の少なくとも１つに関連付けられた変数を含んでもよい。補正量算出式の関数形は、任意であり、例えば、多項式を含んでもよいし、三角関数を含んでもよく、指数関数あるいは対数関数を含んでもよい。
【００３５】
算出部５１は、刃物台１３の位置に関する情報を検出するセンサ（例、エンコーダ５７）の検出結果を用いて刃物台１３の位置の補正量を算出する。算出部５１は、エンコーダ５７と通信可能に接続され、エンコーダ５７から検出結果を取得する。算出部５１は、エンコーダ５７の検出値、あるいは検出値から算出される値（例、換算値）を上記の式に代入し、補正量を算出する。
【００３６】
エンコーダ５７は、例えば、所定のサンプリング周波数で検出動作を行い、算出部５１は、エンコーダ５７の検出結果に基づいて周期的に補正量を算出する。算出部５１が補正量を算出する周期は、例えば、エンコーダ５７が検出動作を行う周期以上に設定される。また、算出部５１が補正量を算出する頻度は、例えば、数値制御部２４が駆動部２５に対して目標位置を供給する頻度よりも高く設定される。例えば、数値制御部２４は、数値制御プログラムに基づいて、刃物台１３の移動の開始位置と終了位置とを指令し、算出部５１は、刃物台１３が開始位置から終了位置まで移動する間に、所定の周期で補正量を複数の回数、算出する。なお、算出部５１は、稼働時間（ｔ）として、数値制御部２４から供給されるデータを用いてもよいし、オペレータが入力する値を用いてもよい。また、算出部５１は、環境温度（Ｔ）として温度センサ（図示せず）から供給されるデータを用いてもよいし、オペレータが入力する値を用いてもよい。
【００３７】
駆動部２５は、算出部５１と通信可能に接続され、算出部５１が算出した補正量を用いて刃物台１３を駆動する。駆動部２５は、刃物台１３の位置に関する情報を検出するセンサ（例、エンコーダ５７）の検出結果、及び算出部５１から供給された補正量に基づいて、刃物台１３を移動させる駆動力を決定する。例えば、駆動部２５において、サーボアンプ５５は、エンコーダ５７の検出結果および算出部５１が算出した補正量に基づいて、サーボモータ５６の駆動電力を決定し、サーボモータ５６は、サーボアンプ５５が決定した駆動電力に応じた駆動力を発生する。例えば、サーボアンプ５５は、数値制御部２４から指令された目標位置に算出部５１が算出したオフセット量を加えて目標位置を更新し、刃物台１３の位置が更新した目標位置に近づくように、エンコーダ５７の測定結果を用いてフィードバック制御を行う。算出部５１は、例えば、数値制御部２４が刃物台１３の位置を指定する頻度よりも高頻度で、刃物台１３の位置の補正量を算出し、駆動部２５は、数値制御部２４が刃物台の位置を指定する頻度よりも高頻度で、刃物台１３を移動させる駆動力を調整する。なお、算出部５１は、エンコーダ５７の検出結果の代わりに、数値制御部２４から供給される各時刻における目標位置を用いて、補正量を算出してもよい。この場合、算出部５１は、刃物台１３の各位置に対する補正量を予め算出しておいてもよい。すなわち、算出部５１は、刃物台１３が開始位置から終了位置まで移動するよりも前に、補正量を算出してもよい。
【００３８】
また、本実施形態において工作機械１には、変更部５２が設けられる。変更部５２は、算出部５１が補正量の算出に用いる数式（補正量算出式）に含まれる変数のうち、刃物台１３の位置と関係付けられた変数以外の変数と、各変数に係る定数の少なくとも一方を変更可能である。例えば、オペレータは、図１の入力部２３を操作することにより、変数の追加あるいは削除を変更部５２に指令することができる。また、オペレータは、図１の入力部２３を操作することにより、定数の変更を変更部５２に指令することができる。変更部５２は、オペレータの指令に応じて、補正量算出式を変更（更新）する。これにより、オペレータは、工作機械１の使用環境（使用状況）に応じて、補正量算出式を設定することができる。なお、補正量算出式は、予め設定されていてもよく、オペレータが設定しなくてもよい。この場合、変更部５２が設けられなくてもよい。
【００３９】
次に、上述の工作機械１の動作に基づき、実施形態に係る加工方法について説明する。図４は、実施形態に係る加工方法を示すフローチャートである。ステップＳ１において、数値制御部２４は、数値制御プログラムＰＲを取得する。例えば、オペレータは、図１のコントローラ２１に対して数値制御プログラムＰＲを入力し、コントローラ２１は数値制御プログラムＰＲを数値制御部２４に供給する。数値制御プログラムＰＲの入力は、有線または無線を用いた通信により行われてもよいし、ＵＳＢメモリなどの記録媒体を介して行われてもよい。
【００４０】
ステップＳ２において、数値制御部２４は、刃物台１３の位置を駆動部２５に指令する。例えば、数値制御部２４は、図３で説明したように、切削工具Ｔの摩耗などに応じた補正テーブルＴＢを参照し、数値制御プログラムに定められた刃物台１３の位置を補正し、補正後の位置を目標位置（例、刃物台１３の移動の開始位置、終了位置）として、駆動部２５に供給する。ステップＳ３において、算出部５１は、刃物台１３の位置と関連付けられた数式で補正量を算出する。ステップＳ４において、駆動部２５は、算出部５１が算出した補正量を用いて、刃物台１３を駆動する。このようにして、工作機械１は、主軸１１に保持されたワークを回転させながら、刃物台１３に保持された切削工具ＴをワークＷと相対移動させ、切削工具ＴによってワークＷを切削（加工）する。例えば、ステップＳ３の処理およびステップＳ４の処理は、ワークＷを切削する間に繰り返し行われ、刃物台１３の位置に応じてリアルタイムで補正が行われる。
【００４１】
なお、本発明の技術範囲は、上述の実施形態などで説明した態様に限定されるものではない。上述の実施形態などで説明した要件の１つ以上は、省略されることがある。また、上述の実施形態などで説明した要件は、適宜組み合わせることができる。また、法令で許容される限りにおいて、上述の実施形態などで引用した全ての文献の開示を援用して本文の記載の一部とする。
【符号の説明】
【００４２】
１・・・工作機械
１１、１２・・・主軸
１３、１４・・・刃物台（工具保持部）
２４・・・数値制御部（制御部）
２５・・・駆動部
５１・・・算出部
５２・・・変更部
Ｔ・・・切削工具（工具）
ＰＲ・・・数値制御プログラム
Ｗ・・・ワーク
【図１】
0006693207.tif 000002
【図２】
0006693207.tif 000003
【図３】
0006693207.tif 000004
【図４】
0006693207.tif 000005