JPH10240328A - Numerical controller - Google Patents
Numerical controllerInfo
- Publication number
- JPH10240328A JPH10240328A JP9038233A JP3823397A JPH10240328A JP H10240328 A JPH10240328 A JP H10240328A JP 9038233 A JP9038233 A JP 9038233A JP 3823397 A JP3823397 A JP 3823397A JP H10240328 A JPH10240328 A JP H10240328A
- Authority
- JP
- Japan
- Prior art keywords
- point sequence
- correction amount
- sequence command
- unit
- command
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Numerical Control (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】この発明は、工作機械の数値
制御に用いられる数値制御装置に関するものであり、特
に、工作機械位置制御用の点列指令を滑らかに修正する
機能を備えた数値制御装置に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a numerical controller used for numerical control of a machine tool, and more particularly to a numerical controller having a function of smoothly correcting a point sequence command for position control of a machine tool. It is about.
【0002】[0002]
【従来の技術】工作機械を制御するNC装置のNCプロ
グラムは、通常、滑らかなスプライン曲線のような軌跡
の場合、曲線を直線近似して微小な線分列として表現す
る。この場合、NC装置の前記NCプログラムは、連続
する点列(位置座標点)として表現されるか、あるい
は、連続する線分として表現される。このような前記直
線近似による軌跡を点列指令と総称する。2. Description of the Related Art Normally, an NC program of an NC apparatus for controlling a machine tool, when a locus such as a smooth spline curve, expresses the curve as a series of minute line segments by linear approximation. In this case, the NC program of the NC device is represented as a continuous point sequence (position coordinate points) or as a continuous line segment. Such a locus based on the linear approximation is generally referred to as a point sequence command.
【0003】前記点列指令は、CAD/CAM装置で作
成される場合は、計算誤差等で不連続な点が発生する場
合がある。また、モデルの形状を計測して前記点列指令
を作成する場合には、モデルを倣い計測する時に発生す
る計測誤差によってガタガタした不連続な軌跡になる場
合がある。点列指令に不連続な軌跡があると、加工面が
滑らかにならず、また、工作機械にも不必要な加速度が
加わって機械を損傷する場合があるなどの問題がある。When the point sequence command is created by a CAD / CAM device, discontinuous points may occur due to calculation errors or the like. Further, when the point sequence command is created by measuring the shape of the model, a discontinuous trajectory may be rattled due to a measurement error generated when the model is copied and measured. If the point sequence command has a discontinuous trajectory, there is a problem that the machined surface is not smooth, and unnecessary acceleration may be applied to the machine tool to damage the machine.
【0004】このような前記点列指令の不連続点を修正
する方法として、例えば特開平3−63708に示され
たような方法がある。この方法では、不連続な点列指令
を修正するために、連続する点列指令3点ごとに三角形
の重心の近似点を算出し、点列指令を前記重心の近似点
に移動させることにより修正を行っている。As a method of correcting such a discontinuous point of the point sequence command, there is a method disclosed in, for example, Japanese Patent Application Laid-Open No. 3-63708. In this method, in order to correct the discontinuous point sequence command, an approximate point of the center of gravity of the triangle is calculated for every three consecutive point sequence commands, and the point sequence command is moved to the approximate point of the center of gravity. It is carried out.
【0005】[0005]
【発明が解決しようとする課題】従来の数値制御装置は
以上のように構成されているので、連続する点列指令中
の修正点およびその前後の計3点から三角形の重心を求
めて修正を行うため、点列指令の修正に用いる点列情報
が少なく、このため、前記修正において必ずしも点列指
令全体を滑らかにするような有効な修正が行われない課
題があった。Since the conventional numerical controller is constructed as described above, the correction is performed by obtaining the center of gravity of the triangle from the correction point in the continuous point sequence command and a total of three points before and after the correction point. Therefore, the point sequence information used for correcting the point sequence command is small, and therefore, there is a problem that the correction does not necessarily perform an effective correction for smoothing the entire point sequence command.
【0006】また、点列指令が円弧などの曲率の変化の
少ない軌跡を表現している場合に、上記従来の方法で点
列指令を修正すると、逆に曲率が大きな点列指令に修正
され、滑らかさが失われるとともに、修正が行われるこ
とにより誤差が大きな点列軌跡となってしまう場合があ
る課題があった。If the point sequence command expresses a locus such as a circular arc with a small change in curvature, if the point sequence command is modified by the above-described conventional method, the curvature is corrected to a point sequence command having a large curvature. There is a problem that the smoothness is lost and the correction may be performed, resulting in a point sequence locus having a large error.
【0007】さらに、点列指令の修正量に制限を設けて
いないため、加工誤差が許容範囲以上に大きくなる場合
があり、加工不良が発生したりするなどの課題があっ
た。Further, since there is no limitation on the correction amount of the point sequence command, there is a problem that a processing error may be larger than an allowable range, and a processing defect may occur.
【0008】この発明は上記のような課題を解決するた
めになされたもので、単純な計算方法により、多数の点
列情報を用いて点列指令全体を滑らかにする有効な修正
を行うことができ、これにより、工作機械による加工面
を滑らかにし、工作機械への不必要な加速度による工作
機械の損傷等を有効に防止することができる数値制御装
置を得ることを目的とする。SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problem, and it is possible to perform an effective correction for smoothing the entire point sequence command using a large amount of point sequence information by a simple calculation method. Accordingly, an object of the present invention is to provide a numerical control device capable of smoothing a machined surface of a machine tool and effectively preventing damage to the machine tool due to unnecessary acceleration of the machine tool.
【0009】また、この発明は、円弧のような滑らかな
軌跡を表現している点列指令の場合にも、従来の方法に
おけるように軌跡を劣化させることなく滑らかな点列指
令を得ることができる数値制御装置を得ることを目的と
する。Further, according to the present invention, even in the case of a point sequence command expressing a smooth trajectory such as an arc, a smooth point sequence command can be obtained without deteriorating the trajectory as in the conventional method. It is an object of the present invention to obtain a numerical control device capable of performing such operations.
【0010】さらに、この発明は、点列指令の修正量が
許容誤差以上の大きな値となって工作機械による加工不
良や工作機械の損傷が発生する事態を防止することがで
きる数値制御装置を得ることを目的とする。Further, the present invention provides a numerical control device capable of preventing a situation in which a correction amount of a point sequence command becomes a large value exceeding an allowable error and a machining failure by the machine tool or damage to the machine tool occurs. The purpose is to:
【0011】さらに、この発明は、曲率の変化や点列指
令間の間隔の変化が大きいような点列指令に対しても軌
跡を劣化させることなく滑らかな点列指令が得られ、点
列指令の修正を有効に行うことができる数値制御装置を
得ることを目的とする。Further, according to the present invention, a smooth point sequence command can be obtained without deteriorating the locus even for a point sequence command in which a change in curvature or a change in the interval between the point sequence commands is large. It is an object of the present invention to obtain a numerical control device that can effectively correct the above.
【0012】さらに、この発明は、曲線の種類や、誤差
の有無などが複雑に組み合わされたような軌跡に対して
も、精度よく本来の軌跡を復元することのできる数値制
御装置を得ることを目的とする。Further, the present invention provides a numerical controller capable of accurately restoring an original trajectory even for a trajectory in which the types of curves and the presence or absence of an error are combined in a complicated manner. Aim.
【0013】[0013]
【課題を解決するための手段】請求項1記載の発明に係
る数値制御装置は、修正量計算部が、点列指令を通過す
る曲線の曲率に相当する曲率評価値を評価範囲内の複数
箇所で計算するとともに、前記複数の曲率評価値の中で
値の大きなものを小さくするように前記点列指令の修正
量を計算するようにしたものである。According to a first aspect of the present invention, there is provided a numerical control apparatus, wherein the correction amount calculating section calculates a curvature evaluation value corresponding to a curvature of a curve passing a point sequence command at a plurality of points within an evaluation range. In addition, the correction amount of the point sequence command is calculated so as to reduce a larger one of the plurality of curvature evaluation values.
【0014】請求項2記載の発明に係る数値制御装置
は、修正量計算部が、曲率評価値として、連続する点列
指令を結ぶ線分ベクトルの1次または高次の変化量を示
す差分ベクトルを用いるようにしたものである。According to a second aspect of the present invention, in the numerical control apparatus, the correction amount calculating section includes, as a curvature evaluation value, a difference vector indicating a first-order or higher-order change amount of a line vector connecting continuous point sequence commands. Is used.
【0015】請求項3記載の発明に係る数値制御装置
は、修正量計算部が、複数箇所における差分ベクトルの
各軸成分の2乗和が最小となるように、修正量の前記各
軸成分を計算するようにしたものである。According to a third aspect of the present invention, in the numerical control apparatus, the correction amount calculation unit calculates the correction amount of each axis component such that the sum of squares of each axis component of the difference vector at a plurality of locations is minimized. This is to calculate.
【0016】請求項4記載の発明に係る数値制御装置
は、修正量計算部における修正量を許容誤差値以下に制
限する修正量制限部を備えたものである。According to a fourth aspect of the present invention, there is provided a numerical controller including a correction amount limiting unit for limiting the correction amount in the correction amount calculation unit to a value equal to or less than an allowable error value.
【0017】請求項5記載の発明に係る数値制御装置
は、修正量計算部が、差分ベクトルとして、線分ベクト
ルの長さに関する量により重み付けされた線分ベクトル
を用いて計算された差分ベクトルを用いるようにしたも
のである。According to a fifth aspect of the present invention, in the numerical control device, the correction amount calculating unit calculates the difference vector calculated using the line vector weighted by the amount related to the length of the line vector as the difference vector. It is intended to be used.
【0018】請求項6記載の発明に係る数値制御装置
は、修正量計算部が、評価範囲内の点列指令に2次以上
の曲線をあてはめ、その曲線に近づくように前記点列指
令の修正量を計算するようにしたものである。According to a sixth aspect of the present invention, in the numerical controller, the correction amount calculating section applies a second-order or higher-order curve to the point sequence command within the evaluation range, and corrects the point sequence command so as to approach the curve. The amount is calculated.
【0019】請求項7記載の発明に係る数値制御装置
は、修正量計算部が、評価範囲内の点列指令に2次曲線
をあてはめるようにしたものである。According to a seventh aspect of the present invention, in the numerical control device, the correction amount calculating section applies a quadratic curve to a point sequence command within the evaluation range.
【0020】請求項8記載の発明に係る数値制御装置
は、修正量計算部における修正量を許容誤差値以下に制
限する修正量制限部を備えるようにしたものである。The numerical controller according to the invention of claim 8 is provided with a correction amount limiting unit for limiting the correction amount in the correction amount calculation unit to a value equal to or less than an allowable error value.
【0021】請求項9記載の発明に係る数値制御装置
は、修正量計算部が、修正された点列指令を以降の修正
点に対する修正量の計算に用いるようにしたものであ
る。According to a ninth aspect of the present invention, in the numerical control device, the correction amount calculation unit uses the corrected point sequence command for calculating a correction amount for a subsequent correction point.
【0022】請求項10記載の発明に係る数値制御装置
は、入力された点列指令からなる軌跡の性状を判断する
軌跡判断部を備え、判断された前記軌跡の性状に応じ
て、評価範囲設定部において設定する前記評価範囲、お
よび/または、修正量計算部における前記修正量計算方
法を適宜変更するようにしたものである。According to a tenth aspect of the present invention, there is provided a numerical controller including a trajectory judging unit for judging a property of a trajectory based on the input point sequence command, and setting an evaluation range according to the determined property of the trajectory. The evaluation range set in the section and / or the correction amount calculation method in the correction amount calculation section are appropriately changed.
【0023】[0023]
【発明の実施の形態】以下、この発明の実施の一形態を
説明する。 実施の形態1.図1はこの発明の実施の形態1による数
値制御装置の構成を示すブロック図であり、図におい
て、1はこの発明の実施の形態1による数値制御装置、
2はx,y,z軸の3軸構成によりなる工作機械、3は
CAD/CAM装置等から点列指令を含むNCプログラ
ムを入力して記憶する点列指令入力部であり、この点列
指令は、位置座標を表す点列あるいはこの点列を結ぶ線
分列により指令される。4は前記点列指令入力部3から
入力した点列指令を数点選択して評価範囲を設定する評
価範囲設定部、5は前記評価範囲設定部4で設定された
点列指令による軌跡の曲率評価値が小さくなるように点
列指令の修正量を計算する修正量計算部、6は前記点列
指令の修正量が最大許容誤差を越えないように前記点列
指令の修正量を制限する修正量制限部である。この最大
許容誤差は加工精度に応じてあらかじめ設定される。7
は点列指令入力部3の点列指令の位置を前記修正量制限
部6からの出力に応じて移動させる点列移動部、8は点
列移動部7から出力される点列指令とNCプログラムで
指令される速度指令に基づいて補間計算を行い、工作機
械2の各軸(x,y,z軸)の位置指令を計算しサンプ
リング周期ごとに出力する点列補間部、9は点列補間部
8の出力する位置指令等に基づいて工作機械2を制御す
るサーボ制御部である。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS One embodiment of the present invention will be described below. Embodiment 1 FIG. FIG. 1 is a block diagram showing a configuration of a numerical controller according to Embodiment 1 of the present invention. In the drawing, reference numeral 1 denotes a numerical controller according to Embodiment 1 of the present invention;
Reference numeral 2 denotes a machine tool having a three-axis configuration of x, y, and z axes. Reference numeral 3 denotes a point sequence command input unit that inputs and stores an NC program including a point sequence command from a CAD / CAM device or the like. Is instructed by a sequence of points representing position coordinates or a sequence of line segments connecting the sequence of points. Reference numeral 4 denotes an evaluation range setting unit for selecting several point sequence commands input from the point sequence command input unit 3 to set an evaluation range, and 5 denotes a curvature of a locus according to the point sequence command set by the evaluation range setting unit 4. A correction amount calculation unit for calculating the correction amount of the point sequence command so as to reduce the evaluation value, a correction for limiting the correction amount of the point sequence command so that the correction amount of the point sequence command does not exceed a maximum allowable error. It is a quantity limiting unit. This maximum allowable error is set in advance in accordance with the processing accuracy. 7
Is a point sequence moving unit for moving the position of the point sequence command of the point sequence command input unit 3 in accordance with the output from the correction amount limiting unit 6, and 8 is a point sequence command output from the point sequence moving unit 7 and an NC program. A point-sequence interpolation unit that performs an interpolation calculation based on the speed command specified in (1), calculates a position command for each axis (x, y, z-axis) of the machine tool 2 and outputs the position command at each sampling cycle. The servo control unit controls the machine tool 2 based on a position command or the like output from the unit 8.
【0024】また、工作機械2において、10は工作機
械2を駆動するモータ、11は工作機械2の位置および
速度を計測するエンコーダである。サーボ制御部9は、
点列補間部8の出力と工作機械2のエンコーダ11の計
測値から位置制御、速度制御などの制御演算を行い、工
作機械2のモータ10に電力を供給する。In the machine tool 2, reference numeral 10 denotes a motor for driving the machine tool 2, and reference numeral 11 denotes an encoder for measuring the position and speed of the machine tool 2. The servo control unit 9
Control calculations such as position control and speed control are performed based on the output of the point sequence interpolation unit 8 and the measured values of the encoder 11 of the machine tool 2, and power is supplied to the motor 10 of the machine tool 2.
【0025】12は実施の形態1の数値制御装置1の点
列指令修正部であり、前記点列指令入力部3,評価範囲
設定部4,修正量計算部5,修正量制限部6および点列
移動部7を備えている。数値制御装置1は、1つあるい
は複数のCPU(中央処理装置),メモリ,入出力イン
ターフェイス等で構成されるコンピュータシステムによ
り実現されている。Reference numeral 12 denotes a point sequence command correction unit of the numerical controller 1 according to the first embodiment. The point sequence command input unit 3, the evaluation range setting unit 4, the correction amount calculation unit 5, the correction amount restriction unit 6, and the A column moving unit 7 is provided. The numerical control device 1 is realized by a computer system including one or a plurality of CPUs (central processing units), a memory, an input / output interface, and the like.
【0026】図2は点列指令の1例を示す模式図であ
る。点列指令Pi は3次元位置座標(Pxi ,Pyi ,
Pzi )によりなる(ここで、iは点列指令のインデッ
クス、i=1,2,・・,nであり、P1 は始点、Pn
は終点である。)。FIG. 2 is a schematic diagram showing an example of a point sequence command. The point sequence command P i has three-dimensional position coordinates (Px i , Py i ,
Pz i ) (where i is the index of the point sequence command, i = 1, 2,..., N, P 1 is the starting point, P n
Is the end point. ).
【0027】次に動作について説明する。まず、数値制
御装置1の点列指令修正部12の動作を図3を用いて説
明する。図3はこの発明の実施の形態1による数値制御
装置1の点列指令修正部12の動作を示すフローチャー
トである。図3に示す評価範囲設定部4は、連続する5
点を評価範囲として設定する。Next, the operation will be described. First, the operation of the point sequence command correction unit 12 of the numerical controller 1 will be described with reference to FIG. FIG. 3 is a flowchart showing the operation of the point sequence command correction unit 12 of the numerical controller 1 according to Embodiment 1 of the present invention. The evaluation range setting unit 4 shown in FIG.
Set a point as the evaluation range.
【0028】ステップST1は点列指令入力部3の処理
であり、点列指令入力部3はCAD/CAM装置等から
NCプログラムを読み込み、点列指令P1 ,P2 ,・
・,Pn をメモリに格納する。Step ST1 is a process of the point sequence command input unit 3, which reads an NC program from a CAD / CAM device or the like, and outputs the point sequence commands P 1 , P 2 ,.
, Pn are stored in the memory.
【0029】ステップST2〜ステップST8は評価範
囲設定部4の処理である。評価範囲設定部4は、連続す
る5点を評価範囲として設定する。すなわち、図2にお
いて修正を行う点をPi としたとき、前記修正点Pi と
その前後の各2点、Pi-2 ,Pi-1 ,Pi+1 ,Pi+2 が
選択される。Steps ST2 to ST8 are processing of the evaluation range setting section 4. The evaluation range setting unit 4 sets five consecutive points as an evaluation range. That is, when the point of correcting 2 and P i, the correction point P i and the two points before and after the P i-2, P i- 1, P i + 1, P i + 2 selected Is done.
【0030】ステップST2においては、点列指令Pi
の最初の修正点として、インデックスiが2に、すなわ
ちP2 が設定される。ステップST3では、i=2なら
ステップST4に処理を進め、i=2でないならステッ
プST5に処理を進める。ステップST5では、i=n
−1ならステップST6に処理を進め、i=n−1でな
いならステップST7に処理を進める。ステップST7
では、i=n(Pn すなわち終点)ならステップST2
4に、そうでないならステップST8に処理を進める。In step ST2, the point sequence command P i
As a first modification point, the index i is 2, i.e. P 2 is set. In step ST3, if i = 2, the process proceeds to step ST4, and if not i = 2, the process proceeds to step ST5. In step ST5, i = n
If −1, the process proceeds to step ST6, and if not i = n−1, the process proceeds to step ST7. Step ST7
Then, if i = n ( Pn, that is, the end point), step ST2
Otherwise, the process proceeds to step ST8.
【0031】ステップST4,6,8においては、前記
修正点Pi とその前後の2点(Pi- 2 ,Pi-1 ,
Pi+1 ,Pi+2 )の選択を行うが、前記ステップST4
は点列指令の始点部での処理、前記ステップST6は点
列指令の終点部での処理、前記ステップST8は始点部
および終点部以外の処理である。In steps ST4, ST6, and ST8, the correction point P i and two points before and after the correction point P i (P i− 2 , P i−1 ,
(P i + 1 , P i + 2 ) is selected, but in the step ST4
Is a process at the start point of the point sequence command, step ST6 is a process at the end point of the point sequence command, and step ST8 is a process other than the start point and the end point.
【0032】ステップST4においては点Pi-2 が、ス
テップST6においては点Pi+2 が存在しないため、ス
テップST4においては式(101)を用いて、ステッ
プST6においては式(102)を用いて、点列指令を
外挿する。 Pi-2 =2P0 −P1 (101) Pi+2 =2Pn −Pn-1 (102)Since there is no point P i-2 in step ST4 and no point P i + 2 in step ST6, equation (101) is used in step ST4, and equation (102) is used in step ST6. And extrapolate the point sequence command. P i-2 = 2P 0 -P 1 (101) P i + 2 = 2P n -P n-1 (102)
【0033】ステップST9は修正量計算部5の処理
で、ステップST4、ステップST6、ステップST8
で選択した前記5点から点Pi の修正量Ei を計算す
る。修正量Ei はi番目の点Pi の修正量で、X、Y、
Z軸の修正量(exi ,eyi ,ezi )からなるベク
トルである。Step ST9 is a process of the correction amount calculating section 5, and includes steps ST4, ST6, and ST8.
Calculating a correction amount E i of the point P i in the selected the five points. The correction amount E i is the correction amount of the i-th point P i , and X, Y,
This is a vector including the Z-axis correction amount (ex i , ey i , ez i ).
【0034】図2の点列指令でPi の修正量Ei を計算
する方法を以下に示す。図4は点列指令の修正動作の説
明図である。まず、図4に示すように、図2の点列指令
から、式(103)〜(106)により線分ベクトルS
i-2 ,Si-1 ,Si ,Si+1を計算する。 Si-2 =Pi-1 −Pi-2 =(Pxi-1 −Pxi-2 ,Pyi-1 −Pyi-2 ,Pzi-1 −Pzi-2 ) =(Sxi-2 ,Syi-2 ,Szi-2 ) (103) Si-1 =Pi −Pi-1 =(Pxi −Pxi-1 ,Pyi −Pyi-1 ,Pzi −Pzi-1 ) =(Sxi-1 ,Syi-1 ,Szi-1 ) (104) Si =Pi+1 −Pi =(Pxi+1 −Pxi ,Pyi+1 −Pyi ,Pzi+1 −Pzi ) =(Sxi ,Syi ,Szi ) (105) Si+1 =Pi+2 −Pi+1 =(Pxi+2 −Pxi+1 ,Pyi+2 −Pyi+1 ,Pzi+2 −Pzi+1 ) =(Sxi+1 ,Syi+1 ,Szi+1 ) (106)A method of calculating the correction amount E i of P i by the point sequence command shown in FIG. 2 will be described below. FIG. 4 is an explanatory diagram of the correction operation of the point sequence command. First, as shown in FIG. 4, from the point sequence command of FIG.
i−2 , S i−1 , S i , S i + 1 are calculated. S i−2 = P i−1 −P i−2 = (Px i−1 −Px i−2 , Py i−1 −Py i−2 , Pz i−1 −Pz i−2 ) = (Sx i -2, Sy i-2, Sz i-2) (103) S i-1 = P i -P i-1 = (Px i -Px i-1, Py i -Py i-1, Pz i -Pz i-1) = (Sx i -1, Sy i-1, Sz i-1) (104) S i = P i + 1 -P i = (Px i + 1 -Px i, Py i + 1 -Py i, Pz i + 1 -Pz i ) = (Sx i, Sy i, Sz i) (105) S i + 1 = P i + 2 -P i + 1 = (Px i + 2 -Px i + 1, Py i + 2 −Py i + 1 , Pz i + 2 −Pz i + 1 ) = (Sx i + 1 , Sy i + 1 , Sz i + 1 ) (106)
【0035】次に、図4に示すように、第1階差分ベク
トル(差分ベクトル)△Si-1 ,△Si ,△Si+1 を計
算する。 △Si-1 =Si-1 −Si-2 =(Sxi-1 −Sxi-2 ,Syi-1 −Syi-2 ,Szi-1 −Szi-2 ) (107) △Si =Si −Si-1 =(Sxi −Sxi-1 ,Syi −Syi-1 ,Szi −Szi-1 ) (108) △Si+1 =Si+1 −Si =(Sxi+1 −Sxi ,Syi+1 −Syi ,Szi+1 −Szi ) (109)Next, as shown in FIG. 4, a first-order difference vector (difference vector) △ S i−1 , △ S i , △ S i + 1 is calculated. ΔS i−1 = S i−1 −S i−2 = (Sx i−1 −Sx i−2 , Sy i−1 −Sy i−2 , Sz i−1 −Sz i−2 ) (107) △ S i = S i -S i -1 = (Sx i -Sx i-1, Sy i -Sy i-1, Sz i -Sz i-1) (108) △ S i + 1 = S i + 1 -S i = (Sx i + 1 -Sx i, Sy i + 1 -Sy i, Sz i + 1 -Sz i) (109)
【0036】図4の点列指令Pi-2 〜Pi+2 はほぼ等間
隔に配置されているので、前記第1階差分ベクトル△S
i-1 ,△Si ,△Si+1 はそれぞれ、点列指令軌跡P
i-2 〜Pi 間,Pi-1 〜Pi+1 間,Pi 〜Pi+2 間の曲
率が大きい時は大きく、前記曲率が小さい時は小さい値
となる。そこで前記差分ベクトルを曲率評価値として用
いる。Since the point sequence commands P i-2 to P i + 2 in FIG. 4 are arranged at substantially equal intervals, the first-order difference vector △ S
i−1 , △ S i , △ S i + 1 are point sequence command trajectories P, respectively.
between i-2 to P i, between P i-1 ~P i + 1 , when the curvature between P i ~P i + 2 is large is large, when the curvature is small, a small value. Therefore, the difference vector is used as a curvature evaluation value.
【0037】修正点Pi を修正量Ei だけ移動させると
式(107),(108),(109)の前記差分ベク
トルは以下の式(110)〜(112)のようになる。
ここで、修正後の前記差分ベクトルを△Si-1 ’、△S
i ’、△Si+1 ’とする。 △Si-1 ’=(Si-1 +Ei )−Si-2 =Pi −2Pi-1 +Pi-2 +Ei (110) △Si ’=(Si −Ei )−(Si-1 +Ei ) =Pi+1 −2Pi +Pi-1 −2Ei (111) △Si+1 ’=Si+1 −(Si −Ei ) =Pi+2 −2Pi+1 +Pi +Ei (112)When the correction point P i is moved by the correction amount E i , the difference vectors in the equations (107), (108) and (109) are as shown in the following equations (110) to (112).
Here, the corrected difference vector is represented by △ S i−1 ′, △ S
i ′ and △ S i + 1 ′. ΔS i−1 ′ = (S i−1 + E i ) −S i−2 = P i −2P i−1 + P i−2 + E i (110) ΔS i ′ = (S i −E i ) − (S i-1 + E i ) = P i + 1 −2P i + P i−1 −2E i (111) ΔS i + 1 ′ = S i + 1 − (S i −E i ) = P i + 2 -2P i + 1 + P i + E i (112)
【0038】ここで式(110),(111),(11
2)の差分ベクトルにおいて大きな値を持つ差分ベクト
ルを小さくするため、前記差分ベクトルの各軸成分の2
乗の和が最小となる修正量Ei (exi ,eyi ,ez
i )を計算する。まず、修正量Ei のx軸成分exi を
求める方法を説明する。Here, equations (110), (111), and (11)
In order to reduce the difference vector having a large value in the difference vector of 2), 2 of each axis component of the difference vector is used.
The correction amount E i (ex i , ey i , ez) that minimizes the sum of the powers
i ) is calculated. First, a method of obtaining the x-axis component ex i of the correction amount E i will be described.
【0039】前記差分ベクトルのx軸成分の2乗の和J
xは下式(113)となる。 Jx=(Pxi −2Pxi-1 +Pxi-2 +exi )2 +(Pxi+1 −2Pxi +Pxi-1 −2exi )2 +(Pxi+2 −2Pxi+1 +Pxi +exi )2 (113)The sum J of the squares of the x-axis component of the difference vector J
x is given by the following equation (113). Jx = (Px i -2Px i- 1 + Px i-2 + ex i) 2 + (Px i + 1 -2Px i + Px i-1 -2ex i) 2 + (Px i + 2 -2Px i + 1 + Px i + ex i) 2 (113)
【0040】式(113)はexi の2次式であり、こ
れが最小となるexi を求めるためにJx/exi =0
とおき、exi について整理すると、 exi =−(Pxi-2 −4Pxi-1 +6Pxi -4Pxi+1 +Pxi+2 )/6 (114) となる。y軸,z軸も同様にして計算すると、下式とな
る。 eyi =−(Pyi-2 −4Pyi-1 +6Pyi −4Pyi+1 +Pyi+2 )/6 (115) ezi =−(Pzi-2 −4Pzi-1 +6Pzi −4Pzi+1 +Pzi+2 )/6 (116)[0040] Formula (113) is a quadratic expression of ex i, Jx / ex i = 0 to determine the ex i this is a minimum
Distant and rearranging the ex i, ex i = - a (Px i-2 -4Px i- 1 + 6Px i -4Px i + 1 + Px i + 2) / 6 (114). When the y-axis and the z-axis are similarly calculated, the following equation is obtained. ey i = - (Py i- 2 -4Py i-1 + 6Py i -4Py i + 1 + Py i + 2) / 6 (115) ez i = - (Pz i-2 -4Pz i-1 + 6Pz i -4Pz i +1 + Pz i + 2 ) / 6 (116)
【0041】上記結果(114),(115),(11
6)をベクトルで表現すると次式となる。 The above results (114), (115) and (11)
Expression 6) is expressed by the following equation.
【0042】ステップST9では式(114),(11
5),(116)の計算が行われ、上記のようにして修
正量Ei が求められる。In step ST9, equations (114) and (11)
5) and (116) are calculated, and the correction amount Ei is obtained as described above.
【0043】ステップST10〜ステップST21は修
正量制限部6で行われる処理である。ステップST10
では式(114)で計算されたx軸の修正量exi の絶
対値が、あらかじめ設定されている最大許容量emax
より大きい場合にはステップST11に処理を進め、小
さい場合にはステップST14に処理を進める。Steps ST10 to ST21 are processes performed by the correction amount limiting unit 6. Step ST10
Then, the absolute value of the x-axis correction amount ex i calculated by the equation (114) is calculated by using a preset maximum allowable amount emax.
If larger, the process proceeds to step ST11; if smaller, the process proceeds to step ST14.
【0044】ステップST11ではexi が負の場合は
ステップST12に、それ以外はステップST13に処
理を進め、ステップST12ではexi =−emaxと
し、ステップST13ではexi =emaxとして、ス
テップST14に処理を進める。これにより、修正量e
xi の絶対値が最大許容量emax以下に制限される。In step ST11, if ex i is negative, the process proceeds to step ST12; otherwise, the process proceeds to step ST13. In step ST12, ex i = −emax. In step ST13, ex i = emax, and the process proceeds to step ST14. Advance. Thereby, the correction amount e
The absolute value of x i is limited to the maximum allowable amount emax or less.
【0045】ステップST14〜ステップST17にお
いては前記x軸成分の処理と同様に、y軸成分の修正量
eyi を最大許容量emax以下に制限する処理を行
う。In steps ST14 to ST17, processing for limiting the correction amount ey i of the y-axis component to the maximum allowable amount emax or less is performed in the same manner as the processing of the x-axis component.
【0046】ステップST18〜ステップST21にお
いては前記x軸成分の処理と同様に、z軸成分の修正量
ezi を最大許容量emax以下に制限する処理を行
う。In steps ST18 to ST21, similarly to the processing of the x-axis component, the processing of limiting the correction amount ez i of the z-axis component to the maximum allowable amount emax or less is performed.
【0047】ステップST22では、上記ステップST
9〜ステップST21で計算した点Pi に対する修正量
Ei をメモリに記憶する。ステップST23では、iを
インクリメントし、ステップST3に処理を戻す。In step ST22, the above-described step ST22 is executed.
The correction amount E i for the point P i calculated in 9 to step ST21 is stored in the memory. In step ST23, i is incremented, and the process returns to step ST3.
【0048】ステップST24〜ステップST27は点
列移動部7の処理であり、まず、ステップST24にお
いて点列移動部7は修正する点列指令の最初の点のイン
デックスiを2に設定する。ステップST25では終了
判定を行い、i=nであれば処理を終了し、そうでない
ならステップST26に処理を進める。ステップST2
6においては前記Ei にゲインK0を乗じた量を点列指
令Pi に加算して、点列指令Pi を移動する。前記ゲイ
ンK0は修正ゲインであり、0.3〜1.0程度の適切
な値に設定する。通常は0.5を設定する。ステップS
T27ではiをインクリメントし、ステップST25に
処理を戻す。ステップST25〜ステップST27の処
理はi=nとなるまで繰り返され、以上で図3のフロー
チャートに示した処理が終了する。Steps ST24 to ST27 are processes of the point sequence moving unit 7. First, in step ST24, the point sequence moving unit 7 sets the index i of the first point of the point sequence command to be corrected to 2. In step ST25, an end determination is made. If i = n, the process is ended; otherwise, the process proceeds to step ST26. Step ST2
In 6 adds the amount multiplied by the gain K0 in the E i to point sequence command P i, to move the point sequence command P i. The gain K0 is a correction gain and is set to an appropriate value of about 0.3 to 1.0. Usually, 0.5 is set. Step S
In T27, i is incremented, and the process returns to step ST25. The processing of steps ST25 to ST27 is repeated until i = n, and the processing shown in the flowchart of FIG.
【0049】図5は、図4の点列指令Pi が点列移動部
7によりEi だけ修正された後の様子を示す模式図であ
る。差分ベクトルは△Si-1 ’,△Si ’,△Si+1 ’
のように小さくなり、点列指令Pi による軌跡が滑らか
になっている様子がわかる。FIG. 5 is a schematic diagram showing a state after the point sequence command P i of FIG. 4 has been corrected by the point sequence moving unit 7 by E i . The difference vectors are △ S i-1 ', △ S i ', △ S i + 1 '
Becomes smaller as described above, it can be seen that the trajectory by the point train command P i is made smooth.
【0050】点列補間部8は点列移動部7で修正された
点列指令Pi を速度指令に基づいて補間制御し、サーボ
制御部9の各軸の位置指令を出力する。サーボ制御部9
は前記位置指令により工作機械2を制御するが、この際
に点列指令Pi が滑らかになるように修正されているた
め、滑らかな加工を実現することができる。The point series interpolation unit 8 interpolation control and based on the sequence command P i that have been fixed in a sequence of points moving unit 7 to the speed command, and outputs a position command of each axis of the servo control unit 9. Servo control unit 9
Controls the machine tool 2 in accordance with the position command. At this time, the point sequence command Pi is modified so as to be smooth, so that smooth machining can be realized.
【0051】以上のように、この実施の形態1によれ
ば、点列指令修正部12に入力される点列指令Pi の修
正点の前後の数点から曲率評価値である差分ベクトルを
計算し、差分ベクトルの大きな値が小さくなるように点
列指令を移動するため、点列指令Pi 全体を滑らかな軌
跡に修正することができる。[0051] As described above, according to the first embodiment, calculates a difference vector is the curvature evaluation value from a few points before and after the modification point of the train command P i that is input to the point sequence command correction unit 12 and, since a large value of the difference vector moves point sequence command so as to decrease, it is possible to modify the entire point sequence command P i smooth trajectory.
【0052】また、円弧のような滑らかな軌跡を表現し
ている点列指令Pi の場合は、曲率評価値として用いる
複数の差分ベクトルの値がほぼ同じ値となり、点列指令
の修正量が小さな値となる。そのため、前記円弧のよう
な曲線においても適切な修正動作を実現することができ
る。In the case of a point sequence command P i expressing a smooth locus such as an arc, the values of a plurality of difference vectors used as curvature evaluation values are substantially the same, and the correction amount of the point sequence command is small. It will be a small value. Therefore, an appropriate correction operation can be realized even in a curve such as the arc.
【0053】さらに、修正量の計算を式(114),
(115),(116)のように少ない処理により実現
することができる。Further, the calculation of the correction amount is expressed by the following equation (114).
This can be realized by a small number of processes as in (115) and (116).
【0054】さらに、点列指令Pi の移動量を修正量制
限部6で最大許容誤差内に制限しているため、修正によ
る点列指令の位置誤差が必要以上に大きくならず、加工
精度が保証された修正動作を実現することができる。[0054] Further, since the limit in the maximum allowable error of the amount of movement of the point sequence command P i in the correction amount limiting unit 6, not larger than necessary position error of train command points by modifying, processing accuracy A guaranteed corrective action can be realized.
【0055】実施の形態2.実施の形態1では評価範囲
設定部4の選択する点列数が5点の場合を説明したが、
この実施の形態2では、前記点列数が7点の場合につい
て説明する。図6はこの発明の実施の形態2による数値
制御装置の構成を示すブロック図であり、図において、
1aはこの実施の形態2の数値制御装置、4aは実施の
形態2の評価範囲設定部、5aは実施の形態2の修正量
計算部、12aは実施の形態2の点列指令修正部であ
る。図1に示した実施の形態1の数値制御装置1との違
いは、評価範囲設定部4aと修正量計算部5aの処理の
相違のみである。Embodiment 2 In the first embodiment, the case where the number of point sequences selected by the evaluation range setting unit 4 is five has been described.
In the second embodiment, a case will be described in which the number of point sequences is seven. FIG. 6 is a block diagram showing a configuration of a numerical control device according to Embodiment 2 of the present invention.
Reference numeral 1a denotes a numerical control device according to the second embodiment, 4a denotes an evaluation range setting unit according to the second embodiment, 5a denotes a correction amount calculation unit according to the second embodiment, and 12a denotes a point sequence command correction unit according to the second embodiment. . The only difference from the numerical control device 1 according to the first embodiment shown in FIG. 1 is the difference in processing between the evaluation range setting unit 4a and the correction amount calculation unit 5a.
【0056】次に動作について説明する。図7は実施の
形態2の数値制御装置1aの点列指令修正部12aの動
作を示すフローチャートである。図7のステップST1
〜ステップST27は図3に示した実施の形態1におけ
る処理と同様であり、説明は省略する。Next, the operation will be described. FIG. 7 is a flowchart showing the operation of the point sequence command correction unit 12a of the numerical controller 1a according to the second embodiment. Step ST1 in FIG.
Steps ST27 to ST27 are the same as those in the first embodiment shown in FIG. 3, and a description thereof will be omitted.
【0057】ステップST3,5,7、およびステップ
ST40〜ステップST45は評価範囲設定部4aの処
理である。この実施の形態2の評価範囲設定部4aは連
続する7点を評価範囲として選択する。例えば、図2で
修正を行う点をPi としたとき、前記修正点Pi とその
前後の各3点、Pi-3 ,Pi-2 ,Pi-1 ,Pi+1 ,P
i+2 ,Pi+3 を選択する処理が行われる。Steps ST3, 5, 7, and ST40 to ST45 are processing of the evaluation range setting section 4a. The evaluation range setting unit 4a according to the second embodiment selects seven consecutive points as the evaluation range. For example, assuming that the point to be corrected in FIG. 2 is P i , the corrected point P i and three points before and after the corrected point P i , P i-3 , P i-2 , P i-1 , P i + 1 , P i
Processing for selecting i + 2 and P i + 3 is performed.
【0058】ステップST41では、i=3ならステッ
プST42に処理を進め、そうでないならステップST
43に処理を進める。ステップST43ではi=n−2
ならステップST44に処理を進め、そうでないならス
テップST5に処理を進める。In step ST41, if i = 3, the process proceeds to step ST42, otherwise, the process proceeds to step ST42.
The process proceeds to 43. In step ST43, i = n-2
If so, the process proceeds to step ST44; otherwise, the process proceeds to step ST5.
【0059】ステップST40,42,44,45,4
6では、前記修正点Pi と前後の3点(Pi-3 ,P
i-2 ,Pi-1 ,Pi+1 ,Pi+2 ,Pi+3 )の選択を行う
が、ステップST40とステップST42は点列指令の
始点部での処理、ステップST44とステップST45
は点列指令の終点部での処理、ステップST46は始点
部、終点部以外の処理である。Steps ST40, 42, 44, 45, 4
6, the correction point P i and three points before and after the correction point P i (P i−3 , P
i-2 , P i-1 , P i + 1 , P i + 2 , P i + 3 ) are selected. Steps ST40 and ST42 are processing at the start point of the point sequence command, and steps ST44 and ST44 are performed. ST45
Is a process at the end point of the point sequence command, and step ST46 is a process other than the start point and the end point.
【0060】ステップST40においては点Pi-2 と点
Pi-3 が、ステップST42においては点Pi-3 が、ス
テップST44においては点Pi+3 が、ステップST4
5においては点Pi+2 と点Pi+3 が存在しないため、次
式を使って点列指令を外挿する。 ステップST40 Pi-2 =P3 −3P2 +3P1 (201) Pi-3 =3P3 −8P2 +6P1 (202) ステップST42 Pi-3 =P3 −3P2 +3P1 (203) ステップST44 Pi+3 =3Pn −3Pn-1 +Pn-2 (204) ステップST45 Pi+2 =3Pn −3Pn-1 +Pn-2 (205) Pi+3 =6Pn −8Pn-1 −3Pn-2 (206)In step ST40, points P i-2 and P i-3 are set, in step ST42 point P i-3 is set, in step ST44, point P i + 3 is set, and in step ST4.
In point 5, since the points P i + 2 and P i + 3 do not exist, the point sequence command is extrapolated using the following equation. Step ST40 P i-2 = P 3 -3P 2 + 3P 1 (201) P i-3 = 3P 3 -8P 2 + 6P 1 (202) step ST42 P i-3 = P 3 -3P 2 + 3P 1 (203) Step ST44 P i + 3 = 3P n -3P n-1 + P n-2 (204) step ST45 P i + 2 = 3P n -3P n-1 + P n-2 (205) P i + 3 = 6P n -8P n-1 -3P n-2 (206)
【0061】ステップST47は修正量計算部5aの処
理で、ステップST40,42,44,45,46で選
択した前記7点から点Pi の修正量Ei を計算する。修
正量Ei はi番目の点列指令Pi の修正量であり、X、
Y、Z軸の修正量(exi ,eyi ,ezi )からなる
ベクトルである。図2の点列指令における点Pi の修正
量Ei の計算方法を以下に示す。図8は点列指令修正部
12aの点列指令の修正動作の説明図である。[0061] Step ST47 is a process of correction amount calculation unit 5a, calculates the correction amount E i of the point P i from the 7-point selected in step ST40,42,44,45,46. The correction amount E i is the correction amount of the i-th point sequence command P i , and X,
This is a vector including the correction amounts (ex i , ey i , ez i ) of the Y and Z axes. The calculation method of the correction amount E i of the point P i in the point sequence command of FIG. 2 will be described below. FIG. 8 is an explanatory diagram of the correction operation of the point sequence command by the point sequence command correction unit 12a.
【0062】まず、図8に示すように図2の点列指令か
ら線分ベクトルSi-3 ,Si-2 ,Si-1 ,Si ,
Si+1 ,Si+2 を計算する。Si-2 ,Si-1 ,Si ,S
i+1 としては式(103),(104),(105),
(106)を用い、Si-3 およびSi+2 としては次式を
用いる。 Si-3 =Pi-2 −Pi-3 =(Pxi-2 −Pxi-3 ,Pyi-2 −Pyi-3 ,Pzi-2 −Pzi-3 ) =(Sxi-3 ,Syi-3 ,Szi-3 ) (207) Si+2 =Pi+3 −Pi+2 =(Pxi+3 −Pxi+2 ,Pyi+3 −Pyi+2 ,Pzi+3 −Pzi+2 ) =(Sxi+2 ,Syi+2 ,Szi+2 ) (208)First, as shown in FIG. 8, the line segment vectors S i-3 , S i-2 , S i-1 , S i ,
Calculate S i + 1 and S i + 2 . S i-2 , S i-1 , S i , S
i + 1 The equation (103), (104), (105),
Using (106), the following equations are used as S i−3 and S i + 2 . S i-3 = P i- 2 -P i-3 = (Px i-2 -Px i-3, Py i-2 -Py i-3, Pz i-2 -Pz i-3) = (Sx i -3 , Sy i-3 , Sz i-3 ) (207) S i + 2 = P i + 3 −P i + 2 = (Pxi + 3− Pxi + 2 , Py i + 3 −Py i + 2, Pz i + 3 -Pz i + 2) = (Sx i + 2, Sy i + 2, Sz i + 2) (208)
【0063】次に、第1階差分ベクトル△Si-2 ,△S
i-1 ,△Si ,△Si+1 ,△Si+2を計算する。△S
i-1 ,△Si ,△Si+1 としては式(107),(10
8),(109)を用い、△Si-2 および△Si+2 とし
ては次式を用いる。 △Si-2 =Si-2 −Si-3 =(Sxi-2 −Sxi-3 ,Syi-2 −Syi-3 ,Szi-2 −Szi-3 ) (209) △Si+2 =Si+2 −Si+1 =(Sxi+2 −Sxi+1 ,Syi+2 −Syi+1 ,Szi+2 −Szi+1 ) (210)Next, the first-order difference vectors △ S i-2 , △ S
i−1 , △ S i , △ S i + 1 , △ S i + 2 are calculated. △ S
Equations (107) and (10) are used for i−1 , △ S i , and △ S i + 1.
8), (109), and the following equations are used as △ Si -2 and △ Si + 2 . ΔS i−2 = S i−2 −S i−3 = (Sx i−2 −Sx i−3 , Sy i−2 −Sy i−3 , Sz i−2 −Sz i−3 ) (209) ΔS i + 2 = S i + 2 −S i + 1 = (Sx i + 2 −Sx i + 1 , Sy i + 2 −Sy i + 1 , Sz i + 2 −Sz i + 1 ) (210)
【0064】次に、図8に示すような、第2階差分ベク
トル(差分ベクトル)△△Si-2 ,△△Si-1 ,△△S
i ,△△Si+1 を計算する。 △△Si-2 =△Si-1 −△Si-2 =Si-1 −2Si-2 +Si-3 (211) △△Si-1 =△Si −△Si-1 =Si −2Si-1 +Si-2 (212) △△Si =△Si+1 −△Si =Si+1 −2Si +Si-1 (213) △△Si+1 =△Si+2 −△Si+1 =Si+2 −2Si+1 +Si (214)Next, as shown in FIG. 8, a second-order difference vector (difference vector) △△ S i-2 , △△ S i-1 , △△ S
i , △△ S i + 1 are calculated. △△ S i-2 = S i-1- △ S i-2 = S i-1 -2S i-2 + S i-3 (211) △△ S i-1 = △ S i- △ S i- 1 = S i -2S i-1 + S i-2 (212) △△ S i = △ S i + 1- △ S i = S i + 1 -2S i + S i-1 (213) △△ S i + 1 = △ S i + 2 − △ S i + 1 = S i + 2 −2S i + 1 + S i (214)
【0065】図4の点列指令Pi-3 〜Pi+3 はほぼ等間
隔に配置されているので、前記第2階差分ベクトル△△
Si-2 ,△△Si-1 ,△△Si ,△△Si+1 はそれぞ
れ、点列指令軌跡Pi-3 〜Pi ,Pi-2 〜Pi+1 ,P
i-1 〜Pi+2 ,Pi 〜Pi+3 間の曲率の変化が大きい時
は値が大きく、前記曲率の変化が小さい時は小さい値と
なる。ここでは前記第2階差分べクトルを曲率評価値と
して用いる。Since the point sequence commands P i-3 to P i + 3 in FIG. 4 are arranged at substantially equal intervals, the second-order difference vector △△
S i−2 , △△ S i−1 , △△ S i , △△ S i + 1 are point sequence command trajectories P i−3 to P i , P i−2 to P i + 1 , P
i-1 ~P i + 2, P i ~P i + 3 between time values greater change in curvature is large, when the change of the curvature is small, a small value. Here, the second-order difference vector is used as a curvature evaluation value.
【0066】修正点Pi を修正量Ei だけ移動させる
と、式(211),(212),(213)の前記差分
ベクトルは以下のようになる。修正後の前記差分ベクト
ルを、△△Si-2 ’,△△Si-1 ’,△△Si ’,△△
Si+1 ’とする。 △△Si-2 ’=(Si-1 +Ei )−2Si-2 +Si-3 (215) △△Si-1 ’=(Si −Ei )−2(Si-1 +Ei ) +Si-2 (216) △△Si ’=Si+1 −2(Si −Ei )+(Si-1 +Ei ) (217) △△Si+1 ’=Si+2 −2Si+1 +(Si −Ei ) (218)When the correction point P i is moved by the correction amount E i , the difference vectors in the equations (211), (212) and (213) are as follows. The corrected difference vector is represented by △△ S i−2 ′, △△ S i−1 ′, △△ S i ′, △△
S i + 1 ′. Δ △ S i−2 ′ = (S i−1 + E i ) −2S i−2 + S i−3 (215) Δ △ S i−1 ′ = (S i −E i ) −2 (S i−1 + E i ) + S i−2 (216) ΔS i ′ = S i + 1 −2 (S i −E i ) + (S i−1 + E i ) (217) Δ △ S i + 1 ′ = S i + 2 -2S i + 1 + (S i -E i ) (218)
【0067】ここで、式(215),(216),(2
17),(218)の差分ベクトル△△Si-2 ’,△△
Si-1 ’,△△Si ’,△△Si+1 ’において、大きな
値を持つ差分ベクトルを小さくする修正量Ei を求める
ため、実施の形態1の式(113),(114)式と同
様に、前記差分ベクトルの各軸成分の2乗の和が最小と
なる修正量Ei を計算すると、式(117)に対応した
次式のような計算式が得られる。 Ei =−(−Pi-3 +6Pi-2 −15Pi-1 +20Pi −15Pi+1 +6Pi+2 −Pi+3 )/20 (219)Here, equations (215), (216), and (2)
17), (218) difference vector {S i-2 ′,}
In S i−1 ′, △△ S i ′, and △△ S i + 1 ′, in order to obtain the correction amount E i for reducing the difference vector having a large value, the equations (113) and (114) of the first embodiment are used. Similarly, when the correction amount E i that minimizes the sum of the squares of the respective axis components of the difference vector is calculated, the following equation corresponding to equation (117) is obtained. E i = − (− P i−3 + 6P i−2 −15 P i− 1 +20 P i −15 P i + 1 +6 P i + 2 −P i + 3 ) / 20 (219)
【0068】ステップST47においては式(219)
により修正量Ei を計算する処理が行われる。In step ST47, equation (219)
Processing is performed to calculate the correction amount E i by.
【0069】以上のように、この実施の形態2によれ
ば、点列指令の評価範囲を長くして前記曲率評価値に高
次の差分ベクトルを用いて修正量を計算することがで
き、点列指令全体をより滑らかな軌跡に修正することが
可能となる。As described above, according to the second embodiment, it is possible to extend the evaluation range of the point sequence command and calculate the correction amount using the higher-order difference vector for the curvature evaluation value. It is possible to correct the entire column command to a smoother trajectory.
【0070】実施の形態3.実施の形態1の点列指令修
正部12、あるいは実施の形態2の点列指令修正部12
aの動作は、点列指令の間隔がほぼ等間隔であれば有効
に働くが、等間隔でない場合、前記差分ベクトルの曲率
評価値と点列指令からなる軌跡の曲率との対応関係が悪
くなり、修正動作が有効に働かなくなる傾向がある。そ
こで、この実施の形態3では、点列指令の間隔が等間隔
でない場合にも点列指令の修正動作が有効に働くような
点列指令修正部を持つ数値制御装置について説明する。Embodiment 3 Point sequence command correcting unit 12 according to the first embodiment, or point sequence command correcting unit 12 according to the second embodiment.
The operation of a works effectively when the intervals of the point sequence commands are substantially equal intervals, but when the intervals are not equal, the correspondence between the curvature evaluation value of the difference vector and the curvature of the locus formed by the point sequence commands becomes poor. However, the corrective action tends to stop working effectively. Therefore, in a third embodiment, a numerical control device having a point sequence command correction unit that effectively performs the operation of correcting the point sequence command even when the intervals of the point sequence commands are not equal will be described.
【0071】図9はこの発明の実施の形態3による数値
制御装置の構成を示すブロック図であり、図において、
1bはこの実施の形態3の数値制御装置、5bは実施の
形態3の修正量計算部、12bは実施の形態3の点列指
令修正部である。図1に示した実施の形態1の数値制御
装置1との違いは、修正量計算部5bの処理の相違のみ
である。FIG. 9 is a block diagram showing a configuration of a numerical controller according to Embodiment 3 of the present invention.
Reference numeral 1b denotes a numerical controller according to the third embodiment, reference numeral 5b denotes a correction amount calculation unit according to the third embodiment, and reference numeral 12b denotes a point sequence command correction unit according to the third embodiment. The difference from the numerical control device 1 of the first embodiment shown in FIG. 1 is only the difference in the processing of the correction amount calculation unit 5b.
【0072】次に動作について説明する。図10はこの
実施の形態3の数値制御装置1bの点列指令修正部12
bの動作を示すフローチャートである。図10に示す処
理は、図3に示した実施の形態1の処理におけるステッ
プST9の代わりにステップST50の処理を行うもの
である。Next, the operation will be described. FIG. 10 shows a point sequence command correcting unit 12 of the numerical controller 1b according to the third embodiment.
6 is a flowchart illustrating the operation of FIG. The process shown in FIG. 10 performs the process of step ST50 instead of step ST9 in the process of the first embodiment shown in FIG.
【0073】ステップST50の処理は、図11に示す
ように点列指令が等間隔でない場合にも有効な修正量を
計算するものである。ここでは、評価範囲設定部4で選
択される点が修正点Pi とその前後の各2点、Pi-2 ,
Pi-1 ,Pi+1 ,Pi+2 の5点であるものとして修正量
Ei を計算する場合について説明する。もちろん、実施
の形態2のように前後各3点(計7点)を選択して修正
量を計算する場合においても同様に適用できることは言
うまでもない。The process of step ST50 is to calculate an effective correction amount even when the point sequence commands are not at equal intervals as shown in FIG. Here, the point selected by the evaluation range setting unit 4 is a correction point P i and two points before and after the correction point P i , P i−2 ,
The case where the correction amount E i is calculated assuming that the five points are P i−1 , P i + 1 , and P i + 2 will be described. Of course, it is needless to say that the present invention can be similarly applied to the case where the correction amount is calculated by selecting each of three points before and after (a total of seven points) as in the second embodiment.
【0074】点列指令の修正量Ei の計算式は以下の手
順で求める。まず、式(103),(104),(10
5)を用いて図12に示すような線分ベクトルSi-2 ,
Si- 1 ,Si ,Si+1 を計算する。次に、前記線分ベク
トルSi-2 ,Si-1 ,Si ,Si+1 の線分長Li-2 ,L
i-1 ,Li ,Li+1 を次式により求める。 Li-2 =sqrt(Sxi-2 ^2+Syi-2 ^2 +Szi-2 ^2) (301) Li-1 =sqrt(Sxi-1 ^2+Syi-1 ^2 +Szi-1 ^2) (302) Li =sqrt(Sxi ^2+Syi ^2+Szi ^2) (303) Li+1 =sqrt(Sxi+1 ^2+Syi+1 ^2 +Szi+1 ^2) (304)The formula for calculating the correction amount E i of the point sequence command is obtained by the following procedure. First, equations (103), (104), and (10
5), line segment vectors S i−2 ,
Calculate S i − 1 , S i , and S i + 1 . Next, the line segment lengths L i-2 , L i-2 of the line segment vectors S i-2 , S i-1 , S i , S i + 1
i−1 , L i , and L i + 1 are obtained by the following equations. L i-2 = sqrt (Sxi -2 ^ 2 + Syi -2 ^ 2 + Szi -2 ^ 2) (301) Li -1 = sqrt (Sxi -1 ^ 2 + Syi -1 ^ 2 + Szi -1 ^ 2) (302) L i = sqrt (Sx i ^ 2 + Sy i ^ 2 + Sz i ^ 2) (303) L i + 1 = sqrt (Sx i + 1 ^ 2 + Sy i + 1 ^ 2 + Sz i + 1 ^ 2) (304)
【0075】次に、次式のような第1階差分ベクトル△
Wi-1 ,△Wi ,△Wi+1 を計算する。 △Wi-1 =Qi-1 Si-1 −Ri-1 Si-2 =(Qi-1 Sxi-1 −Ri-1 Sxi-2 , Qi-1 Syi-1 −Ri-1 Syi-2 , Qi-1 Szi-1 −Ri-1 Szi-2 ) (305) △Wi =Qi Si −Ri Si-1 =(Qi Sxi −Ri Sxi-1 , Qi Syi −Ri Syi-1 , Qi Szi −Ri Szi-1 ) (306) △Wi+1 =Qi+1 Si+1 −Ri+1 Si =(Qi+1 Sxi+1 −Ri+1 Sxi , Qi+1 Syi+1 −Ri+1 Syi , Qi+1 Szi+1 −Ri+1 Szi ) (307)Next, the first-order difference vector △
Calculate Wi -1 , △ Wi , △ Wi + 1 . ΔW i−1 = Q i−1 S i−1 −R i−1 S i−2 = (Q i−1 Sx i−1 −R i−1 Sxi i−2 , Q i−1 Sy i− 1− R i−1 Sy i−2 , Q i−1 Sz i−1 −R i−1 Sz i−2 ) (305) ΔW i = Q i S i −R i S i−1 = (Q i Sx i -R i Sx i- 1, Q i Sy i -R i Sy i-1, Q i Sz i -R i Sz i-1) (306) △ W i + 1 = Q i + 1 S i +1 -R i + 1 S i = (Q i + 1 Sx i + 1 -R i + 1 Sx i, Q i + 1 Sy i + 1 -R i + 1 Sy i, Q i + 1 Sz i + 1− R i + 1 Sz i ) (307)
【0076】ここで、Qi-1 ,Ri-1 ,Qi ,Ri ,Q
i+1 ,Ri+1 は前記線分ベクトルの重み係数であり、下
式のように線分べクトルの長さを用いて計算する。 Qi-1 =2/{Li-1 (Li-1 +Li-2 )} (308−1) Ri-1 =2/{Li-2 (Li-1 +Li-2 )} (308−2) Qi =2/{Li (Li +Li-1 )} (309−1) Ri =2/{Li-1 (Li +Li-1 )} (309−2) Qi+1 =2/{Li+1 (Li+1 +Li )} (310−1) Ri+1 =2/{Li (Li+1 +Li )} (310−2)Here, Q i−1 , R i−1 , Q i , R i , Q
i + 1 and Ri + 1 are weight coefficients of the line segment vector, and are calculated using the length of the line segment vector as in the following equation. Q i-1 = 2 / {L i-1 (L i-1 + L i-2 )} (308-1) R i-1 = 2 / {L i-2 (L i-1 + L i-2 ) } (308-2) Q i = 2 / {L i (L i + L i-1)} (309-1) R i = 2 / {L i-1 (L i + L i-1)} (309- 2) Q i + 1 = 2 / {L i + 1 (L i + 1 + L i)} (310-1) R i + 1 = 2 / {L i (L i + 1 + L i)} (310- 2)
【0077】図12に示すように、点列指令Pi-2 〜P
i+2 が不等間隔に配置されている場合でも、前記第1階
差分ベクトル△Wi-1 ,△Wi ,△Wi+1 は線分長に関
する量により重み付けがなされているため、△Wi-1 ,
△Wi ,△Wi+1 はそれぞれ、点列指令軌跡Pi-2 〜P
i 間,Pi-1 〜Pi+1 間,Pi 〜Pi+2 間の平均曲率に
対応したベクトルとなる。ここではこの差分ベクトルを
曲率評価値として用いる。As shown in FIG. 12, point sequence commands P i-2 to P i-2 to P
Even when i + 2 are arranged at unequal intervals, the first-order difference vectors △ W i−1 , △ W i , △ W i + 1 are weighted by the amounts related to the line segment lengths. △ W i-1 ,
ΔW i and ΔW i + 1 are point sequence command trajectories P i−2 to P i−2 respectively.
between i, between P i-1 ~P i + 1 , the vector corresponding to the average curvature between P i ~P i + 2. Here, this difference vector is used as a curvature evaluation value.
【0078】修正点Pi を修正量Ei だけ移動させる
と、式(305),(306),(307)の前記3つ
の差分ベクトルは以下のようになる。修正後の前記差分
ベクトルを△Wi-1 ’,△Wi ’,△Wi+1 ’とする。 △Wi-1 ’=Qi-1 (Si-1 +Ei )−Ri-1 Si-2 (311) △Wi ’=Qi (Si −Ei )−Ri (Si-1 +Ei ) (312) △Wi+1 ’=Qi+1 Si+1 −Ri+1 (Si −Ei ) (313)When the correction point P i is moved by the correction amount E i , the three difference vectors in the equations (305), (306), and (307) are as follows. The corrected difference vectors are denoted by △ W i−1 ′, △ W i ′, and △ W i + 1 ′. ΔW i−1 ′ = Q i−1 (S i−1 + E i ) −R i−1 S i−2 (311) ΔW i ′ = Q i (S i −E i ) −R i (S i-1 + Ei ) (312) ΔW i + 1 '= Q i + 1 S i + 1 -R i + 1 (S i -E i ) (313)
【0079】ここで式(311),(312),(31
3)の差分ベクトル△Wi-1 ’,△Wi ’,△Wi+1 ’
において大きな値を持つ差分ベクトルを小さくする修正
量Ei を求めるため、実施の形態1における式(11
3),(114)と同様に、前記差分ベクトルの各軸成
分の2乗の和が最小となる修正量Ei を計算すると、式
(117)に対応した次式のような計算式が得られる。 Ei =−(K1 Pi-2 +K2 Pi-1 +K3 Pi +K4 Pi+1 +K5 Pi+2 )/K6 (314) ここで、 K1 =Qi-1 Ri-1 K2 =−Qi-1 2−Qi-1 Ri-1 −Ri 2+Qi Ri K3 =Qi-1 2+Qi 2+2Qi Ri +Ri 2+Ri+1 2 K4 =−Qi Ri +Qi+1 2−Qi+1 Ri+1 −Ri+1 2 K5 =Qi+1 Ri+1 K6 =Qi-1 2+Qi 2+2Qi Ri +Ri 2+Ri+1 2 (315) である。Here, equations (311), (312), and (31)
3) Difference vectors △ W i−1 ′, △ W i ′, △ W i + 1 ′
To determine the correction amount E i to reduce the difference vector having a large value in the formula in the first embodiment (11
Similarly to (3) and (114), when the correction amount E i that minimizes the sum of the squares of the respective axis components of the difference vector is calculated, the following equation corresponding to equation (117) is obtained. Can be E i = - (K 1 P i-2 + K 2 P i-1 + K 3 P i + K 4 P i + 1 + K 5 P i + 2) / K 6 (314) where, K 1 = Q i-1 R i-1 K 2 = -Q i-1 2 -Q i-1 R i-1 -R i 2 + Q i R i K 3 = Q i-1 2 + Q i 2 + 2Q i R i + R i 2 + R i +1 2 K 4 = −Q i R i + Q i + 1 2 −Q i + 1 R i + 1 −R i + 1 2 K 5 = Q i + 1 R i + 1 K 6 = Q i−1 2 + Q i 2 + 2Q i R i + R i 2 + R i + 1 2 (315) is.
【0080】ステップST50では式(314)により
修正量Ei を計算する処理が行われる。[0080] The processing of calculating the correction amount E i by step ST50 formula (314) is performed.
【0081】以上のように、この実施の形態3によれ
ば、点列指令間の距離(線分長)に関する量により重み
付けされた線分から求めた差分ベクトルを曲率評価値と
して用い、前記差分ベクトルの大きな値が小さくなるよ
うに点列指令を移動するため、点列指令が等間隔でない
場合においても点列指令を滑らかにする良好な点列指令
の修正を実現することができる。As described above, according to the third embodiment, the difference vector obtained from the line segment weighted by the quantity (line segment length) between the point sequence commands is used as the curvature evaluation value. Since the point sequence command is moved so that the large value of becomes small, it is possible to realize a favorable correction of the point sequence command that makes the point sequence command smooth even when the point sequence commands are not at equal intervals.
【0082】実施の形態4.前記実施の形態1および
2、あるいは実施の形態3で用いた方法は、本来の軌跡
の曲率変化が大きい場合や、点列間隔が大きい場合には
十分な効果を得ることができない。そこで、この実施の
形態4では、評価範囲内において曲率変化が大きいよう
な場合に対しても、点列指令の修正動作が有効に働くよ
うな点列指令修正部を持つ数値制御装置について説明す
る。この方法の考え方は、本来の軌跡と同じあるいは類
似する曲線を用いて、局所的に本来の曲線に当てはめる
ことにより、誤差成分を取り除くことである。また、こ
の方式によれば、点列指令が等間隔でない場合にも点列
指令の修正動作が有効に働く。Embodiment 4 The method used in the first and second embodiments or the third embodiment cannot provide a sufficient effect when the curvature of the original trajectory changes greatly or when the interval between the point rows is large. Therefore, in the fourth embodiment, a numerical control device having a point sequence command correction unit that effectively performs a point sequence command correction operation even in a case where the curvature change is large within the evaluation range will be described. . The idea of this method is to remove an error component by locally applying the original curve using the same or similar curve as the original trajectory. Further, according to this method, the correction operation of the point sequence command works effectively even when the point sequence commands are not at equal intervals.
【0083】図13はこの発明の実施の形態4による数
値制御装置の構成を示すブロック図であり、図におい
て、1cは実施の形態4の数値制御装置、5cは実施の
形態4の修正量計算部、12cは実施の形態4の点列指
令修正部である。図1に示した実施の形態1の数値制御
装置1との違いは、修正量計算部5cの処理の相違のみ
である。FIG. 13 is a block diagram showing a configuration of a numerical controller according to a fourth embodiment of the present invention. In the figure, reference numeral 1c denotes a numerical controller according to the fourth embodiment, and 5c denotes a correction amount calculation according to the fourth embodiment. The unit 12c is a point sequence command correcting unit according to the fourth embodiment. The difference from the numerical control device 1 of the first embodiment shown in FIG. 1 is only the difference in the processing of the correction amount calculation unit 5c.
【0084】次に動作について説明する。図14は実施
の形態4の数値制御装置1cの点列指令修正部12cの
動作を示すフローチャートである。点列指令修正部12
cの動作は、図3のステップST3,4,5,6,8の
代わりにステップST60を用い、図3のステップST
9の代わりにステップST61を用いる他は、図3に示
した実施の形態1における動作と同様である。Next, the operation will be described. FIG. 14 is a flowchart showing the operation of the point sequence command correction unit 12c of the numerical controller 1c according to the fourth embodiment. Point sequence command correction unit 12
The operation c is performed by using step ST60 instead of steps ST3, 4, 5, 6, and 8 in FIG.
The operation is the same as that of the first embodiment shown in FIG.
【0085】以下、ステップST60およびステップS
T61の処理について述べる。その他の処理は図3処理
と同様であり、説明を省略する。Hereinafter, step ST60 and step S60
The process of T61 will be described. The other processing is the same as the processing in FIG. 3 and the description is omitted.
【0086】まず、ステップST60の処理について説
明する。ステップST60においては、点列の評価範囲
を設定するが、実施の形態1と異なり、点の個数は固定
ではなく、前方nf点、後方nb点(計1+nf+nb
点)である。すなわち、この実施の形態では、選択する
評価範囲の点の数は必ずしも固定である必要がなく、調
節可能である。もちろん、簡単のため、実施の形態1の
ようにnf=nb=2、あるいは実施の形態3のように
nf=nb=3に固定するのは任意である。First, the process of step ST60 will be described. In step ST60, the evaluation range of the point sequence is set, but unlike the first embodiment, the number of points is not fixed, and the front nf point and the rear nb point (total 1 + nf + nb)
Point). That is, in this embodiment, the number of points in the evaluation range to be selected does not necessarily have to be fixed, but can be adjusted. Of course, for simplicity, it is optional to fix nf = nb = 2 as in the first embodiment or nf = nb = 3 as in the third embodiment.
【0087】一般に、点の数が増えれば、より広い範囲
に曲線を当てはめるため、軌跡をより滑らかにする効果
が得られる。ただし、評価範囲内の点の数は、曲線の次
数+2以上でないと、軌跡を滑らかにする効果がない。
例えば、曲線の次数を2とすると、点の数は4以上であ
る必要がある。In general, as the number of points increases, a curve is applied to a wider range, so that the effect of making the locus smoother can be obtained. However, unless the number of points within the evaluation range is equal to or greater than the order of the curve + 2, there is no effect of smoothing the trajectory.
For example, if the degree of the curve is 2, the number of points needs to be 4 or more.
【0088】次に、ステップST61の処理について説
明する。ステップST61においては、評価範囲内に、
近似的な曲線を当てはめる。その曲線をP(t)とおけ
ば、修正量Ei は、 Ei =P(ti )−Pi (401) で与えられる。ここで、tは曲線パラメータ、ti はP
i に対応する曲線パラメータである。Next, the process of step ST61 will be described. In step ST61, within the evaluation range,
Fit an approximate curve. If the curve is denoted by P (t), the correction amount E i is given by E i = P (t i ) −P i (401). Where t is a curve parameter and t i is P
This is a curve parameter corresponding to i .
【0089】ここで、曲線は、本来の軌跡と同じ種類の
曲線を用いるのが最も適切である。例えば、設計者がC
ADによりデザインする際に4次の曲線を用いていれ
ば、4次の曲線をあてはめることが最適である。しか
し、仮に設計者が高次の曲線を用いて設計していても、
現実のデザインとしては、局所的に見れば、低次の曲線
に十分精度よく近似でき、また、モータを制御する観点
からも、速度(曲線の1次微分に対応)や加速度(2次
微分に対応)が連続であれば十分である。また、曲線が
高次になればなるほど、計算量が多くなるという欠点も
ある。そのため、必要以上に高次の曲線を用いることは
必ずしも適切ではない。すなわち、実際的には、2次や
3次といった低次のスプライン曲線でほとんど十分であ
る。逆に、1次の曲線(すなわち直線)を用いた場合に
は、軌跡を滑らかにする効果は期待できず、むしろ軌跡
を必要以上に変形させてしまい、適当ではない。以下で
は、2次のスプライン曲線を用いた場合について述べ
る。2次のスプライン曲線は以下の式で与えられる。 P(t)={X(t)Y(t)Z(t)} (402) ここで、X(t),Y(t),Z(t)は、それぞれ以
下で与えられる。 X(t)=Cx2 ・t2 +Cx1 ・t+Cx0 (403) Y(t)=Cy2 ・t2 +Cy1 ・t+Cy0 (404) Z(t)=Cz2 ・t2 +Cz1 ・t+Cz0 (405)Here, it is most appropriate to use the same type of curve as the original trajectory. For example, if the designer
If a quartic curve is used when designing with AD, it is optimal to apply a quartic curve. However, even if the designer designs using higher-order curves,
As a real design, when viewed locally, a low-order curve can be approximated with sufficient accuracy, and from the viewpoint of controlling the motor, the speed (corresponding to the first derivative of the curve) and the acceleration (corresponding to the second derivative of the curve) It is sufficient if the response is continuous. There is also a disadvantage that the higher the curve, the greater the amount of calculation. Therefore, it is not always appropriate to use a higher-order curve than necessary. That is, in practice, a low-order spline curve such as quadratic or cubic is almost enough. Conversely, if a first-order curve (that is, a straight line) is used, the effect of smoothing the trajectory cannot be expected, but rather the trajectory is deformed more than necessary, which is not appropriate. Hereinafter, a case where a quadratic spline curve is used will be described. The quadratic spline curve is given by the following equation. P (t) = {X (t) Y (t) Z (t)} (402) Here, X (t), Y (t) and Z (t) are respectively given as follows. X (t) = Cx 2 · t 2 + Cx 1 · t + Cx 0 (403) Y (t) = Cy 2 · t 2 + Cy 1 · t + Cy 0 (404) Z (t) = Cz 2 · t 2 + Cz 1 · t + Cz 0 (405)
【0090】図15は2次スプライン曲線のあてはめの
一例を示す模式図である。図においては、nb=nf=
2であり、評価範囲であるPi-2 ,Pi-1 ,Pi ,P
i+1 ,Pi+2 の計5点に対し、近似的な2次スプライン
曲線を当てはめている。修正前のPi が2次スプライン
曲線上の対応する点に近づくように修正量Ei が求めら
れる。FIG. 15 is a schematic diagram showing an example of fitting a quadratic spline curve. In the figure, nb = nf =
2 and the evaluation ranges P i−2 , P i−1 , P i , P
Approximate quadratic spline curves are applied to a total of five points, i + 1 and Pi + 2 . Correction amount E i is calculated as unmodified P i approaches the corresponding points on the secondary spline curve.
【0091】式(403),(404),(405)に
おいて、Cx2 ,Cx1 ,Cx0 などの係数は、最小2
乗法を用いて求めることができる。すなわち、Cx2 ,
Cx1 ,Cx0 については、 {Cx2 、Cx1 、Cx0 }’ =[inv(A’×A)]×(A’×b) (406) (上式において、’は、行列の転置を意味する)とな
る。ここで、A,bは、次のように与えられる。 A=[fi-nb fi-nb+1 … fi … fi+nf-1 fi+nf]’ (407) fi ={ti 2 ti 1}’ (408) b={Pxi-nb Pxi-nb+1 … Pxi … … Pxi+nf-1 Pxi+nf}’ (409) ここで、Pxi はインデックスiの点のx座標値であ
る。In equations (403), (404), and (405), the coefficients such as Cx 2 , Cx 1 , and Cx 0 are at least 2
It can be obtained by using the multiplication method. That is, Cx 2 ,
For Cx 1 and Cx 0 , {Cx 2 , Cx 1 , Cx 0 } ′ = [inv (A ′ × A)] × (A ′ × b) (406) ). Here, A and b are given as follows. A = [f i-nb f i-nb + 1 ... f i ... f i + nf-1 f i + nf] '(407) f i = {t i 2 t i 1}' (408) b = { px i-nb px i-nb + 1 ... px i ... ... px i + nf-1 px i + nf} '(409) where, px i is the x-coordinate value of a point of the index i.
【0092】Y,Z軸成分に関しても、同様に求められ
る。図16は、途中で曲率が変化するような軌跡に対し
て、この方法を適用した例を示すグラフ図である。修正
前の点(×印で表示)においては、図中左側では曲率が
大きく、図中右側では曲率が小さい。その境界あたり
(図中中央付近)で曲率が変化しており、その箇所に段
差状の誤差成分が観察できる。この方法を適用すること
により、修正後の点(○印)は滑らかな軌跡になってい
ることがわかる。以上では、2次のスプライン曲線を用
いた場合について述べたが、3次以上の曲線、有理多項
式で表される曲線、円弧や楕円などの曲線を用いても、
同様に適用することができる。The Y and Z axis components are obtained in the same manner. FIG. 16 is a graph showing an example in which this method is applied to a locus whose curvature changes halfway. At the point before correction (indicated by a cross), the curvature is large on the left side in the figure and small on the right side in the figure. The curvature changes around the boundary (near the center in the figure), and a step-like error component can be observed at that location. By applying this method, it can be seen that the corrected point (修正) has a smooth trajectory. In the above, the case where a quadratic spline curve is used has been described. However, even if a cubic or higher curve, a curve represented by a rational polynomial, or a curve such as an arc or an ellipse is used,
The same can be applied.
【0093】以上のように、この実施の形態4によれ
ば、評価範囲内において曲率の変化や点列指令間の間隔
の変化が大きいような点列指令に対しても、点列指令の
修正動作を有効に働かせることができる。As described above, according to the fourth embodiment, correction of a point sequence command can be performed even for a point sequence command in which a change in curvature or a change in the interval between point sequence commands is large within the evaluation range. The operation can work effectively.
【0094】実施の形態5.図17はこの発明の実施の
形態5による数値制御装置の構成を示すブロック図であ
り、図において、1dはこの実施の形態5の数値制御装
置、7dは実施の形態5の点列移動部である。点列移動
部7dは、点列指令入力部3の点列指令の位置を修正量
制限部6の出力に応じて移動させるとともに、この移動
させた点列指令を評価範囲設定部4に出力する。12d
は実施の形態5の点列指令修正部である。図1に示した
実施の形態1の数値制御装置1との相違は、点列移動部
7dにおける移動結果を評価範囲設定部4における次の
評価範囲設定に用いることである。Embodiment 5 FIG. 17 is a block diagram showing a configuration of a numerical control device according to a fifth embodiment of the present invention. In the drawing, reference numeral 1d denotes a numerical control device according to the fifth embodiment, and 7d denotes a point sequence moving unit according to the fifth embodiment. is there. The point sequence moving unit 7d moves the position of the point sequence command of the point sequence command input unit 3 in accordance with the output of the correction amount limiting unit 6, and outputs the moved point sequence command to the evaluation range setting unit 4. . 12d
Denotes a point sequence command correction unit according to the fifth embodiment. The difference from the numerical control device 1 of the first embodiment shown in FIG. 1 is that the movement result in the point sequence moving unit 7 d is used for the next evaluation range setting in the evaluation range setting unit 4.
【0095】次に動作について説明する。図18はこの
実施の形態5の数値制御装置1dの点列指令修正部12
dの動作を示すフローチャートである。図18のステッ
プST1〜ステップST26の処理は図3のものと同様
の処理であり、説明を省略する。Next, the operation will be described. FIG. 18 shows a point sequence command correcting unit 12 of the numerical controller 1d according to the fifth embodiment.
It is a flowchart which shows operation | movement of d. The processing in steps ST1 to ST26 in FIG. 18 is the same as that in FIG. 3, and a description thereof will be omitted.
【0096】図18には、図3のステップST22,2
4,25,27の処理がなく、ステップST26の処理
がステップST18とステップST23の処理の間で行
われる点が異なる。図18のステップST26で修正が
行われた点列指令Pi を用いて、前記Pi の次の点P
i+1 の修正量の計算(ステップST3〜ステップST2
1)が繰り返し行われる。FIG. 18 shows steps ST22 and ST2 in FIG.
The difference is that there is no processing in steps 4, 25, and 27, and the processing in step ST26 is performed between the processing in step ST18 and the processing in step ST23. Using a column command P i that modifications were made in step ST26 of FIG. 18, the following points P of the P i
Calculation of the correction amount of i + 1 (steps ST3 to ST2)
1) is repeated.
【0097】以上のように、この実施の形態5によれ
ば、修正された点列指令を用いて次の点列の修正計算を
行うため、より滑らかな点列指令の修正を実現すること
ができる。なお、上記においては、実施の形態1の方法
を繰り返す場合について説明したが、実施の形態2,実
施の形態3,あるいは実施の形態4の方法についても、
ブロック図およびフローチャートに同様の変更を施すこ
とにより、繰り返しによる性能の向上を図ることが可能
である。As described above, according to the fifth embodiment, since the correction calculation of the next point sequence is performed using the corrected point sequence command, a smoother correction of the point sequence command can be realized. it can. In the above description, the case of repeating the method of the first embodiment has been described. However, the method of the second, third, or fourth embodiment is also described.
By making similar changes to the block diagrams and flowcharts, it is possible to improve performance by repetition.
【0098】実施の形態6.いろいろな種類の軌跡が組
み合わされた場合や、誤差成分が特定の箇所にのみ存在
する場合に、より正確に誤差だけを取り除くためには、
軌跡の種類や誤差の有無などの点列の性状に応じて、評
価範囲や修正量計算方法を可変にできる効果がある。そ
こで、この実施の形態6においては、評価範囲や修正量
計算方法を可変にできるような点列指令修正部を持つ数
値制御装置について説明する。Embodiment 6 FIG. In order to more accurately remove only errors when various types of trajectories are combined or when error components exist only at specific locations,
There is an effect that the evaluation range and the correction amount calculation method can be changed according to the properties of the point sequence such as the type of the trajectory and the presence or absence of an error. Therefore, in the sixth embodiment, a numerical control device having a point sequence command correction unit that can change the evaluation range and the correction amount calculation method will be described.
【0099】図19はこの発明の実施の形態6による数
値制御装置の構成を示すブロック図であり、図におい
て、1eは実施の形態6の数値制御装置、12eは実施
の形態6の点列指令修正部、13は入力された点列指令
の軌跡の正常を判断する軌跡判断部である。図1に示し
た実施の形態1の数値制御装置1との相違は、軌跡判断
部13を含むことである。FIG. 19 is a block diagram showing a configuration of a numerical controller according to a sixth embodiment of the present invention. In the figure, reference numeral 1e denotes a numerical controller according to the sixth embodiment, and 12e denotes a point sequence command according to the sixth embodiment. The correction unit 13 is a trajectory determination unit that determines the normality of the trajectory of the input point sequence command. The difference from the numerical control device 1 of the first embodiment shown in FIG.
【0100】次に動作について説明する。図20は実施
の形態6の数値制御装置1eの前記点列指令修正部12
eの軌跡判断部13の動作を示すフローチャートであ
る。ステップST80では、誤差成分があるかどうかを
チェックする。誤差成分があるかどうかは、実施の形態
1で述べた第1階差分ベクトルにより判定する。Next, the operation will be described. FIG. 20 shows the point sequence command correcting unit 12 of the numerical controller 1e according to the sixth embodiment.
9 is a flowchart illustrating an operation of a trajectory determination unit 13 of e. In step ST80, it is checked whether there is an error component. Whether there is an error component is determined based on the first-order difference vector described in the first embodiment.
【0101】誤差成分により、段差,突起,ガタガタな
どが生じている箇所では,いずれも隣接する第1階差分
ベクトルの方向が逆に向いている.そこで、加速度ベク
トルの方向が逆を向いている箇所およびその周辺を誤差
成分がある箇所とする。誤差成分がない場合には、滑ら
かにする必要がないため、評価範囲に含めない。誤差成
分がある場合には、ステップST81に処理を進める。In the places where steps, protrusions, rattles, etc. occur due to error components, the directions of the adjacent first-order difference vectors are all opposite. Therefore, the location where the direction of the acceleration vector is opposite and its surroundings are defined as locations where there is an error component. If there is no error component, it is not necessary to smooth it, so it is not included in the evaluation range. If there is an error component, the process proceeds to step ST81.
【0102】ステップST81では、点列の間隔をチェ
ックする。間隔の判定は、適当な基準値を設定してお
き、その値と比較することによる。点列の間隔が長い場
合には、連続した曲線の一部とみなすことは適当ではな
いため、評価範囲に含めない。間隔が短い場合には、ス
テップST82に処理を進める。In step ST81, the interval of the point sequence is checked. The determination of the interval is made by setting an appropriate reference value and comparing it with the value. If the interval between the points is long, it is not appropriate to regard it as a part of a continuous curve, so that it is not included in the evaluation range. If the interval is short, the process proceeds to step ST82.
【0103】ステップST82では、コーナーかどうか
をチェックする。コーナーかどうかは、実施の形態1で
述べた第1階差分べクトルにより判定する。第1階差分
ベクトルが大きな値を示す点が単独であり、かつ、その
周辺の第1階差分ベクトルが小さい点を、コーナーとす
る。コーナーであれば、この点は、滑らかにするのでは
なく、厳密にコーナーを通過するべきなので、評価範囲
に含めない。コーナーでなければ、ステップST83に
処理を進め、評価範囲に含める。In step ST82, it is checked whether or not it is a corner. Whether it is a corner or not is determined by the first-order difference vector described in the first embodiment. A point where the first-order difference vector has a large value is a single point, and a point around which the first-order difference vector is small is a corner. If it is a corner, this point is not included in the evaluation range because it should pass through the corner strictly, not smooth. If it is not a corner, the process proceeds to step ST83, and is included in the evaluation range.
【0104】評価範囲設定部4は、上記により判断され
た結果が「評価範囲に含める」であれば、入力された点
を評価範囲に含め、逆に、判断された結果が「評価範囲
に含めない」であれば、入力された点を評価範囲に含め
ない。If the result determined as described above is “included in the evaluation range”, the evaluation range setting unit 4 includes the input point in the evaluation range, and conversely, the determined result is included in the “included in the evaluation range”. If not, the entered point is not included in the evaluation range.
【0105】さらに、引き続いて、ステップST85に
処理を進める。ステップST85では、曲率が一定の区
間かどうかをチェックする。曲率は、実施の形態1で述
べた第1階差分ベクトルで代用する。曲率が一定でない
場合は、ステップST89に処理を進め、曲線をあては
めることによる方法を選択する。Subsequently, the process proceeds to step ST85. In step ST85, it is checked whether or not the curvature is in a constant section. The curvature is substituted by the first-order difference vector described in the first embodiment. If the curvature is not constant, the process proceeds to step ST89, and a method by fitting a curve is selected.
【0106】曲率が一定であれば、ステップST86に
処理を進める。ステップST86では、評価範囲内の点
列の間隔が均一かどうかを判断し、均一であれば、ステ
ップST87に処理を進め、1次差分による方法または
2次差分による方法を選択し、均一でなければステップ
ST88に処理を進め、重み付き1次差分による方法ま
たは重み付き2次差分による方法を選択する。If the curvature is constant, the process proceeds to step ST86. In step ST86, it is determined whether or not the intervals between the point sequences in the evaluation range are uniform. If the intervals are uniform, the process proceeds to step ST87, where a method using the primary difference or a method using the secondary difference is selected, and the method must be uniform. For example, the process proceeds to step ST88, and a method using a weighted primary difference or a method using a weighted secondary difference is selected.
【0107】修正量計算部5は、ここで選択した方法に
より、修正量を計算する。なお、上記において、ステッ
プST80,82,85においては、第1階差分ベクト
ルを用いて軌跡の性状を判断したが、実施の形態3で述
べた線分長さで重みづけされた第1階差分ベクトル(△
Wi )を用いてもよい。The correction amount calculation unit 5 calculates the correction amount by the method selected here. In the above, in steps ST80, ST82, and ST85, the property of the trajectory is determined using the first-order difference vector, but the first-order difference weighted by the line segment length described in the third embodiment is used. Vector (△
Wi ) may be used.
【0108】図21は、評価範囲や修正量計算方法を固
定にした場合の点列指令の修正結果を示す模式図であ
る。図中、×印は修正前の点、*印は誤差を含む修正前
の点、○印は修正後の点、破線は修正前の点を結んだ
線、実線は修正後の点を結んだ線を示す。この図におい
ては、評価範囲や修正量計算方法を固定にしているた
め、次のような問題点が生じている。 (1)誤差のないコーナーの箇所も滑らかにしてしま
い、内回りする(図中1の箇所)。 (2)誤差のない曲線の箇所も滑らかにしてしまい、わ
ずかだが内回りする(図中2の箇所。図ではほとんどわ
からないが、点列間隔の数%程度内回りしている)。 (3)点列間隔の長い箇所の周辺では、形状が大きく崩
れる場合がある(図中3の箇所)。FIG. 21 is a schematic diagram showing the correction result of the point sequence command when the evaluation range and the correction amount calculation method are fixed. In the figure, crosses indicate points before correction, * marks indicate points before correction including errors, ○ marks indicate points after correction, broken lines indicate lines connecting points before correction, and solid lines indicate points after correction. Indicates a line. In this figure, since the evaluation range and the correction amount calculation method are fixed, the following problems occur. (1) A corner portion having no error is also smoothed and turns inward (a portion 1 in the figure). (2) The portion of the curve having no error is also smoothed and slightly inward (the portion in FIG. 2; it is hardly understood in the figure, but it is inward by about several percent of the point sequence interval). (3) In the vicinity of a place having a long dot row interval, the shape may be largely distorted (the place 3 in the figure).
【0109】図22はこの実施の形態6における方法を
適用した場合の点列指令の修正結果を示す模式図であ
る。上記の方法を用いることにより、上記問題点がなく
なり、必要な個所のみを的確に滑らかにすることが可能
となっている。FIG. 22 is a schematic diagram showing a correction result of a point sequence command when the method according to the sixth embodiment is applied. By using the above method, the above-mentioned problem is eliminated, and it is possible to precisely smooth only necessary portions.
【0110】以上のように、この実施の形態6によれ
ば、いろいろな種類の軌跡が組み合わされている場合
や、誤差成分が特定の箇所にのみ存在するような場合に
も、的確に誤差だけを取り除くことが可能となる。As described above, according to the sixth embodiment, even when various types of trajectories are combined, or when an error component exists only at a specific location, only the error can be accurately detected. Can be removed.
【0111】[0111]
【発明の効果】以上のように、請求項1記載の発明によ
れば、修正量計算部が、点列指令を通過する曲線の曲率
に相当する曲率評価値を評価範囲内の複数箇所で計算す
るとともに、前記複数の曲率評価値の中で値の大きなも
のを小さくするように前記点列指令の修正量を計算する
ように構成したので、点列指令の修正において点列指令
全体を滑らかにする有効な修正を行うことができ、工作
機械による加工面を滑らかにし、工作機械に不必要な加
速度が加わって工作機械を損傷するような事態を有効に
防止することができる効果がある。As described above, according to the first aspect of the present invention, the correction amount calculating unit calculates the curvature evaluation value corresponding to the curvature of the curve passing the point sequence command at a plurality of points within the evaluation range. In addition, since the correction amount of the point sequence command is calculated so as to reduce a large value among the plurality of curvature evaluation values, the entire point sequence command is smoothly corrected in the correction of the point sequence command. This makes it possible to effectively prevent a situation in which the machine tool is smoothened and the machine tool is damaged by unnecessary acceleration.
【0112】請求項2記載の発明によれば、修正量計算
部が、曲率評価値として、連続する点列指令を結ぶ線分
ベクトルの1次または高次の変化量を示す差分ベクトル
を用いるように構成したので、線分ベクトルの変化量を
示す差分ベクトルの単純な計算を行うことにより、差分
ベクトルの階数に応じた広い範囲の点列指令を用いて点
列指令の修正量を計算することができ、点列指令全体を
より滑らかにする有効な修正を行うことができる効果が
ある。また、円弧のような滑らかな軌跡を表現している
点列指令の場合にも、従来の方法におけるように軌跡を
劣化させることなく滑らかな点列指令を得ることができ
る効果がある。According to the second aspect of the present invention, the correction amount calculation unit uses a difference vector indicating a first-order or higher-order change amount of a line vector connecting continuous point sequence commands as the curvature evaluation value. By calculating the difference vector indicating the amount of change of the line segment vector, the amount of correction of the point sequence command can be calculated using a wide range of point sequence commands corresponding to the rank of the difference vector. Thus, there is an effect that an effective correction that makes the entire point sequence command smoother can be performed. Further, even in the case of a point sequence command expressing a smooth trajectory such as an arc, there is an effect that a smooth point sequence command can be obtained without deteriorating the trajectory as in the conventional method.
【0113】請求項3記載の発明によれば、修正量計算
部が、複数箇所における差分ベクトルの各軸成分の2乗
和が最小となるように、修正量の前記各軸成分を計算す
るように構成したので、複数箇所における差分ベクトル
の各軸成分の2乗和を最小とするように修正量の各軸成
分を決定することにより複数の曲率評価値の中で値の大
きなものを小さくすることができ、これにより、請求項
2記載の発明の効果を得ることができる効果がある。According to the third aspect of the present invention, the correction amount calculating section calculates each axis component of the correction amount such that the sum of squares of each axis component of the difference vector at a plurality of locations is minimized. Thus, by determining each axis component of the correction amount so as to minimize the sum of squares of each axis component of the difference vector at a plurality of locations, a large value among a plurality of curvature evaluation values is reduced. Accordingly, there is an effect that the effect of the invention described in claim 2 can be obtained.
【0114】請求項4記載の発明によれば、修正量計算
部における修正量を許容誤差値以下に制限する修正量制
限部を備えるように構成したので、修正量計算部におけ
る点列指令の修正量が許容誤差以上の大きな値となって
工作機械による加工不良や工作機械の損傷が発生する事
態を防止することができる効果がある。According to the fourth aspect of the present invention, since the correction amount calculating section is provided with the correction amount limiting section for limiting the correction amount to the allowable error value or less, the correction of the point sequence command in the correction amount calculating section is performed. There is an effect that it is possible to prevent a situation in which the amount becomes a large value equal to or larger than the allowable error and machining failure by the machine tool or damage to the machine tool occurs.
【0115】請求項5記載の発明によれば、修正量計算
部が、差分ベクトルとして、線分ベクトルの長さに関す
る量により重み付けされた線分ベクトルを用いて計算さ
れた差分ベクトルを用いるように構成したので、点列指
令が等間隔でない場合においても点列指令を滑らかにす
る良好な点列指令の修正を実現することができる効果が
ある。According to the fifth aspect of the present invention, the correction amount calculation unit uses the difference vector calculated using the line vector weighted by the amount related to the length of the line vector as the difference vector. With this configuration, even when the point sequence commands are not at regular intervals, there is an effect that it is possible to realize a favorable correction of the point sequence command that smoothes the point sequence commands.
【0116】請求項6記載の発明によれば、修正量計算
部が、評価範囲内の点列指令に2次以上の曲線をあては
め、その曲線に近づくように前記点列指令の修正量を計
算するように構成したので、評価範囲内において曲率の
変化や点列指令間の間隔の変化が大きいような点列指令
に対しても軌跡を劣化させることなく滑らかな点列指令
が得られ、点列指令の修正を有効に行うことができる効
果がある。According to the sixth aspect of the present invention, the correction amount calculating section applies a quadratic or higher-order curve to the point sequence command within the evaluation range, and calculates the correction amount of the point sequence command so as to approach the curve. Therefore, a smooth point sequence command can be obtained without deteriorating the trajectory even for a point sequence command in which a change in the curvature or a change in the interval between the point sequence commands is large within the evaluation range. There is an effect that the column command can be effectively corrected.
【0117】請求項7記載の発明によれば、修正量計算
部が、評価範囲内の点列指令に2次曲線をあてはめるよ
うに構成したので、少ない計算量により本来の曲線に良
好に倣った点列指令への修正を行うことができる効果が
ある。According to the seventh aspect of the present invention, since the correction amount calculating section is configured to apply a quadratic curve to the point sequence command within the evaluation range, the correction amount calculation section satisfactorily follows the original curve with a small amount of calculation. There is an effect that correction to the point sequence command can be performed.
【0118】請求項8記載の発明によれば、修正量計算
部における修正量を許容誤差値以下に制限する修正量制
限部を備えるように構成したので、修正量計算部におけ
る点列指令の修正量が許容誤差以上の大きな値となって
工作機械による加工不良や工作機械の損傷が発生する事
態を防止することができる効果がある。According to the eighth aspect of the present invention, the correction amount calculating unit is provided with the correction amount limiting unit for limiting the correction amount to the allowable error value or less, so that the correction of the point sequence command in the correction amount calculating unit is performed. There is an effect that it is possible to prevent a situation in which the amount becomes a large value equal to or larger than the allowable error and machining failure by the machine tool or damage to the machine tool occurs.
【0119】請求項9記載の発明によれば、修正量計算
部が、修正された点列指令を以降の修正点に対する修正
量の計算に用いるように構成したので、より滑らかな点
列指令の修正を実現することができる効果がある。According to the ninth aspect of the present invention, the correction amount calculation unit is configured to use the corrected point sequence command for calculating the correction amount for the subsequent correction points. There is an effect that the correction can be realized.
【0120】請求項10記載の発明によれば、入力され
た点列指令からなる軌跡の性状を判断する軌跡判断部を
備え、判断された前記軌跡の性状に応じて、評価範囲設
定部において設定する前記評価範囲、および/または、
修正量計算部における前記修正量計算方法を適宜変更す
るように構成したので、いろいろな種類の軌跡が組み合
わされている場合や、誤差成分が特定の箇所にのみ存在
するような場合にも、的確に誤差だけを取り除き、良好
な点列指令の修正を行うことができる効果がある。According to the tenth aspect of the present invention, there is provided a trajectory judging section for judging the properties of the trajectory constituted by the input point sequence command, and the trajectory is set in the evaluation range setting section in accordance with the judged trajectory properties. Said evaluation range, and / or
Since the correction amount calculation method in the correction amount calculation unit is appropriately changed, even when various types of trajectories are combined, or when an error component exists only at a specific location, the correction amount calculation method is appropriately performed. Therefore, there is an effect that only an error can be removed and a good correction of the point sequence command can be performed.
【図1】 この発明の実施の形態1による数値制御装置
の構成を示すブロック図である。FIG. 1 is a block diagram showing a configuration of a numerical controller according to Embodiment 1 of the present invention.
【図2】 点列指令の1例を示す模式図である。FIG. 2 is a schematic diagram showing an example of a point sequence command.
【図3】 この発明の実施の形態1による数値制御装置
の点列指令修正部の動作を示すフローチャートである。FIG. 3 is a flowchart showing an operation of a point sequence command correction unit of the numerical control device according to the first embodiment of the present invention.
【図4】 この発明の実施の形態1による数値制御装置
の点列指令修正部の点列指令の修正動作の説明図であ
る。FIG. 4 is an explanatory diagram of a correction operation of a point sequence command by a point sequence command correction unit of the numerical controller according to Embodiment 1 of the present invention;
【図5】 図4の点列指令Pi が点列移動部によりEi
だけ修正された後の様子を示す模式図である。[5] E i train reference P i point in Figure 4 by a sequence of points moving unit
FIG. 9 is a schematic diagram showing a state after only correction.
【図6】 この発明の実施の形態2による数値制御装置
の構成を示すブロック図である。FIG. 6 is a block diagram showing a configuration of a numerical control device according to a second embodiment of the present invention.
【図7】 この発明の実施の形態2による数値制御装置
の点列指令修正部の動作を示すフローチャートである。FIG. 7 is a flowchart showing an operation of a point sequence command correction unit of the numerical control device according to Embodiment 2 of the present invention.
【図8】 この発明の実施の形態2による数値制御装置
の点列指令修正部の点列指令の修正動作の説明図であ
る。FIG. 8 is an explanatory diagram of a point sequence command correcting operation of a point sequence command correction unit of a numerical control device according to a second embodiment of the present invention.
【図9】 この発明の実施の形態3による数値制御装置
の構成を示すブロック図である。FIG. 9 is a block diagram showing a configuration of a numerical control device according to Embodiment 3 of the present invention.
【図10】 この発明の実施の形態3による数値制御装
置の点列指令修正部の動作を示すフローチャートであ
る。FIG. 10 is a flowchart showing an operation of a point sequence command correction unit of the numerical control device according to Embodiment 3 of the present invention.
【図11】 等間隔でない点列指令を示す模式図であ
る。FIG. 11 is a schematic diagram showing a non-equidistant point sequence command.
【図12】 この発明の実施の形態3による数値制御装
置の点列指令修正部の点列指令の修正動作の説明図であ
る。FIG. 12 is an explanatory diagram of a correction operation of a point sequence command by a point sequence command correction unit of the numerical controller according to Embodiment 3 of the present invention;
【図13】 この発明の実施の形態4による数値制御装
置の構成を示すブロック図である。FIG. 13 is a block diagram showing a configuration of a numerical controller according to Embodiment 4 of the present invention.
【図14】 この発明の実施の形態4による数値制御装
置の点列指令修正部の動作を示すフローチャートであ
る。FIG. 14 is a flowchart showing an operation of a point sequence command correction unit of the numerical control device according to Embodiment 4 of the present invention.
【図15】 実施の形態4における2次スプライン曲線
のあてはめの一例を示す模式図である。FIG. 15 is a schematic diagram showing an example of fitting a quadratic spline curve in the fourth embodiment.
【図16】 実施の形態4における点列指令の修正結果
の例を示すグラフ図である。FIG. 16 is a graph showing an example of a correction result of a point sequence command in the fourth embodiment.
【図17】 この発明の実施の形態5による数値制御装
置の構成を示すブロック図である。FIG. 17 is a block diagram showing a configuration of a numerical control device according to Embodiment 5 of the present invention.
【図18】 この発明の実施の形態5による数値制御装
置の点列指令修正部の動作を示すフローチャートであ
る。FIG. 18 is a flowchart showing an operation of a point sequence command correction unit of the numerical controller according to Embodiment 5 of the present invention.
【図19】 この発明の実施の形態6による数値制御装
置の構成を示すブロック図である。FIG. 19 is a block diagram showing a configuration of a numerical controller according to Embodiment 6 of the present invention.
【図20】 この発明の実施の形態6による数値制御装
置の点列指令修正部の軌跡判断部の動作を示すフローチ
ャートである。FIG. 20 is a flowchart showing an operation of a trajectory determining unit of a point sequence command correcting unit of the numerical control device according to Embodiment 6 of the present invention.
【図21】 評価範囲や修正量計算方法を固定にした場
合の点列指令の修正結果を示す模式図である。FIG. 21 is a schematic diagram showing a correction result of a point sequence command when an evaluation range and a correction amount calculation method are fixed.
【図22】 この発明の実施の形態6による数値制御装
置の点列指令の修正結果を示す模式図である。FIG. 22 is a schematic diagram showing a correction result of a point sequence command of the numerical controller according to Embodiment 6 of the present invention.
1,1a,1b,1c,1d,1e 数値制御装置、2
工作機械、3 点列指令入力部、4,4a 評価範囲
設定部、5,5a,5b,5c 修正量計算部、6 修
正量制限部、7,7d 点列移動部、13 軌跡判断
部、Pi-3 ,Pi- 2 ,Pi-1 ,Pi ,Pi+1 ,Pi+2 ,
Pi+3 ,P1 〜Pn 点列指令、Si-3 ,Si-2 ,S
i-1 ,Si ,Si+1 ,Si+2 線分ベクトル、△
Si-1 ,△Si ,△Si+1 ,△Si-1 ’,△Si ’,△
Si+1 ’,△Wi-1 ,△Wi ,△Wi+1 第1階差分ベ
クトル(差分ベクトル)、△△Si-2 ,△△Si-1 ,△
△Si ,△△Si+1 第2階差分ベクトル(差分ベクト
ル)。1, 1a, 1b, 1c, 1d, 1e Numerical control device, 2
Machine tool, 3 point sequence command input unit, 4, 4a evaluation range setting unit, 5, 5a, 5b, 5c correction amount calculation unit, 6 correction amount limit unit, 7, 7d point sequence moving unit, 13 trajectory judgment unit, P i-3 , Pi- 2 , Pi-1 , Pi , Pi + 1 , Pi + 2 ,
P i + 3 , P 1 to P n point sequence commands, S i-3 , S i-2 , S
i-1 , S i , S i + 1 , S i + 2 line segment vectors, △
S i−1 , △ S i , △ S i + 1 , △ S i−1 ′, △ S i ′, △
S i + 1 ′, △ W i−1 , △ W i , △ W i + 1 first-order difference vector (difference vector), △△ S i−2 , △△ S i−1 , △
ΔS i , ΔS i + 1 Second order difference vector (difference vector).
Claims (10)
を入力する点列指令入力部と、連続する前記点列指令を
数点選択して評価範囲を設定する評価範囲設定部と、前
記評価範囲設定部で選択された前記評価範囲内の点列指
令を用いて、前記評価範囲内の点列指令の修正量を計算
する修正量計算部と、計算された前記修正量に従って前
記点列指令入力部において入力された点列指令を移動し
てその結果を出力する点列移動部とを備え、前記修正量
計算部は、前記点列指令を通過する曲線の曲率に相当す
る曲率評価値を前記評価範囲内の複数箇所で計算すると
ともに、前記複数の曲率評価値の中で値の大きなものを
小さくするように前記点列指令の修正量を計算すること
を特徴とする数値制御装置。A point sequence command input unit for inputting a point sequence command representing a control position coordinate of a machine tool; an evaluation range setting unit for selecting several successive point sequence commands to set an evaluation range; Using a point sequence command within the evaluation range selected by the evaluation range setting unit, a correction amount calculation unit that calculates a correction amount of the point sequence command within the evaluation range, and the point sequence according to the calculated correction amount. A point sequence moving unit for moving a point sequence command input at the command input unit and outputting the result, wherein the correction amount calculating unit calculates a curvature evaluation value corresponding to a curvature of a curve passing through the point sequence command. Is calculated at a plurality of points within the evaluation range, and a correction amount of the point sequence command is calculated so as to reduce a large one among the plurality of curvature evaluation values.
続する点列指令を結ぶ線分ベクトルの1次または高次の
変化量を示す差分ベクトルを用いることを特徴とする請
求項1記載の数値制御装置。2. The correction amount calculating unit according to claim 1, wherein a difference vector indicating a first-order or higher-order change amount of a line segment vector connecting the continuous point sequence commands is used as the curvature evaluation value. Numerical control device.
ベクトルの各軸成分の2乗和が最小となるように、修正
量の前記各軸成分を計算することを特徴とする請求項2
記載の数値制御装置。3. The correction amount calculation section calculates each of the axis components of the correction amount such that the sum of squares of each axis component of the difference vector at a plurality of locations is minimized.
Numerical control device as described.
値以下に制限する修正量制限部を備えたことを特徴とす
る請求項1から請求項3のうちのいずれか1項記載の数
値制御装置。4. The numerical control according to claim 1, further comprising a correction amount limiting unit that limits the correction amount in the correction amount calculation unit to a value equal to or less than an allowable error value. apparatus.
線分ベクトルの長さに関する量により重み付けされた線
分ベクトルを用いて計算された差分ベクトルを用いるこ
とを特徴とする請求項2記載の数値制御装置。5. The correction amount calculation unit calculates a difference vector as
3. The numerical control device according to claim 2, wherein a difference vector calculated using a line segment vector weighted by an amount related to a length of the line segment vector is used.
を入力する点列指令入力部と、連続する前記点列指令を
数点選択して評価範囲を設定する評価範囲設定部と、前
記評価範囲設定部で選択された前記評価範囲内の点列指
令を用いて、前記評価範囲内の点列指令の修正量を計算
する修正量計算部と、計算された前記修正量に従って前
記点列指令入力部において入力された点列指令を移動し
てその結果を出力する点列移動部とを備え、前記修正量
計算部は、前記評価範囲内の点列指令に2次以上の曲線
をあてはめ、その曲線に近づくように前記点列指令の修
正量を計算することを特徴とする数値制御装置。6. A point sequence command input unit for inputting a point sequence command representing a control position coordinate of a machine tool, an evaluation range setting unit for selecting several continuous point sequence commands and setting an evaluation range, Using a point sequence command within the evaluation range selected by the evaluation range setting unit, a correction amount calculation unit that calculates a correction amount of the point sequence command within the evaluation range, and the point sequence according to the calculated correction amount. A point sequence moving unit that moves the point sequence command input at the command input unit and outputs the result, wherein the correction amount calculation unit applies a quadratic or higher-order curve to the point sequence command within the evaluation range. A numerical controller for calculating a correction amount of the point sequence command so as to approach the curve.
指令に2次曲線をあてはめることを特徴とする請求項6
記載の数値制御装置。7. The correction amount calculation unit according to claim 6, wherein a quadratic curve is applied to the point sequence command within the evaluation range.
Numerical control device as described.
値以下に制限する修正量制限部を備えたことを特徴とす
る請求項6または請求項7記載の数値制御装置。8. The numerical control device according to claim 6, further comprising a correction amount limiting unit that limits the correction amount in the correction amount calculation unit to a value equal to or less than an allowable error value.
以降の修正点に対する修正量の計算に用いることを特徴
とする請求項1から請求項8のうちのいずれか1項記載
の数値制御装置。9. The correction amount calculation unit according to claim 1, wherein the corrected point sequence command is used for calculating a correction amount for a subsequent correction point. Numerical control unit.
状を判断する軌跡判断部を備え、判断された前記軌跡の
性状に応じて、評価範囲設定部において設定する前記評
価範囲、および/または、修正量計算部における前記修
正量計算方法を適宜変更することを特徴とする請求項1
から請求項9のうちのいずれか1項記載の数値制御装
置。10. A trajectory judging unit for judging a property of a trajectory composed of an input point sequence command, wherein the evaluation range set by an evaluation range setting unit in accordance with the determined property of the trajectory; 2. The method according to claim 1, wherein the correction amount calculation method in the correction amount calculation unit is appropriately changed.
The numerical control device according to any one of claims 1 to 9.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03823397A JP3640754B2 (en) | 1997-02-21 | 1997-02-21 | Numerical control apparatus and numerical control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03823397A JP3640754B2 (en) | 1997-02-21 | 1997-02-21 | Numerical control apparatus and numerical control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10240328A true JPH10240328A (en) | 1998-09-11 |
JP3640754B2 JP3640754B2 (en) | 2005-04-20 |
Family
ID=12519591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP03823397A Expired - Fee Related JP3640754B2 (en) | 1997-02-21 | 1997-02-21 | Numerical control apparatus and numerical control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3640754B2 (en) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6823234B2 (en) | 2002-08-16 | 2004-11-23 | Fanuc Ltd | Curve interpolation method |
EP1720085A1 (en) * | 2005-05-02 | 2006-11-08 | Fanuc Ltd | Curve interpolating method |
JP2007257094A (en) * | 2006-03-22 | 2007-10-04 | Toyota Motor Corp | Method for creating path, moving element and moving element control system |
JP2009058985A (en) * | 2007-08-29 | 2009-03-19 | Okuma Corp | Method and program for correcting point group data and approximation curve generation program |
US7792603B2 (en) | 2006-08-04 | 2010-09-07 | Okuma Corporation | Program and method for generating approximate curve from approximate point group data |
DE102013002516A1 (en) | 2012-02-20 | 2013-08-22 | Fanuc Corp. | Numerical controller with machining curve creating function |
CN103809521A (en) * | 2012-11-14 | 2014-05-21 | 中国科学院沈阳计算技术研究所有限公司 | Spline curve interpolation method based on secant method |
JP2015032229A (en) * | 2013-08-06 | 2015-02-16 | オークマ株式会社 | Calculation of change degree of rotary feed shaft command in nc-program, display method and apparatus |
CN105700466A (en) * | 2015-11-23 | 2016-06-22 | 上海交通大学 | Curvature fairing method for high-speed numerical control processing track |
CN108287528A (en) * | 2017-12-06 | 2018-07-17 | 莱芜钢铁集团电子有限公司 | A kind of curve display methods that multiple spot is coplanar and device |
CN112621739A (en) * | 2019-10-08 | 2021-04-09 | 东元电机股份有限公司 | Robot and path interpolation planning command generation system thereof |
WO2023058243A1 (en) * | 2021-10-08 | 2023-04-13 | ファナック株式会社 | Control device and computer-readable recording medium storing program |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58178406A (en) * | 1982-04-14 | 1983-10-19 | Mitsubishi Electric Corp | Nc data generating device for numerical control |
JPS62282304A (en) * | 1986-05-30 | 1987-12-08 | Yaskawa Electric Mfg Co Ltd | Interpolation method for orbit in automatic machine |
JPH0764621A (en) * | 1993-08-25 | 1995-03-10 | Matsushita Electric Ind Co Ltd | Track interpolating device for robot |
JPH0764622A (en) * | 1993-08-26 | 1995-03-10 | Matsushita Electric Ind Co Ltd | Track interpolating device for robot |
JPH09160623A (en) * | 1995-12-06 | 1997-06-20 | Toyoda Mach Works Ltd | Numerical controller for working workpiece |
-
1997
- 1997-02-21 JP JP03823397A patent/JP3640754B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58178406A (en) * | 1982-04-14 | 1983-10-19 | Mitsubishi Electric Corp | Nc data generating device for numerical control |
JPS62282304A (en) * | 1986-05-30 | 1987-12-08 | Yaskawa Electric Mfg Co Ltd | Interpolation method for orbit in automatic machine |
JPH0764621A (en) * | 1993-08-25 | 1995-03-10 | Matsushita Electric Ind Co Ltd | Track interpolating device for robot |
JPH0764622A (en) * | 1993-08-26 | 1995-03-10 | Matsushita Electric Ind Co Ltd | Track interpolating device for robot |
JPH09160623A (en) * | 1995-12-06 | 1997-06-20 | Toyoda Mach Works Ltd | Numerical controller for working workpiece |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6823234B2 (en) | 2002-08-16 | 2004-11-23 | Fanuc Ltd | Curve interpolation method |
EP1720085A1 (en) * | 2005-05-02 | 2006-11-08 | Fanuc Ltd | Curve interpolating method |
US7274969B2 (en) | 2005-05-02 | 2007-09-25 | Fanuc Ltd | Curve interpolating method |
CN100445911C (en) * | 2005-05-02 | 2008-12-24 | 发那科株式会社 | Curve interpolating method |
JP2007257094A (en) * | 2006-03-22 | 2007-10-04 | Toyota Motor Corp | Method for creating path, moving element and moving element control system |
US7792603B2 (en) | 2006-08-04 | 2010-09-07 | Okuma Corporation | Program and method for generating approximate curve from approximate point group data |
JP2009058985A (en) * | 2007-08-29 | 2009-03-19 | Okuma Corp | Method and program for correcting point group data and approximation curve generation program |
DE102013002516B4 (en) * | 2012-02-20 | 2015-10-01 | Fanuc Corp. | Numerical control with machining curve generation function |
DE102013002516A1 (en) | 2012-02-20 | 2013-08-22 | Fanuc Corp. | Numerical controller with machining curve creating function |
US9268323B2 (en) | 2012-02-20 | 2016-02-23 | Fanuc Corporation | Numerical controller with machining curve creating function |
CN103809521A (en) * | 2012-11-14 | 2014-05-21 | 中国科学院沈阳计算技术研究所有限公司 | Spline curve interpolation method based on secant method |
JP2015032229A (en) * | 2013-08-06 | 2015-02-16 | オークマ株式会社 | Calculation of change degree of rotary feed shaft command in nc-program, display method and apparatus |
CN105700466A (en) * | 2015-11-23 | 2016-06-22 | 上海交通大学 | Curvature fairing method for high-speed numerical control processing track |
CN108287528A (en) * | 2017-12-06 | 2018-07-17 | 莱芜钢铁集团电子有限公司 | A kind of curve display methods that multiple spot is coplanar and device |
CN108287528B (en) * | 2017-12-06 | 2020-02-14 | 莱芜钢铁集团电子有限公司 | Multi-point coplanar curve display method and device |
CN112621739A (en) * | 2019-10-08 | 2021-04-09 | 东元电机股份有限公司 | Robot and path interpolation planning command generation system thereof |
CN112621739B (en) * | 2019-10-08 | 2022-03-15 | 东元电机股份有限公司 | Robot and path interpolation planning command generation system thereof |
WO2023058243A1 (en) * | 2021-10-08 | 2023-04-13 | ファナック株式会社 | Control device and computer-readable recording medium storing program |
Also Published As
Publication number | Publication date |
---|---|
JP3640754B2 (en) | 2005-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2011052800A1 (en) | Tool path generation method and device | |
JP3971773B2 (en) | Offline teaching device for robots | |
WO2019119268A1 (en) | Numerical control system, apparatus with storage function, and nurbs curve interpolation method | |
JP6450732B2 (en) | Numerical controller | |
CN110900612B (en) | Pose-synchronous six-axis industrial robot track smoothing method | |
JPH10240328A (en) | Numerical controller | |
JP2001092516A (en) | Numerically controlled curved surface working device | |
WO2012056554A1 (en) | Tool path generation method and tool path generation device | |
US20140156052A1 (en) | Numerical control device | |
JP2000112511A (en) | Nc processing method for component during process | |
CN112731865B (en) | Interpolation data-based multi-axis machining contour error pre-compensation method | |
Ni et al. | An optimized feedrate scheduling method for CNC machining with round-off error compensation | |
JP3879056B2 (en) | Numerically controlled curved surface processing equipment | |
CN114839921A (en) | Five-axis contour control method based on data driving | |
JP3511583B2 (en) | Numerical control method | |
JPH07302110A (en) | Production of robot operation program | |
CN114967597B (en) | Curve fitting method for guaranteeing continuity of numerical control machining tool path G2 based on bidirectional Taylor | |
CN116661377A (en) | Multi-axis track smoothing and interpolation method and device based on travel space | |
CN116360343A (en) | Corner external transition fairing method for improving kinematic performance of five-axis machine tool | |
CN114019911B (en) | Curve fitting method based on speed planning | |
WO2022138843A1 (en) | Numerical control device | |
JP2000311010A (en) | Track controller, program generation device and program conversion device | |
Yang et al. | On-line Cartesian trajectory control of mechanisms along complex curves | |
CN110968040A (en) | Program generation method of machining track for mechanical numerical control | |
Yang et al. | A new high precision fitting approach for NURBS tool paths generation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040302 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040316 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040513 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20041012 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041129 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20041202 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20041221 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050119 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080128 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090128 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100128 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100128 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110128 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120128 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130128 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130128 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |