[go: up one dir, main page]

WO2015177912A1 - 指令生成装置および方法 - Google Patents

指令生成装置および方法 Download PDF

Info

Publication number
WO2015177912A1
WO2015177912A1 PCT/JP2014/063626 JP2014063626W WO2015177912A1 WO 2015177912 A1 WO2015177912 A1 WO 2015177912A1 JP 2014063626 W JP2014063626 W JP 2014063626W WO 2015177912 A1 WO2015177912 A1 WO 2015177912A1
Authority
WO
WIPO (PCT)
Prior art keywords
command
time
time function
speed
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.)
Ceased
Application number
PCT/JP2014/063626
Other languages
English (en)
French (fr)
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to PCT/JP2014/063626 priority Critical patent/WO2015177912A1/ja
Publication of WO2015177912A1 publication Critical patent/WO2015177912A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D3/00Control of position or direction
    • G05D3/12Control of position or direction using feedback
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D19/00Control of mechanical oscillations, e.g. of amplitude, of frequency, of phase
    • G05D19/02Control of mechanical oscillations, e.g. of amplitude, of frequency, of phase characterised by the use of electric means
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P29/00Arrangements for regulating or controlling electric motors, appropriate for both AC and DC motors

Definitions

  • the present invention relates to a command generation apparatus and method for generating a command to be supplied to a servo system.
  • the servo system is used for operating various machines.
  • the servo system includes a servo motor and a servo amplifier as a servo control device that drives the servo motor.
  • the servo control device positions the servo motor based on a command supplied from the command generation device.
  • the command generation device generates a command to be supplied to the servo motor according to the content set in advance by the user.
  • the vibration component caused by the command by selecting the time constant so that the notch time constant of the moving average filter matches the vibration frequency of the machine (second method).
  • the time constant of the moving average filter is determined by the vibration frequency of the machine, when the vibration frequency is low (that is, the vibration cycle is long), the end time of the command becomes long. That is, the settling time becomes long, and the tact time of the mechanical device becomes long.
  • Patent Document 1 and Non-Patent Document 1 a method is known in which a moving average filter is applied to a command, and a secondary resonance filter and an anti-resonance notch filter are applied. (Third method). According to the third method, the time constant of the moving average filter can be selected regardless of the vibration frequency of the machine, and both shortening of the settling time and vibration suppression can be achieved.
  • Patent Document 2 proposes a method of performing a filter function such as a resonance notch filter and an anti-resonance notch filter on a basic function of a sine wave and then converting it to a time function (inverse Laplace transform). (4th system). According to the fourth method, both shortening of the settling time and vibration suppression can be achieved.
  • a filter function such as a resonance notch filter and an anti-resonance notch filter
  • the secondary resonance filter has the characteristics of an IIR filter, there is a problem that an afterimage of a pulse is included in the command. Therefore, according to the third method, fraction processing or the like is required. Further, according to the fourth method, the command is generated using the function converted into the time function, so that the fraction processing unique to the IIR filter can be made unnecessary. However, the fourth method has a problem that the time function is complicated.
  • the present invention has been made in view of the above, and an object of the present invention is to obtain a command generation apparatus and method capable of generating a command with as simple a calculation as possible.
  • the present invention is a command generation device that generates a drive command to be supplied to a servo system at each control cycle, and based on an input from a user, an acceleration / deceleration section A time function processing unit that generates an intermediate command for each control period that accelerates or decelerates a speed according to a time function obtained by adding a linear function and a sine wave function for one period, and a filter that removes a preset frequency component And a filter processing unit that generates the drive command by acting on the intermediate command.
  • the command generation device uses a time function obtained by adding a linear function and a sine wave function for one cycle in an acceleration / deceleration section to generate an output command, the command can be generated by a simple calculation. Will be able to.
  • FIG. 1 is a diagram illustrating a connection example of the command generation device according to the embodiment.
  • FIG. 2 is a diagram illustrating an example of a velocity waveform defined by an input command.
  • FIG. 3 is a block diagram showing processing according to the first method.
  • FIG. 4 is a diagram illustrating an output command when the first method is applied.
  • FIG. 5 is a block diagram illustrating processing according to the third method.
  • FIG. 6 is a diagram showing velocity waveforms formed by the velocity commands of Equations 6 to 8.
  • FIG. 7 is a diagram showing acceleration waveforms represented by Equations 9 to 11.
  • FIG. 8 is a diagram illustrating a hardware configuration example of the command generation device 1 according to the embodiment.
  • FIG. 9 is a diagram illustrating functions of the command generation device 1 according to the embodiment.
  • FIG. 10 is a flowchart illustrating the operation of the command generation device 1 according to the embodiment.
  • FIG. 1 is a diagram illustrating a connection example of the command generation device according to the embodiment.
  • the servo motor 3 is connected to the servo control device 2.
  • the command generator 1 receives an input that defines how to drive the servo motor 3.
  • the command generation device 1 stores in advance a user program in which the input is described.
  • An input to the command generation device 1 is expressed as an input command.
  • the command generation device 1 is connected to the servo control device 2.
  • the command generation device 1 generates a command for each control cycle for positioning the servo motor 3 based on the input command, and supplies the command to the servo control device 2.
  • a command supplied from the command generation device 1 to the servo control device 2 is referred to as an output command.
  • the type of output command is arbitrary.
  • the output command may be a position command for instructing a position or a speed command for instructing a speed.
  • the speed may be defined by a movement amount for each control cycle, or may be defined by a movement amount for each time different from the control cycle.
  • the type of input command may be a position command or a speed command. Further, the type of the input command is not limited to either the position command or the speed command when information sufficient to identify the speed waveform is given inside the command generating device 1.
  • Servo motor 3 is connected to a machine (not shown) and drives the machine.
  • the servo motor 3 includes an encoder 4 that detects a current value of the state of the servo motor 3.
  • the type of the current value is arbitrary. For example, the position or speed (including the movement amount for each control cycle) can be adopted as the type of the current value.
  • the servo control device 2 drives the servo motor 3 so that the state of the servo motor 3 follows the command from the command generation device 1. Specifically, the servo control device 2 generates a drive current for the servo motor 3 while feeding back a current value (encoder signal) detected by the encoder 4, and supplies the generated drive current to the servo motor 3.
  • FIG. 2 is a diagram illustrating an example of a velocity waveform defined by an input command.
  • the differential value of the speed command (that is, acceleration) changes discontinuously at the acceleration start point, the point where the acceleration shifts to a constant speed, the deceleration start point, and the end point.
  • the command from the position command device to the servo control device changes abruptly at a point where the acceleration is discontinuous, and vibration is generated in the machine.
  • the acceleration time Tr and the deceleration time Tf have been reduced to increase the response speed, and suppression of the machine vibration has become increasingly important.
  • FIG. 3 is a block diagram showing processing according to the first method.
  • the following formula 1 is a formula showing the relationship between the input command and the output command in the command generation device to which the first method is applied.
  • the input command is a position command.
  • the position command as the input command is calculated by integrating the velocity waveform.
  • u (s) is a function obtained by Laplace transform of a position command u (t) input as an input command.
  • y (s) F (s) u (s) (Formula 1)
  • the position command y (s) as the output command is calculated by multiplying u (s) by the transfer function F (s) of the moving average filter as shown in Equation 1.
  • the moving average filter may be an FIR filter or a smoothing filter.
  • FIG. 4 is a diagram for explaining an output command when the first method is applied.
  • FIG. 4 shows a velocity waveform formed by the output command. This velocity waveform is obtained by differentiating the position command as the output command.
  • the use of the moving average filter eliminates the speed change discontinuity, and as a result, the vibration of the machine is suppressed.
  • the vibration is excited when the notch frequency 2 ⁇ / Ta [rad / s] of the moving average filter F (s) does not match the vibration frequency ⁇ n of the machine.
  • Ta is a moving average unit time.
  • the average value of the values of the Ta period is calculated.
  • Ta is set so that 2 ⁇ / Ta and ⁇ n coincide.
  • Ta needs to be increased as ⁇ n is smaller, so that the time required for acceleration / deceleration increases as Ta increases.
  • the time from the start to the end of the operation instructed by the user becomes longer as ⁇ n is smaller.
  • FIG. 5 is a block diagram illustrating processing according to the third method.
  • Expression 2 is an expression showing the relationship between the input command and the output command in the command generation device to which the third method is applied.
  • y (s) ⁇ g (s) / f (s) ⁇ F (s) u (s) (Formula 2)
  • g (s) and f (s) are respectively defined as follows.
  • the input command u (s) is a position command having a trapezoidal or triangular velocity waveform.
  • a position command that is accelerated or decelerated by an S-shaped velocity waveform is obtained as the output command y (s).
  • the calculation result of Equation 2 is converted to a time function by inverse Laplace transform. Then, the command generation device outputs a command based on the time function.
  • the moving average unit time Ta of the moving average filter can be set without depending on the vibration frequency ⁇ n.
  • processing for example, fraction processing for suppressing the afterimage of the pulse is required.
  • the fundamental function of the sine wave is subjected to filter processing such as a resonance notch filter and an anti-resonance notch filter, and the filtered fundamental function is converted into a time function.
  • filter processing such as a resonance notch filter and an anti-resonance notch filter
  • the filtered fundamental function is converted into a time function.
  • the time function obtained by the conversion the settling time is shortened and the vibration is suppressed without outputting the pulse afterimage peculiar to the IIR filter.
  • the time function becomes complicated because the inverse Laplace transform is executed after performing a complicated filter process.
  • a time function is created in advance and set in the command generation device 1.
  • the time function of the embodiment is created as follows. First, the filter processing of the following Expression 5 is executed for an input command u (s) that is a position command for forming a trapezoidal velocity waveform.
  • v (s) is a function obtained by performing Laplace transform on the speed command formed by the output command.
  • the right side of Expression 5 is subjected to inverse Laplace transform, and time functions shown in Expression 6 to Expression 8 below are derived.
  • Tr is the acceleration time of the trapezoidal velocity waveform formed by the input command u (s)
  • Tf is the deceleration time of the trapezoidal velocity waveform formed by the input command u (s).
  • V0 is the maximum speed of the trapezoidal speed waveform formed by the input command u (s) (that is, the speed in the constant speed section).
  • V (t) represents a speed command as an output command.
  • the type of output command is a position command
  • the position command can be calculated by integrating v (t).
  • FIG. 6 is a diagram showing a velocity waveform formed by the velocity commands of Equations 6 to 8.
  • a command for changing the speed according to the time function represented by the sum of the linear function and the sine wave function for one cycle is generated. Since the command is calculated using a simple time function, the calculation load for calculating the output command is small, and the output command is calculated at high speed.
  • Expressions 9 to 11 show accelerations derived from the speed commands shown in Expressions 6 to 8.
  • FIG. 7 is a diagram showing acceleration waveforms represented by Equations 9 to 11.
  • FIG. 8 is a diagram illustrating a hardware configuration example of the command generation device 1 according to the embodiment.
  • the command generation device 1 has a hardware configuration as a computer. Specifically, the command generation device 1 includes an arithmetic device 11, a main memory 12, a nonvolatile memory 13, an I / O interface 14, and a bus 15.
  • the bus 15 connects the arithmetic device 11, the main memory 12, the nonvolatile memory 13, and the I / O interface 14 to each other.
  • the computing device 11 is, for example, a CPU (Central Processing Unit).
  • the main memory 12 is a memory that can be accessed at a higher speed than the nonvolatile memory 13.
  • the main memory 12 is composed of, for example, a RAM (Random Access Memory).
  • the main memory 12 is used as a work area by the arithmetic device 11.
  • the non-volatile memory 13 is a memory used as a storage area for various data.
  • the nonvolatile memory 13 is configured by, for example, a ROM (Read Only Memory), a flash memory, an optical disk, a magnetic disk, a removable memory device, or a combination thereof.
  • the I / O interface 14 is an interface device for connecting to the servo control device 2.
  • the connection standard between the servo control device 2 and the command generation device 1 is arbitrary.
  • the nonvolatile memory 13 stores a user program 18 in advance.
  • the user program 18 is a program in which input commands are recorded in the order of operation, and is created by the user.
  • the nonvolatile memory 13 corresponds to a recording medium that stores the firmware program 16 in advance.
  • the firmware program 16 is a system program that provides an environment for executing the user program 18.
  • the firmware program 16 includes a time function 17 described by Expression 6 to Expression 8.
  • the time function 17 is configured such that the speed V0, the acceleration time Tr, the deceleration time Tf, and the end timing T0 of the constant speed section are variable as shown in Expressions 6 to 8.
  • the arithmetic unit 11 loads the firmware program 16 from the nonvolatile memory 13 into the main memory 12.
  • the arithmetic device 11 functions as the processing unit 101 of the embodiment based on the firmware program 16 loaded in the main memory 12.
  • FIG. 9 is a diagram illustrating functions of the command generation device 1 according to the embodiment.
  • the command generation device 1 includes a program storage unit 100 that stores a user program 18 and a processing unit 101.
  • the processing unit 101 includes a time function processing unit 102 and a filter processing unit 103.
  • the program storage unit 100 is secured in the nonvolatile memory 13 or the main memory 12.
  • FIG. 10 is a flowchart for explaining the operation of the command generation device 1 according to the embodiment.
  • the time function processing unit 102 acquires an input command from the user (S1).
  • the time function processing unit 102 reads the input command from the user program 18.
  • the input command may be a speed command or a position command. This is because they can be mutually converted by differentiation or integration.
  • the input command is a command for forming a trapezoidal velocity waveform as shown in FIG.
  • the input command of the embodiment is described by a set including a movement distance L, a speed V0, an acceleration time Tr, and a deceleration time Tf.
  • the area obtained by integrating the velocity waveform at time t corresponds to the movement distance L.
  • the acceleration / deceleration and the constant speed interval end timing T0 are set so that the area corresponds to the moving distance L, the maximum speed corresponds to the speed V0, the acceleration time Tr, and the deceleration time Tf.
  • the acceleration / deceleration may be the maximum value allowed by the servo motor 3 and the machine.
  • the acceleration / deceleration is preset in the user program 18 or the like.
  • the set of parameters constituting the input command is arbitrary as long as it is a set of parameters that can identify a trapezoidal velocity waveform. Some of the parameters for specifying the trapezoidal velocity waveform may be preset in the time function processing unit 102.
  • the input command may form a speed waveform (for example, a rectangular wave speed waveform) different from the trapezoidal speed waveform.
  • the time function processing unit 102 generates a command for forming a trapezoidal velocity waveform based on the input command, and uses the generated command in subsequent processing.
  • the time function processing unit 102 substitutes each value of the speed V0, the acceleration time Tr, the deceleration time Tf, and the end timing T0 of the constant speed section into the time function 17 of Expression 6 to Expression 8.
  • Establishing the time function 17 means assigning a value to a variable other than the time t among variables included in the time function 17.
  • the time function processing unit 102 generates a command (for example, a speed command) for each control period using the determined time function 17 (S3).
  • the command generated in S3 is sequentially passed to the filter processing unit 103 as intermediate data.
  • the command for each control cycle is generated by sequentially substituting a value that increases at a step size equal to the control cycle into the time t of the determined time function 17.
  • the filter processing unit 103 executes a filter process that causes a filter that removes a preset frequency component to act on the command passed from the time function processing unit 102 (S4). Then, the filter processing unit 103 sequentially outputs the filtered command to the servo control device 2 as an output command (S5). As the output command, a type that can be handled by the servo control device 2 among the position command and the speed command is adopted. After the process of S5, the operation related to the input command is completed.
  • the speed is accelerated / decelerated according to the time function 17 obtained by adding the linear function and the sine wave function for one period in the acceleration / deceleration section based on the input from the user.
  • a time function processing unit 102 that generates a command of the above
  • a filter processing unit 103 that generates an output command by applying a filter that removes a preset frequency component to the command generated by the time function processing unit 102, Is provided.
  • the time function 17 obtained by adding the linear function and the sine wave function for one cycle is used in the acceleration / deceleration section, so that the command can be generated by a simple calculation. Since the calculation for generating the output command is simple, the calculation load is small and the calculation speed is high. In addition, since a work area for calculation can be saved, a smaller-sized memory can be applied as the main memory 12 constituting the command generation device 1.
  • the input command is, for example, a parameter set for specifying a trapezoidal velocity waveform.
  • the time function processing unit 102 specifies the time Tr of the acceleration section of the trapezoidal velocity waveform, the time Tf of the deceleration section, the maximum speed V0, and the end timing T0 of the constant speed section.
  • Tf, V0, and T0 By substituting Tf, V0, and T0 into Equations 6 to 8, a time function that defines the speed in the acceleration section, the speed in the deceleration section, and the speed in the constant speed section is determined.
  • the time function can be determined by a simple calculation.
  • 1 command generation device 2 servo control device, 3 servo motor, 4 encoder, 11 arithmetic device, 12 main memory, 13 non-volatile memory, 14 I / O interface, 15 bus, 16 firmware program, 17 time function, 18 user program , 100 program storage unit, 101 processing unit, 102 time function processing unit, 103 filter processing unit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Power Engineering (AREA)
  • Control Of Electric Motors In General (AREA)

Abstract

 簡単な演算で指令を生成するために、指令生成装置1は、ユーザからの入力に基づいて、加減速区間において一次関数と1周期分の正弦波関数とを加算した時間関数に従って速度を加減速する、制御周期毎の指令を生成する時間関数処理部102と、時間関数処理部102が生成した指令に対して予め設定された周波数成分を除去するフィルタを作用させることによって出力指令を生成するフィルタ処理部103と、を備える。

Description

指令生成装置および方法
 本発明は、サーボシステムに供給する指令を生成する指令生成装置および方法に関する。
 種々の機械を動作させる用途にサーボシステムが用いられる。サーボシステムは、サーボモータと、当該サーボモータを駆動するサーボ制御装置としてのサーボアンプとを備える。サーボ制御装置は、指令生成装置から供給される指令に基づいてサーボモータを位置決めする。指令生成装置は、ユーザが予め設定した内容に従って、サーボモータに供給する指令を生成する。
 ここで、制御対象となる機械の剛性に起因して、機械先端の位置と指令位置との間で誤差が生じ、その結果、機械が振動することがある。この場合には、位置決め精度が低下したり整定時間が増大したりする。
 このような問題を解決するために、指令生成装置からサーボ制御装置に伝達する指令に指令の変化をスムーズにするための移動平均フィルタを作用させることによって、振動を発生しにくくする方式(第1方式)が知られている。しかしながら、第1方式によれば、移動平均フィルタの時定数の周波数成分が発生するため、この周波数が機械の共振周波数と合致した場合には機械の振動を励起してしまう可能性がある。
 これに関しては、移動平均フィルタのノッチ時定数と機械の振動周波数を一致させるように時定数を選択することによって、指令に起因する振動成分を除去することが可能である(第2方式)。しかしながら、第2方式の場合、移動平均フィルタの時定数が機械の振動周波数により決まるため、振動周波数が低い(即ち振動周期が長い)場合には指令の終了時間が長くなる。即ち、整定時間が長くなり、機械装置のタクトタイムが長くなってしまう。
 これに対し、例えば特許文献1および非特許文献1に開示されているように、指令に移動平均フィルタを作用させ、さらに二次共振フィルタと反共振ノッチフィルタとを作用させる方式が知られている(第3方式)。第3方式によれば、機械の振動周波数に関係なく移動平均フィルタの時定数を選択することができ、かつ、整定時間の短縮と振動抑制とを両立することができる。
 また、例えば特許文献2には、正弦波の基本関数に対して共振ノッチフィルタと反共振ノッチフィルタなどのフィルタ処理を施した後に、時間関数に変換(逆ラプラス変換)する手法が提案されている(第4方式)。第4方式によれば、整定時間の短縮と振動抑制を両立できる。
特許第3946046号公報 特開2012-159964号公報
岩崎、松井、「振動抑制効果を考慮したロボットアームの最適位置指令設計法」、電気学会論文誌C、1997年、vol.117、No.1、p.50-56
 しかしながら、上記第3方式によれば、二次共振フィルタがIIRフィルタの特性を有するため、パルスの残像が指令に含まれてしまう、という問題があった。したがって、第3方式によれば、端数処理等が必要となってしまう。また、上記第4方式によれば、時間関数に変換された関数を用いて指令が生成されることにより、IIRフィルタに特有の端数処理等を不要とすることができる。しかしながら、第4方式によれば、時間関数が複雑であるという問題があった。
 本発明は、上記に鑑みてなされたものであって、できるだけ簡単な演算で指令を生成することができる指令生成装置および方法を得ることを目的とする。
 上述した課題を解決し、目的を達成するために、本発明は、サーボシステムに制御周期毎に供給する駆動指令を生成する指令生成装置であって、ユーザからの入力に基づいて、加減速区間において一次関数と1周期分の正弦波関数とを加算した時間関数に従って速度を加減速する、制御周期毎の中間指令を生成する時間関数処理部と、予め設定された周波数成分を除去するフィルタを前記中間指令に作用させることによって前記駆動指令を生成するフィルタ処理部と、を備えることを特徴とする。
 本発明にかかる指令生成装置は、出力指令を生成するために加減速区間において一次関数と1周期分の正弦波関数とを加算した時間関数を使用するので、簡単な演算で指令を生成することができるようになる。
図1は、実施の形態の指令生成装置の接続例を示す図である。 図2は、入力指令によって規定される速度波形の一例を示す図である。 図3は、第1方式による処理を示すブロック図である。 図4は、第1方式が適用された場合の出力指令を説明する図である。 図5は、第3方式による処理を示すブロック図である。 図6は、式6~式8の速度指令によって形成される速度波形を示す図である。 図7は、式9~式11が示す加速度の波形を示す図である。 図8は、実施の形態の指令生成装置1のハードウェア構成例を示す図である。 図9は、実施の形態の指令生成装置1の機能を示す図である。 図10は、実施の形態の指令生成装置1の動作を説明するフローチャートである。
 以下に、本発明にかかる実施の形態の指令生成装置および方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態.
 図1は、実施の形態の指令生成装置の接続例を示す図である。サーボモータ3はサーボ制御装置2に接続されている。指令生成装置1は、サーボモータ3をどのように駆動するかを規定する入力を受け付ける。例えば、指令生成装置1は、前記入力が記述されたユーザプログラムを予め記憶する。指令生成装置1に対する入力を、入力指令と表記する。指令生成装置1は、サーボ制御装置2に接続されている。指令生成装置1は、サーボモータ3を位置決めするための、制御周期毎の指令を、入力指令に基づいて生成し、サーボ制御装置2に供給する。指令生成装置1からサーボ制御装置2に供給される指令を、出力指令と表記する。
 なお、出力指令の種類は任意である。例えば、出力指令は、位置を指令する位置指令であってもよいし、速度を指令する速度指令であってもよい。なお、速度とは、制御周期毎の移動量で定義されてもよいし、制御周期とは異なる時間毎の移動量で定義されてもよい。また、入力指令の種類は、位置指令であってもよいし、速度指令であってもよい。また、入力指令の種類は、指令生成装置1の内部において速度波形が特定できるだけの情報が与えられる場合には、位置指令および速度指令のいずれでなくてもよい。
 サーボモータ3は、図示しない機械に接続され、機械を駆動する。サーボモータ3は、サーボモータ3の状態の現在値を検出するエンコーダ4を備えている。現在値の種類は任意である。例えば、現在値の種類として、位置または速度(制御周期毎の移動量を含む)が採用可能である。サーボ制御装置2は、サーボモータ3の状態が指令生成装置1からの指令に追従するようにサーボモータ3を駆動する。具体的には、サーボ制御装置2は、エンコーダ4によって検出される現在値(エンコーダ信号)をフィードバックしながら、サーボモータ3の駆動電流を生成し、生成した駆動電流をサーボモータ3に供給する。
 ここで、実施の形態と比較される指令生成装置の技術として、第1~第4方式について説明する。図2は、入力指令によって規定される速度波形の一例を示す図である。
 図2の速度波形によれば、加速開始点、加速から定速に移行する点、減速開始点、および終点において、速度指令の微分値(即ち加速度)が不連続に変化する。この速度波形をサーボ制御装置に指令した場合には、加速度が不連続な点において位置指令装置からサーボ制御装置への指令が急峻に変化するため、機械に振動が発生する。近年、機械のタクトタイムを短縮するために加速時間Tr、減速時間Tfを小さくして高速応答化する傾向にあり、機械の振動抑制がますます重要となっている。
 第1方式によれば、振動を抑制するために、移動平均フィルタが使用される。図3は、第1方式による処理を示すブロック図である。また、下記の式1は、第1方式が適用された指令生成装置における、入力指令と出力指令との間の関係を示す式である。なお、ここでは、入力指令は位置指令であるとする。入力指令としての位置指令は、速度波形を積分することによって演算される。u(s)は、入力指令として入力される位置指令u(t)をラプラス変換して得られる関数である。
 y(s)=F(s)u(s)   ・・・(式1)
 出力指令としての位置指令y(s)は、式1に示すように、u(s)に移動平均フィルタの伝達関数F(s)を乗じることによって演算される。移動平均フィルタは、FIRフィルタであってもよいし、スムージングフィルタであってもよい。
 図4は、第1方式が適用された場合の出力指令を説明する図である。図4は、出力指令によって形成される速度波形を示している。この速度波形は、出力指令としての位置指令を微分することによって得られる。図示するように、移動平均フィルタが使用されることによって速度変化の不連続点がなくなり、結果として機械の振動が抑制される。
 しかしながら、第1方式によれば、移動平均フィルタF(s)が有するノッチ周波数2π/Ta[rad/s]と機械の振動周波数ωnとが一致しない場合には、振動が励起されてしまう。ここで、Taは、移動平均の単位時間である。移動平均フィルタF(s)によれば、Taの期間の値の平均値が演算される。振動を励起しないために、第2方式によれば、2π/Taとωnとが一致するようにTaが設定される。しかしながら、第2方式によれば、ωnが小さいほどTaを大きくする必要があるため、Taが大きくなるほど加減速にかかる時間が長くなってしまう。その結果、第2方式によれば、ユーザから指令される動作の実行開始から終了までの時間は、ωnが小さいほど長くなってしまう。
 第3方式によれば、移動平均フィルタのほかに共振ノッチフィルタf(s)および反共振ノッチフィルタg(s)が使用される。図5は、第3方式による処理を示すブロック図である。下記の式2は、第3方式が適用された指令生成装置における、入力指令と出力指令との間の関係を示す式である。
 y(s)={g(s)/f(s)}F(s)u(s)   ・・・(式2)
 ここで、g(s)、f(s)は夫々下記のように定義される。
Figure JPOXMLDOC01-appb-M000007
 式2において、入力指令u(s)は、台形または三角形の速度波形を有する位置指令である。式2によれば、出力指令y(s)として、S字型の速度波形により加減速される位置指令が得られる。
 第3方式によれば、式2の演算結果は逆ラプラス変換によって時間関数に変換される。そして、指令生成装置は、その時間関数に基づいて指令を出力する。第3方式によれば、振動周波数ωnに依存せずに移動平均フィルタの移動平均の単位時間Taを設定できるようになる。一方、式2はIIRフィルタの特性を備えるため、パルスの残像を抑制するための処理(例えば端数処理)が必要となる。
 第4方式は、正弦波の基本関数に対して共振ノッチフィルタと反共振ノッチフィルタなどのフィルタ処理を施し、フィルタ処理後の基本関数を時間関数に変換するものである。変換により得られる時間関数によれば、IIRフィルタ特有のパルス残像が出力されることなく、整定時間の短縮と振動抑制とが両立される。しかしながら、この方式によれば、複雑なフィルタ処理を施した後に、逆ラプラス変換が実行されるため、時間関数が複雑になる問題がある。
 実施の形態によれば、時間関数が予め作成され、指令生成装置1に設定される。実施の形態の時間関数は、次のようにして作成される。まず、台形の速度波形を形成する位置指令である入力指令u(s)に対し、下記の式5のフィルタ処理が実行される。
Figure JPOXMLDOC01-appb-M000008
 ここで、v(s)は、出力指令によって形成される速度指令をラプラス変換して得られる関数である。式5の右辺は、逆ラプラス変換され、下記の式6~式8に示される時間関数が導出される。
Figure JPOXMLDOC01-appb-M000009
 ここで、Trは入力指令u(s)が形成する台形の速度波形の加速時間であり、Tfは入力指令u(s)が形成する台形の速度波形の減速時間である。また、V0は入力指令u(s)が形成する台形の速度波形の最高速度(即ち等速区間における速度)である。また、v(t)は出力指令としての速度指令を示す。出力指令の種類が位置指令である場合には、v(t)を積分することによって位置指令が演算できる。
 図6は、式6~式8の速度指令によって形成される速度波形を示す図である。
 このように、実施の形態によれば、加速区間および減速区間の夫々において、一次関数と1周期分の正弦波関数との和で表される時間関数に従って速度が変化せしめられる指令が生成される。簡単な時間関数を用いて指令が演算されるので、出力指令を演算するための計算負荷が小さく、かつ、出力指令が高速に演算される。
 式9~式11は、式6~式8に示す速度指令から導出した加速度を示している。また、図7は、式9~式11が示す加速度の波形を示す図である。
Figure JPOXMLDOC01-appb-M000010
 このように、実施の形態によれば、加速度の波形に不連続点が存在しないので、速度がなめらかに変化する。その結果、振動が抑制される。
 図8は、実施の形態の指令生成装置1のハードウェア構成例を示す図である。指令生成装置1は、コンピュータとしてのハードウェア構成を備えている。具体的には、指令生成装置1は、演算装置11、メインメモリ12、不揮発性メモリ13、I/Oインタフェース14、およびバス15を備えている。バス15は、演算装置11、メインメモリ12、不揮発性メモリ13、およびI/Oインタフェース14を相互に接続する。
 演算装置11は、例えばCPU(Central Processing Unit)である。メインメモリ12は、不揮発性メモリ13よりも高速なアクセスが可能なメモリである。メインメモリ12は、例えばRAM(Random Access Memory)によって構成される。メインメモリ12は、演算装置11によってワークエリアとして使用される。
 不揮発性メモリ13は、各種データの保存領域として用いられるメモリである。不揮発性メモリ13は、例えば、ROM(Read Only Memory)、フラッシュメモリ、光ディスク、磁気ディスク、着脱可能なメモリデバイス、またはこれらの組み合わせによって構成される。I/Oインタフェース14は、サーボ制御装置2と接続するためのインタフェース装置である。サーボ制御装置2と指令生成装置1との間の接続規格は任意である。
 不揮発性メモリ13は、ユーザプログラム18が予め格納される。ユーザプログラム18は、入力指令が動作順に記録されたプログラムであって、ユーザによって作成されるものである。また、不揮発性メモリ13は、ファームウェアプログラム16を予め記憶する記録媒体に該当する。ファームウェアプログラム16は、ユーザプログラム18を実行するための環境を提供するシステムプログラムである。
 ファームウェアプログラム16は、式6~式8によって記述される時間関数17を備える。時間関数17は、式6~式8にて示されるように、速度V0、加速時間Tr、減速時間Tf、および定速区間の終了タイミングT0が可変なように構成されている。
 演算装置11は、ファームウェアプログラム16を不揮発性メモリ13からメインメモリ12にロードする。そして、演算装置11は、メインメモリ12にロードされたファームウェアプログラム16に基づいて、実施の形態の処理部101として機能する。
 図9は、実施の形態の指令生成装置1の機能を示す図である。指令生成装置1は、ユーザプログラム18を記憶するプログラム記憶部100と、処理部101と、を備えている。処理部101は、時間関数処理部102と、フィルタ処理部103とを備えている。プログラム記憶部100は、不揮発性メモリ13またはメインメモリ12に確保される。
 図10は、実施の形態の指令生成装置1の動作を説明するフローチャートである。
 まず、時間関数処理部102は、ユーザからの入力指令を取得する(S1)。ここでは、ユーザからの入力指令はユーザプログラム18に記述されているので、時間関数処理部102は、ユーザプログラム18から入力指令を読み取る。
 入力指令は、速度指令であってもよいし、位置指令であってもよい。微分または積分により相互に変換可能であるからである。また、実施の形態においては、入力指令は、例えば、図2に示すような台形の速度波形を形成する指令である。例えば、実施の形態の入力指令は、移動距離L、速度V0、加速時間Tr、および減速時間Tfからなるセットによって記述される。速度波形を時間tで積分して得られる面積(図2において斜線が施された領域の面積)は、移動距離Lに相当する。例えば、この面積が移動距離L、最高速度が速度V0、加速時間がTr、減速時間がTf、に夫々一致するように、時間関数処理部102において、加減速度および定速区間の終了タイミングT0が演算される。加減速度は、サーボモータ3および機械が許容する最大の値であってもよく、その場合には加減速度は予めユーザプログラム18などに設定される。なお、入力指令を構成するパラメータのセットは、台形の速度波形が特定できるパラメータのセットであれば任意である。また台形の速度波形を特定するためのパラメータのうちの一部は、時間関数処理部102に予め設定されてもよい。
 また、入力指令は、台形の速度波形とは異なる速度波形(例えば矩形波の速度波形)を形成するものであってもよい。その場合には、時間関数処理部102は、入力指令に基づいて台形の速度波形を形成する指令を生成し、生成した指令を以降の処理にて使用する。
 S1の処理に続いて、時間関数処理部102は、速度V0、加速時間Tr、減速時間Tf、および定速区間の終了タイミングT0の各値を式6~式8の時間関数17に代入することによって、時間関数17を確定させる(S2)。時間関数17を確定させる、とは、時間関数17に含まれる変数のうちの時間t以外の変数に値を代入することである。S1の処理の後、時間関数処理部102は、確定させた時間関数17を用いて制御周期毎の指令(例えば速度指令)を生成する(S3)。S3によって生成される指令は、中間データとしてフィルタ処理部103に逐次渡される。なお、制御周期毎の指令は、確定された時間関数17の時間tに、制御周期に等しい刻み幅で増加する値を逐次代入することによって生成される。
 S3の処理に続いて、フィルタ処理部103は、予め設定された周波数成分を除去するフィルタを、時間関数処理部102から渡された指令に対して作用させる、フィルタ処理を実行する(S4)。そして、フィルタ処理部103は、フィルタ処理後の指令を出力指令としてサーボ制御装置2に逐次出力する(S5)。出力指令としては、位置指令と速度指令とのうちのサーボ制御装置2が対応可能な種類が採用される。S5の処理の後、入力指令にかかる動作が終了する。
 このように、実施の形態によれば、ユーザからの入力に基づいて、加減速区間において一次関数と1周期分の正弦波関数とを加算した時間関数17に従って速度を加減速する、制御周期毎の指令を生成する時間関数処理部102と、時間関数処理部102が生成した指令に対して予め設定された周波数成分を除去するフィルタを作用させることによって出力指令を生成するフィルタ処理部103と、を備える。出力指令を生成するために加減速区間において一次関数と1周期分の正弦波関数とを加算した時間関数17が使用されるので、簡単な演算で指令を生成することができるようになる。出力指令を生成する演算が簡単であるため、計算負荷が小さくて済み、かつ、演算速度が高速になる。また、演算のためのワークエリアを節約することが可能となるので、指令生成装置1を構成するメインメモリ12として、よりサイズが小さいメモリを適用することが可能となる。
 なお、入力指令は、例えば、台形の速度波形を特定するためのパラメータのセットである。時間関数処理部102は、入力指令に基づいて台形の速度波形の加速区間の時間Tr、減速区間の時間Tf、最大速度V0、および定速区間の終了タイミングT0を特定し、前記特定したTr、Tf、V0、およびT0を式6~式8に代入することによって、加速区間における速度、減速区間における速度、および一定速度区間における速度を夫々定義する時間関数を確定する。このように、実施の形態の指令生成装置1によれば、簡単な演算により時間関数を確定することができる。
 1 指令生成装置、2 サーボ制御装置、3 サーボモータ、4 エンコーダ、11 演算装置、12 メインメモリ、13 不揮発性メモリ、14 I/Oインタフェース、15 バス、16 ファームウェアプログラム、17 時間関数、18 ユーザプログラム、100 プログラム記憶部、101 処理部、102 時間関数処理部、103 フィルタ処理部。

Claims (4)

  1.  サーボシステムに制御周期毎に供給する駆動指令を生成する指令生成装置であって、
     ユーザからの入力に基づいて、加減速区間において一次関数と1周期分の正弦波関数とを加算した時間関数に従って速度を加減速する、制御周期毎の中間指令を生成する時間関数処理部と、
     予め設定された周波数成分を除去するフィルタを前記中間指令に作用させることによって前記駆動指令を生成するフィルタ処理部と、
     を備えることを特徴とする指令生成装置。
  2.  前記ユーザからの入力は、台形の速度波形を特定するためのパラメータのセットであって、
     前記時間関数は、加速区間の時間Tr、減速区間の時間Tf、最大速度V0、および定速区間の終了タイミングT0を変数として含む、加速区間における速度を定義する第1時間関数である
    Figure JPOXMLDOC01-appb-M000001
    と、減速区間における速度を定義する第2時間関数である
    Figure JPOXMLDOC01-appb-M000002
    と、定速区間における速度を定義する第3時間関数である
    Figure JPOXMLDOC01-appb-M000003
    と、を備え、
     前記時間関数処理部は、前記ユーザからの入力に基づいて前記Tr、Tf、V0、およびT0を特定し、前記特定したTr、Tf、V0、T0を、前記第1時間関数、前記第2時間関数、および前記第3時間関数の夫々に代入することによって、前記夫々の時間関数を確定する、
     ことを特徴とする請求項1に記載の指令生成装置。
  3.  サーボシステムに制御周期毎に供給する駆動指令を、指令生成装置によって生成する方法であって、
     ユーザからの入力を受け付ける第1ステップと、
     前記入力に基づいて、加減速区間において一次関数と1周期分の正弦波関数とを加算した時間関数に従って速度を加減速する、制御周期毎の中間指令を生成する第2ステップと、
     予め設定された周波数成分を除去するフィルタを前記中間指令に作用させることによって前記駆動指令を生成する第3ステップと、
     を備えることを特徴とする方法。
  4.  前記ユーザからの入力は、台形の速度波形を特定するためのパラメータのセットであって、
     前記時間関数は、加速区間の時間Tr、減速区間の時間Tf、最大速度V0、および定速区間の終了タイミングT0を変数として含む、加速区間における速度を定義する第1時間関数である
    Figure JPOXMLDOC01-appb-M000004
    と、減速区間における速度を定義する第2時間関数である
    Figure JPOXMLDOC01-appb-M000005
    と、定速区間における速度を定義する第3時間関数である
    Figure JPOXMLDOC01-appb-M000006
    と、を備え、
     前記ユーザからの入力に基づいて前記Tr、Tf、V0、およびT0を特定し、前記特定したTr、Tf、V0、T0を、前記第1時間関数、前記第2時間関数、および前記第3時間関数の夫々に代入するステップ、
     をさらに備えることを特徴とする請求項3に記載の方法。
PCT/JP2014/063626 2014-05-22 2014-05-22 指令生成装置および方法 Ceased WO2015177912A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/063626 WO2015177912A1 (ja) 2014-05-22 2014-05-22 指令生成装置および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/063626 WO2015177912A1 (ja) 2014-05-22 2014-05-22 指令生成装置および方法

Publications (1)

Publication Number Publication Date
WO2015177912A1 true WO2015177912A1 (ja) 2015-11-26

Family

ID=54553605

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/063626 Ceased WO2015177912A1 (ja) 2014-05-22 2014-05-22 指令生成装置および方法

Country Status (1)

Country Link
WO (1) WO2015177912A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3930179A1 (en) 2020-06-25 2021-12-29 Kabushiki Kaisha Yaskawa Denki Command generation device and command generation method to control motor
WO2022202850A1 (ja) * 2021-03-26 2022-09-29 ファナック株式会社 サーボ制御装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62288913A (ja) * 1986-06-09 1987-12-15 Hitachi Ltd 試料台制御装置
JPH09217551A (ja) * 1996-02-09 1997-08-19 Toyo Electric Mfg Co Ltd 車両用扉開閉装置
JPH1189291A (ja) * 1997-09-08 1999-03-30 Honda Motor Co Ltd モータの加減速制御方法
JP4003741B2 (ja) * 2003-12-04 2007-11-07 松下電器産業株式会社 モータ制御装置
JP2013126266A (ja) * 2011-12-13 2013-06-24 Toshiba Mach Co Ltd サーボ制御装置およびその調整方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62288913A (ja) * 1986-06-09 1987-12-15 Hitachi Ltd 試料台制御装置
JPH09217551A (ja) * 1996-02-09 1997-08-19 Toyo Electric Mfg Co Ltd 車両用扉開閉装置
JPH1189291A (ja) * 1997-09-08 1999-03-30 Honda Motor Co Ltd モータの加減速制御方法
JP4003741B2 (ja) * 2003-12-04 2007-11-07 松下電器産業株式会社 モータ制御装置
JP2013126266A (ja) * 2011-12-13 2013-06-24 Toshiba Mach Co Ltd サーボ制御装置およびその調整方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3930179A1 (en) 2020-06-25 2021-12-29 Kabushiki Kaisha Yaskawa Denki Command generation device and command generation method to control motor
US11914343B2 (en) 2020-06-25 2024-02-27 Kabushiki Kaisha Yaskawa Denki Command generation device and command generation method to control motor
WO2022202850A1 (ja) * 2021-03-26 2022-09-29 ファナック株式会社 サーボ制御装置
JPWO2022202850A1 (ja) * 2021-03-26 2022-09-29
JP7614332B2 (ja) 2021-03-26 2025-01-15 ファナック株式会社 サーボ制御装置
US12326713B2 (en) 2021-03-26 2025-06-10 Fanuc Corporation Servo control device

Similar Documents

Publication Publication Date Title
KR101378624B1 (ko) 위치결정 제어장치
JP5648870B2 (ja) モータ制御装置、モータ制御方法及び機械システム
JP4837558B2 (ja) モータ制御装置
JP2019021087A (ja) 制御装置、制御装置の制御方法、情報処理プログラム、および記録媒体
JP2018073097A (ja) 工具経路生成装置、工具経路生成方法及び工具経路生成プログラム
JP6557185B2 (ja) サーボ制御装置、サーボ制御方法、及びサーボ制御用プログラム
JP6412071B2 (ja) モータ制御装置、モータ制御方法及びモータ制御用プログラム
JP2012104047A (ja) サーボ制御器
WO2015177912A1 (ja) 指令生成装置および方法
JP6008766B2 (ja) 支援装置およびコンピュータプログラム
JP6444948B2 (ja) サーボモータ制御装置、サーボモータ制御方法、及びサーボモータ制御用プログラム
KR101630141B1 (ko) 지령 생성 장치
JP5220241B1 (ja) 指令生成装置および指令生成方法
JP6336265B2 (ja) 工作機械制御装置、工作機械制御方法、及びプログラム
KR20130027502A (ko) 모터 드라이버 제어 장치
JPWO2009025132A1 (ja) モータ制御装置とその慣性モーメント同定方法
US8374706B2 (en) Method for moving a machine element of an automation machine and a drive system
JP7568831B2 (ja) 同期電動機の制御装置
EP3930179B1 (en) Command generation device and command generation method to control motor
CN113805596A (zh) 一种控制器的位置调控方法、装置、设备及介质
JP2005039954A (ja) 電動機制御装置
JPWO2019193758A1 (ja) 免振装置
CN111857201B (zh) 低频振动抑制方法、装置、伺服控制器及存储介质
JP2023133032A (ja) モータ制御装置、およびその自動調整方法
JP2007020267A (ja) システム同定装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14892690

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14892690

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP