(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-04
(45)【発行日】2022-03-14
(54)【発明の名称】感覚付与装置、ロボット制御システム、ロボット制御方法及びプログラム
(51)【国際特許分類】
B25J 3/00 20060101AFI20220307BHJP
H04N 21/438 20110101ALI20220307BHJP
H04N 21/44 20110101ALI20220307BHJP
B25J 19/00 20060101ALI20220307BHJP
【FI】
B25J3/00 A
H04N21/438
H04N21/44
B25J19/00 J
(21)【出願番号】P 2019518832
(86)(22)【出願日】2018-05-16
(86)【国際出願番号】 JP2018018883
(87)【国際公開番号】W WO2018212225
(87)【国際公開日】2018-11-22
【審査請求日】2021-02-16
(31)【優先権主張番号】P 2017098532
(32)【優先日】2017-05-17
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】517135833
【氏名又は名称】Telexistence株式会社
(74)【代理人】
【識別番号】100166006
【氏名又は名称】泉 通博
(74)【代理人】
【識別番号】100154070
【氏名又は名称】久恒 京範
(74)【代理人】
【識別番号】100153280
【氏名又は名称】寺川 賢祐
(72)【発明者】
【氏名】チャリス ラサンタ フェルナンド
(72)【発明者】
【氏名】舘 ▲すすむ▼
(72)【発明者】
【氏名】佐野 元紀
(72)【発明者】
【氏名】南澤 孝太
【審査官】杉田 隼一
(56)【参考文献】
【文献】特開2015-047666(JP,A)
【文献】特開2005-177958(JP,A)
【文献】特開2001-025986(JP,A)
【文献】米国特許出願公開第2011/0306986(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 3/00
H04N 21/438
H04N 21/44
B25J 19/00
(57)【特許請求の範囲】
【請求項1】
ロボットを操作する操作者の状態を示す操作者状態情報を前記ロボットに向けて送信する送信部と、
前記ロボットの状態を示すロボット状態情報を前記ロボットから受信する受信部と、
前記操作者に所定の感覚を付与する感覚付与部と、
前記送信部が前記操作者状態情報を送信してから前記受信部が前記ロボット状態情報を受信するまでに要する遅延時間が所定の時間以下である場合に、前記ロボット状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御し、前記遅延時間が前記所定の時間よりも長い場合に、推定された前記ロボットの状態を示す仮想状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御する制御部と、
を有
し、
前記制御部は、前記仮想状態情報に基づく第1感覚と、前記仮想状態情報に基づく感覚を前記操作者に付与した後に前記受信部が受信した前記ロボット状態情報に基づく第2感覚との間に所定の大きさ以上の差がある場合、前記第1感覚と前記第2感覚との間を補間する感覚を前記操作者に付与するように前記感覚付与部を制御する、
感覚付与装置。
【請求項2】
ロボットを操作する操作者の状態を示す操作者状態情報を前記ロボットに向けて送信する送信部と、
前記ロボットの状態を示すロボット状態情報を前記ロボットから受信する受信部と、
前記操作者に所定の感覚を付与する感覚付与部と、
前記送信部が前記操作者状態情報を送信してから前記受信部が前記ロボット状態情報を受信するまでに要する遅延時間が所定の時間以下である場合に、前記ロボット状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御し、前記遅延時間が前記所定の時間よりも長い場合に、推定された前記ロボットの状態を示す仮想状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御する制御部と、
を有し、
前記制御部は、それぞれ異なる状態に対応する複数の前記仮想状態情報を記憶する記憶部を有し、前記複数の仮想状態情報のうち、前記操作者状態情報が示す操作内容に基づいて特定される前記ロボットの位置に対応する前記仮想状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御し、
前記制御部は、前記送信部が前記操作者状態情報を送信してから前記受信部が前記ロボット状態情報を受信するまでの遅延の要因を特定し、特定した前記要因に基づいて、前記記憶部に記憶された前記仮想状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御するか、ネットワークを介して受信した前記仮想状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御するかを決定する、
感覚付与装置。
【請求項3】
前記制御部は、前記複数の仮想状態情報から一の仮想状態情報を選択するために、直前の前記操作者状態情報が示す前記操作者の状態と、最新の前記操作者状態情報が示す前記操作者の状態とに基づいて、前記操作者が操作をした後に前記ロボットがどのような状態になっているかを推定し、推定した前記ロボットの状態に対応する一の仮想状態情報を選択する、
請求項
2に記載の感覚付与装置。
【請求項4】
前記制御部は、前記感覚付与部に付与させた前記ロボット状態情報に基づく感覚の内容を示す感覚履歴情報を前記記憶部に記憶させ、直前に記憶させた前記感覚履歴情報が示す感覚の内容に基づいて、前記複数の仮想状態情報から、前記操作者に感覚を付与するために用いる仮想状態情報を選択する、
請求項
2又は3に記載の感覚付与装置。
【請求項5】
前記受信部が受信した一以上の前記ロボット状態情報を一時的に記憶した後に、前記一以上のロボット状態情報を順次、前記感覚付与部に出力するバッファ部をさらに有し、
前記制御部は、前記バッファ部に蓄積された前記一以上のロボット状態情報の量が閾値未満になった場合に、
前記仮想状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御する、
請求項1から
4のいずれか一項に記載の感覚付与装置。
【請求項6】
前記受信部が受信した一以上の前記ロボット状態情報を一時的に記憶した後に、前記一以上のロボット状態情報を順次、前記感覚付与部に出力するバッファ部をさらに有し、
前記制御部は、前記送信部が前記操作者状態情報を送信してから前記受信部が前記ロボット状態情報を受信するまでに要する遅延時間の変動量が所定の範囲内に収まるように、前記バッファ部に一時的に記憶する前記ロボット状態情報の量を制御する、
請求項1から
4のいずれか一項に記載の感覚付与装置。
【請求項7】
ロボットを操作する操作者の状態を示す操作者状態情報をネットワークに送信する感覚付与装置と、
前記ネットワークを介して受信した前記操作者状態情報に基づいて前記ロボットを制御するロボット制御装置と、
前記ネットワークを介してロボット制御装置及び前記感覚付与装置と通信可能な管理装置と、
を備え、
前記感覚付与装置は、
ロボットを操作する操作者の状態を示す操作者状態情報を前記ロボットに向けて送信する送信部と、
前記ロボットの状態を示すロボット状態情報を前記ロボットから受信する受信部と、
前記操作者に所定の感覚を付与する感覚付与部と、
前記送信部が前記操作者状態情報を送信してから前記受信部が前記ロボット状態情報を受信するまでに要する遅延時間が所定の時間以下である場合に、前記ロボット状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御し、前記遅延時間が前記所定の時間よりも長い場合に、推定された前記ロボットの状態を示す仮想状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御する制御部と、
を有し、
前記管理装置は、
前記遅延時間を特定する遅延特定部と、
前記遅延特定部が特定した前記遅延時間を前記制御部に通知する通知部と、
を有
し、
前記遅延特定部は、前記遅延時間が発生している要因を特定し、
前記通知部は、前記遅延特定部が特定した前記要因が前記ネットワークの伝送遅延である場合に、前記感覚付与装置に対して、前記仮想状態情報に基づく感覚を前記操作者に付与するように指示し、
前記感覚付与装置の前記制御部は、前記仮想状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御する、
ロボット制御システム。
【請求項8】
前記通知部は、前記遅延特定部が特定した前記要因が前記ロボットの動作遅延である場合に、前記ロボット制御装置に対して、仮想状態情報を前記感覚付与装置に送信するように指示し、
前記感覚付与装置の前記制御部は、前記ロボット制御装置から受信した前記仮想状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御する、
請求項
7に記載のロボット制御システム。
【請求項9】
コンピュータが実行する、
ロボットを操作する操作者の状態を示す操作者状態情報を前記ロボットに向けて送信するステップと、
前記操作者状態情報を送信してから前記ロボットの状態を示すロボット状態情報を受信するまでに要する遅延時間が所定の時間以下であるか否かを判定するステップと、
前記遅延時間が前記所定の時間以下である場合に、前記ロボット状態情報に基づく感覚を前記操作者に付与し、前記遅延時間が前記所定の時間よりも長い場合に、推定された前記ロボットの状態を示す仮想状態情報に基づく感覚を前記操作者に付与するステップと、
を有し、
前記仮想状態情報に基づく感覚を前記操作者に付与するステップにおいて、前記仮想状態情報に基づく第1感覚と、前記仮想状態情報に基づく感覚を前記操作者に付与した後に受信した前記ロボット状態情報に基づく第2感覚との間に所定の大きさ以上の差がある場合、前記第1感覚と前記第2感覚との間を補間する感覚を前記操作者に付与する、
ロボット制御方法。
【請求項10】
コンピュータが実行する、
ロボットを操作する操作者の状態を示す操作者状態情報を前記ロボットに向けて送信するステップと、
前記操作者状態情報を送信してから前記ロボットの状態を示すロボット状態情報を受信するまでに要する遅延時間が所定の時間以下であるか否かを判定するステップと、
前記遅延時間が前記所定の時間以下である場合に、前記ロボット状態情報に基づく感覚を前記操作者に付与し、前記遅延時間が前記所定の時間よりも長い場合に、推定された前記ロボットの状態を示す仮想状態情報に基づく感覚を前記操作者に付与するステップと、
を有し、
前記仮想状態情報に基づく感覚を前記操作者に付与するステップにおいて、
前記操作者状態情報を送信してから前記ロボット状態情報を受信するまでの遅延の要因を特定し、特定した前記要因に基づいて、それぞれ異なる状態に対応する複数の前記仮想状態情報を記憶する記憶部に記憶された前記仮想状態情報に基づく感覚を前記操作者に付与するか、ネットワークを介して受信した前記仮想状態情報に基づく感覚を前記操作者に付与するかを決定し、特定した前記要因が前記ネットワークの伝送遅延である場合に、前記記憶部に記憶された前記複数の仮想状態情報のうち、前記操作者状態情報が示す操作内容に基づいて特定される前記ロボットの位置に対応する前記仮想状態情報に基づく感覚を前記操作者に付与する、
ロボット制御方法。
【請求項11】
コンピュータに、
ロボットを操作する操作者の状態を示す操作者状態情報を前記ロボットに向けて送信するステップと、
前記操作者状態情報を送信してから前記ロボットの状態を示すロボット状態情報を受信するまでに要する遅延時間が所定の時間以下であるか否かを判定するステップと、
前記遅延時間が前記所定の時間以下である場合に、前記ロボット状態情報に基づく感覚を前記操作者に付与し、前記遅延時間が前記所定の時間よりも長い場合に、推定された前記ロボットの状態を示す仮想状態情報に基づく感覚を前記操作者に付与するステップと、
を実行させ
、
前記仮想状態情報に基づく感覚を前記操作者に付与するステップにおいて、前記仮想状態情報に基づく第1感覚と、前記仮想状態情報に基づく感覚を前記操作者に付与した後に受信した前記ロボット状態情報に基づく第2感覚との間に所定の大きさ以上の差がある場合、前記第1感覚と前記第2感覚との間を補間する感覚を前記操作者に付与させる、
プログラム。
【請求項12】
コンピュータに、
ロボットを操作する操作者の状態を示す操作者状態情報を前記ロボットに向けて送信するステップと、
前記操作者状態情報を送信してから前記ロボットの状態を示すロボット状態情報を受信するまでに要する遅延時間が所定の時間以下であるか否かを判定するステップと、
前記遅延時間が前記所定の時間以下である場合に、前記ロボット状態情報に基づく感覚を前記操作者に付与し、前記遅延時間が前記所定の時間よりも長い場合に、推定された前記ロボットの状態を示す仮想状態情報に基づく感覚を前記操作者に付与するステップと、
を実行させ
、
前記仮想状態情報に基づく感覚を前記操作者に付与するステップにおいて、
前記操作者状態情報を送信してから前記ロボット状態情報を受信するまでの遅延の要因を特定させ、特定した前記要因に基づいて、それぞれ異なる状態に対応する複数の前記仮想状態情報を記憶する記憶部に記憶された前記仮想状態情報に基づく感覚を前記操作者に付与するか、ネットワークを介して受信した前記仮想状態情報に基づく感覚を前記操作者に付与するかを決定させ、特定した前記要因が前記ネットワークの伝送遅延である場合に、前記記憶部に記憶された前記複数の仮想状態情報のうち、前記操作者状態情報が示す操作内容に基づいて特定される前記ロボットの位置に対応する前記仮想状態情報に基づく感覚を前記操作者に付与させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、感覚付与装置、ロボット制御システム、ロボット制御方法及びプログラムに関する。
【背景技術】
【0002】
バーチャルリアリティの一分野として、テレイグジスタンス(Telexistence)が知られている。テレイグジスタンスは、人に遠隔臨場感又は遠隔存在感を抱かせる技術であるとも言われる。テレイグジスタンスは、遠隔地にある物又は人が近くにあるかのようにユーザに感じさせながら、ユーザにより物又は人に対する操作をリアルタイムに行う環境を提供する。
【0003】
ネットワークを介してテレイグジスタンスによりリアルタイムにロボットを操作するためには、高速なネットワークが必要であり、ネットワークにはレイテンシー(latency)が非常に低いこと及びデータの消失が生じないことが求められる。しかしながら、データが伝送されるネットワークによっては、伝送遅延が発生したりデータの消失が発生したりする場合がある。
【0004】
転送されるデータが一方向に伝送され、かつ転送されるデータが1つのデータである場合には、動的にレートを制御するストリーミングのアルゴリズムを使用して、そのデータ及びストリームをバッファに一時的に記憶させることで、伝送遅延及びデータの消失の影響を軽減できる。また、WebRTC(Web Real-Time Communication)又はHLS(HTTP Live Streaming)といったストリーミングのプロトコルを用いることで、高品質な音響及び映像のメディアを同期して一方向に送信することが可能である。
【先行技術文献】
【特許文献】
【0005】
【非特許文献】
【0006】
【文献】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.
【発明の概要】
【発明が解決しようとする課題】
【0007】
テレイグジスタンスにおいては、ユーザがあたかもロボットの中にいるかのような感覚でロボットを操作できるようにするために、インターネット上の複数のエンドポイントの間で、複数のストリーミングのメディアを双方向に同期して送信又は受信することが要求される。複数のメディアは、例えば、動きのデータ、音響、映像、又は触覚を示すデータなどである。
【0008】
従来の技術では、テレイグジスタンスにおいて、ロボットの操作者が操作を行ってからロボットが動作するまでに遅延が生じた場合、ロボットの制御が困難になる場合があった。例えば、遅延が大きいと、操作者が想定している状況と、ロボットに設けられた撮像装置を介して操作者が視認する状況とが一致していないことで、操作者にめまいが生じてしまい、操作者がロボットの制御を継続することが困難になってしまう。遅延は、例えば、ネットワークを介したデータ通信において発生する遅延、データのエンコード及びデコードの処理が行われることによって発生する遅延、データについてA/D(Analog to Digital)変換の処理が行われることによって発生する遅延(例えば、サンプリングによる遅延)、機械的な遅延(メカ的な遅延)などである。
【0009】
本発明は、このような事情を考慮してなされたものであり、テレイグジスタンスにおける操作性を向上させことができる感覚付与装置、ロボット制御システム及びロボット制御方法を提供することを課題とする。
【課題を解決するための手段】
【0010】
本発明の第1の態様の感覚付与装置は、ロボットを操作する操作者の状態を示す操作者状態情報を前記ロボットに向けて送信する送信部と、前記ロボットの状態を示すロボット状態情報を前記ロボットから受信する受信部と、前記操作者に所定の感覚を付与する感覚付与部と、前記送信部が前記操作者状態情報を送信してから前記受信部が前記ロボット状態情報を受信するまでに要する遅延時間が所定の時間以下である場合に、前記ロボット状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御し、前記遅延時間が前記所定の時間よりも長い場合に、推定された前記ロボットの状態を示す仮想状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御する制御部と、を有する。
【0011】
前記制御部は、前記仮想状態情報に基づく感覚を前記操作者に付与した後に、前記受信部が受信した前記ロボット状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御してもよい。
【0012】
前記制御部は、前記仮想状態情報に基づく第1感覚と、前記仮想状態情報に基づく感覚を前記操作者に付与した後に前記受信部が受信した前記ロボット状態情報に基づく第2感覚との間に所定の大きさ以上の差がある場合、前記第1感覚と前記第2感覚との間を補間する感覚を前記操作者に付与するように前記感覚付与部を制御してもよい。
【0013】
前記受信部が受信した一以上の前記ロボット状態情報を一時的に記憶した後に、前記一以上のロボット状態情報を順次、前記感覚付与部に出力するバッファ部をさらに有し、前記制御部は、前記バッファ部に蓄積された前記一以上のロボット状態情報の量が閾値未満になった場合に、仮想状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御してもよい。
【0014】
前記受信部が受信した一以上の前記ロボット状態情報を一時的に記憶した後に、前記一以上のロボット状態情報を順次、前記感覚付与部に出力するバッファ部をさらに有し、前記制御部は、前記送信部が前記操作者状態情報を送信してから前記受信部が前記ロボット状態情報を受信するまでに要する遅延時間の変動量が所定の範囲内に収まるように、前記バッファ部に一時的に記憶する前記ロボット状態情報の量を制御してもよい。
【0015】
前記制御部は、それぞれ異なる状態の前記ロボットに対応する複数の前記仮想状態情報を記憶する記憶部を有し、前記操作者状態情報に基づいて前記複数の仮想状態情報から選択した仮想状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御してもよい。
【0016】
前記記憶部は、それぞれ異なる状態の前記ロボットが撮影した画像に相当する仮想画像を含む前記複数の仮想状態情報を記憶し、前記制御部は、前記複数の仮想状態情報のうち、前記操作者状態情報が示す操作内容に基づいて特定される前記ロボットの位置に対応する前記仮想画像が含まれる仮想状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御してもよい。
【0017】
前記制御部は、前記複数の仮想状態情報から一の仮想状態情報を選択するために、直前の前記操作者状態情報が示す前記操作者の状態と、最新の前記操作者状態情報が示す前記操作者の状態とに基づいて、前記操作者が操作をした後に前記ロボットがどのような状態になっているかを推定し、推定した前記ロボットの状態に対応する一の仮想状態情報を選択してもよい。
【0018】
前記制御部は、前記感覚付与部に付与させた前記ロボット状態情報に基づく感覚の内容を示す感覚履歴情報を前記記憶部に記憶させ、直前に記憶させた前記感覚履歴情報が示す感覚の内容に基づいて、前記複数の仮想状態情報から、前記操作者に感覚を付与するために用いる仮想状態情報を選択してもよい。
【0019】
前記制御部は、前記送信部が前記操作者状態情報を送信してから前記受信部が前記ロボット状態情報を受信するまでの遅延の要因を特定し、特定した前記要因に基づいて、前記記憶部に記憶された前記仮想状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御するか、ネットワークを介して受信した前記仮想状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御するかを決定してもよい。
【0020】
本発明の第2の態様のロボット制御システムは、ロボットを操作する操作者の状態を示す操作者状態情報をネットワークに送信する感覚付与装置と、前記ネットワークを介して受信した前記操作者状態情報に基づいて前記ロボットを制御するロボット制御装置と、前記ネットワークを介してロボット制御装置及び前記感覚付与装置と通信可能な管理装置と、を備える。前記感覚付与装置は、ロボットを操作する操作者の状態を示す操作者状態情報を前記ロボットに向けて送信する送信部と、前記ロボットの状態を示すロボット状態情報を前記ロボットから受信する受信部と、前記操作者に所定の感覚を付与する感覚付与部と、前記送信部が前記操作者状態情報を送信してから前記受信部が前記ロボット状態情報を受信するまでに要する遅延時間が所定の時間以下である場合に、前記ロボット状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御し、前記遅延時間が前記所定の時間よりも長い場合に、推定された前記ロボットの状態を示す仮想状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御する制御部と、を有する。前記管理装置は、前記遅延時間を特定する遅延特定部と、前記遅延特定部が特定した前記遅延時間を前記制御部に通知する通知部と、を有する。
【0021】
前記遅延特定部は、前記遅延時間が発生している要因を特定し、前記通知部は、前記遅延特定部が特定した前記要因が前記ネットワークの伝送遅延である場合に、前記感覚付与装置に対して、前記仮想状態情報に基づく感覚を前記操作者に付与するように指示し、前記感覚付与装置の前記制御部は、前記仮想状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御してもよい。
【0022】
前記通知部は、前記遅延特定部が特定した前記要因が前記ロボットの動作遅延である場合に、前記ロボット制御装置に対して、仮想状態情報を前記感覚付与装置に送信するように指示し、前記感覚付与装置の前記制御部は、前記ロボット制御装置から受信した前記仮想状態情報に基づく感覚を前記操作者に付与するように前記感覚付与部を制御してもよい。
【0023】
本発明の第3の態様のロボット制御方法は、コンピュータが実行する、ロボットを操作する操作者の状態を示す操作者状態情報を前記ロボットに向けて送信するステップと、前記操作者状態情報を送信してから前記ロボットの状態を示すロボット状態情報を受信するまでに要する遅延時間が所定の時間以下であるか否かを判定するステップと、前記遅延時間が前記所定の時間以下である場合に、前記ロボット状態情報に基づく感覚を前記操作者に付与し、前記遅延時間が前記所定の時間よりも長い場合に、推定された前記ロボットの状態を示す仮想状態情報に基づく感覚を前記操作者に付与するステップと、を有する。
【0024】
本発明の第4の態様のプログラムは、コンピュータに、ロボットを操作する操作者の状態を示す操作者状態情報を前記ロボットに向けて送信するステップと、前記操作者状態情報を送信してから前記ロボットの状態を示すロボット状態情報を受信するまでに要する遅延時間が所定の時間以下であるか否かを判定するステップと、前記遅延時間が前記所定の時間以下である場合に、前記ロボット状態情報に基づく感覚を前記操作者に付与し、前記遅延時間が前記所定の時間よりも長い場合に、推定された前記ロボットの状態を示す仮想状態情報に基づく感覚を前記操作者に付与するステップと、を実行させる。
【発明の効果】
【0025】
本発明によれば、テレイグジスタンスにおける操作性を向上させることができる。
【図面の簡単な説明】
【0026】
【
図1】本発明の一実施形態に係るロボットシステムの概略的な構成を示すブロック図である。
【
図2】本発明の一実施形態に係る端末装置の概略的な構成を示すブロック図である。
【
図3】本発明の一実施形態に係るロボット制御装置の概略的な構成を示すブロック図である。
【
図4】本発明の一実施形態に係る端末装置及びロボット制御装置におけるバッファによる遅延時間の調整方法を説明するための図である。
【
図5】本発明の一実施形態に係るロボットシステムにおける仮想的なロボットのイメージを示すブロック図である。
【
図6A】本発明の一実施形態に係るロボットシステムにおいて提供される仮想状態情報について説明するための図である。
【
図6B】本発明の一実施形態に係るロボットシステムにおいて提供される仮想状態情報について説明するための図である。
【
図7】本発明の一実施形態に係る通信フレームの概略的な構成を示すブロック図である。
【
図8】本発明の一実施形態に係る時分割の通信フレームの概略的な構成を示すブロック図である。
【
図9】ネットワークを介して端末装置及びロボット制御装置と通信可能な管理装置を示す図である。
【
図10】本発明の一実施形態に係るロボットシステムにおいて提供される仮想状態情報について説明するための図である。
【発明を実施するための形態】
【0027】
以下、図面を参照し、本発明の実施形態について説明する。
【0028】
[ロボットシステムの概要]
図1は、本発明の一実施形態に係るロボットシステム1の概略的な構成を示すブロック図である。
ロボットシステム1は、n(nは2以上の整数であるとする。)個の端末装置21-1~21-nと、n個のロボット31-1~31-nと、n個のロボット制御装置41-1~41-nと、ネットワーク51と、を備える。ネットワーク51は、例えば、インターネットであるが、他の任意のネットワークであってもよい。ネットワーク51は、例えば、有線のネットワークが用いられてもよく、無線のネットワークが用いられてもよく、又は、有線と無線の両方を含むネットワークが用いられてもよい。
【0029】
図1には、n人のユーザ11-1~11-nと、n個のロボット31-1~31-n(nは1以上の整数)を示している。ロボット31-1~31-nのそれぞれは、例えば、全体が人型のロボット、又は、部分的に人型のロボットである。部分的に人型のロボットは、例えば、上半身の部分、下半身の部分、又は腕の部分などのように、全体の一部分が人型であり、他の部分が人型ではないロボットである。ロボット31-1~31-nのそれぞれは、他の任意の形態のロボットであってもよい。なお、ロボット31-1~31-nは、例えば、ROS(Robot Operating System)の機能を有してもよい。
【0030】
ここで、
図1の例では、それぞれのユーザ11-1~11-nと、それぞれの端末装置21-1~21-nと、が対応付けられている。また、
図1の例では、それぞれのロボット31-1~31-nと、それぞれのロボット制御装置41-1~41-nと、が対応付けられている。また、
図1の例では、それぞれの端末装置21-1~21-nと、それぞれのロボット制御装置41-1~41-nと、が対応付けられている。このように、
図1の例では、1人のユーザ11-i(iは1以上n以下の任意の整数であるとする。)と、1個の端末装置21-iと、1個のロボット31-iと、1個のロボット制御装置41-iとが対応付けられている。
【0031】
本実施形態では、n個の端末装置21-1~21-nは同等の機能を有しており、n個のロボット制御装置41-1~41-nは同等の機能を有しており、n個のロボット31-1~31-nは同等の機能を有している。また、n人のユーザ11-1~11-nは、それぞれ異なる人であるが、対応するそれぞれのロボット31-1~31-nを操作するという点では同等の機能を有している。このため、以下では、1人のユーザ11-1、1個の端末装置21-1、1個のロボット31-1、及び1個のロボット制御装置41-1の組み合わせを例として説明する。
【0032】
[端末装置の概要]
図2は、本発明の一実施形態に係る端末装置21-1の概略的な構成を示すブロック図である。端末装置21-1は、ユーザ11-1の状態を検出するとともに、ユーザ11-1に対して各種の感覚を付与する感覚付与装置として機能する。端末装置21-1がユーザ11-1に付与する感覚は任意であるが、例えば視覚、聴覚、触覚、又は力覚である。端末装置21-1は、ロボット制御装置41-1を介して取得したロボット31-1の状態に基づく感覚をユーザ11-1に付与する。
【0033】
端末装置21-1は、検出部111と、バッファ112と、通信部113と、感覚付与部114と、制御部115を備える。通信部113は、送信部131と、受信部132を備える。制御部115は、ROM(Read Only Memory)及びRAM(Random Access Memory)を含む記憶部151を備える。
【0034】
検出部111は、ユーザ11-1の状態を検出する。検出部111により検出される状態は、例えば、ユーザ11-1の指の動き、ユーザ11-1の胴体の動き、又はユーザの目(例えば、視線)の動きである。
【0035】
検出部111は、例えば、検出対象の状態を検出するセンサーを有する。一例として、検出部111は、頭部用のセンサー、指部用のセンサー、及び胴部用のセンサーを備える。頭部用のセンサーは、例えば、ユーザ11-1に対して映像及び音響を提供するヘッドマウントディスプレイに備えられている。ヘッドマウントディスプレイは、例えば、ユーザの目(例えば、視線)の動きを検出するセンサーを有する。当該センサーは、左目の動きと右目の動きとを別々に検出してもよい。
【0036】
センサーは、例えば、ユーザ11-1に装着されるセンサー形態のセンサーであるが、ユーザ11-1に装着されない形態のセンサーであってもよい。ユーザ11-1に装着されない形態のセンサーは、例えば、ユーザ11-1の一部又は全部の画像(例えば映像)を撮像する撮像装置(例えばカメラ)である。
【0037】
バッファ112は、データを一時的に記憶するメモリである。本実施形態では、バッファ112は、送信部131による送信対象のデータを一時的に記憶する機能と、受信部132により受信されたデータを一時的に記憶する機能を有している。なお、これら2つの機能のそれぞれに対して異なるバッファが備えられてもよい。バッファ112は、受信部132が受信した一以上のロボット状態情報を一時的に記憶した後に、一以上のロボット状態情報を順次、感覚付与部114に出力する。ロボット状態情報は、ロボット31-1の状態を示す情報であり、例えば、ロボット31-1が撮影した画像、ロボット31-1が検出した圧力、又はロボット31-1が検出した温度を示す情報である。
【0038】
また、バッファ112は、検出部111が検出した操作者の状態を示す操作者状態情報を一時的に記憶した後に、一以上の操作者状態情報を順次、送信部131に出力する。操作者状態情報は、例えば、ユーザ11-1が身体に装着したセンサーを用いて検出されたユーザ11-1の身体の位置を示す情報である。
【0039】
通信部113は、端末装置21-1に対応するロボット制御装置41-1との間で通信する。通信部113は、ネットワーク51を介してロボット制御装置41-1との間で通信する。また、通信部113は、WebRTCにより通信する。通信部113は、WebRTCにより、例えば、低遅延で、ハイフレームレートで通信することが可能である。
【0040】
送信部131は、バッファ112からロボット31-1を操作するユーザ11-1の状態を示す操作者状態情報を取得し、取得した操作者状態情報をロボット31-1に向けて送信する。具体的には、送信部131は、操作者状態情報を含む送信対象のデータをロボット制御装置41-1に送信する。
【0041】
受信部132は、ロボット制御装置41-1から送信されたデータとして、ロボット31-1の状態を示すロボット状態情報を受信する。受信部132は、受信したロボット状態情報をバッファ112に入力する。
【0042】
感覚付与部114は、受信部132により受信されたロボット状態情報に基づく感覚をユーザ11-1に与える。すなわち、感覚付与部114は、受信部132が受信したロボット31-1の状態を示すロボット状態情報に対応する感覚をユーザ11-1に付与する。
【0043】
感覚付与部114は、例えば、ユーザ11-1に感覚を付与する機器を有する。一例として、感覚付与部114は、ユーザ11-1に視覚を付与するために映像(Video)を表示する映像表示器、ユーザ11-1に聴覚を付与するために音響(Audio)を出力するスピーカー、ユーザ11-1に触覚(Haptics)を付与するために圧力又は振動を発生させる動作発生器を備えてもよい。映像表示器及びスピーカーは、例えば、頭部の機器(例えば、ヘッドマウントディスプレイ)に備えられる。ユーザ11-1に感覚を付与する機器は、ユーザ11-1に装着される機器であってもよく、ユーザ11-1に装着されない機器であってもよい。検出部111と感覚付与部114は、一部又は全部が同一の機器に含まれていてもよい。
【0044】
制御部115は、端末装置21-1における各種の制御を行う。制御部115は、例えば、CPU(Central Processing Unit)、及びデータを記憶する記憶部151を備える。制御部115は、例えば、記憶部151に記憶されたパラメーターを使用して、記憶部151に記憶されたプログラムを実行することで、各種の制御を行う。
【0045】
本実施形態では、制御部115は、送信対象のデータをバッファ112により一時的に記憶する時間の長さを調整することが可能であり、また、受信されたデータをバッファ112により一時的に記憶する時間の長さを調整することが可能である。
【0046】
ここで、端末装置21-1は、複数の機器から構成されてもよく、例えば、
図2に示される検出部111、バッファ112、通信部113、感覚付与部114及び制御部115を2個以上の機器に分散して備えてもよい。また、送信部131と受信部132とが別の機器に備えられてもよい。一例として、端末装置21-1は、検出部111を備える機器と、感覚付与部114を備える機器と、バッファ112と通信部113と制御部115を備える機器を用いて構成されてもよい。また、検出部111を備える機器と、感覚付与部114を備える機器とは、一部又は全部が一体化されてもよい。
【0047】
[ロボット制御装置の概要]
図3は、本発明の一実施形態に係るロボット制御装置41-1の概略的な構成を示すブロック図である。ロボット制御装置41-1は、通信部211と、バッファ212と、ロボット駆動部213と、検出部214と、制御部215と、を備える。通信部211は、受信部231と、送信部232と、を備える。制御部215は、CPUと、ROM及びRAMを含む記憶部251と、を備える。
【0048】
通信部211は、ロボット制御装置41-1に対応する端末装置21-1との間で通信する。本実施形態では、通信部211はネットワーク51を介して通信する。通信部211は、例えばWebRTCにより通信する。受信部231は、端末装置21-1から送信された操作者状態情報等のデータを受信する。送信部232は、送信対象のロボット状態情報等のデータを端末装置21-1に送信する。
【0049】
バッファ212は、データを一時的に記憶するメモリである。本実施形態では、バッファ212は、送信部232による送信対象のロボット状態情報を一時的に記憶する機能と、受信部231により受信された操作者状態情報を一時的に記憶する機能を有している。なお、バッファ212は、これら2つの機能のそれぞれに対して異なるバッファを有してもよい。
【0050】
ロボット駆動部213は、端末装置21-1から受信された操作者状態情報に基づいて、ロボット制御装置41-1に対応するロボット31-1の駆動部を駆動させる。ここで、ロボット31-1の駆動部は、例えば、頭部を駆動させる駆動部、指部を駆動させる駆動部、又は胴部を駆動させる駆動部である。
【0051】
検出部214は、ロボット31-1の動きを検出する。検出部214が検出する動きは、例えば、ロボット31-1の指の動き、ロボット31-1の胴体の動き、又はロボット31-1の目(例えば、視線)の動きである。
【0052】
検出部214は、例えば、検出対象の状態を検出するセンサーを有する。一例として、検出部214は、頭部用のセンサー、指部用のセンサー、胴部用のセンサーを備える。頭部用のセンサーは、例えば、映像を撮像する撮像装置(カメラ)、又は音響を入力するマイクである。検出部214は、例えば、左目に対応する映像と右目に対応する映像とを別々に処理してもよい。
【0053】
センサーは、ロボット31-1に装着される形態のセンサーであってもよく、ロボット31-1に装着されない形態のセンサーであってもよい。ロボット31-1に装着されない形態のセンサーは、例えば、ロボット31-1の付近に設置されて、画像(例えば、映像)を撮像する撮像装置である。各種のデータは、例えば、A/D変換を用いたサンプリングにより取り込まれる。本実施形態では、検出部214により検出されたデータが、送信対象のロボット状態情報となる。なお、ロボット駆動部213と検出部214は、例えば、一部又は全部が共通の機器であってもよい。
【0054】
制御部215は、ロボット制御装置41-1における各種の制御を行う。制御部215は、例えば、CPUと、データを記憶する記憶部251と、を備える。制御部215は、例えば記憶部251に記憶されたパラメーターを使用して、記憶部251に記憶されたプログラムを実行することで、各種の制御を行う。本実施形態では、制御部215は、送信対象のロボット状態情報等のデータをバッファ212に一時的に記憶する時間の長さを調整することが可能であり、また、受信された操作者状態情報等のデータをバッファ212に一時的に記憶する時間の長さを調整することが可能である。
【0055】
ここで、ロボット制御装置41-1は複数の機器から構成されてもよく、例えば、
図3に示される通信部211、バッファ212、ロボット駆動部213、検出部214、及び制御部215が2個以上の機器に分散されて備えられてもよい。また、受信部231と送信部232とが別の機器に備えられてもよい。一例として、ロボット制御装置41-1は、ロボット駆動部213を備える機器と、検出部214を備える機器と、通信部211とバッファ212と制御部215を備える機器を用いて構成されてもよい。また、ロボット駆動部213を備える機器と、検出部214を備える機器とは、一部又は全部が一体化されてもよい。
【0056】
[端末装置及びロボット制御装置における動作の概要]
端末装置21-1は、ユーザ11-1の状態を検出部111により検出し、検出されたデータを含む操作者状態情報を、ネットワーク51を介してロボット制御装置41-1に送信する。ロボット制御装置41-1は、端末装置21-1から送信された操作者状態情報をネットワーク51を介して受信し、受信された操作者状態情報に基づいてロボット駆動部213によりロボット31-1を駆動させる。ロボット31-1は、ロボット制御装置41-1のロボット駆動部213により駆動されて動作する。
【0057】
ロボット制御装置41-1は、ロボット31-1の状態を検出部214により検出し、検出されたデータを含むロボット状態情報を、ネットワーク51を介して端末装置21-1に送信する。端末装置21-1は、ロボット制御装置41-1から送信されたロボット状態情報をネットワーク51を介して受信し、受信されたロボット状態情報に基づいて感覚付与部114によりユーザ11-1に対して感覚を付与する。
【0058】
ここで、本実施形態では、ユーザ11-1により使用される前に、又はユーザ11-1により使用される際に、端末装置21-1とロボット制御装置41-1とが対応付けられる。端末装置21-1には自装置(当該端末装置21-1)に対応するロボット制御装置41-1のアドレスの情報が記憶され、ロボット制御装置41-1には自装置(当該ロボット制御装置41-1)に対応する端末装置21-1のアドレスの情報が記憶される。そして、互いに対応する端末装置21-1とロボット制御装置41-1が、記憶されたアドレスの情報を使用して、例えば当該アドレスの情報を送信対象の信号に含めることで、互いを通信相手として通信する。
【0059】
[端末装置及びロボット制御装置におけるバッファによる遅延時間の調整]
図4は、本発明の一実施形態に係る端末装置21-1及びロボット制御装置41-1におけるバッファによる遅延時間の調整方法を説明するための図である。
図4は、ユーザ11-1と、端末装置21-1の構成部である頭部機器311、指部機器312-1~312-2、胴部機器313-1~313-2と、端末装置21-1の構成部であるバッファ112を示している。また、
図4は、ロボット31-1と、ロボット制御装置41-1の構成部である視覚機器411、音響機器412-1~412-2、指部機器413-1~413-2と、ロボット制御装置41-1の構成部であるバッファ212を示している。
【0060】
ユーザ11-1は、頭部に頭部機器311を装着しており、右手の指に指部機器312-1を装着しており、左手の指に指部機器312-2を装着しており、右の胴部に胴部機器313-1を装着しており、左の胴部に胴部機器313-2を装着している。頭部機器311は、ユーザ11-1の両目に対応する位置に視覚部331を備えており、ユーザ11-1の右耳に対応する位置に音響部332-1を備えており、ユーザ11-1の左耳に対応する位置に音響部332-2を備えている。頭部機器311は、例えばヘッドマウントディスプレイである。視覚部331は、右目と左目のそれぞれごとにデータを処理する。
【0061】
ここで、頭部機器311、指部機器312-1~312-2、及び胴部機器313-1~313-2は、端末装置21-1の検出部111の機能を有している。頭部機器311は、頭部の動きを検出する。指部機器312-1~312-2は、左右それぞれの指の動きを検出する。胴部機器313-1~313-2は、胴部の動きを検出する。端末装置21-1は、頭部機器311、指部機器312-1~312-2、及び胴部機器313-1~313-2が検出した各部の動きに基づいて、ユーザ11-1の動き(姿勢の変化)を検出するモーションキャプチャの機能を実現する。
【0062】
なお、
図4の例では、ユーザ11-1が左右の胴部機器313-1~313-2を別々に備えるが、ユーザ11-1が左右の胴部機器313-1~313-2の代わりに、1個の胴部機器を備えてもよい。また、
図4は一例であり、検出部111としては、ユーザの状態を検出する他の任意の機器が用いられてもよく、例えば、人の指などを用いた操作内容を検出するタッチパネルが用いられてもよい。
【0063】
指部機器312-1~312-2、胴部機器313-1~313-2、視覚部331、及び音響部332-1~332-2は、端末装置21-1の感覚付与部114の機能を有している。指部機器312-1~312-2は、それぞれの指に触覚を与える機能を有している。胴部機器313-1~313-2は、胴部に触覚を与える機能を有している。視覚部331は、ユーザ11-1の両目(左右それぞれの目)に視覚を与える機能を有しており、例えば映像を表示する。音響部332-1~332-2は、ユーザ11-1の両耳(左右それぞれの耳)に聴覚を与える機能を有しており、例えば音響を出力する。
図4は一例であり、感覚付与部114は、ユーザに他の感覚を付与する任意の機器であってもよい。
【0064】
ロボット31-1は、人における両目に対応する位置に視覚機器411が装着されており、人における右耳に対応する位置に音響機器412-1が装着されており、人における左耳に対応する位置に音響機器412-2が装着されており、人における右手の指に対応する位置に指部機器413-1が装着されており、人における左手の指に対応する位置に指部機器413-2が装着されている。
【0065】
ここで、視覚機器411、音響機器412-1~412-2、及び指部機器413-1~413-2は、ロボット制御装置41-1の検出部214の機能を有している。視覚機器411は、例えば、撮像装置を有しており、視覚に関するデータとして、映像データを生成する。本実施形態では、視覚機器411は、右目と左目のそれぞれごとに映像のデータを処理する。音響機器412-1~412-2は、聴覚に関するデータとして音響データを生成する。
【0066】
指部機器413-1~413-2は、それぞれの指の触覚に関するデータを生成する。触覚に関するデータは、指部機器413-1~413-2が触れた場所の硬さ及び凹凸の程度を示すデータである。検出部214は、ロボット31-1と着脱可能な機器を含んでもよい。また、他の構成例として、検出部214は、ロボット31-1と一体化されて着脱できない機器を含んでもよい。この場合、当該機器はロボット31-1の一部であると捉えられてもよい。
【0067】
なお、
図4の例では、端末装置21-1の通信部113及び制御部115については、図示を省略している。また、
図4の例では、ロボット制御装置41-1の通信部211、ロボット駆動部213、制御部215については、図示を省略している。また、
図4の例では、説明の便宜上、バッファ112とバッファ212をそれぞれ単体で示しているが、必ずしもこの構成に限られず、バッファ112は端末装置21-1に備えられており、バッファ212はロボット制御装置41-1に備えられている。
【0068】
図4の例では、端末装置21-1の検出部111により検出されたユーザ11-1の状態を示す操作者状態情報は、伝送セッションP1、伝送セッションP2及び伝送セッションP3により、ロボット制御装置41-1の制御部215又はロボット駆動部213に伝えられる。伝送セッションP1は、端末装置21-1の制御部115又は検出部111から端末装置21-1のバッファ112までのセッションである。伝送セッションP2は、端末装置21-1のバッファ112からロボット制御装置41-1のバッファ212までのセッションである。伝送セッションP3は、ロボット制御装置41-1のバッファ212からロボット制御装置41-1の制御部215又はロボット駆動部213までのセッションである。
【0069】
また、ロボット制御装置41-1の検出部214により検出されたロボット31-1~31-nの状態を示すロボット状態情報は、伝送セッションP11、伝送セッションP12及び伝送セッションP13により、端末装置21-1の制御部115又は感覚付与部114に伝えられる。伝送セッションP11は、ロボット制御装置41-1のバッファ212までのセッションである。伝送セッションP12は、ロボット制御装置41-1のバッファ212から端末装置21-1のバッファ112までのセッションである。伝送セッションP13は、端末装置21-1のバッファ112から端末装置21-1の制御部115又は感覚付与部114までのセッションである。
【0070】
ここで、端末装置21-1のバッファ112とロボット制御装置41-1のバッファ212との間のデータ伝送は、端末装置21-1の通信部113とロボット制御装置41-1の通信部211によって、ネットワーク51を介して行われる。
【0071】
図4に示されるように、本実施形態では、端末装置21-1とロボット制御装置41-1との間における双方向のデータ通信として、主に2つのセッションがある。第1のセッションは、端末装置21-1からロボット制御装置41-1に向かう伝送セッションP1~P3を含むセッションである。第1のセッションにおいては、例えば、ユーザ11-1の状態を示す操作者状態情報が伝送される。操作者状態情報は、例えば、ユーザの目の動き、指の動き、又は胴の動きを示すデータを含む情報である。
【0072】
第2のセッションは、ロボット制御装置41-1から端末装置21-1に向かう伝送セッションP11~P13を含むセッションである。第2のセッションにおいては、例えば、ロボット31-1の状態を示す映像データ、音響データ、及び触覚データを含むロボット状態情報が伝送される。
【0073】
ロボット31-1はユーザ11-1の動きに合わせて動作する。ユーザ11-1はロボット31-1の位置における映像を見て音響を聞いて触覚を感じて動作を行う。ロボット31-1及びユーザ11-1は、これらの動作を繰り返す。
【0074】
本実施形態のロボットシステム1は、第1のセッション及び第2のセッションにおける双方向通信の遅延を補償する。制御部115は、例えば、送信部131がユーザ11-1状態情報を送信してから受信部132がロボット状態情報を受信するまでに要する遅延時間の変動量が所定の範囲内に収まるように、バッファ112に一時的に記憶するロボット状態情報の量を制御する。ここで、例えば、ユーザ11-1の側とロボット31-1の側とで、それぞれのセッションに関して異なる遅延時間が存在する場合がある。このような場合、ロボットシステム1は、ユーザ11-1の側とロボット31-1の側とで同期が取られた動きを実現するために、第1のセッション及び第2のセッションのそれぞれに対して異なる大きさの遅延時間を補償する。
【0075】
本例では、ユーザ11-1の側(端末装置21-1)からロボット31-1の側(ロボット制御装置41-1)に向かう伝送セッションP1~P3の合計遅延時間をLatMで表す。また、ロボット31-1の側(ロボット制御装置41-1)からユーザ11-1の側(端末装置21-1)に向かう伝送セッションP11~P13の合計遅延時間をLatNで表す。また、伝送セッションP1の遅延時間をLatMuで表し、伝送セッションP3の遅延時間をLatMrで表し、伝送セッションP11の遅延時間をLatNrで表し、伝送セッションP13の遅延時間をLatNuで表す。
【0076】
また、ユーザ11-1の動きを検出する機構(本実施形態では、端末装置21-1)における遅延時間をLatMmで表し、ロボット31-1を駆動させる機構(本実施形態では、ロボット制御装置41-1)における遅延時間をLatNmで表す。この場合、式(1)及び式(2)が成り立つ。
【0077】
[数1]
LatM = LatMu + LatMr + LatMm ・・(1)
[数2]
LatN = LatNr + LatNu + LatNm ・・(2)
【0078】
ユーザ11-1の側(一例として、端末装置21-1の制御部115の側)からロボット31-1の側を見た場合における、伝送セッションP1~P3及び伝送セッションP11~P13を含む全体的なラウンドトリップディレイタイム(ラウンドトリップの遅延時間)をRTTで表すと、式(3)が成り立つ。
【0079】
[数3]
RTT = LatM + LatN ・・(3)
このRTTが大きくなると、ユーザ11-1はめまいを感じて気分が悪くなる場合がある。RTTの変動量が大きい場合にも、ユーザ11-1は気分が悪くなる場合がある。
【0080】
そこで、本実施形態のロボットシステム1は、ネットワーク51の一方側であるユーザ11-1の側にバッファ112を備えるとともに、当該ネットワーク51の他方側であるロボット31-1の側にバッファ212を備え、バッファ112及びバッファ212のそれぞれにおけるデータの遅延時間を調整できるように構成されている。すなわち、ロボットシステム1は、ユーザ11-1の側とロボット31-1の側とのそれぞれにおいて、遅延時間を調整できる。
【0081】
ユーザ11-1の側では、式(4)が成り立つように、端末装置21-1の制御部115が、バッファ112におけるデータの遅延時間をリアルタイムで制御する。ロボット31-1の側では、式(5)が成り立つように、ロボット制御装置41-1の制御部215が、バッファ212におけるデータの遅延時間をリアルタイムで制御する。
【0082】
[数4]
LatMu ~ LatNu ・・(4)
[数5]
LatMr ~ LatNr ・・(5)
【0083】
ここで、式(4)及び式(5)において、「~」は同じ又は近いことを表す。つまり、式(4)が成り立つように、端末装置21-1の制御部115は、伝送セッションP1の遅延時間LatMuと伝送セッションP13の遅延時間LatNuとの差が所定の第1時間以内になるように遅延時間を制御する。また、式(5)が成り立つように、ロボット制御装置41-1の制御部215は、伝送セッションP3の遅延時間LatMrと伝送セッションP11の遅延時間LatNrとの差が所定の第2時間以内になるように遅延時間を制御する。所定の第1時間及び所定の第2時間は、例えば、ユーザ11-1によるロボット31-1の操作に支障が生じない時間の最大値である。
【0084】
ここで、本例では、ロボット制御装置41-1から端末装置21-1に送信される映像のデータが、他のメディアのデータ(音響のデータ、触覚のデータなど)と比べて、多くの伝送時間を要するとする。制御部115及び制御部215は、メディアの種類によらず、ユーザ11-1の側とロボット31-1の側との間の往復の遅延時間(本例では、RTT)の差が所定の範囲内(所定の時間内)に収まるように、バッファ112及びバッファ212における遅延時間を制御する。当該所定の時間は、最も長い伝送時間を要する映像のデータに基づいて定められており、例えば40msである。制御部115及び制御部215は、遅延時間の差が当該所定の時間内に収まっているメディアのデータについては、遅延時間を与えずにバッファ112及びバッファ212を通過(パススルー)させてもよい。
【0085】
[仮想的な感覚の付与]
ユーザ11-1の側とロボット31-1の側との間の往復の遅延時間の変動を抑制することにより操作性が向上するとしても、遅延時間が長いと、ユーザ11-1が違和感を抱くことがある。特に、ユーザ11-1が操作をしてから、ユーザ11-1の操作に応じて変化した後の姿勢でロボット31-1が撮影した映像をユーザ11-1が視認するまでの遅延時間が長いと、ユーザ11-1がめまいを感じやすくなる。そこで、端末装置21は、仮想的な感覚をユーザ11-1に付与することができるように構成されている。以下、端末装置21が仮想的な感覚として、ロボット31-1が視認している画像を推定することにより生成された仮想的な視認画像をユーザ11-1に視認させる実施の形態を例示する。仮想的な感覚は仮想的な視覚に限らず、仮想的な聴覚、仮想的な触覚、又は仮想的な力覚等の他の感覚であってもよい。
【0086】
図5は、本発明の一実施形態に係るロボットシステム1において仮想的な感覚を付与する構成のイメージを示すブロック図である。
図5は、頭部機器311などを装着したユーザ11-1と、仮想ロボット711とを示している。仮想ロボット711は、端末装置21-1のバッファ112に記憶されたデータにより仮想的な感覚を提供可能なロボットであり、ロボット31-1の状況を仮想的に再現するコンピュータを備える。本例では、端末装置21-1の制御部115は、あたかも仮想ロボット711との間でデータを送信しているかのように動作する。
【0087】
制御部115は、送信部131が操作者状態情報を送信してから受信部132がロボット状態情報を受信するまでに要する遅延時間(例えばRTT)が所定の時間以下である場合に、ロボット状態情報に基づく感覚を操作者としてのユーザ11-1に付与するように感覚付与部114を制御する。一方、制御部115は、遅延時間が所定の時間よりも長い場合に、推定されたロボット31-1の状態を示す仮想状態情報に基づく感覚をユーザ11-1に付与するように感覚付与部114を制御する。仮想状態情報は、ロボット状態情報と同様に、視覚、聴覚、触覚及び力覚を示すデータを含む。
【0088】
図6Aは、遅延時間が所定の時間未満である場合のロボットシステム1の動作について説明するための図である。
図6Bは、遅延時間が所定の時間よりも長い場合のロボットシステム1の動作について説明するための図である。
図6Aに示すように、ユーザ11-1の操作に支障がない程度に遅延時間が小さい場合、端末装置21-1のバッファ112を介してロボット状態情報がユーザ11-1に付与される。これに対して、
図6Bに示すようにユーザ11-1の操作に支障が生じる程度に遅延時間が長い場合、端末装置21-1からユーザ11-1には、例えば記憶部151に記憶された仮想状態情報がユーザ11-1に付与される。以下、端末装置21-1が仮想状態情報を付与する動作の詳細を説明する。
【0089】
制御部115は、例えば記憶部151に記憶された、それぞれ異なる状態の仮想的なロボットに対応する複数の仮想状態情報のうち少なくとも一部の仮想状態情報をユーザ11-1に付与するように感覚付与部114を制御する。具体的には、制御部115は、操作者状態情報に基づいて複数の仮想状態情報から選択した仮想状態情報に基づく感覚をユーザ11-1に付与するように感覚付与部114を制御する。
【0090】
より具体的には、記憶部151は、それぞれ異なる状態のロボット31-1が撮影した画像に相当する仮想画像を含む複数の仮想状態情報を記憶している。仮想画像は、予めロボット31-1が有する視覚機器411又は同等の他のロボットに装着された撮像装置により生成された撮像画像であり、撮像した時点のロボットの状態(例えばロボットの各部の位置)を示す情報が関連づけられている。制御部115は、複数の仮想状態情報のうち、操作者状態情報が示す操作内容に基づいて特定されるロボット31-1の位置に対応する仮想画像が含まれる仮想状態情報に基づく感覚を操作者に付与するように感覚付与部114を制御する。
【0091】
制御部115は、複数の仮想状態情報から一の仮想状態情報を選択するために、直前の操作者状態情報が示すユーザ11-1の状態と、最新の操作者状態情報が示すユーザ11-1の状態とに基づいて、ユーザ11-1が操作をした後にロボット31-1がどのような状態になっているかを推定する。そして、制御部115は、推定したロボット31-1の状態に対応する一の仮想状態情報を選択する。このようにすることで、制御部115は、ロボット制御装置41-1から送信されるロボット状態情報が遅延したとしても、受信部132がロボット状態情報を受信する前に仮想状態情報に基づく感覚を操作者に付与することができる。したがって、ユーザ11-1がロボット31-1を操作しやすくなる。
【0092】
制御部115は、直前にユーザ11-1に提供していたロボット状態情報としての画像に含まれるロボット31-1の画像を抽出し、抽出した画像を仮想状態情報が示すロボットの画像に置換した画像をユーザ11-1に提供してもよい。このようにすることで、制御部115は、例えばロボット31-1が物体をつかむ動作をしている場合に、物体をつかもうとしている仮想的なロボットの画像を含む画像をユーザ11-1に提供することができる。
【0093】
制御部115は、感覚付与部114に付与させたロボット状態情報に基づく感覚の内容を示す感覚履歴情報を記憶部151に記憶させてもよい。この場合、制御部115は、直前に記憶部151に記憶させた感覚履歴情報が示す感覚の内容に基づいて、複数の仮想状態情報から、操作者に感覚を付与するために用いる仮想状態情報を選択する。制御部115は、例えば、直前に記憶させた感覚履歴情報が示す感覚からの変化量が所定の範囲内に収まる仮想状態情報を選択する。このようにすることで、ユーザ11-1に付与される感覚が急激に変化しないので、端末装置21-1はユーザ11-1が違和感を抱かないようにすることができる。
【0094】
制御部115は、仮想状態情報に基づく感覚をユーザ11-1に付与した後に、受信部132が受信したロボット状態情報に基づく感覚をユーザ11-1に付与するように感覚付与部114を制御する。具体的には、制御部115は、例えば送信部131が操作者状態情報を送信してから受信部132がロボット状態情報を受信するまでに要する遅延時間内のロボット31-1の動きが、ユーザ11-1が感知可能な量よりも小さいと判定した場合に、ロボット31-1の実際の状態に基づく感覚をユーザ11-1に付与する。より具体的には、制御部115は、遅延時間内のロボット状態情報の変化量が閾値未満であると判定した場合に、仮想状態情報に基づく第1感覚の付与を停止し、ロボット状態情報に基づく第2感覚の付与に切り替える。このようにすることで、ロボット31-1の動きが停止した時点で、ユーザ11-1が、ロボット31-1の実際の状態を把握することができる。
【0095】
ここで、仮想状態情報が示す状態と、実際のロボット31-1の状態とが完全に一致しているとは限らない。したがって、仮想状態情報に基づく第1感覚の付与を停止してロボット状態情報に基づく第2感覚の付与を開始すると、第1感覚と第2感覚との差が大きく、ユーザ11-1が違和感を抱く場合がある。そこで、制御部115は、仮想状態情報に基づく第1感覚と、仮想状態情報に基づく感覚をユーザ11-1に付与した後に受信部132が受信したロボット状態情報に基づく第2感覚との間に所定の大きさ以上の差がある場合、第1感覚と第2感覚との間を補間する感覚をユーザ11-1に付与するように感覚付与部114を制御してもよい。
【0096】
制御部115は、例えば第1感覚と第2感覚との間を補間するための複数の仮想状態情報を生成し、第1感覚から徐々に第2感覚に至るように感覚付与部114を制御する。第1感覚及び第2感覚が視覚である場合、制御部115は、ユーザ11-1に提供する画像における第1感覚に対応する位置に含まれていたロボット31-1の指先の画像が、徐々に第2感覚に対応する位置に向けて移動するように、複数の仮想的な画像をユーザ11-1に提供する。このようにすることで、制御部115は、付与される感覚が急激に変化することによりユーザ11-1が違和感を抱くことを防止できる。
【0097】
制御部115は、バッファ112に蓄積された一以上のロボット状態情報の量が閾値以上である場合、ロボット状態情報に基づく感覚をユーザ11-1に付与し、バッファ112に蓄積された一以上のロボット状態情報の量が閾値未満になった場合に、仮想状態情報に基づく感覚をユーザ11-1に付与するように感覚付与部114を制御してもよい。このようにすることで、バッファ112に一時的に記憶するロボット状態情報の量を少なくした状態でロボット状態情報の伝送遅延が発生したとしても、ユーザ11-1に対して仮想状態情報に基づく感覚を付与することができる。したがって、送信部131が操作者状態情報を送信してから受信部132がロボット状態情報を受信するまでに要する遅延時間を小さくすることが可能になり、ユーザ11-1がロボット31-1を制御しやすくなる。
【0098】
制御部115は、送信部131がユーザ11-1状態情報を送信してから受信部132がロボット状態情報を受信するまでの遅延の要因を特定してもよい。制御部115は、特定した要因に基づいて、記憶部151に記憶された仮想状態情報に基づく感覚をユーザ11-1に付与するように感覚付与部114を制御するか、ネットワーク51を介して受信した仮想状態情報に基づく感覚をユーザ11-1に付与するように感覚付与部114を制御するかを決定する。ネットワーク51を介して受信した仮想状態情報は、例えば、ロボット31-1の状態を監視し、ロボット31-1の状態に基づいて仮想状態情報を生成するロボット制御装置41-1又はクラウド上のサーバから提供される仮想状態情報である。
【0099】
ロボット制御装置41-1又はクラウド上のサーバの処理能力又は記憶容量が端末装置21-1よりも優れている場合、ロボット制御装置41-1又はクラウド上のサーバは、記憶部151に記憶された仮想状態情報よりも高精度の(すなわち、実際のロボット31-1の状態により近い)仮想状態情報を生成することができると考えられる。そこで、制御部115は、ネットワーク51における遅延時間が閾値以下である場合にロボット制御装置41-1又はクラウド上のサーバから提供される仮想状態情報を使用することで、実際のロボット31-1の状態に近い感覚をユーザ11-1に付与することできる。
【0100】
なお、端末装置21-1の制御部115とロボット制御装置41-1の制御部215とは、ネットワーク51を介して、自己の側における処理遅延時間の情報を互いに通信する。処理遅延時間は、ユーザ11-1が操作してから端末装置21-1が操作者状態情報を送信するまでの時間、及びロボット31-1が状態を変化させてからロボット制御装置41-1がロボット状態情報を送信するまでの時間である。制御部115及び制御部215は、取得した他方の遅延時間に基づいて、ユーザ11-1の側とロボット31-1の側との往復の遅延時間RTTの値を特定する。制御部115は、特定した遅延時間の値に基づいて、仮想状態情報に基づく感覚をユーザ11-1に付与するか、ロボット状態情報に基づく感覚をユーザ11-1に付与するかを決定する。
【0101】
また、ロボットシステム1は、ユーザ11-1の状態を推定して生成された仮想操作者状態情報に基づいてロボット31-1を制御してもよい。例えば、端末装置21-1の送信部131が操作者状態情報を送信してから、当該操作者状態情報がロボット制御装置41-1の受信部231に届くまでの遅延時間が所定の閾値以上である場合、ロボット制御装置41-1の制御部215は、仮想操作者状態情報に基づいてロボット31-1を制御する。仮想操作者状態情報は、例えば、直前の一以上の操作者状態情報に基づいて操作者の最新の状態を推定することにより生成された情報である。このようにすることで、ユーザ11-1が行った操作に対するロボット31-1のレスポンスを早めることができるので、操作性がさらに向上する。
【0102】
なお、制御部215が使用する仮想操作者状態情報は、記憶部251に記憶された複数の仮想操作者状態情報から選択された仮想操作者状態情報であってもよく、コンピュータグラフィックス(CG:Computer Graphics)により生成されたユーザ11-1のモデルに基づいて生成された仮想操作者状態情報であってもよい。
【0103】
[ネットワークにおけるマルチストリームのデータの同期]
本実施形態では、ロボット制御装置41-1から端末装置21-1に向かう第2のセッションは、映像データ、音響データ、及び触覚データを含む。それぞれのメディアのデータの処理速度に応じて、それぞれのメディアのデータの遅延時間が異なり得る。これらのメディアのなかで、映像のデータの遅延時間が最も大きい。このため、本実施形態では、端末装置21-1の制御部115及びロボット制御装置41-1の制御部215は、映像データに含まれる各画像フレームに付与されている時間情報を遅延時間の参照値として使用する。
【0104】
一例として、ロボット制御装置41-1の制御部215は、音響データ及び触覚データを、映像データを伝送する画像フレームのそれぞれに含める。このようにすることで、時間情報が付与されていない音響データ及び触覚データにも時間情報を関連づけることができる。
【0105】
他の例として、ロボット制御装置41-1の制御部215は、タイムスタンプを用いて、映像データと音響データと触覚データを同期させてもよい。この場合、ロボット制御装置41-1の制御部215は、各メディアのデータ又は通信フレームに、時刻を表すタイムスタンプを付与する。また、端末装置21-1の制御部115及びロボット制御装置41-1の制御部215は、タイムスタンプを参照する際におけるクロックとして、共通クロック源から供給されるクロック信号を用いてもよい。共通クロック源としては、例えば、第三者により提供されるものが用いられてもよく、ロボットシステム1が備える任意の装置(例えば、ネットワーク51に接続された管理装置であるサーバ)により提供されるものが用いられてもよい。
【0106】
図7は、本発明の一実施形態に係る通信フレームF1~Fj(jは2以上の整数であるとする)の概略的な構成を示すブロック図である。
図7は、ロボット制御装置41-1から送信される連続した複数(j個)の通信フレームF1~Fjを示している。
【0107】
本実施形態では、通信フレームF1~Fjの通信速度が、60[fps(フレーム/秒)]であるとする。通信フレームF1の送信時刻T1を0[ms]とすると、通信フレームFjの送信時刻Tjは約{16.6666×(j-1)}[ms]となる。それぞれの通信フレームF1~Fjには、映像データ、イメージ化された音響データ、イメージ化された触覚データが含まれる。映像データには、例えば、左目の映像のデータ及び右目の映像データが含まれる。音響データには、例えば、左耳の音響データ及び右耳の音響データが含まれる。触覚のデータには、例えば、指先のデータが含まれる。
【0108】
それぞれの通信フレームF1~Fjには、送信される順に連続した通し番号(フレーム番号)の情報が含められている。端末装置21-1及びロボット制御装置41-1は、このような通し番号(フレーム番号)の情報に基づいて、それぞれの通信フレームF1~Fjのタイミングを特定することが可能である。なお、通信フレームの代わりに、通信パケットが用いられてもよい。
【0109】
制御部115及び制御部215は、ロボット制御装置41-1から端末装置21-1に向かう第2のセッションにおいて通信フレームF1~Fjの一部が損失しても、タイムアウト時間が経過したことに応じて、すべてのメディア(映像、音響、触覚)のデータを含む通信フレームの単位で、データを破棄したり再送制御をしたりすることが可能である。制御部115及び制御部215は、遅延時間が所定の閾値以下である場合に該当するデータを再送し、遅延時間が所定の閾値よりも大きい場合に該当するデータを破棄してもよい。
【0110】
[動きのバッファリング]
端末装置21-1とロボット制御装置41-1との間で送受信するデータは、伝送中に消失してしまう場合がある。このような場合にもユーザ11-1が意図したとおりにロボット31-1が動作するように、またユーザ11-1の操作性を向上させるために、端末装置21-1の制御部115は、バッファ112に記憶されたデータを用いて消失したデータを補間してもよい。これにより、端末装置21-1の制御部115は、例えば、一部のデータが消失した場合においても、消失していない他のデータに基づいて消失したデータを推定して再現することができる。
【0111】
同様に、ロボット制御装置41-1の制御部215は、バッファ212に記憶されたデータを用いて、データを補間することによって、任意の中間的なデータを補償することができる。これにより、ロボット制御装置41-1の制御部215は、例えば、一部のデータが消失した場合においても、消失していない他のデータに基づいて消失したデータを推定して再現することが可能である。このような補間は、例えば、第1のセッションのデータと第2のセッションのデータとのうちの任意の一方又は両方に適用されてもよい。
【0112】
[ロボットシステム1の構成及び動作のまとめ]
以上のように、本実施形態に係るロボットシステム1は、テレイグジスタンスにおいて、バッファ112及びバッファ212を用いて、遅延を補償することで、高品質なロボット制御を実現することができる。ロボットシステム1は、例えば操作者状態情報及びロボット状態情報を一時的にバッファ112及びバッファ212に蓄積させることで、送信部131が操作者状態情報を送信してから受信部132がロボット状態情報を受信するまでに要する遅延時間の変動量を所定の範囲内に抑えることができる。このようにすることで、ロボットシステム1を使用するユーザ11-1がロボット31-1を操作しやすくなる。
【0113】
また、ロボットシステム1は、送信部131が操作者状態情報を送信してから受信部132がロボット状態情報を受信するまでに要する遅延時間が所定の時間よりも長い場合に、仮想状態情報に基づく感覚をユーザ11-1に付与する。ロボットシステム1がこのような構成を有することで、ネットワーク51におけるデータ伝送の遅延時間が長い場合であっても、ユーザ11-1が操作をしてからロボット31-1の状態に応じた感覚を得るまでの時間を短縮することができる。その結果、ユーザ11-1が快適にロボット31-1を制御することができるようになる。
【0114】
なお、ロボットシステム1は、ユーザ11-1の側のバッファ112及びロボット31-1の側のバッファ212のそれぞれにおける遅延時間を他の態様で制御してもよい。一例として、ロボットシステム1は、ユーザ11-1の側のバッファ112及びロボット31-1の側のバッファ212のそれぞれにおいて、双方向のデータ(第1セッションのデータ、第2セッションのデータ)を所定期間だけ保持して、当該所定期間ごとに当該データを出力するように制御されてもよい。当該所定期間は、例えば、最も遅延時間が長いメディアに応じて決定され、本例では、ロボット制御装置41-1から端末装置21-1に送信される映像データの遅延時間に基づいて決定される。
【0115】
ここで、ユーザ11-1~11-nの数、端末装置21-1~21-nの数、ロボット制御装置41-1~41-nの数,ロボット31-1~31-nの数は、それぞれ、任意の数であってもよい。例えば、ユーザ11-1~11-nの数とロボット31-1~31-nの数とは同じであってもよく、異なっていてもよい。
【0116】
また、本実施形態では、ユーザ11-1の側において、バッファ112及びバッファ112における遅延時間を制御する制御部115が端末装置21-1に備えられた構成を示したが、他の構成例として、バッファ112と、バッファ112における遅延時間の制御機能との一方又は両方が、端末装置21-1とは別の制御装置に備えられてもよい。
【0117】
同様に、本実施形態では、ロボット31-1の側において、バッファ212及びバッファ212における遅延時間を制御する制御部215がロボット制御装置41-1に備えられた構成を示したが、このような構成に限らない。他の構成例として、バッファ212と、バッファ212における遅延時間の制御機能との一方又は両方が、端末装置21-1とは別の制御装置に備えられてもよい。
【0118】
ここで、ロボットシステム1において、ユーザ11-1の側で端末装置21-1により映像、音響、触覚などのうちの1以上のデータを検出してロボット31-1の側へ送信し、ロボット31-1の側でロボット制御装置41-1により当該データを受信して当該データに基づく感覚(視覚、聴覚、触覚など)を再現してもよい。この場合、端末装置21-1は、例えば、検出部111として、映像を検出するセンサー(例えば、撮像装置(カメラ))、音響を検出するセンサー(例えば、マイク)、触覚を検出するセンサー(例えば、圧力センサー)などを備える。
【0119】
また、ロボット制御装置41-1は、例えば、端末装置21-1から受信された映像、音響、触覚などのデータに基づく感覚を再現する感覚再現部を備える。感覚再現部の機能は、例えば、ロボット駆動部213に備えられてもよく、ロボット駆動部213とは別に備えられてもよい。感覚再現部の機能の一部又は全部が、ロボット31-1に装着されてもよい。この場合の感覚再現部は、例えば、映像を再現する映像表示器、音響を再現するスピーカー、触覚を再現する圧力などの発生器(動作発生器)などである。
【0120】
[変形例1]
ロボットシステム1においては、複数のユーザが1個の共通のロボットを制御してもよい。一例として、3人のユーザ11-1~11-3が1個のロボット31-1を制御する場合を示す。本例では、3人のユーザ11-1~11-3のそれぞれの端末装置21-1~21-3が、時分割でロボット制御装置41-1と通信することで、ロボット31-1を制御する。例えば、ロボット31-1が複数の可動部分を備えており、3人のユーザ11-1~11-3が、それぞれ、異なる可動部分を制御する。複数の可動部分は、例えば、複数のアームである。
【0121】
図8は、本発明の一実施形態に係る時分割の通信フレームZ1~Z6の概略的な構成を示すブロック図である。
図8は、複数の連続した通信フレームZ1~Z6を示している。本例では、例えば、1人目のユーザ11-1の端末装置21-1は、1番目の通信フレームZ1を用いてロボット制御装置41-1と通信する。2人目のユーザ11-2の端末装置21-2は、2番目の通信フレームZ2を用いてロボット制御装置41-1と通信する。3人目のユーザ11-3の端末装置21-3は、3番目の通信フレームZ3を用いてロボット制御装置41-3と通信する。このように複数の端末装置21-1~21-3が時分割で共通のロボット制御装置41-1と通信することで、共通のロボット31-1を制御する。
【0122】
[変形例2]
ロボットシステム1においては、1人のユーザが複数のロボットを制御してもよい。一例として、1人のユーザ11-1が3個のロボット31-1~31-3を制御する場合を示す。本例では、1人のユーザ11-1の端末装置21-1が、3個のロボット制御装置41-1~41-3と時分割で通信することで、3個のロボット31-1~31-3を制御する。
【0123】
図8の例を利用して説明する。本例では、例えば、1人のユーザ11-1の端末装置21-1は、1番目の通信フレームZ1を用いて1個目のロボット31-1のロボット制御装置41-1と通信する。端末装置21-1は、2番目の通信フレームZ2を用いて2個目のロボット31-2のロボット制御装置41-2と通信する。端末装置21-1は、3番目の通信フレームZ3を用いて3個目のロボット31-3のロボット制御装置41-3と通信する。このように1個の端末装置21-1が時分割で複数のロボット制御装置41-1~41-3と通信することで、複数のロボット31-1~31-3を制御する。
【0124】
[変形例3]
ロボットシステム1は、ネットワーク51を介して端末装置21-1~21-n、およびロボット制御装置41-1~41-nに接続された管理装置をさらに備えていてもよい。管理装置は例えばサーバである。
【0125】
管理装置61は、ネットワーク51に接続され、端末装置21-1~21-nとロボット制御装置41-1~41-nとの間で行われる通信を中継する。つまり、管理装置61は、端末装置21-1~21-nからネットワーク51に送信された信号を受信して、当該信号をその宛先のロボット制御装置41-1~41-nに送信し、また、ロボット制御装置41-1~41-nからネットワーク51に送信された信号を受信して、当該信号をその宛先の端末装置21-1~21-nに送信する。
【0126】
このように、ロボットシステム1は、クラウド上に管理装置61を備えて、端末装置21-1~21-nとロボット制御装置41-1~41-nとの間で行われる通信を管理してもよい。例えば、管理装置61は、互いに対応する端末装置21-1~21-nとロボット制御装置41-1~41-nのそれぞれのアドレスの情報を記憶して、当該アドレスの情報に基づいて、これらの間で通信される信号を中継する。管理装置61は、機械学習の機能を備えて、機械学習の結果に基づいて、ユーザ11-1~11-nがロボット31-1~31-nを制御する操作を補正してもよい。
【0127】
図2から
図6までを参照しながら説明した実施形態では、端末装置21-1がバッファ112及び当該バッファ112におけるデータの遅延時間を調整する機能を有していた。また、ロボット制御装置41-1がバッファ212及び当該バッファ212におけるデータの遅延時間を調整する機能を有していた。これら2つの機能のうちの任意の一方又は両方が管理装置61に備えられてもよい。
【0128】
一例として、管理装置61は、端末装置21-1の代わりに、バッファ112及び当該バッファ112におけるデータの遅延時間を調整する機能(この例において、説明の便宜上、機能C1という。)を備えてもよい。この場合、端末装置21-1では、このような機能C1を備えなくてもよい。
【0129】
他の例として、管理装置61は、ロボット制御装置41-1の代わりに、バッファ212及び当該バッファ212におけるデータの遅延時間を調整する機能(この例において、説明の便宜上、機能C2という。)を備えてもよい。この場合、ロボット制御装置41-1では、このような機能C2を備えなくてもよい。
【0130】
さらに、他の例として、管理装置61は、機能C1と機能C2の両方を備えてもよい。特に、通信の遅延が小さい場合、管理装置61が機能C1又は機能C2を備えることが好ましいと考えられる。例えば、端末装置21-1からロボット制御装置41-1へのネットワーク51を介したデータ通信の遅延が、ロボット制御装置41-1から端末装置21-1へのネットワーク51を介したデータ通信の遅延よりも小さい場合には、端末装置21-1が機能C1を備えて、管理装置61が機能C2を備える構成が用いられてもよい。
【0131】
図9は、ネットワーク51を介して端末装置21-1及びロボット制御装置41-1と通信可能な管理装置61を示す図である。管理装置61は、遅延特定部611と、通知部612とを有する。遅延特定部611は、端末装置21-1から操作者状態情報を受信した時刻と、ロボット制御装置41-1からロボット状態情報を受信した時刻とに基づいて、端末装置21-1が操作状態情報を送信してからロボット状態情報を受信するまでの遅延時間を特定する。通知部612は、遅延特定部611が特定した遅延時間を端末装置21-1の制御部115に通知する。
【0132】
制御部115は、管理装置からの指示に基づいて仮想状態情報に基づく感覚をユーザ11-1に付与することを決定してもよい。この場合、管理装置の遅延特定部611は、遅延時間が発生している要因を特定し、通知部612は、遅延特定部611が特定した要因がネットワーク51の伝送遅延である場合に、端末装置21-1の制御部115に対して、仮想状態情報に基づく感覚をユーザ11-1に付与するように指示する。制御部115は、通知部612からの指示に基づいて、仮想状態情報に基づく感覚をユーザ11-1に付与するように感覚付与部114を制御する。このように、制御部115は、管理装置からの指示に基づいて仮想状態情報に基づく感覚を付与することで、仮想状態情報又はロボット状態情報のうち、ネットワーク51の遅延状態により適した情報に基づく感覚を付与することができる。
【0133】
なお、通知部612は、遅延特定部611が特定した要因がロボットの動作遅延である場合に、ロボット制御装置41-1に対して、仮想状態情報を端末装置21-1に送信するように指示してもよい。
図10は、ロボット制御装置41-1が仮想状態情報をユーザ11-1に提供するロボットシステム1を示す図である。ロボット制御装置41-1は、例えば記憶部251に記憶された複数の仮想状態情報から選択した仮想状態情報を端末装置21-1に提供する。ロボットシステム1がこのような構成を有することで、端末装置21-1が仮想状態情報を記憶していない場合であっても、端末装置21-1が仮想状態情報に基づく感覚をユーザ11-1に付与することができる。
【0134】
[実施形態のまとめ]
ロボットシステム1においては、端末装置(
図1の例では、端末装置21-1~21-n)が、ユーザ(
図1の例では、ユーザ11-1~11-n)に関するデータを、ネットワーク(
図1の例では、ネットワーク51)を介してロボット制御装置(
図1の例では、ロボット制御装置41-1~41-n)に送信する。そして、ロボット制御装置が当該データに基づいてロボット(
図1の例では、ロボット31-1~31-n)を制御する。
【0135】
また、ロボット制御装置がロボットに関するデータを、ネットワークを介して端末装置に送信し、端末装置が当該データに基づいてユーザに感覚を付与する。端末装置とロボット制御装置との少なくとも一方は、送信対象のデータと受信されたデータとの少なくとも一方のデータを記憶するバッファ(
図2、
図3の例では、バッファ112、212)と、バッファにより記憶されるデータの遅延時間を制御する制御部(
図2、
図3の例では、制御部115、215)と、を備える。ロボットシステム1がこのような構成を有することにより、ロボットシステム1は、ユーザによるロボットの操作に支障が生じないように、データの伝送遅延を調整することができるので、テレイグジスタンスにおけるロボットの操作性を向上させることができる。
【0136】
一構成例として、制御部は、送信対象のデータと受信されたデータを伝送する際に、ネットワークとユーザとの間又はネットワークとロボットとの間における所定の伝送の遅延時間を所定の範囲内に制御する。
【0137】
一構成例として、ユーザに関するデータは、ユーザの動きに関するデータを含み、ロボットに関するデータは、ロボットにおける画像データ、音響データ、触覚データを含み、ロボット制御装置は、画像データと、音響データと、触覚データを共通の通信フレームに含めて通信する。一構成例として、端末装置とロボット制御装置との少なくとも一方について、バッファに記憶されたデータを用いてデータを補間する。
【0138】
一構成として、端末装置は、操作者状態情報を送信してからロボット状態情報を受信するまでに要する遅延時間が所定の時間以下である場合に、ロボット状態情報に基づく感覚をユーザに付与し、遅延時間が所定の時間よりも長い場合に、推定されたロボットの状態を示す仮想状態情報に基づく感覚をユーザに付与する。端末装置がこのように動作することで、遅延時間が長い場合においてもユーザがロボットの状態に応じた感覚を速やかに抱くことができるので、操作性が向上する。
【0139】
以上に示した実施形態に係る各装置(例えば、端末装置21-1~21-n又はロボット制御装置41-1~41-nなど)の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体(記憶媒体)に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、処理を行ってもよい。
【0140】
なお、ここでいう「コンピュータシステム」とは、オペレーティング・システム(OS:Operating System)又は周辺機器等のハードウェアを含むものであってもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disc)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。なお、記録媒体としては、例えば、コンピュータと着脱可能な記録媒体であってもよい。また、記録媒体としては、例えば、一時的にデータを記録する記録媒体であってもよい。
【0141】
さらに、「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワーク又は電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
【0142】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、又は伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)又は電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
【0143】
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0144】
以上、本発明の実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【符号の説明】
【0145】
1…ロボットシステム、11-1~11-n…ユーザ、21-1~21-n…端末装置、31-1~31-n…ロボット、41-1~41-n…ロボット制御装置、51…ネットワーク、111、214…検出部、112、212…バッファ、113、211…通信部、114…感覚付与部、115、215…制御部、151、251…記憶部、131、232…送信部、132、231…受信部、213…ロボット駆動部、311…頭部機器、312-1~312-2、413-1~413-2…指部機器、313-1~313-2…胴部機器、331…視覚部、332-1~332-2…音響部、411…視覚機器、412-1~412-2…音響機器、711…仮想ロボット、F1~Fj、Z1~Z6…通信フレーム、P1~P3、P11~P13…伝送セッション