JPH0764620A - 数値制御装置 - Google Patents

数値制御装置

Info

Publication number
JPH0764620A
JPH0764620A JP21672793A JP21672793A JPH0764620A JP H0764620 A JPH0764620 A JP H0764620A JP 21672793 A JP21672793 A JP 21672793A JP 21672793 A JP21672793 A JP 21672793A JP H0764620 A JPH0764620 A JP H0764620A
Authority
JP
Japan
Prior art keywords
command
curve
spline curve
unit
parameter
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
JP21672793A
Other languages
English (en)
Other versions
JP3068989B2 (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 JP5216727A priority Critical patent/JP3068989B2/ja
Publication of JPH0764620A publication Critical patent/JPH0764620A/ja
Application granted granted Critical
Publication of JP3068989B2 publication Critical patent/JP3068989B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)

Abstract

(57)【要約】 【目的】 加減速制御を考慮した高速かつ高精度な速度
制御が行え、スプライン曲線上を滑らかに駆動でき、工
作機械の異常振動が低減でき、速度優先と精度優先の選
択が可能な数値制御装置を得る。 【構成】 入力されたスプライン曲線の終点までの距離
の計算結果より作成された速度指令に基づいてパラメー
タを算出してスプライン曲線上の位置の計算を行い、ま
た入力されたスプライン曲線の曲率を評価してその評価
結果より送り速度指令を生成し、また速度優先を指定す
る選択情報が入力された場合には単位時間の移動量が一
定となるような補間制御を選択し、精度優先を指定する
選択情報が入力された場合にはトレランスを保証する補
間制御を選択する。

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 、以下UNRBSという)曲線
がコンピュータ支援設計(CAD)において広く使用さ
れるようになってきている。
【0007】
【発明が解決しようとする課題】従来の数値制御装置は
以上のように構成されているので、スプライン曲線上を
一定速度で移動する補間方式であり、進行方向(スプラ
イン曲線の接線方向)に対して、機械が振動を起こさな
いようななめらかな加減速制御が考慮されてはおらず、
視点のなめらかな加速制御、および終点での減速制御が
行われないため、スプライン曲線上をなめらかに機械制
御することができない。また、スプライン曲線上を一定
指令速度で移動するためのスプライン曲線のパラメータ
Δtは接線ベクトルpt’から求めているため、計算時
間がかかるばかりか、一定速度指令で移動するために求
めたスプライン曲線のパラメータΔtは、接線ベクトル
pt’から求められているが、接線ベクトルpt’では
正確に1パルス分配周期毎の移動量とスプライン曲線の
パラメータ変化量の比を求めることができず、曲率が大
きいところではパラメータΔtの計算誤差が発生し、ス
プライン曲線上を正確に指令速度で移動することはでき
ない。また、スプライン曲線を補間を行うにあたっての
接線ベクトルの求め方が簡単ではなく、複数のスプライ
ン曲線からなる軌跡を補間する場合についても、進行方
向(スプライン曲線の接線方向)に対して、機械が振動
を起こさないようななめらかな加減速制御が考慮されて
おらず、始点のなめらかな加速制御および終点での減速
制御が行われないので、スプライン曲線上をなめらかに
機械制御することができないなどの問題点があった。
【0008】また、従来の補間方法では、探索長を細か
く設定しすぎると許容誤差は充分保証されるが、線分が
細かくなりすぎ、その後の直線補間部分での処理が追従
できず、高速な補間ができなくなって、探索長を大きく
しすぎると許容誤差が保証されなくなり、探索長の設定
が面倒なものとなるという問題点があった。また、NU
RBS曲線を前述の方法で補間すると、演算時間がかか
り高速な補間制御ができないという問題点があり、さら
に、一般の作業者にとっては、精度の保証も重要である
が加工速度の保証も重要な要素であり、精度優先と速度
優先を自由に選べる数値制御装置が望まれているが、そ
のような要請にも応えられるものではなかった。
【0009】この発明は上記のような問題点を解消する
ためになされたものであり、始点の加速制御および終点
での減速制御等の加減速制御を考慮した速度制御が行
え、スプライン曲線上をなめらかに駆動することがで
き、簡単な計算方式で指令速度に対応したスプライン曲
線のパラメータを計算する手法、さらには、指令速度に
対応したスプライン曲線のパラメータを正確に計算する
手法をもち、複数のスプライン曲線で構成される軌跡で
も、加減速制御を考慮して滑らかにスプライン曲線上を
駆動でき、また、該スプライン曲線がなめらかに接続さ
れていない場合には接続点で減速制御あるいは停止等の
速度制御を行うことができる数値制御装置を得ることを
目的とする。
【0010】
【課題を解決するための手段】請求項1に記載の発明に
係る数値制御装置は、指令入力部より入力されたスプラ
イン曲線の終点までの距離を計算する終点距離計算部、
その計算結果を用いて速度指令を作成する速度指令出力
部、その速度指令よりスプライン曲線のパラメータを計
算するパラメータ計算部、およびそのパラメータからス
プライン曲線上の位置を計算するスプライン曲線位置計
算部を備えたものである。
【0011】また、請求項2に記載の発明に係る数値制
御装置は、スプライン曲線のパラメータを、少なくとも
1処理周期前の移動量とパラメータ変化量の比を用いて
計算する機能をパラメータ計算部に持たせたものであ
る。
【0012】また、請求項3に記載の発明に係る数値制
御装置は、速度指令出力部の作成した速度指令とスプラ
イン曲線上の移動量を比較して、パラメータ計算部の計
算したパラメータの修正を行うパラメータ修正部をさら
に設けたものである。
【0013】また、請求項4に記載の発明に係る数値制
御装置は、指令入力部より入力された複数のスプライン
曲線の接続点での連続性を判断する接続状態判断部を設
け、2つのスプライン曲線が連続に接続されていると判
断された場合には、後部のスプライン曲線の終点までの
距離を計算する機能を終点距離計算部に持たせたもので
ある。
【0014】また、請求項5に記載の発明に係る数値制
御装置は、曲線入力部より入力されたスプライン曲線の
曲率を評価する曲率評価部、および評価された曲率をも
とに送り速度指令を生成する速度指令生成部を備えたも
のである。
【0015】また、請求項6に記載の発明に係る数値制
御装置は、パラメータを所定のピッチで変化させながら
スプライン曲線の曲率を評価する機能を曲率評価部に持
たせたものである。
【0016】また、請求項7に記載の発明に係る数値制
御装置は、スプライン曲線を複数の有理ベゼー(Bezie
r)曲線に変換し、変換後の各有理ベゼー曲線について
その曲率を評価する機能を曲率評価部に持たせたもので
ある。
【0017】また、請求項8に記載の発明に係る数値制
御装置は、変換された複数の有理ベゼー曲線の制御点に
基づいてスプライン曲線の曲率を評価する機能を曲率評
価部に持たせたものである。
【0018】また、請求項9に記載の発明に係る数値制
御装置は、与えられたスプライン曲線の各点における曲
率、曲線と補間後の線分との間の許容誤差、補間単位時
間から各点の速度を求める機能、および与えられた速度
指令値と各点における速度を比較し、速度指令値の方が
小さな区間は速度指令値に曲線の速度を設定する機能
を、速度指令生成部に持たせたものである。
【0019】また、請求項10に記載の発明に係る数値
制御装置は、曲線入力部より入力されたNURBS曲線
を複数の有理ベゼー曲線に変換する曲線変換部、および
その各有理ベゼー曲線の補間を行う有理ベゼー曲線補間
部を備えたものである。
【0020】また、請求項11に記載の発明に係る数値
制御装置は、入力される位置指令をNURBS曲線の形
式に変換する指令変換部、変換されたNURBS曲線の
曲率を評価する曲率評価部、および評価された曲率をも
とに送り速度指令を生成する速度指令生成部を備えたも
のである。
【0021】また、請求項12に記載の発明に係る数値
制御装置は、速度優先を指定する選択情報が入力された
場合に、単位時間の移動量が一定となるような補間制御
を選択する速度優先選択部、および、精度優先を指定す
る選択情報が入力された場合に、トレランスを保証する
補間制御を選択する精度優先選択部を備えたものであ
る。
【0022】
【作用】請求項1に記載の発明におけるスプライン曲線
位置計算部は、入力されたスプライン曲線の終点までの
距離の計算結果より作成された速度指令に基づいて算出
されたパラメータから、スプライン曲線上の位置を計算
することにより、スプライン曲線の始点および終点での
加減速制御を考慮した速度制御を行い、スプライン曲線
を滑らかに補間する。
【0023】また、請求項2に記載の発明におけるパラ
メータ計算部は、少なくとも1処理周期前の移動量とパ
ラメータ変化量の比を用いてスプライン曲線のパラメー
タを計算することにより、スプライン曲線のパラメータ
計算を簡易化する。
【0024】また、請求項3に記載の発明におけるパラ
メータ修正部は、速度指令出力部の作成した速度指令と
スプライン曲線上の移動量を比較して、パラメータ計算
部の計算したパラメータを修正することにより、スプラ
イン曲線上を正確な指令速度で補間制御する。
【0025】また、請求項4に記載の発明における終点
距離計算部は、入力されたスプライン曲線が連続に接続
されていると接続状態判断部で判断された場合に、後部
のスプライン曲線の終点までの距離を計算することによ
り、複数のスプライン曲線で構成される軌跡でも、加減
速制御を考慮した滑らかなスプライン曲線の補間制御を
可能とする。
【0026】また、請求項5に記載の発明における速度
指令生成部は、入力されたスプライン曲線の曲率の評価
結果をもとに送り速度指令を生成することにより、探索
長を設定しなくとも自動的な探索長の設定を可能とす
る。
【0027】また、請求項6に記載の発明における曲率
評価部は、パラメータを所定のピッチで変化させながら
スプライン曲線の曲率を評価することにより、曲率の評
価を容易なものとする。
【0028】また、請求項7に記載の発明における曲率
評価部は、スプライン曲線を複数の有理ベゼー曲線に変
換した後、各有理ベゼー曲線についてその曲率を評価す
ることにより、曲率の評価に要する処理時間を短縮す
る。
【0029】また、請求項8に記載の発明における曲率
評価部は、変換された複数の有理ベゼー曲線の制御点に
基づいてスプライン曲線の曲率を評価することにより、
曲率の評価に要する処理時間をさらに短縮する。
【0030】また、請求項9に記載の発明における速度
指令生成部は、入力されたスプライン曲線の各点の曲
率、曲線と補間後の線分の間の許容誤差、および補間単
位時間から各点の速度を求め、それを与えられた速度指
令値と比較して、速度指令値の方が小さな区間は速度指
令値に曲線の速度を設定することにより、パラメータ範
囲として示された各区間での走行速度を適切に設定す
る。
【0031】また、請求項10に記載の発明における曲
線変換部は、曲線入力部より入力されたNURBS曲線
を複数の有理ベゼー曲線に変換して有理ベゼー曲線補間
部に入力することにより、補間演算処理を高速化する。
【0032】また、請求項11に記載の発明における指
令変換部は、入力される位置指令をNURBS曲線の形
式に変換して曲率評価部に入力することにより、既存の
NCコードとの互換性を保ち、内部処理を一元化する。
【0033】また、請求項12に記載の発明における速
度優先選択部は、速度優先を指定する選択情報が入力さ
れると単位時間の移動量が一定となるような補間制御を
選択し、精度優先選択部は、精度優先を指定する選択情
報が入力されるとトレランスを保証する補間制御を選択
することにより、作業者が速度優先補間と精度優先補間
とを自由に選択することを可能とする。
【0034】
【実施例】
実施例1.以下、この発明の実施例1を図について説明
する。図1は請求項1に記載した発明の一実施例を示す
ブロック図である。図において、1は軌跡指令P(t)
(ただし、tはスプライン曲線を定義しているパラメー
タ、以下パラメータと略す)と送り速度指令Vcom を入
力する指令入力部である。なお、前記各指令は要求に応
じて1ブロックあるいは複数ブロック入力され、記憶さ
れる。また、軌跡指令P(t) はスプライン曲線の形式で
入力される。
【0035】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 はサーボ系の各軸の送り速度の合成され
た速度指令として出力される。
【0036】6は加減速制御部5の速度指令Vs に対応
したスプライン曲線上の位置を決定するパラメータを計
算するパラメータ計算部であり、このパラメータ計算部
6からのパラメータと指令入力部1からの曲線指令よ
り、サーボ制御系への指令位置(xk 、yk 、zk )を
計算するスプライン曲線位置計算部である。
【0037】次に動作について説明する。ここで、図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スプライン曲線形式で表現されて
いるものとする。
【0038】
【数1】
【0039】ここで、BSi,n(t)はBスプライン関数で
あり、i は3次元空間中の制御点である。パラメータ
tが決定すれば、式(1)よりスプライン曲線上の位置
座標が決定する。ちなみに、パラメータt=0の時はP
s 点、t=1の時はPe 点である。
【0040】図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)を用いて計算する。
【0041】
【数2】
【0042】その後、ステップST4〜ST6におい
て、速度指令出力部4が、終点までの距離Leと前記追
従距離Ldの1処理周期前の追従距離Ld(k-1) 、前記
送り速度指令Vcom から、終点に正確に停止できるよう
に速度指令Vcom を制御し、速度指令Vout を出力す
る。なお、この速度指令Vout は以下の式(3)〜式
(5)で示される条件で決定される。
【0043】<条件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)
【0044】すなわち、ステップST4では、前記条件
1〜3の判断を行う。条件1以外はすべて減速操作とな
る。条件1が成立すればYES、しないならNOの操作
を行う。ステップST5では、式(3)のごとくVout
を決定する。またステップST6なら、条件2、3に応
じて速度指令Vout を式(4)、式(5)の如く決定す
る。次にステップST7では、速度指令Vout を加減速
制御し、速度指令Vsを計算し出力する。加減速方式は
例えば前述の台形加減速方式を用いる。また追従距離L
dを、次の式(6)で修正し、次回の処理周期に用い
る。
【0045】 Ld=Ld(k-1) +(Vout −Vs )*ΔTs ・・・・・(6)
【0046】次に、ステップST8では、スプライン曲
線P(t) 上の現在の指令位置Pk から微小パラメータΔ
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)によ
り求める。
【0047】 α=Δt’/ΔP’ ・・・・・・・(7)
【0048】ただし、上記式(7)において移動距離Δ
P’は次の式(8)で与えられる。
【0049】
【数3】
【0050】また、パラメータ変化量Δt’は、次の式
(9)が成り立つような値に設定する。
【0051】
【数4】
【0052】次に、ステップST9では、前記速度指令
Vout に対応するパラメータ変化量Δtk を次の式(1
0)を用いて推定する。
【0053】 Δtk =α・Vout *ΔTs ・・・・・・・(10)
【0054】次に、ステップ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 として、これらを次回の処理周期の現在の指
令位置として記憶しておく。
【0055】なお、スプライン曲線の曲率が小さい場合
には、αを接線ベクトルから求めても同様な効果が得ら
れる。
【0056】実施例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) からパ
ラメータtk を求める点で、図1に符号6を付した実施
例1のものとは異なったパラメータ計算部である。
【0057】次に動作について説明する。ここで、図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)より求める。
【0058】
【数5】
【0059】次に、ステップST21において、パラメ
ータ計算部9が前記1処理周期前のパラメータΔt(k-
1) と1処理周期間の指令位置の移動量ΔP(k-1) か
ら、次の式(12)によりパラメータと移動量の比αを
計算する。
【0060】 α=Δt(k-1) /ΔP(k-1) ・・・・・・・(12)
【0061】なお、この方式では、スプライン曲線の始
点でのパラメータと移動量の比αはパラメータΔt(k-
1) 、ΔP(k-1) が存在しないので求めることができな
い。従って始点での比αを求めるには、実施例1の式
(7)のように、微小パラメータΔt’変化させた場合
の移動量ΔP’を求め、それより当該比αを計算してお
く方法を用いる。
【0062】また、上記実施例では、1処理周期前のパ
ラメータΔt(k-1) と移動量ΔP(k-1) を用いて、パラ
メータと移動量の比αを計算したが、数処理周期前のパ
ラメータと移動量を用いて計算してもよい。
【0063】実施例3.次に、この発明の実施例3を図
について説明する。図6は請求項3に記載した発明の一
実施例を示すブロック図である。図において、1〜7は
実施例1のそれらと同様の構成であるためその説明は省
略する。また、10はパラメータ計算部6で求めたパラ
メータが妥当であるか否かを判断し、妥当でない場合に
はパラメータを修正し、スプライン曲線位置計算部7で
求めるサーボ制御系への位置指令を修正するパラメータ
修正部である。
【0064】次に動作について説明する。ここで、図7
は動作の流れを示すフローチャートであり、ステップS
T1〜ST9およびST11は図2のそれと同等の処理
が行われるものであるためその説明は省略する。ステッ
プST30では図2のステップST10と同様、ステッ
プST9で求めたパラメータΔtk を用いて、スプライ
ン曲線上の位置P(t(k-1) +Δtk )を式(1)を用
いて計算し、座標値(xk ,yk ,zk )を求める。次
に、ステップST31では、加減速制御部5から出力さ
れる指令速度Vs の1処理周期間の移動量Vs *ΔTs
と、前回の処理周期で計算された指令位置(x(k-1) 、
y(k-1) 、z(k-1) )と今回計算される前記指令位置
(xk 、yk 、zk )から1処理周期間の指令位置の移
動量ΔPkの差βを次の式(13)により求める。
【0065】 β=Vs *ΔTs −ΔPk ・・・・・・・(13)
【0066】ここで、この移動量の差βは速度誤差に対
応する値であり、パラメータΔtkの計算誤差により生
じる。なお、移動量ΔPk は次の式(14)により求め
る。
【0067】
【数6】
【0068】次にステップST32では、移動量の差β
が許容値以下であるか否かを判断する。差βが許容値以
下なら、処理はステップST34へ移り、そうでない場
合はステップST33に移る。なお、前記許容値はサー
ボ制御系が許容できる最大加速度等から決定される値で
ある。ステップST34では、ステップST31で求め
た前記指令位置(xk 、yk 、zk )をサーボ系の位置
指令として出力する。一方、ステップST34では、パ
ラメータΔtk を修正する。例えば、次の式(15)を
用いて修正する。
【0069】 Δtk =(Vs *ΔTs /ΔPk )*Δtk ・・・・・(15)
【0070】ここで修正されたパラメータΔtk を用い
て、再度ステップST30でスプライン曲線上の位置を
計算し、パラメータΔtk 、すなわち差βが規定値以下
となるまでステップST30〜ST33による処理が繰
り返し行われる。
【0071】なお、この実施例のパラメータ修正方法
は、実施例2のパラメータ計算手法と組み合わせて用い
れば、速度指令に応じたパラメータが簡単にしかも正確
に求められる。
【0072】実施例4.次に、この発明の実施例4を図
について説明する。図8は請求項4に記載した発明の一
実施例を示すブロック図である。図において、1〜5お
よび7は実施例1のそれらと同様であるためその説明は
省略する。また、11は速度指令を減速するか否かの判
断を後述の接続状態判断部に出力する点で、図1に符号
6を付した実施例1のものとは異なるパラメータ変換部
である。12は軌跡指令が複数のスプライン曲線で表さ
れている場合、各スプライン曲線間の接続状態が連続に
接続されているか否かを判断し、接続状態が連続である
と判断すれば、スプライン曲線の終点の位置を変更する
接続状態判断部である。なお、この接続状態判断部12
による接続状態が連続であるか否かの判断は、例えば接
続点での接線ベクトルの向きと長さで判断することがで
きる。また、軌跡指令がBスプライン曲線で表現されて
いる場合は、接続点付近での前記Bスプライン曲線を表
現する制御点の位置関係から判断することもできる。
【0073】次に動作について説明する。ここで、図9
は動作の流れを示すフローチャートであり、ステップS
T1〜ST11は実施例1の図2のそれと同等の処理が
行われるものであるためその説明は省略する。今、図1
0および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までの距離が減
速制御するのに十分でない場合である。
【0074】例えば、現在の指令位置が前記Pa の場
合、ステップ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の処理へと移る。
【0075】
【数7】
【0076】ただし、現在の指令位置Pb の座標値を
(xb 、yb 、zb )、P2eの座標値を(x2e、y2e、
z2e)とする。
【0077】このように、スプライン曲線の軌跡指令の
接続状態を判断して終点の位置を変更し、速度制御を行
うので、軌跡指令が複数のスプライン曲線で表現されて
いる場合でも滑らかな補間制御を行うことができる。
【0078】実施例5.次に、この発明の実施例5を図
について説明する。この実施例5は請求項5〜9に記載
した発明の一実施例であり、図12は当該実施例5によ
る数値制御装置の構成を示すブロック図である。図にお
いて、21はNURBS形式のスプライン曲線を入力す
る曲線入力部である。なお、そのフォーマットはGコー
ド、IGES(イニシャル・グラフィクス・エクスチェ
ンジ・スペスィフィケーション;Initial Graphics Exc
hange Specifcation)などの交換フォーマットを入力形
式にすればよく、この曲線入力部21によって当該数値
制御装置内部に保管すべき曲線データが保存されること
となる。22はこの曲線入力部21より入力されたスプ
ライン曲線の曲率を評価して、その結果を内部データと
して保存する曲率評価部であり、23は入力されたスプ
ライン曲線の曲線データ、曲率評価部22で評価された
曲率評価データ、および与えられた速度指令値をもとに
して、曲線の各位置における送り速度指令を生成する速
度指令生成部である。24はこの速度指令生成部23で
生成された送り速度指令の値に対応して、各軸のパルス
数を計算する加減速制御および補間部である。
【0079】次に動作について説明する。ここで、図1
3は当該数値制御装置の動作の流れの全体を示すフロー
チャートである。まず、ステップST51において、N
URBS曲線を複数の有理ベゼー曲線に変換する。次に
ステップST52において、それぞれの有理ベゼー曲線
の曲率の範囲を計算する。そして、最後にステップST
53にてそれぞれの有理ベゼー曲線における送り速度を
設定する。以降それぞれのステップST51〜ST53
に関し、その詳細を述べる。
【0080】ここで、NURBS曲線は一般に次の式
(17)のように表現される。
【0081】
【数8】
【0082】なお、この式(17)においても、BSi,
n(t)はBスプライン関数、i は三次元空間中の制御点
であり、wi は重みである。この制御点i および重み
iを変えることによって、曲線形状を変えることがき
る。一方、曲線の曲率kは次の式(18)で表現され
る。
【0083】
【数9】
【0084】ここで、上記式(18)におけるP′はN
URBS曲線を示す式(17)の1次導関数であり、
P″は同じく2次導関数である。
【0085】今、図14に示すようなNURBS曲線が
与えられたとする。図中の記号A〜Hはそれぞれ曲線上
の位置を示している。この図14に示したNURBS曲
線の曲率の変化を示したものが図15である。この図1
5では横軸にパラメータを、縦軸に曲率をとって、点A
から点Hまでの各点に対応して曲率がどのように変化し
ているかを示したものであり、それをもとに送り速度を
設定することになる。
【0086】ここで、図16は曲率評価部22における
処理手順の一例を示すフローチャートである。まず、ス
テップST61にてパラメータtの値の初期設定を行
い、次にステップST62において曲率kの計算をす
る。得られた曲率kは与えられた指令速度Fs で送るこ
とが可能か否かがステップST63で判定され、与えら
れた指令速度では補間できない速度低減の必要なパラメ
ータ区間を登録してゆく。以下、ステップST65でパ
ラメータtを所定ピッチΔtずつインクリメントしなが
ら、ステップST66においてパラメータtがその最大
値を超えたことが検出されるまで、ステップST62〜
ST66の処理が繰り返される。
【0087】これによって、図15に示した例において
は、補間できないパラメータ区間であるBC、DE、F
Gがそれぞれパラメータtb からtc 、td からte 、
tfからtg というように登録されてゆくことになる。
なお、この方法の欠点はパラメータをインクリメントす
るピッチによって曲率が評価できないことがある可能性
が生ずるという点と、パラメータの最小値から最大値ま
で多数の点で調べあげなければならず、前処理演算に時
間がかかる点にある。
【0088】図17は曲率評価部22における処理手段
の他の例を示したフローチャートを示したものであり、
NURBS曲線を複数の有理ベゼー曲線に変換し、それ
ぞれの有理ベゼー曲線において曲率の取り得る範囲を演
算する。この方法について詳しく述べる。一般に、有理
ベゼー曲線は次の式(19)のように表現される。
【0089】
【数10】
【0090】一方、曲線の曲率kは前述のように式(1
8)で表現されるが、式(19)を代入することによ
り、この有理ベゼー曲線の曲率は次の式(20)の形に
変形できる。
【0091】
【数11】
【0092】この式(20)の絶対値記号で囲まれた式
はすべてベゼー式で表現することができ、次の式(2
1)のように表現できる。
【0093】
【数12】
【0094】ところでベゼー式で表現された式は凸閉包
性を有している。図18は凸閉包性について説明するた
めの説明図である。ベゼー曲線の制御点が図18のよう
0 から6 によって表されているとしよう。このと
き曲線CVは制御点0 から6 の作る凸体V1の中に
必ず存在するという性質のことを凸閉包性という。この
性質を使用すれば、曲線CV1の絶対値の取りうる範囲
を知ることが可能である。従って、この性質を利用すれ
ば、有理ベゼー曲線の曲率は式(21)のA、B、Cの
各式がベゼー式になっていることを使って曲率kの取り
うる範囲を知ることができる。すなわち、次の式(2
2)のkmin およびkmax を得ることができる。
【0095】 kmin ≦k≦kmax ・・・・・・・・・(22)
【0096】ここで、このkmin およびkmax の曲率k
の最小値および最大値よりもそれぞれ小さめおよび大き
めに得られるが、曲線の大局的な性質を知る上では有用
な特性値であるといえる。以上のように曲率の特性値k
min およびkmax は制御点だけから得られるため、前述
の方法と比較して演算が速くなるという利点がある。
【0097】次に、この曲率評価部22の処理結果をも
とに、速度指令生成部23にて速度指令を生成する。図
19は速度指令生成部23の処理手順を示すフローチャ
ートである。まず、ステップST81でトレランスτ、
kmax およびサンプル時間ΔTから最高速度Fmax を求
める。図20に示すように、曲率kとトレランスτおよ
び補間線分長Δlとの間の関係は次の式(23)で表現
できる。
【0098】
【数13】
【0099】したがって、サンプル時間をΔTとすれば
トレランスτを保証するに必要な速度の最大値Fmax は
次の式(24)で得られる。
【0100】
【数14】
【0101】次のステップST82では、与えられた速
度指令値Fs と比較し、ステップST83およびST8
4で値の小さいものを選んで実際の送り速度Fを決定す
る。図21はこのようにして得られた速度指令の一例を
示す説明図である。区間AB、区間CD、区間EFおよ
び区間GHでは与えられた指令速度Fs が取られ、区間
BCと区間FGでは速度F1が取られ、区間DEでは速
度F2が取られる。このように、速度指令生成部23に
おいては、パラメータ範囲として示された区間と、その
区間での走行速度を求めることになる。
【0102】図22は得られた速度指令をもとに、加減
速制御および補間部24の処理について説明するための
説明図である。加減速制御および補間部24は与えられ
た加速度を超えないように、指令速度パターンをもとに
実際にサーボ系へ送り出すパルスを生成することにな
る。この加減速制御および補間部24への入力データ
は、曲線の区間と指令速度、前後の指令速度と許容加速
度である。その区間における速度がその前の区間の速度
より速い場合は所定加速度を超えない範囲で加速制御を
行う。また、その区間における速度がその後の区間の速
度より速い場合は所定加速度を越えない範囲で減速制御
を行う。この減速制御においては区間終了点に行き着く
ようにその点と現在地点との距離を毎回チェックしなが
ら速度の低減処理を行ってゆく。
【0103】実施例6.次に、この発明の実施例6を図
について説明する。図23は請求項11に記載した発明
の一実施例を示すブロック図であり、図において、21
は位置指令値がNURBS曲線の形式で表現されて入力
される、図12に同一符号を付したものと同等の曲線入
力部である。また、25はこの曲線入力部21より入力
されたNURBS曲線を複数の有理ベゼー曲線に変換す
る曲線変換部であり、26はこの曲線変換部25によっ
て変換された各有理ベゼー曲線を補間する有理ベゼー曲
線補間部である。
【0104】次に動作について説明する。ここで、図2
4はこの実施例6による数値制御装置の処理の流れを示
すフローチャートである。曲線変換部25はまず、ステ
ップST91において、曲線入力部21より入力された
補間すべきNURBS曲線を複数の有理ベゼー曲線に一
旦変換し、それを有理ベゼー曲線補間部26に出力す
る。それを受けた有理ベゼー曲線補間部26は、ステッ
プST92で有理ベゼー曲線の番号iを初期値1に設定
した後、ステップST93においてそのi番目の有理ベ
ゼー曲線の補間処理を実行する。以下、ステップST9
4でiを1ずつインクリメントしながら、ステップST
95でそのiが曲線変換部21より送られてきた有理ベ
ゼー曲線の数と等しくなったことが検出されるまで、ス
テップST93〜ST35の処理を繰り返す。このよう
にして、曲線変換部25でNURBS曲線より変換され
た複数の有理ベゼー曲線は順番に補間処理され、全ての
有理ベゼー曲線の補間処理が済むと一連の処理は終了す
る。
【0105】ここで、NURBS曲線は制御点およびノ
ットベクトルから表現され、有理ベゼー曲線は制御点の
みで表現される。そして、このNURBS曲線は3次式
の場合、次のように複数の有理ベゼー曲線に変換され
る。すなわち、NURBS曲線の制御点(頂点座標値)
0 1 ,・・・L+2 、重みがw0 ,w1 ,・・
・wL+2 、ノットベクトルがu0 ,u1 ,・・・uL
与えられ、そして、Δ0〜ΔL をΔi =ui+1 −ui
定義すると、前記複数の有理ベゼー曲線はi=1〜L−
1で次の式(25)のように表現される。
【0106】
【数15】
【0107】ここで、上記式(25)における3i
3i-1 3i-2 は有理ベゼー曲線の制御点であり、ま
た、v3i,v3i-1 ,v3i-2 は各有理ベゼー曲線の重み
で、次の式(26)によって与えられる。
【0108】
【数16】
【0109】なお、上記式(26)のΔは、Δ=Δi-2
+Δi-1 +Δi である。また、i=0およびi=Lの場
合、すなわち、最初と最後は次の式(27)および式
(28)で示すものとなる。
【0110】
【数17】
【数18】
【0111】これら式(27),(28)における、v
0 ,v1 ,v2 およびv3L-2,v3L -1,v3Lは次の式
(29)および式(30)で示すものとなる。
【0112】
【数19】
【数20】
【0113】このような変換は図25に示したように、
NURBS曲線の制御点0 から 5 を有理ベゼー曲線
の制御点0 から9 に変換するもので、0 から
3 3 からb6 、b6 からb9 のそれぞれの制御点の
組が、図26に示したCV1、CV2、CV3の3本の
有理ベゼー曲線になる。
【0114】このような変換が行われた後、この実施例
6による数値制御装置においては、有理ベゼー曲線を補
間する機能を有した有理ベゼー曲線補間部26を備えて
いるため、NURBS曲線を直接補間制御するのと同様
な効果が得られる。なお、この有理ベゼー曲線補間部2
6による補間は、実施例5の説明で述べた方法によって
実現することができる。このようにNURBS曲線を有
理ベゼー曲線に変換して補間するものであるため、重た
いNURBS曲線の演算をする必要がなくなり、NUR
BS補間の処理を高速に行うことができる数値制御装置
を実現できる。
【0115】なお、この実施例6はNURBS曲線に対
しても適用されることは言うまでもない。
【0116】実施例7.次に、この発明の実施例7を図
について説明する。図27は請求項11に記載した発明
の一実施例を示すブロック図であり、図において、27
は従来から使用されてきたGコードによる直線指令、円
弧指令、楕円指令などが入力されてきた場合には、入力
された位置指令のデータをNURBS曲線の形式に変換
して曲率評価部22へ入力する指令変換部である。な
お、他の部分については、図12の相当部分と同一の符
号を付してその説明を省略する。
【0117】次に動作について説明する。位置指令のデ
ータがNURBS曲線の形式で入力された場合、曲線入
力部21でそれを受け取って曲率評価部22に入力す
る。一方、位置指令が従来から使用されてきたGコード
による直線指令、円弧指令、楕円指令などで入力されて
きた場合には、それを指令変換部27に入力してその位
置指令のデータをNURBS曲線の形式に一旦変換して
から曲率評価部22へ入力する。以降の処理は実施例5
で説明したものと同等に進行するため、その説明は省略
する。これにより、Gコードなどの既存のNCコードと
の互換性を保つことが可能となり、内部処理を一元化す
ることもできる。
【0118】実施例8.次に、この発明の実施例8を図
について説明する。図28は請求項12に記載した発明
の一実施例を示すブロック図である。図において、31
は補間処理を速度優先と精度優先のいずれで実行するか
を指令する選択情報が入力される選択情報入力部であ
り、32は速度優先を指定する選択情報が入力された場
合に、単位時間の移動量が一定となるような補間制御を
選択する速度優先選択部、33は精度優先を指定する選
択情報が入力された場合に、トレランスを保証する補間
制御を選択する精度優先選択部である。34はこれら速
度優先選択部32あるいは精度優先選択部33によって
選択された補間制御に従ってスプライン曲線の補間処理
を実行する曲線補間部である。
【0119】次に動作について説明する。ここで、図2
9はこの実施例8による数値制御装置の全体動作の流れ
を示すフローチャート、図30はそのスプライン補間処
理の手順を示すフローチャートであり、図31はその言
語入力の一例を示す説明図である。この図31に示した
シーケンス番号004のGコード“G9.0”は精度優
先モードを指令する選択情報としての精度優先コードで
あり、シーケンス番号010のGコード“G9.1”は
速度優先モードを指令する選択情報としての速度優先コ
ードである。すなわち、シーケンス番号004の“G
9.0”以降で精度優先モードに入り、シーケンス番号
010の“G9.1”以降で速度優先モードに入る。な
お、何も設定されていない場合にはデフォルトで精度優
先となる。
【0120】図29に示すように、処理が開始されると
ステップST101において、まずプログラムを一行ず
つ読み込んでゆく。次いで、読み込んだコードが速度優
先コードであるか否かをステップST102で、精度優
先コードであるか否かをステップST103でそれぞれ
判定し、速度優先コードであればステップST104で
内部変数cnt1を“0”に、精度優先コードであれば
ステップST105で内部変数cnt1を“1”にす
る。また、そのいずれでもなかった場合には、ステップ
ST106においてそれがスプライン補間コードである
か否かの判定を行い、スプライン補間コードでなければ
ステップST107で通常のコード処理を実行し、スプ
ライン補間コードであればステップST108でスプラ
イン補間処理を実行する。
【0121】スプライン補間処理が開始されると、まず
図30のステップST111において、内部変数cnt
1が“0”であるか否かの判定が行われる。その結果、
内部変数cnt1が“0”であればステップST112
で、速度優先選択部32によって単位時間の移動量が一
定となるような速度優先の補間制御が選択され、曲線補
間部34はそれに基づいて速度優先によるスプライン曲
線の補間処理を実行する。一方、内部変数cnt1が
“1”であればステップST113で、精度優先選択部
33によってトレランスを保証する補間制御が選択さ
れ、曲線補間部34はそれに基づいて精度優先によるス
プライン曲線の補間処理を実行する。
【0122】なお、精度優先による補間処理の具体的な
方法は、実施例1で説明した方法によって実現できる。
また、速度優先による補間処理は、単位時間に移動すべ
き距離を求め、その距離に対応するパラメータの増分値
を求めて位置指令値を出力することによって実現でき
る。
【0123】以上のように、この実施例8の数値制御装
置によれば、入力された速度優先モードを指令する選択
情報と精度優先モードを指令する選択情報により、スプ
ライン曲線の補間処理の種類を作業者が選択できるよう
になる。
【0124】
【発明の効果】以上のように、請求項1に記載の発明に
よれば、入力されたスプライン曲線の終点までの距離に
基づく速度指令より算出されたパラメータからスプライ
ン曲線上の位置を計算するように構成したので、加減速
制御を行いながらスプライン曲線の補間を行うことが可
能となり、軌跡がスプライン曲線で表現されている場合
でも工作機械を滑らかに制御することが可能となり、機
械工作の高速化、高精度化をはかることができる効果が
ある。
【0125】また、請求項2に記載の発明によれば、少
なくとも1処理周期前の移動量とパラメータ変化量の比
を用いてスプライン曲線のパラメータを計算するように
構成したので、スプライン曲線のパラメータの計算時間
を短縮でき、数値制御装置のコスト低減が期待できる効
果がある。
【0126】また、請求項3に記載の発明によれば、パ
ラメータ計算部の算出したパラメータを、速度指令出力
部の作成した速度指令とスプライン曲線上の移動量との
比較に基づいて修正するように構成したので、正確な速
度制御を行うことが可能となって、機械工作の高速化、
高精度化をはかることができる効果がある。
【0127】また、請求項4に記載の発明によれば、複
数のスプライン曲線で表現された軌跡でも、それらが連
続に接続されていると判断された場合には後部のスプラ
イン曲線の終点までの距離を計算するように構成したの
で、複数のスプライン曲線による複雑な軌跡でも工作機
械を滑らかに制御することが可能となり、機械工作の高
速化、高精度化をはかることができる効果がある。
【0128】また、請求項5に記載の発明によれば、入
力されたスプライン曲線の曲率の評価結果をもとに送り
速度指令を生成するように構成したので、与えられた曲
線の曲がり具合によって補間速度が制御され、加工後の
精度を向上させることが可能となり、さらに、無理な加
減速も防止できるようになって工作機械の異常振動を低
減できる効果がある。
【0129】また、請求項6に記載の発明によれば、パ
ラメータを所定のピッチで変化させながらスプライン曲
線の曲率を評価するように構成したので、曲率の評価が
容易となって、機械工作の高速化がはかれる効果があ
る。
【0130】また、請求項7に記載の発明によれば、ス
プライン曲線を複数の有理ベゼー曲線に変換して、その
各々について曲率を評価するように構成したので、曲率
の評価に要する処理時間が短縮でき、機械工作の高速化
がはかれる効果がある。
【0131】また、請求項8に記載の発明によれば、変
換された複数の有理ベゼー曲線の制御点に基づいてスプ
ライン曲線の曲率を評価するように構成したので、曲率
の評価に要する処理時間をさらに短縮することが可能と
なり、機械工作の高速化がはかれる効果がある。
【0132】また、請求項9に記載の発明によれば、ス
プライン曲線の各点の曲率、曲線と補間後の線分の許容
誤差、補間単位時間などから求めた各点の速度を、与え
られた速度指令値と比較し、速度指令値の方が小さな区
間は速度指令値に曲線の速度を設定するように構成した
ので、パラメータ範囲として示された各区間での走行速
度が適切に設定でき、機械工作の高精度化がはかれる効
果がある。
【0133】また、請求項10に記載の発明によれば、
入力されたNURBS曲線を複数の有理ベゼー曲線に変
換した後、それら各有理ベゼー曲線の補間を行うように
構成したので、演算の重たいNURBS曲線の演算を行
う必要がなくなり、補間演算処理を高速化に実現できる
効果がある。
【0134】また、請求項11に記載の発明によれば、
既存のNCコードで入力された位置指令はNURBS曲
線の形式に変換して曲率評価部に入力するように構成し
たので、既存のNCコードとの互換性を保つことが可能
となるばかりか、内部処理を一元化することもできる効
果がある。
【0135】また、請求項12に記載の発明によれば、
速度優先を指定する選択情報が入力された場合には単位
時間の移動量が一定となるような補間制御を選択し、精
度優先を指定する選択情報が入力された場合にはトレラ
ンスを保証する補間制御を選択するように構成したの
で、速度優先補間と精度優先補間とを自由に選択するこ
とが可能となり、作業者の選択の自由度が増すという効
果がある。
【図面の簡単な説明】
【図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】従来の数値制御装置を示すブロック図であ
る。
【符号の説明】
1 指令入力部 3 終点距離計算部 4 速度指令出力部 6 パラメータ計算部 7 スプライン曲線位置計算部 9 パラメータ計算部 10 パラメータ修正部 11 パラメータ変換部 12 接続状態判断部 21 曲線入力部 22 曲率評価部 23 速度指令生成部 25 曲線変換部 26 有理ベゼー曲線補間部 27 指令変換部 31 選択情報入力部 32 速度優先選択部 33 精度優先選択部

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 指令軌跡をスプライン曲線の形式で入力
    する指令入力部と、前記スプライン曲線の終点までの距
    離を計算する終点距離計算部と、前記終点距離計算部の
    計算結果を用いて速度指令の作成を行う速度指令出力部
    と、前記速度指令から前記スプライン曲線のパラメータ
    を計算するパラメータ計算部と、前記パラメータから前
    記スプライン曲線上の位置を計算するスプライン曲線位
    置計算部とを備えた数値制御装置。
  2. 【請求項2】 前記パラメータ計算部が、少なくとも1
    処理周期前の移動量とパラメータ変化量の比を用いて、
    前記スプライン曲線のパラメータを計算する機能を有す
    ることを特徴とする請求項1に記載の数値制御装置。
  3. 【請求項3】 指令軌跡をスプライン曲線の形式で入力
    する指令入力部と、前記スプライン曲線の終点までの距
    離を計算する終点距離計算部と、前記終点距離計算部の
    計算結果を用いて速度指令の作成を行う速度指令出力部
    と、前記速度指令から前記スプライン曲線のパラメータ
    を計算するパラメータ計算部と、前記パラメータから前
    記スプライン曲線上の位置を計算するスプライン曲線位
    置計算部と、前記速度指令と前記スプライン曲線上の移
    動量を比較して、前記パラメータの修正を行うパラメー
    タ修正部とを備えた数値制御装置。
  4. 【請求項4】 指令軌跡を複数のスプライン曲線の形式
    で入力する指令入力部と、前記各スプライン曲線の接続
    点での連続性を判断する接続状態判断部と、前記接続状
    態判断部にて2つの前記スプライン曲線が連続に接続さ
    れていると判断された場合、後部の前記スプライン曲線
    の終点までの距離を計算する終点距離計算部と、前記終
    点距離計算部の計算結果を用いて速度指令の作成を行う
    速度指令出力部と、前記速度指令から前記スプライン曲
    線のパラメータを計算するパラメータ計算部と、前記パ
    ラメータから前記スプライン曲線上の位置を計算するス
    プライン曲線位置計算部とを備えた数値制御装置。
  5. 【請求項5】 位置指令をスプライン曲線の形式で入力
    する曲線入力部と、前記曲線入力部より入力されたスプ
    ライン曲線の曲率の評価を行う曲率評価部と、前記曲率
    評価部で評価された曲率をもとに送り速度指令を生成す
    る速度指令生成部とを備えた数値制御装置。
  6. 【請求項6】 前記曲率評価部が、前記スプライン曲線
    の曲率を、パラメータを所定のピッチで変化させながら
    評価する機能を有することを特徴とする請求項5に記載
    の数値制御装置。
  7. 【請求項7】 前記曲率評価部が、前記スプライン曲線
    を複数の有理ベゼー曲線に変換する機能と、変換後の前
    記各有理ベゼー曲線についてその曲率を評価する機能と
    を有することを特徴とする請求項5に記載の数値制御装
    置。
  8. 【請求項8】 前記曲率評価部が、前記スプライン曲線
    を複数の有理ベゼー曲線に変換する機能と、変換後の前
    記各有理ベゼー曲線の制御点に基づいて、前記スプライ
    ン曲線の曲率を評価する機能とを有することを特徴とす
    る請求項5に記載の数値制御装置。
  9. 【請求項9】 前記速度指令生成部が、与えられた前記
    スプライン曲線の各点における曲率、前記スプライン曲
    線と補間後の線分との間の許容誤差、および補間単位時
    間より前記各点の速度を求める機能と、得られた前記各
    点の速度を与えられた速度指令値と比較して、与えられ
    た前記速度指令値の方が小さな区間では、前記スプライ
    ン曲線の速度に当該速度指令値を設定する機能とを有す
    ることを特徴とする請求項5に記載の数値制御装置。
  10. 【請求項10】 位置指令を有理化Bスプライン曲線の
    形式で入力する曲線入力部と、入力された前記有理化B
    スプライン曲線を複数の有理ベゼー曲線に変換する曲線
    変換部と、変換された前記各有理ベゼー曲線の補間を行
    う有理ベゼー曲線補間部とを備えた数値制御装置。
  11. 【請求項11】 入力される位置指令を有理化Bスプラ
    イン曲線の形式に変換する指令変換部と、前記指令変換
    部にて変換された有理化Bスプライン曲線の曲率の評価
    を行う曲率評価部と、前記曲率評価部で評価された曲率
    をもとに送り速度指令を生成する速度指令生成部とを備
    えた数値制御装置。
  12. 【請求項12】 補間処理を速度優先で行うか精度優先
    で行うかを指定する選択情報が入力される選択情報入力
    部と、入力された前記選択情報が速度優先を指定するも
    のであった場合には、単位時間の移動量が一定となるよ
    うな補間制御を選択する速度優先選択部と、入力された
    前記選択情報が精度優先を指定するものであった場合に
    は、トレランスを保証する補間制御を選択する精度優先
    選択部とを備えた数値制御装置。
JP5216727A 1993-08-31 1993-08-31 数値制御装置 Expired - Fee Related JP3068989B2 (ja)

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 数値制御装置および曲線経路補間方法
JP14248399A Division JP3210301B2 (ja) 1999-05-21 1999-05-21 数値制御装置
JP14248299A Division JPH11345014A (ja) 1999-05-21 1999-05-21 数値制御装置

Publications (2)

Publication Number Publication Date
JPH0764620A true JPH0764620A (ja) 1995-03-10
JP3068989B2 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)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000068745A1 (fr) * 1999-05-06 2000-11-16 Kabushiki Kaisha Yaskawa Denki Regulateur programmable
US6609045B1 (en) 1998-05-28 2003-08-19 Mitsubishi Denki Kabushiki Kaisha File conversion apparatus for machining program of numerical control system and computer readable recording medium for storing program for computer to execute file conversion process
JP2008007401A (ja) * 2006-06-26 2008-01-17 Emhart Glass Sa 物品伝達機構
WO2012049866A1 (ja) 2010-10-13 2012-04-19 オムロン株式会社 制御装置、制御システムおよび制御方法
JP2017084239A (ja) * 2015-10-30 2017-05-18 ファナック株式会社 曲率と曲率変化量による速度制御を行う数値制御装置
CN110687869A (zh) * 2018-07-06 2020-01-14 发那科株式会社 数值控制装置、数值控制方法以及数值控制程序
CN116079714A (zh) * 2022-12-02 2023-05-09 盐城工学院 一种基于b样条的六轴机械臂轨迹规划方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6609045B1 (en) 1998-05-28 2003-08-19 Mitsubishi Denki Kabushiki Kaisha File conversion apparatus for machining program of numerical control system and computer readable recording medium for storing program for computer to execute file conversion process
WO2000068745A1 (fr) * 1999-05-06 2000-11-16 Kabushiki Kaisha Yaskawa Denki Regulateur programmable
US6842651B1 (en) 1999-05-06 2005-01-11 Kabushiki Kaisha Yaskawa Denki Programmable controller having plural speed pattern generators
JP2008007401A (ja) * 2006-06-26 2008-01-17 Emhart Glass Sa 物品伝達機構
WO2012049866A1 (ja) 2010-10-13 2012-04-19 オムロン株式会社 制御装置、制御システムおよび制御方法
US9606524B2 (en) 2010-10-13 2017-03-28 Omron Corporation Control apparatus, control system and control method
JP2017084239A (ja) * 2015-10-30 2017-05-18 ファナック株式会社 曲率と曲率変化量による速度制御を行う数値制御装置
US10037021B2 (en) 2015-10-30 2018-07-31 Fanuc Corporation Numerical controller performing speed control with curvature and curvature change amount
CN110687869A (zh) * 2018-07-06 2020-01-14 发那科株式会社 数值控制装置、数值控制方法以及数值控制程序
CN110687869B (zh) * 2018-07-06 2024-04-26 发那科株式会社 数值控制装置、数值控制方法以及计算机可读介质
CN116079714A (zh) * 2022-12-02 2023-05-09 盐城工学院 一种基于b样条的六轴机械臂轨迹规划方法

Also Published As

Publication number Publication date
JP3068989B2 (ja) 2000-07-24

Similar Documents

Publication Publication Date Title
US20200004228A1 (en) A feedrate scheduling method for five-axis dual-spline curve interpolation
EP1235126B1 (en) Numerically controlled curved surface machining unit
US6587747B2 (en) Numerically controlled curved surface machining unit
JP4351281B2 (ja) 5軸加工機を制御する数値制御装置
JP4980458B2 (ja) 数値制御工作機械の加工時間予測装置
KR101798652B1 (ko) 매니퓰레이터를 제어하기 위한 방법 및 장치
JP3830475B2 (ja) 制御装置
EP0770941B1 (en) Method and device for interpolating free-form surface
EP1213634B1 (en) Numerically controlled method
KR100214230B1 (ko) 공구점열 발생방법
CN107291047B (zh) 一种基于多约束条件的正反双向nurbs曲线插补方法
US5936864A (en) Free curve interpolation apparatus and interpolation method
JP3034843B2 (ja) 加工機の制御装置
JPH11345014A (ja) 数値制御装置
JPH0764620A (ja) 数値制御装置
JP3879056B2 (ja) 数値制御曲面加工装置
JP2790643B2 (ja) 数値制御装置
JP2001255917A (ja) 数値制御装置
CN112865750A (zh) 基于fir滤波器的数控系统倍率变化平滑控制方法及装置
JPH11345017A (ja) 数値制御装置
JPH11345015A (ja) 数値制御装置
US6054830A (en) Pulse control method and system using multiplier
Yau et al. PC-based controller with real-time look-ahead NURBS interpolator
Herrmann et al. Numerical Optimization in Planning of Flexible Needle Winding Trajectories
JPH09198116A (ja) 数値制御装置のブロックデータ処理方法

Legal Events

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

Free format text: PAYMENT UNTIL: 20080519

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090519

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100519

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100519

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110519

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20110519

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120519

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20120519

Year of fee payment: 12

FPAY Renewal fee payment (prs 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