JPH01217608A - スプライン曲線生成方法 - Google Patents

スプライン曲線生成方法

Info

Publication number
JPH01217608A
JPH01217608A JP4379888A JP4379888A JPH01217608A JP H01217608 A JPH01217608 A JP H01217608A JP 4379888 A JP4379888 A JP 4379888A JP 4379888 A JP4379888 A JP 4379888A JP H01217608 A JPH01217608 A JP H01217608A
Authority
JP
Japan
Prior art keywords
point
curve
spline curve
differential coefficient
order differential
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.)
Pending
Application number
JP4379888A
Other languages
English (en)
Inventor
Hideaki Kawamura
川村 英昭
Takao Sasaki
隆夫 佐々木
Toshiaki Otsuki
俊明 大槻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Priority to JP4379888A priority Critical patent/JPH01217608A/ja
Publication of JPH01217608A publication Critical patent/JPH01217608A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、数値制御装置などにより複数点列のスプライ
ン補間を行なうスプライン曲線生成方法に関する。
(従来の技術) 3次元空間内において与えられる点列を滑らかな曲線で
補間する方法として、スプライン曲線による補間方法が
知られている。これによれば、例えばコンピュータによ
るNCテープの作成に際して、加工形状を滑らかにした
い場合など、簡単に信頼性の高いNCテープが作成でき
る。この場合に、加工形状を指定するための全ての点列
についてのデータを使用してスプライン曲線を決定する
ための演算を行なえば、最も適切なスプライン補間がで
きる。しかし、一般に実行されている3次元のスプライ
ン曲線生成方法では、演算時間や記憶容量の関係から、
全ての点列データの読み込むことはできない。
つまり、加工速度に対応してスプライン曲線を演算する
ことができなくてはならず、また装置の限られたRAM
領域に格納されたデータにより、生成可能な曲線の長さ
が決定される。そこで、例えば特願昭62−23842
2号に示される数値制御装置においては与えられた点を
1点ずつ読み込んでスプライン曲線セグメントを順次決
定し、設定されたスプライン曲線上の単位時間当りの穆
動量を計算していた。
(発明が解決しようとする課題) しかし、このような従来のスプライン曲線生成方法では
、点列の与え方や、初期条件の与え方によっては、許容
範囲を越える振れが生じ、そのため所望の加工形状を得
ることができなくなるおそれがあった。
例えば3次式で近似されるスプライン曲線セグメントの
場合には、始点での1階微分係数と、21it微分係数
とを条件として設定することにより決定されるが、3次
の微分係数が区分的にのみ一定となるため、その後の点
列の設定によっては、その不連続性により振動が生じる
という問題があった。
本発明は、上記課題を解決するためになされたもので、
ある限られた数の点列から生成されるスプライン曲線を
所定の端点条件により接続することによって、演算速度
の問題を解消すると同時に補間精度の低下を防ぐことが
できるスプライン曲線生成方法を提供することを目的と
している。
(課題を解決するための手段) 本発明によれば、3次元空間内で指定された複数の点列
からスプライン曲線を生成するスプライン曲線生成方法
において、前記点列を特定個数の連続する点列からなる
複数の点列ブロックに区分し、隣接する2つの点列ブロ
ックm、(m+t)にまたがる補助曲線Amを決定し、
点列ブロックm毎にその終点Peにおける1階微分係数
をそれに対応する補助曲線Am上の点における1階微分
係数に一致させるとともに、点列ブロックmの始点Pi
における1階微分係数を先行する点列ブロック(m−1
)の終点Peの1階微分係数に一致させることによって
点列ブロックmの端点条件を決定し、この端点条件によ
り各点列ブロック毎に生成される曲線セグメントを接続
することを特徴とするスプライン曲線生成方法を提供で
きる。
(作用) 本発明のスプライン曲線生成方法では、3次元空間内で
指定された複数の点列が、ある限られた個数の点列ブロ
ックに分割され、それぞれのブロックで生成される曲線
セグメントは、隣接する2つの点列ブロックm、(m+
 1 )にまたがる補助曲線Amから決定される終点条
件と、先行する曲線セグメントの終点での1階微分係数
とにより、端点条件が決定される。この端点条件は、ス
プライン曲線をセグメント接続点の近傍に設定される重
複した補助曲線で近似することにより、各点列ブロック
の接続点においても滑らかな曲線により接続される。
(実施例) 以下、本発明の一実施例を図面に従って詳細に説明する
第1図は、1ブロツクの点列が8個の3次元空間内に指
定された点から構成されている場合(n=8)に、生成
されるスプライン曲線#1. #2を示している。スプ
ライン曲線#1.@2は、パラメータtにより、3次の
パラメトリックな表現形式を有する、次のようなベクト
ル方程式で表現される。
P (t ) =j B i ti−’zl ここでP (t) = [x(t)y(t)z(t)]
であり、曲線#1または#2の任意の点の位置ベクトル
、例えばPl、P2・・・をあられしている。またBi
(i=1.2,3.4)はB、i = (bix 、 
biy 、 biz)と表される係数ベクトルである。
第2図は、上記スプライン曲線#1.#2゜・・+、$
m、・・・を生成するための演算フローを示す図である
まずブロック数mを1にして、始点ベクトルP1のパラ
メータtに関する2次導関数であるP1″を零とするよ
うに初期の始点条件を設定するとともに、第1の点列ブ
ロック#1の前半の4個の点P1〜P4についての指令
位置データを読み込む(ステップa)。次に隣接する2
つの点列ブロックm、(m+ 1 )にまたがる補助曲
線Amを決定するために、(n+1)個の指令位置pk
+%〜Pk+7+nについてのデータを読み込む(ステ
ップb)。第1図の場合では、P5〜P15の9点であ
り、ここで生成される補助曲線A1が、スプライン曲線
#1.#2のセグメント接続点の近傍に重複して設定さ
れることになる。なお、k=1+n (m−t)、また
途中で終点指令となったときは、その位置を曲線の終点
とする。
上記補助曲線Amは、指令位置Pk中’  P −に+
 %ヤn2′ での2階微分係数を零とする端点条件により決定される
スプライン曲線セグメントとして決定され、これにより
その中央の座標位置P ktrcでの1階微分係数が演
算される。第1図の場合、補助曲線A1は、第1の点列
ブロック1の中点P5での2階微分係数を零とし、第2
の点列ブロック2の中点P1i5での2階微分係数を零
とする端点条件により生成されるスプライン曲線セグメ
ントで、次のステップdにおいてP9′がスプライン曲
線#1の終点条件とされる。それに基づいてステップd
でスプライン曲線#1が生成される。つまりBi  (
i=t、2,3.4)が決定される。
一般にステップdでのスプライン曲線#mの生成では、
点列ブロックmの始点Piにおける1階微分係数を、先
行する点列ブロック(m−1)について演算された終点
Pk(Pe)の1階微分係数に一致させて始点条件とし
、終点Peにおける1階微分係数を、補助曲線Am上の
点Pk+へにおける1階微分係数に一致させて終点条件
とし、Pk〜Pk中ルの間のスプライン接続が行なわれ
る。スプライン曲線#mが生成された時点で、スプライ
ン曲線#mの終点Pk+^での1階微分係数により次の
点列ブロック(m+1)についての始点条件が構成され
る(ステップe)。その後、ブロック数mを1だけ更新
して(ステップf)、スプライン曲線指令の終点まで、
データが読み込まれていなければ(ステップg)、上記
ステップb〜gを繰り返すことにより、先の曲線#1に
対して次々に接続されるスプライン曲線が生成される。
こうして、スプライン曲線#mは、接続点での1階微分
係数、つまり接線ベクトルを決めるために、補助スプラ
イン曲線Amを生成しており、この補助スプライン曲線
を、先行するスプライン曲線#(m−1)の後半分の点
列データと、次のスプライン曲線#(m+1)の前半分
の点列データとから生成しているのである。つまり端点
条件が、スプライン曲線#mをセグメント接続点Pk十
への近傍に設定される重複した補助曲線Amで近似する
ことにより、各点列ブロック間の接続点においても滑ら
かな曲線により接続されることになる。
ここで1ブロツクの点列を何個の3次元空間の点で構成
するかは任意であり、オペレータがスプライン曲線の生
成にあたフて指令ブロック数nとして読み込むようにす
る。この指令ブロック数nは、通常パラメータ等による
定数として与えられる。
第3図は、本発明のスプライン曲線生成方法により生成
されるスプライン曲線に基づく補間機能を実現する数値
制御装置の一例を示すブロック図である。
図において、CPUIはスプライン曲線を決定する演算
機能を有している。即ち、工作機械の工具移動に関する
必要な補間演算を行なうために、指令位置や速度につい
てのデータがテープリーダ2から読み込まれると、RA
M3等に一旦それを格納する。4′はROM、5は不揮
発性のメモリである。不揮発性のメモリ5は、バブルメ
モリ、あるいはCMO3により構成され、加工に必要な
NCバートプログラムが事前に格納され、オペレータの
指令がキーボード6を介して入力されるとき、CRT7
により表示される。このNCプログラムの実行に際して
、ROM4に格納されているコントロールプログラム等
に基づいて前述の処理フローが実行される。そして、生
成された曲線により補間データが決定され、それにより
各軸の指令パルスをサーボモータ8に出力する。サーボ
モータ8では、タコジェネ9、位置検出器10を有し、
位置制御部11と速度制御部12により所定のIIJa
llがなされている。
以上この発明をある程度詳細にその最も好ましい実施態
様について説明したが、その好ましい実施態様の説明は
、構成の詳細な部分についての変形、特許請求の範囲に
記載された本発明の精神に反しない限りでの種々な変形
、あるいはそれらを組み合わせたものに変更することが
できることは明らかである。
(発明の効果) 以上説明したように、本発明によれば、与えられた点列
の全てを読み込むことなく十分に実用性のある範囲でス
プライン補間が可能な曲線を生成することができスプラ
イン曲線生成方法を提供できる。
【図面の簡単な説明】
第1図は、本発明方法により生成されるスプライン曲線
の一例を示す図、第2図は、スプライン曲線を生成する
ための演算フローを示す図、第3図は、生成されるスプ
ライン曲線に基づく補間機能を実現する数値制御装置の
一例を示すブロック図である。 1−・・CPU、2・・・テープリーダ、3・・・RA
M。 4・・・ROM、5・・・不揮発性のメモリ、8・・・
サーボモータ。 特許出願人 ファナック株式会社 代 理 人 弁理士 辻   實 第1図

Claims (8)

    【特許請求の範囲】
  1. (1)3次元空間内で指定された複数の点列からスプラ
    イン曲線を生成するスプライン曲線生成方法において、
    前記点列を特定個数の連続する点列からなる複数の点列
    ブロックに区分し、隣接する2つの点列ブロックm、(
    m+1)にまたがる補助曲線Amを決定し、点列ブロッ
    クm毎にその終点Peにおける1階微分係数をそれに対
    応する補助曲線Am上の点における1階微分係数に一致
    させるとともに、点列ブロックmの始点Piにおける1
    階微分係数を先行する点列ブロック(m−1)の終点P
    eの1階微分係数に一致させることによって点列ブロッ
    クmの端点条件を決定し、この端点条件により各点列ブ
    ロック毎に生成される曲線セグメントを接続することを
    特徴とするスプライン曲線生成方法。
  2. (2)前記補助曲線Amは、それを構成する点列の始点
    及び終点での2階微分係数を零とすることにより端点条
    件が決定されていることを特徴とする請求項(1)に記
    載のスプライン曲線生成方法。
  3. (3)前記点列を始点からn+1個の連続する点列から
    なる複数の点列ブロックに区分し、nを2以上の偶数と
    して適宜指定することを特徴とする請求項(1)に記載
    のスプライン曲線生成方法。
  4. (4)前記補助曲線Amは、区分された点列ブロックm
    の中点を互いに隣接する点列ブロック毎に接続すること
    により決定されることを特徴とする請求項(2)又は(
    3)に記載のスプライン曲線生成方法。
  5. (5)前記補助曲線Amは、区分された点列ブロックm
    の中点での2階微分係数を零とし、点列ブロックm+1
    の中点での2階微分係数を零とする端点条件により生成
    されるスプライン曲線セグメントであることを特徴とす
    る請求項(1)に記載のスプライン曲線生成方法。
  6. (6)前記点列を始点に続く8個づつの連続する点列か
    らなる複数の点列ブロックに区分することを特徴とする
    請求項(5)に記載のスプライン曲線生成方法。
  7. (7)前記区分された第1の点列ブロックでは、始点で
    の2階微分係数を零とすることにより端点条件を決定す
    ることを特徴とする請求項(1)又は(2)又は(3)
    又は(5)又は(6)に記載のスプライン曲線生成方法
  8. (8)前記区分された最終点列ブロックでは、終点での
    2階微分係数を零とすることにより端点条件を決定する
    ことを特徴とする請求項(1)又は(2)又は(3)又
    は(5)又は(6)に記載のスプライン曲線生成方法。
JP4379888A 1988-02-26 1988-02-26 スプライン曲線生成方法 Pending JPH01217608A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4379888A JPH01217608A (ja) 1988-02-26 1988-02-26 スプライン曲線生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4379888A JPH01217608A (ja) 1988-02-26 1988-02-26 スプライン曲線生成方法

Publications (1)

Publication Number Publication Date
JPH01217608A true JPH01217608A (ja) 1989-08-31

Family

ID=12673767

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4379888A Pending JPH01217608A (ja) 1988-02-26 1988-02-26 スプライン曲線生成方法

Country Status (1)

Country Link
JP (1) JPH01217608A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6401006B1 (en) 1997-11-14 2002-06-04 Fanuc Ltd. Machine controller with primary and secondary interpolation
JP2007188524A (ja) * 2007-03-16 2007-07-26 Nippon Hikyumen Lens Kk Nc加工データ作成方法
EP4098408A1 (en) 2021-05-31 2022-12-07 JANOME Corporation Path teaching data creation device, path teaching data creation method, and program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6401006B1 (en) 1997-11-14 2002-06-04 Fanuc Ltd. Machine controller with primary and secondary interpolation
JP2007188524A (ja) * 2007-03-16 2007-07-26 Nippon Hikyumen Lens Kk Nc加工データ作成方法
EP4098408A1 (en) 2021-05-31 2022-12-07 JANOME Corporation Path teaching data creation device, path teaching data creation method, and program

Similar Documents

Publication Publication Date Title
EP1720085B1 (en) Curve interpolating method
JP3904993B2 (ja) 曲線補間方法
US5028855A (en) Control process for a numerically controlled machine-tool or for a robot
EP0076327B1 (en) Method of forming curved surface
JPH02113305A (ja) スプライン補間方法
JPH0373882B2 (ja)
JP2718260B2 (ja) 数値制御装置
US5434793A (en) Method and apparatus for ascertaining tool path contours approximating curved contour intersection lines in numerically controlled machines
JP2005182437A (ja) 数値制御装置及び数値制御方法
US5936864A (en) Free curve interpolation apparatus and interpolation method
US4905158A (en) Normal vector computation method
JP3466111B2 (ja) 数値制御装置
Jahanpour et al. Real-time PH curve CNC interpolators for high speed cornering
JPH01217608A (ja) スプライン曲線生成方法
WO1990006545A1 (en) Interpolation method in automatic programming
JPH01217607A (ja) スプライン曲線生成方法
CN102393680A (zh) 一种基于圆锥面刀具矢量插值的参数曲线插补方法
US5347461A (en) Tool travel path creating method
JPH0446705B2 (ja)
JP3236579B2 (ja) 数値制御装置および曲線経路補間方法
US20240103481A1 (en) Numerical controller
US11003158B2 (en) Method for 3D radius correction in CNC milling and associated milling machine
WO2023058243A1 (ja) 制御装置及びプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2925397B2 (ja) 形状データ作成方法
JP3190069B2 (ja) 3次スプライン補間装置