JP2000353006A - 数値制御装置 - Google Patents

数値制御装置

Info

Publication number
JP2000353006A
JP2000353006A JP16360399A JP16360399A JP2000353006A JP 2000353006 A JP2000353006 A JP 2000353006A JP 16360399 A JP16360399 A JP 16360399A JP 16360399 A JP16360399 A JP 16360399A JP 2000353006 A JP2000353006 A JP 2000353006A
Authority
JP
Japan
Prior art keywords
point
points
curve
sequence
path
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP16360399A
Other languages
English (en)
Other versions
JP3466111B2 (ja
Inventor
Toshiaki Otsuki
俊明 大槻
Seiji Ishii
清次 石井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Priority to JP16360399A priority Critical patent/JP3466111B2/ja
Publication of JP2000353006A publication Critical patent/JP2000353006A/ja
Application granted granted Critical
Publication of JP3466111B2 publication Critical patent/JP3466111B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)

Abstract

(57)【要約】 【課題】 パス間の段差発生を抑制し、ピックフィード
方向にも滑らかな曲面を加工できるようにする。 【解決手段】 パスPiの隣り合う点Pi,j、Pi,j+1
結ぶ線分の中点Pcを求める。中点Pcから前後のパス
i-1、Pi+1の隣り合う点を結ぶ線分に垂線が下ろすこ
とができ、その垂線の長さの最小の線分を選択する。こ
れら各線分の両端の点(Pi,j、Pi,j+1、Qs、Qe、
Rs、Re)を通る滑らか曲線f(t)、g(t)、h
(t)を求める。パスPiに対する曲線の中間点f(1
/2)と、各足の位置Qc、Rcに対応する各曲線上の
位置g(tq)、h(tr)によって、点Pi,j、P
i,j+1間に補助点PjHを挿入する。各点間にこの補助点
を挿入しパスPiの指令点列にこの補助点を加え滑らか
曲線を求める。各パスにも同様に行い、パス間の段差を
なくし滑らかに連続させる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、金型など滑らかな
表面を持つ加工物を加工する工作機械に用いられる数値
制御装置に関する。
【0002】
【従来の技術】金型等の曲面加工においては、多くの点
列によって加工経路としての1パスを指令し、少しずつ
ピックフィードして複数のパスを指令することによっ
て、曲面加工のプログラムを形成している。このような
加工プログラムに基づいて、数値制御装置は指令された
点間の微小な線分を滑らかな曲線、―例えば、NURB
S曲線、スプライン曲線、ベジェ曲線など、―でつない
でこの曲線に基づいて補間している。
【0003】
【発明が解決しようとする課題】上述した従来技術にお
いては、数値制御装置が指令された加工形状指令点列の
パスに沿って、点列の点を通る曲線を求めこの曲線に基
づいて補間し加工することから、1パス内ではほぼ滑ら
かに曲線の加工が行われる。しかし、隣り合ったパス間
の関係は単にピックフィードされるだけで、各パス間に
関しては曲面を滑らかに加工するための考慮はされてな
い。そのため、曲面によっては、隣り合ったパス間で段
差が発生し、加工面が滑らかにならない場合があった。
【0004】特に、各パスの進行方向(加工方向)が1
方向ではなく、往復でパスが指令されている場合や、パ
スが変曲点を持っている場合などは、隣り合ったパス間
で段差が大きくなる傾向がある。すなわち、加工曲面が
加工時のピックフィード方向に段差が生じるという問題
が発生していた。そこで、本発明の課題は、パス間の段
差発生を抑制することができる数値制御装置を提供する
ことにある。
【0005】
【課題を解決するための手段】本発明は、ピックフィー
ドと加工形状指令点列が交互に複数個指令されているプ
ログラムを読み込み、前記加工形状指令点列をつなぐ滑
らかな曲線を求め該曲線に基づいて補間する数値制御装
置に関するものであり、滑らかな曲線を求めようとする
加工形状指令点列と該加工形状指令点列に対してピック
フィードをはさんで前および後の加工形状指令点列を読
み込んで、前記滑らかな曲線を求めようとする加工形状
指令点列とその前および後の加工形状指令点列との関係
に基づいて、前記滑らかな曲線を求めようとする加工形
状指令点列の点列間に補助点を加入し、該補助点が加入
された加工形状指令点列を滑らかな曲線で補正すること
によって、ピックフィード方向に段差を発生させること
なく、滑らかな曲面が得られるようにする。
【0006】特に、前記加工形状指令点列の任意の隣り
合った2点に対応する前記加工形状指令点列に対してピ
ックフィードをはさんで前の加工形状指令点列上の2
点、および、前記加工形状指令点列の隣り合った2点に
対応する前記加工形状指令点列に対してピックフィード
をはさんで後の加工形状指令点列上の2点を選択し、そ
れぞれの2点を滑らかに結ぶ関数を求め、該関数により
前記加工形状指令点列上の補助点を求め、この当該パス
の前後のパスの曲線を加味した補助点を加工形状指令点
列に追加しこの加工形状指令点列によって滑らか曲線を
求め、この曲線に基づいて補間し加工することにより、
ピックフィード方向にも滑らかな曲面の加工ができるよ
うにした。
【0007】
【発明の実施の形態】図1は、本発明の一実施形態の原
理説明図である。3次元座標位置を示す点の加工形状指
令点列によって加工を行う1パスが指令され、それに引
き続き所定量ピックフィードした後、次のパスが指令さ
れ、順次これが繰り返されて。3次元曲面を加工する加
工プログラムが形成されている。この加工プログラムで
指令された加工形状指令点列で構成される任意のi番目
のパスをPi、このパスPiより1つ前のパス(i番目の
パスへピックフィードする直前のパス)をPi-1、i番
目のパスPiの次のパス(i番目のパスからピックフィ
ードした直後のパス)をPi+1とする。図1の例では、
往復でパスが指令されている例を記載しており、第(i
−1)パスPi-1は図1において左から右に移動し、第
iパスPiは右から左に、第(i+1)パスPi+1は左か
ら右に移動するものとしている。第iパスPiを構成す
る加工形状指令点列の任意の2点をPi,j、Pi,j+1とす
る。
【0008】この2点を結ぶ線分Pi,ji,j+1に対し
て、パスPiの前後のパスPi-1、Pi+ 1の点列間を結ぶ
各線分中、一番近い線分をそれぞれ求める。すなわち、
パスPiにおける点列中のある2点間を結ぶ線分Pi,j
i,j+1と、前後のパスPi-1、Pi+1中の2点間を結ぶ
線分の内一番近い線分は、隣り合わせになることから、
これらの線分領域の加工において、段差が生じないよう
にパスPiの点Pi,jと点Pi,j+1を通り、かつこの点間
の滑らかな曲線を隣り合うパスの対応する線分における
曲線をも考慮した滑らかな曲線とすれば、ピックフィー
ド方向にも段差が生じなく滑らかな曲面の加工が可能と
なる。
【0009】線分Pi,ji,j+1に一番近い線分を求める
方法として、本実施形態では、線分Pi,ji,j+1の中点
Pcより、前後のパスPi-1、Pi+1の各線分に対して垂
線が下ろせるか判断し、下ろせる線分がなければこの補
正処理は行わず、下ろせる線分がある場合には、この下
ろした垂線の長さが一番小さい線分を一番近い線分とし
て選択する。図1の例では、パスPi-1では、点Pi-1,a
と点Pi-1,a+1を結ぶ線分、パスPi+1では、点Pi+1,b
点Pi+1,b+1を結ぶ線分が、線分Pi,ji,j+1に一番近
い線分として検出されたとしている。なお、中点Pcか
ら線分Pi-1,ai-1,a+1に下ろした足をQc(座標位
置)、中点Pcから線分Pi+1,bi+1,b+ 1に下ろした足
をRc(座標位置)とする。
【0010】そして、後述するように、ピックフィード
方向にも滑らかな曲面を得るために、パスPiの点列を
修正するために始点と終点を決める。ベクトル(P
i-1,ai -1,a+1)がベクトル(Pi,ji,j+1)と同方向
であれば、つまり、ベクトル(P i-1,ai-1,a+1)とベ
クトル(Pi,ji,j+1)の内積が正であれば、点P
i-1,aを始点Qs、点Pi-1,a+1を終点Qeとする。逆に
ベクトル(Pi-1,ai-1,a+1)がベクトル(Pi,j
i,j+1)と逆方向で、ベクトル(Pi-1,ai-1,a+1)と
ベクトル(Pi,ji,j+1)の内積が正でなければ、点P
i-1,aを終点Qe、点Pi-1 ,a+1を始点Qsとする。
【0011】同様に、ベクトル(Pi+1,bi+1,b+1)が
ベクトル(Pi,ji,j+1)と同方向で、ベクトル(P
i+1,bi+1,b+1)とベクトル(Pi,ji,j+1)の内積が
正であれば、点Pi+1,bを始点Rs、点Pi+1,b+1を終点
Reとする。逆にベクトル(P i+1,bi+1,b+1)がベク
トル(Pi,ji,j+1)と逆方向で、ベクトル(Pi+1,b
i+1,b+1)とベクトル(Pi,ji,j+1)の内積が正で
なければ、点Pi+1,bを終点Re、点Pi+1,b+1を始点R
sとする。
【0012】図1の例では、往復パスの例を示している
から、各パスにおける進行方向が交互に変わり、ベクト
ル(Pi-1,ai-1,a+1)、ベクトル(P
i+1,bi+1,b+1)とベクトル(Pi,ji,j+1)はそれぞ
れ逆方向で内積は正ではない。そのため、各パス
i-1、Pi+1の始点側の点Pi-1,a、点Pi+1,bが終点Q
e、Re、終点側の点Pi-1,a+1、点Pi+1,b+1が始点Q
s、Rsとなっている。
【0013】次に、滑らかな曲線を得るために、点P
i,j、点Pi,j+1、点Qs、点Qe、Rs、Reの接線ベ
クトルPi,j’、Pi,j+1’、Qs’、Qe’、Rs’、
Re’を求め、点Qs、点Qeと接線ベクトルQs’、
Qe’より、点Qs、点Qeを通り、g(0)=Qs、
g(1)=Qeとなる滑らかな曲線(ベジェ曲線、NU
RBS曲線、スプライン曲線)g(t)を生成する。例
えば、スプライン曲線の場合には、 g(t)=Agt3+Bgt2+Cgt+Dg と表され、このスプライン曲線式g(t)とこの式を微
分した式と、点Qs、点Qeおよび接線ベクトルQ
s’、Qe’により、スプライン曲線式g(t)の係数
Ag、Bg、Cg、Dgが求まり、スプライン曲線式g
(t)を生成する。
【0014】同様に、点Rs、点Reと接線ベクトルR
s’、Re’より、点Rs、点Reを通り、h(0)=
Rs、h(1)=Reとなる滑らかな曲線(ベジェ曲
線、NURBS曲線、スプライン曲線)h(t)を生成
することができる。
【0015】さらに、点Pi,j、点Pi,j+1、と接線ベク
トルPi,j’、Pi,j+1’により、点Pi,j、点Pi,j+1
通り、f(0)=Pi,j、f(1)=Pi,j+1となる滑ら
かな曲線(ベジェ曲線、NURBS曲線、スプライン曲
線)f(t)を生成する。
【0016】なお、接線ベクトルは、接線ベクトルを求
めようとする点の前後の点の3点を通る円弧を求め、接
線ベクトルを求めようとする点におけるこの円弧の接線
ベクトルを当該接線ベクトルとする。例えば、パスPi
における点Pi,jでの接線ベクトルPi,j’は、前後の点
i,j-1、Pi,j+1とこの点Pi,jの3点を通る円弧を求
め、この円弧における点Pi,jでの接線ベクトルを、こ
の点Pi,jの接線ベクトルとする。なお、パスの始点、
終点では、前、又は後の点がないことから、始点の接線
ベクトルは、該始点と始点に続く次の2点の3点を通る
円弧、終点の接線ベクトルは、該終点と終点の前の2点
の3点を通る円弧に基づいて求める。例えばパスPi
始点Pi,1での接線ベクトルPi,1’は始点Pi,1と次の
点Pi,2、さらに次の点Pi,3を通る円弧を求めこの円弧
より始点Pi,1の接線ベクトルPi,1’を求める。又、終
点Pi,niでの接線ベクトルPi,ni’は終点前の2点P
i,ni-2、Pi,ni-1および終点Pi,niを通る円弧より求め
る。
【0017】こうして得られた、隣接するパスPi-1
i、Pi+1における連続する点間を結ぶ線分で、一番近
い線分の両端の点間を滑らかにつなぐ滑らか曲線g
(t)、h(t)、f(t)に基づいて、パスPiの滑
らか曲線f(t)に対して、前後のパスPi-1、Pi+1
滑らか曲線g(t)、h(t)の影響を与えて、パスP
i- 1、Pi、Pi+1の滑らか曲線が、ピックフィード方向
にも滑らかに連続するように加工点列を修正する。この
実施形態では、点Pi,jと点Pi,j+1の間に曲線g
(t)、h(t)、f(t)に基づいて補助点PjHを求
め、この補助点をもパスP iの指令点として滑らか曲線
を求めるようにしている。
【0018】この実施形態では、始点から終点までの距
離に対する始点から足の位置までの距離の比率に基づく
パラメータtq、trを次の1式2式によって求める。 tq=|QsQc|/|QsQe| ・・・(1) tr=|RsRc|/|RsRe| ・・・(2) 次に、次の3式の演算を行って、内挿する補助点PjH
求める。 PjH=(K1*f(1/2)+K2*g(tq)+K3*h(tr))/(K1+K2+K3) ・・・(3) 上記3式でK1,K2,K3は各点の重み付けのための
係数であり、この値はK1=2、K2=K3=1等が考
えられる。
【0019】すなわち、本実施形態においては、当該パ
スPiの隣り合う点Pi,j、点Pi,j+ 1を結ぶ線分に一番
近い距離にある、前後のパスPi-1、Pi+1の隣り合う点
を結ぶ線分を検出することによって、当該パスPiの隣
り合う点Pi,j、点Pi,j+1を通る曲線に近い前後のパス
の曲線部を検出し、隣り合う点Pi,j、点Pi,j+1を通る
滑らかな曲線f(t)の中間点位置f(1/2)と、前
後のパスにおける検出した一番近い線分の両端の点を通
る滑らか曲線g(t)、h(t)における垂線の足の位
置に対応する該曲線上の位置g(tq)、h(tr)と
により、それぞれの位置に対して重みを付けて、
i,j、と点Pi,j+1間に補助点PjHを挿入するものであ
る。そして、この挿入した補助点をも指令点列とみなし
パスPiの滑らか曲線を求めることによって、当該パス
iの前後のパスPi-1、Pi+1の曲線を考慮してパス間
も滑らかに連続するようにしたものである。
【0020】なお、この補助点PjHを求める式として第
3式の一次式を用いたが必要によっては二次式、三次式
を用いてもよい。こうして得られた補助点PjHをも第i
パスPiの指令点とみなし第iパスPiの滑らか曲線(ベ
ジェ曲線、NURBS曲線、スプライン曲線)f(t)
を生成する。
【0021】以上が、本実施形態におけるピックフィー
ド方向にも滑らかな曲面を得るための動作原理である。
図2は、上述したピックフィード方向にも滑らかな曲面
を得るための動作原理に基づいて、加工プログラムの点
列を修正し加工を制御する数値制御装置の要部ブロック
図である。プロセッサ11は数値制御装置10を全体的
に制御するプロセッサであり、バス21を介してROM
12に格納されたシステムプログラムを読み出し、この
システムプログラムに従って、数値制御装置10を全体
的に制御する。RAM13には一時的な計算データ、表
示データ等が格納される。CMOSメモリ14は図示し
ないバッテリでバックアップされ、数値制御装置10の
電源がオフにされても記憶状態が保持される不揮発性メ
モリとして構成され、加工プログラム等を記憶する。
【0022】インターフェイス15は外部機器用のイン
ターフェイスであり、紙テープリーダ,紙テープパンチ
ャー、フロッピーディスクドライバ等の外部機器82が
接続される。外部機器82のメモリ手段からは加工プロ
グラムが読み込まれCMOSメモリ14に記憶される。
また、数値制御装置10内で編集されCMOSメモリ1
4に記憶されたNCプログラムを外部メモリに出力する
こともできる。
【0023】PMC(プログラマブル・マシン・コント
ローラ)16は数値制御装置10に内蔵されたシーケン
スプログラムで工作機械を制御する。即ち、加工プログ
ラムで指令された機能に従って、これらシーケンスプロ
グラムで工作機械側で必要な信号に変換し、I/Oユニ
ット17から工作機械側に出力する。この出力信号によ
り工作機械側の各種アクチュエータが作動する。また、
工作機械側のリミットスイッチおよび機械操作盤の各種
スイッチ等の信号を受けて、必要な処理をして、プロセ
ッサ11に渡す。各軸の現在位置、アラーム、パラメー
タ、画像データ等の画像信号は表示器/MDIユニット
80の表示装置に送られ、表示装置に表示される。イン
ターフェイス18は表示器/MDIユニット80内のキ
ーボードからのデータを受けてプロセッサ11に渡す。
インターフェイス19は操作盤81に接続され、操作盤
からの指令をプロセッサ11に渡す。
【0024】軸制御回路30,31,32はプロセッサ
11からのX,Y,Zの各軸の移動指令を受けて、各軸
の指令をサーボアンプ40,41,42に出力する。サ
ーボアンプ40,41,42はこの指令を受けて各軸の
サーボモータ50,51,52を駆動する。各軸のサー
ボモータ50,51,52には位置速度検出器としての
パルスコーダ60,61,62が取り付けられており、
このパルスコーダからのフィードバック信号が軸制御回
路30,31,32にフィードバックされる。軸制御回
路30,31,32に内蔵されたサーボ制御CPUの各
々はこれらのフィードバック信号と前述の移動指令とに
基いて位置ループ、速度ループの各処理を行い、最終的
な駆動制御のためのトルク指令を各軸毎に求めて各軸の
サーボモータ50,51,52の位置、速度を制御す
る。
【0025】スピンドル制御回路70はスピンドル回転
指令およびスピンドルのオリエンテーション等の指令を
受けて、スピンドルアンプ71にスピンドル速度信号を
出力する。スピンドルアンプ71はこのスピンドル速度
信号を受けて、スピンドルモータ72を指令された回転
速度で回転させる。また、オリエンテーション指令によ
って、所定の位置にスピンドルモータ72の回転位置を
位置決めする。又該スピンドルモータ72の回転速度は
速度検出器としてのポジションコーダ73で検出され、
インターフェイス20を介してフィードバックされる。
【0026】上述した数値制御装置の構成は従来の数値
制御装置の構成と同一である。ROM12に格納されて
いる本発明のピックフィード方向にも滑らかな曲面を得
るための処理プログラムが格納されている点で相違す
る。本発明の機能を実行するために本発明の機能モード
を選択するGコードと補助コードが設けられており、
「G05.1Q5」によって本発明の機能モードの開始
を指定し、「G05.1Q0」でこの機能モードの終了
を指令するようにしている。本機能を実行するプログラ
ムの一例を示すと次のようになる。 G05.1Q5; 本機能モードの開始 X1.234Y2.345Z3.456: 第1パス開始 X1.345Y2.346Z3.567; ・・・・・・・ X120.234Y2.348Z3.678; Y3.348; 第1パス終了。ピックフィード指令 X120.234Y3.348Z3.655; 第2パス開始 X120.113Y3.348Z3.588; ・・・・・・・ X1.234Y3.348Z3.455; Y4.348; 第2パス終了、ピックフィード指令 ・・・・・・・ G05.1Q0; 本機能モードの終了 上述したプログラム例において、従来と相違する点は、
このプログラムの先頭と最後に本発明の機能モードの開
始と終了を示すコード「G05.1Q5」、「G05.
1Q0」がプログラムされている点のみである。又、数
値制御装置は何番目のパスかを従来と同様に自動判別す
る。この自動判別方法としては、例えば、ほぼ接する方
向に点列が並んでいるかどうかを判別する角度を設定し
ておき、指令点列間がその角度を越える角度をもってい
る場合はピックフィードとみなし、指令点列間の角度が
この設定角度以下の場合にはパスが継続しているものと
みなす処理を行って自動判別する。又、自動判別ではな
く、第何パスか、ピックフィードかということをプログ
ラム上で指令する従来の方法も採用できる。
【0027】そこで、この実施形態では下記に示すよう
に、パスが第1から第mまで、指令され、各パスにおい
てはそれぞれ点が、1〜ni(i=1〜m)まで指令さ
れているものとして以下説明する。 第1パス:P1,1、P1,2、・・・・・P1,n1 第2パス:P2,1、P2,2、・・・・・P2,n2 ・・・・・・・ 第mパス:Pm,1、Pm,2、・・・・・Pm,nm この加工プログラムは、図3に示すように、往復方向に
加工形状指令点列によるパスが指令されているものとす
る。そして、このような各パスを点列で指令したプログ
ラムを外部メモリ82等からインタフェース15を介し
て入力しCMOSメモリ14に格納した後、このプログ
ラムを実行する。プロセッサ11はプログラムから「G
05.1Q5」のコードが読み込まれると、図4〜図6
に示す処理を実行する。
【0028】まず、第1パスの加工形状指令点列
1,1、P1,2、P1,3・・・P1,n1より従来と同じ方法
によって滑らかな曲線(ベジェ曲線、NURBS曲線、
スプライン曲線)を生成し記憶する(ステップS1)。
次に指標iを「2」に、指標jを「1」にそれぞれセッ
トし(ステップS2、S3)、第iパスの第j番目と
(j+1)番目の点Pi,j、Pi,j+1の接線ベクトルP
i,j’、Pi,j+1’を求める(ステップS4)。前述した
ように、接線ベクトルを求めようとする当該点が点列の
中間部であれば、図3に示すようにこの当該点Pi,j
前後の点Pi,j-1、Pi,j+1を加えた3点を通る円弧を求
め、この円弧の当該点の接線ベクトルを求めることによ
って求める。又接線ベクトルを求めようとする点がパス
の始点若しくは終点であると、当該点に続く3点(図3
においてPi,1、Pi,2、Pi,3の3点、又はPi,ni-2
i,ni-1、Pi,ni)を通る円弧を求めこの円弧の当該点
の接線ベクトルを求めることによって、この接線ベクト
ルを求める。
【0029】i=2、j=1の場合には、点Pi,j=P
2,1、Pi,j+1=P2,2の接線ベクトルPi,j’=
2,1’、Pi,j+1’=P2,2’は、点P2,1、点P2,2
点P2,3、の3点を通る円弧より求めることになる。次
に点Pi,j(=P2,1)と点Pi,j+1(=P2,2)の中点P
cを求め(ステップS5)、該中点Pcから当該パスで
ある第iパスよりも1つ前の第(i−1)パスの隣り合
う点(i=2のときは第1パスのP1,1、P1,2、P1,3
・・・P1,n1)間を結ぶ線分Pi-1,ki-1,k+1(kは1
からni-1−1まで変化する)に垂線を下ろしたときそ
の垂線の足Qcがその線分上にあるか判断し(ステップ
S6)、1つもなければ、ステップS17に移行し、補
助点の挿入処理は行わない。又、1つでもあるとステッ
プS7に移行し、その線分の内、垂線の長さ|PcQc
|が一番小さい線分Pi-1,ki-1,k+1(k=1〜ni-1
−1)を選択する。この選択線分を図1に示すように線
分Pi-1,ai-1,a+1とする。
【0030】そして、ベクトル(Pi-1,a、Pi-1,a+1
とベクトル(Pi,j、Pi,j+1)の内積を求め、その内積
が正で同方向であれば、線分の始点Qsを点Pi-1,a
終点Qeを点Pi-1,a+1とする。逆に内積が正ではな
く、方向が逆方向であれば、線分の始点Qsを点P
i-1,a+1、終点Qeを点Pi-1,aとする(ステップS
8)。図1,図3に示す例では往復パスのプログラム例
であるから、方向が逆で上記内積は正とはならないか
ら、点Pi-1,a+1が始点Qs、点Pi-1,aが終点Qeとな
る。
【0031】同様に、中点Pcから当該第iパスよりも
1つ後の第(i+1)パスの隣り合う点(i=2のとき
は第3パスのP3,1、P3,2、P3,3・・・P3,n3)間を
結ぶ線分Pi+1,ki+1,k+1(kは1からni+1−1まで
変化する)に垂線を下ろしたときその垂線の足Rcがそ
の線分上にあるか判断し(ステップS9)、1つもなけ
れば、ステップS17に移行し、補助点の挿入処理は行
わない。又、1つでもあるとステップS10に移行し、
その線分の内、垂線の長さ|PcRc|が一番小さい線
分Pi+1,ki+1,k+1(k=1〜ni+1−1)を選択す
る。この選択線分を図1に示すように線分Pi+1,b
i+1,b+1とする。
【0032】そして、ベクトル(Pi+1,b、Pi+1,b+1
とベクトル(Pi,j、Pi,j+1)の内積を求め、その内積
が正で同方向であれば、線分の始点Rsを点Pi+1,b
終点Reを点Pi+1,b+1とする。逆に内積が正ではな
く、方向が逆方向であれば、線分の始点Rsを点P
i+1,b+1、終点Reを点Pi+1,bとする(ステップS1
1)。図1、図3に示す例では往復パスのプログラム例
であるから、方向が逆で上記内積は正とはならないか
ら、点Pi+1,b+1が始点Rs、点Pi+1,bが終点Reとな
る。
【0033】次にステップS8、ステップS11で求め
た中点Pcから下ろした垂線の足Qc、Rcを有する線
分の始点Qs,Rs、終点Qe,Reにおける接線ベク
トルを前述した方法によって、接線ベクトルQs’、R
s’、終点Qe’、Re’を求める(ステップS1
2)。そして、前述したように、点Qs、Qe、接線ベ
クトルQs’、Qe’に基づいて点Qs、Qeを通り、
g(0)=Qs、g(1)=Qeとなる滑らかな曲線
(ベジェ曲線、NURBS曲線、スプライン曲線)g
(t)を生成する(ステップS13)。同様に、、点R
s、Re、接線ベクトルRs’、Re’に基づいて点R
s、Reを通り、h(0)=Rs、h(1)=Reとな
る滑らかな曲線(ベジェ曲線、NURBS曲線、スプラ
イン曲線)h(t)を生成する(ステップS14)。
【0034】さらに、点Pi,j、点Pi,j+1、およびその
各点の接線ベクトルPi,j’、Pi,j +1’から、点
i,j、点Pi,j+1を通り、f(0)=Pi,j、f(1)
=Pi,j+1となる滑らかな曲線(ベジェ曲線、NURB
S曲線、スプライン曲線)f(t)を生成する(ステッ
プS15)。そして、得られた当該パスの第iパスにお
ける2点間の滑らかな曲線f(t)とこの第iパスの前
後の第(i−1)パス、第(i+1)パスにおける2点
間の滑らかな曲線g(t)、h(t)に基づいてピック
フィード方向に曲面を滑らかに連続化させる連続化処理
を実行する。すなわちこの実施形態においては、前述し
たように、第1式、第2式によってパラメータtq、t
rを求め、第3式の演算をすることによって、当該iパ
スの前後のパスの滑らか曲線を加味し、この前後の滑ら
か曲線がピックフィード方向にも滑らかに連続するよう
な当該パスの曲線を得るために当該iパスの2点間に補
助点PjHを求める(ステップS16)。
【0035】次に、指標jを「1」インクリメントし
(ステップS17)、該指標jが当該iパスの点列の点
数ni以上か判断し(ステップS18)、この数niに
達していなければ、ステップS4に戻り、前述した処理
を繰り返し、隣り合う点間を結ぶ線分の中点Pcから前
後のパスの隣り合う点間を結ぶ線分に垂線が下ろせる場
合には、この当該パスの当該点間に補助点PjHを挿入す
る。かくして、指標jの値が点列の点数niに達し、当
該iパスに対する補助点の挿入処理が終了すると、ステ
ップS18からステップS19に移行し、挿入した各補
助点PkH(kは1〜ni−1まで変わる)も指令点とみ
なし、プログラムで指令された点列にこの補助点PkH
加えた点列に基づいて従来と同じ方法で滑らかな曲線
(ベジェ曲線、NURBS曲線、スプライン曲線)を生
成する。
【0036】次に、指標iを「1」インクリメントして
該指標iがプログラムで設定されているパス数m以上が
判断し(ステップS20、S21)、m以上でなければ
ステップS3に戻り、ステップS3以下の前述した処理
を事項し、各パスに対して、上述した補助点を挿入処理
を行い、この補助点をもプログラムで指令された点列に
加えて、当該パスの前後のパスとピックフィード方向に
も滑らかに連続するように滑らか曲線を求める。そし
て、指標iの値がプログラムで指令されたパス数mに達
すると、最後のパスである第mパスとして指令された点
列に基づいて従来と同様の方法で滑らか曲線を生成す
る。
【0037】こうして得られた滑らか曲線に基づいて、
プロセッサ11は補間処理を行い、X、Y、Zの各軸へ
移動指令の分配を行い、各軸の軸制御回路30,31,
32は位置、速度さらには電流のフィードバック制御を
行って、サーボアンプ40,41,42を介して各軸サ
ーボモータ50,51,52を駆動制御する。なお、上
述した実施形態では、当該パスの点列の2点間の加工領
域に一番近い前後のパス上の点列における2点間の領域
を求め、この前後のパス上の求めた2点を通るそれぞれ
の滑らかな曲線と、当該パスの前記2点を通る滑らかな
曲線により、この2点間の中間点近傍に補助点PjHを求
めるようにした。この補助点を1点ではなく2点、3点
と複数求めるようにしてもよい。
【0038】例えば、2点求めるようにする場合には、
2点を結ぶ線分Pi,ji,j+1の中間点Pcの代わりに、
線分Pi,ji,j+1の1/3の点、2/3点より当該パス
の前後のパスの点間を結ぶ線分に垂線が下ろせる線分を
求め、この線分の両端点を通り滑らかな曲線を前述同様
に求めて、垂線を下ろした足の位置によってこの足に相
当する各滑らか曲線の位置、かつ当該パスの当該点を通
る滑らかに曲線の1/3,2/3に対応する位置にそれ
ぞれ重みをつれて、当該パスの当該点Pi,j、Pi,j+1
に2つの補助点を挿入しこの2つの補助点を加えた点列
により当該パスの滑らか曲線を求めるようにしてもよ
い。なお、線分Pi,ji,j+1の1/3の点、2/3点よ
り当該パスの前後のパスの点間を結ぶ線分に垂線が下ろ
せる線分がないような場合には、上述した実施形態のよ
うに中間点より垂線を下ろして中間点を挿入するように
併合して処理を行ってもよい。
【0039】さらに、上述した実施形態では、各パスの
滑らか曲線を全て求め、その後に求めた滑らか曲線に基
づいて補間処理を実行するようにしたが、補間処理時に
各パスを求める毎に補間処理を実行するようにしてもよ
い。すなわちステップS1,S19,S22で滑らか曲
線求めた後に直ちに補間処理を行うようにしてもよいも
のである。
【0040】
【発明の効果】本発明は、パスが往復で指令されていて
も、又パスに変曲点があっても、ピックフィード方向に
も滑らかに連続する曲面を加工することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態における動作原理の説明図
である。
【図2】同一実施形態の数値制御装置の要部ブロック図
である。
【図3】加工プログラムで指令された加工形状指令点列
の一例である。
【図4】本発明の一実施形態における本発明の機能の処
理フローチャートである。
【図5】同フローチャートの続きである。
【図6】同フローチャートの続きである。
【符号の説明】
i-1、Pi、Pi+1 パス Pi j 点 Qs、Rs 始点 Qe、Re 終点 Pc 中間点 Qc、Rc 垂線の足
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5H269 AB05 AB37 BB03 CC02 CC18 EE07 EE13 EE29 GG02 GG08 JJ02 KK03 NN07 QA05 QB17 QC01 QC06 QC07 RB03 RB08 RB11

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 ピックフィードと加工形状指令点列が交
    互に複数個指令されているプログラムを読み込み、前記
    加工形状指令点列をつなぐ滑らかな曲線を求め該曲線に
    基づいて補間する数値制御装置において、 滑らかな曲線を求めようとする加工形状指令点列と該加
    工形状指令点列に対してピックフィードをはさんで前お
    よび後の加工形状指令点列を読み込み、 前記滑らかな曲線を求めようとする加工形状指令点列と
    その前および後の加工形状指令点列との関係に基づい
    て、前記滑らかな曲線を求めようとする加工形状指令点
    列の点列間に補助点を加入し、該補助点が加入された加
    工形状指令点列を滑らかな曲線で補正する、ことを特徴
    とする数値制御装置。
  2. 【請求項2】 ピックフィードと加工形状指令点列が交
    互に複数個指令されているプログラムを読み込み、前記
    加工形状指令点列をつなぐ滑らかな曲線を求め該曲線に
    基づいて補間する数値制御装置において、 滑らかな曲線を求めようとする加工形状指令点列とその
    前および後の加工形状指令点列より、ピックフィード方
    向に滑らかに連続する曲面が得られるように前記滑らか
    な曲線を求めようとする加工形状指令点列の点列間に補
    助点を加入し、該補助点が加入された加工形状指令点列
    を滑らかな曲線で補正する、ことを特徴とする数値制御
    装置。
  3. 【請求項3】 前記加工形状指令点列の任意の隣り合っ
    た2点に対応する前記加工形状指令点列に対してピック
    フィードをはさんで前の加工形状指令点列上の2点、お
    よび、前記加工形状指令点列の隣り合った2点に対応す
    る前記加工形状指令点列に対してピックフィードをはさ
    んで後の加工形状指令点列上の2点を選択し、それぞれ
    の2点を滑らかに結ぶ関数を求め、該関数により前記加
    工形状指令点列上の補助点を求めることを特徴とする請
    求項1又は請求項2記載の数値制御装置。
JP16360399A 1999-06-10 1999-06-10 数値制御装置 Expired - Fee Related JP3466111B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16360399A JP3466111B2 (ja) 1999-06-10 1999-06-10 数値制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16360399A JP3466111B2 (ja) 1999-06-10 1999-06-10 数値制御装置

Publications (2)

Publication Number Publication Date
JP2000353006A true JP2000353006A (ja) 2000-12-19
JP3466111B2 JP3466111B2 (ja) 2003-11-10

Family

ID=15777074

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16360399A Expired - Fee Related JP3466111B2 (ja) 1999-06-10 1999-06-10 数値制御装置

Country Status (1)

Country Link
JP (1) JP3466111B2 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6697700B2 (en) * 2002-01-15 2004-02-24 Mori Seiki Co., Ltd. Correction apparatus for NC lathe
WO2011052800A1 (ja) 2009-10-30 2011-05-05 株式会社牧野フライス製作所 工具経路の生成方法および装置
WO2012056588A1 (ja) 2010-10-26 2012-05-03 株式会社牧野フライス製作所 工具経路の生成方法および生成装置
US20130138241A1 (en) * 2011-11-28 2013-05-30 Fanuc Corporation Wire electric discharge machining method and wire electric discharge machine for machining tool that uses ultra-hard material and is mounted to rotating shaft
JP2017084189A (ja) * 2015-10-29 2017-05-18 ブラザー工業株式会社 制御装置、工作機械、制御方法及びコンピュータプログラム
JP2017102593A (ja) * 2015-11-30 2017-06-08 ブラザー工業株式会社 制御装置、工作機械、制御方法及びコンピュータプログラム
DE102018007773A1 (de) 2017-10-03 2019-04-04 Fanuc Corporation Numerisches Steuergerät
CN113504764A (zh) * 2021-06-30 2021-10-15 浙江大学 基于位置矢量加权积分的连续线段数控加工路径平滑方法
WO2022176077A1 (ja) * 2021-02-17 2022-08-25 三菱電機株式会社 加工プログラム修正装置、加工プログラム修正方法および加工システム
JP7470536B2 (ja) 2020-03-10 2024-04-18 オークマ株式会社 加工結果評価装置
DE112021007992T5 (de) 2021-10-08 2024-05-02 Fanuc Corporation Steuergerät und computerlesbares Aufzeichnungsmedium mit Speicherprogramm

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6386511B2 (ja) 2016-10-28 2018-09-05 ファナック株式会社 工具経路生成装置、工具経路生成方法及び工具経路生成プログラム

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6697700B2 (en) * 2002-01-15 2004-02-24 Mori Seiki Co., Ltd. Correction apparatus for NC lathe
WO2011052800A1 (ja) 2009-10-30 2011-05-05 株式会社牧野フライス製作所 工具経路の生成方法および装置
US9829879B2 (en) 2010-10-26 2017-11-28 Makino Milling Machine, Co., Ltd. Generation method and generation apparatus of tool path based on corrections using average distances
WO2012056588A1 (ja) 2010-10-26 2012-05-03 株式会社牧野フライス製作所 工具経路の生成方法および生成装置
JP5562430B2 (ja) * 2010-10-26 2014-07-30 株式会社牧野フライス製作所 工具経路の生成方法および生成装置
KR101485932B1 (ko) 2010-10-26 2015-01-23 마키노 밀링 머신 주식회사 공구경로의 생성방법 및 생성장치
US20130138241A1 (en) * 2011-11-28 2013-05-30 Fanuc Corporation Wire electric discharge machining method and wire electric discharge machine for machining tool that uses ultra-hard material and is mounted to rotating shaft
US9381589B2 (en) * 2011-11-28 2016-07-05 Fanuc Corporation Wire electric discharge machining method and wire electric discharge machine for machining tool that uses ultra-hard material and is mounted to rotating shaft
JP2017084189A (ja) * 2015-10-29 2017-05-18 ブラザー工業株式会社 制御装置、工作機械、制御方法及びコンピュータプログラム
JP2017102593A (ja) * 2015-11-30 2017-06-08 ブラザー工業株式会社 制御装置、工作機械、制御方法及びコンピュータプログラム
DE102018007773A1 (de) 2017-10-03 2019-04-04 Fanuc Corporation Numerisches Steuergerät
US10788805B2 (en) 2017-10-03 2020-09-29 Fanuc Corporation Numerical controller having tool path interpolation
JP7470536B2 (ja) 2020-03-10 2024-04-18 オークマ株式会社 加工結果評価装置
WO2022176077A1 (ja) * 2021-02-17 2022-08-25 三菱電機株式会社 加工プログラム修正装置、加工プログラム修正方法および加工システム
JP7455271B2 (ja) 2021-02-17 2024-03-25 三菱電機株式会社 加工プログラム修正装置、加工プログラム修正方法および加工システム
CN113504764A (zh) * 2021-06-30 2021-10-15 浙江大学 基于位置矢量加权积分的连续线段数控加工路径平滑方法
DE112021007992T5 (de) 2021-10-08 2024-05-02 Fanuc Corporation Steuergerät und computerlesbares Aufzeichnungsmedium mit Speicherprogramm

Also Published As

Publication number Publication date
JP3466111B2 (ja) 2003-11-10

Similar Documents

Publication Publication Date Title
JP3904993B2 (ja) 曲線補間方法
EP1720085B1 (en) Curve interpolating method
JP4351281B2 (ja) 5軸加工機を制御する数値制御装置
JP3830475B2 (ja) 制御装置
JP4406034B2 (ja) 5軸加工機を制御する数値制御装置
JP3396342B2 (ja) スプライン補間機能を有する数値制御装置
JP3466111B2 (ja) 数値制御装置
JP4199103B2 (ja) 数値制御装置及び数値制御方法
EP0780745B1 (en) Method and apparatus for free curve interpolation
JP6363642B2 (ja) 接線連続のコーナにおけるコーナ経路の最適化機能を有する数値制御装置
JP2007304714A (ja) 数値制御装置
US20230226691A1 (en) Robot controller, robot control method, and storage medium storing robot control program
JP2007293478A (ja) 曲線補間方法
JPH11345014A (ja) 数値制御装置
JP3068989B2 (ja) 数値制御装置
JPH07152417A (ja) 数値制御装置の工具径路および送り速度制御方式
JP3958112B2 (ja) 数値制御装置における速度制御方法
JP4244339B2 (ja) 指令値生成装置
CN111103844A (zh) 程序修正装置
JP3902353B2 (ja) 数値制御装置
JP3236579B2 (ja) 数値制御装置および曲線経路補間方法
JP2002366208A (ja) 工作機械の自由曲線補間方法及び数値制御装置
JP3210301B2 (ja) 数値制御装置
JPH05165514A (ja) 数値制御装置の補間方式
TW202139587A (zh) 定位控制裝置及定位方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030805

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070829

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080829

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090829

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100829

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees