(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-07
(45)【発行日】2024-10-16
(54)【発明の名称】ライブラリ提示装置、ライブラリ提示方法及びロボット制御システム
(51)【国際特許分類】
B25J 9/22 20060101AFI20241008BHJP
【FI】
B25J9/22 Z
(21)【出願番号】P 2023540441
(86)(22)【出願日】2022-08-05
(86)【国際出願番号】 JP2022030199
(87)【国際公開番号】W WO2023013784
(87)【国際公開日】2023-02-09
【審査請求日】2024-02-01
(31)【優先権主張番号】P 2021129342
(32)【優先日】2021-08-05
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000006633
【氏名又は名称】京セラ株式会社
(73)【特許権者】
【識別番号】517051371
【氏名又は名称】株式会社Rist
(74)【代理人】
【識別番号】100147485
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】230118913
【氏名又は名称】杉村 光嗣
(74)【代理人】
【識別番号】100132045
【氏名又は名称】坪内 伸
(74)【代理人】
【識別番号】100180655
【氏名又は名称】鈴木 俊樹
(72)【発明者】
【氏名】中村 匡芳
(72)【発明者】
【氏名】堤 匡史
(72)【発明者】
【氏名】和泉 智之
(72)【発明者】
【氏名】古川 康平
(72)【発明者】
【氏名】村岡 慧
(72)【発明者】
【氏名】樺澤 達将
【審査官】牧 初
(56)【参考文献】
【文献】国際公開第2010/092981(WO,A1)
【文献】特開2011-192019(JP,A)
【文献】米国特許出願公開第2017/0358201(US,A1)
【文献】米国特許出願公開第2013/0304248(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00-21/02
G05B 19/18-19/416
G05B 19/42-19/46
(57)【特許請求の範囲】
【請求項1】
対象物を含む入力情報を取得する入力情報取得部と、
前記対象物に対するタスクを実行可能な複数のライブラリを用いて、前記対象物に対する所定のタスクを適用した結果を取得可能な結果取得部と、
前記所定のタスクを適用した結果に対する評価を取得する評価取得部と、
前記複数のライブラリのうち第1ライブラリを用いた前記所定のタスクの適用結果の評価に基づき、前記複数のライブラリのうち前記第1ライブラリと異なる第2ライブラリを用いた前記所定のタスクの適用結果の出力を判定する提示内容決定部と、を備える、ライブラリ提示装置。
【請求項2】
前記結果取得部は、前記複数のライブラリを組み合わせた場合の前記所定のタスクを適用した結果を取得し、
前記提示内容決定部は、前記第1ライブラリ及び前記第2ライブラリと異なる第3ライブラリと、前記第2ライブラリとを組み合わせて用いた前記所定のタスクの適用結果を提示させる、請求項1に記載のライブラリ提示装置。
【請求項3】
前記評価取得部は、前記所定のタスクに対する期待結果を取得した場合に、前記期待結果に基づき前記所定のタスクを適用した結果に対する評価を取得する、請求項1又は2に記載のライブラリ提示装置。
【請求項4】
前記提示内容決定部は、ライブラリの関係を定義する関連情報に基づき、前記第1ライブラリと所定の関係を有する前記第2ライブラリを用いた前記所定のタスクの適用結果を前記結果取得部に取得させる、請求項
1又は2に記載のライブラリ提示装置。
【請求項5】
前記複数のライブラリは、第1分類で前記対象物を認識するための汎用ライブラリと、前記第1分類の1つの項目について細分化する第2分類で前記対象物を認識する特化ライブラリと、を含む、請求項
1又は2に記載のライブラリ提示装置。
【請求項6】
前記結果取得部は、複数の前記汎用ライブラリ又は前記汎用ライブラリと前記特化ライブラリを組み合わせた場合の前記所定のタスクを適用した結果を取得する、請求項5に記載のライブラリ提示装置。
【請求項7】
前記提示内容決定部は、前記第2ライブラリを用いた前記所定のタスクの適用結果に対する評価が所定の基準未満の場合に、新たなライブラリの生成の提案を提示させる、請求項
1又は2に記載のライブラリ提示装置。
【請求項8】
前記ライブラリ、前記第1ライブラリ、及び前記第2ライブラリは、前記対象物を認識する機械学習モデルとして構成され、
前記所定のタスクは、前記対象物を認識した結果に基づいて実施される、請求項
1又は2に記載のライブラリ提示装置。
【請求項9】
ライブラリ提示装置が実行するライブラリ提示方法であって、
対象物を含む入力情報を取得することと、
前記対象物に対するタスクを実行可能な複数のライブラリを用いて、前記対象物に対する所定のタスクを適用した結果を取得することと、
前記所定のタスクを適用した結果に対する評価を取得することと、
前記複数のライブラリのうち第1ライブラリを用いた前記所定のタスクの適用結果の評価に基づき、前記複数のライブラリのうち前記第1ライブラリと異なる第2ライブラリを用いた前記所定のタスクの適用結果の出力を判定することと、を含む、ライブラリ提示方法。
【請求項10】
ロボットと、
前記ロボットを制御するために、ライブラリ提示装置によって提示されるライブラリをダウンロードするロボット制御装置と、を備え、
前記ライブラリ提示装置は、
対象物を含む入力情報を取得する入力情報取得部と、
前記対象物に対するタスクを実行可能な複数のライブラリを用いて、前記対象物に対する所定のタスクを適用した結果を取得可能な結果取得部と、
前記所定のタスクを適用した結果に対する評価を取得する評価取得部と、
前記複数のライブラリのうち第1ライブラリを用いた前記所定のタスクの適用結果の評価に基づき、前記複数のライブラリのうち前記第1ライブラリと異なる第2ライブラリを用いた前記所定のタスクの適用結果の出力を判定する提示内容決定部と、を備える、ロボット制御システム。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
本出願は、日本国特許出願2021-129342号(2021年8月5日出願)の優先権を主張するものであり、当該出願の開示全体を、ここに参照のために取り込む。
【技術分野】
【0002】
本開示は、ライブラリ提示装置、ライブラリ提示方法及びロボット制御システムに関する。
【背景技術】
【0003】
従来、学習画像を用いた学習などによって、画像に含まれる物体を識別する装置が知られている。例えば、特許文献1は、熟練していない従事者でも利用可能な、画像から様々な物体を認識して作業を行うロボットを開示する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【0005】
本開示の一実施形態に係るライブラリ提示装置は、
対象物を含む入力情報を取得する入力情報取得部と、
前記対象物に対するタスクを実行可能な複数のライブラリを用いて、前記対象物に対する所定のタスクを適用した結果を取得可能な結果取得部と、
前記所定のタスクを適用した結果に対する評価を取得する評価取得部と、
前記複数のライブラリのうち第1ライブラリを用いた前記所定のタスクの適用結果の評価に基づき、前記複数のライブラリのうち前記第1ライブラリと異なる第2ライブラリを用いた前記所定のタスクの適用結果の出力を判定する提示内容決定部と、を備える。
【0006】
本開示の一実施形態に係るライブラリ提示方法は、
ライブラリ提示装置が実行するライブラリ提示方法であって、
対象物を含む入力情報を取得することと、
前記対象物に対するタスクを実行可能な複数のライブラリを用いて、前記対象物に対する所定のタスクを適用した結果を取得することと、
前記所定のタスクを適用した結果に対する評価を取得することと、
前記複数のライブラリのうち第1ライブラリを用いた前記所定のタスクの適用結果の評価に基づき、前記複数のライブラリのうち前記第1ライブラリと異なる第2ライブラリを用いた前記所定のタスクの適用結果の出力を判定することと、を含む。
【0007】
本開示の一実施形態に係るロボット制御システムは、
ロボットと、
前記ロボットを制御するために、ライブラリ提示装置によって提示されるライブラリをダウンロードするロボット制御装置と、を備え、
前記ライブラリ提示装置は、
対象物を含む入力情報を取得する入力情報取得部と、
前記対象物に対するタスクを実行可能な複数のライブラリを用いて、前記対象物に対する所定のタスクを適用した結果を取得可能な結果取得部と、
前記所定のタスクを適用した結果に対する評価を取得する評価取得部と、
前記複数のライブラリのうち第1ライブラリを用いた前記所定のタスクの適用結果の評価に基づき、前記複数のライブラリのうち前記第1ライブラリと異なる第2ライブラリを用いた前記所定のタスクの適用結果の出力を判定する提示内容決定部と、を備える。
【図面の簡単な説明】
【0008】
【
図1】
図1は、一実施形態に係るライブラリ提示装置を備えるライブラリ提示システムの構成例を示す図である。
【
図2】
図2は、ロボット制御システムの構成例を示す模式図である。
【
図3】
図3は、ライブラリ群の構成例を示す図である。
【
図4】
図4は、ライブラリ提示システムにおける処理の手順の一例を示すシーケンス図である。
【
図5】
図5は、ライブラリ提示装置の提示内容を決定する処理の例を示すフローチャートである。
【
図6】
図6は、ライブラリ提示システムにおける処理の手順の別の例を示すシーケンス図である。
【発明を実施するための形態】
【0009】
以下、図面を参照して本開示の一実施形態に係るライブラリ提示装置、ライブラリ提示方法及びロボット制御システムが説明される。各図中、同一又は相当する部分には、同一符号が付されている。本実施形態の説明において、同一又は相当する部分については、説明を適宜省略又は簡略化する。
【0010】
(ライブラリ提示システムの概要)
図1は、本実施形態に係るライブラリ提示装置10を備えるライブラリ提示システム1の構成例を示す。ライブラリ提示装置10は、ユーザが所定のタスクを実行する場合に、所定のタスクに適したライブラリの提示を行う装置である。所定のタスクは、例えば物体の認識、識別あるいは識別結果の表示又は物体の把持位置認識などの対象物を認識した結果に基づいて実施される処理である。ライブラリは、ユーザが利用可能な認識モデル又は認識プログラムなどである。ユーザは、例えばネットワーク40経由でライブラリをダウンロードすることによって利用できる。本実施形態において、ライブラリは、機械学習によって上記のタスクを実施可能に生成された少なくとも1つの機械学習モデル(学習済みモデル)として構成されるが、これに限定されない。
【0011】
ライブラリ提示装置10は、通信部11と、記憶部12と、制御部13と、を備える。制御部13は、入力情報取得部131と、結果取得部132と、評価取得部133と、提示内容決定部134と、を備える。ライブラリ提示装置10は、ハードウェア構成として、例えばサーバなどのコンピュータであってよい。ライブラリ提示装置10の構成要素の詳細については後述する。
【0012】
ライブラリ提示装置10は、ネットワーク40で接続されるライブラリ生成管理装置20及び通信端末装置30とともに、ライブラリ提示システム1を構成してよい。ネットワーク40は、例えばインターネットであるが、LAN(Local Area Network)であってよい。例えばライブラリ提示装置10とライブラリ生成管理装置20とがLAN経由で通信を実行し、ライブラリ提示装置10と通信端末装置30とがインターネット経由で通信を実行してよい。
【0013】
ライブラリ生成管理装置20は、ライブラリを生成し、複数のライブラリで構成されるライブラリ群を管理する。ライブラリ生成管理装置20は、学習用データを使用して、少なくとも1つの学習済みモデルを生成することによって、ライブラリを生成することができる。ライブラリ生成管理装置20は、機械学習によって、新たなライブラリ(例えば後述するカスタムライブラリ)を生成してよい。ライブラリ生成管理装置20は、ライブラリ群の管理として、新たな学習用データを用いたライブラリの更新(追加学習又は再学習)、ライブラリの追加及び削除を実行してよい。また、ライブラリ生成管理装置20は、指定されたライブラリを用いて所定のタスクを実行し、実行結果を出力できる。
【0014】
本実施形態において、ライブラリ生成管理装置20は、ライブラリ提示装置10の記憶部12にアクセス可能であって、記憶部12に記憶されたライブラリ群を管理する。また、本実施形態において、ライブラリ生成管理装置20は、ライブラリ提示装置10と通信可能な、ライブラリ提示装置10とは別のコンピュータであるが、このような構成に限定されない。例えば、ライブラリ生成管理装置20は、ライブラリ提示装置10と一体化したコンピュータで実現されてよい。なお、この場合、ライブラリ生成管理装置20は、ライブラリ提示装置10の構成要素を有していてもよいし、ライブラリ提示装置10は、ライブラリ生成管理装置20の構成要素を有していてもよい。
【0015】
通信端末装置30は、例えばスマートフォン又はタブレット端末等の汎用の通信可能な端末装置であるが、これらに限定されない。通信端末装置30は、別の例として、後述するロボット制御システム100(
図2参照)の一部で構成されてよい。通信端末装置30は、入力情報(例えば識別の対象物の画像)を生成し、ライブラリ提示装置10に入力情報を出力する。また、通信端末装置30は、ライブラリ提示装置10によって出力された提示内容(例えば所定のタスクに適したライブラリ)をユーザに提示する。通信端末装置30は、通信部31と、記憶部32と、制御部33と、入力情報生成部34と、ユーザインタフェース部35と、を備える。通信端末装置30の構成要素の詳細については後述する。
【0016】
図2は、ロボット制御システム100の構成例を示す模式図である。ロボット制御システム100は、ロボット2と、ロボット制御装置110とを備える。ロボット2は、アーム2Aの先にあるエンドエフェクタ2B(把持ハンド)によって、作業対象物8を作業開始地点6から作業目標地点7へ移動させる。つまり、ロボット制御装置110は、作業対象物8が作業開始地点6から作業目標地点7へ移動するようにロボット2を制御する。ロボット制御システム100はカメラ4を備える。カメラ4は、ロボット2の動作に影響を及ぼす可能性がある影響範囲5にある物品等を撮影する。
【0017】
ロボット制御装置110は、カメラ4で撮影した画像に基づいて、ロボット2が作業を実施する空間に存在する作業対象物8を認識する。作業対象物8の認識は、上記のライブラリ群に含まれるライブラリ(作業対象物8を認識するように生成された学習済みモデル)を用いて実行される。ロボット制御装置110は、作業対象物8の認識を行う前に、ネットワーク40経由でライブラリをダウンロードして、デプロイ(deploy)する。
【0018】
ここで、ライブラリ群は、例えばロボット制御システム100において多くの種類の作業対象物8を認識できるように、多くのライブラリを含むことが好ましい。しかし、多くのライブラリが存在する場合に、ユーザにとって作業対象物8の種類に適したライブラリを選択することが困難なことがある。また、ロボット制御システム100の導入前に、ユーザが、ライブラリ群のライブラリを用いて対象物を適切に認識できるかを知りたい場合がある。また、ロボット制御システム100の導入後であっても、新たな作業対象物8の認識が可能であるかを知りたい場合がある。
【0019】
以下に説明するように、ライブラリ提示装置10は、通信端末装置30からの入力情報(例えば識別する対象物を含む画像)を用いて、所定のタスク(例えば対象物の識別と識別結果の表示)に適したライブラリを出力することができる。本実施形態において、通信端末装置30はユーザが所持するタブレット端末であるが、ユーザがロボット制御システム100を導入している場合に、ロボット制御システム100の一部(ロボット制御装置110及びカメラ4等)を通信端末装置30として機能させることが可能である。
【0020】
(ライブラリ提示装置の構成)
以下、ライブラリ提示装置10の構成要素の詳細が説明される。通信部11は、ネットワーク40に接続する1つ以上の通信モジュールを含んで構成される。通信部11は、例えば4G(4th Generation)、5G(5th Generation)などの移動体通信規格に対応する通信モジュールを含んでよい。通信部11は、例えば有線のLAN規格(一例として1000BASE-T)に対応する通信モジュールを含んでよい。通信部11は、例えば無線のLAN規格(一例としてIEEE802.11)に対応する通信モジュールを含んでよい。
【0021】
記憶部12は、1つ以上のメモリである。メモリは、例えば半導体メモリ、磁気メモリ、又は光メモリ等であるが、これらに限られず任意のメモリとすることができる。記憶部12は、例えばライブラリ提示装置10に内蔵されるが、任意のインタフェースを介してライブラリ提示装置10に外部からアクセスされる構成も可能である。
【0022】
記憶部12は、制御部13が実行する各種の算出において使用される各種のデータを記憶する。また、記憶部12は、制御部13が実行する各種の算出の結果及び中間データを記憶してよい。
【0023】
記憶部12は、上記のように、ライブラリ生成管理装置20からアクセスされる。すなわち、記憶部12は、ライブラリ提示装置10及びライブラリ生成管理装置20によって共用される。本実施形態において、記憶部12は、ライブラリ群(複数のライブラリ)を記憶する。
【0024】
制御部13は、1つ以上のプロセッサである。プロセッサは、例えば汎用のプロセッサ、又は特定の処理に特化した専用プロセッサであるが、これらに限られず任意のプロセッサとすることができる。制御部13は、ライブラリ提示装置10の全体の動作を制御する。
【0025】
ここで、ライブラリ提示装置10は、以下のようなソフトウェア構成を有してよい。ライブラリ提示装置10の動作の制御に用いられる1つ以上のプログラムが記憶部12に記憶される。記憶部12に記憶されたプログラムは、制御部13のプロセッサによって読み込まれると、制御部13を入力情報取得部131、結果取得部132、評価取得部133及び提示内容決定部134として機能させる。
【0026】
入力情報取得部131は、通信端末装置30から入力情報を取得する。上記のように、例えば、新たな対象物に対するタスクを、ライブラリ群のライブラリを用いて実行可能であるかを知りたい場合に、ユーザはライブラリ提示装置10を使用する。入力情報は、対象物を含む情報である。具体的には、本実施形態において、入力情報は、対象物が写る画像であるが、画像に限定されない。入力情報は、例えば、ユーザの情報又は使用予定のロボット2の情報などを、通信端末装置30又はロボット制御装置110などから取得してよい。
【0027】
結果取得部132は、入力情報に含まれる対象物に対する所定のタスクを適用した結果を取得する。より詳細に述べると、結果取得部132は、ライブラリ生成管理装置20が、指定されたライブラリを用いて所定のタスクを実行した結果を取得する。本実施形態において、所定のタスクは対象物の認識と認識結果の表示である。例えば複数の対象物(工業部品など)を含む画像について所定のタスクが実行されると、複数の対象物のそれぞれについて認識(ボルト、ナット、バネ等の識別)が行われて、認識結果(ボルト、ナット、バネ等の名称)が画像にオーバーレイされて出力される。
【0028】
なお、指定されたライブラリを用いて所定のタスクを適用した結果は、実際の実行結果に限定されず、シミュレーションでの演算結果であってよい。シミュレーションは、例えば対象物の認識だけでなく、実際の実行が難しい対象物の把持などを含むことができる。例えば結果取得部132は、入力情報から対象物を認識した後に、その対象物に応じた3Dシミュレーションを行ない、把持の結果を取得することができる。また、3Dシミュレーション内の3Dモデルは、例えば対象物のCADデータ、RGB情報又はデプス情報等から合成されてよい。
【0029】
評価取得部133は、所定のタスクを適用した結果に対する評価を取得する。評価は、本実施形態において適合率(precision)及び再現率(recall)の少なくとも1つであるが、これらに限定されない。評価は、ユーザの目視による「可」又は「不可」の判定を含んでよい。評価取得部133は、ユーザが通信端末装置30に入力した評価を取得してよい。別の例として、評価取得部133は、評価そのものでなく、ユーザが通信端末装置30に入力した期待結果(期待される適合率及び再現率の少なくとも1つ)を取得してよい。評価取得部133は、所定のタスクに対する期待結果を取得した場合に、期待結果に基づき所定のタスクを適用した結果が期待結果以上か否かを判定して、その判定を評価としてよい。なお、評価取得部133は、例えば期待結果が予め設定されているような場合には、評価取得部133がユーザからの入力を受信することなく、適用した結果の判定を行ない評価としてよい。
【0030】
提示内容決定部134は、評価取得部133が取得した評価に基づいて提示内容を決定し、決定した提示内容を通信端末装置30に送信する。提示内容決定部134は、評価が所定の基準未満の場合に、例えば異なるライブラリ又は異なるライブラリを含む複数のライブラリの組み合わせを指定して所定のタスクを適用させて、異なるライブラリ又は異なるライブラリを含む複数のライブラリの組み合わせと、それらに対する適用結果を提示内容としてよい。なお、提示内容には、例えば、評価が所定の基準未満であったらライブラリを含めてもよい。提示内容決定部134による提示内容の決定の詳細については後述する。
【0031】
(通信端末装置の構成)
以下、通信端末装置30の構成要素の詳細が説明される。通信部31は、ネットワーク40に接続する1つ以上の通信モジュールを含んで構成される。通信部31は、例えば4G、5Gなどの移動体通信規格に対応する通信モジュールを含んでよい。また、通信部31は、LAN規格に対応する通信モジュールを含んでよい。通信部31は、通信部11と同じ通信モジュールを含んで構成されてよいし、異なる通信モジュールを含んで構成されてよい。
【0032】
記憶部32は、1つ以上のメモリである。メモリは、例えば半導体メモリ、磁気メモリ、又は光メモリ等であるが、これらに限られず任意のメモリとすることができる。記憶部32は、制御部33が実行する各種の算出において使用される各種のデータを記憶する。また、記憶部32は、制御部33が実行する各種の算出の結果及び中間データを記憶してよい。例えば記憶部32は、入力情報生成部34によって生成されて、ライブラリ提示装置10に送信される(アップロードされる)入力情報を一時的に記憶してよい。また、例えば記憶部32は、ライブラリ提示装置10から通信部31経由で取得した提示内容を一時的に記憶してよい。
【0033】
制御部33は、1つ以上のプロセッサである。プロセッサは、例えば汎用のプロセッサ、又は特定の処理に特化した専用プロセッサであるが、これらに限られず任意のプロセッサとすることができる。制御部33は、通信端末装置30の全体の動作を制御する。
【0034】
入力情報生成部34は入力情報を生成する。上記のように、本実施形態において入力情報は識別する対象物を含む画像である。入力情報生成部34は、例えばカメラなどの撮像部を含んで構成されてよい。本実施形態において、入力情報生成部34はカメラである。例えばユーザは、ライブラリ提示装置10によって新たな対象物の認識が可能であるかを知りたい場合に、通信端末装置30のカメラで新たな対象物を含む画像を撮影して入力情報を生成してよい。
【0035】
ユーザインタフェース部35は、ユーザからの情報を入力し、ユーザへの情報を出力する。ユーザインタフェース部35は、例えばタッチセンサを含んで構成される。タッチセンサは、ユーザの指又はスタイラスペン等の接触を検出して、その接触位置を特定する。タッチセンサはディスプレイと一体化されて、タッチパネルディスプレイを構成してよい。本実施形態において、ユーザインタフェース部35はタッチパネルディスプレイである。ライブラリ提示装置10からの提示内容はタッチパネルディスプレイに表示される。ユーザインタフェース部35は、ユーザが所定タスクを決定する場合、ライブラリを決定する場合、評価及び期待結果などを入力する場合などにおいて、チャット画面などを表示して、入力を促してよい。
【0036】
(ライブラリ群)
本実施形態において、記憶部12に記憶されるライブラリ群は、
図3に示すように3つに大別される。ライブラリ群は、汎用ライブラリ群、特化ライブラリ群及びカスタムライブラリ群を含む。汎用ライブラリ群は、大きな分類(第1分類)で対象物を認識するための複数の汎用ライブラリを含む。特化ライブラリ群は、より小さな分類(第2分類)で対象物を認識するための複数の特化ライブラリを含む。第2分類は、第1分類の1つの項目について細分化するものである。また、カスタムライブラリ群は、ユーザが用意した学習用データによって生成された複数のカスタムライブラリを含む。
【0037】
図3の例において、第1分類は工業部品、文房具などである。また、第2分類はボルト、ナット、ペン、ハサミなどである。例えば汎用ライブラリである「工業部品」は、ボルト、ナット、バネなどを認識するためのライブラリである。また、例えば特化ライブラリである「ボルト」は、ボルトの種類であるボルトA、ボルトB、ボルトCなどを認識するためのライブラリである。特化ライブラリである「ボルト」及び「ナット」は、汎用ライブラリである「工業部品」と関連する。このような汎用ライブラリと特化ライブラリとの関連付けは、関連情報として記憶部12に記憶される。つまり、記憶部12は、複数のライブラリの関係を定義する関連情報を記憶する。また、カスタムライブラリ群については、カスタムライブラリとユーザとの関連、汎用ライブラリとカスタムライブラリとの関連又は特化ライブラリとカスタムライブラリとの関連が、関連情報として記憶部12に記憶されてよい。さらに、複数の汎用ライブラリ同士の類似、複数の特化ライブラリ同士の類似などが関連情報として記憶部12に記憶されてよい。さらに、汎用ライブラリ、特化ライブラリ又はカスタムライブあるいは複数の汎用ライブラリ同士、複数の特化ライブラリ同士又は複数のカスタムライブラリ同士の組合せ使用の使用履歴などが関連情報として記憶部12に記憶されてよい。
【0038】
提示内容決定部134は、上記の関連情報に基づき、例えばユーザから指定されたライブラリ(第1ライブラリ)と所定の関係を有する第2ライブラリを用いた所定のタスクの適用結果を結果取得部132に取得させてよい。例えばユーザが「ボルトC」の改良製品である「ボルトC´」を、ライブラリ群のライブラリを用いて識別できるかを確認するために、ライブラリ提示装置10を使用することがあり得る。この場合に、ユーザは、ライブラリの種類の詳細を知るわけではないため、汎用ライブラリの「工業部品」を指定することがあり得る。このような場合に、提示内容決定部134は、ライブラリ生成管理装置20に「工業部品」(汎用ライブラリ、第1ライブラリ)を用いた「ボルトC´」の認識を実行させるだけでなく、関連情報に基づいて「ボルト」(特化ライブラリ、第2ライブラリ)を用いた「ボルトC´」の認識を実行させてよい。そして、提示内容決定部134は、それぞれの実行結果を結果取得部132に取得させてよい。提示内容決定部134は、例えば、第1ライブラリを用いた所定のタスクの実行結果に対する評価が所定の基準未満の場合に、第2ライブラリを用いた所定のタスクの実行結果を提示させてもよい。評価が所定の基準未満の場合とは、例えば適合率及び再現率が期待結果未満であることである。提示内容決定部134は、関連情報を用いることによって、ユーザがライブラリの種類についてあまり知らなくても、所定のタスクの実行に適する候補のライブラリを選択できる。ここで、例えば、第1ライブラリに関連した複数の第2ライブラリを有する場合、提示内容決定部134は、複数の第2ライブラリのそれぞれに対して実行及び評価してよい。また、提示内容決定部134は、前のライブラリ(第1ライブラリ等)を用いた所定のタスクの実行結果に対する評価が所定の基準未満の場合に、順次後のライブラリ(第2ライブラリ等)を用いた所定のタスクの適用結果を結果取得部132に取得させてもよい。
【0039】
また、提示内容決定部134は、例えば、関連情報の関連度に基づいて、複数の第2ライブラリの一部を用いた所定のタスクの実行結果を結果取得部132に取得させてよい。なお、関連度とは、例えば、ユーザ又は使用予定のロボット2が過去に使用したライブラリの使用頻度などである。また、提示内容決定部134は、第1ライブラリに複数の第2ライブラリが関連している場合、複数の第2ライブラリに優先度を設定して、優先度の高い第2ライブラリを用いて所定のタスクの実行結果を結果取得部132に取得させてよい。さらに、この場合、提示内容決定部134は、順次、第2ライブラリの評価を行なってよく、所定の基準以上の評価が得られた場合に、結果取得部132による実行結果の取得を完了させてよい。なお、優先度とは、例えば、例えば、ユーザ又は使用予定のロボット2が過去に使用したライブラリの使用頻度などに基づいて設定されてよい。
【0040】
さらに、提示内容決定部134は、関連情報に基づいて、ユーザが過去に生成したカスタムライブラリ(第3ライブラリ)を用いた所定のタスクの実行結果を結果取得部132に取得させてよい。なお、第1ライブラリに関連した複数の第3ライブラリを有する場合、提示内容決定部134は、複数の第3ライブラリのそれぞれに対して実行及び評価してよい。また、提示内容決定部134は、例えば第3ライブラリを提示させてもよい。また、第1ライブラリは、他のライブラリ(例えば第2ライブラリ)と組み合わせて用いられてよい。また、第2ライブラリは、他のライブラリ(例えば第3ライブラリ)と組み合わせて用いられてよい。つまり、結果取得部132は、複数のライブラリを組み合わせた場合の所定のタスクを実行した結果を取得してよい。提示内容決定部134は、例えば複数のライブラリを組み合わせた場合の評価を比較して、最良の組み合わせのライブラリとそれらを用いた所定のタスクの実行結果を提示させてよい。提示内容決定部134は、例えば第3ライブラリと第2ライブラリとを組み合わせて用いた所定のタスクの実行結果を提示させてよい。例えば第1ライブラリの「工業部品」と第2ライブラリの「ボルト」とが組み合わされて(両方用いられて)、所定のタスクとして対象物の認識が実行されてよい。この例において、対象物が「ボルトB」であれば正しく「ボルトB」と認識する実行結果が期待されるが、対象物が「ナットB」であれば単にナットと認識されることがあり得る。
【0041】
提示内容決定部134は、第2ライブラリを用いた所定のタスクの実行結果に対する評価が所定の基準未満の場合に、新たなライブラリの生成の提案を提示させてよい。新たなライブラリは、新たなカスタムライブラリである。例えばユーザは、「ボルトC´」を含む画像から学習用データを作り、学習用データを用いてライブラリ生成管理装置20に新たなライブラリを生成させることができる。
【0042】
このように、提示内容決定部134は、ユーザから指定されたライブラリ(第1ライブラリ)を用いた所定のタスクの実行結果を提示させるだけでなく、評価に応じて、第2ライブラリ、第3ライブラリ、これらのライブラリの組み合わせを実行結果と共に提示させる。さらに、提示内容決定部134は、新たなライブラリの生成の提案を提示させる。新たなライブラリの生成の提案は、上記の例の「ボルトC´」が認識されない場合、「ボルトC´」が「ボルトA」などに誤分類される場合、及び「ボルトC´」が種別による細かな分類がされない場合などに行われてよい。
【0043】
ここで、上記の例において、第1ライブラリが汎用ライブラリ、第2ライブラリが特化ライブラリ、第3ライブラリがカスタムライブラリであると説明したが、これらの対応は限定されない。例えば第2ライブラリが汎用ライブラリで、第3ライブラリが特化ライブラリであってよい。この場合は、例えば、ユーザから指定された第1ライブラリが「工業製品」であった場合、第2ライブラリとして「文房具」などが、第3ライブラリとして「ペン」などが適用され得る。また、例えば第1ライブラリが汎用ライブラリで、第2ライブラリがカスタムライブラリであってもよい。この場合、例えば、ユーザから指定された第1ライブラリが「工業製品」であった場合、第2ライブラリとして「ボルトC´」が適用され得る。また、第1ライブラリが特化ライブラリ又はカスタムライブラリでもよい。この場合、例えば、ユーザから指定された第1ライブラリが「ボルトA」であった場合、第2ライブラリとして「ボルトB」が、第3ライブラリとして「ボルトC´」が適用されてもよいし、ユーザから指定された第1ライブラリが「ボルトC´」であった場合、第2ライブラリとして「ボルトC」が、第3ライブラリとして「ボルトD´」が適用されてもよい。
【0044】
また、上記の例においては、第3ライブラリは、第1ライブラリとの関連情報に基づいて設定されていたが、第3ライブラリは、第2ライブラリとの関連情報に基づいて設定されていてもよいし、第1ライブラリおよび第2ライブラリの双方の関連情報に基づいて設定されてもよい。この場合、例えば、第1ライブラリが「工業製品」であった場合、第2ライブラリとして「文房具」などで、第3ライブラリとして「ペン」などが適用されたり、第1ライブラリが「工業製品」であり、第2ライブラリが「ボルトC」である場合、第3ライブラリとして「ボルトC´」などが適用されたりしてもよい。
【0045】
また、ライブラリの組み合わせは、特に制限されない。上記の例において、結果取得部132は、例えば複数の汎用ライブラリ又は汎用ライブラリと特化ライブラリを組み合わせた場合の所定のタスクを実行した結果を取得する。結果取得部132は、例えば複数の特化ライブラリ、複数のカスタムライブラリ、特化ライブラリとカスタムライブラリ又は汎用ライブラリとカスタムライブラリを組み合わせた場合の所定のタスクを実行した結果を取得してよい。
【0046】
(ライブラリ提示方法)
図4は、ライブラリ提示システム1における処理の手順の一例を示すシーケンス図である。また、
図5は、ライブラリ提示装置10の提示内容を決定する処理の例を示すフローチャートである。
図4及び
図5を参照して、本実施形態に係るライブラリ提示装置10が実行するライブラリ提示方法の処理が説明される。
【0047】
ライブラリ提示装置10を使用するユーザは、所定のタスクを決定して、通信端末装置30に入力する(ステップS1)。ここで、所定のタスクは、上記の例と同様に、「ボルトC´」及び他の工業部品を含む画像における対象物の認識と認識結果の表示であるとして説明する。
【0048】
ユーザは、通信端末装置30のカメラを使って「ボルトC´」及び他の工業部品を撮像し、入力情報である撮像画像を生成する(ステップS2)。
【0049】
通信端末装置30は、入力情報(撮像画像)をライブラリ提示装置10に送信する(ステップS3)。ライブラリ提示装置10の入力情報取得部131は、入力情報を取得する。
【0050】
ユーザは、ライブラリを選択して、通信端末装置30に入力する(ステップS4)。ここで、ユーザは、ライブラリの種類の詳細を知るわけではないため、汎用ライブラリの「工業部品」を指定したとして説明する。
【0051】
通信端末装置30は、ユーザ選択ライブラリをライブラリ提示装置10に送信する(ステップS5)。つまり、通信端末装置30は、ユーザによって選択されたライブラリが汎用ライブラリの「工業部品」であるという情報をライブラリ提示装置10に送信する。
【0052】
ライブラリ提示装置10の提示内容決定部134は、入力情報取得部131を介して得た入力情報と、指定されたライブラリ(汎用ライブラリの「工業部品」)の情報を、ライブラリ生成管理装置20に送信し、所定のタスクを実行させる(ステップS6)。
【0053】
ライブラリ生成管理装置20は、所定のタスクを実行する(ステップS7)。
【0054】
ライブラリ生成管理装置20は、所定のタスクの実行結果をライブラリ提示装置10に送信する(ステップS8)。ライブラリ提示装置10の結果取得部132は、所定のタスクの実行結果を取得する。
【0055】
ライブラリ提示装置10の提示内容決定部134は、所定のタスクの実行結果を通信端末装置30に送信する(ステップS9)。通信端末装置30のユーザインタフェース部35(タッチパネルディスプレイ)に所定のタスクの実行結果が表示される。
【0056】
ユーザは、所定のタスクの実行結果に対して評価を行い、通信端末装置30に入力する(ステップS10)。評価は、適合率及び再現率であってよい。ユーザは、評価として、さらに期待結果(期待される適合率及び再現率など)を通信端末装置30に入力してよい。
【0057】
通信端末装置30は、ユーザによって入力された評価をライブラリ提示装置10に送信する(ステップS11)。ライブラリ提示装置10の評価取得部133は評価を取得する。ここで、上記の期待結果が予め設定されているような場合には、評価取得部133がユーザからの評価を受信することなく、ステップS12の処理に進んでよい。
【0058】
ライブラリ提示装置10の提示内容決定部134は、評価取得部133を介して得た評価に基づいて、提示内容の決定処理を実行する(ステップS12)。提示内容の決定処理は、後述するように
図5のフローチャートに従って実行される。
【0059】
ライブラリ提示装置10の提示内容決定部134は、提示内容を通信端末装置30に送信して、ユーザインタフェース部35(タッチパネルディスプレイ)に表示させる(ステップS13)。ユーザは、提示内容に基づいて、ライブラリ群のライブラリを用いて対象物が識別されるかを確認することができる。
【0060】
ライブラリ提示装置10は、例えば、以下のように提示内容の決定処理を実行する。提示内容決定部134は、評価取得部133による評価が所定の基準未満の場合に(ステップS21のYes)、ユーザ選択ライブラリ以外のライブラリを用いた所定のタスクの実行指示を行う(ステップS22)。提示内容決定部134は、ライブラリ生成管理装置20に、ユーザによって選択されたライブラリに関連するライブラリを用いて所定のタスクの実行するように指示する。上記のように、提示内容決定部134は、記憶部12に記憶された関連情報に基づいてライブラリを選ぶ。例えば、ユーザによって選択されたライブラリが汎用ライブラリの「工業部品」である場合に、特化ライブラリの「ボルト」及び同じユーザのカスタムライブラリなどが選ばれる。また、提示内容決定部134は、複数のライブラリを組み合わせて所定のタスクの実行するように指示してよい。ここで、所定の基準は予め決定されていてよいし、例えばステップS10で入力された期待結果に基づいて決定されてよい。
【0061】
結果取得部132は、ユーザ選択ライブラリ以外のライブラリ(以下「非ユーザ選択ライブラリ」とも称される)を用いた所定のタスクの実行結果を取得する(ステップS23)。
【0062】
提示内容決定部134は、非ユーザ選択ライブラリを用いた所定のタスクの実行結果を提示内容に設定する(ステップS24)。非ユーザ選択ライブラリは、例えばユーザが知らなかった特化ライブラリを含む。特化ライブラリは、例えば汎用ライブラリより小さな分類で対象物を認識するため、ユーザの要求を満たす可能性が高い。このように、提示内容決定部134は、ユーザ選択ライブラリを用いた所定のタスクの評価が低い場合であっても、より適するライブラリを提示することができる。ここで、提示内容決定部134は、評価取得部133を介して得た期待結果(期待される適合率及び再現率など)に基づいて非ユーザ選択ライブラリを用いた所定のタスクの実行結果を評価してよい。この場合に、提示内容決定部134は、非ユーザ選択ライブラリを用いた所定のタスクの実行結果を評価した後に提示内容に設定してよい。
【0063】
また、提示内容決定部134は、評価が所定の基準以上の場合に(ステップS21のNo)、ユーザ選択ライブラリを所定のタスクと紐づけたことを提示内容に設定する(ステップS25)。例えば所定の基準は、適合率が90%以上といった正解率についての基準であってよい。この例において、提示内容決定部134は、評価が所定の基準以上であれば、ユーザ選択ライブラリでの正解率が高く、誤分類が少ないとして、ユーザ選択ライブラリについての提示を行う。また、提示内容決定部134は、評価が所定の基準未満であれば、ユーザ選択ライブラリでの正解率が低いとして、より適するライブラリ(非ユーザ選択ライブラリ)を提示することができる。
【0064】
ここで、
図4の例において、ライブラリ提示装置10はユーザの評価を待って非ユーザ選択ライブラリを用いた所定のタスクを実行させたが、ユーザの評価を待たずに実行することも可能である。
図6は、ライブラリ提示システム1における処理の手順の別の例を示すシーケンス図である。
【0065】
図6のステップS101からS105は、
図4のステップS1からS5と同じであるため、説明を省略する。
【0066】
ユーザは、期待結果を通信端末装置30に入力する(ステップS106)。期待結果は、上記のように、例えば期待される適合率及び再現率などである。
【0067】
通信端末装置30は、ユーザによって入力された期待結果をライブラリ提示装置10に送信する(ステップS107)。ライブラリ提示装置10の評価取得部133は期待結果を取得する。
【0068】
ライブラリ提示装置10の提示内容決定部134は、ライブラリを拡張した所定のタスクの実行指示を行う(ステップS108)。ライブラリの拡張は、ユーザ選択ライブラリに加えて、非ユーザ選択ライブラリを用いるように指定することを意味する。非ユーザ選択ライブラリは、関連情報に基づいて選ばれてよい。
【0069】
ライブラリ生成管理装置20は、所定のタスクを実行する(ステップS109)。ライブラリ生成管理装置20は、複数のライブラリを用いて、複数の所定のタスクを実行する。
【0070】
ライブラリ生成管理装置20は、所定のタスクの複数の実行結果をライブラリ提示装置10に送信する(ステップS110)。ライブラリ提示装置10の結果取得部132は、複数の実行結果を取得する。
【0071】
ライブラリ提示装置10の評価取得部133は、ユーザの評価を待たずに非ユーザ選択ライブラリを用いた所定のタスクが実行される場合には受信の処理を実行しない。例えば、評価取得部133は、予め設定された期待結果と複数の実行結果に基づいて、それぞれの実行結果について期待結果以上か否かを判定して、その判定をもって評価を取得したとする。
【0072】
提示内容決定部134は、複数の実行結果についての評価(期待結果以上か否かの判定)に基づいて、提示内容を決定する(ステップS111)。提示内容決定部134は、例えば複数の実行結果の評価を比較して、最も評価が良いライブラリとそれを用いた所定のタスクの実行結果を提示内容としてよい。
【0073】
ライブラリ提示装置10の提示内容決定部134は、提示内容を通信端末装置30に送信して、ユーザインタフェース部35(タッチパネルディスプレイ)に表示させる(ステップS112)。
【0074】
以上のように、本実施形態に係るライブラリ提示装置10及びライブラリ提示方法は、対象物に適したライブラリを提示することができる。ユーザは、ライブラリをデプロイして稼働するロボット制御システム100などの導入前であっても、また、新たな対象物の認識が必要になった場合でも、ライブラリ群に適するライブラリが用意されているか否かを知ることができる。
【0075】
以上、ライブラリ提示装置10、ライブラリ提示方法及びロボット制御システムの実施形態を説明してきたが、本開示の実施形態としては、システム、プログラム、プログラムが記録された記憶媒体としての実施態様をとることも可能である。記憶媒体は、一例として、光ディスク、光磁気ディスク、CD-ROM、CD-R、CD-RW、磁気テープ、ハードディスク、又はメモリカード等である。
【0076】
また、プログラムの実装形態としては、コンパイラによってコンパイルされるオブジェクトコード、インタプリタにより実行されるプログラムコード等のアプリケーションプログラムに限定されることはなく、オペレーティングシステムに組み込まれるプログラムモジュール等の形態であってよい。さらに、プログラムは、制御基板上のCPUにおいてのみ全ての処理が実施されるように構成されてもされなくてよい。プログラムは、必要に応じて基板に付加された拡張ボード又は拡張ユニットに実装された別の処理ユニットによってその一部又は全部が実施されるように構成されてよい。
【0077】
本開示に係る実施形態について説明する図は模式的なものである。図面上の寸法比率等は、現実のものとは必ずしも一致していない。
【0078】
本開示に係る実施形態について、諸図面及び実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形又は改変を行うことが可能であることに注意されたい。従って、これらの変形又は改変は本開示の範囲に含まれることに留意されたい。例えば、各構成部等に含まれる機能等は論理的に矛盾しないように再配置可能であり、複数の構成部等を1つに組み合わせたり、或いは分割したりすることが可能である。
【0079】
本開示に記載された構成要件、処理のステップについては、これらの特徴が相互に排他的である組合せを除き、任意に組み合わせることができる。また、本開示に記載された特徴の各々は、明示的に否定されない限り、同一の目的、同等の目的又は類似する目的のために働く代替の特徴に置換することができる。したがって、明示的に否定されない限り、開示された特徴の各々は、包括的な一連の同一、又は、均等となる特徴の一例にすぎない。
【0080】
さらに、本開示に係る実施形態は、上述した実施形態のいずれの具体的構成にも制限されるものではない。本開示に係る実施形態は、本開示に記載された全ての新規な特徴、又は、それらの組合せ、あるいは記載された全ての新規な方法、又は、処理のステップ、又は、それらの組合せに拡張することができる。
【0081】
本開示において「第1」及び「第2」等の記載は、当該構成を区別するための識別子である。本開示における「第1」及び「第2」等の記載で区別された構成は、当該構成における番号を交換することができる。例えば、第1分類は、第2分類と識別子である「第1」と「第2」とを交換することができる。識別子の交換は同時に行われる。識別子の交換後も当該構成は区別される。識別子は削除してよい。識別子を削除した構成は、符号で区別される。本開示における「第1」及び「第2」等の識別子の記載のみに基づいて、当該構成の順序の解釈、小さい番号の識別子が存在することの根拠に利用してはならない。例えば、第1ライブラリと第2ライブラリなど、請求項の記載において「第1」と「第2」の識別子を交換したものも本発明の範囲に含まれる。
【符号の説明】
【0082】
1 ライブラリ提示システム
2 ロボット
2A アーム
2B エンドエフェクタ
4 カメラ
5 影響範囲
6 作業開始地点
7 作業目標地点
8 作業対象物
10 ライブラリ提示装置
11 通信部
12 記憶部
13 制御部
20 ライブラリ生成管理装置
30 通信端末装置
31 通信部
32 記憶部
33 制御部
34 入力情報生成部
35 ユーザインタフェース部
40 ネットワーク
100 ロボット制御システム
110 ロボット制御装置
131 入力情報取得部
132 結果取得部
133 評価取得部
134 提示内容決定部