JP2016091466A - 工作機械の制御方法及び制御装置 - Google Patents
工作機械の制御方法及び制御装置 Download PDFInfo
- Publication number
- JP2016091466A JP2016091466A JP2014228261A JP2014228261A JP2016091466A JP 2016091466 A JP2016091466 A JP 2016091466A JP 2014228261 A JP2014228261 A JP 2014228261A JP 2014228261 A JP2014228261 A JP 2014228261A JP 2016091466 A JP2016091466 A JP 2016091466A
- Authority
- JP
- Japan
- Prior art keywords
- axis
- tool
- correction value
- error
- translation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Automatic Control Of Machine Tools (AREA)
- Numerical Control (AREA)
Abstract
【課題】任意の軸構成に対応させ、回転軸の補正値を用いて工具の位置誤差を補正することと、工具の姿勢誤差を補正することとの双方が可能な工作機械の制御方法及び制御装置を提供する。【解決手段】任意の軸構成に対し、任意の軸構成に含まれる回転軸の回転方向における工作機械の誤差に基づき、工具の位置の誤差を補正する回転軸の補正値を算出する回転軸補正値算出ステップと、回転軸の補正値を用い、工作物座標系から任意の軸構成に含まれる並進軸の指令値座標系へ工具の位置の誤差を同次座標変換することに基づき、工具の位置の誤差を補正する並進軸の補正値を算出する並進軸補正値算出ステップと、回転軸補正値算出ステップにより算出した補正値を回転軸指令値に加算することにより、回転軸指令値を更新し、並進軸補正値算出ステップにより算出した補正値を並進軸指令値に加算することにより、並進軸指令値を更新する更新ステップと、を実行する。【選択図】なし
Description
この発明は、工具を装着する主軸と、工作物を保持するテーブルとが、2軸以上の並進軸と1軸以上の回転軸とによって相対移動することにより、前記工具によって前記工作物を加工する工作機械において、前記主軸と前記テーブルとのうちの少なくとも一方を複数備え、工作機械の誤差による前記工作物に対する前記工具の位置の誤差を補正して前記並進軸を制御するための並進軸指令値及び前記回転軸を制御するための回転軸指令値を算出する工作機械の制御方法及び制御装置に関する。
図9は、当該工作機械の一例であり、3つの並進軸と2つの回転軸とを有し、工作物を固定するテーブル104と、工作物を加工する工具を装着する主軸頭102と、をそれぞれ1つずつ備えた5軸制御マシニングセンタ101の模式図である。主軸頭102は、並進軸であり互いに直交するX軸・Z軸によって、ベッド103に対して並進2自由度の運動が可能である。テーブル104は、回転軸であるC軸によってクレードル105に対して回転1自由度の運動が可能である。クレードル105は、回転軸であるA軸によって、トラニオン106に対して回転1自由度の運動が可能であり、A軸とC軸とは互いに直交している。トラニオン106は、並進軸でありX軸・Z軸に直交するY軸により、ベッド103に対して並進1自由度の運動が可能である。各軸は数値制御装置(図示せず。)により制御されるサーボモータにより駆動され、工作物をテーブル104に固定し、主軸頭102に工具(図示せず。)を装着して回転させ、工作物と工具との相対位置を制御して工作物の加工を行う。
また図10は、4つの並進軸(X軸・Ys軸・Z軸・W軸)と、3つの回転軸(B軸・C1軸・C2軸)とを有し、工作物が取り付け可能な第1及び第2主軸部111,112と、工具113が装着される主軸頭114を備えた複合加工旋盤110の模式図である。この複合加工旋盤110においても、各軸が前記サーボモータにより駆動され、工作物と工具113の相対位置を制御して、第1主軸部111に固定された工作物の加工や、第2主軸部112に固定された工作物の加工を行う。
前記5軸制御マシニングセンタ101や複合加工旋盤110の運動精度に影響を及ぼす要因として、例えば、回転軸の中心位置の誤差(想定されている位置からのズレ)や回転軸の傾き誤差(軸間の直角度や平行度)等の各軸間の幾何学的な誤差(幾何誤差)がある。幾何誤差が存在すると5軸制御マシニングセンタ101や複合加工旋盤110としての運動精度が悪化し、工作物の加工精度が悪化する。そのため、調整により幾何誤差を小さくする必要があるが、ゼロにすることは困難であり、幾何誤差を補正する制御を行うことで高精度な加工を行うことができる。
幾何誤差を補正する手段として、特許文献1に記載されるような方法が提案されている。特許文献1に記載の方法では、工作機械の幾何誤差を考慮して工具の位置を各並進軸の位置に変換し、それらを並進軸を制御するための指令値とすることで幾何誤差による工具の位置誤差を補正することができる。
また、特許文献2には、工作機械の動作に伴う変形誤差と、並進軸の指令位置に対応して発生する位置決め誤差と、工作機械の各要素の発熱等に起因する熱変位による誤差と、を前記幾何誤差とみなし、この幾何誤差を基にして算出した並進軸の補正値を、該並進軸の指令値に加算することで、並進軸を制御するための指令値を算出する方法が提案されている。
さらに、特許文献3には、特許文献1,2とは異なり、回転軸の補正値を用いて幾何誤差による工具の位置誤差を補正することと、工具の姿勢誤差を補正することと、の双方を行う方法が提案されている。一般に、回転軸の指令値を補正することにより工具の姿勢誤差を補正して回転軸が動作すると、工作物に対する工具の位置も移動する。このため、回転軸の補正による工具の位置の移動分だけ並進軸の補正値を修正する必要がある。この修正を行うため、特許文献3に記載の方法では、幾何誤差を考慮した工作物座標系での工具の位置を求める際に、回転軸の補正値を回転軸指令値に加算した回転軸補正指令値を用いている。このようにして算出した並進軸の補正値を該並進軸の指令値に加算することで、幾何誤差による工具の位置誤差を補正することができる。さらに、前記回転軸の補正値を該回転軸の指令値に加算することで、幾何誤差による工具の姿勢誤差を補正することができる。
しかしながら、特許文献3に記載の方法は、工作物を加工する工具を装着する主軸と、該工作物を保持するテーブルと、をそれぞれ1つずつ備えた工作機械を対象とするものである。このため、特許文献3に記載の方法では、前記主軸と前記テーブルとのうちの少なくとも一方を複数備え、2軸以上の並進軸と1軸以上の回転軸とによって前記主軸と前記テーブルとを相対移動させる工作機械において、複数の並進軸に含まれる任意の並進軸と回転軸とを有する任意の軸構成に対応させ、回転軸の補正値を用い、幾何誤差を始めとする工作機械の誤差による工具の位置誤差を補正することと、工具の姿勢誤差を補正することとの双方を行うという要請に応えることができなかった。
この発明は、このような状況に鑑み提案されたものであって、主軸とテーブルとのうちの少なくとも一方を複数備えた工作機械において、任意の並進軸及び任意の回転軸を有する任意の軸構成に対応させて、回転軸の補正値を用いて工作機械の誤差による工具の位置誤差を補正することと、工具の姿勢誤差を補正することとの双方が可能な工作機械の制御方法及び制御装置を提供することを目的とする。
請求項1の発明に係る工作機械の制御方法は、工具を装着する主軸と、工作物を保持するテーブルとが、2軸以上の並進軸と1軸以上の回転軸とによって相対移動することにより、前記工具によって前記工作物を加工する工作機械において、前記主軸と前記テーブルとのうちの少なくとも一方を複数備え、前記工作機械の誤差による前記工作物に対する前記工具の位置の誤差を、前記工作機械の誤差を考慮した工具座標系から工作物座標系への同次座標変換により求めた前記工作機械の誤差がある場合の前記工具の位置と、前記工作機械の誤差を考慮しない工具座標系から工作物座標系への同次座標変換により求めた理想的な前記工具の位置と、から算出し、前記工具の位置の誤差を補正して前記並進軸を制御するための並進軸指令値及び前記回転軸を制御するための回転軸指令値を算出する工作機械の制御方法であって、前記2軸以上の並進軸に含まれる任意の並進軸及び前記1軸以上の回転軸に含まれる任意の回転軸を有する任意の軸構成に対し、該任意の軸構成に含まれる前記回転軸の回転方向における前記工作機械の誤差に基づいて、前記工具の位置の誤差を該回転軸の指令値座標系において補正する前記回転軸の補正値を算出する回転軸補正値算出ステップと、前記回転軸補正値算出ステップによって算出した前記回転軸の補正値を用い、前記工作物座標系から前記任意の軸構成に含まれる前記並進軸の指令値座標系へ前記工具の位置の誤差を同次座標変換することに基づいて、該並進軸の指令値座標系において前記工具の位置の誤差を補正する前記並進軸の補正値を算出する並進軸補正値算出ステップと、前記回転軸補正値算出ステップによって算出した前記補正値を前記回転軸指令値に加算することにより、前記回転軸指令値を更新すると共に、前記並進軸補正値算出ステップによって算出した前記補正値を前記並進軸指令値に加算することにより、前記並進軸指令値を更新する更新ステップと、を実行することを特徴とする。
請求項2の発明は、請求項1において、前記工作機械の誤差を幾何学的な誤差として、前記工具の位置の誤差を、前記幾何学的な誤差を考慮した工具座標系から工作物座標系への同次座標変換により求めた前記幾何学的な誤差がある場合の前記工具の位置と、前記幾何学的な誤差を考慮しない工具座標系から工作物座標系への同次座標変換により求めた理想的な前記工具の位置とから算出し、前記並進軸補正値算出ステップを実行する前に、前記工作物の加工に実際に使用する並進軸及び該加工に実際に使用する回転軸を有する使用軸構成を判別する使用軸構成判別情報に基づいて、前記2軸以上の並進軸に含まれる該並進軸及び前記1軸以上の回転軸に含まれる該回転軸を有する軸構成の中に前記使用軸構成が存在するか否かを判別し、該判別した使用軸構成を前記任意の軸構成として選択する選択ステップと、前記選択ステップによって判別した前記使用軸構成が複数存在する場合に、前記回転軸補正値算出ステップによって前記複数の使用軸構成にそれぞれ含まれる前記回転軸毎に算出した前記補正値のうちから、各前記使用軸構成の使用優先順位を判別する優先順位判別情報に基づいて前記使用優先順位が最も高いと判断した前記使用軸構成に含まれる前記回転軸の補正値を、前記並進軸補正値算出ステップにおいて前記並進軸の算出に用いる前記回転軸の補正値として決定する回転軸補正値決定ステップと、を実行することを特徴とする。
請求項3の発明は、請求項2において、前記選択ステップによって判別した前記使用軸構成が複数存在する場合に、前記回転軸補正値決定ステップにより決定された前記回転軸の補正値を用い、前記並進軸補正値算出ステップによって前記複数の使用軸構成にそれぞれ含まれる前記並進軸毎に算出した前記補正値のうちから、前記優先順位判別情報に基づいて前記使用優先順位が最も高いと判断した前記使用軸構成に含まれる前記並進軸の補正値を、前記更新ステップにおいて前記並進軸指令値に加算する補正値とするように決定する並進軸補正値決定ステップを実行することを特徴とする。
請求項4の発明は、請求項2において、前記並進軸補正値算出ステップでは、前記並進軸指令値と、前記幾何学的な誤差と、前記回転軸補正値決定ステップによって決定された前記回転軸の補正値と、を用い、前記幾何学的な誤差を考慮した工具座標系から工作物座標系への同次座標変換に基づいて、前記幾何学的な誤差がある場合の前記工具の位置を算出する第1工具位置算出ステップと、前記並進軸指令値を用い、前記幾何学的な誤差を考慮しない工具座標系から工作物座標系への同次座標変換に基づいて、前記理想的な工具の位置を算出する第2工具位置算出ステップと、前記第1工具位置算出ステップによって算出した前記幾何学的な誤差がある場合の前記工具の位置と、前記第2工具位置算出ステップによって算出した前記理想的な工具の位置と、から前記工具の位置の誤差を算出する工具位置誤差算出ステップと、を実行し、前記工具位置誤差算出ステップによって算出した前記工具の位置の誤差を、前記工作物座標系から前記選択ステップによって選択された前記使用軸構成に含まれる前記並進軸の指令値座標系へ同次座標変換することに基づいて、前記並進軸の補正値を算出することを特徴とする。
請求項5の発明に係る工作機械の制御装置は、工具を装着する主軸と、工作物を保持するテーブルとが、2軸以上の並進軸と1軸以上の回転軸とによって相対移動することにより、前記工具によって前記工作物を加工する工作機械において、前記主軸と前記テーブルとのうちの少なくとも一方を複数備え、前記工作機械の誤差による前記工作物に対する前記工具の位置の誤差を、前記工作機械の誤差を考慮した工具座標系から工作物座標系への同次座標変換により求めた前記工作機械の誤差がある場合の前記工具の位置と、前記工作機械の誤差を考慮しない工具座標系から工作物座標系への同次座標変換により求めた理想的な前記工具の位置と、から算出し、前記工具の位置の誤差を補正して前記並進軸を制御するための並進軸指令値及び前記回転軸を制御するための回転軸指令値を算出する工作機械の制御装置であって、前記2軸以上の並進軸に含まれる任意の並進軸及び前記1軸以上の回転軸に含まれる任意の回転軸を有する任意の軸構成に対し、該任意の軸構成に含まれる前記回転軸の回転方向における前記工作機械の誤差に基づいて、前記工具の位置の誤差を該回転軸の指令値座標系において補正する前記回転軸の補正値を算出する回転軸補正値算出手段と、前記回転軸補正値算出手段によって算出した前記回転軸の補正値を用い、前記工作物座標系から前記任意の軸構成に含まれる前記並進軸の指令値座標系へ前記工具の位置の誤差を同次座標変換することに基づいて、該並進軸の指令値座標系において前記工具の位置の誤差を補正する前記並進軸の補正値を算出する並進軸補正値算出手段と、前記回転軸補正値算出手段によって算出した前記補正値を前記回転軸指令値に加算することにより、前記回転軸指令値を更新すると共に、前記並進軸補正値算出手段によって算出した前記補正値を前記並進軸指令値に加算することにより、前記並進軸指令値を更新する更新手段と、を備えることを特徴とする。
請求項6の発明は、請求項5において、前記工作機械の誤差を幾何学的な誤差として、前記工具の位置の誤差を、前記幾何学的な誤差を考慮した工具座標系から工作物座標系への同次座標変換により求めた前記幾何学的な誤差がある場合の前記工具の位置と、前記幾何学的な誤差を考慮しない工具座標系から工作物座標系への同次座標変換により求めた理想的な前記工具の位置とから算出し、前記工作物の加工に実際に使用する並進軸及び該加工に実際に使用する回転軸を有する使用軸構成を判別する使用軸構成判別情報と、該使用軸構成の使用優先順位を判別する優先順位判別情報と、を記憶する記憶手段を備え、前記記憶手段に記憶された前記使用軸構成判別情報に基づいて、前記2軸以上の並進軸に含まれる該並進軸及び前記1軸以上の回転軸に含まれる該回転軸を有する軸構成の中に前記使用軸構成が存在するか否かを判別し、該判別した使用軸構成を前記任意の軸構成として選択する選択手段と、前記選択手段によって判別した前記使用軸構成が複数存在する場合に、前記回転軸補正値算出手段によって前記複数の使用軸構成にそれぞれ含まれる前記回転軸毎に算出した前記補正値のうちから、前記記憶手段に記憶された前記優先順位判別情報に基づいて前記使用優先順位が最も高いと判断した前記使用軸構成に含まれる前記回転軸の補正値を、前記並進軸補正値算出手段において前記並進軸の算出に用いる前記回転軸の補正値として決定する回転軸補正値決定手段と、を備えることを特徴とする。
請求項7の発明は、請求項6において、前記選択手段によって判別した前記使用軸構成が複数存在する場合に、前記回転軸補正値決定手段により決定された前記回転軸の補正値を用い、前記並進軸補正値算出手段によって前記複数の使用軸構成にそれぞれ含まれる前記並進軸毎に算出した前記補正値のうちから、前記記憶手段に記憶された前記優先順位判別情報に基づいて前記使用優先順位が最も高いと判断した前記使用軸構成に含まれる前記並進軸の補正値を、前記更新手段において前記並進軸指令値に加算する補正値とするように決定する並進軸補正値決定手段を備えることを特徴とする。
請求項8の発明は、請求項6において、前記並進軸補正値算出手段が、前記並進軸指令値と、前記幾何学的な誤差と、前記回転軸補正値決定手段によって決定された前記回転軸の補正値と、を用い、前記幾何学的な誤差を考慮した工具座標系から工作物座標系への同次座標変換に基づいて、前記幾何学的な誤差がある場合の前記工具の位置を算出する第1工具位置算出手段と、前記並進軸指令値を用い、前記幾何学的な誤差を考慮しない工具座標系から工作物座標系への同次座標変換に基づいて、前記理想的な工具の位置を算出する第2工具位置算出手段と、前記第1工具位置算出手段によって算出した前記幾何学的な誤差がある場合の前記工具の位置と、前記第2工具位置算出手段によって算出した前記理想的な工具の位置と、から前記工具の位置の誤差を算出する工具位置誤差算出手段と、を備え、前記工具位置誤差算出手段によって算出した前記工具の位置の誤差を、前記工作物座標系から前記選択手段によって選択された前記使用軸構成に含まれる前記並進軸の指令値座標系へ同次座標変換することに基づいて、前記並進軸の補正値を算出することを特徴とする。
請求項1の発明に係る工作機械の制御方法及び請求項5の発明に係る工作機械の制御装置によれば、任意の軸構成に含まれる回転軸の回転方向における工作機械の誤差を利用して算出した該回転軸の補正値を用い、工作機械の誤差による工作物に対する工具の位置の誤差を、任意の軸構成に含まれる並進軸の指令値座標系へ同次座標変換するだけの簡単な手法により、該並進軸の指令値座標系において前記工具の位置の誤差を補正する並進軸の補正値を算出できる。さらに、前記回転軸の回転方向における工作機械の誤差を利用して算出した回転軸の補正値を回転指令値に加算すること、前記並進軸の補正値を並進軸指令値に加算することという簡単な手法により、工具の姿勢誤差を補正する回転軸の指令値や、工具の位置の誤差を補正する並進軸の指令値を更新できる。よって、これらの簡単な手法を組み合わせることにより、主軸とテーブルとのうちの少なくとも一方を複数備えた工作機械において、任意の軸構成に対応させて、工具の姿勢誤差の補正と、回転軸の補正値を用いた工具の位置の誤差の補正との双方が可能になる。
請求項2及び6の発明によれば、使用軸構成が複数存在する場合には、並進軸の補正値の算出に用いる回転軸の補正値を、使用優先順位が最も高い使用軸構成に含まれる回転軸の補正値に決定できる。これにより、並進軸の補正値を算出する際には、回転軸の補正値が複数用いられることがないため、並進軸の補正値が過度に修正されることを防止できる。
請求項3及び7の発明によれば、使用軸構成が複数存在する場合には、並進軸指令値を更新する際に用いる補正値を、使用優先順位が最も高い使用軸構成に含まれる回転軸の補正値を用いて算出すること、該使用優先順位が最も高い使用軸構成に含まれる並進軸の補正値に決定することが可能になる。これにより、並進軸指令値を更新する際には、該並進軸指令値に複数の補正値(回転軸及び並進軸の補正値)が加算されることがないため、並進軸指令値が過度に補正されることを防止できる。
請求項4及び8の発明によれば、回転軸の補正値を用いて工具の位置の誤差を算出した後に、算出した工具の位置の誤差を、使用軸構成に含まれる並進軸の指令値座標系へ同次座標変換することにより、回転軸の補正によって生じる工具の位置の移動を考慮し、前記指令値座標系において前記工具の位置の誤差を補正する並進軸の補正値を算出することが可能になる。
請求項2及び6の発明によれば、使用軸構成が複数存在する場合には、並進軸の補正値の算出に用いる回転軸の補正値を、使用優先順位が最も高い使用軸構成に含まれる回転軸の補正値に決定できる。これにより、並進軸の補正値を算出する際には、回転軸の補正値が複数用いられることがないため、並進軸の補正値が過度に修正されることを防止できる。
請求項3及び7の発明によれば、使用軸構成が複数存在する場合には、並進軸指令値を更新する際に用いる補正値を、使用優先順位が最も高い使用軸構成に含まれる回転軸の補正値を用いて算出すること、該使用優先順位が最も高い使用軸構成に含まれる並進軸の補正値に決定することが可能になる。これにより、並進軸指令値を更新する際には、該並進軸指令値に複数の補正値(回転軸及び並進軸の補正値)が加算されることがないため、並進軸指令値が過度に補正されることを防止できる。
請求項4及び8の発明によれば、回転軸の補正値を用いて工具の位置の誤差を算出した後に、算出した工具の位置の誤差を、使用軸構成に含まれる並進軸の指令値座標系へ同次座標変換することにより、回転軸の補正によって生じる工具の位置の移動を考慮し、前記指令値座標系において前記工具の位置の誤差を補正する並進軸の補正値を算出することが可能になる。
本発明の実施形態を図1ないし図8を参照しつつ説明する。図1に示す複合加工旋盤1は、本発明の工作機械の一例であり、6つの並進軸(X1軸・X2軸・Y軸・Z1軸・Z2軸・W軸)と、3つの回転軸(B軸・C1軸・C2軸)とを有する。主軸頭2は、互いに直交する並進軸であるX1軸・Y軸・Z1軸によって、ベッド3に対して並進3自由度の運動が可能である。加えて主軸頭2は、第1刃物台4に内蔵された回転軸であるB軸によって、回転1自由度の運動が可能である。第2刃物台5は、互いに直交するX2軸・Z2軸によって、べッド3に対して並進2自由度の運動が可能である。この第2刃物台5は、各種の工具が装着されたタレットヘッドHを備えている。
また第1主軸台6は、ベッド3に固定され、回転軸C1により、回転1自由度の運動が可能である。この第1主軸台6が備える第1主軸部7は回転軸C1回りで回転可能であり、第1主軸部7には工作物(図示せず。)が取り付け可能とされている。さらに第2主軸台8は、並進軸であってZ1軸と平行なW軸によって、ベッド3に対して並進1自由度の運動が可能である。これに加えて第2主軸台8は、回転軸であるC2軸によって、回転1自由度の運動が可能である。この第2主軸台8が備える第2主軸部9は回転軸C2回りで回転可能であり、第2主軸部9にも工作物(図示せず。)が取り付け可能とされている。各並進軸(X1軸・X2軸・Y軸・Z1軸・Z2軸・W軸)及び各回転軸(B軸・C1軸・C2軸)は、後述する数値制御装置20により制御されるサーボモータ25a〜25i(図2参照。)により駆動され、主軸頭2に装着された工具10(図1参照。)と工作物との相対位置や、タレットヘッドHに装着された工具(図示せず。)と工作物との相対位置を制御しながら、工具10やタレットヘッドHに装着された工具によって前記工作物を任意の形状に加工する。なお、第1主軸台6及び第2主軸台8は、本発明のテーブルの一例である。
図2には本実施形態の制御を行うための数値制御装置20の一例を示した。この数値制御装置20は、指令値生成手段22とサーボ指令値変換手段23とを備えている。指令値生成手段22は、工作物に加工を行う際に工具10等を該加工を行う位置に移動させる指令として該工具10等の先端位置の指令座標値が記述された加工プログラム21が入力されると、各軸(B軸・C1軸・C2軸・X1軸・X2軸・Y軸・Z1軸・Z2軸・W軸)の指令値を生成する。この指令値はサーボ指令値変換手段23に送られる。この指令値を受けたサーボ指令値変換手段23は、前記各軸のサーボ指令値を演算して、各軸のサーボアンプ24a〜24iへ送る。各軸のサーボアンプ24a〜24iはそれぞれサーボモータ25a〜25iを駆動し、第1主軸台6や第2主軸台8に対する工具10やタレットヘッドHに装着された工具の相対位置および姿勢を制御する。なお、図2中の符号27は、数値制御装置20に備えられた記憶手段である。この記憶手段27には、加工プログラム21、後述の実測により求めた幾何誤差、後述の使用軸構成判別パラメータAInf1〜AInf3や軸構成パラメータBInf1〜BInf3が記憶される。
本実施形態では幾何誤差を、隣り合う軸間の相対並進誤差3方向及び相対回転誤差3方向の合計6成分(δx,δy,δz,α,β,γ)であると定義する。本実施形態の複合加工旋盤1では、第1刃物台4と第1主軸台6との組み合わせによる工作物から工具10への軸構成(以下、軸構成1という。)が、C1軸−Z1軸−Y軸−X1軸−B軸となっている。この軸構成1では13個の幾何誤差が存在する。また、第1刃物台4と第2主軸台8との組み合わせによる工作物から工具10への軸構成(以下、軸構成2という。)が、C2軸−W軸−Z1軸−Y軸−X1軸−B軸となっている。この軸構成2では15個の幾何誤差が存在する。さらに、第2刃物台5と第1主軸台6との組み合わせによる工作物から工具への軸構成(以下、軸構成3という。)が、C1軸−Z2軸−X2軸となっている。この軸構成3では6個の幾何誤差が存在する。加えて、第2刃物台5と第2主軸台8との組み合わせによる工作物から工具への軸構成(以下、軸構成4という。)が、C2軸−W軸−Z2軸−X2軸となっている。この軸構成4では8個の幾何誤差が存在する。
軸構成1における13個の幾何誤差は、各軸名に加えて、軸構成番号を第1添え字、工具10から工作物に向けた順番を第2添え字として、δx11、δz11、α11、β11、α12、γ12、β13、γ13、α14、δx15、δy15、α15、β15のように表される。これらの幾何誤差は、順に、それぞれ、B軸中心位置X1方向誤差、B軸中心位置Z1方向誤差、第1主軸台6−Y軸間直角度、B軸原点誤差、B−Z1軸間直角度、B−X1軸間直角度、Z1−X1軸間直角度、X1−Y軸間直角度、Y−Z1軸間直角度、C1軸中心位置X1方向誤差、C1軸中心位置Y方向誤差、C1−Y軸間直角度、C1−X1軸間直角度を意味する。軸構成1における13個の幾何誤差は、実測によって予め求めておき、記憶手段27に記憶されている。
また軸構成2における15個の幾何誤差は、軸構成1における幾何誤差と同様な方法により、δx21、δz21、α21、β21、α22、γ22、β23、γ23、α24、α25、β25、δx26、δy26、α26、β26のように表される。これらの幾何誤差は、順に、それぞれ、B軸中心位置X1方向誤差、B軸中心位置Z1方向誤差、第2主軸台8−Y軸間直角度、B軸原点誤差、B−Z1軸間直角度、B−X1軸間直角度、Z1−X1軸間直角度、X1−Y軸間直角度、Y−Z1軸間直角度、W−Y軸間直角度、W−X1軸間直角度、C2軸中心位置X1方向誤差、C2軸中心位置Y方向誤差、C2−Y軸間直角度、C2−X1軸間直角度を意味する。軸構成2における15個の幾何誤差も、実測によって予め求めておき、記憶手段27に記憶されている。
さらに軸構成3における6個の幾何誤差は、軸構成1における幾何誤差と同様な方法により、α31、β31、β32、δx33、α33、β33のように表される。これらの幾何誤差は、順に、それぞれ、X2軸と直交する平面に対する第2刃物台8の平行度、第2主軸台8−X2軸間直角度、Z2−X2軸間直角度、C1軸中心位置X2方向誤差、X2軸と直交する平面に対するC1軸の平行度、C1−X2軸間直角度を意味する。軸構成3における6個の幾何誤差も、実測によって予め求めておき、記憶手段27に記憶されている。
加えて軸構成4における8個の幾何誤差は、軸構成1における幾何誤差と同様な方法により、α41、β41、β42、α43、β43、δx44、α44、β44のように表される。これらの幾何誤差は、順に、それぞれ、X2軸と直交する平面に対する第2刃物台8の平行度、第2主軸台8−X2軸間直角度、Z2−X2軸間直角度、X2軸と直交する平面に対するW軸の平行度、W−X2軸間直角度、C2軸中心位置X2方向誤差、X2軸と直交する平面に対するC2軸の平行度、C2−X2軸間直角度である。
続いて、数値制御装置20によって実行される並進軸及び回転軸の各指令値の算出方法を図3ないし図8を用いて説明する。この数値制御装置20(指令値生成手段22)は、記憶手段27に記憶された計算プログラムにより、上述の軸構成1〜4のうちから選択した任意の軸構成に対応させて、前記各指令値を算出可能としている。
図3中のS10では、指令値生成手段22が、各軸(並進軸及び回転軸)の指令値を取得する。S10では、加工プログラム21(図2参照。)から並進軸(X1軸・X2軸・Y軸・Z1軸・Z2軸・W軸)の指令値や回転軸(B軸・C1軸・C2軸)の指令値を取得する。その後指令値生成手段22は、前記取得した各指令値を記憶手段27に記憶する。なお、並進軸の指令値は本発明の並進軸指令値の一例であり、回転軸の指令値は本発明の回転軸指令値の一例である。
<回転軸の仮補正値算出処理(S20)の説明>
S10の後には、指令値生成手段22が、S20において以下に説明するように、指令値座標系でのC軸(C1軸・C2軸)・B軸の仮補正値算出処理を実行する。S20では、図5に示すS21〜S24を実行する。S21では、工作物の加工に実際に使用する回転軸の判別情報を取得する。S21では、一例として、実際に使用する並進軸・回転軸毎に記憶手段27(図2参照。)に記憶された加工プログラム21のプログラム名を取得する。ここでは、実際に使用する並進軸・回転軸毎に加工プログラム21のプログラム名を異ならせた。一例として、プログラム名が「A」の場合には、軸構成1(C1軸−Z1軸−Y軸−X1軸−B軸)により、工具10が第1主軸台6(第1主軸部7)に取り付けられた工作物を加工する。また、プログラム名が「B」の場合には、軸構成2(C2軸−W軸−Z1軸−Y軸−X1軸−B軸)により、工具10が第2主軸台8(第2主軸部9)に取り付けられた工作物を加工する。さらに、プログラム名が「C」の場合には、軸構成3(C1軸−Z2軸−X2軸)により、タレットヘッドHに装着された工具が第1主軸台6(第1主軸部7)に取り付けられた工作物を加工する。加えて、プログラム名が「D」の場合には、軸構成4(C2軸−W軸−Z2軸−X2軸)により、タレットヘッドHに装着された工具が第2主軸台8(第2主軸部9)に取り付けられた工作物を加工することとした。
S10の後には、指令値生成手段22が、S20において以下に説明するように、指令値座標系でのC軸(C1軸・C2軸)・B軸の仮補正値算出処理を実行する。S20では、図5に示すS21〜S24を実行する。S21では、工作物の加工に実際に使用する回転軸の判別情報を取得する。S21では、一例として、実際に使用する並進軸・回転軸毎に記憶手段27(図2参照。)に記憶された加工プログラム21のプログラム名を取得する。ここでは、実際に使用する並進軸・回転軸毎に加工プログラム21のプログラム名を異ならせた。一例として、プログラム名が「A」の場合には、軸構成1(C1軸−Z1軸−Y軸−X1軸−B軸)により、工具10が第1主軸台6(第1主軸部7)に取り付けられた工作物を加工する。また、プログラム名が「B」の場合には、軸構成2(C2軸−W軸−Z1軸−Y軸−X1軸−B軸)により、工具10が第2主軸台8(第2主軸部9)に取り付けられた工作物を加工する。さらに、プログラム名が「C」の場合には、軸構成3(C1軸−Z2軸−X2軸)により、タレットヘッドHに装着された工具が第1主軸台6(第1主軸部7)に取り付けられた工作物を加工する。加えて、プログラム名が「D」の場合には、軸構成4(C2軸−W軸−Z2軸−X2軸)により、タレットヘッドHに装着された工具が第2主軸台8(第2主軸部9)に取り付けられた工作物を加工することとした。
S21の後には、S22において軸構成1〜4を使用するか否かを判別する。S22では、S21によって取得したプログラム名が「A」の場合には軸構成1を使用すると判別し、前記取得したプログラム名が「B」の場合には軸構成2を使用すると判別する。また、前記取得したプログラム名が「C」の場合には軸構成3を使用すると判別し、前記取得したプログラム名が「D」の場合には軸構成4を使用すると判別する。また、例えばS21において取得したプログラム名が「A」及び「C」の場合には、軸構成1と軸構成3とを組み合わせて使用すると判別する。本実施形態では、S21において取得したプログラム名が「A」及び「B」の場合には、軸構成1のみを使用すると判別させて、工具10が第2主軸台8に取り付けた工作物を加工しないようにした。さらに、S21において取得したプログラム名が「C」及び「D」の場合には、軸構成3のみを使用すると判別させて、タレットヘッドHに装着された工具が第2主軸台8に取り付けた工作物を加工しないようにした。
なお軸構成1〜4は本発明の任意の軸構成の一例である。軸構成1におけるZ1軸・Y軸・X1軸、軸構成2におけるW軸・Z1軸・Y軸・X1軸、軸構成3におけるZ2軸・X2軸、軸構成4におけるW軸・Z2軸・X2軸は、本発明の任意の並進軸の一例である。軸構成1におけるC1軸・B軸、軸構成2におけるC2軸・B軸、軸構成3におけるC1軸、軸構成4におけるC2軸は、本発明の任意の回転軸の一例である。また、使用すると判別された軸構成1〜4は本発明の使用軸構成の一例である。使用すると判別された軸構成1におけるZ1軸・Y軸・X1軸、使用すると判別された軸構成2におけるW軸・Z1軸・Y軸・X1軸、使用すると判別された軸構成3におけるZ2軸・X2軸、使用すると判別された軸構成4におけるW軸・Z2軸・X2軸は、本発明の工作物の加工に実際に使用する並進軸の一例である。使用すると判別された軸構成1におけるC1軸・B軸、使用すると判別された軸構成2におけるC2軸・B軸、使用すると判別された軸構成3におけるC1軸、使用すると判別された軸構成4におけるC2軸は、本発明の工作物の加工に実際に使用する回転軸の一例である。さらに、プログラム名は本発明の使用軸構成判別情報の一例である。加えて、S22は本発明の選択ステップの一例であり、指令値生成手段22は本発明の選択手段の一例である。
S22において、軸構成1〜4のいずれか又は複数の軸構成を組み合せて使用すると判別した場合には、S23において以下に説明するように、回転軸の仮補正値を算出する。具体的には、S22において使用すると判別された各軸構成1〜4に含まれる回転軸であるC軸(C1軸・C2軸)・B軸の指令値の座標系(指令値座標系)におけるC軸(C1軸・C2軸)・B軸の仮補正値を算出する。S23では、C軸及びB軸の各回転誤差γ,βを利用する[数1]を用いることにより、指令値座標系におけるC軸の仮補正値ΔCcj、指令値座標系におけるB軸の仮補正値ΔCbjをそれぞれ算出する。本実施形態では、S22において、軸構成1を使用すると判別した場合には、[数1]を用いることにより、軸構成1における指令値座標系でのC1軸の仮補正値ΔCc1及びB軸の仮補正値ΔCb1を算出する。また、S22において、軸構成2を使用すると判別した場合には、[数1]を用いることにより、軸構成2における指令値座標系でのC2軸の仮補正値ΔCc2及びB軸の仮補正値ΔCb2を算出する。さらに、S22において、軸構成3を使用すると判別した場合には、[数1]を用いることにより、軸構成3における指令値座標系でのC1軸の仮補正値ΔCc3を算出する。加えて、S22において、軸構成4を使用すると判別した場合には、[数1]を用いることにより、軸構成4における指令値座標系でのC2軸の仮補正値ΔCc4を算出する。さらには、例えばS22において、軸構成1,3の双方を使用すると判別した場合には、前記仮補正値ΔCc1、ΔCc3及び前記仮補正値ΔCb1を算出する。このS23では、算出した各仮補正値ΔCc1〜ΔCc4や、各仮補正値ΔCb1,ΔCb2を記憶手段27に記憶する。なお、本実施形態の軸構成1では、工作物側の最初の回転軸であるC1軸と並進軸であるZ1軸との間に指令値座標系があり、軸構成2では、工作物側の最初の回転軸であるC2軸と並進軸であるW軸との間に指令値座標系がある。また、軸構成3では、最初の回転軸であるC1軸と並進軸であるZ2軸との間に指令値座標系があり、軸構成4では、最初の回転軸であるC2軸と並進軸であるW軸との間に指令値座標系がある。なお、S20は本発明の回転軸補正値算出ステップの一例であり、指令値生成手段22は本発明の回転軸補正値算出手段の一例である。
また、上述のS22において、軸構成1〜4のいずれかを使用しないと判別した場合には、S24において、使用しない軸構成に含まれる回転軸の仮補正値が零に設定あるいは前回の仮補正値を保持するように決定される。前回の仮補正値とは、S22において軸構成1〜4のいずれかを使用しないと判別した時点で記憶手段27に記憶されているC軸(C1軸・C2軸)の仮補正値や、B軸の仮補正値を意味する。
S20の後には、指令値生成手段22が、図3に示すS30において、すべての軸構成での回転軸の仮補正値の算出が終了したか否かを判定する。ここでは、記憶手段27に、上述のS22において使用すると判別した軸構成に対応する仮補正値ΔCc1〜ΔCc4や、仮補正値ΔCb1,ΔCb2が記憶されているか否かを判定する。S30において、記憶手段27に前記軸構成に対応する仮補正値ΔCc1〜ΔCc4や、仮補正値ΔCb1,ΔCb2が記憶されていないと判定して、すべての軸構成での回転軸の仮補正値の算出が終了していないと判定した場合には、ステップ20を実行する。
<回転軸の補正値決定処理(S40)の説明>
一方S30において、すべての軸構成での回転軸の仮補正値の算出が終了したと判定した場合には、指令値生成手段22は、S40において、上述のS22で使用すると判別された軸構成に対応させて、指令値座標系における回転軸の補正値決定処理を実行する。S40では、図6に示すS41〜S44により、上述のS22において使用すると判別された軸構成に対し、軸ループにおいて、複合加工旋盤1が有する各回転軸(B軸・C1軸・C2軸)毎の補正値を決定する。ここでは、一例として軸構成1に対しC1軸の補正値を決定する手順を説明する。
一方S30において、すべての軸構成での回転軸の仮補正値の算出が終了したと判定した場合には、指令値生成手段22は、S40において、上述のS22で使用すると判別された軸構成に対応させて、指令値座標系における回転軸の補正値決定処理を実行する。S40では、図6に示すS41〜S44により、上述のS22において使用すると判別された軸構成に対し、軸ループにおいて、複合加工旋盤1が有する各回転軸(B軸・C1軸・C2軸)毎の補正値を決定する。ここでは、一例として軸構成1に対しC1軸の補正値を決定する手順を説明する。
S41では、記憶手段27に記憶された軸構成パラメータBInfを初期化する。S41では、軸構成番号を指示する軸構成パラメータBInf1を「0」に、工作物の加工に実際に使用することを指示する軸構成パラメータBInf2を「off」に、工作物を加工する際に使用する軸構成の使用優先順位を指示する軸構成パラメータBInf3を「99」に、それぞれ設定する。
S41の後には、S42において、軸構成j(ここでは軸構成1)に含まれる回転軸が存在するか否かを判定する。S42において、C1軸・B軸が軸構成1に含まれる回転軸であると判定すると、S43において以下に説明するように、軸構成パラメータBInfの比較・更新処理を実行する。S43では、図7に示すS43A〜S43Eを実行する。S43Aでは、工作物の加工に実際に使用する軸構成を判別する使用軸構成判別パラメータAInfを取得する。具体的には、加工プログラム21に対応させて記憶手段27に記憶されている使用軸構成判別パラメータAInfを該記憶手段27から取得する。ここでは、記憶手段27に記憶された加工プログラム21のプログラム名が「A」であることに基づき、軸構成1により工作物を加工すると判別すると、軸構成番号を指示して数値が「1」に設定された使用軸構成判別パラメータAInf1、工作物の加工に実際に使用することを指示するために「on」に設定された使用軸構成判別パラメータAInf2、工作物を加工する際に使用する軸構成の使用優先順位を指示して数値が「1」に設定された使用軸構成判別パラメータAInf3を、それぞれ取得する。
S43Aの後には、S43Bにおいて、S41(図6参照。)にて初期化した軸構成パラメータBInf2と、S43Aにて取得した使用軸構成判別パラメータAInf2が、共に「off」又は「on」となって一致するか否かを判定する。ここでは、軸構成パラメータBInf2が「off」で使用軸構成判別パラメータAInf2が「on」であるために両者が一致しないと判定する。すると、S43Cにおいて、使用軸構成判別パラメータAInf2が「on」に設定されているか否かを判定する。ここでは、使用軸構成判別パラメータAInf2が「on」に設定されているため、S43Dにおいて、軸構成パラメータBInf1を、使用軸構成判別パラメータAInf1と同じ「1」に設定して更新し、軸構成パラメータBInf2を、使用軸構成判別パラメータAInf2と同じ「on」に設定して更新し、軸構成パラメータBInf3を、使用軸構成判別パラメータAInf3と同じ「1」に設定して更新する。この場合には、使用優先順位が最も高い軸構成1により工作物が加工されることを意味する。以上により、軸構成1でのS43が終了する。
また、本実施形態では、上述のS22(図5参照。)において軸構成1,3の双方を使用すると判定した場合には、上述した軸構成1での軸構成パラメータBInf1〜BInf3の更新に続き、軸構成3についても以下に説明するように、S43A〜S43Eを実行する。S43Aでは、記憶手段27に記憶された加工プログラム21のプログラム名が「C」であることに基づき、軸構成3により工作物を加工すると判別すると、軸構成番号を指示して数値が「3」に設定された使用軸構成判別パラメータAInf1、工作物の加工に実際に使用することを指示するために「on」に設定された使用軸構成判別パラメータAInf2、工作物を加工する際に使用する軸構成の使用優先順位を指示して数値が「3」に設定された使用軸構成判別パラメータAInf3を、それぞれ取得する。
S43Aの後には、S43Bにおいて、軸構成1でのS43Dによって更新した軸構成パラメータBInf2と、軸構成3でのS43Aにて取得した使用軸構成判別パラメータAInf2が、共に一致するか否かを判定する。ここでは、軸構成パラメータBInf2と使用軸構成判別パラメータAInf2とが共に「on」であるために一致すると判定する。すると、S43Eにおいて、軸構成3での使用軸構成判別パラメータAInf3の数値が、軸構成1でのS43Dによって更新した軸構成パラメータBInf3の数値よりも小さいか否かを判定する。ここでは、使用軸構成判別パラメータAInf3の数値「3」が、軸構成パラメータBInf3の数値「1」よりも大きいため、S43Dを行わずS43を終了する。このようにすることで、使用優先順位が異なる複数の軸構成1,3を使用する場合には、使用優先順位が最も高い軸構成1の使用軸構成判別パラメータAInf1〜AInf3が、軸構成パラメータBInf1〜BInf3に設定されることになる。以上により、軸構成3でのS43が終了する。なお、工作物を加工する際に使用する軸構成の使用優先順位を指示する軸構成パラメータAInf3は、本発明の優先順位判別情報の一例である。
S43の後には、指令値生成手段22が、図6に示すS44において、上述のS43Dによって、軸構成番号を指示する軸構成パラメータBInf1に設定された数値が「1」であることに基づき、軸構成1に含まれる回転軸の仮補正値を記憶手段27から取得して回転軸の補正値に決定する。ここでは、C1軸の仮補正値ΔCc1及びB軸の仮補正値ΔCb1を記憶手段27から取得する。以上により、S40が終了する。なお、S44は本発明の回転軸補正値決定ステップの一例であり、指令値生成手段22は本発明の回転軸補正値決定手段の一例である。
<並進軸の仮補正値算出処理(S50)の説明>
S40の後には、指令値生成手段22が、S50において以下に説明するように、指令値座標系での並進軸(X1軸・X2軸・Y軸・Z1軸・Z2軸・W軸)の仮補正算出処理を実行する。このS40において上述した回転軸の仮補正値算出処理(S20)と同様の処理については、その説明を簡略化する。S50では、図8に示すS51〜S54を実行する。S51において、工作物の加工に実際に使用する並進軸の判別情報を取得する。ここでは、S21と同様に、加工プログラム21のプログラム名を取得する。
S40の後には、指令値生成手段22が、S50において以下に説明するように、指令値座標系での並進軸(X1軸・X2軸・Y軸・Z1軸・Z2軸・W軸)の仮補正算出処理を実行する。このS40において上述した回転軸の仮補正値算出処理(S20)と同様の処理については、その説明を簡略化する。S50では、図8に示すS51〜S54を実行する。S51において、工作物の加工に実際に使用する並進軸の判別情報を取得する。ここでは、S21と同様に、加工プログラム21のプログラム名を取得する。
S51の後には、S52において軸構成1〜4を使用するか否かを判別する。ここでは、S22と同様にして、軸構成1〜4のいずれを使用するかを判別する。
S52において、軸構成1〜4のいずれか又は複数の軸構成を組み合せて使用すると判別した場合には、指令値生成手段22が、S53において以下に説明するように、並進軸の仮補正値を算出する。具体的には、並進軸における工作物座標系での工具先端点位置の誤差を算出すること、この工具先端点位置の誤差を、工作物座標系から並進軸の指令値座標系に変換し、該指令値座標系における並進軸の仮補正値を算出することを行う。以下に、前記工具先端点位置の誤差の算出、前記並進軸の仮補正値の算出の順に説明する。なお、S53は本発明の並進軸補正値算出ステップの一例であり、指令値生成手段22は本発明の並進軸補正値算出手段の一例である。
<工具先端点位置の誤差の算出の説明>
主軸頭2にある工具座標系上の工具先端点ベクトルTP1や第2刃物台5のタレットヘッドHにある工具座標系上の工具先端点ベクトルTP2を、第1主軸台6及び第2主軸台8にある工作物座標系に変換する場合には、工具10の長さをt1(tX1,tY1,tZ1)、タレットヘッドHに装着される工具の長さをt2(tX2,tY2,tZ2)とし、B軸、C軸(C1軸・C2軸)、X軸(X1軸・X2軸)、Y軸、Z軸(Z1軸・Z2軸)、W軸の各指令位置をiとすると、各軸の変換行列は[数2]のようになる。この工具先端点ベクトルTP1及び工具先端点ベクトルTP2と、各軸の変換行列MB(i)、MC(i)、MX(i)、MY(i)、Mz(i)、MW(i)とを用いることにより、幾何誤差がない場合の工作物座標系での工具先端点ベクトルWPIを算出する。
主軸頭2にある工具座標系上の工具先端点ベクトルTP1や第2刃物台5のタレットヘッドHにある工具座標系上の工具先端点ベクトルTP2を、第1主軸台6及び第2主軸台8にある工作物座標系に変換する場合には、工具10の長さをt1(tX1,tY1,tZ1)、タレットヘッドHに装着される工具の長さをt2(tX2,tY2,tZ2)とし、B軸、C軸(C1軸・C2軸)、X軸(X1軸・X2軸)、Y軸、Z軸(Z1軸・Z2軸)、W軸の各指令位置をiとすると、各軸の変換行列は[数2]のようになる。この工具先端点ベクトルTP1及び工具先端点ベクトルTP2と、各軸の変換行列MB(i)、MC(i)、MX(i)、MY(i)、Mz(i)、MW(i)とを用いることにより、幾何誤差がない場合の工作物座標系での工具先端点ベクトルWPIを算出する。
そして、[数3]を用いることにより、幾何誤差がない場合の工具座標系から幾何誤差がない場合の軸構成1における工作物座標系への同次座標変換を行う。これにより、幾何誤差がない場合の軸構成1における工作物座標系での理想的な工具先端点ベクトルWPI1を算出する。また、[数4]を用いることにより、幾何誤差がない場合の工具座標系から幾何誤差がない場合の軸構成2における工作物座標系への同次座標変換を行う。これにより、幾何誤差がない場合の軸構成2における工作物座標系での理想的な工具先端点ベクトルWPI2を算出する。さらに、[数5]を用いることにより、幾何誤差がない場合の工具座標系から幾何誤差がない場合の軸構成3における工作物座標系への同次座標変換を行う。これにより、幾何誤差がない場合の軸構成3における工作物座標系での理想的な工具先端点ベクトルWPI3を算出する。加えて、[数6]を用いることにより、幾何誤差がない場合の工具座標系から幾何誤差がない場合の軸構成4における工作物座標系への同次座標変換を行う。これにより、幾何誤差がない場合の軸構成4における工作物座標系での理想的な工具先端点ベクトルWPI4を算出する。なお、[数3]のc1はC1軸の指令位置、z1はZ1軸の指令位置、yはY軸の指令位置、x1はX1軸の指令位置、bはB軸の指令位置である。また、[数4]のc2はC2軸の指令位置、wはW軸の指令位置、z1はZ1軸の指令位置、yはY軸の指令位置、x1はX1軸の指令位置、bはB軸の指令位置である。さらに、[数5]のc1はC1軸の指令位置、z2はZ2軸の指令位置、x2はX2軸の指令位置である。加えて、[数6]のc2はC2軸の指令位置、wはW軸の指令位置、z2はZ2軸の指令位置、x2はX2軸の指令位置である。また、何誤差がない場合の工作物座標系での工具先端点ベクトルWPI1〜WPI4を算出することは、本発明の第2工具位置算出ステップの一例であり、指令値生成手段22は本発明の第2工具位置算出手段の一例である。
さらに、複合加工旋盤1に幾何誤差が存在する場合、各幾何誤差を各軸間の相対誤差と考え、記憶手段27に記憶されている各幾何誤差の並進誤差δx,δy,δzや回転誤差α,β,γを用いた[数7]のマトリックスεjkが、幾何誤差による変換行列になる。加えて、図6に示したS44で決定され記憶手段27に記憶されているC軸(C1軸・C2軸)の補正値ΔC(c1),ΔC(c2)や、B軸の補正値ΔC(b)を用いた[数8]のマトリックスξC1,ξc2,ξBも、幾何誤差による変換行列になる。このマトリックスεjk,ξC1,ξBを[数3]の各軸間に配置した[数9]を用いることにより、幾何誤差がある場合の工具座標系から幾何誤差がある場合の軸構成1における工作物座標系への同次座標変換を行う。これにより、幾何誤差がある場合の軸構成1における工作物座標系での工具先端点ベクトルWPG1を算出する。また、マトリックスεjk,ξc2,ξBを[数4]の各軸間に配置した[数10]を用いることにより、幾何誤差がある場合の工具座標系から幾何誤差がある場合の軸構成2における工作物座標系への同次座標変換を行う。これにより、幾何誤差がある場合の軸構成2における工作物座標系での工具先端点ベクトルWPG2を算出する。さらに、マトリックスεjk,ξC1を[数5]の各軸間に配置した[数11]を用いることにより、幾何誤差がある場合の工具座標系から幾何誤差がある場合の軸構成3における工作物座標系への同次座標変換を行う。これにより、幾何誤差がある場合の軸構成3における工作物座標系での工具先端点ベクトルWPG3を算出する。加えて、マトリックスεjk,ξc2を[数7]の各軸間に配置した[数12]を用いることにより、幾何誤差がある場合の工具座標系から幾何誤差がある場合の軸構成4における工作物座標系への同次座標変換を行う。これにより、幾何誤差がある場合の軸構成4における工作物座標系での工具先端点ベクトルWPG4を算出する。なお、マトリックスεjkの第1添え字jは軸構成番号(ここでは1〜4)を示し、マトリックスεjkの第2添え字kは、幾何誤差が存在する軸間を工具10又はタレットヘッドHに装着された工具から工作物に向けた順番を示している。また、幾何誤差がある場合の工作物座標系での工具先端点ベクトルWPG1〜WPG4を算出することは、本発明の第1工具位置算出ステップの一例であり、指令値生成手段22は本発明の第1工具位置算出手段の一例である。
続いて、[数13]を用いることにより、工作物座標系での工具先端点の位置誤差Δejを算出する。図8のS52において、軸構成1を使用すると判別した場合には、[数13]を用いることにより、[数9]により算出した工具先端点ベクトルWPG1と[数3]により算出した工具先端点ベクトルWPI1との差分から、軸構成1における工作物座標系での工具先端点の位置誤差Δe1を算出する。また、S52において、軸構成2を使用すると判別した場合には、[数13]を用いることにより、[数10]により算出した工具先端点ベクトルWPG2と[数4]により算出した工具先端点ベクトルWPI2との差分から、軸構成2における工作物座標系での工具先端点の位置誤差Δe2を算出する。さらにS52において、軸構成3を使用すると判別した場合には、[数13]を用いることにより、[数11]により算出した工具先端点ベクトルWPG3と[数5]により算出した工具先端点ベクトルWPI3との差分から、軸構成3における工作物座標系での工具先端点の位置誤差Δe3を算出する。加えてS52において、軸構成4を使用すると判別した場合には、[数13]を用いることにより、[数12]により算出した工具先端点ベクトルWPG4と[数6]により算出した工具先端点ベクトルWPI4との差分から、軸構成4における工作物座標系での工具先端点の位置誤差Δe4を算出する。さらには、例えばS52において、軸構成1,3の双方を使用すると判別した場合には、前記位置誤差Δe1及び前記位置誤差Δe3を算出する。算出した各位置誤差Δe1〜Δe4は、記憶手段27に記憶される。以上により、並進軸における工作物座標系での工具先端点位置の誤差の算出が終了する。なお、各位置誤差Δe1〜Δe4を算出することは、本発明の工具位置誤差算出ステップの一例であり、指令値生成手段22は本発明の工具位置誤差算出手段の一例である。
<並進軸の仮補正値の算出の説明>
以下に説明するように、並進軸における工具先端点位置の誤差を、工作物座標系から図8のS52において使用すると判別された各軸構成1〜4に含まれる並進軸(X1軸・X2軸・Y軸・Z1軸・Z2軸・W軸)の指令値座標系に変換し、該指令値座標系における並進軸の仮補正値を算出する。ここでは、指令値生成手段22が、[数14]を用いることにより、前記工作物座標系から指令値座標系への同次座標変換を行う。これにより、前記工具先端点位置の誤差を打ち消す指令値座標系での並進軸の仮補正値ベクトルΔCompjを算出する。[数14]中のjは軸構成番号(ここでは1〜4)を示す。また、j=1,3の場合にはmは回転軸C1の指令位置を示し、j=2,4の場合にはmは回転軸C2の指令位置を示す。S52において、軸構成1を使用すると判別した場合には、[数14]を用いることにより、軸構成1における指令値座標系での並進軸の仮補正値ベクトルΔComp1を算出する。また、S52において、軸構成2を使用すると判別した場合には、[数14]を用いることにより、軸構成2における指令値座標系での並進軸の仮補正値ベクトルΔComp2を算出する。さらに、S52において、軸構成3を使用すると判別した場合には、[数14]を用いることにより、軸構成3における指令値座標系での並進軸の仮補正値ベクトルΔComp3を算出する。加えて、軸構成4を使用すると判別した場合には、[数14]を用いることにより、軸構成4における指令値座標系での並進軸の仮補正値ベクトルΔComp4を算出する。さらには、例えばS52において、軸構成1,3の双方を使用すると判別した場合には、前記仮補正値ベクトルΔComp1及び前記仮補正値ベクトルΔComp3を算出する。算出した各仮補正値ベクトルΔComp1〜ΔComp4は記憶手段27に記憶される。
以下に説明するように、並進軸における工具先端点位置の誤差を、工作物座標系から図8のS52において使用すると判別された各軸構成1〜4に含まれる並進軸(X1軸・X2軸・Y軸・Z1軸・Z2軸・W軸)の指令値座標系に変換し、該指令値座標系における並進軸の仮補正値を算出する。ここでは、指令値生成手段22が、[数14]を用いることにより、前記工作物座標系から指令値座標系への同次座標変換を行う。これにより、前記工具先端点位置の誤差を打ち消す指令値座標系での並進軸の仮補正値ベクトルΔCompjを算出する。[数14]中のjは軸構成番号(ここでは1〜4)を示す。また、j=1,3の場合にはmは回転軸C1の指令位置を示し、j=2,4の場合にはmは回転軸C2の指令位置を示す。S52において、軸構成1を使用すると判別した場合には、[数14]を用いることにより、軸構成1における指令値座標系での並進軸の仮補正値ベクトルΔComp1を算出する。また、S52において、軸構成2を使用すると判別した場合には、[数14]を用いることにより、軸構成2における指令値座標系での並進軸の仮補正値ベクトルΔComp2を算出する。さらに、S52において、軸構成3を使用すると判別した場合には、[数14]を用いることにより、軸構成3における指令値座標系での並進軸の仮補正値ベクトルΔComp3を算出する。加えて、軸構成4を使用すると判別した場合には、[数14]を用いることにより、軸構成4における指令値座標系での並進軸の仮補正値ベクトルΔComp4を算出する。さらには、例えばS52において、軸構成1,3の双方を使用すると判別した場合には、前記仮補正値ベクトルΔComp1及び前記仮補正値ベクトルΔComp3を算出する。算出した各仮補正値ベクトルΔComp1〜ΔComp4は記憶手段27に記憶される。
S50の後には、指令値生成手段22が、図3に示すS60において、すべての軸構成での並進軸の仮補正値の算出が終了したか否かを判定する。ここでは、記憶手段27に、上述のS52において使用すると判別した軸構成に対応する仮補正値ベクトルΔComp1〜ΔComp4が記憶されているか否かを判定する。S60において、記憶手段27に前記軸構成に対応する仮補正値ベクトルΔComp1〜ΔComp4が記憶されていないと判定して、すべての軸構成での並進軸の仮補正値の算出が終了していないと判定した場合には、S50を実行する。
<並進軸の補正値決定処理(S70)の説明>
一方S60において、すべての軸構成での並進軸の仮補正値の算出が終了したと判定した場合には、指令値生成手段22は、S70において、上述のS52で使用すると判別された軸構成に対応させて、指令値座標系における並進軸の補正値決定処理を実行する。S70では、図6に示すS71〜S74により、上述のS52において使用すると判別された軸構成に対し、軸ループにおいて、複合加工旋盤1が有する各並進軸(X1軸・X2軸・Y軸・Z1軸・Z2軸・W軸)毎の補正値を決定する。このS71〜S74において上述したS41〜S44と同様の処理については、その説明を簡略化する。ここでは、一例として軸構成1に対しX1軸の補正値を決定する手順を説明する。
一方S60において、すべての軸構成での並進軸の仮補正値の算出が終了したと判定した場合には、指令値生成手段22は、S70において、上述のS52で使用すると判別された軸構成に対応させて、指令値座標系における並進軸の補正値決定処理を実行する。S70では、図6に示すS71〜S74により、上述のS52において使用すると判別された軸構成に対し、軸ループにおいて、複合加工旋盤1が有する各並進軸(X1軸・X2軸・Y軸・Z1軸・Z2軸・W軸)毎の補正値を決定する。このS71〜S74において上述したS41〜S44と同様の処理については、その説明を簡略化する。ここでは、一例として軸構成1に対しX1軸の補正値を決定する手順を説明する。
S71では、S41と同様に、軸構成パラメータBInf1を「0」に、軸構成パラメータBInf2を「off」に、軸構成パラメータBInf3を「99」に、それぞれ設定する。
S71の後には、S72において、軸構成j(ここでは軸構成1)に含まれる並進軸が存在するか否かを判定する。S42において、X1軸が軸構成1に含まれる並進軸であると判定すると、S73において、軸構成パラメータBInfの比較・更新処理を実行する。S73では、図7に示すようにS73A〜S73Eを実行する。このS73A〜S73Eにおいて上述したS43A〜S43Eと同様の処理については、その説明を簡略化する。S73Aでは、S43Aと同様に、数値が「1」に設定された使用軸構成判別パラメータAInf1、「on」に設定された使用軸構成判別パラメータAInf2、数値が「1」に設定された使用軸構成判別パラメータAInf3を、それぞれ取得する。
S73Aの後には、S73Bにおいて、S71(図6参照。)にて初期化した軸構成パラメータBInf2と、S73Aにて取得した使用軸構成判別パラメータAInf2が、共に「off」又は「on」となって一致するか否かを判定する。ここでは、軸構成パラメータBInf2が「off」で使用軸構成判別パラメータAInf2が「on」であるために両者が一致しないと判定する。すると、S73Cにおいて、使用軸構成判別パラメータAInf2が「on」に設定されているか否かを判定する。ここでは、使用軸構成判別パラメータAInf2が「on」に設定されているため、S73Dにおいて、軸構成パラメータBInf1を、使用軸構成判別パラメータAInf1と同じ「1」に設定して更新し、軸構成パラメータBInf2を、使用軸構成判別パラメータAInf2と同じ「on」に設定して更新し、軸構成パラメータBInf3を、使用軸構成判別パラメータAInf3と同じ「1」に設定して更新する。この場合には、使用優先順位が最も高い軸構成1により工作物が加工されることを意味する。以上により、軸構成1でのS73が終了する。
また、上述のS52(図8参照。)において軸構成1,3の双方を使用すると判定した場合には、上述した軸構成1での軸構成パラメータBInf1〜BInf3の更新に続き、軸構成3についても以下に説明するように、S73A〜S73Eを実行する。S73Aでは、記憶手段27に記憶された加工プログラム21のプログラム名が「C」であることに基づき、軸構成3により工作物を加工すると判別すると、数値が「3」に設定された使用軸構成判別パラメータAInf1、「on」に設定された使用軸構成判別パラメータAInf2、数値が「3」に設定された使用軸構成判別パラメータAInf3を、それぞれ取得する。
S73Aの後には、S73Bにおいて、軸構成1でのS73Dによって更新した軸構成パラメータBInf2と、軸構成3でのS73Aにて取得した使用軸構成判別パラメータAInf2が、共に一致するか否かを判定する。ここでは、軸構成パラメータBInf2と使用軸構成判別パラメータAInf2とが共に「on」であるために一致すると判定する。すると、S73Eにおいて、軸構成3での使用軸構成判別パラメータAInf3の数値が、軸構成1でのS73Dによって更新した軸構成パラメータBInf3の数値よりも小さいか否かを判定する。ここでは、使用軸構成判別パラメータAInf3の数値「3」が、軸構成パラメータBInf3の数値「1」よりも大きいため、S43Dを行わずS43を終了する。このようにすることで、使用優先順位が最も高い軸構成1の使用軸構成判別パラメータAInf1〜AInf3が、軸構成パラメータBInf1〜BInf3に設定される。以上により、軸構成3でのS73が終了する。なお、軸構成パラメータAInf3は、本発明の優先順位判別情報の一例である。
S73の後には、指令値生成手段22が、図6に示すS74において、上述のS73Dによって、軸構成番号を指示する軸構成パラメータBInf1に設定された数値が「1」であることに基づき、軸構成1に含まれる並進軸の仮補正値を記憶手段27から取得して並進軸の補正値に決定する。ここでは、X1軸の仮補正値ΔComp1を記憶手段27から取得する。以上により、S70が終了する。なお、S74は本発明の並進軸補正値決定ステップの一例であり、指令値生成手段22は本発明の並進軸補正値決定手段の一例である。
<並進軸・回転軸の補正値の良否を確認(S80)の説明>
S70の後には、指令値生成手段22が、図4に示すS80において、S70(S74)にて決定した指令値座標系における並進軸の補正値の良否や、S40(S44)にて決定した指令値座標系における回転軸の補正値の良否を確認する。ここでは、X1軸の補正値ベクトルΔComp1の大きさ、C1軸の補正値ΔCc1及びB軸の補正値ΔCb1が、予め設定した上限閾値を上回るか、あるいは予め設定した下限閾値を下回るかを確認する。そして、前記補正値ベクトルΔComp1の大きさ、前記補正値ΔCc1及びB軸の補正値ΔCb1が前記上限閾値を上回らず前記下限閾値を下回らないことを確認した後に、この補正値ベクトルΔComp1、前記補正値ΔCc1,ΔCb1を記憶手段27に記憶する。一方、前記補正値ベクトルΔComp1の大きさ、前記補正値ΔCc1,ΔCb1が前記上限閾値を上回るあるいは前記下限閾値を下回ることを確認した場合には、この補正値ベクトルΔComp1及び前記補正値ΔCc1,ΔCb1を記憶手段27に記憶しないと共に複合加工旋盤1に設けられたランプを発光させることにより、ユーザにX1軸やC1軸・B軸の各補正値の異常を知らせるようにしている。
S70の後には、指令値生成手段22が、図4に示すS80において、S70(S74)にて決定した指令値座標系における並進軸の補正値の良否や、S40(S44)にて決定した指令値座標系における回転軸の補正値の良否を確認する。ここでは、X1軸の補正値ベクトルΔComp1の大きさ、C1軸の補正値ΔCc1及びB軸の補正値ΔCb1が、予め設定した上限閾値を上回るか、あるいは予め設定した下限閾値を下回るかを確認する。そして、前記補正値ベクトルΔComp1の大きさ、前記補正値ΔCc1及びB軸の補正値ΔCb1が前記上限閾値を上回らず前記下限閾値を下回らないことを確認した後に、この補正値ベクトルΔComp1、前記補正値ΔCc1,ΔCb1を記憶手段27に記憶する。一方、前記補正値ベクトルΔComp1の大きさ、前記補正値ΔCc1,ΔCb1が前記上限閾値を上回るあるいは前記下限閾値を下回ることを確認した場合には、この補正値ベクトルΔComp1及び前記補正値ΔCc1,ΔCb1を記憶手段27に記憶しないと共に複合加工旋盤1に設けられたランプを発光させることにより、ユーザにX1軸やC1軸・B軸の各補正値の異常を知らせるようにしている。
<各軸の指令値を更新(S90)の説明>
S80の後には、指令値生成手段22が、S90において、各軸(並進軸及び回転軸)の指令値を更新する。ここでは、S10にて取得して記憶手段27に記憶されたX1軸の指令値に、ステップ70にて決定された補正値ベクトルΔComp1の大きさを加算する。このようにして、X1軸(並進軸)の指令値が更新される。これに加えてS90では、S10にて取得して記憶手段27に記憶されたC1軸・B軸の指令値に、ステップ40にて決定されたC1軸の補正値ΔCc1及びB軸の補正値ΔCb1を加算する。このようにして、C1軸・B軸(回転軸)の指令値が更新される。本実施形態では、一例としてX1軸の指令値やC1軸・B軸の指令値を更新する手順を説明したが、上述のS22において使用すると判別された各軸構成1〜4に含まれる各並進軸(X2軸・Y軸・Z1軸・Z2軸・W軸)毎の補正値や、上述のS52において使用すると判別された各軸構成1〜4に含まれる各回転軸(C2軸)毎の補正値を決定したうえで、S90において、各軸(X2軸・Y軸・Z1軸・Z2軸・W軸・C2軸)の指令値を更新することもできる。なお、S90は本発明の更新ステップの一例であり、指令値生成手段22は本発明の更新手段の一例である。
S80の後には、指令値生成手段22が、S90において、各軸(並進軸及び回転軸)の指令値を更新する。ここでは、S10にて取得して記憶手段27に記憶されたX1軸の指令値に、ステップ70にて決定された補正値ベクトルΔComp1の大きさを加算する。このようにして、X1軸(並進軸)の指令値が更新される。これに加えてS90では、S10にて取得して記憶手段27に記憶されたC1軸・B軸の指令値に、ステップ40にて決定されたC1軸の補正値ΔCc1及びB軸の補正値ΔCb1を加算する。このようにして、C1軸・B軸(回転軸)の指令値が更新される。本実施形態では、一例としてX1軸の指令値やC1軸・B軸の指令値を更新する手順を説明したが、上述のS22において使用すると判別された各軸構成1〜4に含まれる各並進軸(X2軸・Y軸・Z1軸・Z2軸・W軸)毎の補正値や、上述のS52において使用すると判別された各軸構成1〜4に含まれる各回転軸(C2軸)毎の補正値を決定したうえで、S90において、各軸(X2軸・Y軸・Z1軸・Z2軸・W軸・C2軸)の指令値を更新することもできる。なお、S90は本発明の更新ステップの一例であり、指令値生成手段22は本発明の更新手段の一例である。
<本実施形態の効果>
本実施形態の複合加工旋盤1の制御方法及び制御装置では、指令値生成手段22が、S22において使用すると判別された各軸構成1〜4に含まれる回転軸の回転誤差γ,βを利用して算出した回転軸の補正値(仮補正値ΔCcj,ΔCbj)を用い、S50において、幾何誤差による並進軸における工作物に対する工具10等の先端点の位置誤差Δejを、各軸構成1〜4に含まれる並進軸の指令値座標系へ同時座標変換するだけの簡単な手法により、該並進軸の指令値座標系において前記位置誤差Δejを補正する補正値(仮補正値ベクトルΔCompj)を算出できる。
さらに、S90においては、前記回転誤差γ,βを利用して算出した前記仮補正値ΔCcj,ΔCbjを、回転軸(B軸・C1軸・C2軸)を制御するための指令値に加算すること、前記位置誤差Δejを補正する補正値(前記仮補正値ベクトルΔCompjの大きさ)を、並進軸(X1軸・X2軸・Y軸・Z1軸・Z2軸・W軸)を制御するための指令値に加算することという簡単な手法により、工具10等の姿勢誤差を補正する回転軸の指令値や、前記位置誤差Δejを補正する並進軸の指令値を更新できる。
よって、これらの簡単な手法を組み合わせることにより、複合加工旋盤1では、各軸構成1〜4に対応させて、工具10等の姿勢誤差の補正と、前記仮補正値ΔCcj,ΔCbjを用いた位置誤差Δejの補正との双方が可能になる。
本実施形態の複合加工旋盤1の制御方法及び制御装置では、指令値生成手段22が、S22において使用すると判別された各軸構成1〜4に含まれる回転軸の回転誤差γ,βを利用して算出した回転軸の補正値(仮補正値ΔCcj,ΔCbj)を用い、S50において、幾何誤差による並進軸における工作物に対する工具10等の先端点の位置誤差Δejを、各軸構成1〜4に含まれる並進軸の指令値座標系へ同時座標変換するだけの簡単な手法により、該並進軸の指令値座標系において前記位置誤差Δejを補正する補正値(仮補正値ベクトルΔCompj)を算出できる。
さらに、S90においては、前記回転誤差γ,βを利用して算出した前記仮補正値ΔCcj,ΔCbjを、回転軸(B軸・C1軸・C2軸)を制御するための指令値に加算すること、前記位置誤差Δejを補正する補正値(前記仮補正値ベクトルΔCompjの大きさ)を、並進軸(X1軸・X2軸・Y軸・Z1軸・Z2軸・W軸)を制御するための指令値に加算することという簡単な手法により、工具10等の姿勢誤差を補正する回転軸の指令値や、前記位置誤差Δejを補正する並進軸の指令値を更新できる。
よって、これらの簡単な手法を組み合わせることにより、複合加工旋盤1では、各軸構成1〜4に対応させて、工具10等の姿勢誤差の補正と、前記仮補正値ΔCcj,ΔCbjを用いた位置誤差Δejの補正との双方が可能になる。
また、S22において軸構成1,3の双方を使用すると判別した場合に、指令値生成手段22は、S44において、仮補正値ベクトルΔCompjの算出に用いる前記仮補正値ΔCcj,ΔCbj(j=1,3)から、軸構成1,3のうちで工作物を加工する際の使用優先順位が最も高い軸構成1に含まれる仮補正値ΔCc1,ΔCb1を、回転軸の補正値に決定する。これにより、仮補正値ベクトルΔCompjを算出する際には、回転軸の補正値が複数用いられることがないため、該仮補正値ベクトルΔCompjが過度に修正されることを防止できる。
さらに、S52において軸構成1,3の双方を使用すると判別した場合に、指令値生成手段22は、S74において、仮補正値ベクトルΔCompj(j=1,3)から、軸構成1,3のうちで工作物を加工する際の使用優先順位が最も高い軸構成1に含まれる仮補正値ベクトルΔComp1を、並進軸の指令値を更新する際に用いる補正値に決定する。そして、該決定された補正値は、前記使用優先順位が最も高い軸構成1に含まれる仮補正値ΔCc1,ΔCb1を用いて算出されたものである。これにより、並進軸の指令値を更新する際には、該指令値に複数の補正値(仮補正値ベクトルΔCompj、仮補正値ΔCcj,ΔCbj、j=1,3)が加算されることがないため、並進軸の補正値が過度に補正されることを防止できる。
加えて、指令値生成手段22は、S53において、C軸(C1・C2軸)の補正値ΔC(c1),ΔC(c2)や、B軸の補正値ΔC(b)を用いて位置誤差Δejを算出した後に、算出した位置誤差Δejを、使用する軸構成1〜4に含まれる並進軸の指令値座標系へ同次座標変換することにより、回転軸(C1・C2・B軸)の補正によって生じる工具の位置の移動を考慮して、前記指令値座標系において前記位置誤差Δejを補正する並進軸の補正値(仮補正値ベクトルΔComp1〜ΔComp4)を算出することが可能になる。
<変更例>
本発明は、上述した実施形態に限定されるものではなく発明の趣旨を逸脱しない範囲内において構成の一部を適宜変更して実施できる。上述した実施形態では、S22にて使用すると判別された軸構成に対してのみ、S40での軸ループにおいて、該軸構成に含まれる各回転軸毎の補正値を決定した例を示したが、これに限らない。例えば、S40での軸ループにおいて、軸構成を軸構成1から軸構成4まで順次変化させて、軸構成1〜4に含まれる全ての並進軸の補正値を算出した後に、軸構成パラメータBInf1〜BInf3に基づいて、該算出した全ての補正値の中から、工作物の加工に実際に使用する軸構成に含まれる回転軸の補正値を選択するようにしてもよい。
また、上述した実施形態では、S52にて使用すると判別された軸構成に対してのみ、S70での軸ループにおいて、該軸構成に含まれる各並進軸毎の補正値を決定した例を示したが、これに限らない。例えば、S70での軸ループにおいて、軸構成を軸構成1から軸構成4まで順次変化させて、軸構成1〜4に含まれる全ての回転軸の補正値を算出した後に、軸構成パラメータBInf1〜BInf3に基づいて、該算出した全ての補正値の中から、工作物の加工に実際に使用する軸構成に含まれる並進軸の補正値を選択するようにしてもよい。
本発明は、上述した実施形態に限定されるものではなく発明の趣旨を逸脱しない範囲内において構成の一部を適宜変更して実施できる。上述した実施形態では、S22にて使用すると判別された軸構成に対してのみ、S40での軸ループにおいて、該軸構成に含まれる各回転軸毎の補正値を決定した例を示したが、これに限らない。例えば、S40での軸ループにおいて、軸構成を軸構成1から軸構成4まで順次変化させて、軸構成1〜4に含まれる全ての並進軸の補正値を算出した後に、軸構成パラメータBInf1〜BInf3に基づいて、該算出した全ての補正値の中から、工作物の加工に実際に使用する軸構成に含まれる回転軸の補正値を選択するようにしてもよい。
また、上述した実施形態では、S52にて使用すると判別された軸構成に対してのみ、S70での軸ループにおいて、該軸構成に含まれる各並進軸毎の補正値を決定した例を示したが、これに限らない。例えば、S70での軸ループにおいて、軸構成を軸構成1から軸構成4まで順次変化させて、軸構成1〜4に含まれる全ての回転軸の補正値を算出した後に、軸構成パラメータBInf1〜BInf3に基づいて、該算出した全ての補正値の中から、工作物の加工に実際に使用する軸構成に含まれる並進軸の補正値を選択するようにしてもよい。
さらに、上述した実施形態では、S22にて使用すると判別された軸構成に対してのみ、S23において、該軸構成に含まれる回転軸毎の仮補正値を算出した例を示したが、これに限らない。例えばS20では、軸構成を軸構成1から軸構成4まで順次変化させて、すべての軸構成に対して回転軸毎の仮補正値を算出するようにしてもよい。
また、上述した実施形態では、S52において使用すると判別された軸構成に対してのみ、S53において、該軸構成に含まれる並進軸毎の仮補正値を算出した例を示したが、これに限らない。例えばS50では、軸構成を軸構成1から軸構成4まで順次変化させて、すべての軸構成に対して並進軸毎の仮補正値を算出するようにしてもよい。
また、上述した実施形態では、S52において使用すると判別された軸構成に対してのみ、S53において、該軸構成に含まれる並進軸毎の仮補正値を算出した例を示したが、これに限らない。例えばS50では、軸構成を軸構成1から軸構成4まで順次変化させて、すべての軸構成に対して並進軸毎の仮補正値を算出するようにしてもよい。
加えて、上述した実施形態では、本発明を複合加工旋盤1の幾何誤差を補正して並進軸の指令値や回転軸の指令値を算出する例を示したが、幾何誤差以外の複合加工旋盤1における誤差を補正して並進軸や回転軸の各補正値を算出することに、本発明を適用してもよい。さらに、上述した実施形態では、本発明を複数の刃物台4,5と複数の主軸台6,8を備えた複合加工旋盤1に適用する例を示したが、これに限らず、例えば、刃物台と主軸台とのうちのどちらか一方を複数備えた複合加工旋盤に、本発明を適用してもよい。
1・・複合加工旋盤、2・・主軸頭、6・・第1主軸台、8・・第2主軸台、10・・工具、20・・数値制御装置、22・・指令値生成手段、27・・記憶手段。
Claims (8)
- 工具を装着する主軸と、工作物を保持するテーブルとが、2軸以上の並進軸と1軸以上の回転軸とによって相対移動することにより、前記工具によって前記工作物を加工する工作機械において、前記主軸と前記テーブルとのうちの少なくとも一方を複数備え、前記工作機械の誤差による前記工作物に対する前記工具の位置の誤差を、前記工作機械の誤差を考慮した工具座標系から工作物座標系への同次座標変換により求めた前記工作機械の誤差がある場合の前記工具の位置と、前記工作機械の誤差を考慮しない工具座標系から工作物座標系への同次座標変換により求めた理想的な前記工具の位置と、から算出し、前記工具の位置の誤差を補正して前記並進軸を制御するための並進軸指令値及び前記回転軸を制御するための回転軸指令値を算出する工作機械の制御方法であって、
前記2軸以上の並進軸に含まれる任意の並進軸及び前記1軸以上の回転軸に含まれる任意の回転軸を有する任意の軸構成に対し、該任意の軸構成に含まれる前記回転軸の回転方向における前記工作機械の誤差に基づいて、前記工具の位置の誤差を該回転軸の指令値座標系において補正する前記回転軸の補正値を算出する回転軸補正値算出ステップと、
前記回転軸補正値算出ステップによって算出した前記回転軸の補正値を用い、前記工作物座標系から前記任意の軸構成に含まれる前記並進軸の指令値座標系へ前記工具の位置の誤差を同次座標変換することに基づいて、該並進軸の指令値座標系において前記工具の位置の誤差を補正する前記並進軸の補正値を算出する並進軸補正値算出ステップと、
前記回転軸補正値算出ステップによって算出した前記補正値を前記回転軸指令値に加算することにより、前記回転軸指令値を更新すると共に、前記並進軸補正値算出ステップによって算出した前記補正値を前記並進軸指令値に加算することにより、前記並進軸指令値を更新する更新ステップと、
を実行することを特徴とする工作機械の制御方法。 - 前記工作機械の誤差を幾何学的な誤差として、
前記工具の位置の誤差を、前記幾何学的な誤差を考慮した工具座標系から工作物座標系への同次座標変換により求めた前記幾何学的な誤差がある場合の前記工具の位置と、前記幾何学的な誤差を考慮しない工具座標系から工作物座標系への同次座標変換により求めた理想的な前記工具の位置とから算出し、
前記並進軸補正値算出ステップを実行する前に、
前記工作物の加工に実際に使用する並進軸及び該加工に実際に使用する回転軸を有する使用軸構成を判別する使用軸構成判別情報に基づいて、前記2軸以上の並進軸に含まれる該並進軸及び前記1軸以上の回転軸に含まれる該回転軸を有する軸構成の中に前記使用軸構成が存在するか否かを判別し、該判別した使用軸構成を前記任意の軸構成として選択する選択ステップと、
前記選択ステップによって判別した前記使用軸構成が複数存在する場合に、前記回転軸補正値算出ステップによって前記複数の使用軸構成にそれぞれ含まれる前記回転軸毎に算出した前記補正値のうちから、各前記使用軸構成の使用優先順位を判別する優先順位判別情報に基づいて前記使用優先順位が最も高いと判断した前記使用軸構成に含まれる前記回転軸の補正値を、前記並進軸補正値算出ステップにおいて前記並進軸の算出に用いる前記回転軸の補正値として決定する回転軸補正値決定ステップと、
を実行することを特徴とする請求項1に記載の工作機械の制御方法。 - 前記選択ステップによって判別した前記使用軸構成が複数存在する場合に、前記回転軸補正値決定ステップにより決定された前記回転軸の補正値を用い、前記並進軸補正値算出ステップによって前記複数の使用軸構成にそれぞれ含まれる前記並進軸毎に算出した前記補正値のうちから、前記優先順位判別情報に基づいて前記使用優先順位が最も高いと判断した前記使用軸構成に含まれる前記並進軸の補正値を、前記更新ステップにおいて前記並進軸指令値に加算する補正値とするように決定する並進軸補正値決定ステップを実行することを特徴とする請求項2に記載の工作機械の制御方法。
- 前記並進軸補正値算出ステップでは、
前記並進軸指令値と、前記幾何学的な誤差と、前記回転軸補正値決定ステップによって決定された前記回転軸の補正値と、を用い、前記幾何学的な誤差を考慮した工具座標系から工作物座標系への同次座標変換に基づいて、前記幾何学的な誤差がある場合の前記工具の位置を算出する第1工具位置算出ステップと、
前記並進軸指令値を用い、前記幾何学的な誤差を考慮しない工具座標系から工作物座標系への同次座標変換に基づいて、前記理想的な工具の位置を算出する第2工具位置算出ステップと、
前記第1工具位置算出ステップによって算出した前記幾何学的な誤差がある場合の前記工具の位置と、前記第2工具位置算出ステップによって算出した前記理想的な工具の位置と、から前記工具の位置の誤差を算出する工具位置誤差算出ステップと、を実行し、
前記工具位置誤差算出ステップによって算出した前記工具の位置の誤差を、前記工作物座標系から前記選択ステップによって選択された前記使用軸構成に含まれる前記並進軸の指令値座標系へ同次座標変換することに基づいて、前記並進軸の補正値を算出することを特徴とする請求項2に記載の工作機械の制御方法。 - 工具を装着する主軸と、工作物を保持するテーブルとが、2軸以上の並進軸と1軸以上の回転軸とによって相対移動することにより、前記工具によって前記工作物を加工する工作機械において、前記主軸と前記テーブルとのうちの少なくとも一方を複数備え、前記工作機械の誤差による前記工作物に対する前記工具の位置の誤差を、前記工作機械の誤差を考慮した工具座標系から工作物座標系への同次座標変換により求めた前記工作機械の誤差がある場合の前記工具の位置と、前記工作機械の誤差を考慮しない工具座標系から工作物座標系への同次座標変換により求めた理想的な前記工具の位置と、から算出し、前記工具の位置の誤差を補正して前記並進軸を制御するための並進軸指令値及び前記回転軸を制御するための回転軸指令値を算出する工作機械の制御装置であって、
前記2軸以上の並進軸に含まれる任意の並進軸及び前記1軸以上の回転軸に含まれる任意の回転軸を有する任意の軸構成に対し、該任意の軸構成に含まれる前記回転軸の回転方向における前記工作機械の誤差に基づいて、前記工具の位置の誤差を該回転軸の指令値座標系において補正する前記回転軸の補正値を算出する回転軸補正値算出手段と、
前記回転軸補正値算出手段によって算出した前記回転軸の補正値を用い、前記工作物座標系から前記任意の軸構成に含まれる前記並進軸の指令値座標系へ前記工具の位置の誤差を同次座標変換することに基づいて、該並進軸の指令値座標系において前記工具の位置の誤差を補正する前記並進軸の補正値を算出する並進軸補正値算出手段と、
前記回転軸補正値算出手段によって算出した前記補正値を前記回転軸指令値に加算することにより、前記回転軸指令値を更新すると共に、前記並進軸補正値算出手段によって算出した前記補正値を前記並進軸指令値に加算することにより、前記並進軸指令値を更新する更新手段と、
を備えることを特徴とする工作機械の制御装置。 - 前記工作機械の誤差を幾何学的な誤差として、
前記工具の位置の誤差を、前記幾何学的な誤差を考慮した工具座標系から工作物座標系への同次座標変換により求めた前記幾何学的な誤差がある場合の前記工具の位置と、前記幾何学的な誤差を考慮しない工具座標系から工作物座標系への同次座標変換により求めた理想的な前記工具の位置とから算出し、
前記工作物の加工に実際に使用する並進軸及び該加工に実際に使用する回転軸を有する使用軸構成を判別する使用軸構成判別情報と、該使用軸構成の使用優先順位を判別する優先順位判別情報と、を記憶する記憶手段を備え、
前記記憶手段に記憶された前記使用軸構成判別情報に基づいて、前記2軸以上の並進軸に含まれる該並進軸及び前記1軸以上の回転軸に含まれる該回転軸を有する軸構成の中に前記使用軸構成が存在するか否かを判別し、該判別した使用軸構成を前記任意の軸構成として選択する選択手段と、
前記選択手段によって判別した前記使用軸構成が複数存在する場合に、前記回転軸補正値算出手段によって前記複数の使用軸構成にそれぞれ含まれる前記回転軸毎に算出した前記補正値のうちから、前記記憶手段に記憶された前記優先順位判別情報に基づいて前記使用優先順位が最も高いと判断した前記使用軸構成に含まれる前記回転軸の補正値を、前記並進軸補正値算出手段において前記並進軸の算出に用いる前記回転軸の補正値として決定する回転軸補正値決定手段と、
を備えることを特徴とする請求項5に記載の工作機械の制御装置。 - 前記選択手段によって判別した前記使用軸構成が複数存在する場合に、前記回転軸補正値決定手段により決定された前記回転軸の補正値を用い、前記並進軸補正値算出手段によって前記複数の使用軸構成にそれぞれ含まれる前記並進軸毎に算出した前記補正値のうちから、前記記憶手段に記憶された前記優先順位判別情報に基づいて前記使用優先順位が最も高いと判断した前記使用軸構成に含まれる前記並進軸の補正値を、前記更新手段において前記並進軸指令値に加算する補正値とするように決定する並進軸補正値決定手段を備えることを特徴とする請求項6に記載の工作機械の制御装置。
- 前記並進軸補正値算出手段が、
前記並進軸指令値と、前記幾何学的な誤差と、前記回転軸補正値決定手段によって決定された前記回転軸の補正値と、を用い、前記幾何学的な誤差を考慮した工具座標系から工作物座標系への同次座標変換に基づいて、前記幾何学的な誤差がある場合の前記工具の位置を算出する第1工具位置算出手段と、
前記並進軸指令値を用い、前記幾何学的な誤差を考慮しない工具座標系から工作物座標系への同次座標変換に基づいて、前記理想的な工具の位置を算出する第2工具位置算出手段と、
前記第1工具位置算出手段によって算出した前記幾何学的な誤差がある場合の前記工具の位置と、前記第2工具位置算出手段によって算出した前記理想的な工具の位置と、から前記工具の位置の誤差を算出する工具位置誤差算出手段と、を備え、
前記工具位置誤差算出手段によって算出した前記工具の位置の誤差を、前記工作物座標系から前記選択手段によって選択された前記使用軸構成に含まれる前記並進軸の指令値座標系へ同次座標変換することに基づいて、前記並進軸の補正値を算出することを特徴とする請求項6に記載の工作機械の制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014228261A JP2016091466A (ja) | 2014-11-10 | 2014-11-10 | 工作機械の制御方法及び制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014228261A JP2016091466A (ja) | 2014-11-10 | 2014-11-10 | 工作機械の制御方法及び制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016091466A true JP2016091466A (ja) | 2016-05-23 |
Family
ID=56018736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014228261A Pending JP2016091466A (ja) | 2014-11-10 | 2014-11-10 | 工作機械の制御方法及び制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016091466A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021149466A (ja) * | 2020-03-18 | 2021-09-27 | 株式会社ソディック | 5軸制御加工機 |
US11420303B2 (en) | 2020-03-18 | 2022-08-23 | Sodick Co., Ltd. | 5-axis processing machine |
JPWO2022195845A1 (ja) * | 2021-03-19 | 2022-09-22 |
-
2014
- 2014-11-10 JP JP2014228261A patent/JP2016091466A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021149466A (ja) * | 2020-03-18 | 2021-09-27 | 株式会社ソディック | 5軸制御加工機 |
JP7082629B2 (ja) | 2020-03-18 | 2022-06-08 | 株式会社ソディック | 5軸制御加工機 |
US11420303B2 (en) | 2020-03-18 | 2022-08-23 | Sodick Co., Ltd. | 5-axis processing machine |
US11801577B2 (en) | 2020-03-18 | 2023-10-31 | Sodick Co., Ltd. | 5-axis processing machine |
JPWO2022195845A1 (ja) * | 2021-03-19 | 2022-09-22 | ||
JP7303593B2 (ja) | 2021-03-19 | 2023-07-05 | 国立大学法人東海国立大学機構 | 位置関係測定方法および加工装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5789114B2 (ja) | 工作機械の補正値演算方法及びプログラム | |
JP6184363B2 (ja) | 工作機械の制御方法及び制御装置 | |
JP5013024B2 (ja) | 数値制御装置 | |
TWI492008B (zh) | 工作機械控制系統及其方法 | |
JP6450732B2 (ja) | 数値制御装置 | |
JP6320668B1 (ja) | 数値制御装置および数値制御方法 | |
JP5014515B1 (ja) | 数値制御装置 | |
JP2010105072A (ja) | 複合加工旋盤 | |
US9417620B2 (en) | Numerical control device | |
JP2016091466A (ja) | 工作機械の制御方法及び制御装置 | |
JP5713764B2 (ja) | 工作機械の補正値演算方法及びプログラム | |
JP2016002627A (ja) | 加工軌道生成装置と方法 | |
JP4575887B2 (ja) | ワークの姿勢制御方法 | |
JP6088190B2 (ja) | 加工システム、及びその加工方法 | |
CN109877851A (zh) | 一种用于弱刚性壁板加工的移动式双机器人镜像加工系统 | |
JP2009230552A (ja) | 数値制御装置 | |
JP2018008323A (ja) | 切削加工装置、切削工具、加工支援装置および加工方法 | |
JP5778649B2 (ja) | 並進回転誤差補正量作成装置 | |
JP2015191306A (ja) | 工作機械の制御方法及び制御装置 | |
JP6390832B2 (ja) | 加工軌道生成装置と方法 | |
JP2014238782A (ja) | 工作機械の制御方法 | |
KR20210083362A (ko) | 피니싱 작업을 위한 매니퓰레이터 및 그의 제어 방법 | |
JP2013065254A (ja) | 機械の移動部の制御方法及びプログラム | |
JP2016038674A (ja) | 工作機械の補正値演算方法及び補正値演算プログラム | |
JP2016151825A (ja) | 複合加工旋盤の作動制御方法 |