(57)【特許請求の範囲】
【請求項１】
ＮＣプログラムによる移動指令を曲面領域における近似曲線に沿うように、少なくともスムージングトレランスによる動作制限下でスムージング処理する数値制御装置において、
曲面の境界部位を認識する手段を有し、曲面の境界部位においてはスムージング処理を一旦キャンセルする動作制限処理機能を備えるとともに、
前記曲面の境界部位を認識する手段は、複数本のＮＣプログラムパスより、各指令点について加速度を算出し、加速度ベクトルの３次元的な変化により、加速度ベクトルの方向が変化する部位、つまりガウス曲率が０の部位を曲面の境界部位として認識するものである、
ことを特徴とする数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械等産業機械に適用されて数値指令を滑らかに補間する数値制御装置に関する。
【背景技術】
【０００２】
数値制御装置（NC装置）で制御される工作機械はNCプログラムと言う指令コードにより動作し、金型加工などではこのNCプログラムはCAD/CAMシステムにより作成される。
【０００３】
CAD/CAMシステムでは、CADデータに基づきNCプログラムを作成するが、図６に示すように、CADデータａが曲面データであるのに対し、一般的に作成されるNCプログラムｂは微小な直線指令の集まり（一般的に点群プログラムと呼ばれている）である近似指令として作成される。このように作成されるNCプログラムｂは微小な直線指令の集まりである近似指令であるため、その指令軌跡には曲面データであるCADデータａに対し幾分かの誤差が必然的に含まれる。
【０００４】
また、CAD/CAMシステムでNCプログラムｂを作成する場合、演算上の問題より、トレランスｃ（CADデータａからの許容誤差量）を設定して、その許容誤差量内にNCプログラムｂにおける直線指令の軌跡が入るように作成される。
【０００５】
そして、CAD/CAMシステムで作成されたNCプログラムにはトレランス設定量レベルの指令誤差が含まれているため、金型加工などではNCプログラム通り加工を行うと、図７に示すように、NCプログラムの継ぎ目ｄが加工面に現れたり、図８に示すように、NCプログラムの乱れ（誤差）ｅに起因した喰い込みなどが発生して加工パスが均一に揃わないことから理想的な加工面が得られず、加工面精度の悪化が発生する。
【０００６】
その対策として、図９に示すように、数値制御装置の内部にて移動指令軌跡を修正・補正する処理を行い、加工面精度の悪化を抑制している。即ち、処理する指令点の近傍7〜9点より最小二乗法により2次曲線もしくは3次曲線を近似し、この近似した2次曲線もしくは3次曲線ｆの曲線上に指令点を修正・補正する（図中ｇ1部参照）と共に、この処理を繰返し、NCプログラム全体の指令点を修正・補正するのである。
【０００７】
上述した修正・補正処理は一般的にNCプログラムｂより近似した2次曲線もしくは3次曲線ｆを作成し、その近似した2次曲線もしくは3次曲線ｆに基づき指令軌跡を修正・補正することで実現されるが、図１０に示すように、形状角度が鋭角な形状部や曲面の境界部にて補正を行うと逆に、加工ワークの角が丸くなる等あるべき形状からかけ離れ、加工面精度を悪化させることがある（図中ｇ2部参照）。
【０００８】
そのため、不必要に補正処理を行わないように様々な閾値を設けて処理を行っているが、一般的には、
（１）図１１に示すように、NCプログラムｂのブロック間角度θが閾値より小さい（θ＜θｐ（パラメータ設定値））場合には、補正処理（スムージング処理）を無効とする、
（２）図１２に示すように、NCプログラムｂのブロック長Ｌが閾値より大きい（Ｌ＞Ｌｐ（パラメータ設定値））場合には、補正処理（スムージング処理）を無効とする、
（３）図１３に示すように、近似した2次曲線もしくは3次曲線ｆ上の修正指令点とオリジナルの指令点との距離δが閾値より大きい（δ＞δｐ（スムージングトレランス：パラメータ設定値））場合には、補正処理（スムージング処理）を無効とする（図中ｇ3部参照）、もしくは図１４に示すように、閾値内で修正・補正処理を実行する（図中ｇ4部参照：特許文献１参照）、
ことにより不必要な補正処理により誤った指令軌跡を作成しないようしている。
【０００９】
【特許文献１】特開２００４−１２７０９９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
ところで、上述したような処理により、形状角度が鋭角な形状部での補正処理（スムージング処理）はほぼ理想通りに無効となるが、曲面が接する曲面境界部は正常に認識することができず、誤って修正・補正処理が行われることがある。
【００１１】
例えば図１５に示すように、近似曲線として2次曲線ｆａを用いた場合にはこの傾向が特に顕著であり、曲面境界部位（変曲点）ｈでは近似曲線形状が元のCAD/CAMの曲面データに対し大きくずれてしまい、加工形状の悪化を招く（図中ｇ5部参照）。即ち、本来、高次の曲線である部位（曲面境界部位（変曲点）ｈ）を2次曲線ｆａで近似したため、誤って元のCAD/CAMの曲面データとは異なる指令軌跡を作成してしまうのである。
【００１２】
また、図１６に示すように、近似曲線として3次曲線ｆｂを用いた場合には、2次曲線ｆａ（図１５参照）ほど大きなズレは発生しない（図中ｇ6部参照）ものの、近似曲線はNCプログラムｂの指令点ｉに依存し、加工パス毎にその指令点ｉは異なるため近似曲線形状も必然的に異なる。その結果、曲面境界部位（変曲点）ｈの位置が加工パス毎にズレてしまい、加工形状の悪化を招くことがある。
【００１３】
本発明は、前述した状況に鑑みてなされたもので、曲面が接する曲面境界部においてスムージング処理を一旦キャンセルすることにより、本来のＣＡＤデータにおける曲面形状を崩すことなく、滑らかな指令軌跡を創出することができる数値制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
斯かる目的を達成するための本発明に係る数値制御装置は、
ＮＣプログラムによる移動指令を曲面領域における近似曲線に沿うように、少なくともスムージングトレランスによる動作制限下でスムージング処理する数値制御装置において、
曲面の境界部位を認識する手段を有し、曲面の境界部位においてはスムージング処理を一旦キャンセルする動作制限処理機能を備えるとともに、
前記曲面の境界部位を認識する手段は、複数本のＮＣプログラムパスより、各指令点について加速度を算出し、加速度ベクトルの３次元的な変化により、加速度ベクトルの方向が変化する部位、つまりガウス曲率が０の部位を曲面の境界部位として認識するものである、
ことを特徴とする。
【発明の効果】
【００１８】
本発明に係る数値制御装置よれば、曲面の境界部位にてスムージング処理を行えば、逆に本来のCADデータにおける曲面形状とは異なる指令軌跡を作成することになり形状悪化を発生することになるが、曲面の境界部位にてスムージング処理を一旦キャンセルする（指令点の修正・補正処理を行わない）ことにより、本来のCADデータにおける曲面形状を崩すことなく，滑らかな指令軌跡を創出することができる。また、加工パスによるスムージング動作の相違をなくし、スムージング処理に関連する往復段差を抑制することもできる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明に係る数値制御装置を実施例により図面を用いて詳細に説明する。
【実施例１】
【００２０】
図１は本発明の実施例１を示す曲面境界認識によるスムージング処理の動作制限の説明図、図２は曲面境界認識によるスムージング処理の動作制限の作用説明図、図３は装置全体のブロック図、図４は曲面境界の判定基準の説明図である。
【００２１】
図３に示すように、図示しないＣＡＤ／ＣＡＭシステムでＣＡＤデータ（曲面データ）に基づき作成されたＮＣプログラムは、ＮＣプログラム解析処理部１０にて解析処理され、そこで得られた各ブロックの移動指令は、通常は、移動指令の各軸分配処理部１１を経てＸ軸のサーボモータ１２とＹ軸のサーボモータ１３とＺ軸のサーボモータ１４へと各軸のサンプリング毎の移動指令が送出される。
【００２２】
そして、本実施例では、ＮＣプログラム解析処理部１０で得られた各ブロックの移動指令は、スムージング処理部（動作制限処理機能）１５における各ブロックの移動量格納バッファ１６に一時的に貯えられる。
【００２３】
スムージング処理部１５では、各ブロックの移動量格納バッファ１６の各ブロックの移動量に基づいて、修正した指令軌跡の作成部１７で修正した指令軌跡を作成する。具体的には、各曲面領域における近似曲線を作成した後、各ブロックの指令点（終点）を修正すると共にブロック間の指令軌跡を修正して各曲面領域における指令軌跡を作成するのである。この修正した指令軌跡が前述した移動指令の各軸分配処理部１１に送出される。
【００２４】
同時に、各ブロックの移動量格納バッファ１６の各ブロックの移動量に基づいて、加速度ベクトル（曲率半径ベクトル）算出処理部１８において加速度ベクトル（曲率半径ベクトル）が算出され、この算出結果に基づいて、曲面境界の認識処理部１９で曲面の境界部位（変曲点）を認識したら（曲面の境界部位を認識する手段）、当該部位では、前述した修正した指令軌跡の作成部１７で作成した、修正した指令軌跡がキャンセルされて前述した各ブロックの移動量格納バッファ１６からの各ブロックの移動指令がそのまま前述した移動指令の各軸分配処理部１１に送出されるようになっている。
【００２５】
即ち、図１及び図２に示すように、ＮＣプログラムｂの各指令点にて加速度ベクトル（曲率半径ベクトル）を算出した後、加速度ベクトル（曲率半径ベクトル）の方向が変化する部位を認識したら、この部位を曲面の境界部位（変曲点）と判断してスムージング処理を一旦キャンセルし、指令点の修正・補正処理は行わないのである（図中スムージング処理を一旦ＯＦＦする領域ＮＧ参照）。
【００２６】
そして、曲面の境界部位（変曲点）を境に各々の領域にて近似曲線ｆｃ，ｆｄを作成し、スムージング処理（指令点の修正・補正処理）を実施する（図中スムージング処理実行領域Ｓ１，Ｓ２参照）。一方、曲面の境界部位（変曲点）即ち、スムージング処理を一旦ＯＦＦする領域ＮＧはＮＣプログラムｂの指令点に基づき指令を実行する。
【００２７】
また、前述した曲面の境界部位（変曲点）を認識する方法としては、例えば、下記式などにより判定することかできる。
【数１】
0004969484.tif 000002
【００２８】
即ち、図４に示すように、２つの加速度ベクトルの内積が負であれば、２つの加速度ベクトル間の角度は９０度以上となるため、変曲点として認識することができるのである。尚、変曲点を認識する方法は他にもあり、上式に限るものではない。
【００２９】
このようにして本実施例では、曲面の境界部位（変曲点）ｈを認識し、スムージング処理を一旦OFFし、指令点の修正・補正処理を行わない（曲面の境界部位ｈではNCプログラムｂに基づき指令を行う）ようにしたので、曲面の境界部位ｈでのスムージング処理の誤動作による加工形状悪化を抑制することが可能となり、本来のＣＡＤデータにおける曲面形状を崩すことなく、滑らかな指令軌跡を創出することができる。
【００３０】
また、加工パスによるスムージング動作の相違をなくし、スムージング処理に関連する往復段差を抑制することもできる。
【実施例２】
【００３１】
図５は本発明の実施例２を示す３次元空間における加速度変化による曲面境界の認識の説明図である。
【００３２】
これは、NCプログラムｂより、各指令点における加速度（曲率半径）を算出、例えば図５に示すように、7点×5本の指令点について加速度（曲率半径）を算出し、加速度ベクトルの3次元的な変化より、加速度ベクトルの方向が変化する部位（数学的にはガウス曲率が0の部位）を曲面の境界部位ｈと認識して、この部位ではスムージング処理（指令点の修正・補正処理）を行わないようにした例である。尚、図中ｊは加速度ベクトル（曲率半径ベクトル）の変化曲面である。また、その他の構成は実施例１と同様なので図３を参照して重複する説明は省略する。
【００３３】
本実施例によれば、実施例１と同様の作用・効果に加えて、曲面の境界部位ｈの認識に複数本の加工パスを使用するので、曲面の境界部位ｈの認識精度が向上するという利点が得られる。
【００３４】
尚、本発明は上記各実施例に限定されず、本発明の要旨を逸脱しない範囲で、ＮＣプログラムをＣＡＤ／ＣＡＭシステムに代えてＣＧ（Computer Graphics）や倣い装置等で作成する等各種変更が可能であることはいうまでもない。
【図面の簡単な説明】
【００３５】
【図１】本発明の実施例１を示す曲面境界認識によるスムージング処理の動作制限の説明図である。
【図２】曲面境界認識によるスムージング処理の動作制限の作用説明図である。
【図３】装置全体のブロック図である。
【図４】曲面境界の判定基準の説明図である。
【図５】本発明の実施例２を示す３次元空間における加速度変化による曲面境界の認識の説明図である。
【図６】CAD/CAMシステムにて作成されたNCプログラムの説明図である。
【図７】NCプログラムの継ぎ目が加工面に現われる例の説明図である。
【図８】NCプログラムの乱れが加工面に現われる例の説明図である。
【図９】NCプログラム（移動指令軌跡）の修正・補正処理の説明図である。
【図１０】スムージング処理の誤動作の例の説明図である。
【図１１】閾値によるスムージング処理の動作制限（ブロック間角度）の説明図である。
【図１２】閾値によるスムージング処理の動作制限（ブロック長）の説明図である。
【図１３】閾値によるスムージング処理の動作制限（スムージングトレランス）の説明図である。
【図１４】閾値によるスムージング処理の動作制限（スムージングトレランス）の説明図である。
【図１５】曲面境界部でのスムージング処理の誤動作（2次曲線近似の場合）の説明図である。
【図１６】曲面境界部でのスムージング処理の誤動作（３次曲線近似の場合）の説明図である。
【符号の説明】
【００３６】
ａ  ＣＡＤデータ（曲面データ）
ｂ  ＮＣプログラム（点群プログラム）
ｃ  トレランス（CADデータａからの許容誤差量）
ｄ  NCプログラムの継ぎ目
ｅ  NCプログラムの乱れ
ｆ  近似した2次曲線もしくは3次曲線
ｆｃ  スムージング処理実行領域Ｓ１における近似した2次曲線もしくは3次曲線
ｆｄ  スムージング処理実行領域Ｓ２における近似した2次曲線もしくは3次曲線
ｆａ  2次曲線
ｆｂ  3次曲線
ｈ  曲面境界部位（変曲点）
θ  ブロック間角度
Ｌ  ブロック長
δ  修正指令点とオリジナルの指令点との距離
Ｓ１  スムージング処理実行領域
Ｓ２  スムージング処理実行領域
ＮＧ  スムージング処理を一旦ＯＦＦする領域
１０  ＮＣプログラム解析処理部
１１  移動指令の各軸分配処理部
１２  Ｘ軸のサーボモータ
１３  Ｙ軸のサーボモータ
１４  Ｚ軸のサーボモータ
１５  スムージング処理部
１６  各ブロックの移動量格納バッファ
１７  修正した指令軌跡の作成部
１８  加速度ベクトル算出処理部
１９  曲面境界の認識処理部
【図１】
0004969484.tif 000003
【図２】
0004969484.tif 000004
【図３】
0004969484.tif 000005
【図４】
0004969484.tif 000006
【図５】
0004969484.tif 000007
【図６】
0004969484.tif 000008
【図７】
0004969484.tif 000009
【図８】
0004969484.tif 000010
【図９】
0004969484.tif 000011
【図１０】
0004969484.tif 000012
【図１１】
0004969484.tif 000013
【図１２】
0004969484.tif 000014
【図１３】
0004969484.tif 000015
【図１４】
0004969484.tif 000016
【図１５】
0004969484.tif 000017
【図１６】
0004969484.tif 000018