JP3513989B2 - Command interpolation method for positioning control system - Google Patents

Command interpolation method for positioning control system

Info

Publication number
JP3513989B2
JP3513989B2 JP18721495A JP18721495A JP3513989B2 JP 3513989 B2 JP3513989 B2 JP 3513989B2 JP 18721495 A JP18721495 A JP 18721495A JP 18721495 A JP18721495 A JP 18721495A JP 3513989 B2 JP3513989 B2 JP 3513989B2
Authority
JP
Japan
Prior art keywords
command
arithmetic unit
position command
order arithmetic
function
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 - Fee Related
Application number
JP18721495A
Other languages
Japanese (ja)
Other versions
JPH0934527A (en
Inventor
信弘 梅田
龍一 小黒
正夫 尾島
祐敦 稲積
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.)
Yaskawa Electric Corp
Original Assignee
Yaskawa Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yaskawa Electric Corp filed Critical Yaskawa Electric Corp
Priority to JP18721495A priority Critical patent/JP3513989B2/en
Publication of JPH0934527A publication Critical patent/JPH0934527A/en
Application granted granted Critical
Publication of JP3513989B2 publication Critical patent/JP3513989B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、ロボットやNC(数値
制御装置)などの位置決め制御系の制御方法に関し、特
に、遅れや精度の劣化を伴わずに滑らかな加減速を実現
する指令補間方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a control method for a positioning control system such as a robot or NC (numerical controller), and more particularly to a command interpolation method for realizing smooth acceleration / deceleration without delay or deterioration of accuracy. Regarding

【0002】[0002]

【従来の技術】産業用のロボットやNC等は、複雑な動
作を要求され、また用途もさまざまである。そこでこれ
らロボットやNCでは、単一の演算部を用いて各軸のデ
ジタルサーボ系の制御を行なうではなく、与えられたテ
ィーチングポイントデータや数値制御データに基づいて
離散的に位置指令あるいは速度指令は出力する上位演算
部と、上位演算部からの指令に基づいて各軸のデジタル
サーボ系を制御する下位演算部とを設ける構成とするの
が通例である。上位演算部からの指令の出力間隔に比
べ、下位演算部での各軸のデジタルサーボ系の制御のた
めのサンプリング周期の方が大幅に短いから、下位演算
部でのサンプリング周期に見合うように、上位演算部が
出力する離散的な指令を補間し平準化する必要がある。
すなわち、下位演算部でのサンプリング周期ごとに補間
値を定め、この補間値を下位演算部に指令として与える
必要がある。下位演算部は、補間値に基づき、例えば、
パルス移動量などを算出して、デジタルサーボ系に指令
を出す。
2. Description of the Related Art Industrial robots, NCs and the like are required to have complicated operations and have various uses. Therefore, these robots and NCs do not control the digital servo system for each axis by using a single arithmetic unit, but discretely issue position or speed commands based on given teaching point data or numerical control data. It is customary to provide a high-order arithmetic unit for outputting and a low-order arithmetic unit for controlling the digital servo system of each axis based on a command from the high-order arithmetic unit. Compared with the output interval of the command from the higher-order arithmetic unit, the sampling cycle for controlling the digital servo system of each axis in the lower-order arithmetic unit is significantly shorter, so to match the sampling cycle in the lower-order arithmetic unit, It is necessary to interpolate and level the discrete commands output by the higher-order arithmetic unit.
That is, it is necessary to determine an interpolation value for each sampling cycle in the lower-order arithmetic unit and give this interpolation value as a command to the lower-order arithmetic unit. The lower-order operation unit, based on the interpolation value, for example,
Calculates the pulse movement amount and issues a command to the digital servo system.

【0003】その際、より高度な位置決め制御を行なう
ためには、作業点の振動を生じさせないための滑らかな
加減速を実現しつつ上位演算部の算出した指令波形をで
きる限り再現できるような補間の方法が必要となる。従
来は、上位演算部が出力した指令をローパスフィルタに
入力する、あるいは上位演算部が出力した指令に対して
移動平均を求める、などの処理によって補間、平準化を
行ない、下位演算部に対する指令としていた。また、特
開昭64−7207号公報には、上位演算部の出力する
位置指令から、その位置指令に適合するスプライン曲線
を表わす3次方程式を求め、求めた方程式に基づいて補
間を行なう方法が開示されている。
At this time, in order to perform more advanced positioning control, interpolation is performed so that the command waveform calculated by the higher-order arithmetic unit can be reproduced as much as possible while realizing smooth acceleration / deceleration for preventing vibration of the working point. Method is required. Conventionally, interpolation or leveling is performed by processing such as inputting a command output by a higher-order arithmetic unit to a low-pass filter, or obtaining a moving average for a command output by a higher-order arithmetic unit, and as a command for a lower-order arithmetic unit. I was there. Further, Japanese Laid-Open Patent Publication No. 64-7207 discloses a method of obtaining a cubic equation representing a spline curve that fits the position command from the position command output by the higher-order arithmetic unit, and performing interpolation based on the calculated equation. It is disclosed.

【0004】[0004]

【発明が解決しようとする課題】しかしながら、ローパ
スフィルタや移動平均を用いた従来の補間方法では、滑
らかな加減速を実現するような指令を下位演算部に与え
るためにはそれ相応の遅れが生じ、また、精度の劣化が
不可避であって、下位演算部への指令が上位演算部の出
力した指令を忠実には反映しないという問題点を有す
る。スプライン曲線を求めて補間を行なう方法には、計
算量が多くなるという問題点がある。本発明の目的は、
上位演算部で算出された離散的な位置指令に対し、少な
い計算量で、遅れや精度の劣化を伴わず、滑らかな加減
速を実現する補間を実行できる、位置決め制御系の指令
補間方法を提供することにある。
However, in the conventional interpolation method using the low-pass filter and the moving average, a corresponding delay occurs in order to give a command for realizing smooth acceleration / deceleration to the lower-order arithmetic unit. Further, there is a problem that the deterioration of accuracy is unavoidable and the command to the lower-order arithmetic unit does not faithfully reflect the command output from the higher-order arithmetic unit. The method of obtaining the spline curve and performing the interpolation has a problem that the amount of calculation increases. The purpose of the present invention is to
Providing a command interpolation method for the positioning control system that can execute interpolation that realizes smooth acceleration / deceleration with a small amount of calculation for discrete position commands calculated by the host computer, without delay or deterioration in accuracy To do.

【0005】[0005]

【課題を解決するための手段】本発明の位置決め制御系
の指令補間方法は、離散的に位置指令を算出する上位演
算部と前記上位演算部からの位置指令の出力間隔よりも
短いサンプリング周期でデジタルサーボ系を制御する下
位演算部とからなるサーボ装置を有し、前記サーボ装置
により対応するデジタルサーボ系が指令され各軸が位置
決めされる制御系における指令補間方法において、前記
上位演算部からの今回の位置指令をP0、今回の位置指
令P0に対応する時刻をT0、前記上位演算部からの次回
の位置指令をP1、次回の位置指令P1に対応する時刻を
1、前回の補間により最後に払い出された速度指令を
0とし、次回の位置指令P1と前記上位演算部からの次
々回の位置指令P2によって定まるパラメータをbと
して、時刻t(ただしT0≦t≦T1)を独立変数とする
3つの関数 fa(t)=v0(t−T0)+P0; fb(t)=(P1−P0)(t−T0)/(T1−T0)+P
0; fc(t)=b(t−T1)+P1; を定義し、T0≦t≦T1で連続でありかつT0<t<T1
tに関して2回微分可能な関数を重み付け係数とし
該重み付け係数を用いて、F(T0)=P0かつF(T1)=
1となるように3つの関数fa(t),fb(t),fc(t)を
合成して関数F(t)を求め、関数F(t)の値をもって時
刻t(ただしT0≦t≦T1)における位置指令とする。
A command interpolation method for a positioning control system according to the present invention has a sampling cycle shorter than the output interval of the position command from the higher-order computing unit that discretely calculates the position command and the higher-order computing unit. In a command interpolation method in a control system that has a servo device including a lower-order arithmetic unit that controls a digital servo system, and a corresponding digital servo system is commanded by the servo device to position each axis, The current position command is P 0 , the time corresponding to the current position command P 0 is T 0 , the next position command from the higher-order arithmetic unit is P 1 , the time corresponding to the next position command P 1 is T 1 , a speed command that was last paid out by the previous interpolation and v 0, the parameters determined by the position command P 2 of after next from the next position command P 1 and the upper level computing section as b, the time t ( However, three functions f a (t) = v 0 (t−T 0 ) + P 0 ; having T 0 ≦ t ≦ T 1 ) as an independent variable; f b (t) = (P 1 −P 0 ) (t− T 0 ) / (T 1 −T 0 ) + P
0; f c (t) = b (t-T 1) + P 1; Defines a continuous T 0 ≦ t ≦ T 1 and T 0 <t <T 1
And a function that can be differentiated twice with respect to t is used as a weighting coefficient ,
Using the weighting factors, F (T 0 ) = P 0 and F (T 1 ) =
The three functions f a (t), f b (t), and f c (t) are combined so as to be P 1 to obtain the function F (t), and the value of the function F (t) is set at the time t (however, The position command is T 0 ≤t ≤T 1 ).

【0006】本発明において、パラメータbは、上位演
算部からの次回と次々回の位置指令のみならず、次々々
回以降の位置指令の情報に応じて変化させるようにして
もよい。また、パルス移動量を入力とするデジタルサー
ボ系等に本発明を適用する場合には、下位演算部でのサ
ンプリング周期ごとに関数F(t)の値を求め、前回求め
た関数F(t)の値と今回求めた関数F(t)の値との差を
移動量として下位演算部に与えるようにすることができ
る。
In the present invention, the parameter b may be changed not only in the next and subsequent position commands from the higher-order arithmetic unit, but also in accordance with the information of the position commands in the subsequent commands. Further, when the present invention is applied to a digital servo system or the like that receives the pulse movement amount as an input, the value of the function F (t) is calculated for each sampling cycle in the lower-order arithmetic unit, and the previously calculated function F (t) is calculated. It is possible to give the difference between the value of the above-mentioned value and the value of the function F (t) obtained this time as the movement amount to the lower-order calculation unit.

【0007】[0007]

【作用】今回から少なくとも次々回までの上位演算部か
らの指令に基づいて関数fa(t),fb(t),fc(t)を求
め、2回微分可能な関数を重み付け係数として用いてこ
れら関数fa(t),fb(t),fc(t)を合成し、合成され
た関数によって補間を行なうので、少ない計算量で、遅
れや精度の劣化を伴わず、滑らかな加減速を実現でき
る。
The function f a (t), f b (t), f c (t) is obtained based on the command from the higher-order arithmetic unit from this time to at least the next time, and the twice differentiable function is used as the weighting coefficient. These functions f a (t), f b (t), and f c (t) are combined, and interpolation is performed by the combined function. Therefore, with a small amount of calculation, there is no delay or deterioration in accuracy, and smooth operation is possible. Acceleration / deceleration can be realized.

【0008】[0008]

【実施例】次に、本発明の実施例について説明する。こ
こでは、与えられたティーチングポイントデータや数値
制御データによって、一定周期Tごとに上位演算部が各
軸のサーボモータに対する位置指令を計算・出力し、一
方、下位演算部は、サンプリング周期δtごとのパルス
移動量に基づいてサーボモータをデジタルサーボ制御す
るものとする。ここでT>δtであるとし、各サンプリ
ング周期ごとに、補間された位置指令値(補間値)が本
発明に基づく指令補間方法によって計算され、前回の補
間値と今回の補間値との差によって今回のパルス移動量
が計算されるものとする。上位演算部が出力する時刻T
0,T1(=T0+T),T2(=T1+T),T3(=T2+T),…
に対する位置指令をそれぞれP0,P1,P2,P3,…とす
る。一方、下位演算部が出力する時刻をt0(=T0),t1
(=t0+δt),t2(=t1+δt),…として、これに対
応するサンプリングごとの位置指令をx0,x1,x2,…と
する。本発明では、時刻T0とT1の間での位置指令の補
間を行なってx0,x1,x2,…を求める場合に、時刻T0
の直前に補間によって払い出された速度指令をv0
し、位置指令P1とP2によって定まるパラメータをbと
して、3つの関数 fa(t)=v0(t−T0)+P0; fb(t)=(P1−P0)(t−T0)/T+P0; fc(t)=b(t−T1)+P1; を定義する。bは例えばb=(P2−P1)/Tのように
定める。また、f1(T0)=1,f1(T1)=0、T0<t<
1で2回微分可能な連続関数f1(t)と、f2(T 0)=
0,f2(T1)=1、T0<t<T1で2回微分可能な連続
関数f2(t)とを考える。これら関数f1(t),f2(t)
は、例えば、S字型の関数として定義される。そして、
F(T0)=P0,F(T1)=P1となるように、関数f
1(t),f2(t)を用いて関数fa(t),fb(t),fc(t)を
合成し、関数F(t)を得る。ここで関数f1(t),f
2(t)は、関数fa(t),fb(t),fc(t)に対する重み付
け係数として使用されている。具体的には、 F(t)=fb(t)+f1(t)・(fa(t)−fb(t))+f2
(t)・(fc(t)−fb(t)) のように合成を行なう。このようにして求められた関数
F(t)によって補間を行なう。なお、上式で合成を行な
う場合、f1(T0)=1,f1(T1)=0,f2(T0)=0,f2
(T1)=1であれば、必ずF(T0)=P0,F(T1)=P1
成立する。補間によって滑らかな位置指令を生成するた
めには、少なくとも加速度指令が連続であることが必要
であり、そのためにここでは、関数f1(t),f2(t)と
して2回微分可能な関数を用いている。
EXAMPLES Next, examples of the present invention will be described. This
Here, given teaching point data and numerical values
Depending on the control data, the higher-order arithmetic unit can change
Calculates and outputs the position command for the axis servo motor,
On the other hand, the lower-order arithmetic unit is configured to generate a pulse for each sampling period δt.
Digital servo control of the servo motor based on the amount of movement
Shall be. Here, assuming that T> δt, each sample
The interpolated position command value (interpolation value) is
Calculated by the command interpolation method based on the invention,
The pulse movement amount of this time by the difference between the inter-val value and the interpolation value of this time
Shall be calculated. Time T output by the host processor
0, T1(= T0+ T), T2(= T1+ T), T3(= T2+ T), ...
Position command for each0, P1, P2, P3, ...
It On the other hand, the time output by the lower-order arithmetic unit is t0(= T0), t1
(= T0+ Δt), t2(= T1+ Δt), ...
Position command for each sampling0, x1, x2,…When
To do. In the present invention, the time T0And T1Of position commands between
Go between x0, x1, x2, When seeking time T0
The speed command issued by interpolation immediately before0When
Position command P1And P2B is the parameter determined by
And then the three functions fa(t) = v0(T-T0) + P0; fb(t) = (P1-P0) (T-T0) / T + P0; fc(t) = b (t−T1) + P1; Is defined. b is, for example, b = (P2-P1) / T
Establish. Also, f1(T0) = 1, f1(T1) = 0, T0<T <
T1Continuous function f that can be differentiated twice by1(t) and f2(T 0) =
0, f2(T1) = 1, T0<T <T1Continuously differentiable twice with
Function f2Consider (t). These functions f1(t), f2(t)
Is defined as an S-shaped function, for example. And
F (T0) = P0, F (T1) = P1So that the function f
1(t), f2the function f using (t)a(t), fb(t), fc(t)
Synthesis is performed to obtain the function F (t). Where the function f1(t), f
2(t) is the function fa(t), fb(t), fcWeighting for (t)
It is used as a coefficient. In particular, F (t) = fb(t) + f1(t) ・ (fa(t) -fb(t)) + f2
(t) ・ (fc(t) -fb(t)) Synthesis is performed as follows. The function thus obtained
Interpolation is performed by F (t). Note that the above formula is used for synthesis.
If1(T0) = 1, f1(T1) = 0, f2(T0) = 0, f2
(T1) = 1, F (T0) = P0, F (T1) = P1But
To establish. To generate a smooth position command by interpolation
To achieve this, at least the acceleration command must be continuous.
And for that, here the function f1(t), f2(t) and
Then, a function that can be differentiated twice is used.

【0009】実際には、サンプリング周期δtごとに関
数F(t)に基づく補間値を下位演算部に指令する代り
に、前回のサンプリング時(t=tn-1)の補間値をx
n-1(=F(tn-1))、今回のサンプリング時(t=tn
=tn-1+δt)の補間値をxn(=F(tn))として、
n=xn−xn-1を算出し、このSnをサンプリング周期
ごとのサーボモータのパルス移動量として下位演算部に
与えてもよい。図1は、上述した処理を図解するための
図であり、横軸を時刻t、縦軸をサーボモータの位置x
として平面を表わしている。図中○印は、上位演算部に
よる位置指令を示している。直線fa,fb,fcは、それ
ぞれ、x=fa(t),x=fb(t),x=fc(t)で表わさ
れる直線を示している。また、ベクトルV0,V1,V2
それぞれ直線fa,fb,fcの方向に平行であって、位置
指令の増減方向を示すものである。具体的には、ベクト
ルV0の傾き(ベクトルV0の方向とt軸とがなす角の正
接)は、時刻t0の直前に補間によって払い出された速
度指令v0を表わし、ベクトルV1の傾きは(P1−P0
/Tで表わされ、ベクトルV2の傾きはパラメータbで
ある。
Actually, instead of instructing the lower order arithmetic unit of the interpolated value based on the function F (t) for each sampling period δt, the interpolated value at the previous sampling time (t = t n-1 ) is x.
n-1 (= F (t n-1 )), at the time of this sampling (t = t n
= T n-1 + δt) is set as x n (= F (t n )),
S n = x n −x n−1 may be calculated, and this S n may be given to the lower-order arithmetic unit as the pulse movement amount of the servo motor for each sampling cycle. FIG. 1 is a diagram for illustrating the above-described processing, in which the horizontal axis represents time t and the vertical axis represents position x of the servo motor.
Represents the plane as. In the figure, a circle indicates a position command by the higher-order arithmetic unit. The straight lines f a , f b , and f c represent the straight lines represented by x = f a (t), x = f b (t), and x = f c (t), respectively. Further, each of the vector V 0, V 1, V 2 which is parallel to the direction of the straight line f a, f b, f c , shows the increase or decrease direction of the position command. Specifically, (tangent of the angle and direction and the t-axis of the vector V 0) the slope of the vector V 0 denotes the velocity command v 0 paid out by interpolation just prior to time t 0, the vector V 1 the slope (P 1 -P 0)
/ T, and the slope of the vector V 2 is the parameter b.

【0010】このように定めることにより、直線fa
今回の位置指令P0を通り直前の補間で最後に払い出さ
れた速度指令v0を傾きとする直線となり、直線fbは今
回の位置指令P0と次回の位置指令P1を通る直線とな
る。そして、b=(P2−P1)/Tと定めているので、
直線fcは次回の位置指令P1と次々回の位置指令P2
通る直線となる。そして、上述の関数f1(t),f2(t)
を重み付け係数としてこれら3直線fa,fb,fcを合成
する。合成の結果、図示破線で示されるような曲線が得
られる。この曲線は、上述の関数F(t)を用いてx=F
(t)と表わされるものである。この曲線は、T0<t<
1である任意の時刻tにおける補間値を示している。
ここで、関数f1(t),f2(t)の具体例について説明す
る。関数f1(t),f2(t)としては、τを適当な定数と
して、例えば、
By defining in this way, the straight line f a becomes a straight line that passes through the position command P 0 of this time and has the speed command v 0 finally paid out in the interpolation just before, and the straight line f b is the position of this time. It becomes a straight line passing through the command P 0 and the next position command P 1 . Since b = (P 2 −P 1 ) / T is determined,
The straight line f c is a straight line that passes through the next position command P 1 and the next position command P 2 . Then, the above-mentioned functions f 1 (t), f 2 (t)
These three straight lines f a , f b , and f c are combined with each other as a weighting coefficient. As a result of the synthesis, a curve as shown by the broken line in the figure is obtained. This curve is x = F using the function F (t) above.
(t). This curve is T 0 <t <
The interpolated value at an arbitrary time t of T 1 is shown.
Here, a specific example of the functions f 1 (t) and f 2 (t) will be described. For the functions f 1 (t) and f 2 (t), τ is an appropriate constant, for example,

【0011】[0011]

【数1】 [Equation 1]

【0012】を用いることができる。図2は、ここで例
示した関数f1(t),f2(t)を示すグラフである。以上
の説明から明らかなように、本発明の方法は、時間に関
する積分演算を伴うような処理ではないから、上位演算
部からの位置指令に対して遅れを生じさせることはな
い。また、F(T0)=P0、F(T1)=P1となるように関
数F(t)を定めているので、上位演算部の位置指令に対
する精度の劣化も生じない。ところで、この実施例で
は、上位演算部からの指令の周期Tが一定であるから、
1組の関数f1(t),f2(t)を上位演算部からの出力間
隔ごとに繰返して使用することが可能である。また、サ
ンプリング周期δtが一定であり、かつ下位演算部のサ
ンプリング時にのみ補間値を出力すればよいから、関数
1(t),f2(t)の値はサンプリング時にのみ定まって
いればよく、このため、各サンプリング時点での関数f
1(t),f2(t)の値を予め計算して表形式で蓄積してお
くことが可能である。また、関数fa(t),fb(t),f
c(t)は、いずれも1次関数であるから、初期値を求め
てサンプリング周期ごとに増分値を加算することによっ
て、各サンプリング時の値を求めることができる。した
がって、各サンプリング時に対する補間値を決定する場
合には、表を引いて求めた関数f1(t),f2(t)の値と
増分の加算で求めた関数fa(t),fb(t),fc(t)の値
との単純な積和計算を行なえばよく、スプライン曲線関
数に基づいて補間値を求める場合に比べ、大幅に計算量
を削減することが可能になる。
Can be used. FIG. 2 is a graph showing the functions f 1 (t) and f 2 (t) illustrated here. As is clear from the above description, the method of the present invention does not involve a time-dependent integral operation, and therefore does not cause a delay with respect to the position command from the higher-order arithmetic unit. Further, since the function F (t) is determined so that F (T 0 ) = P 0 and F (T 1 ) = P 1 , the deterioration of the accuracy with respect to the position command of the higher-order arithmetic unit does not occur. By the way, in this embodiment, since the cycle T of the command from the higher-order arithmetic unit is constant,
It is possible to repeatedly use a set of functions f 1 (t) and f 2 (t) at each output interval from the higher-order arithmetic unit. Further, since the sampling cycle δt is constant and the interpolated value only needs to be output at the time of sampling by the lower-order arithmetic unit, the values of the functions f 1 (t) and f 2 (t) need only be determined at the time of sampling. , Therefore, the function f at each sampling point
The values of 1 (t) and f 2 (t) can be calculated in advance and stored in a table format. In addition, the function f a (t), f b (t), f
Since all c (t) are linear functions, the value at each sampling can be obtained by obtaining the initial value and adding the increment value for each sampling period. Therefore, when determining the interpolation value for each sampling time, the value of the function f 1 (t), f 2 (t) obtained by drawing the table and the function f a (t), f obtained by adding the increments b (t), may be carried out a simple product sum calculation of the value of f c (t), compared with the case of obtaining an interpolated value based on the spline curve functions, it is possible to greatly reduce the amount of calculation .

【0013】以上、本発明の一実施例について説明し
た。そこでは、上述のパラメータbの値は、次回の位置
指令P1と次々回の位置指令P2を考慮して、b=(P2
−P1)/Tとしていたが、さらに、次々々回以降の位
置指令P3,…をも考慮してパラメータbを定めることが
できる。パラメータbの値は、図1に示す時間−位置空
間内でのベクトルV2の傾きv2と同じである。そこで、
例えば、図3(a)に示すように、P1からP2への増減方
向を表わすベクトルをV2aとし、P2からP3への増減方
向を表わすベクトルをベクトルV2aについて対称に移動
したものをベクトルV2bとし、時間−位置平面上でのこ
れらベクトルV2a,V2bの傾きをそれぞれv2a,v2bとし
て、 v2=v2a+kv2b (k:0≦k≦1の定数) のようにしてベクトルV2の傾きv2すなわちパラメータ
bを定めるようにすることができる。なお、k=0の場
合が、上述のb=(P2−P1)/Tの場合に該当する。
The embodiment of the present invention has been described above. There, the value of the above-mentioned parameter b is set to b = (P 2 in consideration of the next position command P 1 and the position command P 2 one after another.
Although −P 1 ) / T is used, the parameter b can be determined in consideration of the position commands P 3 , ... The value of the parameter b is the same as the slope v 2 of the vector V 2 in the time-position space shown in FIG. Therefore,
For example, as shown in FIG. 3A, the vector representing the increasing / decreasing direction from P 1 to P 2 is V 2a, and the vector representing the increasing / decreasing direction from P 2 to P 3 is moved symmetrically with respect to the vector V 2a . things and vector V 2b, the time - the vectors V 2a on position plane, the inclination of each v 2a of V 2b, as v 2b, v 2 = v 2a + kv 2b (k: 0 constant of ≦ k ≦ 1) it is possible to define a slope v 2 that parameter b of the vector V 2 as. The case of k = 0 corresponds to the case of b = (P 2 −P 1 ) / T described above.

【0014】次に、実施例(パラメータbは次々々回の
位置指令P3まで考慮して決定)に基づいて行なったシ
ミュレーションの結果を説明することにより、本発明を
さらに詳しく説明する。図4は、上位演算部から離散的
に出力されるランプ(ramp:傾斜路)形の位置指令を補
間する場合のシミュレーション結果を示しており、横軸
が時刻t、縦軸が位置xとなっている。図において、○
印41は上位演算部からの離散的な位置指令を示し、実
線42は補間後の位置指令を示し、点線43はこのとき
の速度指令(移動量)を示している。この例では、時刻
t=0.03辺りにある位置指令を境としてそれまでは
静止状態、それ以降は等速直線運動状態となるような位
置指令が上位演算部から出力されているが、補間後の位
置指令においてはこの等速直線運動への立上りが滑らか
に補間されるとともに素早く収束し、等速直線運動にお
ける直線を再現している。
Next, the present invention will be described in more detail by describing the result of the simulation performed based on the embodiment (the parameter b is determined in consideration of the position command P 3 one after another). FIG. 4 shows a simulation result in the case of interpolating a ramp (ramp) type position command discretely output from the higher-order arithmetic unit, where the horizontal axis represents time t and the vertical axis represents position x. ing. In the figure,
A mark 41 indicates a discrete position command from the higher-order arithmetic unit, a solid line 42 indicates a position command after interpolation, and a dotted line 43 indicates a speed command (movement amount) at this time. In this example, a position command around the time t = 0.03 is output from the higher-order arithmetic unit as a boundary until the stationary state until then and a constant velocity linear motion state after that. In the subsequent position command, the rising to the constant velocity linear motion is smoothly interpolated and quickly converges to reproduce the straight line in the constant velocity linear motion.

【0015】同様に図5は、正弦波型の位置指令を補間
する場合のシミュレーション結果を示している。○印5
1は上位演算部からの離散的な位置指令を示し、実線5
2は補間後の位置指令を示し、点線53はこのときの速
度指令を示している。この例では、時刻t=0.03辺
りにある位置指令を境にして静止状態から正弦振動状態
に移行するような位置指令が上位演算部から出力されて
いる。そして、静止状態から正弦振動状態への移行が滑
らかに補間されるとともに素早く正弦振動状態に収束し
ており、時刻−位置平面内での正弦波形を正確に再現し
ている。以上のシミュレーション結果からも明らかなよ
うに、本発明によれば、時刻−位置平面内で特定の折れ
曲がり点をはさんで指令の増減が変化しかつ、折れ曲が
り点をはさむ各側でそれぞれ指令の増減が一定であるよ
うな位置指令である場合には、折れ曲がり部が2次以上
の曲線によって滑らかな指令に補間される。また、2回
以上微分可能な関数を用い、さらに、少なくとも2つ先
の点まで情報を考慮しているので、2次以上の曲線で表
わされるような位置指令であれば、位置指令での曲り具
合に対応したふくらみを有するような補間が行なわれ
る。いずれの場合であっても、本発明では、補間によっ
て得られる曲線は、上位演算部からの位置指令の全てを
通過する。
Similarly, FIG. 5 shows a simulation result when the sinusoidal position command is interpolated. ○ mark 5
Reference numeral 1 indicates a discrete position command from the higher-order arithmetic unit, and a solid line 5
2 shows the position command after interpolation, and the dotted line 53 shows the speed command at this time. In this example, the higher-order arithmetic unit outputs a position command that shifts from the stationary state to the sinusoidal vibration state at the boundary of the position command around time t = 0.03. The transition from the stationary state to the sinusoidal vibration state is smoothly interpolated and quickly converges to the sinusoidal vibration state, and the sinusoidal waveform in the time-position plane is accurately reproduced. As is clear from the above simulation results, according to the present invention, the increase / decrease of the command changes across a specific bending point in the time-position plane, and the increase / decrease of the command on each side sandwiching the bending point. Is a constant position command, the bending portion is interpolated into a smooth command by a curve of quadratic or higher order. Further, since a function that can be differentiated twice or more is used and the information is considered up to at least two points ahead, if the position command is represented by a curve of quadratic or higher, the bend in the position command The interpolation is performed so as to have a bulge corresponding to the condition. In any case, in the present invention, the curve obtained by the interpolation passes all of the position commands from the higher-order arithmetic unit.

【0016】[0016]

【発明の効果】以上説明したように本発明は、今回から
少なくとも次々回までの指令に基づいて関数fa(t),f
b(t),fc(t)を求め、2回微分可能な関数を重み付け
係数として用いてこれら関数fa(t),fb(t),fc(t)
を合成することにより、遅れや精度の劣化を伴わず、滑
らかな加減速を実現でき、計算量が少なくて済み、かつ
上位演算部で算出した指令の次数を再現することができ
るような補間を行なうことが可能となり、高精度の位置
決め制御を可能とするという効果がある。
As described above, according to the present invention, the function f a (t), f is calculated based on the command from this time to at least the next one.
b (t), f c (t) is obtained, and these functions f a (t), f b (t), f c (t) are calculated by using a twice differentiable function as a weighting coefficient.
By synthesizing, interpolation that can realize smooth acceleration / deceleration without delay or deterioration of accuracy, requires a small amount of calculation, and can reproduce the order of the command calculated by the higher-order arithmetic unit. It is possible to perform the positioning control with high accuracy.

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

【図1】本発明に基づく指令の補間方法の概念を説明す
る図である。
FIG. 1 is a diagram illustrating a concept of a command interpolation method according to the present invention.

【図2】収束関数f1(t),f2(t)の一例を示す図であ
る。
FIG. 2 is a diagram showing an example of convergence functions f 1 (t) and f 2 (t).

【図3】ベクトルV2の決め方の一例を説明する図であ
る。
FIG. 3 is a diagram illustrating an example of how to determine a vector V 2 .

【図4】ランプ型に変化する位置指令に対する補間を行
なったとした場合のシミュレーション結果を示す図であ
る。
FIG. 4 is a diagram showing a simulation result when interpolation is performed with respect to a position command that changes to a ramp type.

【図5】正弦波型に変化する位置指令に対する補間を行
なったとした場合のシミュレーション結果を示す図であ
る。
FIG. 5 is a diagram showing a simulation result when interpolation is performed for a position command that changes to a sine wave type.

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

a,fb,fc 直線 P0,P1,P2,P3 位置指令 V0,V1,V2 ベクトルf a , f b , f c Straight line P 0 , P 1 , P 2 , P 3 Position command V 0 , V 1 , V 2 vector

───────────────────────────────────────────────────── フロントページの続き (72)発明者 稲積 祐敦 福岡県北九州市八幡西区黒崎城石2番1 号 株式会社安川電機内 (56)参考文献 特開 平2−148111(JP,A) 特開 平2−202607(JP,A) (58)調査した分野(Int.Cl.7,DB名) G05B 19/4103 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Yuatsu Inazumi No. 2 Kurosaki Shiroishi, Yawatanishi-ku, Kitakyushu, Fukuoka Prefecture Yasukawa Electric Co., Ltd. (56) Reference JP-A-2-148111 (JP, A) Flat 2-202607 (JP, A) (58) Fields surveyed (Int.Cl. 7 , DB name) G05B 19/4103

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 離散的に位置指令を算出する上位演算部
と前記上位演算部からの位置指令の出力間隔よりも短い
サンプリング周期でデジタルサーボ系を制御する下位演
算部とからなるサーボ装置を有し、前記サーボ装置によ
り対応するデジタルサーボ系が指令され各軸が位置決め
される制御系における指令補間方法において、 前記上位演算部からの今回の位置指令をP0、今回の位
置指令P0に対応する時刻をT0、前記上位演算部からの
次回の位置指令をP1、次回の位置指令P1に対応する時
刻をT1、前回の補間により最後に払い出された速度指
令をv0とし、次回の位置指令P1と前記上位演算部から
の次々回の位置指令P2によって定まるパラメータを
bとして、 時刻t(ただしT0≦t≦T1)を独立変数とする3つの
関数 fa(t)=v0(t−T0)+P0; fb(t)=(P1−P0)(t−T0)/(T1−T0)+P
0; fc(t)=b(t−T1)+P1; を定義し、 T0≦t≦T1で連続でありかつT0<t<T1tに関し
2回微分可能な関数を重み付け係数とし、該重み付け
係数を用いて、F(T0)=P0かつF(T1)=P1となるよ
うに3つの関数fa(t),fb(t),fc(t)を合成して関
数F(t)を求め、関数F(t)の値をもって時刻t(ただ
しT0≦t≦T1)における位置指令とすることを特徴と
する位置決め制御系の指令補間方法。
1. A servo device comprising a higher-order arithmetic unit for discretely calculating a position command and a lower-order arithmetic unit for controlling a digital servo system at a sampling cycle shorter than the output interval of the position command from the upper-order arithmetic unit. Then, in the command interpolation method in the control system in which the corresponding digital servo system is commanded by the servo device and each axis is positioned, the current position command from the higher-order arithmetic unit corresponds to P 0 and the current position command P 0 . Is T 0 , the next position command from the higher-order arithmetic unit is P 1 , the time corresponding to the next position command P 1 is T 1 , and the speed command finally paid out by the previous interpolation is v 0. , B is a parameter determined by the next position command P 1 and the position command P 2 from the higher-order arithmetic unit one after another, and three functions f a having time t (where T 0 ≤t ≤T 1 ) as an independent variable ( ) = V 0 (t-T 0) + P 0; f b (t) = (P 1 -P 0) (t-T 0) / (T 1 -T 0) + P
0 ; f c (t) = b (t−T 1 ) + P 1 ; and T 0 ≦ t ≦ T 1 is continuous and T 0 <t <T 1 with respect to t
Twice differentiable function as a weighting factor Te, the weighting
Using the coefficients , three functions f a (t), f b (t), and f c (t) are combined so that F (T 0 ) = P 0 and F (T 1 ) = P 1 A command interpolation method for a positioning control system, characterized in that a function F (t) is obtained and the value of the function F (t) is used as a position command at time t (where T 0 ≤t ≤T 1 ).
【請求項2】 上位演算部からの次々々回以降の位置指
令の情報に応じてパラメータbを変化させる請求項1に
記載の位置決め制御系の指令補間方法。
2. The command interpolation method for a positioning control system according to claim 1, wherein the parameter b is changed in accordance with the information of the position command from the higher-order arithmetic unit one after another.
【請求項3】 下位演算部でのサンプリング周期ごとに
関数F(t)の値を求め、前回求めた関数F(t)の値と今
回求めた関数F(t)の値との差を移動量として前記下位
演算部に与える請求項1または2に記載の位置決め制御
系の指令補間方法。
3. The value of the function F (t) is calculated for each sampling cycle in the lower-order arithmetic unit, and the difference between the value of the function F (t) obtained last time and the value of the function F (t) obtained this time is moved. The command interpolation method for a positioning control system according to claim 1, wherein the command interpolation method is provided as a quantity to the lower-order arithmetic unit.
JP18721495A 1995-07-24 1995-07-24 Command interpolation method for positioning control system Expired - Fee Related JP3513989B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18721495A JP3513989B2 (en) 1995-07-24 1995-07-24 Command interpolation method for positioning control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18721495A JP3513989B2 (en) 1995-07-24 1995-07-24 Command interpolation method for positioning control system

Publications (2)

Publication Number Publication Date
JPH0934527A JPH0934527A (en) 1997-02-07
JP3513989B2 true JP3513989B2 (en) 2004-03-31

Family

ID=16202077

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18721495A Expired - Fee Related JP3513989B2 (en) 1995-07-24 1995-07-24 Command interpolation method for positioning control system

Country Status (1)

Country Link
JP (1) JP3513989B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103529755B (en) * 2013-10-12 2016-01-13 杭州电子科技大学 A kind of High-precision linear interpolation method
JP7024215B2 (en) * 2017-06-08 2022-02-24 株式会社デンソー Mobile control device and control system

Also Published As

Publication number Publication date
JPH0934527A (en) 1997-02-07

Similar Documents

Publication Publication Date Title
JP3485639B2 (en) Path planning method and system in rectangular coordinate space
EP1956447B1 (en) Apparatus and method for proportional-integral-derivative control
JP4697139B2 (en) Servo control device
CN110799309A (en) Vibration control of a system with configuration dependent dynamics
JP2002023807A (en) Method for realizing feedback control for optimally and automatically removing disturbance and device for the same
KR100242447B1 (en) Method and system for path planning in robot control
JP3476287B2 (en) Curve interpolation method for speed control during robot connection operation
WO1996035980A1 (en) Method and device for interpolating free-form surface
US5621294A (en) Apparatus and method for force compensation in a variable reluctance motor
CN115202293B (en) Two-section type speed planning method for industrial robot
JP3513989B2 (en) Command interpolation method for positioning control system
JP2737725B2 (en) Robot control device and method
JPH0695294B2 (en) Trajectory interpolation method for industrial robot
JPH02148111A (en) Method and device for controlling robot
JPH09244725A (en) Method and device for track interpolation, and controller
JPH10323070A (en) Motor controller
JP2000056822A (en) Track control unit
JP2521449B2 (en) Trajectory control device
KR0183657B1 (en) Acceleration/deceleration trace generation method
JPH10149210A (en) Method for preparing command for positioning control system
JPS58101303A (en) Track interpolating system of automatic position controller
KR19990057121A (en) A Real-Time Contour Error Modeling Method on 2D Plane of Computer Numerical Control System
JP3109605B2 (en) Learning control method
JP2005284843A (en) Position command creation method
CN114102596A (en) Motion control method and device for motion mechanism, electronic device and medium

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20031224

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040106

LAPS Cancellation because of no payment of annual fees