(57)【要約】【課題】指定プログラム座標系上の位置であって、その位置をテーブル旋回中心に近づければ、「工具先端点の位置とテーブル旋回中心との距離」と「回転軸移動量」から発生する直線軸移動量ができる限り小さくなる推奨加工中心位置を求め、該推奨加工中心位置をテーブル旋回中心に近づけるための推奨加工位置変更量を求めることが可能なテーブル旋回５軸加工機用数値制御装置を提供すること。【解決手段】テーブル旋回５軸加工機用数値制御装置は、プログラム読込み手段１０で加工プログラムである指令プログラムを読込み、プログラム解析手段１１で加工プログラムを解析して補間用データを作成し、補間手段１２で補間周期毎に補間を行って制御点の補間位置を求め、制御点の補間位置に機械が動作するように各軸のサーボを駆動する。推奨加工中心位置計算手段１４と推奨加工位置変更量計算手段１５は、プログラム解析手段１１から呼び出されて、推奨加工中心位置と推奨加工位置変更量を求める計算を行う。【選択図】図１５
2011070483.tif 000002
【特許請求の範囲】
【請求項１】
指定プログラム座標系上で工具方向および直線軸位置を指令し、テーブルに取り付けられたワークに対して直線軸３軸および少なくともテーブル旋回用回転軸１軸を含む回転軸２軸によって加工するテーブル旋回５軸加工機を制御するテーブル旋回５軸加工機用数値制御装置であって、
前記指定プログラム座標系上の位置であって前記テーブルのテーブル旋回中心に移動すれば前記直線軸の移動量ができるだけ小さくなる位置である推奨加工中心位置を求める推奨加工中心位置計算手段と、
前記推奨加工中心位置が前記テーブル旋回中心に一致するように、または、該推奨加工中心位置が該テーブル旋回中心に近づくように推奨加工位置変更量を求める推奨加工位置変更量計算手段と、
を備えたことを特徴とするテーブル旋回５軸加工機用数値制御装置。
【請求項２】
前記指定プログラム座標系はテーブル上に定義されるテーブル座標系であり、
前記推奨加工位置変更量は、推奨テーブル座標系原点位置、推奨テーブル座標系原点シフト量、または、指令プログラムにおける指令直線軸位置に対する推奨直線軸位置シフト量であることを特徴とする請求項１に記載のテーブル旋回５軸加工機用数値制御装置。
【請求項３】
前記指定プログラム座標系は機械座標系からシフトしたワーク座標系であり、前記推奨加工位置変更量は、推奨ワーク座標系原点位置、推奨ワーク座標系原点シフト量、または、指令プログラムにおける指令直線軸位置に対する推奨直線軸位置シフト量であることを特徴とする請求項１に記載のテーブル旋回５軸加工機用数値制御装置。
【請求項４】
前記推奨加工中心位置計算手段は、指令プログラムにおける前記直線軸指令位置および回転軸指令位置を用いて加重平均による計算を行って求めることを特徴とする請求項１〜３のいずれか１つに記載のテーブル旋回５軸加工機用数値制御装置。
【請求項５】
前記推奨加工中心位置計算手段は、指令プログラムにおける前記直線軸指令位置および回転軸指令位置を用いて最小二乗法による計算を行って求めることを特徴とする請求項１〜３のいずれか１つに記載のテーブル旋回５軸加工機用数値制御装置。
【請求項６】
前記推奨加工中心位置計算手段は、補間周期ごとの直線軸補間位置および回転軸補間位置を用いて加重平均による計算を行って求めることを特徴とする請求項１〜３のいずれか１つに記載のテーブル旋回５軸加工機用数値制御装置。
【請求項７】
前記推奨加工中心位置計算手段は、補間周期ごとの直線軸補間位置および回転軸補間位置を用いて最小二乗法による計算を行って求めることを特徴とする請求項１〜３のいずれか１つに記載のテーブル旋回５軸加工機用数値制御装置。
【請求項８】
加工可能な直線軸加工領域を設定する加工領域設定手段を有し、
前記推奨加工位置変更量計算手段は、指令プログラムにおける直線軸指令点列が該直線軸加工領域内となる範囲内で、前記推奨加工中心位置が前記テーブル旋回中心に一致するように、または、前記推奨加工中心位置が前記テーブル旋回中心に近づくように推奨加工位置変更量を求めることを特徴とする請求項１〜７のいずれか１つに記載のテーブル旋回５軸加工機用数値制御装置。
【請求項９】
前記推奨加工中心位置計算手段は前記テーブル旋回５軸加工機によるワークの加工を行いながら動作することを特徴とする請求項１〜８のいずれか１つに記載のテーブル旋回５軸加工機用数値制御装置。
【請求項１０】
前記推奨加工中心位置計算手段は前記テーブル旋回５軸加工機によるワークの加工は行わずシミュレーションによって動作することを特徴とする請求項１〜８のいずれか１つに記載のテーブル旋回５軸加工機用数値制御装置。
【請求項１１】
前記テーブル旋回５軸加工機の前記回転軸２軸は、そのうち１軸がテーブルを旋回する回転軸であり他の１軸がテーブルを傾斜する回転軸であることを特徴とする請求項１〜１０のいずれか１つに記載のテーブル旋回５軸加工機用数値制御装置。
【請求項１２】
前記テーブル旋回５軸加工機の前記回転軸２軸は、そのうち１軸がテーブルを旋回する回転軸であり他の１軸が工具ヘッドを傾斜する回転軸であることを特徴とする請求項１〜１０のいずれか１つに記載のテーブル旋回５軸加工機用数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テーブルに取り付けられた加工物（以下、「ワーク」という。）に対して直線軸３軸および少なくともテーブル旋回用回転軸１軸を含む回転軸２軸によって加工する５軸加工機械を制御する数値制御装置に関する。
【背景技術】
【０００２】
近年は、例えば特許文献１に開示されているように、テーブル上に定義される座標系（以下、「テーブル座標系」という。）上での工具先端点位置の移動をプログラムで指令することによって加工することが通常となってきている。その場合、テーブル座標系位置をワーク位置にしたがって定義すれば、テーブル座標系位置に依存せず、つまり、ワーク位置に依存せず同じプログラム指令で同じワークを加工することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−１９５９１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
背景技術で説明したようにテーブル座標系をワーク位置にしたがって定義すれば、ワーク位置に依存せず同じプログラム指令で同じワークを加工することができるが、テーブル旋回５軸加工機においては、テーブル上のワークの位置、すなわちテーブル座標系の位置が重要である。このことを、図１に示される機械構成のテーブル旋回５軸加工機において、ワークをテーブル座標系上のプログラム指令によって加工する例で説明する。なお、図１に示されるテーブル旋回５軸加工機の回転軸２軸はＡ軸（テーブルを傾斜する回転軸），Ｃ軸（テーブルを旋回する軸）としているが、他にＡ，Ｂ軸、Ｂ，Ｃ軸の組み合わせもある。
【０００５】
図２は、図１に示されるテーブル旋回５軸加工機のテーブル１にワーク３が載置されていることを示している。ここで、テーブル旋回５軸加工機によって、ワーク３をテーブル座標系上でＡ＝０からＡ＝−９０．０の指令とともに、ワーク３の点Ｐ１から点Ｐ２に向かって加工する時、テーブル１は図２から図３に示されるようにその姿勢を変化する。そして、ワーク３はテーブル旋回５軸加工機に装着された工具２によって加工される。図３に示される破線矢印５は、ワーク３を点Ｐ１から点Ｐ２まで加工した時の工具２の工具先端点の移動経路である。
【０００６】
次に、図４に示されるように、図１に示されるテーブル旋回５軸加工機のテーブル１上に治具４が取り付けられ、治具４の上にワーク３が載置されているとする。この場合、ワーク３を点Ｐ１から点Ｐ２まで加工する場合、テーブル１、工具２、ワーク３、および治具４は、図４に示される状態から図５に示される状態の動作となる。図５に示される破線矢印６は、テーブル１上に治具４を取り付け治具４にワーク３を載置し、ワーク３を点Ｐ１から点Ｐ２まで加工した時の工具２の工具先端点の移動経路である。
【０００７】
テーブル１上に治具４が取り付けられている場合、および、取り付けられていない場合において、図３および図５に示される工具２の移動経路をテーブル旋回中心と工具２の工具先端点との関係のみに着目して図示すると、図６に示されるようになる。図６からわかるように、同じワーク３を同じ加工プログラムによって加工する場合であっても、ワーク３の位置（ここでは、テーブル座標系原点位置）に依存して工具先端点の直線軸移動量（直線軸移動距離）は相違する。上記の例の場合、図４に示される状態から図５に示される状態への工具先端点の直線軸移動量に比べて、図２に示される状態から図３に示される状態への工具先端点の直線軸移動量の方が小さい。
【０００８】
直線軸であるＸ，Ｙ，Ｚ軸の各軸の許容速度によってＸ，Ｙ，Ｚ軸の合成速度は一定速度であるとすると、図２に示される状態から図３に示される状態に工具先端点が移動する方が図４に示される状態から図５に示される状態に工具先端点が移動するより加工時間は短くなるので、より望ましい加工である。また、直線軸移動量が小さい分、省エネルギー加工でもある。この直線軸移動量の相違は、概略的に説明すると数１式から発生する。つまり、図２に示される状態から図３に示される状態に工具先端点が移動する方が、「回転軸移動量」は同じ状態であっても「工具先端点の位置とテーブル旋回中心との距離」が短いので、図４に示される状態から図５に示される状態に工具先端点が移動するより、直線軸移動量が小さい。
【０００９】
【数１】
2011070483.tif 000003
【００１０】
回転軸移動量は加工プログラムで指定されているので変更することはできない。一方、工具先端点の位置はシフトすることによりテーブル旋回５軸加工機を構成するテーブルのテーブル旋回中心に近づけることができるか、あるいは、一致させることができる。しかしながら、従来は、工具先端点とテーブル旋回中心との関係に考慮することなく、つまり、ワークの位置がテーブル旋回５軸加工機械の旋回テーブルのどこにあるかは明確に問題とされることなく加工が行われていた。例えば、特許文献１に開示される技術において、ワーク座標系ΣＷが記憶されてテーブル座標系となるが、この特許文献１には「テーブル座標系原点位置の望ましい位置」という技術思想は開示も示唆もされていない。したがって、特許文献１には「工具先端点の位置とテーブル旋回中心との距離」と「回転軸移動量」から発生する直線軸移動量を小さくするという技術思想は開示も示唆もされていない。
【００１１】
そこで、本発明の目的は、「工具先端点の位置とテーブル旋回中心との距離」と「回転軸移動量」に基づく直線軸移動量を小さくし、より短時間、および、より省エネルギーでの加工が可能なテーブル旋回５軸加工機用数値制御装置を提供することである。より具体的には、本発明の目的は、指定プログラム座標系上の位置であって、その位置をテーブル旋回中心に移動すれば、「工具先端点の位置とテーブル旋回中心との距離」と「回転軸移動量」に基づく直線軸移動量ができる限り小さくなる推奨加工中心位置を求め、該推奨加工中心位置をテーブル旋回中心に一致させる、または近づけるための推奨加工位置変更量を求めることが可能なテーブル旋回５軸加工機用数値制御装置を提供することである。
【課題を解決するための手段】
【００１２】
本願の請求項１に係る発明は、指定プログラム座標系上で工具方向および直線軸位置を指令し、テーブルに取り付けられたワークに対して直線軸３軸および少なくともテーブル旋回用回転軸１軸を含む回転軸２軸によって加工するテーブル旋回５軸加工機を制御するテーブル旋回５軸加工機用数値制御装置であって、前記指定プログラム座標系上の位置であって前記テーブルのテーブル旋回中心に移動すれば前記直線軸の移動量ができるだけ小さくなる位置である推奨加工中心位置を求める推奨加工中心位置計算手段と、前記推奨加工中心位置が前記テーブル旋回中心に一致するように、または、該推奨加工中心位置が該テーブル旋回中心に近づくように推奨加工位置変更量を求める推奨加工位置変更量計算手段と、を備えたことを特徴とするテーブル旋回５軸加工機用数値制御装置である。
【００１３】
請求項２に係る発明は、前記指定プログラム座標系はテーブル上に定義されるテーブル座標系であり、前記推奨加工位置変更量は、推奨テーブル座標系原点位置、推奨テーブル座標系原点シフト量、または、指令プログラムにおける指令直線軸位置に対する推奨直線軸位置シフト量であることを特徴とする請求項１に記載のテーブル旋回５軸加工機用数値制御装置である。  
請求項３に係る発明は、前記指定プログラム座標系は機械座標系からシフトしたワーク座標系であり、前記推奨加工位置変更量は、推奨ワーク座標系原点位置、推奨ワーク座標系原点シフト量、または、指令プログラムにおける指令直線軸位置に対する推奨直線軸位置シフト量であることを特徴とする請求項１に記載のテーブル旋回５軸加工機用数値制御装置である。
【００１４】
請求項４に係る発明は、前記推奨加工中心位置計算手段は、指令プログラムにおける前記直線軸指令位置および回転軸指令位置を用いて加重平均による計算を行って求めることを特徴とする請求項１〜３のいずれか１つに記載のテーブル旋回５軸加工機用数値制御装置である。  
請求項５に係る発明は、前記推奨加工中心位置計算手段は、指令プログラムにおける前記直線軸指令位置および回転軸指令位置を用いて最小二乗法による計算を行って求めること特徴とする請求項１〜３のいずれか１つに記載のテーブル旋回５軸加工機用数値制御装置である。
【００１５】
請求項６に係る発明は、前記推奨加工中心位置計算手段は、補間周期ごとの直線軸補間位置および回転軸補間位置を用いて加重平均による計算を行って求めることを特徴とする請求項１〜３のいずれか１つに記載のテーブル旋回５軸加工機用数値制御装置である。  
請求項７に係る発明は、前記推奨加工中心位置計算手段は、補間周期ごとの直線軸補間位置および回転軸補間位置を用いて最小二乗法による計算を行って求めることを特徴とする請求項１〜３のいずれか１つに記載のテーブル旋回５軸加工機用数値制御装置である。
【００１６】
請求項８に係る発明は、加工可能な直線軸加工領域を設定する加工領域設定手段を有し、前記推奨加工位置変更量計算手段は、指令プログラムにおける直線軸指令点列が該直線軸加工領域内となる範囲内で、前記推奨加工中心位置が前記テーブル旋回中心に一致するように、または、前記推奨加工中心位置が前記テーブル旋回中心に近づくように推奨加工位置変更量を求めることを特徴とする請求項１〜７のいずれか１つに記載のテーブル旋回５軸加工機用数値制御装置である。
【００１７】
請求項９に係る発明は、前記推奨加工中心位置計算手段は前記テーブル旋回５軸加工機によるワークの加工を行いながら動作することを特徴とする請求項１〜８のいずれか１つに記載のテーブル旋回５軸加工機用数値制御装置である。  
請求項１０に係る発明は、前記推奨加工中心位置計算手段は前記テーブル旋回５軸加工機によるワークの加工は行わずシミュレーションによって動作することを特徴とする請求項１〜８のいずれか１つに記載のテーブル旋回５軸加工機用数値制御装置である。
【００１８】
請求項１１に係る発明は、前記テーブル旋回５軸加工機の前記回転軸２軸は、そのうち１軸がテーブルを旋回する回転軸であり他の１軸がテーブルを傾斜する回転軸であることを特徴とする請求項１〜１０のいずれか１つに記載のテーブル旋回５軸加工機用数値制御装置である。  
請求項１２に係る発明は、前記テーブル旋回５軸加工機の前記回転軸２軸は、そのうち１軸がテーブルを旋回する回転軸であり他の１軸が工具ヘッドを傾斜する回転軸であることを特徴とする請求項１〜１０のいずれか１つに記載のテーブル旋回５軸加工機用数値制御装置である。
【発明の効果】
【００１９】
本発明により、「工具先端点の位置とテーブル旋回中心との距離」と「回転軸移動量」に基づく直線軸移動量を小さくし、より短時間、および、より省エネルギーでの加工が可能なテーブル旋回５軸加工機用数値制御装置を提供でき、より具体的には、本発明は、指令プログラム座標系上の位置であって、その位置をテーブル旋回中心に移動すれば、「工具先端点の位置とテーブル旋回中心との距離」と「回転軸移動量」に基づく直線軸移動量ができる限り小さくなる推奨加工中心位置を求め、該推奨加工中心位置をテーブル旋回中心に一致させる、または近づけるための推奨加工位置変更量を求めることが可能なテーブル旋回５軸加工機用数値制御装置を提供できる。
【図面の簡単な説明】
【００２０】
【図１】Ａ，Ｃ軸の回転軸２軸を有するテーブル旋回５軸加工機の構成を説明する概略図である。
【図２】ワークをテーブル座標系上で点Ｐ１から点Ｐ２に向かってＡ＝０から加工することを説明する図である。
【図３】Ａ＝−９０．０になりワークの加工が点Ｐ２まで進んだことを説明する図である。
【図４】テーブル上に治具が取り付けられた場合のワークをテーブル座標系上で点Ｐ１から点Ｐ２に向かってＡ＝０から加工することを説明する図である。
【図５】テーブル上に治具が取り付けられた場合のＡ＝−９０．０になりワークの加工が点Ｐ２まで進んだことを説明する図である。
【図６】テーブル旋回中心と工具先端点との関係を説明する図である。
【図７】プログラム指令を説明する図である。
【図８】工具方向ベクトルで指令するプログラム指令を説明する図である。
【図９】テーブル上に治具が載置された場合の各ベクトルの関係を説明する図である。
【図１０】図９においてａn回転した状態をＸプラス側からみた図である（Ａ軸としてａn回転することはテーブルとしては−ａn回転する。）。
【図１１】推奨加工中心位置Ｐａの求め方を説明する図である。
【図１２】指令点列Ｐｌ0〜Ｐｌneに対して推奨加工中心位置Ｐａが求まることを説明する図である。
【図１３】各直線軸の最大指令位置と最小指令位置とのみに着目して加工可能領域を示す図である。
【図１４】推奨加工中心位置Ｐａがテーブル旋回中心に近づいたことを説明する図である。
【図１５】数値制御装置において、推奨加工中心位置計算手段、推奨加工位置変更量計算手段がプログラム解析手段から呼び出されて処理を行うことを説明する図である。
【図１６】最小二乗法を用いて推奨加工中心位置と推奨加工位置変更量とを計算により求める処理のアルゴリズムを示すフローチャートである。
【図１７】数値制御装置において、推奨加工中心位置計算手段、推奨加工位置変更量計算手段が補間手段から呼び出されて処理を行うことを説明する図である。
【図１８】ワーク座標系で指令される場合も推奨加工中心位置と推奨加工位置変更量を計算できることを説明する図である。
【図１９】１つの軸はテーブルを旋回する回転軸であり他の１軸は工具ヘッドを傾斜する回転軸である５軸加工機の概略図である。
【図２０】ワークをテーブル旋回中心の近くに置いて旋回しながら加工した場合の工具先端点の移動経路を説明する図である。
【図２１】ワークをテーブル旋回中心から離れて置いて旋回しながら加工した場合の工具先端点の移動経路を説明する図である。
【図２２】一般に「トラニオン」と呼ばれる旋回テーブルを持ったテーブル旋回５軸加工機の構成を説明する図である。
【発明を実施するための形態】
【００２１】
以下、本発明の実施形態を図面と共に説明する。なお、機能が類似している構成は同じ符号を用いて説明している。  
本発明のテーブル旋回５軸加工機用数値制御装置の特徴は、加工するテーブル旋回５軸加工機を制御するテーブル旋回５軸加工機用数値制御装置であって、指定プログラム座標系上の位置であってテーブルのテーブル旋回中心に移動すれば直線軸の移動量ができるだけ小さくなる位置である推奨加工中心位置を求める推奨加工中心位置計算手段と、前記推奨加工中心位置が前記テーブル旋回中心に一致するように、または、該推奨加工中心位置が該テーブル旋回中心に近づくように推奨加工位置変更量を求める推奨加工位置変更量計算手段と、を備えたことである。
【００２２】
そこで、まず、推奨加工中心位置の求め方を説明する。
（１）推奨加工中心位置の計算
（１−１）指令プログラム座標系はテーブル座標系である場合
（１−１−１）ブロック単位で直線軸移動量を計算する場合
上記のように、加工プログラムである指令プログラムで指令される指令プログラム座標系はテーブル座標系であり、ブロック単位で直線軸移動量を計算する場合を例として推奨加工中心位置の求め方を説明する。プログラム指令は図７に記載されるように指令されているとする。図７では、工具方向は回転軸位置（Ａ，Ｃ）で指令されるプログラム例が示されている。一方、図８に示されるように、工具方向を工具方向ベクトル（Ｉ，Ｊ，Ｋ）で指令することもできる。ここで、Ｇ４３．５は工具方向ベクトルで工具方向を指令する工具先端点指令であることを示している。ただし、工具方向ベクトルでの指令に対応する回転軸位置は数２式の計算で容易に回転軸位置での工具方向の指令に変換できることから、図７のプログラム例で説明する（ここでは、Ｙ軸方向をＡ軸原点方向、Ｘ軸方向をＣ軸原点方向としている。）。
【００２３】
【数２】
2011070483.tif 000004
【００２４】
図７において、Ｇ４３．４は工具先端点制御開始の指令であり、このブロックでのワーク座標系がテーブル座標系として記憶され、テーブル座標系は回転軸の回転とともに旋回する。これ以降のブロックでのＸ，Ｙ，Ｚ指令は、テーブル座標系上の工具先端点の位置として指令される。また、Ｘ，Ｙ，Ｚ，Ａ，Ｃ指令はアブソリュート指令とする。Ｈ１は工具長補正番号である。Ｆは工具先端点の指令速度である。ただし、プログラム指令により制御点（機械としての移動位置、機械座標位置、図９参照）の速度が許容速度を超える場合は、制御点の速度は許容速度でクランプされる。Ｇ４９は工具先端点制御終了の指令である。
【００２５】
推奨加工中心位置の計算に用いられるベクトルおよび行列（マトリックス）を次のように定義する。Ｐｌn（ｘn，ｙn，ｚn）Tは、ＮｎnのブロックのＸ，Ｙ，Ｚ軸指令位置のベクトルである。Ｐｌ0はＧ４３．４のブロックのＸ，Ｙ，Ｚ軸指令位置のベクトルである。Ｖｏ（Ｖｏｘ，Ｖｏｙ，Ｖｏｚ）Tは、Ｘ，Ｙ，Ｚ軸のテーブル座標系原点の初期位置、つまりＧ４３．４のブロックでワーク座標系をテーブル座標系として記憶するテーブル座標系原点位置のベクトルである。Ｐｃ（Ｐｃｘ，Ｐｃｙ，Ｐｃｚ）Tは、テーブル旋回中心（Ａ軸回転中心とＣ軸回転中心の交点）の機械座標位置のベクトルである。これは、別途パラメータで設定されている。Ｖｈ（Ｖｈｘ，Ｖｈｙ，Ｖｈｚ）Tは工具長補正ベクトルである。工具がＺ軸を向いている場合は、Ｖｈ＝（０，０，ｈ）である。ここで、工具長補正ベクトルＶｈの要素ｈは工具長補正量である。
【００２６】
図９は、テーブル上に治具が載置された場合の前記各ベクトルの関係を説明する図である。図９に示されるように、テーブル１上に治具４が載置されているとする。前記各ベクトルは図９に示されるような関係を有する。なお、図上では、各ベクトルの表記において簡便のため添え字「n」を記載していない。
【００２７】
次に、Ａ軸位置による回転行列とＣ軸位置による回転行列を説明する。  
数３式で示されるＲＡnはＡ軸位置（図９、図１０参照）による回転行列である。
【００２８】
【数３】
2011070483.tif 000005
【００２９】
数４式で示されるＲＣnはＣ軸位置（図９参照）による回転行列である。
【００３０】
【数４】
2011070483.tif 000006
【００３１】
Ｐｌnに対応する制御点の機械座標位置ベクトルＰｍn（Ｐｍnｘ，Ｐｍnｙ，Ｐｍnｚ）Tは、数５式のように（Ｖｏ＋Ｐｌn）（図９参照）に対してＰｃを中心とするｃn，ａnの回転を行い、工具長補正Ｖｈを加算することで得られる。なお、ｃnはＣ軸のアブソリュート指令位置（回転移動位置）、ａnはＡ軸のアブソリュート指令位置（回転移動位置）である。
【００３２】
【数５】
2011070483.tif 000007
【００３３】
ここで、Ａ軸位置でａn回転した状態をＸプラス側から図示すると図１０のようになる。
【００３４】
数５式の最後の２項であるＰｃとＶｈは回転軸移動量によって発生する直線軸移動量に直接関係しないので除外し、数６式のようにＮｎn-1ブロック終点とＮｎnブロック終点の中点をＮｎnブロックの代表点として数５式のＰｌnの代わりとする。そして、Ａ，Ｃ軸位置の（ａn-1，ｃn-1）から（ａn，ｃn）へ回転することのみによる直線軸移動量Ｌn（ｎ＝１，２，・・・，ｎｅ）を数６式により求める。Ｌnはベクトルの絶対値なのでスカラー量である。
【００３５】
【数６】
2011070483.tif 000008
【００３６】
これが数１式で概略的に述べた回転軸移動により各ブロックで発生する直線軸移動量に相当する。第１括弧が数１式の「回転軸の移動量」に相当し、第２括弧が「工具先端点の位置とテーブル旋回中心との距離」に相当する。
【００３７】
次に、推奨加工中心位置Ｐａを方法１）（加重平均）、方法２）（最小二乗法）によって計算することについて説明する。  
方法１）（加重平均）
直線軸移動量Ｌｎ（ｎ＝１，２，・・・，ｎｅ）の合計が小さくなるように、Ｎｎn-1ブロック終点とＮｎnブロック終点の中点をＮｎnブロックの代表点とし、数７式のようにＬnをそれに対する重みとして考えた場合の加重平均を行うことにより、推奨加工中心位置Ｐａ（Ｐａｘ，Ｐａｙ，Ｐａｚ）Tを求める。直線軸移動量Ｌｎ（ｎ＝１，２，・・・，ｎｅ）の合計が小さくなるように推奨加工中心位置Ｐａを求めることは、Ｐａがテーブル旋回中心となるように加工点をシフトすることと考えられる。
【００３８】
【数７】
2011070483.tif 000009
【００３９】
これをベクトルＰｌn-1とベクトルＰｌn間で図示すると図１１のようになる。ここではベクトルＰｌn-1とベクトルＰｌnの間の中点を、Ｎｎnブロックを代表する点としたが、Ｎｎnブロックの終点ＰｌnやＮｎnブロックの始点Ｐｌn-1をＮｎnブロックを代表する点としてもよい。また、直線軸、回転軸の指令位置を読み込みながら逐次処理できる。つまり、指令プログラム全体、つまり、加工プログラム全体を読み込んでから処理する必要はない。さらに、数７式において、治具、テーブル、主軸、工具、各軸コラムなどの重量や位置など機械の他の構成や、加工速度、主軸回転速度、工具種などの他の加工条件を加味することも可能である。
【００４０】
次に方法２）（最小二乗法）について説明する。  
方法２）（最小二乗法）
数６式における第２括弧内を数８式のようにｒn＝（ｒxn，ｒyn，ｒzn）Tとする。
【００４１】
【数８】
2011070483.tif 000010
【００４２】
Ｍを数９式の行列計算の行列（マトリックス）とする。
【００４３】
【数９】
2011070483.tif 000011
【００４４】
マトリックスＭの各要素を次のように表記する。
【００４５】
【数１０】
2011070483.tif 000012
【００４６】
そうすると、数３式、数４式、数９式から各要素ｍ11n〜ｍ33nは数１１式で表すことができる。
【００４７】
【数１１】
2011070483.tif 000013
【００４８】
ワークの加工位置をＰａシフトした場合のＬｎに対応する直線軸移動量をＬａn（ｎ＝１，２，・・・，ｎｅ）とすると、Ｌａnは数１２式のようになる。
【００４９】
【数１２】
2011070483.tif 000014
【００５０】
そして、数１３式に示されるように、Ｌａnの平方和をＳとし、Ｓが最小となる推奨加工中心位置Ｐａ（Ｐａｘ，Ｐａｙ，Ｐａｚ）Tを最小二乗法で求める。
【００５１】
【数１３】
2011070483.tif 000015
【００５２】
最小二乗法から数１４式〜数１６式の条件式を適用できる。
【００５３】
【数１４】
2011070483.tif 000016
【００５４】
【数１５】
2011070483.tif 000017
【００５５】
【数１６】
2011070483.tif 000018
【００５６】
数１４式から数１７式が導かれる。
【００５７】
【数１７】
2011070483.tif 000019
【００５８】
数１５式から数１８式が導かれる。
【００５９】
【数１８】
2011070483.tif 000020
【００６０】
数１６式から数１９式が導かれる。
【００６１】
【数１９】
2011070483.tif 000021
【００６２】
数１７式、数１８式、数１９式の係数（α〜σ）は直線軸、回転軸の指令位置やパラメータ設定値から確定する値であるので、数１７式、数１８式、数１９式の連立方程式で推奨加工中心位置Ｐａ（Ｐａｘ，Ｐａｙ，Ｐａｚ）Tを求めることができる。また、数１７式、数１８式、数１９式の係数（α〜σ）は直線軸、回転軸の指令位置を読み込みながら逐次処理できる、つまり、指令プログラム全体、つまり、加工プログラム全体を読み込んでから処理する必要はない点や、ここではベクトルＰｌn-1とベクトルＰｌnの間の中点をＮｎnブロックを代表する点としたが、Ｎｎnブロックの終点ＰｌnやＮｎnブロックの始点Ｐｌn-1をＮｎnブロックを代表する点としてもよい点、治具やテーブルの重量など機械の他の構成要素や加工条件などを加味することも可能な点などは、方法１）（加重平均）の場合と同様である。
【００６３】
その結果、方法１）や方法２）によって、図１２に示されるように、指令点列Ｐｌ0〜Ｐｌneに対して推奨加工中心位置Ｐａが求まる。Ｐａを旋回テーブルの旋回中心に近づけることが望ましい。可能ならば、Ｐａを旋回テーブルの旋回中心に一致させられればよい。したがって、後述する直線軸加工可能領域の制限がなければ、数２０式のＶｒｌ（Ｖｒｌｘ，Ｖｒｌｙ，Ｖｒｌｚ）Tが推奨テーブル座標系原点シフト量として表した場合の推奨加工位置変更量である。
【００６４】
【数２０】
2011070483.tif 000022
【００６５】
推奨加工位置変更量を推奨テーブル座標系原点位置として表せば、数２１式のＶｒ２（Ｖｒ２ｘ，Ｖｒ２ｙ，Ｖｒ２ｚ）Tのようになる。
【００６６】
【数２１】
2011070483.tif 000023
【００６７】
また、指令直線軸位置をＶｒｌだけシフトして再度加工プログラムを作成し直せば同様の加工位置の変更が得られるので、推奨加工位置変更量としてＶｒｌを推奨直線軸位置シフト量としてもよい。
【００６８】
しかし、図１２のような加工位置の場合、推奨テーブル座標系原点位置Ｖｒ２をテーブル座標系原点とするとテーブル自体の中で加工することになるので、実際にはこのような加工はできない。もちろん、加工できるかどうかは加工位置と機械構造の関係によるため、特に問題なくＶｒ２をテーブル座標系原点として加工が可能である場合もある。例えば、図２２のような一般に「トラニオン」と呼ばれる旋回テーブルを持ったテーブル旋回５軸加工機であれば、テーブル面がテーブル旋回中心（Ａ軸回転中心とＣ軸回転中心の交点位置）より下にあるため、推奨加工中心位置がテーブル旋回中心に一致するように、または、推奨加工中心位置が該テーブル旋回中心により近づくように推奨加工中心位置変更量を求めることができる。つまり、Ｖｒ２をテーブル座標系原点として加工が可能である場合もある。
【００６９】
図１２の場合は、直線軸指令点列Ｐｌ0〜Ｐｌneは図１２の破線で示された加工可能領域内になければならない。つまり、治具４を変更することにより、破線領域内で加工するようにＰｌ0〜Ｐｌneの位置を変更することは可能であるが、その領域を超えてＰｌ0〜Ｐｌneの位置を変更して指令することはできない。ここで、直線軸加工領域は次のように各直線軸の最大位置と最小位置で設定されているとする。  
ＡＸｍａｘ：加工可能領域のＸ軸最大位置
ＡＸｍｉｎ：加工可能領域のＸ軸最小位置
ＡＹｍａｘ：加工可能領域のＹ軸最大位置
ＡＹｍｉｎ：加工可能領域のＹ軸最小位置
ＡＺｍａｘ：加工可能領域のＺ軸最大位置
ＡＺｍｉｎ：加工可能領域のＺ軸最小位置
直線軸指令点列Ｐｌ0（ｘ0，ｙ0，ｚ0）〜Ｐｌn（ｘn，ｙn，ｚn）〜Ｐｌne（ｘne，ｙne，ｚne）について、数２２式に示されるように各直線軸の最大指令位置と最小指令位置を計算する。
【００７０】
【数２２】
2011070483.tif 000024
【００７１】
記号Ｍａｘ（ｘｎ）はｘn（ｎ＝０，１，２，・・・，ｎｅ）の最大値であり、Ｍｉｎ（ｘn）は最小値を示す。Ｙ，Ｚについても同様である。したがって、ＣＸｍａｘなどは次に示すとおりである。  
ＣＸｍａｘ：指令位置のＸ軸最大位置
ＣＸｍｉｎ：指令位置のＸ軸最小位置
ＣＹｍａｘ：指令位置のＹ軸最大位置
ＣＹｍｉｎ：指令位置のＹ軸最小位置
ＣＺｍａｘ：指令位置のＺ軸最大位置
ＣＺｍｉｎ：指令位置のＺ軸最小位置
テーブル座標系上でこれらの値のみに着目して図示すると図１３のようになる。簡便のため、Ｙ，Ｚ軸の図としているが、Ｘ軸も同様である。
【００７２】
ここで、推奨加工位置変更量としてＶｒ３（Ｖｒ３ｘ，Ｖｒ３ｙ，Ｖｒ３ｚ）を数２３式〜数２５式のように求める。Ｙ軸に着目した時、直線軸指令位置Ｐｌynを移動することができる範囲（ＡＹｍｉｎ−ＣＹｍｉｎ）〜（ＡＹｍａｘ−ＣＹｍａｘ）の中で最もＶｒ１ｙに近い量をＹ軸の推奨加工位置変更量Ｖｒ３ｙとするものである。
【００７３】
【数２３】
2011070483.tif 000025
【００７４】
Ｘ軸、Ｚ軸についても同様である。Ｘ軸は数２４式、Ｚ軸は数２５式が対応する。
【００７５】
【数２４】
2011070483.tif 000026
【００７６】
【数２５】
2011070483.tif 000027
【００７７】
その結果、直線軸指令点列は直線軸加工領域内となり、かつ推奨加工中心位置Ｐａはできるだけテーブル旋回中心に近づく。ここで、Ｖｒ３はシフト量として求めたが、テーブル座標系原点位置Ｖｒ４として数２６式により求められる。
【００７８】
【数２６】
2011070483.tif 000028
【００７９】
一般には、指令プログラム（加工プログラム）はＣＡＭで作成される。その場合、ＣＡＭに推奨加工位置変更量としてＶｒｌまたはＶｒ２を通知して再度指令プログラムを作成し直す。その時は通常ＣＡＭ内に直線軸も含めた直線軸加工領域が設定されており、数値制御装置内での直線軸加工領域の設定、およびそれを考慮した数２３式、数２４式、数２５式のようにＶｒ３を求める、または、数２６式のようにＶｒ４を求める推奨加工位置変更量の計算は不要である。
【００８０】
テーブル旋回５軸加工機においては直線軸のみならず回転軸との関係で工具と治具やテーブルを含めた機械部品との干渉が発生することが多く、ＣＡＭにおいて干渉チェックすることが多い。したがって、その場合は推奨加工位置変更量としてＶｒ１またはＶｒ２をＣＡＭに入力して直線軸加工可能領域も含めた干渉条件をチェックしながらＣＡＭによって再度プログラムを作成し直すことになる。
【００８１】
次に、図１５のブロック図を説明する。数値制御装置は、一般に、プログラム読込み手段１０で加工プログラムである指令プログラムを読込み、プログラム解析手段１１で指令プログラムを解析して補間用データを作成し、補間手段１２で補間周期毎に補間を行って制御点の補間位置を求め、制御点の補間位置に機械が動作するように各軸のサーボを駆動する。推奨加工中心位置計算手段１４と推奨加工位置変更量計算手段１５は、プログラム解析手段１１から呼び出されて処理を行う。
【００８２】
次に、図１６に示されるフローチャートを用いて、最小二乗法による処理のアルゴリズムを説明する。以下、各ステップに従って説明する。
●［ステップＳ１００］Ｇ４３．４ブロックで指令Ｐｌ0（ｘ0，ｙ0，ｚ0），ａ0，ｃ0を読み込み、ブロック指令Ｐｌn（ｘn，ｙn，ｚn），ａn，ｃnとして記憶する。係数α〜σ＝０とする。ＣＸｍａｘ＝ＣＸｍｉｎ＝ｘ0，ＣＹｍａｘ＝ＣＹｍｉｎ＝ｙ0，ＣＺｍａｘ＝ＣＺｍｉｎ＝ｚ0とする。
●［ステップＳ１０１］次ブロックを読み込む。  
●［ステップＳ１０２］読み込んだブロックはＧ４９のブロックか否か判断し、Ｇ４９のブロックの場合にはステップＳ１０６へ移行し、Ｇ４９のブロックでない場合にはステップＳ１０３へ移行する。
●［ステップＳ１０３］現在のブロック指令Ｐｌn（ｘn，ｙn，ｚn），ａn，ｃnを１ブロック前のデータＰｌn-1（ｘn-1，ｙn-1，ｚn-1），ａn-1，ｃn-1として記憶する。今回のＮｎnブロック指令Ｐｌn（ｘn，ｙn，ｚn），ａn，ｃnを記憶する。  
●［ステップＳ１０４］ｘn＞ＣＸｍａｘなら、ＣＸｍａｘ＝ｘnとする。ｘn＜ＣＸｍｉｎなら、ＣＸｍｉｎ＝ｘnとする。ｙn＞ＣＹｍａｘなら、ＣＹｍａｘ＝ｙnとする。ｙn＜ＣＹｍｉｎなら、ＣＹｍｉｎ＝ｙnとする。ｚn＞ＣＺｍａｘなら、ＣＺｍａｘ＝ｚnとする。ｚn＜ＣＺｍｉｎなら、ＣＺｍｉｎ＝ｚnとする。  
●［ステップＳ１０５］数８式によるｒnの計算、数９式によるＭnの計算を行う。数１７式のα，β，γ，δ、数１８式のε，ζ，η，θ、数１９式のλ，μ，ξ，σの各Σ（）の中の（）部分を計算し、α〜σに加算する。  
●［ステップＳ１０６］数１７式、数１８式、数１９式の連立方程式を解いて、推奨加工中心位置Ｐａを求める。
●［ステップＳ１０７］直線軸加工可能領域は設定されているか否か判断し、設定されている場合にはステップＳ１０８へ移行し、設定されていない場合にはステップＳ１０９へ移行する。  
●［ステップＳ１０８］数２３式〜数２５式によりＶｒ３、または数２６式によりＶｒ４を計算し、推奨加工位置変更量とし、処理を終了する。  
●［ステップＳ１０９］数２０式によりＶｒ１、または数２１式でＶｒ２を計算し、推奨加工位置変更量とし、処理を終了する。
【００８３】
（１−１−２）補間周期で直線軸移動量を計算する場合
次に、補間周期で直線軸移動量を計算する場合について説明する。  
まず、図１７のブロック図を説明する。このブロック図の数値制御装置は、推奨加工中心位置計算手段１４と推奨加工位置変更量計算手段１５は、補間手段１２から呼び出されて処理を行う。この構成では、第ｎ補間周期での補間された直線軸補間位置（制御点位置）がＰｍn、Ａ軸位置がａn、Ｃ軸位置がｃnとすれば、対応するテーブル座標系上の工具先端点位置Ｐｌnは数２７式により求めることができる。
【００８４】
【数２７】
2011070483.tif 000029
【００８５】
ここで、ＲＡn-1は、数３式で示されるａnに対する回転行列に対する逆行列である。また、ＲＣn-1は、数４式で示されるｃnに対する回転行列に対する逆行列である。このことにより、第１補間周期から第ｎｅ補間周期まで補間が行われると考えることによって、上述の（１−１−１）で説明したのと同様の方法によって、推奨加工中心位置を計算するとともに推奨加工位置変更量を計算することができる。つまり、数３式、数４式のａn、ｃnは第ｎ補間周期での回転軸補間位置（Ａ，Ｃ軸補間位置）とし、数５式のＰｍnを第ｎ補間周期での直線軸制御位置とし、数７式でのＰｌn，Ｐｌn-1を数２７式で求められる第ｎ−１，第ｎ補間周期でのテーブル座標系における直線軸指令位置とし、第１補間周期から第ｎｅ補間周期まで補間が行われると考えて（１−１−１）で上述したのと同様の方法を用いて推奨加工中心位置Ｐａを求めればよい。
【００８６】
（１−２）指令プログラム座標系はワーク座標系である場合
次に、指令プログラム座標系はワーク座標として指令される場合を説明する。（１−１）では、テーブル座標系での指令で説明したが、ワーク座標系で指令される場合も直線軸指令位置をテーブル座標系に変換することにより同様の計算が可能になる。この場合、ワーク座標系は機械座標系からＶOだけシフトした座標系であり、テーブルが旋回しても移動しない（図１８参照）。数２８式の計算によって、ワーク座標系上の直線軸指令位置Ｐｗnはテーブル旋回中心Ｐｃを原点と想定したテーブル座標系上の位置Ｐｌnに変換される。
【００８７】
【数２８】
2011070483.tif 000030
【００８８】
このＰｌnがテーブル旋回中心Ｐｃを原点と想定したテーブル座標系上で指令されたとみなすことにより、（１−１）で述べたのと同様の方法で推奨加工中心位置Ｐａと推奨加工位置変更量を求めることができる。
（１−３）加工を行いながらの処理とシミュレーション
上述した（１−１）、（１−２）の方法は、実際に加工を行いながら動作する、つまり、図１５、図１７における各軸のサーボを駆動させながら動作することも可能であるし、シミュレーションで動作することも可能である。シミュレーションで動作する場合には、図１５に示される数値制御装置においてはプログラム解析手段１１まで実行すればよく、図１７に示される数値制御装置においては補間手段１２まで実行すればよい。このことにより、実際にワークを加工しなくても推奨加工中心位置Ｐａを計算し、推奨加工位置変更量を求めることができる。
【００８９】
例えば、数値制御装置にはすでにグラフィック機能として、実際に加工を行うことなく加工経路のみを描画する機能を備えている。この機能に本発明を適応すれば、容易にシミュレーションにより推奨加工中心位置Ｐａおよび推奨加工位置変更量を計算することができる。
【００９０】
（１−４）混合型５軸加工機
上述した（１−１）〜（１−３）までは、回転軸２軸でテーブルを旋回する５軸加工機として説明したが、回転軸２軸のうち１軸はテーブルを旋回する回転軸であり他の１軸は工具ヘッドを傾斜する回転軸である混合型５軸加工機とよばれる５軸加工機（図１９参照）においても本発明を適用することができる。
それは、図１９に示される混合型５軸加工機の例であれば、Ｃ軸によって旋回するテーブル１のどこにワーク３を載置するかによって、図２〜図５で説明したのと同様に直線軸移動量が相違することが起こるためである。
【００９１】
例えば、図２０に示されるように図１９の混合型５軸加工機をＺ方向からみた場合、ワーク３をテーブル旋回中心近くに置いて、図２０のように旋回しながら加工すると、破線矢印のように工具先端点は移動する。一方、ワーク３をテーブル旋回中心から離れて置くと、図２１に示される破線矢印のように工具先端点は移動する。つまり、同じワーク３を同じ加工プログラムで加工する場合であっても、ワーク３の位置（ここでは、テーブル座標系原点位置）によって、工具先端点の移動距離は大きく相違する。この場合、直線軸移動量は、図２０の加工状態の方が小さいため、加工時間が短縮でき、加工に必要なエネルギーも削減することが可能である。
【００９２】
したがって、図１９に示される混合型５軸加工機においても本発明を適用できる。ただし、この場合、テーブル旋回の回転軸はＣ軸のみであるので、（１−１）〜（１−３）で説明した他の回転軸（（１−１）〜（１−３）ではＡ軸、図１９の場合はＢ軸）については考慮は不要である。
【符号の説明】
【００９３】
１  テーブル
１Ａ  Ａ軸テーブル
１Ｃ  Ｃ軸テーブル
２  工具
３  ワーク
４  治具
５，６  工具先端点の移動経路を表す破線矢印
Ｐａ  推奨加工中心位置
【図１】
2011070483.tif 000031
【図２】
2011070483.tif 000032
【図３】
2011070483.tif 000033
【図４】
2011070483.tif 000034
【図５】
2011070483.tif 000035
【図６】
2011070483.tif 000036
【図７】
2011070483.tif 000037
【図８】
2011070483.tif 000038
【図９】
2011070483.tif 000039
【図１０】
2011070483.tif 000040
【図１１】
2011070483.tif 000041
【図１２】
2011070483.tif 000042
【図１３】
2011070483.tif 000043
【図１４】
2011070483.tif 000044
【図１５】
2011070483.tif 000045
【図１６】
2011070483.tif 000046
【図１７】
2011070483.tif 000047
【図１８】
2011070483.tif 000048
【図１９】
2011070483.tif 000049
【図２０】
2011070483.tif 000050
【図２１】
2011070483.tif 000051
【図２２】
2011070483.tif 000052