JP3466111B2 - 数値制御装置 - Google Patents

数値制御装置

Info

Publication number
JP3466111B2
JP3466111B2 JP16360399A JP16360399A JP3466111B2 JP 3466111 B2 JP3466111 B2 JP 3466111B2 JP 16360399 A JP16360399 A JP 16360399A JP 16360399 A JP16360399 A JP 16360399A JP 3466111 B2 JP3466111 B2 JP 3466111B2
Authority
JP
Japan
Prior art keywords
point
machining shape
points
sequence
shape command
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.)
Expired - Fee Related
Application number
JP16360399A
Other languages
English (en)
Other versions
JP2000353006A (ja
Inventor
俊明 大槻
清次 石井
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

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
と点 i-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
曲線、スプライン曲線)を生成し記憶する(ステップS
1)。次に指標iを「2」に、指標jを「1」にそれぞ
れセットし(ステップS2、S3)、第iパスの第j番
目と(j+1)番目の点Pi,j、Pi,j+1 を読み出し、そ
接線ベクトルPi,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、Pi,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パスの
1,1、P1,2、P1,3・・・P1,n1)間を結ぶ線分P
i-1,ki-1,k+1(kは1からni-1−1まで変化する)
に垂線を下ろしたときその垂線の足Qcがその線分上に
あるか判断し(ステップS6)、1つもなければ、ステ
ップS17に移行し、補助点の挿入処理は行わない。
又、1つでもあるとステップS7に移行し、その線分の
内、垂線の長さ|PcQc|が一番小さい線分Pi-1,k
i-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から
i+1−1まで変化する)に垂線を下ろしたときその垂
線の足Rcがその線分上にあるか判断し(ステップS
9)、1つもなければ、ステップS17に移行し、補助
点の挿入処理は行わない。又、1つでもあるとステップ
S10に移行し、その線分の内、垂線の長さ|PcRc
|が一番小さい線分Pi+1,ki+1,k+1(k=1〜ni+1
−1)を選択する。この選択線分を図1に示すように線
分Pi+1,bi+1,b+1とする。なお、上述したように、本
実施形態においては、プロセッサのステップS1,S
4,S6,S9によって、加工形状指令点列を読み込む
手段を構成する。
【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パスとして指令された点
列に基づいて従来と同様の方法で滑らか曲線を生成す
る。以上の通り、本実施形態では、プロセッサのステッ
プS4〜S16の処理によって、加工形状指令点列間に
補正点を加入する手段を構成し、ステップ19の処理に
よって加工形状指令点列を滑らかな曲線で補正する手段
を構成する。また、ステップS6,S7,S9,S10
プロセッサの処理によって、加工形状指令点列上の2点
を選択する手段を構成し、ステップS8,S11〜S1
5のプロセッサの処理によって2点を滑らかに結ぶ関数
を求める手段を構成する。さらに、ステップS16の処
理がこの関数により加工形状指令点列上の補助点を求め
る手段を構成する。
【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 垂線の足
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平8−69309(JP,A) 特開 昭60−94255(JP,A) 特開 昭64−40255(JP,A) (58)調査した分野(Int.Cl.7,DB名) G05B 19/18 - 19/46 B23Q 15/00 - 15/28 G06F 17/50

Claims (3)

    (57)【特許請求の範囲】
  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 JP2000353006A (ja) 2000-12-19
JP3466111B2 true 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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10409256B2 (en) 2016-10-28 2019-09-10 Fanuc Corporation Tool-path generating device, tool-path generating method, and non-transitory recording medium storing tool-path generating program

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003211344A (ja) * 2002-01-15 2003-07-29 Mori Seiki Co Ltd Nc旋盤の補正装置
JP2011096077A (ja) 2009-10-30 2011-05-12 Makino Milling Mach Co Ltd 工具経路の生成方法及び装置
CN103180792B (zh) * 2010-10-26 2015-06-10 株式会社牧野铣床制作所 工具路径的生成方法以及生成装置
JP5221744B2 (ja) * 2011-11-28 2013-06-26 ファナック株式会社 回転軸に取り付けた超高硬度材を用いた工具を加工するワイヤ放電加工方法およびワイヤ放電加工機
JP6672702B2 (ja) * 2015-10-29 2020-03-25 ブラザー工業株式会社 制御装置、工作機械、制御方法及びコンピュータプログラム
JP6582931B2 (ja) * 2015-11-30 2019-10-02 ブラザー工業株式会社 制御装置、工作機械、制御方法及びコンピュータプログラム
JP6629808B2 (ja) 2017-10-03 2020-01-15 ファナック株式会社 数値制御装置
JP7470536B2 (ja) 2020-03-10 2024-04-18 オークマ株式会社 加工結果評価装置
DE112021007120T5 (de) 2021-02-17 2023-12-21 Mitsubishi Electric Corporation Vorrichtung zur modifikation eines bearbeitungsprogramms, verfahren zur modifikation eines bearbeitungsprogramms und bearbeitungssystem

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10409256B2 (en) 2016-10-28 2019-09-10 Fanuc Corporation Tool-path generating device, tool-path generating method, and non-transitory recording medium storing tool-path generating program

Also Published As

Publication number Publication date
JP2000353006A (ja) 2000-12-19

Similar Documents

Publication Publication Date Title
JP3904993B2 (ja) 曲線補間方法
EP1720085B1 (en) Curve interpolating method
JP4351281B2 (ja) 5軸加工機を制御する数値制御装置
JP4406034B2 (ja) 5軸加工機を制御する数値制御装置
JP3830475B2 (ja) 制御装置
JP4199103B2 (ja) 数値制御装置及び数値制御方法
JP3466111B2 (ja) 数値制御装置
JP3478946B2 (ja) サーボ調整方法およびその装置
JPH02113305A (ja) スプライン補間方法
US20120310405A1 (en) Numerical controller with function to correct movement path of machining program
EP0780745B1 (en) Method and apparatus for free curve interpolation
JP2007304714A (ja) 数値制御装置
JPH11345014A (ja) 数値制御装置
JPH07152417A (ja) 数値制御装置の工具径路および送り速度制御方式
JP3958112B2 (ja) 数値制御装置における速度制御方法
CN111103844A (zh) 程序修正装置
JP3236579B2 (ja) 数値制御装置および曲線経路補間方法
US20240103481A1 (en) Numerical controller
WO2023058243A9 (ja) 制御装置及びプログラムを記録したコンピュータ読み取り可能な記録媒体
JPH01217608A (ja) スプライン曲線生成方法
JPH05165514A (ja) 数値制御装置の補間方式
JP3210301B2 (ja) 数値制御装置
JP2000347715A (ja) 数値制御装置
JPS61138310A (ja) ロボツト制御装置
CN115605815A (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