(57)【要約】  任意の目標値に対して制御入力の飽和や変化率の飽和を発生させずに、高速高精度に制御対象を追従させるサーボ制御装置を得る。目標値を入力して、モデル出力及びモデル入力を生成する規範モデル部と、制御対象の制御出力がモデル出力に追従するようにフィードバック入力を生成するフィードバック制御部と、モデル入力及びフィードバック入力を加算して制御対象の制御入力を生成する加算器とを備え、規範モデル部は、制御対象の特性を模擬し、モデル入力からモデル出力及び状態変数を生成する数式モデルと、過去モデル入力として出力するモデル入力メモリと、目標値、状態変数及び過去モデル入力を入力し、モデル入力を生成するモデル制御器と、目標値、状態変数及び過去モデル入力に基づいてモデル制御器を決定するモデル制御器決定部を含む。
2011136160.tif 000002
【特許請求の範囲】
【請求項１】
目標値を入力して、モデル出力及びモデル入力を生成する規範モデル部と、
制御対象から出力される制御出力と前記モデル出力を入力し、前記制御出力が前記モデル出力に追従するようにフィードバック入力を生成するフィードバック制御部と、
前記モデル入力及び前記フィードバック入力を加算して前記制御対象へ入力する制御入力を生成する加算器とを備えるサーボ制御装置であって、
前記規範モデル部は、
前記制御対象の特性を模擬し、前記モデル入力から前記モデル出力及び状態変数を生成する数式モデルと、
前記モデル入力を入力して、記憶した過去の前記モデル入力の信号を過去モデル入力として出力するモデル入力メモリと、
前記目標値、前記状態変数及び前記過去モデル入力を入力し、前記モデル入力を生成するモデル制御器と、
前記目標値、前記状態変数及び前記過去モデル入力に基づいて前記モデル制御器を決定するモデル制御器決定部とを含む
サーボ制御装置。
【請求項２】
前記モデル制御器決定部は、前記目標値、前記状態変数及び前記過去モデル入力に基づいて数値ベクトルであるモデルゲインを決定し、
前記モデル制御器は、前記目標値、前記状態変数及び前記過去モデル入力に前記モデルゲインを乗じた値に基づき前記モデル入力を生成する
請求項１記載のサーボ制御装置。
【請求項３】
前記モデル制御器決定部は、予め定めた複数のモデル制御器の候補の中から一つを選択して切り換える
請求項１記載のサーボ制御装置。
【請求項４】
前記モデル制御器決定部は、予め定めた複数のモデルゲインの候補の中から一つを選択して切り換える
請求項２記載のサーボ制御装置。
【請求項５】
前記モデル制御器は、
前記目標値、前記状態変数及び前記過去モデル入力に前記モデルゲインを乗じた値とモデルオフセットとの和をモデル入力の変化率として計算し、出力するモデルサブ制御器を含み、
前記モデルサブ制御器の出力と前記過去モデル入力との和を前記モデル入力として出力し、
前記モデル制御器決定部は、前記モデルゲインとともに前記モデルオフセットの変更を行う
請求項２又は４記載のサーボ制御装置。
【請求項６】
前記モデル制御器決定部は、前記モデル入力及び前記モデル入力の変化率のどちらか一方、あるいは両方とも所定の値より小さくなるように前記モデル制御器の決定を行う
請求項１又は３記載のサーボ制御装置。
【請求項７】
前記モデル制御器決定部は、前記モデル入力及び前記モデル入力と前記過去モデル入力から計算される前記モデル入力の変化率のどちらか一方、あるいは両方とも所定の値より小さくなるように前記モデルゲインの決定を行う
請求項２又は４記載のサーボ制御装置。
【請求項８】
前記モデル制御器決定部は、前記モデル入力及び前記モデル入力の変化率のどちらか一方、あるいは両方とも所定の値より小さくなるように前記モデルゲイン及び前記モデルオフセットの決定を行う
請求項５記載のサーボ制御装置。
【請求項９】
前記モデル制御器決定部は、前記目標値、前記状態変数及び前記過去モデル入力に基づいて予め規定したゲインマップを用いて、前記モデルゲインの決定を行う
請求項４又は７記載のサーボ制御装置。
【請求項１０】
前記モデル制御器決定部は、前記目標値、前記状態変数及び前記モデル入力メモリの出力に基づいて予め規定したゲインマップ及びオフセットマップを用いて、前記モデルゲイン及び前記モデルオフセットの決定を行う
請求項５又は８記載のサーボ制御装置。
【請求項１１】
前記モデル制御器決定部は、ｘM（ｋ）がｋステップ時の前記数式モデルの状態変数、ｕM（ｋ）がｋステップ時の前記モデル入力、ΔｕM（ｋ）がｋステップ時の前記モデル入力の変化率、Ｘが状態制約集合、Ｕがモデル入力制約集合、ΔＵがモデル入力の変化率制約集合、Ｘfが終端制約集合、Ｕfが終端モデル入力制約集合、Ｑが状態重み、Ｒが入力重み、ＰNが終端重み、Ｎがホライゾンであるとき、
【数１】
2011136160.tif 000029
の評価関数を最小にするよう、前記ゲインマップ及びオフセットマップを予め規定する
請求項１０記載サーボ制御装置。
【請求項１２】
前記数式モデルは、振動的な機械系をモデル化した
請求項１から請求項１１までのいずれかに記載のサーボ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、制御対象を高速高精度に追従させることができるサーボ制御装置に関するものである。
【背景技術】
【０００２】
サーボ制御装置は、一般に、指令に対して高速高精度に追従することが望まれており、これを実現するためにフィードフォワード制御とフィードバック制御を組み合わせた２自由度制御が用いられている。しかしながら、モータ等のアクチュエータが発生できるトルクなどの制御入力には制約がある。また、制御入力の変化率は、サーボ制御装置内で発生する電圧に密接に関係しており、制御入力の変化率が大きくなると、電圧が高くなり、電圧飽和が発生する。また、制御入力の変化率が大きくなると、機械系に与えるショックも大きくなる。よって、制御入力の変化率にも制約がある。したがって、制御入力の飽和や変化率の制約を満たしながら、目標値に高速高精度に追従する制御が望まれる。【０００３】
一方、目標値に対する追従特性を一定にした場合、目標値の変化の大小、急峻さによって、制御入力の飽和やその変化率の制約が問題になる度合いが異なる。特に機械共振を持つ振動的な制御対象の場合、指令追従時に励起される振動を積極的に相殺するような制御を行うと、制御入力やその変化率が過大になり、飽和し易くなるという問題がある。【０００４】
特許文献１記載の従来のサーボ制御装置は、２自由度制御系の構成をしており、フィードフォワード制御部に制御対象を近似した数学モデルと、ＦＦ位置制御手段と、ＦＦ速度・安定化制御手段を持っている。ここで、ＦＦ位置制御手段は固定ゲインの位置比例制御もしくは、指令の先読みを利用した予測制御器を用いている。また、ＦＦ速度・安定化制御手段は速度ＰＩ制御と、数式モデルの状態フィードバックから構成されており、これらのゲインは固定である。【０００５】
特許文献２記載の従来のサーボ制御装置は、切り替えスイッチを持ち、切り替えスイッチがＯＮの場合は、予測制御器をフィードバック制御器として用いたフィードバック制御、もしくは２自由度制御を使用し、切り替えスイッチがＯＦＦの場合は、位置比例制御のみのフィードバック制御を切り替えることで、性能を向上させている。この従来例では、制御対象が高精度な追従性を要求しているとき、切り替えスイッチをＯＮにし、目標指令増分値が変化しているときに切り替えスイッチをＯＦＦにする。また、切り替え前後の制御入力を連続にするために、フィルタ関数器により切り替え前後の制御入力を線形補間している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−２５９６７４号公報
【特許文献２】特開２００５−２８５０３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
前述した特許文献１では、フィードフォワード制御部に制御対象を近似した数学モデルと、ＦＦ位置制御手段と、ＦＦ速度・安定化制御手段を持った２自由度制御のサーボ制御装置が開示されているが、ＦＦ位置制御手段と、ＦＦ速度・安定化制御手段に用いるゲインが固定の場合、様々な指令の変化に対して、制御入力の大きさやその変化率の制約の範囲でなるべく高速高精度な制御を実現するのが困難であるという問題点があった。また、特許文献１記載の従来のサーボ制御装置で予測制御を用いた場合でも制御器の特性は固定であるため、一般的に高速に追従させる効果は得られるものの、やはり様々な指令の変化に対応して制御入力の大きさや変化率を考慮しながら、高速高精度な制御を実現するのが難しい。【０００８】
特許文献２では、制御器を切り替えて高性能を実現するサーボ制御装置が開示されているが、制御対象が高精度を要求しているときに切り替えスイッチをＯＮ、目標指令増分値が変化しているときに切り替えスイッチをＯＦＦにするだけでは、様々な指令の変化に対して、トルクの飽和や変化率制限を考慮して制御器の切り替えを行うことができず、高速高精度化が難しいという問題点があった。また、切り替え時に制御入力が不連続になり、ショックを生じるという問題点もあった。さらに、フィルタ関数器で切り替え前後の制御入力を補間する技術も開示されているが、補間中は制御対象の特性を考えていないため、高精度化は難しいという問題点もあった。【０００９】
本発明は、前記のような課題を解決するためになされたものであり、任意の目標値に対して制御入力の飽和や変化率の飽和を発生させずに、高速高精度に制御対象を追従させることができるサーボ制御装置を得ることを目的とする。
【課題を解決するための手段】
【００１０】
本発明に係るサーボ制御装置は、目標値を入力して、モデル出力及びモデル入力を生成する規範モデル部と、制御対象の制御出力が前記モデル出力に追従するようにフィードバック入力を生成するフィードバック制御部と、前記モデル入力及び前記フィードバック入力を加算して前記制御対象の制御入力を生成する加算器とを備えるサーボ制御装置であって、前記規範モデル部は、前記制御対象の特性を模擬し、前記モデル入力から前記モデル出力及び状態変数を生成する数式モデルと、前記モデル入力を入力して、記憶した前記モデル入力の過去の信号を過去モデル入力として出力するモデル入力メモリと、前記目標値、前記状態変数及び前記過去モデル入力を入力し、前記モデル入力を生成するモデル制御器と、前記目標値、前記状態変数及び前記過去モデル入力に基づいて前記モデル制御器を決定するモデル制御器決定部とを含むものである。
【発明の効果】
【００１１】
本発明に係るサーボ制御装置によれば、様々な形状の指令に対して、制御入力の大きさや変化率を考慮しながら制御器の特性を自動的に変化させ、高速高精度に制御対象を追従させることができる。
【図面の簡単な説明】
【００１２】
【図１】この発明の実施例１に係るサーボ制御装置の構成を示すブロック図である。
【図２】この発明の実施例１に係るサーボ制御装置の数式モデルの一例である２慣性系モデルを示す図である。
【図３】この発明の実施例１に係るサーボ制御装置のモデル制御器の構成を示すブロック図である。
【図４】この発明の実施例２に係るサーボ制御装置の構成を示すブロック図である。
【図５】この発明の実施例２に係るサーボ制御装置の最大出力許容集合の例を示す図である。
【図６】この発明の実施例２に係るサーボ制御装置の動作例を示す図である。
【図７】この発明の実施例３に係るサーボ制御装置の構成を示すブロック図である。
【図８】この発明の実施例３に係るサーボ制御装置のモデル制御器の一例を示すブロック図である。
【図９】この発明の実施例３に係るサーボ制御装置のモデル制御器の一例を示すブロック図である。
【図１０】この発明の実施例３に係るサーボ制御装置のモデル制御器の一例を示すブロック図である。
【発明を実施するための形態】
【００１３】
以下、本発明のサーボ制御装置の好適な実施例につき図面を用いて説明する。
【実施例１】
【００１４】
この発明の実施例１に係るサーボ制御装置について図１から図３までを参照しながら説明する。図１は、この発明の実施例１に係るサーボ制御装置の構成を示すブロック図である。なお、以降では、各図中、同一符号は同一又は相当部分を示す。【００１５】
図１において、この発明の実施例１に係るサーボ制御装置は、規範モデル部１と、フィードバック制御部２と、加算器３と、制御対象４の制御出力を検出する検出器５と
が設けられている。【００１６】
制御対象４は、機械負荷と駆動するモータなどのアクチュエータから構成されている。また、検出器５は、エンコーダやリニアスケールなどである。【００１７】
規範モデル部１は、後述するモデル制御器のモデルゲインを決定するモデルゲイン決定部１１と、モデル出力を目標値に追従させるモデル制御器１２と、モデル入力を記憶するモデル入力メモリ１３と、制御対象４の特性を模擬した数式モデル１４とが設けられている。なお、本実施例ではモデル制御器の数値ベクトルであるモデルゲインを変更することによりモデル制御器の特性を切換える。モデルゲインを切換えることを明示的にするため、本実施例ではモデル制御器決定部をモデルゲイン決定部と記載する。【００１８】
また、フィードバック制御部２は、減算器２１と、フィードバック制御器２２とが設けられている。【００１９】
さらに、モデル制御器１２は、モデルサブ制御器１２１と、加算器１２２とが設けられている。【００２０】
つぎに、この実施例１に係るサーボ制御装置の動作について図面を参照しながら説明する。【００２１】
この実施例１に係るサーボ制御装置は、駆動する機械の位置や速度を表す制御出力に対する目標値ｒと、検出器５より検出されたモータの位置や速度を表す制御対象４の制御出力ｙを入力し、制御出力ｙが目標値ｒへ追従するように制御対象４へモータに所望のトルクを発生させるための電流などの制御入力ｕを出力する。【００２２】
規範モデル部１は、目標値ｒを入力し、制御対象４の理想的な動作を表す数式モデル１４のモデル出力ｙMをフィードバック制御部２へ出力し、モデル入力ｕMを加算器３へ出力する。また、フィードバック制御部２は、規範モデル部１から出力されたモデル出力ｙMと、検出器５から出力された制御対象４の制御出力ｙを入力し、加算器３へフィードバック入力ｕFBを出力する。加算器３は、規範モデル部１から出力されたモデル入力ｕMと、フィードバック制御部２から出力されたフィードバック入力ｕFBを加算し、その和を制御入力ｕとして制御対象４へ出力する。そして、制御対象４は、加算器３から出力された制御入力ｕにより駆動し、検出器５により、制御対象４の制御出力ｙが検出される。【００２３】
次に、規範モデル部１の各構成の概略について説明する。【００２４】
まず、モデルゲイン決定部１１は、目標値ｒと、数式モデル１４の状態変数ｘMと、後述する過去モデル入力ｕM’を入力し、それらの値から、モデル入力ｕMとモデル入力変化率ΔｕMの絶対値が所定の値より大きくならないようにモデル制御器１２のモデルゲイン、またはモデルゲインとモデルオフセットを決定し、モデル制御器１２へ出力する。つまり、このモデルゲイン決定部１１は、モデル入力ｕMの絶対値が所定の値より大きくなりそうになると、モデル入力ｕMの絶対値が小さくなるようなモデル入力変化率ΔｕMをモデルサブ制御器１２１が生成するように、モデルゲイン、モデルオフセットを変更する。また、モデル入力変化率ΔｕMの絶対値も所定の値より大きくならないようにモデルゲイン、モデルオフセットを決定する。これにより、モデル入力、モデル入力変化率がある一定以上になることを防止することが可能となり、同時に制御入力、制御入力の変化率もある一定以上になることを防止することが可能となる。【００２５】
モデル制御器１２は、目標値ｒと、モデル入力メモリ１３から出力される過去モデル入力ｕM’と、数式モデル１４の状態変数ｘMとを入力とし、これらの入力の値と、モデルゲイン決定部１１から出力されたモデルゲイン、またはモデルゲインとモデルオフセットを用いた状態フィードバックを行う。すなわち、これらの入力の値とモデルゲインとの乗算、またはこれらの入力の値とモデルゲインとの乗算と、モデルオフセットの加算に基づき、数式モデル１４のモデル出力ｙMが目標値ｒに一致するように、モデル入力ｕMを計算して出力する。【００２６】
モデル入力メモリ１３は、モデル制御器１２より出力されたモデル入力ｕMを入力し、所定の時間、記憶する。そして、記憶したモデル入力ｕMを過去モデル入力ｕM’として、モデルゲイン決定部１１とモデル制御器１２に出力する。【００２７】
数式モデル１４は、制御対象４の特性を模擬しており、モデル制御器１２より計算されたモデル入力ｕMを入力とし、状態変数ｘMをモデルゲイン決定部１１とモデル制御器１２へ、モデル出力ｙMをフィードバック制御部２へ出力する。ここで、状態変数ｘMは数式モデル１４の内部状態を表しており、ｎ次（ｎは１以上）の数値ベクトルとする。モデル出力ｙMはモータの位置や速度、あるいはこれらの両方など、実際に制御対象４から計測できる物理量に対応した数式モデル１４の状態変数の一部である。また、その次元をｍと記述する。【００２８】
次に、フィードバック制御部２について説明する。【００２９】
フィードバック制御部２は、規範モデル部１から出力されたモデル出力ｙMと、検出器５により検出された制御対象４の制御出力ｙを入力し、制御出力ｙがモデル出力ｙMに追従するようにフィードバック制御入力ｕFBを計算する。そして、計算したフィードバック制御入力ｕFBを加算器３へ出力する。【００３０】
フィードバック制御部２の各構成について説明する。【００３１】
減算器２１は、モデル出力ｙMと検出器５により検出された制御対象４の制御出力ｙを入力し、それらの値から出力偏差ｅを計算し、フィードバック制御器２２へ出力する。モデル出力ｙMと制御対象４の制御出力ｙが位置と速度の両方といった数値ベクトルである場合は出力偏差ｅも数値ベクトルとなる。また、その次元はｍとなる。【００３２】
フィードバック制御器２２は、減算器２１から出力された出力偏差ｅを入力とし、出力偏差ｅが０となる、つまり制御出力ｙがモデル出力ｙMに追従するようにフィードバック入力ｕFBを計算する。そして、計算したフィードバック入力ｕFBを加算器３へ出力する。フィードバック制御器２２としては、位置Ｐ速度ＰＩ制御、ＰＩＤ制御、Ｈ∞制御、μ設計、適応制御、スライディングモード制御などの制御法で良く、ここでは特に限定しない。【００３３】
加算器３は、フィードバック制御器２２で計算されたフィードバック入力ｕFBとモデル制御器１２で計算されたモデル入力ｕMを加算し、制御入力ｕを計算する。そして、制御入力ｕにより制御対象４を駆動させ、制御対象４の制御出力ｙと目標値ｒを一致させる。これにより、制御対象４は目標値に追従し、所望の動作をすることになる。【００３４】
次に、規範モデル部１の各構成の動作について詳細に説明する。なお、説明の簡単化のため、以後過去モデル入力ｕM’として１ステップ前のモデル入力を使用する場合について説明する。また、過去モデル入力と１ステップ前のモデル入力は同一記号を用いることにする。ただし、これは過去モデル入力として１ステップ前のモデル入力を使用することを限定するものではない。【００３５】
数式モデル１４は、入力したモデル入力ｕMに基づき、次の式（１）の離散時間状態方程式により、状態変数ｘMとモデル出力ｙMを計算する。【００３６】
【数１】
2011136160.tif 000003
【００３７】
ここで、【００３８】
【数２】
2011136160.tif 000004
【００３９】
は、それぞれ、ｋステップ目での数式モデルの状態変数、モデル入力、モデル出力を表す行列であり、ｎは状態数、ｍは出力数であり、【００４０】
【数３】
2011136160.tif 000005
【００４１】
は、数式モデル１４の特性を表す行列である。また、Ａ、Ｂ、Ｃ、Ｄは制御対象４の特性を表すように決定する。ただし、数式モデル１４は制御対象４のすべての特性を表す必要はなく、特性の一部を表せばよい。【００４２】
数式モデル１４の一例について説明する。図２は、この発明の実施例１に係るサーボ制御装置の数式モデルの一例である２慣性系モデルを示す図である。【００４３】
例えば、制御対象４が複数の共振、反共振を持つ特性であるときに、図２のようなモータがバネを介して機械負荷を駆動する２慣性系モデルを数式モデル１４とし、一番低域に存在する共振、反共振の特性のみを考慮する場合を考える。数式モデル１４を、振動的な機械系をモデル化することにより、振動抑制が高い制御系を得ることが可能となる。ここでは、仮に検出器５を用いることでモータの位置、モータの速度が計測できるとする。図２の２慣性系モデルの連続系の状態方程式は式（２）、式（３）で表わせられる。【００４４】
【数４】
2011136160.tif 000006
【００４５】
ここで、ｐＭはモータの位置、ωＭはモータの速度、ｐＬは機械負荷の位置、ωＬは機械負荷の速度、ＪMはモータの慣性モーメント、ＪLは機械負荷の慣性モーメント、ＴＭはモータトルク、ｋｍはばね定数、ｃｍは粘性係数、そしてｄ／ｄｔは時間に関する微分を表す。【００４６】
実際には、数式モデル１４は線形離散時間システムであるため、式（２）、式（３）を離散化して、離散時間状態方程式を求め、数式モデル１４とする。この場合は、図２中の状態変数ｘMは式（４）のように各サンプリング点におけるモータの位置ｐＭ（ｋ）、モータの速度ωＭ（ｋ）、機械位置ｐＬ（ｋ）、機械速度ωＬ（ｋ）となり、モデル入力ｕMはモータトルクＴＭ（ｋ）となる。また、本例ではモータ位置ｐＭとモータ速度ωＭが計測できると仮定しているため、モデル出力ｙMは式（４）におけるモータ位置ｐＭ（ｋ）、モータ速度ωＭ（ｋ）となる。ここで、ｋはステップ数を表す。【００４７】
【数５】
2011136160.tif 000007
【００４８】
なお、ここで説明したものは、数式モデル１４の一例であり、数式モデル１４が式（２）、式（３）、状態変数ｘM、モデル入力ｕM、とモデル出力ｙMが式（４）に限定されるものではない。【００４９】
次に、既に概要を述べた規範モデル部１の詳細について説明する。まず、規範モデル部１におけるモデル制御器１２の動作について詳細に説明する。動作説明に用いるモデル制御器１２の構成例を図３に示す。【００５０】
モデル制御器１２は、目標値ｒ、１ステップ前のモデル入力ｕM’、数式モデル１４の状態変数ｘMを入力とし、モデルゲイン決定部１１より選択されたモデルゲイン、及び後述するモデルオフセットを取得する。【００５１】
モデルサブ制御器１２１は、目標値ｒ、１ステップ前のモデル入力ｕM’、数式モデル１４の状態変数ｘMとモデルゲインとの乗算、モデルオフセットとの加算に基づいた計算結果をモデル入力変化率ΔｕMとして出力する。モデルオフセットを加算することにより制御性能を向上させることが可能となる。モデルサブ制御器１２１の演算は式（５）で表すことができる。【００５２】
【数６】
2011136160.tif 000008
【００５３】
ここで、Ｋｉがモデルゲインであり、Ｇｉが目標値ｒ、１ステップ前のモデル入力ｕM’、状態変数ｘMとモデルゲインＫｉとの乗算結果に更に加算するモデルオフセットであり、必要としない場合もあるが、後述では利用するため導入しておく。モデルゲインＫｉとモデルオフセットＧｉは、モデルゲイン決定部１１によりモデル制御器１２に入力される。式（５）では目標値ｒに関する項を分離して表記しているが、実際には目標値ｒと追従させる状態変数ｘMとの偏差からモデル入力変化率ΔｕMを生成すればよい。また、目標値ｒのゲインＫｒはモデルゲインＫｉから自動的に決定されるものである。【００５４】
次に、加算器１２２は、モデルサブ制御器１２１が出力したモデル入力変化率ΔｕMと１ステップ前のモデル入力ｕM’とを加算してモデル入力ｕMを出力する。すなわち、モデル入力変化率ΔｕMを積算することでモデル入力ｕMを出力する。【００５５】
【数７】
2011136160.tif 000009
【００５６】
モデル制御器１２は、上記のように演算をすることで、モデルサブ制御器１２１で一旦モデル入力変化率ΔｕMを演算し、加算器１２２の動作によってモデル入力変化率ΔｕMを積算してモデル入力ｕMを出力している。これにより、モデルサブ制御器１２１の演算特性を切換えた場合でも、モデル入力変化率ΔｕMが極端に大きくならない範囲にさえあれば、モデル操作量ｕMが不連続にならずにモデル操作量ｕMを演算することができる。【００５７】
ここで、前述のモデル入力変化率ΔｕMを新たな入力とみなし、数式モデル１４に加算器１２２、モデル入力メモリ１３とを合わせた数式モデルの拡大系を、次の式（７）の離散時間状態方程式で表すことができる。ただしＩは単位行列、０は零行列を表しており、その行と列数は適切に決定する。【００５８】
【数８】
2011136160.tif 000010
【００５９】
したがって、上記の拡大システムが安定かつ所望の応答となるように、モデルサブ制御器１２１のモデルゲインＫｉを設計可能である。また、モデル制御器１２の出力自体がモデル入力変化率ΔｕMであるため、後述のように、モデル入力変化率ΔｕMを所定の範囲に制限するように、モデル制御器１２の演算を切換える操作も容易に可能になる。【００６０】
なお、モデル制御器１２の具体的な演算方法は図３の構成に限定されるものではなく、様々な構成で上記と等価な演算が可能である。すなわち、モデル制御器１２は、目標値ｒ、数式モデル１４の状態変数ｘMとともに、モデル入力メモリ１３の出力である１ステップ前のモデル入力ｕM’に基づいた演算を行うことで、上記と等価な演算により、入力変化率ΔｕMを直接的に考慮した演算が可能になる。【００６１】
次に、モデルゲイン決定部１１によるモデルゲイン、モデルオフセットの決定方式について詳細に説明する。【００６２】
モデルゲイン決定部１１は、目標値ｒと、状態変数ｘMと、１ステップ前のモデル入力ｕM’を元にモデルゲインＫｉ、もしくはモデルゲインＫｉとモデルオフセットＧｉを変更する。ここでは、目標値ｒと、状態変数ｘMと、１ステップ前のモデル入力ｕM’と、モデルゲインＫｉ、モデルオフセットＧｉとの対応関係を記述するゲインマップとオフセットマップを用いて、モデルゲインＫｉとモデルオフセットＧｉを決定する方法について説明する。【００６３】
ゲインマップとして次のものが考えられる。まず、モデル入力変化率ΔｕM（ｋ）のゲインの候補として、高応答と低応答なゲインを用意し、通常は高応答のゲインを用いる。ただし、モデル入力変化率ΔｕM（ｋ）またはモデル入力ｕM（ｋ）の絶対値が所定の大きさを越えそうならば、ゲインを低応答なゲインに切り替える。ここで、高応答なゲインと低応答なゲインの決め方は、式（７）の拡大系に対して、参考例としては極配置法、ループ整形などを用いて設計可能であり、特に限定しない。また、ゲインの数も高応答なゲインと低応答なゲインの２種類に限定するものではなく、３つ以上あっても良い。【００６４】
上記の参考例による設計では、切り替えるモデルゲインの数や各モデルゲインの設計をある程度試行錯誤的に行う必要があり、また、切り替え条件の詳細は別途設計する必要がある。これに対して、以下のようにモデル予測制御の応用を行うことで、複数のモデルゲインや切り替え条件を体系的に決定することができる。【００６５】
モデル予測制御では、オフラインの最適化計算によりゲインとオフセットを切替える制御器が設計されることが知られている（F. Borrelli: Constrained Optimal Control of Linear and Hybrid Systems, Springer Verlag, LNCIS 290 (2003)）。【００６６】
上記の参考資料では、サーボ制御装置に限定しない制御方法としてモデル予測制御を利用して区分的アフィンな状態フィードバック制御系を設計することにより、制約を満たしつつ、かつある評価関数を最小化する方式が提案されている。ここで「アフィン」とは、制御器が状態とゲインとの乗算と、オフセットとの加算に基づくことを意味しており、「区分的」とはゲインとオフセットが制御対象の状態に応じて切替わることを意味している。ただし、上記の参考資料では区分的アフィンな状態フィードバック制御系を設計しているため、制御対象の状態をすべて計測または推定する必要がある。そのため、多数のセンサが必要であるか、オブザーバを構築する必要があり、実用的ではない。【００６７】
しかし、この手法をモデル制御器１２の設計に用いることにより、上記問題点は解決可能である。また、モデル入力ｕMがゲインと制御対象の状態との乗算とオフセットとの加算に基づいて決定され、かつゲインとオフセットが制御対象の状態によって切替わる制御器が設計される。以下、モデル予測制御によるゲインマップとオフセットマップの生成について説明する。【００６８】
モデル予測制御により制御器を設計する際には、モデル、制御制約、評価関数を決める必要がある。次にこれらについて説明する。【００６９】
まず、制御器設計時に用いるモデルについて説明する。本実施例１では、モデル入力変化率ΔｕMも考慮するため、式（７）で表される拡大形を制御器設計時に用いるモデルとする。【００７０】
次に、制御制約について説明する。本実施例１では、各ステップにおいてモデル入力ｕM（ｋ）とモデル入力変化率ΔｕM（ｋ）が所定の値を越えないことを制御制約とする。つまり、【００７１】
【数９】
2011136160.tif 000011
【００７２】
という制御制約が課されているとする。ここで、ｕＭmaxはモデル入力ｕM（ｋ）の絶対値の最大値を、ΔｕＭmaxはモデル入力変化率ΔｕM（ｋ）の絶対値の最大値を表している。【００７３】
最後に評価関数について説明する。本実施例１では、評価関数を【００７４】
【数１０】
2011136160.tif 000012
【００７５】
として、式（９）の評価関数を最小化するモデル入力変化率ΔｕM（ｋ）を計算する問題（式（１０））を考える。【００７６】
【数１１】
2011136160.tif 000013
【００７７】
ここで、ｄはノルムの次数であり、ｄ＝１，２，∞のどれかの値を取る。また、Ｎはホライゾンと呼ばれ、どの程度未来を予測するのかを決めるパラメータであり、一つの設計パラメータである。Ｑ、Ｒ、ＰNは重みであり、設計パラメータとなっている。【００７８】
上記の評価関数を最小化する問題は、ｄ＝１，∞の場合は、適当な変換と補助変数の導入により、ある行列Ｇ、Ｗ、Ｅとあるベクトルｃを用いて、式（１１）のような線形計画問題に帰着可能であることが知られている。【００７９】
【数１２】
2011136160.tif 000014
【００８０】
ここで、ｘM（ｋ）はｋステップ目での状態変数、ｕM（ｋ−１）は１ステップ前のモデル入力であり、ｖは入力列［ΔｕM（ｋ），…，ΔｕM（ｋ＋Ｎ−１）］と補助変数から構成される。【００８１】
式（１１）の最適問題を解くと、数式モデル１４の状態変数ｘM（ｋ）、１ステップ前のモデル入力ｕM（ｋ−１）に応じて切替わるモデルゲインＫｉ,とモデルオフセットＧｉが求まる。また、それと同時にモデルゲインＫｉとモデルオフセットＧｉの切り替わり条件Ｐｉも求まる。Ｐｉはマップ（ゲインマップとオフセットマップ）に相当する。求まったモデルゲインＫｉ、モデルオフセットＧｉ、切り替わり条件Ｐｉを用いて、式（１２）、式（１３）、式（１４）を計算することにより、モデル入力変化率ΔｕM（ｋ）が計算可能となる。【００８２】
【数１３】
2011136160.tif 000015
【００８３】
つまり、モデルゲインＫｉと、モデルオフセットＧｉの値と、数式モデル１４の状態ｘM（ｋ）、１ステップ前のモデル入力ｕM（ｋ−１）とモデルゲインＫｉ、モデルオフセットＧｉを対応づけるマップＰｉとが自動的に設計される。【００８４】
よって、モデルゲイン決定部１１は、式（１１）の最適問題を解いた結果得られるマップを持ち、各ステップにおいて数式モデル１４の状態変数ｘM（ｋ）と１ステップ前のモデル入力ｕM’、目標値ｒを取得する。そして、状態変数ｘMの値と１ステップ前のモデル入力ｕM’をマップに参照することで、モデルゲインＫｉ、モデルオフセットＧｉを選択する。さらに、選択したモデルゲインＫｉとモデルオフセットＧｉをモデル制御器１２へ出力する。【００８５】
そして、上記の通り、モデル制御器１２は、式（１２）、式（１３）、式（１４）のように、数式モデル１４の状態変数ｘM（ｋ）、１ステップ前のモデル入力ｕM’＝ｕM（ｋ−１）と、モデルゲインＫｉとの乗算、モデルオフセットＧｉの加算に基づきモデル入力ｕM（ｋ）を計算する。上記でも説明しているが、実際には目標値ｒと状態変数ｘMとの偏差を使って目標値ｒへ追従する式（１２）、式（１３）、式（１４）と等価な制御が可能である。このとき、目標値ｒのゲインはＫｉから自動的に計算することが可能である。【００８６】
式（１２）、式（１３）、式（１４）のモデル入力ｕM（ｋ）とモデル入力変化率ΔｕM（ｋ）は式（１０）、式（１１）の最適化計算の結果導出されるため、最適化計算の制約（８）を満たすモデル入力ｕM（ｋ）とモデル入力変化率ΔｕM（ｋ）が導出される。つまり、モデル入力ｕMとモデル入力変化率ΔｕMの絶対値がある一定以上になる場合、モデルゲインＫｉ、モデルオフセットＧｉが切り替わる。また、モデルゲインＫｉ、モデルオフセットＧｉが切替わる条件を記述するマップも自動的に計算される。モデル入力ｕMがある一定以上ならないことは入力飽和が防止できることを意味しており、モデル入力変化率ΔｕMがある一定以上にならないことは、モデルゲインＫｉ、モデルオフセットＧｉを上記マップに基づいて変更してもモデル入力ｕMが急激に変化しないことを意味する。【００８７】
また、最適化問題（１０）、（１１）を解いた結果、モデルオフセットＧｉが出てくるので、モデルゲインＫｉのみの場合よりもモデルオフセットＧｉを追加したほうが、式（９）の評価関数を小さくするという意味で高速高精度な制御系が得られる。【００８８】
次に、上述した本実施例１における効果を説明する。【００８９】
この実施例１に係るサーボ制御装置によれば、過去モデル入力を用いてモデルゲインを決定することで、モデル入力変化率、または制御入力変化率を考慮してモデルゲインを決定することができる。すなわち、過去モデル入力ｕM’を用いてモデル入力ｕMを生成するため、モデル入力変化率ΔｕMを新たな入力にすることができる。その結果、モデルゲインの変更を適切に行うことにより、モデル入力ｕMのみならず、ΔｕMすなわちモデル入力変化率がある所定の値より大きくならない制御系を容易に実現することが可能になる。つまり、トルク飽和やトルク変化率飽和、そしてトルク変化率と密接な関係がある電圧飽和を防止しつつ、高性能なサーボ制御装置を得ることが可能である。また、制御性能向上のためにモデルゲインを切り替えても、モデル入力ｕMが急激に変化することを防止することが可能である。【００９０】
さらに、過去モデル入力ｕM’をモデル制御器１２へフィードバックすることで、モデル入力変化率ΔｕMを新たな入力として、状態変数ｘMと過去モデル入力ｕM’をフィードバックする式（７）の拡大系へと等価変換することができる。これにより、最適化計算においてモデル入力変化率ΔｕMを考慮することが可能となる。また、モデルゲイン決定部１１が過去モデル入力ｕM’、数式モデル１４の状態変数ｘM、目標値ｒを用いて、モデルゲインＫｉとモデルオフセットＧｉを切り替えることにより、モデル入力制約｜ｕM｜≦ｕＭmax、モデル入力変化率制約｜ΔｕM｜≦ΔｕＭmaxを満たしつつ、かつ高速高精度な応答が得られるサーボ制御装置が実現できる。【００９１】
ここで、モデルゲインＫｉとモデルオフセットＧｉの変更のためのゲインマップとオフセットマップは予めオフライン計算で求められており、オンラインでの計算はマップの参照によるモデルゲインＫｉ、モデルオフセットＧｉの決定と、過去モデル入力ｕM’、数式モデル１４の状態変数ｘM、目標値ｒと、マップ参照により得られたモデルゲインＫｉの乗算とモデルオフセットＧｉの加算のみである。予めゲインマップとオフセットマップを規定しておくことにより、オンラインでの計算量をかなり減らすことが可能となり、サンプリング時間をより早くすることが可能となる。また、式（５）のように目標値ｒも用いてモデル入力を計算する場合は、これに加えてモデルゲインＫｒの計算と、モデルゲインＫｒと目標値ｒとの乗算が追加される。つまり、各ステップで数値最適化を行わないため、各ステップで最適化計算を行うモデル予測制御よりも計算時間が短く、そのためサンプリング時間を短くすることが可能である。よって、サンプリング時間と制御周期が短く、オンラインでは数値最適化計算が間に合わない制御系においても、モデル予測制御と同じ性能を持ち、かつ制約を考慮した制御系を構築することが可能である。また、サンプリング時間を短くできるため、制御系の性能も向上させることが可能となる。【００９２】
本実施例１では規範モデル部１内に切り替え型の制御系を構築している。そのため、フィードバック制御器２２のゲインなどを切り替える場合とは異なり、安定性を気にせずにモデルゲインを切り替えることが可能である。【００９３】
なお、本実施例１では、上記でｄ＝１，∞の場合について説明したが、ｄ＝２の場合もマルチパラメトリック線形計画問題がマルチパラメトリック二次計画問題に換わるだけであり、結果的にモデルゲインＫｉ、モデルオフセットＧｉが切り替わるモデル入力変化率ΔｕMが生成される。【００９４】
また、上記の説明では、モデルゲイン決定部１１がゲインマップを用いて、モデルゲインを切り替える場合、もしくは、ゲインマップとオフセットマップを用いて、モデルゲインとモデルオフセットを切り替える場合について説明したが、数式モデル１４の状態変数ｘM、目標値ｒ、過去モデル入力ｕM’を変数とする関数を用いて、モデルゲイン、モデルオフセットを計算しても良い。【００９５】
また、上記の説明では、制御制約としてモデル入力飽和｜ｕM｜≦ｕＭmax、モデル入力変化率飽和｜ΔｕM｜≦ΔｕＭmaxを用いたが、制御制約としてこれに限るものではない。具体的には、数式モデル１４の状態変数ｘM、モデル入力ｕM、モデル入力変化率ΔｕMに関する制御制約が凸制約であれば良い。例えば、数式モデル１４の状態変数ｘMに対しても制御制約を課してもよい。【００９６】
また、モデルゲインもしくは、モデルゲインとモデルオフセットを決定する際には、数式モデル１４の状態変数ｘMと目標値ｒ、過去モデル入力ｕM’をすべて使用する必要はなく、これらの情報の一部分を使用するだけでも良い。【００９７】
また、フィードバック制御器２２はモデル出力ｙMと制御対象４の制御出力ｙの出力偏差ｅ＝ｙM―ｙを入力としていたが、制御対象４の状態量ｘをすべて計測し、数式モデル１４の状態変数ｘMと制御対象４の状態量ｘとの状態偏差ｅｘ＝ｘM−ｘをフィードバック制御器２２の入力としてもよい。状態偏差ｅｘ＝ｘM−ｘをフィードバック制御器２２の入力として、フィードバック制御器２２を固定ゲインの状態フィードバック制御系、またはマルチパラメトリック計画法を用いた区分的アフィンな制御系を構築しても同様の効果がある。【００９８】
また、上記の説明では、過去モデル入力として１ステップ前のモデル入力を使用したが、必ずしも１ステップ前に拘るものではなく、例えば複数ステップ前のモデル入力を利用して同様の効果を持たせることも容易であり、１ステップ前のモデル入力以外の過去のモデル入力を過去モデル入力として用いても本実施例１と同様の効果が得られる。【００９９】
本実施例１は、上記のように構成しているので、様々に変化する動作指令に対して、少ない演算量で、モータのトルクといった制御対象４への入力を不連続にすることなく、制御器の特性を自動的に変化させ、制御対象４への入力の絶対値や変化率を制約しながら、高速高精度に制御対象を追従させるサーボ制御装置を得ることができる。
【実施例２】
【０１００】
この発明の実施例２に係るサーボ制御装置について図４から図６までを参照しながら説明する。図４は、この発明の実施例２に係るサーボ制御装置の構成を示すブロック図である。なお、本実施例２においても過去モデル入力として１ステップ前のモデル入力を用いる場合について説明し、記号は同一のものを使用する。また、本実施例でもモデル制御器のモデルゲインを変更することによりモデル制御器の特性を切換えるため、本実施例ではモデル制御器決定部をモデルゲイン決定部と記載する。【０１０１】
図４に示すように、この実施例２に係るサーボ制御装置は、駆動する機械の位置や速度を表す制御出力ｙに対する目標値ｒと、検出器５より検出されたモータの位置や速度を表す制御対象４の制御出力ｙを入力し、制御出力ｙが目標値ｒへ追従するように制御対象４へ制御入力ｕを出力する。【０１０２】
この実施例２に係るサーボ制御装置は、規範モデル部１Ａと、フィードバック制御部２と、加算器３から構成され、機械負荷と駆動するモータなどのアクチュエータから成る制御対象４と、エンコーダなどの検出器５に接続される。【０１０３】
規範モデル部１Ａは、目標値ｒを入力し、制御対象４の理想的な動作を表す数式モデル１４のモデル出力ｙMをフィードバック制御部２へ出力し、モデル入力ｕMを加算器３へ出力する。また、フィードバック制御部２、加算器３、制御対象４及び検出器５は、上記の実施例１と同じ構成のため説明を省略する。よって、この実施例２と上記の実施例１との違いは規範モデル部１Ａのみであるため、規範モデル部１Ａの動作のみ説明する。【０１０４】
規範モデル部１Ａは、後述するモデル制御器のモデルゲインを決定するモデルゲイン決定部１１Ａと、モデル出力ｙMを目標値ｒに追従させるモデル制御器１２Ａと、モデル入力ｕMを記憶するモデル入力メモリ１３と、制御対象４の特性を模擬した数式モデル１４とを有する。ここで、モデル入力メモリ１３と数式モデル１４の動作は、上記の実施例１と同じであるため、説明を省略する。【０１０５】
次に、モデル制御器１２Ａの動作について説明する。モデル制御器１２Ａは、モデルサブ制御器１２１Ａと加算器１２２から構成される。モデルサブ制御器１２１Ａは、目標値ｒと、モデル入力メモリ１３から出力される１ステップ前のモデル入力ｕM’と、数式モデル１４の状態変数ｘMを入力とし、これらの値と、モデルゲイン決定部１１Ａから出力されたモデルゲインとの乗算に基づき、数式モデル１４のモデル出力ｙMが目標値ｒに一致するように、モデル入力変化率ΔｕMを計算し、加算器１２２に出力する。ここで、モデルゲインはｎ＋１個の数値からなるベクトルであり、極配置やループ整形等の手法で予め設計されているとする。モデルサブ制御器１２１Ａで用いるモデルゲインは後述するモデルゲイン決定部１１Ａにより、オンラインで選択される。そのため、モデル制御器１２Ａは切り替え型の制御器になる。【０１０６】
次に、モデルゲイン決定部１１Ａの動作について説明する。モデルゲイン決定部１１Ａは、モデル入力ｕMやモデル入力変化率ΔｕMの絶対値が所定の大きさを越えないように、予め設計されている複数のモデルゲインの中から一つを選択する。予め複数のモデルゲインを定めておくことにより、オンラインでの計算量を減らすことが可能となり、サンプリング時間も早くすることが可能となる。【０１０７】
次に、モデルゲインの選択法について説明する。モデルゲインの選択には、最大出力許容集合Ｏ∞を用いる。最大出力許容集合Ｏ∞とは、制御系（閉ループ系）が拘束条件を破らない条件であり、最大出力許容集合Ｏ∞の計算方法は、『平田、藤田、「外部入力を有する線形離散時間システムに対する拘束条件の解析」、電気学会Ｃ、１１８−３、３８４／３９０、１９９８』に記載されている。本実施例２では、拘束条件は式（８）で記述されるモデル入力制約とモデル入力変化率制約である。まずはこの最大出力許容集合Ｏ∞について説明する。【０１０８】
本実施例２においても、１ステップ前のモデル入力ｕM’をモデルサブ制御器１２１Ａへフィードバックし、加算器１２２によりモデル入力変化率ΔｕMと１ステップ前のモデル入力ｕM’を加算してモデル入力ｕMを生成しているので、モデル入力メモリ１３と、数式モデル１４と、加算器１２２を合わせて、式（７）の拡大系で表される離散時間状態方程式を考える。【０１０９】
また、予め設計されているモデルゲインの１つをＦｉで表す。このモデルゲインＦｉを用いて、モデルサブ制御器１２１Ａが式（１５）を用いて、数式モデル１４の状態変数ｘMと１ステップ前のモデル入力ｕM’から、モデル入力変化率ΔｕMを計算することを考える。【０１１０】
【数１４】
2011136160.tif 000016
【０１１１】
式（１５）を式（７）に代入することで、式（１６）が得られる。【０１１２】
【数１５】
2011136160.tif 000017
【０１１３】
この式（１６）は規範モデル部１Ａの閉ループ系を表している。ｋステップ時における数式モデル１４の状態変数ｘM（ｋ）が決まれば、式（１６）を繰り返し計算することにより、ｋステップ以降における数式モデル１４の状態変数ｘMとモデル入力ｕMが計算可能である。各ステップにおける数式モデル１４の状態変数ｘMとモデル入力ｕMが計算可能であるため、式（１５）を用いることで、各ステップのモデル入力変化率ΔｕMも計算可能である。したがって、モデルゲインＦｉとｋステップ時における数式モデル１４の状態変数ｘM（ｋ）、ｋ−１ステップ時におけるモデル入力ｕM（ｋ−１）が決まれば、式（８）のモデル入力制約、モデル入力変化率制約を満たすかどうかを計算することが事前に可能である。【０１１４】
よって、逆に式（８）の制約条件、モデルゲインＦｉが与えられたときの制約条件を破らない数式モデル１４の状態変数ｘM、モデル入力ｕMの条件を計算することも可能である。上記の説明の通り、この制約条件を破らない条件を最大出力許容集合と言う。【０１１５】
図５は、この発明の実施例２に係るサーボ制御装置の最大出力許容集合の例を示す図である。【０１１６】
図５では、横軸は数式モデル１４の状態変数ｘMの第一要素、縦軸は状態変数ｘMの第二要素を表している。そして、多角形の内部が最大出力許容集合Ｏ∞を表している。また、点Ａは数式モデル１４のｋステップ時の状態変数ｘMが最大出力許容集合Ｏ∞の内部にある状態を表しており、点Ｂはｋステップ時の状態変数ｘMが最大出力許容集合Ｏ∞の外にある場合を表している。各点から出ている線はｋステップ以降の状態変数ｘMの軌跡を表している。点Ａのように、ｋステップ時の状態変数ｘMが最大出力許容集合Ｏ∞の内部にある場合は、ｋステップ時以降もモデル入力制約｜ｕM｜≦ｕＭmax、モデル入力変化率制約｜ΔｕM｜≦ΔｕＭmaxを破らない。しかし、点Ｂのように、ｋステップ時の状態変数ｘMが最大出力許容集合Ｏ∞の外部にある場合は、たとえｋステップ時においてモデル入力制約｜ｕM｜≦ｕＭmax、モデル入力変化率制約｜ΔｕM｜≦ΔｕＭmaxを満たしていても、ｋステップ時以降のいずれかの時点でかならずモデル入力｜ｕM｜≦ｕＭmax、モデル入力変化率制約｜ΔｕM｜≦ΔｕＭmaxを破る。なお、上記の例では数式モデル１４の状態変数ｘMのみを用いて、最大出力許容集合の内部判定を行っているが、もちろんモデル入力ｕM、目標値ｒを用いても良い。【０１１７】
次に、最大出力許容集合を用いたモデルゲイン選択法について説明する。ここでは、図６を用いてモデルゲインが３つある場合について説明する。図６は、この発明の実施例２に係るサーボ制御装置の動作例を示す図である。もちろん、本実施例２は、モデルゲインが３つの場合に限るものではない。また、数式モデル１４の状態変数ｘMが２つの数値からなる数値ベクトルの場合に限るものではない。【０１１８】
図６は、あらかじめモデルゲインＦ１、Ｆ２、Ｆ３が設計されており、各モデルゲインＦ１、Ｆ２、Ｆ３を用いた場合における最大出力許容集合Ｏ∞1、Ｏ∞2、Ｏ∞3が計算されている状況を表している。図６において、横軸に数式モデル１４の状態変数ｘMの第一要素、縦軸に状態変数ｘMの第二要素を表している。また、各多角形は最大出力許容集合Ｏ∞1、Ｏ∞2、Ｏ∞3の境界線を表している。本実施例２では、一番高応答なモデルゲインをＦ１、低応答なモデルゲインをＦ３とする。また、モデルゲインＦ２は、モデルゲインＦ１とＦ３の中間の性能を持つとする。最大出力許容集合Ｏ∞は、モデルゲインＦｉに依存するため、それぞれのモデルゲインＦ１、Ｆ２、Ｆ３を用いた場合の最大出力許容集合Ｏ∞1、Ｏ∞2、Ｏ∞3は異なる。【０１１９】
例えば、数式モデル１４の状態変数ｘMが点Ａにあるとする。点Ａは最大出力許容集合Ｏ∞3の内部にあり、最大出力許容集合Ｏ∞1とＯ∞2の外部になるため、モデルゲインＦ３を用いた場合は式（８）の制約を破らないが、モデルゲインＦ１とＦ２を用いるといつかは、式（８）の制約を破ってしまう。そのため、モデルゲイン決定部１１Ａは、式（８）の制約を破らないモデルゲインＦ３を選択する。そして、モデル制御器１２Ａに選択したモデルゲインＦ３を出力する。【０１２０】
次に、数式モデル１４の状態変数ｘMが点Ｂに遷移したとする。点Ｂは最大出力許容集合Ｏ∞2とＯ∞3の内部にあり、最大出力許容集合Ｏ∞1の外部にあるため、モデルゲインＦ２とＦ３を用いた場合は、式（８）の制約を破らず、モデルゲインＦ１を用いた場合は、式（８）の制約をいずれかは破る。このように、式（８）の制約を破らないモデルゲインが複数存在する場合、モデルゲイン決定部１１Ａは、最も高応答なモデルゲインを選択する。つまり、この場合はモデルゲインＦ２のほうがモデルゲインＦ３より高応答なので、モデルゲイン決定部１１ＡはモデルゲインＦ２を選択し、モデル制御器１２Ａへ出力する。【０１２１】
その後、数式モデル１４の状態変数ｘMが点Ｃに遷移したとする。点Ｃは最大出力許容集合Ｏ∞1、Ｏ∞2、Ｏ∞3の内部にあるため、モデルゲインＦ１、Ｆ２、Ｆ３のいずれかを用いたとしても、式（８）の制約を破らない。したがって、モデルゲイン決定部１１Ａは、最も高応答なモデルゲインであるＦ１を選択し、モデル制御器１２Ａへ出力する。【０１２２】
上記の動作をまとめると、モデルゲイン決定部１１Ａは、次の三つの動作を行う。【０１２３】
１．あらかじめ設計された各モデルゲインＦｎ（ｎ＝１，．．．，Ｒ）に対して、最大出力許容集合Ｏ∞n（ｎ＝１，．．．，Ｒ）をあらかじめ計算しておく。ここで、Ｒは設計したモデルゲインＦｎの数である。【０１２４】
２．目標値ｒ、数式モデル１４の状態変数ｘM、１ステップ前のモデル入力ｕM’を取得し、現在の値が各モデルゲインＦｎを用いて作成した最大出力許容集合Ｏ∞nの内部にあるか外部にあるかを判定する。つまり、各モデルゲインＦｎを用いた場合に制約を破らないかどうかを判定する。【０１２５】
３．そして、制約を破らないモデルゲインＦｎを選択し、モデル制御器１２Ａへ出力する。もし、制約を破らないモデルゲインＦｎが複数あるならば、その中で最も高応答なモデルゲインＦｎを選択する。【０１２６】
そして、モデルサブ制御器１２１Ａは、モデルゲイン決定部１１Ａから出力されたモデルゲインＦｎと式（１５）を用いて、モデル入力変化率ΔｕMを計算し、加算器１２２へ出力する。加算器１２２は、１ステップ前のモデル入力ｕM’とモデル入力変化率ΔｕMを、式（１６）を用いて加算し、モデル入力ｕMをモデル入力メモリ１３と数式モデル１４へ出力する。数式モデル１４は、状態変数ｘMとモデル入力ｕMを式（１）に用いることで、次ステップの状態変数ｘMとモデル出力ｙMを生成する。また、モデル入力メモリ１３は、モデル入力ｕMを１ステップ間記憶しておく。【０１２７】
上記の動作を繰り返し行うことにより、規範モデル部１Ａは、モデル出力ｙMとモデル入力ｕMを生成していく。【０１２８】
次に、上述した本実施例２における効果を説明する。【０１２９】
この実施例２に係るサーボ制御装置によれば、上記の実施例１と同様に、１ステップ前のモデル入力ｕM’を用いてモデル入力ｕMを生成するため、モデル入力変化率ΔｕMを新たな入力にすることができる。その結果、モデル入力ｕMのみならず、ΔｕMすなわちモデル入力変化率ΔｕMがある所定の値より大きくならない制御系を容易に実現することが可能になる。つまり、トルク飽和やトルク変化率飽和、そしてトルク変化率と密接な関係がある電圧飽和を防止しつつ、高性能なサーボ制御装置を得ることが可能である。また、モデルゲインを切り替えても、モデル入力ｕMが急激に変化することを防止することが可能である。【０１３０】
また、本実施例２でも、モデル入力の計算は、モデルゲインの選択と、数式モデル１４の状態変数とモデルゲインとの乗算だけである。したがって、計算時間が短くできるため、サンプリング時間も短くすることが可能である。【０１３１】
なお、上記の実施例１と同様に、目標値ｒと状態変数ｘMとの偏差を使って目標値ｒへ追従する式（１５）と等価な制御が可能である。このとき、目標値ｒのゲインはＦｉから自動的に計算することが可能である。また、最大出力許容集合Ｏ∞も自動的に計算可能である。【０１３２】
また、本実施例２においても、上記の実施例１と同様に、過去モデル入力として１ステップ前のモデル入力を使用したが、必ずしも１ステップ前に拘るものではなく、例えば複数ステップ前のモデル入力を利用して同様の効果を持たせることも容易であり、１ステップ前のモデル入力以外の過去のモデル入力を過去モデル入力として用いても本実施例２と同様の効果が得られる。
【実施例３】
【０１３３】
この発明の実施例３に係るサーボ制御装置について図７から図１０までを参照しながら説明する。図７は、この発明の実施例３に係るサーボ制御装置の構成を示すブロック図である。なお、本実施例３においても過去モデル入力として１ステップ前のモデル入力を用いる場合について説明し、記号は同一のものを使用する。本実施例３は実施例２と同様に最大出力許容集合Ｏ∞を用いて制御器の切り替えを行うが、本実施例３と実施例２との違いは、実施例２がモデルゲインＦｎのみを切り替えているのに対し、本実施例３ではモデル制御器の構造そのものを切り替える点にある。【０１３４】
図７に示すように、本実施例３に係るサーボ制御装置は、駆動する機械の位置や速度を表す制御出力ｙに対する目標値ｒと、検出器５より検出されたモータの位置や速度を表す制御対象４の制御出力ｙを入力し、制御出力ｙが目標値ｒへ追従するように制御対象４へ制御入力ｕを出力する。【０１３５】
本実施例３に係るサーボ制御装置は、規範モデル部１Ｂと、フィードバック制御部２と、加算器３から構成され、機械負荷と駆動するモータなどのアクチュエータから成る制御対象４と、エンコーダなどの検出器５に接続される。【０１３６】
規範モデル部１Ｂは、目標値ｒを入力し、制御対象４の理想的な動作を表す数式モデル１４のモデル出力ｙMをフィードバック制御部２へ出力し、モデル入力ｕMを加算器３へ出力する。また、フィードバック制御部２、加算器３、制御対象４及び検出器５は、上記の実施例１及び実施例２と同じ構成のため説明を省略する。よって、この実施例３と上記の実施例１及び実施例２との違いは規範モデル部１Ｂのみであるため、規範モデル部１Ｂの動作のみ説明する。【０１３７】
規範モデル部１Ｂは、後述するモデル制御器内の制御器Ａ〜Ｚを選択するモデル制御器決定部１１Ｂと、モデル出力ｙMを目標値ｒに追従させるモデル制御器１２Ｂと、モデル入力ｕMを記憶するモデル入力メモリ１３と、制御対象４の特性を模擬した数式モデル１４とを有する。ここで、モデル入力メモリ１３と数式モデル１４の動作は、上記の実施例１及び実施例２と同じであるため、説明を省略する。【０１３８】
次に、モデル制御器１２Ｂの動作について説明する。モデル制御器１２Ｂは、モデルサブ制御器１２１Ｂと加算器１２２から構成される。モデルサブ制御器１２１Ｂは、目標値ｒと、モデル入力メモリ１３から出力される１ステップ前モデル入力ｕM’と、数式モデル１４の状態変数ｘMを入力とし、これらの値と、モデル制御器決定部１１Ｂが制約を満たすように選択した制御器Ａ〜Ｚを用いて、数式モデル１４のモデル出力ｙMが目標値ｒに一致するように計算されたモデル入力変化率ΔｕMを加算器１２２に出力する。ここで、各制御器Ａ〜ＺはＰＩＤ制御、Ｈ∞制御などで予め設計されているものとする。モデルサブ制御器１２１Ｂで用いる制御器Ａ〜Ｚは後述するモデル制御器決定部１１Ｂにより、オンラインで選択される。【０１３９】
以降、本実施例３では説明を簡単にするために、数式モデル１４に加算器１２２とモデル入力メモリ１３を合わせた数式モデルの拡大系が、式（７）の離散時間状態方程式で表され、また予め図８から図１０までに表される３つモデルサブ制御器１２１Ｃ，１２１Ｄ、１２１Ｅが設計されている場合について説明する。ただし、本実施例３がモデルサブ制御器１２１Ｃ，１２１Ｄ、１２１Ｅの使用に限定するものではない。【０１４０】
図８のモデルサブ制御器１２１Ｃは目標値ｒ、状態変数ｘMと１ステップ前モデル入力ｕM’を入力し、モデル入力変化率ΔｕMを加算器１２２へ出力する。また、モデルサブ制御器１２１Ｃは、目標値ｒと状態変数ｘMを入力し、これらの差であるモデル偏差ｅMを計算し、出力する減算器１２１３Ｃと、減算器１２１３Ｃから出力されたモデル偏差ｅMと所定のモデル偏差ゲインＬprとの積を計算し、加算器１２１４Ｃへ出力するモデル偏差ゲイン乗算部１２１１Ｃと、１ステップ前モデル入力ｕM’と１ステップ前モデル入力ゲインＬpuとの積を計算し、計算結果を加算器１２１４Ｃへ出力する１ステップ前モデル入力ゲイン乗算部１２１２Ｃと、モデル偏差ゲイン乗算部１２１１Ｃの出力と１ステップ前モデル入力乗算部１２１２Ｃの出力を加算し、モデル入力変化率ΔｕMを計算する加算器１２１４Ｃから構成される。【０１４１】
図９のモデルサブ制御器１２１Ｄも目標値ｒ、状態変数ｘMと１ステップ前モデル入力ｕM’を入力し、モデル入力変化率ΔｕMを加算器１２２へ出力する。図８のモデルサブ制御器１２１Ｃとの差異は積算値メモリ１２１２Ｄを用いることで、積算値ｘcを記憶し、記憶した積算値をモデル偏差ｅMに加算にすることで積分動作を追加している点にある。モデルサブ制御器１２１Ｄには、モデルサブ制御器１２１Ｃにも用いられているモデル偏差ゲイン乗算部１２１１Ｃ，１ステップ前モデル入力ゲイン乗算部１２１２Ｃ、減算器１２１３Ｃが用いられており、これらの説明は省略する。これらの要素に付け加え、モデルサブ制御器１２１Ｄは、モデル偏差ｅMと１ステップ前積算値ｘc’を加算し、その和を積算値ｘcとしてモデル偏差積分ゲイン乗算部１２１１Ｄに出力する加算器１２１３Ｄと、積算値ｘcにモデル偏差積分ゲインＬIと１サンプリング時間Ｔsを乗算し、それらの積を加算器１２１４Ｄへ出力するモデル偏差積分ゲイン乗算部１２１１Ｄと、積算値ｘcを入力し、１サンプリング時間記憶し、１サンプリング時間後に記憶している値を１ステップ前積算値ｘc’として加算器１２１３Ｄへ出力する積算値メモリ１２１２Ｄと、モデル偏差ゲイン乗算部１２１１Ｃと、１ステップ前モデル入力ゲイン乗算部１２１２Ｃと、モデル偏差積分ゲイン乗算部１２１１Ｄから出力された値をすべて加算し、その和をモデル入力変化率ΔｕMとして加算器１２２へ出力する加算器１２１４Ｄから構成される。【０１４２】
図１０のモデルサブ制御器１２１Ｅも目標値ｒ、状態変数ｘMと１ステップ前モデル入力ｕM’を入力し、モデル入力変化率ΔｕMを加算器１２２へ出力する。図８のモデルサブ制御器１２１Ｃ、図９のモデルサブ制御器１２１Ｄとの差異は状態変数メモリ１２１２Ｅを用いることでモデルサブ制御器１２１Ｅに微分動作を追加している点にある。モデルサブ制御器１２１Ｅには、モデルサブ制御器１２１Ｃにも用いられているモデル偏差ゲイン乗算部１２１１Ｃ、１ステップ前モデル入力ゲイン乗算部１２１２Ｃ、減算器１２１３Ｃが構成されている。また、モデル制御器１２１Ｄにも用いられているモデル偏差積分ゲイン乗算部１２１１Ｄ、積算値メモリ１２１２Ｄ、加算器１２１３Ｄも構成されている。これらの要素に関する説明は省略する。これらの要素に付け加え、モデルサブ制御器１２１Ｅは、状態変数ｘMを１サンプリング時間記憶し、１サンプリング時間後、記憶した値を１ステップ前状態変数ｘM’として減算器１２１３Ｅに出力する状態変数メモリ１２１２Ｅと、状態変数メモリ１２１２Ｅから出力される１ステップ前状態変数ｘM’を状態変数ｘMから減算し、その差を状態変数微分ゲイン乗算部１２１１Ｅに出力する減算器１２１３Ｅと、減算器１２１３Ｅから出力された差を１サンプリング時間Ｔsで除算、状態変数微分ゲインＬDを乗算し、その計算結果を加算器１２１４Ｅへ出力する状態変数微分ゲイン乗算部１２１１Ｅと、モデル偏差ゲイン乗算部１２１１Ｃ、１ステップ前モデル入力ゲイン乗算部１２１２Ｃ、モデル偏差積分ゲイン乗算部１２１１Ｄ、状態変数微分ゲイン乗算部１２１１Ｅの出力をすべて加算し、その和をモデル入力変化率ΔｕMとして加算器１２２へ出力する加算器１２１４Ｅから構成されている。【０１４３】
本実施例３では、実施例２とは異なり、積算値メモリ１２１２Ｄを用いることにより、モデルサブ制御器１２１Ｄに積分動作を、状態変数メモリ１２１２Ｅを用いることにより、モデルサブ制御器１２１Ｅに微分動作を追加しており、ゲインのみならず制御器の動作も切り替える構成となっている。なお、本実施例３では、表記を簡略にするためモデルサブ制御器１２１Ｃ、１２１Ｄ、１２１Ｅにおいて、モデル偏差ゲインＬprと１ステップ前モデル入力ゲインＬpuを同じ記号で表しているが、これらの数値はモデルサブ制御器１２１Ｃ、１２１Ｄ、１２１Ｅで異なっても良い。また、モデルサブ制御器１２１Ｄ、１２１Ｅにおいて、モデル偏差積分ゲインＬIを同じ記号で表しているが、これらの数値もモデルサブ制御器１２１Ｄ、１２１Ｅで異なってもよい。【０１４４】
次に、モデル制御器決定部１１Ｂの動作について説明する。モデル制御器決定部１１Ｂは、モデル入力ｕMやモデル入力変化率ΔｕMの絶対値が所定の大きさを越えないように、予め設計されている複数の制御器Ａ〜Ｚの中から一つを選択する。予め複数の制御器Ａ〜Ｚを定めておくことにより、オンラインでの計算量を減らすことが可能となり、サンプリング時間も早くすることが可能となる。【０１４５】
本実施例３では実施例２と同様にモデル制御器決定部１１Ｂは最大許容出力集合Ｏ∞を用いて制御器Ａ〜Ｚの切り替えを行う。最大許容出力集合Ｏ∞を計算するためには実施例２における式（１６）のように規範モデル部１Ｂの閉ループ系を計算する必要がある。【０１４６】
まず、図８のモデル制御器１２Ｃを用いた場合の閉ループ系を計算する。図８のモデルサブ制御器１２１Ｃを用いた場合のモデル入力変化率ΔｕMは、以下の式（１７）で計算される。【０１４７】
【数１６】
2011136160.tif 000018
【０１４８】
よって、式（１７）を式（７）に代入することにより、モデル制御器１２Ｃを用いた場合の閉ループ系は、以下の式（１８）で表される。【０１４９】
【数１７】
2011136160.tif 000019
【０１５０】
同様に、図９と図１０のモデル制御器１２Ｄ、１２Ｅを用いた場合の閉ループ系を計算する。図９のモデル制御器１２Ｄを用いた場合、モデルサブ制御器１２１Ｄから出力されるモデル入力変化率ΔｕMは、以下の式（１９）、（２０）で計算される。【０１５１】
【数１８】
2011136160.tif 000020
【０１５２】
よって、式（１９）、（２０）を式（７）に代入することにより、モデル制御器１２Ｄを用いた場合の閉ループ系は、以下の式（２１）で表される。【０１５３】
【数１９】
2011136160.tif 000021
【０１５４】
また、図１０のモデル制御器１２Ｅを用いた場合、モデルサブ制御器１２１Ｅから出力されるモデル入力変化率ΔｕMは、以下の式（２０）で計算される。【０１５５】
【数２０】
2011136160.tif 000022
【０１５６】
よって、式（２０）、（２２）を式（７）に代入することにより、モデル制御器１２Ｅを用いた場合の閉ループ系は、以下の式（２３）となる。【０１５７】
【数２１】
2011136160.tif 000023
【０１５８】
モデル制御器１２Ｃを用いた場合の閉ループ系である式（１８）、モデル制御器１２Ｄを用いた場合の閉ループ系である式（２１）を、モデル制御器１２Ｅを用いた場合の閉ループ系である式（２３）と同様に、状態変数ｘM（ｋ）、１ステップ前モデル入力ｕM（ｋ−１）、積算値ｘc（ｋ）、１ステップ前状態変数ｘM（ｋ−１）を用いて閉ループ系を表すと、それぞれ以下の式（２４）、（２５）と表すことができる。【０１５９】
【数２２】
2011136160.tif 000024
【０１６０】
以降、説明を簡単にするために、以下の式（２６）、（２７）、（２８）、（２９）と置き換えて説明する。【０１６１】
【数２３】
2011136160.tif 000025
【０１６２】
次に、式（２３）、（２４）、（２５）を変換することにより、式（１６）と同様の式を導く。まず、定常値ｘ’close1、ｘ’close2、ｘ’close3を、以下の式（３０）、（３１）、（３２）で定義する。【０１６３】
【数２４】
2011136160.tif 000026
【０１６４】
式（３０）、（３１）、（３２）で定義した定常値を用いて、以下の式（３３）、（３４）、（３５）でモデル状態偏差ｅclose1、ｅclose2、ｅclose3を定義する。【０１６５】
【数２５】
2011136160.tif 000027
【０１６６】
式（３３）、（３４）、（３５）で定義したモデル状態偏差ｅclose1、ｅclose2、ｅclose3を用いることで、式（２３）、（２４）、（２５）はそれぞれ以下の式（３６）、（３７）、（３８）と変換することが可能となる。【０１６７】
【数２６】
2011136160.tif 000028
【０１６８】
式（３６）、（３７）、（３８）はそれぞれ式（１６）と同じ形式をしている式であるため、実施例２と同様の方法により、最大許容出力集合Ｏ∞を計算することが可能である。最大許容出力集合Ｏ∞を用いて、モデル制御器決定部１１Ｂがモデル入力制約｜ｕM｜≦ｕＭmax、モデル入力変化率制約｜ΔｕM｜≦ΔｕＭmaxを破らず、かつ最も応答が早い制御器Ａ〜Ｚを選択すれば、上記制約をやぶらず、かつ応答が早い制御系が得られる。モデル制御器決定部１１Ｂによる最大許容出力集合Ｏ∞を用いた制御器切り替え方法は実施例２と同じであるため、説明を省略する。【０１６９】
本実施例３に係るサーボ制御装置によれば、上記の実施例１及び実施例２と同様に、１ステップ前のモデル入力ｕM’を用いてモデル入力ｕMを生成するため、モデル入力変化率ΔｕMを新たな入力にすることができる。その結果、モデル入力ｕMのみならず、ΔｕMすなわちモデル入力変化率ΔｕMがある所定の値より大きくならない制御系を容易に実現することが可能になる。つまり、トルク飽和やトルク変化率飽和、そしてトルク変化率と密接な関係がある電圧飽和を防止しつつ、高性能なサーボ制御装置を得ることが可能である。また、モデルゲインを切り替えても、モデル入力ｕMが急激に変化することを防止することが可能である。【０１７０】
また、本実施例３でも、モデル入力の計算は、制御器Ａ〜Ｚの選択と、数式モデル１４の状態変数と制御器Ａ〜Ｚの演算だけである。したがって、計算時間が短くできるため、サンプリング時間も短くすることが可能である。【０１７１】
また、本実施例３においても、上記の実施例１及び実施例２と同様に、過去モデル入力として１ステップ前のモデル入力を使用したが、必ずしも１ステップ前に拘るものではなく、例えば複数ステップ前のモデル入力を利用して同様の効果を持たせることも容易であり、１ステップ前のモデル入力以外の過去のモデル入力を過去モデル入力として用いても実施例２と同様の効果が得られる。
【符号の説明】
【０１７２】
１  規範モデル部、１Ａ  規範モデル部、２  フィードバック制御部、３  加算器、４  制御対象、５  検出器、１１  モデルゲイン決定部、１１Ａ  モデルゲイン決定部、１１Ｂ  モデル制御器決定部、１２  モデル制御器、１２Ａ  モデル制御器、１２Ｂ  モデル制御器、１２Ｃ  モデル制御器、１２Ｄ  モデル制御器、１２Ｅ  モデル制御器、１３  モデル入力メモリ、１４  数式モデル、２１  減算器、２２  フィードバック制御器、１２１  モデルサブ制御器、１２１Ａ  モデルサブ制御器、１２１Ｂ  モデルサブ制御器、１２１Ｃ  モデルサブ制御器、１２１Ｄ  モデルサブ制御器、１２１Ｅ  モデルサブ制御器、１２２  加算器、１２１１Ｃ  モデル偏差ゲイン乗算部、１２１２Ｃ  １ステップ前モデル入力ゲイン乗算部、１２１３Ｃ  減算器、１２１４Ｃ  加算器、１２１１Ｄ  モデル偏差積分ゲイン乗算部、１２１２Ｄ：積算値メモリ、１２１３Ｄ：加算器、１２１４Ｄ  加算器、１２１１Ｅ  状態変数微分ゲイン乗算部、１２１２Ｅ  状態変数メモリ、１２１３Ｅ  減算器、１２１４Ｅ  加算器。
【図１】
2011136160.tif 000030
【図２】
2011136160.tif 000031
【図３】
2011136160.tif 000032
【図４】
2011136160.tif 000033
【図５】
2011136160.tif 000034
【図６】
2011136160.tif 000035
【図７】
2011136160.tif 000036
【図８】
2011136160.tif 000037
【図９】
2011136160.tif 000038
【図１０】
2011136160.tif 000039
【国際調査報告】
2011136160.tif 000040
2011136160.tif 000041