IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

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

特許7095436制御装置、制御方法、情報処理プログラム、および記録媒体
<>
  • 特許-制御装置、制御方法、情報処理プログラム、および記録媒体 図1
  • 特許-制御装置、制御方法、情報処理プログラム、および記録媒体 図2
  • 特許-制御装置、制御方法、情報処理プログラム、および記録媒体 図3
  • 特許-制御装置、制御方法、情報処理プログラム、および記録媒体 図4
  • 特許-制御装置、制御方法、情報処理プログラム、および記録媒体 図5
  • 特許-制御装置、制御方法、情報処理プログラム、および記録媒体 図6
  • 特許-制御装置、制御方法、情報処理プログラム、および記録媒体 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-06-27
(45)【発行日】2022-07-05
(54)【発明の名称】制御装置、制御方法、情報処理プログラム、および記録媒体
(51)【国際特許分類】
   G05D 3/12 20060101AFI20220628BHJP
【FI】
G05D3/12 305Z
【請求項の数】 5
(21)【出願番号】P 2018122041
(22)【出願日】2018-06-27
(65)【公開番号】P2020004023
(43)【公開日】2020-01-09
【審査請求日】2020-12-15
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】100155712
【弁理士】
【氏名又は名称】村上 尚
(72)【発明者】
【氏名】川又 功征
(72)【発明者】
【氏名】浪江 正樹
【審査官】牧 初
(56)【参考文献】
【文献】特開2011-197705(JP,A)
【文献】特開2013-255874(JP,A)
【文献】特開平08-076825(JP,A)
【文献】特開2001-261282(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/00-19/46
G05D 3/00- 3/20
(57)【特許請求の範囲】
【請求項1】
電子カムの主軸の位置から、前記電子カムの従軸の位置を制御するフィードバック制御系に出力する指令値を生成する制御装置であって、
前記主軸の位置に対応する前記従軸の位置である対応位置を演算するカム演算部と、
前記指令値に対する前記フィードバック制御系の状態方程式から予め求めておいたパラメータsにより傾斜が指定される切替線を用いて、前記カム演算部により演算された前記対応位置と、前記フィードバック制御系から取得する前記従軸のフィードバック位置とから、前記フィードバック制御系に対するスライディングモード制御を実行するスライディングモード制御部と、
を備え、
前記スライディングモード制御部は、前記対応位置と前記フィードバック位置との偏差である位置偏差、および、前記位置偏差を時間微分して算出した速度偏差が、前記切替線に収束し、前記位置偏差および前記速度偏差が前記切替線を通って0に収束するように、前記スライディングモード制御を実行する
ことを特徴とする制御装置。
【請求項2】
前記スライディングモード制御部は、前記スライディングモード制御の実行によって生成した速度指令を、前記指令値として前記フィードバック制御系に出力する
ことを特徴とする請求項1に記載の制御装置。
【請求項3】
電子カムの主軸の位置から、前記電子カムの従軸の位置を制御するフィードバック制御系に出力する指令値を生成する制御装置の制御方法であって、
前記主軸の位置に対応する前記従軸の位置である対応位置を演算するカム演算ステップと、
前記指令値に対する前記フィードバック制御系の状態方程式から予め求めておいたパラメータsにより傾斜が指定される切替線を用いて、前記カム演算ステップにて演算された前記対応位置と、前記フィードバック制御系から取得する前記従軸のフィードバック位置とから、前記フィードバック制御系に対するスライディングモード制御を実行するスライディングモード制御ステップと、
を含み、
前記スライディングモード制御ステップは、前記対応位置と前記フィードバック位置との偏差である位置偏差、および、前記位置偏差を時間微分して算出した速度偏差が、前記切替線に収束し、前記位置偏差および前記速度偏差が前記切替線を通って0に収束するように、前記スライディングモード制御を実行することを特徴とする制御方法。
【請求項4】
請求項1または2に記載の制御装置としてコンピュータを機能させるための情報処理プログラムであって、前記各部としてコンピュータを機能させるための情報処理プログラム。
【請求項5】
請求項4に記載の情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子カム制御装置等に関する。
【背景技術】
【0002】
従来、電子カム制御について、従軸位置を本来のカム曲線に追従させるための種々の試みが知られている。
例えば、下掲載の特許文献1には、サーボ系の追従遅れを補償した簡易なサーボ制御システムを実現する方法として、以下の方法が開示されている。すなわち、先ず、第1のパターン(=原カムパターン)を時間で微分すると共に、該微分された値に位置制御ゲインの逆数の次元を有する定数が乗算された乗算値を求め、該乗算値から予め定められた位相を減算することにより、補正パターンを生成する。そして、生成した補正パターンを第1のパターンに加算して第2のパターンを生成し、生成した該第2のパターンを用いて、サーボモータの位置指令を発生する。
【先行技術文献】
【特許文献】
【0003】
【文献】国際公開WO2003/005141(2003年1月16日公開)
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述のような従来技術は、予め所定の動作を行うことによって決定した設定値(具体的には、或る時点のサーボ系のゲイン。特に、位置制御ゲイン)を用いて、従軸を制御するサーボ系への指令値を生成するオープンループ制御である。そのため、従来技術には、実際の稼働状態における負荷および機械特性等の逐次的または経時的変化に伴う、追従性(言い換えれば、応答性)の変化に対応することができないという問題がある。
【0005】
本発明は、前記の問題点に鑑みてなされたものであり、その目的は、実際の稼働時における負荷および機械特性等の変化に対応可能な、高追従性と高ロバスト性とを両立した電子カム制御装置等を実現することにある。
【課題を解決するための手段】
【0006】
上記の課題を解決するために、本発明の一態様に係る制御装置は、電子カムの主軸の位置から、前記電子カムの従軸の位置を制御するフィードバック制御系に出力する指令値を生成する制御装置であって、前記主軸の位置に対応する前記従軸の位置である対応位置を演算するカム演算部と、前記指令値に対する前記フィードバック制御系の状態方程式から予め求めておいたパラメータsにより傾斜が指定される切替線を用いて、前記カム演算部により演算された前記対応位置と、前記フィードバック制御系から取得する前記従軸のフィードバック位置とから、前記フィードバック制御系に対するスライディングモード制御を実行するスライディングモード制御部と、を備えることを特徴としている。
【0007】
前記の構成によれば、前記制御装置は、前記主軸の位置に対応する前記従軸の位置である前記対応位置と、前記フィードバック制御系から取得する前記従軸のフィードバック位置とから、前記電子カムの従軸の位置を制御するフィードバック制御系に対して、スライディングモード制御を実行する。
【0008】
ここで、一般にスライディングモード制御は、高追従性と高ロバスト性とを両立する制御方式として知られている。前記制御装置は、例えばカム曲線(前記主軸の位相に対する、理想的な前記従軸の変位)を前記従軸の目標軌跡として、前記従軸の制御にスライディングモード制御を適用する。
【0009】
したがって、前記制御装置は、高追従性と高ロバスト性とを両立するスライディングモード制御を前記従軸の制御に適用することによって、前記従軸の制御について、高追従性と高ロバスト性とを実現することができるとの効果を奏する。
【0010】
特に、前記制御装置は、前記主軸の始動時および停止時の加減速、前記主軸の速度変更、そして、前記従軸の負荷変動および機械剛性の特性変化に伴う応答性の変化等に対して、適切な補償を実行し、前記従軸の制御の高追従性を維持できるとの効果を奏する。
【0011】
すなわち、前記制御装置は、前記フィードバック制御系の前記状態方程式に対応する前記パラメータsにより傾斜が指定される切替線を用いて、前記対応位置と、前記フィードバック位置とから、前記フィードバック制御系へのスライディングモード制御を実行する。言い換えれば、前記制御装置は、前記フィードバック制御系の動特性を用いて、前記対応位置と、前記フィードバック位置とから、前記従軸の追従偏差を低減するための補正量を実時間で逐次算出する。つまり、前記制御装置は、前記フィードバック制御系の動特性を用いて、前記対応位置と、前記フィードバック位置とから、前記主軸の速度変更、そして、前記従軸の負荷変動および機械剛性の特性変化に伴う応答性の変化等に対する補償を実行する。そして、前記制御装置は、算出した補正量を前記対応位置に重畳して得る指令値を、前記フィードバック制御系に出力する。
【0012】
したがって、前記制御装置は、実際の稼働時における負荷および機械特性等の変化に対応する適切な補償を実行し、高追従性と高ロバスト性とを両立した前記従軸の制御を実現することができるとの効果を奏する。
【0013】
さらに、前記制御装置は、前記フィードバック制御系の状態方程式から予め求めておいたパラメータsにより傾斜が指定される切替線を用いて、前記スライディングモード制御を実行するので、前記従軸の制御に係る調整工数を低減できるとの効果を奏する。
【0014】
本発明の一態様に係る制御装置において、前記スライディングモード制御部は、前記対応位置と前記フィードバック位置との偏差である位置偏差、および、前記位置偏差を時間微分して算出した速度偏差が、前記切替線に収束し、前記位置偏差および前記速度偏差が前記切替線を通って0に収束するように、前記スライディングモード制御を実行してもよい。
【0015】
前記の構成によれば、前記制御装置は、前記電子カムの前記従軸の位置を制御する前記フィードバック制御系に対して、前記位置偏差および前記速度偏差が、前記切替線に収束し、前記位置偏差および前記速度偏差が前記切替線を通って0に収束するように、前記スライディングモード制御を実行する。
【0016】
したがって、前記制御装置は、高追従性と高ロバスト性とを両立するスライディングモード制御を前記従軸の制御に適用することによって、前記従軸の制御について、高追従性と高ロバスト性とを実現することができるとの効果を奏する。
【0017】
特に、前記制御装置は、前記切替線を用いて、前記対応位置と、前記フィードバック位置とから、前記フィードバック制御系へのスライディングモード制御を実行する。したがって、前記制御装置は、実際の稼働時における負荷および機械特性等の変化に対応する適切な補償を実行し、高追従性と高ロバスト性とを両立した前記従軸の制御を実現することができるとの効果を奏する。
【0018】
本発明の一態様に係る制御装置において、前記スライディングモード制御部は、前記スライディングモード制御の実行によって生成した速度指令を、前記指令値として前記フィードバック制御系に出力してもよい。
【0019】
前記の構成によれば、前記制御装置は、前記スライディングモード制御を実行して生成した前記速度指令を、前記フィードバック制御系に出力する。
【0020】
ここで、一般に、前記フィードバック制御系における速度制御ループの制御周期は、前記制御装置による前記フィードバック制御系への制御周期(つまり、前記速度指令を前記フィードバック制御系に送信する周期)よりも早い。
【0021】
前記制御装置は、自装置から前記フィードバック制御系への制御周期よりも高速な制御周期で実行される、前記フィードバック制御系における速度制御ループへ、前記速度指令を出力することによって、前記速度制御ループによる摩擦補償の効果を実現する。したがって、前記制御装置は、自装置と前記フィードバック制御系とによって実現する制御の全体について、前記速度制御ループによる摩擦補償の効果を実現し、外乱へのロバスト性を向上させることができるとの効果を奏する。
【0022】
上記の課題を解決するために、本発明の一態様に係る制御方法は、電子カムの主軸の位置から、前記電子カムの従軸の位置を制御するフィードバック制御系に出力する指令値を生成する制御装置の制御方法であって、前記主軸の位置に対応する前記従軸の位置である対応位置を演算するカム演算ステップと、前記指令値に対する前記フィードバック制御系の状態方程式から予め求めておいたパラメータsにより傾斜が指定される切替線を用いて、前記カム演算ステップにて演算された前記対応位置と、前記フィードバック制御系から取得する前記従軸のフィードバック位置とから、前記フィードバック制御系に対するスライディングモード制御を実行するスライディングモード制御ステップと、を含むことを特徴としている。
【0023】
前記の方法によれば、前記制御方法は、前記主軸の位置に対応する前記従軸の位置である前記対応位置と、前記フィードバック制御系から取得する前記従軸のフィードバック位置とから、前記電子カムの従軸の位置を制御するフィードバック制御系に対して、スライディングモード制御を実行する。
【0024】
ここで、一般にスライディングモード制御は、高追従性と高ロバスト性とを両立する制御方式として知られている。前記制御方法は、例えばカム曲線(前記主軸の位相に対する、理想的な前記従軸の変位)を前記従軸の目標軌跡として、前記従軸の制御にスライディングモード制御を適用する。
【0025】
したがって、前記制御方法は、高追従性と高ロバスト性とを両立するスライディングモード制御を前記従軸の制御に適用することによって、前記従軸の制御について、高追従性と高ロバスト性とを実現することができるとの効果を奏する。
【0026】
特に、前記制御方法は、前記主軸の始動時および停止時の加減速、前記主軸の速度変更、そして、前記従軸の負荷変動および機械剛性の特性変化に伴う応答性の変化等に対して、適切な補償を実行し、前記従軸の制御の高追従性を維持できるとの効果を奏する。
【0027】
すなわち、前記制御方法は、前記フィードバック制御系の前記状態方程式に対応する前記パラメータsにより傾斜が指定される切替線を用いて、前記対応位置と、前記フィードバック位置とから、前記フィードバック制御系へのスライディングモード制御を実行する。言い換えれば、前記制御方法は、前記フィードバック制御系の動特性を用いて、前記対応位置と、前記フィードバック位置とから、前記従軸の追従偏差を低減するための補正量を実時間で逐次算出する。つまり、前記制御方法は、前記フィードバック制御系の動特性を用いて、前記対応位置と、前記フィードバック位置とから、前記主軸の速度変更、そして、前記従軸の負荷変動および機械剛性の特性変化に伴う応答性の変化等に対する補償を実行する。そして、前記制御方法は、算出した補正量を前記対応位置に重畳して得る指令値を、前記フィードバック制御系に出力する。
【0028】
したがって、前記制御方法は、実際の稼働時における負荷および機械特性等の変化に対応する適切な補償を実行し、高追従性と高ロバスト性とを両立した前記従軸の制御を実現することができるとの効果を奏する。
【0029】
さらに、前記制御方法は、前記フィードバック制御系の状態方程式から予め求めておいたパラメータsにより傾斜が指定される切替線を用いて、前記スライディングモード制御を実行するので、前記従軸の制御に係る調整工数を低減できるとの効果を奏する。
【発明の効果】
【0030】
本発明の一態様によれば、電子カム制御について、実際の稼働時における負荷および機械特性等の変化に対応する適切な補償を実行し、高追従性と高ロバスト性とを両立した従軸の制御を実現することができるという効果を奏する。
【図面の簡単な説明】
【0031】
図1】本発明の実施形態1に係るコントローラ等の要部構成を示すブロック図である。
図2図1のコントローラが実行する処理の概要を示すフロー図である。
図3】シミュレーション例1およびシミュレーション例2において実現すべき電子カムのカム曲線を示す図である。
図4図3のカム曲線について、主軸速度が周期的に変動する場合の主軸の速度および対応する従軸の速度の一例を示す図である。
図5図3のカム曲線を実現しようとする従来までの電子カム制御装置および図1のコントローラについて、主軸速度が周期的に変動する場合の従軸制御の結果を示す図である。
図6図5に示した従来までの電子カム制御装置および図1のコントローラの各々の従軸追従偏差について、その二乗平均を整理して示す図である。
図7】負荷機械の剛性が低い場合に、従軸制御について補正を行なわない装置、進角補正を行なう装置、および図1のコントローラによる従軸制御の結果を示す図である。
【発明を実施するための形態】
【0032】
〔実施形態1〕
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。以下では、機械および設備等の制御対象を制御するコントローラ100を、制御装置の典型例として説明を行う。コントローラ100は、電子カム制御を実行する制御装置であって、例えばPLC(プログラマブル・ロジック・コントローラ、Programmable Logic Controller)である。
【0033】
§1.適用例
主軸の回転位置をもとにサーボモータを制御して従軸の位置を制御する電子カム制御において、従来、追従性を向上する種々の手段が講じられてきた。しかしながら、進角補正などの従来の技術は、予め決めておいた補正量または補正演算式を、従軸を制御するサーボドライバに与えるオープンループ制御である。そのため、従来の技術では、実際の稼働状態において発生する、負荷および機械特性等の変動(=変化)に適切に対応することができない。
【0034】
そこで、コントローラ100は、カム曲線から生成する「従軸に対する指令値」に対して、従軸の駆動をフィードバック制御するフィードバック制御系200の動特性をもとに、従軸の追従偏差を低減するための補正量を実時間で計算する。そして、コントローラ100は、その計算結果を「従軸に対する指令値」に重畳してフィードバック制御系200に与える。
【0035】
つまり、コントローラ100は、主軸の速度、フィードバック制御系200の負荷および機械剛性など、電子カム制御における変動要素に対して、フィードバック制御系200の動特性をもとに、従軸が追従するために必要な補正量を逐次計算する。したがって、コントローラ100は、従軸の制御について追従性を向上させることができる。また、コントローラ100は、予め算出しておいたフィードバック制御系200の動特性をもとに、従軸を制御するので、従軸の制御に係る調整工数を低減することができる。
【0036】
コントローラ100は、フィードバック制御系200からのフィードバック値を用いたクローズループ制御(閉ループ制御)をフィードバック制御系200に対して実行する。具体的には、コントローラ100は、フィードバック制御系200からのフィードバック値(例えば、フィードバック位置)をもとに、カム演算により演算した位置指令(=カム動作指令)に対して従軸の追従性を向上させた指令値(例えば、速度指令)を生成し、生成した指令値を、フィードバック制御系200に与える。ここで特に、コントローラ100は、フィードバック制御系200からのフィードバック値を用いたスライディングモード制御を、フィードバック制御系200に対して実行する。
【0037】
§2.構成例
図1は、コントローラ100等の要部構成を示すブロック図である。以下、コントローラ100についての理解を容易にするため、先ず、コントローラ100を含む制御システム1の概要について説明する。
【0038】
(制御システムの概要)
図1に例示する制御システム1は、上位コントローラであるコントローラ100と、コントローラ100により制御されるフィードバック制御系200と、を含んでいる。
【0039】
フィードバック制御系200は、サーボドライバ210と、サーボドライバ210によって駆動を制御されるモータ250(および、不図示の負荷機械)と、を含むフィードバック制御系である。コントローラ100とサーボドライバ210とは通信可能に接続されており、その接続方式は、任意の有線接続方式または無線接続方式である。
【0040】
サーボドライバ210は、コントローラ100から所定の制御周期(従軸側制御周期)ごとに受け付ける「従軸についての指令値」に従って、モータ250の出力(つまり、従軸の位置)を制御するフィードバック制御装置である。サーボドライバ210は、コントローラ100からの「従軸についての指令値(例、速度指令)」を目標値とし、実測値(例、フィードバック位置を時間微分したフィードバック速度)をフィードバック値として、モータ250にフィードバック制御を行う。すなわち、サーボドライバ210は、実測値が目標値に近づくように、モータ250を駆動するための電流を調整する。なお、サーボドライバ210は、サーボモータアンプと称されることもある。
【0041】
図1のサーボドライバ210は、指令解析部220と、速度制御部230と、トルク制御部240とを備えている。指令解析部220は、コントローラ100からの「従軸についての指令値(例、速度指令)」を受け付け、受け付けた指令値を速度制御部230へ出力し、また、受け付けた指令値を解析して算出する算出トルクをトルク制御部240へ出力する。速度制御部230は、比例積分制御(PI制御)を行なう。具体的には、速度制御部230は、指令解析部220がコントローラ100から受け付けた速度指令と、不図示の微分器がエンコーダ260からのフィードバック位置に基づいて算出したフィードバック速度との偏差である速度偏差から、トルク指令を出力する。トルク制御器240は、指令解析部220からの算出トルクと、速度制御部230により生成されたトルク指令とに基づいて、サーボモータ30を制御する。
【0042】
モータ250は、サーボドライバ210によって駆動を制御され、例えば、不図示の負荷機械(メカ)を駆動する。エンコーダ260は、モータ250の位置を検出し、例えば、モータ250の回転角度を検出する。エンコーダ260は、検出した位置を、コントローラ100およびサーボドライバ210に送信する。つまり、エンコーダ260により検出されたモータ250の出力(つまり、モータ250の位置)は、従軸の位置のフィードバック値(「フィードバック位置」とも称する)として、コントローラ100およびサーボドライバ210の各々へ入力される。
【0043】
コントローラ100(制御装置)は、フィードバック制御系200を含む制御システム1の全体を制御し、例えば、プログラマブルコントローラ(PLC、Programmable Logic Controller)である。コントローラ100は、電子カム制御装置であり、例えば、電子カムの主軸の位置から、電子カムの従軸の位置を制御するフィードバック制御系200に出力する指令値を生成する制御装置である。具体的には、コントローラ100は、主軸の回転位置をもとに、サーボドライバ210を介してモータ250の駆動を制御して、カム動作を行わせる。
【0044】
コントローラ100は、フィードバック制御系200の動特性を用いたフィードバック制御を、フィードバック制御系200に対して実行する。すなわち、コントローラ100は、「主軸の回転位置から演算した従軸の移動指令」と、「現時点、あるいはそれ以前の『フィードバック位置』」とから、フィードバック制御系200の動特性に基づき、フィードバック制御系200への指令値を生成する。
【0045】
具体的には、コントローラ100は、フィードバック制御系200からのフィードバック位置が従軸の移動指令に一致するように、補正値を逐次(つまり、制御周期ごとに)生成する。そして、コントローラ100は、生成した補正値を重畳させた指令値を制御周期ごとにフィードバック制御系200へと出力する。なお、「主軸の回転位置から演算した従軸の移動指令」は、「本来のカム曲線」と言い換えてもよい。
【0046】
ここで、コントローラ100は、フィードバック制御系200に対するフィードバック制御に用いる「フィードバック制御系200の動特性」として、以下の値を用いる。すなわち、コントローラ100は、フィードバック制御系200への指令値(例えば、位置あるいは速度のステップ状指令)に対する、フィードバック制御系200の応答動作の時定数を、「フィードバック制御系200の動特性」として用いる。
【0047】
具体的には、コントローラ100は、「指令値に対する、フィードバック制御系200の応答動作の時定数」から決定されるフィードバック制御系200の状態方程式をもとに、スライディングモード制御に用いる切替線の傾斜を指定するパラメータsを予め求めておく。そして、コントローラ100は、パラメータsに対応する切替線を用いて、「主軸の回転位置から演算した従軸の移動指令」と、「現時点、あるいはそれ以前の『フィードバック位置』」とから、フィードバック制御系200にスライディングモード制御を実行する。
【0048】
コントローラ100は、「主軸の回転位置から演算した従軸の移動指令(位置指令)」に対する従軸の実際の位置(=フィードバック位置)との偏差である位置偏差を求め、さらに、位置偏差を時間微分して得られる速度偏差を求める。コントローラ100は、求めた位置偏差と速度偏差とを用いて、フィードバック制御系200にスライディングモード制御を実行する。
【0049】
ここで、フィードバック制御系200における速度制御ループの制御周期は、コントローラ100によるフィードバック制御系200への制御周期(つまり、速度指令をフィードバック制御系200に送信する周期)よりも早い。
【0050】
そこで、コントローラ100は、「スライディングモード制御の実行によって得られた速度指令」を、フィードバック制御系200に出力する。つまり、コントローラ100は、自装置からフィードバック制御系200への制御周期よりも高速な制御周期で実行される、フィードバック制御系200における速度制御ループへ、速度指令を出力する。
【0051】
コントローラ100は、フィードバック制御系200に速度指令を出力することによって、フィードバック制御系200の速度制御ループによる摩擦補償の効果を利用することができる。したがって、コントローラ100は、自装置とフィードバック制御系200とを含む制御システム1の制御全体について、フィードバック制御系200の速度制御ループによる摩擦補償の効果を利用して、外乱へのロバスト性を向上させる。
【0052】
(コントローラの概要)
これまで、制御システム1、およびコントローラ100の概要を説明してきた。ここで、コントローラ100の詳細を説明する前に、コントローラ100についての理解を容易にするため、コントローラ100の概要について、以下のように整理しておく。
【0053】
コントローラ100は、電子カムの主軸の位置から、電子カムの従軸の位置を制御するフィードバック制御系200に出力する指令値を生成する制御装置であって、カム演算部110と、スライディングモード制御部120とを備えている。カム演算部110は、「電子カムの主軸の位置」に対応する、「電子カムの従軸の位置」である対応位置を演算する。スライディングモード制御部120は、「フィードバック制御系200に出力する指令値に対する、フィードバック制御系200の状態方程式」から予め求めておいたパラメータsにより傾斜が指定される切替線を用いて、フィードバック制御系200に対するスライディングモード制御を実行する。特に、スライディングモード制御部120は、カム演算部110により演算された対応位置と、フィードバック制御系200から取得する従軸のフィードバック位置とから、フィードバック制御系200に対するスライディングモード制御を実行する。
【0054】
前記の構成によれば、コントローラ100は、「電子カムの主軸の位置」に対応する、「電子カムの従軸の位置」である対応位置と、フィードバック制御系200から取得する「従軸のフィードバック位置」とから、電子カムの従軸の位置を制御するフィードバック制御系200に対して、スライディングモード制御を実行する。
【0055】
ここで、一般にスライディングモード制御は、高追従性と高ロバスト性とを両立する制御方式として知られている。コントローラ100は、例えばカム曲線(主軸の位相に対する、従軸の理想的な変位)を「従軸の目標軌跡」として、従軸の制御にスライディングモード制御を適用する。
【0056】
したがって、コントローラ100は、高追従性と高ロバスト性とを両立するスライディングモード制御を従軸の制御に適用することによって、従軸の制御について、高追従性と高ロバスト性とを実現することができるとの効果を奏する。
【0057】
特に、コントローラ100は、主軸の始動時および停止時の加減速、主軸の速度変更、そして、従軸の負荷変動および機械剛性の特性変化に伴う応答性の変化等に対して、適切な補償を実行し、従軸の制御の高追従性を維持できるとの効果を奏する。
【0058】
すなわち、コントローラ100は、フィードバック制御系200の状態方程式に対応するパラメータsにより傾斜が指定される切替線を用いて、前記対応位置と、前記フィードバック位置とから、フィードバック制御系200へのスライディングモード制御を実行する。言い換えれば、コントローラ100は、フィードバック制御系200の動特性を用いて、前記対応位置と、前記フィードバック位置とから、従軸の追従偏差を低減するための補正量を実時間で逐次算出する。つまり、コントローラ100は、フィードバック制御系200の動特性を用いて、前記対応位置と、前記フィードバック位置とから、主軸の速度変更、そして、従軸の負荷変動および機械剛性の特性変化に伴う応答性の変化等に対する補償を実行する。そして、コントローラ100は、算出した補正量を前記対応位置に重畳して得る指令値を、フィードバック制御系200に出力する。
【0059】
したがって、コントローラ100は、実際の稼働時における負荷および機械特性等の変化に対応する適切な補償を実行し、高追従性と高ロバスト性とを両立した従軸の制御を実現することができるとの効果を奏する。
【0060】
さらに、コントローラ100は、フィードバック制御系200の状態方程式から予め求めておいたパラメータsにより傾斜が指定される切替線を用いて、スライディングモード制御を実行するので、従軸の制御に係る調整工数を低減できるとの効果を奏する。
【0061】
コントローラ100において、スライディングモード制御部120は、前記対応位置と前記フィードバック位置との偏差である位置偏差、および、前記位置偏差を時間微分して算出した速度偏差が、前記切替線に収束し、前記位置偏差および前記速度偏差が前記切替線を通って0に収束するように、前記スライディングモード制御を実行する。
【0062】
前記の構成によれば、コントローラ100は、電子カムの従軸の位置を制御するフィードバック制御系200に対して、前記位置偏差および前記速度偏差が、前記切替線に収束し、前記位置偏差および前記速度偏差が前記切替線を通って0に収束するように、スライディングモード制御を実行する。
【0063】
したがって、コントローラ100は、高追従性と高ロバスト性とを両立するスライディングモード制御を従軸の制御に適用することによって、従軸の制御について、高追従性と高ロバスト性とを実現することができるとの効果を奏する。
【0064】
特に、コントローラ100は、前記切替線を用いて、前記対応位置と、前記フィードバック位置とから、フィードバック制御系200へのスライディングモード制御を実行する。したがって、コントローラ100は、実際の稼働時における負荷および機械特性等の変化に対応する適切な補償を実行し、高追従性と高ロバスト性とを両立した前記従軸の制御を実現することができるとの効果を奏する。
【0065】
コントローラ100において、スライディングモード制御部120は、前記スライディングモード制御の実行によって生成した速度指令を、前記指令値としてフィードバック制御系200に出力する。
【0066】
前記の構成によれば、コントローラ100は、前記スライディングモード制御を実行して生成した前記速度指令を、フィードバック制御系200に出力する。
【0067】
ここで、一般に、フィードバック制御系200における速度制御ループの制御周期は、コントローラ100によるフィードバック制御系200への制御周期(つまり、前記速度指令をフィードバック制御系200に送信する周期)よりも早い。
【0068】
コントローラ100は、自装置からフィードバック制御系200への制御周期よりも高速な制御周期で実行される、フィードバック制御系200における速度制御ループへ、前記速度指令を出力することによって、前記速度制御ループによる摩擦補償の効果を実現する。したがって、コントローラ100は、自装置とフィードバック制御系200とによって実現する制御の全体について、前記速度制御ループによる摩擦補償の効果を実現し、外乱へのロバスト性を向上させることができるとの効果を奏する。
【0069】
これまでに概要を整理してきたコントローラ100について、次に、その構成等の詳細について、図1を用いて説明していく。
【0070】
(コントローラの詳細)
図1に示すように、コントローラ100は、機能ブロックとして、カム演算部110と、スライディングモード制御部120と、指令変換部130とを備えている。なお、記載の簡潔性を担保するため、本実施の形態に直接関係のない構成は、説明およびブロック図から省略している。ただし、実施の実情に則して、コントローラ100は、当該省略された構成を備えてもよい。図1に例示した各機能ブロックは、例えば、CPU(central processing unit)などが、ROM(read only memory)、NVRAM(non-Volatile random access memory)等で実現された記憶装置(不図示の記憶部)に記憶されているプログラムを不図示のRAM(random access memory)等に読み出して実行することで実現できる。以下、コントローラ100における各機能ブロックについて説明する。
【0071】
(各機能ブロックの詳細)
カム演算部110は、主軸の位置(位相)(以下、「主軸位置」と略記することがある)を取得し、取得した主軸位置に対応する従軸の位置(変位)(以下、「従軸位置」と略記することがある)を演算する。カム演算部110は、主軸位置から演算した、「主軸位置に対応する従軸位置」を、スライディングモード制御部120に通知する。
【0072】
カム演算部110は、例えば、「主軸の位置(位相)に対して、従軸の位置(変位)を対応付けた配列」である主従関係情報(例えば、いわゆる「カムテーブル」)を用いて、主軸位置に対応する従軸位置を演算する。カム演算部110は、「主軸の位置(位相)に対して、従軸の位置(変位)を対応付けた演算式(例えば、いわゆる「カム演算式」)」を用いて、主軸位置に対応する従軸位置を演算してもよい。カム演算部110は、周知の技術を用いて、主軸位置に対応する従軸位置を演算できればよく、「カム演算部110が、主軸位置から、主軸位置に対応する従軸位置を演算する方法」は、特に限定されない。
【0073】
スライディングモード制御部120は、「『指令値に対する、フィードバック制御系200の状態方程式』から予め求められていたパラメータsにより傾斜が指定される、切替線」を用いて、スライディングモード制御を実行する。すなわち、スライディングモード制御部120は、従軸の位置偏差および速度偏差が、「パラメータsにより傾斜が指定される切替線」に収束し、従軸の位置偏差および速度偏差が「パラメータsにより傾斜が指定される切替線」を通って0に収束するように、フィードバック制御系200に対するスライディングモード制御を実行する。
【0074】
先ず、スライディングモード制御部120は、従軸の位置指令と従軸のフィードバック位置との偏差から、「従軸の位置偏差」を算出する。ここで、スライディングモード制御部120は、カム演算部110から通知される「主軸位置に対応する従軸位置」を従軸の位置指令とし、エンコーダ260の検出した「モータ250の出力(つまり、モータ250の位置)」を、従軸のフィードバック位置とする。つまり、スライディングモード制御部120は、「主軸位置に対応する従軸位置(=位置指令)」と、「モータ250の位置(フィードバック位置)」との偏差から、「従軸の位置偏差」を算出する。次に、スライディングモード制御部120は、算出した「従軸の位置偏差」を時間微分して、「従軸の速度偏差」を算出する。
【0075】
そして、スライディングモード制御部120(特に、制御実行部121)は、算出された「従軸の位置偏差」および「従軸の速度偏差」が、「パラメータsにより傾斜が指定される切替線」に収束し、「従軸の位置偏差」および「従軸の速度偏差」が「パラメータsにより傾斜が指定される切替線」を通って0に収束するように、フィードバック制御系200に対するスライディングモード制御を実行する。具体的には、スライディングモード制御部120は、以下のように、算出した「従軸の位置偏差」および「従軸の速度偏差」に、「パラメータsにより傾斜が指定される切替線」を用いたスライディングモード制御を適用し、速度指令を算出する。すなわち、スライディングモード制御部120は、「横軸に速度偏差、縦軸に位置偏差をとる位相平面PP」を考え、算出した「従軸の位置偏差」および「従軸の速度偏差」を、位相平面PP上にプロットする。そして、スライディングモード制御部120は、位相平面PP上にプロットした「従軸の位置偏差」および「従軸の速度偏差」が、位相平面PP上に描いた「パラメータsにより傾斜が指定される切替線」に収束し、「従軸の位置偏差」および「従軸の速度偏差」が「パラメータsにより傾斜が指定される切替線」を通って0に収束するのに必要な速度(=速度指令)を算出する。
【0076】
スライディングモード制御部120は、従軸の位置偏差および速度偏差から「パラメータsにより傾斜が指定される切替線」を用いて算出した「速度指令」を、指令変換部130に出力する。
【0077】
なお、上述の説明では、スライディングモード制御部120が「従軸の位置偏差」を時間微分して、「従軸の速度偏差」を算出する例を説明したが、スライディングモード制御部120による「従軸の速度偏差」の算出方法はこれに限られるものではない。
【0078】
スライディングモード制御部120は、例えば、カム演算部110により演算された「主軸位置に対応する従軸位置」を時間微分して、「従軸の速度指令」を算出してもよい。同様に、スライディングモード制御部120は、例えば、エンコーダ260の検出した「モータ250の位置」を時間微分して、「従軸のフィードバック速度」を算出してもよい。そして、スライディングモード制御部120は、算出した「従軸の速度指令」と「従軸のフィードバック速度」との偏差から、「従軸の速度偏差」を算出してもよい。
【0079】
指令変換部130は、スライディングモード制御部120から受け付けた速度指令を、サーボドライバ210の指令解析部220が受け付け可能な適切な形態に変換して、サーボドライバ210へと出力する。「指令解析部220が受け付け可能な適切な形態」とは、例えば、アナログ電圧による速度指令、および、通信データに含まれる速度指令などである。
【0080】
(記憶部についての補足)
コントローラ100は、コントローラ100が使用する各種データを格納する記憶装置として、不図示の記憶部を備えていてもよい。そのような記憶部は、コントローラ100が実行する(1)制御プログラム、(2)OSプログラム、(3)コントローラ100が有する各種機能を実行するためのアプリケーションプログラム、および、(4)該アプリケーションプログラムを実行するときに読み出す各種データを非一時的に記憶してもよい。上記の(1)~(4)のデータは、例えば、ROM(read only memory)、フラッシュメモリ、EPROM(Erasable Programmable ROM)、EEPROM(登録商標)(Electrically EPROM)、HDD(Hard Disc Drive)等の不揮発性記憶装置に記憶されてもよい。さらに、コントローラ100は、前述のような記憶部とは別に、不図示の一時記憶部を備えていてもよい。一時記憶部は、コントローラ100が実行する各種処理の過程で、演算に使用するデータおよび演算結果等を一時的に記憶するいわゆるワーキングメモリであり、RAM(Random Access Memory)などの揮発性記憶装置で構成されてもよい。どのデータをどの記憶装置に記憶するのかについては、コントローラ100の使用目的、利便性、コスト、または、物理的な制約などから適宜決定される。前述のような記憶部は、予め算出される、「フィードバック制御系200への指令値に対する、フィードバック制御系200の状態方程式」を格納していてもよい。また、前述のような記憶部は、「フィードバック制御系200への指令値に対する、フィードバック制御系200の状態方程式」から求められる、「スライディングモード制御に用いる切替線の傾斜を指定するパラメータs」を格納していてもよい。
【0081】
§3.動作例
図2は、コントローラ100が実行する処理の全体概要を示すフロー図である。図2に示すように、コントローラ100は、予め、フィードバック制御系200の状態方程式
【0082】
【数1】
【0083】
から、この状態方程式に対するスライディングモード切替平面S(切替線)を算出しておく(S410)。すなわち、コントローラ100は、予め「フィードバック制御系200への指令値に対する、フィードバック制御系200の応答動作の時定数」を算出しておく。そして、コントローラ100は、算出した「フィードバック制御系200への指令値に対する、フィードバック制御系200の応答動作の時定数」から決定されるフィードバック制御系200の状態方程式をもとに、「スライディングモード制御に用いる切替線(切替平面S)の傾斜を指定するパラメータs」を求める。
【0084】
前記状態方程式において、AおよびBは、各々、フィードバック制御系200の動特性を表すパラメータである。また、Rは、「フィードバック制御系200への指令値(例えば、位置指令)の時間的な変化に対して、フィードバック制御系200の動特性に基づいて計算される」フィードフォワード項である。コントローラ100は、前記状態方程式に対して、「スライディングモード制御に用いる切替線(切替平面S)の傾斜を指定するパラメータs」を予め算出しておく。
【0085】
なお、フィードバック制御系200の状態方程式を決定する方法は周知である。例えば、フィードバック制御系200の応答動作の時定数から、フィードバック制御系200の状態方程式を算出することができる。コントローラ100は、周知の方法を用いて、「フィードバック制御系200の状態方程式」を算出する。
【0086】
同様に、「フィードバック制御系の状態方程式」から、「そのフィードバック制御系に適用するスライディングモード制御に用いる、切替線(切替平面S)の傾斜を指定するパラメータs」の算出方法についても周知である。コントローラ100は、周知の算出方法を用いて、「フィードバック制御系200の状態方程式」から、「スライディングモード制御に用いる切替線(切替平面S)の傾斜を指定するパラメータs」を求める。
【0087】
コントローラ100は、自装置が電子カム制御を実行できる状態にあるか(つまり、電子カム制御が有効であるか)を確認する。例えば、コントローラ100は、フィードバック制御系200への制御を実行できる状態にあるか、つまり、「フィードバック制御系200の状態方程式」を算出済みであるかを確認する(S420)。
【0088】
コントローラ100は、自装置が電子カム制御を実行できる状態にない(つまり、電子カム制御が有効でない)と判定すると(S420でNo)、電子カム制御の実行を開始せず、処理を終了する。コントローラ100は、例えば、「フィードバック制御系200の状態方程式」を未だ算出していないと判定すると、電子カム制御の実行を開始せず、処理を終了する。
【0089】
コントローラ100は、自装置が電子カム制御を実行できる状態にある(つまり、電子カム制御が有効である)と判定すると(S420でYes)、コントローラ100は、電子カム演算を実行する(S430)。具体的には、カム演算部110が、主軸位置(=主軸位相)に対する従軸変位(=従軸位置)の計算を実行し、つまり、主軸位置に対応する従軸位置を演算する。カム演算部110は、主軸位置から演算した、「主軸位置に対応する従軸位置」を、スライディングモード制御部120に通知する。
【0090】
コントローラ100は、従軸の変位(=従軸変位。つまり、「従軸のフィードバック位置」)を時間微分して従軸の速度(=従軸速度。つまり、「従軸のフィードバック速度」)を算出する(S440)。具体的には、スライディングモード制御部120が、エンコーダ260の検出した「モータ250の位置(=従軸のフィードバック位置)」を時間微分して、「従軸のフィードバック速度」を算出する。
【0091】
コントローラ100(具体的には、スライディングモード制御部120)は、カム演算部110により演算された「主軸位置に対応する従軸位置」を時間微分して算出した「従軸の速度指令」と「従軸のフィードバック速度」とから、「従軸の速度偏差」を算出する。また、スライディングモード制御部120は、カム演算部110により演算された「主軸位置に対応する従軸位置(=従軸の位置指令)」と従軸のフィードバック位置とから、「従軸の位置偏差」を算出する。
【0092】
コントローラ100(具体的には、スライディングモード制御部120)は、「従軸の位置偏差」および「従軸の速度偏差」から、S410で算出した切替平面Sを用いたスライディングモード制御を実行して、「速度指令」を算出する(S450)。そして、コントローラ100(具体的には、指令変換部130)は、スライディングモード制御部120の算出した「速度指令」を、サーボドライバ210の速度制御ループに与える(S460)。コントローラ100は、制御が終了するまで、S420からS460までの処理を、制御周期ごとに繰り返す。
【0093】
これまでに図2を用いて説明してきた、コントローラ100の実行する制御方法は、以下のように整理することができる。すなわち、コントローラ100の実行する制御方法は、電子カムの主軸の位置から、電子カムの従軸の位置を制御するフィードバック制御系(例えば、フィードバック制御系200)に出力する指令値を生成する制御装置の制御方法である。コントローラ100の実行する制御方法は、「電子カムの主軸の位置」に対応する、「電子カムの従軸の位置」である対応位置を演算するカム演算ステップ(S430)と、「フィードバック制御系200の状態方程式」から予め求めておいたパラメータsにより傾斜が指定される切替線を用いて、前記カム演算ステップにて演算された「前記対応位置」と、フィードバック制御系200から取得する「従軸のフィードバック位置」とから、フィードバック制御系200に対するスライディングモード制御を実行するスライディングモード制御ステップ(S450)と、を含む。
【0094】
前記の方法によれば、前記制御方法は、「電子カムの主軸の位置」に対応する、「電子カムの従軸の位置」である対応位置と、フィードバック制御系200から取得する従軸のフィードバック位置とから、電子カムの従軸の位置を制御するフィードバック制御系200に対して、スライディングモード制御を実行する。
【0095】
ここで、一般にスライディングモード制御は、高追従性と高ロバスト性とを両立する制御方式として知られている。前記制御方法は、例えばカム曲線(電子カムの主軸の位相に対する、電子カムの従軸の理想的な変位)を「従軸の目標軌跡」として、従軸の制御にスライディングモード制御を適用する。
【0096】
したがって、前記制御方法は、高追従性と高ロバスト性とを両立するスライディングモード制御を従軸の制御に適用することによって、従軸の制御について、高追従性と高ロバスト性とを実現することができるとの効果を奏する。
【0097】
特に、前記制御方法は、主軸の始動時および停止時の加減速、主軸の速度変更、そして、従軸の負荷変動および機械剛性の特性変化に伴う応答性の変化等に対して、適切な補償を実行し、従軸の制御の高追従性を維持できるとの効果を奏する。
【0098】
すなわち、前記制御方法は、フィードバック制御系200の前記状態方程式に対応するパラメータsにより傾斜が指定される切替線を用いて、前記対応位置と、前記フィードバック位置とから、フィードバック制御系200へのスライディングモード制御を実行する。言い換えれば、前記制御方法は、フィードバック制御系200の動特性を用いて、前記対応位置と、前記フィードバック位置とから、従軸の追従偏差を低減するための補正量を実時間で逐次算出する。つまり、前記制御方法は、フィードバック制御系200の動特性を用いて、前記対応位置と、前記フィードバック位置とから、主軸の速度変更、そして、従軸の負荷変動および機械剛性の特性変化に伴う応答性の変化等に対する補償を実行する。そして、前記制御方法は、算出した補正量を前記対応位置に重畳して得る指令値を、フィードバック制御系200に出力する。
【0099】
したがって、前記制御方法は、実際の稼働時における負荷および機械特性等の変化に対応する適切な補償を実行し、高追従性と高ロバスト性とを両立した従軸の制御を実現することができるとの効果を奏する。
【0100】
さらに、前記制御方法は、フィードバック制御系200の状態方程式から予め求めておいたパラメータsにより傾斜が指定される切替線を用いて、スライディングモード制御を実行するので、従軸の制御に係る調整工数を低減できるとの効果を奏する。
【0101】
〔本実施形態に係るコントローラが奏する効果〕
これまでに説明してきたコントローラ100が奏する効果について、以下に図3から図7を用いて説明していく。具体的には、主軸の速度が変動する場合の従軸の制御を検証するシミュレーション例1、および、モータ250等により駆動される負荷機械の剛性を低くした場合の従軸の制御を検証するシミュレーション例2について、以下に詳細を説明していく。
【0102】
(シミュレーション例1)
図3は、シミュレーション例1およびシミュレーション例2において実現すべき電子カムのカム曲線を示す図であり、横軸は「主軸の位置(=主軸位相)」であり、縦軸は「従軸の位置(=従軸変位)」である。なお、図3に示すカム曲線は、シミュレーション例1およびシミュレーション例2に用いるカム曲線の例であって、コントローラ100が実現可能なカム曲線は、図3に示すカム曲線に限定されるものではない。
【0103】
図4は、図3のカム曲線について、主軸の速度が周期的に変動する場合の主軸の速度および対応する従軸の速度の一例を示す図であり、具体的には、主軸の速度が0.4(Hz)で「0」から「Vmax」まで周期的に変動する場合について示している。図4において、横軸は「時間」であり、縦軸は「主軸および従軸の速度」であり、点線で示す曲線は「主軸の速度(=主軸速度)」を、実線で示す曲線は「従軸の速度(=従軸速度)」を示している。
【0104】
シミュレーション例1では、「主軸の速度が、『0』から『Vmax』まで、『f/T(Hz)』の周期で、周期的に変動する」場合について、従来までの電子カム制御装置と比較して、コントローラ100による従軸の制御を検証する。「主軸の速度が、『0』から『Vmax』まで、『f/T(Hz)』の周期で、周期的に変動する」場合、主軸の速度Vmasterは、
【0105】
【数2】
【0106】
と表すことができる。前述の通り、図4は、主軸の速度が周期的に変動する場合のうち特に、主軸の速度の変動周期が「f/T=0.4(Hz)」である場合の、主軸の速度および対応する従軸の速度を示している。
【0107】
図5は、図3のカム曲線を実現しようとする従来(=従来までの電子カム制御装置)およびコントローラ100について、主軸速度が周期的に変動する場合の従軸制御の結果を示す図である。図5において、横軸は「時間」であり、縦軸は、「従来までの電子カム制御装置およびコントローラ100による、図3のカム曲線に対する従軸の追従偏差」である。図5の(A)、(B)、および(C)は各々、主軸の速度の変動周期が「0.4(Hz)」、「1.0(Hz)」、「2.0(Hz)」である場合の、従来までの電子カム制御装置およびコントローラ100による、図3のカム曲線に対する従軸の追従偏差を示している。なお、図5の検証結果について、「従来までの電子カム制御装置」は進角補正を実施する電子カム制御装置であるものとする。
【0108】
図5の上段に示すように、進角補正を実施する「従来までの電子カム制御装置」は、主軸の速度の変動が穏やかなうちは、従軸について良好な制御を実現できているが、主軸の速度の変動が激しくなるにしたがって、従軸を主軸に追従させることができなくなる。すなわち、主軸の速度の変動周期が「0.4(Hz)」である時、「従来までの電子カム制御装置」の「図3のカム曲線に対する従軸の追従偏差」は「-0.2」から「+0.2」までの間に収まっている。しかしながら、主軸の速度の変動周期が「1.0(Hz)」になると、「従来までの電子カム制御装置」の「図3のカム曲線に対する従軸の追従偏差」は大きくなり、「-0.2」から「+0.2」までの間には収まらない。そして、主軸の速度の変動周期が「2.0(Hz)」になると、「従来までの電子カム制御装置」の「図3のカム曲線に対する従軸の追従偏差」はさらに大きくなり、「-0.8」から「+0.8」までの間で大きく振動してしまっている。
【0109】
これに対して、図5の下段に示すように、コントローラ100は、主軸の速度の変動周期が大きくなっても、従軸について良好な制御を実現できている。すなわち、主軸の速度の変動周期が「0.4(Hz)」、「1.0(Hz)」、「2.0(Hz)」である場合のいずれについても、コントローラ100の「図3のカム曲線に対する従軸の追従偏差」は「-0.2」から「+0.2」までの間に収まっている。つまり、コントローラ100は、主軸の速度の変動が激しくなったとしても(つまり、主軸の速度が急激に変化したとしても)、従軸を正確に主軸に追従させることができる。したがって、コントローラ100は、主軸の始動時および停止時の加減速、主軸の速度変更に対して、従軸の制御について適切な補償を実行し、従軸の制御の高追従性を維持することができることが判明した。
【0110】
図6は、図5に示した「従来(=従来までの電子カム制御装置)」およびコントローラ100の各々の従軸追従偏差について、その二乗平均を整理して示す図である。図6において、横軸は「主軸の速度の変動周波数(×0.1(Hz))」であり、縦軸は「従来までの電子カム制御装置およびコントローラ100による、図3のカム曲線に対する従軸の追従偏差の二乗平均」である。図6において、バツ印を結ぶ折れ線は、「コントローラ100による、図3のカム曲線に対する従軸の追従偏差の二乗平均」を、三角印を結ぶ折れ線は、「従来までの電子カム制御装置による、図3のカム曲線に対する従軸の追従偏差の二乗平均」を示している。
【0111】
図6に示す通り、主軸の速度の変動周期が、「0.4(Hz)」、「1.0(Hz)」、「2.0(Hz)」と順に大きくなるにしたがって、「従来までの電子カム制御装置による、図3のカム曲線に対する従軸の追従偏差の二乗平均」は大きくなっている。つまり、進角補正を実施する「従来までの電子カム制御装置」は、主軸の速度の変動が激しくなるにしたがって、従軸を主軸に追従させることができなくなる。
【0112】
これに対して、コントローラ100は、主軸の速度の変動周期が、「0.4(Hz)」、「1.0(Hz)」、「2.0(Hz)」と大きくなっても、「従来までの電子カム制御装置による、図3のカム曲線に対する従軸の追従偏差の二乗平均」はほぼ一定である。つまり、コントローラ100は、主軸の速度の変動周期が大きくなっても、従軸の制御について適切な補償を実行し、従軸の制御の高追従性を維持することができている。
【0113】
(シミュレーション例2)
図7は、負荷機械の剛性が低い場合に、従軸制御について補正を行なわない装置、進角補正を行なう装置、およびコントローラ100による従軸制御の結果を示す図である。ここで、「従軸制御について補正を行なわない装置」とは、「従軸の制御について、進角補正を含む何らかの補正をまったく実行しない、従来までの電子カム制御装置」である。また、「進角補正を行なう装置」とは、「従軸の制御について進角補正を実行する、従来までの電子カム制御装置」である。前述の通り、シミュレーション例2では、モータ250等により駆動される負荷機械の剛性を低くした場合の従軸の制御を検証する。具体的には、シミュレーション例2では、負荷状態(つまり、負荷機械の剛性)および主軸の速度を一定として、サーボ系(例えば、フィードバック制御系200)のゲインを低くすることによって、「負荷機械の剛性が低い」状態を擬似的に作り出した。
【0114】
図7において、横軸は「主軸の位置(=主軸位相)」であり、縦軸は「従軸の位置(=従軸変位)」である。図7の(A)、(B)、および(C)の各々において実線で示す曲線は、「主軸位相に対する、理想的な従軸変位を示す曲線(つまり、本来のカム曲線)」を示している。また、図7の(A)、(B)、および(C)の各々において点線で示す曲線は、「負荷機械の剛性が低い」状態における、従軸制御について補正を行なわない装置、進角補正を行なう装置、およびコントローラ100による、主軸位相に対する従軸変位を示している。
【0115】
図7の(A)において、点線で示す、「従軸制御について補正を行なわない装置による、主軸位相に対する従軸変位」は、実線で示す「本来のカム曲線」から大きく乖離している。つまり、「負荷機械の剛性が低い」状態において、従軸制御について補正を行なわない装置による「主軸位相に対する従軸変位」は、「本来のカム曲線」から大きく乖離し、つまり、大きな追従遅れが発生している。
【0116】
「負荷機械の剛性が低い」状態において、点線で示す「主軸位相に対する従軸変位」の、実線で示す「本来のカム曲線」からの乖離は、「進角補正を行なう装置(図7の(B))」の方が「従軸制御について補正を行なわない装置(図7の(A))」よりも小さい。
【0117】
しかしながら、図7の(B)において、点線で示す「進角補正を行なう装置」の「主軸位相に対する従軸変位」におけるピークの絶対値は、実線で示す「本来のカム曲線」のピークの絶対値よりも小さい。つまり、「進角補正を行なう装置」は、従軸の制御について、「負荷機械の剛性が低い」状態を十分に補償することができていない。
【0118】
これに対して、図7の(C)において、「負荷機械の剛性が低い」状態においても、点線で示す「コントローラ100による、主軸位相に対する従軸変位」は、実線で示す「本来のカム曲線」にほぼ一致している。したがって、コントローラ100は、「負荷機械の剛性が低い」状態においても、つまり、従軸の負荷が小さい場合でも、従軸の制御について適切な補償を実行し、従軸の制御の高追従性を維持することができることが判明した。
【0119】
§4.変形例
これまで、コントローラ100が、フィードバック制御系200(特に、サーボドライバ210)に、速度指令を送信する例を説明した。しかしながら、コントローラ100は、サーボドライバ210に、速度指令をさらに時間積分して算出する「従軸についての位置指令」を送信してもよい。この場合、サーボドライバ210について、速度制御部230が実行する速度制御ループの前に、位置制御ループが追加されることになる。
【0120】
同様に、コントローラ100は、「スライディングモード制御により算出した速度指令」の代わりに「スライディングモード制御により算出したトルク指令」をサーボドライバ210に出力してもよい。この場合、スライディングモード制御部120は、算出した「従軸の位置偏差」および「従軸の速度偏差」に、「パラメータsにより傾斜が指定される切替線」を用いたスライディングモード制御を適用し、トルク指令を算出する。また、この場合、サーボドライバ210について、速度制御部230は不要となる。
【0121】
「パラメータs」は「指令値に対する、フィードバック制御系200の状態方程式」から予め求められるが、この状態方程式は、以下のように決定されてもよい。すなわち、サーボドライバ210の動特性を無視できると仮定すると、状態方程式を決定するための「モータ250により駆動される負荷機械の運動特性」は、例えば、「モータ250により駆動される負荷機械の慣性モーメント(慣性)および粘性係数(粘性摩擦)」等であってもよい。
【0122】
〔ソフトウェアによる実現例〕
コントローラ100の制御ブロック(特に、カム演算部110、スライディングモード制御部120、および、指令変換部130)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
【0123】
後者の場合、コントローラ100は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【0124】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【0125】
100 コントローラ(制御装置)
110 カム演算部
120 スライディングモード制御部
200 フィードバック制御系
s パラメータ
S430 カム演算ステップ
S450 スライディングモード制御ステップ
図1
図2
図3
図4
図5
図6
図7