JPH0935054A - スプライン補間機能を有する数値制御装置 - Google Patents

スプライン補間機能を有する数値制御装置

Info

Publication number
JPH0935054A
JPH0935054A JP7180409A JP18040995A JPH0935054A JP H0935054 A JPH0935054 A JP H0935054A JP 7180409 A JP7180409 A JP 7180409A JP 18040995 A JP18040995 A JP 18040995A JP H0935054 A JPH0935054 A JP H0935054A
Authority
JP
Japan
Prior art keywords
spline curve
point
spline
interpolation
section
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
JP7180409A
Other languages
English (en)
Other versions
JP3396342B2 (ja
Inventor
Daisuke Fujino
大助 藤野
Tomonori Satou
智典 佐藤
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 JP18040995A priority Critical patent/JP3396342B2/ja
Priority to US08/630,765 priority patent/US5723961A/en
Priority to DE19618332A priority patent/DE19618332A1/de
Publication of JPH0935054A publication Critical patent/JPH0935054A/ja
Application granted granted Critical
Publication of JP3396342B2 publication Critical patent/JP3396342B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/34093Real time toolpath generation, no need for large memory to store values
    • 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/34135Spline
    • 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/43Speed, acceleration, deceleration control ADC
    • G05B2219/43009Acceleration deceleration for each block of data, segment
    • 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/43Speed, acceleration, deceleration control ADC
    • G05B2219/43062Maximum acceleration, limit
    • 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/43Speed, acceleration, deceleration control ADC
    • G05B2219/43203Limitation of speed, permissible, allowable, maximum speed

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Image Processing (AREA)

Abstract

(57)【要約】 【課題】 曲線加工軌道上に離散的にとられた通過点列
を逐次的に読みとり、それらの点列を滑らかに通過する
スプライン曲線を発生し、発生したスプライン曲線に従
った軌道の補間をリアルタイムに行う。 【解決手段】 指定点の接線ベクトルを近似的に計算す
ることを任意回数繰り返して各指定点の接線ベクトルを
求めスプライン曲線を決定する手段と、決定されたスプ
ライン曲線の曲率半径を推定して速度を制御する手段
と、決定されたスプライン曲線上決められた速度で補間
する手段を備える。 【効果】 滑らかなスプライン曲線をリアルタイムで発
生、補間でき加工の効率と精度を向上できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、数値制御装置に
関するものであり、特に、スプライン補間機能により与
えられた点列を通過して滑らかな補間制御を行う数値制
御装置に関するものである。
【0002】
【従来の技術】従来、数値制御装置において、空間上の
自由曲線を移動経路として制御する場合、予めその曲線
を微小区間に分割して微小線分データとして近似して数
値制御装置に与え、その微小線分データを用いて移動経
路を直線補間する方法が一般に採られている。
【0003】自由曲線を微小線分に近似する代表的な方
法としては、図24に示されているに、許容誤差εを設
定し、曲線上の指定点(通過点)を結ぶ線分と曲線との
距離が許容誤差εを超えないように指定点を設定する。
【0004】
【発明が解決しようとする課題】工具軌跡を直線補間に
より精度よく制御するためには、許容誤差εを小さく設
定する必要がある。しかしこの場合には、微小線分が極
めて短く、また指定点数も膨大になるため、加工指令プ
ログラムが長くなる、直線補間した際の加工速度が上が
らないなどの問題がある。
【0005】このような問題を回避するためには、許容
誤差εをある程度大きくとって、曲線上の指定点を荒く
とり、この指定点間を直線補間ではなく、スプライン曲
線補間により制御することが望まれる。しかし、完全な
スプライン補間を実行するためには、以下に示すような
膨大な計算を実行する必要があり、実時間処理が要求さ
れる数値制御装置において、その機能を備えることは現
実的には不可能である。
【0006】公知の曲線理論(例えば「形状処理工学
(I)」山口富士夫著、日刊工業新聞社刊)によると、
n個の指定点P1 ,P2 ,P3 ,…Pn を滑らかに通過
する3次スプライン曲線上の点P(t) は、指定点Pj-1
から指定点Pj の図25に示す区間において、式(1)
で表現される。
【0007】
【数1】 ここで、qj は指定点Pj における単位接線ベクトルで
あり、cj はPj-1 からPj までの距離である。また、
tは曲線パラメータであり、0≦t≦1である。
【0008】式(1)により示されるスプライン曲線
は、指定点Pj (j=1,2,3,…,n)を必ず通過
するが、単位接線ベクトルqj が適切に設定されない
と、各指定点において2次微分が連続にならない。2次
微分が各指定点Pj (j=2,3,…,n−1)におい
て連続となるための条件は、
【数2】 である。
【0009】なお、端点ql とqn については、以下の
端点条件を追加する。
【0010】 (i)端点での接線ベクトルを与える場合: ql =given value …(3a) qn =given value …(3b) (ii)端点での曲率を0とする場合: 2c2 1 +c2 3 =3(P2 −P1 ) …(4a) cn n-1 +2cn n =3(Pn −Pn-1 ) …(4b) 式(2),(3a),(3b)、または式(2),(4
a),(4b)のn個の連立方程式を解くことによっ
て、一括して接線ベクトルqj を求められれば、全区間
の3次スプライン曲線が求められる。
【0011】しかし、そのためにはn個の全指定点を読
み取り、n×nの逆行列を求めなくてはならず、その計
算量は指定点個数nの増加と共に爆発的に増大し、数値
制御装置の短いサンプリング時間で、この逆行列を計算
することは不可能であった。
【0012】本発明は、このような問題点に鑑みてなさ
れたものであり、通過を指定された全点列のうち、少な
い点数から順次スプライン曲線を計算し、リアルタイム
で、スプライン曲線に従った軌跡の補間を行える数値制
御装置を提供することを目的としている。
【0013】
【課題を解決するための手段】上述の目的を達成するた
めに、この発明による数値制御装置は、スプライン補間
機能を有する数値制御装置において、所望の曲線加工軌
道上に離散的にとられた通過点に対して、その各通過点
の接線ベクトルの近似計算を任意回数繰り返し行い、各
通過点間を滑らかに接続するスプライン曲線を決定する
スプライン曲線決定手段と、前記スプライン曲線決定手
段によって決定されたスプライン曲線に従って工具が移
動する時に法線加速度が許容値以内となるように工具移
動速度を計算する速度制御手段と、補間時間当たりのス
プライン曲線上の移動量を計算する補間手段とを有する
ものである。
【0014】したがって、スプライン曲線決定手段が所
望の曲線加工軌道上に離散的にとられた各通過点の接線
ベクトルの近似計算を任意回数繰り返し行う。この近似
計算の繰り返し回数をk回とすると、終点までの全通過
点を読みとらなくともk点先の通過点Pj+k を読みとっ
ていけば、通過点Pj の接線ベクトルを簡単な計算によ
って求めて通過点Pj-1 とPj の間のスプライン曲線を
逐次発生し、各通過点間を滑らかに接続するスプライン
曲線が得られる。
【0015】速度制御手段は、決定された各通過点間の
スプライン曲線ごとに法線加速度が許容値以内となるよ
うに工具移動速度を計算する。これにより補間誤差が許
容値を超えない指令速度が得られる。
【0016】そして補間手段はスプライン曲線決定手段
によって決定されたスプライン曲線上の補間時間当たり
の移動量を計算する。
【0017】次の発明による数値制御装置は、前記速度
制御手段が、一つのスプライン曲線区間の両端点におけ
る法線加速度が許容値以内になるように該区間の工具移
動速度を設定することを特徴としている。
【0018】したがって、速度制御手段は、一つのスプ
ライン曲線区間の両端点における法線加速度が許容値以
内になるように該区間の工具移動速度を設定する。これ
により一つのスプライン曲線区間の両端点において補間
誤差が許容値を超えない指令速度が得られる。
【0019】次の発明による数値制御装置は、スプライ
ン補間機能を有する数値制御装置において、所望の曲線
加工軌道上に離散的にとられた通過点に対して、その各
通過点の接線ベクトルの近似計算を任意回数繰り返し行
い、各通過点間を滑らかに接続するスプライン曲線を決
定するスプライン曲線決定手段と、前記スプライン曲線
決定手段によって決定されたスプライン曲線に従って工
具が直線移動する時に、その直線とスプライン曲線との
最大離間距離が許容値以内になるように工具移動速度を
計算する速度制御手段と、補間時間当たりのスプライン
曲線上の移動量を計算する補間手段とを有するものであ
る。
【0020】したがって、スプライン曲線決定手段が所
望の曲線加工軌道上に離散的にとられた各通過点の接線
ベクトルの近似計算を任意回数繰り返し行う。この近似
計算の繰り返し回数をk回とすると、終点までの全通過
点を読みとらなくともk点先の通過点Pj+k を読みとっ
ていけば、通過点Pj の接線ベクトルを簡単な計算によ
って求めて通過点Pj-1 とPj の間のスプライン曲線を
逐次発生し、各通過点間を滑らかに接続するスプライン
曲線が得られる。
【0021】速度制御手段は、スプライン曲線に従って
工具が直線移動する時に、その直線とスプライン曲線と
の最大離間距離が許容値以内になるように工具移動速度
を計算する。これにより補間誤差が許容値を超えない指
令速度が得られる。
【0022】そして補間手段はスプライン曲線決定手段
によって決定されたスプライン曲線上の補間時間当たり
の移動量を計算する。
【0023】次の発明による数値制御装置は、前記速度
制御手段が、直線とスプライン曲線との最大離間距離を
スプライン曲線区間の最大曲率により捉え、最大曲率に
基づいて直線とスプライン曲線との最大離間距離が許容
値以内になるように工具移動速度を計算することを特徴
としている。
【0024】したがって、速度制御手段は、直線とスプ
ライン曲線との最大離間距離をスプライン曲線区間の最
大曲率により捉え、最大曲率に基づいて直線とスプライ
ン曲線との最大離間距離が許容値以内になるように工具
移動速度を計算する。これにより複雑な計算を要するこ
となく補間誤差が許容値を超えない指令速度が得られ
る。
【0025】次の発明による数値制御装置は、前記スプ
ライン曲線決定手段が、連続する3つの通過点の位置関
係およびこの3つの通過点のうち第1点と第3点の接線
ベクトルから、中間の第2点の接線ベクトルを近似的に
計算することを任意回数繰り返して各通過点の接線ベク
トルを求めることを特徴としている。
【0026】したがって、スプライン曲線決定手段は、
連続する3つの通過点の位置関係およびこの3つの通過
点のうち第1点と第3点の接線ベクトルから、中間の第
2点の接線ベクトルを近似的に計算することを任意回数
繰り返して各通過点の接線ベクトルを求める。これによ
り終点までの全通過点を読みとらなくとも2点先の通過
点を読みとっていけば、現通過点(第2点)の接線ベク
トルを簡単な計算によって求めて一つ前の通過点と現通
過点との間のスプライン曲線を逐次発生し、各通過点間
を滑らかに接続するスプライン曲線が得られる。
【0027】次の発明による数値制御装置は、前記補間
手段が、補間時間のスプラインパラメータの変化量算出
にあたって、まず前回の補間時間のパラメータ変化量を
仮のパラメータ変化量としてスプライン曲線上の座標値
を求めて移動量を算出し、次にこの移動量が目標移動量
と一致するように収束演算を行い、当該収束演算により
真のパラメータ移動量を算出することを特徴としてい
る。
【0028】したがって、補間手段は、補間時間のスプ
ラインパラメータの変化量算出にあたって、まず前回の
補間時間のパラメータ変化量を仮のパラメータ変化量と
してスプライン曲線上の座標値を求めて移動量を算出
し、次にこの移動量が目標移動量と一致するように収束
演算を行い、当該収束演算により真のパラメータ移動量
を算出する。これによりスプライン曲線に対してトレー
ス性が高い直線補間が行われる。
【0029】次の発明による数値制御装置は、前記補間
手段が、補間時間のスプラインパラメータの変化量算出
にあたって、まず前回の補間時間のパラメータ変化量を
仮のパラメータ変化量としてスプライン曲線上の座標値
を求めて移動量を算出し、次にこの移動量が目標移動量
と一致するようにパラメータ変化量の計算を任意回数繰
り返し行い、この繰り返し計算により真のパラメータ移
動量を算出することを特徴としている。
【0030】したがって、前記補間手段は、補間時間の
スプラインパラメータの変化量算出にあたって、まず前
回の補間時間のパラメータ変化量を仮のパラメータ変化
量としてスプライン曲線上の座標値を求めて移動量を算
出し、次にこの移動量が目標移動量と一致するようにパ
ラメータ変化量の計算を任意回数繰り返し行い、この繰
り返し計算により真のパラメータ移動量を算出する。こ
れにより妥当な演算時間でスプライン曲線に対してトレ
ース性が比較的高い直線補間が行われる。
【0031】次の発明による数値制御装置は、前記スプ
ライン曲線決定手段が、前記所望の曲線加工軌道上に離
散的にとられた通過点に対して、始点から所定ブロック
以上が同一方向に進行する点列の区間、あるいは終点の
手前の所定ブロック以上が同一方向に進行する点列の区
間、あるいは始点、終点を含まず所定ブロック以上が同
一方向に進行する点列の区間を直線区間とし、その他の
点列の区間をスプライン曲線区間とすることを特徴とし
ている。
【0032】したがって、前記スプライン曲線決定手段
は、前記所望の曲線加工軌道上に離散的にとられた通過
点に対して、始点から所定ブロック以上が同一方向に進
行する点列の区間、あるいは終点の手前の所定ブロック
以上が同一方向に進行する点列の区間、あるいは始点、
終点を含まず所定ブロック以上が同一方向に進行する点
列の区間を直線区間とし、その他の点列の区間をスプラ
イン曲線区間とする。これによりスプライン曲線を構成
する通過点列の中に直線部分があっても、この直線部分
がこれに連続する曲線部分の影響を受けて直線とはなら
ないことが回避される。
【0033】次の発明による数値制御装置は、前記スプ
ライン曲線決定手段が、直線区間と分離されたスプライ
ン曲線区間のスプライン曲線決定にあたって、直線区間
とスプライン曲線区間との境界点におけるスプライン曲
線の接線ベクトルを直線区間の方向を示す単位ベクトル
で与えることを特徴としている。
【0034】したがって、スプライン曲線決定手段は、
直線区間と分離されたスプライン曲線区間のスプライン
曲線決定にあたって、直線区間とスプライン曲線区間と
の境界点におけるスプライン曲線の接線ベクトルを直線
区間の方向を示す単位ベクトルで与える。これによりス
プライン曲線を構成する通過点列の中に直線部分があっ
ても、この直線部分がこれに連続する曲線部分の影響を
受けて直線とはならないことが回避される。
【0035】次の発明による数値制御装置は、前記スプ
ライン曲線決定手段が、直線区間ではスプライン曲線の
3次の係数と2次の係数を各々0とすることにより直線
を与えることを特徴としている。
【0036】したがって、スプライン曲線決定手段は、
直線区間ではスプライン曲線の3次の係数と2次の係数
を各々0とすることにより直線を与える。これによりス
プライン曲線を算出する演算と同等の演算で簡単に直線
部分が得られる。
【0037】
【発明の実施の形態】以下に添付の図を参照して本発明
を実施例について詳細に説明する。
【0038】[実施例1]図1は本発明による数値制御
装置の要部構成の実施例1を示している。
【0039】数値制御装置1は、曲線経路上の通過点
(指定点)列Pj (j=1,2,…,n)及び最高速度
指令値F0 を入力する指令入力部1と、指令入力部1に
入力された通過点列Pj (j=1,2,…,n)から各
区間毎のスプライン曲線を決定し、各軸のスプライン係
数を出力するスプライン曲線決定部2と、スプライン曲
線決定部2にて計算した各軸のスプライン係数および指
令入力部1に入力された最高速度指令値F0 と許容加速
度αから補間速度Fを求める速度制御部3と、スプライ
ン曲線決定部2にて計算した各軸のスプライン係数およ
び速度制御部3にて計算した補間速度Fからサンプリン
グ時間毎の曲線補間の演算を行う補間演算部4とを有
し、補間演算部4にて算出した各軸の座標値Px(t),P
y(t),Pz(t)による位置指令を各軸サーボ系で構成され
るサーボ駆動部5へ出力する。
【0040】(スプライン曲線計算原理)先ず、指令入
力部1からスプライン曲線決定部2へのデータの流れ、
およびスプライン曲線決定部2における演算内容を説明
するために、本発明装置におけるスプライン曲線計算原
理について説明する。
【0041】上述の式(2)を変形すると、
【数3】 となる。
【0042】ここで、uj は、指定点Pj-1 からPj
向かう単位ベクトルであり、式(7)により示される。
【0043】 uj =(Pj −Pj-1 )/cj …(7) 本発明装置では、式(6)を満たす各指定点の近似的な
接線ベクトルを求め、繰り返し計算によって、その精度
を段階的に向上させることを基本的なスプライン曲線計
算原理としている。
【0044】以下、繰り返しk回目の指定点Pj におけ
る単位接線ベクトルをqj k で表し、その計算手順を
示す。
【0045】(過程1)k=0とする。3つの指定点P
j-1 ,Pj およびPj+1 を通過し、指定点Pj- 1 におけ
る単位ベクトルがuj 、点Pj+1 における単位ベクトル
がuj+1 となるようなスプライン曲線を求める。すなわ
ち、式(6)から指定点Pj における接線ベクトルqj
1 は、次の式(8)により算出する。
【0046】
【数4】 始点(j=1)と終点(j=n)に関しては、端点にお
ける曲率を0として、式(4a)、式(4b)よりそれ
ぞれ、
【数5】 で求める。
【0047】(過程2)つぎに、k←k+1とする。3
つの指定点Pj-1 ,Pj およびPj+1 を通過し、指定点
j-1 における接線ベクトルがqj-1 k 、指定点P
j+1 における接線ベクトルがqj+1 k となるようなス
プライン曲線を求める。ここでは、式(6)より、
【数6】 とする。
【0048】接線ベクトq1 k+1 とqn k+1 に関し
ては、過程1における場合と同様に、それぞれ式
(9),(10)から求める。
【0049】(過程3)過程2以降を任意の回数繰り返
す。
【0050】以上の過程により、繰り返し回数を適当に
設定すれば、理論的なスプライン曲線に近い近似的なス
プライン曲線を得ることができる。実際には繰り返し回
数2回(qj 2 まで求め)程度で、実用的なスプライ
ン曲線を得ることができる。
【0051】図2はj=1、2、・・・、8(P8 が終
点)として、qj 2 まで求める過程を概念的に示して
いる。
【0052】以上のスプライン曲線計算原理をもとに、
指令入力部1およびスプライン曲線決定部2における計
算内容を説明する。以下、j=1、2、・・・、8(n
=8)とし、P8 が終点として説明する。
【0053】(単位ベクトルの計算)図3は指令入力部
1における処理の概略フローを示している。
【0054】指令入力部1にスプライン補間の指令が入
力されると、図3の処理フローが起動される。
【0055】まず、ステップS101では、開始点から
の3個の指定点P1 、P2 、P3 の座標値を入力し、ス
テップS102では、指定点P1 から指定点P2 までの
距離c2 、および指定点P2 から指定点P3 までの距離
3 を求め、次に式(7)によりそれぞれの単位ベクト
ルu2 、u3 を求める。
【0056】ステップS103では、j=3に初期化
し、ステップS104では、j+1→j(j=4)とす
る。
【0057】次にステップS105では、指定点P4
座標値を入力し、ステップS106では、指定点P3
ら指定点P4 までの距離c4 およびその単位ベクトルu
4 を計算する。
【0058】次にステップS107では、指令入力部1
は指定点座標P1 、P2 、P3 、P 4 、各指定点間距離
2 、c3 、c4 、および単位ベクトルu2 、u3 、u
4 をスプライン曲線決定部2に出力する。ステップS1
07では、スプライン曲線決定部2が出力したデータを
受け取ったことを確認した後、次ステップS108に進
む。この時後述するようにスプライン曲線決定部2では
指定点P1 〜P2 の区間のスプライン曲線を決定する。
【0059】ステップS108では、j=nであるか否
か、すなわちPj が終点であるか否かをチェックし、j
≠n(j=4,n=8)であれば、ステップS104に
ループし、j+1→jとする。
【0060】j≧5の場合には、ステップS105で指
定点Pj の座標値を入力し、ステップS106で指定点
j-1 から指定点Pj までの距離cj およびその単位ベ
クトルuj を計算する。
【0061】次にステップS107では、指令入力部1
は指定点座標Pj 、指定点間距離c j 、および単位ベク
トルuj をスプライン曲線決定部2に出力する。ステッ
プS107ではスプライン曲線決定部2が出力したデー
タを受け取ったことを確認した後、次ステップSに進
む。この時後述するようにスプライン曲線決定部2では
指定点Pj-3 〜Pj-2 の区間のスプライン曲線を決定す
る。
【0062】ステップS108では、j=nであるか否
か、すなわちPj が終点であるか否かをチェックし、j
≠nであれば、ステップS104にループし、j=nで
あれば、処理を終了する。
【0063】(接線ベクトルの計算)次に図4によりス
プライン曲線決定部2の処理について説明する。
【0064】スプライン曲線決定部2に指令入力部1か
らデータが入力される(図5ステップS107)と、図
4の処理フローが起動される。まず、ステップS201
では、j=4であれば、指定点座標P1 、P2 、P3
4 、各指定点間距離c2 、c3 、c4 、および単位ベ
クトルu2 、u3 、u4 を入力する。また、j≧5であ
れば、指定点座標Pj 、指定点間距離cj 、および単位
ベクトルuj を入力する。
【0065】次にステップS202では、j=4である
か否か(始点を含む処理か?)をチェックし、j=4で
あれば、ステップS203にて、式(8)から次式(1
2)により指定点P2 の接点ベクトルq2 1 を求め
る。
【0066】
【数7】 さらにステップS204では、式(9)から次式(1
3)により開始点P1 の接線ベクトルq1 1 を求め
る。
【0067】
【数8】 次にステップS205では、次式(14)により指定点
j-1 の接線ベクトルqj-1 1 を求める。
【0068】
【数9】 次にステップS206では、次式(15)により指定点
j-2 の接線ベクトルqj-2 1 を求める。
【0069】
【数10】 次にステップS207では、j=4であるか否か(始点
を含む処理か?)をチェックし、j=4であれば、次式
(16)によ開始点P1 の接線ベクトルq1 2 を求め
る。
【0070】
【数11】 以上の処理で、通過点Pj-3 、Pj-2 の接線ベクトルq
j-3 2 、qj-2 2が確定するので、ステップS209
において、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) で与えられる。
【0071】ステップS210では、j=nである否か
(Pj が終点か?)をチェックし、j≠nであれば、処
理を終了するが、j=n(Pj が終点)の場合は以下に
示す終点の処理を行う。
【0072】まずステップS211において、式(1
0)から次式(19)により終点Pnにおける接線ベク
トルqn 1 を求める。
【0073】
【数12】 次にステップS212において、次式(20)により指
定点Pn-1 の接線ベクトルqn-1 2 を求める。
【0074】
【数13】 次にステップS213において、Pj-3 〜Pj-2 の区間
におけるスプライン曲線P(t) を式(17a)〜(17
d)で、j=n+1とおくことにより、式(18)によ
って求める。
【0075】最後に最終区間Pn-1 〜Pn におけるスプ
ライン曲線を求める。ステップS214で終点Pn にお
ける接線ベクトルqn 2 を式(10)から次式(2
1)によって求める。
【0076】
【数14】 次にステップS213において、Pj-3 〜Pj-2 の区間
におけるスプライン曲線P(t) を式(17a)〜(17
d)で、j=n+2とおくことにより、式(18)によ
って求める。
【0077】以上の図3、図4の処理フローから明らか
なように、指令入力部1が、開始点を含む4点P1 、P
2 、P3 、P4 を入力した段階で、スプライン曲線決定
部2は最初の区間P1 〜P2 のスプライン曲線を決定す
る(図5のA)。その後、新しい指定点Pj (j>4)
を入力する毎に区間Pj-3 〜Pj-2 のスプライン曲線が
決定する(図5のB)。そして、終点Pn を入力した段
階で3つの区間Pn-3〜Pn-2 、Pn-2 〜Pn-1 、P
n-1 〜Pn に対応するスプライン曲線が決定する(図5
のC,(n=8の例))。
【0078】(速度制御)次に図1の速度制御手段3の
処理内容について説明する。
【0079】スプライン曲線決定部2で決定したスプラ
イン曲線に沿って最高速度指令値F 0 を規定して工具を
移動制御することを目標とするが、曲線の曲率半径が小
さい場合には曲線の法線方向に機械の許容値を超える過
大な加速度が作用する場合がある。
【0080】速度制御手段3においては、各区間のスプ
ライン曲線について法線方向の加速度が機械の許容値を
超えないように速度指令値を制限する。
【0081】スプライン曲線決定部2で決定したスプラ
イン曲線の位置ベクトルは、上述の式(18)により与
えられる P(t) =K3 3 +K2 2 +K1 t+K0 (0≦t≦1) …(18再掲) 従って、これを曲線パラメータtで微分した速度ベクト
ルvj t)、加速度ベクトルaj (t) は、 v(t) =P' (t) =3K3 2 +2K2 t+K1 …(22) a(t) =P" (t) =6K3 t+2K2 …(23) となる。
【0082】ここで接線方向の単位ベクトルuj (t)
を、
【数15】 とおくと、法線方向の加速度ベクトルb(t) は図6か
ら、 b(t) =a(t) −(a(t) u(t) )u(t) …(25) で与えられる。
【0083】従って、パラメータtにおける曲率κ(t)
、曲率半径ρ(t) は、
【数16】 となるから、曲線上を速度Fで移動する時の法線方向の
加速度の大きさα(t) は、 α(t) =κ(t) F2 …(26) で与えられる。
【0084】従って、曲率κ(t) の最大値をκmax とす
ると、曲線の全区間にわたって許容加速度αを超えない
ような送り速度Fmax は式(27)より次式で与えられ
る。
【0085】
【数17】 式(26)からわかるように、スプライン曲線の曲率は
1ブロック内で一定ではなく、そのブロック内の位置、
すなわち、曲線パラメータによって異なった値をとる。
全ての指定点において、法線加速度が許容値以下になる
ような速度を求めるためには、曲線区間内の曲率の最大
値を知る必要がある。この曲率の最大値を次のように推
定する。
【0086】1ブロック内のv(t) が変化が小さい時に
は、曲線区間の端点(t=0か1)で、a(t) が最大と
なる。そこで、曲率の最大値は端点での値とする。さら
に、端点においては、加速度=ほぼ法線加速度で、か
つ、a(t) とv(t) はほぼ垂直(式(25)の内積の項
はほぼ0になる)なので、式(25)で、法線加速度b
(t) の代わりに加速度a(t) を用いる。すなわち次式
(29)により曲率の最大値κmax を推定する。
【0087】
【数18】 図7は速度制御部3の処理フローを示している。
【0088】先ずステップS301にてプライン曲線決
定部2からスプライン係数K3 、K 2 、K1 、K0 を、
指令入力部1から最高速度指令値F0 を入力する。
【0089】次にステップS302で、始点における曲
率推定値κ’(0) 、および終点における曲率推定値κ’
(1) を式(22)(23)(30)から次式(31)、
(32)により求める。
【0090】
【数19】 次にステップS303で、式(29)よりκmax を求
め、さらにステップS304で式(28)により許容加
速度αを超えないような送り速度Fmax を計算する。
【0091】最後にステップS305で、次式(33)
により最高速度指令値F0 とFmaxの小さい方を送り速
度指令値Fとする。
【0092】 F=min(F0 ,Fmax ) …(33) 以上の処理過程により、1つのスプライン曲線区間にお
いて、最高速度指令値以内で、法線加速度が許容加速度
を超えない送り速度指令値Fが得られる。
【0093】(補間演算)次に補間演算部4の処理につ
いて説明する。補間演算部4では、スプライン曲線決定
部2から入力したスプライン曲線上に補間周期(補間時
間)ΔTごとに、速度制御部3から入力した速度指令値
Fに従って、図8に示すように現在の点からの長さが指
定した補間長さ(目標補間長さ)となるような点(補間
点)を求め、その座標値をサーボ駆動部5に出力する。
【0094】このような補間点は厳密には求めることが
できないので、補間点近傍の曲線パラメータの変化率を
用いて、以下の手順に従って繰返し計算によって求め
る。
【0095】指令された送り速度Fに基づいた補間周期
ΔTにおける目標補間長さlengは、 leng=F×ΔT …(34) となる。
【0096】ここでは、現在のパラメータt=ti にお
けるスプライン曲線上の点P(ti )から補間長さlen
gだけ移動した点P(t i+1)を求める場合を考える。
【0097】(過程1)一時刻前の補間点をP(ti-1)と
する。パラメータ変化Δti と移動距離Li を Δti =ti −ti-1 …(35) ΔLi =|P(ti ) −P(ti-1)| …(36) と定義して、目標とする点P(ti+1)のパラメータti+1
を次のように仮決めする。
【0098】
【数20】 (過程2)仮決めされたti+1 から補間点の位置P(t
i+1)を計算する。
【0099】(過程3)P(ti+1)はP(ti ) からの移動
距離が補間長さlengとなるようにパラメータti+1
を定めたのであるが、曲線上の位置によってパラメータ
変化に対する移動距離の比が厳密には一定でないため、
図9に示すように実際の移動距離は目標補間長さとは異
なってくる。従って、パラメータ変化Δti+1 (=t
i+1 −ti)に対する実際の移動距離ΔLi+1 (=|P
(ti+1)−P(ti ) |)からパラメータ変化に対する移動
距離の比を修正し、式(38)に従って目標点P(ti+1)
のパラメータti+1 を求め直す。
【0100】
【数21】 上述の過程2と過程3とを繰り返すことで、精度よく目
標の移動距離に対応したパラメータ設定ができる。
【0101】図10は以上の計算原理に従った補間演算
部4の処理フローを示している。
【0102】まず、ステップS401では、指令された
送り速度Fと補間周期ΔTから目標補間長さleng=
F×ΔTを求める。
【0103】次にステップS402では、初めて当該ス
プライン曲線区間に進入したか否かをチェックし、既に
当該スプライン曲線上を補間していたのであれば、ステ
ップS404で式(35)、(36)の直前のパラメー
タ変化量Δti および移動距離Li を用いて、 Δti+1 =Δti …(39) ΔLi+1 =ΔLi …(40) とおく。
【0104】これに対し、初めて当該スプライン曲線に
進入したのであれば、過去のパラメータの変化率が利用
できないので、ステップS403でブロック長さlmを
用いると、パラメータtが0から1まで変化する間に距
離lmを移動するから、 Δti+1 =1 …(41) ΔLi+1 =lm …(42) とおくと、この時にはti =0である。
【0105】次にステップS405では、繰り返し回数
をk=0に初期化し、ステップS406では、k+1→
kとする。
【0106】次にステップS407では、次式によりパ
ラメータti+1 を求める。
【0107】
【数22】 次にステップS408では、求まったパラメータti+1
が1より大きいか否かをチェックし、ti+1 ≧1であれ
ば、ステップS411にてti+1 =1としてブロックの
終点P(1) を目標点とする。
【0108】これに対し、ti+1 <1であれば、スイッ
チ409にて実際の移動距離ΔLi+ 1 とパラメータの変
化量Δti+1 とを上述の式(35)、(36)と同等の
演算式によって求める。
【0109】次にステップS410では、実際の移動距
離ΔLi+1 に対して目標補間距離lengとの誤差(|
ΔLi+1 −leng|)を評価し、誤差が許容値ε1
り大きければ、ステップS406にループして処理を繰
り返す。
【0110】この繰り返しループによってステップS4
07の移動距離とパラメータの変化量の比(Δti+1
ΔLi+1 )が修正され、移動距離ΔLi+1 が目標補間距
離lengに近づくようパラメータti+1 が更新され
る。
【0111】ステップS410にて、(|ΔLi+1 −l
eng|)<ε1 となれば、この時点でのパラメータt
i+1 を、目標補間距離lengを与える今回補間時のパ
ラメータとし、ステップS412で座標値P(ti+1)をサ
ーボ駆動部5に出力して処理を終了する。
【0112】上述の処理過程は収束判定を含んでいる
が、実際には1、2回の繰り返しにより十分実用的な精
度が得られる。従って、補間周期ΔTの時間内に高速に
補間目標点が演算可能である。
【0113】[実施例2]図11はこの発明による数値
制御装置の要部構成の実施例2を示している。尚、図1
1に於いて、図1に対応する部分は図1に付した符号と
同一の符号を付けてその説明を省略する。
【0114】この実施例では、速度制御部3は、許容加
速度に代えて許容誤差εを与えられ、許容誤差εを守っ
て補間速度Fを求める。
【0115】この実施例でも、スプライン曲線決定部2
で決定したスプライン曲線に沿って最高速度指令値F0
をもって工具を移動制御することを目標とするが、処理
後段の補間演算部4では補間周期ΔTごとに曲線上に補
間点を取り、この補間点間を直線で進むため、曲線の曲
率半径が小さい場合には、図12に示されているよう
に、補間直線と曲線との間に許容値を超える位置誤差が
生じる場合がある。
【0116】速度制御手段3は、一つの区間のスプライ
ン曲線について補間直線とスプライン曲線との間の誤差
が許容値εを超えないように速度指令値を制限する。
【0117】曲率半径ρの曲線に長さlの弦を張った
時、この弦と曲線の最大離間距離dは図13から、
【数23】 で与えられる。従って、曲線を弦で近似した時の誤差が
ε以下となる弦長の最大値lmax は次式(45)で与え
られる。
【0118】
【数24】 従って、最小曲率半径ρmin (最大曲率κmax )のスプ
ライン曲線を、許容誤差εとして補間周期ΔTで補間す
る場合、補間距離を式(45)のlmax とすればよく、
その時の送り速度Fmax は、
【数25】 となる。
【0119】図14は実施例2における速度制御部3の
処理フローを示している。
【0120】ステップS501、502、503は、そ
れぞれ図9(実施例1の速度制御部3の処理フロー)を
示したステップS301、302、303の処理と同一
であり、ステップS503では、スプライン曲線区間の
最大曲率κmax を求め、ステップS504では、上述の
式(46)により許容誤差εを超えないような送り速度
max を計算する。
【0121】最後にステップS305では、次式により
最高速度指令値F0 とFmax の小さい方を送り速度指令
値Fとする。
【0122】 F=min(F0 ,Fmax ) …(47) 以上の処理過程により、1つのスプライン曲線区間にお
いて、最高速度指令値以内で、補間誤差が許容値を超え
ない送り速度指令値Fが得られる。
【0123】[実施例3]図15はこの発明の実施例で
ある数値制御装置の要部構成の実施例3を示している。
尚、図15に於いて、図1に対応する部分は図1に付し
た符号と同一の符号を付けてその説明を省略する。
【0124】この実施例では、指令入力部1は、実施例
1における場合と同様に、曲線経路上の指定点列P
j (j=1,2,…,n)と最高速度指令値F0 を取り
込み、指定点列Pj と、隣接する指定点間の距離c
j と、単位ベクトルuj とに加え、通過点列Pj (i=
1,2,…,n)のうち直線区間となる部分を識別して
識別フラグFLAGおよびVFLAGを出力し、始点、
終点の前後に直線部が存在する場合には更にその直線の
単位ベクトルus 、ue を出力する。
【0125】スプライン曲線決定部2は、指令入力部1
より上述の如きデータを与えられ、直線部分とこれに接
続するスプライン曲線部分が滑らかに接続するようなデ
ータ(スプライン係数)を生成する。
【0126】一般に、スプライン曲線を構成する通過点
列Pj (i=1,2,…,n)の中に図16(a)に示
されているように、点列の進行方向が連続して等しくな
る直線部分がある場合には、スプライン曲線は図16
(b)に示されているように、直線部分がこれに連続す
る曲線部分の影響を受けて直線とはならず、ひずみを生
ずる。
【0127】この発明においては、 (1)点列の始点から2ブロック以上が同一方向 (2)点列の終点までの2ブロック以上が同一方向 (3)点列の中間では3ブロック以上が同一方向 となる部分を直線部分として識別し、始点、終点、これ
らの直線部分に挾まれる点列をスプライン曲線を構成す
る点列とする。そして、スプライン曲線を構成する点列
の始点P1 、終点Pn について、それぞれの接線ベクト
ルを、始点の前に直線部分がない場合、終点の後に直線
部分がない場合には、実施例1の式(9)、(10)の
通り、端点における曲率を0として、
【数26】 とする。
【0128】これに対し、始点の前に直線部分がある場
合には、その直線の方向を表す単位ベクトルをus 、終
点の後に直線部分がある場合には、その直線の方向を表
す単位ベクトルをue とすると、始点、終点の接線ベク
トルをq1 k+1 、qn k+1 を式(3a)(3b)よ
り、 q1 k+1 =us …(48a) qn k+1 =ue …(48b) とする。
【0129】次に上述のスプライン曲線導出原理を踏ま
えて、指令入力部1およびスプライン曲線決定部2aに
おける演算内容を説明する。
【0130】図17は指令入力部1における処理の概略
フローを示しており、指令入力部1にスプライン補間の
指令が入力されると、この処理フローが起動される。
【0131】まず、ステップS601では、j=1に初
期化し、ステップS602では、直線部分の存在を表す
フラグVFLAGをOFFに初期化する。フラグVFL
AGは、OFFで直線部分がないことを表し、ONで直
線部分が存在することを表す。
【0132】ステップS603では、開始点からの3個
の指定点P1 、P2 、P3 の座標値を入力し、指定点P
1 から指定点P2 までの距離c2 と指定点P2 から指定
点P 3 までの距離c3 とを求め、次に式(7)により、
それぞれの単位ベクトルu2、u3 を求める。そしてu
2 とu3 を比較し、直線性をチェックする。
【0133】u2 =u3 の場合には、ステップS604
にて直線性ありと判定してステップS605に進み、フ
ラグVFLAGをONすると共に直線の方向を表す単位
ベクトルus =u2 とする。
【0134】これに対し、u2 ≠u3 の場合には直線性
なしと判定してステップS614に進む。この場合に
は、フラグVFLAGはOFFの状態を維持する。
【0135】ステップS605に進んだ場合には、次に
ステップS606にて識別フラグFLAGをFLAG=
(直線)として、始点P1 、終点P2 、距離c2 、単位
ベクトルu2 (P1 〜P2 の区間)、および始点P2
終点P3 、距離c3 、単位ベクトルu3 (P2 〜P3
区間)を、それぞれスプライン曲線決定部2に出力す
る。
【0136】次に、ステップS607では、j+2→j
に更新する(現時点ではj=3)。ステップS608で
は、指定点Pj が終点であるか否かをチェックし指定
点、P j が終点ならば、処理を終了し、指定点Pj が終
点でなければ、ステップS609以降の処理に進む。
【0137】ステップS609では、j+1→jに更新
し、ステップS610では、指定点Pj の座標値を入
力、指定点Pj-1 から指定点Pj までの距離cj および
単位ベクトルuj を求める。次に、ステップS611で
は、単位ベクトルuj がそれまでの直線の方向を示す単
位ベクトルus と等しいか否かにより、直線性が継続す
るか否かをチェックする。
【0138】ステップS611にてuj =us の場合に
は直線性が継続するとして、ステップS612に進み、
識別フラグFLAGをFLAG=(直線)として、始点
j- 1 、終点Pj 、距離cj 、単位ベクトルuj (P
j-1 〜Pj の区間)をスプライン曲線決定部2に出力
し、ステップS608にループする。
【0139】以上の過程で、ステップS608以降をル
ープすることにより、点列の始点から2ブロック以上が
同一方向の区間を抽出し、同一方向の区間が続く限り、
各ブロックを直線区間としてスプライン曲線決定部2a
に出力する。
【0140】ループ中、ステップS611でuj ≠us
の場合にはステップS613でj−1→jとして、ステ
ップS603にループし、再び指定点Pj を始点として
直線部分の抽出を行う。
【0141】ステップS604における判別で、直線性
がない場合(uj+1 ≠uj+2 )には、ステップS614
以降のスプライン曲線部分の処理に移る。
【0142】ステップS614では、j+1→jに更新
し、ステップS615のスプライン曲線部の出力処理を
行う。ステップS614〜ステップS620のループ
で、スプライン曲線を構成する指定点が順次入力されて
いくが、ステップS615では、次の内容のデータをス
プライン曲線決定部2に出力する。
【0143】(1)指定点Pj がスプライン曲線の始点
から4点目の時; FLAG=(始点を含むスプライン曲線) 指定点座標:Pj-3 、Pj-2 、Pj-1 、Pj 指定点間距離:cj-2 、cj-1 、cj 指定点間単位ベクトル:uj-2 、uj-1 、uj VFLAG(ON/OFF)、VFLAG=ONの時は
接線ベクトルus (2)指定点Pj がスプライン曲線の始点から5点目以
降の時;FLAG=(スプライン曲線) 指定点座標:Pj 指定点間距離:cj 指定点間単位ベクトル:uj ステップS616では、指定点Pj がスプライン曲線の
始点から4点目かチェックし、そうであれば、換言すれ
ば、ステップS615で始点を含むスプライン曲線の出
力をしたのであれば、フラグVFLAGをOFFする。
【0144】次にステップS618では、指定点Pj
入力点列の終点であるか否かをチェックし、終点であれ
ば、FLAG=(スプライン曲線の終点)、VFLAG
(=OFF)をスプライン曲線決定部2に出力し、処理
を終了する。
【0145】指定点Pj が入力点列の終点でなければ、
ステップS619にて指定点Pj 以降の直線性をチェッ
クする。ここではPj 以降、最大3点までの指定点を入
力し、以下の(1)または(2)の場合、直線性がある
とする。
【0146】(1)単位ベクトルuj+1 =uj+2 =u
j+3 (2)単位ベクトルuj+1 =uj+2 、かつ指定点Pj+2
が入力点列の終点 ステップS620では、指定点Pj 以降の直線性がある
か否かをチェックし、直線性がない場合には、ステップ
S614にループし、スプライン曲線部の出力を続け
る。これに対し、直線性がある場合には、ステップS6
21にてフラグVFLAGをONし、直線の方向を表す
単位ベクトルus =uj+1 とする。
【0147】次に、ステップS622では識別フラクF
LAG=(スプライン曲線の終点)、フラクVFLAG
(=ON)、接線ベクトルus をスプライン曲線決定部
2aに出力し、処理を終了する。そして、ステップS6
06にループする。
【0148】ステップS606以降では、抽出した直線
部分が終点まで続く場合には全ての直線ブロックをステ
ップS606およびステップS612で出力した後、ス
テップS608で終点を検出して処理を終了する。ま
た、直線部分がとぎれて、再び曲線部分が始まる場合に
は、ステップS611からステップS613に分岐して
ステップS603以降で新しい曲線の出力処理を行う。
【0149】次に図18〜図22を参照してスプライン
曲線決定部aの処理内容を説明する。
【0150】指令入力部1からスプライン曲線決定部2
に入力されるデータの形態には、上述の説明から、 (A)FLAG=(直線) 始点Pj-1 、終点Pj 、距離cj 、単位ベクトルuj (B)FLAG=(始点を含むスプライン曲線) 指定点座標:P1 、P2 、P3 、P4 指定点間距離:c2 、c3 、c4 指定点間単位ベクトル:u2 、u3 、u4 VFLAG(ON/OFF)、VFLAG=ONの時は
接線ベクトルus (C)FLAG=(スプライン曲線) 指定点座標Pj 、指定点間距離cj 、指定点間単位ベク
トルuj (D)FLAG=(スプライン曲線の終点) VFLAG(=ON.OFF)、VFLAG=ONの時
は接線ベクトルusの4形態がある。
【0151】図18の処理フローに示すようにスプライ
ン曲線決定部2では入力したFLAGの種別によってそ
れぞれの処理A〜Dに分岐する。
【0152】図19はFLAG=(直線)の場合の処理
Aのフローを示している。
【0153】処理Aでは、ステップS801で、始点P
j-1 、終点Pj 、距離cj 、単位ベクトルuj を入力
し、ステップS802で、以下のようにスプライン曲線
係数を決定する。
【0154】 K0 =Pj-1 …(49a) K1 =cj j …(49b) K2 =0 …(49c) K3 =0 …(49d) この時、Pj-1 〜Pj の区間におけるスプライン曲線P
(t) =K3 3 +K22 +K1 t+K0 (式18)
は、 P(t) =cj j +Pj-1 (0≦t≦1) …(50) となり、tが0から1に変化する時、指定点Pj-1 から
j に移動する直線となる。
【0155】図20はFLAG=(始点を含むスプライ
ン曲線)の場合の処理Bのフローを示している。
【0156】処理Bでは、ステップS901で、指定点
座標:P1 、P2 、P3 、P4 、指定点間距離:c2
3 、c4 、指定点間単位ベクトル:u2 、u3
4 、VFLAG、接線ベクトルus を入力する。
【0157】次に、ステップS902で、式(8)から
次式(60)により指定点P2 の接線ベクトルq2 1
を求める。
【0158】
【数27】 次に開始点P1 の接線ベクトルq1 1 を求めるが、ス
テップS903で、フラグVFLAGをチェックし、V
FLAG=OFFであれば、式(8)から、
【数28】 により、q1 1 を与える(ステップS904)。
【0159】VFLAG=ONの場合には、入力した接
線ベクトルus を用いて式(48a)から、q1 1
s とする(ステップS905)。
【0160】次にステップS906では、指定点P3
接線ベクトルq3 1 を式(62)によって求め、ステ
ップS907では、この接線ベクトルq3 1 と既に求
めた接線ベクトルq1 1 とから、式(63)によって
指定点P2 の接線ベクトルq 2 2 を求める。
【0161】
【数29】 次に開始点P1 の接線ベクトルq1 2 を求めるが、q
1 1 を求めた時と同様にフラグVFLAGをチェック
し(ステップS908)、VFLAG=OFFであれ
ば、
【数30】 によりq1 2 を与え(ステップS909)、これに対
しVFALG=ONの場合はq1 2 =us とする(ス
テップS910)。
【0162】以上の処理によってスプライン曲線の開始
点から2つの通過点P1 、P2 の接線ベクトル
1 2 、q2 2 が確定したので、ステップS911
において、スプライン曲線P(t) =K3 3 +K2 2
+K1 t+K0 の各項の係数K0 、K 1 、K2 、K3
式(17a)〜(17d)でj=4として計算し、通過
点P1〜P2 の区間におけるスプライン曲線を決定す
る。
【0163】図21はFLAG=(スプライン曲線)の
場合の処理Cのフローを示している。
【0164】処理Cにあたっては、前回までの処理によ
って図23(a)のAで示した部分が求まっているの
で、本処理Cでは、図23(a)のB部分の各項を求め
てPj- 3 〜Pj-2 の区間におけるスプライン曲線を決定
する。
【0165】まず、ステップS1001で、指定点座標
j 、指定点間距離cj 、指定点間単位ベクトルuj
入力する。
【0166】ステップS1002では、指定点Pj-1
接線ベクトルqj-1 1 を次式(65)によって求め
る。
【0167】
【数31】 さらにステップS1003では、指定点Pj-2 の接線ベ
クトルqj-2 2 を次式(65)によって求める。
【0168】
【数32】 以上の処理により、通過点Pj-3 、Pj-2 の接線ベクト
ルqj-3 2 、qj-2 2 が確定するので、ステップS1
004においては、式(17a)〜(17d)によりス
プライン係数K0 、K1 、K2 、K3 を計算し、Pj-3
〜Pj-2 の区間におけるスプライン曲線を決定する。
【0169】図23はFLAG=(スプライン曲線の終
点)の場合の処理Dのフローを示している。この処理D
においては、通過点の入力はなく、前回までに図23
(b)のAの部分が求まっているので、終点までの区間
n-2 〜Pn-1 、Pn-1 〜Pnに対応するスプライン曲
線を決定する。
【0170】まず、ステップS1101では、フラグV
FLAG、接線ベクトルus を入力する。
【0171】次に終点Pn の接線ベクトルqn 1 を求
めるが、フラグVFLAGをチェックし(ステップS1
102)、VFALG=OFFの時には式(10)から
次式(67)により、
【数33】 とし(ステップS1103)、VFLAG=ONの場合
には、入力した接線ベクトルus を用いて式(48b)
からqn 1 =us とする(ステップS1104)。
【0172】次にステップS1105において、指定点
n-1 の接線ベクトルqn-1 2 を求める。
【0173】
【数34】 次にステップS1106において、指定点Pj-3 〜P
j-2 の区間におけるスプライン曲線P(t) を、式(17
a)〜(17d)でj=n+1とおくことにより、式
(18)によって求める。
【0174】最後に最終区間Pn-1 〜Pn におけるスプ
ライン曲線を求める。終点Pn の接線ベクトルqn 2
はqn 1 を求めた時と同様に、フラグVFLAGをチ
ェックし(ステップS1107)、VFALG=OFF
であれば、
【数35】 によりqn 2 を与え(ステップS1108)、VFL
AG=ONの場合はqn 2 =us とする(ステップS1
109)。
【0175】次にステップS1110において、指定点
j-3 〜Pj-2 の区間におけるスプライン曲線P(t)
を、式(17a)〜(17d)でj=n+2とおくこと
により、式(18)によって求める。
【0176】以上の処理の説明から明らかなように、実
施例3では、曲線を構成する指定点列から、進行方向が
等しい部分を直線部分として分離し、直線部分にはスプ
ライン曲線の3次の係数と2次の係数を0とした1次式
で直線式を与えることにより形状のひずみを除去してい
る。
【0177】また、曲線部分については、端点の接線ベ
クトルを隣接する直線部分の方向ベクトルと一致させる
ことにより、直線部分と直線部分の接続を滑らかにして
いる。
【0178】
【発明の効果】以上の説明より明かなように、この発明
による数値制御装置では、通過点の接線ベクトルの近似
計算の繰り返し回数をk回とすると、終点までの全通過
点を読みとらなくともk点先の通過点Pj +kを読みとっ
ていけば、通過点Pj の接線ベクトルを簡単な計算によ
って求めて通過点Pj-1 とPj の間のスプライン曲線を
逐次発生し、各通過点間を滑らかに接続するスプライン
曲線が得られるから、演算負荷を莫大なものにすること
なく、リアルタイムに滑らかなスプライン曲線を発生で
きる効果が得られる。
【0179】また決定された各通過点間のスプライン曲
線ごとに法線加速度が許容値以内となるように工具移動
速度が計算されるから、補間誤差が許容値を超えない指
令速度が得られ、指令された任意の曲線上の通過点列の
なかに曲線の大きな部分があっても、高精度な加工が可
能となる効果が得られる。
【0180】次の発明による数値制御装置では、一つの
スプライン曲線区間の両端点における法線加速度が許容
値以内になるように該区間の工具移動速度が設定される
から、一つのスプライン曲線区間の両端点において補間
誤差が許容値を超えない指令速度が得られ、指令された
任意の曲線上の通過点列のなかに曲線の大きな部分があ
っても、高精度な加工が可能となる効果が得られる。
【0181】次の発明による数値制御装置では、通過点
の接線ベクトルの近似計算の繰り返し回数をk回とする
と、終点までの全通過点を読みとらなくともk点先の通
過点Pj +kを読みとっていけば、通過点Pj の接線ベク
トルを簡単な計算によって求めて通過点Pj-1 とPj
間のスプライン曲線を逐次発生し、各通過点間を滑らか
に接続するスプライン曲線が得られるから、演算負荷を
莫大なものにすることなく、リアルタイムに滑らかなス
プライン曲線を発生できる効果が得られる。
【0182】またスプライン曲線に従って工具が直線移
動する時に、その直線とスプライン曲線との最大離間距
離が許容値以内になるように工具移動速度が計算される
から、補間誤差が許容値を超えない指令速度が得られ、
指令された任意の曲線上の通過点列のなかに曲線の大き
な部分があっても、高精度な加工が可能となる効果が得
られる。
【0183】次の発明による数値制御装置では、直線と
スプライン曲線との最大離間距離をスプライン曲線区間
の最大曲率により捉え、最大曲率に基づいて直線とスプ
ライン曲線との最大離間距離が許容値以内になるように
工具移動速度が計算されるから、複雑な計算を要するこ
となく補間誤差が許容値を超えない指令速度が得られ、
高精度な加工が可能となる効果が得られる。
【0184】次の発明による数値制御装置では、連続す
る3つの通過点の位置関係およびこの3つの通過点のう
ち第1点と第3点の接線ベクトルから、中間の第2点の
接線ベクトルを近似的に計算することを任意回数繰り返
して各通過点の接線ベクトルを求めるから、終点までの
全通過点を読みとらなくとも2点先の通過点を読みとっ
ていけば、現通過点の接線ベクトルを簡単な計算によっ
て求めて一つ前の通過点と現通過点との間のスプライン
曲線を逐次発生し、各通過点間を滑らかに接続するスプ
ライン曲線が得られる。したがってこの場合も演算負荷
を莫大なものにすることなく、リアルタイムに滑らかな
スプライン曲線を発生できる効果が得られる。
【0185】次の発明による数値制御装置では、補間時
間のスプラインパラメータの変化量算出にあたって、ま
ず前回の補間時間のパラメータ変化量を仮のパラメータ
変化量としてスプライン曲線上の座標値を求めて移動量
を算出し、次にこの移動量が目標移動量と一致するよう
に収束演算を行い、当該収束演算により真のパラメータ
移動量が算出されるから、スプライン曲線に対してトレ
ース性が高い直線補間が行われ、高精度な加工が可能と
なる効果が得られる。
【0186】次の発明による数値制御装置では、補間時
間のスプラインパラメータの変化量算出にあたって、ま
ず前回の補間時間のパラメータ変化量を仮のパラメータ
変化量としてスプライン曲線上の座標値を求めて移動量
を算出し、次にこの移動量が目標移動量と一致するよう
にパラメータ変化量の計算を任意回数繰り返し行い、こ
の繰り返し計算により真のパラメータ移動量が算出され
るから、妥当な演算時間でスプライン曲線に対してトレ
ース性が比較的高い直線補間が行われ、高精度な加工が
可能となる効果が得られる。
【0187】次の発明による数値制御装置では、所望の
曲線加工軌道上に離散的にとられた通過点に対して、始
点から所定ブロック以上が同一方向に進行する点列の区
間、あるいは終点の手前の所定ブロック以上が同一方向
に進行する点列の区間、あるいは始点、終点を含まず所
定ブロック以上が同一方向に進行する点列の区間を直線
区間とし、その他の点列の区間をスプライン曲線区間と
するから、スプライン曲線を構成する通過点列の中に直
線部分があっても、この直線部分がこれに連続する曲線
部分の影響を受けて直線とはならないことが回避され
る。これにより高精度な加工が可能となる効果が得られ
る。
【0188】次の発明による数値制御装置では、直線区
間と分離されたスプライン曲線区間のスプライン曲線決
定にあたって、直線区間とスプライン曲線区間との境界
点におけるスプライン曲線の接線ベクトルを直線区間の
方向を示す単位ベクトルで与えるから、スプライン曲線
を構成する通過点列の中に直線部分があっても、この直
線部分がこれに連続する曲線部分の影響を受けて直線と
はならないことが回避される。これにより高精度な加工
が可能となる効果が得られる。
【0189】即ち、曲線部分のスプライン曲線の導出に
あたっては端点の接線ベクトルを隣接する直線部分の方
向ベクトルと一致させているので、直線部分と曲線部分
の接続に滑らかな加工結果が得られると云う効果があ
る。
【0190】次の発明による数値制御装置では、スプラ
イン曲線決定手段は、直線区間ではスプライン曲線の3
次の係数と2次の係数を各々0とすることにより直線を
与えるから、スプライン曲線を算出する演算と同等の演
算で簡単に直線部分が得られる。
【図面の簡単な説明】
【図1】 この発明による数値制御装置の実施例1の要
部構成を示すブロック線図である。
【図2】 この発明による数値制御装置において、繰り
返しのベクトル演算により各通過点の接線ベクトルが求
まっていく時の計算手順を表す概念図である。
【図3】 この発明による数値制御装置の指令入力部の
処理フローを示すフローチャートである。
【図4】 この発明による数値制御装置のスプライン曲
線決定部の処理フローを示すフローチャートである。
【図5】 この発明による数値制御装置において、各区
間のスプライン曲線が逐次的に求められていくことを表
す概念図である。
【図6】 スプライン曲線上の点の接線ベクトル、加速
度ベクトル、法線ベクトルの関係を表す説明図である。
【図7】 この発明による数値制御装置の速度制御部の
処理フローを示すフローチャートである。
【図8】 スプライン曲線上の補間点を示す説明図であ
る。
【図9】 スプライン曲線上の一時刻後の補間点の求め
方を説明する説明図である。
【図10】 この発明による数値制御装置の補間演算部
の処理フローを示すフローチャートである。
【図11】 この発明による数値制御装置の実施例2の
要部構成を示すブロック線図である。
【図12】 スプライン曲線上を直線で補間した時の曲
線との誤差を表す説明図である。
【図13】 曲率半径一定の曲線上に張った弦と曲線と
の距離を幾何学的に求める説明図である。
【図14】 この発明による数値制御装置の速度制御部
の処理フローを示すフローチャートである。
【図15】 この発明による数値制御装置の実施例3の
要部構成を示すブロック線図である。
【図16】 (a)〜(c)はスプライン曲線を構成す
る通過点列に直線部がある時に通常直線部に現れる形状
のひずみと、本発明によりこのひずみを回避した形状を
説明する説明図である。
【図17】 直線部を識別する指令入力部の処理フロー
を示すフローチャートである。
【図18】 直線部を識別した後のスプライン曲線決定
部の全体の処理フローを示すフローチャートである。
【図19】 直線部を識別した後のスプライン曲線決定
部の処理形態が直線の場合の処理フローを示すフローチ
ャートである。
【図20】 直線部を識別した後のスプライン曲線決定
部の処理形態が始点を含むスプライン曲線の場合の処理
フローを示すフローチャートである。
【図21】 直線部を識別した後のスプライン曲線決定
部の処理形態が通常のスプライン曲線の場合の処理フロ
ーを示すフローチャートである。
【図22】 直線部を識別した後のスプライン曲線決定
部の処理形態がスプライン曲線の終点の場合の処理フロ
ーを示すフローチャートである。
【図23】 直線部を識別した後のスプライン曲線決定
後の処理形態が通常のスプライン曲線の場合、およびス
プライン曲線の終点の時にすでに求まっている部分とこ
れから求める部分を説明する説明図である。
【図24】 曲線を通過点列に分割する一方法を示す説
明図である。
【図25】 2点とその接線ベクトルによって表される
スプライン曲線を示す説明図である。
【符号の説明】
1 指令入力部,2 スプライン曲線決定部,3 速度
制御部,4 補間演算部,5 サーボ駆動部

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 スプライン補間機能を有する数値制御装
    置において、 所望の曲線加工軌道上に離散的にとられた通過点に対し
    て、その各通過点の接線ベクトルの近似計算を任意回数
    繰り返し行い、各通過点間を滑らかに接続するスプライ
    ン曲線を決定するスプライン曲線決定手段と、 前記スプライン曲線決定手段によって決定されたスプラ
    イン曲線に従って工具が移動する時に法線加速度が許容
    値以内となるように工具移動速度を計算する速度制御手
    段と、 補間時間当たりのスプライン曲線上の移動量を計算する
    補間手段と、 を有していることを特徴とする数値制御装置。
  2. 【請求項2】 前記速度制御手段は、一つのスプライン
    曲線区間の両端点における法線加速度が許容値以内にな
    るように該区間の工具移動速度を設定することを特徴と
    する請求項1に記載の数値制御装置。
  3. 【請求項3】 スプライン補間機能を有する数値制御装
    置において、 所望の曲線加工軌道上に離散的にとられた通過点に対し
    て、その各通過点の接線ベクトルの近似計算を任意回数
    繰り返し行い、各通過点間を滑らかに接続するスプライ
    ン曲線を決定するスプライン曲線決定手段と、 前記スプライン曲線決定手段によって決定されたスプラ
    イン曲線に従って工具が直線移動する時に、その直線と
    スプライン曲線との最大離間距離が許容値以内になるよ
    うに工具移動速度を計算する速度制御手段と、 補間時間当たりのスプライン曲線上の移動量を計算する
    補間手段と、 を有していることを特徴とする数値制御装置。
  4. 【請求項4】 前記速度制御手段は、直線とスプライン
    曲線との最大離間距離をスプライン曲線区間の最大曲率
    により捉え、最大曲率に基づいて直線とスプライン曲線
    との最大離間距離が許容値以内になるように工具移動速
    度を計算することを特徴とする請求項1〜3の何れかに
    記載の数値制御装置。
  5. 【請求項5】 前記スプライン曲線決定手段は、連続す
    る3つの通過点の位置関係およびこの3つの通過点のう
    ち第1点と第3点の接線ベクトルから、中間の第2点の
    接線ベクトルを近似的に計算することを任意回数繰り返
    して各通過点の接線ベクトルを求めることを特徴とする
    請求項1〜4の何れかに記載の数値制御装置。
  6. 【請求項6】 前記補間手段は、補間時間のスプライン
    パラメータの変化量算出にあたって、まず前回の補間時
    間のパラメータ変化量を仮のパラメータ変化量としてス
    プライン曲線上の座標値を求めて移動量を算出し、次に
    この移動量が目標移動量と一致するように収束演算を行
    い、当該収束演算により真のパラメータ移動量を算出す
    ることを特徴とする請求項1〜5の何れかに記載の数値
    制御装置。
  7. 【請求項7】 前記補間手段は、補間時間のスプライン
    パラメータの変化量算出にあたって、まず前回の補間時
    間のパラメータ変化量を仮のパラメータ変化量としてス
    プライン曲線上の座標値を求めて移動量を算出し、次に
    この移動量が目標移動量と一致するようにパラメータ変
    化量の計算を任意回数繰り返し行い、この繰り返し計算
    により真のパラメータ移動量を算出することを特徴とす
    る請求項1〜5の何れかに記載の数値制御装置。
  8. 【請求項8】 前記スプライン曲線決定手段は、前記所
    望の曲線加工軌道上に離散的にとられた通過点に対し
    て、始点から所定ブロック以上が同一方向に進行する点
    列の区間、あるいは終点の手前の所定ブロック以上が同
    一方向に進行する点列の区間、あるいは始点、終点を含
    まず所定ブロック以上が同一方向に進行する点列の区間
    を直線区間とし、その他の点列の区間をスプライン曲線
    区間とすることを特徴とする請求項1〜7の何れかに記
    載の数値制御装置。
  9. 【請求項9】 前記スプライン曲線決定手段は、直線区
    間と分離されたスプライン曲線区間のスプライン曲線決
    定にあたって、直線区間とスプライン曲線区間との境界
    点におけるスプライン曲線の接線ベクトルを直線区間の
    方向を示す単位ベクトルで与えることを特徴とする請求
    項8に記載の数値制御装置。
  10. 【請求項10】 前記スプライン曲線決定手段は、直線
    区間ではスプライン曲線の3次の係数と2次の係数を各
    々0とすることにより直線を与えることを特徴とする請
    求項8または9に記載の数値制御装置。
JP18040995A 1995-07-17 1995-07-17 スプライン補間機能を有する数値制御装置 Expired - Fee Related JP3396342B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP18040995A JP3396342B2 (ja) 1995-07-17 1995-07-17 スプライン補間機能を有する数値制御装置
US08/630,765 US5723961A (en) 1995-07-17 1996-04-10 Numerical control apparatus having spline interpolating function
DE19618332A DE19618332A1 (de) 1995-07-17 1996-05-07 Numerische Steuervorrichtung mit Spline-Interpolationsfunktion

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18040995A JP3396342B2 (ja) 1995-07-17 1995-07-17 スプライン補間機能を有する数値制御装置

Publications (2)

Publication Number Publication Date
JPH0935054A true JPH0935054A (ja) 1997-02-07
JP3396342B2 JP3396342B2 (ja) 2003-04-14

Family

ID=16082752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18040995A Expired - Fee Related JP3396342B2 (ja) 1995-07-17 1995-07-17 スプライン補間機能を有する数値制御装置

Country Status (3)

Country Link
US (1) US5723961A (ja)
JP (1) JP3396342B2 (ja)
DE (1) DE19618332A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011003897A (ja) * 2009-06-16 2011-01-06 Asml Netherlands Bv リソグラフィ装置、該装置を制御する方法及びリソグラフィ装置を用いてデバイスを製造する方法
JP2015138549A (ja) * 2014-01-21 2015-07-30 三菱電機株式会社 軌道を生成する方法およびシステム
JP2016224642A (ja) * 2015-05-29 2016-12-28 ファナック株式会社 微小ブロックのコーナ制御を行うワイヤカット放電加工機用数値制御装置
US9904270B2 (en) 2012-07-26 2018-02-27 Mitsubishi Electric Corporation Numerical control apparatus for multi-axial machine
JP2020038555A (ja) * 2018-09-05 2020-03-12 オークマ株式会社 数値制御装置および数値制御方法

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3593850B2 (ja) * 1996-06-17 2004-11-24 トヨタ自動車株式会社 工具点列発生方法
DE19882537T1 (de) * 1998-05-28 2000-08-24 Mitsubishi Electric Corp Dateiumwandlungsvorrichtung für ein Bearbeitungsprogramm eines numerischen Steuersystems und Computer-lesbares Aufzeichnungsmedium zum Speichern eines Programms für einen Computer zum Ausführen eines Dateiumwandlungsprozesses
US6242880B1 (en) 1998-09-08 2001-06-05 Cimplus, Inc. Tolerance based motion control system
JP2000330617A (ja) * 1999-05-17 2000-11-30 Toshiba Mach Co Ltd 数値制御装置および数値制御装置の送り制御処理方法
DE19930087C5 (de) * 1999-06-30 2011-12-01 Inos Automationssoftware Gmbh Verfahren und Vorrichtung zur Regelung der Vorhalteposition eines Manipulators eines Handhabungsgeräts
DE10047928B4 (de) * 1999-11-18 2011-03-31 Siemens Ag Simulationssystem
US6922606B1 (en) 1999-11-19 2005-07-26 Siemens Energy & Automation, Inc. Apparatus and method for smooth cornering in a motion control system
US6782306B2 (en) * 1999-12-16 2004-08-24 Siemens Energy & Automation Motion control system and method utilizing spline interpolation
JP3352986B2 (ja) * 1999-12-17 2002-12-03 スター精密株式会社 工作機械の駆動制御装置
DE19960957C2 (de) * 1999-12-17 2003-12-24 Bosch Rexroth Ag Vorrichtung und Verfahren zur Generierung eines Sollwerts
DE19960965A1 (de) * 1999-12-17 2001-07-05 Bosch Gmbh Robert Verfahren zur Erzeugung von Sollwerten für eine numerisch gesteuerte Maschine
JP3662799B2 (ja) * 2000-03-09 2005-06-22 三菱電機株式会社 数値制御装置及び数値制御方法
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
DE10242710A1 (de) * 2002-09-13 2004-04-08 Daimlerchrysler Ag Verfahren zum Herstellen eines Verbindungsbereiches auf einem Werkstück
US7450127B2 (en) * 2005-03-23 2008-11-11 Hurco Companies Inc. Method of tolerance-based trajectory planning
DE102005027437B4 (de) 2005-06-14 2013-11-21 Siemens Aktiengesellschaft Verfahren zur Bewegungsführung eines bewegbaren Maschinenelements einer Lade- und Entladevorrichtung eines Hochregals oder eines Kranes
JP4736607B2 (ja) * 2005-08-05 2011-07-27 株式会社デンソーウェーブ ロボット制御装置
DE102005060967B4 (de) * 2005-12-20 2007-10-25 Technische Universität München Verfahren und Vorrichtung zum Einrichten einer Bahnkurve einer Robotervorrichtung
US8024068B2 (en) 2006-08-04 2011-09-20 Hurco Companies, Inc. Machine tool control system
US8725283B2 (en) * 2006-08-04 2014-05-13 Hurco Companies, Inc. Generalized kinematics system
CN101501589B (zh) * 2006-08-04 2011-11-23 赫克公司 用于工具使用管理的***和方法
US7933677B2 (en) * 2006-08-04 2011-04-26 Hurco Companies, Inc. System and method for surface finish management
JP5151686B2 (ja) * 2008-05-26 2013-02-27 株式会社ジェイテクト 非真円形状の工作物を加工するためのプロフィールデータの作成方法
DE102009023307A1 (de) 2009-05-29 2010-12-02 Kuka Roboter Gmbh Verfahren und Vorrichtung zur Steuerung eines Manipulators
DE102009049172B4 (de) * 2009-10-13 2019-07-25 Kuka Roboter Gmbh Verfahren und Vorrichtung zur Steuerung eines Manipulators
JP4813616B1 (ja) * 2010-07-12 2011-11-09 ファナック株式会社 円弧動作時の速度制御機能を有する工作機械の数値制御装置
CN102073301B (zh) * 2011-01-21 2012-07-25 陈良骥 具有刀具长度补偿功能的五轴样条插补器
JP5896789B2 (ja) * 2012-03-07 2016-03-30 キヤノン株式会社 ロボット制御装置、ロボット装置、ロボット制御方法、プログラム及び記録媒体
CN103513612B (zh) * 2013-09-12 2015-09-30 上海新时达电气股份有限公司 控制工业机器人与变位机协调运动的***及方法
JP6386511B2 (ja) * 2016-10-28 2018-09-05 ファナック株式会社 工具経路生成装置、工具経路生成方法及び工具経路生成プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0236406A (ja) * 1988-07-26 1990-02-06 Toyoda Mach Works Ltd スプライン補間機能を有するnc装置
JPH02113305A (ja) * 1988-10-24 1990-04-25 Fanuc Ltd スプライン補間方法
ES2077941T3 (es) * 1992-07-21 1995-12-01 Siemens Ag Procedimiento para el frenado optimo en el tiempo, acorde con la trayectoria de los accionamientos axiales de maquinas de control numerico.
US5438522A (en) * 1992-12-18 1995-08-01 Cincinnati Milacron Inc. Method and apparatus for sub-span interpolation
JP2805119B2 (ja) * 1993-02-26 1998-09-30 オークマ株式会社 非円形ワーク加工用数値制御装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011003897A (ja) * 2009-06-16 2011-01-06 Asml Netherlands Bv リソグラフィ装置、該装置を制御する方法及びリソグラフィ装置を用いてデバイスを製造する方法
US9904270B2 (en) 2012-07-26 2018-02-27 Mitsubishi Electric Corporation Numerical control apparatus for multi-axial machine
JP2015138549A (ja) * 2014-01-21 2015-07-30 三菱電機株式会社 軌道を生成する方法およびシステム
JP2016224642A (ja) * 2015-05-29 2016-12-28 ファナック株式会社 微小ブロックのコーナ制御を行うワイヤカット放電加工機用数値制御装置
US10549367B2 (en) 2015-05-29 2020-02-04 Fanuc Corporation Numerical controller for wire electrical discharge machine adapted for corner control of minute blocks
JP2020038555A (ja) * 2018-09-05 2020-03-12 オークマ株式会社 数値制御装置および数値制御方法

Also Published As

Publication number Publication date
US5723961A (en) 1998-03-03
JP3396342B2 (ja) 2003-04-14
DE19618332A1 (de) 1997-01-23

Similar Documents

Publication Publication Date Title
JP3396342B2 (ja) スプライン補間機能を有する数値制御装置
EP0770941B1 (en) Method and device for interpolating free-form surface
KR880002556B1 (ko) 곡면 생성방법
CN101556472B (zh) 数控***基于多周期最优拐角的小直线段插补方法
JPH02113305A (ja) スプライン補間方法
JP2718260B2 (ja) 数値制御装置
US7039494B2 (en) Controller for machine
EP0285660B1 (en) Curve producing method
JPH0319963B2 (ja)
CN109164759B (zh) 曲线插补方法、设备及计算机可读存储介质
CN102722140A (zh) 基于s曲线加减速控制的多周期拐角小直线段插补方法
JPH01503010A (ja) 反復スプライン関数制御位置決め装置
CN107395083A (zh) Pmlsm伺服控制***位置与速度估计方法及装置
CN111283683B (zh) 一种机器人视觉特征规划轨迹的伺服跟踪加速收敛方法
JP6808106B1 (ja) 加工プログラム変換装置、数値制御装置、加工プログラム変換方法および機械学習装置
JP3466111B2 (ja) 数値制御装置
JP4085418B2 (ja) 曲線補間加減速制御方法
WO2022009333A1 (ja) ロボット制御装置、ロボット制御方法、およびロボット制御プログラム
JP2790643B2 (ja) 数値制御装置
JPH11345014A (ja) 数値制御装置
JP2737725B2 (ja) ロボット制御装置及び方法
JP3236579B2 (ja) 数値制御装置および曲線経路補間方法
JP3210301B2 (ja) 数値制御装置
JP2521449B2 (ja) 軌跡制御装置
JP2702559B2 (ja) 数値制御装置の補間方式

Legal Events

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

Free format text: PAYMENT UNTIL: 20080207

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090207

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100207

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100207

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110207

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120207

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130207

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130207

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20140207

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees