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

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

▶ ソニー株式会社の特許一覧

特開2022-175570情報処理装置、および情報処理方法、並びにプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022175570
(43)【公開日】2022-11-25
(54)【発明の名称】情報処理装置、および情報処理方法、並びにプログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20221117BHJP
   B25J 9/22 20060101ALI20221117BHJP
【FI】
G06N20/00 130
B25J9/22 A
【審査請求】未請求
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2021082091
(22)【出願日】2021-05-14
(71)【出願人】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100093241
【弁理士】
【氏名又は名称】宮田 正昭
(74)【代理人】
【識別番号】100101801
【弁理士】
【氏名又は名称】山田 英治
(74)【代理人】
【識別番号】100086531
【弁理士】
【氏名又は名称】澤田 俊夫
(74)【代理人】
【識別番号】100095496
【弁理士】
【氏名又は名称】佐々木 榮二
(74)【代理人】
【識別番号】110000763
【氏名又は名称】特許業務法人大同特許事務所
(72)【発明者】
【氏名】関口 舜一
(72)【発明者】
【氏名】鈴木 洋貴
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS04
3C707BS09
3C707DS01
3C707ES01
3C707JS01
3C707JU03
3C707KS03
3C707KS04
3C707KT01
3C707KT05
3C707LS02
3C707LT06
3C707LW12
3C707MT01
(57)【要約】
【課題】教示データを利用した学習処理を行う構成において、教示データの評価スコアや必要となる教示データを、ユーザに分かりやすく提示する装置、方法を提供する。
【解決手段】教示データ実行部が、教示データに基づくユーザ操作によるロボットの動きに応じたカメラ撮影画像と、ロボットの移動位置情報を学習データとして生成し、学習処理部が、教示データ実行部が生成した学習データを入力して機械学習を実行し、学習結果データとして画像とロボット行動規則とからなる教示データセットを生成し、フィードバック情報生成部が、教示データ実行部が生成した学習データと、学習処理部が生成した学習結果データを入力して、教示データの評価を実行し、評価結果に基づく数値的フィードバック情報や視覚的フィードバック情報を生成して出力する。
【選択図】図6
【特許請求の範囲】
【請求項1】
教示データに基づくユーザ操作によるロボットの動きに応じたカメラ撮影画像と、前記ロボットの移動位置情報を学習データとして生成する教示データ実行部と、
前記教示データ実行部が生成した学習データを入力して機械学習処理を実行し、学習結果データとして、画像とロボットの行動規則との対応関係データからなる教示データセットを生成する学習処理部と、
前記教示データ実行部が生成した学習データと、前記学習処理部が生成した学習結果データを入力して、前記教示データ実行部において実行された前記ユーザ操作に適用した教示データの評価を実行し、評価結果に基づくフィードバック情報を生成して出力部に出力するフィードバック情報生成部を有する情報処理装置。
【請求項2】
前記フィードバック情報生成部は、
前記フィードバック情報として、
前記教示データ実行部において実行した前記ユーザ操作に適用した教示データの評価値に相当するスコアの値を含む数値的フィードバック情報を生成して出力部に出力する請求項1に記載の情報処理装置。
【請求項3】
前記フィードバック情報生成部は、
前記数値的フィードバック情報として、
n段階のスコア値、ただしnは2以上の整数、
を生成して出力部に出力する請求項2に記載の情報処理装置。
【請求項4】
前記フィードバック情報生成部は、
前記数値的フィードバック情報として、
前記スコアの値に応じたランクを生成して出力部に出力する請求項2に記載の情報処理装置。
【請求項5】
前記フィードバック情報生成部は、
前記数値的フィードバック情報として、
前記学習処理部が生成した学習結果データである教示データセットに含まれる行動規則の不確かさを示すスコアを生成して出力部に出力する請求項2に記載の情報処理装置。
【請求項6】
前記フィードバック情報生成部は、
前記数値的フィードバック情報として、
前記教示データ実行部において実行した前記教示データに基づくユーザ操作によるロボットの移動位置と、前記学習処理部の学習処理によって生成した前記教示データセットに含まれる行動規則から予測されるロボットの移動位置の差分に応じたスコアである予測誤差を示すスコアを生成して出力部に出力する請求項2に記載の情報処理装置。
【請求項7】
前記フィードバック情報生成部は、
前記数値的フィードバック情報として、
前記教示データ実行部において実行した前記ユーザ操作に適用した教示データと、実行済みの教示データとの相違度を示すスコアを生成して出力部に出力する請求項2に記載の情報処理装置。
【請求項8】
前記フィードバック情報生成部は、
前記フィードバック情報として、
前記教示データ実行部において実行したユーザ操作に適用した教示データの評価結果に基づいて生成した画像、またはグラフを含む視覚的フィードバック情報を生成して出力部に出力する請求項1に記載の情報処理装置。
【請求項9】
前記フィードバック情報生成部は、
前記視覚的フィードバック情報として、
前記教示データ実行部において実行したユーザ操作に適用した教示データの評価値に相当するスコアをグラフ化したスコアグラフ表示データを生成して出力部に出力する請求項8に記載の情報処理装置。
【請求項10】
前記フィードバック情報生成部は、
前記視覚的フィードバック情報として、
前記教示データ実行部において適用する教示データの評価値に相当するスコアが高くなる領域を前記カメラ撮影画像上に示した高スコア領域指示データを生成して出力部に出力する請求項8に記載の情報処理装置。
【請求項11】
前記フィードバック情報生成部は、
前記視覚的フィードバック情報として、
前記カメラ撮影画像の色変更画像を生成して出力する構成であり、
前記教示データ実行部において実行したユーザ操作に適用した教示データの評価値に相当するスコアに応じて、前記カメラ撮影画像を異なる色に変更した色変更画像を生成して出力する請求項8に記載の情報処理装置。
【請求項12】
前記フィードバック情報生成部は、
前記視覚的フィードバック情報として、
前記教示データ実行部において実行したユーザ操作に適用した教示データと、過去に実行済みの教示データの類似度や相違度を示す識別グラフデータを生成して出力部に出力する請求項8に記載の情報処理装置。
【請求項13】
前記フィードバック情報生成部は、
前記視覚的フィードバック情報として、
前記教示データ実行部において実行したユーザ操作に適用した教示データに基づくロボットの動きに応じたカメラ撮影画像から取得した特徴データを圧縮して生成した潜在特徴データと、過去に実行済みの教示データに基づくロボットの動きに応じたカメラ撮影画像から取得した特徴データを圧縮して生成した潜在特徴データとの類似度や相違度を示す識別グラフデータを生成して出力部に出力する請求項8に記載の情報処理装置。
【請求項14】
前記フィードバック情報生成部は、
前記視覚的フィードバック情報として、
前記教示データ実行部において実行したユーザ操作に適用した教示データに従ったロボットの移動軌跡と、過去に実行済みの教示データに従ったロボットの移動軌跡との比較データを生成して出力部に出力する請求項8に記載の情報処理装置。
【請求項15】
情報処理装置において実行する情報処理方法であり、
教示データ実行部が、教示データに基づくユーザ操作によるロボットの動きに応じたカメラ撮影画像と、前記ロボットの移動位置情報を学習データとして生成する教示データ実行ステップと、
学習処理部が、前記教示データ実行部が生成した学習データを入力して機械学習処理を実行し、学習結果データとして、画像とロボットの行動規則との対応関係データからなる教示データセットを生成する学習処理ステップと、
フィードバック情報生成部が、前記教示データ実行部が生成した学習データと、前記学習処理部が生成した学習結果データを入力して、前記教示データ実行部において実行された前記ユーザ操作に適用した教示データの評価を実行し、評価結果に基づくフィードバック情報を生成して出力部に出力するフィードバック情報生成ステップを実行する情報処理方法。
【請求項16】
情報処理装置において情報処理を実行させるプログラムであり、
教示データ実行部に、教示データに基づくユーザ操作によるロボットの動きに応じたカメラ撮影画像と、前記ロボットの移動位置情報を学習データとして生成させる教示データ実行ステップと、
学習処理部に、前記教示データ実行部が生成した学習データを入力して機械学習処理を実行させ、学習結果データとして、画像とロボットの行動規則との対応関係データからなる教示データセットを生成させる学習処理ステップと、
フィードバック情報生成部に、前記教示データ実行部が生成した学習データと、前記学習処理部が生成した学習結果データを入力して、前記教示データ実行部において実行された前記ユーザ操作に適用した教示データの評価を実行させ、評価結果に基づくフィードバック情報を生成して出力部に出力させるフィードバック情報生成ステップを実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、および情報処理方法、並びにプログラムに関する。具体的にはロボットに所定の動作を実行させるための学習処理や、ロボット制御処理を行う情報処理装置、および情報処理方法、並びにプログラムに関する。
【背景技術】
【0002】
近年、様々な分野でロボットの利用が増大している。
例えば、工場では、従来、人が行っていた作業の多くをロボットが行うようになっている。
【0003】
工場内のロボットが行なう処理は様々であるが、その一例として物体把持処理がある。物体把持処理を利用した処理の具体例として、例えば、部品ボックスから1つの部品aを把持し、所定位置まで移動させて、他の部品bに装着するといった処理等がある。
【0004】
ロボットに上記のような処理を正確に実行させるためには、ロボットの動きを高精度に制御する必要がある。この制御アルゴリズムを構築する一つの手法として学習処理が利用される。
【0005】
例えば、ロボットに装着された、あるいは作業場所の特定位置に固定されたカメラによる撮影画像を解析する学習処理を行うことで、例えば上記のような処理(タスク)の自動化を実現するためのアルゴリズムを構築することができる。
【0006】
しかし、学習処理には、多くのサンプルデータ、例えば様々な異なる設定の撮影画像を入力して、多数の画像を解析することが必要となり、多大な時間、労力を要する。
【0007】
例えば、取得対象となる部品aの取得時の想定位置姿勢からのずれパターンが多数、存在し、さらに、部品aの装着対象となる部品bの位置や姿勢のずれのパターンも多数、存在するような場合、様々なずれパターンに対応した制御情報を生成するためには、非常に多数のサンプルデータ(カメラ撮影画像)が必要であり、学習処理にも相当の時間を要する。
【0008】
このような問題を解決する手法の一つとして、ロボットの様々な動きを示す教示データを人が作成して、ロボットに教示データと同様の動きを学習させる模倣学習処理が提案されている。
【0009】
教示データを利用した模倣学習処理の一例として、例えば、人が直接、ロボットを動かして、様々な部品位置に対応する理想的なロボットの動きを学習させるものがある。
人が直接、ロボットを動かすことで、ロボットがその動きを学習することができる。
なお、教示データを利用した学習処理について開示した従来技術として、例えば特許文献1(特開2005-135095号公報)等がある。
【0010】
教示データを用いた学習は、例えば、人が細かくルールを設計することなく、汎用性の高い動作、例えば物体の位置の変動に強い動作をロボットに、直接、覚えさせることが可能となるといった利点がある。
【0011】
しかし、このような教示データを用いた学習処理、例えば深層学習を行った場合、学習処理によって得られるロボットの性能は、利用した教示データに大きく依存することになる。
ロボットの性能を向上させるためには、質の高い、つまり、多くの領域をカバーした教示データセットを作成する必要がある。
【0012】
例えばある部品を把持させる処理を行う場合、ロボットの理想的な動作は、把持対象となる部品の位置や、部品の向きなどに応じて異なる。
複数の異なる部品の位置や、部品の向きに応じた理想的な動きを学習したロボットは、学習結果を利用して部品把持を行うことが可能となる。
【0013】
部品位置や部品の向きの設定が学習処理の際に利用した教示データと類似する場合は、ロボットは学習処理によって得られた知識に基づいて理想的な動きを行うことができる。しかし、部品位置や部品の向きの設定が教示データと異なる場合には、ロボットは学習処理による知識のみでは理想的な動きを行うことができない。
従って、ロボットの性能を向上させるためには、質の高い、つまり、多くの領域をカバーした多数の教示データを作成してロボットに覚えさせる必要がある。
【0014】
しかし、何の指標もなしに人が教示データを作成すると、どうしても偏りやカバーできない領域ができてしまう。その結果、深層学習を用いたとしても、汎用性が低くなり、期待した性能を得られない場合が多い。
【0015】
このような場合、さらに新たな教示データを追加して学習を行わせることが必要となるが、何の指標もなく、新たな教示データに基づく学習処理を行わせても、すでに利用した教示データと類似するデータを学習させるといった無駄な処理が行われる可能性もあり、結果として、目的とする性能をロボットに獲得させるために膨大な時間がかかってしまう。
この問題は、共変量シフト(Covariate Shift)と呼ばれ、以前から、解決策が模索されてきた。
【0016】
この共変量シフトの解決策を示した手法の1つとして例えば以下の手法がある。
ロボットが学習した行動規則を実際の環境で実行させて、その結果、発生した状態、例えば問題が発生した状態に人が教示データをラベル付けして、ラベル設定された教示データを新規の教示データとして学習させるという手法である。
しかしこの手法は、必要な教示データを発見するために多くの労力と時間を必要とする。
【0017】
さらに、教示データセットを大量に増やす手法も提案されている。
教示データセットを大量に増やすことにより、データセットの偏りを防ぎ、かつ、広範囲な動きをカバーすることが可能となる。
人が直接、大量の教示データセットを作成すれば、実際のシステムを動かす必要がないので、多種類のデータセットを作成する効率は高くなる。しかし、多種類の教示データセットを探索的に作成する必要性があることに変わりはなく、労力や時間を大きく削減することはできないという問題がある。
【先行技術文献】
【特許文献】
【0018】
【特許文献1】特開2005-135095号公報
【発明の概要】
【発明が解決しようとする課題】
【0019】
本開示は、例えば上記問題点に鑑みてなされたものであり、教示データを利用してロボットに動きを学習させる構成において、多種類の有効な教示データを効率的に作成してロボットに学習させることを可能とし、効率的にロボット性能を向上させることを可能とした情報処理装置、および情報処理方法、並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【0020】
本開示の第1の側面は、
教示データに基づくユーザ操作によるロボットの動きに応じたカメラ撮影画像と、前記ロボットの移動位置情報を学習データとして生成する教示データ実行部と、
前記教示データ実行部が生成した学習データを入力して機械学習処理を実行し、学習結果データとして、画像とロボットの行動規則との対応関係データからなる教示データセットを生成する学習処理部と、
前記教示データ実行部が生成した学習データと、前記学習処理部が生成した学習結果データを入力して、前記教示データ実行部において実行された前記ユーザ操作に適用した教示データの評価を実行し、評価結果に基づくフィードバック情報を生成して出力部に出力するフィードバック情報生成部を有する情報処理装置にある。
【0021】
さらに、本開示の第2の側面は、
情報処理装置において実行する情報処理方法であり、
教示データ実行部が、教示データに基づくユーザ操作によるロボットの動きに応じたカメラ撮影画像と、前記ロボットの移動位置情報を学習データとして生成する教示データ実行ステップと、
学習処理部が、前記教示データ実行部が生成した学習データを入力して機械学習処理を実行し、学習結果データとして、画像とロボットの行動規則との対応関係データからなる教示データセットを生成する学習処理ステップと、
フィードバック情報生成部が、前記教示データ実行部が生成した学習データと、前記学習処理部が生成した学習結果データを入力して、前記教示データ実行部において実行された前記ユーザ操作に適用した教示データの評価を実行し、評価結果に基づくフィードバック情報を生成して出力部に出力するフィードバック情報生成ステップを実行する情報処理方法にある。
【0022】
さらに、本開示の第3の側面は、
情報処理装置において情報処理を実行させるプログラムであり、
教示データ実行部に、教示データに基づくユーザ操作によるロボットの動きに応じたカメラ撮影画像と、前記ロボットの移動位置情報を学習データとして生成させる教示データ実行ステップと、
学習処理部に、前記教示データ実行部が生成した学習データを入力して機械学習処理を実行させ、学習結果データとして、画像とロボットの行動規則との対応関係データからなる教示データセットを生成させる学習処理ステップと、
フィードバック情報生成部に、前記教示データ実行部が生成した学習データと、前記学習処理部が生成した学習結果データを入力して、前記教示データ実行部において実行された前記ユーザ操作に適用した教示データの評価を実行させ、評価結果に基づくフィードバック情報を生成して出力部に出力させるフィードバック情報生成ステップを実行させるプログラムにある。
【0023】
なお、本開示のプログラムは、例えば、様々なプログラム・コードを実行可能な情報処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、情報処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。
【0024】
本開示のさらに他の目的、特徴や利点は、後述する本開示の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【0025】
本開示の一実施例の構成によれば、教示データを利用した学習処理を行う構成において、教示データの評価スコアや必要となる教示データを、ユーザに分かりやすく提示する装置、方法が実現され、効率的な学習処理やロボット性能の向上が可能となる。
具体的には、例えば、教示データ実行部が、教示データに基づくユーザ操作によるロボットの動きに応じたカメラ撮影画像と、ロボットの移動位置情報を学習データとして生成し、学習処理部が、教示データ実行部が生成した学習データを入力して機械学習を実行し、学習結果データとして画像とロボット行動規則とからなる教示データセットを生成し、フィードバック情報生成部が、教示データ実行部が生成した学習データと、学習処理部が生成した学習結果データを入力して、教示データの評価を実行し、評価結果に基づく数値的フィードバック情報や視覚的フィードバック情報を生成して出力する。
本構成により、教示データを利用した学習処理を行う構成において、教示データの評価スコアや必要となる教示データを、ユーザに分かりやすく提示する装置、方法が実現され、効率的な学習処理やロボット性能の向上が可能となる。
なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、また付加的な効果があってもよい。
【図面の簡単な説明】
【0026】
図1】ロボットの動作と制御処理の一例について説明する図である。
図2】ロボットの動作と制御処理の一例について説明する図である。
図3】ロボットに対するユーザ操作による教示データを用いた学習処理の一例について説明する図である。
図4】ロボットに対するユーザ操作による教示データを用いた学習処理の一例について説明する図である。
図5】特定の部品位置や部品姿勢に対応する教示データが作成できない例について説明する図である。
図6】本開示の情報処理装置が実行する処理の概要について説明する図である。
図7】教示データ実行部の構成と処理について説明する図である。
図8】学習処理部の構成と処理について説明する図である。
図9】フィードバック情報生成部の構成と処理について説明する図である。
図10】フィードバック情報生成部が生成するフィードバック情報の具体例について説明する図である。
図11】フィードバック情報生成部が生成するフィードバック情報の具体例について説明する図である。
図12】フィードバック情報生成部が生成するフィードバック情報の具体例について説明する図である。
図13】フィードバック情報生成部が生成するフィードバック情報の具体例について説明する図である。
図14】フィードバック情報生成部が生成するフィードバック情報の具体例について説明する図である。
図15】フィードバック情報生成部が生成するフィードバック情報の具体例について説明する図である。
図16】フィードバック情報生成部が生成するフィードバック情報の具体例について説明する図である。
図17】フィードバック情報生成部が生成するフィードバック情報の具体例について説明する図である。
図18】フィードバック情報生成部が生成するフィードバック情報の具体例について説明する図である。
図19】フィードバック情報生成部が生成し出力部に出力するフィードバック情報の具体例について説明する図である。
図20】本開示の情報処理装置の構成例について説明する図である。
図21】本開示の情報処理装置が実行する処理のシーケンスについて説明するフローチャートを示す図である。
図22】本開示の情報処理装置が実行する処理のシーケンスについて説明するフローチャートを示す図である。
図23】本開示の情報処理装置のハードウェア構成例について説明する図である。
【発明を実施するための形態】
【0027】
以下、図面を参照しながら本開示の情報処理装置、および情報処理方法、並びにプログラムの詳細について説明する。なお、説明は以下の項目に従って行なう。
1.ロボット制御処理の一例について
2.ロボット制御アルゴリズム構築のための教示データを利用した学習処理について
3.本開示の情報処理装置が実行する処理の概要について
4.本開示の情報処理装置が実行する処理の具体例について
5.出力部における表示データの例について
6.本開示の情報処理装置の構成例について
7.本開示の情報処理装置が実行する処理のシーケンスについて
8.本開示の情報処理装置のハードウェア構成例について
9.本開示の構成のまとめ
【0028】
[1.ロボット制御処理の一例について]
まず、図1以下を参照してロボット制御処理の一例について説明する。
図1はロボット100が実行する処理の一例を示す図である。
【0029】
ボックスaには、多数の部品が入れられている。ロボット100は、ボックスaから1つの部品をロボット先端の把持部101で把持し、アーム部102を回動させて把持部101をボックスbの位置まで移動し、把持した部品をボックスbに入れる処理を実行する。
【0030】
このようにロボット100が部品をボックスaから取り出して、ボックスbに入れる処理を行う場合の処理シーケンスについて図2を参照して説明する。
ロボット100は図2に示すステップS01~S04の順に以下の処理を実行する。
(ステップS01)
ロボット100は、まず、ステップS01において、ボックスaから把持対象とする1つの部品を選択して、その選択部品を把持可能な位置に把持部101を移動させる。
【0031】
(ステップS102)
次に、ロボット100は、ステップS02において、把持部101を駆動して選択部品を把持し、上に持ち上げる。
【0032】
(ステップS03)
その後、ロボット100は、ステップS03において、把持部101に部品を把持したまま、アーム部102を回動させて、把持部101をボックスbの上まで移動させる。
【0033】
(ステップS04)
その後、ロボット100は、ステップS04において、部品を把持した把持部101を降下させて、ボックスbに近づけた後、把持部101の部品把持状態を解除して部品を把持部101から離してボックスbに入れる。
【0034】
しかし、ロボット100がこれらのシーケンスに従って部品を把持して移動させる動作を行う場合、ロボット100は、部品ごとに異なる動作を行うことが要求される。
【0035】
例えば、ボックスaから一つの部品を取得する部品ピッキング処理を行う場合、ロボット100は、部品の位置や向きなどに応じて、異なる態様の移動や把持処理を行うことが必要となる。
さらに、ボックスbに部品を入れる際にも、ボックスbにすでにある部品の位置に応じて異なる処理が必要となる。
【0036】
従って、上記ステップS01~S04の処理を各部品に対して、正確に実行するためには、様々な状態をすべて想定したロボット制御が必要となる。
このような各状態に応じた異なるロボット制御を行うための処理として学習処理が有効となる。
以下、ロボット制御のための学習処理の一例について説明する。
【0037】
[2.ロボット制御アルゴリズム構築のための教示データを利用した学習処理について]
次に、ロボット制御アルゴリズム構築のための教示データを利用した学習処理について説明する。
【0038】
ロボットによる動作の実行中にロボットに装着されたカメラ、あるいは作業場所の特定位置に固定されたカメラの撮影画像を解析する学習処理を行うことで、例えば図1図2を参照して説明したような処理の自動化を実現する制御アルゴリズムを構築することができる。
【0039】
しかし、学習処理には多くのサンプルデータが必要となる。例えば様々な異なる位置や姿勢の部品を把持する多数の画像を撮影して解析するといった処理が必要となり、多大な時間や労力を要する。
【0040】
例えば、把持対象となる部品の位置や姿勢のパターンが多数、存在する場合、様々なパターン対応の制御情報を生成することが必要であり、このためには、各パターン対応の多数のサンプルデータ(カメラ撮影画像)が必要となり、学習処理にも相当の時間を要する。
【0041】
このような問題を解決する手法の一つとして、ロボットの様々な動きを示す教示データを人が作成して、ロボットに教示データと同様の動きを学習させる学習処理(模倣学習処理)が提案されている。
【0042】
教示データを利用した学習処理は、例えば、人が直接、ロボットの把持部やアーム部を操作して、様々な部品位置に対応する理想的なロボットの動きを実際に行わせて、その軌道等を記憶させる学習処理である。なお、人がコントローラを用いてロボットを動かして、その動きをロボットに記憶させることも可能である。
このように、人がロボットを動かすことで、ロボットがその動きを学習することができる。
【0043】
例えば、図3に示すように、ユーザ(オペレータ)120が、ロボット100を直接、動かす。このロボット100の操作中、ロボット100の把持部101に装着されたカメラ105が、把持部105の下方向の画像を撮影する。
例えば、図4に示すように、先に図2を参照して説明したステップS01~S04の動きをユーザの操作の下で実行させ、一連の画像を撮影する。
【0044】
この撮影画像を利用して学習処理を行う。
ユーザ120がロボット100を動かすと、撮影画像も逐次、更新される。ロボット100内部の情報処理装置、あるいはロボット100から画像を受信して解析を行う情報処理装置は、撮影画像の解析を行い、ロボット100の一連の動きと撮影画像の変化シーケンスとの対応データを生成することができる。
【0045】
すなわち、学習処理により、
撮影画像と、
ロボット100の行動規則、
これらのデータの組み合わせからなるデータセット(=学習結果データ)を生成することが可能となる。
このデータセットは、「教示データセット」と呼ばれる。
【0046】
学習処理の結果として、様々な部品位置対応の「撮影画像」に対応する「行動規則」の組み合わせからなる教示データセット(=学習結果データ)が多数、生成される。
学習処理の終了後、この教示データセット(=学習結果データ)を利用してロボット100を制御することで、ロボット100に様々な位置にある部品を確実に把持させることが可能となる。
【0047】
すなわち、ロボット100に装着したカメラの撮影画像に路維持する撮影画像を教示データセット(=学習結果データ)から選択して、選択された教示データセットの「撮影画像」に対応する「行動規則」に従ってロボット100を動作させることで、学習処理時にユーザが操作した動きと同様の動きをロボット100に行わせることが可能となる。
【0048】
教示データを用いた学習の利点は、例えば、人が細かくルールを設計することなく、汎用性の高い動作、例えば物体の位置の変動に強い動作をロボットに、直接、覚えさせることが可能となることである。
【0049】
このような教示データを適用した機械学習、特に深層学習を行った場合、学習によって得られるロボットの性能は、利用した教示データに大きく依存することになる。
ロボットの性能を向上させるためには、質の高い、つまり、多くの領域をカバーした教示データセットを作成してロボットに覚えさせる必要がある。
【0050】
しかし、何の指標もなしに人が教示データを作成すると、どうしても偏りやカバーできない領域ができてしまう。具体的には、例えば、特定の部品位置や部品姿勢に対応する教示データが作成できていないといった問題が発生する。
【0051】
例えば図5に示すように、ユーザ120が、ボックスaの特定領域、すなわち右上に示す領域aの近辺でロボット100に部品を把持させる動作を繰り返し実行して学習処理を行うと、この領域a内の教示データに基づく学習処理によって領域a内の部品を把持させるための学習結果データとしての教示データセットはたくさん作成される。
【0052】
しかし、ユーザ120が領域bでロボット100を動作させないと、この領域b対応の教示データに基づく学習処理が行なわれず、領域b内の部品を把持するための学習結果データとしての教示データセットがほとんど作成されないことになる。
【0053】
この結果、学習処理結果として得られる教示データセットを用いてロボット100を制御した場合、領域aにある部品を把持する処理は学習結果に含まれる教示データセットを用いて良好な制御を行うことが可能となるが、領域bにある部品を把持する処理は学習結果に含まれる教示データセットを用いても良好な制御を行うことが困難となる。
【0054】
このように、不十分な教示データによる学習処理を行うと、深層学習を用いたとしても、特定の部品位置に対応する制御が困難となる。結果として汎用性が低下し、期待したロボット性能を実現できなくなる。
【0055】
前述したように、この問題は、共変量シフト(Covariate Shift)と呼ばれ、以前から、解決策が模索されてきた。
例えば、ロボットが学習した行動規則を実際の環境で実行させて、その結果、発生した状態、例えば問題が発生した状態に人が教示データをラベル付けして、ラベル設定された教示データを新規の教示データとして学習させるという手法や教示データセットを大量に増やす手法などがある。
しかしこれらの手法は、いずれも必要な教示データを発見するために多くの労力と時間を必要とすることに変わりなく、労力や時間を大きく削減することはできないという問題がある。
【0056】
[3.本開示の情報処理装置が実行する処理の概要について]
次に、本開示の情報処理装置が実行する処理の概要について説明する。
【0057】
本開示は、例えば上記問題点に鑑みてなされたものであり、教示データを利用してロボットに動きを学習させる場合に、効率的に多種類の有効な教示データを作成すること可能としたものである。
すなわち、偏りやカバーできない領域が発生する可能性を低下させて、効率的に過不足のない有効な教示データを作成可能としたものである。
過不足のない有効な教示データを用いた学習処理を行うことで、ロボットの性能を効率的に確実に向上させることが可能となる。
【0058】
本開示の情報処理装置は、例えば、教示データに従ってロボットを動かすユーザ(オペレータ)に対するフィードバック情報を生成して提示する。例えば、ユーザが実行した教示データの評価値であるスコアなど、数値的なフィードバック情報や、視覚的なフィードバック情報を生成して提示する。
【0059】
ユーザ(オペレータ)は、本開示の情報処理装置が生成したフィードバック情報を参照することで、新たな教示データとしてどのような教示データが必要かを容易に判断することが可能となる。
【0060】
なお、本開示の情報処理装置が生成してユーザに提示するフィードバック情報は、学習処理の結果として得られる行動規則の不確かさや、行動規則の損失(教示データセットとの予測誤差)、さらにカメラ撮影画像の解析によって得られる潜在特徴データなどを利用して作成する。
【0061】
なお、潜在特徴データとは、元データの有する特徴データを圧縮して簡略化した特徴データである。例えば、カメラの撮影画像から得られる特徴データは、画像の大きさ(高さ、幅)、オブジェクト距離、画素単位の色、輝度等、多数のデータから構成され、これらを全て出力しようとすると数100次元の膨大なデータとなり、解析処理に膨大な時間を要する。このような膨大なデータを例えば64次元や32次元、あるいは2次元、3次元等、数次元のベクトルに圧縮して生成するデータが潜在特徴データである。潜在特徴データを利用して解析を行うことで効率的な解析が可能となる。
【0062】
このように、潜在特徴データは、元データの有する特徴データを圧縮して簡略化した特徴データであり、本開示の情報処理装置は、この潜在特徴データを利用してユーザに提示する教示データの評価値であるスコアなどの数値的なフィードバック情報と、視覚的なフィードバック情報、これら2つのフィードバック情報を生成する。
【0063】
本開示の情報処理装置は、従来の教示データを用いた学習処理の問題点、すなわち、人が生成する教示データに偏りが発生し、カバーできない領域が発生してしまうという問題点を解決するものである。
【0064】
具体的には、例えば、生成すべき新たな教示データや、学習の難しい領域に対応する教示データなどをユーザが確認できる視覚的なフィードバック情報や数値的なフィードバック情報を生成してユーザに提示する処理を実行する。
【0065】
以下、本開示の情報処理装置が生成してユーザに提供するフィードバック情報の具体例について説明する。
【0066】
(1)数値的フィードバック情報
数値的フィードバック情報は、例えば、ユーザが実行した教示データの評価値である。
予め規定した基準値に基づいて算出されるスコア、例えば5段階の評価値としてのスコア=1,2,3,4,5等の5段階のスコアを生成して提示する。
なお、5段階は一例であり、少なくとも2段階以上の複数段階のスコアを利用する構成が可能である。
このようなスコアを用いることで、ユーザに分かりやすいフィードバック情報を提供できる。
なお、スコア生成処理と提示処理の具体例については後段で説明する。
【0067】
(2)視覚的フィードバック情報
視覚的フィードバック情報には、以下の複数の情報がある。
(2a)スコアグラフ表示データ
(2b)高スコア領域指示データ
(2c)スコア対応色表示データ
(2d)類似教示データの識別グラフデータ
(2e)教示データ対応軌跡データ
【0068】
本開示の情報処理装置が生成してユーザに提示する視覚的フィードバック情報には、これら複数の情報がある。
以下、各情報の概要について説明する。なお、以下に説明する視覚的フィードバック情報の具体例については、後段で説明する。
【0069】
(2a)スコアグラフ表示データ
スコアグラフ表示データは、例えばスコア対応の棒グラフ等のグラフィックデータであり、ユーザが実行した教示データの評価値を分かりやすい視覚的情報としたデータである。例えば、上記の数値的フィードバック情報であるスコアに応じた棒グラフや、星の数(★★☆☆☆等)を出力する。
これにより、ユーザはユーザが実行した教示データのスコアが高いか低いかを即座に確認できる。
【0070】
(2b)高スコア領域指示データ
高スコア領域指示データは、例えば、カメラ撮影画像上にスコアの高い教示データが生成可能な領域を示す矢印等のマークを表示したデータである。
ロボットに取り付けられたカメラの撮影画像を表示部に出力する際、表示画像上にスコアの高い教示データが生成可能な領域を示す矢印等のマークを表示する。
これにより、ユーザは新たに生成すべき教示データの位置や軌道等を確認できる。
【0071】
(2c)スコア対応色表示データ
スコア対応色表示データは、スコア対応の色を出力したカメラ撮影画像の表示データである。
ロボットに取り付けられたカメラの撮影画像を表示部に出力する際、表示画像の色を、上記の数値的フィードバック情報であるスコアに応じた異なる色とする。例えば、スコアが低い場合は青色画像とし、スコアが高い場合は赤色画像とする。
これにより、ユーザはユーザが実行した教示データのスコアが高いか低いかを即座に確認できる。
【0072】
(2d)類似教示データの識別グラフデータ
類似教示データの識別グラフデータは、ユーザが新たに実行した教示データに従ったロボットの軌跡に従ったカメラ撮影画像から得られる特徴データと、すでに実行済みの教示データ対応のカメラ撮影画像から取得した特徴データの比較データである。
【0073】
ユーザが新たに実行した教示データと、すでに実行済みの教示データとの比較データを生成して表示する。
例えば、ユーザが新たに実行した教示データに従ったロボットの軌跡に従ったカメラ撮影画像から得られる特徴データと、すでに実行済みの教示データ対応のカメラ撮影画像から取得した特徴データの比較データを生成して表示する。
なお、表示データは、理解しやすくするため、数次元の潜在特徴データに圧縮して表示する。
これにより、ユーザは新たに実行した教示データが、実行済みの教示データと類似するか否かを容易に確認できる。
【0074】
(2e)教示データ対応軌跡データ
教示データ対応軌跡データは、ユーザが新たに実行した教示データによるロボットの軌跡(例えば把持位置)と、すでに実行済みの教示データによるロボットの軌跡(例えば把持位置)との比較データを生成して表示したものである。
ユーザが新たに実行した教示データによるロボットの軌跡(例えば把持位置)と、すでに実行済みの教示データによるロボットの軌跡(例えば把持位置)との比較データを生成して表示する。
例えば3次元グラフ上に軌跡データを描画して表示する。
【0075】
これにより、ユーザは新たに実行した教示データによる軌跡が、実行済みの教示データの軌跡と類似するか否かを容易に確認できる。
なお、上述した視覚的フィードバック情報の具体例については、後段で説明する。
【0076】
このように、本開示の情報処理装置は、ユーザが確認できる視覚的なフィードバック情報や数値的なフィードバック情報を生成してユーザに提示する処理を実行する。
ユーザは、提示情報を確認することで、生成すべき新たな教示データや、学習の難しい領域に対応する教示データなどを容易に確認することができる。
【0077】
この結果、ロボットに教示したい動作(例えば物体把持動作)に対応する過不足の無い教示データを利用した学習処理により、有効な教示データセットを効率的に収集可能となり、学習処理結果としての行動規則を効率的に生成することが可能となる。
【0078】
[4.本開示の情報処理装置が実行する処理の具体例について]
次に、本開示の情報処理装置が実行する処理の具体例について説明する。
【0079】
以下、本開示の情報処理装置が実行するフィードバック情報の生成、出力処理例、すなわち、ユーザ(オペレータ)が教示データを適用してロボットを操作して、ロボットの制御に利用するための教示データセット(カメラ撮影画像と行動規則)を生成するための学習処理を実行する場合のフィードバック情報の生成、出力処理例について説明する。
【0080】
以下では、処理の具体例として、ユーザ(オペレータ)がロボットに代わり、簡易教示器具を用いて、物体把持動作を学習させる場合の処理例について説明する。
簡易教示器具は、実際のロボットと同様の動きを可能とした簡易的な器具であり、ユーザが操作しやすい小型の装置である。
なお、簡易教示器具ではなく、実際の制御対象のロボットを用いて処理を行ってもよい。
【0081】
以下の説明では、ある箱Aに入っている物体を箱Bに移動させる、Pick and Placeタスクを教示するケースをモデルケースとして説明する。
【0082】
なお、本開示の処理は、以下に説明する具体例に限らず、教示データを利用した学習処理全般において適用可能である。
例えば、コントローラ等を用いてロボットに実際の動きを実行させてアーム部や把持部の位置、動きなどを逐次、記憶させるティーチングペンダント型の教示処理や、人がロボットアームなどを直接動かして教示する処理などにおいても適用可能である。
また、ロボットに実行させる動作(タスク)も、把持動作に限らない。
【0083】
まず、図6を参照して本開示の情報処理装置が実行する処理の概要について説明する。
図6には、以下の各要素を示している。
(A)教示データ実行部140
(B)学習処理部160
(C)フィードバック情報生成部170
【0084】
「(A)教示データ実行部140」では、ユーザ(オペレータ)が教示データを利用して簡易教示器具を操作する。教示データ実行部140内では、簡易教示器具に装着されたカメラの撮影画像の解析が行われ、例えば簡易教示器具の把持部の位置や移動量が算出され、撮影画像と把持部位置、移動量データが学習データ150として記憶部に格納される。
【0085】
なお、前述したように、簡易教示器具は、実際のロボットと同様の動きを可能とした簡易的な器具であり、ユーザが操作しやすい小型の装置である。
簡易教示器具の代わりに実際のロボットを用いてもよい。
【0086】
「(B)学習処理部160」は、記憶部に格納された学習データ(撮影画像と把持部位置、移動量データ)150を利用して学習処理を実行する。
(B)学習処理部160における学習処理の結果として生成する学習結果データには、教示データセット、すなわち、撮影画像と、行動規則(把持位置の移動軌跡等)のデータセットからなる教示データセットが含まれる。
【0087】
「(C)フィードバック情報生成部170」は、(A)教示データ実行部140において生成され記憶部に格納された学習データ150、すなわち撮影画像と把持部位置、移動量データを入力する。
さらに(B)学習処理部160から、学習結果データ、すなわち、撮影画像と、行動規則(把持位置の移動軌跡等)のデータセットからなる教示データセットを入力する。
【0088】
「(C)フィードバック情報生成部170」は、これらの入力データに基づいて、ユーザ(オペレータ)に対するフィードバック情報を生成して出力部(表示部)180に出力する。
【0089】
出力部(表示部)180に表示されるフィードバック情報は、前述した数値的フィードバック情報や、視覚的フィードバック情報によって構成される。
【0090】
ユーザ(オペレータ)120は、出力部(表示部)180に表示されたフィードバック情報を見て、ユーザ(オペレータ)120が実行した教示データの評価を確認する。さらに必要な教示データの態様(ロボットの把持部の軌跡等)を確認し、これらの確認結果に応じて、(A)教示データ実行部140において新たに必要となる教示データを利用してロボットを動作させる。
【0091】
これらの処理を繰り返すことで、有効な漏れの無い教示データセットの生成が可能となる。
以下、図6に示す各構成部の具体的な構成と処理について、順次、説明する。
【0092】
(4-(A)教示データ実行部の構成と処理について)
まず、(A)教示データ実行部140の構成と処理について説明する。
【0093】
図7を参照して教示データ実行部140の構成と処理について説明する。
図7に示すように、(A)教示データ実行部140では、ユーザ(オペレータ)120が教示データを利用して簡易教示器具110を操作する。教示データ実行部140内では、簡易教示器具に装着されたカメラの撮影画像の解析が行われ、例えば簡易教示器具の把持部の位置や移動量が算出され、撮影画像と把持部位置、移動量データが学習データ150として記憶部に格納される。
【0094】
なお、前述したように、簡易教示器具は、実際のロボットと同様の動きを可能とした簡易的な器具であり、ユーザが操作しやすい小型の装置である。
簡易教示器具の代わりに実際のロボットを用いてもよい。
【0095】
図7に示すように、簡易教示器具110の把持部にはカメラ105が取り付けられている。
ユーザ(オペレータ)120は、簡易教示器具110を直接、動かしてある動作(タスク)を実行させる。あるいはコントローラを用いて簡易教示器具110を動かしてもよい。
動作(タスク)とは、例えば部品の把持処理、移動処理等の一連の動作である。1回のタスクの実行を1試行とする。
【0096】
このタスク実行の際、カメラ105は連続的に画像撮影を実行する。例えば動画撮影を行う。
教示データ実行部140内では、カメラ105の撮影画像の解析が行われ、例えば簡易教示器具の把持部の位置や移動量を算出する。
教示データ実行部140は、図7に示す教示データ実行部生成データ145、すなわち、撮影画像と把持部位置、移動量データを含む教示データ実行部生成データ145を生成し、これを学習データ150として記憶部に格納する。
【0097】
図7の教示データ実行部生成データ145には、タスク実行時に撮影された一枚の撮影画像の例(カメラ撮影画像)を示しているが、タスクの開始時刻(t0)から、タスクの終了時刻(t_terminal)まで、カメラ105は連続的に画像撮影を実行し、連続撮影画像が学習データ150として記憶部に格納される。
【0098】
教示データ実行部140内では、カメラ105の撮影画像の解析が行われ、例えば簡易教示器具の把持部の位置や移動量を算出する。具体的には、例えばSLAM(Simultaneous Localization and Mapping)処理等の自己位置推定処理によって算出される把持位置の位置や移動量の時系列データ(初期時刻(t0)から、タスクの終了時刻(t_terminal)まで)を、カメラ撮影画像とともに学習データ150として記憶部に保存する。
【0099】
なお、SLAM(Simultaneous Localization and Mapping)は、カメラ撮影画像を用いて、自己位置推定処理(ローカリゼーション)と環境地図作成処理(mapping)を並行して実行する処理である。
【0100】
(4-(B)学習処理部の構成と処理について)
次に、(B)学習処理部160の構成と処理について説明する。
【0101】
図8を参照して学習処理部160の構成と処理について説明する。
学習処理部160は、記憶部に格納された学習データ(撮影画像と把持部位置、移動量データ)150を利用して学習処理を実行する。
学習処理部160は、学習処理結果として教示データセット、すなわち、撮影画像と、行動規則(把持位置(把持部)の移動軌跡等)のデータセットからなる教示データセットを含む学習結果データ165を生成する。
【0102】
学習処理部160において実行する学習処理は、いわゆる機械学習であり、様々な学習アルゴリズムの適用が可能である。学習処理の一例としてディープニューラルネットワーク(DNN)を用いた学習処理であるディープラーニングがある。ディープラーニングを利用すれば、サンプルデータを入力して、学習処理部自身が大量のデータから特徴量を自動抽出して、様々なデータに対応する最適解、例えばロボットの制御パラメータを生成することができる。
【0103】
ディープニューラルネットワーク(DNN)を利用した学習処理としては、例えば、畳み込みニューラルネットワークであるCNN(Convolutional Neural Network)を用いた深層学習が知られている。
【0104】
学習処理部160は、記憶部に格納された学習データ(撮影画像と把持部の位置や移動量データ)150を利用して学習処理を実行する。記憶部には、学習データ150としてある時刻の画像とある時刻の把持位置の位置や移動量が保存されている。学習処理部160は、これらの対応関係データに対する深層学習(CNN)を用いた学習処理を実行し、画像と把持部の位置関係、つまり、行動規則を学習する。
【0105】
学習処理部160は、学習処理結果として教示データセット、すなわち、撮影画像と、行動規則(把持位置(把持部)の移動軌跡等)のデータセットからなる教示データセットを含む学習結果データ165を生成する。
【0106】
従来型の学習処理による教示データセットの作成処理においては、ユーザが作成した教示データを教示データ実行部140において実行し、この結果生成される学習データを学習処理部160で学習するという処理を繰り返すことで、学習結果データとしての教示データセットの作成を行っていた。
【0107】
しかし、このような処理では、ユーザが任意に作成する教示データは重複したものである場合や、ある領域についてのデータが不足するものである等の事象が発生するため、漏れの無い学習結果を得ることができない場合が多い。
すなわち、このような手法では、ユーザがどのように教示データを作成すればよいのかの指標がなく、やみくもに教示データを作成して実行する必要があるため、有効な学習結果が得られにくいという問題がある。
【0108】
この問題を解決するのが、以下に説明する(C)フィードバック情報生成部170である。
【0109】
(4-(C)フィードバック情報生成部の構成と処理について)
次に、フィードバック情報生成部170の構成と処理について説明する。
【0110】
図9以下を参照してフィードバック情報生成部170の構成と処理について説明する。
図9に示すように、フィードバック情報生成部170は、教示データ実行部140において生成され記憶部に格納された学習データ150、すなわち撮影画像と把持部移動量データから構成される教示データ実行部生成データ145を入力する。さらに学習処理部160から、学習結果データ165、すなわち、撮影画像と、行動規則(把持位置の移動軌跡等)のデータセットからなる教示データセットを入力する。
【0111】
フィードバック情報生成部170は、これらの入力データに基づいて、ユーザ(オペレータ)に対するフィードバック情報を生成する。
生成したフィードバック情報は、出力部(表示部)180に出力される。
【0112】
フィードバック情報生成部170が生成するフィードバック情報は、前述した数値的フィードバック情報や、視覚的フィードバック情報である。
【0113】
ユーザ(オペレータ)120は、出力部(表示部)180に表示されたフィードバック情報を見て、ユーザ(オペレータ)120が実行した教示データの評価を確認する。さらに必要な教示データの態様(ロボットの把持部の軌跡等)を確認し、これらの確認結果に応じて、教示データ実行部140において新たに必要となる教示データを利用してロボットを動作させる。
これらの処理を繰り返すことで、有効な漏れの無い教示データセットの生成が可能となる。
【0114】
以下、フィードバック情報生成部170が生成する数値的フィードバック情報と、視覚的フィードバック情報の詳細について説明する。
図9に示すように、フィードバック情報生成部170が生成する数値的フィードバック情報と、視覚的フィードバック情報は、以下の各情報である。
(1)数値的フィードバック情報
ユーザが実行した教示データの評価値
(2)視覚的フィードバック情報
(2a)スコアグラフ表示データ
(2b)高スコア領域指示データ
(2c)スコア対応色表示データ
(2d)類似教示データの識別グラフデータ
(2e)教示データ対応軌跡データ
図10以下を参照して、これらのフィードバック情報の具体例について説明する。
【0115】
まず、図10を参照して、「(1)数値的フィードバック情報」の具体例について説明する。
数値的フィードバック情報は、例えば、ユーザが実行した教示データの評価値であり、予め規定した基準値に基づいて算出されるスコア、例えば5段階評価値を生成して提示する。このようなスコアを用いることで、ユーザに分かりやすいフィードバック情報を提供できる。
【0116】
図10(1a)には、スコア算出例を示している。
ユーザが実行した教示データの評価値である総合スコアは、図10(1a)に示すように、評価対象となるユーザが実行した教示データに対応する以下の3種類の評価値(スコア)の加算値によって算出する。
(1)「行動規則の不確かさ」を示すスコア
(2)「予測誤差」を示すスコア
(3)「評価対象の教示データと実行済みの教示データとの相違度」を示すスコア
【0117】
すなわち、
総合スコア=(「行動規則の不確かさ」を示すスコア)+(「予測誤差」を示すスコア)+(「評価対象の教示データと実行済みの教示データとの相違度」を示すスコア)
上記式に従って総合スコアを算出する。
【0118】
なお、上記の3種類のスコアに対して予め規定した重み係数α1~α3を乗算して、以下の式に従って総合スコアを算出する構成としてもよい。
総合スコア=α1×(「行動規則の不確かさ」を示すスコア)+α2×(「予測誤差」を示すスコア)+α3×(「評価対象の教示データと実行済みの教示データとの相違度」を示すスコア)
【0119】
「行動規則の不確かさ」は、学習処理部160において実行された機械学習処理の結果として生成された学習結果データである教示データセットに含まれる行動規則の不確かさを示すスコアである。
【0120】
なお、「行動規則の不確かさ」を示すスコアは、複数のニューラルネットワークをアンサンブルし、それらの出力の分散を算出することで算出する。
すなわち、複数のニューラルネットワークを用意して、それぞれのニューラルネットワークを利用して学習処理を行わせることにより、予測の不確かさを推定する。
同じデータセットを用いたとしても、ニューラルネットワークの初期重みやデータをサンプリングする部分に違いが出るため、データが存在しない部分については、それぞれのニューラルネットワークの予測結果がばらつき、予測の不確かさを近似的に算出することができる。
【0121】
「行動規則の不確かさ」を示すスコアのスコア値を、例えばスコア値=0~5の範囲に設定する場合、例えば、図11に示すような対応関係グラフを用いて、複数のニューラルネットワークの出力の分散値を5段階のスコア1,2,3,4,5の各スコア値に分類する処理を行ってスコア値を算出する。
【0122】
「予測誤差」を示すスコアは、教示データ実行部140において教示データに従ったユーザ操作に基づく簡易教示器具110の把持位置(把持部)の移動位置や移動量と、学習処理部160が、この教示データに従った学習処理によって取得した行動規則から予測される簡易教示器具110の把持位置(把持部)の移動位置や移動量の差分に応じたスコアである。
【0123】
例えば、教示データにおける把持位置の移動量と予測した把持位置の移動量(つまり、ニューラルネットワークで学習された行動規則から予測される値)の平均二乗誤差を用いて算出されるスコアである。
【0124】
この場合も「予測誤差」を示すスコアのスコア値を、例えばスコア値=0~5の範囲に設定する場合、例えば、図12に示すような対応関係グラフを用いて、教示データの把持位置の移動量と予測把持位置の移動量の平均二乗誤差を5段階のスコア1,2,3,4,5の各スコア値に分類する処理を行ってスコア値を算出する。
【0125】
「評価対象の教示データと実行済みの教示データとの相違度」を示すスコアは、各教示データ対応のカメラ撮影画像の相違度を用いる。画像の相違度については、例えば、変分オートエンコーダ(VAE:Variational Auto Encoder)を用いて算出する。
【0126】
変分オートエンコーダ(VAE)は、通常のオートエンコーダ(AE:Auto Encoder)に対して、潜在特徴がある確率分布から生成されるという前提を置いて、より潜在特徴の表現力を向上させた相違度算出手法である。
【0127】
通常のオートエンコーダ(AE)は、例えば画像情報等の高次元な情報を潜在特徴へ圧縮するEncoderと、潜在特徴から高次元な情報を復元するDecoderから構成される。
例えば、高次元の特徴量を持つ画像Aの特徴情報を、Encoderに入力して次元数の少ない特徴量からなる潜在特徴を生成する。
さらに、潜在特徴をDecoderに入力して多次元の特徴を持つ復元画像を生成する。
この復元画像と元の画像Aを比較し、正しく復元できるかを否か学習して潜在特徴の評価を行う。
【0128】
なお、復元画像と元の画像Aとの比較処理に際しては、例えば、復元画像と元の画像A各々に対応する潜在特徴の距離(例:ユークリッド距離=相違度)を算出する。算出した距離が小さいほど、復元画像と元の画像Aの類似度が高く、復元可能性が高いと判定することができる。一方、算出した距離が大きいほど、復元画像と元の画像Aの類似度が低く、復元可能性が低いと判定することができる。
【0129】
変分オートエンコーダ(VAE)は、上記の処理を行う通常のオートエンコーダ(AE:Auto Encoder)に対して、潜在特徴がある確率分布から生成されるという前提を置いて、より潜在特徴の表現力を向上させた相違度算出手法である。
【0130】
「評価対象の教示データと実行済みの教示データとの相違度」を示すスコアは、評価対象となる教示データ対応のカメラ撮影画像の潜在特徴と、実行済み教示データ対応のカメラ撮影画像の潜在特徴を、上記の変分オートエンコーダ(VAE)によって算出し、算出した2つの潜在特徴の相違度に基づいて算出されるスコアである。
【0131】
「評価対象の教示データと実行済みの教示データとの相違度」を示すスコア値を、例えばスコア値=0~5の範囲に設定する場合、例えば、図13に示すような対応関係グラフを用いて、教示データ対応のカメラ撮影画像の潜在特徴と実行済み教示データ対応のカメラ撮影画像の潜在特徴の相違度を5段階のスコア1,2,3,4,5の各スコア値に分類する処理を行ってスコア値を算出する。
【0132】
このように、フィードバック情報生成部170が生成する数値的フィードバック情報、すなわち、ユーザが実行した教示データの総合スコア(総合評価値)は、
(1)「行動規則の不確かさ」を示すスコア
(2)「予測誤差」を示すスコア
(3)「評価対象の教示データと実行済みの教示データとの相違度」を示すスコア
これら3種類のスコアの加算値として算出される。
【0133】
すなわち、
総合スコア=(「行動規則の不確かさ」を示すスコア)+(「予測誤差」を示すスコア)+(「評価対象の教示データと実行済みの教示データとの相違度」を示すスコア)
上記式に従って総合スコアを算出する。
【0134】
あるいは、前述したように、上記の3種類のスコアに対して予め規定した重み係数α1~α3を乗算して、以下の式に従って総合スコアを算出する構成としてもよい。
総合スコア=α1×(「行動規則の不確かさ」を示すスコア)+α2×(「予測誤差」を示すスコア)+α3×(「評価対象の教示データと実行済みの教示データとの相違度」を示すスコア)
【0135】
フィードバック情報生成部170は、このようにして算出した総合スコアを出力部(表示部)180に出力してユーザ120に提示する。
さらに、フィードバック情報生成部170は、算出した総合スコアを、図10(1b)に示すようにランク分けして、評価対象の教示データのスコアに対応するランク情報を生成して出力部(表示部)180に出力してユーザ120に提示する。
【0136】
ランクは例えば図10(1b)に示すようにS,A,Bの3つのランクとする。
ランクSは、総合スコア=15~13
ランクAは、総合スコア12~10
ランクBは、総合スコア9~7
: :
例えばこれらのスコア値対応のランク分けを実行する。
なお、このスコア対応のランク設定は一例であり、この他、様々なスコア対応のランク分けが可能である。
【0137】
このように、フィードバック情報生成部170は、ユーザが実行した教示データの評価値としてのスコアやスコアに対応するランクを算出して出力部(表示部)180に出力する。
【0138】
図10にはフィードバック情報生成部170の生成したフィードバック情報の出力部(表示部)180に対する出力データ例として以下の2種類の出力データ例を示している。
(出力データ例1)
フィードバックスコア=(教示データのスコア)/(ベースラインのスコア)
(出力データ例2)
フィードバックスコア=(教示データのスコア)/((予測最大スコア)-(予測最小スコア))
【0139】
(出力データ例1)は、
ユーザが実行した教示データの評価値としてのスコアである(教示データのスコア)と、基準値(ベースライン)に相当するスコアである(ベースラインのスコア)をスラッシュ(/)で区切って並べて表示する出力データの一例である。
【0140】
なお基準値(ベースライン)に相当するスコアである(ベースラインのスコア)は、例えば評価用に予め用意されたスコアを用いる。
例えば、これまでに算出された教示データ対応のスコアの平均値や最高スコアの値などが適用可能である。
【0141】
あるいは、評価用に予め用意された複数のサンプル教示データに基づいて予め算出した(ベースラインのスコア)を用いてもよい。
評価用に予め用意された複数のサンプル教示データに基づく(ベースラインのスコア)の算出処理例について説明する。
例えば、評価用に予め用意された複数のサンプル教示データ各々について、
(1)「行動規則の不確かさ」
(2)「予測誤差」
(3)「評価対象の教示データと実行済みの教示データとの相違度」
これらの値を算出し、これらの算出値の平均値に基づいて複数のサンプル教示データに基づく(ベースラインのスコア)を算出する。
【0142】
図10の(出力データ例1)に示す例では、基準値(ベースライン)相当スコアである(ベースラインのスコア)として最高スコアを用いた例である。
例えば、総合スコアの最高スコア=15で、ユーザが実行した教示データの総合スコア=9の場合、表示データは、
総合スコア=9/15
このような表示データとなる。
【0143】
なお、出力するスコアは、例えば、ユーザ120が実行した教示データの各試行の平均値を算出して出力する設定としてもよい。例えば各試行の系列データt0からt_terminalまでの平均値を算出して出力する構成としてもよい。
【0144】
さらに、上述したランクを併せて表示し、以下のような表示データとしてもよい。
ランク(総合スコア)=B(9/15)
この表示データの例が、図10の右側の出力部(表示部)180の表示データに相当する。
【0145】
さらに、図10の右側の出力部(表示部)180の表示データの例に示すように、総合スコアに加えて、総合スコアの算出に適用した個別のスコア、すなわち、
(1)「行動規則の不確かさ」を示すスコア
(2)「予測誤差」を示すスコア
(3)「評価対象の教示データと実行済みの教示データとの相違度」を示すスコア
これらの個別スコアについても、総合スコアと同様、
個別スコア=(教示データのスコア)/(ベースラインのスコア)
このような表示形態のデータを生成して表示する構成としてもよい。
【0146】
図10に示すもう一つの出力データ例は、
(出力データ例2)
フィードバックスコア=(教示データのスコア)/((予測最大スコア)-(予測最小スコア))
この出力データ例2である。
【0147】
この(出力データ例2)は、
ユーザが実行した教示データの評価値としてのスコアである(教示データのスコア)と、予め規定したスコア予測アルゴリズムに従って算出した最大スコアと最小スコアとの差分である((予測最大スコア)-(予測最小スコア))をスラッシュ(/)で区切って並べて表示する出力データの一例である。
【0148】
なお、これらの出力データ例は一例であり、フィードバック情報生成部170が生成したフィードバック情報の出力部(表示部)180に対する出力データの表示態様は、この他、様々な設定とすることが可能である。
【0149】
次に、フィードバック情報生成部170が生成する視覚的フィードバック情報の具体例について説明する。
前述したように、フィードバック情報生成部170が生成する視覚的フィードバック情報には、例えば以下の情報がある。
(2a)スコアグラフ表示データ
(2b)高スコア領域指示データ
(2c)スコア対応色表示データ
(2d)類似教示データの識別グラフデータ
(2e)教示データ対応軌跡データ
図14以下を参照して、これらの視覚的フィードバック情報の具体例について説明する。
【0150】
(2a)スコアグラフ表示データ
まず、「(2a)スコアグラフ表示データ」の具体例について説明する。
【0151】
前述したように、スコアグラフ表示データは、例えばスコア対応の棒グラフ等のグラフィックデータであり、ユーザが実行した教示データの評価値を分かりやすい視覚的情報としたデータである。例えば、上記の数値的フィードバック情報であるスコアに応じた棒グラフや、星の数(★★☆☆☆等)を出力する。
【0152】
図14は、「(2a)スコアグラフ表示データ」の具体例について説明する図である。
簡易教示器具110、あるいはロボット100に取り付けられたカメラの撮影画像に併せて、上述した数値的フィードバック情報であるスコアに応じた棒グラフや、星の数(★★☆☆☆等)を出力する。
【0153】
図14に示す例では、
(1)「行動規則の不確かさ」を示すスコア
(2)「予測誤差」を示すスコア
これら2種類のスコアに応じた棒グラフや、星の数(★★☆☆☆等)を出力した例を示している。
【0154】
これらの表示データは一例であり、
(1)「行動規則の不確かさ」を示すスコア
(2)「予測誤差」を示すスコア
(3)「評価対象の教示データと実行済みの教示データとの相違度」を示すスコア
これら3種類のスコアを全て、棒グラフや、星の数(★★☆☆☆等)としたグラフデータを生成して表示してもよい。
さらに、これらの個別スコアに基づいて算出される総合スコアに基づいて生成した棒グラフや、星の数(★★☆☆☆等)を表示してもよい。
【0155】
これに例えば図14に示すようなスコアグラフ表示データを出力部(表示部)180に表示することで、ユーザはユーザが実行した教示データのスコアが高いか低いかを即座に確認できる。
【0156】
(2b)高スコア領域指示データ
次に、「(2b)高スコア領域指示データ」の具体例について説明する。
【0157】
前述したように、高スコア領域指示データは、例えば、カメラ撮影画像上にスコアの高い教示データが生成可能な領域を示す矢印等のマークを表示したデータである。
簡易教示器具110、あるいはロボット100に取り付けられたカメラの撮影画像を表示部に出力する際、表示画像上にスコアの高い教示データが生成可能な領域を示す矢印等のマークを表示する。
【0158】
図15は、「(2b)高スコア領域指示データ」の具体例について説明する図である。
図15に示すように、簡易教示器具110、あるいはロボット100に取り付けられたカメラの撮影画像上に、スコアの高い教示データが生成可能な領域を示す矢印等のマークを表示する。
図15に示す例では、スコアの高い教示データが生成可能な領域を示す矢印と、スコアの低い教示データが生成される領域を示す矢印を異なる色で表示した例を示している。
例えば、高スコア領域方向を示す矢印を赤色矢印として表示し、低スコア領域方向を示す矢印を青色矢印として表示する。
【0159】
高スコア領域方向を示す矢印である赤色矢印の方向の領域について、教示データを生成すれば、スコアの高い教示データが生成可能である。、
このような表示データをユーザに提示することで、ユーザは新たに生成すべき教示データの位置や軌道等を確認することが可能となる。
【0160】
(2c)スコア対応色表示データ
次に、「(2c)スコア対応色表示データ」の具体例について説明する。
【0161】
前述したように、スコア対応色表示データは、スコア対応の色を出力したカメラ撮影画像の表示データである。
簡易教示器具110、あるいはロボット100に取り付けられたカメラの撮影画像を表示部に出力する際、表示画像の色を、上記の数値的フィードバック情報であるスコアに応じた異なる色とする。例えば、スコアが低い場合は青色画像とし、スコアが高い場合は赤色画像とする。
【0162】
図16は、「(2c)スコア対応色表示データ」の具体例について説明する図である。
図16に示すように、簡易教示器具110、あるいはロボット100に取り付けられたカメラの撮影画像を表示部に出力する際、この表示画像の色を、上記の数値的フィードバック情報であるスコアに応じた異なる色とする。
【0163】
図16に示す例では、スコアが低い場合の画像を青色画像としている。また、スコアが高い場合の画像を赤色画像としている。
これにより、ユーザはユーザが実行した教示データのスコアが高いか低いかを即座に確認できる。
【0164】
(2d)類似教示データの識別グラフデータ
次に、「(2d)類似教示データの識別グラフデータ」の具体例について説明する。
【0165】
前述したように、類似教示データの識別グラフデータは、ユーザが新たに実行した教示データに従った簡易教示器具110、またはロボット100の軌跡に従ったカメラ撮影画像から得られる特徴データと、すでに実行済みの教示データ対応のカメラ撮影画像から取得した特徴データの比較データである。
ユーザが新たに実行した教示データと、すでに実行済みの教示データとの比較データを生成して表示する。
【0166】
例えば、ユーザが新たに実行した教示データに従ったロボットの軌跡に従ったカメラ撮影画像から得られる特徴データと、すでに実行済みの教示データ対応のカメラ撮影画像から取得した特徴データの比較データを生成して表示する。
なお、表示データは、理解しやすくするため、数次元の潜在特徴データに圧縮して表示する。
【0167】
図17は、「(2d)類似教示データの識別グラフデータ」の具体例について説明する図である。
図17に示す表示データは、X1軸とX2軸の2次元グラフ上に、過去の教示データと、今回の教示データの点を表示して示したグラフデータである。
【0168】
X1軸とX2軸は、カメラ撮影画像から取得した特徴データを圧縮して生成した2次元の潜在特徴データの要素に相当する。
前述したように、潜在特徴データとは、元データの有する特徴データを圧縮して簡略化した特徴データである。例えば、カメラの撮影画像から得られる特徴データは、画像の大きさ(高さ、幅)、オブジェクト距離、画素単位の色、輝度等、多数のデータから構成され、これらを全て出力しようとすると数100次元の膨大なデータとなり、解析処理に膨大な時間を要する。
図17に示す2次元グラフは、この膨大なデータを例えば2次元データに圧縮し、この2次元の各要素をX1軸、X2軸として2次元のグラフとして示したデータである。
【0169】
すなわち、フィードバック情報生成部170は、教示データ実行部140において実行したユーザ操作に適用した教示データに基づくロボットの動きに応じたカメラ撮影画像から取得した特徴データを圧縮して生成した潜在特徴データと、過去に実行済みの教示データに基づくロボットの動きに応じたカメラ撮影画像から取得した特徴データを圧縮して生成した潜在特徴データとの類似度や相違度を示す識別グラフデータを生成して出力部に出力する。
【0170】
なお、特徴量の描画には、例えばt-SNE手法(高次元ベクトルを低次元へ写像するデータ解析方法)を用いることが可能である。t-SNE手法を適用することにより、高次元の特徴情報の関係を維持したまま、低次元の特徴情報データに変換することが可能となり、ユーザは視覚的に各教示データの差分を理解することができる。
【0171】
図17に示す2次元グラフには、左上に複数の過去の教示データ対応の点が設定され、右下に今回の教示データ対応の点が表示されている。
この2次元グラフ上で距離が近いほど、教示データ対応のカメラ撮影画像が類似していることを示す。
図に示す例では、左上に示される複数の過去の教示データ対応の点は密集しており、いずれも似たような教示データ対応の画像が取得されていることを意味する。
【0172】
図に示す右下の今回の教示データの点は、左上に示される複数の過去の教示データ対応の点から離れており、今回の教示データ対応の画像は、過去の教示データ対応の画像と異なる特徴を有していることを意味する。
すなわち、今回の教示データは、過去の教示データと異なる有益な教示データである可能性が高いことが確認できる。
【0173】
このように、ユーザは「(2d)類似教示データの識別グラフデータ」を参照することで、新たに実行した教示データが、実行済みの教示データと類似するか否かを容易に確認できる。
【0174】
(2e)教示データ対応軌跡データ
次に、「(2e)教示データ対応軌跡データ」の具体例について説明する。
【0175】
前述したように、教示データ対応軌跡データは、ユーザが新たに実行した教示データによる簡易教示器具110、またはロボット100の軌跡(例えば把持位置)と、すでに実行済みの教示データによるロボットの軌跡(例えば把持位置)との比較データを生成して表示するものである。
【0176】
ユーザが新たに実行した教示データによるロボットの軌跡(例えば把持位置)と、すでに実行済みの教示データによる簡易教示器具110、またはロボット100の軌跡(例えば把持位置)との比較データを生成して表示する。
例えば3次元グラフ上に軌跡データを描画して表示する。
【0177】
図18は、「(2e)教示データ対応軌跡データ」の具体例について説明する図である。
図18に示す表示データは、xyz3次元空間を示す3次元グラフ上に、過去の教示データと、今回の教示データの軌跡を表示して示したグラフデータである。
点線が、過去の教示データ対応の軌跡であり、実線が今回の教示データの軌跡である。
なお、軌跡は、例えば簡易教示器具110、またはロボット100の把持部の移動軌跡である。
【0178】
ユーザは、このような複数の教示データ対応の軌跡データを並べて表示した「(2e)教示データ対応軌跡データ」を確認することで、新たに実行した教示データによる軌跡が、実行済みの教示データの軌跡と類似するか否かを容易に確認することが可能となる。
【0179】
上述したように、フィードバック情報生成部170は、様々なフィードバック情報を生成して出力部(表示部)180に出力する。すなわち、以下の各情報を生成して出力部(表示部)180に出力する。
(1)数値的フィードバック情報
ユーザが実行した教示データの評価値
(2)視覚的フィードバック情報
(2a)スコアグラフ表示データ
(2b)高スコア領域指示データ
(2c)スコア対応色表示データ
(2d)類似教示データの識別グラフデータ
(2e)教示データ対応軌跡データ
【0180】
ユーザ(オペレータ)120は、出力部(表示部)180に表示されたフィードバック情報を見て、ユーザ(オペレータ)120が実行した教示データの評価を確認する。さらに必要な教示データの態様(ロボットの把持部の軌跡等)を確認し、これらの確認結果に応じて、教示データ実行部140において新たに必要となる教示データを利用して簡易教示器具110やロボット100を動作させる。
これらの処理を繰り返すことで、有効な漏れの無い教示データセットの生成が可能となる。
【0181】
[5.出力部における表示データの例について]
次に、出力部における表示データの例について説明する。
【0182】
前述したように、フィードバック情報生成部170は、様々なフィードバック情報を生成して出力部(表示部)180に出力する。
【0183】
この出力部(表示部)180は、図6を参照して説明した学習処理部160や、フィードバック情報生成部170を有する情報処理装置内に構成することも可能であるが、例えば、これらの構成部から離れたユーザ120の所有するスマホ等の端末を利用してもよい。
【0184】
図19は、ユーザ120の所有するスマホ等の端末にフィードバック情報生成部170が生成したフィードバック情報を出力して表示した例を示している。
【0185】
図19に示す表示データは、先に図14図18を参照して説明した視覚的フィードバック情報、すなわち、
(2a)スコアグラフ表示データ
(2b)高スコア領域指示データ
(2c)スコア対応色表示データ
(2d)類似教示データの識別グラフデータ
(2e)教示データ対応軌跡データ
これらの視覚的フィードバック情報を複数、併せて表示したデータの一例である。
【0186】
ユーザ120は、表示されたフィードバック情報を見て、ユーザ120が実行した教示データの評価を確認し、必要となる新な教示データの態様(ロボットの把持部の軌跡等)を確認し、これらの確認結果に応じて、教示データ実行部140において新たな教示データを実行させることが可能となる。この処理を繰り返すことで、有効な漏れの無い教示データセットを効率的に生成することが可能となる。
【0187】
[6.本開示の情報処理装置の構成例について]
次に、本開示の情報処理装置の構成例について説明する。
【0188】
図20は、本開示の情報処理装置200の一構成例について説明するブロック図である。
【0189】
図20に示すように、本開示の情報処理装置200は、教示データ実行部201、学習処理部202、フィードバック情報生成部203、出力部(表示部)204、および第1記憶部205、第2記憶部206を有する。
教示データ実行部201は、簡易教示器具またはロボットに装着されたカメラ211と、画像解析部212を有する。
【0190】
教示データ実行部201においては、ユーザ(オペレータ)が教示データを利用して簡易教示器具、またはロボットを操作する。簡易教示器具、またはロボットにはカメラ211が装着されている。
【0191】
カメラ211は、ユーザによる簡易教示器具、またはロボットの操作状態における連続撮影画像を撮影する。カメラ211は、例えば、簡易教示器具、またはロボットの把持部の手先方向の画像を撮影する。
【0192】
カメラ211の撮影画像は画像解析部212に入力される。
画像解析部212は、カメラ211の撮影画像の解析を行う。画像解析部212は、カメラ211の撮影画像の解析により、例えば簡易教示器具、またはロボットの把持部の位置や移動量を算出し、撮影画像と把持部位置、移動量データを学習データとして第1記憶部に格納する。
【0193】
ユーザは、簡易教示器具またはロボットを直接、動かしてある動作(タスク)を実行させる。あるいはコントローラを用いて簡易教示器具やロボットを動かしてもよい。
動作(タスク)とは、例えば部品の把持処理、移動処理等の一連の動作である。1回のタスクの実行を1試行とする。
【0194】
このタスク実行の際、カメラ211は連続的に画像撮影を実行する。例えば動画撮影を行う。
教示データ実行部201の画像解析部212は、カメラ211の撮影画像の解析を行い、例えば簡易教示器具やロボットの把持部の位置や移動量を算出する。具体的には、例えばSLAM(Simultaneous Localization and Mapping)処理等の自己位置推定処理によって算出される把持位置の位置や移動量の時系列データ(初期時刻(t0)から、タスクの終了時刻(t_terminal)まで)を、学習データとして第1記憶部205に格納する。
【0195】
なお、前述したように、SLAM(Simultaneous Localization and Mapping)は、カメラ撮影画像を用いて、自己位置推定処理(ローカリゼーション)と環境地図作成処理(mapping)を並行して実行する処理である。
【0196】
学習処理部202は、第1記憶部205に格納された学習データ(撮影画像と把持部移動量データ)を利用して学習処理を実行する。
学習処理部202における学習処理の結果として生成する学習結果データは、教示データセット、すなわち、撮影画像と、行動規則(把持位置の移動軌跡等)のデータセットからなる教示データセットであり、このデータが第2記憶部206に格納される。
【0197】
学習処理部202において実行する学習処理は、前述したように機械学習であり、様々な学習アルゴリズムの適用が可能である。学習処理の一例としてディープニューラルネットワーク(DNN)を用いた学習処理であるディープラーニングがある。ディープラーニングを利用すれば、サンプルデータを入力して、学習処理部自身が大量のデータから特徴量を自動抽出して、様々なデータに対応する最適解、例えばロボットの制御パラメータを生成することができる。
【0198】
ディープニューラルネットワーク(DNN)を利用した学習処理としては、例えば、畳み込みニューラルネットワークであるCNN(Convolutional Neural Network)を用いた深層学習が知られている。
【0199】
学習処理部202は、第1記憶部205に格納された学習データ(撮影画像と把持部の位置や移動量データ)を利用して学習処理を実行する。第1記憶部205には、学習データとしてある時刻の画像とある時刻の把持位置の位置や移動量が保存されている。学習処理部202は、これらの対応関係データに対する深層学習(CNN)を用いた学習処理を実行し、画像と把持部の位置関係、つまり、行動規則を学習する。
【0200】
学習処理部202は、学習処理結果として教示データセット、すなわち、撮影画像と、行動規則(把持位置の移動軌跡等)のデータセットからなる教示データセットを含む学習結果データを生成して、第2記憶部206に格納する。
第2記憶部206には、図20に示すような、撮影画像と、行動規則(把持位置の移動軌跡等)のデータセットからなる教示データセット232が格納される。
【0201】
フィードバック情報生成部203は、教示データ実行部201において生成され第1記憶部205に格納された学習データ、すなわち撮影画像と把持部移動量データを入力する。
さらに学習処理部202の学習処理によって生成された第2記憶部206に格納された学習結果データ、すなわち、撮影画像と、行動規則(把持位置の移動軌跡等)のデータセットからなる教示データセットを入力する。
【0202】
フィードバック情報生成部203は、これらの入力データに基づいて、ユーザ(オペレータ)に対するフィードバック情報を生成して出力部(表示部)204に出力する。
【0203】
フィードバック情報生成部203が生成するフィードバック情報は、前述した数値的フィードバック情報や、視覚的フィードバック情報である。
【0204】
フィードバック情報生成部203が生成する数値的フィードバック情報と、視覚的フィードバック情報は、以下の各情報である。
(1)数値的フィードバック情報
ユーザが実行した教示データの評価値
(2)視覚的フィードバック情報
(2a)スコアグラフ表示データ
(2b)高スコア領域指示データ
(2c)スコア対応色表示データ
(2d)類似教示データの識別グラフデータ
(2e)教示データ対応軌跡データ
これらの各情報の詳細については、先に図10図18を参照して説明した通りである。
【0205】
フィードバック情報生成部203が生成したフィードバック情報は、出力部(表示部)204に表示される。
例えば先に先に図10図18を参照して説明したデータや、図19を参照して説明した表示データが表示される。
【0206】
ユーザ(オペレータ)は、フィードバック情報生成部203が生成し、出力部(表示部)204に表示されたフィードバック情報を見て、実行した教示データの評価を確認する。さらに必要な教示データの態様(ロボットの把持部の軌跡等)を確認し、これらの確認結果に応じて、教示データ実行部201において新たに必要となる教示データを利用してロボットを動作させる。
これらの処理を繰り返すことで、有効な漏れの無い教示データセットの生成が可能となる。
【0207】
なお、図20に示す情報処理装置200の構成中、教示データ実行部201のカメラ211は、簡易教示器具やロボットに装着され、情報処理装置200とは別構成としてもよい。
出力部204についても、先に図19を参照して説明したようにユーザのスマホ等の端末を利用可能であり、情報処理装置200と別構成とすることが可能である。
【0208】
[7.本開示の情報処理装置が実行する処理のシーケンスについて]
次に、本開示の情報処理装置が実行する処理のシーケンスについて説明する。
【0209】
図21に示すフローチャートを参照して、本開示の情報処理装置、例えば図20に示す情報処理装置200が実行する処理のシーケンスについて説明する。
なお、このフローに従った処理は、例えば情報処理装置200のデータ処理部が、記憶部に格納されたプログラムに従って実行することが可能である。例えばプログラム実行機能を有するCPU等のプロセッサによるプログラム実行処理として行うことができる。
以下、図21に示すフローの各ステップの処理について説明する。
【0210】
(ステップS101)
まず、ステップS101において、ユーザが教示データに従った簡易教示器具(またはロボット)を動作させ、情報処理装置のデータ処理部が、この動作情報の解析処理を実行して学習データを生成する。
【0211】
この処理は、先に図20を参照して説明した情報処理装置200の教示データ実行部201において実行する処理である。
ユーザ(オペレータ)が教示データを利用して簡易教示器具、またはロボットを操作する。簡易教示器具、またはロボットにはカメラが装着されており、ユーザによる操作状態中の連続撮影画像を撮影する。
【0212】
カメラ撮影画像は、図20を参照して説明した画像解析部212に入力され、画像解析部212において、カメラ撮影画像の解析により、簡易教示器具、またはロボットの把持部の位置や移動量を算出し、撮影画像と把持部位置、移動量データを学習データとして第1記憶部に格納する。
【0213】
(ステップS102)
次に、情報処理装置のデータ処理部は、ステップS102において、学習データを用いた学習処理を実行する。
【0214】
この処理は、先に図20を参照して説明した情報処理装置200の学習処理部202が実行する処理である。
【0215】
学習処理部202は、情報処理装置200の教示データ実行部201が生成し、第1記憶部205に格納された学習データ(撮影画像と把持部移動量データ)を利用して学習処理を実行する。
学習処理部202における学習処理の結果として生成する学習結果データは、教示データセット、すなわち、撮影画像と、行動規則(把持位置の移動軌跡等)のデータセットからなる教示データセットであり、このデータが第2記憶部206に格納される。
【0216】
(ステップS103~S104)
次に、情報処理装置のデータ処理部は、ステップS103~S104において、学習データ生成処理に適用した教示データと、学習結果としての教示データセットを収集し、学習データ生成処理に適用した教示データの評価処理を実行して、例えばスコア等のフィードバック情報の生成処理を行う。
【0217】
この処理は、先に図20を参照して説明した情報処理装置200のフィードバック情報生成部203が実行する処理である。
【0218】
フィードバック情報生成部203は、教示データ実行部201において生成され第1記憶部205に格納された学習データ、すなわち撮影画像と把持部移動量データを入力する。
さらに学習処理部202の学習処理によって生成された第2記憶部206に格納された学習結果データ、すなわち、撮影画像と、行動規則(把持位置の移動軌跡等)のデータセットからなる教示データセットを入力する。
【0219】
フィードバック情報生成部203は、これらの入力データに基づいて、ユーザ(オペレータ)に対するフィードバック情報を生成する。
フィードバック情報生成部203が生成するフィードバック情報は、前述した数値的フィードバック情報や、視覚的フィードバック情報である。
【0220】
すなわち、以下の各情報である。
(1)数値的フィードバック情報
ユーザが実行した教示データの評価値
(2)視覚的フィードバック情報
(2a)スコアグラフ表示データ
(2b)高スコア領域指示データ
(2c)スコア対応色表示データ
(2d)類似教示データの識別グラフデータ
(2e)教示データ対応軌跡データ
これらの各情報の詳細については、先に図10図18を参照して説明した通りである。
【0221】
(ステップS105)
次に、情報処理装置のデータ処理部は、ステップS105において、ステップS104において生成したフィードバック情報をユーザに提示する。
【0222】
この処理は、先に図20を参照して説明した情報処理装置200のフィードバック情報生成部203と出力部(表示部)204が実行する処理である。
【0223】
フィードバック情報生成部203は、ステップS104で生成したフィードバック情報を、出力部(表示部)204に出力しユーザに提示する。
【0224】
出力部(表示部)204に出力するフィードバック情報は、前述した数値的フィードバック情報や、視覚的フィードバック情報であり、以下の各情報である。
(1)数値的フィードバック情報
ユーザが実行した教示データの評価値
(2)視覚的フィードバック情報
(2a)スコアグラフ表示データ
(2b)高スコア領域指示データ
(2c)スコア対応色表示データ
(2d)類似教示データの識別グラフデータ
(2e)教示データ対応軌跡データ
【0225】
(ステップS106)
次のステップS106の判定処理は、出力部(表示部)204に出力されたフィードバック情報を確認したユーザ(オペレータ)による判定処理である。
【0226】
ユーザ(オペレータ)は、フィードバック情報生成部203が生成し、出力部(表示部)204に表示されたフィードバック情報を見て、今、ユーザが実行した教示データの評価を確認する。さらに必要な教示データの態様(ロボットの把持部の軌跡等)を確認し、新たな教示データセットの生成処理が必要であるか否かを判定する。
【0227】
新たな教示データセットの生成処理が必要でないと判断した場合は処理を終了する。
一方、新たな教示データセットの生成処理が必要であると判断した場合は、ステップS107に進む。
【0228】
(ステップS107)
ステップS106において、ユーザが、出力部(表示部)204に表示されたフィードバック情報を見て、新たな教示データセットの生成処理が必要であると判断した場合は、ステップS107に進み、以下の処理を実行する。
【0229】
すなわち、フィードバック情報を見て、必要であると判断した新たな教示データセットを生成するための教示データを生成して、ステップS101に戻り、生成した新たな教示データを適用した学習処理を実行する。
【0230】
これらの処理を繰り返し、最終的にステップS106において、新たな教示データセットの生成処理が必要でないと判断されると処理を終了する。
このような処理により、有効な漏れの無い教示データセットの生成が可能となる。
【0231】
図21に示すフローは、教示データを適用した学習処理の実行時にフィードバックデータを生成し、フィードバック情報を参照して新たな教示データを利用した学習処理を実行するシーケンスである。
【0232】
本開示の処理は、このような処理シーケンスの他、例えば、学習処理による学習結果を用いて実際にロボットを制御し、その制御結果を評価し、評価結果に応じてさらに学習処理を再開するといった処理シーケンスとして実行することも可能である。
図22に示すフローチャートを参照してこの処理のシーケンスについて説明する。
以下、図22に示すフローの各ステップの処理について説明する。
【0233】
(ステップS201)
まず、ステップS201において、ユーザが教示データに従った簡易教示器具(またはロボット)を動作させ、情報処理装置のデータ処理部が、この動作情報の解析処理を実行して学習データを生成する。
【0234】
この処理は、先に図20を参照して説明した情報処理装置200の教示データ実行部201において実行する処理である。
ユーザ(オペレータ)が教示データを利用して簡易教示器具、またはロボットを操作する。簡易教示器具、またはロボットにはカメラが装着されており、ユーザによる操作状態中の連続撮影画像を撮影する。
【0235】
カメラ撮影画像は、図20を参照して説明した画像解析部212に入力され、画像解析部212において、カメラ撮影画像の解析により、簡易教示器具、またはロボットの把持部の位置や移動量を算出し、撮影画像と把持部位置、移動量データを学習データとして第1記憶部に格納する。
【0236】
(ステップS202)
次に、情報処理装置のデータ処理部は、ステップS202において、学習データを用いた学習処理を実行する。
【0237】
この処理は、先に図20を参照して説明した情報処理装置200の学習処理部202が実行する処理である。
【0238】
学習処理部202は、情報処理装置200の教示データ実行部201が生成し、第1記憶部205に格納された学習データ(撮影画像と把持部移動量データ)を利用して学習処理を実行する。
学習処理部202における学習処理の結果として生成する学習結果データは、教示データセット、すなわち、撮影画像と、行動規則(把持位置の移動軌跡等)のデータセットからなる教示データセットであり、このデータが第2記憶部206に格納される。
【0239】
(ステップS203)
次に、情報処理装置200のデータ処理部は、ステップS203において、ステップS202で生成された学習結果データを利用して実際にロボットを制御する。
【0240】
なお、この処理は、図20に示す情報処理装置200の構成としては示していないが、情報処理装置200の構成要素であるロボット駆動部が実行する。
ロボット駆動部は、第2記憶部206に格納された学習結果データ、すなわち、撮影画像と、行動規則(把持位置の移動軌跡等)のデータセットからなる教示データセットを利用してロボットを制御する。
例えば様々な位置にある部品の把持処理を、学習結果データに基づく制御によりロボットに実行させてみる。
【0241】
(ステップS204)
次に、情報処理装置200のデータ処理部は、ステップS204において、ステップS203における学習結果データを適用したロボット制御が良好であったか否か、すなわちロボット性能が規定性能以上であったか否かを判定する。
【0242】
ロボット性能が規定性能以上であると判定した場合は処理を終了する。すなわち新たな教示データセットを生成するための学習処理は不要であると判断して、処理を終了する。
【0243】
一方、ロボット性能が規定性能以上でないと判定した場合はステップS205に進む。すなわち新たな教示データセットを生成するための学習処理が必要であると判断して、ステップS205以下の処理を実行する。
【0244】
(ステップS205~S206)
次に、情報処理装置のデータ処理部は、ステップS205~S206において、学習データ生成処理に適用した教示データと、学習結果としての教示データセットを収集し、学習データ生成処理に適用した教示データの評価処理を実行して、例えばスコア等のフィードバック情報の生成処理を行う。
【0245】
この処理は、先に図20を参照して説明した情報処理装置200のフィードバック情報生成部203が実行する処理である。
【0246】
フィードバック情報生成部203は、教示データ実行部201において生成され第1記憶部205に格納された学習データ、すなわち撮影画像と把持部移動量データを入力する。
さらに学習処理部202の学習処理によって生成された第2記憶部206に格納された学習結果データ、すなわち、撮影画像と、行動規則(把持位置の移動軌跡等)のデータセットからなる教示データセットを入力する。
【0247】
フィードバック情報生成部203は、これらの入力データに基づいて、ユーザ(オペレータ)に対するフィードバック情報を生成する。
フィードバック情報生成部203が生成するフィードバック情報は、前述した数値的フィードバック情報や、視覚的フィードバック情報である。
【0248】
すなわち、以下の各情報である。
(1)数値的フィードバック情報
ユーザが実行した教示データの評価値
(2)視覚的フィードバック情報
(2a)スコアグラフ表示データ
(2b)高スコア領域指示データ
(2c)スコア対応色表示データ
(2d)類似教示データの識別グラフデータ
(2e)教示データ対応軌跡データ
これらの各情報の詳細については、先に図10図18を参照して説明した通りである。
【0249】
(ステップS207)
次に、情報処理装置のデータ処理部は、ステップS207において、ステップS206において生成したフィードバック情報をユーザに提示する。
【0250】
この処理は、先に図20を参照して説明した情報処理装置200のフィードバック情報生成部203と出力部(表示部)204が実行する処理である。
【0251】
フィードバック情報生成部203は、ステップS206で生成したフィードバック情報を、出力部(表示部)204に出力しユーザに提示する。
【0252】
出力部(表示部)204に出力するフィードバック情報は、前述した数値的フィードバック情報や、視覚的フィードバック情報であり、以下の各情報である。
(1)数値的フィードバック情報
ユーザが実行した教示データの評価値
(2)視覚的フィードバック情報
(2a)スコアグラフ表示データ
(2b)高スコア領域指示データ
(2c)スコア対応色表示データ
(2d)類似教示データの識別グラフデータ
(2e)教示データ対応軌跡データ
【0253】
(ステップS208)
次にステップS208において、ユーザは、出力部(表示部)204に表示されたフィードバック情報を見て、必要であると判断した新たな教示データセットを生成するための教示データを生成して、ステップS201に戻り、生成した新たな教示データを適用した学習処理を実行する。
【0254】
これらの処理を繰り返し、最終的にステップS204において、ロボットの性能が規定性能以上であると判断されると処理を終了する。
このような処理により、有効な漏れの無い教示データセットの生成が可能となり、ロボット性能を規定性能以上に向上させることが可能となる。
【0255】
[8.本開示の情報処理装置のハードウェア構成例について]
次に、本開示の情報処理装置のハードウェア構成の一例について説明する。
【0256】
図23は、本開示の情報処理装置のハードウェア構成の一構成例を示すブロック図である。
【0257】
CPU(Central Processing Unit)301は、ROM(Read Only Memory)302、または記憶部308に記憶されているプログラムに従って各種の処理を実行するデータ処理部として機能する。例えば、上述した実施例において説明したシーケンスに従った処理を実行する。RAM(Random Access Memory)303には、CPU301が実行するプログラムやデータなどが記憶される。これらのCPU301、ROM302、およびRAM303は、バス304により相互に接続されている。
【0258】
CPU301はバス304を介して入出力インタフェース305に接続され、入出力インタフェース305には、各種スイッチ、キーボード、タッチパネル、マウス、マイクロホン、さらに、ユーザ入力部やカメラ、LiDAR等各種センサ321の状況データ取得部などよりなる入力部306、ディスプレイ、スピーカーなどよりなる出力部307が接続されている。
また、出力部307は、ロボット等の駆動を行う駆動部322に対する駆動情報も出力する。
【0259】
CPU301は、入力部306から入力される指令や状況データ等を入力し、各種の処理を実行し、処理結果を例えば出力部307に出力する。
入出力インタフェース305に接続されている記憶部308は、例えばフラッシュメモリ、ハードディスク等からなり、CPU301が実行するプログラムや各種のデータを記憶する。通信部309は、インターネットやローカルエリアネットワークなどのネットワークを介したデータ通信の送受信部として機能し、外部の装置と通信する。
また、CPUの他、カメラから入力される画像情報などの専用処理部としてGPU(Graphics Processing Unit)を備えてもよい。
【0260】
入出力インタフェース305に接続されているドライブ310は、磁気ディスク、光ディスク、光磁気ディスク、あるいはメモリカード等の半導体メモリなどのリムーバブルメディア311を駆動し、データの記録あるいは読み取りを実行する。
【0261】
[9.本開示の構成のまとめ]
以上、特定の実施例を参照しながら、本開示の実施例について詳解してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本開示の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【0262】
なお、本明細書において開示した技術は、以下のような構成をとることができる。
(1) 教示データに基づくユーザ操作によるロボットの動きに応じたカメラ撮影画像と、前記ロボットの移動位置情報を学習データとして生成する教示データ実行部と、
前記教示データ実行部が生成した学習データを入力して機械学習処理を実行し、学習結果データとして、画像とロボットの行動規則との対応関係データからなる教示データセットを生成する学習処理部と、
前記教示データ実行部が生成した学習データと、前記学習処理部が生成した学習結果データを入力して、前記教示データ実行部において実行された前記ユーザ操作に適用した教示データの評価を実行し、評価結果に基づくフィードバック情報を生成して出力部に出力するフィードバック情報生成部を有する情報処理装置。
【0263】
(2) 前記フィードバック情報生成部は、
前記フィードバック情報として、
前記教示データ実行部において実行した前記ユーザ操作に適用した教示データの評価値に相当するスコアの値を含む数値的フィードバック情報を生成して出力部に出力する(1)に記載の情報処理装置。
【0264】
(3) 前記フィードバック情報生成部は、
前記数値的フィードバック情報として、
n段階のスコア値、ただしnは2以上の整数、
を生成して出力部に出力する(2)に記載の情報処理装置。
【0265】
(4) 前記フィードバック情報生成部は、
前記数値的フィードバック情報として、
前記スコアの値に応じたランクを生成して出力部に出力する(2)または(3)に記載の情報処理装置。
【0266】
(5) 前記フィードバック情報生成部は、
前記数値的フィードバック情報として、
前記学習処理部が生成した学習結果データである教示データセットに含まれる行動規則の不確かさを示すスコアを生成して出力部に出力する(2)~(4)いずれかに記載の情報処理装置。
【0267】
(6) 前記フィードバック情報生成部は、
前記数値的フィードバック情報として、
前記教示データ実行部において実行した前記教示データに基づくユーザ操作によるロボットの移動位置と、前記学習処理部の学習処理によって生成した前記教示データセットに含まれる行動規則から予測されるロボットの移動位置の差分に応じたスコアである予測誤差を示すスコアを生成して出力部に出力する(2)~(5)いずれかに記載の情報処理装置。
【0268】
(7) 前記フィードバック情報生成部は、
前記数値的フィードバック情報として、
前記教示データ実行部において実行した前記ユーザ操作に適用した教示データと、実行済みの教示データとの相違度を示すスコアを生成して出力部に出力する(2)~(6)いずれかに記載の情報処理装置。
【0269】
(8) 前記フィードバック情報生成部は、
前記フィードバック情報として、
前記教示データ実行部において実行したユーザ操作に適用した教示データの評価結果に基づいて生成した画像、またはグラフを含む視覚的フィードバック情報を生成して出力部に出力する(1)~(7)いずれかに記載の情報処理装置。
【0270】
(9) 前記フィードバック情報生成部は、
前記視覚的フィードバック情報として、
前記教示データ実行部において実行したユーザ操作に適用した教示データの評価値に相当するスコアをグラフ化したスコアグラフ表示データを生成して出力部に出力する(8)に記載の情報処理装置。
【0271】
(10) 前記フィードバック情報生成部は、
前記視覚的フィードバック情報として、
前記教示データ実行部において適用する教示データの評価値に相当するスコアが高くなる領域を前記カメラ撮影画像上に示した高スコア領域指示データを生成して出力部に出力する(8)または(9)に記載の情報処理装置。
【0272】
(11) 前記フィードバック情報生成部は、
前記視覚的フィードバック情報として、
前記カメラ撮影画像の色変更画像を生成して出力する構成であり、
前記教示データ実行部において実行したユーザ操作に適用した教示データの評価値に相当するスコアに応じて、前記カメラ撮影画像を異なる色に変更した色変更画像を生成して出力する(8)~(10)いずれかに記載の情報処理装置。
【0273】
(12) 前記フィードバック情報生成部は、
前記視覚的フィードバック情報として、
前記教示データ実行部において実行したユーザ操作に適用した教示データと、過去に実行済みの教示データの類似度や相違度を示す識別グラフデータを生成して出力部に出力する(8)~(11)いずれかに記載の情報処理装置。
【0274】
(13) 前記フィードバック情報生成部は、
前記視覚的フィードバック情報として、
前記教示データ実行部において実行したユーザ操作に適用した教示データに基づくロボットの動きに応じたカメラ撮影画像から取得した特徴データを圧縮して生成した潜在特徴データと、過去に実行済みの教示データに基づくロボットの動きに応じたカメラ撮影画像から取得した特徴データを圧縮して生成した潜在特徴データとの類似度や相違度を示す識別グラフデータを生成して出力部に出力する(8)~(12)いずれかに記載の情報処理装置。
【0275】
(14) 前記フィードバック情報生成部は、
前記視覚的フィードバック情報として、
前記教示データ実行部において実行したユーザ操作に適用した教示データに従ったロボットの移動軌跡と、過去に実行済みの教示データに従ったロボットの移動軌跡との比較データを生成して出力部に出力する(8)~(13)いずれかに記載の情報処理装置。
【0276】
(15) 情報処理装置において実行する情報処理方法であり、
教示データ実行部が、教示データに基づくユーザ操作によるロボットの動きに応じたカメラ撮影画像と、前記ロボットの移動位置情報を学習データとして生成する教示データ実行ステップと、
学習処理部が、前記教示データ実行部が生成した学習データを入力して機械学習処理を実行し、学習結果データとして、画像とロボットの行動規則との対応関係データからなる教示データセットを生成する学習処理ステップと、
フィードバック情報生成部が、前記教示データ実行部が生成した学習データと、前記学習処理部が生成した学習結果データを入力して、前記教示データ実行部において実行された前記ユーザ操作に適用した教示データの評価を実行し、評価結果に基づくフィードバック情報を生成して出力部に出力するフィードバック情報生成ステップを実行する情報処理方法。
【0277】
(16) 情報処理装置において情報処理を実行させるプログラムであり、
教示データ実行部に、教示データに基づくユーザ操作によるロボットの動きに応じたカメラ撮影画像と、前記ロボットの移動位置情報を学習データとして生成させる教示データ実行ステップと、
学習処理部に、前記教示データ実行部が生成した学習データを入力して機械学習処理を実行させ、学習結果データとして、画像とロボットの行動規則との対応関係データからなる教示データセットを生成させる学習処理ステップと、
フィードバック情報生成部に、前記教示データ実行部が生成した学習データと、前記学習処理部が生成した学習結果データを入力して、前記教示データ実行部において実行された前記ユーザ操作に適用した教示データの評価を実行させ、評価結果に基づくフィードバック情報を生成して出力部に出力させるフィードバック情報生成ステップを実行させるプログラム。
【0278】
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【0279】
また、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【0280】
以上、説明したように、本開示の一実施例の構成によれば、教示データを利用した学習処理を行う構成において、教示データの評価スコアや必要となる教示データを、ユーザに分かりやすく提示する装置、方法が実現され、効率的な学習処理やロボット性能の向上が可能となる。
具体的には、例えば、教示データ実行部が、教示データに基づくユーザ操作によるロボットの動きに応じたカメラ撮影画像と、ロボットの移動位置情報を学習データとして生成し、学習処理部が、教示データ実行部が生成した学習データを入力して機械学習を実行し、学習結果データとして画像とロボット行動規則とからなる教示データセットを生成し、フィードバック情報生成部が、教示データ実行部が生成した学習データと、学習処理部が生成した学習結果データを入力して、教示データの評価を実行し、評価結果に基づく数値的フィードバック情報や視覚的フィードバック情報を生成して出力する。
本構成により、教示データを利用した学習処理を行う構成において、教示データの評価スコアや必要となる教示データを、ユーザに分かりやすく提示する装置、方法が実現され、効率的な学習処理やロボット性能の向上が可能となる。
【符号の説明】
【0281】
100 ロボット
101 把持部
102 アーム部
105 カメラ
120 ユーザ
140 教示データ実行部
150 学習データ
160 学習処理部
165 学習結果データ
170 フィードバック情報生成部
180 出力部(表示部)
200 情報処理装置
201 教示データ実行部
202 学習処理部
203 フィードバック情報生成部
204 出力部(表示部)
205 第1記憶部
206 第2記憶部
211 カメラ
212 画像解析部
231 教示データ実行部生成データ
232 教示データセット
301 CPU
302 ROM
303 RAM
304 バス
305 入出力インタフェース
306 入力部
307 出力部
308 記憶部
309 通信部
310 ドライブ
311 リムーバブルメディア
321 センサ
322 駆動部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23