JP3174704B2 - Numerical controller with position error correction function - Google Patents
Numerical controller with position error correction functionInfo
- Publication number
- JP3174704B2 JP3174704B2 JP29416594A JP29416594A JP3174704B2 JP 3174704 B2 JP3174704 B2 JP 3174704B2 JP 29416594 A JP29416594 A JP 29416594A JP 29416594 A JP29416594 A JP 29416594A JP 3174704 B2 JP3174704 B2 JP 3174704B2
- Authority
- JP
- Japan
- Prior art keywords
- correction
- current position
- vector
- correction vector
- interpolation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Landscapes
- Automatic Control Of Machine Tools (AREA)
- Numerical Control (AREA)
Description
【0001】[0001]
【産業上の利用分野】本発明は工作機械の送り軸の位置
を補正する数値制御装置に関し、特に予め記憶された補
正量を使用して位置誤差を補正する数値制御装置に関す
る。The present invention relates also relates to a numerical control equipment for correcting the position of the feed axis of the machine tool, regarding the numerical controller for correcting the position error using the particular previously stored correction amount
You .
【0002】[0002]
【従来の技術】数値制御装置により動作が制御される工
作機械の送り軸は、目標位置と実際に到達する位置との
間に誤差が生じる。この誤差を生じさせる要因には、送
りネジのピッチ誤差、ギヤのピッチ誤差、および直行軸
方向の真直度の誤差等がある。2. Description of the Related Art A feed shaft of a machine tool, the operation of which is controlled by a numerical controller, has an error between a target position and a position actually reached. Factors that cause this error include a pitch error of the feed screw, a gear pitch error, and an error in straightness in the direction of the perpendicular axis.
【0003】従来は、このような機械系に起因する誤差
を補正するために、ピッチ誤差補正、補間形ピッチ誤差
補正、または真直度補正等の補正機能を併用して用いて
いた。Conventionally, in order to correct such an error caused by a mechanical system, a correction function such as pitch error correction, interpolation type pitch error correction, or straightness correction has been used in combination.
【0004】また、位置誤差は3次元的に変化する。つ
まり、X軸方向への移動であっても、目標位置での誤差
はX軸、Y軸、及びZ軸のそれぞれの値に依存して変化
する。そこで従来は、3軸方向のピッチ誤差補正を組み
合わせることにより、3次元的な誤差の補正をすること
が考えられていた。この様な例として、本出願人は特開
昭57−61906号を出願している。Further, the position error changes three-dimensionally. That is, even in the movement in the X-axis direction, the error at the target position changes depending on the values of the X-axis, Y-axis, and Z-axis. Therefore, conventionally, it has been considered to correct a three-dimensional error by combining pitch error corrections in three axial directions. As such an example, the present applicant has filed Japanese Patent Application Laid-Open No. 57-61906.
【0005】[0005]
【発明が解決しようとする課題】しかし、従来の補正機
能では複数の補正機能を用いなければならないため、誤
差補正のための制御が複雑になるという問題点があっ
た。However, in the conventional correction function, since a plurality of correction functions must be used, there is a problem that control for error correction becomes complicated.
【0006】また、3次元的な位置誤差を補正するため
に、3軸方向のピッチ誤差補正を組み合わせた機能で補
正を行うと、予め必要なデータ数が膨大となる。これら
のデータを格納するには大容量のメモリが必要であり、
数値制御装置のコストが高くなってしまうという問題点
があった。Further, if correction is performed by a function combining pitch error correction in three axial directions in order to correct a three-dimensional position error, the number of data required in advance becomes enormous. Storing these data requires a large amount of memory,
There has been a problem that the cost of the numerical controller increases.
【0007】本発明はこのような点に鑑みてなされたも
のであり、1つの補正機能で、3次元的に位置誤差を補
正できる位置誤差補正機能付き数値制御装置を提供する
ことを目的とする。SUMMARY OF THE INVENTION The present invention has been made in view of the above circumstances, and has as its object to provide a numerical controller having a position error correction function capable of three-dimensionally correcting a position error with one correction function. .
【0008】[0008]
【課題を解決するための手段】本発明では上記課題を解
決するために、3次元座標系における各軸に沿う機械の
送り軸の移動を制御する数値制御装置において、座標系
を各座標軸方向に所定間隔の格子状領域に分割し、前記
格子状領域の格子点において予め測定された格子点補正
ベクトルを格納する格子点補正ベクトル記憶手段と、移
動指令に応じて前記送り軸の補間移動量を所定の補間周
期で出力する補間手段と、前記補間移動量を加算して前
記軸の現在位置を認識する現在位置認識手段と、前記現
在位置における現在位置補正ベクトルを前記格子点補正
ベクトルに基づいて算出する現在位置補正ベクトル算出
手段と、前記現在位置補正ベクトルを、補間前の旧現在
位置における始点位置補正ベクトルと比較し、変化量を
補正移動量として出力する補正移動量出力手段と、前記
所定の補間周期毎に前記補正移動量を前記補間移動量に
加算する加算手段と、を有することを特徴とする位置誤
差補正機能付き数値制御装置が提供される。In order to solve the above-mentioned problems, the present invention provides a numerical controller for controlling the movement of a feed axis of a machine along each axis in a three-dimensional coordinate system. Grid point correction vector storage means for dividing into grid areas at predetermined intervals and storing grid point correction vectors measured in advance at the grid points of the grid area, and interpolating the movement amount of the feed axis according to a movement command. Predetermined interpolation cycle
And interpolating means for outputting in the period, the interpolation and the present position recognizing means for moving quantity by adding to recognize the current position of the axis, the current that is calculated based on the current location correction vector at the current position on the lattice point compensation vectors a position correction vector calculating means, the current position correction vector, the correction movement amount output means for comparing the starting position correction vector in the former current location before interpolation, and outputs the change amount as a correction moving amount, the
An adder for adding the correction movement amount to the interpolation movement amount at every predetermined interpolation cycle .
【0009】[0009]
【作用】格子点補正ベクトル記憶手段は、座標系を各軸
方向に所定間隔の格子状領域に分割し、格子状領域の角
に設定された格子点において予め測定された格子点補正
ベクトルを格納する。補間手段は、位置指令に応じて送
り軸の補間移動量を所定の補間周期で出力する。現在位
置認識手段は、補間移動量により位置指令で指示された
現在位置を認識する。現在位置補正ベクトル算出手段
は、補正周期ごとに、現在位置における現在位置補正ベ
クトルを格子点補正ベクトルに基づいて算出する。補正
移動量出力手段は、現在位置補正ベクトルと補間前の旧
現在位置における始点位置補正ベクトルとを比較し、変
化量を補正移動量に変換し出力する。加算手段は、補間
周期毎に補正移動量を補間移動量に加算する。The grid point correction vector storage means divides the coordinate system into grid-like areas at predetermined intervals in each axis direction, and stores grid-point correction vectors measured in advance at grid points set at the corners of the grid-like area. I do. The interpolation means outputs the interpolation movement amount of the feed axis in a predetermined interpolation cycle according to the position command. The current position recognizing means recognizes the current position specified by the position command based on the interpolation movement amount. The current position correction vector calculation means calculates a current position correction vector at the current position for each correction cycle based on the grid point correction vector. The corrected movement amount output means compares the current position correction vector with the start position correction vector at the old current position before interpolation, converts the change amount into a corrected movement amount, and outputs the corrected movement amount. Adder means interpolation
The correction movement amount is added to the interpolation movement amount for each cycle .
【0010】これにより、3次元空間上の任意の点にお
ける位置誤差を、1つの補間形の機能で補正することが
できる。Thus, a position error at an arbitrary point in the three-dimensional space can be corrected by one interpolation function.
【0011】[0011]
【実施例】以下、本発明の実施例を図面に基づいて説明
する。図1は本発明の概略構成を示すブロック図であ
る。格子点補正ベクトル記憶手段6には、格子点におけ
る格子点補正ベクトルを格納している。格子点は、3次
元座標系を各軸にそって一定間隔に格子状領域に分割
し、格子状領域の境界線の交差する点に設定された点で
ある。格子点補正ベクトルは、各格子点において予め測
定された位置誤差を補正するための3次元ベクトルであ
る。Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing a schematic configuration of the present invention. The lattice point correction vector storage means 6 stores lattice point correction vectors at lattice points. The lattice points are points set by dividing the three-dimensional coordinate system into lattice regions at regular intervals along each axis and intersecting the boundary lines of the lattice regions. The lattice point correction vector is a three-dimensional vector for correcting a position error measured in advance at each lattice point.
【0012】そして、加工プログラム1により工作機械
における各種動作が指令される。前処理演算手段2は、
加工プログラム1を解読し各軸の移動指令を出力する。
補間手段3は各軸の移動指令を補間移動量(なお、本実
施形態では、移動量をパルスとして出力することから、
以下この補間移動量を補間パルスという)に変換して出
力する。Various operations in the machine tool are commanded by the machining program 1. The preprocessing calculation means 2
It decodes the machining program 1 and outputs a movement command for each axis.
The interpolation means 3 converts the movement command of each axis into the interpolation movement amount (the actual movement amount).
In the embodiment, since the movement amount is output as a pulse,
Hereinafter, this interpolation movement amount is converted into an interpolation pulse) and output.
【0013】現在位置認識手段4は、補間パルスを取り
込んで各軸の現在位置を、X軸座標値4a、Y軸座標値
4b及びZ軸座標値4cに分けて認識する。現在位置補
正ベクトル算出手段5は、格子点補正ベクトルを基準
に、現在位置における現在位置補正ベクトルを算出す
る。これは、補正周期ごとに行う補間形の誤差補正であ
る。補正パルス出力手段(補正移動量出力手段)7は、
補間前の旧現在位置における始点位置補正ベクトルと現
在位置補正ベクトルとを比較し、変化量を各軸ごとの補
正パルス(補正移動量)に変換し、出力する。The current position recognizing means 4 fetches the interpolation pulse and recognizes the current position of each axis by dividing it into an X axis coordinate value 4a, a Y axis coordinate value 4b and a Z axis coordinate value 4c. The current position correction vector calculation means 5 calculates a current position correction vector at the current position based on the grid point correction vector. This is an interpolation-type error correction performed for each correction cycle. The correction pulse output means (correction movement amount output means) 7
Compares the starting point position-interpolation positive vector and the current location correction vector in the interpolation before the former current location, and converting a change amount of the correction pulse of each axis (correction movement amount), and outputs.
【0014】各軸ごとに設けられた加算手段8a,8
b,8cは、補間手段3から出力された補間パルスに、
補正パルスを加算する。サーボアンプ9a,9b,9c
は、入力された補間パルスと補正パルスの量に応じてサ
ーボモータ10a,10b,10cの回転を制御する。Adder means 8a, 8 provided for each axis
b and 8c are the interpolation pulses output from the interpolation means 3,
Add the correction pulse. Servo amplifiers 9a, 9b, 9c
Controls the rotation of the servo motors 10a, 10b, 10c according to the amounts of the input interpolation pulse and correction pulse.
【0015】図2は、本発明の一実施例である対話形数
値制御装置の構成を示すブロック図である。プロセッサ
11はROM12に格納されたシステムプログラムに従
って対話形数値制御装置全体を制御する。ROM12に
はEPROMあるいはEEPROMが使用される。RA
M13にはSRAM等が使用され、各種のデータあるい
は入出力信号が格納される。不揮発性メモリ14には図
示されていないバッテリによってバックアップされたC
MOSが使用され、電源切断後も保持すべきパラメー
タ、工具補正量、および格子点補正ベクトル等が格納さ
れる。FIG. 2 is a block diagram showing the configuration of an interactive numerical control device according to one embodiment of the present invention. The processor 11 controls the whole interactive numerical controller according to a system program stored in the ROM 12. As the ROM 12, an EPROM or an EEPROM is used. RA
An SRAM or the like is used for M13, and various data or input / output signals are stored. The non-volatile memory 14 stores the C backed up by a battery (not shown).
A MOS is used, and a parameter to be held even after the power is turned off, a tool correction amount, a grid point correction vector, and the like are stored.
【0016】軸制御回路21はプロセッサ11から軸の
移動指令を受けて、軸の指令をサーボアンプ22に出力
する。サーボアンプ22はこの移動指令を受けて、工作
機械50のサーボモータを駆動する。PMC(プログラ
マブル・マシン・コントローラ)23はNCプログラム
を実行する際に、T機能信号(工具選択指令)等を受け
取る。そして、これらの信号をシーケンス・プログラム
で処理して、動作指令として信号を出力し、工作機械5
0を制御する。また、工作機械50から状態信号を受け
て、シーケンス処理を行なって、プロセッサ11へ必要
な入力信号を転送する。The axis control circuit 21 receives an axis movement command from the processor 11 and outputs an axis command to the servo amplifier 22. The servo amplifier 22 drives the servo motor of the machine tool 50 in response to the movement command. The PMC (programmable machine controller) 23 receives a T function signal (tool selection command) and the like when executing the NC program. Then, these signals are processed by a sequence program to output signals as operation commands.
Control 0. Further, it receives a state signal from the machine tool 50, performs a sequence process, and transfers a necessary input signal to the processor 11.
【0017】なお、上記構成要素はいずれもバス19に
よって互いに結合されており、このバス19には、NC
用のCPUであるプロセッサ11とは別に、対話用のプ
ロセッサ31がバス29によって接続される。All of the above components are connected to each other by a bus 19, and this bus 19
A processor 31 for dialogue is connected by a bus 29 separately from the processor 11 which is a CPU for communication.
【0018】プロセッサ31はバス39を有し、ROM
32、RAM33、不揮発性メモリ34、VRAM(ビ
デオRAM)35及びグラフィック制御回路36が接続
される。プロセッサ31はROM32に格納された対話
処理用のプログラムを実行して、対話形データの入力画
面において、設定可能な作業又はデータ等をメニュー形
式で後述する表示装置43に表示する。また、こうして
入力されたデータから加工プログラムを作成するととも
に、バックグラウンドアニメーションとして、工具の全
体の動作軌跡等を表示する。ROM32には上記対話処
理用のプログラムの他に、上記対話形データの入力画面
等が格納される。RAM33にはSRAM等が使用さ
れ、対話用の各種データ等が格納される。不揮発性メモ
リ34は図示されていないバッテリによってバックアッ
プされたCMOSが使用され、電源切断後も保持すべき
プログラムデータ及び加工プログラム等が格納される。
VRAM35は高速にアクセス可能なRAMであって、
不揮発性メモリ34にNC文として格納された上記加工
プログラムに基づき工作機械50の切削シミュレーショ
ンを行う際にアニメーション表示のためのグラフィック
データが格納される。グラフィック制御回路36はVR
AM35に格納されたグラフィックデータを表示用の信
号に変換して出力する。The processor 31 has a bus 39 and a ROM
32, a RAM 33, a nonvolatile memory 34, a VRAM (video RAM) 35, and a graphic control circuit 36 are connected. The processor 31 executes an interactive processing program stored in the ROM 32, and displays settable operations or data in a menu format on a display device 43 described later on an interactive data input screen. In addition, a machining program is created from the data input in this way, and the overall motion trajectory of the tool is displayed as a background animation. The ROM 32 stores an input screen for the interactive data in addition to the interactive processing program. An SRAM or the like is used as the RAM 33, and various data for conversation and the like are stored. The non-volatile memory 34 uses a CMOS that is backed up by a battery (not shown), and stores program data and machining programs to be retained even after the power is turned off.
The VRAM 35 is a high-speed accessible RAM,
When performing a cutting simulation of the machine tool 50 based on the machining program stored as an NC statement in the non-volatile memory 34, graphic data for displaying an animation is stored. The graphic control circuit 36 is VR
The graphic data stored in the AM 35 is converted into a signal for display and output.
【0019】また、オペレータとのヒューマンインタフ
ェースをとるCRT/MDI(Cathod Ray Tube/Manual
Data Input )パネル40はバス19に接続され、グラ
フィック制御回路41、切換器42、表示装置43、キ
ーボード44及びソフトウェアキー45が設けられる。Also, a CRT / MDI (Cathod Ray Tube / Manual) which has a human interface with an operator.
Data Input) Panel 40 is connected to bus 19, and is provided with graphic control circuit 41, switch 42, display device 43, keyboard 44, and software keys 45.
【0020】グラフィック制御回路41はプロセッサ1
1等から出力されたディジタル信号を表示用の信号に変
換して出力する。切換器42はグラフィック制御回路3
6又はグラフィック制御回路41から出力された表示用
の信号を切り換えて表示装置43に与える。表示装置4
3にはCRTあるいは液晶表示装置が使用される。キー
ボード44はシンボリックキー、数値キー等からなり、
必要な図形データ、NCデータをこれらのキーを使用し
て入力する。ソフトウェアキー45はシステムプログラ
ム等によって機能が変化する指令キーであって、その機
能名称等は表示装置43の所定の画面位置に表示され
る。The graphic control circuit 41 includes the processor 1
The digital signal output from 1 or the like is converted into a signal for display and output. The switch 42 is a graphic control circuit 3
6 or the display signal output from the graphic control circuit 41 is switched and applied to the display device 43. Display device 4
3 is a CRT or a liquid crystal display device. The keyboard 44 is composed of symbolic keys, numeric keys, etc.
Necessary graphic data and NC data are input using these keys. The software key 45 is a command key whose function changes according to a system program or the like, and its function name or the like is displayed at a predetermined screen position on the display device 43.
【0021】なお、バックグラウンドアニメーション表
示のため、プログラムデータが対話用のプロセッサ31
により表示用データに処理され、グラフィック制御回路
36で表示信号に変換され、表示装置43に表示され
る。同様に、対話形式で加工プログラムを作成していく
ときに、形状及び加工条件等がグラフィック制御回路4
1で表示用の信号に変換され、表示装置43に表示され
る。For displaying a background animation, the program data is transferred to the interactive processor 31.
Is converted into display data, converted into a display signal by the graphic control circuit 36, and displayed on the display device 43. Similarly, when a machining program is created in an interactive manner, the shape, machining conditions, and the like are controlled by the graphic control circuit 4.
The signal is converted into a signal for display by 1 and displayed on the display device 43.
【0022】さらに、バス19には入出力インタフェー
ス46が接続され、FDD(フロッピーディスク装
置)、プリンタ、あるいはPTR(紙テープリーダ)等
の外部機器との間で、NCデータを含むデータの入出力
を制御する。Further, an input / output interface 46 is connected to the bus 19 to input / output data including NC data to / from an external device such as an FDD (floppy disk device), a printer, or a PTR (paper tape reader). Control.
【0023】図3は格子状領域に分割された3次元座標
系を示す図である。3次元座標系は一定間隔の格子状に
分割されている。格子状に分割する境界線の交わる点が
格子点P0 〜P26である。なお、この図に図示されてい
るのは座標系の1部分であり、実際には機械移動可能な
領域全体を、このような格子状に分割する。FIG. 3 is a diagram showing a three-dimensional coordinate system divided into a lattice area. The three-dimensional coordinate system is divided into a grid at regular intervals. Point of intersection of the boundary line that divides the grid pattern is a lattice point P 0 to P 26. It should be noted that what is shown in this figure is a part of the coordinate system, and in fact, the entire area in which the machine can be moved is divided into such a grid.
【0024】そして、各格子点における機械系に起因す
る位置誤差を、予め測定しておく。この誤差は、3次元
ベクトルで表される。そこで、位置誤差と絶対値が同じ
で逆向きのベクトルを格子点補正ベクトル(図中、各格
子点上に矢印で示す)とする。このようにして求められ
た格子点補正ベクトルは、不揮発性メモリ14(図2に
示す)等に格納される。なお、この格子点補正ベクトル
は、アブソリュート値である。Then, the position error due to the mechanical system at each grid point is measured in advance. This error is represented by a three-dimensional vector. Therefore, a vector having the same absolute value as the position error and in the opposite direction is defined as a lattice point correction vector (in the figure, an arrow is shown on each lattice point). The grid point correction vector thus obtained is stored in the nonvolatile memory 14 (shown in FIG. 2) or the like. Note that this lattice point correction vector is an absolute value.
【0025】なお、格子状に分割する際に、あまり細か
く分割すると格子点補正ベクトルのデータ量が多くな
り、必要とするメモリの記憶容量が大きくなってしま
う。従って、なるべく正しい補正量を算出でき、しかも
データ量を少なく抑えることができる格子点の数は、一
軸につき10箇所程度である。When the data is divided into lattices, if the division is made too fine, the data amount of the lattice point correction vector increases, and the required storage capacity of the memory increases. Therefore, the number of grid points that can calculate the correct amount of correction as much as possible and can reduce the data amount is about 10 per axis.
【0026】ここで、任意の機械位置における補正ベク
トルの算出方法について説明する。これは、図1に示す
現在位置補正ベクトル算出手段5が行う機能である。図
4は補正ベクトルを算出すべき機械位置を含む格子状領
域を示す図である。この例では、補正ベクトルを算出す
べき機械位置が点P(PX ,PY ,PZ )が、格子点P
0 、P1 、P3 、P4 、P9 、P10、P12、P13に囲ま
れた領域にある。X軸の格子間隔はLX 、Y軸の格子間
隔はLY 、Z軸の格子間隔はLZ である。また、各格子
点P0 、P1 、P4 、P3 、P9 、P10、P13、P12に
は、それぞれ格子点補正ベクトルV1(V1X ,V
1Y ,V1Z )〜V8(V8X ,V8Y ,V8Z )が設
定されている。以後この領域を、格子点位置において各
格子点に対応する格子点ベクトルが与えられた、線形性
を有するベクトル場と想定する。Here, a method of calculating a correction vector at an arbitrary machine position will be described. This is a function performed by the current position correction vector calculation means 5 shown in FIG. FIG. 4 is a diagram showing a grid-like area including a machine position at which a correction vector is to be calculated. In this example, the machine position at which the correction vector is to be calculated is a point P (P x , P y , P z ).
0, in P 1, P 3, P 4 , P 9, P 10, P 12, a region surrounded by the P 13. The grid spacing on the X axis is L X , the grid spacing on the Y axis is L Y , and the grid spacing on the Z axis is L Z. The grid points P 0 , P 1 , P 4 , P 3 , P 9 , P 10 , P 13 , and P 12 have a grid point correction vector V1 (V1 X , V1
1 Y, V1 Z) ~V8 ( V8 X, V8 Y, V8 Z) is set. Hereinafter, this area is assumed to be a vector field having linearity in which grid point vectors corresponding to the respective grid points are provided at the grid point positions.
【0027】点Pを含む領域が求められると、格子点P
0 (P0X,P0Y,P0Z)を基準点として定める。次に、
点Pでの補正ベクトルを求めるために、まず格子内の位
置を〔0,1〕に正規化する。X軸の格子間隔をLx,
Y軸の格子間隔をLy,Z軸の格子間隔をLzとした場
合の正規化した点Pの座標値(x,y,z)を下式で定
める。When an area including the point P is obtained, the grid point P
0 (P 0X, P 0Y, P 0Z) defined as a reference point. next,
To find the correction vector at point P, first the position in the grid is normalized to [0,1]. Let the lattice spacing on the X axis be Lx,
The coordinate value (x, y, z) of the normalized point P when the Y-axis grid interval is Ly and the Z-axis grid interval is Lz is determined by the following equation.
【0028】[0028]
【数1】 x=(Px −P0x)/LX ・・・・・ (1)X = (P x −P 0x ) / L X (1)
【0029】[0029]
【数2】 y=(Py −P0y)/Ly ・・・・・ (2)Y = (P y −P 0y ) / L y (2)
【0030】[0030]
【数3】 z=(Pz −P0z)/Lz ・・・・・ (3) この座標値(x,y,z)をもとに、点Pでの補正ベク
トルV(VX ,VY ,VZ )を下式で算出する。Z = (P z −P 0z ) / L z (3) Based on the coordinate values (x, y, z), the correction vector V (V X , VY , VZ ) is calculated by the following equation.
【0031】[0031]
【数4】 Vi =V1i ・(1−x)(1−y)(1−z) +V2i ・x(1−y)(1−z) +V3i ・xy(1−z) +V4i ・(1−x)y(1−z) +V5i ・(1−x)(1−y)z +V6i ・x(1−y)z +V7i ・xyz +V8i ・(1−x)yz (i=x,y,z) ・・・・(4) このようにして、座標系上の任意の点における補正ベク
トルが算出できる。つまり、現在位置補正ベクトル算出
手段5(図1に示す)は、上記の計算式を用いて、補間
周期ごとに現在位置における現在位置補正ベクトルを算
出できる。V i = V1 i · (1-x) (1-y) (1-z) + V2 i · x (1-y) (1-z) + V3 i · xy (1-z) + V4 i · (1-x) y ( 1-z) + V5 i · (1-x) (1-y) z + V6 i · x (1-y) z + V7 i · xyz + V8 i · (1-x) yz ( i = x, y, z) (4) In this manner, a correction vector at an arbitrary point on the coordinate system can be calculated. That is, the current position correction vector calculation means 5 (shown in FIG. 1) can calculate the current position correction vector at the current position for each interpolation cycle using the above formula.
【0032】ところで、算出される現在位置補正ベクト
ルは、格子点補正ベクトルと同様にアブソリュート値で
ある。しかし、補間パルスに加算するにはインクリメン
タル値に変換しなければならない。そこで、現在位置補
正ベクトルの、補間前の旧現在位置における始点補正ベ
クトルからの変化量を計算する。始点補正ベクトルは、
前回の補間の際に、現在位置補正ベクトルとして既に求
められている。補間前の位置における始点補正ベクトル
をU(UX ,UY ,UZ )とすると、加算すべき補正ベ
クトルC(CX ,CY ,CZ )は、Incidentally, the calculated current position correction vector is an absolute value similarly to the lattice point correction vector. However, it must be converted to an incremental value to add to the interpolation pulse. Therefore, the amount of change of the current position correction vector from the start point correction vector at the old current position before interpolation is calculated. The starting point correction vector is
At the time of the previous interpolation, the current position correction vector has already been obtained. Assuming that the starting point correction vector at the position before the interpolation is U (U X , U Y , U Z ), the correction vector C (C X , C Y , C Z ) to be added is
【0033】[0033]
【数5】C=V−U ・・・・(5) で求められる。この補正ベクトルCの値を、補正パルス
に変換し補間パルスに加算する。サーボアンプは、補正
パルスが加えられた補間パルスに従って各軸の移動を制
御する。これにより、現在位置における機械系に起因す
る誤差が修正される。C = V−U (5) The value of the correction vector C is converted into a correction pulse and added to the interpolation pulse. The servo amplifier controls the movement of each axis according to the interpolation pulse to which the correction pulse has been added. As a result, the error caused by the mechanical system at the current position is corrected.
【0034】図5は補正パルスの算出手順を示すフロー
チャートである。このフローチャートは、現在位置が確
定した時点で開始される。 〔S1〕現在位置を含む領域を求め、格子点の1つを基
準点とする。 〔S2〕格子点位置補正ベクトルを基準として、現在位
置補正ベクトルVを算出する。 〔S3〕現在位置補正ベクトルVの始点補正ベクトルU
からの変化量を計算し、補正ベクトルCを算出する。 〔S4〕補正ベクトルCを補正パルスに変換し出力す
る。FIG. 5 is a flowchart showing the procedure for calculating the correction pulse. This flowchart is started when the current position is determined. [S1] An area including the current position is obtained, and one of the grid points is set as a reference point. [S2] The current position correction vector V is calculated based on the lattice point position correction vector. [S3] Start point correction vector U of current position correction vector V
Is calculated, and a correction vector C is calculated. [S4] The correction vector C is converted into a correction pulse and output.
【0035】このように、補間パルスが出力されるごと
に、現在位置における3次元の補正ベクトルを求め補正
パルスとして加算するため、機械系に起因する3次元空
間上の位置誤差を、1つの補間形の誤差補正機能で補正
することができる。しかも、予め3次元空間上の何点か
で誤差の測定を行い、その測定結果から任意の位置にお
ける誤差を算出するため、位置誤差を生じさせている要
因が何であるかを考慮に入れる必要がない。しかも、予
め測定しておくべき格子点補正ベクトルは少なくて済む
ため、メモリ容量が小さくてすみ、数値制御装置を安価
にすることができる。As described above, every time an interpolation pulse is output, a three-dimensional correction vector at the current position is obtained and added as a correction pulse. Therefore, a position error in a three-dimensional space caused by a mechanical system is calculated by one interpolation pulse. It can be corrected by the shape error correction function. In addition, since the error is measured in advance at several points in the three-dimensional space and the error at an arbitrary position is calculated from the measurement result, it is necessary to take into account what causes the position error. Absent. In addition, since the number of grid point correction vectors to be measured in advance is small, the memory capacity can be small, and the numerical controller can be inexpensive.
【0036】[0036]
【発明の効果】以上説明したように本発明では、補間パ
ルスが出力されるごとに、現在位置における3次元の全
ての座標値を基準として補正ベクトルを算出し、補正パ
ルスとして加算するようにしたため、機械系の様々な要
因に起因する3次元的な位置誤差を、1つの誤差補正機
能で補正することができる。As described above, in the present invention, each time an interpolation pulse is output, a correction vector is calculated based on all three-dimensional coordinate values at the current position, and added as a correction pulse. The three-dimensional position error caused by various factors of the mechanical system can be corrected by one error correction function.
【図1】本発明の概略構成を示すブロック図である。FIG. 1 is a block diagram showing a schematic configuration of the present invention.
【図2】本発明の一実施例である対話形数値制御装置の
構成を示すブロック図である。FIG. 2 is a block diagram showing a configuration of an interactive numerical control device according to one embodiment of the present invention.
【図3】格子状領域に分割された3次元座標系を示す図
である。FIG. 3 is a diagram showing a three-dimensional coordinate system divided into a grid area.
【図4】補正ベクトルを算出すべき機械位置を含む格子
状領域を示す図である。FIG. 4 is a diagram illustrating a grid-like area including a machine position at which a correction vector is to be calculated.
【図5】補正パルスの算出手順を示すフローチャートで
ある。FIG. 5 is a flowchart illustrating a procedure for calculating a correction pulse.
1 加工プログラム 2 前処理演算手段 3 補間手段 4 現在位置認識手段 5 現在位置補正ベクトル算出手段 6 格子点補正ベクトル記憶手段 7 補正パルス出力手段 8a,8b,8c 加算手段 9a,9b,9c サーボアンプ 10a,10b,10c サーボモータ DESCRIPTION OF SYMBOLS 1 Machining program 2 Preprocessing calculation means 3 Interpolation means 4 Current position recognition means 5 Current position correction vector calculation means 6 Lattice point correction vector storage means 7 Correction pulse output means 8a, 8b, 8c Addition means 9a, 9b, 9c Servo amplifier 10a , 10b, 10c Servo motor
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平3−224003(JP,A) 特開 平3−161247(JP,A) 特開 平2−243247(JP,A) 特開 昭60−205713(JP,A) (58)調査した分野(Int.Cl.7,DB名) G05B 19/404 G05B 19/4103 ──────────────────────────────────────────────────続 き Continuation of the front page (56) References JP-A-3-224003 (JP, A) JP-A-3-161247 (JP, A) JP-A-2-243247 (JP, A) JP-A-60-1985 205713 (JP, A) (58) Field surveyed (Int. Cl. 7 , DB name) G05B 19/404 G05B 19/4103
Claims (3)
送り軸の移動を制御する数値制御装置において、 座標系を各座標軸方向に所定間隔の格子状領域に分割
し、前記格子状領域の格子点において予め測定された格
子点補正ベクトルを格納する格子点補正ベクトル記憶手
段と、 移動指令に応じて前記送り軸の補間移動量を所定の補間
周期で出力する補間手段と、 前記補間移動量を加算して前記軸の現在位置を認識する
現在位置認識手段と、 前記現在位置における現在位置補正ベクトルを前記格子
点補正ベクトルに基づいて算出する現在位置補正ベクト
ル算出手段と、 前記現在位置補正ベクトルを、補間前の旧現在位置にお
ける始点位置補正ベクトルと比較し、変化量を補正移動
量として出力する補正移動量出力手段と、前記所定の補間周期毎に 前記補正移動量を前記補間移動
量に加算する加算手段と、 を有することを特徴とする位置誤差補正機能付き数値制
御装置。1. A numerical control device for controlling the movement of a feed axis of a machine along each axis in a three-dimensional coordinate system, wherein the coordinate system is divided into grid areas at predetermined intervals in each coordinate axis direction. A grid point correction vector storage means for storing grid point correction vectors measured in advance at grid points; and a predetermined interpolation of an interpolation movement amount of the feed axis according to a movement command.
Interpolating means for outputting at a periodic interval ; current position recognizing means for recognizing the current position of the axis by adding the interpolated movement amount; and current for calculating a current position correction vector at the current position based on the grid point correction vector. Position correction vector calculating means; comparing the current position correction vector with a start point position correction vector at the old current position before interpolation, and outputting a change amount as a correction movement amount; and the predetermined interpolation cycle And a adding means for adding the correction movement amount to the interpolation movement amount every time .
格子点において前記格子点補正ベクトルが与えられ、線
形性を有するベクトル場を想定し、前記ベクトル場にお
ける前記現在位置のベクトル量を現在位置補正ベクトル
として算出することを特徴とする請求項1記載の位置誤
差補正機能付き数値制御装置。2. A current position correction vector calculating means, wherein the grid point correction vector is provided at the grid point, a vector field having linearity is assumed, and a vector amount of the current position in the vector field is corrected by a current position correction. The numerical control device with a position error correction function according to claim 1, wherein the numerical control is calculated as a vector.
ッテリでバックアップされた不揮発性メモリであること
を特徴とする請求項1記載の位置誤差補正機能付き数値
制御装置。3. The numerical control device with a position error correction function according to claim 1, wherein said lattice point correction vector storage means is a nonvolatile memory backed up by a battery.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29416594A JP3174704B2 (en) | 1994-11-29 | 1994-11-29 | Numerical controller with position error correction function |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29416594A JP3174704B2 (en) | 1994-11-29 | 1994-11-29 | Numerical controller with position error correction function |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08152909A JPH08152909A (en) | 1996-06-11 |
JP3174704B2 true JP3174704B2 (en) | 2001-06-11 |
Family
ID=17804159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP29416594A Expired - Lifetime JP3174704B2 (en) | 1994-11-29 | 1994-11-29 | Numerical controller with position error correction function |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3174704B2 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6309479B1 (en) | 1998-11-05 | 2001-10-30 | Toda Kogyo Corporation | Spindle-shaped goethite particles, spindle-shaped hematite particles and magnetic spindle-shaped metal particles containing iron as main component |
JP2009104317A (en) * | 2007-10-22 | 2009-05-14 | Okuma Corp | Numerical control method and numerical control device |
EP2065771A2 (en) | 2007-11-30 | 2009-06-03 | Fanuc Ltd | Numerical controller for controlling a five-axis machining apparatus |
JP2011173234A (en) * | 2011-01-15 | 2011-09-08 | Ken Kobayashi | Control method for machine tool |
CN103809520A (en) * | 2012-11-12 | 2014-05-21 | 中国科学院沈阳计算技术研究所有限公司 | Full closed-loop control method for multi-shaft linked dynamic correction of interpolation positions |
US11241766B2 (en) | 2019-11-05 | 2022-02-08 | Fanuc Corporation | Numerical control apparatus |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100412222B1 (en) * | 2001-06-23 | 2003-12-24 | 사단법인 엔.씨 공작기계 연구조합 | Compensation method and Compensation apparatus of NC measure three-dimensional position error |
JP5030653B2 (en) * | 2007-04-20 | 2012-09-19 | 株式会社牧野フライス製作所 | Numerical control machine tool and numerical control device |
JP5058270B2 (en) | 2007-11-02 | 2012-10-24 | 株式会社牧野フライス製作所 | How to create an error map |
JP5317627B2 (en) * | 2008-10-28 | 2013-10-16 | 株式会社牧野フライス製作所 | Error correction method |
JP5505155B2 (en) * | 2010-07-16 | 2014-05-28 | 富士電機株式会社 | Robot system and robot control method |
JP5838584B2 (en) * | 2011-05-06 | 2016-01-06 | 株式会社ジェイテクト | Numerical control device for machine tools |
JP6595273B2 (en) * | 2015-09-11 | 2019-10-23 | Dmg森精機株式会社 | Numerical controller |
JP6693207B2 (en) * | 2016-03-23 | 2020-05-13 | 村田機械株式会社 | Machine tool and processing method |
JP2016154039A (en) * | 2016-04-19 | 2016-08-25 | 株式会社牧野フライス製作所 | Method and device for creating error map, and numerically controlled machine tool having error map creation function |
JP6606054B2 (en) * | 2016-12-22 | 2019-11-13 | Dmg森精機株式会社 | Machine tool motion error identification method |
JP6960376B2 (en) * | 2018-05-28 | 2021-11-05 | Dmg森精機株式会社 | Method for identifying motion error of feeder |
-
1994
- 1994-11-29 JP JP29416594A patent/JP3174704B2/en not_active Expired - Lifetime
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6309479B1 (en) | 1998-11-05 | 2001-10-30 | Toda Kogyo Corporation | Spindle-shaped goethite particles, spindle-shaped hematite particles and magnetic spindle-shaped metal particles containing iron as main component |
US6398863B1 (en) | 1998-11-05 | 2002-06-04 | Toda Kogyo Corporation | Spindle-shaped hematite particles and process for making spindle-shaped hematite particles |
JP2009104317A (en) * | 2007-10-22 | 2009-05-14 | Okuma Corp | Numerical control method and numerical control device |
EP2065771A2 (en) | 2007-11-30 | 2009-06-03 | Fanuc Ltd | Numerical controller for controlling a five-axis machining apparatus |
US7969111B2 (en) | 2007-11-30 | 2011-06-28 | Fanuc Ltd | Numerical controller for controlling a five-axis machining apparatus |
JP2011173234A (en) * | 2011-01-15 | 2011-09-08 | Ken Kobayashi | Control method for machine tool |
CN103809520A (en) * | 2012-11-12 | 2014-05-21 | 中国科学院沈阳计算技术研究所有限公司 | Full closed-loop control method for multi-shaft linked dynamic correction of interpolation positions |
CN103809520B (en) * | 2012-11-12 | 2017-05-10 | 中国科学院沈阳计算技术研究所有限公司 | Full closed-loop control method for multi-shaft linked dynamic correction of interpolation positions |
US11241766B2 (en) | 2019-11-05 | 2022-02-08 | Fanuc Corporation | Numerical control apparatus |
Also Published As
Publication number | Publication date |
---|---|
JPH08152909A (en) | 1996-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3174704B2 (en) | Numerical controller with position error correction function | |
JP2641797B2 (en) | Interactive numerical controller | |
US6885909B2 (en) | Numerical controller | |
US7274165B2 (en) | Numerical controller | |
US5936864A (en) | Free curve interpolation apparatus and interpolation method | |
EP1973020A2 (en) | Numerical controller capable of executing G-code commands in path table operation | |
JPS5917442B2 (en) | numerical control device | |
EP1746474A1 (en) | Numerical controller with integrated CNC frame and application frame display | |
US5321346A (en) | NC data creation method | |
EP0530364A1 (en) | Interactive numerical controller | |
JPH1020912A (en) | Thermal displacement correcting method by numerical controller | |
EP1528445A2 (en) | Numerical controller | |
JPH05204438A (en) | Screen display system for cnc | |
JPH05100723A (en) | Tool length correcting system for machine tool | |
JPH08263118A (en) | Positional error correction system | |
US5150025A (en) | Reloading system for pitch error correction data | |
JPH0566819A (en) | Interactive automatic programming method | |
JP3327641B2 (en) | Numerical control unit | |
JPH0922311A (en) | Circular arc machining control system for cnc | |
JPH07104812A (en) | Position correcting system | |
JPH0876827A (en) | Acceleration and deceleration control system | |
JPH0895623A (en) | Tool shift control system in cnc | |
JPH07334223A (en) | Tool spindle attitude control system | |
JP2868492B2 (en) | Numerical control unit | |
JPH07241742A (en) | Numerical control device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20001003 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20010313 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080330 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090330 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100330 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100330 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110330 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120330 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130330 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130330 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140330 Year of fee payment: 13 |
|
EXPY | Cancellation because of completion of term |