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

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

▶ 株式会社安川電機の特許一覧

特許7576151モータ制御装置、モータ制御方法、及びプログラム
<>
  • 特許-モータ制御装置、モータ制御方法、及びプログラム 図1
  • 特許-モータ制御装置、モータ制御方法、及びプログラム 図2A
  • 特許-モータ制御装置、モータ制御方法、及びプログラム 図2B
  • 特許-モータ制御装置、モータ制御方法、及びプログラム 図3A
  • 特許-モータ制御装置、モータ制御方法、及びプログラム 図3B
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-10-22
(45)【発行日】2024-10-30
(54)【発明の名称】モータ制御装置、モータ制御方法、及びプログラム
(51)【国際特許分類】
   G05B 11/36 20060101AFI20241023BHJP
   H02P 29/00 20160101ALI20241023BHJP
   G05B 11/32 20060101ALN20241023BHJP
【FI】
G05B11/36 B
H02P29/00
G05B11/32 F
【請求項の数】 6
(21)【出願番号】P 2023222882
(22)【出願日】2023-12-28
【審査請求日】2023-12-28
(73)【特許権者】
【識別番号】000006622
【氏名又は名称】株式会社安川電機
(74)【代理人】
【識別番号】110000154
【氏名又は名称】弁理士法人はるか国際特許事務所
(72)【発明者】
【氏名】浅井 哲也
(72)【発明者】
【氏名】古賀 稔
(72)【発明者】
【氏名】鷹尾 和英
【審査官】牧 初
(56)【参考文献】
【文献】特開2011-135632(JP,A)
【文献】特開平04-317578(JP,A)
【文献】特開平07-315650(JP,A)
【文献】特開2003-058213(JP,A)
【文献】特開2014-090647(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 11/00-13/04
H02P 4/00
H02P 25/08-25/098
H02P 29/00-31/00
(57)【特許請求の範囲】
【請求項1】
入力位置指令値に基づいて、モータを含む機器をモデル化した数式を計算することで第1の制御目標値を演算する第1の演算部と、
前記入力位置指令値の微分演算に基づいて第2の制御目標値を演算する第2の演算部と、
前記第1の制御目標値と前記第2の制御目標値とに基づいて合成制御目標値を生成する合成部と、
前記合成制御目標値に基づいて前記モータの駆動を制御する駆動制御部と、
を有し、
前記第1の制御目標値は、第1の速度制御目標値を含み、
前記第2の制御目標値は、第2の速度制御目標値を含み、
前記合成部は、前記第1の速度制御目標値と前記第2の速度制御目標値とを所与の割合で合成することで前記合成制御目標値である合成速度制御目標値を生成し、
前記駆動制御部は、前記合成速度制御目標値に基づいて前記モータの駆動を制御する、
モータ制御装置。
【請求項2】
入力位置指令値に基づいて、モータを含む機器をモデル化した数式を計算することで第1の制御目標値を演算する第1の演算部と、
前記入力位置指令値の微分演算に基づいて第2の制御目標値を演算する第2の演算部と、
前記第1の制御目標値と前記第2の制御目標値とに基づいて合成制御目標値を生成する合成部と、
前記合成制御目標値に基づいて前記モータの駆動を制御する駆動制御部と、
を有し、
前記合成部は、前記第1の制御目標値と前記第2の制御目標値とを1-α:α(0≦α≦1.0)の割合で合成することにより前記合成制御目標値を生成する、
ータ制御装置。
【請求項3】
前記第1の制御目標値は、第1のトルク制御目標値を含み、
前記第2の制御目標値は、第2のトルク制御目標値を含み、
前記合成部は、前記第1のトルク制御目標値と前記第2のトルク制御目標値とを所与の割合で合成することで前記合成制御目標値である合成トルク制御目標値を生成し、
前記駆動制御部は、前記合成トルク制御目標値に基づいて前記モータを駆動させるためのトルク指令修正値を生成する、
請求項1又は2に記載のモータ制御装置。
【請求項4】
前記第2の演算部は、
前記入力位置指令値の2階微分値と、前記入力位置指令値の1階微分値に所定の粘性摩擦係数を乗じて算出される粘性摩擦補償値と、に基づいて、前記第2のトルク制御目標値を演算する、
請求項3に記載のモータ制御装置。
【請求項5】
入力位置指令値に基づいて、モータを含む機器をモデル化した数式を計算することで第1の制御目標値を演算し、
前記入力位置指令値の微分演算に基づいて第2の制御目標値を演算し、
前記第1の制御目標値と前記第2の制御目標値とを1-α:α(0≦α≦1.0)の割合で合成することにより合成制御目標値を生成し、
前記合成制御目標値に基づいて前記モータの駆動を制御する、
モータ制御方法。
【請求項6】
入力位置指令値に基づいて、モータを含む機器をモデル化した数式を計算することで第1の制御目標値を演算する第1の演算部、
前記入力位置指令値の微分演算に基づいて第2の制御目標値を演算する第2の演算部、
前記第1の制御目標値と前記第2の制御目標値とを1-α:α(0≦α≦1.0)の割合で合成することにより合成制御目標値を生成する合成部、
前記合成制御目標値に基づいて前記モータの駆動を制御する駆動制御部、
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モータ制御装置、モータ制御方法、及びプログラムに関する。
【背景技術】
【0002】
下記特許文献1には、制御対象をモデル化した制御モデルに従った所謂モデル追従制御を用いて追従性を高める技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2018-151889号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
制御対象のモデル化の精度には限界があることより、制御対象であるモータに対する指令に遅れが生じてしまう場合がある。その結果、所謂オーバーシュート等が発生してしまう可能性がある。
【0005】
本発明は上記課題に鑑みてされたものであって、その目的は、応答性能を向上するモータ制御装置、モータ制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0006】
本開示の一側面に係るモータ制御装置は、入力位置指令値に基づいて、モータを含む機器をモデル化した数式を計算することで第1の制御目標値を演算する第1の演算部と、前記入力位置指令値の微分演算に基づいて第2の制御目標値を演算する第2の演算部と、前記第1の制御目標値と前記第2の制御目標値とに基づいて合成制御目標値を生成する合成部と、前記合成制御目標値に基づいて前記モータの駆動を制御する駆動制御部と、を有する。
【発明の効果】
【0007】
本開示によれば、応答性能を向上するモータ制御装置、モータ制御方法、及びプログラムを提供することができる。
【図面の簡単な説明】
【0008】
図1】モータ制御装置の全体構成の一例を示す図である。
図2A】従来例のモータ制御装置の応答性能を説明するためのグラフである。
図2B】本実施形態に係るモータ制御装置の応答性能を説明するためのグラフである。
図3A】駆動制御部で実行される処理を示すフローチャートである。
図3B】モデル追従制御部及び追加フィードフォワード制御部で実行される処理を示すフローチャートである。
【発明を実施するための形態】
【0009】
[モータ制御装置の概要]
従来のモデル追従制御では、上述のように、制御対象のモデル化の精度が十分でない場合があり、所謂オーバーシュートが発生してしまう場合があった。そこで、本実施形態に係るモータ制御装置1においては、モデル追従制御に対して、追加フィードフォワード制御に基づく修正を加えることで、応答性能を向上する構成を採用する。
【0010】
なお、モータMには不図示のエンコーダ等の位置検出センサが取り付けられており、位置検出センサによりモータMの検出位置(現在の回転位置)が取得されるとよい。また、検出位置の変化(1階微分値)に基づいて、検出速度(現在の回転速度)が取得されるとよい。そして、モータ制御装置1においては、モータMの検出位置が目標の回転位置まで回転したかどうかを判断しながら、目標の位置に近づくようフィードバックループによる駆動制御が行われる。
【0011】
図1は、本実施形態に係るモータ制御装置の全体構成の一例を示す図である。図1に示すように、モータ制御装置1は、第1の演算部であるモデル追従制御部10と、第2の演算部である追加フィードフォワード制御部20と、合成部30と、駆動制御部40と、を含む。
【0012】
モータ制御装置1は、1又は複数のコンピュータで構成されているとよい。モータ制御装置1は、少なくとも1以上のプロセッサと、揮発性メモリ又は不揮発性メモリの少なくともいずれかのメモリと、有線通信用の通信インタフェース又は無線通信用の通信インタフェースと、を含む。モデル追従制御部10、追加フィードフォワード制御部20、合成部30、及び駆動制御部40は、モータ制御装置1のプロセッサにより実現されるとよい。また、モータ制御装置1に記憶されるプログラムは、ネットワークを介して供給されてもよい。例えば、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部(例えば、メモリカードスロット)、又は、外部機器と接続するための入出力部(例えば、USB端子)が含まれてもよい。この場合、情報記憶媒体に記憶されたプログラムが読取部又は入出力部を介して供給されてもよい。
【0013】
モータ制御装置1は、上位制御装置100からの指令に基づいて制御対象であるモータMの駆動を制御する。具体的には、モデル追従制御部10及び追加フィードフォワード制御部20に、上位制御装置100から入力位置指令値がそれぞれ入力され、それら各制御部からの出力に基づいて、駆動制御部40によりモータMの駆動を制御する。モータMは、例えば、サーボモータであるとよい。上位制御装置100は、例えば汎用のパーソナルコンピュータ、PLC(Programable Logic Controller)、モーションコントローラ等で構成されているとよい。
【0014】
[モデル追従制御部]
モデル追従制御部10は、上位制御装置100から入力される入力位置指令値に基づいて、モータMを含む機器をモデル化した数式(以下、モデル数式という)を計算することで、第1の制御目標値である第1のトルク制御目標値T1及び第1の速度制御目標値V1と、位置制御目標値P1を出力する。モデル数式におけるモデル化の対象である機器には、モータMの駆動に用いられる1又は複数の機器等が含まれるとよく、例えば、モータMと、位置制御器及び速度制御器とが含まれるよい。モデル数式は、例えば、慣性モーメントなどモータMの機械的な特性に基づいて予め生成されているとよい。
【0015】
[追加フィードフォワード制御部]
追加フィードフォワード制御部20は、上位制御装置100から入力される入力位置指令値に基づいて、第2の制御目標値である第2のトルク制御目標値T2及び第2の速度制御目標値V2を出力する。
【0016】
具体的には、追加フィードフォワード制御部20は、入力位置指令値の2階微分値に、入力位置指令値の1階微分値に所定の粘性摩擦係数を乗じて算出される粘性摩擦補償値を加算する。さらに、追加フィードフォワード制御部20は、2階微分値に粘性摩擦補償値を加算した値に、トルクフィードフォワードゲインを乗算し、ノイズ低減フィルタによりフィルタリング処理を行い、第2のトルク制御目標値T2を出力する。所定の粘性摩擦係数は、モータMの性能やモータMの使用環境などに応じて予め設定されているとよい。
【0017】
また、追加フィードフォワード制御部20は、入力位置指令値の1階微分値に速度フィードフォワードゲインを乗算することで、第2の速度制御目標値V2を出力する。
【0018】
[合成部]
合成部30は、トルク制御目標値合成部30Aと、速度制御目標値合成部30Bとを含む。
【0019】
トルク制御目標値合成部30Aは、第1のトルク制御目標値T1と第2のトルク制御目標値T2とを所与の割合で合成することで合成制御目標値である合成トルク制御目標値T3を生成する。所与の割合を1-α:αとする場合、αは例えば0.1であるとよい。この場合、第1のトルク制御目標値T1の割合が90%であり、第2のトルク制御目標値T2の割合が10%となる。
【0020】
速度制御目標値合成部30Bは、第1の速度制御目標値V1と第2の速度制御目標値V2とを所与の割合で合成することで合成制御目標値である合成速度制御目標値V3を生成する。所与の割合を1-β:βとする場合、βは例えば0.1であるよい。この場合、第1の速度制御目標値V1の割合が90%であり、第2の速度制御目標値V2の割合が10%となる。
【0021】
なお、割合α、βは、ユーザの操作により予め設定されるものであるとよい。例えば、実際にモータMを駆動させることでオーバーシュート量を取得し、それが小さくなるように適宜設定されるとよい。なお、割合α、βは、0以上1以下であればよい。そのため、例えば、割合αは0であってもよい。この場合、第1のトルク制御目標値T1の割合が100%となり、第2のトルク制御目標値T2の割合が0%となる。同様に、割合βを0としてもよい。また、割合αと割合βは互いに異なってもよい。
【0022】
また、合成トルク制御目標値T3は、第1のトルク制御目標値T1と第2のトルク制御目標値T2に基づいて生成される値であればよく、それらを所与の割合で合成して生成されるものに限られない。例えば、割合αは予め設定されているものではなく、検出速度等に応じて可変であってもよい。合成速度制御目標値V3についても同様である。
【0023】
[駆動制御部]
駆動制御部40は、位置制御部41と、速度制御部42とを含む。位置制御部41は、不図示の位置検出センサにより取得された現在の回転位置と位置制御目標値P1との差である位置偏差P2に基づいて、速度指令V4を出力する。位置制御部41は、例えば、位置偏差P2に加算するための当該位置偏差P2の積分値を算出するように構成された積分部を備え、当該積分部の出力に位置偏差P2を加算した後に位置制御ゲインを乗算する、いわゆるPI制御を行うよう構成されているとよい。
【0024】
速度制御部42は、位置検出センサにより検出される現在の回転位置の1階微分値に基づく現在の検出速度と、合成速度制御目標値V3を速度指令V4により修正した修正目標速度と、の差である速度偏差V5に基いて、トルク指令T4を出力する。速度制御部42は、例えば、速度偏差V5に加算するための当該速度偏差V5の積分値を算出するように構成された積分部を備え、当該積分部の出力に速度偏差V5を加算した後に速度制御ゲインを乗算する、いわゆるPI制御を行うよう構成されているとよい。
【0025】
さらに、駆動制御部40は、トルク指令T4と合成トルク制御目標値T3とに基づいて、トルク指令修正値T5を生成する。トルク指令修正値T5は駆動電流値に変換されてモータMに対して入力されるとよい。
【0026】
ここで、モデル追従制御部10により演算される位置制御目標値P1は、上位制御装置100から入力される入力位置指令値に基づいて予測されるモータMの回転位置に関する値である。また、速度制御目標値合成部30Bにより生成される合成速度制御目標値V3は、上位制御装置100から入力される入力位置指令値に基づいて予測されるモータMの回転速度に関する値である。また、トルク制御目標値合成部30Aにより生成される合成トルク制御目標値T3は、上位制御装置100から入力される入力位置指令値に基づいて予測されるモータMのトルクに関する値である。
【0027】
位置制御目標値P1、合成速度制御目標値V3、及び合成トルク制御目標値T3は、外乱など種々の要因により実際のモータMの挙動からズレる場合がある。そこで、上述のように、駆動制御部40は、位置制御目標値P1と現在の検出位置との偏差である位置偏差P2に基づいて速度指令V4を出力し、当該速度指令V4により合成速度制御目標値V3を修正する。また、駆動制御部40は、合成速度制御目標値V3を速度指令V4により修正した修正目標速度と、現在の検出速度との偏差である速度偏差V5に基いてトルク指令T4を出力し、当該トルク指令T4により合成トルク制御目標値T3を修正することで、トルク指令修正値T5を生成する。このように、駆動制御部40においては、目標値(予測される値)に対する実際のモータMの挙動のズレを小さくするようモータMの駆動を制御している。
【0028】
[本実施形態に係るモータ制御装置の応答性能]
図2Aは、従来例のモータ制御装置の応答性能を説明するためのグラフである。図2Bは、本実施形態に係るモータ制御装置の応答性能を説明するためのグラフである。図2Aにおいては、α=0かつβ=0の場合、すなわち、追加フィードフォワード制御部20を有しないでモデル追従制御のみを行う従来のモータ制御装置によるモータの挙動を示している。図2Bにおいては、α=0.1かつβ=0の場合、すなわち、本実施形態に係るモータ制御装置1において、第1のトルク制御目標値T1の割合が90%であり、第2のトルク制御目標値T2の割合が10%である合成トルク制御目標値T3に基づいて駆動制御を行った場合のモータMの挙動を示している。図2A図2Bとでは、モータMに対して駆動の停止指令がなされた場合の例を示している。
【0029】
図2Aに示すように、従来のモータ制御装置においては、停止指令後、大きくオーバーシュートが生じており、位置偏差が0に収束するまでに時間を要している。一方で、図2Bに示すように、本実施形態に係るモータ制御装置1においては、図2Aに示す例と比較して、オーバーシュートが小さく、比較的早く位置偏差が0に近づいていることが分かる。すなわち、応答性能が向上していることが分かる。
【0030】
[フローチャート]
次に、図3A及び図3Bを参照して、モータ制御装置1で実行される処理の一例を説明する。図3Aは、駆動制御部で実行される処理を示すフローチャートである。図3Bは、モデル追従制御部及び追加フィードフォワード制御部で実行される処理を示すフローチャートである。モータ制御装置1のプロセッサがメモリに記憶される制御ブログラムを実行することによって、図3A及び図3Bに示す処理が実行される。
【0031】
まず、駆動制御部40は、モータMの現在の回転位置を取得する(S1)。
【0032】
ここで、図3Bに示すように、モデル追従制御部10及び追加フィードフォワード制御部20には上位制御装置100から入力位置指令値が入力される(S11、S13)。モデル追従制御部10は、入力位置指令値に基づいて位置制御目標値P1、第1のトルク制御目標値T1、第1の速度制御目標値V1を演算する(S12)。追加フィードフォワード制御部20は、入力位置指令値に基づいて第2のトルク制御目標値T2、第2の速度制御目標値V2を演算する(S14)。
【0033】
さらに、合成部30により、第1のトルク制御目標値T1と第2のトルク制御目標値T2とに基づいて合成トルク制御目標値T3を生成し、第1の速度制御目標値V1と第2の速度制御目標値V2とに基いて合成速度制御目標値V3を生成する(S15)。
【0034】
そして、駆動制御部40は、モータMの現在の回転位置と、モデル追従制御部10により生成された位置制御目標値P1との差である位置偏差P2を演算する(S2)。また、駆動制御部40は、位置偏差P2に基づいて速度指令V4を出力する(S3)。
【0035】
さらに、S1で取得した現在の回転位置の変化に基づく現在の回転速度と、S15で生成された合成速度制御目標値V3を、S4で出力された速度指令V4により修正した修正目標速度と、の差である速度偏差V5を演算する(S4)。また、駆動制御部40は、速度偏差V5に基いてトルク指令T4を出力する(S5)。さらに、駆動制御部40は、S5で出力したトルク指令T4により、S15で生成された合成トルク制御目標値T3を修正することで、トルク指令修正値T5を生成する(S6)。そして、駆動制御部40は、トルク指令修正値T5に基く駆動電流をモータMに入力する(S7)。モータ制御装置1においては、以上説明した処理を、上位制御装置100から入力位置指令値が入力される度に繰り返す。
【0036】
[まとめ]
本実施形態に係るモータ制御装置1においては、追加フィードフォワード制御部20により生成される制御目標値を用いて、モデル追従制御部10により生成される制御目標値を修正することで、従来のモデル追従制御における課題であったオーバーシュートや位置偏差が残ることを抑制できる。特にモータMに生じる粘性摩擦に関しては使用環境に依存する等の理由により精度良くモデル化することが困難であるところ、粘性摩擦補償を行うことが可能な追加フィードフォワード制御を用いたことより、モータMの駆動制御の精度が向上する。特にモータMの回転の立ち上がり時や立下り時など、モータMの動作に急激な変化が生じた場合においても応答性能を安定させることができる。
【0037】
なお、本実施形態においては、合成部30がトルク制御目標値合成部30A及び速度制御目標値合成部30Bを含む例を説明したが、これに限られず、合成部30はトルク制御目標値合成部30A及び速度制御目標値合成部30Bの少なくともいずれか一方を含むとよい。
【0038】
また、本実施形態においては、モータMがシャフトを回転中心として回転する回転モータである例を説明したが、これに限られず、モータMはリニアモータであってもよい。この場合、トルクの代わりに推力に関する制御目標値を用いて当該リニアモータの駆動を制御するとよい。
【0039】
[付記]
例えば、モータ制御装置1は、以下のような構成も可能である。
(1)
入力位置指令値に基づいて、モータを含む機器をモデル化した数式を計算することで第1の制御目標値を演算する第1の演算部と、
前記入力位置指令値の微分演算に基づいて第2の制御目標値を演算する第2の演算部と、
前記第1の制御目標値と前記第2の制御目標値とに基づいて合成制御目標値を生成する合成部と、
前記合成制御目標値に基づいて前記モータの駆動を制御する駆動制御部と、
を有するモータ制御装置。
(2)
前記合成部は、前記第1の制御目標値と前記第2の制御目標値とを所与の割合で合成することにより前記合成制御目標値を生成する、
(1)に記載のモータ制御装置。
(3)
前記第1の制御目標値は、第1のトルク制御目標値を含み、
前記第2の制御目標値は、第2のトルク制御目標値を含み、
前記合成部は、前記第1のトルク制御目標値と前記第2のトルク制御目標値とを所与の割合で合成することで前記合成制御目標値である合成トルク制御目標値を生成し、
前記駆動制御部は、前記合成トルク制御目標値に基づいて前記モータを駆動させるためのトルク指令修正値を生成する、
(1)又は(2)に記載のモータ制御装置。
(4)
前記第2の演算部は、
前記入力位置指令値の2階微分値と、前記入力位置指令値の1階微分値に所定の粘性摩擦係数を乗じて算出される粘性摩擦補償値と、に基づいて、前記第2のトルク制御目標値を演算する、
(3)に記載のモータ制御装置。
(5)
前記第1の制御目標値は、第1の速度制御目標値を含み、
前記第2の制御目標値は、第2の速度制御目標値を含み、
前記合成部は、前記第1の速度制御目標値と前記第2の速度制御目標値とを所与の割合で合成することで前記合成制御目標値である合成速度制御目標値を生成し、
前記駆動制御部は、前記合成速度制御目標値に基づいて前記モータの駆動を制御する、
(1)~(4)のいずれかに記載のモータ制御装置。
【符号の説明】
【0040】
1 モータ制御装置、10 モデル追従制御部、20 追加フィードフォワード制御部、30 合成部、30A トルク制御目標値合成部、30B 速度制御目標値合成部、40 駆動制御部、41 位置制御部、42 速度制御部、上位制御装置100、M モータ、T1 第1のトルク制御目標値、T2 第2のトルク制御目標値、T3 合成トルク制御目標値、T4 トルク指令、T5 トルク指令修正値、V1 第1の速度制御目標値、V2 第2の速度制御目標値、V3 合成速度制御目標値、V4 速度指令、V5 速度偏差、P1 位置制御目標値、P2 位置偏差。

【要約】
【課題】応答性能を向上するモータ制御装置(1)を提供する。
【解決手段】モータ制御装置(1)は、入力位置指令値に基づいて、モータを含む機器をモデル化した数式を計算することで第1の制御目標値を演算するモデル追従制御部(10)と、入力位置指令値の微分演算に基づいて第2の制御目標値を演算する追加フィードフォワード制御部(20)と、第1の制御目標値と第2の制御目標値とに基づいて合成制御目標値を生成する合成部(30)と、合成制御目標値に基づいてモータ(M)の駆動を制御する駆動制御部(40)と、を有する。
【選択図】図1

図1
図2A
図2B
図3A
図3B