WO1990004818A1 - Spline interpolation system - Google Patents

Spline interpolation system Download PDF

Info

Publication number
WO1990004818A1
WO1990004818A1 PCT/JP1989/001001 JP8901001W WO9004818A1 WO 1990004818 A1 WO1990004818 A1 WO 1990004818A1 JP 8901001 W JP8901001 W JP 8901001W WO 9004818 A1 WO9004818 A1 WO 9004818A1
Authority
WO
WIPO (PCT)
Prior art keywords
point
points
spline curve
cubic
spline
Prior art date
Application number
PCT/JP1989/001001
Other languages
English (en)
French (fr)
Inventor
Hideaki Kawamura
Takao Sasaki
Toshiaki Otsuki
Original Assignee
Fanuc Ltd
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 Ltd filed Critical Fanuc Ltd
Publication of WO1990004818A1 publication Critical patent/WO1990004818A1/ja

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/41Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
    • G05B19/4103Digital interpolation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34145Bezier interpolation, spline

Definitions

  • the present invention relates to a spline interpolation system, and more particularly to a spline interpolation system for approximately interpolating a spline curve from a predetermined point in a given point sequence.
  • P (t) K 4 t 3 + K 3 t 2 + K 2 t + K I (where P (t) is a vector representing a position and K 4 , K 3 , K 2 , K, is the coefficient vector. )
  • the present invention has been made in view of such a point, and an object of the present invention is to provide a spline interpolation method for approximately interpolating a spline curve from a predetermined point in a given sequence of points. .
  • a first derivative vector is obtained from a predetermined number of points surrounding the starting point, and coordinate values of the predetermined point including the starting point are obtained. From the end point condition of the starting point and the first derivative vector, a cubic equation between the starting point and the next point is obtained, and a spline curve between the starting point and the point following the starting point is obtained.
  • a spline interpolation method that specializes in obtaining a cubic spline curve by sequentially adding a new next point and calculating a cubic equation between the points,
  • a cubic spline curve is calculated based on the first predetermined number of points from the start point, a new point is added instead of the first point, and the cubic spline
  • the spline interpolation is performed by obtaining the sine curve and sequentially obtaining the spline curve between the points.
  • Figure 1 shows an example of a spline curve.
  • FIG. 2 is a flowchart of a process for obtaining a spline curve according to the present invention.
  • FIG. 3 is a block diagram of a numerical controller for implementing the present invention
  • Fig. 4 shows the structure of matrix [A].
  • Fig. 5 shows the configuration of Matrix [B].
  • FIG. 6 shows the configuration of another matrix [A]
  • Fig. 7 shows the configuration of another matrix [B]
  • Fig. 8 shows the configuration of matrix [A].
  • ] A diagram showing the general configuration of 1
  • FIG. 9 is a diagram showing a specific example of the matrix [ ⁇ ⁇ ] — 1
  • FIG. 10 is a diagram showing a specific example of the other matrix [ ⁇ ] — ' It is a figure showing an example.
  • a practical spline curve interpolation can be performed by the following method.
  • Figure 1 shows the point sequence to be spline-interpolated and the spline curve.
  • Points P L are a sequence of points, where P, is the start point, P L is the end point, and P L + 1 + is an auxiliary point for performing interpolation near the end point PL.
  • P, ( ⁇ P 4 (I ) is the first derivative vector of each point, and SC is the spline curve to be obtained.
  • the first derivative vector at each point of the cubic spline curve passing through the sequence of all points P, Pn (n points) is generally calculated as follows.
  • the cubic equation that forms the spline curve is generally
  • ⁇ (t) is the position base-vector that varies parameters t, K 4, K 3, K 2, ⁇ , is the coefficient base click preparative Le.
  • the parameter t is 0 ⁇ t ⁇ l.
  • the first derivative vector P (1) is expressed as follows.
  • the second derivative vector at the end point (P n ) is zero.
  • the matrix [A] has n rows and X n columns as shown in FIG.
  • the matrix [B] has n rows and 1 column, as shown in FIG.
  • [P (1) ] can be obtained.
  • the matrix [A] 1 is a matrix of n rows x n columns ⁇ O 0
  • bi is the i-th element of the matrix [B]. From this, P i ) can be obtained without using all the elements of [B], that is, without requiring all the point sequences.
  • the spline curve according to the present method makes it possible to obtain a spline curve having no practical problem without diffusing an error from a spline curve theoretically obtained from a given sequence of points.
  • FIG. 2 shows a flowchart of the process of the present invention.
  • the numeral following S indicates the step number.
  • [S1] i is set to 1.
  • FIG. 3 shows a hardware configuration of a numerical controller (CNC) for implementing the present invention.
  • 11 is the processor that controls the whole
  • 12 is the ROM that stores the control program for calculating the spline curve
  • 13 is the intermediate data of the points on the spline curve.
  • the RAM 14 is a non-volatile memory in which the obtained spline curve, machining program, parameters, and the like are stored.
  • 1 4a is a machining program o
  • Reference numeral 15 denotes a PMC (Programmable Machine-Controller) which receives commands for the M function, T function, etc., converts them into signals for controlling machine tools, and outputs the signals.
  • the M function is processed by the sequence program 15a and then output from the input / output circuit to the control circuit on the machine side.
  • a display control circuit 16 converts a digital signal into a display signal.
  • 16a is a display device, and a CRT, a liquid crystal display device and the like are used.
  • 17 is a keyboard used to input various data.
  • 18 is a position control circuit for controlling the servo motor
  • 19 is a servo amplifier for controlling the speed of the servo motor
  • 20 is a servo motor
  • 21 is a tacho generator for speed feedback
  • 2 is position detection.
  • a pulse coder, an optical scale, etc. are used. These elements are required for the number of axes, but only one axis is described here.
  • Reference numeral 23 denotes an input / output circuit for exchanging digital signals with the outside.
  • a tool selection signal (T signal) for controlling tool change is also output to the machine-side control circuit.
  • Reference numeral 24 denotes a manual pulse generator that moves each axis digitally.
  • a single processor is used.
  • a multiprocessor can be configured by providing a processor that controls the entire system and a calculation processor for obtaining a spline curve.
  • a coprocessor or the like can be added to increase the calculation speed.
  • the spline interpolation method of the present invention can be applied using an automatic program creation device other than the numerical control device.o
  • a cubic spline curve between points is obtained sequentially from a fixed number of points in a given point sequence, so that even if there are many points to be interpolated, A practical spline curve can be obtained in a short time.
  • the spline curve can be interpolated without giving the condition of the first derivative vector of the end point, ie, the start point.

Description

明 加
スプライ ン補間方式 技 術 分 野
本発明はスプラィ ン補間方式に関し、 特に与えられた点列 の内の所定の点から近似的にスプラィ ン曲線を補間するスプ ラィ ン補間方式に闋する。 背 景 技 術
与えられた点列を滑らかな曲線で補間する方法と して、 3 次スプライ ン曲線で補間する方法が広く採用されている。 従来のスプラィ ン補間は次のような方法で行っていた。 ( i a ) 指令された全点列を'読み込む。
( ii a ) 全点列データを含む連立方程式を作成し、 それを解 く ことによって、 各点における 1次微分べク トルを求める。 これは後述のマ ト リ ッ クス式の逆マ ト リ ッ クスを.求めること によって行う。
(iii a ) 上記によって計算された始点における 1次微分べク トルと第 2点の 1次微分べク トルおよび与えられた始点と第 2点の位置を条件として始点と第 2点を結ぶ次のような 3次 式を求め、 この式のパラ メ ータ tを 0から 1へ変化させなが ら計算を行い位置を求め補間を行う。
P ( t ) =K4 t 3 +K3 t 2 +K2 t +K I (ここで、 P ( t ) は位置を表すべ ト クルであり、 K 4 、 K 3 、 K 2 、 K , は係数べク トルである。 )
( iv a ) 同様に第 2点と第 3点を結ぶ 3次式を求め、 補間を 行う。
また、 別の方法として、
( i b ) 指令された全点列を読み込む。
( ii b ) 全点列データを含む連立方程式を作成し、 それを解 く ことによって、 始点における 1次微分べク トルと第 2点に おける 1次微分ぺク トルを求め、 それらと始点および第 2点 の位置から始点における 2次微分べク トルを求める。
( iii b ) 上記によって計算された始点における 1次微分べク トルと 2次微分べク トルを端点条件として始点と第 2点を結 ぶ上記同様の 3次式を求め、 この式のパラメ ータ tを 0から 1へ変化させながら計算を行い位置を求め補間を行う。
( iv b ) 上記によって'作成された 3次式の第 2点 ίこおける 1 次微分べク トルと 2次微分べク トルを端点条件として第 2点 と第 3点を結ぶ 3次式を求め、 同様にその式のパラメ ータ t を 0から 1へ変化させながら計算を行い位置を求め補間を行 う。
このような手法により、 .第 3点と第 4点、 第 4点と第 5点 というように次々と繰り返すことにより、 指令された全ての 点列に対して 3次式の補間を行うことにより、 全点列に対す るスプラ ィ ン補間を行う。
ここで、 上記の方法では、 全ての指令点列を読み込み、 計 算をする必要があるため、 次の問題があった。
( a ) 無制限に指令点数を増やすことができない。 ( b ) 指令点数が多いとマ ト リ ッ タス計算が膨大なものにな り、 多く のメ モ リ容量と計算時間を必要とする。
( c ) マ ト リ ッ クス計算において精度の高い計算を行わない と後の指令点において不必要にスプラィ ン曲線が指令点から 離れてしまう。 (発散、 発振する。 )
( d ) 上記のマ ト リ ッ クス計算をプログラマ側が行う場合は、 指令点が 4点以上だと事実上人手では不可能であり、 別の計 算装置が必要である。 発 明 の 開 示
本発明はこのような点に鑑みてなされたものであり、 与え られた点列の内の所定の点から近似的にスプラィ ン曲線を補 間するスプライ ン補間方式を提供することを目的とする。
' 本発明では上記課題を解決するために、
与えられた点を、 3次スプラ イ ン曲線で補間するスプライ ン補間方式において、 始点を舍む所定数の点から、 一次微分 べク ト ルを求め、 前記始点を含む所定の点の座標値、 始点の 端点条件及び前記一次微分べク トルから前記始点と次の点間 の 3次式を求めて、 前記始点と前記始点に続く点間のスプラ イ ン曲線を求め、 前記始点の変わりに新しい次の点を加えて、 順次点間の 3次式を求めて、 3次スプライ ン曲線を求めるこ とを特徵とするスプラィ ン補間方式が、
提供される。
始点から最初の所定の点数によ つて、 3次スプラ イ ン曲線 を求め、 最初の点の変わりに新しい点を追加し、 3次スプラ ィ ン曲線を求め、 順次点間のスプラィ ン曲線を求めていく こ とにより、 スプライ ン補間を行う。
これにより、 全点列をあらかじめすべて読み込むことなく 前から順に読み込みながら実用上問題のないスプライ ン補間 が可能になる。 図 面 の 簡 単 な 説 明 第 1図はスプライ ン曲線の例を示す図、
第 2図は本発明のスプラィ ン曲線を求めるための処理のフ π —チヤ 一 卜、
第 3図は本発明を実施するための数値制御装置のプロ ッ ク 図、
第 4図はマ ト リ ッ クス 〔A〕 の構成を示す図、
第 5図はマ リ ッ クス 〔B〕 の構成を示す図、
第 6図は他のマ ト リ ッ クス 〔A〕 の構成を示す図、 第 7図は他のマ ト リ ックス 〔 B〕 の構成を示す図、 第 8図はマ ト リ ッ クス 〔A〕 — 1の一般構成を示す図、 第 9図はマ ト リ ッ クス 〔·Α〕 — 1の具体例を示す図、 第 1 0図は他のマ ト リ ックス 〔 Α〕 — 'の具体例を示す図で ある。 発明を実施するための最良の形態 以下、 本発明の一実施例を図面に基づいて説明する。 『本発明の特徵 J 最初に、 本発明の特徴を述べると、 上記 ( ii a ) の従来の スプラ イ ン曲線の求め方における 「全点列から各点における 1次微分べク トルを求める」 ところにおいて、 各点における 1次微分べク トルには全点列の内その点により近い点がより 大きな影響を与えることに着目し、 全点列の内のその点によ り近い点列から近似的にその点の 1次微分べク トルを求め、 3次式を作成してスプラ イ ン補間を行う ことである。
また、 始点において与えられる条件としては例えば次のよ うな方式によつて、 実際的なスプラィ ン曲線補間ができる。
( a ) 任意の点列のみ与えられており、 始点での 2次微分べ ク トルは 0とする。
( ) 任意の点列と始点での 1次微分べク トルが与えられて いる。
「本発明の原理」
次に本発明の一般的な原理について述べる。
第 1図にスプライ ン補間すべき点列とスプラィ ン曲線を示 す。 点 〜PL は点列であり、 点 P , は始点、 点 P L は終 点、 点 P L+ 1 + は終点 P L 近傍の補間を行うための 補助点である。 P , ( 〜P 4 (I) は各点の 1次微分べク ト ル、 S Cは求めるスプライ ン曲線である。
( 1 ) 1次微分べク トル
全点列 P , 〜 P n ( n点) を通過する 3次スプラィ ン曲線 の各点での 1次微分べク ト ルは一般に次のようにして計算す る o スプライ ン曲線を構成する 3次式は一般
P ( t ) =K + Κ + Κ + Κ
( 1 ) である。 ただし、 Ρ ( t ) はパラメ ータ tによって変化する 位置べク トルであり、 K4 、 K3 、 K2 、 κ , は係数べク ト ルである。 つまり、 ΧΥΖ座標ならば、 P ( t ) = ( X ( t ) , y ( t ) , z ( t ) ) であり、 Ki = (Kin, K , K i z) (ここで、 i = 1, 2, 3 , 4 ) である。 また、 ノ、。ラ メータ tは 0≤ t≤ lとする。
従って、 1次微分べク トル P (1)は次のように表される。
P C1) ( t ) = 3 K4 t 2 + 2 K3 t +K2
( 2 ) この時、 各点での 1次微分べク トル 〔P u) 〕 は次の方程式 で表される。 ' ' '
〔A〕 CP Cl) = CB] ( 3 ) ここで、 1次微分べク トルのマ ト リ ッ クス 〔P m 〕 は、
CP C I ) 〕
Figure imgf000008_0001
の n行 x 1列のマ ト リ ッ クスであり、 P , い) 〜pn [') は P , 〜 P n における 1次微分べク ト ルである。
この時、 マ ト リ ッ クス 〔 A〕 及び 〔B〕 は端点条件によつ て次のようになることが一般に知られている。
( i ) 端点条件 1の場合
( a ) 始点 ( P , ) での 2次微分べク トルが 0である。
( b ) 終点 (P n ) での 2次微分べク トルが 0である。 この時、 マ ト リ ッ クス 〔 A〕 は第 4図に示すように、 n行 X n列である。 また、 マ ト リ ッ クス 〔 B〕 は第 5図に示すよ うに、 n行 X 1列である。
( ϋ ) 端点条件 2の場合
( a ) 始点 ( P , ) における 1次微分ベク トル P ' } が 与えられている。
( b ) 終点 (P n ) での 2次微分べク トルが 0である。 この時、 マ ト リ ッ クス 〔A〕 は第 6図に示すように n行 X n列であり、 マ ト リ ッ クス 〔B〕 は第 7図に示すように n行 X 1列である。
( 3式) 力、ら、
〔 P ( 'リ = 〔 A〕 - 1 〔B〕
と して、 〔P ( 1 ) 〕 を求めることができる。 マ ト リ ッ クス 〔 A〕 1 は第 8図に表すように、 n行 X n列のマ ト リ ッ ク ス ぁ O 0
このとき、 第 8図に示すマ ト リ ッ クス 〔 A〕 —'の要素の絶 対値は対角要素 ( a kk k = 1〜! 1 ) が大き く、 それか ら離れるに従って小さ く なる。 また、 この行列は端点条件に よって固定の行列である。 具体的には、 端点条件 1で nが 5 0の場合、 第 9図の ( 5 ) 式に示すマ ト リ ッ クスとなる。 また、 端点条件 2で nが 5 0の場合第 1 0図の ( 6 ) 式に示すマ ト リ ッ クスとなる。
Γ 1次微分べク トルの近似 J
上記の所論から、 1次微分ベク トル P i C1)
P i t,} = a i, i-k * b i_k ( i - k≥ 1 )
+ a - k + I * b k + 1
+ a i, i * b (対角項)
+ a i, i + k - I 水 b i + k - I
+ a iT i + k * b i + k ( i + k≤ n )
( 7 ) と近似することができる。 (kが大きければ近似の精度はよ くなる。 )
ここで、 b i はマ ト リ ッ クス 〔B〕 の第 i要素である。 こ のことから、 〔B〕 の全ての要素を使用することなく、 つま り、 全ての点列を必要とすることなく P i ) を求めること ができる。
Γ 3次式の作成と捕間 J
P i における 1次微分べク トル P i (|) が得られれば、 各 点 P i と P i ") を ( 1 ) 式と ( 2 ) 式に適用することによ り次の条件式が得られる。 P i = P i . ( 0 ) = K i, ( 8 )
P i (I) = P i (I) ( 0 ) = K i 2 ( 9 ) P i +1 = P i ( 1 )
= K i 4+ K i3+ K i2+ K i l ( 1 0 ) P i + 1 c') = P i ( 1 )
= 3 K i 4 + 2 K i3+ K i2 ( 1 1 ) (ここで、 P i ( 0 ) , P i ( 1 ) は ( 1 ) 式の P ( t ) を P i から P i + 1 に適用した場合の P i ( t ) において t = 0 と t = 1の時の値であり、 K I 4、 K I 3、 K I 2、 K Hは P i ( t ) における t 3 、 t 2 、 t 1 、 t ° の係数。 また、 P i c, ( 0 ) 、 P i (,) ( 1 ) は P i ( t ) の 1次微分べ ク ト ルの t = 0 と t = 1の時の値。 )
これらの 4式から 4個の係数 K I 4、 K I 3、 K I 2、 Κ を求 めることができる。
このようにして P i ( t ) を次々と求めて接続していく こ とによりスプライ ン曲線を作成する。
この方式によって 3次式を求めても、 その 3次式から得ら れる P i (1) および P i (2) の理論値に対する誤差は累積し ないので、 ( 7 ) 式の kを適当にとることによって誤差を十 分小さ くできる。 そのため、 本方式によるスプライ ン曲線に よって、 与えられた点列から理論的に求められるスプライ ン 曲線との誤差が拡散することなく実用上問題のないスプラィ ン曲線を得ることができる。
『具体例 J 以下に、 本方式の 1つの具体例として、 ある点 P i まで補 間が前進するとその次の点における 1次微分べク トル P i + 1
C1) を求めることによってスプライ ン曲線を作成していく場 合を示す。
Γ 1蕃目の 3次式の作成 J
先ず 1審目の 3次式を作成し補間する。
( i P i P m (m+ 1個の点、 mは定数であり、 m + 1が読み込むバッフ ァ数) を読み込む。
(ii) P t 以降無限点あると考えて (7) 式から P2 c,) を 求める。
( a ) 始点において 2次微分ベク ト ル P , C2) = 0の場合- P . 以降無 点あると考えた場合のマ ト リ ックスも ( 5 ) 式 のマ ト リ ッ クスにほぼ等しいため、 ( 5 ) 式のマ ト リ ックス の 2行目を用い、 次のように P 2 (1) を計算する。
Ρ2 =- 0.30940*10° * 3 (Ρ 2 — Ρ , )
+ 0.30940*10° * 3 (Ρ 3 - P i )
(対角項)
一 0.82904*10 -1* 3 (P 4 - P 2 )
+ 0.22214*10 -1* 3 (P 5 - P 3 )
+ a 2, m * 3 ( P m+1 - P )
( b ) 始点において 1次微分べク トル P t (1) が与えられ ている場合、 P , 以降無限点あると考えた場合のマ ト リ ッ ク スも ( 6 ) 式のマ ト リ ッ クスにほぼ等しいため、 ( 6 ) 式の マ ト リ ッ クスの 2行目を用い、 次のように P 2 (') を計算す な ο
P 2 (') =— 0.26795*10° * P , (1)
+ 0.26795*10° * 3 ( P 3 - P . )
(対角項)
- 0.71797*10 3 ( P 4 — P 2 )
+ 0.19238*10 -' * 3 ( P 5 - P 3 )
+ a 2, m * 3 ( P m+i - P m -. )
( iii ) P . = P ( 0 ) = K . ( 1 2 ) 端点条件によって、 次の ( a ) または ( b ) の条件を使用 する。
( a ) 始点において 2次微分べク トル P , (2) = 0の場合 P , (2) = 0つまり 2 K 3 = 0 ( 1 3 ) - 1 ( b ) 始点において 1次微分ベク ト ル P , (1) が与えられ ている場合
P , (') = p (リ ( 0 ) = K 2 ( 1 3 ) - 2
Ρ 2 = Ρ ( 1 ) = Κ 4 + Κ 3 + Κ 2 + Κ , ( 1 4 ) Ρ 2 (') = Ρ い) ( 1 )
= 3 Κ 4 + 2 Κ 3 + Κ 2 ( 1 5 ) これら ( 1 2 ) , ( 1 3 ) , ( 1 4 ) , ( 1 5 ) の 4個の 条件式から係数 Κ 4 、 Κ 3 、 Κ 2 、 Κ , を求め、 3次式を作 成し補間する。 「 2審目以降の 3次式の作成 J 次に 2蕃目以降 ( ί審目 : i >= 2 ) の 3次式を作成し補 間する。
( i ) P i + m を読み込む。 (P i 〜 P i + m の m+ 1点を読み 込んだ状態となる。 )
( ii ) P i 以降無限点与えられているスプラィ ン曲線を考え. この曲線の第 2点目の近似接線ベク トル P i + l (n を (7 ) 式から計算する。 P ί 以降無限点あると考えた場合のマ ト リ ックスも ( 6 ) 式のマ ト リ ックスにほぼ等しいため、 具体的 には ( 6 ) 式のマ ト リ ックスの 2行目を用いて次のように Ρ i+i Cl) を計算する。
P i +1 (1) =— 0.26795*10°* P i (1)
+ 0.26795*10° * 3 (P i + 2 -P i )
(対角項) 一 0.71797*10 -1 * 3 ( P i + 3 — P i + 1 ) + 0.19238*10 -1* 3 (P i + 4 — P i + 2 )
+ a 2, m 氺 3 ( P i + m — P i + m - 2 ノ ( iii ) P i = P i ( 0 ) =K ,
P i c,) = P i C1) (0 ) =K2
(P i C1) は P i までのスプライ ン曲線で求まつてい る。 )
P i + 1 =P i ( 1 )
432 + Κ ,
Ρ i +i+, C1) ( 1 )
= 3 Κ 4 + 2 Κ 3 + Κ2 これらの条件式から係数 κ4 、 Κ3 、 Κ2 、 Κ , を求め、
3次式を作成し補間する。
( 3 ) 終点 に達した時は補助点 、 P L+ 1 、 · · · 、 P L + m -, を作りながら ( 2 ) の手順を繰り返し、 P Lm 〜 P L 間の 3次式を順次作成する。
ただし、
P L+. - P L = P L + 2 - P L + . =
- P L + m -, - P m - 2
= P L - P L - ,
とする。
「フローチャー ト」
第 2図に本発明の処理のフローチャー トを示す。 図におい て、 Sに続く数値はステップ番号を示す。
〔 S 1〕 i を 1 にセッ トする。
〔 S 2〕 P i 〜 P i +m の点を読み込む。 読み込む点が終点を 越えているときは、 補助点を作成して m+ 1個の点にする。 〔 S 3〕 i = 1すなわち始点なら S 4へ、 始点以外なら S 5 へいく。
[ S 4 ] 始点を含めた条件で 3次式を作成する。
〔 S 5〕 始点を含まない条件で 3次式を作成する。
〔 S 6〕 作成された 3次式の係数を求め、 点間を 3次式で補 間する。
〔 S 7〕 i を + 1 して、 次の点間の 3次式の補間に移る。
〔 S 8〕 P i が終点かしらべ、 終点でなければ、 S 2へ戻り - 補間を続行する。
Γハードゥエァの構成 J
第 3図に本発明を実施するための数値制御装置 (C N C ) のハードウヱァの構成を示す。 図において、 1 1 は全体を制 御するプロセッサ、 1 2はスプライ ン曲線を計算するコ ン ト πールプログラム等が記憶されている R O M、 1 3 はスプラ ィ ン曲線の点の中間データ等が格納される R A M、 1 4は求 められたスプライ ン曲線、 加工プログラム、 パラ メ ータ等が 記憶されている不揮発性メ モ リである。 1 4 aは加工プログ フ ム ある o
1 5 は P M C (プログラマブル · マシン - コ ン ト ローラ) であり、 M機能、 T機能等の指令を受けて、 これらを工作機 械を制御する信号に変換して出力する。 M機能等はシーゲン スプログラム 1 5 aで処理された後に入出力回路から機械側 の制御回路へ出力される。 1 6 は表示制御回路であり、 ディ ジタルな信号を表示信号に変換する。 1 6 aは表示装置であ. り、 C R T、 液晶表示装置等が使用される。 1 7 はキーボー ドであり、 各種のデータを入力するのに使用される。
1 8はサーボモータを制御するための位置制御回路、 1 9 はサーボモータの速度制御を行うためのサーボアンプ、 2 0 はサーボモータ、 2 1 は速度帰還のためのタコジェネレータ、 2 は位置検出器であり、 パルスコーダ、 光学スケール等が 使用される。 これらの要素は軸数分だけ必要であるが、 ここ では 1軸分のみ記載してある。 2 3は外部とのディ ジタル信号の授受を行う入出力回路で あり、 工具交換を制御する工具選択信号 (T信号) 等も こ こ から機械側制御回路へ出力される。 2 4 は各軸をディ ジタル に移動させる手動パルス発生器である。
上記の構成ではプロセッサは 1個で構成したが、 全体を制 御するプロセ ッサとスプライ ン曲線を求めるための溃算用プ 口セッサを設けて、 マルチプロセッサを構成することもでき る。 また、 演算速度を上げるために、 コ · プロセッサ等を追 加することもできる。
さ らに、 数値制御装置以外にも自動プログラム作成装置を 使用して本発明のスプライ ン補間方式を適用することもでき o
以上説明したように本発明では、 与えられた点列の一定.数 の点から順次、 点間の 3次スプラ イ ン曲線を めるようにし たので、 補間すべき点が多く なつても、 短時間で実用的なス プライ ン曲線を得ることができる。
また、 端点条件も 2次微分べク トルが 0であるとすること により、 端点つまり始点の 1次微分べク トルの条件を与えな くてもスプライ ン曲線の補間ができる。
さらに、 終点の後に補助点を設けることにより、 終点近傍 でも滑らかなスプライ ン曲線を得ることができる。

Claims

請 求 の 範 囲
1 . 与えられた点を、 3次スプライ ン曲線で補間するスプ ラィ ン補間方式において、
始点を含む所定数の点から、 一次微分べク トルを求め、 前記始点を含む所定の点の座標値、 始点の端点条件及び前 記一次微分べク トルから前記始点と次の点間の 3次式を求め て、 前記始点と前記始点に続く点間のスプラィ ン曲線を求め、 前記始点の代わりに新しい次の点を加えて、 順次点間の 3 次式を求めて、
3次スプライ ン曲線を求めることを特徴とするスプラィ ン 補間方式。
2 . 前記端点条件は始点及び 点の 2次微分べク ト ルが 0 としてスプライ ン曲線を補間することを特徵とする特許請求 の範囲第 1項記載のスプラ ィ ン補間方式。
3 . 前記端点条件は始点での 1次微分ベク ト ルを与え、 終 点の 2次微分べク ト ルを 0 として、 スプライ ン曲線を補間す ることを特徵とする特許請求の範囲第 1項記載のスプラィ ン 補間方式。
4 . 終点の後に補助点を設けて、 終点近傍のスプラ イ ン曲 線を求めることを特徵とする特許請求の範囲第 1項記載のス プライ ン補間方式。
PCT/JP1989/001001 1988-10-24 1989-09-29 Spline interpolation system WO1990004818A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP63/267827 1988-10-24
JP63267827A JPH02113305A (ja) 1988-10-24 1988-10-24 スプライン補間方法

Publications (1)

Publication Number Publication Date
WO1990004818A1 true WO1990004818A1 (en) 1990-05-03

Family

ID=17450166

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1989/001001 WO1990004818A1 (en) 1988-10-24 1989-09-29 Spline interpolation system

Country Status (4)

Country Link
US (1) US5140236A (ja)
EP (1) EP0394474A4 (ja)
JP (1) JPH02113305A (ja)
WO (1) WO1990004818A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0490431A1 (en) * 1990-12-10 1992-06-17 GRUNDIG Aktiengesellschaft Machining apparatus

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5198161A (en) * 1990-03-07 1993-03-30 Kao Corporation Parison thickness control method
GB9013744D0 (en) * 1990-06-20 1990-08-08 Renishaw Plc Measurement of a workpiece
US5229698A (en) * 1990-08-06 1993-07-20 Cincinnati Milacron Inc. Method and apparatus for sub-span interpolation
JP2718260B2 (ja) * 1990-11-08 1998-02-25 三菱電機株式会社 数値制御装置
DE59108037D1 (de) * 1991-09-06 1996-08-29 Siemens Ag Verfahren zum Auslösen von positionsbezogenen Schaltvorgängen während eines von einem Roboter oder einer Werkzeugmaschine ausgeführten Bearbeitungsvorganges
US5585926A (en) * 1991-12-05 1996-12-17 Minolta Co., Ltd. Document reading apparatus capable of rectifying a picked up image data of documents
DE59306346D1 (de) * 1992-08-13 1997-06-05 Siemens Ag Verfahren zur simulation wenigstens eines bauelementes, dessen kennzeichnende merkmale durch eine menge von wertepaaren beschrieben werden, mittels eines simulators auf einem rechner
JPH06138928A (ja) * 1992-10-26 1994-05-20 Mitsubishi Electric Corp 数値制御装置
GB2278470B (en) * 1993-05-28 1997-12-24 Canon Res Ct Europe Ltd Signal processing methods and apparatus
US5434489A (en) * 1993-07-30 1995-07-18 Fanuc Robotics North America, Inc. Method and system for path planning in cartesian space
US5533841A (en) * 1993-09-10 1996-07-09 International Business Machines Corporation Apparatus and method of drilling
US5391024A (en) * 1994-03-31 1995-02-21 Northern Research & Engineering Corporation Method for multi-criteria flank milling of ruled surfaces
JP3396342B2 (ja) * 1995-07-17 2003-04-14 三菱電機株式会社 スプライン補間機能を有する数値制御装置
US5726896A (en) * 1995-08-30 1998-03-10 University Of Utah Research Foundation Method and system for spline interpolation, and their use in CNC
JP3476287B2 (ja) * 1995-08-31 2003-12-10 ファナック株式会社 ロボットの接続動作時に速度制御を行なうための曲線補間方法
DE19600882C1 (de) * 1996-01-12 1997-09-04 Heesemann Juergen Verfahren zur dezentralen Steuerung eines Motorantriebs
JPH10254526A (ja) * 1997-03-13 1998-09-25 Toshiba Mach Co Ltd 数値制御装置
JPH11149306A (ja) 1997-11-14 1999-06-02 Fanuc Ltd 加工機の制御装置
JP3015875B2 (ja) * 1998-05-19 2000-03-06 工業技術院長 自動車運転時の車線逸脱検出方法及び検出装置
DE19846426A1 (de) * 1998-10-08 2000-04-13 Open Mind Software Technologie Verfahren zum Steuern der Arbeitsbewegung eines Werkzeugs zur materialabtragenden Bearbeitung eines Materialblocks
US6922606B1 (en) 1999-11-19 2005-07-26 Siemens Energy & Automation, Inc. Apparatus and method for smooth cornering in a motion control system
DE19960965A1 (de) * 1999-12-17 2001-07-05 Bosch Gmbh Robert Verfahren zur Erzeugung von Sollwerten für eine numerisch gesteuerte Maschine
DE10065422A1 (de) * 2000-12-27 2002-07-18 Siemens Ag Verfahren und Steuerung zur Erstellung und Optimierung flexibler, hochwertiger Kurvenscheibenfunktionen direkt über das Steuerungsprogramm / Anwenderprogramm
US6904394B2 (en) 2001-09-07 2005-06-07 Delta Search Labs, Inc. Nurbs based CNC machine process using boolean substraction
JP3904993B2 (ja) 2002-08-16 2007-04-11 ファナック株式会社 曲線補間方法
JP4800873B2 (ja) 2006-08-04 2011-10-26 オークマ株式会社 近似点群データからの近似曲線生成プログラム及び方法
US8093020B2 (en) * 2007-12-28 2012-01-10 Abbott Laboratories Allelic discrimination analysis using an efficiency related value (EFR)
CN101770220B (zh) * 2008-12-30 2012-06-27 台达电子工业股份有限公司 数值控制系统的命令回算计算方法
JP5326015B2 (ja) 2012-02-20 2013-10-30 ファナック株式会社 加工曲線作成機能を有する数値制御装置
DE102012012184A1 (de) 2012-06-19 2013-12-19 Kuka Roboter Gmbh Vorgabe synchronisierter Roboterbewegungen
CN103529754B (zh) * 2013-10-12 2016-09-14 杭州电子科技大学 一种任意曲线旋转插补方法
JP2015100867A (ja) * 2013-11-22 2015-06-04 トヨタ自動車株式会社 ロボットの3次元軌道生成方法
JP6386511B2 (ja) * 2016-10-28 2018-09-05 ファナック株式会社 工具経路生成装置、工具経路生成方法及び工具経路生成プログラム
US10310473B1 (en) * 2017-11-30 2019-06-04 Mitsubishi Electric Corporation Systems and methods for path command generation
CN114746221A (zh) * 2019-12-04 2022-07-12 Abb瑞士股份有限公司 控制工业致动器、控制系统和致动器系统的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS647207A (en) * 1987-06-30 1989-01-11 Fanuc Ltd Spline interpolating system
JPH01255010A (ja) * 1988-04-05 1989-10-11 Mitsubishi Electric Corp 曲線補間装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1561661A (en) * 1977-08-05 1980-02-27 Hall Automation Ltd Data storage system
DE3277087D1 (en) * 1981-09-24 1987-10-01 Hitachi Ltd Control system for robot hand
JPS5927307A (ja) * 1982-08-04 1984-02-13 Hitachi Ltd 経路制御方法及び装置
JPS59106007A (ja) * 1982-12-10 1984-06-19 Toyota Central Res & Dev Lab Inc 多関節型ロボツトの軌跡制御装置
JPS60262213A (ja) * 1984-06-06 1985-12-25 Nippei Toyama Corp 産業用ロボツトの運動制御方法
JPS60262214A (ja) * 1984-06-06 1985-12-25 Nippei Toyama Corp 加工中心経路の補正方法
US4663726A (en) * 1985-04-15 1987-05-05 General Electric Co. Robot control utilizing cubic spline interpolation
JPS61281305A (ja) * 1985-06-06 1986-12-11 Toyota Motor Corp 多関節ロボツト制御装置
US4823279A (en) * 1986-02-27 1989-04-18 Unimation, Inc. Coordinate conversion system and method for controlling an industrial robot
JPH0658603B2 (ja) * 1986-05-30 1994-08-03 株式会社安川電機 自動機械における軌道の補間方法
US4794540A (en) * 1986-06-18 1988-12-27 Mts Systems Corporation Iterative spline function controlled positioning mechanism
JPH0782554B2 (ja) * 1986-09-10 1995-09-06 フアナツク株式会社 曲面加工方法
US4797835A (en) * 1986-12-16 1989-01-10 Nissan Motor Company, Limited Model follower control apparatus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS647207A (en) * 1987-06-30 1989-01-11 Fanuc Ltd Spline interpolating system
JPH01255010A (ja) * 1988-04-05 1989-10-11 Mitsubishi Electric Corp 曲線補間装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0490431A1 (en) * 1990-12-10 1992-06-17 GRUNDIG Aktiengesellschaft Machining apparatus

Also Published As

Publication number Publication date
EP0394474A4 (en) 1992-06-10
US5140236A (en) 1992-08-18
EP0394474A1 (en) 1990-10-31
JPH02113305A (ja) 1990-04-25

Similar Documents

Publication Publication Date Title
WO1990004818A1 (en) Spline interpolation system
EP0285660B1 (en) Curve producing method
JP3557213B2 (ja) 改良された補償機能付送信機
JP3396342B2 (ja) スプライン補間機能を有する数値制御装置
KR100217524B1 (ko) 자유 곡선 보간 방법
EP0553356B1 (en) Method and apparatus for prediction repetition control of servo motor
US4587608A (en) Method of automatically creating numerical control data in one of a plurality of data formats
EP1720085B1 (en) Curve interpolating method
JP3904993B2 (ja) 曲線補間方法
JP4199103B2 (ja) 数値制御装置及び数値制御方法
EP0312544A4 (en) Iterative spline function controlled positioning mechanism
WO1993019894A1 (en) Machining condition generation method for numerically controlled machine tool
JPH10228306A (ja) 数値制御装置における自由曲線補間方法
JP2000353006A (ja) 数値制御装置
US5155424A (en) Numerical control method
US5321346A (en) NC data creation method
JP2000056822A (ja) 軌跡制御装置
JPH03175502A (ja) 間引き学習制御方式
JP2806933B2 (ja) 工具補正方法
US5739656A (en) Numerical controlling method with mirror image function
JPH01217607A (ja) スプライン曲線生成方法
WO1991007707A1 (en) Nc program preparation method of interactive numeric controller or automatic programming apparatus
JPH07120180B2 (ja) ポケット加工用ncデ−タ作成方式
JPS63271505A (ja) 数値制御装置における位置補間方法
Lee A receding time horizon optimal feedrate control with cross-coupled structure for multiaxial systems

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): DE FR GB

WWE Wipo information: entry into national phase

Ref document number: 1989910928

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1989910928

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1989910928

Country of ref document: EP