特許第6607097号(P6607097)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オムロン株式会社の特許一覧

特許6607097制御装置、制御方法、情報処理プログラム、および記録媒体
<>
  • 特許6607097-制御装置、制御方法、情報処理プログラム、および記録媒体 図000019
  • 特許6607097-制御装置、制御方法、情報処理プログラム、および記録媒体 図000020
  • 特許6607097-制御装置、制御方法、情報処理プログラム、および記録媒体 図000021
  • 特許6607097-制御装置、制御方法、情報処理プログラム、および記録媒体 図000022
  • 特許6607097-制御装置、制御方法、情報処理プログラム、および記録媒体 図000023
  • 特許6607097-制御装置、制御方法、情報処理プログラム、および記録媒体 図000024
  • 特許6607097-制御装置、制御方法、情報処理プログラム、および記録媒体 図000025
  • 特許6607097-制御装置、制御方法、情報処理プログラム、および記録媒体 図000026
  • 特許6607097-制御装置、制御方法、情報処理プログラム、および記録媒体 図000027
  • 特許6607097-制御装置、制御方法、情報処理プログラム、および記録媒体 図000028
  • 特許6607097-制御装置、制御方法、情報処理プログラム、および記録媒体 図000029
  • 特許6607097-制御装置、制御方法、情報処理プログラム、および記録媒体 図000030
  • 特許6607097-制御装置、制御方法、情報処理プログラム、および記録媒体 図000031
  • 特許6607097-制御装置、制御方法、情報処理プログラム、および記録媒体 図000032
  • 特許6607097-制御装置、制御方法、情報処理プログラム、および記録媒体 図000033
  • 特許6607097-制御装置、制御方法、情報処理プログラム、および記録媒体 図000034
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6607097
(24)【登録日】2019年11月1日
(45)【発行日】2019年11月20日
(54)【発明の名称】制御装置、制御方法、情報処理プログラム、および記録媒体
(51)【国際特許分類】
   G05B 11/32 20060101AFI20191111BHJP
   G05B 13/04 20060101ALI20191111BHJP
【FI】
   G05B11/32 F
   G05B13/04
【請求項の数】10
【全頁数】30
(21)【出願番号】特願2016-48952(P2016-48952)
(22)【出願日】2016年3月11日
(65)【公開番号】特開2017-102883(P2017-102883A)
(43)【公開日】2017年6月8日
【審査請求日】2017年10月26日
(31)【優先権主張番号】特願2015-226721(P2015-226721)
(32)【優先日】2015年11月19日
(33)【優先権主張国】JP
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】100155712
【弁理士】
【氏名又は名称】村上 尚
(72)【発明者】
【氏名】大野 悌
(72)【発明者】
【氏名】恵木 守
(72)【発明者】
【氏名】川西 康友
(72)【発明者】
【氏名】森 泰元
【審査官】 山村 秀政
(56)【参考文献】
【文献】 特開2014−007900(JP,A)
【文献】 特開平02−297603(JP,A)
【文献】 特開昭58−214906(JP,A)
【文献】 特開平03−092911(JP,A)
【文献】 特開平05−088749(JP,A)
【文献】 特開平02−253302(JP,A)
【文献】 国際公開第2011/136160(WO,A1)
【文献】 特開2005−269836(JP,A)
【文献】 特開平08−297512(JP,A)
【文献】 特開平02−297611(JP,A)
【文献】 特開2007−007795(JP,A)
【文献】 特開2013−006264(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 11/32
G05B 13/04
(57)【特許請求の範囲】
【請求項1】
制御対象を動作させるサーボモータの制御装置であって、
予め設定された前記制御対象のモデルに基づいて、前記サーボモータの位置、速度、トルクの目標値であるモデル位置、モデル速度、モデルトルクを出力するフィードフォワード制御部を備え、
前記フィードフォワード制御部は、
外部から入力された位置指令値と前記モデル位置との偏差であるモデル位置偏差と、速度指令値と前記モデル速度との偏差であるモデル速度偏差とに基づいて、
前記サーボモータが出力可能な所定のトルクと、前記サーボモータにより駆動される負荷機械の運動特性と、により決定される切替線上に収束するように前記モデルトルクを決定するスライディングモード制御部と、
前記モデル速度に基づいて、前記所定のトルクを補正するトルク補正部と、
を含み、
前記スライディングモード制御部は、前記トルク補正部により補正された所定のトルクを用いて前記モデルトルクを決定し、
前記フィードフォワード制御部により制御される前記モデル位置および前記モデル速度に追従するよう、前記サーボモータの前記位置および前記速度についてフィードバック制御を行うフィードバック制御部をさらに含み、
前記速度指令値は0である
ことを特徴とする制御装置。
【請求項2】
前記運動特性は、前記負荷機械の慣性モーメントであり、
前記切替線は、前記モデル位置偏差と、前記モデル速度偏差とにより定義される平面において二次曲線として定義される
ことを特徴とする請求項1に記載の制御装置。
【請求項3】
前記運動特性は、前記負荷機械の慣性モーメントと粘性係数とであり、
前記切替線は、前記モデル位置偏差と、前記モデル速度偏差とにより定義される平面において対数曲線と直線との和として定義される
ことを特徴とする請求項1に記載の制御装置。
【請求項4】
前記切替線を決定する前記サーボモータが出力可能な所定のトルクは、前記サーボモータの出力可能な最大トルクよりも小さい
ことを特徴とする請求項1から3のいずれか1項に記載の制御装置。
【請求項5】
前記モデル速度は、前記サーボモータの最大出力速度未満である
ことを特徴とする請求項1から4のいずれか1項に記載の制御装置。
【請求項6】
前記トルク補正部は、前記モデル速度に基づいて、NT特性、動摩擦、粘性摩擦の少なくともいずれかによるトルク減少分を求め、当該トルク減少分を減算することで前記所定のトルクを補正することを特徴とする請求項1から5のいずれか1項に記載の制御装置。
【請求項7】
前記トルク補正部は、前記制御対象を動作させる際に生じる偏荷重によるトルク減少分を求め、当該トルク減少分を減算することで前記所定のトルクを補正することを特徴とする請求項からのいずれか一項に記載の制御装置。
【請求項8】
モデル追従制御を行うサーボモータの制御方法であって、
前記サーボモータの位置、速度、トルクの目標値であるモデル位置、モデル速度、モデルトルクを制御するフィードフォワード制御ステップと、
前記フィードフォワード制御ステップにより制御された前記モデル位置および前記モデル速度に、前記サーボモータの位置および速度を追従させるフィードバック制御ステップと、を含み、
前記フィードフォワード制御ステップは、
外部から入力された位置指令値と前記モデル位置との偏差であるモデル位置偏差と、速度指令値と前記モデル速度との偏差であるモデル速度偏差とが、
前記サーボモータが出力可能な所定のトルクと、前記サーボモータにより駆動される負荷機械の運動特性と、により決定される切替線上に収束するように前記モデルトルクを決定するスライディングモード制御を行うスライディングモード制御ステップと、
前記モデル速度に基づいて、前記所定のトルクを補正するトルク補正ステップと、を含み、
前記スライディングモード制御ステップは、前記トルク補正ステップにより補正された所定のトルクを用いて前記モデルトルクを決定し、
前記速度指令値は0である
ことを特徴とする制御方法。
【請求項9】
請求項1からのいずれか一項に記載の制御装置としてコンピュータを機能させるための情報処理プログラムであって、前記各部としてコンピュータを機能させるための情報処理プログラム。
【請求項10】
請求項に記載の情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モータの駆動を制御する、モデル追従型の制御装置に関する。
【背景技術】
【0002】
従来、モデル追従制御を行うサーボモータの制御装置が知られている。例えば、下掲載の特許文献1には、サーボモータについてモデル追従制御を行うためのモデル(規範モデルとしてのサーボモータ)の制御において、当該モデルの位置、速度が、外部から入力された位置指令値および速度指令値に追従するようPID制御を行う制御装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平8−168280号公報(1996年6月25日公開)
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述のような従来技術は、モデルの出力するトルクがサーボモータの出力可能な最大トルクを超えた場合に、フィードバック制御器が当該モデルの出力する軌道に追従することができず、オーバーシュートおよびやハンチング等を発生させ得るという問題がある。
【0005】
また、モデルの出力するトルクがサーボモータの出力可能な最大トルクを超えると、そのトルク値にはサーボモータが追従できなくなることから、サーボモータに与えられるトルクの指令値がサーボモータの出力可能な最大トルクを超えないようにトルクリミッタを設け、モデルの出力するトルクを制限する構成も考えられる。しかしながら、そのような構成では、モデルの出力するトルクは制限されるものの、トルク制限により、位置追従性、速度追従性が担保されず、偏差が増大する。これにより、例えば、目標位置に近づいて速度指令が減少しても、増大した偏差を解消しようとしてモデル出力トルクが大きいままとなり、モデルの出力する軌道自体がオーバーシュートおよびハンチングをしてしまい、結果として、実制御対象(例えば、サーボモータ)がオーバーシュートおよびハンチングを起こす可能性は残る。
【0006】
従って、モデル追従制御を行うサーボモータの制御装置であって、PID制御を用いてモデルの制御を行う上述のような従来技術においては、ユーザがサーボモータの出力可能な最大トルクを意識して、位置指令値を与える必要があった。
【0007】
本発明は、前記の問題点に鑑みてなされたものであり、その目的は、ユーザがサーボモータの出力可能な最大トルクを意識せずとも、当該サーボモータにオーバーシュートおよびハンチング等を起させずに所望の動作を実行させることのできる制御装置、制御方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【0008】
上記の課題を解決するために、本発明の一態様に係る制御装置は、制御対象を動作させるサーボモータの制御装置であって、予め設定された前記制御対象のモデルに基づいて、前記サーボモータの位置、速度、トルクの目標値であるモデル位置、モデル速度、モデルトルクを出力するフィードフォワード制御部を備え、前記フィードフォワード制御部は、外部から入力された位置指令値と前記モデル位置との偏差であるモデル位置偏差と、速度指令値と前記モデル速度との偏差であるモデル速度偏差とに基づいて、前記サーボモータが出力可能な所定のトルクと、前記サーボモータにより駆動される負荷機械の運動特性と、により決定される切替線上に収束するように前記モデルトルクを決定するスライディングモード制御部を含む。
【0009】
前記の構成によれば、前記制御装置は、前記フィードフォワード制御部が、スライディングモード制御により、前記モデル位置、前記モデル速度、前記モデルトルクを制御する。つまり、前記フィードフォワード制御部は、前記サーボモータの出力可能な最大トルクを超えないモデル軌道(前記モデル位置および前記モデル速度)を生成することができる。したがって、前記制御装置についてユーザは、前記サーボモータの出力可能な最大トルクを意識せずに前記位置指令を前記フィードフォワード制御部に与え、前記サーボモータに所望の動作を実行させることができるという効果を奏する。
【0010】
また、前記制御装置は、前記フィードフォワード制御部が、スライディングモード制御により、前記モデル位置、前記モデル速度、前記モデルトルクを制御する。したがって、前記制御装置は、オーバーシュートおよびハンチング等を起すことのないモデルを用いて、前記モデル追従制御を実行することができるという効果を奏する。
【0011】
さらに、前記制御装置は、前記モデルトルクが前記サーボモータの出力可能な最大トルクを超えることにより、フィードバック制御器がモデルの出力する軌道に追従できず、その結果、オーバーシュートおよびハンチング等の(モデルの出力する軌道自体がオーバーシュートおよびハンチングする等の)問題が生じるという事態を回避することができるという効果を奏する。
【0012】
好ましくは、前記制御装置は、前記フィードフォワード制御部により制御される前記モデル位置および前記モデル速度に追従するよう、前記サーボモータの前記位置および前記速度についてフィードバック制御を行うフィードバック制御部をさらに含む。
【0013】
前記の構成によれば、前記制御装置は、前記フィードフォワード制御部が、スライディングモード制御により、前記モデル位置、前記モデル速度、前記モデルトルクを制御し、前記フィードバック制御部が、前記モデル位置および前記モデル速度に追従するよう、前記サーボモータの前記位置および前記速度について、前記フィードバック制御(例えば、PID制御)を行う。
【0014】
ここで、前記フィードバック制御部が前記スライディングモード制御を実行した場合、前記サーボモータの前記トルクについて、ハンチングが起こりうる。
【0015】
しかしながら、前記制御装置は、前記フィードバック制御部が前記PID制御を行うため、前記サーボモータの前記トルクについて、ハンチングが起こることを回避することができるという効果を奏する。
【0016】
好ましくは、前記制御装置において、前記運動特性は、前記負荷機械の慣性モーメントであり、前記切替線は、前記モデル位置偏差と、前記モデル速度偏差とにより定義される平面において二次曲線として定義される。
【0017】
前記の構成によれば、前記制御装置は、前記モデル位置偏差と前記モデル速度偏差とが、前記サーボモータの出力可能な所定のトルクと、前記負荷機械の慣性モーメントとにより決定される切替線上に収束し、最終的には前記モデル位置偏差と前記モデル速度偏差とがゼロに収束するように、前記モデルトルクを決定するスライディングモード制御を行うことができるという効果を奏する。
【0018】
好ましくは、前記制御装置において、前記運動特性は、前記負荷機械の慣性モーメントと粘性係数とであり、前記切替線は、前記モデル位置偏差と、前記モデル速度偏差とにより定義される平面において対数曲線と直線との和として定義される。
【0019】
前記の構成によれば、前記制御装置は、前記モデル位置偏差と前記モデル速度偏差とが、前記サーボモータの出力可能な所定のトルクと、前記負荷機械の慣性モーメントおよび粘性係数とにより決定される切替線上に収束し、最終的には前記モデル位置偏差と前記モデル速度偏差とがゼロに収束するように、前記モデルトルクを決定するスライディングモード制御を行うことができるという効果を奏する。
【0020】
好ましくは、前記制御装置において、前記速度指令値は0である。
【0021】
前記の構成によれば、前記制御装置は、速度指令値が0であるため、目標位置に到達した時点でモデル速度も0とすることができるため、前記モデル位置がオーバーシュートしないという効果を奏する。
【0022】
好ましくは、前記制御装置において、前記切替線を決定する前記サーボモータが出力可能な所定のトルクは、前記サーボモータの出力可能な最大トルクよりも小さい。
【0023】
前記の構成によれば、前記制御装置は、前記サーボモータに課す負荷を抑制しつつ制御された前記モデル位置、前記モデル速度、前記モデルトルクに、前記サーボモータを追従させることができるという効果を奏する。
【0024】
好ましくは、前記制御装置において、前記モデル速度は、前記サーボモータの最大出力速度未満である。
【0025】
前記の構成によれば、前記制御装置において、前記フィードフォワード制御部により制御されるモデル速度は、前記サーボモータの最大出力速度未満である。
【0026】
ここで、前記サーボモータの最大出力速度よりも大きなモデル速度を設定してしまうと、実際の前記サーボモータは追従することができず、モデルの制御挙動と異なる制御となってしまう。
【0027】
前記制御装置において、前記モデル速度は、前記サーボモータの最大出力速度未満であるため、前記制御装置は、前記サーボモータが追従可能なモデルを用いて、前記サーボモータについて、モデル追従制御を行うことができるという効果を奏する。
【0028】
好ましくは、前記制御装置は、前記制御対象の実際の駆動状態、または、前記制御対象のモデルの状態に基づいて、前記所定のトルクを補正するトルク補正部を有し、前記スライディングモード制御部は、前記トルク補正部により補正された所定のトルクを用いて前記モデルトルクを決定する。
【0029】
上記の構成によれば、スライディングモード制御部は、実際のサーボモータがより追従しやすいモデルトルクを決定することができる。その結果、サーボモータの挙動の安定性が向上する。
【0030】
ここで、前記トルク補正部は、前記サーボモータの実速度または前記モデル速度に基づいて、前記所定のトルクを補正する。
【0031】
例えば、前記トルク補正部は、前記サーボモータの実速度または前記モデル速度に基づいて、NT特性、動摩擦、粘性摩擦の少なくともいずれかによるトルク減少分を求め、当該トルク減少分を減算することで前記所定のトルクを補正する。
【0032】
もしくは、前記トルク補正部は、前記制御対象を動作させる際に生じる偏荷重によるトルク減少分を求め、当該トルク減少分を減算することで前記所定のトルクを補正する。
【0033】
上記の構成によれば、例えば、NT特性、動摩擦、粘性摩擦、偏荷重を考慮したトルク減少分だけ減算することで所定のトルクを補正するため、モータの状態に合わせたトルクを設定することができ、スライディングモード制御部から出力されるモデルトルクへの追従性を向上させることができる。
【0034】
また、上記の課題を解決するために、本発明の一態様に係る制御方法は、モデル追従制御を行うサーボモータの制御方法であって、前記サーボモータの位置、速度、トルクの目標値であるモデル位置、モデル速度、モデルトルクを制御するフィードフォワード制御ステップと、前記フィードフォワード制御ステップにより制御された前記モデル位置および前記モデル速度に、前記サーボモータの位置および速度を追従させるフィードバック制御ステップと、を含み、前記フィードフォワード制御ステップは、外部から入力された位置指令値と前記モデル位置との偏差であるモデル位置偏差と、速度指令値と前記モデル速度との偏差であるモデル速度偏差とが、前記サーボモータが出力可能な所定のトルクと、前記サーボモータにより駆動される負荷機械の運動特性と、により決定される切替線上に収束するように前記モデルトルクを決定するスライディングモード制御を行うスライディングモード制御ステップを含む。
【0035】
前記の構成によれば、前記制御方法において、前記フィードフォワード制御ステップが、スライディングモード制御により、前記モデル位置、前記モデル速度、前記モデルトルクを制御する。つまり、前記フィードフォワード制御ステップは、前記サーボモータの出力可能な最大トルクを超えないモデル軌道(前記モデル位置および前記モデル速度)を生成することができる。したがって、前記制御方法についてユーザは、前記サーボモータの出力可能な最大トルクを意識せずに前記位置指令を前記フィードフォワード制御ステップに与え、前記サーボモータに所望の動作を実行させることができるという効果を奏する。
【0036】
また、前記制御方法は、前記フィードフォワード制御ステップが、スライディングモード制御により、前記モデル位置、前記モデル速度、前記モデルトルクを制御する。したがって、前記制御方法は、オーバーシュートおよびハンチング等を起すことのないモデルを用いて、前記モデル追従制御を実行することができるという効果を奏する。
【0037】
さらに、前記制御方法は、前記モデルトルクが前記サーボモータの出力可能な最大トルクを超えることにより、フィードバック制御ステップがモデルの出力する軌道に追従できず、その結果、オーバーシュートおよびハンチング等の(モデルの出力する軌道自体がオーバーシュートおよびハンチングする等の)問題が生じるという事態を回避することができるという効果を奏する。
【発明の効果】
【0038】
本発明の一態様によれば、サーボモータの制御装置等について、ユーザが当該サーボモータの出力可能な最大トルクを意識せずとも、当該サーボモータにオーバーシュートおよびハンチング等を起させずに所望の動作を実行させることができるという効果を奏する。
【図面の簡単な説明】
【0039】
図1】本発明の実施形態1に係る制御装置の要部構成を示すブロック図である。
図2図1の制御装置において実行されるスライディングモード制御を説明する図である。
図3図1の制御装置において、負荷機械の運動特性を負荷機械の慣性モーメントのみとした場合の切替線と、負荷機械の運動特性を負荷機械の慣性モーメントおよび粘性係数とした場合の切替線とを対比して示す図である。
図4】負荷機械の運動特性を負荷機械の慣性モーメントのみとした場合の、最大操作量を入力したときの状態遷移と、最小操作量を入力したときの状態遷移とを示す図である。
図5図1の制御装置において実行されるスライディングモード制御について、最短時間収束の切替線を説明するための図である。
図6】負荷機械の運動特性を負荷機械の慣性モーメントおよび粘性係数とした場合の切替線について説明するための図である。
図7図1の制御装置において実行されるスライディングモード制御について、速度指令を「0」とした場合のモデル出力位置の軌跡を示す図である。
図8図1の制御装置において実行されるスライディングモード制御について、速度指令を位置指令の微分とした場合のモデル出力位置の軌跡を示す図である。
図9】vaを「速度制限を始めるしきい値」、vbを「速度制限値」として、モデル出力速度に応じて、スライディングモード制御によるモデル出力トルクを制限することを示す図である。
図10】従来の制御装置の概要を示す図である。
図11】本発明の実施形態2に係る制御装置の要部構成を示すブロック図である。
図12】制御装置において実行されるスライディングモード制御について、速度指令を「0」とした場合のモデル出力位置と実位置とを比較した図であって、(a)はトルク補正部を備える前の図であり、(b)はトルク補正部を備えた図である。
図13】モデル出力速度と実速度とを比較した図であって、(a)はトルク補正部を備える前の図であり、(b)はトルク補正部を備えた図である。
図14】モデル出力トルクと実トルクとを比較したものであって、(a)はトルク補正部を備える前の図であり、(b)はトルク補正部を備えた図である。
図15】制御装置において実行されるスライディングモード制御について、最短時間収束の切替線SLの図である。
図16】トルク補正部によるトルク補正の方法を示す図である。
【発明を実施するための形態】
【0040】
〔実施形態1〕
以下、本発明の実施形態1について、図1から図9に基づいて詳細に説明する。図中同一または相当部分には同一符号を付してその説明は繰返さない。本発明の一態様に係る制御装置1についての理解を容易にするため、先ず、従来の制御装置9について図10に基づいて説明しておく。
【0041】
(従来の制御装置の概要)
図10は、従来の制御装置9の概要を示す図である。図10に示すように、従来の制御装置9は、サーボモータ2についてモデル追従制御を行う制御装置である。図10にはさらに、サーボモータ2によって駆動される負荷機械3、および、サーボモータ2の位置を検出し、例えば、サーボモータ2の回転角度を検出するエンコーダ4が示されている。エンコーダ4は、検出した位置をフィードバック制御部20に送信する。具体的には、エンコーダ4により検出されたサーボモータ2の位置は、フィードバック制御部20の位置制御部201および速度検出部202に入力される。なお、エンコーダ4は、サーボモータ2の速度を検出してもよく、検出した速度をフィードバック制御部20に送信してもよい。その場合、フィードバック制御部20は、エンコーダ4によって検出されたサーボモータ2の位置からサーボモータ2の速度を算出する速度検出部202を備えなくてもよい。
【0042】
従来の制御装置9は、従来のフィードフォワード制御部30と、フィードバック制御部20とを備える。従来のフィードフォワード制御部30は、サーボモータ2の位置、速度、トルクの目標値であるモデル出力位置θ、モデル出力速度v、モデル出力トルクを制御し、つまり、サーボモータ2のモデル(規範モデル)を制御する。ここで、従来のフィードフォワード制御部30は、サーボモータ2のモデルについて、PID制御を行う。すなわち、従来のフィードフォワード制御部30は、外部から(例えば、ユーザから)与えられる位置指令値θ、および当該位置指令値θから生成される速度指令値vに追従するよう、前記モデルの目標位置であるモデル出力位置θ、および、前記モデルの目標速度であるモデル出力速度vについて、PID制御を行う。従来のフィードフォワード制御部30は、モデル位置制御部301、速度指令生成部302、モデル速度制御部303、モデルトルクリミッタ304、制御対象モデル検出部305を備えている。
【0043】
モデル位置制御部301は、前記位置指令値θと、制御対象モデル検出部305により生成されたモデル出力位置θと、を受け付け、当該モデル出力位置θが当該位置指令値θに追従するよう制御するモデル速度制御指令を生成する。モデル位置制御部301は、生成したモデル速度制御指令を、モデル速度制御部303およびフィードバック制御部20へと出力する。
【0044】
速度指令生成部302は、前記位置指令値θを受け付け、前記位置指令値θから速度指令値vを生成する。速度指令生成部302は、生成した前記速度指令値vをモデル速度制御部303へと出力する。
【0045】
モデル速度制御部303は、モデル位置制御部301により生成されたモデル速度制御指令、速度指令生成部302により生成された前記速度指令値v、および、制御対象モデル検出部305により生成されたモデル出力速度vを受け付ける。モデル速度制御部303は、当該モデル出力速度vが、前記モデル速度制御指令および前記速度指令値vに追従するよう制御するようモデルトルク制御指令を生成する。モデル速度制御部303は、生成したモデルトルク制御指令を、モデルトルクリミッタ304へと出力する。
【0046】
モデルトルクリミッタ304は、モデル速度制御部303により生成されたモデルトルク制御指令に基づいて、モデル出力トルクを制御する(出力する)。モデルトルクリミッタ304により制御されたモデル出力トルクは、制御対象モデル検出部305およびフィードバック制御部20へと通知される。
【0047】
制御対象モデル検出部305は、モデルトルクリミッタ304により制御されたモデル出力トルクを受け付けて、モデル出力位置θおよびモデル出力速度vを生成し、生成したモデル出力位置θおよびモデル出力速度vを出力する。すなわち、制御対象モデル検出部305により生成されたモデル出力位置θは、モデル位置制御部301およびフィードバック制御部20へと通知される。制御対象モデル検出部305により生成されたモデル出力速度vは、モデル速度制御部303およびフィードバック制御部20へと通知される。
【0048】
フィードバック制御部20は、従来のフィードフォワード制御部30により制御される前記モデル出力位置θ、前記モデル出力速度v、および、前記モデル出力トルクに追従するよう、サーボモータ2の位置、速度、およびトルクについてPID制御を行う。フィードバック制御部20は、位置制御部201、速度検出部202、速度制御部203、トルクリミッタ204を備えている。
【0049】
位置制御部201は、エンコーダ4により検出されたサーボモータ2の位置と、制御対象モデル検出部305により生成されたモデル出力位置θとを受け付け、検出されたサーボモータ2の位置がモデル出力位置θに追従するように制御する速度制御指令を生成する。そして、位置制御部201は、生成した速度制御指令を速度制御部203へと出力する。
【0050】
速度検出部202は、エンコーダ4により検出されたサーボモータ2の位置からサーボモータ2の速度を算出し、算出したサーボモータ2の速度を速度制御部203へと出力する。
【0051】
速度制御部203は、位置制御部201により生成された速度制御指令、制御対象モデル検出部305により生成されたモデル検出速度、および、速度検出部202により算出された速度(サーボモータ2の速度)を受け付ける。そして、速度検出部202により算出されたサーボモータ2の速度が、前期速度制御指令および前期モデル検出速度に追従するように制御するトルク制御指令を生成し、生成したトルク制御指令をトルクリミッタ204へと出力する。
【0052】
トルクリミッタ204は、速度制御部203により生成されたトルク制御指令と、制御対象モデル検出部305により生成されたモデル出力トルクとに基づいて、サーボモータ2を制御する。
【0053】
従来のフィードフォワード制御部30は、前記モデルについてPID制御を行うため、前記位置指令値θに対してモデル軌道を生成した時に、そのモデル軌道に必要なトルク(モデル出力トルク)が、サーボモータ2の出力可能な最大トルクを超えてしまう可能性がある。従来のフィードフォワード制御部30において、モデル速度制御部303が出力するトルクの値が、サーボモータ2の出力可能な最大トルクよりも大きい場合等には、モデルトルクリミッタ304によりトルクの値が制限される。これにより、モデル出力トルクは、モデルトルクリミッタ304で所定の制限がかかった値となる。このように、モデル速度制御部303が出力するトルクの値が制限されると、モデル軌道がオーバーシュートする、ハンチングするなどの問題が起こる。このような問題が発生するのを防ぐには、前記位置指令値θに基づいて生成されるモデル軌道に必要なトルク(モデル出力トルク)が、サーボモータ2の出力可能な最大トルク以下でなければならない。つまり、ユーザは、サーボモータ2の出力可能な最大トルク以下のトルク(モデル出力トルク)によって実現可能なモデル軌道が生成されるように調整した位置指令値θを与える必要があった。
【0054】
(本発明の一態様に係る制御装置の概要)
本発明の一態様に係る制御装置1について、その概要を端的に表現するとすれば、サーボモータ2のモデル(規範モデル)についてPID制御を行う従来のフィードフォワード制御部30に代えて、当該モデルについてスライディングモード制御を行うフィードフォワード制御部10を備えている。フィードフォワード制御部10の実行するスライディングモード制御により、制御装置1は、サーボモータ2の出力可能な所定のトルク(例えば、サーボモータ2の出力可能な最大トルク)を前提とした制御を、サーボモータ2について行うことができる。
【0055】
すなわち、サーボモータ2についてモデル追従制御を行う制御装置1の備えるフィードフォワード制御部10は、外部から入力された位置指令値θとモデル出力位置θ(モデル位置)との偏差であるモデル位置偏差、および、速度指令値vとモデル出力速度v(モデル速度)との偏差であるモデル速度偏差が、切替線SL(切替面)に沿ってそれぞれ「0」に収束するように、スライディングモード制御を行なう。詳細は後述するが、フィードフォワード制御部10の実行するスライディングモード制御は、サーボモータ2の出力可能な所定のトルク(例えば、サーボモータ2の出力可能な最大トルク)を前提として、サーボモータ2のモデル(規範モデル)を制御する。したがって、ユーザは、制御装置1を用いることによって、サーボモータ2の出力可能な最大トルクを意識することなく、サーボモータ2にオーバーシュートおよびハンチング等を起させずに所望の動作を実行させることができる。
【0056】
従来の制御装置9と以上に説明した点で異なる制御装置1について、その概要は以下のように表現することができる。すなわち、制御装置1は、制御対象(例えば、負荷機械3)を動作させるサーボモータ2の制御装置であって、予め設定された前記制御対象のモデルに基づいて、サーボモータ2の位置、速度、トルクの目標値であるモデル出力位置θ(モデル位置)、モデル出力速度v(モデル速度)、モデル出力トルク(モデルトルク)を出力するフィードフォワード制御部10を備え、フィードフォワード制御部10は、外部から入力された位置指令値θと前記モデル出力位置θとの偏差であるモデル位置偏差と、速度指令値vと前記モデル出力速度vとの偏差であるモデル速度偏差とに基づいて、サーボモータ2が出力可能な所定のトルク(例えば、サーボモータ2の出力可能な最大トルク)と、サーボモータ2により駆動される負荷機械3の運動特性と、により決定される切替線SL上に収束するように前記モデル出力トルクを決定するスライディングモード制御部102を含む。
【0057】
前記の構成によれば、制御装置1は、フィードフォワード制御部10が、スライディングモード制御により、前記モデル出力位置θ、前記モデル出力速度v、前記モデル出力トルクを制御する。つまり、フィードフォワード制御部10は、サーボモータ2の出力可能な最大トルクを超えないモデル軌道(前記モデル出力位置θおよび前記モデル出力速度v)を生成することができる。したがって、制御装置1についてユーザは、サーボモータ2の出力可能な最大トルクを意識せずに前記位置指令をフィードフォワード制御部10に与え、サーボモータ2に所望の動作を実行させることができるという効果を奏する。
【0058】
また、制御装置1は、フィードフォワード制御部10が、スライディングモード制御により、前記モデル出力位置θ、前記モデル出力速度v、前記モデル出力トルクを制御する。したがって、制御装置1は、オーバーシュートおよびハンチング等を起すことのないモデルを用いて、前記モデル追従制御を実行することができるという効果を奏する。
【0059】
さらに、制御装置1は、モデル速度制御部303の出力トルクがトルクリミッタ304により制限されてしまうことにより、フィードバック制御器がモデルの出力する軌道に追従できず、その結果、オーバーシュートおよびハンチング等の(モデルの出力する軌道自体がオーバーシュートおよびハンチングする等の)問題が生じるという事態を回避することができるという効果を奏する。
【0060】
ここで、制御装置1は、フィードフォワード制御部10により制御される前記モデル出力位置θおよび前記モデル出力速度vに追従するよう、サーボモータ2の前記位置および前記速度についてフィードバック制御(例えば、PID制御)を行うフィードバック制御部20をさらに含んでいる。
【0061】
前記の構成によれば、制御装置1は、フィードフォワード制御部10が、スライディングモード制御により、前記モデル出力位置θ、前記モデル出力速度v、前記モデル出力トルクを制御し、フィードバック制御部20が、前記モデル出力位置θおよび前記モデル出力速度vに追従するよう、サーボモータ2の前記位置および前記速度について、前記フィードバック制御(例えば、PID制御)を行う。
【0062】
ここで、フィードバック制御部20が前記スライディングモード制御を実行した場合、サーボモータ2の前記トルクについて、ハンチングが起こりうる。
【0063】
しかしながら、制御装置1は、フィードバック制御部20が前記PID制御を行うため、サーボモータ2の前記トルクについて、ハンチングが起こることを回避することができるという効果を奏する。以上に概要を説明した制御装置1について、次に、図1を用いて、その詳細を説明していく。
【0064】
なお、前記切替線SLを決定するサーボモータ2が出力可能な所定のトルクは、例えば、サーボモータ2の出力可能な最大トルクである。ただし、前記切替線SLを決定するサーボモータ2が出力可能な所定のトルクが、サーボモータ2の出力可能な最大トルクであることは必須ではない。制御装置1において、前記切替線SLを決定するサーボモータ2が出力可能な所定のトルクは、サーボモータ2の出力可能な最大トルクよりも小さければよい。
【0065】
前記の構成によれば、制御装置1は、サーボモータ2に課す負荷を抑制しつつ制御された前記モデル出力位置θ、前記モデル出力速度v、前記モデル出力トルクに、サーボモータ2を追従させることができるという効果を奏する。
【0066】
(本発明の一態様に係る制御装置の詳細)
図1は、制御装置1の要部構成を示すブロック図である。制御装置1は、サーボモータ2についてモデル追従制御を行う制御装置である。すなわち、制御装置1は、サーボモータ2のモデル(規範モデル)を制御するフィードフォワード制御部10と、フィードフォワード制御部10により制御されるサーボモータ2のモデルに追従するよう、サーボモータ2を制御するフィードバック制御部20と、を含んでいる。
【0067】
フィードフォワード制御部10は、サーボモータ2の位置、速度、トルクの目標値であるモデル出力位置θ(モデル位置)、モデル出力速度v(モデル速度)、モデル出力トルク(モデルトルク)を制御する。ここで、フィードフォワード制御部10は、前記モデル出力位置θ、前記モデル出力速度v、および前記モデル出力トルクについて、つまり、サーボモータ2のモデル(規範モデル)について、スライディングモード制御を実行する。具体的には、フィードフォワード制御部10は、速度指令生成部101、スライディングモード制御部102、モデルトルクリミッタ103、および制御対象モデル検出部104を含んでいる。速度指令生成部101は、外部から(例えば、ユーザから)与えられる位置指令値θを受け付け、前記位置指令値θから速度指令値vを生成する。速度指令生成部101は、生成した前記速度指令値vを出力する。
【0068】
スライディングモード制御部102は、前記位置指令値θと、前記位置指令値θから速度指令生成部101により生成された前記速度指令値vと、制御対象モデル検出部104により生成されたモデル出力位置θおよびモデル出力速度vと、を受け付ける。より正確には、スライディングモード制御部102は、前記位置指令値θと前記モデル出力位置θとの偏差であるモデル位置偏差、および、前記速度指令値vと前記モデル出力速度vとの偏差であるモデル速度偏差を受け付ける。そして、スライディングモード制御部102は、前記モデル位置偏差と、前記モデル速度偏差とが、切替線SL(切替面)上に収束するようにモデル出力トルクを制御する(決定する)。ここで、モデル出力トルクとは、サーボモータ2のトルクの目標値であり、サーボモータ2のモデル(規範モデル)のトルクである。また、前記切替線SLは、サーボモータ2が出力可能な所定のトルク(例えば、サーボモータ2の出力可能な最大トルク)と、サーボモータ2により駆動される負荷機械3の運動特性とにより決定される。前記切替線SLについての詳細は、後に図2から図6を用いて説明する。
【0069】
モデルトルクリミッタ103は、スライディングモード制御部102により制御されたモデル出力トルクに基づいて、モデル出力トルクを出力する。モデルトルクリミッタ103から出力されたモデル出力トルクは、制御対象モデル検出部104およびフィードバック制御部20へと通知される。なお、スライディングモード制御部102は、サーボモータ2が出力可能なトルクの正負の最大値を出力するものである。したがって、スライディングモード制御部102は、その性質上、トルクリミッタとしての機能を果たす。したがって、本実施の形態で設けているモデルトルクリミッタ103は設けなくてもよい。
【0070】
制御対象モデル検出部104は、モデルトルクリミッタ103から出力されたモデル出力トルクを受け付けて、モデル出力位置θおよびモデル出力速度vを生成し、生成したモデル出力位置θおよびモデル出力速度vを出力する。すなわち、制御対象モデル検出部104により生成されたモデル出力位置θは、スライディングモード制御部102およびフィードバック制御部20へと通知される。制御対象モデル検出部104により生成されたモデル出力速度vは、スライディングモード制御部102およびフィードバック制御部20へと通知される。なお、より正確には、制御対象モデル検出部104により生成されたモデル出力位置θと前記位置指令値θとの偏差であるモデル位置偏差が、スライディングモード制御部102に通知される。また、制御対象モデル検出部104により生成されたモデル出力速度vと前記速度指令値vとの偏差であるモデル速度偏差が、スライディングモード制御部102に通知される。
【0071】
制御装置1の備えるフィードバック制御部20は、従来の制御装置9が備えているフィードバック制御部20と同様のものである。すなわち、制御装置1の備えるフィードバック制御部20は、フィードフォワード制御部10により制御されるモデル出力位置θ、モデル出力速度v、および、モデル出力トルクに追従するよう、サーボモータ2の位置、速度、およびトルクについてPID制御を行う。フィードバック制御部20の備える各機能ブロックについては、既に説明済であるため、詳細は略記する。
【0072】
すなわち、制御装置1は、モデル追従制御のためのモデル軌道を生成するフィードフォワード制御部10がスライディングモード制御を実行することにより、サーボモータ2の出力可能な所定のトルク(例えば、サーボモータ2の出力可能な最大トルク)を超えないモデル軌道を生成することができる。また、スライディングモード制御部102は、制御対象モデル検出部が出力したモデル速度、モデル位置に基づいて、モータに与えるべきトルクの値を出力する。ここで、モデル速度、モデル位置は、設計したモデルに応じた理想的な値であり、負荷機械3が実働してフィードバックされる速度、位置と比較して、値の急激な変動等は少ない。スライディングモード制御部102は、これらのモデル速度、モデル位置に基づきトルクの値を出力するので、スライディングモード制御部102がフィードバック制御部20に配置されている場合と比較して、スライディングモード制御部102から出力されるトルクの値の挙動が安定する。その結果、制御装置1により制御されるサーボモータ2はオーバーシュートおよびハンチング等を起すことがない。詳細は後述するが、制御装置1により制御されるモデルのモデル出力位置θは、図7に示すようにオーバーシュートおよびハンチング等を起こすことなく収束する。なお、図7は、切替線SLが二次曲線であって、スライディングモード制御部102の受け付ける速度指令値vを「0」とした場合の、モデル出力位置θの軌跡を示す図であり、詳細については後述する。
【0073】
以上に詳細を説明した制御装置1が実行する制御方法(サーボモータ2の制御方法)は以下のように整理することができる。すなわち、制御装置1が実行する制御方法は、モデル追従制御を行うサーボモータ2の制御方法であって、サーボモータ2の位置、速度、トルクの目標値であるモデル出力位置θ、モデル出力速度v、モデル出力トルクを制御するフィードフォワード制御ステップと、前記フィードフォワード制御ステップにより制御された前記モデル出力位置θおよび前記モデル出力速度vに、サーボモータ2の位置および速度を追従させるフィードバック制御ステップと、を含み、前記フィードフォワード制御ステップは、外部から入力された位置指令値θと前記モデル出力位置θとの偏差であるモデル位置偏差と、速度指令値vと前記モデル出力速度vとの偏差であるモデル速度偏差とが、サーボモータ2が出力可能な所定のトルク(例えば、サーボモータ2の出力可能な最大トルク)と、サーボモータ2により駆動される負荷機械3の運動特性と、により決定される切替線SL上に収束するように前記モデル出力トルク(モデルトルク)を決定するスライディングモード制御を行うスライディングモード制御ステップを含む。
【0074】
前記の構成によれば、前記制御方法において、前記フィードフォワード制御ステップが、スライディングモード制御により、前記モデル出力位置θ、前記モデル出力速度v、前記モデル出力トルクを制御する。つまり、前記フィードフォワード制御ステップは、サーボモータ2の出力可能な最大トルクを超えないモデル軌道(前記モデル出力位置θおよび前記モデル出力速度v)を生成することができる。したがって、前記制御方法についてユーザは、サーボモータ2の出力可能な最大トルクを意識せずに前記位置指令を前記フィードフォワード制御ステップに与え、サーボモータ2に所望の動作を実行させることができるという効果を奏する。
【0075】
また、前記制御方法は、前記フィードフォワード制御ステップが、スライディングモード制御により、前記モデル出力位置θ、前記モデル出力速度v、前記モデル出力トルクを制御する。したがって、前記制御方法は、オーバーシュートおよびハンチング等を起すことのないモデルを用いて、前記モデル追従制御を実行することができるという効果を奏する。
【0076】
さらに、前記制御方法は、前記モデル出力トルクがサーボモータ2の出力可能な最大トルクを超えることにより、フィードバック制御ステップがモデルの出力する軌道に追従できず、その結果、オーバーシュートおよびハンチング等の(モデルの出力する軌道自体がオーバーシュートおよびハンチングする等の)問題が生じるという事態を回避することができるという効果を奏する。
【0077】
次に、フィードフォワード制御部10がサーボモータ2のモデルについて実行するスライディングモード制御について、図2を用いてその詳細を説明しておく。
【0078】
(スライディングモード制御について)
図2は、スライディングモード制御部102が実行するスライディングモード制御を説明するための図である。図2に示すように、スライディングモード制御部102は、速度偏差verrと位置偏差θerrを入力とし、入力された速度偏差verrおよび位置偏差θerrにより決まる点が、図2に示した切替線SL(切替面)のどちら側にいるかで、モデル出力トルクを決定する。
【0079】
切替線SLは、サーボモータ2が出力可能な正の所定のトルク、または負の所定のトルク(例えば、サーボモータ2が出力可能な正の最大トルクまたは負の最大トルク)を出力した時に、原点(すなわち位置偏差θerrおよび速度偏差verrがともに「0」になる位置)へ至る軌道として設計されている。
【0080】
図2に示すように、横軸に速度偏差verr、縦軸に位置偏差θerrをとる位相平面PPを考え、位相平面PP上に、速度偏差verrと位置偏差θerrとの式で表される切替線SL(切替面)を描く。与えられた入力(スライディングモード制御部102が受け付けた速度偏差verrおよび位置偏差θerr)を位相平面PPにプロットした時、当該入力を示す点が、切替線SLの紙面右上側にいる場合、スライディングモード制御部102は、サーボモータ2が出力可能な正の所定のトルク(例えば、サーボモータ2が出力可能な最大トルク)を出力する。前記入力を示す点が、位相平面PPにおいて切替線SLの紙面左下側にいる場合、スライディングモード制御部102は、サーボモータ2が出力可能な負の所定のトルク(例えば、サーボモータ2が出力可能な最小トルク、すなわち負の最大トルク)を出力する。また、切替線上にいる場合、第2象限では負の最大トルクを、第4象限では正の最大トルクを出力する。これにより、位置偏差、速度偏差の双方が原点に向かって収束する。
【0081】
これまで図2を用いて、スライディングモード制御部102が実行するスライディングモード制御について説明してきたが、当該スライディングモード制御において利用される切替線SL(切替面)は、サーボモータ2が出力可能な所定のトルクと、サーボモータ2により駆動される負荷機械3の運動特性とにより決定される。
【0082】
ここで、負荷機械3の運動特性としては、負荷機械3の運動特性としては、負荷機械3の慣性モーメント(慣性)および粘性係数(粘性摩擦)等が考えられる。負荷機械3の運動特性を、「負荷機械3の慣性モーメントのみ」とした場合、および、「負荷機械3の慣性モーメントおよび粘性係数」とした場合の、前記切替線SLの違いについて、次に、図3を用いて説明していく。
【0083】
(切替線の導出)
図3は、制御装置1において、負荷機械3の運動特性を負荷機械3の慣性モーメントのみとした場合の切替線SLと、負荷機械3の運動特性を負荷機械3の慣性モーメントおよび粘性係数とした場合の切替線SLとを対比して示す図である。負荷機械モデル(負荷機械3の運動特性)を慣性モーメントのみとした場合、切替線SL(切替面)は、横軸に速度偏差verr、縦軸に位置偏差θerrをとる位相平面PPにおいて、二次曲線で表すことができる。負荷機械モデルを慣性モーメントおよび粘性摩擦とした場合、切替線SLは、前記位相平面PPにおいて、対数曲線と直線との和として表すことができる。以下、詳細を説明していく。
【0084】
(慣性モーメントのみ)
以下では先ず、制御装置1において、切替線SLを決定する一要素である負荷機械3の運動特性(負荷機械モデル)が、負荷機械3の慣性モーメントのみである場合について説明する。負荷機械モデルを負荷機械3の慣性モーメントのみとした場合、前記切替線SLは、横軸に速度偏差verr、縦軸に位置偏差θerrをとる位相平面PP(前記モデル位置偏差と、前記モデル速度偏差とにより定義される平面)において、二次曲線として定義される。
【0085】
負荷機械モデルを負荷機械3の慣性モーメントのみとした場合、制御装置1は、前記モデル位置偏差と前記モデル速度偏差とが、サーボモータ2の出力可能な所定のトルクと、負荷機械3の慣性モーメントとにより決定される切替線SL上に収束し、最終的には前記モデル位置偏差と前記モデル速度偏差とがゼロに収束するように、前記モデル出力トルクを決定するスライディングモード制御を行うことができるという効果を奏する。
【0086】
負荷機械3の運動特性(負荷機械モデル)を負荷機械3の慣性モーメントのみとする場合、スライディングモード制御を行うフィードフォワード制御部10(スライディングモード制御部102)の制御対象が単慣性モデルであることから、飽和制御器の操作量の切り替えがない限り、飽和制御器の出力usatは一定なので、モデルの挙動は以下の数式1で表される等加速度運動になる。
数式1
【0087】
【数1】
【0088】
数式1において、verr(t)、v、およびv(t)は、それぞれ、速度偏差、目標速度(速度指令値)、モデル出力速度であり、Jはモデルの慣性である。数式1の速度偏差を時間積分することで、「位置偏差θerr(t):=θ−θ(t)」は、以下の数式2に示すように得ることができる。
数式2
【0089】
【数2】
【0090】
さらに、数式1と数式2からtを消去して位置偏差θerrを速度偏差verr(t)で表すと、以下の数式3を得る。
数式3
【0091】
【数3】
【0092】
ここで、θ、θ(t)は、それぞれ、目標位置(位置指令値)、モデル出力位置である。数式3より、最大操作量(正の飽和値)および最小操作量(負の飽和値)が入力された場合、任意の初期状態[θerr(0)、verr(0)]から、状態は図4に示すように遷移する。
【0093】
図4は、負荷機械3の運動特性を負荷機械3の慣性モーメントのみとした場合の、最大操作量を入力したときの状態遷移と、最小操作量を入力したときの状態遷移とを示す図である。図4において、紙面上側に凸である曲線群は、最大操作量(正の飽和値)を入力した場合の状態遷移を示しており、紙面下側に凸である曲線群は、最小操作量(負の飽和値)を入力した場合の状態遷移を示している。図4において、任意の初期状態から切替回数1回で原点に収束する切替線SLを選択すると、図5に示す図を描くことができる。
【0094】
図5は、制御装置1において実行されるスライディングモード制御について、最短時間収束の切替線SLを説明するための図である。図5において、最短時間収束を可能とする切替線SLを示すσ(θerr、verr)は、以下の数式4に示す通りとなる。
数式4
【0095】
【数4】
【0096】
最短時間収束を可能とする切替線SL(つまり、数式4で示される切替線SL)を用いて、制御中に現時刻tの位置偏差θerr(t)と速度偏差verr(t)とにしたがって飽和制御器の出力usat
【0097】
【数5】
【0098】
と定めると、任意の初期状態から操作量を切り替えることなく切替線SLに収束することができる。また、切替線SL上である「σ=0」の場合には、以下の数式6に示すように飽和制御器の出力usatを定める。
数式6
【0099】
【数6】
【0100】
以上に説明したように飽和制御器の出力usatを定めることで、任意の初期状態から操作量を最大1回切り替えることで、原点に収束することが出来る。
【0101】
以上までに説明したのは、負荷機械モデル(負荷機械3の運動特性)を慣性モーメントのみとした場合の切替線SL(切替面)である。次に、負荷機械モデルを慣性モーメントおよび粘性摩擦とした場合の切替線SLについて、説明していく。
【0102】
(慣性モーメントおよび粘性摩擦)
制御装置1において、切替線SLを決定する一要素である負荷機械3の運動特性(負荷機械モデル)が、負荷機械3の慣性モーメントと粘性係数とである場合について説明する。負荷機械モデルを負荷機械3の慣性モーメントおよび粘性係数とした場合、前記切替線SLは、横軸に速度偏差verr、縦軸に位置偏差θerrをとる位相平面PP(前記モデル位置偏差と、前記モデル速度偏差とにより定義される平面)において、対数曲線と直線との和として定義される。
【0103】
負荷機械モデルを負荷機械3の慣性モーメントおよび粘性係数とした場合、制御装置1は、前記モデル位置偏差と前記モデル速度偏差とが、サーボモータ2の出力可能な所定のトルクと、負荷機械3の慣性モーメントおよび粘性係数とにより決定される切替線SL上に収束し、最終的には前記モデル位置偏差と前記モデル速度偏差とがゼロに収束するように、前記モデル出力トルクを決定するスライディングモード制御を行うことができるという効果を奏する。
【0104】
次に、負荷機械3の運動特性(負荷機械モデル)が、負荷機械3の慣性モーメントと粘性係数とである場合について詳細に説明していくが、以下の説明においては、実制御対象(プラント)は慣性、粘性摩擦、動摩擦、および偏荷重を持ち、その制御対象への入力が飽和しているものと想定する。これらの特性をモデリングすると以下の数式7に示すように記述できる。
数式7
【0105】
【数7】
【0106】
上記モデルにおいて、モデルへの入力uがステップ入力であるとして、このときのモデルの位置(モデル出力位置θ)およびモデルの速度(モデル出力速度v)を求める。先ずモデル出力速度vのラプラス変換は以下の数式8に示すようになる。
数式8
【0107】
【数8】
【0108】
数式8を逆ラプラス変換すると、以下の数式9を得る。ただし、初期速度v(0)について、「v(0)=0」とする。
数式9
【0109】
【数9】
【0110】
数式9を「初期位置θ(0)=0」で時間積分することにより、モデル出力位置θ(t)を得ることができる。よって、モデル出力位置θ(t)およびモデル出力速度v(t)は、以下の数式10に示すようになる。
数式10
【0111】
【数10】
【0112】
ここで、位置偏差θerr(t)および速度偏差verr(t)を、それぞれ、「θerr(t)=θ−θ(t)」、「verr(t)=v−v(t)」と定義し、先ほどと同様に初期条件「[θerr(0)、verr(0)]=[0,0]」の下で一定値入力uに対する時間応答を求めると、以下の数式11に示すようになる。
数式11
【0113】
【数11】
【0114】
(最適切替線の設計)
数式11に基づいて、入力uが正の飽和値τmax,usrになる場合と、負の飽和値τmin,usrになる場合のθerr、verrの挙動を図に示すと、図6のようになる。
【0115】
図6は、負荷機械3の運動特性を負荷機械3の慣性モーメントおよび粘性係数とした場合であって、一定入力時の位置偏差θerrと速度偏差verrとにより定義される切替線SLについて説明するための図であり、特に、「t=0」で「θerr=0」、「verr=0」となる軌道を示す図である。図6において、垂直方向の点線は、出力トルクと粘性摩擦とが打ち消し合ってそれ以上速度が増大しない値を表す線である。
【0116】
原点「(θerr、verr)=(0、0)」に飽和操作値(すなわち、正の飽和値τmax,usrまたは、負の飽和値τmin,usr)で収束させるには、図6の「t=0」よりも過去の、すなわち「t≦0」の軌道に状態を移行させ、その軌道に沿うよう制御すればよい。ここで、数式11からtを消去することで、最適な切替線SLは、以下の数式12で表すことができる。
数式12
【0117】
【数12】
【0118】
これまで、スライディングモード制御部102が実行するスライディングモード制御において利用される切替線SL(切替面)について、切替線SLを決定する一要素である負荷機械3の運動特性の観点から説明を行ってきた。次に、スライディングモード制御部102が受け付けるモデル速度偏差(より正確には、速度指令生成部101が生成する速度指令値v)について、図7および図8を用いて説明する。
【0119】
(スライディングモード制御部の受け付ける速度指令値について)
スライディングモード制御部102が受け付けるモデル速度偏差は、外部から(例えば、ユーザから)与えられる位置指令値θに基づいて速度指令生成部101が生成する速度指令値vとモデル出力速度vとの偏差である。以下、スライディングモード制御部102の受け付ける速度指令値v、つまり、速度指令生成部101の生成する速度指令値vにより、スライディングモード制御部102の制御するモデルの挙動がどのように変化するかを、図7および図8を用いて説明する。具体的には、スライディングモード制御部102の受け付ける速度指令値vを、「位置指令値θの微分」とした場合と、「0」とした場合とについて説明する。
【0120】
制御装置1において、スライディングモード制御部102の受け付ける速度指令値vを「0」とすることができる。すなわち、速度指令生成部101は、「0」である速度指令値を、スライディングモード制御部102に出力してもよい。
【0121】
前記の構成によれば、制御装置1は、速度指令値vが0であるため、目標位置に到達した時点でモデル出力速度vも0とすることができるため、前記モデル出力位置θがオーバーシュートしないという効果を奏する。
【0122】
図7は、制御装置1において実行されるスライディングモード制御について、速度指令を「0」とした場合のモデル出力位置θの軌跡を示す図であり、つまり、スライディングモード制御部102の受け付ける速度指令値vを「0」とした場合の、スライディングモード制御部102の制御するモデルの挙動を示す図である。図7に示すように、スライディングモード制御部102の受け付ける速度指令値vを「0」とした場合、モデル出力位置θがオーバーシュートすることがない一方、位置指令値θに対して遅延が生じ、指令追従性が低下する。
【0123】
制御装置1において、スライディングモード制御部102の受け付ける速度指令値vを「位置指令の微分」とすることができる。すなわち、速度指令生成部101は、「位置指令の微分」である速度指令値vを、スライディングモード制御部102に出力してもよい。
【0124】
図8は、制御装置1において実行されるスライディングモード制御について、速度指令を位置指令の微分とした場合のモデル出力位置θの軌跡を示す図であり、つまり、スライディングモード制御部102の受け付ける速度指令値vを「位置指令値θの微分」とした場合の、スライディングモード制御部102の制御するモデルの挙動を示す図である。図8に示すように、スライディングモード制御部102の受け付ける速度指令値vを「位置指令値θの微分」とした場合、当該位置指令値θに対する指令追従性が高い一方、モデル出力位置θのオーバーシュートが起き得る。
【0125】
(モデル出力速度に応じた、モデル出力トルクの制限について)
サーボモータ2の最大速度は決まっているため、スライディングモード制御部102の制御するモデル出力速度vが、当該最大速度よりも大きくなることは望ましくない。すなわち、制御装置1において、前記モデル出力速度vは、サーボモータ2の最大出力速度未満であることが好ましい。
【0126】
前記の構成によれば、制御装置1において、フィードフォワード制御部10により制御されるモデル出力速度vは、サーボモータ2の最大出力速度未満である。
【0127】
ここで、サーボモータ2の最大出力速度よりも大きなモデル出力速度vを設定してしまうと、実際のサーボモータ2は追従することができず、モデルの制御挙動と異なる制御となってしまう。
【0128】
制御装置1において、前記モデル出力速度vは、サーボモータ2の最大出力速度未満であるため、制御装置1は、サーボモータ2が追従可能なモデルを用いて、サーボモータ2について、モデル追従制御を行うことができるという効果を奏する。
【0129】
具体的には、スライディングモード制御部102は、vaを「速度制限を始めるしきい値」、vbを「速度制限値」として、下記のモデル出力トルク算出方法に示すように、モデル出力速度vに応じて、出力(モデル出力トルク)を制限する。
数式13
【0130】
【数13】
【0131】
図9は、vaを「速度制限を始めるしきい値」、vbを「速度制限値」として、モデル出力速度vに応じて、スライディングモード制御によるモデル出力トルクを制限することを示す図である。図9に示すように、スライディングモード制御部102の制御する(出力する)モデル出力速度vが、サーボモータ2の最大出力速度を示す速度制限値vbよりも大きくならないよう、スライディングモード制御部102は、以下の制御を実行する。すなわち、スライディングモード制御部102は、モデル出力速度vが「速度制限を始めるしきい値va」に達すると、出力(モデル出力トルク)を制限して、モデル出力速度vを速度制限値vb以下にする。
〔実施形態2〕
以下、本発明の実施形態2について、図11から図16に基づいて詳細に説明する。
【0132】
(本発明の一態様に係る制御装置の概要)
上記の実施形態1では、スライディングモード制御部102は、サーボモータ2が出力可能な所定のトルクと、サーボモータ2による駆動される負荷機械3の運動特性とにより決定される切替線SL上に収束するようにモデル出力トルクを決定する。このとき、スライディングモード制御部102は、サーボモータ2が出力可能な所定のトルクとして、例えばサーボモータが出力可能な最大トルクとして予め設定された一定値であるτmax、および、サーボモータが出力可能な最小トルク(つまり、負方向の最大トルク)として予め設定された一定値であるτminを用いるものとした。
【0133】
しかしながら、最大トルクおよび最小トルクは、モータの駆動状態によって変動する。例えば、モータ毎に固有のNT特性(N:回転数、T:トルク)により、回転数が多いほど出力可能な最大トルクおよび最小トルクの絶対値は減少する。
【0134】
また、回転方向に応じて変動する動摩擦や、回転数に応じて変動する粘性摩擦の影響でも、出力可能な最大トルクおよび最小トルクが変動する。
【0135】
他に、負荷機械3における偏荷重等によっても、出力可能な最大トルクおよび最小トルクが変動する。ここで、偏荷重とは、負荷機械3に対してある特定の方向にだけ発生する荷重を示している。例えば、負荷機械3が鉛直方向に往復運動する際に、重力の影響によって生じる荷重である。
【0136】
そのため、このような最大トルクおよび最小トルクの変動を考慮せず、サーボモータ2が出力可能な最大トルクおよび最小トルクとして予め設定された一定値を用いた場合、スライディングモード制御部102で用いる、サーボモータが出力可能な所定のトルクと、実際のサーボモータ2の加減速に用いることのできる最大トルク/最小トルクとの間に乖離が生じ得る。これにより、スライディングモード制御部102から出力されるモデル出力トルクにサーボモータ2が追従できない。その結果、オーバーシュートやハンチングが生じるという問題が起こり得る。
【0137】
本実施形態は、このような問題をも解消し得るものである。本実施形態について、図11に基づいて説明すれば、以下のとおりである。図11は、制御装置1の要部構成を示すブロック図である。本実施形態に係る制御装置1は、トルク補正部105が備えられている点で、実施形態1の制御装置1と相違する。なお、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
【0138】
トルク補正部105は、スライディングモード制御部102が切替線SLを決定するために用いる、サーボモータ2の出力可能な所定のトルクを、サーボモータ2の駆動状態に基づいて補正するためのものである。
【0139】
トルク補正部105を備えることにより、サーボモータ2が出力可能な所定トルクがサーボモータ2の駆動状態に基づいて補正され、実際に加減速に使用できるトルク値を用いてスライディングモード制御部102の設定が行われるため、スライディングモード制御部102を用いた場合におけるモータの挙動の安定性が向上する。
【0140】
なお、トルク補正部105は、サーボモータ2の駆動状態としてサーボモータ2の実際の駆動状態を用いて所定トルクの補正を行ってもよいし、サーボモータ2の駆動状態として制御対象モデル検出部305から出力されるモデルの状態を用いて所定トルクの補正を行ってもよい。
【0141】
ただし、サーボモータ2の実際の駆動状態は、予期しない外乱などの影響を受けている場合がある。この場合、サーボモータ2の実際の駆動状態を用いて所定トルクの補正を行うと、モデル出力トルクが不安定になる可能性がある。そのため、予期しない外乱などの影響を受けやすい環境の場合には、トルク補正部105は、サーボモータ2の駆動状態として制御対象モデル検出部305から出力されるモデルの状態を用いて所定トルクの補正を行うことが好ましい。
【0142】
トルク補正部105は、サーボモータ2の駆動状態としてサーボモータ2の実際の駆動状態を用いる場合、エンコーダ4によって検出されたサーボモータ2の位置(実位置)、または、速度検出部202から出力される速度(実速度)を用いればよい。また、トルク補正部105は、サーボモータ2の駆動状態としてモデルの状態を用いる場合、制御対象モデル検出部305から出力されるモデル出力位置またはモデル出力速度を用いればよい。
【0143】
(演算方法)
次に、トルク補正部105の演算方法の具体例について図16に基づいて説明する。
【0144】
図16において、最大トルクはτmax、定格トルクはτrated、定格速度はvrated、最大速度はvmaxで表されている。トルク補正部105は、図16に示されるように、定格速度vrated、最大速度vmax、定格トルクτrated、最大トルクτmaxを用いて、(vrated, τmax) )と(vmax, τrated)を結ぶ直線で、切替線SLを決定するために用いる、サーボモータ2の出力可能な所定のトルクを補正する。
【0145】
ここで、傾きKを用いて、ある速度vにおけるトルク減少値τdec(v)を数式14によって計算される。なお、トルク減少値τdec(v)は負の値である。ただし、v>0とする。また、傾きKは数式15で示されるものである。
【0146】
【数14】
【0147】
【数15】
【0148】
この値を用いて、トルク補正部105は、切替線SLを決定するために用いる、サーボモータ2の出力可能な所定のトルクとして、補正後最大トルク(正方向の最大トルク)τlim_maxおよび補正後最小トルク(つまり、負方向の最大トルク)τlim_minを数式16のように求める。なお、トルク補正部105は、速度vとして、制御対象モデル検出部104から出力されるモデル出力速度vを用いてもよいし、速度検出部202から出力される実速度を用いてもよい。
【0149】
【数16】
【0150】
ここでτu_max、τu_minは、それぞれトルクリミッタ204の上限値および下限値である(この値には、実際にサーボモータ2が出力可能なトルクの正負の最大値を設定可能である)。トルクリミッタ204の上限値および下限値は、ユーザによって設定可能であり、それぞれτmax以下の正の値、−τmax(=τmin)以上の負の値が設定される。なお、トルクリミッタ204の上限値の絶対値と下限値の絶対値は互いに異なっていてもよい。また、ユーザによる設定指示がない場合、トルクリミッタ204の上限値τu_maxはτmaxに、下限値τu_minは、−τmaxに設定される。
【0151】
上記数式16によれば、トルク補正部105は、サーボモータ2の最大トルクτmaxからトルク減少値τdec(v)を加算(つまり、トルク減少値τdec(v)の絶対値だけ減算)した値がユーザにより設定された上限値τu_max以下であれば、τmax+τdec(v)を、補正後最大トルクτlim_maxとする。一方、トルク補正部105は、サーボモータ2の最大トルクτmaxからトルク減少値τdec(v)を加算した値がユーザにより設定された上限値τu_maxを超える場合、補正後最大トルクτlim_maxとしてτu_maxを設定する。同様にして、トルク補正部105は、補正後最小トルクτlim_minを設定する。
【0152】
スライディングモード制御部102は、トルク補正部105が算出した補正後最大トルクτlim_maxおよび補正後最小トルクτlim_minを用いて、切替線SLを決定する。
【0153】
例えば、慣性モーメントのみを考慮した場合のスライディングモードの切替線SLは、上記数式4におけるτmaxおよびτminを、上記演算によって算出された補正後最大トルクτlim_maxおよび補正後最小トルクτlim_minに置き換えた数式17によって算出される。
【0154】
【数17】
【0155】
図15は、トルク補正部105を備えている場合と備えていない場合との、最短時間収束の切替線SLの違いを示す図である。図15に示されるように、トルク補正部105を備えることにより、切替線SLが大きく変わることがわかる。
【0156】
また、慣性モーメントおよび粘性摩擦を考慮した場合のスライディングモードの切替線SLは、上記数式12におけるτmax、usrおよびτmin、usrを、上記演算によって算出された補正後最大トルクτlim_maxおよび補正後最小トルクτlim_minに置き換えた式によって算出すればよい。
【0157】
このように、トルク補正部105を制御装置1に備えることにより、NT特性等を考慮することが可能となる。具体的には、トルク補正部105は、切替線SLを決定するために用いる、サーボモータ2の出力可能な所定のトルクとして、サーボモータ2が実際に加減速に用いることのできるトルクを出力することができる。これにより、スライディングモード制御部102は、動的に変化する補正後最大トルクτlim_max、補正後最小トルクτlim_minと用いて、スライディングモードの切替線SLを動的に求めることが可能となる。これにより、制御装置1は、オーバーシュートやハンチングを生じない軌道を生成できる。
【0158】
なお、ここでは、制御対象モデル検出部104から出力されるモデル出力速度vまたは速度検出部202から出力される実速度と、NT特性とに基づいて算出されるトルク減少値τdec(v)を用いて、切替線SLを決定するために用いる、サーボモータ2の出力可能な所定のトルクを補正する例について説明した。
【0159】
しかしながら、トルク補正部105は、NT特性以外の要因によるトルク減少値を求めてもよい。
【0160】
例えば、動摩擦によってサーボモータ2にトルク損失が生じている場合、トルク補正部105は、動摩擦によるトルク減少値を求める。動摩擦は、サーボモータ2の速度vに応じて符号が変わる定数である。そこで、トルク補正部105は、当該定数を予め記憶しておき、制御対象モデル検出部305から出力されるモデル出力速度vまたは速度検出部202から出力される実速度に応じて符号を決定し、動摩擦によるトルク減少値を求める。
【0161】
また、粘性摩擦によってサーボモータ2にトルク損失が生じている場合、トルク補正部105は、粘性摩擦によるトルク減少値を算出する。粘性摩擦は、サーボモータ2の速度vに応じて変化する関数によって決まる。そこで、トルク補正部105は、当該関数を予め記憶しておき、制御対象モデル検出部305から出力されるモデル出力速度vまたは速度検出部202から出力される実速度に応じて、粘性摩擦によるトルク減少値を求める。
【0162】
また、負荷機械3における偏荷重によってトルク損失が生じている場合、トルク補正部105は、偏荷重によるトルク減少値を求める。偏荷重によるトルク減少値は、負荷機械3の動作実験またはシミュレーションにより予め設定される。そこで、トルク補正部105は、制御対象モデル検出部305から出力されるモデル出力速度vおよび/またはモデル出力位置θ、もしくは、エンコーダ4から出力される実位置および/または速度検出部202から出力される実速度に基づいて、偏荷重が生じているタイミングか否かを判定し、偏荷重が生じているタイミングの場合に、予め記憶しているトルク減少値を設定する。
【0163】
なお、トルク補正部105は、これら様々な要因によるトルク減少値の何れか1つのみを用いてもよいし、複数のトルク減少値を組み合わせた合算値を用いてもよい。
【0164】
(効果)
本実施形態におけるトルク補正部105の効果を図12図14に基づいて説明する。ただし、一例としてNT特性を考慮に入れた場合の説明を行う。
【0165】
図12図14は、それぞれ、制御装置において実行されるスライディングモード制御について、速度指令を「0」とした場合の同一の動作に対する、位置、速度、トルクについてのモデルと実際の状態との比較を示している。すなわち、図12は、モデル出力位置(実線)と、サーボモータの実際の位置(実位置)(点線)との比較を示し、図13は、モデル出力速度(実線)と、サーボモータ2の実速度(点線)との比較を示し、図14は、モデル出力トルク(実線)と、サーボモータ2の駆動電流、もしくは、制御装置1で生成される電流指令値からそれぞれ換算される実トルク(点線)との比較を示す。また、各図において、(a)はトルク補正部105を備えないスライディングモード制御部102に対応する図であり、(b)はトルク補正部105を備えたスライディングモード制御部102に対応する図である。
【0166】
図12の(a)に示されるように、制御装置1にトルク補正部105を備えていない場合、NT特性が考慮されず、モデル位置に実位置が追従できず、位置決め時にハンチングが生じている。しかしながら、図12の(b)に示されるように、トルク補正部105を制御装置1に備えることによって、NT特性を考慮した制御をすることにより、ハンチングが解消され、モデル位置と実位置が一致した状態になり、ハンチングを改善できることが確認される。
【0167】
また、図13の(a)に示されるように、制御装置1にトルク補正部105を備えていない場合、NT特性が考慮されず、すなわち、実際にモータの加減速に使うことができるトルクが減少した分が考慮されないため、モデル出力速度に実速度が追従できず、位置決め時にハンチングが生じている。しかしながら、図13の(b)に示されるように、トルク補正部105を制御装置1に備えることによって、NT特性を考慮した制御をすることにより、ハンチングが解消され、モデル出力速度と実速度が一致した状態になり、ハンチングを改善できることが確認される。
【0168】
さらに、図14の(a)に示されるように、制御装置1にトルク補正部105を備えていない場合、NT特性が考慮されず、すなわち、実際にモータの加減速に使うことができるトルクが減少した分が考慮されないため、モデル出力トルク(図中、モデルトルクと記載)と実トルクに差が生じている。しかしながら、図14の(b)に示されるように、トルク補正部105を制御装置1に備えることによって、NT特性を考慮した制御をすることにより、モデル出力トルクと実トルクが一致した状態になっていることが分かる。
【0169】
〔ソフトウェアによる実現例〕
制御装置1の制御ブロック(特に、フィードフォワード制御部10、速度指令生成部101、スライディングモード制御部102、モデルトルクリミッタ103、制御対象モデル検出部104、フィードバック制御部20、位置制御部201、速度検出部202、速度制御部203、トルクリミッタ204)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
【0170】
後者の場合、制御装置1は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【0171】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【0172】
1 制御装置
2 サーボモータ
3 負荷機械
10 フィードフォワード制御部
20 フィードバック制御部
102 スライディングモード制御部
105 トルク補正部
モデル出力速度(モデル速度)
θ モデル出力位置(モデル位置)
目標速度(速度指令値)
θ目標位置(位置指令値)
err 速度偏差
θerr 位置偏差
SL 切替線
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16