(57)【特許請求の範囲】
【請求項１】
制御指令に基づいてモータを駆動し、前記モータと前記モータに機械的に接続された機械負荷とで構成される制御対象を動作させ、前記制御対象を初期状態に設定する初期化運転と前記初期状態から開始されて前記制御対象を目標距離だけ移動する位置決めである評価運転とを実行する駆動制御部と、
前記評価運転に用いた前記制御指令と前記評価運転の際の前記制御対象の状態を検出した状態センサ信号とを関連付けて学習し、学習した結果に基づき、前記状態センサ信号を取得した前記評価運転より後に実行される前記評価運転に用いる前記制御指令を決定する学習部と、
前記学習部の動作である学習動作、前記初期化運転、前記評価運転のいずれかひとつである第１の工程を実行するタイミングに基づき、前記学習動作、前記初期化運転、前記評価運転のいずれかひとつである第２の工程を実行するタイミングを決定する調整管理部と
を備えるモータ制御装置。
【請求項２】
前記調整管理部は、
前記学習部の動作である学習動作、前記初期化運転、前記評価運転のいずれかひとつである第１の工程を実行するタイミングに基づき、前記学習動作、前記初期化運転、前記評価運転のいずれかひとつである第２の工程を実行するタイミングを決定し、前記初期化運転、前記評価運転及び前記学習動作の各工程を少なくとも１回ずつ含み周期的に繰り返されるサイクルである学習サイクルを前記学習部及び前記駆動制御部に繰り返し実行させモータを制御する制御指令の自動調整を実行させることを特徴とする請求項１に記載のモータ制御装置。
【請求項３】
前記評価運転のひとつである第１の評価運転を実行し、
前記第１の評価運転の際に取得した前記状態センサ信号を用いて前記学習動作である第１の学習動作を実行し、
前記初期化運転である第１の初期化運転を前記第１の学習動作と並行して実行し、
前記第１の初期化運転によって設定された前記初期状態から前記第１の学習動作で決定された前記制御指令に基づき前記第１の評価運転の次の前記評価運転である第２の評価運転を実行することを特徴とする請求項１または２に記載のモータ制御装置。
【請求項４】
前記調整管理部は、前記第１の評価運転の完了時点を検知し、検知した前記第１の評価運転の完了時点に基づいて、前記第１の学習動作の開始時点及び前記第１の初期化運転の開始時点を決定することを特徴とする請求項３に記載のモータ制御装置。
【請求項５】
前記調整管理部は、前記第１の学習動作と前記第１の初期化運転とのうち、より長い時間を要する一方の開始時点を、他方の開始時点と同時か又はより前に決定することを特徴とする請求項３又は４に記載のモータ制御装置。
【請求項６】
前記調整管理部は、前記第１の学習動作又は前記第１の初期化運転のうち、同時か又はより後に完了する一方の完了時点を検知し、検知した前記完了時点に基づいて前記第２の評価運転の開始時点を決定することを特徴とする請求項３から５のいずれか１項に記載のモータ制御装置。
【請求項７】
前記第１の初期化運転に要する時間は、前記第１の学習動作に要する時間より長く、
前記学習動作を実行する時間である学習時間の上限である学習制限時間を、前記第１の初期化運転の開始時点から起算して初期化運転に要する時間の推定値である推定初期化運転所要時間が経過した時点が、前記第１の学習動作の開始時点から起算して前記学習制限時間が経過した時点より後になるように決定する学習制限時間決定部を備え、
前記学習部は、前記第１の学習動作を前記学習制限時間と同じか又はより短い時間の間に実行することを特徴とする請求項３から６のいずれか１項に記載のモータ制御装置。
【請求項８】
前記学習制限時間決定部はさらに、前記学習時間の下限であり前記学習制限時間より短い時間である基本学習時間を決定し、前記学習部は、前記第１の学習動作を前記基本学習時間と同じか又はより長い時間の間に実行することを特徴とする請求項７に記載のモータ制御装置。
【請求項９】
前記学習動作のひとつである第３の学習動作を実行し、
前記第３の学習動作と並行して、前記初期化運転と前記評価運転とで構成される評価運転サイクルのひとつである第１の評価運転サイクルを複数回実行し、
前記第１の評価運転サイクルの際に取得した前記状態センサ信号を用いて前記第３の学習動作の次の学習動作である第４の学習動作を実行し、
前記第３の学習動作で決定された前記制御指令を用いて、第１の評価運転サイクルの次の前記評価運転サイクルである第２の評価運転サイクルを、前記第４の学習動作と並行して複数回実行することを特徴とする請求項１または２に記載のモータ制御装置。
【請求項１０】
前記調整管理部は、前記第３の学習動作の完了時点に基づいて前記第４の学習動作の開始時点を決定し、前記第３の学習動作及び前記第４の学習動作の開始時点に基づいて、前記第１の評価運転サイクル及び前記第２の評価運転サイクルの開始時点をそれぞれ決定することを特徴とする請求項９に記載のモータ制御装置。
【請求項１１】
前記第３の学習動作に要する時間を推定学習時間として推定する学習時間推定部をさらに備え、
前記調整管理部は、前記評価運転サイクルを実行するのに要する時間の推定値を推定評価運転サイクル所要時間としてあらかじめ定め、
前記調整管理部は、前記第１の評価運転サイクルが完了した時点である判断時点に、前記推定学習時間と前記第３の学習動作の開始時点から前記判断時点までに経過した時間との差が、前記推定評価運転サイクル所要時間と同じか又はより長い場合は、前記第１の評価運転サイクルを続行すると判断し、前記推定評価運転サイクル所要時間より短い場合は、前記第１の評価運転サイクルを続行しないと判断することを特徴とする請求項９又は１０に記載のモータ制御装置。
【請求項１２】
前記第１の工程が完了してから前記第２の工程が開始されるまでの間に、前記初期化運転、前記評価運転又は前記学習動作の少なくともいずれかひとつを含む中間工程が実行され、
前記調整管理部は、前記中間工程を実行するのに要する時間をあらかじめ推定し、前記第２の工程の開始時点を、前記第１の工程の完了時点から起算して推定した前記中間工程を実行するのに要する時間が経過した時点より後の時点に決定することを特徴とする請求項１から１１のいずれか１項に記載のモータ制御装置。
【請求項１３】
前記駆動制御部は、前記モータを制御する指令値であって、位置、速度、加速度、電流、トルク又は推力の指令値である指令信号に追従させるように前記モータを駆動し、
前記調整管理部は、前記評価運転又は前記初期化運転を実行するタイミングを、前記制御対象の状態を検出した検出結果又は前記指令信号に基づいて検知することを特徴とする請求項１から１２のいずれか１項に記載のモータ制御装置。
【請求項１４】
モータ制御装置が、制御指令に基づいてモータを駆動し、前記モータと前記モータに機械的に接続された機械負荷とで構成される制御対象を動作させ、前記制御対象を初期状態に設定する初期化運転と前記初期状態から開始されて前記制御対象を目標距離だけ移動する位置決めである評価運転とを実行し、
前記モータ制御装置が、前記評価運転に用いた前記制御指令と前記評価運転の際の前記制御対象の状態を検出した状態センサ信号とを関連付けて学習し、学習した結果に基づき、前記状態センサ信号を取得した前記評価運転より後に実行される前記評価運転に用いる前記制御指令を決定する学習動作を実行し、
前記モータ制御装置が、前記学習動作、前記初期化運転、前記評価運転のいずれかひとつである第１の工程を実行するタイミングに基づき、前記学習動作、前記初期化運転、前記評価運転のいずれかひとつである第２の工程を実行するタイミングを決定するモータ制御方法。
【請求項１５】
前記モータ制御装置が、
前記学習動作、前記初期化運転、前記評価運転のいずれかひとつである第１の工程を実行するタイミングに基づき、前記学習動作、前記初期化運転、前記評価運転のいずれかひとつである第２の工程を実行するタイミングを決定し、前記初期化運転、前記評価運転及び前記学習動作の各工程を少なくとも１回ずつ含み周期的に繰り返されるサイクルである学習サイクルを繰り返し実行しモータを制御する制御指令の自動調整を実行させることを特徴とする請求項１４に記載のモータ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータを制御する制御指令を自動調整するモータ制御装置に関するものである。
【背景技術】
【０００２】
電子部品実装機、半導体製造装置等では、モータを駆動して実装ヘッド等の機械を目標距離だけ移動させる位置決め制御が行われる。位置決め制御においては、位置決め時間を短縮し装置の生産性を向上するため、モータを駆動するための指令信号に含まれる位置の軌道を規定するパラメータ、制御系のパラメータ等を調整して設定する。【０００３】
これらのパラメータの調整には試行錯誤が必要な場合もあり、時間と手間とを要する。また、調整作業に要する時間及び調整作業の結果が、作業者の知識と経験に依存するという問題があった。前述の問題を解決するための技術として、パラメータの調整作業を自動化する技術が提案されている。【０００４】
特許文献１に記載の制御パラメータ調整装置は、制御対象の動作時のデータを用いて制御対象モデルを更新するモデル更新部を備える。そして、更新済の制御対象モデルを用いたシミュレーションを第１範囲で制御パラメータを探索して繰り返し行わせ、最適値の候補を抽出する第１探索部を備える。さらに、第１範囲よりも狭い第２範囲内で制御対象を繰り返し動作させ、動作結果を取得する第２探索部を備える。【０００５】
特許文献２に記載の機械学習装置は、モータ制御装置によって駆動制御されるモータの状態変数を観測する状態観測部を備える。さらに、状態変数によって構成される訓練データセットに従ってモータ制御装置の指令を補正するのに用いられる補正量に関連付けられる条件を学習する学習部を備える。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１７−１０２６１９号公報
【特許文献２】特開２０１７−１０２６１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１、特許文献２に記載の装置はいずれも、モータを駆動した際のセンサ値を取得する評価運転と、評価運転で取得したセンサ値を用いた計算処理とを１回ずつ交互に繰り返し、パラメータの調整作業を自動化している。ここで、計算処理とは、シミュレーション、学習等である。このように、モータの駆動による評価運転と計算処理とを繰り返し行って調整を実行する場合、モータ等を評価運転が開始される前の状態である初期状態に設定する初期化運転が必要とされる場合がある。そして、このような場合において、初期化運転、評価運転及び学習動作を繰り返して、モータを制御する制御指令を調整する自動調整を実行する際に、自動調整に要する時間を短縮することが難しいという課題があった。【０００８】
本発明は、上記を鑑みてなされたものであって、初期化運転、評価運転及び学習動作を繰り返してモータを制御する制御指令を調整する自動調整を実行する際に、自動調整に要する時間を短縮することができるモータ制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係るモータ制御装置は、制御指令に基づいてモータを駆動し、モータとモータに機械的に接続された機械負荷とで構成される制御対象を動作させ、制御対象を初期状態に設定する初期化運転と初期状態から開始されて制御対象を目標距離だけ移動する位置決めである評価運転とを実行する駆動制御部と、評価運転に用いた制御指令と評価運転の際の制御対象の状態を検出した状態センサ信号とを関連付けて学習し、学習した結果に基づき、状態センサ信号を取得した評価運転より後に実行される評価運転に用いる制御指令を決定する学習部と、学習部の動作である学習動作、初期化運転又は評価運転のいずれかひとつである第１の工程を実行するタイミングに基づき、学習動作、初期化運転又は評価運転のいずれかひとつである第２の工程を実行するタイミングを決定する調整管理部とを備える。
【発明の効果】
【００１０】
本発明によれば、初期化運転、評価運転及び学習動作を繰り返してモータを制御する制御指令を調整する自動調整を実行する際に、自動調整に要する時間を短縮することができるモータ制御装置を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１におけるモータ制御装置の構成の一例を示すブロック図である。
【図２】実施の形態１におけるモータ制御装置の動作タイミングの一例を示す図である。
【図３】実施の形態１における調整管理部の動作の一例を示すフロー図である。
【図４】実施の形態１における指令パターンの一例を示す図である。
【図５】実施の形態１における学習部の構成の一例を示すブロック図である。
【図６】実施の形態１における偏差の時間応答の一例を示す図である。
【図７】実施の形態１におけるモータ制御装置が備える処理回路をプロセッサ及びメモリで構成する場合の構成例を示す図である。
【図８】実施の形態１におけるモータ制御装置が備える処理回路を専用のハードウェアで構成する場合の構成例を示す図である。
【図９】実施の形態２におけるモータ制御装置の構成の一例を示すブロック図である。
【図１０】実施の形態２におけるモータ制御装置の動作タイミングの一例を示す図である。
【図１１】実施の形態２における調整管理部の動作の一例を示すフロー図である。
【図１２】実施の形態３におけるモータ制御装置の構成の一例を示すブロック図である。
【図１３】実施の形態３におけるモータ制御装置の動作タイミングの一例を示す図である。
【図１４】実施の形態４におけるモータ制御装置の構成の一例を示すブロック図である。
【図１５】実施の形態４におけるモータ制御装置の動作タイミングの一例を示す図である。
【図１６】実施の形態４における調整管理部の動作の一例を示すフロー図である。
【発明を実施するための形態】
【００１２】
以下に、実施の形態を図面に基づいて詳細に説明する。なお、以下に説明する実施の形態は例示である。また、各実施の形態は、適宜組み合わせて実行することができる。
【００１３】
実施の形態１
【００１４】
図１は、実施の形態１におけるモータ制御装置１０００の構成の一例を示すブロック図である。モータ制御装置１０００は、指令信号１０３に追従させるようにモータ１を駆動する駆動制御部４と、指令パラメータ１０４を取得し指令信号１０３を生成する指令生成部２とを備える。そして、モータ制御装置１０００は、学習開始信号１０６及び状態センサ信号１０１を取得し、学習完了信号１０７及び指令パラメータ１０４を決定する学習部７を備える。さらに、モータ制御装置１０００は、学習完了信号１０７を取得し、学習開始信号１０６及び指令開始信号１０５を決定する調整管理部９を備える。
【００１５】
モータ１は、駆動制御部４から出力される駆動電力Ｅによってトルク、推力等を発生する。モータ１の例としては、回転型サーボモータ、リニアモータ、ステッピングモータ等を挙げることができる。機械負荷３は、モータ１と機械的に接続され、モータ１によって駆動される。モータ１及び機械負荷３を、制御対象２０００とよぶ。機械負荷３として、モータ１の発生するトルク、推力等によって動作する装置を適宜選択することができる。機械負荷３を位置決め制御を実行する装置としてもよい。機械負荷３の例としては、電子部品実装機、半導体製造装置等を挙げることができる。
【００１６】
駆動制御部４は、指令信号１０３に基づき、駆動電力Ｅをモータ１に供給してモータ１を駆動し、モータ１を指令信号１０３に追従させて制御対象２０００を動作させ、評価運転と初期化運転とを実行する。ここで、指令信号１０３は、モータ１の位置、速度、加速度、電流、トルク又は推力のうちの少なくともいずれかひとつとしてもよい。初期化運転は、制御対象２０００を初期状態に設定する運転である。評価運転は、初期状態から開始される運転であり、評価運転の際に取得された状態センサ信号１０１は、後述する学習動作に使用される。駆動制御部４として、モータ１の位置を指令信号１０３に追従させる構成を、適宜採用することができる。例えば、検出したモータ１の位置と、指令信号１０３との差異が小さくなるように、モータ１のトルク又は電流を、ＰＩＤ制御に基づいて算出するフィードバック制御系としてもよい。また、駆動制御部４として、検出した機械負荷３の位置が、指令信号１０３に追従するようにモータ１を駆動するフィードバック制御に、フィードフォワード制御を加えた２自由度制御系を採用してもよい。
【００１７】
指令生成部２は、指令パラメータ１０４に基づき指令信号１０３を生成する。また、指令生成部２は、指令開始信号１０５の示すタイミングに応じて、指令信号１０３を生成する。そして、モータ１は、指令生成部２が指令信号１０３を生成するタイミングに運転を開始する。以上から、モータ１は指令開始信号１０５の示すタイミングに応じて運転を開始する。すなわち、モータ１は、指令開始信号１０５に従って運転を開始する。ここで、評価運転又は初期化運転を運転とよんでいる。初期化運転及び評価運転は、それぞれの運転の指令信号１０３に追従するように実行され、初期化運転及び評価運転の指令信号１０３は、それぞれの運転に用いる指令パラメータ１０４に基づいて生成される。指令生成部２の動作例については、図４を用いて後述する。
【００１８】
状態センサ５は、モータ１又は機械負荷３の少なくともいずれか一方の状態量、すなわち、制御対象２０００の状態量を検出した結果を、状態センサ信号１０１として出力する。状態量の例としては、モータ１についての、位置、速度、加速度、電流、トルク、推力等を挙げることができる。さらに、状態量の例として、機械負荷３についての、位置、速度、加速度等を挙げることができる。状態センサ５の例としては、エンコーダ、レーザ変位計、ジャイロセンサ、加速度センサ、電流センサ、力センサ等を挙げることができる。図１の状態センサ５は、モータ１の位置を状態量として検出するエンコーダであるとして説明を行う。
【００１９】
学習部７は、評価運転に用いた指令パラメータ１０４を、評価運転の際の制御対象２０００の状態を検出した状態センサ信号１０１と関連付けて学習する。そして、状態センサ信号１０１を取得した評価運転より後に実行される評価運転に用いる指令パラメータ１０４を決定する。この学習の開始から指令パラメータ１０４の決定までの学習部７の動作を学習動作とよぶ。また、学習部７は、学習開始信号１０６に従って学習を開始する。ここで、学習開始信号１０６は、学習動作の開始時点を示す信号であり、後述する調整管理部９によって決定される。学習部７はさらに学習完了信号１０７を決定する。学習完了信号１０７は、指令パラメータ１０４が決定された時点、すなわち、学習動作の完了時点を示す。学習部７の詳細な動作については、図５及び図６を用いて後述する。
【００２０】
調整管理部９は、学習完了信号１０７に基づき、評価運転の開始時点を示す指令開始信号１０５の値を決定することによって、学習動作の完了時点に基づき、評価運転の開始時点を決定する。また、図２の動作例では、調整管理部９は、評価運転の完了時点に基づき、学習動作の開始時点を示す学習開始信号１０６と、初期化運転の開始時点を示す指令開始信号１０５とを決定する。なお、後述のように、調整管理部９は、評価運転の開始時点から起算して、あらかじめ定めた時間が経過することを検出し、評価運転の完了時点を検知することができる。言い換えれば、調整管理部９は、評価運転の完了時点に基づき、学習動作及び初期化運転の開始時点を決定する。
【００２１】
図２は、実施の形態１におけるモータ制御装置１０００の動作タイミングの一例を示す図である。図２（ａ）から図２（ｅ）の横軸は時間であり、図２（ａ）から図２（ｅ）の縦軸はそれぞれ、学習動作、動作処理（初期化運転及び評価運転）、学習開始信号１０６、学習完了信号１０７及び指令開始信号１０５である。
【００２２】
指令開始信号１０５、学習開始信号１０６及び学習完了信号１０７の値と、各信号が指示する内容との関係について説明する。図２において、指令開始信号１０５の値が１となる時点に、モータ１は運転を開始する。また、学習開始信号１０６の値が１となる時点に、学習部７は学習動作を開始する。また、学習部７は、学習動作が完了した時点の学習完了信号１０７の値を１に決定する。なお、指令開始信号１０５、学習開始信号１０６及び学習完了信号１０７の各信号の値は、１となった後、次の動作を指示するまでに０へ戻してもよい。上記の各信号は、動作の開始時点、完了時点等を示すものであればよく、上記の形態に限定されるものではない。
【００２３】
評価運転、初期化運転及び学習動作を工程とよぶ。初期化運転、評価運転及び学習動作の各工程を少なくとも１回ずつ含み、周期的に繰り返されるサイクルを学習サイクルとよぶ。図２の学習サイクルには、初期化運転、評価運転及び学習動作の各工程が１回ずつ含まれる。指令パラメータ１０４は、学習サイクルごとに更新してもよい。モータ制御装置１０００は、学習サイクルを繰り返すことによって学習を進める。以下では、学習サイクルを繰り返し実行し、制御対象２０００の最適の動作を与える指令パラメータ１０４を探索する調整動作を自動調整とよぶ。
【００２４】
図３は、実施の形態１における調整管理部９の動作の一例を示すフロー図である。図２及び図３を参照して、モータ制御装置１０００の動作を例示する。自動調整が開始されると、ステップＳ１０１において、調整管理部９は、時刻ＴＬ１１１における学習開始信号１０６の値を１に決定し、学習動作Ｌ１１の開始時点を決定する。学習部７は、学習開始信号１０６に従い、時刻ＴＬ１１１に学習動作Ｌ１１を開始する。なお、学習動作Ｌ１１のように、学習部７が、自動調整の開始後、評価運転の際の状態センサ信号１０１を取得していない状態で学習動作が開始される場合、学習部７は、指令パラメータ１０４を、ランダムに決定してもよい。また、事前の設定に基づいて決定してもよい。ランダムに決定する場合、後述する行動価値関数Ｑを乱数で初期化し、行動ａｔである指令パラメータ１０４をランダムに決定してもよい。
【００２５】
ステップＳ１０２において、調整管理部９は、時刻ＴＬ１１１における指令開始信号１０５の値を１に決定し、初期化運転ＩＮ１１の開始時点を決定する。モータ１は、指令開始信号１０５に従い、時刻ＴＬ１１１に初期化運転ＩＮ１１を開始する。初期化運転ＩＮ１１は学習動作Ｌ１１と並行して実行される。以下で、並行して実行されるとは、２つの工程の少なくとも一部が、時間的に重複して実行される状態を意味する。なお、初期化運転ＩＮ１１に要する時間は、学習動作Ｌ１１に要する時間より短い。そのため、調整管理部９は、待ち時間が延長されない範囲で、すなわち、初期化運転ＩＮ１１の完了が学習動作Ｌ１１の完了より遅くならない範囲で、初期化運転ＩＮ１１の開始時点を学習動作Ｌ１１の開始時点より遅らせてもよい。モータ１は、時刻ＴＬ１１２に初期化運転ＩＮ１１を完了し、初期化運転ＩＮ１１の完了後、待機状態となる。なお、待機状態のモータ１は、所定の位置範囲内に制御してもよく、停止させてもよい。また、電力の供給を止めてもよい。次に、学習部７は、学習動作の完了時点である時刻ＴＬ１１３における学習完了信号１０７の値を１に決定する。
【００２６】
ステップＳ１０３において、調整管理部９は、学習完了信号１０７の値が１となった時点を検出し、時刻ＴＬ１１３を、学習動作Ｌ１１の完了時点として検知する。なお、ステップＳ１０３の動作は、調整管理部９が学習動作の完了時点を検知すればよく、例えば、学習部７が指令パラメータ１０４を出力した時点を検知してもよい。ステップＳ１０４において、調整管理部９は、学習動作の完了時点である時刻ＴＬ１１３に基づき、時刻ＴＬ１１３における指令開始信号１０５の値を１に決定し、評価運転ＥＶ１１（第１の評価運転）の開始時点を決定する。モータ１は、指令開始信号１０５に従い、時刻ＴＬ１１３に評価運転ＥＶ１１を開始する。時刻ＴＬ１１４に評価運転ＥＶ１１が完了すると、モータ１は待機状態となる。
【００２７】
ステップＳ１０５において、調整管理部９は、評価運転ＥＶ１１の開始時点から起算して、あらかじめ定めた時間が経過することを検出し、時刻ＴＬ１２１を、評価運転ＥＶ１１の完了時点として検知する。ここで、上記のあらかじめ定めた時間は、評価運転ＥＶ１１に要する時間の推定値と同じか又はより長い時間とする。なお、本実施の形態では、調整管理部９が評価運転ＥＶ１１の完了時点として検知する時点は、評価運転ＥＶ１１が終了してモータ１が停止する時点とは異なっていることに留意する。ステップＳ１０６において、調整管理部９は、自動調整を続行するか否かの判断を実行する。自動調整を続行すると判断した場合、ステップＳ１０７へと進み、自動調整を続行しないと判断した場合、ステップＳ１０８へ進む。
【００２８】
ステップＳ１０６の判断の方法は、例えば、自動調整の中で実行された学習サイクルの数が、あらかじめ定めた所定の回数より少ない場合、自動調整を続行し、所定の回数と同じである場合、自動調整を続行しないと判断してもよい。また、ステップＳ１０６の直前の評価運転で取得した状態センサ信号１０１が、あらかじめ定めた基準を満たす場合、自動調整を続行しないと判断し、あらかじめ定めた基準を満たさない場合、自動調整を続行すると判断してもよい。この状態センサ信号１０１の基準は、例えば、図６を用いて後述する位置決め動作の収束時間が、あらかじめ定めた時間以下であることを基準としてもよい。
【００２９】
時刻ＴＬ１２１に実行されるステップＳ１０６において、調整管理部９は、自動調整を続行すると判断しステップＳ１０７へと進む。ステップＳ１０７において、調整管理部９は、評価運転ＥＶ１１の完了時点である時刻ＴＬ１２１に基づき、時刻ＴＬ１２１における学習開始信号１０６及び指令開始信号１０５の値を１に決定する。この動作により、学習動作Ｌ１２（第１の学習動作）及び初期化運転ＩＮ１２（第１の初期化運転）の開始時点がそれぞれ決定される。学習部７及びモータ１はそれぞれ、学習開始信号１０６及び指令開始信号１０５に従い、時刻ＴＬ１２１に、学習動作Ｌ１２及び初期化運転ＩＮ１２を開始する。時刻ＴＬ１１１から時刻ＴＬ１２１までを、学習サイクルＣＹＣ１１とする。
【００３０】
以降、ステップＳ１０６において、調整管理部９が自動調整を続行しないと判断するまで、ステップＳ１０３からステップＳ１０７までが繰り返し実行される。そして、学習サイクルＣＹＣ１２のステップＳ１０３において、調整管理部９は、時刻ＴＬ１２３を、学習動作Ｌ１２の完了時点として検知する。そして、学習サイクルＣＹＣ１２のステップＳ１０４において、調整管理部９は、検出した学習動作Ｌ１２の完了時点に基づき、評価運転ＥＶ１２（第２の評価運転）の開始時点を時刻ＴＬ１２３に決定する。
【００３１】
調整管理部９は、時刻ＴＬ１Ｘ１において、学習サイクルＣＹＣ１ＸのステップＳ１０６を実行する。そして、自動調整を続行しないと判断し、ステップＳ１０８へと進む。ステップＳ１０８において、調整管理部９は、時刻ＴＬ１Ｘ１における学習開始信号の値を１より大きい値に決定し、終了処理Ｔ１を学習部７に指示する。終了処理Ｔ１の指示は、学習部７に、終了処理の開始時刻を指示できるものであればよい。例えば、終了処理を指示する時点の学習開始信号１０６の値を、０と１以外の値に決定してもよく、終了処理を指示する時点に、別の信号を学習部７へ出力してもよい。学習部７は、終了処理Ｔ１の開始時点を検知し、終了処理Ｔ１を実行する。
【００３２】
終了処理Ｔ１において、学習部７は、自動調整の中で繰り返し実行した学習動作に基づき、制御対象２０００に最も良い動作をさせる指令パラメータ１０４、すなわち、最適の指令パラメータ１０４を決定してもよい。評価運転として、制御対象２０００を目標距離だけ移動させる位置決めを実行する場合の終了処理Ｔ１を例示する。まず、全ての学習サイクルの評価運転に用いた指令パラメータ１０４のうち、モータ１の位置と目標移動距離との間の差異である偏差が、あらかじめ定めた許容範囲の中に一度入った後、許容範囲の外に出なかった評価運転を選択する。そして、これらの評価運転に用いた指令パラメータ１０４を、最適の指令パラメータ１０４の候補とする。そして、指令パラメータ１０４の候補の中で、評価運転の開始から最も短時間の間に偏差が許容範囲の中に入る評価運転を実行させた指令パラメータ１０４をさらに選択し、最適の指令パラメータ１０４として決定してもよい。上記の偏差については、図４を用いて後述する。
【００３３】
また、学習部７は、評価運転に用いられなかった指令パラメータ１０４を、最適な指令パラメータ１０４として決定してもよい。例えば、全ての学習サイクルの評価運転に用いた指令パラメータ１０４から、偏差があらかじめ定めた時間内に、許容範囲の中に入る動作を実行させた指令パラメータ１０４を選択する。そして、選択された指令パラメータ１０４の平均値を最適な指令パラメータ１０４として決定してもよい。図２の時刻ＴＬ１Ｙ１において、学習部７が終了処理Ｔ１を完了すると、自動調整は終了する。なお、終了処理Ｔ１を省いてもよい。例えば、評価運転ＥＶ１Ｘに用いた指令パラメータ１０４を、最適の指令パラメータ１０４として決定してもよい。
【００３４】
第１の工程及び第２の工程は、評価運転、初期化運転又は学習動作のうちのいずれかひとつであるとする。調整管理部９は、第１の工程を実行するタイミングに基づき、第２の工程を実行するタイミングを決定してもよい。また、第１の工程、第２の工程を実行するタイミングは、それぞれの工程の開始時点又は完了時点としてもよく、開始時点又は完了時点からあらかじめ定めた時間だけずれた時点としてもよい。第１の工程を実行するタイミングに基づき、第２の工程を実行するタイミングを決定することによって、２つの工程の間の間隔を短く調整することが可能となり、モータ１又は学習部７が工程を開始するまでの待ち時間を短縮することができる。
【００３５】
図２の動作例における各工程の関係について述べる。図２の動作例では、学習動作において決定された指令パラメータ１０４を用いて次の評価運転が実行され、評価運転の結果得られた状態センサ信号１０１を用いて次の学習動作が実行される。そのため、学習動作と評価運転とは並行して実行されない。また、一つの制御対象２０００によって、評価運転と初期化運転とが実行されるため、評価運転と初期化運転とは並行して実行されない。一方、初期化運転と学習動作とは、互いに干渉しないため、並行して実行することができる。さらに、図２に示す動作例では、初期化運転に要する時間より、学習動作に要する時間の方が長い。
【００３６】
図２の動作例では、調整管理部９は、評価運転の完了時点に基づき、学習動作の開始時点を示す学習開始信号１０６と、初期化運転の開始時点を示す指令開始信号１０５とを決定する。また、学習動作Ｌ１２及び初期化運転ＩＮ１２が、調整管理部９によって検知された評価運転ＥＶ１１の完了時点に開始され、評価運転ＥＶ１２は、学習動作Ｌ１１の完了時点に開始される。本実施の形態は、このような動作に限定されるものではない。
【００３７】
例えば、評価運転のひとつである評価運転ＥＶ１１（第１の評価運転）を実行し、評価運転ＥＶ１１の際に取得した状態センサ信号１０１を用いて学習動作Ｌ１２を実行し、さらに、初期化運転ＩＮ１２を学習動作Ｌ１２と並行して実行してもよい。そして、学習動作Ｌ１２で決定された指令パラメータ１０４（制御指令）に基づき、初期化運転ＩＮ１２によって設定された初期状態から評価運転ＥＶ１１の次の評価運転である評価運転ＥＶ１２（第２の評価運転）を実行してもよい。各工程を上記のように実行することによって、初期化運転ＩＮ１２及び学習動作Ｌ１１を並行して実行し、工程間のタイミングを調整し、待ち時間を短縮することができる。このように、モータ制御装置１０００又はモータ制御方法を提供してもよい。
【００３８】
また、例えば、調整管理部９は、評価運転ＥＶ１１の完了時点を検知し、検知した評価運転ＥＶ１１の完了時点に基づいて、学習動作Ｌ１２の開始時点及び初期化運転ＩＮ１２の開始時点を決定し、工程間のタイミングを調整し、待ち時間を短縮してもよい。また、例えば、調整管理部９は、学習動作Ｌ１２と初期化運転ＩＮ１２とのうち、より長い時間を要する一方の開始時点を、他方の開始時点と同時か又はより前に決定し、待ち時間を短縮してもよい。また、調整管理部９は、学習動作Ｌ１２又は初期化運転ＩＮ１２のうち、同時か又はより後に完了する一方の完了時点を検知し、検知した完了時点に基づいて、評価運転ＥＶ１２の開始時点を決定し、待ち時間を短縮してもよい。上記に挙げた動作例において、工程の完了時点に基づき次の工程の開始時点を決定する場合には、先の工程の完了時点と次の工程の開始時点との間隔を、実施可能な範囲で短くすることが好適であり、同時又は略同時とすればさらに好適である。
【００３９】
また、調整管理部９は、学習動作Ｌ１１の完了時点を、学習動作Ｌ１１の開始時点からあらかじめ定めた時間が経過することを検出して検知するが、本実施の形態は、このような形態に限定されるものではない。例えば、２つの工程である第１の工程及び第２の工程が実行され、第１の工程が完了してから第２の工程が開始されるまでの間に、初期化運転、評価運転、学習動作のうち少なくともいずれかひとつを含む中間工程が実行される場合がある。このような場合に、調整管理部９は、中間工程に要する時間をあらかじめ推定し、第２の工程の開始時点を、第１の工程の完了時点から起算して、推定した中間工程を実行するのに要する時間が経過した時点より後の時点に決定してもよい。このような動作により、中間工程に要する時間の推定値を目安として、第２の工程の開始時点を調整し、待ち時間を短縮することによって、自動調整に要する時間を低減してもよい。また、図２を用いて説明した動作例のように、調整管理部９は、学習完了信号１０７によって、学習動作の完了時点をより正確に検知し、次の工程の開始のタイミングを正確に決定してもよい。そして、待ち時間を短縮してもよい。
【００４０】
次に、指令生成部２が、指令パラメータ１０４に基づいて指令信号１０３を生成する動作を例示する。図４は、実施の形態１における指令パターンの一例を示す図である。ここで、指令パターンとは、モータ１の指令値を時系列に示すパターンである。この指令パターンの指令値は、モータ１についての、位置、速度、加速度又はジャークのうちのいずれか一つである。上記の指令値は、指令信号１０３の値と同じであってもよい。なお、図４の動作例では、指令信号１０３を時系列に示したものが指令パターンとなっている。
【００４１】
評価運転において、指令パラメータ１０４は、運転条件とともに指令パターンを規定する。言い換えれば、指令パラメータ１０４と運転条件とを指定すれば、指令パターンが一意に確定する。ここで、運転条件は、評価運転の際のモータ１の動作についての制約条件であり、自動調整の中で繰り返し実行される評価運転において一定である。一方、指令パラメータ１０４は、自動調整の中で学習サイクルごとに更新され得る。図１のモータ制御装置１０００では、指令生成部２は、指令パラメータ１０４に基づき指令信号１０３を生成する。このとき、結果として駆動制御部４は、指令パラメータ１０４に基づいてモータ１を駆動している。さらに、駆動制御部４は、指令パターンに基づいてモータ１を駆動してもよい。以上から、指令信号１０３、指令パラメータ１０４又は指令パターンを、モータ１を制御する指令である制御指令とすると、駆動制御部４は、制御指令に基づいてモータ１を駆動する。
【００４２】
図４（ａ）から図４（ｄ）の横軸は時間である。図４（ａ）から図４（ｄ）のそれぞれの縦軸には、モータ１の、位置、速度、加速度及びジャークが示されており、これらは、指令信号１０３である。ここで、速度、加速度及びジャークはそれぞれ、モータ１の位置の、１階微分、２階微分及び３階微分である。横軸と縦軸との交点は、横軸上において評価運転の開始される指令開始時点となる時刻０である。図４の動作例の運転条件は、目標移動距離がＤであるとする。すなわち、モータ１の位置が評価運転の開始時点０において０であり、終端時点となる時刻ｔ＝Ｔ１＋Ｔ２＋Ｔ３＋Ｔ４＋Ｔ５＋Ｔ６＋Ｔ７に、モータ１の位置がＤとする。
【００４３】
図４の指令パターンは、指令開始時点である時刻０から終端時点まで、順に、第１区間から第７区間に区分される。ｎを１から７の自然数として、第ｎ区間の時間長を第ｎ時間長Ｔｎとする。図４の動作例では、第１時間長Ｔ１から第７時間長Ｔ７までの７つのパラメータを、指令パラメータ１０４とする。第２区間及び第６区間の加速度の大きさをそれぞれ、Ａａ及びＡｄとし、これらは、区間内で一定であるとする。加速度の大きさＡａと加速度の大きさＡｄとは、指令パラメータ１０４の従属変数であり、設定自由度が無いことに留意する。
【００４４】
第１区間の時刻ｔ（０≦ｔ＜Ｔ１）における指令信号１０３を、以下のように計算することができる。第１区間の時刻０から第１区間内の時刻ｔまでの間の、ジャーク、加速度Ａ１及び速度Ｖ１のそれぞれを時間で積分したものが、加速度Ａ１、速度Ｖ１及び位置Ｐ１となる。そして、第１区間では一定の割合で加速度が増加し、時刻Ｔ１で加速度の大きさＡａに到達するとしているため、第１区間のジャークは、加速度の大きさＡａをＴ１で除した値となる。以上から、加速度Ａ１、速度Ｖ１及び位置Ｐ１はそれぞれ、（１）式から（３）式のように計算することができる。
【００４５】
【数１】
0006903240.tif 000002
【００４６】
【数２】
0006903240.tif 000003
【００４７】
【数３】
0006903240.tif 000004
【００４８】
また、第２区間の時刻ｔ（Ｔ１≦ｔ＜Ｔ１＋Ｔ２）における指令信号１０３、すなわち、加速度Ａ２、速度Ｖ２及び位置Ｐ２は、第１区間と同様に（４）式から（６）式のように計算することができる。
【００４９】
【数４】
0006903240.tif 000005
【００５０】
【数５】
0006903240.tif 000006
【００５１】
【数６】
0006903240.tif 000007
【００５２】
また、第３区間の時刻ｔ（Ｔ１＋Ｔ２≦ｔ＜Ｔ１＋Ｔ２＋Ｔ３）における指令信号１０３、すなわち、加速度Ａ３、速度Ｖ３及び位置Ｐ３は、第１区間と同様に（７）式から（９）式のように計算することができる。
【００５３】
【数７】
0006903240.tif 000008
【００５４】
【数８】
0006903240.tif 000009
【００５５】
【数９】
0006903240.tif 000010
【００５６】
また、第４区間の時刻ｔ（Ｔ１＋Ｔ２＋Ｔ３≦ｔ＜Ｔ１＋Ｔ２＋Ｔ３＋Ｔ４）における指令信号１０３、すなわち、加速度Ａ４、速度Ｖ４及び位置Ｐ４は、第１区間と同様に、（１０）式から（１２）式のように計算することができる。
【００５７】
【数１０】
0006903240.tif 000011
【００５８】
【数１１】
0006903240.tif 000012
【００５９】
【数１２】
0006903240.tif 000013
【００６０】
また、第５区間の時刻ｔ（Ｔ１＋Ｔ２＋Ｔ３＋Ｔ４≦ｔ＜Ｔ１＋Ｔ２＋Ｔ３＋Ｔ４＋Ｔ５）における指令信号１０３、すなわち、加速度Ａ５、速度Ｖ５及び位置Ｐ５は、第１区間と同様に（１３）式から（１５）式のように計算することができる。
【００６１】
【数１３】
0006903240.tif 000014
【００６２】
【数１４】
0006903240.tif 000015
【００６３】
【数１５】
0006903240.tif 000016
【００６４】
また、第６区間の時刻ｔ（Ｔ１＋Ｔ２＋Ｔ３＋Ｔ４＋Ｔ５≦ｔ＜Ｔ１＋Ｔ２＋Ｔ３＋Ｔ４＋Ｔ５＋Ｔ６）における指令信号１０３、すなわち、加速度Ａ６、速度Ｖ６及び位置Ｐ６は、第１区間と同様に（１６）式から（１８）式のように計算することができる。
【００６５】
【数１６】
0006903240.tif 000017
【００６６】
【数１７】
0006903240.tif 000018
【００６７】
【数１８】
0006903240.tif 000019
【００６８】
また、第７区間の時刻ｔ（Ｔ１＋Ｔ２＋Ｔ３＋Ｔ４＋Ｔ５＋Ｔ６≦ｔ≦Ｔ１＋Ｔ２＋Ｔ３＋Ｔ４＋Ｔ５＋Ｔ６＋Ｔ７）における指令信号１０３、すなわち、加速度Ａ７、速度Ｖ７及び位置Ｐ７は、第１区間と同様に（１９）式から（２１）式のように計算することができる。
【００６９】
【数１９】
0006903240.tif 000020
【００７０】
【数２０】
0006903240.tif 000021
【００７１】
【数２１】
0006903240.tif 000022
【００７２】
そして、終端時点となる時刻ｔ＝Ｔ１＋Ｔ２＋Ｔ３＋Ｔ４＋Ｔ５＋Ｔ６＋Ｔ７において、速度Ｖ７が０に一致し、さらに、位置Ｐ７が目標移動距離Ｄに一致する。そのため、終端時点において、（２２）式、及び（２３）式が成立する。第２区間の加速度の大きさＡａ、及び第６区間の加速度の大きさＡｄは、（２２）式及び（２３）式から決定することができる。
【００７３】
【数２２】
0006903240.tif 000023
【００７４】
【数２３】
0006903240.tif 000024
【００７５】
以上が、指令パラメータ１０４と運転条件とに基づき、指令信号１０３を生成する指令生成部２の動作例である。ここで、第１区間、第３区間、第５区間及び第７区間では、ジャークが非零の一定値である。つまり、第１時間長Ｔ１、第３時間長Ｔ３、第５時間長Ｔ５及び第７時間長Ｔ７は、ジャークが非零の一定値となる時間を指定している。ここで非零の一定値とは、０よりも大きい一定値又は０より小さい一定値を意味する。また、これらの区間では、時間長Tｎに代えて、ジャークの大きさを、指令パラメータ１０４とすることもできる。例えば、第１区間におけるジャークの大きさをＪ１と定めた場合、第１時間長Ｔ１とジャークＪ１とは、（２４）式のような関係を有する。
【００７６】
【数２４】
0006903240.tif 000025
【００７７】
ジャークが非零の一定値となる区間の時間長を指令パラメータ１０４として定めることと、ジャークが非零の一定値となる区間のジャークの大きさを指令パラメータ１０４として定めることとは等価である。上記の例のように、指令パラメータ１０４は、運転条件と組み合わせて指令パターンを決定するものであればよい。ここで挙げた例のように、指令パラメータ１０４の選び方は、同じ運転条件のもとでも複数の選択肢があり得る。そして、指令パラメータ１０４の選び方は、本実施の形態の中で説明する方法に限定されない。
【００７８】
学習部７について説明を行う。図５は、実施の形態１における学習部７の構成の一例を示すブロック図である。学習部７は、報酬計算部７１、価値関数更新部７２、意思決定部７３、学習完了信号決定部７４、指令パラメータ決定部７５及び評価センサ信号決定部７６を備える。報酬計算部７１は、評価センサ信号１０２に基づき、評価運転に用いた指令パラメータ１０４についての報酬ｒを計算する。価値関数更新部７２は、報酬ｒに応じて行動価値関数を更新する。意思決定部７３は、価値関数更新部７２が更新した行動価値関数を用いて、評価運転に用いる指令パラメータ１０４の候補となる評価候補パラメータ１０８を決定する。指令パラメータ決定部７５は、評価候補パラメータ１０８に基づいて評価運転に用いる指令パラメータ１０４を決定する。評価センサ信号決定部７６は、評価運転の際の状態センサ信号１０１から評価センサ信号１０２を決定する。なお、意思決定部７３は、評価候補パラメータ１０８に代えて指令パラメータ１０４を決定してもよい。そして、学習部７から指令パラメータ決定部７５を省いてもよい。
【００７９】
また、学習部７は、指令パラメータ１０４に代えて、指令信号１０３又は指令パターンを学習してもよいため、学習部７は、制御指令を学習してもよい。このような場合、学習部７は、指令パラメータ決定部７５に代えて制御指令決定部を備える。制御指令決定部は、評価候補パラメータ１０８に基づいて、評価運転に用いる制御指令を決定する。なお、指令パターン及び指令信号１０３は、それぞれ単体でモータ１の動きを指定するのに対し、指令パラメータ１０４は、指令パラメータ１０４と運転条件との組み合わせによってモータ１の動きを指定する。そのため、学習部７が指令パターン又は指令信号１０３を学習する場合に比べて、学習部７が指令パラメータ１０４を学習する場合の方が、データ量が少なくなり、学習部７の計算量及び計算時間を減らすことができる。そのため、指令パラメータ１０４を学習する場合、効率よく学習動作を実行することができる。
【００８０】
評価センサ信号決定部７６は、状態センサ信号１０１に、抽出、変換、校正、フィルタリング等の計算処理を施すことによって評価センサ信号１０２を導出してもよい。例えば、状態センサ信号１０１の全体から、評価運転の際の状態センサ信号１０１を時間的に抽出した信号を評価センサ信号１０２としてもよい。ここで、評価運転の開始から完了までの状態センサ信号１０１を抽出してもよく、加えて、評価運転が完了してから予め定めた時間が経過するまでの状態センサ信号１０１を抽出して評価運転の完了直後の振動の影響を評価してもよい。なお、評価センサ信号１０２を決定する際、取得した状態センサ信号１０１に対して校正を施してオフセットを除去する構成としてもよい。また、状態センサ信号１０１がローパスフィルタを通過する構成としてノイズを除去してもよい。これらの信号処理によって、学習動作の精度を向上させてもよい。また、報酬計算部７１を、状態センサ信号１０１に基づいて報酬ｒを計算する構成として、評価センサ信号決定部７６を省くこともできる。
【００８１】
学習部７は、様々な学習アルゴリズムを用いて学習を実行することができる。本実施の形態では、一例として強化学習（Reinforcement Learning）を適用した場合を説明する。強化学習は、ある環境内におけるエージェント（行動主体）が現在の状態を観測し、取るべき行動を決定するというものである。エージェントは行動を選択し、環境から報酬を得る。そして、一連の行動を通じて報酬が最も多く得られるような方策を学習する。強化学習の代表的な手法として、Ｑ学習（Q-Learning）、ＴＤ学習（TD-Learning）等が知られている。例えばＱ学習の場合、行動価値関数Ｑ（ｓ，ａ）の一般的な更新式は、（２５）式で表される。更新式は、行動価値テーブルで表記してもよい。
【００８２】
【数２５】
0006903240.tif 000026
【００８３】
（２５）式において、ｓｔは時刻ｔにおける環境を表し、ａｔは時刻ｔにおける行動をあらわす。行動ａｔによって環境はｓｔ+１に変わる。ｒｔ+１はその環境の変化によってもらえる報酬をあらわし、γは割引率をあらわし、αは学習係数をあらわす。なお、割引率γの値は０より大きく１以下の範囲（０＜γ≦１）、学習係数αの値は０より大きく１以下の範囲（０＜α≦１）とする。Ｑ学習を適用した場合、行動ａｔは、指令パラメータ１０４の決定であるが、実質的に、評価候補パラメータ１０８を決定する動作が行動ａｔとなる場合もある。環境ｓｔは、運転条件、モータ１の初期位置等で構成される。
【００８４】
報酬計算部７１の動作を、図６を用いて例示する。図６は、実施の形態１における偏差の時間応答の一例を示す図である。図６の偏差は、評価運転においてモータ１を動作させた際の目標移動距離とモータ１の位置との差異である。図６の横軸は時間であり、縦軸は偏差である。縦軸と横軸との交点は、縦軸上において偏差が０の状態であり、横軸上において評価運転開始時点となる時刻０である。図６において、ＩＭＰは偏差の許容範囲の限界値であり、機械負荷３に許容される動作精度の誤差の大きさである。
【００８５】
図６（ａ）の偏差は、評価運転開始から時刻Ｔｓｔ１までの間に許容範囲の中に入り、その後、許容範囲の中で振動しながら収束していく。図６（ｂ）の偏差は、評価運転開始から時刻Ｔｓｔ２までの間に許容範囲の中に入り、その後、一旦許容範囲の外に出る。そして、再び許容範囲の中に入る。図６（ｃ）の偏差は、評価運転開始から時刻Ｔｓｔ３までの間に許容範囲の中に入り、その後、許容範囲の中で振動しながら収束する。ここで、時刻Ｔｓｔ１、時刻Ｔｓｔ２及び時刻Ｔｓｔ３の間には、時刻Ｔｓｔ２の値が時刻Ｔｓｔ３の値より小さく、時刻Ｔｓｔ３の値が時刻Ｔｓｔ１の値より小さいという関係がある（Ｔｓｔ１＞Ｔｓｔ３＞Ｔｓｔ２）。図６（ｃ）の偏差は、図６（ａ）及び図６（ｂ）の偏差と比較して、より高速に収束している。
【００８６】
報酬計算部７１が報酬ｒを計算する方法を変更することによって、学習の結果として得られる最適の指令パラメータ１０４の特性を選択することができる。例えば、高速に偏差を収束させる指令パラメータ１０４を学習するため、報酬計算部７１は、動作開始から偏差が許容範囲の中に入るまでの時間が、あらかじめ定めた時間以下の場合に、大きい報酬ｒを与えてもよい。また、動作開始から偏差が許容範囲の中に入るまでの時間が短いほど大きい報酬ｒを与えてもよい。また、報酬計算部７１は、評価運転開始から偏差が許容範囲の中に入るまでの時間の逆数を、報酬ｒとして算出してもよい。また、図３（ｂ）のように、偏差が許容範囲の中に入った後に許容範囲の外に出た場合、小さい報酬ｒを与え、機械負荷３に振動を発生させない指令パラメータ１０４を学習させてもよい。以上が、図６に示す報酬計算部７１の動作例の説明である。
【００８７】
報酬ｒが計算されると、価値関数更新部７２は、報酬ｒに応じて行動価値関数Ｑを更新する。意思決定部７３は、更新された行動価値関数Ｑが最も大きくなる行動ａｔ、すなわち、更新された行動価値関数Ｑが最も大きくなる指令パラメータ１０４を、評価候補パラメータ１０８として決定する。
【００８８】
なお、図１に示すモータ制御装置１０００の説明では、学習部７が用いる学習アルゴリズムを強化学習とした場合について説明したが、本実施の形態の学習アルゴリズムは、強化学習に限定されるものではない。教師あり学習、教師なし学習、半教師あり学習等の学習アルゴリズムを適用することも可能である。また、学習アルゴリズムとして、特徴量そのものの抽出を学習する深層学習（Deep Learning）を用いてもよい。また、他の方法、例えば、ニューラルネットワーク、遺伝的プログラミング、機能論理プログラミング、サポートベクターマシン、ベイズ最適化等に従って機械学習を実行してもよい。
【００８９】
図７は、実施の形態１におけるモータ制御装置１０００が備える処理回路をプロセッサ１０００１及びメモリ１０００２で構成する場合の構成例を示す図である。処理回路がプロセッサ１０００１及びメモリ１０００２で構成される場合、モータ制御装置１０００の処理回路の各機能は、ソフトウェア、ファームウェア、又はソフトウェアとファームウェアとの組み合わせによって実現される。ソフトウェア又はファームウェアはプログラムとして記述され、メモリ１０００２に格納される。処理回路では、メモリ１０００２に記憶されたプログラムをプロセッサ１０００１が読み出して実行することによって、各機能を実現する。すなわち、処理回路は、モータ制御装置１０００の処理が結果的に実行されることになるプログラムを格納するためのメモリ１０００２を備える。また、これらのプログラムは、モータ制御装置１０００の手順および方法をコンピュータに実行させるものであるともいえる。
【００９０】
ここで、プロセッサ１０００１は、ＣＰＵ（Central  Processing  Unit）、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、又はＤＳＰ（Digital  Signal  Processor）等であってもよい。メモリ１０００２は、例えば、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ、ＥＰＲＯＭ（Erasable  Programmable  ROM）、ＥＥＰＲＯＭ（登録商標）（Electrically  EPROM）等の、不揮発性又は揮発性の半導体メモリとしてもよい。また、メモリ１０００２を、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、又はＤＶＤ（Digital  Versatile  Disc）等としてもよい。
【００９１】
図８は、実施の形態１におけるモータ制御装置１０００が備える処理回路を専用のハードウェアで構成する場合の構成例を示す図である。処理回路が専用のハードウェアで構成される場合、図８に示す処理回路１０００３は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）、又はこれらを組み合わせたものとしてもよい。モータ制御装置１０００の機能を、機能ごとに処理回路１０００３によって実現してもよく、複数の機能をまとめて処理回路１０００３によって実現してもよい。なお、モータ制御装置１０００と制御対象２０００とは、ネットワークを介して接続してもよい。また、モータ制御装置１０００は、クラウドサーバ上に存在してもよい。
【００９２】
また、制御対象２０００と同様の制御対象を複数設け、複数の制御対象による評価運転を並行して実行し、効率よく学習を進めてもよい。例えば、図２の評価運転ＥＶ１１の時間内に、複数の制御対象による評価運転を並行して実行させ、指令パラメータと評価センサ信号との組を複数組含むデータを取得する。次に、学習動作Ｌ１２の時間内に、評価運転ＥＶ１１の時間内に取得したデータを用いて行動価値関数Ｑを複数回更新し、指令パラメータを複数決定する。さらに、評価運転ＥＶ１２の時間内に、学習動作Ｌ１２の時間内に決定した複数の指令パラメータを用いて、複数の制御対象による評価運転を実行する。このように学習サイクルを実行すれば、複数の評価運転を並行して実行できる。なお、学習部が、複数の指令パラメータを決定する動作については、実施の形態４に後述する方法を用いてもよい。また、学習サイクルを繰り返す中で、上記の複数の制御対象の一部又は全部を変更してもよく、複数の制御対象を構成する制御対象の数を増減してもよい。
【００９３】
また、制御対象２０００から取得したデータを用いて学習を行ったモータ制御装置１０００を、別の制御対象に接続し、別の制御対象から取得したデータを用いて、さらに学習を実行してもよい。また、本実施の形態の学習の結果を搭載した学習済み学習器を用いてモータ制御装置を構成してもよい。上記の学習済み学習器は、学習によって更新済の行動価値関数Ｑを用いて指令パラメータ１０４を決定する学習済みプログラムによって実現してもよい。また、上記の学習済み学習器を、指令パラメータ１０４の調整の結果を記憶させた学習済みデータによって実現してもよい。学習済み学習器を用いたモータ制御装置によれば、学習結果を利用できるモータ制御装置を短時間で提供することができる。また、本実施の形態に説明した方法によって、モータ制御装置の指令パラメータ１０４の自動調整を実行してもよく、モータ制御装置を製造してもよい。なお、本実施の形態の自動調整は、調整作業の少なくとも一部が自動化されていればよく、人の操作又は人の関与を排除するものではない。
【００９４】
以上から、本実施の形態のモータ制御装置１０００は、駆動制御部４、学習部７及び調整管理部９を備える。駆動制御部４は、指令パラメータ１０４（制御指令）に基づいてモータ１を駆動し、モータ１とモータ１に機械的に接続された機械負荷３とで構成される制御対象２０００を動作させる。そして、初期状態に制御対象２０００を設定する初期化運転と、初期状態から開始される評価運転とを実行する。学習部７は、評価運転に用いた指令パラメータ１０４（制御指令）と、評価運転の際の制御対象２０００の状態を検出した状態センサ信号１０１とを関連付けて学習する。そして、学習した結果に基づき、状態センサ信号１０１を取得した評価運転より後に実行される評価運転に用いる指令パラメータ１０４（制御指令）を決定する。調整管理部９は、初期化運転、評価運転、学習動作のうちのいずれかひとつである第１の工程を実行するタイミングに基づき、初期化運転、評価運転、学習動作のうちのいずれかひとつである第２の工程を実行するタイミングを決定する。以上により、第１の工程と第２の工程の実行されるタイミングを調整して待ち時間を短縮し、効率よく指令パラメータ１０４（制御指令）の調整を実行することができる。
【００９５】
また、本実施の形態のモータ制御方法は、指令パラメータ１０４（制御指令）に基づいてモータ１を駆動し、モータ１とモータ１に機械的に接続された機械負荷３とで構成される制御対象２０００を動作させる。そして、制御対象２０００を初期状態に設定する初期化運転と初期状態から開始される評価運転とを実行する。そして、評価運転に用いた指令パラメータ１０４と評価運転の際の制御対象２０００の状態を検出した状態センサ信号１０１とを関連付けて学習し、学習した結果に基づき、状態センサ信号１０１を取得した評価運転より後に実行される評価運転に用いる指令パラメータ１０４を決定する学習動作を実行する。ここで、学習動作は、学習の開始から指令パラメータ１０４を決定するまでの動作である。そして、学習動作、初期化運転、評価運転のいずれかひとつである第１の工程を実行するタイミングに基づき、学習動作、初期化運転、評価運転のいずれかひとつである第２の工程を実行するタイミングを決定する。このように、効率よく、自動調整を実行できるモータ制御方法を提供してもよい。
【００９６】
また、第２の工程を実行するタイミングを、第１の工程を実行するタイミングと同時か又はより後のタイミングとしてもよい。このようにすれば、検知した第１の工程を実行するタイミングを、第２の工程を実行するタイミングの決定に用い、より確実に工程間の間隔を短くすることができる。また、第１の工程に要する時間等が変化した場合でも、変化に対応して第２の工程を実行するタイミングを調整できる。ここで、第１の工程の完了時点と第２の工程の開始時点の間隔は、実施可能な範囲でできるだけ短くするのが好適であり、第１の工程の完了時点と第２の工程の開始時点を同時又は略同時とすれば、さらに好適である。
【００９７】
以上から、本実施の形態によれば、初期化運転、評価運転及び学習動作を繰り返して、モータを制御する制御指令を調整する自動調整を実行する際に、自動調整に要する時間を短縮することができるモータ制御装置を提供することができる。
【００９８】
実施の形態２
図９は、実施の形態２におけるモータ制御装置１０００ａの構成の一例を示すブロック図である。図９（ａ）は、モータ制御装置１０００ａの全体の構成例を示し、図９（ｂ）は、学習部７ａの構成例を示す。モータ制御装置１０００ａは、実施の形態１の図１に示すモータ制御装置１０００の学習部７に代えて学習部７ａを備え、図１の調整管理部９に代えて調整管理部９ａを備える。学習部７ａの構成は、学習部７の構成から学習完了信号決定部７４を省いたものである。さらに、図９の調整管理部９ａは、状態センサ信号１０１に基づいて評価運転及び初期化運転の完了時点を検知する。そして、図９の調整管理部９ａは、評価運転の開始時点を決定する際に初期化運転の完了時点を用いる。図９に示すモータ制御装置１０００ａの説明において、図１と同じ又は対応する構成要素については、同一の符号を付す。
【００９９】
図１０は、実施の形態２におけるモータ制御装置１０００ａの動作タイミングの一例を示す図である。図１０（ａ）から図１０（ｄ）の横軸は時間であり、図１０（ａ）から図１０（ｄ）の縦軸はそれぞれ、学習動作、動作処理（初期化運転及び評価運転）、学習開始信号１０６、指令開始信号１０５である。指令開始信号１０５及び学習開始信号１０６の各信号の値と、各信号が指示する内容との関係は、実施の形態１の図２において説明したものと同じである。
【０１００】
図１０の動作例では、学習動作に要する時間より、初期化運転に要する時間の方が長い。そして、初期化運転が学習動作より後に完了する。そのため、評価運転の開始時点を、学習動作の完了時点ではなく、初期化運転の完了時点に基づいて決定している。そして、初期化運転及び評価運転の完了時点を、状態センサ信号１０１に基づいて検知する。これらの点が図２の動作例と異なる。
【０１０１】
図１１は、実施の形態２における調整管理部９ａの動作の一例を示すフロー図である。図１０及び図１１を参照してモータ制御装置１０００ａの動作を例示する。自動調整を開始すると、ステップＳ２０１において、調整管理部９ａは、時刻ＴＬ２１１における指令開始信号１０５の値を１に決定し、初期化運転ＩＮ２１の開始時点を時刻ＴＬ２１１に決定する。モータ１は、指令開始信号１０５に従い、時刻ＴＬ２１１に、初期化運転ＩＮ２１を開始する。そして、時刻ＴＬ２１３に、初期化運転ＩＮ２１を完了する。
【０１０２】
ステップＳ２０２において、調整管理部９ａは、時刻ＴＬ２１１における学習開始信号１０６の値を１に決定し、学習動作Ｌ２１の開始時点を時刻ＴＬ２１１に決定する。学習部７ａは、学習開始信号１０６に従い時刻ＴＬ２１１に学習動作Ｌ２１を開始する。そして、時刻ＴＬ２１２に学習動作Ｌ２１を完了する。図２の学習動作Ｌ１１と同様に、学習動作Ｌ２１において学習部７ａは、事前の設定に基づくか又はランダムに、指令パラメータ１０４を決定してもよい。初期化運転ＩＮ２１と学習動作Ｌ２１とは並行して実行される。初期化運転ＩＮ２１に要する時間は、学習動作Ｌ２１に要する時間より長いため、時刻ＴＬ２１３は時刻ＴＬ２１２より後の時点となる。図２の動作例と同様に、待ち時間を延長させない範囲で、学習動作Ｌ２１の開始時点を初期化運転ＩＮ２１の開始時点より遅らせてもよい。
【０１０３】
ステップＳ２０３において、調整管理部９ａは、状態センサ信号１０１に基づいて、時刻ＴＬ２１３を初期化運転ＩＮ２１の完了時点として検知する。ステップＳ２０４において、調整管理部９ａは、検知した初期化運転ＩＮ２１の完了時点に基づき、時刻ＴＬ２１３における指令開始信号１０５の値を１に決定し、評価運転ＥＶ２１（第１の評価運転）の開始時点を決定する。モータ１は、指令開始信号１０５に従い、時刻ＴＬ２１３に評価運転ＥＶ２１を開始する。そして、時刻ＴＬ２２１に評価運転ＥＶ２１を完了する。
【０１０４】
ステップＳ２０５において、調整管理部９ａは、状態センサ信号１０１に基づき、時刻ＴＬ２２１を、評価運転ＥＶ２１の完了時点として検知する。そして、ステップＳ２０６において、図３のステップＳ１０６と同様に、自動調整を続行するか否かの判断を実行する。時刻ＴＬ２２１に実行されるステップＳ２０６において、調整管理部９ａは、自動調整を続行すると判断し、ステップＳ２０７に進む。時刻ＴＬ２１１から時刻ＴＬ２２１までを、学習サイクルＣＹＣ２１とする。
【０１０５】
ステップＳ２０７において、調整管理部９ａは、評価運転ＥＶ２１の完了時点に基づき、時刻ＴＬ２２１における指令開始信号１０５及び学習開始信号１０６の値を、１に決定する。そして、この動作によって、時刻ＴＬ２２１を、初期化運転ＩＮ２２（第１の初期化運転）及び学習動作Ｌ２２（第１の学習動作）の開始時点として決定する。モータ１及び学習部７ａのそれぞれは、指令開始信号１０５及び学習開始信号１０６に従い、初期化運転ＩＮ２２及び学習動作Ｌ２２を開始する。初期化運転ＩＮ２２と学習動作Ｌ２２とは、並行して実行される。
【０１０６】
以降、ステップＳ２０６において調整管理部９ａが自動調整を続行しないと判断するまで、ステップＳ２０３からステップＳ２０７までが繰り返し実行される。そして、学習サイクルＣＹＣ２２のステップＳ２０４において、調整管理部９ａは、初期化運転ＩＮ２２の完了時点であるＴＬ２２３に基づき、時刻ＴＬ２２３における指令開始信号１０５の値を、１に決定する。そして、この動作によって、時刻ＴＬ２２３を評価運転ＥＶ２２（第２の評価運転）の開始時点として決定する。モータ１は、指令開始信号１０５に従い、時刻ＴＬ２２３に評価運転ＥＶ２２を開始する。
【０１０７】
調整管理部９ａは、最終の学習サイクルである学習サイクルＣＹＣ２ＸのステップＳ２０５において、時刻ＴＬ２Ｘ２を、評価運転ＥＶ２Ｘの完了時点として検知する。そして、ステップＳ２０６において、自動調整を続行しないと判断し、ステップＳ２０８へと進む。ステップＳ２０８において、調整管理部９ａは、図３のステップＳ１０８と同様に、学習部７ａに終了処理Ｔ２を指示する。学習部７ａは、図２の終了処理Ｔ１と同様に終了処理Ｔ２を実行する。なお、本実施の形態でも、実施の形態１と同様に、制御対象２０００と同様の複数の制御対象に、並行して評価運転を実行させ、効率よく自動調整を実行してもよい。また、本実施の形態の学習による結果を搭載した学習済み学習器を用いて、モータ制御装置を構成してもよい。また、本実施の形態の学習によって、モータを制御する制御指令の自動調整を実行してもよく、モータ制御装置の製造を実行してもよい。
【０１０８】
また、ステップＳ２０３又はステップＳ２０５において、調整管理部９ａが運転の完了を検知する場合に、モータ１の位置を示す状態センサ信号１０１と目標移動距離との差異である偏差があらかじめ定めた基準値以下になることを検出して運転の完了を検知してもよい。また、偏差が基準値以下となることに加えて、あらかじめ定めた時間の間、偏差が基準値を超えないことを検出した場合に、運転が完了したと判断してもよい。なお、調整管理部９ａは、状態センサ信号１０１に限定されることなく、制御対象２０００の状態を検出した信号を、運転の完了時点の検知に用いることもできる。さらに、指令信号１０３を運転の完了時点の検知に用いることもできる。
【０１０９】
本実施の形態によれば、初期化運転、評価運転及び学習動作を繰り返してモータを制御する制御指令を調整する自動調整を実行する際に、自動調整に要する時間を短縮することができるモータ制御装置を提供することができる。
【０１１０】
評価運転のひとつである評価運転ＥＶ２１（第１の評価運転）を実行し、評価運転ＥＶ２１の際に取得した状態センサ信号１０１を用いて学習動作Ｌ２２（第１の学習動作）を実行してもよい。そして、初期化運転ＩＮ２２（第１の初期化運転）を学習動作Ｌ２２と並行して実行し、初期化運転ＩＮ２２によって設定された初期状態から、学習動作Ｌ２２で決定された指令パラメータ１０４（制御指令）に基づき、評価運転ＥＶ２１の次の評価運転である評価運転ＥＶ２２（第２の評価運転）を実行してもよい。このような動作により、学習動作Ｌ２２及び初期化運転ＩＮ２２を、並行して実行し、自動調整に要する時間を短縮することができる。このようにして、効率良く自動調整を実行できる、モータ制御装置１０００ａ又はモータ制御方法を提供してもよい。
【０１１１】
また、調整管理部９ａは、評価運転ＥＶ２１の完了時点を検知し、検知した完了時点に基づいて、学習動作Ｌ２２の開始時点及び初期化運転ＩＮ２２の開始時点を決定し、工程の間の待ち時間を短縮してもよい。また、調整管理部９ａは、学習動作Ｌ２２と初期化運転ＩＮ２２のうち、より長い時間を要する一方の開始時点を、他方の開始時点と同時か又はより前に決定し、工程の間の待ち時間を短縮してもよい。また、調整管理部９ａは、初期化運転ＩＮ２２及び学習動作Ｌ２２のうち、同時か又はより後に完了する一方の完了時点を検知し、検知した完了時点に基づいて評価運転ＥＶ２２の開始時点を決定し、工程間の待ち時間を短縮してもよい。なお、連続して実行される２つの工程を前の工程と後の工程とすると、前の工程の完了時点と後の工程の開始時点の間隔を実施可能な範囲で短くするのが好適であり、両者を同時又は略同時とすれば、さらに好適である。さらに、駆動制御部４は、モータ１を制御する指令値であって、位置、速度、加速度、電流、トルク又は推力の指令値である指令信号１０３に追従させるようにモータ１を駆動し、評価運転又は初期化運転の完了時点を、制御対象２０００の状態を検出した信号、又は指令信号１０３によって検出し、運転の完了時点を、精度よく検知してもよい。そして、運転に要する時間が変化した場合においても、次の工程の開始時点を正確に決定できることを利用して、自動調整に要する時間を短縮してもよい。上記のようにして、効率良く自動調整を実行できる、モータ制御装置１０００ａ又はモータ制御方法を提供してもよい。
【０１１２】
実施の形態３
図１２は、実施の形態３におけるモータ制御装置１０００ｂの構成の一例を示すブロック図である。図１２（ａ）は、モータ制御装置１０００ｂの全体の構成例を示し、図１２（ｂ）は、学習部７ｂの構成例を示す。モータ制御装置１０００ｂの構成は、学習部７ａに代えて学習部７ｂを備える点を除き、実施の形態２の図９に示すモータ制御装置１０００ａと同じである。本実施の形態の図１２に示す構成要素のうち、実施の形態２の図９に示す構成要素と同じ又は対応する構成要素については、同一の符号を付す。
【０１１３】
学習部７ｂは、図９（ｂ）の学習部７ａの構成要素に加え、学習制限時間決定部７７を備える。学習制限時間決定部７７は、初期化運転に要する時間の推定値を推定初期化運転所要時間として算出する。そして、推定初期化運転所要時間に基づき、学習部７ｂが学習動作を実行する時間である学習時間の上限値を、学習制限時間ＴＬＩＭ１として決定する。学習制限時間決定部７７は、学習制限時間ＴＬＩＭ１を推定初期化運転所要時間と同じか又はより短い時間に決定してもよい。そして、学習部７ｂは、学習制限時間ＴＬＩＭ１と同じか又はより短い時間の間、学習動作を実行してもよい。このように学習動作を実行することによって、初期化運転の完了より前に、学習動作を完了させることができる。ここで、学習部７ｂは、推定初期化運転所要時間を外部から取得してもよい。また、学習部７ｂは、初期化運転に要した時間の実測値を、状態センサ信号１０１、指令信号１０３等から求め、この実測値を用いて、推定初期化運転所要時間を推定又は更新してもよい。
【０１１４】
学習制限時間決定部７７はさらに、基本学習時間ＴＳＬ１をあらかじめ定めてもよい。基本学習時間ＴＳＬ１は、学習時間の下限であり、学習部７ｂは、基本学習時間ＴＳＬ１と同じ長さの時間か又はより長い時間、学習動作を実行してもよい。例えば、基本学習時間ＴＳＬ１を、指令パラメータ１０４を決定するための最小限の時間としてもよく、所望の精度の指令パラメータ１０４を決定するための最小限の時間としてもよい。学習制限時間決定部７７はさらに、基本学習時間ＴＳＬ１と学習制限時間ＴＬＩＭ１とに基づき、基本学習時間ＴＳＬ１と追加学習時間ＴＡＤ１との和が、学習制限時間ＴＬＩＭ１を超えないように追加学習時間ＴＡＤ１を定めてもよい。この条件は、式（２６）で表される。なお、学習制限時間ＴＬＩＭ１は、基本学習時間ＴＳＬ１より長いとしている。
【０１１５】
【数２６】
0006903240.tif 000027
【０１１６】
学習部７ｂは、基本学習時間ＴＳＬ１の間、学習を実行する。そして、さらに追加学習時間ＴＡＤ１の間の学習動作を実行し、指令パラメータ１０４の精度を向上してもよい。学習部７ｂは、基本学習時間ＴＳＬ１を利用し、あらかじめ下限として定めた学習時間の学習を実行することができる。なお、基本学習時間ＴＳＬ１及び追加学習時間ＴＡＤ１を設定せず学習制限時間ＴＬＩＭ１のみを設定してもよい。また、学習制限時間決定部７７は、推定初期化運転所要時間、学習制限時間ＴＬＩＭ１、基本計算時間ＴＳＬ１、追加学習時間ＴＡＤ１等を、記憶装置に格納してもよい。
【０１１７】
次に、学習時間と、学習動作において決定される指令パラメータの精度との関係について述べる。例えば、学習アルゴリズムとしてＱ学習を用いる場合、意思決定部７３は、行動価値関数Ｑの値が大きくなる行動ａｔを、評価候補パラメータ１０８として選択する。この選択を実行する際に、行動価値観数Ｑが連続的な関数である場合等には、意思決定部７３が繰り返し計算を実行する場合がある。このように、学習動作の中で繰り返し計算を実行する場合、意思決定部７３は、計算時間を長く確保し、計算のステップ数を増やすことによって計算精度を向上することができる。以上から、学習動作に繰り返し計算が含まれる場合、本実施の形態の効果がより顕著に発揮される。なお、繰り返し計算の例としては、最急降下法又はニュートン法のように数値的に勾配を求める方法、モンテカルロ法のように確率的要素を用いる方法等を挙げることができる。
【０１１８】
図１３は、実施の形態３におけるモータ制御装置１０００ｂの動作タイミングの一例を示す図である。図１３（ａ）から図１３（ｄ）の横軸は時間であり、図１３（ａ）から図１３（ｄ）の縦軸はそれぞれ、学習動作、動作処理（初期化運転及び評価運転）、学習開始信号１０６及び指令開始信号１０５である。図１３における、指令開始信号１０５及び学習開始信号１０６の信号の値と、各信号が示す動作のタイミングとの関係は、実施の形態１の図２において説明したものと同じである。図１３に示すモータ制御装置１０００ｂの動作は、学習部７ｂの動作を除き、図１０と同じである。図１３において、図１０と同じ又は対応する、運転、学習、学習サイクル、時刻等については、図１０と同一の符合を付す。また、図１３の動作例における調整管理部９ａの動作のフロー図は実施の形態２の図１１と同じである。図１１及び図１３を参照してモータ制御装置１０００ｂの動作例を説明する。
【０１１９】
図１３の動作例において、学習制限時間決定部７７は、初期化運転ＩＮ２１に要した時間の実測値に基づき、推定初期化運転所要時間を算出する。そして、推定初期化運転所要時間と同じか又はより短い時間に、学習制限時間ＴＬＩＭ１を決定する。さらに、学習制限時間決定部７７は、学習時間の下限として基本学習時間ＴＳＬ１を決定し、学習制限時間ＴＬＩＭ１と基本学習時間ＴＳＬ１との差を、追加学習時間ＴＡＤ１とする。
【０１２０】
図１３の動作例では、学習部７ｂの動作のみが実施の形態２の図１０と異なるため、学習サイクルＣＹＣ２２を例に挙げて学習部７ｂの動作について説明する。学習部７ｂは、学習サイクルＣＹＣ２２のステップＳ２０２で決定された学習開始信号１０６に従い、学習動作Ｌ２２（第１の学習動作）を、時刻ＴＬ２２１に開始する。ここで、学習部７ｂは、学習動作Ｌ２２として、部分学習動作Ｌ２２１及び部分学習動作Ｌ２２２を実行する。部分学習動作Ｌ２２１の長さは基本学習時間ＴＳＬ１である。そして、部分学習動作Ｌ２２２の長さは追加学習時間ＴＡＤ１である。さらに、学習部７ｂは、時刻ＴＬ２２１から起算して、基本計算時間ＴＳＬ１及び追加学習時間ＴＡＤ１が経過した時点である時刻ＴＬ２２２に、学習動作Ｌ２２を完了する。ここで、時刻ＴＬ２２２の値は、時刻ＴＬ２２１の値、基本計算時間ＴＳＬ１及び追加学習時間ＴＡＤ１の３つの和に等しく、（２７）式の関係が成り立つ。
【０１２１】
【数２７】
0006903240.tif 000028
【０１２２】
図１３の動作例では、初期化運転の開始時点と学習動作の開始時点とが同時であるが、初期化運転に要する時間が学習動作に要する時間より長い場合、学習動作を、初期化運転より遅れて開始してもよい。学習制限時間決定部７７は、初期化運転ＩＮ２２の開始時点から起算して推定初期化運転所要時間が経過した時点が、学習動作Ｌ２２（第１の学習動作）の開始時点から起算して学習制限時間ＴＬＩＭ１が経過した時点より後になるように学習制限時間ＴＬＩＭ１を決定してもよい。そして、学習部７ｂは、学習動作Ｌ２２を、学習制限時間ＴＬＩＭ１と同じか又はより短い時間の間に実行してもよい。このようにすれば、初期化運転ＩＮ２２の開始時点より学習動作Ｌ２２の開始時点が後となった場合においても、初期化運転ＩＮ２２の完了前に、学習動作Ｌ２２を完了させることができる。このような状況であれば、学習動作Ｌ２２の完了を待つ必要がなく、初期化運転ＩＮ２２の完了直後に、評価運転ＥＶ２２を開始できる。そのため、学習動作Ｌ２２の完了を待つことによる遅れ時間の増加が発生しない。そのため、自動調整に要する時間を短縮することができる。このようにして、効率良く自動調整を実行できる、モータ制御装置１０００ａ又はモータ制御方法を提供してもよい。
【０１２３】
また、学習制限時間決定部７７は、学習制限時間ＴＬＩＭ１に加えて、学習時間の下限である基本学習時間ＴＳＬ１を決定してもよい。そして、学習部７ｂは、基本学習時間ＴＳＬ１と同じか又はより長い時間であって、学習制限時間ＴＬＩＭ１と同じか又は学習制限時間ＴＬＩＭ１より短い時間の間に、学習動作Ｌ２２を実行してもよい。このように学習動作を実行すれば、学習制限時間ＴＬＩＭ１を利用し、あらかじめ下限として定めた学習時間を確保できる。そして、例えば、基本学習時間ＴＳＬ１を、指令パラメータ１０４を得るために最低限必要な時間とすれば、より高い確率で、学習サイクルごとに、指令パラメータ１０４を算出することができる。上記のようにして、効率良く自動調整を実行できる、モータ制御装置１０００ａ又はモータ制御方法を提供してもよい。
【０１２４】
本実施の形態によれば、初期化運転、評価運転及び学習動作を繰り返してモータ１を制御する指令パラメータ１０４（制御指令）を調整する自動調整を実行する際に、自動調整に要する時間を短縮することができるモータ制御装置を提供することができる。
【０１２５】
実施の形態４
図１４は、実施の形態４におけるモータ制御装置１０００ｃの構成の一例を示すブロック図である。図１４（ａ）はモータ制御装置１０００ｃの全体の構成例を示し、図１４（ｂ）は学習部７ｃの構成例を示す。図１４に示すモータ制御装置１０００ｃは、図１に示す実施の形態１のモータ制御装置１０００の学習部７に代えて学習部７ｃを備え、調整管理部９に代えて調整管理部９ｂを備える。さらに、図１のモータ制御装置１０００の構成要素に加えて、学習時間推定部１０を備える。図１４に示すモータ制御装置１０００ｃの説明では、実施の形態１の図１又は図５と同じ又は対応する構成要素については、同一の符号を付す。
【０１２６】
本実施の形態の学習には、様々な学習アルゴリズムを適用することができるが、Q学習による強化学習を用いる場合を例示する。図１４に示す学習部７ｃは、図５に示す実施の形態１の学習部７の意思決定部７３に代えて、意思決定部７３ａを備える。図５の学習部７は、１回の学習動作の中で、評価運転に用いた指令パラメータ１０４と評価運転の際の状態センサ信号１０１との組を１組取得し、指令パラメータ１０４の決定を１回実行する。一方、学習部７ｃは、１回の学習サイクルの中で、上記の組を複数組取得する。そして、報酬計算部７１と価値関数更新部７２とは、取得した組のそれぞれについて、報酬ｒの計算と計算した報酬ｒに基づく行動価値関数Qの更新とを実行する。その結果、学習部７ｃは、１回の学習サイクルの中で、報酬ｒの計算と行動価値関数Qの更新とを、複数回実行する。
【０１２７】
意思決定部７３ａは、上記の複数回の更新が実行された行動価値関数Ｑと、更新に用いた複数組のデータセットに基づき、複数の評価候補パラメータ１０８を決定する。そして、指令パラメータ決定部７５は、決定された評価候補パラメータ１０８に基づき、実行中の学習動作より後の評価運転に用いる指令パラメータ１０４を決定する。
【０１２８】
意思決定部７３ａの動作について説明する。意思決定部７３ａは、価値関数更新部７２が更新した、式（２５）の行動価値関数Ｑ（ｓｔ，ａｔ）を取得する。そして、複数の行動ａｔ、すなわち複数組のデータセットに含まれる複数の指令パラメータ１０４について、対応する行動価値関数Ｑの値を計算する。ここで、行動ａｔ（指令パラメータ１０４）を選択したときに、ある行動価値関数Ｑ（ｓｔ，ａｔ）の値が与えられる場合、行動ａｔ（指令パラメータ１０４）と行動価値関数Ｑ（ｓｔ，ａｔ）の値とは、互いに対応しているとしている。さらに、計算した複数の行動価値関数Ｑの値から、あらかじめ定めた所定の数だけ、大きい順に行動価値関数Ｑの値を選出する。そして、選出した行動価値関数Ｑの値に対応する指令パラメータ１０４を、評価候補パラメータ１０８として決定する。以上が、意思決定部７３ａの動作の一例である。なお、指令パラメータ決定部７５の決定する指令パラメータ１０４の数は、実行中の学習動作の次の学習サイクルにおいて実行される評価運転の回数と同じとしてもよい。
【０１２９】
次に、学習時間推定部１０について説明する。学習時間推定部１０は、実行される学習動作についての学習時間の推定値を推定学習時間として算出し、推定学習時間を示す推定学習時間信号１０９を出力する。なお、学習時間推定部１０は、実行された学習動作についての学習開始信号１０６及び学習完了信号１０７を取得し、学習開始時点と学習完了時点との差から学習時間の実測値を取得してもよい。そして、取得した学習時間の実測値に基づき、実行される学習動作についての学習時間の推定値を、推定学習時間として算出してもよい。また、学習時間推定部１０は、推定学習時間を外部からの入力によって取得してもよく、学習時間の実測値に基づいて推定学習時間を更新してもよい。
【０１３０】
次に、調整管理部９ｂについて説明する。調整管理部９ｂは、学習完了信号１０７に基づき学習開始信号１０６を決定することによって、学習動作の完了時点に基づき次の学習動作の開始時点を決定する。さらに、調整管理部９ｂは、初期化運転に要する時間である初期化運転所要時間と、評価運転に要する時間である評価運転所要時間とをあらかじめ定める。そして、初期化運転及び評価運転の開始時点から起算して、初期化運転所要時間及び評価運転所要時間が経過したことを検出することによって、初期化運転及び評価運転の完了時点をそれぞれ検知する。そして、検知した初期化運転及び評価運転の完了時点に基づき、次に実行される評価運転及び初期化運転の開始時点をそれぞれ決定する。ここで、調整管理部９ｂは、初期化運転及び評価運転の完了時点を、実施の形態２の調整管理部９ａのように、制御対象２０００の状態を検出した信号又は指令信号１０３に基づいて正確に検知してもよい。ここで、初期化運転と、初期化運転によって設定された初期状態から開始される評価運転とで構成されるモータ１の動作を評価運転サイクルとよぶ。調整管理部９ｂは、評価運転の完了時点ごとに、評価運転サイクルを完了するか否かの判断を実行する。以下では、評価運転の完了時点を判断時点とよぶ場合がある。
【０１３１】
図１５は、実施の形態４におけるモータ制御装置１０００ｃの動作タイミングの一例を示す図である。図１５（ａ）から図１５（ｅ）の横軸は時間であり、図１５（ａ）から図１５（ｅ）の縦軸はそれぞれ、学習動作、動作処理（初期化運転及び評価運転）、学習開始信号１０６、学習完了信号１０７及び指令開始信号１０５である。学習開始信号１０６、学習完了信号１０７及び指令開始信号１０５の値と、各信号が示す学習動作又は運転のタイミングとの関係は、実施の形態１の図２において説明したものと同じである。図１６は、実施の形態４における調整管理部９ｂの動作の一例を示すフロー図である。図１５では、１回の学習サイクルの中で、１回の学習動作が実行され、学習動作と並行して、２回の評価運転サイクルが実行されるが、学習動作と並行して実行される評価運転サイクルの数は３回以上であってもよい。
【０１３２】
図１５及び図１６を用いて、モータ制御装置１０００ｃの動作を例示する。自動調整が開始されると、ステップＳ４０１において、調整管理部９ｂは、時刻ＴＬ４１１における学習開始信号１０６の値を１に決定し、時刻ＴＬ４１１を学習動作Ｌ４１（第３の学習動作）の開始時点として決定する。学習部７ｃは、学習開始信号１０６に従い時刻ＴＬ４１１に学習動作Ｌ４１を開始する。ステップＳ４０２において、調整管理部９ｂは、学習動作Ｌ４１の開始時点に基づき、時刻ＴＬ４１１における指令開始信号１０５の値を１に決定し、時刻ＴＬ４１１を初期化運転ＩＮ４１の開始時点として決定する。モータ１は、指令開始信号１０５に従い、初期化運転ＩＮ４１を時刻ＴＬ４１１に開始する。そして、モータ１は、時刻ＴＬ４１２に初期化運転ＩＮ４１を完了し、初期化運転ＩＮ４１の完了後、待機状態となる。ここで、ステップＳ４０２において、調整管理部９ｂは、初期化運転ＩＮ４１の開始時点を決定することによって、１回目の評価運転サイクルＥＣＹＣ１（第１の評価運転サイクル）の開始時点を決定している。
【０１３３】
ステップＳ４０３において、調整管理部９ｂは、時刻ＴＬ４１１から起算して初期化運転所要時間が経過したことを検出し、時刻ＴＬ４１３を初期化運転ＩＮ４１の完了時点として検知する。ステップＳ４０４において、調整管理部９ｂは、検知した初期化運転ＩＮ４１の完了時点に基づき、時刻ＴＬ４１３における指令開始信号１０５の値を１に決定し、時刻ＴＬ４１３を、評価運転ＥＶ４１の開始時点として決定する。モータ１は、指令開始信号１０５に従い、評価運転ＥＶ４１を時刻ＴＬ４１３に開始する。そして、モータ１は、時刻ＴＬ４１４に評価運転ＥＶ４１を完了し、評価運転ＥＶ４１の完了後、待機状態となる。
【０１３４】
ステップＳ４０５において、調整管理部９ｂは、時刻ＴＬ４１３から起算して、評価運転所要時間が経過したことを検出し、時刻ＴＬ４１５を、評価運転ＥＶ４１の完了時点として検知する。ステップＳ４０６において、調整管理部９ｂは、実行中の評価運転サイクルを完了するか否かの判断を実行し、評価運転サイクルを完了しないと判断した場合、ステップＳ４０７へ進み、評価運転サイクルを完了すると判断した場合、ステップＳ４０８へ進む。
【０１３５】
ステップＳ４０６の判断を例示する。調整管理部９ｂは、あらかじめ、１回の評価運転サイクルの所要時間の推定値である推定評価運転サイクル所要時間を定める。調整管理部９ｂは、判断時点において、推定学習時間信号１０９を取得し、学習動作Ｌ４１の開始時点から起算して推定学習時間が経過した時点である推定学習時間経過時点を算出する。さらに、調整管理部９ｂは、評価運転の完了時点である判断時点から推定学習時間経過時点までの時間が、推定評価運転サイクル所要時間より短い場合は、評価運転サイクルＥＣＹＣ１を完了すると判断する。そして、上記の判断時点から推定学習時間経過時点までの時間が、推定評価運転サイクル所要時間より長いか又は同じである場合は、評価運転サイクルＥＣＹＣ１を完了しないと判断する。言い換えれば、調整管理部９ｂは、推定学習時間経過時点までの残り時間の間に、１回の評価運転サイクルを実行できない場合、評価運転サイクルＥＣＹＣ１を完了すると判断する。そして、残り時間の間に１回の評価運転サイクルを実行できる場合、評価運転サイクルＥＣＹＣ１を完了しないと判断する。以上が、ステップＳ４０６の判断の一例である。
【０１３６】
調整管理部９ｂは、時刻ＴＬ４１５のステップＳ４０６の判断において、評価運転サイクルＥＣＹＣ１を完了しないと判断し、ステップＳ４０７へ進む。ステップＳ４０７において、調整管理部９ｂは、評価運転ＥＶ４１の完了時点に基づき、時刻ＴＬ４１５における指令開始信号１０５の値を１に決定し、時刻ＴＬ４１５を初期化運転ＩＮ４２の開始時点として決定する。指令開始信号１０５に従い、モータ１は、時刻ＴＬ４１５に初期化運転ＩＮ４２を開始する。以降、調整管理部９ｂは、ステップＳ４０６において評価運転サイクルＥＣＹＣ１を完了すると判断するまで、ステップＳ４０３からステップＳ４０７までを繰り返し実行する。
【０１３７】
時刻ＴＬ４２１の判断時点において、調整管理部９ｂは、ステップＳ４０６の判断を実行し、評価運転サイクルＥＣＹＣ１を完了すると判断し、ステップＳ４０８に進む。ステップＳ４０８において、調整管理部９ｂは、学習完了信号１０７に基づき、時刻ＴＬ４２１を、学習動作Ｌ４１の完了時点として検知する。次に、ステップＳ４０９において、調整管理部９ｂは、実施の形態１の図３のステップＳ１０６と同様に、自動調整を続行するか否かを判断し、自動調整を続行すると判断した場合、ステップＳ４１０へ進み、自動調整を続行しないと判断した場合、ステップＳ４１１へ進む。調整管理部９ｂは、時刻ＴＬ４２１のステップＳ４０９の判断において、自動調整を続行すると判断する。
【０１３８】
ここで、学習サイクルＣＹＣ４１は、時刻ＴＬ４１１から時刻ＴＬ４２１までの間である。なお、評価運転サイクルＥＣＹＣ１は、学習動作が１回も実行されていない状態から開始される。そのため、評価運転ＥＶ４１及び評価運転ＥＶ４２は、あらかじめ設定された指令パラメータ１０４、又はランダムに決定された指令パラメータ１０４を用いて実行してもよい。また、学習動作Ｌ４１では、実施の形態１の学習動作Ｌ１１と同様に、ランダムに指令パラメータ１０４を決定してもよく、設定に基づいて指令パラメータ１０４を決定してもよい。
【０１３９】
ステップＳ４１０において、調整管理部９ｂは、学習動作Ｌ４１の完了時点に基づき、時刻ＴＬ４２１における学習開始信号１０６の値を１に決定し、時刻ＴＬ４２１を学習動作Ｌ４２（第４の学習動作）の開始時点として決定する。学習部７ｃは、学習開始信号１０６に従い、時刻ＴＬ４２１に学習動作Ｌ４２を開始する。学習動作Ｌ４２は、評価運転サイクルＥＣＹＣ１で用いた指令パラメータ１０４と評価運転サイクルＥＣＹＣ１で取得した状態センサ信号１０１とに基づいて実行される。以降、調整管理部９ｂは、ステップＳ４０９において自動調整を続行しないと判断するまで、ステップＳ４０２からステップＳ４１０までを繰り返し実行する。ここで、評価運転サイクルＥＣＹＣ２（第２の評価運転サイクル）は、学習動作Ｌ４１において決定された指令パラメータ１０４を用いて実行される。また、ステップＳ４０２において、時刻ＴＬ４２１を初期化運転ＩＮ４３の開始時点として決定することによって、調整管理部９ｂは、時刻ＴＬ４２１を評価運転サイクルＥＣＹＣ２の開始時点として決定している。
【０１４０】
学習サイクルＣＹＣ４Ｚの時刻ＴＬ４Ｘ３におけるステップＳ４０９の判断において、調整管理部９ｂは、自動調整を続行しないと判断し、ステップＳ４１１に進む。ステップＳ４１１において、調整管理部９ｂは、実施の形態１の図３のステップＳ１０８と同様に終了処理Ｔ４を指示する。そして、学習部７ｃは、実施の形態１の図２の終了処理Ｔ１と同様に、終了処理Ｔ４を実行する。
【０１４１】
なお、本実施の形態においても、実施の形態１と同様に、制御対象２０００と同様の複数の制御対象に並行して評価運転を実行させ、効率よく自動調整を実行してもよい。例えば、図１５の学習動作Ｌ４１の間に、並行して複数の制御対象に評価運転サイクルを実行させれば、１回の評価運転サイクルの中で、状態センサ信号１０１と指令パラメータ１０４との組をより多く取得できるため、効率よく学習を実行できる。また、本実施の形態の学習の結果を搭載した学習済み学習器を用いて、モータ制御装置を構成してもよい。また、本実施の形態の学習を実行することによって、モータを制御する制御指令の自動調整、モータ制御装置の製造等を実行してもよい。また、効率よく、自動調整を実行できるモータ制御方法を提供してもよい。
【０１４２】
また、学習動作のひとつである学習動作Ｌ４１（第３の学習動作）を実行し、学習動作Ｌ４１と並行して、評価運転サイクルのひとつである評価運転サイクルＥＣＹＣ１（第１の評価運転サイクル）を複数回実行し、さらに、評価運転サイクルＥＣＹＣ１の際に取得した状態センサ信号１０１を用いて、学習動作Ｌ４１の次の学習動作である学習動作Ｌ４２（第４の学習動作）を実行してもよい。そして、学習動作Ｌ４１で決定された指令パラメータ１０４（制御指令）を用いて、評価運転サイクルＥＣＹＣ１の次の評価運転サイクルである評価運転サイクルＥＣＹＣ２（第２の評価運転サイクル）を、学習動作Ｌ４２と並行して複数回実行してもよい。このような動作によって、１回の学習動作の間に、評価運転サイクルを複数回、実行し、指令パラメータ１０４と評価センサ信号１０２との組を効率良く取得し、自動調整に要する時間を短縮してもよい。このようにして、効率良く自動調整を実行できる、モータ制御装置１０００ｃ又はモータ制御方法を提供してもよい。
【０１４３】
また、調整管理部９ｂは、学習動作Ｌ４１の完了時点に基づき学習動作Ｌ４２の開始時点を決定し、学習動作Ｌ４１及び学習動作Ｌ４２の開始時点に基づき、評価運転サイクルＥＣＹＣ１及び評価運転サイクルＥＣＹＣ２の開始時点をそれぞれ決定してもよい。このような動作により、２つの学習動作を実行するタイミングの間の関係を調整してもよく、学習動作を実行するタイミングと評価運転サイクルを実行するタイミングとの関係を調整してもよい。そして、これらにより、待ち時間を短縮してもよい。このようにして、効率良く自動調整を実行できる、モータ制御装置１０００ｃ又はモータ制御方法を提供してもよい。
【０１４４】
また、モータ制御装置１０００ｃは、学習動作Ｌ２１に要する時間を推定学習時間として推定する学習時間推定部１０をさらに備える。そして、調整管理部９ｂは、評価運転サイクルを実行するのに要する時間の推定値を推定評価運転サイクル所要時間としてあらかじめ定めてもよい。さらに、調整管理部９ｂは、評価運転サイクルＥＣＹＣ１が完了した時点である判断時点に、推定学習時間と学習動作Ｌ２１の開始時点から判断時点までに経過した時間との差が、推定評価運転サイクル所要時間と同じか又はより長い場合は、評価運転サイクルＥＣＹＣ１を続行すると判断し、推定評価運転サイクル所要時間より短い場合は、評価運転サイクルＥＣＹＣ１を続行しないと判断してもよい。このような動作により、学習時間の完了時点までに評価運転サイクルを完了させることができる範囲で、評価運転サイクルの数を増やすことができる。また、推定学習時間、推定評価運転サイクル所要時間等が変化した場合に、変化に応じて評価運転サイクルの実行回数を調整することができるため、効率良く自動調整を実行できる。このようにして、効率良く自動調整を実行できる、モータ制御装置１０００ｃ又はモータ制御方法を提供してもよい。
【０１４５】
また、図１５の動作例において、調整管理部９ｂは、初期化運転ＩＮ４１の完了時点を、初期化運転ＩＮ４１の開始時点と初期化運転所要時間とに基づいて決定する。本実施の形態は、このような動作に限定されるものではない。例えば、工程である第１の工程が完了してから、工程である第２の工程が開始されるまでの間に、初期化運転、評価運転又は学習動作のいずれかひとつを含む中間工程が実行される場合がある。このような場合、調整管理部９ｂは、中間工程を実行するのに要する時間をあらかじめ推定し、第２の工程の開始時点を、第１の工程の完了時点から起算して推定した中間工程を実行するのに要する時間が経過した時点より後の時点に決定してもよい。このような動作により、中間工程に要する時間の推定値を目安として、第２の工程の開始時点を調整し、待ち時間を短縮することによって、自動調整に要する時間を低減してもよい。このようにして、効率良く自動調整を実行できる、モータ制御装置１０００ｃ又はモータ制御方法を提供してもよい。
【０１４６】
以上のように、本実施の形態によれば、初期化運転、評価運転及び学習動作を繰り返してモータを制御する制御指令を調整する自動調整を実行する際に、自動調整に要する時間を短縮することができるモータ制御装置を提供することができる。
【符号の説明】
【０１４７】
１  モータ、２  指令生成部、３  機械負荷、４  駆動制御部、７、７ａ、７ｂ、７ｃ  学習部、９、９ａ、９ｂ  調整管理部、１０  学習時間推定部、７７  学習制限時間決定部、１０１  状態センサ信号、１０３  指令信号、１０００、１０００ａ、１０００ｂ、１０００ｃ  モータ制御装置、２０００  制御対象、ＥＣＹＣ１、ＥＣＹＣ２  評価運転サイクル、ＥＶ１１、ＥＶ１２、ＥＶ２１、ＥＶ２２、ＥＶ４１、ＥＶ４２、ＥＶ４３、ＥＶ４４  評価運転、ＩＮ１２、ＩＮ２２、ＩＮ４１、ＩＮ４２、ＩＮ４３、ＩＮ４４  初期化運転、Ｌ１２、Ｌ２２、Ｌ２３、Ｌ４１、Ｌ４２  学習動作、ＴＬＩＭ１  学習制限時間、ＴＳＬ１  基本学習時間。
【要約】
初期化運転、評価運転及び学習動作を繰り返してモータ（１）を制御する制御指令（１０４）を調整する自動調整を実行する際に、自動調整に要する時間を短縮するために、制御指令に基づいてモータを駆動し、モータと機械負荷（３）とで構成される制御対象（２０００）を動作させ、制御対象を初期状態に設定する初期化運転と初期状態から開始される評価運転とを実行する駆動制御部（４）と、評価運転に用いた制御指令と評価運転の際の制御対象の状態を検出した状態センサ信号（１０１）とを関連付けて学習した結果に基づき、評価運転に用いる制御指令を決定する学習部（７）と、学習部（７）の動作である学習動作、初期化運転、評価運転のいずれかひとつである第１の工程を実行するタイミングに基づき、学習動作、初期化運転、評価運転のいずれかひとつである第２の工程を実行するタイミングを決定する調整管理部（９）とを備える。【図１】
0006903240.tif 000029
【図２】
0006903240.tif 000030
【図３】
0006903240.tif 000031
【図４】
0006903240.tif 000032
【図５】
0006903240.tif 000033
【図６】
0006903240.tif 000034
【図７】
0006903240.tif 000035
【図８】
0006903240.tif 000036
【図９】
0006903240.tif 000037
【図１０】
0006903240.tif 000038
【図１１】
0006903240.tif 000039
【図１２】
0006903240.tif 000040
【図１３】
0006903240.tif 000041
【図１４】
0006903240.tif 000042
【図１５】
0006903240.tif 000043
【図１６】
0006903240.tif 000044