JPWO2020138436A1 - ロボット制御装置、ロボットシステム及びロボット制御方法 - Google Patents
ロボット制御装置、ロボットシステム及びロボット制御方法 Download PDFInfo
- Publication number
- JPWO2020138436A1 JPWO2020138436A1 JP2020562507A JP2020562507A JPWO2020138436A1 JP WO2020138436 A1 JPWO2020138436 A1 JP WO2020138436A1 JP 2020562507 A JP2020562507 A JP 2020562507A JP 2020562507 A JP2020562507 A JP 2020562507A JP WO2020138436 A1 JPWO2020138436 A1 JP WO2020138436A1
- Authority
- JP
- Japan
- Prior art keywords
- robot
- control device
- trained model
- data
- robot control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 19
- 230000004044 response Effects 0.000 claims abstract description 12
- 238000012544 monitoring process Methods 0.000 claims description 29
- 238000011156 evaluation Methods 0.000 claims description 21
- 230000007704 transition Effects 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 10
- 230000002787 reinforcement Effects 0.000 claims description 4
- 239000013598 vector Substances 0.000 description 15
- 238000001514 detection method Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 3
- 239000012636 effector Substances 0.000 description 3
- 230000002250 progressing effect Effects 0.000 description 3
- 241000282412 Homo Species 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 210000004958 brain cell Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- NJPPVKZQTLUDBO-UHFFFAOYSA-N novaluron Chemical compound C1=C(Cl)C(OC(F)(F)C(OC(F)(F)F)F)=CC=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F NJPPVKZQTLUDBO-UHFFFAOYSA-N 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1653—Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33006—Ama allocation manual automatic work between machine, manipulator and man
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39271—Ann artificial neural network, ffw-nn, feedforward neural network
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39298—Trajectory learning
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40032—Peg and hole insertion, mating and joining, remote center compliance
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40102—Tasks are classified in types of unit motions
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40116—Learn by operator observation, symbiosis, show, watch
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40153—Teleassistance, operator assists, controls autonomous robot
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
ロボット制御装置は、人間がロボットを操作して一連の作業を行わせる場合の、ロボット及び当該ロボットの周辺の状態を入力データとし、それに応じた人間の操作又は当該操作によるロボットの動作を出力データとする作業データを学習して構築された学習済モデルと、前記入力データが学習済モデルに入力された場合に、それに応じて推定される人間の操作又はロボットの動作に関する出力データを学習済モデルから得ることにより、ロボットの制御データを得る制御データ取得部と、学習済モデルが出力する前記出力データが、一連の作業のうちどの進捗度合いに相当するかを示す進行度を取得する進行度取得部と、前記入力データの入力に応じて学習済モデルが前記出力データを出力する場合の、前記推定の確からしさを取得する確信度取得部と、を備える。
Description
本発明は、主として、ロボットを制御するロボット制御装置に関する。
従来から、ロボットの作業動作に関するモデルを構築することができる機械学習装置を備えたロボット制御装置が知られている。特許文献1は、この種のロボット制御装置を開示する。
特許文献1は、乱雑に置かれたワークを取り出すときのロボットの最適な動作を人間の介在無しに学習できる機械学習装置を備えるロボットシステムを開示する。
従来より、AIシステムは、入出力データを大量に用いて入出力の因果関係を推定し、モデルを構築する。しかしながら、学習済のモデルが入力データから出力データを予測するときに、その予測の理由はユーザに説明されず、いわゆるブラックボックスとして扱われている。従って、AIシステムをロボット制御のために用いる場合、AIシステムからの推定出力に基づくロボットの自律動作をユーザが納得する要素が殆どなかった。
本発明は以上の事情に鑑みてされたものであり、その目的は、学習済モデルの予測に基づくロボットの動作についてユーザの納得感が得られ易いロボット制御装置等を提供することにある。
本発明の解決しようとする課題は以上の如くであり、次にこの課題を解決するための手段とその効果を説明する。
本発明の第1の観点によれば、以下の構成のロボット制御装置が提供される。即ち、ロボット制御装置は、学習済モデルと、制御データ取得部と、進行度取得部と、確信度取得部と、を備える。前記学習済モデルは、人間がロボットを操作して一連の作業を行わせる場合の、当該ロボット及び当該ロボットの周辺の状態を入力データとし、それに応じた人間の操作又は当該操作による当該ロボットの動作を出力データとする作業データを学習することにより構築される。前記制御データ取得部は、ロボット及び当該ロボットの周辺の状態に関する入力データが前記学習済モデルに入力された場合に、それに応じて推定される人間の操作又はロボットの動作に関する出力データを前記学習済モデルから得ることにより、前記作業を行わせるためのロボットの制御データを得る。前記進行度取得部は、前記学習済モデルが出力する前記出力データが、前記一連の作業のうちどの進捗度合いに相当するかを示す進行度を取得する。前記確信度取得部は、前記入力データの入力に応じて前記学習済モデルが前記出力データを出力する場合の、前記推定の確からしさを示す確信度を取得する。
本発明の第2の観点によれば、以下の構成のロボット制御方法が提供される。即ち、このロボット制御方法は、人間がロボットを操作して一連の作業を行わせる場合の、当該ロボット及び当該ロボットの周辺の状況を入力データとし、それに応じた人間の操作又は当該操作による当該ロボットの動作を出力データとする作業データを学習することにより構築されたモデルを学習済モデルと呼ぶときに、ロボット及び当該ロボットの周辺の状況に関する入力データが前記学習済モデルに入力された場合に、それに応じて推定される人間の操作又はロボットの動作に関する出力データを前記学習済モデルから得ることにより、前記作業を行わせるためのロボットの制御データを得る制御データ取得工程と、前記学習済モデルが出力する前記出力データが、前記一連の作業のうちどの進捗度合いに相当するかを示す進行度を取得する進行度取得工程と、前記入力データの入力に応じて前記学習済モデルが前記出力データを出力する場合の、前記推定の確からしさを取得する確信度取得工程と、を含む。
これにより、得られた進行度及び確信度に基づいて、ユーザが、学習済モデルが入力に対して行う出力の根拠をある程度推し量ることができる。従って、学習済モデルが従来有していたブラックボックス性を緩和でき、ユーザは納得感を持って学習済モデルをロボット制御に用いることができる。また、得られた進行度及び確信度を手掛かりとして、学習についての検討をユーザがより的確に行うことができる。
本発明によれば、学習済モデルの予測に基づくロボットの動作についてユーザの納得感が得られ易いロボット制御装置等を提供することができる。
次に、図面を参照して本発明の実施の形態を説明する。図1は、本発明の一実施形態に係るロボットシステム1の電気的構成を示すブロック図である。
ロボットシステム1は、ロボット10を用いて作業を行うシステムである。ロボット10に行わせる作業としては様々であるが、例えば、組立て、加工、塗装、洗浄等がある。
詳細は後述するが、ロボット10は、データを機械学習することで構築されたモデル(学習済モデル43)を用いて制御される。そのため、ロボットシステム1は、基本的にはユーザの補助を必要とせず、作業を自律的に行うことができる。また、ロボット10は、自律的に作業を行うだけでなく、ユーザの操作に応じて作業を行うこともできる。以下の説明では、ロボット10が作業を自律的に行うことを「自律運転」と呼び、ユーザの操作に応じてロボット10が作業を行うことを「手動運転」と呼ぶことがある。
図1に示すように、ロボットシステム1は、ロボット10と、ロボット制御装置15と、を備える。ロボット10とロボット制御装置15は有線又は無線により互いに接続されており、信号のやり取りを行うことができる。
ロボット10は、台座に取り付けられたアーム部を備える。アーム部は、複数の関節を有しており、各関節にはアクチュエータが備えられている。ロボット10は、外部から入力された動作指令に応じてアクチュエータを動作させることでアーム部を動作させる。
アーム部の先端には、作業内容に応じて選択されたエンドエフェクタが取り付けられている。ロボット10は、外部から入力された動作指令に応じてエンドエフェクタを動作させることができる。
ロボット10には、ロボット10の動作及び周囲環境等を検出するためのセンサが取り付けられている。本実施形態では、動作センサ11と、力センサ12と、カメラ13と、がロボット10に取り付けられている。
動作センサ11は、ロボット10のアーム部の関節毎に設けられており、各関節の回転角度又は角速度を検出する。力センサ12は、ロボット10の動作時に、ロボット10が受けた力を検出する。力センサ12はエンドエフェクタに掛かる力を検出する構成であってもよいし、アーム部の各関節に掛かる力を検出する構成であってもよい。また、力センサ12は、力に代えて又は加えてモーメントを検出する構成であってもよい。カメラ13は、作業対象であるワークの映像(ワークに対する作業の進行状況)を検出する。
動作センサ11が検出するデータは、ロボット10の動作を示す動作データである。力センサ12及びカメラ13が検出するデータは、ロボット10の周囲の環境を示す周囲環境データである。動作データと周囲環境データを総合したデータを、以下の説明で状態データと呼ぶことがある。状態データは、ロボット10及びその周辺の状態を示すものである。
以下の説明では、ロボット10に設けられた動作センサ11、力センサ12、及びカメラ13をまとめて「状態検出センサ11〜13」と称することがある。また、状態検出センサ11〜13が検出したデータを、特に「センサ情報」と称することがある。状態検出センサ11〜13は、ロボット10に取り付ける代わりに、ロボット10の周囲に設けてもよい。
ロボット制御装置15は、ユーザインタフェース部20と、動作切替部(制御データ取得部)30と、AI部40と、AIパラメータ取得部50と、進行度監視部56と、確信度監視部57と、ログ特定情報生成部58と、動作ログ生成部60と、動作ログ記憶部70と、を備える。
具体的には、ロボット制御装置15は、CPU、ROM、RAM、及びHDDを備えるコンピュータである。コンピュータは、ユーザが操作するためのマウス等の装置を備える。コンピュータはGPUを備えると、後述のニューラルネットワークによる学習を短時間で行うことができ、好ましい。HDDには、ロボット制御装置15を動作させるためのプログラムが記憶される。上記のハードウェアとソフトウェアとの協働により、ロボット制御装置15を、ユーザインタフェース部20、動作切替部30、AI部40、AIパラメータ取得部50、進行度監視部56、確信度監視部57、ログ特定情報生成部58、動作ログ生成部60、及び動作ログ記憶部70として機能させることができる。
ロボット制御装置15は、1つのコンピュータによって実現されても良いし、互いに通信しながら連携して動作する複数のコンピュータによって実現されても良い。
ユーザインタフェース部20は、ロボット制御装置15のユーザインタフェース機能を実現するものである。ユーザインタフェース部20は、操作部21と、表示部22と、評価値設定部23と、を備える。
操作部21は、ロボット10を手動で操作するために用いる装置である。操作部21は、例えばレバー、ペダル等を備える構成とすることができる。
図示しないが、操作部21は、その操作位置を検出するセンサを備える。更に、操作部21は、公知の操作力検出センサを備える。操作力検出センサは、ユーザが操作部21に加えた力(操作力)を検出する。
操作部21が様々な方向に動かすことができるように構成されている場合、操作力は力の向き及び大きさを含む値、例えばベクトルであってもよい。また、操作力は、ユーザが加えた力(N)だけでなく、力に連動する値である加速度(即ち、ユーザが加えた力を操作部21の質量で除算した値)の形で検出されてもよい。
以下の説明では、ユーザが操作部21に加えた操作力を、特に「ユーザ操作力」と称することがある。ユーザが操作部21を操作することで出力されたユーザ操作力は、後述するように動作切替部30で動作指令に変換される。
表示部22は、ユーザの指示に応じて、様々な情報を表示することができる。表示部22は、例えば液晶ディスプレイとすることができる。表示部22は、操作部21の近傍に配置されている。操作部21がロボット10から離れて配置されている場合、表示部22に、ロボット10及びその周辺の映像を表示させても良い。
評価値設定部23は、動作ログ記憶部70から読み出した動作ログに記述されているロボット10の動作に対して、ユーザが付けた評価を設定することができる。動作ログ等については後述する。
動作切替部30には、ロボット10、操作部21、及びAI部40が接続されている。動作切替部30には、操作部21が出力したユーザ操作力と、AI部40が出力した後述の推定操作力と、が入力される。
動作切替部30は、ロボット10を動作させるための動作指令を、ロボット10及びAI部40へ出力する。動作切替部30は、切替部31と、変換部32と、を備える。
切替部31は、入力されたユーザ操作力及び推定操作力のうち一方を変換部32へ出力するように構成されている。切替部31は、ユーザ操作力及び選択操作力のうち何れを変換するかを示す選択信号に基づいて、ユーザ操作力又は推定操作力を変換部32へ出力するように構成されている。これにより、ユーザがロボット10を動作させる状態(手動運転)と、ロボットシステム1がロボット10に自律的に作業を行わせる状態(自律運転)と、を切り替えることができる。手動運転の場合、ロボット10は、操作部21が出力したユーザ操作力に基づいて動作する。自律運転の場合、ロボット10は、AI部40が出力した推定操作力に基づいて動作する。
ユーザ操作力及び推定操作力のうち何れに基づいてロボット10を動作させるかの選択は、操作部21の操作を検出する上述のセンサの検出値に基づいて、ユーザが操作部21を操作しているかに応じて自動的に行われても良い。即ち、ユーザが操作部21を実質的に操作しているときは、切替部31がユーザ操作力を変換部32に出力し、そうでないときは、切替部31は推定操作力を変換部32に出力する。
変換部32は、切替部31から入力されたユーザ操作力又は推定操作力の何れかを、ロボット10を動作させるための動作指令に変換して、ロボット10及びAI部40に出力する。動作指令は、ロボット10を制御するための制御データと言い換えることもできる。
AI部40は、ロボット10の自律動作により一連の作業を行わせるために構築された学習済モデル43を備える。モデルの形式は任意であるが、本実施形態では、ニューラルネットワークを用いたモデルが使われている。学習済モデル43の構築(特に、最初の構築)は、ロボット制御装置15において行われても良いし、他のコンピュータで行われても良い。
AI部40は、上記の学習済モデル43のほか、データ入力部41と、推定データ出力部42と、を備える。
データ入力部41は、AI部40の入力側のインタフェースとして機能する。データ入力部41には、状態検出センサ11〜13から出力されるセンサ情報が入力される。
推定データ出力部42は、AI部40の出力側のインタフェースとして機能する。推定データ出力部42は、AI部40が機械学習により構築したモデルに基づくデータを出力することができる。
本実施形態では、AI部40は、ユーザが操作部21によって行うロボット10の操作を学習して、学習済モデル43を構築する。具体的には、AI部40には、状態検出センサ11〜13から入力されるセンサ情報と、そのときにユーザが操作部21に加えた操作力と、が入力される。
AI部40で用いられる学習済モデル43の形式は任意であるが、本実施形態の学習済モデル43は、入力層と、隠れ層と、出力層と、を有する一般的な構成のニューラルネットワークである。それぞれの層には、脳細胞を模擬した複数のユニットが配置されている。入力層と出力層との間には隠れ層が配置され、この隠れ層は適宜の数の中間ユニットによって構成される。情報は、入力層、隠れ層、出力層の順に流れる。隠れ層の数は適宜定められる。
このモデルにおいて、入力層に入力されるデータ(入力データ)は、上述のセンサ情報である。上述のとおり、センサ情報は、ロボット10及びその周辺の状態を示すデータである。出力層が出力するデータ(出力データ)は、ユーザ操作力を推定した操作力である。この操作力は、推定した人間の操作を示すデータであるということができる。
各入力ユニットと各中間ユニットとは、情報が流れる経路によって結合され、各中間ユニットと各出力ユニットとは、情報が流れる経路によって結合される。それぞれの経路において、上流側のユニットの情報が下流側のユニットの情報に与える影響(重み)が設定されている。
学習フェーズにおいて、AI部40は、モデルにセンサ情報を入力し、当該モデルから出力された操作力が、ユーザ操作力と比較される(教師あり学習)。AI部40は、こうして求められる誤差が小さくなるように、公知のアルゴリズムである誤差逆伝播法によって上記の重みを更新する。以上の処理を継続的に行うことにより、学習を実現することができる。
学習済モデル43が構築された後の推定フェーズにおいて、AI部40は、学習済モデル43にセンサ情報を入力し、当該学習済モデル43から出力された操作力を、推定操作力として動作切替部30に出力する。
切替部31が、AI部40が出力した推定操作力を変換部32に出力する場合、動作切替部30は、当該推定操作力に基づいて制御データを生成することになる。従って、動作切替部30は、ロボット10に作業を行わせるための制御データをAI部40の出力に基づいて取得する制御データ取得部として機能する。
ユーザは、例えば、部材の開口部にワークを挿入する一連の作業をロボット10に実行させるために用いる学習済モデル43を、AI部40に構築させることができる。
具体的には、ユーザが操作部21を操作して、例えば下記に示すようにロボット10を動作させる。即ち、図2に示す動作Aでは、ロボット10にワークを保持させた状態で、部材の上方にワークを位置させ、当該ワークを部材の面に接近させる。動作Bでは、そのままワークを移動させ、当該部材の面にワークを接触させる。動作Cでは、開口部の位置に向けてワークを移動させる。なお、ワークの移動時に、ワークが部材の面に接触した状態を維持する。動作Dでは、開口部の内壁にワークの端部を接触させる。動作Eでは、開口部にワークを挿入させる。
このように、動作Aから動作Eの順に従ってロボット10が動作するように、ユーザがロボット10を操作する。この過程でのセンサ情報とユーザ操作力の関係を学習させることにより、AI部40は、動作Aから動作Eの順に従ってロボット10を自律動作させることが可能な学習済モデル43を構築することができる。
AIパラメータ取得部50は、AI部40の学習済モデル43が推定操作力を出力するときの各種のパラメータを、AI部40に要求することで取得することができる。これらのパラメータは、ロボット10の自律作業に関連して人間が意味付けできるパラメータである。学習済モデル43が入力から出力を推定する根拠は説明が付かないことが多いので、当該パラメータは、学習済モデル43によるロボット10の動作をユーザが理解し納得する手掛かりとなる点で重要である。
AIパラメータ取得部50は、上記のパラメータとして、進行度、確信度及び健全度を取得する。これに対応して、AIパラメータ取得部50は、進行度取得部51と、確信度取得部52と、健全度取得部53と、を備える。
進行度取得部51は、進行度を取得する。進行度は、学習済モデル43の出力に基づいてロボット10が行う動作が、一連の作業のうちでどの進捗度合いに相当するかについて評価するために用いるパラメータである。本実施形態では、進行度は0から100までの範囲の値をとり、100に近い程、一連の作業が進行していることを示す。
図3を参照して、進行度の算出について説明する。本実施形態では、図3に示すように、進行度は、時系列的に取得することができるロボット10の状態をクラスタリングして得られるクラスタと、ロボット10の動作履歴と、を考慮して算出される。
上記したロボット10の状態は、状態検出センサ11〜13からのセンサ情報及び学習済モデル43の推定操作力を含んだ多次元のベクトル(特徴ベクトル)として表現することができる。特徴ベクトルは、ロボット10が一連の作業を行う過程で、様々に変化する。特徴ベクトルは、センサ情報及び推定操作力の当該時点での値だけでなく、センサ情報及び推定操作力の過去の履歴が含まれても良い。
以下の説明では、ロボット10及びその周辺の状態と、それに応じて学習済モデル43が推定した結果と、を総合したものを、ロボット10の局面と呼ぶことがある。前述の特徴ベクトルとして、ロボット10の局面を表すデータ(局面データ)が用いられる。局面データは、学習済モデル43の入力データと出力データの両方を総合したものに相当する。
クラスタリングとは、教師なし学習の一種であり、多数のデータから分布の法則を学習して、互いに特徴が似ているデータのまとまりである複数のクラスタを取得する手法である。クラスタリングの方法としては、公知の非階層クラスタリング手法を適宜用いることができる。
ロボット10の局面は、上述した動作(動作A〜動作E)ごとに特徴がある。例えば、動作Aでの状態の特徴(つまり、動作A時に取得する局面データ)は、動作Bでの状態の特徴とは異なる。従って、上述の特徴ベクトルを対象として適宜のクラスタリングを行うことにより、ロボット10の局面を動作ごとに分類することができる。
AI部40は、上記のクラスタリング結果を用いて、現在のロボット10の局面に対応する進行度を算出する。図3に示すように、進行度の値は、各クラスタが示す動作の順番に従って段階的かつ累積的に増加するように、予め定められる。ロボット10の一連の作業は特徴ベクトルを時系列順に並べたものとして表現することができるので、この時系列順の情報を用いて、各クラスタの時系列順を求めることができる。
AI部40は、現時点のロボット10の局面を示す特徴ベクトルがどのクラスタに属するかを計算により求め、当該クラスタに対応する進行度を、AIパラメータ取得部50の要求に応じて出力する。特徴ベクトルがどのクラスタに属するかを特定するには、例えば、各クラスタの重心位置と特徴ベクトルとの距離を求め、距離が最短となる重心を有するクラスタを求めれば良い。
図4に示すように、ロボット10の作業が進んでいる場合(つまり、ロボット10の局面が適切に遷移している場合)、時間の経過に伴って進行度の値が増加する。しかしながら、ロボット10の作業が進まない場合(例えば、特定の局面への遷移を繰り返す場合)、時間が経過しても進行度の値が増加しない。そのため、ユーザは、進行度の変化を見ることで、ロボット10による自律作業が進んでいるかどうかについて、容易に把握することができる。その結果、ロボット10の動作の停滞を容易に発見できるので、当該動作の修正等の適切な対応を行うことができる。
確信度取得部52は、確信度を取得する。確信度は、ロボット10の動作が確からしいかどうか(言い換えれば、学習済モデル43が推定する出力が確からしいかどうか)について評価するために用いるパラメータである。
AI部40の学習済モデル43は、ロボット10及びその周辺の状態と、その時に行われたユーザの操作によるユーザ操作力と、の対応関係を予め学習している。言い換えれば、学習済モデル43は、既知の多数の状態から獲得した法則に基づいて動作する。機械学習モデルが本来有する汎化能力により、未知の状況に対しても、学習済モデル43が適切な推定操作力を出力することが期待される。しかし、人間が今までの過去の経験から予測が難しいような全く新規の状況におかれたときに、確信をもって行動しにくいのと同様に、学習済モデル43の立場に立てば、今までに学習した既知の状態から遠い状態である程、推定結果に対する確信を持ちにくいということができる。確信度は、この意味で、推定の確からしさを示すものである。
本実施形態において、AI部40には、ロボット10の局面を判別するための確率的判別器が、機械学習により構築されている。この確率的判別器は、上述のクラスタリングによって分類されたクラスタの数に応じて、複数備えられている。
例えば、動作Aのクラスタの確率的判別器においては、クラスタリングによって動作Aのクラスタに分類された特徴ベクトルが入力されたときは、100に近い値を出力し、他の動作のクラスタに分類された特徴ベクトルが入力されたときは、0に近い値を出力するように、機械学習が行われる。従って、学習が完了した確率的判別器に、現在のロボット10の局面を示す特徴ベクトルを入力すると、確率的判別器は、当該局面が動作Aらしいかどうかを示す値を出力する。この値は、現在のロボット10の局面が動作Aである確率(推定確率)を実質的に示しているということができる。他のクラスタ(他の動作B〜E)の確率的判別器においても、上記と同様に学習が行われる。
複数の確率的判別器のそれぞれに特徴ベクトルを入力することにより、現在の状況が動作A〜Eのうちどの動作に対応すると推定されるか、また、当該推定が確からしいか否かを、確率的判別器に基づいて得ることができる。
本実施形態においては図5に示すように、確信度として、複数の確率的判別器が出力する推定確率のうち最大の値が用いられている。既知のロボット10の局面(言い換えれば、クラスタリングによって動作A〜Eの何れかに分類されている局面)に対して現在の局面が似ている場合は、確信度の値が大きくなる。その一方で、既知のロボット10の局面に対して現在の局面が似ていない場合は、確信度の値が小さくなる。
図6に示すように、ユーザは、例えば一連の作業時における確信度の値を見ることで、ロボット10の動作が確からしいかどうかについて評価することができる。即ち、学習済モデル43が覚えていない動きをする場合、確信度の値が低下する。従って、ユーザは、一連の作業において、学習が不十分である動作が含まれていることを把握することができる。確信度が小さい動作を、ロボット制御装置15が自動的に検出しても良い。その一方で、学習済モデル43が覚えている動きをする場合、確信度の値が上昇する。従って、ユーザは、ある局面でのロボット10の動作が、既知の動作に一致していることを知ることもできる。
また、ユーザは、確信度の値を用いて、ロボット10の動作が既知のある状態(例えば、動作A〜Eの何れか)に到達していることを確認することもできる。
健全度取得部53は、健全度を取得する。健全度は、学習済モデル43が認識する状態がユーザにとって好ましい度合いを示すパラメータである。本実施形態では、健全度は0から100までの範囲の値をとり、100に近い程、当該局面がユーザにとって好ましいことを示す。
健全度は、学習済モデル43において動作が分岐し、各動作への遷移のし易さが確率又は重みで表される場合に、その確率又は重みに人為的な影響を与えるためのパラメータである。
図7に示すように、学習済モデル43は状態遷移(言い換えれば、動作から動作への遷移)を表現可能である。そして、動作の遷移が発生し得る分岐部分において、各動作への遷移の行われ易さが、重みにより実質的に表されている。図7の例で説明すると、動作Bから動作Xへの遷移に関する重みが0.42であり、動作Bから動作Cへの遷移に関する重みが0.57である。この例では、動作A,B,X,Yよりも、動作A,B,C,Dが、動作の遷移として行われ易いことになる。
健全度は、ロボット10の各動作に割り当てられる。そして、後で詳しく説明するように、ユーザは、健全度の値を媒介して、ロボット10の動作の遷移(つまり、上記した確率又は重み)を調整した学習済モデル43を構築することができる。図7に示すように、初期状態では、全ての動作に関する健全度の値が100となっている。そして、ユーザは、好ましくない動作に関する健全度の値を低下させることによって、ロボット10の動作の遷移を調整した学習済モデル43を構築することができる。
図1の進行度監視部56は、前述の進行度取得部51が取得する進行度を監視する。進行度監視部56は、図4に示すように、所定時間進行度が変化しない状況を検知し、ロボット10の動作の停滞を検出することができる。
ロボット10の動作の停滞を進行度監視部56が検出した場合、ロボット制御装置15は、ロボット10の制御を中止し、ロボット10による作業を停止させる処理を行っても良い。この場合、進行度監視部56の監視結果に基づくタイムアウト機能(作業の継続をあきらめる機能)を実現することができる。
ロボット10の動作の停滞を進行度監視部56が検出した場合、ロボット制御装置15は、設定が変更された作業が途中から適用されるようにロボット10を制御しても良い。これにより、進行度監視部56の監視結果に基づくリトライ機能を実現することができる。
確信度監視部57は、確信度取得部52が取得する確信度を監視する。確信度監視部57は、確信度の値を常時監視して、図6に示すように、確信度の値が所定値に達しない動作を検出することができる。従って、確信度監視部57は、学習が不十分である動作(言い換えれば、追加学習の必要性が高い局面)を検出することができる。ユーザは、確信度監視部57の監視結果に基づいて、追加学習を行うにあたり当該追加学習を開始すべきポイントを容易に把握することができる。
ログ特定情報生成部(入力データ特定情報生成部)58は、確信度が所定値以下となっているときに学習済モデル43に入力されたデータを示す情報を生成する。これにより、ユーザは、どのような局面において学習が不十分なのかを簡単に把握することができる。この情報は、例えば、後述のログIDとすることができる。
動作ログ生成部60は、動作ログを生成する。動作ログは、ロボット10を自律的に動作させた際の各種情報を記述したものである。動作ログには、例えば、上述のセンサ情報、推定操作力、動作指令等を含めることができる。動作ログには、多様な情報が、ロボット10の局面毎に記述される。図示しないが、動作ログに記述されるそれぞれの局面には、当該局面を一意に特定可能な識別情報(ログID)が付与される。
動作ログには、AIパラメータ取得部50が出力する進行度、確信度、及び健全度のうち少なくとも何れかに関する情報が含まれても良い。この場合、ユーザは、動作ログに含まれる進行度等に基づいて、ロボット10の動作について評価することができる。例えば、ユーザは、進行度の観点から、ロボット10の作業軌跡を容易に理解することができる。また、ユーザは、確信度の観点から、特定の動作との類似性を容易に理解することができる。
動作ログ記憶部70は、動作ログ生成部60が生成した動作ログを記憶する。記憶された動作ログは、ユーザがユーザインタフェース部20を適宜操作することにより、表示部22に表示させることができる。
本実施形態では、AI部40は、ユーザの評価を考慮した上で学習済モデル43を再構築することができる。以下、図7等を参照して、学習済モデルの再構築について説明する。
学習済モデル43の出力に基づいてロボット10が自律動作することにより、動作ログが得られる。その後、ユーザは、図7に示すように、ユーザの観点でロボット10の動作の良否を評価した結果である評価値を、動作ログに部分的に設定することができる。この設定は、ユーザインタフェース部20が備える評価値設定部23を利用して行うことができる。
図7には、動作ログに評価値が設定された例が示されている。なお、図7には、動作ログの内容が極めて簡略的に表現されている。ユーザは、良いと評価した部分についてOKを選択し、悪いと評価した部分についてNGを選択する。動作ログに健全度の値が含まれていると、ユーザは、当該健全度の値を参考にしてOK又はNGを選択できるので、好ましい。
評価値を選択した後、ユーザは、所定の操作を行うことにより、学習済モデル43の再構築を指示する。AI部40は、先ず、評価値としてNGが付けられた動作に関する健全度の値を低下させる。一方、評価値としてOKが付けられた動作に関しては、健全度の値が維持される。その後、学習済モデル43が再構築される。再構築された学習済モデル43では、図8に示すように、健全度が高い動作へ遷移する確率が上昇し、健全度が低い動作へ遷移する確率が低下するように、動作への遷移の行われ易さを示す上記の重みが調整されている。従って、ユーザにとって望ましい遷移が優先的に選択され易くなる。この結果、カスタマイズ性が向上し、ユーザにとって納得感が高い学習済モデル43を得ることができる。
次に、進行度及び確信度に関する他の活用例について説明する。
本実施形態のロボット制御装置15は、1つの学習済モデル43により実現される一連の動作から、一部の動作を実質的に分離して扱うことができる。
最初に、一連の動作の途中から自律動作を開始する場合について、図9を参照して説明する。ユーザは、学習済モデル43(図9では、学習済モデルXと表記している)が自律動作を開始する条件を、進行度の形で予め設定する。図9には、自律動作を開始する進行度の条件として20が設定された例が示されている。
その後、ユーザは、操作部21を操作して、動作M1、M2、・・・の順にロボット10を動作させる。なお、動作M1,M2,・・・は、手動運転における動作過程を意味する。このとき、AIパラメータ取得部50は、ロボット10の各局面(ただし、推定操作力の代わりにユーザ操作力が用いられる)に対応する進行度及び確信度を、AI部40に要求する。
動作M1の局面では、得られた進行度が20であり、自律動作を開始する進行度の条件を満たしている。即ち、動作M1の局面が、学習済モデルXの動作B(進行度が20となる動作)の局面と多少似ていると判断されていることを意味する。ただし、確信度が40と低い。従って、この段階では、AI部40の自律操作は開始されない。
次の動作M2の局面では、得られた進行度が20であり、自律動作を開始する進行度の条件を満たしている。また、確信度が80と高く、確からしさも良好である。このように、AI部40は、進行度が条件を満たし、かつ、確信度が所定以上である場合にのみ、当該進行度に対応する動作Bから、学習済モデル43に基づく出力を開始する。これに連動して、動作切替部30は、ユーザ操作力に基づく制御から、推定操作力に基づく制御に切り換える。その後は、ロボット10の自律動作により、動作C、D、Eが順に実現される。
このように、動作A〜Eの一連の作業を行うように学習した学習済モデル43から、動作B〜Eだけを実質的に取り出して、一連の作業の途中から制御を行うことができる。
次に、一連の動作の途中で自律動作を終了する場合について、図10を参照して説明する。ユーザは、学習済モデルXが自律動作を終了する条件を、進行度の形で予め設定する。図10には、自律動作を開始する進行度の条件として60が設定された例が示されている。
AI部40は、動作A、動作B、・・・の順にロボット10を自律動作させる。この過程で、AIパラメータ取得部50は、ロボット10の各局面に対応する進行度及び確信度を、AI部40に要求する。
動作Dの局面では、得られた進行度が60であり、自律動作を終了する進行度の条件を満たしている。また、確信度が85と高く、確からしさも良好である。このように、AI部40は、進行度が条件を満たし、かつ、確信度が所定以上である場合にのみ、当該進行度に対応する動作Dまでで、学習済モデル43に基づく出力を終了する。従って、動作Eは行われない。
このように、動作A〜Eの一連の作業を行うように学習した学習済モデル43から、動作A〜Dだけを実質的に取り出して、一連の作業の途中まで制御を行うことができる。
次に、2つの異なる学習済モデル43に基づく自律動作を結合する場合について、図11を参照して説明する。
図11の例において、ロボット制御装置15では、異なる2つの学習済モデル43が構築されている。以下の説明では、一方の学習済モデル43を学習済モデルXと呼び、他方の学習済モデル43を学習済モデルYと呼ぶことがある。学習済モデルXは、動作O〜Qの一連の作業を予め学習している。学習済モデルYは、動作S〜の一連の作業を予め学習している。
2つの学習済モデル43の自律動作を結合するにあたって、ロボット制御装置15は、学習済モデルXに基づく自律動作の終了と、学習済モデルYに基づく自律動作の開始と、を検証する。進行度及び確信度は、この検証のために用いられる。
図11の例では、学習済モデルXに関し、自律動作を終了させる進行度の条件として、100が設定されている。また、学習済モデルYに関し、自律動作を開始させる進行度の条件として、0が設定されている。
AI部40は、学習済モデルXの出力に基づいて、動作O、動作P、・・・の順にロボット10を自律動作させる。この過程で、AIパラメータ取得部50は、それぞれの学習済モデルX,Yについて、ロボット10の各局面に対応する進行度及び確信度を、AI部40に要求する。
動作Qの局面では、学習済モデルXに関して、得られた進行度が100であり、自律動作を終了する進行度の条件を満たしている。また、確信度が85と高く、確からしさも良好である。更に、動作Qの局面について、学習済モデルYに関する進行度は0であり、自律動作を開始する進行度の条件を満たしている。また、確信度が80と高く、確からしさも良好である。
このように、両方の学習済モデルX,Yに関する確信度が所定位置以上であることを条件として、自律動作のために推定操作力が用いられる学習済モデル43が切り換えられる。AI部40は、動作Qのタイミングで、学習済モデルXから学習済モデルYへ自律動作を引き継ぐように切り換える。この結果、動作O、動作P、動作Q(≒動作S)、動作T、動作U、・・・のような一連の動作が実現される。
このように、ロボット制御装置15は、進行度及び確信度の値を利用して、2つの異なるモデル間で動作の受け渡しを行うことができ、ロボット10に一連の作業(連結作業)を実行させることができる。
以上に説明したように、本実施形態のロボット制御装置15は、学習済モデル43と、動作切替部30と、進行度取得部51と、確信度取得部52と、を備える。学習済モデル43は、人間がロボット10を操作して一連の作業を行わせる場合の、当該ロボット10及びその周辺の状況を入力データとし、それに応じた人間の操作又は当該操作による当該ロボット10の動作を出力データとする作業データを学習することにより構築されている。動作切替部30は、ロボット10及び当該ロボット10の周辺の状況に関する入力データが学習済モデル43に入力された場合に、それに応じて推定される人間の操作に関する出力データを学習済モデル43から得ることにより、前記作業を行わせるためのロボット10の制御データを得る。進行度取得部51は、学習済モデル43が出力する前記出力データが、前記一連の作業のうちどの進捗度合いに相当するかを示す進行度を取得する。確信度取得部52は、前記入力データの入力に応じて学習済モデル43が前記出力データを出力する場合の、前記推定の確からしさを示す確信度を取得する。
また、本実施形態では、以下の制御データ取得工程と、進行度取得工程と、確信度取得工程と、を含むロボット制御方法によって、ロボットの制御が行われている。制御データ取得工程では、ロボット10及び当該ロボット10の周辺の状況に関する入力データが学習済モデル43に入力された場合に、それに応じて推定される人間の操作に関する出力データを学習済モデル43から得ることにより、前記作業を行わせるためのロボットの制御データを得る。進行度取得工程では、学習済モデル43が出力する前記出力データが、前記一連の作業のうちどの進捗度合いに相当するかを示す進行度を取得する。確信度取得工程では、前記入力データの入力に応じて学習済モデル43が前記出力データを出力する場合の、前記推定の確からしさを示す確信度を取得する。
これにより、得られた進行度及び確信度に基づいて、ユーザが、学習済モデル43が入力に対して行う出力の根拠をある程度推し量ることができる。従って、学習済モデル43が従来有していたブラックボックス性を緩和でき、ユーザは納得感を持って学習済モデル43をロボット制御に用いることができる。また、得られた進行度及び確信度を手掛かりとして、学習についての検討をユーザがより的確に行うことができる。例えば、ユーザは、得られた進行度及び確信度に基づいて、学習済モデル43の学習内容に対してどのような修正を行うべきかについて、容易に把握することができる。
また、本実施形態のロボット制御装置15は、進行度取得部51が取得する進行度を監視する進行度監視部56を備える。
これにより、ロボット10の作業が良好に進行しているか否かを、ロボット制御装置15が容易に判断することができる。
また、本実施形態のロボット制御装置15は、進行度監視部56の監視の結果、進行度が所定値以上にならない状態が所定時間以上継続した場合には、前記作業の途中でロボット10の制御を中止する。
これにより、動作の無駄を防止できる。
また、本実施形態のロボット制御装置15は、進行度監視部56の監視の結果、進行度が所定値以上にならない状態が所定時間以上継続した場合には、設定が変更された作業が途中から適用されるようにロボット10を制御する。
これにより、動作の無駄を防止できるとともに、作業を自動的に再開することができる。
また、本実施形態のロボット制御装置15において、進行度は、時系列的に取得されるロボット10及び当該ロボット10の周辺の状態を含むデータである局面データをクラスタリングした結果に基づいて求められる。
これにより、一連の作業の過程においてロボット10及び当該ロボット10の周辺の状態が次々に変化するが、それぞれの状態が有する特徴を考慮して、進行度を求めることができる。この結果、進捗度合いを良好に表した進捗度を取得することができる。
また、本実施形態のロボット制御装置15は、確信度取得部52が取得する確信度を監視する確信度監視部57を備える。
これにより、既存の学習では想定しにくい状況が発生しているか否かを、ロボット制御装置15が容易に判断することができる。
また、本実施形態のロボット制御装置15は、確信度が所定値以下となっているときに学習済モデル43に入力された前記入力データを示す情報を生成する。
これにより、例えば、追加学習に必要な情報等を簡単に準備することができる。
また、本実施形態のロボット制御装置15は、学習済モデル43が出力する前記出力データに基づくロボット10の制御を、前記一連の作業の途中に相当し、かつ、確信度が所定値以上である状態から開始可能である。
これにより、学習済モデル43に学習させた作業の一部だけを行わせることができるので、学習済モデル43の活用範囲を広げることができる。また、確信度が大きい状況でだけ、学習済モデル43の出力の利用の有無が切り換わるので、ユーザが想定しないロボット10の動作が行われにくい。
また、本実施形態のロボット制御装置15は、学習済モデル43が出力する前記出力データに基づくロボット10の制御を、前記一連の作業の途中に相当し、かつ、確信度が所定値以上である状態で終了可能である。
これにより、学習済モデル43に学習させた作業の一部だけを行わせることができるので、学習済モデル43の活用範囲を広げることができる。また、確信度が大きい状況でだけ、学習済モデル43の出力の利用の有無が切り換わるので、ユーザが想定しないロボット10の動作が行われにくい。
また、本実施形態のロボット制御装置15は、互いに異なる一連の作業に対応して構築された複数の学習済モデル43が出力する前記出力データに基づいて、前記作業を行わせるためのロボット10の制御データを得ることが可能である。ロボット制御装置15は、複数の学習済モデル43がそれぞれ出力する前記出力データに基づくロボット10の制御を、確信度が所定値以上である状態を境として続けて行うことにより、一連の作業同士が時系列的に連結した連結作業を行わせるようにロボット10を制御可能である。
これにより、ロボット10の複雑な動作を実現し易くなる。また、確信度が大きい状況でだけ、利用される学習済モデル43の出力が切り換わるので、ユーザが想定しないロボット10の動作が行われにくい。
また、本実施形態のロボット制御装置15は、学習済モデル43に入力される、ロボット10及び当該ロボット10の周辺の状況に関するデータと、学習済モデル43の出力に基づくロボット10の動作に関するデータと、進行度及び確信度のうち少なくとも一方と、を対応付けて、例えば動作ログとして出力可能である。
これにより、ロボット10の動作の検討及び評価等のために有用な情報を提供することができる。
また、本実施形態のロボット制御装置15において、学習済モデル43は、状態遷移を表現可能であるとともに、それぞれの状態に対応する動作を出力可能である。ロボット制御装置15は、学習済モデル43が認識する状態がユーザにとって好ましい度合いを示す健全度を取得する健全度取得部53を備える。
これにより、ユーザは、学習済モデル43が入力に対して行う出力の根拠を推し量るために有用な情報を更に得ることができる。
また、本実施形態のロボット制御装置15は、学習済モデル43に入力される前記入力データと、学習済モデル43が出力する前記出力データに基づくロボット10の動作に関するデータと、を含む動作ログを出力可能である。前記動作ログに記述されたロボット10の動作に対しては、前記一連の作業のうち一部に相当する動作ごとにユーザが評価を付与可能である。ロボット制御装置15は、ユーザの前記評価に基づいて、学習済モデル43における前記状態に対応する健全度を調整する。
これにより、ユーザがロボット10の動作を部分的に評価することで、好ましい動作が行われ易くなるように制御を調整することができる。従って、学習済モデル43を用いるにもかかわらず、ロボット制御の納得感が更に得られ易くなる。
また、本実施形態のロボット制御装置15は、ユーザの前記評価に基づいて前記状態に対応する健全度を調整した後、健全度が高い前記状態が現れるように、学習済モデル43のパラメータの調整及び強化学習のうち少なくとも何れかを行う。
これにより、ユーザが望むロボット10の制御を容易に実現できる。
また、本実施形態のロボット制御装置15であって、前記動作ログには、健全度取得部53が取得した健全度が含まれる。
これにより、ユーザは、ロボット10の動作を部分的に評価する際に、健全度を参考にすることができる。従って、評価を的確に行うことができるので、ユーザが望むロボット10の制御を効率的に実現できる。
また、本実施形態のロボット制御装置15は、学習済モデル43に入力される前記入力データと、学習済モデル43が出力する前記出力データに基づくロボット10の動作に関するデータと、健全度と、を対応付けて出力可能である。
これにより、ロボット10の動作の検討及び評価等のために有用な情報を提供することができる。
また、本実施形態において、ロボットシステム1は、ロボット制御装置15と、ロボット10と、を備える。
これにより、ロボットの動作についてユーザの納得感が得られ易いロボットシステム1を実現することができる。
以上に本発明の好適な実施の形態を説明したが、上記の構成は例えば以下のように変更することができる。
進行度、確信度、及び健全度がとり得る範囲は任意であり、例えば0から1までとすることもできる。
学習済モデル43は、センサ情報と、ユーザ操作力と、の関係を学習するのに代えて、センサ情報と、ロボット10への動作指令と、の関係を学習するように構成しても良い。
上述の実施形態では、ロボット制御装置15は、ユーザが設定した評価値に基づいて健全度の値を調整し、学習済モデル43を再構築していた。しかしながら、ロボット制御装置15は、ユーザが設定した評価値を利用した強化学習により、学習済モデル43を再構築(言い換えれば、学習済モデル43を修正)しても良い。この場合、評価値は、強化学習を行う際の報酬として利用される。
ロボット10及び当該ロボット10の周辺の状態を取得するためのセンサ(状態センサ)として、動作センサ11、力センサ12及びカメラ13以外のセンサが用いられても良い。
操作部21が遠隔操作に用いるマスターアームであり、かつ、ロボット10がスレーブアームであるロボットシステム1であっても良い。この場合、AI部40は、ユーザによるマスターアームの操作に基づいて学習した学習済モデル43を構築することができる。
1 ロボットシステム
10 ロボット
11 動作センサ
12 力センサ
13 カメラ
15 ロボット制御装置
30 動作切替部(制御データ取得部)
43 学習済モデル
51 進行度取得部
52 確信度取得部
10 ロボット
11 動作センサ
12 力センサ
13 カメラ
15 ロボット制御装置
30 動作切替部(制御データ取得部)
43 学習済モデル
51 進行度取得部
52 確信度取得部
Claims (18)
- 人間がロボットを操作して一連の作業を行わせる場合の、当該ロボット及び当該ロボットの周辺の状態を入力データとし、それに応じた人間の操作又は当該操作による当該ロボットの動作を出力データとする作業データを学習することにより構築された学習済モデルと、
ロボット及び当該ロボットの周辺の状態に関する入力データが前記学習済モデルに入力された場合に、それに応じて推定される人間の操作又はロボットの動作に関する出力データを前記学習済モデルから得ることにより、前記作業を行わせるためのロボットの制御データを得る制御データ取得部と、
前記学習済モデルが出力する前記出力データが、前記一連の作業のうちどの進捗度合いに相当するかを示す進行度を取得する進行度取得部と、
前記入力データの入力に応じて前記学習済モデルが前記出力データを出力する場合の、前記推定の確からしさを示す確信度を取得する確信度取得部と、
を備えることを特徴とするロボット制御装置。 - 請求項1に記載のロボット制御装置であって、
前記進行度取得部が取得する進行度を監視する進行度監視部を備えることを特徴とするロボット制御装置。 - 請求項2に記載のロボット制御装置であって、
前記進行度監視部の監視の結果、前記進行度が所定値以上にならない状態が所定時間以上継続した場合には、前記作業の途中で前記ロボットの制御を中止することを特徴とするロボット制御装置。 - 請求項2又は3に記載のロボット制御装置であって、
前記進行度監視部の監視の結果、前記進行度が所定値以上にならない状態が所定時間以上継続した場合には、設定が変更された作業が途中から適用されるように前記ロボットを制御することを特徴とするロボット制御装置。 - 請求項1から4までの何れか一項に記載のロボット制御装置であって、
前記進行度は、時系列的に取得される前記ロボット及び当該ロボットの周辺の状態を含むデータをクラスタリングした結果に基づいて求められることを特徴とするロボット制御装置。 - 請求項1から5までの何れか一項に記載のロボット制御装置であって、
前記確信度取得部が取得する確信度を監視する確信度監視部を備えることを特徴とするロボット制御装置。 - 請求項6に記載のロボット制御装置であって、
前記確信度が所定値以下となっているときに前記学習済モデルに入力された前記入力データを示す情報を生成することを特徴とするロボット制御装置。 - 請求項1から7までの何れか一項に記載のロボット制御装置であって、
前記学習済モデルが出力する前記出力データに基づく前記ロボットの制御を、前記一連の作業の途中に相当し、かつ、前記確信度が所定値以上である状態から開始可能であることを特徴とするロボット制御装置。 - 請求項1から8までの何れか一項に記載のロボット制御装置であって、
前記学習済モデルが出力する前記出力データに基づく前記ロボットの制御を、前記一連の作業の途中に相当し、かつ、前記確信度が所定値以上である状態で終了可能であることを特徴とするロボット制御装置。 - 請求項1から9までの何れか一項に記載のロボット制御装置であって、
互いに異なる一連の作業に対応して構築された複数の前記学習済モデルが出力する前記出力データに基づいて、前記作業を行わせるためのロボットの制御データを得ることが可能であり、
複数の学習済モデルがそれぞれ出力する前記出力データに基づく前記ロボットの制御を、前記確信度が所定値以上である状態を境として続けて行うことにより、前記一連の作業同士が時系列的に連結した連結作業を行わせるように前記ロボットを制御可能であることを特徴とするロボット制御装置。 - 請求項1から10までの何れか一項に記載のロボット制御装置であって、
前記学習済モデルに入力される、ロボット及び当該ロボットの周辺の状態に関するデータと、
前記学習済モデルの出力に基づくロボットの動作に関するデータと、
前記進行度及び前記確信度のうち少なくとも一方と、
を対応付けて出力可能であることを特徴とするロボット制御装置。 - 請求項1から11までの何れか一項に記載のロボット制御装置であって、
前記学習済モデルは、状態遷移を表現可能であるとともに、それぞれの状態に対応する動作を出力可能であり、
前記学習済モデルが認識する状態がユーザにとって好ましい度合いを示す健全度を取得する健全度取得部を備えることを特徴とするロボット制御装置。 - 請求項12に記載のロボット制御装置であって、
前記学習済モデルに入力される前記入力データと、
前記学習済モデルが出力する前記出力データに基づくロボットの動作に関するデータと、
を含む動作ログを出力可能であり、
前記動作ログに記述された前記ロボットの動作に対しては、前記一連の作業のうち一部に相当する動作ごとにユーザが評価を付与可能であり、
ユーザの前記評価に基づいて、前記学習済モデルにおける前記状態に対応する健全度を調整することを特徴とするロボット制御装置。 - 請求項13に記載のロボット制御装置であって、
ユーザの前記評価に基づいて前記状態に対応する前記健全度を調整した後、前記健全度が高い前記状態が現れるように、前記学習済モデルのパラメータの調整及び強化学習のうち少なくとも何れかを行うことを特徴とするロボット制御装置。 - 請求項14に記載のロボット制御装置であって、
前記動作ログには、前記健全度取得部が取得した前記健全度が含まれることを特徴とするロボット制御装置。 - 請求項12から15までの何れか一項に記載のロボット制御装置であって、
前記学習済モデルに入力される前記入力データと、
前記学習済モデルが出力する前記出力データに基づくロボットの動作に関するデータと、
前記健全度と、
を対応付けて出力可能であることを特徴とするロボット制御装置。 - 請求項1から16までの何れか一項に記載のロボット制御装置と、
前記ロボットと、
を備えることを特徴とするロボットシステム。 - 人間がロボットを操作して一連の作業を行わせる場合の、当該ロボット及び当該ロボットの周辺の状態を入力データとし、それに応じた人間の操作又は当該操作による当該ロボットの動作を出力データとする作業データを学習することにより構築されたモデルを学習済モデルと呼ぶときに、
ロボット及び当該ロボットの周辺の状態に関する入力データが前記学習済モデルに入力された場合に、それに応じて推定される人間の操作又はロボットの動作に関する出力データを前記学習済モデルから得ることにより、前記作業を行わせるためのロボットの制御データを得る制御データ取得工程と、
前記学習済モデルが出力する前記出力データが、前記一連の作業のうちどの進捗度合いに相当するかを示す進行度を取得する進行度取得工程と、
前記入力データの入力に応じて前記学習済モデルが前記出力データを出力する場合の、前記推定の確からしさを取得する確信度取得工程と、
を含むことを特徴とするロボット制御方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018245459 | 2018-12-27 | ||
JP2018245459 | 2018-12-27 | ||
PCT/JP2019/051483 WO2020138436A1 (ja) | 2018-12-27 | 2019-12-27 | ロボット制御装置、ロボットシステム及びロボット制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2020138436A1 true JPWO2020138436A1 (ja) | 2021-11-11 |
JP7336463B2 JP7336463B2 (ja) | 2023-08-31 |
Family
ID=71129087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020562507A Active JP7336463B2 (ja) | 2018-12-27 | 2019-12-27 | ロボット制御装置、ロボットシステム及びロボット制御方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220016761A1 (ja) |
EP (1) | EP3904017A4 (ja) |
JP (1) | JP7336463B2 (ja) |
CN (2) | CN113195177B (ja) |
WO (1) | WO2020138436A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220105626A1 (en) * | 2020-10-05 | 2022-04-07 | Autodesk, Inc. | Techniques for force and torque-guided robotic assembly |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017200718A (ja) * | 2016-05-05 | 2017-11-09 | トヨタ自動車株式会社 | 認識的アフォーダンスに基づくロボットから人間への物体ハンドオーバの適合 |
JP2018012185A (ja) * | 2016-07-22 | 2018-01-25 | 川崎重工業株式会社 | ロボットの運転方法、コンピュータプログラム、及びロボットシステム |
WO2018225862A1 (ja) * | 2017-06-09 | 2018-12-13 | 川崎重工業株式会社 | 動作予測システム及び動作予測方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008015585A (ja) * | 2006-07-03 | 2008-01-24 | National Institute Of Information & Communication Technology | 生活タスク支援システム |
US8682482B2 (en) * | 2009-05-22 | 2014-03-25 | Toyota Motor East Japan, Inc. | Working support robot system |
CN103249368B (zh) * | 2010-11-11 | 2016-01-20 | 约翰霍普金斯大学 | 人机协作机器人*** |
US8452451B1 (en) * | 2011-05-06 | 2013-05-28 | Google Inc. | Methods and systems for robotic command language |
WO2014110682A1 (en) * | 2013-01-18 | 2014-07-24 | Robotiq Inc. | Force/torque sensor, apparatus and method for robot teaching and operation |
JP6522488B2 (ja) | 2015-07-31 | 2019-05-29 | ファナック株式会社 | ワークの取り出し動作を学習する機械学習装置、ロボットシステムおよび機械学習方法 |
JP6240689B2 (ja) * | 2015-07-31 | 2017-11-29 | ファナック株式会社 | 人の行動パターンを学習する機械学習装置、ロボット制御装置、ロボットシステム、および機械学習方法 |
JP6031202B1 (ja) * | 2016-01-29 | 2016-11-24 | ファナック株式会社 | 製造機械の異常の原因を発見するセル制御装置 |
US9637310B1 (en) * | 2016-08-02 | 2017-05-02 | Amazon Technologies, Inc. | Mobile robot group for moving an item |
US10769532B2 (en) * | 2017-04-05 | 2020-09-08 | Accenture Global Solutions Limited | Network rating prediction engine |
JP6969283B2 (ja) * | 2017-10-25 | 2021-11-24 | オムロン株式会社 | 制御システム |
US10573295B2 (en) * | 2017-10-27 | 2020-02-25 | Salesforce.Com, Inc. | End-to-end speech recognition with policy learning |
JP7122821B2 (ja) * | 2017-12-15 | 2022-08-22 | 川崎重工業株式会社 | ロボットシステム及びロボット制御方法 |
US10926408B1 (en) * | 2018-01-12 | 2021-02-23 | Amazon Technologies, Inc. | Artificial intelligence system for efficiently learning robotic control policies |
EP3804918A4 (en) * | 2018-05-25 | 2022-03-30 | Kawasaki Jukogyo Kabushiki Kaisha | ROBOT SYSTEM AND ADDITIONAL LEARNING METHOD |
JP7039389B2 (ja) * | 2018-05-25 | 2022-03-22 | 川崎重工業株式会社 | ロボットシステム及びロボット制御方法 |
-
2019
- 2019-12-27 CN CN201980083097.8A patent/CN113195177B/zh active Active
- 2019-12-27 WO PCT/JP2019/051483 patent/WO2020138436A1/ja unknown
- 2019-12-27 EP EP19905827.2A patent/EP3904017A4/en active Pending
- 2019-12-27 US US17/312,718 patent/US20220016761A1/en active Pending
- 2019-12-27 CN CN202410420432.1A patent/CN118143980A/zh active Pending
- 2019-12-27 JP JP2020562507A patent/JP7336463B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017200718A (ja) * | 2016-05-05 | 2017-11-09 | トヨタ自動車株式会社 | 認識的アフォーダンスに基づくロボットから人間への物体ハンドオーバの適合 |
JP2018012185A (ja) * | 2016-07-22 | 2018-01-25 | 川崎重工業株式会社 | ロボットの運転方法、コンピュータプログラム、及びロボットシステム |
WO2018225862A1 (ja) * | 2017-06-09 | 2018-12-13 | 川崎重工業株式会社 | 動作予測システム及び動作予測方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3904017A1 (en) | 2021-11-03 |
WO2020138436A1 (ja) | 2020-07-02 |
US20220016761A1 (en) | 2022-01-20 |
JP7336463B2 (ja) | 2023-08-31 |
CN113195177B (zh) | 2024-05-10 |
CN118143980A (zh) | 2024-06-07 |
CN113195177A (zh) | 2021-07-30 |
EP3904017A4 (en) | 2023-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6951659B2 (ja) | タスク実行システム、タスク実行方法、並びにその学習装置及び学習方法 | |
JP5750657B2 (ja) | 強化学習装置、制御装置、および強化学習方法 | |
EP3576707B1 (en) | System and method for user intent recognition | |
JP6886869B2 (ja) | 動作予測システム及び動作予測方法 | |
JP6523379B2 (ja) | 情報処理装置 | |
JP6680750B2 (ja) | 制御装置及び機械学習装置 | |
JP7117237B2 (ja) | ロボット制御装置、ロボットシステム及びロボット制御方法 | |
WO2019225746A1 (ja) | ロボットシステム及び追加学習方法 | |
WO2020241037A1 (ja) | 学習装置、学習方法、学習プログラム、自動制御装置、自動制御方法および自動制御プログラム | |
JP2007018490A (ja) | 行動制御装置および行動制御方法、並びに、プログラム | |
JP7460366B2 (ja) | 訓練データ選別装置、ロボットシステム及び訓練データ選別方法 | |
JP7295421B2 (ja) | 制御装置及び制御方法 | |
JP2018116693A5 (ja) | ||
WO2020138461A1 (ja) | ロボット制御装置、ロボットシステム及びロボット制御方法 | |
US11919164B2 (en) | Robot system and robot control method | |
JP2021065955A (ja) | ロボット制御システム及びその制御方法及びプログラム | |
JPWO2020138436A1 (ja) | ロボット制御装置、ロボットシステム及びロボット制御方法 | |
CN114080304B (zh) | 控制装置、控制方法及控制程序 | |
JP7263987B2 (ja) | 制御装置、制御方法、及び制御プログラム | |
JP7375587B2 (ja) | 軌道生成装置、多リンクシステム、及び軌道生成方法 | |
US20240054393A1 (en) | Learning Device, Learning Method, Recording Medium Storing Learning Program, Control Program, Control Device, Control Method, and Recording Medium Storing Control Program | |
JP2005071265A (ja) | 学習装置および方法、並びにロボットのカスタマイズ方法 | |
JP2002133390A (ja) | 学習装置および記録媒体 | |
JP2024028024A (ja) | 強化学習補助装置、強化学習補助システム、及び強化学習補助方法 | |
WO2021240589A1 (ja) | 学習装置、推論装置、プログラム、学習方法及び推論方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221124 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230721 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230821 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7336463 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |