(57)【要約】【課題】ハンドとの組み合わせを教示していない移載対象についても、移載するためのハンドを選択する。【解決手段】機械学習装置が、移載対象を撮像した撮像データの少なくとも一部を入力データとして取得する状態観測手段と、前記移載対象の移載のためにロボットに装着した把持手段に係る情報をラベルとして取得するラベル取得手段と、前記状態観測手段が取得した入力データとラベル取得手段が取得したラベルの組を教師データとして教師あり学習を行うことにより、前記移載に適した把持手段に係る情報を出力する学習モデルを構築する学習手段と、を備える。【選択図】図１
2019048365.tif 000002
【特許請求の範囲】
【請求項１】
移載対象を撮像した撮像データの少なくとも一部を入力データとして取得する状態観測手段と、
前記移載対象の移載のためにロボットに装着した把持手段に係る情報をラベルとして取得するラベル取得手段と、
前記状態観測手段が取得した入力データとラベル取得手段が取得したラベルの組を教師データとして教師あり学習を行うことにより、前記移載に用いる把持手段の適否を判断するための学習モデルを構築する学習手段と、を備える機械学習装置。
【請求項２】
前記ラベル取得手段は、前記把持手段が前記移載対象を把持した位置と姿勢を示す情報を更にラベルとして取得する請求項１に記載の機械学習装置。
【請求項３】
前記ラベル取得手段は、前記移載対象の移載に成功した把持手段を識別するための情報をラベルとして取得する請求項１又は２に記載の機械学習装置。
【請求項４】
前記把持手段を識別するための情報とは、前記把持手段の個体ごとに付与された文字又は数字或いはこれらの組み合わせからなる情報である請求項３に記載の機械学習装置。
【請求項５】
前記構築した学習モデルに前記撮像データが新たに入力された場合に、前記学習モデルの出力に基づいて、前記新たに入力された撮像データにて撮像されている移載対象を移載するための把持手段の識別情報を提示する出力提示手段を更に備える請求項４に記載の機械学習装置。
【請求項６】
前記ラベル取得手段は、前記移載対象の移載に成功した把持手段の物理的特徴を示す物理情報をラベルとして取得する請求項１又は２に記載の機械学習装置。
【請求項７】
前記構築した学習モデルに前記撮像データが新たに入力された場合に、前記学習モデルの出力に基づいて、前記新たに入力された撮像データにて撮像されている移載対象を移載するための把持手段の物理的特徴を示す物理情報を提示する出力提示手段を更に備える請求項６に記載の機械学習装置。
【請求項８】
前記状態観測手段は、前記撮像データに加えて、前記ロボットに装着した把持手段を識別するための情報を更に入力データとして取得し、
前記ラベル取得手段は、前記移載対象の移載の成否を示す情報をラベルとして取得する請求項１又は２に記載の機械学習装置。
【請求項９】
前記構築した学習モデルに前記撮像データと前記ロボットに装着した把持手段の識別情報が新たに入力された場合に、前記学習モデルの出力に基づいて、前記新たに入力された撮像データ中の移載対象を前記新たに入力された識別情報に対応する把持手段にて移載した場合の成否についての推定情報を提示する出力提示手段を更に備える請求項８に記載の機械学習装置。
【請求項１０】
請求項１から請求項９までの何れか１項に記載の機械学習装置と、撮像手段と、把持手段を装着したロボットとを備えたロボットシステムであって、
前記状態観測手段は、前記撮像手段が移載元に設置された移載対象の少なくとも一部を撮像することにより生成した撮像データを前記入力データとして取得し、
前記ラベル取得手段は、前記移載対象の移載のために前記ロボットに装着した把持手段に係る情報をラベルとして取得する、
ロボットシステム。
【請求項１１】
機械学習装置が行う機械学習方法であって、
移載対象を撮像した撮像データの少なくとも一部を入力データとして取得する状態観測ステップと、
前記移載対象の移載のためにロボットに装着した把持手段に係る情報をラベルとして取得するラベル取得ステップと、
前記状態観測ステップにて取得した入力データとラベル取得ステップにて取得したラベルの組を教師データとして教師あり学習を行うことにより、前記移載に用いる把持手段の適否を判断するための学習モデルを構築する学習ステップと、
を備える機械学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットによる移載についての機械学習を行う、機械学習装置、ロボットシステム及び機械学習方法に関わる。
【背景技術】
【０００２】
工場等において、ロボットに装着したハンドによりワークを把持し、これによりワークを移載することが行われている。ロボットによってワークを移載する場合には、ワークの形状、重量及び材質といったワークの特性に応じて適切な仕様のハンドを選択する必要がある。
このようなハンドの選択を補助するための技術が、例えば特許文献１や特許文献２に開示されている。
【０００３】
特許文献１には、移載するワークの形態データに基づいて使用する使用するハンドを選択し、選択したハンドのデータと移載するワークのデータとに基づいてハンドがワークを把持する位置を教示する技術が開示されている。
また、特許文献２には、ウェーハカセット等に対処しうる自動移載装置が、移載対象物に応じた複数の種類のハンドと移載対象物との関係を記憶したデータを制御機構に備えることで、ハンドの自動選択を行うという技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１１９５８９号公報
【特許文献２】特開平１１−１１４８５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した特許文献１や特許文献２等に開示の技術では、ワークの形状や大きさを示すワークの形態データを、移載に用いるハンドと紐付けて事前に教示しておくことで、ハンドの選択を行うことを可能としている。
この教示の例について図１を参照して説明する。図１は、移載対象とするワークと、移載のために用いるハンドとの対応を模式的に示した図である。
【０００６】
例えば、図１（Ａ）に示すように、自動車用ドライブシャフト等の立体形状のワークを移載する場合は、ワークを挟むための二股のハンドを選択することが適切である。この場合には、このワークの形態データと、二股のハンドの組み合わせを事前に教示しておくことにより、自動的にハンドの選択を行うことができる。
【０００７】
また、例えば図１（Ｂ）に示すように、レトルトパウチ等の平面状のワークを移載する場合は、吸着式のハンドを選択することが適切である。この場合には、このワークの形態データと、吸着式のハンドの組み合わせを事前に教示しておくことにより、自動的にハンドの選択を行うことができる。
このように、移載対象となるワークが一定の形態の工業製品であれば、移載対象となるワークの形態データと移載に用いるハンドの組み合わせを事前に教示しておくことで、移載をするためのハンドの選択を行うことが可能となる。
【０００８】
しかしながら、移載対象とするワークが必ずしも一定の形態の工業製品であるとは限らない。例えば図１（Ｃ）に示すように、移載対象とするワークが野菜や果物等の場合がある。野菜や果物等は、工業製品と異なり形態にばらつきがあるため、重量や形状の個体差が大きく、事前に形態データを用意することは困難である。また、仮にワークが一定の形状の工業製品であったとしても、その種類が多数の場合に、全ての工業製品について、事前に形態データを用意することは困難である。
このような場合には、移載対象となるワークの形態データと移載に用いるハンドの組み合わせを事前に教示することができない。
【０００９】
そこで本発明は、ハンドとの組み合わせを教示していない移載対象についても、移載するためのハンドを選択することが可能な、機械学習装置、ロボットシステム及び機械学習方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
（１）  本発明の機械学習装置（例えば、後述の機械学習装置１０）は、移載対象（例えば、後述の第１移載対象５１又は第２移載対象５２）の少なくとも一部を撮像した撮像データを入力データとして取得する状態観測手段（例えば、後述の状態観測部１１）と、前記移載対象の移載のためにロボットに装着した把持手段（例えば、後述のハンド４１）に係る情報をラベルとして取得するラベル取得手段（例えば、後述のラベル取得部１２）と、前記状態観測手段が取得した入力データとラベル取得手段が取得したラベルの組を教師データとして教師あり学習を行うことにより、前記移載に用いる把持手段の適否を判断するための学習モデルを構築する学習手段（例えば、後述の学習部１３）と、を備える。
【００１１】
（２）  上記（１）に記載の機械学習装置を、前記ラベル取得手段は、前記把持手段が前記移載対象を把持した位置と姿勢を示す情報を更にラベルとして取得するようにしてもよい。
【００１２】
（３）  上記（１）又は（２）に記載の機械学習装置を、前記ラベル取得手段は、前記移載対象の移載に成功した把持手段を識別するための情報をラベルとして取得するようにしてもよい。
【００１３】
（４）  上記（３）に記載の機械学習装置を、前記把持手段を識別するための情報とは、前記把持手段の個体ごとに付与された文字又は数字或いはこれらの組み合わせからなる情報であるようにしてもよい。
【００１４】
（５）  上記（４）に記載の機械学習装置を、前記構築した学習モデルに前記撮像データが新たに入力された場合に、前記学習モデルの出力に基づいて、前記新たに入力された撮像データにて撮像されている移載対象を移載するための把持手段の識別情報を提示する出力提示手段（例えば、後述の出力提示部１５）を更に備えるようにしてもよい。
【００１５】
（６）  上記（１）又は（２）に記載の機械学習装置を、前記ラベル取得手段は、前記移載対象の移載に成功した把持手段の物理的特徴を示す物理情報をラベルとして取得するようにしてもよい。
【００１６】
（７）  上記（６）に記載の機械学習装置を、前記構築した学習モデルに前記撮像データが新たに入力された場合に、前記学習モデルの出力に基づいて、前記新たに入力された撮像データにて撮像されている移載対象を移載するための把持手段の物理的特徴を示す物理情報を提示する出力提示手段（例えば、後述の出力提示部１５）を更に備えるようにしてもよい。
【００１７】
（８）  上記（１）又は（２）に記載の機械学習装置を、前記状態観測手段は、前記撮像データに加えて、前記ロボットに装着した把持手段の識別情報を更に入力データとして取得し、前記ラベル取得手段は、前記移載対象の移載の成否を示す情報をラベルとして取得するようにしてもよい。
【００１８】
（９）  上記（８）に記載の機械学習装置を、前記構築した学習モデルに前記撮像データと前記ロボットに装着した把持手段の識別情報が新たに入力された場合に、前記学習モデルの出力に基づいて、前記新たに入力された撮像データ中の撮像されている移載対象を前記新たに入力された識別情報に対応する把持手段にて移載した場合の成否についての推定情報を提示する出力提示手段（例えば、後述の出力提示部１５）を更に備えるようにしてもよい。
【００１９】
（１０）  本発明のロボットシステムは、上記（１）から上記（９）までの何れかに記載の機械学習装置と、撮像手段（例えば、後述の視覚センサ３０）と、把持手段を装着したロボット（例えば、後述のロボット４０）とを備えたロボットシステムであって、前記状態観測手段は、前記撮像手段が移載元に設置された移載対象の少なくとも一部を撮像することにより生成した撮像データを前記入力データとして取得し、前記ラベル取得手段は、前記移載対象の移載のために前記ロボットに装着した把持手段に係る情報をラベルとして取得する。
【００２０】
（１１）  本発明の機械学習方法は、機械学習装置（例えば、後述の機械学習装置１０）が行う機械学習方法であって、移載対象（例えば、後述の第１移載対象５１又は第２移載対象５２）の少なくとも一部を撮像した撮像データを入力データとして取得する状態観測ステップと、前記移載対象の移載のためにロボットに装着した把持手段に係る情報をラベルとして取得するラベル取得ステップと、前記状態観測ステップにて取得した入力データとラベル取得ステップにて取得したラベルの組を教師データとして教師あり学習を行うことにより、前記移載に用いる把持手段の適否を判断するための学習モデルを構築する学習ステップと、を備える。
【発明の効果】
【００２１】
本発明によれば、ハンドとの組み合わせを教示していない移載対象についても、移載するためのハンドを選択することが可能となる。
【図面の簡単な説明】
【００２２】
【図１】ワークに適したハンドの選択について説明するための模式図である。
【図２】本発明の実施形態の構成について示す模式図である。
【図３】本発明の実施形態における機械学習装置の機能ブロックを示すブロック図である。
【図４】本発明の実施形態における学習モデル構築時の動作を示すフローチャートである。
【図５】本発明の実施形態における学習モデル利用時の動作を示すフローチャートである。
【図６Ａ】本発明の第２の実施形態における入力画像のイメージを示すイメージ図である。
【図６Ｂ】本発明の第２の実施形態におけるハンドの断面画像のイメージを示すイメージ図である。
【図７】本発明の第３の実施形態における学習モデル構築時の動作を示すフローチャートである。
【発明を実施するための形態】
【００２３】
次に、本発明の実施形態について図面を参照して詳細に説明をする。
＜各実施形態の概略＞
以下では、第１の実施形態、第２の実施形態及び第３の実施形態の３つの実施形態について説明する。これら各実施形態は、基本的な構成や、機械学習を行う点において共通するが、機械学習の対象とする情報がそれぞれ異なる。そこで、まずこれら３つの実施形態の概略について説明する。
【００２４】
第１の実施形態では、移載対象とするワークの画像の少なくとも一部を入力データとし、このワークを実際に移載することができたハンドを特定するための識別情報をラベルとして機械学習を行う。そして、この機械学習により構築した学習モデルを利用することにより、移載対象とするワークに対応するハンドを選択することを可能とする。
【００２５】
また、第２の実施形態では、移載対象とするワークの画像の少なくとも一部を入力データとし、このワークを実際に移載することができたハンドの物理情報をラベルとして機械学習を行う。ここで、ハンドの物理情報とは、例えばハンドの形状、大きさ、及び材質等のハンドの物理的特徴を示す情報である。そして、この機械学習により構築した学習モデルを利用することにより、移載対象とするワークに対応するハンドの形状や大きさを示す形態データを出力することを可能とする。
【００２６】
更に、第３の実施形態では、移載対象とするワークの画像の少なくとも一部と、このワークを実際に移載することを試みるハンドを特定するための識別情報または物理情報を入力データとし、このワークを実際に移載することを試みた成否の結果をラベルとして機械学習を行う。そして、この機械学習により構築した学習モデルを利用することにより、移載対象とするワークと移載を行うハンドとの組み合わせによる成否を判定することを可能とする。
【００２７】
このように、各実施形態は、機械学習を行うことにより学習モデルを構築する。そして、各実施形態は、構築した学習モデルを利用することにより、形態データを教示していない移載対象についても、移載するためのハンドを選択することを可能とする。
以上が３つの実施形態の概略である。次に、各実施形態それぞれの詳細について説明をする。なお、各実施形態において共通する部分については重複する説明を省略する。
【００２８】
＜第１の実施形態＞
図２を参照して、本実施形態に係るロボットシステム１の構成について説明する。ロボットシステム１は、機械学習装置１０、ロボット制御装置２０、視覚センサ３０、ロボット４０、ハンド４１、第１移載対象５１、第２移載対象５２、移載元架台６１及び移載先架台６２を備える。個々のハンドには識別情報（例えばＡ、Ｂといったアルファベット等の文字や１００、２００といった数字、或いはこれらの組み合わせ）を付与しておく。
【００２９】
本実施形態では、ロボット４０が、平面状の移載対象（図中の第１移載対象５１及び第２移載対象５２に相当）を、移載元架台６１から移載先架台６２へ移載する。ここで、移載対象のそれぞれは大きさに個体差がある。例えば、第１移載対象５１よりも第２移載対象５２の方が、大きい。そのため、移載対象の大きさに適したハンド４１を選択する必要がある。そこで、本実施形態では、機械学習を行うことにより、移載できる大きさが異なる複数種類のハンド４１の中から、移載対象の大きさに適したハンド４１を選択できるようにする。なお、移載対象は大きさのみならず、形状等の個体差があってもよい。
【００３０】
機械学習装置１０は、上述の機械学習を行う装置である。機械学習装置１０の詳細については、図３の機能ブロック図を参照して後述する。
【００３１】
ロボット制御装置２０は、ロボット４０の動作を制御するための装置である。ロボット制御装置２０はロボット４０に所定の動作を行わせるための動作プログラムに基づいて、ロボット４０の動作を制御するための信号を生成する。そして、ロボット制御装置２０は、生成した信号をロボット４０に対して出力する。ロボット４０は、この信号に応じて、ロボット４０のアームやアームに装着されたハンド４１といった可動部を駆動する。
これにより、ロボット４０は、所定の作業を行うことができる。本実施形態では、ロボット４０は所定の作業として、例えば、第１移載対象５１や第２移載対象５２を、移載元架台６１から移載先架台６２に移載する。
【００３２】
また、ロボット制御装置２０は、視覚センサ３０から、移載対象の少なくとも一部を撮像した画像データ（以下、「移載対象画像データ」と呼ぶ。）を取得する。ロボット制御装置２０は、移載対象画像データに対して画像解析を行うことにより、移載対象の位置や姿勢や積載状態を特定する。画像解析は、例えば、移載対象撮像データが濃淡画像である場合、画像上での輝度変化が大きな点であるエッジ点を抽出することにより行われる。また、このような画像解析を行う手法としては、例えば、一般化ハフ変換等を利用することができる。
そして、ロボット制御装置２０は、画像解析により特定した、移載対象の位置や姿勢や積載状態に基づいてロボット４０を制御して移載を行う。
【００３３】
ロボット制御装置２０と機械学習装置１０は、通信可能に接続されている。そして、ロボット制御装置２０は、機械学習装置１０に対して機械学習に用いるための様々な情報を送信する。例えば、ロボット制御装置２０は、機械学習に用いるための情報として、移載対象画像データや、移載に用いたハンド４１を識別する情報や、移載の成否を示す情報を送信する。これらの情報を用いた機械学習の詳細については後述する。
【００３４】
視覚センサ３０は、移載対象撮像データを撮像する視覚センサである。視覚センサ３０は、移載元架台６１上の移載対象の少なくとも一部を撮像できる位置に設置される。なお、視覚センサ３０を、ロボット４０のアーム等の可動部に設置してもよい。
【００３５】
視覚センサ３０は、移載対象の少なくとも一部を撮像するために、ＣＣＤ（Charge-Coupled Device）カメラやＣＭＯＳ（Complementary Metal Oxide Semiconductor）カメラ等のカメラを備えている。これらカメラに撮像される移載対象撮像データは、２次元カラー画像でもよいし、２次元グレースケール画像でもよいし、距離画像でもよいし、３次元点群であってもよい。視覚センサ３０により撮像された移載対象撮像データは、ロボット制御装置２０に対して出力される。
【００３６】
ロボット４０は、ロボット制御装置２０の制御に基づいて動作するロボットである。ロボット４０は、鉛直方向の軸を中心に回転するためのベース部や、移動及び回転するアームを備える。また、このアームには移載対象を把持するためのハンド４１が装着される。
なお、ロボット４０やハンド４１の具体的な構成については、当業者によく知られているので、ここでは詳細な説明を省略する。
【００３７】
次に、図３を参照して機械学習装置１０が備える各機能ブロックについて説明をする。なお、図３では、図２で示したロボットシステム１における、機械学習装置１０以外の構成要素を環境１００としてまとめて図示する。
【００３８】
機械学習装置１０は、移載対象撮像データを入力データとし、この移載対象を実際に移載することができたハンド４１を特定するための識別情報をラベルとして機械学習を行う。そして、この機械学習により構築した学習モデルを利用することにより、移載対象とするワークに対応するハンドを選択することを可能とする。
【００３９】
このような学習モデルを構築するために、機械学習装置１０は、状態観測部１１、ラベル取得部１２、学習部１３、学習モデル記憶部１４及び出力提示部１５を備える。
【００４０】
状態観測部１１は、環境１００に含まれるロボット制御装置２０から入力データを取得し、取得した入力データを学習部１３に対して出力する部分である。ここで、本実施形態における入力データは、上述したように移載対象撮像データである。なお、状態観測部１１は、取得した１つの移載対象撮像データの全てを入力データとして学習部１３に対して出力してもよいが、取得した１つの移載対象撮像データの一部を入力データとして学習部１３に対して出力するようにしてもよい。つまり、取得した１つの移載対象撮像データの少なくとも一部を出力するようにしてもよい。
例えば、状態観測部１１が、画像解析を行うことにより、移載対象撮像データに対応する画像内から移載対象の少なくとも一部が撮像されている部分を検出する。そして、状態観測部１１が、検出した移載対象の少なくとも一部が撮像されている部分のみを切り出し（トリミングし）、この切り出した画像に対応する部分の移載対象撮像データのみを入力データとして学習部１３に対して出力するようにしてもよい。これにより、より正確に移載対象を特定することができるため、学習部１３による学習の精度を高めることができる可能性があるのでよい。
【００４１】
ラベル取得部１２は、環境１００に含まれるロボット制御装置２０からラベルを取得し、取得したラベルを学習部１３に対して出力する部分である。ここで、本実施形態におけるラベルは、移載対象を実際に移載することに成功したハンド４１を特定するための識別情報である。識別情報は、例えばハンド４１を識別するための型番やＩＤ等の識別情報により実現される。より詳細には、本実施形態の説明の冒頭でも述べたように、ハンド４１の識別情報は、例えばＡ、Ｂといったアルファベット等の文字や１００、２００といった数字、或いはこれらの組み合わせにより実現される。
ハンド４１の識別情報は、例えば、視覚センサ３０の撮像した画像に対して画像解析を行うことにより、移載対象の移載に成功したことを確認したロボット制御装置２０から、ラベル取得部１２に対して送信される。
【００４２】
学習部１３は、この入力データとラベルとの組を教師データとして受け付け、この教師データを用いて、教師あり学習を行うことにより、学習モデルを構築する。
例えば、学習部１３は、ニューラルネットワークを用いた教師あり学習を行う。この場合、学習部１３は、教師データに含まれる入力データとラベルの組を、パーセプトロンを組み合わせて構成したニューラルネットワークに与え、ニューラルネットワークの出力がラベルと同じとなるように、ニューラルネットに含まれる各パーセプトロンについての重み付けを変更する、というフォワードプロパゲーションを行う。例えば、本実施形態では、ニューラルネットワークが出力するハンド４１の識別情報が、ラベルのハンド４１の識別情報と同じになるように、フォワードプロパゲーションを行う。
【００４３】
そして、学習部１３は、このようにフォワードプロパゲーションを行った後に、バックプロパゲーション（誤差逆伝搬法とも呼ばれる。）という手法により各パーセプトロンの出力の誤差を小さくするように重み付け値を調整する。より詳細には、学習部１３は、ニューラルネットワークの出力とラベルとの誤差を算出し、算出した誤差を小さくするように重み付け値を修正する。
学習部１３は、このようにして、教師データの特徴を学習し、入力から結果を推定するための学習モデルを帰納的に獲得する。
【００４４】
学習部１３は、上述したように、移載することに失敗したハンド４１の識別情報はラベルとして利用せず、移載することに成功したハンド４１の識別情報のみをラベルとして、ニューラルネットワークを利用した機械学習を行う。これにより学習部１３は、移載対象を移載するのに適したハンド４１の識別情報を出力する学習モデルを構築する。
【００４５】
ただし、１つの移載対象に対して複数のハンド４１それぞれによる移載を試みた結果、複数のハンド４１が移載することに成功する場合がある。この場合、１つの移載対象に対応する１つの移載対象撮像データという入力データに、それぞれ異なるラベルが組とされた複数の教師データが生成される。このようなそれぞれ異なるラベルが組とされた教師データを用いて学習を行うと、何れのラベルを正解として学習を行うことが適切であるかが不明となり、学習が適切に行われない可能性がある。
そこで、本実施形態では、ハンド４１が移載することに成功した場合に、この移載に対しての評価を行い、評価値を算出するようにする。そして、評価値がもっとも高い移載を行ったハンド４１の識別情報をラベルとして教師データを生成するようにする。これにより、学習部１３は、移載に成功したハンド４１の中でも最も評価が高いハンド４１について学習を行うことができる。そのため、学習部１３は、移載対象を移載するのに最も適していると考えられる最適のハンド４１の識別情報を出力する学習モデルを構築することができる。
【００４６】
評価の基準は特に限定されないが、例えば、移載を開始してから移載を終了するまでの所要時間が短いほど評価値が高くなるようにするとよい。また、他にも移載すべき位置に狂いなく移載できた場合に、更に評価値が高くなるようにするとよい。また、これら以外の基準に沿って評価するようにしてもよい。更に、複数の基準に沿って評価値を算出し、これを合算する場合には、合算時に、基準にそれぞれの評価値に重み付けをつけてから合算するようにするとよい。
評価値の算出は、例えば、ロボット制御装置２０が、視覚センサ３０の撮像した画像に対して画像解析を行うことにより得た画像解析結果や、ロボット４０のアームやハンド４１の制御情報に基づいて、移載を終了するまでの所要時間を測定することにより行う。
この評価値の算出等も含めた学習時の動作については、図４を参照して後述する。
【００４７】
なお、本実施形態では、移載対象画像データという画像データを入力データとして学習を行う。そのため、学習部１３は、画像データを対象とした学習に適しているニューラルネットワークである、畳み込みニューラルネットワーク（ＣＮＮ：Convolutional Neural Network）を使用して学習を行うようにするとよい。
【００４８】
畳み込みニューラルネットワークは、畳み込み層、プーリング層、全結合層、及び出力層を備えた構造となっている。
【００４９】
畳み込み層では、エッジ抽出等の特徴抽出を行うために、入力された画像データに対して所定のパラメータのフィルタをかける。このフィルタにおける所定のパラメータは、ニューラルネットワークの重みに相当しており、上述のフォワードプロパゲーションやバックプロパゲーションを繰り返すことにより学習されていく。
【００５０】
プーリング層では、物体の位置ズレを許容するために、畳み込み層から出力された画像をぼかす。これにより、物体の位置が変動しても同一の物体であるとみなすことができる。
これら畳み込み層及びプーリング層を組み合わせることによって、画像から特徴量を抽出することができる。
【００５１】
全結合層では、畳み込み層及びプーリング層を通して特徴部分が取り出された画像データを一つのノードに結合し、活性化関数によって変換した値を出力する。ここで、活性化関数は、０未満の出力値を全て０にする関数で、ある閾値以上の部分だけを意味の有る情報として出力層に送るために用いる。
【００５２】
出力層では、全結合層からの出力を、多クラス分類を行うための関数であるソフトマックス関数を用いて確率に変換し、この確率に基づいてハンド４１の識別情報を出力する。なお、出力とラベルとの誤差を小さくするようにフォワードプロパゲーションやバックプロパゲーションを繰り返す点は、畳み込みニューラルネットワークでも同様である。
学習部１３は、以上のような構成の畳み込みニューラルネットワークによって学習を行うことにより学習モデルを構築する。
【００５３】
なお、上述のニューラルネットワークを使用した教師あり学習は、教師あり学習の一例であり、学習部１３は、他にも例えば隠れマルコフモデルを使用した教師あり学習を行うようにしてもよい。
【００５４】
学習部１３が構築した学習モデルは、学習モデル記憶部１４及び後述の出力提示部１５に対して出力される。
【００５５】
学習モデル記憶部１４は、学習部１３が構築した学習モデルを記憶する記憶部である。なお、学習モデルを構築した後に、新たな教師データを取得した場合には、学習モデル記憶部１４が記憶した学習モデルに対して更に教師あり学習を行うことにより、一度構築した学習モデルは適宜更新される。
【００５６】
また、学習モデル記憶部１４が記憶した学習モデルを、他の機械学習装置１０との間で共有するようにしてもよい。学習モデルを複数の機械学習装置１０で共有するようにすれば、各機械学習装置１０にて分散して教師あり学習を行うことが可能となるので、教師あり学習の効率を向上させることが可能となる。
【００５７】
出力提示部１５は、学習部１３の出力を提示する部分である。上述したように、本実施形態では、学習部１３が構築した学習モデルにより、移載対象を移載するのに適したハンド４１の識別情報を出力することができるので、出力提示部１５は、この学習部１３の出力の内容を例えば画面に表示することによりユーザに対して提示する。
【００５８】
また、出力提示部１５は、学習部１３の出力の内容を機械学習装置１０に含まれるロボット制御装置２０に送信するようにしてもよい。そして、これを受信したロボット制御装置２０が出力の内容を例えば画面に表示することによりユーザに対して提示するようにしてもよい。更に、ロボットシステム１に、ハンド４１を自動交換する装置が含まれるような場合には、ラベル取得部１２は、この自動交換をする装置に対して、学習部１３の出力の内容を送信するようにしてもよい。
これにより、ハンド４１を交換するユーザや装置は、移載対象に適したハンド４１に交換をすることが可能となる。
【００５９】
以上、機械学習装置１０に含まれる機能ブロックについて説明した。
これらの機能ブロックを実現するために、機械学習装置１０は、ＣＰＵ（Central Processing Unit）等の演算処理装置を備える。また、機械学習装置１０は、アプリケーションソフトウェアやＯＳ（Operating System）等の各種の制御用プログラムを格納したＨＤＤ（Hard Disk Drive）等の補助記憶装置や、演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのＲＡＭ（Random Access Memory）といった主記憶装置も備える。
【００６０】
そして、機械学習装置１０において、演算処理装置が補助記憶装置からアプリケーションソフトウェアやＯＳを読み込み、読み込んだアプリケーションソフトウェアやＯＳを主記憶装置に展開させながら、これらのアプリケーションソフトウェアやＯＳに基づいた演算処理を行なう。また、この演算結果に基づいて、各装置が備える各種のハードウェアを制御する。これにより、本実施形態の機能ブロックは実現される。つまり、本実施形態は、ハードウェアとソフトウェアが協働することにより実現することができる。
【００６１】
具体例として、機械学習装置１０は、一般的なパーソナルコンピュータに本実施形態を実現するためのアプリケーションソフトウェアを組み込むことより実現できる。
ただし、機械学習装置１０については教師あり学習に伴う演算量が多いため、例えば、パーソナルコンピュータにＧＰＵ（Graphics Processing Units）を搭載し、ＧＰＧＰＵ（General-Purpose computing on Graphics Processing Units）と呼ばれる技術により、ＧＰＵを教師あり学習に伴う演算処理に利用するようにすると高速処理できるようになるのでよい。更には、より高速な処理を行うために、このようなＧＰＵを搭載したコンピュータを複数台用いてコンピュータ・クラスターを構築し、このコンピュータ・クラスターに含まれる複数のコンピュータにて並列処理を行うようにしてもよい。
【００６２】
次に、図３のフローチャートを参照して、機械学習装置１０による教師あり学習時の動作について説明をする。
ステップＳ１１において、ロボット制御装置２０は、移載対象を１つ選択する。例えば図２に示す第１移載対象５１又は第２移載対象５２の何れかを選択する。選択は、例えば視覚センサ３０から取得した移載対象画像データの解析結果に基づいて、把持できそうな位置及び姿勢の移載対象を特定することにより行われる。なお、選択は、ユーザの操作に基づいて行われてもよい。
【００６３】
ステップＳ１２において、ロボット制御装置２０は、機械学習における入力データとするために移載対象画像データを記憶する。
【００６４】
ステップＳ１３において、ロボット制御装置２０は、ロボット４０に装着するハンド４１を１つ選択する。選択は、ロボット制御装置２０が選択可能なハンド４１からランダムに選択してもよいし、ユーザの操作に基づいて行われてもよい。選択されたハンド４１は、ハンド４１を自動で交換する装置又はユーザによってロボット４０のアームに装着される。
【００６５】
ステップＳ１４において、ロボット制御装置２０は、ロボット４０のアームと、現在ロボット４０のアームに装着されているハンド４１を制御することにより、移載対象の移載を試みる。
【００６６】
ステップＳ１５において、ロボット制御装置２０は、ステップＳ１４にて試みた移載が成功したか否かを判定する。
【００６７】
移載に成功した場合には、ステップＳ１６においてＹｅｓと判定され、処理はステップＳ１７に進む。ステップＳ１７において、ロボット制御装置２０は、評価値を算出し、算出した評価値と、移載することに成功したハンド４１の識別情報とを対応付けて記憶する。なお、評価値の算出方法については上述した通りである。
【００６８】
一方で、移載に失敗した場合には、ステップＳ１６においてＮｏと判定され、処理はステップＳ１８に進む。なぜならば、上述したように学習部１３では、移載することに失敗したハンド４１の識別情報はラベルとして利用せず、移載することに成功したハンド４１の識別情報のみをラベルとして利用するからである。なお、ステップＳ１６においてＮｏであった場合には、今回の処理のステップＳ１２にて取得した入力データも教師データとしては利用されない。そこで、ロボット制御装置２０は、この入力データを破棄する。
【００６９】
ステップＳ１８において、ロボット制御装置２０は、ハンド４１を新たなものに交換するか否かを判定する。ステップＳ１１において選択した移載対象について学習対象とするハンド４１がある場合には、ステップＳ１８においてＹｅｓと判定され、処理はステップＳ１３に戻る。そして、上述のステップＳ１３以降の処理が再度行われる。一方で、学習対象とするハンドがない場合には、ステップＳ１８においてＮｏと判定され処理はステップＳ１９に進む。
【００７０】
ステップＳ１９において、ロボット制御装置２０は、ステップＳ１７において記憶した、移載することに成功したハンド４１の識別情報それぞれに対応付けられている評価値を比較する。そして、もっとも高い評価値に対応付けられているハンド４１の識別情報をラベルとして機械学習装置１０に送信する。機械学習装置１０のラベル取得部１２は、このラベルを取得する。また、ロボット制御装置２０は、ステップＳ１２おいて記憶した移載対象画像データを、入力データとして機械学習装置１０に送信する。機械学習装置１０の状態観測部１１は、この入力データを取得する。これにより、ロボット制御装置２０は１つの教師データを得る。
【００７１】
ステップＳ２０において、ロボット制御装置２０は、移載対象を変更するか否かを判定する。学習対象とする移載対象が存在する場合は、ステップＳ２０においてＹｅｓと判定され、処理はステップＳ１１に戻る。そして、ステップＳ１１にて新たな移載対象が選択され、以降の処理が再度行われる。
一方で、学習対象とする移載対象が存在しない場合は、ステップＳ２０においてＮｏと判定され処理はステップＳ２１に進む。
【００７２】
ステップＳ２１において、学習部１３は、ステップＳ１９において取得した移載対象画像データとラベルとからなる教師データに基づいて、教師あり学習を実行する。教師あり学習の方法については、学習部１３の説明として上述した通りである。この教師あり学習は所定の条件が満たされるまで繰り返される。例えば、ニューラルネットワークの出力とラベルとの誤差の値が所定値以下となったことや、予め定めておいた回数だけ教師あり学習を繰り返したことを条件として、これらの条件が満たされた場合に学習は終了する。
【００７３】
ステップＳ２２において、学習部１３は、ステップＳ２１における学習で構築した学習モデルを学習モデル記憶部１４に記憶させる。
以上説明した動作により、学習部１３は、移載対象を移載するのに適したハンド４１の識別情報を出力する学習モデルを構築することができる。
【００７４】
なお、上述の動作は、学習モデルの構築のための処理として行われてもよいが、工場等においてロボット４０が平常稼働している際に行われてもよい。
【００７５】
また、上述した教師あり学習は、複数の移載対象についての教師データが蓄積された後にバッチ学習で行っているが、オンライン学習やミニバッチ学習で教師あり学習を行ってもよい。
オンライン学習とは、機械学習装置１０による加工が行われ、教師データが作成される都度、即座に教師あり学習を行うという学習方法である。また、バッチ学習とは、機械学習装置１０による加工が行われ、教師データが作成されることが繰り返される間に、繰り返しに応じた複数の教師データを収集し、収集した全ての教師データを用いて、教師あり学習を行うという学習方法である。更に、ミニバッチ学習とは、オンライン学習と、バッチ学習の中間的な、ある程度教師データが溜まるたびに教師あり学習を行うという学習方法である。
【００７６】
次に、このようにして構築された学習モデルを利用する場合の動作について図５のフローチャートを参照して説明をする。
ステップＳ３１において、ロボット制御装置２０は、移載対象を１つ選択する。例えば図２に示す第１移載対象５１又は第２移載対象５２の何れかを選択する。選択は、例えば視覚センサ３０から取得した移載対象画像データの解析結果に基づいて、把持できそうな位置及び姿勢の移載対象を特定することにより行われる。なお、選択は、ユーザの操作に基づいて行われてもよい。
【００７７】
ステップＳ３２において、ロボット制御装置２０は、移載対象画像データを機械学習装置１０に対して送信する。機械学習装置１０は、受信した移載対象画像データを、構築した学習モデルの入力データとするために取得する。
【００７８】
ステップＳ３３において、機械学習装置１０では、ステップＳ３２にて取得した入力データが学習部１３にて学習モデルに入力される。そして、学習部１３の学習モデルから、移載対象を移載するのに適したハンド４１の識別情報が、出力提示部１５に対して出力される。出力提示部１５は、このハンド４１の識別情報を、環境１００に含まれるハンド４１を自動で交換する装置又はユーザに対して出力する。ユーザに対して出力する場合には、出力提示部１５は、例えば、ロボット制御装置２０に対して、１つのハンド４１の識別情報を送信する。そして、ロボット制御装置２０が自身の備える表示部（図示省略）に、受信したハンド４１の識別情報を表示する。
【００７９】
ステップＳ３４において、ハンド４１の識別情報を提示された、ハンド４１を自動で交換する装置又はユーザは、この識別情報に対応するハンド４１をロボット４０のアームに対して装着する。そして、ロボット制御装置２０は、ロボット４０のアームや、このアームに装着されたハンド４１を駆動させることにより、移載対象を移載する。
【００８０】
以上説明した動作により、移載対象を移載するのに適したハンド４１により移載を行うことが可能となる。
ここで、本実施形態では、機械学習により構築した学習モデルを利用していることから、未知の移載対象に対しても、移載するのに適したハンド４１を提示することができる。つまり、ハンドとの組み合わせを教示していない移載対象についても、移載するためのハンドを選択することが可能となる。
これにより、重量や形状の個体差が大きく、形態データを事前に教示するのが困難なワークについても、ハンドの選択を自動的に行うことができるので、移載失敗率を低減することができる。また、ハンド交換の工数を削減できる。
【００８１】
＜第２の実施形態＞
以上第１の実施形態について説明をした。次に第２の実施形態についての説明をする。なお、第２の実施形態と第１の実施形態は、基本的な構成及び動作について共通するので、これらの点についての重複する説明は省略する。
【００８２】
第２の実施形態は、機械学習においてラベルとする情報が第１の実施形態と異なる。第１の実施形態では、移載することに成功したハンド４１の識別情報をラベルとしていた。これに対して、第２の実施形態では、移載することに成功したハンド４１の物理情報をラベルとする。ここで、ハンド４１の物理情報とは、ハンドの物理的特徴を示す情報であり、例えばハンド４１の形状、大きさ、及び材質等のハンド４１の物理的特徴を示す情報である。なお、入力データが、移載対象画像データである点は、第１の実施形態と同様である。
【００８３】
本実施形態では、ハンド４１の物理情報として、例えば、ＣＡＤ（Computer-Aided Design）にて形状及び大きさを特定するためのパラメータを利用する。例えば、ハンド４１の形状、ハンド４１の各箇所の寸法等を示すパラメータを利用する。この場合、ハンド４１の形状そのものをパラメータとして利用するのではなく、予めハンド４１の形状を形状の種類毎に定義しておき、この定義された形状種類を指定するパラメータを利用するようにしてもよい。形状の種類とは、例えば、移載対象を外側から挟み込むハンド、移載対象を内側から挟み込むハンド、真空吸着により移載対象を吸着するハンド、及び静電気により移載対象を吸着するハンド、等の種類である。また、更に、移載対象を挟み込む指の数や、移載対象吸着する部分の数についても種類の一部として定義しておいてもよい。
【００８４】
このようなハンド４１の物理情報をラベルとし、移載対象画像データを入力データとして、図４を参照して上述した学習モデルを構築する処理を行う。これにより、本実施形態では、移載対象を移載するのに適したハンド４１の物理情報を特定するデータを出力する学習モデルを構築することができる。
【００８５】
次に、このようにして構築された学習モデルを利用する場合について、図５のフローチャートと、図６Ａ及び図６Ｂのイメージ図を参照して説明をする。なお、図５のフローチャートにおける動作については、第１の実施形態の説明として上述しているので、重複する説明は省略する、
【００８６】
ステップＳ３１において、ロボット制御装置２０は、移載対象を１つ選択する。
ステップＳ３２において、ロボット制御装置２０は、移載対象画像データを機械学習装置１０に対して送信する。機械学習装置１０は、受信した移載対象画像データを、構築した学習モデルの入力データとするために取得する。ここで、入力データとなる移載対象画像データを図６Ａに模式的に示す。図６Ａには、移載対象５１を図示する。
【００８７】
ステップＳ３３において、機械学習装置１０では、ステップＳ３２にて取得した入力データが学習部１３にて学習モデルに入力される。そして、学習部１３の学習モデルから、移載対象を移載するのに適したハンド４１の物理情報が、出力提示部１５に対して出力される。出力提示部１５は、このハンド４１の物理情報であるＣＡＤのパラメータを、ＣＡＤを搭載した装置（図示省略）に対して送信する。このＣＡＤを搭載した装置は、ハンド４１の物理情報であるＣＡＤのパラメータに基づいて、ハンド４１の形状及び大きさを表示する。例えば、図６Ｂに示すように、ハンド４１がワークを把持した状態の断面画像を表示する。この形状及び大きさは、図６Ａに示した移載対象５１を把持するために適した形状及び大きさとなっている。
【００８８】
この表示を参照したユーザは、例えば、この形状及び大きさに基づいて、適切なハンド４１を選択することができる。また、この形状及び大きさに対応するハンド４１が存在しない場合に、この形状及び大きさのハンドを設計すればよいことが分かる。つまり、本実施形態は、移載対象に適したハンド４１を設計する場面等で有効に利用することができる。この場合、実際に移載を行って入力データやラベルを生成するのではなく、コンピュータ上でシミュレーションを行うことにより入力データやラベルを生成するようにするとよい。
【００８９】
ステップＳ３４において、ユーザは、設計して作成されたハンド４１をロボット４０のアームに対して装着する。そして、ロボット制御装置２０は、ロボット４０のアームや、このアームに装着されたハンド４１を駆動させることにより、移載対象を移載する。
【００９０】
以上説明した動作により、移載対象を移載するのに適したハンド４１により移載を行うことが可能となる。
ここで、本実施形態では、機械学習により構築した学習モデルを利用していることから、未知の移載対象に対しても、移載するのに適したハンド４１の形状及び大きさを提示することができる。つまり、ハンドとの組み合わせを教示していない移載対象についても、移載するためのハンドを選択することが可能となる。
【００９１】
＜第３の実施形態＞
次に第３の実施形態についての説明をする。なお、第３の実施形態と上述した各実施形態は、基本的な構成及び動作について共通するので、これらの点についての重複する説明は省略する。
【００９２】
第３の実施形態は、機械学習において入力データとする情報とラベルとする情報が上述した各実施形態と異なる。
ここで、上述した各実施形態では、移載対象画像データを入力データとしていた。
また、第１の実施形態では、移載することに成功したハンド４１の識別情報をラベルとしていた。更に、第２の実施形態では、移載することに成功したハンド４１の物理情報をラベルとしていた。
これに対して、本実施形態では、移載対象画像データと、移載対象を移載することを試みるハンド４１の識別情報または物理情報の組み合わせを入力データとする。
また、本実施形態では、試みる移載が成功したのか、それとも失敗したのかを示す情報（すなわち、移載の成否を示す情報）をラベルとする。
このように、上述の各実施形態では、移載に成功した場合の情報のみを教師データとして学習を行っていたのに対し、本実施形態では、移載の成否に関わらず、成功した場合の情報及び失敗した場合の情報の双方の情報を教師データとして学習を行う点で相違する。
【００９３】
このように移載対象画像データと移載対象を移載することを試みるハンド４１の識別情報または物理情報の組み合わせを入力データとし、移載の成否を示す情報をラベルとして、図４を参照して上述した学習モデルを構築する処理を行う。これにより、本実施形態では、移載対象画像データと、移載対象を移載することを試みるハンド４１の識別情報または物理情報の組み合わせを入力すると、この組み合わせによる移載の成否の推定結果を出力する学習モデルを構築することができる。なお、本実施形態では、移載の成否に関わらず教師データとする。また、本実施形態では、評価値に関わらず教師データとする。そのため、図４のステップＳ１６とステップＳ１７の処理に関しては省略される。
【００９４】
次に、このようにして構築された学習モデルを利用する場合について、図５のフローチャートを参照して説明をする。なお、図５のフローチャートにおける動作については、各実施形態の説明として上述しているので、重複する説明は省略する、
【００９５】
ステップＳ３１において、ロボット制御装置２０は、移載対象を１つ選択する。
ステップＳ３２において、ロボット制御装置２０は、移載対象画像データと、移載対象を移載することを試みるハンド４１の識別情報または物理情報の組み合わせを機械学習装置１０に対して送信する。機械学習装置１０は、受信した移載対象画像データと識別情報または物理情報の組み合わせを、構築した学習モデルの入力データとするために取得する。
【００９６】
ステップＳ３３において、機械学習装置１０では、ステップＳ３２にて取得した入力データが学習部１３にて学習モデルに入力される。そして、学習部１３の学習モデルから、入力データにおける組み合わせによる移載の成否の推定結果が、出力提示部１５に対して出力される。出力提示部１５は、この成否の推定結果を、環境１００に含まれるユーザに対して出力する。例えば、ロボット制御装置２０に対して、ハンド４１の識別情報または物理情報を送信する。そして、ロボット制御装置２０が自身の備える表示部（図示省略）に、成否の推定結果を表示する。ここで、提示された成否の推定結果において、失敗すると推定されている場合、ユーザは、ステップＳ３２にて入力データとしたハンド４１とは異なるハンド４１の識別情報または物理情報を入力データとして再度ステップＳ３２及び３３を行う。
【００９７】
ステップＳ３４において、ユーザは、成否の推定結果において、成功すると推定されている場合、ステップＳ３２にて入力データとしたハンド４１の識別情報または物理情報に対応するハンド４１をロボット４０のアームに対して装着する。そして、ロボット制御装置２０は、ロボット４０のアームや、このアームに装着されたハンド４１を駆動させることにより、移載対象を移載する。
【００９８】
以上説明した動作により、移載対象を移載するのに適したハンド４１により移載を行うことが可能となる。
ここで、本実施形態では、機械学習により構築した学習モデルを利用していることから、未知の移載対象に対しても、移載するのに成功するハンド４１であるか否かの推定結果を提示することができる。これにより、ハンドとの組み合わせを教示していない移載対象についても、移載するためのハンドを選択することが可能となる。
【００９９】
＜ハードウェアとソフトウェアの協働＞
なお、上記のロボットシステムに含まれる各装置のそれぞれは、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。また、上記のロボットシステムに含まれる各装置のそれぞれの協働により行なわれる機械学習方法も、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【０１００】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば、光磁気ディスク）、ＣＤ−ＲＯＭ(Read Only Memory)、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ(Programmable ROM)、ＥＰＲＯＭ(Erasable PROM)、フラッシュＲＯＭ、ＲＡＭ(random access memory）)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【０１０１】
＜実施形態の変形＞
また、上述した各実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、各実施形態を組み合わせた形態や、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【０１０２】
＜ラベルについての変形例＞
上述の第１の実施形態では、移載対象を実際に移載することに成功したハンド４１を特定するための識別情報をラベルとしていた。また、第２の実施形態では、ハンド４１の物理的特徴を示す物理情報をラベルとしていた。更に、第３の実施形態では、ハンド４１にてワークを実際に移載することを試みた成否の結果をラベルとしていた。
これら各実施形態において、ラベルとして、更に、移載対象を実際に移載することを試みた際の、ハンド４１による移載対象の把持位置や把持姿勢を含ませるようにしてもよい。
【０１０３】
これにより、第１の実施形態や第２の実施形態において、実際に移載することに成功した際の把持位置や把持姿勢も含めて機械学習を行い、学習モデルを構築することができる。この学習モデルを利用することにより、単に移載のために用いるハンド４１を自動選択したり、ハンド４１の物理情報を把握できたりするだけでなく、当該ハンド４１でどのように移載対象を把持することにより移載が成功するかについても自動判別することができ、より利便性を向上させることが可能となる。
【０１０４】
また、第３の実施形態において、実際に移載することに成功した際の把持位置や把持姿勢、及び実際に移載することに失敗した際の把持位置や把持姿勢も含めて機械学習を行い、学習モデルを構築することができる。この学習モデルを利用することにより、単に移載のために用いるハンド４１を自動選択したり、ハンド４１の物理情報を把握できたりするだけでなく、当該ハンド４１でどのように移載対象を把持すると移載が成功するか或いは失敗するかについても自動判別することができ、より利便性を向上させることが可能となる。
【０１０５】
＜学習時の動作についての変形例＞
上述した第１の実施形態及び第２の実施形態では、図４を参照して説明したように、移載に成功したハンド４１が複数存在する場合を想定して、評価値がもっとも高い移載を行ったハンド４１の識別情報をラベルとして教師データを生成するようにするようにしていた。本変形例では、この評価を不要として、動作を簡略化する。
上述の各実施形態では図４に示すように移載が成功した場合に、ステップＳ１７にて評価値を算出後、他のハンド４１へと交換して移載を試みることを繰り返していた。そのため、各実施形態では、１つの移載対象について、移載に成功したハンド４１が、複数となっていた。そこで、評価値を比較して１つのハンド４１を選択して、このハンド４１の識別情報をラベルとしていた。
【０１０６】
これに対して、本変形例では、図７に示すように、１つの移載対象について、何れかのハンド４１にて移載が成功した場合には、他のハンド４１での移載を試みることなくステップＳ１９の処理を行う。つまり、本変形例では、１つの移載対象について、移載に成功したハンド４１は、１つとなる。そのため、評価値による比較を行うことなく、このハンド４１の識別情報をラベルとする。
これにより、１つの移載対象について１つの教師データを作成することが可能となり、各実施形態同様に機械学習を行うことができる。
なお、本変形例では、仮に移載が失敗した場合には、ステップＳ１６においてＮｏと判定され、ステップＳ１８にて各実施形態と同様に、ハンドの交換を行うか否かを判定し、他のハンド４１での移載を試みる。そのため、何れかのハンド４１にて移載に成功すれば、教師データを作成することが可能となる。
【０１０７】
＜その他の変形例＞
上述した各実施形態では、機械学習装置１０とロボット制御装置２０を別体の装置としていたが、これら装置を一体として実現してもよい。
また、上述した各実施形態では、ロボット制御装置２０と機械学習装置１０が近傍にいるように図示したが、これらがＬＡＮ（Local Area Network）やインターネット等のネットワークを介した遠方に位置していてもよい。
また、１台の機械学習装置１０が、複数台のロボット制御装置２０と接続されていてもよい。そして、１台の機械学習装置１０が、この複数台のロボット制御装置２０のそれぞれから取得した教師データに基づいて学習を行うようにしてもよい。
【０１０８】
上述した実施形態では、一枚の画像の移載対象画像データを１つの教師データの入力データとすることを想定したが、複数枚の画像の移載対象画像データを１つの教師データの入力データとしてもよい。
【符号の説明】
【０１０９】
１  ロボットシステム
１０  機械学習装置
１１  状態観測部
１２  ラベル取得部
１３  学習部
１４  学習モデル記憶部
１５  出力提示部
２０  ロボット制御装置
３０  視覚センサ
４０  ロボット
４１  ハンド
５１  第１移載対象
５２  第２移載対象
６１  移載元架台
６２  移載先架台
【図１】
2019048365.tif 000003
【図２】
2019048365.tif 000004
【図３】
2019048365.tif 000005
【図４】
2019048365.tif 000006
【図５】
2019048365.tif 000007
【図６Ａ】
2019048365.tif 000008
【図６Ｂ】
2019048365.tif 000009
【図７】
2019048365.tif 000010
【手続補正書】
【提出日】平成30年6月13日(2018.6.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
移載対象を撮像した撮像データの少なくとも一部を入力データとして取得する状態観測手段と、
前記移載対象の移載のためにロボットに装着した把持手段に係る情報をラベルとして取得するラベル取得手段と、
前記状態観測手段が取得した入力データとラベル取得手段が取得したラベルの組を教師データとして教師あり学習を行うことにより、前記移載に適した把持手段に係る情報を出力する学習モデルを構築する学習手段と、を備える機械学習装置。
【請求項２】
前記ラベル取得手段は、前記把持手段が前記移載対象を把持した位置と姿勢を示す情報を更にラベルとして取得する請求項１に記載の機械学習装置。
【請求項３】
前記ラベル取得手段は、前記移載対象の移載に成功した把持手段を識別するための情報をラベルとして取得する請求項１又は２に記載の機械学習装置。
【請求項４】
前記把持手段を識別するための情報とは、前記把持手段の個体ごとに付与された文字又は数字或いはこれらの組み合わせからなる情報である請求項３に記載の機械学習装置。
【請求項５】
前記構築した学習モデルに前記撮像データが新たに入力された場合に、前記学習モデルの出力に基づいて、前記新たに入力された撮像データにて撮像されている移載対象を移載するための把持手段の識別情報を提示する出力提示手段を更に備える請求項４に記載の機械学習装置。
【請求項６】
前記ラベル取得手段は、前記移載対象の移載に成功した把持手段の物理的特徴を示す物理情報をラベルとして取得する請求項１又は２に記載の機械学習装置。
【請求項７】
前記構築した学習モデルに前記撮像データが新たに入力された場合に、前記学習モデルの出力に基づいて、前記新たに入力された撮像データにて撮像されている移載対象を移載するための把持手段の物理的特徴を示す物理情報を提示する出力提示手段を更に備える請求項６に記載の機械学習装置。
【請求項８】
前記状態観測手段は、前記撮像データに加えて、前記ロボットに装着した把持手段を識別するための情報を更に入力データとして取得し、
前記ラベル取得手段は、前記移載対象の移載の成否を示す情報をラベルとして取得する請求項１又は２に記載の機械学習装置。
【請求項９】
前記構築した学習モデルに前記撮像データと前記ロボットに装着した把持手段の識別情報が新たに入力された場合に、前記学習モデルの出力に基づいて、前記新たに入力された撮像データ中の移載対象を前記新たに入力された識別情報に対応する把持手段にて移載した場合の成否についての推定情報を提示する出力提示手段を更に備える請求項８に記載の機械学習装置。
【請求項１０】
請求項１から請求項９までの何れか１項に記載の機械学習装置と、撮像手段と、把持手段を装着したロボットとを備えたロボットシステムであって、
前記状態観測手段は、前記撮像手段が移載元に設置された移載対象の少なくとも一部を撮像することにより生成した撮像データを前記入力データとして取得し、
前記ラベル取得手段は、前記移載対象の移載のために前記ロボットに装着した把持手段に係る情報をラベルとして取得する、
ロボットシステム。
【請求項１１】
機械学習装置が行う機械学習方法であって、
移載対象を撮像した撮像データの少なくとも一部を入力データとして取得する状態観測ステップと、
前記移載対象の移載のためにロボットに装着した把持手段に係る情報をラベルとして取得するラベル取得ステップと、
前記状態観測ステップにて取得した入力データとラベル取得ステップにて取得したラベルの組を教師データとして教師あり学習を行うことにより、前記移載に適した把持手段に係る情報を出力する学習モデルを構築する学習ステップと、
を備える機械学習方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
（１）  本発明の機械学習装置（例えば、後述の機械学習装置１０）は、移載対象（例えば、後述の第１移載対象５１又は第２移載対象５２）の少なくとも一部を撮像した撮像データを入力データとして取得する状態観測手段（例えば、後述の状態観測部１１）と、前記移載対象の移載のためにロボットに装着した把持手段（例えば、後述のハンド４１）に係る情報をラベルとして取得するラベル取得手段（例えば、後述のラベル取得部１２）と、前記状態観測手段が取得した入力データとラベル取得手段が取得したラベルの組を教師データとして教師あり学習を行うことにより、前記移載に適した把持手段に係る情報を出力する学習モデルを構築する学習手段（例えば、後述の学習部１３）と、を備える。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
（１１）  本発明の機械学習方法は、機械学習装置（例えば、後述の機械学習装置１０）が行う機械学習方法であって、移載対象（例えば、後述の第１移載対象５１又は第２移載対象５２）の少なくとも一部を撮像した撮像データを入力データとして取得する状態観測ステップと、前記移載対象の移載のためにロボットに装着した把持手段に係る情報をラベルとして取得するラベル取得ステップと、前記状態観測ステップにて取得した入力データとラベル取得ステップにて取得したラベルの組を教師データとして教師あり学習を行うことにより、前記移載に適した把持手段に係る情報を出力する学習モデルを構築する学習ステップと、を備える。