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 PDF

Info

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
Application number
JP2011237467A
Other languages
Japanese (ja)
Other versions
JP5902911B2 (en
Inventor
Hidenori Tanaka
英紀 田中
Shoji Miyanishi
昇二 宮西
Hiroaki Kagaya
博昭 加賀谷
Tetsuya Kubota
哲也 久保田
Shinji Kajiwara
慎司 梶原
Takashi Moriyama
尚 森山
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.)
Kawasaki Heavy Industries Ltd
Original Assignee
Kawasaki Heavy Industries Ltd
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 Kawasaki Heavy Industries Ltd filed Critical Kawasaki Heavy Industries Ltd
Priority to JP2011237467A priority Critical patent/JP5902911B2/en
Publication of JP2013097444A publication Critical patent/JP2013097444A/en
Application granted granted Critical
Publication of JP5902911B2 publication Critical patent/JP5902911B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Control Of Position Or Direction (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a control command value generation program, a control command value generation method and a control command value generation device for highly accurately and stably generating a plurality of control command values from one input command value, and for reducing an arithmetic load at that time.SOLUTION: Disclosed is the control command value generation program for making a computer function as an n-order digital filter for generating n+1 pieces of control command values denoted with differentiation (n≥0) from a predetermined input command value to n-th order of the input command value by using a state equation in which an input number is 1 and an output number is n+1.

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.

特開2011−164680号公報JP 2011-164680 A

しかし、上記のようなデジタルフィルタでは、前回の演算で求められた速度、位置の各制御指令値の微分値を演算することで、加速度、速度の各制御指令値を生成しており、各制御指令値が小さくならない場合がある。生成される制御指令値の変化を連続系に近い形で実現できるデジタルフィルタとしては、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.

Figure 2013097444
Figure 2013097444

ここで、a〜aは入力側における各次数のフィルタ係数を示し、b〜bは出力側における各次数のフィルタ係数を示す。 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.

Figure 2013097444
Figure 2013097444

ここで、P〜Pは変換後の入力側における各次数のフィルタ係数を示し、q〜qは変換後の出力側における各次数のフィルタ係数を示し、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乗が乗算されることになる。したがって、各制御指令値の精度を高めるためにサンプリング周期を短くすると、高次のフィルタ係数(上記式においてはpやq)が指数関数的に小さくなり、結果として出力される制御指令値が振動的になり誤差が大きくなる。前述したように制御指令値の変化を小さく抑えるためには、できるだけサンプリング周期は短い方がよいが、サンプリング周期を短くすると制御指令値の誤差が大きくなってしまい、ロボット制御にうまく適用できない問題がある。 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.

前記入力指令値の伝達関数G(s)を以下の式(1)で表したとき、前記入力指令値を1〜n階微分した制御指令値G(s)〜G(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.

Figure 2013097444



Figure 2013097444

Figure 2013097444
Figure 2013097444



Figure 2013097444

Figure 2013097444

生成される制御指令値が入力指令値のn階微分であることより、各制御指令値の連続系の伝達関数が互いに共通の分母を有するため、状態方程式におけるA行列をすべての制御指令値に対して共通化することができる。また、各制御指令値の連続系の伝達関数の分子に対応するC行列は各制御指令値の連続系の分子を示す1×n行列をn+1個並べて(n+1)×n行列とすることにより、1つの状態方程式で表すことができる。ここで、入力指令値のn階微分で表される制御指令値における連続系の伝達関数は、分母と分子との次数が同じになるため、そのままでは状態方程式に当てはめることができない。しかし、式(2)のG(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.

本発明の一実施形態に係る制御指令値生成装置が適用されたロボット制御システムの概略構成を示すブロック図である。1 is a block diagram illustrating 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. 本発明の一実施形態に係る制御指令値生成装置において演算されるシステムを示すブロック線図である。It is a block diagram which shows the system calculated in the control command value production | generation apparatus which concerns on one Embodiment of this invention. 本実施例の制御指令値生成プログラムに基づく3次のデジタルフィルタに、入力指令値としてステップ入力を入力した場合の各制御指令値の応答結果を比較例とともに示すグラフである。It is a graph which shows the response result of each control command value 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 together with a comparative example. 図3に示す加速度指令値および加加速度指令値を部分的に拡大したグラフである。It is the graph which expanded partially the acceleration command value and jerk command value shown in FIG.

以下、本発明の実施の形態を、図面を参照しながら説明する。なお、以下では全ての図を通じて同一または相当する要素には同一の参照符号を付して、その重複する説明を省略する。   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 robot control device 2 that controls the position of the robot by controlling servo motors provided on the axes of the multi-axis robot. The robot control system also includes a control command value generation device 1 that generates a control command value for the robot control device 2. Note that the control command value generation device 1 and the robot control device 2 may be serially connected or may be connected by a wired or wireless communication network. Further, the control command value generation device 1 may be provided inside the robot control device 2 (integrated with the robot control device 2). Further, the robot control device 2 and the control command value generation device 1 may be completely separated. That is, the control command value generated by the control command value generation device 1 may be input to the robot control device 2 by manual input or the like.

制御指令値生成装置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 input unit 11 to which an input command value is input, and a calculation unit 12 that generates a control command value based on the input command value input by the input unit 11. And a storage unit 13 for storing various data used for calculation of the calculation unit 12 and a control command value generation program. Each component of the control command value generation device 1 is electrically connected via the bus 14 and is configured to output the control command value calculated by the calculation unit 12 to the robot control device 1 via the bus 14. .

記憶部13に記憶される制御指令値生成プログラムは、制御指令値生成装置1を構成するコンピュータを、所定の入力指令値から当該入力指令値のn階までの微分(n≧0)で表せるn+1個の制御指令値を、入力数が1であり出力数がn+1である状態方程式を用いて生成するn次のデジタルフィルタとして機能させるようプログラミングされている。   The control command value generation program stored in the storage unit 13 can express the computer constituting the control command value generation device 1 by a differentiation (n ≧ 0) from a predetermined input command value to the nth floor of the input command value. Each control command value is programmed to function as an nth-order digital filter that is generated using a state equation with 1 input and n + 1 outputs.

次に、本実施形態における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.

Figure 2013097444
Figure 2013097444

上記式(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.

Figure 2013097444
Figure 2013097444

このとき、伝達関数G(s)は、以下のように表せる。   At this time, the transfer function G (s) can be expressed as follows.

Figure 2013097444
Figure 2013097444

本発明の発明者らは、このような状態方程式と伝達関数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を得るための各伝達関数G(S),G(S),G(S),G(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.

Figure 2013097444
Figure 2013097444

上記式(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.

Figure 2013097444
Figure 2013097444

上記式(10)に示されるように、伝達関数G(s),G(s),G(s)の分母を加加速度指令値jを得るための伝達関数G(s)の第2項(sのある項)の分母と共通となるように変形することができる。これにより、上記式(10)に示される各伝達関数を上記式(4),(5)で示される状態方程式にそれぞれ変換した場合に、A行列を共通化することができる。すなわち、上記式(5)で示されるA行列(n=3)における各係数a,a,aは、いずれの伝達関数に対してもa=1/T,a=3/T,a=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行列については、伝達関数G(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.

さらに、伝達関数G(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.

Figure 2013097444
Figure 2013097444

図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の伝達関数G(s)を以下の式(12)で表したとき、入力指令値uを1〜n階微分した制御指令値yを求めるための伝達関数G(s)〜G(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.

Figure 2013097444


Figure 2013097444

Figure 2013097444
Figure 2013097444


Figure 2013097444

Figure 2013097444

生成される制御指令値が入力指令値のn階微分であることより、各制御指令値の連続系の伝達関数が互いに共通の分母を有するため、状態方程式におけるA行列をすべての制御指令値に対して共通化することができる。また、各制御指令値の連続系の伝達関数の分子に対応するC行列は各制御指令値の連続系の分子を示す1×n行列をn+1個並べて(n+1)×n行列とすることにより、1つの状態方程式で表すことができる。ここで、入力指令値のn階微分で表される制御指令値における連続系の伝達関数は、分母と分子との次数が同じになるため、そのままでは状態方程式に当てはめることができない。しかし、式(13)のG(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階微分に対応する行にある係数Cと2階微分に対応する行にある係数Cとをそれぞれ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 Robot controller 11 Input unit 12 Calculation unit 13 Storage unit 14 Bus

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.
前記入力指令値の伝達関数G(s)を以下の式(1)で表したとき、前記入力指令値を1〜n階微分した制御指令値を求めるための伝達関数G(s)〜G(s)は、以下の式(2)で示され、前記n次のデジタルフィルタの状態方程式は、入力uに対する出力をyとして以下の式(3)で示される、請求項1に記載の制御指令値生成プログラム。
Figure 2013097444


Figure 2013097444

Figure 2013097444
When the transfer function G i (s) of the input command value is expressed by the following equation (1), transfer functions G 1 (s) to obtain a control command value obtained by differentiating the input command value by 1 to n-th order. G n (s) is expressed by the following equation (2), and the state equation of the n-th order digital filter is expressed by the following equation (3), where y is an output with respect to the input u. Control command value generation program.
Figure 2013097444


Figure 2013097444

Figure 2013097444
所定の入力指令値から当該入力指令値のn階までの微分(n≧0)で表せるn+1個の制御指令値を、入力数が1であり出力数がn+1である状態方程式を用いて生成するn次のデジタルフィルタを前記入力指令値に適用することにより、前記n+1個の制御指令値を生成する、制御指令値生成方法。   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 method for generating the (n + 1) control command values by applying an n-th order digital filter to the input command value. 所定の入力指令値から当該入力指令値のn階までの微分(n≧0)で表せるn+1個の制御指令値を、入力数が1であり出力数がn+1である状態方程式を用いて生成するn次のデジタルフィルタを備えた、制御指令値生成装置。
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.
JP2011237467A 2011-10-28 2011-10-28 Control command value generation program, control command value generation method, and control command value generation device Active JP5902911B2 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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