(57)【要約】【課題】モータを含む制御対象と、該モータを制御するモータ制御装置と、を有する制御システムのシミュレーションの精度向上を図る。【解決手段】シミュレーション装置において、前向き要素として、制御対象を含む所定の装置側構成に対応する所定の制御ブロック構造を少なくとも有する所定のフィードバック系を含むシミュレーション系と、所定の装置側構成に関するインパルス応答の情報である算出用インパルス応答情報を保持する保持部と、所定の入力値に対する所定の装置側構成の時間応答を、算出用インパルス応答情報と該所定の入力値とを用いた畳み込み積分処理により算出する第１応答算出部と、第１応答算出部により算出される所定の装置側構成の時間応答を用いて、シミュレーション系へ入力される指令値に対する該シミュレーション系の応答を算出する第２応答算出部と、を備える。【選択図】図４
2018151704.tif 000002
【特許請求の範囲】
【請求項１】
モータを含む制御対象と、該モータを制御するモータ制御装置と、を有する制御システムのシミュレーションを行うシミュレーション装置であって、
前向き要素として、前記制御対象を含む所定の装置側構成に対応する所定の制御ブロック構造を少なくとも有する所定のフィードバック系を含むシミュレーション系と、
前記所定の装置側構成に関するインパルス応答の情報である算出用インパルス応答情報を保持する保持部と、
所定の入力値に対する前記所定の装置側構成の時間応答を、前記算出用インパルス応答情報と該所定の入力値とを用いた畳み込み積分処理により算出する第１応答算出部と、
前記第１応答算出部により算出される前記所定の装置側構成の時間応答を用いて、前記シミュレーション系へ入力される指令値に対する該シミュレーション系の応答を算出する第２応答算出部と、
を備える、シミュレーション装置。
【請求項２】
前記第２応答算出部は、前記所定のフィードバック系において、前記所定の装置側構成の時間応答、又は該時間応答から算出される所定の応答結果を前記前向き要素の入力側に帰還させる方式に従い、前記シミュレーション系の応答を算出する、
請求項１に記載のシミュレーション装置。
【請求項３】
前記インパルス応答が、電流指令に対するインパルス応答であって、
前記所定のフィードバック系は速度フィードバック系であり、該所定のフィードバック系における前記前向き要素として、前記所定の制御ブロック及び速度補償に関する速度制御ブロック構造を含み、
前記第２応答算出部は、前記第１応答算出部により算出された速度応答が前記帰還方式に従い前記速度制御ブロック構造に帰還されるようにして、前記シミュレーション系の時間応答を算出する、
請求項２に記載のシミュレーション装置。
【請求項４】
前記インパルス応答が、速度指令に対するインパルス応答であって、
前記所定のフィードバック系は位置フィードバック系であり、前記所定のフィードバック系における前記前向き要素として、前記所定の制御ブロック及び位置補償に関する位置制御ブロック構造を含み、
前記第２応答算出部は、前記第１応答算出部により算出された速度応答に基づく位置応答が前記帰還方式に従い前記位置制御ブロック構造に帰還されるようにして、前記シミュレーション系の時間応答を算出する、
請求項２に記載のシミュレーション装置。
【請求項５】
前記保持部は、前記算出用インパルス応答情報として、複数パターンのインパルス応答情報を保持し、
前記第１応答算出部は、前記制御対象の駆動状態に基づいて、前記保持部が有する複数パターンのインパルス応答情報の中から所定のインパルス応答情報を選択し、該選択された所定のインパルス応答情報と前記所定の入力値とを用いて前記畳み込み積分処理を実行する、
請求項１から請求項４の何れか１項に記載のシミュレーション装置。
【請求項６】
前記複数パターンのインパルス応答情報のそれぞれは、前記制御対象の異なる駆動状態である複数の基準駆動状態に関連付けられ、
前記第１応答算出部は、前記制御対象の駆動状態と、前記複数の基準駆動状態のそれぞれとの相関関係に基づいて、前記所定のインパルス応答情報を選択する、
請求項５に記載のシミュレーション装置。
【請求項７】
前記制御対象は、複数の前記モータにより駆動される駆動対象機械を含み、
前記複数パターンのインパルス応答情報のそれぞれは、前記駆動対象機械の所定部位の状態量に関する、前記複数の基準駆動状態に関連付けられ、
前記第１応答算出部は、前記駆動対象機械の所定部位の状態量と、前記複数の基準駆動状態のそれぞれとの相関関係に基づいて、前記所定のインパルス応答情報を選択する、
請求項６に記載のシミュレーション装置。
【請求項８】
前記保持部は、前記算出用インパルス応答情報として、複数パターンのインパルス応答情報を保持し、
前記第１応答算出部は、前記制御対象の駆動状態に基づいて、前記保持部が有する複数パターンのインパルス応答情報の中から少なくとも２つのインパルス応答情報を選択し、該選択された少なくとも２つのインパルス応答情報から、該制御対象の駆動状態に応じた新たなインパルス応答情報を合成し、該合成された新たなインパルス応答情報と前記所定の入力値とを用いて前記畳み込み積分処理を実行する、
請求項１から請求項４の何れか１項に記載のシミュレーション装置。
【請求項９】
前記保持部は、前記算出用インパルス応答情報として、前記制御対象の異なる駆動状態である複数の基準駆動状態に関連付けられた複数パターンのインパルス応答情報を保持するとともに、該複数パターンのインパルス応答情報及び該複数の基準駆動情報のそれぞれに関連付けられ、且つそれぞれのインパルス応答情報を生成可能な周波数特性情報を保持し、
前記シミュレーション装置は、
前記制御対象の駆動状態と、前記複数の基準駆動状態のうち少なくとも２つの基準駆動状態のそれぞれとの相関関係に基づいて、該少なくとも２つの基準駆動状態に関連付けられた前記周波数特性情報から、該制御対象の駆動状態に対応する新たな周波数特性情報を生成し、その生成された新たな周波数特性情報に基づいて、該制御対象の駆動状態に対応する新たなインパルス応答情報を生成するインパルス応答情報生成部を、更に備え、
前記第１応答算出部は、前記インパルス応答情報生成部によって生成された新たなインパルス応答情報と前記所定の入力値とを用いて前記畳み込み積分処理を実行する、
請求項１から請求項４の何れか１項に記載のシミュレーション装置。
【請求項１０】
前記インパルス応答情報生成部は、前記制御対象の駆動状態と、前記少なくとも２つの基準駆動状態のそれぞれとの相関関係に基づいて、該少なくとも２つの基準駆動状態に関連付けられた前記周波数特性情報を加重平均処理することで前記新たな周波数特性情報を生成する、
請求項９に記載のシミュレーション装置。
【請求項１１】
前記保持部が有する複数パターンのインパルス応答情報の中から少なくとも２つのインパルス応答情報を選択し、該選択された少なくとも２つのインパルス応答情報から新たなインパルス応答情報を生成するインパルス応答情報生成部を、更に備え、
前記保持部は、前記インパルス応答情報生成部によって生成された新たなインパルス応答情報を保持する、
請求項１から請求項４の何れか１項に記載のシミュレーション装置。
【請求項１２】
前記インパルス応答情報生成部は、前記少なくとも２つのインパルス応答情報を加重平均処理することで前記新たなインパルス応答情報を生成する、
請求項１１に記載のシミュレーション装置。
【請求項１３】
モータを含む制御対象と、該モータを制御するモータ制御装置と、を有する制御システムのシミュレーションを行うシミュレーション方法であって、
所定の入力値に対する、前記制御対象を含む所定の装置側構成の時間応答を、該所定の装置側構成に関するインパルス応答の情報である算出用インパルス応答情報と該所定の入力値とを用いた畳み込み積分処理により算出するステップと、
前向き要素として、前記所定の装置側構成に対応する所定の制御ブロック構造を少なくとも有する所定のフィードバック系を含むシミュレーション系に基づいて、前記畳み込み積分処理により算出するステップで算出された該所定の装置側構成の時間応答を用いて、該シミュレーション系へ入力される指令値に対する該シミュレーション系の応答を算出するステップと、
を含む、シミュレーション方法。
【請求項１４】
モータを含む制御対象と、該モータを制御するモータ制御装置と、を有する制御システムのシミュレーションを行うシミュレーション装置に、
所定の入力値に対する、前記制御対象を含む所定の装置側構成の時間応答を、該所定の装置側構成に関するインパルス応答の情報である算出用インパルス応答情報と該所定の入力値とを用いた畳み込み積分処理により算出するステップと、
前向き要素として、前記所定の装置側構成に対応する所定の制御ブロック構造を少なくとも有する所定のフィードバック系を含むシミュレーション系に基づいて、前記畳み込み積分処理により算出するステップで算出された該所定の装置側構成の時間応答を用いて、該シミュレーション系へ入力される指令値に対する該シミュレーション系の応答を算出するステップと、
を実行させるシミュレーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータを含む制御対象と、該モータを制御するモータ制御装置と、を有する制御システムのシミュレーションを行う技術に関する。
【背景技術】
【０００２】
サーボ機構においては、一般的に、負荷装置を駆動するためのモータを適切に制御するために、モータを制御するサーボドライバの制御パラメータ（位置ゲイン、速度ゲイン、フィルタのカットオフ周波数等）の調整が行われる。そして、このような制御パラメータの調整方法としては、モータや負荷装置を実際に駆動することにより行われる方法が例示できる。当該調整方法では、サーボドライバ等のモータ制御装置に制御パラメータを設定するとともに、その制御パラメータに応じた負荷装置の応答を計測し、当該制御パラメータの適否が判断される。
【０００３】
また上記のように実際の負荷装置を駆動させながらパラメータを調整する形態に代えて、負荷装置の応答に関するシミュレーション結果に基づき制御パラメータを決定する手法が例示できる。例えば、特許文献１に示すように、サーボドライバ及び負荷装置の物理モデルを使用し、制御パラメータを設定して繰り返しシミュレーションを行う。そして、シミュレーション結果として得られる応答結果に基づいて最終的に設定される制御パラメータが決定される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１２２７７９号公報
【特許文献２】特開２００６−３４０４８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
モータ制御装置においてモータを駆動させるための制御パラメータを決定する際に、従来のように実際にモータや負荷装置等を含む制御対象を駆動させてその応答を計測する場合、制御パラメータを設定する度に、モータの駆動及び応答の計測を実行しなければならず、制御パラメータの決定に時間を要することになる。更に、実際の制御対象を駆動させることに起因して、調整の際に設定した制御パラメータが不適切であった場合に、制御対象が想定外の動作を行い損傷してしまう恐れもある。
【０００６】
一方で、制御パラメータの調整に際して従来のように物理モデルを使用してシミュレーションを行う場合でも、シミュレーションの結果が物理モデルの形や次数に拘束されるため、想定する物理モデルの形と実際の制御対象の特性に差異があると、シミュレーションの精度が低下する恐れがある。換言すれば、シミュレーションの精度を向上させるためには、物理モデルを実際の制御対象の特性に擦り合せる必要があり、制御パラメータの調整に関しユーザに過度の負担を負わせることになる。
【０００７】
本発明は、このような問題に鑑みてなされたものであり、モータを含む制御対象と、該モータを制御するモータ制御装置と、を有する制御システムのシミュレーションの精度向上を図る技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明においては、上記課題を解決するために、シミュレーションの演算の一部に、制御対象を含む所定の装置側構成に関するインパルス応答情報を利用して当該所定の装置側構成の時間応答を算出する処理を含める構成とした。このような構成により、実際の制御対象の特性に応じた、精度の高いシミュレーションを実現することが可能となる。
【０００９】
詳細には、本発明は、モータを含む制御対象と、該モータを制御するモータ制御装置と、を有する制御システムのシミュレーションを行うシミュレーション装置であって、前向き要素として、前記制御対象を含む所定の装置側構成に対応する所定の制御ブロック構造を少なくとも有する所定のフィードバック系を含むシミュレーション系と、前記所定の装置側構成に関するインパルス応答の情報である算出用インパルス応答情報を保持する保持部と、所定の入力値に対する前記所定の装置側構成の時間応答を、前記算出用インパルス応答情報と該所定の入力値とを用いた畳み込み積分処理により算出する第１応答算出部と、前記第１応答算出部により算出される前記所定の装置側構成の時間応答を用いて、前記シミュレーション系へ入力される指令値に対する該シミュレーション系の応答を算出する第２応答算出部と、を備える。
【００１０】
本発明のシミュレーション装置は、所定の装置側構成に対応する制御ブロック構造を少なくとも前向き要素とする所定のフィードバック系を含むシミュレーション系を備えており、そのシミュレーション系を前提として、第１応答算出部と第２応答算出部による算出処理が行われる。所定の装置側構成に関しては、そのインパルス応答情報が算出用インパルス応答情報として保持部により保持されている。そして、第１応答算出部が、その算出用インパルス応答情報を用いた畳み込み積分処理により、所定の装置側構成への所定の入力値に対する時間応答を算出する。このように算出用インパルス応答情報を利用することで、ユーザは、シミュレーションのために所定の装置側構成に対応する物理モデルを構築する必要がなくなるとともに、制御対象を含む所定の装置側構成の実際の特性を好適に反映させてその時間応答を精度良く算出することが可能となる。
【００１１】
ここで、保持部により保持される算出用インパルス応答情報は、その保持に要する容量等の理由で有限のものとなる。そのため、第１応答算出部により算出される時間応答には定常偏差が残ってしまい、その結果シミュレーションの精度への影響が生じ得る。しかし、本発明のシミュレーション装置は、シミュレーション系に含まれるフィードバックループを考慮して、第１応答算出部により算出される所定の装置側構成の時間応答を用いた、第２応答算出部による応答算出の処理が行われる。例えば、前記第２応答算出部は、前記所定のフィードバック系において、前記所定の装置側構成の時間応答、又は該時間応答から算出される所定の応答結果を前記前向き要素の入力側に帰還させる方式に従い、前記シミュレーション系の応答を算出してもよい。これにより、インパルス応答情報に起因する定常偏差を低減でき、シミュレーション精度の向上を図ることができる。また、上記シミュレーション系には、非線形補償やフィードフォワード補償等に対応する、その他の制御ブロック構造等も含めることができる。
【００１２】
ここで、上記シミュレーション装置におけるシミュレーション系の具体的な構成について以下に例示する。先ず、前記インパルス応答が、電流指令に対するインパルス応答であって、前記所定のフィードバック系は速度フィードバック系であり、該所定のフィードバック系における前記前向き要素として、前記所定の制御ブロック及び速度補償に関する速度制御ブロック構造を含むように構成されてもよい。この場合、前記第２応答算出部は、前記第１応答算出部により算出された速度応答が前記帰還方式に従い前記速度制御ブロック構造に帰還されるようにして、前記シミュレーション系の時間応答を算出する。また、別法として、前記インパルス応答が、速度指令に対するインパルス応答であって、前記所定のフィードバック系は位置フィードバック系であり、前記所定のフィードバック系における前記前向き要素として、前記所定の制御ブロック及び位置補償に関する位置制御ブロ
ック構造を含むように構成されてもよい。この場合、前記第２応答算出部は、前記第１応答算出部により算出された速度応答に基づく位置応答が前記帰還方式に従い前記位置制御ブロック構造に帰還されるようにして、前記シミュレーション系の時間応答を算出する。すなわち、本発明のシミュレーション装置は、装置側インパルス応答に対応する所定の制御ブロック構造を前向き要素とする所定のフィードバック系を含むシミュレーション系に、好適に適用し得るものであり、当該シミュレーション系には、所定の制御ブロック構造と所定のフィードバック系以外の制御ブロック構造やフィードバック系、フィードフォワード系が含まれていても構わない。
【００１３】
ここで、上述までのシミュレーション装置において、前記保持部は、前記算出用インパルス応答情報として、複数パターンのインパルス応答情報を保持し、そして、前記第１応答算出部は、前記制御対象の駆動状態に基づいて、前記保持部が有する複数パターンのインパルス応答情報の中から所定のインパルス応答情報を選択し、該選択された所定のインパルス応答情報と前記所定の入力値とを用いて前記畳み込み積分処理を実行してもよい。所定の装置側構成には制御対象が含まれているため、制御対象の駆動状態の変化に伴って、所定の装置側構成に関するインパルス応答が変動し得る。例えば、制御対象が第１の駆動状態にある場合と第２の駆動状態にある場合とでは、制御対象の機械負荷や機械剛性等が変動することで当該制御対象を含む所定の装置側構成に関するインパルス応答が変動することになる。そこで、上記のように制御対象の駆動状態に応じたインパルス応答（所定のインパルス応答）を選択し、それを第１応答算出部による畳み込み積分処理に供することで、制御対象の駆動状態に応じた好適なシミュレーションを実現することが可能となる。
【００１４】
そして、より詳細には、前記複数パターンのインパルス応答情報のそれぞれは、前記制御対象の異なる駆動状態である複数の基準駆動状態に関連付けられており、その上で、前記第１応答算出部は、前記制御対象の駆動状態と、前記複数の基準駆動状態のそれぞれとの相関関係に基づいて、前記所定のインパルス応答情報を選択してもよい。すなわち、制御対象の現時点の駆動状態と、保持されている算出用インパルス応答情報に対応する基準駆動状態とが異なる場合でも、現時点の駆動状態と基準駆動状態の近接度合等の両者の相関関係を基準として、何れの基準駆動状態に関連付けられインパルス応答情報を選択することで、合理的にシミュレーション精度の向上を図ることができる。
【００１５】
また、上記のシミュレーション装置では、制御対象の駆動状態と基準駆動状態との相関関係を用いて所定のインパルス応答の選択が行われるが、その一態様として、制御対象に複数のモータにより駆動される駆動対象機械が含まれる場合が挙げられる。このような場合、駆動対象機械の状態量、例えば、駆動対象機械の所定部位の状態量は、必ずしもモータの状態量と一意的に関連付けられるとは限らない。すなわち、各モータの状態量が異なっていても、駆動対象機械の所定部位の状態量が同一となり得る場合がある。このような場合には、モータの状態量を基準駆動状態としてインパルス応答情報と関連付けるのではなく、駆動対象機械の所定部位の状態量を基準駆動状態としてインパルス応答情報と関連付けるのが好ましい。詳細には、上記のシミュレーション装置において、前記制御対象が、複数の前記モータにより駆動される駆動対象機械を含む場合、前記複数パターンのインパルス応答情報のそれぞれは、前記駆動対象機械の所定部位の状態量に関する、前記複数の基準駆動状態に関連付けられ、そして、前記第１応答算出部は、前記駆動対象機械の所定部位の状態量と、前記複数の基準駆動状態のそれぞれとの相関関係に基づいて、前記所定のインパルス応答情報を選択してもよい。このような構成により、駆動対象機械が複数のモータで駆動制御される場合でも、シミュレーションにより適切な所定のインパルス応答を用意に選択することが可能となる。なお、駆動対象機械の所定部位の状態量としては、当該部位の位置や温度等のパラメータが例示できる。
【００１６】
ここで、上述までのシミュレーション装置において、記保持部は、前記算出用インパルス応答情報として、複数パターンのインパルス応答情報を保持し、その場合、前記第１応答算出部は、前記制御対象の駆動状態に基づいて、前記保持部が有する複数パターンのインパルス応答情報の中から少なくとも２つのインパルス応答情報を選択し、該選択された少なくとも２つのインパルス応答情報から、該制御対象の駆動状態に応じた新たなインパルス応答情報を合成し、該合成された新たなインパルス応答情報と前記所定の入力値とを用いて前記畳み込み積分処理を実行してもよい。このように新たなインパルス応答情報を合成しそれを畳み込み積分処理に供することで、それまで対応するインパルス応答情報を有していなかった駆動状態でも、好適なシミュレーション結果を得ることができる。
【００１７】
ここで、上述までのシミュレーション装置において、前記保持部は、前記算出用インパルス応答情報として、前記制御対象の異なる駆動状態である複数の基準駆動状態に関連付けられた複数パターンのインパルス応答情報を保持するとともに、該複数パターンのインパルス応答情報及び該複数の基準駆動情報のそれぞれに関連付けられ、且つそれぞれのインパルス応答情報を生成可能な周波数特性情報を保持してもよい。その場合、前記シミュレーション装置は、前記制御対象の駆動状態と、前記複数の基準駆動状態のうち少なくとも２つの基準駆動状態のそれぞれとの相関関係に基づいて、該少なくとも２つの基準駆動状態に関連付けられた前記周波数特性情報から、該制御対象の駆動状態に対応する新たな周波数特性情報を生成し、その生成された新たな周波数特性情報に基づいて、該制御対象の駆動状態に対応する新たなインパルス応答情報を生成するインパルス応答情報生成部を、更に備え、そして、前記第１応答算出部は、前記インパルス応答情報生成部によって生成された新たなインパルス応答情報と前記所定の入力値とを用いて前記畳み込み積分処理を実行してもよい。
【００１８】
このような構成により、シミュレーション装置では、制御対象の駆動状態が、保持部が保持しているインパルス応答情報に関連付けられた既存の基準駆動状態と異なる場合でも、既存の基準駆動状態に対応する周波数特性情報から当該駆動状態に応じた周波数特性を生成し、それに基づき当該駆動状態に応じたインパルス応答情報を生成することが可能となる。したがって、算出用インパルス応答情報として所定の装置側構成に関し網羅的にインパルス応答情報を準備しなくても、好適なシミュレーション結果を得ることが可能となり、ユーザのシミュレーション準備に関する負担を軽減できる。
【００１９】
また、上記インパルス応答情報生成部による新たな周波数特性の生成に関しては、既存の基準駆動状態に対応する周波数特性情報を加重平均処理により当該生成を行ってもよい。すなわち、上記シミュレーション装置において、前記インパルス応答情報生成部は、前記制御対象の駆動状態と、前記少なくとも２つの基準駆動状態のそれぞれとの相関関係に基づいて、該少なくとも２つの基準駆動状態に関連付けられた前記周波数特性情報を加重平均処理することで前記新たな周波数特性情報を生成してもよい。なお、当該加重平均処理はあくまでも新たな周波数特性情報を生成するための一態様であり、その他の処理を施し新たな周波数特性情報を生成しても構わない。
【００２０】
ここで、上述までのシミュレーション装置において、前記保持部が有する複数パターンのインパルス応答情報の中から少なくとも２つのインパルス応答情報を選択し、該選択された少なくとも２つのインパルス応答情報から新たなインパルス応答情報を生成するインパルス応答情報生成部を、更に備えてもよく、その場合、前記保持部は、前記インパルス応答情報生成部によって生成された新たなインパルス応答情報を保持してもよい。このような構成によれば、新たなインパルス応答情報を生成するに際して、その生成のための基礎となる情報（例えば、周波数特性情報等）を必要としない。その結果、ユーザのシミュレーション準備に関する負担を抑えたまま、好適なシミュレーション結果を得ることが可能となる。また、この新たなインパルス応答情報の生成に関しては、前記インパルス応答
情報生成部は、前記少なくとも２つのインパルス応答情報を加重平均処理することで当該生成を行ってもよい。
【００２１】
また、本願発明を、モータを含む制御対象と、該モータを制御するモータ制御装置と、を有する制御システムのシミュレーションを行うシミュレーション方法の側面からとらえてもよい。この場合、当該方法は、所定の入力値に対する、前記制御対象を含む所定の装置側構成の時間応答を、該所定の装置側構成に関するインパルス応答の情報である算出用インパルス応答情報と該所定の入力値とを用いた畳み込み積分処理により算出するステップと、前向き要素として、前記所定の装置側構成に対応する所定の制御ブロック構造を少なくとも有する所定のフィードバック系を含むシミュレーション系に基づいて、前記畳み込み積分処理により算出するステップで算出された該所定の装置側構成の時間応答を用いて、該シミュレーション系へ入力される指令値に対する該シミュレーション系の応答を算出するステップと、を含む。なお、当該シミュレーション方法の発明には、上記シミュレーション装置の発明に関し開示した技術思想を、技術的な齟齬が生じない限りで適用することが可能である。
【００２２】
また、本願発明を、モータを含む制御対象と、該モータを制御するモータ制御装置と、を有する制御システムのシミュレーションを行うシミュレーション装置に、下記ステップからなる処理を実行させるシミュレーションプログラムの側面から捉えることもできる。当該シミュレーションプログラムは、シミュレーション装置に、所定の入力値に対する、前記制御対象を含む所定の装置側構成の時間応答を、該所定の装置側構成に関するインパルス応答の情報である算出用インパルス応答情報と該所定の入力値とを用いた畳み込み積分処理により算出するステップと、前向き要素として、前記所定の装置側構成に対応する所定の制御ブロック構造を少なくとも有する所定のフィードバック系を含むシミュレーション系に基づいて、前記畳み込み積分処理により算出するステップで算出された該所定の装置側構成の時間応答を用いて、該シミュレーション系へ入力される指令値に対する該シミュレーション系の応答を算出するステップと、を実行させる。なお、当該シミュレーションプログラムの発明には、上記シミュレーション装置の発明に関し開示した技術思想を、技術的な齟齬が生じない限りで適用することが可能である。
【発明の効果】
【００２３】
モータを含む制御対象と、該モータを制御するモータ制御装置と、を有する制御システムのシミュレーションの精度向上が図られる。
【図面の簡単な説明】
【００２４】
【図１】本発明に係るシミュレーション装置によるシミュレーション処理の対象となる制御システムの概略構成を示す図である。
【図２】図１に示す制御システムに含まれるサーボドライバの制御構造を示す図である。
【図３】本発明に係るシミュレーション装置の第１の機能ブロック図である。
【図４】本発明に係るシミュレーション装置が有するシミュレーション系の構造を示す制御ブロック図であり、（ｂ）は速度指令対応のインパルス応答モデルを使用するシミュレーション系の構造を示し、（ｃ）はトルク指令対応のインパルス応答モデルを使用するシミュレーション系の構造を示している。また、（ａ）は、当該シミュレーション系の説明のための基本構造を示す図である。
【図５Ａ】本発明に係るシミュレーション装置における算出処理のための第１のフローチャートである。
【図５Ｂ】本発明に係るシミュレーション装置における算出処理のための第２のフローチャートである。
【図６】本発明に係るシミュレーション装置での、図５Ｂに示す算出処理によるシミュレーション結果を示す図である。
【図７】本発明に係るシミュレーション装置における算出処理のための第３のフローチャートである。
【図８】モータで駆動される搬送装置の概略構成を示す図である。
【図９】２つのモータで駆動されるロボットアームの概略構成を示す図である。
【図１０】本発明に係るシミュレーション装置での、図７に示す算出処理によるシミュレーション結果を示す図である。
【図１１】本発明に係る第２のシミュレーション装置の機能ブロック図である。
【図１２】図１１に示すシミュレーション装置で実行される生成処理のための第１のフローチャートである。
【図１３】図１２に示す生成処理において新しい周波数特性を算出するためのノルム比率を説明する図である。
【図１４】図１２に示す生成処理で生成された新しいインパルス応答情報を用いた場合の、図５Ｂに示す算出処理によるシミュレーション結果を示す図である。
【図１５】図１１に示すシミュレーション装置で実行される生成処理のための第２のフローチャートである。
【発明を実施するための形態】
【００２５】
＜実施例１＞
図１は、本発明の実施の形態に係るシミュレーション装置によるシミュレーション処理の対象となる制御システムの概略構成図である。制御システムは、ネットワーク１と、モータ２と、負荷装置３と、サーボドライバ４と、標準ＰＬＣ(Programmable Logic Controller)５とを備える。当該制御システムは、モータ２とともに負荷装置３を駆動制御する
ためのシステムである。そして、モータ２及び負荷装置３が、当該制御システムによって制御される制御対象６とされる。ここで、負荷装置３としては、各種の機械装置（例えば、産業用ロボットのアームや搬送装置）が例示でき、モータ２はその負荷装置３を駆動するアクチュエータとして負荷装置３内に組み込まれている。例えば、モータ２は、ＡＣサーボモータである。なお、モータ２には図示しないエンコーダが取り付けられており、当該エンコーダによりモータ２の動作に関するパラメータ信号がサーボドライバ４にフィードバック送信されている。このフィードバック送信されるパラメータ信号（以下、フィードバック信号という）は、たとえばモータ２の回転軸の回転位置（角度）についての位置情報、その回転軸の回転速度の情報等を含む。
【００２６】
サーボドライバ４は、ネットワーク１を介して標準ＰＬＣ５からモータ２の動作（モーション）に関する動作指令信号を受けるとともに、モータ２に接続されているエンコーダから出力されたフィードバック信号を受ける。サーボドライバ４は、標準ＰＬＣ５からの動作指令信号およびエンコーダからのフィードバック信号に基づいて、モータ２の駆動に関するサーボ制御、すなわち、モータ２の動作に関する指令値を算出するとともに、モータ２の動作がその指令値に追従するように、モータ２に駆動電流を供給する。なお、この供給電流は、交流電源７からサーボドライバ４に対して送られる交流電力が利用される。本実施例では、サーボドライバ４は三相交流を受けるタイプのものであるが、単相交流を受けるタイプのものでもよい。なお、サーボドライバ４によるサーボ制御については、サーボドライバ４が有する位置制御器４１、速度制御器４２、電流制御器４３を利用したフィードバック制御であり、その詳細については図２に基づいて後述する。
【００２７】
ここで、図１に示すように、サーボドライバ４は、位置制御器４１、速度制御器４２、電流制御器４３を備え、これらの処理により上記サーボ制御が実行される。そこで、図２に示すサーボドライバ４の制御構造に基づいて、サーボドライバ４による上記サーボ制御の内容について説明する。図２に示すように、位置制御器４１は、例えば、比例制御（Ｐ制御）を行う。具体的には、標準ＰＬＣ５から通知された位置指令と検出位置との偏差で
ある位置偏差に、位置比例ゲインＫｐｐを乗ずることにより速度指令を算出する。なお、位置制御器４１は、予め制御パラメータとして、位置比例ゲインＫｐｐを有している。
【００２８】
次に、速度制御器４２は、例えば、比例積分制御（ＰＩ制御）を行う。具体的には、位置制御器４１に算出された速度指令と検出速度との偏差である速度偏差の積分量に速度積分ゲインＫｖｉを乗じ、その算出結果と当該速度偏差の和に速度比例ゲインＫｖｐを乗ずることにより、トルク指令を算出する。なお、速度制御器４２は、予め制御パラメータとして、速度積分ゲインＫｖｉと速度比例ゲインＫｖｐを有している。また、速度制御器４２はＰＩ制御に代えてＰ制御を行ってもよい。この場合には、速度制御器４２は、予め制御パラメータとして、速度比例ゲインＫｖｐを有することになる。次に、電流制御器４３は、速度制御器４２により算出されたトルク指令に基づいて電流指令を出力し、それによりモータ２が駆動制御される。電流制御器４３は、トルク指令に関するフィルタ（１次のローパスフィルタ）や一又は複数のノッチフィルタを含み、制御パラメータとして、これらのフィルタの性能に関するカットオフ周波数等を有している。
【００２９】
そして、サーボドライバ４の制御構造は、速度制御器４２、電流制御器４３、制御対象６を前向き要素とする速度フィードバック系を含み、更に、当該速度フィードバック系と位置制御器４１を前向き要素とする位置フィードバック系を含んでいる。このように構成される制御構造によって、サーボドライバ４は標準ＰＬＣ５から供給される位置指令に追従するようにモータ２をサーボ制御することが可能となる。
【００３０】
ここで、図１に戻ると、サーボドライバ４には処理装置１０が電気的に接続されている。当該電気的接続は有線接続でもよく、無線接続でもよい。処理装置１０は、サーボドライバ４の上記制御パラメータを設定及び調整するための装置であり、調整用のソフトウェア（プログラム）が搭載されている。具体的には、処理装置１０は、演算装置やメモリ等を有するコンピュータであり、そこで実行可能な調整用ソフトウェアがインストールされている。そして、処理装置１０はこの調整用ソフトウェアを用いて、サーボドライバ４による制御対象６の応答状態が最適となるように、上記制御パラメータ（位置比例ゲインＫｐｐ、速度比例ゲインＫｖｐ、各フィルタのカットオフ周波数等）を調整する。なお、処理装置１０は標準ＰＬＣ５に接続されてもよく、この場合、処理装置１０は、標準ＰＬＣ５を介してサーボドライバ４へアクセスし、その制御パラメータを設定及び調整する。
【００３１】
なお、処理装置１０は、当該調整ソフトウェアによりサーボドライバ４による制御対象の応答をシミュレーションする機能を有している。このシミュレーション機能により、処理装置１０は、所定の制御パラメータがサーボドライバ４に設定された際の、制御対象の応答を算出することができる。そして、ユーザは、処理装置１０によるシミュレーション結果に基づいて、サーボドライバ４に設定すべき制御パラメータを決定することができ、決定された制御パラメータは処理装置１０からサーボドライバ４に送信され、サーボドライバ４が有する位置制御器４１、速度制御器４２、電流制御器４３内に保持されることになる。
【００３２】
なお、本実施例では、上記の通り、制御対象６を駆動制御するためにサーボドライバ４で設定される制御パラメータを決定すべく、シミュレーションが処理装置１０によって実行されるが、その態様に代えて、単にサーボドライバ４による制御対象６の駆動制御の応答を把握するために、当該シミュレーションが行われてもよい。この場合、処理装置１０は、サーボドライバ４に電気的に接続される必要はない。
【００３３】
次に、処理装置１０の構成について、図３に基づいて説明する。図３は、処理装置１０において実行される上記調整ソフトウェアによって実行される各種の機能をイメージ化して表した機能ブロック図である。処理装置１０は、入力部１１、表示部１２、シミュレー
ション部１３を有している。入力部１１は、処理装置１０が備える種々の機能のうち後述するシミュレーション部１３による演算に供される情報（シミュレーションのために入力される指令値や、シミュレーションを実行するための指令等）の入力を受け付ける機能部である。具体的には、キーボードやマウスによって構成されてもよく、また、共通するハードウェアであるタッチパネルによって後述する表示部１２とともに構成されてもよい。次に、表示部１２は、シミュレーション部１３によって算出されたシミュレーション結果を表示する機能部である。なお、表示部１２は処理装置１０の必須の構成ではなく、処理装置１０の外部に設けられてもよい。また、上記の通り、表示部１２は、入力部１１の機能を含むタッチパネルとして構成されてもよい。
【００３４】
シミュレーション部１３は、サーボドライバ４によりサーボ制御された際の制御対象６の応答を算出する機能部である。シミュレーション部１３による算出結果であるシミュレーション結果は、上記表示部１２に表示されることになる。シミュレーション部１３は、シミュレーション系１３０、保持部１３１、算出部１３４を有している。
【００３５】
先ず、シミュレーション系１３０について、図４に基づいて説明する。シミュレーション系１３０は、シミュレーション対象である制御対象６に関するモデル構造を含む系である。図４の上段（ａ）は、図１に示す制御システムの機械構成に対応するシミュレーション系の説明のための基本構造（以下、単に「基本構造」という）を示している。また、図４の中段（ｂ）は、シミュレーション系１３０の一形態を示し、下段（ｃ）は、シミュレーション系１３０のその他の形態を示している。そして、処理装置１０に採用されるシミュレーション系１３０の構造を示すのは、図４の中段（ｂ）及び下段（ｃ）である。
【００３６】
図４の上段（ａ）に示す基本構造は、図１に示す制御システムの機械構成に対応し、モデル位置制御部５１、モデル速度制御部５２、モデル電流制御部５３、機械モデル部５４を含む。モデル位置制御部５１は、サーボドライバ４の位置制御器４１に対応し、モデル速度制御部５２は、サーボドライバ４の速度制御器４２に対応し、モデル電流制御部５３はサーボドライバ４の電流制御器４３に対応し、機械モデル部５４は、制御対象６に対応する。図４（ａ）に示す基本構造では、サーボドライバ４と同様に、モデル位置制御部５１に位置指令ｐｃｍｄと系の出力である応答位置ｐｓｉｍとの位置偏差が入力されて速度指令ｖｃｍｄが出力される。そして、モデル速度制御部５２に当該速度指令ｖｃｍｄと機械モデル部５４の出力である応答速度ｖｓｉｍとの速度偏差が入力されてトルク指令τｃｍｄが出力される。そして、モデル電流制御部５３に当該トルク指令τｃｍｄが入力されて電流指令ｃｃｍｄが出力される。そして、機械モデル部５４に当該電流指令ｃｃｍｄが入力されて、上記の応答速度ｖｓｉｍ及びその積分結果である上記の応答位置ｐｓｉｍが出力される。
【００３７】
ここで、シミュレーション系の一形態である図４（ｂ）に示す制御構造は、図４（ａ）に示す基本構造のうち、モデル速度制御部５２、モデル電流制御部５３、機械モデル部５４を、所定の制御ブロック構造である速度系インパルス応答モデル部５２０に代替させるとともに、モデル位置制御部５１と当該速度系インパルス応答モデル部５２０を前向き要素とするフィードバック系を含む構造となっている。速度系インパルス応答モデル部５２０は、モデル速度制御部５２、モデル電流制御部５３、機械モデル部５４に対応する制御システム側の機械構成である速度制御器４２、電流制御器４３、制御対象６を１つの機械構成としたときの、当該１つの機械構成への速度指令のインパルス信号を入力した際の応答（インパルス応答）に関する情報をインパルス応答モデルとして有している。すなわち、速度系インパルス応答モデル部５２０が有するインパルス応答情報は、制御システム側の実際の機械構成である速度制御器４２、電流制御器４３、制御対象６の特性が反映された、速度インパルス応答に関する情報と言える。なお、当該インパルス応答情報の生成は、従来技術により実現できる。概略的には、図４（ｂ）に示す制御構造における速度閉ル
ープの周波数伝達関数を逆フーリエ変換することで実現される。そして、速度系インパルス応答モデル部５２０への任意の入力に対する出力は、当該任意の入力と速度系インパルス応答モデル部５２０が有するインパルス応答情報との畳み込み積分処理によって算出することができる。
【００３８】
そして、シミュレーション系１３０が図４（ｂ）に示す制御構造を有する場合、モデル位置制御部５１に位置指令ｐｃｍｄと系の出力である応答位置ｐｓｉｍとの位置偏差が入力されて速度指令ｖｃｍｄが算出される。そして、速度系インパルス応答モデル部５２０に速度指令ｖｃｍｄが入力されると、畳み込み積分処理により当該速度指令ｖｃｍｄに対応する応答速度ｖｓｉｍが算出され、更に、その積分結果である上記の応答位置ｐｓｉｍが算出される。なお、当該シミュレーション系１３０における各制御値の算出は、算出部１３４が有する第１応答算出部１３４Ａ及び第２応答算出部１３４Ｂによって行われるが、その詳細は後述する。
【００３９】
次に、シミュレーション系のその他の形態である図４（ｃ）に示す制御構造は、図４（ａ）に示す基本構造のうち、モデル電流制御部５３、機械モデル部５４を、所定の制御ブロック構造である電流系インパルス応答モデル部５３０に代替させるとともに、モデル速度制御部５２と当該電流系インパルス応答モデル部５３０を前向き要素とする速度フィードバック系と、モデル位置制御部５１と当該速度フィードバック系とを前向き要素とする位置フィードバック系とを含む構造となっている。電流系インパルス応答モデル部５３０は、モデル電流制御部５３、機械モデル部５４に対応する制御システム側の機械構成である電流制御器４３及び制御対象６を１つの機械構成としたときの、当該１つの機械構成へのトルク指令のインパルス信号を入力した際の速度応答（速度インパルス応答）に関する情報をインパルス応答モデルとして有している。なお、当該インパルス応答情報の生成は、従来技術により実現できる。概略的には、図４（ｃ）に示す制御構造におけるモデル電流制御部５３及び機械モデル部５４に関する周波数伝達関数を逆フーリエ変換することで実現される。そして、電流系インパルス応答モデル部５３０への任意の入力に対する出力は、当該任意の入力と電流系インパルス応答モデル部５３０が有するインパルス応答情報との畳み込み積分処理によって算出することができる。
【００４０】
そして、シミュレーション系１３０が図４（ｃ）に示す制御構造を有する場合、モデル位置制御部５１に位置指令ｐｃｍｄと系の出力である応答位置ｐｓｉｍとの位置偏差が入力されて速度指令ｖｃｍｄが算出される。そして、モデル速度制御部５２に速度指令ｖｃｍｄと応答速度ｖｓｉｍとの速度偏差が入力されてトルク指令τｃｍｄが算出される。そして、電流系インパルス応答モデル部５３０にトルク指令τｃｍｄが入力されると、畳み込み積分処理により当該トルク指令τｃｍｄに対応する応答速度ｖｓｉｍが算出され、更に、その積分結果である上記の応答位置ｐｓｉｍが算出される。なお、当該シミュレーション系１３０における各制御値の算出も、算出部１３４が有する第１応答算出部１３４Ａ及び第２応答算出部１３４Ｂによって行われるが、その詳細は後述する。
【００４１】
このようにシミュレーション系１３０は、シミュレーション対象である制御対象６を少なくとも含む機械構成に対応する制御ブロックとしてのインパルス応答モデル部を有し、且つ、当該インパルス応答モデル部を少なくとも前向き要素とするフィードバック系を有している。また、保持部１３１は、シミュレーション系１３０が有するインパルス応答モデル部に含まれるインパルス応答情報を保持する機能部である。また、算出部１３４は、保持部１３１が保持するインパルス応答情報を受け取り、シミュレーション系１３０に従ったシミュレーション処理、すなわちシミュレーション系１３０の応答結果である応答速度ｖｓｉｍと応答位置ｐｓｉｍの算出を行う機能部である。なお、算出部１３４は、サブ機能部として第１応答算出部１３４Ａと第２応答算出部１３４Ｂを有している。第１応答算出部１３４Ａは、図４（ｂ）の速度系インパルス応答モデル部５２０の有するインパル
ス応答情報を利用した畳み込み積分処理に関する応答速度ｖｓｉｍを算出するサブ機能部であり、又は、図４（ｃ）の電流系インパルス応答モデル部５３０の有するインパルス応答情報を利用した畳み込み積分処理に関する応答速度ｖｓｉｍを算出するサブ機能部である。また、第２応答算出部１３４Ｂは、第１応答算出部１３４Ａの算出結果、すなわち畳み込み積分処理により算出された応答速度ｖｓｉｍを用いて、シミュレーション系１３０へ入力される指令値に対するその時間応答、すなわち応答位置ｐｓｉｍを算出するサブ機能部である。
【００４２】
ここで、シミュレーション系にシミュレーション処理のための所定の位置指令が入力されたときの位置の時間応答ｐｓｉｍと速度の時間応答ｖｓｉｍを算出するための、算出部１３４による算出処理の流れを、（１）シミュレーション系１３０が図４（ｂ）に示す制御構造の場合と、（２）シミュレーション系１３０が図４（ｃ）に示す制御構造の場合とにおいて概略的に示す。
【００４３】
（１）シミュレーション系１３０が図４（ｂ）に示す制御構造の場合
当該場合の算出処理の流れを、図５Ａに示すフローチャートに従って説明する。なお、当該算出処理は、入力部１１によりシミュレーション処理のための指令値が受け付けられた場合に実行される。先ず、Ｓ１０１では、パラメータｍ及びパラメータｎが初期化される。次に、Ｓ１０２では、位置指令ｐｃｍｄと応答位置ｐｓｉｍの偏差である位置偏差ｐｅｒｒが算出され、その後、Ｓ１０３で、位置偏差ｐｅｒｒに位置比例ゲインＫｐｐが乗じられることで速度指令ｖｃｍｄが算出される。
【００４４】
次に、Ｓ１０４〜Ｓ１０６では、速度指令ｖｃｍｄを速度系インパルス応答モデル部５２０への入力として、その出力である応答速度ｖｓｉｍを算出するための畳み込み積分処理が行われる。具体的には、Ｓ１０４で、下記式１に従った演算が行われ、次にＳ１０５でパラメータｎがインクリメントされる。
vsim[m+n] =  vsim[m+n] + vcmd・gimp[n]  ・・・（式１）
但し、gimp[n]は、速度系インパルス応答モデル部５２０が有するインパルス応答情報
である。当該情報は、インパルス状の速度入力に対する速度応答を意味している。
そして、Ｓ１０６でパラメータｎが上限値に到達したか否か、すなわち、インパルス応答情報gimpの長さに応じて式１による演算を繰り返すための、その上限となる繰り返し数に到達したか否かが判定される。Ｓ１０６で否定判定されるとＳ１０４以降の処理を繰り返し、肯定判定されるとＳ１０７へ進む。
【００４５】
そして、Ｓ１０７では再びパラメータｎが初期化される。次に、Ｓ１０８では、下記式２に従った演算が行われる。
psim[m] =  psim[m-1] + vsim[m]・Δt  ・・・（式２）
すなわち、Ｓ１０８では、畳み込み積分処理で算出された応答速度ｖｓｉｍが積分されて、応答位置ｐｓｉｍが算出される。その後、Ｓ１０９では、パラメータｍがインクリメントされる。そして、Ｓ１１０では、パラメータｍが上限値に到達したか否か、すなわち、算出処理によりシミュレーションを行いたい時間（希望する応答時間）に応じてＳ１０２〜Ｓ１０９までの処理を繰り返すための、その上限となる繰り返し数に到達したか否かが判定される。Ｓ１１０で否定判定されるとＳ１０２以降の処理が繰り返され、肯定判定されると本算出処理を終了する。
【００４６】
（２）シミュレーション系１３０が図４（ｃ）に示す制御構造の場合
当該場合の算出処理の流れを、図５Ｂに示すフローチャートに従って説明する。なお、当該算出処理は、入力部１１によりシミュレーション処理のための入力値が受け付けられた場合に実行される。先ず、Ｓ２０１では、パラメータｍ及びパラメータｎが初期化される。次に、Ｓ２０２では、位置指令ｐｃｍｄと応答位置ｐｓｉｍの偏差である位置偏差ｐ
ｅｒｒが算出され、その後、Ｓ２０３で、位置偏差ｐｅｒｒに位置比例ゲインＫｐｐが乗じられることで速度指令ｖｃｍｄが算出される。
【００４７】
次に、Ｓ２０４では、速度指令ｖｃｍｄと応答速度ｖｓｉｍの偏差である速度偏差ｖｅｒｒが算出される。更に、Ｓ２０５では、その速度偏差ｖｅｒｒが積分され、積分量σが算出されるとともに、Ｓ２０６では、下記式３に従い、トルク指令τｃｍｄが算出される。
τcmd = Kvp ・ (verr + σ・Kvi)  ・・・（式３）
但し、Ｋｖｐは速度比例ゲインを表し、Ｋｖｉは速度積分ゲインを表す。したがって、本算出処理では、ＰＩ制御が実行される。
【００４８】
次に、Ｓ２０７〜Ｓ２０９では、トルク指令τｃｍｄを電流系インパルス応答モデル部５３０への入力として、その出力である応答速度ｖｓｉｍを算出するための畳み込み積分処理が行われる。具体的には、Ｓ２０７で、下記式４に従った演算が行われ、次にＳ２０８でパラメータｎがインクリメントされる。
vsim[m+n] =  vsim[m+n] + τcmd・gimp'[n]  ・・・（式４）
但し、gimp'[n]は、電流系インパルス応答モデル部５３０が有するインパルス応答情報である。当該情報は、インパルス状のトルク入力に対する速度応答を意味している。
そして、Ｓ２０９でパラメータｎが上限値に到達したか否か、すなわち、インパルス応答情報gimp'の長さに応じて式４による演算を繰り返すための、その上限となる繰り返し
数に到達したか否かが判定される。Ｓ２０９で否定判定されるとＳ２０７以降の処理を繰り返し、肯定判定されるとＳ２１０へ進む。
【００４９】
そして、Ｓ２１０では再びパラメータｎが初期化される。次に、Ｓ２１１では、下記式５に従った演算が行われる。
psim[m] =  psim[m-1] + vsim[m]・Δt  ・・・（式５）
すなわち、Ｓ２１１では、畳み込み積分処理で算出された応答速度ｖｓｉｍが積分されて、応答位置ｐｓｉｍが算出される。その後、Ｓ２１２では、パラメータｍがインクリメントされる。そして、Ｓ２１３では、パラメータｍが上限値に到達したか否か、すなわち、算出処理によりシミュレーションを行いたい時間（希望する応答時間）に応じてＳ２０２〜Ｓ２１２までの処理を繰り返すための、その上限となる繰り返し数に到達したか否かが判定される。Ｓ２１３で否定判定されるとＳ２０２以降の処理が繰り返され、肯定判定されると本算出処理を終了する。
【００５０】
ここで、図６に、図５Ｂに示す算出処理が実行されたときのシミュレーション結果を示す。図６の横軸は時間を表し、縦軸は応答位置ｐｓｉｍを表している。ここで、図６中の線Ｌ１が位置指令ｐｃｍｄの推移を表し、線Ｌ２が上記算出処理による応答位置ｐｓｉｍの推移を表している。また、比較対象として、線Ｌ３は、従来技術に従って算出された位置の推移、具体的には、図４（ａ）に示す、モデル位置制御部５１、モデル速度制御部５２、モデル電流制御部５３、機械モデル部５４及びフィードバックループを含む基本構造の全体に対応するインパルス応答モデル部（以下、「従来のインパルス応答モデル部」と言う）で表現した場合の、当該従来のインパルス応答モデル部に入力された位置指令ｐｃｍｄと、当該従来のインパルス応答モデル部の有するインパルス応答情報とを用いた畳み込み積分処理により算出された位置の推移を表している。
【００５１】
一般にインパルス応答モデル部が有するインパルス応答情報は、その時間軸は有限の情報である。そのため、結果として、従来のインパルス応答モデルを使用する場合では、位置指令に対して応答結果が完全には追従できず、定常偏差が残った状態となり、シミュレーション精度の低下を招くことになる。この定常偏差を低減するためには、インパルス応答情報における時間軸を可及的に長くすればよいが、そうするとインパルス応答情報の容
量が大きくなったり、またシミュレーションのための算出時間が長くなったりするため実用的ではない。
【００５２】
一方で、図５Ｂに示す算出処理に従えば、位置指令に対して応答結果が好適に追従し、定常偏差が概ね解消されている。これは、図４（ｃ）に示すように、応答速度ｖｓｉｍの算出に当たって、トルク指令τｃｍｄを入力として電流系インパルス応答モデル部５３０が有するインパルス応答情報を用いて畳み込み積分処理が行われるが、その電流系インパルス応答モデル部５３０及びモデル速度制御部５２を前向き要素としたフィードバック系が、シミュレーション系１３０には含まれているからである。すなわち、応答位置ｐｓｉｍの算出において、第１応答算出部１３４Ａによる算出と第２応答算出部１３４Ｂによる算出の組合せ処理が行われることになる。これにより、インパルス応答情報のみを用いて位置応答を算出する、従来のインパルス応答モデル部を使用する場合と異なり、図５Ｂに示す算出処理に従った場合には、応答位置における定常偏差を効果的に解消できる。また、応答位置の算出に際してインパルス応答情報を用いて畳み込み積分処理を利用していることで、その算出のために制御対象の物理モデルを設定する必要がないため、より実機に則した精度の高い応答結果を得ることができる。
【００５３】
また、図５Ａに示す算出処理に従っても、同じように応答位置における定常偏差を効果的に解消することができる。
【００５４】
＜実施例２＞
次に、処理装置１０で実行される第３の算出処理について、図７に示すフローチャートに基づいて説明する。当該算出処理も、シミュレーション部１３の算出部１３４によって実行され、図５Ａに示す算出処理での各処理と実質的に同一の処理については同一の参照番号を付して、その詳細な説明を省略する。なお、本実施例は、図５Ｂに示す算出処理につても同様に適用できる。図７に示す算出処理では、Ｓ１０３の処理、すなわち速度指令ｖｃｍｄの算出が行われると、次にＳ３０１の処理が行われる。Ｓ３０１では、制御対象６の駆動状態が取得される。ここで、制御対象６の駆動状態とは、制御対象６に含まれるモータ２及び負荷装置３において駆動制御に関連する所定パラメータであって、例えば、モータ２への駆動指令値（位置指令、速度指令等）、モータ２や負荷装置３の実際の、又は推定される状態量（モータ２の位置、速度、負荷装置３の位置、速度、イナーシャ等）等が例示できる。すなわち、制御対象６の駆動制御により形成される状態に関連する所定パラメータが、制御対象６の駆動状態とされる。
【００５５】
そして、Ｓ３０１の後に、Ｓ３０２では、制御対象６の駆動状態に基づいて、Ｓ１０７〜Ｓ１０９で行われる畳み込み積分処理で使用されるインパルス応答情報、すなわち、速度系インパルス応答モデル部５２０のためのインパルス応答情報ｇｉｍｐが選択され、又は合成される。このインパルス応答情報ｇｉｍｐの選択とは、保持部１３１が有している複数のインパルス応答情報の中から、畳み込み積分処理に使用されるインパルス応答情報を選択することを意味する。また、インパルス応答情報ｇｉｍｐの合成とは、保持部１３１が有している複数のインパルス応答情報を利用して、畳み込み積分処理に使用される新しいインパルス応答情報を生成することを意味する。したがって、選択又は合成されたインパルス応答情報は、速度系インパルス応答モデル部５２０のためのインパルス応答情報ｇｉｍｐとして、Ｓ３０２の後のＳ１０４で使用されることになる。これらＳ３０１及びＳ３０２の処理は、第１応答算出部１３４Ａによって行われる。
【００５６】
なお、Ｓ１０４〜Ｓ１０６において畳み込み積分処理が行われ、その後Ｓ１１０での否定判定を経てＳ１０２以降の処理が再び行われるとき、次の畳み込み積分処理で使用されるインパルス応答情報ｇｉｍｐは、その際の制御対象６の駆動状態に基づいて改めて選択、又は合成されることになる。したがって、図７に示す算出処理では、制御対象６の駆動
状態を適切に反映したインパルス応答情報ｇｉｍｐが使用されることになるため、シミュレーション系の時間応答をより正確に算出することができる。
【００５７】
以下に、制御対象６の駆動状態に基づいた、インパルス応答情報ｇｉｍｐの選択、又は合成の実施例について説明する。
＜実施例２−１＞
実施例２−１では、負荷装置３がボールネジを介して往復動するように構成されるテーブルを有し、所定の荷重を一方向に搬送する搬送装置とする。そして、モータ２が正回転することで負荷装置３は所定の荷重を一方向に搬送し、モータ２が負回転することで負荷装置３は所定の荷重が無い状態で逆方向に移動する。この場合、モータ２が正回転しているときと負回転しているときの負荷イナーシャが異なることになる。
【００５８】
そこで、保持部１３１は、所定の荷重が搭載された搬送装置を負荷装置３としたときのインパルス応答情報ｇｉｍｐ１と、所定の荷重が搭載されていない搬送装置を負荷装置３としたときのインパルス応答情報ｇｉｍｐ２を保持しておく。そして、モータ２の回転方向（正回転、負回転）を制御対象６の駆動状態とする。その上で、図７に示す算出処理では、モータ２の回転方向が正回転の場合には、インパルス応答情報ｇｉｍｐ１を選択してＳ１０４〜Ｓ１０６の畳み込み積分処理が行われ、モータ２の回転方向が負回転の場合には、インパルス応答情報ｇｉｍｐ２を選択してＳ１０４〜Ｓ１０６の畳み込み積分処理が行われる。
【００５９】
以上により、実際の制御対象６の駆動状態を好適に反映したインパルス応答情報を使用して、シミュレーション系１３０の時間応答の算出が行われることになる。その結果、シミュレーション系１３０の時間応答の算出精度が向上される。
【００６０】
＜実施例２−２＞
実施例２−２では、実施例２−１と同様に、負荷装置３は、ボールネジを介して往復動するように構成されるテーブルを有する搬送装置とする。そして、当該ボールネジは比較的長尺であるためボールネジのナットが取り付けられているテーブルの位置によって、負荷装置３の機械周波数特性が大きく変動する。そこで、高精度のシミュレーション結果を得るために、保持部１３１は、ボールネジにおけるテーブル位置に応じた複数の制御対象６のインパルス応答情報ｇｉｍｐを有し、そのテーブル位置を制御対象６の駆動状態として、当該駆動状態に適したインパルス応答情報ｇｉｍｐを選択するものとする。
【００６１】
具体的には、負荷装置３のボールネジの可動範囲である起点から終点までの間を２つの区間Ｒ１、Ｒ２に分割する。そして、保持部１３１は、各区間に対応する２つのインパルス応答情報ｇｉｍｐ１、ｇｉｍｐ２を保持し、モータ２の位置から算出されるテーブル位置が制御対象６の駆動状態とされる。その上で、図７に示す算出処理では、モータ２が同一方向に回転されている場合に、テーブル位置がＲ１、Ｒ２にそれぞれ属している場合には、インパルス応答情報ｇｉｍｐ１、ｇｉｍｐ２をそれぞれ選択しＳ１０４〜Ｓ１０６の畳み込み積分処理に使用されるインパルス応答情報が切り替えられる。また、モータ２が逆方向に回転される場合にも、同じようにテーブル位置に応じたインパルス応答情報が選択され、Ｓ１０４〜Ｓ１０６の畳み込み積分処理に使用されるインパルス応答情報が切り替えられていくことになる。
【００６２】
以上により、実際の制御対象６の駆動状態を好適に反映したインパルス応答情報を使用して、シミュレーション系１３０の時間応答の算出が行われることになる。その結果、シミュレーション系１３０の時間応答の算出精度が向上される。
【００６３】
＜実施例２−３＞
実施例２−３では、図８に示すように、負荷装置３は、ボールネジを介して往復動するように構成されるテーブルを有する搬送装置であって、保持部１３１は、テーブルが地点Ｘ１に位置しているときのインパルス応答情報ｇｉｍｐ１を保持し、更にテーブルが地点Ｘ２に位置しているときのインパルス応答情報ｇｉｍｐ２を保持している。この地点Ｘ１は、ボールネジの起点側に近い点であり、地点Ｘ２は、ボールネジの終点側に近い点である。そして、モータ２の位置から算出されるテーブル位置が制御対象６の駆動状態とされる。したがって、地点Ｘ１、Ｘ２は、本発明の基準駆動状態に相当する。
【００６４】
その上で、図７に示す算出処理では、モータ２が回転されテーブルが移動されている場合には、そのテーブル位置と、２つのインパルス応答情報が取得された地点Ｘ１、Ｘ２との相関関係に基づいて、Ｓ１０４〜Ｓ１０６の畳み込み積分処理に使用されるインパルス応答情報が、保持部１３１が保持しているインパルス応答情報の中から選択される。具体的には、テーブル位置が、ボールネジの起点と地点Ｘ１との間にある場合にはインパルス応答情報ｇｉｍｐ１が選択され、テーブル位置が、ボールネジの終点と地点Ｘ２との間にある場合にはインパルス応答情報ｇｉｍｐ２が選択される。また、テーブル位置が地点Ｘ１とＸ２との間にある場合には、そのテーブル位置と、地点Ｘ１、Ｘ２のそれぞれとの距離ΔＸ１、ΔＸ２に基づいてインパルス応答情報が選択される。具体的には、テーブルと地点Ｘ１との距離ΔＸ１がテーブルと地点Ｘ２との距離ΔＸ２より近い場合には、インパルス応答情報ｇｉｍｐ１が選択され、テーブルと地点Ｘ１との距離ΔＸ１がテーブルと地点Ｘ２との距離ΔＸ２と等しいか又は地点Ｘ２との距離ΔＸ２より遠い場合には、インパルス応答情報ｇｉｍｐ２が選択される。
【００６５】
また、テーブル位置が地点Ｘ１とＸ２との間にある場合におけるインパルス応答情報の選択については、テーブル位置と、地点Ｘ１、Ｘ２のそれぞれとの距離ΔＸ１、ΔＸ２を別の評価手法に従って評価し、その評価結果に基づいてインパルス応答情報ｇｉｍｐ１、ｇｉｍｐ２の何れかを選択するようにしてもよい。
【００６６】
以上により、実際の制御対象６の駆動状態を好適に反映したインパルス応答情報を使用して、シミュレーション系１３０の時間応答の算出が行われることになる。その結果、シミュレーション系１３０の時間応答の算出精度が向上される。
【００６７】
＜実施例２−４＞
実施例２−４では、図９に示すように、負荷装置３は、マニピュレータ装置であって、第１関節には第１アームが接続され、当該第１関節が第１モータで駆動される。更に、第１アームと第２アームとが第２関節で接続されるとともに第２関節が第２モータで駆動される。そして、第２アームの先端にエンドエフェクタが配置され、対象物のピッキング等の動作が実行される。このような負荷装置３であるマニピュレータ装置では、対象物のピッキング等のためには、その先端位置Ｐｆをどのように位置決めするかが重要となる。また当該マニピュレータ装置は冗長自由度を有しているため、先端位置Ｐｆと、各アームの回転角θ１、θ２との相関は必ずしも一意的には決まらない。そのため、処理装置１０によりマニピュレータ装置の先端位置の時間応答をシミュレーションする場合、保持部１３１が保持する複数のインパルス応答情報を切り替えて上記畳み込み積分処理を行おうとする場合、回転角θ１、θ２を制御対象６の駆動状態としてインパルス応答情報を切り替えるのは難しい。
【００６８】
そこで、本実施例では、インパルス応答情報の切り替えに当たっては、回転角θ１、θ２ではなくマニピュレータ装置の先端位置Ｐｆを制御対象６の駆動状態として、保持部１３１が保持する複数のインパルス応答情報の選択、及び畳み込み積分処理のためのインパルス応答情報の切り替えを行うこととした。具体的に、先ず、保持部１３１が保持する複数のインパルス応答情報は、マニピュレータ装置の先端位置Ｐｆと関連付けられた状態で
保持されている。そして、図７に示す算出処理では、第１モータと第２モータによって第１関節度と第２関節が駆動されると、先端位置Ｐｆは一意的に決定されることになる。そこで、その先端位置を制御対象６の駆動状態として、例えば、マニピュレータ装置の先端位置Ｐｆが、保持されている複数のインパルス応答情報に関連付けられた複数の先端位置のうち、算出処理時の先端位置と最も距離が近くなる先端位置に対応するインパルス応答情報を選択し、その選択されたインパルス応答情報が、算出処理のＳ１０４〜Ｓ１０６の畳み込み積分処理に使用される。なお、インパルス応答情報を選択するための評価手法は、上記の手法には限られない。
【００６９】
以上により、マニピュレータ装置のように冗長自由度を有する負荷装置３を含む制御対象６についても、実際の制御対象６の駆動状態を好適に反映したインパルス応答情報を使用して、シミュレーション系１３０の時間応答の算出が行われることになる。その結果、シミュレーション系１３０の時間応答の算出精度が向上される。
【００７０】
＜実施例２−５＞
上述までの実施例では、図７に示す算出処理の畳み込み積分処理で使用されるインパルス応答情報は、保持部１３１が保持している複数のインパルス情報の中から制御対象６の駆動状態に基づいて選択された１つのインパルス応答情報であり、その選択により畳み込み積分処理で使用するインパルス応答情報が切り替えられていくことになる。このような形態の場合、インパルス応答情報が切り替えられた際に、切替前後のインパルス応答情報の相違程度によっては、算出部１３４による算出による応答が振動したり不安定となったりする可能性がある。そこで、本実施例では、保持部１３１が保持している一のインパルス応答情報から、他のインパルス応答情報に切り替える場合、急に切り替えるのではなく徐々に切り替えてもよい。
【００７１】
例えば、上記実施例２−３で示した搬送装置を例にすると、テーブル位置が地点Ｘ１とＸ２との間にある場合には、そのテーブル位置と、地点Ｘ１、Ｘ２のそれぞれとの距離ΔＸ１、ΔＸ２に基づいて、新しいインパルス応答情報が合成される。具体的には、テーブルと地点Ｘ１との距離ΔＸ１と、テーブルと地点Ｘ２との距離ΔＸ２との比率を踏まえて、新しいインパルス応答Ｎｅｗｇｉｍｐが、以下の式６に従って算出される（図７のＳ３０２の処理）。
Ｎｅｗｇｉｍｐ＝ΔＸ１／（ΔＸ１＋ΔＸ２）・ｇｉｍｐ１
＋ΔＸ２／（ΔＸ１＋ΔＸ２）・ｇｉｍｐ２  ・・・式６
そして、式６に従って算出された新しいインパルス応答Ｎｅｗｇｉｍｐ１は、その後の、図７のＳ１０４〜Ｓ１０６による畳み込み積分処理で使用されることになる。
【００７２】
以上により、実際の制御対象６の駆動状態を好適に反映したインパルス応答情報を使用して、シミュレーション系１３０の時間応答の算出がより安定して行われることになる。その結果、シミュレーション系１３０の時間応答の算出精度が向上される。
【００７３】
ここで、図１０に、実施例２−３における算出処理が実行されたときのシミュレーション結果を示す。図１０の横軸は時間を表し、縦軸は応答位置ｐｓｉｍを表している。ここで、図１０中の線Ｌ５が位置指令ｐｃｍｄの推移を表し、線Ｌ６がインパルス応答情報の選択及び切替を行わなかった場合の応答位置の推移を表し、線Ｌ７がインパルス応答情報の選択及び切替を行った場合の応答位置の推移を表している。また、線Ｌ８は、実際の応答位置の推移である。図１０から把握できるように、テーブル位置を制御対象６の駆動状態として、そのテーブル位置に応じてインパルス応答情報を選択し、切り替えて畳み込み積分処理を行うことで、より実機の機械特性に則したシミュレーション結果を得ることができる。
【００７４】
＜実施例３＞
次に、処理装置１０に関する第２の機能ブロック図を図１１に示す。本実施例の処理装置１０が有する機能部のうち、実施例１及び実施例２に示す処理装置１０が有する機能部と実質的に同一の処理については同一の参照番号を付して、その詳細な説明を省略する。本実施例の処理装置１０は、上述までの処理装置１０に対して、更にインパルス応答生成部１３２を備えている。インパルス応答生成部１３２は、保持部１３１が保持しているインパルス応答情報を利用して、新たなインパルス応答情報を生成する機能部であり、生成されたインパルス応答情報は、保持部１３１により新たに保持されることになる。
【００７５】
以下に、インパルス応答生成部１３２による新たなインパルス応答情報の生成処理について、複数の実施例に則して説明する。
＜実施例３−１＞
図１２〜図１４に基づいて、生成処理の第１の例について説明する。図１２は、第１の生成処理のフローチャートであり、図１３は、生成処理において新たなインパルス応答情報を生成するためのノルム比率をイメージ化した図であり、図１４は、生成処理により生成された新たなインパルス応答情報を利用して得られた、処理装置１０によるシミュレーション結果を示す図である。
【００７６】
図１２に示す生成処理は、入力部１１を介して入力されたユーザからの生成指示をトリガーとして実行される。この生成指示には、どのようなインパルス応答情報を新たに生成するのか、新たなインパルス応答情報の生成条件が含まれている。生成条件の一例としては、既に保持されているインパルス応答情報に対応する制御対象６の駆動状態とは異なる新たな駆動状態であって、生成処理によって生成される新たなインパルス応答情報に対応する制御対象６の駆動状態（以下、「生成対象駆動状態」という）に関する情報が含まれる。
【００７７】
先ず、Ｓ４０１では、インパルス応答生成部１３２が、保持部１３１が保持している情報から、周波数特性情報を抽出する。保持部１３１は、上述までの通り、複数のインパルス応答情報を保持しているが、本実施例では、保持部１３１は、複数のインパルス応答情報とともに、逆フーリエ変換を介して各インパルス応答情報を生成するための基礎情報である周波数伝達関数に関する周波数特性情報も保持している。当該保持においては、インパルス応答情報と対応する周波数特性情報との関連性は維持されている。本実施例では、保持部１３１に４つのインパルス応答情報が保持されているとすると、Ｓ４０１ではその４つのインパルス応答情報に対応する周波数特性情報が抽出される。Ｓ４０１の処理が終了すると、Ｓ４０２へ進む。
【００７８】
Ｓ４０２では、生成条件として入力された生成対象駆動状態と、現時点で保持部１３１に保持されている各インパルス応答情報に対応する制御対象６の駆動状態とのノルム（距離）の比率が算出される。当該ノルムの比率の算出について、図１３に基づいて説明する。図１３は、現時点で保持部１３１に保持されている４つのインパルス応答情報に対応する制御対象６の駆動状態である、負荷装置３の出力位置を４点の白丸（点（３，３）、（６，３）、（３，６）、（６，６））で表している。そして、ユーザから、新規の制御対象６の駆動状態、すなわち生成対象駆動状態である点（５，５）に対応するインパルス応答情報の生成指示が入力されたとすると、その新規点（５，５）と、他４点とのノルム（距離）が算出され、その比率が算出されることになる。図１３に示す例では、ノルムの比率が、√２：√３：√３：２√２＝１６：２６：２６：３２と算出される。Ｓ４０２の処理が終了すると、Ｓ４０３へ進む。
【００７９】
Ｓ４０３では、生成条件に含まれている生成対象駆動状態（図１３に示す例では、新規点（５，５））に対応する新しい周波数特性情報が、Ｓ４０２で算出されたノルムの比率
を用いて下記式７に従って算出される。
ＮｅｗＦｗ＝  Σ（ＲＮｏｒｍ・Ｆｗ）  ・・・（式７）
但し、ＮｅｗＦｗは新しい周波数特性情報であり、ＲＮｏｒｍは、各ノルムの比率を百分率表示したものであり、Ｆｗは、各ノルムに対応する周波数特性情報でありＳ４０１の処理により保持部１３１より抽出されている。すなわち、式７は、ノルムの比率に基づき、既存の周波数特性情報を加重平均処理することで新たな周波数特性情報を算出する式である。
上記の例においては、点（３，３）、（６，３）、（３，６）、（６，６）のそれぞれの周波数特性をそれぞれＦｗ１、Ｆｗ２、Ｆｗ３、Ｆｗ４とすると、新規点（５，５）に対応する新たな周波数特性ＮｅｗＦｗは以下のように算出される。
ＮｅｗＦｗ＝０．１６Ｆｗ１＋０．２６Ｆｗ２＋０．２６Ｆｗ３＋０．３２Ｆｗ４
【００８０】
次に、Ｓ４０４では、Ｓ４０３で算出された新しい周波数特性に対して逆フーリエ変換を施すことで、生成対象駆動状態（図１３に示す例では、新規点（５，５））に対応する、新しいインパルス応答情報が生成される。そして、Ｓ４０５では、新しく生成されたインパルス応答情報と、その基礎情報となった周波数特性情報とを関連付けて、保持部１３１に保持させる。これにより、算出部１３４は、新しいインパルス応答情報を、図５Ａ、図５Ｂ、図７に示した算出処理での畳み込み積分処理に使用することができる。これにより、ユーザは、生成対象駆動状態に対応するインパルス応答情報を直接測定、取得しなくても、既存の保持情報を利用することで希望するインパルス応答情報を生成することができるため、高精度のシミュレーション結果の取得に要する労力を大きく軽減することが可能となる。
【００８１】
ここで、図１４に、実施例３−１における生成処理によって新たなインパルス応答情報を生成した場合の、図５Ｂに示す算出処理による速度応答のシミュレーション結果を示す。具体的には、保持部１３１には、制御対象６の駆動状態としてその負荷イナーシャが0.00064kgm2の場合（モデル１）のインパルス応答情報と、負荷イナーシャが0.0064kgm2の
場合（モデル２）のインパルス応答情報が、その駆動状態である負荷イナーシャ値とともに保持されていたとする。なお、これらのインパルス応答情報は、実機の機械周波数特性を測定することで得られた情報である。そして、生成処理により、負荷イナーシャが0.0019kgm2の場合（新規モデル）のインパルス応答モデルが生成され、新たに保持部１３１に保持されたものとする。
【００８２】
そして、各モデルの速度応答を算出処理により算出し、図１４に示した。図１４の横軸は時間を表し、縦軸は応答速度を表している。図１４中の線Ｌ１１は速度指令ｖｃｍｄの推移を表し、線Ｌ１２はモデル１に対応した速度応答の推移を表し、線Ｌ１３はモデル２に対応した速度推移を表し、線Ｌ１４は新規モデルの速度推移を表している。そして、線Ｌ１５は、新規モデルと同様に負荷イナーシャが0.0019kgm2である実機の実際の速度推移を表している。以上より、新規モデルに対応する実機においては、実際の機械周波数特性を測定せずに、上記生成処理に得られたインパルス応答モデルを使用して算出処理を実行することでも、実機の速度応答に好適に近似したシミュレーション結果を得ることができていることが分かる。
【００８３】
＜実施例３−２＞
図１５に基づいて、生成処理の第２の例について説明する。図１５は、第２の生成処理のフローチャートである。図１５に示す生成処理も、図１２に示す生成処理と同様に、入力部１１を介して入力されたユーザからの生成指示をトリガーとして実行され、この生成指示には、新たなインパルス応答情報の生成条件としての生成対象駆動状態に関する情報が含まれる。
【００８４】
先ず、Ｓ５０１では、上記Ｓ４０１と同様に、インパルス応答生成部１３２が、保持部１３１が保持している情報から、複数のインパルス応答情報を抽出する。その後、Ｓ５０２では、Ｓ５０１で抽出された複数のインパルス応答情報に対して、生成対象駆動状態に基づいた荷重平均処理を施すことによって、新しいインパルス応答情報が生成される。例えば、上記の実施例３−１で示したモデル１とモデル２に対応する２つのインパルス応答情報に対して、新たなモデルの負荷イナーシャに基づいて加重平均処理のための比率を決定し、その比率を利用して新たなモデルのためのインパルス応答情報が生成される。なお、加重平均処理のための比率は、モデル１及びモデル２の負荷イナーシャと、新たなモデルの負荷イナーシャとの相関を適宜評価することで決定することができる。
【００８５】
そして、Ｓ５０３では、新しく生成されたインパルス応答情報を、保持部１３１に保持させる。これにより、算出部１３４は、新しいインパルス応答情報を、図５Ａ、図５Ｂ、図７に示した算出処理での畳み込み積分処理に使用することができる。これにより、ユーザは、生成対象駆動状態に対応するインパルス応答情報を直接測定、取得しなくても、既存の保持情報を利用することで希望するインパルス応答情報を生成することができるため、高精度のシミュレーション結果の取得に要する労力を大きく軽減することが可能となる。また、実施例３−１のように周波数特性情報を利用しないため、比較的簡便に新たなインパルス応答情報の生成が可能となる。
【符号の説明】
【００８６】
１・・・・ネットワーク
２・・・・モータ
３・・・・負荷装置
１０・・・・処理装置
１３・・・・シミュレーション部
４１・・・・位置制御器
４２・・・・速度制御器
４３・・・・電流制御器
１３０・・・・シミュレーション系
１３１・・・・保持部
１３２・・・・インパルス応答生成部
１３４・・・・算出部
１３４Ａ・・・・第１応答算出部
１３４Ｂ・・・・第２応答算出部
【図１】
2018151704.tif 000003
【図２】
2018151704.tif 000004
【図３】
2018151704.tif 000005
【図４】
2018151704.tif 000006
【図５Ａ】
2018151704.tif 000007
【図５Ｂ】
2018151704.tif 000008
【図６】
2018151704.tif 000009
【図７】
2018151704.tif 000010
【図８】
2018151704.tif 000011
【図９】
2018151704.tif 000012
【図１０】
2018151704.tif 000013
【図１１】
2018151704.tif 000014
【図１２】
2018151704.tif 000015
【図１３】
2018151704.tif 000016
【図１４】
2018151704.tif 000017
【図１５】
2018151704.tif 000018