JPH11345017A - Numerical controller - Google Patents

Numerical controller

Info

Publication number
JPH11345017A
JPH11345017A JP11142481A JP14248199A JPH11345017A JP H11345017 A JPH11345017 A JP H11345017A JP 11142481 A JP11142481 A JP 11142481A JP 14248199 A JP14248199 A JP 14248199A JP H11345017 A JPH11345017 A JP H11345017A
Authority
JP
Japan
Prior art keywords
curve
curvature
speed
command
spline curve
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
JP11142481A
Other languages
Japanese (ja)
Other versions
JP3236579B2 (en
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 JP14248199A priority Critical patent/JP3236579B2/en
Publication of JPH11345017A publication Critical patent/JPH11345017A/en
Application granted granted Critical
Publication of JP3236579B2 publication Critical patent/JP3236579B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a numerical controller shortening the time required for the evaluation of a curvature and accelerating machining. SOLUTION: This numerical controller is provided with a curve input part 21 for inputting a position command by the form of a spline curve, a curvature evaluation part 22 for evaluating the curvature of the spline curve inputted from the curve input part 21 and a speed command generation part 23 for generating a feed speed command based on the curvature evaluated in the curvature evaluation part 22.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】この発明は、工作機械やロボ
ットなどの制御を行う数値制御装置に関するものであ
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a numerical controller for controlling a machine tool, a robot, and the like.

【0002】[0002]

【従来の技術】図32は例えば、特開昭64−8101
2号公報に示された、従来の数値制御装置を示すブロッ
ク図である。図において、41は指令がパンチされてい
る指令テープであり、42はこの指令テープ41を読み
込むテープリーダである。43は読み込まれたデータの
前処理を行う前処理手段であり、44は当該数値制御の
演算処理を実行する中央演算処理装置(以下、CPUと
いう)、45はCPU44よりアクセスされるメモリで
ある。46は補間データを工具の各軸毎の指令パルスと
して分配するパルス分配器であり、47はその指令パル
スに基づいてサーボモータを駆動するサーボ制御回路、
48はそのサーボモータである。
2. Description of the Related Art FIG.
FIG. 2 is a block diagram showing a conventional numerical control device disclosed in Japanese Unexamined Patent Publication No. 2 (Kokai) No. 2; In the figure, reference numeral 41 denotes a command tape on which a command is punched, and reference numeral 42 denotes a tape reader for reading the command tape 41. Reference numeral 43 denotes a pre-processing unit for performing pre-processing of the read data, reference numeral 44 denotes a central processing unit (hereinafter, referred to as a CPU) for executing the arithmetic processing of the numerical control, and reference numeral 45 denotes a memory accessed by the CPU 44. 46 is a pulse distributor that distributes interpolation data as command pulses for each axis of the tool, 47 is a servo control circuit that drives a servomotor based on the command pulses,
48 is the servo motor.

【0003】次に動作について説明する。まず、テープ
リーダ42によって、指令位置や指令速度がパンチされ
ている指令テープ41より工具移動についてのデータが
読み込まれる。読み込まれたデータに補間指令のGコー
ドが含まれている場合には、前処理手段43において指
令された点列に基づくスプライン曲線の設定が行われ
る。CPU44は設定された当該スプライン曲線の接線
方向での単位時間あたりの移動量を演算し、メモリ45
に格納されている補間データ作成のためのプログラムに
従って工具軌跡を演算する。このようにして作成された
補間データは、パルス分配器46で工具の各軸毎の指令
パルスとして分配され、それぞれのサーボ制御回路47
に送られる。サーボ制御回路47は受け取った指令パル
スに従ってサーボモータ48を制御し、このサーボモー
タ48の回転によってボールねじ等を介して工具を移動
させる。
Next, the operation will be described. First, the tape reader 42 reads tool movement data from the command tape 41 on which the command position and command speed are punched. When the read data includes the G code of the interpolation command, the preprocessing unit 43 sets a spline curve based on the commanded point sequence. The CPU 44 calculates the amount of movement per unit time in the tangential direction of the set spline curve, and
The tool trajectory is calculated in accordance with a program for creating interpolation data stored in. The interpolation data created in this way is distributed by the pulse distributor 46 as command pulses for each axis of the tool, and the respective servo control circuits 47
Sent to The servo control circuit 47 controls the servomotor 48 according to the received command pulse, and moves the tool via a ball screw or the like by the rotation of the servomotor 48.

【0004】このように、上記数値制御装置において
は、まず接線ベクトルを求め、一定速度でスプライン曲
線上を移動するためのパラメータ変化量をその接線ベク
トルより算出し、そのパラメータ変化量に応じて、スプ
ライン曲線上の補間点をパルス分配周期毎に計算してお
り、そのスプライン曲線は3次スプライン曲線に基づい
て計算するものであった。また、そのスプライン曲線を
一定速度で移動するためのスプライン曲線のパラメータ
Δtは、パルス分配毎の移動量fと接線ベクトルpt’
から求められていた。
As described above, in the above numerical control device, first, a tangent vector is obtained, a parameter change amount for moving on a spline curve at a constant speed is calculated from the tangent vector, and according to the parameter change amount, The interpolation point on the spline curve is calculated for each pulse distribution cycle, and the spline curve is calculated based on the cubic spline curve. The parameter Δt of the spline curve for moving the spline curve at a constant speed is determined by the movement amount f for each pulse distribution and the tangent vector pt ′.
Was required from.

【0005】なお、このような従来の数値制御装置に関
連した技術が記載された文献としては、この他にも、例
えば特開平3−19963号公報などがある。この特開
平3−19963号公報による曲線補間装置は、与えら
れた任意の曲線に対して、所望の許容誤差を保証するよ
うに微小線分で曲線を補間するものであり、この方法
は、現在位置における曲線の曲率と現在位置から探索長
だけ離れた付近の曲線の曲率を比較し、その判定結果よ
り線分長を決定するものである。
[0005] In addition, as a document which describes a technique related to such a conventional numerical control device, there is, for example, Japanese Patent Application Laid-Open No. 3-19963. The curve interpolating device disclosed in Japanese Patent Laid-Open Publication No. Hei 3-19963 interpolates a given arbitrary curve with a minute line segment so as to guarantee a desired allowable error. The curvature of the curve at the position is compared with the curvature of the curve near the current position by the search length, and the line segment length is determined from the result of the determination.

【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)において広く使用さ
れるようになってきている。
Also, "Computer Aided Design", Vol. 19, No. 9 (1
(September 987), pp. 485-498, entitled “Curve and Surface Constructions Useing Rational Bee Splines”
and surface constructions using rational B-spline
s), rationalized B-splines (Non Unifo
The rm Rational B-Spline (NURBS) curve is becoming widely used in computer aided design (CAD).

【0007】[0007]

【発明が解決しようとする課題】従来の数値制御装置は
以上のように構成されているので、スプライン曲線上を
一定速度で移動する補間方式であり、進行方向(スプラ
イン曲線の接線方向)に対して、機械が振動を起こさな
いようななめらかな加減速制御が考慮されてはおらず、
始点のなめらかな加速制御、および終点での減速制御が
行われないため、スプライン曲線上をなめらかに機械制
御することができない。また、スプライン曲線上を一定
速度で移動するために、スプライン曲線の曲率に応じた
適切な速度制御が行われず、スプライン曲線上をなめら
かに機械制御できないとともに、加工精度が悪いという
課題があった。さらに、スプライン曲線上を一定指令速
度で移動するためのスプライン曲線のパラメータΔtは
接線ベクトルpt’から求めているため、計算時間がか
かるばかりか、一定速度指令で移動するために求めたス
プライン曲線のパラメータΔtは、接線ベクトルpt’
から求められているが、接線ベクトルpt’では正確に
1パルス分配周期毎の移動量とスプライン曲線のパラメ
ータ変化量の比を求めることができず、曲率が大きいと
ころではパラメータΔtの計算誤差が発生し、スプライ
ン曲線上を正確に指令速度で移動することはできない。
また、スプライン曲線の補間を行うにあたっての接線ベ
クトルの求め方が簡単ではなく、複数のスプライン曲線
からなる軌跡を補間する場合についても、進行方向(ス
プライン曲線の接線方向)に対して、機械が振動を起こ
さないようななめらかな加減速制御が考慮されておら
ず、始点のなめらかな加速制御および終点での減速制御
が行われないので、スプライン曲線上をなめらかに機械
制御することができないなどの課題があった。
Since the conventional numerical control device is constructed as described above, it is an interpolation system that moves on a spline curve at a constant speed, and the interpolation method moves in the traveling direction (tangential direction of the spline curve). Therefore, smooth acceleration / deceleration control that does not cause vibration of the machine is not considered,
Since smooth acceleration control at the start point and deceleration control at the end point are not performed, smooth mechanical control on the spline curve cannot be performed. Further, since the robot moves on the spline curve at a constant speed, appropriate speed control in accordance with the curvature of the spline curve is not performed, so that mechanical control cannot be smoothly performed on the spline curve and processing accuracy is poor. Further, since the parameter Δt of the spline curve for moving on the spline curve at a constant command speed is obtained from the tangent vector pt ′, not only the calculation time is increased, but also the spline curve of the spline curve obtained for moving at the constant speed command is obtained. The parameter Δt is a tangent vector pt ′
However, the tangent vector pt 'cannot accurately calculate the ratio between the movement amount per pulse distribution period and the parameter change amount of the spline curve, and a calculation error of the parameter Δt occurs where the curvature is large. However, it cannot move on the spline curve exactly at the command speed.
In addition, it is not easy to obtain a tangent vector when performing interpolation of a spline curve. Even when a locus composed of a plurality of spline curves is interpolated, the machine may vibrate in a traveling direction (tangential direction of the spline curve). The problem is that smooth acceleration / deceleration control that does not cause a problem is not considered, and smooth acceleration control at the start point and deceleration control at the end point are not performed, so that mechanical control on the spline curve cannot be performed smoothly. was there.

【0008】また、従来の補間方法では、探索長を細か
く設定しすぎると許容誤差は充分保証されるが、線分が
細かくなりすぎ、その後の直線補間部分での処理が追従
できず、高速な補間ができなくなって、探索長を大きく
しすぎると許容誤差が保証されなくなり、探索長の設定
が面倒なものとなるという課題があった。また、NUR
BS曲線を前述の方法で補間すると、演算時間がかかり
高速な補間制御ができないという問題点があり、さら
に、一般の作業者にとっては、精度の保証も重要である
が加工速度の保証も重要な要素であり、精度優先と速度
優先を自由に選べる数値制御装置が望まれているが、そ
のような要請にも応えられないという課題があった。
In the conventional interpolation method, if the search length is set too small, the allowable error is sufficiently guaranteed, but the line segment becomes too small, and the subsequent processing in the linear interpolation part cannot follow up. If the interpolation cannot be performed and the search length is set too large, the allowable error cannot be guaranteed and the setting of the search length becomes troublesome. Also, NUR
When the BS curve is interpolated by the above-described method, there is a problem that it takes a long time to perform calculation and high-speed interpolation control cannot be performed. Further, for a general worker, it is important to guarantee the accuracy but also important to the machining speed. There is a demand for a numerical control device which is an element and can freely select priority between accuracy and speed. However, there has been a problem that such a request cannot be met.

【0009】この発明は上記のような課題を解決するた
めになされたもので、与えられた曲線の曲率に応じて補
間速度を制御して加工後の精度を向上させるとともに工
作機械の異常振動を低減する数値制御装置を得ることを
目的とする。
SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problems, and controls the interpolation speed in accordance with the curvature of a given curve to improve the accuracy after machining and reduce abnormal vibration of a machine tool. It is an object of the present invention to obtain a numerical control device that reduces the amount.

【0010】また、この発明は、曲率の評価に要する時
間を短縮して機械工作の高速化を実現する数値制御装置
を得ることを目的とする。
It is another object of the present invention to provide a numerical control device which shortens the time required for evaluating the curvature and realizes high-speed machining.

【0011】[0011]

【課題を解決するための手段】この発明に係る数値制御
装置は、位置指令をスプライン曲線の形式で入力する曲
線入力部と、前記曲線入力部より入力されたスプライン
曲線の曲率の評価を行う曲率評価部と、前記曲率評価部
で評価された曲率をもとに送り速度指令を生成する速度
指令生成部とを備えるようにしたものである。
A numerical controller according to the present invention includes a curve input unit for inputting a position command in the form of a spline curve, and a curvature for evaluating the curvature of the spline curve input from the curve input unit. An evaluation unit and a speed command generation unit that generates a feed speed command based on the curvature evaluated by the curvature evaluation unit are provided.

【0012】この発明に係る数値制御装置は、曲率評価
部がパラメータを所定のピッチで変化させながらスプラ
イン曲線の曲率を評価する機能を有するようにしたもの
である。
The numerical controller according to the present invention has a function of evaluating a curvature of a spline curve while changing a parameter at a predetermined pitch.

【0013】この発明に係る数値制御装置は、曲率評価
部が、スプライン曲線を複数の有理ベゼー曲線に変換す
る機能と、変換後の各有理ベゼー曲線についてその曲率
を評価する機能とを有するようにしたものである。
In the numerical controller according to the present invention, the curvature evaluator has a function of converting the spline curve into a plurality of rational Bezet curves and a function of evaluating the curvature of each converted rational Bezet curve. It was done.

【0014】この発明に係る数値制御装置は、曲率評価
部が、スプライン曲線を複数の有理ベゼー曲線に変換す
る機能と、変換後の各有理ベゼー曲線の制御点に基づい
て、スプライン曲線の曲率を評価する機能とを有するよ
うにしたものである。
In the numerical controller according to the present invention, the curvature estimating unit converts the spline curve into a plurality of rational Bezet curves and the curvature of the spline curve based on control points of the converted rational Bezet curves. And a function to evaluate.

【0015】この発明に係る数値制御装置は、速度指令
生成部が、与えられたスプライン曲線の各点における曲
率、スプライン曲線と補間後の線分との間の許容誤差、
および補間単位時間より前記各点の速度を求める機能
と、得られた前記各点の速度を与えられた速度指令値と
比較して、与えられた前記速度指令値の方が小さな区間
では、スプライン曲線の速度に当該速度指令値を設定す
る機能とを有するようにしたものである。
In the numerical control device according to the present invention, the speed command generation unit may be configured to determine a curvature at each point of the given spline curve, an allowable error between the spline curve and the interpolated line segment,
And a function for obtaining the speed of each point from the interpolation unit time, and comparing the obtained speed of each point with a given speed command value, in a section where the given speed command value is smaller, a spline And a function of setting the speed command value to the speed of the curve.

【0016】[0016]

【発明の実施の形態】実施の形態1.以下、この発明の
実施の形態1を図に基づいて説明する。図1は、この発
明の実施の形態1による数値制御装置を示すブロック図
である。図において、1は軌跡指令P(t) (ただし、t
はスプライン曲線を定義しているパラメータ、以下パラ
メータと略す)と送り速度指令Vcom を入力する指令入
力部である。なお、前記各指令は要求に応じて1ブロッ
クあるいは複数ブロック入力され、記憶される。また、
軌跡指令P(t) はスプライン曲線の形式で入力される。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiment 1 Hereinafter, a first embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing a numerical control device according to Embodiment 1 of the present invention. In the figure, 1 is a locus command P (t) (where t
Is a parameter defining a spline curve (hereinafter abbreviated as a parameter) and a command input unit for inputting a feed speed command Vcom. Each command is input as one block or a plurality of blocks as required, and stored. Also,
The trajectory command P (t) is input in the form of a spline curve.

【0017】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 はサーボ系の各軸の送り速度の合成され
た速度指令として出力される。
Reference numeral 2 denotes a speed pattern generation unit including an end point distance calculation unit, a speed command output unit, and an acceleration / deceleration control unit, which will be described later. Reference numeral 3 denotes a distance Le from the current command position to the end point of the spline curve. The end point distance calculation unit 4 controls the feed speed command Vcom so that the distance Le to the end point calculated by the end point distance calculation unit 3 can be moved and stopped, and outputs it as a speed command Vout to be input to the acceleration / deceleration control unit. The speed command output units 5 and 5 are acceleration / deceleration control units that perform acceleration / deceleration control so that the speed command Vout of the speed command output unit 4 changes smoothly. For this acceleration / deceleration control, for example, a trapezoidal acceleration / deceleration control method described in Japanese Patent Application Laid-Open No. 1-237806 or an exponential function acceleration / deceleration control method conventionally used may be used. Here, the trapezoidal acceleration / deceleration control method operates so as to specify acceleration ΔF, perform acceleration / deceleration at the commanded acceleration ΔF, and perform acceleration / deceleration control until the speed reaches the commanded speed. A speed command Vout input to the acceleration / deceleration control unit 5,
The integrated value of the difference between the output speed commands Vs is the following distance Ld
Is stored in the acceleration / deceleration control unit 5. When the input Vout becomes 0, the acceleration / deceleration control unit 5 sends the speed command Vs until the integral value of the output speed Vs of the acceleration / deceleration control unit 5 reaches the following distance Ld. It works to keep outputting. This acceleration / deceleration control unit 5
Is output as a speed command obtained by synthesizing the feed speed of each axis of the servo system.

【0018】6は加減速制御部5の速度指令Vs に対応
したスプライン曲線上の位置を決定するパラメータを計
算するパラメータ計算部であり、7はこのパラメータ計
算部6からのパラメータと指令入力部1からの曲線指令
より、サーボ制御系への指令位置(xk 、yk 、zk )
を計算するスプライン曲線位置計算部である。
Reference numeral 6 denotes a parameter calculation unit for calculating a parameter for determining a position on the spline curve corresponding to the speed command Vs of the acceleration / deceleration control unit 5. Reference numeral 7 denotes a parameter from the parameter calculation unit 6 and the command input unit 1. Command position (xk, yk, zk) to servo control system from curve command from
Is a spline curve position calculation unit that calculates.

【0019】次に動作について説明する。ここで、図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スプライン曲線形式で表現され
ているものとする。
Next, the operation will be described. Here, FIG.
Is a flowchart showing the flow of the overall processing of the operation. The processing is executed at a constant processing cycle (sampling cycle) ΔTs. These processes are realized by a computer system including a CPU, a memory, an input / output (I / O) interface, and the like. Now, it is assumed that the spline curve P (t) (0 ≦ t ≦ 1) in FIG. 3 is given as a command locus. Ps is the starting point and the coordinates are (xs, ys, zs
), Pe is the end point and the coordinate values are (xe, ye, ze), P
(k-1) is the current command position (position command output to the servo control system one processing cycle before) and the coordinates are (x (k-1), y (k-1)
, Z (k-1)). It is assumed that the spline curve P (t) is expressed, for example, in the form of a B-spline curve shown in the following equation (1).

【0020】[0020]

【数1】 (Equation 1)

【0021】ここで、BSi,n(t)はBスプライン関数で
あり、di は3次元空間中の制御点である。パラメータ
tが決定すれば、式(1)よりスプライン曲線上の位置
座標が決定する。ちなみに、パラメータt=0の時はP
s 点、t=1の時はPe 点である。
Here, BSi, n (t) is a B-spline function, and di is a control point in a three-dimensional space. When the parameter t is determined, the position coordinates on the spline curve are determined from the equation (1). By the way, when the parameter t = 0, P
When s point and t = 1, it is Pe point.

【0022】図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)を用いて計算する。
Referring to FIG. 2, in step ST1, it is determined whether or not a trajectory command is read for one block. If the trajectory command has not been read, step ST
2, a trajectory command block expressed in the form of a B-spline curve as in equation (1) and a feed speed command in this block are read. Next, in step ST3, the parameter t = t (k-1) at the current command position P (k-1) (x (k-1), y (k-1), z (k-1)). And Current command position P (k
The distance Le from -1) to the end point Pe is calculated using, for example, the following equation (2).

【0023】[0023]

【数2】 (Equation 2)

【0024】その後、ステップST4〜ST6におい
て、速度指令出力部4が、終点までの距離Leと前記追
従距離Ldの1処理周期前の追従距離Ld(k-1) 、前記
送り速度指令Vcom から、終点に正確に停止できるよう
に速度指令Vcom を制御し、速度指令Vout を出力す
る。なお、この速度指令Vout は以下の式(3)〜式
(5)で示される条件で決定される。
Thereafter, in steps ST4 to ST6, the speed command output unit 4 calculates the distance Le to the end point, the following distance Ld (k-1) one processing cycle before the following distance Ld, and the above-mentioned feed speed command Vcom. The speed command Vcom is controlled so as to stop accurately at the end point, and the speed command Vout is output. The speed command Vout is determined under the conditions shown by the following equations (3) to (5).

【0025】 <条件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)<Condition 1> If Le−Ld (k−1) ≧ Vcom * ΔTs, Vout = Vcom (3) <Condition 2> 0 <Le−Ld (k−1) <Vcom * If ΔTs, Vout = (Le−Ld (k−1) / ΔTs... (4) <Condition 3> If 0 ≧ Le−Ld (k−1), Vout = 0. ... (5)

【0026】すなわち、ステップST4では、前記条件
1〜3の判断を行う。条件1以外はすべて減速操作とな
る。条件1が成立すればYES、しないならNOの操作
を行う。ステップST5では、式(3)のごとくVout
を決定する。またステップST6なら、条件2、3に応
じて速度指令Vout を式(4)、式(5)の如く決定す
る。次にステップST7では、速度指令Vout を加減速
制御し、速度指令Vsを計算し出力する。加減速方式は
例えば前述の台形加減速方式を用いる。また追従距離L
dを、次の式(6)で修正し、次回の処理周期に用い
る。
That is, in step ST4, the conditions 1 to 3 are determined. Except for condition 1, all deceleration operations are performed. If the condition 1 is satisfied, an operation of YES is performed, and if not, an operation of NO is performed. In step ST5, Vout is calculated as in equation (3).
To determine. In step ST6, the speed command Vout is determined according to the conditions 2 and 3 as shown in the equations (4) and (5). Next, in step ST7, the speed command Vout is subjected to acceleration / deceleration control, and the speed command Vs is calculated and output. As the acceleration / deceleration method, for example, the trapezoidal acceleration / deceleration method described above is used. The following distance L
d is modified by the following equation (6) and used in the next processing cycle.

【0027】 Ld=Ld(k-1) +(Vout −Vs )*ΔTs ・・・・・(6)Ld = Ld (k−1) + (Vout−Vs) * ΔTs (6)

【0028】次に、ステップ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)により求める。
Next, in step ST8, a parameter change amount Δt ′ when the current command position P (k−1) on the spline curve P (t) is changed by a small parameter Δt ′.
And the ratio α of the moving distance ΔP ′. Spline curve P
The coordinates of the current position P (k-1) on (t) are (x (k-1)
, Y (k-1), z (k-1)) and the parameter is t (k-1)
The position P (t (k−1) + Δt ′) at t (k−1) + Δt ′, which has changed by a small parameter Δt ′, can be calculated using the above-described equation (1), and the coordinate value at that time is (x ( k-1) ', y (k
-1) ', z (k-1)'). The ratio α is obtained by the following equation (7).

【0029】 α=Δt’/ΔP’ ・・・・・・・(7)Α = Δt ′ / ΔP ′ (7)

【0030】ただし、上記式(7)において移動距離Δ
P’は次の式(8)で与えられる。
However, in the above equation (7), the moving distance Δ
P ′ is given by the following equation (8).

【0031】[0031]

【数3】 (Equation 3)

【0032】また、パラメータ変化量Δt’は、次の式
(9)が成り立つような値に設定する。
The parameter variation Δt ′ is set to a value that satisfies the following equation (9).

【0033】[0033]

【数4】 (Equation 4)

【0034】次に、ステップST9では、前記速度指令
Vs に対応するパラメータ変化量Δtk を次の式(1
0)を用いて推定する。
Next, in step ST9, the parameter change amount Δtk corresponding to the speed command Vs is calculated by the following equation (1).
0).

【0035】 Δtk =α・Vs *ΔTs ・・・・・・・(10)Δtk = α · Vs * ΔTs (10)

【0036】次に、ステップ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 として、これらを次回の処理周期の現在の指
令位置として記憶しておく。
Next, at step ST10, the spline curve P (t) is calculated using the estimated parameter variation Δtk.
The upper position P (t (k-1) +. DELTA.tk) is calculated using equation (1). The coordinate calculation value of P (t (k-1) + Δtk) is output to the servo control system as a command position. Then step ST
At 11, the coordinates of the position P (t (k-1) +. DELTA.tk) are calculated as x (k-1) = xk, y (k-1) = yk and z (k-
1) As = zk, these are stored as the current command positions in the next processing cycle.

【0037】なお、スプライン曲線の曲率が小さい場合
には、αを接線ベクトルから求めても同様な効果が得ら
れる。
When the curvature of the spline curve is small, the same effect can be obtained by obtaining α from the tangent vector.

【0038】実施の形態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の
ものとは異なったパラメータ計算部である。
Embodiment 2 Next, a second embodiment of the present invention will be described with reference to the drawings. FIG. 4 is a block diagram showing a numerical control device according to Embodiment 2 of the present invention. In the figure, 1 to 5 and 7 have the same configurations as those of the first embodiment, and therefore the description thereof is omitted. 8 is 1
The movement amount calculation unit calculates the movement amount ΔP (k-1) of the command position during one processing cycle obtained from the command position before the processing cycle and the command position two processing cycles before. Reference numeral 9 denotes a movement amount ΔP (k−1) of the command position and a parameter change amount Δt (k−1) output one processing cycle ago (a parameter change amount Δtk before one processing cycle).
, The ratio α between the parameter change amount and the movement amount is calculated, and the parameter t is calculated from the speed command Vs of the acceleration / deceleration control unit 5 and the ratio α, and the parameter t (k−1) one processing cycle before.
This is a parameter calculation unit different from that of the first embodiment, which is denoted by reference numeral 6 in FIG.

【0039】次に動作について説明する。ここで、図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)より求める。
Next, the operation will be described. Here, FIG.
Is a flowchart showing the flow of the operation, in step S
Since T1 to ST7 and steps ST8 to ST11 perform the same processing as that of FIG. 2, their description is omitted. At step ST20, the command position (x (k-1), y (k-1), z (k-1)) to the servo system in the previous processing cycle and the command position (x (k-2),
y (k-2), z (k-2)), the moving amount ΔP (k-1) is obtained by the following equation (11).

【0040】[0040]

【数5】 (Equation 5)

【0041】次に、ステップST21において、パラメ
ータ計算部9が前記1処理周期前のパラメータ変化量Δ
t(k-1) と1処理周期間の指令位置の移動量ΔP(k-1)
から、次の式(12)によりパラメータ変化量と移動量
の比αを計算する。
Next, in step ST21, the parameter calculator 9 sets the parameter change amount Δ
t (k-1) and the movement amount ΔP (k-1) of the command position during one processing cycle
Then, the ratio α between the parameter change amount and the movement amount is calculated by the following equation (12).

【0042】 α=Δt(k-1) /ΔP(k-1) ・・・・・・・(12)Α = Δt (k−1) / ΔP (k−1) (12)

【0043】なお、この方式では、スプライン曲線の始
点でのパラメータ変化量と移動量の比αはパラメータ変
化量Δt(k-1) 、ΔP(k-1) が存在しないので求めるこ
とができない。従って始点での比αを求めるには、実施
の形態1の式(7)のように、微小パラメータΔt’変
化させた場合の移動量ΔP’を求め、それより当該比α
を計算しておく方法を用いる。
In this method, the ratio α between the parameter change amount and the movement amount at the start point of the spline curve cannot be obtained because the parameter change amounts Δt (k−1) and ΔP (k−1) do not exist. Therefore, in order to obtain the ratio α at the starting point, as shown in equation (7) of the first embodiment, the amount of movement ΔP ′ when the minute parameter Δt ′ is changed is obtained, and the ratio α
Is used.

【0044】また、上記実施の形態では、1処理周期前
のパラメータ変化量Δt(k-1) と移動量ΔP(k-1) を用
いて、パラメータ変化量と移動量の比αを計算したが、
数処理周期前のパラメータ変化量と移動量を用いて計算
してもよい。
Further, in the above embodiment, the ratio α between the parameter change amount and the movement amount is calculated using the parameter change amount Δt (k−1) and the movement amount ΔP (k−1) one processing cycle before. But,
The calculation may be performed using the parameter change amount and the movement amount before several processing cycles.

【0045】実施の形態3.次に、この発明の実施の形
態3を図について説明する。図6は、この発明の実施の
形態3による数値制御装置を示すブロック図である。図
において、1〜7は実施の形態1のそれらと同様の構成
であるためその説明は省略する。また、10はパラメー
タ計算部6で求めたパラメータが妥当であるか否かを判
断し、妥当でない場合にはパラメータを修正し、スプラ
イン曲線位置計算部7で求めるサーボ制御系への位置指
令を修正するパラメータ修正部である。
Embodiment 3 Next, a third embodiment of the present invention will be described with reference to the drawings. FIG. 6 is a block diagram showing a numerical control device according to Embodiment 3 of the present invention. In the figure, 1 to 7 have the same configurations as those of the first embodiment, and therefore the description thereof is omitted. Numeral 10 determines whether the parameters obtained by the parameter calculator 6 are valid, and if not, corrects the parameters, and corrects the position command to the servo control system obtained by the spline curve position calculator 7. This is a parameter correction unit.

【0046】次に動作について説明する。ここで、図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)により
求める。
Next, the operation will be described. Here, FIG.
Is a flowchart showing the flow of the operation, in step S
In T1 to ST9 and ST11, the same processing as that in FIG. 2 is performed, and the description thereof is omitted. In step ST30, similarly to step ST10 in FIG. 2, the position P (t (k-1) + Δtk) on the spline curve is calculated using equation (1) using the parameter change amount Δtk obtained in step ST9. The coordinate values (xk, yk, zk) are obtained. Next, in step ST31, the acceleration / deceleration control unit 5
Amount V during one processing cycle of command speed Vs output from
s * ΔTs, the command positions (x (k−1), y (k−1), z (k−1)) calculated in the previous processing cycle and the command positions (xk, yk, zk) and the difference β from the movement amount ΔPk of the command position during one processing cycle is determined by the following equation (13).

【0047】 β=Vs *ΔTs −ΔPk ・・・・・・・(13)Β = Vs * ΔTs−ΔPk (13)

【0048】ここで、この移動量の差βは速度誤差に対
応する値であり、パラメータ変化量Δtk の計算誤差に
より生じる。なお、移動量ΔPk は次の式(14)によ
り求める。
Here, the difference β of the movement amount is a value corresponding to the speed error, and is caused by a calculation error of the parameter change amount Δtk. The movement amount ΔPk is obtained by the following equation (14).

【0049】[0049]

【数6】 (Equation 6)

【0050】次にステップST32では、移動量の差β
が許容値以下であるか否かを判断する。差βが許容値以
下なら、処理はステップST34へ移り、そうでない場
合はステップST33に移る。なお、前記許容値はサー
ボ制御系が許容できる最大加速度等から決定される値で
ある。ステップST34では、ステップST31で求め
た前記指令位置(xk 、yk 、zk )をサーボ系の位置
指令として出力する。一方、ステップST34では、パ
ラメータ変化量Δtk を修正する。例えば、次の式(1
5)を用いて修正する。
Next, at step ST32, the difference β of the movement amount
Is determined to be less than or equal to the allowable value. If difference β is equal to or smaller than the allowable value, the process proceeds to step ST34; otherwise, the process proceeds to step ST33. The allowable value is a value determined from the maximum acceleration and the like that can be allowed by the servo control system. In step ST34, the command position (xk, yk, zk) obtained in step ST31 is output as a position command for the servo system. On the other hand, in step ST34, the parameter change amount Δtk is corrected. For example, the following equation (1
Correct using 5).

【0051】 Δtk =(Vs *ΔTs /ΔPk )*Δtk ・・・・・(15)Δtk = (Vs * ΔTs / ΔPk) * Δtk (15)

【0052】ここで修正されたパラメータ変化量Δtk
を用いて、再度ステップST30でスプライン曲線上の
位置を計算し、パラメータ変化量Δtk 、すなわち差β
が規定値以下となるまでステップST30〜ST33に
よる処理が繰り返し行われる。
The parameter variation Δtk corrected here
, The position on the spline curve is calculated again in step ST30, and the parameter change amount Δtk, that is, the difference β
Are repeated until the value becomes equal to or less than the specified value.

【0053】なお、この実施の形態のパラメータ修正方
法は、実施の形態2のパラメータ計算手法と組み合わせ
て用いれば、速度指令に応じたパラメータが簡単にしか
も正確に求められる。
When the parameter correction method according to the present embodiment is used in combination with the parameter calculation method according to the second embodiment, a parameter corresponding to a speed command can be easily and accurately obtained.

【0054】実施の形態4.次に、この発明の実施の形
態4を図について説明する。図8は、この発明の実施の
形態4による数値制御装置を示すブロック図である。図
において、1〜5および7は実施の形態1のそれらと同
様であるためその説明は省略する。また、11は速度指
令を減速するか否かの判断を後述の接続状態判断部に出
力する点で、図1に符号6を付した実施の形態1のもの
とは異なるパラメータ変換部である。12は軌跡指令が
複数のスプライン曲線で表されている場合、各スプライ
ン曲線間の接続状態が連続に接続されているか否かを判
断し、接続状態が連続であると判断すれば、スプライン
曲線の終点の位置を変更する接続状態判断部である。な
お、この接続状態判断部12による接続状態が連続であ
るか否かの判断は、例えば接続点での接線ベクトルの向
きと長さで判断することができる。また、軌跡指令がB
スプライン曲線で表現されている場合は、接続点付近で
の前記Bスプライン曲線を表現する制御点の位置関係か
ら判断することもできる。
Embodiment 4 Next, a fourth embodiment of the present invention will be described with reference to the drawings. FIG. 8 is a block diagram showing a numerical controller according to Embodiment 4 of the present invention. In the figure, 1 to 5 and 7 are the same as those of the first embodiment, and the description thereof is omitted. Reference numeral 11 denotes a parameter conversion unit different from that of the first embodiment, which is denoted by reference numeral 6 in FIG. 1 in that a determination as to whether or not to reduce the speed command is output to a connection state determination unit described later. 12, when the trajectory command is represented by a plurality of spline curves, it is determined whether or not the connection state between the spline curves is continuously connected. If it is determined that the connection state is continuous, the spline curve is determined. This is a connection state determination unit that changes the position of the end point. The determination as to whether or not the connection state is continuous by the connection state determination unit 12 can be made based on, for example, the direction and length of the tangent vector at the connection point. When the trajectory command is B
When represented by a spline curve, it can be determined from the positional relationship between control points representing the B-spline curve near the connection point.

【0055】次に動作について説明する。ここで、図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までの距離
が減速制御するのに十分でない場合である。
Next, the operation will be described. Here, FIG.
Is a flowchart showing the flow of the operation, in step S
In T1 to ST11, processes equivalent to those in FIG. 2 of the first embodiment are performed, and therefore description thereof is omitted. now,
As shown in FIGS. 10 and 11, it is assumed that the trajectory command is represented by two B-spline curves P1 (t) and P2 (t). P1s
Is the start point of P1 (t), P1e (t) is the end point of P1 (t), and P2s is P
The start point of 2 (t), P2e is the end point of P2 (t), and P1e and P2s
Are consistent. The trajectory command shown in FIGS. 10 and 11 is started from P1s, and moves at the speed command Vcom.
Stop at The points Pa and Pb are command positions on P1 (t), Pa is when the distance to the end point P1e of the spline curve P1 (t) is sufficient for deceleration control, and Pb is the spline curve P1. This is the case where the distance to the end point P1e in (t) is not sufficient for deceleration control.

【0056】例えば、現在の指令位置が前記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の処理へと移る。
For example, if the current command position is Pa, the distance between the current command position Pa and P1e is calculated in step ST3, it is determined in step ST4 that no deceleration operation is necessary, and the process proceeds to step ST5. Flows. But,
When the current command position has reached a position such as Pb, if it is determined in step ST4 that a deceleration operation is necessary, the process proceeds to step ST40, and it is determined whether or not there is a next trajectory command. If the next trajectory command does not exist, the process proceeds to step ST6, and if there is, the process proceeds to step ST41. In step ST41, it is determined whether the next trajectory command (P2 (t) in FIGS. 10 and 11) is continuously connected to the currently moving trajectory command (P1 (t) in FIGS. 10 and 11). The connection state determination unit 12 determines. if,
If it is determined that the connection is continuous as shown in FIG. 10, the process proceeds to step ST42. If it is determined that the connection is not continuous as shown in FIG. 11, the speed is reduced at the end point P1e of P1 (t).
The process of step ST6 is performed so as to stop. In step ST42, since the connection points are continuous, the end point is set as the end point P2e of the next trajectory command P2 (t), and in step ST3, the distance Le to the end point is calculated again by the following equation (16). Move on to processing.

【0057】[0057]

【数7】 (Equation 7)

【0058】ただし、現在の指令位置Pb の座標値を
(xb 、yb 、zb )、P2eの座標値を(x2e、y2e、
z2e)とする。
However, the coordinates of the current command position Pb are (xb, yb, zb), and the coordinates of P2e are (x2e, y2e,
z2e).

【0059】このように、スプライン曲線の軌跡指令の
接続状態を判断して終点の位置を変更し、速度制御を行
うので、軌跡指令が複数のスプライン曲線で表現されて
いる場合でも滑らかな補間制御を行うことができる。
As described above, the connection state of the trajectory command of the spline curve is determined, the position of the end point is changed, and the speed control is performed. Therefore, even when the trajectory command is expressed by a plurality of spline curves, smooth interpolation control is performed. It can be performed.

【0060】実施の形態5.次に、この発明の実施の形
態5を図について説明する。図12は、この発明の実施
の形態5による数値制御装置の構成を示すブロック図で
ある。図において、21はNURBS形式のスプライン
曲線を入力する曲線入力部である。なお、そのフォーマ
ットはGコード、IGES(イニシャル・グラフィクス
・エクスチェンジ・スペスィフィケーション;Initial
Graphics Exchange Specifcation)などの交換フォーマ
ットを入力形式にすればよく、この曲線入力部21によ
って当該数値制御装置内部に保管すべき曲線データが保
存されることとなる。22はこの曲線入力部21より入
力されたスプライン曲線の曲率を評価して、その結果を
内部データとして保存する曲率評価部であり、23は入
力されたスプライン曲線の曲線データ、曲率評価部22
で評価された曲率評価データ、および与えられた速度指
令値をもとにして、曲線の各位置における送り速度指令
を生成する速度指令生成部である。24はこの速度指令
生成部23で生成された送り速度指令の値に対応して、
各軸のパルス数を計算する加減速制御および補間部であ
る。
Embodiment 5 FIG. Next, a fifth embodiment of the present invention will be described with reference to the drawings. FIG. 12 is a block diagram showing a configuration of a numerical controller according to Embodiment 5 of the present invention. In the figure, reference numeral 21 denotes a curve input unit for inputting a NURBS spline curve. The format is G code, IGES (Initial Graphics Exchange Specification; Initial)
An exchange format such as Graphics Exchange Specifcation may be used as an input format, and the curve input unit 21 stores curve data to be stored inside the numerical controller. Reference numeral 22 denotes a curvature evaluator for evaluating the curvature of the spline curve input from the curve input unit 21 and storing the result as internal data. Reference numeral 23 denotes curve data of the input spline curve, a curvature evaluator 22.
Is a speed command generation unit that generates a feed speed command at each position on the curve based on the curvature evaluation data evaluated in step (1) and the given speed command value. 24 corresponds to the value of the feed speed command generated by the speed command generator 23,
An acceleration / deceleration control and interpolation unit that calculates the number of pulses for each axis.

【0061】次に動作について説明する。ここで、図1
3は当該数値制御装置の動作の流れの全体を示すフロー
チャートである。まず、ステップST51において、N
URBS曲線を複数の有理ベゼー曲線に変換する。次に
ステップST52において、それぞれの有理ベゼー曲線
の曲率の範囲を計算する。そして、最後にステップST
53にてそれぞれの有理ベゼー曲線における送り速度を
設定する。以降それぞれのステップST51〜ST53
に関し、その詳細を述べる。
Next, the operation will be described. Here, FIG.
3 is a flowchart showing the entire operation flow of the numerical control device. First, in step ST51, N
Convert a URBS curve into a plurality of rational Besee curves. Next, in step ST52, the range of curvature of each rational Besee curve is calculated. And finally, step ST
At 53, the feed speed in each rational Bethey curve is set. Thereafter, the respective steps ST51 to ST53
Is described in detail.

【0062】ここで、NURBS曲線は一般に次の式
(17)のように表現される。
Here, the NURBS curve is generally represented by the following equation (17).

【0063】[0063]

【数8】 (Equation 8)

【0064】なお、この式(17)においても、BSi,
n(t)はBスプライン関数、di は三次元空間中の制御点
であり、wi は重みである。この制御点di および重み
wiを変えることによって、曲線形状を変えることがき
る。一方、曲線の曲率kは次の式(18)で表現され
る。
Note that also in this equation (17), BSi,
n (t) is a B-spline function, di is a control point in a three-dimensional space, and wi is a weight. By changing the control points di and the weights wi, the curve shape can be changed. On the other hand, the curvature k of the curve is expressed by the following equation (18).

【0065】[0065]

【数9】 (Equation 9)

【0066】ここで、上記式(18)におけるP′はN
URBS曲線を示す式(17)の1次導関数であり、
P″は同じく2次導関数である。
Here, P ′ in equation (18) is N
A first derivative of equation (17) showing the URBS curve,
P ″ is also the second derivative.

【0067】今、図14に示すようなNURBS曲線が
与えられたとする。図中の記号A〜Hはそれぞれ曲線上
の位置を示している。この図14に示したNURBS曲
線の曲率の変化を示したものが図15である。この図1
5では横軸にパラメータを、縦軸に曲率をとって、点A
から点Hまでの各点に対応して曲率がどのように変化し
ているかを示したものであり、それをもとに送り速度を
設定することになる。
Assume that a NURBS curve as shown in FIG. 14 is given. Symbols A to H in the figure each indicate a position on the curve. FIG. 15 shows a change in the curvature of the NURBS curve shown in FIG. This figure 1
In FIG. 5, the parameter is plotted on the horizontal axis and the curvature is plotted on the vertical axis.
It shows how the curvature changes corresponding to each point from to the point H, and the feed speed is set based on that.

【0068】ここで、図16は曲率評価部22における
処理手順の一例を示すフローチャートである。まず、ス
テップST61にてパラメータtの値の初期設定を行
い、次にステップST62において曲率kの計算をす
る。得られた曲率kは与えられた指令速度Fs で送るこ
とが可能か否かがステップST63で判定され、与えら
れた指令速度では補間できない速度低減の必要なパラメ
ータ区間を登録してゆく。以下、ステップST65でパ
ラメータtを所定ピッチΔtずつインクリメントしなが
ら、ステップST66においてパラメータtがその最大
値を超えたことが検出されるまで、ステップST62〜
ST66の処理が繰り返される。
FIG. 16 is a flowchart showing an example of a processing procedure in the curvature evaluator 22. First, the value of the parameter t is initialized in step ST61, and then the curvature k is calculated in step ST62. It is determined in step ST63 whether or not the obtained curvature k can be sent at the given command speed Fs, and a parameter section that requires interpolation and cannot be interpolated at the given command speed is registered. Hereinafter, while the parameter t is incremented by a predetermined pitch Δt in step ST65, steps ST62 to ST62 are repeated until it is detected in step ST66 that the parameter t has exceeded its maximum value.
The process of ST66 is repeated.

【0069】これによって、図15に示した例において
は、補間できないパラメータ区間であるBC、DE、F
Gがそれぞれパラメータtb からtc 、td からte 、
tfからtg というように登録されてゆくことになる。
なお、この方法の欠点はパラメータをインクリメントす
るピッチによって曲率が評価できないことがある可能性
が生ずるという点と、パラメータの最小値から最大値ま
で多数の点で調べあげなければならず、前処理演算に時
間がかかる点にある。
As a result, in the example shown in FIG. 15, BC, DE, F
G is the parameter tb to tc, td to te,
It will be registered from tf to tg.
The disadvantages of this method are that the curvature may not be able to be evaluated depending on the pitch at which the parameter is incremented, and that the number of points from the minimum value to the maximum value of the parameter must be examined. It takes time.

【0070】図17は曲率評価部22における処理手段
の他の例を示したフローチャートを示したものであり、
NURBS曲線を複数の有理ベゼー曲線に変換し、それ
ぞれの有理ベゼー曲線において曲率の取り得る範囲を演
算する。この方法について詳しく述べる。一般に、有理
ベゼー曲線は次の式(19)のように表現される。
FIG. 17 is a flowchart showing another example of the processing means in the curvature evaluator 22.
The NURBS curve is converted into a plurality of rational Bethey curves, and a range in which the curvature can be obtained in each rational Bethey curve is calculated. This method will be described in detail. Generally, a rational Bethey curve is expressed as in the following equation (19).

【0071】[0071]

【数10】 (Equation 10)

【0072】一方、曲線の曲率kは前述のように式(1
8)で表現されるが、式(19)を代入することによ
り、この有理ベゼー曲線の曲率は次の式(20)の形に
変形できる。
On the other hand, the curvature k of the curve is calculated by the equation (1) as described above.
Although expressed by 8), by substituting equation (19), the curvature of this rational Bethey curve can be transformed into the following equation (20).

【0073】[0073]

【数11】 [Equation 11]

【0074】この式(20)の絶対値記号で囲まれた式
はすべてベゼー式で表現することができ、次の式(2
1)のように表現できる。
All the expressions surrounded by the absolute value symbols in the expression (20) can be expressed by the Beze expression, and the following expression (2)
It can be expressed as 1).

【0075】[0075]

【数12】 (Equation 12)

【0076】ところでベゼー式で表現された式は凸閉包
性を有している。図18は凸閉包性について説明するた
めの説明図である。ベゼー曲線の制御点が図18のよう
にQ0 からQ6 によって表されているとしよう。このと
き曲線CVは制御点Q0 からQ6 の作る凸体V1の中に
必ず存在するという性質のことを凸閉包性という。この
性質を使用すれば、曲線CVの絶対値の取りうる範囲を
知ることが可能である。従って、この性質を利用すれ
ば、有理ベゼー曲線の曲率は式(21)のA、B、Cの
各式がベゼー式になっていることを使って曲率kの取り
うる範囲を知ることができる。すなわち、次の式(2
2)のkmin およびkmax を得ることができる。
Incidentally, the expression expressed by the Besee equation has a convex hull property. FIG. 18 is an explanatory diagram for explaining the convex closure property. Suppose that the control points of the Besee curve are represented by Q0 to Q6 as shown in FIG. At this time, the property that the curve CV always exists in the convex body V1 formed by the control points Q0 to Q6 is called convex hull. If this property is used, it is possible to know the range of the absolute value of the curve CV. Therefore, if this property is used, the range of the curvature k can be known by using the fact that each of A, B, and C in the equation (21) is a Bethey equation. . That is, the following equation (2)
2) kmin and kmax can be obtained.

【0077】 kmin ≦k≦kmax ・・・・・・・・・(22)Kmin ≦ k ≦ kmax (22)

【0078】ここで、このkmin およびkmax の曲率k
の最小値および最大値よりもそれぞれ小さめおよび大き
めに得られるが、曲線の大局的な性質を知る上では有用
な特性値であるといえる。以上のように曲率の特性値k
min およびkmax は制御点だけから得られるため、前述
の方法と比較して演算が速くなるという利点がある。
Here, the curvature k of the kmin and kmax
Can be obtained smaller and larger than the minimum value and the maximum value, respectively, but can be said to be useful characteristic values for knowing the global nature of the curve. As described above, the curvature characteristic value k
Since min and kmax can be obtained only from the control points, there is an advantage that the calculation is faster as compared with the above method.

【0079】次に、この曲率評価部22の処理結果をも
とに、速度指令生成部23にて速度指令を生成する。図
19は速度指令生成部23の処理手順を示すフローチャ
ートである。まず、ステップST81でトレランスτ、
kmax およびサンプル時間ΔTから最高速度Fmax を求
める。図20に示すように、曲率kとトレランスτおよ
び補間線分長Δlとの間の関係は次の式(23)で表現
できる。
Next, a speed command is generated by a speed command generator 23 based on the processing result of the curvature evaluator 22. FIG. 19 is a flowchart illustrating a processing procedure of the speed command generation unit 23. First, in step ST81, tolerance τ,
The maximum speed Fmax is determined from kmax and the sample time ΔT. As shown in FIG. 20, the relationship between the curvature k, the tolerance τ, and the interpolated line segment length Δl can be expressed by the following equation (23).

【0080】[0080]

【数13】 (Equation 13)

【0081】したがって、サンプル時間をΔTとすれば
トレランスτを保証するに必要な速度の最大値Fmax は
次の式(24)で得られる。
Therefore, assuming that the sampling time is ΔT, the maximum value Fmax of the speed required to guarantee the tolerance τ can be obtained by the following equation (24).

【0082】[0082]

【数14】 [Equation 14]

【0083】次のステップST82では、与えられた速
度指令値Fs と比較し、ステップST83およびST8
4で値の小さいものを選んで実際の送り速度Fを決定す
る。図21はこのようにして得られた速度指令の一例を
示す説明図である。区間AB、区間CD、区間EFおよ
び区間GHでは与えられた指令速度Fs が取られ、区間
BCと区間FGでは速度F1が取られ、区間DEでは速
度F2が取られる。このように、速度指令生成部23に
おいては、パラメータ範囲として示された区間と、その
区間での走行速度を求めることになる。
In the next step ST82, the speed is compared with the given speed command value Fs, and the steps ST83 and ST8 are performed.
In step 4, a small value is selected to determine the actual feed speed F. FIG. 21 is an explanatory diagram showing an example of the speed command thus obtained. In the section AB, the section CD, the section EF, and the section GH, the given command speed Fs is taken, the section F is taken in the section BC and the section FG, and the speed F2 is taken in the section DE. As described above, the speed command generator 23 obtains the section indicated as the parameter range and the traveling speed in that section.

【0084】図22は得られた速度指令をもとに、加減
速制御および補間部24の処理について説明するための
説明図である。加減速制御および補間部24は与えられ
た加速度を超えないように、指令速度パターンをもとに
実際にサーボ系へ送り出すパルスを生成することにな
る。この加減速制御および補間部24への入力データ
は、曲線の区間と指令速度、前後の指令速度と許容加速
度である。その区間における速度がその前の区間の速度
より速い場合は所定加速度を超えない範囲で加速制御を
行う。また、その区間における速度がその後の区間の速
度より速い場合は所定加速度を越えない範囲で減速制御
を行う。この減速制御においては区間終了点に行き着く
ようにその点と現在地点との距離を毎回チェックしなが
ら速度の低減処理を行ってゆく。
FIG. 22 is an explanatory diagram for explaining the processing of the acceleration / deceleration control and the interpolation unit 24 based on the obtained speed command. The acceleration / deceleration control / interpolation unit 24 generates pulses to be actually sent to the servo system based on the command speed pattern so as not to exceed the given acceleration. The input data to the acceleration / deceleration control and interpolation unit 24 are the section of the curve and the command speed, the command speed before and after, and the allowable acceleration. When the speed in the section is higher than the speed in the preceding section, acceleration control is performed within a range not exceeding a predetermined acceleration. If the speed in that section is higher than the speed in the subsequent section, deceleration control is performed within a range not exceeding a predetermined acceleration. In this deceleration control, speed reduction processing is performed while checking the distance between the point and the current point each time so as to reach the section end point.

【0085】実施の形態6.次に、この発明の実施の形
態6を図について説明する。図23は、この発明の実施
の形態6による数値制御装置を示すブロック図である。
図において、21は位置指令値がNURBS曲線の形式
で表現されて入力される、図12に同一符号を付したも
のと同等の曲線入力部である。また、25はこの曲線入
力部21より入力されたNURBS曲線を複数の有理ベ
ゼー曲線に変換する曲線変換部であり、26はこの曲線
変換部25によって変換された各有理ベゼー曲線を補間
する有理ベゼー曲線補間部である。
Embodiment 6 FIG. Next, a sixth embodiment of the present invention will be described with reference to the drawings. FIG. 23 is a block diagram showing a numerical control device according to Embodiment 6 of the present invention.
In the figure, reference numeral 21 denotes a curve input unit equivalent to the one designated by the same reference numeral in FIG. 12 to receive and input a position command value in the form of a NURBS curve. Reference numeral 25 denotes a curve conversion unit for converting the NURBS curve input from the curve input unit 21 into a plurality of rational Bezer curves, and reference numeral 26 denotes a rational Bezer curve for interpolating each rational Bezer curve converted by the curve converter 25. This is a curve interpolation unit.

【0086】次に動作について説明する。ここで、図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曲線より変換さ
れた複数の有理ベゼー曲線は順番に補間処理され、全て
の有理ベゼー曲線の補間処理が済むと一連の処理は終了
する。
Next, the operation will be described. Here, FIG.
FIG. 4 is a flowchart showing a flow of processing of the numerical control device according to the sixth embodiment. First, the curve conversion unit 25
In step ST91, the NURBS curve to be interpolated, which has been input from the curve input unit 21, is once converted into a plurality of rational Besee curves, and is output to the rational Besee curve interpolator 26. The rational Besee curve interpolating unit 26 having received it sets the ratio i of the rational Besee curve to the initial value 1 in step ST92, and then executes the interpolation process of the i-th rational Besee curve in step ST93. Hereinafter, step ST
While incrementing i by 1 at step 94, step S
Until it is detected at T95 that the i has become equal to the number of rational Besee curves sent from the curve conversion unit 21,
Steps ST93 to ST95 are repeated. In this way, the plurality of rational Besee curves converted from the NURBS curve by the curve conversion unit 25 are sequentially subjected to the interpolation process, and a series of processes ends when the interpolation process of all the rational Besee curves is completed.

【0087】ここで、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)のように表現される。
Here, the NURBS curve is expressed by control points and knot vectors, and the rational Bethey curve is expressed only by control points. In the case of a cubic equation, the NURBS curve is converted into a plurality of rational Bethey curves as follows. That is, the control point (vertex coordinate value) of the NURBS curve
Are d0, d1,... DL + 2, and weights are w0, w1,.
... WL + 2, the knot vector is given by u0, u1,... UL, and when Δ0 to ΔL are defined as Δi = ui + 1−ui, the plurality of rational Bethey curves are i = 1 to L−
1 is expressed as in the following equation (25).

【0088】[0088]

【数15】 (Equation 15)

【0089】ここで、上記式(25)におけるb3i,b
3i-1 ,b3i-2 は有理ベゼー曲線の制御点であり、ま
た、v3i,v3i-1 ,v3i-2 は各有理ベゼー曲線の重み
で、次の式(26)によって与えられる。
Here, b3i, b in the above equation (25)
3i-1 and b3i-2 are the control points of the rational Bethey curve, and v3i, v3i-1 and v3i-2 are the weights of the rational Bethey curves and are given by the following equation (26).

【0090】[0090]

【数16】 (Equation 16)

【0091】なお、上記式(26)のΔは、Δ=Δi-2
+Δi-1 +Δi である。また、i=0およびi=Lの場
合、すなわち、最初と最後は次の式(27)および式
(28)で示すものとなる。
Note that Δ in the above equation (26) is Δ = Δi−2
+ Δi-1 + Δi. In the case of i = 0 and i = L, that is, the first and last are represented by the following Expressions (27) and (28).

【0092】[0092]

【数17】 [Equation 17]

【数18】 (Equation 18)

【0093】これら式(27),(28)における、v
0 ,v1 ,v2 およびv3L-2,v3L-1,v3Lは次の式
(29)および式(30)で示すものとなる。
In these equations (27) and (28), v
0, v1, v2 and v3L-2, v3L-1, v3L are represented by the following equations (29) and (30).

【0094】[0094]

【数19】 [Equation 19]

【数20】 (Equation 20)

【0095】このような変換は図25に示したように、
NURBS曲線の制御点d0 からd5 を有理ベゼー曲線
の制御点b0 からb9 に変換するもので、b0 からb3
、b3 からb6 、b6 からb9 のそれぞれの制御点の
組が、図26に示したCV1、CV2、CV3の3本の
有理ベゼー曲線になる。
Such a conversion is performed as shown in FIG.
The control points d0 to d5 of the NURBS curve are converted into the control points b0 to b9 of the rational Besee curve, and b0 to b3
, B3 to b6, and b6 to b9 become three rational Bethey curves CV1, CV2, and CV3 shown in FIG.

【0096】このような変換が行われた後、この実施の
形態6による数値制御装置においては、有理ベゼー曲線
を補間する機能を有した有理ベゼー曲線補間部26を備
えているため、NURBS曲線を直接補間制御するのと
同様な効果が得られる。なお、この有理ベゼー曲線補間
部26による補間は、実施の形態5の説明で述べた方法
によって実現することができる。このようにNURBS
曲線を有理ベゼー曲線に変換して補間するものであるた
め、重たいNURBS曲線の演算をする必要がなくな
り、NURBS補間の処理を高速に行うことができる数
値制御装置を実現できる。
After such a conversion is performed, the numerical controller according to the sixth embodiment includes the rational Bezier curve interpolation unit 26 having a function of interpolating the rational Bezey curve. The same effect as the direct interpolation control can be obtained. Note that the interpolation by the rational Besee curve interpolating unit 26 can be realized by the method described in the description of the fifth embodiment. Thus NURBS
Since the curve is converted into a rational Bezier curve and interpolated, there is no need to calculate a heavy NURBS curve, and a numerical control device capable of performing NURBS interpolation at high speed can be realized.

【0097】なお、この実施の形態6はNURBS曲線
に対しても適用されることは言うまでもない。
It goes without saying that Embodiment 6 is also applied to a NURBS curve.

【0098】実施の形態7.次に、この発明の実施の形
態7を図について説明する。図27は、この発明の実施
の形態7による数値制御装置を示すブロック図である。
図において、27は従来から使用されてきたGコードに
よる直線指令、円弧指令、楕円指令などが入力されてき
た場合には、入力された位置指令のデータをNURBS
曲線の形式に変換して曲率評価部22へ入力する指令変
換部である。なお、他の部分については、図12の相当
部分と同一の符号を付してその説明を省略する。
Embodiment 7 FIG. Next, a seventh embodiment of the present invention will be described with reference to the drawings. FIG. 27 is a block diagram showing a numerical control apparatus according to Embodiment 7 of the present invention.
In the figure, reference numeral 27 denotes NURBS when a linear command, an arc command, an elliptical command, or the like using a conventionally used G code is input.
This is a command conversion unit that converts the data into a curve format and inputs the converted data to the curvature evaluation unit 22. The other parts are denoted by the same reference numerals as the corresponding parts in FIG. 12, and the description thereof is omitted.

【0099】次に動作について説明する。位置指令のデ
ータがNURBS曲線の形式で入力された場合、曲線入
力部21でそれを受け取って曲率評価部22に入力す
る。一方、位置指令が従来から使用されてきたGコード
による直線指令、円弧指令、楕円指令などで入力されて
きた場合には、それを指令変換部27に入力してその位
置指令のデータをNURBS曲線の形式に一旦変換して
から曲率評価部22へ入力する。以降の処理は実施の形
態5で説明したものと同等に進行するため、その説明は
省略する。これにより、Gコードなどの既存のNCコー
ドとの互換性を保つことが可能となり、内部処理を一元
化することもできる。
Next, the operation will be described. When the position command data is input in the form of a NURBS curve, the data is received by the curve input unit 21 and input to the curvature evaluator 22. On the other hand, when a position command is input as a linear command, an arc command, an elliptical command, or the like using a conventionally used G code, the command is input to the command conversion unit 27 and the data of the position command is converted into a NURBS curve. And then input to the curvature evaluator 22. Subsequent processing proceeds in the same manner as described in the fifth embodiment, and a description thereof will not be repeated. This makes it possible to maintain compatibility with existing NC codes such as G codes, and also to unify internal processing.

【0100】実施の形態8.次に、この発明の実施の形
態8を図について説明する。図28は、この発明の実施
の形態8による数値制御装置を示すブロック図である。
図において、31は補間処理を速度優先と精度優先のい
ずれで実行するかを指令する選択情報が入力される選択
情報入力部であり、32は速度優先を指定する選択情報
が入力された場合に、単位時間の移動量が一定となるよ
うな補間制御を選択する速度優先選択部、33は精度優
先を指定する選択情報が入力された場合に、トレランス
を保証する補間制御を選択する精度優先選択部である。
34はこれら速度優先選択部32あるいは精度優先選択
部33によって選択された補間制御に従ってスプライン
曲線の補間処理を実行する曲線補間部である。
Embodiment 8 FIG. Next, an eighth embodiment of the present invention will be described with reference to the drawings. FIG. 28 is a block diagram showing a numerical controller according to Embodiment 8 of the present invention.
In the figure, reference numeral 31 denotes a selection information input unit for inputting selection information for instructing whether to perform interpolation processing with speed priority or accuracy priority. Reference numeral 32 denotes a case where selection information designating speed priority is input. A speed priority selection unit for selecting interpolation control such that the amount of movement per unit time is constant; a precision priority selection unit for selecting interpolation control for guaranteeing tolerance when selection information for designating accuracy priority is input; Department.
Reference numeral 34 denotes a curve interpolating unit that executes a spline curve interpolation process in accordance with the interpolation control selected by the speed priority selecting unit 32 or the accuracy priority selecting unit 33.

【0101】次に動作について説明する。ここで、図2
9はこの実施の形態8による数値制御装置の全体動作の
流れを示すフローチャート、図30はそのスプライン補
間処理の手順を示すフローチャートであり、図31はそ
の言語入力の一例を示す説明図である。この図31に示
したシーケンス番号004のGコード“G9.0”は精
度優先モードを指令する選択情報としての精度優先コー
ドであり、シーケンス番号010のGコード“G9.
1”は速度優先モードを指令する選択情報としての速度
優先コードである。すなわち、シーケンス番号004の
“G9.0”以降で精度優先モードに入り、シーケンス
番号010の“G9.1”以降で速度優先モードに入
る。なお、何も設定されていない場合にはデフォルトで
精度優先となる。
Next, the operation will be described. Here, FIG.
9 is a flowchart showing the flow of the overall operation of the numerical controller according to the eighth embodiment, FIG. 30 is a flowchart showing the procedure of the spline interpolation process, and FIG. 31 is an explanatory diagram showing an example of the language input. The G code “G9.0” of sequence number 004 shown in FIG. 31 is a precision priority code as selection information for instructing the precision priority mode, and the G code “G9.
“1” is a speed priority code as selection information for instructing the speed priority mode, ie, enters the precision priority mode after “G9.0” of sequence number 004, and enters the speed priority mode after “G9.1” of sequence number 010. Enter priority mode.If nothing is set, priority is given to precision by default.

【0102】図29に示すように、処理が開始されると
ステップST101において、まずプログラムを一行ず
つ読み込んでゆく。次いで、読み込んだコードが速度優
先コードであるか否かをステップST102で、精度優
先コードであるか否かをステップST103でそれぞれ
判定し、速度優先コードであればステップST104で
内部変数cnt1を“0”に、精度優先コードであれば
ステップST105で内部変数cnt1を“1”にす
る。また、そのいずれでもなかった場合には、ステップ
ST106においてそれがスプライン補間コードである
か否かの判定を行い、スプライン補間コードでなければ
ステップST107で通常のコード処理を実行し、スプ
ライン補間コードであればステップST108でスプラ
イン補間処理を実行する。
As shown in FIG. 29, when the processing is started, in step ST101, the program is first read line by line. Next, it is determined in step ST102 whether or not the read code is a speed priority code, and in step ST103 whether or not the read code is an accuracy priority code. If the read code is a speed priority code, the internal variable cnt1 is set to “0” in step ST104. If it is an accuracy priority code, the internal variable cnt1 is set to "1" in step ST105. If neither of the above is true, it is determined in step ST106 whether or not it is a spline interpolation code. If not, normal code processing is executed in step ST107, and the spline interpolation code is used. If there is, spline interpolation processing is executed in step ST108.

【0103】スプライン補間処理が開始されると、まず
図30のステップST111において、内部変数cnt
1が“0”であるか否かの判定が行われる。その結果、
内部変数cnt1が“0”であればステップST112
で、速度優先選択部32によって単位時間の移動量が一
定となるような速度優先の補間制御が選択され、曲線補
間部34はそれに基づいて速度優先によるスプライン曲
線の補間処理を実行する。一方、内部変数cnt1が
“1”であればステップST113で、精度優先選択部
33によってトレランスを保証する補間制御が選択さ
れ、曲線補間部34はそれに基づいて精度優先によるス
プライン曲線の補間処理を実行する。
When the spline interpolation process is started, first, in step ST111 in FIG. 30, the internal variable cnt
It is determined whether 1 is “0”. as a result,
If the internal variable cnt1 is “0”, step ST112
Then, the speed priority selection unit 32 selects speed-priority interpolation control so that the moving amount per unit time is constant, and the curve interpolation unit 34 executes speed-priority spline curve interpolation processing based on the selection. On the other hand, if the internal variable cnt1 is “1”, in step ST113, the interpolation control for guaranteeing the tolerance is selected by the accuracy priority selection unit 33, and the curve interpolation unit 34 executes the interpolation process of the spline curve by giving priority to the accuracy based on the selection. I do.

【0104】なお、精度優先による補間処理の具体的な
方法は、実施の形態1で説明した方法によって実現でき
る。また、速度優先による補間処理は、単位時間に移動
すべき距離を求め、その距離に対応するパラメータの増
分値を求めて位置指令値を出力することによって実現で
きる。
Note that a specific method of interpolation processing with priority on accuracy can be realized by the method described in the first embodiment. Further, the interpolation process with priority on speed can be realized by obtaining a distance to be moved per unit time, obtaining an increment value of a parameter corresponding to the distance, and outputting a position command value.

【0105】以上のように、この実施の形態8の数値制
御装置によれば、入力された速度優先モードを指令する
選択情報と精度優先モードを指令する選択情報により、
スプライン曲線の補間処理の種類を作業者が選択できる
ようになる。
As described above, according to the numerical controller of the eighth embodiment, the input selection information for instructing the speed priority mode and the selection information for instructing the precision priority mode are based on the input selection information.
The operator can select the type of the spline curve interpolation processing.

【0106】[0106]

【発明の効果】以上のように、この発明によれば、曲線
入力部より入力されたスプライン曲線の曲率の評価を行
う曲率評価部と、該曲率評価部で評価された曲率をもと
に送り速度指令を生成する速度指令生成部とを備えるよ
うに構成したので、入力されたスプライン曲線の曲率の
評価結果をもとに送り速度指令が生成され、与えられた
曲線の曲がり具合によって補間速度が制御されて加工後
の精度を向上させることが可能となり、さらに無理な加
減速も防止できるようになって工作機械の異常振動を低
減できるという効果を奏する。
As described above, according to the present invention, a curvature estimating section for evaluating the curvature of a spline curve input from a curve input section, and a feed based on the curvature evaluated by the curvature estimating section. And a speed command generation unit that generates a speed command, so that a feed speed command is generated based on the evaluation result of the curvature of the input spline curve, and the interpolation speed is determined by the degree of curvature of the given curve. It is possible to improve the accuracy after processing by being controlled, and it is also possible to prevent unreasonable acceleration / deceleration, thereby providing an effect that abnormal vibration of the machine tool can be reduced.

【0107】この発明によれば、曲線評価部がパラメー
タを所定のピッチで変化させながらスプライン曲線の曲
率を評価する機能を有するように構成したので、曲率の
評価が容易となって機械工作の高速化を図れるという効
果を奏する。
According to the present invention, the curve evaluator is configured to have a function of evaluating the curvature of the spline curve while changing the parameter at a predetermined pitch, so that the curvature can be easily evaluated and the speed of machining can be increased. This has the effect of realizing the conversion.

【0108】この発明によれば、曲率評価部がスプライ
ン曲線を複数の有理ベゼー曲線に変換する機能と、変換
後の各有理ベゼー曲線についてその曲率を評価する機能
とを有するように構成したので、スプライン曲線を複数
の有理ベゼー曲線に変換してその各々について曲率を評
価できるから、曲率の評価に要する処理時間を短縮で
き、機械工作の高速化を図れるという効果を奏する。
According to the present invention, the curvature estimating unit is configured to have a function of converting a spline curve into a plurality of rational Bezier curves and a function of evaluating the curvature of each converted Bezier curve. Since the spline curve can be converted into a plurality of rational Bezier curves and the curvature can be evaluated for each of them, the processing time required for the curvature evaluation can be reduced and the speed of machining can be increased.

【0109】この発明によれば、曲率評価部がスプライ
ン曲線を複数の有理ベゼー曲線に変換する機能と、変換
後の各有理ベゼー曲線の制御点に基づいてスプライン曲
線の曲率を評価する機能とを有するように構成したの
で、曲率の評価に要する処理時間をさらに短縮すること
が可能となり、機械工作の高速化を図れるという効果を
奏する。
According to the present invention, the curvature estimating unit has a function of converting a spline curve into a plurality of rational Bezier curves and a function of evaluating the curvature of the spline curve based on the control points of each converted Bezier curve. With such a configuration, it is possible to further reduce the processing time required for the evaluation of the curvature, and it is possible to increase the speed of machining.

【0110】速度指令生成部が、与えられたスプライン
曲線の各点における曲率、スプライン曲線と補間後の線
分との間の許容誤差、および補間単位時間より前記各点
の速度を求める機能と、得られた前記各点の速度を与え
られた速度指令値と比較して、与えられた速度指令値の
ほうが小さな区間ではスプライン上の速度に当該速度指
令値を設定する機能とを有するように構成したので、パ
ラメータ範囲として示された各区間での走行速度を適切
に設定でき、機械工作の高精度化を図れるという効果を
奏する。
A speed command generation unit for calculating a curvature at each point of the given spline curve, an allowable error between the spline curve and the interpolated line segment, and a speed of each point from the interpolation unit time; The obtained speed of each point is compared with a given speed command value, and in a section where the given speed command value is smaller, a function of setting the speed command value to the speed on the spline is provided. As a result, the traveling speed in each section indicated as the parameter range can be set appropriately, and the effect of achieving higher precision in machining can be achieved.

【図面の簡単な説明】[Brief description of the drawings]

【図1】 この発明の実施の形態1による数値制御装置
を示すブロック図である。
FIG. 1 is a block diagram showing a numerical control device according to a first embodiment of the present invention.

【図2】 上記実施の形態の動作の流れを示すフローチ
ャートである。
FIG. 2 is a flowchart showing a flow of an operation of the embodiment.

【図3】 上記実施の形態におけるスプライン曲線の一
例を示す説明図である。
FIG. 3 is an explanatory diagram showing an example of a spline curve in the embodiment.

【図4】 この発明の実施の形態2による数値制御装置
を示すブロック図である。
FIG. 4 is a block diagram showing a numerical control device according to a second embodiment of the present invention.

【図5】 上記実施の形態の動作の流れを示すフローチ
ャートである。
FIG. 5 is a flowchart showing a flow of the operation of the embodiment.

【図6】 この発明の実施の形態3による数値制御装置
を示すブロック図である。
FIG. 6 is a block diagram showing a numerical control device according to a third embodiment of the present invention.

【図7】 上記実施の形態の動作の流れを示すフローチ
ャートである。
FIG. 7 is a flowchart showing a flow of the operation of the embodiment.

【図8】 この発明の実施の形態4による数値制御装置
を示すブロック図である。
FIG. 8 is a block diagram showing a numerical controller according to Embodiment 4 of the present invention.

【図9】 上記実施の形態の動作の流れを示すフローチ
ャートである。
FIG. 9 is a flowchart showing a flow of the operation of the embodiment.

【図10】 上記実施の形態におけるスプライン曲線の
一例を示す説明図である。
FIG. 10 is an explanatory diagram showing an example of a spline curve in the embodiment.

【図11】 上記実施の形態におけるスプライン曲線の
他の例を示す説明図である。
FIG. 11 is an explanatory diagram showing another example of a spline curve in the embodiment.

【図12】 この発明の実施の形態5による数値制御装
置を示すブロック図である。
FIG. 12 is a block diagram showing a numerical control device according to a fifth embodiment of the present invention.

【図13】 上記実施の形態の全体動作の流れを示すフ
ローチャートである。
FIG. 13 is a flowchart showing a flow of an overall operation of the embodiment.

【図14】 上記実施の形態におけるNURBS曲線の
一例を示す説明図である。
FIG. 14 is an explanatory diagram showing an example of a NURBS curve in the embodiment.

【図15】 上記NURBS曲線の曲率の変化を示す説
明図である。
FIG. 15 is an explanatory diagram showing a change in curvature of the NURBS curve.

【図16】 上記実施の形態の曲率評価部の動作の一例
を示すフローチャートである。
FIG. 16 is a flowchart illustrating an example of an operation of the curvature evaluation unit according to the embodiment.

【図17】 上記曲率評価部の動作の他の例を示すフロ
ーチャートである。
FIG. 17 is a flowchart showing another example of the operation of the curvature evaluation unit.

【図18】 上記実施の形態における有理ベゼー曲線の
凸閉包性について説明するための説明図である。
FIG. 18 is an explanatory diagram for describing the convex hull property of a rational Bethey curve in the above embodiment.

【図19】 上記実施の形態の速度指令生成部の動作の
流れを示すフローチャートである。
FIG. 19 is a flowchart showing a flow of an operation of a speed command generator according to the embodiment.

【図20】 曲率とトレランスおよび補間線分長の関係
を示す説明図である。
FIG. 20 is an explanatory diagram showing a relationship between a curvature, a tolerance, and an interpolation line segment length.

【図21】 上記実施の形態の速度指令生成部が生成す
る速度指令の一例を示す説明図である。
FIG. 21 is an explanatory diagram illustrating an example of a speed command generated by a speed command generator according to the above embodiment.

【図22】 上記実施の形態の加減速制御および補間部
における上記速度指令に基づく動作を説明するための説
明図である。
FIG. 22 is an explanatory diagram for explaining an operation based on the speed command in the acceleration / deceleration control and interpolation unit of the embodiment.

【図23】 この発明の実施の形態6による数値制御装
置を示すブロック図である。
FIG. 23 is a block diagram showing a numerical controller according to Embodiment 6 of the present invention.

【図24】 上記実施の形態の動作の流れを示すフロー
チャートである。
FIG. 24 is a flowchart showing a flow of the operation of the embodiment.

【図25】 上記実施の形態におけるNURBS曲線か
ら有理ベゼー曲線への変換を示す説明図である。
FIG. 25 is an explanatory diagram showing a conversion from a NURBS curve to a rational Besee curve in the embodiment.

【図26】 変換された上記有理ベゼー曲線を示す説明
図である。
FIG. 26 is an explanatory diagram showing the converted rational Besee curve.

【図27】 この発明の実施の形態7による数値制御装
置を示すブロック図である。
FIG. 27 is a block diagram showing a numerical control device according to Embodiment 7 of the present invention.

【図28】 この発明の実施の形態8による数値制御装
置を示すブロック図である。
FIG. 28 is a block diagram showing a numerical controller according to Embodiment 8 of the present invention.

【図29】 上記実施の形態の全体動作の流れを示すフ
ローチャートである。
FIG. 29 is a flowchart showing the flow of the overall operation of the embodiment.

【図30】 上記実施の形態のスプライン補間処理の流
れを示すフローチャートである。
FIG. 30 is a flowchart showing a flow of a spline interpolation process according to the embodiment.

【図31】 上記実施の形態の言語入力の一例を示す説
明図である。
FIG. 31 is an explanatory diagram showing an example of language input according to the embodiment.

【図32】 従来の数値制御装置を示すブロック図であ
る。
FIG. 32 is a block diagram showing a conventional numerical control device.

【符号の説明】[Explanation of symbols]

21 曲線入力部、22 曲率評価部、23 速度指令
生成部
21 Curve input unit, 22 Curvature evaluation unit, 23 Speed command generation unit

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 位置指令をスプライン曲線の形式で入力
する曲線入力部と、前記曲線入力部より入力されたスプ
ライン曲線の曲率の評価を行う曲率評価部と、前記曲率
評価部で評価された曲率をもとに送り速度指令を生成す
る速度指令生成部とを備えた数値制御装置。
1. A curve input unit for inputting a position command in the form of a spline curve, a curvature evaluation unit for evaluating a curvature of a spline curve input from the curve input unit, and a curvature evaluated by the curvature evaluation unit And a speed command generation unit for generating a feed speed command based on the command.
【請求項2】 曲率評価部が、スプライン曲線の曲率
を、パラメータを所定のピッチで変化させながら評価す
る機能を有することを特徴とする請求項1に記載の数値
制御装置。
2. The numerical controller according to claim 1, wherein the curvature evaluator has a function of evaluating the curvature of the spline curve while changing parameters at a predetermined pitch.
【請求項3】 曲率評価部が、スプライン曲線を複数の
有理ベゼー曲線に変換する機能と、変換後の各有理ベゼ
ー曲線についてその曲率を評価する機能とを有すること
を特徴とする請求項1に記載の数値制御装置。
3. The method according to claim 1, wherein the curvature estimating unit has a function of converting the spline curve into a plurality of rational Bezier curves and a function of evaluating the curvature of each converted Bezier curve. Numerical control device as described.
【請求項4】 曲率評価部が、スプライン曲線を複数の
有理ベゼー曲線に変換する機能と、変換後の各有理ベゼ
ー曲線の制御点に基づいて、スプライン曲線の曲率を評
価する機能とを有することを特徴とする請求項1に記載
の数値制御装置。
4. A curvature estimating unit having a function of converting a spline curve into a plurality of rational Bezier curves and a function of evaluating a curvature of a spline curve based on control points of the converted rational Bezey curves. The numerical control device according to claim 1, wherein:
【請求項5】 速度指令生成部が、与えられたスプライ
ン曲線の各点における曲率、スプライン曲線と補間後の
線分との間の許容誤差、および補間単位時間より各点の
速度を求める機能と、得られた各点の速度を与えられた
速度指令値と比較して、与えられた速度指令値の方が小
さな区間では、スプライン曲線上の速度に当該速度指令
値を設定する機能とを有することを特徴とする請求項1
に記載の数値制御装置。
5. A function of a speed command generator for calculating a curvature at each point of a given spline curve, a permissible error between the spline curve and the interpolated line segment, and a speed of each point from an interpolation unit time. Has a function of comparing the obtained speed of each point with a given speed command value and setting the speed command value to a speed on a spline curve in a section where the given speed command value is smaller. 2. The method according to claim 1, wherein
Numerical control apparatus as described in.
JP14248199A 1999-05-21 1999-05-21 Numerical control device and curve path interpolation method Expired - Lifetime JP3236579B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14248199A JP3236579B2 (en) 1999-05-21 1999-05-21 Numerical control device and curve path interpolation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14248199A JP3236579B2 (en) 1999-05-21 1999-05-21 Numerical control device and curve path interpolation method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP5216727A Division JP3068989B2 (en) 1993-08-31 1993-08-31 Numerical control unit

Publications (2)

Publication Number Publication Date
JPH11345017A true JPH11345017A (en) 1999-12-14
JP3236579B2 JP3236579B2 (en) 2001-12-10

Family

ID=15316333

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14248199A Expired - Lifetime JP3236579B2 (en) 1999-05-21 1999-05-21 Numerical control device and curve path interpolation method

Country Status (1)

Country Link
JP (1) JP3236579B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100357439B1 (en) * 2000-08-24 2002-10-19 대한민국(창원대학교) Control method of cam system for manufacturing nc-code of spur gear
WO2008053601A1 (en) * 2006-11-01 2008-05-08 Sodick Co., Ltd. Working control device, and its program
WO2009050904A1 (en) * 2007-10-18 2009-04-23 Sodick Co., Ltd. Simulation device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01147610A (en) * 1987-12-03 1989-06-09 Fanuc Ltd Numerical controller
JPH0246207U (en) * 1988-09-27 1990-03-29
JPH02219107A (en) * 1989-02-20 1990-08-31 Mitsubishi Electric Corp Numerical controller

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01147610A (en) * 1987-12-03 1989-06-09 Fanuc Ltd Numerical controller
JPH0246207U (en) * 1988-09-27 1990-03-29
JPH02219107A (en) * 1989-02-20 1990-08-31 Mitsubishi Electric Corp Numerical controller

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100357439B1 (en) * 2000-08-24 2002-10-19 대한민국(창원대학교) Control method of cam system for manufacturing nc-code of spur gear
WO2008053601A1 (en) * 2006-11-01 2008-05-08 Sodick Co., Ltd. Working control device, and its program
JP2008117032A (en) * 2006-11-01 2008-05-22 Sodick Co Ltd Working control device and its program
WO2009050904A1 (en) * 2007-10-18 2009-04-23 Sodick Co., Ltd. Simulation device
JP2009098982A (en) * 2007-10-18 2009-05-07 Sodick Co Ltd Working simulation device and its program

Also Published As

Publication number Publication date
JP3236579B2 (en) 2001-12-10

Similar Documents

Publication Publication Date Title
US6587747B2 (en) Numerically controlled curved surface machining unit
JP3830475B2 (en) Control device
Dong et al. Smooth feedrate planning for continuous short line tool path with contour error constraint
JP5326015B2 (en) Numerical control device with machining curve creation function
EP1235126A1 (en) Numerically controlled curved surface machining unit
CN101493687B (en) Real time forward looking whole-process acceleration and deceleration controlled NURBS curve self-adapting subsection interpolation method
Emami et al. A look-ahead command generator with control over trajectory and chord error for NURBS curve with unknown arc length
Bi et al. A general, fast and robust B-spline fitting scheme for micro-line tool path under chord error constraint
Liu et al. High accurate interpolation of NURBS tool path for CNC machine tools
US20030200005A1 (en) Numerically controlled curved surface machining unit
CN107765648B (en) CNC machining feeding speed planning method and device
EP1213634B1 (en) Numerically controlled method
Jin et al. A fine-interpolation-based parametric interpolation method with a novel real-time look-ahead algorithm
JPH11345014A (en) Numerical controller
CN107291047B (en) Positive and negative bidirectional NURBS curve interpolation method based on multiple constraint conditions
JP3068989B2 (en) Numerical control unit
Ma et al. A five-axis dual NURBS interpolator with constant speed at feedrate-sensitive regions under axial drive constraints
JP3879056B2 (en) Numerically controlled curved surface processing equipment
Fan et al. Real-time repairable interpolation scheme for CNC tool path processing
JPH11345017A (en) Numerical controller
JPH11345015A (en) Numerical controller
JP3466111B2 (en) Numerical control unit
JP2790643B2 (en) Numerical control unit
Yau et al. PC-based controller with real-time look-ahead NURBS interpolator
US6054830A (en) Pulse control method and system using multiplier

Legal Events

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

Free format text: PAYMENT UNTIL: 20080928

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20080928

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090928

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090928

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100928

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110928

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110928

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120928

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130928

Year of fee payment: 12