JPH11345015A - 数値制御装置 - Google Patents

数値制御装置

Info

Publication number
JPH11345015A
JPH11345015A JP14248399A JP14248399A JPH11345015A JP H11345015 A JPH11345015 A JP H11345015A JP 14248399 A JP14248399 A JP 14248399A JP 14248399 A JP14248399 A JP 14248399A JP H11345015 A JPH11345015 A JP H11345015A
Authority
JP
Japan
Prior art keywords
curve
command
speed
interpolation
priority
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
JP14248399A
Other languages
English (en)
Other versions
JP3210301B2 (ja
Inventor
Yoshifumi Takahashi
悌史 高橋
Kiyotaka Kato
清敬 加藤
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 JP14248399A priority Critical patent/JP3210301B2/ja
Publication of JPH11345015A publication Critical patent/JPH11345015A/ja
Application granted granted Critical
Publication of JP3210301B2 publication Critical patent/JP3210301B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)

Abstract

(57)【要約】 【課題】 一般の作業者にとっては、精度の保証も重要
であるが加工速度の保証も重要な要素であり、精度優先
と速度優先を自由に選べる数値制御装置が望まれている
が、そのような要請に応えられていないという課題があ
った。 【解決手段】 数値制御装置は、補間処理を速度優先で
行うか精度優先で行うかを指定する選択情報が入力され
る選択情報入力部31と、入力された選択情報が速度優
先を指定するものであった場合には単位時間の移動量が
一定となるような補間制御を選択する速度優先選択部3
2と、入力された選択情報が精度優先を指定するもので
あった場合にはトレランスを保証する補間制御を選択す
る精度優先選択部33とを備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、工作機械やロボ
ットなどの制御を行う数値制御装置に関するものであ
る。
【0002】
【従来の技術】図32は例えば、特開昭64−8101
2号公報に示された、従来の数値制御装置を示すブロッ
ク図である。図において、41は指令がパンチされてい
る指令テープであり、42はこの指令テープ41を読み
込むテープリーダである。43は読み込まれたデータの
前処理を行う前処理手段であり、44は当該数値制御の
演算処理を実行する中央演算処理装置(以下、CPUと
いう)、45はCPU44よりアクセスされるメモリで
ある。46は補間データを工具の各軸毎の指令パルスと
して分配するパルス分配器であり、47はその指令パル
スに基づいてサーボモータを駆動するサーボ制御回路、
48はそのサーボモータである。
【0003】次に動作について説明する。まず、テープ
リーダ42によって、指令位置や指令速度がパンチされ
ている指令テープ41より工具移動についてのデータが
読み込まれる。読み込まれたデータに補間指令のGコー
ドが含まれている場合には、前処理手段43において指
令された点列に基づくスプライン曲線の設定が行われ
る。CPU44は設定された当該スプライン曲線の接線
方向での単位時間あたりの移動量を演算し、メモリ45
に格納されている補間データ作成のためのプログラムに
従って工具軌跡を演算する。このようにして作成された
補間データは、パルス分配器46で工具の各軸毎の指令
パルスとして分配され、それぞれのサーボ制御回路47
に送られる。サーボ制御回路47は受け取った指令パル
スに従ってサーボモータ48を制御し、このサーボモー
タ48の回転によってボールねじ等を介して工具を移動
させる。
【0004】このように、上記数値制御装置において
は、まず接線ベクトルを求め、一定速度でスプライン曲
線上を移動するためのパラメータ変化量をその接線ベク
トルより算出し、そのパラメータ変化量に応じて、スプ
ライン曲線上の補間点をパルス分配周期毎に計算してお
り、そのスプライン曲線は3次スプライン曲線に基づい
て計算するものであった。また、そのスプライン曲線を
一定速度で移動するためのスプライン曲線のパラメータ
Δtは、パルス分配毎の移動量fと接線ベクトルpt’
から求められていた。
【0005】なお、このような従来の数値制御装置に関
連した技術が記載された文献としては、この他にも、例
えば特開平3−19963号公報などがある。この特開
平3−19963号公報による曲線補間装置は、与えら
れた任意の曲線に対して、所望の許容誤差を保証するよ
うに微小線分で曲線を補間するものであり、この方法
は、現在位置における曲線の曲率と現在位置から探索長
だけ離れた付近の曲線の曲率を比較し、その判定結果よ
り線分長を決定するものである。
【0006】また、「コンピュータ エイデッド デザ
イン(Computer Aided Design )」第19巻第9号(1
987年9月)の第485〜498頁に掲載された論文
「カーブ アンド サーフェス コンストラクションズ
ユージング ラショナルビー・スプラインズ(Curve
and surface constructions using rational B-spline
s)」にもあるように、有理化Bスプライン(Non Unifo
rm Rational B-Spline 、以下NURBSという)曲線
がコンピュータ支援設計(CAD)において広く使用さ
れるようになってきている。
【0007】
【発明が解決しようとする課題】従来の数値制御装置は
以上のように構成されているので、スプライン曲線上を
一定速度で移動する補間方式であり、進行方向(スプラ
イン曲線の接線方向)に対して、機械が振動を起こさな
いようななめらかな加減速制御が考慮されてはおらず、
始点のなめらかな加速制御、および終点での減速制御が
行われないため、スプライン曲線上をなめらかに機械制
御することができない。また、スプライン曲線上を一定
指令速度で移動するためのスプライン曲線のパラメータ
Δtは接線ベクトルpt’から求めているため、計算時
間がかかるばかりか、一定速度指令で移動するために求
めたスプライン曲線のパラメータΔtは、接線ベクトル
pt’から求められているが、接線ベクトルpt’では
正確に1パルス分配周期毎の移動量とスプライン曲線の
パラメータ変化量の比を求めることができず、曲率が大
きいところではパラメータΔtの計算誤差が発生し、ス
プライン曲線上を正確に指令速度で移動することはでき
ない。また、スプライン曲線の補間を行うにあたっての
接線ベクトルの求め方が簡単ではなく、複数のスプライ
ン曲線からなる軌跡を補間する場合についても、進行方
向(スプライン曲線の接線方向)に対して、機械が振動
を起こさないようななめらかな加減速制御が考慮されて
おらず、始点のなめらかな加速制御および終点での減速
制御が行われないので、スプライン曲線上をなめらかに
機械制御することができないなどの課題があった。
【0008】また、従来の補間方法では、探索長を細か
く設定しすぎると許容誤差は充分保証されるが、線分が
細かくなりすぎ、その後の直線補間部分での処理が追従
できず、高速な補間ができなくなって、探索長を大きく
しすぎると許容誤差が保証されなくなり、探索長の設定
が面倒なものとなるという問題点があった。また、NU
RBS曲線を前述の方法で補間すると、演算時間がかか
り高速な補間制御ができないという問題点があった。ま
た、一般の作業者にとっては、精度の保証も重要である
が加工速度の保証も重要な要素であり、精度優先と速度
優先を自由に選べる数値制御装置が望まれているが、そ
のような要請に応えられていないという課題があった。
【0009】この発明は上記のような課題を解決するた
めになされたもので、速度優先補間と精度優先補間とを
自由に選択することができる数値制御装置を得ることを
目的とする。
【0010】
【課題を解決するための手段】この発明に係る数値制御
装置は、補間処理を速度優先で行うか精度優先で行うか
を指定する選択情報が入力される選択情報入力部と、入
力された前記選択情報が速度優先を指定するものであっ
た場合には、単位時間の移動量が一定となるような補間
制御を選択する速度優先選択部と、入力された前記選択
情報が精度優先を指定するものであった場合には、トレ
ランスを保証する補間制御を選択する精度優先選択部と
を備えるようにしたものである。
【0011】
【発明の実施の形態】実施の形態1.以下、この発明の
実施の形態1を図に基づいて説明する。図1は、この発
明の実施の形態1による数値制御装置を示すブロック図
である。図において、1は軌跡指令P(t) (ただし、t
はスプライン曲線を定義しているパラメータ、以下パラ
メータと略す)と送り速度指令Vcom を入力する指令入
力部である。なお、前記各指令は要求に応じて1ブロッ
クあるいは複数ブロック入力され、記憶される。また、
軌跡指令P(t) はスプライン曲線の形式で入力される。
【0012】2は後述する終点距離計算部、速度指令出
力部、および加減速制御部よりなる速度パターン生成部
であり、3は現在の指令位置からスプライン曲線の終点
までの距離Leを計算する前記終点距離計算部、4はこ
の終点距離計算部3で求めた終点までの距離Leを移動
して停止できるように送り速度指令Vcom を制御し、加
減速制御部へ入力する速度指令Vout として出力する前
記速度指令出力部、5はこの速度指令出力部4の速度指
令Vout がなめらかに変化するように加減速制御を行う
前記加減速制御部である。なお、この加減速制御は、例
えば特開平1−237806号公報記載の台形加減速制
御方法や従来用いられている指数関数加減速制御方法な
どを用いればよい。ここで、前記台形加減速制御方法
は、加速度ΔFを指定してその指令加速度ΔFで加速減
速を行い、指令速度となるまで加減速制御を行うように
働く。加減速制御部5に入力された速度指令Vout と、
出力された速度指令Vs の差の積分値は、追従距離Ld
として加減速制御部5内に記憶されており、加減速制御
部5は入力Vout が0になると、加減速制御部5の出力
速度Vs の積分値が前記追従距離Ldとなるまで速度指
令Vs を出力し続けるように働く。この加減速制御部5
の出力速度Vs はサーボ系の各軸の送り速度の合成され
た速度指令として出力される。
【0013】6は加減速制御部5の速度指令Vs に対応
したスプライン曲線上の位置を決定するパラメータを計
算するパラメータ計算部であり、7はこのパラメータ計
算部6からのパラメータと指令入力部1からの曲線指令
より、サーボ制御系への指令位置(xk 、yk 、zk )
を計算するスプライン曲線位置計算部である。
【0014】次に動作について説明する。ここで、図2
は動作の全体的な処理の流れを示すフローチャートであ
る。処理は一定処理周期(サンプリング周期)ΔTs 毎
に実行される。これらの処理は、CPU、メモリ、入出
力(I/O)インターフェイス等から構成されるコンピ
ュータシステムで実現される。今、図3のスプライン曲
線P(t) (0≦t≦1)が指令軌跡として与えられてい
るものとする。Ps は始点で座標が(xs 、ys 、zs
)、Pe は終点で座標値は(xe 、ye 、ze)、P(k
-1) は現在の指令位置(1処理周期前にサーボ制御系に
出力された位置指令)で座標は(x(k-1) 、y(k-1) 、
z(k-1) )とする。スプライン曲線P(t) は、例えば以
下の式(1)に示すBスプライン曲線形式で表現されて
いるものとする。
【0015】
【数1】
【0016】ここで、BSi,n(t)はBスプライン関数で
あり、di は3次元空間中の制御点である。パラメータ
tが決定すれば、式(1)よりスプライン曲線上の位置
座標が決定する。ちなみに、パラメータt=0の時はP
s 点、t=1の時はPe 点である。
【0017】図2において、ステップST1では、軌跡
指令を1ブロック読み込むか否かを判断する。もし、前
記軌跡指令が読み込まれていない場合は、ステップST
2で式(1)のようなBスプライン曲線形式で表現され
た軌跡指令1ブロックと、このブロックにおける送り速
度指令を読み込む。次に、ステップST3で現在の指令
位置P(k-1) (x(k-1) 、y(k-1) 、z(k-1) )のとき
のパラメータt=t(k-1) とする。現在の指令位置P(k
-1) から前記終点Pe までの距離Leは例えば次の式
(2)を用いて計算する。
【0018】
【数2】
【0019】その後、ステップST4〜ST6におい
て、速度指令出力部4が、終点までの距離Leと前記追
従距離Ldの1処理周期前の追従距離Ld(k-1) 、前記
送り速度指令Vcom から、終点に正確に停止できるよう
に速度指令Vcom を制御し、速度指令Vout を出力す
る。なお、この速度指令Vout は以下の式(3)〜式
(5)で示される条件で決定される。
【0020】 <条件1> Le−Ld(k-1) ≧Vcom *ΔTs なら、 Vout =Vcom ・・・・・・・(3) <条件2> 0<Le−Ld(k-1) <Vcom *ΔTs なら、 Vout =(Le−Ld(k-1) /ΔTs ・・・・・・・(4) <条件3> 0≧Le−Ld(k-1) なら、 Vout =0 ・・・・・・・(5)
【0021】すなわち、ステップST4では、前記条件
1〜3の判断を行う。条件1以外はすべて減速操作とな
る。条件1が成立すればYES、しないならNOの操作
を行う。ステップST5では、式(3)のごとくVout
を決定する。またステップST6なら、条件2、3に応
じて速度指令Vout を式(4)、式(5)の如く決定す
る。次にステップST7では、速度指令Vout を加減速
制御し、速度指令Vsを計算し出力する。加減速方式は
例えば前述の台形加減速方式を用いる。また追従距離L
dを、次の式(6)で修正し、次回の処理周期に用い
る。
【0022】 Ld=Ld(k-1) +(Vout −Vs )*ΔTs ・・・・・(6)
【0023】次に、ステップST8では、スプライン曲
線P(t) 上の現在の指令位置P(k-1)から微小パラメー
タΔt’だけ変化させた場合のパラメータ変化量Δt’
と移動距離ΔP’の比αを求める。スプライン曲線P
(t)上の現在の位置P(k-1)の座標は前記(x(k-1)
、y(k-1) 、z(k-1) )であり、パラメータがt(k-1)
から微小パラメータΔt’変化したt(k-1) +Δt’に
おける位置P(t(k-1)+Δt’)は、前記式(1)を
用いて計算でき、そのときの座標値を(x(k-1)'、y(k
-1)'、z(k-1)')とする。なお、前記比αは次の式
(7)により求める。
【0024】 α=Δt’/ΔP’ ・・・・・・・(7)
【0025】ただし、上記式(7)において移動距離Δ
P’は次の式(8)で与えられる。
【0026】
【数3】
【0027】また、パラメータ変化量Δt’は、次の式
(9)が成り立つような値に設定する。
【0028】
【数4】
【0029】次に、ステップST9では、前記速度指令
Vs に対応するパラメータ変化量Δtk を次の式(1
0)を用いて推定する。
【0030】 Δtk =α・Vs *ΔTs ・・・・・・・(10)
【0031】次に、ステップST10では、推定したパ
ラメータ変化量Δtk を用いてスプライン曲線P(t)
上の位置P(t(k-1) +Δtk )を式(1)を用いて計
算する。P(t(k-1) +Δtk )の座標計算値を指令位
置としてサーボ制御系に出力する。その後ステップST
11において、位置P(t(k-1) +Δtk )の座標計算
値をそれぞれx(k-1) =xk 、y(k-1) =yk 、z(k-
1) =zk として、これらを次回の処理周期の現在の指
令位置として記憶しておく。
【0032】なお、スプライン曲線の曲率が小さい場合
には、αを接線ベクトルから求めても同様な効果が得ら
れる。
【0033】実施の形態2.次に、この発明の実施の形
態2を図について説明する。図4は、この発明の実施の
形態2による数値制御装置を示すブロック図である。図
において、1〜5および7は実施の形態1のそれらと同
様の構成であるためその説明は省略する。また、8は1
処理周期前の指令位置と2処理周期前の指令位置から求
められる1処理周期間の指令位置の移動量ΔP(k-1) を
求める移動量計算部である。9はその指令位置の移動量
ΔP(k-1) と、1処理周期前の出力したパラメータ変化
量Δt(k-1) (1処理周期前パラメータ変化量Δtk )
から、パラメータ変化量と移動量の比αを計算するとと
もに、加減速制御部5の速度指令Vs と前記比α、およ
び1処理周期前のパラメータt(k-1) からパラメータt
k を求める点で、図1に符号6を付した実施の形態1の
ものとは異なったパラメータ計算部である。
【0034】次に動作について説明する。ここで、図5
は動作の流れを示すフローチャートであり、ステップS
T1〜ST7およびステップST8〜ST11は図2の
それと同等の処理が行われるものであるためその説明は
省略する。ステップST20では前回の処理周期のサー
ボ系への指令位置(x(k-1) 、y(k-1) 、z(k-1) )と
前々回の処理周期のサーボ系への指令位置(x(k-2) 、
y(k-2) 、z(k-2) )から移動量ΔP(k-1) を次の式
(11)より求める。
【0035】
【数5】
【0036】次に、ステップST21において、パラメ
ータ計算部9が前記1処理周期前のパラメータ変化量Δ
t(k-1) と1処理周期間の指令位置の移動量ΔP(k-1)
から、次の式(12)によりパラメータ変化量と移動量
の比αを計算する。
【0037】 α=Δt(k-1) /ΔP(k-1) ・・・・・・・(12)
【0038】なお、この方式では、スプライン曲線の始
点でのパラメータ変化量と移動量の比αはパラメータ変
化量Δt(k-1) 、ΔP(k-1) が存在しないので求めるこ
とができない。従って始点での比αを求めるには、実施
の形態1の式(7)のように、微小パラメータΔt’変
化させた場合の移動量ΔP’を求め、それより当該比α
を計算しておく方法を用いる。
【0039】また、上記実施の形態2では、1処理周期
前のパラメータ変化量Δt(k-1) と移動量ΔP(k-1) を
用いて、パラメータ変化量と移動量の比αを計算した
が、数処理周期前のパラメータ変化量と移動量を用いて
計算してもよい。
【0040】実施の形態3.次に、この発明の実施の形
態3を図について説明する。図6は、この発明の実施の
形態3による数値制御装置を示すブロック図である。図
において、1〜7は実施の形態1のそれらと同様の構成
であるためその説明は省略する。また、10はパラメー
タ計算部6で求めたパラメータが妥当であるか否かを判
断し、妥当でない場合にはパラメータを修正し、スプラ
イン曲線位置計算部7で求めるサーボ制御系への位置指
令を修正するパラメータ修正部である。
【0041】次に動作について説明する。ここで、図7
は動作の流れを示すフローチャートであり、ステップS
T1〜ST9およびST11は図2のそれと同等の処理
が行われるものであるためその説明は省略する。ステッ
プST30では図2のステップST10と同様、ステッ
プST9で求めたパラメータ変化量Δtk を用いて、ス
プライン曲線上の位置P(t(k-1) +Δtk )を式
(1)を用いて計算し、座標値(xk ,yk ,zk )を
求める。次に、ステップST31では、加減速制御部5
から出力される指令速度Vs の1処理周期間の移動量V
s *ΔTs と、前回の処理周期で計算された指令位置
(x(k-1) 、y(k-1) 、z(k-1) )と今回計算される前
記指令位置(xk 、yk 、zk )から1処理周期間の指
令位置の移動量ΔPk との差βを次の式(13)により
求める。
【0042】 β=Vs *ΔTs −ΔPk ・・・・・・・(13)
【0043】ここで、この移動量の差βは速度誤差に対
応する値であり、パラメータ変化量Δtk の計算誤差に
より生じる。なお、移動量ΔPk は次の式(14)によ
り求める。
【0044】
【数6】
【0045】次にステップST32では、移動量の差β
が許容値以下であるか否かを判断する。差βが許容値以
下なら、処理はステップST34へ移り、そうでない場
合はステップST33に移る。なお、前記許容値はサー
ボ制御系が許容できる最大加速度等から決定される値で
ある。ステップST34では、ステップST31で求め
た前記指令位置(xk 、yk 、zk )をサーボ系の位置
指令として出力する。一方、ステップST34では、パ
ラメータ変化量Δtk を修正する。例えば、次の式(1
5)を用いて修正する。
【0046】 Δtk =(Vs *ΔTs /ΔPk )*Δtk ・・・・・(15)
【0047】ここで修正されたパラメータ変化量Δtk
を用いて、再度ステップST30でスプライン曲線上の
位置を計算し、パラメータ変化量Δtk 、すなわち差β
が規定値以下となるまでステップST30〜ST33に
よる処理が繰り返し行われる。
【0048】なお、この実施の形態のパラメータ修正方
法は、実施の形態2のパラメータ計算手法と組み合わせ
て用いれば、速度指令に応じたパラメータが簡単にしか
も正確に求められる。
【0049】実施の形態4.次に、この発明の実施の形
態4を図について説明する。図8は、この発明の実施の
形態4による数値制御装置を示すブロック図である。図
において、1〜5および7は実施の形態1のそれらと同
様であるためその説明は省略する。また、11は速度指
令を減速するか否かの判断を後述の接続状態判断部に出
力する点で、図1に符号6を付した実施の形態1のもの
とは異なるパラメータ変換部である。12は軌跡指令が
複数のスプライン曲線で表されている場合、各スプライ
ン曲線間の接続状態が連続に接続されているか否かを判
断し、接続状態が連続であると判断すれば、スプライン
曲線の終点の位置を変更する接続状態判断部である。な
お、この接続状態判断部12による接続状態が連続であ
るか否かの判断は、例えば接続点での接線ベクトルの向
きと長さで判断することができる。また、軌跡指令がB
スプライン曲線で表現されている場合は、接続点付近で
の前記Bスプライン曲線を表現する制御点の位置関係か
ら判断することもできる。
【0050】次に動作について説明する。ここで、図9
は動作の流れを示すフローチャートであり、ステップS
T1〜ST11は実施の形態1の図2のそれと同等の処
理が行われるものであるためその説明は省略する。今、
図10および図11のように、軌跡指令が2つのBスプ
ライン曲線P1(t),P2(t)で表されているとする。P1s
はP1(t)の始点、P1e(t) はP1(t) の終点、P2sはP
2(t)の始点、P2e はP2(t)の終点であり、P1eとP2s
は一致している。図10、図11の軌跡指令をP1sから
始動し、速度指令Vcom で移動するものとし、終点P2e
で停止するものとする。Pa 、Pb 点はP1(t)上の指令
位置であり、Pa はスプライン曲線P1(t)の終点P1eま
での距離が減速制御するのに十分な距離がある場合であ
り、Pbはスプライン曲線P1(t)の終点P1eまでの距離
が減速制御するのに十分でない場合である。
【0051】例えば、現在の指令位置が前記Pa の場
合、ステップST3では、現在の指令位置Pa とP1eと
の距離を計算し、ステップST4で減速操作の必要なし
と判断し、ステップST5へと処理が流れる。しかし、
現在の指令位置がPb のごとき位置にきた場合、ステッ
プST4で減速操作の必要があると判断すると、処理は
ステップST40に進み、次の軌跡指令があるか否かの
判断が行われる。もし、次の軌跡指令が存在しなければ
ステップST6へ、存在すればステップST41へそれ
ぞれ処理が移る。ステップST41では、次の軌跡指令
(図10、図11ではP2(t))が、現在移動している軌
跡指令(図10、図11のP1(t))と連続に接続されて
いるかどうかを接続状態判断部12で判断する。もし、
図10のごとく連続に接続されていると判断すればステ
ップST42の処理に、また図11のごとく連続に接続
されていないと判断すれば、P1(t)の終点P1eで減速、
停止するようにステップST6の処理を行う。ステップ
ST42では、接続点が連続であるので、終点を次の軌
跡指令P2(t)の終点P2eとして、再びステップST3で
終点までの距離Leを次の式(16)によって計算しな
おし、ステップST4の処理へと移る。
【0052】
【数7】
【0053】ただし、現在の指令位置Pb の座標値を
(xb 、yb 、zb )、P2eの座標値を(x2e、y2e、
z2e)とする。
【0054】このように、スプライン曲線の軌跡指令の
接続状態を判断して終点の位置を変更し、速度制御を行
うので、軌跡指令が複数のスプライン曲線で表現されて
いる場合でも滑らかな補間制御を行うことができる。
【0055】実施の形態5.次に、この発明の実施の形
態5を図について説明する。図12は、この発明の実施
の形態5による数値制御装置の構成を示すブロック図で
ある。図において、21はNURBS形式のスプライン
曲線を入力する曲線入力部である。なお、そのフォーマ
ットはGコード、IGES(イニシャル・グラフィクス
・エクスチェンジ・スペスィフィケーション;Initial
Graphics Exchange Specifcation)などの交換フォーマ
ットを入力形式にすればよく、この曲線入力部21によ
って当該数値制御装置内部に保管すべき曲線データが保
存されることとなる。22はこの曲線入力部21より入
力されたスプライン曲線の曲率を評価して、その結果を
内部データとして保存する曲率評価部であり、23は入
力されたスプライン曲線の曲線データ、曲率評価部22
で評価された曲率評価データ、および与えられた速度指
令値をもとにして、曲線の各位置における送り速度指令
を生成する速度指令生成部である。24はこの速度指令
生成部23で生成された送り速度指令の値に対応して、
各軸のパルス数を計算する加減速制御および補間部であ
る。
【0056】次に動作について説明する。ここで、図1
3は当該数値制御装置の動作の流れの全体を示すフロー
チャートである。まず、ステップST51において、N
URBS曲線を複数の有理ベゼー曲線に変換する。次に
ステップST52において、それぞれの有理ベゼー曲線
の曲率の範囲を計算する。そして、最後にステップST
53にてそれぞれの有理ベゼー曲線における送り速度を
設定する。以降それぞれのステップST51〜ST53
に関し、その詳細を述べる。
【0057】ここで、NURBS曲線は一般に次の式
(17)のように表現される。
【0058】
【数8】
【0059】なお、この式(17)においても、BS
i,n(t)はBスプライン関数、 i は三次元空間中の制御
点であり、wi は重みである。この制御点 i および重
みwiを変えることによって、曲線形状を変えることが
きる。一方、曲線の曲率kは次の式(18)で表現され
る。
【0060】
【数9】
【0061】ここで、上記式(18)におけるP’はN
URBS曲線を示す式(17)の1次導関数であり、
P”は同じく2次導関数である。
【0062】今、図14に示すようなNURBS曲線が
与えられたとする。図中の記号A〜Hはそれぞれ曲線上
の位置を示している。この図14に示したNURBS曲
線の曲率の変化を示したものが図15である。この図1
5では横軸にパラメータを、縦軸に曲率をとって、点A
から点Hまでの各点に対応して曲率がどのように変化し
ているかを示したものであり、それをもとに送り速度を
設定することになる。
【0063】ここで、図16は曲率評価部22における
処理手順の一例を示すフローチャートである。まず、ス
テップST61にてパラメータtの値の初期設定を行
い、次にステップST62において曲率k(t)の計算
をする。得られた曲率kは与えられた指令速度Fs で送
ることが可能か否かがステップST63で判定され、与
えられた指令速度では補間できない速度低減の必要なパ
ラメータ区間を登録してゆく。以下、ステップST65
でパラメータtを所定ピッチΔtずつインクリメントし
ながら、ステップST66においてパラメータtがその
最大値を超えたことが検出されるまで、ステップST6
2〜ST66の処理が繰り返される。
【0064】これによって、図15に示した例において
は、補間できないパラメータ区間であるBC、DE、F
Gがそれぞれパラメータtb からtc 、td からte 、
tfからtg というように登録されてゆくことになる。
なお、この方法の欠点はパラメータをインクリメントす
るピッチによって曲率が評価できないことがある可能性
が生ずるという点と、パラメータの最小値から最大値ま
で多数の点で調べあげなければならず、前処理演算に時
間がかかる点にある。
【0065】図17は曲率評価部22における処理手段
の他の例を示したフローチャートを示したものであり、
NURBS曲線を複数の有理ベゼー曲線に変換し、それ
ぞれの有理ベゼー曲線において曲率の取り得る範囲を演
算する。この方法について詳しく述べる。一般に、有理
ベゼー曲線は次の式(19)のように表現される。
【0066】
【数10】
【0067】一方、曲線の曲率kは前述のように式(1
8)で表現されるが、式(19)を代入することによ
り、この有理ベゼー曲線の曲率は次の式(20)の形に
変形できる。
【0068】
【数11】
【0069】この式(20)の絶対値記号で囲まれた式
はすべてベゼー式で表現することができ、次の式(2
1)のように表現できる。
【0070】
【数12】
【0071】ところでベゼー式で表現された式は凸閉包
性を有している。図18は凸閉包性について説明するた
めの説明図である。ベゼー曲線の制御点が図18のよう
にQ0 からQ6 によって表されているとしよう。このと
き曲線CVは制御点Q0 からQ6 の作る凸体V1の中に
必ず存在するという性質のことを凸閉包性という。この
性質を使用すれば、曲線CVの絶対値の取りうる範囲を
知ることが可能である。従って、この性質を利用すれ
ば、有理ベゼー曲線の曲率は式(21)のA、B、Cの
各式がベゼー式になっていることを使って曲率kの取り
うる範囲を知ることができる。すなわち、次の式(2
2)のkmin およびkmax を得ることができる。
【0072】 kmin ≦k≦kmax ・・・・・・・・・(22)
【0073】ここで、このkmin およびkmax の曲率k
の最小値および最大値よりもそれぞれ小さめおよび大き
めに得られるが、曲線の大局的な性質を知る上では有用
な特性値であるといえる。以上のように曲率の特性値k
min およびkmax は制御点だけから得られるため、前述
の方法と比較して演算が速くなるという利点がある。
【0074】次に、この曲率評価部22の処理結果をも
とに、速度指令生成部23にて速度指令を生成する。図
19は速度指令生成部23の処理手順を示すフローチャ
ートである。まず、ステップST81でトレランスτ、
kmax およびサンプル時間ΔTから最高速度Fmax を求
める。図20に示すように、曲率kとトレランスτおよ
び補間線分長Δlとの間の関係は次の式(23)で表現
できる。
【0075】
【数13】
【0076】したがって、サンプル時間をΔTとすれば
トレランスτを保証するに必要な速度の最大値Fmax は
次の式(24)で得られる。
【0077】
【数14】
【0078】次のステップST82では、与えられた速
度指令値Fs と比較し、ステップST83およびST8
4で値の小さいものを選んで実際の送り速度Fを決定す
る。図21はこのようにして得られた速度指令の一例を
示す説明図である。区間AB、区間CD、区間EFおよ
び区間GHでは与えられた指令速度Fs が取られ、区間
BCと区間FGでは速度F1が取られ、区間DEでは速
度F2が取られる。このように、速度指令生成部23に
おいては、パラメータ範囲として示された区間と、その
区間での走行速度を求めることになる。
【0079】図22は得られた速度指令をもとに、加減
速制御および補間部24の処理について説明するための
説明図である。加減速制御および補間部24は与えられ
た加速度を超えないように、指令速度パターンをもとに
実際にサーボ系へ送り出すパルスを生成することにな
る。この加減速制御および補間部24への入力データ
は、曲線の区間と指令速度、前後の指令速度と許容加速
度である。その区間における速度がその前の区間の速度
より速い場合は所定加速度を超えない範囲で加速制御を
行う。また、その区間における速度がその後の区間の速
度より速い場合は所定加速度を越えない範囲で減速制御
を行う。この減速制御においては区間終了点に行き着く
ようにその点と現在地点との距離を毎回チェックしなが
ら速度の低減処理を行ってゆく。
【0080】実施の形態6.次に、この発明の実施の形
態6を図について説明する。図23は、この発明の実施
の形態6による数値制御装置を示すブロック図である。
図において、21は位置指令値がNURBS曲線の形式
で表現されて入力される、図12に同一符号を付したも
のと同等の曲線入力部である。また、25はこの曲線入
力部21より入力されたNURBS曲線を複数の有理ベ
ゼー曲線に変換する曲線変換部であり、26はこの曲線
変換部25によって変換された各有理ベゼー曲線を補間
する有理ベゼー曲線補間部である。
【0081】次に動作について説明する。ここで、図2
4はこの実施の形態6による数値制御装置の処理の流れ
を示すフローチャートである。曲線変換部25はまず、
ステップST91において、曲線入力部21より入力さ
れた補間すべきNURBS曲線を複数の有理ベゼー曲線
に一旦変換し、それを有理ベゼー曲線補間部26に出力
する。それを受けた有理ベゼー曲線補間部26は、ステ
ップST92で有理ベゼー曲線の番号iを初期値1に設
定した後、ステップST93においてそのi番目の有理
ベゼー曲線の補間処理を実行する。以下、ステップST
94でiを1ずつインクリメントしながら、ステップS
T95でそのiが曲線変換部21より送られてきた有理
ベゼー曲線の数と等しくなったことが検出されるまで、
ステップST93〜ST95の処理を繰り返す。このよ
うにして、曲線変換部25でNURBS曲線より変換さ
れた複数の有理ベゼー曲線は順番に補間処理され、全て
の有理ベゼー曲線の補間処理が済むと一連の処理は終了
する。
【0082】ここで、NURBS曲線は制御点およびノ
ットベクトルから表現され、有理ベゼー曲線は制御点の
みで表現される。そして、このNURBS曲線は3次式
の場合、次のように複数の有理ベゼー曲線に変換され
る。すなわち、NURBS曲線の制御点(頂点座標値)
がd0 ,d1 ,・・・dL+2 、重みがw0 ,w1 ,・・
・wL+2 、ノットベクトルがu0 ,u1 ,・・・uL で
与えられ、そして、Δ0〜ΔL をΔi =ui+1 −ui と
定義すると、前記複数の有理ベゼー曲線はi=1〜L−
1で次の式(25)のように表現される。
【0083】
【数15】
【0084】ここで、上記式(25)における 3i
3i-1 3i-2 は有理ベゼー曲線の制御点であり、ま
た、v3i,v3i-1 ,v3i-2 は各有理ベゼー曲線の重み
で、次の式(26)によって与えられる。
【0085】
【数16】
【0086】なお、上記式(26)のΔは、Δ=Δi-2
+Δi-1 +Δi である。また、i=0およびi=Lの場
合、すなわち、最初と最後は次の式(27)および式
(28)で示すものとなる。
【0087】
【数17】
【数18】
【0088】これら式(27),(28)における、v
0 ,v1 ,v2 およびv3L-2,v3L -1,v3Lは次の式
(29)および式(30)で示すものとなる。
【0089】
【数19】
【数20】
【0090】このような変換は図25に示したように、
NURBS曲線の制御点d0 からd5 を有理ベゼー曲線
の制御点b0 からb9 に変換するもので、b0 からb3
、b3 からb6 、b6 からb9 のそれぞれの制御点の
組が、図26に示したCV1、CV2、CV3の3本の
有理ベゼー曲線になる。
【0091】このような変換が行われた後、この実施の
形態6による数値制御装置においては、有理ベゼー曲線
を補間する機能を有した有理ベゼー曲線補間部26を備
えているため、NURBS曲線を直接補間制御するのと
同様な効果が得られる。なお、この有理ベゼー曲線補間
部26による補間は、実施の形態5の説明で述べた方法
によって実現することができる。このようにNURBS
曲線を有理ベゼー曲線に変換して補間するものであるた
め、重たいNURBS曲線の演算をする必要がなくな
り、NURBS補間の処理を高速に行うことができる数
値制御装置を実現できる。
【0092】なお、この実施の形態6はNURBS曲線
に対しても適用されることは言うまでもない。
【0093】実施の形態7.次に、この発明の実施の形
態7を図について説明する。図27は、この発明の実施
の形態7による数値制御装置を示すブロック図である。
図において、27は従来から使用されてきたGコードに
よる直線指令、円弧指令、楕円指令などが入力されてき
た場合には、入力された位置指令のデータをNURBS
曲線の形式に変換して曲率評価部22へ入力する指令変
換部である。なお、他の部分については、図12の相当
部分と同一の符号を付してその説明を省略する。
【0094】次に動作について説明する。位置指令のデ
ータがNURBS曲線の形式で入力された場合、曲線入
力部21でそれを受け取って曲率評価部22に入力す
る。一方、位置指令が従来から使用されてきたGコード
による直線指令、円弧指令、楕円指令などで入力されて
きた場合には、それを指令変換部27に入力してその位
置指令のデータをNURBS曲線の形式に一旦変換して
から曲率評価部22へ入力する。以降の処理は実施の形
態5で説明したものと同等に進行するため、その説明は
省略する。これにより、Gコードなどの既存のNCコー
ドとの互換性を保つことが可能となり、内部処理を一元
化することもできる。
【0095】実施の形態8.次に、この発明の実施の形
態8を図について説明する。図28は、この発明の実施
の形態8による数値制御装置を示すブロック図である。
図において、31は補間処理を速度優先と精度優先のい
ずれで実行するかを指令する選択情報が入力される選択
情報入力部であり、32は速度優先を指定する選択情報
が入力された場合に、単位時間の移動量が一定となるよ
うな補間制御を選択する速度優先選択部、33は精度優
先を指定する選択情報が入力された場合に、トレランス
を保証する補間制御を選択する精度優先選択部である。
34はこれら速度優先選択部32あるいは精度優先選択
部33によって選択された補間制御に従ってスプライン
曲線の補間処理を実行する曲線補間部である。
【0096】次に動作について説明する。ここで、図2
9はこの実施の形態8による数値制御装置の全体動作の
流れを示すフローチャート、図30はそのスプライン補
間処理の手順を示すフローチャートであり、図31はそ
の言語入力の一例を示す説明図である。この図31に示
したシーケンス番号004のGコード“G9.0”は精
度優先モードを指令する選択情報としての精度優先コー
ドであり、シーケンス番号010のGコード“G9.
1”は速度優先モードを指令する選択情報としての速度
優先コードである。すなわち、シーケンス番号004の
“G9.0”以降で精度優先モードに入り、シーケンス
番号010の“G9.1”以降で速度優先モードに入
る。なお、何も設定されていない場合にはデフォルトで
精度優先となる。
【0097】図29に示すように、処理が開始されると
ステップST101において、まずプログラムを一行ず
つ読み込んでゆく。次いで、読み込んだコードが速度優
先コードであるか否かをステップST102で、精度優
先コードであるか否かをステップST103でそれぞれ
判定し、速度優先コードであればステップST104で
内部変数cnt1を“0”に、精度優先コードであれば
ステップST105で内部変数cnt1を“1”にす
る。また、そのいずれでもなかった場合には、ステップ
ST106においてそれがスプライン補間コードである
か否かの判定を行い、スプライン補間コードでなければ
ステップST107で通常のコード処理を実行し、スプ
ライン補間コードであればステップST108でスプラ
イン補間処理を実行する。
【0098】スプライン補間処理が開始されると、まず
図30のステップST111において、内部変数cnt
1が“0”であるか否かの判定が行われる。その結果、
内部変数cnt1が“0”であればステップST112
で、速度優先選択部32によって単位時間の移動量が一
定となるような速度優先の補間制御が選択され、曲線補
間部34はそれに基づいて速度優先によるスプライン曲
線の補間処理を実行する。一方、内部変数cnt1が
“1”であればステップST113で、精度優先選択部
33によってトレランスを保証する補間制御が選択さ
れ、曲線補間部34はそれに基づいて精度優先によるス
プライン曲線の補間処理を実行する。
【0099】なお、精度優先による補間処理の具体的な
方法は、実施の形態1で説明した方法によって実現でき
る。また、速度優先による補間処理は、単位時間に移動
すべき距離を求め、その距離に対応するパラメータの増
分値を求めて位置指令値を出力することによって実現で
きる。
【0100】以上のように、この実施の形態8の数値制
御装置によれば、入力された速度優先モードを指令する
選択情報と精度優先モードを指令する選択情報により、
スプライン曲線の補間処理の種類を作業者が選択できる
ようになる。
【0101】
【発明の効果】以上のように、この発明によれば、補間
処理を速度優先で行うか精度優先で行うかを指定する選
択情報が入力される選択情報入力部と、入力された前記
選択情報が速度優先を指定するものであった場合には、
単位時間の移動量が一定となるような補間制御を選択す
る速度優先選択部と、入力された前記選択情報が精度優
先を指定するものであった場合には、トレランスを保証
する補間制御を選択する精度優先選択部とを備えるよう
に構成したので、速度優先補間と精度優先補間とを自由
に選択することができるという効果を奏する。
【図面の簡単な説明】
【図1】 この発明の実施の形態1による数値制御装置
を示すブロック図である。
【図2】 上記実施の形態の動作の流れを示すフローチ
ャートである。
【図3】 上記実施の形態におけるスプライン曲線の一
例を示す説明図である。
【図4】 この発明の実施の形態2による数値制御装置
を示すブロック図である。
【図5】 上記実施の形態の動作の流れを示すフローチ
ャートである。
【図6】 この発明の実施の形態3による数値制御装置
を示すブロック図である。
【図7】 上記実施の形態の動作の流れを示すフローチ
ャートである。
【図8】 この発明の実施の形態4による数値制御装置
を示すブロック図である。
【図9】 上記実施の形態の動作の流れを示すフローチ
ャートである。
【図10】 上記実施の形態におけるスプライン曲線の
一例を示す説明図である。
【図11】 上記実施の形態におけるスプライン曲線の
他の例を示す説明図である。
【図12】 この発明の実施の形態5による数値制御装
置を示すブロック図である。
【図13】 上記実施の形態の全体動作の流れを示すフ
ローチャートである。
【図14】 上記実施の形態におけるNURBS曲線の
一例を示す説明図である。
【図15】 上記NURBS曲線の曲率の変化を示す説
明図である。
【図16】 上記実施の形態の曲率評価部の動作の一例
を示すフローチャートである。
【図17】 上記曲率評価部の動作の他の例を示すフロ
ーチャートである。
【図18】 上記実施の形態における有理ベゼー曲線の
凸閉包性について説明するための説明図である。
【図19】 上記実施の形態の速度指令生成部の動作の
流れを示すフローチャートである。
【図20】 曲率とトレランスおよび補間線分長の関係
を示す説明図である。
【図21】 上記実施の形態の速度指令生成部が生成す
る速度指令の一例を示す説明図である。
【図22】 上記実施の形態の加減速制御および補間部
における上記速度指令に基づく動作を説明するための説
明図である。
【図23】 この発明の実施の形態6による数値制御装
置を示すブロック図である。
【図24】 上記実施の形態の動作の流れを示すフロー
チャートである。
【図25】 上記実施の形態におけるNURBS曲線か
ら有理ベゼー曲線への変換を示す説明図である。
【図26】 変換された上記有理ベゼー曲線を示す説明
図である。
【図27】 この発明の実施の形態7による数値制御装
置を示すブロック図である。
【図28】 この発明の実施の形態8による数値制御装
置を示すブロック図である。
【図29】 上記実施の形態の全体動作の流れを示すフ
ローチャートである。
【図30】 上記実施の形態のスプライン補間処理の流
れを示すフローチャートである。
【図31】 上記実施の形態の言語入力の一例を示す説
明図である。
【図32】 従来の数値制御装置を示すブロック図であ
る。
【符号の説明】
31 選択情報入力部、32 速度優先選択部、33
精度優先選択部。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 補間処理を速度優先で行うか精度優先で
    行うかを指定する選択情報が入力される選択情報入力部
    と、入力された前記選択情報が速度優先を指定するもの
    であった場合には、単位時間の移動量が一定となるよう
    な補間制御を選択する速度優先選択部と、入力された前
    記選択情報が精度優先を指定するものであった場合に
    は、トレランスを保証する補間制御を選択する精度優先
    選択部とを備えた数値制御装置。
JP14248399A 1999-05-21 1999-05-21 数値制御装置 Expired - Fee Related JP3210301B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14248399A JP3210301B2 (ja) 1999-05-21 1999-05-21 数値制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14248399A JP3210301B2 (ja) 1999-05-21 1999-05-21 数値制御装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP5216727A Division JP3068989B2 (ja) 1993-08-31 1993-08-31 数値制御装置

Publications (2)

Publication Number Publication Date
JPH11345015A true JPH11345015A (ja) 1999-12-14
JP3210301B2 JP3210301B2 (ja) 2001-09-17

Family

ID=15316382

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14248399A Expired - Fee Related JP3210301B2 (ja) 1999-05-21 1999-05-21 数値制御装置

Country Status (1)

Country Link
JP (1) JP3210301B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102540978A (zh) * 2010-12-09 2012-07-04 中国科学院沈阳计算技术研究所有限公司 面向高速加工的表面质量优先的样条曲线实时插补方法
WO2014013550A1 (ja) * 2012-07-17 2014-01-23 三菱電機株式会社 数値制御装置および数値制御システム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102540978A (zh) * 2010-12-09 2012-07-04 中国科学院沈阳计算技术研究所有限公司 面向高速加工的表面质量优先的样条曲线实时插补方法
WO2014013550A1 (ja) * 2012-07-17 2014-01-23 三菱電機株式会社 数値制御装置および数値制御システム
CN104508580A (zh) * 2012-07-17 2015-04-08 三菱电机株式会社 数控装置以及数控系统
CN104508580B (zh) * 2012-07-17 2016-08-24 三菱电机株式会社 数控装置以及数控系统
US9823644B2 (en) 2012-07-17 2017-11-21 Mitsubishi Electric Corporation Numerical control device and numerical control system

Also Published As

Publication number Publication date
JP3210301B2 (ja) 2001-09-17

Similar Documents

Publication Publication Date Title
EP1235126B1 (en) Numerically controlled curved surface machining unit
US6587747B2 (en) Numerically controlled curved surface machining unit
Dong et al. Smooth feedrate planning for continuous short line tool path with contour error constraint
JP3830475B2 (ja) 制御装置
JP5326015B2 (ja) 加工曲線作成機能を有する数値制御装置
Bi et al. A general, fast and robust B-spline fitting scheme for micro-line tool path under chord error constraint
CN107765648B (zh) 一种cnc加工的进给速度规划方法及装置
Emami et al. A look-ahead command generator with control over trajectory and chord error for NURBS curve with unknown arc length
US20030200005A1 (en) Numerically controlled curved surface machining unit
JP2012093975A (ja) 数値制御工作機械の加工時間予測装置
US20020068990A1 (en) Numerically controlled method
CN107291047B (zh) 一种基于多约束条件的正反双向nurbs曲线插补方法
JPH08305430A (ja) 自由曲線補間方式
JPH11345014A (ja) 数値制御装置
JP3034843B2 (ja) 加工機の制御装置
CN113433889B (zh) 一种基于三段式羊角曲线的五轴机床加工的刀具轨迹规划方法
Ma et al. A five-axis dual NURBS interpolator with constant speed at feedrate-sensitive regions under axial drive constraints
JP3879056B2 (ja) 数値制御曲面加工装置
US5936864A (en) Free curve interpolation apparatus and interpolation method
JP3068989B2 (ja) 数値制御装置
JP3466111B2 (ja) 数値制御装置
CN114115131A (zh) 一种应用于五轴数控机床的时间样条曲线拟合与插补方法
Sun et al. Smoothing interpolation of five-axis tool path with less feedrate fluctuation and higher computation efficiency
JPH11345017A (ja) 数値制御装置
JPH11345015A (ja) 数値制御装置

Legal Events

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

Year of fee payment: 6

Free format text: PAYMENT UNTIL: 20070713

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

Year of fee payment: 7

Free format text: PAYMENT UNTIL: 20080713

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

Free format text: PAYMENT UNTIL: 20090713

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100713

Year of fee payment: 9

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

Year of fee payment: 9

Free format text: PAYMENT UNTIL: 20100713

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

Year of fee payment: 10

Free format text: PAYMENT UNTIL: 20110713

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

Free format text: PAYMENT UNTIL: 20110713

Year of fee payment: 10

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

Year of fee payment: 11

Free format text: PAYMENT UNTIL: 20120713

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

Free format text: PAYMENT UNTIL: 20120713

Year of fee payment: 11

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

Year of fee payment: 12

Free format text: PAYMENT UNTIL: 20130713

LAPS Cancellation because of no payment of annual fees