(57)【要約】【課題】  モータの位置制御では加減速を伴う動作があるため、等角速度運動とはならず推定電気角θ’［ｒａｄ］に誤差を有していた。この誤差の影響により、ｄ軸ｑ軸電圧Ｖｄ、Ｖｑ  ［Ｖ］をＵ相、Ｖ相、Ｗ相の電圧指令値Ｖｕ、Ｖｖ、Ｖｗ  ［Ｖ］に変換する際に誤差が生じてしまう。【解決手段】  本発明の電流制御方法は、電流制御で用いられる電流ベクトル制御部において、電気角の推定値を用いて電圧指令値を計算した後の制御周期において、電気角の推定誤差を求めて推定誤差に応じた補償を入力することを特徴とする。【選択図】  図１
2020089046.tif 000002
【特許請求の範囲】
【請求項１】
電気角の検出手段と、
電圧指令値の計算時に、前記検出手段で検出された電気角から電圧出力タイミングでの推定電気角を求める手段と、
前記推定電気角と電圧出力タイミングまたはその近傍での電気角から電気角の推定誤差を求める手段と、
前記推定誤差に基づいて電流ベクトル制御を補償する制御部を有することを特徴とするモータ制御装置。
【請求項２】
前記制御部は、必要とするトルク値に応じてモータへ供給する電流を制御することを特徴とする請求項１に記載のモータ制御装置。
【請求項３】
関節部を介して連結される複数のリンクと、
モータと、
前記モータを制御することにより、前記関節部における前記複数のリンク間の相対的な角度を制御する制御部と、
電気角の検出手段と、
電圧指令値の計算時に、前記検出手段で検出された電気角から電圧出力タイミングでの推定電気角を求める手段と、
前記推定電気角と電圧出力タイミングまたはその近傍での電気角から電気角の推定誤差を求める手段とを有し、
前記制御部は、前記推定誤差に基づいて電流ベクトル制御を補償することを特徴とするロボット装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は産業機器で利用されているモータ制御装置に関するものである。
【背景技術】
【０００２】
本出願人は、垂直多関節ロボットに使用する回転モータの位置制御の開発を行っている。位置制御のマイナーループとして電流制御系を有しており、電流制御部には電流ベクトル制御を用いている。また、高精度な位置制御を実現するために電流制御の高精度化に取り組んでおり、電流ベクトル制御の高精度化の検討を行っている。電流制御部では一定周期Ｔｓ  ［ｓ］ごとにエンコーダでモータの機械角θｍ［ｒａｄ］を検出し、モータの機械角θｍ［ｒａｄ］とモータ極対数Ｐｎから電気角θ［ｒａｄ］を求めている。つぎにＵ相、Ｖ相、Ｗ相の計測電流値ｉｕ、ｉｖ、ｉｗ  ［Ａ］は電気角θ［ｒａｄ］を用いてｄ軸ｑ軸の電流検出値ｉｄ、ｉｑ［Ａ］に変換される。また必要トルク値に応じてｄ軸電流指令値ｉｄ＊  ［Ａ］およびｑ軸電流指令値ｉｑ＊  ［Ａ］が上位の制御系から電流制御部に指令される。ｄｑ軸電流指令値ｉｄ＊  ［Ａ］、ｉｑ＊  ［Ａ］と電流検出値ｉｄ  ［Ａ］、ｉｑ  ［Ａ］を比較し、一致するようにフィードバック制御器が構成されている。フィードバック制御器からの出力電圧指令値Ｖｄ、Ｖｑ  ［Ｖ］はモータに出力する時刻（電圧出力タイミング）での推定電気角θ’［ｒａｄ］を用いてＵ相、Ｖ相、Ｗ相の電圧指令値Ｖｕ、Ｖｖ、Ｖｗ  ［Ｖ］に変換される。なお、推定電気角θ’［ｒａｄ］を用いる理由は、電圧指令値をモータに出力する電圧出力タイミングがエンコーダから求めた電気角θ［ｒａｄ］の計測時刻と異なるためである。計測時刻の差異をＮサンプル、電気角速度をω［ｒａｄ／ｓ］として等角速度運動を仮定すると、推定電気角θ’［ｒａｄ］はθ’＝θ＋ω×Ｎ×Ｔｓで推測することができる。電圧指令値Ｖｕ、Ｖｖ、Ｖｗ  ［Ｖ］はＰＷＭ変調を用いてｄｕｔｙ幅［％］に変換されてＰＷＭアンプを通して出力される。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】廣田幸嗣  編著：「パワーエレクトロニクス回路工学」、森北出版、ｐｐ１５８−１５９（２０１３）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
モータの位置制御では加減速を伴う動作があるため、等角速度運動とはならず推定電気角θ’［ｒａｄ］に誤差を有していた。この誤差の影響により、ｄ軸ｑ軸電圧Ｖｄ、Ｖｑ  ［Ｖ］をＵ相、Ｖ相、Ｗ相の電圧指令値Ｖｕ、Ｖｖ、Ｖｗ  ［Ｖ］に変換する際に誤差が生じ、電流制御の高精度化する上で支障となる場合があった。そこで本発明では、上記問題点を改善する電流制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
その目的を達成するために、本発明の一側面としての電流制御方法は、電流ベクトル制御部で電気角の推定値θ’［ｒａｄ］を用いて電圧指令値を計算した後の制御周期において、電圧指令値をモータに出力する時刻での電気角θ［ｒａｄ］と推定電気角θ’［ｒａｄ］から推定誤差を求めて推定誤差に応じた補償を実施することを特徴とする電流制御方法。
【発明の効果】
【０００６】
電気角の推定誤差の影響を軽減した高精度な電流制御を提供することができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施形態１における説明図
【図２】従来の実施形態における説明図
【図３】本発明の実施形態１におけるｄ軸ｑ軸電流のフィードバック制御系を示す図
【図４】本発明の実施形態３での６軸アーム型産業用ロボットを示す図
【図５】推定電気角の誤差が発生した場合についての従来の電流応答を示す図
【図６】本実施例の手法を用いた場合についての電流応答を示す図
【発明を実施するための形態】
【０００８】
［第１実施形態］
本発明をよく表す代表的なブロック図を図１に示す。
【０００９】
図１は電流ベクトル制御部を示す図であり、位置制御や速度制御などのマイナーループとして動作する。図１において上位の制御系から必要トルク値に応じてモータへのｄ軸電流指令値ｉｄ＊  ［Ａ］およびｑ軸電流指令値ｉｑ＊  ［Ａ］が電流制御部に一定周期Ｔｓ  ［ｓ］ごとに指令することによりモータに電流が供給される。
【００１０】
また、一定周期Ｔｓ  ［ｓ］ごとにＵ相、Ｖ相、Ｗ相の実電流値ｉｕ、ｉｖ、ｉｗ  ［Ａ］が計測されている。
【００１１】
つぎにＵ相、Ｖ相、Ｗ相の計測電流値ｉｕ、ｉｖ、ｉｗ  ［Ａ］は電気角θ［ｒａｄ］を用いてｄ軸ｑ軸の電流検出値ｉｄ、ｉｑ［Ａ］に変換される。ｄｑ軸電流指令値ｉｄ＊  ［Ａ］、ｉｑ＊  ［Ａ］と電流検出値ｉｄ  ［Ａ］、ｉｑ  ［Ａ］を比較し、一致するようにフィードバック制御器が構成されており、ｄｑ軸の電圧指令値に出力される。電圧指令値の計算時に、フィードバック制御器からの出力電圧指令値Ｖｄ、Ｖｑ  ［Ｖ］をモータに出力する時刻での推定電気角θ’［ｒａｄ］を用いてＵ相、Ｖ相、Ｗ相の電圧指令値Ｖｕ、Ｖｖ、Ｖｗ  ［Ｖ］に変換する。なお、推定電気角θ’［ｒａｄ］を用いる理由は、電圧指令値をモータに出力する時刻がエンコーダから求めた電気角θ［ｒａｄ］の計測時刻と異なるためである。計測時刻の差異をＮサンプル、電気角速度をω［ｒａｄ／ｓ］として等角速度運動を仮定すると、推定電気角θ’［ｒａｄ］はθ’＝θ＋ω×Ｎ×Ｔｓで推測することができる。電圧指令値Ｖｕ、Ｖｖ、Ｖｗ  ［Ｖ］はＰＷＭ変調を用いてｄｕｔｙ幅［％］に変換されてＰＷＭアンプを通して出力される。
【００１２】
ここで、電圧指令値Ｖｄ、Ｖｑ  ［Ｖ］は推定電気角θ’  ［ｒａｄ］を用いてＵＶＷ相の電圧に変換される。
【００１３】
【数１】
2020089046.tif 000003
【００１４】
電気角の真値をθ  ［ｒａｄ］とすると、電圧指令値Ｖｄ’、Ｖｑ’は以下の式で表される。
【００１５】
【数２】
2020089046.tif 000004
【００１６】
したがって、電圧出力タイミングまたはその近傍での電気角θ’［ｒａｄ］の推定誤差はｄｑ軸の電圧指令誤差となり、各軸の電圧指令誤差ＶｄｅｒｒおよびＶｑｅｒｒは、Ｖｄｅｒｒ  ＝Ｖｄ’−Ｖｄ、Ｖｑｅｒｒ＝Ｖｑ’−  Ｖｑとなる。
【００１７】
つぎに電圧指令誤差ＶｄｅｒｒおよびＶｑｅｒｒを補償するための補償入力設計手段について考える。まずｄｑ軸電流のフィードバック制御系について説明する。
【００１８】
図３（ａ）にｄ軸電流のフィードバック制御系を、図３（ｂ）にｑ軸電流のフィードバック制御系を示す。
【００１９】
なお、図においてｄ軸の電機子抵抗値をＲ［Ω］、電機子インダクタンスをＬｄ［Ｈ］、ＶｄＨはｄ軸の補償入力電圧であり、Ｖｄｅｒｒはｄ軸の電圧指令誤差である。
【００２０】
同様に図においてｑ軸の電機子抵抗値をＲ［Ω］、電機子インダクタンスをＬｑ［Ｈ］、ＶｑＨはｑ軸の補償入力電圧であり、Ｖｑｅｒｒはｑ軸の電圧指令誤差である。
【００２１】
またＨはゼロ次ホールド要素である。
【００２２】
ここで図３（ａ）のｄ軸フィードバック制御系は以下の離散時間状態方程式で表現できる。
ｘｄ［ｋ＋１］＝  Ａｄ×ｘｄ［ｋ］＋Ｂｄ×ｕｄ［ｋ］
ｙｄ［ｋ］  ＝  Ｃｄ×ｘｄ［ｋ］
ただし、ｕｄ［ｋ］は補償入力電圧と電圧指令誤差の和ＶｄＨ［ｋ］＋Ｖｄｅｒｒ［ｋ］であり、ｘｄ［ｋ］は状態変数である。
【００２３】
ここで制御器を比例制御器とすると、Ａｄの行列サイズは１×１の行列となり、入力ｕｄを用いて所望の状態変数に１サンプルで制御できる。
【００２４】
ここで、時刻０サンプル目で電圧指令誤差Ｖｄｅｒｒ［０］が発生し、時刻１サンプル目で電圧誤差を求めることができ、補償入力電圧により補償することを考えよう。
【００２５】
時刻ｋ＝０での状態方程式は
ｘｄ［１］＝  Ａｄ×ｘｄ［０］＋Ｂｄ×ｕｄ［０］
ｙｄ［０］＝  Ｃｄ×ｘｄ［０］
となる。
【００２６】
また、時刻ｋ＝１での状態方程式は
ｘｄ［２］  ＝  Ａｄ×ｘｄ［１］＋Ｂｄ×ｕｄ［１］
＝  Ａｄ×（Ａｄ×ｘｄ［０］＋Ｂｄ×ｕｄ［０］）＋  Ｂｄ×ｕｄ［１］
＝  Ａｄ２×ｘｄ［０］＋  ［Ａｄ×Ｂｄ  Ｂｄ］  ［ｕｄ［０］  ｕｄ［１］］Ｔ
ｙｄ［１］  ＝  Ｃｄ×ｘｄ［１］
＝  Ｃｄ×（Ａｄ×ｘｄ［０］＋Ｂｄ×ｕｄ［０］）
＝  Ｃｄ×Ａｄ×ｘｄ［０］＋  Ｃｄ×Ｂｄ×ｕｄ［０］
となる。
【００２７】
ここで、たとえば時刻ｋ＝２サンプルでの状態変数ｘｄ［２］を電圧指令誤差Ｖｄｅｒｒ［０］の入力前の状態変数ｘｄ［０］と一致するように制御するためには、電圧補正入力としてｕｄＨ［１］を求めて
ｕｄＨ［１］＝Ｂｄ−１×｛（１−Ａｄ２）×ｘｄ  ［０］−Ａｄ×Ｂｄ×ｕｄ  ［０］｝を与えればよいことがわかる。
【００２８】
ｑ軸のフィードバック制御についてもｄ軸と同様であり、図３（ｂ）のｑ軸フィードバック制御系は以下の離散時間状態方程式で表現できる。
ｘｑ［ｋ＋１］＝  Ａｑ×ｘｑ［ｋ］＋Ｂｑ×ｕｑ［ｋ］
ｙｑ［ｋ］  ＝  Ｃｑ×ｘｑ［ｋ］
ただし、ｕｑ［ｋ］は補償入力電圧と電圧指令誤差の和ＶｑＨ［ｋ］＋Ｖｑｅｒｒ［ｋ］であり、ｘｑ［ｋ］は状態変数である。
【００２９】
ここで制御器を比例制御器とすると、Ａｑの行列サイズは１×１の行列となり、入力ｕｑを用いて所望の状態変数に１サンプルで制御できる。
【００３０】
ここで、時刻０サンプル目で電圧指令誤差Ｖｑｅｒｒ［０］が発生し、時刻１サンプル目で電圧誤差を求めることができ、補償入力電圧により補償することを考えよう。
【００３１】
時刻ｋ＝０での状態方程式は
ｘｑ［１］＝  Ａｑ×ｘｑ［０］＋Ｂｑ×ｕｑ［０］
ｙｑ［０］＝  Ｃｑ×ｘｑ［０］
となる。
【００３２】
また、時刻ｋ＝１での状態方程式は
ｘｑ［２］  ＝  Ａｑ×ｘｑ［１］＋Ｂｑ×ｕｑ［１］
＝  Ａｑ×（Ａｑ×ｘｑ［０］＋Ｂｑ×ｕｑ［０］）＋  Ｂｑ×ｕｑ［１］
＝  Ａｑ２×ｘｑ［０］＋  ［Ａｑ×Ｂｑ  Ｂｑ］  ［ｕｑ［０］  ｕｑ［１］］Ｔ
ｙｑ［１］  ＝  Ｃｑ×ｘｑ［１］
となる。
【００３３】
ここで、たとえば時刻ｋ＝２サンプルでの状態変数ｘｑ［２］を電圧指令誤差Ｖｑｅｒｒ［０］の入力前の状態変数ｘｑ［０］と一致するように制御するためには、電圧補正入力としてｕｑＨ［１］を求めて
ｕｑＨ［１］＝Ｂｑ−１×｛（１−Ａｑ２）×ｘｑ  ［０］−Ａｑ×Ｂｑ×ｕｑ  ［０］｝を与えればよいことがわかる。
【００３４】
ここで実際にサンプリング周期Ｔｓを１００ｅ−６［ｓ］、電機子抵抗Ｒを１［Ω］、電機子インダクタンスＬｑを５ｅ−３  ［Ｈ］、制御器の比例ゲインを１０とし、時刻０で電流指令値は０［Ａ］でかつ、モータに流れている電流は０［Ａ］とする。時刻０で推定電気角の誤差が１［ｒａｄ］発生した場合について電流応答を計算した結果を示す。
【００３５】
図４に示すように、推定電気角の誤差によりモータの電流値は約２０  ｍＡの誤差を持ち、制御器の比例ゲインにより電流値が０に収束していく様子がわかる。
【００３６】
図５に本実施例の手法を用いて推定誤差を補償した結果を示す。推定電気角の誤差によりモータの電流値は約２０  ｍＡの誤差を持つが、誤差補償により時刻ｋ＝２サンプル目以降では誤差なく電流を制御できていることがわかる。
【００３７】
なお、ｑ軸電圧においても同様に補正することにより、指令誤差の影響を低減できる。
【００３８】
以上のように、電気角の推定誤差に基づいて電流ベクトル制御を補償することができる。
【００３９】
［第２実施形態］
実施例１では、電圧指令誤差の影響を低減するように次の時刻で補償入力を与えて、その影響を低減する例を示した。一方、制御器が比例および積分制御で構成されている場合、次の時刻の補償入力だけでは誤差なく電流を制御できない。
【００４０】
制御器を比例・積分制御器とすると、Ａｑの行列サイズは２×２の行列となり、入力ｕｑを用いて所望の状態変数に２サンプルで制御できる。
【００４１】
ここで、時刻０サンプル目で電圧指令誤差Ｖｑｅｒｒ［０］が発生し、時刻１サンプル目で電圧誤差を求めることができ、補償入力電圧により補償することを考えよう。
【００４２】
時刻ｋ＝０での状態方程式は
ｘｑ［１］＝  Ａｑ×ｘｑ［０］＋Ｂｑ×ｕｑ［０］
ｙｑ［０］＝  Ｃｑ×ｘｑ［０］
となる。
【００４３】
また、時刻ｋ＝１での状態方程式は
ｘｑ［２］  ＝  Ａｑ×ｘｑ［１］＋Ｂｑ×ｕｑ［１］
＝  Ａｑ×（Ａｑ×ｘｑ［０］＋Ｂｑ×ｕｑ［０］）＋  Ｂｑ×ｕｑ［１］
＝  Ａｑ２×ｘｑ［０］＋  ［Ａｑ×Ｂｑ  Ｂｑ］［ｕｑ［０］  ｕｑ［１］］Ｔ
ｙｑ［１］  ＝  Ｃｑ×ｘｑ［１］
となる。
【００４４】
また、時刻ｋ＝２での状態方程式は
ｘｑ［３］  ＝  Ａｑ×ｘｑ［２］＋Ｂｑ×ｕｑ［２］
＝  Ａｑ×（Ａｑ×（Ａｑ×ｘｑ［０］＋Ｂｑ×ｕｑ［０］）＋  Ｂｑ×ｕｑ［１］）＋  Ｂｑ×ｕｑ［２］
＝  Ａｑ３×ｘｑ［０］＋  ［Ａｑ２×Ｂｑ    Ａｑ×Ｂｑ  Ｂｑ］  ［ｕｑ［０］  ｕｑ［１］  ｕｑ［２］］Ｔ
ｙｑ［２］  ＝  Ｃｑ×ｘｑ［２］
となる。
【００４５】
ここで、たとえば時刻ｋ＝３サンプルでの状態変数ｘｑ［３］を電圧指令誤差Ｖｑｅｒｒ［０］  の入力前の状態変数ｘｑ［０］と一致するように制御するためには、電圧補正入力としてｕｑＨ［１］を求めて
［ｕｑＨ［１］  ｕｑＨ［２］］  Ｔ  ＝［ＡｑＢｑ  Ｂｑ］  −１×｛（１−Ａｑ３）×ｘｑ  ［０］−Ａｑ２×Ｂｑ×ｕｑ  ［０］｝を与えればよいことがわかる。
【００４６】
制御器の異なる場合もその次数に応じた補償回数を適用することにより、推定電気角の誤差を補償することができる。
【００４７】
［第３実施形態］
ここでは産業用ロボットでの適用例を示す。図６に、複数のリンクが関節部を介して連結された６軸アーム型産業用ロボットを示す。ロボットの各関節部には、複数温リンク間の相対的な角度を制御するモータ制御としてのモータ位置制御装置を設けて、アームの位置制御をおこなっている。位置制御の内部ループとして電流制御部を内蔵している。実施例１および２で述べた電流制御の手法を用いることにより、電流を高精度に制御することができる。高精度な電流制御を用いてアーム型ロボットの位置制御することにより、電気角推定誤差の影響を低減した高精度な位置制御を実現する産業用ロボットを提供することができる。
【００４８】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されないことはいうまでもなく、その要旨の範囲内で種々の変形及び変更が可能である。
【産業上の利用可能性】
【００４９】
本発明の電気角推定誤差の補償手段を用いたモータ位置制御装置では、推定角度誤差の電流応答に与える影響を低減し、より正確な電流応答を行うことができる。このことにより、より高精度な電流制御が可能となる。
【符号の説明】
【００５０】
１  推定誤差角度検出
２  電圧誤差変換手段
３  補償入力設計手段
【図１】
2020089046.tif 000005
【図２】
2020089046.tif 000006
【図３】
2020089046.tif 000007
【図４】
2020089046.tif 000008
【図５】
2020089046.tif 000009
【図６】
2020089046.tif 000010