(57)【特許請求の範囲】
【請求項１】
制御対象を動作させるサーボモータの制御装置であって、
予め設定された前記制御対象のモデルに基づいて、前記サーボモータの位置、速度、トルクの目標値であるモデル位置、モデル速度、モデルトルクを出力するフィードフォワード制御部を備え、
前記フィードフォワード制御部は、
外部から入力された位置指令値と前記モデル位置との偏差であるモデル位置偏差と、速度指令値と前記モデル速度との偏差であるモデル速度偏差とに基づいて、
前記サーボモータが出力可能な所定のトルクと、前記サーボモータにより駆動される負荷機械の運動特性と、により決定される切替線上に収束するように前記モデルトルクを決定するスライディングモード制御部と、
前記モデル速度に基づいて、前記所定のトルクを補正するトルク補正部と、
を含み、
前記スライディングモード制御部は、前記トルク補正部により補正された所定のトルクを用いて前記モデルトルクを決定し、
前記フィードフォワード制御部により制御される前記モデル位置および前記モデル速度に追従するよう、前記サーボモータの前記位置および前記速度についてフィードバック制御を行うフィードバック制御部をさらに含み、
前記速度指令値は０である
ことを特徴とする制御装置。
【請求項２】
前記運動特性は、前記負荷機械の慣性モーメントであり、
前記切替線は、前記モデル位置偏差と、前記モデル速度偏差とにより定義される平面において二次曲線として定義される
ことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記運動特性は、前記負荷機械の慣性モーメントと粘性係数とであり、
前記切替線は、前記モデル位置偏差と、前記モデル速度偏差とにより定義される平面において対数曲線と直線との和として定義される
ことを特徴とする請求項１に記載の制御装置。
【請求項４】
前記切替線を決定する前記サーボモータが出力可能な所定のトルクは、前記サーボモータの出力可能な最大トルクよりも小さい
ことを特徴とする請求項１から３のいずれか１項に記載の制御装置。
【請求項５】
前記モデル速度は、前記サーボモータの最大出力速度未満である
ことを特徴とする請求項１から４のいずれか１項に記載の制御装置。
【請求項６】
前記トルク補正部は、前記モデル速度に基づいて、ＮＴ特性、動摩擦、粘性摩擦の少なくともいずれかによるトルク減少分を求め、当該トルク減少分を減算することで前記所定のトルクを補正することを特徴とする請求項１から５のいずれか１項に記載の制御装置。
【請求項７】
前記トルク補正部は、前記制御対象を動作させる際に生じる偏荷重によるトルク減少分を求め、当該トルク減少分を減算することで前記所定のトルクを補正することを特徴とする請求項１から６のいずれか一項に記載の制御装置。
【請求項８】
モデル追従制御を行うサーボモータの制御方法であって、
前記サーボモータの位置、速度、トルクの目標値であるモデル位置、モデル速度、モデルトルクを制御するフィードフォワード制御ステップと、
前記フィードフォワード制御ステップにより制御された前記モデル位置および前記モデル速度に、前記サーボモータの位置および速度を追従させるフィードバック制御ステップと、を含み、
前記フィードフォワード制御ステップは、
外部から入力された位置指令値と前記モデル位置との偏差であるモデル位置偏差と、速度指令値と前記モデル速度との偏差であるモデル速度偏差とが、
前記サーボモータが出力可能な所定のトルクと、前記サーボモータにより駆動される負荷機械の運動特性と、により決定される切替線上に収束するように前記モデルトルクを決定するスライディングモード制御を行うスライディングモード制御ステップと、
前記モデル速度に基づいて、前記所定のトルクを補正するトルク補正ステップと、を含み、
前記スライディングモード制御ステップは、前記トルク補正ステップにより補正された所定のトルクを用いて前記モデルトルクを決定し、
前記速度指令値は０である
ことを特徴とする制御方法。
【請求項９】
請求項１から７のいずれか一項に記載の制御装置としてコンピュータを機能させるための情報処理プログラムであって、前記各部としてコンピュータを機能させるための情報処理プログラム。
【請求項１０】
請求項９に記載の情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータの駆動を制御する、モデル追従型の制御装置に関する。
【背景技術】
【０００２】
従来、モデル追従制御を行うサーボモータの制御装置が知られている。例えば、下掲載の特許文献１には、サーボモータについてモデル追従制御を行うためのモデル（規範モデルとしてのサーボモータ）の制御において、当該モデルの位置、速度が、外部から入力された位置指令値および速度指令値に追従するようＰＩＤ制御を行う制御装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平８−１６８２８０号公報（１９９６年６月２５日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述のような従来技術は、モデルの出力するトルクがサーボモータの出力可能な最大トルクを超えた場合に、フィードバック制御器が当該モデルの出力する軌道に追従することができず、オーバーシュートおよびやハンチング等を発生させ得るという問題がある。
【０００５】
また、モデルの出力するトルクがサーボモータの出力可能な最大トルクを超えると、そのトルク値にはサーボモータが追従できなくなることから、サーボモータに与えられるトルクの指令値がサーボモータの出力可能な最大トルクを超えないようにトルクリミッタを設け、モデルの出力するトルクを制限する構成も考えられる。しかしながら、そのような構成では、モデルの出力するトルクは制限されるものの、トルク制限により、位置追従性、速度追従性が担保されず、偏差が増大する。これにより、例えば、目標位置に近づいて速度指令が減少しても、増大した偏差を解消しようとしてモデル出力トルクが大きいままとなり、モデルの出力する軌道自体がオーバーシュートおよびハンチングをしてしまい、結果として、実制御対象（例えば、サーボモータ）がオーバーシュートおよびハンチングを起こす可能性は残る。
【０００６】
従って、モデル追従制御を行うサーボモータの制御装置であって、ＰＩＤ制御を用いてモデルの制御を行う上述のような従来技術においては、ユーザがサーボモータの出力可能な最大トルクを意識して、位置指令値を与える必要があった。
【０００７】
本発明は、前記の問題点に鑑みてなされたものであり、その目的は、ユーザがサーボモータの出力可能な最大トルクを意識せずとも、当該サーボモータにオーバーシュートおよびハンチング等を起させずに所望の動作を実行させることのできる制御装置、制御方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、本発明の一態様に係る制御装置は、制御対象を動作させるサーボモータの制御装置であって、予め設定された前記制御対象のモデルに基づいて、前記サーボモータの位置、速度、トルクの目標値であるモデル位置、モデル速度、モデルトルクを出力するフィードフォワード制御部を備え、前記フィードフォワード制御部は、外部から入力された位置指令値と前記モデル位置との偏差であるモデル位置偏差と、速度指令値と前記モデル速度との偏差であるモデル速度偏差とに基づいて、前記サーボモータが出力可能な所定のトルクと、前記サーボモータにより駆動される負荷機械の運動特性と、により決定される切替線上に収束するように前記モデルトルクを決定するスライディングモード制御部を含む。
【０００９】
前記の構成によれば、前記制御装置は、前記フィードフォワード制御部が、スライディングモード制御により、前記モデル位置、前記モデル速度、前記モデルトルクを制御する。つまり、前記フィードフォワード制御部は、前記サーボモータの出力可能な最大トルクを超えないモデル軌道（前記モデル位置および前記モデル速度）を生成することができる。したがって、前記制御装置についてユーザは、前記サーボモータの出力可能な最大トルクを意識せずに前記位置指令を前記フィードフォワード制御部に与え、前記サーボモータに所望の動作を実行させることができるという効果を奏する。
【００１０】
また、前記制御装置は、前記フィードフォワード制御部が、スライディングモード制御により、前記モデル位置、前記モデル速度、前記モデルトルクを制御する。したがって、前記制御装置は、オーバーシュートおよびハンチング等を起すことのないモデルを用いて、前記モデル追従制御を実行することができるという効果を奏する。
【００１１】
さらに、前記制御装置は、前記モデルトルクが前記サーボモータの出力可能な最大トルクを超えることにより、フィードバック制御器がモデルの出力する軌道に追従できず、その結果、オーバーシュートおよびハンチング等の（モデルの出力する軌道自体がオーバーシュートおよびハンチングする等の）問題が生じるという事態を回避することができるという効果を奏する。
【００１２】
好ましくは、前記制御装置は、前記フィードフォワード制御部により制御される前記モデル位置および前記モデル速度に追従するよう、前記サーボモータの前記位置および前記速度についてフィードバック制御を行うフィードバック制御部をさらに含む。
【００１３】
前記の構成によれば、前記制御装置は、前記フィードフォワード制御部が、スライディングモード制御により、前記モデル位置、前記モデル速度、前記モデルトルクを制御し、前記フィードバック制御部が、前記モデル位置および前記モデル速度に追従するよう、前記サーボモータの前記位置および前記速度について、前記フィードバック制御（例えば、ＰＩＤ制御）を行う。
【００１４】
ここで、前記フィードバック制御部が前記スライディングモード制御を実行した場合、前記サーボモータの前記トルクについて、ハンチングが起こりうる。
【００１５】
しかしながら、前記制御装置は、前記フィードバック制御部が前記ＰＩＤ制御を行うため、前記サーボモータの前記トルクについて、ハンチングが起こることを回避することができるという効果を奏する。
【００１６】
好ましくは、前記制御装置において、前記運動特性は、前記負荷機械の慣性モーメントであり、前記切替線は、前記モデル位置偏差と、前記モデル速度偏差とにより定義される平面において二次曲線として定義される。
【００１７】
前記の構成によれば、前記制御装置は、前記モデル位置偏差と前記モデル速度偏差とが、前記サーボモータの出力可能な所定のトルクと、前記負荷機械の慣性モーメントとにより決定される切替線上に収束し、最終的には前記モデル位置偏差と前記モデル速度偏差とがゼロに収束するように、前記モデルトルクを決定するスライディングモード制御を行うことができるという効果を奏する。
【００１８】
好ましくは、前記制御装置において、前記運動特性は、前記負荷機械の慣性モーメントと粘性係数とであり、前記切替線は、前記モデル位置偏差と、前記モデル速度偏差とにより定義される平面において対数曲線と直線との和として定義される。
【００１９】
前記の構成によれば、前記制御装置は、前記モデル位置偏差と前記モデル速度偏差とが、前記サーボモータの出力可能な所定のトルクと、前記負荷機械の慣性モーメントおよび粘性係数とにより決定される切替線上に収束し、最終的には前記モデル位置偏差と前記モデル速度偏差とがゼロに収束するように、前記モデルトルクを決定するスライディングモード制御を行うことができるという効果を奏する。
【００２０】
好ましくは、前記制御装置において、前記速度指令値は０である。
【００２１】
前記の構成によれば、前記制御装置は、速度指令値が０であるため、目標位置に到達した時点でモデル速度も０とすることができるため、前記モデル位置がオーバーシュートしないという効果を奏する。
【００２２】
好ましくは、前記制御装置において、前記切替線を決定する前記サーボモータが出力可能な所定のトルクは、前記サーボモータの出力可能な最大トルクよりも小さい。
【００２３】
前記の構成によれば、前記制御装置は、前記サーボモータに課す負荷を抑制しつつ制御された前記モデル位置、前記モデル速度、前記モデルトルクに、前記サーボモータを追従させることができるという効果を奏する。
【００２４】
好ましくは、前記制御装置において、前記モデル速度は、前記サーボモータの最大出力速度未満である。
【００２５】
前記の構成によれば、前記制御装置において、前記フィードフォワード制御部により制御されるモデル速度は、前記サーボモータの最大出力速度未満である。
【００２６】
ここで、前記サーボモータの最大出力速度よりも大きなモデル速度を設定してしまうと、実際の前記サーボモータは追従することができず、モデルの制御挙動と異なる制御となってしまう。
【００２７】
前記制御装置において、前記モデル速度は、前記サーボモータの最大出力速度未満であるため、前記制御装置は、前記サーボモータが追従可能なモデルを用いて、前記サーボモータについて、モデル追従制御を行うことができるという効果を奏する。
【００２８】
好ましくは、前記制御装置は、前記制御対象の実際の駆動状態、または、前記制御対象のモデルの状態に基づいて、前記所定のトルクを補正するトルク補正部を有し、前記スライディングモード制御部は、前記トルク補正部により補正された所定のトルクを用いて前記モデルトルクを決定する。
【００２９】
上記の構成によれば、スライディングモード制御部は、実際のサーボモータがより追従しやすいモデルトルクを決定することができる。その結果、サーボモータの挙動の安定性が向上する。
【００３０】
ここで、前記トルク補正部は、前記サーボモータの実速度または前記モデル速度に基づいて、前記所定のトルクを補正する。
【００３１】
例えば、前記トルク補正部は、前記サーボモータの実速度または前記モデル速度に基づいて、ＮＴ特性、動摩擦、粘性摩擦の少なくともいずれかによるトルク減少分を求め、当該トルク減少分を減算することで前記所定のトルクを補正する。
【００３２】
もしくは、前記トルク補正部は、前記制御対象を動作させる際に生じる偏荷重によるトルク減少分を求め、当該トルク減少分を減算することで前記所定のトルクを補正する。
【００３３】
上記の構成によれば、例えば、ＮＴ特性、動摩擦、粘性摩擦、偏荷重を考慮したトルク減少分だけ減算することで所定のトルクを補正するため、モータの状態に合わせたトルクを設定することができ、スライディングモード制御部から出力されるモデルトルクへの追従性を向上させることができる。
【００３４】
また、上記の課題を解決するために、本発明の一態様に係る制御方法は、モデル追従制御を行うサーボモータの制御方法であって、前記サーボモータの位置、速度、トルクの目標値であるモデル位置、モデル速度、モデルトルクを制御するフィードフォワード制御ステップと、前記フィードフォワード制御ステップにより制御された前記モデル位置および前記モデル速度に、前記サーボモータの位置および速度を追従させるフィードバック制御ステップと、を含み、前記フィードフォワード制御ステップは、外部から入力された位置指令値と前記モデル位置との偏差であるモデル位置偏差と、速度指令値と前記モデル速度との偏差であるモデル速度偏差とが、前記サーボモータが出力可能な所定のトルクと、前記サーボモータにより駆動される負荷機械の運動特性と、により決定される切替線上に収束するように前記モデルトルクを決定するスライディングモード制御を行うスライディングモード制御ステップを含む。
【００３５】
前記の構成によれば、前記制御方法において、前記フィードフォワード制御ステップが、スライディングモード制御により、前記モデル位置、前記モデル速度、前記モデルトルクを制御する。つまり、前記フィードフォワード制御ステップは、前記サーボモータの出力可能な最大トルクを超えないモデル軌道（前記モデル位置および前記モデル速度）を生成することができる。したがって、前記制御方法についてユーザは、前記サーボモータの出力可能な最大トルクを意識せずに前記位置指令を前記フィードフォワード制御ステップに与え、前記サーボモータに所望の動作を実行させることができるという効果を奏する。
【００３６】
また、前記制御方法は、前記フィードフォワード制御ステップが、スライディングモード制御により、前記モデル位置、前記モデル速度、前記モデルトルクを制御する。したがって、前記制御方法は、オーバーシュートおよびハンチング等を起すことのないモデルを用いて、前記モデル追従制御を実行することができるという効果を奏する。
【００３７】
さらに、前記制御方法は、前記モデルトルクが前記サーボモータの出力可能な最大トルクを超えることにより、フィードバック制御ステップがモデルの出力する軌道に追従できず、その結果、オーバーシュートおよびハンチング等の（モデルの出力する軌道自体がオーバーシュートおよびハンチングする等の）問題が生じるという事態を回避することができるという効果を奏する。
【発明の効果】
【００３８】
本発明の一態様によれば、サーボモータの制御装置等について、ユーザが当該サーボモータの出力可能な最大トルクを意識せずとも、当該サーボモータにオーバーシュートおよびハンチング等を起させずに所望の動作を実行させることができるという効果を奏する。
【図面の簡単な説明】
【００３９】
【図１】本発明の実施形態１に係る制御装置の要部構成を示すブロック図である。
【図２】図１の制御装置において実行されるスライディングモード制御を説明する図である。
【図３】図１の制御装置において、負荷機械の運動特性を負荷機械の慣性モーメントのみとした場合の切替線と、負荷機械の運動特性を負荷機械の慣性モーメントおよび粘性係数とした場合の切替線とを対比して示す図である。
【図４】負荷機械の運動特性を負荷機械の慣性モーメントのみとした場合の、最大操作量を入力したときの状態遷移と、最小操作量を入力したときの状態遷移とを示す図である。
【図５】図１の制御装置において実行されるスライディングモード制御について、最短時間収束の切替線を説明するための図である。
【図６】負荷機械の運動特性を負荷機械の慣性モーメントおよび粘性係数とした場合の切替線について説明するための図である。
【図７】図１の制御装置において実行されるスライディングモード制御について、速度指令を「０」とした場合のモデル出力位置の軌跡を示す図である。
【図８】図１の制御装置において実行されるスライディングモード制御について、速度指令を位置指令の微分とした場合のモデル出力位置の軌跡を示す図である。
【図９】ｖａを「速度制限を始めるしきい値」、ｖｂを「速度制限値」として、モデル出力速度に応じて、スライディングモード制御によるモデル出力トルクを制限することを示す図である。
【図１０】従来の制御装置の概要を示す図である。
【図１１】本発明の実施形態２に係る制御装置の要部構成を示すブロック図である。
【図１２】制御装置において実行されるスライディングモード制御について、速度指令を「０」とした場合のモデル出力位置と実位置とを比較した図であって、（ａ）はトルク補正部を備える前の図であり、（ｂ）はトルク補正部を備えた図である。
【図１３】モデル出力速度と実速度とを比較した図であって、（ａ）はトルク補正部を備える前の図であり、（ｂ）はトルク補正部を備えた図である。
【図１４】モデル出力トルクと実トルクとを比較したものであって、（ａ）はトルク補正部を備える前の図であり、（ｂ）はトルク補正部を備えた図である。
【図１５】制御装置において実行されるスライディングモード制御について、最短時間収束の切替線ＳＬの図である。
【図１６】トルク補正部によるトルク補正の方法を示す図である。
【発明を実施するための形態】
【００４０】
〔実施形態１〕
以下、本発明の実施形態１について、図１から図９に基づいて詳細に説明する。図中同一または相当部分には同一符号を付してその説明は繰返さない。本発明の一態様に係る制御装置１についての理解を容易にするため、先ず、従来の制御装置９について図１０に基づいて説明しておく。
【００４１】
（従来の制御装置の概要）
図１０は、従来の制御装置９の概要を示す図である。図１０に示すように、従来の制御装置９は、サーボモータ２についてモデル追従制御を行う制御装置である。図１０にはさらに、サーボモータ２によって駆動される負荷機械３、および、サーボモータ２の位置を検出し、例えば、サーボモータ２の回転角度を検出するエンコーダ４が示されている。エンコーダ４は、検出した位置をフィードバック制御部２０に送信する。具体的には、エンコーダ４により検出されたサーボモータ２の位置は、フィードバック制御部２０の位置制御部２０１および速度検出部２０２に入力される。なお、エンコーダ４は、サーボモータ２の速度を検出してもよく、検出した速度をフィードバック制御部２０に送信してもよい。その場合、フィードバック制御部２０は、エンコーダ４によって検出されたサーボモータ２の位置からサーボモータ２の速度を算出する速度検出部２０２を備えなくてもよい。
【００４２】
従来の制御装置９は、従来のフィードフォワード制御部３０と、フィードバック制御部２０とを備える。従来のフィードフォワード制御部３０は、サーボモータ２の位置、速度、トルクの目標値であるモデル出力位置θＭ、モデル出力速度ｖＭ、モデル出力トルクを制御し、つまり、サーボモータ２のモデル（規範モデル）を制御する。ここで、従来のフィードフォワード制御部３０は、サーボモータ２のモデルについて、ＰＩＤ制御を行う。すなわち、従来のフィードフォワード制御部３０は、外部から（例えば、ユーザから）与えられる位置指令値θＲ、および当該位置指令値θＲから生成される速度指令値ｖＲに追従するよう、前記モデルの目標位置であるモデル出力位置θＭ、および、前記モデルの目標速度であるモデル出力速度ｖＭについて、ＰＩＤ制御を行う。従来のフィードフォワード制御部３０は、モデル位置制御部３０１、速度指令生成部３０２、モデル速度制御部３０３、モデルトルクリミッタ３０４、制御対象モデル検出部３０５を備えている。
【００４３】
モデル位置制御部３０１は、前記位置指令値θＲと、制御対象モデル検出部３０５により生成されたモデル出力位置θＭと、を受け付け、当該モデル出力位置θＭが当該位置指令値θＲに追従するよう制御するモデル速度制御指令を生成する。モデル位置制御部３０１は、生成したモデル速度制御指令を、モデル速度制御部３０３およびフィードバック制御部２０へと出力する。
【００４４】
速度指令生成部３０２は、前記位置指令値θＲを受け付け、前記位置指令値θＲから速度指令値ｖＲを生成する。速度指令生成部３０２は、生成した前記速度指令値ｖＲをモデル速度制御部３０３へと出力する。
【００４５】
モデル速度制御部３０３は、モデル位置制御部３０１により生成されたモデル速度制御指令、速度指令生成部３０２により生成された前記速度指令値ｖＲ、および、制御対象モデル検出部３０５により生成されたモデル出力速度ｖＭを受け付ける。モデル速度制御部３０３は、当該モデル出力速度ｖＭが、前記モデル速度制御指令および前記速度指令値ｖＲに追従するよう制御するようモデルトルク制御指令を生成する。モデル速度制御部３０３は、生成したモデルトルク制御指令を、モデルトルクリミッタ３０４へと出力する。
【００４６】
モデルトルクリミッタ３０４は、モデル速度制御部３０３により生成されたモデルトルク制御指令に基づいて、モデル出力トルクを制御する（出力する）。モデルトルクリミッタ３０４により制御されたモデル出力トルクは、制御対象モデル検出部３０５およびフィードバック制御部２０へと通知される。
【００４７】
制御対象モデル検出部３０５は、モデルトルクリミッタ３０４により制御されたモデル出力トルクを受け付けて、モデル出力位置θＭおよびモデル出力速度ｖＭを生成し、生成したモデル出力位置θＭおよびモデル出力速度ｖＭを出力する。すなわち、制御対象モデル検出部３０５により生成されたモデル出力位置θＭは、モデル位置制御部３０１およびフィードバック制御部２０へと通知される。制御対象モデル検出部３０５により生成されたモデル出力速度ｖＭは、モデル速度制御部３０３およびフィードバック制御部２０へと通知される。
【００４８】
フィードバック制御部２０は、従来のフィードフォワード制御部３０により制御される前記モデル出力位置θＭ、前記モデル出力速度ｖＭ、および、前記モデル出力トルクに追従するよう、サーボモータ２の位置、速度、およびトルクについてＰＩＤ制御を行う。フィードバック制御部２０は、位置制御部２０１、速度検出部２０２、速度制御部２０３、トルクリミッタ２０４を備えている。
【００４９】
位置制御部２０１は、エンコーダ４により検出されたサーボモータ２の位置と、制御対象モデル検出部３０５により生成されたモデル出力位置θＭとを受け付け、検出されたサーボモータ２の位置がモデル出力位置θＭに追従するように制御する速度制御指令を生成する。そして、位置制御部２０１は、生成した速度制御指令を速度制御部２０３へと出力する。
【００５０】
速度検出部２０２は、エンコーダ４により検出されたサーボモータ２の位置からサーボモータ２の速度を算出し、算出したサーボモータ２の速度を速度制御部２０３へと出力する。
【００５１】
速度制御部２０３は、位置制御部２０１により生成された速度制御指令、制御対象モデル検出部３０５により生成されたモデル検出速度、および、速度検出部２０２により算出された速度（サーボモータ２の速度）を受け付ける。そして、速度検出部２０２により算出されたサーボモータ２の速度が、前期速度制御指令および前期モデル検出速度に追従するように制御するトルク制御指令を生成し、生成したトルク制御指令をトルクリミッタ２０４へと出力する。
【００５２】
トルクリミッタ２０４は、速度制御部２０３により生成されたトルク制御指令と、制御対象モデル検出部３０５により生成されたモデル出力トルクとに基づいて、サーボモータ２を制御する。
【００５３】
従来のフィードフォワード制御部３０は、前記モデルについてＰＩＤ制御を行うため、前記位置指令値θＲに対してモデル軌道を生成した時に、そのモデル軌道に必要なトルク（モデル出力トルク）が、サーボモータ２の出力可能な最大トルクを超えてしまう可能性がある。従来のフィードフォワード制御部３０において、モデル速度制御部３０３が出力するトルクの値が、サーボモータ２の出力可能な最大トルクよりも大きい場合等には、モデルトルクリミッタ３０４によりトルクの値が制限される。これにより、モデル出力トルクは、モデルトルクリミッタ３０４で所定の制限がかかった値となる。このように、モデル速度制御部３０３が出力するトルクの値が制限されると、モデル軌道がオーバーシュートする、ハンチングするなどの問題が起こる。このような問題が発生するのを防ぐには、前記位置指令値θＲに基づいて生成されるモデル軌道に必要なトルク（モデル出力トルク）が、サーボモータ２の出力可能な最大トルク以下でなければならない。つまり、ユーザは、サーボモータ２の出力可能な最大トルク以下のトルク（モデル出力トルク）によって実現可能なモデル軌道が生成されるように調整した位置指令値θＲを与える必要があった。
【００５４】
（本発明の一態様に係る制御装置の概要）
本発明の一態様に係る制御装置１について、その概要を端的に表現するとすれば、サーボモータ２のモデル（規範モデル）についてＰＩＤ制御を行う従来のフィードフォワード制御部３０に代えて、当該モデルについてスライディングモード制御を行うフィードフォワード制御部１０を備えている。フィードフォワード制御部１０の実行するスライディングモード制御により、制御装置１は、サーボモータ２の出力可能な所定のトルク（例えば、サーボモータ２の出力可能な最大トルク）を前提とした制御を、サーボモータ２について行うことができる。
【００５５】
すなわち、サーボモータ２についてモデル追従制御を行う制御装置１の備えるフィードフォワード制御部１０は、外部から入力された位置指令値θＲとモデル出力位置θＭ（モデル位置）との偏差であるモデル位置偏差、および、速度指令値ｖＲとモデル出力速度ｖＭ（モデル速度）との偏差であるモデル速度偏差が、切替線ＳＬ（切替面）に沿ってそれぞれ「０」に収束するように、スライディングモード制御を行なう。詳細は後述するが、フィードフォワード制御部１０の実行するスライディングモード制御は、サーボモータ２の出力可能な所定のトルク（例えば、サーボモータ２の出力可能な最大トルク）を前提として、サーボモータ２のモデル（規範モデル）を制御する。したがって、ユーザは、制御装置１を用いることによって、サーボモータ２の出力可能な最大トルクを意識することなく、サーボモータ２にオーバーシュートおよびハンチング等を起させずに所望の動作を実行させることができる。
【００５６】
従来の制御装置９と以上に説明した点で異なる制御装置１について、その概要は以下のように表現することができる。すなわち、制御装置１は、制御対象（例えば、負荷機械３）を動作させるサーボモータ２の制御装置であって、予め設定された前記制御対象のモデルに基づいて、サーボモータ２の位置、速度、トルクの目標値であるモデル出力位置θＭ（モデル位置）、モデル出力速度ｖＭ（モデル速度）、モデル出力トルク（モデルトルク）を出力するフィードフォワード制御部１０を備え、フィードフォワード制御部１０は、外部から入力された位置指令値θＲと前記モデル出力位置θＭとの偏差であるモデル位置偏差と、速度指令値ｖＲと前記モデル出力速度ｖＭとの偏差であるモデル速度偏差とに基づいて、サーボモータ２が出力可能な所定のトルク（例えば、サーボモータ２の出力可能な最大トルク）と、サーボモータ２により駆動される負荷機械３の運動特性と、により決定される切替線ＳＬ上に収束するように前記モデル出力トルクを決定するスライディングモード制御部１０２を含む。
【００５７】
前記の構成によれば、制御装置１は、フィードフォワード制御部１０が、スライディングモード制御により、前記モデル出力位置θＭ、前記モデル出力速度ｖＭ、前記モデル出力トルクを制御する。つまり、フィードフォワード制御部１０は、サーボモータ２の出力可能な最大トルクを超えないモデル軌道（前記モデル出力位置θＭおよび前記モデル出力速度ｖＭ）を生成することができる。したがって、制御装置１についてユーザは、サーボモータ２の出力可能な最大トルクを意識せずに前記位置指令をフィードフォワード制御部１０に与え、サーボモータ２に所望の動作を実行させることができるという効果を奏する。
【００５８】
また、制御装置１は、フィードフォワード制御部１０が、スライディングモード制御により、前記モデル出力位置θＭ、前記モデル出力速度ｖＭ、前記モデル出力トルクを制御する。したがって、制御装置１は、オーバーシュートおよびハンチング等を起すことのないモデルを用いて、前記モデル追従制御を実行することができるという効果を奏する。
【００５９】
さらに、制御装置１は、モデル速度制御部３０３の出力トルクがトルクリミッタ３０４により制限されてしまうことにより、フィードバック制御器がモデルの出力する軌道に追従できず、その結果、オーバーシュートおよびハンチング等の（モデルの出力する軌道自体がオーバーシュートおよびハンチングする等の）問題が生じるという事態を回避することができるという効果を奏する。
【００６０】
ここで、制御装置１は、フィードフォワード制御部１０により制御される前記モデル出力位置θＭおよび前記モデル出力速度ｖＭに追従するよう、サーボモータ２の前記位置および前記速度についてフィードバック制御（例えば、ＰＩＤ制御）を行うフィードバック制御部２０をさらに含んでいる。
【００６１】
前記の構成によれば、制御装置１は、フィードフォワード制御部１０が、スライディングモード制御により、前記モデル出力位置θＭ、前記モデル出力速度ｖＭ、前記モデル出力トルクを制御し、フィードバック制御部２０が、前記モデル出力位置θＭおよび前記モデル出力速度ｖＭに追従するよう、サーボモータ２の前記位置および前記速度について、前記フィードバック制御（例えば、ＰＩＤ制御）を行う。
【００６２】
ここで、フィードバック制御部２０が前記スライディングモード制御を実行した場合、サーボモータ２の前記トルクについて、ハンチングが起こりうる。
【００６３】
しかしながら、制御装置１は、フィードバック制御部２０が前記ＰＩＤ制御を行うため、サーボモータ２の前記トルクについて、ハンチングが起こることを回避することができるという効果を奏する。以上に概要を説明した制御装置１について、次に、図１を用いて、その詳細を説明していく。
【００６４】
なお、前記切替線ＳＬを決定するサーボモータ２が出力可能な所定のトルクは、例えば、サーボモータ２の出力可能な最大トルクである。ただし、前記切替線ＳＬを決定するサーボモータ２が出力可能な所定のトルクが、サーボモータ２の出力可能な最大トルクであることは必須ではない。制御装置１において、前記切替線ＳＬを決定するサーボモータ２が出力可能な所定のトルクは、サーボモータ２の出力可能な最大トルクよりも小さければよい。
【００６５】
前記の構成によれば、制御装置１は、サーボモータ２に課す負荷を抑制しつつ制御された前記モデル出力位置θＭ、前記モデル出力速度ｖＭ、前記モデル出力トルクに、サーボモータ２を追従させることができるという効果を奏する。
【００６６】
（本発明の一態様に係る制御装置の詳細）
図１は、制御装置１の要部構成を示すブロック図である。制御装置１は、サーボモータ２についてモデル追従制御を行う制御装置である。すなわち、制御装置１は、サーボモータ２のモデル（規範モデル）を制御するフィードフォワード制御部１０と、フィードフォワード制御部１０により制御されるサーボモータ２のモデルに追従するよう、サーボモータ２を制御するフィードバック制御部２０と、を含んでいる。
【００６７】
フィードフォワード制御部１０は、サーボモータ２の位置、速度、トルクの目標値であるモデル出力位置θＭ（モデル位置）、モデル出力速度ｖＭ（モデル速度）、モデル出力トルク（モデルトルク）を制御する。ここで、フィードフォワード制御部１０は、前記モデル出力位置θＭ、前記モデル出力速度ｖＭ、および前記モデル出力トルクについて、つまり、サーボモータ２のモデル（規範モデル）について、スライディングモード制御を実行する。具体的には、フィードフォワード制御部１０は、速度指令生成部１０１、スライディングモード制御部１０２、モデルトルクリミッタ１０３、および制御対象モデル検出部１０４を含んでいる。速度指令生成部１０１は、外部から（例えば、ユーザから）与えられる位置指令値θＲを受け付け、前記位置指令値θＲから速度指令値ｖＲを生成する。速度指令生成部１０１は、生成した前記速度指令値ｖＲを出力する。
【００６８】
スライディングモード制御部１０２は、前記位置指令値θＲと、前記位置指令値θＲから速度指令生成部１０１により生成された前記速度指令値ｖＲと、制御対象モデル検出部１０４により生成されたモデル出力位置θＭおよびモデル出力速度ｖＭと、を受け付ける。より正確には、スライディングモード制御部１０２は、前記位置指令値θＲと前記モデル出力位置θＭとの偏差であるモデル位置偏差、および、前記速度指令値ｖＲと前記モデル出力速度ｖＭとの偏差であるモデル速度偏差を受け付ける。そして、スライディングモード制御部１０２は、前記モデル位置偏差と、前記モデル速度偏差とが、切替線ＳＬ（切替面）上に収束するようにモデル出力トルクを制御する（決定する）。ここで、モデル出力トルクとは、サーボモータ２のトルクの目標値であり、サーボモータ２のモデル（規範モデル）のトルクである。また、前記切替線ＳＬは、サーボモータ２が出力可能な所定のトルク（例えば、サーボモータ２の出力可能な最大トルク）と、サーボモータ２により駆動される負荷機械３の運動特性とにより決定される。前記切替線ＳＬについての詳細は、後に図２から図６を用いて説明する。
【００６９】
モデルトルクリミッタ１０３は、スライディングモード制御部１０２により制御されたモデル出力トルクに基づいて、モデル出力トルクを出力する。モデルトルクリミッタ１０３から出力されたモデル出力トルクは、制御対象モデル検出部１０４およびフィードバック制御部２０へと通知される。なお、スライディングモード制御部１０２は、サーボモータ２が出力可能なトルクの正負の最大値を出力するものである。したがって、スライディングモード制御部１０２は、その性質上、トルクリミッタとしての機能を果たす。したがって、本実施の形態で設けているモデルトルクリミッタ１０３は設けなくてもよい。
【００７０】
制御対象モデル検出部１０４は、モデルトルクリミッタ１０３から出力されたモデル出力トルクを受け付けて、モデル出力位置θＭおよびモデル出力速度ｖＭを生成し、生成したモデル出力位置θＭおよびモデル出力速度ｖＭを出力する。すなわち、制御対象モデル検出部１０４により生成されたモデル出力位置θＭは、スライディングモード制御部１０２およびフィードバック制御部２０へと通知される。制御対象モデル検出部１０４により生成されたモデル出力速度ｖＭは、スライディングモード制御部１０２およびフィードバック制御部２０へと通知される。なお、より正確には、制御対象モデル検出部１０４により生成されたモデル出力位置θＭと前記位置指令値θＲとの偏差であるモデル位置偏差が、スライディングモード制御部１０２に通知される。また、制御対象モデル検出部１０４により生成されたモデル出力速度ｖＭと前記速度指令値ｖＲとの偏差であるモデル速度偏差が、スライディングモード制御部１０２に通知される。
【００７１】
制御装置１の備えるフィードバック制御部２０は、従来の制御装置９が備えているフィードバック制御部２０と同様のものである。すなわち、制御装置１の備えるフィードバック制御部２０は、フィードフォワード制御部１０により制御されるモデル出力位置θＭ、モデル出力速度ｖＭ、および、モデル出力トルクに追従するよう、サーボモータ２の位置、速度、およびトルクについてＰＩＤ制御を行う。フィードバック制御部２０の備える各機能ブロックについては、既に説明済であるため、詳細は略記する。
【００７２】
すなわち、制御装置１は、モデル追従制御のためのモデル軌道を生成するフィードフォワード制御部１０がスライディングモード制御を実行することにより、サーボモータ２の出力可能な所定のトルク（例えば、サーボモータ２の出力可能な最大トルク）を超えないモデル軌道を生成することができる。また、スライディングモード制御部１０２は、制御対象モデル検出部が出力したモデル速度、モデル位置に基づいて、モータに与えるべきトルクの値を出力する。ここで、モデル速度、モデル位置は、設計したモデルに応じた理想的な値であり、負荷機械３が実働してフィードバックされる速度、位置と比較して、値の急激な変動等は少ない。スライディングモード制御部１０２は、これらのモデル速度、モデル位置に基づきトルクの値を出力するので、スライディングモード制御部１０２がフィードバック制御部２０に配置されている場合と比較して、スライディングモード制御部１０２から出力されるトルクの値の挙動が安定する。その結果、制御装置１により制御されるサーボモータ２はオーバーシュートおよびハンチング等を起すことがない。詳細は後述するが、制御装置１により制御されるモデルのモデル出力位置θＭは、図７に示すようにオーバーシュートおよびハンチング等を起こすことなく収束する。なお、図７は、切替線ＳＬが二次曲線であって、スライディングモード制御部１０２の受け付ける速度指令値ｖＲを「０」とした場合の、モデル出力位置θＭの軌跡を示す図であり、詳細については後述する。
【００７３】
以上に詳細を説明した制御装置１が実行する制御方法（サーボモータ２の制御方法）は以下のように整理することができる。すなわち、制御装置１が実行する制御方法は、モデル追従制御を行うサーボモータ２の制御方法であって、サーボモータ２の位置、速度、トルクの目標値であるモデル出力位置θＭ、モデル出力速度ｖＭ、モデル出力トルクを制御するフィードフォワード制御ステップと、前記フィードフォワード制御ステップにより制御された前記モデル出力位置θＭおよび前記モデル出力速度ｖＭに、サーボモータ２の位置および速度を追従させるフィードバック制御ステップと、を含み、前記フィードフォワード制御ステップは、外部から入力された位置指令値θＲと前記モデル出力位置θＭとの偏差であるモデル位置偏差と、速度指令値ｖＲと前記モデル出力速度ｖＭとの偏差であるモデル速度偏差とが、サーボモータ２が出力可能な所定のトルク（例えば、サーボモータ２の出力可能な最大トルク）と、サーボモータ２により駆動される負荷機械３の運動特性と、により決定される切替線ＳＬ上に収束するように前記モデル出力トルク（モデルトルク）を決定するスライディングモード制御を行うスライディングモード制御ステップを含む。
【００７４】
前記の構成によれば、前記制御方法において、前記フィードフォワード制御ステップが、スライディングモード制御により、前記モデル出力位置θＭ、前記モデル出力速度ｖＭ、前記モデル出力トルクを制御する。つまり、前記フィードフォワード制御ステップは、サーボモータ２の出力可能な最大トルクを超えないモデル軌道（前記モデル出力位置θＭおよび前記モデル出力速度ｖＭ）を生成することができる。したがって、前記制御方法についてユーザは、サーボモータ２の出力可能な最大トルクを意識せずに前記位置指令を前記フィードフォワード制御ステップに与え、サーボモータ２に所望の動作を実行させることができるという効果を奏する。
【００７５】
また、前記制御方法は、前記フィードフォワード制御ステップが、スライディングモード制御により、前記モデル出力位置θＭ、前記モデル出力速度ｖＭ、前記モデル出力トルクを制御する。したがって、前記制御方法は、オーバーシュートおよびハンチング等を起すことのないモデルを用いて、前記モデル追従制御を実行することができるという効果を奏する。
【００７６】
さらに、前記制御方法は、前記モデル出力トルクがサーボモータ２の出力可能な最大トルクを超えることにより、フィードバック制御ステップがモデルの出力する軌道に追従できず、その結果、オーバーシュートおよびハンチング等の（モデルの出力する軌道自体がオーバーシュートおよびハンチングする等の）問題が生じるという事態を回避することができるという効果を奏する。
【００７７】
次に、フィードフォワード制御部１０がサーボモータ２のモデルについて実行するスライディングモード制御について、図２を用いてその詳細を説明しておく。
【００７８】
（スライディングモード制御について）
図２は、スライディングモード制御部１０２が実行するスライディングモード制御を説明するための図である。図２に示すように、スライディングモード制御部１０２は、速度偏差ｖｅｒｒと位置偏差θｅｒｒを入力とし、入力された速度偏差ｖｅｒｒおよび位置偏差θｅｒｒにより決まる点が、図２に示した切替線ＳＬ（切替面）のどちら側にいるかで、モデル出力トルクを決定する。
【００７９】
切替線ＳＬは、サーボモータ２が出力可能な正の所定のトルク、または負の所定のトルク（例えば、サーボモータ２が出力可能な正の最大トルクまたは負の最大トルク）を出力した時に、原点（すなわち位置偏差θｅｒｒおよび速度偏差ｖｅｒｒがともに「０」になる位置）へ至る軌道として設計されている。
【００８０】
図２に示すように、横軸に速度偏差ｖｅｒｒ、縦軸に位置偏差θｅｒｒをとる位相平面ＰＰを考え、位相平面ＰＰ上に、速度偏差ｖｅｒｒと位置偏差θｅｒｒとの式で表される切替線ＳＬ（切替面）を描く。与えられた入力（スライディングモード制御部１０２が受け付けた速度偏差ｖｅｒｒおよび位置偏差θｅｒｒ）を位相平面ＰＰにプロットした時、当該入力を示す点が、切替線ＳＬの紙面右上側にいる場合、スライディングモード制御部１０２は、サーボモータ２が出力可能な正の所定のトルク（例えば、サーボモータ２が出力可能な最大トルク）を出力する。前記入力を示す点が、位相平面ＰＰにおいて切替線ＳＬの紙面左下側にいる場合、スライディングモード制御部１０２は、サーボモータ２が出力可能な負の所定のトルク（例えば、サーボモータ２が出力可能な最小トルク、すなわち負の最大トルク）を出力する。また、切替線上にいる場合、第２象限では負の最大トルクを、第４象限では正の最大トルクを出力する。これにより、位置偏差、速度偏差の双方が原点に向かって収束する。
【００８１】
これまで図２を用いて、スライディングモード制御部１０２が実行するスライディングモード制御について説明してきたが、当該スライディングモード制御において利用される切替線ＳＬ（切替面）は、サーボモータ２が出力可能な所定のトルクと、サーボモータ２により駆動される負荷機械３の運動特性とにより決定される。
【００８２】
ここで、負荷機械３の運動特性としては、負荷機械３の運動特性としては、負荷機械３の慣性モーメント（慣性）および粘性係数（粘性摩擦）等が考えられる。負荷機械３の運動特性を、「負荷機械３の慣性モーメントのみ」とした場合、および、「負荷機械３の慣性モーメントおよび粘性係数」とした場合の、前記切替線ＳＬの違いについて、次に、図３を用いて説明していく。
【００８３】
（切替線の導出）
図３は、制御装置１において、負荷機械３の運動特性を負荷機械３の慣性モーメントのみとした場合の切替線ＳＬと、負荷機械３の運動特性を負荷機械３の慣性モーメントおよび粘性係数とした場合の切替線ＳＬとを対比して示す図である。負荷機械モデル（負荷機械３の運動特性）を慣性モーメントのみとした場合、切替線ＳＬ（切替面）は、横軸に速度偏差ｖｅｒｒ、縦軸に位置偏差θｅｒｒをとる位相平面ＰＰにおいて、二次曲線で表すことができる。負荷機械モデルを慣性モーメントおよび粘性摩擦とした場合、切替線ＳＬは、前記位相平面ＰＰにおいて、対数曲線と直線との和として表すことができる。以下、詳細を説明していく。
【００８４】
（慣性モーメントのみ）
以下では先ず、制御装置１において、切替線ＳＬを決定する一要素である負荷機械３の運動特性（負荷機械モデル）が、負荷機械３の慣性モーメントのみである場合について説明する。負荷機械モデルを負荷機械３の慣性モーメントのみとした場合、前記切替線ＳＬは、横軸に速度偏差ｖｅｒｒ、縦軸に位置偏差θｅｒｒをとる位相平面ＰＰ（前記モデル位置偏差と、前記モデル速度偏差とにより定義される平面）において、二次曲線として定義される。
【００８５】
負荷機械モデルを負荷機械３の慣性モーメントのみとした場合、制御装置１は、前記モデル位置偏差と前記モデル速度偏差とが、サーボモータ２の出力可能な所定のトルクと、負荷機械３の慣性モーメントとにより決定される切替線ＳＬ上に収束し、最終的には前記モデル位置偏差と前記モデル速度偏差とがゼロに収束するように、前記モデル出力トルクを決定するスライディングモード制御を行うことができるという効果を奏する。
【００８６】
負荷機械３の運動特性（負荷機械モデル）を負荷機械３の慣性モーメントのみとする場合、スライディングモード制御を行うフィードフォワード制御部１０（スライディングモード制御部１０２）の制御対象が単慣性モデルであることから、飽和制御器の操作量の切り替えがない限り、飽和制御器の出力ｕｓａｔは一定なので、モデルの挙動は以下の数式１で表される等加速度運動になる。
数式１
【００８７】
【数１】
0006607097.tif 000002
【００８８】
数式１において、ｖｅｒｒ（ｔ）、ｖＲ、およびｖＭ（ｔ）は、それぞれ、速度偏差、目標速度（速度指令値）、モデル出力速度であり、ＪＭはモデルの慣性である。数式１の速度偏差を時間積分することで、「位置偏差θｅｒｒ（ｔ）：＝θＲ−θＭ（ｔ）」は、以下の数式２に示すように得ることができる。
数式２
【００８９】
【数２】
0006607097.tif 000003
【００９０】
さらに、数式１と数式２からｔを消去して位置偏差θｅｒｒを速度偏差ｖｅｒｒ（ｔ）で表すと、以下の数式３を得る。
数式３
【００９１】
【数３】
0006607097.tif 000004
【００９２】
ここで、θＲ、θＭ（ｔ）は、それぞれ、目標位置（位置指令値）、モデル出力位置である。数式３より、最大操作量（正の飽和値）および最小操作量（負の飽和値）が入力された場合、任意の初期状態［θｅｒｒ（０）、ｖｅｒｒ（０）］から、状態は図４に示すように遷移する。
【００９３】
図４は、負荷機械３の運動特性を負荷機械３の慣性モーメントのみとした場合の、最大操作量を入力したときの状態遷移と、最小操作量を入力したときの状態遷移とを示す図である。図４において、紙面上側に凸である曲線群は、最大操作量（正の飽和値）を入力した場合の状態遷移を示しており、紙面下側に凸である曲線群は、最小操作量（負の飽和値）を入力した場合の状態遷移を示している。図４において、任意の初期状態から切替回数１回で原点に収束する切替線ＳＬを選択すると、図５に示す図を描くことができる。
【００９４】
図５は、制御装置１において実行されるスライディングモード制御について、最短時間収束の切替線ＳＬを説明するための図である。図５において、最短時間収束を可能とする切替線ＳＬを示すσ（θｅｒｒ、ｖｅｒｒ）は、以下の数式４に示す通りとなる。
数式４
【００９５】
【数４】
0006607097.tif 000005
【００９６】
最短時間収束を可能とする切替線ＳＬ（つまり、数式４で示される切替線ＳＬ）を用いて、制御中に現時刻ｔ０の位置偏差θｅｒｒ（ｔ０）と速度偏差ｖｅｒｒ（ｔ０）とにしたがって飽和制御器の出力ｕｓａｔを
【００９７】
【数５】
0006607097.tif 000006
【００９８】
と定めると、任意の初期状態から操作量を切り替えることなく切替線ＳＬに収束することができる。また、切替線ＳＬ上である「σ＝０」の場合には、以下の数式６に示すように飽和制御器の出力ｕｓａｔを定める。
数式６
【００９９】
【数６】
0006607097.tif 000007
【０１００】
以上に説明したように飽和制御器の出力ｕｓａｔを定めることで、任意の初期状態から操作量を最大１回切り替えることで、原点に収束することが出来る。
【０１０１】
以上までに説明したのは、負荷機械モデル（負荷機械３の運動特性）を慣性モーメントのみとした場合の切替線ＳＬ（切替面）である。次に、負荷機械モデルを慣性モーメントおよび粘性摩擦とした場合の切替線ＳＬについて、説明していく。
【０１０２】
（慣性モーメントおよび粘性摩擦）
制御装置１において、切替線ＳＬを決定する一要素である負荷機械３の運動特性（負荷機械モデル）が、負荷機械３の慣性モーメントと粘性係数とである場合について説明する。負荷機械モデルを負荷機械３の慣性モーメントおよび粘性係数とした場合、前記切替線ＳＬは、横軸に速度偏差ｖｅｒｒ、縦軸に位置偏差θｅｒｒをとる位相平面ＰＰ（前記モデル位置偏差と、前記モデル速度偏差とにより定義される平面）において、対数曲線と直線との和として定義される。
【０１０３】
負荷機械モデルを負荷機械３の慣性モーメントおよび粘性係数とした場合、制御装置１は、前記モデル位置偏差と前記モデル速度偏差とが、サーボモータ２の出力可能な所定のトルクと、負荷機械３の慣性モーメントおよび粘性係数とにより決定される切替線ＳＬ上に収束し、最終的には前記モデル位置偏差と前記モデル速度偏差とがゼロに収束するように、前記モデル出力トルクを決定するスライディングモード制御を行うことができるという効果を奏する。
【０１０４】
次に、負荷機械３の運動特性（負荷機械モデル）が、負荷機械３の慣性モーメントと粘性係数とである場合について詳細に説明していくが、以下の説明においては、実制御対象（プラント）は慣性、粘性摩擦、動摩擦、および偏荷重を持ち、その制御対象への入力が飽和しているものと想定する。これらの特性をモデリングすると以下の数式７に示すように記述できる。
数式７
【０１０５】
【数７】
0006607097.tif 000008
【０１０６】
上記モデルにおいて、モデルへの入力ｕＭがステップ入力であるとして、このときのモデルの位置（モデル出力位置θＭ）およびモデルの速度（モデル出力速度ｖＭ）を求める。先ずモデル出力速度ｖＭのラプラス変換は以下の数式８に示すようになる。
数式８
【０１０７】
【数８】
0006607097.tif 000009
【０１０８】
数式８を逆ラプラス変換すると、以下の数式９を得る。ただし、初期速度ｖＭ（０）について、「ｖＭ（０）＝０」とする。
数式９
【０１０９】
【数９】
0006607097.tif 000010
【０１１０】
数式９を「初期位置θＭ（０）＝０」で時間積分することにより、モデル出力位置θＭ（ｔ）を得ることができる。よって、モデル出力位置θＭ（ｔ）およびモデル出力速度ｖＭ（ｔ）は、以下の数式１０に示すようになる。
数式１０
【０１１１】
【数１０】
0006607097.tif 000011
【０１１２】
ここで、位置偏差θｅｒｒ（ｔ）および速度偏差ｖｅｒｒ（ｔ）を、それぞれ、「θｅｒｒ（ｔ）＝θＲ−θＭ（ｔ）」、「ｖｅｒｒ（ｔ）＝ｖＲ−ｖＭ（ｔ）」と定義し、先ほどと同様に初期条件「［θｅｒｒ（０）、ｖｅｒｒ（０）］＝［０，０］」の下で一定値入力ｕＭに対する時間応答を求めると、以下の数式１１に示すようになる。
数式１１
【０１１３】
【数１１】
0006607097.tif 000012
【０１１４】
（最適切替線の設計）
数式１１に基づいて、入力ｕＭが正の飽和値τｍａｘ，ｕｓｒになる場合と、負の飽和値τｍｉｎ，ｕｓｒになる場合のθｅｒｒ、ｖｅｒｒの挙動を図に示すと、図６のようになる。
【０１１５】
図６は、負荷機械３の運動特性を負荷機械３の慣性モーメントおよび粘性係数とした場合であって、一定入力時の位置偏差θｅｒｒと速度偏差ｖｅｒｒとにより定義される切替線ＳＬについて説明するための図であり、特に、「ｔ＝０」で「θｅｒｒ＝０」、「ｖｅｒｒ＝０」となる軌道を示す図である。図６において、垂直方向の点線は、出力トルクと粘性摩擦とが打ち消し合ってそれ以上速度が増大しない値を表す線である。
【０１１６】
原点「（θｅｒｒ、ｖｅｒｒ）＝（０、０）」に飽和操作値（すなわち、正の飽和値τｍａｘ，ｕｓｒまたは、負の飽和値τｍｉｎ，ｕｓｒ）で収束させるには、図６の「ｔ＝０」よりも過去の、すなわち「ｔ≦０」の軌道に状態を移行させ、その軌道に沿うよう制御すればよい。ここで、数式１１からｔを消去することで、最適な切替線ＳＬは、以下の数式１２で表すことができる。
数式１２
【０１１７】
【数１２】
0006607097.tif 000013
【０１１８】
これまで、スライディングモード制御部１０２が実行するスライディングモード制御において利用される切替線ＳＬ（切替面）について、切替線ＳＬを決定する一要素である負荷機械３の運動特性の観点から説明を行ってきた。次に、スライディングモード制御部１０２が受け付けるモデル速度偏差（より正確には、速度指令生成部１０１が生成する速度指令値ｖＲ）について、図７および図８を用いて説明する。
【０１１９】
（スライディングモード制御部の受け付ける速度指令値について）
スライディングモード制御部１０２が受け付けるモデル速度偏差は、外部から（例えば、ユーザから）与えられる位置指令値θＲに基づいて速度指令生成部１０１が生成する速度指令値ｖＲとモデル出力速度ｖＭとの偏差である。以下、スライディングモード制御部１０２の受け付ける速度指令値ｖＲ、つまり、速度指令生成部１０１の生成する速度指令値ｖＲにより、スライディングモード制御部１０２の制御するモデルの挙動がどのように変化するかを、図７および図８を用いて説明する。具体的には、スライディングモード制御部１０２の受け付ける速度指令値ｖＲを、「位置指令値θＲの微分」とした場合と、「０」とした場合とについて説明する。
【０１２０】
制御装置１において、スライディングモード制御部１０２の受け付ける速度指令値ｖＲを「０」とすることができる。すなわち、速度指令生成部１０１は、「０」である速度指令値を、スライディングモード制御部１０２に出力してもよい。
【０１２１】
前記の構成によれば、制御装置１は、速度指令値ｖＲが０であるため、目標位置に到達した時点でモデル出力速度ｖＭも０とすることができるため、前記モデル出力位置θＭがオーバーシュートしないという効果を奏する。
【０１２２】
図７は、制御装置１において実行されるスライディングモード制御について、速度指令を「０」とした場合のモデル出力位置θＭの軌跡を示す図であり、つまり、スライディングモード制御部１０２の受け付ける速度指令値ｖＲを「０」とした場合の、スライディングモード制御部１０２の制御するモデルの挙動を示す図である。図７に示すように、スライディングモード制御部１０２の受け付ける速度指令値ｖＲを「０」とした場合、モデル出力位置θＭがオーバーシュートすることがない一方、位置指令値θＲに対して遅延が生じ、指令追従性が低下する。
【０１２３】
制御装置１において、スライディングモード制御部１０２の受け付ける速度指令値ｖＲを「位置指令の微分」とすることができる。すなわち、速度指令生成部１０１は、「位置指令の微分」である速度指令値ｖＲを、スライディングモード制御部１０２に出力してもよい。
【０１２４】
図８は、制御装置１において実行されるスライディングモード制御について、速度指令を位置指令の微分とした場合のモデル出力位置θＭの軌跡を示す図であり、つまり、スライディングモード制御部１０２の受け付ける速度指令値ｖＲを「位置指令値θＲの微分」とした場合の、スライディングモード制御部１０２の制御するモデルの挙動を示す図である。図８に示すように、スライディングモード制御部１０２の受け付ける速度指令値ｖＲを「位置指令値θＲの微分」とした場合、当該位置指令値θＲに対する指令追従性が高い一方、モデル出力位置θＭのオーバーシュートが起き得る。
【０１２５】
（モデル出力速度に応じた、モデル出力トルクの制限について）
サーボモータ２の最大速度は決まっているため、スライディングモード制御部１０２の制御するモデル出力速度ｖＭが、当該最大速度よりも大きくなることは望ましくない。すなわち、制御装置１において、前記モデル出力速度ｖＭは、サーボモータ２の最大出力速度未満であることが好ましい。
【０１２６】
前記の構成によれば、制御装置１において、フィードフォワード制御部１０により制御されるモデル出力速度ｖＭは、サーボモータ２の最大出力速度未満である。
【０１２７】
ここで、サーボモータ２の最大出力速度よりも大きなモデル出力速度ｖＭを設定してしまうと、実際のサーボモータ２は追従することができず、モデルの制御挙動と異なる制御となってしまう。
【０１２８】
制御装置１において、前記モデル出力速度ｖＭは、サーボモータ２の最大出力速度未満であるため、制御装置１は、サーボモータ２が追従可能なモデルを用いて、サーボモータ２について、モデル追従制御を行うことができるという効果を奏する。
【０１２９】
具体的には、スライディングモード制御部１０２は、ｖａを「速度制限を始めるしきい値」、ｖｂを「速度制限値」として、下記のモデル出力トルク算出方法に示すように、モデル出力速度ｖＭに応じて、出力（モデル出力トルク）を制限する。
数式１３
【０１３０】
【数１３】
0006607097.tif 000014
【０１３１】
図９は、ｖａを「速度制限を始めるしきい値」、ｖｂを「速度制限値」として、モデル出力速度ｖＭに応じて、スライディングモード制御によるモデル出力トルクを制限することを示す図である。図９に示すように、スライディングモード制御部１０２の制御する（出力する）モデル出力速度ｖＭが、サーボモータ２の最大出力速度を示す速度制限値ｖｂよりも大きくならないよう、スライディングモード制御部１０２は、以下の制御を実行する。すなわち、スライディングモード制御部１０２は、モデル出力速度ｖＭが「速度制限を始めるしきい値ｖａ」に達すると、出力（モデル出力トルク）を制限して、モデル出力速度ｖＭを速度制限値ｖｂ以下にする。
〔実施形態２〕
以下、本発明の実施形態２について、図１１から図１６に基づいて詳細に説明する。
【０１３２】
（本発明の一態様に係る制御装置の概要）
上記の実施形態１では、スライディングモード制御部１０２は、サーボモータ２が出力可能な所定のトルクと、サーボモータ２による駆動される負荷機械３の運動特性とにより決定される切替線ＳＬ上に収束するようにモデル出力トルクを決定する。このとき、スライディングモード制御部１０２は、サーボモータ２が出力可能な所定のトルクとして、例えばサーボモータが出力可能な最大トルクとして予め設定された一定値であるτｍａｘ、および、サーボモータが出力可能な最小トルク（つまり、負方向の最大トルク）として予め設定された一定値であるτｍｉｎを用いるものとした。
【０１３３】
しかしながら、最大トルクおよび最小トルクは、モータの駆動状態によって変動する。例えば、モータ毎に固有のＮＴ特性（Ｎ：回転数、Ｔ：トルク）により、回転数が多いほど出力可能な最大トルクおよび最小トルクの絶対値は減少する。
【０１３４】
また、回転方向に応じて変動する動摩擦や、回転数に応じて変動する粘性摩擦の影響でも、出力可能な最大トルクおよび最小トルクが変動する。
【０１３５】
他に、負荷機械３における偏荷重等によっても、出力可能な最大トルクおよび最小トルクが変動する。ここで、偏荷重とは、負荷機械３に対してある特定の方向にだけ発生する荷重を示している。例えば、負荷機械３が鉛直方向に往復運動する際に、重力の影響によって生じる荷重である。
【０１３６】
そのため、このような最大トルクおよび最小トルクの変動を考慮せず、サーボモータ２が出力可能な最大トルクおよび最小トルクとして予め設定された一定値を用いた場合、スライディングモード制御部１０２で用いる、サーボモータが出力可能な所定のトルクと、実際のサーボモータ２の加減速に用いることのできる最大トルク／最小トルクとの間に乖離が生じ得る。これにより、スライディングモード制御部１０２から出力されるモデル出力トルクにサーボモータ２が追従できない。その結果、オーバーシュートやハンチングが生じるという問題が起こり得る。
【０１３７】
本実施形態は、このような問題をも解消し得るものである。本実施形態について、図１１に基づいて説明すれば、以下のとおりである。図１１は、制御装置１の要部構成を示すブロック図である。本実施形態に係る制御装置１は、トルク補正部１０５が備えられている点で、実施形態１の制御装置１と相違する。なお、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
【０１３８】
トルク補正部１０５は、スライディングモード制御部１０２が切替線ＳＬを決定するために用いる、サーボモータ２の出力可能な所定のトルクを、サーボモータ２の駆動状態に基づいて補正するためのものである。
【０１３９】
トルク補正部１０５を備えることにより、サーボモータ２が出力可能な所定トルクがサーボモータ２の駆動状態に基づいて補正され、実際に加減速に使用できるトルク値を用いてスライディングモード制御部１０２の設定が行われるため、スライディングモード制御部１０２を用いた場合におけるモータの挙動の安定性が向上する。
【０１４０】
なお、トルク補正部１０５は、サーボモータ２の駆動状態としてサーボモータ２の実際の駆動状態を用いて所定トルクの補正を行ってもよいし、サーボモータ２の駆動状態として制御対象モデル検出部３０５から出力されるモデルの状態を用いて所定トルクの補正を行ってもよい。
【０１４１】
ただし、サーボモータ２の実際の駆動状態は、予期しない外乱などの影響を受けている場合がある。この場合、サーボモータ２の実際の駆動状態を用いて所定トルクの補正を行うと、モデル出力トルクが不安定になる可能性がある。そのため、予期しない外乱などの影響を受けやすい環境の場合には、トルク補正部１０５は、サーボモータ２の駆動状態として制御対象モデル検出部３０５から出力されるモデルの状態を用いて所定トルクの補正を行うことが好ましい。
【０１４２】
トルク補正部１０５は、サーボモータ２の駆動状態としてサーボモータ２の実際の駆動状態を用いる場合、エンコーダ４によって検出されたサーボモータ２の位置（実位置）、または、速度検出部２０２から出力される速度（実速度）を用いればよい。また、トルク補正部１０５は、サーボモータ２の駆動状態としてモデルの状態を用いる場合、制御対象モデル検出部３０５から出力されるモデル出力位置またはモデル出力速度を用いればよい。
【０１４３】
（演算方法）
次に、トルク補正部１０５の演算方法の具体例について図１６に基づいて説明する。
【０１４４】
図１６において、最大トルクはτｍａｘ、定格トルクはτｒａｔｅｄ、定格速度はｖｒａｔｅｄ、最大速度はｖｍａｘで表されている。トルク補正部１０５は、図１６に示されるように、定格速度ｖｒａｔｅｄ、最大速度ｖｍａｘ、定格トルクτｒａｔｅｄ、最大トルクτｍａｘを用いて、(ｖｒａｔｅｄ, τｍａｘ) )と(ｖｍａｘ, τｒａｔｅｄ)を結ぶ直線で、切替線ＳＬを決定するために用いる、サーボモータ２の出力可能な所定のトルクを補正する。
【０１４５】
ここで、傾きＫを用いて、ある速度ｖにおけるトルク減少値τｄｅｃ（ｖ）を数式１４によって計算される。なお、トルク減少値τｄｅｃ（ｖ）は負の値である。ただし、ｖ＞０とする。また、傾きＫは数式１５で示されるものである。
【０１４６】
【数１４】
0006607097.tif 000015
【０１４７】
【数１５】
0006607097.tif 000016
【０１４８】
この値を用いて、トルク補正部１０５は、切替線ＳＬを決定するために用いる、サーボモータ２の出力可能な所定のトルクとして、補正後最大トルク（正方向の最大トルク）τｌｉｍ＿ｍａｘおよび補正後最小トルク（つまり、負方向の最大トルク）τｌｉｍ＿ｍｉｎを数式１６のように求める。なお、トルク補正部１０５は、速度ｖとして、制御対象モデル検出部１０４から出力されるモデル出力速度ｖＭを用いてもよいし、速度検出部２０２から出力される実速度を用いてもよい。
【０１４９】
【数１６】
0006607097.tif 000017
【０１５０】
ここでτｕ＿ｍａｘ、τｕ＿ｍｉｎは、それぞれトルクリミッタ２０４の上限値および下限値である（この値には、実際にサーボモータ２が出力可能なトルクの正負の最大値を設定可能である）。トルクリミッタ２０４の上限値および下限値は、ユーザによって設定可能であり、それぞれτｍａｘ以下の正の値、−τｍａｘ（＝τｍｉｎ）以上の負の値が設定される。なお、トルクリミッタ２０４の上限値の絶対値と下限値の絶対値は互いに異なっていてもよい。また、ユーザによる設定指示がない場合、トルクリミッタ２０４の上限値τｕ＿ｍａｘはτｍａｘに、下限値τｕ＿ｍｉｎは、−τｍａｘに設定される。
【０１５１】
上記数式１６によれば、トルク補正部１０５は、サーボモータ２の最大トルクτｍａｘからトルク減少値τｄｅｃ（ｖ）を加算（つまり、トルク減少値τｄｅｃ（ｖ）の絶対値だけ減算）した値がユーザにより設定された上限値τｕ＿ｍａｘ以下であれば、τｍａｘ＋τｄｅｃ（ｖ）を、補正後最大トルクτｌｉｍ＿ｍａｘとする。一方、トルク補正部１０５は、サーボモータ２の最大トルクτｍａｘからトルク減少値τｄｅｃ（ｖ）を加算した値がユーザにより設定された上限値τｕ＿ｍａｘを超える場合、補正後最大トルクτｌｉｍ＿ｍａｘとしてτｕ＿ｍａｘを設定する。同様にして、トルク補正部１０５は、補正後最小トルクτｌｉｍ＿ｍｉｎを設定する。
【０１５２】
スライディングモード制御部１０２は、トルク補正部１０５が算出した補正後最大トルクτｌｉｍ＿ｍａｘおよび補正後最小トルクτｌｉｍ＿ｍｉｎを用いて、切替線ＳＬを決定する。
【０１５３】
例えば、慣性モーメントのみを考慮した場合のスライディングモードの切替線ＳＬは、上記数式４におけるτｍａｘおよびτｍｉｎを、上記演算によって算出された補正後最大トルクτｌｉｍ＿ｍａｘおよび補正後最小トルクτｌｉｍ＿ｍｉｎに置き換えた数式１７によって算出される。
【０１５４】
【数１７】
0006607097.tif 000018
【０１５５】
図１５は、トルク補正部１０５を備えている場合と備えていない場合との、最短時間収束の切替線ＳＬの違いを示す図である。図１５に示されるように、トルク補正部１０５を備えることにより、切替線ＳＬが大きく変わることがわかる。
【０１５６】
また、慣性モーメントおよび粘性摩擦を考慮した場合のスライディングモードの切替線ＳＬは、上記数式１２におけるτｍａｘ、ｕｓｒおよびτｍｉｎ、ｕｓｒを、上記演算によって算出された補正後最大トルクτｌｉｍ＿ｍａｘおよび補正後最小トルクτｌｉｍ＿ｍｉｎに置き換えた式によって算出すればよい。
【０１５７】
このように、トルク補正部１０５を制御装置１に備えることにより、ＮＴ特性等を考慮することが可能となる。具体的には、トルク補正部１０５は、切替線ＳＬを決定するために用いる、サーボモータ２の出力可能な所定のトルクとして、サーボモータ２が実際に加減速に用いることのできるトルクを出力することができる。これにより、スライディングモード制御部１０２は、動的に変化する補正後最大トルクτｌｉｍ＿ｍａｘ、補正後最小トルクτｌｉｍ＿ｍｉｎと用いて、スライディングモードの切替線ＳＬを動的に求めることが可能となる。これにより、制御装置１は、オーバーシュートやハンチングを生じない軌道を生成できる。
【０１５８】
なお、ここでは、制御対象モデル検出部１０４から出力されるモデル出力速度ｖＭまたは速度検出部２０２から出力される実速度と、ＮＴ特性とに基づいて算出されるトルク減少値τｄｅｃ（ｖ）を用いて、切替線ＳＬを決定するために用いる、サーボモータ２の出力可能な所定のトルクを補正する例について説明した。
【０１５９】
しかしながら、トルク補正部１０５は、ＮＴ特性以外の要因によるトルク減少値を求めてもよい。
【０１６０】
例えば、動摩擦によってサーボモータ２にトルク損失が生じている場合、トルク補正部１０５は、動摩擦によるトルク減少値を求める。動摩擦は、サーボモータ２の速度ｖに応じて符号が変わる定数である。そこで、トルク補正部１０５は、当該定数を予め記憶しておき、制御対象モデル検出部３０５から出力されるモデル出力速度ｖＭまたは速度検出部２０２から出力される実速度に応じて符号を決定し、動摩擦によるトルク減少値を求める。
【０１６１】
また、粘性摩擦によってサーボモータ２にトルク損失が生じている場合、トルク補正部１０５は、粘性摩擦によるトルク減少値を算出する。粘性摩擦は、サーボモータ２の速度ｖに応じて変化する関数によって決まる。そこで、トルク補正部１０５は、当該関数を予め記憶しておき、制御対象モデル検出部３０５から出力されるモデル出力速度ｖＭまたは速度検出部２０２から出力される実速度に応じて、粘性摩擦によるトルク減少値を求める。
【０１６２】
また、負荷機械３における偏荷重によってトルク損失が生じている場合、トルク補正部１０５は、偏荷重によるトルク減少値を求める。偏荷重によるトルク減少値は、負荷機械３の動作実験またはシミュレーションにより予め設定される。そこで、トルク補正部１０５は、制御対象モデル検出部３０５から出力されるモデル出力速度ｖＭおよび／またはモデル出力位置θＭ、もしくは、エンコーダ４から出力される実位置および／または速度検出部２０２から出力される実速度に基づいて、偏荷重が生じているタイミングか否かを判定し、偏荷重が生じているタイミングの場合に、予め記憶しているトルク減少値を設定する。
【０１６３】
なお、トルク補正部１０５は、これら様々な要因によるトルク減少値の何れか１つのみを用いてもよいし、複数のトルク減少値を組み合わせた合算値を用いてもよい。
【０１６４】
（効果）
本実施形態におけるトルク補正部１０５の効果を図１２〜図１４に基づいて説明する。ただし、一例としてＮＴ特性を考慮に入れた場合の説明を行う。
【０１６５】
図１２〜図１４は、それぞれ、制御装置において実行されるスライディングモード制御について、速度指令を「０」とした場合の同一の動作に対する、位置、速度、トルクについてのモデルと実際の状態との比較を示している。すなわち、図１２は、モデル出力位置（実線）と、サーボモータの実際の位置（実位置）（点線）との比較を示し、図１３は、モデル出力速度（実線）と、サーボモータ２の実速度（点線）との比較を示し、図１４は、モデル出力トルク（実線）と、サーボモータ２の駆動電流、もしくは、制御装置１で生成される電流指令値からそれぞれ換算される実トルク（点線）との比較を示す。また、各図において、（ａ）はトルク補正部１０５を備えないスライディングモード制御部１０２に対応する図であり、（ｂ）はトルク補正部１０５を備えたスライディングモード制御部１０２に対応する図である。
【０１６６】
図１２の（ａ）に示されるように、制御装置１にトルク補正部１０５を備えていない場合、ＮＴ特性が考慮されず、モデル位置に実位置が追従できず、位置決め時にハンチングが生じている。しかしながら、図１２の（ｂ）に示されるように、トルク補正部１０５を制御装置１に備えることによって、ＮＴ特性を考慮した制御をすることにより、ハンチングが解消され、モデル位置と実位置が一致した状態になり、ハンチングを改善できることが確認される。
【０１６７】
また、図１３の（ａ）に示されるように、制御装置１にトルク補正部１０５を備えていない場合、ＮＴ特性が考慮されず、すなわち、実際にモータの加減速に使うことができるトルクが減少した分が考慮されないため、モデル出力速度に実速度が追従できず、位置決め時にハンチングが生じている。しかしながら、図１３の（ｂ）に示されるように、トルク補正部１０５を制御装置１に備えることによって、ＮＴ特性を考慮した制御をすることにより、ハンチングが解消され、モデル出力速度と実速度が一致した状態になり、ハンチングを改善できることが確認される。
【０１６８】
さらに、図１４の（ａ）に示されるように、制御装置１にトルク補正部１０５を備えていない場合、ＮＴ特性が考慮されず、すなわち、実際にモータの加減速に使うことができるトルクが減少した分が考慮されないため、モデル出力トルク（図中、モデルトルクと記載）と実トルクに差が生じている。しかしながら、図１４の（ｂ）に示されるように、トルク補正部１０５を制御装置１に備えることによって、ＮＴ特性を考慮した制御をすることにより、モデル出力トルクと実トルクが一致した状態になっていることが分かる。
【０１６９】
〔ソフトウェアによる実現例〕
制御装置１の制御ブロック（特に、フィードフォワード制御部１０、速度指令生成部１０１、スライディングモード制御部１０２、モデルトルクリミッタ１０３、制御対象モデル検出部１０４、フィードバック制御部２０、位置制御部２０１、速度検出部２０２、速度制御部２０３、トルクリミッタ２０４）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。
【０１７０】
後者の場合、制御装置１は、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、上記プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、上記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（またはＣＰＵ）が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【０１７１】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【０１７２】
１  制御装置
２  サーボモータ
３  負荷機械
１０  フィードフォワード制御部
２０  フィードバック制御部
１０２  スライディングモード制御部
１０５  トルク補正部
ｖＭ      モデル出力速度（モデル速度）
θＭ      モデル出力位置（モデル位置）
ｖＲ      目標速度（速度指令値）
θＲ      目標位置（位置指令値）
ｖｅｒｒ  速度偏差
θｅｒｒ  位置偏差
ＳＬ    切替線
【図１】
0006607097.tif 000019
【図２】
0006607097.tif 000020
【図３】
0006607097.tif 000021
【図４】
0006607097.tif 000022
【図５】
0006607097.tif 000023
【図６】
0006607097.tif 000024
【図７】
0006607097.tif 000025
【図８】
0006607097.tif 000026
【図９】
0006607097.tif 000027
【図１０】
0006607097.tif 000028
【図１１】
0006607097.tif 000029
【図１２】
0006607097.tif 000030
【図１３】
0006607097.tif 000031
【図１４】
0006607097.tif 000032
【図１５】
0006607097.tif 000033
【図１６】
0006607097.tif 000034