(57)【特許請求の範囲】
【請求項１】
工作機械であって、
工具を保持する工具ホルダを装着可能に構成される主軸と、
前記工具ホルダによる前記工具の保持状態を表わす状態指標を取得するための取得部と、
前記主軸を回転駆動するための回転駆動部と、
前記主軸の位置を変化させるための位置駆動部と、
前記工作機械を制御するための制御部とを備え、
前記制御部は、
前記取得部から比較対象の状態指標を取得する処理と、
前記比較対象の状態指標を基準の状態指標と比較することで、前記工具ホルダに対する前記工具のずれが発生していることを検知する処理とを実行し、
前記検知する処理で検知され得る前記ずれは、前記工具ホルダに対する前記工具の回転ずれを含む、工作機械。
【請求項２】
工作機械であって、
工具を保持する工具ホルダを装着可能に構成される主軸と、
前記工具ホルダによる前記工具の保持状態を表わす状態指標を取得するための取得部と、
前記主軸を回転駆動するための回転駆動部と、
前記主軸の位置を変化させるための位置駆動部と、
前記工作機械を制御するための制御部とを備え、
前記制御部は、
前記取得部から比較対象の状態指標を取得する処理と、
前記比較対象の状態指標を基準の状態指標と比較することで、前記工具ホルダに対する前記工具のずれが発生していることを検知する処理とを実行し、
前記取得部は、前記回転駆動部を制御して予め定められた回転角度に前記主軸を回転するとともに、前記位置駆動部を制御して予め定められた位置に前記主軸を駆動したことに基づいて、前記比較対象の状態指標を取得する、工作機械。
【請求項３】
前記制御部は、さらに、第１タイミングにおいて、前記回転駆動部を制御して前記予め定められた回転角度に前記主軸を回転するとともに、前記位置駆動部を制御して前記予め定められた位置に前記主軸を駆動し、前記取得部から前記基準の状態指標を取得する処理を実行し、
前記比較対象の状態指標を取得する処理は、前記第１タイミングの後の第２タイミングにおいて実行される、請求項２に記載の工作機械。
【請求項４】
前記取得部は、カメラを含み、
前記カメラは、前記主軸が前記予め定められた位置にあるときにおいて、前記工具を撮像するように配置され、
前記状態指標は、前記カメラから得られた画像を含む、請求項２または３に記載の工作機械。
【請求項５】
前記取得部は、距離センサを含み、
前記距離センサは、前記主軸が前記予め定められた位置にあるときにおいて、前記距離センサから前記工具の表面までの距離を計測可能なように配置され、
前記状態指標は、前記距離センサから得られた前記距離を含む、請求項２〜４のいずれか１項に記載の工作機械。
【請求項６】
工作機械であって、
工具を保持する工具ホルダを装着可能に構成される主軸と、
前記工具ホルダによる前記工具の保持状態を表わす状態指標を取得するための取得部と、
前記主軸を回転駆動するための回転駆動部と、
前記主軸の位置を変化させるための位置駆動部と、
前記工作機械を制御するための制御部とを備え、
前記制御部は、
前記取得部から比較対象の状態指標を取得する処理と、
前記比較対象の状態指標を基準の状態指標と比較することで、前記工具ホルダに対する前記工具のずれが発生していることを検知する処理とを実行し、
前記取得部は、前記主軸または前記工具の振動周期を検知するための振動センサを含み、
前記状態指標は、前記工具がワークを加工している際に前記振動センサに検知された振動周期を含む、工作機械。
【請求項７】
前記検知する処理で検知され得る前記ずれは、前記工具ホルダに対する前記工具の位置ずれを含む、請求項１〜６のいずれか１項に記載の工作機械。
【請求項８】
工作機械であって、
工具を保持する工具ホルダを装着可能に構成される主軸と、
前記工具ホルダによる前記工具の保持状態を表わす状態指標を取得するための取得部と、
前記主軸を回転駆動するための回転駆動部と、
前記主軸の位置を変化させるための位置駆動部と、
前記工作機械を制御するための制御部とを備え、
前記制御部は、
前記取得部から比較対象の状態指標を取得する処理と、
前記比較対象の状態指標を基準の状態指標と比較することで、前記工具ホルダに対する前記工具のずれが発生していることを検知する処理とを実行し、
前記検知する処理で検知され得る前記ずれは、
前記工具ホルダに対する前記工具の回転ずれと、
前記工具ホルダに対する前記工具の位置ずれとを含み、
前記制御部は、さらに、前記検知する処理で前記ずれを検知した場合に、前記ずれが前記回転ずれであるか前記位置ずれであるかを出力する処理を実行する、工作機械。
【請求項９】
工作機械における異常の検知方法であって、
前記工作機械は、
工具を保持する工具ホルダを装着可能に構成される主軸と、
前記工具ホルダによる前記工具の保持状態を表わす状態指標を取得するための取得部と、
前記主軸を回転駆動するための回転駆動部と、
前記主軸の位置を変化させるための位置駆動部とを備え、
前記検知方法は、
前記取得部から比較対象の状態指標を取得するステップと、
前記比較対象の状態指標を基準の状態指標と比較することで、前記工具ホルダに対する前記工具のずれが発生していることを検知するステップとを備え、
前記検知するステップで検知され得る前記ずれは、前記工具ホルダに対する前記工具の回転ずれを含む、検知方法。
【請求項１０】
工作機械における異常の検知プログラムであって、
前記工作機械は、
工具を保持する工具ホルダを装着可能に構成される主軸と、
前記工具ホルダによる前記工具の保持状態を表わす状態指標を取得するための取得部と、
前記主軸を回転駆動するための回転駆動部と、
前記主軸の位置を変化させるための位置駆動部とを備え、
前記検知プログラムは、前記工作機械に、
前記取得部から比較対象の状態指標を取得するステップと、
前記比較対象の状態指標を基準の状態指標と比較することで、前記工具ホルダに対する前記工具のずれが発生していることを検知するステップとを実行させ、
前記検知するステップで検知され得る前記ずれは、前記工具ホルダに対する前記工具の回転ずれを含む、検知プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、工具ホルダに対する工具のずれを検知するための技術に関する。
【背景技術】
【０００２】
工作機械で用いられる工具は、工具ホルダを介して主軸に取り付けられる。すなわち、工具ホルダは、工具と主軸との間の接続のインターフェイスとして機能する。
【０００３】
特開２００２−２００５４２号公報（特許文献１）には、工具ホルダによるチャックエラーを検出することを目的とした、工作機械を開示している。当該工作機械は、主軸に装着された工具ホルダのフランジ部の外周面までの距離の変化を、ツールホルダの回転角度に対応させて測定することにより、工具ホルダのチャックミスの有無を判断する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−２００５４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ワークの加工中には、大きな負荷が工具にかかる。そのため、工具ホルダに対して工具がずれることがある。工具ずれは、ワークの加工品質の低下の原因になったり、工具ホルダまたは工具の消耗の原因となる。これらを回避するためには、工具ずれを検知する必要がある。特許文献１に開示される工作機械は、工具の装着時におけるチャックミスを検知するものであり、工具ホルダに対する工具ずれを検知するものではない。したがって、工具ずれを検知するための技術が望まれている。
【課題を解決するための手段】
【０００６】
本開示の一例では、工作機械は、工具を保持する工具ホルダを装着可能に構成される主軸と、上記工具ホルダによる上記工具の保持状態を表わす状態指標を取得するための取得部と、上記主軸を回転駆動するための回転駆動部と、上記主軸の位置を変化させるための位置駆動部と、上記工作機械を制御するための制御部とを備える。上記制御部は、上記取得部から比較対象の状態指標を取得する処理と、上記比較対象の状態指標を基準の状態指標と比較することで、上記工具ホルダに対する上記工具のずれが発生していることを検知する処理とを実行する。
【０００７】
本開示の一例では、上記取得部は、上記回転駆動部を制御して予め定められた回転角度に上記主軸を回転するとともに、上記位置駆動部を制御して予め定められた位置に上記主軸を駆動したことに基づいて、上記比較対象の状態指標を取得する。
【０００８】
本開示の一例では、上記制御部は、さらに、第１タイミングにおいて、上記回転駆動部を制御して上記予め定められた回転角度に上記主軸を回転するとともに、上記位置駆動部を制御して上記予め定められた位置に上記主軸を駆動し、上記取得部から上記基準の状態指標を取得する処理を実行する。上記比較対象の状態指標を取得する処理は、上記第１タイミングの後の第２タイミングにおいて実行される。
【０００９】
本開示の一例では、上記取得部は、カメラを含む。上記カメラは、上記主軸が上記予め定められた位置にあるときにおいて、上記工具を撮像するように配置される。上記状態指標は、上記カメラから得られた画像を含む。
【００１０】
本開示の一例では、上記取得部は、距離センサを含む。上記距離センサは、上記主軸が上記予め定められた位置にあるときにおいて、上記距離センサから上記工具の表面までの距離を計測可能なように配置される。上記状態指標は、上記距離センサから得られた上記距離を含む。
【００１１】
本開示の一例では、上記取得部は、上記主軸または上記工具の振動周期を検知するための振動センサを含む。上記状態指標は、上記工具がワークを加工している際に上記振動センサに検知された振動周期を含む。
【００１２】
本開示の一例では、上記検知する処理で検知され得る上記ずれは、上記工具ホルダに対する上記工具の回転ずれを含む。
【００１３】
本開示の一例では、上記検知する処理で検知され得る上記ずれは、上記工具ホルダに対する上記工具の位置ずれを含む。
【００１４】
本開示の一例では、上記検知する処理で検知され得る上記ずれは、上記工具ホルダに対する上記工具の回転ずれと、上記工具ホルダに対する上記工具の位置ずれとを含む。上記制御部は、さらに、上記検知する処理で上記ずれを検知した場合に、上記ずれが上記回転ずれであるか上記位置ずれであるかを出力する処理を実行する。
【００１５】
本開示の他の例では、工作機械における異常の検知方法が提供される。上記工作機械は、工具を保持する工具ホルダを装着可能に構成される主軸と、上記工具ホルダによる上記工具の保持状態を表わす状態指標を取得するための取得部と、上記主軸を回転駆動するための回転駆動部と、上記主軸の位置を変化させるための位置駆動部とを備える。上記検知方法は、上記取得部から比較対象の状態指標を取得するステップと、上記比較対象の状態指標を基準の状態指標と比較することで、上記工具ホルダに対する上記工具のずれが発生していることを検知するステップとを備える。
【００１６】
本開示の他の例では、工作機械における異常の検知プログラムが提供される。上記工作機械は、工具を保持する工具ホルダを装着可能に構成される主軸と、上記工具ホルダによる上記工具の保持状態を表わす状態指標を取得するための取得部と、上記主軸を回転駆動するための回転駆動部と、上記主軸の位置を変化させるための位置駆動部とを備える。上記検知プログラムは、上記工作機械に、上記取得部から比較対象の状態指標を取得するステップと、上記比較対象の状態指標を基準の状態指標と比較することで、上記工具ホルダに対する上記工具のずれが発生していることを検知するステップとを実行させる。
【００１７】
本発明の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解される本発明に関する次の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【００１８】
【図１】工作機械の外観を示す図である。
【図２】主軸頭の内部を示す断面図である。
【図３】工具ずれを検知するための装置構成の一例を示す図である。
【図４】工作機械における駆動機構の構成例を示す図である。
【図５】工作機械の機能構成の一例を示す図である。
【図６】工具の回転ずれが生じている例を示す図である。
【図７】工具の位置ずれが生じている例を示す図である。
【図８】工具ずれが生じていない例を示す図である。
【図９】ＮＣ（Numerical Control）装置のハードウェア構成の一例を示す図である。
【図１０】情報処理装置のハードウェア構成の一例を示す図である。
【図１１】基準画像の取得処理の流れを示すフローチャートである。
【図１２】工具ずれの検知処理の流れを示すフローチャートである。
【図１３】変形例１に従う工作機械の機能構成の一例を示す図である。
【図１４】工具ずれが生じている場合の例を説明するための図である。
【図１５】変形例２に従う工作機械の機能構成の一例を示す図である。
【図１６】工具ずれが生じている場合の例を説明するための図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。なお、以下で説明される各実施の形態および各変形例は、適宜選択的に組み合わされてもよい。
【００２０】
＜Ａ．工作機械１００の構成＞
まず、図１を参照して、工作機械１００の構成について説明する。図１は、工作機械１００の外観を示す図である。
【００２１】
工作機械１００は、ワークの加工機である。一例として、工作機械１００は、ワークの除去加工（ＳＭ（Subtractive manufacturing）加工）を行う工作機械である。あるいは、工作機械１００は、ワークの付加加工（ＡＭ（Additive manufacturing）加工）を行う工作機械であってもよい。また、工作機械１００は、立形のマシニングセンタや横形のマシニングセンタやターニングセンタであってもよい。あるいは、工作機械１００は、旋盤であってもよいし、その他の切削機械や研削機械であってもよい。さらに、工作機械は、これらを複合した複合機であってもよい。
【００２２】
工作機械１００は、加工エリアＡＲ１と、工具エリアＡＲ２とを有する。加工エリアＡＲ１には、主軸頭１３０が設けられている。工具エリアＡＲ２には、工具の自動交換を行うＡＴＣ（Auto Tool Changer）と、種々の工具とが設けられている。
【００２３】
ＡＴＣは、工具の交換指示を受け付けたことに基づいて、加工プログラムで指定された工具を工具エリアＡＲ２から取得し、当該工具を主軸頭１３０に装着する。工具が主軸頭１３０に装着されたことに基づいて、工作機械１００は、加工プログラムに従って加工エリアＡＲ１内でワークの加工を開始する。ワークの加工が完了すると、ＡＴＣは、工具エリアＡＲ２において使用済みの工具を取り外すとともに、次の工具を主軸頭１３０に取り付ける。
【００２４】
＜Ｂ．主軸頭１３０の内部構造＞
次に、図２を参照して、主軸頭１３０の内部構造について説明する。図２は、主軸頭１３０の内部を示す断面図である。
【００２５】
主軸頭１３０は、主軸筒１３１と、主軸１３２とを含む。主軸１３２は、主軸筒１３１により回転可能に支持されている。主軸１３２は、モータ駆動により、Ｚ軸に平行な中心軸ＡＸを中心に回転する。
【００２６】
主軸１３２には、工具ホルダ１３３を介して工具１３４が接続される。工具１３４は、工具ホルダ１３３によって固定されている。工具ホルダ１３３は、主軸１３２と工具１３４との間の接続のインターフェイスとして機能する。
【００２７】
工具ホルダ１３３の内部には、コレットチャック（図示しない）が設けられる。コレットチャックは、筒形状を有するチャックである。コレットチャックには、Ｚ軸方向に複数の切れ込み部分が形成されている。工具１３４の端部（シャンク）がコレットチャックに挿入されることで、コレットチャックが工具１３４から外力を受け、コレットチャックの切れ込み部分が閉じる。これにより、工具１３４が工具ホルダ１３３に対して固定される。また、コレットチャックに替えて油圧の作用によって工具ホルダ内部でシャンクを保持するハイドロチャックが用いられる場合もある。
【００２８】
このように、工具１３４は、工具ホルダ１３３内部で種々の方法によって固定されているが、加工中には、大きな負荷が工具１３４にかかるため、工具ホルダ１３３に対して工具１３４がずれてしまうことがある。以下では、工具ホルダ１３３に対する工具１３４のずれを「工具ずれ」ともいう。「工具ずれ」は、当初の固定角度から工具１３４が回転してしまう回転ずれや、当初の固定位置から工具１３４の位置が変わってしまう位置ずれなどを含む概念である。
【００２９】
＜Ｃ．工具ずれの検知処理の概略＞
次に、図３を参照して、工具ずれの検知処理の概略について説明する。図３は、工具ずれを検知するための装置構成の一例を示す図である。
【００３０】
工具ずれは、ワークの加工品質の低下の原因になったり、工具ホルダ１３３や工具１３４の消耗の原因となる。これらを回避するために、工作機械１００は、工具ずれを検知する機能を有する。
【００３１】
図３の例では、主軸頭１３０が加工エリアＡＲ１に設けられており、撮影部１４０と、照明１４５，１４７とが工具エリアＡＲ２に設けられている。撮影部１４０は、カメラ１４１と、対物レンズ１４２とで構成されている。
【００３２】
照明１４５は、たとえば、リング照明であり、対物レンズ１４２を囲むように設置される。照明１４５は、カメラ１４１の撮影視野内にある物体に光を照射する。当該物体からの反射光は、対物レンズ１４２に入射する。
【００３３】
照明１４７は、対物レンズ１４２および照明１４５に対向するように設けられる。照明１４７は、カメラ１４１の撮影視野内にある物体に撮影方向の反対側から光を照射する。その結果、照明１４７から照射された光は、カメラ１４１の撮影視野に含まれる物体に遮られ、当該物体に遮られなかった光がカメラ１４１に入射する。これにより、影絵を表わす画像が得られる。
【００３４】
詳細については後述するが、主軸頭１３０は、駆動可能に構成される。一例として、主軸頭１３０は、Ｘ軸方向、Ｙ軸方向、Ｚ軸方向、およびＢ軸方向に駆動可能に構成される。本明細書では、Ｘ軸方向は、鉛直方向を示す。Ｙ軸方向は、Ｘ軸方向に直交する水平面上の一方向（紙面奥行き方向）を示す。Ｚ軸方向は、Ｘ軸方向およびＹ軸方向の両方に直交する水平面上の一方向向（紙面上下方向）を示す。Ｂ軸方向は、Ｙ軸方向を回転軸中心とした回転方向を示す。
【００３５】
工作機械１００は、工具ずれの検知処理を実行する際に、カメラ１４１の撮影視野に工具１３４が含まれるように主軸頭１３０を駆動する。その後、工作機械１００は、カメラ１４１に撮影指示を出力し、工具１３４を表した入力画像をカメラ１４１から取得する。次に、工作機械１００は、取得した入力画像を予め保持している基準画像と比較することで、工具ずれが生じているか否かを判断する。これにより、工作機械１００は、工具ずれを検知でき、ワークの加工品質の低下や、工具ホルダ１３３および工具１３４の消耗を未然に防ぐことができる。
【００３６】
なお、上述では、画像を用いて工具ずれを検知する方法について説明を行ったが、工具ホルダ１３３による工具１３４の保持状態を表わす状態指標は、画像に限定されない。状態指標の他の例については、後述の「Ｊ．変形例１」および「Ｋ．変形例２」において説明する。
【００３７】
＜Ｄ．工作機械１００の駆動機構＞
次に、図４を参照して、工作機械１００における各種の駆動機構について説明する。図４は、工作機械１００における駆動機構の構成例を示す図である。
【００３８】
図４に示されるように、工作機械１００は、制御部５０と、回転駆動部１１０Ａと、位置駆動部１１０Ｂと、撮影部１４０とを含む。
【００３９】
本明細書でいう「制御部５０」とは、工作機械１００を制御する装置を意味する。制御部５０の装置構成は、任意である。制御部５０は、単体の制御ユニットで構成されてもよいし、複数の制御ユニットで構成されてもよい。図４の例では、制御部５０は、ＮＣ装置３０と、情報処理装置４０とで構成されている。ＮＣ装置３０および情報処理装置４０は、通信経路ＮＷ（たとえば、無線ＬＡＮ、有線ＬＡＮ、フィールドネットワークなど）を介して互いに通信を行う。
【００４０】
ＮＣ装置３０は、バスを介してＮＣ装置３０と接続されるＣＰＵユニット（図示しない）から加工開始指令を受けたことに基づいて、予め設計されている加工プログラムの実行を開始する。当該加工プログラムは、たとえば、ＮＣ（Numerical Control）プログラムで記述されている。ＮＣ装置３０は、当該加工プログラムに従って、回転駆動部１１０Ａおよび位置駆動部１１０Ｂを制御することで主軸頭１３０を駆動し、ワークを加工する。
【００４１】
本明細書でいう「回転駆動部１１０Ａ」とは、主軸１３２の角度を変えるための駆動機構のことを言う。回転駆動部１１０Ａは、Ｘ軸方向を回転軸中心とした回転方向（Ａ軸）、Ｙ軸方向を回転軸中心とした回転方向（Ｂ軸）、および、Ｚ軸方向を回転軸中心とした回転方向（Ｃ軸）の少なくとも１つの角度を調整するように構成されればよい。回転駆動部１１０Ａの装置構成は、任意である。回転駆動部１１０Ａは、単体の駆動ユニットで構成されてもよいし、複数の駆動ユニットで構成されてもよい。図４の例では、回転駆動部１１０Ａは、サーボドライバ１１１Ｂ、１１１Ｃで構成されている。
【００４２】
本明細書でいう「位置駆動部１１０Ｂ」とは、主軸１３２の位置を変えるための駆動機構のことを言う。位置駆動部１１０Ｂは、Ｘ軸方向、Ｙ軸方向およびＺ軸方向の少なくとも１つの位置を調整するように構成されればよい。位置駆動部１１０Ｂの装置構成は、任意である。位置駆動部１１０Ｂは、単体の駆動ユニットで構成されてもよいし、複数の駆動ユニットで構成されてもよい。図４の例では、位置駆動部１１０Ｂは、サーボドライバ１１１Ｘ〜１１１Ｚで構成されている。
【００４３】
サーボドライバ１１１Ｂは、ＮＣ装置３０から目標回転速度の入力を逐次的に受け、Ｙ軸方向を中心としたＢ軸方向に主軸頭１３０を回転駆動するためのサーボモータ（図示しない）を制御する。
【００４４】
より具体的には、サーボドライバ１１１Ｂは、当該サーボモータの回転角度を検知するためのエンコーダ（図示しない）のフィードバック信号から当該サーボモータの実回転速度を算出し、当該実回転速度が目標回転速度よりも小さい場合には当該サーボモータの回転速度を上げ、当該実回転速度が目標回転速度よりも大きい場合には当該サーボモータの回転速度を下げる。このように、サーボドライバ１１１Ｂは、当該サーボモータの回転速度のフィードバックを逐次的に受けながら当該サーボモータの回転速度を目標回転速度に近付ける。これにより、サーボドライバ１１１Ｂは、Ｂ軸方向における主軸頭１３０の回転速度を調整する。
【００４５】
サーボドライバ１１１Ｃは、ＮＣ装置３０から目標回転速度の入力を逐次的に受け、Ｚ軸方向を中心としたＣ軸方向に主軸１３２を回転駆動するためのサーボモータ（図示しない）を制御する。
【００４６】
より具体的には、サーボドライバ１１１Ｃは、当該サーボモータの回転角度を検知するためのエンコーダ（図示しない）のフィードバック信号から当該サーボモータの実回転速度を算出し、当該実回転速度が目標回転速度よりも小さい場合には当該サーボモータの回転速度を上げ、当該実回転速度が目標回転速度よりも大きい場合には当該サーボモータの回転速度を下げる。このように、サーボドライバ１１１Ｃは、当該サーボモータの回転速度のフィードバックを逐次的に受けながら当該サーボモータの回転速度を目標回転速度に近付ける。これにより、サーボドライバ１１１Ｃは、Ｃ軸方向における主軸１３２の回転速度を調整する。
【００４７】
サーボドライバ１１１Ｘは、ＮＣ装置３０から目標位置の入力を逐次的に受け、サーボモータ（図示しない）を制御する。当該サーボモータは、主軸頭１３０が取り付けられている移動体をボールネジ（図示しない）を介して送り駆動し、Ｘ軸方向の任意の位置に主軸頭１３０を移動する。サーボドライバ１１１Ｘによる当該サーボモータの制御方法は、サーボドライバ１１１Ｂ、１１１Ｃと同様であるので、その説明については繰り返さない。
【００４８】
サーボドライバ１１１Ｙは、ＮＣ装置３０から目標位置の入力を逐次的に受け、サーボモータ（図示しない）を制御する。当該サーボモータは、主軸頭１３０が取り付けられている移動体をボールネジ（図示しない）を介して送り駆動し、Ｙ軸方向の任意の位置に主軸１３２を移動する。サーボドライバ１１１Ｙによる当該サーボモータの制御方法は、サーボドライバ１１１Ｂ、１１１Ｃと同様であるので、その説明については繰り返さない。
【００４９】
サーボドライバ１１１Ｚは、ＮＣ装置３０から目標位置の入力を逐次的に受け、サーボモータ（図示しない）を制御する。当該サーボモータは、主軸頭１３０が取り付けられている移動体をボールネジ（図示しない）を介して送り駆動し、Ｚ軸方向の任意の位置に主軸１３２を移動する。サーボドライバ１１１Ｚによる当該サーボモータの制御方法は、サーボドライバ１１１Ｂ、１１１Ｃと同様であるので、その説明については繰り返さない。
【００５０】
なお、上述では、回転駆動部１１０Ａがサーボモータ用のサーボドライバである例について説明を行ったが、回転駆動部１１０Ａは、その他のモータドライバで構成されてもよい。一例として、回転駆動部１１０Ａは、ステッピングモータ用の１つ以上のモータドライバで構成されてもよい。同様に、位置駆動部１１０Ｂは、ステッピングモータ用の１つ以上のモータドライバで構成されてもよい。
【００５１】
＜Ｅ．工作機械１００の機能構成＞
図５〜図８を参照して、工具ずれの検知機能を実現するための機能構成について説明する。図５は、工作機械１００の機能構成の一例を示す図である。
【００５２】
工作機械１００は、機能構成として、基準指標受付部１５２と、入力指標受付部１５４と、工具ずれ検知部１５６とを含む。以下では、これらの構成について順に説明する。
【００５３】
なお、各機能構成の配置は、任意である。一例として、図５に示される機能構成の全ては、上述のＮＣ装置３０（図４参照）に実装されてもよいし、上述の情報処理装置４０に実装されてもよい。あるいは、図５に示される機能構成の一部がＮＣ装置３０に実装され、残りの機能構成が情報処理装置４０に実装されてもよい。あるいは、図５に示される機能構成の一部は、サーバーなどの外部装置に実装されてもよいし、専用のハードウェアに実装されてもよい。
【００５４】
（Ｅ１．基準指標受付部１５２）
まず、図５に示される基準指標受付部１５２の機能について説明する。基準指標受付部１５２は、工具１３４の正しい姿勢を表わした基準画像１２４を取得する。
【００５５】
より具体的には、制御部５０は、回転駆動部１１０Ａ（図４参照）を制御することで予め定められた回転角度に主軸１３２を回転するとともに、位置駆動部１１０Ｂ（図４参照）を制御することで予め定められた位置に主軸１３２を移動する。その後、カメラ１４１（取得部）は、主軸１３２に接続されている工具１３４を撮影する。このとき、カメラ１４１の撮影視野には、工具１３４のみが含まれていてもよいし、主軸頭１３０および工具１３４の両方が含まれていてもよい。
【００５６】
これにより、基準指標受付部１５２は、カメラ１４１から基準画像１２４を取得する。取得された基準画像１２４は、工作機械１００の記憶装置１２０に格納される。
【００５７】
典型的には、基準画像１２４を取得するための撮影処理は、工具ずれが生じていない所定のタイミングに実行される。一例として、基準指標受付部１５２は、工具ホルダ１３３若しくは工具１３４の交換時、ワーク加工の開始前、または、ユーザによる取得操作を受け付けた時などに、基準画像１２４の取得処理を実行する。
【００５８】
なお、上述の例では、基準画像１２４が工作機械１００内のカメラ１４１から取得される例について説明を行ったが、基準画像１２４の取得先は、カメラ１４１に限定されない。一例として、基準画像１２４は、工作機械１００と同種の工作機械やその他の装置に備えられるカメラから取得されてもよい。
【００５９】
（Ｅ２．入力指標受付部１５４）
次に、図５に示される入力指標受付部１５４の機能について説明する。入力指標受付部１５４は、基準画像１２４との比較対象となる入力画像１２５を取得する。
【００６０】
より具体的には、制御部５０は、入力画像１２５の取得タイミングが到来したことに基づいて、回転駆動部１１０Ａ（図４参照）を制御することで予め定められた回転角度に主軸１３２を回転するとともに、位置駆動部１１０Ｂ（図４参照）を制御することで予め定められた位置に主軸１３２を移動する。当該予め定められた回転角度は、基準画像１２４の撮影時における主軸１３２の回転角度と同じあり、かつ、当該予め定められた位置は、基準画像１２４の撮影時における主軸１３２の位置と同じある。
【００６１】
その後、カメラ１４１（取得部）は、主軸１３２に接続されている工具１３４を撮影する。このとき、カメラ１４１の撮影視野には、工具１３４のみが含まれていてもよいし、主軸頭１３０および工具１３４の両方が含まれていてもよい。
【００６２】
これにより、入力指標受付部１５４は、基準画像１２４と同じ条件下で撮影された入力画像１２５をカメラ１４１から取得することができる。取得された入力画像１２５は、工具ずれ検知部１５６に出力される。
【００６３】
典型的には、入力画像１２５を取得するための撮影処理は、基準画像１２４の取得処理が実行された後の所定のタイミングに実行される。一例として、入力指標受付部１５４は、ワークの加工中における所定のタイミング、またはワークの加工完了後の所定のタイミングなどに入力画像１２５の取得処理を実行する。
【００６４】
なお、上述の例では、入力画像１２５が工作機械１００内のカメラ１４１から取得される例について説明を行ったが、入力画像１２５の取得先は、カメラ１４１に限定されない。一例として、入力画像１２５は、工作機械１００と同種の工作機械やその他の装置に備えられるカメラから取得されてもよい。
【００６５】
（Ｅ３．工具ずれ検知部１５６）
次に、図６〜図８を参照して、図５に示される工具ずれ検知部１５６の機能について説明する。工具ずれ検知部１５６は、基準画像１２４と入力画像１２５とを比較することで、工具ずれが生じているか否かを判断する。
【００６６】
図６は、工具の回転ずれが生じている例を示す図である。図６には、基準画像１２４と、入力画像１２５の一例である入力画像１２５Ａとが示されている。
【００６７】
まず、工具ずれ検知部１５６は、基準画像１２４内から工具部分Ｒ１をサーチする。工具部分Ｒ１のサーチ処理には、既存の種々の画像処理が用いられる。一例として、工具部分Ｒ１は、学習済みモデルを用いて認識される。学習済みモデルは、学習用データセットを用いた学習処理により予め生成されている。学習用データセットは、工具が写っている複数の学習用画像を含む。各学習用画像には、工具が写っているか否かを示すラベル（あるいは、工具の種別を示すラベル）が関連付けられる。学習済みモデルの内部パラメータは、このような学習用データセットを用いた学習処理により予め最適化されている。
【００６８】
学習済みモデルを生成するための学習手法には、種々の機械学習アルゴリズムが採用され得る。一例として、当該機械学習アルゴリズムとして、ディープラーニング、コンボリューションニューラルネットワーク（ＣＮＮ）、全層畳み込みニューラルネットワーク（ＦＣＮ）、サポートベクターマシンなどが採用される。
【００６９】
工具ずれ検知部１５６は、予め定められた設定範囲を基準画像１２４上に設定し、当該設定範囲を基準画像１２４上でずらしながら当該設定範囲内の部分画像を学習済モデルに順次入力する。その結果、当該学習済モデルは、入力された部分画像に工具が含まれている確率を出力する。工具ずれ検知部１５６は、当該確率が所定値を超えた部分画像の位置を工具部分Ｒ１として認識する。
【００７０】
なお、工具部分Ｒ１のサーチ方法は、学習済モデルを用いた上述の方法に限定されず、ルールベースに基づく画像処理が採用されてもよい。一例として、工具ずれ検知部１５６は、工具画像を予め保持しておき、当該工具画像を基準画像１２４内で走査することで、基準画像１２４内の各領域について工具画像との類似度を算出する。そして、工具ずれ検知部１５６は、当該類似度が所定値を超えた領域を工具部分Ｒ１として認識する。
【００７１】
また、工具部分Ｒ１は、ユーザによって予め指定されてもよい。この場合、工作機械１００は、基準画像１２４を表示するとともに、基準画像１２４内の任意の部分を指定できるように構成される。ユーザは、マウスなどの入力デバイスを用いて、表示されている基準画像１２４内において工具が写っている部分を指定する。
【００７２】
工具ずれ検知部１５６は、工具部分Ｒ１のサーチ処理と同様のサーチ処理を用いて、入力画像１２５Ａから工具部分Ｒ２をサーチする。その後、工具ずれ検知部１５６は、基準画像１２４内における工具部分Ｒ１と入力画像１２５Ａ内の工具部分Ｒ２との類似度を算出する。
【００７３】
図６に示されるように、工具の回転ずれが生じている場合には、工具の写っている向きが基準画像１２４と入力画像１２５Ａとの間で異なる。この点に着目して、工具ずれ検知部１５６は、工具部分Ｒ１，Ｒ２が類似していないことを示す所定条件（以下、「類似条件」ともいう。）が満たされた場合には、工具の回転ずれが生じていると判断する。当該類似度の算出方法には、任意のアルゴリズムが採用される。一例として、当該類似度の算出手法として、ＳＳＤ（Sum  of  Squared  Difference)、ＳＡＤ（Sum  of  Absolute  Difference)、ＮＣＣ（Normalized  Cross-Correlation）、またはＺＮＣＣ（Zero-mean  Normalized  Cross-Correlation）などが採用され得る。なお、上記手法に替えて、工具部分Ｒ１，Ｒ２の輪郭形状を比較する事によって工具の回転ずれが生じていると判断しても良い。
【００７４】
なお、ＳＳＤおよびＳＡＤに関しては、工具部分Ｒ１，Ｒ２が類似しているほど出力される類似度が低くなる。そのため、工具ずれ検知部１５６は、ＳＳＤまたはＳＡＤを用いた場合には、類似度が所定値を超えたことに基づいて、上記類似条件が満たされたと判断する。一方で、ＺＣＣやＺＮＣＣに関しては、工具部分Ｒ１，Ｒ２が類似しているほど出力される類似度が高くなる。そのため、工具ずれ検知部１５６は、ＺＣＣまたはＺＮＣＣを用いた場合には、類似度が所定値を超えたことに基づいて、上記類似条件が満たされたと判断する。
【００７５】
図７は、工具の位置ずれが生じている例を示す図である。図７には、基準画像１２４と、入力画像１２５の一例である入力画像１２５Ｂとが示されている。
【００７６】
図７に示されるように、工具の位置ずれが生じている場合には、工具の写っている位置が基準画像１２４と入力画像１２５Ｂとの間で異なる。そのため、入力画像１２５Ｂ内の工具部分Ｒ２の位置は、基準画像１２４内の工具部分Ｒ１の位置とは異なる。
【００７７】
この点に着目して、工具ずれ検知部１５６は、工具部分Ｒ１内の所定位置（たとえば、中心点）と、工具部分Ｒ２内の所定位置（たとえば、中心点）との間の距離（以下、「工具間距離」ともいう。）を算出し、当該工具間距離が所定距離よりも長い場合に、位置ずれが生じていると判断する。
【００７８】
図８は、工具ずれが生じていない例を示す図である。図８には、基準画像１２４と、入力画像１２５の一例である入力画像１２５Ｃとが示されている。
【００７９】
図８に示されるように、工具の位置ずれが生じていない場合には、工具部分Ｒ１，Ｒ２に写る工具の向きと位置とが同じになる。この点に着目して、工具ずれ検知部１５６は、上記類似条件が満たされず、かつ、上記工具間距離が所定距離以下である場合に、位置ずれが生じていないと判断する。
【００８０】
なお、上述では、１つの基準画像１２４と１つの入力画像１２５とを用いて工具ずれを検知する例について説明を行ったが、工具ずれ検知部１５６は、複数の基準画像１２４と複数の入力画像１２５とを用いて工具ずれを検知してもよい。この場合、上述の基準指標受付部１５２は、主軸１３２を回転させながら工具１３４を撮影することで各方向から工具を表わした複数の基準画像１２４を取得しておく。その後、入力指標受付部１５４は、基準画像１２４の撮影時と同じ回転角度で工具１３４を撮影することで各回転角度に対応した入力画像１２５を取得する。次に、工具ずれ検知部１５６は、同じ回転角度に対応する基準画像１２４と入力画像１２５とを上述の方法で比較し、各比較結果に基づいて工具ずれを検知する。一例として、工具ずれ検知部１５６は、少なくとも１つの比較結果が工具ずれの発生を示した場合、工具ずれを検知する。
【００８１】
＜Ｆ．ＮＣ装置３０のハードウェア構成＞
次に、図９を参照して、図４に示されるＮＣ装置３０のハードウェア構成について説明する。図９は、ＮＣ装置３０のハードウェア構成の一例を示す図である。
【００８２】
ＮＣ装置３０は、制御回路３０１と、ＲＯＭ（Read  Only  Memory）３０２と、ＲＡＭ（Random  Access  Memory）３０３と、通信インターフェイス３０４と、フィールドバスコントローラ３０５と、補助記憶装置３２０とを含む。これらのコンポーネントは、内部バスＢ１に接続される。
【００８３】
制御回路３０１は、たとえば、少なくとも１つの集積回路によって構成される。集積回路は、たとえば、少なくとも１つのＣＰＵ（Central Processing Unit）、少なくとも１つのＧＰＵ（Graphics Processing Unit）、少なくとも１つのＡＳＩＣ（Application  Specific  Integrated  Circuit）、少なくとも１つのＦＰＧＡ（Field  Programmable  Gate  Array）、またはそれらの組み合わせなどによって構成され得る。
【００８４】
制御回路３０１は、加工プログラム３２２などの各種プログラムを実行することでＮＣ装置３０の動作を制御する。加工プログラム３２２は、ワーク加工を実現するためのプログラムである。制御回路３０１は、加工プログラム３２２の実行命令を受け付けたことに基づいて、ＲＯＭ３０２からＲＡＭ３０３に加工プログラム３２２を読み出す。ＲＡＭ３０３は、ワーキングメモリとして機能し、加工プログラム３２２の実行に必要な各種データを一時的に格納する。
【００８５】
通信インターフェイス３０４には、ＬＡＮ、ＷＬＡＮ、またはＢｌｕｅｔｏｏｔｈ（登録商標）などを用いた通信を実現するためのインターフェイスである。ＮＣ装置３０は、通信インターフェイス３０４を介して外部機器（たとえば、情報処理装置４０やサーバー）とデータをやり取りする。ＮＣ装置３０は、通信インターフェイス３０４を介して加工プログラム３２２をダウンロードできるように構成されてもよい。
【００８６】
フィールドバスコントローラ３０５は、フィールドバスに接続される各種ユニットとの通信を実現するためのインターフェイスである。当該フィールドバスに接続されるユニットの一例として、上述の回転駆動部１１０Ａ（図４参照）や上述の位置駆動部１１０Ｂ（図４参照）などが挙げられる。
【００８７】
補助記憶装置３２０は、たとえば、ハードディスクやフラッシュメモリなどの記憶媒体である。補助記憶装置３２０は、加工プログラム３２２を格納する。加工プログラム３２２の格納場所は、補助記憶装置３２０に限定されず、制御回路３０１の記憶領域（たとえば、キャッシュメモリ）、ＲＯＭ３０２、ＲＡＭ３０３、外部機器（たとえば、サーバー）などに格納されていてもよい。
【００８８】
＜Ｇ．情報処理装置４０のハードウェア構成＞
次に、図１０を参照して、図４に示される情報処理装置４０のハードウェア構成について説明する。図１０は、情報処理装置４０のハードウェア構成の一例を示す図である。
【００８９】
情報処理装置４０は、制御回路４０１と、ＲＯＭ４０２と、ＲＡＭ４０３と、通信インターフェイス４０４と、カメラインターフェイス４０５と、センサインターフェイス４０６と、補助記憶装置４２０とを含む。これらのコンポーネントは、内部バスＢ２に接続される。ＲＯＭ４０２、ＲＡＭ４０３、および、補助記憶装置４２０は、上述の記憶装置１２０（図５参照）の一例である。
【００９０】
制御回路４０１は、たとえば、少なくとも１つの集積回路によって構成される。集積回路は、たとえば、少なくとも１つのＣＰＵ、少なくとも１つのＧＰＵ、少なくとも１つのＡＳＩＣ、少なくとも１つのＦＰＧＡ、またはそれらの組み合わせなどによって構成され得る。
【００９１】
制御回路４０１は、工具ずれを検知するための検知プログラム４２２などの各種プログラムを実行することで情報処理装置４０の動作を制御する。制御回路４０１は、各種プログラムの実行命令を受け付けたことに基づいて、補助記憶装置４２０またはＲＯＭ４０２からＲＡＭ４０３に実行対象のプログラムを読み出す。ＲＡＭ４０３は、ワーキングメモリとして機能し、プログラムの実行に必要な各種データを一時的に格納する。
【００９２】
通信インターフェイス４０４には、ＬＡＮ、ＷＬＡＮ、またはＢｌｕｅｔｏｏｔｈなどを用いた通信を実現するためのインターフェイスである。情報処理装置４０は、通信インターフェイス４０４を介して外部機器（たとえば、ＮＣ装置３０やサーバー）とデータをやり取りする。情報処理装置４０は、通信インターフェイス４０４を介して検知プログラム４２２をダウンロードできるように構成されてもよい。
【００９３】
カメラインターフェイス４０５は、カメラ１４１と情報処理装置４０とを有線または無線で接続するためのインターフェイスである。カメラ１４１は、ＣＣＤ（Charge Coupled Device）カメラであってもよいし、赤外線カメラ（サーモグラフィ）であってもよいし、その他の種類のカメラであってもよい。
【００９４】
センサインターフェイス４０６は、各種センサ１４３と情報処理装置４０とを有線または無線で接続するためのインターフェイスである。各種センサ１４３は、たとえば、後述の距離センサ１４８（図１３参照）や後述の振動センサ１４９（図１５参照）などを含む。
【００９５】
補助記憶装置４２０は、たとえば、ハードディスクやフラッシュメモリなどの記憶媒体である。補助記憶装置４２０は、たとえば、検知プログラム４２２と、基準状態指標４２４とを格納する。基準状態指標４２４は、上述の基準画像１２４と、後述の基準距離情報１２６（図１３参照）と、後述の基準振動情報１２８（図１５参照）との少なくとも１つを含む。検知プログラム４２２および基準状態指標４２４の格納場所は、補助記憶装置４２０に限定されず、制御回路４０１の記憶領域（たとえば、キャッシュメモリなど）、ＲＯＭ４０２、ＲＡＭ４０３、外部機器（たとえば、サーバー）などに格納されていてもよい。
【００９６】
なお、検知プログラム４２２は、単体のプログラムとしてではなく、任意のプログラムの一部に組み込まれて提供されてもよい。この場合、任意のプログラムと協働して本実施の形態に従う処理が実現される。このような一部のモジュールを含まないプログラムであっても、本実施の形態に従う工作機械１００の趣旨を逸脱するものではない。さらに、本実施の形態に従う検知プログラム４２２によって提供される機能の一部または全部は、専用のハードウェアによって実現されてもよい。さらに、工作機械１００とサーバとが協働して、本実施の形態に従う処理を実現するようにしてもよい。さらに、少なくとも１つのサーバが本実施の形態に従う処理を実現する、所謂クラウドサービスの形態で工作機械１００が構成されてもよい。
【００９７】
＜Ｈ．基準画像１２４の取得フロー＞
次に、図１１を参照して、工作機械１００の制御構造について説明する。図１１は、上述の基準画像１２４（図６参照）の取得処理の流れを示すフローチャートである。
【００９８】
図１１に示される処理は、工作機械１００の制御部５０が上述の検知プログラム４２２（図１０参照）を実行することにより実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。
【００９９】
ステップＳ１１０において、制御部５０は、上述の基準指標受付部１５２（図５参照）として機能し、基準画像１２４の取得タイミングが到来したか否かを判断する。当該取得タイミングは、たとえば、工具ホルダ１３３若しくは工具１３４のセットアップ完了時、または、加工プログラムの実行開始前などである。制御部５０は、基準画像１２４の取得タイミングが到来したと判断した場合（ステップＳ１１０においてＹＥＳ）、制御をステップＳ１１２に切り替える。そうでない場合には（ステップＳ１１０においてＮＯ）、制御部５０は、図１１に示される処理を終了する。
【０１００】
ステップＳ１１２において、制御部５０は、基準指標受付部１５２として機能し、上述の位置駆動部１１０Ｂ（図４参照）を制御する。これにより、制御部５０は、予め定められた位置に主軸１３２を移動する。当該予め定められた位置は、たとえば、加工プログラム３２２に規定されていてもよいし、設定ファイルなどに規定されていてもよい。
【０１０１】
ステップＳ１１４において、制御部５０は、基準指標受付部１５２として機能し、上述の回転駆動部１１０Ａ（図４参照）を制御する。これにより、制御部５０は、主軸１３２の軸方向を中心とした回転方向において予め定められた回転角度に主軸１３２を駆動する。当該予め定められた回転角度は、たとえば、加工プログラム３２２に規定されていてもよいし、設定ファイルなどに規定されていてもよい。
【０１０２】
ステップＳ１１６において、制御部５０は、基準指標受付部１５２として機能し、カメラ１４１（図４参照）に撮影指示を出力する。これにより、制御部５０は、カメラ１４１から基準画像１２４を取得する。取得された基準画像１２４は、たとえば、工作機械１００の記憶装置１２０に格納される。
【０１０３】
＜Ｉ．工具ずれの検知フロー＞
次に、図１２を参照して、工作機械１００の制御構造についてさらに説明する。図１２は、工具ずれの検知処理の流れを示すフローチャートである。
【０１０４】
図１２に示される処理は、工作機械１００の制御部５０が上述の検知プログラム４２２（図１０参照）を実行することにより実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。
【０１０５】
ステップＳ１５０において、制御部５０は、上述の入力指標受付部１５４（図５参照）として機能し、工具ずれの検知タイミングが到来したか否かを判断する。当該検知タイミングは、上述の図１１に示される基準画像１２４の取得処理の後に到来する。一例として、当該検知タイミングは、加工プログラムの実行中の一タイミング、または加工プログラムの実行完了時などである。制御部５０は、工具ずれの検知タイミングが到来したと判断した場合（ステップＳ１５０においてＹＥＳ）、制御をステップＳ１５２に切り替える。そうでない場合には（ステップＳ１５０においてＮＯ）、制御部５０は、図１２に示される処理を終了する。
【０１０６】
ステップＳ１５２において、制御部５０は、入力指標受付部１５４として機能し、上述の位置駆動部１１０Ｂ（図４参照）を制御する。これにより、制御部５０は、予め定められた位置に主軸頭１３０を移動する。当該予め定められた位置は、たとえば、加工プログラム３２２に規定されていてもよいし、設定ファイルなどに規定されていてもよい。ステップＳ１５２における主軸頭１３０の移動先は、上述のステップＳ１１２における主軸１３２の移動先と同じである。
【０１０７】
ステップＳ１５４において、制御部５０は、入力指標受付部１５４として機能し、上述の回転駆動部１１０Ａ（図４参照）を制御する。これにより、制御部５０は、主軸１３２の軸方向を中心とした回転方向において予め定められた回転角度に主軸１３２を駆動する。当該予め定められた回転角度は、たとえば、加工プログラム３２２に規定されていてもよいし、設定ファイルなどに規定されていてもよい。ステップＳ１５４における主軸１３２の回転角度は、上述のステップＳ１１４における主軸１３２の回転角度と同じである。
【０１０８】
ステップＳ１５６において、制御部５０は、上述の入力指標受付部１５４として機能し、カメラ１４１（図４参照）に撮影指示を出力する。これにより、制御部５０は、カメラ１４１から入力画像１２５を取得する。
【０１０９】
ステップＳ１５８において、制御部５０は、上述の工具ずれ検知部１５６（図５参照）として機能し、ステップＳ１５６で取得した入力画像１２５を基準画像１２４と比較する。工具ずれの検知方法については上述の図６〜図８で説明した通りであるので、その説明については繰り返さない。
【０１１０】
ステップＳ１６０において、制御部５０は、ステップＳ１５８での比較結果に基づいて、工具ずれが生じているか否かを判断する。制御部５０は、工具ずれが生じていると判断した場合（ステップＳ１６０においてＹＥＳ）、制御をステップＳ１６２に切り替える。そうでない場合には（ステップＳ１６０においてＮＯ）、制御部５０は、図１２に示される処理を終了する。
【０１１１】
ステップＳ１６２において、制御部５０は、工具ずれが生じていることを警告として出力する。警告の出力態様は、特に限定されない。一例として、当該警告は、工作機械１００のディスプレイ上に表示されてもよいし、音声で出力されてもよいし、レポート形式でデータとして出力されてもよい。警告が出力されることで、作業者は、工具ずれを早期に発見することができ、工具ずれを解消するための修理を行うことができる。なお、制御部５０は、工具ずれが検知された場合には、警告を出力するだけでなく、ワークの加工処理を停止してもよい。
【０１１２】
好ましくは、ステップＳ１６２において、制御部５０は、工具ずれの種別を出力する。出力対象の工具ずれの種別は、たとえば、回転ずれと、位置ずれとを含む。工具ずれの種別が出力されることで、作業者は、工具ずれの原因を特定しやすくなる。結果として、制御部５０は、作業者による工具ずれの修理作業を支援することができる。
【０１１３】
＜Ｊ．変形例１＞
上述では、カメラから得られた画像を用いて工具ずれを検知する例について説明を行ったが、工具ずれを検知するために用いられる状態指標は、これに限定されない。
【０１１４】
以下では、図１３および図１４を参照して、距離センサを用いて工具ずれを検知する方法について説明する。図１３は、変形例１に従う工作機械１００Ａの機能構成の一例を示す図である。
【０１１５】
工作機械１００Ａは、ハードウェア構成として、制御部５０と、距離センサ１４８とを含む。工作機械１００Ａは、機能構成として、基準指標受付部１５２Ａと、入力指標受付部１５４Ａと、工具ずれ検知部１５６Ａとを含む。
【０１１６】
以下では、これらの構成について順に説明する。なお、工作機械１００Ａのその他の点については、上述の工作機械１００と同じであるので、それらの説明については繰り返さない。
【０１１７】
（Ｊ１．基準指標受付部１５２Ａ）
まず、図１３に示される基準指標受付部１５２Ａの機能について説明する。基準指標受付部１５２Ａは、主軸１３２が予め定められた姿勢にあるときに計測された基準距離情報１２６の入力を距離センサ１４８から取得する。
【０１１８】
距離センサ１４８は、上述の各種センサ１４３（図１０参照）の一例である。距離センサ１４８は、光学式の距離センサであってもよいし、超音波式の距離センサであってもよい。
【０１１９】
距離センサ１４８は、主軸１３２が予め定められた位置に駆動され、かつ、主軸１３２が予め定められた回転角度に駆動された際に、距離センサ１４８から工具表面までの距離（以下、「工具距離」ともいう。）を計測可能なように配置される。
【０１２０】
制御部５０は、回転駆動部１１０Ａ（図４参照）を制御することで予め定められた回転角度に主軸１３２を回転するとともに、位置駆動部１１０Ｂ（図４参照）を制御することで予め定められた位置に主軸１３２を移動する。その後、距離センサ１４８（取得部）は、基準距離情報１２６となる工具距離を計測する。
【０１２１】
このとき、距離センサ１４８は、工具距離を一点以上計測する。好ましくは、制御部５０は、上記予め定められた回転角度から開始して主軸１３２を回転させながら距離センサ１４８に工具距離を計測させることで、工具表面の複数点について工具距離を計測する。このように連続的に得られた時系列の工具距離は、工具１３４の外形を表わす。取得された基準距離情報１２６は、工作機械１００Ａの記憶装置１２０に格納される。
【０１２２】
典型的には、基準距離情報１２６の計測処理は、工具ずれが生じていない所定のタイミングに実行される。一例として、基準指標受付部１５２Ａは、工具ホルダ１３３若しくは工具１３４の交換時、ワーク加工の開始前、または、ユーザによる取得操作を受け付けた時などに、基準距離情報１２６の計測処理を実行する。
【０１２３】
（Ｊ２．入力指標受付部１５４Ａ）
次に、図１３に示される入力指標受付部１５４Ａの機能について説明する。入力指標受付部１５４Ａは、基準距離情報１２６との比較対象となる入力距離情報１２７を距離センサ１４８から取得する。
【０１２４】
より具体的には、制御部５０は、入力距離情報１２７の取得タイミングが到来したことに基づいて、回転駆動部１１０Ａ（図４参照）を制御することで予め定められた回転角度に主軸１３２を回転するとともに、位置駆動部１１０Ｂ（図４参照）を制御することで予め定められた位置に主軸１３２を移動する。当該予め定められた回転角度は、基準距離情報１２６の計測時における主軸１３２の回転角度と同じあり、かつ、当該予め定められた位置は、基準距離情報１２６の計測時における主軸１３２の位置と同じある。
【０１２５】
その後、距離センサ１４８（取得部）は、入力距離情報１２７となる工具距離を計測する。このとき、距離センサ１４８は、工具距離を一点以上計測する。好ましくは、制御部５０は、上記予め定められた回転角度から開始して主軸１３２を回転させながら距離センサ１４８に工具距離を計測させることで、工具表面の複数点について工具距離を計測する。このように連続的に得られた時系列の工具距離は、工具１３４の外形を表わす。
【０１２６】
これにより、入力指標受付部１５４Ａは、基準距離情報１２６と同じ条件下で入力距離情報１２７を取得することができる。取得された入力距離情報１２７は、工具ずれ検知部１５６Ａに出力される。
【０１２７】
入力距離情報１２７の計測処理は、基準距離情報１２６の計測処理の実行後の所定のタイミングに実行される。一例として、入力指標受付部１５４Ａは、ワークの加工中における所定のタイミング、またはワークの加工完了後の所定のタイミングなどに、基準距離情報１２６の計測処理を実行する。
【０１２８】
（Ｊ３．工具ずれ検知部１５６Ａ）
次に、図１４を参照して、図１３に示される工具ずれ検知部１５６Ａの機能について説明する。図１４は、工具ずれが生じている場合の例を説明するための図である。
【０１２９】
図１４には、基準距離情報１２６と入力距離情報１２７とが示されている。工具ずれ検知部１５６Ａは、基準距離情報１２６と入力距離情報１２７とを比較することで、工具ずれが生じているか否かを判断する。
【０１３０】
一例として、工具ずれ検知部１５６Ａは、下記式（１）に基づいて、基準距離情報１２６と入力距離情報１２７との差異「Ｓ１」を算出する。
【０１３１】
Ｓ１＝Σ（Ｄ１（θ）−Ｄ２（θ））２・・・（１）
式（１）に示される「Ｄ１（θ）」は、基準距離情報１２６を示す。「Ｄ２（θ）」は、入力距離情報１２７を示す。「θ」は、主軸１３２の軸方向を中心とした主軸１３２の回転角度を示す。すなわち、「Ｄ１（θ）」および「Ｄ２（θ）」は、主軸の角度ごとの工具距離を示す。
【０１３２】
上記式（１）に示されるように、工具ずれ検知部１５６Ａは、基準距離情報１２６に含まれる各工具距離と入力距離情報１２７に含まれる各工具距離との差を、対応する回転角度間で算出し、算出された各差の二乗を積算することで差異「Ｓ１」を算出する。
【０１３３】
工具ずれが生じていない場合には差異「Ｓ１」が小さくなり、工具ずれが生じている場合には差異「Ｓ１」が大きくなる。この点に着目して、工具ずれ検知部１５６Ａは、差異「Ｓ１」が所定閾値以下である場合には、工具ずれが生じていないと判断する。一方で、工具ずれ検知部１５６Ａは、差異「Ｓ１」が所定閾値を超えている場合には、工具ずれが生じていると判断する。
【０１３４】
＜Ｋ．変形例２＞
上述では、画像または工具距離を用いて工具ずれを検知する例について説明を行ったが、工具ずれを検知するために用いられる状態指標は、これらに限定されない。
【０１３５】
以下では、図１５および図１６を参照して、距離センサを用いて工具ずれを検知する方法について説明する。図１５は、変形例２に従う工作機械１００Ｂの機能構成の一例を示す図である。
【０１３６】
工作機械１００Ｂは、ハードウェア構成として、制御部５０と、振動センサ１４９とを含む。工作機械１００Ｂは、機能構成として、基準指標受付部１５２Ｂと、入力指標受付部１５４Ｂと、工具ずれ検知部１５６Ｂとを含む。
【０１３７】
以下では、これらの構成について順に説明する。なお、工作機械１００Ｂのその他の点については、上述の工作機械１００と同じであるので、それらの説明については繰り返さない。
【０１３８】
（Ｋ１．基準指標受付部１５２Ｂ）
まず、図１５に示される基準指標受付部１５２Ｂの機能について説明する。基準指標受付部１５２Ｂは、振動センサ１４９から基準振動情報１２８を取得する。
【０１３９】
振動センサ１４９は、上述の各種センサ１４３（図１０参照）の一例である。振動センサ１４９は、たとえば、主軸頭１３０の内部に設けられ、主軸１３２の振動と相関する物理量を検知する。振動センサ１４９は、たとえば、加速度センサ、速度センサ、変位センサ、または、振動を検知することが可能なその他のセンサである。以下では、加速度センサを前提とする工具ずれの検知方法について説明を行うが、振動センサ１４９は、加速度センサに限定されない。
【０１４０】
基準指標受付部１５２Ｂは、ワークの加工中において、振動センサ１４９から定期的に加速度を取得し、時系列の加速度情報を基準振動情報１２８として取得する。取得された基準振動情報１２８は、工作機械１００Ｂの記憶装置１２０に格納される。
【０１４１】
典型的には、基準振動情報１２８の計測処理は、工具ずれが生じていない所定のタイミングに実行される。一例として、基準指標受付部１５２Ｂは、ワークの加工中、または、ユーザによる取得操作を受け付けた時などに、基準振動情報１２８の計測処理を実行する。
【０１４２】
（Ｋ２．入力指標受付部１５４Ｂ）
次に、図１５に示される入力指標受付部１５４Ｂの機能について説明する。入力指標受付部１５４Ｂは、基準振動情報１２８との比較対象となる入力振動情報１２９を取得する。
【０１４３】
入力振動情報１２９の計測処理は、基準振動情報１２８の計測処理が実行された後の所定のタイミングに実行される。より具体的には、制御部５０は、ワークの加工中において、振動センサ１４９から加速度を定期的に取得し、時系列の加速度情報を入力振動情報１２９として取得する。取得された時系列の入力振動情報１２９は、工具ずれ検知部１５６Ｂに順次出力される。
【０１４４】
（Ｋ３．工具ずれ検知部１５６Ｂ）
次に、図１６を参照して、図１５に示される工具ずれ検知部１５６Ｂの機能について説明する。図１６は、工具ずれが生じている場合の例を説明するための図である。
【０１４５】
図１６には、基準振動情報１２８と入力振動情報１２９とが示されている。主軸１３２は一定速度で回転しているため、工具およびワークは、接触および非接触を繰り返すこととなる。そのため、振動センサ１４９の出力波形は、主軸の回転速度に応じた周期Ｔ１で変化する。しかしながら、工具ずれが生じた場合には、当該出力波形の周期は、周期Ｔ１よりも瞬間的に長くなる。図１６の例では、工具ずれが生じた時に、周期Ｔ１が周期Ｔ２に瞬間的に変化している。
【０１４６】
この点に着目して、工具ずれ検知部１５６Ｂは、基準振動情報１２８と入力振動情報１２９とを比較することで、工具ずれが生じているか否かを判断する。
【０１４７】
一例として、工具ずれ検知部１５６Ｂは、下記式（２）に基づいて、基準振動情報１２８と入力振動情報１２９との差異「Ｓ２」を算出する。
【０１４８】
Ｓ２＝Σ（Ａ１（ｔ）−Ａ２（ｔ’））２・・・（２）
式（２）に示される「Ａ１（ｔ）」は、基準振動情報１２８に相当し、時刻ｔにおいて振動センサ１４９から出力された加速度を示す。「Ａ２（Ｔ）」は、入力振動情報１２９に相当し、時刻ｔ’において振動センサ１４９から出力された加速度を示す。
【０１４９】
上記式（２）に示されるように、工具ずれ検知部１５６Ｂは、基準振動情報１２８に含まれる各加速度と入力振動情報１２９に含まれる各加速度との差を算出し、算出された各差の二乗を積算することで差異「Ｓ２」を算出する。
【０１５０】
好ましくは、工具ずれ検知部１５６Ｂは、入力振動情報１２９を時間軸方向にずらしながら、上記式（２）に基づいて、基準振動情報１２８と入力振動情報１２９との差異を算出し、算出された差異の中で最小のものを差異「Ｓ２」としてを算出する。
【０１５１】
工具ずれが生じていない場合には差異「Ｓ２」が小さくなり、回転ずれが生じている場合には差異「Ｓ２」が大きくなる。この点に着目して、工具ずれ検知部１５６Ｂは、差異「Ｓ２」が所定閾値以下である場合には、回転ずれが生じていないと判断する。一方で、工具ずれ検知部１５６Ｂは、差異「Ｓ２」が所定閾値を超えている場合には、回転ずれが生じていると判断する。
【０１５２】
なお、基準振動情報１２８は、必ずしも時系列の加速度で規定される必要はない。一例として、基準振動情報１２８は、基準の振動周期で規定されてもよい。この場合、工具ずれ検知部１５６Ｂは、振動センサ１４９から出力される時系列の加速度値に基づいて、定期的に振動周期を算出する。当該振動周期の算出には、たとえば、フーリエ変換などの既存のアルゴリズムが用いられる。次に、工具ずれ検知部１５６Ｂは、算出した振動周期と基準の振動周期との差の絶対値を算出し、当該差の絶対値が所定閾値を超えている場合に、工具ずれが生じていると判断する。一方で、工具ずれ検知部１５６Ｂは、当該差の絶対値が所定閾値以下である場合に、工具ずれが生じていないと判断する。
【０１５３】
＜Ｌ．まとめ＞
以上のように、工作機械１００は、比較対象の状態指標を基準の状態指標と比較することで工具ずれが発生していることを検知する。これにより、工作機械１００は、工具ずれに伴うワークの加工品質の低下や、工具ホルダ１３３および工具１３４の消耗を未然に防ぐことができる。
【０１５４】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【０１５５】
２０  ＣＰＵユニット、３０  ＮＣ装置、４０  情報処理装置、５０  制御部、１００，１００Ａ，１００Ｂ  工作機械、１１０Ａ  回転駆動部、１１０Ｂ  位置駆動部、１１１Ｂ，１１１Ｃ，１１１Ｘ，１１１Ｙ，１１１Ｚ  サーボドライバ、１２０  記憶装置、１２４  基準画像、１２５，１２５Ａ，１２５Ｂ，１２５Ｃ  入力画像、１２６  基準距離情報、１２７  入力距離情報、１２８  基準振動情報、１２９  入力振動情報、１３０  主軸頭、１３１  主軸筒、１３２  主軸、１３３  工具ホルダ、１３４  工具、１４０  撮影部、１４１  カメラ、１４２  対物レンズ、１４３  各種センサ、１４５，１４７  照明、１４８  距離センサ、１４９  振動センサ、１５２，１５２Ａ，１５２Ｂ  基準指標受付部、１５４，１５４Ａ，１５４Ｂ  入力指標受付部、１５６，１５６Ａ，１５６Ｂ  工具ずれ検知部、３０１，４０１  制御回路、３０２，４０２  ＲＯＭ、３０３，４０３  ＲＡＭ、３０４，４０４  通信インターフェイス、３０５  フィールドバスコントローラ、３２０，４２０  補助記憶装置、３２２  加工プログラム、４０５  カメラインターフェイス、４０６  センサインターフェイス、４２２  検知プログラム、４２４  基準状態指標。
【要約】
【課題】工具ずれを検知するための技術を提供する。
【解決手段】工作機械は、工具を保持する工具ホルダを装着可能に構成される主軸と、工具ホルダによる工具の保持状態を表わす状態指標を取得するための取得部と、主軸を回転駆動するための回転駆動部と、主軸の位置を変化させるための位置駆動部と、工作機械を制御するための制御部とを備える。制御部は、取得部から比較対象の状態指標を取得する処理と、比較対象の状態指標を基準の状態指標と比較することで、工具ホルダに対する工具のずれが発生していることを検知する処理とを実行する。
【選択図】図５【図１】
0006868147.tif 000002
【図２】
0006868147.tif 000003
【図３】
0006868147.tif 000004
【図４】
0006868147.tif 000005
【図５】
0006868147.tif 000006
【図６】
0006868147.tif 000007
【図７】
0006868147.tif 000008
【図８】
0006868147.tif 000009
【図９】
0006868147.tif 000010
【図１０】
0006868147.tif 000011
【図１１】
0006868147.tif 000012
【図１２】
0006868147.tif 000013
【図１３】
0006868147.tif 000014
【図１４】
0006868147.tif 000015
【図１５】
0006868147.tif 000016
【図１６】
0006868147.tif 000017