(57)【要約】【課題】あらゆる構造の工作機械に共通な主要制御プロセスを提供する。【解決手段】加工対象物に固定された座標系上での姿勢変化を含む工具軌跡をＮＣプログラムに記述し、段取り基準座標系２０を機械テーブル２に固定設置し、加工対象物の設置位置と工具を装着する主軸の位置を段取り基準座標系２０で表し、駆動軸の構成に関わる部分を主軸の位置と駆動軸座標との相関関係の変換関数群に封じ込め、主要な制御プロセスをあらゆる工作機械に共通とする。すなわち、ＮＣプログラムの読み取りから、工具軌跡の（工具径補正他の）修正、加工物の設置位置と工具形状、寸法による変換を含む主軸の位置の軌跡への変換までを完全に共通とし、主軸の位置の軌跡算出以降の加減速制御を含む制御プロセスをも適宜変換関数群を呼ぶことで共通とする。【選択図】図９
2008225825.tif 000002
【特許請求の範囲】
【請求項１】
工具を装着する主軸と、前記主軸を固定して保持する主軸ヘッドと、加工対象物を固定設置する機械テーブルと、前記主軸ヘッドと前記機械テーブルの回転姿勢を含む相対位置関係を制御する複数の駆動軸と、該駆動軸を駆動するモーターとを少なくとも有し、前記機械テーブル上に座標軸の向きと原点の位置とが固定された段取り基準座標系が設定された工作機械を制御する数値制御装置であって、
準備手段と第１制御手段と第２制御手段と第3制御手段とを有し、
前記準備手段は、細分化されたサブ手段として少なくともＮＣプログラム管理手段と段取り情報管理手段と工具情報管理手段とを有し、
前記ＮＣプログラム管理手段は、前記加工対象物に固定されたプログラム座標系上の工具の姿勢を含む位置である工具位置の軌跡とその送り速度を指令する工具送り速度指令からなる工具パスと必要に応じての工具パス修正命令とが記述されたＮＣプログラムを準備情報メモリー部に記憶するものであり、
前記段取り情報管理手段は、前記機械テーブルへの前記加工対象物の姿勢を含む設置位置を前記プログラム座標系の原点座標と座標軸余弦の向きを示す前記段取り基準座標系上の位置情報である段取り情報を前記準備情報メモリー部へ記憶するものであり、
前記工具情報管理手段は、使用する工具の形状や該工具の長さや工具半径の補正量の寸法情報を含む工具情報を前記準備情報メモリー部へ記憶するものであり、
前記第１制御手段は、細分化されたサブ手段としてＮＣプログラム読み取り手段と工具パス修正手段とを有し、
前記ＮＣプログラム読み取り手段は、前記ＮＣプログラムに記述された前記工具パスと前記工具パス修正命令とを読み取ってパス演算メモリー部に記憶するものであり、
前記工具パス修正手段は、前記工具パス修正命令に従って前記工具パスを修正するものであり、
前記第２制御手段は、前記段取り情報と前記工具情報とに基づいて前記駆動軸の構成の特徴を配慮して前記工具パスから全駆動軸の位置座標である駆動軸座標の軌跡である駆動軸パスを求めて前記パス演算メモリー部に記憶するものであり、
前記第３制御手段は、前記駆動軸パスから各補間周期ごとの各駆動軸の移動量を求めて前記モーターに出力するものであり、
さらに、前記準備手段は、細分化されたサブ手段として駆動軸構成管理手段を有し、
前記駆動軸構成管理手段は、前記主軸の回転姿勢を含む位置を前記段取り基準座標系上で表す位置情報である主軸位置と前記駆動軸座標との相関関係を示す関係式であって前記駆動軸の構成によって決まる逆運動学関係式に基づく前記主軸位置を前記駆動軸座標に変換する主軸駆動軸変換関数を機械情報メモリー部に記憶するものであり、
前記第２制御手段は、細分化されたサブ手段として主軸パス算出手段と駆動軸パス算出手段とを有し、
前記主軸パス算出手段は、前記駆動軸の構成とは無関係に、前記段取り情報と前記工具情報とに基づいて、前記工具パスを前記主軸位置の軌跡である主軸パスに変換して前記パス演算メモリー部に記憶するものであり、
前記駆動軸パス算出手段は、前記主軸駆動軸変換関数を使用して前記主軸パスを前記駆動軸パスに変換して前記パス演算メモリー部に記憶するものであることを特徴とする数値制御装置。
【請求項２】
前記準備手段は、細分化したサブ手段として、さらに、前記工作機械が前記逆運動学関係式に基づいて前記主軸位置に対応する前記駆動軸座標を求める時にその解が無数にあるという冗長度を持つ駆動軸構成を有する場合において、前記逆運動学関数に加えることで前記主軸位置に対応する前記駆動軸座標を１つに規定する追加条件である冗長度拘束条件を前記パス演算メモリー部に記憶する冗長度拘束条件追加手段を有し、
前記主軸駆動軸変換関数は、前記パス演算メモリー部に記憶された前記冗長度拘束条件と前記逆運動学関数とを併せて使用することで前記主軸位置に対応する１つの前記駆動軸座標を算出する関数であることを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記準備手段は、さらに、細分化した制御手段として、送り制御条件管理手段を含んで構成され、
前記送り制御条件管理手段は、各駆動軸座標を時間でそれぞれ一次、二次、三次微分した各駆動軸の速度、加速度、ジャークそれぞれの許容最大値を含む駆動軸加減速条件を記憶するものであり、
前記第１制御手段は、さらに、細分化されたサブ手段として工具パス媒介変数表現手段を有し、
前記工具パス媒介変数表現手段は、前記工具パスを、該工具パスに含まれる前記工具軌跡を該工具軌跡の姿勢変化を含む移動距離の積算長であるｓを媒介変数とする関数で表現し、前記工具送り速度指令を前記ｓの速度に変換して、前記ｓを媒介変数とする関数として表現した工具パスに変更するものであり、
前記主軸パス算出手段は、前記ｓを媒介変数として関数表現した主軸パスを求めるものであり、
前記駆動軸パス算出手段は、前記ｓを媒介変数として関数表現した駆動軸パスを求めるものであり、
前記第３制御手段は、細分化されたサブ手段として加減速補間制御手段とパルス補間手段とを有し、
前記加減速補間制御手段は、前記工具送り速度指令と前記駆動軸加減速条件とに基づいて前記ｓの時々刻々の値を決定するものであり、
前記パルス補間手段は、決定した前記ｓの時々刻々の値に基づいて補間周期ごとの前記ｓの値を求め、該ｓの値に応じた駆動軸座標を求めて、前記補間周期ごとの各駆動軸の移動量を算出し前記モーターに出力するものであり、
前記駆動軸構成管理手段は、前記主軸駆動軸変換関数に加えて、前記逆運動学関係式に基づいて前記各駆動軸座標を前記主軸位置の各成分で1次、2次、3次偏微分した値を求める駆動軸偏微分値取得関数を前記機械情報メモリー部に記憶し、さらに、各駆動軸ごとに、前記駆動軸パスの修正に許される位置誤差である駆動軸パス修正許容誤差を、前記準備情報メモリー部に記憶するものであり、
前記加減速補間制御手段は、さらに細分化したサブ手段として、ブロック滑らか補間手段とコーナー滑らか補間手段と送り制御条件転換手段と媒介変数加減速決定手段とを有し、
前記ブロック滑らか補間手段は、各指令ブロックごと、各駆動軸ごとに、始点、終点の少なくとも一方が隣接するブロックと滑らかに接続するかの適否を判断した上で、始点において滑らかに接続する場合には、該ブロックの始点と該ブロックの直前のブロックの終点とにおける共通で適切な前記ｓによる一次微分値と二次微分値を求めて始点接続条件として規定し、終点において滑らかに接続する場合には、該ブロックの終点と該ブロックの直後のブロックの始点とにおける共通で適切な前記ｓによる一次微分値と二次微分値を求めて終点接続条件として規定し、前記始点接続条件及び終点接続条件の少なくとも一方で規定した一次微分値、二次微分値を持つ滑らかブロック曲線を求め、該ブロックを該滑らかブロック曲線に置き換える駆動軸パスの修正を実施するものであり、
前記コーナー滑らか補間手段は、前記ブロック滑らか補間手段で求めた、連続動作させるべき一連の駆動軸パスにおいて、前記駆動軸パスの各指令ブロックの終点と、次の指令ブロックの始点とにおける前記ｓによる一次微分値と二次微分値のいずれかが一致しない場合には、各駆動軸パスの前記ｓによる一次微分値、二次微分値の不連続変化部分をなくすべく、該ブロックと該ブロックの次の指令ブロックに一次微分値と二次微分値を一致させ、元の駆動軸パスとの誤差が前記駆動軸パス修正許容誤差以下の一次微分、二次微分値が連続変化する滑らかコーナー曲線を求めて該両接点間の駆動軸パスを該滑らかコーナー曲線に置き換える駆動軸パスの修正を実施するものであり、
前記送り制御条件転換手段は、前記主軸駆動軸変換関数と駆動軸偏微分値取得関数を使用して、前記駆動軸加減速条件を元に、駆動軸パスの各部分における前記ｓおよび前記ｓの速度、前記ｓの加速度、前記ｓのジャークの条件式である媒介変数加減速条件を導き、
前記媒介変数加減速決定手段は、前記媒介変数加減速条件と前記ｓの送り速度指令の範囲内でかつ最高速とする条件のもとに前記ｓの時間の関数表現である媒介変数時間関数s(t)を求めるものであり、
前記パルス補間手段は、前記媒介変数時間関数をもとに各補間周期毎の各駆動軸移動量を算出してモーターへ出力するものであることを特徴とする請求項１又は２に記載の数値制御装置。
【請求項４】
前記滑らかブロック曲線は、前記ブロックの始点と終点のいずれにおいても一次微分値、二次微分値を規定する場合には、３つの前記ｓの三次多項式で表す曲線を一次微分値、二次微分値が連続変化するように連結したものであり、
前記滑らかコーナー曲線は、３つの前記ｓの三次多項式で表す曲線を一次微分値、二次微分値が連続変化するように連結した構成であることを特徴とする請求項３に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パラレルメカニズム機や様々な形態の5軸機をはじめとするあらゆる機械構造の工作機械の数値制御において、制御用ソフトウェアのほとんど全てをあらゆる機械に共通とするソフトウェア構造化技術と、加減速制御技術に関する。
【背景技術】
【０００２】
従来、種々の工作機械が知られており、その制御方式はモーターで駆動する駆動軸の構成によって確定する。駆動軸の構成は、同時2軸制御の旋盤から、同時３軸のマシニングセンター、ヘッド側回転型5軸機、テーブル回転型5軸機、混合型5軸機、パラレルメカニズム機など様々である。
【０００３】
プログラム座標系を定義し、そのプログラム座標系上での工具の移動軌跡をＮＣプログラムに記述する。このＮＣプログラムに基づいて駆動軸を駆動して工作機械を動かすのが数値制御装置の役割である。５軸機における数値制御プロセスには、５軸における工具長補正、５軸における工具径補正、５軸における工具先端を正確に移動させる為の補間制御、綺麗に速く加工するための送り加減速制御がある。これらの計算には、回転軸に基づく計算を必要とする。駆動軸の構成によって、計算方法を変えなければならない。結果として、いろんな制御プロセスにおいて駆動軸構成に応じた変更を余儀なくされた。駆動軸の構成が変わるたびに技術検討を繰り返し、特徴が変われば、また似ているが異なる複数の機能を作っている。複数の機能が絡み合い、複雑さを増している。例えば、５軸における工具長補正、５軸における工具先端を正確に移動させる為の補間制御、綺麗に速く加工するための送り加減速制御などは、それぞれを個別に切り離すことが出来ずに混然一体となっている。
【０００４】
駆動軸の構成に関わる部分を抽出してブラックボックス化し、各制御プロセスを単純化し、可能な限り多くの部分を共通化し、簡易化されるべきであるが、駆動軸の構成に関わる部分の抽出が不完全でブラックボックス化されておらず、結果、ソフトウェアが肥大化、複雑化してしまい、開発時間及び保守時間が増大している。この現状を、次に、2種類の5軸機とパラレルメカニズム機とを例に説明する。
【０００５】
5軸機は通常、ＸＹＺの直線軸からなる3軸と２つの回転軸の計５つの駆動軸を有する。通常、3つの直線軸は互いに直交している。２つの回転軸は、主軸を有するヘッド側を回動させるものと、加工物を設置する機械テーブルを回動させるものと、ヘッドと機械テーブルとをそれぞれ回動させるものである。
【０００６】
初期段階のヘッド回転型5軸機の数値制御では、ＮＣプログラム座標系としてＸＹＺの３つの直線軸に平行なワーク座標系を設定し、回転軸の回転中心であるコントロールポイントの該ワーク座標系上の座標値と回転軸座標とで機械の動作を記述したＮＣプログラムで制御していた。このＮＣプログラムは、工具の移動軌跡を記述するのではなく、加工物を削る為のコントロールポイントの動きを記述していた。
【０００７】
コントロールポイントの動きのＮＣプログラムは、工具長が変われば作り直しとなる。そこで、工具長が変わってもそのまま使用可能な数値制御が課題となった。この課題は、工具の動きを工具の先端点の座標で記述する工具先端点制御で解決された。すなわち、実際の工具の長さと工具の傾斜に応じてコントロールポイントの座標値を計算し、機械を動かすことで解決された。
【０００８】
ただ、この考えは、テーブルが回動する回転軸を有するテーブル回転型5軸機には、そのまま適用できなかった。テーブルの回動とともに加工物が回動してしまうため、加工物の座標系と機械のＸＹＺ座標軸との平行関係が崩れるためである。この課題は、特許文献１に示すように、機械テーブルとともに回動する座標系をプログラム座標系とし、該プログラム座標系上の工具の移動軌跡をＮＣプログラムに記述し、工具の移動軌跡をテーブルの回動に伴う座標変換も配慮して駆動軸座標に変換する5軸変換を採用することで解決された。つまり同じ目的の工具先端点制御機能を、似ているが異なる別物として開発した。命令も違うし、使用上の注意事項も異なる。工具パスを指定した補正量だけシフトする５軸工具径補正機能も同様に、駆動軸の構成によって似ているが異なる機能としてしまった。
【０００９】
次に、パラレル機について説明する。使用者側の立場から観ればパラレル機も5軸機と同じである。他の5軸機とほとんど共通となれば、開発も早く、低コストで済む。しかしながら、現実にはパラレルメカニズム機の数値制御は難しいものとして特別扱いされている傾向があった。例えば、特許文献２には、工作機械の加工精度を向上させるために加工ツールの滑らかな速度変化を可能にする制御が記載されている。特許文献３には、パラレルメカニズム機などにおける、直交座標系でない駆動軸を有する工作機械の各駆動軸の送り速度を制御するものが記載されている。特許文献４には、パラレルメカニズム機の制御に関するものが記載されている。特許文献４の記載からは、パラレルメカニズム機の制御を、その都度かなりの時間をかけて開発してきた経緯が窺われる。
【００１０】
これらの特許文献に記載の技術からパラレルメカニズム機の制御を実現するには、かなりの労力が払われたか、今後払われるであろう。パラレルメカニズム機においても、工具の移動軌跡に対する制御を実現するという意味では他の5軸機と全く同じであり、逆運動学関係式が異なる点を除けば、その他の違いは無いはずである。パラレルメカニズム機をも含むあらゆる工作機械に共通なソフトウェアで構成する数値制御装置が実現されても不思議ではない。
【００１１】
続いて、加減速制御について説明する。特許文献２に記載の技術が開発される以前には、同文献２の図３に説明されているＢ加減速が不可欠であったが、最終経路はＢ加減速に起因した経路誤差を発生させていた。この経路誤差は、内回り誤差と呼ばれ、時定数と呼ばれる機械定数の2乗と速度の2乗にほぼ比例する値となる特徴を持っているとされている。この時定数は、許容加速度に対応する機械パラメータであり、許容加速度が大であれば小さく、許容加速度が小であれば大きい値を設定する特徴を持っている。大型の工作機械では、許容加速度は相対的に小さいので、時定数を大きく設定する。機械の加減速を滑らかにするために前記Ｂ加減速を使用すると前記経路誤差、すなわち内回り誤差を発生させ、これを許容値内に押さえるために速度を落とさなければならなかった。特許文献２によれば、円弧補間を例として、前記Ｂ加減速を不要とする技術を開示している。ところが、この方式は、円弧のようにもともと滑らかな曲線の場合には有効であるが、一般的によく使われる短い直線指令ブロックの集まりで工具の移動軌跡を記述しているＮＣプログラムに対しては必ずしも有効ではない。短い直線ブロックの場合、各ブロックの境界で工具パスが折れており、特許文献２に記載されている第一次補間の結果が、元々の折れ線上にランダムに作成されているため、その後、多項式で滑らかに補間しようとしても出来ない。また、他の方法として、ナノスムージングという工具パスを滑らかな曲線に変更する方法が提案されているが、滑らかに変更できる条件が限定されており、例えば、工具パスの進行方向ベクトルの向きがある角度より大きく変わる点間においては曲線に変換されない。そのため、一般的によく使われる短い直線ブロックの集まりのＮＣプログラムを元に制御する場合には、前記Ｂ加減速を使用せざるを得ない。前記Ｂ加減速を使えば、円弧補間のような滑らかな移動において前記内回り誤差が発生してしまう。従って、メカ的にはもっと速く動かせる時でも、前記内回り誤差を許容値内に収めるためには、減速しなければならない。その結果、どのような工具パスに対しても有効で、このような減速をすることのない加減速制御が求められている。それも、あらゆる工作機械に共通に利用出来れば理想的である。
【００１２】
また、駆動軸の構成として、互いに平行な２つの駆動軸を有し、可動域を広げる工作機械も実存する。例えば、図１に示すような、駆動軸Ｚに平行な駆動軸Ｗを有する工作機械では、機械のふところを広げてより嵩のある加工物を加工できる。しかしながら、この駆動軸Ｚと駆動軸Ｗとを同時に使う場合には、他の機能との併用、例えば、工具径補正や円弧補間との併用はできないというように、様々な制限がある。かかる工作機械のような機械において、駆動軸Ｚと駆動軸Ｗとの使用を適切に振り分け、他の機能との併用においても何の制約もない数値制御装置が求められている。
【特許文献１】特開２００３−１９５９１７
【特許文献２】特開平１１−１４９３０６
【特許文献３】特開２００５―５６１７１
【特許文献４】特開２００１―９２５０８
【発明の開示】
【発明が解決しようとする課題】
【００１３】
本発明はこのような現状に鑑みてなされたものであり、第１の課題は、駆動軸の構成に依存する部分を前記主軸位置と前記駆動軸座標との関係式である前記逆運動学関係式のみとし、その他の工具径補正のような工具パスの編集、工具長や工具形状に基づく変換や、加工対象物の設置位置による変換などをあらゆる機械に共通とするソフトウェア構造を実現することにある。パラレルメカニズム機においても例外ではない。これにより、ほとんど全ての数値制御プロセスを、一度作ればどんな機械にもそのまま使えるようにでき、結果として、無駄を大きく削減し、技術発展に貢献することが可能となる。
【００１４】
また、平行な駆動軸を有する特殊な機械も例外ではなく、逆運動学関係式を工夫することで対応可能とする。このケースにおいては、平行軸をどのように同時使用するかの条件を追加して逆運動学関係式を補強し、主軸位置に対する1つの駆動軸座標を算出可能にするだけで、他の機能との制限無き併用を可能とする。
【００１５】
第２の課題は、前記逆運動学関係式に基づく関数群の他は、あらゆる機械に共通で、前記Ｂ加減速を全く必要としない、送り速度加減速制御を実現することにある。第２の課題では、機械に許される送り速度加減速条件ぎりぎりの送り速度制御を実現する。かかる加減速制御においては、元々滑らかな曲線部における内回り誤差に相当する誤差を発生させず、かつ該誤差を抑えるための減速を不要とする。しかも、逆運動学関係式に依存する一部を除いて、あらゆる機械に共通な制御技術となる。
【課題を解決するための手段】
【００１６】
請求項１記載の発明は、工具を装着する主軸と、前記主軸を固定して保持する主軸ヘッドと、加工対象物を固定設置する機械テーブルと、前記主軸ヘッドと前記機械テーブルの回転姿勢を含む相対位置関係を制御する複数の駆動軸と、該駆動軸を駆動するモーターとを少なくとも有し、前記機械テーブル上に座標軸の向きと原点の位置とが固定された段取り基準座標系が設定された工作機械を制御する数値制御装置であって、準備手段と第１制御手段と第２制御手段と第3制御手段とを有し、前記準備手段は、細分化されたサブ手段として少なくともＮＣプログラム管理手段と段取り情報管理手段と工具情報管理手段とを有し、前記ＮＣプログラム管理手段は、前記加工対象物に固定されたプログラム座標系上の工具の姿勢を含む位置である工具位置の軌跡とその送り速度を指令する工具送り速度指令からなる工具パスと必要に応じての工具パス修正命令とが記述されたＮＣプログラムを準備情報メモリー部に記憶するものであり、前記段取り情報管理手段は、前記機械テーブルへの前記加工対象物の姿勢を含む設置位置を前記プログラム座標系の原点座標と座標軸余弦の向きを示す前記段取り基準座標系上の位置情報である段取り情報を前記準備情報メモリー部へ記憶するものであり、前記工具情報管理手段は、使用する工具の形状や該工具の長さや工具半径の補正量の寸法情報を含む工具情報を前記準備情報メモリー部へ記憶するものであり、前記第１制御手段は、細分化されたサブ手段としてＮＣプログラム読み取り手段と工具パス修正手段とを有し、前記ＮＣプログラム読み取り手段は、前記ＮＣプログラムに記述された前記工具パスと前記工具パス修正命令とを読み取ってパス演算メモリー部に記憶するものであり、前記工具パス修正手段は、前記工具パス修正命令に従って前記工具パスを修正するものであり、前記第２制御手段は、前記段取り情報と前記工具情報とに基づいて前記駆動軸の構成の特徴を配慮して前記工具パスから全駆動軸の位置座標である駆動軸座標の軌跡である駆動軸パスを求めて前記パス演算メモリー部に記憶するものであり、前記第３制御手段は、前記駆動軸パスから各補間周期ごとの各駆動軸の移動量を求めて前記モーターに出力するものであり、さらに、前記準備手段は、細分化されたサブ手段として駆動軸構成管理手段を有し、前記駆動軸構成管理手段は、前記主軸の回転姿勢を含む位置を前記段取り基準座標系上で表す位置情報である主軸位置と前記駆動軸座標との相関関係を示す関係式であって前記駆動軸の構成によって決まる逆運動学関係式に基づく前記主軸位置を前記駆動軸座標に変換する主軸駆動軸変換関数を機械情報メモリー部に記憶するものであり、前記第２制御手段は、細分化されたサブ手段として主軸パス算出手段と駆動軸パス算出手段とを有し、前記主軸パス算出手段は、前記駆動軸の構成とは無関係に、前記段取り情報と前記工具情報とに基づいて、前記工具パスを前記主軸位置の軌跡である主軸パスに変換して前記パス演算メモリー部に記憶するものであり、前記駆動軸パス算出手段は、前記主軸駆動軸変換関数を使用して前記主軸パスを前記駆動軸パスに変換して前記パス演算メモリー部に記憶するものであることを特徴とするものである。
【００１７】
請求項２記載の発明は、請求項１に記載の数値制御装置において、前記準備手段は、細分化したサブ手段として、さらに、前記工作機械が前記逆運動学関係式に基づいて前記主軸位置に対応する前記駆動軸座標を求める時にその解が無数にあるという冗長度を持つ駆動軸構成を有する場合において、前記逆運動学関数に加えることで前記主軸位置に対応する前記駆動軸座標を１つに規定する追加条件である冗長度拘束条件を前記パス演算メモリー部に記憶する冗長度拘束条件追加手段を有し、前記主軸駆動軸変換関数は、前記パス演算メモリー部に記憶された前記冗長度拘束条件と前記逆運動学関数とを併せて使用することで前記主軸位置に対応する１つの前記駆動軸座標を算出する関数であることを特徴とする。
【００１８】
請求項３記載の発明は、請求項１又は２に記載の数値制御装置において、前記準備手段は、さらに、細分化した制御手段として、送り制御条件管理手段を含んで構成され、前記送り制御条件管理手段は、各駆動軸座標を時間でそれぞれ一次、二次、三次微分した各駆動軸の速度、加速度、ジャークそれぞれの許容最大値を含む駆動軸加減速条件を記憶するものであり、前記第１制御手段は、さらに、細分化されたサブ手段として工具パス媒介変数表現手段を有し、前記工具パス媒介変数表現手段は、前記工具パスを、該工具パスに含まれる前記工具軌跡を該工具軌跡の姿勢変化を含む移動距離の積算長であるｓを媒介変数とする関数で表現し、前記工具送り速度指令を前記ｓの速度に変換して、前記ｓを媒介変数とする関数として表現した工具パスに変更するものであり、前記主軸パス算出手段は、前記ｓを媒介変数として関数表現した主軸パスを求めるものであり、前記駆動軸パス算出手段は、前記ｓを媒介変数として関数表現した駆動軸パスを求めるものであり、前記第３制御手段は、細分化されたサブ手段として加減速補間制御手段とパルス補間手段とを有し、前記加減速補間制御手段は、前記工具送り速度指令と前記駆動軸加減速条件とに基づいて前記ｓの時々刻々の値を決定するものであり、前記パルス補間手段は、決定した前記ｓの時々刻々の値に基づいて補間周期ごとの前記ｓの値を求め、該ｓの値に応じた駆動軸座標を求めて、前記補間周期ごとの各駆動軸の移動量を算出し前記モーターに出力するものであり、前記駆動軸構成管理手段は、前記主軸駆動軸変換関数に加えて、前記逆運動学関係式に基づいて前記各駆動軸座標を前記主軸位置の各成分で1次、2次、3次偏微分した値を求める駆動軸偏微分値取得関数を前記機械情報メモリー部に記憶し、さらに、各駆動軸ごとに、前記駆動軸パスの修正に許される位置誤差である駆動軸パス修正許容誤差を、前記準備情報メモリー部に記憶するものであり、前記加減速補間制御手段は、さらに細分化したサブ手段として、ブロック滑らか補間手段とコーナー滑らか補間手段と送り制御条件転換手段と媒介変数加減速決定手段とを有し、前記ブロック滑らか補間手段は、各指令ブロックごと、各駆動軸ごとに、始点、終点の少なくとも一方が隣接するブロックと滑らかに接続するかの適否を判断した上で、始点において滑らかに接続する場合には、該ブロックの始点と該ブロックの直前のブロックの終点とにおける共通で適切な前記ｓによる一次微分値と二次微分値を求めて始点接続条件として規定し、終点において滑らかに接続する場合には、該ブロックの終点と該ブロックの直後のブロックの始点とにおける共通で適切な前記ｓによる一次微分値と二次微分値を求めて終点接続条件として規定し、前記始点接続条件及び終点接続条件の少なくとも一方で規定した一次微分値、二次微分値を持つ滑らかブロック曲線を求め、該ブロックを該滑らかブロック曲線に置き換える駆動軸パスの修正を実施するものであり、前記コーナー滑らか補間手段は、前記ブロック滑らか補間手段で求めた、連続動作させるべき一連の駆動軸パスにおいて、前記駆動軸パスの各指令ブロックの終点と、次の指令ブロックの始点とにおける前記ｓによる一次微分値と二次微分値のいずれかが一致しない場合には、各駆動軸パスの前記ｓによる一次微分値、二次微分値の不連続変化部分をなくすべく、該ブロックと該ブロックの次の指令ブロックに一次微分値と二次微分値を一致させて接するようにし、元の駆動軸パスとの誤差が前記駆動軸パス修正許容誤差以下の一次微分、二次微分値が連続変化する滑らかコーナー曲線を求めて該両接点間の駆動軸パスを該滑らかコーナー曲線に置き換える駆動軸パスの修正を実施するものであり、前記送り制御条件転換手段は、前記主軸駆動軸変換関数と駆動軸偏微分値取得関数を使用して、前記駆動軸加減速条件を元に、駆動軸パスの各部分における前記ｓおよび前記ｓの速度、前記ｓの加速度、前記ｓのジャークの条件式である媒介変数加減速条件を導き、前記媒介変数加減速決定手段は、前記媒介変数加減速条件と前記ｓの送り速度指令の範囲内でかつ最高速とする条件のもとに前記ｓの時間の関数表現である媒介変数時間関数s(t)を求めるものであり、前記パルス補間手段は、前記媒介変数時間関数をもとに各補間周期毎の各駆動軸移動量を算出してモーターへ出力するものであることを特徴とする。
【００１９】
請求項４記載の発明は、請求項３に記載の数値制御装置において、前記滑らかブロック曲線は、前記ブロックの始点と終点のいずれにおいても一次微分値、二次微分値を規定する場合には、３つの前記ｓの三次多項式で表す曲線を一次微分値、二次微分値が連続変化するように連結したものであり、前記滑らかコーナー曲線は、３つの前記ｓの三次多項式で表す曲線を一次微分値、二次微分値が連続変化するように連結した構成であることを特徴とする。
【発明の効果】
【００２０】
請求項１記載の発明によれば、駆動軸の構成が影響する部分を、工具を装着する主軸の基準位置と駆動軸座標の相関関係式である逆運動学関係式のみとし、工具の形状と寸法や加工物の設置位置に関わる変換と完全に切り離した。その結果、主軸位置を求めるまでの工具径補正などの工具パスの修正、工具の形状や寸法に応じた座標変換、加工物の姿勢を含む設置位置に応じた座標変換などの工具パスに関わる機能の全てをあらゆる機械に対して共通にすることができる。一般的に工具長補正や、段取り誤差補正もあらゆる機械に共通な部分に含まれている。そして、使い方が共通なだけではなく、前記逆運動学関係式に関わる関数を駆動軸の構成ごとに作成しておくだけで、その他の全ての制御プロセスを全く同じソフトウェアであらゆる構造の機械に対応させることができる。すなわち、前記逆運動学関係式に関わる関数を除く全てを機械構造に関係なく一回だけ作成すればよく、従来のような、似て非なる物をその都度作成する必要も、無駄な労力を浪費することを防止できる。また、新たな構造の機械に対しても、逆運動学関数を構築し、これに関わる関数を作るのみでよく、駆動軸数、可動域、相互干渉などの物理的条件に支障がない限りそのまま使用可能となる。
【００２１】
請求項２記載の発明によれば、例えば、平行な駆動軸を複数有するなどの冗長度を持つ駆動軸の構成を有する工作機械においても逆運動学関係式に条件を1つ補強するだけで、その他は全く共通で全機能をそのまま使用できる。さらに連続同時制御と工具径補正や円弧補間等の他機能との併用が自在な数値制御を提供できる。また、平行軸を付加して可動域を広げた加工においても、従来技術では駆動軸の切り替え時に問題となっていた加工段差を発生させることのない上質の加工が可能になる。
【００２２】
請求項３、４記載の発明によれば、連続駆動する区間に対して、一次、二次微分連続の駆動軸パスに修正することで加速度の連続変化を保証し、加速度、ジャークの限界も配慮して補間周期毎の移動量を求め、それをそのままモーターに出力する一発補間方式を可能にできる。かつ、さらなる加減速補間処理を必要とせず、余分な誤差を発生させないので、駆動軸の限界ぎりぎりでの加減速制御が可能となる。特に自動車金型や航空機部品加工によく使われている短い直線補間命令での曲面加工においても、スプライン補間命令やＮＵＲＢＳ曲線命令での加工においても、機械に優しい滑らかな加減速制御が実現できる。しかも、あらゆる工作機械に対して共通なものとして１回作成するだけでよい。駆動軸の構成に依存する部分は、逆運動学関数に基づく主軸駆動軸変換関数、駆動軸偏微分値取得関数だけであり、１回作成しておけば、記憶部から呼び出すだけで共通に使用できる。
【発明を実施するための最良の形態】
【００２３】
図１は、本発明が適用される工作機械の一例としての５軸工作機械の全体を示す斜視図である。図１において、工作機械１は加工対象物としてのワークを保持する機械テーブル２を有する。機械テーブル２は、長手方向に前後に配設され、駆動軸Ｘの方向（水平な前後方向）に移動自在に構成されている。機械テーブル２の途中両側にはボールねじ部（図示せず）を有する一対の支柱３，３がそれぞれ立設されており、この支柱３，３の上端部に門型形状の梁部４が掛け渡されている。梁部４内には駆動源としてのモータＭＯ（図９参照）が配設されており、左右の支柱３，３のボールねじ部（図示せず）を傘歯車（図示せず）等を介して同期させて回転駆動させる構成となっている。支柱３，３のボールねじ部（図示せず）には、クロスレール５の両側部がそれぞれ螺合して掛け渡されており、支柱３，３のボールねじ部（図示せず）に沿って鉛直のＷ軸方向に移動自在に構成されている。ヘッド部材６は鉛直方向に長尺を有し、クロスレール５に支持され、左右方向であるＹ軸方向に沿って移動自在に構成されている。ヘッド部材６はＺ軸方向（上下方向）に出退して移動自在に配設されている。ヘッド部材６の下部には、内部に主軸ヘッド９を備える側面加工用のアタッチメント部材８などが装着されている。主軸ヘッド９にはドリルなどの工具類が水平方向に装着可能な主軸９１を有している。主軸９１は、主軸ヘッド９に対して、少なくとも１軸の水平軸周りに回動可能にされている。ドリルなどの工具類は、ヘッド部材６からの回転駆動力が主軸９１を介して伝達される構成となっている。機械テーブル２、クロスレール５及びヘッド部材６による４軸制御の駆動機構としては、例えばモータＭＯおよびボールねじなどで構成することができる。制御ボックス１０は、テーブル１、クロスレール５及びヘッド部材６の各軸を駆動するそれぞれのモータＭＯ（図９参照）を、オペレータによる入力プログラムに従って駆動制御するもので、機械テーブル２の近傍に配設されている。
【００２４】
図２は、本発明が適用可能な種々の機械構造の工作機械を概略図で例示したもので、（ａ）は工作機械１Ａを、（ｂ）は工作機械１Ｂを、（ｃ）は工作機械１Ｃを示している。図６は工作機械１Ｄを示し、図７は工作機械１Ｅを示している。なお、図６に示す工作機械１Ｄは、図２（ａ）の工作機械１ＡにＷ軸を付加したものであり、図７に示す工作機械１Ｅは、図２（ｃ）の工作機械１ＣにＵ軸を付加したものである。図８は、図７の工作機械１Ｅの一実施形態を示す構成図である。
【００２５】
図２に示すように、いずれの工作機械も、機械テーブル２、主軸ヘッド９、機械テーブル２と主軸ヘッド９との回転姿勢を含む相対位置関係を変化させる駆動軸Ａ、及び駆動軸Ａを動かすモーターＭＯ等の駆動源を有している。なお、主軸ヘッド９には、図１と同様に、工具を装着する主軸９１が固定設置されている。
【００２６】
工作機械１Ａは、図２（ａ）に示すように、Ａ、Ｂ、Ｘ、Ｙ、Ｚの５つの駆動軸を持ち、各軸に対応して駆動源を有している。駆動軸Ｘ，Ｙ、Ｚはそれぞれが互いに直交している。なお、工作機械１Ａは、厳密に言えばＡ軸とＢ軸との親子関係によっては異なる構成として区分すべき場合があるが、ここでは、説明に支障がないので特に分けることはしていない。工作機械１Ｂは、図２（ｂ）に示すようにＡ、Ｃ、Ｘ、Ｙ、Ｚの５つの駆動軸を持ち、駆動軸Ｃは機械テーブル２を回転させる駆動軸である。駆動軸Ｘ，Ｙ、Ｚはそれぞれが互いに直交している。工作機械１Cは、パラレルメカニズムを有するもので、図２（ｃ）に示すように、Ｘ１、Ｘ２、Ｘ３、Ｘ４、Ｘ５、Ｘ６の６つの駆動軸を有する。また、工作機械１Dは、図６に示すように、Ａ、Ｂ、Ｘ、Ｙ、Ｚ、Ｗの６つの駆動軸を持ち、このうち、駆動軸Ｚ、Ｗは互いに平行である。工作機械１Eは、図７に示すように、Ｘ１、Ｘ２、Ｘ３、Ｘ４、Ｘ５、Ｘ６、Ｕの７つの駆動軸を有する。
【００２７】
各工作機械には、原点と回転方向の姿勢とを機械テーブル２上に固定する段取り基準座標系２０が右手直交座標系として確立されている。この段取り基準座標系２０は、構造的な基準からの位置、姿勢が規定できる位置に決められている。なお、段取り基準座標系２０は、機械テーブル２上に一端確立された後は、原則的には変更されないものであって、例えば、次のように規定されている。工作機械１Ａでは、駆動軸Ｘ、Ｙ、Ｚにそれぞれ平行な座標軸を有する段取り基準座標系２０が確立される。工作機械１Ｂでは、駆動軸Ｃの座標がゼロの時に駆動軸Ｘ、Ｙ、Ｚにそれぞれ平行な座標軸を有し、駆動軸Ｃの回転中心線と機械テーブル２との交点を原点とする段取り基準座標系２０が確立される。工作機械１Ｃでは、直交座標系を構成する駆動軸そのものがないので、機械テーブル２上の適所に段取り座標系２０が確立される。図６，図７の工作機械１Ｄ，１Ｅも同様に機械テーブル２上の所定位置に段取り基準座標２０が設定されている。詳細は後述する。
【００２８】
図３は、工具位置と主軸位置との関係を説明するための図で、（ａ）はエンドミルを例示した場合、（ｂ）はアングル工具を例示した場合の概念図である。より詳細には、プログラム座標系上での工具の位置が決まったとき、工具を装着している前記主軸の段取り基準座標系２０上の姿勢を含む位置である主軸位置の関係を示す図である。
【００２９】
工具１１の位置は、機械テーブル２上の加工対象物Ｗ（図４、５参照）に対する工具１１の姿勢を含む相対的な位置であって、加工対象物Ｗに固定された右手直交座標系であるプログラム座標系３０上での工具１１の基準点１１１の座標値(x,y,z)と工具１１の姿勢を示すオイラー角(α,β,γ)とで表現される。α、βは工具１１の傾きを示し、γは工具１１の中心線周りの回転方向の角度を示す。なお、プログラム座標系３０は、1つの加工対象物上に複数設けてもよいが、ここでは、加工対象物Ｗに対して1つのプログラム座標系を設けた場合について説明する。また、工具１１の基準点１１１とは、一般的には、工具１１の中心線上の工具先端である。なお、オイラー角γは、工作機械１Ａ〜１Ｅにおいては、γ＝０に固定して、制御対象外としている。以後、工具１１の位置をp^と記す。
【００３０】
なお、以下において、明細書中で、上付添え字「^」が付された文字、及び図面中で太字で表記された文字はベクトルを表すものとする。
【００３１】
加工を開始する前に、加工対象物Ｗが機械テーブル２に固定設置され、その設置位置が段取り情報D^として取得されて記憶され、次いで、主軸９１に工具１１を装着して工具１１に関わる情報が工具情報T^として記憶される。段取り情報D^は、段取り基準座標系２０に対するプログラム座標系３０の回転姿勢も含む位置情報として記憶されるものである。工具情報T^は、例えば、図３（ａ）（ｂ）のようなエンドミル工具やアングル工具を示す工具の種類と各工具の形状を決定する寸法とを少なくとも含むデータで構成されている。
【００３２】
一方、主軸９１の位置q^は、基準点９１１の段取り基準座標系２０上の座標値(X,Y,Z)と、段取り座標系２０上での軸９１の姿勢を示すオイラー角(α’,β’,γ’)とで表される。
【００３３】
このようにすれば、図４に示すように、工具位置p^と主軸位置q^との相関関係は、段取り情報D^と工具情報T^とで決まり、機械の構造には影響されない。そこで、工具位置p^から主軸位置q^への変換関数を段取り工具変換f^として表し、次式で表現する。
【００３４】
【数１】
2008225825.tif 000003
【００３５】
図４は、この段取り工具変換を説明するための図で、（ａ）は段取り工具変換の行程を示す図、（ｂ）はそのイメージ図である。これによれば、段取り工具変換f^は、工作機械１Ａ〜１Ｅの構造に依存せず、種々の工作機械において共通なものとすることができる。
【００３６】
逆に、図５に示すように、主軸位置q^と該主軸位置q^に対応する各駆動軸の位置を示す駆動軸座標r^との相関関係は、各工作機械の駆動軸の構成に応じた逆運動学関係式とその機構パラメータk^とで決まり、前記段取り情報D^、前記工具情報T^とは無関係である。図５は、逆運動学関係式を説明するための図で、（ａ）は逆運動学関係式を示す図、（ｂ）はそのイメージ図である。そこで、主軸位置q^から駆動軸座標r^への変換関数である主軸駆動軸変換をg^で表し、逆運動学関係式を次の式（２）で表す。
【００３７】
【数２】
2008225825.tif 000004
【００３８】
なお、工作機械１Ｄの場合には、図６に示すように、冗長度拘束条件追加手段３１２（図９参照）にて、式（２）に冗長度拘束条件として、例えば、駆動軸Ｚと駆動軸Ｗとを均等配分して動作させる条件を補強追加し、主軸位置q^に対する前記駆動軸座標r^が1つとなるようにした逆運動学関係式として式（２）をあらためて規定すればよい。
【００３９】
工作機械１Ｅについても、図７、図８に示すように、同様である。図７、図８に示すパラレルメカニズムを有する工作機械の構成について簡単に説明する。パラレルメカニズムを有する工作機械１Ｃは、駆動軸Ｕ方向に移動自在な図略の架台上に支持されたベース６０上に６個のジョイント（結合部）１９１１〜１９１６を有している。そして、このジョイント１９１１〜１９１６にはそれぞれ１本ずつ、計６本のストラット（駆動軸）１９２１〜１９２６が接続されている。このストラット１９２１〜１９２６が数値制御装置の制御のもとに独立して伸縮することで、ジョイント１９３１〜１９３６を介してエンドエフェクタ１９４を間接的に動かし、機械テーブル２上の加工対象物Ｗに加工等の処理を行う構成となっている。つまり、エンドエフェクタ１９４は、ベース６０上のジョイント１９１１〜１９１６と、複数のストラット１９２１〜１９２６と、エンドエフェクタ１９４のジョイント１９３１〜１９３６とで構成されるパラレルリンク機構を介してベース６０に保持されている。エンドエフェクタ１９４の先端には、工具１１が取り付けられている。そして、ストラット１９２１〜１９２６に対する伸縮量を制御することで工具１１の位置、姿勢が適宜に設定されるようになっている。
【００４０】
本実施形態では、工作機械１Ａ〜１Ｅの全てに対し駆動軸構成に関わる部分を式（２）に封じ込め、これに関わるソフトウェアとして、主軸位置q^を駆動軸座標r^に変換する主軸駆動軸変換関数g^と式（２）を主軸位置q^の各成分で一次、二次、三次偏微分した値を求める駆動軸偏微分値取得関数を各工作機械に応じた関数として工作機械ごとに作成し、記憶部に登録しておき、必要時に呼び出すことで、該関数を除くソフトウェアの全てを工作機械１Ａ〜１Ｅに対して共通とする。以下、本実施形態での、数値制御装置の構成と数値制御プロセスについて説明する。
【００４１】
図９は、本発明に適用される数値制御装置の一実施形態を示すブロック図である。数値制御部３００は、例えばマイクロコンピュータで構成され、準備部３１０と、第１制御部３２０と、第２制御部３３０と、第３制御部３４０とを備えると共に、機械情報メモリー部３５０と、準備情報メモリー部３６０と、パス演算メモリー部３７０と接続されている。準備部３１０は、駆動軸構成管理部３１１と、冗長度拘束条件追加部３１２と、送り速度制御条件管理部３１３と、ＮＣプログラム管理部３１４と、段取り情報管理部３１５と、工具情報管理部３１６とを有する。第１制御部３２０は、ＮＣプログラム読み取り部３２１と、工具パス媒介変数表現部３２２と、工具パス修正部３２３とを有する。第２制御部３３０は、主軸パス算出部３３１と、駆動軸パス算出部３３２とを有する。第３制御部３４０は、加減速補間制御部３４１と、パルス補間部３４６とを有する。加減速補間制御部３４１は、ブロック滑らか補間部３４２と、コーナー滑らか補間部３４３と、送り制御条件転換部３４４と、媒介変数加減速決定部３４５とを有する。
【００４２】
図１０は、数値制御プロセスの流れの一実施形態を示すフローチャートである。以下、図１０に沿って、本実施形態における数値制御プロセスの流れを説明する。なお、実際の数値制御プロセスにおいては、ＮＣプログラムの量が多い時には、メモリー部の容量に応じて、途中まで読み取って図略のＲＡＭに一時的に格納し、読み取った部分の前半を処理した上で残り部を順次読み取るという繰り返し処理を行うが、説明の簡略化のため繰り返し部分の説明は省略する。
【００４３】
ステップＳ１００〜１２０において、準備部３１０が機能する。先ず、ステップＳ１００にて、駆動軸構成管理部３１１が、逆運動学関係式に基づいて作成された主軸駆動軸変換関数g^と駆動軸偏微分値取得関数の入力を受け付けて機械情報メモリー部３５０へ登録し、該当する工作機械に対応する主軸駆動軸変換関数g^と駆動軸偏微分値取得関数との利用を有効にする。ステップＳ１０５にて、送り速度制御条件管理部３１３が、各駆動軸毎の最大許容速度、最大許容加速度、最大許容ジャークを含む駆動軸加減速条件を機械情報メモリー部３５０へ登録する。ステップＳ１１０にて、ＮＣプログラム管理部３１４が、工具位置の軌跡とその送り速度指令からなる工具パスと、この工具パスを修正する命令である工具パス修正命令とからなるＮＣプログラムの入力を受け付け、このＮＣプログラムを準備情報メモリー部３６０へ登録する。ステップＳ１１５にて、工具情報管理部３１６が、主軸９１に取り付けられた工具１１の工具情報T^の入力を受け付け、準備情報メモリー部３６０へ登録する。ステップＳ１２０にて、段取り情報管理部３１５が、機械テーブル２に設置した加工対象物の段取り情報D^の入力を受け付け、準備情報メモリー部３６０に登録する。
【００４４】
次いで、ステップＳ１２５〜１４０において、第１制御部３２０が機能する。先ず、ステップＳ１２５にて、ＮＣプログラム読み取り部３２１が、準備情報メモリー部３６０に登録されているＮＣプログラム３６１を読み取り、このＮＣプログラム３６１に記述されている工具パスと工具パス修正命令とを抽出してパス演算メモリー部３７０へ記憶させる。ステップＳ１３０にて、工具パス修正部３２３が、工具パス修正命令に従い工具パスを修正する。ステップＳ１３５にて、工具パス媒介変数表現部３２２が、工具パスp^を該工具パスp^の軌跡に沿った移動距離である工具パス積算長sを媒介変数とする関数表現に変換する。以降、前記関数表現に変換した工具パスをp^ (s)と表現する。図１１に、その例を示す。例えば、工具パスが図１１に示すように、始点（５０，１５０）から（５０，５０）、（１５０，５０）、（２１０．１１０）である場合に、p^ (s)は、
【００４５】
【数３】
2008225825.tif 000005
【００４６】
となる。
【００４７】
また、ステップＳ１４０にて、工具パス媒介変数表現部３２２が、工具パスに含まれる送り速度指令を工具パス積算長ｓの送り速度指令に変換する。
【００４８】
なお、従来技術では、ＣＡＭでＣＬデータ（cutter location data）、すなわち工具パスデータを作成し、かつこのＣＬデータをＣＡＭから受け取ってポストプロセッサで各工作機械に適合したＮＣ（numerical control）プログラムに変換していたが、本実施形態によれば、ＣＡＭが出力するＣＬデータをＮＣプログラムとして受け付けるＮＣプログラム読み取り手段３２１を設けることで、従来のポストプロセッサを不要にできる。
【００４９】
次いで、ステップＳ１４５〜１５０において、第２制御部３３０が機能する。先ず、ステップＳ１４５にて、主軸パス算出部３３１が、段取り情報D^と工具情報T^に基づく段取り工具変換f^を使って、パス演算メモリー部３７０に登録されている工具パスp^ (s)を、主軸位置の軌跡の工具パス積算長ｓを媒介変数とする関数表現である主軸パスq^ (s)に変換する。なお、主軸パスq^ (s)の送り速度指令は、工具パス積算長ｓの送り速度指令がそのまま流用される。すなわち、式（１）を、次の式（３）で表現する。
【００５０】
【数４】
2008225825.tif 000006
【００５１】
ステップＳ１５０にて、駆動軸パス算出部３３２が、主軸駆動軸変換関数g^を用いて、主軸パスq^ (s)から、駆動軸座標の軌跡である駆動軸パスr^ (s)を求める。なお、駆動軸パスr^ (s)の送り速度指令は、工具パス積算長ｓの送り速度指令がそのまま流用される。すなわち、式（２）を、次の式（４）で表現する。
【００５２】
【数５】
2008225825.tif 000007
【００５３】
次いで、ステップＳ１５５〜１７５において、第３制御部３４０が機能する。先ず、ステップＳ１５５にて、ブロック滑らか補間部３４２は、各駆動軸ごとの駆動軸パスに対して予め設定された長さの各指令ブロック毎に、その始点、終点のいずれか一方または両方で工具パス積算長ｓによる一次微分と二次微分とを連続変化させるべく接続するようにすべきか否かを判断し、接続すべきと判断した場合には、隣接ブロックと連続変化とするための始点及び終点の少なくとも一方での工具パス積算長ｓによる一次微分、二次微分を先に決めた上で、該一次微分、二次微分に一致させる補間曲線に変更した滑らかブロック曲線に変更する駆動軸パスの修正を実施する。図１２に、工作機械１Ａ〜工作機械１Ｄでの駆動軸Ｙの修正後の駆動軸パスのイメージ図を示す。また、本実施形態では、図１３に示すように、始点と終点のいずれにおいても隣接ブロックと工具パス積算長ｓによる一次微分、二次微分を連続変化させる滑らかブロック曲線として、各駆動軸ごとに、３つの工具パス積算長ｓの３次多項式曲線を、接続点にて工具パス積算長ｓによる一次微分と二次微分とが連続変化するように連結した曲線を使用する。
【００５４】
図１２は、（ａ）は駆動軸ｘに対する駆動軸ｙの指令ブロックごとの指令値を示す図、（ｂ）は駆動軸ｙにおける補間された滑らかブロック曲線を示す図、（ｃ）は駆動軸ｙにおける補間された滑らかブロック曲線の工具パス積算長ｓによる一次微分を示す図である。図１３は、始点と終点のいずれにおいても隣接ブロックと工具パス積算長ｓによる一次微分、二次微分を連続変化させる滑らかブロック曲線として、工具パス積算長ｓの３次多項式曲線を、接続点にて工具パス積算長ｓによる一次微分と二次微分とが連続変化するように連結した曲線を示す図である。図１３において、曲線補間条件としては、各指令点を通ること、各指令点での前後の曲線が一次微分、二次微分で連続であることである。そして、例えば、指令値が、s0＝s[3]、s3＝s[4]、s1＝(2・s0＋s3)／3、s2＝(s0＋2・s3)／3であるとして、
（s[3]，y(s[3])）と（s[4] ，y(s[4])）間の補間は、y(s0)，y′(s0)，y″(s0)，y(s3)，y′(s3)，y″(s3)を拘束条件として、これを満たす（s0，y(s0)）、（s3，y(s3)）間の一次微分、二次微分連続の空間曲線を、３つの３次多項式曲線として生成する。すなわち、求める３次多項式曲線を、
【００５５】
【数６】
2008225825.tif 000008
【００５６】
とし、拘束条件を当てはめることで、次の連立方程式を得る。
【００５７】
【数７】
2008225825.tif 000009
【００５８】
３つの３次スプラインの係数各４つ合計１２個を未知数としてこの連立方程式を解くことで、y=y1(s),y=y2(s),y=y3(s)を得ることができることが判る。
【００５９】
次に、ステップＳ１６０にて、コーナー滑らか補間部３４３は、駆動軸パスの各指令ブロックの終点において、ブロック滑らか補間部３４２による補間処理後においても工具パス積算長ｓによる一次微分もしくは二次微分のいずれかが後続する指令ブロックの始点における値と一致しないコーナー部近傍の駆動軸パスの有無を判断し、この場合に、各駆動軸ごとに、一次微分と二次微分とを該指令ブロックと同じにして該指令ブロックと接し、かつ一次微分と二次微分とを後続する指令ブロックと同じにして後続する指令ブロックと接し、該指令ブロックの終点との距離が駆動軸パス修正許容誤差以下の滑らかコーナー曲線に変更する駆動軸パスの修正を実施する。図１４に、滑らかコーナー曲線のイメージ図を示す。また、本実施形態では、図１５に示すように、滑らかコーナー曲線として、各駆動軸ごとに、３つの工具パス積算長ｓの３次多項式曲線を、接続点にて工具パス積算長ｓによる一次微分と二次微分とが連続変化するように連結した曲線を使用する。
【００６０】
図１４は、滑らかコーナー曲線のイメージ図を示し、（ａ）は不連続点を破線で示すように滑らか補間した図、（ｂ）は一次微分（破線）の図、（ｃ）は二次微分（破線）の図、（ｄ）は三次微分（破線）の図である。（ａ）に示すΔdはコーナー補間許容誤差で、滑らか補間曲線は、予め設定された範囲内となるように求められる。図１５は、３つの工具パス積算長ｓの３次多項式曲線を、接続点にて工具パス積算長ｓによる一次微分と二次微分とが連続変化するように連結して得られる滑らかコーナー曲線を示す図である。図１５において、不連続点（s[3]，y(s[3])）に対して、
【００６１】
【数８】
2008225825.tif 000010
【００６２】
ここで、s0,s1,s2,s3は、各接点におけるsの値で、y=y(s)のコーナー前後の形状と許容誤差εから決めれば良い。例えば、
【００６３】
【数９】
2008225825.tif 000011
【００６４】
とすればよい。
【００６５】
次に、ステップＳ１６５にて、送り制御条件転換部３４４が、駆動軸パスr^(s)に基づいて各駆動軸を駆動する時に満たすべき工具パス積算長ｓの制御条件である工具パス積算長ｓの各値における工具パス積算長ｓの時刻による一次微分s’、二次微分s”、三次微分s”’が満たすべき条件である媒介変数加減速条件を、主軸パスq^(s)と機械情報メモリー部３５０に記憶されている駆動軸加減速条件３５４とから、次のようにして導き出す。説明のため、駆動軸座標r^(s)と主軸位置q^(s)と逆運動学変換関数g^(q^(s),k^)とを次のように配列で表記する。
【００６６】
【数１０】
2008225825.tif 000012
【００６７】
ここで、ｎは駆動軸の数を示す。r[i]、g[i]、q[i]はそれぞれr^(s)、q^(s)、g^(q^,k^)の成分表示である。
【００６８】
これを用いることで、前述の式（４）は、次式で表せる。
【００６９】
【数１１】
2008225825.tif 000013
【００７０】
式（５）をもとに、r[i]の時間ｔによる一次、二次、三次微分、すなわち各駆動軸の速度、加速度、ジャークを式に展開する。表記を見やすくするため、略式記号を使う。
以下、
r’[i] は、dr[i]/ds を、   
r”[i] は、d(dr[i]/ds)/dsを、
r”’[i] は、d(d(dr[i]/ds)/ds)/dsを、
q’[j] は、dq[j]/dsを、
q”[j] は、d(dq[j]/ds)/dsを、
q”’[j] は、d(d(dq[j]/ds)/ds)/dsを、
s’   は、ds/dtを、
s”   は、d(ds/dt)/dtを、
s”’   は、d(d(ds/dt)/dt)/dtを、
δgij は、∂g[i]/∂q[j] を、
δgijk は、∂(∂g[i]/∂q[j])/∂q[k] を、
δgijkm は、∂(∂(∂g[i]/∂q[j])/∂q[k])/∂q[m] を、
f[j]に対し,Σjは、Σj(f[j])= Σ(f[j]) (j=0,1,2,3,4) = f[0] + f[1] + f[2] + f[3] + f[4] を
それぞれ示すものである。
【００７１】
【数１２】
2008225825.tif 000014
【００７２】
駆動軸加減速条件は、式（９）の速度と式（１０）の加速度と式（１１）のジャークそれぞれの最大許容値を規定している。工具パス積算長ｓの各値におけるq[j],q’[j],q”[j],q”’[j]は、主軸パスで決まる。また前述の関係式に含まれるδgij、δgijk、δgijkmは、駆動軸座標偏微分値取得関数を使って求めればよい。かくして、式（６）、式（７）、式（８）から、工具パス積算長ｓの各値におけるr’[i]、r”[i]、r”’[i]が求まり、駆動軸加減速条件が規定する、式（９）の速度と式（１０）の加速度と式（１１）のジャークとが、それぞれの最大許容値MAXv[i]、MAXa[i]、MAXj[i]を超えないという条件により、工具パス積算長ｓの各値における工具パス積算長ｓの時刻による一次微分s’、二次微分s”、三次微分s”’が満たすべき条件である媒介変数加減速条件として次の式（１２）を得る。
【００７３】
【数１３】
2008225825.tif 000015
【００７４】
ステップＳ１７０にて、媒介変数加減速決定部３４５が、媒介変数加減速条件と工具パス積算長ｓの送り速度指令とに基づいて、工具パス積算長ｓの時間ｔの関数としての媒介変数時間関数s(t)を確定する。
【００７５】
ステップＳ１７５にて、パルス補間部３４６が、媒介変数時間関数s(t)に基づいて各補間周期時刻ごとの媒介変数時間関数s(t)の値、前記駆動軸座標r^(s)の値を求め、各補間周期の各駆動軸座標の移動量を求めて駆動源であるモーターＭＯへ出力する。
【００７６】
また、本発明は、以下の実施形態が採用可能である。
（１）前述の実施形態では、工具位置での工具の姿勢をオイラー角（α、β、０）で指令したが、これに代えて工具軸ベクトルで指令するものとしてもよい。あるいは、いずれかの工作機械の回転駆動軸の角度そのもので指令するものとしてもよい。
（２）前述の実施形態では、工具の軸心周りの回転駆動軸を対象外としたが、工具の軸心周りの駆動軸も制御対象とすることもできる。その場合には、工具の軸心周りの駆動軸Ｅを追加する。前記工具位置pの姿勢は、（α、β、γ）で指令し、また前記主軸位置の姿勢も（α’、β’、γ’）で管理する。なお、γは必ずしも明示的に指令するとは限らない。例えば、工具パスの進行方向に垂直になるように工具パスの修正を自動実施する機能を組み込んでもよい。この機能は、前記工作機械１Ａ〜１Ｅに対しても工具の軸心周りの駆動軸を追加さえすれば共通に利用出来る。
（３）前記工作機械１Ｄにおける駆動軸Ｗは、重量が大きなクロスレール５を上下させるため、その消費エネルギーは大きい。一方、主軸ヘッド９を載せているラム（ヘッド部材６）を上下させる駆動軸Ｚは、エネルギー消費は少ない。ただ、駆動軸Ｚは、あまり下げすぎるとラムの保持部から、主軸ヘッド９までの距離が長くなり、剛性が弱くなり、重切削時に振動するなどの虞があるため、重切削への適用が困難であるという欠点もある。つまり重切削時には、出来るだけ駆動軸Ｚ軸を引っ込めてラムの保持部から主軸ヘッド９までの距離を短くして加工を行い、軽切削の場合には、消費エネルギーの少ないＺ軸を使う。この目的のため、前記冗長度拘束条件追加部３１２として、ＮＣプログラムの冗長度拘束条件切り替え命令として、高剛性加工／エコ（軽）加工を選択可能とする命令を準備し、ＮＣプログラム読み取り部３２１にて、前記冗長度拘束条件切り替え命令を読み取り、「高剛性加工」が指令されている場合には、前記冗長度拘束条件として、「可能な限りＺ軸を引っ込める」という条件を採用し、「エコ加工」が指令された場合には、前記冗長度拘束条件として、「可能な限りＷ軸を使わず駆動軸Ｚを使用する」という条件を採用することで、高剛性加工や、エコ加工を自在に実現する。
（４）ＮＣプログラムに指令する工具位置は、工具１１の先端１１１の座標値(x,y,z)と工具１１の姿勢を表す（α,β,γ）としたが、このうち、（α,β）については、工具軸ベクトルでもよい。これと同様に既に使用している工作機械用のＮＣプログラムをそのまま使いたいというユーザーに対応する為に、ＮＣプログラム読み取り部３２１にて、特定の形式のＮＣプログラムを読み取って前記工具パスに変換しパス演算メモリー部３７０に登録することで、既設の従来型工作機械用のＮＣプログラムを、そのまま利用し得る実施形態を構築できる。
（５）前述の実施形態においては、送り速度制御の各駆動軸の条件を、最大許容速度、最大許容加速度、最大許容ジャークに限定し、送り速度の決定に於いて、前記ｓの時間による一次、二次、三次微分に言及し、一次、二次微分の連続変化を保証する送り速度加減速部を説明した。本発明は、さらに高次の制御を否定するものではなく、例えば、n次微分までをターゲットにし、駆動軸全ての位置を時刻で微分する速度、加速度、ジャーク、ジャーク変化率….のn-1次微分までの連続変化を保証することで、さらなる高次元での送り速度制御の実現の道を開くものである。また、慣性をきわめて短時間に吸収する加減速制御の実現を可能にする。
【図面の簡単な説明】
【００７７】
【図１】本発明が適用される工作機械の一例としての５軸工作機械の全体を示す斜視図である。
【図２】本発明が適用可能な種々の機械構造の工作機械を概略図で例示したもので、（ａ）は工作機械１Ａを、（ｂ）は工作機械１Ｂを、（ｃ）は工作機械１Ｃを示す図である。
【図３】工具位置と主軸位置との関係を説明するための図で、（ａ）はエンドミルを例示した場合、（ｂ）はアングル工具を例示した場合の概念図である。
【図４】段取り工具変換を説明するための図で、（ａ）は段取り工具変換の行程を示す図、（ｂ）はそのイメージ図である。
【図５】逆運動学関係式を説明するための図で、（ａ）は逆運動学関係式を示す図、（ｂ）はそのイメージ図である。
【図６】工作機械１Ｄを示す図である。
【図７】工作機械１Ｅを示す図である。
【図８】図７の工作機械１Ｅの一実施形態を示す構成図である。
【図９】本発明に適用される数値制御装置の一実施形態を示すブロック図である。
【図１０】数値制御プロセスの流れの一実施形態を示すフローチャートである。
【図１１】工具パスp^(s)の一例を示す図である。
【図１２】（ａ）は駆動軸ｘに対する駆動軸ｙの指令ブロックごとの指令値を示す図、（ｂ）は駆動軸ｙにおける補間された滑らかブロック曲線を示す図、（ｃ）は駆動軸ｙにおける補間された滑らかブロック曲線の工具パス積算長ｓによる一次微分を示す図である。
【図１３】始点と終点のいずれにおいても隣接ブロックと工具パス積算長ｓによる一次微分、二次微分を連続変化させる滑らかブロック曲線として、工具パス積算長ｓの３次多項式曲線を、接続点にて工具パス積算長ｓによる一次微分と二次微分とが連続変化するように連結した曲線を示す図である。
【図１４】滑らかコーナー曲線のイメージ図を示し、（ａ）は不連続点を破線で示すように滑らか補間した図、（ｂ）は一次微分（破線）の図、（ｃ）は二次微分（破線）の図、（ｄ）は三次微分（破線）の図である。
【図１５】３つの工具パス積算長ｓの３次多項式曲線を、接続点にて工具パス積算長ｓによる一次微分と二次微分とが連続変化するように連結して得られる曲線を示す図である。
【符号の説明】
【００７８】
１，１Ａ〜１Ｅ  工作機械
２  機械テーブル
９  主軸ヘッド
９１  主軸
１１  工具
ＭＯ  モーター
Ｗ  加工対象物
２０  段取り基準座標系
３０  プログラム座標系
３１０  準備部（準備手段）
３１１  駆動軸構成管理部（駆動軸構成管理手段）
３１２  冗長度拘束条件追加部（冗長度拘束条件追加手段）
３１３  送り制御条件管理部（送り制御条件管理手段）
３１４  ＮＣプログラム管理部（ＮＣプログラム管理手段）
３１５  段取り情報管理部（段取り情報管理手段）
３１６  工具情報管理部（工具情報管理手段）
３２０  第１制御部（第１制御手段）
３２１  ＮＣプログラム読み取り部（ＮＣプログラム読み取り手段）
３２２  工具パス媒介変数表現部（工具パス媒介変数表現手段）
３２３  工具パス修正部（工具パス修正手段）
３３０  第２制御部（第２制御手段）
３３１  主軸パス算出部（主軸パス算出手段）
３３２  駆動軸パス算出部（駆動軸パス算出手段）
３４０  第3制御部（第3制御手段）
３４１  加減速補間制御部（加減速補間制御手段）
３４２  ブロック滑らか補間部（ブロック滑らか補間手段）
３４３  コーナー滑らか補間部（コーナー滑らか補間手段）
３４４  送り制御条件転換部（送り制御条件転換手段）
３４５  媒介変数加減速決定部（媒介変数加減速決定手段）
３４６  パルス補間部（パルス補間手段）
３５０  機械情報メモリー部
３６０  準備情報メモリー部
３７０  パス演算メモリー部
【図１】
2008225825.tif 000016
【図２】
2008225825.tif 000017
【図３】
2008225825.tif 000018
【図４】
2008225825.tif 000019
【図５】
2008225825.tif 000020
【図６】
2008225825.tif 000021
【図７】
2008225825.tif 000022
【図８】
2008225825.tif 000023
【図９】
2008225825.tif 000024
【図１０】
2008225825.tif 000025
【図１１】
2008225825.tif 000026
【図１２】
2008225825.tif 000027
【図１３】
2008225825.tif 000028
【図１４】
2008225825.tif 000029
【図１５】
2008225825.tif 000030