JP2013097444A - Control command value generation program, control command value generation method and control command value generation device - Google Patents
Control command value generation program, control command value generation method and control command value generation device Download PDFInfo
- Publication number
- JP2013097444A JP2013097444A JP2011237467A JP2011237467A JP2013097444A JP 2013097444 A JP2013097444 A JP 2013097444A JP 2011237467 A JP2011237467 A JP 2011237467A JP 2011237467 A JP2011237467 A JP 2011237467A JP 2013097444 A JP2013097444 A JP 2013097444A
- Authority
- JP
- Japan
- Prior art keywords
- command value
- control command
- input
- order
- value generation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 7
- 230000004069 differentiation Effects 0.000 claims abstract description 25
- 238000012546 transfer Methods 0.000 claims description 43
- 230000036461 convulsion Effects 0.000 claims description 21
- 230000001133 acceleration Effects 0.000 claims description 20
- 239000011159 matrix material Substances 0.000 description 26
- 238000004364 calculation method Methods 0.000 description 15
- 238000005070 sampling Methods 0.000 description 5
- 230000000052 comparative effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Landscapes
- Control Of Position Or Direction (AREA)
Abstract
Description
本発明は、ロボットなどの指令値および加加速度指令値などを生成する制御指令値生成プログラム、制御指令値生成方法および制御指令値生成装置に関する。 The present invention relates to a control command value generation program, a control command value generation method, and a control command value generation device that generate a command value and jerk command value of a robot or the like.
一般的に、産業ロボット等として用いられるロボットは、1体のロボットに複数のモータが設けられた多軸のロボットとして構成されている。このようなロボットの制御においては、各軸の位置指令値に基づいてその軸の速度、加速度、加加速度などの制御指令値を求めて制御することが知られている。一般的に、ロボット制御においてはデジタル制御を行うため、制御指令値が離散的な値となる。したがって、制御指令生成周期がモータ制御周期に比べて大きいと、制御指令生成周期ごとに生成される位置指令値が大きく変化してしまう。位置指令値が大きく変化すると、速度、加速度、加加速度などの変化が急激になりサージが発生する場合がある。そこで、位置指令値を微分して速度などの制御指令値を生成するとともに位置指令値の変化を滑らかにすることができるデジタルフィルタを適用することが知られている(例えば特許文献1参照)。特許文献1においては、位置指令値から位置、速度、加速度の各制御指令値を求めるために、1次フィルタを複数入れ子状にしたようなデジタルフィルタが設けられている。 Generally, a robot used as an industrial robot or the like is configured as a multi-axis robot in which a single robot is provided with a plurality of motors. In such robot control, it is known to control by obtaining control command values such as speed, acceleration, jerk, and the like of each axis based on the position command value of each axis. Generally, since digital control is performed in robot control, the control command value is a discrete value. Therefore, if the control command generation cycle is larger than the motor control cycle, the position command value generated for each control command generation cycle changes greatly. When the position command value changes greatly, changes in speed, acceleration, jerk, etc. may suddenly occur and a surge may occur. Therefore, it is known to apply a digital filter that can differentiate a position command value to generate a control command value such as a speed and smooth the change in the position command value (see, for example, Patent Document 1). In Patent Document 1, a digital filter in which a plurality of primary filters are nested is provided in order to obtain position, velocity, and acceleration control command values from position command values.
しかし、上記のようなデジタルフィルタでは、前回の演算で求められた速度、位置の各制御指令値の微分値を演算することで、加速度、速度の各制御指令値を生成しており、各制御指令値が小さくならない場合がある。生成される制御指令値の変化を連続系に近い形で実現できるデジタルフィルタとしては、IIR(無限インパルス応答)フィルタが考えられるが、フィルタの次数を高くするほど、および/または、演算周期を短くするほど、演算誤差が大きくなり、特に高次の微分の出力が振動的になる問題がある。例えば位置指令値から加加速度に関する制御指令値を演算するために、3次のIIRフィルタを適用するとすると、連続系の伝達関数H(s)は、以下のように表される。 However, the digital filter as described above generates the control command values for acceleration and speed by calculating the differential values of the control command values for speed and position obtained in the previous calculation. The command value may not become small. An IIR (Infinite Impulse Response) filter can be considered as a digital filter that can realize a change in the generated control command value in a form close to a continuous system, but the higher the filter order and / or the shorter the operation cycle. There is a problem that the calculation error increases, and the higher-order differential output becomes oscillating. For example, when a third-order IIR filter is applied to calculate a control command value related to jerk from a position command value, a continuous system transfer function H (s) is expressed as follows.
ここで、a0〜a3は入力側における各次数のフィルタ係数を示し、b0〜b3は出力側における各次数のフィルタ係数を示す。 Here, a 0 to a 3 indicate filter coefficients of the respective orders on the input side, and b 0 to b 3 indicate filter coefficients of the respective orders on the output side.
これを離散化するために、双一次変換を行って、上記伝達関数H(s)を以下に示す離散的な伝達関数H(z)に変換する。 In order to discretize this, bilinear transformation is performed to convert the transfer function H (s) into a discrete transfer function H (z) shown below.
ここで、P0〜P3は変換後の入力側における各次数のフィルタ係数を示し、q0〜q3は変換後の出力側における各次数のフィルタ係数を示し、Tはサンプリング周期を示す。 Here, P 0 to P 3 indicate filter coefficients of the respective orders on the input side after conversion, q 0 to q 3 indicate filter coefficients of the respective orders on the output side after conversion, and T indicates a sampling period.
このように、双一次変換において連続系の変数(ラプラス変数)sを離散系の変数zに変換する際に、サンプリング周期Tが用いられるため、離散化された伝達関数H(z)におけるn次のフィルタ係数には、サンプリング周期Tのn乗が乗算されることになる。したがって、各制御指令値の精度を高めるためにサンプリング周期を短くすると、高次のフィルタ係数(上記式においてはp3やq3)が指数関数的に小さくなり、結果として出力される制御指令値が振動的になり誤差が大きくなる。前述したように制御指令値の変化を小さく抑えるためには、できるだけサンプリング周期は短い方がよいが、サンプリング周期を短くすると制御指令値の誤差が大きくなってしまい、ロボット制御にうまく適用できない問題がある。 Thus, since the sampling period T is used when converting the continuous system variable (Laplace variable) s into the discrete system variable z in the bilinear transformation, the nth order in the discretized transfer function H (z). Is multiplied by the nth power of the sampling period T. Therefore, if the sampling period is shortened in order to increase the accuracy of each control command value, the higher-order filter coefficients (p 3 and q 3 in the above formula) become exponentially small, and the control command value output as a result Vibrates and the error increases. As described above, in order to keep the change in the control command value small, it is better that the sampling period is as short as possible. is there.
また、上記従来のデジタルフィルタにおいては、一の入力指令値(位置指令値)から複数の制御指令値(速度、加速度、加加速度など)を演算する場合には、1つずつ制御指令値を演算する必要があるため、演算負荷が増大する問題もある。 In the conventional digital filter, when a plurality of control command values (speed, acceleration, jerk, etc.) are calculated from one input command value (position command value), the control command values are calculated one by one. Therefore, there is a problem that the calculation load increases.
本発明は、以上のような課題を解決すべくなされたものであり、一の入力指令値から複数の制御指令値を高精度かつ安定的に生成するとともにその際の演算負荷を低減することができる制御指令値生成プログラム、制御指令値生成方法および制御指令値生成装置を提供することを目的とする。 The present invention has been made to solve the above-described problems, and can generate a plurality of control command values from one input command value with high accuracy and stability, and reduce the calculation load at that time. An object is to provide a control command value generation program, a control command value generation method, and a control command value generation device.
本発明に係る制御指令値生成プログラムは、コンピュータを、所定の入力指令値から当該入力指令値のn階までの微分(n≧0)で表せるn+1個の制御指令値を、入力数が1であり出力数がn+1である状態方程式を用いて生成するn次のデジタルフィルタとして機能させるものである。 The control command value generation program according to the present invention has a computer input of n + 1 control command values that can be expressed by a differentiation (n ≧ 0) from a predetermined input command value to the nth floor of the input command value. It functions as an nth-order digital filter generated using a state equation with n + 1 outputs.
上記プログラムによれば、生成される制御指令値の連続系の伝達関数に対応する離散的な状態方程式を用いることにより、連続系の伝達関数を誤差なく離散化できるため、制御指令値を高精度かつ安定的に生成することができる。さらに、生成される制御指令値が入力指令値のn階までの微分であることより、各制御指令値の連続系の伝達関数が互いに共通の分母を有する。このため、連続系の伝達関数から状態方程式への当てはめを行う際に、全ての制御指令値が1組の状態方程式で表せる。したがって、上記プログラムによれば、一の入力指令値から複数の制御指令値を高精度かつ安定的に生成するとともにその際の演算負荷を低減することができる。 According to the above program, the continuous transfer function can be discretized without error by using a discrete state equation corresponding to the continuous transfer function of the generated control command value. And can be stably produced. Further, since the generated control command value is a differential up to the nth order of the input command value, the continuous transfer functions of the control command values have a common denominator. For this reason, when fitting from a continuous transfer function to a state equation, all control command values can be represented by a set of state equations. Therefore, according to the above program, it is possible to stably generate a plurality of control command values from one input command value with high accuracy and reduce the calculation load at that time.
前記所定の入力指令値は、制御対象の位置指令値であり、前記デジタルフィルタは、前記位置指令値から当該位置指令値の3階までの微分で表せる、位置指令値、速度指令値、加速度指令値および加加速度指令値の4つの制御指令値を生成する3次のデジタルフィルタであってもよい。 The predetermined input command value is a position command value to be controlled, and the digital filter can represent a position command value, a speed command value, an acceleration command that can be expressed by differentiation from the position command value to the third floor of the position command value. A tertiary digital filter that generates four control command values, that is, a value and a jerk command value may be used.
前記入力指令値の伝達関数Gi(s)を以下の式(1)で表したとき、前記入力指令値を1〜n階微分した制御指令値G1(s)〜Gn(s)は、以下の式(2)で示され、前記n次のデジタルフィルタの状態方程式は、入力uに対する出力をyとして以下の式(3)で示されるものでもよい。 When the transfer function G i (s) of the input command value is expressed by the following equation (1), control command values G 1 (s) to G n (s) obtained by differentiating the input command value 1 to n-th order are: The equation of state of the n-th order digital filter may be expressed by the following equation (3), where y is the output for the input u.
生成される制御指令値が入力指令値のn階微分であることより、各制御指令値の連続系の伝達関数が互いに共通の分母を有するため、状態方程式におけるA行列をすべての制御指令値に対して共通化することができる。また、各制御指令値の連続系の伝達関数の分子に対応するC行列は各制御指令値の連続系の分子を示す1×n行列をn+1個並べて(n+1)×n行列とすることにより、1つの状態方程式で表すことができる。ここで、入力指令値のn階微分で表される制御指令値における連続系の伝達関数は、分母と分子との次数が同じになるため、そのままでは状態方程式に当てはめることができない。しかし、式(2)のGn(s)に示すように、当該制御指令値における連続系の伝達関数における分子のn次の項を分数表記の外へ出すように変形することにより、分数表記において分母より分子の次数を少なくして、A〜C行列をその他の制御指令値と同様に適用することができる。さらに、n次の項については別途D行列として加えることにより状態方程式として表現可能である。これにより、1組の行列の組み合せで、n+1個の制御指令値を生成する状態方程式とすることができる。 Since the generated control command value is the nth derivative of the input command value, the continuous transfer function of each control command value has a common denominator, so the A matrix in the state equation is changed to all control command values. It can be shared. The C matrix corresponding to the numerator of the continuous transfer function of each control command value is a (n + 1) × n matrix by arranging 1 + 1 n matrices indicating the numerator of the continuous system of each control command value. It can be expressed by one equation of state. Here, the continuous transfer function in the control command value represented by the nth derivative of the input command value has the same denominator and numerator order, and cannot be applied to the state equation as it is. However, as shown by G n (s) in Equation (2), the fractional notation is obtained by changing the n-th term of the numerator in the transfer function of the continuous system at the control command value to be out of the fractional notation. , The order of the numerator is less than the denominator, and the A to C matrix can be applied in the same manner as other control command values. Furthermore, the n-th term can be expressed as a state equation by adding it as a D matrix separately. Thereby, it can be set as the state equation which produces | generates n + 1 control command value by the combination of 1 set of matrices.
本発明に係る制御指令値生成方法は、所定の入力指令値から当該入力指令値のn階までの微分(n≧0)で表せるn+1個の制御指令値を、入力数が1であり出力数がn+1である状態方程式を用いて生成するn次のデジタルフィルタを前記入力指令値に適用することにより、前記n+1個の制御指令値を生成するものである。 In the control command value generation method according to the present invention, n + 1 control command values that can be expressed by a differentiation (n ≧ 0) from a predetermined input command value to the n-th order of the input command value have 1 input and 1 output. N + 1 control command values are generated by applying to the input command value an n-th order digital filter generated using a state equation with n + 1.
また、本発明に係る制御指令値生成装置は、所定の入力指令値から当該入力指令値のn階までの微分(n≧0)で表せるn+1個の制御指令値を、入力数が1であり出力数がn+1である状態方程式を用いて生成するn次のデジタルフィルタを備えている。 In the control command value generation device according to the present invention, the number of inputs is 1 for n + 1 control command values that can be expressed by differentiation (n ≧ 0) from a predetermined input command value to the nth floor of the input command value. An nth-order digital filter generated using a state equation with n + 1 outputs is provided.
本発明は以上に説明したように構成され、一の入力指令値から複数の制御指令値を高精度かつ安定的に生成するとともにその際の演算負荷を低減することができるという効果を奏する。 The present invention is configured as described above, and produces an effect that a plurality of control command values can be generated with high accuracy and stability from one input command value and the calculation load at that time can be reduced.
以下、本発明の実施の形態を、図面を参照しながら説明する。なお、以下では全ての図を通じて同一または相当する要素には同一の参照符号を付して、その重複する説明を省略する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the following description, the same or corresponding elements are denoted by the same reference symbols throughout all the drawings, and redundant description thereof is omitted.
まず、本発明の一実施形態に係る制御指令値生成装置が適用されたロボット制御システムの概略構成について説明する。図1は、本発明の一実施形態に係る制御指令値生成装置が適用されたロボット制御システムの概略構成を示すブロック図である。 First, a schematic configuration of a robot control system to which a control command value generation device according to an embodiment of the present invention is applied will be described. FIG. 1 is a block diagram showing a schematic configuration of a robot control system to which a control command value generation device according to an embodiment of the present invention is applied.
図1に示されるように、本実施形態のロボット制御システムは、多軸のロボットの各軸に設けられるサーボモータを制御してロボットの位置制御を行うロボット制御装置2を有している。また、ロボット制御システムは、このロボット制御装置2への制御指令値を生成する制御指令値生成装置1を備えている。なお、制御指令値生成装置1とロボット制御装置2とは、シリアル接続されていてもよいし、有線または無線による通信ネットワークにより接続されていてもよい。また、ロボット制御装置2の内部に(ロボット制御装置2と一体化して)制御指令値生成装置1が設けられてもよい。また、ロボット制御装置2と制御指令値生成装置1とは完全に分離していてもよい。すなわち、制御指令値生成装置1で生成された制御指令値をロボット制御装置2に手入力などで入力することとしてもよい。
As shown in FIG. 1, the robot control system according to the present embodiment includes a
制御指令値生成装置1は、一般的なコンピュータで構成され、入力指令値が入力される入力部11と、入力部11によって入力された入力指令値に基づいて制御指令値を生成する演算部12と、演算部12の演算に用いられる各種データおよび制御指令値生成プログラムを記憶する記憶部13とを備えている。制御指令値生成装置1の各構成は、バス14を介して電気的に接続され、演算部12で演算された制御指令値をバス14を介してロボット制御装置1へ出力するよう構成されている。
The control command value generation device 1 is configured by a general computer, and includes an
記憶部13に記憶される制御指令値生成プログラムは、制御指令値生成装置1を構成するコンピュータを、所定の入力指令値から当該入力指令値のn階までの微分(n≧0)で表せるn+1個の制御指令値を、入力数が1であり出力数がn+1である状態方程式を用いて生成するn次のデジタルフィルタとして機能させるようプログラミングされている。
The control command value generation program stored in the
次に、本実施形態におけるn次のデジタルフィルタを構成するための概要について説明する。 Next, an outline for configuring the nth-order digital filter in the present embodiment will be described.
初めに、1つの入力uが入力され、1つの出力yが出力される線形システムにおける状態方程式は、以下のように表せる。 First, a state equation in a linear system in which one input u is input and one output y is output can be expressed as follows.
上記式(4)をxの初期条件を0として、ラプラス変換すると、以下のようになる。 When the above equation (4) is Laplace transformed with the initial condition of x set to 0, the result is as follows.
sX(s)=AX(s)+BU(s)…(5)
Y(s)=CX(s)…(6)
ここで、sはラプラス変数を示す。
sX (s) = AX (s) + BU (s) (5)
Y (s) = CX (s) (6)
Here, s indicates a Laplace variable.
上記式(5)より、X(s)=(sI−A)−1BU(s)となる(Iは単位行列を示す)ため、これを上記式(6)へ代入すると、Y(s)=C(sI−A)−1BU(s)となる。本線形システムにおける伝達関数G(s)は入力のラプラス変換に対する出力のラプラス変換の比で表される。すなわち、伝達関数は、G(s)=Y(s)/U(s)=C(sI−A)−1Bで表される。 From the above equation (5), X (s) = (sI−A) −1 BU (s) (I represents a unit matrix). Therefore, when this is substituted into the above equation (6), Y (s) = become C (sI-a) -1 BU (s). The transfer function G (s) in this linear system is represented by the ratio of the output Laplace transform to the input Laplace transform. That is, the transfer function is represented by G (s) = Y (s) / U (s) = C (sI-A) −1 B.
ここで、上記状態方程式の各行列を以下のように表したシステムを考える。 Here, a system in which each matrix of the state equation is expressed as follows is considered.
このとき、伝達関数G(s)は、以下のように表せる。 At this time, the transfer function G (s) can be expressed as follows.
本発明の発明者らは、このような状態方程式と伝達関数G(s)との間で変換が可能であることに着目して、鋭意研究の末、本発明を発明したものである。 The inventors of the present invention have invented the present invention after intensive research, paying attention to the fact that conversion between the state equation and the transfer function G (s) is possible.
具体例を用いて説明する。本実施形態においては、入力指令値uが、制御対象であるロボットの位置指令値であり、デジタルフィルタは、位置指令値から当該位置指令値の3階までの微分(n=3)で表せる、位置指令値p(0階微分)、速度指令値v(1階微分)、加速度指令値a(2階微分)および加加速度指令値j(3階微分)の4つの制御指令値yを生成する3次のデジタルフィルタである場合を例示する。 This will be described using a specific example. In the present embodiment, the input command value u is the position command value of the robot to be controlled, and the digital filter can be expressed by a differentiation (n = 3) from the position command value to the third floor of the position command value. Four control command values y are generated: a position command value p (0th-order differentiation), a speed command value v (first-order differentiation), an acceleration command value a (second-order differentiation), and a jerk command value j (third-order differentiation). The case where it is a tertiary digital filter is illustrated.
3次のデジタルフィルタの時定数をTとすると、入力指令値である位置指令値から制御指令値である位置指令値p、速度指令値v、加速度指令値aおよび加加速度指令値jを得るための各伝達関数Gp(S),Gv(S),Ga(S),Gj(S)は、それぞれ以下のようになる。 To obtain a position command value p, a speed command value v, an acceleration command value a, and a jerk command value j as control command values from a position command value as an input command value, where T is the time constant of the third-order digital filter. The transfer functions G p (S), G v (S), G a (S), and G j (S) are as follows.
上記式(9)に示されるように、各制御指令値yは、入力指令値uである位置指令値から当該位置指令値の3階までの微分で表せるため、各制御指令値yを得るための各伝達関数は、分子における微分演算子(ラプラス変数)sの次数が異なるものとなる。ここで、位置指令値から2階までの微分で表せる位置指令値p(0階微分)、速度指令値v(1階微分)および加速度指令値a(2階微分)については、分子におけるsの次数が分母におけるsの次数より小さいため、そのまま、上記式(8)の伝達関数G(s)の形に変換できる。また、加加速度指令値j(3階微分)については、分子におけるsの次数と分母におけるsの次数とが同じになるため、そのままでは、上記式(8)を適用できない。このため、分子におけるsの最大次数(3次)の項を分数から取り出すことにより、sのある項とない項とに分離した形に変形した上で、sのある項については上記式(8)の伝達関数G(s)の形に変換する。以上より、上記式(9)は以下のように変形できる。 As shown in the above equation (9), each control command value y can be expressed by differentiation from the position command value, which is the input command value u, to the third floor of the position command value, so that each control command value y is obtained. Are different in order of the differential operator (Laplace variable) s in the molecule. Here, the position command value p (0th-order differentiation), the speed command value v (first-order differentiation) and the acceleration command value a (second-order differentiation) that can be expressed by differentiation from the position command value to the second floor, Since the order is smaller than the order of s in the denominator, it can be directly converted into the form of the transfer function G (s) of the above equation (8). For jerk command value j (third-order differential), the order of s in the numerator and the order of s in the denominator are the same, and thus the above formula (8) cannot be applied as it is. For this reason, the maximum order (third order) term of s in the numerator is extracted from the fraction to be separated into a term with s and a term without s, and the term with s is expressed by the above formula (8 ) Transfer function G (s). From the above, the above equation (9) can be modified as follows.
上記式(10)に示されるように、伝達関数Gp(s),Gv(s),Ga(s)の分母を加加速度指令値jを得るための伝達関数Gj(s)の第2項(sのある項)の分母と共通となるように変形することができる。これにより、上記式(10)に示される各伝達関数を上記式(4),(5)で示される状態方程式にそれぞれ変換した場合に、A行列を共通化することができる。すなわち、上記式(5)で示されるA行列(n=3)における各係数a0,a1,a2は、いずれの伝達関数に対してもa0=1/T3,a1=3/T2,a2=3/Tとなる。また、B行列には伝達関数による変数は存在しないのでB行列も共通化できる。 As shown in the above equation (10), the transfer function G j (s) for obtaining the jerk command value j from the denominator of the transfer functions G p (s), G v (s), G a (s) It can be modified to be common to the denominator of the second term (term with s). Thereby, when each transfer function shown by said Formula (10) is each converted into the state equation shown by said Formula (4), (5), A matrix can be made common. That is, the coefficients a 0 , a 1 , a 2 in the A matrix (n = 3) represented by the above equation (5) are a 0 = 1 / T 3 , a 1 = 3 for any transfer function. / T 2 , a 2 = 3 / T. In addition, since there is no transfer function variable in the B matrix, the B matrix can be shared.
C行列については、伝達関数Gj(s)の第2項の分子におけるsの各次数の係数およびその他の伝達関数の分子におけるsの各次数の係数に基づいて伝達関数ごとに1×3行列で表せる。このような各伝達関数ごとのC行列を同じ行列において複数列(4列)に配置して4×3行列を構成することにより、1つのC行列として共通化できる。この際、出力yは4出力となる。 For the C matrix, a 1 × 3 matrix for each transfer function based on the coefficient of each order of s in the numerator of the second term of the transfer function G j (s) and the coefficient of each order of s in the numerator of the other transfer function It can be expressed as By arranging such a C matrix for each transfer function in a plurality of columns (4 columns) in the same matrix to form a 4 × 3 matrix, it can be shared as one C matrix. At this time, the output y is 4 outputs.
さらに、伝達関数Gj(s)のsのない項については、別途、状態方程式の第2式に定数項を加えるためのD行列を設けることで対応する。D行列は、出力yが4出力(p,v,a,j)であることに合わせて1×4行列とする。 Further, a term having no s in the transfer function G j (s) is dealt with by separately providing a D matrix for adding a constant term to the second equation of the state equation. The D matrix is a 1 × 4 matrix in accordance with the output y being 4 outputs (p, v, a, j).
以上をまとめると、時定数Tの3次フィルタ(n=3)を用いて入力指令値uである位置指令値から制御指令値yである位置指令値p、速度指令値v、加速度指令値aおよび加加速度指令値jを得るための状態方程式は、以下のように表せる。 In summary, a position command value p, which is a control command value y, a speed command value v, an acceleration command value a, from a position command value, which is an input command value u, using a third order filter (n = 3) with a time constant T. The equation of state for obtaining the jerk command value j can be expressed as follows.
図2は、本発明の一実施形態に係る制御指令値生成装置において演算されるシステムを示すブロック線図である。図2に示すように、上記式(11)に示される状態方程式を用いて、1入力(実際には3入力あるが1入力のみを使用する)に対して4出力が得られる3次のデジタルフィルタを構成することができる。 FIG. 2 is a block diagram showing a system calculated in the control command value generation device according to the embodiment of the present invention. As shown in FIG. 2, using the state equation shown in the above equation (11), a third-order digital that can obtain four outputs for one input (actually only three inputs but only one input is used). A filter can be configured.
これをn次のデジタルフィルタに拡張することも可能である。入力指令値uの伝達関数Gi(s)を以下の式(12)で表したとき、入力指令値uを1〜n階微分した制御指令値yを求めるための伝達関数G1(s)〜Gn(s)は、以下の式(13)で示され、n次のデジタルフィルタの状態方程式は、入力uに対する出力をyとして以下の式(14)で示される。 It is also possible to extend this to an n-th order digital filter. When the transfer function G i (s) of the input command value u is expressed by the following equation (12), the transfer function G 1 (s) for obtaining the control command value y obtained by differentiating the input command value u 1 to n-th order. ˜G n (s) is represented by the following equation (13), and the state equation of the n-th order digital filter is represented by the following equation (14), where y is the output for the input u.
生成される制御指令値が入力指令値のn階微分であることより、各制御指令値の連続系の伝達関数が互いに共通の分母を有するため、状態方程式におけるA行列をすべての制御指令値に対して共通化することができる。また、各制御指令値の連続系の伝達関数の分子に対応するC行列は各制御指令値の連続系の分子を示す1×n行列をn+1個並べて(n+1)×n行列とすることにより、1つの状態方程式で表すことができる。ここで、入力指令値のn階微分で表される制御指令値における連続系の伝達関数は、分母と分子との次数が同じになるため、そのままでは状態方程式に当てはめることができない。しかし、式(13)のGn(s)に示すように、当該制御指令値における連続系の伝達関数における分子のn次の項を分数表記の外へ出すように変形することにより、分数表記において分母より分子の次数を少なくして、A〜C行列をその他の制御指令値と同様に適用することができる。さらに、n次の項については別途D行列として加えることにより状態方程式として表現可能である。これにより、1組の行列の組み合せで、n+1個の制御指令値を生成する状態方程式とすることができる。 Since the generated control command value is the nth derivative of the input command value, the continuous transfer function of each control command value has a common denominator, so the A matrix in the state equation is changed to all control command values. It can be shared. The C matrix corresponding to the numerator of the continuous transfer function of each control command value is a (n + 1) × n matrix by arranging 1 + 1 n matrices indicating the numerator of the continuous system of each control command value. It can be expressed by one equation of state. Here, the continuous transfer function in the control command value represented by the nth derivative of the input command value has the same denominator and numerator order, and cannot be applied to the state equation as it is. However, as shown by G n (s) in equation (13), the fractional notation is obtained by changing the n-th order term of the numerator in the transfer function of the continuous system at the control command value to be out of the fractional notation. , The order of the numerator is less than the denominator, and the A to C matrix can be applied in the same manner as other control command values. Furthermore, the n-th term can be expressed as a state equation by adding it as a D matrix separately. Thereby, it can be set as the state equation which produces | generates n + 1 control command value by the combination of 1 set of matrices.
上記プログラムが実行される制御指令値生成装置1によれば、生成される制御指令値の連続系の伝達関数に対応する離散的な状態方程式を用いることにより、連続系の伝達関数を誤差なく離散化できるため、制御指令値を高精度かつ安定的に生成することができる。さらに、生成される制御指令値が入力指令値のn階までの微分であることより、各制御指令値の連続系の伝達関数が互いに共通の分母を有する。このため、連続系の伝達関数から状態方程式への当てはめを行う際に、全ての制御指令値が1組の状態方程式で表せる。制御指令値生成装置1は、公知の好適なプログラムを用いて1組の状態方程式を一括して演算し、複数の制御指令値を一度に演算することが可能である。したがって、上記制御指令値生成装置1によれば、一の入力指令値から複数の制御指令値を高精度かつ安定的に生成するとともにその際の演算負荷を低減することができる。 According to the control command value generation device 1 that executes the above program, the discrete transfer equation of the continuous system can be discrete without error by using a discrete state equation corresponding to the continuous transfer function of the generated control command value. Therefore, the control command value can be generated with high accuracy and stability. Further, since the generated control command value is a differential up to the nth order of the input command value, the continuous transfer functions of the control command values have a common denominator. For this reason, when fitting from a continuous transfer function to a state equation, all control command values can be represented by a set of state equations. The control command value generation device 1 can calculate a set of state equations all at once using a known suitable program, and can calculate a plurality of control command values at once. Therefore, according to the control command value generation device 1, a plurality of control command values can be generated with high accuracy and stability from one input command value, and the calculation load at that time can be reduced.
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、その趣旨を逸脱しない範囲内で種々の改良、変更、修正が可能である。 Although the embodiments of the present invention have been described above, the present invention is not limited to the above-described embodiments, and various improvements, changes, and modifications can be made without departing from the spirit of the present invention.
例えば、上記実施形態においては、1つの入力指令値に対して0〜n階微分で表せるすべての制御指令値を求めることとして説明したが、本発明はこれに限られない。例えばn=3の場合において、入力指令値である位置指令値から制御指令値として速度指令値(1階微分)と加加速度指令値(3階微分)のみを得ることとしてもよい。また、例えばn=3の場合において、入力指令値である位置指令値から制御指令値として位置指令値、速度指令値および加速度指令値を得ることとしてもよい。これらの場合には、C行列において対応する行の値をすべて0にすると演算負荷をさらに低減することができる。例えば、入力指令値の0階微分で表される制御指令値および入力指令値の2階微分で表される制御指令値について出力しない場合には上記式(14)において0階微分に対応する行にある係数C0と2階微分に対応する行にある係数C2とをそれぞれ0にすることで演算負荷が低減する。 For example, in the above-described embodiment, it has been described that all control command values that can be expressed by 0 to n-order differentiation are obtained for one input command value, but the present invention is not limited to this. For example, in the case of n = 3, only the speed command value (first-order differentiation) and jerk command value (third-order differentiation) may be obtained as the control command value from the position command value that is the input command value. For example, in the case of n = 3, a position command value, a speed command value, and an acceleration command value may be obtained as a control command value from a position command value that is an input command value. In these cases, if all the values of corresponding rows in the C matrix are set to 0, the calculation load can be further reduced. For example, when the control command value represented by the 0th derivative of the input command value and the control command value represented by the second derivative of the input command value are not output, the line corresponding to the 0th derivative in the above equation (14) The calculation load is reduced by setting each of the coefficient C 0 and the coefficient C 2 in the row corresponding to the second derivative to 0.
また、入力指令値は位置指令値に限られず、例えば、速度指令値、加速度指令値、加加速度指令値など種々の指令値を適用可能である。 The input command value is not limited to the position command value, and various command values such as a speed command value, an acceleration command value, and a jerk command value can be applied.
上記実施形態の制御指令値生成プログラムに基づく3次のデジタルフィルタを構築し、入力指令値である位置指令値としてステップ入力が入力されたときに出力される位置指令値、速度指令値、加速度指令値、加加速度指令値の応答を解析した。比較例として同じ次数(3次)のIIRフィルタを用いて、同様の解析を行い、実施例と比較した。 A third order digital filter based on the control command value generation program of the above embodiment is constructed, and a position command value, a speed command value, and an acceleration command that are output when a step input is input as a position command value that is an input command value. Responses of values and jerk command values were analyzed. As a comparative example, a similar analysis was performed using an IIR filter of the same order (third order) and compared with the example.
図3は本実施例の制御指令値生成プログラムに基づく3次のデジタルフィルタに、入力指令値としてステップ入力を入力した場合の各制御指令値の応答結果を比較例とともに示すグラフである。図3(a)はステップ入力および位置制御指令値を示すグラフであり、図3(b)は速度指令値を示すグラフであり、図3(c)は加速度指令値を示すグラフであり、図3(d)は加加速度指令値を示すグラフである。また、図4は図3に示す加速度指令値および加加速度指令値を部分的に拡大したグラフである。図4(a)は加速度指令値を示すグラフであり、図4(b)は加加速度指令値を示すグラフである。 FIG. 3 is a graph showing a response result of each control command value together with a comparative example when a step input is input as an input command value to a tertiary digital filter based on the control command value generation program of this embodiment. 3A is a graph showing step input and position control command values, FIG. 3B is a graph showing speed command values, and FIG. 3C is a graph showing acceleration command values. 3 (d) is a graph showing the jerk command value. FIG. 4 is a graph in which the acceleration command value and jerk command value shown in FIG. 3 are partially enlarged. FIG. 4A is a graph showing the acceleration command value, and FIG. 4B is a graph showing the jerk command value.
図3(a)および図3(b)に示すように、ステップ入力に対して次数の小さい位置制御指令値p(0階微分)および速度指令値v(1階微分)については実施例および比較例のいずれも振動成分の少ないグラフが得られている。しかし、ステップ入力に対して次数の比較的大きい加速度制御指令値a(2階微分)および加加速度指令値j(3階微分)については、特に図4(a)および図4(b)に示すように、比較例において振動成分が重畳していることが分かる。 As shown in FIGS. 3 (a) and 3 (b), the position control command value p (0th-order differentiation) and the speed command value v (first-order differentiation) having a small order with respect to the step input are compared with the examples and comparisons. In each example, a graph with few vibration components is obtained. However, the acceleration control command value a (second-order differential) and jerk command value j (third-order differential) having a relatively large order with respect to the step input are particularly shown in FIGS. 4 (a) and 4 (b). Thus, it can be seen that the vibration component is superimposed in the comparative example.
これに対し、本実施例の3次フィルタによって演算された加速度指令値aおよび加加速度指令値jは、振動成分がほとんどなく非常に安定した波形が得られた。このように、本発明に基づく制御指令値生成プログラムおよびこれを備えた制御指令値生成装置において、生成される制御指令値の連続系の伝達関数に対応する離散的な状態方程式を用いることにより、入力指令値に対して次数の大きい制御指令値であっても、高精度かつ安定的に生成できることが示された。 On the other hand, the acceleration command value a and jerk command value j calculated by the third order filter of the present embodiment were very stable with almost no vibration component. In this way, in the control command value generation program and the control command value generation device provided with the same according to the present invention, by using a discrete state equation corresponding to a transfer function of a continuous system of generated control command values, It was shown that even a control command value having a higher order than the input command value can be generated with high accuracy and stability.
本発明の制御指令値生成プログラム、制御指令値生成方法および制御指令値生成装置は、一の入力指令値から複数の制御指令値を高精度かつ安定的に生成するとともにその際の演算負荷を低減するために有用である。 A control command value generation program, a control command value generation method, and a control command value generation device according to the present invention generate a plurality of control command values from one input command value with high accuracy and stability, and reduce the calculation load at that time Useful to do.
1 制御指令値生成装置(コンピュータ)
2 ロボット制御装置
11 入力部
12 演算部
13 記憶部
14 バス
1 Control command value generator (computer)
2
Claims (5)
所定の入力指令値から当該入力指令値のn階までの微分(n≧0)で表せるn+1個の制御指令値を、入力数が1であり出力数がn+1である状態方程式を用いて生成するn次のデジタルフィルタとして機能させる、制御指令値生成プログラム。 Computer
Generate n + 1 control command values that can be expressed by differentiation (n ≧ 0) from a predetermined input command value to the n-th order of the input command value, using a state equation in which the number of inputs is 1 and the number of outputs is n + 1. A control command value generation program that functions as an nth-order digital filter.
前記デジタルフィルタは、前記位置指令値から当該位置指令値の3階までの微分で表せる、位置指令値、速度指令値、加速度指令値および加加速度指令値の4つの制御指令値を生成する3次のデジタルフィルタである、請求項1に記載の制御指令値生成プログラム。 The predetermined input command value is a position command value to be controlled,
The digital filter generates a third control command value that can be expressed by differentiation from the position command value to the third floor of the position command value, that is, a position command value, a speed command value, an acceleration command value, and a jerk command value. The control command value generation program according to claim 1, which is a digital filter.
Generate n + 1 control command values that can be expressed by differentiation (n ≧ 0) from a predetermined input command value to the n-th order of the input command value, using a state equation in which the number of inputs is 1 and the number of outputs is n + 1. A control command value generation device provided with an nth-order digital filter.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011237467A JP5902911B2 (en) | 2011-10-28 | 2011-10-28 | Control command value generation program, control command value generation method, and control command value generation device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011237467A JP5902911B2 (en) | 2011-10-28 | 2011-10-28 | Control command value generation program, control command value generation method, and control command value generation device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013097444A true JP2013097444A (en) | 2013-05-20 |
JP5902911B2 JP5902911B2 (en) | 2016-04-13 |
Family
ID=48619353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011237467A Active JP5902911B2 (en) | 2011-10-28 | 2011-10-28 | Control command value generation program, control command value generation method, and control command value generation device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5902911B2 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03150610A (en) * | 1989-11-08 | 1991-06-27 | Mitsubishi Heavy Ind Ltd | Servo controller with lost motion correcting function |
JP2003241802A (en) * | 2001-12-10 | 2003-08-29 | Yaskawa Electric Corp | Optimal command producing device |
-
2011
- 2011-10-28 JP JP2011237467A patent/JP5902911B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03150610A (en) * | 1989-11-08 | 1991-06-27 | Mitsubishi Heavy Ind Ltd | Servo controller with lost motion correcting function |
JP2003241802A (en) * | 2001-12-10 | 2003-08-29 | Yaskawa Electric Corp | Optimal command producing device |
Also Published As
Publication number | Publication date |
---|---|
JP5902911B2 (en) | 2016-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111103849B (en) | Output device, control device, and learning parameter output method | |
JP5192802B2 (en) | Motor control device and motor control system | |
El-Khazali | Discretization of fractional-order differentiators and integrators | |
Apprich et al. | Approach for a general pose-dependent model of the dynamic behavior of large lightweight machine tools for vibration reduction | |
JP5283804B1 (en) | Servo control device | |
da Silva et al. | Design of mechatronic systems with configuration-dependent dynamics: simulation and optimization | |
JP6735452B2 (en) | Motor controller | |
JP5902911B2 (en) | Control command value generation program, control command value generation method, and control command value generation device | |
Staehlin et al. | Design of closed-loop input shaping controllers | |
van Duist et al. | FLOreS-Fractional order loop shaping MATLAB toolbox | |
KR20150105447A (en) | Control device for compensation of elastic deformation of articulated robot | |
Goubej et al. | Iterative learning control in high-performance motion systems: from theory to implementation | |
JP2019008707A (en) | Servo controller, servo control method and system | |
Malti et al. | Synthesis of fractional Kautz-like basis with two periodically repeating complex conjugate modes | |
JP5888013B2 (en) | Neural network design method, program, and digital analog fitting method | |
JP4551359B2 (en) | Servo motor drive control device | |
JP2009015575A (en) | Two-degree of freedom digital controller | |
Sheremet et al. | Development of a mathematical apparatus for determining operator images of the desired quantized transition functions of finite duration | |
Ronde et al. | Feedforward for flexible systems with time-varying performance locations | |
KR100970539B1 (en) | Optimal instruction creation device | |
JP3834815B2 (en) | Optimal command generator | |
Przybył et al. | Method of evolutionary designing of FPGA-based controllers | |
Stephens et al. | On the stability analysis and modelling of a multirate control direct-drive machine tool axis subject to large changes in load dynamics | |
Esfandiar et al. | On the control of a single flexible arm robot via Youla-Kucera parameterization | |
Rauh et al. | Experimental validation of a sensitivity-basec learning-type controller for a linear time-varying model of a flexible high-speed rack feeder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140716 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150526 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150602 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150701 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151013 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151023 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160216 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160311 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5902911 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |