(57)【特許請求の範囲】
【請求項１】
工作機械の構造体モデルを複数のブロックに分割した場合に、前記複数のブロックの一部である複数の主ブロックの内部に配置される複数の温度センサと、
前記複数の主ブロックの各々における主ブロック温度が均一値であるとした場合に、前記複数の温度センサの各々による検出温度を、対応する前記複数の主ブロックの各々における主ブロック温度として取得する主ブロック温度取得手段と、
前記複数の主ブロックのうち隣り合う２つの主ブロックの間に１つまたは複数の中間ブロックを配置した場合において、前記１つの前記中間ブロックが配置された場合には当該１つの前記中間ブロックにおける中間ブロック温度が均一値であるとし、前記複数の前記中間ブロックが配置された場合にはそれぞれの前記中間ブロックにおけるそれぞれの中間ブロック温度が均一値であるとした場合に、前記隣り合う２つの主ブロックにおける前記主ブロック温度に基づいて前記中間ブロック温度を取得する中間ブロック温度取得手段と、
前記主ブロック温度及び前記中間ブロック温度に基づいて前記構造体モデルの構造解析を行い、前記構造体モデルにおける熱変位量を推定する構造解析手段と、
を備える、熱変位量推定装置。
【請求項２】
前記中間ブロック温度取得手段は、
前記隣り合う２つの主ブロックにおける前記主ブロック温度の差が許容値以下であるか否かを判定し、
前記主ブロック温度の差が許容値以下の場合に、前記中間ブロック温度を、前記隣り合う２つの主ブロックの何れか一方における主ブロック温度と同一温度とし、
前記主ブロック温度の差が許容値を超える場合に、前記中間ブロック温度を、前記隣り合う２つの主ブロックにおける主ブロック温度の間の温度とする、
請求項１に記載の熱変位量推定装置。
【請求項３】
前記隣り合う２つの主ブロックの間に配置される前記中間ブロックの数は、前記隣り合う２つの主ブロックにおける主ブロック温度の最大差が大きいほど多く設定され、前記隣り合う２つの主ブロックにおける主ブロック温度の最大差が小さいほど少なく設定される、請求項１又は２に記載の熱変位量推定装置。
【請求項４】
前記中間ブロックの領域は、前記主ブロックの領域より小さく設定される、請求項１〜３の何れか一項に記載の熱変位量推定装置。
【請求項５】
前記隣り合う２つの主ブロックの間に、一方の主ブロック側から他方の主ブロック側に向かう方向に複数の中間ブロックが配置され、
前記中間ブロック温度取得手段は、前記一方の主ブロックにおける前記主ブロック温度が前記他方の主ブロックにおける前記主ブロック温度より高い場合に、前記一方の主ブロック側の前記中間ブロックにおける前記中間ブロック温度が、前記他方の主ブロック側の前記中間ブロックにおける前記中間ブロック温度より高い温度となるように、各々の前記中間ブロック温度を取得する、請求項１〜４の何れか一項に記載の熱変位量推定装置。
【請求項６】
工作機械の構造体モデルを複数のブロックに分割した場合に、前記複数のブロックの一部である複数の主ブロックの内部に複数の温度センサが配置されており、
前記複数の主ブロックの各々における主ブロック温度が均一値であるとした場合に、前記複数の温度センサの各々による検出温度を、対応する前記複数の主ブロックの各々における主ブロック温度として取得する主ブロック温度取得工程と、
前記複数の主ブロックのうち隣り合う２つの主ブロックの間に１つまたは複数の中間ブロックを配置した場合において、前記１つの前記中間ブロックが配置された場合には当該１つの前記中間ブロックにおける中間ブロック温度が均一値であるとし、前記複数の前記中間ブロックが配置された場合にはそれぞれの前記中間ブロックにおけるそれぞれの中間ブロック温度が均一値であるとした場合に、前記隣り合う２つの主ブロックにおける前記主ブロック温度に基づいて前記中間ブロック温度を取得する中間ブロック温度取得工程と、
前記主ブロック温度及び前記中間ブロック温度に基づいて前記構造体モデルの構造解析を行い、前記構造体モデルにおける熱変位量を推定する構造解析工程と、
を備える、熱変位量推定方法。
【請求項７】
請求項１〜５の何れか一項に記載の熱変位量推定装置と、
推定された前記熱変位量に基づいて前記工作機械の移動体の位置指令値を補正する補正装置と、
を備える、工作機械。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、熱変位量推定装置、熱変位量推定方法、及び熱変位量推定装置を備える工作機械に関するものである。
【背景技術】
【０００２】
特許文献１には、工作機械の構造体モデルを複数のブロックに分割して、各々のブロック温度を均一値として構造解析を行うことにより、構造体モデルの熱変位量を推定することが記載されている。つまり、同一のブロック内に含まれる節点における温度が、同一値となる。そして、各節点の熱変位量ベクトルは、｛δ｝＝［Ｋ］−１［Ｆ］｛Ｔ｝で表される。ここで、｛δ｝は各節点の熱変位量ベクトルであり、［Ｋ］は構造体モデルの剛性マトリックスであり、［Ｆ］は各節点の力係数マトリックスであり、｛Ｔ｝は各ブロックの温度ベクトルである。なお、本明細書において用いるベクトルは、すべて列ベクトルを意味する。
【０００３】
各ブロックの温度ベクトル｛Ｔ｝の要素数はブロック数に応じたものであり、各節点数に比べて大幅に少ない。そのため、各節点の熱変位量ベクトル｛δ｝の演算量が、大幅に低減する。従って、各節点の熱変位量ベクトル｛δ｝の演算速度の高速化を図ることができる。その結果、当該演算を加工中にリアルタイムに行いながら、リアルタイムな熱変位補正が可能となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１２／１５７６８７号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ブロック温度が均一化されるため、隣り合うブロックの境界において温度変化が不連続となる。隣り合うブロックの温度差が大きいと、隣り合うブロックの境界における熱変位量の変化が大きくなる。そのため、構造解析の結果、隣り合うブロックの境界において、構造体モデルが大きく折れ曲がるように熱変位することとなる。従って、隣り合うブロックの温度差が大きいほど、隣り合うブロックの境界付近における実際の熱変位量と推定される熱変位量とのずれが大きくなる。
【０００６】
仮に、多数の温度センサを配置して、分割するブロック数を多くすることにより、隣り合うブロックの温度差が小さくなる。その結果、高精度な熱変位量が推定できる。しかし、温度センサの数が多くなればなるほど、高コストとなる。
【０００７】
本発明は、少ない数の温度センサを用いた場合であっても、高精度な熱変位量が推定できる、熱変位量推定装置、熱変位量推定方法及び熱変位量推定装置を備える工作機械を提供することを目的とする。
【課題を解決するための手段】
【０００８】
（請求項１）本発明に係る熱変位量推定装置は、工作機械の構造体モデルを複数のブロックに分割した場合に、前記複数のブロックの一部である複数の主ブロックの内部に配置される複数の温度センサと、前記複数の主ブロックの各々における主ブロック温度が均一値であるとした場合に、前記複数の温度センサの各々による検出温度を、対応する前記複数の主ブロックの各々における主ブロック温度として取得する主ブロック温度取得手段と、前記複数の主ブロックのうち隣り合う２つの主ブロックの間に１つまたは複数の中間ブロックを配置した場合において、前記１つの前記中間ブロックが配置された場合には当該１つの前記中間ブロックにおける中間ブロック温度が均一値であるとし、前記複数の前記中間ブロックが配置された場合にはそれぞれの前記中間ブロックにおけるそれぞれの中間ブロック温度が均一値であるとした場合に、前記隣り合う２つの主ブロックにおける前記主ブロック温度に基づいて前記中間ブロック温度を取得する中間ブロック温度取得手段と、前記主ブロック温度及び前記中間ブロック温度に基づいて前記構造体モデルの構造解析を行い、前記構造体モデルにおける熱変位量を推定する構造解析手段とを備える。
【０００９】
温度センサは、主ブロックの内部に配置されるが、中間ブロックの内部には配置されていない。そのため、温度センサの数は、全体のブロック数より少ない。さらに、主ブロック温度は、主ブロックに配置される温度センサによる検出温度とする。一方、中間ブロック温度は、隣り合う２つの主ブロック温度に基づいて決定される。従って、隣り合う２つの主ブロックの間が、中間ブロックの存在によって、急激な温度変化となることが抑制される。つまり、温度センサの数を多くしないことによる低コスト化を図りつつ、且つ、中間ブロックによって主ブロックを繋ぐことにより、構造体モデルが大きく折れ曲がることが抑制されることによって高精度な熱変位量が推定される。
【００１０】
（請求項２）また、前記中間ブロック温度取得手段は、前記隣り合う２つの主ブロックにおける前記主ブロック温度の差が許容値以下であるか否かを判定し、前記主ブロック温度の差が許容値以下の場合に、前記中間ブロック温度を、前記隣り合う２つの主ブロックの何れか一方における主ブロック温度と同一温度とし、前記主ブロック温度の差が許容値を超える場合に、前記中間ブロック温度を、前記隣り合う２つの主ブロックにおける主ブロック温度の間の温度としてもよい。
【００１１】
中間ブロック温度取得部は、隣り合う２つの主ブロック温度の差が許容値を超える場合、すなわち、構造体モデルが大きく折れ曲がる場合に、中間ブロック温度を演算する。一方、中間ブロック温度取得部は、隣り合う２つの主ブロック温度の差が許容値以下の場合、すなわち、構造体モデルが大きく折れ曲がらない場合には、中間ブロック温度の演算を行わない。従って、中間ブロック温度取得部による演算負荷が低減する。
【００１２】
（請求項３）また、前記隣り合う２つの主ブロックの間に配置される前記中間ブロックの数は、前記隣り合う２つの主ブロックにおける主ブロック温度の最大差が大きいほど多く設定され、前記隣り合う２つの主ブロックにおける主ブロック温度の最大差が小さいほど少なく設定されるようにしてもよい。
【００１３】
隣り合う２つの主ブロックの間に存在する中間ブロックの数が多いほど、２つの主ブロックの間の温度変化を滑らかにできる。しかし、中間ブロックの数が多いほど、構造解析による演算量が多くなる。そこで、隣り合う２つの主ブロックの間に存在する中間ブロックの数を、２つの主ブロック温度の最大温度差に応じた数とすることで、構造解析による演算量が多くなることを抑制しつつ、温度変化を滑らかにできる。ここで、２つの主ブロック温度の最大差とは、予め実験又は解析によって得られた各々の主ブロック温度に基づいて決定する。
【００１４】
（請求項４）また、前記中間ブロックの領域は、前記主ブロックの領域より小さく設定されるようにしてもよい。主ブロック温度は温度センサによる検出温度であるが、中間ブロック温度は演算値である。そこで、温度センサによる検出温度を用いることができる主ブロックの領域が中間ブロックより大きく設定されることで、安定した熱変位量が得られる。
【００１５】
（請求項５）また、前記隣り合う２つの主ブロックの間に、一方の主ブロック側から他方の主ブロック側に向かう方向に複数の中間ブロックが配置され、前記中間ブロック温度取得手段は、前記一方の主ブロックにおける前記主ブロック温度が前記他方の主ブロックにおける前記主ブロック温度より高い場合に、前記一方の主ブロック側の前記中間ブロックにおける前記中間ブロック温度が、前記他方の主ブロック側の前記中間ブロックにおける前記中間ブロック温度より高い温度となるように、各々の前記中間ブロック温度を取得するようにしてもよい。隣り合う２つの主ブロックの間に複数の中間ブロックが存在する場合に、徐々に温度を変化させることで、隣り合う２つの主ブロックの間の温度変化がより滑らかとなる。その結果、高精度な熱変位量が推定される。
【００１６】
（請求項６）本発明に係る熱変位量推定方法は、工作機械の構造体モデルを複数のブロックに分割した場合に、前記複数のブロックの一部である複数の主ブロックの内部に複数の温度センサが配置されており、前記複数の主ブロックの各々における主ブロック温度が均一値であるとした場合に、前記複数の温度センサの各々による検出温度を、対応する前記複数の主ブロックの各々における主ブロック温度として取得する主ブロック温度取得工程と、前記複数の主ブロックのうち隣り合う２つの主ブロックの間に１つまたは複数の中間ブロックを配置した場合において、前記１つの前記中間ブロックが配置された場合には当該１つの前記中間ブロックにおける中間ブロック温度が均一値であるとし、前記複数の前記中間ブロックが配置された場合にはそれぞれの前記中間ブロックにおけるそれぞれの中間ブロック温度が均一値であるとした場合に、前記隣り合う２つの主ブロックにおける前記主ブロック温度に基づいて前記中間ブロック温度を取得する中間ブロック温度取得工程と、前記主ブロック温度及び前記中間ブロック温度に基づいて前記構造体モデルの構造解析を行い、前記構造体モデルにおける熱変位量を推定する構造解析工程とを備える。この場合、上述した熱変位量推定装置と同様の効果を奏する。
【００１７】
（請求項７）本発明に係る工作機械は、上述した熱変位量推定装置と、推定された前記熱変位量に基づいて前記工作機械の移動体の位置指令値を補正する補正装置とを備える。この場合、上述した熱変位量推定装置と同様の効果を奏する。
【図面の簡単な説明】
【００１８】
【図１】本実施形態の工作機械の機械構成を示す図である。
【図２】本実施形態の工作機械の非構造体の構成を示すブロック図である。
【図３】コラムの構造体モデルを示す斜視図である。
【図４】コラムの構造体モデルにおいて主ブロック及び中間ブロックを示す図である。
【図５】図２に示す熱変位量推定装置の中間ブロック温度取得部による処理を示すフローチャートである。
【発明を実施するための形態】
【００１９】
（１．工作機械の機械構成）
工作機械１０の一例としての横型マシニングセンタについて図１を参照して説明する。工作機械１０は移動軸として、相互に直交する３つの直進軸（Ｘ，Ｙ，Ｚ軸）および鉛直方向の回転軸（Ｂ軸）を有する工作機械である。なお、本発明が適用される工作機械１０は、以下に説明する工作機械１０に限られるものではない。
【００２０】
図１に示すように、工作機械１０の機械本体は、構造体としての、ベッド１１、コラム１２、サドル１３、主軸１４、スライドテーブル１５及びターンテーブル１６を備える。ベッド１１は、ほぼ矩形状からなり、床上に配置される。ベッド１１上には、コラム１２が、Ｘ軸方向（図１の紙面前後方向）に移動可能に設けられる。コラム１２の側面には、サドル１３が、Ｙ軸方向（図１の紙面上下方向）に移動可能に設けられる。サドル１３には、主軸１４が、Ｚ軸方向に平行な軸回りに回転可能に設けられる。主軸１４の先端には、回転工具１９が取り付けられる。また、ベッド１１上には、スライドテーブル１５がＺ軸方向に移動可能に設けられる。スライドテーブル１５上には、ターンテーブル１６がＹ軸回り（Ｂ軸）に回転可能に設けられる。ターンテーブル１６には、被加工物Ｗが治具を介して固定している。
【００２１】
（２．工作機械の非構造体の構成の概要）
図２に示すように、工作機械１０は、上述した構造体１１〜１６に加えて、非構造体としての、熱変位量推定装置２０、熱変位補正装置３０及び制御装置４０とを備える。制御装置４０は、移動する構造体１２〜１６（本発明の「移動体」に相当）を駆動するためのアクチュエータ（図示せず）を制御して、回転工具１９による被加工物Ｗの加工を行う。詳細には、制御装置４０は、移動する構造体１２〜１６に対する位置指令値に基づいて、各アクチュエータを制御する。
【００２２】
熱変位量推定装置２０は、構造体１１〜１６の所定位置に配置された複数の温度センサ２１ａ〜２１ｄの各々により検出される検出温度Ｔａ１〜Ｔａ４に基づいて、リアルタイムに構造体モデルの構造解析を行うことにより、各構造体１１〜１６の所定位置における熱変位量を推定する。
【００２３】
例えば、熱変位量推定装置２０は、コラム１２に配置された複数の温度センサ２１ａ〜２１ｄ（図１に示す）による検出温度Ｔａ１〜Ｔａ４に基づいてコラム１２の構造体モデルの構造解析を行うことにより、加工点熱変位に寄与するコラム１２のサドル１３との摺動面（図１の左側面）の複数位置における熱変位量を推定する。なお、複数の温度センサ２１ａ〜２１ｄは、コラム１２のみに限らず、工作機械１０の各構造体１１〜１６の所定位置に配置されるようにしてもよい。なお、熱変位量推定装置２０の詳細は、後述する。
【００２４】
熱変位補正装置３０は、工作機械１０の各構造体１１〜１６の熱変位に伴って生じる被加工物Ｗと回転工具１９との相対位置のずれを解消するために、移動する構造体１２〜１６の位置指令値に対する補正を行う。
【００２５】
具体的には、図２に示すように、熱変位補正装置３０は、補正値演算部３１と、補正部３２とを備える。補正値演算部３１は、熱変位量推定装置２０により得られた熱変位量に基づいて、リアルタイムに、移動する構造体１２〜１６に対する位置指令値の補正値を演算する。補正部３２は、補正値演算部３１により得られた補正値に基づいて、制御装置４０による位置指令値を補正する。
【００２６】
（３．構造解析の基本説明）
次に、熱変位量推定装置２０の構造解析部２４による構造解析の基本について説明する。工作機械１０の構造体の一つであるコラム１２の熱変位に伴う熱変位補正を行う場合を例に挙げて、コラム１２の熱変位量を推定する場合における構造解析の基本について図３を参照して説明する。なお、構造解析部２４による構造解析は、コラム１２の他に、ベッド１１などの他の構造体にも同様に適用できる。
【００２７】
構造解析部２４は、構造体モデルを用いて、有限要素法による構造解析を行う。図３において、太線Ｌ１は、コラム１２の形状線であり、細線Ｌ２は、有限要素法による構造解析における要素Ｓの境界線分である。各細線Ｌ２の端点が節点Ｐｏ１，Ｐｏ２，Ｐｏ３，・・・となる。図３においては、各要素Ｓは、四面体一次要素としている。なお、各要素Ｓは、四面体一次要素に限られることなく、四面体二次要素、六面体一次要素、六面体二次要素などを適用できる。
【００２８】
つまり、構造解析部２４は、図３の各要素Ｓに基づいて、コラム１２の構造体モデルについてリアルタイムに有限要素法による構造解析を行い、加工点熱変位に寄与するコラム１２の構造体モデルの一部の節点Ｐｏ１，Ｐｏ２，Ｐｏ３における熱変位量を推定する。ここで、コラム１２の構造体モデルについて有限要素法による構造解析における解析条件として、全ての節点の温度が必要である。
【００２９】
（４．構造解析のブロック化及びブロック温度の説明）
構造解析部２４は、構造体モデルの全ての節点の温度を実際の構造体１１〜１６の対応する位置における温度として構造解析を行うと、非常に多数の演算回数を要し、長時間の演算時間を要する。
【００３０】
そこで、構造解析部２４は、構造体モデルを複数のブロックに分割して、複数のブロックの各々のブロック温度が均一値であるとして、構造解析を行う。従って、構造解析部２４が構造解析に用いる各節点の温度は、実際の構造体１１〜１６の各部位の温度とは異なる値となるが、ブロック温度を均一値とすることにより、構造解析部２４による構造解析の演算量が大幅に低減し、高速な演算が可能となる。
【００３１】
コラム１２の構造体モデルを分割した複数のブロックＢａ１〜Ｂａ４、Ｂｂ１〜Ｂｂ１２について、図４を参照して説明する。図４に示すように、コラム１２の構造体モデルは、複数の主ブロックＢａ１〜Ｂａ４と、複数の中間ブロックＢｂ１〜Ｂｂ１２とに分割される。実際には、コラム１２の構造体モデルは、Ｘ軸方向についても複数のブロックに分割されるが、図４においては、簡易的に示すため、Ｙ−Ｚ平面のみにおいて分割するものとする。
【００３２】
複数の主ブロックＢａ１〜Ｂａ４は、コラム１２の構造体モデルの大部分を占める。複数の主ブロックＢａ１〜Ｂａ４の各々の内部には、各々の温度センサ２１ａ〜２１ｄが配置される。つまり、主ブロックＢａ１〜Ｂａ４の数は、温度センサ２１ａ〜２１ｄの数と一致する。複数の主ブロックＢａ１〜Ｂａ４の各々の主ブロック温度は、均一値であって、複数の温度センサ２１ａ〜２１ｄの各々による検出温度Ｔａ１〜Ｔａ４である。従って、主ブロックＢａ１〜Ｂａ４の各々に含まれる節点の温度は、対応する主ブロック温度Ｔａ１〜Ｔａ４とされる。例えば、主ブロックＢａ１に含まれる全ての節点の温度は、主ブロックＢａ１の内部に配置される温度センサ２１ａによる検出温度Ｔａ１となる。
【００３３】
複数の中間ブロックＢｂ１〜Ｂｂ１２は、主ブロックＢａ１〜Ｂａ４のうち隣り合う２つの主ブロックの間に配置される。中間ブロックＢｂ１〜Ｂｂ２は、主ブロックＢａ１，Ｂａ３の間に、一方の主ブロックＢａ１側から他方の主ブロックＢａ３側に向かう方向に並んで配置される。中間ブロックＢｂ３〜Ｂｂ６は、主ブロックＢａ１，Ｂａ２の間に、主ブロックＢａ１，Ｂａ２の隣り合う方向に並んで配置される。中間ブロックＢｂ７〜Ｂｂ１０は、主ブロックＢａ３，Ｂａ４の間に、主ブロックＢａ３，Ｂａ４の隣り合う方向に並んで配置される。中間ブロックＢｂ１１〜Ｂｂ１２は、主ブロックＢａ２，Ｂａ４の間に、主ブロックＢａ２，Ｂａ４の隣り合う方向に並んで配置される。
【００３４】
複数の中間ブロックＢｂ１〜Ｂｂ１２の領域は、主ブロックＢａ１〜Ｂａ４の領域より小さく設定される。例えば、中間ブロックＢｂ３〜Ｂｂ６は、主ブロックＢａ１，Ｂａ２の僅かな隙間に挿入されるイメージである。
【００３５】
また、主ブロックＢａ１，Ｂａ２の間、及び、主ブロックＢａ３，Ｂａ４の間には、それぞれ４つの中間ブロックＢｂ３〜Ｂｂ６、Ｂｂ７〜Ｂｂ１０が配置される。一方、主ブロックＢａ１，Ｂａ３の間、及び、主ブロックＢａ２，Ｂａ４の間には、それぞれ２つの中間ブロックＢｂ１〜Ｂｂ２、Ｂｂ１１〜Ｂｂ１２が配置される。なお、本実施形態においては、隣り合う２つの主ブロックの間に複数の中間ブロックが配置されるが、隣り合う２つの主ブロックの間に１つの中間ブロックのみが配置されるようにしてもよい。
【００３６】
ここで、主ブロックＢａ１〜Ｂａ４の各々に配置される温度センサ２１ａ〜２１ｄにより予め複数回計測しておき、それぞれの検出温度Ｔａ１〜Ｔａ４の最大値及び最小値を記録する。なお、コラム１２の構造体モデルの熱解析等によって、温度センサ２１ａ〜２１ｄの位置における温度Ｔａ１〜Ｔａ４の最大値及び最小値を得ることもできる。
【００３７】
そして、主ブロックＢａ１，Ｂａ２の各々に配置される温度センサ２１ａ，２１ｂの検出温度Ｔａ１，Ｔａ２の最大差は、主ブロックＢａ１，Ｂａ３の各々に配置される温度センサ２１ａ，２１ｃの検出温度Ｔａ１，Ｔａ３の最大差より大きいとする。また、主ブロックＢａ３，Ｂａ４の各々に配置される温度センサ２１ｃ，２１ｄの検出温度Ｔａ３，Ｔａ４の最大差は、主ブロックＢａ１，Ｂａ２の各々に配置される温度センサ２１ａ，２１ｂの検出温度Ｔａ１，Ｔａ２の最大差と同程度であるとする。主ブロックＢａ２，Ｂａ４の各々に配置される温度センサ２１ｂ，２１ｄの検出温度Ｔａ３，Ｔａ４の最大差は、主ブロックＢａ１，Ｂａ３の各々に配置される温度センサ２１ａ，２１ｃの検出温度Ｔａ１，Ｔａ３の最大差と同程度であるとする。
【００３８】
つまり、中間ブロックの数は、隣り合う２つの主ブロックにおける主ブロック温度の最大差が大きいほど多く設定され、隣り合う２つの主ブロックにおける主ブロック温度の最大差が小さいほど少なく設定される。
【００３９】
（５．熱変位量推定装置２０の詳細説明）
次に、熱変位量推定装置２０による熱変位量推定方法について、図２、図４及び図５を参照して説明する。熱変位量推定装置２０は、図２に示すように、温度センサ２１ａ〜２１ｄと、主ブロック温度取得部２２（主ブロック温度取得手段）と、中間ブロック温度取得部２３（中間ブロック温度取得手段）と、構造解析部２４（構造解析手段）とを備える。
【００４０】
温度センサ２１ａ〜２１ｄは、図１に示すように、コラム１２の内部に配置される。図４に示すように、各々の温度センサ２１ａ〜２１ｄは、主ブロックＢａ１〜Ｂａ４の内部に配置される。主ブロック温度取得部２２は、主ブロック温度Ｔａ１〜Ｔａ４を、対応する温度センサ２１ａ〜２１ｄの検出温度として取得する（主ブロック温度取得工程）。
【００４１】
中間ブロック温度取得部２３は、主ブロック温度Ｔａ１〜Ｔａ４に基づいて中間ブロック温度Ｔｂ１〜Ｔｂ１２を取得する（中間ブロック温度取得工程）。中間ブロックＢｂ３〜Ｂｂ６における中間ブロック温度Ｔｂ３〜Ｔｂ６の算出手順について、図５を参照して説明する。なお、他の中間ブロック温度Ｔｂ１〜Ｔｂ２、Ｔｂ７〜Ｔｂ１２の算出手順も、実質的に同様である。
【００４２】
中間ブロックＢｂ３〜Ｂｂ６は、隣り合う２つの主ブロックＢａ１，Ｂａ２の間に配置される。そこで、中間ブロック温度取得部２３は、主ブロックＢａ１，Ｂａ２の主ブロック温度Ｔａ１，Ｔａ２の差｜ΔＴａ１−ａ２｜を算出する（図５のＳ１）。
【００４３】
続いて、中間ブロック温度取得部２３は、差｜ΔＴａ１−ａ２｜が、許容値Ｔｈ以下であるか否かを判定する（図５のＳ２）。差｜ΔＴａ１−ａ２｜が許容値Ｔｈ以下である場合には、中間ブロック温度取得部２３は、中間ブロックＢｂ３，Ｂｂ４の中間ブロック温度Ｔｂ３，Ｔｂ４を主ブロック温度Ｔａ１とし、且つ、中間ブロックＢｂ５，Ｂｂ６の中間ブロック温度Ｔｂ５，Ｔｂ６を主ブロック温度Ｔａ２とする（図５のＳ３）。
【００４４】
つまり、主ブロック温度の差｜ΔＴａ１−ａ２｜が小さい場合には、中間ブロック温度Ｔｂ３〜Ｔｂ６は、主ブロック温度Ｔａ１，Ｔａ２の何れか一方と同一温度とする。ここでは、中間ブロックＢｂ３，Ｂｂ４は主ブロックＢａ１に近いため、中間ブロック温度Ｔｂ３，Ｔｂ４は、主ブロック温度Ｔａ１と同一温度とする。一方、中間ブロックＢｂ５，Ｂｂ６は主ブロックＢａ２に近いため、中間ブロック温度Ｔｂ５，Ｔｂ６は、主ブロック温度Ｔａ２と同一温度とする。なお、中間ブロック温度Ｔｂ３〜Ｔｂ６の全てが、主ブロック温度Ｔａ１，Ｔａ２の何れか一方と同一温度としてもよい。
【００４５】
これに対して、差｜ΔＴａ１−ａ２｜が許容値Ｔｈを超える場合には、中間ブロック温度取得部２３は、中間ブロックＢｂ３〜Ｂｂ６の中間ブロック温度Ｔｂ３〜Ｔｂ６を主ブロック温度Ｔａ１，Ｔａ２の間の温度とする（図５のＳ４）。具体的には、中間ブロック温度Ｔｂ３〜Ｔｂ６は、図５のＳ４に示す式により得られる温度とする。つまり、中間ブロック温度Ｔｂ３〜Ｔｂ６は、一方の主ブロックＢａ１側から他方の主ブロックＢａ２側に向かう方向に段階的に異なる温度とされる。なお、図５のＳ４に示す式における係数は、中間ブロックＢｂ３〜Ｂｂ６の領域の大きさ等に応じて適宜変更してもよい。
【００４６】
図２に示す構造解析部２４は、複数の主ブロックＢａ１〜Ｂａ４の各々における主ブロック温度Ｔａ１〜Ｔａ４、及び、複数の中間ブロックＢｂ１〜Ｂｂ１２の各々における中間ブロック温度Ｔｂ１〜Ｔｂ１２に基づいて、コラム１２の構造体モデルの構造解析を行う（構造解析工程）。
【００４７】
本実施形態においては、構造解析部２４は、コラム１２の構造体モデルについて有限要素法による構造解析を行い、コラム１２におけるサドル１３の摺動面のうち、所定の節点Ｐｏ１，Ｐｏ２，Ｐｏ３の熱変位量を推定する。構造解析の条件として、材料定数、各節点における温度、構造上の拘束条件、支持構造におけるばね要素等が必要となる。ここで、構造解析の条件のうち各節点における温度のみ変化するものであって、他の条件は既知である。そして、各節点における温度情報は、主ブロック温度取得部２２により取得された主ブロック温度Ｔａ１〜Ｔａ４、及び、中間ブロック温度取得部２３により取得された中間ブロック温度Ｔｂ１〜Ｔｂ１２を用いる。
【００４８】
構造解析部２４による構造解析は、式（１）のような行列演算式により表される。式（１）の演算回数は、Ｎpart1×２×Ｎblock回となる。ここで、以下の式において、行数および列数、もしくは要素数を示す表記としている。
【００４９】
【数１】
0006435654.tif 000002
【００５０】
ここで、｛δpart1｝は、節点Ｐｏ１，Ｐｏ２，Ｐｏ３の熱変位量ベクトル（要素数Ｎpart1）である。［Ｐ１part1］は、節点Ｐｏ１，Ｐｏ２，Ｐｏ３に関係する係数マトリックス（行数Ｎpart1、列数Ｎblock）である。｛Ｔblock｝は、各ブロックＢａ１〜Ｂａ４、Ｂｂ１〜Ｂｂ１２の温度ベクトル（要素数Ｎblock）である。つまり、｛Ｔblock｝は、主ブロック温度Ｔａ１〜Ｔａ４及び中間ブロック温度Ｔｂ１〜Ｔｂ１２を列ベクトルとして表示したものに相当する。
【００５１】
つまり、構造解析部２４は、予め記憶する係数マトリックス［Ｐ１part1］、主ブロック温度取得部２２により取得された主ブロック温度Ｔａ１〜Ｔａ４、及び、中間ブロック温度取得部２３により取得された中間ブロック温度Ｔｂ１〜Ｔｂ１２を用いて、式（１）に従って節点Ｐｏ１，Ｐｏ２，Ｐｏ３の熱変位量を得る。
【００５２】
（６．構造解析式の導出方法）
以下に、構造解析部２４による構造解析に用いる行列演算式（式（１））の導出方法について説明する。構造体モデルの剛性方程式は、式（２）により表される。｛ｆ｝は、各節点の外力ベクトル（要素数Ｎall）である。［Ｋ］は、剛性マトリックス（行数Ｎall、列数Ｎall）であって、コラム１２の材料定数およびコラム１２の形状により得られる既知の値である。｛δall｝は、各節点の変位ベクトル（要素数Ｎall）である。ａｌｌは、全ての節点数を意味する。明細書において用いるベクトルは、すべて列ベクトルを意味する。
【００５３】
【数２】
0006435654.tif 000003
【００５４】
また、節点の温度に応じた節点力の関係式は、式（３）により表される。［Ｆ］は、節点力係数マトリックス（行数Ｎall、列数Ｎall）であって、コラム１２の材料定数およびコラム１２の形状により得られる既知の値である。｛Ｔall｝は、各節点の温度ベクトル（要素数Ｎall）である。
【００５５】
【数３】
0006435654.tif 000004
【００５６】
式（２）（３）の左辺が共通するため、各節点の熱変位量ベクトル｛δall｝は式（４）のように表される。つまり、式（４）における各節点の熱変位量ベクトル｛δall｝は、各節点の熱変位量に相当する。ここで、後の説明の容易化のため、式（５）のように、剛性マトリックス［Ｋ］の逆行列と節点力係数マトリックス［Ｆ］の乗算行列は［Ｐ］と表す。
【００５７】
【数４】
0006435654.tif 000005
【００５８】
【数５】
0006435654.tif 000006
【００５９】
式（５）に基づいて全ての節点の熱変位量ベクトル｛δall｝、すなわち全ての節点の熱変位量を演算するためには、非常に多数の演算回数を要し、長時間の演算時間を要する。しかし、本実施形態においては、コラム１２の構造体モデルを複数に分割したブロックＢａ１〜Ｂａ４、Ｂｂ１〜Ｂａ１２の各々における節点の温度は、均一値である。つまり、温度の種類は、主ブロックＢａ１〜Ｂａ４及び中間ブロックＢｂ１〜Ｂａ１２の総数と同数となる。そうすると、上述した式（５）は、以下のように、式（６）のように表される。
【００６０】
【数６】
0006435654.tif 000007
【００６１】
式（６）の演算回数は、上述した式（５）の演算回数に比べると大幅に少なくできるが、以下のようにすることで、さらに少なくなる。熱変位量ベクトル｛δall｝は、コラム１２の構造体モデルの全ての節点における熱変位量を示している。しかし、熱変位補正装置３０による補正を行うためには、コラム１２全体の熱変位量は必要ではなく、コラム１２のうちサドル１３が摺動する部位だけで十分である。そこで、式（６）における熱変位量ベクトル｛δall｝を、コラム１２の一部の節点Ｐｏ１，Ｐｏ２，Ｐｏ３における熱変位量ベクトル｛δpart1｝と、それ以外の部位の節点における熱変位量ベクトル｛δpart2｝とに分けて表すと、式（７）のようになる。
【００６２】
【数７】
0006435654.tif 000008
【００６３】
式（７）のうち、コラム１２の構造体モデルの節点Ｐｏ１，Ｐｏ２，Ｐｏ３における熱変位量ベクトル｛δpart1｝のみを抽出すると、上述した式（１）のように表すことができる。
【００６４】
（７．効果）
温度センサ２１ａ〜２１ｄは、主ブロックＢａ１〜Ｂａ４の内部に配置されるが、中間ブロックＢｂ１〜Ｂｂ１２の内部には配置されていない。そのため、温度センサ２１ａ〜２１ｄの数は、全体のブロック数より少ない。さらに、主ブロック温度Ｔａ１〜Ｔａ４は、主ブロックＢａ１〜Ｂａ４に配置される温度センサ２１ａ〜２１ｄによる検出温度とする。一方、中間ブロック温度Ｔｂ３〜Ｔｂ６は、隣り合う２つの主ブロック温度Ｔａ１，Ｔａ２に基づいて決定される。従って、隣り合う２つの主ブロックＢａ１，Ｂａ２の間が、中間ブロックＢｂ３〜Ｂｂ６の存在によって、急激な温度変化となることが抑制される。つまり、温度センサ２１ａ〜２１ｄの数を多くしないことによる低コスト化を図りつつ、且つ、中間ブロックＢｂ１〜Ｂｂ１２によって主ブロックＢａ１〜Ｂａ４を繋ぐことにより、コラム１２の構造体モデルが大きく折れ曲がることが抑制されることによって高精度な熱変位量が推定される。
【００６５】
また、中間ブロック温度取得部２３は、隣り合う２つの主ブロックＢａ１，Ｂａ２における主ブロック温度Ｔａ１，Ｔａ２の差｜ΔＴａ１−ａ２｜が許容値Ｔｈ以下の場合に、中間ブロック温度Ｔｂ３〜Ｔｂ６を、隣り合う２つの主ブロックＢａ１，Ｂａ２の何れか一方における主ブロック温度Ｔａ１，Ｔａ２と同一温度とする。一方、中間ブロック温度取得部２３は、主ブロック温度Ｔａ１，Ｔａ２の差｜ΔＴａ１−ａ２｜が許容値Ｔｈを超える場合に、中間ブロック温度Ｔｂ３〜Ｔｂ６を、隣り合う２つの主ブロックＢａ１，Ｂａ２における主ブロック温度Ｔａ１，Ｔａ２の間の温度とする。
【００６６】
中間ブロック温度取得部２３は、隣り合う２つの主ブロック温度Ｔａ１，Ｔａ２の差｜ΔＴａ１−ａ２｜が許容値Ｔｈを超える場合、すなわち、コラム１２の構造体モデルが大きく折れ曲がるようになる場合に、中間ブロック温度Ｔｂ３〜Ｔｂ６を演算する。一方、中間ブロック温度取得部２３は、隣り合う２つの主ブロック温度Ｔａ１，Ｔａ２の差｜ΔＴａ１−ａ２｜が許容値Ｔｈ以下の場合、すなわち、コラム１２の構造体モデルが大きく折れ曲がらない場合には、中間ブロック温度Ｔｂ３〜Ｔｂ６の演算を行わない。従って、中間ブロック温度取得部２３による演算負荷が低減する。
【００６７】
さらに、隣り合う２つの主ブロックの間に配置される中間ブロックの数は、隣り合う２つの主ブロックにおける主ブロック温度の最大差が大きいほど多く設定され、隣り合う２つの主ブロックにおける主ブロック温度の最大差が小さいほど少なく設定される。
【００６８】
そして、隣り合う２つの主ブロックの間に存在する中間ブロックの数が多いほど、２つの主ブロックの間の温度変化を滑らかにできる。しかし、中間ブロックの数が多いほど、構造解析による演算量が多くなる。そこで、隣り合う２つの主ブロックの間に存在する中間ブロックの数を、２つの主ブロック温度の最大温度差に応じた数とすることで、構造解析による演算量が多くなることを抑制しつつ、温度変化を滑らかにできる。
【００６９】
また、中間ブロックＢｂ１〜Ｂｂ１２の領域は、主ブロックＢａ１〜Ｂａ４の領域より小さく設定される。主ブロック温度Ｔａ１〜Ｔａ４は温度センサ２１ａ〜２１ｄによる検出温度であるが、中間ブロック温度Ｔｂ１〜Ｔｂ１２は演算値である。そこで、温度センサ２１ａ〜２１ｄによる検出温度Ｔａ１〜Ｔａ４を用いることができる主ブロックＢａ１〜Ｂａ４の領域が中間ブロックＢｂ１〜Ｂｂ１２より大きく設定されることで、安定した熱変位量が得られる。
【００７０】
また、図５のＳ４に示すように、中間ブロック温度取得部２３は、複数の中間ブロックＢｂ３〜Ｂｂ６の各々の中間ブロック温度Ｔｂ３〜Ｔｂ６を、一方の主ブロックＢａ１側から他方の主ブロックＢａ２側に向かう方向に段階的に異なる温度として取得する。隣り合う２つの主ブロックＢａ１，Ｂａ２の間に複数の中間ブロックＢｂ３〜Ｂｂ６が存在する場合に、徐々に温度を変化させることで、隣り合う２つの主ブロックＢａ１，Ｂａ２の間の温度変化がより滑らかとなる。その結果、高精度な熱変位量が推定される。
【符号の説明】
【００７１】
１０：工作機械、  １１：ベッド、  １２：コラム、  １３：サドル、  １４：主軸、  １５：スライドテーブル、  １６：ターンテーブル、  １９：回転工具、  ２０：熱変位量推定装置、  ２１ａ−２１ｄ：温度センサ、  ２２：主ブロック温度取得部、  ２３：中間ブロック温度取得部、  ２４：構造解析部、  ３０：熱変位補正装置、  ４０：制御装置、  Ｂａ１−Ｂａ４：主ブロック、  Ｂｂ１１−Ｂｂ１２：中間ブロック、  Ｐｏ１，Ｐｏ２，Ｐｏ３：節点、  Ｔａ１−Ｔａ４：主ブロック温度、温度センサによる検出温度、  Ｔｂ１−Ｔｂ１２：中間ブロック温度
【図１】
0006435654.tif 000009
【図２】
0006435654.tif 000010
【図３】
0006435654.tif 000011
【図４】
0006435654.tif 000012
【図５】
0006435654.tif 000013