(57)【要約】【課題】各モータの温度を考慮して、各モータをできる限り低温領域で稼働して、モータの稼働寿命を延ばすことが可能な制御装置及び機械学習装置を提供すること。【解決手段】本発明の制御装置１が備える機械学習装置１００は、モータの移動指令を示す移動指令データ、ロボット２の先端の移動元及び移動先の位置姿勢を示す基準位置姿勢データ、及びモータの温度を示すモータ温度データを、環境の現在状態を表す状態変数として観測する状態観測部１０６と、モータの温度の適否判定結果を示すモータ温度判定データを、判定データとして取得する判定データ取得部１０８と、ロボット２の先端の移動元・移動先の位置姿勢及び前記モータの温度と、モータの移動指令とを関連付けて学習する学習部１１０と、を備える。【選択図】図２
2019136807.tif 000002
【特許請求の範囲】
【請求項１】
ロボットの各軸を駆動するモータの寿命を延ばすように制御する制御装置であって、
前記ロボットの動作環境に対する前記モータの移動指令を学習する機械学習装置を備え、
前記機械学習装置は、
前記モータの移動指令を示す移動指令データ、前記ロボットの先端の移動元及び移動先の位置姿勢を示す基準位置姿勢データ、及び前記モータの温度乃至推定温度を示すモータ温度データを、環境の現在状態を表す状態変数として観測する状態観測部と、
前記モータの温度乃至推定温度の適否判定結果を示すモータ温度判定データを、判定データとして取得する判定データ取得部と、
前記状態変数と前記判定データとを用いて、前記ロボットの先端の移動元・移動先の位置姿勢及び前記モータの温度乃至推定温度と、前記モータの移動指令とを関連付けて学習する学習部と、
を備える制御装置。
【請求項２】
前記状態観測部は、前記状態変数として、前記モータに設置された減速機の温度乃至推定温度を示す減速機温度データを更に観測し、
前記判定データ取得部は、前記判定データとして、前記減速機の温度乃至推定温度の適否判定結果を示す減速機温度判定データを更に取得し、
前記学習部は、前記状態変数と前記判定データとを用いて、前記ロボットの先端の移動元・移動先の位置姿勢，前記モータの温度乃至推定温度及び前記減速機の温度乃至推定温度と、前記モータの移動指令とを関連付けて学習する、
請求項１に記載の制御装置。
【請求項３】
前記学習部は、
前記適否判定結果に関連する報酬を求める報酬計算部と、
前記報酬を用いて、前記ロボットの先端の移動元・移動先の位置姿勢及び前記モータの温度乃至推定温度に対するロボットの各軸を駆動するモータの移動指令の価値を表す関数を更新する価値関数更新部と、
を備え、
前記報酬計算部は、前記モータの温度乃至推定温度を低く維持できる程高い報酬を与える、
請求項１または２に記載の制御装置。
【請求項４】
前記学習部は、前記状態変数と前記判定データとを多層構造で演算する、
請求項１〜３のいずれか１つに記載の制御装置。
【請求項５】
ロボットの各軸を駆動するモータの寿命を延ばすように制御する制御装置であって、
前記ロボットの動作環境に対する前記モータの移動指令を学習した機械学習装置を備え、
前記機械学習装置は、
前記モータの移動指令を示す移動指令データ、前記ロボットの先端の移動元及び移動先の位置姿勢を示す基準位置姿勢データ、及び前記モータの温度乃至推定温度を示すモータ温度データを、環境の現在状態を表す状態変数として観測する状態観測部と、
前記ロボットの先端の移動元・移動先の位置姿勢及び前記モータの温度乃至推定温度と、前記モータの移動指令とを関連付けて学習した学習部と、
前記状態観測部が観測した状態変数と、前記学習部による学習結果に基づいて、前記ロボットの各軸を駆動するモータの移動指令を出力する意思決定部と、
を備える制御装置。
【請求項６】
前記機械学習装置は、クラウドサーバに存在する、
請求項１〜５のいずれか１つに記載の制御装置。
【請求項７】
ロボットの各軸を駆動するモータの寿命を延ばすように制御する制御装置であって、
前記ロボットの動作環境に対する前記モータの移動指令を学習する機械学習装置を備え、
前記機械学習装置は、
前記ロボットの先端の移動元及び移動先の位置姿勢を示す基準位置姿勢データ、及び前記モータの温度乃至推定温度を示すモータ温度データを、環境の現在状態を表す状態変数として観測する状態観測部と、
前記モータの移動指令を示す移動指令データを、ラベルデータとして取得するラベルデータ取得部と、
前記状態変数と前記ラベルデータとを用いて、前記ロボットの先端の移動元・移動先の位置姿勢及び前記モータの温度乃至推定温度と、前記モータの移動指令とを関連付けて学習する学習部と、
を備える制御装置。
【請求項８】
前記学習部は、
前記状態変数から前記モータの移動指令を推定する相関性モデルと、予め用意された教師データから識別される相関性特徴との誤差を計算する誤差計算部と、
前記誤差を縮小するように前記相関性モデルを更新するモデル更新部とを備える、
請求項７に記載の制御装置。
【請求項９】
ロボットの各軸を駆動するモータの寿命を延ばすように制御する制御装置であって、
前記ロボットの動作環境に対する前記モータの移動指令を学習した機械学習装置を備え、
前記機械学習装置は、
前記ロボットの先端の移動元及び移動先の位置姿勢を示す基準位置姿勢データ、及び前記モータの温度乃至推定温度を示すモータ温度データを、環境の現在状態を表す状態変数として観測する状態観測部と、
前記ロボットの先端の移動元・移動先の位置姿勢及び前記モータの温度乃至推定温度と、前記モータの移動指令とを関連付けて学習した学習部と、
前記状態観測部が観測した状態変数と、前記学習部による学習結果に基づいて、前記ロボットの各軸を駆動するモータの移動指令を出力する意思決定部部と、
を備える制御装置。
【請求項１０】
ロボットの各軸を駆動するモータの寿命を延ばすように制御するために、前記ロボットの動作環境に対する前記モータの移動指令を学習する機械学習装置であって、
前記モータの移動指令を示す移動指令データ、前記ロボットの先端の移動元及び移動先の位置姿勢を示す基準位置姿勢データ、及び前記モータの温度乃至推定温度を示すモータ温度データを、環境の現在状態を表す状態変数として観測する状態観測部と、
前記モータの温度乃至推定温度の適否判定結果を示すモータ温度判定データを、判定データとして取得する判定データ取得部と、
前記状態変数と前記判定データとを用いて、前記ロボットの先端の移動元・移動先の位置姿勢及び前記モータの温度乃至推定温度と、前記モータの移動指令とを関連付けて学習する学習部と、
を備える機械学習装置。
【請求項１１】
ロボットの各軸を駆動するモータの寿命を延ばすように制御するために、前記ロボットの動作環境に対する前記モータの移動指令を学習した機械学習装置であって、
前記モータの移動指令を示す移動指令データ、前記ロボットの先端の移動元及び移動先の位置姿勢を示す基準位置姿勢データ、及び前記モータの温度乃至推定温度を示すモータ温度データを、環境の現在状態を表す状態変数として観測する状態観測部と、
前記ロボットの先端の移動元・移動先の位置姿勢及び前記モータの温度乃至推定温度と、前記モータの移動指令とを関連付けて学習した学習部と、
前記状態観測部が観測した状態変数と、前記学習部による学習結果に基づいて、前記ロボットの各軸を駆動するモータの移動指令を出力する意思決定部と、
を備える機械学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置及び機械学習装置に関する。
【背景技術】
【０００２】
工場で工作機械へのワークの投入やコンベア上の製品の仕分けを行うためにロボットを投入する場合、従来から６軸多関節ロボットが使用されてきた。６軸多関節ロボットは、ロボットハンドの先端位置に応じて各軸の位置が全て一意に定まるようになっている。しかし、移動元から移動先に稼動する経路は自由に選べる。一方、６軸多関節ロボットにさらに１軸を付加した７軸多関節ロボットも一般に用いられている（図８，特許文献１等）。７軸多関節ロボットは、ロボットハンドの先端位置に対して、各軸の位置が一意に定まるわけではなく、ロボットの動作自由度に余裕があることが特徴である。
【０００３】
図９は、７軸多関節ロボットを用いて、コンベア上を流れてくる製品の中の不良品を不良品箱へと仕分けする様子を示す図である。図９に例示されるように、７軸多関節ロボットは、Ｊ１〜Ｊ７の軸を持ち、それぞれの軸を動作させることによりロボットハンドの先端を所望の位置へと移動させることができる。例えば、図９において、７軸多関節ロボットによりコンベア上の製品の中から不良品を不良品箱へと移す場合、例えばＪ４，Ｊ５軸を駆動させてコンベア上の製品を不良品箱へと移すこともできるし（経路１）、Ｊ２，Ｊ３軸を駆動させてコンベア上の製品を不良品箱へと移すこともできる（経路２）。また、これ以外の軸の組み合わせで、コンベア上の製品を不良品箱へと移すことも可能である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−０１１２６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
この様に、７軸多関節ロボットをはじめ複数軸多関節ロボットを用いる場合、１つの動作を実現するための軸の組み合わせが複数存在するが、一般的には、同じ動作ができる軸の組み合わせの中から高速で動作させることが可能な軸の組み合わせが選択される。しかしながら、同じ軸ばかりを使用していると、当該軸を駆動するモータの稼動温度が上昇する。そして、モータを高温領域で使い続けると、当該モータの寿命が加速度的に短くなるという問題が生じる。また、追加の課題として、各モータに関連する減速器についても同様に、高温領域で使い続けると寿命が短くなるという問題がある。
【０００６】
そこで本発明の目的は、各モータの温度を考慮して、各モータをできる限り低温領域に稼働して、モータの稼働寿命を延ばすことが可能な制御装置及び機械学習装置を提供することである。
【課題を解決するための手段】
【０００７】
本発明では、機械学習技術を用いて、各モータの温度を考慮して、各モータをできる限り低温領域で稼働して、モータの稼働寿命を延ばせるようにロボットの動作を行う際に駆動させる軸の組み合わせを選択したり、移動速度と距離を変更することで、上記課題を解決する。
【０００８】
そして、本発明の一態様は、ロボットの各軸を駆動するモータの寿命を延ばすように制御する制御装置であって、前記ロボットの動作環境に対する前記モータの移動指令を学習する機械学習装置を備え、前記機械学習装置は、前記モータの移動指令を示す移動指令データ、前記ロボットの先端の移動元及び移動先の位置姿勢を示す基準位置姿勢データ、及び前記モータの温度乃至推定温度を示すモータ温度データを、環境の現在状態を表す状態変数として観測する状態観測部と、前記モータの温度乃至推定温度の適否判定結果を示すモータ温度判定データを、判定データとして取得する判定データ取得部と、前記状態変数と前記判定データとを用いて、前記ロボットの先端の移動元・移動先の位置姿勢及び前記モータの温度乃至推定温度と、前記モータの移動指令とを関連付けて学習する学習部と、を備える制御装置である。
【０００９】
本発明の他の態様は、ロボットの各軸を駆動するモータの寿命を延ばすように制御する制御装置であって、前記ロボットの動作環境に対する前記モータの移動指令を学習した機械学習装置を備え、前記機械学習装置は、前記モータの移動指令を示す移動指令データ、前記ロボットの先端の移動元及び移動先の位置姿勢を示す基準位置姿勢データ、及び前記モータの温度乃至推定温度を示すモータ温度データを、環境の現在状態を表す状態変数として観測する状態観測部と、前記モータの温度乃至推定温度の適否判定結果を示すモータ温度判定データを、判定データとして取得する判定データ取得部と、前記ロボットの先端の移動元・移動先の位置姿勢及び前記モータの温度乃至推定温度と、前記モータの移動指令とを関連付けて学習した学習部と、前記状態観測部が観測した状態変数と、前記学習部による学習結果に基づいて、前記ロボットの各軸を駆動するモータの移動指令を出力する意思決定部と、を備える制御装置である。
【００１０】
本発明の他の態様は、ロボットの各軸を駆動するモータの寿命を延ばすように制御する制御装置であって、前記ロボットの動作環境に対する前記モータの移動指令を学習する機械学習装置を備え、前記機械学習装置は、前記ロボットの先端の移動元及び移動先の位置姿勢を示す基準位置姿勢データ、及び前記モータの温度乃至推定温度を示すモータ温度データを、環境の現在状態を表す状態変数として観測する状態観測部と、前記モータの移動指令を示す移動指令データを、ラベルデータとして取得するラベルデータ取得部と、前記状態変数と前記ラベルデータとを用いて、前記ロボットの先端の移動元・移動先の位置姿勢及び前記モータの温度乃至推定温度と、前記モータの移動指令とを関連付けて学習する学習部と、を備える制御装置である。
【００１１】
本発明の他の態様は、ロボットの各軸を駆動するモータの寿命を延ばすように制御する制御装置であって、前記ロボットの動作環境に対する前記モータの移動指令を学習した機械学習装置を備え、前記機械学習装置は、前記ロボットの先端の移動元及び移動先の位置姿勢を示す基準位置姿勢データ、及び前記モータの温度乃至推定温度を示すモータ温度データを、環境の現在状態を表す状態変数として観測する状態観測部と、前記ロボットの先端の移動元・移動先の位置姿勢及び前記モータの温度乃至推定温度と、前記モータの移動指令とを関連付けて学習した学習部と、前記状態観測部が観測した状態変数と、前記学習部による学習結果に基づいて、前記ロボットの各軸を駆動するモータの移動指令を推定して出力する推定結果出力部と、を備える制御装置である。
【００１２】
本発明の他の態様は、ロボットの各軸を駆動するモータの寿命を延ばすように制御するために、前記ロボットの動作環境に対する前記モータの移動指令を学習する機械学習装置であって、前記モータの移動指令を示す移動指令データ、前記ロボットの先端の移動元及び移動先の位置姿勢を示す基準位置姿勢データ、及び前記モータの温度乃至推定温度を示すモータ温度データを、環境の現在状態を表す状態変数として観測する状態観測部と、前記モータの温度乃至推定温度の適否判定結果を示すモータ温度判定データを、判定データとして取得する判定データ取得部と、前記状態変数と前記判定データとを用いて、前記ロボットの先端の移動元・移動先の位置姿勢及び前記モータの温度乃至推定温度と、前記モータの移動指令とを関連付けて学習する学習部と、を備える機械学習装置である。
【００１３】
本発明の他の態様は、ロボットの各軸を駆動するモータの寿命を延ばすように制御するために、前記ロボットの動作環境に対する前記モータの移動指令を学習した機械学習装置であって、前記モータの移動指令を示す移動指令データ、前記ロボットの先端の移動元及び移動先の位置姿勢を示す基準位置姿勢データ、及び前記モータの温度乃至推定温度を示すモータ温度データを、環境の現在状態を表す状態変数として観測する状態観測部と、前記モータの温度乃至推定温度の適否判定結果を示すモータ温度判定データを、判定データとして取得する判定データ取得部と、前記ロボットの先端の移動元・移動先の位置姿勢及び前記モータの温度乃至推定温度と、前記モータの移動指令とを関連付けて学習した学習部と、前記状態観測部が観測した状態変数と、前記学習部による学習結果に基づいて、前記ロボットの各軸を駆動するモータの移動指令を出力する意思決定部と、を備える機械学習装置である。
【発明の効果】
【００１４】
本発明により、機械学習を応用してロボットの各軸を駆動するモータの移動指令を算出することで、ロボットの各軸を駆動するモータの稼動寿命を延ばすようにロボットを制御することができるようになる。
【図面の簡単な説明】
【００１５】
【図１】第１の実施形態による制御装置の概略的なハードウェア構成図である。
【図２】第１の実施形態による制御装置の概略的な機能ブロック図である。
【図３】制御装置の一形態を示す概略的な機能ブロック図である。
【図４】機械学習方法の一形態を示す概略的なフローチャートである。
【図５Ａ】ニューロンを説明する図である。
【図５Ｂ】ニューラルネットワークを説明する図である。
【図６】第２の実施形態による制御装置の概略的な機能ブロック図である。
【図７】制御装置を組み込んだシステムの一形態を示す概略的な機能ブロック図である。
【図８】７軸多関節ロボットの例を示す図である。
【図９】７軸多関節ロボットの動作について説明する図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態を図面と共に説明する。
図１は第１の実施形態による制御装置の要部を示す概略的なハードウェア構成図である。制御装置１は、例えばロボット等の製造機械を制御する制御装置として実装することができる。また、制御装置１は、例えばロボット等の製造機械を制御する制御装置に併設されたパソコンや、制御装置に有線／無線のネットワークを介して接続されたセルコンピュータ、ホストコンピュータ、エッジサーバ、クラウドサーバ等のコンピュータとして実装することができる。本実施形態では、制御装置１を、ロボットを制御する制御装置として実装した場合の例を示す。
【００１７】
本実施形態による制御装置１が備えるＣＰＵ１１は、制御装置１を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステム・プログラムをバス２０を介して読み出し、該システム・プログラムに従って制御装置１の全体を制御する。ＲＡＭ１３には一時的な計算データや表示データ、図示しない入力部を介してオペレータが入力した各種データ等が一時的に格納される。
【００１８】
不揮発性メモリ１４は、例えば図示しないバッテリでバックアップされるなどして、制御装置１の電源がオフされても記憶状態が保持されるメモリとして構成される。不揮発性メモリ１４には、インタフェース１５を介して外部機器７２から読み込まれたプログラムや表示器／ＭＤＩユニット７０を介して入力されたプログラム、制御装置１の各部やロボットから取得された各種データ（例えば、ロボットの位置姿勢（各軸位置）、ロボットの各軸を駆動するモータの温度等）が記憶されている。不揮発性メモリ１４に記憶されたプログラムや各種データは、実行時／利用時にはＲＡＭ１３に展開されても良い。また、ＲＯＭ１２には、公知の解析プログラムなどの各種のシステム・プログラム（後述する機械学習装置１００とのやりとりを制御するためのシステム・プログラムを含む）があらかじめ書き込まれている。
【００１９】
インタフェース１５は、制御装置１とアダプタ等の外部機器７２と接続するためのインタフェースである。外部機器７２側からはプログラムや各種パラメータ等が読み込まれる。また、制御装置１内で編集したプログラムや各種パラメータ等は、外部機器７２を介して外部記憶手段に記憶させることができる。ＰＭＣ（プログラマブル・マシン・コントローラ）１６は、制御装置１に内蔵されたシーケンス・プログラムでロボット及び該ロボットの周辺装置にＩ／Ｏユニット１７を介して信号を出力し制御する。また、ロボットの本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、ＣＰＵ１１に渡す。
【００２０】
表示器／ＭＤＩユニット７０はディスプレイやキーボード等を備えた手動データ入力装置であり、インタフェース１８は表示器／ＭＤＩユニット７０のキーボードからの指令，データを受けてＣＰＵ１１に渡す。インタフェース１９は各軸を手動で駆動させる際に用いる手動パルス発生器等を備えた操作盤７１に接続されている。
【００２１】
ロボットの関節を動かす各軸を制御するための軸制御回路３０はＣＰＵ１１からの軸の移動指令量を受けて、軸の指令をサーボアンプ４０に出力する。サーボアンプ４０はこの指令を受けて、ロボットが備える軸を移動させるサーボモータ５０を駆動する。軸のサーボモータ５０は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路３０にフィードバックし、位置・速度のフィードバック制御を行う。なお、図１のハードウェア構成図では軸制御回路３０、サーボアンプ４０、サーボモータ５０は１つずつしか示されていないが、実際には制御対象となるロボットに備えられた軸の数（例えば、７軸ロボットであれば７つ）だけ用意される。
【００２２】
インタフェース２１は、制御装置１と機械学習装置１００とを接続するためのインタフェースである。機械学習装置１００は、機械学習装置１００全体を統御するプロセッサ１０１と、システム・プログラム等を記憶したＲＯＭ１０２、機械学習に係る各処理における一時的な記憶を行うためのＲＡＭ１０３、及び学習モデル等の記憶に用いられる不揮発性メモリ１０４を備える。機械学習装置１００は、インタフェース２１を介して制御装置１で取得可能な各情報（例えば、ロボットの位置姿勢（各軸位置）、ロボットの各軸を駆動するモータの温度等）を観測することができる。また、制御装置１は、機械学習装置１００から出力される、各軸の移動量を受けて、ロボットの各軸の移動を制御する。
【００２３】
図２は、第１の実施形態による制御装置１と機械学習装置１００の概略的な機能ブロック図である。図２に示した各機能ブロックは、図１に示した制御装置１が備えるＣＰＵ１１、及び機械学習装置１００のプロセッサ１０１が、それぞれのシステム・プログラムを実行し、制御装置１及び機械学習装置１００の各部の動作を制御することにより実現される。
【００２４】
本実施形態の制御装置１は、機械学習装置１００から出力されたロボット２の各軸を駆動するモータの移動指令に基づいてロボット２を制御する制御部３４を備える。制御部３４は、一般にプログラム等により指定されたロボット２のロボットハンドの先端の移動先の位置姿勢に従ってロボットの動作を制御するが、その際に、機械学習装置１００から該移動先へとロボット２のロボットハンドの先端を移動させる際の各軸を駆動するモータの移動指令が出力されると、前記プログラム等により指令された位置姿勢へとロボット２のロボットハンドの先端を移動させるための移動を、機械学習装置１００から出力された移動指令の通りとなるように制御する。
【００２５】
一方、制御装置１が備える機械学習装置１００は、ロボット２のロボットハンドの先端の移動元・移動先の位置姿勢及びロボット２の各軸を駆動するモータの温度に対するロボット２の各軸を駆動するモータの移動指令を、いわゆる機械学習により自ら学習するためのソフトウェア（学習アルゴリズム等）及びハードウェア（プロセッサ１０１等）を含む。制御装置１が備える機械学習装置１００が学習するものは、ロボット２のロボットハンドの先端の移動元・移動先の位置姿勢及びロボット２の各軸を駆動するモータの温度と、ロボット２の各軸を駆動するモータの移動指令との、相関性を表すモデル構造に相当する。
【００２６】
図２に機能ブロックで示すように、制御装置１が備える機械学習装置１００は、ロボット２の各軸を駆動するモータの移動指令を示す移動指令データＳ１、ロボット２のロボットハンドの先端の移動元・移動先の位置姿勢を示す基準位置姿勢データＳ２、及びロボット２の各軸を駆動するモータの温度を示すモータ温度データＳ３を含む環境の現在状態を表す状態変数Ｓとして観測する状態観測部１０６と、決定されたロボット２の各軸を駆動するモータの移動指令に基づいて為されたロボット２のロボットハンドの先端の移動によるモータ温度の変化状態を判定するためのモータ温度判定データＤ１を含む判定データＤを取得する判定データ取得部１０８と、状態変数Ｓと判定データＤとを用いて、ロボット２のロボットハンドの先端の移動元・移動先の位置姿勢及びロボット２の各軸を駆動するモータの温度と、ロボット２の各軸を駆動するモータの移動指令を関連付けて学習する学習部１１０とを備える。
【００２７】
状態観測部１０６が観測する状態変数Ｓのうち、移動指令データＳ１は、ロボット２の各軸を駆動するモータの移動指令として取得することができる。ロボット２の各軸を駆動するモータの移動指令としては、例えばロボット２の各軸を駆動するモータに対して出力される移動量（正負の符号を含む）の配列等が例示される。
【００２８】
移動指令データＳ１は、機械学習装置１００が学習部１１０の学習結果に基づいて１つ前の学習周期におけるロボット２のロボットハンドの先端の移動元・移動先の位置姿勢及びロボット２の各軸を駆動するモータの温度に対して、当該学習周期において決定したロボット２の各軸を駆動するモータの移動指令をそのまま用いることができる。このような手法を取る場合には、機械学習装置１００はロボット２の各軸を駆動するモータの移動指令を学習周期毎にＲＡＭ１０３に一時的に記憶しておき、状態観測部１０６は、ＲＡＭ１０３から１つ前の学習周期におけるロボット２の各軸を駆動するモータの移動指令を今回の学習周期の移動指令データＳ１として取得するようにしても良い。
【００２９】
状態観測部１０６が観測する状態変数Ｓのうち、基準位置姿勢データＳ２は、ロボット２から取得された又は制御装置１によるロボット２の制御に用いられるプログラムから取得されたロボット２のロボットハンドの先端の現在の位置姿勢（移動元の位置姿勢）、及び、制御装置１によるロボット２の制御に用いられるプログラムから取得されたロボット２のロボットハンドの先端の移動先の位置姿勢として取得することができる。なお、移動元の位置姿勢については、ロボット２の各軸の位置により示すようにしても良いが、移動先の位置姿勢については、ロボット２の各軸の位置により示す必要は無く、ロボット２のロボットハンドの先端の位置と向きにより示すようにしても良い。
【００３０】
状態観測部１０６が観測する状態変数Ｓのうち、モータ温度データＳ３は、ロボット２の各軸を駆動するモータの温度として取得することができる。ロボット２の各軸を駆動するモータの温度は、モータに温度センサが取り付けられている場合には、該温度センサの検出値を利用することができる。また、ロボット２の各軸を駆動するモータの温度は、モータに温度センサが取り付けられていない場合であっても、各モータの駆動履歴やモータ（の巻き線）に流れる電流の抵抗値等に基づいて推定することができる。なお、本明細書では、特に断りの無い場合、モータの温度には推定されたモータの温度を含む。
【００３１】
判定データ取得部１０８は、モータ温度判定データＤ１として、決定されたロボット２の各軸を駆動するモータの移動指令に基づいて為されたロボット２のロボットハンドの先端の移動後のモータ温度の判定結果を用いることができる。判定データ取得部１０８が用いるモータ温度判定データＤ１としては、例えば決定されたロボット２の各軸を駆動するモータの移動指令に基づいて実際にロボット２が動作した後に取得された各モータの温度が予め定めた所定の閾値以内であるか（適）、該閾値を超えた（否）といったような、適宜設定された判定基準により判定された結果を用いればよい。モータ温度判定データＤ１としては、例えば予め定めた評価用の関数を用いてロボット２の各軸を駆動するモータの温度に基づく評価値を算出し、その評価値を用いるようにしても良い。
【００３２】
なお、判定データ取得部１０８は、学習部１１０による学習の段階では必須の構成となるが、学習部１１０によるロボット２のロボットハンドの先端の移動元・移動先の位置姿勢及びロボット２の各軸を駆動するモータの温度とロボット２の各軸を駆動するモータの移動指令とを関連付けた学習が完了した後には必ずしも必須の構成ではない。例えば、学習が完了した機械学習装置１００を顧客に出荷する場合等には、判定データ取得部１０８を取り外して出荷するようにしても良い。
【００３３】
学習部１１０に対して同時に入力される状態変数Ｓは、学習部１１０による学習周期で考えた場合、判定データＤが取得された１学習周期前のデータに基づくものとなる。このように、制御装置１が備える機械学習装置１００が学習を進める間、環境においては、基準位置姿勢データＳ２及びモータ温度データＳ３の取得、取得した各データに基づいて決定された移動指令データＳ１に基づいたロボット２の各軸の移動、判定データＤの取得が繰り返し実施される。
【００３４】
学習部１１０は、機械学習と総称される任意の学習アルゴリズムに従い、ロボット２のロボットハンドの先端の移動元・移動先の位置姿勢及びロボット２の各軸を駆動するモータの温度に対する、ロボット２の各軸を駆動するモータの移動指令を学習する。学習部１１０は、前述した状態変数Ｓと判定データＤとを含むデータ集合に基づく学習を反復実行することができる。ロボット２のロボットハンドの先端の移動元・移動先の位置姿勢及びロボット２の各軸を駆動するモータの温度に対する、ロボット２の各軸を駆動するモータの移動指令の学習サイクルの反復中、状態変数Ｓは、上記したように１学習周期前におけるロボット２のロボットハンドの先端の移動元・移動先の位置姿勢及びロボット２の各軸を駆動するモータの温度、及び１学習周期前において決定されたロボット２の各軸を駆動するモータの移動指令から取得し、また判定データＤは、決定されたロボット２の各軸を駆動するモータの移動指令に基づいて制御されるロボット２の動作後のモータ温度の適否判定結果とする。
【００３５】
このような学習サイクルを繰り返すことにより、学習部１１０は、ロボット２のロボットハンドの先端の移動元・移動先の位置姿勢及びロボット２の各軸を駆動するモータの温度と、ロボット２の各軸を駆動するモータの移動指令との相関性を暗示する特徴を識別することができるようになる。学習アルゴリズムの開始時にはロボット２のロボットハンドの先端の移動元・移動先の位置姿勢及びロボット２の各軸を駆動するモータの温度と、ロボット２の各軸を駆動するモータの移動指令の相関性は実質的に未知であるが、学習部１１０は、学習を進めるに従い徐々に特徴を識別して相関性を解釈する。ロボット２のロボットハンドの先端の移動元・移動先の位置姿勢及びロボット２の各軸を駆動するモータの温度と、ロボット２の各軸を駆動するモータの移動指令との相関性が、ある程度信頼できる水準まで解釈されると、学習部１１０が反復出力する学習結果は、現在状態（つまりロボット２のロボットハンドの先端の移動元・移動先の位置姿勢及びロボット２の各軸を駆動するモータの温度）に対して、ロボット２の各軸を駆動するモータの移動指令をどう決定するべきかという行動の選択（つまり意思決定）を行うために使用できるものとなる。つまり学習部１１０は、学習アルゴリズムの進行に伴い、ロボット２のロボットハンドの先端の移動元・移動先の位置姿勢及びロボット２の各軸を駆動するモータの温度に対してロボット２の各軸を駆動するモータの移動指令をどのように設定するべきかという行動との、相関性を最適解に徐々に近づけることができる。
【００３６】
意思決定部１２２は、学習部１１０が学習した結果に基づいて、ロボット２の各軸を駆動するモータの移動指令を決定し、決定したロボット２の各軸を駆動するモータの移動指令を制御部３４へと出力する。意思決定部１２２は、学習部１１０による学習が完了した状態において、機械学習装置１００にロボット２のロボットハンドの先端の移動元・移動先の位置姿勢及びロボット２の各軸を駆動するモータの温度が入力されると、ロボット２の各軸を駆動するモータの移動指令を出力する。意思決定部が決定するロボット２の各軸を駆動するモータの移動指令は、基準位置姿勢データＳ２に含まれる、ロボット２のロボットハンドの先端の移動元の位置姿勢から、ロボット２のロボットハンドの先端の移動先の位置指令へと移動させることができる移動指令であり、ロボット２の各軸を駆動するモータの移動量の組合せとして表現される。基準位置姿勢データＳ２に含まれる、ロボット２のロボットハンドの先端の移動先の位置姿勢を実現することが可能なモータの位置の組み合わせは複数存在し得るので、意思決定部１２２は、状態変数Ｓと学習部１１０が学習した結果に基づいて、適切なロボット２の各軸を駆動するモータの移動指令を決定する。
【００３７】
上記したように、制御装置１が備える機械学習装置１００は、状態観測部１０６が観測した状態変数Ｓと判定データ取得部１０８が取得した判定データＤとを用いて、学習部１１０が機械学習アルゴリズムに従い、ロボット２のロボットハンドの先端の移動元・移動先の位置姿勢及びロボット２の各軸を駆動するモータの温度に対するロボット２の各軸を駆動するモータの移動指令を学習するものである。状態変数Ｓは、移動指令データＳ１、基準位置姿勢データＳ２、及びモータ温度データＳ３といったデータで構成され、また判定データＤは、制御装置１がロボット２から取得した情報を解析することで一義的に求められる。したがって、制御装置１が備える機械学習装置１００によれば、学習部１１０の学習結果を用いることで、ロボット２のロボットハンドの先端の移動元・移動先の位置姿勢及びロボット２の各軸を駆動するモータの温度に応じた、ロボット２の各軸を駆動するモータの移動指令を、自動的かつ正確に行うことが可能となる。
【００３８】
そして、ロボット２の各軸を駆動するモータの移動指令の決定を、自動的に行うことができれば、ロボット２のロボットハンドの先端の移動元・移動先の位置姿勢（基準位置姿勢データＳ２）及びロボット２の各軸を駆動するモータの温度（モータ温度データＳ３）を把握するだけで、ロボット２の各軸を駆動するモータの移動指令の適切な値を迅速に決定することができる。したがって、ロボット２の各軸を駆動するモータの移動指令の決定を効率よく行うことができる。
【００３９】
本実施形態の制御装置１が備える機械学習装置１００の一変形例として、状態観測部１０６は、移動指令データＳ１、基準位置姿勢データＳ２、及びモータ温度データＳ３に加えて、更に環境温度を含む環境データＳ４を観測するようにしても良い。環境温度は、ロボット２の近傍に設置された温度センサで検出した値や、作業者が温度計等を見て得た環境温度を表示器／ＭＤＩユニット７０を介して入力した値を用いることができる。
【００４０】
上記変形例によれば、機械学習装置１００は、環境データＳ４として観測した環境温度を考慮して、ロボット２の各軸を駆動するモータの移動指令の学習及び決定をすることができるので、環境温度が低い場合には、一部の高速に動作するモータに多少の負荷を掛けるように移送指令を決定する等といったような、環境温度に応じた適切なロボット２の各軸を駆動するモータの移動指令を決定できるようになる。
【００４１】
本実施形態の制御装置１が備える機械学習装置１００の他の変形例として、判定データ取得部１０８がロボット２の動作の適否を判定するための判定データＤとして、ロボット２の動作のサイクルタイムを示すサイクルタイムデータＤ２を用いることもできる。判定データ取得部１０８は、ロボット２の動作のサイクルタイムとして、ロボット２の各軸を駆動するモータの移動指令に基づく移動の開始から終了までに係る時間を用いることができる。
【００４２】
上記変形例によれば、機械学習装置１００は、ロボット２が動作した後の各モータの温度と、ロボット２の動作のサイクルタイムとのトレードオフを考慮しながら、適切なロボット２の各軸を駆動するモータの移動指令を決定できるようになる。なお、サイクルタイムデータＤ２を導入する場合には、ロボット２が動作した際に各モータの温度が上昇しすぎない範囲で、ロボット２の動作のサイクルタイムを短くするように判断させるようにすると良い。
【００４３】
本実施形態の制御装置１が備える機械学習装置１００の他の変形例として、状態観測部１０６は、状態変数Ｓとして、移動指令データＳ１、基準位置姿勢データＳ２、及びモータ温度データＳ３に加えて、更にロボット２の各軸を駆動するモータに設置された減速機の温度を示す減速機温度データＳ５を観測するようにしても良い。また、その際に、判定データ取得部１０８は、判定データＤとして、モータ温度判定データＤ１に加えて、決定されたロボット２の各軸を駆動するモータの移動指令に基づいて為されたロボット２のロボットハンドの先端の移動による減速機の温度の適否を判定した減速機温度判定データＤ３を取得するようにしても良い。モータに設置された減速機の温度は、減速機の近傍に設置された温度センサで検出した値を用いることができる。
【００４４】
上記変形例によれば、機械学習装置１００は、減速機温度データＳ５、減速機温度判定データＤ３を用いることで、ロボット２の各軸を駆動するモータに設置された減速機の温度を考慮して、ロボット２の各軸を駆動するモータの移動指令の学習及び決定をすることができるようになるので、減速機の温度状態に応じた適切なロボット２の各軸を駆動するモータの移動指令を決定できるようになる。
【００４５】
上記構成を有する機械学習装置１００では、学習部１１０が実行する学習アルゴリズムは特に限定されず、機械学習として公知の学習アルゴリズムを採用できる。図３は、図２に示す制御装置１の一形態であって、学習アルゴリズムの一例として強化学習を実行する学習部１１０を備えた構成を示す。強化学習は、学習対象が存在する環境の現在状態（つまり入力）を観測するとともに現在状態で所定の行動（つまり出力）を実行し、その行動に対し何らかの報酬を与えるというサイクルを試行錯誤的に反復して、報酬の総計が最大化されるような方策（本願の機械学習装置ではロボット２の各軸を駆動するモータの移動指令）を最適解として学習する手法である。
【００４６】
図３に示す制御装置１が備える機械学習装置１００において、学習部１１０は、状態変数Ｓに基づいてロボット２の各軸を駆動するモータの移動指令の決定がされ、決定されたロボット２の各軸を駆動するモータの移動指令に基づくロボット２の動作が為された場合におけるロボット２の該動作の適否判定結果（状態変数Ｓが取得された次の学習周期で用いられる判定データＤに相当）に関連する報酬Ｒを求める報酬計算部１１２と、報酬Ｒを用いて、ロボット２の各軸を駆動するモータの移動指令の価値を表す関数Ｑを更新する価値関数更新部１１４とを備える。学習部１１０は、価値関数更新部１１４が関数Ｑの更新を繰り返すことによってロボット２のロボットハンドの先端の移動元・移動先の位置姿勢及びロボット２の各軸を駆動するモータの温度に対するロボット２の各軸を駆動するモータの移動指令を学習する。
【００４７】
学習部１１０が実行する強化学習のアルゴリズムの一例を説明する。この例によるアルゴリズムは、Ｑ学習（Ｑ−ｌｅａｒｎｉｎｇ）として知られるものであって、行動主体の状態ｓと、その状態ｓで行動主体が選択し得る行動ａとを独立変数として、状態ｓで行動ａを選択した場合の行動の価値を表す関数Ｑ（ｓ，ａ）を学習する手法である。状態ｓで価値関数Ｑが最も高くなる行動ａを選択することが最適解となる。状態ｓと行動ａとの相関性が未知の状態でＱ学習を開始し、任意の状態ｓで種々の行動ａを選択する試行錯誤を繰り返すことで、価値関数Ｑを反復して更新し、最適解に近付ける。ここで、状態ｓで行動ａを選択した結果として環境（つまり状態ｓ）が変化したときに、その変化に応じた報酬（つまり行動ａの重み付け）ｒが得られるように構成し、より高い報酬ｒが得られる行動ａを選択するように学習を誘導することで、価値関数Ｑを比較的短時間で最適解に近付けることができる。
【００４８】
価値関数Ｑの更新式は、一般に下記の数２式のように表すことができる。数２式において、ｓt及びａtはそれぞれ時刻ｔにおける状態及び行動であり、行動ａtにより状態はｓt+1に変化する。ｒt+1は、状態がｓtからｓt+1に変化したことで得られる報酬である。ｍａｘＱの項は、時刻ｔ＋１で最大の価値Ｑになる（と時刻ｔで考えられている）行動ａを行ったときのＱを意味する。α及びγはそれぞれ学習係数及び割引率であり、０＜α≦１、０＜γ≦１で任意設定される。
【００４９】
【数２】
2019136807.tif 000003
【００５０】
学習部１１０がＱ学習を実行する場合、状態観測部１０６が観測した状態変数Ｓ及び判定データ取得部１０８が取得した判定データＤは、更新式の状態ｓに該当し、現在状態（つまり、ロボット２のロボットハンドの先端の移動元・移動先の位置姿勢及びロボット２の各軸を駆動するモータの温度）に対するロボット２の各軸を駆動するモータの移動指令をどのように決定するべきかという行動は、更新式の行動ａに該当し、報酬計算部１１２が求める報酬Ｒは、更新式の報酬ｒに該当する。よって価値関数更新部１１４は、現在状態に対するロボット２の各軸を駆動するモータの移動指令の価値を表す関数Ｑを、報酬Ｒを用いたＱ学習により繰り返し更新する。
【００５１】
報酬計算部１１２が求める報酬Ｒは、例えば、ロボット２の各軸を駆動するモータの移動指令を決定した後に、決定されたロボット２の各軸を駆動するモータの移動指令に基づくロボット２の動作の適否判定結果が「適」と判定される場合（例えば、ロボット２の動作後に各モータ毎に定められたモータ温度の閾値を超えなかった場合、動作のサイクルタイムが縮んだ場合、各減速機毎に定められたモータ温度の閾値を超えなかった場合等）に正（プラス）の報酬Ｒとし、ロボット２の各軸を駆動するモータの移動指令を決定した後に、決定されたロボット２の各軸を駆動するモータの移動指令に基づくロボット２の動作の適否判定結果が「否」と判定される場合（例えば、ロボット２の動作後に各モータ毎に定められたモータ温度の閾値を超えた場合、各減速機毎に定められたモータ温度の閾値を超えた場合等）に負（マイナス）の報酬Ｒとすることができる。正負の報酬Ｒの絶対値は、互いに同一であってもよいし異なっていてもよい。また、判定の条件として、判定データＤに含まれる複数の値を組み合わせて判定するようにしても良い。
【００５２】
また、設定されたロボット２の各軸を駆動するモータの移動指令に基づくロボット２の動作の適否判定結果を、「適」及び「否」の二通りだけでなく複数段階に設定することができる。例として、ロボット２の軸を駆動するモータの温度の閾値がＴmaxである場合、ロボット２の動作後のモータの温度Ｔが、０≦Ｔ＜Ｔmax／５のときは報酬Ｒ＝５を与え、Ｔmax／５≦Ｔ＜Ｔmax／２のときは報酬Ｒ＝３を与え、Ｔmax／２≦Ｔ＜Ｔmaxのときは報酬Ｒ＝１を、Ｔmax≦Ｔのときは報酬Ｒ＝−３（マイナスの報酬）を与えるような構成とすることができる。
【００５３】
また、設定されたロボット２の各軸を駆動するモータの移動指令に基づくロボット２の動作の適否判定結果として、モータ毎に重みを変えた報酬を設定することもできる。モータは、その種類毎に巻き線やベアリング、グリス、構造等に違いがあり、その耐久性も異なってくる。そこで、耐久力が低いモータの温度の上昇に対してはよりマイナスが大きくなるような報酬を与えるようにする、等といったように、モータ毎に報酬の重みを変えて設定することで、ロボット２の構成を考慮した学習をすることが可能となる。
【００５４】
更に、学習の初期段階は判定に用いる閾値を比較的大きく設定し、学習が進行するにつれて判定に用いる閾値を縮小する構成とすることもできる。
【００５５】
価値関数更新部１１４は、状態変数Ｓと判定データＤと報酬Ｒとを、関数Ｑで表される行動価値（例えば数値）と関連付けて整理した行動価値テーブルを持つことができる。この場合、価値関数更新部１１４が関数Ｑを更新するという行為は、価値関数更新部１１４が行動価値テーブルを更新するという行為と同義である。Ｑ学習の開始時には環境の現在状態とロボット２の各軸を駆動するモータの移動指令との相関性は未知であるから、行動価値テーブルにおいては、種々の状態変数Ｓと判定データＤと報酬Ｒとが、無作為に定めた行動価値の値（関数Ｑ）と関連付けた形態で用意されている。なお報酬計算部１１２は、判定データＤが分かれば、これに対応する報酬Ｒを直ちに算出でき、算出した値Ｒが行動価値テーブルに書き込まれる。
【００５６】
ロボット２の動作の適否判定結果に応じた報酬Ｒを用いてＱ学習を進めると、より高い報酬Ｒが得られる行動を選択する方向へ学習が誘導され、選択した行動を現在状態で実行した結果として変化する環境の状態（つまり状態変数Ｓ及び判定データＤ）に応じて、現在状態で行う行動についての行動価値の値（関数Ｑ）が書き換えられて行動価値テーブルが更新される。この更新を繰り返すことにより、行動価値テーブルに表示される行動価値の値（関数Ｑ）は、適正な行動（本発明の場合、ロボット２の各軸を駆動するモータの温度が高温にならないようにロボット２を動作させる行動）であるほど大きな値となるように書き換えられる。このようにして、未知であった環境の現在状態（ロボット２のロボットハンドの先端の移動元・移動先の位置姿勢及びロボット２の各軸を駆動するモータの温度）とそれに対する行動（ロボット２の各軸を駆動するモータの移動指令）との相関性が徐々に明らかになる。つまり行動価値テーブルの更新により、ロボット２のロボットハンドの先端の移動元・移動先の位置姿勢及びロボット２の各軸を駆動するモータの温度と、ロボット２の各軸を駆動するモータの移動指令との関係が最適解に徐々に近づけられる。
【００５７】
図４を参照して、学習部１１０が実行する上記したＱ学習のフロー（つまり機械学習方法の一形態）をさらに説明する。まずステップＳＡ０１で、価値関数更新部１１４は、その時点での行動価値テーブルを参照しながら、状態観測部１０６が観測した状態変数Ｓが示す現在状態で行う行動としてロボット２の各軸を駆動するモータの移動指令を無作為に選択する。次に価値関数更新部１１４は、ステップＳＡ０２で、状態観測部１０６が観測している現在状態の状態変数Ｓを取り込み、ステップＳＡ０３で、判定データ取得部１０８が取得している現在状態の判定データＤを取り込む。次に価値関数更新部１１４は、ステップＳＡ０４で、判定データＤに基づき、ロボット２の各軸を駆動するモータの移動指令が適当であったか否かを判断し、適当であった場合、ステップＳＡ０５で、報酬計算部１１２が求めた正の報酬Ｒを関数Ｑの更新式に適用し、次いでステップＳＡ０６で、現在状態における状態変数Ｓ及び判定データＤと報酬Ｒと行動価値の値（更新後の関数Ｑ）とを用いて行動価値テーブルを更新する。ステップＳＡ０４で、ロボット２の各軸を駆動するモータの移動指令が適当でなかったと判断した場合、ステップＳＡ０７で、報酬計算部１１２が求めた負の報酬Ｒを関数Ｑの更新式に適用し、次いでステップＳＡ０６で、現在状態における状態変数Ｓ及び判定データＤと報酬Ｒと行動価値の値（更新後の関数Ｑ）とを用いて行動価値テーブルを更新する。学習部１１０は、ステップＳＡ０１〜ＳＡ０７を繰り返すことで行動価値テーブルを反復して更新し、ロボット２の各軸を駆動するモータの移動指令の学習を進行させる。なお、ステップＳＡ０４からステップＳＡ０７までの報酬Ｒを求める処理及び価値関数の更新処理は、判定データＤに含まれるそれぞれのデータについて実行される。
【００５８】
前述した強化学習を進める際に、例えばニューラルネットワークを応用することができる。図５Ａは、ニューロンのモデルを模式的に示す。図５Ｂは、図５Ａに示すニューロンを組み合わせて構成した三層のニューラルネットワークのモデルを模式的に示す。ニューラルネットワークは、例えば、ニューロンのモデルを模した演算装置や記憶装置等によって構成できる。
【００５９】
図５Ａに示すニューロンは、複数の入力ｘ（ここでは一例として、入力ｘ1〜入力ｘ3）に対する結果ｙを出力するものである。各入力ｘ1〜ｘ3には、この入力ｘに対応する重みｗ（ｗ1〜ｗ3）が掛けられる。これにより、ニューロンは、次の数３式により表現される出力ｙを出力する。なお、数３式において、入力ｘ、出力ｙ及び重みｗは、すべてベクトルである。また、θはバイアスであり、ｆkは活性化関数である。
【００６０】
【数３】
2019136807.tif 000004
【００６１】
図５Ｂに示す三層のニューラルネットワークは、左側から複数の入力ｘ（ここでは一例として、入力ｘ１〜入力ｘ３）が入力され、右側から結果ｙ（ここでは一例として、結果ｙ１〜結果ｙ３）が出力される。図示の例では、入力ｘ１、ｘ２、ｘ３のそれぞれに対応の重み（総称してｗ１で表す)が乗算されて、個々の入力ｘ１、ｘ２、ｘ３がいずれも３つのニューロンＮ１１、Ｎ１２、Ｎ１３に入力されている。
【００６２】
図５Ｂでは、ニューロンＮ１１〜Ｎ１３の各々の出力を、総称してｚ１で表す。ｚ１は、入カベクトルの特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルｚ１のそれぞれに対応の重み（総称してｗ２で表す）が乗算されて、個々の特徴ベクトルｚ１がいずれも２つのニューロンＮ２１、Ｎ２２に入力されている。特徴ベクトルｚ１は、重みｗ１と重みｗ２との間の特徴を表す。
【００６３】
図５Ｂでは、ニューロンＮ２１〜Ｎ２２の各々の出力を、総称してｚ２で表す。ｚ２は、特徴ベクトルｚ１の特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルｚ２のそれぞれに対応の重み（総称してｗ３で表す）が乗算されて、個々の特徴ベクトルｚ２がいずれも３つのニューロンＮ３１、Ｎ３２、Ｎ３３に入力されている。特徴ベクトルｚ２は、重みｗ２と重みｗ３との間の特徴を表す。最後にニューロンＮ３１〜Ｎ３３は、それぞれ結果ｙ１〜ｙ３を出力する。
なお、三層以上の層を為すニューラルネットワークを用いた、いわゆるディープラーニングの手法を用いることも可能である。
【００６４】
制御装置１が備える機械学習装置１００においては、ニューラルネットワークをＱ学習における価値関数として用い、状態変数Ｓと行動ａとを入力ｘとして、学習部１１０が上記したニューラルネットワークに従う多層構造の演算を行うことで、当該状態における当該行動の価値（結果ｙ）を出力することもできる。なお、ニューラルネットワークの動作モードには、学習モードと価値予測モードとがあり、例えば学習モードで学習データセットを用いて重みｗを学習し、学習した重みｗを用いて価値予測モードで行動の価値判断を行うことができる。なお価値予測モードでは、検出、分類、推論等を行うこともできる。
【００６５】
上記した制御装置１の構成は、プロセッサ１０１が実行する機械学習方法（或いはソフトウェア）として記述できる。この機械学習方法は、ロボット２の各軸を駆動するモータの移動指令を学習する機械学習方法であって、コンピュータのＣＰＵが、移動指令データＳ１、基準位置姿勢データＳ２、及びモータ温度データＳ３を、ロボット２が動作する環境の現在状態を表す状態変数Ｓとして観測するステップと、決定されたロボット２の各軸を駆動するモータの移動指令に基づくロボット２の動作の適否判定結果を示す判定データＤを取得するステップと、状態変数Ｓと判定データＤとを用いて、基準位置姿勢データＳ２、モータ温度データＳ３と、ロボット２の各軸を駆動するモータの移動指令とを関連付けて学習するステップとを有する。
【００６６】
図６は、第２の実施形態による制御装置１と機械学習装置１００の概略的な機能ブロック図であって、学習アルゴリズムの他の例として教師あり学習を実行する学習部１１０を備えた構成を示したものである。教師あり学習は、入力とそれに対応する出力との既知のデータセット（教師データと称する）が与えられ、それら教師データから入力と出力との相関性を暗示する特徴を識別することで、新たな入力に対する所要の出力を推定するための相関性モデルを学習する手法である。
【００６７】
本実施形態の制御装置１が備える機械学習装置１００は、判定データ取得部１０８に代えて、環境の状態に対して適切に行われたロボット２の各軸を駆動するモータの移動指令を示す移動指令データＬ１を含むラベルデータＬを取得するラベルデータ取得部１０９を備える。ラベルデータ取得部１０９は、ある状態において適切であるとされるロボット２の各軸を駆動するモータの移動指令を移動指令データＬ１として取得する。この移動指令データＬ１は、過去に行われたロボット２の動作時に、ロボット２のロボットハンドの先端の移動元・移動先の位置姿勢（基準位置姿勢データＳ２）、ロボット２の各軸を駆動するモータの温度（モータ温度データＳ３）、及び、ロボット２の各軸を駆動するモータの移動指令をログデータとして記録しておき、該ログデータを解析し、ロボット２の各軸を駆動するモータの温度を必要以上に高温にすることなくロボット２を動作させることができた移動指令のデータを、適切な移動指令のデータ（移動指令データＬ１）として取得するようにすれば良い。何を以って適切な移動指令のデータであるとするかは、第１の実施形態における判定データＤに対する判定と同様に考えればよい。
【００６８】
本実施形態の状態観測部１０６は、移動指令データＳ１を観測する必要は無い。また、ラベルデータ取得部１０９は、判定データ取得部１０８と同様に、学習部１１０による学習の段階では必須の構成となるが、学習部１１０によるロボット２のロボットハンドの先端の移動元・移動先の位置姿勢及びロボット２の各軸を駆動するモータの温度とロボット２の各軸を駆動するモータの移動指令とを関連付けた学習が完了した後には必ずしも必須の構成ではない。
【００６９】
図６に示す制御装置１が備える機械学習装置１００において、学習部１１０は、ロボット２のロボットハンドの先端の移動元・移動先の位置姿勢及びロボット２の各軸を駆動するモータの温度からロボット２の各軸を駆動するモータの移動指令を推定する相関性モデルＭと過去に取得されたロボット２のロボットハンドの先端の移動元・移動先の位置姿勢及びロボット２の各軸を駆動するモータの温度及び適切なロボット２の各軸を駆動するモータの移動指令の結果から得られた教師データＴから識別される相関性特徴との誤差Ｅを計算する誤差計算部１１６と、誤差Ｅを縮小するように相関性モデルＭを更新するモデル更新部１１８とを備える。学習部１１０は、モデル更新部１１８が相関性モデルＭの更新を繰り返すことによってロボット２のロボットハンドの先端の移動元・移動先の位置姿勢及びロボット２の各軸を駆動するモータの温度からのロボット２の各軸を駆動するモータの移動指令の推定を学習する。
【００７０】
相関性モデルＭの初期値は、例えば、状態変数ＳとラベルデータＬとの相関性を単純化して（例えばＮ次関数で）表現したものであり、教師あり学習の開始前に学習部１１０に与えられる。教師データＴは、本発明では上述したように過去に取得されたロボット２のロボットハンドの先端の移動元・移動先の位置姿勢及びロボット２の各軸を駆動するモータの温度とそれに対して適切に指令されたロボット２の各軸を駆動するモータの移動指令のデータとを利用することができ、制御装置１の運用時に随時学習部１１０に与えられる。誤差計算部１１６は、学習部１１０に随時与えられた教師データＴにより、ロボット２のロボットハンドの先端の移動元・移動先の位置姿勢及びロボット２の各軸を駆動するモータの温度とロボット２の各軸を駆動するモータの移動指令との相関性を暗示する相関性特徴を識別し、この相関性特徴と、現在状態における状態変数Ｓ及びラベルデータＬに対応する相関性モデルＭとの誤差Ｅを求める。モデル更新部１１８は、例えば予め定めた更新ルールに従い、誤差Ｅが小さくなる方向へ相関性モデルＭを更新する。
【００７１】
次の学習サイクルでは、誤差計算部１１６は、更新後の相関性モデルＭに従って状態変数Ｓを用いてロボット２の各軸を駆動するモータの移動指令の推定が行われ、該推定の結果と実際に取得されたラベルデータＬの誤差Ｅを求め、モデル更新部１１８が再び相関性モデルＭを更新する。このようにして、未知であった環境の現在状態とそれに対する推定との相関性が徐々に明らかになる。学習部１１０による学習が完了した時点で、意思決定部１２２は学習部１１０が学習した結果を用いて、状態観測部１０６が観測したロボット２のロボットハンドの先端の移動元・移動先の位置姿勢（基準位置姿勢データＳ２）、ロボット２の各軸を駆動するモータの温度（モータ温度データＳ３）に基づいて、ロボット２の各軸を駆動する適切なモータの移動指令を推定して出力することができるようになる。なお、第２の実施形態においても、第１の実施形態と同様に、状態変数Ｓとして、様々なものを観測するようにできる。
【００７２】
図７は、制御装置１を備えた第３の実施形態によるシステム１７０を示す。システム１７０は、セルコンピュータやホストコンピュータ、クラウドサーバ等のコンピュータの一部として実装された少なくとも１台の制御装置１と、制御の対象となる複数のロボット２と、制御装置１、ロボット２を互いに接続する有線／無線のネットワーク１７２とを備える。
【００７３】
上記構成を有するシステム１７０は、機械学習装置１００を備える制御装置１が、学習部１１０の学習結果を用いて、ロボット２のロボットハンドの先端の移動元・移動先の位置姿勢及びロボット２の各軸を駆動するモータの温度に対するロボット２の各軸を駆動するモータの移動指令を、それぞれのロボット２毎に自動的かつ正確に求めることができる。また、制御装置１の機械学習装置１００が、複数のロボット２のそれぞれについて得られた状態変数Ｓ及び判定データＤに基づき、全てのロボット２に共通するロボット２の各軸を駆動するモータの移動指令を学習し、その学習結果を全てのロボット２の動作において共有するように構成できる。したがってシステム１７０によれば、より多様なデータ集合（状態変数Ｓ及び判定データＤを含む）を入力として、ロボット２の各軸を駆動するモータの移動指令の学習の速度や信頼性を向上させることができる。
【００７４】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【００７５】
例えば、機械学習装置１００が実行する学習アルゴリズムや演算アルゴリズム、制御装置１が実行する制御アルゴリズム等は、上述したものに限定されず、様々なアルゴリズムを採用できる。
【００７６】
また、上記した実施形態では制御装置１と機械学習装置１００が異なるＣＰＵを有する装置として説明しているが、機械学習装置１００は制御装置１が備えるＣＰＵ１１と、ＲＯＭ１２に記憶されるシステム・プログラムにより実現するようにしても良い。
【符号の説明】
【００７７】
１  制御装置
２  ロボット
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  不揮発性メモリ
１５，１８，１９  インタフェース
１７  Ｉ／Ｏユニット
２０  バス
２１  インタフェース
３０  軸制御回路
３４  制御部
４０  サーボアンプ
５０  サーボモータ
７０  表示器／ＭＤＩユニット
７１  操作盤
７２  外部機器
１００  機械学習装置
１０１  プロセッサ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  不揮発性メモリ
１０６  状態観測部
１０８  判定データ取得部
１０９  ラベルデータ取得部
１１０  学習部
１１２  報酬計算部
１１４  価値関数更新部
１１６  誤差計算部
１１８  モデル更新部
１２２  意思決定部
１７０  システム
１７２  ネットワーク
【図１】
2019136807.tif 000005
【図２】
2019136807.tif 000006
【図３】
2019136807.tif 000007
【図４】
2019136807.tif 000008
【図５Ａ】
2019136807.tif 000009
【図５Ｂ】
2019136807.tif 000010
【図６】
2019136807.tif 000011
【図７】
2019136807.tif 000012
【図８】
2019136807.tif 000013
【図９】
2019136807.tif 000014