(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6557185
(24)【登録日】2019年7月19日
(45)【発行日】2019年8月7日
(54)【発明の名称】サーボ制御装置、サーボ制御方法、及びサーボ制御用プログラム
(51)【国際特許分類】
G05B 11/42 20060101AFI20190729BHJP
H02P 29/00 20160101ALI20190729BHJP
【FI】
G05B11/42 Z
H02P29/00
【請求項の数】5
【全頁数】11
(21)【出願番号】特願2016-134274(P2016-134274)
(22)【出願日】2016年7月6日
(65)【公開番号】特開2018-5729(P2018-5729A)
(43)【公開日】2018年1月11日
【審査請求日】2017年8月25日
【前置審査】
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100106002
【弁理士】
【氏名又は名称】正林 真之
(72)【発明者】
【氏名】恒木 亮太郎
(72)【発明者】
【氏名】猪飼 聡史
【審査官】
影山 直洋
(56)【参考文献】
【文献】
特開平06−319284(JP,A)
【文献】
特開2010−250509(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 11/42
H02P 29/00
(57)【特許請求の範囲】
【請求項1】
サーボモータを駆動するための速度指令値を作成する速度指令作成部と、
前記サーボモータの速度を検出する速度検出部と、
前記速度指令作成部が作成した速度指令値と前記速度検出部が検出した速度検出値との差を用いて前記サーボモータへのトルク指令値を作成するトルク指令作成部と、
を具備し、
速度制御ループは前記速度検出部と前記トルク指令作成部とを有し、
前記トルク指令作成部は前記差がそれぞれ入力される積分ゲインと比例ゲインとを有し、
前記積分ゲインと前記比例ゲインは、モータモデルごとにあらかじめ決められた初期値に、前記サーボモータのロータイナーシャに対する機械の負荷イナーシャの比を用いた係数を乗算したものに対して、それぞれ積分ゲイン倍率と比例ゲイン倍率をさらに乗算して得られ、
前記積分ゲイン倍率を前記速度制御ループの遅れ時間に応じて前記比例ゲイン倍率の2乗よりも小さい値とし、
前記積分ゲイン倍率は前記比例ゲイン倍率のβ乗であり、該βは前記速度制御ループの遅れ時間に応じて1以上で2より小さい値をとる定数であり、
前記定数βを、前記速度制御ループの遅れ時間τと定数αを使用して、β=2−ατとした、
サーボモータ制御装置。
【請求項2】
前記サーボモータの位置指令値を作成する位置指令作成部と、
前記サーボモータの位置を検出する位置検出部と、
を具備し、
前記速度指令作成部は、前記位置指令作成部が作成した位置指令値と、前記位置検出部が検出した位置検出値との差を用いて速度指令値を作成することを特徴とする請求項1に記載のサーボモータ制御装置。
【請求項3】
サーボモータを駆動するための速度指令値を作成する速度指令作成ステップと、
前記サーボモータの速度を検出する速度検出ステップと、
作成した前記速度指令値と、検出した速度検出値との差を用いて前記サーボモータへのトルク指令値を作成するトルク指令作成ステップと、を備え、
該トルク指令値によって、前記サーボモータを制御する、サーボモータ制御装置のサーボモータ制御方法において、
速度制御ループで少なくとも前記速度検出ステップと前記トルク指令作成ステップを行い、
前記トルク指令作成ステップは前記差にそれぞれ積分ゲインと比例ゲインとを乗算するステップを含み、
前記積分ゲインと前記比例ゲインは、モータモデルごとにあらかじめ決められた初期値に、前記サーボモータのロータイナーシャに対する機械の負荷イナーシャの比を用いた係数を乗算したものに対して、それぞれ積分ゲイン倍率と比例ゲイン倍率をさらに乗算して得られ、
前記積分ゲイン倍率は前記速度制御ループの遅れ時間に応じて前記比例ゲイン倍率の2乗よりも小さい値であり、
前記積分ゲイン倍率は前記比例ゲイン倍率のβ乗であり、該βは前記速度制御ループの遅れ時間に応じて1以上で2より小さい値をとる定数であり、
前記定数βを、前記速度制御ループの遅れ時間τと定数αを使用して、β=2−ατとした、
サーボモータ制御方法。
【請求項4】
前記サーボモータの位置指令値を作成する位置指令作成ステップと、
前記サーボモータの位置を検出する位置検出ステップと、
を具備し、
前記速度指令作成ステップは、前記位置指令作成ステップで作成した位置指令値と、前記位置検出ステップで検出した位置検出値との差を用いて速度指令値を作成することを特徴とする請求項3に記載のサーボモータ制御方法。
【請求項5】
サーボモータを制御するサーボモータ制御装置としてのコンピュータに、
前記サーボモータを駆動するための速度指令値を作成する速度指令作成処理と、
前記サーボモータの速度を検出する速度検出処理と、
作成した前記速度指令値と、検出した速度検出値との差を用いて前記サーボモータへのトルク指令値を作成するトルク指令作成処理と、を実行させ、
速度制御ループで少なくとも前記速度検出処理と前記トルク指令作成処理を行い、
前記トルク指令作成処理は前記差にそれぞれ積分ゲインと比例ゲインとを乗算し、
前記積分ゲインと前記比例ゲインは、モータモデルごとにあらかじめ決められた初期値に、前記サーボモータのロータイナーシャに対する機械の負荷イナーシャの比を用いた係数を乗算したものに対して、それぞれ積分ゲイン倍率と比例ゲイン倍率をさらに乗算して得られ、
前記積分ゲイン倍率は前記速度制御ループの遅れ時間に応じて前記比例ゲイン倍率の2乗よりも小さい値であり、
前記積分ゲイン倍率は前記比例ゲイン倍率のβ乗であり、該βは前記速度制御ループの遅れ時間に応じて1以上で2より小さい値をとる定数であり、
前記定数βを、前記速度制御ループの遅れ時間τと定数αを使用して、β=2−ατとした、
サーボモータ制御用プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーボ制御装置、サーボ制御方法、及びサーボ制御用プログラムに関する。
【背景技術】
【0002】
サーボモータは送り軸を駆動する用途等に使用される。サーボモータの速度を制御する速度制御ループには、一般的にPID制御が制御則として採用され、比例ゲインと積分ゲイン、場合によっては微分ゲインが存在する。
速度制御ループゲインの最適値は、モータ単体だけではなく、サーボモータに接続される機械の特性(負荷イナーシャ比や共振周波数など)にも依存して決まる。
【0003】
サーボモータはさまざまな機械の駆動軸等として使用されるため、予め最適値を決めておくことができない。そこで、モータ単体である応答性になるように速度制御ループゲインの初期値を決め、その初期値に定数を乗算することで機械に合わせた応答性が得られるように調整が行われている。速度制御ループゲインの初期値は、速度制御ループがモータ単体である応答性になるようにモータ毎に決められている。
【0004】
例えば特許文献1に、制御系に遅れ時間が存在しない場合に、減衰特性を一定に保ちながら応答性を大きくするために、積分ゲインを比例ゲイン倍率の2乗で大きくしていくことの開示がある。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平6−319284号公報(段落0109−0117等)
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、速度制御ループには、速度制御ループの内側にある電流制御ループの応答性による遅れ、速度検出器の通信の遅れ、速度制御ループの計算周期による遅れ等の遅れが存在するため、積分ゲインを比例ゲイン倍率の2乗で大きくしていくと、速度ゲインは積分ゲインのみによる限界で制限されてしまい、比例ゲインを十分に高くとることができないことになる。
【0007】
本発明は、制御系に遅れ時間が存在する場合において、遅れ時間に応じて適正な倍率を積分ゲインに掛けることで、応答性を高めることができる、サーボ制御装置、サーボ制御方法、及びサーボ制御用プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明に係るサーボモータ制御装置は、サーボモータを駆動するための速度指令値を作成する速度指令作成部と、
前記サーボモータの速度を検出する速度検出部と、
前記速度指令作成部が作成した速度指令値と前記速度検出部が検出した速度検出値との差を用いて前記サーボモータへのトルク指令値を作成するトルク指令作成部と、
を具備し、
速度制御ループは前記速度検出部と前記トルク指令作成部とを有し、
前記トルク指令作成部は前記差がそれぞれ入力される積分ゲインと比例ゲインとを有し、
前記積分ゲインと前記比例ゲインは、モータモデルごとにあらかじめ決められた初期値に、前記サーボモータのロータイナーシャに対する機械の負荷イナーシャの比を用いた係数を乗算したものに対して、それぞれ積分ゲイン倍率と比例ゲイン倍率をさらに乗算して得られ、
前記積分ゲイン倍率を前記速度制御ループの遅れ時間に応じて前記比例ゲイン倍率の2乗よりも小さい値と
し、
前記積分ゲイン倍率は前記比例ゲイン倍率のβ乗であり、該βは前記速度制御ループの遅れ時間に応じて1以上で2より小さい値をとる定数であり、
前記定数βを、前記速度制御ループの遅れ時間τと定数αを使用して、β=2−ατとした、
サーボモータ制御装置である。
【0009】
本発明に係るサーボモータ制御方法は、サーボモータを駆動するための速度指令値を作成する速度指令
作成ステップと、
前記サーボモータの速度を検出する速度検出ステップと、
作成した前記速度指令値と、検出した速度検出値との差を用いて前記サーボモータへのトルク指令値を作成するトルク指令
作成ステップと、を備え、
該トルク指令値によって、前記サーボモータを制御する、サーボモータ制御装置のサーボモータ制御方法において、
速度制御ループで少なくとも前記速度検出ステップと前記トルク指令作成ステップを行い、
前記トルク指令作成ステップは前記差にそれぞれ積分ゲインと比例ゲインとを乗算するステップを含み、
前記積分ゲインと前記比例ゲインは、モータモデルごとにあらかじめ決められた初期値に、前記サーボモータのロータイナーシャに対する機械の負荷イナーシャの比を用いた係数を乗算したものに対して、それぞれ積分ゲイン倍率と比例ゲイン倍率をさらに乗算して得られ、
前記積分ゲイン倍率は前記速度制御ループの遅れ時間に応じて前記比例ゲイン倍率の2乗よりも小さい値であ
り、
前記積分ゲイン倍率は前記比例ゲイン倍率のβ乗であり、該βは前記速度制御ループの遅れ時間に応じて1以上で2より小さい値をとる定数であり、
前記定数βを、前記速度制御ループの遅れ時間τと定数αを使用して、β=2−ατとした、
サーボモータ制御方法である。
【0010】
本発明に係るサーボモータ制御用プログラムは、サーボモータを制御するサーボモータ制御装置としてのコンピュータに、
前記サーボモータを駆動するための速度指令値を作成する速度指令
作成処理と、
前記サーボモータの速度を検出する速度検出処理と、
作成した前記速度指令値と、検出した速度検出値との差を用いて前記サーボモータへのトルク指令値を作成するトルク指令
作成処理と、を実行させ、
速度制御ループで少なくとも前記速度検出処理と前記トルク指令作成処理を行い、
前記トルク指令作成処理は前記差にそれぞれ積分ゲインと比例ゲインとを乗算し、
前記積分ゲインと前記比例ゲインは、モータモデルごとにあらかじめ決められた初期値に、前記サーボモータのロータイナーシャに対する機械の負荷イナーシャの比を用いた係数を乗算したものに対して、それぞれ積分ゲイン倍率と比例ゲイン倍率をさらに乗算して得られ、
前記積分ゲイン倍率は前記速度制御ループの遅れ時間に応じて前記比例ゲイン倍率の2乗よりも小さい値であ
り、
前記積分ゲイン倍率は前記比例ゲイン倍率のβ乗であり、該βは前記速度制御ループの遅れ時間に応じて1以上で2より小さい値をとる定数であり、
前記定数βを、前記速度制御ループの遅れ時間τと定数αを使用して、β=2−ατとした、
サーボモータ制御用プログラムである。
【発明の効果】
【0011】
本発明によれば、速度制御ループに遅れ時間が存在する場合において、遅れ時間に応じて適正な倍率を積分ゲインに掛けることで、応答性を高めることができる。
【図面の簡単な説明】
【0012】
【
図1】本発明の一実施形態のサーボモータ制御装置及びサーボモータを示すブロック図である。
【
図2】
図1に示されたサーボモータ制御装置の動作を示すフローチャートである。
【
図3】速度ゲインを求める方法を示すフローチャートである。
【
図4】速度指令作成部、位置検出部、位置指令作成部、及びサーボモータを示すブロック図である。
【
図5】制御系に遅れ時間がまったく存在しない場合の制御系のブロック図である。
【
図6】値βと遅れ時間τとの関係を示す特性図である。
【発明を実施するための形態】
【0013】
以下、本発明の一実施形態について図面を用いて詳細に説明する。
速度制御ループに遅れ時間が存在しない場合の、本発明の実施形態の前提となる技術について説明する。
従来は機械の剛性が高くなかった点と、高周波の機械共振を回避するためのフィルタ技術が十分でなかった点から、速度制御ループゲインの初期値に掛かる倍率はそれほど高く設定されていなかった。
【0014】
しかし、機械の剛性が高くなり、機械共振を回避するフィルタ技術の向上により速度制御ループゲインの初期値からの倍率が高くなってきた。
制御系に遅れ時間がまったく存在しないとすると、制御系のブロック図は
図5に示すようなブロック図である。
外乱dから出力yまでの伝達関数は、数式1(数1として示す)となる。
【数1】
となる。積分ゲインk
iと比例ゲインk
pをカットオフ周波数ω
nと減衰係数ζで表すと、数式(数2として示す)となる。
【数2】
となる。これを次のように数式3(数3として示す)のように変形する。
【数3】
【0015】
モータモデルごとに、ある基準の応答性であらかじめ決められた、積分ゲインの初期値は以下の数式4(数4として示す)のように決め、比例ゲインの初期値は数式5(数5として示す)のように決める。
【数4】
【数5】
【0016】
従来は比例ゲインと積分ゲインとを同じ倍率で上げることで調整を行っていた。負荷イナーシャ比を考慮するためであればこれで良いが、これによって応答性も調整すると、減衰特性がゲイン倍率によって変わってしまうという課題があった。また、速度ゲインの限界は比例ゲインのみで制限されるため、積分ゲインを高くとることができなかった。
【0017】
速度制御ループに遅れ時間が存在しない場合に、既に説明したように、特許文献1では、減衰特性を一定に保ちながら応答性を大きくするために、積分ゲインは比例ゲイン倍率の2乗で大きくしていた。
しかし、速度制御ループの内側にある電流制御ループの応答性による遅れ、速度検出器の通信の遅れ、速度制御ループの計算周期による遅れ等の遅れが存在するため、積分ゲインを比例ゲイン倍率の2乗で大きくしていくと、速度ゲインは積分ゲインのみによる限界で制限されてしまい、比例ゲインを十分に高くとることができなかった。
【0018】
以下、本発明の実施形態について図面を用いて詳細に説明する。
図1は本発明の一実施形態のサーボモータ制御装置及びサーボモータを示すブロック図である。
図1に示すサーボモータ制御装置は、サーボモータ10の回転の速度を検出して速度値を出力する速度検出部20、サーボモータ10に対する速度指令を作成して出力する速度指令作成部30、トルク指令作成部40及び速度指令値と速度値との差を求める減算器50を備えている。トルク指令作成部40は、減算器50と接続される、比例ゲイン401及び積分ゲイン402、積分ゲイン402と接続される積分器403、速度指令と検出された速度とを用いて、速度制御ループで生ずる遅れ時間を検出する遅れ検出部404、比例ゲイン401と積分ゲインのゲインを調整するゲイン制御部405、及び比例ゲイン401の出力と積分器403の出力とを加算し、トルク指令としてサーボモータ10に出力する加算器406を備えている。積分ゲイン402は入力に係数を乗算し、積分器403は積分ゲイン402の出力を積分する。比例ゲイン401は入力に係数を乗算する。ゲイン制御部405は検出された遅れ時間に応じて、積分ゲイン倍率を比例ゲイン倍率の2乗よりも小さい値とするように積分ゲイン402を制御する。サーボモータ10は工作機械、産業機械の軸を駆動する。
【0019】
速度制御ループに遅れ時間が存在する場合は、積分ゲイン倍率を比例ゲイン倍率の2乗で大きくすると、倍率を大きくするにつれて積分ゲインが過剰になることが分かった。積分ゲインが過剰になると、オーバシュートが大きくなり、振動的になってしまう。本発明者は遅れ時間に応じて比例ゲイン倍率の2乗よりも小さい値を積分ゲインに掛けることで(積分ゲイン倍率<比例ゲイン倍率の2乗とする)、減衰特性をあまり変えずに、応答性を高めることができることを見出した。
【0020】
積分ゲイン倍率を比例ゲイン倍率の2乗よりも小さい値とするために、本実施形態では、(積分ゲイン倍率)=(比例ゲイン倍率)
β(1≦β<2)で求める。ただし、本実施形態で示したこれらの方法は一例であり、その他の方法により積分ゲイン倍率を比例ゲイン倍率の2乗よりも小さい値としてもよい。値βは速度制御ループで生ずる遅れ時間を用いて決めることができる。速度制御ループで生ずる遅れ時間は、既に説明したように、電流制御ループの応答性による遅れ、速度検出器の通信の遅れ、速度制御ループの計算周期による遅れ等によって生ずるが、この遅れはモータ特性や速度制御ループを構成する回路の特性で決まり、予め決めることができる。よって、値βも予め決めることができる。
【0021】
本実施形態では速度制御ループで生ずる遅れ時間の変動を考慮して、速度指令と検出された速度とを用いて、遅れ検出部404によって速度制御ループで生ずる遅れ時間を検出している。速度指令に対する、フィールドバックされる速度の遅れ時間を測定することで、速度制御ループで生ずる遅れ時間を検出することができる。値βを予め決める場合には、
図1の遅れ検出部404は不要である。
【0022】
積分ゲイン倍率を比例ゲイン倍率のβ乗で大きくする場合、積分ゲインk
i、比例ゲインk
pは数式6(数6として示す)で表すことができる。
【数6】
本発明者らによる知見によれば、上記数式5のように、積分ゲイン倍率は、積分ゲイン倍率=比例ゲイン倍率のβ乗(1≦β<2)で求めることができる。また、本発明者らによる知見によれば、βは遅れ時間τと定数αを用いて、β=2−ατと1次関数で表せる。この関係を用いて、遅れ時間τからβの値を求めることができる。αは固定値で、α=0.25付近の値をとることができる。値βと遅れ時間τとの関係の一例を
図6の特性図に示す。
数式3、数式5に示した、ω
n/ω
n0は速度ゲイン倍率VGである。比例ゲイン倍率は速度ゲイン倍率VG(VG=ω
n/ω
n0)、積分ゲイン倍率は速度ゲイン倍率VGのβ乗(VG
β=(ω
n/ω
n0)
β)となる。積分ゲイン倍率の減算量やβの値は出荷時に予め決めておくことができるが、速度ゲイン倍率VGは機械特性の影響を受けるため、出荷時に予め決めておくことはできないので、サーボモータに接続される工作機械等の特性に従って適宜設定する。
【0023】
図2は
図1に示されたサーボモータ制御装置の動作を示すフローチャートである。
まず、ステップS101において、速度指令作成部30が速度指令を作成し、ステップS102において速度検出部20が速度を検出する。次に、ステップS103において、モータモデルごとに予め決められた初期値に、ロータイナーシャに対する機械の負荷イナーシャの比を用いた係数(1+J
L/J
m)(
図2のステップ103においては、負荷イナーシャ比として示している)を乗算し、調整された積分ゲイン倍率と比例ゲイン倍率をそれぞれ乗算して、積分ゲイン倍率と比例ゲイン倍率とを求める。次に、ステップS104において、速度指令値と速度値との差を求め、その差を用いて、積分ゲイン402の出力値を積分した積分器403の出力値と、比例ゲイン401の出力値とを加算器406で加算してトルク指令を作成し、出力する。
【0024】
図3は速度ゲインを求める方法を示すフローチャートである。値βを、モータ特性や速度制御ループを構成する回路の特性から求める(ステップS201)。次にゲインの安定余裕があるかないかを判断する(ステップS202)。安定余裕がある場合には速度ゲイン倍率を大きくし(ステップS203)、ステップS202に戻る。安定余裕がない場合には初めに設定された速度ゲイン倍率を維持する。
【0025】
図4は速度指令作成部、位置検出部、位置指令作成部、及びサーボモータを示すブロック図である。
位置指令作成部70は位置指令を作成し、位置検出部60はサーボモータ10の回転の位置を検出する。位置指令値と位置との差を減算器80で求め、その差を位置制御ゲイン301と微分部302とに入力する。加算器304は、微分部302の出力に係数を乗算する係数部303の出力と、位置制御ゲイン301の出力との加算値を速度指令として出力する。
【0026】
以上、本発明の実施形態について説明したが、サーボモータ制御装置はその機能の全部又は一部をハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【0027】
ソフトウェアによって実現する場合、サーボモータ制御装置の一部又は全部を、CPUとプログラムを記憶したハードディスク、ROM等の記憶部とを含むコンピュータで構成して、
図1のブロック図及び
図2、
図3のフローチャートに沿ったプログラムに従い、演算に必要な情報をRAM等の第2の記憶部に記憶し、処理を実行することでサーボモータ制御装置の一部又は全部の動作をプログラムで実行ことができる。プログラムは、プログラムが記録されたCD−ROM、DVD、フラッシュメモリ等の外部記憶媒体からハードディスク等の記憶部に読み込むことができる。
【符号の説明】
【0028】
10 サーボモータ
20 速度検出部
30 速度指令作成部
50 減算器
60 位置検出部
70 位置指令作成部
80 減算器
401 比例ゲイン
402 積分ゲイン
403 積分器
404 遅れ検出部
405 ゲイン制御部
406 減算器