(58)【調査した分野】(Int.Cl.,DB名)
前記トルク補正部は、前記制御対象を動作させる際に生じる偏荷重によるトルク減少分を求め、当該トルク減少分を減算することで前記所定のトルクを補正することを特徴とする請求項1から6のいずれか一項に記載の制御装置。
【発明を実施するための形態】
【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の位置、速度、トルクの目標値であるモデル出力位置θ
M、モデル出力速度v
M、モデル出力トルクを制御し、つまり、サーボモータ2のモデル(規範モデル)を制御する。ここで、従来のフィードフォワード制御部30は、サーボモータ2のモデルについて、PID制御を行う。すなわち、従来のフィードフォワード制御部30は、外部から(例えば、ユーザから)与えられる位置指令値θ
R、および当該位置指令値θ
Rから生成される速度指令値v
Rに追従するよう、前記モデルの目標位置であるモデル出力位置θ
M、および、前記モデルの目標速度であるモデル出力速度v
Mについて、PID制御を行う。従来のフィードフォワード制御部30は、モデル位置制御部301、速度指令生成部302、モデル速度制御部303、モデルトルクリミッタ304、制御対象モデル検出部305を備えている。
【0043】
モデル位置制御部301は、前記位置指令値θ
Rと、制御対象モデル検出部305により生成されたモデル出力位置θ
Mと、を受け付け、当該モデル出力位置θ
Mが当該位置指令値θ
Rに追従するよう制御するモデル速度制御指令を生成する。モデル位置制御部301は、生成したモデル速度制御指令を、モデル速度制御部303およびフィードバック制御部20へと出力する。
【0044】
速度指令生成部302は、前記位置指令値θ
Rを受け付け、前記位置指令値θ
Rから速度指令値v
Rを生成する。速度指令生成部302は、生成した前記速度指令値v
Rをモデル速度制御部303へと出力する。
【0045】
モデル速度制御部303は、モデル位置制御部301により生成されたモデル速度制御指令、速度指令生成部302により生成された前記速度指令値v
R、および、制御対象モデル検出部305により生成されたモデル出力速度v
Mを受け付ける。モデル速度制御部303は、当該モデル出力速度v
Mが、前記モデル速度制御指令および前記速度指令値v
Rに追従するよう制御するようモデルトルク制御指令を生成する。モデル速度制御部303は、生成したモデルトルク制御指令を、モデルトルクリミッタ304へと出力する。
【0046】
モデルトルクリミッタ304は、モデル速度制御部303により生成されたモデルトルク制御指令に基づいて、モデル出力トルクを制御する(出力する)。モデルトルクリミッタ304により制御されたモデル出力トルクは、制御対象モデル検出部305およびフィードバック制御部20へと通知される。
【0047】
制御対象モデル検出部305は、モデルトルクリミッタ304により制御されたモデル出力トルクを受け付けて、モデル出力位置θ
Mおよびモデル出力速度v
Mを生成し、生成したモデル出力位置θ
Mおよびモデル出力速度v
Mを出力する。すなわち、制御対象モデル検出部305により生成されたモデル出力位置θ
Mは、モデル位置制御部301およびフィードバック制御部20へと通知される。制御対象モデル検出部305により生成されたモデル出力速度v
Mは、モデル速度制御部303およびフィードバック制御部20へと通知される。
【0048】
フィードバック制御部20は、従来のフィードフォワード制御部30により制御される前記モデル出力位置θ
M、前記モデル出力速度v
M、および、前記モデル出力トルクに追従するよう、サーボモータ2の位置、速度、およびトルクについてPID制御を行う。フィードバック制御部20は、位置制御部201、速度検出部202、速度制御部203、トルクリミッタ204を備えている。
【0049】
位置制御部201は、エンコーダ4により検出されたサーボモータ2の位置と、制御対象モデル検出部305により生成されたモデル出力位置θ
Mとを受け付け、検出されたサーボモータ2の位置がモデル出力位置θ
Mに追従するように制御する速度制御指令を生成する。そして、位置制御部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制御を行うため、前記位置指令値θ
Rに対してモデル軌道を生成した時に、そのモデル軌道に必要なトルク(モデル出力トルク)が、サーボモータ2の出力可能な最大トルクを超えてしまう可能性がある。従来のフィードフォワード制御部30において、モデル速度制御部303が出力するトルクの値が、サーボモータ2の出力可能な最大トルクよりも大きい場合等には、モデルトルクリミッタ304によりトルクの値が制限される。これにより、モデル出力トルクは、モデルトルクリミッタ304で所定の制限がかかった値となる。このように、モデル速度制御部303が出力するトルクの値が制限されると、モデル軌道がオーバーシュートする、ハンチングするなどの問題が起こる。このような問題が発生するのを防ぐには、前記位置指令値θ
Rに基づいて生成されるモデル軌道に必要なトルク(モデル出力トルク)が、サーボモータ2の出力可能な最大トルク以下でなければならない。つまり、ユーザは、サーボモータ2の出力可能な最大トルク以下のトルク(モデル出力トルク)によって実現可能なモデル軌道が生成されるように調整した位置指令値θ
Rを与える必要があった。
【0054】
(本発明の一態様に係る制御装置の概要)
本発明の一態様に係る制御装置1について、その概要を端的に表現するとすれば、サーボモータ2のモデル(規範モデル)についてPID制御を行う従来のフィードフォワード制御部30に代えて、当該モデルについてスライディングモード制御を行うフィードフォワード制御部10を備えている。フィードフォワード制御部10の実行するスライディングモード制御により、制御装置1は、サーボモータ2の出力可能な所定のトルク(例えば、サーボモータ2の出力可能な最大トルク)を前提とした制御を、サーボモータ2について行うことができる。
【0055】
すなわち、サーボモータ2についてモデル追従制御を行う制御装置1の備えるフィードフォワード制御部10は、外部から入力された位置指令値θ
Rとモデル出力位置θ
M(モデル位置)との偏差であるモデル位置偏差、および、速度指令値v
Rとモデル出力速度v
M(モデル速度)との偏差であるモデル速度偏差が、切替線SL(切替面)に沿ってそれぞれ「0」に収束するように、スライディングモード制御を行なう。詳細は後述するが、フィードフォワード制御部10の実行するスライディングモード制御は、サーボモータ2の出力可能な所定のトルク(例えば、サーボモータ2の出力可能な最大トルク)を前提として、サーボモータ2のモデル(規範モデル)を制御する。したがって、ユーザは、制御装置1を用いることによって、サーボモータ2の出力可能な最大トルクを意識することなく、サーボモータ2にオーバーシュートおよびハンチング等を起させずに所望の動作を実行させることができる。
【0056】
従来の制御装置9と以上に説明した点で異なる制御装置1について、その概要は以下のように表現することができる。すなわち、制御装置1は、制御対象(例えば、負荷機械3)を動作させるサーボモータ2の制御装置であって、予め設定された前記制御対象のモデルに基づいて、サーボモータ2の位置、速度、トルクの目標値であるモデル出力位置θ
M(モデル位置)、モデル出力速度v
M(モデル速度)、モデル出力トルク(モデルトルク)を出力するフィードフォワード制御部10を備え、フィードフォワード制御部10は、外部から入力された位置指令値θ
Rと前記モデル出力位置θ
Mとの偏差であるモデル位置偏差と、速度指令値v
Rと前記モデル出力速度v
Mとの偏差であるモデル速度偏差とに基づいて、サーボモータ2が出力可能な所定のトルク(例えば、サーボモータ2の出力可能な最大トルク)と、サーボモータ2により駆動される負荷機械3の運動特性と、により決定される切替線SL上に収束するように前記モデル出力トルクを決定するスライディングモード制御部102を含む。
【0057】
前記の構成によれば、制御装置1は、フィードフォワード制御部10が、スライディングモード制御により、前記モデル出力位置θ
M、前記モデル出力速度v
M、前記モデル出力トルクを制御する。つまり、フィードフォワード制御部10は、サーボモータ2の出力可能な最大トルクを超えないモデル軌道(前記モデル出力位置θ
Mおよび前記モデル出力速度v
M)を生成することができる。したがって、制御装置1についてユーザは、サーボモータ2の出力可能な最大トルクを意識せずに前記位置指令をフィードフォワード制御部10に与え、サーボモータ2に所望の動作を実行させることができるという効果を奏する。
【0058】
また、制御装置1は、フィードフォワード制御部10が、スライディングモード制御により、前記モデル出力位置θ
M、前記モデル出力速度v
M、前記モデル出力トルクを制御する。したがって、制御装置1は、オーバーシュートおよびハンチング等を起すことのないモデルを用いて、前記モデル追従制御を実行することができるという効果を奏する。
【0059】
さらに、制御装置1は、モデル速度制御部303の出力トルクがトルクリミッタ304により制限されてしまうことにより、フィードバック制御器がモデルの出力する軌道に追従できず、その結果、オーバーシュートおよびハンチング等の(モデルの出力する軌道自体がオーバーシュートおよびハンチングする等の)問題が生じるという事態を回避することができるという効果を奏する。
【0060】
ここで、制御装置1は、フィードフォワード制御部10により制御される前記モデル出力位置θ
Mおよび前記モデル出力速度v
Mに追従するよう、サーボモータ2の前記位置および前記速度についてフィードバック制御(例えば、PID制御)を行うフィードバック制御部20をさらに含んでいる。
【0061】
前記の構成によれば、制御装置1は、フィードフォワード制御部10が、スライディングモード制御により、前記モデル出力位置θ
M、前記モデル出力速度v
M、前記モデル出力トルクを制御し、フィードバック制御部20が、前記モデル出力位置θ
Mおよび前記モデル出力速度v
Mに追従するよう、サーボモータ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に課す負荷を抑制しつつ制御された前記モデル出力位置θ
M、前記モデル出力速度v
M、前記モデル出力トルクに、サーボモータ2を追従させることができるという効果を奏する。
【0066】
(本発明の一態様に係る制御装置の詳細)
図1は、制御装置1の要部構成を示すブロック図である。制御装置1は、サーボモータ2についてモデル追従制御を行う制御装置である。すなわち、制御装置1は、サーボモータ2のモデル(規範モデル)を制御するフィードフォワード制御部10と、フィードフォワード制御部10により制御されるサーボモータ2のモデルに追従するよう、サーボモータ2を制御するフィードバック制御部20と、を含んでいる。
【0067】
フィードフォワード制御部10は、サーボモータ2の位置、速度、トルクの目標値であるモデル出力位置θ
M(モデル位置)、モデル出力速度v
M(モデル速度)、モデル出力トルク(モデルトルク)を制御する。ここで、フィードフォワード制御部10は、前記モデル出力位置θ
M、前記モデル出力速度v
M、および前記モデル出力トルクについて、つまり、サーボモータ2のモデル(規範モデル)について、スライディングモード制御を実行する。具体的には、フィードフォワード制御部10は、速度指令生成部101、スライディングモード制御部102、モデルトルクリミッタ103、および制御対象モデル検出部104を含んでいる。速度指令生成部101は、外部から(例えば、ユーザから)与えられる位置指令値θ
Rを受け付け、前記位置指令値θ
Rから速度指令値v
Rを生成する。速度指令生成部101は、生成した前記速度指令値v
Rを出力する。
【0068】
スライディングモード制御部102は、前記位置指令値θ
Rと、前記位置指令値θ
Rから速度指令生成部101により生成された前記速度指令値v
Rと、制御対象モデル検出部104により生成されたモデル出力位置θ
Mおよびモデル出力速度v
Mと、を受け付ける。より正確には、スライディングモード制御部102は、前記位置指令値θ
Rと前記モデル出力位置θ
Mとの偏差であるモデル位置偏差、および、前記速度指令値v
Rと前記モデル出力速度v
Mとの偏差であるモデル速度偏差を受け付ける。そして、スライディングモード制御部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から出力されたモデル出力トルクを受け付けて、モデル出力位置θ
Mおよびモデル出力速度v
Mを生成し、生成したモデル出力位置θ
Mおよびモデル出力速度v
Mを出力する。すなわち、制御対象モデル検出部104により生成されたモデル出力位置θ
Mは、スライディングモード制御部102およびフィードバック制御部20へと通知される。制御対象モデル検出部104により生成されたモデル出力速度v
Mは、スライディングモード制御部102およびフィードバック制御部20へと通知される。なお、より正確には、制御対象モデル検出部104により生成されたモデル出力位置θ
Mと前記位置指令値θ
Rとの偏差であるモデル位置偏差が、スライディングモード制御部102に通知される。また、制御対象モデル検出部104により生成されたモデル出力速度v
Mと前記速度指令値v
Rとの偏差であるモデル速度偏差が、スライディングモード制御部102に通知される。
【0071】
制御装置1の備えるフィードバック制御部20は、従来の制御装置9が備えているフィードバック制御部20と同様のものである。すなわち、制御装置1の備えるフィードバック制御部20は、フィードフォワード制御部10により制御されるモデル出力位置θ
M、モデル出力速度v
M、および、モデル出力トルクに追従するよう、サーボモータ2の位置、速度、およびトルクについてPID制御を行う。フィードバック制御部20の備える各機能ブロックについては、既に説明済であるため、詳細は略記する。
【0072】
すなわち、制御装置1は、モデル追従制御のためのモデル軌道を生成するフィードフォワード制御部10がスライディングモード制御を実行することにより、サーボモータ2の出力可能な所定のトルク(例えば、サーボモータ2の出力可能な最大トルク)を超えないモデル軌道を生成することができる。また、スライディングモード制御部102は、制御対象モデル検出部が出力したモデル速度、モデル位置に基づいて、モータに与えるべきトルクの値を出力する。ここで、モデル速度、モデル位置は、設計したモデルに応じた理想的な値であり、負荷機械3が実働してフィードバックされる速度、位置と比較して、値の急激な変動等は少ない。スライディングモード制御部102は、これらのモデル速度、モデル位置に基づきトルクの値を出力するので、スライディングモード制御部102がフィードバック制御部20に配置されている場合と比較して、スライディングモード制御部102から出力されるトルクの値の挙動が安定する。その結果、制御装置1により制御されるサーボモータ2はオーバーシュートおよびハンチング等を起すことがない。詳細は後述するが、制御装置1により制御されるモデルのモデル出力位置θ
Mは、
図7に示すようにオーバーシュートおよびハンチング等を起こすことなく収束する。なお、
図7は、切替線SLが二次曲線であって、スライディングモード制御部102の受け付ける速度指令値v
Rを「0」とした場合の、モデル出力位置θ
Mの軌跡を示す図であり、詳細については後述する。
【0073】
以上に詳細を説明した制御装置1が実行する制御方法(サーボモータ2の制御方法)は以下のように整理することができる。すなわち、制御装置1が実行する制御方法は、モデル追従制御を行うサーボモータ2の制御方法であって、サーボモータ2の位置、速度、トルクの目標値であるモデル出力位置θ
M、モデル出力速度v
M、モデル出力トルクを制御するフィードフォワード制御ステップと、前記フィードフォワード制御ステップにより制御された前記モデル出力位置θ
Mおよび前記モデル出力速度v
Mに、サーボモータ2の位置および速度を追従させるフィードバック制御ステップと、を含み、前記フィードフォワード制御ステップは、外部から入力された位置指令値θ
Rと前記モデル出力位置θ
Mとの偏差であるモデル位置偏差と、速度指令値v
Rと前記モデル出力速度v
Mとの偏差であるモデル速度偏差とが、サーボモータ2が出力可能な所定のトルク(例えば、サーボモータ2の出力可能な最大トルク)と、サーボモータ2により駆動される負荷機械3の運動特性と、により決定される切替線SL上に収束するように前記モデル出力トルク(モデルトルク)を決定するスライディングモード制御を行うスライディングモード制御ステップを含む。
【0074】
前記の構成によれば、前記制御方法において、前記フィードフォワード制御ステップが、スライディングモード制御により、前記モデル出力位置θ
M、前記モデル出力速度v
M、前記モデル出力トルクを制御する。つまり、前記フィードフォワード制御ステップは、サーボモータ2の出力可能な最大トルクを超えないモデル軌道(前記モデル出力位置θ
Mおよび前記モデル出力速度v
M)を生成することができる。したがって、前記制御方法についてユーザは、サーボモータ2の出力可能な最大トルクを意識せずに前記位置指令を前記フィードフォワード制御ステップに与え、サーボモータ2に所望の動作を実行させることができるという効果を奏する。
【0075】
また、前記制御方法は、前記フィードフォワード制御ステップが、スライディングモード制御により、前記モデル出力位置θ
M、前記モデル出力速度v
M、前記モデル出力トルクを制御する。したがって、前記制御方法は、オーバーシュートおよびハンチング等を起すことのないモデルを用いて、前記モデル追従制御を実行することができるという効果を奏する。
【0076】
さらに、前記制御方法は、前記モデル出力トルクがサーボモータ2の出力可能な最大トルクを超えることにより、フィードバック制御ステップがモデルの出力する軌道に追従できず、その結果、オーバーシュートおよびハンチング等の(モデルの出力する軌道自体がオーバーシュートおよびハンチングする等の)問題が生じるという事態を回避することができるという効果を奏する。
【0077】
次に、フィードフォワード制御部10がサーボモータ2のモデルについて実行するスライディングモード制御について、
図2を用いてその詳細を説明しておく。
【0078】
(スライディングモード制御について)
図2は、スライディングモード制御部102が実行するスライディングモード制御を説明するための図である。
図2に示すように、スライディングモード制御部102は、速度偏差v
errと位置偏差θ
errを入力とし、入力された速度偏差v
errおよび位置偏差θ
errにより決まる点が、
図2に示した切替線SL(切替面)のどちら側にいるかで、モデル出力トルクを決定する。
【0079】
切替線SLは、サーボモータ2が出力可能な正の所定のトルク、または負の所定のトルク(例えば、サーボモータ2が出力可能な正の最大トルクまたは負の最大トルク)を出力した時に、原点(すなわち位置偏差θ
errおよび速度偏差v
errがともに「0」になる位置)へ至る軌道として設計されている。
【0080】
図2に示すように、横軸に速度偏差v
err、縦軸に位置偏差θ
errをとる位相平面PPを考え、位相平面PP上に、速度偏差v
errと位置偏差θ
errとの式で表される切替線SL(切替面)を描く。与えられた入力(スライディングモード制御部102が受け付けた速度偏差v
errおよび位置偏差θ
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(切替面)は、横軸に速度偏差v
err、縦軸に位置偏差θ
errをとる位相平面PPにおいて、二次曲線で表すことができる。負荷機械モデルを慣性モーメントおよび粘性摩擦とした場合、切替線SLは、前記位相平面PPにおいて、対数曲線と直線との和として表すことができる。以下、詳細を説明していく。
【0084】
(慣性モーメントのみ)
以下では先ず、制御装置1において、切替線SLを決定する一要素である負荷機械3の運動特性(負荷機械モデル)が、負荷機械3の慣性モーメントのみである場合について説明する。負荷機械モデルを負荷機械3の慣性モーメントのみとした場合、前記切替線SLは、横軸に速度偏差v
err、縦軸に位置偏差θ
errをとる位相平面PP(前記モデル位置偏差と、前記モデル速度偏差とにより定義される平面)において、二次曲線として定義される。
【0085】
負荷機械モデルを負荷機械3の慣性モーメントのみとした場合、制御装置1は、前記モデル位置偏差と前記モデル速度偏差とが、サーボモータ2の出力可能な所定のトルクと、負荷機械3の慣性モーメントとにより決定される切替線SL上に収束し、最終的には前記モデル位置偏差と前記モデル速度偏差とがゼロに収束するように、前記モデル出力トルクを決定するスライディングモード制御を行うことができるという効果を奏する。
【0086】
負荷機械3の運動特性(負荷機械モデル)を負荷機械3の慣性モーメントのみとする場合、スライディングモード制御を行うフィードフォワード制御部10(スライディングモード制御部102)の制御対象が単慣性モデルであることから、飽和制御器の操作量の切り替えがない限り、飽和制御器の出力u
satは一定なので、モデルの挙動は以下の数式1で表される等加速度運動になる。
数式1
【0088】
数式1において、v
err(t)、v
R、およびv
M(t)は、それぞれ、速度偏差、目標速度(速度指令値)、モデル出力速度であり、J
Mはモデルの慣性である。数式1の速度偏差を時間積分することで、「位置偏差θ
err(t):=θ
R−θ
M(t)」は、以下の数式2に示すように得ることができる。
数式2
【0090】
さらに、数式1と数式2からtを消去して位置偏差θ
errを速度偏差v
err(t)で表すと、以下の数式3を得る。
数式3
【0092】
ここで、θ
R、θ
M(t)は、それぞれ、目標位置(位置指令値)、モデル出力位置である。数式3より、最大操作量(正の飽和値)および最小操作量(負の飽和値)が入力された場合、任意の初期状態[θ
err(0)、v
err(0)]から、状態は
図4に示すように遷移する。
【0093】
図4は、負荷機械3の運動特性を負荷機械3の慣性モーメントのみとした場合の、最大操作量を入力したときの状態遷移と、最小操作量を入力したときの状態遷移とを示す図である。
図4において、紙面上側に凸である曲線群は、最大操作量(正の飽和値)を入力した場合の状態遷移を示しており、紙面下側に凸である曲線群は、最小操作量(負の飽和値)を入力した場合の状態遷移を示している。
図4において、任意の初期状態から切替回数1回で原点に収束する切替線SLを選択すると、
図5に示す図を描くことができる。
【0094】
図5は、制御装置1において実行されるスライディングモード制御について、最短時間収束の切替線SLを説明するための図である。
図5において、最短時間収束を可能とする切替線SLを示すσ(θ
err、v
err)は、以下の数式4に示す通りとなる。
数式4
【0096】
最短時間収束を可能とする切替線SL(つまり、数式4で示される切替線SL)を用いて、制御中に現時刻t
0の位置偏差θ
err(t
0)と速度偏差v
err(t
0)とにしたがって飽和制御器の出力u
satを
【0098】
と定めると、任意の初期状態から操作量を切り替えることなく切替線SLに収束することができる。また、切替線SL上である「σ=0」の場合には、以下の数式6に示すように飽和制御器の出力u
satを定める。
数式6
【0100】
以上に説明したように飽和制御器の出力u
satを定めることで、任意の初期状態から操作量を最大1回切り替えることで、原点に収束することが出来る。
【0101】
以上までに説明したのは、負荷機械モデル(負荷機械3の運動特性)を慣性モーメントのみとした場合の切替線SL(切替面)である。次に、負荷機械モデルを慣性モーメントおよび粘性摩擦とした場合の切替線SLについて、説明していく。
【0102】
(慣性モーメントおよび粘性摩擦)
制御装置1において、切替線SLを決定する一要素である負荷機械3の運動特性(負荷機械モデル)が、負荷機械3の慣性モーメントと粘性係数とである場合について説明する。負荷機械モデルを負荷機械3の慣性モーメントおよび粘性係数とした場合、前記切替線SLは、横軸に速度偏差v
err、縦軸に位置偏差θ
errをとる位相平面PP(前記モデル位置偏差と、前記モデル速度偏差とにより定義される平面)において、対数曲線と直線との和として定義される。
【0103】
負荷機械モデルを負荷機械3の慣性モーメントおよび粘性係数とした場合、制御装置1は、前記モデル位置偏差と前記モデル速度偏差とが、サーボモータ2の出力可能な所定のトルクと、負荷機械3の慣性モーメントおよび粘性係数とにより決定される切替線SL上に収束し、最終的には前記モデル位置偏差と前記モデル速度偏差とがゼロに収束するように、前記モデル出力トルクを決定するスライディングモード制御を行うことができるという効果を奏する。
【0104】
次に、負荷機械3の運動特性(負荷機械モデル)が、負荷機械3の慣性モーメントと粘性係数とである場合について詳細に説明していくが、以下の説明においては、実制御対象(プラント)は慣性、粘性摩擦、動摩擦、および偏荷重を持ち、その制御対象への入力が飽和しているものと想定する。これらの特性をモデリングすると以下の数式7に示すように記述できる。
数式7
【0106】
上記モデルにおいて、モデルへの入力u
Mがステップ入力であるとして、このときのモデルの位置(モデル出力位置θ
M)およびモデルの速度(モデル出力速度v
M)を求める。先ずモデル出力速度v
Mのラプラス変換は以下の数式8に示すようになる。
数式8
【0108】
数式8を逆ラプラス変換すると、以下の数式9を得る。ただし、初期速度v
M(0)について、「v
M(0)=0」とする。
数式9
【0110】
数式9を「初期位置θ
M(0)=0」で時間積分することにより、モデル出力位置θ
M(t)を得ることができる。よって、モデル出力位置θ
M(t)およびモデル出力速度v
M(t)は、以下の数式10に示すようになる。
数式10
【0112】
ここで、位置偏差θ
err(t)および速度偏差v
err(t)を、それぞれ、「θ
err(t)=θ
R−θ
M(t)」、「v
err(t)=v
R−v
M(t)」と定義し、先ほどと同様に初期条件「[θ
err(0)、v
err(0)]=[0,0]」の下で一定値入力u
Mに対する時間応答を求めると、以下の数式11に示すようになる。
数式11
【0114】
(最適切替線の設計)
数式11に基づいて、入力u
Mが正の飽和値τ
max,usrになる場合と、負の飽和値τ
min,usrになる場合のθ
err、v
errの挙動を図に示すと、
図6のようになる。
【0115】
図6は、負荷機械3の運動特性を負荷機械3の慣性モーメントおよび粘性係数とした場合であって、一定入力時の位置偏差θ
errと速度偏差v
errとにより定義される切替線SLについて説明するための図であり、特に、「t=0」で「θ
err=0」、「v
err=0」となる軌道を示す図である。
図6において、垂直方向の点線は、出力トルクと粘性摩擦とが打ち消し合ってそれ以上速度が増大しない値を表す線である。
【0116】
原点「(θ
err、v
err)=(0、0)」に飽和操作値(すなわち、正の飽和値τ
max,usrまたは、負の飽和値τ
min,usr)で収束させるには、
図6の「t=0」よりも過去の、すなわち「t≦0」の軌道に状態を移行させ、その軌道に沿うよう制御すればよい。ここで、数式11からtを消去することで、最適な切替線SLは、以下の数式12で表すことができる。
数式12
【0118】
これまで、スライディングモード制御部102が実行するスライディングモード制御において利用される切替線SL(切替面)について、切替線SLを決定する一要素である負荷機械3の運動特性の観点から説明を行ってきた。次に、スライディングモード制御部102が受け付けるモデル速度偏差(より正確には、速度指令生成部101が生成する速度指令値v
R)について、
図7および
図8を用いて説明する。
【0119】
(スライディングモード制御部の受け付ける速度指令値について)
スライディングモード制御部102が受け付けるモデル速度偏差は、外部から(例えば、ユーザから)与えられる位置指令値θ
Rに基づいて速度指令生成部101が生成する速度指令値v
Rとモデル出力速度v
Mとの偏差である。以下、スライディングモード制御部102の受け付ける速度指令値v
R、つまり、速度指令生成部101の生成する速度指令値v
Rにより、スライディングモード制御部102の制御するモデルの挙動がどのように変化するかを、
図7および
図8を用いて説明する。具体的には、スライディングモード制御部102の受け付ける速度指令値v
Rを、「位置指令値θ
Rの微分」とした場合と、「0」とした場合とについて説明する。
【0120】
制御装置1において、スライディングモード制御部102の受け付ける速度指令値v
Rを「0」とすることができる。すなわち、速度指令生成部101は、「0」である速度指令値を、スライディングモード制御部102に出力してもよい。
【0121】
前記の構成によれば、制御装置1は、速度指令値v
Rが0であるため、目標位置に到達した時点でモデル出力速度v
Mも0とすることができるため、前記モデル出力位置θ
Mがオーバーシュートしないという効果を奏する。
【0122】
図7は、制御装置1において実行されるスライディングモード制御について、速度指令を「0」とした場合のモデル出力位置θ
Mの軌跡を示す図であり、つまり、スライディングモード制御部102の受け付ける速度指令値v
Rを「0」とした場合の、スライディングモード制御部102の制御するモデルの挙動を示す図である。
図7に示すように、スライディングモード制御部102の受け付ける速度指令値v
Rを「0」とした場合、モデル出力位置θ
Mがオーバーシュートすることがない一方、位置指令値θ
Rに対して遅延が生じ、指令追従性が低下する。
【0123】
制御装置1において、スライディングモード制御部102の受け付ける速度指令値v
Rを「位置指令の微分」とすることができる。すなわち、速度指令生成部101は、「位置指令の微分」である速度指令値v
Rを、スライディングモード制御部102に出力してもよい。
【0124】
図8は、制御装置1において実行されるスライディングモード制御について、速度指令を位置指令の微分とした場合のモデル出力位置θ
Mの軌跡を示す図であり、つまり、スライディングモード制御部102の受け付ける速度指令値v
Rを「位置指令値θ
Rの微分」とした場合の、スライディングモード制御部102の制御するモデルの挙動を示す図である。
図8に示すように、スライディングモード制御部102の受け付ける速度指令値v
Rを「位置指令値θ
Rの微分」とした場合、当該位置指令値θ
Rに対する指令追従性が高い一方、モデル出力位置θ
Mのオーバーシュートが起き得る。
【0125】
(モデル出力速度に応じた、モデル出力トルクの制限について)
サーボモータ2の最大速度は決まっているため、スライディングモード制御部102の制御するモデル出力速度v
Mが、当該最大速度よりも大きくなることは望ましくない。すなわち、制御装置1において、前記モデル出力速度v
Mは、サーボモータ2の最大出力速度未満であることが好ましい。
【0126】
前記の構成によれば、制御装置1において、フィードフォワード制御部10により制御されるモデル出力速度v
Mは、サーボモータ2の最大出力速度未満である。
【0127】
ここで、サーボモータ2の最大出力速度よりも大きなモデル出力速度v
Mを設定してしまうと、実際のサーボモータ2は追従することができず、モデルの制御挙動と異なる制御となってしまう。
【0128】
制御装置1において、前記モデル出力速度v
Mは、サーボモータ2の最大出力速度未満であるため、制御装置1は、サーボモータ2が追従可能なモデルを用いて、サーボモータ2について、モデル追従制御を行うことができるという効果を奏する。
【0129】
具体的には、スライディングモード制御部102は、vaを「速度制限を始めるしきい値」、vbを「速度制限値」として、下記のモデル出力トルク算出方法に示すように、モデル出力速度v
Mに応じて、出力(モデル出力トルク)を制限する。
数式13
【0131】
図9は、vaを「速度制限を始めるしきい値」、vbを「速度制限値」として、モデル出力速度v
Mに応じて、スライディングモード制御によるモデル出力トルクを制限することを示す図である。
図9に示すように、スライディングモード制御部102の制御する(出力する)モデル出力速度v
Mが、サーボモータ2の最大出力速度を示す速度制限値vbよりも大きくならないよう、スライディングモード制御部102は、以下の制御を実行する。すなわち、スライディングモード制御部102は、モデル出力速度v
Mが「速度制限を始めるしきい値va」に達すると、出力(モデル出力トルク)を制限して、モデル出力速度v
Mを速度制限値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、定格速度はv
rated、最大速度はv
maxで表されている。トルク補正部105は、
図16に示されるように、定格速度v
rated、最大速度v
max、定格トルクτ
rated、最大トルクτ
maxを用いて、(v
rated, τ
max) )と(v
max, τ
rated)を結ぶ直線で、切替線SLを決定するために用いる、サーボモータ2の出力可能な所定のトルクを補正する。
【0145】
ここで、傾きKを用いて、ある速度vにおけるトルク減少値τ
dec(v)を数式14によって計算される。なお、トルク減少値τ
dec(v)は負の値である。ただし、v>0とする。また、傾きKは数式15で示されるものである。
【0148】
この値を用いて、トルク補正部105は、切替線SLを決定するために用いる、サーボモータ2の出力可能な所定のトルクとして、補正後最大トルク(正方向の最大トルク)τ
lim_maxおよび補正後最小トルク(つまり、負方向の最大トルク)τ
lim_minを数式16のように求める。なお、トルク補正部105は、速度vとして、制御対象モデル検出部104から出力されるモデル出力速度v
Mを用いてもよいし、速度検出部202から出力される実速度を用いてもよい。
【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によって算出される。
【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
Mまたは速度検出部202から出力される実速度と、NT特性とに基づいて算出されるトルク減少値τ
dec(v)を用いて、切替線SLを決定するために用いる、サーボモータ2の出力可能な所定のトルクを補正する例について説明した。
【0159】
しかしながら、トルク補正部105は、NT特性以外の要因によるトルク減少値を求めてもよい。
【0160】
例えば、動摩擦によってサーボモータ2にトルク損失が生じている場合、トルク補正部105は、動摩擦によるトルク減少値を求める。動摩擦は、サーボモータ2の速度vに応じて符号が変わる定数である。そこで、トルク補正部105は、当該定数を予め記憶しておき、制御対象モデル検出部305から出力されるモデル出力速度v
Mまたは速度検出部202から出力される実速度に応じて符号を決定し、動摩擦によるトルク減少値を求める。
【0161】
また、粘性摩擦によってサーボモータ2にトルク損失が生じている場合、トルク補正部105は、粘性摩擦によるトルク減少値を算出する。粘性摩擦は、サーボモータ2の速度vに応じて変化する関数によって決まる。そこで、トルク補正部105は、当該関数を予め記憶しておき、制御対象モデル検出部305から出力されるモデル出力速度v
Mまたは速度検出部202から出力される実速度に応じて、粘性摩擦によるトルク減少値を求める。
【0162】
また、負荷機械3における偏荷重によってトルク損失が生じている場合、トルク補正部105は、偏荷重によるトルク減少値を求める。偏荷重によるトルク減少値は、負荷機械3の動作実験またはシミュレーションにより予め設定される。そこで、トルク補正部105は、制御対象モデル検出部305から出力されるモデル出力速度v
Mおよび/またはモデル出力位置θ
M、もしくは、エンコーダ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】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。