(57)【特許請求の範囲】
【請求項１】
曲線形状を線分で近似した指令点の指令データをスムージングして曲線を求め、該スムージングされた曲線と設定された許容修正量を示すトレランス量で指令データの最小単位より細かい単位で指令点を修正することによって工作機械の駆動時の加速度を小さくし、修正された指令点を使って、各移動成分の加速度が規定値以内に収まるような速度を演算し速度制御を行う数値制御装置における速度制御方法。
【請求項２】
曲線形状を線分で近似した指令点の指令データをスムージングして曲線を求め、該スムージングされた曲線と設定された許容修正量を示すトレランス量で指令データの最小単位より細かい単位で指令点を修正することによって工作機械の駆動時の加速度変化を小さくし、修正された指令点を使って、各移動成分の加速度変化が規定値以内に収まるような速度を演算し速度制御を行う数値制御装置における速度制御方法。
【請求項３】
前記スムージングは、指令データを用いて最小２乗法により２次曲線で近似するものである請求項１又は請求項２記載の数値制御装置における速度制御方法。
【請求項４】
前記指令データの連続する指令点を、最初から複数読み出し、この複数の指令点から２次曲線を求め、順次読み出す指令点を更新し、更新した複数の指令点から順次２次曲線を求める請求項３記載の数値制御装置における速度制御方法。
【請求項５】
前記２次曲線上に、前記指令データの指令点に対応する修正目標位置を求め、指令点とこの修正目標位置との差が前記設定トレランス量以下であれば、修正目標位置を修正された指令点とし、前記設定トレランス量を越える場合には、前記設定トレランス量だけ指令点を対応する修正目標位置に近づけた位置を修正された指令点とする請求項３又は請求項４記載の数値制御装置における速度制御方法。
【請求項６】
１つずつ指令点を更新し、更新した複数の指令点から順次２次曲線を求め、複数の指令点の中央の指令点に対応する修正目標位置を前記２次曲線上に求め、該中央の指令点と対応する前記修正目標位置と前記設定トレランス量より指令点を修正し修正された指令点とする請求項５記載の数値制御装置における速度制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
数値制御装置を用いて行う加工における速度制御方法に関する。特に、金型などの自由曲面を加工するとき、ＣＡＤ／ＣＡＭ装置や倣い装置などを使って加工形状を線分で近似して指令データを作成し、この指令データで加工する場合に利用する速度制御方法である。
【０００２】
【従来の技術】
数値制御工作機械を用いて金型などの自由曲面を加工する場合、ＣＡＤ／ＣＡＭ装置や倣い装置などを使って加工形状を線分で近似して指令データを作成し、この指令データに基づいて数値制御装置を稼働し数値制御工作機械を駆動制御して加工を行っている。この指令データの指令位置、移動量は、四捨五入等で指令の最小単位に丸められている。そのため、指令線分のつなぎ目の指令点部においては目標とする曲率にはならない場合がある。この場合、指令点毎の各移動成分の加速度は所期の曲線の加速度より大きくなるときがある。また、指令点毎の各移動成分の加速度が大きく変動する場合が生じる。
【０００３】
例えば、図１に示すように、所期の加工形状の曲線１の近似データが、指令点ｐ１，ｐ２・・ｐ５により構成される微小直線の線分ｐ１−ｐ２，ｐ２−ｐ３，ｐ３−ｐ４，ｐ４−ｐ５であったとする。なお、図１〜図５において破線で示す升目が指令データの最小単位を示す。この場合でＹ軸（縦方向）の加速度を例にとって説明する。指令点ｐ１から次の指令点ｐ２への移動時間をｔ１、線分ｐ１−ｐ２，線分ｐ２−ｐ３におけるＹ軸方向の移動速度成分をそれぞれＶ１ｙ，Ｖ２ｙとすると（なお、Ｖ１ｘ，Ｖ２ｘはＸ軸方向の移動速度成分を示す）、Ｙ軸方向の加速度Ａ２ｙは、
Ａ２ｙ＝（Ｖ２ｙ−Ｖ１ｙ）／ｔ１…・・（１）
として表せる。
【０００４】
所期の加工形状の曲線１においては、Ｙ軸方向の移動速度は徐々に小さくなり、符号が反転した後に徐々に増大するもので加速度が急激に増大することはない。しかし、線分で近似することから、線分ｐ１−ｐ２ではプラス方向の移動速度Ｖ１ｙが、線分ｐ２−ｐ３ではマイナス方向の移動速度Ｖ２ｙとなり、上記１式から明らかのように、指令点Ｐ２において加速度Ａ２ｙが大きくなり、許容加速度以上となり、機械系にショックや振動を発生させる原因となる場合がある。
【０００５】
そのため、従来、このショックや振動の発生を抑えるために、加速度が許容加速度を越えないように減速する加速度制御が行われている。上述したように、曲線１を線分データで近似したとき、この線分データによる運転の加速度は、曲線１の加速度を正確に表したものではなく、線分近似により加速度が大きくなるものである。そのため、加速度制御を適用すると、不必要な減速となり加工時間が長くなったり、加工速度が変動することでなめらかな加工面を得ることができない場合が生じる。
【０００６】
【発明が解決しようとする課題】
上述したように、金型などの自由曲面を加工する際に、加工形状を線分で近似して指令データとして数値制御工作機械を稼働させたとき、線分近似に伴う加速度の増大により、加速度制御を適用して加工すると、加工時間を長くし、加工効率を低下させるまた、加工速度が変動することにより滑らかな加工面を得ることができない場合が生じる。
本発明は、このように従来技術の問題点を改善すること、さらに、加速度制御に加えて、加速度の変化（加加速度）も許容加加速度を越えないように速度制御する加加速度制御を適用することにある。
【０００７】
【課題を解決するための手段】
本発明は、曲線形状を線分で近似した指令点の指令データをスムージングして曲線を求め、該スムージングされた曲線と設定された許容修正量を示すトレランス量で指令データの最小単位より細かい単位で指令点を修正することによって工作機械の駆動時の加速度、加速度変化を小さくし、修正された指令点を使って、各移動成分の加速度が規定値以内に収まるような速度を演算し速度制御を行う。又は、各移動成分の加速度変化が規定値以内に収まるような速度を演算し速度制御を行う。
前記スムージングは、指令データを用いて最小２乗法により２次曲線で近似する。この場合、指令データの連続する指令点を、最初から複数読み出し、この複数の指令点から２次曲線を求め、順次読み出す指令点を更新し、更新した複数の指令点から順次２次曲線を求めるようにする。こうして求めた２次曲線上に、前記指令データの指令点に対応する修正目標位置を求め、指令点とこの修正目標位置及び設定されているトレランス量に基づいて、指令点を修正し、修正された指令点とする。前記指令点と該指令点に対応する修正目標位置との差が設定トレランス量以下であれば、修正目標位置を修正された指令点とし、設定トレランス量を越える場合には、設定トレランス量だけ指令点を対応する修正目標位置に近づけた位置を修正された指令点とする。
特に、１つずつ指令点を更新し、更新した複数の指令点から順次２次曲線を求め、複数の指令点の中央の指令点に対応する修正目標位置を前記２次曲線上に求め、該中央の指令点と対応する前記修正目標位置と設定トレランス量より指令点を修正し修正された指令点とする。
さらに、従来は加速度が設定許容加速度を越えないように減速する加速度制御が行われているが、それに加えて、加速度の変化（加加速度）が許容加加速度を超えないように減速する加加速度制御も行う。
【０００８】
【発明の実施の形態】
まず、本発明の概要を説明する。ＣＡＤ／ＣＡＭ装置や倣い装置などを用いて作成された加工形状を微小直線の線分で近似した指令データの連続する複数の指令点に基づいて、該指令データをスムージングする。例えば、この実施形態では、スムージングの手段として、連続する５つの指令点により最小２乗法によって２次曲線を求める。
【０００９】
例えば、指令データによる連続する指令点が図２に示すように、点ｐ１，ｐ２，ｐ３，ｐ４，ｐ５であったとする。また、点ｐ１−ｐ２間の距離をＬ１，点ｐ−ｐ３間の距離をＬ２，・・と点ｐn−ｐn+1間の距離をＬｎとする。尚、距離Ｌｎは、指令点ｐn，ｐn+1の位置より求められる。そして、この５つの指令点よりスムージングして求める２次式を上記指令点間の距離Ｌｎをパラメータｔとして、次の２式で表す。
ｆ（ｔ）＝Ａｔ２＋Ｂｔ＋Ｃ      …・・（２）
これを各成分について表すと、
【００１０】
【数１】
0003958112.tif 000002
と表現できる。
【００１１】
そこで、各指令点ｐ１〜ｐ５の値を用いて、未定の係数ａｘ，ａｙ，・・ｂｘ，ｂｙ，・・ｃｘ，ｃｙ，・・を最小２乗法を用いて決定し、上記３式の２次式を決定し、５つの指令点ｐ１〜ｐ５をスムージングした曲線の式を得る。図２における曲線２がこのスムージングによって求めた曲線を表す。
【００１２】
次にこのスムージングによって求めた曲線２上に指令点に対応する修正目標位置を算出する。これは、例えば指令点ｐ２に対応する修正目標位置ｒ２は、パラメータｔ＝Ｌ１、指令点ｐ３に対応する修正目標位置ｒ３はパラメータｔ＝Ｌ１＋Ｌ２を上記３式の２次式に代入して求めることができる。こうして求めた修正目標位置ｒ、指令点ｐ及び指定されているトレランス量ｗとによって、指令点ｐを修正し、修正した指令点（以下、修正点ともいう）ｑを求める。
【００１３】
例えば、指令点ｐ３に対する修正点ｑ３を求める方法について説明する（図３参照）。上述したように、指令点ｐ３に対応する修正目標位置ｒ３は、上記３式のパラメータｔに「Ｌ１＋Ｌ２」を代入して求める。指令点ｐ３、修正目標位置ｒ３の位置ベクトルをｖｐ３，ｖｒ３とする（図３参照）。そして、指令点ｐ３から修正目標位置ｒ３までのベクトル（ｖｒ３−ｖｐ３）を求め、この絶対値が設定トレランス量ｗ以下か判断する。
【００１４】
｜ｖｒ３−ｖｐ３｜≦ｗ  の場合には、
設定トレランスｗ内に修正目標位置ｒ３が存在するので、修正点ｑ３＝ｒ３とする。
【００１５】
｜ｖｒ３−ｖｐ３｜＞ｗ  の場合には、
設定トレランスｗ内に修正目標位置ｒ３が存在しないので、指令点ｐ３を修正目標位置ｒ３に設定トレランス量ｗだけ近づけた位置を修正点とする。すなわち、位置ベクトル［ｖｐ３＋ｗ×（ｖｒ３−ｖｐ３）／｜ｖｒ３−ｖｐ３｜］で表される位置を修正点ｑ３とする。
【００１６】
このようにして、連続する指令点を１つ１つ進めながら５つの指令点を更新し、各指令点を設定トレランス量ｗによって修正した修正点を求める。尚、指令データの開始点と終了点については修正点ｑは求めず、指令点ｐをそのまま使用する。図４は、このようにして求めた修正点ｑ１，ｑ２，ｑ３，ｑ４，ｑ５を示す。
【００１７】
この図４からもわかるように、修正点ｑは２次曲線上に位置するか、指令点ｐよりも設定トレランスｗだけ２次曲線に近づいた位置であり、修正点ｑを結ぶ折れ線は、指令点ｐを結ぶ折れ線より滑らかに接続されることになる。指令データで指令された指令点ｐの位置は、指令の最小単位に丸められ、升目上にあるが、修正点ｑの位置は、この指令の最小単位以下の単位の値の位置として求められるから（升目上とは限らず、その中間部にもある）、指令点の設定単位による丸め誤差は解消され滑らかに接続されるものである。
【００１８】
この修正点ｑを数値制御装置により処理する指令データとして数値制御工作機械を駆動制御すれば、加速度、及び加速度変化は指令点ｐにより駆動制御する場合と比較して格段に小さくなり、機械にショックや振動の発生を抑えることができる。
【００１９】
また、この修正された指令点（修正点）ｑを数値制御装置に与える指令データとして数値制御工作機械を稼働させるとき、加速度制御、加加速度制御の速度制御を実行すると、加速度、加速度変化が抑えられることから、減速する必要性が少なくなる。
【００２０】
加速度制御は従来と同様であるが、簡単に説明する。
各移動成分（各移動軸）の許容加速度ＭaxAccを規定し設定しておく。指令データ中に指令されている指令速度をＦとする。修正点ｑn-1からｑnまでの距離Ｌn-1は、この修正点ｑn-1、ｑnの位置より求まり、修正点ｑn-1からｑnへの移動時間ｔａは、Ｌn-1／Ｆとして求まる。また、修正点ｑn-1からｑnへの各軸速度成分は、指令速度Ｆを修正点ｑn-1からｑnへの移動ベクトルの成分比より求めることができる。例えば、移動軸がＸ，Ｙ，Ｚ軸の３軸とし、修正点ｑn-1からｑnへの各軸速度成分をＶax，Ｖay，Ｖaz、修正点ｑnからｑn+1への各軸速度成分をＶbx，Ｖby，Ｖbzとすると、修正された指令点（修正点）ｑｎにおける加速度をＡccnは、
Ａccｎ＝［(Ｖbx−Ｖax)／ｔａ，(Ｖby−Ｖay)／ｔａ，(Ｖbz−Ｖaz)／ｔａ］…（４）
として求められる。
次に、この加速度を用いて、修正点ｑｎにおける速度（decＦ）を、次の５式を用いて求め、速度制御を行う。
【００２１】
【数２】
0003958112.tif 000003
【００２２】
ここで、Ｍax（Ａccｎ／ＭaxAcc）は、
（Ａccｎ(x)／ＭaxAcc(x)），
（Ａccｎ(y)／ＭaxAcc(y)），
（Ａccｎ(z)／ＭaxAcc(z)）
の各軸成分の内、最大のものとする。
【００２３】
次に、加加速度制御について説明する。
各移動成分（各移動軸）の加速度の許容変化率ＪerkＫを規定し設定しておく。連続する修正された指令（修正点）ｑn，ｑn+1間の移動時間をｔｂとすると、修正点ｑn，ｑn+1の加速度変化量ＡccＤiffｎは、加速度Ａccｎ＋１，Ａccｎより
ＡccＤiffｎ＝（Ａccｎ＋１−Ａccｎ）・・・（６）
として求められる。
このとき、修正点ｑn+1における速度（decＦ）を、次の７式を用いて求め、速度制御を行う。
【００２４】
【数３】
0003958112.tif 000004
【００２５】
ここで、Ｍax（ＡccＤiffｎ／(ＪerkＫ×ｔｂ)）は、
（ＡccＤiffｎ(x)／(ＪerkＫ(x)×ｔｂ)，
（ＡccＤiffｎ(y)／(ＪerkＫ(y)×ｔｂ)，
（ＡccＤiffｎ(z)／(ＪerkＫ(z)×ｔｂ)
の各軸成分の内、最大のものとする。
【００２６】
図５は、本発明の速度制御方法の一実施形態を実施する数値制御装置のブロック図である。ＣＰＵ１１は数値制御装置１００を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステムプログラムをバス２０を介して読み出し、該システムプログラムに従って数値制御装置全体を制御する。ＲＡＭ１３には一時的な計算データや表示データ及びＣＲＴ／ＭＤＩユニット７０を介してオペレータが入力した各種データが格納される。ＣＭＯＳメモリ１４は図示しないバッテリでバックアップされ、数値制御装置１００の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。ＣＭＯＳメモリ１４中には、ＣＡＤ／ＣＡＭ装置や倣い装置などを使って加工形状を線分で近似して作成された指令データが、インターフェイス１５を介して読み込まれ記憶される。また、ＲＯＭ１２には、指令データの作成及び編集のために必要とされる編集モードの処理や自動運転のための処理を実施するための各種システムプログラムがあらかじめ書き込まれている。また、トレランス量ｗ、許容加速度ＭaxAcc、加速度の許容変化率ＪerkＫも予め設定されＣＭＯＳメモリ１４に格納されている。
【００２７】
インターフェイス１５は、数値制御装置１００とアダプタ等の外部機器７２との接続を可能とするものである。ＰＭＣ（プログラマブル・マシン・コントローラ）１６は、数値制御装置１００に内蔵されたシーケンスプログラムで工作機械の補助装置（例えば、工具交換用のロボットハンドといったアクチュエータ）にＩ／Ｏユニット１７を介して信号を出力し制御する。また、工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、ＣＰＵ１１に渡す。
【００２８】
ＣＲＴ／ＭＤＩユニット７０はディスプレイやキーボード等を備えた手動データ入力装置であり、インターフェイス１８はＣＲＴ／ＭＤＩユニット７０のキーボードからの指令，データを受けてＣＰＵ１１に渡す。インターフェイス１９は手動パルス発生器７１に接続されパルスを受ける。手動パルス発生器７１は操作盤に実装され、手動操作に基づいて形成された分配パルスによって、各軸制御で工具を精密に位置決めするために使用される。
【００２９】
各軸の軸制御回路３０〜３２はＣＰＵ１１からの各軸の移動指令量を受けて、各軸の指令をサーボアンプ４０〜４２に出力する。サーボアンプ４０〜４２はこの指令を受けて、Ｘ，Ｙ，Ｚ軸の各サーボモータ５０〜５２を駆動する。各軸のサーボモータ５０〜５２は位置・速度検出器を内蔵し、この位置・速度検出器からの位置。速度フィードバック信号を軸制御回路３０〜３２にフィードバックし、位置・速度のフィードバック制御を行う。なお、図５では、位置・速度のフィードバックについては省略している。
【００３０】
スピンドル制御回路６０は主軸回転指令を受け、スピンドルアンプ６１にスピンドル速度信号を出力する。スピンドルアンプ６１はスピンドル速度信号を受けて、主軸モータ６２を指令された回転速度で回転させる。ポジションコーダ６３は、主軸モータ６２の回転に同期して帰還パルスをスピンドル制御回路６０にフィードバックし、速度制御を行う。
【００３１】
ＣＭＯＳメモリ１４には曲線を線分で近似した指令データが格納されており、本発明の速度制御モードに設定されていると、ＣＰＵ１１は図６に示す修正された指令点（修正点）の作成処理を開始する。
【００３２】
まず、読み込み指令点を計数するカウンタｎを「０」にセットし（ステップＳ１０１）、指令データの始めから順に指令点ｐを読み込みレジスタに記憶しカウンタｎを１インクリメントする（ステップＳ１０２）。読み込んだデータが指令データの最終データか判断し（ステップＳ１０３）、最終データでなければ、カウンタｎが「５」に達したか判断し（ステップＳ１０４）、該カウンタｎが「５」に達するまで、指令データを読み込む。すなわち、例えば、指令データｐ１，ｐ２…とすると、指令データの最初の位置である開始点ｐ１から２番目、３番目、４番目、５番目の指令点ｐ２，ｐ３，ｐ４，ｐ５をレジスタに読み込む。例えば、レジスタＲｇ１にｐ１、レジスタＲｇ２にｐ２、レジスタＲｇ３にｐ３、レジスタＲｇ４にｐ４、レジスタＲｇ５にｐ５を格納する。
【００３３】
この５つの指令点により、３式の係数を最小２乗法によって確定し、近似２次式ｆ（ｔ）を求める（ステップＳ１０５）。次に、読み込んだ指令点に開始点を含むか判断し（ステップＳ１０６）、含む場合は（最初は含んでいる）、ＣＭＯＳメモリ１４（ＲＡＭ１３内でもよい）に確保されている修正点を記憶する領域に、この開始点ｐ１を修正された指令点（修正点）として記憶する（ステップＳ１０７）。さらに、２番目の指令点、３番目の指令点に対応する修正目標位置ｒ２，ｒ３をステップＳ１０５で求めた２次曲線より求め、この修正目標位置ｒ２，ｒ３と指令点ｐ２，ｐ３及び設定されているトレランス量ｗによって、前述したように修正された指令点である修正点ｑ２，ｑ３を求め修正点を記憶する領域に記憶する（ステップＳ１０７、Ｓ１０８）。
【００３４】
次にカウンタｎを１ディクリメントとし（ステップＳ１１０）、ステップＳ１０２に移行し、次ぐの指令値ｐを読み込みカウンタｎを１インクリメントする。この場合、レジスタＲｇ１〜５に記憶する指令値をシフトし、レジスタＲｇ５に新たに読み込んだ指令値ｐを格納する。すなわちＲｇ１←Ｒｇ２、Ｒｇ２←Ｒｇ３、Ｒｇ３←Ｒｇ４、Ｒｇ４←Ｒｇ５と各レジスタに記憶する指令値をシフトし、レジスタＲｇ５に新たに読み込んだ指令値ｐを格納する。
【００３５】
この読み込んだデータが最終データでない場合、カウンタｎは「５」となっているから、ステップＳ１０５に進み、このレジスタに記憶する５点（この場合、ｐ２，ｐ３，ｐ４，ｐ５，ｐ６である）に基づいて、２次曲線ｆ（ｔ）を求める。また、指令データの開始点ｐ１を含まないので、ステップＳ１０６からステップＳ１０９に進み、現在読み込んでいる３番目の点、すなわちレジスタＲｇ３に記憶する指令点ｐ４に対する修正点ｑ４を前述した方法により求めて記憶し、カウンタｎから１減じて（ステップＳ１１０）、ステップＳ１０２に戻る。
【００３６】
以下、指令データの最終データが読み込まれるまで、ステップＳ１０２からステップＳ１１０の処理を繰り返し実行し、各指令点ｐを修正した修正点ｑを求め記憶する。
【００３７】
そして、ステップＳ１０３で最終データが読み込まれたことが判断されると、ステップＳ１１１に移行し、現在読み込まれている３，４，５番目の指令点に対する修正点を求める。すなわち、レジスタＲｇ３，Ｒｇ４，Ｒｇ５に記憶されている指令点に対応する修正点にまだ求められていないから、ステップＳ１０５ですでに求められている２次式ｆ（ｔ）と、設定トレランスｗ及びＲｇ３，Ｒｇ４に記憶されている３番目と４番目の指令点に対応する修正点を前述同様に求め記憶する。またレジスタＲｇ５に記憶する指令点は最終指令点であり、この点はそのまま修正点として記憶する。これにより、指令データの各指令点は修正されてそれぞれ修正点が求められる。この各修正点を結ぶ線は指令点を結ぶ線よりも、より滑らかに接続されることになる。
【００３８】
こうして、求められた修正点データが修正された指令データとして使用され、数値制御工作機械は駆動制御される。このとき、従来と同様に加速度制御が行われ、さらには加加速度制御による速度制御がなされる。従来と相違する点は、従来は、ＣＡＤ／ＣＡＭ装置や倣い装置などで作成された指令データがそのまま使用されていた点が、この指令データに変わり上述した修正点データによる指令データが用いられる点、および、加速度制御に加えて加加速度制御による速度制御がなされる点である。この加速度制御による速度制御、加加速度制御による速度制御を図７、図８に示すフローチャートと共に簡単に説明する。
【００３９】
図７は、数値制御装置のＣＰＵ１１が実行するこの加速度制御による速度制御のフローチャートである。ＣＰＵ１１は、図６に示す指令点修正処理より少し遅れて、この図７に示す処理を所定周期毎実行する。
【００４０】
まず、ＣＭＯＳメモリ１４に記憶する修正点データの最初から順に読み出し、第１，第２、第３の修正点をレジスタＲ１，Ｒ２，Ｒ３に格納する（ステップＳ２０１）。次にレジスタＲ１記憶する修正点からレジスタＲ２に記憶する修正点までの移動時間ｔａを該修正点位置データと指令速度Ｆに基づいて求める（ステップＳ２０２）。さらに、レジスタＲ１記憶する修正点からレジスタＲ２に記憶する修正点への各軸速度成分をＶax，Ｖay，Ｖaz、レジスタＲ２に記憶する修正点からレジスタＲ３に記憶する修正点への各軸速度成分をＶbx，Ｖby，Ｖbzを求める（ステップＳ２０３，Ｓ２０４）。
【００４１】
レジスタＲ２に記憶する修正点の前後における速度より該修正点における加速度Ａccを求める（ステップＳ２０５）。そして、設定されている許容加速度ＭaxAccと加速度Ａccより、各軸の許容加速度ＭaxAcc(x)，ＭaxAcc(y)，ＭaxAcc(z)、加速度Ａcc(x)，Ａcc(y)，Ａcc(z)を求め、（Ａcc(x)／ＭaxAcc(x)），（Ａccn(y)／ＭaxAcc(y)），（Ａccn(z)／ＭaxAcc(z)）の最大値をＭax（Ａcc／ＭaxAcc）とする（ステップＳ２０６）。そして、上述した５式の演算を行って、指令速度decＦを求め（ステップＳ２０７）、この指令速度decＦで、レジスタＲ２に記憶する修正点の位置までの移動指令の分配を各軸に対して行い（ステップＳ２０８）、軸制御回路３０〜３２、サーボアンプ４０〜４２を介して各軸サーボモータ５０〜５２を駆動して加工を行う。
【００４２】
次に、次に読み出す修正点データがあるか判断し（ステップＳ２０９）、あれば、レジスタＲ２に記憶する修正点データをレジスタＲ１に格納し、レジスタＲ３に記憶する修正点データをレジスタＲ２に格納し、次に読み出した新たな修正点データをレジスタＲ３に格納し（ステップＳ２１０）、ステップＳ２０２へ移行する。以下、新たに読み出す修正点データがなくなるまでステップＳ２０２〜ステップＳ２１０の処理を所定周期毎実行し加工を行う。ステップＳ２０９で新たに読み出す修正点データがないことが判別されると、そのときの指令速度decＦでレジスタＲ３に記憶する修正点位置（最終指令点）までの移動指令の分配を行い（ステップＳ２１１）、この加工を終了する。
【００４３】
図８は、数値制御装置のＣＰＵ１１が実行する加加速度制御による速度制御のフローチャートである。
ステップＳ３０１〜Ｓ３０５までは、図７に示したフローチャートのステップＳ２０１〜Ｓ２０５と同じであるのでその説明を省略する。この加加速度制御による速度制御では、求めた加速度Ａccと１つ前に求めた加速度Ａccoldより加速度変化量ＡccＤiff（＝Ａcc−Ａccold）を求め（ステップＳ３０６）、今回求めた加速度Ａccを１つ前の加速度Ａccoldとして記憶する（ステップＳ３０７）。各軸の加速度変化量ＡccＤiff(x)，ＡccＤiff(y)，ＡccＤiff(z)と、設定されている加速度の許容変化率ＪerkＫの各軸分ＪerkＫ(x)，ＪerkＫ(y)，ＪerkＫ(z)及びステップＳ３０２で求めた移動時間ｔｂより、（ＡccＤiff(x)／(ＪerkＫ(x)×ｔｂ)，（ＡccＤiff(y)／(ＪerkＫ(y)×ｔｂ)，（ＡccＤiff(z)／(ＪerkＫ(z)×ｔｂ)を求め、この内最大のものをＭax（ＡccＤiff／(ＪerkＫ×ｔｂ)）として求める（ステップＳ３０８）。そして前述した７式の演算を行って指令速度decＦを求める（ステップＳ３０９）。この指令速度decＦを求めた後は図７のステップＳ２０８，Ｓ２０９，Ｓ２１０、Ｓ２１１と同一の処理であるステップＳ３１０，Ｓ３１１，Ｓ３１２，Ｓ３１３の処理を行う。
【００４４】
以下、新たに読み出す修正点データがなくなるまで、ステップＳ３０２〜Ｓ３１２の処理を所定周期毎実行し、新たに読み出す修正点データがなくなると、ステップＳ３１３に移行して最後の修正点位置（最終指令点）へ移動指令を分配して、この加工処理を終了する。
【００４５】
【発明の効果】
本発明では、自由曲面を加工する際、曲面を構成する曲線は微小直線の線分を接続したもので近似され、この線分の連続体を指令データとして与えられ、加工がなされる。このとき、指令データはデータ作成上の最小単位に丸められた値となっている。そのため線分の接続点（指令点）において希望する曲率とはならない場合が生じるが、本発明では、数値制御装置による数値制御のための指令入力値を前記データ作成上の最小単位よりも小さい下位の単位の位置まで指令して、より滑らかに微小直線を接続して曲線を近似し、加工を行うようにしたから、接続点における加速度が大きくならず、又は、加速度変化も大きくならず、加速度制御、加加速度制御によって、速度制御を行ったときに、不必要に減速することなく、機械に生じるショックや振動を抑制することができ、加工時間を短縮すると共に滑らかな加工面を得ることができる。
【図面の簡単な説明】
【図１】従来の曲線を微小直線の線分で近似した指令データによって生じる加速度、加速度変化の説明図である。
【図２】本発明における曲線を微小直線の線分で近似した指令データをスムージングして得られる２次曲線の説明図である。
【図３】本発明における指令点を修正して修正された指令点（修正点）を求める説明図である。
【図４】本発明において求めた修正点の説明図である。
【図５】本発明の一実施形態を実施する数値制御装置の要部ブロック図である。
【図６】同実施形態における指令点を修正して修正された指令点（修正点）を求める修正処理のフローチャートである。
【図７】同実施形態における加速度制御による速度制御処理のフローチャートである。
【図８】同実施形態における加加速度制御による速度制御処理のフローチャートである。
【符号の説明】
１  加工しようとする曲線
２  指令データよりスムージングによって得られた２次曲線
ｐ１、ｐ２…  指令点
ｒ１、ｒ２…  修正目標位置
ｑ１、ｑ２…  修正点
【図１】
0003958112.tif 000005
【図２】
0003958112.tif 000006
【図３】
0003958112.tif 000007
【図４】
0003958112.tif 000008
【図５】
0003958112.tif 000009
【図６】
0003958112.tif 000010
【図７】
0003958112.tif 000011
【図８】
0003958112.tif 000012