(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで回転体のモデル、すなわち制御対象にモデル化誤差、例えば制御対象の慣性モーメントパラメータの設定誤差、制御対象の負荷変動などが存在すると、状態推定手段が推定する回転体の回転速度及び回転位置の推定誤差が増加する場合がある。更にその結果、制御系の制御性能が劣化する場合がある。
本発明は、ロバストな制御系を構成できるモータ制御装置及びモータシステムを提供することを目的とする。
【課題を解決するための手段】
【0005】
上記課題を解決するため、本発明の一の観点によれば、モータのモータ位置とモータ推定位置との差である位置推定偏差に基づいて、前記モータ推定位置及びモータ推定速度を出力する位置速度推定部と、
前記モータ推定位置、前記モータ推定速度及び位置指令に基づいて、前記モータを制御するトルク指令を出力する制御部と、を備え、
前記位置速度推定部は、前記位置推定偏差に基づいてオブザーバ修正値を出力するオブザーバ修正器と、
前記位置推定偏差に基づいて、補償トルクを出力する非線形補償器と、
前記オブザーバ修正値及び前記補償トルクに基づいて、演算値を出力する演算器と、
前記演算値に基づいて、前記モータ推定位置及び前記モータ推定速度を出力する前記モータのモータモデルと、を有するモータ制御装置が適用される。
【0006】
また、他の観点によれば、前記モータ制御装置と、
前記モータ制御装置が出力するトルク指令に応じて制御されるモータと、
前記モータのモータ位置を取得する位置取得部と、を備えるモータシステムが適用される。
【発明の効果】
【0007】
本発明によれば、ロバストな制御系を構成できる。
【発明を実施するための形態】
【0009】
続いて、添付した図面を参照しつつ、本発明を具体化した実施例につき説明し、本発明の理解に供する。なお、各図において、説明に関連しない部分は図示を省略する場合がある。
【0010】
本発明の一実施例に係るモータシステム10は、
図1に示すように、モータ12と、モータ制御装置100と、エンコーダ22とを有している。
モータ12は、例えば、回転型のモータである。
【0011】
モータ制御装置100は、モータ12に接続され、設定された位置指令θrefに基づいて、モータ12を制御するためのトルク指令Tmを出力できる。
【0012】
エンコーダ(位置取得部の一例)22は、モータ12の回転位置(モータ位置)を取得できる。エンコーダ22は、例えば、モータ12のシャフトに設けられている。
位置取得部は、エンコーダに限定されるものではなく、位置センサレス制御(エンコーダレス制御といわれる場合もある)に基づいてモータの推定位置を出力する位置推定装置とすることもできる。
【0013】
次に、モータ制御装置100について、詳細に説明する。
モータ制御装置100は、制御部110と、位置速度推定部120と、を有している。
【0014】
制御部110は、位置制御部112と、速度制御部114を有し、
【0016】
及び位置指令θrefに基づいて、モータ12を制御するトルク指令Tmを出力できる。
【0018】
位置制御部112は、位置指令θref及び位置速度推定部120が出力したモータ推定位置θestに基づいて、例えばP制御演算(比例制御演算)に従い、速度指令ωrefを出力できる。
速度制御部114は、位置制御部112が出力した速度指令ωref及び位置速度推定部120が出力したモータ推定速度θd1estに基づいて、例えばPI制御演算(比例積分制御演算)に従い、トルク指令Tmを生成できる。
【0019】
位置速度推定部120は、
図2に示すように、エンコーダ22が出力したモータ位置θと位置速度推定部120が出力したモータ推定位置θestとの差である位置推定偏差eに基づいて、モータ推定位置θest及びモータ推定速度θd1estを出力できる。
位置速度推定部120は、オブザーバ修正器122と、非線形補償器124と、演算器126と、モータ12のモデルであるモータモデル128とを有している。
【0020】
オブザーバ修正器122は、位置推定偏差eに基づいて、オブザーバ修正値raを出力できる。具体的には、オブザーバ修正器122は、位置推定偏差eを低減してゼロにするようにオブザーバ修正値raを出力できる。
オブザーバ修正器122は、次式で示すように、位置推定偏差eに、オブザーバカットオフ周波数fで決定されるオブザーバゲインL
1、L
2、L
3をそれぞれ乗じ、PID制御演算によりオブザーバ修正値raを演算できる。なお、sはラプラス演算子である。
【0021】
ra = L
3・e/s+L
2・e+L
1・s・e 式(1)
【0022】
ここで、オブザーバゲインL
1〜L
3の設定方法の一例について説明する。
オブザーバゲインL
1〜L
3は、例えば
図3に示すような、モータ位置θ及びトルク指令Tmに基づいてモータ位置を推定する、オブザーバOBに基づいて設定できる。
オブザーバOBの状態方程式は次式で表される。
【0024】
ここで、行列A、L、Cを次式のように定義する。
【0028】
特性方程式の極を3重極ωにすると、次式が得られる。
【0030】
式(OB6)に、式(OB2)〜式(OB4)を入れて整理すると、式(OB7)〜式(OB11)を経て、式(OB12)が得られる。
【0034】
式(OB12)において、ラプラス演算子sの係数を比較すると、オブザーバゲインL
1〜L
3は、以下のように設定できる。
【0040】
なお、fは前述のオブザーバのカットオフ周波数である。
【0041】
非線形補償器124は、例えば、エンコーダ22が低分解能である場合の位置又は速度を補償して、制御系のロバスト性を向上できる。また、非線形補償器124は、例えば、低速度域にて速度検出誤差を補償するオブザーバにおける制御対象モデル誤差(変動誤差)を補償して、制御系のロバスト性を向上できる。
非線形補償器124は、
図2に示すように、位置推定偏差eに基づいて、補償トルクTsmaを出力できる。
詳細には、非線形補償器124は、モータ位置θ、位置推定偏差e、トルク指令Tm、及び後述する加算値rbに第1の重み定数w
1を乗じた乗算値rが入力され、少なくとも乗算値rの極性変化に応じて補償トルクTsmaを演算できる。
この非線形補償器124の設計方法及び補償トルクTsmaを出力するための演算内容については、後述する。
【0042】
演算器126は、加算部126aと、加算配分部126bとを有し、オブザーバ修正値ra及び補償トルクTsmaに基づいて、モータ12のモータモデル128への入力値uを演算値として出力できる。
【0043】
加算部126aは、次式で示すように、トルク指令Tmをモータ12のイナーシャノミナル値J
0で除算した除算値Tm/J
0と、オブザーバ修正値raとを加算し、加算値rbを出力できる。
【0044】
rb = Tm/J
0 + ra 式(2)
【0045】
加算配分部126bは、次式で示すように、重み定数w
1、w
2を用いて決定した加算配分に基づいて、加算部126aが出力した加算値rbと補償トルクTsmaとを加算し、モータモデル128への入力値uとして演算できる。重み定数w
1、w
2は、例えば、加算値rbに対する第1の重み定数w
1及び補償トルクTsmaに対する第2の重み定数w
2である。
【0046】
u = w
1・rb + w
2・Tsma 式(3a)
= r + Tsm 式(3b)
【0047】
ここで、第1の重み定数w
1は、第2の重み定数w
2よりも小さいことが好ましい。具体的には、第1の重み定数w
1を、例えば0.1〜0.5、第2の重み定数w
2を、1の近傍の値(例えば0.9〜1.1)とすることが好ましい。
なお、以下、乗算値r(=w
1・rb)は、補償トルクTsmによって補償される前のモータモデル128への入力値を表すので、乗算値rを補償前モータモデル入力という場合がある。
【0048】
モータモデル128は、シリーズに接続された2つの積分器128a、128bを有している。
積分器128aは、入力値uを積分して、モータ推定速度θd1estを出力できる。
積分器128bは、モータ推定速度θd1estを積分して、モータ推定位置θestを出力できる。
即ち、モータモデル128は、演算器126が出力した入力値uに基づいて、モータ推定位置θest及びモータ推定速度θd1estを出力できる。
【0049】
次に、非線形補償器124の設計方法について説明する。
前述のモータモデル128は、摩擦が考慮されていないモデルである。従って、モータ12のイナーシャノミナル値J
0と実際のモータ12及び負荷システムがもつイナーシャとが大きく異なる場合や摩擦が大きい場合には、オブザーバ修正器122によるモータモデルの入力値uの修正が十分でなくなり、位置推定偏差eが過渡状態でハンチングしたり、収束が遅くなったりする場合がある。
そこで、補償前モータモデル入力rを漸近安定化するため、評価関数Vを次式のように定義する。
【0051】
このとき、補償前モータモデル入力rが漸近安定化する必要十分条件は次式のようになる。
【0053】
ここで、モータモデルの入力値uをモデル出力からの逆モデルとして表すと、次式のようになる。
【0055】
ここで、新たな変数θ
rの2階微分を次式のように定義する。
【0059】
ただし、Fはシステム外乱である。
ところで、前述の式(3a)(3b)に示した通り、モータモデルの入力値uは、補償前モータモデル入力r(=w
1・rb)と、補償トルクTsmaに重み定数w
2を乗算した補償トルクTsm(=w
2・Tsma)と、の加算値でもある。
【0060】
式(3a)、(3b)から得られるu=r+w
2・Tsmaを式(C5)に代入すると、次式が得られる。
【0062】
式(C6)を式(C2)に代入すると、次式が得られる
【0064】
式(C7)の右辺第1項は常に負となるので、次式を満たす条件は右辺第2項が負となればよい。
【0068】
従って、式(C9)を満たすように補償トルクTsmaを設計すると、次式を得る。
【0070】
ここで、Jmm=γ・J
0(γ≦1)、γ:調整パラメータ(JmmをJoよりできるだけ小さく設定するためのパラメータ)、Fmax:想定される最大のシステム外乱値、L
1a:調整ゲインである。
式(C10a)に示した非線形補償器124は、入力の絶対値を出力する関数124aを用いて、
図4に示す制御ブロック図で表される。なお、
図4において、調整ゲインL
1a〜L
3aは、それぞれオブザーバゲインL
1〜L
3と同じ値に設定することが好ましい。ただし、調整ゲインL
1a〜L
3aは、それぞれ同じ大きさに設定することもできる。
【0071】
ただし、式(C10a)は補償前モータモデル入力rの極性で頻繁に極性が変化し、チャタリング現象を起こす場合がある。そのため、次式に示すようにチャタリング低減オペレータδを含む関数を付加することもできる。
【0073】
このように、非線形補償器124が、式(C10a)又は式(C10b)に基づいて、補償トルクTsmaを出力するように設計することで、次式(C11)により補償トルクTsmaに重み定数w
2を乗算した補償トルクTsmを得ることができ、低分解能のエンコーダを使用した場合又は位置センサレス制御による位置速度制御を行った場合に、モータ又は負荷イナーシャを含むパラメータ設定あるいは負荷イナーシャの変動誤差が生じてもロバストな制御系を構成できる。
【0074】
Tsm = w
2・Tsma 式(C11)
【0075】
次に、シミュレーション例を示し、モータ制御装置100について更に説明する。
モータ12の負荷イナーシャをモータイナーシャの0.1倍、3倍、15倍とし、それぞれ、モータの位置及び速度を推定する従来のオブザーバを有するモータ制御装置及び本実施例に係るモータ制御装置100について、モータ位置及び位置推定誤差を求めた。
図5A(A)、(B)〜
図5C(A)、(B)の上段のグラフにおいて、横軸は時間(s)、縦軸はモータ位置(rad)を示している。下段のグラフにおいて、横軸は時間(s)、縦軸は位置推定誤差(rad)を示している。
図5A〜
図5Cから明らかなように、モータ制御装置100の位置速度推定部120によれば、負荷イナーシャが変動した場合であっても、従来よりも位置推定誤差が低減される。
【0076】
本発明は、前述の実施例に限定されるものではなく、本発明の要旨を変更しない範囲での変更は可能である。例えば、前述の実施例や変形例の一部又は全部を組み合わせて発明を構成する場合も本発明の技術的範囲に含まれる。
モータは、リニアモータとすることも可能である。モータがリニアモータである場合、回転型モータのトルク指令、回転速度、及び回転位置を、それぞれ推力指令、移動速度、及び移動位置に置き換えて考えることで、モータ制御装置を構成できる。