(57)【要約】【課題】テレイグジスタンスシステムの運用において特定の項目の値を一定以上に維持したまま通信を行う。【解決手段】スレーブロボットと操作装置とを備えるテレイグジスタンスシステムの通信を制御する制御装置１において、状態取得部１１０は、操作装置、スレーブロボット、及び操作装置とスレーブロボットとを接続する複数の仮想ルータのそれぞれから、操作装置とスレーブロボットとの通信が確立している間にステータスレポートを繰り返し取得する。経路決定部１１１は、状態取得部１１０がステータスレポートを取得することを契機として、取得したステータスレポートに基づいて、スレーブロボットの動作を制御するための制御指示をスレーブロボットに伝達するための通信経路を決定する。指示送信部１１２は、経路決定部１１１が決定した通信経路を構成するための指示を複数の仮想ルータそれぞれに送信する。【選択図】図４
2020170934.tif 000002
【特許請求の範囲】
【請求項１】
１又は複数のスレーブロボットと、前記１又は複数のスレーブロボットの動作を制御するための１つの操作装置と、前記操作装置と前記１又は複数のスレーブロボットとの間において情報を伝達する通信経路を構成するための複数の仮想ルータと、を備えるテレイグジスタンスシステムにおいて、前記操作装置と前記１又は複数のスレーブロボットとの間の通信を制御する制御装置であって、
前記操作装置、前記１又は複数のスレーブロボット、及び前記複数の仮想ルータのそれぞれから、前記操作装置と前記１又は複数のスレーブロボットとの通信が確立している間にステータスレポートを繰り返し取得する状態取得部と、
前記状態取得部が前記ステータスレポートを取得することを契機として、取得したステータスレポートに基づいて、前記スレーブロボットの動作を制御するための制御指示を前記１又は複数のスレーブロボットに伝達するための通信経路を決定する経路決定部と、
前記経路決定部が決定した通信経路を構成するための指示を前記複数の仮想ルータそれぞれに送信する指示送信部と、
を備える制御装置。
【請求項２】
前記経路決定部は、前記複数の仮想ルータの中から、前記制御指示を前記複数のスレーブロボットに伝達するために前記制御指示をマルチキャストさせるための仮想ルータを決定する、
請求項１に記載の制御装置。
【請求項３】
前記テレイグジスタンスシステムが複数のスレーブロボットを備える場合、当該複数のスレーブロボットの中から、前記操作装置にストリーミングデータを送信するスレーブロボットである優先ロボットを特定する優先ロボット情報を取得する優先ロボット取得部をさらに備える、
請求項１又は２に記載の制御装置。
【請求項４】
複数の操作装置と、前記複数の操作装置のうちのいずれか１つの操作装置で動作が制御される１つのスレーブロボットと、前記複数の操作装置と前記スレーブロボットとの間において情報を伝達する通信経路を構成するための複数の仮想ルータと、を備えるテレイグジスタンスシステムにおいて、前記複数の操作装置と前記スレーブロボットとの間の通信を制御する制御装置であって、
前記複数の操作装置の中から、前記スレーブロボットの動作を制御するための操作装置である優先操作装置を特定する優先操作装置情報を取得する優先操作装置取得部と、
前記複数の操作装置、前記スレーブロボット、及び前記複数の仮想ルータのそれぞれから、前記複数の操作装置と前記スレーブロボットとの通信が確立している間にステータスレポートを繰り返し取得する状態取得部と、
前記状態取得部が前記ステータスレポートを取得することを契機として、取得したステータスレポートと前記優先操作装置情報とに基づいて、前記スレーブロボットの動作を制御するための制御指示を前記スレーブロボットに伝達するための通信経路を決定する経路決定部と、
前記経路決定部が決定した通信経路を構成するための指示を前記複数の仮想ルータそれぞれに送信する指示送信部と、
を備える制御装置。
【請求項５】
前記経路決定部は、前記複数の仮想ルータの中から、前記スレーブロボットが送信したストリーミングデータを前記複数の操作装置にマルチキャストさせるための仮想ルータを決定する、
請求項４に記載の制御装置。
【請求項６】
前記経路決定部は、前記優先操作装置取得部が新たな優先操作装置情報を取得することを契機として、通信経路を再決定する、
請求項４又は５に記載の制御装置。
【請求項７】
前記経路決定部は、
前記操作装置と前記スレーブロボットとの間を接続する複数の通信経路の候補それぞれについて、前記ステータスレポートに基づいて各通信経路の通信能力を示すスコアを算出するスコア算出部と、
前記通信能力が高いことを示すスコアが算出された通信経路の候補を、前記通信能力が低いことを示すスコアが算出された通信経路の候補よりも優先して、前記操作装置と前記スレーブロボットとの間を接続する通信経路として選択する経路選択部と、
を備える、
請求項１から６のいずれか１項に記載の制御装置。
【請求項８】
前記ステータスレポートは、前記操作装置と前記スレーブロボットとの間の通信に関するバンド幅、レイテンシ、ジッター、パケット損失率、パケット並べ替え率、及び誤り訂正率のそれぞれに関する統計量を少なくとも含み、
前記スコア算出部は、前記統計量に基づいて前記スコアを算出する、
請求項７に記載の制御装置。
【請求項９】
前記統計量は、前記バンド幅、前記レイテンシ、前記ジッター、前記パケット損失率、パケット並べ替え率、及び前記誤り訂正率のそれぞれの項目に関する最大値、最小値、及び平均値を含み、
前記スコア算出部は、各項目について平均値と最小値との差を最大値と最小値との差で規格化した値に項目毎に異なる重み係数を乗じた値を算出し、算出した値の総和を前記スコアとして算出する、
請求項８に記載の制御装置。
【請求項１０】
前記操作装置を用いて前記スレーブロボットを操作する目的を示す操作シナリオ情報を取得するシナリオ情報取得部をさらに備え、
前記スコア算出部は、前記操作シナリオ情報に基づいて前記重み係数を変更する、
請求項９に記載の制御装置。
【請求項１１】
１又は複数のスレーブロボットと、前記１又は複数のスレーブロボットの動作を制御するための１つの操作装置と、前記操作装置と前記１又は複数のスレーブロボットとの間において情報を伝達する通信経路を構成するための複数の仮想ルータと、を備えるテレイグジスタンスシステムにおいて、前記操作装置と前記１又は複数のスレーブロボットとの間の通信を制御する制御装置のプロセッサが、
前記操作装置、前記１又は複数のスレーブロボット、及び前記複数の仮想ルータのそれぞれから、前記操作装置と前記１又は複数のスレーブロボットとの通信が確立している間にステータスレポートを繰り返し取得するステップと、
前記ステータスレポートを取得することを契機として、取得したステータスレポートに基づいて、前記スレーブロボットの動作を制御するための制御指示を前記１又は複数のスレーブロボットに伝達するための通信経路を決定するステップと、
決定した前記通信経路を構成するための指示を前記複数の仮想ルータそれぞれに送信するステップと、
を実行するネットワーク制御方法。
【請求項１２】
複数の操作装置と、前記複数の操作装置うちのいずれか１つの操作装置で動作が制御される１つのスレーブロボットと、前記複数の操作装置と前記スレーブロボットとの間において情報を伝達する通信経路を構成するための複数の仮想ルータと、を備えるテレイグジスタンスシステムにおいて、前記複数の操作装置と前記スレーブロボットとの間の通信を制御する制御装置のプロセッサが、
前記複数の操作装置の中から、前記スレーブロボットの動作を制御するための操作装置である優先操作装置を特定する優先操作装置情報を取得するステップと、
前記複数の操作装置、前記スレーブロボット、及び前記複数の仮想ルータのそれぞれから、前記複数の操作装置と前記スレーブロボットとの通信が確立している間にステータスレポートを繰り返し取得するステップと、
前記ステータスレポートを取得することを契機として、取得したステータスレポートと前記優先操作装置情報とに基づいて、前記スレーブロボットの動作を制御するための制御指示を前記スレーブロボットに伝達するための通信経路を決定するステップと、
決定した前記通信経路を構成するための指示を前記複数の仮想ルータそれぞれに送信するステップと、
を実行するネットワーク制御方法。
【請求項１３】
１又は複数のスレーブロボットと、前記１又は複数のスレーブロボットの動作を制御するための１つの操作装置と、前記操作装置と前記１又は複数のスレーブロボットとの間において情報を伝達する通信経路を構成するための複数の仮想ルータと、を備えるテレイグジスタンスシステムにおいて、前記操作装置と前記１又は複数のスレーブロボットとの間の通信を制御するコンピュータに、
前記操作装置、前記１又は複数のスレーブロボット、及び前記複数の仮想ルータのそれぞれから、前記操作装置と前記１又は複数のスレーブロボットとの通信が確立している間にステータスレポートを繰り返し取得する機能と、
前記ステータスレポートを取得することを契機として、取得したステータスレポートに基づいて、前記スレーブロボットの動作を制御するための制御指示を前記１又は複数のスレーブロボットに伝達するための通信経路を決定する機能と、
決定した前記通信経路を構成するための指示を前記複数の仮想ルータそれぞれに送信する機能と、
を実現させるプログラム。
【請求項１４】
複数の操作装置と、前記複数の操作装置うちのいずれか１つの操作装置で動作が制御される１つのスレーブロボットと、前記複数の操作装置と前記スレーブロボットとの間において情報を伝達する通信経路を構成するための複数の仮想ルータと、を備えるテレイグジスタンスシステムにおいて、前記複数の操作装置と前記スレーブロボットとの間の通信を制御するコンピュータに、
前記複数の操作装置の中から、前記スレーブロボットの動作を制御するための操作装置である優先操作装置を特定する優先操作装置情報を取得する機能と、
前記複数の操作装置、前記スレーブロボット、及び前記複数の仮想ルータのそれぞれから、前記複数の操作装置と前記スレーブロボットとの通信が確立している間にステータスレポートを繰り返し取得する機能と、
前記ステータスレポートを取得することを契機として、取得したステータスレポートと前記優先操作装置情報とに基づいて、前記スレーブロボットの動作を制御するための制御指示を前記スレーブロボットに伝達するための通信経路を決定する機能と、
決定した前記通信経路を構成するための指示を前記複数の仮想ルータそれぞれに送信する機能と、
を実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は制御装置、ネットワーク制御方法、及びプログラムに関し、特に、テレイグジスタンスシステムにおけるスレーブロボットと操作装置との間の通信ネットワークの制御技術に関する。
【背景技術】
【０００２】
テレイグジスタンス（Telexistence）は、操作者とは離れた場所に存在するスレーブロボット（Slave Robot）を操作者が遠隔操作することによって、操作者が実際には存在しない場所に存在したとするならば得られる視覚、聴覚、及び触覚等の感覚を操作者に経験させるための技術である（例えば、非特許文献１を参照）。なお、スレーブロボットは操作者から離れた遠隔地において操作者の代わりに人に会ったり作業をしたりするため、サロゲート（Surrogate；代理人）と呼ばれることもある。
【０００３】
テレイグジスタンスでは、遠隔のスレーブロボットをコックピットと呼ばれる操作装置を用いてリアルタイムで操作する。そのためには、操作装置とロボットとの間で映像や音声、触覚情報、操作指示等を遅延なく送受信することが要求される。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】T. Kurogi, M. Nakayama, K. Sato, S. Kamuro, C. L. Fernando, M. Furukawa, K. Minamizawa, and S. Tachi, “Haptic Transmission System to Recognize Differences in Surface Textures of Objects for Telexistence”, IEEE Virtual Reality 2013, pp. 137-138.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
インターネット等の既存ネットワークを介してリアルタイムでピアツーピアコミュニケーションをするための技術は種々提案されている。このような技術の中には、例えば、ウェブブラウザを用いてピアツーピアでリアルタイムに音声や映像をやり取りするためのＷｅｂＲＴＣ技術がある。
【０００６】
ＷｅｂＲＴＣのような技術では、ひとたび２つのウェブブラウザ間において通信経路が確立されると通信経路は固定される。通信のリアルタイム性は、その通信経路におけるトラヒック量や帯域幅等に応じて、ウェブブラウザ間でやり取りされるデータのビットレートやデータ量（例えば映像の解像度）を変更することで担保される。
【０００７】
テレイグジスタンスでは、操作者は、遠隔地に存在するスレーブロボットをそのスレーブロボットから送信されてくる音声や映像、及び触覚情報等のストリーミングデータに基づいて制御する。このため、例えばスレーブロボットの操作中に映像の解像度が変更されると、スレーブロボットの操作に支障をきたしかねない。したがって、テレイグジスタンスシステムの運用において優先すべき特定の項目の値を一定以上に維持したまま通信を行う技術が求められている。
【０００８】
本発明はこれらの点に鑑みてなされたものであり、テレイグジスタンスシステムの運用において特定の項目の値を一定以上に維持したまま通信を行うことができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の第１の態様は、１又は複数のスレーブロボットと、前記１又は複数のスレーブロボットの動作を制御するための１つの操作装置と、前記操作装置と前記１又は複数のスレーブロボットとの間において情報を伝達する通信経路を構成するための複数の仮想ルータと、を備えるテレイグジスタンスシステムにおいて、前記操作装置と前記１又は複数のスレーブロボットとの間の通信を制御する制御装置である。この装置は、前記操作装置、前記１又は複数のスレーブロボット、及び前記複数の仮想ルータのそれぞれから、前記操作装置と前記１又は複数のスレーブロボットとの通信が確立している間にステータスレポートを繰り返し取得する状態取得部と、前記状態取得部が前記ステータスレポートを取得することを契機として、取得したステータスレポートに基づいて、前記スレーブロボットの動作を制御するための制御指示を前記１又は複数のスレーブロボットに伝達するための通信経路を決定する経路決定部と、前記経路決定部が決定した通信経路を構成するための指示を前記複数の仮想ルータそれぞれに送信する指示送信部と、を備える。
【００１０】
前記経路決定部は、前記複数の仮想ルータの中から、前記制御指示を前記複数のスレーブロボットに伝達するために前記制御指示をマルチキャストさせるための仮想ルータを決定してもよい。
【００１１】
前記制御装置は、前記テレイグジスタンスシステムが複数のスレーブロボットを備える場合、当該複数のスレーブロボットの中から、前記操作装置にストリーミングデータを送信するスレーブロボットである優先ロボットを特定する優先ロボット情報を取得する優先ロボット取得部をさらに備えてもよい。
【００１２】
本発明の第２の態様は、複数の操作装置と、前記複数の操作装置のうちのいずれか１つの操作装置で動作が制御される１つのスレーブロボットと、前記複数の操作装置と前記スレーブロボットとの間において情報を伝達する通信経路を構成するための複数の仮想ルータと、を備えるテレイグジスタンスシステムにおいて、前記複数の操作装置と前記スレーブロボットとの間の通信を制御する制御装置である。この装置は、前記複数の操作装置の中から、前記スレーブロボットの動作を制御するための操作装置である優先操作装置を特定する優先操作装置情報を取得する優先操作装置取得部と、前記複数の操作装置、前記スレーブロボット、及び前記複数の仮想ルータのそれぞれから、前記複数の操作装置と前記スレーブロボットとの通信が確立している間にステータスレポートを繰り返し取得する状態取得部と、前記状態取得部が前記ステータスレポートを取得することを契機として、取得したステータスレポートと前記優先操作装置情報とに基づいて、前記スレーブロボットの動作を制御するための制御指示を前記スレーブロボットに伝達するための通信経路を決定する経路決定部と、前記経路決定部が決定した通信経路を構成するための指示を前記複数の仮想ルータそれぞれに送信する指示送信部と、を備える。
【００１３】
前記経路決定部は、前記複数の仮想ルータの中から、前記スレーブロボットが送信したストリーミングデータを前記複数の操作装置にマルチキャストさせるための仮想ルータを決定してもよい。
【００１４】
前記経路決定部は、前記優先操作装置取得部が新たな優先操作装置情報を取得することを契機として、通信経路を再決定してもよい。
【００１５】
前記経路決定部は、前記操作装置と前記スレーブロボットとの間を接続する複数の通信経路の候補それぞれについて、前記ステータスレポートに基づいて各通信経路の通信能力を示すスコアを算出するスコア算出部と、前記通信能力が高いことを示すスコアが算出された通信経路の候補を、前記通信能力が低いことを示すスコアが算出された通信経路の候補よりも優先して、前記操作装置と前記スレーブロボットとの間を接続する通信経路として選択する経路選択部と、を備えてもよい。
【００１６】
前記ステータスレポートは、前記操作装置と前記スレーブロボットとの間の通信に関するバンド幅、レイテンシ、ジッター、パケット損失率、パケット並べ替え率、及び誤り訂正率のそれぞれに関する統計量を少なくとも含んでもよく、前記スコア算出部は、前記統計量に基づいて前記スコアを算出してもよい。
【００１７】
前記統計量は、前記バンド幅、前記レイテンシ、前記ジッター、前記パケット損失率、パケット並べ替え率、及び前記誤り訂正率のそれぞれの項目に関する最大値、最小値、及び平均値を含んでもよく、前記スコア算出部は、各項目について平均値と最小値との差を最大値と最小値との差で規格化した値に項目毎に異なる重み係数を乗じた値を算出し、算出した値の総和を前記スコアとして算出してもよい。
【００１８】
前記制御装置は、前記操作装置を用いて前記スレーブロボットを操作する目的を示す操作シナリオ情報を取得するシナリオ情報取得部をさらに備えてもよく、前記スコア算出部は、前記操作シナリオ情報に基づいて前記重み係数を変更してもよい。
【００１９】
本発明の第３の態様は、１又は複数のスレーブロボットと、前記１又は複数のスレーブロボットの動作を制御するための１つの操作装置と、前記操作装置と前記１又は複数のスレーブロボットとの間において情報を伝達する通信経路を構成するための複数の仮想ルータと、を備えるテレイグジスタンスシステムにおいて、前記操作装置と前記１又は複数のスレーブロボットとの間の通信を制御する制御装置のプロセッサが実行するネットワーク制御方法である。この方法において、前記プロセッサは、前記操作装置、前記１又は複数のスレーブロボット、及び前記複数の仮想ルータのそれぞれから、前記操作装置と前記１又は複数のスレーブロボットとの通信が確立している間にステータスレポートを繰り返し取得するステップと、前記ステータスレポートを取得することを契機として、取得したステータスレポートに基づいて、前記スレーブロボットの動作を制御するための制御指示を前記１又は複数のスレーブロボットに伝達するための通信経路を決定するステップと、決定した前記通信経路を構成するための指示を前記複数の仮想ルータそれぞれに送信するステップと、を実行する。
【００２０】
本発明の第４の態様は、複数の操作装置と、前記複数の操作装置うちのいずれか１つの操作装置で動作が制御される１つのスレーブロボットと、前記複数の操作装置と前記スレーブロボットとの間において情報を伝達する通信経路を構成するための複数の仮想ルータと、を備えるテレイグジスタンスシステムにおいて、前記複数の操作装置と前記スレーブロボットとの間の通信を制御する制御装置のプロセッサが実行するネットワーク制御方法である。この方法において、前記プロセッサが、前記複数の操作装置の中から、前記スレーブロボットの動作を制御するための操作装置である優先操作装置を特定する優先操作装置情報を取得するステップと、前記複数の操作装置、前記スレーブロボット、及び前記複数の仮想ルータのそれぞれから、前記複数の操作装置と前記スレーブロボットとの通信が確立している間にステータスレポートを繰り返し取得するステップと、前記ステータスレポートを取得することを契機として、取得したステータスレポートと前記優先操作装置情報とに基づいて、前記スレーブロボットの動作を制御するための制御指示を前記スレーブロボットに伝達するための通信経路を決定するステップと、決定した前記通信経路を構成するための指示を前記複数の仮想ルータそれぞれに送信するステップと、を実行する。
【００２１】
本発明の第５の態様は、プログラムである。このプログラムは、１又は複数のスレーブロボットと、前記１又は複数のスレーブロボットの動作を制御するための１つの操作装置と、前記操作装置と前記１又は複数のスレーブロボットとの間において情報を伝達する通信経路を構成するための複数の仮想ルータと、を備えるテレイグジスタンスシステムにおいて、前記操作装置と前記１又は複数のスレーブロボットとの間の通信を制御するコンピュータに、前記操作装置、前記１又は複数のスレーブロボット、及び前記複数の仮想ルータのそれぞれから、前記操作装置と前記１又は複数のスレーブロボットとの通信が確立している間にステータスレポートを繰り返し取得する機能と、前記ステータスレポートを取得することを契機として、取得したステータスレポートに基づいて、前記スレーブロボットの動作を制御するための制御指示を前記１又は複数のスレーブロボットに伝達するための通信経路を決定する機能と、決定した前記通信経路を構成するための指示を前記複数の仮想ルータそれぞれに送信する機能と、を実現させる。
【００２２】
本発明の第６の態様は、プログラムである。このプログラムは、複数の操作装置と、前記複数の操作装置うちのいずれか１つの操作装置で動作が制御される１つのスレーブロボットと、前記複数の操作装置と前記スレーブロボットとの間において情報を伝達する通信経路を構成するための複数の仮想ルータと、を備えるテレイグジスタンスシステムにおいて、前記複数の操作装置と前記スレーブロボットとの間の通信を制御するコンピュータに、前記複数の操作装置の中から、前記スレーブロボットの動作を制御するための操作装置である優先操作装置を特定する優先操作装置情報を取得する機能と、前記複数の操作装置、前記スレーブロボット、及び前記複数の仮想ルータのそれぞれから、前記複数の操作装置と前記スレーブロボットとの通信が確立している間にステータスレポートを繰り返し取得する機能と、前記ステータスレポートを取得することを契機として、取得したステータスレポートと前記優先操作装置情報とに基づいて、前記スレーブロボットの動作を制御するための制御指示を前記スレーブロボットに伝達するための通信経路を決定する機能と、決定した前記通信経路を構成するための指示を前記複数の仮想ルータそれぞれに送信する機能と、を実現させる。
【００２３】
このプログラムを提供するため、あるいはプログラムの一部をアップデートするために、このプログラムを記録したコンピュータ読み取り可能な記録媒体が提供されてもよく、また、このプログラムが通信回線で伝送されてもよい。
【００２４】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００２５】
本発明によれば、テレイグジスタンスシステムの運用において特定の項目の値を一定以上に維持したまま通信を行うことができる。
【図面の簡単な説明】
【００２６】
【図１】テレイグジスタンスシステムの構成要素の外観を模式的に示す図である。
【図２】テレイグジスタンスシステムの構成要素と、各構成要素間でやり取りされる情報の流れを模式的に示す図である。
【図３】第１の実施の形態に係るテレイグジスタンスシステムの概要を説明するための図である。
【図４】第１の実施の形態に係る制御装置の機能構成を模式的に示す図である。
【図５】第１の実施の形態に係る状態取得部が取得する統計量の一覧を示す図である。
【図６】シナリオ情報と重み係数とを対応づけて格納する重み係数データベースのデータ構造を模式的に示す図である。
【図７】第１の実施の形態に係る制御装置が実行する通信経路の制御処理の流れを説明するためのフローチャートである。
【図８】第２の実施の形態に係るテレイグジスタンスシステムの概要を説明するための図である。
【図９】第２の実施の形態に係る制御装置の機能構成を模式的に示す図である。
【図１０】第２の実施の形態に係る制御装置が実行する通信経路の制御処理の流れを説明するためのフローチャートである。
【発明を実施するための形態】
【００２７】
＜テレイグジスタンスシステムの概要＞
図１は、テレイグジスタンスシステムＳの構成要素の外観を模式的に示す図である。また、図２は、テレイグジスタンスシステムＳの構成要素と、各構成要素間でやり取りされる情報の流れを模式的に示す図である。以下、図１及び図２を参照して、本実施の形態の前提となるテレイグジスタンスシステムＳの概要についてまず説明する。
【００２８】
テレイグジスタンスシステムＳは、操作装置Ｃ、スレーブロボットＲ、及び操作装置ＣとスレーブロボットＲとの間の情報の流れを制御する制御装置１とを含む。一般に、操作装置Ｃが存在する場所と、スレーブロボットＲが存在する場所とは離れている。図１に示すように、テレイグジスタンスシステムＳを利用する操作者Ｕは、種々の提示装置２（ヘッドマウントディスプレイ２ａ、触覚提示装置２ｂ、ヘッドフォン２ｃ、及び撮像素子２ｄ）を装着する。操作者Ｕの身体の動きは図示しないキャプチャ装置によってトラッキングされ、操作者Ｕの身体の姿勢を示すキャプチャ情報として制御装置１に送信される。
【００２９】
スレーブロボットＲは種々のセンサ３（撮像素子３ａ、触覚センサ３ｂ、及びマイクロフォン３ｃ）を備えており、各センサ３が取得したセンサ情報は制御装置１に送信される。なお、触覚センサ３ｂは、温度センサ３１、加速度センサ３２、及び圧力センサ３３を含む。
【００３０】
図１に示すように、スレーブロボットＲは人の形を模した機械である。このため、撮像素子３ａはスレーブロボットＲの目に相当する個所に配置されている。同様に、触覚センサ３ｂはスレーブロボットＲの指先に相当する個所に配置され、マイクロフォン３ｃはスレーブロボットＲの耳に相当する個所に配置されている。
【００３１】
制御装置１は、通信ネットワークＮ上に存在するクラウドサーバである。図２に示すように、制御装置１はキャプチャ情報に基づいて操作者Ｕの姿勢の変化を解析する。制御装置１は、操作者Ｕの姿勢の変化に基づいて、スレーブロボットＲを動作させるための動作信号を生成し、スレーブロボットＲに送信する。スレーブロボットＲは、首部、肩部、肘部等の各部にアクチュエータを備えており、制御装置１が生成する動作信号はこれらのアクチュエータを動作させるための信号である。これにより、スレーブロボットＲは、操作者Ｕの姿勢の変化に連動して動くことができる。
【００３２】
操作者Ｕが提示装置２に提示された情報に基づいて姿勢を変化させ、その情報に基づいてスレーブロボットＲを動作させるという意味において、テレイグジスタンスシステムＳにおける提示装置２及びキャプチャ装置は、図２に示すようにスレーブロボットＲの操作装置Ｃとして機能する。図示はしないが、キャプチャ装置は、提示装置２を装着している操作者Ｕを撮像するためのカメラを備えることもある。この場合、キャプチャ装置は操作者Ｕから離れた位置に備えられるが、説明の便宜上、操作者Ｕが操作装置Ｃを用いることを「操作者Ｕが操作装置Ｃを装着する」と記載することがある。
【００３３】
制御装置１は、スレーブロボットＲが備えるセンサ３から取得したセンサ情報に基づいて、操作者Ｕが装着している提示装置２を動作させるための提示信号を生成し、提示装置２に送信する。例えば、撮像素子３ａが撮像して取得した画像情報は、通信ネットワークＮ及び制御装置１を介してヘッドマウントディスプレイ２ａにストリーミング配信される。これにより、操作者Ｕは、スレーブロボットＲの「目」である撮像素子３ａがとらえた映像をヘッドマウントディスプレイ２ａのモニタ越しに見ることができる。図１は、ヘッドマウントディスプレイ２ａのモニタに、スレーブロボットＲの右手と、スレーブロボットＲの右手が保持する接触対象Ｏである立方体とが映されている様子を示している。
【００３４】
同様に、触覚センサ３ｂが取得した温度、振動、及び圧力を含む触覚情報は、制御装置１によって触覚提示装置２ｂを動作させるための触覚提示信号に変換される。これにより、操作者Ｕは、スレーブロボットＲの「指先」がとらえた触覚を触覚提示装置２ｂを介して感じることができる。
【００３５】
実施の形態に係るテレイグジスタンスシステムＳにおいて、ヘッドマウントディスプレイ２ａは遮蔽型のヘッドマウントディスプレイである。このため、操作者Ｕがヘッドマウントディスプレイ２ａを介して撮像素子３ａが撮像した映像を観察すると、あたかも操作者ＵがスレーブロボットＲの存在場所にいるかのような没入感を得ることができる。
【００３６】
一方で、ひとたび操作者Ｕがヘッドマウントディスプレイ２ａを装着すると、操作者Ｕは自身の周囲を見ることができなくなる。ヘッドマウントディスプレイ２ａはキャプチャ装置の一部としても動作するため、操作者Ｕは、操作者Ｕの動きとスレーブロボットＲの動きとを同期する前にヘッドマウントディスプレイ２ａを装着する必要がある。操作者Ｕは、制御装置１からヘッドマウントディスプレイ２ａに画像信号が送られてくる前にヘッドマウントディスプレイ２ａを装着することになるので、操作者Ｕの動きとスレーブロボットＲの動きとの同期が完了するまで操作者Ｕは周囲を見ることができず不便である。
【００３７】
そこで、図１に示すように、ヘッドマウントディスプレイ２ａは、操作者Ｕに装着されたときに操作者Ｕの視線方向を撮像するための撮像素子２ｄを備えている。これにより、操作者Ｕは、ヘッドマウントディスプレイ２ａを装着した状態で周囲を観察することができる。
【００３８】
このように、スレーブロボットＲは、操作者Ｕの姿勢の変化に連動して動作するとともに、操作者Ｕが装着する提示装置２を動作させる信号を取得するセンサ群を備える。操作者Ｕは、実施の形態に係るテレイグジスタンスシステムＳを用いることにより、実際には存在しない場所であるスレーブロボットＲの存在場所に存在したとするならば得られる視覚、聴覚、及び触覚等の感覚を経験することができる。
【００３９】
＜第１の実施の形態に係るテレイグジスタンスシステムＳの概要＞
上記は、テレイグジスタンスシステムＳにおいて操作装置ＣとスレーブロボットＲとがそれぞれ１つずつのみ存在する場合について説明した。これに対し、第１の実施の形態に係るテレイグジスタンスシステムＳは、単数の操作装置Ｃと１又は複数のスレーブロボットＲとが存在する。第１の実施の形態に係るテレイグジスタンスシステムＳは、一人の操作者Ｕが１台の操作装置Ｃを用いて複数のスレーブロボットＲを制御する場合に用いられるシステムである。
【００４０】
図３は、第１の実施の形態に係るテレイグジスタンスシステムＳの概要を説明するための図である。図３に示すテレイグジスタンスシステムＳは、複数のスレーブロボットＲと、複数のスレーブロボットＲの動作を制御するための１つの操作装置Ｃと、操作装置Ｃと複数のスレーブロボットＲとの間において情報を伝達する通信経路を構成するための複数の仮想ルータＶと、を備えている。なお、図示の都合上、図３は２つのスレーブロボットＲ（第１スレーブロボットＲ１及び第２スレーブロボットＲ２）のみを図示しているが、スレーブロボットＲの数は１であってもよいし、３以上であってもよい。同様に、図３は４つの仮想ルータＶ（第１仮想ルータＶ１、第２仮想ルータＶ２、第３仮想ルータＶ３、及び第４仮想ルータＶ４）を図示しているが、仮想ルータＶの数は４つに限られない。
【００４１】
制御装置１は、操作装置Ｃと複数のスレーブロボットＲとの間の通信を制御する。既知の技術であるため詳細な説明は省略するが、仮想ルータＶは、仮想的にルーティング機能を実現するための技術である。仮想ルータＶは、ネットワークスイッチの機能が仮想化されており、データの転送先が制御装置１によって制御できるように構成されている。このため、ひとたび操作装置ＣとスレーブロボットＲとの間にいくつかの仮想ルータＶによって通信経路が確立された後であっても、事後的に操作装置ＣとスレーブロボットＲとの間の通信経路を構成する仮想ルータＶを変更することができる。制御装置１は、仮想ルータＶの動作を制御することによって、操作装置Ｃと複数のスレーブロボットＲとの間の通信を制御する。
【００４２】
例えば、操作装置ＣとスレーブロボットＲとの間で仮想ルータＶによって通信経路が確立された後、何らかの理由によってその通信経路の通信品質が下がったとする。この場合、制御装置１は、操作装置ＣとスレーブロボットＲとの間の通信品質を向上させるために、仮想ルータＶを制御して通信経路を変更する。別の例として、操作者Ｕが、２台のスレーブロボットＲを同時に操作している状態、すなわち、操作装置Ｃと第１スレーブロボットＲ１との間の通信経路及び操作装置Ｃと第２スレーブロボットＲ２との間の通信経路が同時に確立している状態から、第１スレーブロボットＲ１のみを操作する状態に移行することを示す指示を制御装置１に送信した場合、制御装置１は、仮想ルータＶを制御して操作装置Ｃと第２スレーブロボットＲ２との間の通信経路を切断する。
【００４３】
このように、第１の実施の形態に係るテレイグジスタンスシステムＳにおいて、制御装置１は、仮想ルータＶを制御することによって操作装置ＣとスレーブロボットＲとの間の通信経路を動的に変更する。この結果、テレイグジスタンスシステムＳにおける操作装置ＣとスレーブロボットＲとは、ストリーミングデータのビットレート、データのビットレートやデータ量等、特定の項目の値を一定以上に維持したまま通信をすることができる。また、操作者Ｕは、スレーブロボットＲを操作して実行するタスクに応じて、複数のスレーブロボットＲのうち操作装置Ｃを用いて操作するスレーブロボットＲを自由に変更することができる。
【００４４】
＜第１の実施の形態に係る制御装置１の機能構成＞
図４は、第１の実施の形態に係る制御装置１の機能構成を模式的に示す図である。制御装置１は、記憶部１０と制御部１１とを備える。図４において、矢印は主なデータの流れを示しており、図４に示していないデータの流れがあってもよい。図４において、各機能ブロックはハードウェア（装置）単位の構成ではなく、機能単位の構成を示している。そのため、図４に示す機能ブロックは単一の装置内に実装されてもよく、あるいは複数の装置内に分かれて実装されてもよい。機能ブロック間のデータの授受は、データバス、ネットワーク、可搬記憶媒体等、任意の手段を介して行われてもよい。また、図４は、操作装置ＣとスレーブロボットＲとの間の通信経路の制御に関する機能ブロックのみを図示しており、キャプチャ情報を動作信号に変換する機能や、センサ情報を提示信号に変換する機能については省略している。
【００４５】
記憶部１０は、制御装置１を実現するコンピュータのＢＩＯＳ（Basic Input Output System）等を格納するＲＯＭ（Read Only Memory）や制御装置１の作業領域となるＲＡＭ（Random Access Memory）、ＯＳ（Operating System）やアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等の大容量記憶装置である。
【００４６】
制御部１１は、制御装置１のＣＰＵ（Central Processing Unit）やＧＰＵ（Graphics Processing Unit）等のプロセッサであり、記憶部１０に記憶されたプログラムを実行することによって状態取得部１１０、経路決定部１１１、指示送信部１１２、優先ロボット取得部１１３、及びシナリオ情報取得部１１４として機能する。
【００４７】
なお、図４は、制御装置１が単一の装置で構成されている場合の例を示している。しかしながら、制御装置１は、例えばクラウドコンピューティングシステムのように複数のプロセッサやメモリ等の計算リソースによって実現されてもよい。この場合、制御部１１を構成する各部は、複数の異なるプロセッサの中の少なくともいずれかのプロセッサがプログラムを実行することによって実現される。
【００４８】
状態取得部１１０は、操作装置Ｃ、複数のスレーブロボットＲ、及び複数の仮想ルータＶのそれぞれから、操作装置Ｃと複数のスレーブロボットＲとの通信が確立している間にステータスレポートを繰り返し取得する。ここで仮想ルータＶのステータスレポートとは、操作装置ＣとスレーブロボットＲとを結ぶ通信経路を構成する各機器の通信品質の良し悪しを推定するために用いられる測定値、又は測定値に基づいて算出された統計量である。なお、仮想ルータＶのステータスレポートの具体的な内容については後述する。
【００４９】
また、操作装置Ｃ及びスレーブロボットＲのステータスレポートも存在する。操作装置Ｃのステータスレポートは、上述したキャプチャ情報の大きさや、提示装置２の動作状況を示す情報である。スレーブロボットＲのステータスレポートは、上述したセンサ情報の大きさや、スレーブロボットを構成する各種アクチュエータ及びセンサ３の動作状況を示す情報である。以下、本明細書において、仮想ルータＶのステータスレポート、操作装置Ｃのステータスレポート、及びスレーブロボットＲのステータスレポートを区別しない場合、単に「ステータスレポート」と記載する。
【００５０】
経路決定部１１１は、状態取得部１１０がステータスレポートを取得することを契機として、取得したステータスレポートに基づいて、スレーブロボットＲの動作を制御するための動作信号である制御指示を複数のスレーブロボットＲに伝達するための通信経路を決定する。より具体的には、経路決定部１１１は、状態取得部１１０が取得したステータスレポートに基づいて、操作装置ＣとスレーブロボットＲとの間の通信経路を構成するための仮想ルータＶを選択する。
【００５１】
指示送信部１１２は、経路決定部１１１が決定した通信経路を構成するための指示を、その通信経路を構成する複数の仮想ルータＶそれぞれに送信する。各仮想ルータＶが制御装置１から受信した指示にしたがって仮想スイッチを設定することにより、通信経路が確立される。
【００５２】
制御装置１は、操作装置ＣとスレーブロボットＲとの間の通信が確立している間、ステータスレポートの取得と取得したステータスレポートに基づく通信経路の決定処理とを継続する。これにより、制御装置１は、操作装置ＣとスレーブロボットＲとの間の通信が確立している間に操作装置ＣとスレーブロボットＲとの間の通信経路の通信品質が下がった場合、通信品質が向上するように適宜通信経路を変更することができる。結果として、制御装置１は、テレイグジスタンスシステムＳにおける操作装置ＣとスレーブロボットＲとの間のストリーミングデータのビットレートやデータ量を維持することができる。
【００５３】
図３に示すように、第１の実施の形態に係るテレイグジスタンスシステムＳにおいては、１台の操作装置Ｃに対して複数のスレーブロボットＲが存在する場合がある。このため、操作者Ｕが実行するタスクによっては、操作者Ｕは操作装置Ｃを用いて複数のスレーブロボットＲを同時に操作することも起こりうる。この場合、制御装置１は、キャプチャ情報に基づいて生成したスレーブロボットＲの動作信号を、複数のスレーブロボットＲに送信する必要がある。
【００５４】
そこで、経路決定部１１１は、複数の仮想ルータＶの中から、スレーブロボットＲの動作を制御するための制御指示を複数のスレーブロボットＲに伝達するために、制御指示をマルチキャストさせる仮想ルータＶを決定する。これにより、制御装置１は、スレーブロボットＲの動作を制御するための動作信号を、複数のスレーブロボットＲに送信することができる。
【００５５】
操作者Ｕが装着する操作装置Ｃには、スレーブロボットＲが備える各センサが取得してストリーミング配信されるセンサ情報に基づいて生成された触覚提示信号にしたがって視覚、聴覚、及び触覚等の感覚を操作者Ｕに提示する。第１の実施の形態に係るテレイグジスタンスシステムＳにおいては１台の操作装置Ｃに対して複数のスレーブロボットＲが存在することもあり得るため、このような場合、制御装置１は、いずれのスレーブロボットＲが備える各センサが取得したセンサ情報に基づいて触覚提示信号を生成すべきかが問題となる。
【００５６】
そこで、優先ロボット取得部１１３は、テレイグジスタンスシステムＳが複数のスレーブロボットＲを備える場合、複数のスレーブロボットＲの中から、操作装置Ｃにストリーミングデータを送信するスレーブロボットである優先ロボットを特定する優先ロボット情報を取得する。経路決定部１１１は、複数の仮想ルータＶの中から、優先ロボット以外の他のスレーブロボットＲが送信したストリーミングデータを破棄させる仮想ルータを決定する。これにより、操作者Ｕが装着する操作装置Ｃには、優先ロボットが備えるセンサ３が取得した情報に基づく提示信号のみが送信される。
【００５７】
続いて、経路決定部１１１が実行する経路決定処理の詳細について説明する。
図４に示すように、経路決定部１１１は、スコア算出部１１１０と経路選択部１１１１とを備える。スコア算出部１１１０は、操作装置ＣとスレーブロボットＲとの間を接続する複数の通信経路の候補それぞれについて、状態取得部１１０が取得したステータスレポートに基づいて各通信経路の通信能力を示すスコアを算出する。
【００５８】
経路選択部１１１１は、通信能力が高いことを示すスコアが算出された通信経路の候補を、通信能力が低いことを示すスコアが算出された通信経路の候補よりも優先して、操作装置ＣとスレーブロボットＲとの間を接続する通信経路として選択する。これにより、経路選択部１１１１は、操作装置ＣとスレーブロボットＲとの間を接続する複数の通信経路それぞれを構成する機器のステータスレポートに基づいて、通信品質が相対的に良好な通信経路を選択することができる。
【００５９】
上述したように、状態取得部１１０が取得するステータスレポートは、操作装置ＣとスレーブロボットＲとを結ぶ通信経路を構成する各機器の通信品質の良し悪しを推定するために用いられる測定値、又は測定値に基づいて算出された統計量である。具体的には、状態取得部１１０が取得するステータスレポートは、操作装置ＣとスレーブロボットＲとの間の通信に関するバンド幅、レイテンシ、ジッター、パケット損失率、パケット並べ替え率、及び誤り訂正率のそれぞれに関する統計量を少なくとも含んでいる。スコア算出部１１１０は、状態取得部１１０がステータスレポートとして取得したこれらの統計量に基づいてスコアを算出する。
【００６０】
図５は、第１の実施の形態に係る状態取得部１１０が取得する統計量の一覧を示す図である。図５に示すように、状態取得部１１０が取得する統計量は、バンド幅、レイテンシ、ジッター、パケット損失率、パケット並べ替え率、及び誤り訂正率のそれぞれの項目に関する最大値、最小値、及び平均値を含んでいる。
【００６１】
スコア算出部１１１０は、以下に示す式（１）にしたがって各通信経路の通信能力を示すスコアＲＳを算出する。
【００６２】
【数１】
2020170934.tif 000003
【００６３】
式（１）に示すように、スコア算出部１１１０は、各項目について平均値と最小値との差を最大値と最小値との差で規格化した値に項目毎に異なる重み係数を乗じた値を算出し、算出した値の総和をスコアＲＳとして算出する。「重み係数」は、スコアＲＳに対する各項目の寄与率を示す正の実数値である。
【００６４】
例えば、テレイグジスタンスシステムＳの設計者が、スレーブロボットＲの操作目的を勘案しながら、実験により重み係数を定めればよい。そのため、シナリオ情報取得部１１４は、操作装置Ｃを用いてスレーブロボットＲを操作する目的を示す操作シナリオ情報を取得する。シナリオ情報は操作者ＵがテレイグジスタンスシステムＳを利用する目的を示す情報であり、例えば、「バーチャル旅行」、「店舗における棚卸し作業」、「危険地帯における作業」等である。テレイグジスタンスシステムＳの操作目的が決定している場合には、シナリオ情報取得部１１４は、あらかじめ記憶部１０に記憶されている操作シナリオ情報を読み出して取得する。テレイグジスタンスシステムＳが汎用的なシステムであり、利用毎に操作シナリオが異なる場合には、シナリオ情報取得部１１４は、図示しないユーザインターフェースを介してテレイグジスタンスシステムＳの操作者Ｕから操作シナリオ情報を取得する。
【００６５】
図６は、シナリオ情報と重み係数とを対応づけて格納する重み係数データベースのデータ構造を模式的に示す図である。重み係数データベースは記憶部１０に格納されており、スコア算出部１１１０によって管理されている。スコア算出部１１１０は、シナリオ情報取得部１１４が取得した操作シナリオ情報に基づいて、重み係数データベースを参照して操作シナリオ毎に重み係数を変更する。これにより、経路選択部１１１１は、操作者ＵがテレイグジスタンスシステムＳを利用する目的に応じて適切に通信経路を選択することができる。
【００６６】
なお、スコア算出部１１１０は、算出したスコアＲＳが所定の閾値よりも上回っている場合、通信状態が良好であることを示す情報を制御装置１の表示部に表示させてもよい。例えば、制御装置１の表示部がモニタである場合、スコア算出部１１１０は、「通信状態：良好」のような文字列を表示部に表示させる。あるいは、制御装置１が通信状態の良し悪しを示すＬＥＤ（Light Emitting Diode）を備える場合には、スコア算出部１１１０は、通信状態が良好であることを示すためにＬＥＤを緑色に発光させてもよい。
【００６７】
また、スコア算出部１１１０は、算出したスコアＲＳが所定の閾値以下である場合、通信状態が不良であることを示す情報を制御装置１の表示部に表示させてもよい。例えば、制御装置１の表示部がモニタである場合、スコア算出部１１１０は、「通信状態：不良」のような文字列を表示部に表示させる。あるいは、制御装置１が通信状態の良し悪しを示すＬＥＤを備える場合には、スコア算出部１１１０は、通信状態が不良であることを示すためにＬＥＤを赤色に発光させてもよい。
【００６８】
さらに、複数の通信経路におけるスコアＲＳが閾値以下である場合、スコア算出部１１１０は、ＬＥＤを点滅させたり、表示部に表示させるフォントの大きさや色を変更して、制御装置１の管理者に通知させたりしてもよい。
【００６９】
このように、経路選択部１１１１は、スコア算出部１１１０が算出したスコアＲＳに基づいて、通信経路を選択する。より具体的には、経路選択部１１１１は、現在選択中の通信経路に関するＲＳよりも他の通信経路に関するスコアＲＳが大きくなった場合、他の通信経路を新たな通信経路として選択する。
【００７０】
ここで、経路選択部１１１１は、通信経路の選択時に参照するスコアＲＳにヒステリシスを設け、通信経路が維持されるようにしてもよい。具体的には、経路選択部１１１１は、不感帯を示す所定値を定め、現在選択中の通信経路に関するＲＳよりも他の通信経路に関するスコアＲＳに所定値を加えた値が大きくなった場合に、他の通信経路を新たな通信経路として選択するようにしてもよい。これにより、操作者ＵがスレーブロボットＲを操作中に、経路選択部１１１１による通信経路の選択に伴うハンチング（頻繁な変更）が生じることを抑制できる。
【００７１】
あるいは、経路選択部１１１１は、選択中の通信経路を他の通信経路に切り替える際の待機期間を設けてもよい。これにより、少なくとも通信経路の切り替えの間隔が待機期間よりも短くなることを抑制できる。また、経路選択部１１１１は、通信経路切り替えの際の待機期間を通信経路選択時のスコアＲＳの長さに基づいて変更するようにしてもよい。具体的には、経路選択部１１１１は、通信経路選択時のスコアＲＳが大きいほど、通信経路切り替え時の待機期間を長くするようにしてもよい。これにより、スコア算出部１１１０が算出したスコアＲＳが大きいほど待機期間が長くなり、通信経路の選択に伴うハンチングをより効果的に抑制することができる。
【００７２】
＜制御装置１が実行する通信経路の制御方法の処理フロー＞
図７は、第１の実施の形態に係る制御装置１が実行する通信経路の制御処理の流れを説明するためのフローチャートである。本フローチャートにおける処理は、例えば制御装置１が起動したときに開始する。
【００７３】
状態取得部１１０は、テレイグジスタンスシステムＳを構成する操作装置Ｃ、１又は複数のスレーブロボットＲ、及び複数の仮想ルータＶのそれぞれから、ステータスレポートを取得する（Ｓ２）。経路決定部１１１は、状態取得部１１０がステータスレポートを取得することを契機として、状態取得部１１０が取得したステータスレポートに基づいて、スレーブロボットＲの動作を制御するための制御指示を１又は複数のスレーブロボットＲに伝達するための通信経路を決定する（Ｓ４）。
【００７４】
指示送信部１１２は、決定した通信経路を構成するための指示を複数の仮想ルータＶそれぞれに送信する（Ｓ６）。制御装置１は、操作装置Ｃと１又は複数のスレーブロボットＲとの通信が確立している間、上記の処理を繰り返し実行する。これにより、テレイグジスタンスシステムＳにおいてストリーミングデータのビットレートやデータ量を維持することができる。
【００７５】
＜第１の実施の形態に係る制御装置１が奏する効果＞
以上説明したように、第１の実施の形態に係る制御装置１によれば、テレイグジスタンスシステムＳにおいてストリーミングデータのビットレートやデータ量を維持することができる。また、１台の操作装置Ｃに対して複数のスレーブロボットＲが存在するテレイグジスタンスシステムＳにおいて、操作装置Ｃにストリーミングデータを送信するスレーブロボットである優先ロボットが備えるセンサ３が取得した情報に基づく提示信号のみを、操作装置Ｃに送信することができる。
【００７６】
＜第２の実施の形態＞
第２の実施の形態に係るテレイグジスタンスシステムＳは、第１の実施の形態に係るテレイグジスタンスシステムＳと異なり、スレーブロボットＲは１台である一方、複数の操作装置Ｃを含む。以下、第２の実施の形態に係るテレイグジスタンスシステムＳについて説明するが、第１の実施の形態と共通する部分については適宜省略又は簡略化して説明する。
【００７７】
＜第２の実施の形態に係るテレイグジスタンスシステムＳの概要＞
第２の実施の形態に係るテレイグジスタンスシステムＳは、１台のスレーブロボットＲが複数の操作装置Ｃによって制御される場合に用いられるシステムである。
【００７８】
図８は、第２の実施の形態に係るテレイグジスタンスシステムＳの概要を説明するための図である。図８に示すテレイグジスタンスシステムＳは、複数の操作装置Ｃと、複数の操作装置Ｃのうちのいずれか１つの操作装置Ｃで動作が制御される１つのスレーブロボットＲと、複数の操作装置ＣとスレーブロボットＲとの間において情報を伝達する通信経路を構成するための複数の仮想ルータＶと、を備えている。なお、図示の都合上、図８は２つの操作装置Ｃ（第１操作装置Ｃ１及び第２操作装置Ｃ２）のみを図示しているが、操作装置Ｃの数は３以上であってもよい。同様に、図８は４つの仮想ルータＶ（第１仮想ルータＶ１、第２仮想ルータＶ２、第３仮想ルータＶ３、及び第４仮想ルータＶ４）を図示しているが、仮想ルータＶの数は４つに限られない。
【００７９】
制御装置４は、複数の操作装置ＣとスレーブロボットＲとの間の通信を制御する。制御装置４は、仮想ルータＶの動作を制御することによって、スレーブロボットＲと複数の操作装置Ｃとの間の通信を制御する。例えば、操作装置ＣとスレーブロボットＲとの間で仮想ルータＶによって通信経路が確立された後、何らかの理由によってその通信経路の通信品質が下がったとする。この場合、制御装置４は、操作装置ＣとスレーブロボットＲとの間の通信品質を向上させるために、仮想ルータＶを制御して通信経路を変更する。別の例として、第２操作装置Ｃ２の操作者Ｕが、第１操作装置Ｃ１によってスレーブロボットＲが制御されている状態から第２操作装置Ｃ２によってスレーブロボットＲを制御する状態に移行することを示す指示を制御装置４に送信した場合、制御装置４は、仮想ルータＶを制御して第１操作装置Ｃ１とスレーブロボットＲとの間の通信経路を切断するとともに、第２操作装置Ｃ２とスレーブロボットＲとの間の通信経路を確立させる。
【００８０】
このように、第２の実施の形態に係るテレイグジスタンスシステムＳにおいて、制御装置４は、仮想ルータＶを制御することによって操作装置ＣとスレーブロボットＲとの間の通信経路を変更する。この結果、テレイグジスタンスシステムＳにおける操作装置ＣとスレーブロボットＲとは、ストリーミングデータのビットレートやデータ量等、特定の項目の値を一定以上に維持したまま、操作装置ＣとスレーブロボットＲとの間で通信をすることができる。また、制御装置４は、スレーブロボットＲを操作するための操作装置Ｃを自在に切り替えることができる。
【００８１】
＜第２の実施の形態に係る制御装置４の機能構成＞
図９は、第２の実施の形態に係る制御装置４の機能構成を模式的に示す図である。制御装置４は、記憶部４０と制御部４１とを備える。図９において、矢印は主なデータの流れを示しており、図９に示していないデータの流れがあってもよい。図９において、各機能ブロックはハードウェア（装置）単位の構成ではなく、機能単位の構成を示している。そのため、図９に示す機能ブロックは単一の装置内に実装されてもよく、あるいは複数の装置内に分かれて実装されてもよい。機能ブロック間のデータの授受は、データバス、ネットワーク、可搬記憶媒体等、任意の手段を介して行われてもよい。また、図９は、操作装置ＣとスレーブロボットＲとの間の通信経路の制御に関する機能ブロックのみを図示しており、キャプチャ情報を動作信号に変換する機能や、センサ情報を提示信号に変換する機能については省略している。
【００８２】
記憶部４０は、制御装置４を実現するコンピュータのＢＩＯＳ等を格納するＲＯＭや制御装置４の作業領域となるＲＡＭ、ＯＳやアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するＨＤＤやＳＳＤ等の大容量記憶装置である。
【００８３】
制御部４１は、制御装置４のＣＰＵやＧＰＵ等のプロセッサであり、記憶部４０に記憶されたプログラムを実行することによって状態取得部４１０、経路決定部４１１、指示送信部４１２、優先操作装置取得部４１３、及びシナリオ情報取得部４１４として機能する。
【００８４】
なお、図９は、制御装置４が単一の装置で構成されている場合の例を示している。しかしながら、制御装置４は、例えばクラウドコンピューティングシステムのように複数のプロセッサやメモリ等の計算リソースによって実現されてもよい。この場合、制御部４１を構成する各部は、複数の異なるプロセッサの中の少なくともいずれかのプロセッサがプログラムを実行することによって実現される。
【００８５】
優先操作装置取得部４１３は、テレイグジスタンスシステムＳが備える複数の操作装置Ｃの中から、スレーブロボットＲの動作を制御するための操作装置Ｃである優先操作装置を特定する。例えば、あるシナリオにおいては、優先操作装置は、あらかじめ定められたスケジュールにしたがって変更される。別のシナリオにおいては、最後にオンラインとなった操作装置Ｃが優先操作装置となる。さらに別のシナリオでは、上位権限を持った操作装置Ｃがオンラインとなった場合に優先操作装置となる。このように、優先操作装置の定め方はスレーブロボットＲを操作する目的に応じて異なっており、その態様は上記の例以外にも種々存在する。
【００８６】
状態取得部４１０は、複数の操作装置Ｃ、スレーブロボットＲ、及び複数の仮想ルータＶのそれぞれから、複数の操作装置ＣとスレーブロボットＲとの通信が確立している間にステータスレポートを繰り返し取得する。
【００８７】
経路決定部４１１は、状態取得部４１０がステータスレポートを取得することを契機として、取得したステータスレポートと優先操作装置を示す優先操作情報とに基づいて、スレーブロボットＲの動作を制御するための制御指示をスレーブロボットＲに伝達するための通信経路を決定する。具体的には、経路決定部４１１は、優先操作装置である操作装置ＣとスレーブロボットＲとの間を結ぶ通信経路を決定する。
【００８８】
指示送信部４１２は、経路決定部４１１が決定した通信経路を構成するための指示を複数の仮想ルータＶそれぞれに送信する。これにより、制御装置４は、１台のスレーブロボットＲを操作可能な複数の操作装置Ｃが存在するテレイグジスタンスシステムＳにおいて、異なる操作装置Ｃに由来する複数の制御指示が１台のスレーブロボットＲに同時に送信されることを抑制できる。
【００８９】
一方で、１台のスレーブロボットＲが備えるセンサ３が取得したセンサ情報を複数の操作装置Ｃで共有できると便利である。例えば、テレイグジスタンスシステムＳがバーチャル旅行に用いられる場合、観光地に存在する１台のスレーブロボットＲのセンサ３が取得した情報に基づく提示信号を、そのバーチャル旅行に参加している複数の操作者Ｕそれぞれが装着している複数の提示装置２に送信することが考えられる。この場合、限定はしないが、優先操作装置はバーチャル旅行の添乗員が備える操作装置Ｃであり、バーチャル旅行の参加者はそれぞれ装着する操作装置Ｃを用いて、観光地に存在するスレーブロボットＲの撮像素子３ａがとらえた映像を見たり、マイクロフォン３ｃが集音した音声を聞いたりすることができる。
【００９０】
これを実現するために、経路決定部４１１は、複数の仮想ルータＶの中から、スレーブロボットＲが送信したストリーミングデータを複数の操作装置Ｃに伝達するために、ストリーミングデータをマルチキャストさせる仮想ルータＶを決定する。これにより、制御装置４は、スレーブロボットＲが取得したセンサ情報に基づく提示信号を、複数の操作装置Ｃに送信することができる。
【００９１】
上述したように、第２の実施の形態に係るテレイグジスタンスシステムＳが稼働中（ある操作装置ＣによってスレーブロボットＲが操作されている状態）に優先操作装置は変化しうる。そこで、経路決定部４１１は、優先操作装置取得部４１３が新たな優先操作装置情報を取得することを契機として、通信経路を再決定する。これにより、制御装置４は操作装置Ｃと操作装置ＣによるスレーブロボットＲの操作を中断することなく、優先操作装置を柔軟に入れ替えることができる。
【００９２】
＜制御装置４が実行する通信経路の制御方法の処理フロー＞
図１０は、第２の実施の形態に係る制御装置４が実行する通信経路の制御処理の流れを説明するためのフローチャートである。本フローチャートにおける処理は、例えば制御装置４が起動したときに開始する。
【００９３】
優先操作装置取得部４１３は、テレイグジスタンスシステムＳが備える複数の操作装置Ｃの中から、スレーブロボットＲの動作を制御するための操作装置である優先操作装置を特定する優先操作装置情報を取得する（Ｓ１０）。
【００９４】
状態取得部４１０は、複数の操作装置Ｃ、スレーブロボットＲ、及び複数の仮想ルータＶのそれぞれから、ステータスレポートを取得する（Ｓ１２）。経路決定部４１１は、状態取得部４１０がステータスレポートを取得することを契機として、取得したステータスレポートと優先操作装置情報とに基づいて、スレーブロボットＲの動作を制御するための制御指示をスレーブロボットＲに伝達するための通信経路を決定する（Ｓ１４）。
【００９５】
指示送信部４１２は、経路決定部４１１が決定した通信経路を構成するための指示を複数の仮想ルータＶそれぞれに送信する。制御装置４は、複数の操作装置ＣとスレーブロボットＲとの通信が確立している間、上記の処理を繰り返し実行する。
【００９６】
なお、スコア算出部４１１０、経路選択部４１１１、及びシナリオ情報取得部４１４の機能は、それぞれ第１の実施の形態に係るスコア算出部１１１０、経路選択部１１１１、及びシナリオ情報取得部１１４と同様であるため説明を省略する。
【００９７】
＜第２の実施の形態に係る制御装置４が奏する効果＞
以上説明したように、第２の実施の形態に係る制御装置４によれば、テレイグジスタンスシステムＳの運用において特定の項目の値を一定以上に維持したまま通信を行うことができる。また、１台のスレーブロボットＲに対して複数の操作装置Ｃが存在するテレイグジスタンスシステムＳにおいて、スレーブロボットＲに動作信号を送信することができる優先操作装置に由来する制御信号のみを、スレーブロボットＲに送信することができる。
【００９８】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の全部又は一部は、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果をあわせ持つ。
【００９９】
＜第１の変形例＞
上記では、１台の操作装置Ｃに対して複数のスレーブロボットＲを備えるテレイグジスタンスシステムＳと、１台のスレーブロボットＲに対して複数の操作装置Ｃを備えるテレイグジスタンスシステムＳとについて説明した。しかしながら、テレイグジスタンスシステムＳは、複数台の操作装置Ｃと複数台のスレーブロボットＲとを備えてもよい。
【０１００】
このテレイグジスタンスシステムＳにおいては、第１の実施の形態に係る優先ロボットと、第２の実施の形態に係る優先操作装置とが存在する。この場合、複数の操作装置Ｃの中から選択された優先操作装置によって各スレーブロボットＲの動作が制御されるとともに、複数のスレーブロボットＲの中から選択された優先ロボットのセンサ３が取得したセンサ情報に基づいて、各操作装置Ｃの提示信号が生成される。これにより、例えば、複数の操作者Ｕで交代しながら複数の作業用のスレーブロボットＲを制御することが可能となる。
【０１０１】
＜第２の変形例＞
上記では、制御装置１が、キャプチャ情報から動作信号を生成する機能、センサ情報から提示信号を生成する機能、及びステータスレポートに基づいて仮想ルータＶを制御する機能を備える場合について説明した。しかしながら、これらの機能は１台の制御装置１がすべて備える必要はなく、複数の装置で各機能を分担してもよい。例えば、キャプチャ情報から動作信号を生成する機能とセンサ情報から提示信号を生成する機能とを１台のサーバが担い、仮想ルータＶを制御する機能を別のサーバが担ってもよい。この場合、前者はいわば操作装置・ロボット制御装置であり、後者はいわばネットワーク制御装置である。テレイグジスタンスシステムＳを動作させるための機能毎に負荷分散を実現できる点で効果がある。
【０１０２】
＜第３の変形例＞
上記では、スコア算出部１１１０又はスコア算出部４１１０が算出したスコアＲＳに基づいて、通信経路が選択される場合について説明した。これに替えて、あるいはこれに加えて、スコアＲＳの大きさによってスレーブロボットＲの操作モードを変更するようにしてもよい。
【０１０３】
具体的には、第３の変形例に係る制御装置は、図示しない操作モード変更部を備える。操作モード変更部は、算出されたスコアＲＳが所定の基準値に届かない場合、スレーブロボットＲを自動操縦させる自動操縦モードに設定する。スレーブロボットＲが自動操縦モードでは、操作者Ｕが備える操作装置Ｃから動作信号が送信されない場合は、スレーブロボットＲが自動で動作するモードである。操作者Ｕが備える操作装置Ｃから動作信号が送信された場合は、スレーブロボットＲは動作信号にしたがって動作する。これにより、通信経路の通信状態が悪化したことによってスレーブロボットＲまで動作信号が到達されない状況が発生しても、スレーブロボットＲが停止してしまうことによる不具合を抑制することができる。
【０１０４】
なお、操作モード変更部は、算出されたスコアＲＳが所定の基準を上回っている場合には、スレーブロボットＲを手動操作モードに設定する。これにより、通信経路の通信状態が良好な場合には、スレーブロボットＲは操作者Ｕによる制御の下で動作させることができる。
【符号の説明】
【０１０５】
１・・・制御装置
１０・・・記憶部
１１・・・制御部
１１０・・・状態取得部
１１１・・・経路決定部
１１１０・・・スコア算出部
１１１１・・・経路選択部
１１２・・・指示送信部
１１３・・・優先ロボット取得部
１１４・・・シナリオ情報取得部
２・・・提示装置
２ａ・・・ヘッドマウントディスプレイ
２ｂ・・・触覚提示装置
２ｃ・・・ヘッドフォン
２ｄ・・・撮像素子
３・・・センサ
３ａ・・・撮像素子
３ｂ・・・触覚センサ
３ｃ・・・マイクロフォン
４・・・制御装置
４０・・・記憶部
４１・・・制御部
４１０・・・状態取得部
４１１・・・経路決定部
４１１０・・・スコア算出部
４１１１・・・経路選択部
４１２・・・指示送信部
４１３・・・優先操作装置取得部
４１４・・・シナリオ情報取得部
Ｃ・・・操作装置
Ｎ・・・通信ネットワーク
Ｒ・・・スレーブロボット
Ｖ・・・仮想ルータ
Ｓ・・・テレイグジスタンスシステム
【図１】
2020170934.tif 000004
【図２】
2020170934.tif 000005
【図３】
2020170934.tif 000006
【図４】
2020170934.tif 000007
【図５】
2020170934.tif 000008
【図６】
2020170934.tif 000009
【図７】
2020170934.tif 000010
【図８】
2020170934.tif 000011
【図９】
2020170934.tif 000012
【図１０】
2020170934.tif 000013