JPH10240329A - Curve fine-segmentation method and numerical controller provided with spline interpolation function - Google Patents

Curve fine-segmentation method and numerical controller provided with spline interpolation function

Info

Publication number
JPH10240329A
JPH10240329A JP4183897A JP4183897A JPH10240329A JP H10240329 A JPH10240329 A JP H10240329A JP 4183897 A JP4183897 A JP 4183897A JP 4183897 A JP4183897 A JP 4183897A JP H10240329 A JPH10240329 A JP H10240329A
Authority
JP
Japan
Prior art keywords
curve
point
section
spline curve
spline
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
JP4183897A
Other languages
Japanese (ja)
Other versions
JP3366213B2 (en
Inventor
Daisuke Fujino
大助 藤野
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP4183897A priority Critical patent/JP3366213B2/en
Publication of JPH10240329A publication Critical patent/JPH10240329A/en
Application granted granted Critical
Publication of JP3366213B2 publication Critical patent/JP3366213B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To prevent a spline curve passing through the point sequence from generating a large error with an original curve at the time of finely segmenting the curve and generating the point sequence by evaluating the error of a cubic spline curve and reconstituting the point sequence by adding a passing point inside a section in the case that the error exceeds an allowable value. SOLUTION: The curve is approximated fine segment data by the allowable error ε (S101). Then, the spline curve is generated from the (n) pieces of the passing points P1 , P2 ,...Pn-1 (S102). Then, a specified point Pj is initialized (S103) and whether or not the inflection point of the curve is provided inside the section is evaluated in the respective sections of the spline (104). Then, in the case of judging that the inflection point is provided inside the section (S105), the error in the respective sections Pj -Pj+1 of the cubic spline curve is evaluated (S106). Further, whether or not the obtained error dj exceeds the allowable error ε is evaluated (S107). It is defined that the error is within the allowable value error and (S109) is advanced at the time of dj <=ε and it is defined that it exceeds the allowable error and (S108) is advanced at the time of dj >ε.

Description

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

【0001】[0001]

【発明の属する技術分野】この発明は、曲線の微小線分
化方法およびスプライン補間機能を有する数値制御装置
に関するものであり、特に、CAD/CAM装置におい
て曲線を数値制御装置で加工軌跡が通過することを指定
する点列データに変換するための曲線の微小線分化方
法、およびスプライン補間機能により与えられた点列を
通過して滑らかな補間制御を行うスプライン補間機能を
有する数値制御装置に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method of segmenting a curve into minute lines and a numerical controller having a spline interpolation function, and more particularly to a CAD / CAM apparatus in which a machining path passes through a curve by a numerical controller. And a numerical controller having a spline interpolation function for performing smooth interpolation control through a point sequence given by a spline interpolation function. .

【0002】[0002]

【従来の技術】従来、数値制御装置において、空間上の
自由曲線を移動経路として制御する場合に、予め、自由
曲線を微小区間に分割し、自由曲線を微小線分データと
して近似して数値制御装置に与え、この微小線分データ
を用いて移動経路を直線補間し制御する方法が一般的に
採られてきた。
2. Description of the Related Art Conventionally, in a numerical controller, when a free curve in space is controlled as a movement path, the free curve is divided into minute sections in advance, and the free curve is approximated as minute line segment data to perform numerical control. In general, a method has been adopted in which the motion path is given to an apparatus and linearly interpolated and controlled on the movement path using the minute line segment data.

【0003】自由曲線を微小線分に近似する代表的な方
法としては、図19(a)、(b)に示されているよう
に、許容誤差εを設定し、曲線Ps 〜Pe 上の指定点P
i 〜Pi+1 を結ぶ線分と曲線との距離(弦誤差di )が
許容誤差εを越えないように指定点Pi ,Pi+1 を設定
することにより点列を生成していた。
As a typical method of approximating a free curve to a minute line segment, as shown in FIGS. 19A and 19B, an allowable error ε is set and designated on the curves Ps to Pe. Point P
i to P i + distance between the line segment and the curve connecting 1 (chord error d i) tolerances specified points so as not to exceed the epsilon P i, is generating a sequence of points by setting P i + 1 Was.

【0004】ここで、工具軌跡を直線補間によって滑ら
かな曲線軌道に制御するためには、許容誤差εを小さく
設定する必要があるが、加工指令プログラム長や、直線
補間した際の加工速度の要因により、許容誤差εは無制
限には小さくできず、現実的には許容誤差εをある程度
の値に設定し、曲線Ps 〜Pe 上を、指定点P1,P2,・
・・を通過する折れ線で近似していた。
Here, in order to control the tool trajectory to a smooth curved trajectory by linear interpolation, it is necessary to set a small allowable error ε. However, factors such as the machining command program length and the machining speed at the time of linear interpolation are required. , The allowable error ε cannot be reduced indefinitely. Actually, the allowable error ε is set to a certain value, and the designated points P 1 , P 2 ,.
・ ・ It was approximated by a broken line passing through.

【0005】そこで、このような指定点P1,P2,・・・
から滑らかな加工軌跡を得る必要がある場合には、指定
点間を直線補間するのではなく、スプライン補間によっ
て軌跡制御を行う技術が採用されている。
[0005] Therefore, such designated points P 1 , P 2 , ...
When it is necessary to obtain a smooth machining trajectory from, the technique of performing trajectory control by spline interpolation instead of linear interpolation between designated points is adopted.

【0006】[0006]

【発明が解決しようとする課題】曲線からの許容誤差ε
でサンプリングされた指定点をスプライン補間した場
合、通常は元の曲線に極めて近い曲線軌跡が得られる
が、サンプリングされた指定点の配置によっては大きな
ひずみを生じる場合がある。
The error ε from the curve
When spline interpolation is performed on the designated point sampled by the above, a curve locus very close to the original curve is usually obtained, but a large distortion may occur depending on the arrangement of the sampled designated point.

【0007】そのような例を図20に示す。図20は実
線で示す曲線B(t) を許容誤差εで微小線分近似を行っ
た場合であるが、指定点P1,P2,・・・P9 をとった時
に、指定点P5 とP6 の間に変曲点があるので、許容誤
差ε以内の弦誤差が線分の両側で取れるため(dp 、d
q で示す)、結果として線分P5 〜P6 がその両側の線
分に比較して非常に長くなってしまう。
FIG. 20 shows such an example. Figure 20 when it is a case of performing minute line segments approximate the curve B (t) with a tolerance ε indicated by the solid line, the designated points P 1, P 2, took · · · P 9, designated point P 5 and because there is an inflection point between the P 6, since the chord error within tolerance ε can be taken on either side of the line segment (dp, d
q), as a result, the line segments P 5 to P 6 are much longer than the line segments on both sides.

【0008】そして、このようにして得られた点列を数
値制御装置で、スプライン補間した場合、結果として得
られる補間軌跡は図20において破線に示すように(波
線で示していない区間は波線で示すべき曲線が実線の曲
線と重なっているものと見なす)、指定点P5 とP6
間で、元の曲線に対して相当な誤差を有するものになり
良好な加工結果が得られないと云う問題が生じる。
When the thus obtained point sequence is spline-interpolated by the numerical controller, the resulting interpolation trajectory is indicated by a broken line in FIG. 20 (a section not indicated by a dashed line is indicated by a dashed line). deemed curve should exhibit overlaps the solid curve), between the designated points P 5 and P 6, the good processing result becomes what have considerable errors relative to the original curve is not obtained The following problem arises.

【0009】この発明は、このような問題点に鑑みてな
されたものであり、曲線を微小線分近似した際の出力デ
ータである通過点列を、数値制御装置側で直線補間して
も、スプライン補間しても補間軌跡が元の曲線に対して
十分な誤差精度を保証するような曲線の微小線分近似方
法、および、従来の許容誤差で近似された微小線分デー
タの指定通過点から、元の曲線データに対して許容誤差
を保証するようなスプライン補間を行う数値制御装置を
得ることを目的としている。
The present invention has been made in view of such a problem. Even when a numerical control device side linearly interpolates a passing point sequence which is output data when a curve is approximated by a minute line segment, A minute line segment approximation method for a curve whose interpolation trajectory guarantees sufficient error accuracy with respect to the original curve even if spline interpolation is performed, and from a specified passing point of minute line segment data approximated with a conventional allowable error It is another object of the present invention to provide a numerical controller that performs spline interpolation to guarantee an allowable error with respect to the original curve data.

【0010】[0010]

【課題を解決するための手段】上述の目的を達成するた
めに、この発明による曲線の微小線分化方法は、数値制
御装置の入力データとして供する自由曲線を微小線分化
した点列データを生成する際に、弦誤差が許容値以内と
なるように折れ線近似を行うことにより点列を生成し、
当該点列を通過する3次スプライン曲線を生成し、各通
過点間の区間が区間内に曲線の変曲点を持つか否かを評
価し、変曲点を持つと判定された区間に対しては元の曲
線と発生した3次スプライン曲線の誤差が許容値以内で
あるかを評価し、誤差が許容値を超える場合には当該区
間内に通過点を追加して前記点列を再構成するものであ
る。
In order to achieve the above-mentioned object, a method for segmenting a curve into minute lines according to the present invention generates point sequence data obtained by minutely segmenting a free curve used as input data of a numerical controller. At this time, a point sequence is generated by performing a polygonal line approximation so that the string error is within an allowable value,
Generate a cubic spline curve passing through the point sequence, evaluate whether the section between each passing point has an inflection point of the curve within the section, and evaluate the section determined to have an inflection point. It is evaluated whether the error between the original curve and the generated cubic spline curve is within an allowable value, and if the error exceeds the allowable value, a passing point is added in the section to reconstruct the point sequence. Is what you do.

【0011】この発明による曲線の微小線分化方法で
は、変曲点を持つと判定された区間に対して元の曲線と
発生した3次スプライン曲線の誤差が許容値以内である
かを評価し、誤差が許容値を超える場合には当該区間内
に通過点を追加することが行われ、元の曲線に対して変
曲点近傍は必要に応じてより高密度に点列が設定され
る。これにより元の曲線に近い形状のスプライン曲線が
得られる。
In the method for differentiating a minute line into a curve according to the present invention, it is evaluated whether an error between an original curve and a generated cubic spline curve is within an allowable value in a section determined to have an inflection point, When the error exceeds the allowable value, a passing point is added in the section, and a point sequence is set at a higher density as needed near the inflection point with respect to the original curve. As a result, a spline curve having a shape close to the original curve is obtained.

【0012】つぎの発明による曲線の微小線分化方法
は、上述の発明による曲線の微小線分化方法において、
通過点の追加があった場合には、再構成した点列から再
度この点列を通過する3次スプライン曲線を生成し、各
通過点間の区間が区間内に曲線の変曲点を持つか否かを
評価し、変曲点を持つと判定された区間に対して元の曲
線と発生した3次スプライン曲線の誤差が許容値以内で
あるかを評価し、誤差が許容値を超える場合には当該区
間内に通過点を追加して前記点列を再構成する過程を、
新規の通過点の追加がなくなるまで繰り返すものであ
る。
[0012] A method for differentiating a curve into minute lines according to the next invention is the method for differentiating a curve into small lines according to the invention described above,
If a passing point is added, a cubic spline curve that passes through this point sequence again is generated from the reconstructed point sequence, and whether the section between each passing point has an inflection point of the curve in the section Evaluate whether or not the error between the original curve and the generated cubic spline curve is within the allowable value for the section determined to have the inflection point. If the error exceeds the allowable value, Is a process of adding a passing point in the section and reconstructing the point sequence,
The process is repeated until no new pass point is added.

【0013】この発明による曲線の微小線分化方法で
は、変曲点を持つと判定された区間に対して元の曲線と
発生した3次スプライン曲線の誤差が許容値以内である
かを評価し、誤差が許容値を超える場合には当該区間内
に通過点を追加することが、新規の通過点の追加がなく
なるまで繰り返し行われ、元の曲線に対して変曲点近傍
は必要に応じてより高密度に点列が設定される。これに
より元の曲線に極めて近い形状のスプライン曲線が得ら
れる。
In the method for differentiating a curve into minute lines according to the present invention, it is evaluated whether an error between an original curve and a generated cubic spline curve is within an allowable value for a section determined to have an inflection point, If the error exceeds the allowable value, the addition of a passing point in the section is repeatedly performed until no new passing point is added, and the vicinity of the inflection point with respect to the original curve is increased as necessary. Point arrays are set at high density. As a result, a spline curve having a shape very close to the original curve is obtained.

【0014】つぎの発明による曲線の微小線分化方法
は、上述の発明による曲線の微小線分化方法において、
前記区間内に曲線の変曲点を持つか否かの評価を、当該
区間のスプライン曲線の始点ベクトル、区間の線分の方
向ベクトル、スプライン曲線の終点ベクトルがジグザグ
状に連続するか否かと、線分の方向ベクトルに対するス
プライン曲線の始点ベクトルおよび終点ベクトルの2つ
の角度の比が基準値よりも大きいか否かの判別により行
うものである。
[0014] The method for differentiating a curve into fine lines according to the next invention is the method for differentiating a curve from fine lines according to the invention described above,
The evaluation of whether or not there is an inflection point of the curve in the section, whether the start point vector of the spline curve of the section, the direction vector of the line segment of the section, the end point vector of the spline curve are continuous in a zigzag manner, This is performed by determining whether or not the ratio of the two angles of the start point vector and the end point vector of the spline curve to the direction vector of the line segment is larger than a reference value.

【0015】この発明による曲線の微小線分化方法で
は、区間内に曲線の変曲点を持つか否かの評価が、簡単
かつ確実に行われる。
According to the method for differentiating a curved line into small lines according to the present invention, it is possible to easily and reliably evaluate whether or not a section has an inflection point of a curved line.

【0016】また、上述の目的を達成するために、この
発明によるスプライン補間機能を有する数値制御装置
は、曲線加工軌道上に離散的にとられた通過点列に対し
て、各通過点間を滑らかに接続する各区間におけるスプ
ライン曲線を決定するスプライン曲線決定手段と、各区
間において決定されたスプライン曲線と該区間の線分と
の誤差が許容値を超えるか否かを判定し、前記誤差が許
容値を超える場合には該区間におけるスプライン曲線を
前記線分に近づくように修正するスプライン曲線修正手
段とを有しているものである。
In order to achieve the above-mentioned object, a numerical controller having a spline interpolation function according to the present invention provides a sequence of passing points discretely taken on a curved machining trajectory, the distance between each passing point. A spline curve determining means for determining a spline curve in each section to be connected smoothly; and determining whether or not an error between the spline curve determined in each section and a line segment in the section exceeds an allowable value. And a spline curve correcting means for correcting the spline curve in the section so as to approach the line segment when the allowable value is exceeded.

【0017】この発明によるスプライン補間機能を有す
る数値制御装置では、スプライン曲線決定手段が各通過
点間を滑らかに接続する各区間におけるスプライン曲線
を決定し、スプライン曲線修正手段が各区間において決
定されたスプライン曲線と該区間の線分との誤差が許容
値を超えるか否かを判定し、前記誤差が許容値を超える
場合には該区間におけるスプライン曲線を前記線分に近
づくように修正する。
In the numerical controller having a spline interpolation function according to the present invention, the spline curve determining means determines the spline curve in each section which smoothly connects between the passing points, and the spline curve correcting means determines the spline curve in each section. It is determined whether or not the error between the spline curve and the line segment in the section exceeds an allowable value, and if the error exceeds the allowable value, the spline curve in the section is corrected so as to approach the line segment.

【0018】つぎの発明によるスプライン補間機能を有
する数値制御装置は、上述の発明による数値制御装置に
おいて、前記スプライン曲線修正手段によるスプライン
曲線の修正が、当該区間の両端点におけるスプライン曲
線の接線ベクトルを、当該区間のスプライン曲線と線分
との誤差が許容値以内になるよう当該区間の両端点にお
けるスプライン曲線の接線ベクトルの大きさを小さくす
ることにより行うものである。
A numerical controller having a spline interpolation function according to the next invention is the numerical controller according to the above-mentioned invention, wherein the correction of the spline curve by the spline curve correction means comprises the steps of: This is performed by reducing the magnitude of the tangent vector of the spline curve at both end points of the section so that the error between the spline curve and the line segment in the section falls within an allowable value.

【0019】この発明によるスプライン補間機能を有す
る数値制御装置では、スプライン曲線修正手段が、当該
区間の両端点におけるスプライン曲線の接線ベクトル
を、当該区間のスプライン曲線と線分との誤差が許容値
以内になるよう当該区間の両端点におけるスプライン曲
線の接線ベクトルの大きさを小さくすることにより、ス
プライン曲線の修正を行う。
In the numerical control apparatus having a spline interpolation function according to the present invention, the spline curve correcting means sets the tangent vector of the spline curve at both ends of the section to an error between the spline curve and the line segment of the section within an allowable value. The spline curve is corrected by reducing the magnitude of the tangent vector of the spline curve at both end points of the section so that

【0020】つぎの発明によるスプライン補間機能を有
する数値制御装置は、上述の発明による数値制御装置に
おいて、前記スプライン曲線修正手段によるスプライン
曲線の修正が、当該区間の両端点におけるスプライン曲
線の接線ベクトルを、当該区間のスプライン曲線と線分
との変曲点を誤差が許容値以内になるよう当該区間の両
端点におけるスプライン曲線の接線ベクトルの方向を当
該線分に平行なベクトルの方向に近づけることにより行
うものである。
A numerical controller having a spline interpolation function according to the next invention is the numerical controller according to the above-mentioned invention, wherein the correction of the spline curve by the spline curve correction means is performed by changing a tangent vector of the spline curve at both end points of the section. By making the inflection point between the spline curve and the line segment of the section closer to the direction of the vector parallel to the line segment, the direction of the tangent vector of the spline curve at both ends of the section so that the error is within an allowable value. Is what you do.

【0021】この発明によるスプライン補間機能を有す
る数値制御装置では、スプライン曲線修正手段が、当該
区間の両端点におけるスプライン曲線の接線ベクトル
を、当該区間のスプライン曲線と線分との変曲点を誤差
が許容値以内になるよう当該区間の両端点におけるスプ
ライン曲線の接線ベクトルの方向を当該線分に平行なベ
クトルの方向に近づけることにより、スプライン曲線の
修正を行う。
In the numerical control apparatus having a spline interpolation function according to the present invention, the spline curve correcting means calculates a tangent vector of the spline curve at both end points of the section and an inflection point between the spline curve and the line segment of the section. The spline curve is corrected by making the direction of the tangent vector of the spline curve at both end points of the section closer to the direction of the vector parallel to the line segment so that is within the allowable value.

【0022】[0022]

【発明の実施の形態】以下に添付の図を参照して、この
発明に係る曲線の微小線分化方法およびスプライン補間
機能を有する数値制御装置の実施の形態を詳細に説明す
る。
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram of a numerical control apparatus having a curve minute line segmenting method and a spline interpolation function according to the present invention.

【0023】(実施の形態1)この発明による曲線の微
小線分化方法の一つの実施の形態における処理の流れを
図1を参照して説明する。
(Embodiment 1) Referring to FIG. 1, the flow of processing in one embodiment of a method for differentiating a minute line into a curve according to the present invention will be described.

【0024】(1)計算機内部に持つ曲線の数学的表現
をB(t) とし、曲線B(t) から、従来例の図20に示し
たものと同様に、曲線を許容誤差εで微小線分データに
近似する(ステップS101)。本例では、図20に示
されているように、曲線B(t) が、P1 ,P2 ,・・・
n-1 からなるn個(本例ではn=10)の通過点で表
現される。
(1) Let B (t) be the mathematical expression of the curve inside the computer. From the curve B (t), a curve is formed with an allowable error ε, as in the conventional example shown in FIG. It approximates to minute data (step S101). In this example, as shown in FIG. 20, the curve B (t) is represented by P 1 , P 2 ,.
It is represented by n (n = 10 in this example) passing points composed of P n-1 .

【0025】(2)つぎに、上述のn個の通過点P1
2 ,・・・Pn-1 からスプライン曲線を発生する(ス
テップS102)。
(2) Next, the above-mentioned n passing points P 1 ,
A spline curve is generated from P 2 ,..., P n-1 (step S102).

【0026】公知の曲線理論(例えば「形状処理工学
(1)」,山口富士夫著、日刊工業新聞社刊)による
と、n個の指定点P1 ,P2 ,P3 ,…Pn を滑らかに
通過する3次スプライン曲線上の点P(t) は、指定点P
j-1 から指定点Pj の図2に例示する区間において、式
(1)で表現される。
[0026] known curve theory (for example, "shape processing engineering (1)", Fujio Yamaguchi al., Published by Nikkan Kogyo Shimbun, Ltd.) According to the, n-number of the designated point P 1, P 2, P 3 , smooth ... P n P (t) on the cubic spline curve passing through
In the section illustrated in FIG. 2 from j-1 to the designated point P j , it is expressed by Expression (1).

【0027】[0027]

【数1】 (Equation 1)

【0028】ここで、qj は指定点Pj における単位接
線ベクトルであり、cj はPj-1 からPj までの距離で
ある。また、tは曲線パラメータであり、0≦t≦1で
ある。
Here, q j is a unit tangent vector at the designated point P j , and c j is a distance from P j -1 to P j . Further, t is a curve parameter, and 0 ≦ t ≦ 1.

【0029】式(1)により示されるスプライン曲線
は、指定点Pj (j=1,2,3,…,n)を必ず通過
するが、単位接線ベクトルqj が適切に設定されない
と、各指定点において2次微分が連続的にならない。2
次微分が各指定点Pj (j=2,3,…,n−1)にお
いて連続となるための条件は、式(2)で表される。
Although the spline curve represented by the equation (1) always passes through the designated point P j (j = 1, 2, 3,..., N), if the unit tangent vector q j is not set properly, The second derivative is not continuous at the specified point. 2
The condition for the next derivative to be continuous at each designated point P j (j = 2, 3,..., N−1) is represented by Expression (2).

【0030】[0030]

【数2】 (Equation 2)

【0031】なお、端点q1 とqn については、端点で
の曲率を0として、以下の条件を追加する。
With respect to the end points q 1 and q n , the following conditions are added, with the curvature at the end points being 0.

【0032】 2c2 1 +c2 2 =3(P2 −P1 ) ・・・(3a) cn n-1 +2cn n =3(Pn −Pn-1 ) ・・・(3b)[0032] 2c 2 q 1 + c 2 q 2 = 3 (P 2 -P 1) ··· (3a) c n q n-1 + 2c n q n = 3 (P n -P n-1) ··· (3b)

【0033】式(2)、(3a)、(3b)のn個の連
立方程式を解くことによって、接線ベクトルqj を求め
ることにより、全区間の3次スプライン曲線が求められ
る。
By solving n simultaneous equations of equations (2), (3a) and (3b) to obtain a tangent vector q j , a cubic spline curve for all sections is obtained.

【0034】すなわち、Pj 〜Pj+1 の各区間におい
て、始点をPs =Pj 、終点をPe =Pj+1 、始点にお
ける単位接線ベクトルをqs =qj 、終点における接線
ベクトルをqe =qj+1 、線分の長さをc=cj+1 とす
ると、 K0 =Ps ・・・(4a) K1 =cqs ・・・(4b) K2 =3(Pe −Ps )−2cqs −cqe ・・・(4c) K3 =2(Ps −Pe )+cqs +cqe ・・・(4d) とおくと、Pj 〜Pj+1 の区間におけるスプライン曲線
上の各点P(t) は、 P(t) =K3 3 +K2 2 +K1 t+K0 ・・・(5) (但し、0≦t≦1) で与えられる。
That is, in each section from P j to P j + 1 , the start point is Ps = P j , the end point is Pe = P j + 1 , the unit tangent vector at the start point is qs = q j , and the tangent vector at the end point is qe = Q j + 1 , and the length of the line segment is c = c j + 1 , K 0 = Ps (4a) K 1 = cqs (4b) K 2 = 3 (Pe−Ps) -2cqs -cqe ··· (4c) K 3 = 2 (Ps -Pe) + cqs + cqe putting the ··· (4d), P j ~P each point on the spline curve at j + 1 interval P (t ) is given by P (t) = K 3 t 3 + K 2 t 2 + K 1 t + K 0 ··· (5) ( where, 0 ≦ t ≦ 1).

【0035】(3)つぎに、j=1に初期化し(ステッ
プS103)、スプラインの各区間において、区間内部
に曲線の変曲点を有するかを評価する(ステップS10
4)。
(3) Next, j = 1 is initialized (step S103), and it is evaluated whether or not each section of the spline has an inflection point of a curve inside the section (step S10).
4).

【0036】変曲点の有無の判定方法を図3(a)〜
(c)、図4を参照して説明する。図3(a)〜(c)
はそれぞれ、区間Pj 〜Pj+1 の線分の単位ベクトルu
と、その区間Pj 〜Pj+1 に張られたスプライン曲線の
始点ベクトルqs と終点ベクトルqe を、単位ベクトル
uと始点ベクトルqs が存在する平面に投影したもので
ある。
The method of determining the presence or absence of an inflection point is shown in FIGS.
(C) will be described with reference to FIG. 3 (a) to 3 (c)
Are unit vectors u of line segments in the sections P j to P j + 1 , respectively.
And the start point vector qs and end point vector qe of the spline curve spanned by the section P j to P j + 1 are projected onto a plane where the unit vector u and the start point vector qs exist.

【0037】図3(a)は変曲点を持たないと判定され
る場合で、始点ベクトルqs と終点ベクトルqe は単位
ベクトルuに対して反対方向にほぼ等しい角度をなす。
FIG. 3A shows a case where it is determined that there is no inflection point, and the start point vector qs and the end point vector qe make substantially equal angles in the opposite direction with respect to the unit vector u.

【0038】図3(b)は変曲点を持つと判定される一
つの場合で、始点ベクトルqs と終点ベクトルqe は単
位ベクトルuに対して同一方向の角度をなす。すなわ
ち、始点ベクトルqs と区間の方向を表すベクトルと終
点ベクトルqe がジグザグ状に連続している場合であ
る。
FIG. 3 (b) shows one case in which it is determined to have an inflection point, in which the start point vector qs and the end point vector qe make an angle in the same direction with respect to the unit vector u. That is, this is a case where the start point vector qs, the vector indicating the direction of the section, and the end point vector qe are continuous in a zigzag manner.

【0039】図3(c)は変曲点を持つと判定されるも
う一つの場合で、始点ベクトルqsと終点ベクトルqe
は単位ベクトルuに対して反対方向の角度をなすが、そ
れぞれの角度の比が比較的大きくなる。
FIG. 3C shows another case where it is determined to have an inflection point. The start point vector qs and the end point vector qe
Makes an angle in the opposite direction to the unit vector u, but the ratio of each angle becomes relatively large.

【0040】図4は変曲点有無の判定フローである。ま
ず、始点ベクトルqs 、単位ベクトルu、終点ベクトル
qe がジグザグ状に連続するか否かを判定する(ステッ
プS1001)。
FIG. 4 is a flowchart for determining the presence / absence of an inflection point. First, it is determined whether the start point vector qs, the unit vector u, and the end point vector qe are continuous in a zigzag manner (step S1001).

【0041】このステップS1001では、単位ベルト
ルuと始点ベクトルqs とがなすベクトル角度θs を次
式によって求める。
In step S1001, the vector angle θs formed by the unit vector u and the starting point vector qs is determined by the following equation.

【0042】cos(θs )=(qs ,u)/|qs |Cos (θs) = (qs, u) / | qs |

【0043】このベクトル角度θs を用いて始点ベクト
ルqs は図5に示されているベクトルqshとqsvに分解
できる。ただし、分解ベクトルqshはベクトルqs の線
分Ps 〜Pe に平行な成分、分解ベクトルqsvはベクト
ルqs の線分Ps 〜Pe に垂直な成分であり、次式によ
って求められる。
Using the vector angle θs, the starting point vector qs can be decomposed into the vectors qsh and qsv shown in FIG. Here, the decomposition vector qsh is a component parallel to the line segments Ps to Pe of the vector qs, and the decomposition vector qsv is a component perpendicular to the line segments Ps to Pe of the vector qs, and is obtained by the following equation.

【0044】qsh=|qs |・cos(θs )・u=
(qs ,u)・u qs =qs −qsh
Qsh = | qs | · cos (θs) · u =
(Qs, u) · uqs = qs-qsh

【0045】つぎに、この垂直成分(分解ベクトル)q
svと終点ベクトルqe の内積をとれば、分解ベクトルq
svと終点ベクトルqe のなす角度θが判定でき、 (qsv,qe )≦0のとき、 0°≦θ≦90° (qsv,qe )>0のとき、90°<θ≦180° となる。
Next, this vertical component (decomposition vector) q
By taking the inner product of sv and the end point vector qe, the decomposition vector q
The angle θ between sv and the end point vector qe can be determined. When (qsv, qe) ≦ 0, 90 ° <θ ≦ 180 ° when 0 ° ≦ θ ≦ 90 ° (qsv, qe)> 0.

【0046】したがって(qsv ,qe )≦0のとき、
qe はuに対してqs と同じ方向にあるとみなされるの
で、qs 、u、qe がジグザグ状に連続すると判定す
る。
Therefore, when (qsv, qe) ≦ 0,
Since qe is considered to be in the same direction as qs with respect to u, it is determined that qs, u, and qe are continuous in a zigzag manner.

【0047】ステップS1001で、始点ベクトルqs
、単位ベクトルu、終点ベクトルqe がジグザグ状に
連続すると判定された場合にはステップS1004へ移
行し、区間内に変曲点を持つと判定して処理を終了す
る。
In step S1001, the starting point vector qs
, The unit vector u and the end point vector qe are determined to be continuous in a zigzag manner, the flow shifts to step S1004, where it is determined that there is an inflection point in the section, and the process ends.

【0048】これに対し、始点ベクトルqs 、単位ベク
トルu、終点ベクトルqe がジグザグ状に連続しないと
判定された場合にはステップS1002へ移行し、始終
点のベクトル角度θs 、θe の比が許容値以上であるか
否かを判定する。
On the other hand, if it is determined that the start point vector qs, the unit vector u, and the end point vector qe are not continuous in a zigzag manner, the flow shifts to step S1002, where the ratio of the start and end point vector angles θs, θe is set to an allowable value. It is determined whether or not this is the case.

【0049】ステップS1002では、次式により始終
点ベクトルの角度の判定を行う。
In step S1002, the angle of the start / end point vector is determined by the following equation.

【0050】まず、 cos(θs )=(qs ,u)/|qs | cos(θe )=(qe ,u)/|qe | より、 sin(θs )=SQRT(1−cos2 (θs )) sin(θe )=SQRT(1−cos2 (θe )) によって始終点ベクトルの角度θs 、θe の正弦を求め
る。ただし、SQRT(__)は平方根を求める関数で
ある。
First, cos (θs) = (qs, u) / | qs | cos (θe) = (qe, u) / | qe |: sin (θs) = SQRT (1−cos 2 (θs)) The sine of the angles θs and θe of the start and end point vectors are obtained by sin (θe) = SQRT (1−cos 2 (θe)). Here, SQRT (__) is a function for obtaining a square root.

【0051】θが小さい場合にはθsin≒(θ)であ
るので、これら正弦により角度の大きさの比を評価す
る。すなわち、あらかじめ定められた閾値thに対し
て、 sin(θs )/sin(θe )>th あるい
は、 sin(θe )/sin(θs )>th の場合には、始点ベクトルqs と終点ベクトルqe のそ
れぞれが区間の方向を示すベクトルuとのなす角度の比
が大きいと判定する。
When θ is small, θsin ≒ (θ). Therefore, the ratio of the magnitudes of the angles is evaluated using these sine. That is, with respect to a predetermined threshold value th, when sin (θs) / sin (θe)> th or sin (θe) / sin (θs)> th, the start point vector qs and the end point vector qe respectively Is determined to have a large angle ratio with the vector u indicating the direction of the section.

【0052】ステップS1002で、始点ベクトルqs
と区間ベクトルuとがなす角度と、区間ベクトルuと終
点ベクトルqe とがなす角度との比が設定値(許容値)
より大きいと判定された場合には、ステップS1003
に移行し、区間内に変曲点を持つと判定して処理を終了
する。
In step S1002, the starting point vector qs
Is the set value (allowable value) of the ratio between the angle formed by the interval vector u and the angle formed by the interval vector u and the end point vector qe.
If it is determined that the value is greater than the value, the process proceeds to step S1003.
Then, it is determined that there is an inflection point in the section, and the process ends.

【0053】その他の場合には、ステップS1003に
移行し、区間内に変曲点を持たないと判定して処理を終
了する。
In other cases, the flow shifts to step S1003, where it is determined that there is no inflection point in the section, and the processing ends.

【0054】(4)つぎに、図1に示されている処理フ
ローに戻り、区間内に変曲点を持つと判定された場合に
は(ステップS105肯定)、スプライン曲線の各区間
j〜Pj+1 における誤差を評価する(ステップS10
6)。
(4) Next, returning to the processing flow shown in FIG. 1, when it is determined that there is an inflection point in the section (Yes at step S105), each section P j . Evaluate the error at P j + 1 (step S10
6).

【0055】この誤差の計算方法として、Pj 〜Pj+1
の区間において、上述の式(5)で表されるスプライン
曲線上の点P(t) を、パラメータtをΔt刻みで動かし
ながら、各点P(t) と対応する元の曲線上の点B(t')と
の距離の最大値を求め、これを誤差dj とする(図6参
照)。
As a method of calculating this error, P j to P j + 1
In the section of the above, the point P (t) on the spline curve represented by the above equation (5) is changed to a point B on the original curve corresponding to each point P (t) while moving the parameter t in increments of Δt. the maximum value of the distance between (t '), this is the error d j (see FIG. 6).

【0056】スプライン曲線上の点P(t) に対応する元
の曲線上の点B(t')の求め方は、つぎのようにすればよ
い。式(5)より、 P(t) =K3 3 +K2 2 +K1 t+K0 (但し、
0≦t≦1) であるから、点P(t) における接線ベクトルvは、 dP(t) /dt=3K3 2 +2K2 t+K1 により容易に求められる。
The method of finding the point B (t ') on the original curve corresponding to the point P (t) on the spline curve may be as follows. The equation (5), P (t) = K 3 t 3 + K 2 t 2 + K 1 t + K 0 ( where,
Because it is 0 ≦ t ≦ 1), the tangent vector v at the point P (t) can be easily determined by dP (t) / dt = 3K 3 t 2 + 2K 2 t + K 1.

【0057】この区間のスプライン曲線の始点P(0) 、
終点P(1) を与える元の曲線の各点B(t')のパラメータ
をそれぞれts 、te とすれば、点P(t) (但し、0≦
t≦1)に対応する元の曲線上の点の初期点として、B
(t')(但し、t’=ts +t・(te −ts ))を与え
る(図7(a)参照)。
The starting point P (0) of the spline curve in this section,
If the parameters of each point B (t ') of the original curve giving the end point P (1) are ts and te, respectively, the point P (t) (where 0 ≦
As an initial point of a point on the original curve corresponding to t ≦ 1), B
(t ') (provided that t' = ts + t. (te-ts)) (see FIG. 7A).

【0058】つぎに点P(t) から点B(t0)に向かうベク
トルrをとり、ベクトルrと接線ベクトルvの内積
(r,v)を求める。ベクトルrと接線ベクトルvとが
なす角をθとすると、この内積の符号を調べれば、 (r,v)>0のときθ<90° (r,v)=0のときθ=90° (r,v)<0のときθ>90° となる。
Next, the vector r from the point P (t) to the point B (t0) is taken, and the inner product (r, v) of the vector r and the tangent vector v is obtained. Assuming that the angle formed by the vector r and the tangent vector v is θ, the sign of the inner product is examined. When (r, v)> 0, θ <90 ° When (r, v) = 0, θ = 90 ° ( r, v) <0, θ> 90 °.

【0059】したがって、(r,v)>0のときには、
t’−dt’→t’、(r,v)<0のときには、t’
+dt’→t’に更新し、再度、曲線上の点B(t')およ
びベクトルrをとり、内積(r,v)を求める処理を繰
り返す。
Therefore, when (r, v)> 0,
When t′−dt ′ → t ′, and (r, v) <0, t ′
+ Dt ′ → t ′ is updated, the process of obtaining the point B (t ′) on the curve and the vector r again and obtaining the inner product (r, v) is repeated.

【0060】ここで、dt’は点B(t) による曲線のパ
ラメータの微小増分値であり、t’が増加すれば角度θ
は減少し、t’が減少すれば角度θは増加する。
Here, dt 'is a small increment value of the parameter of the curve by the point B (t).
Decreases, and if t ′ decreases, the angle θ increases.

【0061】図7(b)ので、内積(r,v)の符号が
反転する度に、微小増分値dt’を半減すれば、繰り返
し処理の度にベクトルrは接線ベクトルvに垂直に近づ
くことになる。
As shown in FIG. 7B, every time the sign of the inner product (r, v) is inverted, the minute increment value dt 'is reduced by half, so that the vector r approaches perpendicular to the tangent vector v each time the repetition processing is performed. become.

【0062】したがって、所望の精度が得られた繰り返
し処理の時点で、繰り返し処理を中断してスプライン曲
線上の点P(t) に対応する元の曲線上の点B(t')を得る
(図7(c)参照)。
Therefore, at the time of the repetition processing at which the desired accuracy is obtained, the repetition processing is interrupted to obtain a point B (t ') on the original curve corresponding to the point P (t) on the spline curve ( FIG. 7C).

【0063】(5)つぎに、上述のようにして求めた誤
差dj が許容誤差εを超えないか否か評価する(ステッ
プS107)。dj ≦εであれば、誤差が許容誤差以内
にあるとしてステップS109に進み、これに対し、d
j >εであれば、誤差が許容誤差を超えたものとしてス
テップS108に進む。
[0063] (5) Next, the error d j calculated as described above to evaluate whether or not exceed the allowable error epsilon (step S107). If d j ≦ ε, it is determined that the error is within the allowable error, and the process proceeds to step S109.
If j > ε, it is determined that the error has exceeded the allowable error, and the flow advances to step S108.

【0064】(6)誤差dj が許容誤差εを超えた場合
には、区間Pj 〜Pj+1 内に曲線上の通過点を1点追加
し(ステップS108)、この後に、ステップS109
へ進む。
[0064] (6) error d if j has exceeded the allowable error ε are the passing point on the curve to add a point in the interval the P j to P j + 1 (step S108), after the step S109
Proceed to.

【0065】新たな通過点の決め方としては、元の曲線
B(t')上の点Pj 、Pj+1 を与えるパラメータをそれぞ
れtj 、tj+1 とすれば、パラメータt’を、 t’=tj +(tj-1 −tj )/2 として、新たな通過点Pj'=B(t’)とする。
As a method of determining a new passing point, if parameters giving points P j and P j + 1 on the original curve B (t ′) are t j and t j + 1 , respectively, the parameter t ′ is , T ′ = t j + (t j−1 −t j ) / 2, and a new passing point P j ′ = B (t ′).

【0066】または、線分の距離が、Pj j'=Pj'
j+1 となるように、パラメータt’を収束演算によって
求めてもよい。
Alternatively, if the distance of the line segment is P j P j ′ = P j ′ P
The parameter t ′ may be obtained by a convergence operation so as to be j + 1 .

【0067】図8に示されている例では、区間P5 〜P
6 において、スプライン曲線が元の曲線B(t')から大き
く外れた軌跡を描いているため、誤差が大きくなり、d
5 >εとなったため、新たに通過点P5'が追加されてい
る。
In the example shown in FIG. 8, the sections P 5 to P
In FIG. 6 , since the spline curve draws a locus greatly deviating from the original curve B (t ′), the error increases, and d
Since 5 > ε, a new passing point P 5 ′ is added.

【0068】(7)ステップS109では、全ての区間
についての評価が終了したかを調べ、j<(n−1)で
あれば(ステップS109否定)、j+1→jに更新し
(ステップS110)、ステップS104〜ステップS
108を繰り返す。
(7) In step S109, it is checked whether the evaluation has been completed for all the sections. If j <(n-1) (No in step S109), j + 1 → j is updated (step S110). Step S104 to Step S
Repeat 108.

【0069】(8)全ての区間について評価が終了した
ならば(ステップS109肯定)、新たな通過点の追加
があったか否かを調べ(ステップS111)、通過点の
追加があったならば(ステップS111肯定)、それら
の通過点を加えて新たな通過点列を生成する(ステップ
S112)。
(8) If the evaluation has been completed for all sections (Yes at Step S109), it is checked whether or not a new passing point has been added (Step S111). Affirmative in S111), a new passing point sequence is generated by adding the passing points (step S112).

【0070】ここで、通過点の点数nは新たな通過点数
分増加する。本例では、追加された通過点P5'を加えて
新たな点列P1 ,P2 、・・・、P10が生成される。
Here, the number n of passing points increases by the number of new passing points. In the present example, new point sequences P 1 , P 2 ,..., P 10 are generated by adding the added passing points P 5 ′ .

【0071】図9では、P5'がP6 に更新され、P7
8 ,P9 ,P10がそれぞれ図20に示されている元の
6 ,P7 ,P8 ,P9 に対応する。
In FIG. 9, P 5 ′ is updated to P 6 , and P 7 ,
P 8 , P 9 and P 10 respectively correspond to the original P 6 , P 7 , P 8 and P 9 shown in FIG.

【0072】この後に、ステップS102に戻り、更新
された通過点列によって再度スプライン曲線を生成し直
し、新たに生成されたスプライン曲線の誤差の評価を繰
り返す。
Thereafter, the flow returns to step S102, where the spline curve is generated again by the updated passing point sequence, and the evaluation of the error of the newly generated spline curve is repeated.

【0073】このようにして、通過点列から生成される
スプライン曲線と元の曲線の誤差が十分小さくなれば、
新たに通過点を追加することがなくなり、通過点の追加
がなくなったことをもって(ステップS111否定)、
処理を終了する。
In this way, if the error between the spline curve generated from the passing point sequence and the original curve becomes sufficiently small,
When no new passing point is added and no additional passing point is added (No at Step S111),
The process ends.

【0074】上述のように、ある区間でスプライン曲線
が元の曲線と大きく誤差を持つような場合には、その区
間に元の曲線上に通過点を追加して点列を再構成するか
ら、再構成された点列にスプライン曲線を張った場合に
は元の曲線に極めて近いスプライン曲線となり、最終出
力としての点列を数値制御装置でスプライン補間した場
合に所望の誤差精度が得られ、良好な加工軌跡が得られ
るようになり、この点列では直線補間にもスプライン補
間にも供する事ができる。
As described above, when the spline curve has a large error from the original curve in a certain section, a passing point is added to the original curve in the section to reconstruct a point sequence. When a spline curve is applied to the reconstructed point sequence, a spline curve very close to the original curve is obtained.When a point sequence as a final output is spline-interpolated by a numerical controller, a desired error accuracy is obtained. A simple machining trajectory can be obtained, and this point sequence can be used for both linear interpolation and spline interpolation.

【0075】また、再構成された点列に再度スプライン
曲線を張り、各区間で区間内に変曲点が存在すると判定
された場合で、スプライン曲線と元の曲線線分とスプラ
イン曲線との誤差が許容値を超える場合には、その区間
に通過点を追加することによって点列を再構成すること
を新たな通過点の追加がなくなるまで繰り返すようにし
たから、結果として得られる点列にスプライン補間を実
行した場合に、補間軌跡と元の曲線との誤差が許容値以
内にあることが保証され良好な加工軌跡が得られる。
Further, a spline curve is drawn again on the reconstructed point sequence, and when it is determined that an inflection point exists in each section in each section, the error between the spline curve, the original curve line segment, and the spline curve is determined. If the value exceeds the allowable value, the point sequence is reconstructed by adding a passing point to the section until the new passing point is no longer added. When the interpolation is executed, it is guaranteed that the error between the interpolation locus and the original curve is within an allowable value, and a good machining locus is obtained.

【0076】また、当該区間の変曲点の有無判定が、当
該区間のスプライン曲線の始点ベクトル、区間の線分の
方向ベクトル、スプライン曲線の終点ベクトルの3つの
連続するベクトルががジグザグ状に連続するか否かの判
別と、線分の方向ベクトルに対するスプライン曲線の始
点ベクトルおよび終点ベクトルの2つの角度の比が基準
値よりも大きいか否かの判別により行われるから、当該
区間の変曲点の有無が簡便に評価できる。
The determination of the presence or absence of an inflection point in the section is based on the determination that three consecutive vectors of the spline curve start point vector, the section line direction vector, and the spline curve end point vector are continuous in a zigzag manner. And whether the ratio of the two angles of the start point vector and the end point vector of the spline curve with respect to the direction vector of the line segment is larger than a reference value is determined. Can be easily evaluated.

【0077】(実施の形態2)図10はこの発明による
数値制御装置の一つの実施の形態の要部構成を示してい
る。この数値制御装置は、指令入力部1と、スプライン
曲線計算部2と、スプライン曲線修正部3と、補間演算
部4と、サーボ駆動部5とを有している。
(Embodiment 2) FIG. 10 shows a configuration of a main part of an embodiment of a numerical controller according to the present invention. This numerical control device has a command input unit 1, a spline curve calculation unit 2, a spline curve correction unit 3, an interpolation calculation unit 4, and a servo drive unit 5.

【0078】指令入力部1は、曲線経路上の通過点列P
j (但し、j = 1,2,...,n )のデータを入力し、通過点
列Pj 、通過点列間の区間ベクトルuj 、距離cj のデ
ータをスプライン曲線計算部2へ出力する。
The command input unit 1 receives a sequence of passing points P on a curved path.
j (where j = 1, 2,..., n) is input, and the data of the passing point sequence P j , the section vector u j between the passing point sequences, and the distance c j are sent to the spline curve calculation unit 2. Output.

【0079】スプライン曲線計算部2は、通過点列
j 、通過点列間の区間ベクトルuj 、距離cj のデー
タを指令入力部1より与えられ、各区間毎のスプライン
曲線を決定する。
The spline curve calculation unit 2 is supplied with data of the passing point sequence P j , the section vector u j between the passing point sequences, and the distance c j from the command input unit 1, and determines a spline curve for each section.

【0080】スプライン曲線修正部3は、スプライン曲
線計算部2で求められたスプライン曲線と当該区間の線
分との誤差が許容誤差ε以内にあるかを評価し、誤差が
許容誤差εを超えた場合にはスプライン曲線を修正す
る。
The spline curve correction unit 3 evaluates whether the error between the spline curve calculated by the spline curve calculation unit 2 and the line segment in the section is within the allowable error ε, and the error exceeds the allowable error ε. If necessary, correct the spline curve.

【0081】補間演算部4は、スプライン曲線修正部3
で計算された各軸のスプライン係数、補間速度からサン
プリング時間毎の曲線補間の演算を行う。
The interpolation operation unit 4 includes a spline curve correction unit 3
Calculates the curve interpolation for each sampling time from the spline coefficient and interpolation speed of each axis calculated in the above.

【0082】サーボ駆動部5は、補間演算部4で算出し
た各軸座標値Px(t), Py(t), Pz(t)により制御される
各軸サーボ系で構成されている。
The servo drive unit 5 is constituted by each axis servo system controlled by each axis coordinate value Px (t), Py (t) and Pz (t) calculated by the interpolation operation unit 4.

【0083】n個の点列(j = 1,2,...,n )から各区間
における3次スプライン曲線を求めるには、前述の式
(2), (3a), (3b)のn個の連立方程式を解く
必要がある。このためにはn×nの逆行列を求めると云
う膨大な計算量が必要となるため、リアルタイム性を要
求される数値制御装置においては、完全なスプライン曲
線の数式を求めることは一般に困難である。このことか
ら、本例においては、数値制御装置において要求される
リアルタイム性を確保するために、近似的なスプライン
曲線を導出する。
In order to obtain a cubic spline curve in each section from the n number of point sequences (j = 1, 2,..., N), n of the above-mentioned equations (2), (3a) and (3b) It is necessary to solve several simultaneous equations. For this purpose, an enormous amount of calculation for obtaining an n × n inverse matrix is required. Therefore, it is generally difficult for a numerical controller requiring real-time properties to obtain a complete spline curve formula. . From this, in this example, an approximate spline curve is derived in order to secure the real-time property required in the numerical controller.

【0084】まず、指令入力部1からスプライン曲線計
算部2へのデータの流れ、およびスプライン曲線計算部
2における演算内容を説明するために、この実施の形態
におけるスプライン曲線計算原理について説明する。こ
こで、式(2)を変形すると式(6)となる。
First, in order to explain the flow of data from the command input unit 1 to the spline curve calculation unit 2 and the content of the calculation in the spline curve calculation unit 2, the principle of the spline curve calculation in this embodiment will be described. Here, when Expression (2) is modified, Expression (6) is obtained.

【0085】[0085]

【数3】 (Equation 3)

【0086】ここで、uj は、指定点Pj-1 からPj
向かう単位ベクトルであり、式(7)により示される。
Here, u j is a unit vector directed from the designated point P j-1 to P j , and is expressed by equation (7).

【0087】 uj =(Pj −Pj-1 )/cj ・・・(7) 本発明に係る装置では、式(6)を満たす各指定点の近
似的な接線ベクトルを求め、繰り返し計算によって、そ
の精度を段階的に向上させることを基本的なスプライン
曲線計算原理としている。
U j = (P j −P j−1 ) / c j (7) In the apparatus according to the present invention, an approximate tangent vector of each designated point satisfying the expression (6) is obtained, and it is repeated. The basic principle of calculating a spline curve is to gradually improve the accuracy by calculation.

【0088】以下、繰り返しk回目の指定点Pj におけ
る単位接線ベクトルをqj [k] で表し、その計算手順を
示す。
Hereinafter, the unit tangent vector at the designated point P j at the k-th repetition is represented by q j [k] , and the calculation procedure is shown.

【0089】(過程1)k=0とする。3つの指定点P
j-1 ,Pj およびPj+1 を通過し、指定点Pj- 1 におけ
る単位ベクトルがuj 、点Pj+1 における単位ベクトル
がuj+1 となるようなスプライン曲線を求める。すなわ
ち、式(6)から指定点Pj における接線ベクトルqj
[1] は、つぎの式(8)により算出する。
(Step 1) It is assumed that k = 0. Three designated points P
passes through the j-1, P j and P j + 1, we obtain a spline curve, such as a unit vector in the specified point P j- 1 is u j, the unit vector in the point P j + 1 becomes u j + 1. In other words, the tangent vectors q j at a designated point P j from equation (6)
[1] is calculated by the following equation (8).

【0090】[0090]

【数4】 (Equation 4)

【0091】始点(j=1)と終点(j=n)に関して
は、端点における曲率を0として、式(4a)、式(4
b)よりそれぞれ、式(9)、(10)で求める。
As for the start point (j = 1) and the end point (j = n), the curvature at the end point is set to 0, and the equations (4a) and (4
b) are determined by equations (9) and (10), respectively.

【0092】[0092]

【数5】 (Equation 5)

【0093】(過程2)つぎに、k←k+1とする。3
つの指定点Pj-1 ,Pj およびPj+1 を通過し、指定点
j-1 における接線ベクトルがqj-1 [k] 、指定点P
j+1 における接線ベクトルがqj+1 [k] となるようなス
プライン曲線を求める。ここでは、式(6)より、式
(11)とする。
(Step 2) Next, k ← k + 1 is set. 3
Pass through the two designated points P j−1 , P j and P j + 1 , the tangent vector at the designated point P j−1 is q j−1 [k] , and the designated point P
tangent vector at j + 1 seeks spline curve such that q j + 1 [k]. Here, Equation (11) is used based on Equation (6).

【0094】[0094]

【数6】 (Equation 6)

【0095】接線ベクトルql [k+1] とqn [k+1] に関
しては、過程1における場合と同様に、それぞれ式
(9),(10)から求める。
The tangent vectors q l [k + 1] and q n [k + 1] are obtained from equations (9) and (10), respectively, as in the case of step 1.

【0096】(過程3)過程2以降を任意の回数繰り返
す。
(Step 3) Step 2 and subsequent steps are repeated an arbitrary number of times.

【0097】以上の過程により、繰り返し回数kを適当
に設定すれば、理論的なスプライン曲線に近い近似的な
スプライン曲線を得ることができる。実際には繰り返し
回数2回(qj [2] まで求め)程度で、実用的なスプラ
イン曲線を得ることができる。
By appropriately setting the number of repetitions k according to the above process, an approximate spline curve close to a theoretical spline curve can be obtained. In practice, a practical spline curve can be obtained with about two repetitions (obtained up to q j [2] ).

【0098】図11はj=1、2、・・・、8(P8
終点)として、qj [2] まで求める過程を概念的に示し
ている。
FIG. 11 conceptually shows the process of obtaining up to q j [2] as j = 1, 2,..., 8 (P 8 is the end point).

【0099】以上のスプライン曲線計算原理をもとに、
指令入力部1およびスプライン曲線決定部2における計
算内容を説明する。以下、j=1、2、・・・、8(n
=8)とし、P8 が終点として説明する。
Based on the above spline curve calculation principle,
Calculation contents in the command input unit 1 and the spline curve determination unit 2 will be described. Hereinafter, j = 1, 2,..., 8 (n
= 8), and P 8 is described as the end point.

【0100】図12は指令入力部1における処理の概略
フローを示している。
FIG. 12 shows a schematic flow of processing in the command input unit 1.

【0101】指令入力部1にスプライン補間の指令が入
力されると、図12に示されている処理フローが起動さ
れる。
When a spline interpolation command is input to the command input unit 1, the processing flow shown in FIG. 12 is started.

【0102】まず、ステップS201では、開始点から
の3個の指定点P1 、P2 、P3 の座標値を入力し、ス
テップS202では、指定点P1 から指定点P2 までの
距離c2 、および指定点P2 から指定点P3 までの距離
3 を求め、つぎに式(7)によりそれぞれの単位ベク
トルu2 、u3 を求める。
First, in step S201, the coordinate values of the three designated points P 1 , P 2 , and P 3 from the start point are input. In step S202, the distance c from the designated point P 1 to the designated point P 2 is input. 2 and the distance c 3 from the designated point P 2 to the designated point P 3 are obtained, and then the respective unit vectors u 2 and u 3 are obtained by Expression (7).

【0103】ステップS203では、j=3に初期化
し、ステップS204では、j+1→j(j=4)とす
る。
In step S203, j is initialized to j = 3. In step S204, j + 1 → j (j = 4).

【0104】つぎにステップS205では、指定点P4
の座標値を入力し、ステップS206では、指定点P3
から指定点P4 までの距離c4 およびその単位ベクトル
4を計算する。
Next, at step S205, the designated point P 4
Is input, and in step S206, the designated point P 3
Is calculated from the distance c 4 to the designated point P 4 and its unit vector u 4 .

【0105】つぎにステップS207では、指令入力部
1は指定点座標P1 、P2 、P3 、P4 、各指定点間距
離c2 、c3 、c4 および単位ベクトルu2 、u3 、u
4 をスプライン曲線決定部2に出力する。ステップS2
07では、スプライン曲線決定部2が出力したデータを
受け取ったことを確認した後、つぎのステップS208
に進む。この時後述するようにスプライン曲線決定部2
では指定点P1 〜P2の区間のスプライン曲線を決定す
る。
[0105] Then in step S207, the command input unit 1 designated point coordinates P 1, P 2, P 3 , P 4, between each designated point distance c 2, c 3, c 4 and unit vector u 2, u 3 , U
4 is output to the spline curve determination unit 2. Step S2
At 07, after confirming that the data output by the spline curve determination unit 2 has been received, the next step S208
Proceed to. At this time, as described later, the spline curve determination unit 2
In determining the spline curve of designated points P 1 to P 2 interval.

【0106】ステップS208では、j=nであるか否
か、すなわちPj が終点であるか否かをチェックし、j
≠n(j=4,n=8)であれば、ステップS204に
ループし、j+1→jとする。
In step S208, it is checked whether or not j = n, that is, whether or not P j is the end point.
If ≠ n (j = 4, n = 8), the process loops to step S204, where j + 1 → j.

【0107】j≧5の場合には、ステップS205で指
定点Pj の座標値を入力し、ステップS106で指定点
j-1 から指定点Pj までの距離cj およびその単位ベ
クトルuj を計算する。
If j ≧ 5, the coordinate value of the designated point P j is input in step S205, and the distance c j from the designated point P j -1 to the designated point P j and its unit vector u j are entered in step S106. Is calculated.

【0108】つぎにステップS207では、指令入力部
1は指定点座標Pj 、指定点間距離cj 、および単位ベ
クトルuj をスプライン曲線決定部2に出力する。ステ
ップS107ではスプライン曲線決定部2が出力したデ
ータを受け取ったことを確認した後、つぎのステップに
進む。この時後述するようにスプライン曲線決定部2で
は指定点Pj-3 〜Pj-2 の区間のスプライン曲線を決定
する。
In step S207, the command input unit 1 outputs the designated point coordinates P j , the designated point distance c j , and the unit vector u j to the spline curve determination unit 2. In step S107, after confirming that the data output by the spline curve determination unit 2 has been received, the process proceeds to the next step. At this time, as described later, the spline curve determination unit 2 determines a spline curve in the section between the designated points P j-3 to P j-2 .

【0109】ステップS208では、j=nであるか否
か、すなわちPj が終点であるか否かをチェックし、j
≠nであれば、ステップS204にループし、j=nで
あれば、処理を終了する。
In step S208, it is checked whether or not j = n, that is, whether or not P j is the end point.
If ≠ n, the process loops to step S204, and if j = n, the process ends.

【0110】つぎに図13によりスプライン曲線決定部
2の処理について説明する。
Next, the processing of the spline curve determination unit 2 will be described with reference to FIG.

【0111】スプライン曲線決定部2に指令入力部1か
らデータが入力される(図12のステップS207)
と、図13に示されている処理フローが起動される。
Data is input from the command input unit 1 to the spline curve determination unit 2 (step S207 in FIG. 12).
Then, the processing flow shown in FIG. 13 is started.

【0112】まず、ステップS301では、j=4であ
れば、指定点座標P1 、P2 、P3、P4 、各指定点間
距離c2 、c3 、c4 、および単位ベクトルu2
3 、u 4 を入力する。また、j≧5であれば、指定点
座標Pj 、指定点間距離cj および単位ベクトルuj
入力する。
First, in step S301, j = 4.
If so, the designated point coordinates P1, PTwo, PThree, PFour, Between each designated point
Distance cTwo, CThree, CFour, And the unit vector uTwo,
uThree, U FourEnter If j ≧ 5, the designated point
Coordinates Pj, Distance between designated points cjAnd the unit vector ujTo
input.

【0113】つぎにステップS302では、j=4であ
るか否か(始点を含む処理か?)をチェックし、j=4
であれば、ステップS303にて、式(8)から次式
(12)により指定点P2 の接線ベクトルq2 [1] を求
める。
Next, in step S302, it is checked whether or not j = 4 (whether the processing includes the starting point?).
If so, in step S303, the tangent vector q 2 [1] of the designated point P 2 is obtained from equation (8) using the following equation (12).

【0114】[0114]

【数7】 (Equation 7)

【0115】さらにステップS304では、式(9)か
ら次式(13)により開始点P1 の接線ベクトルq1
[1] を求める。
Further, in step S304, the tangent vector q 1 of the start point P 1 is obtained by the following equation (13) from the equation (9).
Find [1] .

【0116】[0116]

【数8】 (Equation 8)

【0117】つぎにステップS305では、次式(1
4)により指定点Pj-1 の接線ベクトルqj-1 [1] を求
める。
Next, in step S305, the following equation (1) is obtained.
The tangent vector q j-1 [1] of the designated point P j-1 is obtained by 4).

【0118】[0118]

【数9】 (Equation 9)

【0119】つぎにステップS306では、次式(1
5)により指定点Pj-2 の接線ベクトルqj-2 [1] を求
める。
Next, in step S306, the following equation (1) is obtained.
The tangent vector q j-2 [1] of the designated point P j-2 is obtained by 5).

【0120】[0120]

【数10】 (Equation 10)

【0121】つぎにステップS307では、j=4てあ
るか否か(始点を含む処理か?)をチェックし、j=4
であれば、次式(16)により開始点P1 の接線ベクト
ルq [2] を求める。
Next, in step S307, j = 4.
Is checked (is processing including the starting point?), J = 4
Then, the starting point P is calculated by the following equation (16).1Tangent vector of
Le q [2]Ask for.

【0122】[0122]

【数11】 [Equation 11]

【0123】以上の処理で、通過点Pj-3 、Pj-2 の接
線ベクトルqj-3 [2] 、qj-2 [2]が確定するので、ス
テップS309において、Pj-3 〜Pj-2 の区間におけ
るスプライン曲線を決定する。すなわち、式(1)から K0 =Pj-3 ・・・(17a) K1 =cj-2 j-3 [2] ・・・(17b) K2 =3(Pj-2 −Pj-3 )−2cj-2 j-3 [2] −cj-2 j-2 [2] ・・・(17c) K3 =3(Pj-3 −Pj-2 )+cj-2 j-3 [2] +cj-2 j-2 [2] ・・・(17d) とおくと、Pj-3 〜Pj-2 の区間におけるスプライン曲
線P(t) は、 P(t) =K3 3 +K2 2 +K1 t+K0 (0≦t≦1) ・・・(18) で与えられる。
[0123] In the above processing, the pass point P j-3, P tangent vector of j-2 q j-3 [ 2], since q j-2 [2] is determined, in step S309, P j-3 The spline curve in the section from ~ P j-2 is determined. That is, from equation (1), K 0 = P j−3 (17a) K 1 = c j−2 q j−3 [2] (17b) K 2 = 3 (P j−2 − P j-3 ) -2c j-2 q j-3 [2] -c j-2 q j-2 [2] (17c) K 3 = 3 (P j-3 −P j-2 ) + C j−2 q j−3 [2] + c j−2 q j−2 [2] (17d) In this case, the spline curve P (t) in the section from P j−3 to P j−2 It is given by P (t) = K 3 t 3 + K 2 t 2 + K 1 t + K 0 (0 ≦ t ≦ 1) ··· (18).

【0124】ステップS310では、j=nである否か
(Pj が終点か?)をチェックし、j≠nであれば、処
理を終了するが、j=n(Pj が終点)の場合は以下に
示す終点の処理を行う。
[0124] In step S310, whether or not (or P j is an end point?) Is a j = n check, if j ≠ n, but the process is terminated, the case of j = n (P j is an end point) Performs the following end point processing.

【0125】まずステップS311において、式(1
0)から次式(19)により終点Pnにおける接線ベク
トルqn [1] を求める。
First, in step S311, the expression (1)
0), a tangent vector q n [1] at the end point P n is obtained by the following equation (19).

【0126】[0126]

【数12】 (Equation 12)

【0127】つぎにステップS312において、次式
(20)により指定点Pn-1 の接線ベクトルqn-1 [2]
を求める。
Next, in step S312, the tangent vector q n-1 [2] of the designated point P n-1 is obtained by the following equation (20) .
Ask for.

【0128】[0128]

【数13】 (Equation 13)

【0129】つぎにステップS313において、Pj-3
〜Pj-2 の区間におけるスプライン曲線P(t) を式(1
7a)〜(17d)で、j=n+1とおくことにより、
式(18)によって求める。
Next, in step S313, P j-3
PP j−2 in the section from Pj to
By setting j = n + 1 in 7a) to (17d),
It is determined by equation (18).

【0130】最後に、最終区間Pn-1 〜Pn におけるス
プライン曲線を求める。ステップS314で終点Pn
おける接線ベクトルqn [2] を式(10)から次式(2
1)によって求める。
Finally, spline curves in the last sections P n-1 to P n are obtained. In step S314, the tangent vector q n [2] at the end point P n is calculated from the equation (10) by the following equation (2).
Determined by 1).

【0131】[0131]

【数14】 [Equation 14]

【0132】つぎにステップS313において、Pj-3
〜Pj-2 の区間におけるスプライン曲線P(t) を式(1
7a)〜(17d)で、j=n+2とおくことにより、
式(18)によって求める。
Next, at step S313, P j-3
PP j−2 in the section from Pj to
By setting j = n + 2 in 7a) to (17d),
It is determined by equation (18).

【0133】以上の図12、図13に示されている処理
フローから明らかなように、指令入力部1が、開始点を
含む4点P1 、P2 、P3 、P4 を入力した段階で、ス
プライン曲線決定部2は最初の区間P1 〜P2 のスプラ
イン曲線を決定する(図14のA)。その後、新しい指
定点Pj (j>4)を入力するごとに区間Pj-3 〜P
j-2 のスプライン曲線が決定する(図14のB)。そし
て、終点Pn を入力した段階で3つの区間Pn-3 〜P
n-2 、Pn-2 〜Pn-1 、Pn-1 〜Pn に対応するスプラ
イン曲線が決定する(図14のC,(n=8の例))。
The processing shown in FIG. 12 and FIG.
As is clear from the flow, the command input unit 1
4 points including P1, PTwo, PThree, PFourWhen you enter
The first curve P1~ PTwoSupra
An in-curve is determined (A in FIG. 14). Then a new finger
Fixed point PjEach time (j> 4) is input, the interval Pj-3~ P
j-2Is determined (B in FIG. 14). Soshi
And the end point PnAt the stage of inputting three sections Pn-3~ P
n-2, Pn-2~ Pn-1, Pn-1~ PnSupra corresponding to
The in-curve is determined (C in FIG. 14 (example of n = 8)).

【0134】上述のように、通過点の接線ベクトルを近
似的に計算し、その計算の繰り返し回数をk回とする
と、終点までの全通過点を読み取らなくとも、k点先の
通過点を読み取っていけば、接線ベクトルを簡単な計算
によって求め通過点との間のスプライン曲線を逐次発生
するから、リアルタイムにスプライン曲線を発生するこ
とができる。
As described above, assuming that the tangent vector of the passing point is approximately calculated and the number of repetitions of the calculation is k, the passing point after the k-th point is read without reading all the passing points up to the end point. Then, a tangent vector is obtained by a simple calculation, and a spline curve between the tangent vector and the passing point is sequentially generated, so that a spline curve can be generated in real time.

【0135】スプライン曲線計算部2では、各区間のス
プライン曲線が確定するごとに計算結果をスプライン曲
線修正部3に出力する。図15はスプライン曲線修正部
3の処理フロー図である。以下、本フロー図にしたがっ
て処理の内容を説明する。
The spline curve calculation section 2 outputs the calculation result to the spline curve correction section 3 every time the spline curve of each section is determined. FIG. 15 is a processing flowchart of the spline curve correction unit 3. Hereinafter, the contents of the processing will be described with reference to this flowchart.

【0136】スプライン曲線修正部3では、まずステッ
プS401で、スプライン曲線計算部からスプライン曲
線を決定する各種のデータ、すなわち、スプライン曲線
式P(t) と、その各係数を導出するに使用した両端点に
おける位置ベクトルPs 、Pe と、単位接線ベクトルq
s 、qe および線分Ps 〜Pe の長さcを入力する。
(図16参照)。
In step S401, the spline curve correction unit 3 first determines various data for determining a spline curve from the spline curve calculation unit, that is, the spline curve equation P (t) and the two ends used to derive the respective coefficients. The position vectors Ps and Pe at the point and the unit tangent vector q
s, qe and the length c of the line segment Ps-Pe are input.
(See FIG. 16).

【0137】つぎにステップS402において、スプラ
インの各区間における誤差を評価する。誤差の計算方法
としては、例えばPs 〜Pe の区間において式(5)で
表される曲線P(t) を、パラメータtをΔt刻みで動か
しながら、各点P(t) と線分Ps 〜Pe との距離の最大
値を求め、これを誤差dmax とする。
Next, in step S402, the error in each section of the spline is evaluated. As an error calculation method, for example, a curve P (t) expressed by the equation (5) in the section from Ps to Pe is moved to each point P (t) and a line segment Ps to Pe while moving the parameter t in steps of Δt. Is determined as the error dmax.

【0138】つぎにステップS403では、求めた誤差
dmax が許容誤差εを超えないか評価し、dmax ≦εで
あれば、誤差が許容誤差以内にあるとしてステップS4
05に進み、これに対しdmax >εであれば、誤差が許
容誤差を超えたものとしてステップS404に進む。
Next, in step S403, it is evaluated whether the obtained error dmax does not exceed the allowable error ε. If dmax ≦ ε, it is determined that the error is within the allowable error.
05, if dmax> ε, it is determined that the error has exceeded the allowable error and the process proceeds to step S404.

【0139】誤差が許容誤差を超えた場合には、ステッ
プS404において、以下の要領でスプライン曲線式を
修正する。
If the error exceeds the allowable error, in step S404, the spline curve equation is corrected in the following manner.

【0140】スプライン曲線式は両端点における位置ベ
クトルと接線ベクトルによって決定するが、接線ベクト
ルは両端点における曲線の勢い(速度)を表すため、接
線ベクトルの傾きは同一でも大きさが異なると、曲線の
形状が異なり、一般に接線ベクトルの大きさが小さいほ
ど曲線は線分により近づいたものとなる。なお、曲線の
形状によってはパラメータt(0≦t≦1)の全域にお
いて接線ベクトルが小さいほど線分に近づくとはいえな
い場合もあるが、曲線上の点の線分からの最大距離は小
さくなる。
Although the spline curve equation is determined by the position vector and the tangent vector at both end points, the tangent vector represents the momentum (speed) of the curve at both end points. In general, the smaller the magnitude of the tangent vector is, the closer the curve becomes to the line segment. Note that, depending on the shape of the curve, the smaller the tangent vector over the entire range of the parameter t (0 ≦ t ≦ 1), the smaller the tangent vector may not be. .

【0141】ここで、両端点におけるパラメータtに対
する接線ベクトルはcqs 、cqeであり、cが接線ベ
クトルの大きさを表すものとなる。
Here, the tangent vectors to the parameter t at both end points are cqs and cqe, and c represents the magnitude of the tangent vector.

【0142】ステップS404では、cをより小さな値
に更新することによって接線ベクトルの大きさを小さく
し、スプライン曲線の形状を、より線分に近づいたもの
に修正する。具体的には計算された最大誤差dmax と許
容誤差εに対して、 c・ε/dmax →c で、cを更新して式(4a)〜(4b)からスプライン
曲線式(5)を求め直す。
In step S404, the size of the tangent vector is reduced by updating c to a smaller value, and the shape of the spline curve is corrected to a shape closer to a line segment. Specifically, for the calculated maximum error dmax and allowable error ε, c is updated by c · ε / dmax → c, and the spline curve equation (5) is recalculated from equations (4a) to (4b). .

【0143】図16では、更新したcと曲線式P(t) を
それぞれc’、P’(t) で表し、更新前の曲線との差異
を示した。
In FIG. 16, the updated c and the curve equation P (t) are represented by c ′ and P ′ (t), respectively, to show the difference from the curve before the update.

【0144】つぎにステップS403にループバックし
て修正したスプライン曲線P(t) と線分Ps 〜Pe との
最大誤差を求め、以下同様の処理を繰り返す。
Next, the maximum error between the corrected spline curve P (t) and the line segments Ps to Pe is obtained by looping back to step S403, and the same processing is repeated thereafter.

【0145】ステップS403で、最大誤差が許容誤差
以内であると判定された場合には、ステップS405に
移行し、そのときのスプライン曲線式を補間演算部4に
出力して処理を終了する。ここで出力されるスプライン
曲線式は両端点において、その両側の区間と1次微分が
連続で曲線と線分の最大誤差が許容誤差以内のものとな
っている。
If it is determined in step S403 that the maximum error is within the allowable error, the flow shifts to step S405, in which the spline curve equation at that time is output to the interpolation calculation unit 4, and the processing is terminated. The spline curve equation output here is such that, at both end points, the sections on both sides thereof and the first derivative are continuous, and the maximum error of the curve and the line segment is within the allowable error.

【0146】このように決められたスプライン曲線に対
して補間演算部4では、曲線上に補間周期ΔTごとに、
速度指令値Fに従って、現在の点からの長さが指定した
補間長さ( =目標補間長さ) となるような点(補間点)
を求め、その座標値をサーボ駆動部5に出力する。
With respect to the spline curve determined in this way, the interpolation calculating section 4 displays the spline curve on the curve at every interpolation cycle ΔT.
A point (interpolation point) whose length from the current point is the specified interpolation length (= target interpolation length) according to the speed command value F
And outputs the coordinate value to the servo drive unit 5.

【0147】上述のように、発生したスプライン曲線が
当該区間の線分と許容値を超える誤差を有する場合に
は、当該区間の両端点におけるスプライン曲線の接線ベ
クトルの大きさを小さくすることにより、線分との誤差
が許容値以内になるようにスプライン曲線を修正するか
ら、各区間において線分との誤差が許容値以内であり各
区間の継ぎ目で接線ベクトルの方向が連続である滑らか
なスプライン補間軌跡が得られる。
As described above, when the generated spline curve has an error exceeding the allowable value with the line segment of the section, the magnitude of the tangent vector of the spline curve at both end points of the section is reduced. Since the spline curve is corrected so that the error with the line segment is within the allowable value, the smooth spline in which the error with the line segment is within the allowable value in each section and the direction of the tangent vector is continuous at the joint of each section An interpolation trajectory is obtained.

【0148】スプライン曲線修正部3によるスプライン
曲線修正処理は、図17に示されているように、以下の
要領でスプライン曲線式を修正することもできる。な
お、図17において、図15と同一内容のステップにつ
いては、同一のステップ番号を付けてその説明を省略す
る。
In the spline curve correction processing by the spline curve correction unit 3, as shown in FIG. 17, the spline curve equation can be corrected in the following manner. In FIG. 17, steps having the same contents as those in FIG. 15 are denoted by the same step numbers, and description thereof is omitted.

【0149】最大誤差dmax が許容誤差εを超えた場合
には(ステップS403否定)、ステップS404’に
おいて、以下の要領でスプライン曲線式を修正する。
If the maximum error dmax exceeds the allowable error ε (No at Step S403), at Step S404 ′, the spline curve equation is modified in the following manner.

【0150】まず、線分Ps 〜Pe の単位ベクトルuを
求め、単位ベクトルuと始点ベクトルqs とがなす角度
θs を次式によって求める。
First, the unit vector u of the line segments Ps to Pe is determined, and the angle θs formed by the unit vector u and the starting point vector qs is determined by the following equation.

【0151】cos(θs )=(qs ,u)/|qs |Cos (θs) = (qs, u) / | qs |

【0152】繰り返しになるが、この角度θs を用い
て、ベクトルqs は図5に示すベクトルqshとqsvに分
解できる。ただし、qshはベクトルqs の線分Ps 〜P
e に平行な成分、qsvはベクトルqs の線分Ps 〜Pe
に垂直な成分であり、 qsh=|qs |・cos(θs )・u=(qs ,u)・
u qsv=qs −qsh である。
Again, using this angle θs, the vector qs can be decomposed into the vectors qsh and qsv shown in FIG. Here, qsh is a line segment Ps to Ps of vector qs.
The component parallel to e, qsv is the line segment Ps to Pe of the vector qs.
Qsh = | qs | · cos (θs) · u = (qs, u) ·
u qsv = qs-qsh.

【0153】つぎに、図13に示すようにgを定数とし
て、 qs ’=qsh+gqsv (但し、0<g<1) とすれば、qs ’はベクトルqs を線分Ps 〜Pe の方
向に傾けたものとなる。定数gの決め方としては、ステ
ップS502で求めた最大誤差dmax と許容誤差εを用
いてg=ε/dmax とすればよい。
Next, assuming that g is a constant and qs' = qsh + gqsv (where 0 <g <1) as shown in FIG. It will be. As a method of determining the constant g, g = ε / dmax may be set using the maximum error dmax and the allowable error ε obtained in step S502.

【0154】ついで、同様の手法により、ベクトルqe
を線分Ps 〜Pe の方向に傾けたベクトルqe ’を求
め、qs 、qe をqs ’→qs 、qe ’→qe に更新し
て式(4a)〜(4b)からスプライン曲線式(5)を
求め直す。
Next, by the same method, the vector qe
Is calculated in the direction of the line segment Ps-Pe, qs, qe are updated to qs '→ qs, qe' → qe, and the spline curve equation (5) is obtained from the equations (4a)-(4b). Ask again.

【0155】このようにして修正されたスプライン曲線
は両端点の接線の傾きを線分Ps 〜Pe に近づくように
修正しているため、結果として得られる曲線は前回の曲
線よりも線分Ps 〜Pe に対する最大誤差が小さくなっ
ている。図18は更新後の接線ベクトルqs 、qe 、曲
線式P(t) をそれぞれqs ’、qe ’、曲線式P’(t)
で表して更新前後の曲線の変化の様子を示したものであ
る。
[0155] Since the spline curve corrected in this manner corrects the inclination of the tangent line at both end points so as to approach the line segments Ps to Pe, the resulting curve is smaller than the previous curve by the line segment Ps to Ps. The maximum error with respect to Pe is small. FIG. 18 shows the updated tangent vectors qs, qe, and curve equation P (t) as qs', qe ', and curve equation P' (t), respectively.
And how the curve changes before and after updating.

【0156】上述のように、この実施の形態では、発生
したスプライン曲線が当該区間の線分と許容値を超える
誤差を有すれば、当該区間の両端点におけるスプライン
曲線の接線ベクトルの傾きを線分のベクトル方向に近づ
けることにより、線分との誤差が許容値以内になるよう
にスプライン曲線を修正するから、各区間において線分
との誤差が許容値以内のスプライン補間軌跡が得られ
る。
As described above, in this embodiment, if the generated spline curve has an error exceeding the allowable value with the line segment of the section, the slope of the tangent vector of the spline curve at both end points of the section is expressed by a line. Since the spline curve is corrected so that the error with the line segment is within the allowable value by approaching the vector direction of the minute, a spline interpolation trajectory in which the error with the line segment is within the allowable value is obtained in each section.

【0157】[0157]

【発明の効果】上述の説明から明かなように、この発明
による曲線の微小線分化方法によれば、自由曲線を弦誤
差が許容値以内になるように微小線分化することによっ
て点列を生成した後に、この点列を通過するようにスプ
ライン曲線を張って、各区間において区間内に変曲点が
存在すると判定された場合で、スプライン曲線と元の曲
線の誤差が許容値を超える場合はその区間に通過点を追
加することによって点列を再構成するようにしたため、
当初の点列では元の曲線形状によってはある区間でスプ
ライン曲線が元の曲線と大きく誤差を持つような場合に
は、その区間に元の曲線上の通過点を追加して点列が再
構成され、結果として再構成された点列にスプライン曲
線を張った場合には元の曲線に極めて近いスプライン曲
線となり、最終出力としての点列を数値制御装置でスプ
ライン補間した場合に所望の誤差精度が得られて良好な
加工軌跡が得られると云う効果がある。また、この点列
は直線補間にもスプライン補間にも供する事ができると
云う効果がある。
As is apparent from the above description, according to the method for dividing a free curve into minute lines according to the present invention, a sequence of points is generated by dividing a free curve into minute lines such that a chord error is within an allowable value. After that, a spline curve is drawn so as to pass through this point sequence, and it is determined that there is an inflection point in the section in each section.If the error between the spline curve and the original curve exceeds an allowable value, Since the point sequence was reconstructed by adding a passing point to that section,
In the initial point sequence, if the spline curve has a large error from the original curve in a certain section depending on the original curve shape, the passing point on the original curve is added to that section and the point sequence is reconstructed When a spline curve is applied to the reconstructed point sequence as a result, a spline curve very close to the original curve is obtained.When a point sequence as a final output is spline-interpolated by a numerical controller, a desired error accuracy is obtained. There is an effect that a good machining locus can be obtained. Further, there is an effect that this point sequence can be used for both linear interpolation and spline interpolation.

【0158】つぎの発明による曲線の微小線分化方法に
よれば、再構成された点列に再度スプライン曲線を張り
各区間で区間内に変曲点が存在すると判定された場合
で、スプライン曲線と元の曲線線分とスプライン曲線と
の誤差が許容値を超える場合はその区間に通過点を追加
することによって点列を再構成することを新たな通過点
の追加がなくなるまで繰り返すようにしたため、結果と
して得られる点列にスプライン補間を実行した場合に、
補間軌跡と元の曲線との誤差が許容値以内にあることが
保証され、良好な加工軌跡が得られると云う効果があ
る。
According to the method for differentiating a curved line into small lines according to the next invention, a spline curve is formed again on a reconstructed point sequence, and when it is determined that there is an inflection point in each section in each section, the spline curve and the When the error between the original curve line segment and the spline curve exceeds the allowable value, the point sequence is reconstructed by adding a passing point to that section until no new passing point is added. If you perform spline interpolation on the resulting point sequence,
It is ensured that the error between the interpolation trajectory and the original curve is within an allowable value, and there is an effect that a good machining trajectory can be obtained.

【0159】つぎの発明による曲線の微小線分化方法に
よれば、区間内に曲線の変曲点を持つか否かの評価を、
当該区間のスプライン曲線の始点ベクトル、区間の線分
の方向ベクトル、スプライン曲線の終点ベクトルがジグ
ザグ状に連続するか否かと、線分の方向ベクトルに対す
るスプライン曲線の始点ベクトルおよび終点ベクトルの
2つの角度の比が基準値よりも大きいか否かの判別によ
り行うから、この評価が、簡単かつ確実に行われると云
う効果がある。
According to the curve minute line differentiation method according to the next invention, it is determined whether or not the section has an inflection point of the curve in the section.
Whether the start point vector of the spline curve of the section, the direction vector of the line segment of the section, the end point vector of the spline curve are continuous in a zigzag manner, and two angles of the start point vector and the end point vector of the spline curve with respect to the direction vector of the line segment Is evaluated by determining whether or not the ratio is larger than the reference value. Therefore, there is an effect that this evaluation can be easily and reliably performed.

【0160】つぎの発明によるスプライン補間機能を有
する数値制御装置によれば、スプライン曲線決定手段が
各通過点間を滑らかに接続する各区間におけるスプライ
ン曲線を決定し、スプライン曲線修正手段が各区間にお
いて決定されたスプライン曲線と該区間の線分との誤差
が許容値を超えるか否かを判定し、前記誤差が許容値を
超える場合には該区間におけるスプライン曲線を前記線
分に近づくように修正するから、リアルタイムに許容誤
差を保証するスプライン曲線を発生できると云う効果が
ある。
According to the numerical control apparatus having a spline interpolation function according to the next invention, the spline curve determining means determines the spline curve in each section connecting the passing points smoothly, and the spline curve correcting means determines the spline curve in each section. It is determined whether or not the error between the determined spline curve and the line segment in the section exceeds an allowable value, and if the error exceeds the allowable value, the spline curve in the section is corrected so as to approach the line segment. Therefore, there is an effect that a spline curve that guarantees an allowable error can be generated in real time.

【0161】つぎの発明によるスプライン補間機能を有
する数値制御装置によれば、スプライン曲線修正手段
が、当該区間の両端点におけるスプライン曲線の接線ベ
クトルを、当該区間のスプライン曲線と線分との誤差が
許容値以内になるよう当該区間の両端点におけるスプラ
イン曲線の接線ベクトルの大きさを小さくすることによ
り、スプライン曲線の修正を行うから、各区間において
線分との誤差が許容値以内であり、各区間の継ぎ目で接
線ベクトルの方向が連続である滑らかなスプライン補間
軌跡が得られると云う効果がある。
According to the numerical controller having a spline interpolation function according to the next invention, the spline curve correcting means determines the tangent vector of the spline curve at both end points of the section and the error between the spline curve and the line segment of the section. Since the spline curve is corrected by reducing the magnitude of the tangent vector of the spline curve at both ends of the section so as to be within the allowable value, the error from the line segment in each section is within the allowable value. There is an effect that a smooth spline interpolation trajectory in which the direction of the tangent vector is continuous at the joint of the sections is obtained.

【0162】つぎの発明によるスプライン補間機能を有
する数値制御装置によれば、スプライン曲線修正手段
が、当該区間の両端点におけるスプライン曲線の接線ベ
クトルを、当該区間のスプライン曲線と線分との変曲点
を誤差が許容値以内になるよう当該区間の両端点におけ
るスプライン曲線の接線ベクトルの方向を当該線分に平
行なベクトルの方向に近づけることにより、線分との誤
差が許容値以内になるようにスプライン曲線の修正を行
うから、各区間において線分との誤差が許容値以内のス
プライン補間軌跡が得られるという効果がある。
According to the numerical controller having the spline interpolation function according to the next invention, the spline curve correcting means converts the tangent vector of the spline curve at both ends of the section into an inflection between the spline curve and the line segment in the section. By setting the point so that the error is within the allowable value, the direction of the tangent vector of the spline curve at both ends of the section is closer to the direction of the vector parallel to the line segment, so that the error with the line segment is within the allowable value. Since the correction of the spline curve is performed, there is an effect that in each section, a spline interpolation trajectory having an error from a line segment within an allowable value can be obtained.

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

【図1】 この発明による曲線の微小線分化方法の実施
手順を示す処理フロー図である。
FIG. 1 is a process flow chart showing the procedure of implementing a method for differentiating a curve into minute lines according to the present invention.

【図2】 2点とその接線ベクトルによって表されるス
プライン曲線を示す説明図である。
FIG. 2 is an explanatory diagram showing a spline curve represented by two points and a tangent vector thereof.

【図3】 (a)〜(c)は変曲点の有無による始点、
終点ベクトルの特徴を示す説明図である。
3 (a) to 3 (c) are starting points depending on the presence or absence of an inflection point,
FIG. 9 is an explanatory diagram showing characteristics of an end point vector.

【図4】 変曲点有無の判定ルーチンの処理フロー図で
ある。
FIG. 4 is a processing flowchart of an inflection point presence / absence determination routine.

【図5】 接線ベクトルの修正例を示す説明図である。FIG. 5 is an explanatory diagram showing an example of correcting a tangent vector.

【図6】 スプライン曲線と元の曲線の最大誤差を求め
る手法を示す説明図である。
FIG. 6 is an explanatory diagram showing a method for obtaining a maximum error between a spline curve and an original curve.

【図7】 (a)〜(c)はスプライン曲線上の1点に
対応する元の曲線状の点の求め方を示す説明図である。
FIGS. 7A to 7C are explanatory diagrams showing how to find an original curved point corresponding to one point on a spline curve.

【図8】 元の曲線に通過点を追加することを示す説明
図である。
FIG. 8 is an explanatory diagram showing that a passing point is added to an original curve.

【図9】 再構成された曲線状の通過点列を示す図であ
る。
FIG. 9 is a diagram showing a reconstructed curved passage point sequence;

【図10】 この発明による数値制御装置の要部構成を
示すブロック図である。
FIG. 10 is a block diagram showing a main configuration of a numerical control device according to the present invention.

【図11】 繰り返しのベクトル計算により各通過点の
接線ベクトルが求まっていくときの計算手順を表す概念
図である。
FIG. 11 is a conceptual diagram showing a calculation procedure when a tangent vector of each passing point is obtained by repeated vector calculation.

【図12】 指令入力部の処理の概略フロー図である。FIG. 12 is a schematic flowchart of processing of a command input unit.

【図13】 スプライン曲線計算部によるスプライン曲
線計算処理の概略フロー図である。
FIG. 13 is a schematic flowchart of a spline curve calculation process by a spline curve calculation unit.

【図14】 各区間のスプライン曲線が逐次的に求めら
れていくことを表す概念図である。
FIG. 14 is a conceptual diagram showing that a spline curve of each section is sequentially obtained.

【図15】 スプライン曲線修正部によるスプライン曲
線修正処理の概略フロー図である。
FIG. 15 is a schematic flowchart of a spline curve correction process by a spline curve correction unit.

【図16】 接線ベクトルの大きさの修正による曲線形
状の変化を示す説明図である。
FIG. 16 is an explanatory diagram showing a change in a curve shape due to correction of the magnitude of a tangent vector.

【図17】 スプライン曲線修正部による他のスプライ
ン曲線修正処理の概略フロー図である。
FIG. 17 is a schematic flowchart of another spline curve correction process by a spline curve correction unit.

【図18】 接線ベクトルの傾きの修正による曲線形状
の変化を示す説明図である。
FIG. 18 is an explanatory diagram illustrating a change in a curve shape due to correction of the inclination of a tangent vector.

【図19】 弦誤差一定で曲線を微小線分化する方法を
示す説明図である。
FIG. 19 is an explanatory view showing a method of minutely segmenting a curve with a constant chord error.

【図20】 従来の微小線分化によって生成された点列
に対してスプライン補間をした場合に本来の曲線に対し
て大きな誤差を生ずるケースを示す説明図である。
FIG. 20 is an explanatory diagram showing a case where a large error occurs with respect to an original curve when spline interpolation is performed on a sequence of points generated by conventional fine line differentiation.

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

1 指令入力部,2 スプライン曲線計算部,3 スプ
ライン曲線修正部,4 補間演算部,5 サーボ駆動
部,Pj 曲線経路上の通過点列,uj 通過点列間の
区間ベクトル,cj 通過点列間の距離,qj 単位接
線ベクトル。
1 command input section, 2 spline curve calculation section, 3 spline curve correction section, 4 interpolation calculation section, 5 servo drive section, passing point sequence on P j curve path, section vector between u j passing point sequence, c j passing the distance between the point sequence, q j units tangent vector.

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 数値制御装置の入力データとして供する
自由曲線を微小線分化した点列データを生成する際に、
弦誤差が許容値以内となるように折れ線近似を行うこと
により点列を生成し、当該点列を通過する3次スプライ
ン曲線を生成し、各通過点間の区間が区間内に曲線の変
曲点を持つか否かを評価し、変曲点を持つと判定された
区間に対しては元の曲線と発生した3次スプライン曲線
の誤差が許容値以内であるかを評価し、誤差が許容値を
超える場合には当該区間内に通過点を追加して前記点列
を再構成することを特徴とする曲線の微小線分化方法。
In generating point sequence data obtained by subdividing a free curve serving as input data of a numerical controller into minute lines,
A point sequence is generated by performing a polygonal line approximation so that the chord error is within an allowable value, a cubic spline curve passing through the point sequence is generated, and a section between each passing point is an inflection of the curve within the section. It evaluates whether or not the section has an inflection point, and evaluates whether or not the error between the original curve and the generated cubic spline curve is within an allowable value. If the value exceeds the value, a passing point is added in the section to reconstruct the point sequence, and the method for differentiating a minute line into a curve is provided.
【請求項2】 通過点の追加があった場合には、再構成
した点列から再度この点列を通過する3次スプライン曲
線を生成し、各通過点間の区間が区間内に曲線の変曲点
を持つか否かを評価し、変曲点を持つと判定された区間
に対して元の曲線と発生した3次スプライン曲線の誤差
が許容値以内であるかを評価し、誤差が許容値を超える
場合には当該区間内に通過点を追加して前記点列を再構
成する過程を、新規の通過点の追加がなくなるまで繰り
返すことを特徴とする請求項1に記載の曲線の微小線分
化方法。
2. When a passing point is added, a cubic spline curve passing through the reconstructed point sequence is generated again from the reconstructed point sequence, and a section between each passing point is transformed into a curve within the section. Evaluate whether or not there is a curve point, and evaluate whether the error between the original curve and the generated cubic spline curve is within the allowable value for the section determined to have the inflection point, 2. The method according to claim 1, wherein when the value exceeds the value, a process of adding a passing point in the section and reconstructing the point sequence is repeated until no new passing point is added. Line differentiation method.
【請求項3】 前記区間内に曲線の変曲点を持つか否か
の評価を、当該区間のスプライン曲線の始点ベクトル、
区間の線分の方向ベクトル、スプライン曲線の終点ベク
トルがジグザグ状に連続するか否かと、線分の方向ベク
トルに対するスプライン曲線の始点ベクトルおよび終点
ベクトルの2つの角度の比が基準値よりも大きいか否か
の判別により行うことを特徴とする請求項1または2に
記載の曲線の微小線分化方法。
3. An evaluation as to whether or not the section has an inflection point of a curve in the section is performed by:
Whether the direction vector of the line segment of the section and the end point vector of the spline curve are continuous in a zigzag manner, and whether the ratio of the two angles of the start point vector and the end point vector of the spline curve to the line segment direction vector is larger than a reference value The method according to claim 1, wherein the method is performed by determining whether or not the curve is a fine line.
【請求項4】 曲線加工軌道上に離散的にとられた通過
点列に対して、各通過点間を滑らかに接続する各区間に
おけるスプライン曲線を決定するスプライン曲線決定手
段と、 各区間において決定されたスプライン曲線と該区間の線
分との誤差が許容値を超えるか否かを判定し、前記誤差
が許容値を超える場合には該区間におけるスプライン曲
線を前記線分に近づくように修正するスプライン曲線修
正手段と、 を有していることを特徴とするスプライン補間機能を有
する数値制御装置。
4. A spline curve determining means for determining a spline curve in each section that smoothly connects between the passing points, for a series of passing points discretely taken on the curve processing trajectory, and determining in each section. It is determined whether or not the error between the set spline curve and the line segment of the section exceeds an allowable value, and if the error exceeds the allowable value, the spline curve in the section is corrected so as to approach the line segment. A numerical controller having a spline interpolation function, comprising: a spline curve correcting unit.
【請求項5】 前記スプライン曲線修正手段によるスプ
ライン曲線の修正は、当該区間の両端点におけるスプラ
イン曲線の接線ベクトルを、当該区間のスプライン曲線
と線分との誤差が許容値以内になるよう当該区間の両端
点におけるスプライン曲線の接線ベクトルの大きさを小
さくすることにより行うことを特徴とする請求項4に記
載のスプライン補間機能を有する数値制御装置。
5. A method for correcting a spline curve by the spline curve correcting means, wherein a tangent vector of the spline curve at both end points of the section is set so that an error between the spline curve and a line segment of the section is within an allowable value. 5. The numerical control device having a spline interpolation function according to claim 4, wherein the control is performed by reducing the magnitude of a tangent vector of a spline curve at both end points of the numerical value.
【請求項6】 前記スプライン曲線修正手段によるスプ
ライン曲線の修正は、当該区間の両端点におけるスプラ
イン曲線の接線ベクトルを、当該区間のスプライン曲線
と線分との変曲点を誤差が許容値以内になるよう当該区
間の両端点におけるスプライン曲線の接線ベクトルの方
向を当該線分に平行なベクトルの方向に近づけることに
より行うことを特徴とする請求項4に記載のスプライン
補間機能を有する数値制御装置。
6. The spline curve is corrected by the spline curve correcting means by changing a tangent vector of the spline curve at both end points of the section to an inflection point between the spline curve and the line segment of the section within an allowable value. 5. The numerical control device having a spline interpolation function according to claim 4, wherein the control is performed by bringing a direction of a tangent vector of a spline curve at both end points of the section closer to a direction of a vector parallel to the line segment.
JP4183897A 1997-02-26 1997-02-26 Curve minute line differentiation method and numerical controller having spline interpolation function Expired - Fee Related JP3366213B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4183897A JP3366213B2 (en) 1997-02-26 1997-02-26 Curve minute line differentiation method and numerical controller having spline interpolation function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4183897A JP3366213B2 (en) 1997-02-26 1997-02-26 Curve minute line differentiation method and numerical controller having spline interpolation function

Publications (2)

Publication Number Publication Date
JPH10240329A true JPH10240329A (en) 1998-09-11
JP3366213B2 JP3366213B2 (en) 2003-01-14

Family

ID=12619409

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4183897A Expired - Fee Related JP3366213B2 (en) 1997-02-26 1997-02-26 Curve minute line differentiation method and numerical controller having spline interpolation function

Country Status (1)

Country Link
JP (1) JP3366213B2 (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001034774A (en) * 1999-07-21 2001-02-09 Ricoh Co Ltd Method, device, and recording medium for approximate conversion of free curve
JP2002079827A (en) * 2000-09-06 2002-03-19 Sanden Corp Vehicular air-conditioner
JP2007042021A (en) * 2005-08-05 2007-02-15 Denso Wave Inc Robot controller
JP2009199483A (en) * 2008-02-25 2009-09-03 Mitsubishi Heavy Ind Ltd Numerical control device
WO2012056554A1 (en) * 2010-10-25 2012-05-03 株式会社牧野フライス製作所 Tool path generation method and tool path generation device
US20120215334A1 (en) * 2009-10-30 2012-08-23 Makino Milling Machine Co. Ltd. Tool path generation method and device
DE102015120118A1 (en) 2014-11-28 2016-06-02 Fanuc Corporation Tool path curve generation method and tool path curve generation device
JP2018522356A (en) * 2015-07-28 2018-08-09 ザ・リージェンツ・オブ・ザ・ユニバーシティ・オブ・ミシガンThe Regents Of The University Of Michigan Use of filtered basis splines to compensate for servo-induced motion errors
CN110879572A (en) * 2018-09-05 2020-03-13 大隈株式会社 Numerical control device and numerical control method
WO2020178978A1 (en) * 2019-03-05 2020-09-10 三菱電機株式会社 Machining program conversion device, numerical control device, and machining program conversion method
JP6863497B1 (en) * 2020-03-11 2021-04-21 オムロン株式会社 Controller system and its control method
CN113687629A (en) * 2020-05-19 2021-11-23 大族激光科技产业集团股份有限公司 Circular arc straight line fitting method, system, equipment and storage medium for laser CAM processing
CN113721551A (en) * 2020-05-26 2021-11-30 沈机(上海)智能系统研发设计有限公司 Numerical control machining method and numerical control machining equipment
CN113835397A (en) * 2021-06-30 2021-12-24 浙江大学 Linear numerical control machining path smoothing method based on B spline curve and path integral
JP2022510178A (en) * 2018-11-29 2022-01-26 広州視源電子科技股▲分▼有限公司 Courseware recording methods and devices, courseware playback methods and devices, intelligent interactive tablets, and storage media.
CN114488941A (en) * 2020-11-11 2022-05-13 沈机(上海)智能系统研发设计有限公司 Trace fairing method and medium for micro line segments and machine tool numerical control equipment

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001034774A (en) * 1999-07-21 2001-02-09 Ricoh Co Ltd Method, device, and recording medium for approximate conversion of free curve
JP2002079827A (en) * 2000-09-06 2002-03-19 Sanden Corp Vehicular air-conditioner
JP2007042021A (en) * 2005-08-05 2007-02-15 Denso Wave Inc Robot controller
JP2009199483A (en) * 2008-02-25 2009-09-03 Mitsubishi Heavy Ind Ltd Numerical control device
US20120215334A1 (en) * 2009-10-30 2012-08-23 Makino Milling Machine Co. Ltd. Tool path generation method and device
EP2634658A4 (en) * 2010-10-25 2016-12-07 Makino Milling Machine Tool path generation method and tool path generation device
WO2012056554A1 (en) * 2010-10-25 2012-05-03 株式会社牧野フライス製作所 Tool path generation method and tool path generation device
CN103189809A (en) * 2010-10-25 2013-07-03 株式会社牧野铣床制作所 Tool path generation method and tool path generation device
JPWO2012056554A1 (en) * 2010-10-25 2014-03-20 株式会社牧野フライス製作所 Tool path generation method and generation apparatus
JP5615377B2 (en) * 2010-10-25 2014-10-29 株式会社牧野フライス製作所 Tool path generation method and generation apparatus
US9244456B2 (en) 2010-10-25 2016-01-26 Makino Milling Machine Co., Ltd. Tool path generation method and apparatus
DE102015120118B4 (en) 2014-11-28 2019-08-01 Fanuc Corporation Machine tool with a tool path curve generating device
US10088825B2 (en) 2014-11-28 2018-10-02 Fanuc Corporation Tool path curve generation method and tool path curve generation apparatus
DE102015120118A1 (en) 2014-11-28 2016-06-02 Fanuc Corporation Tool path curve generation method and tool path curve generation device
JP2018522356A (en) * 2015-07-28 2018-08-09 ザ・リージェンツ・オブ・ザ・ユニバーシティ・オブ・ミシガンThe Regents Of The University Of Michigan Use of filtered basis splines to compensate for servo-induced motion errors
CN110879572A (en) * 2018-09-05 2020-03-13 大隈株式会社 Numerical control device and numerical control method
CN110879572B (en) * 2018-09-05 2024-02-13 大隈株式会社 Numerical control device and numerical control method
JP2022510178A (en) * 2018-11-29 2022-01-26 広州視源電子科技股▲分▼有限公司 Courseware recording methods and devices, courseware playback methods and devices, intelligent interactive tablets, and storage media.
WO2020178978A1 (en) * 2019-03-05 2020-09-10 三菱電機株式会社 Machining program conversion device, numerical control device, and machining program conversion method
WO2020179798A1 (en) * 2019-03-05 2020-09-10 三菱電機株式会社 Machining program conversion device, numerical control device, machining program conversion method, and machine-learning device
JP6808106B1 (en) * 2019-03-05 2021-01-06 三菱電機株式会社 Machining program conversion device, numerical control device, machining program conversion method and machine learning device
CN113490894A (en) * 2019-03-05 2021-10-08 三菱电机株式会社 Machining program conversion device, numerical control device, machining program conversion method, and machine learning device
JP2021144437A (en) * 2020-03-11 2021-09-24 オムロン株式会社 Controller system and control method thereof
JP6863497B1 (en) * 2020-03-11 2021-04-21 オムロン株式会社 Controller system and its control method
CN113687629A (en) * 2020-05-19 2021-11-23 大族激光科技产业集团股份有限公司 Circular arc straight line fitting method, system, equipment and storage medium for laser CAM processing
CN113687629B (en) * 2020-05-19 2022-09-20 大族激光科技产业集团股份有限公司 Circular arc straight line fitting method, system, equipment and storage medium for laser CAM processing
CN113721551A (en) * 2020-05-26 2021-11-30 沈机(上海)智能系统研发设计有限公司 Numerical control machining method and numerical control machining equipment
CN114488941A (en) * 2020-11-11 2022-05-13 沈机(上海)智能系统研发设计有限公司 Trace fairing method and medium for micro line segments and machine tool numerical control equipment
CN113835397A (en) * 2021-06-30 2021-12-24 浙江大学 Linear numerical control machining path smoothing method based on B spline curve and path integral
CN113835397B (en) * 2021-06-30 2024-02-09 浙江大学 Linear numerical control machining path smoothing method based on B spline curve and path integral

Also Published As

Publication number Publication date
JP3366213B2 (en) 2003-01-14

Similar Documents

Publication Publication Date Title
JPH10240329A (en) Curve fine-segmentation method and numerical controller provided with spline interpolation function
KR880002556B1 (en) Method of forming curved surface
Ryckelynck et al. On the a priori model reduction: overview and recent developments
CN104793560B (en) Method and system for generating track
Feng et al. Design of a real-time adaptive NURBS interpolator with axis acceleration limit
JP2005070940A (en) Pid parameter adjusting device
JPS61246877A (en) Method for converting linear graphic
CN114237161B (en) Industrial robot NURBS curve interpolation method based on digital filtering
EP0795804B1 (en) Curve interpolation method for carrying out speed control operation when robot makes connecting action
CN111240275B (en) Feed rate planning method based on logarithmic probability function under motion and error limitation
EP0476381B1 (en) Route interpolation method for robot
CN116310048A (en) Method for calculating intersection point of ray tracing and NURBS curved surface based on curvature subdivision
US20060089748A1 (en) Method and device to generate position profile in motion controller
US5717847A (en) Method for generating plane technical curves or contours
CN115202293B (en) Two-section type speed planning method for industrial robot
Khamayseh et al. Elliptic grid generation using NURBS surfaces
JPH07160870A (en) Approximating curve generating device
JP2001229407A (en) Device and method for model generation for numerical analysis, and storage medium
CN114019911A (en) Curve fitting method based on speed planning
JPH03245209A (en) Teaching method and control method for continuous route of robot
CN112068487A (en) Interpolation control method, interpolation control device and readable storage medium
CN117601135B (en) Intelligent wall building robot posture adjustment method and system
KR20020085716A (en) Method for converting numerical code in computer numerical control apparatus
JPH06180724A (en) Approximate transformation device from parametric curve group to b-spline curve group
JPH07303010A (en) Apparatus and method for synthesizing sine-wave signal

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071101

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20081101

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20081101

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20091101

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20091101

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20101101

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20111101

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20121101

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20131101

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees