(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-07
(45)【発行日】2023-11-15
(54)【発明の名称】制御支援装置、制御装置及び制御支援方法
(51)【国際特許分類】
G05B 11/36 20060101AFI20231108BHJP
【FI】
G05B11/36 501Z
(21)【出願番号】P 2022530497
(86)(22)【出願日】2021-06-02
(86)【国際出願番号】 JP2021020938
(87)【国際公開番号】W WO2021251226
(87)【国際公開日】2021-12-16
【審査請求日】2023-01-19
(31)【優先権主張番号】P 2020099963
(32)【優先日】2020-06-09
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100106002
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100165157
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100160794
【氏名又は名称】星野 寛明
(72)【発明者】
【氏名】恒木 亮太郎
【審査官】牧 初
(56)【参考文献】
【文献】特開2013-50767(JP,A)
【文献】特開2017-84104(JP,A)
【文献】特開昭64-88706(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 11/00-13/04
G05D 3/00- 3/20
G05D 13/00-13/66
(57)【特許請求の範囲】
【請求項1】
モータを制御するサーボ制御装置の少なくとも1つのフィルタの係数と、フィードバックゲインと、の少なくとも一方を調整するための支援を行う制御支援装置であって、
調整後における、前記少なくとも1つのフィルタの係数と、前記フィードバックゲインと、の少なくとも一方からなる第1の情報を取得するサーボ状態情報取得部と、
調整前における、前記少なくとも1つのフィルタの係数と、前記フィードバックゲインと、の少なくとも一方からなる第2の情報及び前記第1の情報を用いて、前記フィルタの係数及び前記フィードバックゲインの少なくとも一方の調整前後における、前記フィルタの入出力ゲイン及び位相遅れの周波数特性と、前記フィードバックゲインの入出力ゲイン及び位相遅れの周波数特性と、のうちの少なくとも一方の周波数特性を計算する周波数特性計算部と、
調整前後における前記少なくとも一方の周波数特性と、前記フィルタの係数と前記フィードバックゲインとの少なくとも一方の調整前の、前記サーボ制御装置の入出力ゲイン及び入出力の位相遅れの測定した周波数特性と、に基づいて、前記フィルタの係数及び前記フィードバックゲインの少なくとも一方の調整後の前記サーボ制御装置の入出力ゲイン及び位相遅れの周波数特性の推定値を求める状態推定部と、
を備えた制御支援装置。
【請求項2】
前記サーボ制御装置の入出力ゲイン及び入出力の位相遅れの測定した周波数特性及び前記第2の情報を保存する調整前状態情報保存部を備えた請求項1に記載の制御支援装置。
【請求項3】
モータを制御するサーボ制御装置と、
前記サーボ制御装置の少なくとも1つのフィルタの係数と、フィードバックゲインと、の少なくとも一方の調整後の前記サーボ制御装置の入出力ゲイン及び位相遅れの周波数特性の推定値を求める、請求項1又は請求項2に記載の制御支援装置と、
を備えた制御装置。
【請求項4】
請求項1又は請求項2に記載の制御支援装置で求められる、前記サーボ制御装置の入出力ゲイン及び位相遅れの周波数特性の推定値に基づいて、前記サーボ制御装置の少なくとも1つのフィルタの係数と、フィードバックゲインと、の少なくとも一方を最適化する機械学習装置を備えた請求項3に記載の制御装置。
【請求項5】
周波数が変わる信号を生成し、前記信号を前記サーボ制御装置に入力する周波数生成装置と、
前記信号と前記サーボ制御装置の出力信号とに基づいて前記サーボ制御装置の入出力ゲイン及び位相遅れの周波数特性を測定する周波数特性測定部と、
を備えた、請求項3又は4に記載の制御装置。
【請求項6】
前記サーボ制御装置は、前記モータに流れる電流を制御する電流フィードバックループと、該電流フィードバックループを含み、前記フィルタと前記フィードバックゲインとを有するフィードバックループとを備え、
周波数が変わる第1の信号を生成し、前記第1の信号を前記電流フィードバックループに入力する周波数生成装置と、
前記第1の信号と、前記フィードバックループにおいて前記電流フィードバックループに入力される第2の信号とに基づいて、前記サーボ制御装置の入出力ゲイン及び位相遅れの周波数特性を測定する周波数特性測定部と、
を備えた、請求項3又は4に記載の制御装置。
【請求項7】
モータを制御するサーボ制御装置の少なくとも1つのフィルタの係数と、フィードバックゲインと、の少なくとも一方を調整するための支援を行う制御支援装置の制御支援方法であって、
調整後における、前記少なくとも1つのフィルタの係数と、前記フィードバックゲインと、の少なくとも一方からなる第1の情報と、調整前における、前記少なくとも1つのフィルタの係数と、前記フィードバックゲインと、の少なくとも一方からなる第2の情報とを取得し、
前記第2の情報及び前記第1の情報を用いて、前記フィルタの係数及び前記フィードバックゲインの少なくとも一方の調整前後における、前記フィルタの入出力ゲイン及び位相遅れの周波数特性と、前記フィードバックゲインの入出力ゲイン及び位相遅れの周波数特性と、のうちの少なくとも一方の周波数特性を計算し、
調整前後における前記少なくとも一方の周波数特性と、前記係数と前記フィードバックゲインとの少なくとも一方の調整前の、前記サーボ制御装置の入出力ゲイン及び入出力の位相遅れの測定した周波数特性と、に基づいて、前記フィルタの係数及び前記フィードバックゲインの少なくとも一方の調整後の前記サーボ制御装置の入出力ゲイン及び位相遅れの周波数特性の推定値を求める、制御支援方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モータを制御するサーボ制御部の、少なくとも1つのフィルタの係数と、フィードバックゲイン(FG)と、の少なくとも一方を調整する制御支援装置、制御支援装置とサーボ制御装置を含む制御装置、及び制御支援方法に関する。
【背景技術】
【0002】
適切なサーボの制御条件の設定を短時間で実現する制御システムおよび制御支援装置が、例えば特許文献1に記載されている。
特許文献1には、負荷装置を駆動するモータを制御するサーボシステムと、サーボシステムに接続され、モータを所定の目標動作に制御するために設定される調整パラメータの最適値を自動調整する制御支援装置と、で構成され、制御支援装置における調整パラメータ調整部はシミュレーション結果に基づいて、調整すべきパラメータやその調整範囲を自動設定し、調整範囲内で調整パラメータの最適値をモータの実動作の結果に基づいて自動調整する制御システムが記載されている。
【0003】
また、駆動モータのフィ-ドバック制御用の制御パラメ-タを、短期間に容易に設定できるようにする車両の走行制御設定装置が、例えば特許文献2に記載されている。
特許文献2には、所定の走行経路に沿って無人走行される搬送車の走行制御のときに、走行駆動用のモータが、所定の回転速度となるようにフィ-ドバック制御され、搬送車の試験走行のときに得られるモータの動作状態に基いて、その動作特性が、その伝達関数を示すモデル式として推定され、推定されたモデル式に基いてフィ-ドバック制御用の制御ゲインが決定される、車両の走行制御設定装置が記載されている。
【0004】
さらに、サーボモータ制御装置における制御ループの制御ゲインの自動調整を支援するゲイン自動調整支援装置が、例えば特許文献3に記載されている。
特許文献3には、サーボモータ制御装置の制御ループの周波数特性を測定する周波数特性測定部と、制御ループの周波数特性をボード線図で表示する表示部と、所定の周波数でのゲイン目標値を設定する条件設定部と、条件設定部で設定した所定の周波数でのゲイン目標値と一致するように制御ループの制御ゲインを自動調整するゲイン自動調整部と、制御ゲインをサーボモータ制御装置に設定するパラメータ設定部と、を備えるゲイン自動調整支援装置が記載されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2009-122779号公報
【文献】特開平11-194821号公報
【文献】特開2016-092935号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
モータを制御するサーボ制御装置の入出力ゲイン(振幅比)及び位相遅れの周波数特性が目標とする周波数特性となるように、サーボ制御装置の少なくとも1つのフィルタの係数と、フィードバックゲインと、の少なくとも一方を調整する場合、少なくとも1つのフィルタの係数と、フィードバックゲインと、の少なくとも一方を調整するごとにサーボ制御装置を動作させて、入出力ゲイン及び位相遅れの周波数特性を求める必要があった。
しかし、少なくとも1つのフィルタの係数と、フィードバックゲインと、の少なくとも一方を調整するごとにサーボ制御装置を動作させて入出力ゲイン及び位相遅れの周波数特性を測定するのは、一定の時間を要する。この時間はできる限り短縮することが望まれる。
【課題を解決するための手段】
【0007】
(1) 本開示の第1の態様は、モータを制御するサーボ制御装置の少なくとも1つのフィルタの係数と、フィードバックゲインと、の少なくとも一方を調整するための支援を行う制御支援装置であって、
調整後における、前記少なくとも1つのフィルタの係数と、前記フィードバックゲインと、の少なくとも一方からなる第1の情報を取得するサーボ状態情報取得部と、
調整前における、前記少なくとも1つのフィルタの係数と、前記フィードバックゲインと、の少なくとも一方からなる第2の情報及び前記第1の情報を用いて、前記フィルタの係数及び前記フィードバックゲインの少なくとも一方の調整前後における、前記フィルタの入出力ゲイン及び位相遅れの周波数特性と、前記フィードバックゲインの入出力ゲイン及び位相遅れの周波数特性と、のうちの少なくとも一方の周波数特性を計算する周波数特性計算部と、
調整前後における前記少なくとも一方の周波数特性と、前記フィルタの係数と前記フィードバックゲインとの少なくとも一方の調整前の、前記サーボ制御装置の入出力ゲイン及び入出力の位相遅れの測定した周波数特性と、に基づいて、前記フィルタの係数及び前記フィードバックゲインの少なくとも一方の調整後の前記サーボ制御装置の入出力ゲイン及び位相遅れの周波数特性の推定値を求める状態推定部と、
を備えた制御支援装置である。
【0008】
(2) 本開示の第2の態様は、モータを制御するサーボ制御装置と、
前記サーボ制御装置の少なくとも1つのフィルタの係数と、フィードバックゲインと、の少なくとも一方の調整後の前記サーボ制御装置の入出力ゲイン及び位相遅れの周波数特性の推定値を求める、上記(1)に記載の制御支援装置と、
を備えた制御装置である。
【0009】
(3) 本開示の第3の態様は、モータを制御するサーボ制御装置の少なくとも1つのフィルタの係数と、フィードバックゲインと、の少なくとも一方を調整するための支援を行う制御支援装置の制御支援方法であって、
調整後における、前記少なくとも1つのフィルタの係数と、前記フィードバックゲインと、の少なくとも一方からなる第1の情報と、調整前における、前記少なくとも1つのフィルタの係数と、前記フィードバックゲインと、の少なくとも一方からなる第2の情報とを取得し、
前記第2の情報及び前記第1の情報を用いて、前記フィルタの係数及び前記フィードバックゲインの少なくとも一方の調整前後における、前記フィルタの入出力ゲイン及び位相遅れの周波数特性と、前記フィードバックゲインの入出力ゲイン及び位相遅れの周波数特性と、のうちの少なくとも一方の周波数特性を計算し、
調整前後における前記少なくとも一方の周波数特性と、前記フィルタの係数と前記フィードバックゲインとの少なくとも一方の調整前の、前記サーボ制御装置の入出力ゲイン及び入出力の位相遅れの測定した周波数特性と、に基づいて、前記フィルタの係数及び前記フィードバックゲインの少なくとも一方の調整後の前記サーボ制御装置の入出力ゲイン及び位相遅れの周波数特性の推定値を求める、制御支援方法である。
【発明の効果】
【0010】
本開示の各態様によれば、サーボ制御装置の少なくとも1つのフィルタの係数と、フィードバックゲインと、の少なくとも一方を調整する場合に、少なくとも1つのフィルタの係数と、フィードバックゲインと、の少なくとも一方を調整するごとにサーボ制御装置を動作させて入出力ゲイン及び位相遅れの周波数特性を求めることなく、入出力ゲイン及び位相遅れの周波数特性を推定することができる。そのため、入出力ゲイン及び位相遅れの周波数特性を測定する時間を短縮することができる。
【図面の簡単な説明】
【0011】
【
図1】本開示の第1の実施形態の制御装置を示すブロック図である。
【
図2】
図1の制御支援装置の動作を示すフローチャートである。
【
図3】本開示の第2の実施形態の制御装置を示すブロック図である。
【
図4】本開示の第3の実施形態の制御装置を示すブロック図である。
【
図5】本発明の一実施形態の機械学習部を示すブロック図である。
【
図6】入出力ゲインの規範モデルを算出するためのモデルとなるブロック図である。
【
図7】規範モデルのサーボ制御部の入出力ゲインの周波数特性と、学習前及び学習後のサーボ制御部100の入出力ゲインの推定値の周波数特性を示す特性図である。
【
図8】入出力ゲインと位相遅れとの推定値の周波数特性を示す図である。
【
図9】複数のフィルタを直接接続してフィルタを構成した例を示すブロック図である。
【
図10】制御装置の他の構成例を示すブロック図である。
【発明を実施するための形態】
【0012】
以下、本開示の実施形態について図面を用いて詳細に説明する。
【0013】
(第1実施形態)
図1は本開示の第1の実施形態の制御装置を示すブロック図である。
制御装置10は、サーボ制御部100、周波数生成部200、周波数特性測定部300及び制御支援部400を備えている。サーボ制御部100はモータを制御するサーボ制御装置に対応し、周波数特性測定部300は周波数特性算出装置に対応し、制御支援部400は制御支援装置に対応する。
なお、周波数生成部200、周波数特性測定部300及び制御支援部400のうちの一つ又は複数はサーボ制御部100の内に設けてもよい。周波数特性測定部300は制御支援部400内に設けられてもよい。
【0014】
サーボ制御部100は、減算器110、速度制御部120、フィルタ130、電流制御部140、及びモータ150を備えている。減算器110、速度制御部120、フィルタ130、電流制御部140、及びモータ150は、閉ループとなる速度フィードバックループのサーボ系を構成する。モータ150は、直線運動をするリニアモータ、回転軸を有するモータ等を用いることができる。モータ150によって駆動される対象は、例えば、工作機械、ロボット、産業機械の機構部である。モータ150は、工作機械、ロボット、産業機械等の一部として設けられてもよい。制御装置10は、工作機械、ロボット、産業機械等の一部として設けられてもよい。
【0015】
減算器110は、入力された速度指令と速度フィードバックされた検出速度との差を求め、その差を速度偏差として速度制御部120に出力する。
【0016】
速度制御部120は、PI制御(Proportional-Integral Control)を行い、速度偏差に積分ゲインK1vを乗じて積分した値と、速度偏差に比例ゲインK2vを乗じた値とを加算して、トルク指令としてフィルタ130に出力する。速度制御部120はフィードバックゲイン(FG)を含む。なお、速度制御部120は特に、PI制御に限定されず、他の制御、例えばPID制御(Proportional-Integral-Differential Control)を用いてもよい。
数式1(以下に数1として示す)は、速度制御部120の伝達関数G
V(s)を示す。
【数1】
【0017】
フィルタ130は特定の周波数成分を減衰させるフィルタで、例えばノッチフィルタ、ローパスフィルタ又はバンドストップフィルタが用いられる。モータ150で駆動される機構部を有する工作機械等の機械では共振点が存在し、サーボ制御部100で共振が増大する場合がある。ノッチフィルタ等のフィルタを用いることで共振を低減することができる。フィルタ130の出力はトルク指令として電流制御部140に出力される。
数式2(以下に数2として示す)は、フィルタ130としてのノッチフィルタの伝達関数G
F(s)を示す。
ここで、数式2の係数δは減衰係数、係数ω
cは中心角周波数、係数τは比帯域である。中心周波数をfc、帯域幅をfwとすると、係数ω
cはω
c=2πfc、係数τはτ=fw/fcで表される。
【数2】
【0018】
電流制御部140は、トルク指令に基づいてモータ150を駆動するための電圧指令を生成し、その電圧指令をモータ150に出力する。
モータ150がリニアモータの場合、可動部の位置は、モータ150に設けられたリニアスケール(図示せず)によって検出され、位置検出値を微分することで速度検出値を求め、求められた速度検出値は速度フィードバックとして減算器110に入力される。
モータ150が回転軸を有するモータの場合、回転角度位置は、モータ150に設けられたロータリーエンコーダ(図示せず)によって検出され、速度検出値は速度フィードバックとして減算器110に入力される。
【0019】
以上のようにサーボ制御部100は構成されるが、積分ゲインK1vと比例ゲインK2vのうちの1つ又は両方、及び/又はフィルタ130の伝達関数の各係数ωc、τ、δの調整後のサーボ制御部100の入出力ゲインと位相遅れとの周波数特性の推定値を求めるために、制御装置10は、周波数生成部200、周波数特性測定部300及び制御支援部400を更に備える。
【0020】
周波数生成部200は、周波数を変化させながら正弦波信号を速度指令として、サーボ制御部100の減算器110及び周波数特性測定部300に出力する。
【0021】
周波数特性測定部300は、周波数生成部200で生成された、入力信号となる速度指令(正弦波)と、ロータリーエンコーダ(図示せず)から出力された出力信号となる検出速度(正弦波)と、を用いて、速度指令により規定される各周波数ごとに、入力信号と出力信号との振幅比(入出力ゲイン)、及び位相遅れとを測定する。または、周波数特性測定部300は、周波数生成部200で生成された、入力信号となる速度指令(正弦波)と、リニアスケールから出力される出力信号となる検出位置の微分(正弦波)と、を用いて、速度指令により規定される各周波数ごとに、入力信号と出力信号との振幅比、及び位相遅れとを測定する。
【0022】
サーボ制御部100は、積分ゲインK1vと比例ゲインK2vのうちの1つ又は両方、及び/又はフィルタ130の伝達関数の各係数ωc、τ、δが調整される前の、速度制御部120の積分ゲインK1vと比例ゲインK2v、及びフィルタ130の伝達関数の各係数ωc、τ、δ(以下、「サーボパラメータ」という)で動作して、周波数特性測定部300に上述した検出速度又は検出位置の微分を入力する。周波数特性測定部300は、入力信号となる速度指令と出力信号との振幅比(入出力ゲイン)、及び位相遅れとの周波数特性Pを測定して、制御支援部400に出力する。
以下、調整される前のサーボパラメータは「調整前のサーボパラメータ」、調整前のサーボパラメータに対して、積分ゲインK1vと比例ゲインK2vのうちの1つ又は両方、及び/又はフィルタ130の伝達関数の各係数ωc、τ、δが調整されたサーボパラメータを「調整後のサーボパラメータ」という。
【0023】
制御支援部400は、調整前のサーボパラメータでサーボ制御部100が動作し、周波数特性測定部300から出力される入出力ゲイン(振幅比)及び位相遅れの周波数特性Pを保存する。
制御支援部400は、調整前のサーボパラメータにおける、速度制御部120の積分ゲインK1vと比例ゲインK2vのいずれか若しくは両方のゲイン及び/又はフィルタ130の伝達関数の各係数ω
c、τ、δ(第2の情報となる)を用いて、速度制御部120又は/及びフィルタ130の入出力ゲインと位相遅れとの周波数特性C
2を計算する。
また、制御支援部400は、調整後のサーボパラメータにおける、速度制御部120の積分ゲインK1vと比例ゲインK2vのいずれか若しくは両方のゲイン及び/又はフィルタ130の伝達関数の各係数ω
c、τ、δ(第1の情報となる)を用いて、速度制御部120又は/及びフィルタ130の入出力ゲインと位相遅れとの周波数特性C
1を計算する。
そして、制御支援部400は、周波数特性C
1、周波数特性C
2及び周波数特性Pに基づいて、サーボ制御部100の入出力ゲインと位相遅れとの周波数特性の推定値Eを求める。
具体的には、以下の数式3(以下に数3として示す)を用いて、サーボ制御部100の入出力ゲインと位相遅れとの周波数特性の推定値Eを求める。
【数3】
なお、サーボ制御部100の入出力ゲインと位相遅れとの周波数特性の推定値Eは、上記数式3、すなわち、E=C
1-C
2+Pを用いて算出できるが、制御支援部400が行う計算は、E=(C
1-C
2)+P、E=(P-C
2)+C
1、E=(P+C
1)-C
2のいずれでもよい。
以下、制御支援部400の構成及び動作の詳細について更に説明する。
【0024】
<制御支援部400>
【0025】
図1に示すように、制御支援部400は、サーボ状態情報取得部401、調整前状態保存部402、周波数特性計算部403、及び状態推定部404を備える。
【0026】
サーボ状態情報取得部401は、調整後のサーボパラメータにおける、速度制御部120の積分ゲインK1vと比例ゲインK2vのいずれか若しくは両方のゲイン及び/又はフィルタ130の伝達関数の各係数ωc、τ、δ(以下、第1の情報という)を取得して周波数特性計算部403に出力する。
【0027】
なお、調整前のサーボパラメータは、予めユーザが生成するようにする。予め操作者がサーボパラメータを調整している場合には、調整済の値を「調整前のサーボパラメータ」としてもよい。
【0028】
調整前状態保存部402には、上述したように、周波数特性測定部300から出力される、入出力ゲインと位相遅れとの周波数特性Pが保存される。また、調整前状態保存部402には、調整前のサーボパラメータにおける、速度制御部120の積分ゲインK1vと比例ゲインK2vのいずれか若しくは両方のゲイン及び/又はフィルタ130の伝達関数の各係数ωc、τ、δ(以下、第2の情報という)が、速度制御部120及び/又はフィルタ130から出力され、保存される。
【0029】
周波数特性計算部403は、サーボ状態情報取得部401から第1の情報を取得し、調整前状態保存部402から第2の情報を読み出す。
そして、周波数特性計算部403は、第1の情報に含まれる、速度制御部120の伝達関数GV(jω)及び/又はフィルタ130の伝達関数GF(jω)を用いて、速度制御部120及び/又はフィルタ130の入出力ゲインと位相遅れとの周波数特性C1を計算する。また、周波数特性計算部403は、第2の情報に含まれる、速度制御部120の伝達関数GV(jω)及び/又はフィルタ130の伝達関数GF(jω)を用いて、速度制御部120及び/又はフィルタ130の入出力ゲインと位相遅れとの周波数特性C2を計算する。
【0030】
例えば、速度制御部120の伝達関数G
V(jω)の積分ゲインK1vと比例ゲインK2vを調整前の値からn倍(nは整数)したときの周波数特性は、初期状態の周波数特性をG
V(jω)とすると、n×G
V(jω)となる。ボード線図上では、ゲインと位相はそれぞれ、数式4(以下に数4として示す)及び数式5(以下に数5として示す)によって示される。
【数4】
【数5】
【0031】
そして、周波数特性計算部403は、計算された周波数特性C1と周波数特性C2とを状態推定部404に出力する。
【0032】
状態推定部404は、上述した数式3を用いて、周波数特性C1、周波数特性C2及び周波数特性Pに基づいて、サーボ制御部100の入出力ゲインと位相遅れとの周波数特性の推定値Eを求める。
以下、式E=(C1-C2)+Pによって、周波数特性の推定値Eを求める場合について説明する。
【0033】
例えば、上述したように、速度制御部120の伝達関数GV(jω)の積分ゲインK1vと比例ゲインK2vを調整前の値からn倍(nは整数)したときの周波数特性C1は、初期状態の周波数特性C2をGV(jω)とすると、n×GV(jω)となる。
ボード線図で示される、初期状態からn倍したときのゲインの周波数特性は、数式4に示すように、初期状態のゲインとなる20log10|GV(jω)|に20log10(n)を加えた周波数特性となる。ボード線図で示される、初期状態からn倍したときの位相の周波数特性は、tan-1(n)=0であるため、数式4に示すように、初期状態の位相周波数特性と変わらない。
よって、初期状態からn倍したときの周波数特性は、ボード線図のゲイン線図のみ変化し、数式3に示す20log10(n)が、初期状態からn倍したときの周波数特性と初期状態の周波数特性との2つの周波数特性の差分(C1-C2)となる。
【0034】
状態推定部404は、調整前状態保存部402から、調整前のサーボパラメータに基づいて、周波数生成部200が出力する速度指令(正弦波)を用いてサーボ制御部100を駆動することで得られた、入出力ゲインと位相遅れとの周波数特性Pを読み出し、この周波数特性Pに、差分(C1-C2)を加算する。加算することで得られた周波数特性は、調整後のサーボパラメータに基づく、サーボ制御部100の入出力ゲインと位相遅れとの周波数特性の推定値E=(C1-C2)+Pとなる。
【0035】
以上説明した実施形態では、調整後のサーボパラメータでのサーボ制御部100の入出力ゲインと位相遅れとの推定値は、制御支援部400で算出できるので、調整後のサーボパラメータでサーボ制御部100を動作させて速度指令と検出速度を実際に検出して周波数特性測定部300で測定する場合に比べて、短時間で求めることができる。
【0036】
以上、制御装置10に含まれる機能ブロックについて説明した。
これらの機能ブロックを実現するために、制御装置10は、CPU(Central Processing Unit)等の演算処理装置を備える。また、制御装置10は、アプリケーションソフトウェア及びOS(Operating System)等の各種の制御用プログラムを格納したHDD(Hard Disk Drive)等の補助記憶装置及び、演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのRAM(Random Access Memory)といった主記憶装置も備える。
【0037】
そして、制御装置10において、演算処理装置が補助記憶装置からアプリケーションソフトウェア又はOSを読み込み、読み込んだアプリケーションソフトウェア又はOSを主記憶装置に展開させながら、これらのアプリケーションソフトウェア又はOSに基づいた演算処理を行なう。また、この演算結果に基づいて、各装置が備える各種のハードウェアを制御する。これにより、本実施形態の機能ブロックは実現される。つまり、本実施形態は、ハードウェアとソフトウェアが協働することにより実現することができる。
【0038】
制御支援部400について演算量が多い場合、例えば、パーソナルコンピュータにGPU(Graphics Processing Units)を搭載し、GPGPU(General-Purpose computing on Graphics Processing Units)と呼ばれる技術により、GPUを演算処理に利用するようにすると高速処理できるようになるのでよい。更には、より高速な処理を行うために、このようなGPUを搭載したコンピュータを複数台用いてコンピュータ・クラスターを構築し、このコンピュータ・クラスターに含まれる複数のコンピュータにて並列処理を行うようにしてもよい。
【0039】
次に、制御支援部400の動作についてフローチャートを用いて説明する。
図2は制御支援装置の動作を示すフローチャートである。
ステップS11において、調整前状態保存部402に、調整前のサーボパラメータにおける、速度制御部120の積分ゲインK1vと比例ゲインK2vのいずれか若しくは両方のゲイン及び/又はフィルタ130の伝達関数の各係数ω
c、τ、δ(第2の情報)が、速度制御部120及び/又はフィルタ130から出力され、保存される。ここでは、調整前のサーボパラメータは、予めユーザが生成する。
また、ステップS11において、調整前状態保存部402に、調整前のサーボパラメータに基づいて、周波数生成部200が出力する速度指令(正弦波)を用いてサーボ制御部100を駆動することで得られた、入出力ゲイン(振幅比)と位相遅れとの周波数特性(
図2おける、周波数特性P)を周波数特性測定部300から取得されて、保存される。
【0040】
ステップS12において、サーボ状態情報取得部401は、調整後のサーボパラメータにおける、速度制御部120の積分ゲインK1vと比例ゲインK2vのいずれか若しくは両方のゲイン及び/又はフィルタ130の伝達関数の各係数ωc、τ、δ(第1の情報)を取得し、周波数特性計算部403に出力する。
ステップS13において、周波数特性計算部403は、調整前のサーボパラメータに設定された、速度制御部120及び/又はフィルタ130の、入出力ゲインと位相遅れとの周波数特性C2と、調整後のサーボパラメータに設定された、速度制御部120及び/又はフィルタ130の入出力ゲインと位相遅れとの周波数特性C1と、の2つの周波数特性を、速度制御部120の伝達関数GV(jω)及び/又はフィルタ130の伝達関数GF(jω)を用いて求めて、状態推定部404に出力する。
【0041】
ステップS14において、状態推定部404は、調整前状態保存部402から、調整前のサーボパラメータに基づいて、周波数生成部200が出力する速度指令(正弦波)を用いてサーボ制御部100を駆動することで得られた、入出力ゲインと位相遅れとの周波数特性Pを読み出し、周波数特性C1、周波数特性C2及び周波数特性Pを用いて、数式3(E=C1-C2+P)により、サーボ制御部100の入出力ゲインと位相遅れとの周波数特性の推定値Eを求める。
ステップS15において、周波数特性の推定値Eを求める処理を続行するかどうかを判断し、続行する場合には、ステップS12に戻り、続行しない場合には制御支援装置の動作を終了する。
【0042】
(第2の実施形態)
第1の実施形態では、周波数特性測定部300は、サーボ制御部100の入出力ゲイン(振幅比)と位相遅れとの周波数特性を測定する場合、周波数が変化する正弦波信号である速度指令と速度フィードバックとから周波数特性を計算していた。本実施形態では、周波数生成部200は、フィルタ130の後に、周波数を変化させながら正弦波信号を入力する。そして、周波数特性測定部300は、サーボ制御部100の入出力ゲインと位相遅れとの周波数特性を測定する場合、フィルタ130の後に入力した正弦波信号とフィルタ130の出力とから周波数特性を計算する。
【0043】
図3は本開示の第2の実施形態の制御装置を示すブロック図である。
図3において、
図1の示した制御装置10の構成部材と同一構成部材については同一符号を付して説明を省略する。
図3に示すように、制御装置10Aは、フィルタ130の後段に加算器160が設けられ、この加算器160に周波数生成部200から出力される、周波数が変化する正弦波信号が入力される。加算器160には減算器170が接続され、電流制御部140にはアンプ180が接続される。アンプ180は電流検出器を備えており、電流検出器で検出された電流は減算器170に入力される。減算器170、電流制御部140及びアンプ180は電流フィードバックループを構成し、電流フィードバックループは速度フィードバックループに含まれる。正弦波信号は周波数が変わる第1の信号、フィルタ130の出力は速度フィードバックループにおいて電流フィードバックループに入力される第2の信号に対応する。
【0044】
モータ150のインダクタンスは、磁気飽和などの影響によりモータ150に流れる電流によって非線形に変化する。調整前のサーボパラメータから、調整後のサーボパラメータに変えると、電流制御部140へ入力されるトルク指令が変わり、電流制御部140の電流ゲインが一定の場合、モータ150に流れる電流も変わる。モータ150に流れる電流が変わりインダクタンスが非線形に変化すると、電流フィードバックループの特性も非線形に変化する。
【0045】
本実施形態では、減算器110に入力される入力信号のレベルをゼロとし、周波数生成部200は、フィルタ130の後に、周波数を変化させながら正弦波信号を入力し、周波数特性測定部300は、この正弦波信号とフィルタ130の出力とからサーボ制御部100の入出力ゲインと位相遅れとの周波数特性を測定する。こうすることで、電流フィードバックループへの入力は一定となるため、電流フィードバックループの特性の線形性を維持しながら、制御支援部400によってサーボ制御部100の入出力ゲインと位相遅れとの周波数特性を推定することができる。
【0046】
(第3の実施形態)
第1及び第2の実施形態では、調整後のサーボパラメータでのサーボ制御部100の入出力ゲイン(振幅比)と位相遅れとの周波数特性の推定値を求めた。本実施形態では、サーボ制御部100の入出力ゲインと位相遅れとの周波数特性の推定値を求め、この推定値を用いてサーボ制御部100のサーボパラメータの最適な値を機械学習によって求める制御装置について説明する。以下の説明では、
図1に示した制御装置10に機械学習部を加えた例について説明するが、
図3に示した制御装置10Aに機械学習部を加えてもよい。
【0047】
図4は本開示の第3の実施形態の制御装置を示すブロック図である。
図4において、
図1の示した構成部材と同一構成部材については同一符号を付して説明を省略する。
図4に示すように、制御装置10Bは、
図1に示した制御装置10に機械学習装置となる機械学習部500を加えた構成となっている。
機械学習部500は、制御支援部400から出力される、サーボ制御部100の入出力ゲインと位相遅れとの推定値を取得し、サーボパラメータの値の調整情報を制御支援部400に送る。そして機械学習部500は、サーボ制御部100の入出力ゲインと位相遅れとの周波数特性の推定値が目標となる周波数特性と同一又は一定範囲内となるように、サーボ制御部100のサーボパラメータの最適値を機械学習(以下、「機械学習」を「学習」という)する。そして、機械学習部500は、サーボ制御部100のサーボパラメータ、すなわち、積分ゲインK1vと比例ゲインK2v、及びフィルタ130の伝達関数の各係数ω
c、τ、δを最適値に設定する。
機械学習部500による学習は出荷前に行われるが、出荷後に再学習を行ってもよい。
機械学習部500が行う学習は強化学習を用いることができるが、特に強化学習に限定されず、例えば、教師あり学習を行ってもよい。
【0048】
なお、機械学習部500が、サーボ制御部100のサーボパラメータを学習する場合に、サーボ制御部100のサーボパラメータを調整し、その調整ごとにサーボ制御装置を動作させて周波数特性測定部300から出力された入出力ゲイン及び位相遅れの周波数特性を用いて、サーボ制御部100のサーボパラメータの最適値を学習しようとすると、サーボ制御部100のサーボパラメータの調整ごとにサーボ制御装置を動作させて周波数特性測定部300で入出力ゲイン及び位相遅れの周波数特性を測定する必要があるので処理に時間を要する。
本実施形態では、機械学習部500が、制御支援部400で求められた、入出力ゲイン及び位相遅れの周波数特性の推定値を用いて、サーボ制御部100のサーボパラメータの最適値を学習する。そのため、サーボパラメータの調整が、簡易化され、短時間で行うことができる。
【0049】
以下、機械学習装置となる機械学習部500における機械学習について補足説明を行う。
【0050】
<機械学習部500>
以下の説明では機械学習部500が強化学習を行う場合について説明する。
機械学習部500は、制御支援部400から出力される、入出力ゲインと位相遅れとの推定値を状態Sとして、当該状態Sに係る、制御支援部400におけるサーボパラメータの値の調整を行動Aとする、Q学習(Q-learning)を行う。当業者にとって周知のように、Q学習は、或る状態Sのとき、取り得る行動Aのなかから、価値Q(S,A)の最も高い行動Aを最適な行動として選択することを目的とする。
【0051】
具体的には、エージェント(機械学習装置)は、或る状態Sの下で様々な行動Aを選択し、その時の行動Aに対して、与えられる報酬に基づいて、より良い行動の選択をすることにより、正しい価値Q(S,A)を学習していく。
【0052】
また、将来にわたって得られる報酬の合計を最大化したいので、最終的にQ(S,A)=E[Σ(γt)rt]となるようにすることを目指す。ここでE[]は期待値を表し、tは時刻、γは後述する割引率と呼ばれるパラメータ、rtは時刻tにおける報酬、Σは時刻tによる合計である。この式における期待値は、最適な行動に従って状態変化した場合の期待値である。このような価値Q(S,A)の更新式は、例えば、次の数式6(以下に数6として示す)により表すことができる。
【0053】
【0054】
上記の数式6において、Stは、時刻tにおける環境の状態を表し、Atは、時刻tにおける行動を表す。行動Atにより、状態はSt+1に変化する。rt+1は、その状態の変化により得られる報酬を表している。また、maxの付いた項は、状態St+1の下で、その時に分かっている最もQ値の高い行動Aを選択した場合のQ値にγを乗じたものになる。ここで、γは、0<γ≦1のパラメータで、割引率と呼ばれる。また、αは、学習係数で、0<α≦1の範囲とする。
【0055】
上述した数式6は、試行Atの結果、返ってきた報酬rt+1を元に、状態Stにおける行動Atの価値Q(St,At)を更新する方法を表している。
【0056】
機械学習部500は、制御支援部400が推定した各周波数ごとの入出力ゲインと位相遅れとの周波数特性の推定値を含む状態情報Sを観測して、行動Aを決定する。機械学習部500は、行動Aをするたびに報酬が返ってくる。報酬については後述する。
Q学習では、機械学習部500は、例えば、将来にわたっての報酬の合計が最大になる最適な行動Aを試行錯誤的に探索する。そうすることで、機械学習部500は、状態Sに対して、最適な行動A(すなわち、最適なサーボパラメータの値)を選択することが可能となる。
【0057】
図5は本発明の一実施形態の機械学習部500を示すブロック図である。
上述した強化学習を行うために、
図5に示すように、機械学習部500は、状態情報取得部501、学習部502、行動情報出力部503、価値関数記憶部504、及び最適化行動情報出力部505を備える。
【0058】
状態情報取得部501は、調整後のサーボパラメータを用いて算出したサーボ制御部100の入出力ゲインと位相遅れとの周波数特性の推定値を制御支援部400から取得して学習部502に出力する。状態情報取得部501は、最初にQ学習を開始する時点において、調整前のサーボパラメータでのサーボ制御部100の入出力ゲインと位相遅れとの周波数特性を周波数特性測定部300から取得して学習部502に出力する。制御支援部400から取得した周波数特性の推定値は状態情報Sとなる。状態情報Sは、Q学習における環境状態Sに相当する。
【0059】
なお、最初にQ学習を開始する時点において、状態情報取得部501は、速度制御部120及びフィルタ130から調整前の初期値のサーボパラメータを取得して学習部502に出力する。
既に説明したように、調整前の初期値のサーボパラメータは、予めユーザが生成するようにする。初期値のサーボパラメータは予め操作者が工作機械を調整している場合には、調整済の値を初期値としてもよい。
【0060】
学習部502は、或る環境状態Sの下で、ある行動Aを選択する場合の価値Q(S,A)を学習する部分である。学習部502は報酬出力部5021、価値関数更新部5022、及び行動情報生成部5023を備える。
【0061】
報酬出力部5021は、或る状態Sの下で、行動Aを選択した場合の報酬を算出する部分である。
報酬出力部5021は、初期値のサーボパラメータを調整した場合において各周波数ごとの入出力ゲインの推定値gsを、予め設定した規範モデルの各周波数ごとの入出力ゲインの値gbと比較する。報酬出力部5021は、入出力ゲインの推定値gsが規範モデルの入出力ゲインの値gbよりも大きい場合には、負の報酬を与える。一方、報酬出力部5021は、入出力ゲインの推定値gsが規範モデルの入出力ゲインの値gb以下である場合には、状態Sから状態S´となった場合に、位相遅れの推定値が小さくなるときは正の報酬を与え、位相遅れの推定値が大きくなるときは負の報酬を与え、位相遅れの推定値が変わらないときはゼロの報酬を与える。
【0062】
まず、報酬出力部5021が、入出力ゲインの推定値gsが規範モデルの入出力ゲインの値gbよりも大きい場合に、負の報酬を与える動作について
図6及び
図7を用いて説明する。
報酬出力部5021は、入出力ゲインの規範モデルを保存している。規範モデルは、共振のない理想的な特性を有するサーボ制御部のモデルである。規範モデルは、例えば、
図6に示すモデルのイナーシャJa、トルク定数K
t、比例ゲインK
p、積分ゲインK
I、微分ゲインK
Dから計算で求めることができる。イナーシャJaはモータイナーシャと機械イナーシャとの加算値である。
図7は、規範モデルのサーボ制御部の入出力ゲインの周波数特性と、学習前及び学習後のサーボ制御部100の入出力ゲインの推定値の周波数特性を示す特性図である。
図7の特性図に示すように、規範モデルは、一定の入出力ゲイン以上、例えば、-20dB以上での理想的な入出力ゲインとなる周波数領域である領域Aと、一定の入出力ゲイン未満となる周波数領域である領域Bとを備えている。
図7の領域Aにおいて、規範モデルの理想的な入出力ゲインを曲線MC
1(太線)で示す。
図7の領域Bにおいて、規範モデルの理想的な仮想入出力ゲインを曲線MC
11(破線の太線)で示し、規範モデルの入出力ゲインを一定値として直線MC
12(太線)で示す。
図7の領域A及びBにおいて、学習前及び学習後のサーボ制御部との入出力ゲインの推定値の曲線をそれぞれ曲線RC
1、RC
2で示す。
【0063】
報酬出力部5021は、領域Aでは、入出力ゲインの推定値の学習前の曲線RC1が規範モデルの理想的な入出力ゲインの曲線MC1を超えた場合は第1の負の報酬を与える。
入出力ゲインが十分小さくなる周波数を超える領域Bでは、学習前の入出力ゲインの推定値の曲線RC1が規範モデルの理想的な仮想入出力ゲインの曲線MC11を超えたとしても安定性への影響が小さくなる。そのため領域Bでは、上述したように、規範モデルの入出力ゲインは理想的なゲイン特性の曲線MC11ではなく、一定値の入出力ゲイン(例えば、-20dB)の直線MC12を用いる。しかし、学習前の入出力ゲインの推定値の曲線RC1が一定値の入出力ゲインの直線MC12を超えた場合には不安定になる可能性があるため、報酬として第1の負の値を与える。
【0064】
次に、入出力ゲインの推定値gsが規範モデルの入出力ゲインの値gb以下である場合に、報酬出力部5021が、位相遅れの推定値に基づいて報酬を決める動作について説明する。
以下の説明において、状態情報Sに係る状態変数である位相遅れの推定値をD(S)、行動情報A(サーボパラメータの値の調整)により状態Sから変化した状態S´に係る状態変数である位相遅れの推定値をD(S´)で示す。なお、最初にQ学習を開始する時点においては、位相遅れの推定値が求められていないため、周波数特性測定部300から取得した、初期値のサーボパラメータでサーボ制御部100を動作させることで得られたサーボ制御部100の位相遅れをD(S)として以下の報酬を決める。
【0065】
報酬出力部5021が、位相遅れの推定値に基づいて報酬を決める方法は、例えば、以下の方法がある。
状態Sから状態S´となった場合に、位相遅れの推定値が180度となる周波数が大きくなるか、小さくなるか、又は同じになるかで報酬を決めることができる。ここでは、位相遅れの推定値が180度の場合を取り上げたが、特に180度に限定されず他の値であってもよい。
例えば、位相遅れの推定値が
図8に示した位相線図で示されたときに、状態Sから状態S´となった場合に、位相遅れの推定値が180度となる周波数が小さくなるように(
図8のX
2方向に)曲線が変わると、位相遅れの推定値は大きくなる。一方、状態Sから状態S´となった場合に、位相遅れの推定値が180度となる周波数が大きくなるように(
図8のX
1方向に)曲線が変わると、位相遅れの推定値が小さくなる。
【0066】
よって、状態Sから状態S´となった場合に、位相遅れの推定値が180度となる周波数が小さくなったとき、位相遅れの推定値D(S)<位相遅れの推定値D(S´)と定義して、報酬出力部5021は、報酬の値を第2の負の値とする。なお第2の負の値の絶対値は第1の負の値よりも小さくする。
一方で、状態Sから状態S´となった場合に、位相遅れの推定値が180度となる周波数が大きくなったとき、位相遅れの推定値D(S)>位相遅れの推定値D(S´)と定義して、報酬出力部5021は、報酬の値を正の値とする。
また、状態Sから状態S´となった場合に、位相遅れの推定値が180度となる周波数が変わらないとき、位相遅れの推定値D(S)=位相遅れの推定値D(S´)と定義して、報酬出力部5021は、報酬の値をゼロの値とする。
【0067】
位相遅れの推定値に基づいて報酬を決める方法は上記の方法に限定されず、状態Sから状態S´となった場合に、位相余裕が小さくときは第2の負の値の報酬を与え、大きくなるときは正の値の報酬を与え、同じになるときはゼロの報酬を与える方法を用いてもよい。
【0068】
以上、報酬出力部5021について説明した。
【0069】
価値関数更新部5022は、状態Sと、行動Aと、行動Aを状態Sに適用した場合の状態S´と、上記のようにして求めた報酬と、に基づいてQ学習を行うことにより、価値関数記憶部504が記憶する価値関数Qを更新する。
価値関数Qの更新は、オンライン学習で行ってもよく、バッチ学習で行ってもよく、ミニバッチ学習で行ってもよい。
オンライン学習は、或る行動Aを現在の状態Sに適用することにより、状態Sが新たな状態S´に遷移する都度、即座に価値関数Qの更新を行う学習方法である。また、バッチ学習は、或る行動Aを現在の状態Sに適用することにより、状態Sが新たな状態S´に遷移することを繰り返すことにより、学習用のデータを収集し、収集した全ての学習用データを用いて、価値関数Qの更新を行う学習方法である。更に、ミニバッチ学習は、オンライン学習と、バッチ学習の中間的な、ある程度学習用データが溜まるたびに価値関数Qの更新を行う学習方法である。
【0070】
行動情報生成部5023は、現在の状態Sに対して、Q学習の過程における行動Aを選択する。行動情報生成部5023は、Q学習の過程において、サーボパラメータの値を調整する動作(Q学習における行動Aに相当)を行わせるために、行動情報Aを生成して、生成した行動情報Aを行動情報出力部503に対して出力する。
より具体的には、行動情報生成部5023は、例えば、状態Sに含まれる、調整後のサーボパラメータに対して行動Aに含まれる、サーボパラメータにおける、速度制御部120の積分ゲインK1vと比例ゲインK2v、及びフィルタ130の伝達関数の各係数ωc、τ、δをインクレメンタルに加算又は減算してもよい。
【0071】
なお、サーボパラメータとなる、速度制御部120の積分ゲインK1vと比例ゲインK2v、及びフィルタ130の各係数ωc、τ、δは全てを修正してもよいが、一部の係数を修正してもよい。フィルタ130の各係数ωc、τ、δを調整する場合、例えば、共振を生ずる中心周波数fcは見つけやすく、中心周波数fcは特定しやすい。そこで、行動情報生成部5023は、中心周波数fcを仮に固定して、帯域幅fw及び減衰係数δを修正、すなわち、係数ωc(=2πfc)を固定し、係数τ(=fw/fc)と及び減衰係数δを修正する動作を行わせるために、行動情報Aを生成して、生成した行動情報Aを行動情報出力部503に対して出力してもよい。
【0072】
また、行動情報生成部5023は、現在の推定される行動Aの価値の中で、最も価値Q(S,A)の高い行動A´を選択するグリーディ法や、ある小さな確率εでランダムに行動A´選択し、それ以外では最も価値Q(S,A)の高い行動A´を選択するεグリーディ法といった公知の方法により、行動A´を選択する方策を取るようにしてもよい。
【0073】
行動情報出力部503は、学習部502から出力される行動情報Aを制御支援部400に対して送信する部分である。上述したように、この行動情報に基づいて、現在の状態S、すなわち現在設定されている、制御支援部400において、サーボパラメータにおける、速度制御部120の積分ゲインK1vと比例ゲインK2v、及び/又は各係数ωc、τ、δを調整することで、次の状態S´(すなわち調整された、速度制御部120の積分ゲインK1vと比例ゲインK2v、及び/又はフィルタ130の各係数)に遷移する。
【0074】
価値関数記憶部504は、価値関数Qを記憶する記憶装置である。価値関数Qは、例えば状態S、行動A毎にテーブル(以下、行動価値テーブルと呼ぶ)として格納してもよい。価値関数記憶部504に記憶された価値関数Qは、価値関数更新部5022により更新される。また、価値関数記憶部504に記憶された価値関数Qは、他の機械学習部500との間で共有されるようにしてもよい。価値関数Qを複数の機械学習部500で共有するようにすれば、各機械学習部500にて分散して強化学習を行うことが可能となるので、強化学習の効率を向上させることが可能となる。
【0075】
最適化行動情報出力部505は、価値関数更新部5022がQ学習を行うことにより更新した価値関数Qに基づいて、価値Q(S,A)が最大となる動作を速度制御部120及びフィルタ130に行わせるための行動情報A(以下、「最適化行動情報」と呼ぶ)を生成する。
より具体的には、最適化行動情報出力部505は、価値関数記憶部504が記憶している価値関数Qを取得する。この価値関数Qは、上述したように価値関数更新部5022がQ学習を行うことにより更新したものである。そして、最適化行動情報出力部505は、価値関数Qに基づいて、行動情報を生成し、生成した行動情報をサーボ制御部100の速度制御部120及び/又はフィルタ130に対して出力する。この最適化行動情報には、サーボ制御部100の速度制御部120の積分ゲインK1vと比例ゲインK2v、及び/又はフィルタ130の伝達関数の各係数ωc、τ、δを修正する情報が含まれる。
【0076】
速度制御部120では、この行動情報に基づいて積分ゲインK1vと比例ゲインK2vが修正され、フィルタ130では、この行動情報に基づいて伝達関数の各係数ωc、τ、δが修正される。
機械学習部500は、以上の動作で、サーボパラメータの最適化を行い、機械端の振動を抑制するように動作することができる。また、サーボパラメータの調整を簡易化することができる。
【0077】
上述した各実施形態では、1つのフィルタを設けた場合について説明したが、フィルタ130はそれぞれ異なる周波数帯域に対応する複数個のフィルタを直列に接続することで構成してもよい。
図9は複数のフィルタを直接接続してフィルタを構成した例を示すブロック図である。
図9において、m個(mは2以上の自然数)の共振点がある場合に、フィルタ130は、m個のフィルタ130-1~130-mを直列接続して構成する。
【0078】
また、制御装置の構成は
図1、
図3及び
図4の構成以外にも以下の構成がある。
<制御支援部がネットワークを介してサーボ制御部と接続される変形例>
図10は制御装置の他の構成例を示すブロック図である。
図10に示す制御装置10Cが、
図1又は
図3に示した制御装置10と異なる点は、n(nは2以上の自然数)個のサーボ制御部100-1~100-nが、ネットワーク600を介してn個の制御支援部400-1~400-nに接続されていること及びそれぞれ周波数生成部200と周波数特性測定部300を備えていることである。制御支援部400-1~400-nは
図1に示した制御支援部400と同じ構成を有している。サーボ制御部100-1~100-nはそれぞれサーボ制御装置に対応しており、また制御支援部400-1~400-nはそれぞれ制御支援装置に対応している。なお、周波数生成部200と周波数特性測定部300の一方又は両方をサーボ制御部100-1~100-nの外に設けてもよいことは勿論である。
図10に示した構成は
図4の制御装置10Bに適用してもよく、その場合、サーボ制御部100-1~100-nはそれぞれ機械学習部500を備えている。なお、機械学習部500をサーボ制御部100-1~100-nの外に設けてもよいことは勿論である。
【0079】
ここで、サーボ制御部100-1と、制御支援部400-1とは1対1の組とされて、通信可能に接続されている。サーボ制御部100-2~100-nと、制御支援部400-2~400-nについてもサーボ制御部100-1と制御支援部400-1と同様に接続される。
図10では、サーボ制御部100-1~100-nと、制御支援部400-1~400-nとのn個の組は、ネットワーク600を介して接続されているが、サーボ制御部100-1~100-nと、制御支援部400-1~400-nとのn個の組は、それぞれの組のサーボ制御部と制御支援部とが接続インタフェースを介して直接接続されてもよい。これらサーボ制御部100-1~100-nと制御支援部400-1~400-nとのn個の組は、例えば同じ工場に複数組設置されていてもよく、それぞれ異なる工場に設置されていてもよい。
【0080】
なお、ネットワーク600は、例えば、工場内に構築されたLAN(Local Area Network)や、インターネット、公衆電話網、或いは、これらの組み合わせである。ネットワーク600における具体的な通信方式や、有線接続および無線接続のいずれであるか等については、特に限定されない。
【0081】
<システム構成の自由度>
上述した実施形態では、サーボ制御部100-1~100-nと、制御支援部400-1~400-nとはそれぞれ1対1の組とされて通信可能に接続されているが、例えば1台の制御支援部が複数のサーボ制御部とネットワーク600を介して通信可能に接続され、各サーボ制御部の制御支援を実施するようにしてもよい。
その際、1台の制御支援部の各機能を、適宜複数のサーバに分散する、分散処理システムとしてもよい。また、クラウド上で仮想サーバ機能等を利用して、1台の制御支援部の各機能を実現してもよい。
【0082】
また、n台の同じ型名、同一仕様、又は同一シリーズのサーボ制御部100-1~100-nとそれぞれ対応するn個の制御支援部400-1~400-nがあった場合に、各制御支援部400-1~400-nにおける推定結果を共有するように構成するようにしてもよい。そうすることで、より最適なモデルを構築することが可能となる。
【0083】
以上、第1、第2及び第3の実施形態について説明した。各実施形態の制御装置に含まれる各構成部は、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。また、上記の制御装置に含まれる各構成部のそれぞれの協働により行なわれるサーボ制御方法も、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【0084】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。
【0085】
上述した各実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【0086】
本開示による制御支援装置、制御装置及び制御支援方法は、上述した実施形態を含め、次のような構成を有する各種各様の実施形態を取ることができる。
(1) モータ(例えば、モータ150)を制御するサーボ制御装置(例えば、サーボ制御部100)の少なくとも1つのフィルタ(例えば、フィルタ130)の係数と、フィードバックゲインと、の少なくとも一方を調整するための支援を行う制御支援装置(例えば、制御支援部400)であって、
調整後における、前記少なくとも1つのフィルタの係数と、前記フィードバックゲインと、の少なくとも一方からなる第1の情報を取得するサーボ状態情報取得部(例えば、サーボ状態情報取得部401)と、
調整前における、前記少なくとも1つのフィルタの係数と、前記フィードバックゲインと、の少なくとも一方からなる第2の情報及び前記第1の情報を用いて、前記フィルタの係数及び前記フィードバックゲインの少なくとも一方の調整前後における、前記フィルタの入出力ゲイン及び位相遅れの周波数特性と、前記フィードバックゲイン(例えば、速度制御部120)の入出力ゲイン及び位相遅れの周波数特性と、のうちの少なくとも一方の周波数特性を計算する周波数特性計算部(例えば、周波数特性計算部403)と、
調整前後における前記少なくとも一方の周波数特性と、前記フィルタの係数と前記フィードバックゲインとの少なくとも一方の調整前の、前記サーボ制御装置の入出力ゲイン及び入出力の位相遅れの測定した周波数特性と、に基づいて、前記フィルタの係数及び前記フィードバックゲインの少なくとも一方の調整後の前記サーボ制御装置の入出力ゲイン及び位相遅れの周波数特性の推定値を求める状態推定部(例えば、状態推定部404)と、
を備えた制御支援装置。
【0087】
この制御支援装置によれば、サーボ制御装置の少なくとも1つのフィルタの係数と、フィードバックゲインと、の少なくとも一方を調整する場合に、少なくとも1つのフィルタの係数と、フィードバックゲインと、の少なくとも一方を調整するごとにサーボ制御装置を動作させて入出力ゲイン及び位相遅れの周波数特性を求めることなく、入出力ゲイン及び位相遅れの周波数特性を求めることができる。そのため、入出力ゲイン及び位相遅れの周波数特性を測定する時間を短縮することができる。
【0088】
(2) 前記サーボ制御装置の入出力ゲイン及び入出力の位相遅れの測定した周波数特性及び前記第2の情報を保存する調整前状態情報保存部(例えば、調整前状態保存部402)を備えた上記(1)に記載の制御支援装置。
【0089】
(3) モータを制御するサーボ制御装置と、
前記サーボ制御装置の少なくとも1つのフィルタの係数と、フィードバックゲインと、の少なくとも一方の調整後の前記サーボ制御装置の入出力ゲイン及び位相遅れの周波数特性の推定値を求める、上記(1)又は(2)に記載の制御支援装置と、
を備えた制御装置。
【0090】
この制御装置によれば、サーボ制御装置の少なくとも1つのフィルタの係数と、フィードバックゲインと、の少なくとも一方を調整する場合に、少なくとも1つのフィルタの係数と、フィードバックゲインと、の少なくとも一方を調整するごとにサーボ制御装置を動作させて入出力ゲイン及び位相遅れの周波数特性を求めることなく、入出力ゲイン及び位相遅れの周波数特性を求めることができる。そのため、入出力ゲイン及び位相遅れの周波数特性を測定する時間を短縮することができる。
【0091】
(4) 上記(1)又は(2)に記載の制御支援装置で求められる、前記サーボ制御装置の入出力ゲイン及び位相遅れの周波数特性の推定値に基づいて、前記サーボ制御装置の少なくとも1つのフィルタの係数と、フィードバックゲインと、の少なくとも一方を最適化する機械学習装置(例えば、機械学習部500)を備えた上記(3)に記載の制御装置。
この制御装置によれば、速度制御部及び/又はフィルタのパラメータの調整が、簡易化され、短時間で行うことができる。
【0092】
(5) 周波数が変わる信号を生成し、前記信号を前記サーボ制御装置に入力する周波数生成装置と、
前記信号と前記サーボ制御装置の出力信号とに基づいて前記サーボ制御装置の入出力ゲイン及び位相遅れの周波数特性を測定する周波数特性測定部と、
を備えた、上記(3)又は(4)に記載の制御装置。
【0093】
(6) 前記サーボ制御装置は、前記モータに流れる電流を制御する電流フィードバックループと、該電流フィードバックループを含み、前記フィルタと前記フィードバックゲインとを有するフィードバックループとを備え、
周波数が変わる第1の信号を生成し、前記第1の信号を前記電流フィードバックループに入力する周波数生成装置と、
前記第1の信号と前記フィードバックループにおいて前記電流フィードバックループに入力される第2の信号とに基づいて、前記サーボ制御装置の入出力ゲイン及び位相遅れの周波数特性を測定する周波数特性測定部と、
を備えた、上記(3)又は(4)に記載の制御装置。
【0094】
(7) モータ(例えば、モータ150)を制御するサーボ制御装置(例えば、サーボ制御部100)の少なくとも1つのフィルタ(例えば、フィルタ130)の係数と、フィードバックゲインと、の少なくとも一方を調整するための支援を行う制御支援装置(例えば、制御支援部400)の制御支援方法であって、
調整後における、前記少なくとも1つのフィルタの係数と、前記フィードバックゲインと、の少なくとも一方からなる第1の情報と、調整前における、前記少なくとも1つのフィルタの係数と、前記フィードバックゲインと、の少なくとも一方からなる第2の情報とを取得し、
前記第2の情報及び前記第1の情報を用いて、前記フィルタの係数及び前記フィードバックゲインの少なくとも一方の調整前後における、前記フィルタの入出力ゲイン及び位相遅れの周波数特性と、前記フィードバックゲイン(例えば、速度制御部120)の入出力ゲイン及び位相遅れの周波数特性と、のうちの少なくとも一方の周波数特性を計算し、
調整前後における前記少なくとも一方の周波数特性と、前記フィルタの係数と前記フィードバックゲインとの少なくとも一方の調整前の、前記サーボ制御装置の入出力ゲイン及び入出力の位相遅れの測定した周波数特性と、に基づいて、前記フィルタの係数及び前記フィードバックゲインの少なくとも一方の調整後の前記サーボ制御装置の入出力ゲイン及び位相遅れの周波数特性の推定値を求める、制御支援方法。
【0095】
この制御支援方法によれば、サーボ制御装置の少なくとも1つのフィルタの係数と、フィードバックゲインと、の少なくとも一方を調整する場合に、少なくとも1つのフィルタの係数と、フィードバックゲインと、の少なくとも一方を調整するごとにサーボ制御装置を動作させて入出力ゲイン及び位相遅れの周波数特性を求めることなく、入出力ゲイン及び位相遅れの周波数特性を求めることができる。そのため、入出力ゲイン及び位相遅れの周波数特性を測定する時間を短縮することができる。
【符号の説明】
【0096】
10、10A 制御装置
100、100-1~100-n サーボ制御部
110 減算器
120 速度制御部
130 フィルタ
140 電流制御部
150 モータ
200 周波数生成部
300 周波数特性測定部
400、400-1~400-n 制御支援部
401 サーボ状態情報取得部
402 調整前状態保存部
403 周波数特性測定部
404 状態推定部
500 機械学習部
501 状態情報取得部
502 学習部
503 行動情報出力部
504 価値関数記憶部
505 最適化行動情報出力部
600 ネットワーク