JP3366213B2 - 曲線の微小線分化方法およびスプライン補間機能を有する数値制御装置 - Google Patents

曲線の微小線分化方法およびスプライン補間機能を有する数値制御装置

Info

Publication number
JP3366213B2
JP3366213B2 JP4183897A JP4183897A JP3366213B2 JP 3366213 B2 JP3366213 B2 JP 3366213B2 JP 4183897 A JP4183897 A JP 4183897A JP 4183897 A JP4183897 A JP 4183897A JP 3366213 B2 JP3366213 B2 JP 3366213B2
Authority
JP
Japan
Prior art keywords
curve
point
section
spline curve
vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP4183897A
Other languages
English (en)
Other versions
JPH10240329A (ja
Inventor
大助 藤野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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/ja
Publication of JPH10240329A publication Critical patent/JPH10240329A/ja
Application granted granted Critical
Publication of JP3366213B2 publication Critical patent/JP3366213B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、曲線の微小線分
化方法およびスプライン補間機能を有する数値制御装置
に関するものであり、特に、CAD/CAM装置におい
て曲線を数値制御装置で加工軌跡が通過することを指定
する点列データに変換するための曲線の微小線分化方
法、およびスプライン補間機能により与えられた点列を
通過して滑らかな補間制御を行うスプライン補間機能を
有する数値制御装置に関するものである。
【0002】
【従来の技術】従来、数値制御装置において、空間上の
自由曲線を移動経路として制御する場合に、予め、自由
曲線を微小区間に分割し、自由曲線を微小線分データと
して近似して数値制御装置に与え、この微小線分データ
を用いて移動経路を直線補間し制御する方法が一般的に
採られてきた。
【0003】自由曲線を微小線分に近似する代表的な方
法としては、図19(a)、(b)に示されているよう
に、許容誤差εを設定し、曲線Ps 〜Pe 上の指定点P
i 〜Pi+1 を結ぶ線分と曲線との距離(弦誤差di )が
許容誤差εを越えないように指定点Pi ,Pi+1 を設定
することにより点列を生成していた。
【0004】ここで、工具軌跡を直線補間によって滑ら
かな曲線軌道に制御するためには、許容誤差εを小さく
設定する必要があるが、加工指令プログラム長や、直線
補間した際の加工速度の要因により、許容誤差εは無制
限には小さくできず、現実的には許容誤差εをある程度
の値に設定し、曲線Ps 〜Pe 上を、指定点P1,P2,・
・・を通過する折れ線で近似していた。
【0005】そこで、このような指定点P1,P2,・・・
から滑らかな加工軌跡を得る必要がある場合には、指定
点間を直線補間するのではなく、スプライン補間によっ
て軌跡制御を行う技術が採用されている。
【0006】
【発明が解決しようとする課題】曲線からの許容誤差ε
でサンプリングされた指定点をスプライン補間した場
合、通常は元の曲線に極めて近い曲線軌跡が得られる
が、サンプリングされた指定点の配置によっては大きな
ひずみを生じる場合がある。
【0007】そのような例を図20に示す。図20は実
線で示す曲線B(t) を許容誤差εで微小線分近似を行っ
た場合であるが、指定点P1,P2,・・・P9 をとった時
に、指定点P5 とP6 の間に変曲点があるので、許容誤
差ε以内の弦誤差が線分の両側で取れるため(dp 、d
q で示す)、結果として線分P5 〜P6 がその両側の線
分に比較して非常に長くなってしまう。
【0008】そして、このようにして得られた点列を数
値制御装置で、スプライン補間した場合、結果として得
られる補間軌跡は図20において破線に示すように(波
線で示していない区間は波線で示すべき曲線が実線の曲
線と重なっているものと見なす)、指定点P5 とP6
間で、元の曲線に対して相当な誤差を有するものになり
良好な加工結果が得られないと云う問題が生じる。
【0009】この発明は、このような問題点に鑑みてな
されたものであり、曲線を微小線分近似した際の出力デ
ータである通過点列を、数値制御装置側で直線補間して
も、スプライン補間しても補間軌跡が元の曲線に対して
十分な誤差精度を保証するような曲線の微小線分近似方
法、および、従来の許容誤差で近似された微小線分デー
タの指定通過点から、元の曲線データに対して許容誤差
を保証するようなスプライン補間を行う数値制御装置を
得ることを目的としている。
【0010】
【課題を解決するための手段】上述の目的を達成するた
めに、この発明による曲線の微小線分化方法は、数値制
御装置の入力データとして供する自由曲線を微小線分化
した点列データを生成する際に、弦誤差が許容値以内と
なるように折れ線近似を行うことにより点列を生成し、
当該点列を通過する3次スプライン曲線を生成し、各通
過点間の区間が区間内に曲線の変曲点を持つか否かを評
価し、変曲点を持つと判定された区間に対しては元の曲
線と発生した3次スプライン曲線の誤差が許容値以内で
あるかを評価し、誤差が許容値を超える場合には当該区
間内に通過点を追加して前記点列を再構成するものであ
る。
【0011】この発明による曲線の微小線分化方法で
は、変曲点を持つと判定された区間に対して元の曲線と
発生した3次スプライン曲線の誤差が許容値以内である
かを評価し、誤差が許容値を超える場合には当該区間内
に通過点を追加することが行われ、元の曲線に対して変
曲点近傍は必要に応じてより高密度に点列が設定され
る。これにより元の曲線に近い形状のスプライン曲線が
得られる。
【0012】つぎの発明による曲線の微小線分化方法
は、上述の発明による曲線の微小線分化方法において、
通過点の追加があった場合には、再構成した点列から再
度この点列を通過する3次スプライン曲線を生成し、各
通過点間の区間が区間内に曲線の変曲点を持つか否かを
評価し、変曲点を持つと判定された区間に対して元の曲
線と発生した3次スプライン曲線の誤差が許容値以内で
あるかを評価し、誤差が許容値を超える場合には当該区
間内に通過点を追加して前記点列を再構成する過程を、
新規の通過点の追加がなくなるまで繰り返すものであ
る。
【0013】この発明による曲線の微小線分化方法で
は、変曲点を持つと判定された区間に対して元の曲線と
発生した3次スプライン曲線の誤差が許容値以内である
かを評価し、誤差が許容値を超える場合には当該区間内
に通過点を追加することが、新規の通過点の追加がなく
なるまで繰り返し行われ、元の曲線に対して変曲点近傍
は必要に応じてより高密度に点列が設定される。これに
より元の曲線に極めて近い形状のスプライン曲線が得ら
れる。
【0014】つぎの発明による曲線の微小線分化方法
は、上述の発明による曲線の微小線分化方法において、
前記区間内に曲線の変曲点を持つか否かの評価を、当該
区間のスプライン曲線の始点ベクトル、区間の線分の方
向ベクトル、スプライン曲線の終点ベクトルがジグザグ
状に連続するか否かと、線分の方向ベクトルに対するス
プライン曲線の始点ベクトルおよび終点ベクトルの2つ
の角度の比が基準値よりも大きいか否かの判別により行
うものである。
【0015】この発明による曲線の微小線分化方法で
は、区間内に曲線の変曲点を持つか否かの評価が、簡単
かつ確実に行われる。
【0016】また、上述の目的を達成するために、この
発明によるスプライン補間機能を有する数値制御装置
は、曲線加工軌道上に離散的にとられた通過点列に対し
て、各通過点間を滑らかに接続する各区間におけるスプ
ライン曲線を決定するスプライン曲線決定手段と、各区
間において決定されたスプライン曲線と該区間の線分と
の誤差が許容値を超えるか否かを判定し、前記誤差が許
容値を超える場合には該区間におけるスプライン曲線を
前記線分に近づくように修正するスプライン曲線修正手
段とを有しているものである。
【0017】この発明によるスプライン補間機能を有す
る数値制御装置では、スプライン曲線決定手段が各通過
点間を滑らかに接続する各区間におけるスプライン曲線
を決定し、スプライン曲線修正手段が各区間において決
定されたスプライン曲線と該区間の線分との誤差が許容
値を超えるか否かを判定し、前記誤差が許容値を超える
場合には該区間におけるスプライン曲線を前記線分に近
づくように修正する。
【0018】つぎの発明によるスプライン補間機能を有
する数値制御装置は、上述の発明による数値制御装置に
おいて、前記スプライン曲線修正手段によるスプライン
曲線の修正が、当該区間の両端点におけるスプライン曲
線の接線ベクトルを、当該区間のスプライン曲線と線分
との誤差が許容値以内になるよう当該区間の両端点にお
けるスプライン曲線の接線ベクトルの大きさを小さくす
ることにより行うものである。
【0019】この発明によるスプライン補間機能を有す
る数値制御装置では、スプライン曲線修正手段が、当該
区間の両端点におけるスプライン曲線の接線ベクトル
を、当該区間のスプライン曲線と線分との誤差が許容値
以内になるよう当該区間の両端点におけるスプライン曲
線の接線ベクトルの大きさを小さくすることにより、ス
プライン曲線の修正を行う。
【0020】つぎの発明によるスプライン補間機能を有
する数値制御装置は、上述の発明による数値制御装置に
おいて、前記スプライン曲線修正手段によるスプライン
曲線の修正が、当該区間の両端点におけるスプライン曲
線の接線ベクトルを、当該区間のスプライン曲線と線分
との変曲点を誤差が許容値以内になるよう当該区間の両
端点におけるスプライン曲線の接線ベクトルの方向を当
該線分に平行なベクトルの方向に近づけることにより行
うものである。
【0021】この発明によるスプライン補間機能を有す
る数値制御装置では、スプライン曲線修正手段が、当該
区間の両端点におけるスプライン曲線の接線ベクトル
を、当該区間のスプライン曲線と線分との変曲点を誤差
が許容値以内になるよう当該区間の両端点におけるスプ
ライン曲線の接線ベクトルの方向を当該線分に平行なベ
クトルの方向に近づけることにより、スプライン曲線の
修正を行う。
【0022】
【発明の実施の形態】以下に添付の図を参照して、この
発明に係る曲線の微小線分化方法およびスプライン補間
機能を有する数値制御装置の実施の形態を詳細に説明す
る。
【0023】(実施の形態1)この発明による曲線の微
小線分化方法の一つの実施の形態における処理の流れを
図1を参照して説明する。
【0024】(1)計算機内部に持つ曲線の数学的表現
をB(t) とし、曲線B(t) から、従来例の図20に示し
たものと同様に、曲線を許容誤差εで微小線分データに
近似する(ステップS101)。本例では、図20に示
されているように、曲線B(t) が、P1 ,P2 ,・・・
n-1 からなるn個(本例ではn=10)の通過点で表
現される。
【0025】(2)つぎに、上述のn個の通過点P1
2 ,・・・Pn-1 からスプライン曲線を発生する(ス
テップS102)。
【0026】公知の曲線理論(例えば「形状処理工学
(1)」,山口富士夫著、日刊工業新聞社刊)による
と、n個の指定点P1 ,P2 ,P3 ,…Pn を滑らかに
通過する3次スプライン曲線上の点P(t) は、指定点P
j-1 から指定点Pj の図2に例示する区間において、式
(1)で表現される。
【0027】
【数1】
【0028】ここで、qj は指定点Pj における単位接
線ベクトルであり、cj はPj-1 からPj までの距離で
ある。また、tは曲線パラメータであり、0≦t≦1で
ある。
【0029】式(1)により示されるスプライン曲線
は、指定点Pj (j=1,2,3,…,n)を必ず通過
するが、単位接線ベクトルqj が適切に設定されない
と、各指定点において2次微分が連続的にならない。2
次微分が各指定点Pj (j=2,3,…,n−1)にお
いて連続となるための条件は、式(2)で表される。
【0030】
【数2】
【0031】なお、端点q1 とqn については、端点で
の曲率を0として、以下の条件を追加する。
【0032】 2c2 1 +c2 2 =3(P2 −P1 ) ・・・(3a) cn n-1 +2cn n =3(Pn −Pn-1 ) ・・・(3b)
【0033】式(2)、(3a)、(3b)のn個の連
立方程式を解くことによって、接線ベクトルqj を求め
ることにより、全区間の3次スプライン曲線が求められ
る。
【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) で与えられる。
【0035】(3)つぎに、j=1に初期化し(ステッ
プS103)、スプラインの各区間において、区間内部
に曲線の変曲点を有するかを評価する(ステップS10
4)。
【0036】変曲点の有無の判定方法を図3(a)〜
(c)、図4を参照して説明する。図3(a)〜(c)
はそれぞれ、区間Pj 〜Pj+1 の線分の単位ベクトルu
と、その区間Pj 〜Pj+1 に張られたスプライン曲線の
始点ベクトルqs と終点ベクトルqe を、単位ベクトル
uと始点ベクトルqs が存在する平面に投影したもので
ある。
【0037】図3(a)は変曲点を持たないと判定され
る場合で、始点ベクトルqs と終点ベクトルqe は単位
ベクトルuに対して反対方向にほぼ等しい角度をなす。
【0038】図3(b)は変曲点を持つと判定される一
つの場合で、始点ベクトルqs と終点ベクトルqe は単
位ベクトルuに対して同一方向の角度をなす。すなわ
ち、始点ベクトルqs と区間の方向を表すベクトルと終
点ベクトルqe がジグザグ状に連続している場合であ
る。
【0039】図3(c)は変曲点を持つと判定されるも
う一つの場合で、始点ベクトルqsと終点ベクトルqe
は単位ベクトルuに対して反対方向の角度をなすが、そ
れぞれの角度の比が比較的大きくなる。
【0040】図4は変曲点有無の判定フローである。ま
ず、始点ベクトルqs 、単位ベクトルu、終点ベクトル
qe がジグザグ状に連続するか否かを判定する(ステッ
プS1001)。
【0041】このステップS1001では、単位ベルト
ルuと始点ベクトルqs とがなすベクトル角度θs を次
式によって求める。
【0042】cos(θs )=(qs ,u)/|qs |
【0043】このベクトル角度θs を用いて始点ベクト
ルqs は図5に示されているベクトルqshとqsvに分解
できる。ただし、分解ベクトルqshはベクトルqs の線
分Ps 〜Pe に平行な成分、分解ベクトルqsvはベクト
ルqs の線分Ps 〜Pe に垂直な成分であり、次式によ
って求められる。
【0044】qsh=|qs |・cos(θs )・u=
(qs ,u)・u qs =qs −qsh
【0045】つぎに、この垂直成分(分解ベクトル)q
svと終点ベクトルqe の内積をとれば、分解ベクトルq
svと終点ベクトルqe のなす角度θが判定でき、 (qsv,qe )≦0のとき、 0°≦θ≦90° (qsv,qe )>0のとき、90°<θ≦180° となる。
【0046】したがって(qsv ,qe )≦0のとき、
qe はuに対してqs と同じ方向にあるとみなされるの
で、qs 、u、qe がジグザグ状に連続すると判定す
る。
【0047】ステップS1001で、始点ベクトルqs
、単位ベクトルu、終点ベクトルqe がジグザグ状に
連続すると判定された場合にはステップS1004へ移
行し、区間内に変曲点を持つと判定して処理を終了す
る。
【0048】これに対し、始点ベクトルqs 、単位ベク
トルu、終点ベクトルqe がジグザグ状に連続しないと
判定された場合にはステップS1002へ移行し、始終
点のベクトル角度θs 、θe の比が許容値以上であるか
否かを判定する。
【0049】ステップS1002では、次式により始終
点ベクトルの角度の判定を行う。
【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(__)は平方根を求める関数で
ある。
【0051】θが小さい場合にはθsin≒(θ)であ
るので、これら正弦により角度の大きさの比を評価す
る。すなわち、あらかじめ定められた閾値thに対し
て、 sin(θs )/sin(θe )>th あるい
は、 sin(θe )/sin(θs )>th の場合には、始点ベクトルqs と終点ベクトルqe のそ
れぞれが区間の方向を示すベクトルuとのなす角度の比
が大きいと判定する。
【0052】ステップS1002で、始点ベクトルqs
と区間ベクトルuとがなす角度と、区間ベクトルuと終
点ベクトルqe とがなす角度との比が設定値(許容値)
より大きいと判定された場合には、ステップS1003
に移行し、区間内に変曲点を持つと判定して処理を終了
する。
【0053】その他の場合には、ステップS1003に
移行し、区間内に変曲点を持たないと判定して処理を終
了する。
【0054】(4)つぎに、図1に示されている処理フ
ローに戻り、区間内に変曲点を持つと判定された場合に
は(ステップS105肯定)、スプライン曲線の各区間
j〜Pj+1 における誤差を評価する(ステップS10
6)。
【0055】この誤差の計算方法として、Pj 〜Pj+1
の区間において、上述の式(5)で表されるスプライン
曲線上の点P(t) を、パラメータtをΔt刻みで動かし
ながら、各点P(t) と対応する元の曲線上の点B(t')と
の距離の最大値を求め、これを誤差dj とする(図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 により容易に求められる。
【0057】この区間のスプライン曲線の始点P(0) 、
終点P(1) を与える元の曲線の各点B(t')のパラメータ
をそれぞれts 、te とすれば、点P(t) (但し、0≦
t≦1)に対応する元の曲線上の点の初期点として、B
(t')(但し、t’=ts +t・(te −ts ))を与え
る(図7(a)参照)。
【0058】つぎに点P(t) から点B(t0)に向かうベク
トルrをとり、ベクトルrと接線ベクトルvの内積
(r,v)を求める。ベクトルrと接線ベクトルvとが
なす角をθとすると、この内積の符号を調べれば、 (r,v)>0のときθ<90° (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)を求める処理を繰
り返す。
【0060】ここで、dt’は点B(t) による曲線のパ
ラメータの微小増分値であり、t’が増加すれば角度θ
は減少し、t’が減少すれば角度θは増加する。
【0061】図7(b)ので、内積(r,v)の符号が
反転する度に、微小増分値dt’を半減すれば、繰り返
し処理の度にベクトルrは接線ベクトルvに垂直に近づ
くことになる。
【0062】したがって、所望の精度が得られた繰り返
し処理の時点で、繰り返し処理を中断してスプライン曲
線上の点P(t) に対応する元の曲線上の点B(t')を得る
(図7(c)参照)。
【0063】(5)つぎに、上述のようにして求めた誤
差dj が許容誤差εを超えないか否か評価する(ステッ
プS107)。dj ≦εであれば、誤差が許容誤差以内
にあるとしてステップS109に進み、これに対し、d
j >εであれば、誤差が許容誤差を超えたものとしてス
テップS108に進む。
【0064】(6)誤差dj が許容誤差εを超えた場合
には、区間Pj 〜Pj+1 内に曲線上の通過点を1点追加
し(ステップS108)、この後に、ステップS109
へ進む。
【0065】新たな通過点の決め方としては、元の曲線
B(t')上の点Pj 、Pj+1 を与えるパラメータをそれぞ
れtj 、tj+1 とすれば、パラメータt’を、 t’=tj +(tj-1 −tj )/2 として、新たな通過点Pj'=B(t’)とする。
【0066】または、線分の距離が、Pj j'=Pj'
j+1 となるように、パラメータt’を収束演算によって
求めてもよい。
【0067】図8に示されている例では、区間P5 〜P
6 において、スプライン曲線が元の曲線B(t')から大き
く外れた軌跡を描いているため、誤差が大きくなり、d
5 >εとなったため、新たに通過点P5'が追加されてい
る。
【0068】(7)ステップS109では、全ての区間
についての評価が終了したかを調べ、j<(n−1)で
あれば(ステップS109否定)、j+1→jに更新し
(ステップS110)、ステップS104〜ステップS
108を繰り返す。
【0069】(8)全ての区間について評価が終了した
ならば(ステップS109肯定)、新たな通過点の追加
があったか否かを調べ(ステップS111)、通過点の
追加があったならば(ステップS111肯定)、それら
の通過点を加えて新たな通過点列を生成する(ステップ
S112)。
【0070】ここで、通過点の点数nは新たな通過点数
分増加する。本例では、追加された通過点P5'を加えて
新たな点列P1 ,P2 、・・・、P10が生成される。
【0071】図9では、P5'がP6 に更新され、P7
8 ,P9 ,P10がそれぞれ図20に示されている元の
6 ,P7 ,P8 ,P9 に対応する。
【0072】この後に、ステップS102に戻り、更新
された通過点列によって再度スプライン曲線を生成し直
し、新たに生成されたスプライン曲線の誤差の評価を繰
り返す。
【0073】このようにして、通過点列から生成される
スプライン曲線と元の曲線の誤差が十分小さくなれば、
新たに通過点を追加することがなくなり、通過点の追加
がなくなったことをもって(ステップS111否定)、
処理を終了する。
【0074】上述のように、ある区間でスプライン曲線
が元の曲線と大きく誤差を持つような場合には、その区
間に元の曲線上に通過点を追加して点列を再構成するか
ら、再構成された点列にスプライン曲線を張った場合に
は元の曲線に極めて近いスプライン曲線となり、最終出
力としての点列を数値制御装置でスプライン補間した場
合に所望の誤差精度が得られ、良好な加工軌跡が得られ
るようになり、この点列では直線補間にもスプライン補
間にも供する事ができる。
【0075】また、再構成された点列に再度スプライン
曲線を張り、各区間で区間内に変曲点が存在すると判定
された場合で、スプライン曲線と元の曲線線分とスプラ
イン曲線との誤差が許容値を超える場合には、その区間
に通過点を追加することによって点列を再構成すること
を新たな通過点の追加がなくなるまで繰り返すようにし
たから、結果として得られる点列にスプライン補間を実
行した場合に、補間軌跡と元の曲線との誤差が許容値以
内にあることが保証され良好な加工軌跡が得られる。
【0076】また、当該区間の変曲点の有無判定が、当
該区間のスプライン曲線の始点ベクトル、区間の線分の
方向ベクトル、スプライン曲線の終点ベクトルの3つの
連続するベクトルががジグザグ状に連続するか否かの判
別と、線分の方向ベクトルに対するスプライン曲線の始
点ベクトルおよび終点ベクトルの2つの角度の比が基準
値よりも大きいか否かの判別により行われるから、当該
区間の変曲点の有無が簡便に評価できる。
【0077】(実施の形態2)図10はこの発明による
数値制御装置の一つの実施の形態の要部構成を示してい
る。この数値制御装置は、指令入力部1と、スプライン
曲線計算部2と、スプライン曲線修正部3と、補間演算
部4と、サーボ駆動部5とを有している。
【0078】指令入力部1は、曲線経路上の通過点列P
j (但し、j = 1,2,...,n )のデータを入力し、通過点
列Pj 、通過点列間の区間ベクトルuj 、距離cj のデ
ータをスプライン曲線計算部2へ出力する。
【0079】スプライン曲線計算部2は、通過点列
j 、通過点列間の区間ベクトルuj 、距離cj のデー
タを指令入力部1より与えられ、各区間毎のスプライン
曲線を決定する。
【0080】スプライン曲線修正部3は、スプライン曲
線計算部2で求められたスプライン曲線と当該区間の線
分との誤差が許容誤差ε以内にあるかを評価し、誤差が
許容誤差εを超えた場合にはスプライン曲線を修正す
る。
【0081】補間演算部4は、スプライン曲線修正部3
で計算された各軸のスプライン係数、補間速度からサン
プリング時間毎の曲線補間の演算を行う。
【0082】サーボ駆動部5は、補間演算部4で算出し
た各軸座標値Px(t), Py(t), Pz(t)により制御される
各軸サーボ系で構成されている。
【0083】n個の点列(j = 1,2,...,n )から各区間
における3次スプライン曲線を求めるには、前述の式
(2), (3a), (3b)のn個の連立方程式を解く
必要がある。このためにはn×nの逆行列を求めると云
う膨大な計算量が必要となるため、リアルタイム性を要
求される数値制御装置においては、完全なスプライン曲
線の数式を求めることは一般に困難である。このことか
ら、本例においては、数値制御装置において要求される
リアルタイム性を確保するために、近似的なスプライン
曲線を導出する。
【0084】まず、指令入力部1からスプライン曲線計
算部2へのデータの流れ、およびスプライン曲線計算部
2における演算内容を説明するために、この実施の形態
におけるスプライン曲線計算原理について説明する。こ
こで、式(2)を変形すると式(6)となる。
【0085】
【数3】
【0086】ここで、uj は、指定点Pj-1 からPj
向かう単位ベクトルであり、式(7)により示される。
【0087】 uj =(Pj −Pj-1 )/cj ・・・(7) 本発明に係る装置では、式(6)を満たす各指定点の近
似的な接線ベクトルを求め、繰り返し計算によって、そ
の精度を段階的に向上させることを基本的なスプライン
曲線計算原理としている。
【0088】以下、繰り返しk回目の指定点Pj におけ
る単位接線ベクトルをqj [k] で表し、その計算手順を
示す。
【0089】(過程1)k=0とする。3つの指定点P
j-1 ,Pj およびPj+1 を通過し、指定点Pj- 1 におけ
る単位ベクトルがuj 、点Pj+1 における単位ベクトル
がuj+1 となるようなスプライン曲線を求める。すなわ
ち、式(6)から指定点Pj における接線ベクトルqj
[1] は、つぎの式(8)により算出する。
【0090】
【数4】
【0091】始点(j=1)と終点(j=n)に関して
は、端点における曲率を0として、式(4a)、式(4
b)よりそれぞれ、式(9)、(10)で求める。
【0092】
【数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)とする。
【0094】
【数6】
【0095】接線ベクトルql [k+1] とqn [k+1] に関
しては、過程1における場合と同様に、それぞれ式
(9),(10)から求める。
【0096】(過程3)過程2以降を任意の回数繰り返
す。
【0097】以上の過程により、繰り返し回数kを適当
に設定すれば、理論的なスプライン曲線に近い近似的な
スプライン曲線を得ることができる。実際には繰り返し
回数2回(qj [2] まで求め)程度で、実用的なスプラ
イン曲線を得ることができる。
【0098】図11はj=1、2、・・・、8(P8
終点)として、qj [2] まで求める過程を概念的に示し
ている。
【0099】以上のスプライン曲線計算原理をもとに、
指令入力部1およびスプライン曲線決定部2における計
算内容を説明する。以下、j=1、2、・・・、8(n
=8)とし、P8 が終点として説明する。
【0100】図12は指令入力部1における処理の概略
フローを示している。
【0101】指令入力部1にスプライン補間の指令が入
力されると、図12に示されている処理フローが起動さ
れる。
【0102】まず、ステップS201では、開始点から
の3個の指定点P1 、P2 、P3 の座標値を入力し、ス
テップS202では、指定点P1 から指定点P2 までの
距離c2 、および指定点P2 から指定点P3 までの距離
3 を求め、つぎに式(7)によりそれぞれの単位ベク
トルu2 、u3 を求める。
【0103】ステップS203では、j=3に初期化
し、ステップS204では、j+1→j(j=4)とす
る。
【0104】つぎにステップS205では、指定点P4
の座標値を入力し、ステップS206では、指定点P3
から指定点P4 までの距離c4 およびその単位ベクトル
4を計算する。
【0105】つぎにステップS207では、指令入力部
1は指定点座標P1 、P2 、P3 、P4 、各指定点間距
離c2 、c3 、c4 および単位ベクトルu2 、u3 、u
4 をスプライン曲線決定部2に出力する。ステップS2
07では、スプライン曲線決定部2が出力したデータを
受け取ったことを確認した後、つぎのステップS208
に進む。この時後述するようにスプライン曲線決定部2
では指定点P1 〜P2の区間のスプライン曲線を決定す
る。
【0106】ステップS208では、j=nであるか否
か、すなわちPj が終点であるか否かをチェックし、j
≠n(j=4,n=8)であれば、ステップS204に
ループし、j+1→jとする。
【0107】j≧5の場合には、ステップS205で指
定点Pj の座標値を入力し、ステップS106で指定点
j-1 から指定点Pj までの距離cj およびその単位ベ
クトルuj を計算する。
【0108】つぎにステップS207では、指令入力部
1は指定点座標Pj 、指定点間距離cj 、および単位ベ
クトルuj をスプライン曲線決定部2に出力する。ステ
ップS107ではスプライン曲線決定部2が出力したデ
ータを受け取ったことを確認した後、つぎのステップに
進む。この時後述するようにスプライン曲線決定部2で
は指定点Pj-3 〜Pj-2 の区間のスプライン曲線を決定
する。
【0109】ステップS208では、j=nであるか否
か、すなわちPj が終点であるか否かをチェックし、j
≠nであれば、ステップS204にループし、j=nで
あれば、処理を終了する。
【0110】つぎに図13によりスプライン曲線決定部
2の処理について説明する。
【0111】スプライン曲線決定部2に指令入力部1か
らデータが入力される(図12のステップS207)
と、図13に示されている処理フローが起動される。
【0112】まず、ステップS301では、j=4であ
れば、指定点座標P1 、P2 、P3、P4 、各指定点間
距離c2 、c3 、c4 、および単位ベクトルu2
3 、u 4 を入力する。また、j≧5であれば、指定点
座標Pj 、指定点間距離cj および単位ベクトルuj
入力する。
【0113】つぎにステップS302では、j=4であ
るか否か(始点を含む処理か?)をチェックし、j=4
であれば、ステップS303にて、式(8)から次式
(12)により指定点P2 の接線ベクトルq2 [1] を求
める。
【0114】
【数7】
【0115】さらにステップS304では、式(9)か
ら次式(13)により開始点P1 の接線ベクトルq1
[1] を求める。
【0116】
【数8】
【0117】つぎにステップS305では、次式(1
4)により指定点Pj-1 の接線ベクトルqj-1 [1] を求
める。
【0118】
【数9】
【0119】つぎにステップS306では、次式(1
5)により指定点Pj-2 の接線ベクトルqj-2 [1] を求
める。
【0120】
【数10】
【0121】つぎにステップS307では、j=4てあ
るか否か(始点を含む処理か?)をチェックし、j=4
であれば、次式(16)により開始点P1 の接線ベクト
ルq [2] を求める。
【0122】
【数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) で与えられる。
【0124】ステップS310では、j=nである否か
(Pj が終点か?)をチェックし、j≠nであれば、処
理を終了するが、j=n(Pj が終点)の場合は以下に
示す終点の処理を行う。
【0125】まずステップS311において、式(1
0)から次式(19)により終点Pnにおける接線ベク
トルqn [1] を求める。
【0126】
【数12】
【0127】つぎにステップS312において、次式
(20)により指定点Pn-1 の接線ベクトルqn-1 [2]
を求める。
【0128】
【数13】
【0129】つぎにステップS313において、Pj-3
〜Pj-2 の区間におけるスプライン曲線P(t) を式(1
7a)〜(17d)で、j=n+1とおくことにより、
式(18)によって求める。
【0130】最後に、最終区間Pn-1 〜Pn におけるス
プライン曲線を求める。ステップS314で終点Pn
おける接線ベクトルqn [2] を式(10)から次式(2
1)によって求める。
【0131】
【数14】
【0132】つぎにステップS313において、Pj-3
〜Pj-2 の区間におけるスプライン曲線P(t) を式(1
7a)〜(17d)で、j=n+2とおくことにより、
式(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の例))。
【0134】上述のように、通過点の接線ベクトルを近
似的に計算し、その計算の繰り返し回数をk回とする
と、終点までの全通過点を読み取らなくとも、k点先の
通過点を読み取っていけば、接線ベクトルを簡単な計算
によって求め通過点との間のスプライン曲線を逐次発生
するから、リアルタイムにスプライン曲線を発生するこ
とができる。
【0135】スプライン曲線計算部2では、各区間のス
プライン曲線が確定するごとに計算結果をスプライン曲
線修正部3に出力する。図15はスプライン曲線修正部
3の処理フロー図である。以下、本フロー図にしたがっ
て処理の内容を説明する。
【0136】スプライン曲線修正部3では、まずステッ
プS401で、スプライン曲線計算部からスプライン曲
線を決定する各種のデータ、すなわち、スプライン曲線
式P(t) と、その各係数を導出するに使用した両端点に
おける位置ベクトルPs 、Pe と、単位接線ベクトルq
s 、qe および線分Ps 〜Pe の長さcを入力する。
(図16参照)。
【0137】つぎにステップS402において、スプラ
インの各区間における誤差を評価する。誤差の計算方法
としては、例えばPs 〜Pe の区間において式(5)で
表される曲線P(t) を、パラメータtをΔt刻みで動か
しながら、各点P(t) と線分Ps 〜Pe との距離の最大
値を求め、これを誤差dmax とする。
【0138】つぎにステップS403では、求めた誤差
dmax が許容誤差εを超えないか評価し、dmax ≦εで
あれば、誤差が許容誤差以内にあるとしてステップS4
05に進み、これに対しdmax >εであれば、誤差が許
容誤差を超えたものとしてステップS404に進む。
【0139】誤差が許容誤差を超えた場合には、ステッ
プS404において、以下の要領でスプライン曲線式を
修正する。
【0140】スプライン曲線式は両端点における位置ベ
クトルと接線ベクトルによって決定するが、接線ベクト
ルは両端点における曲線の勢い(速度)を表すため、接
線ベクトルの傾きは同一でも大きさが異なると、曲線の
形状が異なり、一般に接線ベクトルの大きさが小さいほ
ど曲線は線分により近づいたものとなる。なお、曲線の
形状によってはパラメータt(0≦t≦1)の全域にお
いて接線ベクトルが小さいほど線分に近づくとはいえな
い場合もあるが、曲線上の点の線分からの最大距離は小
さくなる。
【0141】ここで、両端点におけるパラメータtに対
する接線ベクトルはcqs 、cqeであり、cが接線ベ
クトルの大きさを表すものとなる。
【0142】ステップS404では、cをより小さな値
に更新することによって接線ベクトルの大きさを小さく
し、スプライン曲線の形状を、より線分に近づいたもの
に修正する。具体的には計算された最大誤差dmax と許
容誤差εに対して、 c・ε/dmax →c で、cを更新して式(4a)〜(4b)からスプライン
曲線式(5)を求め直す。
【0143】図16では、更新したcと曲線式P(t) を
それぞれc’、P’(t) で表し、更新前の曲線との差異
を示した。
【0144】つぎにステップS403にループバックし
て修正したスプライン曲線P(t) と線分Ps 〜Pe との
最大誤差を求め、以下同様の処理を繰り返す。
【0145】ステップS403で、最大誤差が許容誤差
以内であると判定された場合には、ステップS405に
移行し、そのときのスプライン曲線式を補間演算部4に
出力して処理を終了する。ここで出力されるスプライン
曲線式は両端点において、その両側の区間と1次微分が
連続で曲線と線分の最大誤差が許容誤差以内のものとな
っている。
【0146】このように決められたスプライン曲線に対
して補間演算部4では、曲線上に補間周期ΔTごとに、
速度指令値Fに従って、現在の点からの長さが指定した
補間長さ( =目標補間長さ) となるような点(補間点)
を求め、その座標値をサーボ駆動部5に出力する。
【0147】上述のように、発生したスプライン曲線が
当該区間の線分と許容値を超える誤差を有する場合に
は、当該区間の両端点におけるスプライン曲線の接線ベ
クトルの大きさを小さくすることにより、線分との誤差
が許容値以内になるようにスプライン曲線を修正するか
ら、各区間において線分との誤差が許容値以内であり各
区間の継ぎ目で接線ベクトルの方向が連続である滑らか
なスプライン補間軌跡が得られる。
【0148】スプライン曲線修正部3によるスプライン
曲線修正処理は、図17に示されているように、以下の
要領でスプライン曲線式を修正することもできる。な
お、図17において、図15と同一内容のステップにつ
いては、同一のステップ番号を付けてその説明を省略す
る。
【0149】最大誤差dmax が許容誤差εを超えた場合
には(ステップS403否定)、ステップS404’に
おいて、以下の要領でスプライン曲線式を修正する。
【0150】まず、線分Ps 〜Pe の単位ベクトルuを
求め、単位ベクトルuと始点ベクトルqs とがなす角度
θs を次式によって求める。
【0151】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 である。
【0153】つぎに、図13に示すようにgを定数とし
て、 qs ’=qsh+gqsv (但し、0<g<1) とすれば、qs ’はベクトルqs を線分Ps 〜Pe の方
向に傾けたものとなる。定数gの決め方としては、ステ
ップS502で求めた最大誤差dmax と許容誤差εを用
いてg=ε/dmax とすればよい。
【0154】ついで、同様の手法により、ベクトルqe
を線分Ps 〜Pe の方向に傾けたベクトルqe ’を求
め、qs 、qe をqs ’→qs 、qe ’→qe に更新し
て式(4a)〜(4b)からスプライン曲線式(5)を
求め直す。
【0155】このようにして修正されたスプライン曲線
は両端点の接線の傾きを線分Ps 〜Pe に近づくように
修正しているため、結果として得られる曲線は前回の曲
線よりも線分Ps 〜Pe に対する最大誤差が小さくなっ
ている。図18は更新後の接線ベクトルqs 、qe 、曲
線式P(t) をそれぞれqs ’、qe ’、曲線式P’(t)
で表して更新前後の曲線の変化の様子を示したものであ
る。
【0156】上述のように、この実施の形態では、発生
したスプライン曲線が当該区間の線分と許容値を超える
誤差を有すれば、当該区間の両端点におけるスプライン
曲線の接線ベクトルの傾きを線分のベクトル方向に近づ
けることにより、線分との誤差が許容値以内になるよう
にスプライン曲線を修正するから、各区間において線分
との誤差が許容値以内のスプライン補間軌跡が得られ
る。
【0157】
【発明の効果】上述の説明から明かなように、この発明
による曲線の微小線分化方法によれば、自由曲線を弦誤
差が許容値以内になるように微小線分化することによっ
て点列を生成した後に、この点列を通過するようにスプ
ライン曲線を張って、各区間において区間内に変曲点が
存在すると判定された場合で、スプライン曲線と元の曲
線の誤差が許容値を超える場合はその区間に通過点を追
加することによって点列を再構成するようにしたため、
当初の点列では元の曲線形状によってはある区間でスプ
ライン曲線が元の曲線と大きく誤差を持つような場合に
は、その区間に元の曲線上の通過点を追加して点列が再
構成され、結果として再構成された点列にスプライン曲
線を張った場合には元の曲線に極めて近いスプライン曲
線となり、最終出力としての点列を数値制御装置でスプ
ライン補間した場合に所望の誤差精度が得られて良好な
加工軌跡が得られると云う効果がある。また、この点列
は直線補間にもスプライン補間にも供する事ができると
云う効果がある。
【0158】つぎの発明による曲線の微小線分化方法に
よれば、再構成された点列に再度スプライン曲線を張り
各区間で区間内に変曲点が存在すると判定された場合
で、スプライン曲線と元の曲線線分とスプライン曲線と
の誤差が許容値を超える場合はその区間に通過点を追加
することによって点列を再構成することを新たな通過点
の追加がなくなるまで繰り返すようにしたため、結果と
して得られる点列にスプライン補間を実行した場合に、
補間軌跡と元の曲線との誤差が許容値以内にあることが
保証され、良好な加工軌跡が得られると云う効果があ
る。
【0159】つぎの発明による曲線の微小線分化方法に
よれば、区間内に曲線の変曲点を持つか否かの評価を、
当該区間のスプライン曲線の始点ベクトル、区間の線分
の方向ベクトル、スプライン曲線の終点ベクトルがジグ
ザグ状に連続するか否かと、線分の方向ベクトルに対す
るスプライン曲線の始点ベクトルおよび終点ベクトルの
2つの角度の比が基準値よりも大きいか否かの判別によ
り行うから、この評価が、簡単かつ確実に行われると云
う効果がある。
【0160】つぎの発明によるスプライン補間機能を有
する数値制御装置によれば、スプライン曲線決定手段が
各通過点間を滑らかに接続する各区間におけるスプライ
ン曲線を決定し、スプライン曲線修正手段が各区間にお
いて決定されたスプライン曲線と該区間の線分との誤差
が許容値を超えるか否かを判定し、前記誤差が許容値を
超える場合には該区間におけるスプライン曲線を前記線
分に近づくように修正するから、リアルタイムに許容誤
差を保証するスプライン曲線を発生できると云う効果が
ある。
【0161】つぎの発明によるスプライン補間機能を有
する数値制御装置によれば、スプライン曲線修正手段
が、当該区間の両端点におけるスプライン曲線の接線ベ
クトルを、当該区間のスプライン曲線と線分との誤差が
許容値以内になるよう当該区間の両端点におけるスプラ
イン曲線の接線ベクトルの大きさを小さくすることによ
り、スプライン曲線の修正を行うから、各区間において
線分との誤差が許容値以内であり、各区間の継ぎ目で接
線ベクトルの方向が連続である滑らかなスプライン補間
軌跡が得られると云う効果がある。
【0162】つぎの発明によるスプライン補間機能を有
する数値制御装置によれば、スプライン曲線修正手段
が、当該区間の両端点におけるスプライン曲線の接線ベ
クトルを、当該区間のスプライン曲線と線分との変曲点
を誤差が許容値以内になるよう当該区間の両端点におけ
るスプライン曲線の接線ベクトルの方向を当該線分に平
行なベクトルの方向に近づけることにより、線分との誤
差が許容値以内になるようにスプライン曲線の修正を行
うから、各区間において線分との誤差が許容値以内のス
プライン補間軌跡が得られるという効果がある。
【図面の簡単な説明】
【図1】 この発明による曲線の微小線分化方法の実施
手順を示す処理フロー図である。
【図2】 2点とその接線ベクトルによって表されるス
プライン曲線を示す説明図である。
【図3】 (a)〜(c)は変曲点の有無による始点、
終点ベクトルの特徴を示す説明図である。
【図4】 変曲点有無の判定ルーチンの処理フロー図で
ある。
【図5】 接線ベクトルの修正例を示す説明図である。
【図6】 スプライン曲線と元の曲線の最大誤差を求め
る手法を示す説明図である。
【図7】 (a)〜(c)はスプライン曲線上の1点に
対応する元の曲線状の点の求め方を示す説明図である。
【図8】 元の曲線に通過点を追加することを示す説明
図である。
【図9】 再構成された曲線状の通過点列を示す図であ
る。
【図10】 この発明による数値制御装置の要部構成を
示すブロック図である。
【図11】 繰り返しのベクトル計算により各通過点の
接線ベクトルが求まっていくときの計算手順を表す概念
図である。
【図12】 指令入力部の処理の概略フロー図である。
【図13】 スプライン曲線計算部によるスプライン曲
線計算処理の概略フロー図である。
【図14】 各区間のスプライン曲線が逐次的に求めら
れていくことを表す概念図である。
【図15】 スプライン曲線修正部によるスプライン曲
線修正処理の概略フロー図である。
【図16】 接線ベクトルの大きさの修正による曲線形
状の変化を示す説明図である。
【図17】 スプライン曲線修正部による他のスプライ
ン曲線修正処理の概略フロー図である。
【図18】 接線ベクトルの傾きの修正による曲線形状
の変化を示す説明図である。
【図19】 弦誤差一定で曲線を微小線分化する方法を
示す説明図である。
【図20】 従来の微小線分化によって生成された点列
に対してスプライン補間をした場合に本来の曲線に対し
て大きな誤差を生ずるケースを示す説明図である。
【符号の説明】
1 指令入力部,2 スプライン曲線計算部,3 スプ
ライン曲線修正部,4 補間演算部,5 サーボ駆動
部,Pj 曲線経路上の通過点列,uj 通過点列間の
区間ベクトル,cj 通過点列間の距離,qj 単位接
線ベクトル。

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 数値制御装置の入力データとして供する
    自由曲線を微小線分化した点列データを生成する際に、
    弦誤差が許容値以内となるように折れ線近似を行うこと
    により点列を生成し、当該点列を通過する3次スプライ
    ン曲線を生成し、各通過点間の区間が区間内に曲線の変
    曲点を持つか否かを評価し、変曲点を持つと判定された
    区間に対しては元の曲線と発生した3次スプライン曲線
    の誤差が許容値以内であるかを評価し、誤差が許容値を
    超える場合には当該区間内に通過点を追加して前記点列
    を再構成することを特徴とする曲線の微小線分化方法。
  2. 【請求項2】 通過点の追加があった場合には、再構成
    した点列から再度この点列を通過する3次スプライン曲
    線を生成し、各通過点間の区間が区間内に曲線の変曲点
    を持つか否かを評価し、変曲点を持つと判定された区間
    に対して元の曲線と発生した3次スプライン曲線の誤差
    が許容値以内であるかを評価し、誤差が許容値を超える
    場合には当該区間内に通過点を追加して前記点列を再構
    成する過程を、新規の通過点の追加がなくなるまで繰り
    返すことを特徴とする請求項1に記載の曲線の微小線分
    化方法。
  3. 【請求項3】 前記区間内に曲線の変曲点を持つか否か
    の評価を、当該区間のスプライン曲線の始点ベクトル、
    区間の線分の方向ベクトル、スプライン曲線の終点ベク
    トルがジグザグ状に連続するか否かと、線分の方向ベク
    トルに対するスプライン曲線の始点ベクトルおよび終点
    ベクトルの2つの角度の比が基準値よりも大きいか否か
    の判別により行うことを特徴とする請求項1または2に
    記載の曲線の微小線分化方法。
  4. 【請求項4】 曲線加工軌道上に離散的にとられた通過
    点列に対して、各通過点間を滑らかに接続する各区間に
    おけるスプライン曲線を決定するスプライン曲線決定手
    段と、 各区間において決定されたスプライン曲線と該区間の線
    分との誤差が許容値を超えるか否かを判定し、前記誤差
    が許容値を超える場合には該区間におけるスプライン曲
    線を前記線分に近づくように修正するスプライン曲線修
    正手段と、 を有していることを特徴とするスプライン補間機能を有
    する数値制御装置。
  5. 【請求項5】 前記スプライン曲線修正手段によるスプ
    ライン曲線の修正は、当該区間の両端点におけるスプラ
    イン曲線の接線ベクトルを、当該区間のスプライン曲線
    と線分との誤差が許容値以内になるよう当該区間の両端
    点におけるスプライン曲線の接線ベクトルの大きさを小
    さくすることにより行うことを特徴とする請求項4に記
    載のスプライン補間機能を有する数値制御装置。
  6. 【請求項6】 前記スプライン曲線修正手段によるスプ
    ライン曲線の修正は、当該区間の両端点におけるスプラ
    イン曲線の接線ベクトルを、当該区間のスプライン曲線
    と線分との変曲点を誤差が許容値以内になるよう当該区
    間の両端点におけるスプライン曲線の接線ベクトルの方
    向を当該線分に平行なベクトルの方向に近づけることに
    より行うことを特徴とする請求項4に記載のスプライン
    補間機能を有する数値制御装置。
JP4183897A 1997-02-26 1997-02-26 曲線の微小線分化方法およびスプライン補間機能を有する数値制御装置 Expired - Fee Related JP3366213B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4183897A JP3366213B2 (ja) 1997-02-26 1997-02-26 曲線の微小線分化方法およびスプライン補間機能を有する数値制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4183897A JP3366213B2 (ja) 1997-02-26 1997-02-26 曲線の微小線分化方法およびスプライン補間機能を有する数値制御装置

Publications (2)

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

Family

ID=12619409

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4183897A Expired - Fee Related JP3366213B2 (ja) 1997-02-26 1997-02-26 曲線の微小線分化方法およびスプライン補間機能を有する数値制御装置

Country Status (1)

Country Link
JP (1) JP3366213B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016103206A (ja) * 2014-11-28 2016-06-02 ファナック株式会社 形状誤差を保証する工具経路の曲線化方法および曲線化装置

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001034774A (ja) * 1999-07-21 2001-02-09 Ricoh Co Ltd 自由曲線の近似変換方法、装置及び記録媒体
JP4566370B2 (ja) * 2000-09-06 2010-10-20 サンデン株式会社 車両用空調装置
JP4736607B2 (ja) * 2005-08-05 2011-07-27 株式会社デンソーウェーブ ロボット制御装置
JP4969484B2 (ja) * 2008-02-25 2012-07-04 三菱重工業株式会社 数値制御装置
JP2011096077A (ja) * 2009-10-30 2011-05-12 Makino Milling Mach Co Ltd 工具経路の生成方法及び装置
JP5615377B2 (ja) * 2010-10-25 2014-10-29 株式会社牧野フライス製作所 工具経路の生成方法および生成装置
WO2017019869A1 (en) * 2015-07-28 2017-02-02 The Regents Of The University Of Michigan Use of filtered basis splines to compensate servo-induced motion errors
JP7037457B2 (ja) * 2018-09-05 2022-03-16 オークマ株式会社 数値制御装置および数値制御方法
CN109348156B (zh) * 2018-11-29 2020-07-17 广州视源电子科技股份有限公司 课件录制和播放方法、装置、智能交互平板及存储介质
WO2020178978A1 (ja) * 2019-03-05 2020-09-10 三菱電機株式会社 加工プログラム変換装置、数値制御装置および加工プログラム変換方法
JP6863497B1 (ja) * 2020-03-11 2021-04-21 オムロン株式会社 コントローラシステムおよびその制御方法
CN113687629B (zh) * 2020-05-19 2022-09-20 大族激光科技产业集团股份有限公司 激光cam加工的圆弧直线拟合方法、系统、设备及存储介质
CN113721551A (zh) * 2020-05-26 2021-11-30 沈机(上海)智能系统研发设计有限公司 数控加工方法和数控加工设备
CN114488941A (zh) * 2020-11-11 2022-05-13 沈机(上海)智能系统研发设计有限公司 微小线段的轨迹光顺方法、介质及机床数控设备
CN113835397B (zh) * 2021-06-30 2024-02-09 浙江大学 基于b样条曲线和路径积分的线性数控加工路径平滑方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016103206A (ja) * 2014-11-28 2016-06-02 ファナック株式会社 形状誤差を保証する工具経路の曲線化方法および曲線化装置
US10088825B2 (en) 2014-11-28 2018-10-02 Fanuc Corporation Tool path curve generation method and tool path curve generation apparatus

Also Published As

Publication number Publication date
JPH10240329A (ja) 1998-09-11

Similar Documents

Publication Publication Date Title
JP3366213B2 (ja) 曲線の微小線分化方法およびスプライン補間機能を有する数値制御装置
KR880002556B1 (ko) 곡면 생성방법
CN104793560B (zh) 用于生成轨迹的方法和系统
KR900003123B1 (ko) 자유표면 평가방법 및 그의 nc 시스템
JP3396342B2 (ja) スプライン補間機能を有する数値制御装置
CN106826829A (zh) 一种可控误差的工业机器人光顺运动轨迹生成方法
JPS6282486A (ja) オンライン手書き図形認識装置
JPS61246877A (ja) 図形変換装置
CN113687629B (zh) 激光cam加工的圆弧直线拟合方法、系统、设备及存储介质
JPH04243487A (ja) 三次元立体形状処理方式
CN114237161B (zh) 一种基于数字滤波的工业机器人nurbs曲线插补方法
US6609045B1 (en) File conversion apparatus for machining program of numerical control system and computer readable recording medium for storing program for computer to execute file conversion process
CN111610751B (zh) 过点集nurbs插值曲线的插值误差多次细分迭代计算方法
KR100501907B1 (ko) 방향지도를 이용한 기하도형의 모핑 방법
JP4610873B2 (ja) ソリッドモデル上に数値制御ツールパスを生成する方法、コンピュータ記憶媒体及びシステム
CN115857432A (zh) 基于曲率极大值优化的刀具轨迹光顺方法和系统
CN114019911B (zh) 一种基于速度规划的曲线拟合方法
JPH07160870A (ja) 近似曲線生成装置
JPH0613213B2 (ja) 文字画像データ圧縮用ブロック設定方法
JPH0561980A (ja) 線分描画装置
JP2001229407A (ja) 数値解析用モデル作成装置、数値解析用モデル作成方法および記憶媒体
JPH03245209A (ja) ロボットの経路補間方法
CN117601135B (zh) 智能砌墙机器人姿态调整方法及系统
JPH06274308A (ja) ベジェ曲線均等肉付け作成処理方法
CN114748100B (zh) 超声波扫查的控制方法、视觉伺服系统及可读存储介质

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