(57)【要約】  ロボット制御装置は、人間がロボットを操作して一連の作業を行わせる場合の、ロボット及び当該ロボットの周辺の状態を入力データとし、それに応じた人間の操作又は当該操作によるロボットの動作を出力データとする作業データを学習して構築された学習済モデルと、前記入力データが学習済モデルに入力された場合に、それに応じて推定される人間の操作又はロボットの動作に関する出力データを学習済モデルから得ることにより、ロボットの制御データを得る制御データ取得部と、学習済モデルが出力する前記出力データが、一連の作業のうちどの進捗度合いに相当するかを示す進行度を取得する進行度取得部と、前記入力データの入力に応じて学習済モデルが前記出力データを出力する場合の、前記推定の確からしさを取得する確信度取得部と、を備える。
2020138436.tif 000002
【特許請求の範囲】
【請求項１】
人間がロボットを操作して一連の作業を行わせる場合の、当該ロボット及び当該ロボットの周辺の状態を入力データとし、それに応じた人間の操作又は当該操作による当該ロボットの動作を出力データとする作業データを学習することにより構築された学習済モデルと、
ロボット及び当該ロボットの周辺の状態に関する入力データが前記学習済モデルに入力された場合に、それに応じて推定される人間の操作又はロボットの動作に関する出力データを前記学習済モデルから得ることにより、前記作業を行わせるためのロボットの制御データを得る制御データ取得部と、
前記学習済モデルが出力する前記出力データが、前記一連の作業のうちどの進捗度合いに相当するかを示す進行度を取得する進行度取得部と、
前記入力データの入力に応じて前記学習済モデルが前記出力データを出力する場合の、前記推定の確からしさを示す確信度を取得する確信度取得部と、
を備えることを特徴とするロボット制御装置。
【請求項２】
請求項１に記載のロボット制御装置であって、
前記進行度取得部が取得する進行度を監視する進行度監視部を備えることを特徴とするロボット制御装置。
【請求項３】
請求項２に記載のロボット制御装置であって、
前記進行度監視部の監視の結果、前記進行度が所定値以上にならない状態が所定時間以上継続した場合には、前記作業の途中で前記ロボットの制御を中止することを特徴とするロボット制御装置。
【請求項４】
請求項２又は３に記載のロボット制御装置であって、
前記進行度監視部の監視の結果、前記進行度が所定値以上にならない状態が所定時間以上継続した場合には、設定が変更された作業が途中から適用されるように前記ロボットを制御することを特徴とするロボット制御装置。
【請求項５】
請求項１から４までの何れか一項に記載のロボット制御装置であって、
前記進行度は、時系列的に取得される前記ロボット及び当該ロボットの周辺の状態を含むデータをクラスタリングした結果に基づいて求められることを特徴とするロボット制御装置。
【請求項６】
請求項１から５までの何れか一項に記載のロボット制御装置であって、
前記確信度取得部が取得する確信度を監視する確信度監視部を備えることを特徴とするロボット制御装置。
【請求項７】
請求項６に記載のロボット制御装置であって、
前記確信度が所定値以下となっているときに前記学習済モデルに入力された前記入力データを示す情報を生成することを特徴とするロボット制御装置。
【請求項８】
請求項１から７までの何れか一項に記載のロボット制御装置であって、
前記学習済モデルが出力する前記出力データに基づく前記ロボットの制御を、前記一連の作業の途中に相当し、かつ、前記確信度が所定値以上である状態から開始可能であることを特徴とするロボット制御装置。
【請求項９】
請求項１から８までの何れか一項に記載のロボット制御装置であって、
前記学習済モデルが出力する前記出力データに基づく前記ロボットの制御を、前記一連の作業の途中に相当し、かつ、前記確信度が所定値以上である状態で終了可能であることを特徴とするロボット制御装置。
【請求項１０】
請求項１から９までの何れか一項に記載のロボット制御装置であって、
互いに異なる一連の作業に対応して構築された複数の前記学習済モデルが出力する前記出力データに基づいて、前記作業を行わせるためのロボットの制御データを得ることが可能であり、
複数の学習済モデルがそれぞれ出力する前記出力データに基づく前記ロボットの制御を、前記確信度が所定値以上である状態を境として続けて行うことにより、前記一連の作業同士が時系列的に連結した連結作業を行わせるように前記ロボットを制御可能であることを特徴とするロボット制御装置。
【請求項１１】
請求項１から１０までの何れか一項に記載のロボット制御装置であって、
前記学習済モデルに入力される、ロボット及び当該ロボットの周辺の状態に関するデータと、
前記学習済モデルの出力に基づくロボットの動作に関するデータと、
前記進行度及び前記確信度のうち少なくとも一方と、
を対応付けて出力可能であることを特徴とするロボット制御装置。
【請求項１２】
請求項１から１１までの何れか一項に記載のロボット制御装置であって、
前記学習済モデルは、状態遷移を表現可能であるとともに、それぞれの状態に対応する動作を出力可能であり、
前記学習済モデルが認識する状態がユーザにとって好ましい度合いを示す健全度を取得する健全度取得部を備えることを特徴とするロボット制御装置。
【請求項１３】
請求項１２に記載のロボット制御装置であって、
前記学習済モデルに入力される前記入力データと、
前記学習済モデルが出力する前記出力データに基づくロボットの動作に関するデータと、
を含む動作ログを出力可能であり、
前記動作ログに記述された前記ロボットの動作に対しては、前記一連の作業のうち一部に相当する動作ごとにユーザが評価を付与可能であり、
ユーザの前記評価に基づいて、前記学習済モデルにおける前記状態に対応する健全度を調整することを特徴とするロボット制御装置。
【請求項１４】
請求項１３に記載のロボット制御装置であって、
ユーザの前記評価に基づいて前記状態に対応する前記健全度を調整した後、前記健全度が高い前記状態が現れるように、前記学習済モデルのパラメータの調整及び強化学習のうち少なくとも何れかを行うことを特徴とするロボット制御装置。
【請求項１５】
請求項１４に記載のロボット制御装置であって、
前記動作ログには、前記健全度取得部が取得した前記健全度が含まれることを特徴とするロボット制御装置。
【請求項１６】
請求項１２から１５までの何れか一項に記載のロボット制御装置であって、
前記学習済モデルに入力される前記入力データと、
前記学習済モデルが出力する前記出力データに基づくロボットの動作に関するデータと、
前記健全度と、
を対応付けて出力可能であることを特徴とするロボット制御装置。
【請求項１７】
請求項１から１６までの何れか一項に記載のロボット制御装置と、
前記ロボットと、
を備えることを特徴とするロボットシステム。
【請求項１８】
人間がロボットを操作して一連の作業を行わせる場合の、当該ロボット及び当該ロボットの周辺の状態を入力データとし、それに応じた人間の操作又は当該操作による当該ロボットの動作を出力データとする作業データを学習することにより構築されたモデルを学習済モデルと呼ぶときに、
ロボット及び当該ロボットの周辺の状態に関する入力データが前記学習済モデルに入力された場合に、それに応じて推定される人間の操作又はロボットの動作に関する出力データを前記学習済モデルから得ることにより、前記作業を行わせるためのロボットの制御データを得る制御データ取得工程と、
前記学習済モデルが出力する前記出力データが、前記一連の作業のうちどの進捗度合いに相当するかを示す進行度を取得する進行度取得工程と、
前記入力データの入力に応じて前記学習済モデルが前記出力データを出力する場合の、前記推定の確からしさを取得する確信度取得工程と、
を含むことを特徴とするロボット制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主として、ロボットを制御するロボット制御装置に関する。
【背景技術】
【０００２】
従来から、ロボットの作業動作に関するモデルを構築することができる機械学習装置を備えたロボット制御装置が知られている。特許文献１は、この種のロボット制御装置を開示する。【０００３】
特許文献１は、乱雑に置かれたワークを取り出すときのロボットの最適な動作を人間の介在無しに学習できる機械学習装置を備えるロボットシステムを開示する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−３０１３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来より、ＡＩシステムは、入出力データを大量に用いて入出力の因果関係を推定し、モデルを構築する。しかしながら、学習済のモデルが入力データから出力データを予測するときに、その予測の理由はユーザに説明されず、いわゆるブラックボックスとして扱われている。従って、ＡＩシステムをロボット制御のために用いる場合、ＡＩシステムからの推定出力に基づくロボットの自律動作をユーザが納得する要素が殆どなかった。【０００６】
本発明は以上の事情に鑑みてされたものであり、その目的は、学習済モデルの予測に基づくロボットの動作についてユーザの納得感が得られ易いロボット制御装置等を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の解決しようとする課題は以上の如くであり、次にこの課題を解決するための手段とその効果を説明する。【０００８】
本発明の第１の観点によれば、以下の構成のロボット制御装置が提供される。即ち、ロボット制御装置は、学習済モデルと、制御データ取得部と、進行度取得部と、確信度取得部と、を備える。前記学習済モデルは、人間がロボットを操作して一連の作業を行わせる場合の、当該ロボット及び当該ロボットの周辺の状態を入力データとし、それに応じた人間の操作又は当該操作による当該ロボットの動作を出力データとする作業データを学習することにより構築される。前記制御データ取得部は、ロボット及び当該ロボットの周辺の状態に関する入力データが前記学習済モデルに入力された場合に、それに応じて推定される人間の操作又はロボットの動作に関する出力データを前記学習済モデルから得ることにより、前記作業を行わせるためのロボットの制御データを得る。前記進行度取得部は、前記学習済モデルが出力する前記出力データが、前記一連の作業のうちどの進捗度合いに相当するかを示す進行度を取得する。前記確信度取得部は、前記入力データの入力に応じて前記学習済モデルが前記出力データを出力する場合の、前記推定の確からしさを示す確信度を取得する。【０００９】
本発明の第２の観点によれば、以下の構成のロボット制御方法が提供される。即ち、このロボット制御方法は、人間がロボットを操作して一連の作業を行わせる場合の、当該ロボット及び当該ロボットの周辺の状況を入力データとし、それに応じた人間の操作又は当該操作による当該ロボットの動作を出力データとする作業データを学習することにより構築されたモデルを学習済モデルと呼ぶときに、ロボット及び当該ロボットの周辺の状況に関する入力データが前記学習済モデルに入力された場合に、それに応じて推定される人間の操作又はロボットの動作に関する出力データを前記学習済モデルから得ることにより、前記作業を行わせるためのロボットの制御データを得る制御データ取得工程と、前記学習済モデルが出力する前記出力データが、前記一連の作業のうちどの進捗度合いに相当するかを示す進行度を取得する進行度取得工程と、前記入力データの入力に応じて前記学習済モデルが前記出力データを出力する場合の、前記推定の確からしさを取得する確信度取得工程と、を含む。【００１０】
これにより、得られた進行度及び確信度に基づいて、ユーザが、学習済モデルが入力に対して行う出力の根拠をある程度推し量ることができる。従って、学習済モデルが従来有していたブラックボックス性を緩和でき、ユーザは納得感を持って学習済モデルをロボット制御に用いることができる。また、得られた進行度及び確信度を手掛かりとして、学習についての検討をユーザがより的確に行うことができる。
【発明の効果】
【００１１】
本発明によれば、学習済モデルの予測に基づくロボットの動作についてユーザの納得感が得られ易いロボット制御装置等を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態に係るロボットシステムの電気的構成を示すブロック図。
【図２】本実施形態でＡＩシステムに学習させるロボットの動作の一例について示した図。
【図３】進行度の取得について説明する図。
【図４】ロボットの動作に応じた進行度の値の推移の例を示す図。
【図５】確信度の取得について説明する図。
【図６】ロボットの動作に応じた確信度の値の推移の例を示す図。
【図７】健全度と、動作ログに評価値が指定された例と、を示す図。
【図８】再学習後の健全度について説明する図。
【図９】一連の動作のうち途中からロボットの自律動作を開始する処理を説明する図。
【図１０】一連の動作のうち途中まででロボットの自律動作を終了する処理を説明する図。
【図１１】２つの異なる学習済モデルに基づく自律動作を受け渡す処理について説明する図。
【発明を実施するための形態】
【００１３】
次に、図面を参照して本発明の実施の形態を説明する。図１は、本発明の一実施形態に係るロボットシステム１の電気的構成を示すブロック図である。
【００１４】
ロボットシステム１は、ロボット１０を用いて作業を行うシステムである。ロボット１０に行わせる作業としては様々であるが、例えば、組立て、加工、塗装、洗浄等がある。
【００１５】
詳細は後述するが、ロボット１０は、データを機械学習することで構築されたモデル（学習済モデル４３）を用いて制御される。そのため、ロボットシステム１は、基本的にはユーザの補助を必要とせず、作業を自律的に行うことができる。また、ロボット１０は、自律的に作業を行うだけでなく、ユーザの操作に応じて作業を行うこともできる。以下の説明では、ロボット１０が作業を自律的に行うことを「自律運転」と呼び、ユーザの操作に応じてロボット１０が作業を行うことを「手動運転」と呼ぶことがある。
【００１６】
図１に示すように、ロボットシステム１は、ロボット１０と、ロボット制御装置１５と、を備える。ロボット１０とロボット制御装置１５は有線又は無線により互いに接続されており、信号のやり取りを行うことができる。
【００１７】
ロボット１０は、台座に取り付けられたアーム部を備える。アーム部は、複数の関節を有しており、各関節にはアクチュエータが備えられている。ロボット１０は、外部から入力された動作指令に応じてアクチュエータを動作させることでアーム部を動作させる。
【００１８】
アーム部の先端には、作業内容に応じて選択されたエンドエフェクタが取り付けられている。ロボット１０は、外部から入力された動作指令に応じてエンドエフェクタを動作させることができる。
【００１９】
ロボット１０には、ロボット１０の動作及び周囲環境等を検出するためのセンサが取り付けられている。本実施形態では、動作センサ１１と、力センサ１２と、カメラ１３と、がロボット１０に取り付けられている。
【００２０】
動作センサ１１は、ロボット１０のアーム部の関節毎に設けられており、各関節の回転角度又は角速度を検出する。力センサ１２は、ロボット１０の動作時に、ロボット１０が受けた力を検出する。力センサ１２はエンドエフェクタに掛かる力を検出する構成であってもよいし、アーム部の各関節に掛かる力を検出する構成であってもよい。また、力センサ１２は、力に代えて又は加えてモーメントを検出する構成であってもよい。カメラ１３は、作業対象であるワークの映像（ワークに対する作業の進行状況）を検出する。
【００２１】
動作センサ１１が検出するデータは、ロボット１０の動作を示す動作データである。力センサ１２及びカメラ１３が検出するデータは、ロボット１０の周囲の環境を示す周囲環境データである。動作データと周囲環境データを総合したデータを、以下の説明で状態データと呼ぶことがある。状態データは、ロボット１０及びその周辺の状態を示すものである。
【００２２】
以下の説明では、ロボット１０に設けられた動作センサ１１、力センサ１２、及びカメラ１３をまとめて「状態検出センサ１１〜１３」と称することがある。また、状態検出センサ１１〜１３が検出したデータを、特に「センサ情報」と称することがある。状態検出センサ１１〜１３は、ロボット１０に取り付ける代わりに、ロボット１０の周囲に設けてもよい。
【００２３】
ロボット制御装置１５は、ユーザインタフェース部２０と、動作切替部（制御データ取得部）３０と、ＡＩ部４０と、ＡＩパラメータ取得部５０と、進行度監視部５６と、確信度監視部５７と、ログ特定情報生成部５８と、動作ログ生成部６０と、動作ログ記憶部７０と、を備える。
【００２４】
具体的には、ロボット制御装置１５は、ＣＰＵ、ＲＯＭ、ＲＡＭ、及びＨＤＤを備えるコンピュータである。コンピュータは、ユーザが操作するためのマウス等の装置を備える。コンピュータはＧＰＵを備えると、後述のニューラルネットワークによる学習を短時間で行うことができ、好ましい。ＨＤＤには、ロボット制御装置１５を動作させるためのプログラムが記憶される。上記のハードウェアとソフトウェアとの協働により、ロボット制御装置１５を、ユーザインタフェース部２０、動作切替部３０、ＡＩ部４０、ＡＩパラメータ取得部５０、進行度監視部５６、確信度監視部５７、ログ特定情報生成部５８、動作ログ生成部６０、及び動作ログ記憶部７０として機能させることができる。
【００２５】
ロボット制御装置１５は、１つのコンピュータによって実現されても良いし、互いに通信しながら連携して動作する複数のコンピュータによって実現されても良い。
【００２６】
ユーザインタフェース部２０は、ロボット制御装置１５のユーザインタフェース機能を実現するものである。ユーザインタフェース部２０は、操作部２１と、表示部２２と、評価値設定部２３と、を備える。
【００２７】
操作部２１は、ロボット１０を手動で操作するために用いる装置である。操作部２１は、例えばレバー、ペダル等を備える構成とすることができる。
【００２８】
図示しないが、操作部２１は、その操作位置を検出するセンサを備える。更に、操作部２１は、公知の操作力検出センサを備える。操作力検出センサは、ユーザが操作部２１に加えた力（操作力）を検出する。
【００２９】
操作部２１が様々な方向に動かすことができるように構成されている場合、操作力は力の向き及び大きさを含む値、例えばベクトルであってもよい。また、操作力は、ユーザが加えた力（Ｎ）だけでなく、力に連動する値である加速度（即ち、ユーザが加えた力を操作部２１の質量で除算した値）の形で検出されてもよい。
【００３０】
以下の説明では、ユーザが操作部２１に加えた操作力を、特に「ユーザ操作力」と称することがある。ユーザが操作部２１を操作することで出力されたユーザ操作力は、後述するように動作切替部３０で動作指令に変換される。
【００３１】
表示部２２は、ユーザの指示に応じて、様々な情報を表示することができる。表示部２２は、例えば液晶ディスプレイとすることができる。表示部２２は、操作部２１の近傍に配置されている。操作部２１がロボット１０から離れて配置されている場合、表示部２２に、ロボット１０及びその周辺の映像を表示させても良い。
【００３２】
評価値設定部２３は、動作ログ記憶部７０から読み出した動作ログに記述されているロボット１０の動作に対して、ユーザが付けた評価を設定することができる。動作ログ等については後述する。
【００３３】
動作切替部３０には、ロボット１０、操作部２１、及びＡＩ部４０が接続されている。動作切替部３０には、操作部２１が出力したユーザ操作力と、ＡＩ部４０が出力した後述の推定操作力と、が入力される。
【００３４】
動作切替部３０は、ロボット１０を動作させるための動作指令を、ロボット１０及びＡＩ部４０へ出力する。動作切替部３０は、切替部３１と、変換部３２と、を備える。
【００３５】
切替部３１は、入力されたユーザ操作力及び推定操作力のうち一方を変換部３２へ出力するように構成されている。切替部３１は、ユーザ操作力及び選択操作力のうち何れを変換するかを示す選択信号に基づいて、ユーザ操作力又は推定操作力を変換部３２へ出力するように構成されている。これにより、ユーザがロボット１０を動作させる状態（手動運転）と、ロボットシステム１がロボット１０に自律的に作業を行わせる状態（自律運転）と、を切り替えることができる。手動運転の場合、ロボット１０は、操作部２１が出力したユーザ操作力に基づいて動作する。自律運転の場合、ロボット１０は、ＡＩ部４０が出力した推定操作力に基づいて動作する。
【００３６】
ユーザ操作力及び推定操作力のうち何れに基づいてロボット１０を動作させるかの選択は、操作部２１の操作を検出する上述のセンサの検出値に基づいて、ユーザが操作部２１を操作しているかに応じて自動的に行われても良い。即ち、ユーザが操作部２１を実質的に操作しているときは、切替部３１がユーザ操作力を変換部３２に出力し、そうでないときは、切替部３１は推定操作力を変換部３２に出力する。
【００３７】
変換部３２は、切替部３１から入力されたユーザ操作力又は推定操作力の何れかを、ロボット１０を動作させるための動作指令に変換して、ロボット１０及びＡＩ部４０に出力する。動作指令は、ロボット１０を制御するための制御データと言い換えることもできる。
【００３８】
ＡＩ部４０は、ロボット１０の自律動作により一連の作業を行わせるために構築された学習済モデル４３を備える。モデルの形式は任意であるが、本実施形態では、ニューラルネットワークを用いたモデルが使われている。学習済モデル４３の構築（特に、最初の構築）は、ロボット制御装置１５において行われても良いし、他のコンピュータで行われても良い。
【００３９】
ＡＩ部４０は、上記の学習済モデル４３のほか、データ入力部４１と、推定データ出力部４２と、を備える。
【００４０】
データ入力部４１は、ＡＩ部４０の入力側のインタフェースとして機能する。データ入力部４１には、状態検出センサ１１〜１３から出力されるセンサ情報が入力される。
【００４１】
推定データ出力部４２は、ＡＩ部４０の出力側のインタフェースとして機能する。推定データ出力部４２は、ＡＩ部４０が機械学習により構築したモデルに基づくデータを出力することができる。
【００４２】
本実施形態では、ＡＩ部４０は、ユーザが操作部２１によって行うロボット１０の操作を学習して、学習済モデル４３を構築する。具体的には、ＡＩ部４０には、状態検出センサ１１〜１３から入力されるセンサ情報と、そのときにユーザが操作部２１に加えた操作力と、が入力される。
【００４３】
ＡＩ部４０で用いられる学習済モデル４３の形式は任意であるが、本実施形態の学習済モデル４３は、入力層と、隠れ層と、出力層と、を有する一般的な構成のニューラルネットワークである。それぞれの層には、脳細胞を模擬した複数のユニットが配置されている。入力層と出力層との間には隠れ層が配置され、この隠れ層は適宜の数の中間ユニットによって構成される。情報は、入力層、隠れ層、出力層の順に流れる。隠れ層の数は適宜定められる。
【００４４】
このモデルにおいて、入力層に入力されるデータ（入力データ）は、上述のセンサ情報である。上述のとおり、センサ情報は、ロボット１０及びその周辺の状態を示すデータである。出力層が出力するデータ（出力データ）は、ユーザ操作力を推定した操作力である。この操作力は、推定した人間の操作を示すデータであるということができる。
【００４５】
各入力ユニットと各中間ユニットとは、情報が流れる経路によって結合され、各中間ユニットと各出力ユニットとは、情報が流れる経路によって結合される。それぞれの経路において、上流側のユニットの情報が下流側のユニットの情報に与える影響（重み）が設定されている。
【００４６】
学習フェーズにおいて、ＡＩ部４０は、モデルにセンサ情報を入力し、当該モデルから出力された操作力が、ユーザ操作力と比較される（教師あり学習）。ＡＩ部４０は、こうして求められる誤差が小さくなるように、公知のアルゴリズムである誤差逆伝播法によって上記の重みを更新する。以上の処理を継続的に行うことにより、学習を実現することができる。
【００４７】
学習済モデル４３が構築された後の推定フェーズにおいて、ＡＩ部４０は、学習済モデル４３にセンサ情報を入力し、当該学習済モデル４３から出力された操作力を、推定操作力として動作切替部３０に出力する。
【００４８】
切替部３１が、ＡＩ部４０が出力した推定操作力を変換部３２に出力する場合、動作切替部３０は、当該推定操作力に基づいて制御データを生成することになる。従って、動作切替部３０は、ロボット１０に作業を行わせるための制御データをＡＩ部４０の出力に基づいて取得する制御データ取得部として機能する。
【００４９】
ユーザは、例えば、部材の開口部にワークを挿入する一連の作業をロボット１０に実行させるために用いる学習済モデル４３を、ＡＩ部４０に構築させることができる。
【００５０】
具体的には、ユーザが操作部２１を操作して、例えば下記に示すようにロボット１０を動作させる。即ち、図２に示す動作Ａでは、ロボット１０にワークを保持させた状態で、部材の上方にワークを位置させ、当該ワークを部材の面に接近させる。動作Ｂでは、そのままワークを移動させ、当該部材の面にワークを接触させる。動作Ｃでは、開口部の位置に向けてワークを移動させる。なお、ワークの移動時に、ワークが部材の面に接触した状態を維持する。動作Ｄでは、開口部の内壁にワークの端部を接触させる。動作Ｅでは、開口部にワークを挿入させる。
【００５１】
このように、動作Ａから動作Ｅの順に従ってロボット１０が動作するように、ユーザがロボット１０を操作する。この過程でのセンサ情報とユーザ操作力の関係を学習させることにより、ＡＩ部４０は、動作Ａから動作Ｅの順に従ってロボット１０を自律動作させることが可能な学習済モデル４３を構築することができる。
【００５２】
ＡＩパラメータ取得部５０は、ＡＩ部４０の学習済モデル４３が推定操作力を出力するときの各種のパラメータを、ＡＩ部４０に要求することで取得することができる。これらのパラメータは、ロボット１０の自律作業に関連して人間が意味付けできるパラメータである。学習済モデル４３が入力から出力を推定する根拠は説明が付かないことが多いので、当該パラメータは、学習済モデル４３によるロボット１０の動作をユーザが理解し納得する手掛かりとなる点で重要である。
【００５３】
ＡＩパラメータ取得部５０は、上記のパラメータとして、進行度、確信度及び健全度を取得する。これに対応して、ＡＩパラメータ取得部５０は、進行度取得部５１と、確信度取得部５２と、健全度取得部５３と、を備える。
【００５４】
進行度取得部５１は、進行度を取得する。進行度は、学習済モデル４３の出力に基づいてロボット１０が行う動作が、一連の作業のうちでどの進捗度合いに相当するかについて評価するために用いるパラメータである。本実施形態では、進行度は０から１００までの範囲の値をとり、１００に近い程、一連の作業が進行していることを示す。
【００５５】
図３を参照して、進行度の算出について説明する。本実施形態では、図３に示すように、進行度は、時系列的に取得することができるロボット１０の状態をクラスタリングして得られるクラスタと、ロボット１０の動作履歴と、を考慮して算出される。
【００５６】
上記したロボット１０の状態は、状態検出センサ１１〜１３からのセンサ情報及び学習済モデル４３の推定操作力を含んだ多次元のベクトル（特徴ベクトル）として表現することができる。特徴ベクトルは、ロボット１０が一連の作業を行う過程で、様々に変化する。特徴ベクトルは、センサ情報及び推定操作力の当該時点での値だけでなく、センサ情報及び推定操作力の過去の履歴が含まれても良い。
【００５７】
以下の説明では、ロボット１０及びその周辺の状態と、それに応じて学習済モデル４３が推定した結果と、を総合したものを、ロボット１０の局面と呼ぶことがある。前述の特徴ベクトルとして、ロボット１０の局面を表すデータ（局面データ）が用いられる。局面データは、学習済モデル４３の入力データと出力データの両方を総合したものに相当する。
【００５８】
クラスタリングとは、教師なし学習の一種であり、多数のデータから分布の法則を学習して、互いに特徴が似ているデータのまとまりである複数のクラスタを取得する手法である。クラスタリングの方法としては、公知の非階層クラスタリング手法を適宜用いることができる。
【００５９】
ロボット１０の局面は、上述した動作（動作Ａ〜動作Ｅ）ごとに特徴がある。例えば、動作Ａでの状態の特徴（つまり、動作Ａ時に取得する局面データ）は、動作Ｂでの状態の特徴とは異なる。従って、上述の特徴ベクトルを対象として適宜のクラスタリングを行うことにより、ロボット１０の局面を動作ごとに分類することができる。
【００６０】
ＡＩ部４０は、上記のクラスタリング結果を用いて、現在のロボット１０の局面に対応する進行度を算出する。図３に示すように、進行度の値は、各クラスタが示す動作の順番に従って段階的かつ累積的に増加するように、予め定められる。ロボット１０の一連の作業は特徴ベクトルを時系列順に並べたものとして表現することができるので、この時系列順の情報を用いて、各クラスタの時系列順を求めることができる。
【００６１】
ＡＩ部４０は、現時点のロボット１０の局面を示す特徴ベクトルがどのクラスタに属するかを計算により求め、当該クラスタに対応する進行度を、ＡＩパラメータ取得部５０の要求に応じて出力する。特徴ベクトルがどのクラスタに属するかを特定するには、例えば、各クラスタの重心位置と特徴ベクトルとの距離を求め、距離が最短となる重心を有するクラスタを求めれば良い。
【００６２】
図４に示すように、ロボット１０の作業が進んでいる場合（つまり、ロボット１０の局面が適切に遷移している場合）、時間の経過に伴って進行度の値が増加する。しかしながら、ロボット１０の作業が進まない場合（例えば、特定の局面への遷移を繰り返す場合）、時間が経過しても進行度の値が増加しない。そのため、ユーザは、進行度の変化を見ることで、ロボット１０による自律作業が進んでいるかどうかについて、容易に把握することができる。その結果、ロボット１０の動作の停滞を容易に発見できるので、当該動作の修正等の適切な対応を行うことができる。
【００６３】
確信度取得部５２は、確信度を取得する。確信度は、ロボット１０の動作が確からしいかどうか（言い換えれば、学習済モデル４３が推定する出力が確からしいかどうか）について評価するために用いるパラメータである。
【００６４】
ＡＩ部４０の学習済モデル４３は、ロボット１０及びその周辺の状態と、その時に行われたユーザの操作によるユーザ操作力と、の対応関係を予め学習している。言い換えれば、学習済モデル４３は、既知の多数の状態から獲得した法則に基づいて動作する。機械学習モデルが本来有する汎化能力により、未知の状況に対しても、学習済モデル４３が適切な推定操作力を出力することが期待される。しかし、人間が今までの過去の経験から予測が難しいような全く新規の状況におかれたときに、確信をもって行動しにくいのと同様に、学習済モデル４３の立場に立てば、今までに学習した既知の状態から遠い状態である程、推定結果に対する確信を持ちにくいということができる。確信度は、この意味で、推定の確からしさを示すものである。
【００６５】
本実施形態において、ＡＩ部４０には、ロボット１０の局面を判別するための確率的判別器が、機械学習により構築されている。この確率的判別器は、上述のクラスタリングによって分類されたクラスタの数に応じて、複数備えられている。
【００６６】
例えば、動作Ａのクラスタの確率的判別器においては、クラスタリングによって動作Ａのクラスタに分類された特徴ベクトルが入力されたときは、１００に近い値を出力し、他の動作のクラスタに分類された特徴ベクトルが入力されたときは、０に近い値を出力するように、機械学習が行われる。従って、学習が完了した確率的判別器に、現在のロボット１０の局面を示す特徴ベクトルを入力すると、確率的判別器は、当該局面が動作Ａらしいかどうかを示す値を出力する。この値は、現在のロボット１０の局面が動作Ａである確率（推定確率）を実質的に示しているということができる。他のクラスタ（他の動作Ｂ〜Ｅ）の確率的判別器においても、上記と同様に学習が行われる。
【００６７】
複数の確率的判別器のそれぞれに特徴ベクトルを入力することにより、現在の状況が動作Ａ〜Ｅのうちどの動作に対応すると推定されるか、また、当該推定が確からしいか否かを、確率的判別器に基づいて得ることができる。
【００６８】
本実施形態においては図５に示すように、確信度として、複数の確率的判別器が出力する推定確率のうち最大の値が用いられている。既知のロボット１０の局面（言い換えれば、クラスタリングによって動作Ａ〜Ｅの何れかに分類されている局面）に対して現在の局面が似ている場合は、確信度の値が大きくなる。その一方で、既知のロボット１０の局面に対して現在の局面が似ていない場合は、確信度の値が小さくなる。
【００６９】
図６に示すように、ユーザは、例えば一連の作業時における確信度の値を見ることで、ロボット１０の動作が確からしいかどうかについて評価することができる。即ち、学習済モデル４３が覚えていない動きをする場合、確信度の値が低下する。従って、ユーザは、一連の作業において、学習が不十分である動作が含まれていることを把握することができる。確信度が小さい動作を、ロボット制御装置１５が自動的に検出しても良い。その一方で、学習済モデル４３が覚えている動きをする場合、確信度の値が上昇する。従って、ユーザは、ある局面でのロボット１０の動作が、既知の動作に一致していることを知ることもできる。
【００７０】
また、ユーザは、確信度の値を用いて、ロボット１０の動作が既知のある状態（例えば、動作Ａ〜Ｅの何れか）に到達していることを確認することもできる。
【００７１】
健全度取得部５３は、健全度を取得する。健全度は、学習済モデル４３が認識する状態がユーザにとって好ましい度合いを示すパラメータである。本実施形態では、健全度は０から１００までの範囲の値をとり、１００に近い程、当該局面がユーザにとって好ましいことを示す。
【００７２】
健全度は、学習済モデル４３において動作が分岐し、各動作への遷移のし易さが確率又は重みで表される場合に、その確率又は重みに人為的な影響を与えるためのパラメータである。
【００７３】
図７に示すように、学習済モデル４３は状態遷移（言い換えれば、動作から動作への遷移）を表現可能である。そして、動作の遷移が発生し得る分岐部分において、各動作への遷移の行われ易さが、重みにより実質的に表されている。図７の例で説明すると、動作Ｂから動作Ｘへの遷移に関する重みが０．４２であり、動作Ｂから動作Ｃへの遷移に関する重みが０．５７である。この例では、動作Ａ，Ｂ，Ｘ，Ｙよりも、動作Ａ，Ｂ，Ｃ，Ｄが、動作の遷移として行われ易いことになる。
【００７４】
健全度は、ロボット１０の各動作に割り当てられる。そして、後で詳しく説明するように、ユーザは、健全度の値を媒介して、ロボット１０の動作の遷移（つまり、上記した確率又は重み）を調整した学習済モデル４３を構築することができる。図７に示すように、初期状態では、全ての動作に関する健全度の値が１００となっている。そして、ユーザは、好ましくない動作に関する健全度の値を低下させることによって、ロボット１０の動作の遷移を調整した学習済モデル４３を構築することができる。
【００７５】
図１の進行度監視部５６は、前述の進行度取得部５１が取得する進行度を監視する。進行度監視部５６は、図４に示すように、所定時間進行度が変化しない状況を検知し、ロボット１０の動作の停滞を検出することができる。
【００７６】
ロボット１０の動作の停滞を進行度監視部５６が検出した場合、ロボット制御装置１５は、ロボット１０の制御を中止し、ロボット１０による作業を停止させる処理を行っても良い。この場合、進行度監視部５６の監視結果に基づくタイムアウト機能（作業の継続をあきらめる機能）を実現することができる。
【００７７】
ロボット１０の動作の停滞を進行度監視部５６が検出した場合、ロボット制御装置１５は、設定が変更された作業が途中から適用されるようにロボット１０を制御しても良い。これにより、進行度監視部５６の監視結果に基づくリトライ機能を実現することができる。
【００７８】
確信度監視部５７は、確信度取得部５２が取得する確信度を監視する。確信度監視部５７は、確信度の値を常時監視して、図６に示すように、確信度の値が所定値に達しない動作を検出することができる。従って、確信度監視部５７は、学習が不十分である動作（言い換えれば、追加学習の必要性が高い局面）を検出することができる。ユーザは、確信度監視部５７の監視結果に基づいて、追加学習を行うにあたり当該追加学習を開始すべきポイントを容易に把握することができる。
【００７９】
ログ特定情報生成部（入力データ特定情報生成部）５８は、確信度が所定値以下となっているときに学習済モデル４３に入力されたデータを示す情報を生成する。これにより、ユーザは、どのような局面において学習が不十分なのかを簡単に把握することができる。この情報は、例えば、後述のログＩＤとすることができる。
【００８０】
動作ログ生成部６０は、動作ログを生成する。動作ログは、ロボット１０を自律的に動作させた際の各種情報を記述したものである。動作ログには、例えば、上述のセンサ情報、推定操作力、動作指令等を含めることができる。動作ログには、多様な情報が、ロボット１０の局面毎に記述される。図示しないが、動作ログに記述されるそれぞれの局面には、当該局面を一意に特定可能な識別情報（ログＩＤ）が付与される。
【００８１】
動作ログには、ＡＩパラメータ取得部５０が出力する進行度、確信度、及び健全度のうち少なくとも何れかに関する情報が含まれても良い。この場合、ユーザは、動作ログに含まれる進行度等に基づいて、ロボット１０の動作について評価することができる。例えば、ユーザは、進行度の観点から、ロボット１０の作業軌跡を容易に理解することができる。また、ユーザは、確信度の観点から、特定の動作との類似性を容易に理解することができる。
【００８２】
動作ログ記憶部７０は、動作ログ生成部６０が生成した動作ログを記憶する。記憶された動作ログは、ユーザがユーザインタフェース部２０を適宜操作することにより、表示部２２に表示させることができる。
【００８３】
本実施形態では、ＡＩ部４０は、ユーザの評価を考慮した上で学習済モデル４３を再構築することができる。以下、図７等を参照して、学習済モデルの再構築について説明する。
【００８４】
学習済モデル４３の出力に基づいてロボット１０が自律動作することにより、動作ログが得られる。その後、ユーザは、図７に示すように、ユーザの観点でロボット１０の動作の良否を評価した結果である評価値を、動作ログに部分的に設定することができる。この設定は、ユーザインタフェース部２０が備える評価値設定部２３を利用して行うことができる。
【００８５】
図７には、動作ログに評価値が設定された例が示されている。なお、図７には、動作ログの内容が極めて簡略的に表現されている。ユーザは、良いと評価した部分についてＯＫを選択し、悪いと評価した部分についてＮＧを選択する。動作ログに健全度の値が含まれていると、ユーザは、当該健全度の値を参考にしてＯＫ又はＮＧを選択できるので、好ましい。
【００８６】
評価値を選択した後、ユーザは、所定の操作を行うことにより、学習済モデル４３の再構築を指示する。ＡＩ部４０は、先ず、評価値としてＮＧが付けられた動作に関する健全度の値を低下させる。一方、評価値としてＯＫが付けられた動作に関しては、健全度の値が維持される。その後、学習済モデル４３が再構築される。再構築された学習済モデル４３では、図８に示すように、健全度が高い動作へ遷移する確率が上昇し、健全度が低い動作へ遷移する確率が低下するように、動作への遷移の行われ易さを示す上記の重みが調整されている。従って、ユーザにとって望ましい遷移が優先的に選択され易くなる。この結果、カスタマイズ性が向上し、ユーザにとって納得感が高い学習済モデル４３を得ることができる。
【００８７】
次に、進行度及び確信度に関する他の活用例について説明する。
【００８８】
本実施形態のロボット制御装置１５は、１つの学習済モデル４３により実現される一連の動作から、一部の動作を実質的に分離して扱うことができる。
【００８９】
最初に、一連の動作の途中から自律動作を開始する場合について、図９を参照して説明する。ユーザは、学習済モデル４３（図９では、学習済モデルＸと表記している）が自律動作を開始する条件を、進行度の形で予め設定する。図９には、自律動作を開始する進行度の条件として２０が設定された例が示されている。
【００９０】
その後、ユーザは、操作部２１を操作して、動作Ｍ１、Ｍ２、・・・の順にロボット１０を動作させる。なお、動作Ｍ１，Ｍ２，・・・は、手動運転における動作過程を意味する。このとき、ＡＩパラメータ取得部５０は、ロボット１０の各局面（ただし、推定操作力の代わりにユーザ操作力が用いられる）に対応する進行度及び確信度を、ＡＩ部４０に要求する。
【００９１】
動作Ｍ１の局面では、得られた進行度が２０であり、自律動作を開始する進行度の条件を満たしている。即ち、動作Ｍ１の局面が、学習済モデルＸの動作Ｂ（進行度が２０となる動作）の局面と多少似ていると判断されていることを意味する。ただし、確信度が４０と低い。従って、この段階では、ＡＩ部４０の自律操作は開始されない。
【００９２】
次の動作Ｍ２の局面では、得られた進行度が２０であり、自律動作を開始する進行度の条件を満たしている。また、確信度が８０と高く、確からしさも良好である。このように、ＡＩ部４０は、進行度が条件を満たし、かつ、確信度が所定以上である場合にのみ、当該進行度に対応する動作Ｂから、学習済モデル４３に基づく出力を開始する。これに連動して、動作切替部３０は、ユーザ操作力に基づく制御から、推定操作力に基づく制御に切り換える。その後は、ロボット１０の自律動作により、動作Ｃ、Ｄ、Ｅが順に実現される。
【００９３】
このように、動作Ａ〜Ｅの一連の作業を行うように学習した学習済モデル４３から、動作Ｂ〜Ｅだけを実質的に取り出して、一連の作業の途中から制御を行うことができる。
【００９４】
次に、一連の動作の途中で自律動作を終了する場合について、図１０を参照して説明する。ユーザは、学習済モデルＸが自律動作を終了する条件を、進行度の形で予め設定する。図１０には、自律動作を開始する進行度の条件として６０が設定された例が示されている。
【００９５】
ＡＩ部４０は、動作Ａ、動作Ｂ、・・・の順にロボット１０を自律動作させる。この過程で、ＡＩパラメータ取得部５０は、ロボット１０の各局面に対応する進行度及び確信度を、ＡＩ部４０に要求する。
【００９６】
動作Ｄの局面では、得られた進行度が６０であり、自律動作を終了する進行度の条件を満たしている。また、確信度が８５と高く、確からしさも良好である。このように、ＡＩ部４０は、進行度が条件を満たし、かつ、確信度が所定以上である場合にのみ、当該進行度に対応する動作Ｄまでで、学習済モデル４３に基づく出力を終了する。従って、動作Ｅは行われない。
【００９７】
このように、動作Ａ〜Ｅの一連の作業を行うように学習した学習済モデル４３から、動作Ａ〜Ｄだけを実質的に取り出して、一連の作業の途中まで制御を行うことができる。
【００９８】
次に、２つの異なる学習済モデル４３に基づく自律動作を結合する場合について、図１１を参照して説明する。
【００９９】
図１１の例において、ロボット制御装置１５では、異なる２つの学習済モデル４３が構築されている。以下の説明では、一方の学習済モデル４３を学習済モデルＸと呼び、他方の学習済モデル４３を学習済モデルＹと呼ぶことがある。学習済モデルＸは、動作Ｏ〜Ｑの一連の作業を予め学習している。学習済モデルＹは、動作Ｓ〜の一連の作業を予め学習している。
【０１００】
２つの学習済モデル４３の自律動作を結合するにあたって、ロボット制御装置１５は、学習済モデルＸに基づく自律動作の終了と、学習済モデルＹに基づく自律動作の開始と、を検証する。進行度及び確信度は、この検証のために用いられる。
【０１０１】
図１１の例では、学習済モデルＸに関し、自律動作を終了させる進行度の条件として、１００が設定されている。また、学習済モデルＹに関し、自律動作を開始させる進行度の条件として、０が設定されている。
【０１０２】
ＡＩ部４０は、学習済モデルＸの出力に基づいて、動作Ｏ、動作Ｐ、・・・の順にロボット１０を自律動作させる。この過程で、ＡＩパラメータ取得部５０は、それぞれの学習済モデルＸ，Ｙについて、ロボット１０の各局面に対応する進行度及び確信度を、ＡＩ部４０に要求する。
【０１０３】
動作Ｑの局面では、学習済モデルＸに関して、得られた進行度が１００であり、自律動作を終了する進行度の条件を満たしている。また、確信度が８５と高く、確からしさも良好である。更に、動作Ｑの局面について、学習済モデルＹに関する進行度は０であり、自律動作を開始する進行度の条件を満たしている。また、確信度が８０と高く、確からしさも良好である。
【０１０４】
このように、両方の学習済モデルＸ，Ｙに関する確信度が所定位置以上であることを条件として、自律動作のために推定操作力が用いられる学習済モデル４３が切り換えられる。ＡＩ部４０は、動作Ｑのタイミングで、学習済モデルＸから学習済モデルＹへ自律動作を引き継ぐように切り換える。この結果、動作Ｏ、動作Ｐ、動作Ｑ（≒動作Ｓ）、動作Ｔ、動作Ｕ、・・・のような一連の動作が実現される。
【０１０５】
このように、ロボット制御装置１５は、進行度及び確信度の値を利用して、２つの異なるモデル間で動作の受け渡しを行うことができ、ロボット１０に一連の作業（連結作業）を実行させることができる。
【０１０６】
以上に説明したように、本実施形態のロボット制御装置１５は、学習済モデル４３と、動作切替部３０と、進行度取得部５１と、確信度取得部５２と、を備える。学習済モデル４３は、人間がロボット１０を操作して一連の作業を行わせる場合の、当該ロボット１０及びその周辺の状況を入力データとし、それに応じた人間の操作又は当該操作による当該ロボット１０の動作を出力データとする作業データを学習することにより構築されている。動作切替部３０は、ロボット１０及び当該ロボット１０の周辺の状況に関する入力データが学習済モデル４３に入力された場合に、それに応じて推定される人間の操作に関する出力データを学習済モデル４３から得ることにより、前記作業を行わせるためのロボット１０の制御データを得る。進行度取得部５１は、学習済モデル４３が出力する前記出力データが、前記一連の作業のうちどの進捗度合いに相当するかを示す進行度を取得する。確信度取得部５２は、前記入力データの入力に応じて学習済モデル４３が前記出力データを出力する場合の、前記推定の確からしさを示す確信度を取得する。
【０１０７】
また、本実施形態では、以下の制御データ取得工程と、進行度取得工程と、確信度取得工程と、を含むロボット制御方法によって、ロボットの制御が行われている。制御データ取得工程では、ロボット１０及び当該ロボット１０の周辺の状況に関する入力データが学習済モデル４３に入力された場合に、それに応じて推定される人間の操作に関する出力データを学習済モデル４３から得ることにより、前記作業を行わせるためのロボットの制御データを得る。進行度取得工程では、学習済モデル４３が出力する前記出力データが、前記一連の作業のうちどの進捗度合いに相当するかを示す進行度を取得する。確信度取得工程では、前記入力データの入力に応じて学習済モデル４３が前記出力データを出力する場合の、前記推定の確からしさを示す確信度を取得する。
【０１０８】
これにより、得られた進行度及び確信度に基づいて、ユーザが、学習済モデル４３が入力に対して行う出力の根拠をある程度推し量ることができる。従って、学習済モデル４３が従来有していたブラックボックス性を緩和でき、ユーザは納得感を持って学習済モデル４３をロボット制御に用いることができる。また、得られた進行度及び確信度を手掛かりとして、学習についての検討をユーザがより的確に行うことができる。例えば、ユーザは、得られた進行度及び確信度に基づいて、学習済モデル４３の学習内容に対してどのような修正を行うべきかについて、容易に把握することができる。
【０１０９】
また、本実施形態のロボット制御装置１５は、進行度取得部５１が取得する進行度を監視する進行度監視部５６を備える。
【０１１０】
これにより、ロボット１０の作業が良好に進行しているか否かを、ロボット制御装置１５が容易に判断することができる。
【０１１１】
また、本実施形態のロボット制御装置１５は、進行度監視部５６の監視の結果、進行度が所定値以上にならない状態が所定時間以上継続した場合には、前記作業の途中でロボット１０の制御を中止する。
【０１１２】
これにより、動作の無駄を防止できる。
【０１１３】
また、本実施形態のロボット制御装置１５は、進行度監視部５６の監視の結果、進行度が所定値以上にならない状態が所定時間以上継続した場合には、設定が変更された作業が途中から適用されるようにロボット１０を制御する。
【０１１４】
これにより、動作の無駄を防止できるとともに、作業を自動的に再開することができる。
【０１１５】
また、本実施形態のロボット制御装置１５において、進行度は、時系列的に取得されるロボット１０及び当該ロボット１０の周辺の状態を含むデータである局面データをクラスタリングした結果に基づいて求められる。
【０１１６】
これにより、一連の作業の過程においてロボット１０及び当該ロボット１０の周辺の状態が次々に変化するが、それぞれの状態が有する特徴を考慮して、進行度を求めることができる。この結果、進捗度合いを良好に表した進捗度を取得することができる。
【０１１７】
また、本実施形態のロボット制御装置１５は、確信度取得部５２が取得する確信度を監視する確信度監視部５７を備える。
【０１１８】
これにより、既存の学習では想定しにくい状況が発生しているか否かを、ロボット制御装置１５が容易に判断することができる。
【０１１９】
また、本実施形態のロボット制御装置１５は、確信度が所定値以下となっているときに学習済モデル４３に入力された前記入力データを示す情報を生成する。
【０１２０】
これにより、例えば、追加学習に必要な情報等を簡単に準備することができる。
【０１２１】
また、本実施形態のロボット制御装置１５は、学習済モデル４３が出力する前記出力データに基づくロボット１０の制御を、前記一連の作業の途中に相当し、かつ、確信度が所定値以上である状態から開始可能である。
【０１２２】
これにより、学習済モデル４３に学習させた作業の一部だけを行わせることができるので、学習済モデル４３の活用範囲を広げることができる。また、確信度が大きい状況でだけ、学習済モデル４３の出力の利用の有無が切り換わるので、ユーザが想定しないロボット１０の動作が行われにくい。
【０１２３】
また、本実施形態のロボット制御装置１５は、学習済モデル４３が出力する前記出力データに基づくロボット１０の制御を、前記一連の作業の途中に相当し、かつ、確信度が所定値以上である状態で終了可能である。
【０１２４】
これにより、学習済モデル４３に学習させた作業の一部だけを行わせることができるので、学習済モデル４３の活用範囲を広げることができる。また、確信度が大きい状況でだけ、学習済モデル４３の出力の利用の有無が切り換わるので、ユーザが想定しないロボット１０の動作が行われにくい。
【０１２５】
また、本実施形態のロボット制御装置１５は、互いに異なる一連の作業に対応して構築された複数の学習済モデル４３が出力する前記出力データに基づいて、前記作業を行わせるためのロボット１０の制御データを得ることが可能である。ロボット制御装置１５は、複数の学習済モデル４３がそれぞれ出力する前記出力データに基づくロボット１０の制御を、確信度が所定値以上である状態を境として続けて行うことにより、一連の作業同士が時系列的に連結した連結作業を行わせるようにロボット１０を制御可能である。
【０１２６】
これにより、ロボット１０の複雑な動作を実現し易くなる。また、確信度が大きい状況でだけ、利用される学習済モデル４３の出力が切り換わるので、ユーザが想定しないロボット１０の動作が行われにくい。
【０１２７】
また、本実施形態のロボット制御装置１５は、学習済モデル４３に入力される、ロボット１０及び当該ロボット１０の周辺の状況に関するデータと、学習済モデル４３の出力に基づくロボット１０の動作に関するデータと、進行度及び確信度のうち少なくとも一方と、を対応付けて、例えば動作ログとして出力可能である。
【０１２８】
これにより、ロボット１０の動作の検討及び評価等のために有用な情報を提供することができる。
【０１２９】
また、本実施形態のロボット制御装置１５において、学習済モデル４３は、状態遷移を表現可能であるとともに、それぞれの状態に対応する動作を出力可能である。ロボット制御装置１５は、学習済モデル４３が認識する状態がユーザにとって好ましい度合いを示す健全度を取得する健全度取得部５３を備える。
【０１３０】
これにより、ユーザは、学習済モデル４３が入力に対して行う出力の根拠を推し量るために有用な情報を更に得ることができる。
【０１３１】
また、本実施形態のロボット制御装置１５は、学習済モデル４３に入力される前記入力データと、学習済モデル４３が出力する前記出力データに基づくロボット１０の動作に関するデータと、を含む動作ログを出力可能である。前記動作ログに記述されたロボット１０の動作に対しては、前記一連の作業のうち一部に相当する動作ごとにユーザが評価を付与可能である。ロボット制御装置１５は、ユーザの前記評価に基づいて、学習済モデル４３における前記状態に対応する健全度を調整する。
【０１３２】
これにより、ユーザがロボット１０の動作を部分的に評価することで、好ましい動作が行われ易くなるように制御を調整することができる。従って、学習済モデル４３を用いるにもかかわらず、ロボット制御の納得感が更に得られ易くなる。
【０１３３】
また、本実施形態のロボット制御装置１５は、ユーザの前記評価に基づいて前記状態に対応する健全度を調整した後、健全度が高い前記状態が現れるように、学習済モデル４３のパラメータの調整及び強化学習のうち少なくとも何れかを行う。
【０１３４】
これにより、ユーザが望むロボット１０の制御を容易に実現できる。
【０１３５】
また、本実施形態のロボット制御装置１５であって、前記動作ログには、健全度取得部５３が取得した健全度が含まれる。
【０１３６】
これにより、ユーザは、ロボット１０の動作を部分的に評価する際に、健全度を参考にすることができる。従って、評価を的確に行うことができるので、ユーザが望むロボット１０の制御を効率的に実現できる。
【０１３７】
また、本実施形態のロボット制御装置１５は、学習済モデル４３に入力される前記入力データと、学習済モデル４３が出力する前記出力データに基づくロボット１０の動作に関するデータと、健全度と、を対応付けて出力可能である。
【０１３８】
これにより、ロボット１０の動作の検討及び評価等のために有用な情報を提供することができる。
【０１３９】
また、本実施形態において、ロボットシステム１は、ロボット制御装置１５と、ロボット１０と、を備える。
【０１４０】
これにより、ロボットの動作についてユーザの納得感が得られ易いロボットシステム１を実現することができる。
【０１４１】
以上に本発明の好適な実施の形態を説明したが、上記の構成は例えば以下のように変更することができる。
【０１４２】
進行度、確信度、及び健全度がとり得る範囲は任意であり、例えば０から１までとすることもできる。
【０１４３】
学習済モデル４３は、センサ情報と、ユーザ操作力と、の関係を学習するのに代えて、センサ情報と、ロボット１０への動作指令と、の関係を学習するように構成しても良い。
【０１４４】
上述の実施形態では、ロボット制御装置１５は、ユーザが設定した評価値に基づいて健全度の値を調整し、学習済モデル４３を再構築していた。しかしながら、ロボット制御装置１５は、ユーザが設定した評価値を利用した強化学習により、学習済モデル４３を再構築（言い換えれば、学習済モデル４３を修正）しても良い。この場合、評価値は、強化学習を行う際の報酬として利用される。
【０１４５】
ロボット１０及び当該ロボット１０の周辺の状態を取得するためのセンサ（状態センサ）として、動作センサ１１、力センサ１２及びカメラ１３以外のセンサが用いられても良い。
【０１４６】
操作部２１が遠隔操作に用いるマスターアームであり、かつ、ロボット１０がスレーブアームであるロボットシステム１であっても良い。この場合、ＡＩ部４０は、ユーザによるマスターアームの操作に基づいて学習した学習済モデル４３を構築することができる。
【符号の説明】
【０１４７】
１  ロボットシステム
１０  ロボット
１１  動作センサ
１２  力センサ
１３  カメラ
１５  ロボット制御装置
３０  動作切替部（制御データ取得部）
４３  学習済モデル
５１  進行度取得部
５２  確信度取得部
【図１】
2020138436.tif 000003
【図２】
2020138436.tif 000004
【図３】
2020138436.tif 000005
【図４】
2020138436.tif 000006
【図５】
2020138436.tif 000007
【図６】
2020138436.tif 000008
【図７】
2020138436.tif 000009
【図８】
2020138436.tif 000010
【図９】
2020138436.tif 000011
【図１０】
2020138436.tif 000012
【図１１】
2020138436.tif 000013
【国際調査報告】
2020138436.tif 000014
2020138436.tif 000015
2020138436.tif 000016
2020138436.tif 000017