(57)【特許請求の範囲】
【請求項１】
ワーク又はそのワークを加工する工具を移送対象物としてその移送対象物を前記ワークを加工するために複数の移送軸に沿って動かす複数の移送装置を備え、前記複数の移送軸には、前記ワーク上に設定されたワーク座標系における特定の座標軸成分を含み、その特定の座標軸の座標に対して一意的に座標が定まらない不定軸である第１移送軸と第２移送軸とが含まれ、前記複数の移送装置には、前記移送対象物を前記第１移送軸に沿って動かす第１移送装置と、前記移送対象物を前記第２移送軸に沿って動かし、その許容加速度が前記第１移送装置による前記第１移送軸に沿った前記移送対象物の移送の許容加速度よりも低い第２移送装置とが含まれている工作機械に設けられ、前記各移送装置に特定周期毎の指令パルスを出力することにより前記各移送装置の数値制御を行う数値制御装置であって、
前記ワークの加工を指示する加工プログラムを記憶する記憶部と、
前記記憶部に記憶された前記加工プログラムを読み取り、その読み取った加工プログラムに基づいて、前記ワークの加工時における前記工具の動きをその工具の前記ワーク座標系での位置座標とその工具の移動の軌跡の積算長である媒介変数とによって表す関数を含むツールパスを求めるとともに、前記ワークの加工時に前記第２移送装置が前記移送対象物を動かす基準となる前記第２移送軸上での特定点の動きをその第２移送軸上の位置座標と前記媒介変数の関数によって表した第２移送軸パスを求めるパス導出部と、
前記パス導出部によって求められた前記ツールパスをそのツールパスが表す前記工具の動きが滑らかになるように補間するツールパス補間部と、
前記パス導出部によって求められた前記第２移送軸パスをその第２移送軸パスが表す前記第２移送軸上での前記特定点の動きが滑らかになるように補間し、その補間後の第２移送軸パスを当該補間後の第２移送軸パスの前記媒介変数による二次微分値が小さくなるように補間する第２移送軸パス補間部と、
前記各移送軸に沿って前記移送対象物を動かすときのその移送軸毎の許容加速度を含む加減速条件と、前記ツールパス補間部によって補間された後のツールパスである補間後ツールパスと、前記第２移送軸パス補間部によって補間された後の第２移送軸パスである補間後第２移送軸パスとに基づいて、基準時刻の経過に対する前記媒介変数の変化を表す媒介変数時間関数を求める媒介変数時間関数導出部と、
前記媒介変数時間関数導出部によって求められた前記媒介変数時間関数から前記基準時刻の単位時間毎の各時点に対応する前記媒介変数を求めるとともに、その求めた各時点の媒介変数に対応する前記補間後ツールパスの前記ワーク座標系での位置座標及びその各時点の媒介変数に対応する前記補間後第２移送軸パスの前記第２移送軸上での位置座標を求め、その求めた前記第２移送軸上での位置座標を拘束条件とし、前記ワーク座標系における前記工具の位置座標と前記各移送軸上の位置座標との相関関係を示す特定の関係式に基づいて、前記各時点の前記補間後ツールパスの前記ワーク座標系での位置座標に対応する前記各移送軸上の位置座標を求め、求めた前記各時点における前記各移送軸上の位置座標からそれらの移送軸についての前記移送対象物の前記単位時間毎の移送量を求めて、その単位時間毎の移送量を前記特定周期毎の前記指令パルスとするパルス補間部と、
前記各移送装置に対して、前記パルス補間部によって求められた前記特定周期毎の前記指令パルスのうちその移送装置に対応する前記移送軸についての前記移送対象物の移送量を示す指令パルスを出力し、その各移送装置に出力した当該指令パルスに応じて前記移送対象物を動かさせる制御部とを備えた、数値制御装置。
【請求項２】
前記記憶部は、前記ワークの加工時に前記工具が通るべき指令点の前記ワーク座標系での位置座標の情報と前記工具の移送速度を示す工具移送速度指令と前記指令点に対応する前記第２移送軸上での前記特定点の位置座標の情報とを含む前記加工プログラムを記憶し、
前記パス導出部は、前記記憶部に記憶された前記加工プログラムを読み取り、その読み取った加工プログラムに含まれる前記指令点の位置座標の情報と前記工具移送速度指令とに基づいて前記ツールパスを算出するツールパス導出部と、前記記憶部に記憶された前記加工プログラムを読み取り、その読み取った加工プログラムに含まれる前記第２移送軸上での前記特定点の位置座標の情報と前記工具移送速度指令とに基づいて前記第２移送軸パスを算出する第２移送軸パス導出部とを有する、請求項１に記載の数値制御装置。
【請求項３】
前記記憶部は、前記ワークの加工時に前記工具が通るべき指令点の前記ワーク座標系での位置座標の情報と前記工具の移送速度を示す工具移送速度指令とを含む前記加工プログラムを記憶し、
前記パス導出部は、前記記憶部に記憶された前記加工プログラムを読み取り、その読み取った加工プログラムに含まれる前記指令点の位置座標の情報と前記工具移送速度指令とに基づいて前記ツールパスを算出するツールパス導出部と、そのツールパス導出部によって算出されたツールパスから特定の算出ルールに基づいて前記第２移送軸パスを算出する第２移送軸パス導出部とを有する、請求項１に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関するものである。
【背景技術】
【０００２】
従来、各種工作機械では、ワークやそのワークを加工するための工具を移送対象物としてその移送対象物を移送する移送装置を加工プログラム（ＮＣプログラム）に従って数値制御することによりワークの加工が行われている。下記特許文献１には、そのような移送装置の数値制御を行う数値制御装置が開示されている。
【０００３】
特許文献１に示された数値制御装置では、加工プログラムからワーク上に固定されたワーク座標系における工具の位置座標の変化を媒介変数の関数として表すツールパスを求めるとともに、そのツールパスから移送装置の各移送軸毎の移送軸パスを求め、その求めた各移送軸毎の移送軸パスに基づいて基準単位時間毎の各移送軸における移送対象物の移送量を求め、その求めた移送量のデータを指令パルスとして各移送軸に対応する移送装置のサーボモータへ出力することにより各移送装置の動作制御を行っている。また、この数値制御装置では、移送軸パスに応じた移送対象物の動きが滑らかになるように各移送軸パスの滑らか補間を行い、その滑らか補間後の移送軸パスからパルス補間により基準単位時間毎の各移送軸における移送対象物の移送量を求めている。
【０００４】
また、特許文献１には、複数の移送装置の中に移送対象物を移送する移送軸が互いに平行となっている２つの移送装置を含む工作機械が示されている。この工作機械では、ツールパスが示す位置座標に対して互いに平行な移送軸の座標が一意的に定まらず、不定となる。このため、特許文献１では、ツールパスから運動学関係式を用いて各移送軸パスを求めるときに、平行な移送軸の関係を特定する何らかの拘束条件を加えることにより、ツールパスに対応する全ての移送軸パスを導出できるようにしている。この技術によれば、互いに平行な移送軸がある場合でも、全ての移送軸についての移送装置の同時制御が可能となる。また、特許文献１では、各移送軸での移送対象物の加速度がその移送軸についての許容加速度を超えないように全移送軸方向の速度の合成速度の上限値を求め、実際の合成速度がその求めた上限値を超えないように移送装置の制御を行っている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２２５８２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記の技術では、ツールパスが示す位置座標に対して不定となっている複数の移送軸を有し、その不定となっているいずれかの移送軸についての移送対象物の加速性が極端に悪い工作機械において、ワークの加工速度及び加工精度が低下する虞がある。その理由は、以下の通りである。
【０００７】
不定となっているいずれかの移送軸についての移送対象物の加速性が極端に悪い場合には、その移送軸についての許容加速度を極端に低い値に設定せざるを得ず、それに伴って、各時点における上記全移送軸方向の速度の合成速度をこの移送軸の低い許容加速度に応じた低い速度に制限せざるを得なくなる。このため、工作機械におけるワークの加工速度が低下する。
【０００８】
また、移送軸パスの滑らか補間を行うと、その移送軸パスについて位置誤差が生じるが、ツールパスが示す位置座標に対して不定となっている各移送軸は、ワーク座標系の特定の座標軸成分を共通して含んでいるため、不定となっている各移送軸の移送軸パスに滑らか補間によって生じた位置誤差は、その特定の座標軸に重なって作用する。その結果、その座標軸における誤差が増大して工作機械におけるワークの加工精度が低下する虞がある。
【０００９】
本発明は、上記の課題を解決するためになされたものであり、その目的は、ツールパスが示す位置座標に対して不定となっている複数の移送軸を有し、その不定となっているいずれかの移送軸についての移送対象物の加速性が極端に悪い工作機械において、全ての移送軸についての移送装置の同時制御を行なえるようにしつつ、高速かつ高い加工精度でのワークの加工を実施できるようにすることである。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明による数値制御装置は、ワーク又はそのワークを加工する工具を移送対象物としてその移送対象物を前記ワークを加工するために複数の移送軸に沿って動かす複数の移送装置を備え、前記複数の移送軸には、前記ワーク上に設定されたワーク座標系における特定の座標軸成分を含み、その特定の座標軸の座標に対して一意的に座標が定まらない不定軸である第１移送軸と第２移送軸とが含まれ、前記複数の移送装置には、前記移送対象物を前記第１移送軸に沿って動かす第１移送装置と、前記移送対象物を前記第２移送軸に沿って動かし、その許容加速度が前記第１移送装置による前記第１移送軸に沿った前記移送対象物の移送の許容加速度よりも低い第２移送装置とが含まれている工作機械に設けられ、前記各移送装置に特定周期毎の指令パルスを出力することにより前記各移送装置の数値制御を行う数値制御装置であって、前記ワークの加工を指示する加工プログラムを記憶する記憶部と、前記記憶部に記憶された前記加工プログラムを読み取り、その読み取った加工プログラムに基づいて、前記ワークの加工時における前記工具の動きをその工具の前記ワーク座標系での位置座標とその工具の移動の軌跡の積算長である媒介変数とによって表す関数を含むツールパスを求めるとともに、前記ワークの加工時に前記第２移送装置が前記移送対象物を動かす基準となる前記第２移送軸上での特定点の動きをその第２移送軸上の位置座標と前記媒介変数の関数によって表した第２移送軸パスを求めるパス導出部と、前記パス導出部によって求められた前記ツールパスをそのツールパスが表す前記工具の動きが滑らかになるように補間するツールパス補間部と、前記パス導出部によって求められた前記第２移送軸パスをその第２移送軸パスが表す前記第２移送軸上での前記特定点の動きが滑らかになるように補間し、その補間後の第２移送軸パスを当該補間後の第２移送軸パスの前記媒介変数による二次微分値が小さくなるように補間する第２移送軸パス補間部と、前記各移送軸に沿って前記移送対象物を動かすときのその移送軸毎の許容加速度を含む加減速条件と、前記ツールパス補間部によって補間された後のツールパスである補間後ツールパスと、前記第２移送軸パス補間部によって補間された後の第２移送軸パスである補間後第２移送軸パスとに基づいて、基準時刻の経過に対する前記媒介変数の変化を表す媒介変数時間関数を求める媒介変数時間関数導出部と、前記媒介変数時間関数導出部によって求められた前記媒介変数時間関数から前記基準時刻の単位時間毎の各時点に対応する前記媒介変数を求めるとともに、その求めた各時点の媒介変数に対応する前記補間後ツールパスの前記ワーク座標系での位置座標及びその各時点の媒介変数に対応する前記補間後第２移送軸パスの前記第２移送軸上での位置座標を求め、その求めた前記第２移送軸上での位置座標を拘束条件とし、前記ワーク座標系における前記工具の位置座標と前記各移送軸上の位置座標との相関関係を示す特定の関係式に基づいて、前記各時点の前記補間後ツールパスの前記ワーク座標系での位置座標に対応する前記各移送軸上の位置座標を求め、求めた前記各時点における前記各移送軸上の位置座標からそれらの移送軸についての前記移送対象物の前記単位時間毎の移送量を求めて、その単位時間毎の移送量を前記特定周期毎の前記指令パルスとするパルス補間部と、前記各移送装置に対して、前記パルス補間部によって求められた前記特定周期毎の前記指令パルスのうちその移送装置に対応する前記移送軸についての前記移送対象物の移送量を示す指令パルスを出力し、その各移送装置に出力した当該指令パルスに応じて前記移送対象物を動かさせる制御部とを備えている。
【００１１】
この数値制御装置では、加工プログラムから求めた第２移送軸パスを補間し、補間後の第２移送軸パスが示す第２移送軸上の位置座標を拘束条件として補間後ツールパスの各時点の位置座標に対応する各移送軸上の位置座標を求めるため、第１移送軸と第２移送軸が不定軸となっていても、ツールパスに対応する第１及び第２移送軸上での前記各時点における位置座標を求めることができ、全ての移送軸について対応する移送装置の同時制御を行うことができる。しかも、この数値制御装置では、工作機械が、第２移送軸についての許容加速度が低い、すなわち、動きの緩慢な第２移送装置を含んでいても、その第２移送装置の緩慢な動きを許容加速度の高い第１移送装置による第１移送軸に沿った移送対象物の移送で補わせることにより、第２移送装置による第２移送軸についての低い許容加速度に支配されることなく、迅速かつ高精度の加工制御を実現できる。具体的には、この数値制御装置では、まず、第１移送軸上での移送対象物の移送の許容加速度よりも許容加速度が低い第２移送軸上での前記特定点の動きに関する第２移送軸パスをその第２移送軸パスの媒介変数による二次微分値が小さくなるように補間して第２移送軸についての移送対象物の速度変化が緩やかになるように当該第２移送軸パスを補間した上で、その補間後の第２移送軸パスが示す第２移送軸上での各時点の位置座標を拘束条件として各移送軸上の位置座標を求めるため、第２移送軸についての移送対象物の動きを緩やかにしてその動きの加速度を低い許容加速度に収めながら、第１移送軸上では、第２移送軸についての移送対象物の動きが緩やかになった分をカバーするような移送対象物の素早い動きを指示することができる。このため、加速性の良い第１移送装置については、第２移送装置の加速性の悪さを補う制御、すなわち、第２移送装置の加速性の悪さをカバーするように第１移送軸上で移送対象物を素早く移送する制御が行われる。このため、第２移送装置の加速性が極端に悪くても、それによって加工速度が制限を受けるのを防ぐことができ、工作機械に高速でのワークの加工を実施させることができる。また、この数値制御装置では、補間後の第２移送軸パスの第２移送軸上での各時点の位置座標を拘束条件として他の移送軸上での各時点の位置座標を求めるため、第２移送軸と同じ座標軸成分を含む第１移送軸上の位置座標として、第２移送軸パスの補間によって生じた位置誤差を吸収した位置座標が求められる。このため、ワークの加工時には、第２移送軸パスの補間によって生じた位置誤差は移送対象物の動きに反映されない。その結果、工作機械に高い加工精度でのワークの加工を実施させることができる。
【００１２】
上記数値制御装置において、前記記憶部は、前記ワークの加工時に前記工具が通るべき指令点の前記ワーク座標系での位置座標の情報と前記工具の移送速度を示す工具移送速度指令と前記指令点に対応する前記第２移送軸上での前記特定点の位置座標の情報とを含む前記加工プログラムを記憶し、前記パス導出部は、前記記憶部に記憶された前記加工プログラムを読み取り、その読み取った加工プログラムに含まれる前記指令点の位置座標の情報と前記工具移送速度指令とに基づいて前記ツールパスを算出するツールパス導出部と、前記記憶部に記憶された前記加工プログラムを読み取り、その読み取った加工プログラムに含まれる前記第２移送軸上での前記特定点の位置座標の情報と前記工具移送速度指令とに基づいて前記第２移送軸パスを算出する第２移送軸パス導出部とを有していてもよい。
【００１３】
この構成では、前記指令点の情報及び工具移送速度指令に加えて第２移送軸上での前記特定点の位置座標の情報を含む加工プログラムを記憶部に記憶させておけば、その加工プログラムに含まれる第２移送軸上での前記特定点の位置座標の情報と工具移送速度指令とから第２移送軸パスが求められるので、加工プログラムを作成する段階で任意に第２移送軸上での移送対象物の動きを指定することができる。このため、加工プログラムを作成する段階で、加速性の悪い第２移送装置による第２移送軸上での移送対象物の動作を任意に指定することができる。
【００１４】
上記数値制御装置において、前記記憶部は、前記ワークの加工時に前記工具が通るべき指令点の前記ワーク座標系での位置座標の情報と前記工具の移送速度を示す工具移送速度指令とを含む前記加工プログラムを記憶し、前記パス導出部は、前記記憶部に記憶された前記加工プログラムを読み取り、その読み取った加工プログラムに含まれる前記指令点の位置座標の情報と前記工具移送速度指令とに基づいて前記ツールパスを算出するツールパス導出部と、そのツールパス導出部によって算出されたツールパスから特定の算出ルールに基づいて前記第２移送軸パスを算出する第２移送軸パス導出部とを有していてもよい。
【００１５】
この構成によれば、前記指令点の位置座標の情報と工具の移送速度指令を含む加工プログラムを記憶部に記憶させておくだけで、その加工プログラムからツールパス導出部がツールパスを算出した後、そのツールパスから第２移送軸パスが自動的に第２移送軸パスを算出するので、加工プログラムにおいて第２移送軸上での前記特定点の位置座標の軌跡を指定しておく必要がなく、加工プログラムを簡略化することができる。
【発明の効果】
【００１６】
以上説明したように、本発明によれば、ツールパスが示す位置座標に対して不定となっている複数の移送軸を有し、その不定となっているいずれかの移送軸についての移送対象物の加速性が極端に悪い工作機械において、全ての移送軸についての移送装置の同時制御を行うことができるとともに、高速かつ高い加工精度でのワークの加工を実施することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態による数値制御装置が適用される工作機械の概略的な斜視図である。
【図２】本発明の一実施形態による数値制御装置の構成を示す機能ブロック図である。
【図３】本発明の一実施形態の数値制御装置による数値制御プロセスを示すフローチャートである。
【図４】図３に示した数値制御プロセスのうちの局部補間の詳細なプロセスを示すフローチャートである。
【図５】図３に示した数値制御プロセスのうちの基準時刻の導出、パルス補間及び移送部へのパルス出力の詳細なプロセスを示すフローチャートである。
【図６】本発明の一実施形態における分配区間幅の算出方法を説明するための図である。
【図７】Ｗ軸パスのうち局部補間の対象となるコーナー部を示す模式図である。
【図８】Ｗ軸パスのうち局部補間の対象となる異常データ部を示す模式図である。
【図９】補間ブロックの区間幅が補間区間幅よりも大きい場合を示す図である。
【図１０】補間ブロックの区間幅が補間区間幅よりも小さい場合を示す図である。
【図１１】補間ブロックの区間幅が補間区間幅よりも小さい場合を示す図である。
【図１２】媒介変数時間関数を導出するための階段状速度曲線と加減速曲線を示す図である。
【図１３】目標点に達する前に速度が速度上限値に達する場合の速度曲線の一例を示す図である。
【図１４】目標点に達する前に速度が速度上限値に達する場合の速度曲線の別の例を示す図である。
【図１５】許容ジャークに従って加速度を低下させている途中で目標点に達するとともに速度が速度上限値に達する場合の速度曲線の一例を示す図である。
【図１６】許容ジャークに従って加速度を低下させている途中で目標点に達するとともに速度が速度上限値に達する場合の速度曲線の別の例を示す図である。
【図１７】許容ジャークに従って加速度を低下させている途中で目標点に達するとともに速度が速度上限値に達する場合の速度曲線のさらに別の例を示す図である。
【図１８】目標点に対応する媒介変数に達しても速度が速度上限値まで上昇しない場合の速度曲線の一例を示す図である。
【図１９】目標点に達するまでに速度が速度上限値を超えてしまう場合の速度曲線の一例を示す図である。
【図２０】本発明の一実施形態の変形例による数値制御装置が適用される工作機械の概略的な斜視図である。
【図２１】本発明の一実施形態の変形例による数値制御装置の構成を示す機能ブロック図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態を図面を参照して説明する。
【００１９】
まず、図１及び図２を参照して、本発明の一実施形態による数値制御装置２が適用される工作機械の構成について説明する。
【００２０】
この工作機械は、門型の工作機械であり、テーブル１０２ｂ上にセットされた被加工物としてのワーク１００上で工具１０６をワーク座標系で表されたツールパスに沿って移動させながらその工具１０６によってワーク１００の切削加工を行うものである。なお、前記ワーク座標系は、テーブル１０２ｂ上にセットされたワーク１００上に設定されるものであり、水平面内におけるテーブル１０２ｂの移送方向に平行なｘ軸と、水平面内においてｘ軸に直交するｙ軸と、それらｘ軸及びｙ軸の両方に直交し、鉛直方向に延びるｚ軸とからなる。
【００２１】
この工作機械は、図１に示すように、ワーク移送装置１０２と、２本のコラム１０４と、工具１０６と、主軸ヘッド１０８と、揺動装置１１０と、回動装置１１２と、第１鉛直移送装置１１４と、水平移送装置１１６と、第２鉛直移送装置１１８と、制御ボックス１２０とを備えている。なお、ワーク移送装置１０２、揺動装置１１０、回動装置１１２、第１鉛直移送装置１１４、水平移送装置１１６及び第２鉛直移送装置１１８は、ワーク１００又は工具１０６を移送対象物としてその移送対象物をワーク１００を加工するために複数の移送軸に沿って動かすものであり、それぞれ、本発明の移送装置の概念に含まれるものである。
【００２２】
ワーク移送装置１０２は、ワーク１００を水平面内において特定方向に延びるＸ軸に沿って移送するものである。なお、Ｘ軸は、本発明の移送軸の概念に含まれるものである。このワーク移送装置１０２は、ベッド１０２ａと、テーブル１０２ｂと、テーブル移送部１０２ｃ（図２参照）とを有する。ベッド１０２ａは、所定の設置場所に設置されており、テーブル１０２ｂは、Ｘ軸に沿って移動可能となるようにベッド１０２ａ上に搭載されている。テーブル１０２ｂは、その上にセットされたワーク１００を下から支持する。テーブル移送部１０２ｃは、ベッド１０２ａに設けられており、テーブル１０２ｂをＸ軸に沿って移送することにより、そのテーブル１０２ｂ上にセットされたワーク１００をＸ軸に沿って移送する。このテーブル移送部１０２ｃは、駆動源として図略のサーボモータを有しており、そのモータの動力によりテーブル１０２ｂを移送する。
【００２３】
２つのコラム１０４は、テーブル１０２ｂの移動方向（Ｘ軸方向）に直交するワーク移送装置１０２の幅方向においてそのワーク移送装置１０２の両側に分かれて立設されている。各コラム１０４は、鉛直方向（後述するＷ軸方向）に延びている。
【００２４】
工具１０６は、ワーク１００を切削加工するためのものであり、主軸ヘッド１０８によって保持される。主軸ヘッド１０８は、保持した工具１０６をその軸回りに回転させる。この主軸ヘッド１０８によって回転させられた工具１０６がワーク１００に当接することによってワーク１００の加工が行われる。
【００２５】
揺動装置１１０は、水平軸回りのＡ軸に沿って工具１０６を揺動させるためのものである。なお、Ａ軸は、本発明の移送軸の概念に含まれるものである。この揺動装置１１０は、揺動支持体１１０ａと、揺動支持体移送部１１０ｂ（図２参照）とを有する。揺動支持体１１０ａは、水平軸回りに揺動可能となるように回動装置１１２に支持されている。また、揺動支持体１１０ａは、主軸ヘッド１０８による工具の回転軸が当該揺動支持体１１０ａの揺動中心である水平軸に対して直交するようにその主軸ヘッド１０８を支持している。揺動支持体移送部１１０ｂは、揺動支持体１１０ａをＡ軸に沿って揺動させることにより、当該揺動支持体１１０ａとともにその揺動支持体１１０ａが支持する主軸ヘッド１０８及び工具１０６をＡ軸に沿って揺動させる。揺動支持体移送部１１０ｂは、駆動源として図略のサーボモータを有しており、そのモータの動力により揺動支持体１１０ａを揺動させる。
【００２６】
回動装置１１２は、鉛直軸回りのＣ軸に沿って工具１０６を回動させるためのものである。なお、Ｃ軸は、本発明の移送軸の概念に含まれるものである。この回動装置１１２は、回動支持体１１２ａと、回動支持体移送部１１２ｂ（図２参照）とを有する。回動支持体１１２ａは、鉛直軸回りに回転可能となるように第１鉛直移送装置１１４に支持されている。また、回動支持体１１２ａは、その下部において揺動装置１１０を支持している。回動支持体移送部１１２ｂは、回動支持体１１２ａをＣ軸に沿って回動させることにより、当該回動支持体１１２ａとともにその回動支持体１１２ａが支持する揺動装置１１０、主軸ヘッド１０８及び工具１０６をＣ軸に沿って回動させる。回動支持体移送部１１２ｂは、駆動源として図略のサーボモータを有しており、そのモータの動力により回動支持体１１２ａを回動させる。
【００２７】
第１鉛直移送装置１１４は、Ｘ軸に直交し、鉛直方向に延びるＺ軸に沿って工具１０６を移送するためのものである。なお、第１鉛直移送装置１１４は、本発明の第１移送装置の概念に含まれるものであり、Ｚ軸は、本発明の第１移送軸の概念に含まれるものである。この第１鉛直移送装置１１４は、ラム１１４ａ（第１鉛直支持体）と、ラム移送部１１４ｂ（図２参照）とを有する。ラム１１４ａは、テーブル１０２ｂの上方に配置され、Ｚ軸に沿って鉛直方向（上下方向）に移動可能となるように水平移送装置１１６に支持されている。また、ラム１１４ａは、その下部によりテーブル１０２ｂよりも上方で且つ後述のクロスレール１１８ａよりも下方の位置において回動装置１１２を支持している。ラム移送部１１４ｂは、ラム１１４ａをＺ軸に沿って移送することにより、当該ラム１１４ａとともにそのラム１１４ａが支持する回動装置１１２、揺動装置１１０、主軸ヘッド１０８及び工具１０６をＺ軸に沿って移送する。ラム移送部１１４ｂは、駆動源として図略のサーボモータを有しており、そのモータの動力によりラム１１４ａを移送する。
【００２８】
水平移送装置１１６は、Ｘ軸とＺ軸の両方に直交するＹ軸に沿って工具１０６を移送するためのものである。なお、Ｙ軸は、本発明の移送軸の概念に含まれるものである。この水平移送装置１１６は、サドル１１６ａ（水平支持体）と、サドル移送部１１６ｂ（図２参照）とを有する。サドル１１６ａは、テーブル１０２ｂの上方でＹ軸に沿って移動可能となるように第２鉛直移送装置１１８に支持されている。すなわち、サドル１１６ａは、テーブル１０２ｂの上方においてテーブル１０２ｂを幅方向に横切るように移動可能となっている。また、サドル１１６ａは、その下部により第１鉛直移送装置１１４を支持している。サドル移送部１１６ｂは、サドル１１６ａをＹ軸に沿って移送することにより、当該サドル１１６ａとともにそのサドル１１６ａが支持する第１鉛直移送装置１１４、回動装置１１２、揺動装置１１０、主軸ヘッド１０８及び工具１０６をＹ軸に沿って移送する。サドル移送部１１６ｂは、駆動源として図略のサーボモータを有しており、そのモータの動力によりサドル１１６ａを移送する。
【００２９】
第２鉛直移送装置１１８は、Ｚ軸と平行なＷ軸に沿って鉛直方向に工具１０６を移送するためのものである。なお、第２鉛直移送装置１１８は、本発明の第２移送装置の概念に含まれるものであり、Ｗ軸は、本発明の第２移送軸の概念に含まれるものである。また、Ｗ軸及び前記Ｚ軸は、共にワーク座標系のｚ軸と平行な移送軸であり、それらＷ軸及びＺ軸の位置座標は、共通の座標軸成分であるｚ軸座標成分を含む。このため、Ｗ軸及びＺ軸は、ワーク座標系のｚ軸の座標に対して一意的に座標が定まらない不定軸となっている。
【００３０】
第２鉛直移送装置１１８は、クロスレール１１８ａ（第２鉛直支持体）と、クロスレール移送部１１８ｂ（図２参照）とを有する。クロスレール１１８ａは、テーブル１０２ｂの上方に配置され、テーブル１０２ｂの幅方向（Ｙ軸方向）に延びる姿勢をとるように前記２本のコラム１０４に掛け渡されている。このクロスレール１１８ａは、コラム１０４の前面で支持されている。また、クロスレール１１８ａは、Ｗ軸に沿って鉛直方向（上下方向）に移動可能となるようにコラム１０４によって支持されている。また、クロスレール１１８ａは、水平移送装置１１６を支持している。
【００３１】
クロスレール移送部１１８ｂは、クロスレール１１８ａをＷ軸に沿って移送することにより、当該クロスレール１１８ａとともにそのクロスレール１１８ａが支持する水平移送装置１１６、第１鉛直移送装置１１４、回動装置１１２、揺動装置１１０、主軸ヘッド１０８及び工具１０６をＷ軸に沿って移送する。具体的には、クロスレール移送部１１８ｂは、クロスレール１１８ａに設けられた図略のサーボモータと、各コラム１０４にそれぞれ沿うように付設された図略のボールねじと、それら２本のボールねじが同期して回転するように前記サーボモータの動力を各ボールねじに伝達する図略の伝達機構とを有している。各ボールねじは、クロスレール１１８ａの長手方向（Ｙ軸方向）の対応する端部と螺合しており、そのボールねじの軸回りの回転に応じてクロスレール１１８ａがＷ軸方向に移送される。
【００３２】
また、第２鉛直移送装置１１８は、全ての移送装置の中で最も加速性の悪い移送装置であり、その加速性は、他の移送装置１０２，１１０，１１２，１１４，１１６の加速性に比べて極端に悪い。すなわち、この第２鉛直移送装置１１８について設定されるＷ軸についての工具１０６（クロスレール１１８ａ）の移送の許容加速度は、他の移送装置１０２，１１０，１１２，１１４，１１６について設定される対応する移送軸についての移送対象物の移送の許容加速度に比べて極端に低い値となる。この第２鉛直移送装置１１８による工具１０６の移送の加速性の悪さは、当該第２鉛直移送装置１１８においてクロスレール移送部１１８ｂが移送するクロスレール１１８ａとその上に搭載された水平移送装置１１６、第１鉛直移送装置１１４、回動装置１１２、揺動装置１１０、主軸ヘッド１０８及び工具１０６との合計重量が非常に大きいことに起因している。
【００３３】
制御ボックス１２０は、ワーク移送装置１０２、揺動装置１１０、回動装置１１２、第１鉛直移送装置１１４、水平移送装置１１６及び第２鉛直移送装置１１８の動作制御や、主軸ヘッド１０８の動作制御、その他、工作機械の各部の制御を行うための機能を有する。この制御ボックス１２０内に本実施形態による数値制御装置２が組み込まれている。
【００３４】
次に、本実施形態による数値制御装置２の構成について説明する。
【００３５】
本実施形態による数値制御装置２は、前記各移送装置１０２，１１０，１１２，１１４，１１６，１１８の移送部１０２ｃ，１１０ｂ，１１２ｂ，１１４ｂ，１１６ｂ，１１８ｂに特定周期毎の指令パルスを出力することにより各移送装置１０２，１１０，１１２，１１４，１１６，１１８の数値制御を行う。この数値制御装置２は、図２に示すように、記憶部４と、メモリ５と、演算処理部６とを有する。
【００３６】
なお、本実施形態では、工具１０６の動きを、工具１０６の先端の軌跡と工具１０６の姿勢変化の軌跡とからなるツールパスと、ツールパス上の各位置に対応するＷ軸の位置座標の軌跡であるＷ軸パスとで指令することによって、工具１０６の動きとそれに対応する各移送軸上の位置座標の動きを確定させる。このように、工具１０６の動きをツールパスと併せてＷ軸パスで指令することによって、互いに平行な移送軸であるＺ軸とＷ軸の移送軸座標が無数に存在するという不定問題を解消することが可能である。
【００３７】
記憶部４は、ワーク１００の加工を指示する加工指令である加工プログラム（ＮＣプログラム）を記憶するものである。この加工プログラムには、ワーク１００の加工時に工具１０６の先端が通るべきワーク座標系（ｘｙｚ軸座標系）での位置座標及びそのワーク座標系において工具１０６の姿勢（傾き）を規定する工具軸ベクトルからなる多数の指令点の情報と、その各指令点に対応するＷ軸上の特定点の座標の情報と、工具１０６の移送速度を示す工具移送速度指令とが含まれている。なお、Ｗ軸上の特定点は、ワーク１００の加工時に第２鉛直移送装置１１８がクロスレール１１８ａを動かして工具１０６をＷ軸に沿って動かす基準となる点である。このＷ軸上の各特定点の座標は、加工プログラムの作成時にその作成者が任意に指定するものである。
【００３８】
また、記憶部４は、ワーク１００の加工時の加減速条件やその他の設定値を記憶する。加減速条件には、例えば、前記各移送軸毎に設定される移送対象物の許容速度、許容加速度及び許容ジャーク、工具１０６の姿勢変化を含む移動量の積算値である媒介変数の速度の上限値や、媒介変数の加速度の上限値、媒介変数のジャークの上限値などが含まれる。なお、媒介変数は、工具１０６の先端点の移動量に工具１０６の姿勢（傾き）の変化量を加味した値の積算値であり、具体的には、本実施形態では、工具１０６の先端点の移動量とその先端点から工具１０６の軸心に沿って当該工具１０６の基端側へ一定距離だけ離れた点の移動量との平均値からなる。また、前記その他の設定値には、Ｗ軸パスの二次微分上限値などが含まれる。また、記憶部４は、ツールパス（工具１０６の先端点のワーク座標系における各座標軸上の座標の軌跡及び工具１０６の姿勢を表すＡ軸上及びＣ軸上の座標の軌跡）とＷ軸パスのＷ軸上の座標の軌跡のそれぞれについて設定する二次微分値不連続箇所用の分配区間幅テーブルと二次微分上限値超過箇所用の分配区間幅テーブルとを記憶している。二次微分値不連続箇所用の分配区間幅テーブルは、各移送軸パスのうち媒介変数による一次微分値が連続で、二次微分値が不連続になっている箇所の一次微分値を分配する分配区間幅が、その箇所の二次微分値の差の複数の値毎に登録されたものである。また、二次微分上限値超過箇所用の分配区間幅テーブルは、各移送軸パスのうち媒介変数による二次微分値が二次微分値上限値を超えた箇所の一次微分値を分配する分配区間幅が、その箇所の二次微分値の複数の値毎に登録されたものである。
【００３９】
メモリ５は、各種情報を一次的に記憶するものであり、例えば、後述する補間後積算関数やその他の情報を記憶する。
【００４０】
演算処理部６は、各種演算処理を行うものであり、機能ブロックとして、パス導出部１２と、パス補間部１４と、媒介変数時間関数導出部１８と、パルス補間部２２と、制御部２４とを有する。
【００４１】
パス導出部１２は、記憶部４に記憶された加工プログラムを読み取り、その読み取った加工プログラムからツールパス及びＷ軸パスを求める。ツールパスは、ワークの加工時における工具１０６の動きを工具１０６のワーク座標系での位置座標と前記媒介変数とによって表す関数を含み、具体的には、ツールパスは、ワーク１００の加工時における工具１０６の先端点の動きをその先端点のワーク座標系での位置座標と前記媒介変数とによって表す関数（ｘ軸パス、ｙ軸パス及びｚ軸パス）及びワーク１００の加工時における工具１０６の姿勢変化をＡ軸上の位置座標及びＣ軸上の位置座標と前記媒介変数とによって表す関数（Ａ軸パス及びＣ軸パス）からなる。また、Ｗ軸パスは、ツールパス上の各位置に対応するＷ軸上の特定点の動きをその特定点のＷ軸上の位置座標と前記媒介変数の関数によって表したものである。なお、Ｗ軸パスは、本発明の第２移送軸パスの概念に含まれるものである。
【００４２】
パス導出部１２は、機能ブロックとしてツールパス導出部３２と移送軸パス導出部３４とを有している。なお、移送軸パス導出部３４は、本発明の第２移送軸パス導出部の概念に含まれるものである。ツールパス導出部３２は、記憶部４から読み取った加工プログラムに含まれる工具１０６の先端の位置座標及び工具軸ベクトルからなる指令点の情報と工具移送速度指令に基づいてツールパスを求める。また、移送軸パス導出部３４は、記憶部４から読み取った加工プログラムに含まれるＷ軸上の特定点の座標の情報と工具移送速度指令に基づいてＷ軸パスを求める。
【００４３】
パス補間部１４は、パス導出部１２によって導出されたツールパス及びＷ軸パスをそれぞれ補間する。このパス補間部１４は、機能ブロックとして、ツールパスを補間するツールパス補間部１５と、Ｗ軸パスを補間する移送軸パス補間部１６とを有する。
【００４４】
ツールパス補間部１５は、ツールパス導出部３２によって導出されたツールパスをそのツールパスが表す工具１０６の動きが滑らかになるように補間する滑らか補間を行い、ツールパスに媒介変数による二次微分値が不連続になっている箇所がある場合には、その箇所の二次微分値が連続になるように補間する局部補間を行う。このツールパス補間部１５は、機能ブロックとしてツールパス滑らか補間部１５ａとツールパス局部フィルタ１５ｂとを有する。
【００４５】
ツールパス滑らか補間部１５ａは、ツールパス導出部３２によって導出されたツールパスを構成する、工具１０６の先端点のワーク座標系における各座標軸パス（ｘ軸パス、ｙ軸パス及びｚ軸パス）、前記Ａ軸パス及び前記Ｃ軸パスのそれぞれについて前記滑らか補間を行うものである。具体的には、このツールパス滑らか補間部１５ａは、ツールパス導出部３２によって導出されたツールパスのうち解析的に可能な範囲で指令点を通る滑らかな曲線となるように補間できる部分について、その補間を行う。このツールパス滑らか補間部１５ａが行う補間は、いわゆるブロック滑らか補間であり、ツールパスのうちの隣り合う指令点間の区間を指令ブロックとしてその指令ブロックと隣接する指令ブロックとがそれらの境界の指令点において滑らかに繋がるように補間するものである。詳しくは、ツールパス滑らか補間部１５ａは、ツールパス導出部３２によって導出されたツールパスを、隣接する指令ブロックの境界の指令点の前後において媒介変数による一次微分値と二次微分値がそれぞれ連続し、かつ、その指令点を通るようなツールパスとなるように補間する。ただし、ツールパスには、媒介変数の変化に対するツールパスの軌跡の変化が急激で、このようなブロック滑らか補間によってはその軌跡の指令点を通る滑らかな曲線となるように補間できない箇所が含まれている場合がある。このような箇所としては、微小単位で増減を繰り返す異常データ部や、加工プログラムにおいて意図して指示されているコーナー部がある。また、ツールパスには、二次微分が不連続であっても、直線と円弧の接点部や、円と円の接点部などのように、当該ツールパス滑らか補間部１５ａでは補間せずにそのまま放置する箇所もある。ツールパス滑らか補間部１５ａは、ツールパスのうち以上のような箇所については補間せずに元のツールパスのまま残し、上記のように指令点を通り、その指令点の前後で媒介変数による一次微分値と二次微分値とがそれぞれ連続するような曲線に補間できる部分を滑らか補間する。
【００４６】
ツールパス局部フィルタ１５ｂは、ツールパス（ｘ軸パス、ｙ軸パス、ｚ軸パス、Ａ軸パス及びＣ軸パス）のうちツールパス滑らか補間部１５ａによって補間されなかった箇所で、且つ、その箇所が示す速度（媒介変数による一次微分値）が０にならない箇所を対象として前記局部補間を行うものである。具体的には、このツールパス局部フィルタ１５ｂは、ツールパスのうち媒介変数による一次微分値または二次微分値が不連続になっている指令点を補間対象点とする。そして、ツールパス局部フィルタ１５ｂは、ツールパスのうち補間対象点の前後に特定の区間幅ずつ加えた区間である補間区間を当該補間対象点で二次微分値が連続となるように局部補間する。
【００４７】
また、ツールパス局部フィルタ１５ｂは、ツールパス局部補間部１５ｃ及びツールパス誤差補正部１５ｄを機能ブロックとして有している。
【００４８】
ツールパス局部補間部１５ｃは、ツールパスの補間区間を前後に拡大した調整区間にかかる複数の補間ブロックのそれぞれについて補間処理を行うことにより各補間ブロックの補間後関数を求めるとともに、それらの補間後関数を積算して補間後積算関数を求め、その求めた補間後積算関数から補間区間に相当する区間を抜き出すことによって、補間区間内の補間対象点において不連続となっている微分の変化が連続的な変化となるように補間したツールパスの誤差付き補間パスを求める。また、ツールパス誤差補正部１５ｄは、ツールパス局部補間部１５ｃによって求められたツールパスの誤差付き補間パスの補間区間の始点に対応する値が局部補間していないツールパスの補間区間の始点の値と一致し、かつ、そのツールパス誤差付き補間パスの補間区間の終点に対応する値が局部補間していないツールパスの補間区間の終点の値に一致するように当該誤差付き補間パスを補正し、その補正後の補間パスをツールパスの補間区間と置換する。
【００４９】
移送軸パス補間部１６は、移送軸パス導出部３４によって導出されたＷ軸パスをそのパスが表すＷ軸上の特定点の座標の動きが滑らかになるように補間する滑らか補間と、その滑らか補間後のＷ軸パスを当該Ｗ軸パスの媒介変数による二次微分値が小さくなるように補間し、その滑らか補間後のＷ軸パスに媒介変数による二次微分値が不連続になっている箇所がある場合には、その箇所の二次微分値が連続になるように補間する局部補間とを行う。この移送軸パス補間部１６は、本発明の第２移送軸パス補間部の概念に含まれるものである。移送軸パス補間部１６は、機能ブロックとして移送軸パス滑らか補間部１６ａと移送軸パス局部フィルタ１６ｂとを有する。
【００５０】
移送軸パス滑らか補間部１６ａは、移送軸パス導出部３４によって導出されたＷ軸パスについて滑らか補間を行うものである。この移送軸パス滑らか補間部１６ａは、前記ツールパス滑らか補間部１５ａがツールパスについて行う滑らか補間と同様のブロック滑らか補間をＷ軸パスについて行う。
【００５１】
移送軸パス局部フィルタ１６ｂは、移送軸パス導出部３４によって導出されたＷ軸パスのうち移送軸パス滑らか補間部１６ａによって補間されなかった箇所と、そのＷ軸パスのうち媒介変数による二次微分値がＷ軸について設定された二次微分上限値を上回っている箇所とを対象として局部補間を行う。具体的には、この移送軸パス局部フィルタ１６ｂは、Ｗ軸パスのうち媒介変数による二次微分値が不連続になっている指令点と、媒介変数による二次微分値が前記二次微分上限値を上回っている指令点とを補間対象点とする。そして、移送軸パス局部フィルタ１６ｂは、Ｗ軸パスのうち補間対象点の前後に特定の区間幅ずつ加えた区間である補間区間において、その補間区間内の補間対象点で媒介変数による二次微分値が前記二次微分上限値を上回っている場合にはその二次微分値が前記二次微分上限値以下となるように当該補間区間を局部補間し、その補間区間内の補間対象点で媒介変数による二次微分値が不連続になっている場合にはその補間対象点で媒介変数による二次微分値が連続となるように当該補間区間を局部補間する。なお、二次微分値が不連続になっている補間対象点についての補間区間は、前記二次微分値不連続箇所用の分配区間幅テーブルに基づいて設定される区間幅を補間対象点の前後に加えて得られる区間であり、二次微分値が二次微分上限値を上回っている補間対象点についての補間区間は、前記二次微分上限値超過箇所用の分配区間幅テーブルに基づいて設定される区間幅を補間対象点の前後に加えて得られる区間である。
【００５２】
媒介変数による二次微分値が不連続になっている箇所の一例としては、例えばＷ軸パスについて示されている図８中のコーナー部や図９中の異常データ部が挙げられる。コーナー部の頂点に位置する指令点（図８のｔ［３］）や異常データ部の各頂点に位置する各指令点（図９のｔ［２］〜ｔ［６］）では、媒介変数による一次微分値及び二次微分値が不連続になっており、これらの指令点は補間対象点となる。また、移送軸パス局部フィルタ１６ｂは、Ｗ軸パスに補間対象点が複数存在し、隣り合う補間対象点の補間区間同士が重複している場合には、それら重複している補間区間のうち最もＷ軸パスの始点寄りに位置する補間区間の始点から最もＷ軸パスの終点寄りに位置する補間区間の終点までを１つの補間区間として、その補間区間内のＷ軸パスを局部補間する。また、移送軸パス局部フィルタ１６ｂは、局部補間後のＷ軸パスが各補間区間（隣り合う補間区間同士が重複している場合はそれらを結合した補間区間）の始点の前後及び終点の前後でそれぞれ連続して繋がるようにその補間区間を局部補間する。
【００５３】
移送軸パス局部フィルタ１６ｂの具体的な構成として、当該移送軸パス局部フィルタ１６ｂは、移送軸パス局部補間部１６ｃ及び移送軸パス誤差補正部１６ｄを機能ブロックとして有している。
【００５４】
移送軸パス局部補間部１６ｃは、Ｗ軸パスの補間区間を前後に拡大した調整区間にかかる複数の補間ブロックのそれぞれについて補間処理を行うことによって各補間ブロックの補間後関数を求めるとともに、それらの補間後関数を積算して補間後積算関数を求め、その求めた補間後積算関数から補間区間に相当する区間を抜き出すことによって、補間区間内の補間対象点において媒介変数による二次微分値が不連続になっていた場合にはその二次微分値が連続となり、補間区間内の補間対象点において媒介変数による二次微分値が前記上限値を超えていた場合にはその二次微分値が前記二次微分上限値以下となるように補間したＷ軸パスの誤差付き補間パスを求める。また、移送軸パス誤差補正部１６ｄは、移送軸パス局部補間部１６ｃによって求められた誤差付き補間パスの補間区間の始点に対応する値が局部補間していないＷ軸パスの補間区間の始点の値と一致し、かつ、その誤差付き補間パスの補間区間の終点に対応する値が局部補間していないＷ軸パスの補間区間の終点の値に一致するように誤差付き補間パスを補正し、その補正後の補間パスをＷ軸パスの補間区間と置換する。この移送軸パス局部フィルタ１６ｂの移送軸パス局部補間部１６ｃと移送軸パス誤差補正部１６ｄとによる局部補間の詳細なプロセスについては、後述する。
【００５５】
媒介変数時間関数導出部１８は、各移送軸に沿って移送対象物を動かすときのその移送軸毎の許容加速度を含む加減速条件と、ツールパス補間部１５によって補間された後のツールパスである補間後ツールパスと、移送軸パス補間部１６によって補間された後のＷ軸パスである補間後Ｗ軸パスとに基づいて、移送対象物の各移送軸毎の加速度が加減速条件に含まれたその移送軸についての許容加速度を超えないという条件を満たすように、特定の基準時刻の経過に対する媒介変数の変化を表す媒介変数時間関数（媒介変数の速度曲線）を求める。具体的には、媒介変数時間関数導出部１８は、前記加減速条件に含まれる許容加速度の範囲内で前記補間後ツールパス及び前記補間後Ｗ軸パスに従って移送対象物を移動させ得る最大の加速度を示すような媒介変数時間関数を導出する。なお、補間後Ｗ軸パスは、本発明の補間後第２移送軸パスの概念に含まれるものである。
【００５６】
パルス補間部２２は、媒介変数時間関数導出部１８によって求められた媒介変数時間関数と、前記補間後ツールパスと、前記補間後Ｗ軸パスとに基づいて、前記特定周期毎の指令パルスを求めるものである。このパルス補間部２２は、基準時刻の単位時間毎の各時点に対応する媒介変数の導出、その導出した各時点の媒介変数に応じた補間後ツールパスの各座標軸（ｘ軸、ｙ軸、ｚ軸、Ａ軸及びＣ軸）上の位置座標及び補間後Ｗ軸パスのＷ軸上の位置座標の導出、導出した各時点における補間後ツールパスの各座標軸上の位置座標及び補間後Ｗ軸パスのＷ軸上の位置座標に基づく各移送軸（Ｘ軸、Ｙ軸、Ｚ軸、Ｗ軸、Ａ軸及びＣ軸）上の前記各時点での位置座標の導出、及び、実時刻の単位時間当たりの各移送軸の位置座標の変化量（各移送軸についての移送対象物の単位時間毎の移送量）を示す指令パルスの導出を行う。なお、実時刻とは、前記特定周期に等しい単位時間毎に進行する時刻のことである。
【００５７】
具体的には、パルス補間部２２は、媒介変数時間関数導出部１８によって導出された媒介変数時間関数から基準時刻の基準単位時間毎の各時点に対応する媒介変数を求める。また、パルス補間部２２は、その求めた各時点での媒介変数に対応する前記補間後ツールパスの各座標軸上の位置座標と、その各時点の媒介変数に対応する前記補間後Ｗ軸パスのＷ軸上での位置座標とを求める。また、パルス補間部２２は、求めた各時点のＷ軸上での位置座標を拘束条件とし、ワーク座標系における工具１０６の姿勢を含む位置座標（ｘ軸、ｙ軸、ｚ軸、Ａ軸及びＣ軸の各座標）と各移送軸上の位置座標との相関関係を示す関係式に基づいて、前記各時点での媒介変数に対応する補間後ツールパスの各座標軸上の位置座標に対応した各移送軸上の位置座標を求める。また、パルス補間部２２は、求めた各時点における各移送軸上の位置座標からそれらの移送軸上での位置座標の基準単位時間当たりの変化量を求め、その変化量を対応する移送軸についての移送対象物の基準単位時間毎の移送量とする。そして、パルス補間部２２は、このように求めた各移送軸についての移送対象物の基準単位時間毎の移送量を実時刻の単位時間毎（前記特定周期毎）の指令パルスとする。
【００５８】
制御部２４は、各移送装置１０２，１１０，１１２，１１４，１１６，１１８の移送部１０２ｃ，１１０ｂ，１１２ｂ，１１４ｂ，１１６ｂ，１１８ｂの動作を制御するものである。制御部２４は、各移送部１０２ｃ，１１０ｂ，１１２ｂ，１１４ｂ，１１６ｂ，１１８ｂのサーボモータに対して、パルス補間部２２によって求められた特定周期毎の指令パルスのうちその移送部に対応する移送軸についての移送量を示す指令パルスを出力し、それによって、各移送装置１０２，１１０，１１２，１１４，１１６，１１８に出力した指令パルスに応じて移送対象物を動かさせる。これにより、テーブル移送部１０２ｃはテーブル１０２ｂを、揺動支持体移送部１１０ｂは揺動支持体１１０ａを、回動支持体移送部１１２ｂは回動支持体１１２ａを、ラム移送部１１４ｂはラム１１４ａを、サドル移送部１１６ｂはサドル１１６ａを、クロスレール移送部１１８ｂはクロスレール１１８ａを、それぞれ対応する移送軸に沿って制御部２４からの指令パルスが示す移送量ずつ前記特定周期毎に移送する。
【００５９】
次に、図３〜図５のフローチャートを参照して、ワーク１００の加工時における本実施形態の数値制御装置２による数値制御プロセスについて説明する。
【００６０】
まず、パス導出部１２が記憶部４に記憶された加工プログラム（ＮＣプログラム）を読み取り（図３のステップＳ１）、その読み取った加工プログラムからパス導出部１２がツールパスとＷ軸パスを導出する（ステップＳ２）。このとき、パス導出部１２のツールパス導出部３２が、記憶部４から読み取った加工プログラムに含まれる工具１０６の先端点の位置座標及び工具軸ベクトルからなる多数の指令点の情報と工具移送速度指令とに基づいてツールパス（工具１０６の先端点の軌跡を表すｘ軸パス、ｙ軸パス及びｚ軸パスと、工具１０６の姿勢変化を表すＡ軸パス及びＣ軸パス）を導出し、パス導出部１２の移送軸パス導出部３４が、記憶部４から読み取った加工プログラムに含まれるＷ軸上の特定点の座標の情報と工具移送速度指令とに基づいてＷ軸パスを導出する。なお、本実施形態の数値制御プロセスでは、工作機械に工具１０６の姿勢を変化させずにワーク１００の加工を行わせるものとする。このため、記憶部４には、ワーク座標系（ｘ，ｙ，ｚ）における工具軸ベクトルとして一定値（０，０，１）を記憶させておく。その結果、ツールパス導出部３２は、ツールパスを構成するＡ軸パス及びＣ軸パスとして共に一定値０を導出する。従って、本実施形態の以下のプロセスでは、特に記載していない場合には、ツールパスに関する処理についてはｘ軸、ｙ軸及びｚ軸についてのみ実施し、各移送軸パス及び各移送軸に関する処理についてはＸ軸、Ｙ軸、Ｚ軸及びＷ軸についてのみ実施し、Ａ軸及びＣ軸については処理を行わない。
【００６１】
次に、ツールパス滑らか補間部１５ａがツールパス導出部３２によって導出されたツールパスについてブロック滑らか補間を行うとともに、移送軸パス滑らか補間部１６ａが移送軸パス導出部３４によって導出されたＷ軸パスについてブロック滑らか補間を行う（ステップＳ３）。
【００６２】
具体的には、ツールパス滑らか補間部１５ａは、ツールパス（工具１０６の先端点のｘ軸パス、ｙ軸パス及びｚ軸パス）のうち隣接する指令ブロック同士の境界に位置する指令点の前後において一次微分と二次微分がそれぞれ連続し、かつ、その指令点を補間後のツールパスが通るようにツールパスを補間する。この際、ツールパス滑らか補間部１５ａは、ツールパスのうちこのような補間が解析的に可能な部分についてのみブロック滑らか補間を行い、このような補間が解析的に不可能な部分については補間せずに元のツールパスのまま残す。詳しくは、ツールパス滑らか補間部１５ａは、指令点におけるツールパスの折れ曲がりの角度が予め設定された一定角度よりも大きい部分、及び、補間前のツールパスに対してブロック滑らか補間を行った後のツールパスに生じた誤差が予め設定された許容誤差よりも大きくなる部分については、補間せずに元のツールパスのまま残す。また、移送軸パス滑らか補間部１６ａは、ツールパス滑らか補間部１５ａがツールパスについて行ったのと同様のブロック滑らか補間をＷ軸パスについて行う。
【００６３】
次に、ツールパス局部フィルタ１５ｂがブロック滑らか補間後のツールパスについて局部補間を行うとともに、移送軸パス局部フィルタ１６ｂがブロック滑らか補間後のＷ軸パスについて局部補間を行う（ステップＳ４）。このツールパス局部フィルタ１５ｂによる局部補間と移送軸パス局部フィルタ１６ｂによる局部補間は、対象が異なる以外は同様に行われるので、以下、移送軸パス局部フィルタ１６ｂによるＷ軸パスの局部補間のプロセスについて代表して説明する。
【００６４】
移送軸パス局部フィルタ１６ｂは、滑らか補間後のＷ軸パスのうち媒介変数による二次微分値が予め設定された前記二次微分値上限値を上回る箇所と、媒介変数による二次微分値が不連続になっている箇所（一次微分値と二次微分値の両方が不連続になっている箇所及び一次微分値が連続で二次微分値が不連続になっている箇所）とを補間対象箇所とし、滑らか補間後のＷ軸パスのうちその補間対象箇所を前後に特定の区間幅ずつ拡大した補間区間のみを局部補間する。これにより、滑らか補間後のＷ軸パスにおいて媒介変数による二次微分値が二次微分値上限値を上回る箇所があった場合には、その箇所の二次微分値が当該二次微分値上限値以下になるように当該箇所が補間される。また、Ｗ軸パスにおいて前記ブロック滑らか補間が行われず、媒介変数による二次微分値が不連続となっている箇所がある場合には、その箇所の二次微分値が連続となるように補間される。この移送軸パス局部フィルタ１６ｂによって行われる局部補間の詳細なプロセスが図４に示されている。
【００６５】
この局部補間では、まず、移送軸パス局部フィルタ１６ｂの移送軸パス局部補間部１６ｃが、補間区間の区間幅である補間区間幅をまだ算出していない指令点である補間対象点が滑らか補間後のＷ軸パスに存在するか否かを判断する（ステップＳ１２）。移送軸パス局部補間部１６ｃは、そのような補間対象点が滑らか補間後のＷ軸パスに存在すると判断した場合には、その補間区間幅をまだ算出していない補間対象箇所について分配区間幅及び補間区間幅の算出を行う（ステップＳ１４）。
【００６６】
移送軸パス局部補間部１６ｃは、まず、滑らか補間後のＷ軸パスのうち媒介変数による一次微分値と二次微分値の両方が不連続になっている箇所について分配区間幅を求める。なお、ここでの分配区間幅は、Ｗ軸パスの媒介変数による一次微分値を後述する分配関数に基づいて分配する区間幅のことである。具体的には、移送軸パス局部補間部１６ｃは、局部補間前のＷ軸パスと局部補間後のＷ軸パスとの補間対象点における位置誤差がＷ軸における許容誤差に等しくなるという条件を満たすように分配区間幅を算出し、補間区間幅をその算出した分配区間幅以上の区間幅として求める。詳しくは、例えば、次のようにして分配区間幅が算出される。
【００６７】
分配区間幅の算出式は、後述のＷ軸パスの一次微分値の分配を行うために用いる分配関数によって異なるが、ここでは、後述のＷ軸パスの一次微分値の分配にベル型の分配関数を用いるものとして、分配区間幅を算出する。
【００６８】
Ｗ軸パスの媒介変数ｓによる一次微分値の補間対象点直前の値をｂ１とし、補間対象点直後の値をｂ２とすると、Ｗ軸パスの位置座標ｗの媒介変数ｓによる一次微分関数ｗ’（ｓ）は、次式（１）で表せる。なお、この一次微分関数ｗ’（ｓ）は、図６に示すような二次曲線となる。
【００６９】
ｗ’（ｓ）＝ｄｗ／ｄｓ＝ｋｓ２＋ｂ１・・・（１）
なお、ｋは、所定の係数である。ここで、局部補間前のＷ軸パスに対する局部補間後のＷ軸パスの補間対象点での位置誤差は、図６中のハッチングを付した領域の面積に相当する。従って、この位置誤差をＥとすると、当該位置誤差Ｅは、次式（２）で求められる。
【００７０】
【数１】
0005417390.tif 000002
【００７１】
そして、上記一次微分関数ｗ’（ｓ）が示す二次曲線は、補間区間幅の中央において前記ｂ１と前記ｂ２のちょうど中間の値を取るとすると、次式（３）が成り立つ。
【００７２】
ｋｓ２＋ｂ１＝（ｂ１＋ｂ２）／２・・・（３）
この式（３）を式変形することにより、次式（４）が得られる。
【００７３】
ｋ＝（ｂ２−ｂ１）／２ｓ２・・・（４）
ここで、補間区間幅の中央の点では、ｓ＝Ａ／２であるため、上記式（４）から係数ｋは、次式（５）で求められる。
【００７４】
ｋ＝２（ｂ２−ｂ１）／Ａ２・・・（５）
そして、この式（５）で得られる係数ｋを上記式（２）に代入して式変形することにより、次式（６）が得られる。
【００７５】
Ｅ＝２（ｂ２−ｂ１）Ａ／３・・・（６）
ここで、Ｗ軸における許容誤差をτとすると、前記誤差Ｅが許容誤差τに等しいという条件を満たす分配区間幅Ａは、上記式（６）から次式（７）のように求められる。
【００７６】
Ａ＝３τ／２（ｂ２−ｂ１）・・・（７）
なお、上記式（７）で求められる分配区間幅の値が予め設定された上限パラメータを超える場合には、その上限パラメータの値を分配区間幅Ａとする。
【００７７】
一方、移送軸パス局部補間部１６ｃは、滑らか補間後のＷ軸パスのうち媒介変数による一次微分値は連続で、二次微分値が不連続になっている箇所については、記憶部４に記憶されているＷ軸パスについての二次微分不連続箇所用の分配区間幅テーブルに基づいて分配区間幅を求める。具体的には、移送軸パス局部補間部１６ｃは、滑らか補間後のＷ軸パスのうち二次微分値が不連続になっている箇所におけるその二次微分値の差を求め、その求めた二次微分値の差に対応する分配区間幅を対応する二次微分不連続箇所用の分配区間幅テーブルに基づいて算出する。この際、移送軸パス局部補間部１６ｃが求めた二次微分値の差の値がＷ軸パスについての二次微分不連続箇所用の分配区間幅テーブルに登録されている多数の二次微分値の差の値のうち隣接する２つの値の間にある場合には、移送軸パス局部補間部１６ｃは、比例配分によって、当該移送軸パス局部補間部１６ｃが求めた二次微分値の差に対応する分配区間幅を求める。
【００７８】
また、移送軸パス局部補間部１６ｃは、滑らか補間後のＷ軸パスのうち媒介変数による二次微分値が予め設定された二次微分上限値を超える箇所については、記憶部４に記憶されているＷ軸パスについての二次微分値超過箇所用の分配区間幅テーブルに基づいて分配区間幅を求める。具体的には、移送軸パス局部補間部１６ｃは、滑らか補間後のＷ軸パスのうち二次微分値が二次微分上限値を超える箇所のその二次微分値に基づいて、記憶部４に記憶されているＷ軸パスについての二次微分値超過箇所用の分配区間幅テーブルから対応した分配区間幅を求める。この際、滑らか補間後のＷ軸パスの二次微分上限値を超える箇所の二次微分値がＷ軸パスについての二次微分値超過箇所用の分配区間幅テーブルに登録されている多数の二次微分値のうち隣接する２つの値の間にある場合には、移送軸パス局部補間部１６ｃは、比例配分によって、その二次微分上限値を超える箇所の二次微分値に対応する分配区間幅を求める。
【００７９】
そして、本実施形態では、以上のようにして算出された分配区間幅に等しい区間幅を補間区間幅とする。
【００８０】
次に、移送軸パス局部補間部１６ｃは、現在対象としている補間対象点についての補間区間が他の補間対象点の補間区間と重なるか否かを判断する（ステップＳ１６）。ここで、移送軸パス局部補間部１６ｃは、補間区間が重ならないと判断した場合には、上記ステップＳ１２に戻り、以降のプロセスを繰り返し行う。一方、移送軸パス局部補間部１６ｃは、補間区間が重なると判断した場合には、重なった補間区間同士を結合して１つの補間区間とする（ステップＳ１８）。具体的には、移送軸パス局部補間部１６ｃは、重なった各補間区間のうち最もＷ軸パスの始点寄りに位置する補間区間の始点から最もＷ軸パスの終点寄りに位置する補間区間の終点までの区間を１つの補間区間とする。なお、この場合、結合した後の１つの補間区間について後述の分配の際に用いる分配区間幅としては、各補間区間に対応する分配区間幅のうち最も小さい分配区間幅が採用される。この後、上記ステップＳ１２に戻り、以降のプロセスが繰り返し行われる。
【００８１】
そして、ステップＳ１２において、移送軸パス局部補間部１６ｃが滑らか補間後のＷ軸パスに補間区間幅を算出していない補間対象点がもう存在しないと判断した場合には、移送軸パス局部補間部１６ｃは、次に、以降の局部補間処理を行う１つの補間区間を抽出する（ステップＳ２０）。ここで、滑らか補間後のＷ軸パスに局部補間処理を行っていない複数の補間区間が存在する場合には、移送軸パス局部補間部１６ｃは、それらの補間区間のうち最もＷ軸パスの始点寄りに位置する補間区間を抽出する。なお、上記ステップＳ１８で結合された補間区間は、１つの補間区間として扱われる。
【００８２】
その後、移送軸パス局部補間部１６ｃは、抽出した補間区間について調整区間を求める（ステップＳ２２）。この調整区間（図７及び図８参照）は、補間区間を前後に分配区間幅Ａの半分の区間幅ａずつ拡大した区間であり、後述する補間後関数の算出対象となる補間ブロックを判断する基準となる。この後、移送軸パス局部補間部１６ｃは、メモリ５に記憶されている補間後積算関数を０に初期セットする（ステップＳ２４）。
【００８３】
次に、移送軸パス局部補間部１６ｃは、後述の補間後関数を求める補間処理を実施するための指令ブロックである補間ブロックを抽出する（ステップＳ２６）。具体的には、移送軸パス局部補間部１６ｃは、上記ステップＳ２２で求めた調整区間内に少なくとも区間の一部が含まれる複数の指令ブロック（図７では指令ブロックｗ０（ｓ）〜ｗ５（ｓ）、図８ではｗ０（ｓ）〜ｗ７（ｓ））を選択するとともに、それらの指令ブロックのうち後述の補間後関数を求める補間処理が終わっていないブロックでかつ最もＷ軸パスの始点寄りに位置するブロックを補間ブロックとして抽出する。
【００８４】
次に、移送軸パス局部補間部１６ｃは、抽出した補間ブロックの補間後関数を求める（ステップＳ２８）。本実施形態では、移送軸パス局部補間部１６ｃは、ベル型の分配関数ｆ（ｓ）を用いて補間後関数を求める。なお、ベル型の分配関数ｆ（ｓ）は、次式で表される。
【００８５】
【数２】
0005417390.tif 000003
【００８６】
なお、分配区間−Ａ／２≦ｓ≦Ａ／２の外側では、ｆ（ｓ）＝０である。
【００８７】
移送軸パス局部補間部１６ｃは、補間後関数の算出に当たって、まず、上記抽出した補間ブロック内の媒介変数が異なる各第１位置ｓを中央とし且つ分配区間幅Ａと等しい区間幅を有する積分区間［ｓ−Ａ／２，ｓ＋Ａ／２］を設定する。そして、移送軸パス局部補間部１６ｃは、その設定した積分区間［ｓ−Ａ／２，ｓ＋Ａ／２］内の媒介変数が異なる各第２位置ＳでのＷ軸パスの媒介変数による一次微分ｗｉ’（Ｓ）を求め、その各第２位置Ｓでの一次微分ｗｉ’（Ｓ）を対応する第２位置Ｓを中央とし且つ前記分配区間幅Ａを有する分配区間内に分配関数ｆ（ｓ）に基づいて分配した場合に得られる分配後微分関数ｗｉ’（Ｓ）・ｆ（Ｓ−ｓ）を積分区間［ｓ−Ａ／２，ｓ＋Ａ／２］にわたって積分し、それによって補間後関数ｑｉ’（ｓ）を求める。以上のような補間ブロックの媒介変数による一次微分ｗｉ’（Ｓ）の分配関数ｆ（ｓ）による分配演算及びその分配演算によって得られる分配後微分関数ｗｉ’（Ｓ）・ｆ（ｓ−Ｓ）の積分の結果、当該補間ブロックの媒介変数による二次微分値が小さくなるように当該補間ブロックが補間される。移送軸パス局部補間部１６ｃは、より具体的には、次式（９）によって補間ブロックｗｉ（ｓ）の補間後関数ｑｉ’（ｓ）を求める。
【００８８】
【数３】
0005417390.tif 000004
【００８９】
このようにして得られた補間後関数ｑｉ’（ｓ）は、補間ブロックｗｉ（ｓ）の区間幅が補間区間幅Ａよりも大きい場合と小さい場合とで異なった形で表される。その各場合における補間後関数ｑｉ’（ｓ）は、以下の通りである。
【００９０】
補間ブロックｐｉ（ｓ）の区間幅が補間区間幅Ａ＝２ａよりも大きい場合（図９参照）には、その補間ブロックｗｉ（ｓ）の両端を規定する２つの指令点のうちＷ軸パスの始点寄りの指令点をｔ［ｉ］、Ｗ軸パスの終点寄りの指令点をｔ［ｉ＋１］とし、補間区間幅Ａの半分の区間幅をａとすると、当該補間ブロックｗｉ（ｓ）に対応する区間はｔ［ｉ］＜ｓ＜ｔ［ｉ＋１］で表され、ｔ［ｉ］−ａ＜ｔ［ｉ］＋ａ＜ｔ［ｉ＋１］−ａ＜ｔ［ｉ＋１］＋ａの関係が成り立つ。そして、補間ブロックｗｉ（ｓ）の媒介変数ｓによる一次微分ｗｉ’（ｓ）は、図９中の太線で表される。
【００９１】
この場合において、上記補間処理によって得られる補間後関数ｑｉ’（ｓ）は、下記のｔ［ｉ］−ａ＜ｓ＜ｔ［ｉ］＋ａの区間の関数ｑｉ１１’（ｓ）と、ｔ［ｉ］＋ａ＜ｓ＜ｔ［ｉ＋１］−ａの区間の関数ｑｉ１２’（ｓ）と、ｔ［ｉ＋１］−ａ＜ｓ＜ｔ［ｉ＋１］＋ａの区間の関数ｑｉ１３’（ｓ）とに細分化される。
【００９２】
ｔ［ｉ］−ａ＜ｓ＜ｔ［ｉ］＋ａの区間の関数ｑｉ１１’（ｓ）は、次式（１０）で表される。
【００９３】
【数４】
0005417390.tif 000005
【００９４】
ｔ［ｉ］＋ａ＜ｓ＜ｔ［ｉ＋１］−ａの区間の関数ｑｉ１２’（ｓ）は、次式（１１）で表される。
【００９５】
【数５】
0005417390.tif 000006
【００９６】
ｔ［ｉ＋１］−ａ＜ｓ＜ｔ［ｉ＋１］＋ａの区間の関数ｑｉ１３’（ｓ）は、次式（１２）で表される。
【００９７】
【数６】
0005417390.tif 000007
【００９８】
次に、補間ブロックｗｉ（ｓ）の区間幅が補間区間幅Ａ＝２ａよりも小さい場合（図１０及び図１１参照）には、その補間ブロックｗｉ（ｓ）の両端を規定する２つの指令点のうちＷ軸パスの始点寄りの指令点をｔ［ｉ］、Ｗ軸パスの終点寄りの指令点をｔ［ｉ＋１］とし、補間区間幅Ａの半分の区間幅をａとすると、当該補間ブロックｗｉ（ｓ）に対応する区間はｔ［ｉ］＜ｓ＜ｔ［ｉ＋１］で表され、ｔ［ｉ］−ａ＜ｔ［ｉ＋１］−ａ＜ｔ［ｉ］＋ａ＜ｔ［ｉ＋１］＋ａの関係が成り立つ。この補間ブロックｗｉ（ｓ）の媒介変数ｓによる一次微分関数ｗｉ’（ｓ）は、図１０及び図１１中の太線で表される。
【００９９】
この場合において、上記補間処理によって得られる補間後関数ｑｉ’（ｓ）は、下記のｔ［ｉ］−ａ＜ｓ＜ｔ［ｉ＋１］−ａの区間の関数ｑｉ２１’（ｓ）と、ｔ［ｉ＋１］−ａ＜ｓ＜ｔ［ｉ］＋ａの区間の関数ｑｉ２２’（ｓ）と、ｔ［ｉ］＋ａ＜ｓ＜ｔ［ｉ＋１］＋ａの区間の関数ｑｉ２３’（ｓ）とに細分化される。
【０１００】
ｔ［ｉ］−ａ＜ｓ＜ｔ［ｉ＋１］−ａの区間の関数ｑｉ２１’（ｓ）は、次式（１３）で表される。
【０１０１】
【数７】
0005417390.tif 000008
【０１０２】
ｔ［ｉ＋１］−ａ＜ｓ＜ｔ［ｉ］＋ａの区間の関数ｑｉ２２’（ｓ）は、次式（１４）で表される。
【０１０３】
【数８】
0005417390.tif 000009
【０１０４】
ｔ［ｉ］＋ａ＜ｓ＜ｔ［ｉ＋１］＋ａの区間の関数ｑｉ２３’（ｓ）は、次式（１５）で表される。
【０１０５】
【数９】
0005417390.tif 000010
【０１０６】
次に、移送軸パス局部補間部１６ｃは、求めた補間後関数をメモリ５に記憶されている補間後積算関数に加算する（ステップＳ３０）。ここでは、ステップＳ２４で０にセットされた補間後積算関数に補間後関数が加算されるので、加算後の補間後積算関数は、上記ステップＳ２８で求められた補間後関数に等しくなる。
【０１０７】
次に、移送軸パス局部補間部１６ｃは、調整区間に少なくとも区間の一部が含まれる全ての補間ブロックについて補間後関数を求めてその補間後関数を補間後積算関数に加算する補間処理を行ったか否かを判断する（ステップＳ３２）。ここで、移送軸パス局部補間部１６ｃは、まだ全ての補間ブロックの補間処理を終了していないと判断した場合には、上記ステップＳ２６に戻り、次に補間処理を行う補間ブロックを抽出する。この際に抽出される補間ブロックは、調整区間に少なくとも区間の一部が含まれる指令ブロックのうち先に補間処理された補間ブロックに対してＷ軸パスの終点側に隣り合う指令ブロックとなる。その後、移送軸パス局部補間部１６ｃは、その抽出した補間ブロックについてステップＳ２８の補間後関数の算出を行い、それによって得られた補間後関数を補間後積算関数に加算する。移送軸パス局部補間部１６ｃは、このようなステップＳ２６〜Ｓ３０のプロセスを、ステップＳ３２において調整区間に少なくとも一部が含まれる全ての補間ブロックの補間処理（分配、積分、加算）を終了したと判断するまで繰り返し行う。
【０１０８】
そして、移送軸パス局部補間部１６ｃは、ステップＳ３２において調整区間に少なくとも一部が含まれる全ての補間ブロックの補間処理を終了したと判断した場合には、次に、Ｗ軸についての誤差付き補間パスを求める（ステップＳ３４）。具体的には、移送軸パス局部補間部１６ｃは、上記補間後関数の加算によって得られた補間後積算関数から上記ステップＳ２０で抽出した補間区間に相当する区間を抜き出すことによって誤差付き補間パスを求める。
【０１０９】
その後、移送軸パス誤差補正部１６ｄが、誤差付き補間パスのうち補間区間の始点に対応する点と終点に対応する点とにおけるＷ軸パスとの誤差を補正するための誤差補正パスを求める（ステップＳ３６）。具体的には、移送軸パス誤差補正部１６ｄは、補間区間の始点における誤差補正パスの値が当該始点における誤差付き補間パスの値から当該始点におけるＷ軸パスの値を減じて得た値に等しく、かつ、補間区間の終点における誤差補正パスの値が当該終点における誤差付き補間パスの値から当該終点におけるＷ軸パスの値を減じて得た値に等しいという条件を満たす誤差補正パスを求める。より具体的には、移送軸パス誤差補正部１６ｄは、誤差補正パスをＥｐ（ｓ）とし、誤差付き補間パスをｒ（ｓ）とし、Ｗ軸パスをｗ（ｓ）とし、補間区間の始点をＳｓとし、補間区間の終点をＳｅとすると、以下の式（１６），（１７）を満たす誤差補正パスＥｐ（ｓ）を求める。本実施形態では、移送軸パス誤差補正部１６ｄは、この条件を満たす誤差補正パスＥｐ（ｓ）の一例として、Ｅｐ（Ｓｓ）とＥｐ（Ｓｅ）を直線で繋いだ誤差補正パスを求める。
【０１１０】
Ｅｐ（Ｓｓ）＝ｒ（Ｓｓ）−ｗ（Ｓｓ）・・・（１６）
Ｅｐ（Ｓｅ）＝ｒ（Ｓｅ）−ｗ（Ｓｅ）・・・（１７）
次に、移送軸パス誤差補正部１６ｄは、誤差付き補間パスをステップＳ３６で求めた誤差補正パスによって補正し、その補正後の補間パスをＷ軸パスの補間区間と置換して局部補間後の補間区間のＷ軸パスとする（ステップＳ３８）。具体的には、移送軸パス誤差補正部１６ｄは、誤差付き補間パスから誤差補正パスを差し引くことによって誤差付き補間パスを補正し、当該補正により、補間区間の始点でのＷ軸パスに対する誤差付き補間パスの誤差と、補間区間の終点でのＷ軸パスに対する誤差付き補間パスの誤差とを除去する。このため、補正後の補間パスは、補間区間の始点においてＷ軸パスと連続して繋がり、補間区間の終点においてＷ軸パスと連続して繋がるパスとなる。以上のプロセスにより、Ｗ軸パスのうちの１つの補間区間が、当該補間区間内の補間対象点において不連続となっている微分値の変化が連続的な変化となるように局部補間される。
【０１１１】
この後、移送軸パス局部補間部１６ｃは、Ｗ軸パスの全ての補間区間の局部補間が終了したか否かを判断する（ステップＳ４０）。ここで、移送軸パス局部補間部１６ｃが局部補間が終了していない補間区間がまだ存在すると判断した場合には、上記ステップＳ２０以降のプロセスが繰り返し行われる。具体的には、移送軸パス局部補間部１６ｃが局部補間が終了していない補間区間のうち最もＷ軸パスの始点寄りに位置する補間区間を抽出し、その抽出した補間区間について補間後関数の算出、補間後積算関数への加算、誤差付き補間パスの導出、誤差補正パスの導出及び誤差付き補間パスの補正等が行われる。
【０１１２】
一方、移送軸パス局部補間部１６ｃがＷ軸パスの全ての補間区間の局部補間が終了したと判断した場合には、移送軸パス局部フィルタ１６ｂによるＷ軸パスの局部補間処理のプロセスが終了する。
【０１１３】
そして、上記のＷ軸パスに対する局部補間処理と並行して、同様の局部補間処理が、ツールパス局部フィルタ１５ｂのツールパス局部補間部１５ｃ及びツールパス誤差補正部により滑らか補間後のツールパスの各座標軸パス（ｘ軸パス、ｙ軸パス及びｚ軸パス）に対して行われる。なお、このツールパスの局部補間処理では、補間対象点の前後におけるツールパスの媒介変数による一次微分値の差がワーク座標系を構成する各座標軸で異なる場合には、ツールパス局部補間部１５ｃは、補間対象点の前後の一次微分値の差が最大となる座標軸について、分配区間幅及び補間区間幅の導出を行う。例えば、ツールパスのｘ軸パスの媒介変数による一次微分値、ツールパスのｙ軸パスの媒介変数による一次微分値及びツールパスのｚ軸パスの媒介変数による一次微分値のうちｘ軸パスの媒介変数による一次微分値の補間対象点の前後における差が最も大きい場合には、ツールパス局部補間部１５ｃは、そのｘ軸パスについて分配区間幅及び補間区間幅を導出する。そして、その導出された分配区間幅及び補間区間幅を用いて、ツールパスのｘ軸パス、ｙ軸パス及びｚ軸パス毎に上記Ｗ軸パスと同様の局部補間が行われる。
【０１１４】
以上の局部補間処理の後、媒介変数時間関数導出部１８により基準時刻Ｔの経過に対する媒介変数の変化を表す媒介変数時間関数が求められる（図３のステップＳ５）。
【０１１５】
具体的には、媒介変数時間関数導出部１８は、記憶部４に記憶されている各移送軸毎の許容加速度を含む加減速条件と、全ての補間区間が局部補間された後のツールパスである補間後ツールパスと、全ての補間区間が局部補間された後のＷ軸パスである補間後Ｗ軸パスとに基づいて、媒介変数時間関数（媒介変数の速度曲線）を求める。より具体的には、媒介変数時間関数導出部１８は、ワーク座標系における工具１０６の先端の位置を補間後ツールパス（補間後のｘ軸パス、ｙ軸パス及びｚ軸パス）に従って移動させることができるとともに補間後Ｗ軸パスに従って工具１０６をＷ軸方向に動かすことができ、かつ、移送対象物の各移送軸毎の加速度が加減速条件に含まれたその移送軸についての許容加速度を超えないという条件を満たすような媒介変数時間関数を求める。詳しくは、媒介変数時間関数導出部１８は、以下のようにして媒介変数時間関数を求める。
【０１１６】
媒介変数時間関数導出部１８は、まず、図１２中の階段状速度曲線で表される媒介変数速度上限関数を求める。媒介変数速度上限関数は、各移送軸パスの各指令点間のブロック毎の媒介変数ｓの速度ｄｓ／ｄＴの上限値を表す関数である。図１２中の階段状速度曲線のうち水平になっている各部分がブロックを表し、当該部分の速度ｄｓ／ｄＴがそのブロックの媒介変数ｓの速度ｄｓ／ｄＴの上限値に相当する。なお、各ブロックは、それぞれについての媒介変数ｓの増分が等しくなるように元々設定されているが、その各ブロックの媒介変数ｓの増分に相当する距離を進むのに要する時間は様々であり、図１２では、媒介変数ｓの増加を時間ｔの進行に換算して横軸に表している。そして、媒介変数時間関数導出部１８は、以下のようにして各ブロックの媒介変数ｓの速度ｄｓ／ｄＴの上限値を求めることによって媒介変数速度上限関数を求める。
【０１１７】
媒介変数時間関数導出部１８は、補間後ツールパス及び補間後Ｗ軸パスに基づいて、対象とするブロックに対応する所定の媒介変数ｓａの点とその点の近傍の前後２点ずつの合計５点（ｓａ−２ｅ，ｓａ−ｅ，ｓａ，ｓａ＋ｅ，ｓａ＋２ｅ）における各移送軸の移送軸座標ｋｐ［ｉ］［］（ｉ＝０，１，２，３，４）を求める。このとき、Ｚ軸座標は、補間後のｚ軸パスのｚ軸座標から補間後Ｗ軸パスのＷ軸座標を差し引くことによって求める。なお、前記ｅは、媒介変数における微小距離を示すパラメータである。また、ｉ＝０は点（ｓａ−２ｅ）に、ｉ＝１は点（ｓａ−ｅ）に、ｉ＝２は点ｓａに、ｉ＝３は点（ｓａ＋ｅ）に、ｉ＝４は点（ｓａ＋２ｅ）にそれぞれ対応している。また、［］は、各移送軸それぞれについての値であることを意味する。そして、媒介変数時間関数導出部１８は、下記式（１８）によって点（ｓａ−ｅ）における媒介変数による一次微分の近似値ｄｓ１［ａｘ］を求め、下記式（１９）によって点（ｓａ＋ｅ）における媒介変数による一次微分の近似値ｄｓ２［ａｘ］を求め、この求めた２つの近似値ｄｓ１［ａｘ］，ｄｓ２［ａｘ］と下記式（２０）を用いて前記媒介変数ｓａに対応する点における移送軸パスの媒介変数による二次微分の近似値ｄｄｓｓ［ａｘ］を求める。なお、ａｘは、各移送軸を表すインデックスである。
【０１１８】
ｄｓ１［ａｘ］＝（ｋｐ［２］［ａｘ］−ｋｐ［０］［ａｘ］）／２ｅ・・・（１８）
ｄｓ２［ａｘ］＝（ｋｐ［４］［ａｘ］−ｋｐ［２］［ａｘ］）２ｅ・・・（１９）
ｄｄｓｓ［ａｘ］＝（ｄｓ２［ａｘ］−ｄｓ１［ａｘ］）／２ｅ・・・（２０）
仮に、媒介変数ｓａの点を等速度ｖで通過するとした場合には、各移送軸毎の加速度ａ［］は、ｖ２×ｄｄｓｓ［］で近似できることから、記憶部４に記憶されている加減速条件中の各移送軸毎の許容加速度をＡ［］とすると、媒介変数時間関数導出部１８は、対象とするブロックの速度上限値ｖｍを次式（２１）によって求める。
【０１１９】
ｖｍ＝（Ａ［ａｘ］／ｄｄｓｓ［ａｘ］）１／２・・・（２１）
そして、媒介変数時間関数導出部１８は、このようにして求めた各移送軸毎の対応するブロックの速度上限値ｖｍと加工プログラムに含まれる速度指令のうちそのブロックに対応する速度との中で最も低い値をそのブロックの媒介変数ｓの速度ｄｓ／ｄＴの上限値とする。媒介変数時間関数導出部１８は、全てのブロックの媒介変数ｓの速度ｄｓ／ｄＴの上限値を以上のような方法でそれぞれ求め、その求めた各ブロックの上限値を繋いで媒介変数速度上限関数を求める。
【０１２０】
次に、媒介変数時間関数導出部１８は、記憶部４に記憶された加減速条件に含まれる媒介変数ｓの許容速度、許容加速度及び許容ジャークに基づいて、媒介変数速度上限関数が表す階段状速度曲線を超えないように連続変化する加減速曲線ｄｓ（Ｔ）／ｄTを求め、その求めた加減速曲線ｄｓ（Ｔ）／ｄＴを基準時刻Ｔで積分することにより媒介変数時間関数ｓ（Ｔ）を算出する。
【０１２１】
具体的には、媒介変数時間関数導出部１８は、まず、加減速曲線ｄｓ（Ｔ）／ｄＴのうちの加速領域の速度曲線（速度関数）を始点側から終点側へ向かって所定の時刻区間毎にその時刻区間の時刻区間幅ｔｓとともに順次求めてメモリ５に登録していく。この時、媒介変数時間関数導出部１８は、それまでにメモリ５に登録した速度曲線の最終点（ｓ１，ｆ１，ｔ１）から目標点（ｓ２，ｆ２）として設定したブロックの終点へ到達する過程でその最終点における速度ｆ１がそのブロックの速度ｄｓ／ｄＴの上限値（速度上限値ｆ２）まで上昇し得るような速度曲線を各時刻区間毎にその区間の時刻区間幅ｔｓとともに求める。なお、このとき求められる速度曲線の形態は、前記最終点と目標点との媒介変数の差（ｓ２−ｓ１）、前記最終点における速度ｆ１、速度上限値ｆ２、前記最終点における加速度ａ１、許容加速度及び許容ジャーク等の条件によって異なる。その各条件に応じた速度曲線の求め方が図１３〜図１９に示されている。
【０１２２】
図１３及び図１４には、最終点（ｓ１，ｆ１，ｔ１）から目標点（ｓ２，ｆ２）に達する前に速度が速度上限値ｆ２に達する場合が示されている。なお、ｔ２は、ｓ２に到達したときの時刻である。具体的には、図１３は、最終点（ｓ１，ｆ１，ｔ１）から許容ジャークに従って加速度がａ１から許容加速度まで増加するように速度をｆ１から上昇させ（時刻区間ｔｓ１）、その後、許容加速度に等しい加速度で速度が上昇し（時刻区間ｔｓ２）、その後、速度が速度上限値ｆ２を超えないように許容ジャークに従って加速度を低下させて速度が速度上限値ｆ２に達し（時刻区間ｔｓ３）、その後、速度上限値ｆ２に等しい速度で目標点（ｓ２，ｆ２）に到達する（時刻区間ｔｓ４）という形態の速度曲線を示しており、媒介変数時間関数導出部１８は、このような条件に従って各時刻区間毎の速度曲線（速度関数）をその各区間の時刻区間幅ｔｓ１〜ｔｓ４とともに算出し、その算出した速度曲線を対応する時刻区間とともにメモリ５に登録する。また、図１４は、最終点（ｓ１，ｆ１，ｔ１）から許容ジャークに従って加速度がａ１から増加するように速度をｆ１から上昇させる（時刻区間ｔｓ５）が、速度上限値ｆ２が近いため、速度が許容加速度に達する前に許容ジャークに従って加速度を低下させて速度上限値ｆ２に達し（時刻区間ｔｓ６）、その後、速度上限値ｆ２に等しい速度で目標点（ｓ２，ｆ２）に到達する（時刻区間ｔｓ７）という形態の速度曲線を示しており、媒介変数時間関数導出部１８は、このような条件に従って各時刻区間毎の速度曲線（速度関数）をその各区間の時刻区間幅ｔｓ５〜ｔｓ７とともに算出し、その算出した速度曲線を対応する時刻区間とともにメモリ５に登録する。
【０１２３】
また、図１５〜図１７には、許容ジャークに従って加速度が低下している途中に目標点（ｓ２，ｆ２）に達する場合が示されている。具体的には、図１５は、最終点（ｓ１，ｆ１，ｔ１）から許容ジャークに従って加速度がａ１から増加するように速度をｆ１から上昇させる（時刻区間ｔｓ８）が、最終点から目標点（ｓ２，ｆ２）までの距離（ｓ２−ｓ１）が小さいため、速度が許容加速度に達する前に、許容ジャークに従って加速度を低下させて速度が速度上限値ｆ２に達するとともに目標点（ｓ２，ｆ２）に到達する（時刻区間ｔｓ９）という形態の速度曲線を示しており、媒介変数時間関数導出部１８は、このような条件に従って各時刻区間毎の速度曲線（速度関数）をその各区間の時刻区間幅ｔｓ８，ｔｓ９とともに算出し、その算出した速度曲線を対応する時刻区間とともにメモリ５に登録する。また、図１６は、最終点（ｓ１，ｆ１，ｔ１）から許容ジャークに従って加速度がａ１から許容加速度まで増加するように速度をｆ１から上昇させ（時刻区間ｔｓ１０）、その後、許容加速度に等しい加速度で速度が上昇し（時刻区間ｔｓ１１）、その後、速度が速度上限値ｆ２を超えないように許容ジャークに従って加速度を低下させている途中で目標点（ｓ２，ｆ２）に到達する（時刻区間ｔｓ１２）という形態の速度曲線を示しており、媒介変数時間関数導出部１８は、このような条件に従って各時刻区間毎の速度曲線（速度関数）をその各区間の時刻区間幅ｔｓ１０〜ｔｓ１２とともに算出し、その算出した速度曲線を対応する時刻区間とともにメモリ５に登録する。また、図１７は、最終点（ｓ１，ｆ１，ｔ１）から目標点（ｓ２，ｆ２）までが非常に近いとともにその最終点における速度ｆ１と速度上限値ｆ２とが非常に近く、且つ、最終点における加速度ａ１が大きいため、その最終点から許容ジャークに従って加速度をａ１から低下させながら速度がｆ１から上昇して速度上限値ｆ２に達するとともに目標点（ｓ２，ｆ２）に到達する（時刻区間ｔｓ１３）という形態の速度曲線を示しており、媒介変数時間関数導出部１８は、このような条件に従って時刻区間幅ｔｓ１３とともにその区間の速度曲線（速度関数）を算出し、その算出した速度曲線を時刻区間ｔｓ１３とともにメモリ５に登録する。
【０１２４】
また、図１８には、媒介変数ｓが目標点に対応する値ｓ２に達しても速度上限値ｆ２まで速度を上げることができない場合が示されている。媒介変数時間関数導出部１８は、速度曲線を算出していてこのような場合に該当する場合には、その算出した速度曲線をメモリ５に登録しない。
【０１２５】
また、図１９には、最終点（ｓ１，ｆ１，ｔ１）における速度ｆ１と速度上限値ｆ２が非常に接近しているとともにその最終点における加速度ａ１が比較的大きいため、最終点（ｓ１，ｆ１，ｔ１）から許容ジャークに従って加速度を低下させても速度が速度上限値ｆ２を超えてしまう場合が示されている。媒介変数時間関数導出部１８は、速度曲線の算出に際してこのような場合に該当する場合には、１つ前にメモリ５に登録された速度曲線のデータを取り消すとともに、さらにその１つ前にメモリ５に登録された速度曲線の最終点から今回の目標点に至り、且つ、速度が今回の目標点に対応する速度上限値に達し得るような速度曲線を求めるための再計算を行う。この場合の再計算の方法は、上記各場合と同様である。
【０１２６】
そして、媒介変数時間関数導出部１８は、上記のような速度曲線の算出と登録を順次行う。媒介変数時間関数導出部１８は、求めた速度曲線をメモリ５に登録する際、併せて、目標点に到達時の時刻ｔ２及び加速度ａ２をメモリ５に登録しておき、次の目標点を設定して速度曲線を算出するときには、その登録した時刻ｔ２を最終点における時刻ｔ１として用いるとともにその登録した加速度ａ２を最終点における加速度ａ１として用いて次の速度曲線を算出する。このように最終点における速度に対して次の目標点に対応する速度上限値が小さくなるまで求めた速度曲線によって、加減速曲線のうち加速領域の速度曲線が得られる。
【０１２７】
次に、媒介変数時間関数導出部１８は、加減速曲線のうちの減速領域についてパスの終点側から始点側へ向かって上記と同様の速度曲線の算出と登録を順次行い、それによってその減速領域の速度曲線を求める。そして、媒介変数時間関数導出部１８は、求めた加速領域の速度曲線の終点と減速領域の速度曲線の始点を繋ぎ合わせることによって加減速曲線ｄｓ（Ｔ）／ｄTを求める。そして、媒介変数時間関数導出部１８は、その求めた加減速曲線ｄｓ（Ｔ）／ｄＴを基準時刻Ｔで積分することにより媒介変数時間関数ｓ（Ｔ）を算出する。
【０１２８】
次に、パルス補間部２２による基準時刻Ｔの導出及びパルス補間と、制御部２４による各移送部１０２ｃ，１１０ｂ，１１２ｂ，１１４ｂ，１１６ｂ，１１８ｂへのパルス出力が行われる（ステップＳ６）。
【０１２９】
このステップＳ６の詳細なプロセスは、図５のフローチャートに示されている。このプロセスでは、まず、パルス補間部２２は、基準時刻Ｔが上記ステップＳ５で求められた媒介変数時間関数の始点となる時刻に合うように当該基準時刻Ｔを初期セットする（図５のステップＳ５２）。
【０１３０】
次に、パルス補間部２２は、初期セットした基準時刻Ｔに対応する補間後ツールパスの各座標軸上の位置座標と、その基準時刻Ｔに対応する補間後Ｗ軸パス上の位置座標とを求める（ステップＳ５４）。具体的には、パルス補間部２２は、媒介変数時間関数導出部１８によって求められた媒介変数時間関数ｓ（Ｔ）から、初期セットした基準時刻Ｔに対応する媒介変数ｓを求め、その求めた媒介変数ｓと補間後ツールパスからその媒介変数ｓに対応する補間後ツールパス（補間後のｘ軸パス、ｙ軸パス及びｚ軸パス）の各座標軸上の位置座標を求めるとともに、求めた媒介変数ｓと補間後Ｗ軸パスからその媒介変数ｓに対応する補間後Ｗ軸パス上の位置座標を求める。
【０１３１】
次に、パルス補間部２２は、求めたＷ軸パスのＷ軸上での位置座標を拘束条件とし、ワーク座標系における工具１０６の先端点の位置座標と各移送軸上の位置座標との相関関係を示す関係式に基づいて、上記ステップＳ５４で求めた補間後ツールパスの各座標軸上の位置座標及び補間後Ｗ軸パスの位置座標に対応する各移送軸上の位置座標を求める（ステップＳ５６）。
【０１３２】
具体的には、パルス補間部２２は、まず、補間後ツールパスが示す工具１０６の先端点のワーク座標系での位置座標（Ｔｘ，Ｔｙ，Ｔｚ）を求め、その位置座標と一定値０であるＡ軸パスの座標ａ及びＣ軸パスの座標ｃとから工具軸ベクトル（Ｓｉ，Ｓｊ，Ｓｋ）と主軸位置の座標（Ｓｘ，Ｓｙ，Ｓｚ）を以下の式（２２）〜（２７）によって求める。なお、前記主軸位置は、主軸ヘッド１０８に保持された工具１０６の基端（先端と反対側の端）のワーク座標系における位置である。また、前記工具軸ベクトルは、工具１０６の軸方向（工具１０６の中心線が延びる方向）をワーク座標系で表すものであり、工具１０６の先端点から基端（主軸位置）へ向かうベクトルである。
【０１３３】
Ｓｉ＝ｓｉｎ（ａ）×ｓｉｎ（ｃ）・・・（２２）
Ｓｊ＝−ｓｉｎ（ａ）×ｃｏｓ（ｃ）・・・（２３）
Ｓｋ＝ｃｏｓ（ａ）・・・（２４）
Ｓｘ＝Ｔｘ＋ｌｅｎｇｔｈ×Ｓｉ・・・（２５）
Ｓｙ＝Ｔｙ＋ｌｅｎｇｔｈ×Ｓｊ・・・（２６）
Ｓｚ＝Ｔｚ＋ｌｅｎｇｔｈ×Ｓｋ・・・（２７）
ここで、ｌｅｎｇｔｈは、工具１０６の軸方向の長さである。
【０１３４】
そして、パルス補間部２２は、補間後Ｗ軸パスからＷ軸上の位置座標ｗを算出し、続いて、以下の運動学関係式（２８）〜（３０）に基づいて、補間後ツールパスが示す位置座標及び補間後Ｗ軸パスが示す位置座標に対応する各移送軸（Ｘ軸、Ｙ軸、Ｚ軸）上の位置座標（ｘ，ｙ，ｚ）を求める。
【０１３５】
ｘ＝Ｓｘ−Ｔｘ＋Ｃｘ×ｃｏｓ（ｃ）−（Ａｙ×ｃｏｓ（ａ）−Ａｚ×ｓｉｎ（ａ）＋Ｃｙ−Ａｙ）×ｓｉｎ（ｃ）−Ｃｘ・・・（２８）
ｙ＝Ｓｙ−Ｔｙ＋Ｃｘ×ｓｉｎ（ｃ）＋（Ａｙ×ｃｏｓ（ａ）−Ａｚ×ｓｉｎ（ａ）＋Ｃｙ−Ａｙ）×ｃｏｓ（ｃ）−Ｃｙ・・・（２９）
ｚ＝Ｓｚ−Ｔｚ＋Ａｙ×ｓｉｎ（ａ）＋Ａｚ×ｃｏｓ（ａ）−Ａｚ−ｗ・・・（３０）
これらの式において、Ａｙは、ＹＺ平面において工具１０６の先端のうちその工具１０６の中心線上に位置する点から揺動支持体１１０ａの揺動中心へ向かうベクトルのＹ軸成分であり、Ａｚは、同ベクトルのＺ軸成分である。また、Ｃｘは、ＸＹ平面において工具１０６の先端のうちその工具１０６の中心線上に位置する点（工具１０６の先端点）から回動支持体１１２ａの回動中心へ向かうベクトルのＸ軸成分であり、Ｃｙは、同ベクトルのＹ軸成分である。なお、上記式（２２）〜（３０）が、本発明の特定の関係式の概念に含まれるものである。また、Ｚ軸とＷ軸は互いに平行な不定軸であり、上記式（３０）だけではｚとｗの値が一意的に定まらないが、上記ステップＳ５４で求めた補間後Ｗ軸パスのＷ軸上での位置座標をｗとする拘束条件を用いることによって、この式（３０）からｚの値を求めることができる。パルス補間部２２が以上のようにして求めた各移送軸の位置座標をｎｅｗｐ［］とする。
【０１３６】
次に、パルス補間部２２は、ステップＳ５６で求めた各移送軸毎の位置座標ｎｅｗｐ［］を旧座標ｏｌｄｐ［］とする（ステップＳ５８）。
【０１３７】
次に、パルス補間部２２は、上記ステップＳ５２で初期セットした基準時刻Ｔに基準単位時間ｄＴを加算して新たな基準時刻Ｔを求める（ステップＳ６０）。
【０１３８】
次に、パルス補間部２２は、新たな基準時刻Ｔに対応する補間後ツールパスの各座標軸上の位置座標及び補間後Ｗ軸パスのＷ軸上での位置座標を上記ステップＳ５４と同様にして求め（ステップＳ６２）、その求めたＷ軸上での位置座標を拘束条件として、その求めた補間後ツールパスの位置座標に対応する各移送軸上の位置座標を上記ステップＳ５６と同様に求める（ステップＳ６４）。
【０１３９】
その後、パルス補間部２２は、指令パルスを算出する（ステップＳ６６）。具体的には、パルス補間部２２は、ステップＳ６４で求めた各移送軸毎の位置座標ｎｅｗｐ［］から上記ステップＳ５８で設定された各移送軸毎の旧座標ｏｌｄｐ［］の対応するものを差し引くことによって、基準単位時間ｄＴ当たりの各移送軸における位置座標の変化量、すなわち各移送軸についての移送対象物の基準単位時間ｄＴ当たりの移送量を求め、その求めた移送量を実時刻の単位時間毎（前記特定周期毎）の指令パルスとする。
【０１４０】
その後、制御部２４が、各移送部１０２ｃ，１１４ｂ，１１６ｂ，１１８ｂのサーボモータへ、パルス補間部２２によって求められた前記特定周期当たりの指令パルスのうちその移送部に対応する移送軸についての移送量を示す指令パルスを出力する（ステップＳ６８）。これにより、各移送部１０２ｃ，１１４ｂ，１１６ｂ，１１８ｂは、移送対象物を支持して動かすための対応する支持体をそれぞれ制御部２４からの指令パルスが示す移送量の分、前記特定周期当たりに対応する移送軸に沿って動かす。具体的には、テーブル移送部１０２ｃはテーブル１０２ｂを、ラム移送部１１４ｂはラム１１４ａを、サドル移送部１１６ｂはサドル１１６ａを、クロスレール移送部１１８ｂはクロスレール１１８ａをそれぞれ制御部２４からの指令パルスが示す移送量の分、前記特定周期当たりに対応する移送軸に沿って動かす。
【０１４１】
次に、パルス補間部２２は、シャットダウンの処理を行うか否かを判断する（ステップＳ７０）。ここで、パルス補間部２２がシャットダウンの処理を行うと判断した場合には、シャットダウンの処理が実行されて本実施形態の数値制御プロセスは終了し、パルス補間部２２がシャットダウンを行わないと判断した場合には、上記ステップＳ５８以降の処理が繰り返し行われる。再度行われるステップＳ５８では、パルス補間部２２は、上記ステップＳ６４で求めた各移送軸毎の位置座標ｎｅｗｐ［］を旧座標ｏｌｄｐ［］に設定する。
【０１４２】
以上のようにして、本実施形態の数値制御装置２による制御プロセスが行われる。
【０１４３】
以上説明したように、本実施形態の数値制御装置２では、加工プログラムから求めたＷ軸パスを補間し、補間後のＷ軸パスが示すＷ軸上の位置座標を拘束条件として補間後ツールパスの単位時間毎の各時点の位置座標に対応する各移送軸上の位置座標を求めるため、全ての移送軸のうちＺ軸とＷ軸が不定軸となっていても、ツールパスに対応するＺ軸上及びＷ軸上での前記各時点における位置座標を求めることができ、移送装置１０２，１１４，１１６，１１８の同時制御を行うことができる。
【０１４４】
しかも、本実施形態の数値制御装置２では、工作機械が、Ｗ軸についての許容加速度が低い、すなわち動きの緩慢な第２鉛直移送装置１１８を含みながらも、その緩慢な動きを許容加速度の高い第１鉛直移送装置１１４によるＺ軸に沿った工具１０６の移送で補わせることにより、第２鉛直移送装置１１８によるＷ軸についての低い許容加速度に支配されることなく、迅速かつ高精度の加工制御を実現できる。具体的には、本実施形態では、まず、Ｗ軸パスをそのＷ軸パスの媒介変数による二次微分値が小さくなるように局部補間してＷ軸に沿った工具１０６（クロスレール１１８ａ）の速度変化が緩やかになるように当該Ｗ軸パスを補間した上で、その補間後のＷ軸パスが示すＷ軸上での各時点の位置座標を拘束条件として各移送軸上の位置座標を求めるため、Ｗ軸に沿った工具１０６（クロスレール１１８ａ）の動きを緩やかにしてその動きの加速度を低い許容加速度に収めながら、Ｚ軸上では、Ｗ軸について工具１０６（クロスレール１１８ａ）の動きを緩やかにした分をカバーするような工具１０６の素早い動きを指示することができる。このため、加速性の良い第１鉛直移送装置１１４については、第２鉛直移送装置１１８の加速性の悪さを補う制御、すなわち、第２鉛直移送装置１１８の加速性の悪さをカバーするようにＺ軸に沿って工具１０６を素早く移送する制御が行われる。このため、第２鉛直移送装置１１８の加速性が極端に悪くても、それによってワーク１００の加工速度が制限を受けるのを防ぐことができ、工作機械に高速でのワーク１００の加工を実施させることができる。また、本実施形態では、補間後Ｗ軸パスのＷ軸上での各時点の位置座標を拘束条件として他の移送軸上での各時点の位置座標を求めるため、Ｗ軸と同じワーク座標系の座標軸成分（ｚ軸成分）を含むＺ軸上の位置座標として、Ｗ軸パスの補間によって生じた位置誤差を吸収した位置座標が求められる。このため、ワーク１００の加工時には、Ｗ軸パスの補間によって生じた位置誤差は工具１０６の動きに反映されない。その結果、工作機械に高い加工精度でのワーク１００の加工を実施させることができる。
【０１４５】
なお、本実施形態では、移送軸パス局部補間部１６ｃが分配区間幅の算出に用いるＷ軸についての許容誤差を、ワーク座標系におけるツールパスのｚ軸上の位置の許容誤差よりも大きな誤差にしてもよい。このようにすれば、媒介変数による一次微分値の分配、その後の積分によって得られる補間後関数がより緩やかな曲線を示すようになり、その結果、加速性の悪い第２鉛直移送装置１１８を非常に緩やかに動作させて、より機械ショックの低減を図ることができる。そして、このようにＷ軸についての許容誤差を大きくして第２鉛直移送装置１１８の動作を非常に緩やかにしても、上記のように加速性の良い第１鉛直移送装置１１４によるＺ軸上での工具１０６の素早い動きでカバーすることができるとともに、Ｗ軸についての位置誤差を第１鉛直移送装置１１４によるＺ軸上での工具１０６の移送で吸収して高い加工精度を保つことができる。
【０１４６】
また、本実施形態では、ワークの加工時に工具１０６が通るべき複数の指令点の位置座標の情報と工具移送速度指令に加えてＷ軸上での特定点の位置座標の軌跡を含む加工プログラムを記憶部４に記憶させておき、その加工プログラムに含まれるＷ軸上での特定点の位置座標の軌跡と工具移送速度指令とから移送軸パス導出部３４がＷ軸パスを求め、そのＷ軸パスに基づいてその後の第２鉛直移送装置１１８の動作を制御するための処理が行われる。このため、本実施形態では、加工プログラムを作成する段階で、加速性の悪い第２鉛直移送装置１１４による工具１０６のＷ軸についての移送の挙動を任意に指定することができる。
【０１４７】
なお、今回開示された実施形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施形態の説明ではなく特許請求の範囲によって示され、さらに特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれる。
【０１４８】
例えば、本発明による数値制御装置は、上記実施形態で示した工作機械以外の各種工作機械に適用することが可能である。図２０には、本発明の一実施形態の変形例による数値制御装置が適用される工作機械の一例が示されている。
【０１４９】
この工作機械は、パラレルリンク機構１２６を備えた工作機械である。この工作機械では、パラレルリンク機構１２６を構成する各工具移送装置１３１〜１３６が工具１０６を移送するＬ１〜Ｌ６軸、及び、水平移送装置１２４がパラレルリンク機構１２６全体を水平方向に移送するＵ軸が、共通の座標軸成分であるワーク座標系のｘ軸成分を含み、そのｘ軸座標に対して一意的に座標が定まらない不定軸となっている。
【０１５０】
具体的には、この工作機械は、ワーク支持装置１２２と、工具１０６と、主軸ヘッド１２３と、水平移送装置１２４と、パラレルリンク機構１２６と、図略の制御盤とを備えている。
【０１５１】
ワーク支持装置１２２は、図略のワークを支持するための装置であり、所定の設置場所に設置されている。このワーク支持装置１２２は、鉛直面である支持面１２２ａを有しており、この支持面１２２ａにワークを接触させた状態でそのワークを支持する。このワーク支持装置１２２にセットされたワーク上にワーク座標系が設定される。具体的には、水平面内で支持面１２２ａと平行なｘ軸と、水平面内で支持面１２２ａに対して垂直なｙ軸と、それらｘ軸及びｙ軸の両方に直交するｚ軸とからなるワーク座標系がワーク上に設定される。
【０１５２】
主軸ヘッド１２３は、上記実施形態と同様、工具１０６を保持し、その工具１０６を軸回りに回転させるものである。
【０１５３】
水平移送装置１２４は、パラレルリンク機構１２６全体を水平面内においてワーク支持装置１２２の支持面１２２ａに平行な方向、すなわちワーク座標系のｘ軸と平行な方向に延びるＵ軸に沿って移送し、それによって工具１０６をＵ軸に沿って移送する。なお、水平移送装置１２４は、本発明の移送装置及び第２移送装置の概念に含まれるものであり、Ｕ軸は、本発明の移送軸及び第２移送軸の概念に含まれるものである。水平移送装置１２４は、この工作機械に設けられている全ての移送装置の中で最も加速性の悪い移送装置であり、Ｕ軸についての許容加速度は他の移送軸についての許容加速度に比べて低い値に設定されている。また、水平移送装置１２４は、基台１２４ａと、水平支持体１２４ｂと、水平支持体移送部１２４ｃ（図２１参照）とを有する。
【０１５４】
基台１２４ａは、支持面１２２ａに垂直な方向においてワーク支持装置１２２から離間した場所に設置されており、この基台１２４ａ上に水平支持体１２４ｂがＵ軸に沿って移動可能となるように設けられている。この水平支持体１２４ｂは、パラレルリンク機構１２６を下から支持している。具体的には、この水平支持体１２４ｂの上面にパラレルリンク機構１２６の後述する支持脚１２８ａが設置されている。水平支持体移送部１２４ｃは、水平支持体１２４ｂをＵ軸に沿って移送するものである。この水平支持体移送部１２４ｃは、駆動源として図略のサーボモータを有しており、そのモータの動力によって水平支持体１２４ｂを移送する。
【０１５５】
パラレルリンク機構１２６は、主軸ヘッド１２３に装着された工具１０６を、加工プログラムに含まれる工具１０６の先端の位置座標の軌跡と工具軸ベクトルの変化に従って動かすものであるが、本実施形態では、工具軸ベクトルについてはワーク座標系（ｘ，ｙ，ｚ）において（０，０，１）に固定した状態で当該パラレルリンク機構１２６を作動させるものとする。このパラレルリンク機構１２６は、ヘッド支持部１２８と、複数の工具移送装置１３１〜１３６と、先端ジョイント１３８と、ストラット支持機構１４０とを有する。
【０１５６】
ヘッド支持部１２８は、主軸ヘッド１２３を支持するものである。
【０１５７】
第１〜第６工具移送装置１３１〜１３６は、それぞれ、主軸ヘッド１２３を各々の移送軸であるＬ１〜Ｌ６軸に沿って動かすことによりそのＬ１〜Ｌ６軸方向に工具１０６を動かすものである。これら第１〜第６工具移送装置１３１〜１３６は、それぞれ、本発明の移送装置及び第１移送装置の概念に含まれるものであり、Ｌ１〜Ｌ６軸は、それぞれ、本発明の第１移送軸の概念に含まれるものである。第１工具移送装置１３１は、第１ストラット１３１ａ及び第１ストラット移送部１３１ｂを備えており、第２工具移送装置１３２は、第２ストラット１３２ａ及び第２ストラット移送部１３２ｂを備えている。第３工具移送装置１３３は、第３ストラット１３３ａ及び第３ストラット移送部１３３ｂを備えており、第４工具移送装置１３４は、第４ストラット１３４ａ及び第４ストラット移送部１３４ｂを備えている。また、第５工具移送装置１３５は、第５ストラット１３５ａ及び第５ストラット移送部１３５ｂを備えており、第６工具移送装置１３６は、第６ストラット１３６ａ及び第６ストラット移送部１３６ｂを備えている。
【０１５８】
第１〜第６ストラット１３１ａ〜１３６ａは、それぞれ、一方向に延びる棒状に形成されている。各ストラット１３１ａ〜１３６ａは、その一端部が先端ジョイント１３８を介してヘッド支持部１２８の基端部側（主軸ヘッド１２３を支持する側と反対側）に関節移送可能なように接続され、それによって、ヘッド支持部１２８を支持している。各ストラット１３１ａ〜１３６ａは、各々の長手方向に延びるＬ軸に沿って移動可能となるようにストラット支持機構１４０によって支持されている。ストラット支持機構１４０は、水平移送装置１２４の水平支持体１２４ｂ上に設置されている。このストラット支持機構１４０は、ヘッド支持部１２８を支持する各ストラット１３１ａ〜１３６ａの一端部側が水平支持体１２４ｂ上からワーク支持装置１２２側へ張り出すようにそれら各ストラット１３１ａ〜１３６ａをそれぞれ支持する。
【０１５９】
ストラット支持機構１４０は、水平支持体１２４ｂ上に設置された支持脚１４０ａと、その支持脚１４０ａによって支えられたストラット支持部１４０ｂとを有する。ストラット支持部１４０ｂは、ワーク支持装置１２２側から見て正三角形の各頂点に位置するように配設されている。各ストラット支持部１４０ｂは、ストラット１３１ａ〜１３６ａを２本ずつ支持しており、その支持しているストラットが各々の長手方向（軸方向）に移動可能となるようにそのストラットを支持している。
【０１６０】
第１〜第６ストラット移送部１３１ｂ〜１３６ｂ（図２１参照）は、第１〜第６ストラット１３１ａ〜１３６ａのうち対応するものを対応するＬ軸に沿って動かすことにより、ヘッド支持部１２８及び主軸ヘッド１２３とともに工具１０６をそのＬ軸方向に動かす。各ストラット移送部１３１ｂ〜１３６ｂは、駆動源として図略のサーボモータを有しており、そのモータの動力により対応するストラット１３１ａ〜１３６ａを移送する。
【０１６１】
図略の制御盤は、前記各移送装置１２４ｃ，１３１ｂ〜１３６ｂや主軸ヘッド１２３、その他の移送部の制御及び操作を行うためのものである。この制御盤内に、図２１に示す当該変形例による数値制御装置２が組み込まれている。
【０１６２】
当該変形例による数値制御装置２は、上記実施形態による数値制御装置２と同様の記憶部４、メモリ５及び演算処理部６を備えている。
【０１６３】
この変形例では、記憶部４は、ワークの加工時に工具１０６が通るべきワーク座標系での工具１０６の位置座標の軌跡と、工具１０６の移送速度を示す工具移送速度指令と、ワーク座標系での工具１０６の位置座標の軌跡に対応するＵ軸上の位置座標の軌跡とを含む加工プログラムを記憶している。なお、この変形例では、工具１０６の姿勢をその工具軸ベクトルがワーク座標系（ｘ，ｙ，ｚ）において（０，０，１）となる姿勢に固定した状態でワークの加工を行うので、加工プログラムには工具１０６の姿勢（傾き）を変える命令は含まれていない。また、この変形例では、移送軸パス導出部３４、移送軸パス滑らか補間部１６ａ、移送軸パス局部フィルタ１６ｂの移送軸パス局部補間部１６ｃ及び移送軸パス誤差補正部１６ｄは、ワークの加工時に水平移送装置１２４がパラレルリンク機構１２６及び主軸ヘッド１２３とともに工具１０６を動かす基準となるＵ軸上での特定点の動きをＵ軸上の位置座標と媒介変数の関数によって表すＵ軸パスについて、上記実施形態でＷ軸パスについて行われた処理と同様の処理を行う。なお、Ｕ軸パスは、本発明の第２移送軸パスの概念に含まれるものである。また、媒介変数時間関数導出部１８は、上記補間後Ｗ軸パスの代わりとして補間後Ｕ軸パスを用いて、上記実施形態と同様の手法により媒介変数時間関数を導出する。
【０１６４】
また、パルス補間部２２は、媒介変数時間関数導出部１８によって導出された媒介変数時間関数から基準時刻の基準単位時間毎の各時点に対応する媒介変数を求め、その求めた各時点での媒介変数に対応する補間後ツールパスのワーク座標系での位置座標と、その各時点の媒介変数に対応する補間後Ｕ軸パスのＵ軸上での位置座標とを求める。そして、パルス補間部２２は、求めた各時点のＵ軸上での位置座標を拘束条件とし、ワーク座標系における工具１０６の位置座標と各移送軸上の位置座標との相関関係を示す関係式に基づいて、各移送軸上の位置座標を求める。
【０１６５】
この際、パルス補間部２２は、上記実施形態と同様にして主軸位置の座標（Ｓｘ，Ｓｙ，Ｓｚ）を求めるとともに、一定値である工具軸ベクトル（０，０，１）を求め、その後、以下の運動学関係式（３１）、（３２）に基づいて、補間後ツールパスが示す位置座標と、補間後Ｕ軸パスが示す位置座標とに対応する各移送軸（Ｕ軸、Ｌ１〜Ｌ６軸）上の位置座標を求める。この時、上記のように求めた補間後Ｕ軸パスのＵ軸上での位置座標を下記ｕの値とするという拘束条件を用いて各移送軸（Ｌ１〜Ｌ６軸）上の位置座標を求める。なお、ここで求めるＬ１〜Ｌ６軸上の各位置座標をｌ［ｉ］（ｉ＝０，１，２，３，４，５）とする。
【０１６６】
（ｌ［ｉ］＋ｏ［ｉ］）２＋ｄ２＝（Ｎ［ｊ］［０］−ｔ［ｋ］［０］）２＋（Ｎ［ｊ］［１］−ｔ［ｋ］［１］）２＋（Ｎ［ｊ］［２］−ｔ［ｋ］［２］）２・・・（３１）
ｔ［ｋ］［ｉｉ］＝（Ｓｘ−ｕ，Ｓｙ，Ｓｚ）＋Ｔ［ｋ］［０］×ｍ［０］［ｉｉ］＋Ｔ［ｋ］［０］×ｍ［１］［ｉｉ］＋Ｔ［ｋ］［２］）×ｍ［２］［ｉｉ］・・・（３２）
ここで、ｄは、ストラット支持部１４０ｂの中心とそのストラット支持部１４０ｂに支持されているストラットの軸心との間のずれを示す機械定数である。また、ｉ＝０，１，２，３，４，５であり、ｉｉ＝０，１，２である。また、Ｎ［ｊ］［０］、Ｎ［ｊ］［１］、Ｎ［ｊ］［２］は、３つのストラット支持部１４０ｂの中心のワーク座標系での位置座標である。また、Ｔ［ｋ］［０］、Ｔ［ｋ］［１］、Ｔ［ｋ］［２］は、３つの先端ジョイント１３８の位置座標である。また、ｏ［ｉ］は、各ストラット１３１ａ〜１３６ａがストラット支持部１４０ｂに支持された点から対応する先端ジョイント１３８までの対応するＬ軸上における距離である。また、ｍ［０］［］、ｍ［１］［］、ｍ［２］［］は、ヘッド支持部１２８の主軸中心回り（工具１０６の軸心回り）の回転姿勢を拘束した状態において、ヘッド支持部１２８上に設定されたヘッド支持部１２８の姿勢を規定するための主軸座標系の互いに直交する３つの座標軸のワーク座標系への余弦を表すものである。当該変形例では、上記したように工具軸ベクトルを（０，０，１）に固定するため、ｘ軸と平行な軸回りにおける当該主軸ヘッド１２３の回転角度α及びｙ軸と平行な軸回りにおける当該主軸ヘッド１２３の回転角度βは０に固定される。そこで、ｍ［０］［］は以下の式（３３）で表され、ｍ［１］［］は以下の式（３４）で表され、ｍ［２］［］は以下の式（３５）で表される。
【０１６７】
ｍ［０］［］＝（ｃｏｓ（β），０，−ｓｉｎ（β））＝（１，０，０）・・・（３３）
ｍ［１］［］＝（ｓｉｎ（α）×ｓｉｎ（β），ｃｏｓ（α），ｓｉｎ（α）×ｃｏｓ（β））＝（０，１，０）・・・（３４）
ｍ［２］［］＝（ｃｏｓ（α）×ｓｉｎ（β），−ｓｉｎ（α），ｃｏｓ（α）×ｃｏｓ（β））＝（０，０，１）・・・（３５）
また、パルス補間部２２は、求めた各移送軸の基準単位時間毎の位置座標から上記実施形態と同様にしてＵ軸及びＬ１〜Ｌ６軸の各移送軸についての基準単位時間当たりの移送量を求める。そして、制御部２４は、その移送量を指令パルスとし、Ｕ軸についての指令パルスを水平支持体移送部１２４ｃのサーボモータへ出力し、Ｌ１〜Ｌ６軸についての指令パルスをそれぞれ対応するストラット移送部１３１ｂ〜１３６ｂのサーボモータへ出力する。これにより、水平支持体移送部１２４ｃは水平支持体１２４ｂを、第１〜第６ストラット移送部１３１ｂ〜１３６ｂは第１〜第６ストラット１３１ａ〜１３６ａの対応するものをそれぞれ制御部２４からの指令パルスが示す移送量の分、特定周期当たりに対応する移送軸に沿って動かす。
【０１６８】
この変形例による数値制御装置２の上記以外の構成及び制御プロセスは、上記実施形態による数値制御装置２と同様である。
【０１６９】
この変形例では、加工プログラムから求めたＵ軸パスを補間し、補間後のＵ軸パスが示すＵ軸上の位置座標を拘束条件として補間後ツールパスの単位時間毎の各時点の位置座標に対応する各移送軸上（Ｌ１〜Ｌ６軸上）の位置座標を求めるため、Ｌ１〜Ｌ６軸とＵ軸が不定軸となっていても、ツールパスに対応するＬ１〜Ｌ６軸上及びＵ軸上での前記各時点における位置座標を求めることができ、全ての移送軸について対応する移送装置１３１〜１３６，１２４の同時制御を行うことができる。また、この変形例では、工作機械が、Ｕ軸方向についての許容加速度が低い、すなわち、Ｕ軸に沿った動きが緩慢な水平移送装置１２４を含んでいても、その緩慢な動きを許容加速度の高い第１〜第６工具移送装置１３１〜１３６によるＬ１〜Ｌ６軸に沿った各ストラットの動作に伴う工具１０６の動きで補わせることにより、ワーク座標系におけるｘ軸方向への工具１０６の動きが悪くなるのを防ぐことができ、高速な加工制御を実現できる。また、この変形例では、補間後Ｕ軸パスのＵ軸上での各時点の位置座標を拘束条件としてＬ１〜Ｌ６軸上での各時点の位置座標を求めるため、Ｕ軸と同じｘ軸成分を含むＬ１〜Ｌ６軸上の位置座標として、Ｕ軸パスの補間によって生じた位置誤差を吸収した位置座標が求められる。このため、Ｕ軸パスの補間によって生じた位置誤差は、ワーク加工時の工具１０６の動きに反映されず、高精度の加工制御を実現できる。
【０１７０】
また、上記実施形態では、移送軸パス導出部３４が加工プログラムに含まれるＷ軸上での特定点の位置座標の軌跡と工具移送速度指令とに基づいてＷ軸パスを求めたが、Ｗ軸パスを導出するための構成は、このような構成に限定されない。例えば、移送軸パス導出部３４は、ツールパス導出部３２によって導出されたツールパスから特定の導出ルールに基づいてＷ軸パスを導出してもよい。ここで、特定の導出ルールとは、ツールパスが示すｚ軸座標に対して特定の比率（例えば１／２）を乗じて得た値をＷ軸パスのＷ軸座標とするというルールである。
【０１７１】
この構成によれば、ワークの加工時に工具１０６の先端点が通るべき複数の指令点の位置座標の情報と工具移送速度指令を含む加工プログラムを記憶部４に記憶させておくだけで、その加工プログラムからツールパス導出部３２がツールパスを導出した後、そのツールパスから移送軸パス導出部３４が自動的にＷ軸パスを導出するので、加工プログラムにおいてＷ軸上での特定点の位置座標の軌跡を指定しておく必要がなく、加工プログラムを簡略化することができる。
【０１７２】
また、同様に、上記変形例において、移送軸パス導出部３４が、ツールパス導出部３２によって導出されたツールパスから特定の導出ルールに基づいてＵ軸パスを導出してもよい。ここで、特定の導出ルールとは、例えばツールパスが示すｘ軸座標をそのままＵ軸パスのＵ軸座標とするというルールである。なお、この導出ルールとして、ツールパスが示すｘ軸座標に特定の比率を乗じて得た値をＵ軸パスのＵ軸座標とするというルールを採用してもよい。
【０１７３】
また、本発明による数値制御装置は、上記実施形態及び上記変形例で示したような工作機械以外の各種工作機械に適用することも可能である。上記実施形態及び上記変形例で示した工作機械以外の工作機械に本発明の数値制御装置を適用する場合において、第１移送軸と第２移送軸は、互いに平行な移送軸に限定されず、ワーク座標系における特定の同じ座標軸成分を含む移送軸であればよい。
【０１７４】
また、ツールパス局部フィルタ１５ｂと移送軸パス局部フィルタ１６ｂとによる分配区間幅及び補間区間幅の導出方法は、上記した方法に限定されるものではなく、上記方法以外の種々の導出方法により分配区間幅及び補間区間幅を求めてもよい。また、上記実施形態では、補間区間幅を分配区間幅に等しい大きさの区間幅としたが、補間区間幅はこのような区間幅に限定されない。すなわち、補間区間幅は、分配区間幅よりも大きい区間幅であってもよい。
【０１７５】
また、ツールパスの一次微分値を分配する際に用いる分配関数は、上記ベル型の分配関数に限定されず、ベル型以外の種々の分配関数によりその分配を行ってもよい。
【０１７６】
また、ツールパスの局部補間においては、補間区間内の補間対象点において必ずしも媒介変数による二次微分値が連続となるように補間する必要はない。例えば、ツールパスの補間区間内の補間対象点において媒介変数による一次微分値は連続となるが、二次微分値は依然不連続である状態にその補間区間を局部補間してもよい。
【０１７７】
また、滑らか補間後のパスにおいて媒介変数による二次微分値が上限値を超える区間が一定区間連続して存在する場合には、その一定区間分だけ分配区間を広げた区間を補間区間としてもよい。
【０１７８】
また、上記実施形態では、加工プログラムに工具の先端点が通るべき指令点のワーク座標系における位置座標の情報とその指令点に対応する工具軸ベクトルの情報とが含まれている例を示したが、加工プログラムに含まれる各指令点は、工具の先端点が通るべき位置座標と工具の姿勢を規定するＡ軸座標及びＣ軸座標からなっていてもよい。
【符号の説明】
【０１７９】
４  記憶部
１２  パス導出部
１５  ツールパス補間部
１６  移送軸パス補間部（第２移送軸パス補間部）
１８  媒介変数時間関数導出部
２２  パルス補間部
２４  制御部
３２  ツールパス導出部
３４  移送軸パス導出部（第２移送軸パス導出部）
１００  ワーク
１０２  テーブル移送装置（移送装置）
１０６  工具
１１０  揺動装置（移送装置）
１１２  回動装置（移送装置）
１１４  第１鉛直移送装置（第１移送装置、移送装置）
１１６  水平移送装置（移送装置）
１１８  第２鉛直移送装置（第２移送装置、移送装置）
１２４  水平移送装置（第２移送装置、移送装置）
１３１  第１工具移送装置（第１移送装置、移送装置）
１３２  第２工具移送装置（第１移送装置、移送装置）
１３３  第３工具移送装置（第１移送装置、移送装置）
１３４  第４工具移送装置（第１移送装置、移送装置）
１３５  第５工具移送装置（第１移送装置、移送装置）
１３６  第６工具移送装置（第１移送装置、移送装置）
【図１】
0005417390.tif 000011
【図２】
0005417390.tif 000012
【図３】
0005417390.tif 000013
【図４】
0005417390.tif 000014
【図５】
0005417390.tif 000015
【図６】
0005417390.tif 000016
【図７】
0005417390.tif 000017
【図８】
0005417390.tif 000018
【図９】
0005417390.tif 000019
【図１０】
0005417390.tif 000020
【図１１】
0005417390.tif 000021
【図１２】
0005417390.tif 000022
【図１３】
0005417390.tif 000023
【図１４】
0005417390.tif 000024
【図１５】
0005417390.tif 000025
【図１６】
0005417390.tif 000026
【図１７】
0005417390.tif 000027
【図１８】
0005417390.tif 000028
【図１９】
0005417390.tif 000029
【図２０】
0005417390.tif 000030
【図２１】
0005417390.tif 000031