(57)【特許請求の範囲】
【請求項１】
ロボットの動作を規定する動作パラメータと、前記ロボットを動作させる条件を示す条件情報とが入力され、前記ロボットの動作の結果を示す動作結果情報を生成する分別部と、
前記条件情報が少なくとも入力され、前記動作パラメータを生成する生成部と、
を備え、
前記分別部は、前記生成部が生成した動作パラメータを含む第２の教師データを少なくとも用いて学習されたものであり、
前記生成部が生成した前記動作パラメータと、当該動作パラメータを用いて実際に前記ロボットを動作させた結果を示す動作結果情報とを含む前記第２の教師データを生成する第２の教師データ生成部をさらに備えている、情報処理装置。
【請求項２】
前記分別部は、前記生成部が生成する動作パラメータとは異なる動作パラメータを含む第１の教師データを少なくとも用いて学習されたものである、
請求項１に記載の情報処理装置。
【請求項３】
前記生成部は、当該生成部が生成した動作パラメータを前記分別部に入力した場合に、前記分別部が生成する動作結果情報が所望の動作結果を示すように学習されたものである、
請求項１又は２に記載の情報処理装置。
【請求項４】
前記生成部には、前記条件情報と、ノイズを表すノイズパラメータとが入力される、
請求項１から３の何れか１項に記載の情報処理装置。
【請求項５】
前記ロボットは、対象物を採取する採取部を有し、
前記ロボットの動作は、前記対象物を採取する動作であり、
前記動作パラメータは、前記採取部を前記対象物へ挿入する位置、挿入する深さ、挿入する際の傾きである第１角度、挿入後の移動量、移動速度、及び前記対象物から抜き取る際の傾きである第２角度の一部又は全部を含む、
請求項１から４の何れか１項に記載の情報処理装置。
【請求項６】
前記第２角度は、前記採取部を前記対象物から抜き取る動作を開始する際の傾きであり、
前記動作パラメータは、前記採取部を前記対象物から抜き取る動作を終了する際の傾きである第３角度をさらに含む、
請求項５に記載の情報処理装置。
【請求項７】
前記動作パラメータは、前記採取部を前記対象物に挿入した後に移動させる方向をさらに含む、
請求項５又は６に記載の情報処理装置。
【請求項８】
前記対象物は、容器に収容されており、
前記採取部を前記対象物へ挿入する位置は、前記容器を基準とする相対的な位置である、請求項５から７の何れか１項に記載の情報処理装置。
【請求項９】
前記ロボットの動作は、前記対象物を目標量だけ採取する動作であり、
前記分別部は、前記動作結果情報として、前記対象物を前記目標量だけ採取することの成否を示す情報を出力するように学習されたものである、
請求項５から８の何れか１項に記載の情報処理装置。
【請求項１０】
前記生成部は、当該生成部が生成した動作パラメータを前記分別部に入力した場合に、前記分別部が生成する動作結果情報が成功を示すように学習されたものである、
請求項９に記載の情報処理装置。
【請求項１１】
前記分別部は、前記動作結果情報として、前記対象物の採取量を示す情報を出力するように学習されたものである、
請求項５から８の何れか１項に記載の情報処理装置。
【請求項１２】
前記ロボットの動作は、前記対象物を目標量だけ採取する動作であり、
前記生成部は、当該生成部が生成した動作パラメータを前記分別部に入力した場合に、前記分別部が生成する動作結果情報が前記目標量を示すように学習されたものである、
請求項１１に記載の情報処理装置。
【請求項１３】
前記条件情報は、前記対象物を被写体として含む画像、前記対象物の三次元形状を示す情報、前記対象物の物性を示す情報、及び前記対象物周辺の環境を示す情報の一部又は全部を含む、
請求項５から１２の何れか１項に記載の情報処理装置。
【請求項１４】
ロボットを動作させる条件を示す条件情報を取得する取得部と、
前記条件情報が少なくとも入力され、前記ロボットの動作を規定する動作パラメータを生成する生成部であって、前記動作パラメータに影響を与えるノイズパラメータが更に入力される生成部と、
を備え、
前記生成部は、
前記動作パラメータと、前記条件情報とが入力され、前記ロボットの動作の結果を示す動作結果情報を生成する分別部に、当該生成部が生成した動作パラメータを入力した場合に、前記分別部が生成する動作結果情報が所望の動作結果を示すように学習されたものであり、
前記分別部は、前記生成部が生成した動作パラメータを含む第２の教師データを少なくとも用いて学習されたものであり、
前記第２の教師データは、前記生成部が生成した前記動作パラメータと、当該動作パラメータを用いて実際に前記ロボットを動作させた結果を示す動作結果情報とを含むものである、情報処理装置。
【請求項１５】
情報処理装置が実行する情報処理方法であって、
ロボットを動作させる条件を示す条件情報が少なくとも入力され、当該ロボットの動作を規定する動作パラメータを生成する生成工程と、
前記条件情報と、前記生成工程で生成した動作パラメータとが入力され、前記ロボットの動作の結果を示す動作結果情報を生成する分別工程と、
を含み、
前記分別工程は、前記生成工程が生成した動作パラメータを含む第２の教師データを少なくとも用いて学習されたものであり、
前記生成工程が生成した前記動作パラメータと、当該動作パラメータを用いて実際に前記ロボットを動作させた結果を示す動作結果情報とを含む前記第２の教師データを生成する第２の教師データ生成工程をさらに含む、情報処理方法。
【請求項１６】
情報処理装置が実行する情報処理方法であって、
ロボットを動作させる条件を示す条件情報を取得する取得工程と、
前記条件情報が少なくとも入力され、前記ロボットの動作を規定する動作パラメータを生成する生成工程であって、前記動作パラメータに影響を与えるノイズパラメータが更に入力される生成工程と、
を含み、
前記生成工程は、
前記動作パラメータと、前記条件情報とが入力され、前記ロボットの動作の結果を示す動作結果情報を生成する分別工程に、当該生成工程が生成した動作パラメータを入力した場合に、前記分別工程が生成する動作結果情報が所望の動作結果を示すように学習されたものであり、
前記分別工程は、前記生成工程が生成した動作パラメータを含む第２の教師データを少なくとも用いて学習されたものであり、
前記第２の教師データは、前記生成工程が生成した前記動作パラメータと、当該動作パラメータを用いて実際に前記ロボットを動作させた結果を示す動作結果情報とを含むものである、情報処理方法。
【請求項１７】
請求項１に記載の情報処理装置としてコンピュータを機能させるためのプログラムであって、上記分別部、上記生成部、及び上記第２の教師データ生成部としてコンピュータを機能させるためのプログラム。
【請求項１８】
請求項１４に記載の情報処理装置としてコンピュータを機能させるためのプログラムであって、上記取得部、及び上記生成部としてコンピュータを機能させるためのプログラム。
【請求項１９】
ロボットの動作を規定する動作パラメータと、前記ロボットを動作させる条件を示す条件情報とが入力され、前記ロボットの動作の結果を示す動作結果情報を生成する分別部と、
前記条件情報が少なくとも入力され、前記動作パラメータを生成する生成部と、
を備え、
前記ロボットは、対象物を採取する採取部を有し、
前記ロボットの動作は、前記対象物を採取する動作であり、
前記動作パラメータは、前記採取部を前記対象物へ挿入する位置、挿入する深さ、挿入する際の傾きである第１角度、挿入後の移動量、移動速度、及び前記対象物から抜き取る際の傾きである第２角度の一部又は全部を含み、
前記第２角度は、前記採取部を前記対象物から抜き取る動作を開始する際の傾きであり、
前記動作パラメータは、前記採取部を前記対象物から抜き取る動作を終了する際の傾きである第３角度をさらに含む、情報処理装置。
【請求項２０】
ロボットの動作を規定する動作パラメータと、前記ロボットを動作させる条件を示す条件情報とが入力され、前記ロボットの動作の結果を示す動作結果情報を生成する分別部と、
前記条件情報が少なくとも入力され、前記動作パラメータを生成する生成部と、
を備え、
前記ロボットは、対象物を採取する採取部を有し、
前記ロボットの動作は、前記対象物を採取する動作であり、
前記動作パラメータは、前記採取部を前記対象物へ挿入する位置、挿入する深さ、挿入する際の傾きである第１角度、挿入後の移動量、移動速度、及び前記対象物から抜き取る際の傾きである第２角度の一部又は全部を含み、
前記動作パラメータは、前記採取部を前記対象物に挿入した後に移動させる方向をさらに含む、情報処理装置。
【請求項２１】
ロボットの動作を規定する動作パラメータと、前記ロボットを動作させる条件を示す条件情報とが入力され、前記ロボットの動作の結果を示す動作結果情報を生成する分別部と、
前記条件情報が少なくとも入力され、前記動作パラメータを生成する生成部と、
を備え、
前記ロボットは、対象物を採取する採取部を有し、
前記ロボットの動作は、前記対象物を採取する動作であり、
前記動作パラメータは、前記採取部を前記対象物へ挿入する位置、挿入する深さ、挿入する際の傾きである第１角度、挿入後の移動量、移動速度、及び前記対象物から抜き取る際の傾きである第２角度の一部又は全部を含み、
前記ロボットの動作は、前記対象物を目標量だけ採取する動作であり、
前記分別部は、前記動作結果情報として、前記対象物を前記目標量だけ採取することの成否を示す情報を出力するように学習されたものである、情報処理装置。
【請求項２２】
ロボットの動作を規定する動作パラメータと、前記ロボットを動作させる条件を示す条件情報とが入力され、前記ロボットの動作の結果を示す動作結果情報を生成する分別部と、
前記条件情報が少なくとも入力され、前記動作パラメータを生成する生成部と、
を備え、
前記ロボットは、対象物を採取する採取部を有し、
前記ロボットの動作は、前記対象物を採取する動作であり、
前記動作パラメータは、前記採取部を前記対象物へ挿入する位置、挿入する深さ、挿入する際の傾きである第１角度、挿入後の移動量、移動速度、及び前記対象物から抜き取る際の傾きである第２角度の一部又は全部を含み、
前記分別部は、前記動作結果情報として、前記対象物の採取量を示す情報を出力するように学習されたものである、情報処理装置。
【請求項２３】
ロボットの動作を規定する動作パラメータと、前記ロボットを動作させる条件を示す条件情報とが入力され、前記ロボットの動作の結果を示す動作結果情報を生成する分別部と、
前記条件情報が少なくとも入力され、前記動作パラメータを生成する生成部と、
を備え、
前記ロボットは、対象物を採取する採取部を有し、
前記ロボットの動作は、前記対象物を採取する動作であり、
前記動作パラメータは、前記採取部を前記対象物へ挿入する位置、挿入する深さ、挿入する際の傾きである第１角度、挿入後の移動量、移動速度、及び前記対象物から抜き取る際の傾きである第２角度の一部又は全部を含み、
前記条件情報は、前記対象物を被写体として含む画像、前記対象物の三次元形状を示す情報、前記対象物の物性を示す情報、及び前記対象物周辺の環境を示す情報の一部又は全部を含む、情報処理装置。
【請求項２４】
情報処理装置が実行する情報処理方法であって、
ロボットを動作させる条件を示す条件情報が少なくとも入力され、当該ロボットの動作を規定する動作パラメータを生成する生成工程と、
前記条件情報と、前記生成工程で生成した動作パラメータとが入力され、前記ロボットの動作の結果を示す動作結果情報を生成する分別工程と、
を含み、
前記ロボットは、対象物を採取する採取部を有し、
前記ロボットの動作は、前記対象物を採取する動作であり、
前記動作パラメータは、前記採取部を前記対象物へ挿入する位置、挿入する深さ、挿入する際の傾きである第１角度、挿入後の移動量、移動速度、及び前記対象物から抜き取る際の傾きである第２角度の一部又は全部を含み、
前記第２角度は、前記採取部を前記対象物から抜き取る動作を開始する際の傾きであり、
前記動作パラメータは、前記採取部を前記対象物から抜き取る動作を終了する際の傾きである第３角度をさらに含む、情報処理方法。
【請求項２５】
情報処理装置が実行する情報処理方法であって、
ロボットを動作させる条件を示す条件情報が少なくとも入力され、当該ロボットの動作を規定する動作パラメータを生成する生成工程と、
前記条件情報と、前記生成工程で生成した動作パラメータとが入力され、前記ロボットの動作の結果を示す動作結果情報を生成する分別工程と、
を含み、
前記ロボットは、対象物を採取する採取部を有し、
前記ロボットの動作は、前記対象物を採取する動作であり、
前記動作パラメータは、前記採取部を前記対象物へ挿入する位置、挿入する深さ、挿入する際の傾きである第１角度、挿入後の移動量、移動速度、及び前記対象物から抜き取る際の傾きである第２角度の一部又は全部を含み、
前記動作パラメータは、前記採取部を前記対象物に挿入した後に移動させる方向をさらに含む、情報処理方法。
【請求項２６】
情報処理装置が実行する情報処理方法であって、
ロボットを動作させる条件を示す条件情報が少なくとも入力され、当該ロボットの動作を規定する動作パラメータを生成する生成工程と、
前記条件情報と、前記生成工程で生成した動作パラメータとが入力され、前記ロボットの動作の結果を示す動作結果情報を生成する分別工程と、
を含み、
前記ロボットは、対象物を採取する採取部を有し、
前記ロボットの動作は、前記対象物を採取する動作であり、
前記動作パラメータは、前記採取部を前記対象物へ挿入する位置、挿入する深さ、挿入する際の傾きである第１角度、挿入後の移動量、移動速度、及び前記対象物から抜き取る際の傾きである第２角度の一部又は全部を含み、
前記ロボットの動作は、前記対象物を目標量だけ採取する動作であり、
前記分別工程は、前記動作結果情報として、前記対象物を前記目標量だけ採取することの成否を示す情報を出力するように学習されたものである、情報処理方法。
【請求項２７】
情報処理装置が実行する情報処理方法であって、
ロボットを動作させる条件を示す条件情報が少なくとも入力され、当該ロボットの動作を規定する動作パラメータを生成する生成工程と、
前記条件情報と、前記生成工程で生成した動作パラメータとが入力され、前記ロボットの動作の結果を示す動作結果情報を生成する分別工程と、
を含み、
前記ロボットは、対象物を採取する採取部を有し、
前記ロボットの動作は、前記対象物を採取する動作であり、
前記動作パラメータは、前記採取部を前記対象物へ挿入する位置、挿入する深さ、挿入する際の傾きである第１角度、挿入後の移動量、移動速度、及び前記対象物から抜き取る際の傾きである第２角度の一部又は全部を含み、
前記分別工程は、前記動作結果情報として、前記対象物の採取量を示す情報を出力するように学習されたものである、情報処理方法。
【請求項２８】
情報処理装置が実行する情報処理方法であって、
ロボットを動作させる条件を示す条件情報が少なくとも入力され、当該ロボットの動作を規定する動作パラメータを生成する生成工程と、
前記条件情報と、前記生成工程で生成した動作パラメータとが入力され、前記ロボットの動作の結果を示す動作結果情報を生成する分別工程と、
を含み、
前記ロボットは、対象物を採取する採取部を有し、
前記ロボットの動作は、前記対象物を採取する動作であり、
前記動作パラメータは、前記採取部を前記対象物へ挿入する位置、挿入する深さ、挿入する際の傾きである第１角度、挿入後の移動量、移動速度、及び前記対象物から抜き取る際の傾きである第２角度の一部又は全部を含み、
前記条件情報は、前記対象物を被写体として含む画像、前記対象物の三次元形状を示す情報、前記対象物の物性を示す情報、及び前記対象物周辺の環境を示す情報の一部又は全部を含む、情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットに動作を学習させる技術に関する。
【背景技術】
【０００２】
ロボットに動作を学習させる技術が知られている。例えば、特許文献１には、容器に入った対象物を所定の量だけすくい出す動作を、ロボットに学習させる技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１９−９８４１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載された技術は、学習させたロボットを動作させても、動作時の条件によっては、精度よく所定の量をすくい出せない場合がある。そのため、特許文献１に記載された技術は、ロボットをより精度よく動作させる上で改善の余地がある。
【０００５】
本発明の一態様は、ロボットをより精度よく動作させる技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、本発明の一態様に係る情報処理装置は、ロボットの動作を規定する動作パラメータと、前記ロボットを動作させる条件を示す条件情報とが入力され、前記ロボットの動作の結果を示す動作結果情報を生成する分別部と、前記条件情報が少なくとも入力され、前記動作パラメータを生成する生成部と、を備えている。
【０００７】
上記の課題を解決するために、本発明の一態様に係る情報処理装置は、ロボットを動作させる条件を示す条件情報を取得する取得部と、前記条件情報が少なくとも入力され、前記ロボットの動作を規定する動作パラメータを生成する生成部であって、前記動作パラメータに影響を与えるノイズパラメータが更に入力される生成部と、を備えている。
【発明の効果】
【０００８】
本発明の一態様によれば、ロボットをより精度よく動作させることができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係るロボット制御システムの概略を示すブロック図である。
【図２】本発明の実施形態に係る学習装置の機能的な構成を示すブロック図である。
【図３】本発明の実施形態における表面形状情報を模式的に説明する図である。
【図４】本発明の実施形態における安息角、崩潰角、及び差角を説明する模式図である。
【図５】本発明の実施形態における動作パラメータを構成するパラメータ群の一例を示す図である。
【図６】本発明の実施形態における挿入動作を模式的に説明する図である。
【図７】本発明の実施形態における移動動作を模式的に説明する図である。
【図８】本発明の実施形態における抜き取り動作を模式的に説明する図である。
【図９】本発明の実施形態における生成モデル及び分別モデルの具体的な構成例を示す図である。
【図１０】本発明の実施形態における分別モデルの学習時における構成例を示す図である。
【図１１】本発明の実施形態における制御装置の詳細な構成を示すブロック図である。
【図１２】本発明の実施形態に係るロボット制御システムが実行する学習方法の流れを示すフローチャートである。
【図１３】本発明の実施形態に係るロボット制御システムが実行する第１の教師データ生成方法の流れを示すフローチャートである。
【図１４】本発明の実施形態に係るロボット制御システムが実行する第２の教師データ生成方法の流れを示すフローチャートである。
【図１５】本発明の実施形態における動作パラメータに含まれるパラメータ間の相関関係を示すグラフ群である。
【図１６】本発明の実施形態に係るロボット制御システムを構成する各装置の物理的構成を例示したブロック図である。
【発明を実施するための形態】
【００１０】
〔実施形態〕
以下、本発明の一実施形態に係るロボット制御システム１について説明する。
【００１１】
＜ロボット制御システム１の概要＞
ロボット制御システム１の概要について、図１を参照して説明する。図１は、ロボット制御システム１の概略を示すブロック図である。図１に示すように、ロボット制御システム１は、制御装置１０と、学習装置２０と、ロボット３０と、センサ４１〜４４とを含む。ロボット制御システム１は、対象物８０の採取動作をロボット３０に学習及び実行させるシステムである。
【００１２】
制御装置１０及び学習装置２０は、ロボット３０及びセンサ４１〜４４と、それぞれ通信可能に接続される。また、制御装置１０及び学習装置２０は、互いに通信可能に接続される。例えば、制御装置１０、学習装置２０、ロボット３０、及びセンサ４１〜４４は、ネットワークを介して接続される。この場合、ネットワークは、有線ＬＡＮ（Local Area Network）、無線ＬＡＮ、インターネット、公衆回線網、モバイルデータ通信網、又はこれらの組み合わせである。
【００１３】
なお、図１に示す例では、制御装置１０及び学習装置２０は物理的に異なる装置であるが、これは本実施形態を限定するものではない。例えば、制御装置１０及び学習装置２０は、物理的に１つのコンピュータによって一体に形成されていてもよい。また、図１に示す例では、制御装置１０及びロボット３０は、ネットワークを介して通信可能に接続された物理的に異なる装置であるが、これは本実施形態を限定するものではない。例えば、制御装置１０は、ロボット３０に内蔵されていてもよい。また、図１に示す例では、ロボット３０及びセンサ４１〜４４は、物理的に連結された異なる装置であるが、これは本実施形態を限定するものではない。例えば、センサ４１〜４４の一部又は全部は、ロボット３０に内蔵されていてもよい。
【００１４】
また、図１に示す例では、ロボット制御システム１が、ロボット３０及びセンサ４１〜４４をそれぞれ１つずつ含んでいるが、これは本実施形態を限定するものではない。ロボット制御システム１は、複数のロボット３０を含んでいてもよい。また、ロボット制御システム１は、センサ４１〜４４の少なくとも何れかを複数含んでいてもよい。
【００１５】
（制御装置１０の構成）
制御装置１０は、ロボットを動作させる条件を示す条件情報を取得し、当該ロボットの動作を規定する動作パラメータを、後述の生成モデルＭ１を用いて生成する装置である。また、制御装置１０は、生成した動作パラメータに基づいて、対象物８０の採取動作を実行するようロボット３０を制御する。制御装置１０は、特許請求の範囲に記載した「情報処理装置」を実現する構成の一例である。制御装置１０の詳細な構成については後述する。
【００１６】
（学習装置２０の構成）
学習装置２０は、制御装置１０が用いる生成モデルＭ１を機械学習により生成する装置である。より具体的には、学習装置２０は、生成モデルＭ１と、後述する分別モデルＭ２とを生成する。学習装置２０は、教師データを用いて分別モデルＭ２を学習させるとともに、分別モデルＭ２に対して生成モデルＭ１を敵対的に学習させる。学習装置２０は、特許請求の範囲に記載した「情報処理装置」を実現する構成の一例である。学習装置２０の詳細な構成については後述する。
【００１７】
（採取動作）
採取動作は、ロボット３０が、容器９０内の対象物８０を目標量だけ採取する動作である。
【００１８】
（対象物８０）
対象物８０は、ロボット３０による採取の対象物である。対象物８０は、例えば、粉体、粒体、液体、又は粘性体である。対象物８０は、容器９０に収容されている。
【００１９】
（容器９０）
容器９０は、対象物８０を収容可能な形状であり、対象物８０を採取可能な開口部を有する。ここでは、容器９０は、２つの底面のうち一方が開口した円柱状のシャーレである。容器９０は、開口部が鉛直上向きになるように設置される。以降では、開口している方の底面を上面と記載し、開口していない方の底面を単に底面と記載する。
【００２０】
（ロボット３０の構成）
ロボット３０は、制御装置１０の制御に基づいて採取動作を実行する。具体的には、図１に示すように、ロボット３０は、複数の回転軸を有する多関節ロボットであり、台座部３１と、ベース部３２と、アーム部３３と、採取部３４とを含む。
【００２１】
台座部３１は、ロボット３０の設置面に設置される。設置面とは、例えば、床であるが、これに限られない。台座部３１は、制御装置１０の制御に基づいて設置面を移動可能であり得る。例えば、台座部３１は、設置面に接する車輪を有していてもよい。
【００２２】
ベース部３２は、台座部３１に対し、旋回可能に連結される。
【００２３】
アーム部３３は、複数のアームを含む。各アームの基端部は、ベース部３２又は他のアームの先端部に対して、定められた軸まわりに回転可能に連結される。また、アーム部３３の先端には採取部３４が接続される。
【００２４】
採取部３４は、先端に、対象物８０を保持可能な凹部を有する。凹部の形状は、例えば、匙状、カップ状であってもよいが、これに限られない。採取部３４は、例えば、薬さじ（スパチュラ）であるが、これに限られない。
【００２５】
ロボット３０は、制御装置１０の制御に基づいて、台座部３１の移動、ベース部３２の旋回、及び各アームの回転の一部又は全部を実行することにより、採取部３４の位置及び傾きを変化させる。
【００２６】
（センサ４１の構成）
センサ４１は、対象物８０の表面を撮影する。例えば、センサ４１は、ＲＧＢカメラであり、対象物８０の上方に設置される。センサ４１は、対象物８０の表面を上方から撮影する。なお、センサ４１は、ＲＧＢカメラに限られず、対象物８０の表面を撮影可能なセンサであればよい。
【００２７】
（センサ４２の構成）
センサ４２は、対象物８０の表面の三次元形状を検出する。例えば、センサ４２は、深度カメラであり、対象物８０の上方に設置される。センサ４２は、当該センサ４２から対象物８０の表面に含まれる各点までの距離を計測する。計測された各点までの距離の集合は、表面の三次元形状を表している。なお、センサ４２は、深度カメラに限られず、対象物８０の表面の三次元形状を検出可能なセンサであればよい。
【００２８】
（センサ４３の構成）
センサ４３は、対象物８０周辺の環境を検出する。例えば、センサ４３は、温湿センサであり、対象物８０周辺に設置される。これにより、センサ４３は、対象物８０周辺の環境として温度及び湿度を検出する。なお、センサ４３は、温湿センサに限られず、環境を検出可能なセンサであればよい。
【００２９】
（センサ４４の構成）
センサ４４は、対象物８０を収容した容器９０の重量を検出する。センサ４４は、重量センサであり、重量を検出する対象を載置する載置面を有する。載置面には、容器９０が載置される。
【００３０】
＜学習装置２０の機能的な構成＞
学習装置２０の機能的な構成について、図２を参照して説明する。図２は、学習装置２０の機能的な構成を示すブロック図である。図２に示すように、学習装置２０は、制御部２１と、記憶部２２とを含む。制御部２１は、学習制御部２１１と、第１の教師データ生成部２１２と、第２の教師データ生成部２１３とを含む。記憶部２２は、生成モデルＭ１と、分別モデルＭ２と、第１の教師データセットＴ１と、第２の教師データセットＴ２とを記憶する。第１の教師データセットＴ１は、複数の第１の教師データＤ１を含む。第２の教師データセットＴ２は、複数の第２の教師データＤ２を含む。なお、図２には、第１の教師データＤ１及び第２の教師データＤ２をそれぞれ３つずつ示しているが、これらの数は３に限定されない。
【００３１】
（生成モデルＭ１）
生成モデルＭ１は、条件情報と、ノイズパラメータとが入力されると、動作パラメータを生成する。生成モデルＭ１は、特許請求の範囲に記載した「生成部」を実現する構成の一例である。生成モデルＭ１は、例えば、１又は複数のニューラルネットワーク（好ましくは、ディープニューラルネットワーク）によって構成される。ニューラルネットワークの一例としては、ＣＮＮ（Convolutional Neural Network）が挙げられるが、これに限らない。生成モデルＭ１は、分別モデルＭ２に対して敵対的に学習される。なお、生成モデルＭ１の学習とは、生成モデルＭ１への入力に対して所望の出力が得られるよう、生成モデルＭ１が含む複数のパラメータを決定することである。学習の詳細については後述する。
【００３２】
（条件情報）
条件情報は、ロボット３０を動作させる条件を示す情報である。具体的には、条件情報は、ロボット３０が採取動作を実行する際の条件を示す。例えば、条件情報は、表面画像情報、表面形状情報、環境情報、及び物性情報を含む。
【００３３】
（表面画像情報）
表面画像情報は、特許請求の範囲に記載した「対象物８０を被写体として含む画像」の一例であり、対象物８０の表面を被写体として含む画像である。表面画像情報は、センサ４１の検出結果を用いて生成される。
【００３４】
（表面形状情報）
表面形状情報は、特許請求の範囲に記載した「対象物８０の三次元形状を示す情報」の一例であり、対象物８０の表面の三次元形状を示す。表面形状情報は、センサ４２の検出結果を用いて生成される。表面形状情報の具体例について、図３を参照して説明する。図３は、表面形状情報を模式的に説明する図であり、容器９０の平面図である。図３に示すように、表面形状情報は、センサ４２から複数の点Ｒ１〜Ｒ１６までの距離を示す情報からなる。点Ｒ１〜Ｒ１６は、対象物８０の表面に含まれる離散的な複数の点である。上面視した容器９０の領域における点Ｒ１〜Ｒ１６の位置は、事前に定められる。なお、表面形状情報を構成する距離を計測する点の個数は、１６に限られない。
【００３５】
（環境情報）
前述のセンサ４３によって取得される温度及び湿度を示す情報は、環境情報の一例である。
【００３６】
（物性情報）
対象物８０が粉体である場合、物性情報の一例として、安息角、崩潰角、及び差角の一部又は全部を用いることができる。安息角、崩潰角、及び差角について、図４を参照して説明する。図４は、安息角、崩潰角、及び差角を説明する模式図である。図４に示すように、安息角は、平坦な板Ｂ上に堆積した対象物８０の山８０ａの斜面と板Ｂとがなす角度である。また、崩潰角は、山８０ａに衝撃が加わることにより崩れた山８０ｂの斜面と板Ｂとのなす角度である。また、差角は、安息角及び崩潰角の差である。安息角及び崩潰角は、粉体の大きさ、含有水分、形状等に影響されるため、対象物８０の物性を示している。このような安息角、崩潰角、及び差角としては、事前に取得された情報が用いられる。また、物性情報の他の一例として、対象物８０の密度を用いることができる。ただし、物性情報は、上述した例に限られない。
【００３７】
（ノイズパラメータ）
ノイズパラメータは、動作パラメータに影響を与えるノイズを示すパラメータである。具体的には、生成モデルＭ１は、条件情報Ａ及びノイズパラメータＮ１が入力される場合と、条件情報Ａ及びノイズパラメータＮ２が入力される場合とでは、異なる動作パラメータを出力する。換言すると、生成モデルＭ１は、同一の条件情報が入力される場合であっても、異なるノイズパラメータが入力される場合、異なる動作パラメータを出力する。
【００３８】
（動作パラメータ）
動作パラメータは、ロボット３０の採取動作を規定するパラメータである。換言すると、ロボット３０の採取動作は、動作パラメータによってモデル化される。動作パラメータの一例について、図５を参照して説明する。図５は、動作パラメータを構成するパラメータ群の一例を示す図である。図５に示すように、動作パラメータは、第１角度θ、第２角度φ、第３角度α、移動速度ｖ、移動量λ、挿入位置を示すｘ座標、挿入位置を示すｙ座標、及び挿入する深さｚを含む。
【００３９】
ここで、これらの動作パラメータによって規定される採取動作は、挿入動作Ａ１、移動動作Ａ２、及び、抜き取り動作Ａ３を含む。これらの動作Ａ１〜Ａ３及び各パラメータの詳細について、図６〜図８を参照して説明する。
【００４０】
図６は、挿入動作Ａ１を模式的に説明する図である。図７は、移動動作Ａ２を模式的に説明する図である。図８は、抜き取り動作Ａ３を模式的に説明する図である。図６〜図８は、それぞれ、対象物８０を収容した容器９０の平面図、側面図、及び斜視図を含む。ここでは、容器９０の底面と平行な面を、ＸＹ平面と定めている。また、図面の左向きをＸ軸正方向とし、図面の下向きをＹ軸正方向としている。また、Ｘ軸正方向及びＹ軸正方向と共に右手系の直交座標を構成するようにＺ軸正方向を定めている。したがって、Ｚ軸方向は、容器９０の底面の法線方向である。ここでは、Ｚ軸正方向を上と定め、Ｚ軸負方向を下と定める。また、このようなＸＹＺ空間において、容器９０の位置を基準として原点Ｐ０を定める。これにより、挿入位置を示すｘ座標、ｙ座標、及び挿入する深さｚを、容器９０を基準とする相対的な位置で表すことができる。ここでは、容器９０の底面に外接する四角形の頂点の１つを原点Ｐ０とする。また、このようなＸＹＺ空間において、採取部３４は、採取動作により位置Ｑ１〜Ｑ４までこの順に移動する。図６〜図８において、参照符号「３４（Ｑｉ）」は、位置Ｑｉ（ｉ＝１，２，３，４）にある採取部３４を示している。
【００４１】
（挿入動作Ａ１）
図６に示すように、挿入動作Ａ１は、採取部３４を、位置Ｑ１から位置Ｑ２まで移動させることにより、採取部３４を対象物８０に挿入する動作である。位置Ｑ１は、容器９０に対してｚ軸正方向側及びＸ軸正方向側に離間した位置である。換言すると、位置Ｑ１は、容器９０の斜め上方の位置である。位置Ｑ２は、挿入時の採取部３４の位置である。位置Ｑ２にある採取部３４は、その先端が挿入位置Ｐ１にある。
【００４２】
挿入動作Ａ１は、第１角度θと、挿入位置Ｐ１のｘ座標と、挿入位置Ｐ１のｙ座標と、挿入する深さｚと、移動速度ｖとによって規定される。ここでは、挿入する深さｚは、挿入位置Ｐ１のｚ座標によって表される。第１角度θは、採取部３４を対象物８０へ挿入する際の採取部３４の傾きを示す。ここでは、採取部３４の傾きは、採取部３４とＸＹ平面とがなす角度で表される。なお、図６において、採取部３４は、位置Ｑ１から位置Ｑ２まで移動する間、常に第１角度θで傾いているものとしている。ただし、採取部３４は、その先端が対象物８０の表面に接触する直前から挿入位置Ｐ１に到達するまでの間、少なくとも第１角度θで傾いていればよい。移動速度ｖは、採取部３４を移動させる速度を示し、ここでは、位置Ｑ１から位置Ｑ２まで採取部３４を移動させる速度である。
【００４３】
（移動動作Ａ２）
図７に示すように、移動動作Ａ２は、採取部３４を、位置Ｑ２から位置Ｑ３まで移動させることにより、採取部３４の少なくとも先端を対象物８０の内部で移動させる動作である。また、移動動作Ａ２における採取部３４の移動方向は、Ｘ軸負方向である。つまり、移動動作Ａ２において、採取部３４は、ＸＹ平面に平行な面においてＸ軸負方向に移動し、その間、先端のｙ座標及びｚ座標は変化しない。移動動作Ａ２は、第１角度θと、第２角度φと、移動量λと、移動速度ｖとによって規定される。第１角度は、位置Ｑ２にある採取部３４の傾きを示す。第２角度φは、位置Ｑ３にある採取部３４の傾きを示す。第２角度φは、第１角度θより小さいことが望ましい。移動動作Ａ２において、採取部３４は、位置Ｑ２から位置Ｑ３まで移動しながら、その傾きを第１角度θから第２角度φまで変化させる。移動量λは、挿入後の採取部３４を移動させる距離を示し、ここでは、位置Ｑ２における採取部３４の先端から位置Ｑ３における採取部３４の先端までの距離である。移動速度ｖは、挿入後の採取部３４を移動させる速度を示し、ここでは、位置Ｑ２から位置Ｑ３まで採取部３４を移動させる速度である。なお、本実施形態では、移動動作Ａ２における移動速度ｖは、挿入動作Ａ１における移動速度ｖと同一であるが、これらが異なるパラメータによって規定されていてもよい。
【００４４】
（抜き取り動作Ａ３）
図８に示すように、抜き取り動作Ａ３は、採取部３４を、位置Ｑ３から位置Ｑ４まで移動させることにより、採取部３４を対象物８０から抜き取る動作である。位置Ｑ４は、容器９０に対してｚ軸正方向側及びＸ軸負方向側に離間した位置である。換言すると、位置Ｑ４は、容器９０に対して、位置Ｑ１とは反対側の斜め上方の位置である。位置Ｑ４にある採取部３４の先端に保持された対象物８０が、採取された対象物８０である。
【００４５】
抜き取り動作Ａ３は、第２角度φと、第３角度αと、移動速度ｖとによって規定される。第２角度φは、位置Ｑ３にある採取部３４の傾きであり、抜き取り動作Ａ３を開始する際の採取部３４の傾きを示す。第３角度αは、位置Ｑ４にある採取部３４の傾きであり、抜き取り動作Ａ３を終了する際の採取部３４の傾きを示す。第３角度αは、第２角度φより小さいことが望ましい。抜き取り動作Ａ３において、採取部３４は、位置Ｑ３から位置Ｑ４まで移動しながら、その傾きを第２角度φから第３角度αまで変化させる。移動速度ｖは、採取部３４を移動させる速度を示し、ここでは、位置Ｑ３から位置Ｑ４まで採取部３４を移動させる速度である。なお、本実施形態では、抜き取り動作Ａ３における移動速度ｖは、挿入動作Ａ１及び移動動作Ａ２における移動速度ｖと同一であるが、これらが異なるパラメータによって規定されていてもよい。
【００４６】
例えば、位置Ｑ４は、次のようにして定められる。位置Ｑ４は、補助線Ｌ１及び補助線Ｌ２の交点に採取部３４の先端がある位置として定められる。ここで、補助線Ｌ１は、点ｒ１からｚ軸方向に伸びる線であり、点ｒ１は、容器９０の底面のうち最もＸ軸負方向側にある点である。また、補助線Ｌ２は、点ｒ２を通る傾きαの線であり、点ｒ２は、補助線Ｌ３と補助線Ｌ４との交点である。また、補助線Ｌ３は、点ｒ３からｚ軸方向に伸びる線であり、点ｒ３は、容器９０の底面のうち最もＸ軸正方向側にある点である。補助線Ｌ４は、位置Ｑ３にある採取部３４に沿う直線である。
【００４７】
（生成モデルＭ１の構成例）
生成モデルＭ１の具体的な構成例について、図９を参照して説明する。図９は、生成モデルＭ１及び分別モデルＭ２の具体的な構成例を示す図である。図９に示すように、生成モデルＭ１は、当該生成モデルＭ１の学習を行う際には、分別モデルＭ２に接続されている。なお、後述する制御装置１０においては、生成モデルＭ１は、分別モデルＭ２に接続されずに単独で用いられる。図９に示すように、生成モデルＭ１は、複数のニューラルネットワークＤＮＮ１〜ＤＮＮ３を含む。
【００４８】
ニューラルネットワークＤＮＮ１は、条件情報が入力されると、これらの条件情報の特徴量を示す特徴量情報を出力する。入力される条件情報は、前述したように、表面画像情報と、表面形状情報と、環境情報と、物性情報とを含む。
【００４９】
ニューラルネットワークＤＮＮ２には、ノイズパラメータが入力される。ノイズパラメータは、多次元ベクトルであり、例えば１０次元ベクトルであるが、これに限られない。また、ノイズパラメータの各要素は乱数であり、例えば０以上１以下であるが、これに限られない。ニューラルネットワークＤＮＮ２は、入力されたノイズパラメータの次元数を拡張したデータを出力する。出力されるデータの次元数は、ニューラルネットワークＤＮＮ１が出力する特徴量情報と同一である。換言すると、ニューラルネットワークＤＮＮ１及びＤＮＮ２は、条件情報及びノイズパラメータの次元数を同一にして乗算可能とするための構成である。
【００５０】
ニューラルネットワークＤＮＮ３には、ニューラルネットワークＤＮＮ１が出力する特徴量情報と、ニューラルネットワークＤＮＮ２が出力するデータとを乗じた値が入力される。ニューラルネットワークＤＮＮ３は、動作パラメータを出力する。動作パラメータは、ニューラルネットワークＤＮＮ１に入力された条件情報が示す対象物８０をロボット３０が採取する採取動作を規定する。動作パラメータについては、図５〜図８を参照して説明した通りである。ニューラルネットワークＤＮＮ３が出力する動作パラメータは、生成モデルＭ１の学習を行う際には、分別モデルＭ２に含まれる後述のニューラルネットワークＤＮＮ５に入力される。
【００５１】
（分別モデルＭ２）
分別モデルＭ２は、条件情報と、ロボット３０の動作パラメータとが入力されると、ロボット３０の採取動作の結果を示す動作結果情報を生成する。分別モデルＭ２は、特許請求の範囲に記載した「分別部」を実現する構成の一例である。分別モデルＭ２は、例えば、１又は複数のニューラルネットワーク（好ましくは、ディープニューラルネットワーク）によって構成される。ニューラルネットワークの一例としては、ＣＮＮが挙げられるが、これに限らない。分別モデルＭ２は、第１の教師データセットＴ１を用いて学習される。また、分別モデルＭ２は、第２の教師データセットＴ２を用いて再学習される。なお、分別モデルＭ２の学習とは、分別モデルＭ２への入力に対して所望の出力が得られるよう、分別モデルＭ２が含む複数のパラメータを決定することである。学習の詳細については後述する。
【００５２】
（分別モデルＭ２の構成例）
分別モデルＭ２の具体的な構成例について、図１０を参照して説明する。図１０は、分別モデルＭ２の学習時における構成例を示す図である。図１０に示すように、分別モデルＭ２は、当該分別モデルＭ２自体の学習を行う際には、生成モデルＭ１に接続されない。図１０に示すように、分別モデルＭ２は、複数のニューラルネットワークＤＮＮ４〜ＤＮＮ６を含む。
【００５３】
ニューラルネットワークＤＮＮ４は、条件情報が入力されると、これらの条件情報の特徴量を示す特徴量情報を出力する。入力される条件情報は、第１の教師データＤ１（又は第２の教師データＤ２）に含まれる。これらの条件情報の詳細については、上述した通りである。生成モデルＭ１の学習を行う際には、生成モデルＭ１に入力された条件情報が、ニューラルネットワークＤＮＮ４にも入力される。
【００５４】
ニューラルネットワークＤＮＮ５は、動作パラメータが入力されると、当該動作パラメータの次元数を拡張したデータを出力する。入力される動作パラメータは、第１の教師データＤ１（又は第２の教師データＤ２）に含まれる。出力されるデータの次元数は、ニューラルネットワークＤＮＮ４が出力する特徴量情報と同一である。換言すると、ニューラルネットワークＤＮＮ４及びＤＮＮ５は、条件情報及び動作パラメータの次元数を同一にして乗算可能とするための構成である。
【００５５】
ニューラルネットワークＤＮＮ６には、ニューラルネットワークＤＮＮ４が出力する特徴量情報と、ニューラルネットワークＤＮＮ５が出力するデータとを乗じた値が入力される。ニューラルネットワークＤＮＮ６は、動作結果情報を出力する。動作結果情報は、対象物８０が目標量だけ採取することの成否を示す情報である。分別モデルＭ２の学習は、ニューラルネットワークＤＮＮ５が出力する動作結果情報が、第１の教師データＤ１（又は第２の教師データＤ２）に含まれる正解データとしての動作結果情報と同一になるように行われる。
【００５６】
なお、図９を参照して説明したように、分別モデルＭ２は、生成モデルＭ１の学習を行う際には生成モデルＭ１に接続される。この場合、ニューラルネットワークＤＮＮ４には、生成モデルＭ１に入力された条件情報が入力され、ニューラルネットワークＤＮＮ５には、ニューラルネットワークＤＮＮ３が出力した動作パラメータが入力される。
【００５７】
（第１の教師データＤ１）
第１の教師データＤ１は、生成モデルＭ１が生成する動作パラメータとは異なる動作パラメータと、条件情報と、正解データとしての動作結果情報とを含む。ここでは、生成モデルＭ１が生成する動作パラメータとは異なる動作パラメータとして、学習用の動作パラメータが用いられる。学習用の動作パラメータの詳細については後述する。
【００５８】
（第２の教師データＤ２）
第２の教師データＤ２は、生成モデルＭ１が生成した動作パラメータと、条件情報と、当該動作パラメータに用いて実際にロボット３０に採取動作を実行させた結果を示す動作結果情報とを含む。
【００５９】
（学習制御部２１１）
学習制御部２１１は、生成モデルＭ１及び分別モデルＭ２についてそれぞれの学習を行う。具体的には、学習制御部２１１は、第１の教師データＤ１を少なくとも用いて分別モデルＭ２の学習を行う。また、学習制御部２１１は、ノイズパラメータを生成し、生成したノイズパラメータと、条件情報とを生成モデルＭ１に入力する。また、学習制御部２１１は、学習された分別モデルＭ２に、生成モデルＭ１が生成した動作パラメータを入力し、分別モデルＭ２が生成する動作結果情報が成功を示すよう、生成モデルＭ１の学習を行う。さらに、学習制御部２１１は、第２の教師データＤ２を用いて分別モデルＭ２の再学習を行う。また、学習制御部２１１は、再学習された分別モデルＭ２に、生成モデルＭ１が生成した動作パラメータを入力し、分別モデルＭ２が生成する動作結果情報が成功を示すよう、生成モデルＭ１の再学習を行う。
【００６０】
（第１の教師データ生成部２１２）
第１の教師データ生成部２１２は、学習用の動作パラメータを用いてロボット３０を実際に動作させることにより、第１の教師データを生成する。第１の教師データＤ１を生成する処理の詳細については後述する。
【００６１】
（第２の教師データ生成部２１３）
第２の教師データ生成部２１３は、生成モデルＭ１が生成した動作パラメータを用いてロボット３０を実際に動作させることにより、第２の教師データＤ２を生成する。第２の教師データＤ２を生成する処理の詳細については後述する。
【００６２】
＜制御装置１０の機能的な構成＞
制御装置１０の機能的な構成について、図１１を参照して説明する。図１１は、制御装置１０の詳細な構成を示すブロック図である。図１１に示すように、制御装置１０は、制御部１１と、記憶部１２とを含む。制御部１１は、取得部１１１と、生成部１１２と、動作制御部１１３と、を含む。記憶部１２は、生成モデルＭ１を記憶する。生成モデルＭ１は、学習装置２０によって学習されたものである。生成モデルＭ１は、前述したように、条件情報と、ノイズパラメータとが入力されると、動作パラメータを生成する。
【００６３】
（生成モデルＭ１）
記憶部１２は、学習装置２０により学習された生成モデルＭ１を記憶する。記憶部１２に記憶される生成モデルＭ１は、学習装置２０の記憶部２２に記憶される生成モデルＭ１を複製したものであってもよい。なお、制御装置１０は、学習装置２０の記憶部２２に記憶される生成モデルＭ１を直接参照してもよい。例えば、制御装置１０及び学習装置２０を物理的に一体の装置として構成する場合、又は学習装置２０の記憶部２２をネットワーク上に配置する場合、このような直接の参照が可能である。
【００６４】
（取得部１１１）
取得部１１１は、条件情報として、表面画像情報、表面形状情報、環境情報、及び物性情報を取得する。条件情報を取得する処理の詳細については後述する。
【００６５】
（生成部１１２）
生成部１１２は、ノイズパラメータを生成し、生成したノイズパラメータと、取得部１１１が取得した条件情報とを生成モデルＭ１に入力することにより、動作パラメータを生成する。
【００６６】
（動作制御部１１３）
動作制御部１１３は、生成部１１２が生成した動作パラメータに基づいて採取動作を実行するよう、ロボット３０を制御する。
【００６７】
＜学習方法の流れ＞
以上のように構成されたロボット制御システム１が実行する学習方法Ｓ１の流れについて、図１２を参照して説明する。図１２は、ロボット制御システム１が実行する学習方法Ｓ１の流れを示すフローチャートである。図１２に示すように、学習方法Ｓ１は、ステップＳ１０１〜Ｓ１０６を含む。
【００６８】
（ステップＳ１０１）
ステップＳ１０１において、第１の教師データ生成部２１２は、複数の第１の教師データＤ１を生成し、第１の教師データセットＴ１として記憶部２２に記憶する。当該ステップの処理の詳細については後述する。
【００６９】
（ステップＳ１０２）
ステップＳ１０２において、学習制御部２１１は、第１の教師データセットＴ１を用いて分別モデルＭ２の学習を行う。図１０に示したように、学習制御部２１１は、第１の教師データＤ１に含まれる条件情報と動作パラメータとを分別モデルＭ２に入力し、出力される動作結果情報が、第１の教師データＤ１に含まれる正解データと等しくなるように、分別モデルＭ２の学習を行う。
【００７０】
（ステップＳ１０３）
ステップＳ１０３において、学習制御部２１１は、生成モデルＭ１の学習を行う。図９に示したように、学習制御部２１１は、条件情報とノイズパラメータとを生成モデルＭ１に入力するとともに、当該条件情報と、生成モデルＭ１が出力する動作パラメータとを分別モデルＭ２に入力する。また、学習制御部２１１は、分別モデルＭ２が出力する動作結果情報が成功を示すように、生成モデルＭ１の学習を行う。なお、動作結果情報が成功を示すことは、特許請求の範囲に記載した「動作結果情報が所望の結果を示すこと」の一例である。
【００７１】
学習制御部２１１は、入力する条件情報及びノイズパラメータの一方又は両方を変化させながら、生成モデルＭ１の学習を繰り返す。また、学習制御部２１１は、生成モデルＭ１の学習を行う際に、分別モデルＭ２のパラメータを変化させない。
【００７２】
なお、学習制御部２１１は、生成モデルＭ１の学習のために用いる条件情報として、第１の教師データＤ１に含まれる条件情報を用いてもよい。
【００７３】
（ステップＳ１０４）
ステップＳ１０４において、第２の教師データ生成部２１３は、複数の第２の教師データＤ２を生成し、第２の教師データセットＴ２として記憶部２２に記憶する。当該ステップの処理の詳細については後述する。
【００７４】
（ステップＳ１０５）
ステップＳ１０５において、学習制御部２１１は、第２の教師データセットＴ２を用いて分別モデルＭ２の再学習を行う。図１０に示したように、学習制御部２１１は、第２の教師データＤ２に含まれる条件情報と動作パラメータとを分別モデルＭ２に入力し、出力される動作結果情報が、第２の教師データＤ２に含まれる正解データと等しくなるように、分別モデルＭ２の学習を行う。
【００７５】
（ステップＳ１０６）
ステップＳ１０６において、学習制御部２１１は、生成モデルＭ１の再学習を行う。図９に示したように、学習制御部２１１は、条件情報とノイズパラメータとを生成モデルＭ１に入力するとともに、当該条件情報と、生成モデルＭ１が出力する動作パラメータとを分別モデルＭ２に入力する。また、学習制御部２１１は、分別モデルＭ２が出力する動作結果情報が成功を示すように、生成モデルＭ１の再学習を行う。なお、生成モデルＭ１の再学習を行う際には、分別モデルＭ２のパラメータを変化させない。
【００７６】
なお、学習制御部２１１は、生成モデルＭ１の再学習のために用いる条件情報として、第１の教師データＤ１又は第２の教師データＤ２に含まれる条件情報を用いてもよい。
【００７７】
＜第１の教師データ生成方法Ｓ２の流れ＞
次に、ステップＳ１０１における第１の教師データ生成方法Ｓ２の流れについて、図１３を参照して説明する。図１３は、ロボット制御システム１が実行する第１の教師データ生成方法Ｓ２の流れを示すフローチャートである。図１３に示すように、第１の教師データ生成方法Ｓ２は、ステップＳ２０１〜Ｓ２０５を含む。
【００７８】
（ステップＳ２０１）
ステップＳ２０１において、第１の教師データ生成部２１２は、学習用の動作パラメータを生成する。
【００７９】
学習用の動作パラメータは、例えば、次のようにして生成される。まず、第１の教師データ生成部２１２は、容器９０の領域と、容器９０に収容された対象物８０の深さとに基づいて、想定動作範囲を定める。想定動作範囲は、採取部３４の移動が想定される範囲であり、採取部３４の先端が容器９０の底面及び側面に接触しないような範囲である。第１の教師データ生成部２１２は、採取部３４が想定動作範囲で移動するような動作パラメータを複数組算出し、学習用の動作パラメータとする。複数組の学習用の動作パラメータは、８つのパラメータ群のうち一部又は全部が互いに異なる。続くステップＳ２０１〜Ｓ２０５では、第１の教師データ生成部２１２は、算出した複数組の学習用の動作パラメータのうち１つを用いる。
【００８０】
なお、後述するように、第１の教師データ生成部２１２は、ステップＳ２０１〜Ｓ２０５を繰り返し実行する。このとき、第１の教師データ生成部２１２は、２回目以降の繰り返し動作において、それ以前に用いた学習用の動作パラメータとは異なる他の学習用の動作パラメータを用いる。
【００８１】
（ステップＳ２０２）
ステップＳ２０２において、第１の教師データ生成部２１２は条件情報を取得する。具体的には、第１の教師データ生成部２１２は、センサ４１〜４３を用いて、表面画像情報、表面形状情報、及び環境情報を取得する。また、第１の教師データ生成部２１２は、対象物８０の物性情報を取得する。例えば、第１の教師データ生成部２１２は、記憶部２２に記憶された物性情報を読み込むことにより取得してもよい。また、例えば、第１の教師データ生成部２１２は、入力装置又はネットワークを介して物性情報を取得してもよい。
【００８２】
（ステップＳ２０３）
ステップＳ２０３において、第１の教師データ生成部２１２は、学習用の動作パラメータに基づいて採取動作を実行するよう、ロボット３０を制御する。
【００８３】
具体的には、動作制御部１１３は、表面画像情報を解析することにより、容器９０の領域を特定し、特定した領域に基づきＸＹＺ空間の原点Ｐ０を設定する。続いて、動作制御部１１３は、学習用の動作パラメータに含まれる第１角度θと、挿入位置のｘ座標と、挿入位置のｙ座標と、挿入する深さｚと、移動速度ｖとに基づいて、挿入動作Ａ１を実行するようロボット３０を制御する。続いて、動作制御部１１３は、学習用の動作パラメータに含まれる第１角度θと、第２角度φと、移動量λと、移動速度ｖとに基づいて、移動動作Ａ２を実行するようロボット３０を制御する。続いて、動作制御部１１３は、学習用の動作パラメータに含まれる第２角度φと、第３角度αと、移動速度ｖとに基づいて、抜き取り動作Ａ３を実行するようロボット３０を制御する。
【００８４】
（ステップＳ２０４）
ステップＳ２０４において、第１の教師データ生成部２１２は、採取部３４が採取した対象物８０の量を取得する。以降、採取した対象物８０の量を、採取量と記載する。具体的には、第１の教師データ生成部２１２は、ステップＳ２０３において採取動作を実行する前のセンサ４４の計測値と、実行した後のセンサ４４の計測値との差分を、採取量として取得する。
【００８５】
（ステップＳ２０５）
ステップＳ２０５において、第１の教師データ生成部２１２は、第１の教師データを生成する。具体的には、第１の教師データ生成部２１２は、採取量に基づいて動作結果情報を生成し、正解データとする。例えば、第１の教師データ生成部２１２は、採取量と目標量との差（あるいは差の比率）が閾値以内である場合には、成功を示す動作結果情報を生成する。また、第１の教師データ生成部２１２は、採取量と目標量との差（あるいは差の比率）が閾値を超える場合には、失敗を示す動作結果情報を生成する。そして、第１の教師データ生成部２１２は、ステップＳ２０２で取得した条件情報と、ステップＳ２０１で設定した学習用の動作パラメータと、正解データとを含む第１の教師データＤ１を生成する。
【００８６】
以上のステップＳ２０１〜Ｓ２０５を繰り返すことにより、第１の教師データ生成部２１２は、複数の第１の教師データＤ１を生成する。
【００８７】
＜第２の教師データ生成方法Ｓ３の流れ＞
次に、ステップＳ１０４における第２の教師データ生成方法Ｓ３の流れについて、図１４を参照して説明する。図１４は、ロボット制御システム１が実行する第２の教師データ生成方法Ｓ３の流れを示すフローチャートである。図１４に示すように、第２の教師データ生成方法Ｓ３は、制御装置１０が実行するステップＳ３０１〜Ｓ３０５と、学習装置２０が実行するステップＳ３０６〜Ｓ３０７とを含む。
【００８８】
（ステップＳ３０１）
ステップＳ３０１において、制御装置１０の動作制御部１１３は、ロボット３０の採取部３４を所定位置に移動するよう制御する。所定位置とは、ここでは、図６〜図８に示した位置Ｑ１である。
【００８９】
（ステップＳ３０２）
ステップＳ３０２において、取得部１１１は、条件情報を取得する。条件情報を取得する処理の詳細については、ステップＳ２０２で説明した通りである。
【００９０】
（ステップＳ３０３）
ステップＳ３０３において、生成部１１２は、ノイズパラメータを生成する。
【００９１】
（ステップＳ３０４）
ステップＳ３０４において、生成部１１２は、条件情報と、ノイズパラメータとを生成モデルＭ１に入力することにより、動作パラメータを生成する。
【００９２】
（ステップＳ３０５）
ステップＳ３０５において、動作制御部１１３は、生成された動作パラメータに基づいて、採取動作を実行するようロボット３０を制御する。当該ステップの詳細については、ステップＳ２０３の説明における「学習用の動作パラメータ」を、「生成された動作パラメータ」に置き換えることにより同様に説明される。
【００９３】
（ステップＳ３０６）
ステップＳ３０６において、学習装置２０の第２の教師データ生成部２１３は、実際の採取動作の結果として、対象物８０の採取量を取得する。採取量を取得する処理の詳細については、ステップＳ２０４で説明した通りである。
【００９４】
（ステップＳ３０７）
ステップＳ３０７において、第２の教師データ生成部２１３は、第２の教師データＤ２を生成する。具体的には、第２の教師データ生成部２１３は、採取量に基づいて動作結果情報を生成し、正解データとする。例えば、第２の教師データ生成部２１３は、採取量と目標量との差（あるいは差の比率）が閾値以内である場合には、成功を示す動作結果情報を生成する。また、第２の教師データ生成部２１３は、採取量と目標量との差（あるいは差の比率）が閾値を超える場合には、失敗を示す動作結果情報を生成する。そして、第２の教師データ生成部２１３は、ステップＳ３０２で取得した条件情報と、ステップＳ３０４で生成した動作パラメータと、正解データとを含む第２の教師データＤ２を生成する。
【００９５】
以上のステップＳ３０１〜Ｓ３０７を繰り返すことにより、第２の教師データ生成部２１３は、複数の第２の教師データＤ２を生成する。
【００９６】
＜本実施形態の効果＞
本実施形態に係るロボット制御システム１は、ロボット３０に対象物８０を目標量だけ採取させる採取動作させるための動作パラメータを、より精度よく決定することができる。その理由について説明する。本実施形態によれば、条件情報から動作パラメータを生成するための生成モデルＭ１は、第１の教師データＤ１を用いて学習された分別モデルＭ２から成功を示す動作結果情報が出力されるように学習される。つまり、生成モデルＭ１は、第１の教師データＤ１を用いて学習された分別モデルＭ２に対して敵対的に学習される。このため、分別モデルＭ２を用いずに生成モデルＭ１のみを学習させる場合と比べて、第１の教師データＤ１に含まれる条件以外の様々な条件下での採取についても、より精度よい動作パラメータを出力するよう、生成モデルＭ１を学習させることができる。なお、様々な条件とは、例えば、対象物８０の種類、容器９０内に収容された対象物８０の量、堆積した対象物８０の三次元形状、対象物８０周辺の環境が異なることにより、表面画像情報、表面形状情報、環境情報、又は物性情報が異なる条件をいう。
【００９７】
また、本実施形態に係るロボット制御システム１は、ロボット３０に対象物８０を目標量だけ採取させる採取動作させるための動作パラメータを、さらに精度よく決定することができる。その理由について説明する。本実施形態によれば、分別モデルＭ２は、第２の教師データＤ２を用いて再学習される。第２の教師データＤ２は、当該分別モデルＭ２に対して敵対的に学習された生成モデルＭ１が生成した動作パラメータに基づく実際の採取動作の結果を示すものである。これにより、分別モデルＭ２が、目標量だけ対象物８０を採取することの成否を分別する精度がさらに向上する。また、生成モデルＭ１は、成否を分別する精度がさらに向上した分別モデルＭ２に対して敵対的に再学習される。これにより、生成モデルＭ１は、様々な条件下において、さらに精度よく動作パラメータを生成することができるからである。
【００９８】
また、本実施形態に係るロボット制御システム１は、より少ない条件情報を用いて生成モデルＭ１を学習させることができる。その理由は、分別モデルＭ２が、（ｉ）成功を示す動作結果情報を含む第１の教師データＤ１又は第２の教師データＤ２だけでなく、（ｉｉ）失敗を示す動作結果情報を含む第１の教師データＤ１又は第２の教師データＤ２を用いて学習されるからである。これにより、分別モデルＭ２は、より精度よく動作結果情報を出力するよう学習される。そして、生成モデルＭ１は、より精度よく動作結果情報を出力するよう学習された分別モデルＭ２に対して敵対的に学習されるからである。これにより、分別モデルＭ２を用いずに生成モデルＭ１のみを学習させる場合と比べて、生成モデルＭ１の学習時に生成モデルＭ１に入力する条件情報の数が充分でなくても、精度よく学習させることができるからである。
【００９９】
また、本実施形態に係るロボット制御システム１は、ロボット３０に対象物８０を目標量だけ採取させる採取動作を、動作パラメータを用いて精度よく実行させることができる。
【０１００】
その第１の理由として、動作パラメータが、挿入する深さｚを含むことが挙げられる。ここで、発明者らは、図１５に示すように、挿入する深さｚと採取量ｗとの間に高い相関関係があることを実験により発見している。図１５は、挿入位置のｘ座標、挿入位置のｙ座標、挿入する深さｚ、第１角度θ、第２角度φ、移動量λ、及び採取量ｗ間の相関関係を示すグラフ群である。当該グラフ群は、ロボット３０に実際に挿入動作を実行させながら各パラメータの値を記録することにより生成した。なお、挿入する深さｚのみを変化させるだけでは採取量と目標量との誤差を小さくすることは難しい。したがって、本実施形態における動作パラメータは、挿入する深さｚと、他のパラメータとを含むことにより、ロボット３０の採取動作を精度よくモデル化している。
【０１０１】
また、第２の理由として、動作パラメータに含まれる挿入位置のｘ座標、ｙ座標、挿入する深さｚを、容器９０に対する相対的な位置で表していることが挙げられる。これにより、容器９０の設置位置を厳密に規定しなくても、採取動作を高精度に行うことができる。
【０１０２】
また、第３の理由として、動作パラメータが第３角度を含むことが挙げられる。これにより、採取部３４が、第２角度から第３角度に傾きを変化させながら対象物８０から抜き取られるため、より確実に対象物８０を採取することができる。
【０１０３】
また、本実施形態に係るロボット制御システム１は、ロボット３０に対象物８０を目標量だけ採取させる採取動作を、ロボット３０の種類に関わらず、精度よく実行させることができる。その理由は、ロボット３０の動作シーケンスに依存しない汎用的な動作パラメータによって採取動作を規定しているためである。
【０１０４】
〔変形例１〕
なお、上述した実施形態において、分別モデルＭ２及び生成モデルＭ１は、次のように変形可能である。分別モデルＭ２は、動作結果情報として、対象物８０の採取量を示す情報を出力するように学習されてもよい。この場合、生成モデルＭ１は、当該生成モデルＭ１が生成した動作パラメータを分別モデルＭ２に入力した場合に、分別モデルＭ２が出力する動作結果情報が目標量を示すように学習される。ここで、動作結果情報が目標量を示すことは、特許請求の範囲に記載した「動作結果情報が所望の結果を示すこと」の一例である。また、第１の教師データ生成部２１２は、採取量を正解データとして第１の教師データＤ１を生成する。また、第２の教師データ生成部２１３は、採取量を正解データとして第２の教師データＤ２を生成する。
【０１０５】
本変形例は、目標量の変更に対して柔軟であるというメリットがある。上述した実施形態では、目標量が変更になった場合には、分別モデルＭ２及び生成モデルＭ１の両方を改めて学習させる必要があるが、本変形例では、生成モデルＭ１のみを改めて学習させればよい。
【０１０６】
〔変形例２〕
また、上述した実施形態において、動作パラメータは、移動方向ｄをさらに含んでいてもよい。移動方向ｄは、採取部３４を挿入後に移動させる方向を示す。この場合、移動動作Ａ２は、第１角度θと、第２角度φと、移動量λと、移動速度ｖとに加えて、さらに移動方向ｄによって規定される。本変形例では、移動動作Ａ２において、採取部３４は、ＸＹ平面に平行な面において移動方向ｄに移動し、その先端のｚ座標は変化しない。ここで、対象物８０の表面が平坦でない場合、挿入後の移動方向ｄは採取量に影響すると考えられる。したがって、本変形例は、より確実に目標量の採取が可能な移動方向ｄを含む動作パラメータを生成することができる。なお、移動方向ｄは、必ずしもＸＹ平面に平行な面における方向でなくてもよい。
【０１０７】
〔他の変形例〕
また、上述した実施形態において、生成モデルＭ１及び分別モデルＭ２に入力される条件情報は、表面画像情報、表面形状情報、環境情報、及び物性情報の一部であってもよいし、他の条件を示す情報を含んでいてもよい。また、環境情報は、温度、湿度に限らず、他の環境を示す情報を含んでいてもよい。また、物性情報は、安息角、崩崩角、及び差角に限らず、他の物性を示す情報を含んでいてもよい。他の物性を示す情報としては、密度、粘度、粒子径等を示す情報があるが、これらに限られない。
【０１０８】
また、上述した実施形態において、ロボット３０の動作は、対象物８０を目標量だけ採取する動作に限られない。例えば、ロボット３０の動作は、対象物を把持する動作であってもよい。この場合、動作パラメータとして、対象物を把持する動作を規定するパラメータ群を定めることにより、上述した実施形態と同様の効果を奏する。
【０１０９】
〔ロボット制御システム１の物理的構成〕
図１６は、ロボット制御システム１を構成する各装置の物理的構成を例示したブロック図である。
【０１１０】
（制御装置１０の物理的構成）
制御装置１０は、図１６に示すように、バス１１０と、プロセッサ１０１と、主メモリ１０２と、補助メモリ１０３と、通信インタフェース１０４とを備えたコンピュータによって構成可能である。プロセッサ１０１、主メモリ１０２、補助メモリ１０３、及び通信インタフェース１０４は、バス１１０を介して互いに接続されている。
【０１１１】
プロセッサ１０１としては、例えば、ＣＰＵ（Central Processing Unit）、マイクロプロセッサ、デジタルシグナルプロセッサ、マイクロコントローラ、又はこれらの組み合わせ等が用いられる。
【０１１２】
主メモリ１０２としては、例えば、半導体ＲＡＭ（random access memory）等が用いられる。
【０１１３】
補助メモリ１０３としては、例えば、フラッシュメモリ、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）、又はこれらの組み合わせ等が用いられる。補助メモリ１０３には、上述した制御装置１０の動作をプロセッサ１０１に実行させるためのプログラムが格納されている。プロセッサ１０１は、補助メモリ１０３に格納されたプログラムを主メモリ１０２上に展開し、展開したプログラムに含まれる各命令を実行する。
【０１１４】
通信インタフェース１０４は、ネットワークに接続するインタフェースである。通信インタフェース１０４は、当該ネットワークを介して学習装置２０、ロボット３０、及びセンサ４１〜４４のそれぞれとの通信を行う。
【０１１５】
この例で、プロセッサ１０１及び通信インタフェース１０４は、制御部１１を実現するハードウェア要素の一例である。また、主メモリ１０２及び補助メモリ１０３は、記憶部１２を実現するハードウェア要素の一例である。
【０１１６】
（学習装置２０の物理的構成）
学習装置２０は、図１６に示すように、バス２１０と、プロセッサ２０１と、主メモリ２０２と、補助メモリ２０３と、通信インタフェース２０４と、入出力インタフェース２０５を備えたコンピュータによって構成可能である。プロセッサ２０１、主メモリ２０２、補助メモリ２０３、通信インタフェース２０４、及び入出力インタフェース２０５は、バス２１０を介して互いに接続されている。入出力インタフェース２０５には、入力装置２０６及び出力装置２０７が接続されている。
【０１１７】
プロセッサ２０１としては、例えば、ＣＰＵ（Central Processing Unit）、マイクロプロセッサ、デジタルシグナルプロセッサ、マイクロコントローラ、ＧＰＵ（Graphics Processing Unit）又はこれらの組み合わせ等が用いられる。
【０１１８】
主メモリ２０２としては、例えば、半導体ＲＡＭ（random access memory）等が用いられる。
【０１１９】
補助メモリ２０３としては、例えば、フラッシュメモリ、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）、又はこれらの組み合わせ等が用いられる。補助メモリ２０３には、上述した学習装置２０の動作をプロセッサ２０１に実行させるためのプログラムが格納されている。プロセッサ２０１は、補助メモリ２０３に格納されたプログラムを主メモリ２０２上に展開し、展開したプログラムに含まれる各命令を実行する。
【０１２０】
通信インタフェース２０４は、ネットワークに接続するインタフェースである。通信インタフェース２０４は、当該ネットワークを介して制御装置１０、ロボット３０、及びセンサ４１〜４４のそれぞれとの通信を行う。
【０１２１】
入出力インタフェース２０５としては、例えば、ＵＳＢ（Universal Serial Bus）インタフェース、赤外線やBluetooth（登録商標）等の近距離通信インタフェース、又はこれらの組み合わせが用いられる。
【０１２２】
入力装置２０６としては、例えば、キーボード、マウス、タッチパッド、マイク、又はこれらの組み合わせ等が用いられる。出力装置２０７としては、例えば、ディスプレイ、プリンタ、スピーカ、又はこれらの組み合わせが用いられる。
【０１２３】
この例で、プロセッサ２０１及び通信インタフェース２０４は、制御部２１を実現するハードウェア要素の一例である。また、主メモリ２０２及び補助メモリ２０３は、記憶部２２を実現するハードウェア要素の一例である。
【０１２４】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【０１２５】
〔まとめ〕
本発明の一態様に係る情報処理装置は、ロボットの動作を規定する動作パラメータと、前記ロボットを動作させる条件を示す条件情報とが入力され、前記ロボットの動作の結果を示す動作結果情報を生成する分別部と、前記条件情報が少なくとも入力され、前記動作パラメータを生成する生成部と、備えている。
【０１２６】
上記構成により、生成部が生成した動作パラメータについて、ロボットの動作の結果を示す動作結果情報が分別部から出力され得る。そのような動作パラメータを参照することにより、ロボットをより精度よく動作させることができる。
【０１２７】
上述した一態様に係る情報処理装置において、前記分別部は、前記生成部が生成する動作パラメータとは異なる動作パラメータを含む第１の教師データを少なくとも用いて学習されたものである、ことが望ましい。
【０１２８】
上記構成により、生成部が、第１の教師データが対象とした動作パラメータとは異なる動作パラメータを生成した場合であっても、分別部は、当該動作パラメータについて精度よく動作結果情報を出力し得る。そのような動作パラメータを参照することにより、様々な条件下において動作パラメータを精度よく生成するよう、生成部を学習させることができる。
【０１２９】
上述した一態様に係る情報処理装置において、前記分別部は、前記生成部が生成した動作パラメータを含む第２の教師データを少なくとも用いて学習されたものである、ことが望ましい。
【０１３０】
上記構成により、分別部は、生成部が生成した動作パラメータを用いて学習されるので、生成部が生成した動作パラメータについてより精度よい動作結果情報を出力するよう学習される。その結果、ロボットを動作させる動作パラメータを精度よく決定することができる。
【０１３１】
上述した一態様に係る情報処理装置において、前記生成部が生成した前記動作パラメータと、当該動作パラメータを用いて実際に前記ロボットを動作させた結果を示す動作結果情報とを含む前記第２の教師データを生成する第２の教師データ生成部を備えている、ことが望ましい。
【０１３２】
上記構成により、分別部は、生成部が生成した動作パラメータを用いた実際の動作の結果に基づいて学習されるので、生成部が生成した動作パラメータに基づく動作の結果をより精度よく示す動作結果情報を出力するよう学習される。その結果、ロボットを動作させる動作パラメータを精度よく決定することができる。
【０１３３】
上述した一態様に係る情報処理装置において、前記生成部は、当該生成部が生成した動作パラメータを前記分別部に入力した場合に、前記分別部が生成する動作結果情報が所望の動作結果を示すように学習されたものである、ことが望ましい。
【０１３４】
上記構成により、生成部は、生成する動作パラメータによる動作結果が所望の動作結果を示すように学習される。その結果、ロボットを動作させる動作パラメータを精度よく決定することができる。
【０１３５】
上述した一態様に係る情報処理装置において、前記生成部には、前記条件情報と、ノイズを表すノイズパラメータとが入力される、ことが望ましい。
【０１３６】
上記構成により、生成部が生成する動作パラメータは、同一の条件下であっても、ノイズパラメータにより変化する。その結果、より多様な動作パラメータを決定することができる。
【０１３７】
上述した一態様に係る情報処理装置において、前記ロボットは、対象物を採取する採取部を有し、前記ロボットの動作は、前記対象物を採取する動作であり、前記動作パラメータは、前記採取部を前記対象物へ挿入する位置、挿入する深さ、挿入する際の傾きである第１角度、挿入後の移動量、移動速度、及び前記対象物から抜き取る際の傾きである第２角度の一部又は全部を含む、ことが望ましい。
【０１３８】
上記構成により、対象物を採取する動作をモデル化することができる。
【０１３９】
上述した一態様に係る情報処理装置において、前記第２角度は、前記採取部を前記対象物から抜き取る動作を開始する際の傾きであり、前記動作パラメータは、前記採取部を前記対象物から抜き取る動作を終了する際の傾きである第３角度をさらに含む、ことが望ましい。
【０１４０】
上記構成により、対象物を採取する動作をさらに精度よくモデル化することができる。
【０１４１】
上述した一態様に係る情報処理装置において、前記動作パラメータは、前記採取部を前記対象物に挿入した後に移動させる方向をさらに含む、ことが望ましい。
【０１４２】
上記構成により、対象物を採取する動作をさらに精度よくモデル化することができる。
【０１４３】
上述した一態様に係る情報処理装置において、前記対象物は、容器に収容されており、前記採取部を前記対象物へ挿入する位置は、前記容器を基準とする相対的な位置である、ことが望ましい。
【０１４４】
上記構成により、容器を設置する位置を厳密に規定しなくても、ロボットに、対象物を精度よく採取させることができる。
【０１４５】
上述した一態様に係る情報処理装置において、前記ロボットの動作は、前記対象物を目標量だけ採取する動作であり、前記分別部は、前記動作結果情報として、前記対象物を前記目標量だけ採取することの成否を示す情報を出力するように学習されたものである、ことが望ましい。
【０１４６】
上記構成により、動作パラメータに基づく動作により、目標量だけ採取することに成功するか否かを、より精度よく判別することができる。
【０１４７】
上述した一態様に係る情報処理装置において、前記生成部は、当該生成部が生成した動作パラメータを前記分別部に入力した場合に、前記分別部が生成する動作結果情報が成功を示すように学習されたものである、ことが望ましい。
【０１４８】
上記構成により、目標量だけ採取することに成功する可能性がより高い動作パラメータを生成することができる。
【０１４９】
上述した一態様に係る情報処理装置において、前記分別部は、前記動作結果情報として、前記対象物の採取量を示す情報を出力するように学習されたものである、ことが望ましい。
【０１５０】
上記構成により、動作パラメータに基づく動作による採取量を、より精度よく予測することができる。
【０１５１】
上述した一態様に係る情報処理装置において、前記ロボットの動作は、前記対象物を目標量だけ採取する動作であり、前記生成部は、当該生成部が生成した動作パラメータを前記分別部に入力した場合に、前記分別部が生成する動作結果情報が前記目標量を示すように学習されたものである、ことが望ましい。
【０１５２】
上記構成により、目標量の変更に対して生成部を改めて学習させればよく、分別部を改めて学習させる必要がない。
【０１５３】
上述した一態様に係る情報処理装置において、前記条件情報は、前記対象物を被写体として含む画像、前記対象物の三次元形状を示す情報、前記対象物の物性を示す情報、及び前記対象物周辺の環境を示す情報の一部又は全部を含む、ことが望ましい。
【０１５４】
上記構成により、採取の対象となる対象物の種類、量、形状等の条件が変化しても、精度よくロボットに採取動作を実行させることができる。
【０１５５】
本発明の一態様に係る情報処理装置は、ロボットを動作させる条件を示す条件情報を取得する取得部と、前記条件情報が少なくとも入力され、前記ロボットの動作を規定する動作パラメータを生成する生成部であって、前記動作パラメータに影響を与えるノイズパラメータが更に入力される生成部と、を備えている。
【０１５６】
上記構成により、様々な条件下においてロボットを動作させる動作パラメータを精度よく決定することができる。
【０１５７】
本発明の一態様に係る情報処理方法は、情報処理装置が実行する情報処理方法であって、ロボットを動作させる条件を示す条件情報が少なくとも入力され、当該ロボットの動作を規定する動作パラメータを生成する生成工程と、前記条件情報と、前記生成工程で生成した動作パラメータとが入力され、前記ロボットの動作の結果を示す動作結果情報を生成する分別工程と、を含んでいる。
【０１５８】
上記構成により、上述した情報処理装置と同様の効果を奏する。
【０１５９】
本発明の一態様に係る情報処理方法は、情報処理装置が実行する情報処理方法であって、ロボットを動作させる条件を示す条件情報を取得する取得工程と、前記条件情報が少なくとも入力され、前記ロボットの動作を規定する動作パラメータを生成する生成工程であって、前記動作パラメータに影響を与えるノイズパラメータが更に入力される生成工程と、を含んでいる。
【０１６０】
上記構成により、上述した情報処理装置と同様の効果を奏する。
【０１６１】
本発明の一態様に係るプログラムは、上述の情報処理装置としてコンピュータを機能させるためのプログラムであって、上記分別部、及び上記生成部としてコンピュータを機能させる。
【０１６２】
上記構成により、上述した情報処理装置と同様の効果を奏する。
【０１６３】
本発明の一態様に係るプログラムは、上述の情報処理装置としてコンピュータを機能させるためのプログラムであって、上記取得部、及び上記生成部としてコンピュータを機能させる。
【０１６４】
上記構成により、上述した情報処理装置と同様の効果を奏する。
【符号の説明】
【０１６５】
１  ロボット制御システム
１０  制御装置
２０  学習装置
Ｍ１  生成モデル
Ｍ２  分別モデル
１１、２１  制御部
１２、２２  記憶部
１１１  取得部
１１２  生成部
１１３  動作制御部
２１１  学習制御部
２１２  第１の教師データ生成部
２１３  第２の教師データ生成部
３０  ロボット
３１  台座部
３２  ベース部
３３  アーム部
３４  採取部
４１、４２、４３、４４  センサ
８０  対象物
９０  容器
１０１、２０１  プロセッサ
１０２、２０２  主メモリ
１０３、２０３  補助メモリ
１０４、２０４  通信インタフェース
１１０、２１０  バス
２０５  入出力インタフェース
２０６  入力装置
２０７  出力装置
【要約】
【課題】ロボットをより精度よく動作させる。
【解決手段】学習装置（２０）は、生成モデル（Ｍ１）と、分別モデル（Ｍ２）とを備える。分別モデル（Ｍ２）は、ロボットの動作を規定する動作パラメータと、ロボットを動作させる条件を示す条件情報とが入力され、ロボットの動作の結果を示す動作結果情報を生成する。生成モデル（Ｍ１）は、条件情報が少なくとも入力され、動作パラメータを生成する。
【選択図】図２【図１】
0006955733.tif 000002
【図２】
0006955733.tif 000003
【図３】
0006955733.tif 000004
【図４】
0006955733.tif 000005
【図５】
0006955733.tif 000006
【図６】
0006955733.tif 000007
【図７】
0006955733.tif 000008
【図８】
0006955733.tif 000009
【図９】
0006955733.tif 000010
【図１０】
0006955733.tif 000011
【図１１】
0006955733.tif 000012
【図１２】
0006955733.tif 000013
【図１３】
0006955733.tif 000014
【図１４】
0006955733.tif 000015
【図１５】
0006955733.tif 000016
【図１６】
0006955733.tif 000017