JP6903240B1 - モータ制御装置及びモータ制御方法 - Google Patents

モータ制御装置及びモータ制御方法 Download PDF

Info

Publication number
JP6903240B1
JP6903240B1 JP2020562230A JP2020562230A JP6903240B1 JP 6903240 B1 JP6903240 B1 JP 6903240B1 JP 2020562230 A JP2020562230 A JP 2020562230A JP 2020562230 A JP2020562230 A JP 2020562230A JP 6903240 B1 JP6903240 B1 JP 6903240B1
Authority
JP
Japan
Prior art keywords
learning
time
evaluation
motor
evaluation operation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020562230A
Other languages
English (en)
Other versions
JPWO2021053784A1 (ja
Inventor
高野 直人
直人 高野
将哉 木村
将哉 木村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6903240B1 publication Critical patent/JP6903240B1/ja
Publication of JPWO2021053784A1 publication Critical patent/JPWO2021053784A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P23/00Arrangements or methods for the control of AC motors characterised by a control method other than vector control
    • H02P23/20Controlling the acceleration or deceleration
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P29/00Arrangements for regulating or controlling electric motors, appropriate for both AC and DC motors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33034Online learning, training

Landscapes

  • Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Power Engineering (AREA)
  • Control Of Electric Motors In General (AREA)
  • Feedback Control In General (AREA)

Abstract

初期化運転、評価運転及び学習動作を繰り返してモータ(1)を制御する制御指令(104)を調整する自動調整を実行する際に、自動調整に要する時間を短縮するために、制御指令に基づいてモータを駆動し、モータと機械負荷(3)とで構成される制御対象(2000)を動作させ、制御対象を初期状態に設定する初期化運転と初期状態から開始される評価運転とを実行する駆動制御部(4)と、評価運転に用いた制御指令と評価運転の際の制御対象の状態を検出した状態センサ信号(101)とを関連付けて学習した結果に基づき、評価運転に用いる制御指令を決定する学習部(7)と、学習部(7)の動作である学習動作、初期化運転、評価運転のいずれかひとつである第1の工程を実行するタイミングに基づき、学習動作、初期化運転、評価運転のいずれかひとつである第2の工程を実行するタイミングを決定する調整管理部(9)とを備える。

Description

本発明は、モータを制御する制御指令を自動調整するモータ制御装置に関するものである。
電子部品実装機、半導体製造装置等では、モータを駆動して実装ヘッド等の機械を目標距離だけ移動させる位置決め制御が行われる。位置決め制御においては、位置決め時間を短縮し装置の生産性を向上するため、モータを駆動するための指令信号に含まれる位置の軌道を規定するパラメータ、制御系のパラメータ等を調整して設定する。
これらのパラメータの調整には試行錯誤が必要な場合もあり、時間と手間とを要する。また、調整作業に要する時間及び調整作業の結果が、作業者の知識と経験に依存するという問題があった。前述の問題を解決するための技術として、パラメータの調整作業を自動化する技術が提案されている。
特許文献1に記載の制御パラメータ調整装置は、制御対象の動作時のデータを用いて制御対象モデルを更新するモデル更新部を備える。そして、更新済の制御対象モデルを用いたシミュレーションを第1範囲で制御パラメータを探索して繰り返し行わせ、最適値の候補を抽出する第1探索部を備える。さらに、第1範囲よりも狭い第2範囲内で制御対象を繰り返し動作させ、動作結果を取得する第2探索部を備える。
特許文献2に記載の機械学習装置は、モータ制御装置によって駆動制御されるモータの状態変数を観測する状態観測部を備える。さらに、状態変数によって構成される訓練データセットに従ってモータ制御装置の指令を補正するのに用いられる補正量に関連付けられる条件を学習する学習部を備える。
特開2017−102619号公報 特開2017−102613号公報
特許文献1、特許文献2に記載の装置はいずれも、モータを駆動した際のセンサ値を取得する評価運転と、評価運転で取得したセンサ値を用いた計算処理とを1回ずつ交互に繰り返し、パラメータの調整作業を自動化している。ここで、計算処理とは、シミュレーション、学習等である。このように、モータの駆動による評価運転と計算処理とを繰り返し行って調整を実行する場合、モータ等を評価運転が開始される前の状態である初期状態に設定する初期化運転が必要とされる場合がある。そして、このような場合において、初期化運転、評価運転及び学習動作を繰り返して、モータを制御する制御指令を調整する自動調整を実行する際に、自動調整に要する時間を短縮することが難しいという課題があった。
本発明は、上記を鑑みてなされたものであって、初期化運転、評価運転及び学習動作を繰り返してモータを制御する制御指令を調整する自動調整を実行する際に、自動調整に要する時間を短縮することができるモータ制御装置を提供することを目的とする。
本発明に係るモータ制御装置は、制御指令に基づいてモータを駆動し、モータとモータに機械的に接続された機械負荷とで構成される制御対象を動作させ、制御対象を初期状態に設定する初期化運転と初期状態から開始されて制御対象を目標距離だけ移動する位置決めである評価運転とを実行する駆動制御部と、評価運転に用いた制御指令と評価運転の際の制御対象の状態を検出した状態センサ信号とを関連付けて学習し、学習した結果に基づき、状態センサ信号を取得した評価運転より後に実行される評価運転に用いる制御指令を決定する学習部と、学習部の動作である学習動作、初期化運転又は評価運転のいずれかひとつである第1の工程を実行するタイミングに基づき、学習動作、初期化運転又は評価運転のいずれかひとつである第2の工程を実行するタイミングを決定する調整管理部とを備える。
本発明によれば、初期化運転、評価運転及び学習動作を繰り返してモータを制御する制御指令を調整する自動調整を実行する際に、自動調整に要する時間を短縮することができるモータ制御装置を提供することができる。
実施の形態1におけるモータ制御装置の構成の一例を示すブロック図である。 実施の形態1におけるモータ制御装置の動作タイミングの一例を示す図である。 実施の形態1における調整管理部の動作の一例を示すフロー図である。 実施の形態1における指令パターンの一例を示す図である。 実施の形態1における学習部の構成の一例を示すブロック図である。 実施の形態1における偏差の時間応答の一例を示す図である。 実施の形態1におけるモータ制御装置が備える処理回路をプロセッサ及びメモリで構成する場合の構成例を示す図である。 実施の形態1におけるモータ制御装置が備える処理回路を専用のハードウェアで構成する場合の構成例を示す図である。 実施の形態2におけるモータ制御装置の構成の一例を示すブロック図である。 実施の形態2におけるモータ制御装置の動作タイミングの一例を示す図である。 実施の形態2における調整管理部の動作の一例を示すフロー図である。 実施の形態3におけるモータ制御装置の構成の一例を示すブロック図である。 実施の形態3におけるモータ制御装置の動作タイミングの一例を示す図である。 実施の形態4におけるモータ制御装置の構成の一例を示すブロック図である。 実施の形態4におけるモータ制御装置の動作タイミングの一例を示す図である。 実施の形態4における調整管理部の動作の一例を示すフロー図である。
以下に、実施の形態を図面に基づいて詳細に説明する。なお、以下に説明する実施の形態は例示である。また、各実施の形態は、適宜組み合わせて実行することができる。
実施の形態1
図1は、実施の形態1におけるモータ制御装置1000の構成の一例を示すブロック図である。モータ制御装置1000は、指令信号103に追従させるようにモータ1を駆動する駆動制御部4と、指令パラメータ104を取得し指令信号103を生成する指令生成部2とを備える。そして、モータ制御装置1000は、学習開始信号106及び状態センサ信号101を取得し、学習完了信号107及び指令パラメータ104を決定する学習部7を備える。さらに、モータ制御装置1000は、学習完了信号107を取得し、学習開始信号106及び指令開始信号105を決定する調整管理部9を備える。
モータ1は、駆動制御部4から出力される駆動電力Eによってトルク、推力等を発生する。モータ1の例としては、回転型サーボモータ、リニアモータ、ステッピングモータ等を挙げることができる。機械負荷3は、モータ1と機械的に接続され、モータ1によって駆動される。モータ1及び機械負荷3を、制御対象2000とよぶ。機械負荷3として、モータ1の発生するトルク、推力等によって動作する装置を適宜選択することができる。機械負荷3を位置決め制御を実行する装置としてもよい。機械負荷3の例としては、電子部品実装機、半導体製造装置等を挙げることができる。
駆動制御部4は、指令信号103に基づき、駆動電力Eをモータ1に供給してモータ1を駆動し、モータ1を指令信号103に追従させて制御対象2000を動作させ、評価運転と初期化運転とを実行する。ここで、指令信号103は、モータ1の位置、速度、加速度、電流、トルク又は推力のうちの少なくともいずれかひとつとしてもよい。初期化運転は、制御対象2000を初期状態に設定する運転である。評価運転は、初期状態から開始される運転であり、評価運転の際に取得された状態センサ信号101は、後述する学習動作に使用される。駆動制御部4として、モータ1の位置を指令信号103に追従させる構成を、適宜採用することができる。例えば、検出したモータ1の位置と、指令信号103との差異が小さくなるように、モータ1のトルク又は電流を、PID制御に基づいて算出するフィードバック制御系としてもよい。また、駆動制御部4として、検出した機械負荷3の位置が、指令信号103に追従するようにモータ1を駆動するフィードバック制御に、フィードフォワード制御を加えた2自由度制御系を採用してもよい。
指令生成部2は、指令パラメータ104に基づき指令信号103を生成する。また、指令生成部2は、指令開始信号105の示すタイミングに応じて、指令信号103を生成する。そして、モータ1は、指令生成部2が指令信号103を生成するタイミングに運転を開始する。以上から、モータ1は指令開始信号105の示すタイミングに応じて運転を開始する。すなわち、モータ1は、指令開始信号105に従って運転を開始する。ここで、評価運転又は初期化運転を運転とよんでいる。初期化運転及び評価運転は、それぞれの運転の指令信号103に追従するように実行され、初期化運転及び評価運転の指令信号103は、それぞれの運転に用いる指令パラメータ104に基づいて生成される。指令生成部2の動作例については、図4を用いて後述する。
状態センサ5は、モータ1又は機械負荷3の少なくともいずれか一方の状態量、すなわち、制御対象2000の状態量を検出した結果を、状態センサ信号101として出力する。状態量の例としては、モータ1についての、位置、速度、加速度、電流、トルク、推力等を挙げることができる。さらに、状態量の例として、機械負荷3についての、位置、速度、加速度等を挙げることができる。状態センサ5の例としては、エンコーダ、レーザ変位計、ジャイロセンサ、加速度センサ、電流センサ、力センサ等を挙げることができる。図1の状態センサ5は、モータ1の位置を状態量として検出するエンコーダであるとして説明を行う。
学習部7は、評価運転に用いた指令パラメータ104を、評価運転の際の制御対象2000の状態を検出した状態センサ信号101と関連付けて学習する。そして、状態センサ信号101を取得した評価運転より後に実行される評価運転に用いる指令パラメータ104を決定する。この学習の開始から指令パラメータ104の決定までの学習部7の動作を学習動作とよぶ。また、学習部7は、学習開始信号106に従って学習を開始する。ここで、学習開始信号106は、学習動作の開始時点を示す信号であり、後述する調整管理部9によって決定される。学習部7はさらに学習完了信号107を決定する。学習完了信号107は、指令パラメータ104が決定された時点、すなわち、学習動作の完了時点を示す。学習部7の詳細な動作については、図5及び図6を用いて後述する。
調整管理部9は、学習完了信号107に基づき、評価運転の開始時点を示す指令開始信号105の値を決定することによって、学習動作の完了時点に基づき、評価運転の開始時点を決定する。また、図2の動作例では、調整管理部9は、評価運転の完了時点に基づき、学習動作の開始時点を示す学習開始信号106と、初期化運転の開始時点を示す指令開始信号105とを決定する。なお、後述のように、調整管理部9は、評価運転の開始時点から起算して、あらかじめ定めた時間が経過することを検出し、評価運転の完了時点を検知することができる。言い換えれば、調整管理部9は、評価運転の完了時点に基づき、学習動作及び初期化運転の開始時点を決定する。
図2は、実施の形態1におけるモータ制御装置1000の動作タイミングの一例を示す図である。図2(a)から図2(e)の横軸は時間であり、図2(a)から図2(e)の縦軸はそれぞれ、学習動作、動作処理(初期化運転及び評価運転)、学習開始信号106、学習完了信号107及び指令開始信号105である。
指令開始信号105、学習開始信号106及び学習完了信号107の値と、各信号が指示する内容との関係について説明する。図2において、指令開始信号105の値が1となる時点に、モータ1は運転を開始する。また、学習開始信号106の値が1となる時点に、学習部7は学習動作を開始する。また、学習部7は、学習動作が完了した時点の学習完了信号107の値を1に決定する。なお、指令開始信号105、学習開始信号106及び学習完了信号107の各信号の値は、1となった後、次の動作を指示するまでに0へ戻してもよい。上記の各信号は、動作の開始時点、完了時点等を示すものであればよく、上記の形態に限定されるものではない。
評価運転、初期化運転及び学習動作を工程とよぶ。初期化運転、評価運転及び学習動作の各工程を少なくとも1回ずつ含み、周期的に繰り返されるサイクルを学習サイクルとよぶ。図2の学習サイクルには、初期化運転、評価運転及び学習動作の各工程が1回ずつ含まれる。指令パラメータ104は、学習サイクルごとに更新してもよい。モータ制御装置1000は、学習サイクルを繰り返すことによって学習を進める。以下では、学習サイクルを繰り返し実行し、制御対象2000の最適の動作を与える指令パラメータ104を探索する調整動作を自動調整とよぶ。
図3は、実施の形態1における調整管理部9の動作の一例を示すフロー図である。図2及び図3を参照して、モータ制御装置1000の動作を例示する。自動調整が開始されると、ステップS101において、調整管理部9は、時刻TL111における学習開始信号106の値を1に決定し、学習動作L11の開始時点を決定する。学習部7は、学習開始信号106に従い、時刻TL111に学習動作L11を開始する。なお、学習動作L11のように、学習部7が、自動調整の開始後、評価運転の際の状態センサ信号101を取得していない状態で学習動作が開始される場合、学習部7は、指令パラメータ104を、ランダムに決定してもよい。また、事前の設定に基づいて決定してもよい。ランダムに決定する場合、後述する行動価値関数Qを乱数で初期化し、行動aである指令パラメータ104をランダムに決定してもよい。
ステップS102において、調整管理部9は、時刻TL111における指令開始信号105の値を1に決定し、初期化運転IN11の開始時点を決定する。モータ1は、指令開始信号105に従い、時刻TL111に初期化運転IN11を開始する。初期化運転IN11は学習動作L11と並行して実行される。以下で、並行して実行されるとは、2つの工程の少なくとも一部が、時間的に重複して実行される状態を意味する。なお、初期化運転IN11に要する時間は、学習動作L11に要する時間より短い。そのため、調整管理部9は、待ち時間が延長されない範囲で、すなわち、初期化運転IN11の完了が学習動作L11の完了より遅くならない範囲で、初期化運転IN11の開始時点を学習動作L11の開始時点より遅らせてもよい。モータ1は、時刻TL112に初期化運転IN11を完了し、初期化運転IN11の完了後、待機状態となる。なお、待機状態のモータ1は、所定の位置範囲内に制御してもよく、停止させてもよい。また、電力の供給を止めてもよい。次に、学習部7は、学習動作の完了時点である時刻TL113における学習完了信号107の値を1に決定する。
ステップS103において、調整管理部9は、学習完了信号107の値が1となった時点を検出し、時刻TL113を、学習動作L11の完了時点として検知する。なお、ステップS103の動作は、調整管理部9が学習動作の完了時点を検知すればよく、例えば、学習部7が指令パラメータ104を出力した時点を検知してもよい。ステップS104において、調整管理部9は、学習動作の完了時点である時刻TL113に基づき、時刻TL113における指令開始信号105の値を1に決定し、評価運転EV11(第1の評価運転)の開始時点を決定する。モータ1は、指令開始信号105に従い、時刻TL113に評価運転EV11を開始する。時刻TL114に評価運転EV11が完了すると、モータ1は待機状態となる。
ステップS105において、調整管理部9は、評価運転EV11の開始時点から起算して、あらかじめ定めた時間が経過することを検出し、時刻TL121を、評価運転EV11の完了時点として検知する。ここで、上記のあらかじめ定めた時間は、評価運転EV11に要する時間の推定値と同じか又はより長い時間とする。なお、本実施の形態では、調整管理部9が評価運転EV11の完了時点として検知する時点は、評価運転EV11が終了してモータ1が停止する時点とは異なっていることに留意する。ステップS106において、調整管理部9は、自動調整を続行するか否かの判断を実行する。自動調整を続行すると判断した場合、ステップS107へと進み、自動調整を続行しないと判断した場合、ステップS108へ進む。
ステップS106の判断の方法は、例えば、自動調整の中で実行された学習サイクルの数が、あらかじめ定めた所定の回数より少ない場合、自動調整を続行し、所定の回数と同じである場合、自動調整を続行しないと判断してもよい。また、ステップS106の直前の評価運転で取得した状態センサ信号101が、あらかじめ定めた基準を満たす場合、自動調整を続行しないと判断し、あらかじめ定めた基準を満たさない場合、自動調整を続行すると判断してもよい。この状態センサ信号101の基準は、例えば、図6を用いて後述する位置決め動作の収束時間が、あらかじめ定めた時間以下であることを基準としてもよい。
時刻TL121に実行されるステップS106において、調整管理部9は、自動調整を続行すると判断しステップS107へと進む。ステップS107において、調整管理部9は、評価運転EV11の完了時点である時刻TL121に基づき、時刻TL121における学習開始信号106及び指令開始信号105の値を1に決定する。この動作により、学習動作L12(第1の学習動作)及び初期化運転IN12(第1の初期化運転)の開始時点がそれぞれ決定される。学習部7及びモータ1はそれぞれ、学習開始信号106及び指令開始信号105に従い、時刻TL121に、学習動作L12及び初期化運転IN12を開始する。時刻TL111から時刻TL121までを、学習サイクルCYC11とする。
以降、ステップS106において、調整管理部9が自動調整を続行しないと判断するまで、ステップS103からステップS107までが繰り返し実行される。そして、学習サイクルCYC12のステップS103において、調整管理部9は、時刻TL123を、学習動作L12の完了時点として検知する。そして、学習サイクルCYC12のステップS104において、調整管理部9は、検出した学習動作L12の完了時点に基づき、評価運転EV12(第2の評価運転)の開始時点を時刻TL123に決定する。
調整管理部9は、時刻TL1X1において、学習サイクルCYC1XのステップS106を実行する。そして、自動調整を続行しないと判断し、ステップS108へと進む。ステップS108において、調整管理部9は、時刻TL1X1における学習開始信号の値を1より大きい値に決定し、終了処理T1を学習部7に指示する。終了処理T1の指示は、学習部7に、終了処理の開始時刻を指示できるものであればよい。例えば、終了処理を指示する時点の学習開始信号106の値を、0と1以外の値に決定してもよく、終了処理を指示する時点に、別の信号を学習部7へ出力してもよい。学習部7は、終了処理T1の開始時点を検知し、終了処理T1を実行する。
終了処理T1において、学習部7は、自動調整の中で繰り返し実行した学習動作に基づき、制御対象2000に最も良い動作をさせる指令パラメータ104、すなわち、最適の指令パラメータ104を決定してもよい。評価運転として、制御対象2000を目標距離だけ移動させる位置決めを実行する場合の終了処理T1を例示する。まず、全ての学習サイクルの評価運転に用いた指令パラメータ104のうち、モータ1の位置と目標移動距離との間の差異である偏差が、あらかじめ定めた許容範囲の中に一度入った後、許容範囲の外に出なかった評価運転を選択する。そして、これらの評価運転に用いた指令パラメータ104を、最適の指令パラメータ104の候補とする。そして、指令パラメータ104の候補の中で、評価運転の開始から最も短時間の間に偏差が許容範囲の中に入る評価運転を実行させた指令パラメータ104をさらに選択し、最適の指令パラメータ104として決定してもよい。上記の偏差については、図4を用いて後述する。
また、学習部7は、評価運転に用いられなかった指令パラメータ104を、最適な指令パラメータ104として決定してもよい。例えば、全ての学習サイクルの評価運転に用いた指令パラメータ104から、偏差があらかじめ定めた時間内に、許容範囲の中に入る動作を実行させた指令パラメータ104を選択する。そして、選択された指令パラメータ104の平均値を最適な指令パラメータ104として決定してもよい。図2の時刻TL1Y1において、学習部7が終了処理T1を完了すると、自動調整は終了する。なお、終了処理T1を省いてもよい。例えば、評価運転EV1Xに用いた指令パラメータ104を、最適の指令パラメータ104として決定してもよい。
第1の工程及び第2の工程は、評価運転、初期化運転又は学習動作のうちのいずれかひとつであるとする。調整管理部9は、第1の工程を実行するタイミングに基づき、第2の工程を実行するタイミングを決定してもよい。また、第1の工程、第2の工程を実行するタイミングは、それぞれの工程の開始時点又は完了時点としてもよく、開始時点又は完了時点からあらかじめ定めた時間だけずれた時点としてもよい。第1の工程を実行するタイミングに基づき、第2の工程を実行するタイミングを決定することによって、2つの工程の間の間隔を短く調整することが可能となり、モータ1又は学習部7が工程を開始するまでの待ち時間を短縮することができる。
図2の動作例における各工程の関係について述べる。図2の動作例では、学習動作において決定された指令パラメータ104を用いて次の評価運転が実行され、評価運転の結果得られた状態センサ信号101を用いて次の学習動作が実行される。そのため、学習動作と評価運転とは並行して実行されない。また、一つの制御対象2000によって、評価運転と初期化運転とが実行されるため、評価運転と初期化運転とは並行して実行されない。一方、初期化運転と学習動作とは、互いに干渉しないため、並行して実行することができる。さらに、図2に示す動作例では、初期化運転に要する時間より、学習動作に要する時間の方が長い。
図2の動作例では、調整管理部9は、評価運転の完了時点に基づき、学習動作の開始時点を示す学習開始信号106と、初期化運転の開始時点を示す指令開始信号105とを決定する。また、学習動作L12及び初期化運転IN12が、調整管理部9によって検知された評価運転EV11の完了時点に開始され、評価運転EV12は、学習動作L11の完了時点に開始される。本実施の形態は、このような動作に限定されるものではない。
例えば、評価運転のひとつである評価運転EV11(第1の評価運転)を実行し、評価運転EV11の際に取得した状態センサ信号101を用いて学習動作L12を実行し、さらに、初期化運転IN12を学習動作L12と並行して実行してもよい。そして、学習動作L12で決定された指令パラメータ104(制御指令)に基づき、初期化運転IN12によって設定された初期状態から評価運転EV11の次の評価運転である評価運転EV12(第2の評価運転)を実行してもよい。各工程を上記のように実行することによって、初期化運転IN12及び学習動作L11を並行して実行し、工程間のタイミングを調整し、待ち時間を短縮することができる。このように、モータ制御装置1000又はモータ制御方法を提供してもよい。
また、例えば、調整管理部9は、評価運転EV11の完了時点を検知し、検知した評価運転EV11の完了時点に基づいて、学習動作L12の開始時点及び初期化運転IN12の開始時点を決定し、工程間のタイミングを調整し、待ち時間を短縮してもよい。また、例えば、調整管理部9は、学習動作L12と初期化運転IN12とのうち、より長い時間を要する一方の開始時点を、他方の開始時点と同時か又はより前に決定し、待ち時間を短縮してもよい。また、調整管理部9は、学習動作L12又は初期化運転IN12のうち、同時か又はより後に完了する一方の完了時点を検知し、検知した完了時点に基づいて、評価運転EV12の開始時点を決定し、待ち時間を短縮してもよい。上記に挙げた動作例において、工程の完了時点に基づき次の工程の開始時点を決定する場合には、先の工程の完了時点と次の工程の開始時点との間隔を、実施可能な範囲で短くすることが好適であり、同時又は略同時とすればさらに好適である。
また、調整管理部9は、学習動作L11の完了時点を、学習動作L11の開始時点からあらかじめ定めた時間が経過することを検出して検知するが、本実施の形態は、このような形態に限定されるものではない。例えば、2つの工程である第1の工程及び第2の工程が実行され、第1の工程が完了してから第2の工程が開始されるまでの間に、初期化運転、評価運転、学習動作のうち少なくともいずれかひとつを含む中間工程が実行される場合がある。このような場合に、調整管理部9は、中間工程に要する時間をあらかじめ推定し、第2の工程の開始時点を、第1の工程の完了時点から起算して、推定した中間工程を実行するのに要する時間が経過した時点より後の時点に決定してもよい。このような動作により、中間工程に要する時間の推定値を目安として、第2の工程の開始時点を調整し、待ち時間を短縮することによって、自動調整に要する時間を低減してもよい。また、図2を用いて説明した動作例のように、調整管理部9は、学習完了信号107によって、学習動作の完了時点をより正確に検知し、次の工程の開始のタイミングを正確に決定してもよい。そして、待ち時間を短縮してもよい。
次に、指令生成部2が、指令パラメータ104に基づいて指令信号103を生成する動作を例示する。図4は、実施の形態1における指令パターンの一例を示す図である。ここで、指令パターンとは、モータ1の指令値を時系列に示すパターンである。この指令パターンの指令値は、モータ1についての、位置、速度、加速度又はジャークのうちのいずれか一つである。上記の指令値は、指令信号103の値と同じであってもよい。なお、図4の動作例では、指令信号103を時系列に示したものが指令パターンとなっている。
評価運転において、指令パラメータ104は、運転条件とともに指令パターンを規定する。言い換えれば、指令パラメータ104と運転条件とを指定すれば、指令パターンが一意に確定する。ここで、運転条件は、評価運転の際のモータ1の動作についての制約条件であり、自動調整の中で繰り返し実行される評価運転において一定である。一方、指令パラメータ104は、自動調整の中で学習サイクルごとに更新され得る。図1のモータ制御装置1000では、指令生成部2は、指令パラメータ104に基づき指令信号103を生成する。このとき、結果として駆動制御部4は、指令パラメータ104に基づいてモータ1を駆動している。さらに、駆動制御部4は、指令パターンに基づいてモータ1を駆動してもよい。以上から、指令信号103、指令パラメータ104又は指令パターンを、モータ1を制御する指令である制御指令とすると、駆動制御部4は、制御指令に基づいてモータ1を駆動する。
図4(a)から図4(d)の横軸は時間である。図4(a)から図4(d)のそれぞれの縦軸には、モータ1の、位置、速度、加速度及びジャークが示されており、これらは、指令信号103である。ここで、速度、加速度及びジャークはそれぞれ、モータ1の位置の、1階微分、2階微分及び3階微分である。横軸と縦軸との交点は、横軸上において評価運転の開始される指令開始時点となる時刻0である。図4の動作例の運転条件は、目標移動距離がDであるとする。すなわち、モータ1の位置が評価運転の開始時点0において0であり、終端時点となる時刻t=T1+T2+T3+T4+T5+T6+T7に、モータ1の位置がDとする。
図4の指令パターンは、指令開始時点である時刻0から終端時点まで、順に、第1区間から第7区間に区分される。nを1から7の自然数として、第n区間の時間長を第n時間長Tnとする。図4の動作例では、第1時間長T1から第7時間長T7までの7つのパラメータを、指令パラメータ104とする。第2区間及び第6区間の加速度の大きさをそれぞれ、Aa及びAdとし、これらは、区間内で一定であるとする。加速度の大きさAaと加速度の大きさAdとは、指令パラメータ104の従属変数であり、設定自由度が無いことに留意する。
第1区間の時刻t(0≦t<T1)における指令信号103を、以下のように計算することができる。第1区間の時刻0から第1区間内の時刻tまでの間の、ジャーク、加速度A1及び速度V1のそれぞれを時間で積分したものが、加速度A1、速度V1及び位置P1となる。そして、第1区間では一定の割合で加速度が増加し、時刻T1で加速度の大きさAaに到達するとしているため、第1区間のジャークは、加速度の大きさAaをT1で除した値となる。以上から、加速度A1、速度V1及び位置P1はそれぞれ、(1)式から(3)式のように計算することができる。
Figure 0006903240
Figure 0006903240
Figure 0006903240
また、第2区間の時刻t(T1≦t<T1+T2)における指令信号103、すなわち、加速度A2、速度V2及び位置P2は、第1区間と同様に(4)式から(6)式のように計算することができる。
Figure 0006903240
Figure 0006903240
Figure 0006903240
また、第3区間の時刻t(T1+T2≦t<T1+T2+T3)における指令信号103、すなわち、加速度A3、速度V3及び位置P3は、第1区間と同様に(7)式から(9)式のように計算することができる。
Figure 0006903240
Figure 0006903240
Figure 0006903240
また、第4区間の時刻t(T1+T2+T3≦t<T1+T2+T3+T4)における指令信号103、すなわち、加速度A4、速度V4及び位置P4は、第1区間と同様に、(10)式から(12)式のように計算することができる。
Figure 0006903240
Figure 0006903240
Figure 0006903240
また、第5区間の時刻t(T1+T2+T3+T4≦t<T1+T2+T3+T4+T5)における指令信号103、すなわち、加速度A5、速度V5及び位置P5は、第1区間と同様に(13)式から(15)式のように計算することができる。
Figure 0006903240
Figure 0006903240
Figure 0006903240
また、第6区間の時刻t(T1+T2+T3+T4+T5≦t<T1+T2+T3+T4+T5+T6)における指令信号103、すなわち、加速度A6、速度V6及び位置P6は、第1区間と同様に(16)式から(18)式のように計算することができる。
Figure 0006903240
Figure 0006903240
Figure 0006903240
また、第7区間の時刻t(T1+T2+T3+T4+T5+T6≦t≦T1+T2+T3+T4+T5+T6+T7)における指令信号103、すなわち、加速度A7、速度V7及び位置P7は、第1区間と同様に(19)式から(21)式のように計算することができる。
Figure 0006903240
Figure 0006903240
Figure 0006903240
そして、終端時点となる時刻t=T1+T2+T3+T4+T5+T6+T7において、速度V7が0に一致し、さらに、位置P7が目標移動距離Dに一致する。そのため、終端時点において、(22)式、及び(23)式が成立する。第2区間の加速度の大きさAa、及び第6区間の加速度の大きさAdは、(22)式及び(23)式から決定することができる。
Figure 0006903240
Figure 0006903240
以上が、指令パラメータ104と運転条件とに基づき、指令信号103を生成する指令生成部2の動作例である。ここで、第1区間、第3区間、第5区間及び第7区間では、ジャークが非零の一定値である。つまり、第1時間長T1、第3時間長T3、第5時間長T5及び第7時間長T7は、ジャークが非零の一定値となる時間を指定している。ここで非零の一定値とは、0よりも大きい一定値又は0より小さい一定値を意味する。また、これらの区間では、時間長Tnに代えて、ジャークの大きさを、指令パラメータ104とすることもできる。例えば、第1区間におけるジャークの大きさをJ1と定めた場合、第1時間長T1とジャークJ1とは、(24)式のような関係を有する。
Figure 0006903240
ジャークが非零の一定値となる区間の時間長を指令パラメータ104として定めることと、ジャークが非零の一定値となる区間のジャークの大きさを指令パラメータ104として定めることとは等価である。上記の例のように、指令パラメータ104は、運転条件と組み合わせて指令パターンを決定するものであればよい。ここで挙げた例のように、指令パラメータ104の選び方は、同じ運転条件のもとでも複数の選択肢があり得る。そして、指令パラメータ104の選び方は、本実施の形態の中で説明する方法に限定されない。
学習部7について説明を行う。図5は、実施の形態1における学習部7の構成の一例を示すブロック図である。学習部7は、報酬計算部71、価値関数更新部72、意思決定部73、学習完了信号決定部74、指令パラメータ決定部75及び評価センサ信号決定部76を備える。報酬計算部71は、評価センサ信号102に基づき、評価運転に用いた指令パラメータ104についての報酬rを計算する。価値関数更新部72は、報酬rに応じて行動価値関数を更新する。意思決定部73は、価値関数更新部72が更新した行動価値関数を用いて、評価運転に用いる指令パラメータ104の候補となる評価候補パラメータ108を決定する。指令パラメータ決定部75は、評価候補パラメータ108に基づいて評価運転に用いる指令パラメータ104を決定する。評価センサ信号決定部76は、評価運転の際の状態センサ信号101から評価センサ信号102を決定する。なお、意思決定部73は、評価候補パラメータ108に代えて指令パラメータ104を決定してもよい。そして、学習部7から指令パラメータ決定部75を省いてもよい。
また、学習部7は、指令パラメータ104に代えて、指令信号103又は指令パターンを学習してもよいため、学習部7は、制御指令を学習してもよい。このような場合、学習部7は、指令パラメータ決定部75に代えて制御指令決定部を備える。制御指令決定部は、評価候補パラメータ108に基づいて、評価運転に用いる制御指令を決定する。なお、指令パターン及び指令信号103は、それぞれ単体でモータ1の動きを指定するのに対し、指令パラメータ104は、指令パラメータ104と運転条件との組み合わせによってモータ1の動きを指定する。そのため、学習部7が指令パターン又は指令信号103を学習する場合に比べて、学習部7が指令パラメータ104を学習する場合の方が、データ量が少なくなり、学習部7の計算量及び計算時間を減らすことができる。そのため、指令パラメータ104を学習する場合、効率よく学習動作を実行することができる。
評価センサ信号決定部76は、状態センサ信号101に、抽出、変換、校正、フィルタリング等の計算処理を施すことによって評価センサ信号102を導出してもよい。例えば、状態センサ信号101の全体から、評価運転の際の状態センサ信号101を時間的に抽出した信号を評価センサ信号102としてもよい。ここで、評価運転の開始から完了までの状態センサ信号101を抽出してもよく、加えて、評価運転が完了してから予め定めた時間が経過するまでの状態センサ信号101を抽出して評価運転の完了直後の振動の影響を評価してもよい。なお、評価センサ信号102を決定する際、取得した状態センサ信号101に対して校正を施してオフセットを除去する構成としてもよい。また、状態センサ信号101がローパスフィルタを通過する構成としてノイズを除去してもよい。これらの信号処理によって、学習動作の精度を向上させてもよい。また、報酬計算部71を、状態センサ信号101に基づいて報酬rを計算する構成として、評価センサ信号決定部76を省くこともできる。
学習部7は、様々な学習アルゴリズムを用いて学習を実行することができる。本実施の形態では、一例として強化学習(Reinforcement Learning)を適用した場合を説明する。強化学習は、ある環境内におけるエージェント(行動主体)が現在の状態を観測し、取るべき行動を決定するというものである。エージェントは行動を選択し、環境から報酬を得る。そして、一連の行動を通じて報酬が最も多く得られるような方策を学習する。強化学習の代表的な手法として、Q学習(Q-Learning)、TD学習(TD-Learning)等が知られている。例えばQ学習の場合、行動価値関数Q(s,a)の一般的な更新式は、(25)式で表される。更新式は、行動価値テーブルで表記してもよい。
Figure 0006903240
(25)式において、sは時刻tにおける環境を表し、aは時刻tにおける行動をあらわす。行動aによって環境はst+1に変わる。rt+1はその環境の変化によってもらえる報酬をあらわし、γは割引率をあらわし、αは学習係数をあらわす。なお、割引率γの値は0より大きく1以下の範囲(0<γ≦1)、学習係数αの値は0より大きく1以下の範囲(0<α≦1)とする。Q学習を適用した場合、行動aは、指令パラメータ104の決定であるが、実質的に、評価候補パラメータ108を決定する動作が行動aとなる場合もある。環境sは、運転条件、モータ1の初期位置等で構成される。
報酬計算部71の動作を、図6を用いて例示する。図6は、実施の形態1における偏差の時間応答の一例を示す図である。図6の偏差は、評価運転においてモータ1を動作させた際の目標移動距離とモータ1の位置との差異である。図6の横軸は時間であり、縦軸は偏差である。縦軸と横軸との交点は、縦軸上において偏差が0の状態であり、横軸上において評価運転開始時点となる時刻0である。図6において、IMPは偏差の許容範囲の限界値であり、機械負荷3に許容される動作精度の誤差の大きさである。
図6(a)の偏差は、評価運転開始から時刻Tst1までの間に許容範囲の中に入り、その後、許容範囲の中で振動しながら収束していく。図6(b)の偏差は、評価運転開始から時刻Tst2までの間に許容範囲の中に入り、その後、一旦許容範囲の外に出る。そして、再び許容範囲の中に入る。図6(c)の偏差は、評価運転開始から時刻Tst3までの間に許容範囲の中に入り、その後、許容範囲の中で振動しながら収束する。ここで、時刻Tst1、時刻Tst2及び時刻Tst3の間には、時刻Tst2の値が時刻Tst3の値より小さく、時刻Tst3の値が時刻Tst1の値より小さいという関係がある(Tst1>Tst3>Tst2)。図6(c)の偏差は、図6(a)及び図6(b)の偏差と比較して、より高速に収束している。
報酬計算部71が報酬rを計算する方法を変更することによって、学習の結果として得られる最適の指令パラメータ104の特性を選択することができる。例えば、高速に偏差を収束させる指令パラメータ104を学習するため、報酬計算部71は、動作開始から偏差が許容範囲の中に入るまでの時間が、あらかじめ定めた時間以下の場合に、大きい報酬rを与えてもよい。また、動作開始から偏差が許容範囲の中に入るまでの時間が短いほど大きい報酬rを与えてもよい。また、報酬計算部71は、評価運転開始から偏差が許容範囲の中に入るまでの時間の逆数を、報酬rとして算出してもよい。また、図3(b)のように、偏差が許容範囲の中に入った後に許容範囲の外に出た場合、小さい報酬rを与え、機械負荷3に振動を発生させない指令パラメータ104を学習させてもよい。以上が、図6に示す報酬計算部71の動作例の説明である。
報酬rが計算されると、価値関数更新部72は、報酬rに応じて行動価値関数Qを更新する。意思決定部73は、更新された行動価値関数Qが最も大きくなる行動a、すなわち、更新された行動価値関数Qが最も大きくなる指令パラメータ104を、評価候補パラメータ108として決定する。
なお、図1に示すモータ制御装置1000の説明では、学習部7が用いる学習アルゴリズムを強化学習とした場合について説明したが、本実施の形態の学習アルゴリズムは、強化学習に限定されるものではない。教師あり学習、教師なし学習、半教師あり学習等の学習アルゴリズムを適用することも可能である。また、学習アルゴリズムとして、特徴量そのものの抽出を学習する深層学習(Deep Learning)を用いてもよい。また、他の方法、例えば、ニューラルネットワーク、遺伝的プログラミング、機能論理プログラミング、サポートベクターマシン、ベイズ最適化等に従って機械学習を実行してもよい。
図7は、実施の形態1におけるモータ制御装置1000が備える処理回路をプロセッサ10001及びメモリ10002で構成する場合の構成例を示す図である。処理回路がプロセッサ10001及びメモリ10002で構成される場合、モータ制御装置1000の処理回路の各機能は、ソフトウェア、ファームウェア、又はソフトウェアとファームウェアとの組み合わせによって実現される。ソフトウェア又はファームウェアはプログラムとして記述され、メモリ10002に格納される。処理回路では、メモリ10002に記憶されたプログラムをプロセッサ10001が読み出して実行することによって、各機能を実現する。すなわち、処理回路は、モータ制御装置1000の処理が結果的に実行されることになるプログラムを格納するためのメモリ10002を備える。また、これらのプログラムは、モータ制御装置1000の手順および方法をコンピュータに実行させるものであるともいえる。
ここで、プロセッサ10001は、CPU(Central Processing Unit)、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、又はDSP(Digital Signal Processor)等であってもよい。メモリ10002は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable ROM)、EEPROM(登録商標)(Electrically EPROM)等の、不揮発性又は揮発性の半導体メモリとしてもよい。また、メモリ10002を、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、又はDVD(Digital Versatile Disc)等としてもよい。
図8は、実施の形態1におけるモータ制御装置1000が備える処理回路を専用のハードウェアで構成する場合の構成例を示す図である。処理回路が専用のハードウェアで構成される場合、図8に示す処理回路10003は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、又はこれらを組み合わせたものとしてもよい。モータ制御装置1000の機能を、機能ごとに処理回路10003によって実現してもよく、複数の機能をまとめて処理回路10003によって実現してもよい。なお、モータ制御装置1000と制御対象2000とは、ネットワークを介して接続してもよい。また、モータ制御装置1000は、クラウドサーバ上に存在してもよい。
また、制御対象2000と同様の制御対象を複数設け、複数の制御対象による評価運転を並行して実行し、効率よく学習を進めてもよい。例えば、図2の評価運転EV11の時間内に、複数の制御対象による評価運転を並行して実行させ、指令パラメータと評価センサ信号との組を複数組含むデータを取得する。次に、学習動作L12の時間内に、評価運転EV11の時間内に取得したデータを用いて行動価値関数Qを複数回更新し、指令パラメータを複数決定する。さらに、評価運転EV12の時間内に、学習動作L12の時間内に決定した複数の指令パラメータを用いて、複数の制御対象による評価運転を実行する。このように学習サイクルを実行すれば、複数の評価運転を並行して実行できる。なお、学習部が、複数の指令パラメータを決定する動作については、実施の形態4に後述する方法を用いてもよい。また、学習サイクルを繰り返す中で、上記の複数の制御対象の一部又は全部を変更してもよく、複数の制御対象を構成する制御対象の数を増減してもよい。
また、制御対象2000から取得したデータを用いて学習を行ったモータ制御装置1000を、別の制御対象に接続し、別の制御対象から取得したデータを用いて、さらに学習を実行してもよい。また、本実施の形態の学習の結果を搭載した学習済み学習器を用いてモータ制御装置を構成してもよい。上記の学習済み学習器は、学習によって更新済の行動価値関数Qを用いて指令パラメータ104を決定する学習済みプログラムによって実現してもよい。また、上記の学習済み学習器を、指令パラメータ104の調整の結果を記憶させた学習済みデータによって実現してもよい。学習済み学習器を用いたモータ制御装置によれば、学習結果を利用できるモータ制御装置を短時間で提供することができる。また、本実施の形態に説明した方法によって、モータ制御装置の指令パラメータ104の自動調整を実行してもよく、モータ制御装置を製造してもよい。なお、本実施の形態の自動調整は、調整作業の少なくとも一部が自動化されていればよく、人の操作又は人の関与を排除するものではない。
以上から、本実施の形態のモータ制御装置1000は、駆動制御部4、学習部7及び調整管理部9を備える。駆動制御部4は、指令パラメータ104(制御指令)に基づいてモータ1を駆動し、モータ1とモータ1に機械的に接続された機械負荷3とで構成される制御対象2000を動作させる。そして、初期状態に制御対象2000を設定する初期化運転と、初期状態から開始される評価運転とを実行する。学習部7は、評価運転に用いた指令パラメータ104(制御指令)と、評価運転の際の制御対象2000の状態を検出した状態センサ信号101とを関連付けて学習する。そして、学習した結果に基づき、状態センサ信号101を取得した評価運転より後に実行される評価運転に用いる指令パラメータ104(制御指令)を決定する。調整管理部9は、初期化運転、評価運転、学習動作のうちのいずれかひとつである第1の工程を実行するタイミングに基づき、初期化運転、評価運転、学習動作のうちのいずれかひとつである第2の工程を実行するタイミングを決定する。以上により、第1の工程と第2の工程の実行されるタイミングを調整して待ち時間を短縮し、効率よく指令パラメータ104(制御指令)の調整を実行することができる。
また、本実施の形態のモータ制御方法は、指令パラメータ104(制御指令)に基づいてモータ1を駆動し、モータ1とモータ1に機械的に接続された機械負荷3とで構成される制御対象2000を動作させる。そして、制御対象2000を初期状態に設定する初期化運転と初期状態から開始される評価運転とを実行する。そして、評価運転に用いた指令パラメータ104と評価運転の際の制御対象2000の状態を検出した状態センサ信号101とを関連付けて学習し、学習した結果に基づき、状態センサ信号101を取得した評価運転より後に実行される評価運転に用いる指令パラメータ104を決定する学習動作を実行する。ここで、学習動作は、学習の開始から指令パラメータ104を決定するまでの動作である。そして、学習動作、初期化運転、評価運転のいずれかひとつである第1の工程を実行するタイミングに基づき、学習動作、初期化運転、評価運転のいずれかひとつである第2の工程を実行するタイミングを決定する。このように、効率よく、自動調整を実行できるモータ制御方法を提供してもよい。
また、第2の工程を実行するタイミングを、第1の工程を実行するタイミングと同時か又はより後のタイミングとしてもよい。このようにすれば、検知した第1の工程を実行するタイミングを、第2の工程を実行するタイミングの決定に用い、より確実に工程間の間隔を短くすることができる。また、第1の工程に要する時間等が変化した場合でも、変化に対応して第2の工程を実行するタイミングを調整できる。ここで、第1の工程の完了時点と第2の工程の開始時点の間隔は、実施可能な範囲でできるだけ短くするのが好適であり、第1の工程の完了時点と第2の工程の開始時点を同時又は略同時とすれば、さらに好適である。
以上から、本実施の形態によれば、初期化運転、評価運転及び学習動作を繰り返して、モータを制御する制御指令を調整する自動調整を実行する際に、自動調整に要する時間を短縮することができるモータ制御装置を提供することができる。
実施の形態2
図9は、実施の形態2におけるモータ制御装置1000aの構成の一例を示すブロック図である。図9(a)は、モータ制御装置1000aの全体の構成例を示し、図9(b)は、学習部7aの構成例を示す。モータ制御装置1000aは、実施の形態1の図1に示すモータ制御装置1000の学習部7に代えて学習部7aを備え、図1の調整管理部9に代えて調整管理部9aを備える。学習部7aの構成は、学習部7の構成から学習完了信号決定部74を省いたものである。さらに、図9の調整管理部9aは、状態センサ信号101に基づいて評価運転及び初期化運転の完了時点を検知する。そして、図9の調整管理部9aは、評価運転の開始時点を決定する際に初期化運転の完了時点を用いる。図9に示すモータ制御装置1000aの説明において、図1と同じ又は対応する構成要素については、同一の符号を付す。
図10は、実施の形態2におけるモータ制御装置1000aの動作タイミングの一例を示す図である。図10(a)から図10(d)の横軸は時間であり、図10(a)から図10(d)の縦軸はそれぞれ、学習動作、動作処理(初期化運転及び評価運転)、学習開始信号106、指令開始信号105である。指令開始信号105及び学習開始信号106の各信号の値と、各信号が指示する内容との関係は、実施の形態1の図2において説明したものと同じである。
図10の動作例では、学習動作に要する時間より、初期化運転に要する時間の方が長い。そして、初期化運転が学習動作より後に完了する。そのため、評価運転の開始時点を、学習動作の完了時点ではなく、初期化運転の完了時点に基づいて決定している。そして、初期化運転及び評価運転の完了時点を、状態センサ信号101に基づいて検知する。これらの点が図2の動作例と異なる。
図11は、実施の形態2における調整管理部9aの動作の一例を示すフロー図である。図10及び図11を参照してモータ制御装置1000aの動作を例示する。自動調整を開始すると、ステップS201において、調整管理部9aは、時刻TL211における指令開始信号105の値を1に決定し、初期化運転IN21の開始時点を時刻TL211に決定する。モータ1は、指令開始信号105に従い、時刻TL211に、初期化運転IN21を開始する。そして、時刻TL213に、初期化運転IN21を完了する。
ステップS202において、調整管理部9aは、時刻TL211における学習開始信号106の値を1に決定し、学習動作L21の開始時点を時刻TL211に決定する。学習部7aは、学習開始信号106に従い時刻TL211に学習動作L21を開始する。そして、時刻TL212に学習動作L21を完了する。図2の学習動作L11と同様に、学習動作L21において学習部7aは、事前の設定に基づくか又はランダムに、指令パラメータ104を決定してもよい。初期化運転IN21と学習動作L21とは並行して実行される。初期化運転IN21に要する時間は、学習動作L21に要する時間より長いため、時刻TL213は時刻TL212より後の時点となる。図2の動作例と同様に、待ち時間を延長させない範囲で、学習動作L21の開始時点を初期化運転IN21の開始時点より遅らせてもよい。
ステップS203において、調整管理部9aは、状態センサ信号101に基づいて、時刻TL213を初期化運転IN21の完了時点として検知する。ステップS204において、調整管理部9aは、検知した初期化運転IN21の完了時点に基づき、時刻TL213における指令開始信号105の値を1に決定し、評価運転EV21(第1の評価運転)の開始時点を決定する。モータ1は、指令開始信号105に従い、時刻TL213に評価運転EV21を開始する。そして、時刻TL221に評価運転EV21を完了する。
ステップS205において、調整管理部9aは、状態センサ信号101に基づき、時刻TL221を、評価運転EV21の完了時点として検知する。そして、ステップS206において、図3のステップS106と同様に、自動調整を続行するか否かの判断を実行する。時刻TL221に実行されるステップS206において、調整管理部9aは、自動調整を続行すると判断し、ステップS207に進む。時刻TL211から時刻TL221までを、学習サイクルCYC21とする。
ステップS207において、調整管理部9aは、評価運転EV21の完了時点に基づき、時刻TL221における指令開始信号105及び学習開始信号106の値を、1に決定する。そして、この動作によって、時刻TL221を、初期化運転IN22(第1の初期化運転)及び学習動作L22(第1の学習動作)の開始時点として決定する。モータ1及び学習部7aのそれぞれは、指令開始信号105及び学習開始信号106に従い、初期化運転IN22及び学習動作L22を開始する。初期化運転IN22と学習動作L22とは、並行して実行される。
以降、ステップS206において調整管理部9aが自動調整を続行しないと判断するまで、ステップS203からステップS207までが繰り返し実行される。そして、学習サイクルCYC22のステップS204において、調整管理部9aは、初期化運転IN22の完了時点であるTL223に基づき、時刻TL223における指令開始信号105の値を、1に決定する。そして、この動作によって、時刻TL223を評価運転EV22(第2の評価運転)の開始時点として決定する。モータ1は、指令開始信号105に従い、時刻TL223に評価運転EV22を開始する。
調整管理部9aは、最終の学習サイクルである学習サイクルCYC2XのステップS205において、時刻TL2X2を、評価運転EV2Xの完了時点として検知する。そして、ステップS206において、自動調整を続行しないと判断し、ステップS208へと進む。ステップS208において、調整管理部9aは、図3のステップS108と同様に、学習部7aに終了処理T2を指示する。学習部7aは、図2の終了処理T1と同様に終了処理T2を実行する。なお、本実施の形態でも、実施の形態1と同様に、制御対象2000と同様の複数の制御対象に、並行して評価運転を実行させ、効率よく自動調整を実行してもよい。また、本実施の形態の学習による結果を搭載した学習済み学習器を用いて、モータ制御装置を構成してもよい。また、本実施の形態の学習によって、モータを制御する制御指令の自動調整を実行してもよく、モータ制御装置の製造を実行してもよい。
また、ステップS203又はステップS205において、調整管理部9aが運転の完了を検知する場合に、モータ1の位置を示す状態センサ信号101と目標移動距離との差異である偏差があらかじめ定めた基準値以下になることを検出して運転の完了を検知してもよい。また、偏差が基準値以下となることに加えて、あらかじめ定めた時間の間、偏差が基準値を超えないことを検出した場合に、運転が完了したと判断してもよい。なお、調整管理部9aは、状態センサ信号101に限定されることなく、制御対象2000の状態を検出した信号を、運転の完了時点の検知に用いることもできる。さらに、指令信号103を運転の完了時点の検知に用いることもできる。
本実施の形態によれば、初期化運転、評価運転及び学習動作を繰り返してモータを制御する制御指令を調整する自動調整を実行する際に、自動調整に要する時間を短縮することができるモータ制御装置を提供することができる。
評価運転のひとつである評価運転EV21(第1の評価運転)を実行し、評価運転EV21の際に取得した状態センサ信号101を用いて学習動作L22(第1の学習動作)を実行してもよい。そして、初期化運転IN22(第1の初期化運転)を学習動作L22と並行して実行し、初期化運転IN22によって設定された初期状態から、学習動作L22で決定された指令パラメータ104(制御指令)に基づき、評価運転EV21の次の評価運転である評価運転EV22(第2の評価運転)を実行してもよい。このような動作により、学習動作L22及び初期化運転IN22を、並行して実行し、自動調整に要する時間を短縮することができる。このようにして、効率良く自動調整を実行できる、モータ制御装置1000a又はモータ制御方法を提供してもよい。
また、調整管理部9aは、評価運転EV21の完了時点を検知し、検知した完了時点に基づいて、学習動作L22の開始時点及び初期化運転IN22の開始時点を決定し、工程の間の待ち時間を短縮してもよい。また、調整管理部9aは、学習動作L22と初期化運転IN22のうち、より長い時間を要する一方の開始時点を、他方の開始時点と同時か又はより前に決定し、工程の間の待ち時間を短縮してもよい。また、調整管理部9aは、初期化運転IN22及び学習動作L22のうち、同時か又はより後に完了する一方の完了時点を検知し、検知した完了時点に基づいて評価運転EV22の開始時点を決定し、工程間の待ち時間を短縮してもよい。なお、連続して実行される2つの工程を前の工程と後の工程とすると、前の工程の完了時点と後の工程の開始時点の間隔を実施可能な範囲で短くするのが好適であり、両者を同時又は略同時とすれば、さらに好適である。さらに、駆動制御部4は、モータ1を制御する指令値であって、位置、速度、加速度、電流、トルク又は推力の指令値である指令信号103に追従させるようにモータ1を駆動し、評価運転又は初期化運転の完了時点を、制御対象2000の状態を検出した信号、又は指令信号103によって検出し、運転の完了時点を、精度よく検知してもよい。そして、運転に要する時間が変化した場合においても、次の工程の開始時点を正確に決定できることを利用して、自動調整に要する時間を短縮してもよい。上記のようにして、効率良く自動調整を実行できる、モータ制御装置1000a又はモータ制御方法を提供してもよい。
実施の形態3
図12は、実施の形態3におけるモータ制御装置1000bの構成の一例を示すブロック図である。図12(a)は、モータ制御装置1000bの全体の構成例を示し、図12(b)は、学習部7bの構成例を示す。モータ制御装置1000bの構成は、学習部7aに代えて学習部7bを備える点を除き、実施の形態2の図9に示すモータ制御装置1000aと同じである。本実施の形態の図12に示す構成要素のうち、実施の形態2の図9に示す構成要素と同じ又は対応する構成要素については、同一の符号を付す。
学習部7bは、図9(b)の学習部7aの構成要素に加え、学習制限時間決定部77を備える。学習制限時間決定部77は、初期化運転に要する時間の推定値を推定初期化運転所要時間として算出する。そして、推定初期化運転所要時間に基づき、学習部7bが学習動作を実行する時間である学習時間の上限値を、学習制限時間TLIM1として決定する。学習制限時間決定部77は、学習制限時間TLIM1を推定初期化運転所要時間と同じか又はより短い時間に決定してもよい。そして、学習部7bは、学習制限時間TLIM1と同じか又はより短い時間の間、学習動作を実行してもよい。このように学習動作を実行することによって、初期化運転の完了より前に、学習動作を完了させることができる。ここで、学習部7bは、推定初期化運転所要時間を外部から取得してもよい。また、学習部7bは、初期化運転に要した時間の実測値を、状態センサ信号101、指令信号103等から求め、この実測値を用いて、推定初期化運転所要時間を推定又は更新してもよい。
学習制限時間決定部77はさらに、基本学習時間TSL1をあらかじめ定めてもよい。基本学習時間TSL1は、学習時間の下限であり、学習部7bは、基本学習時間TSL1と同じ長さの時間か又はより長い時間、学習動作を実行してもよい。例えば、基本学習時間TSL1を、指令パラメータ104を決定するための最小限の時間としてもよく、所望の精度の指令パラメータ104を決定するための最小限の時間としてもよい。学習制限時間決定部77はさらに、基本学習時間TSL1と学習制限時間TLIM1とに基づき、基本学習時間TSL1と追加学習時間TAD1との和が、学習制限時間TLIM1を超えないように追加学習時間TAD1を定めてもよい。この条件は、式(26)で表される。なお、学習制限時間TLIM1は、基本学習時間TSL1より長いとしている。
Figure 0006903240
学習部7bは、基本学習時間TSL1の間、学習を実行する。そして、さらに追加学習時間TAD1の間の学習動作を実行し、指令パラメータ104の精度を向上してもよい。学習部7bは、基本学習時間TSL1を利用し、あらかじめ下限として定めた学習時間の学習を実行することができる。なお、基本学習時間TSL1及び追加学習時間TAD1を設定せず学習制限時間TLIM1のみを設定してもよい。また、学習制限時間決定部77は、推定初期化運転所要時間、学習制限時間TLIM1、基本計算時間TSL1、追加学習時間TAD1等を、記憶装置に格納してもよい。
次に、学習時間と、学習動作において決定される指令パラメータの精度との関係について述べる。例えば、学習アルゴリズムとしてQ学習を用いる場合、意思決定部73は、行動価値関数Qの値が大きくなる行動aを、評価候補パラメータ108として選択する。この選択を実行する際に、行動価値観数Qが連続的な関数である場合等には、意思決定部73が繰り返し計算を実行する場合がある。このように、学習動作の中で繰り返し計算を実行する場合、意思決定部73は、計算時間を長く確保し、計算のステップ数を増やすことによって計算精度を向上することができる。以上から、学習動作に繰り返し計算が含まれる場合、本実施の形態の効果がより顕著に発揮される。なお、繰り返し計算の例としては、最急降下法又はニュートン法のように数値的に勾配を求める方法、モンテカルロ法のように確率的要素を用いる方法等を挙げることができる。
図13は、実施の形態3におけるモータ制御装置1000bの動作タイミングの一例を示す図である。図13(a)から図13(d)の横軸は時間であり、図13(a)から図13(d)の縦軸はそれぞれ、学習動作、動作処理(初期化運転及び評価運転)、学習開始信号106及び指令開始信号105である。図13における、指令開始信号105及び学習開始信号106の信号の値と、各信号が示す動作のタイミングとの関係は、実施の形態1の図2において説明したものと同じである。図13に示すモータ制御装置1000bの動作は、学習部7bの動作を除き、図10と同じである。図13において、図10と同じ又は対応する、運転、学習、学習サイクル、時刻等については、図10と同一の符合を付す。また、図13の動作例における調整管理部9aの動作のフロー図は実施の形態2の図11と同じである。図11及び図13を参照してモータ制御装置1000bの動作例を説明する。
図13の動作例において、学習制限時間決定部77は、初期化運転IN21に要した時間の実測値に基づき、推定初期化運転所要時間を算出する。そして、推定初期化運転所要時間と同じか又はより短い時間に、学習制限時間TLIM1を決定する。さらに、学習制限時間決定部77は、学習時間の下限として基本学習時間TSL1を決定し、学習制限時間TLIM1と基本学習時間TSL1との差を、追加学習時間TAD1とする。
図13の動作例では、学習部7bの動作のみが実施の形態2の図10と異なるため、学習サイクルCYC22を例に挙げて学習部7bの動作について説明する。学習部7bは、学習サイクルCYC22のステップS202で決定された学習開始信号106に従い、学習動作L22(第1の学習動作)を、時刻TL221に開始する。ここで、学習部7bは、学習動作L22として、部分学習動作L221及び部分学習動作L222を実行する。部分学習動作L221の長さは基本学習時間TSL1である。そして、部分学習動作L222の長さは追加学習時間TAD1である。さらに、学習部7bは、時刻TL221から起算して、基本計算時間TSL1及び追加学習時間TAD1が経過した時点である時刻TL222に、学習動作L22を完了する。ここで、時刻TL222の値は、時刻TL221の値、基本計算時間TSL1及び追加学習時間TAD1の3つの和に等しく、(27)式の関係が成り立つ。
Figure 0006903240
図13の動作例では、初期化運転の開始時点と学習動作の開始時点とが同時であるが、初期化運転に要する時間が学習動作に要する時間より長い場合、学習動作を、初期化運転より遅れて開始してもよい。学習制限時間決定部77は、初期化運転IN22の開始時点から起算して推定初期化運転所要時間が経過した時点が、学習動作L22(第1の学習動作)の開始時点から起算して学習制限時間TLIM1が経過した時点より後になるように学習制限時間TLIM1を決定してもよい。そして、学習部7bは、学習動作L22を、学習制限時間TLIM1と同じか又はより短い時間の間に実行してもよい。このようにすれば、初期化運転IN22の開始時点より学習動作L22の開始時点が後となった場合においても、初期化運転IN22の完了前に、学習動作L22を完了させることができる。このような状況であれば、学習動作L22の完了を待つ必要がなく、初期化運転IN22の完了直後に、評価運転EV22を開始できる。そのため、学習動作L22の完了を待つことによる遅れ時間の増加が発生しない。そのため、自動調整に要する時間を短縮することができる。このようにして、効率良く自動調整を実行できる、モータ制御装置1000a又はモータ制御方法を提供してもよい。
また、学習制限時間決定部77は、学習制限時間TLIM1に加えて、学習時間の下限である基本学習時間TSL1を決定してもよい。そして、学習部7bは、基本学習時間TSL1と同じか又はより長い時間であって、学習制限時間TLIM1と同じか又は学習制限時間TLIM1より短い時間の間に、学習動作L22を実行してもよい。このように学習動作を実行すれば、学習制限時間TLIM1を利用し、あらかじめ下限として定めた学習時間を確保できる。そして、例えば、基本学習時間TSL1を、指令パラメータ104を得るために最低限必要な時間とすれば、より高い確率で、学習サイクルごとに、指令パラメータ104を算出することができる。上記のようにして、効率良く自動調整を実行できる、モータ制御装置1000a又はモータ制御方法を提供してもよい。
本実施の形態によれば、初期化運転、評価運転及び学習動作を繰り返してモータ1を制御する指令パラメータ104(制御指令)を調整する自動調整を実行する際に、自動調整に要する時間を短縮することができるモータ制御装置を提供することができる。
実施の形態4
図14は、実施の形態4におけるモータ制御装置1000cの構成の一例を示すブロック図である。図14(a)はモータ制御装置1000cの全体の構成例を示し、図14(b)は学習部7cの構成例を示す。図14に示すモータ制御装置1000cは、図1に示す実施の形態1のモータ制御装置1000の学習部7に代えて学習部7cを備え、調整管理部9に代えて調整管理部9bを備える。さらに、図1のモータ制御装置1000の構成要素に加えて、学習時間推定部10を備える。図14に示すモータ制御装置1000cの説明では、実施の形態1の図1又は図5と同じ又は対応する構成要素については、同一の符号を付す。
本実施の形態の学習には、様々な学習アルゴリズムを適用することができるが、Q学習による強化学習を用いる場合を例示する。図14に示す学習部7cは、図5に示す実施の形態1の学習部7の意思決定部73に代えて、意思決定部73aを備える。図5の学習部7は、1回の学習動作の中で、評価運転に用いた指令パラメータ104と評価運転の際の状態センサ信号101との組を1組取得し、指令パラメータ104の決定を1回実行する。一方、学習部7cは、1回の学習サイクルの中で、上記の組を複数組取得する。そして、報酬計算部71と価値関数更新部72とは、取得した組のそれぞれについて、報酬rの計算と計算した報酬rに基づく行動価値関数Qの更新とを実行する。その結果、学習部7cは、1回の学習サイクルの中で、報酬rの計算と行動価値関数Qの更新とを、複数回実行する。
意思決定部73aは、上記の複数回の更新が実行された行動価値関数Qと、更新に用いた複数組のデータセットに基づき、複数の評価候補パラメータ108を決定する。そして、指令パラメータ決定部75は、決定された評価候補パラメータ108に基づき、実行中の学習動作より後の評価運転に用いる指令パラメータ104を決定する。
意思決定部73aの動作について説明する。意思決定部73aは、価値関数更新部72が更新した、式(25)の行動価値関数Q(s,a)を取得する。そして、複数の行動a、すなわち複数組のデータセットに含まれる複数の指令パラメータ104について、対応する行動価値関数Qの値を計算する。ここで、行動a(指令パラメータ104)を選択したときに、ある行動価値関数Q(s,a)の値が与えられる場合、行動a(指令パラメータ104)と行動価値関数Q(s,a)の値とは、互いに対応しているとしている。さらに、計算した複数の行動価値関数Qの値から、あらかじめ定めた所定の数だけ、大きい順に行動価値関数Qの値を選出する。そして、選出した行動価値関数Qの値に対応する指令パラメータ104を、評価候補パラメータ108として決定する。以上が、意思決定部73aの動作の一例である。なお、指令パラメータ決定部75の決定する指令パラメータ104の数は、実行中の学習動作の次の学習サイクルにおいて実行される評価運転の回数と同じとしてもよい。
次に、学習時間推定部10について説明する。学習時間推定部10は、実行される学習動作についての学習時間の推定値を推定学習時間として算出し、推定学習時間を示す推定学習時間信号109を出力する。なお、学習時間推定部10は、実行された学習動作についての学習開始信号106及び学習完了信号107を取得し、学習開始時点と学習完了時点との差から学習時間の実測値を取得してもよい。そして、取得した学習時間の実測値に基づき、実行される学習動作についての学習時間の推定値を、推定学習時間として算出してもよい。また、学習時間推定部10は、推定学習時間を外部からの入力によって取得してもよく、学習時間の実測値に基づいて推定学習時間を更新してもよい。
次に、調整管理部9bについて説明する。調整管理部9bは、学習完了信号107に基づき学習開始信号106を決定することによって、学習動作の完了時点に基づき次の学習動作の開始時点を決定する。さらに、調整管理部9bは、初期化運転に要する時間である初期化運転所要時間と、評価運転に要する時間である評価運転所要時間とをあらかじめ定める。そして、初期化運転及び評価運転の開始時点から起算して、初期化運転所要時間及び評価運転所要時間が経過したことを検出することによって、初期化運転及び評価運転の完了時点をそれぞれ検知する。そして、検知した初期化運転及び評価運転の完了時点に基づき、次に実行される評価運転及び初期化運転の開始時点をそれぞれ決定する。ここで、調整管理部9bは、初期化運転及び評価運転の完了時点を、実施の形態2の調整管理部9aのように、制御対象2000の状態を検出した信号又は指令信号103に基づいて正確に検知してもよい。ここで、初期化運転と、初期化運転によって設定された初期状態から開始される評価運転とで構成されるモータ1の動作を評価運転サイクルとよぶ。調整管理部9bは、評価運転の完了時点ごとに、評価運転サイクルを完了するか否かの判断を実行する。以下では、評価運転の完了時点を判断時点とよぶ場合がある。
図15は、実施の形態4におけるモータ制御装置1000cの動作タイミングの一例を示す図である。図15(a)から図15(e)の横軸は時間であり、図15(a)から図15(e)の縦軸はそれぞれ、学習動作、動作処理(初期化運転及び評価運転)、学習開始信号106、学習完了信号107及び指令開始信号105である。学習開始信号106、学習完了信号107及び指令開始信号105の値と、各信号が示す学習動作又は運転のタイミングとの関係は、実施の形態1の図2において説明したものと同じである。図16は、実施の形態4における調整管理部9bの動作の一例を示すフロー図である。図15では、1回の学習サイクルの中で、1回の学習動作が実行され、学習動作と並行して、2回の評価運転サイクルが実行されるが、学習動作と並行して実行される評価運転サイクルの数は3回以上であってもよい。
図15及び図16を用いて、モータ制御装置1000cの動作を例示する。自動調整が開始されると、ステップS401において、調整管理部9bは、時刻TL411における学習開始信号106の値を1に決定し、時刻TL411を学習動作L41(第3の学習動作)の開始時点として決定する。学習部7cは、学習開始信号106に従い時刻TL411に学習動作L41を開始する。ステップS402において、調整管理部9bは、学習動作L41の開始時点に基づき、時刻TL411における指令開始信号105の値を1に決定し、時刻TL411を初期化運転IN41の開始時点として決定する。モータ1は、指令開始信号105に従い、初期化運転IN41を時刻TL411に開始する。そして、モータ1は、時刻TL412に初期化運転IN41を完了し、初期化運転IN41の完了後、待機状態となる。ここで、ステップS402において、調整管理部9bは、初期化運転IN41の開始時点を決定することによって、1回目の評価運転サイクルECYC1(第1の評価運転サイクル)の開始時点を決定している。
ステップS403において、調整管理部9bは、時刻TL411から起算して初期化運転所要時間が経過したことを検出し、時刻TL413を初期化運転IN41の完了時点として検知する。ステップS404において、調整管理部9bは、検知した初期化運転IN41の完了時点に基づき、時刻TL413における指令開始信号105の値を1に決定し、時刻TL413を、評価運転EV41の開始時点として決定する。モータ1は、指令開始信号105に従い、評価運転EV41を時刻TL413に開始する。そして、モータ1は、時刻TL414に評価運転EV41を完了し、評価運転EV41の完了後、待機状態となる。
ステップS405において、調整管理部9bは、時刻TL413から起算して、評価運転所要時間が経過したことを検出し、時刻TL415を、評価運転EV41の完了時点として検知する。ステップS406において、調整管理部9bは、実行中の評価運転サイクルを完了するか否かの判断を実行し、評価運転サイクルを完了しないと判断した場合、ステップS407へ進み、評価運転サイクルを完了すると判断した場合、ステップS408へ進む。
ステップS406の判断を例示する。調整管理部9bは、あらかじめ、1回の評価運転サイクルの所要時間の推定値である推定評価運転サイクル所要時間を定める。調整管理部9bは、判断時点において、推定学習時間信号109を取得し、学習動作L41の開始時点から起算して推定学習時間が経過した時点である推定学習時間経過時点を算出する。さらに、調整管理部9bは、評価運転の完了時点である判断時点から推定学習時間経過時点までの時間が、推定評価運転サイクル所要時間より短い場合は、評価運転サイクルECYC1を完了すると判断する。そして、上記の判断時点から推定学習時間経過時点までの時間が、推定評価運転サイクル所要時間より長いか又は同じである場合は、評価運転サイクルECYC1を完了しないと判断する。言い換えれば、調整管理部9bは、推定学習時間経過時点までの残り時間の間に、1回の評価運転サイクルを実行できない場合、評価運転サイクルECYC1を完了すると判断する。そして、残り時間の間に1回の評価運転サイクルを実行できる場合、評価運転サイクルECYC1を完了しないと判断する。以上が、ステップS406の判断の一例である。
調整管理部9bは、時刻TL415のステップS406の判断において、評価運転サイクルECYC1を完了しないと判断し、ステップS407へ進む。ステップS407において、調整管理部9bは、評価運転EV41の完了時点に基づき、時刻TL415における指令開始信号105の値を1に決定し、時刻TL415を初期化運転IN42の開始時点として決定する。指令開始信号105に従い、モータ1は、時刻TL415に初期化運転IN42を開始する。以降、調整管理部9bは、ステップS406において評価運転サイクルECYC1を完了すると判断するまで、ステップS403からステップS407までを繰り返し実行する。
時刻TL421の判断時点において、調整管理部9bは、ステップS406の判断を実行し、評価運転サイクルECYC1を完了すると判断し、ステップS408に進む。ステップS408において、調整管理部9bは、学習完了信号107に基づき、時刻TL421を、学習動作L41の完了時点として検知する。次に、ステップS409において、調整管理部9bは、実施の形態1の図3のステップS106と同様に、自動調整を続行するか否かを判断し、自動調整を続行すると判断した場合、ステップS410へ進み、自動調整を続行しないと判断した場合、ステップS411へ進む。調整管理部9bは、時刻TL421のステップS409の判断において、自動調整を続行すると判断する。
ここで、学習サイクルCYC41は、時刻TL411から時刻TL421までの間である。なお、評価運転サイクルECYC1は、学習動作が1回も実行されていない状態から開始される。そのため、評価運転EV41及び評価運転EV42は、あらかじめ設定された指令パラメータ104、又はランダムに決定された指令パラメータ104を用いて実行してもよい。また、学習動作L41では、実施の形態1の学習動作L11と同様に、ランダムに指令パラメータ104を決定してもよく、設定に基づいて指令パラメータ104を決定してもよい。
ステップS410において、調整管理部9bは、学習動作L41の完了時点に基づき、時刻TL421における学習開始信号106の値を1に決定し、時刻TL421を学習動作L42(第4の学習動作)の開始時点として決定する。学習部7cは、学習開始信号106に従い、時刻TL421に学習動作L42を開始する。学習動作L42は、評価運転サイクルECYC1で用いた指令パラメータ104と評価運転サイクルECYC1で取得した状態センサ信号101とに基づいて実行される。以降、調整管理部9bは、ステップS409において自動調整を続行しないと判断するまで、ステップS402からステップS410までを繰り返し実行する。ここで、評価運転サイクルECYC2(第2の評価運転サイクル)は、学習動作L41において決定された指令パラメータ104を用いて実行される。また、ステップS402において、時刻TL421を初期化運転IN43の開始時点として決定することによって、調整管理部9bは、時刻TL421を評価運転サイクルECYC2の開始時点として決定している。
学習サイクルCYC4Zの時刻TL4X3におけるステップS409の判断において、調整管理部9bは、自動調整を続行しないと判断し、ステップS411に進む。ステップS411において、調整管理部9bは、実施の形態1の図3のステップS108と同様に終了処理T4を指示する。そして、学習部7cは、実施の形態1の図2の終了処理T1と同様に、終了処理T4を実行する。
なお、本実施の形態においても、実施の形態1と同様に、制御対象2000と同様の複数の制御対象に並行して評価運転を実行させ、効率よく自動調整を実行してもよい。例えば、図15の学習動作L41の間に、並行して複数の制御対象に評価運転サイクルを実行させれば、1回の評価運転サイクルの中で、状態センサ信号101と指令パラメータ104との組をより多く取得できるため、効率よく学習を実行できる。また、本実施の形態の学習の結果を搭載した学習済み学習器を用いて、モータ制御装置を構成してもよい。また、本実施の形態の学習を実行することによって、モータを制御する制御指令の自動調整、モータ制御装置の製造等を実行してもよい。また、効率よく、自動調整を実行できるモータ制御方法を提供してもよい。
また、学習動作のひとつである学習動作L41(第3の学習動作)を実行し、学習動作L41と並行して、評価運転サイクルのひとつである評価運転サイクルECYC1(第1の評価運転サイクル)を複数回実行し、さらに、評価運転サイクルECYC1の際に取得した状態センサ信号101を用いて、学習動作L41の次の学習動作である学習動作L42(第4の学習動作)を実行してもよい。そして、学習動作L41で決定された指令パラメータ104(制御指令)を用いて、評価運転サイクルECYC1の次の評価運転サイクルである評価運転サイクルECYC2(第2の評価運転サイクル)を、学習動作L42と並行して複数回実行してもよい。このような動作によって、1回の学習動作の間に、評価運転サイクルを複数回、実行し、指令パラメータ104と評価センサ信号102との組を効率良く取得し、自動調整に要する時間を短縮してもよい。このようにして、効率良く自動調整を実行できる、モータ制御装置1000c又はモータ制御方法を提供してもよい。
また、調整管理部9bは、学習動作L41の完了時点に基づき学習動作L42の開始時点を決定し、学習動作L41及び学習動作L42の開始時点に基づき、評価運転サイクルECYC1及び評価運転サイクルECYC2の開始時点をそれぞれ決定してもよい。このような動作により、2つの学習動作を実行するタイミングの間の関係を調整してもよく、学習動作を実行するタイミングと評価運転サイクルを実行するタイミングとの関係を調整してもよい。そして、これらにより、待ち時間を短縮してもよい。このようにして、効率良く自動調整を実行できる、モータ制御装置1000c又はモータ制御方法を提供してもよい。
また、モータ制御装置1000cは、学習動作L21に要する時間を推定学習時間として推定する学習時間推定部10をさらに備える。そして、調整管理部9bは、評価運転サイクルを実行するのに要する時間の推定値を推定評価運転サイクル所要時間としてあらかじめ定めてもよい。さらに、調整管理部9bは、評価運転サイクルECYC1が完了した時点である判断時点に、推定学習時間と学習動作L21の開始時点から判断時点までに経過した時間との差が、推定評価運転サイクル所要時間と同じか又はより長い場合は、評価運転サイクルECYC1を続行すると判断し、推定評価運転サイクル所要時間より短い場合は、評価運転サイクルECYC1を続行しないと判断してもよい。このような動作により、学習時間の完了時点までに評価運転サイクルを完了させることができる範囲で、評価運転サイクルの数を増やすことができる。また、推定学習時間、推定評価運転サイクル所要時間等が変化した場合に、変化に応じて評価運転サイクルの実行回数を調整することができるため、効率良く自動調整を実行できる。このようにして、効率良く自動調整を実行できる、モータ制御装置1000c又はモータ制御方法を提供してもよい。
また、図15の動作例において、調整管理部9bは、初期化運転IN41の完了時点を、初期化運転IN41の開始時点と初期化運転所要時間とに基づいて決定する。本実施の形態は、このような動作に限定されるものではない。例えば、工程である第1の工程が完了してから、工程である第2の工程が開始されるまでの間に、初期化運転、評価運転又は学習動作のいずれかひとつを含む中間工程が実行される場合がある。このような場合、調整管理部9bは、中間工程を実行するのに要する時間をあらかじめ推定し、第2の工程の開始時点を、第1の工程の完了時点から起算して推定した中間工程を実行するのに要する時間が経過した時点より後の時点に決定してもよい。このような動作により、中間工程に要する時間の推定値を目安として、第2の工程の開始時点を調整し、待ち時間を短縮することによって、自動調整に要する時間を低減してもよい。このようにして、効率良く自動調整を実行できる、モータ制御装置1000c又はモータ制御方法を提供してもよい。
以上のように、本実施の形態によれば、初期化運転、評価運転及び学習動作を繰り返してモータを制御する制御指令を調整する自動調整を実行する際に、自動調整に要する時間を短縮することができるモータ制御装置を提供することができる。
1 モータ、2 指令生成部、3 機械負荷、4 駆動制御部、7、7a、7b、7c 学習部、9、9a、9b 調整管理部、10 学習時間推定部、77 学習制限時間決定部、101 状態センサ信号、103 指令信号、1000、1000a、1000b、1000c モータ制御装置、2000 制御対象、ECYC1、ECYC2 評価運転サイクル、EV11、EV12、EV21、EV22、EV41、EV42、EV43、EV44 評価運転、IN12、IN22、IN41、IN42、IN43、IN44 初期化運転、L12、L22、L23、L41、L42 学習動作、TLIM1 学習制限時間、TSL1 基本学習時間。

Claims (15)

  1. 制御指令に基づいてモータを駆動し、前記モータと前記モータに機械的に接続された機械負荷とで構成される制御対象を動作させ、前記制御対象を初期状態に設定する初期化運転と前記初期状態から開始されて前記制御対象を目標距離だけ移動する位置決めである評価運転とを実行する駆動制御部と、
    前記評価運転に用いた前記制御指令と前記評価運転の際の前記制御対象の状態を検出した状態センサ信号とを関連付けて学習し、学習した結果に基づき、前記状態センサ信号を取得した前記評価運転より後に実行される前記評価運転に用いる前記制御指令を決定する学習部と、
    前記学習部の動作である学習動作、前記初期化運転、前記評価運転のいずれかひとつである第1の工程を実行するタイミングに基づき、前記学習動作、前記初期化運転、前記評価運転のいずれかひとつである第2の工程を実行するタイミングを決定する調整管理部と
    を備えるモータ制御装置。
  2. 前記調整管理部は、
    前記学習部の動作である学習動作、前記初期化運転、前記評価運転のいずれかひとつである第1の工程を実行するタイミングに基づき、前記学習動作、前記初期化運転、前記評価運転のいずれかひとつである第2の工程を実行するタイミングを決定し、前記初期化運転、前記評価運転及び前記学習動作の各工程を少なくとも1回ずつ含み周期的に繰り返されるサイクルである学習サイクルを前記学習部及び前記駆動制御部に繰り返し実行させモータを制御する制御指令の自動調整を実行させることを特徴とする請求項1に記載のモータ制御装置。
  3. 前記評価運転のひとつである第1の評価運転を実行し、
    前記第1の評価運転の際に取得した前記状態センサ信号を用いて前記学習動作である第1の学習動作を実行し、
    前記初期化運転である第1の初期化運転を前記第1の学習動作と並行して実行し、
    前記第1の初期化運転によって設定された前記初期状態から前記第1の学習動作で決定された前記制御指令に基づき前記第1の評価運転の次の前記評価運転である第2の評価運転を実行することを特徴とする請求項1または2に記載のモータ制御装置。
  4. 前記調整管理部は、前記第1の評価運転の完了時点を検知し、検知した前記第1の評価運転の完了時点に基づいて、前記第1の学習動作の開始時点及び前記第1の初期化運転の開始時点を決定することを特徴とする請求項に記載のモータ制御装置。
  5. 前記調整管理部は、前記第1の学習動作と前記第1の初期化運転とのうち、より長い時間を要する一方の開始時点を、他方の開始時点と同時か又はより前に決定することを特徴とする請求項又はに記載のモータ制御装置。
  6. 前記調整管理部は、前記第1の学習動作又は前記第1の初期化運転のうち、同時か又はより後に完了する一方の完了時点を検知し、検知した前記完了時点に基づいて前記第2の評価運転の開始時点を決定することを特徴とする請求項からのいずれか1項に記載のモータ制御装置。
  7. 前記第1の初期化運転に要する時間は、前記第1の学習動作に要する時間より長く、
    前記学習動作を実行する時間である学習時間の上限である学習制限時間を、前記第1の初期化運転の開始時点から起算して初期化運転に要する時間の推定値である推定初期化運転所要時間が経過した時点が、前記第1の学習動作の開始時点から起算して前記学習制限時間が経過した時点より後になるように決定する学習制限時間決定部を備え、
    前記学習部は、前記第1の学習動作を前記学習制限時間と同じか又はより短い時間の間に実行することを特徴とする請求項からのいずれか1項に記載のモータ制御装置。
  8. 前記学習制限時間決定部はさらに、前記学習時間の下限であり前記学習制限時間より短い時間である基本学習時間を決定し、前記学習部は、前記第1の学習動作を前記基本学習時間と同じか又はより長い時間の間に実行することを特徴とする請求項に記載のモータ制御装置。
  9. 前記学習動作のひとつである第3の学習動作を実行し、
    前記第3の学習動作と並行して、前記初期化運転と前記評価運転とで構成される評価運転サイクルのひとつである第1の評価運転サイクルを複数回実行し、
    前記第1の評価運転サイクルの際に取得した前記状態センサ信号を用いて前記第3の学習動作の次の学習動作である第4の学習動作を実行し、
    前記第3の学習動作で決定された前記制御指令を用いて、第1の評価運転サイクルの次の前記評価運転サイクルである第2の評価運転サイクルを、前記第4の学習動作と並行して複数回実行することを特徴とする請求項1または2に記載のモータ制御装置。
  10. 前記調整管理部は、前記第3の学習動作の完了時点に基づいて前記第4の学習動作の開始時点を決定し、前記第3の学習動作及び前記第4の学習動作の開始時点に基づいて、前記第1の評価運転サイクル及び前記第2の評価運転サイクルの開始時点をそれぞれ決定することを特徴とする請求項に記載のモータ制御装置。
  11. 前記第3の学習動作に要する時間を推定学習時間として推定する学習時間推定部をさらに備え、
    前記調整管理部は、前記評価運転サイクルを実行するのに要する時間の推定値を推定評価運転サイクル所要時間としてあらかじめ定め、
    前記調整管理部は、前記第1の評価運転サイクルが完了した時点である判断時点に、前記推定学習時間と前記第3の学習動作の開始時点から前記判断時点までに経過した時間との差が、前記推定評価運転サイクル所要時間と同じか又はより長い場合は、前記第1の評価運転サイクルを続行すると判断し、前記推定評価運転サイクル所要時間より短い場合は、前記第1の評価運転サイクルを続行しないと判断することを特徴とする請求項又は10に記載のモータ制御装置。
  12. 前記第1の工程が完了してから前記第2の工程が開始されるまでの間に、前記初期化運転、前記評価運転又は前記学習動作の少なくともいずれかひとつを含む中間工程が実行され、
    前記調整管理部は、前記中間工程を実行するのに要する時間をあらかじめ推定し、前記第2の工程の開始時点を、前記第1の工程の完了時点から起算して推定した前記中間工程を実行するのに要する時間が経過した時点より後の時点に決定することを特徴とする請求項1から11のいずれか1項に記載のモータ制御装置。
  13. 前記駆動制御部は、前記モータを制御する指令値であって、位置、速度、加速度、電流、トルク又は推力の指令値である指令信号に追従させるように前記モータを駆動し、
    前記調整管理部は、前記評価運転又は前記初期化運転を実行するタイミングを、前記制御対象の状態を検出した検出結果又は前記指令信号に基づいて検知することを特徴とする請求項1から12のいずれか1項に記載のモータ制御装置。
  14. モータ制御装置が、制御指令に基づいてモータを駆動し、前記モータと前記モータに機械的に接続された機械負荷とで構成される制御対象を動作させ、前記制御対象を初期状態に設定する初期化運転と前記初期状態から開始されて前記制御対象を目標距離だけ移動する位置決めである評価運転とを実行し、
    前記モータ制御装置が、前記評価運転に用いた前記制御指令と前記評価運転の際の前記制御対象の状態を検出した状態センサ信号とを関連付けて学習し、学習した結果に基づき、前記状態センサ信号を取得した前記評価運転より後に実行される前記評価運転に用いる前記制御指令を決定する学習動作を実行し、
    前記モータ制御装置が、前記学習動作、前記初期化運転、前記評価運転のいずれかひとつである第1の工程を実行するタイミングに基づき、前記学習動作、前記初期化運転、前記評価運転のいずれかひとつである第2の工程を実行するタイミングを決定するモータ制御方法。
  15. 前記モータ制御装置が、
    前記学習動作、前記初期化運転、前記評価運転のいずれかひとつである第1の工程を実行するタイミングに基づき、前記学習動作、前記初期化運転、前記評価運転のいずれかひとつである第2の工程を実行するタイミングを決定し、前記初期化運転、前記評価運転及び前記学習動作の各工程を少なくとも1回ずつ含み周期的に繰り返されるサイクルである学習サイクルを繰り返し実行しモータを制御する制御指令の自動調整を実行させることを特徴とする請求項14に記載のモータ制御方法。
JP2020562230A 2019-09-19 2019-09-19 モータ制御装置及びモータ制御方法 Active JP6903240B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/036715 WO2021053784A1 (ja) 2019-09-19 2019-09-19 モータ制御装置及びモータ制御方法

Publications (2)

Publication Number Publication Date
JP6903240B1 true JP6903240B1 (ja) 2021-07-14
JPWO2021053784A1 JPWO2021053784A1 (ja) 2021-09-30

Family

ID=74884430

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020562230A Active JP6903240B1 (ja) 2019-09-19 2019-09-19 モータ制御装置及びモータ制御方法

Country Status (7)

Country Link
US (1) US20220308531A1 (ja)
JP (1) JP6903240B1 (ja)
KR (1) KR20220044549A (ja)
CN (1) CN114514481A (ja)
DE (1) DE112019007725T5 (ja)
TW (1) TWI743986B (ja)
WO (1) WO2021053784A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7279626B2 (ja) * 2019-12-06 2023-05-23 トヨタ自動車株式会社 車両の制御装置
JP6981579B2 (ja) 2019-12-26 2021-12-15 三菱電機株式会社 位置決め制御装置及び位置決め制御方法
JP6996655B1 (ja) 2021-07-26 2022-01-17 株式会社安川電機 稼働調整システム、モータ制御システム、稼働調整方法、および稼働調整プログラム
TW202318120A (zh) * 2021-10-29 2023-05-01 日商松下知識產權經營股份有限公司 控制參數的生成方法、程式、記錄媒體及控制參數的生成裝置
US11812234B1 (en) * 2022-03-08 2023-11-07 xMEMS Labs, Inc. Method of table learning with reduced learning rate applied in driving circuit and driving circuit using the same
TWI839141B (zh) 2022-03-08 2024-04-11 美商知微電子有限公司 二級反饋控制系統及其相關方法
WO2024005138A1 (ja) * 2022-07-01 2024-01-04 パナソニックIpマネジメント株式会社 制御パラメータの生成方法、プログラム、記録媒体、および、制御パラメータの生成装置
WO2024005137A1 (ja) * 2022-07-01 2024-01-04 パナソニックIpマネジメント株式会社 制御パラメータの生成方法、プログラム、記録媒体、および、制御パラメータの生成装置
WO2024005136A1 (ja) * 2022-07-01 2024-01-04 パナソニックIpマネジメント株式会社 制御パラメータの生成方法、プログラム、記録媒体、および、制御パラメータの生成装置
KR20240054569A (ko) * 2022-10-19 2024-04-26 주식회사 엘지에너지솔루션 모니터링 시스템 및 그것의 동작 방법
WO2024195422A1 (ja) * 2023-03-20 2024-09-26 パナソニックIpマネジメント株式会社 調整支援方法及び調整支援システム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010009529A (ja) * 2008-06-30 2010-01-14 Fanuc Ltd サーボモータの駆動制御装置及び駆動制御方法
JP2018082604A (ja) * 2016-11-07 2018-05-24 本田技研工業株式会社 回転電機の制御装置及び回転電機の制御方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7308322B1 (en) * 1998-09-29 2007-12-11 Rockwell Automation Technologies, Inc. Motorized system integrated control and diagnostics using vibration, pressure, temperature, speed, and/or current analysis
JP2004227163A (ja) * 2003-01-21 2004-08-12 Fanuc Ltd サーボ制御装置
TWI426698B (zh) * 2011-02-08 2014-02-11 Univ Nat Central Intelligent control model for adaptive control of sensors without sensor control method
JP5625983B2 (ja) * 2011-02-14 2014-11-19 株式会社デンソー モータ制御装置
US9186794B2 (en) * 2014-03-04 2015-11-17 Fanuc Corporation Robot controller having function to simplify teaching operation and improve motion performance of robot
JP2017102619A (ja) 2015-11-30 2017-06-08 オムロン株式会社 制御パラメータ調整装置、制御パラメータ調整方法、制御パラメータ調整プログラム
JP6193961B2 (ja) * 2015-11-30 2017-09-06 ファナック株式会社 機械の送り軸の送りの滑らかさを最適化する機械学習装置および方法ならびに該機械学習装置を備えたモータ制御装置
JP6474449B2 (ja) * 2017-04-07 2019-02-27 ファナック株式会社 調整装置及び調整方法
JP6897360B2 (ja) * 2017-06-21 2021-06-30 オムロン株式会社 制御装置、制御プログラムおよび制御システム
EP3454234A1 (de) * 2017-09-06 2019-03-13 dSPACE digital signal processing and control engineering GmbH Verfahren zum bereitstellen einer echtzeitfähigen simulation für die steuergerätentwicklung und simulationsvorrichtung für die steuergerätentwicklung
JP6888577B2 (ja) * 2018-03-30 2021-06-16 オムロン株式会社 制御装置、制御方法、及び制御プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010009529A (ja) * 2008-06-30 2010-01-14 Fanuc Ltd サーボモータの駆動制御装置及び駆動制御方法
JP2018082604A (ja) * 2016-11-07 2018-05-24 本田技研工業株式会社 回転電機の制御装置及び回転電機の制御方法

Also Published As

Publication number Publication date
JPWO2021053784A1 (ja) 2021-09-30
DE112019007725T5 (de) 2022-09-08
US20220308531A1 (en) 2022-09-29
TWI743986B (zh) 2021-10-21
WO2021053784A1 (ja) 2021-03-25
KR20220044549A (ko) 2022-04-08
CN114514481A (zh) 2022-05-17
TW202113634A (zh) 2021-04-01

Similar Documents

Publication Publication Date Title
JP6903240B1 (ja) モータ制御装置及びモータ制御方法
JP6219897B2 (ja) 最適な加減速を生成する工作機械
US10121107B2 (en) Machine learning device and method for optimizing frequency of tool compensation of machine tool, and machine tool having the machine learning device
JP6169655B2 (ja) 工作機械、シミュレーション装置、及び機械学習器
JP6140228B2 (ja) 加工条件を調整しながら加工を行うワイヤ放電加工機
JP6664561B1 (ja) 位置決め制御装置及び位置決め方法
US10442023B2 (en) Simulation apparatus of wire electric discharge machine having function of determining welding positions of core using machine learning
TWI471708B (zh) 伺服控制裝置
JP6077617B1 (ja) 最適な速度分布を生成する工作機械
JP6841852B2 (ja) 制御装置及び制御方法
JP6494897B1 (ja) 数値制御装置
US11897066B2 (en) Simulation apparatus
JP6775720B1 (ja) 数値制御装置
KR102494187B1 (ko) 위치 결정 제어 장치 및 위치 결정 방법
CN114047745B (zh) 机器人运动控制方法、机器人、计算机装置和存储介质
CN113614743A (zh) 用于操控机器人的方法和设备
JP7353245B2 (ja) 付加製造装置および付加製造方法
JP6981579B2 (ja) 位置決め制御装置及び位置決め制御方法
JP7166488B1 (ja) 数値制御装置、加工システム、数値制御方法および加工方法
KR20210106542A (ko) 제어 장치, 모델 작성 방법 및 제어 프로그램
JP2007004391A (ja) 生産・物流スケジュール作成装置及び方法、生産・物流プロセス制御装置及び方法、コンピュータプログラム、並びにコンピュータ読み取り可能な記録媒体
JP2020197944A (ja) モデル予測制御システム、情報処理装置、プログラム、及びモデル予測制御方法
JP7224541B1 (ja) 数値制御装置、加工システム、数値制御方法および加工方法
JP7275389B2 (ja) サーボ制御装置
WO2023153446A1 (ja) 提案装置、提案システム、提案方法、及び、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201105

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20201105

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20210203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210322

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210525

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210622

R150 Certificate of patent or registration of utility model

Ref document number: 6903240

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250