(57)【要約】  複数の種類の補正機能を有するモータ駆動装置においてモータを制御するための指令値の補正に用いられる補正パラメータを学習する機械学習装置（１００）は、モータ駆動装置の駆動データおよび補正機能の種類に基づいて計算された特徴量と、補正パラメータとを状態変数として観測する状態観測部（１０１）と、状態変数に基づいて作成される訓練データセットに従って、補正パラメータを補正機能毎に学習する学習部（１０２）と、を備えることを特徴とする。
2019239553.tif 000002
【特許請求の範囲】
【請求項１】
複数の種類の補正機能を有するモータ駆動装置においてモータを制御するための指令値の補正に用いられる補正パラメータを学習する機械学習装置であって、
前記モータ駆動装置の駆動データおよび前記補正機能の種類に基づいて計算された特徴量と、前記補正パラメータとを状態変数として観測する状態観測部と、
前記状態変数に基づいて作成される訓練データセットに従って、前記補正パラメータを前記補正機能毎に学習する学習部と、
を備えることを特徴とする機械学習装置。
【請求項２】
前記駆動データは、前記モータ駆動装置を駆動するモータからのフィードバックデータ、および、前記モータの制御対象である機械装置の駆動データのうち少なくとも１つを含むことを特徴とする請求項１に記載の機械学習装置。
【請求項３】
前記特徴量は、複数次元のベクトル量であり、前記補正機能毎の前記駆動データの特性を示すデータであることを特徴とする請求項１または２に記載の機械学習装置。
【請求項４】
前記学習部は、
前記状態変数に基づいて報酬を計算する報酬計算部と、
前記報酬に基づいて、前記補正パラメータを決定するための関数を更新する関数更新部と、
を有することを特徴とする請求項１から３のいずれか１項に記載の機械学習装置。
【請求項５】
前記関数更新部は、前記補正機能毎に前記関数を更新することを特徴とする請求項４に記載の機械学習装置。
【請求項６】
請求項１から５のいずれか１項に記載の機械学習装置と、
前記複数の種類の補正機能のうちの１つを選択する補正機能選択部と、
前記駆動データを取得する駆動データ取得部と、
選択された前記補正機能と、取得された前記駆動データとに基づき、前記特徴量を抽出する特徴量抽出部と、
前記補正パラメータの調整要件を入力する調整要件入力部と、
前記学習部の学習結果に基づいて、前記調整要件を満たす前記補正パラメータを決定する補正パラメータ決定部と、
を備えることを特徴とする補正パラメータ調整装置。
【請求項７】
前記駆動データは、前記モータ駆動装置を駆動するモータからのフィードバックデータ、および、前記モータの制御対象である機械装置の駆動データのうち少なくとも１つを含むことを特徴とする請求項６に記載の補正パラメータ調整装置。
【請求項８】
前記機械装置の駆動データは、前記機械装置に設置したセンサから取得した検出データであることを特徴とする請求項７に記載の補正パラメータ調整装置。
【請求項９】
前記補正パラメータ決定部は、
前記学習結果に基づいて補正パラメータを計算し、計算した前記補正パラメータを前記モータ駆動装置に送信する補正パラメータ計算部と、
計算した前記補正パラメータによる駆動結果が前記調整要件を満たすか否かを評価する補正パラメータ評価部と、
前記補正パラメータ評価部の評価結果に基づいて、前記補正パラメータの調整を終了するか否かを判定する終了判定部と、
を備えることを特徴とする請求項６から８のいずれか１項に記載の補正パラメータ調整装置。
【請求項１０】
前記補正パラメータ評価部は、実際に前記モータ駆動装置を駆動したときに取得される駆動データ、および、前記モータ駆動装置の動きをシミュレーションしたときに取得される駆動データの少なくとも１つを用いて評価を行うことを特徴とする請求項９に記載の補正パラメータ調整装置。
【請求項１１】
複数の種類の補正機能を有するモータ駆動装置においてモータを制御するための指令値の補正に用いられる補正パラメータを学習する機械学習方法であって、
前記モータ駆動装置の駆動データおよび前記補正機能の種類に基づいて計算された特徴量と、前記補正パラメータとを状態変数として観測するステップと、
前記状態変数に基づいて作成される訓練データセットに従って、前記補正パラメータを前記補正機能毎に学習するステップと、
を含むことを特徴とする機械学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の種類の補正機能を有するモータ駆動装置の補正機能で用いられる補正パラメータを学習する機械学習装置、補正パラメータ調整装置および機械学習方法に関する。
【背景技術】
【０００２】
モータによって駆動されるモータ駆動装置は、例えば、工作機械、産業用機械、ロボット、搬送機である。モータ駆動装置では、工具、加工対象物、ハンドといった制御対象が、与えられた指令値に追従するように制御される。しかしながら、モータ駆動装置を構成する機械構造および機械要素には、さまざまな誤差要因および外乱要因が内在するため、指令値への追従精度が低下することがある。誤差要因は、摺動面の摩擦、構造部材の剛性不足、組み立て誤差、制御の遅れ、モータの発熱などである。このため、誤差を考慮して指令値を補正して用いることが考えられる。指令値の補正量、補正タイミングといった補正条件は、モータ駆動装置の構造の違い、個体差、設置される環境の違いなどによって、最適な値が異なる。【０００３】
作業者が補正条件をモータ駆動装置毎に調整するためには、手間がかかると共に、適した補正条件を調整することができるようになるまでには、習熟期間を要する。このため、補正条件を自動で調整する装置が検討されている。特許文献１には、摩擦の影響によって発生する運動誤差の補正条件を決定するための補正パラメータを用いて、補正条件を自動的に決定する技術が開示されている。この技術では、摩擦の影響によって発生する運動誤差の補正条件を決定するための補正パラメータを変更して、円弧運動中に発生する応答誤差が閾値以下となるまでトルク指令の補正および補正トルクの更新を繰り返し、摩擦補正に関する補正パラメータを自動で決定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−２４７５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１に記載の技術では、単一の補正機能の補正パラメータしか調整するアルゴリズムしかないため、単一の補正機能の補正パラメータしか調整することができない。補正機能の補正パラメータを調整するアルゴリズムの作成は、非常に時間と手間がかかる作業であり、モータ駆動装置が複数の種類の補正機能を有する場合には、各補正機能に合わせて補正パラメータを調整するアルゴリズムを個々に作成する必要があり、アルゴリズムの作成に要す時間と手間が膨大となるという問題があった。【０００６】
本発明は、上記に鑑みてなされたものであって、複数の種類の補正機能を有するモータ駆動装置であっても、モータ駆動装置の指令値の補正条件を決定するための補正パラメータを容易に調整することが可能な機械学習装置および補正パラメータ調整装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、複数の種類の補正機能を有するモータ駆動装置においてモータを制御するための指令値の補正に用いられる補正パラメータを学習する機械学習装置であって、モータ駆動装置の駆動データおよび補正機能の種類に基づいて計算された特徴量と、補正パラメータとを状態変数として観測する状態観測部と、状態変数に基づいて作成される訓練データセットに従って、補正パラメータを補正機能毎に学習する学習部と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明にかかる機械学習装置は、複数の種類の補正機能を有するモータ駆動装置であっても、モータ駆動装置の指令値の補正条件を決定するための補正パラメータを容易に調整することが可能であるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態１にかかる補正パラメータ調整装置の機能構成を示す図
【図２】図１に示す特徴量抽出部の構成を示す図
【図３】図１に示す機械学習装置の構成を示す図
【図４】図１に示す補正パラメータ決定部の構成を示す図
【図５】図１に示すモータ駆動装置の構成を示す図
【図６】図５に示す機械装置の構成を示す図
【図７】図５に示すサーボ制御部の構成を示す図
【図８】図１に示す補正パラメータ調整装置のハードウェア構成例を示す図
【図９】図１に示す補正パラメータ調整装置の動作を示すフローチャート
【図１０】機械学習装置が強化学習を用いる場合の図３に示す学習部の構成を示す図
【図１１】図２に示す機械学習装置が強化学習を使用する場合の学習部の動作を示す図
【図１２】本発明の実施の形態２にかかる補正パラメータ調整装置の構成を示す図
【図１３】本発明の実施の形態３にかかる補正パラメータ調整装置の構成を示す図
【図１４】図１３に示す補正パラメータ決定部の構成を示す図
【発明を実施するための形態】
【００１０】
以下に、本発明の実施の形態にかかる機械学習装置、補正パラメータ調整装置および機械学習方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１１】
実施の形態１．
図１は、本発明の実施の形態１にかかる補正パラメータ調整装置１の機能構成を示す図である。補正パラメータ調整装置１は、機械学習を用いて、モータ駆動装置９９の指令値の補正条件を決定するための補正パラメータを調整する。補正パラメータ調整装置１は、調整要件入力部１１と、補正機能選択部１２と、駆動データ取得部１３と、特徴量抽出部１４と、補正パラメータ決定部１５と、機械学習装置１００とを備える。
【００１２】
調整要件入力部１１は、補正パラメータの調整を終了するか否かを判断するための調整要件の入力を受け付ける。調整要件は、目標とする精度、目標とするタクトタイム、許容しうる最大誤差、調整時間などである。調整要件入力部１１は、複数の調整要件の組み合わせを受け付けることもできる。調整要件入力部１１は、受け付けた調整要件を補正パラメータ決定部１５に入力する。
【００１３】
補正機能選択部１２は、モータ駆動装置９９の有する補正機能の種類と、補正機能の内容を示す情報と、補正機能を実行する際に使用される補正パラメータを示す補正パラメータ情報とが記憶された補正機能情報記憶部１６から、モータ駆動装置９９の有する補正機能の種類と、補正パラメータ情報とを取得し、調整に使用する補正機能を選択する。補正機能とは、ある目的の効果を実現するための動作の単位であり、摩擦の影響によって発生する運動誤差を補正する機能、振動抑制機能、軸間干渉補正機能などである。補正機能の内容を示す情報は、補正対象の誤差要因、補正量を計算するために必要な状態量、補正量を印加する制御量、補正量の演算式、補正量演算に必要な補正パラメータ数などである。補正パラメータ情報は、補正パラメータが依存する状態量などである。
【００１４】
補正機能選択部１２は、予め定められた補正機能の組み合わせを順番に選択してもよいし、操作者から補正機能を選択する入力を受け付けてもよい。補正機能選択部１２は、選択した補正機能の補正パラメータ情報を機械学習装置１００に入力し、補正機能情報を特徴量抽出部１４に入力する。補正機能情報は、選択した補正機能を識別するための情報と、補正機能の内容を示す情報とを含む。
【００１５】
駆動データ取得部１３は、モータ駆動装置９９から学習用駆動データＤｅと、検証用駆動データＤｖとを取得する。学習用駆動データＤｅおよび検証用駆動データＤｖは、モータ駆動装置９９の駆動に関する情報であり、モータの位置指令、速度指令、電流指令といった、モータ駆動装置９９を駆動するモータへの指令情報、位置フィードバック、速度フィードバック、電流フィードバックといったモータ駆動装置９９を駆動するモータからのフィードバックデータ、誤差が存在しない場合の理想的なモータ位置、モータ速度、モータ電流といったモータの状態情報、モータの制御対象である機械装置の駆動データのうち少なくとも１つを含む。また、学習用駆動データＤｅおよび検証用駆動データＤｖは、理想的なモータ位置と実際のモータ位置との差、理想的なモータ速度と実際のモータ速度の差を含んでもよい。学習用駆動データＤｅと検証用駆動データＤｖとは同じ種類のデータであってもよいし、異なる種類のデータであってもよい。駆動データ取得部１３は、取得した学習用駆動データＤｅを特徴量抽出部１４に入力し、取得した検証用駆動データＤｖを補正パラメータ決定部１５に入力する。
【００１６】
特徴量抽出部１４は、駆動データ取得部１３から入力される学習用駆動データＤｅから、補正機能選択部１２より入力される補正機能情報に基づいて、補正機能ごとに特徴量Ｆｖを抽出する。特徴量抽出部１４は、調整対象として選択された補正機能の数と同じ数の特徴量Ｆｖを抽出する。１つの特徴量Ｆｖは、補正機能ごとの駆動データの特性を示すデータであり、一次元のスカラ量ではなく複数次元のベクトル量である。特徴量抽出部１４は、抽出した特徴量Ｆｖを機械学習装置１００に入力する。
【００１７】
図２は、図１に示す特徴量抽出部１４の構成を示す図である。特徴量抽出部１４は、アルゴリズム選択部６１と、アルゴリズム記憶部６２と、特徴量計算部６３とを有する。アルゴリズム選択部６１は、補正機能情報から調整対象となる補正機能を示す情報を取得し、補正機能ごとに学習用駆動データＤｅから特徴量を抽出するために使用するアルゴリズムを選択する。アルゴリズム選択部６１は、補正機能ごとに選択したアルゴリズムを示す計算アルゴリズム選択指令を特徴量計算部６３に入力する。アルゴリズム記憶部６２には、ローパスフィルタ、ハイパスフィルタ、バンドパスフィルタ、バンドエリミネイトフィルタなどの各種フィルタ、運動方向反転位置検出、速度ゼロ近傍検出、コーナ部検出などの運動特徴波形抽出、データ切り取り処理などを実行するための計算アルゴリズムを示す関数群が格納されている。データの切り取りは、データを切り取って切り取った部分を抽出することを指す。特徴量計算部６３は、アルゴリズム選択部６１から入力される計算アルゴリズム選択指令に基づいて、使用する計算アルゴリズムをアルゴリズム記憶部６２から取出して、取出した計算アルゴリズムを用いて、学習用駆動データＤｅから補正機能ごとに特徴量を計算する。
【００１８】
摩擦補正機能については、アルゴリズム選択部６１は、運動方向反転位置検出、運動方向反転時近傍のデータ切り取りを選択する。学習用駆動データＤｅに、位置指令、位置フィードバック、モータ電流、理想的な位置に対する実際の位置のデータが含まれている場合、特徴量計算部６３は、それぞれのデータに関して、選択された計算アルゴリズムを適用して特徴量を算出する。また、振動補正機能については、アルゴリズム選択部６１は、運動停止直後のデータの切り取り、バンドパスフィルタを選択する。
【００１９】
図１の説明に戻る。機械学習装置１００は、補正機能選択部１２から入力される補正機能情報および補正パラメータ情報と、特徴量抽出部１４から入力される特徴量Ｆｖとに基づいて、補正パラメータを特徴量Ｆｖごとに学習する。機械学習装置１００は、モータ駆動装置９９の駆動データに含まれる誤差を抑制するような補正条件を設定可能な補正パラメータを学習する。機械学習装置１００は、学習結果Ｆｒと、補正パラメータ情報とを補正パラメータ決定部１５に入力する。
【００２０】
図３は、図１に示す機械学習装置１００の構成を示す図である。機械学習装置１００は、状態観測部１０１と、学習部１０２とを有する。状態観測部１０１は、補正パラメータ情報および特徴量を用いて、補正パラメータと、補正機能に基づいて抽出された特徴量とを状態変数として観測する。状態観測部１０１は、状態変数に基づいて、補正機能毎に訓練データセットを作成して出力する。学習部１０２は、状態観測部１０１が状態変数に基づいて作成した訓練データセットを用いて、特徴量毎に、つまり、補正機能毎に補正パラメータの学習を行い、学習結果Ｆｒを出力する。学習部１０２が用いる学習アルゴリズムは、ニューラルネットワークのような教師あり学習、教師なし学習、強化学習などである。
【００２１】
図１の説明に戻る。補正パラメータ決定部１５は、機械学習装置１００から入力される学習結果Ｆｒおよび補正パラメータ情報に基づいて、補正パラメータを決定し、決定した補正パラメータをモータ駆動装置９９に設定すると共に、調整要件入力部１１から入力される調整要件と、駆動データ取得部１３から入力される検証用駆動データＤｖとに基づいて、補正パラメータの調整処理を終了するか否かを判定する。
【００２２】
図４は、図１に示す補正パラメータ決定部１５の構成を示す図である。補正パラメータ決定部１５は、補正パラメータ計算部５１と、補正パラメータ評価部５２と、終了判定部５３とを有する。補正パラメータ計算部５１は、機械学習装置１００から入力される学習結果Ｆｒと、補正パラメータ情報とに基づいて、補正機能毎に、学習結果Ｆｒに基づいて補正パラメータを算出する。補正パラメータ評価部５２は、検証用駆動データＤｖに基づいて、現在設定されている補正パラメータの妥当性を評価する。終了判定部５３は、補正パラメータ評価部５２の評価結果と、調整要件入力部１１から入力される調整要件とに基づいて、調整処理を終了するか否かを判断すると共に、補正パラメータ計算部５１が計算した補正パラメータをモータ駆動装置９９に設定する。
【００２３】
ここで、モータ駆動装置９９の構成例について説明する。図５は、図１に示すモータ駆動装置９９の構成を示す図である。モータ駆動装置９９は、モータ２と、機械装置３と、モータ位置検出器４と、指令値生成部５と、サーボ制御部６と、補正量演算部７とを有する。ここでは１つのモータ２しか図示していないが、モータ駆動装置９９は、１つのモータ２を有していてもよいし、２つ以上のモータ２を有していてもよい。
【００２４】
モータ２は、アクチュエータであり、具体的には、回転モータである。モータ２には、機械装置３と、モータ２の位置を検出するモータ位置検出器４とが接続されている。モータ２は、供給されるモータ電流Ｉｍに従って回転し、回転トルクＴｍにより機械装置３を駆動する。
【００２５】
図６は、図５に示す機械装置３の構成を示す図である。機械装置３は、水平に配置されたベッド８９と、ベッド８９に固定される案内機構８６ａ，８６ｂと、案内機構８６ａ，８６ｂによって支持され、可動方向が制限されたテーブル８４とを備える。また、機械装置３は、テーブル８４の一面に設けられた図示しないナットと、テーブル８４とから構成される可動部が組みつけられたボールねじ８２と、ボールねじ８２を保持するボールフロントベアリング８７ａと、リアベアリング８７ｂとを備える。モータ２の回転軸には、リジッドカプリング８８を介してボールねじ８２が連結されている。ここでは、軸受の方式として、ボールフロントベアリング８７ａはアンギュラコンタクト玉軸受で固定され、リアベアリング８７ｂは深溝玉軸受で支持されるシングルアンカ方式が用いられる。
【００２６】
テーブル８４は、案内機構８６ａ，８６ｂによって支持されているため、可動方向以外の運動は制約されている。ここでは、案内機構８６ａ，８６ｂは、剛球を転動体としグリスで潤滑される直動転がり案内機構であるとする。機械装置３は、テーブル８４の位置を検出するテーブル位置検出器８５をさらに備える。テーブル位置検出器８５の具体例としては、リニアエンコーダが挙げられる。テーブル位置検出器８５は、検出したテーブルの位置をフィードバック位置Ｘｆｂとしてサーボ制御部６に入力することができる。
【００２７】
以上説明した機械装置３の構成は一例であり、機械装置３の構成はかかる例に限定されない。後述するように、本実施の形態の補正パラメータ調整装置１は、複数の機械装置３を制御対象とすることが可能である。
【００２８】
図５の説明に戻る。モータ位置検出器４は、モータ２に取り付けられており、モータ２の回転方向の位置を検出する。モータ位置検出器４の具体例としては、ロータリエンコーダが挙げられる。モータ位置検出器４は、検出したモータ２の位置をフィードバック位置Ｘｆｂとしてサーボ制御部６に入力することができる。フィードバック位置Ｘｆｂは、テーブル位置検出器８５が検出したテーブル位置およびモータ位置検出器４が検出したモータ２の位置のうち少なくとも１つである。
【００２９】
なお、テーブル位置検出器８５は、テーブル８４の移動距離を測定することができるのに対して、モータ位置検出器４において直接検出される位置は、モータ２の回転角度である。しかしながら、検出された回転角度にモータ２の１回転あたりのテーブル移動距離であるボールねじリードを乗じて、モータ１回転の角度２π（ｒａｄ）で除することによって、サーボ制御部６は、モータ２の回転角度をテーブル８４の移動方向の長さに換算することができる。このため、モータ位置検出器４またはテーブル位置検出器８５を省略することも可能である。図５では、モータ駆動装置９９がモータ位置検出器４を備え、モータ位置をフィードバック位置Ｘｆｂとしてサーボ制御部６に入力する例を示している。一方、図６では、機械装置３がテーブル位置検出器８５を備える例を示している。
【００３０】
フィードバック位置Ｘｆｂとして、モータ位置検出器４により検出された結果を用いるフィードバック制御をセミクローズドループ制御と呼ぶ。フィードバック位置Ｘｆｂとして、モータ位置検出器４により検出された結果とテーブル位置検出器８５により検出された結果との両方、または、テーブル位置検出器８５により検出された結果のみを使用するフィードバック制御を、フルクローズドループ制御と呼ぶ。
【００３１】
指令値生成部５は、運転プログラムＸｃに基づいてモータ２の位置指令Ｘｒを生成し、生成した位置指令Ｘｒをサーボ制御部６に入力する。ここでは、運転プログラムＸｃは、機械装置３の制御対象の指令位置と指令速度とがＧコードで記述された数値制御用のＮＣ（Numerical  Control）プログラムである。サーボ制御部６への位置指令Ｘｒは、運転プログラムＸｃに加減速処理およびフィルタリング処理を行って生成した時系列の位置指令とする。ここでＧコードとは、数値制御で用いられる命令コードの１つであり、制御対象物の位置決め、直線補間、円弧補間、平面指定などを行う際に記述される指令コードである。
【００３２】
サーボ制御部６は、指令値生成部５から入力される位置指令Ｘｒと、制御対象の位置を示す情報であるフィードバック位置Ｘｆｂと、補正量演算部７から入力される補正量Ｄｃｍｐとに基づいて、フィードバック制御を行ってモータ２を駆動するためのモータ電流Ｉｍを生成し、生成したモータ電流Ｉｍをモータ２へ入力する。
【００３３】
補正量演算部７は、補正機能毎に、駆動データＤｃおよび補正パラメータＰｃに基づいて、位置補正量、速度補正量、電流補正量の３つの状態量から構成される補正量Ｄｃｍｐをサーボ制御部６に出力する。個々で、補正パラメータＰｃおよび駆動データＤｃは、複数の状態量からなるベクトルまたは行列である。例えば、摩擦補正機能であれば、補正量演算部７は、運動方向反転位置からの変位量、速度の状態量、位置補正パラメータ、および速度補正パラメータを用いて、電流補正量を算出する。
【００３４】
図７は、図５に示すサーボ制御部６の構成を示す図である。サーボ制御部６は、微分演算器３１と、位置制御器３２と、速度制御器３３と、電流制御器３４と、駆動データ送信部３５とを有する。
【００３５】
微分演算器３１は、フィードバック位置Ｘｆｂの微分演算を行って、フィードバック速度を算出する。微分演算器３１は、算出したフィードバック速度を速度制御器３３に入力する。
【００３６】
位置制御器３２は、モータ位置検出器４から入力されるフィードバック位置Ｘｆｂと、指令値生成部５から入力される位置指令Ｘｒと、補正量演算部７から入力される補正量Ｄｃｍｐに含まれる位置補正量とに基づいて、速度指令を生成する。具体的には、位置制御器３２は、位置指令とフィードバック位置Ｘｆｂとの差である位置偏差を小さくするように、比例制御などの位置制御処理を実行し、位置補正量に基づいて補正処理を行って速度指令を生成する。位置制御器３２は、生成した速度指令を速度制御器３３に入力する。
【００３７】
速度制御器３３は、微分演算器３１から入力されるフィードバック速度と、位置制御器３２から入力される速度指令と、補正量演算部７から入力される補正量Ｄｃｍｐに含まれる速度補正量とに基づいて、電流指令Ｉｒを生成する。具体的には、速度制御器３３は、速度偏差を小さくするように、比例積分制御などの速度制御処理を実行し、速度補正量に基づいて補正処理を行って電流指令Ｉｒを生成する。速度制御器３３は、生成した電流指令Ｉｒを電流制御器３４に入力する。
【００３８】
電流制御器３４は、速度制御器３３から入力される電流指令Ｉｒと、補正量演算部７から入力される補正量Ｄｃｍｐに含まれる電流補正量とに基づき、モータ電流Ｉｍを生成する。具体的には、電流制御器３４は、出力するモータ電流Ｉｍが入力された電流指令Ｉｒに一致するように、比例積分制御などの電流制御を行う。電流制御器３４は、生成したモータ電流Ｉｍをモータ２に入力する。
【００３９】
駆動データ送信部３５は、サーボ制御部６における各指令値、フィードバック値、補正量などを収集し、駆動データとして出力する。駆動データ送信部３５が出力した駆動データは、補正量演算部７および補正パラメータ調整装置１の駆動データ取得部１３に入力される。
【００４０】
なお、図７では、セミクローズドループ制御を行う例について説明したが、フルクローズドループ制御を行う場合には、フィードバック位置Ｘｆｂのうちモータ位置検出器４の検出値は微分演算器３１に入力され、フィードバック位置Ｘｆｂのうちテーブル位置検出器８５の検出値は、位置制御器３２に入力される。
【００４１】
続いて、本実施の形態のハードウェア構成について説明する。図８は、図１に示す補正パラメータ調整装置１のハードウェア構成例を示す図である。補正パラメータ調整装置１は、演算装置４１と、メモリ４２と、記憶装置４３と、通信装置４４と、入力装置４５と、表示装置４６とを有する。
【００４２】
演算装置４１は、演算処理を行うＣＰＵ（Central  Processing  Unit）をはじめとしたプロセッサである。メモリ４２は、演算装置４１が演算処理の途中で使用するデータを格納するワークエリアとして機能する。記憶装置４３は、コンピュータプログラム、情報などを記憶する。通信装置４４は、補正パラメータ調整装置１の外部との通信機能を有する。入力装置４５は、操作者からの入力を受け付ける。入力装置４５は、キーボード、マウスなどである。表示装置４６は、表示画面を出力する。表示装置４６は、モニタ、ディスプレイなどである。なお、入力装置４５と表示装置４６とが一体化されたタッチパネルが用いられてもよい。
【００４３】
図１に示す調整要件入力部１１、補正機能選択部１２、駆動データ取得部１３、特徴量抽出部１４、補正パラメータ決定部１５および機械学習装置１００の機能は、演算装置４１が記憶装置４３に格納されたコンピュータプログラムを読み出して実行することにより実現される。また、演算装置４１によって調整要件入力部１１および補正機能選択部１２が実現される際には、入力装置４５および表示装置４６が用いられる。また、演算装置４１によって補正機能選択部１２および補正パラメータ決定部１５が実現される際には、通信装置４４が用いられてもよい。
【００４４】
また、補正機能情報記憶部１６は、図１では補正パラメータ調整装置１の外部に設けられている。この場合、補正機能情報記憶部１６は、補正パラメータ調整装置１とネットワークを介して接続されたサーバ、またはクラウド上のサーバなどによって実現される。また、補正機能情報記憶部１６は、補正パラメータ調整装置１の内部に設けられてもよい。この場合、補正機能情報記憶部１６は、記憶装置４３によって実現される。補正パラメータ調整装置１および機械学習装置１００は、その機能の全てまたは一部が隔離された場所に設けられていてもよい。その場合、機械学習装置１００は、ネットワークを介してモータ駆動装置９９に接続される。
【００４５】
図９は、図１に示す補正パラメータ調整装置１の動作を示すフローチャートである。まず、調整要件入力部１１は、操作者が入力装置４５を用いて行う調整要件の入力を受け付ける（ステップＳ１０１）。例えば、調整要件は、目標精度、目標タクトタイムなどである。補正機能選択部１２は、調整要件入力部１１が受け付けた調整要件に従って、調整対象の補正機能を選択する（ステップＳ１０２）。
【００４６】
続いて、補正パラメータ決定部１５は、設定された補正パラメータを使用して、モータ駆動装置９９にモータ２を駆動させる（ステップＳ１０３）。ここで、ステップＳ１０３の動作を１回目に行う際には、設定される補正パラメータは、予め定められた初期設定値、例えばゼロ、前回の調整処理において決定された補正パラメータの値などである。また、２回目以降は、後述するステップＳ１０７において設定された補正パラメータが使用される。駆動データ取得部１３は、モータ２を駆動中の駆動データをモータ駆動装置９９から取得する（ステップＳ１０４）。特徴量抽出部１４は、補正機能ごとに特徴量を抽出する（ステップＳ１０５）。
【００４７】
機械学習装置１００は、発生する誤差を抑制することが可能な補正パラメータを学習する（ステップＳ１０６）。補正パラメータ決定部１５は、機械学習装置１００の学習結果Ｆｒに基づいて、補正パラメータを決定し、決定した補正パラメータをモータ駆動装置９９に設定する（ステップＳ１０７）。補正パラメータ決定部１５は、検証用駆動データＤｖを用いて補正パラメータを評価し、調整要件を満たすか否かを判断する（ステップＳ１０８）。調整要件を満たす場合（ステップＳ１０８：Ｙｅｓ）、補正パラメータ調整装置１は、補正パラメータの調整処理を終了する。調整要件を満たさない場合（ステップＳ１０８：Ｎｏ）、補正パラメータ調整装置１は、ステップＳ１０３から補正パラメータの調整処理を繰り返す。
【００４８】
ここで、機械学習装置１００が強化学習を用いる場合の構成について説明する。強化学習は、ある環境内における行動主体であるエージェントが、現在の状態を観測し、取るべき行動を決定する学習方法である。エージェントは、行動を選択することで環境から報酬を得て、一連の行動を通じて報酬が最も多く得られるような方策を学習する。強化学習の代表的な手法として、Ｑ学習、ＴＤ学習などが知られている。Ｑ学習の場合、行動価値関数Ｑ（ｓ，ａ）の一般的な更新式である行動価値テーブルは、以下の数式（１）で表される。
【００４９】
【数１】
2019239553.tif 000003
【００５０】
数式（１）において、ｓｔは時刻ｔにおける環境を表し、ａｔは時刻ｔにおける行動を表す。行動ａｔにより、環境はｓｔ＋１に変わる。ｒｔ＋１は、その環境の変化によってもらえる報酬を表す。γは、割引率を表す。αは、学習係数を表す。Ｑ学習を適用した場合、環境ｓｔが状態変数となり、行動ａｔが補正パラメータとなる。
【００５１】
数式（１）で表される更新式は、時刻ｔ＋１における最良の行動ａの行動価値が、時刻ｔにおいて実行された行動ａの行動価値関数Ｑよりも大きければ、行動価値関数Ｑを大きくし、逆の場合には、行動価値関数Ｑを小さくする。換言すれば、時刻ｔにおける行動ａの行動価値関数Ｑを、時刻ｔ＋１における最良の行動価値に近づけるように、行動価値関数Ｑ（ｓ，ａ）を更新する。これにより、ある環境における最良の行動価値が、それ以前の環境における行動価値に順次伝搬していくようになる。
【００５２】
図１０は、機械学習装置１００が強化学習を用いる場合の図３に示す学習部１０２の構成を示す図である。学習部１０２は、報酬計算部１０２ａと、関数更新部１０２ｂとを有する。
【００５３】
報酬計算部１０２ａは、状態観測部１０１により観測された状態変数に基づいて報酬を計算する。報酬計算部１０２ａは、補正機能ごとに、報酬を計算する。報酬計算部１０２ａは、補正機能ごとに、補正機能が対象とする誤差を示す特徴量を用いて、報酬増大基準を満たす場合には、報酬ｒを増大させて、例えば「１」の報酬を与える。報酬計算部１０２ａは、報酬減少基準を満たす場合には、報酬ｒを低減して、例えば「−１」の報酬を与える。報酬増大基準は、例えば誤差が閾値よりも小さいことであり、報酬減少基準は、例えば誤差が閾値よりも大きいことである。誤差は、例えば位置の誤差であり、位置の誤差は、位置指令または誤差が存在しない場合の理想的なモータ位置と位置フィードバックとの差分により計算することができる。また、誤差は、速度または電流の誤差であってもよい。
【００５４】
関数更新部１０２ｂは、報酬計算部１０２ａによって計算される報酬に従って、補正パラメータを決定するための関数を更新する。Ｑ学習の場合、数式（１）で表される行動価値関数Ｑ（ｓｔ，ａｔ）を補正パラメータを変更するための関数として用いる。
【００５５】
図１１は、図２に示す機械学習装置１００が強化学習を使用する場合の学習部１０２の動作を示す図である。なお、図１１に示す動作は、図９に示すステップＳ１０５に相当する。
【００５６】
報酬計算部１０２ａは、特徴量に基づいて、報酬増大基準を満たすか否かを判断する（ステップＳ２０１）。報酬増大基準を満たす場合（ステップＳ２０１：Ｙｅｓ）、報酬計算部１０２ａは、報酬を増大させる（ステップＳ２０２）。報酬増大基準を満たさない場合（ステップＳ２０１：Ｎｏ）、報酬計算部１０２ａは、報酬を減少させる（ステップＳ２０３）。
【００５７】
報酬計算部１０２ａが報酬を計算すると、関数更新部１０２ｂは、計算された報酬に基づいて、行動価値関数を更新する（ステップＳ２０４）。ステップＳ２０１からステップＳ２０４に示す動作は、図９のステップＳ１０７において、調整要件が満たされるまで、繰り返して実行される。ステップＳ２０１〜ステップＳ２０４の動作によって、行動価値関数が更新されると、図９のステップＳ１０６では、このときの行動価値関数に基づいて補正パラメータが設定される。調整要件が満たされると、以降はそのときの行動価値関数に基づいて設定された補正パラメータが使用されることになる。
【００５８】
以上、強化学習を使用して機械学習を行う例について説明したが、他の公知の方法、例えば、ニューラルネットワーク、遺伝的プログラミング、機能論理プログラミング、サポートベクターマシンなどに従って機械学習を行ってもよい。
【００５９】
以上説明したように、本発明の実施の形態１にかかる補正パラメータ調整装置１によれば、複数の補正機能毎に補正対象の現象を反映した駆動データを特徴量として抽出し、特徴量毎に補正パラメータを学習する。このように特徴量毎、つまり補正機能毎に補正パラメータを学習する構成により、複数の種類の補正機能を有するモータ駆動装置であっても、モータ駆動装置の指令値の補正条件を決定するための補正パラメータを容易に調整することが可能になる。また、補正パラメータを学習することで、指令値自体または補正量自体を学習する場合と比較して、少ないメモリで効果的な補正を実現することが可能となる。
【００６０】
実施の形態２．
図１２は、本発明の実施の形態２にかかる補正パラメータ調整装置１ａの構成を示す図である。補正パラメータ調整装置１ａは、調整要件入力部１１と、補正機能選択部１２と、駆動データ取得部１３ａと、特徴量抽出部１４と、補正パラメータ決定部１５と、機械学習装置１００とを有する。
【００６１】
実施の形態２にかかる補正パラメータ調整装置１ａは、実施の形態１にかかる補正パラメータ調整装置１の駆動データ取得部１３の代わりに駆動データ取得部１３ａを有する点以外は補正パラメータ調整装置１と同様であるため、以下、実施の形態１と異なる点について主に説明する。補正パラメータ調整装置１ａの調整対象であるモータ駆動装置９９には、センサ２１が設けられる。駆動データ取得部１３ａは、モータ駆動装置９９の制御信号である駆動データに加えて、センサ２１の検出信号を駆動データとして取得する。
【００６２】
センサ２１は、加速度センサ、温度センサ、変位センサなどである。モータ駆動装置９９には、１種類のセンサ２１が取り付けられてもよいし、複数の種類のセンサ２１が取り付けられてもよい。
【００６３】
例えば、センサ２１として加速度センサを用いる場合、機械装置３のテーブル８４に取り付けると、モータ駆動装置９９の制御信号では取得することができない機械装置３のテーブル８４の振動に関する特徴量を抽出して、状態変数として用いることが可能になる。加速度センサの信号を積分すると、テーブル８４の運動軌跡を推定することができ、テーブル８４の運動軌跡を特徴量として抽出して、状態変数として用いることが可能になる。加速度センサをテーブル８４に取り付けることで、例えば、機械先端における摩擦補正機能の効果を高めることができる補正パラメータを調整することが可能になる。さらに、加工中の加速度と非加工中の加速度とをそれぞれ抽出することで、加工外乱を抑制する補正機能の補正パラメータを調整することが可能になる。
【００６４】
さらに、センサ２１として、加速度センサ、温度センサおよび変位センサを用いる場合には、熱変位に関する補正機能の補正パラメータを高精度に調整するとが可能になる。以上説明したように、センサ２１の検出信号を用いることで、モータ駆動装置９９の制御信号である駆動データだけでは取得することができない情報を得ることができ、補正パラメータの調整精度を向上させることが可能になる。
【００６５】
実施の形態３．
図１３は、本発明の実施の形態３にかかる補正パラメータ調整装置１ｂの構成を示す図である。補正パラメータ調整装置１ｂは、調整要件入力部１１と、補正機能選択部１２と、駆動データ取得部１３ｂと、特徴量抽出部１４と、補正パラメータ決定部１５ｂとを有する。
【００６６】
補正パラメータ調整装置１ｂは、補正パラメータ調整装置１ａの駆動データ取得部１３ａの代わりに駆動データ取得部１３ｂを有し、補正パラメータ決定部１５の代わりに補正パラメータ決定部１５ｂを有する。以下、補正パラメータ調整装置１ａと異なる部分について主に説明する。
【００６７】
駆動データ取得部１３ｂは、駆動データ取得部１３ａと同様に、モータ駆動装置９９の制御信号だけでなく、センサ２１の検出信号を駆動データとして取得する。また、駆動データ取得部１３ｂは、学習用駆動データＤｅを特徴量抽出部１４に入力し、検証用駆動データＤｖを補正パラメータ決定部１５ｂに入力しない。
【００６８】
補正パラメータ決定部１５ｂは、調整要件入力部１１から入力される調整要件と、機械学習装置１００から入力される学習結果Ｆｒおよび補正パラメータ情報とに基づいて、補正パラメータを決定すると共に、補正パラメータの調整処理を終了するか否かを判断する。
【００６９】
図１４は、図１３に示す補正パラメータ決定部１５ｂの構成を示す図である。補正パラメータ決定部１５ｂは、補正パラメータ計算部５１ｂと、シミュレーション部５４と、補正パラメータ評価部５２ｂと、終了判定部５３ｂとを有する。
【００７０】
補正パラメータ計算部５１ｂは、機械学習装置１００から入力される学習結果Ｆｒと、補正パラメータ情報とに基づいて、補正機能毎に、学習結果Ｆｒを近似する補正パラメータを計算する。補正パラメータ計算部５１ｂは、計算した補正パラメータをシミュレーション部５４と、終了判定部５３ｂとに入力する。
【００７１】
シミュレーション部５４は、補正パラメータ計算部５１ｂから入力される補正パラメータを用いて、駆動シミュレーションを実行する。シミュレーション部５４は、シミュレーション結果を補正パラメータ評価部５２ｂに入力する。
【００７２】
補正パラメータ評価部５２ｂは、シミュレーション部５４から入力されるシミュレーション結果に含まれる駆動データを評価し、評価結果を終了判定部５３ｂに入力する。終了判定部５３ｂは、調整要件と評価結果とを比較して、補正パラメータの調整処理を終了するか否かを判断する。
【００７３】
以上説明したように、本発明の実施の形態３にかかる補正パラメータ調整装置１ｂは、補正パラメータ決定部１５ｂが、補正パラメータを用いて駆動シミュレーションを実行するシミュレーション部５４を有するため、実際にモータ駆動装置９９を駆動せずに補正パラメータの検証を行うことが可能になる。このため、補正パラメータの調整に要する時間を短縮することが可能になる。
【００７４】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【００７５】
１，１ａ，１ｂ  補正パラメータ調整装置、２  モータ、３  機械装置、４  モータ位置検出器、５  指令値生成部、６  サーボ制御部、７  補正量演算部、１１  調整要件入力部、１２  補正機能選択部、１３，１３ａ，１３ｂ  駆動データ取得部、１４  特徴量抽出部、１５，１５ｂ  補正パラメータ決定部、１６  補正機能情報記憶部、２１  センサ、３１  微分演算器、３２  位置制御器、３３  速度制御器、３４  電流制御器、３５  駆動データ送信部、４１  演算装置、４２  メモリ、４３  記憶装置、４４  通信装置、４５  入力装置、４６  表示装置、５１，５１ｂ  補正パラメータ計算部、５２，５２ｂ  補正パラメータ評価部、５３，５３ｂ  終了判定部、５４  シミュレーション部、６１  アルゴリズム選択部、６２  アルゴリズム記憶部、６３  特徴量計算部、８２  ボールねじ、８４  テーブル、８５  テーブル位置検出器、８６ａ，８６ｂ  案内機構、８７ａ  ボールフロントベアリング、８７ｂ  リアベアリング、８８  リジッドカプリング、８９  ベッド、９９  モータ駆動装置、１００  機械学習装置、１０１  状態観測部、１０２  学習部、１０２ａ  報酬計算部、１０２ｂ  関数更新部。
【図１】
2019239553.tif 000004
【図２】
2019239553.tif 000005
【図３】
2019239553.tif 000006
【図４】
2019239553.tif 000007
【図５】
2019239553.tif 000008
【図６】
2019239553.tif 000009
【図７】
2019239553.tif 000010
【図８】
2019239553.tif 000011
【図９】
2019239553.tif 000012
【図１０】
2019239553.tif 000013
【図１１】
2019239553.tif 000014
【図１２】
2019239553.tif 000015
【図１３】
2019239553.tif 000016
【図１４】
2019239553.tif 000017
【手続補正書】
【提出日】平成31年4月4日(2019.4.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の種類の補正機能を有するモータ駆動装置においてモータを制御するための指令値の補正に用いられる補正パラメータを学習する機械学習装置であって、
前記モータ駆動装置の駆動データおよび前記補正機能の種類に基づいて計算された特徴量と、前記補正パラメータとを状態変数として観測する状態観測部と、
前記状態変数に基づいて作成される訓練データセットに従って、前記補正パラメータを前記補正機能毎に学習する学習部と、
を備えることを特徴とする機械学習装置。
【請求項２】
前記駆動データは、前記モータ駆動装置を駆動するモータからのフィードバックデータ、および、前記モータの制御対象である機械装置の駆動データのうち少なくとも１つを含むことを特徴とする請求項１に記載の機械学習装置。
【請求項３】
前記特徴量は、複数次元のベクトル量であり、前記補正機能毎の前記駆動データの特性を示すデータであることを特徴とする請求項１または２に記載の機械学習装置。
【請求項４】
前記学習部は、
前記状態変数に基づいて報酬を計算する報酬計算部と、
前記報酬に基づいて、前記補正パラメータを決定するための関数を更新する関数更新部と、
を有することを特徴とする請求項１から３のいずれか１項に記載の機械学習装置。
【請求項５】
前記関数更新部は、前記補正機能毎に前記関数を更新することを特徴とする請求項４に記載の機械学習装置。
【請求項６】
請求項１から５のいずれか１項に記載の機械学習装置と、
前記複数の種類の補正機能のうちの１つを選択する補正機能選択部と、
前記駆動データを取得する駆動データ取得部と、
選択された前記補正機能と、取得された前記駆動データとに基づき、前記特徴量を抽出する特徴量抽出部と、
前記補正パラメータの調整要件を入力する調整要件入力部と、
前記学習部の学習結果に基づいて、前記調整要件を満たす前記補正パラメータを決定する補正パラメータ決定部と、
を備えることを特徴とする補正パラメータ調整装置。
【請求項７】
前記駆動データは、前記モータ駆動装置を駆動するモータからのフィードバックデータ、および、前記モータの制御対象である機械装置の駆動データのうち少なくとも１つを含むことを特徴とする請求項６に記載の補正パラメータ調整装置。
【請求項８】
前記機械装置の駆動データは、前記機械装置に設置したセンサから取得した検出データであることを特徴とする請求項７に記載の補正パラメータ調整装置。
【請求項９】
前記補正パラメータ決定部は、
前記学習結果に基づいて補正パラメータを計算し、計算した前記補正パラメータを前記モータ駆動装置に送信する補正パラメータ計算部と、
計算した前記補正パラメータによる駆動結果が前記調整要件を満たすか否かを評価する補正パラメータ評価部と、
前記補正パラメータ評価部の評価結果に基づいて、前記補正パラメータの調整を終了するか否かを判定する終了判定部と、
を備えることを特徴とする請求項６から８のいずれか１項に記載の補正パラメータ調整装置。
【請求項１０】
前記補正パラメータ評価部は、実際に前記モータ駆動装置を駆動したときに取得される駆動データ、および、前記モータ駆動装置の動きをシミュレーションしたときに取得される駆動データの少なくとも１つを用いて評価を行うことを特徴とする請求項９に記載の補正パラメータ調整装置。
【請求項１１】
複数の種類の補正機能を有するモータ駆動装置においてモータを制御するための指令値の補正に用いられる補正パラメータを学習する機械学習方法であって、
機械学習装置が、前記モータ駆動装置の駆動データおよび前記補正機能の種類に基づいて計算された特徴量と、前記補正パラメータとを状態変数として観測するステップと、
前記機械学習装置が、前記状態変数に基づいて作成される訓練データセットに従って、前記補正パラメータを前記補正機能毎に学習するステップと、
を含むことを特徴とする機械学習方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
【図１】本発明の実施の形態１にかかる補正パラメータ調整装置の機能構成を示す図
【図２】図１に示す特徴量抽出部の構成を示す図
【図３】図１に示す機械学習装置の構成を示す図
【図４】図１に示す補正パラメータ決定部の構成を示す図
【図５】図１に示すモータ駆動装置の構成を示す図
【図６】図５に示す機械装置の構成を示す図
【図７】図５に示すサーボ制御部の構成を示す図
【図８】図１に示す補正パラメータ調整装置のハードウェア構成例を示す図
【図９】図１に示す補正パラメータ調整装置の動作を示すフローチャート
【図１０】機械学習装置が強化学習を用いる場合の図３に示す学習部の構成を示す図
【図１１】図３に示す機械学習装置が強化学習を使用する場合の学習部の動作を示す図
【図１２】本発明の実施の形態２にかかる補正パラメータ調整装置の構成を示す図
【図１３】本発明の実施の形態３にかかる補正パラメータ調整装置の構成を示す図
【図１４】図１３に示す補正パラメータ決定部の構成を示す図
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００５５
【補正方法】変更
【補正の内容】
【００５５】
図１１は、図３に示す機械学習装置１００が強化学習を使用する場合の学習部１０２の動作を示す図である。なお、図１１に示す動作は、図９に示すステップＳ１０５に相当する。
【国際調査報告】
2019239553.tif 000018
2019239553.tif 000019