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

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

▶ 三菱電機株式会社の特許一覧

<>
  • 特許-モータ制御装置およびモータ制御方法 図1
  • 特許-モータ制御装置およびモータ制御方法 図2
  • 特許-モータ制御装置およびモータ制御方法 図3
  • 特許-モータ制御装置およびモータ制御方法 図4
  • 特許-モータ制御装置およびモータ制御方法 図5
  • 特許-モータ制御装置およびモータ制御方法 図6
  • 特許-モータ制御装置およびモータ制御方法 図7
  • 特許-モータ制御装置およびモータ制御方法 図8
  • 特許-モータ制御装置およびモータ制御方法 図9
  • 特許-モータ制御装置およびモータ制御方法 図10
  • 特許-モータ制御装置およびモータ制御方法 図11
  • 特許-モータ制御装置およびモータ制御方法 図12
  • 特許-モータ制御装置およびモータ制御方法 図13
  • 特許-モータ制御装置およびモータ制御方法 図14
  • 特許-モータ制御装置およびモータ制御方法 図15
  • 特許-モータ制御装置およびモータ制御方法 図16
  • 特許-モータ制御装置およびモータ制御方法 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-09-19
(45)【発行日】2024-09-30
(54)【発明の名称】モータ制御装置およびモータ制御方法
(51)【国際特許分類】
   H02P 23/14 20060101AFI20240920BHJP
【FI】
H02P23/14
【請求項の数】 13
(21)【出願番号】P 2024526945
(86)(22)【出願日】2023-12-25
(86)【国際出願番号】 JP2023046512
【審査請求日】2024-05-07
【早期審査対象出願】
(73)【特許権者】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】100118762
【弁理士】
【氏名又は名称】高村 順
(72)【発明者】
【氏名】村田 宗洋
(72)【発明者】
【氏名】佐藤 剛
(72)【発明者】
【氏名】高幣 一樹
(72)【発明者】
【氏名】田辺 章
(72)【発明者】
【氏名】藤田 智哉
(72)【発明者】
【氏名】辻川 孝輔
【審査官】若林 治男
(56)【参考文献】
【文献】特開2006-074885(JP,A)
【文献】特開2021-168548(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H02P 23/14
(57)【特許請求の範囲】
【請求項1】
制御対象である被駆動体に接続されたモータを制御するモータ制御装置であって、
前記モータの制御で使用する制御ゲインの切り替えを指令する切替指令部と、
前記モータが制御される際の制御状態を示す制御状態量と前記制御状態に対する制約条件とに基づいて、前記制御ゲインを切り替える際の前記制御状態量の制約値を決定する制約値決定部と、
前記切替指令部による前記指令である切替指令に従って前記制御ゲインを切り替える前の制御ゲインである変更前制御ゲインと、前記切替指令に従って前記制御ゲインを切り替えた後の制御ゲインである変更後制御ゲインと、前記制約値決定部が決定した前記制約値とに基づいて、前記制御ゲインの切り替えを開始してから完了するまでの間の前記モータの制御で使用する制御ゲインを逐次計算するゲイン変更計算部と、
を備え
前記制約値決定部は、複数種類の前記制御状態量の中から前記モータの動作パラメータに基づいて選択した前記制御状態量と、前記モータの動作条件とに基づいて前記制約値を決定する、
ことを特徴とするモータ制御装置。
【請求項2】
前記制約値決定部は、前記モータの動作条件に応じて前記制御状態量と前記制約条件とを切り替える、
ことを特徴とする請求項1に記載のモータ制御装置。
【請求項3】
前記制御状態量は、前記モータに対する位置指令と前記モータの実際の位置との位置偏差、前記位置指令または前記モータの実際の位置、前記モータに対する速度指令または前記モータの実際の速度、前記モータに対する加速度指令または前記モータの実際の加速度、前記被駆動体に対する電流指令または前記被駆動体に流れる実際の電流値、前記被駆動体に対するトルク指令または前記被駆動体の実際のトルク、および、前記被駆動体に対する躍度指令または前記被駆動体の実際の躍度のうちの1つ以上を含む、
ことを特徴とする請求項1に記載のモータ制御装置。
【請求項4】
前記制約条件は、制御周期毎の前記制御状態量についての、瞬時値、最大値、最小値、実効値、平均値および変動量の1つ、または、複数の組み合わせである、
ことを特徴とする請求項1に記載のモータ制御装置。
【請求項5】
前記制約値決定部は、前記制御状態量が定められた条件を満たす場合に前記制約値を変更する、
ことを特徴とする請求項1に記載のモータ制御装置。
【請求項6】
前記モータ制御装置が工作機械に適用され、
前記切替指令部は、前記工作機械が加工動作中であるか否かを判定する動作解析部を含み、非加工動作中に前記制御ゲインの切り替えを指令する、
ことを特徴とする請求項1に記載のモータ制御装置。
【請求項7】
前記切替指令部は、前記モータ制御装置が補間動作中であるか否か判定する動作解析部を含み、非補間動作中に前記制御ゲインの切り替えを指令する、
ことを特徴とする請求項1に記載のモータ制御装置。
【請求項8】
前記ゲイン変更計算部を複数備え、
複数の前記ゲイン変更計算部のそれぞれが算出した複数の制御ゲインを比較し、比較結果に基づいて、比較対象とした複数の前記制御ゲインの中の1つを前記モータの制御で使用する制御ゲインとして選択する、
ことを特徴とする請求項1に記載のモータ制御装置。
【請求項9】
前記ゲイン変更計算部は、前記切替指令と、前記変更前制御ゲインと、前記変更後制御ゲインと、前記制約値と、実際の前記制御状態量と、前記制御ゲインの切り替えを開始してから完了するまでの間の前記モータの制御で使用する制御ゲインとの関係を学習して生成された学習済モデルを用いて前記制御ゲインを算出する、
ことを特徴とする請求項1からのいずれか一つに記載のモータ制御装置。
【請求項10】
前記切替指令と、前記変更前制御ゲインと、前記変更後制御ゲインと、前記制約値と、実際の前記制御状態量と、前記制御ゲインとの関係を学習して前記学習済モデルを生成する学習装置、
を備えることを特徴とする請求項に記載のモータ制御装置。
【請求項11】
前記学習装置は、
前記制御ゲインを決定するための関数を前記制約値と実際の前記制御状態量との差に基づいて更新する処理を繰り返して前記学習済モデルを生成する、
ことを特徴とする請求項10に記載のモータ制御装置。
【請求項12】
前記ゲイン変更計算部は、
前記切替指令、前記変更前制御ゲイン、前記変更後制御ゲイン、前記制約値および実際の前記制御状態量を推論用データとして取得するデータ取得部と、
前記データ取得部が取得した前記推論用データと前記学習済モデルとを使用して前記制御ゲインを推論する推論部と、
を備えることを特徴とする請求項に記載のモータ制御装置。
【請求項13】
制御対象である被駆動体に接続されたモータを制御するモータ制御装置が実行するモータ制御方法であって、
前記モータの制御で使用する制御ゲインの切り替えを指令する切替指令を受ける第1ステップと、
前記モータが制御される際の制御状態を示す制御状態量と前記制御状態に対する制約条件とに基づいて、前記制御ゲインを切り替える際の前記制御状態量の制約値を決定する第2ステップと、
前記第1ステップで受けた切替指令に従って前記制御ゲインを切り替える前の制御ゲインである変更前制御ゲインと、前記切替指令に従って前記制御ゲインを切り替えた後の制御ゲインである変更後制御ゲインと、前第2ステップで決定した前記制約値とに基づいて、前記制御ゲインの切り替えを開始してから完了するまでの間の前記モータの制御で使用する制御ゲインを逐次計算する第3ステップと、
を含み、
前記第2ステップでは、複数種類の前記制御状態量の中から前記モータの動作パラメータに基づいて選択した前記制御状態量と、前記モータの動作条件とに基づいて前記制約値を決定する、
ことを特徴とするモータ制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ゲイン切り替え機能を有するモータ制御装置およびモータ制御方法に関する。
【背景技術】
【0002】
モータ制御装置は、コントローラから受け取った指令、または自身が生成した指令に応じてモータを制御し、モータに接続された被駆動体が位置指令あるいは速度指令に追従するように、あるいは被駆動体に加わる力やトルクが指令に追従するように制御を行う。このとき、追従性はモータ制御装置が有する位置制御器や速度制御器などの制御ゲインによって決定される。一般的に、制御ゲインの設定をハイゲイン設定にすると追従性は向上するものの、制御的に不安定になりオーバーシュートや共振が発生する。
【0003】
モータ制御装置において、要求される追従性と安定性とを両立するために、モータに接続された被駆動体の動作に応じて制御ゲインの設定を切り替える技術が知られている。しかしながら、制御ゲインの設定を瞬時に切り替えると、制御ゲインの切り替え前後でトルク指令あるいは速度指令等に差分が生じ、機械にショックを与える場合がある。
【0004】
このような課題に対し、特許文献1には、ゲイン変更に伴うトルク変化によるショックを抑制できるモータ制御装置が開示されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2006-74885号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1記載のモータ制御装置では、トルクに制約を設けて制御ゲインを切り替えているものの、例えばモータの速度条件においても制約を設けながら制御ゲインを切り替えることが困難であり、トルク指令に加えて速度指令にも差分が生じる場合は、制御ゲインの切り替え前後で機械に与えるショックを軽減しきれない。
【0007】
本開示は、上記に鑑みてなされたものであって、モータの制御で使用する制御ゲインをモータの状態に応じて切り替える際に、複数の制約条件を満たしつつ制御ゲインを変更することが可能なモータ制御装置を得ることを目的とする。
【課題を解決するための手段】
【0008】
上述した課題を解決し、目的を達成するために、本開示は、制御対象である被駆動体に接続されたモータを制御するモータ制御装置であって、モータの制御で使用する制御ゲインの切り替えを指令する切替指令部と、モータが制御される際の制御状態を示す制御状態量と制御状態に対する制約条件とに基づいて、制御ゲインを切り替える際の制御状態量の制約値を決定する制約値決定部と、切替指令部による指令である切替指令に従って制御ゲインを切り替える前の制御ゲインである変更前制御ゲインと、切替指令に従って制御ゲインを切り替えた後の制御ゲインである変更後制御ゲインと、制約値決定部が決定した制約値とに基づいて、制御ゲインの切り替えを開始してから完了するまでの間のモータの制御で使用する制御ゲインを逐次計算するゲイン変更計算部と、を備え、制約値決定部は、複数種類の制御状態量の中からモータの動作パラメータに基づいて選択した制御状態量と、モータの動作条件とに基づいて制約値を決定する、ことを特徴とする。
【発明の効果】
【0009】
本開示にかかるモータ制御装置は、モータの制御で使用する制御ゲインをモータの状態に応じて切り替える際に、複数の制約条件を満たしつつ制御ゲインを変更することができる、という効果を奏する。
【図面の簡単な説明】
【0010】
図1】実施の形態1にかかるモータ制御システムの構成例を示す図
図2】実施の形態1にかかるモータ制御システムの変形例を示す図
図3】実施の形態1にかかる制御ゲイン変更部の構成例を示す図
図4】実施の形態1にかかる制御ゲイン変更部の動作を説明するための図
図5】実施の形態1にかかる制御ゲイン変更部のゲイン変更計算部を説明するための図
図6】実施の形態2にかかるモータ制御装置の制御ゲイン変更部の構成例を示す図
図7】実施の形態2にかかる制御ゲイン変更部の動作を説明するための図
図8】実施の形態3にかかるモータ制御装置の切替指令部の構成例を示す図
図9】実施の形態4にかかるモータ制御システムの構成例を示す図
図10】実施の形態4にかかるモータ制御装置の第1制御ゲイン変更部および第2制御ゲイン変更部の構成例を示す図
図11】実施の形態5にかかるモータ制御装置の制御ゲイン変更部の構成例を示す図
図12】実施の形態5にかかるモータ制御装置の制御ゲイン変更部を実現する学習装置の構成例を示す図
図13】実施の形態5にかかる学習装置の動作の一例を示すフローチャート
図14】学習済モデルを活用して実現する制御ゲイン変更部の一例を示す図
図15】実施の形態5にかかるモータ制御装置を実現する推論装置の構成例を示す図
図16】実施の形態5にかかる推論装置の動作の一例を示すフローチャート
図17】各実施の形態にかかるモータ制御装置を実現するハードウェアの一例を示す図
【発明を実施するための形態】
【0011】
以下に、本開示の実施の形態にかかるモータ制御装置およびモータ制御方法を図面に基づいて詳細に説明する。
【0012】
実施の形態1.
図1は、実施の形態1にかかるモータ制御システムの構成例を示す図である。実施の形態1にかかるモータ制御システム100は、ゲイン切り替え機能を有するモータ制御装置1と、モータ70とを備える。モータ70には検出器80が取り付けられており、検出器80はモータ70の位置検出を行う。モータ制御装置1は、検出器80による位置検出結果に基づいて、制御ゲインを切り替えながらモータ70を制御する。モータ70は、例えば、工作機械が有する駆動軸を駆動する。
【0013】
モータ制御装置1は、指令生成部10と、位置制御部20と、ゲイン切替部30と、速度制御部40と、電流制御部50と、速度計算部60とを備える。
【0014】
指令生成部10は、モータ70を制御するための指令を生成する。指令生成部10は、モータ70に対する位置指令を生成する位置指令生成部11を備える。
【0015】
位置制御部20は、位置指令生成部11から出力される位置指令に追従するようにモータ70の位置を制御する。位置制御部20は、位置指令と検出器80からフィードバックされるモータ70の位置(図1では位置FBと記載)との差である位置偏差を演算する位置偏差演算部21と、位置偏差に基づいて速度指令を演算する速度指令演算部22とを備える。位置指令生成部11から出力される位置指令はモータ70に接続された被駆動体の位置を指令してもよい。この場合、検出器80はモータ70の位置から被駆動体の位置を求め、被駆動体の位置を位置偏差演算部21にフィードバックする。
【0016】
ゲイン切替部30は、位置制御部20が使用する制御ゲインの変更制御を行う。以下、位置制御部20が使用する制御ゲインを位置制御ゲインと称する。ゲイン切替部30は、モータ制御装置1が位置制御ゲインを物理的な制約を保ったまま切り替えできるようにし、モータ70へのショックの緩和を実現するために設けられている。ゲイン切替部30は、位置制御ゲインの切り替えを指令する切替指令部31と、切替指令部31から指令を受けると位置制御部20が使用する位置制御ゲインを変更する制御ゲイン変更部32とを備える。
【0017】
速度制御部40は、位置制御部20から出力される速度指令と、後述する速度計算部60から出力されるモータ70の速度のフィードバック値(図1では速度FBと記載)とに基づいて電流指令を生成する。
【0018】
電流制御部50は、速度制御部40から出力される電流指令と、モータ70に流れる電流のフィードバック値(図1では電流FBと記載)とに基づいてモータ70に所望の電流を供給し、モータ70を動作させる。この結果、指令生成部10が指令する位置にモータ70が制御される。モータ70に流れる電流のフィードバック値は、例えば、図示を省略した電流センサで計測する。
【0019】
速度計算部60は、検出器80からフィードバックされるモータ70の位置(以下、位置フィードバックまたは位置FBと記載する)からモータ70の速度(以下、速度フィードバックまたは速度FBと記載する)を算出する。図1において「s」はラプラス演算子を意味し、速度計算部60は位置フィードバックを微分することで速度フィードバックに変換する。なお、速度計算部60は、ラプラス変換の代わりに、一定時間毎の位置フィードバックの変化量から速度フィードバックを計算してもよい。
【0020】
なお、位置指令の生成は、図2に示すように指令値生成装置2で行い、モータ制御装置1xに送信してもよい。図2は、実施の形態1にかかるモータ制御システムの変形例を示す図である。図2では、モータ制御システム100と共通の構成要素に同一の符号を付している。図2に示すモータ制御システム101の動作はモータ制御システム100と同一である。
【0021】
つづいて、モータ制御システム100のモータ制御装置1の動作について説明する。
【0022】
モータ70を一定速度で駆動している場合、位置偏差D[rad]は速度指令ω[rad/s]を位置制御ゲインG[rad/s]で除することで得られる。すなわち、D=ω/Gの関係が成り立つ。
【0023】
一定速度中に位置制御ゲインGを切り替えた場合の位置偏差の変動をΔD[rad]、切り替え時の速度指令をω1[rad/s]、切替前の位置制御ゲインをG1、切替後の位置制御ゲインをG2とした場合、位置偏差の変動量ΔDは次式(1)で表すことができる。位置制御ゲインGの切り替え時には、この位置偏差の変動量ΔDを補償するために速度およびトルクが急峻に応答し、モータ70にショックを与える。
【0024】
【数1】
【0025】
この位置制御ゲインGを切り替える際のモータ70へのショックを緩和するため、ゲイン切替部30の制御ゲイン変更部32は、制約対象として選択した制御状態量の制約値および切替指令部31が出力する切替指令に基づいて位置制御ゲインを演算し、位置制御部20へと出力する。切替指令部31は、位置制御ゲインの切り替え区間を指定する切替指令を生成して制御ゲイン変更部32に出力する。切替指令部31は、例えば、速度指令および速度FBに基づいて切り替え区間を決定する。切替指令部31は、速度指令および速度FBのいずれか一方に基づいて切り替え区間を決定してもよい。また、切替指令部31は、モータ70に流れる電流のフィードバック値(電流FB)、モータ70の位置のフィードバック値(位置FB)などに基づいて切り替え区間を決定してもよい。
【0026】
以下、制御ゲイン変更部32について、図3および図4を用いて詳細に説明する。図3は、実施の形態1にかかる制御ゲイン変更部32の構成例を示す図である。図4は、実施の形態1にかかる制御ゲイン変更部32の動作を説明するための図である。
【0027】
図3に示すように、制御ゲイン変更部32は、制約値を決定する制約値決定部33と、位置制御ゲインを演算するゲイン変更計算部34とを備える。
【0028】
制約値決定部33は制御状態量210および制約条件220に基づいて制約値を決定する。制御状態量210は、モータ70がモータ制御装置1によって制御される際の制御状態を示す。制御状態量210の例は、位置偏差、速度指令、加速度指令などである。速度指令の代わりに速度フィードバックとしてもよい。加速度指令の代わりに加速度フィードバックとしてもよい。他の指令についても同様とする。制約条件220は、制約状態量210に対する制約条件である。制約条件220の例は、瞬時値、最大値、最小値などである。制約値決定部33は、制約状態量210と制約条件220とを組み合わせて制約値を決定する。制約値決定部33は、例えば、電流指令の瞬時値および位置偏差の変動量についての制約値を決定する。制約値決定部33による制約値の決定は、例えば、図1では記載を省略している、モータ制御装置1に接続される上位コントローラからの指示に従って行う。上位コントローラは、モータ70の動作パラメータ、動作条件などに基づいて、制約状態量210と制約条件220との組み合わせ、制約条件220の具体的な値を制約値決定部33に指示する。上位コントローラは、ユーザからの指示に従って制約値を決定してもよい。例えば、上位コントローラは、表示装置、入力装置などで構成されるユーザインタフェースを介して、制約状態量210と制約条件220との組み合わせの指定、制約条件220の具体的な値の指定をユーザより受け付け、制約値を決定してもよい。
【0029】
ゲイン変更計算部34は、切替指令、変更前制御ゲイン230、変更後制御ゲイン240および制約値決定部33で決定された制約値に基づいて位置制御ゲインを演算する。具体的には、ゲイン変更計算部34は、モータ70の状態を示す制御状態量のうち、制約値に対応する制御状態量が制約値によって示される制約を満たすよう、位置制御ゲインを演算する。
【0030】
変更前制御ゲイン230は、位置制御部20が使用する位置制御ゲインをゲイン切替部30が切り替える前の位置制御ゲインであり、上記の切替前の位置制御ゲインG1が該当する。変更後制御ゲイン240は、位置制御部20が使用する位置制御ゲインをゲイン切替部30が切り替えた後の位置制御ゲインであり、上記の切替後の位置制御ゲインG2が該当する。変更後制御ゲイン240の決定方法については問わない。例えば、変更後制御ゲイン240は、モータ制御装置1の制御プログラムによって指定されてもよいし、モータ70の状態に基づいて切替指令部31が決定してもよい。モータ70に接続された被駆動体の動作状態に基づいて切替指令部31が決定してもよい。制御ゲインの変更量を固定とし、変更前制御ゲイン230から変更後制御ゲイン240を求めるようにしてもよい。
【0031】
制御ゲイン変更部32の動作の具体例について、図4を参照しながら説明する。図4によれば、切り替え開始時刻から切り替え完了時刻までの区間が位置制御ゲインの切り替え区間であり、区間<1>および区間<2>を含む。ここでは、一例として、制約値を電流指令の瞬時値および位置偏差の変動量とし、変更前制御ゲイン230をG1とし、変更後制御ゲイン240をG2とし、一定速度区間時に位置制御ゲインを切り替える場合について説明する。切替指令部31は、一定速度区間のときにゲイン変更計算部34に切替指令を送る。なお、切替指令部31は、位置指令、速度指令、速度FBなどに基づいて一定速度区間を検出する。
【0032】
制約条件である電流指令I[A]の瞬時値および位置偏差の変動量ΔD[rad]を以下の式(2)および式(3)のように定義する。ここで、制約条件は、区間<1>では電流指令を一定値(Ires)とし、位置偏差の変動量ΔDがΔD/2を満たした場合に区間<2>へ移行し、区間<2>では電流指令を負の一定値(-Ires)としている。
【0033】
【数2】
【0034】
【数3】
【0035】
被駆動体が接続されるモータ70が表面磁石型の同期モータの場合、電流I[A]とトルクT[N・m]は比例関係にあるため、モータ70のトルク定数をKt[N・m/A]とすると、トルクTは、T=Kt・Iで表すことができる。このとき、トルクTの1階積分が速度ω(t)[rad/s]、2階積分が位置偏差D(t)[rad]である。このため、速度ω(t)および位置偏差D(t)は、モータ70の慣性モーメントJm[kg・m2]と、被駆動体の慣性モーメントJL[kg・m2]と、変更前の位置制御ゲインG1および変更後の位置制御ゲインG2とを用いて、以下の式(4)および式(5)で表すことができる。
【0036】
【数4】
【0037】
【数5】
【0038】
また、このときの切り替えにかかる時間である2Δtは次式(6)で表すことができる。
【0039】
【数6】
【0040】
ここで、位置制御ゲインの切り替え途中の速度ω2図5に示すようにΔD(Δt)を満たした時の速度FBまたは速度指令を制御ゲイン変更部32に入力し、これを制御ゲイン変更部32のゲイン変更計算部34がラッチして計算してもよいし、次式(7)から事前に求めた値を使用してもよい。なお、図5では、切替指令部31へ入力する速度指令および速度FBの記載を省略している。
【0041】
【数7】
【0042】
上述したように、D=ω/Gの関係が成り立つため、この関係式と上記の式(4)および式(5)で表されるω(t)およびD(t)とを用いて位置制御ゲインG(t)を求めることができる。ゲイン変更計算部34は、次式(8)に従って位置制御ゲインG(t)を算出する。制御ゲイン変更部32は、ゲイン変更計算部34で算出した位置制御ゲインG(t)を位置制御ゲイン切り替え値として位置制御部20に出力する。位置制御部20は、制御ゲイン変更部32から位置制御ゲイン切り替え値を受け取ると、速度指令演算部22が使用する位置制御ゲインを、受け取った位置制御ゲイン切り替え値に変更する。
【0043】
【数8】
【0044】
このように、モータ制御装置1では、位置制御部20の速度指令演算部22が使用する位置制御ゲインを、制御ゲイン変更部32が算出する位置制御ゲイン切り替え値に逐次更新することで、位置制御ゲインの切り替えを実施する。
【0045】
なお、図4では、切り替え開始時刻から切り替え完了時刻までの制御ゲインの切り替え区間が区間<1>および区間<2>の2つの区間を含むとしたが、切り替え開始時刻から切り替え完了時刻までに逐次、あるいは段階的に更新できればよく、これに限られない。例えば、制御ゲインの切り替え区間は、3つ以上の区間を含んでいてもよい。
【0046】
また、制御ゲイン変更部32のゲイン変更計算部34は、位置制御ゲインの計算を制御周期毎に逐次実施してもよいし、変更開始前に実施してルックアップテーブルを作成してもよい。すなわち、制御ゲイン変更部32は、位置制御ゲインの切り替えを実施する区間において、モータ70の制御周期ごとに位置制御ゲイン切り替え値を計算して位置制御部20に出力するようにして、位置制御ゲインを徐々に変更してもよい。また、制御ゲイン変更部32は、事前に作成したルックアップテーブルに従って、位置制御ゲイン切り替え値を繰り返し位置制御部20に出力するようにして、位置制御ゲインを徐々に変更してもよい。
【0047】
なお、制約値の選び方は上述したものに限定されない。例えば、モータ70の加速区間では電流指令の瞬時値を制約値として使用し、一定速度区間では電流指令の瞬時値および速度指令の最大値を制約値として使用する、といったようにモータの動作条件に応じて制約値を変更しながら位置制御ゲインを逐次変更してもよい。また、上記の式(8)はモータ70が剛体かつ制御系が定常状態である前提で導出したが、機械系の状態を反映したモデルや過渡状態を考慮して位置制御ゲイン切り替えを実施してもよい。
【0048】
本実施の形態では、一例として単純な位置フィードバック制御において位置制御ゲインを切り替える構成について説明したが、例えばフィードバック制御とフィードフォワード制御とを組み合わせた2自由度制御におけるフィードフォワードゲインの切り替えも同様に実施することが可能である。
【0049】
以上説明したように、本実施の形態にかかるモータ制御装置1は、モータ70が一定速度で駆動している一定速度区間において、変更前の位置制御ゲインである変更前制御ゲインと、変更後の位置制御ゲインである変更後制御ゲインと、制御対象のモータ70の状態を示す制御状態量の制約値とに基づいて、位置制御ゲインの切り替えを開始してから完了するまでの間のモータ70の制御で使用する位置制御ゲインを逐次決定して更新する。実施の形態1によれば、制御対象である被駆動体が指令に追従する様に位置制御ゲインを用いて制御するモータ制御装置1において、制御状態量に対する複数の制約条件に基づいて決定された制約値を考慮しながら位置制御ゲインを更新するため、モータ70の駆動中であっても制御状態量の制約条件を保ったまま逐次位置制御ゲインを切り替えることができ、特許文献1などで開示されている従来技術と比較して、モータ70へのショックをより軽減できる。
【0050】
実施の形態2.
つづいて、実施の形態2にかかるモータ制御装置について説明する。なお、実施の形態1にかかるモータ制御装置1と同様の構成要素については実施の形態1と同一の名称および記号を用いて説明する。実施の形態1にかかるモータ制御装置1の制御ゲイン変更部32を図6に示す制御ゲイン変更部32aに変更したものが実施の形態2にかかるモータ制御装置となる。なお、図6は、実施の形態2にかかるモータ制御装置の制御ゲイン変更部の構成例を示す図である。図6に示す実施の形態2にかかる制御ゲイン変更部32aは、図3に示す実施の形態1にかかる制御ゲイン変更部32の制約値決定部33を制約値決定部33aに置き換えたものである。
【0051】
実施の形態1で述べたように、モータ70の駆動中であっても逐次位置制御ゲインを遷移させることで制御状態量の制約を保ったまま位置制御ゲインを切り替えることが可能となる。しかし、位置制御ゲインの切り替え時に、時間をかけて徐々に位置制御ゲインを遷移させるため、モータ70の停止間際に切り替えを実施した場合、位置制御ゲインの切り替え完了を待つための無駄時間が生じてしまう。一方で、位置制御ゲインの切り替え完了を待たずしてモータ動作を開始した場合、遷移途中の位置制御ゲインを使用することになるので、他軸と補間が求められると軌跡に歪みが発生してしまう。そこで、図6に示すように、実施の形態2にかかる制御ゲイン変更部32aは、制約値決定部33aが実際の制御状態量を監視し、制御状態量が予め定められた閾値以内となった場合に位置制御ゲインの演算に用いる制約値を変更することで、位置制御ゲインの切り替えに要する時間を短縮化する。実際の制御状態量とは、制約値決定部33aが制約値を決定する際に選択した制御状態量の計測値(フィードバック値)、または計測値から算出される値であり、例えば、実施の形態1で説明した、制約値が電流指令の瞬時値および位置偏差の変動量である場合、電流の瞬時値と、位置偏差の変動量とが実際の制御状態量に該当する。
【0052】
ここでは、実施の形態1と同様に電流指令の瞬時値および位置偏差の変動量を制約条件とし、監視対象を速度FBとし、閾値をω3とする場合について、図7を用いて説明する。図7は、実施の形態2にかかる制御ゲイン変更部32aの動作を説明するための図である。
【0053】
切り替え開始時刻を実施の形態1と同じく一定速度時とし、時刻t2からモータ70が減速するとき、本来位置制御ゲイン切り替えが完了する時刻はt4である。しかし、制御ゲイン変更部32aは、速度FBがω3以内となった時点で電流の制約値を充分に大きな値に変更する。本変更により、位置制御ゲインは瞬時に切り替え後の値G2に遷移する。このとき、位置偏差の変動は上記の式(1)に示すとおりであるため、ω3が充分に小さければ、瞬時に位置制御ゲインを切り替えたとしてもモータ70にショックを与えない。なお、ここではモータ70が停止間際に制約値を変更する例をあげたが、例えば、実際の制御状態量として速度FBを監視し、モータ70を駆動する際の速度FBに応じて、制約値として選択した速度FBの最大値を変更するといったことも可能である。
【0054】
以上説明したように、本実施の形態によれば、実際の制御状態量を監視し、制御状態量が定められた条件を満たすようになった場合、すなわち、制御状態量が予め定められた閾値以内、または閾値以上となった場合に制約値を変更することで、位置制御ゲインの遷移を瞬時に完了することが可能となる。
【0055】
実施の形態3.
つづいて、実施の形態3にかかるモータ制御装置について説明する。なお、実施の形態1にかかるモータ制御装置1と同様の構成要素については実施の形態1と同一の名称および記号を用いて説明する。実施の形態1にかかるモータ制御装置1の切替指令部31を図8に示す切替指令部31bに変更したものが実施の形態3にかかるモータ制御装置となる、なお、図8は、実施の形態3にかかるモータ制御装置の切替指令部の構成例を示す図である。図8に示すように、実施の形態3にかかる切替指令部31bは、加工プログラムを解析して切替指令を出力する動作解析部311を備える。
【0056】
実施の形態1で述べたように、モータ70が駆動中であっても逐次位置制御ゲインを遷移させることで制御状態量の制約を保ったまま位置制御ゲインを切り替えることが可能となる。しかし、例えば、工作機械用途のモータ制御装置においては、位置制御ゲインを切削加工中に切り替えると、位置偏差の変動によって軌跡が歪み加工面精度が悪化する。そこで、図8に示す実施の形態3にかかる切替指令部31bの動作解析部311は、加工プログラムを解析することで、モータ制御装置が加工動作中か非加工動作中であるかを判定する。動作解析部311は、非加工動作中のときに、位置制御ゲインの切り替えを許可し、加工動作中のときには位置制御ゲインの切り替えを不許可とする切替指令を出力する。すなわち、切替指令部31bは、非加工動作中に、位置制御ゲインの切り替えを制御ゲイン変更部32に指令する。
【0057】
図1に示す位置指令生成部11は、モータ70の駆動対象の経路を決定する加工プログラム(Gコードプログラム)などに基づいて位置指令を生成している。加工箇所については、加工プログラム中で指定されているため、加工プログラムを解析すれば、加工動作中であるときに、これを検出できる。本実施の形態では、加工動作を検出する例について説明したが、複数軸の補間動作を検出してもよい。すなわち、切替指令部31bは、補間動作を実施していない非補間動作中に位置制御ゲインの切り替えを指令してもよい。
【0058】
以上説明したように、実施の形態3によれば、切替指令部31bが動作解析部311を有することで、軌跡に影響を与えても問題ないタイミングで位置制御ゲイン切り替えを実施することが可能となる。
【0059】
なお、図8に示す切替指令部31bを実施の形態1に適用する例について説明したが、実施の形態2に適用してもよい。
【0060】
実施の形態4.
つづいて、実施の形態4にかかるモータ制御装置について説明する。実施の形態1~3では単一のモータ70を制御する場合について説明したが、本実施の形態では、制御対象のモータが複数の場合について説明する。一例として、2軸で同期動作を行うモータ制御システムについて説明する。
【0061】
実施の形態1で述べたように、モータ70が駆動中であっても逐次位置制御ゲインを遷移させることで制御状態量の制約を保ったまま位置制御ゲインを切り替えることが可能となる。しかし、同期して複数のモータを制御するモータ制御装置において、モータの制御回路ごとに異なる制約値が設定された場合、計算される位置制御ゲインの遷移が軸間で異なる値となり、同期動作した場合に、軌跡が歪む場合がある。そこで、実施の形態4にかかるモータ制御装置は、モータ制御回路間で、計算した位置制御ゲインを相互に参照し、同一のゲイン遷移とすることで同期性を保ったまま、位置制御ゲインを切り替える。
【0062】
図9は、実施の形態4にかかるモータ制御システムの構成例を示す図である。実施の形態4にかかるモータ制御システム100cは、複数のモータを制御するモータ制御装置1cと、複数のモータ701および702とを備える。モータ701および702には、それぞれ検出器801および802が取り付けられている。図9ではモータ制御装置1cが制御するモータを2台としているが3台以上としてもよい。
【0063】
モータ制御装置1cは、指令生成部10と、切替指令部31と、位置制御部201および202と、第1制御ゲイン変更部321および第2制御ゲイン変更部322と、速度制御部401および402と電流制御部501および502と、速度計算部601および602とを備える。位置制御部201および202は、実施の形態1にかかるモータ制御装置1の位置制御部20と同様の機能を有する。速度制御部401および402は、実施の形態1にかかるモータ制御装置1の速度制御部40と同様の機能を有する。電流制御部501および502は、実施の形態1にかかるモータ制御装置1の電流制御部50と同様の機能を有する。速度計算部601および602は、実施の形態1にかかるモータ制御装置1の速度計算部60と同様の機能を有する。
【0064】
モータ制御装置1cにおいて、第1制御ゲイン変更部321は、位置制御ゲイン#1を第2制御ゲイン変更部322に出力し、第2制御ゲイン変更部322は、位置制御ゲイン#2を第1制御ゲイン変更部321に出力する。第1制御ゲイン変更部321は第2制御ゲイン変更部322が計算した位置制御ゲイン#2を参照し、第2制御ゲイン変更部322は第1制御ゲイン変更部321が計算した位置制御ゲイン#1を参照する。
【0065】
図10は、実施の形態4にかかるモータ制御装置1cの第1制御ゲイン変更部321および第2制御ゲイン変更部322の構成例を示す図である。
【0066】
第1制御ゲイン変更部321は、制御状態量211および制約条件221に基づいて制約値を決定する制約値決定部331と、変更前制御ゲイン231、変更後制御ゲイン241および制約値決定部331で決定された制約値に基づいて位置制御ゲイン#1を演算するゲイン変更計算部341と、位置制御ゲイン#1または位置制御ゲイン#2を選択して位置制御ゲイン切り替え値として位置制御部201へ出力するゲイン遷移決定部351とを備える。
【0067】
第2制御ゲイン変更部322は、制御状態量212および制約条件222に基づいて制約値を決定する制約値決定部332と、変更前制御ゲイン232、変更後制御ゲイン242および制約値決定部332で決定された制約値に基づいて位置制御ゲイン#2を演算するゲイン変更計算部342と、位置制御ゲイン#1または位置制御ゲイン#2を選択して位置制御ゲイン切り替え値として位置制御部202へ出力するゲイン遷移決定部352とを備える。
【0068】
制御状態量211および212は、実施の形態1にかかるモータ制御装置1の制御ゲイン変更部32が有する制約値決定部33に入力される制御状態量210と同様の情報である。制約条件221および222は、実施の形態1にかかるモータ制御装置1の制御ゲイン変更部32が有する制約値決定部33に入力される制約条件220と同様の情報である。変更前制御ゲイン231および232は、実施の形態1にかかるモータ制御装置1の制御ゲイン変更部32が有するゲイン変更計算部34に入力される変更前制御ゲイン230と同様の情報である。変更後制御ゲイン241および242は、実施の形態1にかかるモータ制御装置1の制御ゲイン変更部32が有するゲイン変更計算部34に入力される変更後制御ゲイン240と同様の情報である。
【0069】
制約値決定部331および332は、実施の形態1にかかるモータ制御装置1の制御ゲイン変更部32が有する制約値決定部33と同様の機能を有する。ゲイン変更計算部341および342は、実施の形態1にかかるモータ制御装置1の制御ゲイン変更部32が有するゲイン変更計算部34と同様の機能を有する。
【0070】
ゲイン遷移決定部351および352には、ゲイン変更計算部341で算出された位置制御ゲイン#1と、ゲイン変更計算部342で算出された位置制御ゲイン#2とが入力される。ゲイン遷移決定部351および352は、入力される位置制御ゲイン#1および位置制御ゲイン#2のうち、ゲインの遷移が緩やかなものを選択し、位置制御ゲイン切り替え値として出力する。
【0071】
このように、第1制御ゲイン変更部321および第2制御ゲイン変更部322は、それぞれで算出する位置制御ゲイン(位置制御ゲイン#1,位置制御ゲイン#2)を相互に参照し、遷移が緩やかな位置制御ゲインを選択して位置制御ゲイン切り替え値として出力する。
【0072】
なお、本実施の形態では2軸で同期動作を行うモータ制御システムについて説明したが、同期制御の対象とする軸の数を3以上とした場合も同様の方法で位置制御ゲインを変更することが可能である。
【0073】
以上説明したように、実施の形態4によれば、異なる制約値が設定された複数のモータ制御回路を有するモータ制御装置においても、モータ制御の同期性を保ったまま、位置制御ゲインを切り替えることが可能となる。
【0074】
実施の形態5.
つづいて、実施の形態5にかかるモータ制御装置について説明する。なお、実施の形態1にかかるモータ制御装置1と同様の構成要素については実施の形態1と同一の名称および記号を用いて説明する。実施の形態1にかかるモータ制御装置1の制御ゲイン変更部32を図11に示す制御ゲイン変更部32dに変更したものが実施の形態5にかかるモータ制御装置となる。なお、図11は、実施の形態5にかかるモータ制御装置の制御ゲイン変更部の構成例を示す図である。図11に示すように、実施の形態5にかかる制御ゲイン変更部32dは、図3に示す実施の形態1にかかる制御ゲイン変更部32に学習装置35を追加したものである。
【0075】
実施の形態1で述べたように、モータ70が駆動中であっても逐次位置制御ゲインを遷移させることで制御状態量の制約を保ったまま位置制御ゲインを切り替えることが可能となる。しかし、実施の形態1における位置制御ゲインの遷移は、定常状態であることを前提に式導出を行っていることに加え、位置制御部20への位置制御ゲイン反映後に位置制御系が応答する時間が必要であるため、特に、位置制御ゲイン遷移にかかる時間が短い場合において理論値から若干乖離する場合がある。過渡状態を加味して位置制御ゲインの切り替えを行ってもよいが、換算式が複雑になり制約条件ごとに導出するのが煩雑となる。そこで、実施の形態5では、制約値として選択した制御状態量と実際の制御状態量との差分と、位置制御ゲインの遷移とを学習することで、過渡状態も考慮した位置制御ゲインの切り替えを実現する。
【0076】
過渡状態も考慮した位置制御ゲインの切り替えを実現するために、本実施の形態では、制御ゲイン変更部32dが有する学習装置35にて機械学習を行い、機械学習により得られた学習済モデルを用いて決定した位置制御ゲインを位置制御部20に適用することで切り替えを実施する。以下では、学習装置35が機械学習を行って学習済モデルを生成するフェーズを「学習フェーズ」と呼び、学習済モデルを利用して位置制御ゲインを推論するフェーズを「活用フェーズ」と呼ぶ。学習フェーズと活用フェーズとに分けて動作を説明する。
【0077】
<学習フェーズ>
学習フェーズでは、学習装置35が、制約値決定部33で決定された制約値と、ゲイン変更計算部34から出力される位置制御ゲインと、切替指令部31から出力される切替指令と、実際の制御状態量とを用いて、学習制御により学習済みモデルを生成する。
【0078】
図12は、実施の形態5にかかるモータ制御装置の制御ゲイン変更部を実現する学習装置の構成例を示す図である。
【0079】
実施の形態5にかかる制御ゲイン変更部32dを実現する学習装置35は、データ取得部51およびモデル生成部52を備える。モデル生成部52は報酬計算部521および関数更新部522を備える。
【0080】
データ取得部51は、制約値決定部33から出力される制約値と、切替指令部31から出力される切替指令と、ゲイン変更計算部34から出力される位置制御ゲインと、実際の制御状態量と、変更前制御ゲインと、変更後制御ゲインとを取得する。なお、学習フェーズにおいて、ゲイン変更計算部34は、実施の形態1で説明した方法で位置制御ゲインを計算する。データ取得部51が取得する実際の制御状態量は、取得する制約値に対応する制御状態量であり、例えば、制約値が電流指令の瞬時値および位置偏差の変動量である場合、データ取得部51は、電流の瞬時値と位置偏差の変動量とを実際の制御状態量として取得する。
【0081】
モデル生成部52は、データ取得部51が取得した制約値、切替指令、位置制御ゲイン、実際の制御状態量、変更前制御ゲインおよび変更後制御ゲインの組み合わせに基づいて作成される学習用データを用いて機械学習を行い、学習済モデルを生成する。すなわち、モデル生成部52は、学習用データに含まれる各データの関係を学習し、制約値、切替指令、実際の制御状態量、変更前制御ゲインおよび変更後制御ゲインから位置制御ゲインを推論するための学習済モデルを生成する。
【0082】
モデル生成部52が用いる学習アルゴリズムは教師あり学習、教師なし学習、半教師あり学習、強化学習等の公知のアルゴリズムを用いることができる。一例として、モデル生成部52が用いる学習アルゴリズムに強化学習(Reinforcement Learning)を適用した場合について説明する。強化学習では、ある環境内におけるエージェント(行動主体)が、現在の状態(環境のパラメータ)を観測し、取るべき行動を決定する。エージェントの行動により環境が動的に変化し、エージェントには環境の変化に応じて報酬が与えられる。エージェントはこれを繰り返し、一連の行動を通じて報酬が最も多く得られる行動方針を学習する。強化学習の代表的な手法として、Q学習(Q-Learning)やTD学習(TD-Learning)が知られている。例えば、Q学習の場合、行動価値関数Q(s,a)の一般的な更新式は、以下の式(9)で表される。
【0083】
【数9】
【0084】
式(9)において、stは時刻tにおける環境の状態を表し、atは時刻tにおける行動を表す。行動atにより、状態はst+1に変わる。rt+1はその状態の変化によってもらえる報酬を表し、γは割引率を表し、αは学習係数を表す。なお、γは0<γ≦1、αは0<α≦1の範囲とする。本実施の形態にかかる学習装置35のモデル生成部52では、位置制御ゲインが行動atであり、制約値、切替指令、実際の制御状態量、変更前制御ゲイン、変更後制御ゲインが状態stである。モデル生成部52は、時刻tの状態stにおける最良の行動atを学習する。
【0085】
上記の式(9)で表される更新式は、時刻t+1における最もQ値の高い行動aの行動価値Qが、時刻tにおいて実行された行動aの行動価値Qよりも大きければ、行動価値Qを大きくし、逆の場合は、行動価値Qを小さくする。換言すれば、時刻tにおける行動aの行動価値Qを、時刻t+1における最良の行動価値に近づけるように、行動価値関数Q(s,a)を更新する。それにより、或る環境における最良の行動価値が、それ以前の環境における行動価値に順次伝播していくようになる。
【0086】
報酬計算部521は、データ取得部51が取得した変更前制御ゲイン、変更後制御ゲイン、制約値、切替指令および位置制御ゲインに基づいて報酬を計算する。
【0087】
具体的には、報酬計算部521が、制約値と実際の制御状態量とに基づいて報酬rを計算する。報酬計算部521は、例えば、制約値と実際の制御状態量との差分が減少する場合には報酬rを増大させ(例えば、「1」の報酬を与え)、制約値と実際の制御状態量との差分が変化しない、または増加する場合には報酬rを低減する(例えば「-1」の報酬を与える)。
【0088】
関数更新部522は、報酬計算部521によって計算される報酬に従って、位置制御部20に適用する位置制御ゲインを決定するための関数を更新する。関数更新部522は、関数の更新によって作成された学習済モデルを学習済モデル記憶部55に出力する。例えば、学習アルゴリズムがQ学習の場合、上記の式(9)で表される行動価値関数Q(st,at)を、位置制御部20に適用する位置制御ゲインを決定するための関数として用いる。
【0089】
学習装置35は、以上のような学習を繰り返し実行する。学習済モデル記憶部55は、関数更新部522によって更新された行動価値関数Q(st,at)、すなわち、学習済モデルを記憶する。
【0090】
なお、図11および図12では、学習済モデル記憶部55が設けられる場所について明記していないが、学習済モデル記憶部55は、制御ゲイン変更部32dの内部に設けられてもよいし、制御ゲイン変更部32dの外部に設けられてもよい。学習済モデル記憶部55が制御ゲイン変更部32dの外部に設けられる場合、学習済モデル記憶部55は、モータ制御装置の外部に設けられてもよい。また、学習済モデル記憶部55は、学習装置35の内部に設けられてもよい。
【0091】
つづいて、学習装置35の動作について、図13を参照しながら説明する。図13は、実施の形態5にかかる学習装置の動作の一例を示すフローチャートである。
【0092】
学習装置35においては、まず、データ取得部51が学習用データを取得する(ステップS11)。具体的には、データ取得部51は、変更前制御ゲイン、変更後制御ゲイン、制約値、切替指令および位置制御ゲインを学習用データとして取得する。
【0093】
次に、モデル生成部52の報酬計算部521および関数更新部522が、学習用データに基づいて、位置制御ゲインを決定するための関数を更新する(ステップS12~S15)。
【0094】
具体的には、報酬計算部521が、制約値と実際の制御状態量との差分を計算し、差分が減少した場合(ステップS12:Yes)、報酬を増大させる(ステップS13)。報酬計算部521は、差分が減少していない場合(ステップS12:No)、報酬を低減させる(ステップS14)。
【0095】
ステップS13またはステップS14に続いて、関数更新部522が、報酬計算部521が報酬を増大または低減させた後の報酬に基づいて、学習済モデル記憶部55が記憶する行動価値関数Q(st,at)を更新する(ステップS15)。
【0096】
学習装置35は、以上のステップS11~S15までのステップを繰り返し実行して行動価値関数Q(st,at)を更新する。学習済モデル記憶部55は、学習装置35により所定の回数に渡って更新が行われた後の行動価値関数Q(st,at)を学習済モデルとして記憶する。
【0097】
<活用フェーズ>
図14は、学習済モデルを活用して実現する制御ゲイン変更部の一例を示す図である。図14に示す制御ゲイン変更部32eは、実施の形態1にかかる制御ゲイン変更部32(図3参照)のゲイン変更計算部34をゲイン変更計算部34eに置き換えた構成である。ゲイン変更計算部34eは、上述した学習装置35により生成された学習済モデルを利用して位置制御ゲインを推論する推論装置36を備える。すなわち、ゲイン変更計算部34eは推論装置36で実現される。
【0098】
図15は、実施の形態5にかかるモータ制御装置を実現する推論装置36の構成例を示す図である。推論装置36は、データ取得部61および推論部62を備える。なお、図15に示す学習済モデル記憶部55は、図12に示した学習済モデル記憶部55と同じものであり、上述した学習装置35のモデル生成部52で生成された学習済モデルを記憶している。
【0099】
データ取得部61は、制約値決定部33から出力される制約値と、切替指令部31から出力される切替指令と、実際の制御状態量と、変更前制御ゲインと、変更後制御ゲインとを取得する。
【0100】
推論部62は、学習済モデル記憶部55が記憶している学習済モデルを利用して、位置制御部20に使用させる位置制御ゲインを推論する。すなわち、推論部62は、データ取得部61が取得した制約値、切替指令、実際の制御状態量、変更前制御ゲインおよび変更後制御ゲインを推論用データとして学習済モデルに入力することで、位置制御部20に使用させる位置制御ゲインを推論する。
【0101】
なお、本実施の形態では、モータ制御装置のモデル生成部52で学習した学習済モデルを用いて位置制御ゲインを推論するものとして説明したが、他のモータ制御装置で取得した学習用データを用いて学習を実施した学習装置から学習済モデルを取得し、この学習済モデルを用いて位置制御ゲインを推論するようにしてもよい。
【0102】
図16は、実施の形態5にかかる推論装置36の動作の一例を示すフローチャートである。図16のフローチャートを参照して、推論装置36が位置制御ゲインを推論する動作について説明する。
【0103】
まず、データ取得部61が、推論用データとして、制約値、切替指令、実際の制御状態量、変更前制御ゲインおよび変更後制御ゲインを取得する(ステップS21)。
【0104】
次に、推論部62が、データ取得部61で取得された推論用データを学習済モデル記憶部55で記憶されている学習済モデルに入力し、これに伴う学習済モデルからの出力を得ることで、位置制御ゲインを推論する(ステップS22)。すなわち、学習済モデル記憶部55で記憶されている学習済モデルは、入力された制約値、切替指令、実際の制御状態量、変更前制御ゲインおよび変更後制御ゲインに基づいて、位置制御部20が速度指令を演算する際に使用させる位置制御ゲインを推論する。
【0105】
推論部62は、位置制御ゲインの推論が終了すると、推論で得られた位置制御ゲインを位置制御部20へ出力する(ステップS23)。なお、推論部62が位置制御部20へ出力する位置制御ゲインは、実施の形態1で説明した位置制御ゲイン切り替え値に相当する。
【0106】
位置制御部20は、推論装置36の推論部62から出力された位置制御ゲインに基づいて、速度指令演算部22が速度指令の演算処理で使用する位置制御ゲインを更新する(ステップS24)。すなわち、位置制御部20は、推論部62から出力された位置制御ゲインを、速度指令演算部22が速度指令の演算処理で使用する位置制御ゲインに設定する。
【0107】
これにより、モータ70の駆動中においても制約を保ったまま位置制御ゲインを切り替えることが可能なモータ制御装置を実現できる。
【0108】
なお、本実施の形態では、学習装置35のモデル生成部52が用いる学習アルゴリズムに強化学習を適用した場合について説明したが、これに限られるものではない。学習アルゴリズムについては、強化学習以外にも、教師あり学習、教師なし学習、半教師あり学習等を適用することも可能である。
【0109】
また、モデル生成部52に用いられる学習アルゴリズムとして、特徴量そのものの抽出を学習する、深層学習(Deep Learning)を用いることもできる。モデル生成部52は、他の公知の方法、例えばニューラルネットワーク、遺伝的プログラミング、機能論理プログラミング、サポートベクターマシンなどに従って機械学習を実行してもよい。
【0110】
また、学習装置35および推論装置36は、例えば、ネットワークを介してモータ制御装置に接続され、このモータ制御装置とは別個の装置であってもよい。また、学習装置35および推論装置36は、モータ制御装置に内蔵されていてもよい。さらに、学習装置35および推論装置36は、クラウドサーバ上に存在していてもよい。
【0111】
また、モデル生成部52は、複数のモータ制御装置から取得される学習用データを用いて、上述した学習を行ってもよい。なお、モデル生成部52は、同一のエリアで使用される複数のモータ制御装置から学習用データを取得してもよいし、異なるエリアで独立して動作する複数のモータ制御装置から収集される学習用データを利用して、上述した学習を行ってもよい。また、学習用データを収集するモータ制御装置を途中で対象に追加したり、対象から除去したりすることも可能である。さらに、あるモータ制御装置に関して位置制御部20に反映する位置制御ゲインを学習した学習装置を、これとは別のモータ制御装置に適用し、当該別のモータ制御装置に関して位置制御部20に反映する位置制御ゲインを再学習して学習済モデルを更新するようにしてもよい。
【0112】
以上説明したように、実施の形態5では、制約値と、切替指令と、実際の制御状態量と、変更前制御ゲインと、変更後制御ゲインと、位置制御ゲインとの関係を学習して学習済モデルを生成し、学習済モデルを利用して、位置制御部における速度指令演算に適用する位置制御ゲインを決定する。これにより、過渡状態も考慮した制御ゲイン切り替えが可能なモータ制御装置を実現できる。
【0113】
つづいて、各実施の形態で説明したモータ制御装置のハードウェア構成について説明する。各実施の形態で説明したモータ制御装置は、例えば、図17に示すハードウェアで実現される。なお、図17は、各実施の形態にかかるモータ制御装置を実現するハードウェアの一例を示す図である。
【0114】
すなわち、各実施の形態で説明したモータ制御装置は、図17に示すプロセッサ91およびメモリ92で実現することができる。プロセッサ91の例は、CPU(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、DSP(Digital Signal Processor)ともいう)またはシステムLSI(Large Scale Integration)である。メモリ92の例は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリー、等の、不揮発性または揮発性の半導体メモリ、磁気ディスク等などである。表示装置103の例は、液晶モニタ、ディスプレイ等である。通信装置104の例は、無線LAN(Local Area Network)アダプタ等である。
【0115】
各実施の形態で説明したモータ制御装置は、モータ制御装置の各部の機能を実現するためのプログラムをプロセッサ91が実行することにより実現される。モータ制御装置の各部の機能を実現するためのプログラムはメモリ92に予め格納されている。プロセッサ91は、このプログラムをメモリ92から読み出して実行することにより、モータ制御装置の各部の機能を実現する。
【0116】
各実施の形態で説明したモータ制御装置の各部を汎用のプロセッサおよびメモリで実現する場合について説明したが、各実施の形態で説明したモータ制御装置の各部を専用の処理回路で実現してもよい。専用の処理回路の例は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などである。これらの処理回路の2つ以上を組み合わせてモータ制御装置の各部を実現してもよい。また、図17に示すプロセッサ91およびメモリ92と専用の処理回路とを組み合わせてモータ制御装置の各部を実現してもよい。
【0117】
以上の実施の形態に示した構成は、一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、実施の形態同士を組み合わせることも可能であるし、要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【0118】
1,1c,1x モータ制御装置、2 指令値生成装置、10 指令生成部、11 位置指令生成部、20,201,202 位置制御部、21 位置偏差演算部、22 速度指令演算部、30 ゲイン切替部、31,31b 切替指令部、32,32a,32d,32e 制御ゲイン変更部、33,33a,331,332 制約値決定部、34,34e,341,342 ゲイン変更計算部、35 学習装置、36 推論装置、40,401,402 速度制御部、50,501,502 電流制御部、51,61 データ取得部、52 モデル生成部、55 学習済モデル記憶部、60,601,602 速度計算部、62 推論部、70,701,702 モータ、80,801,802 検出器、100,100c,101 モータ制御システム、210,211,212 制御状態量、220,221,222 制約条件、230,231,232 変更前制御ゲイン、240,241,242 変更後制御ゲイン、311 動作解析部、321 第1制御ゲイン変更部、322 第2制御ゲイン変更部、351,352 ゲイン遷移決定部、521 報酬計算部、522 関数更新部。
【要約】
制御対象である被駆動体に接続されたモータを制御するモータ制御装置(1)はモータの制御で使用する制御ゲインの切り替えを指令する切替指令部(31)と、モータが制御される際の制御状態を示す制御状態量と制御状態に対する制約条件とに基づいて、制御ゲインを切り替える際の制御状態量の制約値を決定する制約値決定部(33)と、切替指令部による指令である切替指令に従って制御ゲインを切り替える前の制御ゲインである変更前制御ゲイン(230)と、切替指令に従って制御ゲインを切り替えた後の制御ゲインである変更後制御ゲイン(240)と、制約値決定部が決定した制約値とに基づいて、制御ゲインの切り替えを開始してから完了するまでの間のモータの制御で使用する制御ゲインを逐次計算するゲイン変更計算部(34)と、を備える。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17