(57)【要約】【課題】少ない反力の物体を把持するための制御を可能とする制御装置及び機械学習装置を提供すること。【解決手段】本発明の制御装置１が備える機械学習装置１００は、把持対象物の形状に係る把持対象物形状データを、環境の現在状態を表す状態変数として観測する状態観測部１０６と、把持対象物を把持する際のロボットのハンドの幅を示す把持幅データを、ラベルデータとして取得するラベルデータ取得部１０８と、状態変数とラベルデータとを用いて、把持対象物形状データと、把持幅データとを関連付けて学習する学習部１１０と、を備える。【選択図】図２
2019093472.tif 000002
【特許請求の範囲】
【請求項１】
少ない反力の把持対象物を把持する際のロボットのハンドの幅を推定する制御装置において、
前記把持対象物の形状に対する前記把持対象物を把持する際の前記ロボットのハンドの幅の推定を学習する機械学習装置を備え、
前記把持対象物の形状に係る把持対象物形状データを、環境の現在状態を表す状態変数として観測する状態観測部と、
前記把持対象物を把持する際の前記ロボットのハンドの幅を示す把持幅データを、ラベルデータとして取得するラベルデータ取得部と、
前記状態変数と前記ラベルデータとを用いて、前記把持対象物形状データと、前記把持幅データとを関連付けて学習する学習部と、
を備える制御装置。
【請求項２】
前記状態観測部は、状態変数として更に周辺の状態を示す周辺状態データを観測し、
前記学習部は、前記把持対象物形状データ及び前記周辺状態データと、前記把持幅データとを関連付けて学習する、
請求項１に記載の制御装置。
【請求項３】
前記状態観測部は、状態変数として更に把持対象物の品種を示す品種データを観測し、
前記学習部は、前記把持対象物形状データ及び前記品種データと、前記把持幅データとを関連付けて学習する、
請求項１に記載の制御装置。
【請求項４】
前記学習部は、
前記状態変数から前記把持対象物を把持する際の前記ロボットのハンドの幅を推定する相関性モデルと、予め用意された教師データから識別される相関性特徴との誤差を計算する誤差計算部と、
前記誤差を縮小するように前記相関性モデルを更新するモデル更新部とを備える、
請求項１〜３のいずれか１つに記載の制御装置。
【請求項５】
前記学習部は、前記状態変数と前記ラベルデータとを多層構造で演算する、
請求項１〜４のいずれか１つに記載の制御装置。
【請求項６】
前記学習部による学習結果に基づいて、前記把持対象物を把持する際の前記ロボットのハンドの幅の推定結果を出力する推定結果出力部を更に備える、
請求項１〜５のいずれか１つに記載の制御装置。
【請求項７】
前記機械学習装置は、クラウドサーバに存在する、
請求項１〜６のいずれか１つに記載の制御装置。
【請求項８】
少ない反力の把持対象物の形状に対する前記把持対象物を把持する際のロボットのハンドの幅の推定を学習する機械学習装置であって、
前記把持対象物の形状に係る把持対象物形状データを、環境の現在状態を表す状態変数として観測する状態観測部と、
前記把持対象物を把持する際の前記ロボットのハンドの幅を示す把持幅データを、ラベルデータとして取得するラベルデータ取得部と、
前記状態変数と前記ラベルデータとを用いて、前記把持対象物形状データと、前記把持幅データとを関連付けて学習する学習部と、
を備える機械学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置及び機械学習装置に関し、特に少ない反力の物体を把持するための制御を行う制御装置及び機械学習装置に関する。
【背景技術】
【０００２】
従来から機械を制御して物体を把持する際には、物体を把持するための機械的な機構部を物体に接触し押し付けて、モータの電流値や力センサで検出した力およびモーメントを、物体を把持する動力へとフィードバックすることにより実現している（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−０２４１３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般に、モータの電流値や力センサで力およびモーメントを検出するためには物体からの反力が必要であるため、豆腐やシュークリーム等のような柔らかい物体のように少ない反力の物体を把持する場合には充分な反力が検出できないため、当該物体を把持する制御をすることは困難である。
【０００５】
また、シュークリームやパン等のような柔らかい物体は形状の誤差が大きいので、機構部を駆動するモータの電流値や力センサで検出した力およびモーメントを、物体を把持する動力へとフィードバックする方法では、その誤差が原因で必要以上に強く物体をはさんでしまうことで物体を損傷してしまう恐れがある。
【０００６】
そこで本発明の目的は、少ない反力の物体を把持するための制御を可能とする制御装置及び機械学習装置を提供することである。
【課題を解決するための手段】
【０００７】
本発明の制御装置は、モータの電流値や力センサで力およびモーメントを検出する方法を機械学習と測長センサに置き替えて把持位置の制御を行うことにより、上記課題を解決する。
【０００８】
そして、本発明の一態様は、少ない反力の把持対象物を把持する際のロボットのハンドの幅を推定する制御装置において、前記把持対象物の形状に対する前記把持対象物を把持する際の前記ロボットのハンドの幅の推定を学習する機械学習装置を備え、前記把持対象物の形状に係る把持対象物形状データを、環境の現在状態を表す状態変数として観測する状態観測部と、前記把持対象物を把持する際の前記ロボットのハンドの幅を示す把持幅データを、ラベルデータとして取得するラベルデータ取得部と、前記状態変数と前記ラベルデータとを用いて、前記把持対象物形状データと、前記把持幅データとを関連付けて学習する学習部と、を備える制御装置である。
【０００９】
本発明の他の態様は、少ない反力の把持対象物の形状に対する前記把持対象物を把持する際のロボットのハンドの幅の推定を学習する機械学習装置であって、前記把持対象物の形状に係る把持対象物形状データを、環境の現在状態を表す状態変数として観測する状態観測部と、前記把持対象物を把持する際の前記ロボットのハンドの幅を示す把持幅データを、ラベルデータとして取得するラベルデータ取得部と、前記状態変数と前記ラベルデータとを用いて、前記把持対象物形状データと、前記把持幅データとを関連付けて学習する学習部と、を備える機械学習装置である。
【発明の効果】
【００１０】
本発明により、少ない反力の物体を損傷することなく且つ確実に機械に把持させることができるようになる。
【図面の簡単な説明】
【００１１】
【図１】一実施形態による制御装置の概略的なハードウェア構成図である。
【図２】一実施形態による制御装置の概略的な機能ブロック図である。
【図３】制御装置の一形態を示す概略的な機能ブロック図である。
【図４Ａ】ニューロンを説明する図である。
【図４Ｂ】ニューラルネットワークを説明する図である。
【図５】制御装置を組み込んだシステムの一形態を示す概略的な機能ブロック図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態を図面と共に説明する。
図１は第１の実施形態による制御装置の要部を示す概略的なハードウェア構成図である。制御装置１は、例えばロボットを制御する制御装置として実装することができる。また、制御装置１は、ロボットを制御する制御装置とネットワークを介して接続されたセルコンピュータ、ホストコンピュータ、クラウドサーバ等のコンピュータとして実装することが出来る。図１は、ロボットを制御する制御装置として制御装置１を実装した場合の例を示している。
【００１３】
本実施形態による制御装置１が備えるＣＰＵ１１は、制御装置１を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステム・プログラムをバス２０を介して読み出し、該システム・プログラムに従って制御装置１全体を制御する。ＲＡＭ１３には一時的な計算データや表示データ、図示しない入力部を介してオペレータが入力した各種データ等が一時的に格納される。
【００１４】
不揮発性メモリ１４は、例えば図示しないバッテリでバックアップされるなどして、制御装置１の電源がオフされても記憶状態が保持されるメモリとして構成される。不揮発性メモリ１４には、インタフェース１５を介して読み込まれた制御用プログラムや後述する表示器／ＭＤＩユニット７０を介して入力された制御用プログラム、ロボット２やセンサ３から取得された各種データ等が記憶される。不揮発性メモリ１４に記憶された制御用プログラムは、利用時にはＲＡＭ１３に展開されても良い。また、ＲＯＭ１２には、制御装置１の動作に必要な各種のシステム・プログラム（機械学習装置１００とのやりとりを制御するためのシステム・プログラムを含む）があらかじめ書き込まれている。
【００１５】
制御装置１は、制御用プログラム等に基づいてインタフェース１８を介してロボット２に対してロボット２の関節やハンド等を制御する指令を出力する。また、制御装置１は、インタフェース１８を介してロボット２の各部からデータを取得する。
また、制御装置１は、インタフェース１９を介してロボットの周辺乃至各部に取り付けられた少なくとも１つ以上のセンサ（例えば、把持対象物の長さを測定する測長センサや、把持対象物を撮像するカメラ、周辺温度、周辺湿度等）が検出したデータを取得する。
【００１６】
インタフェース２１は、制御装置１と機械学習装置１００とを接続するためのインタフェースである。機械学習装置１００は、機械学習装置１００全体を統御するプロセッサ１０１と、システム・プログラム等を記憶したＲＯＭ１０２、機械学習に係る各処理における一時的な記憶を行うためのＲＡＭ１０３、及び学習モデル等の記憶に用いられる不揮発性メモリ１０４を備える。機械学習装置１００は、インタフェース２１を介して制御装置１で取得可能な各情報（例えば、把持対象物の長さや把持対象物の外観、周辺温度、周辺湿度等）を観測することができる。また、制御装置１は、機械学習装置１００から出力される値に基づいて、ロボット２が把持対象物を把持する際のハンドの幅の制御等を行う。
【００１７】
図２は、第１の実施形態による制御装置１と機械学習装置１００の概略的な機能ブロック図である。図２に示した各機能ブロックは、図１に示した制御装置１が備えるＣＰＵ１１、及び機械学習装置１００のプロセッサ１０１が、それぞれのシステム・プログラムを実行し、制御装置１及び機械学習装置１００の各部の動作を制御することにより実現される。
【００１８】
本実施形態の制御装置１は、不揮発性メモリ１４に記憶された制御用プログラム及び機械学習装置１００から出力されたロボット２が把持対象物を把持する際のハンドの幅の推定結果に基づいてロボット２を制御する制御部３４を備える。
【００１９】
一方、制御装置１が備える機械学習装置１００は、把持対象物の形状に対する、把持対象物を把持する際のロボット２のハンドの幅の推定を、いわゆる機械学習により自ら学習するためのソフトウェア（学習アルゴリズム等）及びハードウェア（プロセッサ１０１等）を含む。制御装置１が備える機械学習装置１００が学習するものは、把持対象物の形状と、把持対象物を把持する際のロボット２のハンドの幅との、相関性を表すモデル構造に相当する。
【００２０】
図２に機能ブロックで示すように、制御装置１が備える機械学習装置１００は、把持対象物の形状を示す把持対象物形状データＳ１を含む環境の現在状態を表す状態変数Ｓとして観測する状態観測部１０６と、把持対象物を把持する際のロボット２のハンドの幅を示す把持幅データＬ１を含むラベルデータＬを取得するラベルデータ取得部１０８と、状態変数ＳとラベルデータＬとを用いて、把持対象物の形状に、把持対象物を把持する際のロボット２のハンドの幅を関連付けて学習する学習部１１０と、学習部１１０による学習済みモデルを用いて把持対象物の形状から推定した把持対象物を把持する際のロボット２のハンドの幅を出力する推定結果出力部１２２と、を備える。
【００２１】
状態観測部１０６は、学習部１１０による学習時において、状態変数Ｓとしての把持対象物形状データＳ１をセンサ３から取得する。また、状態観測部１０６は、学習部１１０の学習結果を用いた把持対象物を把持する際のロボット２のハンドの幅の推定時において、状態変数Ｓとしての把持対象物形状データＳ１をセンサ３から取得する。なお、いずれの場合も、直接的にセンサ３からデータを取得する代わりに、制御装置１の不揮発性メモリ１４等を経由してデータを取得するようにしても良い。
【００２２】
状態観測部１０６が観測する状態変数Ｓのうち、把持対象物形状データＳ１は、最もシンプルに構成する場合には、例えばロボットの把持位置における把持対象物の長さ（横幅）を用いることができる。ロボットの把持位置における把持対象物の長さは、例えばロボット２又はロボット２の近傍位置に取り付けられた測長センサで検出した値や、ロボット２又はロボット２の近傍位置に取り付けられたカメラで撮像した画像を解析して得られた値として取得できる。把持対象物形状データＳ１としては、更に、把持対象物の高さ等のデータや、ロボット２又はロボット２の近傍位置に取り付けられたカメラで撮像した把持対象物の画像を用いるようにしても良い。
【００２３】
ラベルデータ取得部１０８は、学習部１１０の学習時において、ラベルデータＬとして、把持対象物を把持する際のロボット２のハンドの幅に係る把持幅データＬ１をロボット２から取得する。なお、直接的にロボット２からデータを取得する代わりに、制御装置１の不揮発性メモリ１４等を経由してデータを取得するようにしても良い。把持幅データＬ１は、例えばロボット２による把持対象物の把持に成功した際のロボット２のハンドの幅のデータを用いることができる。ロボット２による把持対象物の把持が成功したか失敗したかは、作業者が図示しない入力装置から入力するようにしても良いし、また、ロボット２又はロボット２の近傍位置に取り付けられたカメラにより撮像された画像を解析して自動的に判定するようにしても良く、更に、把持対象物の載置先に設置されたセンサにより検出された値に基づいて判定するようにしても良い。なお、ラベルデータ取得部１０８は、学習部１１０による学習時において利用されるものであり、学習部１１０による学習が完了した後は機械学習装置１００の必須の構成とする必要は無い。
【００２４】
学習部１１０は、機械学習と総称される任意の学習アルゴリズムに従い、状態変数Ｓ（把持対象物の形状を示す把持対象物形状データＳ１）に対するラベルデータＬ（把持対象物を把持する際のロボット２のハンドの幅を示す把持幅データＬ１）を学習する。学習部１１０は、例えば状態変数Ｓに含まれる把持対象物形状データＳ１と、ラベルデータＬに含まれる把持幅データＬ１との相関性を学習することができる。学習部１１０は、状態変数ＳとラベルデータＬとを含むデータ集合に基づく学習を反復実行することができる。
【００２５】
学習部１１０による学習においては、複数のロボット２のそれぞれについて得られたデータに基づいた複数の学習サイクルを実行することが望ましい。このような学習サイクルを繰り返すことにより、学習部１１０は、把持対象物の形状（把持対象物形状データＳ１）と、把持対象物を把持する際のロボット２のハンドの幅（把持幅データＬ１）との相関性を自動的に解釈する。学習アルゴリズムの開始時には把持対象物形状データＳ１に対する把持幅データＬ１の相関性は実質的に未知であるが、学習部１１０が学習を進めるに従い徐々に把持対象物形状データＳ１に対する把持幅データＬ１との関係を徐々に解釈し、その結果として得られた学習済みモデルを用いることで把持対象物形状データＳ１に対する把持幅データＬ１の相関性を解釈可能になる。
【００２６】
推定結果出力部１２２は、学習部１１０が学習した結果（学習済みモデル）に基づいて、把持対象物の形状に基づいて把持対象物を把持する際のロボット２のハンドの幅を推定し、推定した把持対象物を把持する際のロボット２のハンドの幅を出力する。より具体的には、学習部１１０が把持対象物の形状を示す把持対象物形状データＳ１に関連付けて学習した把持対象物を把持する際のロボット２のハンドの幅に係る把持幅データＬ１は、ロボット２に把持対象物を把持させる際に制御部３４がロボット２に対して指令するハンドの幅を示しており、学習部１１０による学習済みモデルを用いた推定ではこの値が出力される。
【００２７】
制御装置１が備える機械学習装置１００の一変形例として、状態観測部１０６は、把持対象物形状データＳ１に加えて、ロボット２の周辺の状態を示す周辺状態データＳ２を状態変数Ｓとして観測するようにしても良い。周辺状態データＳ２としては、例えばロボット２の周辺温度が例示される。また、周辺状態データＳ２の別の例としては、ロボット２の周辺湿度が挙げられる。
【００２８】
上記変形例によれば、機械学習装置１００は、把持対象物形状データＳ１及び周辺状態データＳ２に対して把持幅データＬ１を関連付けて学習することができるので、周辺の温度によって柔らかさ等が変化する把持対象物（例えば、餅等）や、周辺の湿度によって柔らかさや表面の摩擦等が変化する把持対象物（例えば、シュークリーム等）をロボット２に把持させるに際のロボット２の適切なハンドの幅の変化を精度高く学習及び推定できるようになる。
【００２９】
制御装置１が備える機械学習装置１００の他の変形例として、状態観測部１０６は、把持対象物形状データＳ１に加えて、把持対象物の品種を示す品種データＳ３を状態変数Ｓとして観測するようにしても良い。
【００３０】
上記変形例によれば、機械学習装置１００は、把持対象物形状データＳ１及び品種データＳ３に対して把持幅データＬ１を関連付けて学習することができるので、品種の変化に応じて変化するロボット２の適切なハンドの幅の変化を精度高く学習及び推定できるようになる。
【００３１】
上記構成を有する機械学習装置１００では、学習部１１０が実行する学習アルゴリズムは特に限定されず、機械学習として公知の学習アルゴリズムを採用できる。図３は、図２に示す制御装置１の他の形態であって、学習アルゴリズムの他の例として教師あり学習を実行する学習部１１０を備えた構成を示す。教師あり学習は、入力とそれに対応する出力との既知のデータセット（教師データと称する）が与えられ、それら教師データから入力と出力との相関性を暗示する特徴を識別することで、新たな入力に対する所要の出力を推定するための相関性モデルを学習する手法である。
【００３２】
図３に示す制御装置１が備える機械学習装置１００において、学習部１１０は、把持対象物の形状から把持対象物を把持する際のロボット２のハンドの幅を推定する相関性モデルＭと過去に取得された把持対象物の形状のデータ及び実際の把持対象物を把持する際のロボット２のハンドの幅の結果から得られた教師データＴから識別される相関性特徴との誤差Ｅを計算する誤差計算部１１２と、誤差Ｅを縮小するように相関性モデルＭを更新するモデル更新部１１４とを備える。学習部１１０は、モデル更新部１１４が相関性モデルＭの更新を繰り返すことによって把持対象物の形状からの把持対象物を把持する際のロボット２のハンドの幅の推定を学習する。
【００３３】
相関性モデルＭの初期値は、例えば、状態変数ＳとラベルデータＬとの相関性を単純化して（例えばＮ次関数で）表現したものであり、教師あり学習の開始前に学習部１１０に与えられる。教師データＴは、本発明では上述したように過去に取得された把持対象物の形状のデータと実際の把持対象物を把持する際のロボット２のハンドの幅のデータとを利用することができ、制御装置１の運用時に随時学習部１１０に与えられる。誤差計算部１１２は、学習部１１０に随時与えられた教師データＴにより、把持対象物の形状と該把持対象物を把持する際のロボット２のハンドの幅との相関性を暗示する相関性特徴を識別し、この相関性特徴と、現在状態における状態変数Ｓ及びラベルデータＬに対応する相関性モデルＭとの誤差Ｅを求める。モデル更新部１１４は、例えば予め定めた更新ルールに従い、誤差Ｅが小さくなる方向へ相関性モデルＭを更新する。
【００３４】
次の学習サイクルでは、誤差計算部１１２は、更新後の相関性モデルＭに従って状態変数Ｓを用いて把持対象物を把持する際のロボット２のハンドの幅の推定が行われ、該推定の結果と実際に取得されたラベルデータＬの誤差Ｅを求め、モデル更新部１１４が再び相関性モデルＭを更新する。このようにして、未知であった環境の現在状態とそれに対する推定との相関性が徐々に明らかになる。
【００３５】
前述した教師あり学習を進める際に、ニューラルネットワークを用いることができる。図４Ａは、ニューロンのモデルを模式的に示す。図４Ｂは、図４Ａに示すニューロンを組み合わせて構成した三層のニューラルネットワークのモデルを模式的に示す。ニューラルネットワークは、例えば、ニューロンのモデルを模した演算装置や記憶装置等によって構成できる。
【００３６】
図４Ａに示すニューロンは、複数の入力ｘ（ここでは一例として、入力ｘ1〜入力ｘ3）に対する結果ｙを出力するものである。各入力ｘ1〜ｘ3には、この入力ｘに対応する重みｗ（ｗ1〜ｗ3）が掛けられる。これにより、ニューロンは、次の数１式により表現される出力ｙを出力する。なお、数１式において、入力ｘ、出力ｙ及び重みｗは、すべてベクトルである。また、θはバイアスであり、ｆkは活性化関数である。
【００３７】
【数１】
2019093472.tif 000003
【００３８】
図４Ｂに示す三層のニューラルネットワークは、左側から複数の入力ｘ（ここでは一例として、入力ｘ１〜入力ｘ３）が入力され、右側から結果ｙ（ここでは一例として、結果ｙ１〜結果ｙ３）が出力される。図示の例では、入力ｘ１、ｘ２、ｘ３のそれぞれに対応の重み（総称してｗ１で表す）が乗算されて、個々の入力ｘ１、ｘ２、ｘ３がいずれも３つのニューロンＮ１１、Ｎ１２、Ｎ１３に入力されている。
【００３９】
図４Ｂでは、ニューロンＮ１１〜Ｎ１３の各々の出力を、総称してｚ１で表す。ｚ１は、入カベクトルの特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルｚ１のそれぞれに対応の重み（総称してｗ２で表す）が乗算されて、個々の特徴ベクトルｚ１がいずれも２つのニューロンＮ２１、Ｎ２２に入力されている。特徴ベクトルｚ１は、重みＷ１と重みＷ２との間の特徴を表す。
【００４０】
図４Ｂでは、ニューロンＮ２１〜Ｎ２２の各々の出力を、総称してｚ２で表す。ｚ２は、特徴ベクトルｚ１の特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルｚ２のそれぞれに対応の重み（総称してｗ３で表す）が乗算されて、個々の特徴ベクトルｚ２がいずれも３つのニューロンＮ３１、Ｎ３２、Ｎ３３に入力されている。特徴ベクトルｚ２は、重みＷ２と重みＷ３との間の特徴を表す。最後にニューロンＮ３１〜Ｎ３３は、それぞれ結果ｙ１〜ｙ３を出力する。
なお、三層以上の層を為すニューラルネットワークを用いた、いわゆるディープラーニングの手法を用いることも可能である。
【００４１】
制御装置１が備える機械学習装置１００においては、状態変数Ｓを入力ｘとして、学習部１１０が上記したニューラルネットワークに従う多層構造の演算を行うことで、把持対象物の形状の値（入力ｘ）から把持対象物を把持する際のロボット２のハンドの幅（出力ｙ）を推定することができる。なお、ニューラルネットワークの動作モードには、学習モードと価値予測モードとがあり、例えば学習モードで学習データセットを用いて重みｗを学習し、学習した重みｗを用いて価値予測モードで行動の価値判断を行うことができる。なお価値予測モードでは、検出、分類、推論等を行うこともできる。
【００４２】
上記した機械学習装置１００の構成は、プロセッサ１０１が各々実行する機械学習方法（或いはソフトウェア）として記述できる。この機械学習方法は、把持対象物の形状から把持対象物を把持する際のロボット２のハンドの幅の推定を学習する機械学習方法であって、プロセッサ１０１が、把持対象物の形状（把持対象物形状データＳ１）を現在状態を表す状態変数Ｓとして観測するステップと、把持対象物を把持する際のロボット２のハンドの幅（把持幅データＬ１）をラベルデータＬとして取得するステップと、状態変数ＳとラベルデータＬとを用いて、把持対象物形状データＳ１と、把持対象物を把持する際のロボット２のハンドの幅とを関連付けて学習するステップとを有する。
【００４３】
機械学習装置１００の学習部１１０により学習されて得られた学習済みモデルは機械学習に係るソフトウェアの一部であるプログラムモジュールとしての利用することが可能である。本発明の学習済みモデルは、ＣＰＵやＧＰＵ等のプロセッサとメモリを備えるコンピュータにて用いることができる。より具体的には、コンピュータのプロセッサが、メモリに記憶された学習済みモデルからの指令に従って、把持対象物の形状を入力として演算を行い、演算結果に基づいて把持対象物を把持する際のロボット２のハンドの幅の推定結果を出力するように動作する。本発明の学習済みモデルは、外部記憶媒体やネットワーク等を介して他のコンピュータに対して複製して利用することが可能である。
【００４４】
また、本発明の学習済みモデルを他のコンピュータに対して複製して新しい環境で利用する際に、当該環境で得られた新たな状態変数やラベルデータに基づいて当該学習済みモデルに対して更なる学習を行わせることもできる。このようにした場合、当該環境による学習済みモデルから派生した学習済みモデル（以下、派生モデルとする）を得ることが可能である。本発明の派生モデルは、把持対象物の形状から把持対象物を把持する際のロボット２のハンドの幅の推定結果を出力するという点では元の学習済みモデルと同じだが、元の学習済みモデルよりも新しい環境に適合した結果を出力するという点で異なる。この派生モデルもまた、外部記憶媒体やネットワーク等を介して他のコンピュータに対して複製して利用することが可能である。
【００４５】
更に、本発明の学習済みモデルを組み込んだ機械学習装置に対する入力に対して得られる出力を用いて、他の機械学習装置において１から学習を行うことで得られる学習済みモデル（以下、蒸留モデルとする）を作成し、これを利用することも可能である（このような学習工程を蒸留と言う）。蒸留において、元の学習済みモデルを教師モデル、新たに作成する蒸留モデルを生徒モデルとも言う。一般に、蒸留モデルは元の学習済みモデルよりもサイズが小さく、それでいてと元の学習済みモデルと同等の正確度を出せるため、外部記憶媒体やネットワーク等を介した他のコンピュータに対する配布により適している。
【００４６】
図５は、制御装置１を備えた一実施形態によるシステム１７０を示す。システム１７０は、ネットワークに接続された少なくとも１台の（機械学習装置１００を備えた）制御装置１と、（機械学習装置１００を備えていない）制御装置１’、制御装置１を互いに接続する有線／無線のネットワーク１７２とを備える。
【００４７】
上記構成を有するシステム１７０は、機械学習装置１００を備える制御装置１が、学習部１１０の学習結果を用いて、それぞれの制御装置１，１’の制御下で把持対象物の形状に対する把持対象物を把持する際のロボット２のハンドの幅を自動的かつ正確に推定することができる。また、制御装置１の機械学習装置１００が、複数の制御装置１，１’のそれぞれから得られた状態変数Ｓ及びラベルデータＬに基づき、全ての制御装置１，１’に共通する把持対象物を把持する際のロボット２のハンドの幅の推定を学習し、その学習結果を全てのロボット２の制御において利用するように構成できる。したがってシステム１７０によれば、より多様なデータ集合（状態変数Ｓ及びラベルデータＬを含む）を入力として、把持対象物を把持する際のロボット２のハンドの幅の推定の学習の速度や信頼性を向上させることができる。
【００４８】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【００４９】
例えば、機械学習装置１００が実行する学習アルゴリズム、演算アルゴリズム、制御装置１が実行するアルゴリズム等は、上述したものに限定されず、様々なアルゴリズムを採用できる。
【００５０】
また、上記した実施形態では制御装置１と機械学習装置１００が異なるＣＰＵを有する装置として説明しているが、機械学習装置１００は制御装置１が備えるＣＰＵ１１と、ＲＯＭ１２に記憶されるシステム・プログラムにより実現するようにしても良い。
【符号の説明】
【００５１】
１，１’  制御装置
２  ロボット
３  センサ
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  不揮発性メモリ
１８，１９  インタフェース
２０  バス
２１  インタフェース
３４  制御部
１００  機械学習装置
１０１  プロセッサ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  不揮発性メモリ
１０６  状態観測部
１０８  ラベルデータ取得部
１１０  学習部
１１２  誤差計算部
１１４  モデル更新部
１２２  推定結果出力部
１７０  システム
１７２  ネットワーク
【図１】
2019093472.tif 000004
【図２】
2019093472.tif 000005
【図３】
2019093472.tif 000006
【図４Ａ】
2019093472.tif 000007
【図４Ｂ】
2019093472.tif 000008
【図５】
2019093472.tif 000009