JP2017167592A - シミュレーション装置、シミュレーション方法、制御プログラム、および記録媒体 - Google Patents

シミュレーション装置、シミュレーション方法、制御プログラム、および記録媒体 Download PDF

Info

Publication number
JP2017167592A
JP2017167592A JP2016049315A JP2016049315A JP2017167592A JP 2017167592 A JP2017167592 A JP 2017167592A JP 2016049315 A JP2016049315 A JP 2016049315A JP 2016049315 A JP2016049315 A JP 2016049315A JP 2017167592 A JP2017167592 A JP 2017167592A
Authority
JP
Japan
Prior art keywords
simulation
response
frequency
speed
command value
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
JP2016049315A
Other languages
English (en)
Other versions
JP6409803B2 (ja
Inventor
泰元 森
Yasumoto Mori
泰元 森
守 恵木
Mamoru Egi
守 恵木
尚太 宮口
Shota Miyaguchi
尚太 宮口
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2016049315A priority Critical patent/JP6409803B2/ja
Priority to EP17151923.4A priority patent/EP3220216B1/en
Priority to US15/409,541 priority patent/US10909277B2/en
Priority to CN201710045352.2A priority patent/CN107193219B/zh
Publication of JP2017167592A publication Critical patent/JP2017167592A/ja
Application granted granted Critical
Publication of JP6409803B2 publication Critical patent/JP6409803B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/042Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance
    • G05B13/044Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance not using a perturbation signal
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/17Mechanical parametric or variational design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/042Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37612Transfer function, kinematic identification, parameter estimation, response
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/42Servomotor, servo controller kind till VSS
    • G05B2219/42154Model itself controlled by position and speed loop
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/42Servomotor, servo controller kind till VSS
    • G05B2219/42155Model
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/42Servomotor, servo controller kind till VSS
    • G05B2219/42163Simulator

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Automation & Control Theory (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Discrete Mathematics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Feedback Control In General (AREA)
  • Control Of Electric Motors In General (AREA)
  • Control Of Ac Motors In General (AREA)

Abstract

【課題】容易かつ短時間で適切に制御パラメータを設定する。【解決手段】第1指令値と機械系の計測値とから周波数応答関数を算出する周波数応答関数算出部(53)と、周波数応答関数と制御パラメータとから得た周波数伝達関数を逆フーリエ変換してインパルス応答を算出するインパルス応答算出部(41)と、第2指令値とインパルス応答とから機械系(7)の時間応答シミュレーションを実行する時間応答出力部(44)とを備える。【選択図】図2

Description

本発明は、負荷装置を駆動するモータを制御するサーボドライバの応答をシミュレーション可能なシミュレーション装置等に関する。
サーボ機構において、負荷装置を駆動するためのモータを適切に制御するために、モータを制御するサーボドライバの制御パラメータ(位置ゲイン、速度ゲイン、フィルタのカットオフ周波数等)の調整を行うことが一般的である。
従来、制御パラメータの調整方法には、モータを駆動し、負荷装置を実際に運転することにより行うものがある。すなわち、或る制御パラメータをサーボドライバに設定して実際にモータを駆動させ、そのときの負荷装置の応答を計測する。ここで、負荷装置の応答状態が所望の要件を満たしていない場合は、制御パラメータを変更して再度モータを駆動させ、そのときの負荷装置の応答を計測する。このように、制御パラメータを変更して、モータを繰り返し駆動して負荷装置を運転することにより、制御パラメータの設定を行うものがある(例えば、特許文献1)。
また、実際に装置を運転させて制御パラメータの設定を行う方法以外にも、シミュレーションにより、制御パラメータの設定を行うものがある。すなわち、サーボドライバおよび負荷装置の物理モデルを使用し、制御パラメータを設定して繰り返しシミュレーションを行う。そして、シミュレーション結果として得られる応答状態が所望の要件を満たしているか否かに応じてで、制御パラメータの設定を行うものがある(例えば、特許文献2)。
特開2009−122779号公報(2009年6月4日公開) 特開2006−340480号公報(2006年12月14日公開)
しかしながら、上述のような従来技術は以下の問題がある。まず、実際に装置を動作させて応答を計測する場合、制御パラメータを設定するたびに、実際にモータを駆動させて負荷装置の応答を計測していかなければならないので、調整に非常に時間を要してしまう。また、不適切な制御パラメータを設定した場合に、想定外の動作により機器を損傷させてしまう可能性がある。
また、モデルを使用してシミュレーションする場合、シミュレーションできる制御対象がモデルの形や次数に限定されてしまう。よって、物理モデルの形と実際の装置の特性に差異があると、シミュレーションの精度が低下してしまう。また、モデルを実際の装置の特性と合わせるためには、パラメータを適切に設定する必要があり、ユーザに対し過度の知識を要求することになる。
本発明は、前記の問題点に鑑みてなされたものであり、その目的は、容易かつ短時間で適切に制御パラメータを設定することができるシミュレーション装置等を実現することにある。
前記課題を解決するために、本発明に係るシミュレーション装置は、モータを含む制御対象と、前記モータを制御するモータ制御装置と、を有する機械系のシミュレーションを行うシミュレーション装置であって、前記機械系を駆動させるための第1指令値と、前記第1指令値によって駆動された前記機械系の応答の計測値と、の関係に基づいて、前記制御対象の特性を含む周波数応答関数を算出する周波数応答関数算出部と、前記機械系に対応した制御ブロック構造を有するシミュレーション系と、前記シミュレーション系の特性を変更させる制御パラメータを設定するパラメータ設定部と、前記周波数応答関数、または、前記周波数応答関数と前記制御パラメータとに基づいて算出される周波数伝達関数を、シミュレーション用周波数伝達関数として設定する周波数伝達関数設定部と、前記シミュレーション用周波数伝達関数を逆フーリエ変換することにより、インパルス応答を算出するインパルス応答算出部と、前記インパルス応答を用いたシミュレーションのための第2指令値を生成する第2指令値生成部と、前記第2指令値と前記インパルス応答とに基づいて、前記第2指令値に対する前記機械系の時間応答シミュレーションを実行する時間応答出力部と、を備えることを特徴としている。
前記の構成によれば、シミュレーションによって、サーボドライバへの任意の入力に対する応答を確認することができるので、制御対象の応答を確認するために、制御パラメータを都度設定して、実際にモータを駆動させて制御対象の応答を計測する必要がなくなる。よって、調整の時間を短縮することができる。
また、駆動部を実際に駆動させた応答結果である周波数応答関数を用いて時間応答を出力するので、精度よくシミュレーションを行うことができる。
本発明に係るシミュレーション装置では、前記機械系は、制御ブロック構造として、少なくとも1つのフィードバック系を有するものであり、前記シミュレーション系は、前記フィードバック系に対応した少なくとも1つのモデルフィードバック系を有するものであり、前記周波数応答関数算出部は、前記制御対象の特性を含み、かつ、前記少なくとも1つのフィードバック系の特性を含まない前記周波数応答関数を算出し、前記周波数伝達関数設定部は、前記制御対象の特性を含み、かつ、前記少なくとも1つのモデルフィードバック系の特性を含まないシミュレーション用周波数伝達関数を設定し、前記時間応答出力部は、前記第2指令値を前記モデルフィードバック系に入力して得られた出力値と、前記シミュレーション用周波数伝達関数を逆フーリエ変換することにより算出されたインパルス応答と、に基づいて、前記第2指令値に対する前記機械系の時間応答シミュレーションを実行するものであってもよい。
前記の構成によれば、フィードバック系を用いてシミュレーションを実行するので、実際に駆動して得た周波数応答関数に誤差が含まれていたとしても、フィードバックにより当該誤差を縮小していくことができる。よって、より正確なシミュレーションを実行することができる。
本発明に係るシミュレーション装置では、前記シミュレーション系は、前記出力値に加算されるフィードフォワード値を出力するフィードフォワード系を含み、前記時間応答出力部は、前記出力値に前記フィードフォワード値を加算した加算値と、前記シミュレーション用周波数伝達関数を逆フーリエ変換することにより算出されるインパルス応答と、に基づいて、前記機械系の時間応答シミュレーションを実行するものであってもよい。
前記の構成によれば、フィードフォワードを行うシステムを的確にシミュレートすることができる。
本発明に係るシミュレーション装置では、前記機械系は、制御ブロック構造として、速度制御器を含む速度フィードバック系を有し、前記シミュレーション系は、前記速度フィードバック系に対応するモデル速度フィードバック系を有し、前記周波数応答関数算出部は、前記制御対象の特性を含み、かつ、前記速度フィードバック系を含まない周波数応答関数を算出し、前記周波数伝達関数設定部は、前記制御対象の特性を含み、かつ、前記モデル速度フィードバック系を含まない前記シミュレーション用周波数伝達関数を設定し、前記時間応答出力部は、前記第2指令値を前記モデル速度フィードバック系に入力して得られた出力値と、前記シミュレーション用周波数伝達関数を逆フーリエ変換することにより算出されるインパルス応答と、に基づいて、前記機械系の時間応答シミュレーションを実行するものであってもよい。
前記の構成によれば、速度フィードバック系を用いるので、逆フーリエ変換に用いた周波数応答関数の誤差を縮小することができる。したがって、容易に短時間で精度の高いシミュレーションを実行することができる。
また、インパルス応答が短時間で収束するので、周波数応答の計測時間が相対的に短い、すなわち、計測データが相対的に少ない場合でも、周波数応答関数の精度を担保することができる。したがって、周波数応答の計測をするときの計測時間を短縮することができる。
本発明に係るシミュレーション装置では、前記機械系は、制御ブロック構造として、位置制御器を含む位置フィードバック系と、前記位置制御器の下流側に配置される速度制御器を含む速度フィードバック系と、を有し、前記シミュレーション系は、前記位置フィードバック系に対応するモデル位置フィードバック系と、前記速度フィードバック系に対応するモデル速度フィードバック系と、を有し、前記周波数応答関数算出部は、前記制御対象の特性を含み、かつ、前記位置フィードバック系と、前記速度フィードバック系を含まない周波数応答関数を算出し、前記周波数伝達関数設定部は、前記制御対象の特性と前記モデル速度フィードバック系とを含み、かつ、前記モデル位置フィードバック系を含まない前記シミュレーション用周波数伝達関数を設定し、前記時間応答出力部は、前記第2指令値を前記モデル位置フィードバック系に入力して得られた出力値と、前記シミュレーション用周波数伝達関数を逆フーリエ変換することにより算出されるインパルス応答と、に基づいて、前記機械系の時間応答シミュレーションを実行するものであってもよい。
前記の構成によれば、速度フィードバック系および位置フィードバック系を用いるので、逆フーリエ変換に用いた周波数応答関数の誤差を縮小することができる。したがって、容易に短時間で精度の高いシミュレーションを実行することができる。
また、インパルス応答が短時間で収束するので、周波数応答の計測時間が相対的に短い、すなわち、計測データが相対的に少ない場合でも、周波数応答関数の精度を担保することができる。したがって、周波数応答の計測をするときの計測時間を短縮することができる。
本発明に係るシミュレーション装置では、前記機械系は、制御ブロック構造として、位置制御器を含む位置フィードバック系と、前記位置制御器の下流側に配置される速度制御器を含む速度フィードバック系と、を有し、前記シミュレーション系は、前記位置フィードバック系に対応するモデル位置フィードバック系と、前記速度フィードバック系に対応するモデル速度フィードバック系と、を有し、前記周波数応答関数算出部は、前記制御対象の特性を含み、かつ、前記位置フィードバック系と、前記速度フィードバック系を含まない周波数応答関数を算出し、前記周波数伝達関数設定部は、前記制御対象の特性を含み、かつ、前記モデル速度フィードバック系と前記モデル位置フィードバック系とを含まない前記シミュレーション用周波数伝達関数を設定し、前記時間応答出力部は、前記第2指令値を前記モデル位置フィードバック系に入力して得られた出力値および前記モデル速度フィードバック系の出力値と、前記シミュレーション用周波数伝達関数を逆フーリエ変換することにより算出されるインパルス応答と、に基づいて、前記機械系の時間応答シミュレーションを実行するものであってもよい。
前記の構成によれば、位置フィードバック系、および速度フィードバック系を用いてシミュレーションを実行するので、容易に短時間で精度の高いシミュレーションを実行することができる。
また、インパルス応答の算出に用いる周波数応答関数は、制御対象に対応する系を含み、速度フィードバック系および位置フィードバック系を含まない系の周波数応答関数なので、位置制御器に対応するパラメータ、および速度制御器に対応するパラメータを変更しても、周波数応答関数を再度計算する必要がない。このため、計算量の多い逆フーリエ変換を再度、計算する必要がなく、処理量を削減することができる。
また、ゲインスケジュールと呼ばれる、モータ動作中に制御パラメータ(ゲイン)を変更する制御のシミュレーションを実行することもできる。
本発明に係るシミュレーション装置では、前記第1指令値はトルクを示すトルク指令値であり、前記周波数応答関数算出部は、前記トルク指令値と、前記トルク指令値によって駆動された前記機械系の応答である速度計測値と、の関係に基づいて、前記周波数応答関数を算出するものであってもよい。
前記の構成によれば、計測用のトルク指令であるトルク指令値を用いて、実際にモータを駆動したときの、制御対象の特性である周波数応答関数を求めることができる。
本発明に係るシミュレーション装置では、前記第1指令値は速度を示す速度指令値であり、前記周波数応答関数算出部は、前記速度指令値と、前記速度指令値によって駆動された前記機械系の応答である速度計測値と、の関係に基づいて、前記周波数応答関数を算出するものであってもよい。
前記の構成によれば、計測用の速度指令である速度指令値を用いて、実際にモータを駆動したときの、制御対象の特性である周波数応答関数を求めることができる。
本発明に係るシミュレーション装置では、前記第1指令値は位置を示す位置指令値であり、前記周波数応答関数算出部は、前記位置指令値と、前記位置指令値によって駆動された前記機械系の応答である位置計測値と、の関係に基づいて、前記周波数応答関数を算出するものであってもよい。
前記の構成によれば、計測用の位置指令である位置指令値を用いて、実際にモータを駆動したときの、制御対象の特性である周波数応答関数を求めることができる。
本発明に係るシミュレーション装置では、前記時間応答出力部は、前記第2指令値に対する前記機械系の位置、速度、およびトルクの少なくとも何れかの時間応答シミュレーションを実行するものであってもよい。
前記の構成によれば、サーボドライバへの任意の入力に対する制御対象の位置、速度およびトルクの少なくとも何れかをシミュレーションすることができる。
また、制御対象のみの周波数応答関数を用いることにより、トルクフィルタ(ノッチフィルタ、ローパスフィルタ等)を加えた場合のシミュレーションも容易に実行することができる。
本発明に係るシミュレーション装置では、前記パラメータ設定部は、前記シミュレーション系に含まれる、前記機械系における制御器それぞれに対応する系の少なくとも1つの系のパラメータを設定するように構成されているものであってもよい。
前記の構成によれば、任意の制御パラメータ毎に時間応答シミュレーションを実行することができる。
前記課題を解決するために、本発明に係るシミュレーション方法は、モータを含む制御対象と、前記モータを制御するモータ制御装置と、を有する機械系のシミュレーションを行うシミュレーション方法であって、前記機械系を駆動させるための第1指令値と、前記第1指令値によって駆動された前記機械系の応答の計測値と、の関係に基づいて、前記制御対象の特性を含む周波数応答関数を算出する周波数応答関数算出ステップと、前記機械系に対応した制御ブロック構造を有するシミュレーション系の特性を変更させる制御パラメータを設定するパラメータ設定ステップと、前記周波数応答関数、または、前記周波数応答関数と前記制御パラメータとに基づいて算出される周波数伝達関数を、シミュレーション用周波数伝達関数として設定する周波数伝達関数設定ステップと、前記シミュレーション用周波数伝達関数を逆フーリエ変換することにより、インパルス応答を算出するインパルス応答算出ステップと、前記インパルス応答を用いたシミュレーションのための第2指令値を生成する第2指令値生成ステップと、前記第2指令値と前記インパルス応答とに基づいて、前記第2指令値に対する前記機械系の時間応答シミュレーションを実行する時間応答出力ステップと、を含むことを特徴としている。
前記の方法によれば、前述した効果を同様の効果を奏することができる。
本発明の各態様に係るシミュレーション装置は、コンピュータによって実現してもよく、この場合には、コンピュータを前記シミュレーション装置が備える各部(ソフトウェア要素)として動作させることにより前記シミュレーション装置をコンピュータにて実現させるシミュレーション装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
本発明によれば、シミュレーションによって、サーボドライバへの任意の入力に対する応答を確認することができるので、制御対象の応答を確認するために、制御パラメータを都度設定して、実際にモータを駆動させて制御対象の応答を計測する必要がなくなる。よって、調整の時間を短縮することができるという効果を奏する。
また、駆動部を実際に駆動させた応答結果である周波数応答関数を用いて時間応答を出力するので、精度よくシミュレーションを行うことができるという効果を奏する。
本実施形態に係る制御システムの概要を示す図である。 制御システムの内部構造を示す機能ブロック図である。 サーボドライバの制御構造を示すブロック図である。 制御パラメータの調整方法の流れを示すフローチャートである。 計測用トルク指令により周波数応答関数を算出するときの制御ブロック図である。 計測用速度指令により周波数応答関数を算出するときの制御ブロック図である。 計測用位置指令により周波数応答関数を算出するときの制御ブロック図である。 シミュレーション系の構造を示すブロック図であり、(a)はシミュレーション系の基本構造を示す図であり、(b)はシミュレーション系の制御ブロック全てを1つのシミュレーション用周波数伝達関数に置換した場合を示す図であり、(c)はシミュレーション系のモデル速度制御器、モデル電流制御器、機械モデル部を1つのシミュレーション用周波数伝達関数に置換した場合を示す図であり、(d)はシミュレーション系のモデル電流制御器、機械モデル部を1つのシミュレーション用周波数伝達関数に置換した場合を示す図である。 時間応答シミュレーション結果の表示例を示す図である。 一般的な、一次遅れ要素のインパルス応答を示す図である。 (a)、(b)は、シミュレーション−2に対するシミュレーション−1の利点を説明するための図である。 フィードフォワード部を備えたシミュレーションを説明するための図であり、(a)はフィードフォワード器を備えたサーボドライバの制御構造を示すブロック図であり、(b)はモデルフィードフォワード器を備えたシミュレーション系の構造を示す図であり、(c)はモデルフィードフォワード器を備えたシミュレーションを説明するための図である。 フィードフォワードを備えたシミュレーション系の変形例を示す図である。 速度制御のシミュレーションを説明するための図であり、(a)は速度制御を行う際のサーボドライバの制御構造を示すブロック図であり、(b)は速度制御のシミュレーションを行う際のシミュレーション系の構造を示す図であり、(c)はシミュレーション系のモデル速度制御器、モデル電流制御器、機械モデル部を1つのシミュレーション用周波数伝達関数に置換した場合を示す図であり、(d)はシミュレーション系のモデル電流制御器、機械モデル部を1つのシミュレーション用周波数伝達関数に置換した場合を示す図である。 トルク制御のシミュレーションを説明するための図であり、(a)はトルク制御を行う際のサーボドライバの制御構造を示すブロック図であり、(b)はトルク制御のシミュレーションを行う際のシミュレーション系の構造を示す図であり、(c)はシミュレーション系のモデル電流制御器、機械モデル部を1つのシミュレーション用周波数伝達関数に置換した場合を示す図である。
〔実施形態1〕
〔制御システム100の概要〕
以下、本発明の実施形態1について、図1〜図9に基づいて説明する。まず、図1を参照して本実施形態に係る制御システム100について説明する。図1は、制御システム100の概要を示す図である。制御システム100は、サーボ機構を用いて負荷装置4の動作を制御するものであり、図1に示すように、設定装置(シミュレーション装置)1、サーボドライバ(モータ制御装置)2、モータ(駆動部)3、および負荷装置4を含む。また、モータ3と負荷装置4と含めて制御対象6と呼び、制御対象6とサーボドライバ2とを含めて機械系7と呼ぶ。
設定装置1は、サーボドライバ2の制御パラメータを設定および調整するための装置であり、調整用ソフトウェアが含まれている。具体的には、設定装置1は、調整用ソフトウェアを用いて、サーボドライバ2の応答状態が最適となるように、サーボドライバ2の制御パラメータ(例えば、位置ゲイン、速度ゲイン、フィルタのカットオフ周波数等)を調整する。なお、調整用ソフトウェアは、サーボドライバ2の応答状態を計測する機能とサーボドライバ2の応答をシミュレーションする機能と有する。設定装置1は、例えば、パーソナルコンピュータによって実現され、パーソナルコンピュータに格納されたプログラム(調整用ソフトウェア)が実行されることで、当該コンピュータが設定装置1として機能する。
ユーザ(制御システム100の使用者、設定者等)5は、設定装置1を用いて、サーボドライバ2の制御パラメータの設定および調整を行う。すなわち、ユーザ5は、設定装置1上で動作する調整用ソフトウェアを用いてサーボドライバ2の制御パラメータを設定し、サーボドライバ2の応答状態が最適となるように調整する。換言すれば、実際の計測結果、およびシミュレーション結果を用いて応答状態を確認し、制御パラメータの調整を行う。
サーボドライバ2は、設定装置1により設定され、調整された制御パラメータを記憶するとともに、その制御パラメータに従ってモータ3を駆動し、負荷装置4を動作させる。また、サーボドライバ2は、設定装置1、およびモータ3と、有線または無線により通信可能に接続されている。例えば、サーボドライバ2は、設定装置1とUSB(Universal Serial Bus)ケーブルによって接続されている。また、サーボドライバ2とモータ3とは、例えば、専用ケーブルによって接続されている。
そして、本実施形態では、計測対象を実際に計測して周波数応答関数を取得し、周波数応答関数と制御パラメータから得た周波数伝達関数を逆フーリエ変換してインパル応答を算出し、当該インパルス応答を用いてシミュレーションを実行する。
よって、制御対象のモデルを物理モデルとして用意し、これを使用する場合のように、シミュレーションできる制御対象がモデルの形や次数に限定されてしまうことがない。よって、シミュレーションできる対象を広げることができるとともに、実際の制御対象が物理モデルの形からずれることにより、シミュレーション結果の精度が下がるということを防止することができる。さらに、サーボドライバの制御パラメータに関する知識を必要とせずに応答結果を確認することができるので、ユーザに対し過度の知識を要求することも必要なくなる。
〔設定装置1、サーボドライバ2の詳細〕
次に、図2、3を参照して設定装置1およびサーボドライバ2の構成について説明する。図2は、制御システム100に含まれる、設定装置1およびサーボドライバ2の要部構成を示すブロック図である。また、図3は、サーボドライバ2における制御の構造を示す図である。
図2に示すように、設定装置1は、制御部10、操作受付部11、および表示部12を含む。
操作受付部11は、設定装置1に対する操作を受け付け、その内容を制御部10に通知する。操作受付部11は、キーボードおよびマウスといったハードウェアによって構成されていてもよいし、後述する表示部12と合わせ、タッチパネルによって構成されていてもよい。
また、後述するシミュレーションを実行する入力値を操作受付部11で受け付けてもよい。また、入力値そのものではなく、何らかの指示を受け付け、受け付けた内容からシミュレーション部23において入力値(第2指令値)を生成するものであってもよい。この場合、シミュレーション部23が第2指令値生成部となる。
表示部12は、サーボドライバ2の制御パラメータを設定する設定画面、シミュレーション結果等を表示するものである。なお、表示部12は設定装置1に必須の構成ではなく、設定装置1の外部にあってもよい。また、表示部12は、上述したように操作受付部11の機能を含むタッチパネルとして構成されていてもよい。
制御部10は、サーボドライバ2を含む機械系7の応答のシミュレーション、サーボドライバ2のパラメータの設定等を含む、設定装置1における各種処理を実行するものであり、パラメータ設定部21、周波数特性算出部22、シミュレーション部23、動作指示部24、および取得部25を含む。
パラメータ設定部21は、操作受付部11を介して受け付けた、サーボドライバ2の制御パラメータをサーボドライバ2に設定する。また、シミュレーション実行時に、操作受付部11から受け付けたサーボドライバ2の制御パラメータをシミュレーション部23に通知する。
周波数特性算出部22は、後述するシミュレーション部23がサーボドライバ2を含む機械系7のシミュレーションを実行するときに用いる、負荷装置4を含む制御対象6の特性として周波数応答関数を算出する。そして、算出した結果をシミュレーション部23に通知する。制御対象6の周波数応答関数の算出方法の詳細については後述する。
シミュレーション部23は、周波数特性算出部22が算出した負荷装置4を含む制御対象6の周波数応答関数を用いて、サーボドライバ2を含む機械系7の応答(時間応答、位置応答)をシミュレーションし、その結果を表示部12に表示させる。シミュレーション部23によるシミュレーションの詳細については後述する。
動作指示部24は、操作受付部11を介してユーザから受け付けた指示に従い、サーボドライバ2に動作指示を送信する。具体的には、操作受付部11を介して受け付けた位置指令(時刻と位置とを指定する指令)をサーボドライバ2に通知し、負荷装置4において制御対象物が指定時刻に指定位置にくるように指示する。
取得部25は、負荷装置4が実際に運転されたときの結果を計測し、周波数特性算出部22または表示部12に通知する。より詳細には、取得部25は、周波数特性算出部22の指示により負荷装置4を動作させた場合は、その計測結果を周波数特性算出部22に通知する。また、動作指示部24の指示により負荷装置4を動作させた場合は、その結果を表示部12に表示させる。
また、図2に示すように、サーボドライバ2は、位置制御器31、速度制御器32、および電流制御器33を含む。これらの処理の内容を、図3を参照して説明する。図3は、サーボドライバ2の制御構造を示す図である。
図3に示すように、位置制御器31は、例えば比例制御(P制御)を行う。具体的には、動作指示部24から通知された位置指令と検出位置との偏差である位置偏差に、位置比例ゲインを乗ずることにより指令速度を出力する。なお、位置制御器31は、パラメータ設定部21により設定されることにより、予め、制御パラメータとして位置比例ゲインKppを有している。
速度制御器32は、例えば比例制御(P制御)を行う。具体的には、位置制御器31から出力された速度指令と検出速度との偏差である速度偏差に、速度比例ゲインを乗ずることにより指令トルクを出力する。なお、速度制御器32は、パラメータ設定部21により設定されることにより、予め、制御パラメータとして速度比例ゲインKvpを有している。なお、速度制御器32は、比例制御(P制御)ではなく、PI制御を行ってもよい。この場合には、速度制御器32は、制御パラメータとして速度比例ゲインKvpと、速度積分ゲインKviとを有している。
電流制御器33は、速度制御器32より出力されたトルク指令に基づいて電流指令を出力し、モータ3を制御して負荷装置4を動作させる。電流制御器33は、トルク指令フィルタ(1次のローパスフィルタ)、および複数のノッチフィルタを含み、制御パラメータとして、トルク指令フィルタのカットオフ周波数、ノッチフィルタの周波数を有している。
また、速度制御器32、電流制御器33、制御対象6を含み、かつ検出速度の速度制御器32へのフィードバックを含む系を速度フィードバック系と呼び、速度フィードバック系に加え、位置制御器31を含み、検出位置の位置制御器31へのフィードバックを含む系を位置フィードバック系と呼ぶ。また、速度フィードバック系、位置フィードバック系を区別する必要がないときは単にフィードバック系と呼ぶ。
〔周波数特性算出部22における処理の詳細〕
周波数特性算出部22における処理の詳細について図5〜7を参照して説明する。図5は、計測用トルク指令により周波数応答関数を算出するときの制御ブロック図である。図6は、計測用速度指令により周波数応答関数を算出するときの制御ブロック図である。図7は、計測用位置指令により周波数応答関数を算出するときの制御ブロック図である。
図2に示すように、周波数特性算出部22は、計測用トルク指令生成部51、計測用速度指令生成部52、周波数応答関数算出部53、および計測用位置指令生成部54を含む。なお、計測用トルク指令生成部51、計測用速度指令生成部52、および計測用位置指令生成部54は何れか、またはこれらのうちの2つを備える構成であってもよく、全てを備えている必要はない。
計測用トルク指令生成部51は、負荷装置4を含む制御対象6の周波数応答関数を求めるときの、モータ3を駆動するための計測用トルク指令(第1指令値、トルク指令値)を生成する。
計測用速度指令生成部52は、負荷装置4を含む制御対象6の周波数伝達関数Pを求めるときの、モータ3を駆動するための計測用速度指令(第1指令値、速度指令値)を生成する。
計測用位置指令生成部54は、負荷装置4を含む制御対象6の周波数伝達関数Pを求めるときの、モータ3を駆動するための計測用位置指令(第1指令値、位置指令値)を生成する。
なお、本実施の形態では、設定装置1が、周波数応答を計測するための指令値を生成する機能として、計測用トルク指令生成部51、計測用速度指令生成部52、計測用位置指令生成部54を有する構成を記載している。しかしながら、周波数応答を計測するための指令値の生成方法はこれに限られない。例えば、計測用トルク指令生成部51、計測用速度指令生成部52、計測用位置指令生成部54は、それぞれ、指令値を生成するための条件を設定するものであり、当該設定された条件をサーボドライバ2に通知することで、サーボドライバ2が指令値の生成を行ってもよい。指令値を生成するための条件としては、例えば、指令値として掃引正弦波を使用する場合には、当該指令値の初期の振幅、振幅の増幅率が挙げられる。また、指令値の周波数の最大値を決める値を条件として設定することができる。指令値の周波数の最大値を決める値としては、例えば、計測のサンプリング周期が挙げられる。指令値の生成条件は、操作受付部11を介してユーザにより設定される。
周波数応答関数算出部53は、計測用トルク指令生成部51、計測用速度指令生成部52、または計測用位置指令生成部54が生成した、計測用トルク指令、計測用速度指令、または計測用位置指令を用いて負荷装置4を含む制御対象6の特性である周波数応答関数を算出する。詳細な算出方法を以下に説明する。
〔算出方法−1〕
まず、算出方法−1について、図5を参照して説明する。図5に示すように、算出方法−1では、まず、計測用トルク指令生成部51が多くの周波数成分を含む計測用トルク指令を生成し、電流制御器33、および周波数応答関数算出部53に通知する。次に、電流制御器33は、通知された計測用トルク指令に基づき、モータ3を駆動させて負荷装置4を動作させる。
そして、周波数応答関数算出部53は、計測用トルク指令生成部51から通知された計測用トルク指令と、計測した負荷装置4を含む制御対象6における応答速度(検出速度(速度計測値、計測値))とから、負荷装置4を含む制御対象6の周波数応答関数を算出する。すなわち、周波数応答関数の計測対象Pmeasureは、電流制御器33および制御対象6を含むブロックである。
具体的には、周波数特性算出部22は、以下のとおり周波数応答関数を算出する。まず、以下に示すように、計測用トルク指令と計測した応答速度のデータ(サンプリング間隔Δt、データ点数Nの時系列配列)とをそれぞれ周波数解析(フーリエ変換)して比をとることで、周波数応答関数P(複素数配列)を算出する。
Tref[N]:計測用トルク指令をフーリエ変換した複素数配列
Ωact[N]:応答速度をフーリエ変換した複素数配列
P[N]=Ωact[N]/Tref[N]
f[N]=0,1/(Δt・N),2/(Δt・N),3/(Δt・N),…,(N−1)/(Δt・N) f:周波数
以上により、電流制御器33および制御対象6を含む計測対象Pmeasureの周波数応答関数Pが求められる。
〔算出方法−2〕
次に、算出方法−2について、図6を参照して説明する。図6に示すように、算出方法−2では、まず、計測用速度指令生成部52が多くの周波数成分を含む計測用速度指令を生成し、速度制御器32、および周波数応答関数算出部53に通知する。次に、速度制御器32は、上述したように、計測用速度指令と検出速度との偏差である速度偏差から指令トルクを出力する。電流制御器33は、通知された指令トルクに基づき負荷装置4を動作させる。
そして、周波数応答関数算出部53は、計測用速度指令生成部52から通知された計測用速度指令と、計測した負荷装置4における応答速度(検出速度)とから、計測対象Gv_measureの周波数応答関数を算出する。計測対象Gv_measureは、速度制御器32、電流制御器33、および制御対象6を含むブロックである。
具体的には、周波数特性算出部22は、以下に示すように、まず、計測用速度指令と計測した応答速度のデータ(サンプリング間隔Δt、データ点数Nの時系列配列)をそれぞれ周波数解析(フーリエ変換)して比をとることで、速度閉ループの周波数応答関数Gv_closed(複素数配列)を算出する。
Ωref[N]:計測用速度指令をフーリエ変換した複素数配列
Ωact[N]:応答速度をフーリエ変換した複素数配列
Gv_closed[N]=(Ωact[N])/(Ωref[N])
f[N]=0,1/(Δt・N),2/(Δt・N),3/(Δt・N),…,(N−1)/(Δt・N) f:周波数
次に、以下の通り、速度閉ループの特性Gv_closedから、計測時のサーボドライバ2の速度制御器32の特性(Cv)を除すことにより、計測対象Gv_measureの周波数応答関数Pを求める。
Gv_open[N]=(Gv_closed[N])/(1−Gv_closed[N])
P[N]=(Gv_open[N])/Cv[N]
以上により、計測対象Gv_measureの周波数応答関数Pが求められる。
〔算出方法−3〕
次に、算出方法−3について、図7を参照して説明する。図7に示すように、算出方法−3では、まず、計測用位置指令生成部54が多くの周波数成分を含む計測用位置指令を生成し、位置制御器31、および周波数応答関数算出部53に通知する。次に、位置制御器31は計測用位置指令と検出位置との偏差である位置偏差から指令速度を出力する。速度制御器32は、指令速度と検出速度との偏差である速度偏差から指令トルクを出力する。電流制御器33は、通知された指令トルクに基づき負荷装置4を動作させる。
そして、周波数応答関数算出部53は、計測用位置指令生成部54から通知された計測用位置指令と、計測した負荷装置4における応答位置(検出位置(位置計測値、計測値))とから、計測対象Gp_measureの周波数応答関数を算出する。計測対象Gp_measureは、位置制御器31、速度制御器32、電流制御器33、および制御対象6を含むブロックである。
具体的には、周波数特性算出部22は、以下に示すように、まず、計測用位置指令と計測した応答位置のデータ(サンプリング間隔Δt、データ点数Nの時系列配列)をそれぞれ周波数解析(フーリエ変換)して比をとることで、位置閉ループの周波数応答関数Gp_closed(複素数配列)を算出する。
Θref[N]:計測用位置指令をフーリエ変換した複素数配列
Θact[N]:応答位置をフーリエ変換した複素数配列
Gp_closed[N]=(Θact[N])/(Θref[N])
f[N]=0,1/(Δt・N),2/(Δt・N),3/(Δt・N),…,(N−1)/(Δt・N) f:周波数
次に、以下の通り、位置閉ループの特性Gp_closedから、位置開ループGp_openの特性を求める。
Gp_open[N]=(Gp_closed[N])/(1−Gp_closed[N])
次に、計測時の制御パラメータの値から、計測時の位置制御器31の特性Cpを求める。
そして、位置開ループ特性Gp_openから位置制御器31の特性と積分の項(1/s)を除し、速度閉ループの特性を求める。
Gv_ closed[N]=(Gp_ open[N])/(Cp/s)
次に、以下の通り、速度閉ループの特性Gv_closedから、計測時のサーボドライバ2の速度制御器32の特性(Cv)を除すことにより、計測対象Gv_measureの周波数応答関数Pを求める。
Gv_open[N]=(Gv_closed[N])/(1−Gv_closed[N])
P[N]=(Gv_open[N])/Cv[N]
以上により、計測対象Gpv_measureの周波数応答関数Pが求められる。
このように、本実施形態では、負荷装置4を動作して得た計測結果を用いて負荷装置4を含む計測対象の周波数応答関数を求める。そして、これを用いて以下に示すシミュレーションを実行するので、精度の高いシミュレーションを実行することができる。また、負荷装置4を含む計測対象の特性(周波数応答関数)は、計測結果から求めることができるため、負荷装置4の特性を求めるための特別な知識がユーザ5になくてもシミュレーションを実行することができる。
〔シミュレーション部23における処理の詳細〕
次に、図8を参照してシミュレーション部23における処理の詳細を説明する。図8は、本実施形態に係る設定装置1におけるシミュレーションの内容を説明するための図である。
図2に示すように、シミュレーション部23は、周波数伝達関数設定部40、インパルス応答算出部41、シミュレーション系42、第2指令値生成部43、時間応答出力部44、および周波数応答出力部45を含む。
周波数伝達関数設定部40は、周波数応答関数算出部53が算出した周波数応答関数から、または当該周波数応答関数とシミュレーション用の制御パラメータに基づいてシミュレーションに用いる周波数伝達関数であるシミュレーション用周波数伝達関数を設定する。
インパルス応答算出部41は、周波数伝達関数設定部40が設定したシミュレーション用周波数伝達関数のインパルス応答を算出する。
シミュレーション系42は、シミュレーション対象のモデル構造を含む系である。シミュレーション系42の詳細については後述する。
第2指令値生成部43は、シミュレーション用の指令値である第2指令値を生成する。
時間応答出力部44は、時間応答シミュレーションを実行し、シミュレーション結果である時間応答を出力する。
周波数応答出力部45は、シミュレーション結果である周波数応答を出力する。
〔シミュレーション系の基本構造〕
まず、図8(a)を参照して、シミュレーション系の基本構造(制御ブロック構造)について説明する。図8(a)に示すように、シミュレーション系の基本構造は、機械系7に対応し、モデル位置制御器31’、モデル速度制御器32’、モデル電流制御器33’、および機械モデル部34’を含む。
モデル位置制御器31’は、サーボドライバ2の位置制御器31に対応し、モデル速度制御器32’は、サーボドライバ2の速度制御器32に対応し、モデル電流制御器33’は、サーボドライバ2の電流制御器33に対応し、機械モデル部34’は、制御対象6に対応する。
シミュレーション系の基本構造では、サーボドライバ2と同様に、モデル位置制御器31’に位置指令(Pcmd)が入力されて速度指令(vcmd)を出力し、モデル速度制御器32’には速度指令が入力されてトルク指令(τcmd)を出力し、モデル電流制御器33’にはトルク指令が入力されて電流指令(ccmd)を出力する。そして、機械モデル部34’に電流指令が入力され、速度(vsim)と位置(psim)とがシミュレーション結果として出力される。
〔シミュレーション−0〕
シミュレーション−0では、図8(b)に示すように、図8(a)に示す基本構造の全体(モデル位置制御器31’、モデル速度制御器32’、モデル電流制御器33’および機械モデル部34’)を逆フーリエ変換の対象(第1周波数伝達関数)としてシミュレーションを行う。具体的には、以下の通りである。
まず、上述した周波数特性算出部22の処理により、負荷装置4を含む制御対象6の周波数応答関数Pを求める。次に、制御器の特性としての周波数伝達関数(Cp、Cv)を制御対象6の周波数応答関数Pに乗じることにより、速度開ループの周波数伝達関数Gv_open、および速度閉ループの周波数伝達関数Gv_closedを求める。ここで、周波数伝達関数(Cp、Cv)は、シミュレーション用の制御パラメータにより表現されるものである。すなわち、周波数伝達関数Cpは、シミュレーション系のモデル位置制御部31’の特性を示す周波数伝達関数であり、シミュレーション用の制御パラメータであるシミュレーション用位置比例ゲインKpp_simが設定される。すなわち、周波数伝達関数Cpは、定数となる関数である 。また、周波数伝達関数Cvは、シミュレーション系のモデル速度制御部32’の特性を示す周波数伝達関数であり、シミュレーション用の制御パラメータであるシミュレーション用速度比例ゲインKvp_simが設定される。また、モデル速度制御部32’がPI制御を行う場合には、モデル速度制御部32’には、シミュレーション用速度比例ゲインKvp_simに加え、シミュレーション用速度積分ゲインKvi_simにより表現される。このとき、周波数伝達関数Cvは、Kvp_sim×(1+Kvi_sim/2)(ラプラス演算子sの関数)として表される。さらに、位置開ループの周波数伝達関数Gp_open、および位置閉ループの周波数伝達関数Gp_closedを求める。
Gv_open=Cv・P
Gv_closed=(Gv_open)/(1+Gv_open)
Gp_open=Cp・Gv_closed・1/s (sは伝達関数の変数)
Gp_closed=(Gp_open)/(1+Gp_open)
次に、位置閉ループの周波数伝達関数Gp_closedを逆フーリエ変換して、インパルス応答gimpを求める。これは位置のインパルス指令に対する位置の応答を意味する。
gimp=IFFT(Gp_closed)
次に、位置指令(時系列配列pcmd)に対する位置の応答(時系列配列psim)を、以下の計算で求める。なお、これはインパルス応答gimpの畳み込みを行っていることになる。
FOR m=0からシミュレーションしたい長さの分繰り返し DO
FOR n=0からgimpの長さの分(N)だけ繰り返し DO
psim[m+n]=psim[m+n]+pcmd[m]・gimp[n]
END FOR
END FOR
以上により、図8(a)に示す基本構造全体を周波数伝達関数に置換してシミュレーションすることができる。
これにより、制御パラメータを変更しながら機械系7の応答(位置応答、時間応答)をシミュレーションによって得ることができ、制御パラメータを変更して、都度、実際にモータ3を駆動して負荷装置4を動作させて応答を確認する必要がなくなる。
〔シミュレーション−1〕
シミュレーション−1では、上述したシミュレーション−0よりも、以下の点が優れている。
周波数特性算出部22が、検出した結果から求めた負荷装置4を含む制御対象6の周波数応答関数には、低域の情報が十分には含まれていない。そのため、この算出結果を用いて、逆フーリエ変換を行って求めた時系列データは、低域成分に誤差を多く含むものとなってしまう。特に直流成分は定常偏差として表れるため明らからな誤差となってしまう。なお、計測時間を長めにすることにより、低域の情報を多く得ることは可能であるが、使い勝手が悪くなり、ユースケース上望ましくない。
また、シミュレーション−0では、速度指令vcmdが表れず、速度指令vcmdに速度フィードフォワードを加算する構成のシミュレーションをすることはできない。
そこで、シミュレーション−1では、応答位置をフィードバックして指令位置と応答位置との位置偏差を算出し、これを用いて、周波数伝達関数を逆フーリエ変換して得たインパルス応答を畳み込み、応答速度を算出し、算出した応答速度を積分して応答位置を算出することによってシミュレーションを実行している。これにより、応答位置をフィードバックして位置偏差を算出するので、低域成分の誤差が補正され、精度の高いシミュレーションを実行することできる。
より詳細に、図8(c)を参照して、説明する。図8(c)は、シミュレーション−1の内容を説明するための図である。図8(c)に示すように、シミュレーション−1では、シミュレーション系の基本構造のうち、モデル速度制御器32’、モデル電流制御器33’、および機械モデル部34’を逆フーリエ変換の対象としてシミュレーションを行う。そして、モデル位置制御器31’が、位置指令pcmdと位置指令pcmdに対応する応答位置psimとの位置偏差から速度指令vcmdを算出し、算出された速度指令vcmdから、第2周波数伝達関数を用いて応答速度vsimを算出し、算出された応答速度vsimから応答位置psimを算出する。なお、ここでは、算出された速度指令vcmdが、位置指令pcmd(第2指令値)がシミュレーション系に入力されて出力された出力値に対応する。
具体的には、以下のように算出する。なお、シミュレーションしたいパラメータを入力後のモデル速度制御器32’の特性をCvとする。
まず、周波数伝達関数設定部40は、Cvを、周波数特性算出部22が算出した、負荷装置4を含む制御対象6の周波数応答関数Pに乗じて、速度開ループの周波数伝達関数Gv_open、および速度閉ループの周波数伝達関数Gv_closedを求める。
Gv_open[N]=Cv[N]・P[N]
Gv_closed[N]=(Gv_open[N])/(1+Gv_open[N])
次に、インパルス応答算出部41は、速度閉ループの周波数伝達関数Gv_closedを、以下のように逆フーリエ変換して、インパルス応答gimpを求める。これは速度のインパルス指令に対する速度の応答を意味する。
gimp[N]=IFFT(Gv_closed[N])
次に、シミュレーション部23は、位置指令(時系列配列pcmd)に対する位置の応答(時系列配列psim)および速度の応答(時系列配列vsim)を、以下の計算で求める。これはインパルス応答gimpの畳み込みを行っていることになる。なお、vcmdは、モデル位置制御器31’から出力される。
FOR m=0からシミュレーションしたい長さの分繰り返し DO
perr=pcmd[m]−psim[m−1] … 位置偏差perrを算出
vcmd=Kpp・perr
FOR n=0からgv_impの長さの分(N)だけ繰り返し DO
vsim[m+n]=vcmd・gimp[n] … 畳み込み
ENDFOR
psim[m] =psim[m−1]+vsim[m]・Δt … 速度を積分して位置を算出
ENDFOR
ここで、Kppは位置比例ゲイン(制御パラメータ)、 Δtは周波数応答計測時のサンプリング間隔である。
以上のように、シミュレーション−1では、図8(a)に示す基本構造のうち、モデル速度制御器32’、モデル電流制御器33’、および機械モデル部34’を逆フーリエ変換の対象とし、位置偏差を用いてシミュレーションを実行している。
そして、位置偏差を用いることにより、負荷装置4を含む制御対象6の周波数応答関数に含まれる低域成分の誤差を減少させていくことができるので、シミュレーション−0と比較して、より正確なシミュレーションを実行することができる。
また、速度開ループの周波数伝達関数(Gv_open)、速度閉ループの周波数伝達関数(Gv_closed)をそのままボード線図として出力することにより、速度開ループや速度閉ループの周波数応答をシミュレーションすることができる。
〔変形例〕
モデル速度制御器32’のパラメータを変更せずにシミュレーションを繰り返す場合、速度閉ループの特性(周波数伝達関数)Gv_closedが一定になる。そこで、前述した算出方法−2により、速度閉ループの特性(周波数伝達関数)Gv_closedを求め、求めた速度閉ループの特性(周波数伝達関数)Gv_closedを用いて、gimpを求めてシミュレーションを実行する。これは、例えば、位置制御器31のパラメータのみを変更する場合、位置指令のみを変更する場合に有用である。
〔設定装置1において制御パラメータを設定する処理の流れ〕
次に、図4を参照して、設定装置1において制御パラメータを調整(設定)する処理の流れを説明する。図4は、設定装置1における処理の流れを示すフローチャートである。
図4に示すように、制御パラメータの調整処理では、大きな流れとして、初期設定ステップで初期設定を行い(S1)、周波数応答関数算出ステップで周波数応答関数を算出し(S2)、時間応答シミュレーション実行ステップで時間応答シミュレーションを実行し(S3)、実機応答確認ステップで実機の応答を確認する(S4)。
ステップS1の初期設定ステップでは、パラメータ設定部21が周波数応答計測用の制御パラメータをサーボドライバ2に設定する(S1−1)。
ステップS2の周波数応答関数算出ステップでは、まず、周波数特性算出部22の計測用トルク指令生成部51、計測用速度指令生成部52、および計測用位置指令生成部54の少なくとも何れかが周波数応答計測用の指令値(第1指令値)を生成する(S2−1)。
次に、周波数特性算出部22は、取得部25を介して、周波数応答を計測する(S2−2)。
次に、周波数特性算出部22は、制御対象6の特性を含む計測対象の周波数応答関数を算出する(S2−3)。
ステップS3の時間応答シミュレーション実行ステップでは、まず、パラメータ設定部21がシミュレーション用の制御パラメータを設定する(S3−1)。
次に、周波数伝達関数設定部40は、ステップS2−3で算出した周波数応答関数、または、当該周波数応答関数とシミュレーション用の制御パラメータとに基づいて算出される周波数伝達関数を、シミュレーション用周波数伝達関数として設定する(S3−2)。
次に、インパルス応答算出部41は、ステップS3−2で設定したシミュレーション用周波数伝達関数のインパルス応答を算出する(S3−3)。
次に、第2指令値生成部43は、シミュレーション用の指令値(第2指令値)を生成する(S3−4)。
次に、時間応答出力部44は、ステップS3−4で生成された第2指令値とステップS3−3で算出したインパルス応答とを用いて時間応答シミュレーションの実行し、結果を出力する(S3−5)。
シミュレーションの実行結果は、表示部12に、例えば図9に示すような形で表示される。図9は、シミュレーション結果の表示例を示す図である。図9に示す例では、横軸が時間(t)、縦軸が位置(p)または速度(v)のグラフで、指令(位置指令、速度指令)とシミュレーションによる応答結果とが重畳してプロットされて表示されている。これにより、当該制御パラメータにおける指令と応答結果との対応関係を容易に認識できる。
そして、出力された時間応答シミュレーションの結果が良好であれば(S3−6でYES)、ステップS4に進み、良好でなければ(S3−6でNO)、ステップS3−1に戻り、ステップS3を繰り返す。
ステップS4の実機械応答確認ステップでは、まず、ステップS3−6で応答状態が良好と判定されたときの制御パラメータをサーボドライバ2に設定する(S4−1)。
次に、設定された制御パラメータにて機械系7を動作させ、応答を計測する(S4−2)。
そして、計測した応答が良好であれば(S4−3でYES)、制御パラメータの調整を終了する。一方、計測した応答が良好でなければ(S4−3でNO)、ステップS2−2に戻る。
以上のように、本実施形態では、サーボドライバ2の制御パラメータ(位置ゲイン、速度ゲイン、およびフィルタのカットオフ周波数等)を調整するために、速度制御や位置制御の時間応答をシミュレーションしてユーザに示すことができる。これにより、ユーザ5は、設定した制御パラメータを用いたときの時間応答をシミュレーションにより随時確認することができ、実際に負荷装置4を繰り返し動作させることなく短時間で安全に調整を行うことができる。
なお、上述した制御パラメータの設定処理においては、初期応答ステップS1、周波数応答関数算出ステップS2、時間応答シミュレーション実行ステップS3、実機応答確認ステップS4の4つのステップを設けたが、実機応答確認ステップS4は行わなくても、制御パラメータの設定処理は可能である。すなわち、モータ3および負荷装置4の周波数応答を計測した結果を用いたシミュレーションにより、制御対象6の特性を精確に反映したシミュレーションが可能であるため、実機応答確認ステップS4を実行せずとも、制御パラメータの設定を完了してよい。
〔実施形態2〕
〔シミュレーション−2〕
本発明の他の実施形態について、図8(d)に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
図8(d)に示すように、本実施形態では、シミュレーションの基本構造のうち、モデル電流制御器33’および機械モデル部34’を1つのシミュレーション用周波数伝達関数(第3周波数伝達関数)に置換してシミュレーションを実行する。
すなわち、シミュレーション−2では、応答位置をモデル位置フィードバックループ31b’により、モデル位置制御器31’にフィードバックして位置指令(pcmd)とモデル応答位置(psim)との位置偏差を算出し、これを用いてモデル位置制御器31’は速度指令(vcmd)を生成する。そして、モデル速度制御器32’は、速度指令と、モデル速度フィードバックループ32b’によりフィードバックされたモデル速度応答(vsim)との速度偏差からトルク指令(τcmd)を生成する。そして、トルク指令と、第3周波数伝達関数とから、応答速度を算出し、算出した応答速度を積分して応答位置を算出することによってシミュレーションを実行する。これにより、応答速度、応答位置をフィードバックして、速度偏差、位置偏差を算出するので、低域成分の誤差が補正され、精度の高いシミュレーションを実行することできる。
なお、モデル速度制御器32’、第3周波数伝達関数P(35c’)、およびモデル速度フィードバックループ32b’を含む系をモデル速度フィードバック系(モデルフィードバック系)32a’と呼ぶ。また、モデル速度フィードバック系32a’とモデル速度制御器32’、モデル位置フィードバックループ31b’を含む系をモデル位置フィードバック系(モデルフィードバック系)31a’と呼ぶ。
具体的には、シミュレーションの実行方法は、以下の通りである。シミュレーション部23は、周波数伝達関数Pを、以下のように逆フーリエ変換して、インパルス応答gimpを求める。これはトルクのインパルス指令に対する速度の応答を意味する。
gimp[N]=IFFT(P[N])
次に、シミュレーション部23は、位置指令(時系列配列pcmd)に対する位置の応答(時系列配列psim)および速度の応答(時系列配列sim)を、以下の計算で求める。これはインパルス応答gimpの畳み込みを行っていることになる。なお、vcmdは、モデル位置制御器31’から出力され、τcmdはモデル速度制御器32’から出力される。
FOR m=0からシミュレーションしたい長さの分繰り返し DO
perr=pcmd[m]−psim[m−1] … 位置偏差perrを算出
vcmd=Kpp・perr
verr=vcmd−vsim[m−1] … 速度偏差verrを算出
τcmd=Kvp・verr
FOR n=0からgv_impの長さの分(N)だけ繰り返し DO
vsim[m+n]=τcmd・gimp[n] … 畳み込み
ENDFOR
psim[m]=psim [m−1]+vsim[m]・Δt … 速度を積分して位置を算出
ENDFOR
ここで、実施形態1と同様に、Kppは位置比例ゲイン(制御パラメータ)、 Δtは周波数応答計測時のサンプリング間隔であり、Kvpは、速度比例ゲイン(制御パラメータ)である。
以上のように、本実施形態では、シミュレーション系の基本構造のうち、モデル電流制御器33’、および機械モデル部34’の周波数伝達関数(P)を逆フーリエ変換の対象とし、位置偏差および速度偏差を用いてシミュレーションを実行している。
そして、位置偏差および速度偏差を用いることにより、周波数伝達関数Pに含まれる低域成分の誤差を減少させていくことができるので、シミュレーション−0と比較して、より正確なシミュレーションを実行することができる。
さらに、シミュレーション−1と比較しても、以下の効果を奏する。トルクフィードフォワード(モデル電流制御器33’に対し、トルク指令にフィードフォワードを加えたものを入力とする)を含む構成をシミュレーションを実行することが可能となる。シミュレーション−1では、トルク指令τcmdが表れず、トルク指令τcmdにトルクフィードフォワードを加算することができないためである。なお、フィードフォワードの構成については、実施形態3として以下に記載する。
また、モデル電流制御器33’の制御パラメータは変更せずに、モデル位置制御器31’およびモデル速度制御器32’の制御パラメータのみを変更するようなシミュレーションを実行する場合、P(モデル電流制御器33’と機械モデル部34’とを含む系の周波数伝達関数)は変化しないため、処理量を軽減することができる。計算量の多い逆フーリエ変換を再計算する必要が無いためである。
〔シミュレーション−2に対するシミュレーション−1の利点〕
ここで、シミュレーション−2に対するシミュレーション−1の利点を図10、11を参照して説明する。図10および11は、シミュレーション−1の利点を説明するための図である。
図10は、一般的な、一次遅れ要素のインパルス応答を示す図である。図10において、Tは時定数である。図10に示すように、インパルス応答は時間経過とともに収束していく。
ここで、簡易的にP=1/(Js+D)(イナーシャJ、粘性摩擦係数Dの単慣性)とすると、
シミュレーション−2:P=1/(Js+D) →時定数J/D
シミュレーション−1:Gv_closed=Cv・P/(1+Cv・P)=Kvp/(Js+D+Kvp) →時定数J/(D+Kvp)
となる。
したがって、シミュレーション−2のほうが、時定数が大きい。このため、インパルス応答の収束までが長くなることになる。したがって、データ点数Nの時点で、シミュレーション−1の場合は、インパルス応答が収束しているが(図11(a)参照)、シミュレーション−2の場合は、インパルス応答が収束していない(図11(b)参照)ということが起こりうる。この場合、シミュレーション−2において、データ点数N以降のインパルス応答を無視する結果となり誤差が大きくなってしまう(図11(b)参照)。
したがって、インパルス応答が短時間で0(零)に収束した方、すなわちシミュレーション−1の方が、短い計測データでシミュレーションを実行することができる。なお、摩擦Dが小さい制御対象ほど、時定数の差は大きくなり、計測データの点数の差は顕著になる。
〔実施形態3〕
〔シミュレーション−3〕
本発明のさらなる他の実施形態について、図12に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。図12は、本実施形態におけるシミュレーション−3の内容を説明するための図である。図12に示すように、本実施形態では、シミュレーション−2の構成にフィードフォワードを追加した構成である。
まず、図12(a)を参照して、フィードフォワード器を設けたサーボドライバ2の制御構造を説明する。図12(a)に示すように、サーボドライバ2の制御構造にフィードフォワード部37を設ける場合、フィードフォワード部37は、位置指令の入力を受け付けフィードフォワード速度を位置制御器31の速度指令に加えられるように出力するとともに、フィードフォワードトルクを速度制御器32の出力であるトルク指令に加えることができるように出力する。
よって、フィードフォワードを含むサーボドライバ2のシミュレーションを実行するシミュレーション系の構造は、図12(b)に示すように、フィードフォワード部37に対応するモデルフィードフォワード部110を設け、モデルフィードフォワード部110が位置指令(pcmd)の入力を受け付け、モデルフィードフォワード速度vff、およびモデルフィードフォワードトルクτffを出力する。なお、モデルフィードフォワード部110を含む系をフィードフォワード系と呼ぶ。
図12(c)を参照して、モデルフィードフォワード部110を含む場合のシミュレーションについて説明する。なお、インパルス応答gimpを求めるところまでは実施形態2のシミュレーション−1と同様である。
インパルス応答gimpを求めた後、位置指令(時系列配列pcmd)に対する位置の応答(時系列配列psim)および速度の応答(時系列配列sim)を、以下の計算で求める。これはインパルス応答gimpの畳み込みを行っていることになる。
FOR m=0からシミュレーションしたい長さの分繰り返し DO
perr=pcmd[m]−psim[m−1] … 位置偏差perrを算出
pcmdからvffを求める
vcmd=Kpp・perr+vff
verr=vcmd−vsim[m−1] … 速度偏差verrを算出
pcmd、およびvcmdからτffを求める
τcmd=Kvp・verr+τff
FOR n=0からgv_impの長さの分(N)だけ繰り返し DO
vsim[m+n]=τcmd・gimp[n] … 畳み込み
ENDFOR
psim[m]=psim[m−1]+vsim[m]・Δt … 速度を積分して位置を算出
ENDFOR
これにより、フィードフォワードを用いて、シミュレーションを実行することができる。また、一般にゲインスケジュールと呼ばれる、モータ動作中にゲイン(位置ゲイン、速度ゲイン:制御パラメータ)を変更する場合もシミュレーションすることができる。
なお、速度指令vcmdにのみフィードフォワードを加算する構成であれば、上述した実施形態1のシミュレーション−1の構成に、フィードフォワードの構成を加えたものでもよい。
〔変形例〕
なお、前述したモデルフィードフォワード部110を設けずに、図13に示すように、フィードフォワード値を独立したブロック(フィードフォワード部110’)が生成する構成であってもよい。この場合の計算方法は以下の通りである。
まず、フィードフォワード部110’において、フィードフォワード値を時系列配列vff[m]、τff[m]として用意しておく。そして、以下の計算を行う。
FOR m=0からシミュレーションしたい長さの分繰り返し DO
perr=pcmd[m]−psim[m−1]
vcmd=Kpp・perr+vff 速度指令vcmdにフィードフォワードvffを加算
verr=vcmd−vsim[m−1]
τcmd=Kvp・verr+τff トルク指令τcmdにフィードフォワードτffを加算
FOR n=0からgimpの長さの分(N)だけ繰り返し DO
vsim[m+n]=vsim[m+n]+τcmd・gimp[n]
ENDFOR
psim[m]=psim[m−1]+vsim[m]・Δt
ENDFOR
〔実施形態4〕
次に、図14を参照して、速度制御シミュレーションについて説明する。図14は、シミュレーションの内容を説明するための図である。
図14(a)は、速度制御を行う場合の機械系7の制御構造を示している。図14(a)に示すように、速度制御では、サーボドライバ2における速度制御器32、電流制御器33、および機械系7の制御対象6が含まれ、速度指令と検出速度との速度偏差が速度制御器32に入力される構成となっている。
次に、図14(b)を参照して、速度制御のシミュレーションを行う場合のシミュレーション系の構造を説明する。図14(b)に示すように、シミュレーション系では、図14(a)に示した機械系7の制御構造に対応して、モデル速度制御器32’、モデル電流制御器33’、機械モデル部34’を含む構造となっている。
〔シミュレーション−4〕
まず、図13(c)を参照して、シミュレーション−4について説明する。シミュレーション−4では、シミュレーション系のモデル速度制御器32’、モデル電流制御器33’、および機械モデル部34’を1つのシミュレーション用周波数伝達関数(第2周波数伝達関数Gv_closed)に置換してシミュレーションを実行する。
具体的な計算方法は、以下の通りである。
前述したシミュレーション−1と同様に、周波数伝達関数Gv_closedを逆フーリエ変換して、インパルス応答gimpを求める。これは速度のインパルス指令に対する速度の応答を意味する。
gimp[N]=IFFT(Gv_closed[N])
そして、速度指令(時系列配列vcmd)に対する位置の応答(時系列配列psim)および速度の応答(時系列配列vsim)を、以下の計算で求める。
FOR m=0からシミュレーションしたい長さの分繰り返し DO
FOR n=0からgv_impの長さの分(N)だけ繰り返し DO
vsim[m+n]=vsim[m+n]+vcmd・gimp[n] … 畳み込み
ENDFOR
psim[m] =psim[m−1]+vsim[m]・Δt … 速度を積分して位置を算出
ENDFOR
〔シミュレーション−5〕
次に、図13(d)を参照して、シミュレーション−5について説明する。シミュレーション−5では、シミュレーション系のモデル電流制御器33’、および機械モデル部34’を1つのシミュレーション用周波数伝達関数(第3周波数伝達関数P)に置換してシミュレーションを実行する。
具体的な計算方法は、以下の通りである。
前述したシミュレーション−2と同様に、周波数伝達関数Pを逆フーリエ変換して、インパルス応答gimpを求める。これはトルクのインパルス指令に対する速度の応答を意味する。
gimp[N]=IFFT(P[N])
そして、速度指令(時系列配列vcmd)に対する位置の応答(時系列配列psim)および速度の応答(時系列配列vsim)を、以下の計算で求める。
FOR m=0からシミュレーションしたい長さの分繰り返し DO
verr=vcmd[m]−vsim[m−1] … 速度偏差verrを算出
τcmd=Kpp・verr
FOR n=0からgimpの長さの分(N)だけ繰り返し DO
vsim[m+n]=vsim[m+n]+vcmd・gimp[n] … 畳み込み
ENDFOR
psim[m] =psim[m−1]+vsim[m]・Δt … 速度を積分して位置を算出
ENDFOR
〔実施形態5〕
〔シミュレーション−6〕
次に、図15を参照して、トルク制御シミュレーションについて説明する。図15は、トルク制御シミュレーションの内容を説明するための図である。
図15(a)を参照して、トルク制御を行う場合の、機械系7の制御構造を説明する。図15(a)に示すように、トルク制御を行う場合、電流制御器33および制御対象6を含む制御構造となり、トルク指令が電流制御器33入力され、電流指令を制御対象6へ出力している。
次に、図15(b)を参照して、トルク制御のシミュレーションを行う場合のシミュレーション系の構造を説明する。図15(b)に示すように、シミュレーション系では、図15(a)に示した機械系7の制御構造に対応して、モデル速度制御器32’、モデル電流制御器33’、機械モデル部34’を含む構造となっている。
図15(c)を参照して、シミュレーション−6について説明する。シミュレーション−6では、シミュレーション系のモデル電流制御器33’、および機械モデル部34’を1つのシミュレーション用周波数伝達関数(第3周波数伝達関数P)に置換してシミュレーションを実行する。
具体的な計算方法は、以下の通りである。
前述したシミュレーション−2と同様に、周波数伝達関数Pを逆フーリエ変換して、インパルス応答gimpを求める。これはトルクのインパルス指令に対する速度の応答を意味する。
gimp[N]=IFFT(P[N])
そして、速度指令(時系列配列vcmd)に対する位置の応答(時系列配列psim)および速度の応答(時系列配列sim)を、以下の計算で求める。
FOR m=0からシミュレーションしたい長さの分繰り返し DO
FOR n=0からgv_impの長さの分(N)だけ繰り返し DO
vsim[m+n]=vsim[m+n]+τcmd・gimp[n] … 畳み込み
ENDFOR
psim[m]=psim [m−1]+vsim[m]・Δt … 速度を積分して位置を算出
ENDFOR
〔ソフトウェアによる実現例〕
設定装置1の制御ブロック(特に制御部10(パラメータ設定部21、周波数特性算出部22(計測用トルク指令生成部51、計測用速度指令生成部52、周波数応答関数算出部53、計測用位置指令生成部54))、シミュレーション部23(周波数伝達関数設定部40、インパルス応答算出部41、シミュレーション系42、第2指令値生成部43、時間応答出力部44、周波数応答出力部45)、動作指示部24、および取得部25)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
後者の場合、設定装置1は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、前記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、前記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が前記プログラムを前記記録媒体から読み取って実行することにより、本発明の目的が達成される。前記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、前記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して前記コンピュータに供給されてもよい。なお、本発明は、前記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
1 設定装置(シミュレーション装置)
2 サーボドライバ
3 モータ
4 負荷装置
5 ユーザ
6 制御対象
7 機械系
10 制御部
11 操作受付部
12 表示部
21 パラメータ設定部
22 周波数特性算出部
23 シミュレーション部
24 動作指示部
25 取得部
31 位置制御器
31’ モデル位置制御器
31a’ モデル位置フィードバック系
31b’ モデル位置フィードバックループ
32 速度制御器
32’ モデル速度制御器
32a’ モデル速度フィードバック系
32b’ モデル速度フィードバックループ
33 電流制御器
33’ モデル電流制御器
34’ 機械モデル部
35c’ 第3周波数伝達関数
37 フィードフォワード部
40 周波数伝達関数設定部
41 インパルス応答算出部
42 シミュレーション系
43 第2指令値生成部
44 時間応答出力部
45 周波数応答出力部
51 計測用トルク指令生成部
52 計測用速度指令生成部
53 周波数応答関数算出部
54 計測用位置指令生成部
100 制御システム
110 モデルフィードフォワード部

Claims (14)

  1. モータを含む制御対象と、前記モータを制御するモータ制御装置と、を有する機械系のシミュレーションを行うシミュレーション装置であって、
    前記機械系を駆動させるための第1指令値と、前記第1指令値によって駆動された前記機械系の応答の計測値と、の関係に基づいて、前記制御対象の特性を含む周波数応答関数を算出する周波数応答関数算出部と、
    前記機械系に対応した制御ブロック構造を有するシミュレーション系と、
    前記シミュレーション系の特性を変更させる制御パラメータを設定するパラメータ設定部と、
    前記周波数応答関数、または、前記周波数応答関数と前記制御パラメータとに基づいて算出される周波数伝達関数を、シミュレーション用周波数伝達関数として設定する周波数伝達関数設定部と、
    前記シミュレーション用周波数伝達関数を逆フーリエ変換することにより、インパルス応答を算出するインパルス応答算出部と、
    前記インパルス応答を用いたシミュレーションのための第2指令値を生成する第2指令値生成部と、
    前記第2指令値と前記インパルス応答とに基づいて、前記第2指令値に対する前記機械系の時間応答シミュレーションを実行する時間応答出力部と、を備えることを特徴とするシミュレーション装置。
  2. 前記機械系は、制御ブロック構造として、少なくとも1つのフィードバック系を有するものであり、
    前記シミュレーション系は、前記フィードバック系に対応した少なくとも1つのモデルフィードバック系を有するものであり、
    前記周波数応答関数算出部は、前記制御対象の特性を含み、かつ、前記少なくとも1つのフィードバック系の特性を含まない前記周波数応答関数を算出し、
    前記周波数伝達関数設定部は、前記制御対象の特性を含み、かつ、前記少なくとも1つのモデルフィードバック系の特性を含まないシミュレーション用周波数伝達関数を設定し、
    前記時間応答出力部は、前記第2指令値を前記モデルフィードバック系に入力して得られた出力値と、前記シミュレーション用周波数伝達関数を逆フーリエ変換することにより算出されたインパルス応答と、に基づいて、前記第2指令値に対する前記機械系の時間応答シミュレーションを実行することを特徴とする請求項1に記載のシミュレーション装置。
  3. 前記シミュレーション系は、前記出力値に加算されるフィードフォワード値を出力するフィードフォワード系を含み、
    前記時間応答出力部は、前記出力値に前記フィードフォワード値を加算した加算値と、前記シミュレーション用周波数伝達関数を逆フーリエ変換することにより算出されるインパルス応答と、に基づいて、前記機械系の時間応答シミュレーションを実行する、ことを特徴とする請求項2に記載のシミュレーション装置。
  4. 前記機械系は、制御ブロック構造として、速度制御器を含む速度フィードバック系を有し、
    前記シミュレーション系は、前記速度フィードバック系に対応するモデル速度フィードバック系を有し、
    前記周波数応答関数算出部は、前記制御対象の特性を含み、かつ、前記速度フィードバック系を含まない周波数応答関数を算出し、
    前記周波数伝達関数設定部は、前記制御対象の特性を含み、かつ、前記モデル速度フィードバック系を含まない前記シミュレーション用周波数伝達関数を設定し、
    前記時間応答出力部は、前記第2指令値を前記モデル速度フィードバック系に入力して得られた出力値と、前記シミュレーション用周波数伝達関数を逆フーリエ変換することにより算出されるインパルス応答と、に基づいて、前記機械系の時間応答シミュレーションを実行することを特徴とする請求項2または3に記載のシミュレーション装置。
  5. 前記機械系は、制御ブロック構造として、位置制御器を含む位置フィードバック系と、前記位置制御器の下流側に配置される速度制御器を含む速度フィードバック系と、を有し
    前記シミュレーション系は、前記位置フィードバック系に対応するモデル位置フィードバック系と、前記速度フィードバック系に対応するモデル速度フィードバック系と、を有し、
    前記周波数応答関数算出部は、前記制御対象の特性を含み、かつ、前記位置フィードバック系と、前記速度フィードバック系とを含まない周波数応答関数を算出し、
    前記周波数伝達関数設定部は、前記制御対象の特性と前記モデル速度フィードバック系とを含み、かつ、前記モデル位置フィードバック系を含まない前記シミュレーション用周波数伝達関数を設定し、
    前記時間応答出力部は、前記第2指令値を前記モデル位置フィードバック系に入力して得られた出力値と、前記シミュレーション用周波数伝達関数を逆フーリエ変換することにより算出されるインパルス応答と、に基づいて、前記機械系の時間応答シミュレーションを実行することを特徴とする請求項2に記載のシミュレーション装置。
  6. 前記機械系は、制御ブロック構造として、位置制御器を含む位置フィードバック系と、前記位置制御器の下流側に配置される速度制御器を含む速度フィードバック系と、を有し
    前記シミュレーション系は、前記位置フィードバック系に対応するモデル位置フィードバック系と、前記速度フィードバック系に対応するモデル速度フィードバック系と、を有し、
    前記周波数応答関数算出部は、前記制御対象の特性を含み、かつ、前記位置フィードバック系と、前記速度フィードバック系とを含まない周波数応答関数を算出し、
    前記周波数伝達関数設定部は、前記制御対象の特性を含み、かつ、前記モデル速度フィードバック系と前記モデル位置フィードバック系とを含まない前記シミュレーション用周波数伝達関数を設定し、
    前記時間応答出力部は、前記第2指令値を前記モデル位置フィードバック系に入力して得られた出力値および前記モデル速度フィードバック系の出力値と、前記シミュレーション用周波数伝達関数を逆フーリエ変換することにより算出されるインパルス応答と、に基づいて、前記機械系の時間応答シミュレーションを実行することを特徴とする請求項2または3に記載のシミュレーション装置。
  7. 前記第1指令値はトルクを示すトルク指令値であり、
    前記周波数応答関数算出部は、前記トルク指令値と、前記トルク指令値によって駆動された前記機械系の応答である速度計測値と、の関係に基づいて、前記周波数応答関数を算出することを特徴とする請求項1〜6のいずれか1項に記載のシミュレーション装置。
  8. 前記第1指令値は速度を示す速度指令値であり、
    前記周波数応答関数算出部は、前記速度指令値と、前記速度指令値によって駆動された前記機械系の応答である速度計測値と、の関係に基づいて、前記周波数応答関数を算出することを特徴とする請求項1〜6のいずれか1項に記載のシミュレーション装置。
  9. 前記第1指令値は位置を示す位置指令値であり、
    前記周波数応答関数算出部は、前記位置指令値と、前記位置指令値によって駆動された前記機械系の応答である位置計測値と、の関係に基づいて、前記周波数応答関数を算出することを特徴とする請求項1〜6のいずれか1項に記載のシミュレーション装置。
  10. 前記時間応答出力部は、前記第2指令値に対する前記機械系の位置、速度、およびトルクの少なくとも何れかの時間応答シミュレーションを実行することを特徴とする請求項1〜9のいずれか1項に記載のシミュレーション装置。
  11. 前記パラメータ設定部は、前記シミュレーション系に含まれる、前記機械系における制御器それぞれに対応する系の少なくとも1つの系のパラメータを設定するように構成されていることを特徴とする請求項1〜10のいずれか1項に記載のシミュレーション装置。
  12. モータを含む制御対象と、前記モータを制御するモータ制御装置と、を有する機械系のシミュレーションを行うシミュレーション方法であって、
    前記機械系を駆動させるための第1指令値と、前記第1指令値によって駆動された前記機械系の応答の計測値と、の関係に基づいて、前記制御対象の特性を含む周波数応答関数を算出する周波数応答関数算出ステップと、
    前記機械系に対応した制御ブロック構造を有するシミュレーション系の特性を変更させる制御パラメータを設定するパラメータ設定ステップと、
    前記周波数応答関数、または、前記周波数応答関数と前記制御パラメータとに基づいて算出される周波数伝達関数を、シミュレーション用周波数伝達関数として設定する周波数伝達関数設定ステップと、
    前記シミュレーション用周波数伝達関数を逆フーリエ変換することにより、インパルス応答を算出するインパルス応答算出ステップと、
    前記インパルス応答を用いたシミュレーションのための第2指令値を生成する第2指令値生成ステップと、
    前記第2指令値と前記インパルス応答とに基づいて、前記第2指令値に対する前記機械系の時間応答シミュレーションを実行する時間応答出力ステップと、を含むことを特徴とするシミュレーション方法。
  13. 請求項1に記載のシミュレーション装置としてコンピュータを機能させるための制御プログラム。
  14. 請求項13に記載の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2016049315A 2016-03-14 2016-03-14 シミュレーション装置、シミュレーション方法、制御プログラム、および記録媒体 Active JP6409803B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2016049315A JP6409803B2 (ja) 2016-03-14 2016-03-14 シミュレーション装置、シミュレーション方法、制御プログラム、および記録媒体
EP17151923.4A EP3220216B1 (en) 2016-03-14 2017-01-18 Method and device for simulation of a mechanical system
US15/409,541 US10909277B2 (en) 2016-03-14 2017-01-19 Simulation device, simulation method, control program and recording medium
CN201710045352.2A CN107193219B (zh) 2016-03-14 2017-01-20 仿真装置、仿真方法、控制程序以及记录介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016049315A JP6409803B2 (ja) 2016-03-14 2016-03-14 シミュレーション装置、シミュレーション方法、制御プログラム、および記録媒体

Publications (2)

Publication Number Publication Date
JP2017167592A true JP2017167592A (ja) 2017-09-21
JP6409803B2 JP6409803B2 (ja) 2018-10-24

Family

ID=57850929

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016049315A Active JP6409803B2 (ja) 2016-03-14 2016-03-14 シミュレーション装置、シミュレーション方法、制御プログラム、および記録媒体

Country Status (4)

Country Link
US (1) US10909277B2 (ja)
EP (1) EP3220216B1 (ja)
JP (1) JP6409803B2 (ja)
CN (1) CN107193219B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020003738A1 (ja) * 2018-06-26 2020-01-02 日本電産株式会社 制御パラメータ調整方法および制御パラメータ調整装置

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180187608A1 (en) * 2017-01-04 2018-07-05 General Electric Company Method for loop gain sizing of gas turbines
US10704427B2 (en) 2017-01-04 2020-07-07 General Electric Company Method to diagnose power plant degradation using efficiency models
JP6497401B2 (ja) * 2017-03-09 2019-04-10 オムロン株式会社 シミュレーション装置、シミュレーション方法、及びシミュレーションプログラム
US11086281B2 (en) 2017-11-14 2021-08-10 Rockwell Automation Technologies, Inc. Method and apparatus for online simulation of complex motion systems
US10613511B2 (en) * 2017-12-22 2020-04-07 Industrial Technology Research Institute Tool machine servo control simulation device and establishing method of structure model
CN109960832A (zh) * 2017-12-22 2019-07-02 财团法人工业技术研究院 调机方法及其调机系统暨仿真单元与仿真方法
CN107942734B (zh) * 2017-12-23 2020-10-27 西安交通大学 一种基于动态测试数据的进给系统闭环时域仿真方法
US11054803B2 (en) * 2018-07-13 2021-07-06 Delta Electronics, Inc. Motor drive, production system and method thereof with quality measuring and mechanism diagnosing functions using real and virtual system modules
CN114070165B (zh) * 2021-12-03 2024-06-04 深圳市英威腾电气股份有限公司 一种电机驱动方法、系统、装置及介质
CN116384031A (zh) * 2021-12-24 2023-07-04 武汉市聚芯微电子有限责任公司 一种马达振动效果的仿真方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0783977A (ja) * 1993-09-16 1995-03-31 Ono Sokki Co Ltd 応答特性計測装置
JP2008217055A (ja) * 2007-02-28 2008-09-18 Hitachi Ltd マルチホップ無線システムの電力制御方法およびその電力制御システム
JP2009122779A (ja) * 2007-11-12 2009-06-04 Mitsubishi Electric Corp 制御システムおよび制御支援装置
JP2010051061A (ja) * 2008-08-19 2010-03-04 Dsp Technology Kk サーボ解析機能を備えたシミュレーションシステム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4876494A (en) * 1986-11-20 1989-10-24 Unimation, Inc. Position and velocity feedback system for a digital robot control
JP2755644B2 (ja) * 1989-01-20 1998-05-20 株式会社東芝 制御系の設計方法及び設計支援装置
JPH09269804A (ja) * 1996-03-29 1997-10-14 Aisin Seiki Co Ltd 自動制御系の安定制御装置
JP3451891B2 (ja) * 1997-06-13 2003-09-29 日産自動車株式会社 能動型振動制御装置
US6198246B1 (en) * 1999-08-19 2001-03-06 Siemens Energy & Automation, Inc. Method and apparatus for tuning control system parameters
JP4654493B2 (ja) * 2000-08-08 2011-03-23 株式会社安川電機 電動機制御装置
US6936990B2 (en) 2002-03-29 2005-08-30 Matsushita Electric Industrial Co., Ltd. Method for controlling electric motor and apparatus for controlling the same
US7128032B2 (en) * 2004-03-26 2006-10-31 Bose Corporation Electromagnetic actuator and control
JP2006340480A (ja) 2005-06-01 2006-12-14 Yaskawa Electric Corp モータの制御装置及び制御方法
JP4540727B2 (ja) 2008-07-31 2010-09-08 山洋電気株式会社 モータ制御装置
JP4231544B1 (ja) * 2008-08-22 2009-03-04 山洋電気株式会社 モータ制御装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0783977A (ja) * 1993-09-16 1995-03-31 Ono Sokki Co Ltd 応答特性計測装置
JP2008217055A (ja) * 2007-02-28 2008-09-18 Hitachi Ltd マルチホップ無線システムの電力制御方法およびその電力制御システム
JP2009122779A (ja) * 2007-11-12 2009-06-04 Mitsubishi Electric Corp 制御システムおよび制御支援装置
JP2010051061A (ja) * 2008-08-19 2010-03-04 Dsp Technology Kk サーボ解析機能を備えたシミュレーションシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020003738A1 (ja) * 2018-06-26 2020-01-02 日本電産株式会社 制御パラメータ調整方法および制御パラメータ調整装置

Also Published As

Publication number Publication date
US20170262572A1 (en) 2017-09-14
CN107193219B (zh) 2020-05-19
EP3220216B1 (en) 2021-10-27
CN107193219A (zh) 2017-09-22
EP3220216A1 (en) 2017-09-20
JP6409803B2 (ja) 2018-10-24
US10909277B2 (en) 2021-02-02

Similar Documents

Publication Publication Date Title
JP6409803B2 (ja) シミュレーション装置、シミュレーション方法、制御プログラム、および記録媒体
JP2017167591A (ja) シミュレーション装置、シミュレーション方法、制御プログラム、および記録媒体
JP6583070B2 (ja) 設定支援装置、設定支援方法、情報処理プログラム、および記録媒体
JP5172051B1 (ja) サーボパラメータ調整装置
JP4698656B2 (ja) 制御システムおよび制御支援装置
JP2017102617A (ja) 補正装置、補正装置の制御方法、情報処理プログラム、および記録媒体
US11137728B2 (en) Processing device, control parameter determination method, and non-transitory recording medium storing a control parameter determination program
JPWO2008065836A1 (ja) 電動機制御装置と出力フィルタ調整方法および出力フィルタ調整装置
JP2017129121A (ja) スケーリングファクタを用いてパワー出力/放出パラメータを調節するガスタービンにおける複合確率的制御の応用、関連した制御システム、コンピュータプログラム製品、および方法
JP7159945B2 (ja) 処理装置
US20180059649A1 (en) Simulator linkage device, control method of simulator linkage device, information processing program and recording medium
JP7021147B2 (ja) モータ制御装置及びモータ制御用コンピュータプログラム
WO2020162200A1 (ja) 制御装置および制御プログラム
US11146191B2 (en) Simulation device, simulation method, and simulation program for a motor control device
JP7213729B2 (ja) 制御装置および制御方法
JP5363900B2 (ja) 加振制御方法及び加振制御装置並びに振動試験装置
JP2015103169A (ja) 数値制御装置
JP4801134B2 (ja) 振動試験装置及び振動試験方法
TW202301049A (zh) 預測系統、資訊處理裝置以及資訊處理程式
JP2021143941A (ja) 制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171026

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180822

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180828

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180910

R150 Certificate of patent or registration of utility model

Ref document number: 6409803

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150