(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-22
(45)【発行日】2023-12-01
(54)【発明の名称】モータ制御装置
(51)【国際特許分類】
G05B 11/36 20060101AFI20231124BHJP
G05B 13/02 20060101ALI20231124BHJP
【FI】
G05B11/36 501C
G05B13/02 C
(21)【出願番号】P 2020149999
(22)【出願日】2020-09-07
【審査請求日】2023-02-06
(73)【特許権者】
【識別番号】502129933
【氏名又は名称】株式会社日立産機システム
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】松原 満
(72)【発明者】
【氏名】高野 裕理
(72)【発明者】
【氏名】上井 雄介
(72)【発明者】
【氏名】近藤 輝朋
(72)【発明者】
【氏名】梁田 哲男
(72)【発明者】
【氏名】戸張 和明
【審査官】今井 貞雄
(56)【参考文献】
【文献】特開2020-17071(JP,A)
【文献】国際公開第2020/250469(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 11/00-13/04
(57)【特許請求の範囲】
【請求項1】
複数の機械共振起因でモータ制御系の応答に重畳する複数の振動を、モータの回転速度応答もしくは回転位置応答から抽出する振動抽出フィルタと、
前記振動抽出フィルタから得られる前記複数の振動の各々の周波数を逐次に1つ1つ推定し、周波数の推定結果を周波数推定値系列として出力する逐次周波数推定部と、
前記モータに取り付けられた機械の端部に生ずる振動を抑制するように前記モータ制御系に入力される指令を加工する制振制御部と、
前記制振制御部を前記周波数推定値系列に基づいて調整する制振制御設計部とを備えるモータ制御装置。
【請求項2】
請求項1に記載のモータ制御装置において、
前記逐次周波数推定部は、
所定の周波数成分のみを除去する振動除去部と、
振動波形から振動の周波数を逐次に推定する適応推定部と、
収束判定部と、
振動検出部とを備え、
前記振動除去部は、
前記複数の振動を処理し、前記複数の振動から所定の周波数成分が除去された信号を残振動信号として出力し、
前記適応推定部は、
前記残振動信号の主たる1つの振動の周波数を逐次に推定し、その推定値を周波数推定値信号として逐次に出力し、
前記収束判定部は、
前記周波数推定値信号が収束したか否かを判定し、
収束したと判定した際の前記周波数推定値信号の周波数推定値を前記周波数推定値系列として出力し、
前記振動除去部は、
前記周波数推定値系列に基づき、除去する前記所定の周波数成分を変化させ、
前記振動検出部は、前記残振動信号において振動が持続的に発生しているか否かを判断し、
振動発生を検出した場合に、前記適応推定部及び前記収束判定部を動作させるモータ制御装置。
【請求項3】
請求項1に記載のモータ制御装置において、
前記制振制御設計部は、
前記周波数推定値系列の、所定の時間分を点群データとして取り扱い、
前記点群データを教師無しのクラスタリングで複数のクラスタに分割し、
分割された前記クラスタの数を、前記複数の振動の、振動の重畳数とし、
各クラスタに属する点群データから前記複数の振動の、各々の振動の周波数を推定して振動周波数推定値とし、
前記重畳数と前記振動周波数推定値に基づいて、前記制振制御部を調整するモータ制御装置。
【請求項4】
請求項2に記載のモータ制御装置において、
前記振動除去部は、
ノッチフィルタであり、
前記適応推定部は、
適応ノッチフィルタであり、
前記収束判定部は、
前記適応ノッチフィルタが逐次推定する前記複数の振動の主たる1つの振動の周波数を前記周波数推定値信号として逐次に受けとり、前記周波数推定値系列を出力し、
前記ノッチフィルタは、
出力される前記周波数推定値系列に基づき、前記ノッチフィルタのノッチ周波数を変化させるモータ制御装置。
【請求項5】
請求項4に記載のモータ制御装置において、
前記制振制御部の調整を開始する初期状態において、
前記ノッチフィルタのノッチ周波数は、前記制振制御部が担う前記機械の端部の制振帯域の上限以上とするモータ制御装置。
【請求項6】
請求項1に記載のモータ制御装置において、
前記制振制御部の調整を開始する初期状態においては、
前記制振制御部は、
前記モータ制御系に入力される指令を加工せず、
前記制振制御設計部が前記周波数推定値系列に基づいて前記制振制御部の調整を完了した後に、前記制振制御部は前記モータ制御系に入力される指令の加工を開始するモータ制御装置。
【請求項7】
請求項3に記載のモータ制御装置において、
前記点群データの平均値を基に、前記点群データを2つのクラスタに分割し、各クラスタの平均値を算出し、
算出された前記平均値の差の絶対値が所定の値以上の場合、振動の重畳数2、そうでないない場合は1とし、
前記振動の重畳数が2の場合、各クラスタの平均値を前記振動周波数推定値とし、前記振動の重畳数が1の場合、前記点群データの平均値を前記振動周波数推定値とするモータ制御装置。
【請求項8】
請求項4に記載のモータ制御装置において、
前記適応ノッチフィルタは、
逐次に周波数を推定する際、周波数の逐次更新における更新ゲインを、現時点の周波数推定値に基づいて、可変にするモータ制御装置。
【請求項9】
複数の機械共振起因でモータ制御系の応答に重畳する複数の振動を、モータの回転速度応答もしくは回転位置応答から抽出し、
抽出した前記複数の振動の各々の周波数を逐次に1つ1つ推定し、周波数の推定結果を周波数推定値系列として出力し、
前記周波数推定値系列に基づいて調整することで、前記モータに取り付けられた機械の端部に生ずる振動を抑制するように前記モータ制御系に入力される指令を加工するモータ制御の自動調整方法。
【請求項10】
請求項9に記載のモータ制御の自動調整方法において、
初期状態においては、
前記モータ制御系に入力される前記指令を加工せず、
前記周波数推定値系列に基づいて前記指令の調整を完了した後に、前記モータ制御系に入力される前記指令の加工を開始するモータ制御の自動調整方法。
【請求項11】
請求項9に記載のモータ制御の自動調整方法において、
前記複数の振動の各々の周波数の逐次1つ1つの推定は、
ノッチフィルタと、適応ノッチフィルタと、前記適応ノッチフィルタの収束の判定との組み合わせで実行されるモータ制御の自動調整方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モータ制御の技術に関する。
【背景技術】
【0002】
近年、FA分野ではモータ制御系を最適調整し、タクトタイムを短縮することによる生産性の向上が望まれている。制御対象の機械を制御する目的のセミクローズド構成のモータ制御系において、モータに取り付けられた機械の剛性が低い場合一般に、機械の共振・反共振特性が原因で機械の端部(以降、機械端と称する)が数Hz~100Hzの低周波数で振動し、位置決めに時間がかかりタクトタイムを短縮できないという課題がある。このような場合、一般に制振制御が用いられる。
【0003】
制振制御はモータ制御系の調整要素の一つであり、これを人の介在なく短時間かつ最適に自動調整する技術は、タクトタイムを短縮し生産性向上に寄与するものである。制振制御の自動調整を行う手段として、特許文献1が提案されている。
【0004】
特許文献1では、モータ制御系において、モータの応答から複数の機械共振起因の振動が観測され、機械端に振動が発生する場合の、制振制御の自動調整技術が示されている。
【0005】
具体的には、モータの応答から観測された、重畳した複数の振動から単一振動を抽出する推定用信号演算部と、抽出された単一振動に基づき振動特性(周波数等)を同定する共振特性推定演算部と、複数の機械共振起因で発生する機械端の振動を抑制するフィードフォワード制御部と、同定された振動特性に基づき制振制御部であるフィードフォワード制御部を調整する制振制御設定部と、を備えており、推定用信号演算部は所定の駆動パターンで機械が駆動されている際に発生・観測された複数の振動から、所定の順序で単一振動を抽出し、抽出された単一振動の振動特性を共振特性推定演算部で同定し、制振制御設定部が同定された振動特性に基づきフィードフォワード制御部を調整し、複数の振動の個々のすべてに対して同定が完了するまで、所定の駆動パターンでの反復調整を実施することで、制振制御の自動調整を成すものである。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1では、所定の駆動パターンで、複数の振動を励起し、複数の振動の全ての振動特性に対して同定が完了するまで、制振制御設定部から制振制御部であるフィードフォワード制御部に対して、所定の駆動パターンでの反復調整が必要なため、調整に時間を要する恐れがあるという課題があった。
【0008】
本発明の目的は、モータの応答から機械共振に起因した振動が観測され、機械端に振動が発生する場合に、短時間・リアルタイムに制振制御部を調整し、機械端の振動を抑制するモータ制御装置を提供することにある。
【課題を解決するための手段】
【0009】
本発明の好ましい一例としては、複数の機械共振起因でモータ制御系の応答に重畳する複数の振動を、モータの回転速度応答もしくは回転位置応答から抽出する振動抽出フィルタと、前記振動抽出フィルタから得られる前記複数の振動の各々の周波数を逐次に1つ1つ推定し、周波数の推定結果を周波数推定値系列として出力する逐次周波数推定部と、前記モータに取り付けられた機械の端部に生ずる振動を抑制するように前記モータ制御系に入力される指令を加工する制振制御部と、前記制振制御部を前記周波数推定値系列に基づいて調整する制振制御設計部とを備えるモータ制御装置である。
【発明の効果】
【0010】
本発明によれば、短時間・リアルタイムに制振制御部を調整し、機械端の振動を自動で抑制できる。
【図面の簡単な説明】
【0011】
【
図1】モータのFB制御系に適用した実施例1を示した図である。
【
図2】ノッチフィルタの周波数特性を示した図である。
【
図4】逐次周波数推定部における周波数推定値系列の算出を示す図である。
【
図6】モータ位置FB制御系に対する実施例1の適用を示す図である。
【
図7】モータ速度FB制御系に対する実施例1の適用を示す図である。
【発明を実施するための形態】
【0012】
以下、実施例について図面を参照しながら説明する。なお各図において、共通な機能を有する構成要素には同一の番号を付与し、その説明を省略する。また、以降「フィードバック」は「FB」と、「ノッチフィルタ」を「NF」と、「ローパスフィルタ」を「LPF」と、「ハイパスフィルタ」を「HPF」と、「バンドパスフィルタ」を「BPF」と略記する場合がある。
【実施例1】
【0013】
図1は、実施例1の自動調整部2を、一般的なセミクローズド構成のモータFB制御系に適用した際の構成を示した図である。自動調整部2を含まない一般的なモータのFB制御系では、FB制御器13の操作量がモータ14に与えられ、指令r(t)とモータ14の出力y(t)との偏差がゼロになるように制御対象機械15は制御される。
【0014】
具体的には、出力y(t)はモータ回転位置であり、モータ回転位置を、センサ(例えばエンコーダ)を用いて計測し、回転位置指令r(t)との偏差を加減算器16で算出し、FB制御器13は位置偏差としてこれを処理する。なおモータ14の前段にはモータ14を駆動するための装置(インバータ等)やモータ14の速度、及び電流を制御する制御器が設けられるが、
図1ではこれらを略記している。
【0015】
図1のFB制御系において、モータの回転軸に取り付けられた機械の剛性が低い場合には一般には、機械の共振・反共振特性が原因で機械の端部(以降、機械端と称する)が数Hz~100Hzの低周波数で振動し、位置決めに時間がかかる場合がある。
【0016】
このような場合、機械端の振動を抑制し位置決め時間を短縮する目的で、制振制御部5が利用される。制振制御部5は、モータに取り付けられた機械端の振動を抑止するように、モータ制御系に入力される回転位置指令r(t)を加工する。
【0017】
本実施例では、制振制御部5はノッチフィルタ(以降、これを実ノッチフィルタと称す)であるとし、実ノッチフィルタの周波数特性を
図2に示す。実ノッチフィルタのノッチ周波数を機械端の振動の周波数に一致させることで、回転位置指令r(t)から機械端の振動を励起する周波数成分を除去でき、制振制御部5は回転位置指令r(t)の加工により機械端の振動を励起しない回転位置指令rs(t)を生成できる。
【0018】
機械端の応答には、機械の複数の共振・反共振特性が原因で、周波数が異なる複数の振動が重畳する場合がある。なお各振動は各共振・反共振特性により、振動の振幅や減衰時間が異なるのが一般的である。
【0019】
機械端の応答に複数の振動が重畳する場合、各振動に対して実ノッチフィルタを各々適用することで機械端の振動を抑制できる。周波数がf1~fNのN個の振動が機械端に重畳する場合、ノッチ周波数fk(k=1・・・N)の実ノッチフィルタを直列にN段適用すればよい。但し、実ノッチフィルタを多段化すると回転位置指令r(t)の遅れが大きくなり、結果的に位置決め時間の短縮につながらない場合がある。
【0020】
この場合、位置決め時間の短縮を目的に、制振制御部5は実ノッチフィルタではなく制御対象モデルに基づく他の制振制御手段を採用してもよい。なお他の制振制御手段を採用する場合であっても、少なからず機械端の振動の周波数は既知である必要がある。
【0021】
自動調整部2は制御対象機械15に関する事前情報なしに、自動で制振制御部5を調整するものであり、逐次周波数推定部3と制振制御設計部4と、制振制御部5と、振動抽出フィルタ6とから構成される。
【0022】
なお本実施例では、自動調整部2は、数Hz~100Hzの低周波数の機械端の振動を抑制することを目的とし、100[Hz]以上の機械端の振動は抑制対象外とする。
【0023】
振動抽出フィルタ6は、複数の機械共振起因でモータ制御系の応答に重畳する複数の振動を、モータの回転速度応答もしくは回転位置応答から抽出する。
図1では、回転位置応答y(t)の定常応答成分を除去し、機械端の振動に関連する振動成分のみを抽出し、yd(t)として出力する役割を担う。
【0024】
本実施例において振動抽出フィルタ6は所定の周波数帯域fL~fHのみ信号を通過させるバンドパスフィルタとする。なおこれをハイパスフィルタとローパスフィルタの組み合わせとしてもよい。
【0025】
機械端の応答に複数の振動が重畳する場合、回転位置応答y(t)にも複数の振動が重畳する。振動抽出フィルタ6は複数の振動を抽出できるよう、周波数帯域fL~fHが十分広く設計されているものとする。結果、複数の振動はyd(t)として観測される。
【0026】
逐次周波数推定部3は、振動抽出フィルタ6から得られる複数の振動yd(t)の各周波数を、逐次に1つ1つ推定し、周波数の推定結果を1次元点列データである周波数推定値系列f(k)として出力する。
【0027】
本実施例では、説明の簡単のため、yd(t)は周波数がf1、振動の振幅最大値がM1、振動の持続時間がT1なる振動yd1(t)と、周波数がf2、振動の振幅最大値がM2、振動の持続時間がT2なる振動yd2(t)との2種の振動が重畳して観測されるものとする(但し、f1<f2≦100[Hz])。
【0028】
逐次周波数推定部3は、
図3に示すように、所定の周波数成分のみを除去する振動除去部としてのノッチフィルタ31と、振動波形から振動の周波数を逐次に推定し推定値を周波数推定値信号として逐次に出力する適応推定部としての適応ノッチフィルタ34と、振動検出部32と、周波数推定値信号が収束したか否かを判定し収束したと判定した際の周波数推定値信号の周波数推定値を周波数推定値系列として出力する収束判定部33とから構成されるとする。
【0029】
ノッチフィルタ31は、
図2に示すような周波数特性を有し、ノッチフィルタ31のノッチ周波数Nf[Hz]は、収束判定部33が出力する周波数推定値系列f(k)[Hz]に基づいて除去する周波数成分を変化させられるものとする。
【0030】
ノッチフィルタ31は、複数の振動yd(t)からノッチ周波数Nf[Hz]の周波数成分のみを除去し、複数の振動yd(t)からノッチ周波数Nfの周波数成分が除去された信号を残振動として、yr(t)を出力する。
【0031】
自動調整部2の調整開始の初期状態において、ノッチフィルタ31のノッチ周波数Nf[Hz]は、制振制御部が担う機械端の制振帯域の上限としての100[Hz]より十分大きい値に設定され、これにより周波数f1、及びf2の振動はいずれもノッチフィルタ31で除去されることなく、残振動yr(t)に出力される。
【0032】
自動調整部2の調整開始以降、収束判定部33が出力する周波数推定値系列f(k)(k=1・・・)のkが更新される毎に、ノッチフィルタ31のノッチ周波数Nf[Hz]は、Nf=f(k)として更新される。自動調整部2の調整完了後はノッチ周波数Nf[Hz]は、100[Hz]より十分大きい値に設定され、初期状態に戻る。
【0033】
振動検出部32は、残振動yr(t)に所定の振幅以上、かつ所定の時間以上、持続する振動が観測される場合に、振動検出有と判断し、それ以外は振動検出無と判断する。
【0034】
適応ノッチフィルタ34と収束判定部33は、振動検出部32が振動検出有と判断した場合にのみ動作する。
【0035】
もしyd(t)の2種の振動のうち、一方の振幅が0(例えばM2=0)で、ノッチフィルタ31のノッチ周波数Nf[Hz]がf1であった場合、残振動yr(t)からは理想的には振動が観測されず、振動検出部32は振動検出無と判断する。この場合、適応ノッチフィルタ34と収束判定部33の動作は開始されない。
【0036】
適応ノッチフィルタ34は、残振動yr(t)の主たる振動の周波数を逐次に推定する。ノッチフィルタと適応アルゴリズムとを有する適応ノッチフィルタ34は演算コストに優れる以下を用いる。
【0037】
□ノッチフィルタ
【0038】
【0039】
□適応アルゴリズム
【0040】
【0041】
但し、a(t)はノッチ周波数(但し単位は[Hz]ではない)、rLはノッチ幅、μは更新量を調整する更新ゲインであり、L(Y)はYに対するリミッタ処理、sgnは符号関数、x(t)はノッチフィルタ状態、e(t)はノッチフィルタ出力を示す。
【0042】
適応ノッチフィルタ34は、(数1)に示すノッチフィルタを内包しており、(数2)の適応アルゴリズムは、(数1)のノッチフィルタのノッチ周波数a(t)を適応調整するものである。
【0043】
具体的には、入力である残振動yr(t)の主たる振動を(数1)のノッチフィルタが除去するように(数2)の適応アルゴリズムが反復動作し、(数1)のノッチフィルタにより残振動yr(t)の主たる振動の除去が完了した際のa(t)が、主たる振動の周波数となる。
【0044】
したがって、適応ノッチフィルタ34は残振動yr(t)に対する逐次の周波数推定手段であるといえ、a(t)は残振動yr(t)に対する周波数推定値信号である。
【0045】
なお、a(t)は周波数[Hz]に対して非線形な特性を有し、特にa(t)が100[Hz]以下の低域となる場合は、強い非線形性を示す。具体的には、単位周波数変化量の絶対値[Hz]当たりのa(t)の変化量絶対値は、周波数が低域な程、小さくなる傾向にある。したがって、低域の推定を行う際更新ゲインμが一定では、更新ゲインが大きすぎて、(数2)の適応アルゴリズムが振動的になり収束に至れない問題が生ずる。
【0046】
そこで本実施例ではこの問題に対して、更新ゲインをμ(a(t))とし、周波数推定値信号に応じて変更されるものとする。一例として、μ(a(t))を以下とする。
【0047】
【0048】
但し、a1は設計周波数であり、μaは基本更新ゲインである。
【0049】
設計周波数a1において適切な更新ゲインをμaとした際、(数3)のμ(a(t))によれば、周波数a(t)<a1において、更新ゲインがμaと同等の大きさとみなされる。これにより、周波数a(t)<a1において、(数2)の適応アルゴリズムが振動的になり収束に至れない問題を解消できる。
【0050】
なお、演算コスト削減のために(数3)をMAPのように、μとa(t)のデータを表形式にして保持するように実装してもよい。また、μ(a(t))は(数3)に類似の効果を持つ別の関数としてもよい。
【0051】
適応ノッチフィルタ34のa(t)が収束すれば、(数1)のノッチフィルタが残振動yr(t)の主たる振動の除去を完了したと見なせ、残振動yr(t)の主たる振動の周波数を推定完了と判断できる。
【0052】
周波数推定値信号a(t)が収束したか否かを判定する手段が収束判定部33である。収束判定部33は、周波数推定値信号a(t)を受けて、a(t)が収束したか否かを判断する。但し、前述のように周波数推定値信号a(t)は周波数[Hz]に対して非線形な特性となるため、a(t)を基に収束したか否かを判断するのは容易ではない。
【0053】
収束判定部33は、a(t)を周波数[Hz]の単位に変換する変換手段を有し、これによりa(t)はf(t)[Hz]に変換される。したがって収束判定部33は、f(t)[Hz]を基にa(t)が収束したか否かを判断する。
【0054】
具体的には、所定の時間内のf(t)の変動幅が、所定の値[Hz]以下になった場合、a(t)は収束したと判定し、このときのf(t)をk番目(k=1・・・)の値としてf(k)として保持し、逐次に収束判定を継続する。収束したと判定される毎にkはカウントUPされ、f(k)として保持され、この結果、収束判定部33はf(k)(k=1・・・)を、周波数推定値系列として出力する。
【0055】
自動調整部2の調整開始から終了までの所定の時間に、逐次周波数推定部3は実行され、所定の時間分の周波数推定値系列f(k)(k=1・・・)を逐次周波数推定部3から得ることができる。
【0056】
逐次周波数推定部3における、周波数推定値系列f(k)の算出の様子を
図4に示す。
図4において、各振動yd1(t)、及びyd2(t)の各々の周波数はf1=10[Hz]及びf2=20[Hz]とし、両振動が重畳した振動yd(t)に対して、自動調整部2の調整時間の間に、逐次周波数推定部3が動作した場合のf(t)を破線で、f(t)に対して収束判定が成された周波数推定値系列f(k)を実線で示している。
【0057】
また
図4において、ノッチフィルタ31の出力であるyr(t)をyr(t)=yd1r(t)+yd2r(t)として、各々のyd1r(t)及びyd2r(t)を示している。
【0058】
収束判定k=1、2で振動yd(t)の主たる振動成分である振動yd1(t)の周波数f1が適応ノッチフィルタ34にて推定され、f(1)、f(2)がノッチフィルタ31に適用される。このためk=1、2では、yd1r(t)は振幅が小さくなり、振動yd(t)の主たる振動成分はyd2(t)になる。
【0059】
これにより、k=3、4で振動yd2(t)の周波数f2が適応ノッチフィルタ34にて推定され、f(3)、f(4)がノッチフィルタ31に適用され、振動yd(t)の主たる振動成分はyd1(t)となる。
【0060】
適応ノッチフィルタ34はyd1(t)の周波数を推定しf(5)を得るが、k=5以降、振動yd(t)は減衰しきって振動未発生状態となるので、振動検出部32は振動検出無と判断し、適応ノッチフィルタ34、及び収束判定部33の動作を停止する。
【0061】
このように本実施例の逐次周波数推定部3は、1つ以上の減衰する振動が重畳してyd(t)して観測される場合であっても、主たる振動の周波数を優先的に、交番しながら高速に推定できる点が特徴である。
【0062】
振動の振幅、周波数、減衰(持続)時間、振動の重畳数が未知の場合、例えば逐次最小2乗同定法のような一般的な同定手段では必ずしも、各振動の周波数を精度よく推定できない。例えば2種の振動yd1及びyd2が重畳するyd(t)であって、かつ減衰時間がT1<T2であるような場合、0~T1では2振動系であるが、T1~T2では1振動系であり、振動系の次数が、未知な減衰(持続)時間T1及びT2で変化する、時変形の同定問題になるためである。
【0063】
これに対し、逐次周波数推定部3は、減衰(持続)時間、振動の重畳数が未知であっても、適切かつ高速に振動の周波数を推定できる利点がある。
【0064】
制振制御設計部4は、制振制御部5を周波数推定値系列に基づいて調整する。本実施例において制振制御設計部4は、教師無しクラスタリングを行うものとする。
【0065】
具体的には、自動調整部2の所定の調整時間に得られた、周波数推定値系列f(k)(k=1・・・)を点群データと見なし、これに対してk-means法等の教師無しクラスタリングを実施し、これにより得られたクラスタ数を振動の重畳数Nとし、各クラスタの平均値を各振動の周波数の推定値fk(k=1・・・N)とする。なお各クラスタの重心距離が所定値以下の場合は、それらクラスタは併合されるものとする。
【0066】
制振制御設計部4は振動の重畳数N、及び各振動の周波数の推定値fk(k=1・・・N)といった出力Fを制振制御部5に送り、制振制御部5はノッチ周波数をfkとする実ノッチフィルタをN段直列に設けることで、自動調整部2の処理は完了となる。
【0067】
図4に示すf(k)に対する制振制御設計部4の処理を示したのが
図5である。クラスタ1はf(1)、f(2)、およびf(5)から、クラスタ2はf(3)及びf(4)から構成され、クラスタが2つゆえ振動の重畳数Nは2、各振動の周波数は各クラスタの平均値(f(1)+f(2)+f(5))/3、及び(f(3)+f(4))/2となる。
【0068】
なお、自動調整開始直後のf(1)は、ノッチフィルタ31が無効の状態、振動の重畳が顕著のため、周波数の推定値としては精度が低くなる傾向にある。このため、クラスタリング前に周波数推定値系列f(k)(k=1・・・)の前半部分を間引く処理を加えてもよい。
【0069】
制振制御設計部4は、前述の教師無しクラスタリングの採用以外にも、振動の重畳数Nが1~2の場合は、下記のアルゴリズムの採用が考えられる。下記はk-means法と比較して処理コストに優れる点が特徴である。
【0070】
S1:点群データの平均値Maを算出し、Maに対する大小で2つのクラスタ
C1、C2を生成
S2:C1の平均値Mc1、C2の平均値Mc2を算出し、
Te=|Mc1-Mc2|を算出する。
【0071】
S3:Teが所定の値以上の場合、振動の重畳数はN=2、各振動の周波数の推定値はf1=Mc1、f2=Mc2とする。Teが所定の値より小さい場合は、振動の重畳数はN=1、振動の周波数の推定値はf1=Maとする。
【0072】
自動調整部2の所定の調整時間は、制御対象機械15の1回の動作でyd(t)に振動が観測され、周波数推定値系列f(k)が得られるならば、制御対象機械15の1回の動作にかかる時間のみであってもよい。
【0073】
また周波数推定値系列f(k)(k=1・・・)を多く取得し振動の周波数の推定精度を高めたい場合は、制御対象機械15の複数回の動作に必要な時間を自動調整部2の所定の調整時間に設定してもよい。
【0074】
本実施例によれば、1つ以上の制御対象機械の共振・反共振特性に起因した振動がモータ制御系の応答から観測され、機械端に振動が発生する場合に、特に前記機械共振の数を事前に把握する必要ない。
【0075】
特許文献1では、制振制御設定部から制振制御部であるフィードフォワード制御部が複数の共振特性の反復調整をすることになる。本実施例によれば、制振制御部の調整を開始する初期状態において制振制御部5は、モータ制御系に入力される指令を加工せず、制振制御設計部4が周波数推定値系列に基づいて制振制御部5の調整を完了した後に、制振制御部5はモータ制御系に入力される指令の加工を開始する。本実施例では短時間・リアルタイムに制振制御部5を調整し、機械端の振動を抑制可能なモータ制御の自動調整方法及び、自動調整部2を備えた、モータ制御装置を提供することが可能である。
【0076】
なお本実施例では、自動調整部2はモータ回転位置y(t)を入力としたが、振動成分の抽出のしやすさの観点から、自動調整部2の入力をモータ回転位置偏差や、FB制御器13の出力、モータ回転速度の偏差、速度FB制御器の出力、もしくはモータ回転速度の応答等を用いてもよい。
【0077】
また制振制御設計部4で生成されたクラスタの分散の大小に基づき、実ノッチフィルタの幅を可変にしてもよい。クラスタの分散が大の場合は、周波数推定値の精度が期待しづらいことが考えられるため、実ノッチフィルタの幅を大きめに設定し、広く周波数成分を除去することが有効な場合があるためである。
【0078】
またノッチフィルタ31は、直列に複数段並べた構成とし、各ノッチ周波数に適宜周波数推定値系列f(k)を適用してもよい。これにより、多数の振動の重畳がyd(t)から観測される場合でも、周波数の推定精度が期待できるものとなる。但しこの場合、f(k)をどのノッチフィルタに適用するかをマネジメントする処理が別途必要となる点に注意する。
【0079】
また自動調整部2は、FB制御器13のゲインを調整する機能を有していてもよい。制振制御部5が自動調整部2により調整され、これが有効になると、機械端の振動が抑制され、より高いFB制御ゲインであっても、振動の発生無く機械端を制御・位置決めできるようになるためである。
【0080】
図1の自動調整部2、加減算器16、FB制御器13を含むモータ制御装置は、図示は省略したがCPU(Central Processing Unit)を有する。振動抽出フィルタ6、逐次周波数推定部3、制振制御設計部4、制振制御部5の各処理部を含む自動調整部2、加減算器16、FB制御器13は、CPUがプログラムを読み出してプログラムを実行することで、各処理部の処理が実行される。ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等のハードウェアで、各処理部の全部もしくは一部を構成することもできる。
【0081】
本実施例によれば、セミクローズド構成のモータFB制御系において、機械端に振動が発生する場合に、特に機械共振の数を事前に把握する必要なく、短時間・リアルタイムに制振制御部を調整し、機械端の振動を抑制可能である。
【実施例2】
【0082】
実施例2は、実施例1をモータ制御装置に適用した例である。実施例1と同じ事項は説明を省略する。
図6に示すように、
図1に示した自動調整部2を自動調整器622としてACサーボモータのセミクローズド位置FB制御系へ適用した実施例である。
図6において自動調整器622を含まない場合は一般に知られる、セミクローズド位置FB制御系である。
【0083】
ACサーボモータのセミクローズド位置FB制御系は、
図6に示されるように、加減算器612、加減算器614、位置制御器61、速度制御器62、電流制御器63、d-q座標系から3相座標系へ座標変換する第1の座標変換器64、3相座標系からd-q座標系へ座標変換する第2の座標変換器610、3相電圧指令を入力してPWMパルスを出力するPWM出力器65、スイッチング素子を有するインバータ(電力変換器)66、電流検出器68、位置・速度算出部611、自動調整器622、モータの回転数を計測するエンコーダ69、モータ67、モータに駆動される機械613を備える。
【0084】
エンコーダ69の出力からモータの回転位置・速度を算出する位置・速度算出部611で算出されたモータ回転位置もしくはモータ回転速度616を、自動調整器622は入力する。
【0085】
機械613の端部(機械端)の振動を励起しないように、自動調整器622の制振制御部5は回転位置指令615を加工し、加工後回転位置指令617を出力し、自動調整器622は、制振制御部5をモータ回転位置616に基づき適切に自動調整する役割を担う。
【0086】
自動調整器622から出力された加工後回転位置指令617と位置・速度算出部611からのモータ回転位置616とを加減算器614が入力し、加工後回転位置指令617とモータ回転位置616との差分を位置制御器61が位置指令として入力する。
【0087】
位置制御器61は、速度指令618を出力し、加減算器612が速度指令618とモータ回転速度619の差分を速度制御器62に出力ずる。
【0088】
位置制御器61は加工後回転位置指令617を指令とし、マイナーループ系の速度・電流制御系、及び積分要素を制御対象として位置FB制御を実施する。
【0089】
機械613の慣性数は1とし、機械613とモータのロータが弾性結合されているとみなされる場合は、制御対象機械は機械613とモータのロータがバネ・ダンパで結合された2慣性系とみなすことができ、制御対象機械は1組の共振・反共振特性を含む周波数特性を有するものとなる。
【0090】
また、機械613の慣性数が2で、双方が弾性結合されまたどちらか一方がモータのロータに対して弾性結合されているとみなされる場合、もしくは機械613も2つの慣性がモータのロータに対して各々弾性結合されているとみなされる場合には制御対象機械は3慣性系とみなすことができ、2組の共振・反共振特性を含む周波数特性を有するものとなる。このような系の例としては、例えば慣性体が移動する2慣性のサーボモータ機構が剛性の低い架台の上に設置されている場合等である。
【0091】
実施例1で示したように、自動調整器622は機械の共振・反共振特性の事前調査の必要なく、機械端が振動しモータ制御系の応答に複数の振動が重畳して観測される場合であっても、短時間・リアルタイムに制振制御部5を適切に自動調整し、機械端の振動の抑制が可能である。したがって、本実施例においても自動調整器622は実施例1と同様に短時間・リアルタイムに制振制御部5を適切に自動調整し、機械端の振動を抑制することが可能である。
【0092】
本実施例によれば、
図6に示すようなACサーボモータのセミクローズド位置FB制御系において、1つ以上の制御対象機械の共振・反共振特性に起因した振動がモータ制御系の応答から観測され、機械端に振動が発生する場合であっても、自動調整器622を設けることで、特に前記機械共振の数を事前に把握する必要ない。さらに、本実施例によれば、短時間・リアルタイムに制振制御部5を適切に自動調整し、機械端の振動を抑制することが可能である。
【0093】
なお自動調整器622は、
図7に示すように、ACサーボモータのセミクローズド速度FB制御系へ適用することも可能である。
図7では、
図6の位置制御器61は除かれている。速度FB制御系であっても、1つ以上の制御対象機械の共振・反共振特性に起因した振動は速度応答716から観測でき、機械端の振動は発生しうるためである。
【0094】
図7において、機械613の端部(機械端)の振動を励起しないように、自動調整器622の制振制御部5は速度指令715を加工し、加工された速度指令717を出力する。加工された速度指令717と、位置・速度算出部611からのモータ回転速度716の差分を加減算器612が速度制御器62に出力ずる。
【0095】
自動調整器622は速度応答716を用いても実施例1で示したように制振制御部5を自動調整可能である。これにより
図7に示すようなACサーボモータのセミクローズド速度FB制御系であっても自動調整器622を設けることで、特に前記機械共振の数を事前に把握する必要ない。
【0096】
さらに、
図7のACサーボモータのセミクローズド速度FB制御系であっても短時間・リアルタイムに制振制御部5を適切に自動調整し、機械端の振動を抑制することが可能である。
【0097】
本実施例によれば、ACサーボモータのセミクローズド位置FB制御系もしくはACサーボモータのセミクローズド速度FB制御系において、機械端に振動が発生する場合に、特に機械共振の数を事前に把握する必要なく、短時間・リアルタイムに制振制御部を調整し、機械端の振動を抑制可能である。
【0098】
なお上記の実施例は、モータ制御装置以外にも、例えば半導体検査装置、電気自動車の主モータ制御装置、電動パワーステアリングなどへの適用が可能である。
【符号の説明】
【0099】
2…自動調整部、3…逐次周波数推定部、4…制振制御設計部、5…制振制御部、6…振動抽出フィルタ、13…FB制御器、14…モータ、15…制御対象機械、31…ノッチフィルタ、32…振動検出部、33…収束判定部、34…適応ノッチフィルタ