JP3068989B2 - 数値制御装置 - Google Patents
数値制御装置Info
- Publication number
- JP3068989B2 JP3068989B2 JP5216727A JP21672793A JP3068989B2 JP 3068989 B2 JP3068989 B2 JP 3068989B2 JP 5216727 A JP5216727 A JP 5216727A JP 21672793 A JP21672793 A JP 21672793A JP 3068989 B2 JP3068989 B2 JP 3068989B2
- Authority
- JP
- Japan
- Prior art keywords
- command
- output
- curve
- speed
- spline
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Numerical Control (AREA)
Description
ットなどの制御を行う数値制御装置に関するものであ
る。
2号公報に示された、従来の数値制御装置を示すブロッ
ク図である。図において、41は指令がパンチされてい
る指令テープであり、42はこの指令テープ41を読み
込むテープリーダである。43は読み込まれたデータの
前処理を行う前処理手段であり、44は当該数値制御の
演算処理を実行する中央演算処理装置(以下、CPUと
いう)、45はCPU44よりアクセスされるメモリで
ある。46は補間データを工具の各軸毎の指令パルスと
して分配するパルス分配器であり、47はその指令パル
スに基づいてサーボモータを駆動するサーボ制御回路、
48はそのサーボモータである。
リーダ42によって、指令位置や指令速度がパンチされ
ている指令テープ41より工具移動についてのデータが
読み込まれる。読み込まれたデータに補間指令のGコー
ドが含まれている場合には、前処理手段43において指
令された点列に基づくスプライン曲線の設定が行われ
る。CPU44は設定された当該スプライン曲線の接線
方向での単位時間あたりの移動量を演算し、メモリ45
に格納されている補間データ作成のためのプログラムに
従って工具軌跡を演算する。このようにして作成された
補間データは、パルス分配器46で工具の各軸毎の指令
パルスとして分配され、それぞれのサーボ制御回路47
に送られる。サーボ制御回路47は受け取った指令パル
スに従ってサーボモータ48を制御し、このサーボモー
タ48の回転によってボールねじ等を介して工具を移動
させる。
は、まず接線ベクトルを求め、一定速度でスプライン曲
線上を移動するためのパラメータ変化量をその接線ベク
トルより算出し、そのパラメータ変化量に応じて、スプ
ライン曲線上の補間点をパルス分配周期毎に計算してお
り、そのスプライン曲線は3次スプライン曲線に基づい
て計算するものであった。また、そのスプライン曲線を
一定速度で移動するためのスプライン曲線のパラメータ
Δtは、パルス分配毎の移動量fと接線ベクトルpt’
から求められていた。
連した技術が記載された文献としては、この他にも、例
えば特開平3−19963号公報などがある。この特開
平3−19963号公報による曲線補間装置は、与えら
れた任意の曲線に対して、所望の許容誤差を保証するよ
うに微小線分で曲線を補間するものであり、この方法
は、現在位置における曲線の曲率と現在位置から探索長
だけ離れた付近の曲線の曲率を比較し、その判定結果よ
り線分長を決定するものである。
イン(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)において広く使用さ
れるようになってきている。
以上のように構成されているので、スプライン曲線上を
一定速度で移動する補間方式であり、進行方向(スプラ
イン曲線の接線方向)に対して、機械が振動を起こさな
いようななめらかな加減速制御が考慮されてはおらず、
始点のなめらかな加速制御、および終点での減速制御が
行われないため、スプライン曲線上をなめらかに機械制
御することができない。また、スプライン曲線上を一定
指令速度で移動するためのスプライン曲線のパラメータ
Δtは接線ベクトルpt’から求めているため、計算時
間がかかるばかりか、一定速度指令で移動するために求
めたスプライン曲線のパラメータΔtは、接線ベクトル
pt’から求められているが、接線ベクトルpt’では
正確に1パルス分配周期毎の移動量とスプライン曲線の
パラメータ変化量の比を求めることができず、曲率が大
きいところではパラメータΔtの計算誤差が発生し、ス
プライン曲線上を正確に指令速度で移動することはでき
ない。また、スプライン曲線を補間を行うにあたっての
接線ベクトルの求め方が簡単ではなく、複数のスプライ
ン曲線からなる軌跡を補間する場合についても、進行方
向(スプライン曲線の接線方向)に対して、機械が振動
を起こさないようななめらかな加減速制御が考慮されて
おらず、始点のなめらかな加速制御および終点での減速
制御が行われないので、スプライン曲線上をなめらかに
機械制御することができないなどの問題点があった。
く設定しすぎると許容誤差は充分保証されるが、線分が
細かくなりすぎ、その後の直線補間部分での処理が追従
できず、高速な補間ができなくなって、探索長を大きく
しすぎると許容誤差が保証されなくなり、探索長の設定
が面倒なものとなるという問題点があった。また、NU
RBS曲線を前述の方法で補間すると、演算時間がかか
り高速な補間制御ができないという問題点があり、さら
に、一般の作業者にとっては、精度の保証も重要である
が加工速度の保証も重要な要素であり、精度優先と速度
優先を自由に選べる数値制御装置が望まれているが、そ
のような要請にも応えられるものではなかった。
ためになされたものであり、始点の加速制御および終点
での減速制御等の加減速制御を考慮した速度制御が行
え、スプライン曲線上をなめらかに駆動することがで
き、簡単な計算方式で指令速度に対応したスプライン曲
線のパラメータを計算する手法、さらには、指令速度に
対応したスプライン曲線のパラメータを正確に計算する
手法をもち、複数のスプライン曲線で構成される軌跡で
も、加減速制御を考慮して滑らかにスプライン曲線上を
駆動でき、また、該スプライン曲線がなめらかに接続さ
れていない場合には接続点で減速制御あるいは停止等の
速度制御を行うことができる数値制御装置を得ることを
目的とする。
装置は、指令軌跡をスプライン曲線の形式で入力する指
令入力部と、前記指令入力部から出力される前記スプラ
イン曲線上の現在の指令位置から前記スプライン曲線の
終点までを接続する1つまたは複数の線分の線分長とし
て与えられる距離を計算し出力する終点距離計算部と、
前記終点距離計算部から出力される前記終点までの距離
に応じて送り速度指令を作成し出力する速度指令出力部
と、前記速度指令出力部から出力される速度指令を加減
速制御し滑らかな速度指令を出力する加減速制御部と、
前記加減速制御部から出力される速度指令に対応する前
記スプライン曲線のパラメータ変化量を用いて、前記ス
プライン曲線のパラメータを計算し出力するパラメータ
計算部と、前記パラメータ計算部から出力される前記ス
プライン曲線のパラメータを用いて前記スプライン曲線
上における次の指令位置を計算するスプライン曲線位置
計算部とを備えるようにしたものである。
記パラメータ計算部のパラメータ変化量は、少なくとも
1処理周期前のパラメータ変化量と、少なくとも1処理
周期前の指令位置から計算される移動量との比を用いて
計算するようにしたものである。
令軌跡をスプライン曲線の形式で入力する指令入力部
と、前記指令入力部から出力される前記スプライン曲線
上の現在の指令位置から前記スプライン曲線の終点まで
を接続する1つまたは複数の線分の線分長として与えら
れる距離を計算し出力する終点距離計算部と、前記終点
距離計算部から出力される前記終点までの距離に応じて
送り速度指令を作成し出力する速度指令出力部と、前記
速度指令出力部から出力される速度指令を加減速制御し
滑らかな速度指令を出力する加減速制御部と、前記加減
速制御部から出力される速度指令に対応する前記スプラ
イン曲線のパラメータ変化量を用いて、前記スプライン
曲線のパラメータを計算し出力するパラメータ計算部
と、前記パラメータ計算部から出力される前記スプライ
ン曲線のパラメータを用いて、前記スプライン曲線上に
おける次の指令位置を計算するスプライン曲線位置計算
部と、 前記加減速制御部から出力される速度指令に対応
した距離と、少なくとも1処理周期前のスプライン曲線
上の指令位置から計算される移動量とを比較して、前記
パラメータ変化量の修正を行うパラメータ修正部とを備
えるようにしたものである。
令軌跡を複数のスプライン曲線の形式で入力する指令入
力部と、前記複数のスプライン曲線の接続点での連続性
を判断する接続状態判断部と、前記接続状態判断部にて
前後の前記スプライン曲線が連続に接続されていると判
断された場合、前記スプライン曲線上の現在の指令位置
から後部の前記スプライン曲線の終点までを接続する1
つまたは複数の線分の線分長として与えられる距離を計
算する終点距離計算部と、前記終点距離計算部から出力
される前記終点までの距離に応じて速度指令を作成し出
力する速度指令出力部と、前記速度指令出力部から出力
される速度指令を加減速制御し滑らかな速度指令を出力
する加減速制御部と、前記加減速制御部から出力される
速度指令に対応する前記スプライン曲線のパラメータ変
化量を用いて、前記スプライン曲線のパラメータを計算
し出力するパラメータ計算部と、前記パラメータ計算部
から出力される前記スプライン曲線のパラメータを用い
て、前記スプライン曲線上における次の指令位置を計算
するスプライン曲線位置計算部とを備えるようにしたも
のである。
図1は、この発明の実施の形態1による数値制御装置を
示すブロック図である。図において、1は軌跡指令P
(t) (ただし、tはスプライン曲線を定義しているパラ
メータ、以下パラメータと略す)と送り速度指令Vcom
を入力する指令入力部である。なお、前記各指令は要求
に応じて1ブロックあるいは複数ブロック入力され、記
憶される。また、軌跡指令P(t) はスプライン曲線の形
式で入力される。
力部、および加減速制御部よりなる速度パターン生成部
であり、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 はサーボ系の各軸の送り速度の合成され
た速度指令として出力される。
したスプライン曲線上の位置を決定するパラメータを計
算するパラメータ計算部であり、7はこのパラメータ計
算部6からのパラメータと指令入力部1からの曲線指令
より、サーボ制御系への指令位置(xk 、yk 、zk )
を計算するスプライン曲線位置計算部である。
は動作の全体的な処理の流れを示すフローチャートであ
る。処理は一定処理周期(サンプリング周期)Δ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スプライン曲線形式で表現され
ているものとする。
あり、d i は3次元空間中の制御点である。パラメータ
tが決定すれば、式(1)よりスプライン曲線上の位置
座標が決定する。ちなみに、パラメータt=0の時はP
s 点、t=1の時はPe 点である。
指令を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)を用いて計算する。
て、速度指令出力部4が、終点までの距離Leと前記追
従距離Ldの1処理周期前の追従距離Ld(k-1) 、前記
送り速度指令Vcom から、終点に正確に停止できるよう
に速度指令Vcom を制御し、速度指令Vout を出力す
る。なお、この速度指令Vout は以下の式(3)〜式
(5)で示される条件で決定される。
1〜3の判断を行う。条件1以外はすべて減速操作とな
る。条件1が成立すればYES、しないならNOの操作
を行う。ステップST5では、式(3)のごとくVout
を決定する。またステップST6なら、条件2、3に応
じて速度指令Vout を式(4)、式(5)の如く決定す
る。次にステップST7では、速度指令Vout を加減速
制御し、速度指令Vsを計算し出力する。加減速方式は
例えば前述の台形加減速方式を用いる。また追従距離L
dを、次の式(6)で修正し、次回の処理周期に用い
る。
線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)により求める。
P’は次の式(8)で与えられる。
(9)が成り立つような値に設定する。
Vs に対応するパラメータ変化量Δtk を次の式(1
0)を用いて推定する。
ラメータ変化量Δ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 として、これらを次回の処理周期の現在の指
令位置として記憶しておく。
には、αを接線ベクトルから求めても同様な効果が得ら
れる。
図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) からパラメータtk を求める点で、図1に符号
6を付した実施の形態1のものとは異なったパラメータ
計算部である。
は動作の流れを示すフローチャートであり、ステップ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)より求める。
ータ計算部9が前記1処理周期前のパラメータ変化量Δ
t(k-1) と1処理周期間の指令位置の移動量ΔP(k-1)
から、次の式(12)によりパラメータ変化量と移動量
の比αを計算する。
点でのパラメータ変化量と移動量の比αはパラメータ変
化量Δt(k-1) 、ΔP(k-1) が存在しないので求めるこ
とができない。従って始点での比αを求めるには、実施
の形態1の式(7)のように、微小パラメータΔt’変
化させた場合の移動量ΔP’を求め、それより当該比α
を計算しておく方法を用いる。
のパラメータ変化量Δt(k-1) と移動量ΔP(k-1) を用
いて、パラメータ変化量と移動量の比αを計算したが、
数処理周期前のパラメータ変化量と移動量を用いて計算
してもよい。
図6は、この発明の実施の形態3による数値制御装置を
示すブロック図である。図において、1〜7は実施の形
態1のそれらと同様の構成であるためその説明は省略す
る。また、10はパラメータ計算部6で求めたパラメー
タが妥当であるか否かを判断し、妥当でない場合にはパ
ラメータを修正し、スプライン曲線位置計算部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)により求
める。
応する値であり、パラメータ変化量Δtk の計算誤差に
より生じる。なお、移動量ΔPk は次の式(14)によ
り求める。
が許容値以下であるか否かを判断する。差βが許容値以
下なら、処理はステップST34へ移り、そうでない場
合はステップST33に移る。なお、前記許容値はサー
ボ制御系が許容できる最大加速度等から決定される値で
ある。ステップST34では、ステップST31で求め
た前記指令位置(xk 、yk 、zk )をサーボ系の位置
指令として出力する。一方、ステップST34では、パ
ラメータ変化量Δtk を修正する。例えば、次の式(1
5)を用いて修正する。
を用いて、再度ステップST30でスプライン曲線上の
位置を計算し、パラメータ変化量Δtk 、すなわち差β
が規定値以下となるまでステップST30〜ST33に
よる処理が繰り返し行われる。
法は、実施の形態2のパラメータ計算手法と組み合わせ
て用いれば、速度指令に応じたパラメータが簡単にしか
も正確に求められる。
図8は、この発明の実施の形態4による数値制御装置を
示すブロック図である。図において、1〜5および7は
実施の形態1のそれらと同様であるためその説明は省略
する。また、11は速度指令を減速するか否かの判断を
後述の接続状態判断部に出力する点で、図1に符号6を
付した実施の形態1のものとは異なるパラメータ変換部
である。12は軌跡指令が複数のスプライン曲線で表さ
れている場合、各スプライン曲線間の接続状態が連続に
接続されているか否かを判断し、接続状態が連続である
と判断すれば、スプライン曲線の終点の位置を変更する
接続状態判断部である。なお、この接続状態判断部12
による接続状態が連続であるか否かの判断は、例えば接
続点での接線ベクトルの向きと長さで判断することがで
きる。また、軌跡指令がBスプライン曲線で表現されて
いる場合は、接続点付近での前記Bスプライン曲線を表
現する制御点の位置関係から判断することもできる。
は動作の流れを示すフローチャートであり、ステップS
T1〜ST11は実施の形態1の図2のそれと同等の処
理が行われるものであるためその説明は省略する。今、
図10および11のように、軌跡指令が2つのBスプラ
イン曲線P1(t),P2(t)で表されているとする。P1sは
P1(t)の始点、P1e(t) はP(t) の終点、P2sはP2(t)
の始点、P2e(t) はP2(t)の終点であり、P1eとP2sは
一致している。図10、11の軌跡指令をP1sから始動
し、速度指令Vcom で移動するものとし、終点P2eで停
止するものとする。Pa 、Pb 点はP1(t)上の指令位置
であり、Pa はスプライン曲線P1(t)の終点P1eまでの
距離が減速制御するのに十分な距離がある場合であり、
Pb はスプライン曲線P1(t)の終点P1eまでの距離が減
速制御するのに十分でない場合である。
合、ステップST3では、現在の指令位置Pa とP1eの
距離を計算し、ステップST4で減速操作の必要なしと
判断し、ステップST5へと処理が流れる。しかし、現
在の指令位置がPb のごとき位置にきた場合、ステップ
ST4で減速操作の必要があると判断すると、処理はス
テップST40に進み、次の軌跡指令があるか否かの判
断が行われる。もし、次の軌跡指令が存在しなければス
テップST6へ、存在すればステップST41へそれぞ
れ処理が移る。ステップST41では、次の軌跡指令
(図10、11ではP2(t))が、現在移動している軌跡
指令(図10、11のP1(t))と連続に接続されている
かどうかを接続状態判断部12で判断する。もし、図1
0のごとく連続に接続されていると判断すればステップ
ST42の処理に、また図11のごとく連続に接続され
ていないと判断すれば、P1(t)の終点P1eで減速、停止
するようにステップST6の処理を行う。ステップST
42では、接続点が連続であるので、終点を次の軌跡指
令P2(t)の終点P2eとして、再びステップST3で終点
までの距離Leを次の式(16)によって計算しなお
し、ステップST4の処理へと移る。
(xb 、yb 、zb )、P2eの座標値を(x2e、y2e、
z2e)とする。
接続状態を判断して終点の位置を変更し、速度制御を行
うので、軌跡指令が複数のスプライン曲線で表現されて
いる場合でも滑らかな補間制御を行うことができる。
図12は、この発明の実施の形態5による数値制御装置
の構成を示すブロック図である。図において、21はN
URBS形式のスプライン曲線を入力する曲線入力部で
ある。なお、そのフォーマットはGコード、IGES
(イニシャル・グラフィクス・エクスチェンジ・スペス
ィフィケーション;Initial Graphics Exchange Specif
cation)などの交換フォーマットを入力形式にすればよ
く、この曲線入力部21によって当該数値制御装置内部
に保管すべき曲線データが保存されることとなる。22
はこの曲線入力部21より入力されたスプライン曲線の
曲率を評価して、その結果を内部データとして保存する
曲率評価部であり、23は入力されたスプライン曲線の
曲線データ、曲率評価部22で評価された曲率評価デー
タ、および与えられた速度指令値をもとにして、曲線の
各位置における送り速度指令を生成する速度指令生成部
である。24はこの速度指令生成部23で生成された送
り速度指令の値に対応して、各軸のパルス数を計算する
加減速制御および補間部である。
3は当該数値制御装置の動作の流れの全体を示すフロー
チャートである。まず、ステップST51において、N
URBS曲線を複数の有理ベゼー曲線に変換する。次に
ステップST52において、それぞれの有理ベゼー曲線
の曲率の範囲を計算する。そして、最後にステップST
53にてそれぞれの有理ベゼー曲線における送り速度を
設定する。以降それぞれのステップST51〜ST53
に関し、その詳細を述べる。
(17)のように表現される。
i,n(t)はBスプライン関数、d i は三次元空間中の制御
点であり、wi は重みである。この制御点d i および重
みwiを変えることによって、曲線形状を変えることが
きる。一方、曲線の曲率kは次の式(18)で表現され
る。
URBS曲線を示す式(17)の1次導関数であり、
P”は同じく2次導関数である。
与えられたとする。図中の記号A〜Hはそれぞれ曲線上
の位置を示している。この図14に示したNURBS曲
線の曲率の変化を示したものが図15である。この図1
5では横軸にパラメータを、縦軸に曲率をとって、点A
から点Hまでの各点に対応して曲率がどのように変化し
ているかを示したものであり、それをもとに送り速度を
設定することになる。
処理手順の一例を示すフローチャートである。まず、ス
テップST61にてパラメータtの値の初期設定を行
い、次にステップST62において曲率kの計算をす
る。得られた曲率kは与えられた指令速度Fs で送るこ
とが可能か否かがステップST63で判定され、与えら
れた指令速度では補間できない速度低減の必要なパラメ
ータ区間を登録してゆく。以下、ステップST65でパ
ラメータtを所定ピッチΔtずつインクリメントしなが
ら、ステップST66においてパラメータtがその最大
値を超えたことが検出されるまで、ステップST62〜
ST66の処理が繰り返される。
は、補間できないパラメータ区間であるBC、DE、F
Gがそれぞれパラメータtb からtc 、td からte 、
tfからtg というように登録されてゆくことになる。
なお、この方法の欠点はパラメータをインクリメントす
るピッチによって曲率が評価できないことがある可能性
が生ずるという点と、パラメータの最小値から最大値ま
で多数の点で調べあげなければならず、前処理演算に時
間がかかる点にある。
の他の例を示したフローチャートを示したものであり、
NURBS曲線を複数の有理ベゼー曲線に変換し、それ
ぞれの有理ベゼー曲線において曲率の取り得る範囲を演
算する。この方法について詳しく述べる。一般に、有理
ベゼー曲線は次の式(19)のように表現される。
8)で表現されるが、式(19)を代入することによ
り、この有理ベゼー曲線の曲率は次の式(20)の形に
変形できる。
はすべてベゼー式で表現することができ、次の式(2
1)のように表現できる。
性を有している。図18は凸閉包性について説明するた
めの説明図である。ベゼー曲線の制御点が図18のよう
にQ0 からQ 6 によって表されているとしよう。このと
き曲線CVは制御点Q 0 からQ 6 の作る凸体V1の中に
必ず存在するという性質のことを凸閉包性という。この
性質を使用すれば、曲線CV1の絶対値の取りうる範囲
を知ることが可能である。従って、この性質を利用すれ
ば、有理ベゼー曲線の曲率は式(21)のA、B、Cの
各式がベゼー式になっていることを使って曲率kの取り
うる範囲を知ることができる。すなわち、次の式(2
2)のkmin およびkmax を得ることができる。
の最小値および最大値よりもそれぞれ小さめおよび大き
めに得られるが、曲線の大局的な性質を知る上では有用
な特性値であるといえる。以上のように曲率の特性値k
min およびkmax は制御点だけから得られるため、前述
の方法と比較して演算が速くなるという利点がある。
とに、速度指令生成部23にて速度指令を生成する。図
19は速度指令生成部23の処理手順を示すフローチャ
ートである。まず、ステップST81でトレランスτ、
kmax およびサンプル時間ΔTから最高速度Fmax を求
める。図20に示すように、曲率kとトレランスτおよ
び補間線分長Δlとの間の関係は次の式(23)で表現
できる。
トレランスτを保証するに必要な速度の最大値Fmax は
次の式(24)で得られる。
度指令値Fs と比較し、ステップST83およびST8
4で値の小さいものを選んで実際の送り速度Fを決定す
る。図21はこのようにして得られた速度指令の一例を
示す説明図である。区間AB、区間CD、区間EFおよ
び区間GHでは与えられた指令速度Fs が取られ、区間
BCと区間FGでは速度F1が取られ、区間DEでは速
度F2が取られる。このように、速度指令生成部23に
おいては、パラメータ範囲として示された区間と、その
区間での走行速度を求めることになる。
速制御および補間部24の処理について説明するための
説明図である。加減速制御および補間部24は与えられ
た加速度を超えないように、指令速度パターンをもとに
実際にサーボ系へ送り出すパルスを生成することにな
る。この加減速制御および補間部24への入力データ
は、曲線の区間と指令速度、前後の指令速度と許容加速
度である。その区間における速度がその前の区間の速度
より速い場合は所定加速度を超えない範囲で加速制御を
行う。また、その区間における速度がその後の区間の速
度より速い場合は所定加速度を越えない範囲で減速制御
を行う。この減速制御においては区間終了点に行き着く
ようにその点と現在地点との距離を毎回チェックしなが
ら速度の低減処理を行ってゆく。
図23は、この発明の実施の形態6による数値制御装置
を示すブロック図である。図において、21は位置指令
値がNURBS曲線の形式で表現されて入力される、図
12に同一符号を付したものと同等の曲線入力部であ
る。また、25はこの曲線入力部21より入力されたN
URBS曲線を複数の有理ベゼー曲線に変換する曲線変
換部であり、26はこの曲線変換部25によって変換さ
れた各有理ベゼー曲線を補間する有理ベゼー曲線補間部
である。
4はこの実施の形態6による数値制御装置の処理の流れ
を示すフローチャートである。曲線変換部25はまず、
ステップST91において、曲線入力部21より入力さ
れた補間すべきNURBS曲線を複数の有理ベゼー曲線
に一旦変換し、それを有理ベゼー曲線補間部26に出力
する。それを受けた有理ベゼー曲線補間部26は、ステ
ップST92で有理ベゼー曲線の番号iを初期値1に設
定した後、ステップST93においてそのi番目の有理
ベゼー曲線の補間処理を実行する。以下、ステップST
94でiを1ずつインクリメントしながら、ステップS
T95でそのiが曲線変換部21より送られてきた有理
ベゼー曲線の数と等しくなったことが検出されるまで、
ステップST93〜ST35の処理を繰り返す。このよ
うにして、曲線変換部25でNURBS曲線より変換さ
れた複数の有理ベゼー曲線は順番に補間処理され、全て
の有理ベゼー曲線の補間処理が済むと一連の処理は終了
する。
ットベクトルから表現され、有理ベゼー曲線は制御点の
みで表現される。そして、このNURBS曲線は3次式
の場合、次のように複数の有理ベゼー曲線に変換され
る。すなわち、NURBS曲線の制御点(頂点座標値)
がd 0 ,d 1 ,・・・d L+2 、重みがw0 ,w1 ,・・
・wL+2 、ノットベクトルがu0 ,u1 ,・・・uL で
与えられ、そして、Δ0〜ΔL をΔi =ui+1 −ui と
定義すると、前記複数の有理ベゼー曲線はi=1〜L−
1で次の式(25)のように表現される。
3i-1 ,b 3i-2 は有理ベゼー曲線の制御点であり、ま
た、v3i,v3i-1 ,v3i-2 は各有理ベゼー曲線の重み
で、次の式(26)によって与えられる。
+Δi-1 +Δi である。また、i=0およびi=Lの場
合、すなわち、最初と最後は次の式(27)および式
(28)で示すものとなる。
0 ,v1 ,v2 およびv3L-2,v3L-1,v3Lは次の式
(29)および式(30)で示すものとなる。
NURBS曲線の制御点d 0 からd 5 を有理ベゼー曲線
の制御点b 0 からb 9 に変換するもので、b 0 から
b 3 、b 3 からb6 、b6 からb9 のそれぞれの制御点
の組が、図26に示したCV1、CV2、CV3の3本
の有理ベゼー曲線になる。
形態6による数値制御装置においては、有理ベゼー曲線
を補間する機能を有した有理ベゼー曲線補間部26を備
えているため、NURBS曲線を直接補間制御するのと
同様な効果が得られる。なお、この有理ベゼー曲線補間
部26による補間は、実施の形態5の説明で述べた方法
によって実現することができる。このようにNURBS
曲線を有理ベゼー曲線に変換して補間するものであるた
め、重たいNURBS曲線の演算をする必要がなくな
り、NURBS補間の処理を高速に行うことができる数
値制御装置を実現できる。
に対しても適用されることは言うまでもない。
図27は、この発明の実施の形態7による数値制御装置
を示すブロック図である。図において、27は従来から
使用されてきたGコードによる直線指令、円弧指令、楕
円指令などが入力されてきた場合には、入力された位置
指令のデータをNURBS曲線の形式に変換して曲率評
価部22へ入力する指令変換部である。なお、他の部分
については、図12の相当部分と同一の符号を付してそ
の説明を省略する。
ータがNURBS曲線の形式で入力された場合、曲線入
力部21でそれを受け取って曲率評価部22に入力す
る。一方、位置指令が従来から使用されてきたGコード
による直線指令、円弧指令、楕円指令などで入力されて
きた場合には、それを指令変換部27に入力してその位
置指令のデータをNURBS曲線の形式に一旦変換して
から曲率評価部22へ入力する。以降の処理は実施の形
態5で説明したものと同等に進行するため、その説明は
省略する。これにより、Gコードなどの既存のNCコー
ドとの互換性を保つことが可能となり、内部処理を一元
化することもできる。
図28は、この発明の実施の形態8による数値制御装置
を示すブロック図である。図において、31は補間処理
を速度優先と精度優先のいずれで実行するかを指令する
選択情報が入力される選択情報入力部であり、32は速
度優先を指定する選択情報が入力された場合に、単位時
間の移動量が一定となるような補間制御を選択する速度
優先選択部、33は精度優先を指定する選択情報が入力
された場合に、トレランスを保証する補間制御を選択す
る精度優先選択部である。34はこれら速度優先選択部
32あるいは精度優先選択部33によって選択された補
間制御に従ってスプライン曲線の補間処理を実行する曲
線補間部である。
9はこの実施の形態8による数値制御装置の全体動作の
流れを示すフローチャート、図30はそのスプライン補
間処理の手順を示すフローチャートであり、図31はそ
の言語入力の一例を示す説明図である。この図31に示
したシーケンス番号004のGコード“G9.0”は精
度優先モードを指令する選択情報としての精度優先コー
ドであり、シーケンス番号010のGコード“G9.
1”は速度優先モードを指令する選択情報としての速度
優先コードである。すなわち、シーケンス番号004の
“G9.0”以降で精度優先モードに入り、シーケンス
番号010の“G9.1”以降で速度優先モードに入
る。なお、何も設定されていない場合にはデフォルトで
精度優先となる。
ステップST101において、まずプログラムを一行ず
つ読み込んでゆく。次いで、読み込んだコードが速度優
先コードであるか否かをステップST102で、精度優
先コードであるか否かをステップST103でそれぞれ
判定し、速度優先コードであればステップST104で
内部変数cnt1を“0”に、精度優先コードであれば
ステップST105で内部変数cnt1を“1”にす
る。また、そのいずれでもなかった場合には、ステップ
ST106においてそれがスプライン補間コードである
か否かの判定を行い、スプライン補間コードでなければ
ステップST107で通常のコード処理を実行し、スプ
ライン補間コードであればステップST108でスプラ
イン補間処理を実行する。
図30のステップST111において、内部変数cnt
1が“0”であるか否かの判定が行われる。その結果、
内部変数cnt1が“0”であればステップST112
で、速度優先選択部32によって単位時間の移動量が一
定となるような速度優先の補間制御が選択され、曲線補
間部34はそれに基づいて速度優先によるスプライン曲
線の補間処理を実行する。一方、内部変数cnt1が
“1”であればステップST113で、精度優先選択部
33によってトレランスを保証する補間制御が選択さ
れ、曲線補間部34はそれに基づいて精度優先によるス
プライン曲線の補間処理を実行する。
方法は、実施の形態1で説明した方法によって実現でき
る。また、速度優先による補間処理は、単位時間に移動
すべき距離を求め、その距離に対応するパラメータの増
分値を求めて位置指令値を出力することによって実現で
きる。
御装置によれば、入力された速度優先モードを指令する
選択情報と精度優先モードを指令する選択情報により、
スプライン曲線の補間処理の種類を作業者が選択できる
ようになる。
されたスプライン曲線上の現在の指令位置からスプライ
ン曲線の終点までを接続する1つまたは複数の線分の線
分長として与えられる距離に基づく速度指令より算出さ
れたパラメータからスプライン曲線上における次の指令
位置を計算するとともに、滑らかな移動を実現するよう
に加減速制御した速度指令を出力するように構成したの
で、加減速制御を行いながらスプライン曲線の補間を行
うことが可能となり、機械工作の高速化、高精度化をは
かることができる効果がある。
ラメータ変化量は、少なくとも1処理周期前のパラメー
タ変化量と、少なくとも1処理周期前の指令位置から計
算される移動量との比を用いて計算するように構成した
ので、スプライン曲線のパラメータの計算時間を短縮で
き、数値制御装置のコスト低減が期待できる効果があ
る。
される速度指令に対応した距離と、 少なくとも1処理周
期前のスプライン曲線上の指令位置から計算される移動
量とを比較して、パラメータ変化量の修正を行うパラメ
ータ修正部を備えるように構成したので、正確な速度制
御を行うことが可能となって、機械工作の高速化、高精
度化をはかることができる効果がある。
で指令軌跡を表現する場合でも、複数のスプライン曲線
の接続点での連続性を判断する接続状態判断部を設け
て、接続状態判断部にて前後のスプライン曲線が連続に
接続されていると判断された際には、スプライン曲線上
の現在の指令位置から後部のスプライン曲線の終点まで
を接続する1つまたは複数の線分の線分長として与えら
れる距離を計算するように構成したので、複数のスプラ
イン曲線による複雑な軌跡でも工作機械を滑らかに制御
することが可能となり、機械工作の高速化、高精度化を
はかることができる効果がある。
示すブロック図である。
ートである。
を示す説明図である。
示すブロック図である。
ートである。
示すブロック図である。
ートである。
示すブロック図である。
ートである。
例を示す説明図である。
の例を示す説明図である。
を示すブロック図である。
ーチャートである。
例を示す説明図である。
図である。
示すフローチャートである。
チャートである。
閉包性について説明するための説明図である。
れを示すフローチャートである。
示す説明図である。
速度指令の一例を示す説明図である。
おける上記速度指令に基づく動作を説明するための説明
図である。
を示すブロック図である。
ャートである。
有理ベゼー曲線への変換を示す説明図である。
である。
を示すブロック図である。
を示すブロック図である。
ーチャートである。
を示すフローチャートである。
図である。
る。
Claims (4)
- 【請求項1】 指令軌跡をスプライン曲線の形式で入力
する指令入力部と、前記指令入力部から出力される前記スプライン曲線上の
現在の指令位置から前 記スプライン曲線の終点までを接
続する1つまたは複数の線分の線分長として与えられる
距離を計算し出力する終点距離計算部と、 前記終点距離計算部から出力される前記終点までの距離
に応じて送り速度指令を作成し出力する速度指令出力部
と、 前記速度指令出力部から出力される速度指令を加減速制
御し滑らかな速度指令を出力する加減速制御部と、 前記加減速制御部から出力される速度指令に対応する前
記スプライン曲線のパラメータ変化量を用いて、前 記ス
プライン曲線のパラメータを計算し出力するパラメータ
計算部と、 前記パラメータ計算部から出力される前記スプライン曲
線のパラメータを用いて前 記スプライン曲線上における
次の指令位置を計算するスプライン曲線位置計算部とを
備えた数値制御装置。 - 【請求項2】 前記パラメータ計算部のパラメータ変化
量は、少なくとも1処理周期前のパラメータ変化量と、
少なくとも1処理周期前の指令位置から計算される移動
量との比を用いて計算する請求項1に記載の数値制御装
置。 - 【請求項3】 指令軌跡をスプライン曲線の形式で入力
する指令入力部と、 前記指令入力部から出力される前記スプライン曲線上の
現在の指令位置から前 記スプライン曲線の終点までを接
続する1つまたは複数の線分の線分長として与えられる
距離を計算し出力する終点距離計算部と、 前記終点距離計算部から出力される前記終点までの距離
に応じて送り速度指令を作成し出力する速度指令出力部
と、 前記速度指令出力部から出力される速度指令を加減速制
御し滑らかな速度指令を出力する加減速制御部と、 前記加減速制御部から出力される速度指令に対応する前
記スプライン曲線のパ ラメータ変化量を用いて、前 記ス
プライン曲線のパラメータを計算し出力するパラメータ
計算部と、 前記パラメータ計算部から出力される前記スプライン曲
線のパラメータを用いて、前記スプライン曲線上におけ
る次の指令位置を計算するスプライン曲線位置計算部
と、 前記加減速制御部から出力される速度指令に対応した距
離と、少なくとも1処理周期前のスプライン曲線上の指
令位置から計算される移動量とを 比較して、前記パラメ
ータ変化量の修正を行うパラメータ修正部とを備えた数
値制御装置。 - 【請求項4】 指令軌跡を複数のスプライン曲線の形式
で入力する指令入力部と、 前記複数のスプライン曲線の接続点での連続性を判断す
る接続状態判断部と、前記接続状態判断部にて前後の前
記スプライン曲線が連続に接続されていると判断された
場合、前記スプライン曲線上の現在の指令位置から後部
の前記スプライン曲線の終点までを接続する1つまたは
複数の線分の線分長として与えられる距離を計算する終
点距離計算部と、 前記終点距離計算部から出力される前記終点までの距離
に応じて速度指令を作成し出力する速度指令出力部と、 前記速度指令出力部から出力される速度指令を加減速制
御し滑らかな速度指令を出力する加減速制御部と、 前記加減速制御部から出力される速度指令に対応する前
記スプライン曲線のパラメータ変化量を用いて、前記ス
プライン曲線のパラメータを計算し出力するパラメータ
計算部と、 前記パラメータ計算部から出力される前記スプライン曲
線のパラメータを用いて、前記スプライン曲線上におけ
る次の指令位置を計算するスプライン曲線位置計算部と
を備えた数値制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5216727A JP3068989B2 (ja) | 1993-08-31 | 1993-08-31 | 数値制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5216727A JP3068989B2 (ja) | 1993-08-31 | 1993-08-31 | 数値制御装置 |
Related Child Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14248199A Division JP3236579B2 (ja) | 1999-05-21 | 1999-05-21 | 数値制御装置および曲線経路補間方法 |
JP14248299A Division JPH11345014A (ja) | 1999-05-21 | 1999-05-21 | 数値制御装置 |
JP14248399A Division JP3210301B2 (ja) | 1999-05-21 | 1999-05-21 | 数値制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0764620A JPH0764620A (ja) | 1995-03-10 |
JP3068989B2 true JP3068989B2 (ja) | 2000-07-24 |
Family
ID=16692982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5216727A Expired - Fee Related JP3068989B2 (ja) | 1993-08-31 | 1993-08-31 | 数値制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3068989B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
JP2000315106A (ja) | 1999-05-06 | 2000-11-14 | Yaskawa Electric Corp | プログラマブルコントローラ |
US7930902B2 (en) * | 2006-06-26 | 2011-04-26 | Emhart Glass S.A. | Mechanism for conveying an article |
JP5146512B2 (ja) | 2010-10-13 | 2013-02-20 | オムロン株式会社 | 制御装置、制御システムおよび制御方法 |
JP6321605B2 (ja) * | 2015-10-30 | 2018-05-09 | ファナック株式会社 | 曲率と曲率変化量による速度制御を行う数値制御装置 |
JP6795553B2 (ja) * | 2018-07-06 | 2020-12-02 | ファナック株式会社 | 数値制御装置、数値制御方法及び数値制御プログラム |
CN116079714B (zh) * | 2022-12-02 | 2024-11-12 | 盐城工学院 | 一种基于b样条的六轴机械臂轨迹规划方法 |
WO2025013114A1 (ja) * | 2023-07-07 | 2025-01-16 | ファナック株式会社 | 制御装置 |
CN119078886A (zh) * | 2024-10-31 | 2024-12-06 | 北京集度科技有限公司 | 一种轨迹平滑方法、车辆、设备和程序产品 |
-
1993
- 1993-08-31 JP JP5216727A patent/JP3068989B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0764620A (ja) | 1995-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1235126B1 (en) | Numerically controlled curved surface machining unit | |
US6587747B2 (en) | Numerically controlled curved surface machining unit | |
JP3830475B2 (ja) | 制御装置 | |
Lai et al. | On the development of a parametric interpolator with confined chord error, feedrate, acceleration and jerk | |
JP3904993B2 (ja) | 曲線補間方法 | |
CN106054817A (zh) | 局部最优小线段路径解析光顺的实时前瞻插补方法及系统 | |
US20030200005A1 (en) | Numerically controlled curved surface machining unit | |
EP1213634B1 (en) | Numerically controlled method | |
JP3068989B2 (ja) | 数値制御装置 | |
Du et al. | An accurate adaptive parametric curve interpolator for NURBS curve interpolation | |
JP3034843B2 (ja) | 加工機の制御装置 | |
JPH11345014A (ja) | 数値制御装置 | |
Ma et al. | A five-axis dual NURBS interpolator with constant speed at feedrate-sensitive regions under axial drive constraints | |
Emami et al. | A look-ahead command generator with control over trajectory and chord error for NURBS curve with unknown arc length | |
JP3879056B2 (ja) | 数値制御曲面加工装置 | |
US5936864A (en) | Free curve interpolation apparatus and interpolation method | |
CN112865750A (zh) | 基于fir滤波器的数控系统倍率变化平滑控制方法及装置 | |
JP3466111B2 (ja) | 数値制御装置 | |
JPH11345017A (ja) | 数値制御装置 | |
JP2790643B2 (ja) | 数値制御装置 | |
JPH11345015A (ja) | 数値制御装置 | |
US6054830A (en) | Pulse control method and system using multiplier | |
JP2005044230A (ja) | ロボット制御装置 | |
Yau et al. | PC-based controller with real-time look-ahead NURBS interpolator | |
JP2000163114A (ja) | 補間曲線内加減速処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080519 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090519 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100519 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100519 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110519 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110519 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120519 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120519 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130519 Year of fee payment: 13 |
|
LAPS | Cancellation because of no payment of annual fees |