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
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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/41—Numerical 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/4103—Digital interpolation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34093—Real time toolpath generation, no need for large memory to store values
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34135—Spline
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/43—Speed, acceleration, deceleration control ADC
- G05B2219/43009—Acceleration deceleration for each block of data, segment
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/43—Speed, acceleration, deceleration control ADC
- G05B2219/43062—Maximum acceleration, limit
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/43—Speed, acceleration, deceleration control ADC
- G05B2219/43203—Limitation 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
を逐次的に読みとり、それらの点列を滑らかに通過する
スプライン曲線を発生し、発生したスプライン曲線に従
った軌道の補間をリアルタイムに行う。 【解決手段】 指定点の接線ベクトルを近似的に計算す
ることを任意回数繰り返して各指定点の接線ベクトルを
求めスプライン曲線を決定する手段と、決定されたスプ
ライン曲線の曲率半径を推定して速度を制御する手段
と、決定されたスプライン曲線上決められた速度で補間
する手段を備える。 【効果】 滑らかなスプライン曲線をリアルタイムで発
生、補間でき加工の効率と精度を向上できる。
Description
関するものであり、特に、スプライン補間機能により与
えられた点列を通過して滑らかな補間制御を行う数値制
御装置に関するものである。
自由曲線を移動経路として制御する場合、予めその曲線
を微小区間に分割して微小線分データとして近似して数
値制御装置に与え、その微小線分データを用いて移動経
路を直線補間する方法が一般に採られている。
法としては、図24に示されているに、許容誤差εを設
定し、曲線上の指定点(通過点)を結ぶ線分と曲線との
距離が許容誤差εを超えないように指定点を設定する。
より精度よく制御するためには、許容誤差εを小さく設
定する必要がある。しかしこの場合には、微小線分が極
めて短く、また指定点数も膨大になるため、加工指令プ
ログラムが長くなる、直線補間した際の加工速度が上が
らないなどの問題がある。
誤差εをある程度大きくとって、曲線上の指定点を荒く
とり、この指定点間を直線補間ではなく、スプライン曲
線補間により制御することが望まれる。しかし、完全な
スプライン補間を実行するためには、以下に示すような
膨大な計算を実行する必要があり、実時間処理が要求さ
れる数値制御装置において、その機能を備えることは現
実的には不可能である。
(I)」山口富士夫著、日刊工業新聞社刊)によると、
n個の指定点P1 ,P2 ,P3 ,…Pn を滑らかに通過
する3次スプライン曲線上の点P(t) は、指定点Pj-1
から指定点Pj の図25に示す区間において、式(1)
で表現される。
あり、cj はPj-1 からPj までの距離である。また、
tは曲線パラメータであり、0≦t≦1である。
は、指定点Pj (j=1,2,3,…,n)を必ず通過
するが、単位接線ベクトルqj が適切に設定されない
と、各指定点において2次微分が連続にならない。2次
微分が各指定点Pj (j=2,3,…,n−1)におい
て連続となるための条件は、
端点条件を追加する。
a),(4b)のn個の連立方程式を解くことによっ
て、一括して接線ベクトルqj を求められれば、全区間
の3次スプライン曲線が求められる。
み取り、n×nの逆行列を求めなくてはならず、その計
算量は指定点個数nの増加と共に爆発的に増大し、数値
制御装置の短いサンプリング時間で、この逆行列を計算
することは不可能であった。
れたものであり、通過を指定された全点列のうち、少な
い点数から順次スプライン曲線を計算し、リアルタイム
で、スプライン曲線に従った軌跡の補間を行える数値制
御装置を提供することを目的としている。
めに、この発明による数値制御装置は、スプライン補間
機能を有する数値制御装置において、所望の曲線加工軌
道上に離散的にとられた通過点に対して、その各通過点
の接線ベクトルの近似計算を任意回数繰り返し行い、各
通過点間を滑らかに接続するスプライン曲線を決定する
スプライン曲線決定手段と、前記スプライン曲線決定手
段によって決定されたスプライン曲線に従って工具が移
動する時に法線加速度が許容値以内となるように工具移
動速度を計算する速度制御手段と、補間時間当たりのス
プライン曲線上の移動量を計算する補間手段とを有する
ものである。
望の曲線加工軌道上に離散的にとられた各通過点の接線
ベクトルの近似計算を任意回数繰り返し行う。この近似
計算の繰り返し回数をk回とすると、終点までの全通過
点を読みとらなくともk点先の通過点Pj+k を読みとっ
ていけば、通過点Pj の接線ベクトルを簡単な計算によ
って求めて通過点Pj-1 とPj の間のスプライン曲線を
逐次発生し、各通過点間を滑らかに接続するスプライン
曲線が得られる。
スプライン曲線ごとに法線加速度が許容値以内となるよ
うに工具移動速度を計算する。これにより補間誤差が許
容値を超えない指令速度が得られる。
によって決定されたスプライン曲線上の補間時間当たり
の移動量を計算する。
制御手段が、一つのスプライン曲線区間の両端点におけ
る法線加速度が許容値以内になるように該区間の工具移
動速度を設定することを特徴としている。
ライン曲線区間の両端点における法線加速度が許容値以
内になるように該区間の工具移動速度を設定する。これ
により一つのスプライン曲線区間の両端点において補間
誤差が許容値を超えない指令速度が得られる。
ン補間機能を有する数値制御装置において、所望の曲線
加工軌道上に離散的にとられた通過点に対して、その各
通過点の接線ベクトルの近似計算を任意回数繰り返し行
い、各通過点間を滑らかに接続するスプライン曲線を決
定するスプライン曲線決定手段と、前記スプライン曲線
決定手段によって決定されたスプライン曲線に従って工
具が直線移動する時に、その直線とスプライン曲線との
最大離間距離が許容値以内になるように工具移動速度を
計算する速度制御手段と、補間時間当たりのスプライン
曲線上の移動量を計算する補間手段とを有するものであ
る。
望の曲線加工軌道上に離散的にとられた各通過点の接線
ベクトルの近似計算を任意回数繰り返し行う。この近似
計算の繰り返し回数をk回とすると、終点までの全通過
点を読みとらなくともk点先の通過点Pj+k を読みとっ
ていけば、通過点Pj の接線ベクトルを簡単な計算によ
って求めて通過点Pj-1 とPj の間のスプライン曲線を
逐次発生し、各通過点間を滑らかに接続するスプライン
曲線が得られる。
工具が直線移動する時に、その直線とスプライン曲線と
の最大離間距離が許容値以内になるように工具移動速度
を計算する。これにより補間誤差が許容値を超えない指
令速度が得られる。
によって決定されたスプライン曲線上の補間時間当たり
の移動量を計算する。
制御手段が、直線とスプライン曲線との最大離間距離を
スプライン曲線区間の最大曲率により捉え、最大曲率に
基づいて直線とスプライン曲線との最大離間距離が許容
値以内になるように工具移動速度を計算することを特徴
としている。
ライン曲線との最大離間距離をスプライン曲線区間の最
大曲率により捉え、最大曲率に基づいて直線とスプライ
ン曲線との最大離間距離が許容値以内になるように工具
移動速度を計算する。これにより複雑な計算を要するこ
となく補間誤差が許容値を超えない指令速度が得られ
る。
ライン曲線決定手段が、連続する3つの通過点の位置関
係およびこの3つの通過点のうち第1点と第3点の接線
ベクトルから、中間の第2点の接線ベクトルを近似的に
計算することを任意回数繰り返して各通過点の接線ベク
トルを求めることを特徴としている。
連続する3つの通過点の位置関係およびこの3つの通過
点のうち第1点と第3点の接線ベクトルから、中間の第
2点の接線ベクトルを近似的に計算することを任意回数
繰り返して各通過点の接線ベクトルを求める。これによ
り終点までの全通過点を読みとらなくとも2点先の通過
点を読みとっていけば、現通過点(第2点)の接線ベク
トルを簡単な計算によって求めて一つ前の通過点と現通
過点との間のスプライン曲線を逐次発生し、各通過点間
を滑らかに接続するスプライン曲線が得られる。
手段が、補間時間のスプラインパラメータの変化量算出
にあたって、まず前回の補間時間のパラメータ変化量を
仮のパラメータ変化量としてスプライン曲線上の座標値
を求めて移動量を算出し、次にこの移動量が目標移動量
と一致するように収束演算を行い、当該収束演算により
真のパラメータ移動量を算出することを特徴としてい
る。
ラインパラメータの変化量算出にあたって、まず前回の
補間時間のパラメータ変化量を仮のパラメータ変化量と
してスプライン曲線上の座標値を求めて移動量を算出
し、次にこの移動量が目標移動量と一致するように収束
演算を行い、当該収束演算により真のパラメータ移動量
を算出する。これによりスプライン曲線に対してトレー
ス性が高い直線補間が行われる。
手段が、補間時間のスプラインパラメータの変化量算出
にあたって、まず前回の補間時間のパラメータ変化量を
仮のパラメータ変化量としてスプライン曲線上の座標値
を求めて移動量を算出し、次にこの移動量が目標移動量
と一致するようにパラメータ変化量の計算を任意回数繰
り返し行い、この繰り返し計算により真のパラメータ移
動量を算出することを特徴としている。
スプラインパラメータの変化量算出にあたって、まず前
回の補間時間のパラメータ変化量を仮のパラメータ変化
量としてスプライン曲線上の座標値を求めて移動量を算
出し、次にこの移動量が目標移動量と一致するようにパ
ラメータ変化量の計算を任意回数繰り返し行い、この繰
り返し計算により真のパラメータ移動量を算出する。こ
れにより妥当な演算時間でスプライン曲線に対してトレ
ース性が比較的高い直線補間が行われる。
ライン曲線決定手段が、前記所望の曲線加工軌道上に離
散的にとられた通過点に対して、始点から所定ブロック
以上が同一方向に進行する点列の区間、あるいは終点の
手前の所定ブロック以上が同一方向に進行する点列の区
間、あるいは始点、終点を含まず所定ブロック以上が同
一方向に進行する点列の区間を直線区間とし、その他の
点列の区間をスプライン曲線区間とすることを特徴とし
ている。
は、前記所望の曲線加工軌道上に離散的にとられた通過
点に対して、始点から所定ブロック以上が同一方向に進
行する点列の区間、あるいは終点の手前の所定ブロック
以上が同一方向に進行する点列の区間、あるいは始点、
終点を含まず所定ブロック以上が同一方向に進行する点
列の区間を直線区間とし、その他の点列の区間をスプラ
イン曲線区間とする。これによりスプライン曲線を構成
する通過点列の中に直線部分があっても、この直線部分
がこれに連続する曲線部分の影響を受けて直線とはなら
ないことが回避される。
ライン曲線決定手段が、直線区間と分離されたスプライ
ン曲線区間のスプライン曲線決定にあたって、直線区間
とスプライン曲線区間との境界点におけるスプライン曲
線の接線ベクトルを直線区間の方向を示す単位ベクトル
で与えることを特徴としている。
直線区間と分離されたスプライン曲線区間のスプライン
曲線決定にあたって、直線区間とスプライン曲線区間と
の境界点におけるスプライン曲線の接線ベクトルを直線
区間の方向を示す単位ベクトルで与える。これによりス
プライン曲線を構成する通過点列の中に直線部分があっ
ても、この直線部分がこれに連続する曲線部分の影響を
受けて直線とはならないことが回避される。
ライン曲線決定手段が、直線区間ではスプライン曲線の
3次の係数と2次の係数を各々0とすることにより直線
を与えることを特徴としている。
直線区間ではスプライン曲線の3次の係数と2次の係数
を各々0とすることにより直線を与える。これによりス
プライン曲線を算出する演算と同等の演算で簡単に直線
部分が得られる。
を実施例について詳細に説明する。
装置の要部構成の実施例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へ出力する。
力部1からスプライン曲線決定部2へのデータの流れ、
およびスプライン曲線決定部2における演算内容を説明
するために、本発明装置におけるスプライン曲線計算原
理について説明する。
向かう単位ベクトルであり、式(7)により示される。
接線ベクトルを求め、繰り返し計算によって、その精度
を段階的に向上させることを基本的なスプライン曲線計
算原理としている。
る単位接線ベクトルをqj k で表し、その計算手順を
示す。
j-1 ,Pj およびPj+1 を通過し、指定点Pj- 1 におけ
る単位ベクトルがuj 、点Pj+1 における単位ベクトル
がuj+1 となるようなスプライン曲線を求める。すなわ
ち、式(6)から指定点Pj における接線ベクトルqj
1 は、次の式(8)により算出する。
ける曲率を0として、式(4a)、式(4b)よりそれ
ぞれ、
つの指定点Pj-1 ,Pj およびPj+1 を通過し、指定点
Pj-1 における接線ベクトルがqj-1 k 、指定点P
j+1 における接線ベクトルがqj+1 k となるようなス
プライン曲線を求める。ここでは、式(6)より、
ては、過程1における場合と同様に、それぞれ式
(9),(10)から求める。
す。
設定すれば、理論的なスプライン曲線に近い近似的なス
プライン曲線を得ることができる。実際には繰り返し回
数2回(qj 2 まで求め)程度で、実用的なスプライ
ン曲線を得ることができる。
点)として、qj 2 まで求める過程を概念的に示して
いる。
指令入力部1およびスプライン曲線決定部2における計
算内容を説明する。以下、j=1、2、・・・、8(n
=8)とし、P8 が終点として説明する。
1における処理の概略フローを示している。
力されると、図3の処理フローが起動される。
の3個の指定点P1 、P2 、P3 の座標値を入力し、ス
テップS102では、指定点P1 から指定点P2 までの
距離c2 、および指定点P2 から指定点P3 までの距離
c3 を求め、次に式(7)によりそれぞれの単位ベクト
ルu2 、u3 を求める。
し、ステップS104では、j+1→j(j=4)とす
る。
座標値を入力し、ステップS106では、指定点P3 か
ら指定点P4 までの距離c4 およびその単位ベクトルu
4 を計算する。
は指定点座標P1 、P2 、P3 、P 4 、各指定点間距離
c2 、c3 、c4 、および単位ベクトルu2 、u3 、u
4 をスプライン曲線決定部2に出力する。ステップS1
07では、スプライン曲線決定部2が出力したデータを
受け取ったことを確認した後、次ステップS108に進
む。この時後述するようにスプライン曲線決定部2では
指定点P1 〜P2 の区間のスプライン曲線を決定する。
か、すなわちPj が終点であるか否かをチェックし、j
≠n(j=4,n=8)であれば、ステップS104に
ループし、j+1→jとする。
定点Pj の座標値を入力し、ステップS106で指定点
Pj-1 から指定点Pj までの距離cj およびその単位ベ
クトルuj を計算する。
は指定点座標Pj 、指定点間距離c j 、および単位ベク
トルuj をスプライン曲線決定部2に出力する。ステッ
プS107ではスプライン曲線決定部2が出力したデー
タを受け取ったことを確認した後、次ステップSに進
む。この時後述するようにスプライン曲線決定部2では
指定点Pj-3 〜Pj-2 の区間のスプライン曲線を決定す
る。
か、すなわちPj が終点であるか否かをチェックし、j
≠nであれば、ステップS104にループし、j=nで
あれば、処理を終了する。
プライン曲線決定部2の処理について説明する。
らデータが入力される(図5ステップS107)と、図
4の処理フローが起動される。まず、ステップS201
では、j=4であれば、指定点座標P1 、P2 、P3 、
P4 、各指定点間距離c2 、c3 、c4 、および単位ベ
クトルu2 、u3 、u4 を入力する。また、j≧5であ
れば、指定点座標Pj 、指定点間距離cj 、および単位
ベクトルuj を入力する。
か否か(始点を含む処理か?)をチェックし、j=4で
あれば、ステップS203にて、式(8)から次式(1
2)により指定点P2 の接点ベクトルq2 1 を求め
る。
3)により開始点P1 の接線ベクトルq1 1 を求め
る。
Pj-1 の接線ベクトルqj-1 1 を求める。
Pj-2 の接線ベクトルqj-2 1 を求める。
を含む処理か?)をチェックし、j=4であれば、次式
(16)によ開始点P1 の接線ベクトルq1 2 を求め
る。
j-3 2 、qj-2 2が確定するので、ステップS209
において、Pj-3 〜Pj-2 の区間におけるスプライン曲
線を決定する。すなわち、式(1)から K0 =Pj-3 …(17a) K1 =cj-2 qj-3 2 …(17b) K2 =3(Pj-2 −Pj-3 )−2cj-2 qj-3 2 −cj-2 qj-2 2 …(17c) K3 =3(Pj-3 −Pj-2 )+cj-2 qj-3 2 +cj-2 qj-2 2 …(17d) とおくと、Pj-3 〜Pj-2 の区間におけるスプライン曲
線P(t) は、 P(t) =K3 t3 +K2 t2 +K1 t+K0 (0≦t≦1) …(18) で与えられる。
(Pj が終点か?)をチェックし、j≠nであれば、処
理を終了するが、j=n(Pj が終点)の場合は以下に
示す終点の処理を行う。
0)から次式(19)により終点Pnにおける接線ベク
トルqn 1 を求める。
定点Pn-1 の接線ベクトルqn-1 2 を求める。
におけるスプライン曲線P(t) を式(17a)〜(17
d)で、j=n+1とおくことにより、式(18)によ
って求める。
ライン曲線を求める。ステップS214で終点Pn にお
ける接線ベクトルqn 2 を式(10)から次式(2
1)によって求める。
におけるスプライン曲線P(t) を式(17a)〜(17
d)で、j=n+2とおくことにより、式(18)によ
って求める。
なように、指令入力部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の例))。
処理内容について説明する。
イン曲線に沿って最高速度指令値F 0 を規定して工具を
移動制御することを目標とするが、曲線の曲率半径が小
さい場合には曲線の法線方向に機械の許容値を超える過
大な加速度が作用する場合がある。
ライン曲線について法線方向の加速度が機械の許容値を
超えないように速度指令値を制限する。
イン曲線の位置ベクトルは、上述の式(18)により与
えられる P(t) =K3 t3 +K2 t2 +K1 t+K0 (0≦t≦1) …(18再掲) 従って、これを曲線パラメータtで微分した速度ベクト
ルvj t)、加速度ベクトルaj (t) は、 v(t) =P' (t) =3K3 t2 +2K2 t+K1 …(22) a(t) =P" (t) =6K3 t+2K2 …(23) となる。
を、
ら、 b(t) =a(t) −(a(t) u(t) )u(t) …(25) で与えられる。
、曲率半径ρ(t) は、
加速度の大きさα(t) は、 α(t) =κ(t) F2 …(26) で与えられる。
ると、曲線の全区間にわたって許容加速度αを超えない
ような送り速度Fmax は式(27)より次式で与えられ
る。
1ブロック内で一定ではなく、そのブロック内の位置、
すなわち、曲線パラメータによって異なった値をとる。
全ての指定点において、法線加速度が許容値以下になる
ような速度を求めるためには、曲線区間内の曲率の最大
値を知る必要がある。この曲率の最大値を次のように推
定する。
は、曲線区間の端点(t=0か1)で、a(t) が最大と
なる。そこで、曲率の最大値は端点での値とする。さら
に、端点においては、加速度=ほぼ法線加速度で、か
つ、a(t) とv(t) はほぼ垂直(式(25)の内積の項
はほぼ0になる)なので、式(25)で、法線加速度b
(t) の代わりに加速度a(t) を用いる。すなわち次式
(29)により曲率の最大値κmax を推定する。
定部2からスプライン係数K3 、K 2 、K1 、K0 を、
指令入力部1から最高速度指令値F0 を入力する。
率推定値κ’(0) 、および終点における曲率推定値κ’
(1) を式(22)(23)(30)から次式(31)、
(32)により求める。
め、さらにステップS304で式(28)により許容加
速度αを超えないような送り速度Fmax を計算する。
により最高速度指令値F0 とFmaxの小さい方を送り速
度指令値Fとする。
いて、最高速度指令値以内で、法線加速度が許容加速度
を超えない送り速度指令値Fが得られる。
いて説明する。補間演算部4では、スプライン曲線決定
部2から入力したスプライン曲線上に補間周期(補間時
間)ΔTごとに、速度制御部3から入力した速度指令値
Fに従って、図8に示すように現在の点からの長さが指
定した補間長さ(目標補間長さ)となるような点(補間
点)を求め、その座標値をサーボ駆動部5に出力する。
できないので、補間点近傍の曲線パラメータの変化率を
用いて、以下の手順に従って繰返し計算によって求め
る。
ΔTにおける目標補間長さlengは、 leng=F×ΔT …(34) となる。
けるスプライン曲線上の点P(ti )から補間長さlen
gだけ移動した点P(t i+1)を求める場合を考える。
する。パラメータ変化Δti と移動距離Li を Δti =ti −ti-1 …(35) ΔLi =|P(ti ) −P(ti-1)| …(36) と定義して、目標とする点P(ti+1)のパラメータti+1
を次のように仮決めする。
i+1)を計算する。
距離が補間長さlengとなるようにパラメータti+1
を定めたのであるが、曲線上の位置によってパラメータ
変化に対する移動距離の比が厳密には一定でないため、
図9に示すように実際の移動距離は目標補間長さとは異
なってくる。従って、パラメータ変化Δti+1 (=t
i+1 −ti)に対する実際の移動距離ΔLi+1 (=|P
(ti+1)−P(ti ) |)からパラメータ変化に対する移動
距離の比を修正し、式(38)に従って目標点P(ti+1)
のパラメータti+1 を求め直す。
標の移動距離に対応したパラメータ設定ができる。
部4の処理フローを示している。
送り速度Fと補間周期ΔTから目標補間長さleng=
F×ΔTを求める。
プライン曲線区間に進入したか否かをチェックし、既に
当該スプライン曲線上を補間していたのであれば、ステ
ップS404で式(35)、(36)の直前のパラメー
タ変化量Δti および移動距離Li を用いて、 Δti+1 =Δti …(39) ΔLi+1 =ΔLi …(40) とおく。
進入したのであれば、過去のパラメータの変化率が利用
できないので、ステップS403でブロック長さlmを
用いると、パラメータtが0から1まで変化する間に距
離lmを移動するから、 Δti+1 =1 …(41) ΔLi+1 =lm …(42) とおくと、この時にはti =0である。
をk=0に初期化し、ステップS406では、k+1→
kとする。
ラメータti+1 を求める。
が1より大きいか否かをチェックし、ti+1 ≧1であれ
ば、ステップS411にてti+1 =1としてブロックの
終点P(1) を目標点とする。
チ409にて実際の移動距離ΔLi+ 1 とパラメータの変
化量Δti+1 とを上述の式(35)、(36)と同等の
演算式によって求める。
離ΔLi+1 に対して目標補間距離lengとの誤差(|
ΔLi+1 −leng|)を評価し、誤差が許容値ε1 よ
り大きければ、ステップS406にループして処理を繰
り返す。
07の移動距離とパラメータの変化量の比(Δti+1 /
ΔLi+1 )が修正され、移動距離ΔLi+1 が目標補間距
離lengに近づくようパラメータti+1 が更新され
る。
eng|)<ε1 となれば、この時点でのパラメータt
i+1 を、目標補間距離lengを与える今回補間時のパ
ラメータとし、ステップS412で座標値P(ti+1)をサ
ーボ駆動部5に出力して処理を終了する。
が、実際には1、2回の繰り返しにより十分実用的な精
度が得られる。従って、補間周期ΔTの時間内に高速に
補間目標点が演算可能である。
制御装置の要部構成の実施例2を示している。尚、図1
1に於いて、図1に対応する部分は図1に付した符号と
同一の符号を付けてその説明を省略する。
速度に代えて許容誤差εを与えられ、許容誤差εを守っ
て補間速度Fを求める。
で決定したスプライン曲線に沿って最高速度指令値F0
をもって工具を移動制御することを目標とするが、処理
後段の補間演算部4では補間周期ΔTごとに曲線上に補
間点を取り、この補間点間を直線で進むため、曲線の曲
率半径が小さい場合には、図12に示されているよう
に、補間直線と曲線との間に許容値を超える位置誤差が
生じる場合がある。
ン曲線について補間直線とスプライン曲線との間の誤差
が許容値εを超えないように速度指令値を制限する。
時、この弦と曲線の最大離間距離dは図13から、
ε以下となる弦長の最大値lmax は次式(45)で与え
られる。
ライン曲線を、許容誤差εとして補間周期ΔTで補間す
る場合、補間距離を式(45)のlmax とすればよく、
その時の送り速度Fmax は、
処理フローを示している。
れぞれ図9(実施例1の速度制御部3の処理フロー)を
示したステップS301、302、303の処理と同一
であり、ステップS503では、スプライン曲線区間の
最大曲率κmax を求め、ステップS504では、上述の
式(46)により許容誤差εを超えないような送り速度
Fmax を計算する。
最高速度指令値F0 とFmax の小さい方を送り速度指令
値Fとする。
いて、最高速度指令値以内で、補間誤差が許容値を超え
ない送り速度指令値Fが得られる。
ある数値制御装置の要部構成の実施例3を示している。
尚、図15に於いて、図1に対応する部分は図1に付し
た符号と同一の符号を付けてその説明を省略する。
1における場合と同様に、曲線経路上の指定点列P
j (j=1,2,…,n)と最高速度指令値F0 を取り
込み、指定点列Pj と、隣接する指定点間の距離c
j と、単位ベクトルuj とに加え、通過点列Pj (i=
1,2,…,n)のうち直線区間となる部分を識別して
識別フラグFLAGおよびVFLAGを出力し、始点、
終点の前後に直線部が存在する場合には更にその直線の
単位ベクトルus 、ue を出力する。
より上述の如きデータを与えられ、直線部分とこれに接
続するスプライン曲線部分が滑らかに接続するようなデ
ータ(スプライン係数)を生成する。
列Pj (i=1,2,…,n)の中に図16(a)に示
されているように、点列の進行方向が連続して等しくな
る直線部分がある場合には、スプライン曲線は図16
(b)に示されているように、直線部分がこれに連続す
る曲線部分の影響を受けて直線とはならず、ひずみを生
ずる。
らの直線部分に挾まれる点列をスプライン曲線を構成す
る点列とする。そして、スプライン曲線を構成する点列
の始点P1 、終点Pn について、それぞれの接線ベクト
ルを、始点の前に直線部分がない場合、終点の後に直線
部分がない場合には、実施例1の式(9)、(10)の
通り、端点における曲率を0として、
合には、その直線の方向を表す単位ベクトルをus 、終
点の後に直線部分がある場合には、その直線の方向を表
す単位ベクトルをue とすると、始点、終点の接線ベク
トルをq1 k+1 、qn k+1 を式(3a)(3b)よ
り、 q1 k+1 =us …(48a) qn k+1 =ue …(48b) とする。
えて、指令入力部1およびスプライン曲線決定部2aに
おける演算内容を説明する。
フローを示しており、指令入力部1にスプライン補間の
指令が入力されると、この処理フローが起動される。
期化し、ステップS602では、直線部分の存在を表す
フラグVFLAGをOFFに初期化する。フラグVFL
AGは、OFFで直線部分がないことを表し、ONで直
線部分が存在することを表す。
の指定点P1 、P2 、P3 の座標値を入力し、指定点P
1 から指定点P2 までの距離c2 と指定点P2 から指定
点P 3 までの距離c3 とを求め、次に式(7)により、
それぞれの単位ベクトルu2、u3 を求める。そしてu
2 とu3 を比較し、直線性をチェックする。
にて直線性ありと判定してステップS605に進み、フ
ラグVFLAGをONすると共に直線の方向を表す単位
ベクトルus =u2 とする。
なしと判定してステップS614に進む。この場合に
は、フラグVFLAGはOFFの状態を維持する。
ステップS606にて識別フラグFLAGをFLAG=
(直線)として、始点P1 、終点P2 、距離c2 、単位
ベクトルu2 (P1 〜P2 の区間)、および始点P2 、
終点P3 、距離c3 、単位ベクトルu3 (P2 〜P3 の
区間)を、それぞれスプライン曲線決定部2に出力す
る。
に更新する(現時点ではj=3)。ステップS608で
は、指定点Pj が終点であるか否かをチェックし指定
点、P j が終点ならば、処理を終了し、指定点Pj が終
点でなければ、ステップS609以降の処理に進む。
し、ステップS610では、指定点Pj の座標値を入
力、指定点Pj-1 から指定点Pj までの距離cj および
単位ベクトルuj を求める。次に、ステップS611で
は、単位ベクトルuj がそれまでの直線の方向を示す単
位ベクトルus と等しいか否かにより、直線性が継続す
るか否かをチェックする。
は直線性が継続するとして、ステップS612に進み、
識別フラグFLAGをFLAG=(直線)として、始点
Pj- 1 、終点Pj 、距離cj 、単位ベクトルuj (P
j-1 〜Pj の区間)をスプライン曲線決定部2に出力
し、ステップS608にループする。
ープすることにより、点列の始点から2ブロック以上が
同一方向の区間を抽出し、同一方向の区間が続く限り、
各ブロックを直線区間としてスプライン曲線決定部2a
に出力する。
の場合にはステップS613でj−1→jとして、ステ
ップS603にループし、再び指定点Pj を始点として
直線部分の抽出を行う。
がない場合(uj+1 ≠uj+2 )には、ステップS614
以降のスプライン曲線部分の処理に移る。
し、ステップS615のスプライン曲線部の出力処理を
行う。ステップS614〜ステップS620のループ
で、スプライン曲線を構成する指定点が順次入力されて
いくが、ステップS615では、次の内容のデータをス
プライン曲線決定部2に出力する。
から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する。
入力点列の終点であるか否かをチェックし、終点であれ
ば、FLAG=(スプライン曲線の終点)、VFLAG
(=OFF)をスプライン曲線決定部2に出力し、処理
を終了する。
ステップS619にて指定点Pj 以降の直線性をチェッ
クする。ここではPj 以降、最大3点までの指定点を入
力し、以下の(1)または(2)の場合、直線性がある
とする。
j+3 (2)単位ベクトルuj+1 =uj+2 、かつ指定点Pj+2
が入力点列の終点 ステップS620では、指定点Pj 以降の直線性がある
か否かをチェックし、直線性がない場合には、ステップ
S614にループし、スプライン曲線部の出力を続け
る。これに対し、直線性がある場合には、ステップS6
21にてフラグVFLAGをONし、直線の方向を表す
単位ベクトルus =uj+1 とする。
LAG=(スプライン曲線の終点)、フラクVFLAG
(=ON)、接線ベクトルus をスプライン曲線決定部
2aに出力し、処理を終了する。そして、ステップS6
06にループする。
部分が終点まで続く場合には全ての直線ブロックをステ
ップS606およびステップS612で出力した後、ス
テップS608で終点を検出して処理を終了する。ま
た、直線部分がとぎれて、再び曲線部分が始まる場合に
は、ステップS611からステップS613に分岐して
ステップS603以降で新しい曲線の出力処理を行う。
曲線決定部aの処理内容を説明する。
に入力されるデータの形態には、上述の説明から、 (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形態がある。
ン曲線決定部2では入力したFLAGの種別によってそ
れぞれの処理A〜Dに分岐する。
Aのフローを示している。
j-1 、終点Pj 、距離cj 、単位ベクトルuj を入力
し、ステップS802で、以下のようにスプライン曲線
係数を決定する。
(t) =K3 t3 +K2t2 +K1 t+K0 (式18)
は、 P(t) =cj uj +Pj-1 (0≦t≦1) …(50) となり、tが0から1に変化する時、指定点Pj-1 から
Pj に移動する直線となる。
ン曲線)の場合の処理Bのフローを示している。
座標:P1 、P2 、P3 、P4 、指定点間距離:c2 、
c3 、c4 、指定点間単位ベクトル:u2 、u3 、
u4 、VFLAG、接線ベクトルus を入力する。
次式(60)により指定点P2 の接線ベクトルq2 1
を求める。
テップS903で、フラグVFLAGをチェックし、V
FLAG=OFFであれば、式(8)から、
線ベクトルus を用いて式(48a)から、q1 1 =
us とする(ステップS905)。
接線ベクトルq3 1 を式(62)によって求め、ステ
ップS907では、この接線ベクトルq3 1 と既に求
めた接線ベクトルq1 1 とから、式(63)によって
指定点P2 の接線ベクトルq 2 2 を求める。
1 1 を求めた時と同様にフラグVFLAGをチェック
し(ステップS908)、VFLAG=OFFであれ
ば、
しVFALG=ONの場合はq1 2 =us とする(ス
テップS910)。
点から2つの通過点P1 、P2 の接線ベクトル
q1 2 、q2 2 が確定したので、ステップS911
において、スプライン曲線P(t) =K3 t3 +K2 t2
+K1 t+K0 の各項の係数K0 、K 1 、K2 、K3 を
式(17a)〜(17d)でj=4として計算し、通過
点P1〜P2 の区間におけるスプライン曲線を決定す
る。
場合の処理Cのフローを示している。
って図23(a)のAで示した部分が求まっているの
で、本処理Cでは、図23(a)のB部分の各項を求め
てPj- 3 〜Pj-2 の区間におけるスプライン曲線を決定
する。
Pj 、指定点間距離cj 、指定点間単位ベクトルuj を
入力する。
接線ベクトルqj-1 1 を次式(65)によって求め
る。
クトルqj-2 2 を次式(65)によって求める。
ルqj-3 2 、qj-2 2 が確定するので、ステップS1
004においては、式(17a)〜(17d)によりス
プライン係数K0 、K1 、K2 、K3 を計算し、Pj-3
〜Pj-2 の区間におけるスプライン曲線を決定する。
点)の場合の処理Dのフローを示している。この処理D
においては、通過点の入力はなく、前回までに図23
(b)のAの部分が求まっているので、終点までの区間
Pn-2 〜Pn-1 、Pn-1 〜Pnに対応するスプライン曲
線を決定する。
FLAG、接線ベクトルus を入力する。
めるが、フラグVFLAGをチェックし(ステップS1
102)、VFALG=OFFの時には式(10)から
次式(67)により、
には、入力した接線ベクトルus を用いて式(48b)
からqn 1 =us とする(ステップS1104)。
Pn-1 の接線ベクトルqn-1 2 を求める。
j-2 の区間におけるスプライン曲線P(t) を、式(17
a)〜(17d)でj=n+1とおくことにより、式
(18)によって求める。
ライン曲線を求める。終点Pn の接線ベクトルqn 2
はqn 1 を求めた時と同様に、フラグVFLAGをチ
ェックし(ステップS1107)、VFALG=OFF
であれば、
AG=ONの場合はqn 2 =us とする(ステップS1
109)。
Pj-3 〜Pj-2 の区間におけるスプライン曲線P(t)
を、式(17a)〜(17d)でj=n+2とおくこと
により、式(18)によって求める。
施例3では、曲線を構成する指定点列から、進行方向が
等しい部分を直線部分として分離し、直線部分にはスプ
ライン曲線の3次の係数と2次の係数を0とした1次式
で直線式を与えることにより形状のひずみを除去してい
る。
クトルを隣接する直線部分の方向ベクトルと一致させる
ことにより、直線部分と直線部分の接続を滑らかにして
いる。
による数値制御装置では、通過点の接線ベクトルの近似
計算の繰り返し回数をk回とすると、終点までの全通過
点を読みとらなくともk点先の通過点Pj +kを読みとっ
ていけば、通過点Pj の接線ベクトルを簡単な計算によ
って求めて通過点Pj-1 とPj の間のスプライン曲線を
逐次発生し、各通過点間を滑らかに接続するスプライン
曲線が得られるから、演算負荷を莫大なものにすること
なく、リアルタイムに滑らかなスプライン曲線を発生で
きる効果が得られる。
線ごとに法線加速度が許容値以内となるように工具移動
速度が計算されるから、補間誤差が許容値を超えない指
令速度が得られ、指令された任意の曲線上の通過点列の
なかに曲線の大きな部分があっても、高精度な加工が可
能となる効果が得られる。
スプライン曲線区間の両端点における法線加速度が許容
値以内になるように該区間の工具移動速度が設定される
から、一つのスプライン曲線区間の両端点において補間
誤差が許容値を超えない指令速度が得られ、指令された
任意の曲線上の通過点列のなかに曲線の大きな部分があ
っても、高精度な加工が可能となる効果が得られる。
の接線ベクトルの近似計算の繰り返し回数をk回とする
と、終点までの全通過点を読みとらなくともk点先の通
過点Pj +kを読みとっていけば、通過点Pj の接線ベク
トルを簡単な計算によって求めて通過点Pj-1 とPj の
間のスプライン曲線を逐次発生し、各通過点間を滑らか
に接続するスプライン曲線が得られるから、演算負荷を
莫大なものにすることなく、リアルタイムに滑らかなス
プライン曲線を発生できる効果が得られる。
動する時に、その直線とスプライン曲線との最大離間距
離が許容値以内になるように工具移動速度が計算される
から、補間誤差が許容値を超えない指令速度が得られ、
指令された任意の曲線上の通過点列のなかに曲線の大き
な部分があっても、高精度な加工が可能となる効果が得
られる。
スプライン曲線との最大離間距離をスプライン曲線区間
の最大曲率により捉え、最大曲率に基づいて直線とスプ
ライン曲線との最大離間距離が許容値以内になるように
工具移動速度が計算されるから、複雑な計算を要するこ
となく補間誤差が許容値を超えない指令速度が得られ、
高精度な加工が可能となる効果が得られる。
る3つの通過点の位置関係およびこの3つの通過点のう
ち第1点と第3点の接線ベクトルから、中間の第2点の
接線ベクトルを近似的に計算することを任意回数繰り返
して各通過点の接線ベクトルを求めるから、終点までの
全通過点を読みとらなくとも2点先の通過点を読みとっ
ていけば、現通過点の接線ベクトルを簡単な計算によっ
て求めて一つ前の通過点と現通過点との間のスプライン
曲線を逐次発生し、各通過点間を滑らかに接続するスプ
ライン曲線が得られる。したがってこの場合も演算負荷
を莫大なものにすることなく、リアルタイムに滑らかな
スプライン曲線を発生できる効果が得られる。
間のスプラインパラメータの変化量算出にあたって、ま
ず前回の補間時間のパラメータ変化量を仮のパラメータ
変化量としてスプライン曲線上の座標値を求めて移動量
を算出し、次にこの移動量が目標移動量と一致するよう
に収束演算を行い、当該収束演算により真のパラメータ
移動量が算出されるから、スプライン曲線に対してトレ
ース性が高い直線補間が行われ、高精度な加工が可能と
なる効果が得られる。
間のスプラインパラメータの変化量算出にあたって、ま
ず前回の補間時間のパラメータ変化量を仮のパラメータ
変化量としてスプライン曲線上の座標値を求めて移動量
を算出し、次にこの移動量が目標移動量と一致するよう
にパラメータ変化量の計算を任意回数繰り返し行い、こ
の繰り返し計算により真のパラメータ移動量が算出され
るから、妥当な演算時間でスプライン曲線に対してトレ
ース性が比較的高い直線補間が行われ、高精度な加工が
可能となる効果が得られる。
曲線加工軌道上に離散的にとられた通過点に対して、始
点から所定ブロック以上が同一方向に進行する点列の区
間、あるいは終点の手前の所定ブロック以上が同一方向
に進行する点列の区間、あるいは始点、終点を含まず所
定ブロック以上が同一方向に進行する点列の区間を直線
区間とし、その他の点列の区間をスプライン曲線区間と
するから、スプライン曲線を構成する通過点列の中に直
線部分があっても、この直線部分がこれに連続する曲線
部分の影響を受けて直線とはならないことが回避され
る。これにより高精度な加工が可能となる効果が得られ
る。
間と分離されたスプライン曲線区間のスプライン曲線決
定にあたって、直線区間とスプライン曲線区間との境界
点におけるスプライン曲線の接線ベクトルを直線区間の
方向を示す単位ベクトルで与えるから、スプライン曲線
を構成する通過点列の中に直線部分があっても、この直
線部分がこれに連続する曲線部分の影響を受けて直線と
はならないことが回避される。これにより高精度な加工
が可能となる効果が得られる。
あたっては端点の接線ベクトルを隣接する直線部分の方
向ベクトルと一致させているので、直線部分と曲線部分
の接続に滑らかな加工結果が得られると云う効果があ
る。
イン曲線決定手段は、直線区間ではスプライン曲線の3
次の係数と2次の係数を各々0とすることにより直線を
与えるから、スプライン曲線を算出する演算と同等の演
算で簡単に直線部分が得られる。
部構成を示すブロック線図である。
返しのベクトル演算により各通過点の接線ベクトルが求
まっていく時の計算手順を表す概念図である。
処理フローを示すフローチャートである。
線決定部の処理フローを示すフローチャートである。
間のスプライン曲線が逐次的に求められていくことを表
す概念図である。
度ベクトル、法線ベクトルの関係を表す説明図である。
処理フローを示すフローチャートである。
る。
方を説明する説明図である。
の処理フローを示すフローチャートである。
要部構成を示すブロック線図である。
線との誤差を表す説明図である。
の距離を幾何学的に求める説明図である。
の処理フローを示すフローチャートである。
要部構成を示すブロック線図である。
る通過点列に直線部がある時に通常直線部に現れる形状
のひずみと、本発明によりこのひずみを回避した形状を
説明する説明図である。
を示すフローチャートである。
部の全体の処理フローを示すフローチャートである。
部の処理形態が直線の場合の処理フローを示すフローチ
ャートである。
部の処理形態が始点を含むスプライン曲線の場合の処理
フローを示すフローチャートである。
部の処理形態が通常のスプライン曲線の場合の処理フロ
ーを示すフローチャートである。
部の処理形態がスプライン曲線の終点の場合の処理フロ
ーを示すフローチャートである。
後の処理形態が通常のスプライン曲線の場合、およびス
プライン曲線の終点の時にすでに求まっている部分とこ
れから求める部分を説明する説明図である。
明図である。
スプライン曲線を示す説明図である。
制御部,4 補間演算部,5 サーボ駆動部
Claims (10)
- 【請求項1】 スプライン補間機能を有する数値制御装
置において、 所望の曲線加工軌道上に離散的にとられた通過点に対し
て、その各通過点の接線ベクトルの近似計算を任意回数
繰り返し行い、各通過点間を滑らかに接続するスプライ
ン曲線を決定するスプライン曲線決定手段と、 前記スプライン曲線決定手段によって決定されたスプラ
イン曲線に従って工具が移動する時に法線加速度が許容
値以内となるように工具移動速度を計算する速度制御手
段と、 補間時間当たりのスプライン曲線上の移動量を計算する
補間手段と、 を有していることを特徴とする数値制御装置。 - 【請求項2】 前記速度制御手段は、一つのスプライン
曲線区間の両端点における法線加速度が許容値以内にな
るように該区間の工具移動速度を設定することを特徴と
する請求項1に記載の数値制御装置。 - 【請求項3】 スプライン補間機能を有する数値制御装
置において、 所望の曲線加工軌道上に離散的にとられた通過点に対し
て、その各通過点の接線ベクトルの近似計算を任意回数
繰り返し行い、各通過点間を滑らかに接続するスプライ
ン曲線を決定するスプライン曲線決定手段と、 前記スプライン曲線決定手段によって決定されたスプラ
イン曲線に従って工具が直線移動する時に、その直線と
スプライン曲線との最大離間距離が許容値以内になるよ
うに工具移動速度を計算する速度制御手段と、 補間時間当たりのスプライン曲線上の移動量を計算する
補間手段と、 を有していることを特徴とする数値制御装置。 - 【請求項4】 前記速度制御手段は、直線とスプライン
曲線との最大離間距離をスプライン曲線区間の最大曲率
により捉え、最大曲率に基づいて直線とスプライン曲線
との最大離間距離が許容値以内になるように工具移動速
度を計算することを特徴とする請求項1〜3の何れかに
記載の数値制御装置。 - 【請求項5】 前記スプライン曲線決定手段は、連続す
る3つの通過点の位置関係およびこの3つの通過点のう
ち第1点と第3点の接線ベクトルから、中間の第2点の
接線ベクトルを近似的に計算することを任意回数繰り返
して各通過点の接線ベクトルを求めることを特徴とする
請求項1〜4の何れかに記載の数値制御装置。 - 【請求項6】 前記補間手段は、補間時間のスプライン
パラメータの変化量算出にあたって、まず前回の補間時
間のパラメータ変化量を仮のパラメータ変化量としてス
プライン曲線上の座標値を求めて移動量を算出し、次に
この移動量が目標移動量と一致するように収束演算を行
い、当該収束演算により真のパラメータ移動量を算出す
ることを特徴とする請求項1〜5の何れかに記載の数値
制御装置。 - 【請求項7】 前記補間手段は、補間時間のスプライン
パラメータの変化量算出にあたって、まず前回の補間時
間のパラメータ変化量を仮のパラメータ変化量としてス
プライン曲線上の座標値を求めて移動量を算出し、次に
この移動量が目標移動量と一致するようにパラメータ変
化量の計算を任意回数繰り返し行い、この繰り返し計算
により真のパラメータ移動量を算出することを特徴とす
る請求項1〜5の何れかに記載の数値制御装置。 - 【請求項8】 前記スプライン曲線決定手段は、前記所
望の曲線加工軌道上に離散的にとられた通過点に対し
て、始点から所定ブロック以上が同一方向に進行する点
列の区間、あるいは終点の手前の所定ブロック以上が同
一方向に進行する点列の区間、あるいは始点、終点を含
まず所定ブロック以上が同一方向に進行する点列の区間
を直線区間とし、その他の点列の区間をスプライン曲線
区間とすることを特徴とする請求項1〜7の何れかに記
載の数値制御装置。 - 【請求項9】 前記スプライン曲線決定手段は、直線区
間と分離されたスプライン曲線区間のスプライン曲線決
定にあたって、直線区間とスプライン曲線区間との境界
点におけるスプライン曲線の接線ベクトルを直線区間の
方向を示す単位ベクトルで与えることを特徴とする請求
項8に記載の数値制御装置。 - 【請求項10】 前記スプライン曲線決定手段は、直線
区間ではスプライン曲線の3次の係数と2次の係数を各
々0とすることにより直線を与えることを特徴とする請
求項8または9に記載の数値制御装置。
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)
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)
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)
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 | オークマ株式会社 | 非円形ワーク加工用数値制御装置 |
-
1995
- 1995-07-17 JP JP18040995A patent/JP3396342B2/ja not_active Expired - Fee Related
-
1996
- 1996-04-10 US US08/630,765 patent/US5723961A/en not_active Expired - Lifetime
- 1996-05-07 DE DE19618332A patent/DE19618332A1/de not_active Withdrawn
Cited By (6)
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 |