JPH08152909A - Position error correcting system - Google Patents

Position error correcting system

Info

Publication number
JPH08152909A
JPH08152909A JP29416594A JP29416594A JPH08152909A JP H08152909 A JPH08152909 A JP H08152909A JP 29416594 A JP29416594 A JP 29416594A JP 29416594 A JP29416594 A JP 29416594A JP H08152909 A JPH08152909 A JP H08152909A
Authority
JP
Japan
Prior art keywords
current position
correction
vector
pulse
correction vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP29416594A
Other languages
Japanese (ja)
Other versions
JP3174704B2 (en
Inventor
Toshiaki Otsuki
俊明 大槻
Seiji Ishii
清次 石井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Priority to JP29416594A priority Critical patent/JP3174704B2/en
Publication of JPH08152909A publication Critical patent/JPH08152909A/en
Application granted granted Critical
Publication of JP3174704B2 publication Critical patent/JP3174704B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Automatic Control Of Machine Tools (AREA)
  • Numerical Control (AREA)

Abstract

PURPOSE: To correct three-dimensional position error with one correcting function. CONSTITUTION: A preprocessing arithmetic means 2 decodes a working program 1 and outputs the moving commands of respective axes. An interpolating means 3 converts the moving commands of respective axes into interpolated pulses and outputs them. A current position recognizing means 4 fetches the interpolated pulses and recognizes the current positions of respective shafts. A current position correction vector calculating means 5 calculates current position correction vectors at the current positions with a grid point correction vector as a reference. A correction pulse output means 7 compares a start point position error correction vector at a former current position before the interpolation with the current position correction vector, converts a change amount into a correction pulse for every axis and outputs it. Adding means 8a, 8b and 8c provided for every axis add the correction pulse tot the interpolated pulse outputted from the interpolating means 3. Corresponding to the amounts of the inputted interpolated pulse and correction pulse, servo amplifiers 9a, 9b and 9c control the rotations of servo motors 10a, 10b and 10c.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は工作機械の送り軸の位置
を補正する数値制御装置の位置誤差補正方式に関し、特
に予め記憶された補正量を使用して誤差を補正する位置
誤差補正方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a position error correction method for a numerical controller for correcting the position of a feed shaft of a machine tool, and more particularly to a position error correction method for correcting an error using a correction amount stored in advance. .

【0002】[0002]

【従来の技術】数値制御装置により動作が制御される工
作機械の送り軸は、目標位置と実際に到達する位置との
間に誤差が生じる。この誤差を生じさせる要因には、送
りネジのピッチ誤差、ギヤのピッチ誤差、および直行軸
方向の真直度の誤差等がある。
2. Description of the Related Art In a feed axis of a machine tool whose operation is controlled by a numerical control device, an error occurs between a target position and an actually reached position. Factors that cause this error include a feed screw pitch error, a gear pitch error, and a straightness error in the orthogonal axis direction.

【0003】従来は、このような機械系に起因する誤差
を補正するために、ピッチ誤差補正、補間形ピッチ誤差
補正、または真直度補正等の補正機能を併用して用いて
いた。
Conventionally, in order to correct an error caused by such a mechanical system, a correction function such as pitch error correction, interpolation type pitch error correction, or straightness correction has been used together.

【0004】また、位置誤差は3次元的に変化する。つ
まり、X軸方向への移動であっても、目標位置での誤差
はX軸、Y軸、及びZ軸のそれぞれの値に依存して変化
する。そこで従来は、3軸方向のピッチ誤差補正を組み
合わせることにより、3次元的な誤差の補正をすること
が考えられていた。この様な例として、本出願人は特開
昭57−61906号を出願している。
Further, the position error changes three-dimensionally. That is, even if the movement is in the X-axis direction, the error at the target position changes depending on the respective values of the X-axis, the Y-axis, and the Z-axis. Therefore, conventionally, it has been considered that a three-dimensional error correction is performed by combining pitch error corrections in the three-axis 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, a plurality of correction functions must be used, so that the control for error correction becomes complicated.

【0006】また、3次元的な位置誤差を補正するため
に、3軸方向のピッチ誤差補正を組み合わせた機能で補
正を行うと、予め必要なデータ数が膨大となる。これら
のデータを格納するには大容量のメモリが必要であり、
数値制御装置のコストが高くなってしまうという問題点
があった。
If correction is performed with a function that combines pitch error corrections in the three-axis directions in order to correct a three-dimensional position error, the number of data required in advance becomes enormous. A large amount of memory is required to store these data,
There is a problem that the cost of the numerical control device becomes high.

【0007】本発明はこのような点に鑑みてなされたも
のであり、1つの補正機能で、3次元的に位置誤差を補
正できる位置誤差補正方式を提供することを目的とす
る。
The present invention has been made in view of the above circumstances, and an object thereof is to provide a position error correction method capable of correcting a position error three-dimensionally with one correction function.

【0008】[0008]

【課題を解決するための手段】本発明では上記課題を解
決するために、工作機械の3次元の座標系での送り軸の
移動を制御する数値制御装置の位置誤差補正方式におい
て、座標系を各座標軸方向に一定間隔の格子状領域に分
割し、前記格子状領域の格子点において予め測定された
格子点補正ベクトルを格納する格子点補正ベクトル記憶
手段と、移動指令に応じて前記送り軸の補間パルスを出
力する補間手段と、前記補間パルスを加算して前記軸の
現在位置を認識する現在位置認識手段と、前記現在位置
における現在位置補正ベクトルを前記格子点補正ベクト
ルに基づいて算出する現在位置補正ベクトル算出手段
と、前記現在位置補正ベクトルを、補間前の旧現在位置
における始点位置補正ベクトルと比較し、変化量を補正
パルスとして出力する補正パルス出力手段と、前記補正
パルスを前記補間パルスに加算する加算手段と、を有す
ることを特徴とする位置誤差補正方式が提供される。
According to the present invention, in order to solve the above-mentioned problems, in a position error correction system of a numerical controller for controlling the movement of a feed axis in a three-dimensional coordinate system of a machine tool, the coordinate system is changed. Lattice point correction vector storage means for dividing a lattice-shaped region at constant intervals in each coordinate axis direction and storing a lattice-point correction vector measured in advance at lattice points of the lattice-shaped region, and the feed axis of the feed shaft according to a movement command. An interpolation means for outputting an interpolation pulse, a current position recognition means for adding the interpolation pulse to recognize the current position of the axis, and a current position correction vector for calculating the current position correction vector at the current position based on the grid point correction vector. The position correction vector calculation means and the current position correction vector are compared with the start point position correction vector at the old current position before interpolation, and the change amount is output as a correction pulse. A correction pulse output unit, the corrected position error correction method characterized in that it comprises pulse adding means for adding said interpolated pulse, is provided.

【0009】[0009]

【作用】格子点補正ベクトル記憶手段は、座標系を各軸
方向に一定間隔の格子状領域に分割し、格子状領域の角
に設定された格子点において予め測定された格子点補正
ベクトルを格納する。補間手段は、位置指令に応じて送
り軸の補間パルスを出力する。現在位置認識手段は、補
間パルスにより位置指令で指示された現在位置を認識す
る。現在位置補正ベクトル算出手段は、補間周期ごと
に、現在位置における現在位置補正ベクトルを格子点補
正ベクトルに基づいて算出する。補正パルス出力手段
は、現在位置補正ベクトルと補間前の旧現在位置におけ
る始点位置補正ベクトルとを比較し、変化量を補正パル
スに変換し出力する。加算手段は、補正パルスを補間パ
ルスに加算する。
The grid point correction vector storage means divides the coordinate system into grid-shaped regions at regular intervals in each axis direction, and stores grid-point correction vectors measured in advance at grid points set at the corners of the grid-shaped region. To do. The interpolation means outputs an interpolation pulse for the feed axis according to the position command. The current position recognizing means recognizes the current position designated by the position command by the interpolation pulse. The current position correction vector calculation means calculates the current position correction vector at the current position for each interpolation cycle based on the grid point correction vector. The correction pulse output means compares the current position correction vector with the start point position correction vector at the old current position before interpolation, converts the change amount into a correction pulse, and outputs the correction pulse. The adding means adds the correction pulse to the interpolation pulse.

【0010】これにより、3次元空間上の任意の点にお
ける位置誤差を、1つの補間形の機能で補正することが
できる。
This makes it possible to correct the position error at an arbitrary point on the three-dimensional space with one interpolation type 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 grid point correction vector storage unit 6 stores grid point correction vectors at grid points. The grid points are points set at the points where the boundary lines of the grid-like areas intersect each other by dividing the three-dimensional coordinate system into grid-like areas at regular intervals along each axis. The grid point correction vector is a three-dimensional vector for correcting the position error measured in advance at each grid point.

【0012】そして、加工プログラム1により工作機械
における各種動作が指令される。前処理演算手段2は、
加工プログラム1を解読し各軸の移動指令を出力する。
補間手段3は、各軸の移動指令を補間パルスに変換し出
力する。
Then, the machining program 1 commands various operations in the machine tool. The preprocessing calculation means 2 is
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 an interpolation pulse and outputs it.

【0013】現在位置認識手段4は、補間パルスを取り
込んで各軸の現在位置を、X軸座標値4a、Y軸座標値
4b、およびZ軸座標値4cに分けて認識する。現在位
置補正ベクトル算出手段5は、格子点補正ベクトルを基
準に、現在位置における現在位置補正ベクトルを算出す
る。これは、補間周期ごとに行う補間形の誤差補正であ
る。補正パルス出力手段7は、補間前の旧現在位置にお
ける始点位置誤差補正ベクトルと現在位置補正ベクトル
とを比較し、変化量を各軸ごとの補正パルスに変換し、
出力する。
The current position recognition means 4 takes in 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 the 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 interpolation cycle. The correction pulse output means 7 compares the start point position error correction vector at the old current position before interpolation with the current position correction vector, and converts the amount of change into a correction pulse for each axis,
Output.

【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 servomotors 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 apparatus which is an embodiment of the present invention. The processor 11 controls the entire interactive numerical control device according to the system program stored in the ROM 12. EPROM or EEPROM is used for the ROM 12. RA
SRAM or the like is used for M13, and various data or input / output signals are stored therein. The non-volatile memory 14 has a C backed up by a battery (not shown).
A MOS is used to store parameters, tool correction amounts, grid point correction vectors, etc. that should be retained even after the power is turned off.

【0016】軸制御回路21はプロセッサ11から軸の
移動指令を受けて、軸の指令をサーボアンプ22に出力
する。サーボアンプ22はこの移動指令を受けて、工作
機械50のサーボモータを駆動する。PMC(プログラ
マブル・マシン・コントローラ)23はNCプログラム
を実行する際に、T機能信号(工具選択指令)等を受け
取る。そして、これらの信号をシーケンス・プログラム
で処理して、動作指令として信号を出力し、工作機械5
0を制御する。また、工作機械50から状態信号を受け
て、シーケンス処理を行なって、プロセッサ11へ必要
な入力信号を転送する。
The axis control circuit 21 receives the axis movement command from the processor 11 and outputs the axis command to the servo amplifier 22. The servo amplifier 22 receives the movement command and drives the servo motor of the machine tool 50. A PMC (Programmable Machine Controller) 23 receives a T function signal (tool selection command) and the like when executing an NC program. Then, these signals are processed by the sequence program, and the signals are output as operation commands, and the machine tool 5
Control 0. Further, it receives a status 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 the above-mentioned components are connected to each other by a bus 19, which is connected to the NC.
In addition to the processor 11 which is a CPU for communication, a processor 31 for interaction is connected by a bus 29.

【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 non-volatile memory 34, a VRAM (video RAM) 35, and a graphic control circuit 36 are connected. The processor 31 executes the interactive processing program stored in the ROM 32, and displays work or data that can be set in a menu format on the display device 43 described later on the interactive data input screen. In addition, a machining program is created from the data thus input, and the overall motion trajectory of the tool is displayed as a background animation. In the ROM 32, an input screen for the interactive data and the like are stored in addition to the interactive processing program. An SRAM or the like is used as the RAM 33, and various data for dialogue are stored. As the non-volatile memory 34, a CMOS backed up by a battery (not shown) is used, and program data, a machining program and the like to be retained even after the power is turned off are stored.
The VRAM 35 is a RAM that can be accessed at high speed,
Graphic data for displaying an animation is stored when a cutting simulation of the machine tool 50 is performed based on the machining program stored as an NC sentence in the non-volatile memory 34. 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が設けられる。
In addition, a CRT / MDI (Cathod Ray Tube / Manual) that takes a human interface with an operator is provided.
The Data Input) panel 40 is connected to the bus 19 and is provided with a graphic control circuit 41, a switch 42, a display device 43, a keyboard 44 and a software key 45.

【0020】グラフィック制御回路41はプロセッサ1
1等から出力されたディジタル信号を表示用の信号に変
換して出力する。切換器42はグラフィック制御回路3
6又はグラフィック制御回路41から出力された表示用
の信号を切り換えて表示装置43に与える。表示装置4
3にはCRTあるいは液晶表示装置が使用される。キー
ボード44はシンボリックキー、数値キー等からなり、
必要な図形データ、NCデータをこれらのキーを使用し
て入力する。ソフトウェアキー45はシステムプログラ
ム等によって機能が変化する指令キーであって、その機
能名称等は表示装置43の所定の画面位置に表示され
る。
The graphic control circuit 41 is the processor 1.
It converts the digital signal output from 1 etc. into a signal for display and outputs it. The switch 42 is the graphic control circuit 3
6 or the display signal output from the graphic control circuit 41 is switched and given to the display device 43. Display device 4
A CRT or a liquid crystal display device is used for 3. The keyboard 44 includes symbolic keys, numerical keys, etc.,
Input the required graphic data and NC data using these keys. The software key 45 is a command key whose function is changed by a system program or the like, and the function name or the like is displayed at a predetermined screen position of the display device 43.

【0021】なお、バックグラウンドアニメーション表
示のため、プログラムデータが対話用のプロセッサ31
により表示用データに処理され、グラフィック制御回路
36で表示信号に変換され、表示装置43に表示され
る。同様に、対話形式で加工プログラムを作成していく
ときに、形状及び加工条件等がグラフィック制御回路4
1で表示用の信号に変換され、表示装置43に表示され
る。
Since the background animation is displayed, the program data is used by the processor 31 for interaction.
Are processed into display data, converted into display signals by the graphic control circuit 36, and displayed on the display device 43. Similarly, when creating a machining program interactively, the shape, machining conditions, etc. are displayed in the graphic control circuit 4.
The signal is converted into a signal for display at 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 lattice areas. The three-dimensional coordinate system is divided into a grid pattern at regular intervals. The points where the boundary lines that divide into a grid form intersect are grid points P 0 to P 26 . It should be noted that what is shown in this figure is only a part of the coordinate system, and in fact, the entire mechanically movable area is divided into such a lattice shape.

【0024】そして、各格子点における機械系に起因す
る位置誤差を、予め測定しておく。この誤差は、3次元
ベクトルで表される。そこで、位置誤差と絶対値が同じ
で逆向きのベクトルを格子点補正ベクトル(図中、各格
子点上に矢印で示す)とする。このようにして求められ
た格子点補正ベクトルは、不揮発性メモリ14(図2に
示す)等に格納される。なお、この格子点補正ベクトル
は、アブソリュート値である。
Then, the position error due to the mechanical system at each lattice 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 the opposite direction is used as a grid point correction vector (indicated by an arrow on each grid point in the figure). The grid point correction vector thus obtained is stored in the non-volatile memory 14 (shown in FIG. 2) or the like. The grid point correction vector is an absolute value.

【0025】なお、格子状に分割する際に、あまり細か
く分割すると格子点補正ベクトルのデータ量が多くな
り、必要とするメモリの記憶容量が大きくなってしま
う。従って、なるべく正しい補正量を算出でき、しかも
データ量を少なく抑えることができる格子点の数は、一
軸につき10箇所程度である。
When dividing into a grid shape, if the division is too fine, the data amount of the grid point correction vector increases and the required memory storage capacity increases. Therefore, the number of grid points for which the correct correction amount can be calculated and the data amount can be suppressed to a minimum is about 10 points on each 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
Y ,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-shaped region including machine positions for which correction vectors are to be calculated. In this example, the machine position at which the correction vector is to be calculated is the point P (P X , P Y , P Z ) at the grid point P.
It is located in a region surrounded by 0 , P 1 , P 3 , P 4 , P 9 , P 10 , P 12 , and P 13 . The X-axis lattice spacing is L X , the Y-axis lattice spacing is L Y , and the Z-axis lattice spacing is L Z. Further, the grid point correction vectors V1 (V1 X , V are respectively assigned to the grid points P 0 , P 1 , P 4 , P 3 , P 9 , P 10 , P 13 , P 12 respectively.
1 Y , V1 Z ) to V8 (V8 X , V8 Y , V8 Z ) are set. Hereinafter, this region is assumed to be a vector field having linearity, in which lattice point vectors corresponding to the respective lattice points are given at the lattice point positions.

【0027】点Pを含む領域が求められると、格子点P
0 (P0X,P0Y,P0Z)を基準点として定める。次に、
点Pでの補正ベクトルを求めるために、まず格子内の位
置を〔0,1〕に正規化する。X軸の格子間隔をLx,
Y軸の格子間隔をLy,Z軸の格子間隔をLzとした場
合の正規化した点Pの座標値(x,y,z)を下式で定
める。
When the area including the point P is obtained, the grid point P
0 (P 0X , P 0Y , P 0Z ) is set as a reference point. next,
In order to obtain the correction vector at the point P, the position in the grid is first normalized to [0,1]. The lattice spacing of the X axis is Lx,
The normalized coordinate value (x, y, z) of the point P when the Y-axis lattice spacing is Ly and the Z-axis lattice spacing is Lz is determined by the following equation.

【0028】[0028]

【数1】 x=(Px −P0x)/LX ・・・・・ (1)[Number 1] x = (P x -P 0x) / L X ····· (1)

【0029】[0029]

【数2】 y=(Py −P0y)/Ly ・・・・・ (2)[Number 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 this coordinate value (x, y, z), the correction vector V (V X , V Y , V Z ) is calculated by the following formula.

【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 way, the correction vector at any 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 by using the above calculation formula.

【0032】ところで、算出される現在位置補正ベクト
ルは、格子点補正ベクトルと同様にアブソリュート値で
ある。しかし、補間パルスに加算するにはインクリメン
タル値に変換しなければならない。そこで、現在位置補
正ベクトルの、補間前の旧現在位置における始点補正ベ
クトルからの変化量を計算する。始点補正ベクトルは、
前回の補間の際に、現在位置補正ベクトルとして既に求
められている。補間前の位置における始点補正ベクトル
をU(UX ,UY ,UZ )とすると、加算すべき補正ベ
クトルC(CX ,CY ,CZ )は、
The calculated current position correction vector is an absolute value like the grid point correction vector. However, in order to add to the interpolation pulse, it has to be converted into an incremental value. 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
It has already been obtained as the current position correction vector at the time of the previous interpolation. If the starting point correction vector at the position before 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の値を、補正パルス
に変換し補間パルスに加算する。サーボアンプは、補正
パルスが加えられた補間パルスに従って各軸の移動を制
御する。これにより、現在位置における機械系に起因す
る誤差が修正される。
[Equation 5] 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 is added. This corrects the error caused by the mechanical system at the current position.

【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 flow chart starts when the current position is determined. [S1] An area including the current position is obtained, and one of the grid points is used as a reference point. [S2] The current position correction vector V is calculated based on the grid point position correction vector. [S3] Start point correction vector U of the current position correction vector V
The amount of change from is calculated, and the 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, the position error in the three-dimensional space due to the mechanical system is interpolated by one interpolation. It can be corrected by the shape error correction function. Moreover, since the error is measured at some points in the three-dimensional space in advance and the error at an arbitrary position is calculated from the measurement result, it is necessary to consider what is the factor causing the position error. Absent. Moreover, since the number of grid point correction vectors to be measured in advance is small, the memory capacity can be small and the numerical control device can be inexpensive.

【0036】[0036]

【発明の効果】以上説明したように本発明では、補間パ
ルスが出力されるごとに、現在位置における3次元の全
ての座標値を基準として補正ベクトルを算出し、補正パ
ルスとして加算するようにしたため、機械系の様々な要
因に起因する3次元的な位置誤差を、1つの誤差補正機
能で補正することができる。
As described above, in the present invention, every time an interpolation pulse is output, a correction vector is calculated with reference to all three-dimensional coordinate values at the current position, and added as a correction pulse. A three-dimensional position error caused by various factors of the mechanical system can be corrected by one error correction function.

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

【図1】本発明の概略構成を示すブロック図である。FIG. 1 is a block diagram showing a schematic configuration of the present invention.

【図2】本発明の一実施例である対話形数値制御装置の
構成を示すブロック図である。
FIG. 2 is a block diagram showing the configuration of an interactive numerical control device that is an embodiment of the present invention.

【図3】格子状領域に分割された3次元座標系を示す図
である。
FIG. 3 is a diagram showing a three-dimensional coordinate system divided into lattice areas.

【図4】補正ベクトルを算出すべき機械位置を含む格子
状領域を示す図である。
FIG. 4 is a diagram showing a grid-shaped region including a machine position for which a correction vector is to be calculated.

【図5】補正パルスの算出手順を示すフローチャートで
ある。
FIG. 5 is a flowchart showing a procedure for calculating a correction pulse.

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

1 加工プログラム 2 前処理演算手段 3 補間手段 4 現在位置認識手段 5 現在位置補正ベクトル算出手段 6 格子点補正ベクトル記憶手段 7 補正パルス出力手段 8a,8b,8c 加算手段 9a,9b,9c サーボアンプ 10a,10b,10c サーボモータ 1 Machining program 2 Pre-processing 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

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 工作機械の3次元の座標系での送り軸の
移動を制御する数値制御装置の位置誤差補正方式におい
て、 座標系を各座標軸方向に一定間隔の格子状領域に分割
し、前記格子状領域の格子点において予め測定された格
子点補正ベクトルを格納する格子点補正ベクトル記憶手
段と、 移動指令に応じて前記送り軸の補間パルスを出力する補
間手段と、 前記補間パルスを加算して前記軸の現在位置を認識する
現在位置認識手段と、 前記現在位置における現在位置補正ベクトルを前記格子
点補正ベクトルに基づいて算出する現在位置補正ベクト
ル算出手段と、 前記現在位置補正ベクトルを、補間前の旧現在位置にお
ける始点位置補正ベクトルと比較し、変化量を補正パル
スとして出力する補正パルス出力手段と、 前記補正パルスを前記補間パルスに加算する加算手段
と、 を有することを特徴とする位置誤差補正方式。
1. A position error correction method of a numerical control device for controlling movement of a feed axis in a three-dimensional coordinate system of a machine tool, wherein the coordinate system is divided into lattice-shaped regions at regular intervals in each coordinate axis direction, Lattice point correction vector storage means for storing the lattice point correction vector measured in advance at the lattice points of the lattice area, interpolation means for outputting the interpolation pulse of the feed axis in response to a movement command, and the interpolation pulse for addition A current position recognition means for recognizing the current position of the axis, a current position correction vector calculation means for calculating a current position correction vector at the current position based on the grid point correction vector, and an interpolation of the current position correction vector. Correction pulse output means for comparing with the start position correction vector at the previous old current position and outputting the amount of change as a correction pulse; A position error correction method comprising: an addition unit that adds to a pulse.
【請求項2】 現在位置補正ベクトル算出手段は、前記
格子点において前記格子点補正ベクトルが与えられ、線
形性を有するベクトル場を想定し、前記ベクトル場にお
ける前記現在位置のベクトル量を現在位置補正ベクトル
として算出することを特徴とする請求項1記載の位置誤
差補正方式。
2. The current position correction vector calculation means assumes a vector field having linearity given the grid point correction vector at the grid point, and corrects the vector amount of the current position in the vector field to the current position. The position error correction method according to claim 1, wherein the position error correction method is calculated as a vector.
【請求項3】 前記格子点補正ベクトル記憶手段は、バ
ッテリでバックアップされた不揮発性メモリであること
を特徴とする請求項1記載の位置誤差補正方式。
3. The position error correction method according to claim 1, wherein the lattice point correction vector storage means is a non-volatile memory backed up by a battery.
JP29416594A 1994-11-29 1994-11-29 Numerical controller with position error correction function Expired - Lifetime JP3174704B2 (en)

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 true JPH08152909A (en) 1996-06-11
JP3174704B2 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 (11)

* Cited by examiner, † Cited by third party
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
JP2008269316A (en) * 2007-04-20 2008-11-06 Makino Milling Mach Co Ltd Numerical control machine tool and numerical control device
JP2010108085A (en) * 2008-10-28 2010-05-13 Makino Milling Mach Co Ltd Error correction method
JP2012020388A (en) * 2010-07-16 2012-02-02 Fuji Electric Co Ltd Robot system and method for controlling robot
JP5058270B2 (en) * 2007-11-02 2012-10-24 株式会社牧野フライス製作所 How to create an error map
JP2012234424A (en) * 2011-05-06 2012-11-29 Jtekt Corp Numerical control device for machine tool
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
WO2017043127A1 (en) * 2015-09-11 2017-03-16 Dmg森精機株式会社 Numerical control device
JP2017174060A (en) * 2016-03-23 2017-09-28 村田機械株式会社 Machine tool and processing method
WO2018116635A1 (en) * 2016-12-22 2018-06-28 Dmg森精機株式会社 Movement error identification method for machine tool
JP2019206043A (en) * 2018-05-28 2019-12-05 Dmg森精機株式会社 Method for identifying motion error of feeding device

Families Citing this family (6)

* Cited by examiner, † Cited by third party
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
JP5399624B2 (en) * 2007-10-22 2014-01-29 オークマ株式会社 Numerical control method and numerical control device
JP4327894B2 (en) 2007-11-30 2009-09-09 ファナック株式会社 Numerical control device for controlling a 5-axis machine
JP2011173234A (en) * 2011-01-15 2011-09-08 Ken Kobayashi Control method for machine tool
CN103809520B (en) * 2012-11-12 2017-05-10 中国科学院沈阳计算技术研究所有限公司 Full closed-loop control method for multi-shaft linked dynamic correction of interpolation positions
JP7448336B2 (en) 2019-11-05 2024-03-12 ファナック株式会社 numerical control device

Cited By (18)

* Cited by examiner, † Cited by third party
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
JP2008269316A (en) * 2007-04-20 2008-11-06 Makino Milling Mach Co Ltd Numerical control machine tool and numerical control device
JP5058270B2 (en) * 2007-11-02 2012-10-24 株式会社牧野フライス製作所 How to create an error map
US8680806B2 (en) 2007-11-02 2014-03-25 Makino Milling Machine Co., Ltd. Numerically controlled machine tool and numerical control device
US8786243B2 (en) 2007-11-02 2014-07-22 Makino Milling Machine Co., Ltd. Method and device for preparing error map and numerically controlled machine tool having error map preparation function
JP2010108085A (en) * 2008-10-28 2010-05-13 Makino Milling Mach Co Ltd Error correction method
JP2012020388A (en) * 2010-07-16 2012-02-02 Fuji Electric Co Ltd Robot system and method for controlling robot
JP2012234424A (en) * 2011-05-06 2012-11-29 Jtekt Corp Numerical control device for machine tool
WO2017043127A1 (en) * 2015-09-11 2017-03-16 Dmg森精機株式会社 Numerical control device
JP2017174060A (en) * 2016-03-23 2017-09-28 村田機械株式会社 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
WO2018116635A1 (en) * 2016-12-22 2018-06-28 Dmg森精機株式会社 Movement error identification method for machine tool
CN110114733A (en) * 2016-12-22 2019-08-09 Dmg森精机株式会社 The kinematic error identification method of toolroom machine
DE112017006465T5 (en) 2016-12-22 2019-09-05 Dmg Mori Co., Ltd. Method for identifying movement errors for machine tools
US10946491B2 (en) 2016-12-22 2021-03-16 Dmg Mori Co., Ltd. Movement error identification method for machine tool
TWI731193B (en) * 2016-12-22 2021-06-21 日商Dmg森精機股份有限公司 Method of identifying motion error of machine tool
CN110114733B (en) * 2016-12-22 2022-03-15 Dmg森精机株式会社 Method for identifying motion error of machine tool
JP2019206043A (en) * 2018-05-28 2019-12-05 Dmg森精機株式会社 Method for identifying motion error of feeding device

Also Published As

Publication number Publication date
JP3174704B2 (en) 2001-06-11

Similar Documents

Publication Publication Date Title
JP3174704B2 (en) Numerical controller with position error correction function
JP2641797B2 (en) Interactive numerical controller
US8483865B2 (en) Numerical controller with tool trajectory display function
EP1720084B1 (en) Numerical controller
JP4503659B2 (en) Numerical controller for coordinate transformation tool phase control
JP2003303005A (en) Numerical control device
JP4233540B2 (en) Numerical control device that drives each axis motor using table format data
US5936864A (en) Free curve interpolation apparatus and interpolation method
EP0121100B1 (en) Graphics display method for numerical control apparatus
US5126646A (en) Nc program drawing method
JPS5917442B2 (en) numerical control device
EP1746474A1 (en) Numerical controller with integrated CNC frame and application frame display
JPH0991017A (en) Device for confirming robot operation route
JPH08286726A (en) Robot teaching correction device
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
JP2868492B2 (en) Numerical control unit
JPH0573126A (en) Simulation plotting method for numerical controller
US5739656A (en) Numerical controlling method with mirror image function
JPH0922311A (en) Circular arc machining control system for cnc
JPH0876827A (en) Acceleration and deceleration control system
JPH08263118A (en) Positional error correction system
JPH07334223A (en) Tool spindle attitude control system

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