JP2023038132A - 学習済モデルの構築方法 - Google Patents
学習済モデルの構築方法 Download PDFInfo
- Publication number
- JP2023038132A JP2023038132A JP2021145070A JP2021145070A JP2023038132A JP 2023038132 A JP2023038132 A JP 2023038132A JP 2021145070 A JP2021145070 A JP 2021145070A JP 2021145070 A JP2021145070 A JP 2021145070A JP 2023038132 A JP2023038132 A JP 2023038132A
- Authority
- JP
- Japan
- Prior art keywords
- data
- trained model
- robot
- training data
- model
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000012549 training Methods 0.000 claims abstract description 97
- 238000010801 machine learning Methods 0.000 claims abstract description 29
- 230000033001 locomotion Effects 0.000 claims description 75
- 238000011156 evaluation Methods 0.000 claims description 49
- 238000010276 construction Methods 0.000 claims description 18
- 230000008569 process Effects 0.000 description 14
- 230000009471 action Effects 0.000 description 13
- 238000004088 simulation Methods 0.000 description 13
- 238000012360 testing method Methods 0.000 description 13
- 238000013480 data collection Methods 0.000 description 12
- 238000012795 verification Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000001514 detection method Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 239000012636 effector Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 210000004958 brain cell Anatomy 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000005259 measurement Methods 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
- 238000005498 polishing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000000087 stabilizing effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000003466 welding 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
- B25J13/00—Controls for manipulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Abstract
【課題】高性能の学習済モデルを効率的に得る。【解決手段】学習済モデルの構築方法は、6つの工程を含む。第1工程では、人間による制御対象機械の操作を機械学習するためのデータを収集する。第2工程では、前記収集されたデータである収集データを評価し、所定の評価基準を満たさない場合にデータを再収集する。第3工程では、評価基準を満たす前記収集データから訓練データを選別する。第4工程では、前記訓練データを評価し、所定の評価基準を満たさない場合に訓練データを再選別する。第5工程では、評価基準を満たす前記訓練データを用いた機械学習により学習済モデルを構築する。第6工程では、前記学習済モデルを評価し、所定の評価基準を満たさない場合に前記学習済モデルを再学習させる。【選択図】図10
Description
本開示は、機械学習による学習済モデルの構築に関する。
従来から、収集データから反復的に学習して法則やルールを自動的に見つけ出し、人間が自然に行っている学習能力と同様な機能を実現する機械学習を用いてロボットの動作等を制御するシステムが知られている。特許文献1は、この種のシステムを開示する。
特許文献1の動作予測システムにおいては、オペレータがロボットアームを手動遠隔操作して作業を行わせたときのデータを動作予測モデルに機械学習させることにより、動作予測モデルが構築される。動作予測モデルの出力に基づいて、ロボットアームが自動運転される。
例えば特許文献1において構築された動作予測モデル(学習済モデル)について、その性能を評価することが必要な場合がある。しかし、ロボットアームの自律的な動作は、学習時にユーザが行った遠隔作業の品質、取得された訓練データの品質、構築された学習済モデルの品質、学習済モデルの出力に基づく自動動作の品質といった多様な側面が複合的に反映されたものである。また、それぞれの品質が他の品質に対して相互に影響を与える場合も多い。従って、それぞれの品質を単独で評価することが難しかった。この結果、学習済モデルを改良するニーズが生じたとしても何を改善すれば良いかが不明であり、非効率的な試行錯誤が要求されていた。
本開示は以上の事情に鑑みてされたものであり、その目的は、高性能の学習済モデルを効率的に得ることにある。
本開示の解決しようとする課題は以上の如くであり、次にこの課題を解決するための手段とその効果を説明する。
本開示の観点によれば、以下の学習済モデルの構築方法が提供される。即ち、学習済モデルの構築方法は、第1工程と、第2工程と、第3工程と、第4工程と、第5工程と、第6工程と、を含む。前記第1工程では、人間による制御対象機械の操作を機械学習するためのデータを収集する。前記第2工程では、前記収集されたデータである収集データを評価し、所定の評価基準を満たさない場合にデータを再収集する。前記第3工程では、評価基準を満たす前記収集データから訓練データを選別する。前記第4工程では、前記訓練データを評価し、所定の評価基準を満たさない場合に訓練データを再選別する。前記第5工程では、評価基準を満たす前記訓練データを用いた機械学習により学習済モデルを構築する。前記第6工程では、前記学習済モデルを評価し、所定の評価基準を満たさない場合に前記学習済モデルを再学習させる。
このように、学習済モデルの構築までの作業を段階的に進め、各段階で評価を行うことで、各工程で問題が見つかった場合の原因の絞り込みが容易になる。従って、学習済モデルを円滑に構築することができる。
本開示によれば、高性能の学習済モデルを効率的に得ることができる。
次に、図面を参照して、開示される実施の形態を説明する。初めに、図1等を参照して、本実施形態の方法により構築された学習モデルを用いるロボット運用システム100について簡単に説明する。図1は、ロボット運用システム100を説明する概略図である。図2は、操作情報を説明する概念図である。図3は、ロボット11が行う一連の作業の例、及び、各作業状態を示す図である。
ロボット運用システム100は、学習モデル31を構築し、この学習モデル31の出力に基づいてロボットシステム1を動作させるシステムである。ロボットシステム1が学習モデル31によって動作する結果、ロボット11が自律的に作業を行う。
ロボット11が行う作業は任意であるが、例えば、溶接、組立て、加工、ハンドリング、塗装、洗浄、研磨等が考えられる。
図1に示すように、ロボットシステム1は、ロボット制御装置10と、ロボット(制御対象機械)11と、操作装置12と、を含む。それぞれの装置は、有線又は無線のネットワークを介して互いに接続されており、信号(データ)のやり取りを行うことができる。
ロボット制御装置10は、公知のコンピュータにより構成されている。ロボット制御装置10、マイクロコントローラ、CPU、MPU、PLC、DSP、ASIC又はFPGA等の演算処理部と、ROM、RAM、HDD等のロボット記憶部と、外部装置と通信可能な通信部と、を備える。ロボット記憶部には、アーム部等を制御するための制御アプリケーション等が記憶されている。
ロボット制御装置10は、ロボット11の運転モードを、手動運転モード及び自律運転モードの間で切り替えることができる。
手動運転モードでは、ユーザが後述の操作装置12を手動で操作することで、ロボット11を動作させる。
自律運転モードでは、手動操作によるロボット11の動作を事前に機械学習した結果に基づいて、ロボット11が自動的に動作する。
ロボット11は、例えば、動作自由度が6である垂直型の多関節ロボットとして構成される。ロボット11は、台座に取り付けられたアーム部を備える。アーム部は、複数の関節を有する。各関節には、当該関節を中心にしてアーム部を駆動するための図略のアクチュエータ(例えば、電動モータ)が設けられている。アーム部の先端には、作業内容に応じたエンドエフェクタが取り付けられている。
ロボット11のアーム部及びエンドエフェクタは、ロボット11を動作させるための動作指令に基づいて動作する。この動作指令は、例えば、直線速度の指令、角速度の指令等を含む。
ロボット11には、ロボット11の動作及び周囲環境等を検出するためのセンサが取り付けられている。本実施形態では、動作センサ11aと、力センサ11bと、カメラ11cと、がロボット11に取り付けられている。
動作センサ11aは、例えば、エンコーダから構成される。動作センサ11aは、ロボット11のアーム部の関節毎に設けられており、各関節の回転角度又は角速度を検出する。
力センサ11bは、ロボット11の動作時に、ロボット11のアーム部の各関節、又はアーム部の先端に取り付けられたエンドエフェクタに掛かる力を検出する。力センサ11bは、力に代えて又は加えてモーメントを検出するように構成されても良い。
カメラ11cは、作業対象であるワーク81の映像(ワーク81に対して行われる作業の進行状況)を検出する。作業の進行状況を検出するために、カメラ11cに代えて又は加えて、音を検出する音センサ及び/又は振動を検出する振動センサが設けられても良い。また、ロボット11等に、レーザスキャンセンサ、赤外線スキャンセンサ等の距離情報を収集するセンサが設けられても良い。
動作センサ11aが検出するデータは、ロボット11の動作を示す動作データであり、力センサ11b、及びカメラ11cが検出するデータは、ロボット11の周囲の環境の状態を示す周囲環境データである。当該周囲環境データは、いわゆる、センサがデータを検出する時刻におけるロボット11の作業の進行の状態を示す状態値である。動作センサ11a、力センサ11b、及びカメラ11cが検出するデータは、状態情報として、後述の管理装置20により収集される。
操作装置12は、ロボット11を動作させるためにユーザが操作する部材である。操作装置12は、作業内容に応じて異なるが、例えば、ユーザが手で作業するレバー又は足で操作するペダルである。操作装置12は、例えば、ロボット11とは物理的に離れた場所に配置された遠隔操作装置として構成される。
操作装置12には、操作力検出センサ13が設けられている。操作力検出センサ13は、ユーザが操作装置12に加えた力であるユーザ操作力を検出する。操作装置12が様々な方向に動かすことができるように構成されている場合、ユーザ操作力は力の向き及び大きさを含む値、例えばベクトルであっても良い。ユーザ操作力は、ユーザが加えた力だけでなく、力に連動する加速度(即ち、ユーザが加えた力を操作装置12の質量で除算した値)の形で検出されても良い。
本実施形態において、操作力検出センサ13によって検出されたユーザ操作力は、例えば、図2に示すように、ロボット11の座標系におけるx軸における力及び速度の成分(力x及び速度x)と、y軸における力及び速度の成分(力y及び速度y)と、を含む。操作力検出センサ13が検出したユーザ操作力に関するデータは、操作情報として、管理装置20により収集される。
図1に示すように、ロボット運用システム100は学習モデル31を備える。ロボット運用システム100においては、例えば、部材の凹部82にワーク81を挿入する一連の作業をロボット11に実行させるために用いる学習モデル31を、機械学習により構築することができる。
具体的には、ユーザは操作装置12を操作して、例えば下記に示すようにロボット11を動作させる。即ち、図3に示す動作OAでは、ロボット11にワークを保持させた状態で、部材の上方にワーク81を位置させ、当該ワーク81を部材の面に接近させる。動作OBでは、そのままワーク81を移動させ、当該部材の面にワーク81を接触させる。動作OCでは、凹部82の位置に向けてワーク81を移動させる。なお、ワーク81の移動時に、ワーク81が部材の面に接触した状態が維持される。動作ODでは、凹部82の内壁にワーク81の端部を接触させる。動作OEでは、凹部82にワーク81が挿入される。
このように、動作OAから動作OEの順にロボット11が動作するように、ユーザがロボット11を操作する。この過程での状態情報とユーザ操作力の関係を学習させることにより、ロボット運用システム100は、動作OAから動作OEの順に従ってロボット11を自律動作させることが可能な学習モデル31を構築することができる。
図1に示すように、本実施形態のロボット運用システム100は、ロボットシステム1のほか、管理装置20を備える。
管理装置20は、例えば、公知のコンピュータにより構成されており、マイクロコントローラ、CPU、MPU、PLC、DSP、ASIC又はFPGA等の演算処理部と、ROM、RAM、HDD等のロボット記憶部と、外部装置と通信可能な通信部と、を備える。
ロボットシステム1と管理装置20は、有線又は無線のネットワークを介して互いに接続されており、信号(データ)のやり取りを行うことができる。管理装置20は、ロボットシステム1が備えるロボット制御装置10と、物理的に同一のハードウェアにより構成されても良い。
管理装置20は、データ収集部21と、訓練データ選別部22と、モデル構築部23と、動作データ記録部24と、を備える。
データ収集部21は、ロボットシステム1からデータを収集する。データ収集部21がロボットシステム1から収集するデータは、上述のように、ロボット11の周囲環境データを示す状態情報と、ロボット11の周囲環境データに対応するユーザ操作力を反映する操作情報と、を含む。以下、データ収集部21が収集したデータを収集データと呼ぶことがある。
収集データは、ユーザが操作装置12を連続的に操作して、ある作業(又は作業の一部)をロボット11に行わせる場合に、得られた一連の状態情報及び操作情報の時系列データである。即ち、データ収集部21は、状態情報のそれぞれと操作情報のそれぞれとを、時間に関連させて収集している。例えば、ユーザが操作装置12を連続的に操作して、図3で説明した5つの動作OA~OEを含む一連の作業をロボット11に1回行わせることで、1つの収集データが得られる。状態情報及び操作情報には、カメラ11c及び操作力検出センサ13等で得られた検出値に基づく計測値が含まれる。
データ収集部21は、収集データが予め定められた評価基準を満たすか否かを判定する評価機能を有している。
収集データに求められる条件は、学習モデル31の特徴、収集データに対して行われる前処理の内容等を考慮して、任意に定められる。本実施形態においては、収集データが満たすべき条件として、収集データが時系列的に所定数以上の長さを有すること、かつ、所定の操作を示すデータが時系列の始端側及び終端側に現れていること、等が定められている。
データ収集部21は、予め定められた上記の評価基準に従って、収集データの長さの判定等を行う。この判定は、例えば機械学習を用いた複雑なものではなく、いわゆるルールベースで行われる。これにより、処理を簡素化できるとともに、判定のリアルタイム性を高めることができる。
データ収集部21は、収集データが訓練データとして用いられるのに好適である度合いを示す値を算出して、その計算結果を、収集データの有効度としてユーザに提示しても良い。有効度の計算は、例えば、以下のようにすることができる。即ち、収集データが満たすべき条件のそれぞれについて、予めスコアが定義されている。データ収集部21は、収集データが各条件を満たしているか否かを判定し、満たしている条件に応じたスコアの合計値を、有効度として求める。有効度の計算結果に基づいて、収集データが評価基準を満たしているか否かが判定されても良い。
有効度のユーザへの提示は、例えば、管理装置20が備える図示しないディスプレイ等の出力装置に、有効度の数値を表示することで実現することができる。ディスプレイに数値を表示する代わりに、例えば、表示される図形の色等で有効度が表現されても良い。
収集データが必須の条件を満たしていない場合、又は、上記の有効度の値が良好でない場合、データ収集部21は、データを改善するためにどのようにすれば良いかをユーザに提示することができる。改善方法の提示は、例えば、メッセージを上記のディスプレイに表示することで実現することができる。メッセージの内容は任意であるが、例えば、「装置の操作時間が短すぎます。」等のテキストメッセージとすることができる。改善方法の提示は、テキストメッセージに限らず、例えばアイコン、音声、動画等の出力によって行うこともできる。
これらの改善に関する提案を参照しながら操作を反復することで、ユーザは、当初は操作に不慣れであっても容易に習熟して、訓練データとして用いることが良好な収集データが得られるように操作装置12を操作することができる。
収集データが所定の評価基準を満たしている場合は、データ収集部21は、収集データを訓練データ選別部22に出力する。
訓練データ選別部22は、データ収集部21から入力された収集データに対して選別を行って、訓練データを取得する。
管理装置20は、図略の入力装置を備える。入力装置は、例えば、キー、マウス、タッチパネル等から構成される。
ユーザは、過去に操作装置12を操作したときにデータ収集部21によって収集された収集データを、機械学習の訓練データとして用いるか否かを、入力装置によって指示する。これにより、収集データのうち選択された一部が訓練データとして採用される。
本実施形態では、収集データからの訓練データの選別が、ユーザの入力によって決定される。これにより、訓練データで用いる収集データを、ユーザの意図どおりのものに限定することができる。しかしながら、訓練データ選別部22が収集データを自動的に選別しても良い。
例えば、以下のようにして収集データを自動的に選別することができる。訓練データ選別部22は、収集データを評価するために機械学習によって構築された機械学習モデルを備える。この機械学習モデルは、学習モデル31とは別に、学習モデル31よりも早いタイミングで構築される。以下、訓練データ選別部22において構築された機械学習モデルを選別モデル41と呼ぶことがある。
選別モデル41は、データ収集部21が収集した収集データを学習する。選別モデル41の訓練フェーズにおいて、収集データが適宜のクラスタリング手法を用いて複数のグループに分類される。なお、収集データが複数の作業状態を含む場合、1つの作業状態毎に分割されて分類が行われる。作業状態については後述する。
クラスタリングは、多数のデータから分布の法則を学習して、互いに特徴が似ているデータのまとまりである複数のクラスタを自動的に取得する手法である。クラスタリングは、例えば、公知のNN法、K-Means法、自己組織化マップ等のクラスタリング手法を用いて行うことができる。収集データに含まれる作業状態を幾つのクラスタに分類するかは、適宜定めることができる。分類は、クラスタリング以外の自動分類手法を用いて行っても良い。
作業状態について説明する。本実施形態においては、例えば、データ収集部21により収集された一連の作業に関する収集データが、作業状態に対応するユーザの操作(基準操作)毎に分類される。一例を挙げると、図3に示すように、ワーク81を凹部82に入れる一連の作業をロボット11に行わせる場合、例えば、空中、接触、挿入、及び完了の4つの作業状態に分類することができる。
作業状態SA(空中)は、ロボット11がワーク81を保持して凹部82の上部に位置させている状態である。作業状態SB(接触)は、ロボット11が保持したワーク81を、凹部82が形成されている面に接触させている状態である。作業状態SC(挿入)は、ロボット11が保持したワーク81を凹部82に挿入している状態である。作業状態SD(完了)は、ロボット11が保持したワーク81が凹部82に完全に挿入された状態である。
このように、4つの作業状態は、ロボット11による一連の作業を工程毎に分類したものである。ロボット11の作業が正しく進行すると、作業状態SA(空中)、作業状態SB(接触)、作業状態SC(挿入)、作業状態SD(完了)の順に作業状態が遷移する。
選別モデル41が学習するデータは、例えば、任意の1つの作業状態及び当該作業状態に対応付けられる次の作業状態(即ち、次に遷移する作業状態)と、少なくとも1組の状態情報及びこの状態情報に対応付けられるユーザ操作力と、を組み合わせたものとすることができる。これにより、選別モデル41は、作業状態の順序、及び、対応する操作力の順序を学習することができる。選別モデル41の機械学習は、データのクラスタリングと言い換えることもできる。
上記の作業状態SA,SB,SC,SDは代表的なものであり、実際は、様々に異なる多数の作業状態が存在し得る。仮に、オペレータの操作によりロボット11に同じ作業を何回か行わせて、例えば、1組の状態情報及び操作力に対応する作業状態SA1と、別の組の状態情報及び操作力に対応する作業状態SA2と、更に別の組の状態情報及び操作力に対応する作業状態SA3と、が収集された場合を考える。オペレータの操作のバラツキ、状況のバラツキ等があるため、これらの作業状態SA1,SA2,SA3は、細かく言えば互いに異なる。しかし、作業状態SA1,SA2,SA3は、共通の特徴を有しているため、同一のクラスタ(作業状態SAのクラスタ)に分類されることになる。
選別モデル41は、上記のように、操作力の出力の時間順を反映するように機械学習を行っている。簡単に言えば、選別モデル41は、作業状態SA、作業状態SB、作業状態SC、作業状態SDのそれぞれに対応する少なくとも1組の状態情報及び操作力の組合せを学習しているとともに、作業状態SAの次に作業状態SBが現れるというような作業順序も学習している。これにより、選別モデル41を用いて、操作力の時系列情報を反映した分類を行うことができる。即ち、それぞれの作業状態に対応付けられる操作力のそれぞれを作業順で反映することができる。
この状態情報は、上述のように、動作センサ11a、力センサ11b、カメラ11cが検出したセンサ情報(例えば、位置、速度、力、モーメント、映像等の作業状態)である。この状態情報には、当該センサ情報に基づいて算出された情報(例えば、過去から現在までのセンサ情報の経時変化を示す値)が含まれても良い。
訓練フェーズが完了した選別モデル41は、推論フェーズにおいて、入力された収集データの時系列情報に対応付けられた状態情報に対して、当該状態情報に対応する基準操作を推定して出力することができる。選別モデル41は、推定される基準操作の代わりに、例えば、基準操作が属するクラスタの情報を出力しても良い。このとき、選別モデル41は、入力された収集データの操作情報と、推定した基準操作との間の類似度を出力することができる。類似度は、例えば、公知のユークリッド距離を用いて定義することができる。選別モデル41が出力する類似度は、収集データを評価するための評価値として利用することができる。
図3で説明したように、1つの収集データが示すロボット11の一連の作業において、作業状態は順次遷移する。これを考慮して、選別モデル41による類似度の出力は、図4に示すように、それぞれの所定時間範囲における操作情報に対して行われる。具体的に説明すると、訓練データ選別部22は、収集データのうち所定の時間範囲に対して、選別モデル41により出力された評価値が所定閾値以上である場合、選別モデル41により出力された基準操作が属するクラスタの情報を示すラベル(対応情報)を、当該時間範囲の収集データに付与する。一方、選別モデル41により出力された評価値が所定閾値を下回る場合、訓練データ選別部22は、当該時間範囲にラベルを付与しない。
図4では、収集データにおける所定時間範囲の操作情報が、作業状態SAに対応する基準操作に類似していたために、当該操作情報に数値「1」のラベルが付与された例が示されている。同様に、図4で数値「2」,「3」,「4」のラベルが付与された時間範囲は、当該時間範囲での操作情報が、作業状態SB,SC,SDに対応する基準操作に類似していることを示す。図4には、ラベルが付与されなかった時間範囲も併せて示されている。
収集データのうちラベルが付与されない時間範囲については、選別モデル41が学習した作業状態の何れとも大きく異なる状況であり、この収集データを訓練データとすることは不適当な場合がある。従って、訓練データ選別部22は、当該時間範囲を訓練データとして採用しない。一方、収集データのうちラベルが付与されている時間範囲については、訓練データ選別部22は、訓練データとして採用する。
選別モデル41が出力するラベルは、収集データを訓練データとして採用するか否かの自動的な決定のために用いられなくても良い。例えば、ユーザが収集データを訓練データとして採用するか否かを手動で決定する場合の参考情報として、ラベルが提示されても良い。図4には、ユーザに提示される画面の例が示されている。この例では、収集データに含まれた操作情報(例えば、操作力)をグラフにより表した形で視覚的に表示するとともに、時系列情報が連続しており、かつ、同じ数値のラベルが割り当てられたデータ部分を1つのブロックとして表示する。これにより、ユーザは、収集データを訓練データとして採用するか否かの判断をより容易に行うことができる。
この例では、選別モデル41においてクラスタリングが採用されている。従って、一連の操作をユーザが行うことにより得られる収集データのうち、操作が有効な一部の時間範囲(ブロック)のデータだけを取り出して、訓練データとして採用することが容易になる。図5には、訓練データとして採用されるデータの例が示されている。図5の例では、5つの収集データのうち1つについては全部が訓練データとして採用され、残りのうち3つについては、ラベルが付された複数のブロックのうち一部だけが訓練データとして採用されている。
訓練データ選別部22は、選別された訓練データに対して評価を行う機能を有している。評価の基準は任意である。例えば、訓練データの数は十分であるか否か、一部の作業状態に対応する訓練データが過少になっていないか等について評価が行われる。
訓練データが評価基準を満たしている場合、訓練データ選別部22は訓練データをモデル構築部23に出力する。
モデル構築部23は、機械学習(例えば教師あり学習)により、ロボットシステム1で用いられる学習モデル31を構築する。以下、学習が完了した学習モデルを学習済モデルと呼ぶ場合がある。
モデル構築部23は、学習モデル31を構築するために、訓練データ選別部22から出力された訓練データを用いる。訓練データは、上述のとおり、収集データに対して選別が行われたものに相当する。従って、訓練データは収集データと同様に、少なくとも、ロボット11の作業状態を反映する周囲環境データ(即ち状態情報)と、当該周囲環境データに対応付けられたユーザ操作力(即ち操作情報)と、を含む。
学習モデル31は、例えば、入力層と、隠れ層と、出力層と、を有する一般的な構成のニューラルネットワークである。それぞれの層には、脳細胞を模擬した複数のユニットが配置されている。隠れ層は、入力層と出力層との間に設けられ、適宜の数の中間ユニットによって構成される。モデル構築部23において学習モデル31に入力された状態情報(訓練データ)は、入力層、隠れ層、出力層の順に流れる。隠れ層の数は適宜定められる。なお、これに限定されず、学習モデル31の形式は任意である。
この学習モデル31においては、入力層に入力されるデータは、上述の周囲環境データを反映する状態情報である。出力層が出力するデータは、操作力検出センサ13の検出値の推定結果である。これは、実質的に、推定されるユーザ操作力を意味する。従って、出力層が出力するデータは、学習モデル31が推定したユーザの操作を示す。
各入力ユニットと各中間ユニットとは、情報が流れる経路によって結合され、各中間ユニットと各出力ユニットとは、情報が流れる経路によって結合される。それぞれの経路において、上流側のユニットの情報が下流側のユニットの情報に与える影響(重み)が設定されている。
学習モデル31の訓練フェーズにおいて、モデル構築部23は、学習モデル31に状態情報を入力し、当該学習モデル31から出力される操作力と、ユーザによる操作力と、を比較する。モデル構築部23は、この比較により求められる誤差が小さくなるように、例えば、公知のアルゴリズムである誤差逆伝播法によって、上記重みを更新することで、学習モデル31を更新する。
学習モデル31はニューラルネットワークに限定されないので、学習モデル31の更新も誤差逆伝播法に限定されない。例えば、公知のアルゴリズムであるSOM(Self-organizing maps)によって、学習モデル31を更新することもできる。このような処理を継続的に行うことにより学習が実現される。
モデル構築部23は、構築された学習モデル31に対して評価を行う機能を有している。この評価の基準は任意である。例えば、学習モデル31に特定の状態情報を入力した場合に、想定しているユーザ操作力を出力するか否か等について評価が行われる。ロボット11等の3次元モデルを用いたシミュレーションにより、作業時間及び使用電力等の評価が行われても良い。
学習モデル31の評価に関していうと、モデル構築部23が学習モデル31を推論フェーズで動作させる際に、学習モデル31が出力する推論の根拠となる訓練データを併せて提示するように構成することもできる。これにより、人間等による学習モデル31の評価が容易になる。
例えば、学習モデル31を、ニューラルネットワークでなく、上述の選別モデル41と同様にクラスタリングで構築する場合を考える。訓練フェーズで、それぞれの訓練データは多次元の特徴量空間に点としてプロットされる。それぞれの訓練データには、当該訓練データを一意に特定することが可能な識別情報が付与されている。
すべての訓練データがプロットされると、選別モデル41と同様に、上述した適宜のクラスタリング手法によって複数のクラスタが求められる。次に、モデル構築部23は、それぞれのクラスタを代表するデータを求める。以下、このデータをノードと呼ぶことがある。ノードは、例えば、多次元空間においてクラスタのそれぞれの重心に相当するデータとすることができる。全てのクラスタについてノードが求められると、訓練フェーズが完了する。
学習モデル31の推論フェーズにおいては、ある時点における状態情報が学習モデル31に入力される。学習モデル31は、当該状態情報に類似する特徴を有する1又は複数のノードを求める。類似度は、例えば、ユークリッド距離を用いて定義することができる。
状態情報に近い特徴を有するノードが求められると、学習モデル31は、当該ノードのデータに含まれているユーザ操作力(言い換えれば、操作力検出センサ13の検出値)を求める。状態情報に類似するノードが複数検出された場合は、複数のノードのユーザ操作力が適宜合成される。学習モデル31は、得られたユーザ操作力を、上述の推定操作力として出力する。このとき、学習モデル31は、当該ノードに相当する訓練データを特定する識別情報を出力する。これにより、学習モデル31の推論の根拠となった訓練データを特定することができる。
例えば、上記のシミュレーションにおいて、学習モデル31に基づくロボット11の動作のうち一部が好ましくないことが判明し、その一部の動作を行わせたくないとユーザが考えたとする。図6には、管理装置20のディスプレイに表示されるシミュレーション画面の例が示されている。シミュレーション画面にはタイムラインが表示され、シミュレーションにおいてロボット11が行った一連の動作を分類した前述の作業状態に対応するラベルが、時間軸に沿って並べて表示されている。ユーザは、適宜の入力装置を操作して、削除したい動作に対応する時間範囲(言い換えれば、作業状態)を、上記のブロックを単位として選択する。すると、ディスプレイには、訓練データのうち、削除が指定された動作に対応する作業状態の部分(ブロック)が、ハイライト表示される。強調表示の方法は任意である。以上により、ユーザは、削除の影響の大きさを直感的に把握して、動作を本当に削除するか否かを判断することができる。
ユーザが動作の削除を指示すると、学習モデル31の学習結果に相当するクラスタリング結果から、削除が指示された部分に対応する訓練データのプロットが削除される。その後に学習モデル31が推論フェーズで動作した場合、好ましくないとされていた動作を引き起こしていた操作力に代えて、別の訓練データに基づく操作力を出力するようになる。このようにして、学習モデル31の学習結果を部分的に修正することができる。
例えば、上記のシミュレーションにおいて、学習モデル31に基づくロボット11の動作が停滞する状況が発生したとする。具体例を挙げると、図3において凹部82の内壁にワーク81の端部を接触させる動作ODにおいて、ワーク81の位置が凹部82の位置と一致しないために凹部82の内壁に接触させることができず、このためにロボット11は以後の動作を行わずに停止してしまう。図7には、ロボット11の動作が停滞したシミュレーション結果の例が示されている。
この状況を解消するために、ユーザが1又は複数の新しい訓練データを追加したいと考えたとする。この訓練データは、他の訓練データと同様に一連の動作を行うものである。ただし、新しい訓練データは、上述の動作ODの前に、ワーク81を凹部82の近傍の面に接触させた状態で、ワーク81の中心が凹部82の中心と合うように水平面内で様々な向きに小さく動かす動作を含んでいる。
ユーザが新しい訓練データの追加を指示すると、上述の多次元空間におけるクラスタリング結果に、当該訓練データのプロットが追加される。これは、学習モデル31において追加的な学習が行われることに相当する。
学習モデル31の追加学習後、ユーザは、上記と同じ条件でシミュレーションを再び行うことを指示する。このシミュレーションで、ロボット11は、従前のシミュレーションにはなかった新しい動作を行い、その結果、一連の動作に成功したとする。図8には、この場合のシミュレーション結果の例が示されている。シミュレーション結果の表示画面で、ユーザは入力装置を操作して、新しく行われた動作に相当する部分を、タイムラインにおいて選択する。この選択に応じて、先ほど新しく追加された訓練データの対応箇所がハイライト表示されれば、ユーザは、新しく追加された訓練データの寄与により、シミュレーションにおいて動作の停滞を解消できたと判断することができる。
このように、上記の構成においては、学習モデル31の学習内容を削除又は追加した場合の影響がユーザに提示される。この結果、ユーザは、安心感を持って、学習モデル31の学習内容を編集することができる。
学習モデル31が評価基準を満たすと判定された場合は、モデル構築部23は、その旨を示す情報を動作データ記録部24に出力する。
動作データ記録部24は、学習モデル31の出力をロボットシステム1に送信してロボット11を自律動作させるとともに、その動作データを記録する。この動作データは、例えば、ロボット11の自律動作の検証のために用いられる。詳細は後述するが、その後の実運用の場面において動作データ記録部24を用いることもできる。
動作データ記録部24には、ロボット11の周囲環境データを示す状態情報が入力される。動作データ記録部24は、入力された状態情報を、モデル構築部23の学習モデル31に出力する。学習モデル31は推論フェーズで動作し、その出力はロボット制御装置10に入力される。これにより、ロボット11を自律的に動作させることができる。
動作データ記録部24は、学習モデル31を推論フェーズで動作させる際に、それぞれの動作毎に、当該動作が検証済か否かを記録することもできる。この記録には、管理装置20が備える適宜の記憶部が用いられる。
以下、詳細に説明する。機械学習モデルに基づくロボット11等の機械の動作に関しては、機械学習の性質上、事前の繰返し試験等でその振舞いを全て再現することは困難である。そこで、例えば学習モデル31を上述と同様にクラスタリングで構築した場合において、動作データ記録部24は、多次元空間におけるそれぞれのプロット毎に、検証済か否かを対応付けて記憶するように構成されている。クラスタリングにおけるそれぞれのプロットは、ノードとして採用される可能性がある。ノードとは、上述のとおり、クラスタを代表するデータである。各データ(プロット)及びノードは、学習モデル31における個々の学習要素に相当する。
図9には、動作データ記録部24の記憶内容の変化が、学習モデル31の構築後に行われる複数の段階との関係で模式的に示されている。
最初に、動作試験段階について説明する。モデル構築部23によって学習モデル31が構築された後、実際のロボット11を用いて、ある程度多くの試行回数を伴った動作試験が行われる。
上述のとおり、学習モデル31の推論フェーズにおいては、ある時点における状態情報が学習モデル31に入力される。学習モデル31がクラスタリングにより構築される場合、学習モデル31は、当該状態情報に類似する特徴を有するノードを求める。
学習モデル31は、推論フェーズにおいて操作情報を出力する根拠となる可能性があるノードを、多数有している。図9において、ノードは模式的に小さな楕円で表現されている。管理装置20の記憶部には、それぞれのノードについて検証が既に行われたものであるか否かを、テーブル形式で記録することができる。ただし、記録は、テーブル以外の形式で行われても良い。以下、検証が行われたことがテーブルに記録されているノードを検証済ノードと呼び、記録されていないノードを未検証ノードと呼ぶことがある。
動作試験段階で、学習モデル31は、当該ノードのデータに含まれている操作情報を推論結果として出力する場合に、動作データ記録部24に、当該ノードを特定する情報を出力する。以下、この情報をノード特定情報と呼ぶことがある。ノード特定情報としては、例えば、ノードに相当する訓練データの識別番号とすることができるが、これに限定されない。
動作試験を開始する前は、全てのノードが検証されていない状態である。ユーザは、学習モデル31の出力に基づくロボット11の試験的な動作を監視する。ユーザは、ロボット11の動作に問題があるか否かを判断する。この判断にあたって、ユーザは、動作データ記録部24が記録した動作データを適宜の方法で参照して参考にすることができる。
ロボット11の動作に問題がないと判断すると、ユーザは、管理装置20の入力装置を適宜操作して検証完了を指示する。これにより、動作データ記録部24は、上述のテーブルを更新して、試験的な動作において出力を行ったノードについて、検証が行われたことを記録する。図9において、検証済のノードはハッチングが付された形で示されている。
ロボット11の動作試験の試行を繰り返すのに従って、未検証ノードが減り、検証済ノードの割合が徐々に増加していく。しかし、動作試験段階ですべてのノードを検証済ノードとすることは実質的に不可能であり、未検証ノードが残ったままで運用段階に移行することは避けられない。
次に、運用段階について説明する。ロボット11の運用段階においても、上記の動作試験段階と同じように、学習モデル31は推論フェーズで動作する。ある時点における状態情報が学習モデル31に入力されると、学習モデル31は、当該状態情報に類似する特徴を有するノードを求める。
学習モデル31は、求めたノードを特定する前述のノード特定情報を、動作データ記録部24に出力する。このノード特定情報の出力は、当該ノードのデータに含まれている操作情報を推論結果としてロボット11に出力する前に行われる。
動作データ記録部24は、学習モデル31から入力されたノード特定情報に基づいて、前述のテーブルを参照し、操作情報を出力しようとしているノードが検証済であるか否かを判定する。
特定されたノードが検証済ノードである場合、動作データ記録部24は、学習モデル31の当該ノードの出力でロボット11が動作するように制御する。
特定されたノードが未検証ノードである場合、動作データ記録部24は、未検証ノードと類似した検証済ノードを探索する。この探索は、クラスタリング時に訓練データがプロットされた多次元特徴空間において、未検証ノードから所定の距離以内にある検証済ノードを探すことに相当する。この距離は、類似度に対応するものであり、例えばユークリッド距離とすることができる。
類似度が所定以上である検証済ノードが得られた場合、探索結果である検証済ノードの出力に相当する操作情報と、未検証ノードの出力に相当する操作情報と、が比較される。この比較も、例えば、上記のユークリッド距離を用いて行うことができる。
比較の結果、2つの出力の類似度が所定以上であると判定された場合、未検証ノードの出力に基づいて仮にロボット11を動作させても、過去に検証された動作とあまり異ならないと考えられる。そこで、動作データ記録部24は、未検証ノードの出力でロボット11が動作するように制御する。上記の検証済か否かの判定、ノード探索、及び出力の比較等の処理は、ロボット11の制御周期の時間内で行われることが好ましい。
未検証ノードの出力に基づくロボット11の動作は、ユーザによって適宜監視される。問題が生じなかったとユーザが判断した場合、動作試験段階と同様に、ユーザは適宜の入力装置を操作して、検証完了を管理装置20に指示する。これに応じて、動作データ記録部24は、上述のテーブルを更新して、該当の未検証ノードについて検証が行われたことを記録する。このように、本実施形態においては、動作試験段階に加えて運用段階においても、未検証ノードを検証済ノードに変更することができる。
運用段階において、ロボット11は、未検証ノードの出力そのものに基づいて動作しなくても良い。例えば、動作データ記録部24が、未検証ノードと、類似する検証済ノードと、を合成した出力でロボット11を動作させても良い。出力の合成は、例えば、出力の平均値及び中央値を計算することで行うことができる。予期しない動作の防止を重視する場合、動作データ記録部24は、類似する検証済ノードの出力で、未検証ノードの出力を完全に代替するように制御することもできる。
上述の探索処理で、未検証ノードに類似する検証済ノードが見つからない場合もあり得る。また、類似する検証済ノードが探索できた場合でも、未検証ノードの出力と検証済ノードの出力とが類似しない場合もあり得る。上記の何れかの場合、動作データ記録部24は、学習モデル31の出力を、ロボット11の動作安定のために予め定められた出力となるように強制的に変更することが好ましい。
例えば、マスタロボットとスレーブロボットとの力の差分をなくすように動作するマスタスレーブ制御において、学習モデル31にマスタロボットの操作を学習させた場合を考える。この構成において、学習モデル31が未検証ノードに基づく操作情報を出力しようとした場合であって、類似する検証済ノードが探索できなかったときは、動作データ記録部24は、それ以降の学習モデル31が出力するユーザ操作力を、強制的かつ継続的にゼロに変更する。この結果、マスタロボットの操作出力がゼロになるので、スレーブロボットは、外力がゼロになる方向に動作する。従って、スレーブロボットは、外力がゼロになる安定な状態に移行することができる。
動作データ記録部24は、学習モデル31が未検証ノードに基づく操作情報を出力しようとしたことが検出された場合、警報を出力するように構成することもできる。警報は、例えばディスプレイへの表示によって行うことができるが、別の手段、例えば音声等での報知も可能である。これにより、ユーザは状況を早期に把握することができる。
学習モデル31が推論フェーズにおいて操作情報を出力する根拠となる可能性があるノードのそれぞれに関連付けて、検証済か否かの情報だけでなく、付加的な情報が管理装置20の記憶部に記憶されても良い。この付加的な情報としては、例えば、そのノードが、追加学習で新規に追加されたノードであるか否か、所定よりも大きな力でロボット11が動作することになる出力を有するノードであるか否か、ワーク81の損傷が過去に発生したか否か等が考えられる。これらの情報は、例えばユーザが管理装置20の入力装置を適宜操作することによって登録することができる。
動作データ記録部24は、付加的な情報を、例えば上記の警報を出力する場合にユーザに提示する。ユーザへの提示は、例えばディスプレイへの表示によって行われる。これにより、ユーザは、未検証のノードに関して有用な情報を得ることができるので、学習モデル31の運用に関して適切な判断を容易に行うことができる。
上述のとおり、機械学習モデルに基づくロボット11の動作は多岐にわたるため、全ての動作を検証することは難しい。特に、ロボット11が図3に示すような力接触を伴う作業を行う場合は、起こり得る状況を事前に全てテストすることは不可能である。これを考慮して、動作データ記録部24は、検証済が記録されていない動作を学習モデル31が出力したときは、例えば、検証済が記録されている類似した動作となるように、学習モデル31の出力を強制的に変更する。このように、本実施形態のロボット運用システム100は、動作データ記録部24が実質的にモデル出力制御部として機能し、学習モデル31の出力に対して干渉的な制御を行う。これにより、ロボット11の予期しない動作を防止することができる。
学習モデル31の追加学習が運用段階で必要になる場合も考えられる。この場合、ユーザは、操作装置12を操作して新しい訓練データを追加する。クラスタリングが再び行われる結果として、学習モデル31に新しいノードが追加される。図9において、追加されたノードは破線で示されている。追加されたノードは、前述のテーブルに未検証ノードとして記録される。追加学習の作業が完了すると、動作試験段階又は運用段階に戻る。追加されたノードについて上記と同様に検証が完了すると、テーブルにおける当該ノードの記録が未検証から検証済に変化する。
次に、上記で示した機械学習モデルの構築のフローについて説明する。
本実施形態では、図10に示すように、学習モデル31を構築して運用するまでの作業フローが、(A)収集データの取得、(B)訓練データの選別、(C)学習済モデルの構築、及び(D)動作データの取得の4つの段階に分けられている。図10において、数字[1]~[8]は、第1工程~第8工程を示している。それぞれの段階において評価が行われ、評価基準が満たされない場合、図10の破線の矢印に示すように、当該段階での作業がやり直される。評価基準が満たされていると判断された場合にだけ、次の段階の作業に移行することができる。
従って、各段階の評価は、それよりも上流の作業において評価基準が満たされていたことを前提に行われる。従って、例えば、(C)の段階において構築された学習済モデルが評価基準を満たさない場合、それよりも上流の段階における作業に問題はなく、学習済モデルの構築作業に問題があると基本的に考えることができる。
機械学習モデルによる機械の自律的な動作に問題がある場合、その原因として、訓練データ等に問題があるのか、学習済モデルの構築に問題があるのか、特定が極めて困難であることが多い。この点、本実施形態では、各段階で評価を行いながら作業を進めていくので、問題が見つかったときの原因の絞り込みが容易である。従って、機械学習モデルを円滑に構築して運用することができる。
各段階の作業は独立しているので、例えば4段階の作業を4人で分担して行うことも容易であり、各人の責任の境界も明確とすることができる。
勿論、例えば、(C)の段階において構築された学習済モデルが評価基準を満たさない場合であって、その原因が、(B)の段階での評価では見落としていたが、訓練データの選別に問題があったためと判明する場合もある。その場合は、図10の鎖線の矢印に示すように、1つだけ前の段階に戻って作業と評価がやり直される。このルールにより、大きな手戻りを防止して、作業効率を高めることができる。
以上に説明したように、本実施形態では、以下の6つの工程を含む方法によって、学習済モデルが構築される。第1工程では、ユーザによるロボット11の操作を機械学習するためのデータを収集する。第2工程では、収集されたデータである収集データを評価し、所定の評価基準を満たさない場合にデータを再収集する。第3工程では、評価基準を満たす収集データから訓練データを選別する。第4工程では、訓練データを評価し、所定の評価基準を満たさない場合に訓練データを再選別する。第5工程では、評価基準を満たす訓練データを用いた機械学習により学習済モデルを構築する。第6工程では、学習済モデルを評価し、所定の評価基準を満たさない場合に学習済モデルを再学習させる。
このように段階的に作業を進め、各段階で評価を行うことで、各工程で問題が見つかった場合の原因の絞り込みが容易になる。従って、学習モデル31を円滑に構築することができる。
本実施形態では、第4工程において、訓練データが評価基準を満たさない場合であって、前記収集されたデータに問題があるときは、第1工程に戻る。第6工程において、学習済モデルが評価基準を満たさない場合であって、訓練データに問題があるときは、第3工程に戻る。ただし、第1工程に代えて第2工程に戻っても良く、第3工程に代えて第4工程に戻っても良い。
前の段階での作業に問題があることが判明した場合は、当該段階の作業をやり直すことで、問題を適切に解消することができる。
本実施形態では、第1工程において、ユーザがロボット11を操作すると、その操作を含む情報がデータとして収集される。第2工程において、収集データが訓練データとして適切であるか否かが予め定められたルールに基づいて判定され、判定の結果がユーザに提示される。
これにより、ユーザは、収集データが訓練データとして好適か否かを容易に理解することができる。また、処理の簡素化を実現できる。
本実施形態では、第5工程において構築された学習モデル31が推論フェーズで動作する場合に、学習モデル31の出力の根拠となる、当該学習モデル31の構築に用いられた訓練データを特定して出力する。
これにより、ユーザは、例えば学習モデル31の学習結果を一部編集したい場合に、その編集による影響の範囲を一定程度把握することができる。従って、学習モデル31の学習内容の一部変更及び削除を的確に行うことができる。
本実施形態では、第7工程において、評価基準を満たす学習モデル31の出力に基づいてロボット11を動作させて動作データを記録する。第8工程では、動作データを評価し、所定の評価基準を満たさない場合にロボット11の再動作及び動作データの再記録を行う。
ロボット11を実際に動作させるまでの段階のそれぞれにおいて評価を行うことで、各工程で問題が見つかった場合の原因の絞り込みが容易になる。
本実施形態では、第8工程において、動作データが評価基準を満たさない場合であって、学習モデル31に問題があるときは、第5工程に戻る。ただし、第5工程に代えて第6工程に戻っても良い。
前の段階での作業に問題があることが判明した場合は、当該段階の作業をやり直すことで、問題を適切に解消することができる。
本実施形態では、学習モデル31は、複数の学習要素を含む。学習モデル31が例えばクラスタリングによって構築される場合、クラスタを代表するデータであるノードが、学習要素に相当する。第7工程において、学習済モデルの出力に基づくロボット11の動作が検証された場合、動作の根拠となった学習要素について検証済を記録する。学習済モデルの実運用時には、検証済でない学習要素に基づく学習済モデルの出力を、予め定められた出力に、又は、検証済の類似の学習要素に基づく出力に変更可能である。
これにより、未検証の学習要素によるロボット11の予期しない動作を防止することができる。
本実施形態において、学習モデル31によって自律動作させる対象はロボット11である。
これにより、ロボット11の自律操作のための学習モデル31を円滑に構築することができる。
以上に本開示の好適な実施の形態を説明したが、上記の構成は例えば以下のように変更することができる。変更は単独で行われても良いし、複数の変更が任意に組み合わせて行われても良い。
図10における第7工程及び第8工程を省略して、構築された学習モデル31を即時に実運用のために使用することもできる。
第2工程で示される収集データの評価が、いわゆるルールベースでなく、機械学習ベースによって行われても良い。
第2工程、第4工程、第6工程及び第8工程において、評価はコンピュータによって行われても良いし、人間によって行われても良い。
管理装置20が各種表示に用いる出力装置としては例えば液晶ディスプレイが考えられるが、プロジェクタ、ヘッドマウントディスプレイ等を用いることができる。例えばヘッドマウントディスプレイが用いられる場合、公知の拡張現実(AR)による表示が行われても良い。
学習済モデルが推定する操作情報は、ユーザ操作力に代えて、例えば、ユーザが操作装置12を操作する操作速度又は位置の変化量とすることもできる。学習済モデルは、状態情報と操作情報との関係を推定する代わりに、状態情報とロボット11への制御信号との関係を推定しても良い。
構築された学習モデル31は、ロボット11以外の制御対象機械に対して適用することもできる。
1 ロボットシステム
10 ロボット制御装置
11 ロボット(制御対象機械)
20 管理装置
31 学習モデル(学習済モデル)
100 ロボット運用システム
10 ロボット制御装置
11 ロボット(制御対象機械)
20 管理装置
31 学習モデル(学習済モデル)
100 ロボット運用システム
Claims (8)
- 人間による制御対象機械の操作を機械学習するためのデータを収集する第1工程と、
収集されたデータである収集データを評価し、所定の評価基準を満たさない場合にデータを再収集する第2工程と、
評価基準を満たす前記収集データから訓練データを選別する第3工程と、
前記訓練データを評価し、所定の評価基準を満たさない場合に訓練データを再選別する第4工程と、
評価基準を満たす前記訓練データを用いた機械学習により学習済モデルを構築する第5工程と、
前記学習済モデルを評価し、所定の評価基準を満たさない場合に前記学習済モデルを再学習させる第6工程と、
を含むことを特徴とする学習済モデルの構築方法。 - 請求項1に記載の学習済モデルの構築方法であって、
前記第4工程において、前記訓練データが評価基準を満たさない場合であって、前記収集データに問題があるときは、前記第1工程又は第2工程に戻り、
前記第6工程において、前記学習済モデルが評価基準を満たさない場合であって、前記訓練データに問題があるときは、前記第3工程又は第4工程に戻ることを特徴とする学習済モデルの構築方法。 - 請求項1又は2に記載の学習済モデルの構築方法であって、
前記第1工程において、ユーザが前記制御対象機械を操作すると、当該操作を含む情報がデータとして収集され、
前記第2工程において、収集されたデータが前記訓練データとして適切であるか否かが予め定められたルールに基づいて判定され、判定結果がユーザに提示されることを特徴とする学習済モデルの構築方法。 - 請求項1から3までの何れか一項に記載の学習済モデルの構築方法であって、
前記第5工程において構築された前記学習済モデルが推論フェーズで動作する場合に、前記学習済モデルの出力の根拠となる、当該学習済モデルの構築に用いられた前記訓練データを特定して出力することを特徴とする学習済モデルの構築方法。 - 請求項1から4までの何れか一項に記載の学習済モデルの構築方法であって、
評価基準を満たす前記学習済モデルの出力に基づいて制御対象機械を動作させて動作データを記録する第7工程と、
前記動作データを評価し、所定の評価基準を満たさない場合に前記制御対象機械の再動作及び前記動作データの再記録を行う第8工程と、
を含むことを特徴とする学習済モデルの構築方法。 - 請求項5に記載の学習済モデルの構築方法であって、
前記第8工程において、前記動作データが評価基準を満たさない場合であって、前記学習済モデルに問題があるときは、前記第5工程又は第6工程に戻ることを特徴とする学習済モデルの構築方法。 - 請求項5又は6に記載の学習済モデルの構築方法であって、
前記学習済モデルは、複数の学習要素を含み、
前記第7工程において、前記学習済モデルの出力に基づく前記制御対象機械の動作が検証された場合、当該動作の根拠となった前記学習要素について検証済を記録し、
前記学習済モデルの実運用時には、検証済でない前記学習要素に基づく前記学習済モデルの出力を、予め定められた出力に、又は、検証済の前記学習要素に基づく出力に変更可能であることを特徴とする学習済モデルの構築方法。 - 請求項1から7までの何れか一項に記載の学習済モデルの構築方法であって、
前記制御対象機械はロボットであることを特徴とする学習済モデルの構築方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021145070A JP2023038132A (ja) | 2021-09-06 | 2021-09-06 | 学習済モデルの構築方法 |
CN202280060412.7A CN117957550A (zh) | 2021-09-06 | 2022-09-05 | 学习完成模型的构建方法 |
PCT/JP2022/033334 WO2023033179A1 (ja) | 2021-09-06 | 2022-09-05 | 学習済モデルの構築方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021145070A JP2023038132A (ja) | 2021-09-06 | 2021-09-06 | 学習済モデルの構築方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023038132A true JP2023038132A (ja) | 2023-03-16 |
Family
ID=85412493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021145070A Pending JP2023038132A (ja) | 2021-09-06 | 2021-09-06 | 学習済モデルの構築方法 |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP2023038132A (ja) |
CN (1) | CN117957550A (ja) |
WO (1) | WO2023033179A1 (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6886869B2 (ja) | 2017-06-09 | 2021-06-16 | 川崎重工業株式会社 | 動作予測システム及び動作予測方法 |
JP2021086558A (ja) * | 2019-11-29 | 2021-06-03 | キヤノンメディカルシステムズ株式会社 | データ選別装置、学習装置及びプログラム |
JP7460366B2 (ja) * | 2019-12-27 | 2024-04-02 | 川崎重工業株式会社 | 訓練データ選別装置、ロボットシステム及び訓練データ選別方法 |
-
2021
- 2021-09-06 JP JP2021145070A patent/JP2023038132A/ja active Pending
-
2022
- 2022-09-05 CN CN202280060412.7A patent/CN117957550A/zh active Pending
- 2022-09-05 WO PCT/JP2022/033334 patent/WO2023033179A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2023033179A1 (ja) | 2023-03-09 |
CN117957550A (zh) | 2024-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111684474B (zh) | 运算装置、运算方法及记录介质 | |
JP7460366B2 (ja) | 訓練データ選別装置、ロボットシステム及び訓練データ選別方法 | |
JP5436460B2 (ja) | 産業用ロボットシステム | |
JP6897037B2 (ja) | 作業性評価装置 | |
CN107065790B (zh) | 用于确定虚拟环境中的虚拟机器人的配置的方法和系统 | |
CN109798909A (zh) | 一种全局路径规划的方法 | |
JP6640060B2 (ja) | ロボットシステム | |
JP7128736B2 (ja) | ロボット制御装置、ロボットシステム及びロボット制御方法 | |
WO2021085345A1 (ja) | 機械学習データ生成装置、機械学習装置、作業システム、コンピュータプログラム、機械学習データ生成方法及び作業機械の製造方法 | |
CN109249388A (zh) | 运动生成方法、运动生成装置、运动生成系统及存储介质 | |
WO2022030041A1 (ja) | 予測システム、情報処理装置および情報処理プログラム | |
WO2019064916A1 (ja) | ロボットシミュレータ | |
WO2017134735A1 (ja) | ロボットシステム、ロボットの最適化システム、およびロボットの動作計画学習方法 | |
WO2023033179A1 (ja) | 学習済モデルの構築方法 | |
WO2019064917A1 (ja) | ロボットシミュレータ | |
TW202103875A (zh) | 動作規劃圖像產生之使用者介面、系統、方法及物件 | |
Liu et al. | A human-robot collaboration framework based on human motion prediction and task model in virtual environment | |
US20220281103A1 (en) | Information processing apparatus, robot system, method of manufacturing products, information processing method, and recording medium | |
US20200201268A1 (en) | System and method for guiding a sensor around an unknown scene | |
Österberg | Skill Imitation Learning on Dual-arm Robotic Systems | |
Bertram et al. | Development of a context-aware assistive system for manual repair processes-a combination of probabilistic and deterministic approaches | |
JP7376318B2 (ja) | アノテーション装置 | |
EP4088883A1 (en) | Method and system for predicting a collision free posture of a kinematic system | |
Gomes et al. | Volumetric Occupancy Detection: A Comparative Analysis of Mapping Algorithms | |
US20230173670A1 (en) | Information processing apparatus, system, information processing method, method of manufacturing products, and recording medium |