(57)【要約】【課題】機械学習により得られた係数を使った数式モデルから出力された異常な値により、制御対象を制御することの防止が可能な制御装置を提供する。【解決手段】制御部１１０を備え、制御部１１０は、指令値から第２の指令値への第１補正量を計算する第１補正量計算部１１３と、指令値から第２の指令値への第２補正量を計算する第２補正量計算部１１４と、第１補正量と第２補正量のうち一方を選択する補正量選択部１１６と、を備え、第１補正量計算部１１３は、機械学習により構成された第１数式モデルを用いて第１補正量を計算し、第２補正量計算部１１４は、第１補正量計算部１１３とは異なる方法で構成された第２数式モデルを用いて第２補正量を計算する。【選択図】図２
2018180778.tif 000002
【特許請求の範囲】
【請求項１】
工作機械、ロボット、産業機械のサーボモータ、スピンドルモータを制御する制御装置において、
制御部を備え、
前記制御部は、
指令値から第２の指令値への第１補正量を計算する第１補正量計算部と、
前記指令値から前記第２の指令値への第２補正量を計算する第２補正量計算部と、
前記第１補正量と前記第２補正量のうち一方を選択する補正量選択部と、
を備え、
前記第１補正量計算部は、第１の数式モデルに基づくものであり、前記第１の数式モデルのパラメータが機械学習により決められたものであり、
前記第２補正量計算部は、第２の数式モデルに基づくものであり、前記第２の数式モデルのパラメータが第１補正量計算部とは異なる方法で決められたものである、制御装置。
【請求項２】
前記制御部は、さらに、
前記第１補正量計算部により計算された第１補正量と前記第２補正量計算部により計算された第２補正量とを比較する補正量比較部と
前記補正量比較部による比較結果に基づいて、異常を検知する異常検知部と、
を備える、請求項１に記載の制御装置。
【請求項３】
前記異常検知部は、前記第１補正量計算部により計算された第１補正量と前記第２補正量計算部により計算された第２補正量との差の絶対値が予め設定された所定値以上又は所定値を超える場合に、異常を検知する、請求項２に記載の制御装置。
【請求項４】
前記異常検知部は、前記第１補正量計算部により計算された第１補正量と前記第２補正量計算部により計算された第２補正量との比の絶対値が予め設定された所定値以上又は所定値を超える場合に、異常を検知する、請求項２に記載の制御装置。
【請求項５】
前記異常検知部が前記異常を検知した場合に、前記補正量選択部は、前記指令値から作成した補正量として前記第２補正量計算部により計算された第２補正量を選択する、請求項２〜４のいずれか１項に記載の制御装置。
【請求項６】
前記制御部は、さらに、
前記異常検知部が前記異常を検知した場合に、前記制御装置の外部へワーニングを出力するワーニング出力部をさらに備える、請求項２〜５のいずれか１項に記載の制御装置。
【請求項７】
前記制御部は、さらに、
前記異常検知部が前記異常を検知した場合に、アラームを出力し、前記制御装置の動作を停止する停止部を備える、請求項２〜５のいずれか１項に記載の制御装置。
【請求項８】
前記第２の数式モデルの次数は、前記第１の数式モデルの次数以下である、請求項１〜７のいずれか１項に記載の制御装置。
【請求項９】
前記指令値は位置指令値であり、前記第２の指令値が速度指令値又は電流指令値である、請求項１〜８のいずれか１項に記載の制御装置。
【請求項１０】
前記指令値は速度指令値であり、前記第２の指令値が電流指令値である、請求項１〜８のいずれか１項に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械、ロボット、産業機械のサーボモータ、スピンドルモータを制御する制御装置に関する。
【背景技術】
【０００２】
このような制御装置においては、フィードフォワード制御を行うことにより、指令を補正する技術が知られている。例えば、フィードフォワード制御には、位置指令値から速度指令の補正量を作成するフィードフォワード制御、位置指令値から電流指令の補正量を作成するフィードフォワード制御、速度指令値から、電流指令の補正量を作成するフィードフォワード制御等がある。
これらのフィードフォワード制御を使用することで、外乱がない状態で、位置指令値に対する位置偏差（＝位置指令値−位置フィードバック）、速度指令値に対する速度偏差（＝速度指令値−速度フィードバック）を小さくすることができる。これにより、位置指令又は速度指令に対する追従性を高くすることができる。すなわち、位置偏差が０又はある範囲内に収まるまでの時間が短くなる。
【０００３】
これらのフィードフォワード制御の数式モデルは次数が高い方が加速度変化、加加速度変化に対する位置偏差及び速度偏差を小さくすることができる。しかし、次数が高い数式モデルのパラメータを決めるのは難しいため、機械学習を利用して数式モデルの係数の設定を行うことがある。
【０００４】
例えば、出願人は、位置指令値から電流指令の補正量を作成するフィードフォワード制御を用いた制御装置において、位置偏差を低減して、位置指令に対する追従性を向上させるためにフィードフォワードを高次のものにした場合に、高次のフィードフォワードの係数の煩雑な調整を回避できる機械学習装置及び機械学習方法を、特願２０１７−０４９６０８号で開示した。
【０００５】
具体的には、数式１（以下に数１として示す）に示す伝達関数Ｇｆ（ｓ）で示されるフィードフォワード計算処理を行い、位置指令値から電流指令値への補正量を算出する処理において、制御パラメータａｉ、ｂｊを機械学習（強化学習）により算出することで、機械学習に基づいて補正量計算部を算出した。
【数１】
2018180778.tif 000003
【０００６】
具体的には、状態ｓ、行動ａ、報酬ｒを次のように定義して強化学習（Ｑ−ｌｅａｒｎｉｎｇ）を行うこととした。
【０００７】
状態ｓを、制御パラメータａｉ、ｂｊ（ｉ，ｊ≧０）の値、並びに複数の評価用プログラムを制御装置で実行することにより取得されるサーボ制御部の位置偏差情報を含む、指令及びフィードバック等のサーボ状態を含む集合とし、行動ａを当該状態ｓに係る制御パラメータａｉ、ｂｊの調整とした。
また、報酬ｒを次のように設定した。
【０００８】
行動情報ａにより状態情報ｓが状態情報ｓ´に修正された場合、状態情報ｓ´に係る修正後の制御パラメータａｉ、ｂｊに基づいて動作したサーボ制御部の位置偏差の値が、行動情報ａにより修正される前の状態情報ｓに係る修正前の制御パラメータａｉ、ｂｊに基づいて動作したサーボ制御部の位置偏差の値よりも大きくなった場合に、報酬の値を負の値とする。
【０００９】
他方、行動情報ａにより修正された状態情報ｓ´に係る修正後の制御パラメータａｉ、ｂｊに基づいて動作したサーボ制御部の位置偏差の値が、行動情報ａにより修正される前の状態情報ｓに係る修正前の制御パラメータａｉ、ｂｊに基づいて動作したサーボ制御部の位置偏差の値よりも小さくなった場合に、報酬の値を正の値とする。
【００１０】
なお、評価用プログラムとして、学習時の加工形状を、例えば、円、四角、及び角Ｒ付き四角（ａ  ｓｑｕａｒｅ  ｗｉｔｈ  ｑｕａｒｔｅｒ  ａｒｃ）等として、学習時の加工形状により軸方向の移動距離、送り速度等を指定する加工プログラムを用いた。評価用プログラムにより指定される加工形状により、回転方向が反転したり、回転状態から停止したりする場合に生ずる惰走（惰性で動作する）を評価し、位置偏差に対する影響を比較することが可能となるためである。
【００１１】
このように設定される状態ｓと、行動ａと、行動ａを状態ｓに適用した場合の状態ｓ´と、上記のようにして算出された報酬の値ｒと、に基づいてＱ学習を行うことにより、価値関数Ｑを更新することができる。
【００１２】
具体的には、機械学習装置により状態情報ｓを取得し、機械学習装置により行動ａを生成し、行動情報ａにより状態情報ｓが状態情報ｓ´に修正された場合の報酬ｒにより、価値関数Ｑ（ｓ，ａ）を機械学習装置により更新する。
【００１３】
このようなＱ学習を繰り返すことで、制御パラメータａｉ、ｂｊの値、並びに複数の評価用プログラムを制御装置で実行することにより取得されるサーボ制御部の位置偏差情報を含む、指令及びフィードバック等のサーボ状態を含む状態ｓに対して、最適な行動ａ（すなわち、最適な制御パラメータａｉ、ｂｊ）を選択することが可能となる。
【００１４】
この最適化行動情報には、制御パラメータａｉ、ｂｊを修正する情報が含まれる。この制御パラメータａｉ、ｂｊを修正する情報が、機械学習により得られたパラメータ設定情報となる。
【００１５】
制御装置では、この行動情報に基づいて制御パラメータａｉ、ｂｊが修正され、速度フィードフォワードを高次のものとして、位置偏差の値を低減するように動作することができる。
【００１６】
以上のように、機械学習を利用することで、制御装置の速度フィードフォワードの高次のパラメータ調整を簡易化できる。
【００１７】
また、特許文献１は、ニューラルネットワークが、フォードフォワード補償器とフィードバック補償器の出力を入力とし、操作量を出力する技術を開示している。この技術においては、制御対象の出力と、線形モデルの出力にニューラルネットワークの出力を加算した信号とが等しくなるように、ニューラルネットワークの各層間の重みを変化させることで、フィードバック補償器を機械学習により求めている。
【先行技術文献】
【特許文献】
【００１８】
【特許文献１】特開平７−２１０２０７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１９】
しかしながら、機械学習から得られた高次の数式モデルは実際の数式モデルと完全に一致しているという保証がないため、多くの場合で良い結果を得ることができるものの、全ての場合で良い結果を得られるという保証はない。
【００２０】
本発明は、機械学習により得られた係数を使った数式モデルから出力された補正量が異常な値を示す場合に、当該異常な補正量によって制御対象が制御されることを防止することが可能な制御装置を提供することを目的とする。
【課題を解決するための手段】
【００２１】
（１）  本発明によれば、工作機械、ロボット、産業機械のサーボモータ、スピンドルモータを制御する制御装置（例えば、後述の「制御装置１００」）において、制御部（例えば、後述の「制御部１１０」）を備え、前記制御部は、指令値から第２の指令値への第１補正量を計算する第１補正量計算部（例えば、後述の「第１補正量計算部１１３」）と、前記指令値から前記第２の指令値への第２補正量を計算する第２補正量計算部（例えば、後述の「第２補正量計算部１１４」）と、前記第１補正量と前記第２補正量のうち一方を選択する補正量選択部（例えば、後述の「補正量選択部１１６」）と、を備え、前記第１補正量計算部は、第１の数式モデルに基づくものであり、前記第１の数式モデルのパラメータが機械学習により決められたものであり、前記第２補正量計算部は、第２の数式モデルに基づくものであり、前記第２の数式モデルのパラメータが第１補正量計算部とは異なる方法で決められたものである、制御装置が提供される。
【００２２】
（２）  （１）に記載の制御装置（例えば、後述の「制御装置１００」）において、前記制御部（例えば、後述の「制御部１１０」）は、さらに、前記第１補正量計算部により計算された第１補正量と前記第２補正量計算部により計算された第２補正量とを比較する補正量比較部（例えば、後述の「補正量比較部１１５」）と前記補正量比較部による比較結果に基づいて、異常を検知する異常検知部（例えば、後述の「異常検知部１１７」）と、を備えることが好ましい。
【００２３】
（３）  （２）に記載の制御装置（例えば、後述の「制御装置１００」）において、前記異常検知部（例えば、後述の「異常検知部１１７」）は、前記第１補正量計算部により計算された第１補正量と前記第２補正量計算部により計算された第２補正量との差の絶対値が予め設定された所定値以上又は所定値を超える場合に、異常を検知するようにしてもよい。
【００２４】
（４）  （２）に記載の制御装置（例えば、後述の「制御装置１００」）において、前記異常検知部（例えば、後述の「異常検知部１１７」）は、前記第１補正量計算部により計算された第１補正量と前記第２補正量計算部により計算された第２補正量との比の絶対値が予め設定された所定値以上又は所定値を超える場合に、異常を検知するようにしてもよい。
【００２５】
（５）  （２）〜（４）に記載の制御装置（例えば、後述の「制御装置１００」）において、前記異常検知部（例えば、後述の「異常検知部１１７」）が前記異常を検知した場合に、前記補正量選択部（例えば、後述の「補正量選択部１１６」）は、前記指令値から作成した補正量として前記第２補正量計算部により計算された第２補正量を選択することが好ましい。
【００２６】
（６）  （２）〜（５）に記載の制御装置（例えば、後述の「制御装置１００」）において、前記制御部（例えば、後述の「制御部１１０」）は、前記異常検知部（例えば、後述の「異常検知部１１７」）が前記異常を検知した場合に、前記制御装置の外部へワーニングを出力するワーニング出力部（例えば、後述の「ワーニング出力部１１８」）をさらに備えることが好ましい。
【００２７】
（７）  （２）〜（５）に記載の制御装置（例えば、後述の「制御装置１００」）において、前記制御部（例えば、後述の「制御部１１０」）は、前記異常検知部（例えば、後述の「異常検知部１１７」）が前記異常を検知した場合に、アラームを出力し、前記制御装置の動作を停止する停止部（例えば、後述の「停止部１１９」）をさらに備えることが好ましい。
【００２８】
（８）  （１）〜（７）に記載の制御装置（例えば、後述の「制御装置１００」）において、前記第２の数式モデルの次数は、前記第１の数式モデルの次数以下であるようにしてもよい。
【００２９】
（９）  （１）〜（８）に記載の制御装置（例えば、後述の「制御装置１００」）において、前記指令値は位置指令値であり、前記第２の指令値が速度指令値又は電流指令値とすることができる。
【００３０】
（１０）  （１）〜（８）に記載の制御装置（例えば、後述の「制御装置１００」）において、前記指令値は速度指令値であり、前記第２の指令値が電流指令値とすることができる。
【発明の効果】
【００３１】
本発明によれば、機械学習により得られた係数を使った数式モデルから出力された補正量が異常な値を示す場合に、当該異常な補正量によって制御対象が制御されることを防止することが可能な制御装置を提供することができる。
【図面の簡単な説明】
【００３２】
【図１】本発明の第１実施形態に係る制御装置の機能ブロック図である。
【図２】本発明の第１実施形態に係る制御装置における入出力フローを示す図である。
【図３】本発明の第１実施形態に係る制御装置の動作を示すフローチャートである。
【図４】本発明の第２実施形態に係る制御装置における入出力フローを示す図である。
【図５】本発明の第３実施形態に係る制御装置における入出力フローを示す図である。
【図６】本発明の第４実施形態に係る制御装置における入出力フローを示す図である。
【発明を実施するための形態】
【００３３】
〔第１実施形態〕
【００３４】
制御装置１００は、工作機械、ロボット、産業機械のサーボモータ、スピンドルモータを制御する制御装置であり、制御部１１０を備える。図１は、制御装置１００が備える制御部１１０の構成を示す機能ブロック図である。
制御部１１０は、制御装置１００の全体を制御する部分であり、各種プログラムを、ＲＯＭ、ＲＡＭ、フラッシュメモリ又はハードディスク（ＨＤＤ）等の記憶領域から適宜読み出して実行することにより、本実施形態における各種機能を実現している。制御部１１０は、ＣＰＵであってよい。
制御部１１０は、ＰＩ制御部１１２と、第１補正量計算部１１３と、第２補正量計算部１１４と、補正量比較部１１５と、補正量選択部１１６と、異常検知部１１７と、ワーニング出力部１１８と、停止部１１９とを備える。
【００３５】
ＰＩ制御部１１２は、図示しない数値制御装置からの入力である指令、又は制御装置１００により生成される指令と、制御対象装置３００からのフィードバックと、からＰＩ制御により制御指令を生成し出力する。ＰＩ制御部１１２から出力された制御指令は、制御対象装置３００に対して入力される。
【００３６】
第１補正量計算部１１３は、予め設定された第１の数式モデルに基づく第１の伝達関数で示されるフィードフォワード計算処理を行い、指令から制御指令への第１補正量を算出する処理において、第１の伝達関数における制御パラメータを予め機械学習により算出したものである。
第１補正量計算部１１３は、図示しない数値制御装置からの入力である指令、又は制御装置１００により生成される指令から、制御指令への第１補正量を計算する。
【００３７】
これに対して、第２補正量計算部１１４は、予め設定された第２の数式モデルに基づく第２の伝達関数で示されるフィードフォワード計算処理を行い、指令から制御指令への第２補正量を算出する処理において、第２の伝達関数における制御パラメータを機械学習とは異なる、例えば従来より行われた熟練者等による調整処理により算出されたものである。このため、第２の数式モデルの次数は、第１の数式モデルの次数以下又はそれよりも小さい値である。
第２補正量計算部１１４は、図示しない数値制御装置からの入力である指令、又は制御装置１００により生成される指令から、制御指令への第１補正量を計算する。
【００３８】
補正量比較部１１５は、第１補正量計算部１１３により計算された第１補正量と第２補正量計算部１１４により計算された第２補正量とを比較する。
【００３９】
補正量選択部１１６は、第１補正量計算部１１３により計算された第１補正量と第２補正量計算部１１４により計算された第２補正量のうち一方を選択する。
より具体的には、補正量比較部１１５による、第１補正量計算部１１３が計算した第１補正値と第２補正量計算部１１４が計算した第２補正値との比較結果が予め設定された条件（以下、「優先条件」ともいう）を満たしている場合、補正量選択部１１６は、第１補正量計算部１１３により計算された第１補正量を、第２補正量計算部１１４により計算された第２補正量より優先して選択する。
これに対して、補正量比較部１１５により、第１補正量計算部１１３が計算した第１補正値と第２補正量計算部１１４が計算した第２補正値との比較結果が予め設定された優先条件を満たしていない場合、補正量選択部１１６は、第２補正量計算部１１４により計算された第２補正量を、第１補正量計算部１１３により計算された第１補正量より優先して選択する。
ここで、予め設定される優先条件として、例えば、第１補正量計算部１１３により計算された第１補正量と第２補正量計算部１１４により計算された第２補正量との差の絶対値が予め設定された第１の閾値以下又は第１の閾値より小さいことを採用してもよい。
また、第１補正量計算部１１３により計算された第１補正量と第２補正量計算部１１４により計算された第２補正量との比の絶対値が予め設定された第２の閾値以下又は第２の閾値より小さいことを採用してもよい。なお、これらの条件は、一例であり、これに限定されるものではない。
【００４０】
異常検知部１１７は、補正量比較部１１５により、第１補正量計算部１１３が計算した第１補正値と第２補正量計算部１１４が計算した第２補正値との比較結果が予め設定された優先条件を満たしていない場合、第１補正量計算部１１３の異常として検知する。すなわち、第１補正量計算部１１３が、異常な値となる補正量を算出したことを検知する。
前述したように、例えば、異常検知部１１７は、第１補正量計算部１１３により計算された第１補正量と第２補正量計算部１１４により計算された第２補正量との差の絶対値が予め設定された第１の閾値以上又は第１の閾値を超える場合に、第１補正量計算部１１３の異常として検知することができる。また、異常検知部１１７は、第１補正量計算部１１３により計算された第１補正量と第２補正量計算部１１４により計算された第２補正量との比の絶対値が予め設定された第２の閾値以上又は第２の閾値を超える場合に、第１補正量計算部１１３の異常として検知するようにしてもよい。
【００４１】
ワーニング出力部１１８は、異常検知部１１７が第１補正量計算部１１３の異常な補正量を出力したことを検知した場合に、制御装置１００の外部に、第１補正量計算部１１３が異常が発生したことを通知するため、ワーニングを出力する。ワーニング出力部１１８は、さらに、第１補正量計算部１１３の異常な補正量を出力したときの、サーボ制御部の位置偏差情報を含む、指令及びフィードバック等のサーボ状態を出力（記録）するようにしてもよい。
なお、ワーニング出力部１１８により、第１補正量計算部１１３が異常が発生したことを示すワーニングが出力された場合、補正量選択部１１６は、第２補正量計算部１１４により計算された第２補正量を、第１補正量計算部１１３により計算された第１補正量より優先して選択する。これにより、制御パラメータを予め機械学習により算出した制御パラメータを使って算出された次数の高い第１の数式モデルに基づく第１補正量計算部１１３から出力される補正量が異常な値を示す場合に、当該異常な補正量によって制御対象が制御されることを防止することができる。
【００４２】
なお、第１補正量計算部１１３から出力される補正量が異常な値を示す場合に、制御装置１００の動作を停止するように構成することもできる。
停止部１１９は、異常検知部１１７が第１補正量計算部１１３から出力される補正量の異常を検知した場合に、アラームを出力すると共に、制御装置１００の動作を停止する。
なお、停止部１１９は、例えば、異常検知部１１７の第１補正量計算部１１３から出力される補正量の異常を検知した頻度等に基づいて、加工処理を停止するかどうかの判断を行うようにしてもよい。また、停止部１１９は、オペレータに停止するか否かについてのメッセージを出力し、オペレータからの停止指示に基づいて、制御装置１００の動作を停止させるようにしてもよい。
【００４３】
以上、制御装置１００の機能ブロックについて説明したが、上述した機能ブロックは本実施形態の動作に特に関連する部分である。制御装置１００は、上述した機能ブロック以外にも一般的な機能ブロックを備えている。例えば、ワークを移動させるためのサーボモータや、サーボモータを制御するための制御部や、位置・速度フィードバック制御を行うための位置・速度検出器や、動作指令を増幅するモータ駆動アンプや、ユーザの操作を受け付けるための操作盤等を備えている。しかしながら、これらの一般的な機能ブロックについては当業者によく知られているので詳細な説明及び図示を省略する。
【００４４】
次に、制御装置１００のフィードフォワード処理について、図２を参照しながら説明する。図２は、制御装置１００におけるフィードフォワード処理フローを示す図である。
制御装置１００は、ＰＩ制御部１１２、第１補正量計算部１１３、第２補正量計算部１１４、補正量比較部１１５、補正量選択部１１６に加え、加算器１２２を備える。
【００４５】
ＰＩ制御部１１２は、図示しない数値制御装置からの入力である指令、又は、制御装置１００の生成する指令と、制御対象装置３００からのフィードバックと、に基づいて、制御指令を生成し、加算器１２２に出力する。
【００４６】
第１補正量計算部１１３は、指令から制御指令への第１補正量を計算する。具体的には、第１補正量計算部１１３は、機械学習で制御パラメータの値が決められた高次元の第１の数式モデルを用いて、フィードフォワード計算処理を行い、指令から制御指令への第１補正量を計算する。
【００４７】
第２補正量計算部１１４は、機械学習とは異なる従来の方式で制御パラメータの値が決められた（次元が第１補正量計算部１１３の第１の数式モデル以下となる）第２の数式モデルに基づいて、フィードフォワード計算処理を行い、指令から制御指令への第２補正量を計算する。
【００４８】
補正量比較部１１５は、第１補正量計算部１１３により計算された第１補正量と第２補正量計算部１１４により計算された第２補正量とを比較する。
補正量選択部１１６は、補正量比較部１１５による比較結果に基づき、第１補正量と第２補正量のうち一方を選択し、加算器１２２に出力する。
【００４９】
加算器１２２は、制御指令と補正量選択部１１６により選択された補正量とを加算して、フィードフォワード制御された制御指令として制御対象装置３００に出力する。
【００５０】
制御対象装置３００は、制御指令を入力とすると共に、フィードバックを出力し、フィードバックはＰＩ制御部１１２の前段に入力される。
以上のように、制御装置１００における入出力フローは構成される。
【００５１】
次に、制御装置１００の動作について説明する。図３は、制御装置１００の動作フローを示す。
【００５２】
ステップＳ１において、第１補正量計算部１１３は、図示しない数値制御装置からの入力である指令、又は制御装置の生成する指令から制御指令への第１補正量を計算する。
【００５３】
ステップＳ２において、第２補正量計算部１１４は、指令から制御指令への第２補正量を計算する。
【００５４】
ステップＳ３において、補正量比較部１１５が第１補正量と第２補正量とを比較する。
【００５５】
ステップＳ４において、第１補正量と第２補正量との差分の絶対値が、閾値を超えた場合（Ｓ４：ＹＥＳ）には、処理はステップＳ６に移行する。第１補正量と第２補正量との差分の絶対値が、閾値以下である場合（Ｓ４：ＮＯ）には、処理はステップＳ９に移行する。
【００５６】
ステップＳ５において、異常検知部１１７が異常を検知する。
ステップＳ６において、ワーニング出力部１１８が、制御装置１００の外部にワーニングを出力する。
【００５７】
ステップＳ７において、補正量選択部１１６が、第１補正量と第２補正量のうち第２補正量を選択し、加算器１２２に出力する。
【００５８】
ステップＳ８において、補正量選択部１１６が、第１補正量と第２補正量のうち第１補正量を選択し、加算器１２２に出力する。
【００５９】
ステップＳ９において、ＰＩ制御部１１２は、指令及び制御対象からのフィードバックに基づいて制御指令を生成し、当該制御指令を加算器１２２に出力する。
【００６０】
ステップＳ１０において、加算器１２２が、ＰＩ制御部１１２から入力した制御指令に、補正量選択部１１６から入力した補正量を加算する。
【００６１】
ステップＳ１１において、加算器１２２が制御対象装置３００に、補正量が加算された制御指令を出力する。
【００６２】
なお、上記のフロー中、ステップＳ４において、第１補正量と第２補正量との差分の絶対値を閾値と比較したが、これには限定されない。例えば、第１補正量と第２補正量との比の絶対値を閾値と比較してもよい。
【００６３】
また、上記のフロー中、ステップＳ６において、ワーニング出力部１１８が、制御装置１００の外部にワーニングを出力したが、これには限定されない。例えば、ステップＳ６以降のフローの代わりに、停止部１１９が、アラームを出力し、さらに、制御装置１００の動作を停止してもよい。
【００６４】
上記においては、第１補正量計算部１１３が指令から制御指令への第１補正量、第２補正量計算部１１４が指令から制御指令への第２補正量を計算する構成としたが、その具体例として、以下の態様が考えられる。
【００６５】
例えば、ＰＩ制御部１１２が、位置指令値と位置フィードバック値から、電流指令値を作成し、第１補正量計算部１１３が、位置指令値から電流指令値への第１電流指令値補正量を計算し、第２補正量計算部１１４が、位置指令値から電流指令値への第２電流指令値補正量を計算してもよい。
【００６６】
あるいは、ＰＩ制御部１１２が、位置指令値と位置フィードバック値から、速度指令値を作成し、第１補正量計算部１１３が、位置指令値から速度指令値への第１速度指令値補正量を計算し、第２補正量計算部１１４が、位置指令値から速度指令値への第２速度指令値補正量を計算してもよい。
【００６７】
あるいは、ＰＩ制御部１１２が、速度指令値と速度フィードバック値から、電流指令値を作成し、第１補正量計算部１１３が、速度指令値から電流指令値への第１電流指令値補正量を計算し、第２補正量計算部１１４が、速度指令値から電流指令値への第２電流指令値補正量を計算してもよい。
【００６８】
〔第１実施形態の効果〕
本実施形態の制御装置１００によれば、指令から制御指令への補正量として、制御パラメータが機械学習により決められた（高次元の）第１の数式モデルを用いて計算された第１補正量と、制御パラメータが機械学習とは異なる方法で決められた第２の数式モデルを用いて計算された第２補正量とのうち一方を選択する。
これにより、適正な補正量を用いることが可能となる。
【００６９】
また、制御パラメータが機械学習により決められた（高次元の）第１の数式モデルを用いて計算された第１補正量の値の異常を検出することにより、異常値により制御指令が補正されて、異常な制御指令により機械が制御されるのを防ぐことができる。
【００７０】
また、第１補正量の値の異常を検出した際、制御装置１００の外部にワーニングを出力することにより、制御指令を補正するための補正値が、機械学習とは異なる方法で制御パラメータが決められた第２の数式モデルを用いて算出されていることを、認識することが可能となる。
【００７１】
また、第１補正量の値の異常を検出した際、アラームを出力すると共に、制御装置１００の動作を停止することにより、制御対象が異常な値を用いて制御されることを防止することができる。
【００７２】
また、第２の数式モデルの次数は、第１の数式モデルの次数以下であることにより、第２の数式モデルとして、機械学習で用いる第１の数式モデルに比較して、制御パラメータの決定が容易な数式モデルを用いることが可能となる。
【００７３】
〔第２実施形態〕
図４は、本発明の第２実施形態に係る制御装置１００Ａにおける入出力フローを示す。
制御装置１００Ａは、位置制御部１３２と、第１速度指令値補正量計算部１３３と、第２速度指令値補正量計算部１３４と、第１補正量比較部１３５と、第１補正量選択部１３６と、速度制御部１４２と、第１電流指令値補正量計算部１４３と、第２電流指令値補正量計算部１４４と、第２補正量比較部１４５と、第２補正量選択部１４６と、電流制御部１５２と、第１電圧指令値補正量計算部１５３と、第２電圧指令値補正量計算部１５４と、第３補正量比較部１５５と、第３補正量選択部１５６と、加算器１２２Ａ〜１２２Ｃを備える。
【００７４】
位置制御部１３２は、図示しない数値制御装置からの入力である位置指令値、又は制御装置１００生成する位置指令値と、後述の積分器１９１からの出力である位置フィードバック値から、速度指令値を生成する。
【００７５】
第１速度指令値補正量計算部１３３は、位置指令値から速度指令値への第１速度指令値補正量を計算する。第２速度指令値補正量計算部１３４は、位置指令値から速度指令値への第２速度指令値補正量を計算する。第１補正量比較部１３５は、第１速度指令値補正量と第２速度指令値補正量を比較する。第１補正量選択部１３６は、第１補正量比較部１３５による比較結果に基づいて、第１速度指令値補正量と第２速度指令値補正量のうちいずれか一方の補正量を選択し、加算器１２２Ａに出力する。加算器１２２Ａは、位置制御部１３２からの速度指令値と補正量と加算し、補正後の速度指令値を、速度制御部１４２に出力する。
【００７６】
速度制御部１４２は、加算器１２２Ａからの入力である速度指令値と、後述の機械３０３からの出力である速度フィードバック値から、電流指令値を生成する。
【００７７】
第１電流指令値補正量計算部１４３は、第１速度指令値補正量計算部１３３を介して入力される位置指令値から電流指令値への第１電流指令値補正量を計算する。
同様に第２電流指令値補正量計算部１４４は、第２速度指令値補正量計算部１３４を介して入力される位置指令値から電流指令値への第２電流指令値補正量を計算する。
第２補正量比較部１４５は、第１電流指令値補正量と第２電流指令値補正量を比較する。第２補正量選択部１４６は、第２補正量比較部１４５による比較結果に基づいて、第１電流指令値補正量と第２電流指令値補正量のうちいずれか一方の補正量を選択し、加算器１２２Ｂに出力する。加算器１２２Ｂは、速度制御部１４２からの電流指令値と補正量とを加算し、補正後の電流指令値を、電流制御部１５２に出力する。
【００７８】
電流制御部１５２は、加算器１２２Ｂからの入力である電流指令値と、後述の駆動用アンプ３０１からの出力である電流フィードバック値から、電圧指令値を生成する。
【００７９】
第１電圧指令値補正量計算部１５３は、第１速度指令値補正量計算部１３３及び第１電流指令値補正量計算部１４３を介して入力される位置指令値から電圧指令値への第１電圧指令値補正量を計算する。
同様に第２電圧指令値補正量計算部１５４は、第２速度指令値補正量計算部１３４及び第２電流指令値補正量計算部１４４を介して入力される位置指令値から電圧指令値への第２電圧指令値補正量を計算する。
第３補正量比較部１５５は、第１電圧指令値補正量と第２電圧指令値補正量を比較する。第３補正量選択部１５６は、第３補正量比較部１５５による比較結果に基づいて、第１電圧指令値補正量と第２電圧指令値補正量のうちいずれか一方の補正量を選択し、加算器１２２Ｃに出力する。加算器１２２Ｃは、電流制御部１５２からの電圧指令値と補正量とを加算し、補正後の電圧指令値を、制御対象装置３００に出力する。
【００８０】
制御対象装置３００は、駆動用アンプ３０１とモータ３０２と機械３０３とを備える。駆動用アンプ３０１は、モータ３０２を駆動するための電流を、モータ３０２に供給する。モータ３０２の軸の回転運動は、機械３０３の物理的な動作に変換される。
【００８１】
駆動用アンプ３０１からモータ３０２に供給される電流は、その一部が、電流フィードバックとして、電流制御部１５２の前段に出力される。また、機械３０３からの出力の一部が、速度フィードバックとして、速度制御部１４２の前段に出力される。また、機械３０３からの出力を積分器１９１によって積分した値が、位置フィードバックとして、位置制御部１３２の前段に出力される。
【００８２】
〔第２実施形態による効果〕
上記の第２実施形態においても、第１実施形態と同様の効果を奏することができる。
【００８３】
〔第３実施形態〕
図５は、本発明の第３実施形態に係る制御装置１００Ｂにおける入出力フローを示す。
制御装置１００Ｂは、速度制御部１６２と、第１電流指令値補正量計算部１６３と、第２電流指令値補正量計算部１６４と、第１補正量比較部１６５と、第１補正量選択部１６６と、電流制御部１７２と、第１電圧指令値補正量計算部１７３と、第２電圧指令値補正量計算部１７４と、第２補正量比較部１７５と、第２補正量選択部１７６と、加算器１２２Ｄ〜１２２Ｅを備える。
【００８４】
速度制御部１６２は、制御装置１００Ｂの生成する速度指令値と、後述の機械３０３からの出力の一部である速度フィードバック値から、電流指令値を生成する。
【００８５】
第１電流指令値補正量計算部１６３は、速度指令値から電流指令値への第１電流指令値補正量を計算する。第２電流指令値補正量計算部１６４は、速度指令値から電流指令値への第２電流指令値補正量を計算する。第１補正量比較部１６５は、第１電流指令値補正量と第２電流指令値補正量を比較する。第１補正量選択部１６６は、第１補正量比較部１６５による比較結果に基づいて、第１電流指令値補正量と第２電流指令値補正量のうちいずれか一方の補正量を選択し、加算器１２２Ｄに出力する。加算器１２２Ｄは、速度制御部１６２からの電流指令値と補正量とを加算し、補正後の電流指令値を、電流制御部１７２に出力する。
【００８６】
電流制御部１７２は、加算器１２２Ｄからの入力である電流指令値と、後述の駆動用アンプ３０１からの出力の一部である電流フィードバック値から、電圧指令値を生成する。
【００８７】
第１電圧指令値補正量計算部１７３は、第１電流指令値補正量計算部１６３を介して入力される速度指令値から、電圧指令値への第１電圧指令値補正量を計算する。同様に第２電圧指令値補正量計算部１７４は、第２電流指令値補正量計算部１６４を介して入力される速度指令値から、電圧指令値への第２電圧指令値補正量を計算する。
第２補正量比較部１７５は、第１電圧指令値補正量と第２電圧指令値補正量を比較する。第２補正量選択部１７６は、第２補正量比較部１７５による比較結果に基づいて、第１電圧指令値補正量と第２電圧指令値補正量のうちいずれか一方の補正量を選択し、加算器１２２Ｅに出力する。加算器１２２Ｅは、電流制御部１７２からの電圧指令値と補正量とを加算し、補正後の電圧指令値を、制御対象装置３００に出力する。
【００８８】
駆動用アンプ３０１からモータ３０２に供給される電流は、その一部が、電流フィードバック値として、電流制御部１７２の前段に出力される。また、機械３０３からの出力の一部が、速度フィードバック値として、速度制御部１６２の前段に出力される。
【００８９】
〔第３実施形態による効果〕
上記の第３実施形態においても、第１実施形態と同様の効果を奏することができる。
【００９０】
〔第４実施形態〕
図６は、本発明の第４実施形態に係る制御装置１００Ｃにおける入出力フローを示す。
制御装置１００Ｃは、電流制御部１８２と、第１電圧指令値補正量計算部１８３と、第２電圧指令値補正量計算部１８４と、補正量比較部１８５と、補正量選択部１８６と、加算器１２２Ｆとを備える。
【００９１】
電流制御部１８２は、制御装置１００Ｃの生成する電流指令値と、駆動用アンプ３０１からの出力の一部である電流フィードバック値から、電圧指令値を生成する。
【００９２】
第１電圧指令値補正量計算部１８３は、電流指令値から電圧指令値への第１電圧指令値補正量を計算する。第２電圧指令値補正量計算部１８４は、電流指令値から電圧指令値への第２電圧指令値補正量を計算する。補正量比較部１８５は、第１電圧指令値補正量と第２電圧指令値補正量を比較する。補正量選択部１８６は、補正量比較部１８５による比較結果に基づいて、第１電圧指令値補正量と第２電圧指令値補正量のうちいずれか一方の補正量を選択し、加算器１２２Ｆに出力する。加算器１２２Ｆは、電流制御部１８２からの電圧指令値と補正量とを加算し、補正後の電圧指令値を、制御対象装置３００に出力する。
【００９３】
駆動用アンプ３０１からモータ３０２に供給される電流の電流値は、その一部が、電流フィードバック値として、電流制御部１８２に出力される。
【００９４】
〔第４実施形態による効果〕
上記の第４実施形態においても、第１実施形態と同様の効果を奏することができる。
【００９５】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【符号の説明】
【００９６】
１００  １００Ａ  １００Ｂ  １００Ｃ  制御装置
１１０  制御部
１１２  ＰＩ制御部
１１３  第１補正量計算部
１１４  第２補正量計算部
１１５  補正量比較部
１１６  補正量選択部
１１７  異常検知部
１１８  ワーニング出力部
１１９  停止部
【図１】
2018180778.tif 000004
【図２】
2018180778.tif 000005
【図３】
2018180778.tif 000006
【図４】
2018180778.tif 000007
【図５】
2018180778.tif 000008
【図６】
2018180778.tif 000009