JP2000353006A - Numerical controller - Google Patents

Numerical controller

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
Japanese (ja)
Other versions
JP3466111B2 (en
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/en
Publication of JP2000353006A publication Critical patent/JP2000353006A/en
Application granted granted Critical
Publication of JP3466111B2 publication Critical patent/JP3466111B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)

Abstract

PROBLEM TO BE SOLVED: To work a smooth curved surface in the pick feed direction as well by suppressing generation of difference in levels between paths. SOLUTION: A midpoint Pc of a segment to connect adjacent points Pi, j, Pi, j+1 of a path Pi is calculated. A perpendicular can be drawn down on the segment to connect the adjacent points of front and rear paths Pi-1, Pi+1 from the midpoint Pc and the minimum segment of the length of the perpendicular is selected. Smooth curves f(t), g(t), h(t) to pass points (Pi, j, Pi, j+1, Qs, Qe, Rs, Re) on both ends of the respective segments are calculated. An auxiliary point PjH is inserted between the points Pi, j, Pi, j+1 by a midpoint f(1/2) of the curve for the path Pi and positions g(tq), h(tr) on the respective curves corresponding to positions Qc, Rc of respective legs. The auxiliary points are inserted between respective points, the auxiliary points are added to a command point string of the path Pi and the smooth curve is calculated. Such calculation is similarly performed for respective paths as well, the difference in levels between the paths are eliminated and the curve is made to be smoothly continued.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、金型など滑らかな
表面を持つ加工物を加工する工作機械に用いられる数値
制御装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a numerical control device used for a machine tool for processing a workpiece having a smooth surface such as a die.

【0002】[0002]

【従来の技術】金型等の曲面加工においては、多くの点
列によって加工経路としての1パスを指令し、少しずつ
ピックフィードして複数のパスを指令することによっ
て、曲面加工のプログラムを形成している。このような
加工プログラムに基づいて、数値制御装置は指令された
点間の微小な線分を滑らかな曲線、―例えば、NURB
S曲線、スプライン曲線、ベジェ曲線など、―でつない
でこの曲線に基づいて補間している。
2. Description of the Related Art In the machining of a curved surface of a mold or the like, a curved surface machining program is formed by instructing one path as a machining path by using a series of points and instructing a plurality of passes by pick feed little by little. are doing. On the basis of such a machining program, the numerical controller converts a minute line segment between commanded points into a smooth curve, for example, NURB
An S curve, a spline curve, a Bezier curve, and the like are connected by a minus and interpolation is performed based on this curve.

【0003】[0003]

【発明が解決しようとする課題】上述した従来技術にお
いては、数値制御装置が指令された加工形状指令点列の
パスに沿って、点列の点を通る曲線を求めこの曲線に基
づいて補間し加工することから、1パス内ではほぼ滑ら
かに曲線の加工が行われる。しかし、隣り合ったパス間
の関係は単にピックフィードされるだけで、各パス間に
関しては曲面を滑らかに加工するための考慮はされてな
い。そのため、曲面によっては、隣り合ったパス間で段
差が発生し、加工面が滑らかにならない場合があった。
In the above-mentioned prior art, the numerical controller obtains a curve passing through the points of the point sequence along the path of the commanded machining shape point sequence and interpolates based on this curve. Due to the processing, the processing of the curve is performed almost smoothly within one pass. However, the relationship between adjacent passes is merely picked, and no consideration is given to smoothing a curved surface between the passes. Therefore, depending on the curved surface, a step may occur between adjacent passes, and the processed surface may not be smooth.

【0004】特に、各パスの進行方向(加工方向)が1
方向ではなく、往復でパスが指令されている場合や、パ
スが変曲点を持っている場合などは、隣り合ったパス間
で段差が大きくなる傾向がある。すなわち、加工曲面が
加工時のピックフィード方向に段差が生じるという問題
が発生していた。そこで、本発明の課題は、パス間の段
差発生を抑制することができる数値制御装置を提供する
ことにある。
In particular, the traveling direction (machining direction) of each pass is 1
When a path is instructed not in the direction but in a round trip, or when the path has an inflection point, the step between adjacent paths tends to increase. That is, there has been a problem that a step is generated in the pick feed direction at the time of processing the curved processing surface. Therefore, an object of the present invention is to provide a numerical control device capable of suppressing occurrence of a step between paths.

【0005】[0005]

【課題を解決するための手段】本発明は、ピックフィー
ドと加工形状指令点列が交互に複数個指令されているプ
ログラムを読み込み、前記加工形状指令点列をつなぐ滑
らかな曲線を求め該曲線に基づいて補間する数値制御装
置に関するものであり、滑らかな曲線を求めようとする
加工形状指令点列と該加工形状指令点列に対してピック
フィードをはさんで前および後の加工形状指令点列を読
み込んで、前記滑らかな曲線を求めようとする加工形状
指令点列とその前および後の加工形状指令点列との関係
に基づいて、前記滑らかな曲線を求めようとする加工形
状指令点列の点列間に補助点を加入し、該補助点が加入
された加工形状指令点列を滑らかな曲線で補正すること
によって、ピックフィード方向に段差を発生させること
なく、滑らかな曲面が得られるようにする。
According to the present invention, a program in which a plurality of pick feeds and a sequence of machining shape command points are alternately commanded is read, and a smooth curve connecting the sequence of machining shape command points is determined, and the curve is obtained. The present invention relates to a numerical control device that performs interpolation based on a machining shape command point sequence for obtaining a smooth curve and a machining shape command point sequence before and after a pick feed for the machining shape command point sequence. Is read, and based on the relationship between the machining shape command point sequence to seek the smooth curve and the preceding and subsequent machining shape command point sequences, the machining shape command point sequence to seek the smooth curve. Auxiliary points are added between the sequence of points, and the machining shape command point sequence to which the auxiliary points have been added is corrected with a smooth curve, so that a smooth curve can be obtained without generating a step in the pick feed direction. So that can be obtained.

【0006】特に、前記加工形状指令点列の任意の隣り
合った2点に対応する前記加工形状指令点列に対してピ
ックフィードをはさんで前の加工形状指令点列上の2
点、および、前記加工形状指令点列の隣り合った2点に
対応する前記加工形状指令点列に対してピックフィード
をはさんで後の加工形状指令点列上の2点を選択し、そ
れぞれの2点を滑らかに結ぶ関数を求め、該関数により
前記加工形状指令点列上の補助点を求め、この当該パス
の前後のパスの曲線を加味した補助点を加工形状指令点
列に追加しこの加工形状指令点列によって滑らか曲線を
求め、この曲線に基づいて補間し加工することにより、
ピックフィード方向にも滑らかな曲面の加工ができるよ
うにした。
In particular, a pick feed is interposed between the machining shape command point sequence corresponding to any two adjacent points in the machining shape command point sequence, and two points on the preceding machining shape command point sequence are interposed.
Point, and picking up the machining shape command point sequence corresponding to two adjacent points of the machining shape command point sequence, picking two points on the subsequent machining shape command point sequence, A function that smoothly connects the two points is obtained, an auxiliary point on the machining shape command point sequence is obtained using the function, and an auxiliary point taking into account the curve of the path before and after this path is added to the machining shape command point sequence. By obtaining a smooth curve by this processing shape command point sequence, and performing interpolation and processing based on this curve,
A smooth curved surface can also be processed in the pick feed direction.

【0007】[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とす
る。
FIG. 1 is a diagram illustrating the principle of an embodiment of the present invention. One pass for machining is instructed by a machining shape instruction point sequence of points indicating three-dimensional coordinate positions, and after a predetermined amount of pick feed, the next pass is instructed, and this is sequentially repeated. A processing program for processing a three-dimensional curved surface is formed. Any i-th path consists of the commanded machining shape commanded sequence of points in the machining program P i, the previous path from the path P i (i-th path immediately before pick-feed to the path) The path following P i−1 and the i-th path P i (the path immediately after pick feed from the i-th path) is set to P i + 1 . In the example of FIG.
An example in which a pass is instructed in a round trip is described.
-1) The path P i-1 moves from left to right in FIG. 1, the i-th path P i moves from right to left, and the (i + 1) -th path P i + 1 moves from left to right. Arbitrary two points of the machining shape command point sequence constituting the i-th pass P i are defined as P i, j and P i, 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を通り、かつこの点間
の滑らかな曲線を隣り合うパスの対応する線分における
曲線をも考慮した滑らかな曲線とすれば、ピックフィー
ド方向にも段差が生じなく滑らかな曲面の加工が可能と
なる。
[0008] During each line segment line segment P i connecting these two points, j P i, with respect to j + 1, connecting the front and rear of the path P i-1, sequence of points P i + 1 of the path P i, one Find the closest line segment. That is,
A line segment P i, j connecting two points in the sequence of points in the path P i ,
Since the closest line segment connecting P i, j + 1 and two points in the preceding and following paths P i-1 and P i + 1 is adjacent to each other,
In the processing of these line segment regions, a smooth curve between the points P i, j and P i, j + 1 of the path P i and a smooth curve between the points correspond to the adjacent paths so that no step is generated. If a smooth curve is considered in consideration of the curve in the line segment, it is possible to process a smooth curved surface without generating a step in the pick feed direction.

【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(座標位置)とする。
As a method of obtaining a line segment closest to the line segment P i, j P i, j + 1 , in the present embodiment, a line segment P i, j P i, j + 1 is calculated from the midpoint Pc of the line segment P i, j P i, j + 1. It is determined whether the perpendicular can be lowered for each line segment of the paths P i-1 and P i + 1 of this path. If there is no line segment that can be lowered, this correction process is not performed. Is selected as the closest line segment. In the example of FIG. 1, on the path P i-1 , the points P i-1, a
Line connecting the preparative point Pi-1, a + 1, the path P i + 1, line segments connecting the points P i + 1, b and the point P i + 1, b + 1 , the line segment P i, j It is assumed that a line segment closest to P i, j + 1 has been detected. Note that the foot dropped from the midpoint Pc to the line segment P i-1, a P i-1, a + 1 is Qc (coordinate position), and the line segment P i + 1, b P i + 1, The foot lowered to b + 1 is defined as Rc (coordinate position).

【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とする。
Then, as described later, a pick feed
In order to obtain a smooth curved surface in the direction, the point sequence of the path Pi
Determine the start and end points to correct. Vector (P
i-1, aPi -1, a + 1) Is the vector (Pi, jPi, j + 1Same direction as)
, That is, the vector (P i-1, aPi-1, a + 1) And ba
Kutor (Pi, jPi, j + 1) Is positive, the point P
i-1, aIs the starting point Qs and the point Pi-1, a + 1Is the end point Qe. vice versa
Vector (Pi-1, aPi-1, a + 1) Is the vector (Pi, jP
i, j + 1), The vector (Pi-1, aPi-1, a + 1)When
Vector (Pi, jPi, j + 1) Is not positive, the point P
i-1, aTo the end point Qe, point Pi-1 , a + 1Is the starting point 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とする。
Similarly, the vector (Pi + 1, bPi + 1, b + 1)But
Vector (Pi, jPi, j + 1) In the same direction as the vector (P
i + 1, bPi + 1, b + 1) And vector (Pi, jPi, j + 1)
If positive, point Pi + 1, bIs the starting point Rs and the point Pi + 1, b + 1The end point
Re. Conversely, the vector (P i + 1, bPi + 1, b + 1) Is baek
Torr (Pi, jPi, j + 1), The vector (Pi + 1, b
Pi + 1, b + 1) And vector (Pi, jPi, j + 1) Is a positive inner product
If not, point Pi + 1, bTo the end point Re, point Pi + 1, b + 1Starting point 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となっている。
Since the example of FIG. 1 shows an example of a reciprocating path, the traveling direction in each path changes alternately, and the vector (P i-1, a P i-1, a + 1 ) and the vector (P
i + 1, b P i + 1, b + 1 ) and the vector (P i, j P i, j + 1 ) are in the opposite directions, and the inner product is not positive. Therefore, the points P i-1, a and P i + 1, b on the starting point side of each path P i-1 and P i + 1 are changed to the end point Q
e, Re, the end point P i-1, a + 1 , and the point P i + 1, b + 1 are the start points Q
s and 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)を生成する。
Next, in order to obtain a smooth curve, the point P
i, j , point P i, j + 1 , point Qs, point Qe, Rs, tangent vector P i, j ′ of Re, P i, j + 1 ′, Qs ′, Qe ′, Rs ′,
Re ′ is obtained, and the points Qs, Qe and the tangent vector Qs ′,
From Qe ′, through point Qs and point Qe, g (0) = Qs,
g (1) = Qe Smooth curve (Bézier curve, NU
RBS curve, spline curve) g (t) is generated. For example, in the case of a spline curve, g (t) = Agt 3 + Bgt 2 + Cgt + Dg, and this spline curve equation g (t) and an equation obtained by differentiating this equation, a point Qs, a point Qe, and a tangent vector Q
The coefficients Ag, Bg, Cg, and Dg of the spline curve equation g (t) are obtained from s ′ and Qe ′, and the spline curve equation g
(T) is generated.

【0014】同様に、点Rs、点Reと接線ベクトルR
s’、Re’より、点Rs、点Reを通り、h(0)=
Rs、h(1)=Reとなる滑らかな曲線(ベジェ曲
線、NURBS曲線、スプライン曲線)h(t)を生成
することができる。
Similarly, the points Rs and Re and the tangent vector R
From s ′ and Re ′, through point Rs and point Re, h (0) =
A smooth curve (Bézier curve, NURBS curve, spline curve) h (t) that satisfies Rs, h (1) = Re can be generated.

【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)を生成する。
Further, the points P i, j , P i, j + 1 , and the tangent vectors P i, j ′, P i, j + 1 ′ make the points P i, j , P i, j + 1 , A smooth curve (Bézier curve, NURBS curve, spline curve) f (t) that satisfies f (0) = P i, j and f (1) = P i, j + 1 is generated.

【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を通る円弧より求め
る。
As the tangent vector, an arc passing through three points before and after the point for which the tangent vector is to be obtained is obtained, and the tangent vector of this arc at the point for which the tangent vector is to be obtained is defined as the tangent vector. . For example, the path P i
Point P i, tangent vector P i at j, j 'in the front and rear of point P i, j-1, P i, j + 1 and the point P i, obtains an arc passing through 3 points j, the The tangent vector at the point P i, j in the arc is defined as the tangent vector at the point P i, j . The starting point of the path,
At the end point, since there is no point before or after, the tangent vector at the start point is an arc passing through the three points of the start point and the next two points following the start point, and the tangent vector at the end point is the tangent vector at the end point and the point before the end point. It is determined based on an arc passing through two of three points. For example, a tangent vector P i, 1 ′ at the start point P i, 1 of the path P i is obtained by calculating an arc passing through the start point P i, 1 , the next point P i, 2 , and the next point P i, 3. A tangent vector P i, 1 ′ of the starting point P i, 1 is obtained. In addition, the end point P i, tangent vector P i in ni, ni 'is two points before the end point P
It is determined from an arc passing through i, ni-2, Pi , ni-1 and the end point 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の指令点として滑らか曲線
を求めるようにしている。
The thus obtained adjacent path Pi-1,
Pi, Pi + 1Is a line segment connecting consecutive points in
A smooth curve g that smoothly connects the points at both ends of a straight line segment
Based on (t), h (t) and f (t), the path PiSmooth
Path P before and after the curve f (t)i-1, Pi + 1of
The path P is affected by the smooth curves g (t) and h (t).
i- 1, Pi, Pi + 1The smooth curve of the pick feed direction
The processing point sequence is corrected so that it continues smoothly. this
In the embodiment, the point Pi, jAnd point Pi, j + 1Curve g between
(T), h (t), f (t)jHSeeking
In this case, the path P iSmooth curve as command point of
I want to ask.

【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等が考
えられる。
In this embodiment, parameters tq and tr based on the ratio of the distance from the start point to the position of the foot with respect to the distance from the start point to the end point are determined by the following equations (1) and (2). tq = | QsQc | / | QsQe | (1) tr = | RsRc | / | RsRe | (2) Next, an arithmetic operation of the following three equations is performed to obtain an auxiliary point P jH to be interpolated. Ask for. P jH = (K1 * f (1/2) + K2 * g (tq) + K3 * h (tr)) / (K1 + K2 + K3) (3) In the above three equations, K1, K2, and K3 are weights of each point. This value may be K1 = 2, K2 = K3 = 1, or the like.

【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の曲線を考慮してパス間
も滑らかに連続するようにしたものである。
[0019] That is, in this embodiment, there the path P i of adjacent points P i, j, the point P i, the closest distance to the line segment connecting the j + 1, the front and rear of the path P i-1, by detecting the line segment connecting the points adjacent P i + 1, the path P i points P i neighboring, j, point P i, the curve of the front and rear of the path close to the curve passing through j + 1 The intermediate point position f (1/2) of the smooth curve f (t) passing through the detected and adjacent points P i, j and P i, j + 1, and the closest detected line segment in the preceding and following paths Are weighted for each position by means of positions g (tq) and h (tr) on the smooth curves g (t) and h (t) passing through the points at both ends of With
P i, j, and the point P i, is to insert the auxiliary point P jH between j + 1. Then, by determining the smooth curve of the path P i regarded as a command point sequence also the inserted auxiliary points, among paths taking into account the longitudinal paths P i-1, P i + 1 of the curve of the path P i Are also smoothly continuous.

【0020】なお、この補助点PjHを求める式として第
3式の一次式を用いたが必要によっては二次式、三次式
を用いてもよい。こうして得られた補助点PjHをも第i
パスPiの指令点とみなし第iパスPiの滑らか曲線(ベ
ジェ曲線、NURBS曲線、スプライン曲線)f(t)
を生成する。
Although the primary equation of the third equation is used as an equation for calculating the auxiliary point PjH , a quadratic equation or a cubic equation may be used if necessary. The auxiliary point P jH obtained in this way is also the i-th point.
Smooth curve of the i path P i regarded as a command point of the path P i (Bezier curve, NURBS curve, spline curve) f (t)
Generate

【0021】以上が、本実施形態におけるピックフィー
ド方向にも滑らかな曲面を得るための動作原理である。
図2は、上述したピックフィード方向にも滑らかな曲面
を得るための動作原理に基づいて、加工プログラムの点
列を修正し加工を制御する数値制御装置の要部ブロック
図である。プロセッサ11は数値制御装置10を全体的
に制御するプロセッサであり、バス21を介してROM
12に格納されたシステムプログラムを読み出し、この
システムプログラムに従って、数値制御装置10を全体
的に制御する。RAM13には一時的な計算データ、表
示データ等が格納される。CMOSメモリ14は図示し
ないバッテリでバックアップされ、数値制御装置10の
電源がオフにされても記憶状態が保持される不揮発性メ
モリとして構成され、加工プログラム等を記憶する。
The above is the operation principle for obtaining a smooth curved surface also in the pick feed direction in the present embodiment.
FIG. 2 is a block diagram of a main part of a numerical control device that corrects a point sequence of a machining program and controls machining based on an operation principle for obtaining a smooth curved surface also in the pick feed direction. The processor 11 is a processor that controls the numerical controller 10 as a whole, and a ROM
The system program stored in the memory 12 is read out, and the numerical controller 10 is entirely controlled in accordance with the system program. The RAM 13 stores temporary calculation data, display data, and the like. The CMOS memory 14 is backed up by a battery (not shown), is configured as a nonvolatile memory that retains a storage state even when the power of the numerical controller 10 is turned off, and stores a machining program and the like.

【0022】インターフェイス15は外部機器用のイン
ターフェイスであり、紙テープリーダ,紙テープパンチ
ャー、フロッピーディスクドライバ等の外部機器82が
接続される。外部機器82のメモリ手段からは加工プロ
グラムが読み込まれCMOSメモリ14に記憶される。
また、数値制御装置10内で編集されCMOSメモリ1
4に記憶されたNCプログラムを外部メモリに出力する
こともできる。
The interface 15 is an interface for an external device, to which an external device 82 such as a paper tape reader, a paper tape puncher, or a floppy disk driver is connected. The processing program is read from the memory means of the external device 82 and stored in the CMOS memory 14.
The CMOS memory 1 edited in the numerical controller 10
4 can be output to an external memory.

【0023】PMC(プログラマブル・マシン・コント
ローラ)16は数値制御装置10に内蔵されたシーケン
スプログラムで工作機械を制御する。即ち、加工プログ
ラムで指令された機能に従って、これらシーケンスプロ
グラムで工作機械側で必要な信号に変換し、I/Oユニ
ット17から工作機械側に出力する。この出力信号によ
り工作機械側の各種アクチュエータが作動する。また、
工作機械側のリミットスイッチおよび機械操作盤の各種
スイッチ等の信号を受けて、必要な処理をして、プロセ
ッサ11に渡す。各軸の現在位置、アラーム、パラメー
タ、画像データ等の画像信号は表示器/MDIユニット
80の表示装置に送られ、表示装置に表示される。イン
ターフェイス18は表示器/MDIユニット80内のキ
ーボードからのデータを受けてプロセッサ11に渡す。
インターフェイス19は操作盤81に接続され、操作盤
からの指令をプロセッサ11に渡す。
A PMC (programmable machine controller) 16 controls a machine tool by a sequence program built in the numerical controller 10. That is, in accordance with the functions instructed by the machining program, these sequence programs convert the signals into necessary signals on the machine tool side, and output the signals from the I / O unit 17 to the machine tool. Various actuators on the machine tool are operated by this output signal. Also,
Upon receiving signals from limit switches on the machine tool side and various switches on the machine operation panel, necessary processing is performed, and the signals are passed to the processor 11. Image signals such as the current position of each axis, alarms, parameters, and image data are sent to the display device of the display / MDI unit 80 and displayed on the display device. The interface 18 receives data from the keyboard in the display / MDI unit 80 and passes the data to the processor 11.
The interface 19 is connected to the operation panel 81 and passes commands from the operation panel to the processor 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の位置、速度を制御す
る。
The axis control circuits 30, 31, and 32 receive the movement commands of the X, Y, and Z axes from the processor 11, and output the commands of the respective axes to the servo amplifiers 40, 41, and 42. The servo amplifiers 40, 41, 42 drive the servo motors 50, 51, 52 of each axis in response to this command. Pulse coder 60, 61, 62 as a position / speed detector is attached to servo motors 50, 51, 52 of each axis.
The feedback signal from the pulse coder is fed back to the axis control circuits 30, 31, 32. Each of the servo control CPUs incorporated in the axis control circuits 30, 31, and 32 performs each processing of a position loop and a speed loop based on these feedback signals and the above-mentioned movement command, and performs final drive control. A torque command is obtained for each axis to control the positions and speeds of the servo motors 50, 51, and 52 for each axis.

【0025】スピンドル制御回路70はスピンドル回転
指令およびスピンドルのオリエンテーション等の指令を
受けて、スピンドルアンプ71にスピンドル速度信号を
出力する。スピンドルアンプ71はこのスピンドル速度
信号を受けて、スピンドルモータ72を指令された回転
速度で回転させる。また、オリエンテーション指令によ
って、所定の位置にスピンドルモータ72の回転位置を
位置決めする。又該スピンドルモータ72の回転速度は
速度検出器としてのポジションコーダ73で検出され、
インターフェイス20を介してフィードバックされる。
The spindle control circuit 70 outputs a spindle speed signal to the spindle amplifier 71 in response to a spindle rotation command and a command such as spindle orientation. Upon receiving the spindle speed signal, the spindle amplifier 71 rotates the spindle motor 72 at the commanded rotation speed. In addition, the rotational position of the spindle motor 72 is positioned at a predetermined position by an orientation command. The rotation speed of the spindle motor 72 is detected by a position coder 73 as a speed detector.
Feedback is provided via interface 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」がプログラムされている点のみである。又、数
値制御装置は何番目のパスかを従来と同様に自動判別す
る。この自動判別方法としては、例えば、ほぼ接する方
向に点列が並んでいるかどうかを判別する角度を設定し
ておき、指令点列間がその角度を越える角度をもってい
る場合はピックフィードとみなし、指令点列間の角度が
この設定角度以下の場合にはパスが継続しているものと
みなす処理を行って自動判別する。又、自動判別ではな
く、第何パスか、ピックフィードかということをプログ
ラム上で指令する従来の方法も採用できる。
The configuration of the numerical controller described above is the same as the configuration of the conventional numerical controller. The difference is that a processing program for obtaining a smooth curved surface is also stored in the pick feed direction of the present invention stored in the ROM 12. A G code and an auxiliary code for selecting the function mode of the present invention for executing the function of the present invention are provided.
The start of the function mode of the present invention is designated by "G05.1Q5", and the end of this function mode is instructed by "G05.1Q0". An example of a program for executing this function is as follows. G05.1Q5; Start of this function mode X1.234Y2.345Z3.456: Start of first pass X1.345Y2.346Z3.567; ..... X120.234Y2.348Z3.678; Y3.348; End of pass. Pick feed command X120.234Y3.348Z3.655; 2nd pass start X120.113Y3.348Z3.588; ... X1.234Y3.348Z3.455; Y4.348; 2nd pass end, pick feed command ······ G051Q0; End of this function mode In the above program example, the difference from the conventional program is
At the beginning and end of this program, codes “G05.1Q5” and “G05.
1Q0 "is programmed. Further, the numerical controller automatically determines the order of the pass in the same manner as in the related art. As an automatic discrimination method, for example, an angle for discriminating whether or not a point sequence is arranged in a direction almost in contact with each other is set. When the angle between the point strings is equal to or smaller than the set angle, the path is determined to be continuing and the processing is automatically determined. Instead of the automatic discrimination, a conventional method of instructing the number of the pass or the pick feed on a program can also be adopted.

【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
に示す処理を実行する。
Therefore, in this embodiment, as shown below, paths are commanded from the first to the m-th, and in each path, points are commanded from 1 to ni (i = 1 to m). This will be described below. First pass: P 1,1 , P 1,2 , ..., P 1, n1 Second pass: P 2,1 , P 2,2 , ..., P 2, n2 ... .. M-th pass: P m, 1 , P m, 2 ,... P m, nm In this machining program, as shown in FIG. It is assumed that Then, a program instructing each path in a point sequence is input from the external memory 82 or the like via the interface 15 and stored in the CMOS memory 14, and then the program is executed. The processor 11 outputs “G
When the code of “55.1Q5” is read, FIGS.
The processing shown in is performed.

【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)を通る円弧を求めこの円弧の当該点
の接線ベクトルを求めることによって、この接線ベクト
ルを求める。
Firstly, processed shape commanded sequence of points P 1,1 of the first pass, P 1,2, P 1,3 ··· P 1, n1 smooth curve (Bezier curve in the same manner as conventionally, NURBS curve ,
A spline curve is generated and stored (step S1).
Next, the index i is set to "2" and the index j is set to "1" (steps S2 and S3), and the j-th and (j + 1) -th points P i, j and P i, j of the i-th path are set. +1 tangent vector P
i, j ′ and P i, j + 1 ′ are obtained (step S4). As described above, if the point for which the tangent vector is to be obtained is an intermediate part of the point sequence, the points P i, j-1 and P i before and after this point P i, j are shown in FIG. , j + 1 , an arc passing through the three points is obtained, and a tangent vector of the arc at the point is obtained. If the point for which the tangent vector is to be obtained is the start point or the end point of the path, three points following the point (FIG.
At three points of Pi, 1 , Pi, 2 , Pi, 3 or Pi, ni-2 ,
This tangent vector is obtained by obtaining an arc passing through P i, ni-1 , P i, ni ) and obtaining a tangent vector of the point of this arc.

【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とする。
If i = 2 and j = 1, the point P i, j = P
2,1 , P i, j + 1 = tangent vector P i, j ′ of P 2,2 =
P 2,1 ′, P i, j + 1 ′ = P 2,2 ′ are the points P 2,1 , P 2,2 ,
It is determined from an arc passing through the three points P 2,3 . Next, the midpoint P between the point P i, j (= P 2,1 ) and the point P i, j + 1 (= P 2,2 )
c is obtained (step S5), and an adjacent point of the (i-1) th path which is one path before the i-th path which is the path from the midpoint Pc (P 1 of the first path when i = 2) , 1 , P 1,2 , P 1,3
... Line segment P i-1, k P i-1, k + 1 (k is 1) connecting P 1, n1
When the vertical line is dropped from (i.e., changes to n i-1 -1), it is determined whether or not the foot Qc of the vertical line is on the line segment (step S6). Is not inserted. If there is at least one, the process proceeds to step S7, and the length of the perpendicular | PcQc of the line segments
Is the smallest line segment P i-1, k P i-1, k + 1 (k = 1 to n i-1
Select -1). The selected line segment is a line segment Pi-1, aPi-1, a + 1 as shown in FIG.

【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とな
る。
Then, the vectors (P i-1, a , P i-1, a + 1 )
And the inner product of the vector (P i, j , P i, j + 1 ) is obtained. If the inner product is positive and in the same direction, the start point Qs of the line segment is set to the points P i-1, a ,
The end point Qe is assumed to be a point Pi -1, a + 1 . Conversely, if the inner product is not positive and the direction is the opposite direction, the start point Qs of the line segment is set to the point P
i-1, a + 1 , and the end point Qe as a point P i-1, a (step S
8). Since the examples shown in FIG. 1 and FIG. 3 are program examples of the reciprocating path, the directions are opposite and the inner product is not positive, so that the point P i-1, a + 1 is the starting point Qs and the point P i-1, a is the end point 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とする。
Similarly, adjacent points of the (i + 1) th pass one after the i-th pass from the midpoint Pc (when i = 2, P 3,1 , P 3,2 , P 3,3 ... P 3, n3 ) and drop a perpendicular line to a line segment P i + 1, k P i + 1, k + 1 (k changes from 1 to n i + 1 -1). Then, it is determined whether or not the leg Rc of the perpendicular line is on the line segment (step S9). If there is no leg, the process proceeds to step S17, and the insertion processing of the auxiliary point is not performed. If there is at least one, the process proceeds to step S10,
Among the line segments, the line segment P i + 1, k P i + 1, k + 1 (k = 1 to n i + 1 −1) having the smallest perpendicular line length | PcRc | is selected. As shown in FIG. 1, the selected line segment is divided into a line segment P i + 1, b P
i + 1 and 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とな
る。
Then, the vectors (P i + 1, b , P i + 1, b + 1 )
And the vector (P i, j , P i, j + 1 ) is obtained. If the inner product is positive and in the same direction, the starting point Rs of the line segment is set to the points P i + 1, b ,
The end point Re is set to points P i + 1 and b + 1 . Conversely, if the inner product is not positive and the direction is the opposite direction, the start point Rs of the line segment is set to the point P
i + 1, b + 1 , and the end point Re as a point P i + 1, b (step S1
1). Since the examples shown in FIG. 1 and FIG. 3 are the program examples of the reciprocating path, since the direction is reversed and the inner product is not positive, the points Pi + 1, b + 1 are the starting point Rs, the points Pi + 1, b is the end point 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)。
Next, the tangent vectors at the start points Qs, Rs, end points Qe, Re of the line segment having the perpendicular legs Qc, Rc lowered from the midpoint Pc obtained in steps S8 and S11 are calculated by the above-described method. Qs', R
s', end points Qe 'and Re' are obtained (step S1).
2). Then, as described above, it passes through the points Qs and Qe based on the points Qs and Qe and the tangent vectors Qs 'and Qe',
g (0) = Qs, g (1) = Qe, a smooth curve (Bézier curve, NURBS curve, spline curve) g
(T) is generated (step S13). Similarly, the point R
s, Re and the tangent vector Rs ', Re'
A smooth curve (Bézier curve, NURBS curve, spline curve) h (t) that passes through s and Re and satisfies h (0) = Rs and h (1) = Re is generated (step 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)。
Further, from the points P i, j , P i, j + 1 , and the tangent vectors P i, j ′ and P i, j +1 ′ of each point, the points P i, j and P i , j + 1 , f (0) = P i, j , f (1)
= P i, j + 1 (Bezier curve, NURB
An S curve and a spline curve) f (t) are generated (step S15). Then, the obtained smooth curve f (t) between the two points in the i-th pass of the path and the smooth curve between the two points in the (i-1) -th and (i + 1) -th paths before and after the i-th pass are obtained. Based on the simple curves g (t) and h (t), a continuation process for smoothly continuing the curved surface in the pick feed direction is executed. That is, in this embodiment, as described above, the parameters tq and t are calculated by the first and second equations.
r is calculated, and by performing the calculation of the third equation, the smooth curve of the path before and after the i-pass is added, and the curve of the path such that the smooth curve before and after the i-path smoothly continues in the pick feed direction is calculated. In order to obtain, an auxiliary point PjH is obtained between two points of the i-pass (step 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曲線、スプライン曲線)を生
成する。
Next, the index j is incremented by "1" (step S17), and it is determined whether or not the index j is equal to or greater than the score ni of the point sequence of the i-pass (step S18). Returning to step S4, the above-described processing is repeated, and if a perpendicular can be drawn from the midpoint Pc of the line connecting the adjacent points to the line connecting the adjacent points of the preceding and succeeding paths, An auxiliary point P jH is inserted between them. Thus, when the value of the index j reaches the score ni of the point sequence and the insertion process of the auxiliary point for the i-path is completed, the process proceeds from step S18 to step S19, where each inserted auxiliary point P kH (k is 1 to ni (Up to -1) is also regarded as a command point, and a smooth curve (Bézier curve, NURBS curve, spline curve) is obtained in the same manner as the conventional method based on a point sequence obtained by adding the auxiliary point P KH to a point sequence specified by the program. Generate

【0036】次に、指標iを「1」インクリメントして
該指標iがプログラムで設定されているパス数m以上が
判断し(ステップS20、S21)、m以上でなければ
ステップS3に戻り、ステップS3以下の前述した処理
を事項し、各パスに対して、上述した補助点を挿入処理
を行い、この補助点をもプログラムで指令された点列に
加えて、当該パスの前後のパスとピックフィード方向に
も滑らかに連続するように滑らか曲線を求める。そし
て、指標iの値がプログラムで指令されたパス数mに達
すると、最後のパスである第mパスとして指令された点
列に基づいて従来と同様の方法で滑らか曲線を生成す
る。
Next, the index i is incremented by "1" to determine whether the index i is equal to or greater than the number m of paths set by the program (steps S20 and S21). If not, the flow returns to step S3. S3 and the following processes are performed, and the above-mentioned auxiliary point is inserted into each path. This auxiliary point is also added to the point sequence specified by the program, and the path before and after the path is picked up. Obtain a smooth curve so that it continues smoothly in the feed direction. Then, when the value of the index i reaches the number m of passes specified by the program, a smooth curve is generated in the same manner as in the past based on the point sequence specified as the m-th pass which is the last pass.

【0037】こうして得られた滑らか曲線に基づいて、
プロセッサ11は補間処理を行い、X、Y、Zの各軸へ
移動指令の分配を行い、各軸の軸制御回路30,31,
32は位置、速度さらには電流のフィードバック制御を
行って、サーボアンプ40,41,42を介して各軸サ
ーボモータ50,51,52を駆動制御する。なお、上
述した実施形態では、当該パスの点列の2点間の加工領
域に一番近い前後のパス上の点列における2点間の領域
を求め、この前後のパス上の求めた2点を通るそれぞれ
の滑らかな曲線と、当該パスの前記2点を通る滑らかな
曲線により、この2点間の中間点近傍に補助点PjHを求
めるようにした。この補助点を1点ではなく2点、3点
と複数求めるようにしてもよい。
Based on the smooth curve thus obtained,
The processor 11 performs an interpolation process, distributes the movement command to each of the X, Y, and Z axes, and controls the axis control circuits 30, 31,
Reference numeral 32 performs feedback control of the position, speed, and current, and drives and controls the servomotors 50, 51, and 52 of the respective axes via the servo amplifiers 40, 41, and 42. In the above-described embodiment, an area between two points in a point sequence on a preceding and succeeding path closest to a machining area between two points in the point sequence of the path is determined, and the determined two points on the preceding and succeeding paths are determined. , And a smooth curve passing through the two points on the path, an auxiliary point PjH is determined near the midpoint between the two points. Instead of one point, a plurality of auxiliary points such as two points and three points may be obtained.

【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点よ
り当該パスの前後のパスの点間を結ぶ線分に垂線が下ろ
せる線分がないような場合には、上述した実施形態のよ
うに中間点より垂線を下ろして中間点を挿入するように
併合して処理を行ってもよい。
For example, to obtain two points,
Instead of the intermediate point Pc of the line segment P i, j P i, j + 1 connecting the two points,
A line segment that allows a perpendicular line to be drawn from a point that is one-third of the line segment P i, j P i, j + 1 and a point that is two-thirds of the path before and after the path is determined. A smooth curve passing through both end points is obtained in the same manner as described above, and the position of each smooth curve corresponding to this foot is determined by the position of the foot with the perpendicular line dropped down, and 1/3, 2 of the smooth curve passing through the corresponding point of the path. / 3 are weighted, and two auxiliary points are inserted between the corresponding points P i, j and P i, j + 1 of the path, and a point sequence obtained by adding the two auxiliary points is used. A smooth curve of the path may be obtained. In the case where there is no line segment from which a perpendicular line can be drawn to a line segment connecting points of 1/3 of the line segment P i, j P i, j + 1 and points of 2/3 from the path before and after the path. In this case, as in the above-described embodiment, the merging may be performed such that the perpendicular is lowered from the intermediate point and the intermediate point is inserted.

【0039】さらに、上述した実施形態では、各パスの
滑らか曲線を全て求め、その後に求めた滑らか曲線に基
づいて補間処理を実行するようにしたが、補間処理時に
各パスを求める毎に補間処理を実行するようにしてもよ
い。すなわちステップS1,S19,S22で滑らか曲
線求めた後に直ちに補間処理を行うようにしてもよいも
のである。
Further, in the above-described embodiment, all the smooth curves of each path are obtained, and the interpolation processing is executed based on the smooth curve obtained thereafter. May be executed. That is, the interpolation processing may be performed immediately after obtaining the smooth curve in steps S1, S19, and S22.

【0040】[0040]

【発明の効果】本発明は、パスが往復で指令されていて
も、又パスに変曲点があっても、ピックフィード方向に
も滑らかに連続する曲面を加工することができる。
According to the present invention, even if the path is commanded reciprocally, or the path has an inflection point, it is possible to process a curved surface that is smoothly continuous in the pick feed direction.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の一実施形態における動作原理の説明図
である。
FIG. 1 is an explanatory diagram of an operation principle according to an embodiment of the present invention.

【図2】同一実施形態の数値制御装置の要部ブロック図
である。
FIG. 2 is a main block diagram of the numerical control device of the same embodiment.

【図3】加工プログラムで指令された加工形状指令点列
の一例である。
FIG. 3 is an example of a machining shape command point sequence instructed by a machining program.

【図4】本発明の一実施形態における本発明の機能の処
理フローチャートである。
FIG. 4 is a processing flowchart of a function of the present invention in one embodiment of the present invention.

【図5】同フローチャートの続きである。FIG. 5 is a continuation of the flowchart.

【図6】同フローチャートの続きである。FIG. 6 is a continuation of the flowchart.

【符号の説明】[Explanation of symbols]

i-1、Pi、Pi+1 パス Pi j 点 Qs、Rs 始点 Qe、Re 終点 Pc 中間点 Qc、Rc 垂線の足P i−1 , P i , P i + 1 Path P i , j point Qs, Rs start point Qe, Re end point Pc intermediate point 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  ──────────────────────────────────────────────────続 き Continued on the front page F term (reference) 5H269 AB05 AB37 BB03 CC02 CC18 EE07 EE13 EE29 GG02 GG08 JJ02 KK03 NN07 QA05 QB17 QC01 QC06 QC07 RB03 RB08 RB11

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 ピックフィードと加工形状指令点列が交
互に複数個指令されているプログラムを読み込み、前記
加工形状指令点列をつなぐ滑らかな曲線を求め該曲線に
基づいて補間する数値制御装置において、 滑らかな曲線を求めようとする加工形状指令点列と該加
工形状指令点列に対してピックフィードをはさんで前お
よび後の加工形状指令点列を読み込み、 前記滑らかな曲線を求めようとする加工形状指令点列と
その前および後の加工形状指令点列との関係に基づい
て、前記滑らかな曲線を求めようとする加工形状指令点
列の点列間に補助点を加入し、該補助点が加入された加
工形状指令点列を滑らかな曲線で補正する、ことを特徴
とする数値制御装置。
1. A numerical control device which reads a program in which a plurality of pick feeds and a sequence of machining shape command points are alternately commanded, determines a smooth curve connecting the sequence of machining shape command points, and interpolates based on the curve. A process shape command point sequence for obtaining a smooth curve and a preceding and subsequent process shape command point sequence with a pick feed interposed between the process shape command point sequence and the smooth shape curve are obtained. Based on the relationship between the machining shape command point sequence to be performed and the preceding and subsequent machining shape command point sequences, an auxiliary point is added between the sequence of machining shape command point sequences for obtaining the smooth curve. A numerical control device for correcting a machining shape command point sequence to which an auxiliary point has been added with a smooth curve.
【請求項2】 ピックフィードと加工形状指令点列が交
互に複数個指令されているプログラムを読み込み、前記
加工形状指令点列をつなぐ滑らかな曲線を求め該曲線に
基づいて補間する数値制御装置において、 滑らかな曲線を求めようとする加工形状指令点列とその
前および後の加工形状指令点列より、ピックフィード方
向に滑らかに連続する曲面が得られるように前記滑らか
な曲線を求めようとする加工形状指令点列の点列間に補
助点を加入し、該補助点が加入された加工形状指令点列
を滑らかな曲線で補正する、ことを特徴とする数値制御
装置。
2. A numerical control device which reads a program in which a plurality of pick feeds and a sequence of machining shape command points are alternately commanded, determines a smooth curve connecting the sequence of machining shape command points, and interpolates based on the curve. From the machining shape command point sequence for which a smooth curve is to be obtained and the preceding and subsequent machining shape command point sequences, the smooth curve is to be obtained so as to obtain a smoothly continuous curved surface in the pick feed direction. A numerical controller characterized by adding an auxiliary point between a sequence of machining shape command points and correcting the machining shape command point sequence to which the auxiliary point is added with a smooth curve.
【請求項3】 前記加工形状指令点列の任意の隣り合っ
た2点に対応する前記加工形状指令点列に対してピック
フィードをはさんで前の加工形状指令点列上の2点、お
よび、前記加工形状指令点列の隣り合った2点に対応す
る前記加工形状指令点列に対してピックフィードをはさ
んで後の加工形状指令点列上の2点を選択し、それぞれ
の2点を滑らかに結ぶ関数を求め、該関数により前記加
工形状指令点列上の補助点を求めることを特徴とする請
求項1又は請求項2記載の数値制御装置。
3. A pick shape is sandwiched between the machining shape command point sequence corresponding to any two adjacent points in the machining shape command point sequence, and two points on the preceding machining shape command point sequence; and A pick feed is interposed between the machining shape command point sequences corresponding to two adjacent points of the machining shape command point sequence, and two points on the subsequent machining shape command point sequence are selected. The numerical control device according to claim 1 or 2, wherein a function that smoothly connects is obtained, and an auxiliary point on the machining shape command point sequence is obtained by the function.
JP16360399A 1999-06-10 1999-06-10 Numerical control unit Expired - Fee Related JP3466111B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16360399A JP3466111B2 (en) 1999-06-10 1999-06-10 Numerical control unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16360399A JP3466111B2 (en) 1999-06-10 1999-06-10 Numerical control unit

Publications (2)

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

Family

ID=15777074

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16360399A Expired - Fee Related JP3466111B2 (en) 1999-06-10 1999-06-10 Numerical control unit

Country Status (1)

Country Link
JP (1) JP3466111B2 (en)

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 (en) 2009-10-30 2011-05-05 株式会社牧野フライス製作所 Tool path generation method and device
WO2012056588A1 (en) 2010-10-26 2012-05-03 株式会社牧野フライス製作所 Method and device for generating tool path
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 (en) * 2015-10-29 2017-05-18 ブラザー工業株式会社 Control apparatus, machine tool, control method and computer program
JP2017102593A (en) * 2015-11-30 2017-06-08 ブラザー工業株式会社 Control device, machining tool, control method and computer program
DE102018007773A1 (en) 2017-10-03 2019-04-04 Fanuc Corporation Numerical control unit
JP2021144341A (en) * 2020-03-10 2021-09-24 オークマ株式会社 Machining result evaluation device
CN113504764A (en) * 2021-06-30 2021-10-15 浙江大学 Continuous line segment numerical control machining path smoothing method based on position vector weighted integral
WO2022176077A1 (en) * 2021-02-17 2022-08-25 三菱電機株式会社 Machining program modification device, machining program modification method, and machining system
DE112021007992T5 (en) 2021-10-08 2024-05-02 Fanuc Corporation Control unit and computer-readable recording medium with storage program

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6386511B2 (en) 2016-10-28 2018-09-05 ファナック株式会社 Tool path generation device, tool path generation method, and tool path generation program

Cited By (18)

* 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 (en) 2009-10-30 2011-05-05 株式会社牧野フライス製作所 Tool path generation method and device
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 (en) 2010-10-26 2012-05-03 株式会社牧野フライス製作所 Method and device for generating tool path
JP5562430B2 (en) * 2010-10-26 2014-07-30 株式会社牧野フライス製作所 Tool path generation method and generation apparatus
KR101485932B1 (en) 2010-10-26 2015-01-23 마키노 밀링 머신 주식회사 Method and device for generating tool path
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 (en) * 2015-10-29 2017-05-18 ブラザー工業株式会社 Control apparatus, machine tool, control method and computer program
JP2017102593A (en) * 2015-11-30 2017-06-08 ブラザー工業株式会社 Control device, machining tool, control method and computer program
DE102018007773A1 (en) 2017-10-03 2019-04-04 Fanuc Corporation Numerical control unit
US10788805B2 (en) 2017-10-03 2020-09-29 Fanuc Corporation Numerical controller having tool path interpolation
JP2021144341A (en) * 2020-03-10 2021-09-24 オークマ株式会社 Machining result evaluation device
JP7470536B2 (en) 2020-03-10 2024-04-18 オークマ株式会社 Processing result evaluation device
WO2022176077A1 (en) * 2021-02-17 2022-08-25 三菱電機株式会社 Machining program modification device, machining program modification method, and machining system
JP7455271B2 (en) 2021-02-17 2024-03-25 三菱電機株式会社 Machining program correction device, machining program correction method, and machining system
CN113504764A (en) * 2021-06-30 2021-10-15 浙江大学 Continuous line segment numerical control machining path smoothing method based on position vector weighted integral
DE112021007992T5 (en) 2021-10-08 2024-05-02 Fanuc Corporation Control unit and computer-readable recording medium with storage program

Also Published As

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

Similar Documents

Publication Publication Date Title
JP3904993B2 (en) Curve interpolation method
EP1720085B1 (en) Curve interpolating method
JP4351281B2 (en) Numerical control device for controlling a 5-axis machine
JP3830475B2 (en) Control device
JP4406034B2 (en) Numerical control device for controlling a 5-axis machine
JP3396342B2 (en) Numerical controller with spline interpolation function
JP3466111B2 (en) Numerical control unit
JP4199103B2 (en) Numerical control apparatus and numerical control method
US5936864A (en) Free curve interpolation apparatus and interpolation method
JP6363642B2 (en) Numerical controller with corner path optimization function in tangential continuous corners
JP2007304714A (en) Numerical control device
US20230226691A1 (en) Robot controller, robot control method, and storage medium storing robot control program
JP2007293478A (en) Curve interpolation method
JPH11345014A (en) Numerical controller
JP3068989B2 (en) Numerical control unit
JP6823032B2 (en) Program modifier
JP4244339B2 (en) Command value generator
JP3902353B2 (en) Numerical controller
JP3236579B2 (en) Numerical control device and curve path interpolation method
JP2002366208A (en) Method for interpolating free curve of machine tool and numerical controller
JP2003337607A (en) Method for controlling speed of numerical control apparatus
JP3210301B2 (en) Numerical control unit
JPH05165514A (en) Interpolating system for numerical controller
JPH01217608A (en) Generation of spline curve
TW202139587A (en) Positioning control device and positioning method

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