(57)【要約】【課題】任意の軸構成に対応させ、回転軸の補正値を用いて工具の位置誤差を補正することと、工具の姿勢誤差を補正することとの双方が可能な工作機械の制御方法及び制御装置を提供する。【解決手段】任意の軸構成に対し、任意の軸構成に含まれる回転軸の回転方向における工作機械の誤差に基づき、工具の位置の誤差を補正する回転軸の補正値を算出する回転軸補正値算出ステップと、回転軸の補正値を用い、工作物座標系から任意の軸構成に含まれる並進軸の指令値座標系へ工具の位置の誤差を同次座標変換することに基づき、工具の位置の誤差を補正する並進軸の補正値を算出する並進軸補正値算出ステップと、回転軸補正値算出ステップにより算出した補正値を回転軸指令値に加算することにより、回転軸指令値を更新し、並進軸補正値算出ステップにより算出した補正値を並進軸指令値に加算することにより、並進軸指令値を更新する更新ステップと、を実行する。【選択図】なし【特許請求の範囲】
【請求項１】
工具を装着する主軸と、工作物を保持するテーブルとが、２軸以上の並進軸と１軸以上の回転軸とによって相対移動することにより、前記工具によって前記工作物を加工する工作機械において、前記主軸と前記テーブルとのうちの少なくとも一方を複数備え、前記工作機械の誤差による前記工作物に対する前記工具の位置の誤差を、前記工作機械の誤差を考慮した工具座標系から工作物座標系への同次座標変換により求めた前記工作機械の誤差がある場合の前記工具の位置と、前記工作機械の誤差を考慮しない工具座標系から工作物座標系への同次座標変換により求めた理想的な前記工具の位置と、から算出し、前記工具の位置の誤差を補正して前記並進軸を制御するための並進軸指令値及び前記回転軸を制御するための回転軸指令値を算出する工作機械の制御方法であって、
前記２軸以上の並進軸に含まれる任意の並進軸及び前記１軸以上の回転軸に含まれる任意の回転軸を有する任意の軸構成に対し、該任意の軸構成に含まれる前記回転軸の回転方向における前記工作機械の誤差に基づいて、前記工具の位置の誤差を該回転軸の指令値座標系において補正する前記回転軸の補正値を算出する回転軸補正値算出ステップと、
前記回転軸補正値算出ステップによって算出した前記回転軸の補正値を用い、前記工作物座標系から前記任意の軸構成に含まれる前記並進軸の指令値座標系へ前記工具の位置の誤差を同次座標変換することに基づいて、該並進軸の指令値座標系において前記工具の位置の誤差を補正する前記並進軸の補正値を算出する並進軸補正値算出ステップと、
前記回転軸補正値算出ステップによって算出した前記補正値を前記回転軸指令値に加算することにより、前記回転軸指令値を更新すると共に、前記並進軸補正値算出ステップによって算出した前記補正値を前記並進軸指令値に加算することにより、前記並進軸指令値を更新する更新ステップと、
を実行することを特徴とする工作機械の制御方法。
【請求項２】
前記工作機械の誤差を幾何学的な誤差として、
前記工具の位置の誤差を、前記幾何学的な誤差を考慮した工具座標系から工作物座標系への同次座標変換により求めた前記幾何学的な誤差がある場合の前記工具の位置と、前記幾何学的な誤差を考慮しない工具座標系から工作物座標系への同次座標変換により求めた理想的な前記工具の位置とから算出し、
前記並進軸補正値算出ステップを実行する前に、
前記工作物の加工に実際に使用する並進軸及び該加工に実際に使用する回転軸を有する使用軸構成を判別する使用軸構成判別情報に基づいて、前記２軸以上の並進軸に含まれる該並進軸及び前記１軸以上の回転軸に含まれる該回転軸を有する軸構成の中に前記使用軸構成が存在するか否かを判別し、該判別した使用軸構成を前記任意の軸構成として選択する選択ステップと、
前記選択ステップによって判別した前記使用軸構成が複数存在する場合に、前記回転軸補正値算出ステップによって前記複数の使用軸構成にそれぞれ含まれる前記回転軸毎に算出した前記補正値のうちから、各前記使用軸構成の使用優先順位を判別する優先順位判別情報に基づいて前記使用優先順位が最も高いと判断した前記使用軸構成に含まれる前記回転軸の補正値を、前記並進軸補正値算出ステップにおいて前記並進軸の算出に用いる前記回転軸の補正値として決定する回転軸補正値決定ステップと、
を実行することを特徴とする請求項１に記載の工作機械の制御方法。
【請求項３】
前記選択ステップによって判別した前記使用軸構成が複数存在する場合に、前記回転軸補正値決定ステップにより決定された前記回転軸の補正値を用い、前記並進軸補正値算出ステップによって前記複数の使用軸構成にそれぞれ含まれる前記並進軸毎に算出した前記補正値のうちから、前記優先順位判別情報に基づいて前記使用優先順位が最も高いと判断した前記使用軸構成に含まれる前記並進軸の補正値を、前記更新ステップにおいて前記並進軸指令値に加算する補正値とするように決定する並進軸補正値決定ステップを実行することを特徴とする請求項２に記載の工作機械の制御方法。
【請求項４】
前記並進軸補正値算出ステップでは、
前記並進軸指令値と、前記幾何学的な誤差と、前記回転軸補正値決定ステップによって決定された前記回転軸の補正値と、を用い、前記幾何学的な誤差を考慮した工具座標系から工作物座標系への同次座標変換に基づいて、前記幾何学的な誤差がある場合の前記工具の位置を算出する第１工具位置算出ステップと、
前記並進軸指令値を用い、前記幾何学的な誤差を考慮しない工具座標系から工作物座標系への同次座標変換に基づいて、前記理想的な工具の位置を算出する第２工具位置算出ステップと、
前記第１工具位置算出ステップによって算出した前記幾何学的な誤差がある場合の前記工具の位置と、前記第２工具位置算出ステップによって算出した前記理想的な工具の位置と、から前記工具の位置の誤差を算出する工具位置誤差算出ステップと、を実行し、
前記工具位置誤差算出ステップによって算出した前記工具の位置の誤差を、前記工作物座標系から前記選択ステップによって選択された前記使用軸構成に含まれる前記並進軸の指令値座標系へ同次座標変換することに基づいて、前記並進軸の補正値を算出することを特徴とする請求項２に記載の工作機械の制御方法。
【請求項５】
工具を装着する主軸と、工作物を保持するテーブルとが、２軸以上の並進軸と１軸以上の回転軸とによって相対移動することにより、前記工具によって前記工作物を加工する工作機械において、前記主軸と前記テーブルとのうちの少なくとも一方を複数備え、前記工作機械の誤差による前記工作物に対する前記工具の位置の誤差を、前記工作機械の誤差を考慮した工具座標系から工作物座標系への同次座標変換により求めた前記工作機械の誤差がある場合の前記工具の位置と、前記工作機械の誤差を考慮しない工具座標系から工作物座標系への同次座標変換により求めた理想的な前記工具の位置と、から算出し、前記工具の位置の誤差を補正して前記並進軸を制御するための並進軸指令値及び前記回転軸を制御するための回転軸指令値を算出する工作機械の制御装置であって、
前記２軸以上の並進軸に含まれる任意の並進軸及び前記１軸以上の回転軸に含まれる任意の回転軸を有する任意の軸構成に対し、該任意の軸構成に含まれる前記回転軸の回転方向における前記工作機械の誤差に基づいて、前記工具の位置の誤差を該回転軸の指令値座標系において補正する前記回転軸の補正値を算出する回転軸補正値算出手段と、
前記回転軸補正値算出手段によって算出した前記回転軸の補正値を用い、前記工作物座標系から前記任意の軸構成に含まれる前記並進軸の指令値座標系へ前記工具の位置の誤差を同次座標変換することに基づいて、該並進軸の指令値座標系において前記工具の位置の誤差を補正する前記並進軸の補正値を算出する並進軸補正値算出手段と、
前記回転軸補正値算出手段によって算出した前記補正値を前記回転軸指令値に加算することにより、前記回転軸指令値を更新すると共に、前記並進軸補正値算出手段によって算出した前記補正値を前記並進軸指令値に加算することにより、前記並進軸指令値を更新する更新手段と、
を備えることを特徴とする工作機械の制御装置。
【請求項６】
前記工作機械の誤差を幾何学的な誤差として、
前記工具の位置の誤差を、前記幾何学的な誤差を考慮した工具座標系から工作物座標系への同次座標変換により求めた前記幾何学的な誤差がある場合の前記工具の位置と、前記幾何学的な誤差を考慮しない工具座標系から工作物座標系への同次座標変換により求めた理想的な前記工具の位置とから算出し、
前記工作物の加工に実際に使用する並進軸及び該加工に実際に使用する回転軸を有する使用軸構成を判別する使用軸構成判別情報と、該使用軸構成の使用優先順位を判別する優先順位判別情報と、を記憶する記憶手段を備え、
前記記憶手段に記憶された前記使用軸構成判別情報に基づいて、前記２軸以上の並進軸に含まれる該並進軸及び前記１軸以上の回転軸に含まれる該回転軸を有する軸構成の中に前記使用軸構成が存在するか否かを判別し、該判別した使用軸構成を前記任意の軸構成として選択する選択手段と、
前記選択手段によって判別した前記使用軸構成が複数存在する場合に、前記回転軸補正値算出手段によって前記複数の使用軸構成にそれぞれ含まれる前記回転軸毎に算出した前記補正値のうちから、前記記憶手段に記憶された前記優先順位判別情報に基づいて前記使用優先順位が最も高いと判断した前記使用軸構成に含まれる前記回転軸の補正値を、前記並進軸補正値算出手段において前記並進軸の算出に用いる前記回転軸の補正値として決定する回転軸補正値決定手段と、
を備えることを特徴とする請求項５に記載の工作機械の制御装置。
【請求項７】
前記選択手段によって判別した前記使用軸構成が複数存在する場合に、前記回転軸補正値決定手段により決定された前記回転軸の補正値を用い、前記並進軸補正値算出手段によって前記複数の使用軸構成にそれぞれ含まれる前記並進軸毎に算出した前記補正値のうちから、前記記憶手段に記憶された前記優先順位判別情報に基づいて前記使用優先順位が最も高いと判断した前記使用軸構成に含まれる前記並進軸の補正値を、前記更新手段において前記並進軸指令値に加算する補正値とするように決定する並進軸補正値決定手段を備えることを特徴とする請求項６に記載の工作機械の制御装置。
【請求項８】
前記並進軸補正値算出手段が、
前記並進軸指令値と、前記幾何学的な誤差と、前記回転軸補正値決定手段によって決定された前記回転軸の補正値と、を用い、前記幾何学的な誤差を考慮した工具座標系から工作物座標系への同次座標変換に基づいて、前記幾何学的な誤差がある場合の前記工具の位置を算出する第１工具位置算出手段と、
前記並進軸指令値を用い、前記幾何学的な誤差を考慮しない工具座標系から工作物座標系への同次座標変換に基づいて、前記理想的な工具の位置を算出する第２工具位置算出手段と、
前記第１工具位置算出手段によって算出した前記幾何学的な誤差がある場合の前記工具の位置と、前記第２工具位置算出手段によって算出した前記理想的な工具の位置と、から前記工具の位置の誤差を算出する工具位置誤差算出手段と、を備え、
前記工具位置誤差算出手段によって算出した前記工具の位置の誤差を、前記工作物座標系から前記選択手段によって選択された前記使用軸構成に含まれる前記並進軸の指令値座標系へ同次座標変換することに基づいて、前記並進軸の補正値を算出することを特徴とする請求項６に記載の工作機械の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、工具を装着する主軸と、工作物を保持するテーブルとが、２軸以上の並進軸と１軸以上の回転軸とによって相対移動することにより、前記工具によって前記工作物を加工する工作機械において、前記主軸と前記テーブルとのうちの少なくとも一方を複数備え、工作機械の誤差による前記工作物に対する前記工具の位置の誤差を補正して前記並進軸を制御するための並進軸指令値及び前記回転軸を制御するための回転軸指令値を算出する工作機械の制御方法及び制御装置に関する。
【背景技術】
【０００２】
図９は、当該工作機械の一例であり、３つの並進軸と２つの回転軸とを有し、工作物を固定するテーブル１０４と、工作物を加工する工具を装着する主軸頭１０２と、をそれぞれ１つずつ備えた５軸制御マシニングセンタ１０１の模式図である。主軸頭１０２は、並進軸であり互いに直交するＸ軸・Ｚ軸によって、ベッド１０３に対して並進２自由度の運動が可能である。テーブル１０４は、回転軸であるＣ軸によってクレードル１０５に対して回転１自由度の運動が可能である。クレードル１０５は、回転軸であるＡ軸によって、トラニオン１０６に対して回転１自由度の運動が可能であり、Ａ軸とＣ軸とは互いに直交している。トラニオン１０６は、並進軸でありＸ軸・Ｚ軸に直交するＹ軸により、ベッド１０３に対して並進１自由度の運動が可能である。各軸は数値制御装置（図示せず。）により制御されるサーボモータにより駆動され、工作物をテーブル１０４に固定し、主軸頭１０２に工具（図示せず。）を装着して回転させ、工作物と工具との相対位置を制御して工作物の加工を行う。
【０００３】
また図１０は、４つの並進軸（Ｘ軸・Ｙｓ軸・Ｚ軸・Ｗ軸）と、３つの回転軸（Ｂ軸・Ｃ１軸・Ｃ２軸）とを有し、工作物が取り付け可能な第１及び第２主軸部１１１，１１２と、工具１１３が装着される主軸頭１１４を備えた複合加工旋盤１１０の模式図である。この複合加工旋盤１１０においても、各軸が前記サーボモータにより駆動され、工作物と工具１１３の相対位置を制御して、第１主軸部１１１に固定された工作物の加工や、第２主軸部１１２に固定された工作物の加工を行う。
【０００４】
前記５軸制御マシニングセンタ１０１や複合加工旋盤１１０の運動精度に影響を及ぼす要因として、例えば、回転軸の中心位置の誤差（想定されている位置からのズレ）や回転軸の傾き誤差（軸間の直角度や平行度）等の各軸間の幾何学的な誤差（幾何誤差）がある。幾何誤差が存在すると５軸制御マシニングセンタ１０１や複合加工旋盤１１０としての運動精度が悪化し、工作物の加工精度が悪化する。そのため、調整により幾何誤差を小さくする必要があるが、ゼロにすることは困難であり、幾何誤差を補正する制御を行うことで高精度な加工を行うことができる。
【０００５】
幾何誤差を補正する手段として、特許文献１に記載されるような方法が提案されている。特許文献１に記載の方法では、工作機械の幾何誤差を考慮して工具の位置を各並進軸の位置に変換し、それらを並進軸を制御するための指令値とすることで幾何誤差による工具の位置誤差を補正することができる。
【０００６】
また、特許文献２には、工作機械の動作に伴う変形誤差と、並進軸の指令位置に対応して発生する位置決め誤差と、工作機械の各要素の発熱等に起因する熱変位による誤差と、を前記幾何誤差とみなし、この幾何誤差を基にして算出した並進軸の補正値を、該並進軸の指令値に加算することで、並進軸を制御するための指令値を算出する方法が提案されている。
【０００７】
さらに、特許文献３には、特許文献１，２とは異なり、回転軸の補正値を用いて幾何誤差による工具の位置誤差を補正することと、工具の姿勢誤差を補正することと、の双方を行う方法が提案されている。一般に、回転軸の指令値を補正することにより工具の姿勢誤差を補正して回転軸が動作すると、工作物に対する工具の位置も移動する。このため、回転軸の補正による工具の位置の移動分だけ並進軸の補正値を修正する必要がある。この修正を行うため、特許文献３に記載の方法では、幾何誤差を考慮した工作物座標系での工具の位置を求める際に、回転軸の補正値を回転軸指令値に加算した回転軸補正指令値を用いている。このようにして算出した並進軸の補正値を該並進軸の指令値に加算することで、幾何誤差による工具の位置誤差を補正することができる。さらに、前記回転軸の補正値を該回転軸の指令値に加算することで、幾何誤差による工具の姿勢誤差を補正することができる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００４−２７２８８７号公報
【特許文献２】特開２００９−１０４３１７号公報
【特許文献３】特開２０１２−２２０９９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献３に記載の方法は、工作物を加工する工具を装着する主軸と、該工作物を保持するテーブルと、をそれぞれ１つずつ備えた工作機械を対象とするものである。このため、特許文献３に記載の方法では、前記主軸と前記テーブルとのうちの少なくとも一方を複数備え、２軸以上の並進軸と１軸以上の回転軸とによって前記主軸と前記テーブルとを相対移動させる工作機械において、複数の並進軸に含まれる任意の並進軸と回転軸とを有する任意の軸構成に対応させ、回転軸の補正値を用い、幾何誤差を始めとする工作機械の誤差による工具の位置誤差を補正することと、工具の姿勢誤差を補正することとの双方を行うという要請に応えることができなかった。
【００１０】
この発明は、このような状況に鑑み提案されたものであって、主軸とテーブルとのうちの少なくとも一方を複数備えた工作機械において、任意の並進軸及び任意の回転軸を有する任意の軸構成に対応させて、回転軸の補正値を用いて工作機械の誤差による工具の位置誤差を補正することと、工具の姿勢誤差を補正することとの双方が可能な工作機械の制御方法及び制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
請求項１の発明に係る工作機械の制御方法は、工具を装着する主軸と、工作物を保持するテーブルとが、２軸以上の並進軸と１軸以上の回転軸とによって相対移動することにより、前記工具によって前記工作物を加工する工作機械において、前記主軸と前記テーブルとのうちの少なくとも一方を複数備え、前記工作機械の誤差による前記工作物に対する前記工具の位置の誤差を、前記工作機械の誤差を考慮した工具座標系から工作物座標系への同次座標変換により求めた前記工作機械の誤差がある場合の前記工具の位置と、前記工作機械の誤差を考慮しない工具座標系から工作物座標系への同次座標変換により求めた理想的な前記工具の位置と、から算出し、前記工具の位置の誤差を補正して前記並進軸を制御するための並進軸指令値及び前記回転軸を制御するための回転軸指令値を算出する工作機械の制御方法であって、前記２軸以上の並進軸に含まれる任意の並進軸及び前記１軸以上の回転軸に含まれる任意の回転軸を有する任意の軸構成に対し、該任意の軸構成に含まれる前記回転軸の回転方向における前記工作機械の誤差に基づいて、前記工具の位置の誤差を該回転軸の指令値座標系において補正する前記回転軸の補正値を算出する回転軸補正値算出ステップと、前記回転軸補正値算出ステップによって算出した前記回転軸の補正値を用い、前記工作物座標系から前記任意の軸構成に含まれる前記並進軸の指令値座標系へ前記工具の位置の誤差を同次座標変換することに基づいて、該並進軸の指令値座標系において前記工具の位置の誤差を補正する前記並進軸の補正値を算出する並進軸補正値算出ステップと、前記回転軸補正値算出ステップによって算出した前記補正値を前記回転軸指令値に加算することにより、前記回転軸指令値を更新すると共に、前記並進軸補正値算出ステップによって算出した前記補正値を前記並進軸指令値に加算することにより、前記並進軸指令値を更新する更新ステップと、を実行することを特徴とする。
【００１２】
請求項２の発明は、請求項１において、前記工作機械の誤差を幾何学的な誤差として、前記工具の位置の誤差を、前記幾何学的な誤差を考慮した工具座標系から工作物座標系への同次座標変換により求めた前記幾何学的な誤差がある場合の前記工具の位置と、前記幾何学的な誤差を考慮しない工具座標系から工作物座標系への同次座標変換により求めた理想的な前記工具の位置とから算出し、前記並進軸補正値算出ステップを実行する前に、前記工作物の加工に実際に使用する並進軸及び該加工に実際に使用する回転軸を有する使用軸構成を判別する使用軸構成判別情報に基づいて、前記２軸以上の並進軸に含まれる該並進軸及び前記１軸以上の回転軸に含まれる該回転軸を有する軸構成の中に前記使用軸構成が存在するか否かを判別し、該判別した使用軸構成を前記任意の軸構成として選択する選択ステップと、前記選択ステップによって判別した前記使用軸構成が複数存在する場合に、前記回転軸補正値算出ステップによって前記複数の使用軸構成にそれぞれ含まれる前記回転軸毎に算出した前記補正値のうちから、各前記使用軸構成の使用優先順位を判別する優先順位判別情報に基づいて前記使用優先順位が最も高いと判断した前記使用軸構成に含まれる前記回転軸の補正値を、前記並進軸補正値算出ステップにおいて前記並進軸の算出に用いる前記回転軸の補正値として決定する回転軸補正値決定ステップと、を実行することを特徴とする。
【００１３】
請求項３の発明は、請求項２において、前記選択ステップによって判別した前記使用軸構成が複数存在する場合に、前記回転軸補正値決定ステップにより決定された前記回転軸の補正値を用い、前記並進軸補正値算出ステップによって前記複数の使用軸構成にそれぞれ含まれる前記並進軸毎に算出した前記補正値のうちから、前記優先順位判別情報に基づいて前記使用優先順位が最も高いと判断した前記使用軸構成に含まれる前記並進軸の補正値を、前記更新ステップにおいて前記並進軸指令値に加算する補正値とするように決定する並進軸補正値決定ステップを実行することを特徴とする。
【００１４】
請求項４の発明は、請求項２において、前記並進軸補正値算出ステップでは、前記並進軸指令値と、前記幾何学的な誤差と、前記回転軸補正値決定ステップによって決定された前記回転軸の補正値と、を用い、前記幾何学的な誤差を考慮した工具座標系から工作物座標系への同次座標変換に基づいて、前記幾何学的な誤差がある場合の前記工具の位置を算出する第１工具位置算出ステップと、前記並進軸指令値を用い、前記幾何学的な誤差を考慮しない工具座標系から工作物座標系への同次座標変換に基づいて、前記理想的な工具の位置を算出する第２工具位置算出ステップと、前記第１工具位置算出ステップによって算出した前記幾何学的な誤差がある場合の前記工具の位置と、前記第２工具位置算出ステップによって算出した前記理想的な工具の位置と、から前記工具の位置の誤差を算出する工具位置誤差算出ステップと、を実行し、前記工具位置誤差算出ステップによって算出した前記工具の位置の誤差を、前記工作物座標系から前記選択ステップによって選択された前記使用軸構成に含まれる前記並進軸の指令値座標系へ同次座標変換することに基づいて、前記並進軸の補正値を算出することを特徴とする。
【００１５】
請求項５の発明に係る工作機械の制御装置は、工具を装着する主軸と、工作物を保持するテーブルとが、２軸以上の並進軸と１軸以上の回転軸とによって相対移動することにより、前記工具によって前記工作物を加工する工作機械において、前記主軸と前記テーブルとのうちの少なくとも一方を複数備え、前記工作機械の誤差による前記工作物に対する前記工具の位置の誤差を、前記工作機械の誤差を考慮した工具座標系から工作物座標系への同次座標変換により求めた前記工作機械の誤差がある場合の前記工具の位置と、前記工作機械の誤差を考慮しない工具座標系から工作物座標系への同次座標変換により求めた理想的な前記工具の位置と、から算出し、前記工具の位置の誤差を補正して前記並進軸を制御するための並進軸指令値及び前記回転軸を制御するための回転軸指令値を算出する工作機械の制御装置であって、前記２軸以上の並進軸に含まれる任意の並進軸及び前記１軸以上の回転軸に含まれる任意の回転軸を有する任意の軸構成に対し、該任意の軸構成に含まれる前記回転軸の回転方向における前記工作機械の誤差に基づいて、前記工具の位置の誤差を該回転軸の指令値座標系において補正する前記回転軸の補正値を算出する回転軸補正値算出手段と、前記回転軸補正値算出手段によって算出した前記回転軸の補正値を用い、前記工作物座標系から前記任意の軸構成に含まれる前記並進軸の指令値座標系へ前記工具の位置の誤差を同次座標変換することに基づいて、該並進軸の指令値座標系において前記工具の位置の誤差を補正する前記並進軸の補正値を算出する並進軸補正値算出手段と、前記回転軸補正値算出手段によって算出した前記補正値を前記回転軸指令値に加算することにより、前記回転軸指令値を更新すると共に、前記並進軸補正値算出手段によって算出した前記補正値を前記並進軸指令値に加算することにより、前記並進軸指令値を更新する更新手段と、を備えることを特徴とする。
【００１６】
請求項６の発明は、請求項５において、前記工作機械の誤差を幾何学的な誤差として、前記工具の位置の誤差を、前記幾何学的な誤差を考慮した工具座標系から工作物座標系への同次座標変換により求めた前記幾何学的な誤差がある場合の前記工具の位置と、前記幾何学的な誤差を考慮しない工具座標系から工作物座標系への同次座標変換により求めた理想的な前記工具の位置とから算出し、前記工作物の加工に実際に使用する並進軸及び該加工に実際に使用する回転軸を有する使用軸構成を判別する使用軸構成判別情報と、該使用軸構成の使用優先順位を判別する優先順位判別情報と、を記憶する記憶手段を備え、前記記憶手段に記憶された前記使用軸構成判別情報に基づいて、前記２軸以上の並進軸に含まれる該並進軸及び前記１軸以上の回転軸に含まれる該回転軸を有する軸構成の中に前記使用軸構成が存在するか否かを判別し、該判別した使用軸構成を前記任意の軸構成として選択する選択手段と、前記選択手段によって判別した前記使用軸構成が複数存在する場合に、前記回転軸補正値算出手段によって前記複数の使用軸構成にそれぞれ含まれる前記回転軸毎に算出した前記補正値のうちから、前記記憶手段に記憶された前記優先順位判別情報に基づいて前記使用優先順位が最も高いと判断した前記使用軸構成に含まれる前記回転軸の補正値を、前記並進軸補正値算出手段において前記並進軸の算出に用いる前記回転軸の補正値として決定する回転軸補正値決定手段と、を備えることを特徴とする。
【００１７】
請求項７の発明は、請求項６において、前記選択手段によって判別した前記使用軸構成が複数存在する場合に、前記回転軸補正値決定手段により決定された前記回転軸の補正値を用い、前記並進軸補正値算出手段によって前記複数の使用軸構成にそれぞれ含まれる前記並進軸毎に算出した前記補正値のうちから、前記記憶手段に記憶された前記優先順位判別情報に基づいて前記使用優先順位が最も高いと判断した前記使用軸構成に含まれる前記並進軸の補正値を、前記更新手段において前記並進軸指令値に加算する補正値とするように決定する並進軸補正値決定手段を備えることを特徴とする。
【００１８】
請求項８の発明は、請求項６において、前記並進軸補正値算出手段が、前記並進軸指令値と、前記幾何学的な誤差と、前記回転軸補正値決定手段によって決定された前記回転軸の補正値と、を用い、前記幾何学的な誤差を考慮した工具座標系から工作物座標系への同次座標変換に基づいて、前記幾何学的な誤差がある場合の前記工具の位置を算出する第１工具位置算出手段と、前記並進軸指令値を用い、前記幾何学的な誤差を考慮しない工具座標系から工作物座標系への同次座標変換に基づいて、前記理想的な工具の位置を算出する第２工具位置算出手段と、前記第１工具位置算出手段によって算出した前記幾何学的な誤差がある場合の前記工具の位置と、前記第２工具位置算出手段によって算出した前記理想的な工具の位置と、から前記工具の位置の誤差を算出する工具位置誤差算出手段と、を備え、前記工具位置誤差算出手段によって算出した前記工具の位置の誤差を、前記工作物座標系から前記選択手段によって選択された前記使用軸構成に含まれる前記並進軸の指令値座標系へ同次座標変換することに基づいて、前記並進軸の補正値を算出することを特徴とする。
【発明の効果】
【００１９】
請求項１の発明に係る工作機械の制御方法及び請求項５の発明に係る工作機械の制御装置によれば、任意の軸構成に含まれる回転軸の回転方向における工作機械の誤差を利用して算出した該回転軸の補正値を用い、工作機械の誤差による工作物に対する工具の位置の誤差を、任意の軸構成に含まれる並進軸の指令値座標系へ同次座標変換するだけの簡単な手法により、該並進軸の指令値座標系において前記工具の位置の誤差を補正する並進軸の補正値を算出できる。さらに、前記回転軸の回転方向における工作機械の誤差を利用して算出した回転軸の補正値を回転指令値に加算すること、前記並進軸の補正値を並進軸指令値に加算することという簡単な手法により、工具の姿勢誤差を補正する回転軸の指令値や、工具の位置の誤差を補正する並進軸の指令値を更新できる。よって、これらの簡単な手法を組み合わせることにより、主軸とテーブルとのうちの少なくとも一方を複数備えた工作機械において、任意の軸構成に対応させて、工具の姿勢誤差の補正と、回転軸の補正値を用いた工具の位置の誤差の補正との双方が可能になる。
請求項２及び６の発明によれば、使用軸構成が複数存在する場合には、並進軸の補正値の算出に用いる回転軸の補正値を、使用優先順位が最も高い使用軸構成に含まれる回転軸の補正値に決定できる。これにより、並進軸の補正値を算出する際には、回転軸の補正値が複数用いられることがないため、並進軸の補正値が過度に修正されることを防止できる。
請求項３及び７の発明によれば、使用軸構成が複数存在する場合には、並進軸指令値を更新する際に用いる補正値を、使用優先順位が最も高い使用軸構成に含まれる回転軸の補正値を用いて算出すること、該使用優先順位が最も高い使用軸構成に含まれる並進軸の補正値に決定することが可能になる。これにより、並進軸指令値を更新する際には、該並進軸指令値に複数の補正値（回転軸及び並進軸の補正値）が加算されることがないため、並進軸指令値が過度に補正されることを防止できる。
請求項４及び８の発明によれば、回転軸の補正値を用いて工具の位置の誤差を算出した後に、算出した工具の位置の誤差を、使用軸構成に含まれる並進軸の指令値座標系へ同次座標変換することにより、回転軸の補正によって生じる工具の位置の移動を考慮し、前記指令値座標系において前記工具の位置の誤差を補正する並進軸の補正値を算出することが可能になる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施形態の複合加工旋盤の模式図である。
【図２】実施形態の制御方法を行う数値制御装置のブロック線図である。
【図３】並進軸及び回転軸の各指令値を算出する処理の第１フローチャートである。
【図４】その第２フローチャートである。
【図５】指令値座標系での回転軸の仮補正値算出処理のフローチャートである。
【図６】指令値座標系での回転軸（並進軸）の補正値決定処理のフローチャートである。
【図７】軸構成番号等を指示する軸構成パラメータの比較・更新処理のフローチャートである。
【図８】指令値座標系での並進軸の仮補正値算出処理に関するフローチャートである。
【図９】従来の５軸制御マシニングセンタの模式図である。
【図１０】従来の複合加工旋盤の模式図である。
【発明を実施するための形態】
【００２１】
本発明の実施形態を図１ないし図８を参照しつつ説明する。図１に示す複合加工旋盤１は、本発明の工作機械の一例であり、６つの並進軸（Ｘ１軸・Ｘ２軸・Ｙ軸・Ｚ１軸・Ｚ２軸・Ｗ軸）と、３つの回転軸（Ｂ軸・Ｃ１軸・Ｃ２軸）とを有する。主軸頭２は、互いに直交する並進軸であるＸ１軸・Ｙ軸・Ｚ１軸によって、ベッド３に対して並進３自由度の運動が可能である。加えて主軸頭２は、第１刃物台４に内蔵された回転軸であるＢ軸によって、回転１自由度の運動が可能である。第２刃物台５は、互いに直交するＸ２軸・Ｚ２軸によって、べッド３に対して並進２自由度の運動が可能である。この第２刃物台５は、各種の工具が装着されたタレットヘッドＨを備えている。
【００２２】
また第１主軸台６は、ベッド３に固定され、回転軸Ｃ１により、回転１自由度の運動が可能である。この第１主軸台６が備える第１主軸部７は回転軸Ｃ１回りで回転可能であり、第１主軸部７には工作物（図示せず。）が取り付け可能とされている。さらに第２主軸台８は、並進軸であってＺ１軸と平行なＷ軸によって、ベッド３に対して並進１自由度の運動が可能である。これに加えて第２主軸台８は、回転軸であるＣ２軸によって、回転１自由度の運動が可能である。この第２主軸台８が備える第２主軸部９は回転軸Ｃ２回りで回転可能であり、第２主軸部９にも工作物（図示せず。）が取り付け可能とされている。各並進軸（Ｘ１軸・Ｘ２軸・Ｙ軸・Ｚ１軸・Ｚ２軸・Ｗ軸）及び各回転軸（Ｂ軸・Ｃ１軸・Ｃ２軸）は、後述する数値制御装置２０により制御されるサーボモータ２５ａ〜２５ｉ（図２参照。）により駆動され、主軸頭２に装着された工具１０（図１参照。）と工作物との相対位置や、タレットヘッドＨに装着された工具（図示せず。）と工作物との相対位置を制御しながら、工具１０やタレットヘッドＨに装着された工具によって前記工作物を任意の形状に加工する。なお、第１主軸台６及び第２主軸台８は、本発明のテーブルの一例である。
【００２３】
図２には本実施形態の制御を行うための数値制御装置２０の一例を示した。この数値制御装置２０は、指令値生成手段２２とサーボ指令値変換手段２３とを備えている。指令値生成手段２２は、工作物に加工を行う際に工具１０等を該加工を行う位置に移動させる指令として該工具１０等の先端位置の指令座標値が記述された加工プログラム２１が入力されると、各軸（Ｂ軸・Ｃ１軸・Ｃ２軸・Ｘ１軸・Ｘ２軸・Ｙ軸・Ｚ１軸・Ｚ２軸・Ｗ軸）の指令値を生成する。この指令値はサーボ指令値変換手段２３に送られる。この指令値を受けたサーボ指令値変換手段２３は、前記各軸のサーボ指令値を演算して、各軸のサーボアンプ２４ａ〜２４ｉへ送る。各軸のサーボアンプ２４ａ〜２４ｉはそれぞれサーボモータ２５ａ〜２５ｉを駆動し、第１主軸台６や第２主軸台８に対する工具１０やタレットヘッドＨに装着された工具の相対位置および姿勢を制御する。なお、図２中の符号２７は、数値制御装置２０に備えられた記憶手段である。この記憶手段２７には、加工プログラム２１、後述の実測により求めた幾何誤差、後述の使用軸構成判別パラメータＡＩｎｆ１〜ＡＩｎｆ３や軸構成パラメータＢＩｎｆ１〜ＢＩｎｆ３が記憶される。
【００２４】
本実施形態では幾何誤差を、隣り合う軸間の相対並進誤差３方向及び相対回転誤差３方向の合計６成分（δｘ，δｙ，δｚ，α，β，γ）であると定義する。本実施形態の複合加工旋盤１では、第１刃物台４と第１主軸台６との組み合わせによる工作物から工具１０への軸構成（以下、軸構成１という。）が、Ｃ１軸−Ｚ１軸−Ｙ軸−Ｘ１軸−Ｂ軸となっている。この軸構成１では１３個の幾何誤差が存在する。また、第１刃物台４と第２主軸台８との組み合わせによる工作物から工具１０への軸構成（以下、軸構成２という。）が、Ｃ２軸−Ｗ軸−Ｚ１軸−Ｙ軸−Ｘ１軸−Ｂ軸となっている。この軸構成２では１５個の幾何誤差が存在する。さらに、第２刃物台５と第１主軸台６との組み合わせによる工作物から工具への軸構成（以下、軸構成３という。）が、Ｃ１軸−Ｚ２軸−Ｘ２軸となっている。この軸構成３では６個の幾何誤差が存在する。加えて、第２刃物台５と第２主軸台８との組み合わせによる工作物から工具への軸構成（以下、軸構成４という。）が、Ｃ２軸−Ｗ軸−Ｚ２軸−Ｘ２軸となっている。この軸構成４では８個の幾何誤差が存在する。
【００２５】
軸構成１における１３個の幾何誤差は、各軸名に加えて、軸構成番号を第１添え字、工具１０から工作物に向けた順番を第２添え字として、δｘ１１、δｚ１１、α１１、β１１、α１２、γ１２、β１３、γ１３、α１４、δｘ１５、δｙ１５、α１５、β１５のように表される。これらの幾何誤差は、順に、それぞれ、Ｂ軸中心位置Ｘ１方向誤差、Ｂ軸中心位置Ｚ１方向誤差、第１主軸台６−Ｙ軸間直角度、Ｂ軸原点誤差、Ｂ−Ｚ１軸間直角度、Ｂ−Ｘ１軸間直角度、Ｚ１−Ｘ１軸間直角度、Ｘ１−Ｙ軸間直角度、Ｙ−Ｚ１軸間直角度、Ｃ１軸中心位置Ｘ１方向誤差、Ｃ１軸中心位置Ｙ方向誤差、Ｃ１−Ｙ軸間直角度、Ｃ１−Ｘ１軸間直角度を意味する。軸構成１における１３個の幾何誤差は、実測によって予め求めておき、記憶手段２７に記憶されている。
【００２６】
また軸構成２における１５個の幾何誤差は、軸構成１における幾何誤差と同様な方法により、δｘ２１、δｚ２１、α２１、β２１、α２２、γ２２、β２３、γ２３、α２４、α２５、β２５、δｘ２６、δｙ２６、α２６、β２６のように表される。これらの幾何誤差は、順に、それぞれ、Ｂ軸中心位置Ｘ１方向誤差、Ｂ軸中心位置Ｚ１方向誤差、第２主軸台８−Ｙ軸間直角度、Ｂ軸原点誤差、Ｂ−Ｚ１軸間直角度、Ｂ−Ｘ１軸間直角度、Ｚ１−Ｘ１軸間直角度、Ｘ１−Ｙ軸間直角度、Ｙ−Ｚ１軸間直角度、Ｗ−Ｙ軸間直角度、Ｗ−Ｘ１軸間直角度、Ｃ２軸中心位置Ｘ１方向誤差、Ｃ２軸中心位置Ｙ方向誤差、Ｃ２−Ｙ軸間直角度、Ｃ２−Ｘ１軸間直角度を意味する。軸構成２における１５個の幾何誤差も、実測によって予め求めておき、記憶手段２７に記憶されている。
【００２７】
さらに軸構成３における６個の幾何誤差は、軸構成１における幾何誤差と同様な方法により、α３１、β３１、β３２、δｘ３３、α３３、β３３のように表される。これらの幾何誤差は、順に、それぞれ、Ｘ２軸と直交する平面に対する第２刃物台８の平行度、第２主軸台８−Ｘ２軸間直角度、Ｚ２−Ｘ２軸間直角度、Ｃ１軸中心位置Ｘ２方向誤差、Ｘ２軸と直交する平面に対するＣ１軸の平行度、Ｃ１−Ｘ２軸間直角度を意味する。軸構成３における６個の幾何誤差も、実測によって予め求めておき、記憶手段２７に記憶されている。
【００２８】
加えて軸構成４における８個の幾何誤差は、軸構成１における幾何誤差と同様な方法により、α４１、β４１、β４２、α４３、β４３、δｘ４４、α４４、β４４のように表される。これらの幾何誤差は、順に、それぞれ、Ｘ２軸と直交する平面に対する第２刃物台８の平行度、第２主軸台８−Ｘ２軸間直角度、Ｚ２−Ｘ２軸間直角度、Ｘ２軸と直交する平面に対するＷ軸の平行度、Ｗ−Ｘ２軸間直角度、Ｃ２軸中心位置Ｘ２方向誤差、Ｘ２軸と直交する平面に対するＣ２軸の平行度、Ｃ２−Ｘ２軸間直角度である。
【００２９】
続いて、数値制御装置２０によって実行される並進軸及び回転軸の各指令値の算出方法を図３ないし図８を用いて説明する。この数値制御装置２０（指令値生成手段２２）は、記憶手段２７に記憶された計算プログラムにより、上述の軸構成１〜４のうちから選択した任意の軸構成に対応させて、前記各指令値を算出可能としている。
【００３０】
図３中のＳ１０では、指令値生成手段２２が、各軸（並進軸及び回転軸）の指令値を取得する。Ｓ１０では、加工プログラム２１（図２参照。）から並進軸（Ｘ１軸・Ｘ２軸・Ｙ軸・Ｚ１軸・Ｚ２軸・Ｗ軸）の指令値や回転軸（Ｂ軸・Ｃ１軸・Ｃ２軸）の指令値を取得する。その後指令値生成手段２２は、前記取得した各指令値を記憶手段２７に記憶する。なお、並進軸の指令値は本発明の並進軸指令値の一例であり、回転軸の指令値は本発明の回転軸指令値の一例である。
【００３１】
＜回転軸の仮補正値算出処理（Ｓ２０）の説明＞
Ｓ１０の後には、指令値生成手段２２が、Ｓ２０において以下に説明するように、指令値座標系でのＣ軸（Ｃ１軸・Ｃ２軸）・Ｂ軸の仮補正値算出処理を実行する。Ｓ２０では、図５に示すＳ２１〜Ｓ２４を実行する。Ｓ２１では、工作物の加工に実際に使用する回転軸の判別情報を取得する。Ｓ２１では、一例として、実際に使用する並進軸・回転軸毎に記憶手段２７（図２参照。）に記憶された加工プログラム２１のプログラム名を取得する。ここでは、実際に使用する並進軸・回転軸毎に加工プログラム２１のプログラム名を異ならせた。一例として、プログラム名が「Ａ」の場合には、軸構成１（Ｃ１軸−Ｚ１軸−Ｙ軸−Ｘ１軸−Ｂ軸）により、工具１０が第１主軸台６（第１主軸部７）に取り付けられた工作物を加工する。また、プログラム名が「Ｂ」の場合には、軸構成２（Ｃ２軸−Ｗ軸−Ｚ１軸−Ｙ軸−Ｘ１軸−Ｂ軸）により、工具１０が第２主軸台８（第２主軸部９）に取り付けられた工作物を加工する。さらに、プログラム名が「Ｃ」の場合には、軸構成３（Ｃ１軸−Ｚ２軸−Ｘ２軸）により、タレットヘッドＨに装着された工具が第１主軸台６（第１主軸部７）に取り付けられた工作物を加工する。加えて、プログラム名が「Ｄ」の場合には、軸構成４（Ｃ２軸−Ｗ軸−Ｚ２軸−Ｘ２軸）により、タレットヘッドＨに装着された工具が第２主軸台８（第２主軸部９）に取り付けられた工作物を加工することとした。
【００３２】
Ｓ２１の後には、Ｓ２２において軸構成１〜４を使用するか否かを判別する。Ｓ２２では、Ｓ２１によって取得したプログラム名が「Ａ」の場合には軸構成１を使用すると判別し、前記取得したプログラム名が「Ｂ」の場合には軸構成２を使用すると判別する。また、前記取得したプログラム名が「Ｃ」の場合には軸構成３を使用すると判別し、前記取得したプログラム名が「Ｄ」の場合には軸構成４を使用すると判別する。また、例えばＳ２１において取得したプログラム名が「Ａ」及び「Ｃ」の場合には、軸構成１と軸構成３とを組み合わせて使用すると判別する。本実施形態では、Ｓ２１において取得したプログラム名が「Ａ」及び「Ｂ」の場合には、軸構成１のみを使用すると判別させて、工具１０が第２主軸台８に取り付けた工作物を加工しないようにした。さらに、Ｓ２１において取得したプログラム名が「Ｃ」及び「Ｄ」の場合には、軸構成３のみを使用すると判別させて、タレットヘッドＨに装着された工具が第２主軸台８に取り付けた工作物を加工しないようにした。
【００３３】
なお軸構成１〜４は本発明の任意の軸構成の一例である。軸構成１におけるＺ１軸・Ｙ軸・Ｘ１軸、軸構成２におけるＷ軸・Ｚ１軸・Ｙ軸・Ｘ１軸、軸構成３におけるＺ２軸・Ｘ２軸、軸構成４におけるＷ軸・Ｚ２軸・Ｘ２軸は、本発明の任意の並進軸の一例である。軸構成１におけるＣ１軸・Ｂ軸、軸構成２におけるＣ２軸・Ｂ軸、軸構成３におけるＣ１軸、軸構成４におけるＣ２軸は、本発明の任意の回転軸の一例である。また、使用すると判別された軸構成１〜４は本発明の使用軸構成の一例である。使用すると判別された軸構成１におけるＺ１軸・Ｙ軸・Ｘ１軸、使用すると判別された軸構成２におけるＷ軸・Ｚ１軸・Ｙ軸・Ｘ１軸、使用すると判別された軸構成３におけるＺ２軸・Ｘ２軸、使用すると判別された軸構成４におけるＷ軸・Ｚ２軸・Ｘ２軸は、本発明の工作物の加工に実際に使用する並進軸の一例である。使用すると判別された軸構成１におけるＣ１軸・Ｂ軸、使用すると判別された軸構成２におけるＣ２軸・Ｂ軸、使用すると判別された軸構成３におけるＣ１軸、使用すると判別された軸構成４におけるＣ２軸は、本発明の工作物の加工に実際に使用する回転軸の一例である。さらに、プログラム名は本発明の使用軸構成判別情報の一例である。加えて、Ｓ２２は本発明の選択ステップの一例であり、指令値生成手段２２は本発明の選択手段の一例である。
【００３４】
Ｓ２２において、軸構成１〜４のいずれか又は複数の軸構成を組み合せて使用すると判別した場合には、Ｓ２３において以下に説明するように、回転軸の仮補正値を算出する。具体的には、Ｓ２２において使用すると判別された各軸構成１〜４に含まれる回転軸であるＣ軸（Ｃ１軸・Ｃ２軸）・Ｂ軸の指令値の座標系（指令値座標系）におけるＣ軸（Ｃ１軸・Ｃ２軸）・Ｂ軸の仮補正値を算出する。Ｓ２３では、Ｃ軸及びＢ軸の各回転誤差γ，βを利用する［数１］を用いることにより、指令値座標系におけるＣ軸の仮補正値ΔＣｃｊ、指令値座標系におけるＢ軸の仮補正値ΔＣｂｊをそれぞれ算出する。本実施形態では、Ｓ２２において、軸構成１を使用すると判別した場合には、［数１］を用いることにより、軸構成１における指令値座標系でのＣ１軸の仮補正値ΔＣｃ１及びＢ軸の仮補正値ΔＣｂ１を算出する。また、Ｓ２２において、軸構成２を使用すると判別した場合には、［数１］を用いることにより、軸構成２における指令値座標系でのＣ２軸の仮補正値ΔＣｃ２及びＢ軸の仮補正値ΔＣｂ２を算出する。さらに、Ｓ２２において、軸構成３を使用すると判別した場合には、［数１］を用いることにより、軸構成３における指令値座標系でのＣ１軸の仮補正値ΔＣｃ３を算出する。加えて、Ｓ２２において、軸構成４を使用すると判別した場合には、［数１］を用いることにより、軸構成４における指令値座標系でのＣ２軸の仮補正値ΔＣｃ４を算出する。さらには、例えばＳ２２において、軸構成１，３の双方を使用すると判別した場合には、前記仮補正値ΔＣｃ１、ΔＣｃ３及び前記仮補正値ΔＣｂ１を算出する。このＳ２３では、算出した各仮補正値ΔＣｃ１〜ΔＣｃ４や、各仮補正値ΔＣｂ１，ΔＣｂ２を記憶手段２７に記憶する。なお、本実施形態の軸構成１では、工作物側の最初の回転軸であるＣ１軸と並進軸であるＺ１軸との間に指令値座標系があり、軸構成２では、工作物側の最初の回転軸であるＣ２軸と並進軸であるＷ軸との間に指令値座標系がある。また、軸構成３では、最初の回転軸であるＣ１軸と並進軸であるＺ２軸との間に指令値座標系があり、軸構成４では、最初の回転軸であるＣ２軸と並進軸であるＷ軸との間に指令値座標系がある。なお、Ｓ２０は本発明の回転軸補正値算出ステップの一例であり、指令値生成手段２２は本発明の回転軸補正値算出手段の一例である。
【００３５】
【数１】
2016091466.tif 000002
【００３６】
また、上述のＳ２２において、軸構成１〜４のいずれかを使用しないと判別した場合には、Ｓ２４において、使用しない軸構成に含まれる回転軸の仮補正値が零に設定あるいは前回の仮補正値を保持するように決定される。前回の仮補正値とは、Ｓ２２において軸構成１〜４のいずれかを使用しないと判別した時点で記憶手段２７に記憶されているＣ軸（Ｃ１軸・Ｃ２軸）の仮補正値や、Ｂ軸の仮補正値を意味する。
【００３７】
Ｓ２０の後には、指令値生成手段２２が、図３に示すＳ３０において、すべての軸構成での回転軸の仮補正値の算出が終了したか否かを判定する。ここでは、記憶手段２７に、上述のＳ２２において使用すると判別した軸構成に対応する仮補正値ΔＣｃ１〜ΔＣｃ４や、仮補正値ΔＣｂ１，ΔＣｂ２が記憶されているか否かを判定する。Ｓ３０において、記憶手段２７に前記軸構成に対応する仮補正値ΔＣｃ１〜ΔＣｃ４や、仮補正値ΔＣｂ１，ΔＣｂ２が記憶されていないと判定して、すべての軸構成での回転軸の仮補正値の算出が終了していないと判定した場合には、ステップ２０を実行する。
【００３８】
＜回転軸の補正値決定処理（Ｓ４０）の説明＞
一方Ｓ３０において、すべての軸構成での回転軸の仮補正値の算出が終了したと判定した場合には、指令値生成手段２２は、Ｓ４０において、上述のＳ２２で使用すると判別された軸構成に対応させて、指令値座標系における回転軸の補正値決定処理を実行する。Ｓ４０では、図６に示すＳ４１〜Ｓ４４により、上述のＳ２２において使用すると判別された軸構成に対し、軸ループにおいて、複合加工旋盤１が有する各回転軸（Ｂ軸・Ｃ１軸・Ｃ２軸）毎の補正値を決定する。ここでは、一例として軸構成１に対しＣ１軸の補正値を決定する手順を説明する。
【００３９】
Ｓ４１では、記憶手段２７に記憶された軸構成パラメータＢＩｎｆを初期化する。Ｓ４１では、軸構成番号を指示する軸構成パラメータＢＩｎｆ１を「０」に、工作物の加工に実際に使用することを指示する軸構成パラメータＢＩｎｆ２を「ｏｆｆ」に、工作物を加工する際に使用する軸構成の使用優先順位を指示する軸構成パラメータＢＩｎｆ３を「９９」に、それぞれ設定する。
【００４０】
Ｓ４１の後には、Ｓ４２において、軸構成ｊ（ここでは軸構成１）に含まれる回転軸が存在するか否かを判定する。Ｓ４２において、Ｃ１軸・Ｂ軸が軸構成１に含まれる回転軸であると判定すると、Ｓ４３において以下に説明するように、軸構成パラメータＢＩｎｆの比較・更新処理を実行する。Ｓ４３では、図７に示すＳ４３Ａ〜Ｓ４３Ｅを実行する。Ｓ４３Ａでは、工作物の加工に実際に使用する軸構成を判別する使用軸構成判別パラメータＡＩｎｆを取得する。具体的には、加工プログラム２１に対応させて記憶手段２７に記憶されている使用軸構成判別パラメータＡＩｎｆを該記憶手段２７から取得する。ここでは、記憶手段２７に記憶された加工プログラム２１のプログラム名が「Ａ」であることに基づき、軸構成１により工作物を加工すると判別すると、軸構成番号を指示して数値が「１」に設定された使用軸構成判別パラメータＡＩｎｆ１、工作物の加工に実際に使用することを指示するために「ｏｎ」に設定された使用軸構成判別パラメータＡＩｎｆ２、工作物を加工する際に使用する軸構成の使用優先順位を指示して数値が「１」に設定された使用軸構成判別パラメータＡＩｎｆ３を、それぞれ取得する。
【００４１】
Ｓ４３Ａの後には、Ｓ４３Ｂにおいて、Ｓ４１（図６参照。）にて初期化した軸構成パラメータＢＩｎｆ２と、Ｓ４３Ａにて取得した使用軸構成判別パラメータＡＩｎｆ２が、共に「ｏｆｆ」又は「ｏｎ」となって一致するか否かを判定する。ここでは、軸構成パラメータＢＩｎｆ２が「ｏｆｆ」で使用軸構成判別パラメータＡＩｎｆ２が「ｏｎ」であるために両者が一致しないと判定する。すると、Ｓ４３Ｃにおいて、使用軸構成判別パラメータＡＩｎｆ２が「ｏｎ」に設定されているか否かを判定する。ここでは、使用軸構成判別パラメータＡＩｎｆ２が「ｏｎ」に設定されているため、Ｓ４３Ｄにおいて、軸構成パラメータＢＩｎｆ１を、使用軸構成判別パラメータＡＩｎｆ１と同じ「１」に設定して更新し、軸構成パラメータＢＩｎｆ２を、使用軸構成判別パラメータＡＩｎｆ２と同じ「ｏｎ」に設定して更新し、軸構成パラメータＢＩｎｆ３を、使用軸構成判別パラメータＡＩｎｆ３と同じ「１」に設定して更新する。この場合には、使用優先順位が最も高い軸構成１により工作物が加工されることを意味する。以上により、軸構成１でのＳ４３が終了する。
【００４２】
また、本実施形態では、上述のＳ２２（図５参照。）において軸構成１，３の双方を使用すると判定した場合には、上述した軸構成１での軸構成パラメータＢＩｎｆ１〜ＢＩｎｆ３の更新に続き、軸構成３についても以下に説明するように、Ｓ４３Ａ〜Ｓ４３Ｅを実行する。Ｓ４３Ａでは、記憶手段２７に記憶された加工プログラム２１のプログラム名が「Ｃ」であることに基づき、軸構成３により工作物を加工すると判別すると、軸構成番号を指示して数値が「３」に設定された使用軸構成判別パラメータＡＩｎｆ１、工作物の加工に実際に使用することを指示するために「ｏｎ」に設定された使用軸構成判別パラメータＡＩｎｆ２、工作物を加工する際に使用する軸構成の使用優先順位を指示して数値が「３」に設定された使用軸構成判別パラメータＡＩｎｆ３を、それぞれ取得する。
【００４３】
Ｓ４３Ａの後には、Ｓ４３Ｂにおいて、軸構成１でのＳ４３Ｄによって更新した軸構成パラメータＢＩｎｆ２と、軸構成３でのＳ４３Ａにて取得した使用軸構成判別パラメータＡＩｎｆ２が、共に一致するか否かを判定する。ここでは、軸構成パラメータＢＩｎｆ２と使用軸構成判別パラメータＡＩｎｆ２とが共に「ｏｎ」であるために一致すると判定する。すると、Ｓ４３Ｅにおいて、軸構成３での使用軸構成判別パラメータＡＩｎｆ３の数値が、軸構成１でのＳ４３Ｄによって更新した軸構成パラメータＢＩｎｆ３の数値よりも小さいか否かを判定する。ここでは、使用軸構成判別パラメータＡＩｎｆ３の数値「３」が、軸構成パラメータＢＩｎｆ３の数値「１」よりも大きいため、Ｓ４３Ｄを行わずＳ４３を終了する。このようにすることで、使用優先順位が異なる複数の軸構成１，３を使用する場合には、使用優先順位が最も高い軸構成１の使用軸構成判別パラメータＡＩｎｆ１〜ＡＩｎｆ３が、軸構成パラメータＢＩｎｆ１〜ＢＩｎｆ３に設定されることになる。以上により、軸構成３でのＳ４３が終了する。なお、工作物を加工する際に使用する軸構成の使用優先順位を指示する軸構成パラメータＡＩｎｆ３は、本発明の優先順位判別情報の一例である。
【００４４】
Ｓ４３の後には、指令値生成手段２２が、図６に示すＳ４４において、上述のＳ４３Ｄによって、軸構成番号を指示する軸構成パラメータＢＩｎｆ１に設定された数値が「１」であることに基づき、軸構成１に含まれる回転軸の仮補正値を記憶手段２７から取得して回転軸の補正値に決定する。ここでは、Ｃ１軸の仮補正値ΔＣｃ１及びＢ軸の仮補正値ΔＣｂ１を記憶手段２７から取得する。以上により、Ｓ４０が終了する。なお、Ｓ４４は本発明の回転軸補正値決定ステップの一例であり、指令値生成手段２２は本発明の回転軸補正値決定手段の一例である。
【００４５】
＜並進軸の仮補正値算出処理（Ｓ５０）の説明＞
Ｓ４０の後には、指令値生成手段２２が、Ｓ５０において以下に説明するように、指令値座標系での並進軸（Ｘ１軸・Ｘ２軸・Ｙ軸・Ｚ１軸・Ｚ２軸・Ｗ軸）の仮補正算出処理を実行する。このＳ４０において上述した回転軸の仮補正値算出処理（Ｓ２０）と同様の処理については、その説明を簡略化する。Ｓ５０では、図８に示すＳ５１〜Ｓ５４を実行する。Ｓ５１において、工作物の加工に実際に使用する並進軸の判別情報を取得する。ここでは、Ｓ２１と同様に、加工プログラム２１のプログラム名を取得する。
【００４６】
Ｓ５１の後には、Ｓ５２において軸構成１〜４を使用するか否かを判別する。ここでは、Ｓ２２と同様にして、軸構成１〜４のいずれを使用するかを判別する。
【００４７】
Ｓ５２において、軸構成１〜４のいずれか又は複数の軸構成を組み合せて使用すると判別した場合には、指令値生成手段２２が、Ｓ５３において以下に説明するように、並進軸の仮補正値を算出する。具体的には、並進軸における工作物座標系での工具先端点位置の誤差を算出すること、この工具先端点位置の誤差を、工作物座標系から並進軸の指令値座標系に変換し、該指令値座標系における並進軸の仮補正値を算出することを行う。以下に、前記工具先端点位置の誤差の算出、前記並進軸の仮補正値の算出の順に説明する。なお、Ｓ５３は本発明の並進軸補正値算出ステップの一例であり、指令値生成手段２２は本発明の並進軸補正値算出手段の一例である。
【００４８】
＜工具先端点位置の誤差の算出の説明＞
主軸頭２にある工具座標系上の工具先端点ベクトルＴＰ１や第２刃物台５のタレットヘッドＨにある工具座標系上の工具先端点ベクトルＴＰ２を、第１主軸台６及び第２主軸台８にある工作物座標系に変換する場合には、工具１０の長さをｔ１（ｔＸ１，ｔＹ１，ｔＺ１）、タレットヘッドＨに装着される工具の長さをｔ２（ｔＸ２，ｔＹ２，ｔＺ２）とし、Ｂ軸、Ｃ軸（Ｃ１軸・Ｃ２軸）、Ｘ軸（Ｘ１軸・Ｘ２軸）、Ｙ軸、Ｚ軸（Ｚ１軸・Ｚ２軸）、Ｗ軸の各指令位置をｉとすると、各軸の変換行列は［数２］のようになる。この工具先端点ベクトルＴＰ１及び工具先端点ベクトルＴＰ２と、各軸の変換行列ＭＢ（ｉ）、ＭＣ（ｉ）、ＭＸ（ｉ）、ＭＹ（ｉ）、Ｍｚ（ｉ）、ＭＷ（ｉ）とを用いることにより、幾何誤差がない場合の工作物座標系での工具先端点ベクトルＷＰＩを算出する。
【００４９】
【数２】
2016091466.tif 000003
【００５０】
そして、［数３］を用いることにより、幾何誤差がない場合の工具座標系から幾何誤差がない場合の軸構成１における工作物座標系への同次座標変換を行う。これにより、幾何誤差がない場合の軸構成１における工作物座標系での理想的な工具先端点ベクトルＷＰＩ１を算出する。また、［数４］を用いることにより、幾何誤差がない場合の工具座標系から幾何誤差がない場合の軸構成２における工作物座標系への同次座標変換を行う。これにより、幾何誤差がない場合の軸構成２における工作物座標系での理想的な工具先端点ベクトルＷＰＩ２を算出する。さらに、［数５］を用いることにより、幾何誤差がない場合の工具座標系から幾何誤差がない場合の軸構成３における工作物座標系への同次座標変換を行う。これにより、幾何誤差がない場合の軸構成３における工作物座標系での理想的な工具先端点ベクトルＷＰＩ３を算出する。加えて、［数６］を用いることにより、幾何誤差がない場合の工具座標系から幾何誤差がない場合の軸構成４における工作物座標系への同次座標変換を行う。これにより、幾何誤差がない場合の軸構成４における工作物座標系での理想的な工具先端点ベクトルＷＰＩ４を算出する。なお、［数３］のｃ１はＣ１軸の指令位置、ｚ１はＺ１軸の指令位置、ｙはＹ軸の指令位置、ｘ１はＸ１軸の指令位置、ｂはＢ軸の指令位置である。また、［数４］のｃ２はＣ２軸の指令位置、ｗはＷ軸の指令位置、ｚ１はＺ１軸の指令位置、ｙはＹ軸の指令位置、ｘ１はＸ１軸の指令位置、ｂはＢ軸の指令位置である。さらに、［数５］のｃ１はＣ１軸の指令位置、ｚ２はＺ２軸の指令位置、ｘ２はＸ２軸の指令位置である。加えて、［数６］のｃ２はＣ２軸の指令位置、ｗはＷ軸の指令位置、ｚ２はＺ２軸の指令位置、ｘ２はＸ２軸の指令位置である。また、何誤差がない場合の工作物座標系での工具先端点ベクトルＷＰＩ１〜ＷＰＩ４を算出することは、本発明の第２工具位置算出ステップの一例であり、指令値生成手段２２は本発明の第２工具位置算出手段の一例である。
【００５１】
【数３】
2016091466.tif 000004
【００５２】
【数４】
2016091466.tif 000005
【００５３】
【数５】
2016091466.tif 000006
【００５４】
【数６】
2016091466.tif 000007
【００５５】
さらに、複合加工旋盤１に幾何誤差が存在する場合、各幾何誤差を各軸間の相対誤差と考え、記憶手段２７に記憶されている各幾何誤差の並進誤差δｘ，δｙ，δｚや回転誤差α，β，γを用いた［数７］のマトリックスεｊｋが、幾何誤差による変換行列になる。加えて、図６に示したＳ４４で決定され記憶手段２７に記憶されているＣ軸（Ｃ１軸・Ｃ２軸）の補正値ΔＣ（ｃ１），ΔＣ（ｃ２）や、Ｂ軸の補正値ΔＣ（ｂ）を用いた［数８］のマトリックスξＣ１，ξｃ２，ξＢも、幾何誤差による変換行列になる。このマトリックスεｊｋ，ξＣ１，ξＢを［数３］の各軸間に配置した［数９］を用いることにより、幾何誤差がある場合の工具座標系から幾何誤差がある場合の軸構成１における工作物座標系への同次座標変換を行う。これにより、幾何誤差がある場合の軸構成１における工作物座標系での工具先端点ベクトルＷＰＧ１を算出する。また、マトリックスεｊｋ，ξｃ２，ξＢを［数４］の各軸間に配置した［数１０］を用いることにより、幾何誤差がある場合の工具座標系から幾何誤差がある場合の軸構成２における工作物座標系への同次座標変換を行う。これにより、幾何誤差がある場合の軸構成２における工作物座標系での工具先端点ベクトルＷＰＧ２を算出する。さらに、マトリックスεｊｋ，ξＣ１を［数５］の各軸間に配置した［数１１］を用いることにより、幾何誤差がある場合の工具座標系から幾何誤差がある場合の軸構成３における工作物座標系への同次座標変換を行う。これにより、幾何誤差がある場合の軸構成３における工作物座標系での工具先端点ベクトルＷＰＧ３を算出する。加えて、マトリックスεｊｋ，ξｃ２を［数７］の各軸間に配置した［数１２］を用いることにより、幾何誤差がある場合の工具座標系から幾何誤差がある場合の軸構成４における工作物座標系への同次座標変換を行う。これにより、幾何誤差がある場合の軸構成４における工作物座標系での工具先端点ベクトルＷＰＧ４を算出する。なお、マトリックスεｊｋの第１添え字ｊは軸構成番号（ここでは１〜４）を示し、マトリックスεｊｋの第２添え字ｋは、幾何誤差が存在する軸間を工具１０又はタレットヘッドＨに装着された工具から工作物に向けた順番を示している。また、幾何誤差がある場合の工作物座標系での工具先端点ベクトルＷＰＧ１〜ＷＰＧ４を算出することは、本発明の第１工具位置算出ステップの一例であり、指令値生成手段２２は本発明の第１工具位置算出手段の一例である。
【００５６】
【数７】
2016091466.tif 000008
【００５７】
【数８】
2016091466.tif 000009
【００５８】
【数９】
2016091466.tif 000010
【００５９】
【数１０】
2016091466.tif 000011
【００６０】
【数１１】
2016091466.tif 000012
【００６１】
【数１２】
2016091466.tif 000013
【００６２】
続いて、［数１３］を用いることにより、工作物座標系での工具先端点の位置誤差Δｅｊを算出する。図８のＳ５２において、軸構成１を使用すると判別した場合には、［数１３］を用いることにより、［数９］により算出した工具先端点ベクトルＷＰＧ１と［数３］により算出した工具先端点ベクトルＷＰＩ１との差分から、軸構成１における工作物座標系での工具先端点の位置誤差Δｅ１を算出する。また、Ｓ５２において、軸構成２を使用すると判別した場合には、［数１３］を用いることにより、［数１０］により算出した工具先端点ベクトルＷＰＧ２と［数４］により算出した工具先端点ベクトルＷＰＩ２との差分から、軸構成２における工作物座標系での工具先端点の位置誤差Δｅ２を算出する。さらにＳ５２において、軸構成３を使用すると判別した場合には、［数１３］を用いることにより、［数１１］により算出した工具先端点ベクトルＷＰＧ３と［数５］により算出した工具先端点ベクトルＷＰＩ３との差分から、軸構成３における工作物座標系での工具先端点の位置誤差Δｅ３を算出する。加えてＳ５２において、軸構成４を使用すると判別した場合には、［数１３］を用いることにより、［数１２］により算出した工具先端点ベクトルＷＰＧ４と［数６］により算出した工具先端点ベクトルＷＰＩ４との差分から、軸構成４における工作物座標系での工具先端点の位置誤差Δｅ４を算出する。さらには、例えばＳ５２において、軸構成１，３の双方を使用すると判別した場合には、前記位置誤差Δｅ１及び前記位置誤差Δｅ３を算出する。算出した各位置誤差Δｅ１〜Δｅ４は、記憶手段２７に記憶される。以上により、並進軸における工作物座標系での工具先端点位置の誤差の算出が終了する。なお、各位置誤差Δｅ１〜Δｅ４を算出することは、本発明の工具位置誤差算出ステップの一例であり、指令値生成手段２２は本発明の工具位置誤差算出手段の一例である。
【００６３】
【数１３】
2016091466.tif 000014
【００６４】
＜並進軸の仮補正値の算出の説明＞
以下に説明するように、並進軸における工具先端点位置の誤差を、工作物座標系から図８のＳ５２において使用すると判別された各軸構成１〜４に含まれる並進軸（Ｘ１軸・Ｘ２軸・Ｙ軸・Ｚ１軸・Ｚ２軸・Ｗ軸）の指令値座標系に変換し、該指令値座標系における並進軸の仮補正値を算出する。ここでは、指令値生成手段２２が、［数１４］を用いることにより、前記工作物座標系から指令値座標系への同次座標変換を行う。これにより、前記工具先端点位置の誤差を打ち消す指令値座標系での並進軸の仮補正値ベクトルΔＣｏｍｐｊを算出する。［数１４］中のｊは軸構成番号（ここでは１〜４）を示す。また、ｊ＝１，３の場合にはｍは回転軸Ｃ１の指令位置を示し、ｊ＝２，４の場合にはｍは回転軸Ｃ２の指令位置を示す。Ｓ５２において、軸構成１を使用すると判別した場合には、［数１４］を用いることにより、軸構成１における指令値座標系での並進軸の仮補正値ベクトルΔＣｏｍｐ１を算出する。また、Ｓ５２において、軸構成２を使用すると判別した場合には、［数１４］を用いることにより、軸構成２における指令値座標系での並進軸の仮補正値ベクトルΔＣｏｍｐ２を算出する。さらに、Ｓ５２において、軸構成３を使用すると判別した場合には、［数１４］を用いることにより、軸構成３における指令値座標系での並進軸の仮補正値ベクトルΔＣｏｍｐ３を算出する。加えて、軸構成４を使用すると判別した場合には、［数１４］を用いることにより、軸構成４における指令値座標系での並進軸の仮補正値ベクトルΔＣｏｍｐ４を算出する。さらには、例えばＳ５２において、軸構成１，３の双方を使用すると判別した場合には、前記仮補正値ベクトルΔＣｏｍｐ１及び前記仮補正値ベクトルΔＣｏｍｐ３を算出する。算出した各仮補正値ベクトルΔＣｏｍｐ１〜ΔＣｏｍｐ４は記憶手段２７に記憶される。
【００６５】
【数１４】
2016091466.tif 000015
【００６６】
Ｓ５０の後には、指令値生成手段２２が、図３に示すＳ６０において、すべての軸構成での並進軸の仮補正値の算出が終了したか否かを判定する。ここでは、記憶手段２７に、上述のＳ５２において使用すると判別した軸構成に対応する仮補正値ベクトルΔＣｏｍｐ１〜ΔＣｏｍｐ４が記憶されているか否かを判定する。Ｓ６０において、記憶手段２７に前記軸構成に対応する仮補正値ベクトルΔＣｏｍｐ１〜ΔＣｏｍｐ４が記憶されていないと判定して、すべての軸構成での並進軸の仮補正値の算出が終了していないと判定した場合には、Ｓ５０を実行する。
【００６７】
＜並進軸の補正値決定処理（Ｓ７０）の説明＞
一方Ｓ６０において、すべての軸構成での並進軸の仮補正値の算出が終了したと判定した場合には、指令値生成手段２２は、Ｓ７０において、上述のＳ５２で使用すると判別された軸構成に対応させて、指令値座標系における並進軸の補正値決定処理を実行する。Ｓ７０では、図６に示すＳ７１〜Ｓ７４により、上述のＳ５２において使用すると判別された軸構成に対し、軸ループにおいて、複合加工旋盤１が有する各並進軸（Ｘ１軸・Ｘ２軸・Ｙ軸・Ｚ１軸・Ｚ２軸・Ｗ軸）毎の補正値を決定する。このＳ７１〜Ｓ７４において上述したＳ４１〜Ｓ４４と同様の処理については、その説明を簡略化する。ここでは、一例として軸構成１に対しＸ１軸の補正値を決定する手順を説明する。
【００６８】
Ｓ７１では、Ｓ４１と同様に、軸構成パラメータＢＩｎｆ１を「０」に、軸構成パラメータＢＩｎｆ２を「ｏｆｆ」に、軸構成パラメータＢＩｎｆ３を「９９」に、それぞれ設定する。
【００６９】
Ｓ７１の後には、Ｓ７２において、軸構成ｊ（ここでは軸構成１）に含まれる並進軸が存在するか否かを判定する。Ｓ４２において、Ｘ１軸が軸構成１に含まれる並進軸であると判定すると、Ｓ７３において、軸構成パラメータＢＩｎｆの比較・更新処理を実行する。Ｓ７３では、図７に示すようにＳ７３Ａ〜Ｓ７３Ｅを実行する。このＳ７３Ａ〜Ｓ７３Ｅにおいて上述したＳ４３Ａ〜Ｓ４３Ｅと同様の処理については、その説明を簡略化する。Ｓ７３Ａでは、Ｓ４３Ａと同様に、数値が「１」に設定された使用軸構成判別パラメータＡＩｎｆ１、「ｏｎ」に設定された使用軸構成判別パラメータＡＩｎｆ２、数値が「１」に設定された使用軸構成判別パラメータＡＩｎｆ３を、それぞれ取得する。
【００７０】
Ｓ７３Ａの後には、Ｓ７３Ｂにおいて、Ｓ７１（図６参照。）にて初期化した軸構成パラメータＢＩｎｆ２と、Ｓ７３Ａにて取得した使用軸構成判別パラメータＡＩｎｆ２が、共に「ｏｆｆ」又は「ｏｎ」となって一致するか否かを判定する。ここでは、軸構成パラメータＢＩｎｆ２が「ｏｆｆ」で使用軸構成判別パラメータＡＩｎｆ２が「ｏｎ」であるために両者が一致しないと判定する。すると、Ｓ７３Ｃにおいて、使用軸構成判別パラメータＡＩｎｆ２が「ｏｎ」に設定されているか否かを判定する。ここでは、使用軸構成判別パラメータＡＩｎｆ２が「ｏｎ」に設定されているため、Ｓ７３Ｄにおいて、軸構成パラメータＢＩｎｆ１を、使用軸構成判別パラメータＡＩｎｆ１と同じ「１」に設定して更新し、軸構成パラメータＢＩｎｆ２を、使用軸構成判別パラメータＡＩｎｆ２と同じ「ｏｎ」に設定して更新し、軸構成パラメータＢＩｎｆ３を、使用軸構成判別パラメータＡＩｎｆ３と同じ「１」に設定して更新する。この場合には、使用優先順位が最も高い軸構成１により工作物が加工されることを意味する。以上により、軸構成１でのＳ７３が終了する。
【００７１】
また、上述のＳ５２（図８参照。）において軸構成１，３の双方を使用すると判定した場合には、上述した軸構成１での軸構成パラメータＢＩｎｆ１〜ＢＩｎｆ３の更新に続き、軸構成３についても以下に説明するように、Ｓ７３Ａ〜Ｓ７３Ｅを実行する。Ｓ７３Ａでは、記憶手段２７に記憶された加工プログラム２１のプログラム名が「Ｃ」であることに基づき、軸構成３により工作物を加工すると判別すると、数値が「３」に設定された使用軸構成判別パラメータＡＩｎｆ１、「ｏｎ」に設定された使用軸構成判別パラメータＡＩｎｆ２、数値が「３」に設定された使用軸構成判別パラメータＡＩｎｆ３を、それぞれ取得する。
【００７２】
Ｓ７３Ａの後には、Ｓ７３Ｂにおいて、軸構成１でのＳ７３Ｄによって更新した軸構成パラメータＢＩｎｆ２と、軸構成３でのＳ７３Ａにて取得した使用軸構成判別パラメータＡＩｎｆ２が、共に一致するか否かを判定する。ここでは、軸構成パラメータＢＩｎｆ２と使用軸構成判別パラメータＡＩｎｆ２とが共に「ｏｎ」であるために一致すると判定する。すると、Ｓ７３Ｅにおいて、軸構成３での使用軸構成判別パラメータＡＩｎｆ３の数値が、軸構成１でのＳ７３Ｄによって更新した軸構成パラメータＢＩｎｆ３の数値よりも小さいか否かを判定する。ここでは、使用軸構成判別パラメータＡＩｎｆ３の数値「３」が、軸構成パラメータＢＩｎｆ３の数値「１」よりも大きいため、Ｓ４３Ｄを行わずＳ４３を終了する。このようにすることで、使用優先順位が最も高い軸構成１の使用軸構成判別パラメータＡＩｎｆ１〜ＡＩｎｆ３が、軸構成パラメータＢＩｎｆ１〜ＢＩｎｆ３に設定される。以上により、軸構成３でのＳ７３が終了する。なお、軸構成パラメータＡＩｎｆ３は、本発明の優先順位判別情報の一例である。
【００７３】
Ｓ７３の後には、指令値生成手段２２が、図６に示すＳ７４において、上述のＳ７３Ｄによって、軸構成番号を指示する軸構成パラメータＢＩｎｆ１に設定された数値が「１」であることに基づき、軸構成１に含まれる並進軸の仮補正値を記憶手段２７から取得して並進軸の補正値に決定する。ここでは、Ｘ１軸の仮補正値ΔＣｏｍｐ１を記憶手段２７から取得する。以上により、Ｓ７０が終了する。なお、Ｓ７４は本発明の並進軸補正値決定ステップの一例であり、指令値生成手段２２は本発明の並進軸補正値決定手段の一例である。
【００７４】
＜並進軸・回転軸の補正値の良否を確認（Ｓ８０）の説明＞
Ｓ７０の後には、指令値生成手段２２が、図４に示すＳ８０において、Ｓ７０（Ｓ７４）にて決定した指令値座標系における並進軸の補正値の良否や、Ｓ４０（Ｓ４４）にて決定した指令値座標系における回転軸の補正値の良否を確認する。ここでは、Ｘ１軸の補正値ベクトルΔＣｏｍｐ１の大きさ、Ｃ１軸の補正値ΔＣｃ１及びＢ軸の補正値ΔＣｂ１が、予め設定した上限閾値を上回るか、あるいは予め設定した下限閾値を下回るかを確認する。そして、前記補正値ベクトルΔＣｏｍｐ１の大きさ、前記補正値ΔＣｃ１及びＢ軸の補正値ΔＣｂ１が前記上限閾値を上回らず前記下限閾値を下回らないことを確認した後に、この補正値ベクトルΔＣｏｍｐ１、前記補正値ΔＣｃ１，ΔＣｂ１を記憶手段２７に記憶する。一方、前記補正値ベクトルΔＣｏｍｐ１の大きさ、前記補正値ΔＣｃ１，ΔＣｂ１が前記上限閾値を上回るあるいは前記下限閾値を下回ることを確認した場合には、この補正値ベクトルΔＣｏｍｐ１及び前記補正値ΔＣｃ１，ΔＣｂ１を記憶手段２７に記憶しないと共に複合加工旋盤１に設けられたランプを発光させることにより、ユーザにＸ１軸やＣ１軸・Ｂ軸の各補正値の異常を知らせるようにしている。
【００７５】
＜各軸の指令値を更新（Ｓ９０）の説明＞
Ｓ８０の後には、指令値生成手段２２が、Ｓ９０において、各軸（並進軸及び回転軸）の指令値を更新する。ここでは、Ｓ１０にて取得して記憶手段２７に記憶されたＸ１軸の指令値に、ステップ７０にて決定された補正値ベクトルΔＣｏｍｐ１の大きさを加算する。このようにして、Ｘ１軸（並進軸）の指令値が更新される。これに加えてＳ９０では、Ｓ１０にて取得して記憶手段２７に記憶されたＣ１軸・Ｂ軸の指令値に、ステップ４０にて決定されたＣ１軸の補正値ΔＣｃ１及びＢ軸の補正値ΔＣｂ１を加算する。このようにして、Ｃ１軸・Ｂ軸（回転軸）の指令値が更新される。本実施形態では、一例としてＸ１軸の指令値やＣ１軸・Ｂ軸の指令値を更新する手順を説明したが、上述のＳ２２において使用すると判別された各軸構成１〜４に含まれる各並進軸（Ｘ２軸・Ｙ軸・Ｚ１軸・Ｚ２軸・Ｗ軸）毎の補正値や、上述のＳ５２において使用すると判別された各軸構成１〜４に含まれる各回転軸（Ｃ２軸）毎の補正値を決定したうえで、Ｓ９０において、各軸（Ｘ２軸・Ｙ軸・Ｚ１軸・Ｚ２軸・Ｗ軸・Ｃ２軸）の指令値を更新することもできる。なお、Ｓ９０は本発明の更新ステップの一例であり、指令値生成手段２２は本発明の更新手段の一例である。
【００７６】
＜本実施形態の効果＞
本実施形態の複合加工旋盤１の制御方法及び制御装置では、指令値生成手段２２が、Ｓ２２において使用すると判別された各軸構成１〜４に含まれる回転軸の回転誤差γ，βを利用して算出した回転軸の補正値（仮補正値ΔＣｃｊ，ΔＣｂｊ）を用い、Ｓ５０において、幾何誤差による並進軸における工作物に対する工具１０等の先端点の位置誤差Δｅｊを、各軸構成１〜４に含まれる並進軸の指令値座標系へ同時座標変換するだけの簡単な手法により、該並進軸の指令値座標系において前記位置誤差Δｅｊを補正する補正値（仮補正値ベクトルΔＣｏｍｐｊ）を算出できる。
さらに、Ｓ９０においては、前記回転誤差γ，βを利用して算出した前記仮補正値ΔＣｃｊ，ΔＣｂｊを、回転軸（Ｂ軸・Ｃ１軸・Ｃ２軸）を制御するための指令値に加算すること、前記位置誤差Δｅｊを補正する補正値（前記仮補正値ベクトルΔＣｏｍｐｊの大きさ）を、並進軸（Ｘ１軸・Ｘ２軸・Ｙ軸・Ｚ１軸・Ｚ２軸・Ｗ軸）を制御するための指令値に加算することという簡単な手法により、工具１０等の姿勢誤差を補正する回転軸の指令値や、前記位置誤差Δｅｊを補正する並進軸の指令値を更新できる。
よって、これらの簡単な手法を組み合わせることにより、複合加工旋盤１では、各軸構成１〜４に対応させて、工具１０等の姿勢誤差の補正と、前記仮補正値ΔＣｃｊ，ΔＣｂｊを用いた位置誤差Δｅｊの補正との双方が可能になる。
【００７７】
また、Ｓ２２において軸構成１，３の双方を使用すると判別した場合に、指令値生成手段２２は、Ｓ４４において、仮補正値ベクトルΔＣｏｍｐｊの算出に用いる前記仮補正値ΔＣｃｊ，ΔＣｂｊ（ｊ＝１，３）から、軸構成１，３のうちで工作物を加工する際の使用優先順位が最も高い軸構成１に含まれる仮補正値ΔＣｃ１，ΔＣｂ１を、回転軸の補正値に決定する。これにより、仮補正値ベクトルΔＣｏｍｐｊを算出する際には、回転軸の補正値が複数用いられることがないため、該仮補正値ベクトルΔＣｏｍｐｊが過度に修正されることを防止できる。
【００７８】
さらに、Ｓ５２において軸構成１，３の双方を使用すると判別した場合に、指令値生成手段２２は、Ｓ７４において、仮補正値ベクトルΔＣｏｍｐｊ（ｊ＝１，３）から、軸構成１，３のうちで工作物を加工する際の使用優先順位が最も高い軸構成１に含まれる仮補正値ベクトルΔＣｏｍｐ１を、並進軸の指令値を更新する際に用いる補正値に決定する。そして、該決定された補正値は、前記使用優先順位が最も高い軸構成１に含まれる仮補正値ΔＣｃ１，ΔＣｂ１を用いて算出されたものである。これにより、並進軸の指令値を更新する際には、該指令値に複数の補正値（仮補正値ベクトルΔＣｏｍｐｊ、仮補正値ΔＣｃｊ，ΔＣｂｊ、ｊ＝１，３）が加算されることがないため、並進軸の補正値が過度に補正されることを防止できる。
【００７９】
加えて、指令値生成手段２２は、Ｓ５３において、Ｃ軸（Ｃ１・Ｃ２軸）の補正値ΔＣ（ｃ１），ΔＣ（ｃ２）や、Ｂ軸の補正値ΔＣ（ｂ）を用いて位置誤差Δｅｊを算出した後に、算出した位置誤差Δｅｊを、使用する軸構成１〜４に含まれる並進軸の指令値座標系へ同次座標変換することにより、回転軸（Ｃ１・Ｃ２・Ｂ軸）の補正によって生じる工具の位置の移動を考慮して、前記指令値座標系において前記位置誤差Δｅｊを補正する並進軸の補正値（仮補正値ベクトルΔＣｏｍｐ１〜ΔＣｏｍｐ４）を算出することが可能になる。
【００８０】
＜変更例＞
本発明は、上述した実施形態に限定されるものではなく発明の趣旨を逸脱しない範囲内において構成の一部を適宜変更して実施できる。上述した実施形態では、Ｓ２２にて使用すると判別された軸構成に対してのみ、Ｓ４０での軸ループにおいて、該軸構成に含まれる各回転軸毎の補正値を決定した例を示したが、これに限らない。例えば、Ｓ４０での軸ループにおいて、軸構成を軸構成１から軸構成４まで順次変化させて、軸構成１〜４に含まれる全ての並進軸の補正値を算出した後に、軸構成パラメータＢＩｎｆ１〜ＢＩｎｆ３に基づいて、該算出した全ての補正値の中から、工作物の加工に実際に使用する軸構成に含まれる回転軸の補正値を選択するようにしてもよい。
また、上述した実施形態では、Ｓ５２にて使用すると判別された軸構成に対してのみ、Ｓ７０での軸ループにおいて、該軸構成に含まれる各並進軸毎の補正値を決定した例を示したが、これに限らない。例えば、Ｓ７０での軸ループにおいて、軸構成を軸構成１から軸構成４まで順次変化させて、軸構成１〜４に含まれる全ての回転軸の補正値を算出した後に、軸構成パラメータＢＩｎｆ１〜ＢＩｎｆ３に基づいて、該算出した全ての補正値の中から、工作物の加工に実際に使用する軸構成に含まれる並進軸の補正値を選択するようにしてもよい。
【００８１】
さらに、上述した実施形態では、Ｓ２２にて使用すると判別された軸構成に対してのみ、Ｓ２３において、該軸構成に含まれる回転軸毎の仮補正値を算出した例を示したが、これに限らない。例えばＳ２０では、軸構成を軸構成１から軸構成４まで順次変化させて、すべての軸構成に対して回転軸毎の仮補正値を算出するようにしてもよい。
また、上述した実施形態では、Ｓ５２において使用すると判別された軸構成に対してのみ、Ｓ５３において、該軸構成に含まれる並進軸毎の仮補正値を算出した例を示したが、これに限らない。例えばＳ５０では、軸構成を軸構成１から軸構成４まで順次変化させて、すべての軸構成に対して並進軸毎の仮補正値を算出するようにしてもよい。
【００８２】
加えて、上述した実施形態では、本発明を複合加工旋盤１の幾何誤差を補正して並進軸の指令値や回転軸の指令値を算出する例を示したが、幾何誤差以外の複合加工旋盤１における誤差を補正して並進軸や回転軸の各補正値を算出することに、本発明を適用してもよい。さらに、上述した実施形態では、本発明を複数の刃物台４，５と複数の主軸台６，８を備えた複合加工旋盤１に適用する例を示したが、これに限らず、例えば、刃物台と主軸台とのうちのどちらか一方を複数備えた複合加工旋盤に、本発明を適用してもよい。
【符号の説明】
【００８３】
１・・複合加工旋盤、２・・主軸頭、６・・第１主軸台、８・・第２主軸台、１０・・工具、２０・・数値制御装置、２２・・指令値生成手段、２７・・記憶手段。
【図１】
2016091466.tif 000016
【図２】
2016091466.tif 000017
【図３】
2016091466.tif 000018
【図４】
2016091466.tif 000019
【図５】
2016091466.tif 000020
【図６】
2016091466.tif 000021
【図７】
2016091466.tif 000022
【図８】
2016091466.tif 000023
【図９】
2016091466.tif 000024
【図１０】
2016091466.tif 000025