(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-13
(45)【発行日】2023-11-21
(54)【発明の名称】情報処理装置、仲介装置、シミュレートシステム、情報処理方法及びプログラム
(51)【国際特許分類】
G09B 9/00 20060101AFI20231114BHJP
B25J 9/22 20060101ALI20231114BHJP
【FI】
G09B9/00 Z
B25J9/22 A
(21)【出願番号】P 2019105752
(22)【出願日】2019-06-05
【審査請求日】2022-04-20
(31)【優先権主張番号】P 2018151917
(32)【優先日】2018-08-10
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000000974
【氏名又は名称】川崎重工業株式会社
(74)【代理人】
【識別番号】110000556
【氏名又は名称】弁理士法人有古特許事務所
(72)【発明者】
【氏名】橋本 康彦
(72)【発明者】
【氏名】掃部 雅幸
(72)【発明者】
【氏名】田中 繁次
(72)【発明者】
【氏名】丸山 佳彦
【審査官】関口 英樹
(56)【参考文献】
【文献】特開2004-309858(JP,A)
【文献】特表2014-520279(JP,A)
【文献】特開2004-328829(JP,A)
【文献】特開2004-260891(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G09B1/00-9/56
17/00-19/26
23/00-29/14
(57)【特許請求の範囲】
【請求項1】
ロボットモデルに模擬的な動作をさせるシミュレーションを実行するシミュレート装置と接続され且つ前記シミュレート装置の遠隔のユーザによって操作される操作端末に入力された、ロボットモデルを操作するための第一情報を、前記シミュレート装置の前記ロボットモデルを操作するための第二情報に変換
することと、
前記第二情報に従って前記シミュレート装置を動作させ
ることと、
前記第二情報に従って動作する前記シミュレート装置の前記ロボットモデルの動作の情報を、前記操作端末に提示させる
ことと、
複数存在する前記操作端末のうちの1つである第一操作端末に入力される、実行を要求するシミュレーションの情報である要求情報に基づき、複数存在する前記シミュレート装置の中から、前記要求情報において要求されるシミュレーションに対応する第一シミュレート装置を決定することと、
前記第一シミュレート装置と前記第一操作端末とを通信網を介して接続することで、前記第一シミュレート装置と前記第一操作端末とを用いたシミュレーションの実行を可能にすることとを実行し、
前記複数存在するシミュレート装置の1つ以上は、前記ロボットモデルとして模擬的な動作をする実機の産業用ロボットであり、
前記複数存在するシミュレート装置の1つ以上は、前記ロボットモデルとしての仮想的な産業用ロボットモデルに模擬的な動作をさせるシミュレートコンピュータである
情報処理装置。
【請求項2】
前記シミュレート装置の前記ロボットモデルの動作の情報に基づき、前記ロボットモデルの動作結果を評価し、
前記操作端末を操作するユーザに対する評価であるユーザ評価として、前記動作結果の評価を登録する
請求項
1に記載の情報処理装置。
【請求項3】
登録された前記ユーザ評価に基づき、前記ユーザ評価の対象のユーザが実行可能であるシミュレーション及び前記シミュレート装置を決定し、
決定した前記シミュレーション及び前記シミュレート装置の情報を前記操作端末に提示させる
請求項
2に記載の情報処理装置。
【請求項4】
前記ロボットモデルの模擬的な動作は、実機のロボットが実行する作業を模擬した動作である
請求項1~
3のいずれか一項に記載の情報処理装置。
【請求項5】
前記
シミュレートコンピュータによって生成される前記仮想的な
産業用ロボットモデルの動作の情報を前記操作端末に提示させる
請求項1~
4のいずれか一項に記載の情報処理装置。
【請求項6】
撮像装置によって撮像される前記
実機の産業用ロボットの画像の情報を、前記ロボットモデルの動作の情報として前記操作端末に提示させる
請求項1~
5のいずれか一項に記載の情報処理装置。
【請求項7】
前記
実機の産業用ロボットの画像を仮想的なロボットモデルの画像に変換し、
変換された画像における前記仮想的なロボットモデルの動作の情報を前記操作端末に提示させる
請求項
6に記載の情報処理装置。
【請求項8】
前記操作端末は、ゲーム機、ゲームコントローラ、ロボット専用の遠隔操作器、個人情報端末(PDA:Personal Data Assistant)、スマートデバイス及びパーソナルコンピュータの少なくともいずれかである
請求項1~
7のいずれか一項に記載の情報処理装置。
【請求項9】
請求項1~
8のいずれか一項に記載の情報処理装置を備え、
前記操作端末と前記シミュレート装置とを通信網を介して仲介する
仲介装置。
【請求項10】
請求項1~
8のいずれか一項に記載の情報処理装置と、
前記シミュレート装置と、
前記操作端末と前記シミュレート装置とを通信網を介して仲介する仲介装置とを備える
シミュレートシステム。
【請求項11】
前記操作端末をさらに備える
請求項
10に記載のシミュレートシステム。
【請求項12】
ロボットモデルに模擬的な動作をさせるシミュレーションを実行するシミュレート装置と接続され且つ前記シミュレート装置の遠隔のユーザによって操作される操作端末に入力された、ロボットモデルを操作するための第一情報を、前記シミュレート装置の前記ロボットモデルを操作するための第二情報に変換
することと、
前記第二情報に従って前記シミュレート装置を動作させ
ることと、
前記第二情報に従って動作する前記シミュレート装置の前記ロボットモデルの動作の情報を、前記操作端末に提示させる
ことと、
複数存在する前記操作端末のうちの1つである第一操作端末に入力される、実行を要求するシミュレーションの情報である要求情報に基づき、複数存在する前記シミュレート装置の中から、前記要求情報において要求されるシミュレーションに対応する第一シミュレート装置を決定することと、
前記第一シミュレート装置と前記第一操作端末とを通信網を介して接続することで、前記第一シミュレート装置と前記第一操作端末とを用いたシミュレーションの実行を可能にすることとを含み、
前記複数存在するシミュレート装置の1つ以上は、前記ロボットモデルとして模擬的な動作をする実機の産業用ロボットであり、
前記複数存在するシミュレート装置の1つ以上は、前記ロボットモデルとしての仮想的な産業用ロボットモデルに模擬的な動作をさせるシミュレートコンピュータである
情報処理方法。
【請求項13】
前記シミュレート装置の前記ロボットモデルの動作の情報に基づき、前記ロボットモデルの動作結果を評価し、
前記操作端末を操作するユーザに対する評価であるユーザ評価として、前記動作結果の評価を登録する
請求項
12に記載の情報処理方法。
【請求項14】
登録された前記ユーザ評価に基づき、前記ユーザ評価の対象のユーザが実行可能であるシミュレーション及び前記シミュレート装置を決定し、
決定した前記シミュレーション及び前記シミュレート装置の情報を前記操作端末に提示させる
請求項
13に記載の情報処理方法。
【請求項15】
前記ロボットモデルの模擬的な動作は、実機のロボットが実行する作業を模擬した動作である
請求項
12~
14のいずれか一項に記載の情報処理方法。
【請求項16】
前記
シミュレートコンピュータによって生成される前記仮想的な
産業用ロボットモデルの動作の情報を前記操作端末に提示させる
請求項
12~
15のいずれか一項に記載の情報処理方法。
【請求項17】
撮像装置によって撮像される前記
実機の産業用ロボットの画像の情報を、前記ロボットモデルの動作の情報として前記操作端末に提示させる
請求項
12~
16のいずれか一項に記載の情報処理方法。
【請求項18】
前記
実機の産業用ロボットの画像を仮想的なロボットモデルの画像に変換し、
変換された画像における前記仮想的なロボットモデルの動作の情報を前記操作端末に提示させる
請求項
17に記載の情報処理方法。
【請求項19】
前記操作端末は、ゲーム機、ゲームコントローラ、ロボット専用の遠隔操作器、個人情報端末(PDA)、スマートデバイス及びパーソナルコンピュータの少なくともいずれかである
請求項
12~
18のいずれか一項に記載の情報処理方法。
【請求項20】
ロボットモデルに模擬的な動作をさせるシミュレーションを実行するシミュレート装置と接続され且つ前記シミュレート装置の遠隔のユーザによって操作される操作端末に入力された、ロボットモデルを操作するための第一情報を、前記シミュレート装置の前記ロボットモデルを操作するための第二情報に変換することと、
前記第二情報に従って前記シミュレート装置を動作させることと、
前記第二情報に従って動作する前記シミュレート装置の前記ロボットモデルの動作の情報を、前記操作端末に提示させることと、
複数存在する前記操作端末のうちの1つである第一操作端末に入力される、実行を要求するシミュレーションの情報である要求情報に基づき、複数存在する前記シミュレート装置の中から、前記要求情報において要求されるシミュレーションに対応する第一シミュレート装置を決定することと、
前記第一シミュレート装置と前記第一操作端末とを通信網を介して接続することで、前記第一シミュレート装置と前記第一操作端末とを用いたシミュレーションの実行を可能にすることとをコンピュータに実行させ、
前記複数存在するシミュレート装置の1つ以上は、前記ロボットモデルとして模擬的な動作をする実機の産業用ロボットであり、
前記複数存在するシミュレート装置の1つ以上は、前記ロボットモデルとしての仮想的な産業用ロボットモデルに模擬的な動作をさせるシミュレートコンピュータである
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、仲介装置、シミュレートシステム及び情報処理方法に関する。
【背景技術】
【0002】
従来、人により行われてきた作業のロボット化が進められている。ロボットが人によって操作される場合、人の操作のトレーニングが必要になる。例えば、特許文献1は、生活支援ロボットアームの操作のトレーニング装置を開示する。このトレーニング装置は、コンピュータ装置上で実行され且つ生活支援ロボットアームの機能を模擬するシミュレータによって実現される。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
近年、産業用ロボットを扱う産業では、少子高齢化の影響で、ロボットの操作者の不足が懸念される。一方、何らかの理由で、十分に就労できない又は就労しない人の数が増えている。このような人々の労力は貴重である。
【0005】
そこで、本発明は、様々な人がロボットの操作のシミュレーションを行うことでロボットの操作を行うことを可能にする情報処理装置、仲介装置、シミュレートシステム及び情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本発明の一態様に係る情報処理装置は、ロボットモデルに模擬的な動作をさせるシミュレーションを実行するシミュレート装置と接続され且つ前記シミュレート装置の遠隔のユーザによって操作される操作端末に入力された、ロボットモデルを操作するための第一情報を、前記シミュレート装置の前記ロボットモデルを操作するための第二情報に変換し、前記第二情報に従って前記シミュレート装置を動作させ、前記第二情報に従って動作する前記シミュレート装置の前記ロボットモデルの動作の情報を、前記操作端末に提示させる。
【0007】
また、本発明の一態様に係る仲介装置は、本発明の一態様に係る情報処理装置を備え、前記操作端末と前記シミュレート装置とを通信網を介して仲介する。
【0008】
また、本発明の一態様に係るシミュレートシステムは、本発明の一態様に係る情報処理装置と、前記シミュレート装置と、前記操作端末と前記シミュレート装置とを通信網を介して仲介する仲介装置とを備える。
【0009】
また、本発明の一態様に係る情報処理方法は、ロボットモデルに模擬的な動作をさせるシミュレーションを実行するシミュレート装置と接続され且つ前記シミュレート装置の遠隔のユーザによって操作される操作端末に入力された、ロボットモデルを操作するための第一情報を、前記シミュレート装置の前記ロボットモデルを操作するための第二情報に変換し、前記第二情報に従って前記シミュレート装置を動作させ、前記第二情報に従って動作する前記シミュレート装置の前記ロボットモデルの動作の情報を、前記操作端末に提示させる。
【発明の効果】
【0010】
本発明によれば、様々な人がロボットの操作のシミュレーションを行うことでロボットを操作することが可能となる。
【図面の簡単な説明】
【0011】
【
図1】実施の形態に係るシミュレートシステムの構成の一例を示す図
【
図2】実施の形態に係る操作端末のハードウェア構成の一例を示すブロック図
【
図3】実施の形態に係る仲介装置のハードウェア構成の一例を示すブロック図
【
図4】実施の形態に係るシミュレートコンピュータのハードウェア構成の一例を示すブロック図
【
図5】実施の形態に係るシミュレートロボットのハードウェア構成の一例を示すブロック図
【
図6】実施の形態に係る操作端末の機能的構成の一例を示すブロック図
【
図7】実施の形態に係る仲介装置の機能的構成の一例を示すブロック図
【
図8】実施の形態に係る操作端末が提示するシミュレーションの選択画面の一例を示す図
【
図9】実施の形態に係るシミュレートコンピュータの機能的構成の一例を示すブロック図
【
図10】実施の形態に係るシミュレートロボットの機能的構成の一例を示すブロック図
【
図11A】実施の形態に係るシミュレートシステムの動作の流れの一例を示すシーケンス図
【
図11B】実施の形態に係るシミュレートシステムの動作の流れの一例を示すシーケンス図
【発明を実施するための形態】
【0012】
以下において、本発明の実施の形態を、図面を参照しつつ説明する。なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、添付の図面における各図は、模式的な図であり、必ずしも厳密に図示されたものでない。さらに、各図において、実質的に同一の構成要素に対しては同一の符号を付しており、重複する説明は省略又は簡略化される場合がある。また、本明細書及び特許請求の範囲では、「装置」とは、1つの装置を意味し得るだけでなく、複数の装置からなるシステムも意味し得る。
【0013】
<シミュレートシステムの構成>
実施の形態に係るシミュレートシステム1の構成を説明する。
図1は、実施の形態に係るシミュレートシステム1の構成の一例を示す図である。
図1に示すように、シミュレートシステム1は、1つ以上の仲介装置10と、1つ以上の操作端末20と、1つ以上のシミュレートコンピュータ40と、1つ以上のシミュレートロボット50とを含む。シミュレートコンピュータ40及びシミュレートロボット50は、シミュレート装置200の一例である。以下において、「シミュレートコンピュータ40」及び「シミュレートロボット50」を区別しない場合、これらを単に「シミュレート装置200」と称する場合がある。仲介装置10、操作端末20、シミュレートコンピュータ40及びシミュレートロボット50は、通信網90を介して接続されている。なお、上記構成要素の全てが必須ではない。
【0014】
通信網90は、データ通信可能であるネットワークであり、例えば、インターネット、イントラネット、有線若しくは無線LAN(Local Area Network)、WAN(Wide Area Network)、モバイル通信網、電話回線通信網、又は、その他の有線若しくは無線通信を用いる通信網であってもよい。本実施の形態では、通信網90はインターネットである。
【0015】
シミュレートコンピュータ40は、仮想的なロボットモデルに模擬的な動作をさせるシミュレーションを実行する装置である。仮想的なロボットモデルは、シミュレートコンピュータ40のコンピュータプログラム上で生成され動作する。なお、シミュレートコンピュータ40は、シミュレートシステム1のために特別に生成された装置であってもなくてもよく、例えば、ロボットの操作のシミュレーションに用いられる既存又は汎用的な装置であってもよい。シミュレートコンピュータ40のロボットモデルは、後述するシミュレートロボット50の実機のロボット50A1~50An(n=1,・・・の自然数)について例示するようなロボットの仮想的なロボットモデルあってもよい。仮想的なロボットモデルは、後述するシミュレートロボット50と同様に、ロボット本体を含む構成であってもよく、ロボット本体だけでなく、処理対象物及び周辺機器等を含む構成であってもよい。
【0016】
シミュレートロボット50は、ロボットモデルとして実機のロボット50A1~50An(n=1,・・・の自然数)に模擬的な動作をさせるシミュレーションを実行する装置である。ロボット50A1~50Anは、いかなるロボットであってもよく、例えば、産業用ロボット、サービスロボット、建設機械、トンネル掘削機、クレーン、荷役搬送車、及びヒューマノイド等であってもよい。サービスロボットは、介護、医療、清掃、警備、案内、救助、調理、商品提供等の様々なサービス業で使用されるロボットである。本実施の形態では、ロボット50A1~50Anは、垂直多関節型ロボット、水平多関節型ロボット、極座標型ロボット、円筒座標型ロボット及び直角座標型ロボット等の産業用ロボットである。以下において、ロボット50A1~50Anを区別しない場合、単に「ロボット50A」と称する場合がある。
【0017】
シミュレートロボット50は、ロボット50A1~50Anのいずれかを含み、ロボット50A1~50Anそれぞれに対して設けられる。産業用ロボットであるロボット50A1~50Anは、様々な作業に対応して設けられたロボットである。ロボット50A1~50Anは、実際に作業現場に配置されたロボットであってもよく、シミュレーション用に配置されたロボットであってもよい。ロボット50A1~50Anは、例えば、ロボットアーム及びエンドエフェクタを備えるようなロボット本体を含む構成であってもよく、ロボット本体だけでなく、作業におけるワーク等の処理対象物、並びに、搬送装置、撮像装置及びセンサなどの周辺装置等を含む構成であってもよい。後者の場合、シミュレートロボット50でのシミュレートは、ロボット本体、処理対象物及び周辺機器等の全てを操作するシミュレートである。なお、シミュレートロボット50は、シミュレートシステム1のために特別に生成されたものであってもなくてもよく、例えば、ロボットの操作のシミュレーションに用いられる既存又は汎用的なものであってもよい。
【0018】
シミュレートコンピュータ40及びシミュレートロボット50のロボットモデルが実行する動作は、水平移動、鉛直移動及び回転等の個別の動作を1つ又は2つ以上含む動作、及び作業である。上記作業は、上記動作よりも多くの個別の動作が実行順序に従って組み合わされた一連の複合的な動作である。上記作業の例は、例えば、産業用ロボットのロボットモデルである場合、エンドエフェクタで対象物を保持して移動させる、エンドエフェクタで対象物を保持して被組付対象物に組み付ける、エンドエフェクタで対象物を切断する、エンドエフェクタで2つ以上の対象物を接合する等の作業である。
【0019】
操作端末20は、シミュレート装置200を用いてロボットの動作のシミュレーションを行うコンピュータプログラムを実行する装置である。操作端末20は、通信網90を介してシミュレート装置200と接続され、操作端末20のユーザによって操作されることができる。ユーザは、シミュレート装置200から遠隔に位置する場合であっても、操作端末20を操作することでシミュレーションを実行することができる。操作端末20は、ユーザによって入力された情報をシミュレート装置200に出力する。操作端末20の例は、ゲーム機、ゲームコントローラ、ロボット専用の遠隔操作器、個人情報端末(PDA:Personal Data Assistant)、スマートフォン、スマートウォッチ及びタブレットなどのスマートデバイス、並びに、パーソナルコンピュータなどのコンピュータ装置等である。このような操作端末20は、シミュレートシステム1のために特別に生成された装置であってもなくてもよく、既存又は汎用的な装置であってもよい。
【0020】
本実施の形態では、操作端末20は、ゲーム機及びゲームコントローラを備えるゲーム装置である。ゲーム装置として、例えば、据え置き型のゲーム装置、及び携帯型ゲーム装置が例示される。操作端末20は、出力装置30と接続され、ロボットモデルを用いたシミュレーションを実行するための画像信号及び音声信号を出力装置30に出力し、出力装置30は当該画像信号及び音声信号に対応する画像及び音声をユーザに提示する。例えば、出力装置30はディスプレイ及びスピーカを備える。ディスプレイの例は、液晶ディスプレイ(Liquid Crystal Display)及び有機又は無機ELディスプレイ(Electro-Luminescence Display)である。
【0021】
仲介装置10は、1つ以上の操作端末20と1つ以上のシミュレートコンピュータ40と1つ以上のシミュレートロボット50とを、通信網90を介して仲介する。本実施の形態では、仲介装置10は情報処理装置100を備える。本実施の形態では、仲介装置10は、サーバであり、通信機能を有し且つ情報を処理するコンピュータ装置である。
【0022】
情報処理装置100は、操作端末20を用いたロボットの操作のシミュレーションを管理する装置である。情報処理装置100は、例えば、プロセッサ及びメモリ等を有する演算器で構成される。メモリは、揮発性メモリ及び不揮発性メモリなどの半導体メモリ、ハードディスク(HDD:Hard Disc Drive)及びSSD(Solid State Drive)等の記憶装置で構成される。例えば、演算器の機能は、CPU(Central Processing Unit)などのプロセッサ、RAM(Random Access Memory)などの揮発性メモリ及びROM(Read-Only Memory)などの不揮発性メモリ等からなるコンピュータシステム(図示せず)により実現されてもよい。演算器の機能の一部又は全部は、CPUがRAMをワークエリアとして用いてROMに記録されたプログラムを実行することによって実現されてもよい。なお、演算器の機能の一部又は全部は、上記コンピュータシステムにより実現されてもよく、電子回路又は集積回路等の専用のハードウェア回路により実現されてもよく、上記コンピュータシステム及びハードウェア回路の組み合わせにより実現されてもよい。
【0023】
具体的には、情報処理装置100は、例えば、コンピュータ、パーソナルコンピュータ等のコンピュータ装置で構成されてもよい。又は、情報処理装置100は、例えば、マイクロコントローラ、MPU(Micro Processing Unit)、LSI(Large Scale Integration:大規模集積回路)、システムLSI、PLC(Programmable Logic Controller)、論理回路等で構成されてもよい。情報処理装置100の複数の機能は、個別に1チップ化されることで実現されてもよく、一部又は全てを含むように1チップ化されることで実現されてもよい。また、回路はそれぞれ、汎用的な回路でもよく、専用の回路でもよい。LSIとして、LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、LSI内部の回路セルの接続及び/又は設定を再構成可能なリコンフィギュラブルプロセッサ、又は、特定用途向けに複数の機能の回路が1つにまとめられたASIC(Application Specific Integrated Circuit)等が利用されてもよい。
【0024】
情報処理装置100は、ユーザによって操作端末20に入力されたロボットモデルを操作するための情報である第一情報を、操作端末20から受信し、当該第一情報を、シミュレート装置200のロボットモデルを操作するための情報である第二情報に変換する。情報処理装置100は、当該第二情報をシミュレート装置200に送信し、当該第二情報に従ってこれを動作させる。
【0025】
また、情報処理装置100は、第二情報に従って動作するシミュレート装置200から、このロボットモデルの動作の情報である第三情報を受信し、当該第三情報を、操作端末20が処理可能な情報である第四情報に変換する。例えば、情報処理装置100は、シミュレート装置200のロボットモデルの個々の動作を示す第三情報を受信し、当該第三情報を、操作端末20の実行プログラム上で機能する情報としての第四情報に変換する。情報処理装置100は、第四情報を操作端末20に送信することで、当該操作端末20に、シミュレート装置200のロボットモデル、又は、当該ロボットモデルに擬似するロボットモデル若しくは対応するモデルの動作を、出力装置30を介してユーザに提示させる。対応するモデルは、ロボットモデルと関連付けられたモデルあってよく、例えば、見かけ上でロボットモデルと類似していなくてもよい。
【0026】
例えば、情報処理装置100は、撮像装置によって撮像されるシミュレートロボット50のロボット50Aの画像の情報を第三情報として受信し、当該画像の情報を第四情報として操作端末20に送信することで、ロボットモデルの動作の情報として操作端末20に提示させてもよい。このように、ユーザは、操作端末20を介して、シミュレートコンピュータ40又はシミュレートロボット50のロボットモデルを、視覚的に認識しつつ操作することができる。
【0027】
また、情報処理装置100は、ユーザによって操作端末20に入力される、実行を要求するシミュレーションの情報である要求情報に基づき、複数存在するシミュレート装置200の中から、当該要求情報において要求されるシミュレーションに対応するシミュレート装置200を決定する。さらに、情報処理装置100は、決定したシミュレート装置200と操作端末20とを通信網90を介して接続させることで、これを用いたシミュレーションの実行を可能にする。
【0028】
また、情報処理装置100は、シミュレート装置200から受信するロボットモデルの動作の情報に基づき、ロボットモデルの動作結果を評価する。情報処理装置100は、受信するロボットモデルの個々の動作と、シミュレーションで実行されるべき動作とを比較し、例えば、両者の間の位置及び所要時間等の差異に基づき、評価を決定してもよい。又は、シミュレート装置200は、シミュレーションの結果を評価するように構成され得る。情報処理装置100は、シミュレート装置200から、シミュレーション結果の評価を受信し、受信した評価に基づき、シミュレートシステム1に設定された評価を決定してもよい。情報処理装置100は、決定した評価を、操作端末20を操作するユーザに対する評価であるユーザ評価として、記憶装置に登録する。当該記憶装置は、情報処理装置100の記憶装置であってもよく、仲介装置10が含む記憶装置(図示せず)であってもよく、通信網90等を介して仲介装置10と接続された他の装置の記憶装置であってもよい。また、情報処理装置100は、決定した評価を操作端末20に送信することで、出力装置30を介してユーザに提示させる。
【0029】
[ハードウェア構成]
操作端末20のハードウェア構成を説明する。
図2は、実施の形態に係る操作端末20のハードウェア構成の一例を示すブロック図である。
図2に示すように、操作端末20は、ゲーム機としての操作端末本体21と、ゲームコントローラとしての操作器22とを備える。操作端末本体21は、シミュレーションのコンピュータプログラムを実行することができ、操作器22はユーザによる操作の入力を受け付ける。操作端末本体21は、CPU201と、ROM202と、RAM203と、メモリ204と、メディアI/F(インタフェース:Interface)205と、ネットワークI/F206と、第一入出力I/F207と、画像プロセッサ208と、第二入出力I/F209と、音声プロセッサ210と、第三入出力I/F211と、記録媒体ドライブ212とを構成要素として含む。各構成要素は、バス等によって接続されるが、他のいかなる有線通信又は無線通信で接続されてもよい。なお、上記構成要素の全てが必須ではない。
【0030】
CPU201は、操作端末本体21全体の動作を制御する。ROM202は、CPU201の駆動に用いられるプログラムを記憶する。RAM203は、CPU201のワークエリアとして使用される。メモリ204は、プログラム等の各種データを記憶し、上述した記憶装置で構成される。メディアI/F205は、フラッシュメモリ等の記録メディア60に対するデータの読み出し又は書き込み(記憶)を制御する。例えば、シミュレーションを実行するためのコンピュータプログラムは、記録メディア60に記憶され、記録メディア60から読み出されることで実行されてもよい。シミュレーションの結果等を含むセーブデータが、記録メディア60又はメモリ204に記憶されてもよい。ネットワークI/F206は、通信網90を利用してデータ通信をするためのインタフェースである。第一入出力I/F207は、操作器22と接続され、信号等の通信をするためのインタフェースである。
【0031】
画像プロセッサ208は、シミュレーションを行うための画面を生成可能なGPU(Graphics Processing Unit)を備える。例えば、画像プロセッサ208は、シミュレートコンピュータ40及びシミュレートロボット50のロボットモデルの画像、当該ロボットモデルに擬似するロボットモデルの画像、当該ロボットモデルに対応するモデルの画像等の画面データを生成し第二入出力I/F209に出力する。第二入出力I/F209は、出力装置30と接続され、画面データ及び画像データの通信をするためのインタフェースである。
【0032】
音声プロセッサ210は、シミュレーションを行うための音声を生成するDSP(Digital Signal Processor)を備える。音声プロセッサ210は、生成した音声をD/Aコンバータを含むアンプ(図示せず)で増幅して第三入出力I/F211に出力する。第三入出力I/F211は、出力装置30と接続され、音声信号等の通信をするためのインタフェースである。記録媒体ドライブ212は、着脱可能な記録媒体70に対する各種データの読み出し又は書き込みを制御する。例えば、シミュレーションを実行するためのコンピュータプログラムは、記録媒体70に記憶され、記録媒体70から読み出されることで実行されてもよい。シミュレーションの結果等を含むセーブデータが、記録媒体70に記憶されてもよい。記録媒体70の例は、DVD-R、DVD-RW、BD(Blu-ray(登録商標))-R、BD-RE等の記録ディスクである。
【0033】
操作器22は、ユーザによる入力を受け付ける。例えば、操作器22は、十字ボタン、プッシュスイッチ、ダイヤル、ジョイスティック、マウス、キー及びタッチパネル等のユーザの操作を介して入力される入力装置221を含む。さらに、操作器22は、操作端末本体21の第一入出力I/F207と接続され信号等の通信をするための操作入出力I/F222を含む。入力装置221は、ユーザの入力を示す信号を生成し、当該信号を操作入出力I/F222を介して第一入出力I/F207に出力する。本実施の形態では、入力装置221の構成は、ロボットの専用の操作装置と異なる。例えば、入力装置221の数量、及び入力装置221への入力方法等が異なる。ロボットの専用の操作装置が出力する操作のための信号は、入力装置221が出力する操作のための信号と異なり、例えば、より複雑である。
【0034】
仲介装置10のハードウェア構成を説明する。
図3は、実施の形態に係る仲介装置10のハードウェア構成の一例を示すブロック図である。
図3に示すように、仲介装置10は、CPU101と、ROM102と、RAM103と、メモリ104と、ネットワークI/F106と、入出力I/F107とを構成要素として含む。各構成要素は、バス等によって接続されるが、他のいかなる有線通信又は無線通信で接続されてもよい。なお、上記構成要素の全てが必須ではない。
【0035】
CPU101は、仲介装置10全体の動作を制御する。ROM102、RAM103及びメモリ104それぞれの構成及び機能は、操作端末20のROM202、RAM203及びメモリ204と同様である。CPU101、ROM102、RAM103及びメモリ104は、情報処理装置100を構成する。ネットワークI/F106及び入出力I/F107それぞれの構成及び機能は、操作端末20のネットワークI/F206及び第一入出力I/F207と同様である。
【0036】
なお、入出力I/F107は、入力装置113と接続され、信号等の通信をするためのインタフェースである。入力装置113は、ユーザによる入力を受け付ける。例えば、入力装置113は、ボタン、スイッチ、ダイヤル、ジョイスティック、マウス、キー及びタッチパネル等のユーザの操作を介して入力される装置を含む。入力装置113は、ユーザの入力を示す信号を生成し、当該信号を入出力I/F107に出力する。
【0037】
シミュレートコンピュータ40のハードウェア構成を説明する。
図4は、実施の形態に係るシミュレートコンピュータ40のハードウェア構成の一例を示すブロック図である。
図4に示すように、シミュレートコンピュータ40は、CPU401と、ROM402と、RAM403と、メモリ404と、ネットワークI/F406と、第一入出力I/F407と、画像プロセッサ408と、第二入出力I/F409とを構成要素として含む。各構成要素は、バス等によって接続されるが、他のいかなる有線通信又は無線通信で接続されてもよい。なお、上記構成要素の全てが必須ではない。
【0038】
CPU401は、シミュレートコンピュータ40全体の動作を制御する。ROM402、RAM403及びメモリ404それぞれの構成及び機能は、操作端末20のROM202、RAM203及びメモリ204と同様である。ネットワークI/F406、第一入出力I/F407、画像プロセッサ408及び第二入出力I/F409それぞれの構成及び機能は、操作端末20のネットワークI/F206、第一入出力I/F207、画像プロセッサ208及び第二入出力I/F209と同様である。
【0039】
なお、第一入出力I/F407は、入力装置413と接続され、信号等の通信をするためのインタフェースである。入力装置413は、ユーザによる入力を受け付ける。入力装置413の構成は、仲介装置10の入力装置113と同様である。また、画像プロセッサ408は、シミュレートコンピュータ40に設定されたロボットモデルの画像の画面データを生成し第二入出力I/F409に出力する。第二入出力I/F409は、ディスプレイ414と接続され、画面データ及び画像データの通信をするためのインタフェースである。
【0040】
シミュレートロボット50のハードウェア構成を説明する。
図5は、実施の形態に係るシミュレートロボット50のハードウェア構成の一例を示すブロック図である。
図5に示すように、シミュレートロボット50は、制御装置51と、撮像装置517と、ディスプレイ514と、操作装置518と、駆動装置519とを備える。なお、上記構成要素の全てが必須ではない。
【0041】
駆動装置519は、ロボット50A(
図1参照)の可動部分を駆動する装置である。例えば、ロボット50Aは、ロボットアームと、ロボットアームの先端のエンドエフェクタとを備える。ロボットアームは、屈曲する関節を有し、関節において可動である。エンドエフェクタは、把持、吸着、掬い上げ及び吊り下げ等のワークに対する作用を加える動作をする。駆動装置519は、ロボットアームの関節及びエンドエフェクタ等を駆動する。駆動装置519の例は、サーボモータ等の電気モータ及び真空発生装置等である。
【0042】
撮像装置517は、ロボット50Aを撮像し、撮像した画像データを制御装置51に出力する。撮像装置517は、シミュレートロボット50においてシミュレーションを行うユーザに、ロボット50Aの状態を示す画像を提供する。本実施の形態では、当該画像は、操作端末20に提供される。撮像装置517の例は、デジタルカメラ及びデジタルビデオカメラ等である。
【0043】
ディスプレイ514は、撮像装置517によって撮像された画像データを、制御装置51から受け取り、当該画像データの画像をユーザに提示する。また、ディスプレイ514は、シミュレートロボット50の操作用の画面データを制御装置51から受け取り、当該画面データの画像をユーザに提示する。
【0044】
操作装置518は、シミュレートロボット50においてシミュレーションを行うユーザによる指令及び情報の入力を受け付け、当該指令及び情報を示す信号を制御装置51に出力する。操作装置518は、プッシュスイッチ、レバー、ダイヤル、ジョイスティック、キー及びタッチパネル等のユーザの操作を介して入力される装置を含む。本実施の形態では、操作装置518は、ロボット50Aの専用の操作装置である。
【0045】
制御装置51は、シミュレートロボット50全体を制御する装置である。制御装置51は、CPU501と、ROM502と、RAM503と、メモリ504と、撮像I/F515と、ネットワークI/F506と、第一入出力I/F507と、画像プロセッサ508と、第二入出力I/F509と、駆動回路516とを構成要素として含む。各構成要素は、バス等によって接続されるが、他のいかなる有線通信又は無線通信で接続されてもよい。なお、上記構成要素の全てが必須ではない。
【0046】
CPU501は、制御装置51全体の動作を制御する。ROM502、RAM503及びメモリ504それぞれの構成及び機能は、操作端末20のROM202、RAM203及びメモリ204と同様である。ネットワークI/F506、第一入出力I/F507、画像プロセッサ508及び第二入出力I/F509それぞれの構成及び機能は、操作端末20のネットワークI/F206、第一入出力I/F207、画像プロセッサ208及び第二入出力I/F209と同様である。
【0047】
なお、第一入出力I/F507は、操作装置518と接続され、信号等の通信をするためのインタフェースである。また、画像プロセッサ508は、撮像装置517によって撮像されたロボット50Aの画像データを用いて、ディスプレイ514に表示するための画面データを生成し第二入出力I/F509に出力する。また、画像プロセッサ508は、シミュレートロボット50を操作するための画面データを生成し第二入出力I/F509に出力する。第二入出力I/F509は、ディスプレイ514と接続され、画面データ及び画像データの通信をするためのインタフェースである。
【0048】
撮像I/F515は、プログラムの実行に対応して、撮像装置517の駆動を制御する。撮像I/F515は、プログラムの実行に対応して、撮像装置517によって撮像された画像データをRAM503又はメモリ504に取り込む。撮像I/F515は、撮像装置517の駆動のための回路等を含んでもよい。
【0049】
駆動回路516は、駆動装置519の駆動を制御する。例えば、駆動回路516は、CPU501の指令に従って電流を各駆動装置519に供給し、当該駆動装置519の駆動を制御する。駆動回路516は、全ての駆動装置519の駆動を制御する。
【0050】
[機能的構成]
操作端末20の機能的構成を説明する。
図6は、実施の形態に係る操作端末20の機能的構成の一例を示すブロック図である。
図6に示すように、操作器22は、入力部22a及び出力部22bを含む。入力部22aは、ユーザからの入力を受け付け、その機能は入力装置221によって実現される。出力部22bは、入力部22aに入力された情報を操作端末本体21に出力し、その機能は操作入出力I/F222によって実現される。上記情報は、入力装置221のボタン等のON又はOFF、ONの継続時間等の情報であってもよい。
【0051】
操作端末本体21は、通信部21aと、入力部21bと、プログラム実行部21cと、読込部21dと、記憶部21eと、出力部21fとを含む。なお、上記構成要素の全てが必須ではない。通信部21aは、通信網90を介して仲介装置10と通信し、その機能はネットワークI/F206等によって実現される。入力部21bは、操作器22から情報の入力を受け付け、その機能は第一入出力I/F207等によって実現される。読込部21dは、記録メディア60及び/又は記録媒体70から、これらに格納された情報を読み込み、その機能はメディアI/F205及び記録媒体ドライブ212等によって実現される。
【0052】
記憶部21eは、種々の情報を記憶し、ROM202、メモリ204、記録メディア60及び記録媒体70等によって実現される。例えば、記憶部21eには、各ユーザのユーザ情報が記憶される。ユーザ情報は、ユーザID等のユーザの識別情報、及び、操作端末20を用いたユーザのシミュレーション結果等を含み得る。シミュレーション結果は、各シミュレーションを実施した結果、評価及び実績、各シミュレーションにおけるユーザの習熟度、当該習熟度に応じたユーザのランク又は階級等を含んでもよい。ランク及び階級は、習熟度に対応する絶対的なランクであってもよく、他のユーザとの対比による順位等の相対的なランクであってもよい。記憶部21eへのユーザ情報の記憶は、プログラム実行部21cによって定期的に自動で行われてもよく、ユーザが操作器22を用いて入力又はセーブ操作することで行われてもよい。
【0053】
出力部21fは、プログラム実行部21cによって生成された画像データ及び音声データを出力装置30に出力し、その機能は第二入出力I/F209及び第三入出力I/F211等によって実現される。
【0054】
プログラム実行部21cは、記録メディア60又は記録媒体70等に格納されたコンピュータプログラムを読み込み実行する。コンピュータプログラムは、シミュレーションを実行するためのプログラムであり、本実施の形態で、ゲームプログラムである。つまり、本実施の形態では、シミュレーションは、操作端末20においてゲームとして実行される。なお、当該プログラムは、アプリケーションとして通信網90、記録メディア60又は記録媒体70等を介して操作端末20にインストールされ、ROM202又はメモリ204等に格納されていてもよい。
【0055】
プログラム実行部21cは、操作器22から受け取る情報と通信網90を介して受け取る情報とを用いて、コンピュータプログラムに従って動作し、受け取った情報を反映した画像データ及び音声データを生成する。プログラム実行部21cは、生成した画像データ及び音声データを出力部21fを介して出力装置30に出力しユーザに提示させる。また、プログラム実行部21cは、操作器22から受け取る操作の情報、及び記憶部21eに記憶されたユーザ情報等を、通信部21a及び通信網90を介して仲介装置10に送信する。プログラム実行部21cは、CPU201、ROM202、RAM203、画像プロセッサ208及び音声プロセッサ210等によって実現される。
【0056】
仲介装置10の機能的構成を説明する。
図7は、実施の形態に係る仲介装置10の機能的構成の一例を示すブロック図である。
図7に示すように、仲介装置10は、第一通信部10aと、第二通信部10bと、受付部10cと、決定部10dと、変換部10eと、動作データ処理部10fと、判定部10gと、記憶部10hとを含む。なお、上記構成要素の全てが必須ではない。第一通信部10a及び第二通信部10bの機能はネットワークI/F206等によって実現される。記憶部10hの機能は、ROM102及びメモリ104等によって実現される。受付部10c、決定部10d、変換部10e、動作データ処理部10f及び判定部10gの機能は、CPU101、ROM102、RAM103等によって実現される。
【0057】
第一通信部10aは、通信網90を介して操作端末20と通信する。第二通信部10bは、通信網90を介してシミュレートコンピュータ40又はシミュレートロボット50と通信する。
【0058】
記憶部10hは、種々の情報を記憶する。例えば、記憶部10hには、各ユーザのユーザ情報が、ユーザの識別情報と関連付けられて記憶されている。さらに、記憶部10hには、ユーザに設定されるランク又は階級等に基づくシミュレーションの許可条件と、各許可条件において実行することができるシミュレーションの構成とが関連付けられて記憶されている。上記シミュレーションの構成は、シミュレーション内容と、当該シミュレーション内容を実行することができるシミュレート装置200とを関連付けて含む。上記シミュレート装置200は、シミュレートコンピュータ40又はシミュレートロボット50である。シミュレーション内容は、シミュレーションで実行されるロボットモデルの動作又は作業を含み、例えば、シミュレーションの種類として設定されてもよい。また、記憶部10hは、シミュレート装置200を用いたシミュレーションの実行結果と、当該実行結果に関する評価とを関連付けて含んでもよい。また、記憶部10hは、上記評価と、当該評価に対応するシミュレーションの習熟度とを関連付けて含んでもよい。また、記憶部10hは、シミュレーションの習熟度と許可条件とを関連付けて含んでもよい。記憶部10hは、判定部10gが評価等の判定に用いる閾値等を含んでもよい。
【0059】
受付部10cは、操作端末20から受信するユーザ情報に基づき、ユーザが実行可能であるシミュレーション内容を抽出し当該ユーザに提示する。具体的には、受付部10cは、操作端末20からユーザ情報とシミュレーションの実行指令とを受信し、当該ユーザ情報に含まれるユーザの識別情報に対応する許可条件を、記憶部10hから抽出する。さらに、受付部10cは、当該許可条件に対応するシミュレーションの構成を抽出し、操作端末20に送信する。ユーザは、操作端末20が出力装置30に提示するシミュレーションの構成から選択することができる。
【0060】
例えば、操作端末20は、出力装置30に
図8に示すような画面Sを表示させる。
図8は、実施の形態に係る操作端末20が提示するシミュレーションの選択画面の一例を示す図である。
図8に示すように、画面Sには、各動作又は作業について、ユーザの許可条件としての階級「A」~「D」のいずれかが表示され、さらに、各動作又は作業のシミュレーションを実行することができるシミュレート装置200のアイコンが表示されている。よって、ユーザは、シミュレート装置200のアイコンを選択することで、シミュレーションを実行する動作又は作業と、当該動作又は作業に用いるシミュレート装置200とを選択することできる。
図8において、例えば、動作表示「動作1 階級B」は、「動作1」が「階級B」以上のユーザによってシミュレーション可能であることを示す。各動作表示について、「シミュレートコンピュータ」は、シミュレートコンピュータ40の利用可能を示し、アイコン「シミュレートロボットA1タイプ」は、ロボット50A1を含むシミュレートロボット50に利用可能を示す。
【0061】
決定部10dは、ユーザが実行するシミュレーションの構成を決定する。決定部10dは、操作端末20においてユーザによって選択されたシミュレーション内容及びシミュレート装置200の情報を、操作端末20から受信する。決定部10dは、受け付けたシミュレーション内容及びシミュレート装置200でのシミュレーションの実行を決定し、当該シミュレート装置200に、当該シミュレーション内容の実行の指令を送信する。決定部10dは、上記シミュレート装置200と操作端末20とを接続する。
【0062】
変換部10eは、シミュレーションの実行中、操作端末20から受信するロボットモデルを操作するための第一情報を、シミュレート装置200のロボットモデルを操作するための第二情報に変換する。変換部10eは、第二情報を、当該シミュレーションを実行しているシミュレート装置200に送信する。例えば、シミュレート装置200がシミュレートコンピュータ40である場合、第二情報は、第一情報に対応する動作を仮想的なロボットモデルに実行させるために入力装置413からシミュレートコンピュータ40に出力される情報に対応する。シミュレート装置200がシミュレートロボット50である場合、第二情報は、第一情報に対応する動作をロボット50Aに実行させるために操作装置518から制御装置51に出力される情報に対応する。
【0063】
動作データ処理部10fは、シミュレーションの実行中、シミュレート装置200から受信するロボットモデルの動作データを、操作端末20でのロボットモデルの画像表示に対応する動作データに変換する処理をし、操作端末20に送信する。
【0064】
例えば、シミュレート装置200がシミュレートコンピュータ40である場合、シミュレート装置200から受信する動作データは、ロボットモデルの画像で構成されてもよく、ロボットモデルの動作を示す簡略化された画像で構成されてもよく、ロボットモデルの動作を表すベクトル及び座標等の数値データであってもよい。例えば、簡略化された画像は、ロボットモデルの骨格を表す画像であってもよい。変換後の動作データは、操作端末20で表示されるロボットモデルの画像で構成されてもよく、シミュレートコンピュータ40が生成する仮想的なロボットモデルの画像で構成されてもよく、上記ロボットモデルの動作を示す簡略化された画像で構成されてもよく、上記ロボットモデルの動作を表す数値データであってもよい。
【0065】
例えば、シミュレート装置200がシミュレートロボット50である場合、シミュレート装置200から受信する動作データは、撮像装置517によって撮像されたロボット50Aの画像データで構成され得る。変換後の動作データは、ロボット50Aの撮像画像データで構成されてもよく、当該撮像画像内の特徴部等によりロボット50Aの動作を示す簡略化された画像で構成されてもよく、当該ロボット50Aの動作を表す数値データであってもよい。簡略化された画像は、仮想的なロボットモデルの画像であってもよく、この場合、CG(コンピュータグラフィックス:Computer Graphics)又はアニメーション等を用いた画像であってもよい。上記仮想的なロボットモデルは、ロボット50Aと類似してもよく非類似であってもよい。
【0066】
判定部10gは、シミュレート装置200で実行されたシミュレーションの結果を評価する。さらに、判定部10gは、当該評価に基づき、ユーザの習熟度を判定し、さらに、習熟度に基づき、ユーザのランク又は階級等を決定する。判定部10gは、評価、習熟度、ランク及び階級の少なくとも1つの情報を操作端末20に送信し、操作端末20は受信した情報を出力装置30に提示させる。また、判定部10gは、評価、習熟度、ランク及び階級を、新たなユーザ情報として記憶部10hに記憶させる。
【0067】
なお、判定部10gは、動作データ処理部10fによって検出されるロボットモデルの動作と、シミュレーションで実行すべきロボットモデルの動作との差異とその閾値との関係に基づき、評価を決定してもよい。当該差異は、ロボットモデルの各部の位置の差異、及び動作に要する時間の差異等を含んでもよい。又は、シミュレート装置200がシミュレーションの結果を評価し、判定部10gに送信することで、判定部10gが当該評価を利用してもよい。
【0068】
シミュレートコンピュータ40の機能的構成を説明する。
図9は、実施の形態に係るシミュレートコンピュータ40の機能的構成の一例を示すブロック図である。
図9に示すように、シミュレートコンピュータ40は、通信部40aと、受付部40bと、プログラム実行部40cと、判定部40dと、動作データ出力部40eと、記憶部40fとを含む。なお、上記構成要素の全てが必須ではない。通信部40aの機能はネットワークI/F406等によって実現される。記憶部40fの機能はROM402及びメモリ404等によって実現される。受付部40b、プログラム実行部40c、判定部40d及び動作データ出力部40eの機能は、CPU401、ROM402、RAM403等によって実現される。
【0069】
通信部40aは、通信網90を介して仲介装置10と通信する。記憶部40fは、種々の情報を記憶する。例えば、記憶部40fは、シミュレートコンピュータ40で実行可能である各シミュレーション内容について、当該シミュレーションで実行されるロボットモデルの各動作の位置及び所要時間の情報を記憶していてもよい。また、記憶部40fは、判定部40dが評価に用いる閾値等を記憶していてもよい。
【0070】
受付部40bは、仲介装置10から、シミュレーションの実行の指令と、実行するシミュレーション内容とを受信する。受付部40bは、受信したシミュレーション内容の実行の指令をプログラム実行部40cに出力する。また、シミュレーションの開始後、受付部40bは、仲介装置10の変換部10eから仮想的なロボットモデルを操作するための第二情報を受信し、プログラム実行部40cに出力する。
【0071】
プログラム実行部40cは、指令されたシミュレーション内容のコンピュータプログラムを実行する。当該プログラムは、ROM402又はメモリ404に記憶される。プログラム実行部40cは、受付部40bから受け取る第二情報とコンピュータプログラムとに従って、当該第二情報に対応する動作を仮想的なロボットモデルに実行させる。
【0072】
動作データ出力部40eは、プログラム実行部40cが動作させるロボットモデルから、その動作結果を示す動作結果データを検出する。当該動作結果データは、ロボットモデルの画像、ロボットモデルの骨格等の簡略された画像、ロボットモデルの各部の位置、当該位置への所要時間等を含んでもよい。さらに、動作データ出力部40eは、動作結果データから動作データを生成し、仲介装置10に送信する。当該動作データは、仲介装置10の動作データ処理部10fの説明で上述した動作データある。
【0073】
判定部40dは、動作データ出力部40eによって生成された動作データを用いて、シミュレーションの結果を評価し、当該評価を仲介装置10に送信する。判定部40dは、仲介装置10の判定部10gと同様に、当該評価を決定する。さらに、判定部40dは、ユーザの習熟度、ランク及び階級等を決定し仲介装置10に送信してもよい。
【0074】
シミュレートロボット50の機能的構成を説明する。
図10は、実施の形態に係るシミュレートロボット50の機能的構成の一例を示すブロック図である。
図10に示すように、シミュレートロボット50は、通信部50aと、受付部50bと、撮像制御部50cと、画像処理部50dと、駆動制御部50eと、状態検出部50fと、判定部50gと、記憶部50hとを含む。なお、上記構成要素の全てが必須ではない。通信部50a、受付部50b、撮像制御部50c、画像処理部50d、駆動制御部50e、状態検出部50f、判定部50g及び記憶部50hは、制御装置51を構成する。通信部50aの機能はネットワークI/F506等によって実現される。記憶部50hの機能はROM502及びメモリ504等によって実現される。受付部50b、撮像制御部50c、画像処理部50d、駆動制御部50e、状態検出部50f及び判定部50gの機能は、CPU501、ROM502、RAM503等によって実現される。
【0075】
通信部50aは、通信網90を介して仲介装置10と通信する。記憶部50hは、種々の情報を記憶する。例えば、記憶部50hは、シミュレートロボット50で実行可能である各シミュレーション内容について、当該シミュレーションで実行されるロボット50Aの各動作の位置、作用力及び所要時間の情報を記憶していてもよい。作用力の例は、ロボットのエンドエフェクタが対象物を押す又は引っ張る力等である。また、記憶部50hは、判定部50gが評価に用いる閾値等を記憶していてもよい。
【0076】
受付部50bは、仲介装置10から、シミュレーションの実行の指令と、実行するシミュレーション内容とを受信する。受付部50bは、受信したシミュレーション内容の実行の指令を撮像制御部50c及び駆動制御部50eに出力する。また、シミュレーションの開始後、受付部50bは、仲介装置10の変換部10eからロボット50Aを操作するための第二情報を受信し、駆動制御部50eに出力する。
【0077】
撮像制御部50cは、シミュレーションの実行の指令を受け取ると、撮像装置517を起動し撮像させる。撮像装置517は、ロボット50A、例えば、そのエンドエフェクタを撮像し、撮像した画像を画像処理部50dに出力する。画像処理部50dは、撮像装置517から受け取った画像の画像データを仲介装置10に送信する。
【0078】
駆動制御部50eは、受付部50bから受け取る第二情報に従って、駆動装置519を駆動することによって、ロボット50Aに当該第二情報に対応する動作を実行させる。
【0079】
状態検出部50fは、ロボット50Aの各部の状態を検出し、検出結果を判定部50gに出力する。例えば、状態検出部50fは、上記状態として、ロボット50Aの可動部分の動作量を検出することで、各部の3次元位置を検出してもよい。このとき、状態検出部50fは、駆動装置519に設けられた回転センサの検出値からロボット50Aの可動部分の動作量を検出してもよい。また、状態検出部50fは、上記状態として、ロボット50Aのエンドエフェクタに作用する力である作用力を検出してもよい。このとき、状態検出部50fは、エンドエフェクタに設けられた力覚センサ等の力センサの検出値から作用力を検出してもよい。状態検出部50fは、タイマを備え、上記状態として、ロボット50Aの各動作間の所要時間を検出してもよい。駆動制御部50eは、状態検出部50fの検出結果をフィードバック情報として用いて駆動装置519の駆動を制御してもよい。
【0080】
判定部50gは、状態検出部50fの検出結果を用いて、シミュレーションの結果を評価し、当該評価を仲介装置10に送信する。判定部50gは、仲介装置10の判定部10gと同様に、当該評価を決定する。さらに、判定部50gは、ユーザの習熟度、ランク及び階級等を決定し仲介装置10に送信してもよい。
【0081】
<シミュレートシステムの動作>
実施の形態に係るシミュレートシステム1の動作を説明する。
図11A及び
図11Bは、実施の形態に係るシミュレートシステム1の動作の流れの一例を示すシーケンス図である。
図11A及び
図11Bに示すように、ユーザは、操作端末20において、シミュレーションのゲームプログラムを起動する(ステップS101)。次いで、ユーザは、ユーザ情報であるユーザの識別情報等を操作端末20に入力し、操作端末20は当該識別情報等を仲介装置10に送信する(ステップS102)。つまり、ユーザは、シミュレーションのゲームにログインする。ユーザの識別情報は予め、仲介装置10に登録されている。
【0082】
次いで、仲介装置10は、受信したユーザの識別情報を認証し、当該識別情報に対応するシミュレーションの許可条件を抽出し、抽出した許可条件に対応するシミュレーションの構成を抽出する。そして、仲介装置10は、抽出したシミュレーションの構成を、当該ユーザが実行可能であるシミュレーションの構成として操作端末20に送信する(ステップS103)。シミュレーションの構成は、シミュレーション内容と、当該シミュレーション内容を実行するシミュレート装置200との組み合わせである。
【0083】
次いで、ユーザは、操作端末20を用いて、出力装置30に表示される実行可能なシミュレーション内容とシミュレート装置200との組み合わせであるシミュレーションの構成から、実行するシミュレーションの構成を決定する。操作端末20は、決定されたシミュレーションの構成を仲介装置10に送信する(ステップS104)。
【0084】
次いで、仲介装置10は、受信したシミュレーションの構成に含まれるシミュレート装置200がシミュレートコンピュータ40であるか否かを判定する(ステップS105)。仲介装置10は、シミュレートコンピュータ40である場合(ステップS105でYes)、ステップS106に進み、シミュレートコンピュータ40でない場合(ステップS105でNo)、ステップS107に進む。
【0085】
ステップS106において、仲介装置10は、仲介装置10が接続可能であるシミュレートコンピュータ40の中から、上記シミュレーションの構成に含まれるシミュレーション内容の実行を可能なシミュレートコンピュータ40を抽出し、当該シミュレートコンピュータ40と操作端末20とを接続する。さらに、仲介装置10は、当該シミュレートコンピュータ40に当該シミュレーション内容の実行の指令を送信する。
【0086】
次いで、シミュレートコンピュータ40は、指令されたシミュレーション内容を実行する(ステップS108)。シミュレートコンピュータ40は、シミュレーションの実行を示す通知を仲介装置10を介して操作端末20に送信する。
【0087】
シミュレーションの実行中、操作端末20は、ユーザによって入力される操作を示す第一情報を仲介装置10に送信する(ステップS109)。さらに、仲介装置10は、第一情報を、シミュレートコンピュータ40の仮想的なロボットモデルを動作させる第二情報に変換し、シミュレートコンピュータ40に送信する(ステップS110)。シミュレートコンピュータ40は、第二情報に従ってロボットモデルを動作させ、当該ロボットモデルの動作データを仲介装置10に送信する(ステップS111)。仲介装置10は、受信した動作データを、操作端末20でのロボットモデルの画像表示等の提示に対応する動作データに変換し、操作端末20に送信する(ステップS112)。操作端末20は、受信した動作データに対応する動作を実行するロボットモデルの画像等を出力装置30に提示させる。なお、シミュレートコンピュータ40は、動作データとして、仮想的なロボットモデルの画像データを仲介装置10に送信し、仲介装置10は、受信した画像データを操作端末20に送信してもよい。操作端末20は、受信した画像データを出力装置30に表示させてもよい。
【0088】
次いで、操作端末20は、実行中のシミュレーションに含まれる全ての動作が完了したか否かを判定する(ステップS113)。操作端末20は、完了済みの場合(ステップS113でYes)、ステップS114に進み、完了の通知を仲介装置10に送信し、未完了の場合(ステップS113でNo)、ステップS109に戻る。
【0089】
次いで、ステップS115において、仲介装置10は、シミュレーションに含まれる全ての動作の完了をシミュレートコンピュータ40に通知する。次いで、シミュレートコンピュータ40は、シミュレーションを通じてのロボットモデルの動作データに基づき、シミュレーションの結果を評価し、評価結果を仲介装置10に送信する(ステップS116)。
【0090】
次いで、ステップS117において、仲介装置10は、受信した評価結果に基づき、ユーザの習熟度、ランク及び階級等を決定し、これらのうちの少なくとも1つを操作端末20に送信する。また、仲介装置10は、評価結果、習熟度、ランク及び階級等を新たなユーザ情報として、自身に登録する。次いで、操作端末20は、受信した評価結果、習熟度、ランク及び階級等を出力装置30に出力しユーザに提示させる(ステップS118)。ユーザが操作端末20を停止することによって、操作端末20はシミュレーションのゲームプログラムを終了する(ステップS119)。
【0091】
また、ステップS107において、仲介装置10は、仲介装置10が接続可能であるシミュレートロボット50の中から、ステップS104で決定されたシミュレーションの構成に含まれるシミュレーション内容の実行を可能なロボット50Aを含むシミュレートロボット50を抽出し、当該シミュレートロボット50と操作端末20とを接続する。さらに、仲介装置10はシミュレートロボット50に当該シミュレーション内容の実行の指令を送信する。
【0092】
次いで、シミュレートロボット50は、指令されたシミュレーション内容を実行する(ステップS120)。次いで、シミュレートロボット50の制御装置51は、撮像装置517にロボット50Aの撮像を実行させる(ステップS121)。シミュレートロボット50は、シミュレーションの実行を示す通知を仲介装置10を介して操作端末20に送信する。
【0093】
シミュレーションの実行中、操作端末20は第一情報を仲介装置10に送信し(ステップS122)、仲介装置10は、第一情報を、ロボット50Aを動作させる第二情報に変換しシミュレートロボット50に送信する(ステップS123)。制御装置51は、第二情報に従ってロボット50Aを動作させる(ステップS124)。このとき、制御装置51は、ロボット50Aの各部の状態を検出する。次いで、制御装置51は、撮像装置517によって撮像された画像データを仲介装置10に送信する(ステップS125)。仲介装置10は、受信した画像データを操作端末20に送信する(ステップS126)。操作端末20は、受信した画像データの画像等を出力装置30に提示させる。
【0094】
次いで、操作端末20は、実行中のシミュレーションに含まれる全ての動作が完了したか否かを判定する(ステップS127)。操作端末20は、完了済みの場合(ステップS127でYes)、ステップS128に進み、完了の通知を仲介装置10に送信し、未完了の場合(ステップS127でNo)、ステップS122に戻る。
【0095】
次いで、ステップS129において、仲介装置10は、シミュレーションに含まれる全ての動作の完了をシミュレートロボット50に通知する。次いで、シミュレートロボット50の制御装置51は、シミュレーションを通じてのロボット50Aの各部の状態に基づき、シミュレーションの結果を評価し、評価結果を仲介装置10に送信する(ステップS130)。
【0096】
次いで、ステップS131において、仲介装置10は、受信した評価結果に基づき、ユーザの習熟度、ランク及び階級等を決定し、これらのうちの少なくとも1つを操作端末20に送信し、且つ、自身に登録する。次いで、操作端末20は、受信した評価結果等を出力装置30に出力しユーザに提示させる(ステップS132)。ユーザが操作端末20を停止することによって、操作端末20はシミュレーションのゲームプログラムを終了する(ステップS133)。
【0097】
上述のステップS101~S133の処理によって、シミュレート装置200からの遠隔地に位置するユーザは、例えば自身が所有する操作端末20を用いて、通信網90を介してシミュレートコンピュータ40又はシミュレートロボット50を用いたシミュレーションを行うことができる。このように、ユーザは、操作端末20を用いたシミュレーションを実行することで、ロボットの操作の熟練度を向上させることができる。例えば、操作端末20と実機のロボットとが通信網90を介して接続され且つ操作端末20でのロボット操作が可能である環境において、ユーザは、遠隔地にいながらも操作端末20を用いて実機のロボットで実際の作業を行うことができるようになる。
【0098】
<効果等>
上述のような実施の形態に係るシミュレートシステム1において、仲介装置10の情報処理装置100は、ロボットモデルに模擬的な動作をさせるシミュレーションを実行するシミュレート装置200と接続され且つシミュレート装置200の遠隔のユーザによって操作される操作端末20に入力された、ロボットモデルを操作するための第一情報を、シミュレート装置200のロボットモデルを操作するための第二情報に変換し、第二情報に従ってシミュレート装置200を動作させ、第二情報に従って動作するシミュレート装置200のロボットモデルの動作の情報を、操作端末20に提示させる。なお、操作端末20とシミュレート装置200とは通信網90を介して接続されてもよい。また、例えば、ロボットモデルの模擬的な動作は、実機のロボットが実行する作業を模擬した動作であってもよい。
【0099】
上記構成によると、情報処理装置100は、操作端末20に入力される操作に対応する第一情報を第二情報に変換し、第二情報に従ってシミュレート装置200に動作をさせることで、シミュレート装置200のロボットモデルに上記操作に対応する動作をさせる。よって、ユーザは、シミュレート装置200からの遠隔地において、操作端末20を用いて、ロボットの動作のシミュレーションを行うことができる。さらに、操作端末20とシミュレート装置200との間で送受信される情報は、それぞれに適応した形式の情報に変換されるため、ユーザは、例えば、自身が有する慣れ親しんだ操作端末20を用いることができる。よって、ユーザは、シミュレーション操作を容易に実行することができ、シミュレーションを受け入れやすい。また、操作端末20とシミュレート装置200とが通信網90を介して接続されることで、様々な操作端末20がシミュレート装置200と接続されることができる。従って、様々なユーザが、操作端末20を介してシミュレート装置200にアクセスし、ロボットの操作のシミュレーションを行うことでき、それによりロボットを操作することができるようになる。
【0100】
また、実施の形態に係るシミュレートシステム1において、操作端末20は、ゲーム機、ゲームコントローラ、ロボット専用の遠隔操作器、個人情報端末、スマートデバイス及びパーソナルコンピュータの少なくともいずれかであってもよい。上記構成によると、様々な操作端末20を用いたシミュレーションが可能になる。
【0101】
また、実施の形態に係る情報処理装置100は、操作端末20に入力される、実行を要求するシミュレーションの情報である要求情報に基づき、複数存在するシミュレート装置200の中から、要求情報において要求されるシミュレーションに対応するシミュレート装置200を決定し、決定したシミュレート装置200と操作端末20とを用いたシミュレーションの実行を可能にしてもよい。上記構成によると、情報処理装置100は、ユーザの要求に対応して、当該ユーザに様々なシミュレーション実行させることができる。
【0102】
また、実施の形態に係る情報処理装置100は、シミュレート装置200のロボットモデルの動作の情報に基づき、ロボットモデルの動作結果を評価し、操作端末20を操作するユーザに対する評価であるユーザ評価として、動作結果の評価を登録してもよい。さらに、情報処理装置100は、登録されたユーザ評価に基づき、ユーザ評価の対象のユーザが実行可能であるシミュレーション及びシミュレート装置200を決定し、決定したシミュレーション及びシミュレート装置200の情報を操作端末20に提示させてもよい。
【0103】
上記構成によると、情報処理装置100は、シミュレーションの結果の評価を操作端末20のユーザ評価として登録する。これにより、登録されたユーザ評価の利用が可能である。例えば、情報処理装置100は、シミュレーションの実施時等に、登録されたユーザ評価をユーザに提示することができる。これにより、ユーザは、自身のユーザ評価に応じて、実行するシミュレーションの構成を容易に決定することができる。また、ユーザが実機のロボットを操作する場合、ユーザ評価に基づき、ユーザに適したロボット及び作業内容の決定が可能になる。また、ユーザ又はシミュレーションの提供者(例えば、仲介装置10)は、ユーザに適した又は実行可能であるシミュレーション内容及びシミュレート装置200を判断することができる。
【0104】
また、実施の形態に係る情報処理装置100は、シミュレート装置200のロボットモデルの動作の情報を、操作端末20の実行プログラム上で機能する情報に変換してもよい。上記構成によると、情報処理装置100は、シミュレート装置200でのロボットモデルの動作を、操作端末20で実行されるプログラム上での動作に対応付けることができる。
【0105】
また、実施の形態に係る情報処理装置100は、仮想的なロボットモデルに模擬的な動作をさせるシミュレートコンピュータ40と操作端末20とを用いたシミュレーションの実行を可能にし、シミュレートコンピュータ40によって生成される仮想的なロボットモデルの動作の情報を操作端末20に提示させてもよい。上記構成によると、ユーザは、操作端末20を用いて、シミュレートコンピュータ40のシミュレーションを実行することができる。
【0106】
また、実施の形態に係る情報処理装置100は、ロボットモデルとして実機のロボット50Aに模擬的な動作をさせるシミュレートロボット50と操作端末20とを用いたシミュレーションの実行を可能にし、撮像装置517によって撮像されるロボット50Aの画像の情報を、ロボットモデルの動作の情報として操作端末20に提示させてもよい。上記構成によると、ユーザは、操作端末20を用いて、実機のロボット50Aを用いたシミュレーションを実行することができる。さらに、ユーザは、実機のロボット50Aの画像を視認しつつシミュレーションを実行することができる。
【0107】
さらに、実施の形態に係る情報処理装置100は、実機のロボット50Aの画像を仮想的なロボットモデルの画像に変換し、変換された画像における仮想的なロボットモデルの動作の情報を操作端末20に提示させてもよい。例えば、仮想的なロボットモデルの画像は、CG又はアニメーション等を用いた画像であってもよい。上記構成によると、操作端末20によってユーザに提示される画像を、ユーザに親しみやすい画像にすることができる。よって、ユーザがシミュレーションに親しみやすくなる。
【0108】
また、実施の形態に係る仲介装置10は、実施の形態に係る情報処理装置100を備え、操作端末20とシミュレート装置200とを通信網90を介して仲介する。上記構成によると、実施の形態に係る情報処理装置100と同様の効果が得られる。
【0109】
また、実施の形態に係るシミュレートシステム1は、実施の形態に係る情報処理装置100と、シミュレート装置200と、操作端末20とシミュレート装置200とを通信網90を介して仲介する仲介装置10とを備える。上記構成によると、実施の形態に係る情報処理装置100と同様の効果が得られる。なお、シミュレートシステム1は、操作端末20をさらに備えてもよい。
【0110】
<その他の実施の形態>
以上、本発明の実施の形態の例について説明したが、本発明は、上記実施の形態に限定されない。すなわち、本発明の範囲内で種々の変形及び改良が可能である。例えば、各種変形を実施の形態に施したもの、及び、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
【0111】
例えば、実施の形態において、情報処理装置100は、仲介装置10に搭載されていたが、これに限定されない。例えば、情報処理装置100は、操作端末20又はシミュレート装置200に搭載されてもよい。また、情報処理装置100は、2つの以上の装置に分割して搭載されてもよい。例えば、情報処理装置100の一部の機能を有する第1の情報処理装置及び第2の情報処理装置がそれぞれ、仲介装置10、操作端末20及びシミュレート装置200のうちの2つに搭載されてもよい。又は、情報処理装置100の一部の機能を有する第1~第3の情報処理装置がそれぞれ、仲介装置10、操作端末20及びシミュレート装置200に搭載されてもよい。
【0112】
例えば、実施の形態に係るシミュレートシステム1は、操作端末20、仲介装置10及びシミュレート装置200を備えていたが、これに限定されない。例えば、シミュレートシステム1は、仲介装置10を備えなくてもよい。
【0113】
実施の形態に係るシミュレートシステム1において、シミュレートコンピュータ40及びシミュレートロボット50は、予め設定されたコンピュータプログラム及びデータに従って、ロボットモデルを動作させるように構成されていたが、これに限定されない。例えば、シミュレートコンピュータ40及びシミュレートロボット50は、デジタルツインの環境を利用するように構成されてもよい。この場合、シミュレートコンピュータ40及びシミュレートロボット50は、例えば、クラウド上に蓄積された様々なデータ、つまりビッグデータを用いて動作するように構成されてもよい。例えば、データは、様々なユーザが様々なシミュレートコンピュータ40及びシミュレートロボット50等を用いて様々なトレーニングを実行することで得られたデータ、様々なロボットを用いて実際に様々な作業を行うことで得られたデータ等を含んでもよい。
【0114】
また、本発明は、情報処理方法であってもよい。例えば、本発明の一態様に係る情報処理方法は、ロボットモデルに模擬的な動作をさせるシミュレーションを実行するシミュレート装置と接続され且つ前記シミュレート装置の遠隔のユーザによって操作される操作端末に入力された、ロボットモデルを操作するための第一情報を、前記シミュレート装置の前記ロボットモデルを操作するための第二情報に変換し、前記第二情報に従って前記シミュレート装置を動作させ、前記第二情報に従って動作する前記シミュレート装置の前記ロボットモデルの動作の情報を、前記操作端末に提示させる。この方法によれば、上記情報処理装置100等と同様の効果が得られる。このような情報処理方法は、CPU、LSIなどの回路、ICカード又は単体のモジュール等によって、実現されてもよい。
【0115】
また、本発明は、上記情報処理方法を実行するためのプログラムであってもよく、上記プログラムが記録された非一時的なコンピュータ読み取り可能な記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
【0116】
また、上記で用いた序数、数量等の数字は、全て本発明の技術を具体的に説明するために例示するものであり、本発明は例示された数字に制限されない。また、構成要素間の接続関係は、本発明の技術を具体的に説明するために例示するものであり、本発明の機能を実現する接続関係はこれに限定されない。
【0117】
また、機能ブロック図におけるブロックの分割は一例であり、複数のブロックを一つのブロックとして実現する、一つのブロックを複数に分割する、及び/又は、一部の機能を他のブロックに移してもよい。また、類似する機能を有する複数のブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
【符号の説明】
【0118】
1 シミュレートシステム
10 仲介装置
20 操作端末
40 シミュレートコンピュータ(シミュレート装置)
50 :シミュレートロボット(シミュレート装置)
50A,50A1~50An ロボット
90 通信網
100 情報処理装置
200 シミュレート装置
517 撮像装置