以下、図面を参照しながら、発明を実施するための形態を説明する。なお、図面の説明において同一要素には同一符号を付し、重複する説明は省略する。
●実施形態●
●システム構成
図1は、実施形態に係る遠隔制御システムのシステム構成の一例を示す図である。図1に示す遠隔制御システムは、表示端末50を用いて、遠隔拠点に位置するロボット10を遠隔操作することによって、拠点内の装置の管理や保守作業等、または拠点内に位置する人の位置や動線の確認等を行うことができるシステムである。また、遠隔制御システム1aは、ロボット10側の拠点で撮影された画像(映像)と表示端末50側の拠点で撮影された画像(映像)とを双方向に送受信することによって、遠隔会議を実現することができるシステムである。
遠隔制御システム1aは、複数の拠点(拠点A,拠点B、拠点C)のそれぞれに位置するロボット10(10A、10B、10C、以下、区別する必要のないときは、ロボット10とする。)、表示端末50および管理サーバ90によって構成される。ロボット10、表示端末50および管理サーバ90は、通信ネットワーク9を介して通信可能に接続されている。通信ネットワーク9は、例えば、LAN(Local Area Network)、専用線およびインターネット等によって構築される。通信ネットワーク9は、有線だけでなく、Wi−Fi(登録商標)等の無線による通信が行われる箇所があってもよい。
ロボット10は、各拠点(拠点A,拠点B、拠点C)に設置され、表示端末50からの遠隔操作によって自律走行する移動体である。ロボット10は、後述する撮影装置21によってロボット10の周囲の被写体を撮像しながら拠点内を移動し、撮影装置21によって取得された画像を表示端末50へ送信することで、表示端末50を用いてロボット10を操作する操作者に、拠点内の情報(画像)を提供する。ロボット10は、移動体の一例である。
表示端末50は、各拠点(拠点A,拠点B、拠点C)に設置されたロボット10の遠隔操作を行うPC(Personal Computer)等の端末装置である。表示端末50は、ロボット10から送信されてきた画像を表示する。操作者は、表示端末50に表示された画像を見ながら、ロボット10の遠隔操作を行うことができる。
なお、表示端末50は、ロボット10から送信されてきた画像を表示する表示手段を備えたものであればよく、例えば、タブレット端末、携帯電話、スマートフォン、ヘッドマウウントディスプレイ(HMD)等のウェアラブル端末、広角スクリーン(円筒、全天球、半天球スクリーン等)を備えた通信端末、PDA(Personal Digital Assistant)等であってもよい。
管理サーバ90は、各拠点に位置するロボット10と表示端末50との間の通信を管理するためのサーバコンピュータである。管理サーバ90は、通信ネットワーク9を介してロボット10および表示端末50と接続される。なお、管理サーバ90は、複数台のサーバコンピュータにより構成されてもよく、どのサーバコンピュータに機能を備えさせてもよい。
ロボット10が設置される拠点は、例えば、オフィス、倉庫、工場、学校等である。表示端末50を用いてロボット10を操作する操作者は、ロボット10から送信された拠点内の画像を確認することによって、拠点内の人の位置や動線の確認、拠点内に設置された装置の管理や保守等を行うことができる。また、ロボット10と表示端末50は、双方によって撮影された画像を送受信することで双方向のコミュニケーション(遠隔会議)を行うこともできる。
なお、図1において、各拠点内に一台のロボット10が設置されている構成を説明したが、ロボット10は、一つの拠点に複数台設置されていてもよい。また、表示端末50は、複数の拠点に配置されたロボット10のそれぞれと通信する構成であってもよいし、一つの拠点に配置されたロボット10のみと通信する構成であってもよい。
●ロボット10の構成
ここで、図2乃至図4を用いて、図1で示したロボット10の具体的な構成を説明する。図2は、実施形態に係るロボットの構成の概略の一例を示す図である。
図2に示すロボット10は、ロボット10を移動させる移動機構17、ロボットの処理または動作を制御する制御装置30を備えた筐体15、表示端末50から送信された画像を表示させるディスプレイ306a、ディスプレイ306aを支持する支持部材13、支持部材13を回転させる回転軸12、ロボット10の周囲の被写体を撮影する撮影装置21、ロボット周囲の音を集音するためのマイク308aおよびスピーカ308bを備える。
移動機構17は、ロボット10を移動させるユニットであり、車輪、走行モータ、走行エンコーダ、ステアリングモータ、ステアリングエンコーダ等で構成される。ロボット10の移動制御については、既存の技術であるため、詳細な説明は省略するが、ロボット10は、操作者(表示端末50)からの走行指示を受信し、移動機構17は、受信した走行指示に基づいてロボット10を移動させる。
以下、移動機構17は、2つの車輪によって構成される例を説明するが、移動機構17は、二足歩行の足型や単輪のものであってもよい。また、ロボット10の形状は、図2に示すような車両型に限られず、例えば、二足歩行の人型、生物を模写した形態、特定のキャラクターを模写した形態等であってもよい。
筐体15は、ロボット10の胴体部分に位置し、ロボット10の全体に必要な電源を供給する電源供給ユニットおよびロボット10の処理もしくは動作を制御する制御装置30等が内蔵されている。
撮影装置21は、ロボット10の正面に配置され、ロボット10の周囲の被写体を撮影して画像データ200を取得するためのカメラである。撮影装置21は、ロボット10の周囲の一部を撮影して平面画像を取得する撮影装置であってもよいし、ロボット10の周囲を撮影して全天球(360°)パノラマ画像を取得する特殊撮影装置であってもよい。また、画像データ200の画像は、動画であっても静止画であってもよく、動画と静止画の両方であってもよい。さらに、画像データ200の画像は、画像とともに音データを含んだ映像であってもよい。
支持部材13は、筐体15に固定され、ディスプレイ306aを支持している。支持部材13は、回転軸12によって回転することで、ディスプレイ306aの向きを変更する。支持部材13は、筐体15に固定されたポール等であってもよいし、筐体15に固定された台座であってもよい。また、ディスプレイ306aは、例えば、遠隔会議を行う相手先の表示端末50で撮影されて取得された画像が表示される。
なお、ロボット10は、上記構成のほかに、ロボット10の移動以外の付加的動作を可能とする操作手段が設置される構成であってもよい。操作手段は、例えば、物をつかむハンド等である。
〇ロボット10の構成の変形例〇
〇変形例1
ここで、図3を用いて、ロボット10の構成の変形例1について説明する。図3に示すロボット10aは、ディスプレイ306aを、支持部材13を変えて可動アーム11上に配置している。可動アーム11は、ディスプレイ306aを特定の方向へ向けるために変形可能な可動部材である。これにより、ロボット10aは、回転軸12によってディスプレイ306aの向きを変えるほか、可動アーム11を変形させることによって、ディスプレイ306aの向きを変更することができる。
〇変形例2
次に、図4を用いて、ロボット10の構成の変形例2について説明する。図4に示すロボット10bは、図2に示した構成から移動機構17を取り除いた構成である。図4に示すロボット10bは、机の上等に置いて固定して利用される。ロボット10bは、伝送端末の一例である。
●ハードウエア構成
次に、図5乃至図7を用いて、実施形態におけるロボット10、表示端末50および管理サーバ90のハードウエア構成を説明する。なお、図5乃至図7に示すハードウエア構成は、各実施形態において同様の構成を備えていてもよく、必要に応じて構成要素が追加または削除されてもよい。
〇ロボット10のハードウエア構成〇
まず、図5を用いて、ロボット10のハードウエア構成を説明する。図5は、実施形態に係るロボットのハードウエア構成の一例を示す図である。なお、図5に示すハードウエア構成は、必要に応じて構成要素が追加または削除されてもよい。ロボット10は、ロボット10の処理または動作を制御する制御装置30を備える。制御装置30は、上述のように、ロボット10の筐体15の内部に備えられている。なお、制御装置30は、ロボット10の筐体15の外部に設けられてもよく、またはロボット10とは別の装置として設けられていてもよい。制御装置30は、情報処理装置の一例である。
制御装置30は、CPU(Central Processing Unit)301、ROM(Read Only Memory)302、RAM(Random Access Memory)303、HDD(Hard Disk Drive)304、ネットワークインターフェース(I/F)305、入出力I/F306、メディアI/F307、音入出力I/F308、外部I/F309およびバスライン310を備える。
CPU301は、ロボット10全体の制御を行う。CPU301は、ROM302またはHD(Hard Disk)304a等に格納された、プログラムもしくはデータをRAM303上に読み出し、処理を実行することで、ロボット10の各機能を実現する演算装置である。遠隔制御システム1aは、例えば、本発明に係るプログラムの一部または全てをCPU301で実行することによって、本発明に係る情報処理方法を実現する。
RAM303は、CPU301のワークエリア等として用いられる揮発性のメモリである。ROM302は、電源を切ってもプログラムまたはデータを保持することができる不揮発性のメモリである。HDD304は、CPU301の制御にしたがってHD304aに対する各種データの読み出し、または書き込みを制御する。HD304aは、プログラム等の各種データを記憶する。
ネットワークI/F305は、通信ネットワーク9を経由して表示端末50と通信(接続)を行う通信インターフェースである。ネットワークI/F305は、例えば、有線または無線LAN(Local Area Network)等の通信インターフェースである。また、ネットワークI/F305は、3G(3rd Generation)、LTE(Long Term Evolution)、4G(4rd Generation)、5G(5rd Generation)、Zigbee(登録商標)、BLE(Bluetooth(登録商標)Low Energy)、ミリ波無線通信の通信インターフェースを備えてもよい。
入出力I/F306は、文字、数値、各種指示等を各種外部機器等との間で入出力するためのインターフェースである。入出力I/F306は、LCD(Liquid Crystal Display)等のディスプレイ306aに対するカーソル、メニュー、ウィンドウ、文字または画像等の各種情報の表示を制御する。ディスプレイ306aは、入力手段を備えたタッチパネルディスプレイであってもよい。また、入出力I/F306は、ディスプレイ306aのほかに、例えば、マウス、キーボード等の入力手段が接続されていてもよい。
メディアI/F307は、USB(Universal Serial Bus)メモリ、メモリカード、光学ディスクまたはフラッシュメモリ等の記録メディア307aに対するデータの読み出しまたは書き込み(記憶)を制御する。音入出力I/F308は、CPU301の制御に従ってマイク308aおよびスピーカ308bとの間で音信号の入出力を処理する回路である。外部I/F309は、制御装置30に他の装置を接続するためのインターフェースである。
バスライン310は、上記各構成要素を電気的に接続するためのアドレスバスやデータバス等であり、アドレス信号、データ信号、および各種制御信号等を伝送する。CPU301、ROM302、RAM303、HDD304、ネットワークI/F305、入出力I/F306、メディアI/F307、音入出力I/F308および外部I/F309は、バスライン310を介して相互に接続されている。
さらに、制御装置30には、外部I/F309を介して、移動モータ101、アクチュエータ102、加速度・方位センサ103、GPS受信部104、電源供給ユニット105、各種センサ106、タイマ107、および上述した撮影装置21が接続されている。
移動モータ101は、CPU301からの命令に基づき、移動機構17を回転駆動させてロボット10を地面に沿って移動させる。アクチュエータ102は、CPU301からの命令に基づき、可動アーム11を変形させる。加速度・方位センサ103は、地磁気を検知する電子磁気コンパス、ジャイロコンパスおよび加速度センサ等のセンサである。GPS(Global Positioning System)受信部104は、GPS衛星からGPS信号を受信する。電源供給ユニット105は、ロボット10の全体に必要な電源を供給するユニットである。各種センサ106は、ロボット10の周囲の情報を検知可能なセンサデバイスである。各種センサ106は、例えば、気圧計、温度計、光度計、人感センサ、または照度計等である。タイマ107は、時間計測機能を有する計測装置である。タイマ107は、コンピュータによるソフトタイマであってもよい。
〇表示端末50のハードウエア構成〇
続いて、図6を用いて、表示端末50のハードウエア構成について説明する。図6は、実施形態に係る表示端末のハードウエア構成の一例を示す図である。表示端末50は、CPU501、ROM502、RAM503、EEPROM(Electrically Erasable Programmable Read-Only Memory)504、撮像素子I/F505、CMOS(Complementary Metal Oxide Semiconductor)センサ505a、加速度・方位センサ506、メディアI/F507およびGPS受信部508を備えている。
CPU501は、表示端末50全体の動作を制御する。CPU501は、ROM502等に格納されたプログラムまたはデータをRAM503上に読み出し、処理を実行することで、表示端末50の各機能を実現する演算装置である。遠隔制御システム1aは、例えば、本発明に係るプログラムの一部または全てをCPU501で実行することによって、本発明に係る情報処理方法を実現する。
ROM502は、IPL(Initial Program Loader)等のCPU501の駆動に用いられるプログラムを記憶する。RAM503は、CPU501のワークエリアとして使用される。EEPROM504は、CPU501の制御にしたがって、表示端末用プログラム等の各種データの読み出しまたは書き込みを行う。
CMOSセンサ505aは、CPU501の制御に従って被写体(主に自画像)を撮像し画像データを得る。撮像素子I/F505は、CMOSセンサ505aの駆動を制御する回路である。加速度・方位センサ506は、地磁気を検知する電子磁気コンパス、ジャイロコンパスおよび加速度センサ等の各種センサである。メディアI/F507は、フラッシュメモリ等の記録メディア507aに対するデータの読み出しまたは書き込み(記憶)を制御する。GPS受信部508は、GPS衛星からGPS信号を受信する。
また、表示端末50は、遠距離通信回路510、遠距離通信回路510のアンテナ510a、音入出力I/F511、マイク511a、スピーカ511b、ディスプレイ512、外部機器接続I/F513、近距離通信回路514、近距離通信回路514のアンテナ514a、タッチパネル515、タイマ516および視線検出装置517を備えている。
遠距離通信回路510は、通信ネットワーク9を介して、他の機器と通信する回路である。マイク511aは、音声を入力する内蔵型の集音手段の一種である。音入出力I/F511は、CPU501の制御に従ってマイク511aおよびスピーカ511bとの間で音信号の入出力を処理する回路である。
ディスプレイ512は、被写体の画像や各種アイコン等を表示する液晶や有機EL等の表示手段の一種である。外部機器接続I/F513は、各種の外部機器を接続するためのインターフェースである。近距離通信回路514は、Wi−Fi、NFC、またはBluetooth等の通信回路である。タッチパネル515は、利用者がディスプレイ512を押下することで、表示端末50を操作する入力手段の一種である。タイマ516は、時間計測機能を有する計測装置である。タイマ516は、コンピュータによるソフトタイマであってもよい。視線検出装置517は、ユーザの視線の位置を視線情報として連続的に検知する。視線検出装置517は、例えば、CMOSセンサ505aで撮像した画像を分析する画像処理装置を含む。視線検出装置517は、例えば、基準点を目頭とし、目頭と虹彩との位置関係から視線の方向を検知する。
また、表示端末50は、バスライン509を備えている。バスライン509は、CPU501等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
〇管理サーバ90のハードウエア構成〇
続いて、図7を用いて、管理サーバ90のハードウエア構成について説明する。図7は、実施形態に係る管理サーバのハードウエア構成の一例を示す図である。管理サーバ90は、一般的なコンピュータによって構築されている。管理サーバ90は、CPU901、ROM902、RAM903、HDD905、メディアI/F907、ディスプレイ908、ネットワークI/F909、キーボード911、マウス912、CD−RW(Compact Disc-ReWritable)ドライブ914、タイマ915およびバスライン910を備えている。なお、管理サーバ90は、サーバとして機能するため、キーボード911やマウス912等の入力装置や、ディスプレイ908等の出力装置を備えていなくてもよい。
CPU901は、管理サーバ90全体の動作を制御する。ROM902は、CPU901の駆動に用いられるプログラムを記憶する。RAM903は、CPU901のワークエリアとして使用される。HDD905は、CPU901の制御にしたがってHD904に対する各種データの読み出し、または書き込みを制御する。HD904は、プログラム等の各種データを記憶する。メディアI/F907は、フラッシュメモリ等の記録メディア906に対するデータの読み出し、または書き込み(記憶)を制御する。
ディスプレイ908は、カーソル、メニュー、ウィンドウ、文字、または画像等の各種情報を表示する。ネットワークI/F909は、通信ネットワーク9を利用してデータ通信をするためのインターフェースである。キーボード911は、文字、数値、各種指示等の入力のための複数のキーを備えた入力手段の一種である。マウス912は、各種指示の選択や実行、処理対象の選択、カーソルの移動等を行う入力手段の一種である。CD−RWドライブ914は、着脱可能な記録媒体の一例としてのCD−RW913に対する各種データの読み出し等を制御する。タイマ915は、時間計測機能を有する計測装置である。タイマ915は、コンピュータによるソフトタイマであってもよい。
また、管理サーバ90は、バスライン910を備えている。バスライン910は、図7に示すCPU901等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
●第1の実施形態●
続いて、図8乃至図30を用いて、第1の実施形態に係る遠隔制御システムの構成について説明する。
●機能構成
まず、図8を用いて、第1の実施形態に係る遠隔制御システムの機能構成について説明する。図8は、第1の実施形態に係る遠隔制御システムの機能構成の一例を示す図である。
〇制御装置30の機能構成〇
まず、図8を用いて、ロボット10の処理または動作を制御する制御装置30の機能構成について説明する。制御装置30によって実現される機能は、送受信部31、操作入力受付部32、表示制御部33、判断部34、撮影指示部35、画像取得部36、移動制御部37、向き調整部38、位置特定部39、画像処理部41、注目点算出部42、目標点算出部43、周辺情報検出部44、存在通知部45、記憶・読出部46および記憶部3000を含む。
送受信部31は、通信ネットワーク9を介して、他の装置との間で各種データまたは情報の送受信を行う機能である。送受信部31は、例えば、画像取得部36によって取得された画像データ200を、通信ネットワーク9を介して、表示端末50へ送信する。また、送受信部31は、例えば、通信ネットワーク9を介して、表示端末50から送信されてきた要求コマンド(要求情報)を受信する。さらに、送受信部31は、例えば、表示端末50によって取得された画像である画像データ250を、通信ネットワーク9を介して、表示端末50から受信する。また、送受信部31は、目標点算出部43によって算出された目標点において撮影装置21によって取得された画像データ200を、通信ネットワーク9を介して、表示端末50へ送信する。送受信部31は、主に、図5に示したCPU301の処理、およびネットワークI/F305によって実現される。送受信部31は、第1の送信手段の一例である。
操作入力受付部32は、ディスプレイ306a等の入力手段に対する操作入力を受け付ける機能である。操作入力受付部32は、主に、図5に示したCPU301の処理、および入出力I/F306によって実現される。表示制御部33は、ディスプレイ306aに各種画面を表示させる機能である。表示制御部33は、主に、図5に示したCPU301の処理、および入出力I/F306によって実現される。
判断部34は、表示端末50から送信されてきた要求コマンドに応じてロボット10が実行する処理または動作を判断する機能である。判断部34は、主に、図5に示したCPU301の処理によって実現される。
撮影指示部35は、撮影装置21に対する撮影処理を指示する機能である。撮影指示部35は、例えば、撮影装置21による撮影を指示するための指示情報を、撮影装置21へ送信する。撮影指示部35は、主に、図5に示したCPU301の処理、および外部I/F309によって実現される。
画像取得部36は、撮影装置21によって取得された画像を取得する機能である。画像取得部36は、例えば、撮影装置21が被写体を撮影して取得した画像である画像データ200を、撮影装置21から取得する。画像取得部36は、主に、図5に示したCPU301の処理、および外部I/F309によって実現される。画像取得部36は、取得手段の一例である。
移動制御部37は、移動機構17を駆動させることによって、ロボット10の移動を制御する機能である。移動制御部37は、例えば、表示端末50から送信されてきた要求コマンドに応じて移動機構17の駆動を制御することで、ロボット10を移動させる。また、移動制御部37は、例えば、目標点算出部43によって算出された目標点へロボット10を移動させるように、移動機構17の駆動を制御する。移動制御部37は、主に、図5に示したCPU301の処理、および外部I/F309によって実現される。移動制御部37は、移動制御手段の一例である。
向き調整部38は、ロボット10の向きを変更する機能である。向き調整部38は、例えば、目標点算出部43によって算出されたロボット10の移動先のロボット10の向きに応じて、移動機構17または回転軸12の駆動を制御することで、ロボット10の向きを変更する。向き調整部38は、主に、図5に示したCPU301の処理、および外部I/F309によって実現される。
位置特定部39は、ロボット10の現在位置を特定する機能である。位置特定部39は、例えば、加速度・方位センサ103またはGPS受信部104によって検出される各方位(方位角、磁北)の方向等の検出結果に基づいて、ロボット10の現在位置を特定する。各方位の方向等の検出結果は、ロボット10の所定時点における位置および向きを示す位置情報である。位置特定部39は、主に、図5に示したCPU301の処理、および外部I/F309によって実現される。位置特定部39は、位置検出手段の一例である。
画像処理部41は、画像取得部36によって取得された画像データ200に対する処理を行う機能である。画像処理部41は、例えば、画像取得部36によって取得された画像データ200に含まれる人物の頭の画像を抽出する。また、画像処理部41は、例えば、画像取得部36によって取得された人物の目と鼻の画像を抽出する。画像処理部41は、主に、図5に示したCPU301の処理によって実現される。
注目点算出部42は、画像処理部41によって処理された画像データに含まれる複数の人物の位置および向きに基づいて、複数の人が注目する注目点を特定する機能である。注目点は、ロボット10が設置された拠点において複数の人が注目している位置であり、例えば、ロボット10の周囲の複数の人が向いている方向の交点である。注目点は、例えば、遠隔会議において、ロボット10側の拠点での複数の参加者が向いている方向、すなわち、ある時点における話題の中心位置である。注目点算出部42は、主に、図5に示したCPU301の処理によって実現される。注目点算出部42は、算出手段の一例である。また、注目点算出部42は、推定手段の一例である。さらに、注目点算出部42は、注目点特定手段の一例である。
目標点算出部43は、注目点算出部42によって算出された注目点に基づいて、ロボット10の移動先となる目標点を特定する機能である。目標点算出部43によって特定される目標点は、ロボット10の移動先の目標位置Gを示す位置情報(座標情報)と、ロボット10の移動先のロボット10の向きを示す方向情報を含む。目標点算出部43は、主に、図5に示したCPU301の処理によって実現される。目標点算出部43は、算出手段の一例である。また、目標点算出部43は、目標点特定手段の一例である。
周辺情報検出部44は、撮影装置21によって取得された画像データ200または各種センサ106によって検出された検出結果等を用いて、ロボット10の周囲の情報を検出する機能である。周辺情報検出部44は、主に、図5に示したCPU301の処理、および外部I/F309によって実現される。
存在通知部45は、予め定められた条件に基づいて、ロボット10の存在を通知する機能である。存在通知部45は、例えば、位置特定部39によって検出された現在位置と、目標点算出部43によって算出された目標点との距離が閾値以上または閾値より長い場合、ロボット10の存在を通知する通知情報を出力する。通知情報は、例えば、音信号であり、存在通知部45は、スピーカ308bから音信号を出力する。また、通知情報は、例えば、ロボット10の所定のジェスチャーであり、存在通知部45は、移動機構17、もしくは可動アーム11または回転軸12を駆動させる。なお、閾値は、予め記憶部3000に記憶されている。存在通知部45は、主に、図5に示したCPU301の処理、および外部I/F309によって実現される。存在通知部45は、存在通知手段の一例である。
記憶・読出部46は、記憶部3000に各種データを記憶させ、または記憶部3000から各種データを読み出す機能である。記憶・読出部46は、主に、図5に示したCPU301の処理によって実現される。記憶部3000は、主に、図5に示したROM302、HD304aおよび記録メディア307aによって実現される。
また、記憶部3000は、画像取得部36によって撮影された画像データ200、および表示端末50から送信されてきた画像データ250を記憶している。さらに、記憶部3000は、コマンドテーブル3001および条件テーブル3002を記憶している。なお、記憶部3000に記憶されている画像データ200は、画像取得部36によって取得されてから所定の時間経過した場合に削除される構成であってもよいし、表示端末50へ送信されたデータが削除される構成であってもよい。同様に、記憶部3000に記憶されている画像データ250は、表示端末50から送信されてから所定の時間経過した場合に削除される構成であってもよい。
〇コマンドテーブル3001
ここで、記憶部3000に記憶されたデータの詳細について説明する。図9は、第1の実施形態に係るコマンドテーブルの一例を示す図である。図9に示すコマンドテーブル3001は、表示端末50から送信されてきた要求コマンドに基づいてロボット10に実行される処理または動作を特定するためのものである。コマンドテーブル3001は、要求コマンドごとに、それぞれの要求コマンドに対応する処理内容を関連づけて記憶している。制御装置30の判断部34は、コマンドテーブル3001を用いて、表示端末50から送信されてきた要求コマンドに対応する処理を特定する。
例えば、コマンドテーブル3001において、要求コマンド「FORWARD」に対応する処理は、ロボット10を一定量前進させる処理である。なお、それぞれのコマンドに対応する処理の内容は、これに限られず、表示端末50を用いてロボット10を操作する操作者またはロボット10の管理者等によって適宜修正・変更可能である。
〇条件テーブル3002
図10は、第1の実施形態に係る撮影パラメータの一例を示す図である。図10に示す条件テーブル3002は、注目点に対する位置調整処理を開始するための条件を示したものである。条件テーブル3002は、拠点名で示される拠点ごとに、条件情報を関連づけて記憶している。条件情報は、一つ前の位置調整処理を行ってからの経過時間、人との距離、および位置調整処理の調整周期が含まれる。なお、条件情報に含まれる項目は、これに限られず、拠点ごとに一つの項目の条件が含まれていてもよいし、拠点ごとに複数の項目の条件が含まれていてもよい。
条件テーブル3002は、拠点ごとに条件情報を記憶することで、ロボット10が位置する拠点ごとに位置調整処理を行う頻度や条件を異ならせることができる。なお、条件テーブル3002は、拠点ごとに条件情報がそれぞれ関連づけられている例を説明したが、ロボット10ごとに条件情報を関連づけて記憶していてもよい。
〇表示端末50の機能構成〇
次に、図8を用いて、表示端末50の機能構成について説明する。表示端末50により実現される機能は、送受信部51、操作入力受付部52、表示制御部53、判断部54、要求コマンド生成部55、視線検出部56、記憶・読出部57および記憶部5000を含む。表示端末50は、ロボット10を遠隔操作するための専用のアプリケーションプログラムをインストールしている。表示端末50は、例えば、インストールされたアプリケーションプログラムをCPU501が実行することによって各機能を実現する。
送受信部51は、通信ネットワーク9を介して、他の装置との間で各種データまたは情報の送受信を行う機能である。送受信部51は、例えば、ロボット10が備える撮影装置21によって取得された画像データ200を、通信ネットワーク9を介して、ロボット10から受信する。また、送受信部51は、例えば、CMOSセンサ505aによって撮影されて取得された画像である画像データ250を、通信ネットワーク9を介して、ロボット10へ送信する。送受信部51は、主に、図6に示したCPU501の処理、および遠距離通信回路510によって実現される。送受信部51は、受信手段の一例である。
操作入力受付部52は、表示端末50への各種選択または操作入力を受け付ける機能である。操作入力受付部52は、主に、図6に示したCPU501の処理、およびタッチパネル515によって実現される。なお、タッチパネル515は、ディスプレイ512と共用であってもよい。また、操作入力受付部52は、タッチパネル以外の入力手段によって実現されてもよい。
表示制御部53は、表示端末50のディスプレイ512に各種画像を表示させる機能である。表示制御部53は、例えば、送受信部51によって受信された画像データ200を、表示手段の一例であるディスプレイ512に表示させる。表示制御部53は、主に、図6に示したCPU501の処理、およびディスプレイ512によって実現される。表示制御部53は、表示制御手段の一例である。
判断部54は、ロボット10へ要求する特定の処理を判断する機能である。判断部54は、例えば、操作入力受付部52によって受け付けられた操作入力に基づいて、ロボット10へ要求する特定の処理を判断する。判断部54は、主に、図6に示したCPU301の処理によって実現される。
要求コマンド生成部55は、ロボット10に特定の処理を実行されるための実行要求である要求コマンドを生成する機能である。要求コマンド生成部55は、主に、図6に示したCPU501の処理によって実現される。
視線検出部56は、表示端末50を用いてロボット10を操作する操作者の視線を検出する機能である。視線検出部56は、主に、図6に示したCPU501の処理、および視線検出装置517によって実現される。
記憶・読出部57は、記憶部5000に各種データを記憶させ、または記憶部5000から各種データを読み出す機能である。記憶・読出部57は、主に、図6に示したCPU501の処理によって実現される。記憶部5000は、主に、図6に示したROM502、EEPROM504および記録メディア507によって実現される。
また、記憶部5000は、送受信部51によって受信された画像データ200、およびCMOSセンサ505aによって撮影されて取得された画像データ250を記憶している。さらに、記憶部5000は、ユーザコマンドテーブル5001を記憶している。なお、記憶部5000に記憶されている画像データ200は、送受信部51によって受信されてから所定の時間経過した場合に削除される構成であってもよいし、操作入力受付部52によって受け付けられた、ユーザからの削除命令に基づいて削除される構成であってもよい。同様に、記憶部5000に記憶されている画像データ250は、CMOSセンサ505aによって取得されてから所定の時間経過した場合に削除される構成であってもよいし、操作入力受付部52によって受け付けられた、ユーザからの削除命令に基づいて削除される構成であってもよい。
〇ユーザコマンドテーブル5001
図11は、第1の実施形態に係るユーザコマンドテーブルの一例を示す図である。図11に示すユーザコマンドテーブル5001は、操作入力受付部52によって受け付けられた操作入力に基づいて、ロボット10に対して要求する処理または動作の内容を特定するために用いられるものである。ユーザコマンドテーブル5001は、操作入力受付部52によって受け付けられた操作入力に対応する入力コマンドに、対応するコマンドの内容を関連づけて記憶している。
〇管理サーバ90の機能構成〇
次に、図8を用いて、管理サーバ90の機能構成について説明する。管理サーバ90によって実現される機能は、送受信部91、認証部92、判断部93、作成部94、記憶・読出部95および記憶部9000を含む。
送受信部91は、通信ネットワーク9を介して、他の装置との間で各種データまたは情報の送受信を行う機能である。送受信部91は、主に、図7に示したCPU901の処理、およびネットワークI/F909によって実現される。
認証部92は、送受信部91によって受信されたログイン要求に基づいて、ログイン要求元の認証を行う機能である。認証部92は、例えば、送受信部91によって受信されたログイン要求に含まれている端末IDおよびパスワードを検索キーとし、記憶部9000の認証管理DB9001を検索する。そして、認証部92は、認証管理DB9001に同一の組の端末IDおよびパスワードが管理されているかを判断することによって端末認証を行う。認証部92は、主に、図7に示したCPU901の処理によって実現される。
判断部93は、後述するセッション管理テーブルに、表示端末50の端末IDが管理されているかを判断する機能である。判断部93は、主に、図7に示したCPU901の処理によって実現される。
作成部94は、通信に使用されるセッションIDを作成する機能である。作成部94は、主に、図7に示したCPU901の処理によって実現される。
記憶・読出部95は、記憶部9000に各種データを記憶させ、または記憶部9000から各種データを読み出す機能である。記憶・読出部95は、主に、図7に示したCPU901の処理によって実現される。記憶部9000は、主に、図7に示したROM902、HD904または記録メディア906によって実現される。また、この記憶部9000には、後述する図15に示す宛先リスト画面500における宛先リスト枠データ(図15に示すアイコン、「rA01」、「ロボット10A−1」等の宛先リスト内容情報は含まれない)が記憶されている。
〇認証管理テーブル
記憶部9000には、図12(a)に示すような認証管理テーブルによって構成されている認証管理DB9001が構築されている。この認証管理テーブルには、管理サーバ90によって管理される全ての表示端末50の各端末IDに対して、各パスワードが関連づけられた関連情報が管理されている。例えば、図12(a)に示されている認証管理テーブルでは、表示端末50Aの端末IDは「o01」で、パスワードは「aaaa」であることが表されている。
〇端末管理テーブル
また、記憶部9000には、図12(b)に示すような端末管理テーブルによって構成されている端末管理DB9002が構築されている。この端末管理テーブルには、各端末(ロボット10および表示端末50)の端末IDごとに、各端末の端末名、端末のIPアドレス、各端末の現在の稼動状態を示す稼動状態情報、および端末がロボット10である場合のロボット10が位置する拠点を示す拠点名が関連づけられた関連情報が管理されている。
例えば、図12(b)に示す端末管理テーブルにおいて、端末IDが「o01」の表示端末50は、端末名が「表示端末50A」で、この表示端末50のIPアドレスが「1.2.1.3」で、稼動状態が「オンライン(通話可能)」であることが示されている。また、端末IDが「rA01」のロボット10は、端末名が「ロボット10A−1」で、このロボット10のIPアドレスが「1.3.2.3」で、稼動状態が「オンライン(通話可能)」で、拠点名が「拠点A」であることが示されている。
〇宛先リスト管理テーブル
さらに、記憶部9000には、図13(a)に示すような宛先リスト管理テーブルによって構成されている宛先リスト管理DB9003が構築されている。この宛先リスト管理テーブルには、ロボット10の遠隔制御を行うための通信の開始を要求する開始端末としての表示端末50の端末IDごとに、宛先となるロボット10の候補として登録されている宛先候補のロボット10の端末IDが関連づけられた関連情報が管理されている。
例えば、図13(a)に示す宛先リスト管理テーブルにおいて、端末IDが「o01a」である開始端末(表示端末50A)から通信の開始を要求することができる宛先候補は、端末IDが「rA01」のロボット10A−1、端末IDが「rA02」のロボット10A−2、端末IDが「rC01」のロボット10C−1等であることが示されている。なお、宛先候補のロボット10の端末IDは、任意の開始端末(表示端末50)から管理サーバ90に対する追加または削除の要請により、追加または削除されることで更新される。
〇セッション管理テーブル
さらに、記憶部9000には、図13(b)に示すようなセッション管理テーブルによって構成されているセッション管理DB9004が構築されている。このセッション管理テーブルには、ロボット10と表示端末50との間で通信する際に利用されるセッションを識別するためのセッションIDごとに、このセッションIDによって特定されるセッションを使用中のロボット10および表示端末50の端末IDが関連づけられた関連情報が管理されている。例えば、図13(b)に示すセッション管理テーブルにおいて、セッションID「se1」を用いて実行されたセッションを使用中の端末は、端末IDが「o01」の表示端末50A、端末IDが「rA01」のロボット10A−1、および端末IDが「rC01」のロボット10C−1であることが示されている。
●第1の実施形態の処理または動作
〇セッション確立処理〇
続いて、図14乃至図30を用いて、第1の実施形態に係る遠隔制御システムの動作または処理について説明する。なお、以降の説明において、ロボット10が備える制御装置30によって実行される処理は、ロボット10によって実行される処理として説明する。
まず、図14乃至図16を用いて、ロボット10と表示端末50との間における通信セッションの確立処理について説明する。図14は、ロボットと表示端末との間でデータの送受信を開始する準備段階の処理の一例を示すシーケンス図である。ここでは、開始端末としての表示端末50Aと、宛先端末としてのロボット10A−1との間で、データの送受信を開始する前の準備段階における各管理情報の送受信処理について説明する。
まず、ステップS11において、表示端末50Aの送受信部51は、通信ネットワーク9を介して、管理サーバ90へログイン要求を送信する。具体的には、表示端末50Aのユーザは、表示端末50Aにおける電源スイッチをONにすると、電源がONになる。そして、表示端末50Aの送受信部51は、上記電源ONを契機とし、送受信部51から通信ネットワーク9を介して、管理サーバ90へ、ログイン要求を送信する。これにより、管理サーバ90の送受信部91は、表示端末50Aから送信されたログイン要求を受信する。
このログイン要求には、表示端末50Aとしての開始端末を識別するための端末ID、およびパスワードが含まれている。これら端末IDおよびパスワードは、記憶・読出部57によって記憶部5000から読み出されて、送受信部51に送られたデータである。なお、これら端末IDおよびパスワードは、これに限るものではなく、ユーザがタッチパネル515等の入力手段によって入力した端末IDやパスワードが送信されてもよい。また、表示端末50Aに接続されたSIM(Subscriber Identity Module Card)カードやSDカード等の記憶媒体から読み出された端末IDやパスワードが送信されてもよい。
また、表示端末50Aから管理サーバ90へログイン要求が送信される際は、受信側である管理サーバ90は、送信側である表示端末50AのIPアドレスを取得することができる。また、ログイン要求の開始は、必ずしも電源スイッチをONにすることを契機とする必要はなく、ユーザによるタッチパネル515等の入力手段への入力に応じて送信してもよい。
次に、ステップS12において、管理サーバ90の認証部92は、送受信部91を介して受信したログイン要求に含まれている端末IDおよびパスワードを検索キーとして、記憶部9000の認証管理テーブル(図12(a)参照)を検索し、認証管理DB9001に同一の端末IDおよび同一のパスワードが管理されているかを判断することによって認証を行う。以下、表示端末50Aが認証部92によって正当な利用権限を有する端末であると判断された場合について説明する。
ステップS13において、記憶・読出部95は、認証部92によって同一の端末ID及び同一のパスワードが管理されていることにより、正当な利用権限を有する開始端末からのログイン要求であると判断された場合、記憶部9000から宛先リスト枠データを読み出す。
ステップS14において、送受信部91は、認証部92によって得られた認証結果が示された認証結果情報を、通信ネットワーク9を介して、上記ログイン要求してきた表示端末50へ送信する。これにより、表示端末50Aの送受信部51は、認証結果情報を受信する。この認証結果情報には、上記ステップS13によって読み出された宛先リスト枠データが含まれている。そして、ステップS15において、表示端末50Aの記憶・読出部57は、上記ステップS14によって受信された宛先リスト枠データを、記憶部5000に記憶させる。
次に、ステップS16において、表示端末50Aの送受信部51は、正当な利用権限を有する端末であると判断された認証結果が示された認証結果情報を受信した場合、通信ネットワーク9を介して管理サーバ90へ、宛先リストの内容を要求する。これにより、管理サーバ90の送受信部91は、宛先リストの内容の要求を受信する。この要求には、表示端末50Aの端末IDが含まれている。
次に、ステップS17において、管理サーバ90の記憶・読出部95は、上記ステップS16によって受信された表示端末50Aの端末ID「o01」を検索キーとして、宛先リスト管理テーブル(図13(a))参照を検索し、対応する全ての宛先候補の端末IDを読み出す。さらに、ステップS18において、記憶・読出部95は、ステップS17によって読み出した各端末IDを検索キーとして、端末管理テーブル(図12(b)参照)を検索し、対応する宛先候補の端末名、稼動状態情報および拠点名を読み出す。
次に、ステップS19において、管理サーバ90の送受信部91は、通信ネットワーク9を介して表示端末50Aへ、宛先リスト内容情報を送信する。これにより、表示端末50Aの送受信部51は、宛先リスト内容情報を受信する。この宛先リスト内容情報には、上記ステップS17,S18によって読み出された、宛先候補の端末ID、宛先候補の端末名、稼動状態情報および拠点名が含まれている。
次に、ステップS20において、表示端末50Aの表示制御部53は、上記ステップS15によって記憶部5000に記憶された宛先リスト枠データ、および上記ステップS19によって受信された宛先リスト内容情報を用いて作成された宛先リスト画面500を、ディスプレイ512に表示させる。
ディスプレイ512には、図15に示すような宛先リスト画面500が表示される。この宛先リスト画面500には、宛先候補ごとに、宛先候補の端末(ロボット10)の稼動状態を示したアイコン、宛先候補の端末の端末ID、宛先候補の宛先名、および宛先候補の端末が位置する拠点名が表されている。なお、上記ステップS19によって、管理サーバ9から送られてきた「端末名」は、図15に示す宛先リスト画面500では、「宛先名」として表示される。
続いて、図16を用いて、表示端末50における宛先候補の選択から画像データの送受信を開始するまでの処理を説明する。図16は、宛先候補の選択から画像データの送受信を開始するまでの処理を示したシーケンス図である。
まず、ステップS31において、表示端末50Aの操作入力受付部52は、ユーザから図15に示した宛先リスト画面の宛先候補(ここでは、ロボット10A−1)の選択を受け付ける。そして、ステップS32において、表示端末50Aの送受信部51は、管理サーバ90に対して、画像データ等の送受信を開始したい旨を示す開始要求を送信する。これにより、管理サーバ90の送受信部91は、開始要求を受信する。また、開始要求には、表示端末50Aの端末ID、および宛先候補の端末の端末IDが含まれている。
次に、ステップS33において、管理サーバ90の判断部93は、上記ステップS32によって受信された表示端末50Aの端末IDがセッション管理テーブル(図13(b)参照)で管理されているか否かを判断する。ここでは、宛先端末(ロボット10A−1)の端末IDが管理されていない場合について、以下説明を続ける。
ステップS34において、宛先候補の端末の端末IDが管理されていない場合、管理サーバ90の作成部94は、新たにセッションIDを作成する。そして、ステップS35において、記憶・読出部95は、セッション管理テーブル(図13(b)参照)に、上記ステップS34によって作成されたセッションID、並びに上記ステップS32によって受信された表示端末50Aの端末IDおよび宛先候補の端末の端末IDを関連づけた新たなレコードを追加記憶する。ここでは、図12(b)に示したように、新たなレコードが追加されることで、セッションID「se3」、および端末ID「o01」,「rA01」が関連づけて管理される。
次に、ステップS36において、管理サーバ90の送受信部91は、表示端末50Aに対して、上記ステップS34によって作成されたセッションIDが含まれたセッション開始指示を送信する。これにより、表示端末50Aの送受信部51は、セッション開始指示を受信する。
次に、ステップS37において、管理サーバ90の記憶・読出部95は、上記ステップS32によって送られてきた宛先候補の端末(ロボット10A−1)の端末IDを検索キーとして端末管理テーブル(図12(b)参照)を検索することにより、対応するIPアドレスを読み出す。そして、ステップS38において、管理サーバ90の送受信部91は、上記ステップS37によって読み出されたIPアドレスに対して、上記ステップS33によって作成されたセッションIDが含まれたセッション開始指示を送信する。これにより、宛先端末(ロボット10A−1)の送受信部31は、セッション開始指示を受信する。
以上により、開始端末(表示端末50A)および宛先端末(ロボット10A−1)は、それぞれ管理サーバ90と通信セッションを確立する(ステップS39−1,S39−2)。
〇画像データの送信および表示〇
続いて、管理サーバ90との間で確立されたセッションを用いて、ロボット10から表示端末50へ送信されるデータ、および表示端末50によってロボット10の処理もしくは動作を制御する処理について説明する。図17は、第1の実施形態に係る遠隔制御システムにおいて、表示端末からの要求コマンドに基づくロボットの制御処理の一例を説明するためのフローチャートである。
ステップS51において、ロボット10の画像取得部36は、撮影装置21によって取得された画像データ200を取得する。ここで、ロボット10は、撮影指示部35から撮影装置21への撮影指示をトリガーとして、撮影装置21による撮影を開始する。ロボット10の画像取得部36は、撮影装置21によって取得された画像である画像データ200を、撮影装置21から取得する。
ステップS52−1,52−2において、ロボット10の送受信部31は、確立された管理サーバ90との通信セッションを用いて、画像取得部36によって取得された画像データ200を、表示端末50へ送信する。これにより、表示端末50の送受信部51は、画像データ200を受信する。
ステップS53において、表示端末50の表示制御部53は、送受信部51によって受信された画像データ200を、ディスプレイ512の表示画面600に表示させる。これによって、表示端末50を用いてロボット10を遠隔操作する操作者は、ロボット10が位置する拠点の状況を、画像データ200が表示された表示画面600を見ながら確認することができる。なお、同様に、表示端末50は、表示端末50側の拠点が撮影された画像である画像データ250を、ロボット10へ送信する。そして、ロボット10の送受信部31は、画像データ250を受信し、表示制御部33は、受信された画像データ250を、ディスプレイ306aの表示画面400に表示させる。
ここで、ロボット10および表示端末50に表示される表示画面について説明する。図18(a)は、第1の実施形態に係るロボットに表示される表示画面の画面例の一例を示す図である。ロボット10は、表示制御部33がディスプレイ306aに、図18(a)に示すような表示画面400を表示させる。この表示画面400には、表示端末50から送信された画像データ250を表示される。図18(a)に示すように、表示画面400には、例えば、表示端末50を用いてロボット10を操作する操作者の顔が表示され、表示画面400を見たロボット10の周囲の人は、誰がロボット10を操作しているのかを確認することができる。
図18(b)は、第1の実施形態に係る表示端末に表示される表示画面の画面例の一例を示す図である。表示端末50は、表示制御部53がディスプレイ512に、図18(b)に示すような表示画面600を表示させる。この表示画面600には、ロボット10から送信されてきた画像データ200を表示される。図18(b)に示すように、表示画面600には、例えば、ロボット10の周りにいる人々が表示されている。また、表示画面600は、画像データ200の画像の横に、ロボット10の水平方向(前進、後退、右回転、左回転)の移動を要求する場合に押下される移動指示キー601、入力領域603aに入力された位置へのロボット10の移動を要求する場合に押下される「移動」ボタン603b、入力領域605aに入力された向きへロボット10の向きを変更する場合に押下される「回転」ボタン605b、ロボット10を停止させる場合に押下される「停止」ボタン607、ロボット10のスピーカ308bから音を発する場合に押下される「♪」ボタン609を含む。表示端末50を用いてロボット10を操作する操作者は、表示画面600に表示された画像データ200を見て、移動指示キー601等への入力操作を行うことで、ロボット10の移動を制御する。
なお、図18(b)において、表示画面600に表示された移動指示キー601によってロボット10の移動を操作する例を説明したが、ロボット10の移動操作は、キーボード、またはジョイスティクを備えたゲームパッド等の専用コントローラ等で行われる構成であってもよい。
図17に戻り、ステップS54において、表示端末50の操作入力受付部52は、ディスプレイ512に表示された表示画面600に対する特定の操作入力を受け付ける。例えば、操作入力受付部52は、例えば、表示画面600に含まれる移動指示キー601のいずれかのキーに対する操作入力を受け付ける
ステップS55において、表示端末50の要求コマンド生成部55は、操作入力受付部52によって受け付けられた特定の操作入力に対応する要求コマンドを生成する。具体的には、操作入力受付部52によって特定の操作入力が受け付けられた場合、表示端末50の記憶・読出部57は、記憶部5000に記憶されたユーザコマンドテーブル5001(図11参照)を読み出す。表示端末50の判断部54は、記憶・読出部57によって読み出されたユーザコマンドテーブル5001を検索し、操作入力受付部52によって受け付けられた操作入力に対応する入力コマンドを特定する。そして、判断部54は、ユーザコマンドテーブル5001を検索し、特定した入力コマンドに対応するコマンドを抽出する。そして、要求コマンド生成部55は、抽出されたコマンドを含む要求コマンドを生成する。例えば、操作入力受付部52によって移動指示キー601の「↑(前進)」キーに対する入力が受け付けられた場合、判断部54は、入力コマンドとして「「↑(前進)」キーの押下」を特定する。そして、判断部54は、特定した入力コマンドに対応するコマンドとして、「FORWARD」を抽出する。そして、要求コマンド生成部55は、抽出されたコマンド「FORWARD」を含む要求コマンドを生成する。
なお、ステップS55において、判断部54がユーザコマンドテーブル5001を用いて処理を抽出する例を説明したが、表示端末50は、移動指示キー605等の入力キーに付与されたイベントに基づいて、所定の処理を抽出または実行する構成であってもよい。
ステップS56−1,56−2において、表示端末50の送受信部51は、確立された管理サーバ90との通信セッションを用いて、要求コマンド生成部55によって生成された要求コマンドを、ロボット10へ送信する。これにより、ロボット10の送受信部31は、要求コマンドを受信する。
ステップS57において、ロボット10の記憶・読出部46は、記憶部3000に記憶されたコマンドテーブル3001(図9参照)を読み出す。ステップS58において、ロボット10の判断部34は、記憶・読出部46によって読み出されたコマンドテーブル3001を検索し、送受信部31によって受信された要求コマンドに対応する処理を抽出する。ステップS59において、ロボット10は、上記ステップS58によって抽出された処理を実行する。
例えば、送受信部31によって受信された要求コマンドが「FORWARDMOVE」である場合、判断部34は、コマンドテーブル3001を検索して、要求コマンド「FORWARD」に対応する処理を抽出する。この場合、抽出される処理は、「ロボット10を一定量前進させる」である。判断部34は、抽出した処理の実行要求を、移動制御部37へ通知する。そして、移動制御部37は、判断部34によって抽出された処理に基づいて、ロボット10の移動機構17を駆動させる。なお、判断部34によって抽出された処理によって実行要求の通知先は異なる。例えば、送受信部31によって受信された要求コマンドが「SOUND」の場合、実行要求の通知先は、存在通知部45である。
これにより、遠隔制御システム1aは、ロボット10が備える撮影装置21によって取得された画像データ200を表示端末50に表示させることによって、表示端末50を用いてロボット10の遠隔操作を行う操作者に対して、ロボット10の周囲の情報をより正確に把握させることができる。また、遠隔制御システム1aは、画像データ200が表示された表示端末50に対する操作者による操作入力が行われることで、ロボット10の周囲の状況を確認しながらロボット10を移動させることができるため、表示端末50を用いてロボット10を操作する操作者にとっての操作性を向上させることができる。
〇ロボット10の位置調整処理〇
〇目標点算出処理
続いて、図19乃至図29を用いて、ロボット10の位置調整処理について説明する。ここで、ロボット10が設置された拠点と表示端末50が設置された拠点との間で遠隔会議が行われているものとする。ロボット10が設置された拠点において、複数の人が会議に参加している場合、会議中に参加者が移動したり話題が切り替わったりすると、複数の人(参加者)が注目する注目点が変わることがある。この場合、遠隔地に位置する表示端末50のユーザは、注目点が変わったとしても、注目点が変わる前の位置を撮影し続けた画像を見ることになるため、遠隔地のユーザが会議から取り残されてしまい、円滑なコミュニケーションの妨げとなる。そこで、遠隔制御システム1aは、ロボット10の周囲に位置する複数の人の注目点に基づいてロボット10を移動させることによって、遠隔地に位置する表示端末50のユーザとの円滑なコミュニケーションを図ることができる。
図19は、第1の実施形態に係るロボットにおける目標点算出処理の一例を説明するためのフローチャートである。ステップS71において、ロボット10の画像取得部36は、撮影装置21によって取得された画像である画像データ200を取得する(取得ステップの一例)。ステップS72において、ロボット10の画像処理部41は、画像取得部36によって取得された画像データ200に含まれる人物の頭の画像を抽出する。具体的には、画像処理部41は、画像取得部36によって取得された画像データ200と、予め記憶された人物の頭の画像パターンとを照合し、類似する画像領域を、図20(a)に示すような人物の頭の画像として抽出する。図20(a)に示す処理データ800aには、a1〜a4の四つの人物の頭の画像が含まれる。
ステップS73において、ロボット10の注目点算出部42は、画像処理部41によって抽出された頭の画像の大きさ、および画像データ200内における人物の頭の画像の位置を算出する。具体的には、注目点算出部42は、画像処理部41によって処理された処理データ800aに基づいて、人物の頭の画像の大きさと、人物の頭の画像の位置を算出する。人物の頭の画像の位置は、例えば、画像データ200の中心の座標を(0,0)とし、右上の座標を(100,100)とし、左下の座標を(−100,−100)として算出される。例えば、図20(a)に示した処理データ800aにおける、注目点算出部42によって算出された人物の頭の画像(a1〜a4)の位置および大きさは、図20(b)示す値となる。
ステップS74において、ロボット10の注目点算出部42は、画像データ200に含まれる人物の頭の画像の空間上の相対位置を特定する。例えば、注目点算出部42は、上記ステップS73において算出された画像データ200内の座標(X,Y)と頭の大きさrとを用いて、画像データ200内の人物の頭の画像の位置を、空間上の相対位置(x,y)に変換する。空間上の相対位置(x,y)への変換方法は、一例として、以下(1)および(2)のヒューリスティックスを用いる。
(1)頭の大きさrが小さいほど遠くにあるものとする(人による頭の大きさの差異は無視する)。
(2)遠近法を無視して、X座標の値がプラスであればロボット10の右側(マイナスであればロボット10の左側)、Y座標が大きければ奥にあるものとする。
上記(1)と(2)の条件に基づく算出式は、以下の(式1)のようになる。なお、k1,k2は所定の係数である。ここでは、k1=0.2,k2=1000とする。
注目点算出部42は、上記の(式1)を用いて、人物の頭の画像の空間上の相対位置(x,y)を特定する。特定された相対位置を示す座標情報(x,y)を、図21(a)に示す。また、図21(b)は、特定された相対位置を概略的に示した処理データ810である。図21(b)に示す処理データ810は、画像データ200の中心位置S(0,0)を基準とした、人物の頭の画像a1〜a4とロボットRとの相対位置を視覚化したものである。
ステップS75において、ロボット10の画像処理部41は、上記ステップ71によって取得された画像データ200に含まれる人物の目を鼻の画像を抽出する。具体的には、画像処理部41は、画像取得部36によって取得された画像データ200と、予め記憶された人物の目と鼻の画像パターンとを照合し、類似する画像領域を、図22(a)に示すような人物の目と鼻の画像として抽出する。図22(a)に示す処理データ800bには、ステップS72によって抽出された四つの人物の頭の画像(a1〜a4)に対する目と鼻の画像が含まれる。
ステップS76において、ロボット10の注目点算出部42は、画像処理部41によって抽出された目と鼻の位置から、それぞれの人物の向きを特定する。人物の向きの特定は、一例として、以下(1)および(2)のヒューリスティックスを用いる。
(1)目が二つであれば正面(ロボット10の向きと逆方向)を、一つなら左右どちらかを、ゼロなら後ろ(ロボット10の向きと同じ方向)を向いているものとする。
(2)目が一つで鼻があれば、鼻のある方向を向いているものとする(向きは、正面を0°とし、時計回りに360°まで)。
上記(1)と(2)の条件に基づいて、図22(b)に示すような人の向きの特定が行われる。例えば、a1は、目の数が一つで鼻が右方向に向いているため、a1の向き(θ)は、90°となる。
これによって、ロボット10の注目点算出部42は、画像データ200に対応する人物の相対位置と向きを近似的に求めることができる。図23(a)は、注目点算出部42によって特定された相対位置および向きの情報である。図23(b)は、それぞれの人物の相対位置(x,y)と向き(θ)を、概略的に示した処理データ820である。図23(a)に示すように、a1の相対位置(x,y)は、(0,60)であり、向き(θ)は、90°である。b1の相対位置(x,y)は、(90,76.7)であり、向き(θ)は、180°である。c1の相対位置(x,y)は、(−20,42)であり、向き(θ)は、0°である。d1の相対位置(x,y)は、(70,51)であり、向き(θ)は、0°である。
これにより、ロボット10は、ロボット10の周囲に位置する人の位置および向きを、簡易的に推定することができる。なお、ロボット10の周囲に位置する人の位置および向きの推定方法は、これに限られず、遠近法を取り入れたり、ステレオカメラによって撮影されたステレオ画像を用いたりする等の方法であってもよい。また、レーザ等の光線を用いて距離を測る方法や、拠点内にカメラを複数配置して複数の画像から人の位置および向き算出する等の方法であってもよい。
ここで、ロボット10の周囲に位置する人の位置および向きの推定方法の別の例について説明する。ロボット10は、ロボット10が位置する拠点に設置されたビーコン等を用いて、ロボット10の周囲に位置する人の位置および向きを推定(算出)してもよい。図24(a)は、ビーコンが拠点内に設置された場合における、ロボット10の周囲に位置する人の位置および向きを推定する処理の一例を説明するための図である。
図24に示す例において、拠点(例えば、閉じられた部屋等の空間)1100には、各所に、所定の電波を発信するビーコンが設置されている。拠点1100内に位置する会議等の参加者(h1〜h4)は、ビーコンから発信される電波の受信機能とジャイロセンサを有するスマートフォン等の通信端末を保持している。また、会議等の参加者(h1〜h4)は、胸ポケットや腰のベルト等の特定の位置に通信端末を身に着けるで、体の向きと通信端末の向きが連動するようにする。
これにより、会議等の参加者(h1〜h4)が保持する通信端末は、複数のビーコンから発信される電波の強度から通信端末(参加者)の位置を取得することができる。また、会議等の参加者(h1〜h4)が保持する通信端末は、ジャイロセンサかの情報から通信端末(参加者)の向きを取得することができる。そして、拠点1100内に位置するロボット10は、各参加者(h1〜h4)が保持する通信端末のそれぞれから送信される、参加者(h1〜h4)の位置と向きの情報を受信(取得)することができる。
図24(b)は、図24(a)に示した方法によって特定された、それぞれの人物(h1〜h4)の相対位置(x,y)および向き(θ)の情報である。図24(b)に示すように、h1の相対位置(x,y)は、(5,17)であり、向き(θ)は、45°である。h2の相対位置(x,y)は、(18,18)であり、向き(θ)は、240°である。h3の相対位置(x,y)は、(5,12)であり、向き(θ)は、60°である。h4の相対位置(x,y)は、(15,12)であり、向き(θ)は、330°である。
なお、以下の説明において、注目点算出部42によって算出された相対位置を示す座標情報(x,y)および向き(θ)の値は、図24(b)に示した値を用いる。
図19に戻り、ロボット10による目標点算出処理の説明を続ける。ステップS77以降の処理において、ロボット10は、ロボット10の周囲の複数の人の注目点を算出する。注目点は、ロボット10が設置された拠点において複数の人が注目している位置であり、例えば、ロボット10の周囲の複数の人が向いている方向である。注目点は、例えば、遠隔会議において、ロボット10側の拠点での複数の参加者が向いている方向、すなわち、ある時点における話題の中心位置である。
ステップS77において、ロボット10の画像処理部41は、注目点算出部42によって特定されたそれぞれの人物(h1〜h4)の相対位置から、注目点算出部42によって特定されたそれぞれの人物(h1〜h4)の向き(θ)の方向に伸ばした直線の交点を算出する。算出された結果は、図25に示される。図25には、点の組合せと、交点の座標(x,y)が記載されている。なお、人物の向きの方向は、一方向なので、h1とh2、h2とh3の組合せのように、交点が無い場合もある。
ステップS78において、ロボット10の注目点算出部42は、算出した交点のうち、最も多くの方向から得られた交点が複数存在する場合、処理をステップS79へ移行させる。一方で、注目点算出部42は、算出した交点のうち、最も多くの方向から得られた交点が一つの場合、処理をステップS80へ移行させる。
具体的には、まず、注目点算出部42は、上記ステップS77によって算出された交点のうち距離が近い座標をまとめる。まとめられた結果の座標は、例えば、それぞれの交点の座標の平均値である。図26(a)は、上記処理によってまとめられた交点の位置を示す座標情報である。図26(b)は、上記処理によって、まとめられた交点の位置を、概略的に示した処理データ830である。図26(a)に示すように、h1とh3とh4から伸ばした直線の交点は、A(10.5,18)であり、h2とh4から伸ばした直線の交点は、B(14,12)である。
そして、注目点算出部42は、距離の近い交点をまとめた点(交点)のうち、最も多くの方向から得られた交点を抽出する。図26(a)の場合、交点Aは、三つの方向(h1,h2,h3)から得られた交点であり、交点Bは、二つの方向(h2,h4)から得られた交点である。そのため、注目点算出部42は、最も多くの方向から得られた交点は、一つ(交点A)であるため、処理をステップS80へ移行させる。
ステップS80において、注目点算出部42は、最も多くの方向から得られた交点である交点Aを、注目点として特定する。一方で、ステップS79において、注目点算出部42は、最も多くの方向から得られた複数の交点の間の中心位置の座標を、注目点として特定する。
なお、ステップ77において、注目点算出部42は、算出した交点のうち距離が近い交点の座標をまとめる処理を行ったが、算出した交点をそのまま用いて最も多くの方向から得られた交点を注目点として特定してもよい。
これにより、遠隔制御システム1aは、ロボット10が備える撮影装置21によって取得された画像データ200を用いて、ロボット10の周囲に位置する複数の人が注目する注目点を算出することができる。そのため、遠隔制御システム1aは、例えば、ロボット10と表示端末50を用いた遠隔会議等において、ロボット10が設置された拠点側における複数の参加者が注目している箇所を把握することができる。
続いて、注目点算出部42によって算出された注目点を用いて、ロボット10の移動先を特定する処理を説明する。ステップS81において、ロボット10の目標点算出部43は、注目点算出部42によって算出された注目点の位置に基づいて、ロボット10の移動先となる目標点を特定する。目標点は、例えば、ロボット10の移動先の目標位置G(X,Y)を示す位置情報と、ロボット10の移動先におけるロボット10の向き(θ)を示す方向情報を含む。具体的には、目標点算出部43は、図27(b)に示すように、注目点Aとロボット10の位置を結ぶ線上において、注目点Aからの距離pだけ離れた位置を目標位置G(X,Y)として算出する。ここで、距離pは、例えば、それぞれの人物(h1〜h4)の位置と注目点Aとの距離の平均値である。人物(h1〜h4)の位置は、注目点算出部42によって算出された相対位置(x,y)を用いる。また、目標点算出部43は、ロボット10の現在位置から見た注目点Aの方向を、ロボット10の向き(θ)として算出する。目標点算出部43によって特定された目標点(目標位置Gおよび向き)は、例えば、図27(a)に示す値になる。この場合、目標位置G(X,Y)は、(6,11)であり、ロボット10の向き(θ)は、35°である。
なお、目標点算出部43によって算出されるロボット10の向きは、注目点Aの方向に限られず、注目点算出部42によって算出された複数の人物の向きの平均方向としてもよい。
これにより、遠隔制御システム1aは、ロボット10の周囲に位置する複数の人が注目する注目点に基づいて、ロボット10の移動先である目標点を算出することができる。そのため、遠隔制御システム1aは、例えば、ロボット10と表示端末50を用いた遠隔会議等において、ロボット10が設置された拠点側における複数の参加者が注目している箇所に基づいて、ロボット10の移動先を特定することができる。
〇目標点への移動処理
続いて、目標点算出部43によって特定された目標点へ向けてロボット10を移動させる処理について説明する。図28は、第1の実施形態に係るロボットにおける移動処理の一例を説明するためのフローチャートである。
ステップS101において、ロボット10の目標点算出部43は、算出した目標位置G(X,Y)に向けての移動経路を算出する。
ステップS102において、ロボット10は、算出した移動経路に基づいて移動する。まず、ロボット10の向き調整部38は、目標点算出部43によって算出された移動経路に対する進行方向に対して、移動機構17の回転等を行うことによって、ロボット10の向きを変更する。そして、ロボット10の移動制御部37は、向き調整部38による進行方向への向きの変更が完了した場合、移動機構17を駆動させることによって、ロボット10を移動させる。移動制御部37は、目標点算出部43によって算出された移動経路に対応する移動コマンドを、移動機構17に対して随時発行(送信)することで、算出された移動経路に沿ってロボット10を移動させる。
ステップS103において、ロボット10の周辺情報検出部44は、ロボット10の移動中において、障害物を検出した場合、処理をステップS104へ移行させる。具体的には、周辺情報検出部44は、撮影装置21によって取得された画像データ200や各種センサ106によって検出された検出結果を用いて、ロボット10の移動経路に存在する障害物を検出する。障害物は、例えば、拠点内に設置された装置もしくは物体等、または拠点内に位置する人等である。ステップS104において、ロボット10の移動制御部37は、周辺情報検出部44によって障害物が検出された場合、ロボット10を停止させる。
これにより、ロボット10は、目標位置Gへ向けて移動している途中において、障害物を検出した場合、検出した障害物の手前で停止するため、障害物との接触を避けることができる。この場合、ロボット10は、一旦停止した後、周辺情報検出部44によって障害物がなくなったことが検出された場合、再び目標位置Gへ向けての移動を再開してもよい。また、ロボット10は、一旦停止した後、周辺情報検出部44によって検出された障害物が、所定の時間経過してもなくならない場合、目標点算出部43によって算出された移動経路を変更する構成であってもよい。
一方で、ステップS103において、周辺情報検出部44は、ロボット10の移動中において、障害物を検出しない場合、処理をステップS105へ移行させる。この場合、ロボット10の移動制御部37は、目標位置Gに向けてのロボット10の移動制御を継続する。
ステップS105において、ロボット10の移動制御部37は、ロボット10が目標位置Gに到達した場合、処理をステップS106へ移行させる。一方で、移動制御部37は、ロボット10が目標位置Gに到達していない場合、ステップS103からの処理を繰り返し、目標位置Gに向けてのロボット10の移動制御を継続する。
ステップS106において、ロボット10の移動制御部37は、ロボット10が目標位置Gに到達した場合、ロボット10を停止させる。ステップS107において、ロボット10の向き調整部38は、目標点算出部43によって算出された向き(図27(a)参照)に、ロボット10の向きを変更する。具体的には、向き調整部38は、移動機構17の回転等を行うことによって、目標点算出部43によって算出された向き(θ)を示す方向情報に基づいて、ロボット10の向きを変更する。そして、ロボット10の送受信部31は、移動した目標点において撮影装置21によって撮影されて取得された画像データ200を、通信ネットワーク9を介して、表示端末50へ送信する。これによって、表示端末50は、ロボット10の移動先である目標点において、ロボット10の周囲を撮影して取得された画像データ200を表示することができる。
したがって、遠隔制御システム1aは、目標点算出部43によって算出された目標点へロボット10を移動させることができる。そのため、遠隔制御システム1aは、ロボット10が位置する拠点における複数の参加者の注目点に基づいて、ロボット10を移動させることができるとともに、遠隔地の表示端末50に注目点およびその近傍を撮影した画像を表示させることができるので、遠隔拠点間の円滑なコミュニケーションを実現することができる。
なお、図4に示したロボット10bのように移動機構17を有さない場合、ロボット10b(伝送端末)は、目標点算出部43によって算出された目標点のうち、人物の向き(θ)を示す方向情報のみを用いて、ロボット10bの向きを方向情報が示す変更先の向きに変更する構成であってもよい。
〇存在通知処理
続いて、ロボット10が目標点への移動している場合において、ロボット10から自らの存在を周囲に通知する処理を説明する。図29は、第1の実施形態に係るロボットにおける存在通知処理の一例を説明するためのフローチャートである。
ステップS121において、ロボット10の位置特定部39は、ロボット10の現在位置を特定する。具体的には、位置特定部39は、加速度・方位センサ103またはGPS受信部104によって検出される各方位(方位角、磁北)の方向等の検出結果に基づいて、ロボット10の現在位置を特定する。ステップS122において、ロボット10の位置特定部39は、特定したロボット10の現在位置と、注目点算出部42によって算出された注目点Aとの距離を算出する。
ステップS123において、ロボット10は、位置特定部39によって算出された距離が、所定の閾値以上または所定の閾値より長い場合、処理をステップS124に移行させる。一方で、ロボット10は、位置特定部39によって算出された距離が、所定の閾値より短いまたは所定の閾値以下の場合、ステップS121からの処理を繰り返す。
ステップS124において、ロボット10の存在通知部45は、ロボット10の存在を通知する通知情報を出力する。具体的には、存在通知部45は、通知情報として、スピーカ308bから音信号を出力する。また、存在通知部45は、通知情報として、移動機構17、もしくは可動アーム11または回転軸12を駆動させることにより、所定のジェスチャーを行う。なお、存在通知部45による通知情報の出力方法は、これに限られない。
これにより、ロボット10は、注目点から大きく離れている場合、ロボット10の存在を周囲の人に知らせながら注目点に近づくことで、ロボット10が急に現れたりすることによって周囲の人を驚かすことを防止することができる。また、ロボット10は、注目点に近づくことによる、会議等の進行を妨げることを予防することができる。
なお、ロボット10の存在通知部45は、ロボット10の現在位置と注目点までの距離が、所定の閾値以下または所定の閾値より短くなった場合に、ロボットの存在を通知する構成にしてもよい。
以上説明したように、遠隔制御システム1aは、ロボット10の周囲に位置する複数の人(参加者)が注目する注目点に基づいて、ロボット10が自動的に適した位置に移動するため、ロボット10を用いて行われる遠隔コミュニケーションにおいて、参加者に感じさせる違和感や煩わしさを低減させることができるとともに、自然な形でロボット10を介した遠隔コミュニケーションを実現することができる。
従来の位置固定型のビデオ会議システムは、最初に置いた位置から動かされないため、例えば、話題の中心位置(注目点)が変わった場合、遠隔地から参加している人は、会話から取り残されたような印象を受ける。また、例えば、ロボット10の周囲にいる参加者は、遠隔地から参加している人が話題に関心がないと感じてしまい、遠隔地から参加している人を会話の対象から外してしまうおそれがある。結果として、遠隔コミュニケーションによる一体感が損なわれ、疎外感を生む原因となる。
一方で、ロボット10は、話題の中心位置(注目点)に追従して、ロボット10の位置および向きを変更するため、遠隔地から参加している人(例えば、表示端末50を用いてロボット10を操作する操作者)は、ロボット10を通じて常にその話題に加わっている印象を得られる。一方で、ロボット10の周囲に位置する複数の参加者も、遠隔地にいる参加者が会議に参加して話を聞いている印象が得られる。これにより、遠隔制御システム1aは、ロボット10を用いて遠隔会議による円滑なコミュニケーションを実現することができる。
〇ロボット10の移動経路の例〇
ここで、目標点算出部43によって算出されるロボット10の移動経路について説明する。図30(a)に示す例は、ロボット10(R)が目標位置Gにまっすぐ向かうのではなく、人と人との間を見つけてそこに割り込む方法である。この方法は、ロボット10(R)が人に近づきすぎることによって、身体距離(プライベートな空間)が侵されないようにするために有効である。この場合、ロボット10(R)の目標点算出部43は、各参加者(h1〜h4)の位置のすべての組み合わせから、一定以上の距離が空いている位置を特定し、その中間距離にロボット10(R)を移動させるように移動経路を算出する。
図30(b)に示す例は、ロボット10(R)が目標位置Gにまっすぐ向かうのではなく、ロボット10(R)の現在位置から最も近い人の傍を通過する方法である。ロボット10(R)の目標点算出部43は、位置特定部39によって特定されたロボット10(R)の現在位置に最も近い参加者(例えば、h3)を特定し、特定した参加者の位置から一定距離離れた位置にロボット10(R)を移動させるように移動経路を算出する。なお、ロボット10(R)は、例えば、h3の位置から一定距離離れた位置を通過して目標位置Gへ移動してもよいし、h3の位置から一定距離は離れた位置で停止してもよい。この場合、ロボット10(R)は、図30(b)に示すように、注目点Aの方向を向くのではなく、h3と同じ方向を向くように、向き調整部38によってロボット10(R)の向きを変更してもよい。
〇目標点算出処理を開始するまでの処理〇
ここで、図19に示した目標点算出処理を行う頻度またはタイミングについて説明する。会議等において、ロボット10の周囲の参加者の位置が頻繁に変わるような場合、その都度ロボット10が移動すると、参加者にとって逆に会議の妨げとなる場合がある。そこで、遠隔制御システム1aは、所定の条件を満たした場合に、ロボット10において図19に示した目標点算出処理を行う。
図31(a)に示すフローチャートは、前回の目標点算出時からの経過時間に基づいて、目標点算出処理を行う例である。ステップS151aにおいて、ロボット10の判断部34は、タイマ107を用いて、前回の目標点算出時からの経過時間を測定する。ステップS152aにおいて、判断部34は、前回の目標点算出時からの経過時間が、設定された経過時間の条件を超過した場合、処理をステップS153aへ移行させる。具体的には、ロボット10の記憶・読出部46は、記憶部3000に記憶された条件テーブル3002(図10参照)を読み出す。判断部34は、記憶・読出部46によって読み出された条件テーブル3002を検索し、ロボット10が位置する拠点に対応する経過時間の条件を抽出する。例えば、ロボット10が拠点Aに位置する場合、判断部34は、拠点Aに対応する経過時間の条件として、「3min」を抽出する。そして、判断部34は、前回の目標点算出時からの経過時間が、抽出した条件を超過している場合、処理をステップS153aへ移行させる。一方で、ステップS152aにおいて、判断部34は、前回の目標点算出時からの経過時間が、設定された経過時間の条件を超過していない(設定された経過時間内である)場合、ステップS151aからの処理を繰り返す。
ステップS153aにおいて、ロボット10は、前回の目標点算出時から所定の時間経過した場合、図19に示した目標点算出処理を行う。これによって、ロボット10は、前回目標点算出処理を行ってからの経過時間に基づいて、ロボット10の移動先を示す目標点の算出処理を行うとともに、算出した目標点へロボット10を移動させるため、頻繁にロボット10が移動することによって、円滑なコミュニケーションが妨げられることを防止することができる。
図31(b)に示すフローチャートは、ロボット10の周囲に位置する人(参加者)との距離に基づいて、目標点算出処理を行う例である。ステップS151bにおいて、ロボット10は、ロボット10の周囲に位置する人(参加者)との距離を測定する。具体的には、ロボット10の位置特定部39は、加速度・方位センサ103またはGPS受信部104によって検出される各方位(方位角、磁北)の方向等の検出結果に基づいて、ロボット10の現在位置を特定する。そして、位置特定部39は、特定したロボット10の現在位置と、注目点算出部42によって算出された人(参加者)との距離を算出する。
ステップS152bにおいて、判断部34は、算出された人(参加者)との距離が設定された人との距離の条件を超過した場合、処理をステップS153bへ移行させる。具体的には、ロボット10の記憶・読出部46は、記憶部3000に記憶された条件テーブル3002(図10参照)を読み出す。判断部34は、記憶・読出部46によって読み出された条件テーブル3002を検索し、ロボット10が位置する拠点に対応する人との距離の条件を抽出する。例えば、ロボット10が拠点Aに位置する場合、判断部34は、拠点Aに対応する人との距離の条件として、「8m」を抽出する。そして、判断部34は、位置特定部39によって算出されたロボット10と人との距離の少なくとも一つが、抽出した条件を超過している場合、処理をステップS153bへ移行させる。一方で、ステップS152bにおいて、判断部34は、算出された人(参加者)との距離が設定された人との距離の条件を超過していない(ロボット10と全ての参加者とが所定の距離以内に存在する)場合、ステップS151bからの処理を繰り返す。
ステップS153bにおいて、ロボット10は、人(参加者)との距離が所定の距離以上離れた場合、図19に示した目標点算出処理を行う。これによって、ロボット10は、ロボット10の周囲に位置する人(参加者)との距離が所定の距離以上離れた場合にのみ、ロボット10の移動先を示す目標点の算出処理を行うとともに、算出した目標点へロボット10を移動させるため、頻繁にロボット10が移動することによって、円滑なコミュニケーションが妨げられることを防止することができる。
図31(c)に示すフローチャートは、設定された調整周期に基づいて、目標点算出処理を行う例である。ステップS151cにおいて、ロボット10の判断部34は、タイマ107を用いて、前回の目標点算出時からの経過時間を測定する。ステップS152cにおいて、判断部34は、前回の目標点算出時からの経過時間が、設定された調整周期の条件を超過した場合、処理をステップS153cへ移行させる。具体的には、ロボット10の記憶・読出部46は、記憶部3000に記憶された条件テーブル3002(図10参照)を読み出す。判断部34は、記憶・読出部46によって読み出された条件テーブル3002を検索し、ロボット10が位置する拠点に対応する調整周期の条件を抽出する。例えば、ロボット10が拠点Aに位置する場合、判断部34は、拠点Aに対応する調整周期の条件として、「5min」を抽出する。そして、判断部34は、前回の目標点算出時からの経過時間が、抽出した条件を超過している場合、処理をステップS153cへ移行させる。一方で、ステップS152cにおいて、判断部34は、前回の目標点算出時からの経過時間が、設定された調整周期の条件を超過していない(設定された調整周期の範囲内である)場合、ステップS151cからの処理を繰り返す。
ステップS153cにおいて、ロボット10は、前回の目標点算出時から所定の調整周期を経過した場合、図19に示した目標点算出処理を行う。これによって、ロボット10は、設定された目標点の調整周期に基づいて、ロボット10の移動先を示す目標点の算出処理を行うとともに、算出した目標点へロボット10を移動させるため、頻繁にロボット10が移動することによって、円滑なコミュニケーションが妨げられることを防止することができる。
したがって、遠隔制御システム1aは、図31(a)〜(c)のように、所定の条件に基づいて目標点算出処理を開始する頻度またはタイミングを決定するため、ロボット10が頻繁に移動することによって円滑なコミュニケーションが妨げられることを防止することができる。なお、図31(a)〜(c)に示した処理および図10に示した条件テーブル3002に含まれる条件は、一例であり、これに限られず、ロボット10の管理者または表示端末50を用いてロボット10を操作する操作者等によって適宜修正・変更可能である。
また、遠隔制御システム1aは、ロボット10の周囲の人(参加者)の少なくとも一人が移動した場合に、目標点算出処理を行う構成であってもよい。この場合、ロボット10は注目点算出部42および目標点算出部43は、例えば、画像取得部36によって取得された画像データ200に含まれる複数の人物のうち少なくとも一つの人物の位置または向きが変化した場合、変化した人物の位置または向きに基づいて目標点を算出する。具体的には、ロボット10は注目点算出部42および目標点算出部43は、画像データ200に含まれる複数の人物のうち変化していない人物の位置または向きを固定値とし、変化した人物の位置または向きの変化量に基づいて目標点を算出する。
●第1の実施形態の効果
以上説明したように、第1の実施形態に係る遠隔制御システム1aは、被写体を撮影して画像データ200を取得する撮影装置21を備えるロボット10(移動体の一例)と、ロボット10と通信ネットワーク9を介して通信可能であり、ロボット10を遠隔操作する表示端末50を備え、ロボット10と表示端末50との間において送受信される画像データを用いて遠隔コミュニケーションを実現する。
ここで、第1の実施形態に係る遠隔制御システム1aにおいて、ロボット10(移動体の一例)が備える制御装置30は、本発明に係る情報処理装置の一例である。情報処理装置としての制御装置30は、撮影装置21によって取得された画像データ200を取得する画像取得部36(取得手段の一例)と、取得された画像データ200に含まれる複数の人物の位置および向きに基づいて、ロボット10の移動先を示す目標点を算出する注目点算出部42および目標点算出部43(算出手段の一例)とを備え、算出された目標点へロボット10を移動させる。そのため、第1の実施形態に係る情報処理装置としての制御装置30は、一方の拠点にいる複数の参加者の位置と向きに応じて、ロボット10を移動させることで、他方の拠点にいる参加者との遠隔コミュニケーションを活性化させることができる。
さらに、第1の実施形態に係るロボット10(移動体の一例)が備える制御装置30は、取得された画像データ200に含まれる複数の人物の位置および向きを推定し(推定手段の一例、推定された位置および向きに基づいて、画像データ200に含まれる複数の人物が注目する注目点を特定する(注目点特定手段の一例)注目点算出部42と、特定された注目点に基づいて、ロボット10の移動先を示す目標点を特定する目標点算出部43(目標点特定手段の一例)と、有する。そのため、第1の実施形態に係る情報処理装置としての制御装置30は、ロボット10の周囲に位置する複数の参加者が注目する注目点に基づいて、ロボット10を移動させることで、他方の拠点にいる参加者との遠隔コミュニケーションを活性化させることができる。
●第2の実施形態●
次に、第2の実施形態に係る遠隔制御システムついて説明する。なお、第1の実施形態と同一構成および同一機能は、同一の符号を付して、その説明を省略する。第2の実施形態に係る遠隔制御システム1bは、ロボット10の位置調整処理を、ロボット10から送信されてきた画像データを表示する表示端末50が行う構成である。
なお、第2の実施形態に係る遠隔制御システム1bを構成する装置または端末(ロボット10、表示端末50および管理サーバ90)のハードウエア構成は、第1の実施形態に係る遠隔制御システム1aを構成する装置または端末(ロボット10、表示端末50および管理サーバ90)と同様であるため、説明を省略する。
●機能構成
まず、図32を用いて、第2の実施形態に係る遠隔制御システムの機能構成について説明する。図32は、第2の実施形態に係る遠隔制御システムの機能構成の一例を示す図である。なお、第2の実施形態に係る管理サーバ90によって実現される機能は、第1の実施形態に係る管理サーバ90によって実現される機能(図8参照)と同様であるため、説明を省略する。
〇制御装置30の機能構成〇
まず、図32を用いて、第2の実施形態に係るロボット10の処理または動作を制御する制御装置30の機能構成について説明する。第2の実施形態に係る制御装置30は、第1の実施形態に係る制御装置30によって実現される機能(図8参照)から画像処理部41、注目点算出部42および目標点算出部43を除いた機能を実現する。具体的には、第2の実施形態に係る制御装置30によって実現される機能は、送受信部31、操作入力受付部32、表示制御部33、判断部34、撮影指示部35、画像取得部36、移動制御部37、向き調整部38、位置特定部39、周辺情報検出部44、存在通知部45、記憶・読出部46および記憶部3000を含む。第2の実施形態に係る制御装置30によって実現されるそれぞれの機能は、図8に示した内容と同様であるため、説明を省略する。
〇表示端末50の機能構成〇
次に、図32を用いて、表示端末50の機能構成について説明する。第2の実施形態に係る表示端末50によって実現される機能は、第1の実施形態に係る表示端末50によって実現される機能(図8参照)に加えて、画像処理部61、注目点算出部62および目標点算出部63を含む。具体的には、表示端末50により実現される機能は、送受信部51、操作入力受付部52、表示制御部53、判断部54、要求コマンド生成部55、視線検出部56、記憶・読出部57、画像処理部61、注目点算出部62、目標点算出部63および記憶部5000を含む。また、送受信部51は、撮影装置21によって取得された画像である画像データ200を受信(取得)する取得手段の一例である。さらに、送受信部51は、後述する目標点算出部63によって算出された目標点へロボット10を移動させるための要求コマンド(要求情報)を、ロボット10へ送信する第2の送信手段の一例である。
画像処理部61は、送受信部51によって受信(取得)された画像に対する処理を行う機能である。画像処理部61は、例えば、送受信部51によって取得された画像データ200に含まれる人物の頭の画像を抽出する。また、画像処理部61は、例えば、送受信部51によって取得された人物の目と鼻の画像を抽出する。画像処理部61は、主に、図6に示したCPU501の処理によって実現される。
注目点算出部62は、画像処理部61によって処理された画像データに含まれる複数の人物の位置および向きに基づいて、複数の人が注目する注目点を特定する機能である。注目点算出部62が実現する機能は、図8に示した注目点算出部42と同様であるため、説明を省略する。注目点算出部62は、主に、図6に示したCPU501の処理によって実現される。注目点算出部62は、算出手段の一例である。また、注目点算出部62は、推定手段の一例である。さらに、注目点算出部62は、注目点特定手段の一例である。
目標点算出部63は、注目点算出部62によって算出された注目点に基づいて、ロボット10の移動先となる目標点を特定する機能である。目標点算出部63が実現する機能は、図8に示した目標点算出部43と同様であるため、説明を省略する。目標点算出部63は、主に、図6に示したCPU501の処理によって実現される。目標点算出部63は、算出手段の一例である。また、目標点算出部63は、目標点特定手段の一例である。
●第2の実施形態の処理または動作
続いて、図33を用いて、第2の実施形態に係る遠隔制御システムにおけるロボットの処理または動作について説明する。なお、図33において、ロボット10が備える制御装置30によって実行される処理は、ロボット10によって実行される処理として説明する。図33は、第2の実施形態に係る遠隔制御システムにおけるロボットの制御処理の一例を説明するためのシーケンス図である。
ステップS201において、ロボット10の画像取得部36は、撮影装置21によって撮影された画像である画像データ200を取得する。
ステップS202−1,S202−2において、ロボット10の送受信部31は、確立された管理サーバ90との通信セッションを用いて、画像取得部36によって取得された画像データ200を、表示端末50へ送信する。これにより、表示端末50の送受信部51は、撮影装置21によって取得された画像である画像データ200を受信(取得)する(取得ステップの一例)。
ステップS203において、表示端末50の表示制御部53は、送受信部51によって受信された画像データ200を、ディスプレイ512の表示画面600(図18(b)参照)に表示させる。これによって、表示端末50を用いてロボット10を操作する操作者は、ロボット10が位置する拠点の状況を、画像データ200が表示された表示画面600を見ながら確認することができる。
ステップS204において、表示端末50は、ロボット10の移動先となる目標点の算出処理を実行する(算出ステップの一例)。表示端末50の画像処理部61、注目点算出部62および目標点算出部63による目標点算出処理は、図19に示した処理と同様であるため、説明を省略する。
ステップS205において、表示端末50の要求コマンド生成部55は、目標点算出部63によって算出された目標点に基づいて、ロボット10へ送信する要求コマンドを生成する。この場合、要求コマンド生成部55によって生成される要求コマンドは、目標点算出部63によって算出された目標位置Gの座標情報(X,Y)を変数とする「GO(X,Y)」コマンドを含む。また、要求コマンド生成部55によって生成される要求コマンドは、目標点算出部63によって算出されたロボット10の向き(θ)を変数とする「TURN(θ)」コマンドを含む。要求コマンド生成部55によって生成される要求コマンドは、目標点算出部63によって算出された目標点へロボット10を移動させるための要求情報の一例である。
ステップS206−1,S206−2において、表示端末50の送受信部31は、確立された管理サーバ90との通信セッションを用いて、要求コマンド生成部55によって生成された要求コマンド(「GO(X,Y)」,「TURN(θ)」)を、ロボット10へ送信する。これにより、ロボット10の送受信部31は、要求コマンド(「GO(X,Y)」,「TURN(θ)」)を受信する。
ステップS207において、ロボット10の記憶・読出部46は、記憶部5000に記憶されたコマンドテーブル5001を読み出す。ステップS208において、ロボット10の判断部34は、記憶・読出部46によって読み出されたコマンドテーブル3001を検索し、送受信部31によって受信された要求コマンドに対応する処理を抽出する。この場合、送受信部31によって受信された要求コマンドが「GO(X,Y)」および「TURN(θ)」であるため、判断部34は、コマンドテーブル3001を検索して、要求コマンド「GO(X,Y)」および「TURN(θ)」に対応する処理を抽出する。抽出される処理は、「ロボット10を(X,Y)の位置まで移動させる」および「ロボット10を右のθ°回転させる」である。
ステップS209において、ロボット10は、上記ステップS208によって抽出された処理を実行する。具体的には、ロボット10の判断部34は、抽出した処理の実行要求を、移動制御部37へ通知する。そして、移動制御部37は、判断部34によって抽出された処理に基づいて、ロボット10を移動させる。ロボット10の移動処理は、図28で示した処理と同様であるため、説明を省略する。
そして、ロボット10の送受信部31は、表示端末50から送信されてきた要求コマンドに含まれる目標点において撮影装置21によって撮影された画像データ200を、表示端末50へ送信する。表示端末50は、ロボット10から送信されてきた画像データ200を受信する。これによって、表示端末50は、要求コマンドに含まれる目標点において、ロボット10の周囲を撮影して取得された画像データ200を表示することができる。
●第2の実施形態の効果
以上説明したように、第2の実施形態に係る遠隔制御システム1bは、ロボット10(移動体の一例)の目標点算出処理を、通信ネットワーク9を介してロボット10を遠隔操作する表示端末50が行う。そのため、第2の実施形態に係る遠隔制御システム1bは、ロボット10の処理負担を低減させることができるとともに、ロボット10が位置する拠点と表示端末50との間における、ロボット10を用いた遠隔コミュニケーションを活性化させることができる。
ここで、第2の実施形態に係る遠隔制御システム1bにおいて、表示端末50は、本発明に係る情報処理装置の一例である。情報処理装置としての表示端末50は、撮影装置21によって取得された画像データ200を取得する送受信部51(取得手段の一例)と、取得された画像データ200に含まれる複数の人物の位置および向きに基づいて、ロボット10の移動先を示す目標点を算出する注目点算出部62および目標点算出部63(算出手段の一例)とを備え、算出された目標点へロボット10を移動させる。そのため、第2の実施形態に係る情報処理装置としての表示端末50は、一方の拠点の複数の参加者の位置と向きに基づいてロボット10の移動先を算出し、算出した移動先へロボット10を移動させることで、他方の拠点にいる参加者との遠隔コミュニケーションを活性化させることができる。
●第3の実施形態●
次に、第3の実施形態に係る遠隔制御システムついて説明する。なお、第1の実施形態または第2の実施形態と同一構成および同一機能は、同一の符号を付して、その説明を省略する。第3の実施形態に係る遠隔制御システム1cは、ロボット10の位置調整処理を、ロボット10および表示端末50と通信ネットワーク9を介して通信可能な画像処理サーバ70が行う構成である。
●システム構成
まずは、図34を用いて、第3の実施形態の遠隔制御システムの構成の概略について説明する。図34は、第3の実施形態に係る遠隔制御システムのシステム構成の一例を示す図である。図34に示すように、第3の実施形態の遠隔制御システム1cは、図1に示した構成に、画像処理サーバ70が追加されている。画像処理サーバ70は、通信ネットワーク9を介して、ロボット10、表示端末50および管理サーバ90と通信可能に接続されている。画像処理サーバ70は、管理サーバ90によって確立された通信セッションを用いて、ロボット10または表示端末50との間で、画像データの送受信を行う。
画像処理サーバ70は、サーバコンピュータであり、複数台のサーバコンピュータで分散して画像処理を行なう場合も含まれる。画像処理サーバ70は、ロボット10の移動状態に応じて、ロボット10から送信されてきた画像データ200の画像処理を行い、処理データを表示端末50へ送信する。なお、画像処理サーバ70は、複数台のサーバコンピュータにより構成されてもよく、どのサーバコンピュータに機能を備えさせてもよい。画像処理サーバ70は、情報処理装置の一例である。
ここで、画像処理サーバ70と管理サーバ90は、サーバシステム7を構成する。画像処理サーバ70と管理サーバ90は、一台のサーバコンピュータにより構成されてもよい。また、表示端末50と画像処理サーバ70は、表示システム5を構成する。さらに、ロボット10(10A,10B,10C)と画像処理サーバ70は、移動体制御システム(伝送制御システム)3を構成する。
なお、画像処理サーバ70のハードウエア構成は、図7に示した管理サーバ90のハードウエア構成と同様であるため、説明を省略する。以下、画像処理サーバ70は、図7に示したハードウエア構成を有するものとして説明する。
●機能構成
図35は、第3の実施形態に係る遠隔制御システムの機能構成の一例を示す図である。画像処理サーバ70によって実現される機能は、送受信部71、判断部72、データ処理部73、画像処理部74、注目点算出部75、目標点算出部76、記憶・読出部77および記憶部7000を含む。
送受信部71は、通信ネットワーク9を介して、他の装置(例えば、管理サーバ90、表示端末50またはロボット10)との間で各種データまたは情報の送受信を行う機能である。送受信部71は、例えば、撮影装置21によって取得された画像である画像データ200を受信(取得)する。また、送受信部71は、データ処理部73によって生成された要求データ(要求情報)を、通信ネットワーク9を介して、ロボット10へ送信する。送受信部71は、主に、図7に示したCPU901の処理、およびネットワークI/F909によって実現される。送受信部71は、取得手段の一例である。また、送受信部71は、第3の送信手段の一例である。
判断部72は、送受信部71によって送受信される各種データに対する処理の内容を判断する機能である。判断部72は、主に、図7に示したCPU901の処理によって実現される。
データ処理部73は、送受信部71によって送受信される各種データの処理を行う機能である。データ処理部73は、目標点算出部76によって算出された目標点へロボット10を移動させるための要求データ(要求情報)を生成する。データ処理部73は、主に、図15に示したCPU901の処理によって実現される。
画像処理部74は、送受信部71によって受信(取得)された画像に対する処理を行う機能である。画像処理部74は、例えば、送受信部71によって取得された画像データ200に含まれる人物の頭の画像を抽出する。また、画像処理部74は、例えば、送受信部71によって取得された人物の目と鼻の画像を抽出する。画像処理部74は、主に、図7に示したCPU901の処理によって実現される。
注目点算出部75は、画像処理部74によって処理された画像データに含まれる複数の人物の位置および向きに基づいて、複数の人が注目する注目点を特定する機能である。注目点算出部75が実現する機能は、図8に示した注目点算出部42と同様であるため、説明を省略する。注目点算出部75は、主に、図7に示したCPU901の処理によって実現される。注目点算出部75は、算出手段の一例である。また、注目点算出部75は、推定手段の一例である。さらに、注目点算出部75は、注目点特定手段の一例である。
目標点算出部76は、注目点算出部75によって算出された注目点に基づいて、ロボット10の移動先となる目標点を特定する機能である。目標点算出部76が実現する機能は、図8に示した目標点算出部43と同様であるため、説明を省略する。目標点算出部76は、主に、図7に示したCPU901の処理によって実現される。目標点算出部76は、算出手段の一例である。また、目標点算出部76は、目標点特定手段の一例である。
記憶・読出部77は、記憶部7000に各種データを記憶させ、または記憶部7000から各種データを読み出す機能である。記憶・読出部77は、主に、図7に示したCPU901の処理によって実現される。また、記憶部7000は、主に、図7に示したROM902、HD904または記録メディア906によって実現される。
また、記憶部7000は、送受信部71によって受信された画像データ200、および画像データ250を記憶している。さらに、記憶部7000は、条件テーブル7001を記憶している。なお、条件テーブル7001は、図11に示した条件テーブル3002と同様であるため、説明を省略する。また、記憶部7000に記憶されている画像データ200および画像データ250は、送受信部71によって受信されてから所定の時間経過した場合に削除される構成であってもよいし、操作入力受付部52によって受け付けられた、ユーザからの削除命令に基づいて削除される構成であってもよい。同様に、記憶部5000に記憶されている画像データ250は、CMOSセンサ505aによって取得されてから所定の時間経過した場合に削除される構成であってもよいし、ロボット10または表示端末50へ送信されたデータが削除される構成であってもよい。
●第3の実施形態の処理または動作
続いて、図36を用いて、第3の実施形態に係る遠隔制御システムにおけるロボットの処理または動作について説明する。なお、図36において、ロボット10が備える制御装置30によって実行される処理は、ロボット10によって実行される処理として説明する。図36は、第3の実施形態に係る遠隔制御システムにおけるロボットの制御処理の一例を説明するためのシーケンス図である。
ステップS301において、ロボット10の画像取得部36は、撮影装置21によって取得された画像である画像データ200を取得する。
ステップS302−1,S302−2,S302−3において、ロボット10の送受信部31は、確立された管理サーバ90との通信セッションを用いて、画像取得部36によって取得された画像データ200を、表示端末50へ送信する。このうち、画像処理サーバ70の送受信部71は、ロボット10から送信されてきた、撮影装置21によって取得された画像である画像データ200を受信(取得)する(取得ステップの一例)。これにより、表示端末50の送受信部51は、画像データ200を受信する。
ステップS303において、表示端末50の表示制御部53は、送受信部51によって受信された画像データ200を、ディスプレイ512の表示画面600(図18(b)参照)に表示させる。これによって、表示端末50を用いてロボット10を操作する操作者は、ロボット10が位置する拠点の状況を、画像データ200が表示された表示画面600を見ながら確認することができる。
ステップS304において、画像処理サーバ70は、ロボット10の移動先となる目標点の算出処理を実行する(算出ステップの一例)。画像処理サーバ70の画像処理部74、注目点算出部75および目標点算出部76による目標点算出処理は、図19に示した処理と同様であるため、説明を省略する。
ステップS305において、画像処理サーバ70のデータ処理部73は、目標点算出部76によって算出された目標点へロボット10を移動させるために、ロボット10へ送信する要求データ(要求情報)を生成する。この場合、データ処理部73によって生成される要求データは、目標点算出部63によって算出された目標位置G(X,Y)を示す位置情報、ロボット10の移動先におけるロボット10の向き(θ)を示す方向情報を含む。データ処理部73によって生成される要求データは、表示端末50の要求コマンド生成部55によって生成される要求コマンドに対応する。
ステップS306−1,S306−2において、画像処理サーバ70の送受信部71は、データ処理部73によって生成された要求データ(要求情報)を、ロボット10へ送信する。これにより、ロボット10の送受信部31は、要求データ(要求情報)を受信する。
ステップS307において、ロボット10の記憶・読出部46は、記憶部5000に記憶されたコマンドテーブル5001を読み出す。ステップS308において、ロボット10の判断部34は、記憶・読出部46によって読み出されたコマンドテーブル3001を検索し、送受信部31によって受信された要求データ(要求データに対応する要求コマンド)に対応する処理を抽出する。この場合、送受信部31によって受信された要求データに対応する要求コマンドが「GO(X,Y)」および「TURN(θ)」であるため、判断部34は、コマンドテーブル3001を検索して、要求コマンド「GO(X,Y)」および「TURN(θ)」に対応する処理を抽出する。抽出される処理は、「ロボット10を(X,Y)の位置まで移動させる」および「ロボット10を右のθ°回転させる」である。
ステップS309において、ロボット10は、上記ステップS308によって抽出された処理を実行する。具体的には、ロボット10の判断部34は、抽出した処理の実行要求を、移動制御部37へ通知する。そして、移動制御部37は、判断部34によって抽出された処理に基づいて、ロボット10を移動させる。ロボット10の移動処理は、図28で示した処理と同様であるため、説明を省略する。
そして、ロボット10の送受信部31は、画像処理サーバ70から送信されてきた要求データに含まれる目標点において撮影装置21によって撮影された画像データ200を、表示端末50へ送信する。表示端末50は、ロボット10から送信されてきた画像データ200を受信する。これによって、表示端末50は、画像処理サーバ70によって生成された要求データに含まれる目標点において、ロボット10の周囲を撮影して取得された画像データ200を表示することができる。
●第3の実施形態の効果
以上説明したように、第3の実施形態に係る遠隔制御システム1cは、ロボット10(移動体の一例)の目標点算出処理を、通信ネットワーク9を介してロボット10および表示端末50と通信可能な画像処理サーバ70が行う構成である。そのため、第3の実施形態に係る遠隔制御システム1cは、ロボット10および表示端末50の処理負担を低減させることができるとともに、ロボット10が位置する拠点と表示端末50との間における、ロボット10を用いた遠隔コミュニケーションを活性化させることができる。
ここで、第3の実施形態に係る遠隔制御システム1cにおいて、画像処理サーバ70は、本発明に係る情報処理装置の一例である。情報処理装置としての画像処理サーバ70は、撮影装置21によって取得された画像データ200を取得する送受信部71(取得手段の一例)と、取得された画像データ200に含まれる複数の人物の位置および向きに基づいて、ロボット10(移動体の一例)の移動先を示す目標点を算出する注目点算出部75および目標点算出部76(算出手段の一例)とを備え、算出された目標点へロボット10を移動させる。そのため、第3の実施形態に係る情報処理装置としての画像処理サーバ70は、一方の拠点の複数の参加者の位置と向きに基づいてロボット10の移動先を算出し、算出した移動先へロボット10を移動させることで、他方の拠点にいる参加者との遠隔コミュニケーションを活性化させることができる。
●まとめ●
以上説明したように、本発明の一実施形態に係る情報処理装置は、被写体を撮影して画像データ200を取得する撮影装置21を備えるロボット10(移動体の一例)の位置を調整する情報処理装置であって、撮影装置21によって取得された画像データ200を取得する取得し、画像データ200に含まれる複数の人物の位置および向きに基づいて、ロボット10の移動先を示す目標点を算出する。そして、本発明の一実施形態に係る情報処理装置は、目標点を算出することで、ロボット10を目標点へ移動させる。そのため、本発明の一実施形態に係る情報処理装置は、ロボット10を用いた円滑なコミュニケーションを実現させることができる。
また、本発明の一実施形態に係る遠隔制御システム1aは、被写体を撮影して画像データ200を取得する撮影装置21を備えるロボット10(移動体の一例)と、ロボット10と通信ネットワーク9を介して通信可能であり、ロボット10を遠隔操作する表示端末50と、を備える。そして、ロボット10は、撮影装置21によって取得された画像データ200を取得する画像取得部36(取得手段の一例)と、取得された画像データ200に含まれる複数の人物の位置および向きに基づいて、ロボット10の移動先を示す目標点を算出する注目点算出部42および目標点算出部43(算出手段の一例)と、算出された目標点へロボット10を移動させる移動制御部37(移動制御手段の一例)と、算出された目標点において撮影装置21によって取得された画像データ200を、表示端末50へ送信する送受信部31(第1の送信手段の一例)を備える。また、表示端末50は、ロボット10から送信された画像データ200を受信する送受信部51(受信手段の一例)と、受信された画像データ200を、ディスプレイ512(表示手段の一例)に表示させる表示制御部53(表示制御手段の一例)と、を備える。そのため、遠隔制御システム1aは、ロボット10が位置する拠点と表示端末50との間における、ロボット10を用いた遠隔コミュニケーションを活性化させることができる。
さらに、本発明の一実施形態に係る遠隔制御システム1bは、被写体を撮影して画像データ200を取得する撮影装置21を備えるロボット10(移動体の一例)と、ロボット10と通信ネットワーク9を介して通信可能であり、ロボット10を遠隔操作する表示端末50と、を備える。そして、表示端末50は、撮影装置21によって取得された画像データ200を取得する送受信部51(取得手段の一例)と、取得された画像データ200に含まれる複数の人物の位置および向きに基づいて、ロボット10の移動先を示す目標点を算出する注目点算出部62および目標点算出部63(算出手段の一例)と、算出された目標点へロボット10を移動させるための要求コマンド(要求情報の一例)を、ロボット10を送信する送受信部51(第2の送信手段の一例)と、を備える。また、ロボット10は、算出された目標点へロボット10を移動させる移動制御部37(移動制御手段の一例)と、表示端末50から送信された要求コマンドに含まれる目標点において撮影装置21によって取得された画像データ200を、表示端末50へ送信する送受信部31(第1の送信手段の一例)と、を備える。さらに、表示端末50は、ロボット10から送信された画像データ200を受信する送受信部51(受信手段の一例)と、受信された画像データ200を、ディスプレイ512(表示手段の一例)に表示させる表示制御部53(表示制御手段の一例)と、を備える。そのため、遠隔制御システム1bは、ロボット10が位置する拠点と表示端末50との間における、ロボット10を用いた遠隔コミュニケーションを活性化させることができる。
また、本発明の一実施形態に係る遠隔制御システム1cは、被写体を撮影して画像データ200を取得する撮影装置21を備えるロボット10(移動体の一例)と、ロボット10と通信ネットワーク9を介して通信可能であり、ロボット10を遠隔操作する表示端末50と、ロボット10および表示端末50のそれぞれと通信ネットワーク9を介して通信可能な画像処理サーバ70(情報処理装置の一例)と、を備える。そして、画像処理サーバ70は、撮影装置21によって取得された画像データ200を取得する送受信部71(取得手段の一例)と、取得された画像データ200に含まれる複数の人物の位置および向きに基づいて、ロボット10の移動先を示す目標点を算出する注目点算出部75および目標点算出部76(算出手段の一例)と、算出された目標点へロボット10を移動させるための要求データ(要求情報の一例)を、ロボット10を送信する送受信部71(第3の送信手段の一例)と、を備える。また、ロボット10は、算出された目標点へロボット10を移動させる移動制御部37(移動制御手段の一例)と、画像処理サーバ70から送信された要求データに含まれる目標点において撮影装置21によって取得された画像データ200を、表示端末50へ送信する送受信部31(第1の送信手段の一例)と、を備える。さらに、表示端末50は、ロボット10から送信された画像データ200を受信する送受信部51(受信手段の一例)と、受信された画像データ200を、ディスプレイ512(表示手段の一例)に表示させる表示制御部53(表示制御手段の一例)と、を備える。そのため、遠隔制御システム1cは、ロボット10が位置する拠点と表示端末50との間における、ロボット10を用いた遠隔コミュニケーションを活性化させることができる。
●補足●
なお、各実施形態の機能は、アセンブラ、C、C++、C#、Java(登録商標)等のレガシープログラミング言語やオブジェクト指向プログラミング言語等で記述されたコンピュータ実行可能なプログラムにより実現でき、ROM、EEPROM、EPROM(Erasable Programmable Read-Only Memory)、フラッシュメモリ、フレキシブルディスク、CD−ROM、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、ブルーレイディスク、SDカード、MO(Magneto-Optical disc)等の装置可読な記録媒体に格納して、または電気通信回線を通じて頒布することができる。
また、各実施形態の機能の一部または全部は、例えばFPGA(Field Programmable Gate Array)等のプログラマブル・デバイス(PD)上に実装することができ、またはASICとして実装することができ、各実施形態の機能をPD上に実現するためにPDにダウンロードする回路構成データ(ビットストリームデータ)、回路構成データを生成するためのHDL(Hardware Description Language)、VHDL(Very High Speed Integrated Circuits Hardware Description Language)、Verilog−HDL等により記述されたデータとして記録媒体により配布することができる。
これまで本発明の一実施形態に係る情報処理装置、移動体、遠隔制御システム、情報処理方法およびプログラムについて説明してきたが、本発明は上述した実施形態に限定されるものではなく、他の実施形態の追加、変更または削除等、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。