IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 川崎重工業株式会社の特許一覧

特許7336463ロボット制御装置、ロボットシステム及びロボット制御方法
<>
  • 特許-ロボット制御装置、ロボットシステム及びロボット制御方法 図1
  • 特許-ロボット制御装置、ロボットシステム及びロボット制御方法 図2
  • 特許-ロボット制御装置、ロボットシステム及びロボット制御方法 図3
  • 特許-ロボット制御装置、ロボットシステム及びロボット制御方法 図4
  • 特許-ロボット制御装置、ロボットシステム及びロボット制御方法 図5
  • 特許-ロボット制御装置、ロボットシステム及びロボット制御方法 図6
  • 特許-ロボット制御装置、ロボットシステム及びロボット制御方法 図7
  • 特許-ロボット制御装置、ロボットシステム及びロボット制御方法 図8
  • 特許-ロボット制御装置、ロボットシステム及びロボット制御方法 図9
  • 特許-ロボット制御装置、ロボットシステム及びロボット制御方法 図10
  • 特許-ロボット制御装置、ロボットシステム及びロボット制御方法 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-23
(45)【発行日】2023-08-31
(54)【発明の名称】ロボット制御装置、ロボットシステム及びロボット制御方法
(51)【国際特許分類】
   B25J 13/00 20060101AFI20230824BHJP
   B25J 13/02 20060101ALI20230824BHJP
【FI】
B25J13/00 Z
B25J13/02
【請求項の数】 18
(21)【出願番号】P 2020562507
(86)(22)【出願日】2019-12-27
(86)【国際出願番号】 JP2019051483
(87)【国際公開番号】W WO2020138436
(87)【国際公開日】2020-07-02
【審査請求日】2022-11-24
(31)【優先権主張番号】P 2018245459
(32)【優先日】2018-12-27
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000000974
【氏名又は名称】川崎重工業株式会社
(74)【代理人】
【識別番号】100118784
【弁理士】
【氏名又は名称】桂川 直己
(72)【発明者】
【氏名】蓮沼 仁志
(72)【発明者】
【氏名】山本 武司
(72)【発明者】
【氏名】倉島 一輝
【審査官】樋口 幸太郎
(56)【参考文献】
【文献】国際公開第2018/225862(WO,A1)
【文献】特開2018-12185(JP,A)
【文献】特開2017-200718(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 13/00
B25J 13/02
(57)【特許請求の範囲】
【請求項1】
人間がロボットを操作して一連の作業を行わせる場合の、当該ロボット及び当該ロボットの周辺の状態を入力データとし、それに応じた人間の操作又は当該操作による当該ロボットの動作を出力データとする作業データを学習することにより構築された学習済モデルと、
ロボット及び当該ロボットの周辺の状態に関する入力データが前記学習済モデルに入力された場合に、それに応じて推定される人間の操作又はロボットの動作に関する出力データを前記学習済モデルから得ることにより、前記作業を行わせるためのロボットの制御データを得る制御データ取得部と、
前記学習済モデルが出力する前記出力データが、前記一連の作業のうちどの進捗度合いに相当するかを示す進行度を取得する進行度取得部と、
前記入力データの入力に応じて前記学習済モデルが前記出力データを出力する場合の、前記推定の確からしさを示す確信度を取得する確信度取得部と、
を備えることを特徴とするロボット制御装置。
【請求項2】
請求項1に記載のロボット制御装置であって、
前記進行度取得部が取得する進行度を監視する進行度監視部を備えることを特徴とするロボット制御装置。
【請求項3】
請求項2に記載のロボット制御装置であって、
前記進行度監視部の監視の結果、前記進行度が所定値以上にならない状態が所定時間以上継続した場合には、前記作業の途中で前記ロボットの制御を中止することを特徴とするロボット制御装置。
【請求項4】
請求項2又は3に記載のロボット制御装置であって、
前記進行度監視部の監視の結果、前記進行度が所定値以上にならない状態が所定時間以上継続した場合には、設定が変更された作業が途中から適用されるように前記ロボットを制御することを特徴とするロボット制御装置。
【請求項5】
請求項1から4までの何れか一項に記載のロボット制御装置であって、
前記進行度は、時系列的に取得される前記ロボット及び当該ロボットの周辺の状態を含むデータをクラスタリングした結果に基づいて求められることを特徴とするロボット制御装置。
【請求項6】
請求項1から5までの何れか一項に記載のロボット制御装置であって、
前記確信度取得部が取得する確信度を監視する確信度監視部を備えることを特徴とするロボット制御装置。
【請求項7】
請求項6に記載のロボット制御装置であって、
前記確信度が所定値以下となっているときに前記学習済モデルに入力された前記入力データを示す情報を生成することを特徴とするロボット制御装置。
【請求項8】
請求項1から7までの何れか一項に記載のロボット制御装置であって、
前記学習済モデルが出力する前記出力データに基づく前記ロボットの制御を、前記一連の作業の途中に相当し、かつ、前記確信度が所定値以上である状態から開始可能であることを特徴とするロボット制御装置。
【請求項9】
請求項1から8までの何れか一項に記載のロボット制御装置であって、
前記学習済モデルが出力する前記出力データに基づく前記ロボットの制御を、前記一連の作業の途中に相当し、かつ、前記確信度が所定値以上である状態で終了可能であることを特徴とするロボット制御装置。
【請求項10】
請求項1から9までの何れか一項に記載のロボット制御装置であって、
互いに異なる一連の作業に対応して構築された複数の前記学習済モデルが出力する前記出力データに基づいて、前記作業を行わせるためのロボットの制御データを得ることが可能であり、
複数の学習済モデルがそれぞれ出力する前記出力データに基づく前記ロボットの制御を、前記確信度が所定値以上である状態を境として続けて行うことにより、前記一連の作業同士が時系列的に連結した連結作業を行わせるように前記ロボットを制御可能であることを特徴とするロボット制御装置。
【請求項11】
請求項1から10までの何れか一項に記載のロボット制御装置であって、
前記学習済モデルに入力される、ロボット及び当該ロボットの周辺の状態に関するデータと、
前記学習済モデルの出力に基づくロボットの動作に関するデータと、
前記進行度及び前記確信度のうち少なくとも一方と、
を対応付けて出力可能であることを特徴とするロボット制御装置。
【請求項12】
請求項1から11までの何れか一項に記載のロボット制御装置であって、
前記学習済モデルは、状態遷移を表現可能であるとともに、それぞれの状態に対応する動作を出力可能であり、
前記学習済モデルが認識する状態がユーザにとって好ましい度合いを示す健全度を取得する健全度取得部を備えることを特徴とするロボット制御装置。
【請求項13】
請求項12に記載のロボット制御装置であって、
前記学習済モデルに入力される前記入力データと、
前記学習済モデルが出力する前記出力データに基づくロボットの動作に関するデータと、
を含む動作ログを出力可能であり、
前記動作ログに記述された前記ロボットの動作に対しては、前記一連の作業のうち一部に相当する動作ごとにユーザが評価を付与可能であり、
ユーザの前記評価に基づいて、前記学習済モデルにおける前記状態に対応する健全度を調整することを特徴とするロボット制御装置。
【請求項14】
請求項13に記載のロボット制御装置であって、
ユーザの前記評価に基づいて前記状態に対応する前記健全度を調整した後、前記健全度が高い前記状態が現れるように、前記学習済モデルのパラメータの調整及び強化学習のうち少なくとも何れかを行うことを特徴とするロボット制御装置。
【請求項15】
請求項14に記載のロボット制御装置であって、
前記動作ログには、前記健全度取得部が取得した前記健全度が含まれることを特徴とするロボット制御装置。
【請求項16】
請求項12から15までの何れか一項に記載のロボット制御装置であって、
前記学習済モデルに入力される前記入力データと、
前記学習済モデルが出力する前記出力データに基づくロボットの動作に関するデータと、
前記健全度と、
を対応付けて出力可能であることを特徴とするロボット制御装置。
【請求項17】
請求項1から16までの何れか一項に記載のロボット制御装置と、
前記ロボットと、
を備えることを特徴とするロボットシステム。
【請求項18】
人間がロボットを操作して一連の作業を行わせる場合の、当該ロボット及び当該ロボットの周辺の状態を入力データとし、それに応じた人間の操作又は当該操作による当該ロボットの動作を出力データとする作業データを学習することにより構築されたモデルを学習済モデルと呼ぶときに、
ロボット及び当該ロボットの周辺の状態に関する入力データが前記学習済モデルに入力された場合に、それに応じて推定される人間の操作又はロボットの動作に関する出力データを前記学習済モデルから得ることにより、前記作業を行わせるためのロボットの制御データを得る制御データ取得工程と、
前記学習済モデルが出力する前記出力データが、前記一連の作業のうちどの進捗度合いに相当するかを示す進行度を取得する進行度取得工程と、
前記入力データの入力に応じて前記学習済モデルが前記出力データを出力する場合の、前記推定の確からしさを取得する確信度取得工程と、
を含むことを特徴とするロボット制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、主として、ロボットを制御するロボット制御装置に関する。
【背景技術】
【0002】
従来から、ロボットの作業動作に関するモデルを構築することができる機械学習装置を備えたロボット制御装置が知られている。特許文献1は、この種のロボット制御装置を開示する。
【0003】
特許文献1は、乱雑に置かれたワークを取り出すときのロボットの最適な動作を人間の介在無しに学習できる機械学習装置を備えるロボットシステムを開示する。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2017-30135号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来より、AIシステムは、入出力データを大量に用いて入出力の因果関係を推定し、モデルを構築する。しかしながら、学習済のモデルが入力データから出力データを予測するときに、その予測の理由はユーザに説明されず、いわゆるブラックボックスとして扱われている。従って、AIシステムをロボット制御のために用いる場合、AIシステムからの推定出力に基づくロボットの自律動作をユーザが納得する要素が殆どなかった。
【0006】
本発明は以上の事情に鑑みてされたものであり、その目的は、学習済モデルの予測に基づくロボットの動作についてユーザの納得感が得られ易いロボット制御装置等を提供することにある。
【課題を解決するための手段】
【0007】
本発明の解決しようとする課題は以上の如くであり、次にこの課題を解決するための手段とその効果を説明する。
【0008】
本発明の第1の観点によれば、以下の構成のロボット制御装置が提供される。即ち、ロボット制御装置は、学習済モデルと、制御データ取得部と、進行度取得部と、確信度取得部と、を備える。前記学習済モデルは、人間がロボットを操作して一連の作業を行わせる場合の、当該ロボット及び当該ロボットの周辺の状態を入力データとし、それに応じた人間の操作又は当該操作による当該ロボットの動作を出力データとする作業データを学習することにより構築される。前記制御データ取得部は、ロボット及び当該ロボットの周辺の状態に関する入力データが前記学習済モデルに入力された場合に、それに応じて推定される人間の操作又はロボットの動作に関する出力データを前記学習済モデルから得ることにより、前記作業を行わせるためのロボットの制御データを得る。前記進行度取得部は、前記学習済モデルが出力する前記出力データが、前記一連の作業のうちどの進捗度合いに相当するかを示す進行度を取得する。前記確信度取得部は、前記入力データの入力に応じて前記学習済モデルが前記出力データを出力する場合の、前記推定の確からしさを示す確信度を取得する。
【0009】
本発明の第2の観点によれば、以下の構成のロボット制御方法が提供される。即ち、このロボット制御方法は、人間がロボットを操作して一連の作業を行わせる場合の、当該ロボット及び当該ロボットの周辺の状況を入力データとし、それに応じた人間の操作又は当該操作による当該ロボットの動作を出力データとする作業データを学習することにより構築されたモデルを学習済モデルと呼ぶときに、ロボット及び当該ロボットの周辺の状況に関する入力データが前記学習済モデルに入力された場合に、それに応じて推定される人間の操作又はロボットの動作に関する出力データを前記学習済モデルから得ることにより、前記作業を行わせるためのロボットの制御データを得る制御データ取得工程と、前記学習済モデルが出力する前記出力データが、前記一連の作業のうちどの進捗度合いに相当するかを示す進行度を取得する進行度取得工程と、前記入力データの入力に応じて前記学習済モデルが前記出力データを出力する場合の、前記推定の確からしさを取得する確信度取得工程と、を含む。
【0010】
これにより、得られた進行度及び確信度に基づいて、ユーザが、学習済モデルが入力に対して行う出力の根拠をある程度推し量ることができる。従って、学習済モデルが従来有していたブラックボックス性を緩和でき、ユーザは納得感を持って学習済モデルをロボット制御に用いることができる。また、得られた進行度及び確信度を手掛かりとして、学習についての検討をユーザがより的確に行うことができる。
【発明の効果】
【0011】
本発明によれば、学習済モデルの予測に基づくロボットの動作についてユーザの納得感が得られ易いロボット制御装置等を提供することができる。
【図面の簡単な説明】
【0012】
図1】本発明の一実施形態に係るロボットシステムの電気的構成を示すブロック図。
図2】本実施形態でAIシステムに学習させるロボットの動作の一例について示した図。
図3】進行度の取得について説明する図。
図4】ロボットの動作に応じた進行度の値の推移の例を示す図。
図5】確信度の取得について説明する図。
図6】ロボットの動作に応じた確信度の値の推移の例を示す図。
図7】健全度と、動作ログに評価値が指定された例と、を示す図。
図8】再学習後の健全度について説明する図。
図9】一連の動作のうち途中からロボットの自律動作を開始する処理を説明する図。
図10】一連の動作のうち途中まででロボットの自律動作を終了する処理を説明する図。
図11】2つの異なる学習済モデルに基づく自律動作を受け渡す処理について説明する図。
【発明を実施するための形態】
【0013】
次に、図面を参照して本発明の実施の形態を説明する。図1は、本発明の一実施形態に係るロボットシステム1の電気的構成を示すブロック図である。
【0014】
ロボットシステム1は、ロボット10を用いて作業を行うシステムである。ロボット10に行わせる作業としては様々であるが、例えば、組立て、加工、塗装、洗浄等がある。
【0015】
詳細は後述するが、ロボット10は、データを機械学習することで構築されたモデル(学習済モデル43)を用いて制御される。そのため、ロボットシステム1は、基本的にはユーザの補助を必要とせず、作業を自律的に行うことができる。また、ロボット10は、自律的に作業を行うだけでなく、ユーザの操作に応じて作業を行うこともできる。以下の説明では、ロボット10が作業を自律的に行うことを「自律運転」と呼び、ユーザの操作に応じてロボット10が作業を行うことを「手動運転」と呼ぶことがある。
【0016】
図1に示すように、ロボットシステム1は、ロボット10と、ロボット制御装置15と、を備える。ロボット10とロボット制御装置15は有線又は無線により互いに接続されており、信号のやり取りを行うことができる。
【0017】
ロボット10は、台座に取り付けられたアーム部を備える。アーム部は、複数の関節を有しており、各関節にはアクチュエータが備えられている。ロボット10は、外部から入力された動作指令に応じてアクチュエータを動作させることでアーム部を動作させる。
【0018】
アーム部の先端には、作業内容に応じて選択されたエンドエフェクタが取り付けられている。ロボット10は、外部から入力された動作指令に応じてエンドエフェクタを動作させることができる。
【0019】
ロボット10には、ロボット10の動作及び周囲環境等を検出するためのセンサが取り付けられている。本実施形態では、動作センサ11と、力センサ12と、カメラ13と、がロボット10に取り付けられている。
【0020】
動作センサ11は、ロボット10のアーム部の関節毎に設けられており、各関節の回転角度又は角速度を検出する。力センサ12は、ロボット10の動作時に、ロボット10が受けた力を検出する。力センサ12はエンドエフェクタに掛かる力を検出する構成であってもよいし、アーム部の各関節に掛かる力を検出する構成であってもよい。また、力センサ12は、力に代えて又は加えてモーメントを検出する構成であってもよい。カメラ13は、作業対象であるワークの映像(ワークに対する作業の進行状況)を検出する。
【0021】
動作センサ11が検出するデータは、ロボット10の動作を示す動作データである。力センサ12及びカメラ13が検出するデータは、ロボット10の周囲の環境を示す周囲環境データである。動作データと周囲環境データを総合したデータを、以下の説明で状態データと呼ぶことがある。状態データは、ロボット10及びその周辺の状態を示すものである。
【0022】
以下の説明では、ロボット10に設けられた動作センサ11、力センサ12、及びカメラ13をまとめて「状態検出センサ11~13」と称することがある。また、状態検出センサ11~13が検出したデータを、特に「センサ情報」と称することがある。状態検出センサ11~13は、ロボット10に取り付ける代わりに、ロボット10の周囲に設けてもよい。
【0023】
ロボット制御装置15は、ユーザインタフェース部20と、動作切替部(制御データ取得部)30と、AI部40と、AIパラメータ取得部50と、進行度監視部56と、確信度監視部57と、ログ特定情報生成部58と、動作ログ生成部60と、動作ログ記憶部70と、を備える。
【0024】
具体的には、ロボット制御装置15は、CPU、ROM、RAM、及びHDDを備えるコンピュータである。コンピュータは、ユーザが操作するためのマウス等の装置を備える。コンピュータはGPUを備えると、後述のニューラルネットワークによる学習を短時間で行うことができ、好ましい。HDDには、ロボット制御装置15を動作させるためのプログラムが記憶される。上記のハードウェアとソフトウェアとの協働により、ロボット制御装置15を、ユーザインタフェース部20、動作切替部30、AI部40、AIパラメータ取得部50、進行度監視部56、確信度監視部57、ログ特定情報生成部58、動作ログ生成部60、及び動作ログ記憶部70として機能させることができる。
【0025】
ロボット制御装置15は、1つのコンピュータによって実現されても良いし、互いに通信しながら連携して動作する複数のコンピュータによって実現されても良い。
【0026】
ユーザインタフェース部20は、ロボット制御装置15のユーザインタフェース機能を実現するものである。ユーザインタフェース部20は、操作部21と、表示部22と、評価値設定部23と、を備える。
【0027】
操作部21は、ロボット10を手動で操作するために用いる装置である。操作部21は、例えばレバー、ペダル等を備える構成とすることができる。
【0028】
図示しないが、操作部21は、その操作位置を検出するセンサを備える。更に、操作部21は、公知の操作力検出センサを備える。操作力検出センサは、ユーザが操作部21に加えた力(操作力)を検出する。
【0029】
操作部21が様々な方向に動かすことができるように構成されている場合、操作力は力の向き及び大きさを含む値、例えばベクトルであってもよい。また、操作力は、ユーザが加えた力(N)だけでなく、力に連動する値である加速度(即ち、ユーザが加えた力を操作部21の質量で除算した値)の形で検出されてもよい。
【0030】
以下の説明では、ユーザが操作部21に加えた操作力を、特に「ユーザ操作力」と称することがある。ユーザが操作部21を操作することで出力されたユーザ操作力は、後述するように動作切替部30で動作指令に変換される。
【0031】
表示部22は、ユーザの指示に応じて、様々な情報を表示することができる。表示部22は、例えば液晶ディスプレイとすることができる。表示部22は、操作部21の近傍に配置されている。操作部21がロボット10から離れて配置されている場合、表示部22に、ロボット10及びその周辺の映像を表示させても良い。
【0032】
評価値設定部23は、動作ログ記憶部70から読み出した動作ログに記述されているロボット10の動作に対して、ユーザが付けた評価を設定することができる。動作ログ等については後述する。
【0033】
動作切替部30には、ロボット10、操作部21、及びAI部40が接続されている。動作切替部30には、操作部21が出力したユーザ操作力と、AI部40が出力した後述の推定操作力と、が入力される。
【0034】
動作切替部30は、ロボット10を動作させるための動作指令を、ロボット10及びAI部40へ出力する。動作切替部30は、切替部31と、変換部32と、を備える。
【0035】
切替部31は、入力されたユーザ操作力及び推定操作力のうち一方を変換部32へ出力するように構成されている。切替部31は、ユーザ操作力及び選択操作力のうち何れを変換するかを示す選択信号に基づいて、ユーザ操作力又は推定操作力を変換部32へ出力するように構成されている。これにより、ユーザがロボット10を動作させる状態(手動運転)と、ロボットシステム1がロボット10に自律的に作業を行わせる状態(自律運転)と、を切り替えることができる。手動運転の場合、ロボット10は、操作部21が出力したユーザ操作力に基づいて動作する。自律運転の場合、ロボット10は、AI部40が出力した推定操作力に基づいて動作する。
【0036】
ユーザ操作力及び推定操作力のうち何れに基づいてロボット10を動作させるかの選択は、操作部21の操作を検出する上述のセンサの検出値に基づいて、ユーザが操作部21を操作しているかに応じて自動的に行われても良い。即ち、ユーザが操作部21を実質的に操作しているときは、切替部31がユーザ操作力を変換部32に出力し、そうでないときは、切替部31は推定操作力を変換部32に出力する。
【0037】
変換部32は、切替部31から入力されたユーザ操作力又は推定操作力の何れかを、ロボット10を動作させるための動作指令に変換して、ロボット10及びAI部40に出力する。動作指令は、ロボット10を制御するための制御データと言い換えることもできる。
【0038】
AI部40は、ロボット10の自律動作により一連の作業を行わせるために構築された学習済モデル43を備える。モデルの形式は任意であるが、本実施形態では、ニューラルネットワークを用いたモデルが使われている。学習済モデル43の構築(特に、最初の構築)は、ロボット制御装置15において行われても良いし、他のコンピュータで行われても良い。
【0039】
AI部40は、上記の学習済モデル43のほか、データ入力部41と、推定データ出力部42と、を備える。
【0040】
データ入力部41は、AI部40の入力側のインタフェースとして機能する。データ入力部41には、状態検出センサ11~13から出力されるセンサ情報が入力される。
【0041】
推定データ出力部42は、AI部40の出力側のインタフェースとして機能する。推定データ出力部42は、AI部40が機械学習により構築したモデルに基づくデータを出力することができる。
【0042】
本実施形態では、AI部40は、ユーザが操作部21によって行うロボット10の操作を学習して、学習済モデル43を構築する。具体的には、AI部40には、状態検出センサ11~13から入力されるセンサ情報と、そのときにユーザが操作部21に加えた操作力と、が入力される。
【0043】
AI部40で用いられる学習済モデル43の形式は任意であるが、本実施形態の学習済モデル43は、入力層と、隠れ層と、出力層と、を有する一般的な構成のニューラルネットワークである。それぞれの層には、脳細胞を模擬した複数のユニットが配置されている。入力層と出力層との間には隠れ層が配置され、この隠れ層は適宜の数の中間ユニットによって構成される。情報は、入力層、隠れ層、出力層の順に流れる。隠れ層の数は適宜定められる。
【0044】
このモデルにおいて、入力層に入力されるデータ(入力データ)は、上述のセンサ情報である。上述のとおり、センサ情報は、ロボット10及びその周辺の状態を示すデータである。出力層が出力するデータ(出力データ)は、ユーザ操作力を推定した操作力である。この操作力は、推定した人間の操作を示すデータであるということができる。
【0045】
各入力ユニットと各中間ユニットとは、情報が流れる経路によって結合され、各中間ユニットと各出力ユニットとは、情報が流れる経路によって結合される。それぞれの経路において、上流側のユニットの情報が下流側のユニットの情報に与える影響(重み)が設定されている。
【0046】
学習フェーズにおいて、AI部40は、モデルにセンサ情報を入力し、当該モデルから出力された操作力が、ユーザ操作力と比較される(教師あり学習)。AI部40は、こうして求められる誤差が小さくなるように、公知のアルゴリズムである誤差逆伝播法によって上記の重みを更新する。以上の処理を継続的に行うことにより、学習を実現することができる。
【0047】
学習済モデル43が構築された後の推定フェーズにおいて、AI部40は、学習済モデル43にセンサ情報を入力し、当該学習済モデル43から出力された操作力を、推定操作力として動作切替部30に出力する。
【0048】
切替部31が、AI部40が出力した推定操作力を変換部32に出力する場合、動作切替部30は、当該推定操作力に基づいて制御データを生成することになる。従って、動作切替部30は、ロボット10に作業を行わせるための制御データをAI部40の出力に基づいて取得する制御データ取得部として機能する。
【0049】
ユーザは、例えば、部材の開口部にワークを挿入する一連の作業をロボット10に実行させるために用いる学習済モデル43を、AI部40に構築させることができる。
【0050】
具体的には、ユーザが操作部21を操作して、例えば下記に示すようにロボット10を動作させる。即ち、図2に示す動作Aでは、ロボット10にワークを保持させた状態で、部材の上方にワークを位置させ、当該ワークを部材の面に接近させる。動作Bでは、そのままワークを移動させ、当該部材の面にワークを接触させる。動作Cでは、開口部の位置に向けてワークを移動させる。なお、ワークの移動時に、ワークが部材の面に接触した状態を維持する。動作Dでは、開口部の内壁にワークの端部を接触させる。動作Eでは、開口部にワークを挿入させる。
【0051】
このように、動作Aから動作Eの順に従ってロボット10が動作するように、ユーザがロボット10を操作する。この過程でのセンサ情報とユーザ操作力の関係を学習させることにより、AI部40は、動作Aから動作Eの順に従ってロボット10を自律動作させることが可能な学習済モデル43を構築することができる。
【0052】
AIパラメータ取得部50は、AI部40の学習済モデル43が推定操作力を出力するときの各種のパラメータを、AI部40に要求することで取得することができる。これらのパラメータは、ロボット10の自律作業に関連して人間が意味付けできるパラメータである。学習済モデル43が入力から出力を推定する根拠は説明が付かないことが多いので、当該パラメータは、学習済モデル43によるロボット10の動作をユーザが理解し納得する手掛かりとなる点で重要である。
【0053】
AIパラメータ取得部50は、上記のパラメータとして、進行度、確信度及び健全度を取得する。これに対応して、AIパラメータ取得部50は、進行度取得部51と、確信度取得部52と、健全度取得部53と、を備える。
【0054】
進行度取得部51は、進行度を取得する。進行度は、学習済モデル43の出力に基づいてロボット10が行う動作が、一連の作業のうちでどの進捗度合いに相当するかについて評価するために用いるパラメータである。本実施形態では、進行度は0から100までの範囲の値をとり、100に近い程、一連の作業が進行していることを示す。
【0055】
図3を参照して、進行度の算出について説明する。本実施形態では、図3に示すように、進行度は、時系列的に取得することができるロボット10の状態をクラスタリングして得られるクラスタと、ロボット10の動作履歴と、を考慮して算出される。
【0056】
上記したロボット10の状態は、状態検出センサ11~13からのセンサ情報及び学習済モデル43の推定操作力を含んだ多次元のベクトル(特徴ベクトル)として表現することができる。特徴ベクトルは、ロボット10が一連の作業を行う過程で、様々に変化する。特徴ベクトルは、センサ情報及び推定操作力の当該時点での値だけでなく、センサ情報及び推定操作力の過去の履歴が含まれても良い。
【0057】
以下の説明では、ロボット10及びその周辺の状態と、それに応じて学習済モデル43が推定した結果と、を総合したものを、ロボット10の局面と呼ぶことがある。前述の特徴ベクトルとして、ロボット10の局面を表すデータ(局面データ)が用いられる。局面データは、学習済モデル43の入力データと出力データの両方を総合したものに相当する。
【0058】
クラスタリングとは、教師なし学習の一種であり、多数のデータから分布の法則を学習して、互いに特徴が似ているデータのまとまりである複数のクラスタを取得する手法である。クラスタリングの方法としては、公知の非階層クラスタリング手法を適宜用いることができる。
【0059】
ロボット10の局面は、上述した動作(動作A~動作E)ごとに特徴がある。例えば、動作Aでの状態の特徴(つまり、動作A時に取得する局面データ)は、動作Bでの状態の特徴とは異なる。従って、上述の特徴ベクトルを対象として適宜のクラスタリングを行うことにより、ロボット10の局面を動作ごとに分類することができる。
【0060】
AI部40は、上記のクラスタリング結果を用いて、現在のロボット10の局面に対応する進行度を算出する。図3に示すように、進行度の値は、各クラスタが示す動作の順番に従って段階的かつ累積的に増加するように、予め定められる。ロボット10の一連の作業は特徴ベクトルを時系列順に並べたものとして表現することができるので、この時系列順の情報を用いて、各クラスタの時系列順を求めることができる。
【0061】
AI部40は、現時点のロボット10の局面を示す特徴ベクトルがどのクラスタに属するかを計算により求め、当該クラスタに対応する進行度を、AIパラメータ取得部50の要求に応じて出力する。特徴ベクトルがどのクラスタに属するかを特定するには、例えば、各クラスタの重心位置と特徴ベクトルとの距離を求め、距離が最短となる重心を有するクラスタを求めれば良い。
【0062】
図4に示すように、ロボット10の作業が進んでいる場合(つまり、ロボット10の局面が適切に遷移している場合)、時間の経過に伴って進行度の値が増加する。しかしながら、ロボット10の作業が進まない場合(例えば、特定の局面への遷移を繰り返す場合)、時間が経過しても進行度の値が増加しない。そのため、ユーザは、進行度の変化を見ることで、ロボット10による自律作業が進んでいるかどうかについて、容易に把握することができる。その結果、ロボット10の動作の停滞を容易に発見できるので、当該動作の修正等の適切な対応を行うことができる。
【0063】
確信度取得部52は、確信度を取得する。確信度は、ロボット10の動作が確からしいかどうか(言い換えれば、学習済モデル43が推定する出力が確からしいかどうか)について評価するために用いるパラメータである。
【0064】
AI部40の学習済モデル43は、ロボット10及びその周辺の状態と、その時に行われたユーザの操作によるユーザ操作力と、の対応関係を予め学習している。言い換えれば、学習済モデル43は、既知の多数の状態から獲得した法則に基づいて動作する。機械学習モデルが本来有する汎化能力により、未知の状況に対しても、学習済モデル43が適切な推定操作力を出力することが期待される。しかし、人間が今までの過去の経験から予測が難しいような全く新規の状況におかれたときに、確信をもって行動しにくいのと同様に、学習済モデル43の立場に立てば、今までに学習した既知の状態から遠い状態である程、推定結果に対する確信を持ちにくいということができる。確信度は、この意味で、推定の確からしさを示すものである。
【0065】
本実施形態において、AI部40には、ロボット10の局面を判別するための確率的判別器が、機械学習により構築されている。この確率的判別器は、上述のクラスタリングによって分類されたクラスタの数に応じて、複数備えられている。
【0066】
例えば、動作Aのクラスタの確率的判別器においては、クラスタリングによって動作Aのクラスタに分類された特徴ベクトルが入力されたときは、100に近い値を出力し、他の動作のクラスタに分類された特徴ベクトルが入力されたときは、0に近い値を出力するように、機械学習が行われる。従って、学習が完了した確率的判別器に、現在のロボット10の局面を示す特徴ベクトルを入力すると、確率的判別器は、当該局面が動作Aらしいかどうかを示す値を出力する。この値は、現在のロボット10の局面が動作Aである確率(推定確率)を実質的に示しているということができる。他のクラスタ(他の動作B~E)の確率的判別器においても、上記と同様に学習が行われる。
【0067】
複数の確率的判別器のそれぞれに特徴ベクトルを入力することにより、現在の状況が動作A~Eのうちどの動作に対応すると推定されるか、また、当該推定が確からしいか否かを、確率的判別器に基づいて得ることができる。
【0068】
本実施形態においては図5に示すように、確信度として、複数の確率的判別器が出力する推定確率のうち最大の値が用いられている。既知のロボット10の局面(言い換えれば、クラスタリングによって動作A~Eの何れかに分類されている局面)に対して現在の局面が似ている場合は、確信度の値が大きくなる。その一方で、既知のロボット10の局面に対して現在の局面が似ていない場合は、確信度の値が小さくなる。
【0069】
図6に示すように、ユーザは、例えば一連の作業時における確信度の値を見ることで、ロボット10の動作が確からしいかどうかについて評価することができる。即ち、学習済モデル43が覚えていない動きをする場合、確信度の値が低下する。従って、ユーザは、一連の作業において、学習が不十分である動作が含まれていることを把握することができる。確信度が小さい動作を、ロボット制御装置15が自動的に検出しても良い。その一方で、学習済モデル43が覚えている動きをする場合、確信度の値が上昇する。従って、ユーザは、ある局面でのロボット10の動作が、既知の動作に一致していることを知ることもできる。
【0070】
また、ユーザは、確信度の値を用いて、ロボット10の動作が既知のある状態(例えば、動作A~Eの何れか)に到達していることを確認することもできる。
【0071】
健全度取得部53は、健全度を取得する。健全度は、学習済モデル43が認識する状態がユーザにとって好ましい度合いを示すパラメータである。本実施形態では、健全度は0から100までの範囲の値をとり、100に近い程、当該局面がユーザにとって好ましいことを示す。
【0072】
健全度は、学習済モデル43において動作が分岐し、各動作への遷移のし易さが確率又は重みで表される場合に、その確率又は重みに人為的な影響を与えるためのパラメータである。
【0073】
図7に示すように、学習済モデル43は状態遷移(言い換えれば、動作から動作への遷移)を表現可能である。そして、動作の遷移が発生し得る分岐部分において、各動作への遷移の行われ易さが、重みにより実質的に表されている。図7の例で説明すると、動作Bから動作Xへの遷移に関する重みが0.42であり、動作Bから動作Cへの遷移に関する重みが0.57である。この例では、動作A,B,X,Yよりも、動作A,B,C,Dが、動作の遷移として行われ易いことになる。
【0074】
健全度は、ロボット10の各動作に割り当てられる。そして、後で詳しく説明するように、ユーザは、健全度の値を媒介して、ロボット10の動作の遷移(つまり、上記した確率又は重み)を調整した学習済モデル43を構築することができる。図7に示すように、初期状態では、全ての動作に関する健全度の値が100となっている。そして、ユーザは、好ましくない動作に関する健全度の値を低下させることによって、ロボット10の動作の遷移を調整した学習済モデル43を構築することができる。
【0075】
図1の進行度監視部56は、前述の進行度取得部51が取得する進行度を監視する。進行度監視部56は、図4に示すように、所定時間進行度が変化しない状況を検知し、ロボット10の動作の停滞を検出することができる。
【0076】
ロボット10の動作の停滞を進行度監視部56が検出した場合、ロボット制御装置15は、ロボット10の制御を中止し、ロボット10による作業を停止させる処理を行っても良い。この場合、進行度監視部56の監視結果に基づくタイムアウト機能(作業の継続をあきらめる機能)を実現することができる。
【0077】
ロボット10の動作の停滞を進行度監視部56が検出した場合、ロボット制御装置15は、設定が変更された作業が途中から適用されるようにロボット10を制御しても良い。これにより、進行度監視部56の監視結果に基づくリトライ機能を実現することができる。
【0078】
確信度監視部57は、確信度取得部52が取得する確信度を監視する。確信度監視部57は、確信度の値を常時監視して、図6に示すように、確信度の値が所定値に達しない動作を検出することができる。従って、確信度監視部57は、学習が不十分である動作(言い換えれば、追加学習の必要性が高い局面)を検出することができる。ユーザは、確信度監視部57の監視結果に基づいて、追加学習を行うにあたり当該追加学習を開始すべきポイントを容易に把握することができる。
【0079】
ログ特定情報生成部(入力データ特定情報生成部)58は、確信度が所定値以下となっているときに学習済モデル43に入力されたデータを示す情報を生成する。これにより、ユーザは、どのような局面において学習が不十分なのかを簡単に把握することができる。この情報は、例えば、後述のログIDとすることができる。
【0080】
動作ログ生成部60は、動作ログを生成する。動作ログは、ロボット10を自律的に動作させた際の各種情報を記述したものである。動作ログには、例えば、上述のセンサ情報、推定操作力、動作指令等を含めることができる。動作ログには、多様な情報が、ロボット10の局面毎に記述される。図示しないが、動作ログに記述されるそれぞれの局面には、当該局面を一意に特定可能な識別情報(ログID)が付与される。
【0081】
動作ログには、AIパラメータ取得部50が出力する進行度、確信度、及び健全度のうち少なくとも何れかに関する情報が含まれても良い。この場合、ユーザは、動作ログに含まれる進行度等に基づいて、ロボット10の動作について評価することができる。例えば、ユーザは、進行度の観点から、ロボット10の作業軌跡を容易に理解することができる。また、ユーザは、確信度の観点から、特定の動作との類似性を容易に理解することができる。
【0082】
動作ログ記憶部70は、動作ログ生成部60が生成した動作ログを記憶する。記憶された動作ログは、ユーザがユーザインタフェース部20を適宜操作することにより、表示部22に表示させることができる。
【0083】
本実施形態では、AI部40は、ユーザの評価を考慮した上で学習済モデル43を再構築することができる。以下、図7等を参照して、学習済モデルの再構築について説明する。
【0084】
学習済モデル43の出力に基づいてロボット10が自律動作することにより、動作ログが得られる。その後、ユーザは、図7に示すように、ユーザの観点でロボット10の動作の良否を評価した結果である評価値を、動作ログに部分的に設定することができる。この設定は、ユーザインタフェース部20が備える評価値設定部23を利用して行うことができる。
【0085】
図7には、動作ログに評価値が設定された例が示されている。なお、図7には、動作ログの内容が極めて簡略的に表現されている。ユーザは、良いと評価した部分についてOKを選択し、悪いと評価した部分についてNGを選択する。動作ログに健全度の値が含まれていると、ユーザは、当該健全度の値を参考にしてOK又はNGを選択できるので、好ましい。
【0086】
評価値を選択した後、ユーザは、所定の操作を行うことにより、学習済モデル43の再構築を指示する。AI部40は、先ず、評価値としてNGが付けられた動作に関する健全度の値を低下させる。一方、評価値としてOKが付けられた動作に関しては、健全度の値が維持される。その後、学習済モデル43が再構築される。再構築された学習済モデル43では、図8に示すように、健全度が高い動作へ遷移する確率が上昇し、健全度が低い動作へ遷移する確率が低下するように、動作への遷移の行われ易さを示す上記の重みが調整されている。従って、ユーザにとって望ましい遷移が優先的に選択され易くなる。この結果、カスタマイズ性が向上し、ユーザにとって納得感が高い学習済モデル43を得ることができる。
【0087】
次に、進行度及び確信度に関する他の活用例について説明する。
【0088】
本実施形態のロボット制御装置15は、1つの学習済モデル43により実現される一連の動作から、一部の動作を実質的に分離して扱うことができる。
【0089】
最初に、一連の動作の途中から自律動作を開始する場合について、図9を参照して説明する。ユーザは、学習済モデル43(図9では、学習済モデルXと表記している)が自律動作を開始する条件を、進行度の形で予め設定する。図9には、自律動作を開始する進行度の条件として20が設定された例が示されている。
【0090】
その後、ユーザは、操作部21を操作して、動作M1、M2、・・・の順にロボット10を動作させる。なお、動作M1,M2,・・・は、手動運転における動作過程を意味する。このとき、AIパラメータ取得部50は、ロボット10の各局面(ただし、推定操作力の代わりにユーザ操作力が用いられる)に対応する進行度及び確信度を、AI部40に要求する。
【0091】
動作M1の局面では、得られた進行度が20であり、自律動作を開始する進行度の条件を満たしている。即ち、動作M1の局面が、学習済モデルXの動作B(進行度が20となる動作)の局面と多少似ていると判断されていることを意味する。ただし、確信度が40と低い。従って、この段階では、AI部40の自律操作は開始されない。
【0092】
次の動作M2の局面では、得られた進行度が20であり、自律動作を開始する進行度の条件を満たしている。また、確信度が80と高く、確からしさも良好である。このように、AI部40は、進行度が条件を満たし、かつ、確信度が所定以上である場合にのみ、当該進行度に対応する動作Bから、学習済モデル43に基づく出力を開始する。これに連動して、動作切替部30は、ユーザ操作力に基づく制御から、推定操作力に基づく制御に切り換える。その後は、ロボット10の自律動作により、動作C、D、Eが順に実現される。
【0093】
このように、動作A~Eの一連の作業を行うように学習した学習済モデル43から、動作B~Eだけを実質的に取り出して、一連の作業の途中から制御を行うことができる。
【0094】
次に、一連の動作の途中で自律動作を終了する場合について、図10を参照して説明する。ユーザは、学習済モデルXが自律動作を終了する条件を、進行度の形で予め設定する。図10には、自律動作を開始する進行度の条件として60が設定された例が示されている。
【0095】
AI部40は、動作A、動作B、・・・の順にロボット10を自律動作させる。この過程で、AIパラメータ取得部50は、ロボット10の各局面に対応する進行度及び確信度を、AI部40に要求する。
【0096】
動作Dの局面では、得られた進行度が60であり、自律動作を終了する進行度の条件を満たしている。また、確信度が85と高く、確からしさも良好である。このように、AI部40は、進行度が条件を満たし、かつ、確信度が所定以上である場合にのみ、当該進行度に対応する動作Dまでで、学習済モデル43に基づく出力を終了する。従って、動作Eは行われない。
【0097】
このように、動作A~Eの一連の作業を行うように学習した学習済モデル43から、動作A~Dだけを実質的に取り出して、一連の作業の途中まで制御を行うことができる。
【0098】
次に、2つの異なる学習済モデル43に基づく自律動作を結合する場合について、図11を参照して説明する。
【0099】
図11の例において、ロボット制御装置15では、異なる2つの学習済モデル43が構築されている。以下の説明では、一方の学習済モデル43を学習済モデルXと呼び、他方の学習済モデル43を学習済モデルYと呼ぶことがある。学習済モデルXは、動作O~Qの一連の作業を予め学習している。学習済モデルYは、動作S~の一連の作業を予め学習している。
【0100】
2つの学習済モデル43の自律動作を結合するにあたって、ロボット制御装置15は、学習済モデルXに基づく自律動作の終了と、学習済モデルYに基づく自律動作の開始と、を検証する。進行度及び確信度は、この検証のために用いられる。
【0101】
図11の例では、学習済モデルXに関し、自律動作を終了させる進行度の条件として、100が設定されている。また、学習済モデルYに関し、自律動作を開始させる進行度の条件として、0が設定されている。
【0102】
AI部40は、学習済モデルXの出力に基づいて、動作O、動作P、・・・の順にロボット10を自律動作させる。この過程で、AIパラメータ取得部50は、それぞれの学習済モデルX,Yについて、ロボット10の各局面に対応する進行度及び確信度を、AI部40に要求する。
【0103】
動作Qの局面では、学習済モデルXに関して、得られた進行度が100であり、自律動作を終了する進行度の条件を満たしている。また、確信度が85と高く、確からしさも良好である。更に、動作Qの局面について、学習済モデルYに関する進行度は0であり、自律動作を開始する進行度の条件を満たしている。また、確信度が80と高く、確からしさも良好である。
【0104】
このように、両方の学習済モデルX,Yに関する確信度が所定位置以上であることを条件として、自律動作のために推定操作力が用いられる学習済モデル43が切り換えられる。AI部40は、動作Qのタイミングで、学習済モデルXから学習済モデルYへ自律動作を引き継ぐように切り換える。この結果、動作O、動作P、動作Q(≒動作S)、動作T、動作U、・・・のような一連の動作が実現される。
【0105】
このように、ロボット制御装置15は、進行度及び確信度の値を利用して、2つの異なるモデル間で動作の受け渡しを行うことができ、ロボット10に一連の作業(連結作業)を実行させることができる。
【0106】
以上に説明したように、本実施形態のロボット制御装置15は、学習済モデル43と、動作切替部30と、進行度取得部51と、確信度取得部52と、を備える。学習済モデル43は、人間がロボット10を操作して一連の作業を行わせる場合の、当該ロボット10及びその周辺の状況を入力データとし、それに応じた人間の操作又は当該操作による当該ロボット10の動作を出力データとする作業データを学習することにより構築されている。動作切替部30は、ロボット10及び当該ロボット10の周辺の状況に関する入力データが学習済モデル43に入力された場合に、それに応じて推定される人間の操作に関する出力データを学習済モデル43から得ることにより、前記作業を行わせるためのロボット10の制御データを得る。進行度取得部51は、学習済モデル43が出力する前記出力データが、前記一連の作業のうちどの進捗度合いに相当するかを示す進行度を取得する。確信度取得部52は、前記入力データの入力に応じて学習済モデル43が前記出力データを出力する場合の、前記推定の確からしさを示す確信度を取得する。
【0107】
また、本実施形態では、以下の制御データ取得工程と、進行度取得工程と、確信度取得工程と、を含むロボット制御方法によって、ロボットの制御が行われている。制御データ取得工程では、ロボット10及び当該ロボット10の周辺の状況に関する入力データが学習済モデル43に入力された場合に、それに応じて推定される人間の操作に関する出力データを学習済モデル43から得ることにより、前記作業を行わせるためのロボットの制御データを得る。進行度取得工程では、学習済モデル43が出力する前記出力データが、前記一連の作業のうちどの進捗度合いに相当するかを示す進行度を取得する。確信度取得工程では、前記入力データの入力に応じて学習済モデル43が前記出力データを出力する場合の、前記推定の確からしさを示す確信度を取得する。
【0108】
これにより、得られた進行度及び確信度に基づいて、ユーザが、学習済モデル43が入力に対して行う出力の根拠をある程度推し量ることができる。従って、学習済モデル43が従来有していたブラックボックス性を緩和でき、ユーザは納得感を持って学習済モデル43をロボット制御に用いることができる。また、得られた進行度及び確信度を手掛かりとして、学習についての検討をユーザがより的確に行うことができる。例えば、ユーザは、得られた進行度及び確信度に基づいて、学習済モデル43の学習内容に対してどのような修正を行うべきかについて、容易に把握することができる。
【0109】
また、本実施形態のロボット制御装置15は、進行度取得部51が取得する進行度を監視する進行度監視部56を備える。
【0110】
これにより、ロボット10の作業が良好に進行しているか否かを、ロボット制御装置15が容易に判断することができる。
【0111】
また、本実施形態のロボット制御装置15は、進行度監視部56の監視の結果、進行度が所定値以上にならない状態が所定時間以上継続した場合には、前記作業の途中でロボット10の制御を中止する。
【0112】
これにより、動作の無駄を防止できる。
【0113】
また、本実施形態のロボット制御装置15は、進行度監視部56の監視の結果、進行度が所定値以上にならない状態が所定時間以上継続した場合には、設定が変更された作業が途中から適用されるようにロボット10を制御する。
【0114】
これにより、動作の無駄を防止できるとともに、作業を自動的に再開することができる。
【0115】
また、本実施形態のロボット制御装置15において、進行度は、時系列的に取得されるロボット10及び当該ロボット10の周辺の状態を含むデータである局面データをクラスタリングした結果に基づいて求められる。
【0116】
これにより、一連の作業の過程においてロボット10及び当該ロボット10の周辺の状態が次々に変化するが、それぞれの状態が有する特徴を考慮して、進行度を求めることができる。この結果、進捗度合いを良好に表した進捗度を取得することができる。
【0117】
また、本実施形態のロボット制御装置15は、確信度取得部52が取得する確信度を監視する確信度監視部57を備える。
【0118】
これにより、既存の学習では想定しにくい状況が発生しているか否かを、ロボット制御装置15が容易に判断することができる。
【0119】
また、本実施形態のロボット制御装置15は、確信度が所定値以下となっているときに学習済モデル43に入力された前記入力データを示す情報を生成する。
【0120】
これにより、例えば、追加学習に必要な情報等を簡単に準備することができる。
【0121】
また、本実施形態のロボット制御装置15は、学習済モデル43が出力する前記出力データに基づくロボット10の制御を、前記一連の作業の途中に相当し、かつ、確信度が所定値以上である状態から開始可能である。
【0122】
これにより、学習済モデル43に学習させた作業の一部だけを行わせることができるので、学習済モデル43の活用範囲を広げることができる。また、確信度が大きい状況でだけ、学習済モデル43の出力の利用の有無が切り換わるので、ユーザが想定しないロボット10の動作が行われにくい。
【0123】
また、本実施形態のロボット制御装置15は、学習済モデル43が出力する前記出力データに基づくロボット10の制御を、前記一連の作業の途中に相当し、かつ、確信度が所定値以上である状態で終了可能である。
【0124】
これにより、学習済モデル43に学習させた作業の一部だけを行わせることができるので、学習済モデル43の活用範囲を広げることができる。また、確信度が大きい状況でだけ、学習済モデル43の出力の利用の有無が切り換わるので、ユーザが想定しないロボット10の動作が行われにくい。
【0125】
また、本実施形態のロボット制御装置15は、互いに異なる一連の作業に対応して構築された複数の学習済モデル43が出力する前記出力データに基づいて、前記作業を行わせるためのロボット10の制御データを得ることが可能である。ロボット制御装置15は、複数の学習済モデル43がそれぞれ出力する前記出力データに基づくロボット10の制御を、確信度が所定値以上である状態を境として続けて行うことにより、一連の作業同士が時系列的に連結した連結作業を行わせるようにロボット10を制御可能である。
【0126】
これにより、ロボット10の複雑な動作を実現し易くなる。また、確信度が大きい状況でだけ、利用される学習済モデル43の出力が切り換わるので、ユーザが想定しないロボット10の動作が行われにくい。
【0127】
また、本実施形態のロボット制御装置15は、学習済モデル43に入力される、ロボット10及び当該ロボット10の周辺の状況に関するデータと、学習済モデル43の出力に基づくロボット10の動作に関するデータと、進行度及び確信度のうち少なくとも一方と、を対応付けて、例えば動作ログとして出力可能である。
【0128】
これにより、ロボット10の動作の検討及び評価等のために有用な情報を提供することができる。
【0129】
また、本実施形態のロボット制御装置15において、学習済モデル43は、状態遷移を表現可能であるとともに、それぞれの状態に対応する動作を出力可能である。ロボット制御装置15は、学習済モデル43が認識する状態がユーザにとって好ましい度合いを示す健全度を取得する健全度取得部53を備える。
【0130】
これにより、ユーザは、学習済モデル43が入力に対して行う出力の根拠を推し量るために有用な情報を更に得ることができる。
【0131】
また、本実施形態のロボット制御装置15は、学習済モデル43に入力される前記入力データと、学習済モデル43が出力する前記出力データに基づくロボット10の動作に関するデータと、を含む動作ログを出力可能である。前記動作ログに記述されたロボット10の動作に対しては、前記一連の作業のうち一部に相当する動作ごとにユーザが評価を付与可能である。ロボット制御装置15は、ユーザの前記評価に基づいて、学習済モデル43における前記状態に対応する健全度を調整する。
【0132】
これにより、ユーザがロボット10の動作を部分的に評価することで、好ましい動作が行われ易くなるように制御を調整することができる。従って、学習済モデル43を用いるにもかかわらず、ロボット制御の納得感が更に得られ易くなる。
【0133】
また、本実施形態のロボット制御装置15は、ユーザの前記評価に基づいて前記状態に対応する健全度を調整した後、健全度が高い前記状態が現れるように、学習済モデル43のパラメータの調整及び強化学習のうち少なくとも何れかを行う。
【0134】
これにより、ユーザが望むロボット10の制御を容易に実現できる。
【0135】
また、本実施形態のロボット制御装置15であって、前記動作ログには、健全度取得部53が取得した健全度が含まれる。
【0136】
これにより、ユーザは、ロボット10の動作を部分的に評価する際に、健全度を参考にすることができる。従って、評価を的確に行うことができるので、ユーザが望むロボット10の制御を効率的に実現できる。
【0137】
また、本実施形態のロボット制御装置15は、学習済モデル43に入力される前記入力データと、学習済モデル43が出力する前記出力データに基づくロボット10の動作に関するデータと、健全度と、を対応付けて出力可能である。
【0138】
これにより、ロボット10の動作の検討及び評価等のために有用な情報を提供することができる。
【0139】
また、本実施形態において、ロボットシステム1は、ロボット制御装置15と、ロボット10と、を備える。
【0140】
これにより、ロボットの動作についてユーザの納得感が得られ易いロボットシステム1を実現することができる。
【0141】
以上に本発明の好適な実施の形態を説明したが、上記の構成は例えば以下のように変更することができる。
【0142】
進行度、確信度、及び健全度がとり得る範囲は任意であり、例えば0から1までとすることもできる。
【0143】
学習済モデル43は、センサ情報と、ユーザ操作力と、の関係を学習するのに代えて、センサ情報と、ロボット10への動作指令と、の関係を学習するように構成しても良い。
【0144】
上述の実施形態では、ロボット制御装置15は、ユーザが設定した評価値に基づいて健全度の値を調整し、学習済モデル43を再構築していた。しかしながら、ロボット制御装置15は、ユーザが設定した評価値を利用した強化学習により、学習済モデル43を再構築(言い換えれば、学習済モデル43を修正)しても良い。この場合、評価値は、強化学習を行う際の報酬として利用される。
【0145】
ロボット10及び当該ロボット10の周辺の状態を取得するためのセンサ(状態センサ)として、動作センサ11、力センサ12及びカメラ13以外のセンサが用いられても良い。
【0146】
操作部21が遠隔操作に用いるマスターアームであり、かつ、ロボット10がスレーブアームであるロボットシステム1であっても良い。この場合、AI部40は、ユーザによるマスターアームの操作に基づいて学習した学習済モデル43を構築することができる。
【符号の説明】
【0147】
1 ロボットシステム
10 ロボット
11 動作センサ
12 力センサ
13 カメラ
15 ロボット制御装置
30 動作切替部(制御データ取得部)
43 学習済モデル
51 進行度取得部
52 確信度取得部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11