"目標値を入力して、モデル出力及びモデル入力を生成する規範モデル部と、制御対象から出力される制御出力と前記モデル出力を入力し、前記制御出力が前記モデル出力に追従するようにフィードバック入力を生成するフィードバック制御部と、前記モデル入力及び前記フィードバック入力を加算して前記制御対象へ入力する制御入力を生成する加算器とを備えるサーボ制御装置であって、前記規範モデル部は、前記制御対象の特性を模擬し、前記モデル入力から前記モデル出力及び状態変数を生成する数式モデルと、前記モデル入力を入力して、記憶した過去の前記モデル入力の信号を過去モデル入力として出力するモデル入力メモリと、前記目標値、前記状態変数及び前記過去モデル入力を入力し、前記モデル入力を生成するモデル制御器と、前記目標値、前記状態変数及び前記過去モデル入力に基づいて前記モデル制御器を決定するモデル制御器決定部とを含むサーボ制御装置。前記モデル制御器決定部は、前記目標値、前記状態変数及び前記過去モデル入力に基づいて数値ベクトルであるモデルゲインを決定し、前記モデル制御器は、前記目標値、前記状態変数及び前記過去モデル入力に前記モデルゲインを乗じた値に基づき前記モデル入力を生成する請求項1記載のサーボ制御装置。前記モデル制御器決定部は、予め定めた複数のモデル制御器の候補の中から一つを選択して切り換える請求項1記載のサーボ制御装置。前記モデル制御器決定部は、予め定めた複数のモデルゲインの候補の中から一つを選択して切り換える請求項2記載のサーボ制御装置。前記モデル制御器は、前記目標値、前記状態変数及び前記過去モデル入力に前記モデルゲインを乗じた値とモデルオフセットとの和をモデル入力の変化率として計算し、出力するモデルサブ制御器を含み、前記モデルサブ制御器の出力と前記過去モデル入力との和を前記モデル入力として出力し、前記モデル制御器決定部は、前記モデルゲインとともに前記モデルオフセットの変更を行う請求項2又は4記載のサーボ制御装置。前記モデル制御器決定部は、前記モデル入力及び前記モデル入力の変化率のどちらか一方、あるいは両方とも所定の値より小さくなるように前記モデル制御器の決定を行う請求項1又は3記載のサーボ制御装置。前記モデル制御器決定部は、前記モデル入力及び前記モデル入力と前記過去モデル入力から計算される前記モデル入力の変化率のどちらか一方、あるいは両方とも所定の値より小さくなるように前記モデルゲインの決定を行う請求項2又は4記載のサーボ制御装置。前記モデル制御器決定部は、前記モデル入力及び前記モデル入力の変化率のどちらか一方、あるいは両方とも所定の値より小さくなるように前記モデルゲイン及び前記モデルオフセットの決定を行う請求項5記載のサーボ制御装置。前記モデル制御器決定部は、前記目標値、前記状態変数及び前記過去モデル入力に基づいて予め規定したゲインマップを用いて、前記モデルゲインの決定を行う請求項4又は7記載のサーボ制御装置。前記モデル制御器決定部は、前記目標値、前記状態変数及び前記モデル入力メモリの出力に基づいて予め規定したゲインマップ及びオフセットマップを用いて、前記モデルゲイン及び前記モデルオフセットの決定を行う請求項5又は8記載のサーボ制御装置。前記モデル制御器決定部は、xMkがkステップ時の前記数式モデルの状態変数、uMkがkステップ時の前記モデル入力、ΔuMkがkステップ時の前記モデル入力の変化率、Xが状態制約集合、Uがモデル入力制約集合、ΔUがモデル入力の変化率制約集合、Xfが終端制約集合、Ufが終端モデル入力制約集合、Qが状態重み、Rが入力重み、PNが終端重み、Nがホライゾンであるとき、の評価関数を最小にするよう、前記ゲインマップ及びオフセットマップを予め規定する請求項10記載サーボ制御装置。前記数式モデルは、振動的な機械系をモデル化した請求項1から請求項11までのいずれかに記載のサーボ制御装置。前述した特許文献1では、フィードフォワード制御部に制御対象を近似した数学モデルと、FF位置制御手段と、FF速度安定化制御手段を持った2自由度制御のサーボ制御装置が開示されているが、FF位置制御手段と、FF速度安定化制御手段に用いるゲインが固定の場合、様々な指令の変化に対して、制御入力の大きさやその変化率の制約の範囲でなるべく高速高精度な制御を実現するのが困難であるという問題点があった。また、特許文献1記載の従来のサーボ制御装置で予測制御を用いた場合でも制御器の特性は固定であるため、一般的に高速に追従させる効果は得られるものの、やはり様々な指令の変化に対応して制御入力の大きさや変化率を考慮しながら、高速高精度な制御を実現するのが難しい。特許文献2では、制御器を切り替えて高性能を実現するサーボ制御装置が開示されているが、制御対象が高精度を要求しているときに切り替えスイッチをON、目標指令増分値が変化しているときに切り替えスイッチをOFFにするだけでは、様々な指令の変化に対して、トルクの飽和や変化率制限を考慮して制御器の切り替えを行うことができず、高速高精度化が難しいという問題点があった。また、切り替え時に制御入力が不連続になり、ショックを生じるという問題点もあった。さらに、フィルタ関数器で切り替え前後の制御入力を補間する技術も開示されているが、補間中は制御対象の特性を考えていないため、高精度化は難しいという問題点もあった。本発明は、前記のような課題を解決するためになされたものであり、任意の目標値に対して制御入力の飽和や変化率の飽和を発生させずに、高速高精度に制御対象を追従させることができるサーボ制御装置を得ることを目的とする。本発明に係るサーボ制御装置は、目標値を入力して、モデル出力及びモデル入力を生成する規範モデル部と、制御対象の制御出力が前記モデル出力に追従するようにフィードバック入力を生成するフィードバック制御部と、前記モデル入力及び前記フィードバック入力を加算して前記制御対象の制御入力を生成する加算器とを備えるサーボ制御装置であって、前記規範モデル部は、前記制御対象の特性を模擬し、前記モデル入力から前記モデル出力及び状態変数を生成する数式モデルと、前記モデル入力を入力して、記憶した前記モデル入力の過去の信号を過去モデル入力として出力するモデル入力メモリと、前記目標値、前記状態変数及び前記過去モデル入力を入力し、前記モデル入力を生成するモデル制御器と、前記目標値、前記状態変数及び前記過去モデル入力に基づいて前記モデル制御器を決定するモデル制御器決定部とを含むものである。本発明に係るサーボ制御装置によれば、様々な形状の指令に対して、制御入力の大きさや変化率を考慮しながら制御器の特性を自動的に変化させ、高速高精度に制御対象を追従させることができる。以下、本発明のサーボ制御装置の好適な実施例につき図面を用いて説明する。この発明の実施例1に係るサーボ制御装置について図1から図3までを参照しながら説明する。図1は、この発明の実施例1に係るサーボ制御装置の構成を示すブロック図である。なお、以降では、各図中、同一符号は同一又は相当部分を示す。図1において、この発明の実施例1に係るサーボ制御装置は、規範モデル部1と、フィードバック制御部2と、加算器3と、制御対象4の制御出力を検出する検出器5とが設けられている。制御対象4は、機械負荷と駆動するモータなどのアクチュエータから構成されている。また、検出器5は、エンコーダやリニアスケールなどである。規範モデル部1は、後述するモデル制御器のモデルゲインを決定するモデルゲイン決定部11と、モデル出力を目標値に追従させるモデル制御器12と、モデル入力を記憶するモデル入力メモリ13と、制御対象4の特性を模擬した数式モデル14とが設けられている。なお、本実施例ではモデル制御器の数値ベクトルであるモデルゲインを変更することによりモデル制御器の特性を切換える。モデルゲインを切換えることを明示的にするため、本実施例ではモデル制御器決定部をモデルゲイン決定部と記載する。また、フィードバック制御部2は、減算器21と、フィードバック制御器22とが設けられている。さらに、モデル制御器12は、モデルサブ制御器121と、加算器122とが設けられている。つぎに、この実施例1に係るサーボ制御装置の動作について図面を参照しながら説明する。この実施例1に係るサーボ制御装置は、駆動する機械の位置や速度を表す制御出力に対する目標値rと、検出器5より検出されたモータの位置や速度を表す制御対象4の制御出力yを入力し、制御出力yが目標値rへ追従するように制御対象4へモータに所望のトルクを発生させるための電流などの制御入力uを出力する。規範モデル部1は、目標値rを入力し、制御対象4の理想的な動作を表す数式モデル14のモデル出力yMをフィードバック制御部2へ出力し、モデル入力uMを加算器3へ出力する。また、フィードバック制御部2は、規範モデル部1から出力されたモデル出力yMと、検出器5から出力された制御対象4の制御出力yを入力し、加算器3へフィードバック入力uFBを出力する。加算器3は、規範モデル部1から出力されたモデル入力uMと、フィードバック制御部2から出力されたフィードバック入力uFBを加算し、その和を制御入力uとして制御対象4へ出力する。そして、制御対象4は、加算器3から出力された制御入力uにより駆動し、検出器5により、制御対象4の制御出力yが検出される。次に、規範モデル部1の各構成の概略について説明する。まず、モデルゲイン決定部11は、目標値rと、数式モデル14の状態変数xMと、後述する過去モデル入力uM’を入力し、それらの値から、モデル入力uMとモデル入力変化率ΔuMの絶対値が所定の値より大きくならないようにモデル制御器12のモデルゲイン、またはモデルゲインとモデルオフセットを決定し、モデル制御器12へ出力する。つまり、このモデルゲイン決定部11は、モデル入力uMの絶対値が所定の値より大きくなりそうになると、モデル入力uMの絶対値が小さくなるようなモデル入力変化率ΔuMをモデルサブ制御器121が生成するように、モデルゲイン、モデルオフセットを変更する。また、モデル入力変化率ΔuMの絶対値も所定の値より大きくならないようにモデルゲイン、モデルオフセットを決定する。これにより、モデル入力、モデル入力変化率がある一定以上になることを防止することが可能となり、同時に制御入力、制御入力の変化率もある一定以上になることを防止することが可能となる。モデル制御器12は、目標値rと、モデル入力メモリ13から出力される過去モデル入力uM’と、数式モデル14の状態変数xMとを入力とし、これらの入力の値と、モデルゲイン決定部11から出力されたモデルゲイン、またはモデルゲインとモデルオフセットを用いた状態フィードバックを行う。すなわち、これらの入力の値とモデルゲインとの乗算、またはこれらの入力の値とモデルゲインとの乗算と、モデルオフセットの加算に基づき、数式モデル14のモデル出力yMが目標値rに一致するように、モデル入力uMを計算して出力する。モデル入力メモリ13は、モデル制御器12より出力されたモデル入力uMを入力し、所定の時間、記憶する。そして、記憶したモデル入力uMを過去モデル入力uM’として、モデルゲイン決定部11とモデル制御器12に出力する。数式モデル14は、制御対象4の特性を模擬しており、モデル制御器12より計算されたモデル入力uMを入力とし、状態変数xMをモデルゲイン決定部11とモデル制御器12へ、モデル出力yMをフィードバック制御部2へ出力する。ここで、状態変数xMは数式モデル14の内部状態を表しており、n次nは1以上の数値ベクトルとする。モデル出力yMはモータの位置や速度、あるいはこれらの両方など、実際に制御対象4から計測できる物理量に対応した数式モデル14の状態変数の一部である。また、その次元をmと記述する。次に、フィードバック制御部2について説明する。フィードバック制御部2は、規範モデル部1から出力されたモデル出力yMと、検出器5により検出された制御対象4の制御出力yを入力し、制御出力yがモデル出力yMに追従するようにフィードバック制御入力uFBを計算する。そして、計算したフィードバック制御入力uFBを加算器3へ出力する。フィードバック制御部2の各構成について説明する。減算器21は、モデル出力yMと検出器5により検出された制御対象4の制御出力yを入力し、それらの値から出力偏差eを計算し、フィードバック制御器22へ出力する。モデル出力yMと制御対象4の制御出力yが位置と速度の両方といった数値ベクトルである場合は出力偏差eも数値ベクトルとなる。また、その次元はmとなる。フィードバック制御器22は、減算器21から出力された出力偏差eを入力とし、出力偏差eが0となる、つまり制御出力yがモデル出力yMに追従するようにフィードバック入力uFBを計算する。そして、計算したフィードバック入力uFBを加算器3へ出力する。フィードバック制御器22としては、位置P速度PI制御、PID制御、H∞制御、μ設計、適応制御、スライディングモード制御などの制御法で良く、ここでは特に限定しない。加算器3は、フィードバック制御器22で計算されたフィードバック入力uFBとモデル制御器12で計算されたモデル入力uMを加算し、制御入力uを計算する。そして、制御入力uにより制御対象4を駆動させ、制御対象4の制御出力yと目標値rを一致させる。これにより、制御対象4は目標値に追従し、所望の動作をすることになる。次に、規範モデル部1の各構成の動作について詳細に説明する。なお、説明の簡単化のため、以後過去モデル入力uM’として1ステップ前のモデル入力を使用する場合について説明する。また、過去モデル入力と1ステップ前のモデル入力は同一記号を用いることにする。ただし、これは過去モデル入力として1ステップ前のモデル入力を使用することを限定するものではない。数式モデル14は、入力したモデル入力uMに基づき、次の式1の離散時間状態方程式により、状態変数xMとモデル出力yMを計算する。ここで、は、それぞれ、kステップ目での数式モデルの状態変数、モデル入力、モデル出力を表す行列であり、nは状態数、mは出力数であり、は、数式モデル14の特性を表す行列である。また、A、B、C、Dは制御対象4の特性を表すように決定する。ただし、数式モデル14は制御対象4のすべての特性を表す必要はなく、特性の一部を表せばよい。数式モデル14の一例について説明する。図2は、この発明の実施例1に係るサーボ制御装置の数式モデルの一例である2慣性系モデルを示す図である。例えば、制御対象4が複数の共振、反共振を持つ特性であるときに、図2のようなモータがバネを介して機械負荷を駆動する2慣性系モデルを数式モデル14とし、一番低域に存在する共振、反共振の特性のみを考慮する場合を考える。数式モデル14を、振動的な機械系をモデル化することにより、振動抑制が高い制御系を得ることが可能となる。ここでは、仮に検出器5を用いることでモータの位置、モータの速度が計測できるとする。図2の2慣性系モデルの連続系の状態方程式は式2、式3で表わせられる。ここで、pMはモータの位置、ωMはモータの速度、pLは機械負荷の位置、ωLは機械負荷の速度、JMはモータの慣性モーメント、JLは機械負荷の慣性モーメント、TMはモータトルク、kmはばね定数、cmは粘性係数、そしてd/dtは時間に関する微分を表す。実際には、数式モデル14は線形離散時間システムであるため、式2、式3を離散化して、離散時間状態方程式を求め、数式モデル14とする。この場合は、図2中の状態変数xMは式4のように各サンプリング点におけるモータの位置pMk、モータの速度ωMk、機械位置pLk、機械速度ωLkとなり、モデル入力uMはモータトルクTMkとなる。また、本例ではモータ位置pMとモータ速度ωMが計測できると仮定しているため、モデル出力yMは式4におけるモータ位置pMk、モータ速度ωMkとなる。ここで、kはステップ数を表す。なお、ここで説明したものは、数式モデル14の一例であり、数式モデル14が式2、式3、状態変数xM、モデル入力uM、とモデル出力yMが式4に限定されるものではない。次に、既に概要を述べた規範モデル部1の詳細について説明する。まず、規範モデル部1におけるモデル制御器12の動作について詳細に説明する。動作説明に用いるモデル制御器12の構成例を図3に示す。モデル制御器12は、目標値r、1ステップ前のモデル入力uM’、数式モデル14の状態変数xMを入力とし、モデルゲイン決定部11より選択されたモデルゲイン、及び後述するモデルオフセットを取得する。モデルサブ制御器121は、目標値r、1ステップ前のモデル入力uM’、数式モデル14の状態変数xMとモデルゲインとの乗算、モデルオフセットとの加算に基づいた計算結果をモデル入力変化率ΔuMとして出力する。モデルオフセットを加算することにより制御性能を向上させることが可能となる。モデルサブ制御器121の演算は式5で表すことができる。ここで、Kiがモデルゲインであり、Giが目標値r、1ステップ前のモデル入力uM’、状態変数xMとモデルゲインKiとの乗算結果に更に加算するモデルオフセットであり、必要としない場合もあるが、後述では利用するため導入しておく。モデルゲインKiとモデルオフセットGiは、モデルゲイン決定部11によりモデル制御器12に入力される。式5では目標値rに関する項を分離して表記しているが、実際には目標値rと追従させる状態変数xMとの偏差からモデル入力変化率ΔuMを生成すればよい。また、目標値rのゲインKrはモデルゲインKiから自動的に決定されるものである。次に、加算器122は、モデルサブ制御器121が出力したモデル入力変化率ΔuMと1ステップ前のモデル入力uM’とを加算してモデル入力uMを出力する。すなわち、モデル入力変化率ΔuMを積算することでモデル入力uMを出力する。モデル制御器12は、上記のように演算をすることで、モデルサブ制御器121で一旦モデル入力変化率ΔuMを演算し、加算器122の動作によってモデル入力変化率ΔuMを積算してモデル入力uMを出力している。これにより、モデルサブ制御器121の演算特性を切換えた場合でも、モデル入力変化率ΔuMが極端に大きくならない範囲にさえあれば、モデル操作量uMが不連続にならずにモデル操作量uMを演算することができる。ここで、前述のモデル入力変化率ΔuMを新たな入力とみなし、数式モデル14に加算器122、モデル入力メモリ13とを合わせた数式モデルの拡大系を、次の式7の離散時間状態方程式で表すことができる。ただしIは単位行列、0は零行列を表しており、その行と列数は適切に決定する。したがって、上記の拡大システムが安定かつ所望の応答となるように、モデルサブ制御器121のモデルゲインKiを設計可能である。また、モデル制御器12の出力自体がモデル入力変化率ΔuMであるため、後述のように、モデル入力変化率ΔuMを所定の範囲に制限するように、モデル制御器12の演算を切換える操作も容易に可能になる。なお、モデル制御器12の具体的な演算方法は図3の構成に限定されるものではなく、様々な構成で上記と等価な演算が可能である。すなわち、モデル制御器12は、目標値r、数式モデル14の状態変数xMとともに、モデル入力メモリ13の出力である1ステップ前のモデル入力uM’に基づいた演算を行うことで、上記と等価な演算により、入力変化率ΔuMを直接的に考慮した演算が可能になる。次に、モデルゲイン決定部11によるモデルゲイン、モデルオフセットの決定方式について詳細に説明する。モデルゲイン決定部11は、目標値rと、状態変数xMと、1ステップ前のモデル入力uM’を元にモデルゲインKi、もしくはモデルゲインKiとモデルオフセットGiを変更する。ここでは、目標値rと、状態変数xMと、1ステップ前のモデル入力uM’と、モデルゲインKi、モデルオフセットGiとの対応関係を記述するゲインマップとオフセットマップを用いて、モデルゲインKiとモデルオフセットGiを決定する方法について説明する。ゲインマップとして次のものが考えられる。まず、モデル入力変化率ΔuMkのゲインの候補として、高応答と低応答なゲインを用意し、通常は高応答のゲインを用いる。ただし、モデル入力変化率ΔuMkまたはモデル入力uMkの絶対値が所定の大きさを越えそうならば、ゲインを低応答なゲインに切り替える。ここで、高応答なゲインと低応答なゲインの決め方は、式7の拡大系に対して、参考例としては極配置法、ループ整形などを用いて設計可能であり、特に限定しない。また、ゲインの数も高応答なゲインと低応答なゲインの2種類に限定するものではなく、3つ以上あっても良い。上記の参考例による設計では、切り替えるモデルゲインの数や各モデルゲインの設計をある程度試行錯誤的に行う必要があり、また、切り替え条件の詳細は別途設計する必要がある。これに対して、以下のようにモデル予測制御の応用を行うことで、複数のモデルゲインや切り替え条件を体系的に決定することができる。モデル予測制御では、オフラインの最適化計算によりゲインとオフセットを切替える制御器が設計されることが知られているFBorrelliConstrainedOptimalControlofLinearandHybridSystemsSpringerVerlagLNCIS290。上記の参考資料では、サーボ制御装置に限定しない制御方法としてモデル予測制御を利用して区分的アフィンな状態フィードバック制御系を設計することにより、制約を満たしつつ、かつある評価関数を最小化する方式が提案されている。ここでアフィンとは、制御器が状態とゲインとの乗算と、オフセットとの加算に基づくことを意味しており、区分的とはゲインとオフセットが制御対象の状態に応じて切替わることを意味している。ただし、上記の参考資料では区分的アフィンな状態フィードバック制御系を設計しているため、制御対象の状態をすべて計測または推定する必要がある。そのため、多数のセンサが必要であるか、オブザーバを構築する必要があり、実用的ではない。しかし、この手法をモデル制御器12の設計に用いることにより、上記問題点は解決可能である。また、モデル入力uMがゲインと制御対象の状態との乗算とオフセットとの加算に基づいて決定され、かつゲインとオフセットが制御対象の状態によって切替わる制御器が設計される。以下、モデル予測制御によるゲインマップとオフセットマップの生成について説明する。モデル予測制御により制御器を設計する際には、モデル、制御制約、評価関数を決める必要がある。次にこれらについて説明する。まず、制御器設計時に用いるモデルについて説明する。本実施例1では、モデル入力変化率ΔuMも考慮するため、式7で表される拡大形を制御器設計時に用いるモデルとする。次に、制御制約について説明する。本実施例1では、各ステップにおいてモデル入力uMkとモデル入力変化率ΔuMkが所定の値を越えないことを制御制約とする。つまり、という制御制約が課されているとする。ここで、uMmaxはモデル入力uMkの絶対値の最大値を、ΔuMmaxはモデル入力変化率ΔuMkの絶対値の最大値を表している。最後に評価関数について説明する。本実施例1では、評価関数をとして、式9の評価関数を最小化するモデル入力変化率ΔuMkを計算する問題式10を考える。ここで、dはノルムの次数であり、d=1,2,∞のどれかの値を取る。また、Nはホライゾンと呼ばれ、どの程度未来を予測するのかを決めるパラメータであり、一つの設計パラメータである。Q、R、PNは重みであり、設計パラメータとなっている。上記の評価関数を最小化する問題は、d=1,∞の場合は、適当な変換と補助変数の導入により、ある行列G、W、Eとあるベクトルcを用いて、式11のような線形計画問題に帰着可能であることが知られている。ここで、xMkはkステップ目での状態変数、uMk-1は1ステップ前のモデル入力であり、vは入力列[ΔuMk,...,ΔuMkN-1]と補助変数から構成される。式11の最適問題を解くと、数式モデル14の状態変数xMk、1ステップ前のモデル入力uMk-1に応じて切替わるモデルゲインKiとモデルオフセットGiが求まる。また、それと同時にモデルゲインKiとモデルオフセットGiの切り替わり条件Piも求まる。Piはマップゲインマップとオフセットマップに相当する。求まったモデルゲインKi、モデルオフセットGi、切り替わり条件Piを用いて、式12、式13、式14を計算することにより、モデル入力変化率ΔuMkが計算可能となる。つまり、モデルゲインKiと、モデルオフセットGiの値と、数式モデル14の状態xMk、1ステップ前のモデル入力uMk-1とモデルゲインKi、モデルオフセットGiを対応づけるマップPiとが自動的に設計される。よって、モデルゲイン決定部11は、式11の最適問題を解いた結果得られるマップを持ち、各ステップにおいて数式モデル14の状態変数xMkと1ステップ前のモデル入力uM’、目標値rを取得する。そして、状態変数xMの値と1ステップ前のモデル入力uM’をマップに参照することで、モデルゲインKi、モデルオフセットGiを選択する。さらに、選択したモデルゲインKiとモデルオフセットGiをモデル制御器12へ出力する。そして、上記の通り、モデル制御器12は、式12、式13、式14のように、数式モデル14の状態変数xMk、1ステップ前のモデル入力uM’=uMk-1と、モデルゲインKiとの乗算、モデルオフセットGiの加算に基づきモデル入力uMkを計算する。上記でも説明しているが、実際には目標値rと状態変数xMとの偏差を使って目標値rへ追従する式12、式13、式14と等価な制御が可能である。このとき、目標値rのゲインはKiから自動的に計算することが可能である。式12、式13、式14のモデル入力uMkとモデル入力変化率ΔuMkは式10、式11の最適化計算の結果導出されるため、最適化計算の制約8を満たすモデル入力uMkとモデル入力変化率ΔuMkが導出される。つまり、モデル入力uMとモデル入力変化率ΔuMの絶対値がある一定以上になる場合、モデルゲインKi、モデルオフセットGiが切り替わる。また、モデルゲインKi、モデルオフセットGiが切替わる条件を記述するマップも自動的に計算される。モデル入力uMがある一定以上ならないことは入力飽和が防止できることを意味しており、モデル入力変化率ΔuMがある一定以上にならないことは、モデルゲインKi、モデルオフセットGiを上記マップに基づいて変更してもモデル入力uMが急激に変化しないことを意味する。また、最適化問題10、11を解いた結果、モデルオフセットGiが出てくるので、モデルゲインKiのみの場合よりもモデルオフセットGiを追加したほうが、式9の評価関数を小さくするという意味で高速高精度な制御系が得られる。次に、上述した本実施例1における効果を説明する。この実施例1に係るサーボ制御装置によれば、過去モデル入力を用いてモデルゲインを決定することで、モデル入力変化率、または制御入力変化率を考慮してモデルゲインを決定することができる。すなわち、過去モデル入力uM’を用いてモデル入力uMを生成するため、モデル入力変化率ΔuMを新たな入力にすることができる。その結果、モデルゲインの変更を適切に行うことにより、モデル入力uMのみならず、ΔuMすなわちモデル入力変化率がある所定の値より大きくならない制御系を容易に実現することが可能になる。つまり、トルク飽和やトルク変化率飽和、そしてトルク変化率と密接な関係がある電圧飽和を防止しつつ、高性能なサーボ制御装置を得ることが可能である。また、制御性能向上のためにモデルゲインを切り替えても、モデル入力uMが急激に変化することを防止することが可能である。さらに、過去モデル入力uM’をモデル制御器12へフィードバックすることで、モデル入力変化率ΔuMを新たな入力として、状態変数xMと過去モデル入力uM’をフィードバックする式7の拡大系へと等価変換することができる。これにより、最適化計算においてモデル入力変化率ΔuMを考慮することが可能となる。また、モデルゲイン決定部11が過去モデル入力uM’、数式モデル14の状態変数xM、目標値rを用いて、モデルゲインKiとモデルオフセットGiを切り替えることにより、モデル入力制約|uM|≦uMmax、モデル入力変化率制約|ΔuM|≦ΔuMmaxを満たしつつ、かつ高速高精度な応答が得られるサーボ制御装置が実現できる。ここで、モデルゲインKiとモデルオフセットGiの変更のためのゲインマップとオフセットマップは予めオフライン計算で求められており、オンラインでの計算はマップの参照によるモデルゲインKi、モデルオフセットGiの決定と、過去モデル入力uM’、数式モデル14の状態変数xM、目標値rと、マップ参照により得られたモデルゲインKiの乗算とモデルオフセットGiの加算のみである。予めゲインマップとオフセットマップを規定しておくことにより、オンラインでの計算量をかなり減らすことが可能となり、サンプリング時間をより早くすることが可能となる。また、式5のように目標値rも用いてモデル入力を計算する場合は、これに加えてモデルゲインKrの計算と、モデルゲインKrと目標値rとの乗算が追加される。つまり、各ステップで数値最適化を行わないため、各ステップで最適化計算を行うモデル予測制御よりも計算時間が短く、そのためサンプリング時間を短くすることが可能である。よって、サンプリング時間と制御周期が短く、オンラインでは数値最適化計算が間に合わない制御系においても、モデル予測制御と同じ性能を持ち、かつ制約を考慮した制御系を構築することが可能である。また、サンプリング時間を短くできるため、制御系の性能も向上させることが可能となる。本実施例1では規範モデル部1内に切り替え型の制御系を構築している。そのため、フィードバック制御器22のゲインなどを切り替える場合とは異なり、安定性を気にせずにモデルゲインを切り替えることが可能である。なお、本実施例1では、上記でd=1,∞の場合について説明したが、d=2の場合もマルチパラメトリック線形計画問題がマルチパラメトリック二次計画問題に換わるだけであり、結果的にモデルゲインKi、モデルオフセットGiが切り替わるモデル入力変化率ΔuMが生成される。また、上記の説明では、モデルゲイン決定部11がゲインマップを用いて、モデルゲインを切り替える場合、もしくは、ゲインマップとオフセットマップを用いて、モデルゲインとモデルオフセットを切り替える場合について説明したが、数式モデル14の状態変数xM、目標値r、過去モデル入力uM’を変数とする関数を用いて、モデルゲイン、モデルオフセットを計算しても良い。また、上記の説明では、制御制約としてモデル入力飽和|uM|≦uMmax、モデル入力変化率飽和|ΔuM|≦ΔuMmaxを用いたが、制御制約としてこれに限るものではない。具体的には、数式モデル14の状態変数xM、モデル入力uM、モデル入力変化率ΔuMに関する制御制約が凸制約であれば良い。例えば、数式モデル14の状態変数xMに対しても制御制約を課してもよい。また、モデルゲインもしくは、モデルゲインとモデルオフセットを決定する際には、数式モデル14の状態変数xMと目標値r、過去モデル入力uM’をすべて使用する必要はなく、これらの情報の一部分を使用するだけでも良い。また、フィードバック制御器22はモデル出力yMと制御対象4の制御出力yの出力偏差e=yM―yを入力としていたが、制御対象4の状態量xをすべて計測し、数式モデル14の状態変数xMと制御対象4の状態量xとの状態偏差ex=xM-xをフィードバック制御器22の入力としてもよい。状態偏差ex=xM-xをフィードバック制御器22の入力として、フィードバック制御器22を固定ゲインの状態フィードバック制御系、またはマルチパラメトリック計画法を用いた区分的アフィンな制御系を構築しても同様の効果がある。また、上記の説明では、過去モデル入力として1ステップ前のモデル入力を使用したが、必ずしも1ステップ前に拘るものではなく、例えば複数ステップ前のモデル入力を利用して同様の効果を持たせることも容易であり、1ステップ前のモデル入力以外の過去のモデル入力を過去モデル入力として用いても本実施例1と同様の効果が得られる。本実施例1は、上記のように構成しているので、様々に変化する動作指令に対して、少ない演算量で、モータのトルクといった制御対象4への入力を不連続にすることなく、制御器の特性を自動的に変化させ、制御対象4への入力の絶対値や変化率を制約しながら、高速高精度に制御対象を追従させるサーボ制御装置を得ることができる。この発明の実施例2に係るサーボ制御装置について図4から図6までを参照しながら説明する。図4は、この発明の実施例2に係るサーボ制御装置の構成を示すブロック図である。なお、本実施例2においても過去モデル入力として1ステップ前のモデル入力を用いる場合について説明し、記号は同一のものを使用する。また、本実施例でもモデル制御器のモデルゲインを変更することによりモデル制御器の特性を切換えるため、本実施例ではモデル制御器決定部をモデルゲイン決定部と記載する。図4に示すように、この実施例2に係るサーボ制御装置は、駆動する機械の位置や速度を表す制御出力yに対する目標値rと、検出器5より検出されたモータの位置や速度を表す制御対象4の制御出力yを入力し、制御出力yが目標値rへ追従するように制御対象4へ制御入力uを出力する。この実施例2に係るサーボ制御装置は、規範モデル部1Aと、フィードバック制御部2と、加算器3から構成され、機械負荷と駆動するモータなどのアクチュエータから成る制御対象4と、エンコーダなどの検出器5に接続される。規範モデル部1Aは、目標値rを入力し、制御対象4の理想的な動作を表す数式モデル14のモデル出力yMをフィードバック制御部2へ出力し、モデル入力uMを加算器3へ出力する。また、フィードバック制御部2、加算器3、制御対象4及び検出器5は、上記の実施例1と同じ構成のため説明を省略する。よって、この実施例2と上記の実施例1との違いは規範モデル部1Aのみであるため、規範モデル部1Aの動作のみ説明する。規範モデル部1Aは、後述するモデル制御器のモデルゲインを決定するモデルゲイン決定部11Aと、モデル出力yMを目標値rに追従させるモデル制御器12Aと、モデル入力uMを記憶するモデル入力メモリ13と、制御対象4の特性を模擬した数式モデル14とを有する。ここで、モデル入力メモリ13と数式モデル14の動作は、上記の実施例1と同じであるため、説明を省略する。次に、モデル制御器12Aの動作について説明する。モデル制御器12Aは、モデルサブ制御器121Aと加算器122から構成される。モデルサブ制御器121Aは、目標値rと、モデル入力メモリ13から出力される1ステップ前のモデル入力uM’と、数式モデル14の状態変数xMを入力とし、これらの値と、モデルゲイン決定部11Aから出力されたモデルゲインとの乗算に基づき、数式モデル14のモデル出力yMが目標値rに一致するように、モデル入力変化率ΔuMを計算し、加算器122に出力する。ここで、モデルゲインはn1個の数値からなるベクトルであり、極配置やループ整形等の手法で予め設計されているとする。モデルサブ制御器121Aで用いるモデルゲインは後述するモデルゲイン決定部11Aにより、オンラインで選択される。そのため、モデル制御器12Aは切り替え型の制御器になる。次に、モデルゲイン決定部11Aの動作について説明する。モデルゲイン決定部11Aは、モデル入力uMやモデル入力変化率ΔuMの絶対値が所定の大きさを越えないように、予め設計されている複数のモデルゲインの中から一つを選択する。予め複数のモデルゲインを定めておくことにより、オンラインでの計算量を減らすことが可能となり、サンプリング時間も早くすることが可能となる。次に、モデルゲインの選択法について説明する。モデルゲインの選択には、最大出力許容集合O∞を用いる。最大出力許容集合O∞とは、制御系閉ループ系が拘束条件を破らない条件であり、最大出力許容集合O∞の計算方法は、平田、藤田、外部入力を有する線形離散時間システムに対する拘束条件の解析、電気学会C、118-3、384/390、1998に記載されている。本実施例2では、拘束条件は式8で記述されるモデル入力制約とモデル入力変化率制約である。まずはこの最大出力許容集合O∞について説明する。本実施例2においても、1ステップ前のモデル入力uM’をモデルサブ制御器121Aへフィードバックし、加算器122によりモデル入力変化率ΔuMと1ステップ前のモデル入力uM’を加算してモデル入力uMを生成しているので、モデル入力メモリ13と、数式モデル14と、加算器122を合わせて、式7の拡大系で表される離散時間状態方程式を考える。また、予め設計されているモデルゲインの1つをFiで表す。このモデルゲインFiを用いて、モデルサブ制御器121Aが式15を用いて、数式モデル14の状態変数xMと1ステップ前のモデル入力uM’から、モデル入力変化率ΔuMを計算することを考える。式15を式7に代入することで、式16が得られる。この式16は規範モデル部1Aの閉ループ系を表している。kステップ時における数式モデル14の状態変数xMkが決まれば、式16を繰り返し計算することにより、kステップ以降における数式モデル14の状態変数xMとモデル入力uMが計算可能である。各ステップにおける数式モデル14の状態変数xMとモデル入力uMが計算可能であるため、式15を用いることで、各ステップのモデル入力変化率ΔuMも計算可能である。したがって、モデルゲインFiとkステップ時における数式モデル14の状態変数xMk、k-1ステップ時におけるモデル入力uMk-1が決まれば、式8のモデル入力制約、モデル入力変化率制約を満たすかどうかを計算することが事前に可能である。よって、逆に式8の制約条件、モデルゲインFiが与えられたときの制約条件を破らない数式モデル14の状態変数xM、モデル入力uMの条件を計算することも可能である。上記の説明の通り、この制約条件を破らない条件を最大出力許容集合と言う。図5は、この発明の実施例2に係るサーボ制御装置の最大出力許容集合の例を示す図である。図5では、横軸は数式モデル14の状態変数xMの第一要素、縦軸は状態変数xMの第二要素を表している。そして、多角形の内部が最大出力許容集合O∞を表している。また、点Aは数式モデル14のkステップ時の状態変数xMが最大出力許容集合O∞の内部にある状態を表しており、点Bはkステップ時の状態変数xMが最大出力許容集合O∞の外にある場合を表している。各点から出ている線はkステップ以降の状態変数xMの軌跡を表している。点Aのように、kステップ時の状態変数xMが最大出力許容集合O∞の内部にある場合は、kステップ時以降もモデル入力制約|uM|≦uMmax、モデル入力変化率制約|ΔuM|≦ΔuMmaxを破らない。しかし、点Bのように、kステップ時の状態変数xMが最大出力許容集合O∞の外部にある場合は、たとえkステップ時においてモデル入力制約|uM|≦uMmax、モデル入力変化率制約|ΔuM|≦ΔuMmaxを満たしていても、kステップ時以降のいずれかの時点でかならずモデル入力|uM|≦uMmax、モデル入力変化率制約|ΔuM|≦ΔuMmaxを破る。なお、上記の例では数式モデル14の状態変数xMのみを用いて、最大出力許容集合の内部判定を行っているが、もちろんモデル入力uM、目標値rを用いても良い。次に、最大出力許容集合を用いたモデルゲイン選択法について説明する。ここでは、図6を用いてモデルゲインが3つある場合について説明する。図6は、この発明の実施例2に係るサーボ制御装置の動作例を示す図である。もちろん、本実施例2は、モデルゲインが3つの場合に限るものではない。また、数式モデル14の状態変数xMが2つの数値からなる数値ベクトルの場合に限るものではない。図6は、あらかじめモデルゲインF1、F2、F3が設計されており、各モデルゲインF1、F2、F3を用いた場合における最大出力許容集合O∞1、O∞2、O∞3が計算されている状況を表している。図6において、横軸に数式モデル14の状態変数xMの第一要素、縦軸に状態変数xMの第二要素を表している。また、各多角形は最大出力許容集合O∞1、O∞2、O∞3の境界線を表している。本実施例2では、一番高応答なモデルゲインをF1、低応答なモデルゲインをF3とする。また、モデルゲインF2は、モデルゲインF1とF3の中間の性能を持つとする。最大出力許容集合O∞は、モデルゲインFiに依存するため、それぞれのモデルゲインF1、F2、F3を用いた場合の最大出力許容集合O∞1、O∞2、O∞3は異なる。例えば、数式モデル14の状態変数xMが点Aにあるとする。点Aは最大出力許容集合O∞3の内部にあり、最大出力許容集合O∞1とO∞2の外部になるため、モデルゲインF3を用いた場合は式8の制約を破らないが、モデルゲインF1とF2を用いるといつかは、式8の制約を破ってしまう。そのため、モデルゲイン決定部11Aは、式8の制約を破らないモデルゲインF3を選択する。そして、モデル制御器12Aに選択したモデルゲインF3を出力する。次に、数式モデル14の状態変数xMが点Bに遷移したとする。点Bは最大出力許容集合O∞2とO∞3の内部にあり、最大出力許容集合O∞1の外部にあるため、モデルゲインF2とF3を用いた場合は、式8の制約を破らず、モデルゲインF1を用いた場合は、式8の制約をいずれかは破る。このように、式8の制約を破らないモデルゲインが複数存在する場合、モデルゲイン決定部11Aは、最も高応答なモデルゲインを選択する。つまり、この場合はモデルゲインF2のほうがモデルゲインF3より高応答なので、モデルゲイン決定部11AはモデルゲインF2を選択し、モデル制御器12Aへ出力する。その後、数式モデル14の状態変数xMが点Cに遷移したとする。点Cは最大出力許容集合O∞1、O∞2、O∞3の内部にあるため、モデルゲインF1、F2、F3のいずれかを用いたとしても、式8の制約を破らない。したがって、モデルゲイン決定部11Aは、最も高応答なモデルゲインであるF1を選択し、モデル制御器12Aへ出力する。上記の動作をまとめると、モデルゲイン決定部11Aは、次の三つの動作を行う。1.あらかじめ設計された各モデルゲインFnn=1,...,Rに対して、最大出力許容集合O∞nn=1,...,Rをあらかじめ計算しておく。ここで、Rは設計したモデルゲインFnの数である。2.目標値r、数式モデル14の状態変数xM、1ステップ前のモデル入力uM’を取得し、現在の値が各モデルゲインFnを用いて作成した最大出力許容集合O∞nの内部にあるか外部にあるかを判定する。つまり、各モデルゲインFnを用いた場合に制約を破らないかどうかを判定する。3.そして、制約を破らないモデルゲインFnを選択し、モデル制御器12Aへ出力する。もし、制約を破らないモデルゲインFnが複数あるならば、その中で最も高応答なモデルゲインFnを選択する。そして、モデルサブ制御器121Aは、モデルゲイン決定部11Aから出力されたモデルゲインFnと式15を用いて、モデル入力変化率ΔuMを計算し、加算器122へ出力する。加算器122は、1ステップ前のモデル入力uM’とモデル入力変化率ΔuMを、式16を用いて加算し、モデル入力uMをモデル入力メモリ13と数式モデル14へ出力する。数式モデル14は、状態変数xMとモデル入力uMを式1に用いることで、次ステップの状態変数xMとモデル出力yMを生成する。また、モデル入力メモリ13は、モデル入力uMを1ステップ間記憶しておく。上記の動作を繰り返し行うことにより、規範モデル部1Aは、モデル出力yMとモデル入力uMを生成していく。次に、上述した本実施例2における効果を説明する。この実施例2に係るサーボ制御装置によれば、上記の実施例1と同様に、1ステップ前のモデル入力uM’を用いてモデル入力uMを生成するため、モデル入力変化率ΔuMを新たな入力にすることができる。その結果、モデル入力uMのみならず、ΔuMすなわちモデル入力変化率ΔuMがある所定の値より大きくならない制御系を容易に実現することが可能になる。つまり、トルク飽和やトルク変化率飽和、そしてトルク変化率と密接な関係がある電圧飽和を防止しつつ、高性能なサーボ制御装置を得ることが可能である。また、モデルゲインを切り替えても、モデル入力uMが急激に変化することを防止することが可能である。また、本実施例2でも、モデル入力の計算は、モデルゲインの選択と、数式モデル14の状態変数とモデルゲインとの乗算だけである。したがって、計算時間が短くできるため、サンプリング時間も短くすることが可能である。なお、上記の実施例1と同様に、目標値rと状態変数xMとの偏差を使って目標値rへ追従する式15と等価な制御が可能である。このとき、目標値rのゲインはFiから自動的に計算することが可能である。また、最大出力許容集合O∞も自動的に計算可能である。また、本実施例2においても、上記の実施例1と同様に、過去モデル入力として1ステップ前のモデル入力を使用したが、必ずしも1ステップ前に拘るものではなく、例えば複数ステップ前のモデル入力を利用して同様の効果を持たせることも容易であり、1ステップ前のモデル入力以外の過去のモデル入力を過去モデル入力として用いても本実施例2と同様の効果が得られる。この発明の実施例3に係るサーボ制御装置について図7から図10までを参照しながら説明する。図7は、この発明の実施例3に係るサーボ制御装置の構成を示すブロック図である。なお、本実施例3においても過去モデル入力として1ステップ前のモデル入力を用いる場合について説明し、記号は同一のものを使用する。本実施例3は実施例2と同様に最大出力許容集合O∞を用いて制御器の切り替えを行うが、本実施例3と実施例2との違いは、実施例2がモデルゲインFnのみを切り替えているのに対し、本実施例3ではモデル制御器の構造そのものを切り替える点にある。図7に示すように、本実施例3に係るサーボ制御装置は、駆動する機械の位置や速度を表す制御出力yに対する目標値rと、検出器5より検出されたモータの位置や速度を表す制御対象4の制御出力yを入力し、制御出力yが目標値rへ追従するように制御対象4へ制御入力uを出力する。本実施例3に係るサーボ制御装置は、規範モデル部1Bと、フィードバック制御部2と、加算器3から構成され、機械負荷と駆動するモータなどのアクチュエータから成る制御対象4と、エンコーダなどの検出器5に接続される。規範モデル部1Bは、目標値rを入力し、制御対象4の理想的な動作を表す数式モデル14のモデル出力yMをフィードバック制御部2へ出力し、モデル入力uMを加算器3へ出力する。また、フィードバック制御部2、加算器3、制御対象4及び検出器5は、上記の実施例1及び実施例2と同じ構成のため説明を省略する。よって、この実施例3と上記の実施例1及び実施例2との違いは規範モデル部1Bのみであるため、規範モデル部1Bの動作のみ説明する。規範モデル部1Bは、後述するモデル制御器内の制御器A~Zを選択するモデル制御器決定部11Bと、モデル出力yMを目標値rに追従させるモデル制御器12Bと、モデル入力uMを記憶するモデル入力メモリ13と、制御対象4の特性を模擬した数式モデル14とを有する。ここで、モデル入力メモリ13と数式モデル14の動作は、上記の実施例1及び実施例2と同じであるため、説明を省略する。次に、モデル制御器12Bの動作について説明する。モデル制御器12Bは、モデルサブ制御器121Bと加算器122から構成される。モデルサブ制御器121Bは、目標値rと、モデル入力メモリ13から出力される1ステップ前モデル入力uM’と、数式モデル14の状態変数xMを入力とし、これらの値と、モデル制御器決定部11Bが制約を満たすように選択した制御器A~Zを用いて、数式モデル14のモデル出力yMが目標値rに一致するように計算されたモデル入力変化率ΔuMを加算器122に出力する。ここで、各制御器A~ZはPID制御、H∞制御などで予め設計されているものとする。モデルサブ制御器121Bで用いる制御器A~Zは後述するモデル制御器決定部11Bにより、オンラインで選択される。以降、本実施例3では説明を簡単にするために、数式モデル14に加算器122とモデル入力メモリ13を合わせた数式モデルの拡大系が、式7の離散時間状態方程式で表され、また予め図8から図10までに表される3つモデルサブ制御器121C,121D、121Eが設計されている場合について説明する。ただし、本実施例3がモデルサブ制御器121C,121D、121Eの使用に限定するものではない。図8のモデルサブ制御器121Cは目標値r、状態変数xMと1ステップ前モデル入力uM’を入力し、モデル入力変化率ΔuMを加算器122へ出力する。また、モデルサブ制御器121Cは、目標値rと状態変数xMを入力し、これらの差であるモデル偏差eMを計算し、出力する減算器1213Cと、減算器1213Cから出力されたモデル偏差eMと所定のモデル偏差ゲインLprとの積を計算し、加算器1214Cへ出力するモデル偏差ゲイン乗算部1211Cと、1ステップ前モデル入力uM’と1ステップ前モデル入力ゲインLpuとの積を計算し、計算結果を加算器1214Cへ出力する1ステップ前モデル入力ゲイン乗算部1212Cと、モデル偏差ゲイン乗算部1211Cの出力と1ステップ前モデル入力乗算部1212Cの出力を加算し、モデル入力変化率ΔuMを計算する加算器1214Cから構成される。図9のモデルサブ制御器121Dも目標値r、状態変数xMと1ステップ前モデル入力uM’を入力し、モデル入力変化率ΔuMを加算器122へ出力する。図8のモデルサブ制御器121Cとの差異は積算値メモリ1212Dを用いることで、積算値xcを記憶し、記憶した積算値をモデル偏差eMに加算にすることで積分動作を追加している点にある。モデルサブ制御器121Dには、モデルサブ制御器121Cにも用いられているモデル偏差ゲイン乗算部1211C,1ステップ前モデル入力ゲイン乗算部1212C、減算器1213Cが用いられており、これらの説明は省略する。これらの要素に付け加え、モデルサブ制御器121Dは、モデル偏差eMと1ステップ前積算値xc’を加算し、その和を積算値xcとしてモデル偏差積分ゲイン乗算部1211Dに出力する加算器1213Dと、積算値xcにモデル偏差積分ゲインLIと1サンプリング時間Tsを乗算し、それらの積を加算器1214Dへ出力するモデル偏差積分ゲイン乗算部1211Dと、積算値xcを入力し、1サンプリング時間記憶し、1サンプリング時間後に記憶している値を1ステップ前積算値xc’として加算器1213Dへ出力する積算値メモリ1212Dと、モデル偏差ゲイン乗算部1211Cと、1ステップ前モデル入力ゲイン乗算部1212Cと、モデル偏差積分ゲイン乗算部1211Dから出力された値をすべて加算し、その和をモデル入力変化率ΔuMとして加算器122へ出力する加算器1214Dから構成される。図10のモデルサブ制御器121Eも目標値r、状態変数xMと1ステップ前モデル入力uM’を入力し、モデル入力変化率ΔuMを加算器122へ出力する。図8のモデルサブ制御器121C、図9のモデルサブ制御器121Dとの差異は状態変数メモリ1212Eを用いることでモデルサブ制御器121Eに微分動作を追加している点にある。モデルサブ制御器121Eには、モデルサブ制御器121Cにも用いられているモデル偏差ゲイン乗算部1211C、1ステップ前モデル入力ゲイン乗算部1212C、減算器1213Cが構成されている。また、モデル制御器121Dにも用いられているモデル偏差積分ゲイン乗算部1211D、積算値メモリ1212D、加算器1213Dも構成されている。これらの要素に関する説明は省略する。これらの要素に付け加え、モデルサブ制御器121Eは、状態変数xMを1サンプリング時間記憶し、1サンプリング時間後、記憶した値を1ステップ前状態変数xM’として減算器1213Eに出力する状態変数メモリ1212Eと、状態変数メモリ1212Eから出力される1ステップ前状態変数xM’を状態変数xMから減算し、その差を状態変数微分ゲイン乗算部1211Eに出力する減算器1213Eと、減算器1213Eから出力された差を1サンプリング時間Tsで除算、状態変数微分ゲインLDを乗算し、その計算結果を加算器1214Eへ出力する状態変数微分ゲイン乗算部1211Eと、モデル偏差ゲイン乗算部1211C、1ステップ前モデル入力ゲイン乗算部1212C、モデル偏差積分ゲイン乗算部1211D、状態変数微分ゲイン乗算部1211Eの出力をすべて加算し、その和をモデル入力変化率ΔuMとして加算器122へ出力する加算器1214Eから構成されている。本実施例3では、実施例2とは異なり、積算値メモリ1212Dを用いることにより、モデルサブ制御器121Dに積分動作を、状態変数メモリ1212Eを用いることにより、モデルサブ制御器121Eに微分動作を追加しており、ゲインのみならず制御器の動作も切り替える構成となっている。なお、本実施例3では、表記を簡略にするためモデルサブ制御器121C、121D、121Eにおいて、モデル偏差ゲインLprと1ステップ前モデル入力ゲインLpuを同じ記号で表しているが、これらの数値はモデルサブ制御器121C、121D、121Eで異なっても良い。また、モデルサブ制御器121D、121Eにおいて、モデル偏差積分ゲインLIを同じ記号で表しているが、これらの数値もモデルサブ制御器121D、121Eで異なってもよい。次に、モデル制御器決定部11Bの動作について説明する。モデル制御器決定部11Bは、モデル入力uMやモデル入力変化率ΔuMの絶対値が所定の大きさを越えないように、予め設計されている複数の制御器A~Zの中から一つを選択する。予め複数の制御器A~Zを定めておくことにより、オンラインでの計算量を減らすことが可能となり、サンプリング時間も早くすることが可能となる。本実施例3では実施例2と同様にモデル制御器決定部11Bは最大許容出力集合O∞を用いて制御器A~Zの切り替えを行う。最大許容出力集合O∞を計算するためには実施例2における式16のように規範モデル部1Bの閉ループ系を計算する必要がある。まず、図8のモデル制御器12Cを用いた場合の閉ループ系を計算する。図8のモデルサブ制御器121Cを用いた場合のモデル入力変化率ΔuMは、以下の式17で計算される。よって、式17を式7に代入することにより、モデル制御器12Cを用いた場合の閉ループ系は、以下の式18で表される。同様に、図9と図10のモデル制御器12D、12Eを用いた場合の閉ループ系を計算する。図9のモデル制御器12Dを用いた場合、モデルサブ制御器121Dから出力されるモデル入力変化率ΔuMは、以下の式19、20で計算される。よって、式19、20を式7に代入することにより、モデル制御器12Dを用いた場合の閉ループ系は、以下の式21で表される。また、図10のモデル制御器12Eを用いた場合、モデルサブ制御器121Eから出力されるモデル入力変化率ΔuMは、以下の式20で計算される。よって、式20、22を式7に代入することにより、モデル制御器12Eを用いた場合の閉ループ系は、以下の式23となる。モデル制御器12Cを用いた場合の閉ループ系である式18、モデル制御器12Dを用いた場合の閉ループ系である式21を、モデル制御器12Eを用いた場合の閉ループ系である式23と同様に、状態変数xMk、1ステップ前モデル入力uMk-1、積算値xck、1ステップ前状態変数xMk-1を用いて閉ループ系を表すと、それぞれ以下の式24、25と表すことができる。以降、説明を簡単にするために、以下の式26、27、28、29と置き換えて説明する。次に、式23、24、25を変換することにより、式16と同様の式を導く。まず、定常値x’close1、x’close2、x’close3を、以下の式30、31、32で定義する。式30、31、32で定義した定常値を用いて、以下の式33、34、35でモデル状態偏差eclose1、eclose2、eclose3を定義する。式33、34、35で定義したモデル状態偏差eclose1、eclose2、eclose3を用いることで、式23、24、25はそれぞれ以下の式36、37、38と変換することが可能となる。式36、37、38はそれぞれ式16と同じ形式をしている式であるため、実施例2と同様の方法により、最大許容出力集合O∞を計算することが可能である。最大許容出力集合O∞を用いて、モデル制御器決定部11Bがモデル入力制約|uM|≦uMmax、モデル入力変化率制約|ΔuM|≦ΔuMmaxを破らず、かつ最も応答が早い制御器A~Zを選択すれば、上記制約をやぶらず、かつ応答が早い制御系が得られる。モデル制御器決定部11Bによる最大許容出力集合O∞を用いた制御器切り替え方法は実施例2と同じであるため、説明を省略する。本実施例3に係るサーボ制御装置によれば、上記の実施例1及び実施例2と同様に、1ステップ前のモデル入力uM’を用いてモデル入力uMを生成するため、モデル入力変化率ΔuMを新たな入力にすることができる。その結果、モデル入力uMのみならず、ΔuMすなわちモデル入力変化率ΔuMがある所定の値より大きくならない制御系を容易に実現することが可能になる。つまり、トルク飽和やトルク変化率飽和、そしてトルク変化率と密接な関係がある電圧飽和を防止しつつ、高性能なサーボ制御装置を得ることが可能である。また、モデルゲインを切り替えても、モデル入力uMが急激に変化することを防止することが可能である。また、本実施例3でも、モデル入力の計算は、制御器A~Zの選択と、数式モデル14の状態変数と制御器A~Zの演算だけである。したがって、計算時間が短くできるため、サンプリング時間も短くすることが可能である。また、本実施例3においても、上記の実施例1及び実施例2と同様に、過去モデル入力として1ステップ前のモデル入力を使用したが、必ずしも1ステップ前に拘るものではなく、例えば複数ステップ前のモデル入力を利用して同様の効果を持たせることも容易であり、1ステップ前のモデル入力以外の過去のモデル入力を過去モデル入力として用いても実施例2と同様の効果が得られる。"