(57)【要約】端末装置２１は、ロボットを操作するユーザ１１の状態を示す操作者状態情報をロボットに向けて送信する送信部１３１と、ロボットの状態を示すロボット状態情報をロボットから受信する受信部１３２と、ユーザ１１に所定の感覚を付与する感覚付与部１１４と、送信部１３１が操作者状態情報を送信してから受信部１３２がロボット状態情報を受信するまでに要する遅延時間が所定の時間以下である場合に、ロボット状態情報に基づく感覚をユーザ１１に付与するように感覚付与部１１４を制御し、遅延時間が所定の時間よりも長い場合に、推定されたロボットの状態を示す仮想状態情報に基づく感覚をユーザ１１に付与するように感覚付与部１１４を制御する制御部１１５と、を有する。
2018212225.tif 000002
【特許請求の範囲】
【請求項１】
ロボットを操作する操作者の状態を示す操作者状態情報を前記ロボットに向けて送信する送信部と、
前記ロボットの状態を示すロボット状態情報を前記ロボットから受信する受信部と、
前記操作者に所定の感覚を付与する感覚付与部と、
前記送信部が前記操作者状態情報を送信してから前記受信部が前記ロボット状態情報を受信するまでに要する遅延時間が所定の時間以下である場合に、前記ロボット状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御し、前記遅延時間が前記所定の時間よりも長い場合に、推定された前記ロボットの状態を示す仮想状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御する制御部と、
を有する感覚付与装置。
【請求項２】
前記制御部は、前記仮想状態情報に基づく感覚を前記操作者に付与した後に、前記受信部が受信した前記ロボット状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御する、
請求項１に記載の感覚付与装置。
【請求項３】
前記制御部は、前記仮想状態情報に基づく第１感覚と、前記仮想状態情報に基づく感覚を前記操作者に付与した後に前記受信部が受信した前記ロボット状態情報に基づく第２感覚との間に所定の大きさ以上の差がある場合、前記第１感覚と前記第２感覚との間を補間する感覚を前記操作者に付与するように前記感覚付与部を制御する、
請求項２に記載の感覚付与装置。
【請求項４】
前記受信部が受信した一以上の前記ロボット状態情報を一時的に記憶した後に、前記一以上のロボット状態情報を順次、前記感覚付与部に出力するバッファ部をさらに有し、
前記制御部は、前記バッファ部に蓄積された前記一以上のロボット状態情報の量が閾値未満になった場合に、仮想状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御する、
請求項１から３のいずれか一項に記載の感覚付与装置。
【請求項５】
前記受信部が受信した一以上の前記ロボット状態情報を一時的に記憶した後に、前記一以上のロボット状態情報を順次、前記感覚付与部に出力するバッファ部をさらに有し、
前記制御部は、前記送信部が前記操作者状態情報を送信してから前記受信部が前記ロボット状態情報を受信するまでに要する遅延時間の変動量が所定の範囲内に収まるように、前記バッファ部に一時的に記憶する前記ロボット状態情報の量を制御する、
請求項１から３のいずれか一項に記載の感覚付与装置。
【請求項６】
前記制御部は、それぞれ異なる状態の前記ロボットに対応する複数の前記仮想状態情報を記憶する記憶部を有し、前記操作者状態情報に基づいて前記複数の仮想状態情報から選択した仮想状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御する、
請求項１から５のいずれか一項に記載の感覚付与装置。
【請求項７】
前記記憶部は、それぞれ異なる状態の前記ロボットが撮影した画像に相当する仮想画像を含む前記複数の仮想状態情報を記憶し、
前記制御部は、前記複数の仮想状態情報のうち、前記操作者状態情報が示す操作内容に基づいて特定される前記ロボットの位置に対応する前記仮想画像が含まれる仮想状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御する、
請求項６に記載の感覚付与装置。
【請求項８】
前記制御部は、前記複数の仮想状態情報から一の仮想状態情報を選択するために、直前の前記操作者状態情報が示す前記操作者の状態と、最新の前記操作者状態情報が示す前記操作者の状態とに基づいて、前記操作者が操作をした後に前記ロボットがどのような状態になっているかを推定し、推定した前記ロボットの状態に対応する一の仮想状態情報を選択する、
請求項６又は７に記載の感覚付与装置。
【請求項９】
前記制御部は、前記感覚付与部に付与させた前記ロボット状態情報に基づく感覚の内容を示す感覚履歴情報を前記記憶部に記憶させ、直前に記憶させた前記感覚履歴情報が示す感覚の内容に基づいて、前記複数の仮想状態情報から、前記操作者に感覚を付与するために用いる仮想状態情報を選択する、
請求項６から８のいずれか一項に記載の感覚付与装置。
【請求項１０】
前記制御部は、前記送信部が前記操作者状態情報を送信してから前記受信部が前記ロボット状態情報を受信するまでの遅延の要因を特定し、特定した前記要因に基づいて、前記記憶部に記憶された前記仮想状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御するか、ネットワークを介して受信した前記仮想状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御するかを決定する、
請求項７から９のいずれか一項に記載の感覚付与装置。
【請求項１１】
ロボットを操作する操作者の状態を示す操作者状態情報をネットワークに送信する感覚付与装置と、
前記ネットワークを介して受信した前記操作者状態情報に基づいて前記ロボットを制御するロボット制御装置と、
前記ネットワークを介してロボット制御装置及び前記感覚付与装置と通信可能な管理装置と、
を備え、
前記感覚付与装置は、
ロボットを操作する操作者の状態を示す操作者状態情報を前記ロボットに向けて送信する送信部と、
前記ロボットの状態を示すロボット状態情報を前記ロボットから受信する受信部と、
前記操作者に所定の感覚を付与する感覚付与部と、
前記送信部が前記操作者状態情報を送信してから前記受信部が前記ロボット状態情報を受信するまでに要する遅延時間が所定の時間以下である場合に、前記ロボット状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御し、前記遅延時間が前記所定の時間よりも長い場合に、推定された前記ロボットの状態を示す仮想状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御する制御部と、
を有し、
前記管理装置は、
前記遅延時間を特定する遅延特定部と、
前記遅延特定部が特定した前記遅延時間を前記制御部に通知する通知部と、
を有するロボット制御システム。
【請求項１２】
前記遅延特定部は、前記遅延時間が発生している要因を特定し、
前記通知部は、前記遅延特定部が特定した前記要因が前記ネットワークの伝送遅延である場合に、前記感覚付与装置に対して、前記仮想状態情報に基づく感覚を前記操作者に付与するように指示し、
前記感覚付与装置の前記制御部は、前記仮想状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御する、
請求項１１に記載のロボット制御システム。
【請求項１３】
前記通知部は、前記遅延特定部が特定した前記要因が前記ロボットの動作遅延である場合に、前記ロボット制御装置に対して、仮想状態情報を前記感覚付与装置に送信するように指示し、
前記感覚付与装置の前記制御部は、前記ロボット制御装置から受信した前記仮想状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御する、
請求項１２に記載のロボット制御システム。
【請求項１４】
コンピュータが実行する、
ロボットを操作する操作者の状態を示す操作者状態情報を前記ロボットに向けて送信するステップと、
前記操作者状態情報を送信してから前記ロボットの状態を示すロボット状態情報を受信するまでに要する遅延時間が所定の時間以下であるか否かを判定するステップと、
前記遅延時間が前記所定の時間以下である場合に、前記ロボット状態情報に基づく感覚を前記操作者に付与し、前記遅延時間が前記所定の時間よりも長い場合に、推定された前記ロボットの状態を示す仮想状態情報に基づく感覚を前記操作者に付与するステップと、
を有するロボット制御方法。
【請求項１５】
コンピュータに、
ロボットを操作する操作者の状態を示す操作者状態情報を前記ロボットに向けて送信するステップと、
前記操作者状態情報を送信してから前記ロボットの状態を示すロボット状態情報を受信するまでに要する遅延時間が所定の時間以下であるか否かを判定するステップと、
前記遅延時間が前記所定の時間以下である場合に、前記ロボット状態情報に基づく感覚を前記操作者に付与し、前記遅延時間が前記所定の時間よりも長い場合に、推定された前記ロボットの状態を示す仮想状態情報に基づく感覚を前記操作者に付与するステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、感覚付与装置、ロボット制御システム、ロボット制御方法及びプログラムに関する。
【背景技術】
【０００２】
バーチャルリアリティの一分野として、テレイグジスタンス（Ｔｅｌｅｘｉｓｔｅｎｃｅ）が知られている。テレイグジスタンスは、人に遠隔臨場感又は遠隔存在感を抱かせる技術であるとも言われる。テレイグジスタンスは、遠隔地にある物又は人が近くにあるかのようにユーザに感じさせながら、ユーザにより物又は人に対する操作をリアルタイムに行う環境を提供する。【０００３】
ネットワークを介してテレイグジスタンスによりリアルタイムにロボットを操作するためには、高速なネットワークが必要であり、ネットワークにはレイテンシー（ｌａｔｅｎｃｙ）が非常に低いこと及びデータの消失が生じないことが求められる。しかしながら、データが伝送されるネットワークによっては、伝送遅延が発生したりデータの消失が発生したりする場合がある。【０００４】
転送されるデータが一方向に伝送され、かつ転送されるデータが１つのデータである場合には、動的にレートを制御するストリーミングのアルゴリズムを使用して、そのデータ及びストリームをバッファに一時的に記憶させることで、伝送遅延及びデータの消失の影響を軽減できる。また、ＷｅｂＲＴＣ（Ｗｅｂ  Ｒｅａｌ−Ｔｉｍｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）又はＨＬＳ（ＨＴＴＰ  Ｌｉｖｅ  Ｓｔｒｅａｍｉｎｇ）といったストリーミングのプロトコルを用いることで、高品質な音響及び映像のメディアを同期して一方向に送信することが可能である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特公昭６２−２９１９６号公報
【非特許文献】
【０００６】
【非特許文献１】Charith Lasantha Fernando, Masahiro Furukawa, Tadatoshi Kurogi, Sho Kamuro, Katsunari Sato, Kouta Minamizawa and Susumu Tachi,“Design of TELESAR V for Transferring Bodily Consciousness in Telexistence”, 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems（Portugal）, October 7-12, 2012.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
テレイグジスタンスにおいては、ユーザがあたかもロボットの中にいるかのような感覚でロボットを操作できるようにするために、インターネット上の複数のエンドポイントの間で、複数のストリーミングのメディアを双方向に同期して送信又は受信することが要求される。複数のメディアは、例えば、動きのデータ、音響、映像、又は触覚を示すデータなどである。【０００８】
従来の技術では、テレイグジスタンスにおいて、ロボットの操作者が操作を行ってからロボットが動作するまでに遅延が生じた場合、ロボットの制御が困難になる場合があった。例えば、遅延が大きいと、操作者が想定している状況と、ロボットに設けられた撮像装置を介して操作者が視認する状況とが一致していないことで、操作者にめまいが生じてしまい、操作者がロボットの制御を継続することが困難になってしまう。遅延は、例えば、ネットワークを介したデータ通信において発生する遅延、データのエンコード及びデコードの処理が行われることによって発生する遅延、データについてＡ／Ｄ（Ａｎａｌｏｇ  ｔｏ  Ｄｉｇｉｔａｌ）変換の処理が行われることによって発生する遅延（例えば、サンプリングによる遅延）、機械的な遅延（メカ的な遅延）などである。【０００９】
本発明は、このような事情を考慮してなされたものであり、テレイグジスタンスにおける操作性を向上させことができる感覚付与装置、ロボット制御システム及びロボット制御方法を提供することを課題とする。
【課題を解決するための手段】
【００１０】
本発明の第１の態様の感覚付与装置は、ロボットを操作する操作者の状態を示す操作者状態情報を前記ロボットに向けて送信する送信部と、前記ロボットの状態を示すロボット状態情報を前記ロボットから受信する受信部と、前記操作者に所定の感覚を付与する感覚付与部と、前記送信部が前記操作者状態情報を送信してから前記受信部が前記ロボット状態情報を受信するまでに要する遅延時間が所定の時間以下である場合に、前記ロボット状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御し、前記遅延時間が前記所定の時間よりも長い場合に、推定された前記ロボットの状態を示す仮想状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御する制御部と、を有する。【００１１】
前記制御部は、前記仮想状態情報に基づく感覚を前記操作者に付与した後に、前記受信部が受信した前記ロボット状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御してもよい。【００１２】
前記制御部は、前記仮想状態情報に基づく第１感覚と、前記仮想状態情報に基づく感覚を前記操作者に付与した後に前記受信部が受信した前記ロボット状態情報に基づく第２感覚との間に所定の大きさ以上の差がある場合、前記第１感覚と前記第２感覚との間を補間する感覚を前記操作者に付与するように前記感覚付与部を制御してもよい。【００１３】
前記受信部が受信した一以上の前記ロボット状態情報を一時的に記憶した後に、前記一以上のロボット状態情報を順次、前記感覚付与部に出力するバッファ部をさらに有し、前記制御部は、前記バッファ部に蓄積された前記一以上のロボット状態情報の量が閾値未満になった場合に、仮想状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御してもよい。【００１４】
前記受信部が受信した一以上の前記ロボット状態情報を一時的に記憶した後に、前記一以上のロボット状態情報を順次、前記感覚付与部に出力するバッファ部をさらに有し、前記制御部は、前記送信部が前記操作者状態情報を送信してから前記受信部が前記ロボット状態情報を受信するまでに要する遅延時間の変動量が所定の範囲内に収まるように、前記バッファ部に一時的に記憶する前記ロボット状態情報の量を制御してもよい。【００１５】
前記制御部は、それぞれ異なる状態の前記ロボットに対応する複数の前記仮想状態情報を記憶する記憶部を有し、前記操作者状態情報に基づいて前記複数の仮想状態情報から選択した仮想状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御してもよい。【００１６】
前記記憶部は、それぞれ異なる状態の前記ロボットが撮影した画像に相当する仮想画像を含む前記複数の仮想状態情報を記憶し、前記制御部は、前記複数の仮想状態情報のうち、前記操作者状態情報が示す操作内容に基づいて特定される前記ロボットの位置に対応する前記仮想画像が含まれる仮想状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御してもよい。【００１７】
前記制御部は、前記複数の仮想状態情報から一の仮想状態情報を選択するために、直前の前記操作者状態情報が示す前記操作者の状態と、最新の前記操作者状態情報が示す前記操作者の状態とに基づいて、前記操作者が操作をした後に前記ロボットがどのような状態になっているかを推定し、推定した前記ロボットの状態に対応する一の仮想状態情報を選択してもよい。【００１８】
前記制御部は、前記感覚付与部に付与させた前記ロボット状態情報に基づく感覚の内容を示す感覚履歴情報を前記記憶部に記憶させ、直前に記憶させた前記感覚履歴情報が示す感覚の内容に基づいて、前記複数の仮想状態情報から、前記操作者に感覚を付与するために用いる仮想状態情報を選択してもよい。【００１９】
前記制御部は、前記送信部が前記操作者状態情報を送信してから前記受信部が前記ロボット状態情報を受信するまでの遅延の要因を特定し、特定した前記要因に基づいて、前記記憶部に記憶された前記仮想状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御するか、ネットワークを介して受信した前記仮想状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御するかを決定してもよい。【００２０】
本発明の第２の態様のロボット制御システムは、ロボットを操作する操作者の状態を示す操作者状態情報をネットワークに送信する感覚付与装置と、前記ネットワークを介して受信した前記操作者状態情報に基づいて前記ロボットを制御するロボット制御装置と、前記ネットワークを介してロボット制御装置及び前記感覚付与装置と通信可能な管理装置と、を備える。前記感覚付与装置は、ロボットを操作する操作者の状態を示す操作者状態情報を前記ロボットに向けて送信する送信部と、前記ロボットの状態を示すロボット状態情報を前記ロボットから受信する受信部と、前記操作者に所定の感覚を付与する感覚付与部と、前記送信部が前記操作者状態情報を送信してから前記受信部が前記ロボット状態情報を受信するまでに要する遅延時間が所定の時間以下である場合に、前記ロボット状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御し、前記遅延時間が前記所定の時間よりも長い場合に、推定された前記ロボットの状態を示す仮想状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御する制御部と、を有する。前記管理装置は、前記遅延時間を特定する遅延特定部と、前記遅延特定部が特定した前記遅延時間を前記制御部に通知する通知部と、を有する。【００２１】
前記遅延特定部は、前記遅延時間が発生している要因を特定し、前記通知部は、前記遅延特定部が特定した前記要因が前記ネットワークの伝送遅延である場合に、前記感覚付与装置に対して、前記仮想状態情報に基づく感覚を前記操作者に付与するように指示し、前記感覚付与装置の前記制御部は、前記仮想状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御してもよい。【００２２】
前記通知部は、前記遅延特定部が特定した前記要因が前記ロボットの動作遅延である場合に、前記ロボット制御装置に対して、仮想状態情報を前記感覚付与装置に送信するように指示し、前記感覚付与装置の前記制御部は、前記ロボット制御装置から受信した前記仮想状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御してもよい。【００２３】
本発明の第３の態様のロボット制御方法は、コンピュータが実行する、ロボットを操作する操作者の状態を示す操作者状態情報を前記ロボットに向けて送信するステップと、前記操作者状態情報を送信してから前記ロボットの状態を示すロボット状態情報を受信するまでに要する遅延時間が所定の時間以下であるか否かを判定するステップと、前記遅延時間が前記所定の時間以下である場合に、前記ロボット状態情報に基づく感覚を前記操作者に付与し、前記遅延時間が前記所定の時間よりも長い場合に、推定された前記ロボットの状態を示す仮想状態情報に基づく感覚を前記操作者に付与するステップと、を有する。【００２４】
本発明の第４の態様のプログラムは、コンピュータに、ロボットを操作する操作者の状態を示す操作者状態情報を前記ロボットに向けて送信するステップと、前記操作者状態情報を送信してから前記ロボットの状態を示すロボット状態情報を受信するまでに要する遅延時間が所定の時間以下であるか否かを判定するステップと、前記遅延時間が前記所定の時間以下である場合に、前記ロボット状態情報に基づく感覚を前記操作者に付与し、前記遅延時間が前記所定の時間よりも長い場合に、推定された前記ロボットの状態を示す仮想状態情報に基づく感覚を前記操作者に付与するステップと、を実行させる。
【発明の効果】
【００２５】
本発明によれば、テレイグジスタンスにおける操作性を向上させることができる。
【図面の簡単な説明】
【００２６】
【図１】本発明の一実施形態に係るロボットシステムの概略的な構成を示すブロック図である。
【図２】本発明の一実施形態に係る端末装置の概略的な構成を示すブロック図である。
【図３】本発明の一実施形態に係るロボット制御装置の概略的な構成を示すブロック図である。
【図４】本発明の一実施形態に係る端末装置及びロボット制御装置におけるバッファによる遅延時間の調整方法を説明するための図である。
【図５】本発明の一実施形態に係るロボットシステムにおける仮想的なロボットのイメージを示すブロック図である。
【図６Ａ】本発明の一実施形態に係るロボットシステムにおいて提供される仮想状態情報について説明するための図である。
【図６Ｂ】本発明の一実施形態に係るロボットシステムにおいて提供される仮想状態情報について説明するための図である。
【図７】本発明の一実施形態に係る通信フレームの概略的な構成を示すブロック図である。
【図８】本発明の一実施形態に係る時分割の通信フレームの概略的な構成を示すブロック図である。
【図９】ネットワークを介して端末装置及びロボット制御装置と通信可能な管理装置を示す図である。
【図１０】本発明の一実施形態に係るロボットシステムにおいて提供される仮想状態情報について説明するための図である。
【発明を実施するための形態】
【００２７】
以下、図面を参照し、本発明の実施形態について説明する。
【００２８】
［ロボットシステムの概要］
図１は、本発明の一実施形態に係るロボットシステム１の概略的な構成を示すブロック図である。
ロボットシステム１は、ｎ（ｎは２以上の整数であるとする。）個の端末装置２１−１〜２１−ｎと、ｎ個のロボット３１−１〜３１−ｎと、ｎ個のロボット制御装置４１−１〜４１−ｎと、ネットワーク５１と、を備える。ネットワーク５１は、例えば、インターネットであるが、他の任意のネットワークであってもよい。ネットワーク５１は、例えば、有線のネットワークが用いられてもよく、無線のネットワークが用いられてもよく、又は、有線と無線の両方を含むネットワークが用いられてもよい。
【００２９】
図１には、ｎ人のユーザ１１−１〜１１−ｎと、ｎ個のロボット３１−１〜３１−ｎ（ｎは１以上の整数）を示している。ロボット３１−１〜３１−ｎのそれぞれは、例えば、全体が人型のロボット、又は、部分的に人型のロボットである。部分的に人型のロボットは、例えば、上半身の部分、下半身の部分、又は腕の部分などのように、全体の一部分が人型であり、他の部分が人型ではないロボットである。ロボット３１−１〜３１−ｎのそれぞれは、他の任意の形態のロボットであってもよい。なお、ロボット３１−１〜３１−ｎは、例えば、ＲＯＳ（Ｒｏｂｏｔ  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）の機能を有してもよい。
【００３０】
ここで、図１の例では、それぞれのユーザ１１−１〜１１−ｎと、それぞれの端末装置２１−１〜２１−ｎと、が対応付けられている。また、図１の例では、それぞれのロボット３１−１〜３１−ｎと、それぞれのロボット制御装置４１−１〜４１−ｎと、が対応付けられている。また、図１の例では、それぞれの端末装置２１−１〜２１−ｎと、それぞれのロボット制御装置４１−１〜４１−ｎと、が対応付けられている。このように、図１の例では、１人のユーザ１１−ｉ（ｉは１以上ｎ以下の任意の整数であるとする。）と、１個の端末装置２１−ｉと、１個のロボット３１−ｉと、１個のロボット制御装置４１−ｉとが対応付けられている。
【００３１】
本実施形態では、ｎ個の端末装置２１−１〜２１−ｎは同等の機能を有しており、ｎ個のロボット制御装置４１−１〜４１−ｎは同等の機能を有しており、ｎ個のロボット３１−１〜３１−ｎは同等の機能を有している。また、ｎ人のユーザ１１−１〜１１−ｎは、それぞれ異なる人であるが、対応するそれぞれのロボット３１−１〜３１−ｎを操作するという点では同等の機能を有している。このため、以下では、１人のユーザ１１−１、１個の端末装置２１−１、１個のロボット３１−１、及び１個のロボット制御装置４１−１の組み合わせを例として説明する。
【００３２】
［端末装置の概要］
図２は、本発明の一実施形態に係る端末装置２１−１の概略的な構成を示すブロック図である。端末装置２１−１は、ユーザ１１−１の状態を検出するとともに、ユーザ１１−１に対して各種の感覚を付与する感覚付与装置として機能する。端末装置２１−１がユーザ１１−１に付与する感覚は任意であるが、例えば視覚、聴覚、触覚、又は力覚である。端末装置２１−１は、ロボット制御装置４１−１を介して取得したロボット３１−１の状態に基づく感覚をユーザ１１−１に付与する。
【００３３】
端末装置２１−１は、検出部１１１と、バッファ１１２と、通信部１１３と、感覚付与部１１４と、制御部１１５を備える。通信部１１３は、送信部１３１と、受信部１３２を備える。制御部１１５は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）及びＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を含む記憶部１５１を備える。
【００３４】
検出部１１１は、ユーザ１１−１の状態を検出する。検出部１１１により検出される状態は、例えば、ユーザ１１−１の指の動き、ユーザ１１−１の胴体の動き、又はユーザの目（例えば、視線）の動きである。
【００３５】
検出部１１１は、例えば、検出対象の状態を検出するセンサーを有する。一例として、検出部１１１は、頭部用のセンサー、指部用のセンサー、及び胴部用のセンサーを備える。頭部用のセンサーは、例えば、ユーザ１１−１に対して映像及び音響を提供するヘッドマウントディスプレイに備えられている。ヘッドマウントディスプレイは、例えば、ユーザの目（例えば、視線）の動きを検出するセンサーを有する。当該センサーは、左目の動きと右目の動きとを別々に検出してもよい。
【００３６】
センサーは、例えば、ユーザ１１−１に装着されるセンサー形態のセンサーであるが、ユーザ１１−１に装着されない形態のセンサーであってもよい。ユーザ１１−１に装着されない形態のセンサーは、例えば、ユーザ１１−１の一部又は全部の画像（例えば映像）を撮像する撮像装置（例えばカメラ）である。
【００３７】
バッファ１１２は、データを一時的に記憶するメモリである。本実施形態では、バッファ１１２は、送信部１３１による送信対象のデータを一時的に記憶する機能と、受信部１３２により受信されたデータを一時的に記憶する機能を有している。なお、これら２つの機能のそれぞれに対して異なるバッファが備えられてもよい。バッファ１１２は、受信部１３２が受信した一以上のロボット状態情報を一時的に記憶した後に、一以上のロボット状態情報を順次、感覚付与部１１４に出力する。ロボット状態情報は、ロボット３１−１の状態を示す情報であり、例えば、ロボット３１−１が撮影した画像、ロボット３１−１が検出した圧力、又はロボット３１−１が検出した温度を示す情報である。
【００３８】
また、バッファ１１２は、検出部１１１が検出した操作者の状態を示す操作者状態情報を一時的に記憶した後に、一以上の操作者状態情報を順次、送信部１３１に出力する。操作者状態情報は、例えば、ユーザ１１−１が身体に装着したセンサーを用いて検出されたユーザ１１−１の身体の位置を示す情報である。
【００３９】
通信部１１３は、端末装置２１−１に対応するロボット制御装置４１−１との間で通信する。通信部１１３は、ネットワーク５１を介してロボット制御装置４１−１との間で通信する。また、通信部１１３は、ＷｅｂＲＴＣにより通信する。通信部１１３は、ＷｅｂＲＴＣにより、例えば、低遅延で、ハイフレームレートで通信することが可能である。
【００４０】
送信部１３１は、バッファ１１２からロボット３１−１を操作するユーザ１１−１の状態を示す操作者状態情報を取得し、取得した操作者状態情報をロボット３１−１に向けて送信する。具体的には、送信部１３１は、操作者状態情報を含む送信対象のデータをロボット制御装置４１−１に送信する。
【００４１】
受信部１３２は、ロボット制御装置４１−１から送信されたデータとして、ロボット３１−１の状態を示すロボット状態情報を受信する。受信部１３２は、受信したロボット状態情報をバッファ１１２に入力する。
【００４２】
感覚付与部１１４は、受信部１３２により受信されたロボット状態情報に基づく感覚をユーザ１１−１に与える。すなわち、感覚付与部１１４は、受信部１３２が受信したロボット３１−１の状態を示すロボット状態情報に対応する感覚をユーザ１１−１に付与する。
【００４３】
感覚付与部１１４は、例えば、ユーザ１１−１に感覚を付与する機器を有する。一例として、感覚付与部１１４は、ユーザ１１−１に視覚を付与するために映像（Ｖｉｄｅｏ）を表示する映像表示器、ユーザ１１−１に聴覚を付与するために音響（Ａｕｄｉｏ）を出力するスピーカー、ユーザ１１−１に触覚（Ｈａｐｔｉｃｓ）を付与するために圧力又は振動を発生させる動作発生器を備えてもよい。映像表示器及びスピーカーは、例えば、頭部の機器（例えば、ヘッドマウントディスプレイ）に備えられる。ユーザ１１−１に感覚を付与する機器は、ユーザ１１−１に装着される機器であってもよく、ユーザ１１−１に装着されない機器であってもよい。検出部１１１と感覚付与部１１４は、一部又は全部が同一の機器に含まれていてもよい。
【００４４】
制御部１１５は、端末装置２１−１における各種の制御を行う。制御部１１５は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、及びデータを記憶する記憶部１５１を備える。制御部１１５は、例えば、記憶部１５１に記憶されたパラメーターを使用して、記憶部１５１に記憶されたプログラムを実行することで、各種の制御を行う。
【００４５】
本実施形態では、制御部１１５は、送信対象のデータをバッファ１１２により一時的に記憶する時間の長さを調整することが可能であり、また、受信されたデータをバッファ１１２により一時的に記憶する時間の長さを調整することが可能である。
【００４６】
ここで、端末装置２１−１は、複数の機器から構成されてもよく、例えば、図２に示される検出部１１１、バッファ１１２、通信部１１３、感覚付与部１１４及び制御部１１５を２個以上の機器に分散して備えてもよい。また、送信部１３１と受信部１３２とが別の機器に備えられてもよい。一例として、端末装置２１−１は、検出部１１１を備える機器と、感覚付与部１１４を備える機器と、バッファ１１２と通信部１１３と制御部１１５を備える機器を用いて構成されてもよい。また、検出部１１１を備える機器と、感覚付与部１１４を備える機器とは、一部又は全部が一体化されてもよい。
【００４７】
［ロボット制御装置の概要］
図３は、本発明の一実施形態に係るロボット制御装置４１−１の概略的な構成を示すブロック図である。ロボット制御装置４１−１は、通信部２１１と、バッファ２１２と、ロボット駆動部２１３と、検出部２１４と、制御部２１５と、を備える。通信部２１１は、受信部２３１と、送信部２３２と、を備える。制御部２１５は、ＣＰＵと、ＲＯＭ及びＲＡＭを含む記憶部２５１と、を備える。
【００４８】
通信部２１１は、ロボット制御装置４１−１に対応する端末装置２１−１との間で通信する。本実施形態では、通信部２１１はネットワーク５１を介して通信する。通信部２１１は、例えばＷｅｂＲＴＣにより通信する。受信部２３１は、端末装置２１−１から送信された操作者状態情報等のデータを受信する。送信部２３２は、送信対象のロボット状態情報等のデータを端末装置２１−１に送信する。
【００４９】
バッファ２１２は、データを一時的に記憶するメモリである。本実施形態では、バッファ２１２は、送信部２３２による送信対象のロボット状態情報を一時的に記憶する機能と、受信部２３１により受信された操作者状態情報を一時的に記憶する機能を有している。なお、バッファ２１２は、これら２つの機能のそれぞれに対して異なるバッファを有してもよい。
【００５０】
ロボット駆動部２１３は、端末装置２１−１から受信された操作者状態情報に基づいて、ロボット制御装置４１−１に対応するロボット３１−１の駆動部を駆動させる。ここで、ロボット３１−１の駆動部は、例えば、頭部を駆動させる駆動部、指部を駆動させる駆動部、又は胴部を駆動させる駆動部である。
【００５１】
検出部２１４は、ロボット３１−１の動きを検出する。検出部２１４が検出する動きは、例えば、ロボット３１−１の指の動き、ロボット３１−１の胴体の動き、又はロボット３１−１の目（例えば、視線）の動きである。
【００５２】
検出部２１４は、例えば、検出対象の状態を検出するセンサーを有する。一例として、検出部２１４は、頭部用のセンサー、指部用のセンサー、胴部用のセンサーを備える。頭部用のセンサーは、例えば、映像を撮像する撮像装置（カメラ）、又は音響を入力するマイクである。検出部２１４は、例えば、左目に対応する映像と右目に対応する映像とを別々に処理してもよい。
【００５３】
センサーは、ロボット３１−１に装着される形態のセンサーであってもよく、ロボット３１−１に装着されない形態のセンサーであってもよい。ロボット３１−１に装着されない形態のセンサーは、例えば、ロボット３１−１の付近に設置されて、画像（例えば、映像）を撮像する撮像装置である。各種のデータは、例えば、Ａ／Ｄ変換を用いたサンプリングにより取り込まれる。本実施形態では、検出部２１４により検出されたデータが、送信対象のロボット状態情報となる。なお、ロボット駆動部２１３と検出部２１４は、例えば、一部又は全部が共通の機器であってもよい。
【００５４】
制御部２１５は、ロボット制御装置４１−１における各種の制御を行う。制御部２１５は、例えば、ＣＰＵと、データを記憶する記憶部２５１と、を備える。制御部２１５は、例えば記憶部２５１に記憶されたパラメーターを使用して、記憶部２５１に記憶されたプログラムを実行することで、各種の制御を行う。本実施形態では、制御部２１５は、送信対象のロボット状態情報等のデータをバッファ２１２に一時的に記憶する時間の長さを調整することが可能であり、また、受信された操作者状態情報等のデータをバッファ２１２に一時的に記憶する時間の長さを調整することが可能である。
【００５５】
ここで、ロボット制御装置４１−１は複数の機器から構成されてもよく、例えば、図３に示される通信部２１１、バッファ２１２、ロボット駆動部２１３、検出部２１４、及び制御部２１５が２個以上の機器に分散されて備えられてもよい。また、受信部２３１と送信部２３２とが別の機器に備えられてもよい。一例として、ロボット制御装置４１−１は、ロボット駆動部２１３を備える機器と、検出部２１４を備える機器と、通信部２１１とバッファ２１２と制御部２１５を備える機器を用いて構成されてもよい。また、ロボット駆動部２１３を備える機器と、検出部２１４を備える機器とは、一部又は全部が一体化されてもよい。
【００５６】
［端末装置及びロボット制御装置における動作の概要］
端末装置２１−１は、ユーザ１１−１の状態を検出部１１１により検出し、検出されたデータを含む操作者状態情報を、ネットワーク５１を介してロボット制御装置４１−１に送信する。ロボット制御装置４１−１は、端末装置２１−１から送信された操作者状態情報をネットワーク５１を介して受信し、受信された操作者状態情報に基づいてロボット駆動部２１３によりロボット３１−１を駆動させる。ロボット３１−１は、ロボット制御装置４１−１のロボット駆動部２１３により駆動されて動作する。
【００５７】
ロボット制御装置４１−１は、ロボット３１−１の状態を検出部２１４により検出し、検出されたデータを含むロボット状態情報を、ネットワーク５１を介して端末装置２１−１に送信する。端末装置２１−１は、ロボット制御装置４１−１から送信されたロボット状態情報をネットワーク５１を介して受信し、受信されたロボット状態情報に基づいて感覚付与部１１４によりユーザ１１−１に対して感覚を付与する。
【００５８】
ここで、本実施形態では、ユーザ１１−１により使用される前に、又はユーザ１１−１により使用される際に、端末装置２１−１とロボット制御装置４１−１とが対応付けられる。端末装置２１−１には自装置（当該端末装置２１−１）に対応するロボット制御装置４１−１のアドレスの情報が記憶され、ロボット制御装置４１−１には自装置（当該ロボット制御装置４１−１）に対応する端末装置２１−１のアドレスの情報が記憶される。そして、互いに対応する端末装置２１−１とロボット制御装置４１−１が、記憶されたアドレスの情報を使用して、例えば当該アドレスの情報を送信対象の信号に含めることで、互いを通信相手として通信する。
【００５９】
［端末装置及びロボット制御装置におけるバッファによる遅延時間の調整］
図４は、本発明の一実施形態に係る端末装置２１−１及びロボット制御装置４１−１におけるバッファによる遅延時間の調整方法を説明するための図である。図４は、ユーザ１１−１と、端末装置２１−１の構成部である頭部機器３１１、指部機器３１２−１〜３１２−２、胴部機器３１３−１〜３１３−２と、端末装置２１−１の構成部であるバッファ１１２を示している。また、図４は、ロボット３１−１と、ロボット制御装置４１−１の構成部である視覚機器４１１、音響機器４１２−１〜４１２−２、指部機器４１３−１〜４１３−２と、ロボット制御装置４１−１の構成部であるバッファ２１２を示している。
【００６０】
ユーザ１１−１は、頭部に頭部機器３１１を装着しており、右手の指に指部機器３１２−１を装着しており、左手の指に指部機器３１２−２を装着しており、右の胴部に胴部機器３１３−１を装着しており、左の胴部に胴部機器３１３−２を装着している。頭部機器３１１は、ユーザ１１−１の両目に対応する位置に視覚部３３１を備えており、ユーザ１１−１の右耳に対応する位置に音響部３３２−１を備えており、ユーザ１１−１の左耳に対応する位置に音響部３３２−２を備えている。頭部機器３１１は、例えばヘッドマウントディスプレイである。視覚部３３１は、右目と左目のそれぞれごとにデータを処理する。
【００６１】
ここで、頭部機器３１１、指部機器３１２−１〜３１２−２、及び胴部機器３１３−１〜３１３−２は、端末装置２１−１の検出部１１１の機能を有している。頭部機器３１１は、頭部の動きを検出する。指部機器３１２−１〜３１２−２は、左右それぞれの指の動きを検出する。胴部機器３１３−１〜３１３−２は、胴部の動きを検出する。端末装置２１−１は、頭部機器３１１、指部機器３１２−１〜３１２−２、及び胴部機器３１３−１〜３１３−２が検出した各部の動きに基づいて、ユーザ１１−１の動き（姿勢の変化）を検出するモーションキャプチャの機能を実現する。
【００６２】
なお、図４の例では、ユーザ１１−１が左右の胴部機器３１３−１〜３１３−２を別々に備えるが、ユーザ１１−１が左右の胴部機器３１３−１〜３１３−２の代わりに、１個の胴部機器を備えてもよい。また、図４は一例であり、検出部１１１としては、ユーザの状態を検出する他の任意の機器が用いられてもよく、例えば、人の指などを用いた操作内容を検出するタッチパネルが用いられてもよい。
【００６３】
指部機器３１２−１〜３１２−２、胴部機器３１３−１〜３１３−２、視覚部３３１、及び音響部３３２−１〜３３２−２は、端末装置２１−１の感覚付与部１１４の機能を有している。指部機器３１２−１〜３１２−２は、それぞれの指に触覚を与える機能を有している。胴部機器３１３−１〜３１３−２は、胴部に触覚を与える機能を有している。視覚部３３１は、ユーザ１１−１の両目（左右それぞれの目）に視覚を与える機能を有しており、例えば映像を表示する。音響部３３２−１〜３３２−２は、ユーザ１１−１の両耳（左右それぞれの耳）に聴覚を与える機能を有しており、例えば音響を出力する。図４は一例であり、感覚付与部１１４は、ユーザに他の感覚を付与する任意の機器であってもよい。
【００６４】
ロボット３１−１は、人における両目に対応する位置に視覚機器４１１が装着されており、人における右耳に対応する位置に音響機器４１２−１が装着されており、人における左耳に対応する位置に音響機器４１２−２が装着されており、人における右手の指に対応する位置に指部機器４１３−１が装着されており、人における左手の指に対応する位置に指部機器４１３−２が装着されている。
【００６５】
ここで、視覚機器４１１、音響機器４１２−１〜４１２−２、及び指部機器４１３−１〜４１３−２は、ロボット制御装置４１−１の検出部２１４の機能を有している。視覚機器４１１は、例えば、撮像装置を有しており、視覚に関するデータとして、映像データを生成する。本実施形態では、視覚機器４１１は、右目と左目のそれぞれごとに映像のデータを処理する。音響機器４１２−１〜４１２−２は、聴覚に関するデータとして音響データを生成する。
【００６６】
指部機器４１３−１〜４１３−２は、それぞれの指の触覚に関するデータを生成する。触覚に関するデータは、指部機器４１３−１〜４１３−２が触れた場所の硬さ及び凹凸の程度を示すデータである。検出部２１４は、ロボット３１−１と着脱可能な機器を含んでもよい。また、他の構成例として、検出部２１４は、ロボット３１−１と一体化されて着脱できない機器を含んでもよい。この場合、当該機器はロボット３１−１の一部であると捉えられてもよい。
【００６７】
なお、図４の例では、端末装置２１−１の通信部１１３及び制御部１１５については、図示を省略している。また、図４の例では、ロボット制御装置４１−１の通信部２１１、ロボット駆動部２１３、制御部２１５については、図示を省略している。また、図４の例では、説明の便宜上、バッファ１１２とバッファ２１２をそれぞれ単体で示しているが、必ずしもこの構成に限られず、バッファ１１２は端末装置２１−１に備えられており、バッファ２１２はロボット制御装置４１−１に備えられている。
【００６８】
図４の例では、端末装置２１−１の検出部１１１により検出されたユーザ１１−１の状態を示す操作者状態情報は、伝送セッションＰ１、伝送セッションＰ２及び伝送セッションＰ３により、ロボット制御装置４１−１の制御部２１５又はロボット駆動部２１３に伝えられる。伝送セッションＰ１は、端末装置２１−１の制御部１１５又は検出部１１１から端末装置２１−１のバッファ１１２までのセッションである。伝送セッションＰ２は、端末装置２１−１のバッファ１１２からロボット制御装置４１−１のバッファ２１２までのセッションである。伝送セッションＰ３は、ロボット制御装置４１−１のバッファ２１２からロボット制御装置４１−１の制御部２１５又はロボット駆動部２１３までのセッションである。
【００６９】
また、ロボット制御装置４１−１の検出部２１４により検出されたロボット３１−１〜３１−ｎの状態を示すロボット状態情報は、伝送セッションＰ１１、伝送セッションＰ１２及び伝送セッションＰ１３により、端末装置２１−１の制御部１１５又は感覚付与部１１４に伝えられる。伝送セッションＰ１１は、ロボット制御装置４１−１のバッファ２１２までのセッションである。伝送セッションＰ１２は、ロボット制御装置４１−１のバッファ２１２から端末装置２１−１のバッファ１１２までのセッションである。伝送セッションＰ１３は、端末装置２１−１のバッファ１１２から端末装置２１−１の制御部１１５又は感覚付与部１１４までのセッションである。
【００７０】
ここで、端末装置２１−１のバッファ１１２とロボット制御装置４１−１のバッファ２１２との間のデータ伝送は、端末装置２１−１の通信部１１３とロボット制御装置４１−１の通信部２１１によって、ネットワーク５１を介して行われる。
【００７１】
図４に示されるように、本実施形態では、端末装置２１−１とロボット制御装置４１−１との間における双方向のデータ通信として、主に２つのセッションがある。第１のセッションは、端末装置２１−１からロボット制御装置４１−１に向かう伝送セッションＰ１〜Ｐ３を含むセッションである。第１のセッションにおいては、例えば、ユーザ１１−１の状態を示す操作者状態情報が伝送される。操作者状態情報は、例えば、ユーザの目の動き、指の動き、又は胴の動きを示すデータを含む情報である。
【００７２】
第２のセッションは、ロボット制御装置４１−１から端末装置２１−１に向かう伝送セッションＰ１１〜Ｐ１３を含むセッションである。第２のセッションにおいては、例えば、ロボット３１−１の状態を示す映像データ、音響データ、及び触覚データを含むロボット状態情報が伝送される。
【００７３】
ロボット３１−１はユーザ１１−１の動きに合わせて動作する。ユーザ１１−１はロボット３１−１の位置における映像を見て音響を聞いて触覚を感じて動作を行う。ロボット３１−１及びユーザ１１−１は、これらの動作を繰り返す。
【００７４】
本実施形態のロボットシステム１は、第１のセッション及び第２のセッションにおける双方向通信の遅延を補償する。制御部１１５は、例えば、送信部１３１がユーザ１１−１状態情報を送信してから受信部１３２がロボット状態情報を受信するまでに要する遅延時間の変動量が所定の範囲内に収まるように、バッファ１１２に一時的に記憶するロボット状態情報の量を制御する。ここで、例えば、ユーザ１１−１の側とロボット３１−１の側とで、それぞれのセッションに関して異なる遅延時間が存在する場合がある。このような場合、ロボットシステム１は、ユーザ１１−１の側とロボット３１−１の側とで同期が取られた動きを実現するために、第１のセッション及び第２のセッションのそれぞれに対して異なる大きさの遅延時間を補償する。
【００７５】
本例では、ユーザ１１−１の側（端末装置２１−１）からロボット３１−１の側（ロボット制御装置４１−１）に向かう伝送セッションＰ１〜Ｐ３の合計遅延時間をＬａｔＭで表す。また、ロボット３１−１の側（ロボット制御装置４１−１）からユーザ１１−１の側（端末装置２１−１）に向かう伝送セッションＰ１１〜Ｐ１３の合計遅延時間をＬａｔＮで表す。また、伝送セッションＰ１の遅延時間をＬａｔＭｕで表し、伝送セッションＰ３の遅延時間をＬａｔＭｒで表し、伝送セッションＰ１１の遅延時間をＬａｔＮｒで表し、伝送セッションＰ１３の遅延時間をＬａｔＮｕで表す。
【００７６】
また、ユーザ１１−１の動きを検出する機構（本実施形態では、端末装置２１−１）における遅延時間をＬａｔＭｍで表し、ロボット３１−１を駆動させる機構（本実施形態では、ロボット制御装置４１−１）における遅延時間をＬａｔＮｍで表す。この場合、式（１）及び式（２）が成り立つ。
【００７７】
［数１］
ＬａｔＭ  ＝  ＬａｔＭｕ  ＋  ＬａｔＭｒ  ＋  ＬａｔＭｍ  ・・（１）
［数２］
ＬａｔＮ  ＝  ＬａｔＮｒ  ＋  ＬａｔＮｕ  ＋  ＬａｔＮｍ  ・・（２）
【００７８】
ユーザ１１−１の側（一例として、端末装置２１−１の制御部１１５の側）からロボット３１−１の側を見た場合における、伝送セッションＰ１〜Ｐ３及び伝送セッションＰ１１〜Ｐ１３を含む全体的なラウンドトリップディレイタイム（ラウンドトリップの遅延時間）をＲＴＴで表すと、式（３）が成り立つ。
【００７９】
［数３］
ＲＴＴ  ＝  ＬａｔＭ  ＋  ＬａｔＮ  ・・（３）
このＲＴＴが大きくなると、ユーザ１１−１はめまいを感じて気分が悪くなる場合がある。ＲＴＴの変動量が大きい場合にも、ユーザ１１−１は気分が悪くなる場合がある。
【００８０】
そこで、本実施形態のロボットシステム１は、ネットワーク５１の一方側であるユーザ１１−１の側にバッファ１１２を備えるとともに、当該ネットワーク５１の他方側であるロボット３１−１の側にバッファ２１２を備え、バッファ１１２及びバッファ２１２のそれぞれにおけるデータの遅延時間を調整できるように構成されている。すなわち、ロボットシステム１は、ユーザ１１−１の側とロボット３１−１の側とのそれぞれにおいて、遅延時間を調整できる。
【００８１】
ユーザ１１−１の側では、式（４）が成り立つように、端末装置２１−１の制御部１１５が、バッファ１１２におけるデータの遅延時間をリアルタイムで制御する。ロボット３１−１の側では、式（５）が成り立つように、ロボット制御装置４１−１の制御部２１５が、バッファ２１２におけるデータの遅延時間をリアルタイムで制御する。
【００８２】
［数４］
ＬａｔＭｕ  〜  ＬａｔＮｕ  ・・（４）
［数５］
ＬａｔＭｒ  〜  ＬａｔＮｒ  ・・（５）
【００８３】
ここで、式（４）及び式（５）において、「〜」は同じ又は近いことを表す。つまり、式（４）が成り立つように、端末装置２１−１の制御部１１５は、伝送セッションＰ１の遅延時間ＬａｔＭｕと伝送セッションＰ１３の遅延時間ＬａｔＮｕとの差が所定の第１時間以内になるように遅延時間を制御する。また、式（５）が成り立つように、ロボット制御装置４１−１の制御部２１５は、伝送セッションＰ３の遅延時間ＬａｔＭｒと伝送セッションＰ１１の遅延時間ＬａｔＮｒとの差が所定の第２時間以内になるように遅延時間を制御する。所定の第１時間及び所定の第２時間は、例えば、ユーザ１１−１によるロボット３１−１の操作に支障が生じない時間の最大値である。
【００８４】
ここで、本例では、ロボット制御装置４１−１から端末装置２１−１に送信される映像のデータが、他のメディアのデータ（音響のデータ、触覚のデータなど）と比べて、多くの伝送時間を要するとする。制御部１１５及び制御部２１５は、メディアの種類によらず、ユーザ１１−１の側とロボット３１−１の側との間の往復の遅延時間（本例では、ＲＴＴ）の差が所定の範囲内（所定の時間内）に収まるように、バッファ１１２及びバッファ２１２における遅延時間を制御する。当該所定の時間は、最も長い伝送時間を要する映像のデータに基づいて定められており、例えば４０ｍｓである。制御部１１５及び制御部２１５は、遅延時間の差が当該所定の時間内に収まっているメディアのデータについては、遅延時間を与えずにバッファ１１２及びバッファ２１２を通過（パススルー）させてもよい。
【００８５】
［仮想的な感覚の付与］
ユーザ１１−１の側とロボット３１−１の側との間の往復の遅延時間の変動を抑制することにより操作性が向上するとしても、遅延時間が長いと、ユーザ１１−１が違和感を抱くことがある。特に、ユーザ１１−１が操作をしてから、ユーザ１１−１の操作に応じて変化した後の姿勢でロボット３１−１が撮影した映像をユーザ１１−１が視認するまでの遅延時間が長いと、ユーザ１１−１がめまいを感じやすくなる。そこで、端末装置２１は、仮想的な感覚をユーザ１１−１に付与することができるように構成されている。以下、端末装置２１が仮想的な感覚として、ロボット３１−１が視認している画像を推定することにより生成された仮想的な視認画像をユーザ１１−１に視認させる実施の形態を例示する。仮想的な感覚は仮想的な視覚に限らず、仮想的な聴覚、仮想的な触覚、又は仮想的な力覚等の他の感覚であってもよい。
【００８６】
図５は、本発明の一実施形態に係るロボットシステム１において仮想的な感覚を付与する構成のイメージを示すブロック図である。図５は、頭部機器３１１などを装着したユーザ１１−１と、仮想ロボット７１１とを示している。仮想ロボット７１１は、端末装置２１−１のバッファ１１２に記憶されたデータにより仮想的な感覚を提供可能なロボットであり、ロボット３１−１の状況を仮想的に再現するコンピュータを備える。本例では、端末装置２１−１の制御部１１５は、あたかも仮想ロボット７１１との間でデータを送信しているかのように動作する。
【００８７】
制御部１１５は、送信部１３１が操作者状態情報を送信してから受信部１３２がロボット状態情報を受信するまでに要する遅延時間（例えばＲＴＴ）が所定の時間以下である場合に、ロボット状態情報に基づく感覚を操作者としてのユーザ１１−１に付与するように感覚付与部１１４を制御する。一方、制御部１１５は、遅延時間が所定の時間よりも長い場合に、推定されたロボット３１−１の状態を示す仮想状態情報に基づく感覚をユーザ１１−１に付与するように感覚付与部１１４を制御する。仮想状態情報は、ロボット状態情報と同様に、視覚、聴覚、触覚及び力覚を示すデータを含む。
【００８８】
図６Ａは、遅延時間が所定の時間未満である場合のロボットシステム１の動作について説明するための図である。図６Ｂは、遅延時間が所定の時間よりも長い場合のロボットシステム１の動作について説明するための図である。図６Ａに示すように、ユーザ１１−１の操作に支障がない程度に遅延時間が小さい場合、端末装置２１−１のバッファ１１２を介してロボット状態情報がユーザ１１−１に付与される。これに対して、図６Ｂに示すようにユーザ１１−１の操作に支障が生じる程度に遅延時間が長い場合、端末装置２１−１からユーザ１１−１には、例えば記憶部１５１に記憶された仮想状態情報がユーザ１１−１に付与される。以下、端末装置２１−１が仮想状態情報を付与する動作の詳細を説明する。
【００８９】
制御部１１５は、例えば記憶部１５１に記憶された、それぞれ異なる状態の仮想的なロボットに対応する複数の仮想状態情報のうち少なくとも一部の仮想状態情報をユーザ１１−１に付与するように感覚付与部１１４を制御する。具体的には、制御部１１５は、操作者状態情報に基づいて複数の仮想状態情報から選択した仮想状態情報に基づく感覚をユーザ１１−１に付与するように感覚付与部１１４を制御する。
【００９０】
より具体的には、記憶部１５１は、それぞれ異なる状態のロボット３１−１が撮影した画像に相当する仮想画像を含む複数の仮想状態情報を記憶している。仮想画像は、予めロボット３１−１が有する視覚機器４１１又は同等の他のロボットに装着された撮像装置により生成された撮像画像であり、撮像した時点のロボットの状態（例えばロボットの各部の位置）を示す情報が関連づけられている。制御部１１５は、複数の仮想状態情報のうち、操作者状態情報が示す操作内容に基づいて特定されるロボット３１−１の位置に対応する仮想画像が含まれる仮想状態情報に基づく感覚を操作者に付与するように感覚付与部１１４を制御する。
【００９１】
制御部１１５は、複数の仮想状態情報から一の仮想状態情報を選択するために、直前の操作者状態情報が示すユーザ１１−１の状態と、最新の操作者状態情報が示すユーザ１１−１の状態とに基づいて、ユーザ１１−１が操作をした後にロボット３１−１がどのような状態になっているかを推定する。そして、制御部１１５は、推定したロボット３１−１の状態に対応する一の仮想状態情報を選択する。このようにすることで、制御部１１５は、ロボット制御装置４１−１から送信されるロボット状態情報が遅延したとしても、受信部１３２がロボット状態情報を受信する前に仮想状態情報に基づく感覚を操作者に付与することができる。したがって、ユーザ１１−１がロボット３１−１を操作しやすくなる。
【００９２】
制御部１１５は、直前にユーザ１１−１に提供していたロボット状態情報としての画像に含まれるロボット３１−１の画像を抽出し、抽出した画像を仮想状態情報が示すロボットの画像に置換した画像をユーザ１１−１に提供してもよい。このようにすることで、制御部１１５は、例えばロボット３１−１が物体をつかむ動作をしている場合に、物体をつかもうとしている仮想的なロボットの画像を含む画像をユーザ１１−１に提供することができる。
【００９３】
制御部１１５は、感覚付与部１１４に付与させたロボット状態情報に基づく感覚の内容を示す感覚履歴情報を記憶部１５１に記憶させてもよい。この場合、制御部１１５は、直前に記憶部１５１に記憶させた感覚履歴情報が示す感覚の内容に基づいて、複数の仮想状態情報から、操作者に感覚を付与するために用いる仮想状態情報を選択する。制御部１１５は、例えば、直前に記憶させた感覚履歴情報が示す感覚からの変化量が所定の範囲内に収まる仮想状態情報を選択する。このようにすることで、ユーザ１１−１に付与される感覚が急激に変化しないので、端末装置２１−１はユーザ１１−１が違和感を抱かないようにすることができる。
【００９４】
制御部１１５は、仮想状態情報に基づく感覚をユーザ１１−１に付与した後に、受信部１３２が受信したロボット状態情報に基づく感覚をユーザ１１−１に付与するように感覚付与部１１４を制御する。具体的には、制御部１１５は、例えば送信部１３１が操作者状態情報を送信してから受信部１３２がロボット状態情報を受信するまでに要する遅延時間内のロボット３１−１の動きが、ユーザ１１−１が感知可能な量よりも小さいと判定した場合に、ロボット３１−１の実際の状態に基づく感覚をユーザ１１−１に付与する。より具体的には、制御部１１５は、遅延時間内のロボット状態情報の変化量が閾値未満であると判定した場合に、仮想状態情報に基づく第１感覚の付与を停止し、ロボット状態情報に基づく第２感覚の付与に切り替える。このようにすることで、ロボット３１−１の動きが停止した時点で、ユーザ１１−１が、ロボット３１−１の実際の状態を把握することができる。
【００９５】
ここで、仮想状態情報が示す状態と、実際のロボット３１−１の状態とが完全に一致しているとは限らない。したがって、仮想状態情報に基づく第１感覚の付与を停止してロボット状態情報に基づく第２感覚の付与を開始すると、第１感覚と第２感覚との差が大きく、ユーザ１１−１が違和感を抱く場合がある。そこで、制御部１１５は、仮想状態情報に基づく第１感覚と、仮想状態情報に基づく感覚をユーザ１１−１に付与した後に受信部１３２が受信したロボット状態情報に基づく第２感覚との間に所定の大きさ以上の差がある場合、第１感覚と第２感覚との間を補間する感覚をユーザ１１−１に付与するように感覚付与部１１４を制御してもよい。
【００９６】
制御部１１５は、例えば第１感覚と第２感覚との間を補間するための複数の仮想状態情報を生成し、第１感覚から徐々に第２感覚に至るように感覚付与部１１４を制御する。第１感覚及び第２感覚が視覚である場合、制御部１１５は、ユーザ１１−１に提供する画像における第１感覚に対応する位置に含まれていたロボット３１−１の指先の画像が、徐々に第２感覚に対応する位置に向けて移動するように、複数の仮想的な画像をユーザ１１−１に提供する。このようにすることで、制御部１１５は、付与される感覚が急激に変化することによりユーザ１１−１が違和感を抱くことを防止できる。
【００９７】
制御部１１５は、バッファ１１２に蓄積された一以上のロボット状態情報の量が閾値以上である場合、ロボット状態情報に基づく感覚をユーザ１１−１に付与し、バッファ１１２に蓄積された一以上のロボット状態情報の量が閾値未満になった場合に、仮想状態情報に基づく感覚をユーザ１１−１に付与するように感覚付与部１１４を制御してもよい。このようにすることで、バッファ１１２に一時的に記憶するロボット状態情報の量を少なくした状態でロボット状態情報の伝送遅延が発生したとしても、ユーザ１１−１に対して仮想状態情報に基づく感覚を付与することができる。したがって、送信部１３１が操作者状態情報を送信してから受信部１３２がロボット状態情報を受信するまでに要する遅延時間を小さくすることが可能になり、ユーザ１１−１がロボット３１−１を制御しやすくなる。
【００９８】
制御部１１５は、送信部１３１がユーザ１１−１状態情報を送信してから受信部１３２がロボット状態情報を受信するまでの遅延の要因を特定してもよい。制御部１１５は、特定した要因に基づいて、記憶部１５１に記憶された仮想状態情報に基づく感覚をユーザ１１−１に付与するように感覚付与部１１４を制御するか、ネットワーク５１を介して受信した仮想状態情報に基づく感覚をユーザ１１−１に付与するように感覚付与部１１４を制御するかを決定する。ネットワーク５１を介して受信した仮想状態情報は、例えば、ロボット３１−１の状態を監視し、ロボット３１−１の状態に基づいて仮想状態情報を生成するロボット制御装置４１−１又はクラウド上のサーバから提供される仮想状態情報である。
【００９９】
ロボット制御装置４１−１又はクラウド上のサーバの処理能力又は記憶容量が端末装置２１−１よりも優れている場合、ロボット制御装置４１−１又はクラウド上のサーバは、記憶部１５１に記憶された仮想状態情報よりも高精度の（すなわち、実際のロボット３１−１の状態により近い）仮想状態情報を生成することができると考えられる。そこで、制御部１１５は、ネットワーク５１における遅延時間が閾値以下である場合にロボット制御装置４１−１又はクラウド上のサーバから提供される仮想状態情報を使用することで、実際のロボット３１−１の状態に近い感覚をユーザ１１−１に付与することできる。
【０１００】
なお、端末装置２１−１の制御部１１５とロボット制御装置４１−１の制御部２１５とは、ネットワーク５１を介して、自己の側における処理遅延時間の情報を互いに通信する。処理遅延時間は、ユーザ１１−１が操作してから端末装置２１−１が操作者状態情報を送信するまでの時間、及びロボット３１−１が状態を変化させてからロボット制御装置４１−１がロボット状態情報を送信するまでの時間である。制御部１１５及び制御部２１５は、取得した他方の遅延時間に基づいて、ユーザ１１−１の側とロボット３１−１の側との往復の遅延時間ＲＴＴの値を特定する。制御部１１５は、特定した遅延時間の値に基づいて、仮想状態情報に基づく感覚をユーザ１１−１に付与するか、ロボット状態情報に基づく感覚をユーザ１１−１に付与するかを決定する。
【０１０１】
また、ロボットシステム１は、ユーザ１１−１の状態を推定して生成された仮想操作者状態情報に基づいてロボット３１−１を制御してもよい。例えば、端末装置２１−１の送信部１３１が操作者状態情報を送信してから、当該操作者状態情報がロボット制御装置４１−１の受信部２３１に届くまでの遅延時間が所定の閾値以上である場合、ロボット制御装置４１−１の制御部２１５は、仮想操作者状態情報に基づいてロボット３１−１を制御する。仮想操作者状態情報は、例えば、直前の一以上の操作者状態情報に基づいて操作者の最新の状態を推定することにより生成された情報である。このようにすることで、ユーザ１１−１が行った操作に対するロボット３１−１のレスポンスを早めることができるので、操作性がさらに向上する。
【０１０２】
なお、制御部２１５が使用する仮想操作者状態情報は、記憶部２５１に記憶された複数の仮想操作者状態情報から選択された仮想操作者状態情報であってもよく、コンピュータグラフィックス（ＣＧ：Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ）により生成されたユーザ１１−１のモデルに基づいて生成された仮想操作者状態情報であってもよい。
【０１０３】
［ネットワークにおけるマルチストリームのデータの同期］
本実施形態では、ロボット制御装置４１−１から端末装置２１−１に向かう第２のセッションは、映像データ、音響データ、及び触覚データを含む。それぞれのメディアのデータの処理速度に応じて、それぞれのメディアのデータの遅延時間が異なり得る。これらのメディアのなかで、映像のデータの遅延時間が最も大きい。このため、本実施形態では、端末装置２１−１の制御部１１５及びロボット制御装置４１−１の制御部２１５は、映像データに含まれる各画像フレームに付与されている時間情報を遅延時間の参照値として使用する。
【０１０４】
一例として、ロボット制御装置４１−１の制御部２１５は、音響データ及び触覚データを、映像データを伝送する画像フレームのそれぞれに含める。このようにすることで、時間情報が付与されていない音響データ及び触覚データにも時間情報を関連づけることができる。
【０１０５】
他の例として、ロボット制御装置４１−１の制御部２１５は、タイムスタンプを用いて、映像データと音響データと触覚データを同期させてもよい。この場合、ロボット制御装置４１−１の制御部２１５は、各メディアのデータ又は通信フレームに、時刻を表すタイムスタンプを付与する。また、端末装置２１−１の制御部１１５及びロボット制御装置４１−１の制御部２１５は、タイムスタンプを参照する際におけるクロックとして、共通クロック源から供給されるクロック信号を用いてもよい。共通クロック源としては、例えば、第三者により提供されるものが用いられてもよく、ロボットシステム１が備える任意の装置（例えば、ネットワーク５１に接続された管理装置であるサーバ）により提供されるものが用いられてもよい。
【０１０６】
図７は、本発明の一実施形態に係る通信フレームＦ１〜Ｆｊ（ｊは２以上の整数であるとする）の概略的な構成を示すブロック図である。図７は、ロボット制御装置４１−１から送信される連続した複数（ｊ個）の通信フレームＦ１〜Ｆｊを示している。
【０１０７】
本実施形態では、通信フレームＦ１〜Ｆｊの通信速度が、６０［ｆｐｓ（フレーム／秒）］であるとする。通信フレームＦ１の送信時刻Ｔ１を０［ｍｓ］とすると、通信フレームＦｊの送信時刻Ｔｊは約｛１６．６６６６×（ｊ−１）｝［ｍｓ］となる。それぞれの通信フレームＦ１〜Ｆｊには、映像データ、イメージ化された音響データ、イメージ化された触覚データが含まれる。映像データには、例えば、左目の映像のデータ及び右目の映像データが含まれる。音響データには、例えば、左耳の音響データ及び右耳の音響データが含まれる。触覚のデータには、例えば、指先のデータが含まれる。
【０１０８】
それぞれの通信フレームＦ１〜Ｆｊには、送信される順に連続した通し番号（フレーム番号）の情報が含められている。端末装置２１−１及びロボット制御装置４１−１は、このような通し番号（フレーム番号）の情報に基づいて、それぞれの通信フレームＦ１〜Ｆｊのタイミングを特定することが可能である。なお、通信フレームの代わりに、通信パケットが用いられてもよい。
【０１０９】
制御部１１５及び制御部２１５は、ロボット制御装置４１−１から端末装置２１−１に向かう第２のセッションにおいて通信フレームＦ１〜Ｆｊの一部が損失しても、タイムアウト時間が経過したことに応じて、すべてのメディア（映像、音響、触覚）のデータを含む通信フレームの単位で、データを破棄したり再送制御をしたりすることが可能である。制御部１１５及び制御部２１５は、遅延時間が所定の閾値以下である場合に該当するデータを再送し、遅延時間が所定の閾値よりも大きい場合に該当するデータを破棄してもよい。
【０１１０】
［動きのバッファリング］
端末装置２１−１とロボット制御装置４１−１との間で送受信するデータは、伝送中に消失してしまう場合がある。このような場合にもユーザ１１−１が意図したとおりにロボット３１−１が動作するように、またユーザ１１−１の操作性を向上させるために、端末装置２１−１の制御部１１５は、バッファ１１２に記憶されたデータを用いて消失したデータを補間してもよい。これにより、端末装置２１−１の制御部１１５は、例えば、一部のデータが消失した場合においても、消失していない他のデータに基づいて消失したデータを推定して再現することができる。
【０１１１】
同様に、ロボット制御装置４１−１の制御部２１５は、バッファ２１２に記憶されたデータを用いて、データを補間することによって、任意の中間的なデータを補償することができる。これにより、ロボット制御装置４１−１の制御部２１５は、例えば、一部のデータが消失した場合においても、消失していない他のデータに基づいて消失したデータを推定して再現することが可能である。このような補間は、例えば、第１のセッションのデータと第２のセッションのデータとのうちの任意の一方又は両方に適用されてもよい。
【０１１２】
［ロボットシステム１の構成及び動作のまとめ］
以上のように、本実施形態に係るロボットシステム１は、テレイグジスタンスにおいて、バッファ１１２及びバッファ２１２を用いて、遅延を補償することで、高品質なロボット制御を実現することができる。ロボットシステム１は、例えば操作者状態情報及びロボット状態情報を一時的にバッファ１１２及びバッファ２１２に蓄積させることで、送信部１３１が操作者状態情報を送信してから受信部１３２がロボット状態情報を受信するまでに要する遅延時間の変動量を所定の範囲内に抑えることができる。このようにすることで、ロボットシステム１を使用するユーザ１１−１がロボット３１−１を操作しやすくなる。
【０１１３】
また、ロボットシステム１は、送信部１３１が操作者状態情報を送信してから受信部１３２がロボット状態情報を受信するまでに要する遅延時間が所定の時間よりも長い場合に、仮想状態情報に基づく感覚をユーザ１１−１に付与する。ロボットシステム１がこのような構成を有することで、ネットワーク５１におけるデータ伝送の遅延時間が長い場合であっても、ユーザ１１−１が操作をしてからロボット３１−１の状態に応じた感覚を得るまでの時間を短縮することができる。その結果、ユーザ１１−１が快適にロボット３１−１を制御することができるようになる。
【０１１４】
なお、ロボットシステム１は、ユーザ１１−１の側のバッファ１１２及びロボット３１−１の側のバッファ２１２のそれぞれにおける遅延時間を他の態様で制御してもよい。一例として、ロボットシステム１は、ユーザ１１−１の側のバッファ１１２及びロボット３１−１の側のバッファ２１２のそれぞれにおいて、双方向のデータ（第１セッションのデータ、第２セッションのデータ）を所定期間だけ保持して、当該所定期間ごとに当該データを出力するように制御されてもよい。当該所定期間は、例えば、最も遅延時間が長いメディアに応じて決定され、本例では、ロボット制御装置４１−１から端末装置２１−１に送信される映像データの遅延時間に基づいて決定される。
【０１１５】
ここで、ユーザ１１−１〜１１−ｎの数、端末装置２１−１〜２１−ｎの数、ロボット制御装置４１−１〜４１−ｎの数，ロボット３１−１〜３１−ｎの数は、それぞれ、任意の数であってもよい。例えば、ユーザ１１−１〜１１−ｎの数とロボット３１−１〜３１−ｎの数とは同じであってもよく、異なっていてもよい。
【０１１６】
また、本実施形態では、ユーザ１１−１の側において、バッファ１１２及びバッファ１１２における遅延時間を制御する制御部１１５が端末装置２１−１に備えられた構成を示したが、他の構成例として、バッファ１１２と、バッファ１１２における遅延時間の制御機能との一方又は両方が、端末装置２１−１とは別の制御装置に備えられてもよい。
【０１１７】
同様に、本実施形態では、ロボット３１−１の側において、バッファ２１２及びバッファ２１２における遅延時間を制御する制御部２１５がロボット制御装置４１−１に備えられた構成を示したが、このような構成に限らない。他の構成例として、バッファ２１２と、バッファ２１２における遅延時間の制御機能との一方又は両方が、端末装置２１−１とは別の制御装置に備えられてもよい。
【０１１８】
ここで、ロボットシステム１において、ユーザ１１−１の側で端末装置２１−１により映像、音響、触覚などのうちの１以上のデータを検出してロボット３１−１の側へ送信し、ロボット３１−１の側でロボット制御装置４１−１により当該データを受信して当該データに基づく感覚（視覚、聴覚、触覚など）を再現してもよい。この場合、端末装置２１−１は、例えば、検出部１１１として、映像を検出するセンサー（例えば、撮像装置（カメラ））、音響を検出するセンサー（例えば、マイク）、触覚を検出するセンサー（例えば、圧力センサー）などを備える。
【０１１９】
また、ロボット制御装置４１−１は、例えば、端末装置２１−１から受信された映像、音響、触覚などのデータに基づく感覚を再現する感覚再現部を備える。感覚再現部の機能は、例えば、ロボット駆動部２１３に備えられてもよく、ロボット駆動部２１３とは別に備えられてもよい。感覚再現部の機能の一部又は全部が、ロボット３１−１に装着されてもよい。この場合の感覚再現部は、例えば、映像を再現する映像表示器、音響を再現するスピーカー、触覚を再現する圧力などの発生器（動作発生器）などである。
【０１２０】
［変形例１］
ロボットシステム１においては、複数のユーザが１個の共通のロボットを制御してもよい。一例として、３人のユーザ１１−１〜１１−３が１個のロボット３１−１を制御する場合を示す。本例では、３人のユーザ１１−１〜１１−３のそれぞれの端末装置２１−１〜２１−３が、時分割でロボット制御装置４１−１と通信することで、ロボット３１−１を制御する。例えば、ロボット３１−１が複数の可動部分を備えており、３人のユーザ１１−１〜１１−３が、それぞれ、異なる可動部分を制御する。複数の可動部分は、例えば、複数のアームである。
【０１２１】
図８は、本発明の一実施形態に係る時分割の通信フレームＺ１〜Ｚ６の概略的な構成を示すブロック図である。図８は、複数の連続した通信フレームＺ１〜Ｚ６を示している。本例では、例えば、１人目のユーザ１１−１の端末装置２１−１は、１番目の通信フレームＺ１を用いてロボット制御装置４１−１と通信する。２人目のユーザ１１−２の端末装置２１−２は、２番目の通信フレームＺ２を用いてロボット制御装置４１−１と通信する。３人目のユーザ１１−３の端末装置２１−３は、３番目の通信フレームＺ３を用いてロボット制御装置４１−３と通信する。このように複数の端末装置２１−１〜２１−３が時分割で共通のロボット制御装置４１−１と通信することで、共通のロボット３１−１を制御する。
【０１２２】
［変形例２］
ロボットシステム１においては、１人のユーザが複数のロボットを制御してもよい。一例として、１人のユーザ１１−１が３個のロボット３１−１〜３１−３を制御する場合を示す。本例では、１人のユーザ１１−１の端末装置２１−１が、３個のロボット制御装置４１−１〜４１−３と時分割で通信することで、３個のロボット３１−１〜３１−３を制御する。
【０１２３】
図８の例を利用して説明する。本例では、例えば、１人のユーザ１１−１の端末装置２１−１は、１番目の通信フレームＺ１を用いて１個目のロボット３１−１のロボット制御装置４１−１と通信する。端末装置２１−１は、２番目の通信フレームＺ２を用いて２個目のロボット３１−２のロボット制御装置４１−２と通信する。端末装置２１−１は、３番目の通信フレームＺ３を用いて３個目のロボット３１−３のロボット制御装置４１−３と通信する。このように１個の端末装置２１−１が時分割で複数のロボット制御装置４１−１〜４１−３と通信することで、複数のロボット３１−１〜３１−３を制御する。
【０１２４】
［変形例３］
ロボットシステム１は、ネットワーク５１を介して端末装置２１−１〜２１−ｎ、およびロボット制御装置４１−１〜４１−ｎに接続された管理装置をさらに備えていてもよい。管理装置は例えばサーバである。
【０１２５】
管理装置６１は、ネットワーク５１に接続され、端末装置２１−１〜２１−ｎとロボット制御装置４１−１〜４１−ｎとの間で行われる通信を中継する。つまり、管理装置６１は、端末装置２１−１〜２１−ｎからネットワーク５１に送信された信号を受信して、当該信号をその宛先のロボット制御装置４１−１〜４１−ｎに送信し、また、ロボット制御装置４１−１〜４１−ｎからネットワーク５１に送信された信号を受信して、当該信号をその宛先の端末装置２１−１〜２１−ｎに送信する。
【０１２６】
このように、ロボットシステム１は、クラウド上に管理装置６１を備えて、端末装置２１−１〜２１−ｎとロボット制御装置４１−１〜４１−ｎとの間で行われる通信を管理してもよい。例えば、管理装置６１は、互いに対応する端末装置２１−１〜２１−ｎとロボット制御装置４１−１〜４１−ｎのそれぞれのアドレスの情報を記憶して、当該アドレスの情報に基づいて、これらの間で通信される信号を中継する。管理装置６１は、機械学習の機能を備えて、機械学習の結果に基づいて、ユーザ１１−１〜１１−ｎがロボット３１−１〜３１−ｎを制御する操作を補正してもよい。
【０１２７】
図２から図６までを参照しながら説明した実施形態では、端末装置２１−１がバッファ１１２及び当該バッファ１１２におけるデータの遅延時間を調整する機能を有していた。また、ロボット制御装置４１−１がバッファ２１２及び当該バッファ２１２におけるデータの遅延時間を調整する機能を有していた。これら２つの機能のうちの任意の一方又は両方が管理装置６１に備えられてもよい。
【０１２８】
一例として、管理装置６１は、端末装置２１−１の代わりに、バッファ１１２及び当該バッファ１１２におけるデータの遅延時間を調整する機能（この例において、説明の便宜上、機能Ｃ１という。）を備えてもよい。この場合、端末装置２１−１では、このような機能Ｃ１を備えなくてもよい。
【０１２９】
他の例として、管理装置６１は、ロボット制御装置４１−１の代わりに、バッファ２１２及び当該バッファ２１２におけるデータの遅延時間を調整する機能（この例において、説明の便宜上、機能Ｃ２という。）を備えてもよい。この場合、ロボット制御装置４１−１では、このような機能Ｃ２を備えなくてもよい。
【０１３０】
さらに、他の例として、管理装置６１は、機能Ｃ１と機能Ｃ２の両方を備えてもよい。特に、通信の遅延が小さい場合、管理装置６１が機能Ｃ１又は機能Ｃ２を備えることが好ましいと考えられる。例えば、端末装置２１−１からロボット制御装置４１−１へのネットワーク５１を介したデータ通信の遅延が、ロボット制御装置４１−１から端末装置２１−１へのネットワーク５１を介したデータ通信の遅延よりも小さい場合には、端末装置２１−１が機能Ｃ１を備えて、管理装置６１が機能Ｃ２を備える構成が用いられてもよい。
【０１３１】
図９は、ネットワーク５１を介して端末装置２１−１及びロボット制御装置４１−１と通信可能な管理装置６１を示す図である。管理装置６１は、遅延特定部６１１と、通知部６１２とを有する。遅延特定部６１１は、端末装置２１−１から操作者状態情報を受信した時刻と、ロボット制御装置４１−１からロボット状態情報を受信した時刻とに基づいて、端末装置２１−１が操作状態情報を送信してからロボット状態情報を受信するまでの遅延時間を特定する。通知部６１２は、遅延特定部６１１が特定した遅延時間を端末装置２１−１の制御部１１５に通知する。
【０１３２】
制御部１１５は、管理装置からの指示に基づいて仮想状態情報に基づく感覚をユーザ１１−１に付与することを決定してもよい。この場合、管理装置の遅延特定部６１１は、遅延時間が発生している要因を特定し、通知部６１２は、遅延特定部６１１が特定した要因がネットワーク５１の伝送遅延である場合に、端末装置２１−１の制御部１１５に対して、仮想状態情報に基づく感覚をユーザ１１−１に付与するように指示する。制御部１１５は、通知部６１２からの指示に基づいて、仮想状態情報に基づく感覚をユーザ１１−１に付与するように感覚付与部１１４を制御する。このように、制御部１１５は、管理装置からの指示に基づいて仮想状態情報に基づく感覚を付与することで、仮想状態情報又はロボット状態情報のうち、ネットワーク５１の遅延状態により適した情報に基づく感覚を付与することができる。
【０１３３】
なお、通知部６１２は、遅延特定部６１１が特定した要因がロボットの動作遅延である場合に、ロボット制御装置４１−１に対して、仮想状態情報を端末装置２１−１に送信するように指示してもよい。図１０は、ロボット制御装置４１−１が仮想状態情報をユーザ１１−１に提供するロボットシステム１を示す図である。ロボット制御装置４１−１は、例えば記憶部２５１に記憶された複数の仮想状態情報から選択した仮想状態情報を端末装置２１−１に提供する。ロボットシステム１がこのような構成を有することで、端末装置２１−１が仮想状態情報を記憶していない場合であっても、端末装置２１−１が仮想状態情報に基づく感覚をユーザ１１−１に付与することができる。
【０１３４】
［実施形態のまとめ］
ロボットシステム１においては、端末装置（図１の例では、端末装置２１−１〜２１−ｎ）が、ユーザ（図１の例では、ユーザ１１−１〜１１−ｎ）に関するデータを、ネットワーク（図１の例では、ネットワーク５１）を介してロボット制御装置（図１の例では、ロボット制御装置４１−１〜４１−ｎ）に送信する。そして、ロボット制御装置が当該データに基づいてロボット（図１の例では、ロボット３１−１〜３１−ｎ）を制御する。
【０１３５】
また、ロボット制御装置がロボットに関するデータを、ネットワークを介して端末装置に送信し、端末装置が当該データに基づいてユーザに感覚を付与する。端末装置とロボット制御装置との少なくとも一方は、送信対象のデータと受信されたデータとの少なくとも一方のデータを記憶するバッファ（図２、図３の例では、バッファ１１２、２１２）と、バッファにより記憶されるデータの遅延時間を制御する制御部（図２、図３の例では、制御部１１５、２１５）と、を備える。ロボットシステム１がこのような構成を有することにより、ロボットシステム１は、ユーザによるロボットの操作に支障が生じないように、データの伝送遅延を調整することができるので、テレイグジスタンスにおけるロボットの操作性を向上させることができる。
【０１３６】
一構成例として、制御部は、送信対象のデータと受信されたデータを伝送する際に、ネットワークとユーザとの間又はネットワークとロボットとの間における所定の伝送の遅延時間を所定の範囲内に制御する。
【０１３７】
一構成例として、ユーザに関するデータは、ユーザの動きに関するデータを含み、ロボットに関するデータは、ロボットにおける画像データ、音響データ、触覚データを含み、ロボット制御装置は、画像データと、音響データと、触覚データを共通の通信フレームに含めて通信する。一構成例として、端末装置とロボット制御装置との少なくとも一方について、バッファに記憶されたデータを用いてデータを補間する。
【０１３８】
一構成として、端末装置は、操作者状態情報を送信してからロボット状態情報を受信するまでに要する遅延時間が所定の時間以下である場合に、ロボット状態情報に基づく感覚をユーザに付与し、遅延時間が所定の時間よりも長い場合に、推定されたロボットの状態を示す仮想状態情報に基づく感覚をユーザに付与する。端末装置がこのように動作することで、遅延時間が長い場合においてもユーザがロボットの状態に応じた感覚を速やかに抱くことができるので、操作性が向上する。
【０１３９】
以上に示した実施形態に係る各装置（例えば、端末装置２１−１〜２１−ｎ又はロボット制御装置４１−１〜４１−ｎなど）の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体（記憶媒体）に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、処理を行ってもよい。
【０１４０】
なお、ここでいう「コンピュータシステム」とは、オペレーティング・システム（ＯＳ：Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）又は周辺機器等のハードウェアを含むものであってもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。なお、記録媒体としては、例えば、コンピュータと着脱可能な記録媒体であってもよい。また、記録媒体としては、例えば、一時的にデータを記録する記録媒体であってもよい。
【０１４１】
さらに、「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワーク又は電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））のように、一定時間プログラムを保持しているものも含むものとする。
【０１４２】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、又は伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）又は電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
【０１４３】
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【０１４４】
以上、本発明の実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【符号の説明】
【０１４５】
１…ロボットシステム、１１−１〜１１−ｎ…ユーザ、２１−１〜２１−ｎ…端末装置、３１−１〜３１−ｎ…ロボット、４１−１〜４１−ｎ…ロボット制御装置、５１…ネットワーク、１１１、２１４…検出部、１１２、２１２…バッファ、１１３、２１１…通信部、１１４…感覚付与部、１１５、２１５…制御部、１５１、２５１…記憶部、１３１、２３２…送信部、１３２、２３１…受信部、２１３…ロボット駆動部、３１１…頭部機器、３１２−１〜３１２−２、４１３−１〜４１３−２…指部機器、３１３−１〜３１３−２…胴部機器、３３１…視覚部、３３２−１〜３３２−２…音響部、４１１…視覚機器、４１２−１〜４１２−２…音響機器、７１１…仮想ロボット、Ｆ１〜Ｆｊ、Ｚ１〜Ｚ６…通信フレーム、Ｐ１〜Ｐ３、Ｐ１１〜Ｐ１３…伝送セッション
【図１】
2018212225.tif 000003
【図２】
2018212225.tif 000004
【図３】
2018212225.tif 000005
【図４】
2018212225.tif 000006
【図５】
2018212225.tif 000007
【図６Ａ】
2018212225.tif 000008
【図６Ｂ】
2018212225.tif 000009
【図７】
2018212225.tif 000010
【図８】
2018212225.tif 000011
【図９】
2018212225.tif 000012
【図１０】
2018212225.tif 000013
【国際調査報告】
2018212225.tif 000014
2018212225.tif 000015
2018212225.tif 000016
2018212225.tif 000017