以下、図面を参照しながら、発明を実施するための形態を説明する。なお、図面の説明において同一要素には同一符号を付し、重複する説明は省略する。
●実施形態●
●システム構成
図1は、実施形態に係る遠隔制御システムのシステム構成の一例を示す図である。図1に示す遠隔制御システムは、表示端末50を用いて、遠隔拠点に位置するロボット10を遠隔操作することによって、拠点内の装置の管理や保守作業等、または拠点内に位置する人の位置や動線の確認等を行うことができるシステムである。
遠隔制御システム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は、特殊撮影装置21によって撮影した被写体の一部を、後述する一般撮影装置23によって撮影し、一般撮影装置23によって取得された詳細画像を表示端末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乃至図9を用いて、図1で示したロボット10の具体的な構成を説明する。図2は、実施形態に係るロボットの構成の概略の一例を示す図である。
図2に示すロボット10は、ロボット10を移動させる移動機構17、ロボット10の処理または動作を制御する制御装置30を備えた筐体15、可動アーム11、可動アーム11を回転させる回転軸12、撮影機構20、可動アーム11に接続されるとともに撮影機構20を設置するための載置部材25を備える。
撮影機構20は、人、物体、風景等の被写体を撮影して全天球(360°)パノラマ画像を取得可能な特殊撮影装置21と、特殊撮影装置21によって撮影された被写体の一部を撮影して詳細画像を取得可能な一般撮影装置23を有する。特殊撮影装置21は、被写体を撮影して全天球(パノラマ)画像の元になる2つの半球画像を得るための特殊なデジタルカメラである。一般撮影装置23は、デジタル一眼レフカメラ、コンパクトデジタルカメラ等の平面画像(詳細画像)を取得可能なデジタルカメラである。なお、特殊撮影装置21によって撮影される全天球画像、または全天球画像の元になる半球画像の詳細は、後述する(図8〜図12参照)。特殊撮影装置21は、第1の撮影手段の一例、一般撮影装置23は、第2の撮影手段の一例である。
ロボット10は、特殊撮影装置21によって取得された全天球画像である全天球画像データ200を、表示端末50へ送信する。なお、全天球画像データ200の画像は、動画であっても静止画であってもよく、動画と静止画の両方であってもよい。また、全天球画像データ200は、画像データとともに音データを含んでもよい。
特殊撮影装置21によって取得される画像は、全天球画像に限られず、所定値以上の画角を有する広角画像であればよい。この場合、広角画像は、広角カメラやステレオカメラ等の特殊撮影装置21によって取得される。すなわち、特殊撮影装置21は、所定値より焦点距離の短いレンズを用いて撮影された画像(全天球画像、広角画像)を取得可能な撮影手段である。特殊撮影装置21によって取得される画像(全天球画像、広角画像)は、第1の画像の一例である。以下本発明の各実施形態は、特殊撮影装置21によって取得される画像が全天球画像である場合の例を説明する。
また、ロボット10は、一般撮影装置23によって取得される詳細画像である詳細画像データ250を、表示端末50へ送信する。一般撮影装置23によって取得される詳細画像は、特殊撮影装置21によって所定値以上の画角で撮影された被写体の一部を撮影することによって取得可能な画像である。すなわち、一般撮影装置23は、特殊撮影装置21が有するレンズよりも焦点距離の長いレンズを用いて撮影された画像(詳細画像)を取得可能な撮影手段である。一般撮影装置23によって取得される画像(詳細画像、平面画像)は、第2の画像の一例である。
表示端末50は、例えば、ロボット10の操作者による遠隔操作によってロボット10を移動させる場合には、ロボット10の周囲を広範囲で見ることができる全天球画像を表示させる。また、表示端末50は、ロボット10の操作者が全天球画像に含まれる所定の領域の詳細な情報を確認したい場合には、一般撮影装置23によって取得された詳細画像を表示させる。すなわち、特殊撮影装置21は、ロボット10の操作者に対してロボット10の周囲を広範囲に確認させるための画像(全天球画像、広角画像)を取得するために撮影処理を行う撮影手段であり、一般撮影装置23は、ロボット10の操作者に対してロボット10の周囲の特定の箇所の状態を詳細の確認させるための画像(詳細画像)を取得するために撮影処理を行う撮影手段である。これによって、表示端末50は、全天球画像と詳細画像の表示を切り替えることで、ロボット10の操作者による操作性を向上させることができる。
以下、撮影機構20は、特殊撮影装置21と一般撮影装置23を有する例を説明するが、撮影機構20は、特殊撮影装置21と一般撮影装置23の機能を実現可能な一台の撮影装置によって構成されてもよい。
移動機構17は、ロボット10を移動させるユニットであり、車輪、走行モータ、走行エンコーダ、ステアリングモータ、ステアリングエンコーダ等で構成される。ロボット10の移動制御については、既存の技術であるため、詳細な説明は省略するが、ロボット10は、操作者(表示端末50)からの走行指示を受信し、移動機構17は、受信した走行指示に基づいてロボット10を移動させる。
以下、移動機構17は、2つの車輪によって構成される例を説明するが、移動機構17は、二足歩行の足型や単輪のものであってもよい。また、ロボット10の形状は、図2に示すような車両型に限られず、例えば、二足歩行の人型、生物を模写した形態、特定のキャラクターを模写した形態等であってもよい。
筐体15は、ロボット10の胴体部分に位置し、ロボット10の全体に必要な電源を供給する電源供給ユニットおよびロボット10の処理もしくは動作を制御する制御装置30等が内蔵されている。
可動アーム11は、載置部材25に設置された特殊撮影装置21および一般撮影装置23の撮影位置を調整するための可動部材である。可動アーム11は、回転軸12を用いて回転することで、特殊撮影装置21および一般撮影装置23の向きを変更する。ロボット10は、移動機構17によってロボット10の向きを変えるほか、可動アーム11を回転または変形させることによって、撮影機構20(特殊撮影装置21および一般撮影装置23)の撮影方向を変更することができる。
なお、ロボット10は、上記構成のほかに、ロボット10の周囲の情報を検知可能な各種センサを有していてもよい。各種センサは、例えば、気圧計、温度計、光度計、人感センサ、または照度計等のセンサデバイスである。また、ロボット10は、可動アーム11に撮影機構20のみでなく、ロボット10の移動以外の付加的動作を可能とする操作手段が設置される構成であってもよい。操作手段は、例えば、物をつかむハンド等である。
〇ロボット10の構成の変形例〇
〇変形例1
ここで、図3および図4を用いて、ロボット10の構成の変形例1について説明する。図3(a)〜(c)に示すロボット10は、撮影機構20における特殊撮影装置21の配置が、図2に示した構成と異なる。特殊撮影装置21と一般撮影装置23は、図2で説明したように、それぞれ撮影目的が違うため、特殊撮影装置21と一般撮影装置23の配置を用途に応じて変更することが好ましい。
図3(a)に示す撮影機構20aは、特殊撮影装置21を一般撮影装置23の上部に配置している。特殊撮影装置21は、ロボット10の周囲を広範囲に撮影する必要がある。そのため、ロボット10は、撮影機構20aをこのような配置にすることで、特殊撮影装置21と一般撮影装置23を使い分ける効果がより顕著になる。
また、図3(b)に示す撮影機構20bは、特殊撮影装置21を一般撮影装置23の後部に配置している。一般撮影装置23の正面方向(撮影方向)の領域は、ロボット10の操作者にとって細部まで確認したい領域である。そのため、撮影機構20bをこのような配置にすることで、一般撮影装置23は、正面方向(撮影方向)の領域を、障害物等に邪魔されることなく撮影することができる。また、撮影機構20bのような配置にすることで、特殊撮影装置21は、一般撮影装置23が撮影できない領域(例えば、一般撮影装置23の後方の領域)を、一般撮影装置23等が写り込むことなく、比較的良い解像度で撮影することができる。
さらに、図3(c)に示す撮影機構20cは、特殊撮影装置21を一般撮影装置23の下部に配置している。ロボット10の移動時において、地面(足元)の状況が重要になる。そのため、撮影機構20cのような配置にすることで、特殊撮影装置21は、一般撮影装置23または載置部材25に邪魔されることなく、地面(足元)を撮影することができる。これにより、ロボット10の操作者は、特殊撮影装置21によって取得された全天球画像を見ながら、より安全にロボット10を移動させることができる。
図4(a),(b)に示すロボット10は、可動アーム11の構造が、図2に示した構成と異なる。可動アーム11は、ロボット10の用途に応じて必要な可動範囲を確保できるようにすることが好ましい。図4(a)に示す可動アーム11aは、関節部材がなく、回転軸12によって向きを変えられるのみである。ロボット10は、特殊撮影装置21または一般撮影装置23によって撮影したい箇所の高さや距離が一定である場合、このような構造でも問題ない。また、図4(b)に示す可動アーム11bは、図4(a)に示した可動アーム11aを変形可能な関節部材を有している。この場合、可動アーム11bを、上下方向に変形させることができる。
なお、図3および図4の例は、一つの可動アーム11に特殊撮影装置21および一般撮影装置23を設置した場合を説明したが、複数の可動アーム11に特殊撮影装置21および一般撮影装置23の両方またはいずれか一方を設置した場合においても、図3で示したような位置関係によるバリエーション、または図4で示したような可動アーム11の構造によるバリエーションがあり、同様の効果を得ることができる。
〇変形例2
次に、図5および図6を用いて、ロボット10の構成の変形例2について説明する。図5(a)に示すロボット10aは、撮影機構20dにおける特殊撮影装置21の配置が、図2に示した構成と異なる。図5(a)に示すロボット10aは、特殊撮影装置21を筐体15に固定された支持部材13上に設置している。これにより、特殊撮影装置21は、常にロボット10の進行方向と同じの方向を向くため、特殊撮影装置21によって取得された全天球画像を見ながらロボット10を操作する操作者が操作を行いやすくなる。図5(b)に示すロボット10bは、図5(a)に示したロボット10aの支持部材13を伸縮させることが可能な伸縮部材14を有している。図5(b)に示すロボット10bは、伸縮部材14を用いて支持部材13を伸び縮みさせることで、特殊撮影装置21の高さを調整することができる。これにより、ロボット10bは、例えば、支持部材13を高くして周囲に存在する障害物の先まで特殊撮影装置21によって撮影できるようにしたり、支持部材13を低くして地面(足元)の状態を特殊撮影装置21によって撮影しながら移動したりするといった臨機応変な処理が可能になる。なお、図5(a),(b)に示す支持部材13は、筐体15に固定されたポール等であってもよいし、筐体15に固定された台座であってもよい。
図6(a)に示すロボット10cは、特殊撮影装置21の周りに人の顔を模したマスク(仮面)27が配置されている。マスク27は、特殊撮影装置21によって取得された全天球画像が表示端末50に表示されている方向に向くように、支持部材13の周りを回転する。これにより、ロボット10の操作者が表示端末50に表示された全天球画像を介して見ている方向を、マスク27の向きによってロボット10の周囲にいる人に知らせることができる。これは、ロボット10の周囲にいる人にとって、見られているかどうかわからないという状態が非常に不快感やストレスを伴うものだからである。ロボット10cは、このようなマスク27を備えることで、マスク27の向いてない方向は見られていないという安心感をロボット10の周囲にいる人に与えることができる。
なお、図6は、ロボット10cにマスク27を配置させた構成を説明したが、ロボット10cの進行方向に対して水平に円状もしくは球状に配置したランプの点灯、または方向を示す表示等を用いて、ロボット10の操作者が見ている方向をロボット10の周囲にいる人に知らせる構成であってもよい。
〇変形例3
次に、図7を用いて、ロボット10の構成の変形例3について説明する。図7に示すロボット10dは、特殊撮影装置21と一般撮影装置23とを異なる可動アームに設置させた構成である。これにより、ロボット10dは、特殊撮影装置21が設置された可動アーム11を変形させることで適切な位置から特殊撮影装置21による撮影を行うことができるとともに、一般撮影装置23が設置された可動アーム11を変形させることで、より詳細に確認する必要がある箇所を一般撮影装置23によって撮影することができる。
●全天球画像
次に、図8乃至図12を用いて、特殊撮影装置21によって取得される全天球画像の一例について説明する。ここで、特殊撮影装置21には、撮像素子とレンズから構成される撮像ユニットが複数設けられているものとする。例えば、特殊撮影装置21には、前側に撮像ユニットFが設けられ、後側に撮像ユニットBが設けられている。まず、図8および図9を用いて、特殊撮影装置21で撮影された画像から正距円筒射影画像ECおよび全天球画像CEが作成されるまでの処理の概略を説明する。図8(a)は特殊撮影装置21で撮影された半球画像(前側)、図8(b)は特殊撮影装置21で撮影された半球画像(後側)、図8(c)は正距円筒図法により表された画像(以下、「正距円筒射影画像」という)を示した図である。図9(a)は正距円筒射影画像で球を被う状態を示した概念図、図9(b)は全天球画像を示した図である。
図8(a)に示すように、特殊撮影装置21の前側に設けられた撮像ユニットFによって得られた画像は、湾曲した半球画像(前側)となる。また、図8(b)に示すように、特殊撮影装置21の後側に設けられた撮像ユニットBによって得られた画像は、湾曲した半球画像(後側)となる。そして、特殊撮影装置21は、半球画像(前側)と180度反転された半球画像(後側)とを合成して、図8(c)に示すような正距円筒射影画像ECを作成する。
そして、特殊撮影装置21は、OpenGLES(Open Graphics Library for Embedded Systems)を利用することで、図9(a)に示すように、球面を覆うように正距円筒射影画像を貼り付け、図9(b)に示すような全天球画像CEを作成する。このように、全天球画像CEは、正距円筒射影画像ECが球の中心を向いた画像として表される。なお、OpenGLESは、2D(2-Dimensions)および3D(3-Dimensions)のデータを視覚化するために使用するグラフィックスライブラリである。また、全天球画像CEは、静止画であっても動画であってもよい。
以上のように、全天球画像CEは、球面を覆うように貼り付けられた画像であるため、人間が見ると違和感を持ってしまう。そこで、特殊撮影装置21は、所定のディスプレイに、全天球画像CEの一部の所定領域(以下、「所定領域画像」という)を湾曲の少ない平面画像として表示させることで、人間に違和感を与えない表示をすることができる。これに関して、図10および図11を用いて説明する。
図10は、全天球画像を三次元の立体球とした場合の仮想カメラおよび所定領域の位置を示した図である。仮想カメラICは、三次元の立体球として表示されている全天球画像CEに対して、その画像を見るユーザの視点の位置に相当するものである。また、図11(a)は図10の立体斜視図、図11(b)はディスプレイに表示された場合の所定領域画像を表す図である。また、図11(a)は、図9に示した全天球画像CEを、三次元の立体球CSで表している。このように生成された全天球画像CEが、立体球CSであるとした場合、図10に示すように、仮想カメラICは、全天球画像CEの内部に位置している。全天球画像CEにおける所定領域Tは、仮想カメラICの撮影領域であり、全天球画像CEを含む三次元の仮想空間における仮想カメラICの撮影方向と画角を示す所定領域情報によって特定される。
そして、図11(a)に示す所定領域画像Qは、図11(b)に示すように、所定のディスプレイに、仮想カメラICの撮影領域の画像として表示される。図11(b)に示す画像は、初期設定(デフォルト)された所定領域情報によって表された所定領域画像である。以下、仮想カメラICの撮影方向(ea,aa)と画角(α)を用いて説明する。
図12を用いて、所定領域情報と所定領域Tの画像の関係について説明する。なお、図12は、所定領域情報と所定領域Tの画像の関係との関係を示した図である。「ea」はelevation angle、「aa」はazimuth angle、「α」は画角(Angle)を示す。すなわち、仮想カメラICの姿勢は、撮影方向(ea,aa)で示される仮想カメラICの注視点が、仮想カメラICの撮影領域である所定領域Tの中心点CPとなるように変更される。所定領域画像Qは、全天球画像CEにおける所定領域Tの画像である。fは、仮想カメラICから中心点CPまでの距離である。Lは所定領域Tの任意の頂点と中心点CPとの距離である(2Lは対角線)。そして、図12では、一般的に以下の(式1)で示される三角関数が成り立つ。
●ハードウエア構成
次に、図13乃至図15を用いて、実施形態におけるロボット10、表示端末50および管理サーバ90のハードウエア構成を説明する。なお、図13乃至図15に示すハードウエア構成は、各実施形態において同様の構成を備えていてもよく、必要に応じて構成要素が追加または削除されてもよい。
〇ロボット10のハードウエア構成〇
まず、図13を用いて、ロボット10のハードウエア構成を説明する。図13は、実施形態に係るロボットのハードウエア構成の一例を示す図である。なお、図13に示すハードウエア構成は、必要に応じて構成要素が追加または削除されてもよい。ロボット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(4th Generation)、5G(5th 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、並びに上述した特殊撮影装置21および一般撮影装置23が接続されている。
移動モータ101は、CPU301からの命令に基づき、移動機構17を回転駆動させてロボット10を地面に沿って移動させる。アクチュエータ102は、CPU301からの命令に基づき、可動アーム11を変形させる。加速度・方位センサ103は、地磁気を検知する電子磁気コンパス、ジャイロコンパスおよび加速度センサ等のセンサである。GPS(Global Positioning System)受信部104は、GPS衛星からGPS信号を受信する。電源供給ユニット105は、ロボット10の全体に必要な電源を供給するユニットである。
〇表示端末50のハードウエア構成〇
続いて、図14を用いて、表示端末50のハードウエア構成について説明する。図14は、実施形態に係る表示端末のハードウエア構成の一例を示す図である。表示端末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のハードウエア構成〇
続いて、図15を用いて、管理サーバ90のハードウエア構成について説明する。図15は、実施形態に係る管理サーバのハードウエア構成の一例を示す図である。管理サーバ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は、図15に示すCPU901等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
●第1の実施形態●
続いて、図16乃至図38を用いて、第1の実施形態に係る遠隔制御システムの構成について説明する。
●機能構成
まず、図16を用いて、第1の実施形態に係る遠隔制御システムの機能構成について説明する。図16は、第1の実施形態に係る遠隔制御システムの機能構成の一例を示す図である。
〇制御装置30の機能構成〇
まず、図16を用いて、ロボット10の処理または動作を制御する制御装置30の機能構成について説明する。制御装置30によって実現される機能は、送受信部31、操作入力受付部32、表示制御部33、判断部34、状態情報生成部35、撮影指示部36、画像取得部37、移動制御部38、アーム操作制御部39、記憶・読出部41、位置情報検出部42および記憶部3000を含む。
送受信部31は、通信ネットワーク9を介して、他の装置との間で各種データまたは情報の送受信を行う機能である。送受信部31は、例えば、通信ネットワーク9を介して、画像取得部37によって取得された全天球画像データ200または詳細画像データ250を、表示端末50へ送信する。送受信部31は、主に、図13に示したCPU301の処理、およびネットワークI/F305によって実現される。送受信部31は、第2の送信手段の一例である。
操作入力受付部32は、ディスプレイ306a等の入力手段に対する操作入力を受け付ける機能である。操作入力受付部32は、主に、図13に示したCPU301の処理、および入出力I/F306によって実現される。表示制御部33は、ディスプレイ306aに各種画面を表示させる機能である。表示制御部33は、主に、図13に示したCPU301の処理、および入出力I/F306によって実現される。
判断部34は、表示端末50から送信されてきた要求コマンドに応じてロボット10が実行する処理または動作を判断する機能である。判断部34は、主に、図13に示したCPU301の処理によって実現される。
状態情報生成部35は、ロボット10の移動状態を示す状態情報150を生成する機能である。状態情報生成部35は、移動制御部38から取得される移動機構17の駆動状態に基づいて、ロボット10の移動状態を示す状態情報150を生成して取得する。状態情報生成部35によって生成(取得)される状態情報150の詳細は、後述する。状態情報生成部35は、主に、図13に示したCPU301の処理、および外部I/F309によって実現される。状態情報生成部35は、第1の取得手段の一例である。
撮影指示部36は、特殊撮影装置21または一般撮影装置23に対する撮影処理を指示する機能である。撮影指示部36は、例えば、特殊撮影装置21による撮影を指示するための指示情報を、特殊撮影装置21へ送信する。また、撮影指示部36は、例えば、一般撮影装置23による撮影を指示するための指示情報を、一般撮影装置23へ送信する。撮影指示部36は、主に、図13に示したCPU301の処理、および外部I/F309によって実現される。
画像取得部37は、特殊撮影装置21によって取得された全天球画像、または一般撮影装置23によって取得された詳細画像を取得する機能である。画像取得部37は、例えば、特殊撮影装置21が被写体を撮影して取得した全天球画像である全天球画像データ200を、特殊撮影装置21から取得する。また、画像取得部37は、例えば、特殊撮影装置21によって撮影された被写体の一部を一般撮影装置23が撮影して取得した詳細画像である詳細画像データ250を、一般撮影装置23から取得する。画像取得部37は、主に、図13に示したCPU301の処理、および外部I/F309によって実現される。画像取得部37は、第2の取得手段の一例である。
移動制御部38は、移動機構17を駆動させることによって、ロボット10の移動を制御する機能である。移動制御部38は、例えば、表示端末50から送信されてきた要求コマンドに応じて移動機構17の駆動を制御することで、ロボット10を移動させる。移動制御部38は、主に、図13に示したCPU301の処理、および外部I/F309によって実現される。
アーム操作制御部39は、可動アーム11の操作を制御する機能である。アーム操作制御部39は、例えば、表示端末50から送信されてきた要求コマンドに含まれる「ARM」コマンドに基づいて、可動アーム11を変形させることで可動アーム11の向きを変更する。アーム操作制御部39は、主に、図13に示したCPU301の処理、および外部I/F309によって実現される。
位置情報検出部42は、加速度・方位センサ103またはGPS受信部104によって検出される各方位(方位角、磁北)の方向等の検出結果を取得する機能である。各方位の方向等の検出結果は、ロボット10の所定時点における位置および向きを示す位置情報である。位置情報検出部42は、主に、図13に示したCPU301の処理、および外部I/F309によって実現される。
記憶・読出部41は、記憶部3000に各種データを記憶させ、または記憶部3000から各種データを読み出す機能である。記憶・読出部41は、主に、図13に示したCPU301の処理によって実現される。記憶部3000は、主に、図13に示したROM302、HD304aおよび記録メディア307aによって実現される。
また、記憶部3000は、画像取得部37によって取得された全天球画像データ200および詳細画像データ250を記憶している。さらに、記憶部3000は、コマンドテーブル3001および撮影パラメータ3002を記憶している。なお、記憶部3000に記憶されている全天球画像データ200および詳細画像データ250は、画像取得部37によって取得されてから所定の時間経過した場合に削除される構成であってもよいし、表示端末50へ送信されたデータが削除される構成であってもよい。
〇コマンドテーブル3001
ここで、記憶部3000に記憶されたデータの詳細について説明する。図17(a)は、第1の実施形態に係るコマンドテーブルの一例を示す図である。図17(a)に示すコマンドテーブル3001は、表示端末50から送信されてきた要求コマンドに基づいてロボット10に実行させる処理または動作を特定するためのものである。コマンドテーブル3001は、コマンドごとに、それぞれのコマンドに対応する変数および処理内容を関連づけて記憶している。制御装置30の判断部34は、コマンドテーブル3001を用いて、表示端末50から送信されてきた要求コマンドに対応する処理を特定する。
例えば、コマンドテーブル3001において、コマンド「MOVE(変数L,R)」に対応する処理は、移動機構17の左車輪をL°回転させ、右車輪をR°回転させる処理である。なお、ロボット10は、二つの独立した左右の車輪によって動くものとして説明するが、移動機構17が足型や単輪のものであっても、特定の方向へ移動できるものであれば、同様の処理が可能である。
〇撮影パラメータ3002
図17(b)は、第1の実施形態に係る撮影パラメータの一例を示す図である。図17(b)に示す撮影パラメータ3002は、特殊撮影装置21によって撮影される全天球画像の画質を記憶している。撮影パラメータ3002は、全天球画像の画質の項目ごとに、それぞれのパラメータが記憶されている。例えば、画質項目は、全天球画像のフレームレート(FPS、1秒あたりの更新頻度)、全天球画像の解像度(RESOLUTION)である。なお、画質項目は、これに限られず、全天球画像の画質に関するその他の項目が含まれていてもよい。制御装置30の撮影指示部36は、特殊撮影装置21によって取得される全天球画像の画質が変更されるたびに、撮影パラメータ3002に記憶されたパラメータを更新(変更)する。
〇表示端末50の機能構成〇
次に、図16を用いて、表示端末50の機能構成について説明する。表示端末50により実現される機能は、送受信部51、操作入力受付部52、表示制御部53、判断部54、要求コマンド生成部55、視線検出部56、記憶・読出部57および記憶部5000を含む。表示端末50は、ロボット10を遠隔操作するための専用のアプリケーションプログラムをインストールしている。表示端末50は、例えば、インストールされたアプリケーションプログラムをCPU501が実行することによって各機能を実現する。
送受信部51は、通信ネットワーク9を介して、他の装置との間で各種データまたは情報の送受信を行う機能である。送受信部51は、例えば、通信ネットワーク9を介して、全天球画像データ200または詳細画像データ250を、ロボット10(制御装置30)から受信する。また、送受信部51は、例えば、通信ネットワーク9を介して、ロボット10の移動状態を示す状態情報150を、ロボット10(制御装置30)から受信(取得)する。さらに、送受信部51は、例えば、通信ネットワーク9を介して、要求コマンド生成部55によって生成された要求コマンドを、ロボット10(制御装置30)へ送信する。また、送受信部51は、例えば、受信(取得)した状態情報150に基づいて、ロボット10が備える一般撮影装置23に対する撮影要求である要求コマンドを出力する。送受信部51は、主に、図14に示したCPU501の処理、および遠距離通信回路510によって実現される。送受信部51は、第1の取得手段の一例である。また、送受信部51は、第1の受信手段の一例である。さらに、送受信部51は、第1の送信手段の一例である。
操作入力受付部52は、表示端末50への各種選択または操作入力を受け付ける機能である。操作入力受付部52は、主に、図14に示したCPU501の処理、およびタッチパネル515によって実現される。なお、タッチパネル515は、ディスプレイ512と共用であってもよい。また、操作入力受付部52は、タッチパネル以外の入力手段によって実現されてもよい。操作入力受付部52は、受付手段の一例である。
表示制御部53は、表示端末50のディスプレイ512に各種画像を表示させる機能である。表示制御部53は、例えば、送受信部51によって受信された全天球画像データ200または詳細画像データ250を、ディスプレイ512に表示させる。また、表示制御部53は、例えば、送受信部51によって受信(取得)された状態情報150に基づいて、ディスプレイ512に表示させる全天球画像データ200または詳細画像データ250の表示を切り替える。すなわち、表示制御部53は、送受信部51によって受信(取得)された状態情報150に基づいて、全天球画像データ200または詳細画像データ250を出力する。表示制御部53は、主に、図14に示したCPU501の処理、およびディスプレイ512によって実現される。表示制御部53は、表示制御手段の一例である。また、ディスプレイ512は、表示手段の一例である。
判断部54は、ロボット10へ要求する特定の処理を判断する機能である。判断部54は、例えば、操作入力受付部52によって受け付けられた操作入力に基づいて、ロボット10へ要求する特定の処理を判断する。また、判断部54は、例えば、送受信部51によって受信(取得)された状態情報150に基づいて、ロボット10へ要求する特定の処理を判断する。判断部54は、主に、図13に示したCPU301の処理によって実現される。
要求コマンド生成部55は、ロボット10に特定の処理を実行されるための実行要求である要求コマンドを生成する機能である。要求コマンド生成部55は、例えば、ロボット10が備える一般撮影装置23に対する撮影要求である要求コマンドを生成する。要求コマンド生成部55は、主に、図14に示したCPU501の処理によって実現される。
視線検出部56は、表示端末50を用いてロボット10を操作する操作者の視線を検出する機能である。視線検出部56は、主に、図14に示したCPU501の処理、および視線検出装置517によって実現される。
記憶・読出部57は、記憶部5000に各種データを記憶させ、または記憶部5000から各種データを読み出す機能である。記憶・読出部57は、主に、図14に示したCPU501の処理によって実現される。記憶部5000は、主に、図10に示したROM502、EEPROM504および記録メディア507によって実現される。
また、記憶部5000は、送受信部51によって受信された全天球画像データ200、および詳細画像データ250を記憶している。さらに、記憶部5000は、状態管理テーブル5001、条件テーブル5002、およびユーザコマンドテーブル5003を記憶している。なお、記憶部5000に記憶されている全天球画像データ200および詳細画像データ250は、送受信部51によって受信されてから所定の時間経過した場合に削除される構成であってもよいし、操作入力受付部52によって受け付けられた、ユーザからの削除命令に基づいて削除される構成であってもよい。
〇状態管理テーブル5001
ここで、記憶部5000に記憶されたデータの内容について説明する。図18は、第1の実施形態に係る状態管理テーブルの一例を示す図である。図18に示す状態管理テーブル5001には、ロボット10の現在の移動状態が記憶されている。状態管理テーブル5001は、ロボット10の進行方向および進行速度のそれぞれに対して、ロボット10の現在の移動状態を示す値が記憶されている。ロボット10の進行方向は、水平角度(H_ANGLE)と垂直角度(V_ANGLE)によって示される。表示端末50は、ロボット10が移動するたびに、状態管理テーブル5001に含まれる各項目の値を更新(変更)する。具体的には、表示端末50の記憶・読出部57は、送受信部51によって受信された状態情報150(図28参照)に基づいて、状態管理テーブル5001の内容を更新する。
〇条件テーブル5002
図19は、第1の実施形態に係る条件テーブルの一例を示す図である。図19に示す条件テーブル5002は、送受信部51によって受信された状態情報150に基づいて、ロボット10に対して要求する処理または動作の内容を特定するために用いられるものである。条件テーブル5002は、ロボット10の移動状態に関する条件のそれぞれに、処理の内容およびロボット10へ送信するコマンドの内容を関連づけて記憶している。例えば、ロボット10の進行速度が5.0km以上の場合(「SPEED>5km/h」)、表示端末50は、処理の内容として「フレームレートを3に下げる」処理を特定するとともに、ロボット10へ送信するコマンドとして「FPS(3)」を特定する。なお、「RESOLUTION」は、全天球画像の解像度に関するコマンドであり、「ZOOM」は、全天球画像の表示範囲(出力範囲)に関するコマンドである。また、条件テーブル5002に含まれる条件、または処理の内容は、これに限られず、表示端末50を用いてロボット10を操作する操作者等によって適宜修正・変更可能である。
〇ユーザコマンドテーブル5003
図20は、第1の実施形態に係るユーザコマンドテーブルの一例を示す図である。図20に示すユーザコマンドテーブル5003は、操作入力受付部52によって受け付けられた操作入力に基づいて、ロボット10に対して要求する処理または動作の内容を特定するために用いられるものである。ユーザコマンドテーブル5003は、操作入力受付部52によって受け付けられた操作入力に対応する入力コマンドに、対応する処理の内容および処理の種別を関連づけて記憶している。
〇管理サーバ90の機能構成〇
次に、図16を用いて、管理サーバ90の機能構成について説明する。管理サーバ90によって実現される機能は、送受信部91、認証部92、判断部93、作成部94、記憶・読出部95および記憶部9000を含む。
送受信部91は、通信ネットワーク9を介して、他の装置との間で各種データまたは情報の送受信を行う機能である。送受信部91は、主に、図15に示したCPU901の処理、およびネットワークI/F909によって実現される。
認証部92は、送受信部91によって受信されたログイン要求に基づいて、ログイン要求元の認証を行う機能である。認証部92は、例えば、送受信部91によって受信されたログイン要求に含まれている端末IDおよびパスワードを検索キーとし、記憶部9000の認証管理DB9001を検索する。そして、認証部92は、認証管理DB9001に同一の組の端末IDおよびパスワードが管理されているかを判断することによって端末認証を行う。認証部92は、主に、図15に示したCPU901の処理によって実現される。
判断部93は、後述するセッション管理テーブルに、表示端末50の端末IDが管理されているかを判断する機能である。判断部93は、主に、図15に示したCPU901の処理によって実現される。
作成部94は、通信に使用されるセッションIDを作成する機能である。作成部94は、主に、図15に示したCPU901の処理によって実現される。
記憶・読出部95は、記憶部9000に各種データを記憶させ、または記憶部9000から各種データを読み出す機能である。記憶・読出部95は、主に、図15に示したCPU901の処理によって実現される。記憶部9000は、主に、図15に示したROM902、HD904または記録メディア906によって実現される。また、この記憶部9000には、後述する図24に示す宛先リスト画面500における宛先リスト枠データ(図24に示すアイコン、「rA01」、「ロボット10A−1」等の宛先リスト内容情報は含まれない)が記憶されている。
〇認証管理テーブル
記憶部9000には、図21(a)に示すような認証管理テーブルによって構成されている認証管理DB9001が構築されている。この認証管理テーブルには、管理サーバ90によって管理される全ての表示端末50の各端末IDに対して、各パスワードが関連づけられた関連情報が管理されている。例えば、図21(a)に示されている認証管理テーブルでは、表示端末50Aの端末IDは「o01」で、パスワードは「aaaa」であることが表されている。
〇端末管理テーブル
また、記憶部9000には、図21(b)に示すような端末管理テーブルによって構成されている端末管理DB9002が構築されている。この端末管理テーブルには、各端末(ロボット10および表示端末50)の端末IDごとに、各端末の端末名、端末のIPアドレス、各端末の現在の稼動状態を示す稼動状態情報、および端末がロボット10である場合のロボット10が位置する拠点を示す拠点名が関連づけられた関連情報が管理されている。
例えば、図21(b)に示す端末管理テーブルにおいて、端末IDが「o01」の表示端末50は、端末名が「表示端末50A」で、この表示端末50のIPアドレスが「1.2.1.3」で、稼動状態が「オンライン(通話可能)」であることが示されている。また、端末IDが「rA01」のロボット10は、端末名が「ロボット10A−1」で、このロボット10のIPアドレスが「1.3.2.3」で、稼動状態が「オンライン(通話可能)」で、拠点名が「拠点A」であることが示されている。
〇宛先リスト管理テーブル
さらに、記憶部9000には、図22(a)に示すような宛先リスト管理テーブルによって構成されている宛先リスト管理DB9003が構築されている。この宛先リスト管理テーブルには、ロボット10の遠隔操作を行うための通信の開始を要求する開始端末としての表示端末50の端末IDごとに、宛先となるロボット10の候補として登録されている宛先候補のロボット10の端末IDが関連づけられた関連情報が管理されている。
例えば、図22(a)に示す宛先リスト管理テーブルにおいて、端末IDが「o01a」である開始端末(表示端末50A)から通信の開始を要求することができる宛先候補は、端末IDが「rA01」のロボット10A−1、端末IDが「rA02」のロボット10A−2、端末IDが「rC01」のロボット10C−1等であることが示されている。なお、宛先候補のロボット10の端末IDは、任意の開始端末(表示端末50)から管理サーバ90に対する追加または削除の要請により、追加または削除されることで更新される。
〇セッション管理テーブル
さらに、記憶部9000には、図22(b)に示すようなセッション管理テーブルによって構成されているセッション管理DB9004が構築されている。このセッション管理テーブルには、ロボット10と表示端末50との間で通信する際に利用されるセッションを識別するためのセッションIDごとに、このセッションIDによって特定されるセッションを使用中のロボット10および表示端末50の端末IDが関連づけられた関連情報が管理されている。例えば、図22(b)に示すセッション管理テーブルにおいて、セッションID「se1」を用いて実行されたセッションを使用中の端末は、端末IDが「o01」の表示端末50A、端末IDが「rA02」のロボット10A−2、および端末IDが「rC01」のロボット10C−1であることが示されている。
●第1の実施形態の処理または動作
続いて、図23乃至図38を用いて、第1の実施形態に係る遠隔制御システムの動作または処理について説明する。なお、以降の説明において、ロボット10が備える制御装置30によって実行される処理は、ロボット10によって実行される処理として説明する。
〇セッション確立処理〇
まず、図23乃至図25を用いて、ロボット10と表示端末50との間における通信セッションの確立処理について説明する。図23は、ロボットと表示端末との間でデータの送受信を開始する準備段階の処理の一例を示すシーケンス図である。ここでは、開始端末としての表示端末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の認証管理テーブル(図21(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によって受信された表示端末50の端末ID「o01」を検索キーとして、宛先リスト管理テーブル(図22(a))参照を検索し、対応する全ての宛先候補の端末IDを読み出す。さらに、ステップS18において、記憶・読出部95は、ステップS17によって読み出した各端末IDを検索キーとして、端末管理テーブル(図21(b)参照)を検索し、対応する宛先候補の端末名、稼動状態情報および拠点名を読み出す。
次に、ステップS19において、管理サーバ90の送受信部91は、通信ネットワーク9を介して表示端末50Aへ、宛先リスト内容情報を送信する。これにより、表示端末50Aの送受信部51は、宛先リスト内容情報を受信する。この宛先リスト内容情報には、上記ステップS17,S18によって読み出された、宛先候補の端末ID、宛先候補の端末名、稼動状態情報および拠点名が含まれている。
次に、ステップS20において、表示端末50Aの表示制御部53は、上記ステップS15によって記憶部5000に記憶された宛先リスト枠データ、および上記ステップS19によって受信された宛先リスト内容情報を用いて作成された宛先リスト画面500を、ディスプレイ512に表示させる。
ディスプレイ512には、図24に示すような宛先リスト画面500が表示される。この宛先リスト画面500には、宛先候補ごとに、宛先候補の端末(ロボット10)の稼動状態を示したアイコン、宛先候補の端末の端末ID、宛先候補の宛先名、および宛先候補の端末が位置する拠点名が表されている。なお、上記ステップS19によって、管理サーバ9から送られてきた「端末名」は、図24に示す宛先リスト画面500では、「宛先名」として表示される。
続いて、図25を用いて、表示端末50における宛先候補の選択から画像データの送受信を開始するまでの処理を説明する。図25は、宛先候補の選択から画像データの送受信を開始するまでの処理を示したシーケンス図である。
まず、ステップS31において、表示端末50Aの操作入力受付部52は、ユーザから図24に示した宛先リスト画面の宛先候補(ここでは、ロボット10A−1)の選択を受け付ける。そして、ステップS32において、表示端末50Aの送受信部51は、管理サーバ90に対して、画像データ等の送受信を開始したい旨を示す開始要求を送信する。これにより、管理サーバ90の送受信部91は、開始要求を受信する。また、開始要求には、表示端末50Aの端末ID、および宛先候補の端末の端末IDが含まれている。
次に、ステップS33において、管理サーバ90の判断部93は、上記ステップS32によって受信された表示端末50Aの端末IDがセッション管理テーブル(図22(b)参照)で管理されているか否かを判断する。ここでは、宛先候補の端末(ロボット10A−1)の端末IDが管理されていない場合について、以下説明を続ける。
ステップS34において、宛先候補の端末の端末IDが管理されていない場合、管理サーバ90の作成部94は、新たにセッションIDを作成する。そして、ステップS35において、記憶・読出部95は、セッション管理テーブル(図22(b)参照)に、上記ステップS34によって作成されたセッションID、並びに上記ステップS32によって受信された表示端末50Aの端末IDおよび宛先候補の端末の端末IDを関連づけた新たなレコードを追加記憶する。ここでは、図21(b)に示したように、新たなレコードが追加されることで、セッションID「se3」、および端末ID「o01」,「rA01」が関連づけて管理される。
次に、ステップS36において、管理サーバ90の送受信部91は、表示端末50Aに対して、上記ステップS34によって作成されたセッションIDが含まれたセッション開始指示を送信する。これにより、表示端末50Aの送受信部51は、セッション開始指示を受信する。
次に、ステップS37において、管理サーバ90の記憶・読出部95は、上記ステップS32によって送られてきた宛先候補の端末(ロボット10A−1)の端末IDを検索キーとして端末管理テーブル(図21(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の処理もしくは動作を制御する処理について説明する。図26は、第1の実施形態に係る遠隔制御システムにおいて、ロボットから表示端末への各種データの送信処理の一例を説明するためのシーケンス図である。
ステップS51−1,51−2において、ロボット10の送受信部31は、確立された管理サーバ90との通信セッションを用いて、特殊撮影装置21によって取得された全天球画像データ200を、表示端末50へ送信する。これにより、表示端末50の送受信部51は、全天球画像データ200を受信する。
ここで、ロボット10は、撮影指示部36から特殊撮影装置21への撮影指示をトリガーとして、特殊撮影装置21による撮影を開始する。ロボット10の画像取得部37は、特殊撮影装置21によって取得された全天球画像である全天球画像データ200を、特殊撮影装置21から取得する。そして、ロボット10の送受信部31は、画像取得部37によって取得された全天球画像データ200を、表示端末50へ送信する。
ステップS52において、表示端末50の表示制御部53は、送受信部51によって受信された全天球画像データ200を、ディスプレイ512の表示画面600aに表示させる。これによって、表示端末50を用いてロボット10を遠隔操作する操作者は、ロボット10が位置する拠点の状況を、全天球画像データ200が表示された表示画面600aを見ながら確認することができる。
ここで、ロボット10の操作者は、表示端末50に表示された全天球画像データ200を見ながら、ロボット10の遠隔操作を行うため、表示端末50に表示される全天球画像データ200にはリアルタイム性が求められる。そのため、ロボット10の送受信部31は、特殊撮影装置21によって取得された全天球画像データ200を表示端末50へ常時送信する。このような特性上、特殊撮影装置21によって取得される全天球画像データ200は、動画データであることが好ましい。この場合、表示端末50を用いてロボット10を操作する操作者は、ロボット10から送信されることによって表示端末50においてストリーミング再生される全天球画像の動画データを確認しながら、ロボット10の遠隔操作を行うことができ、特殊撮影装置21またはロボット10の向きを変えることなく、ロボット10の周囲を広範囲に確認することができる。
図27は、第1の実施形態に係る表示端末に表示される表示画面の画面例の一例を示す図である。表示端末50では、表示制御部53がディスプレイ512に、図27に示すような表示画面600aを表示させる。この表示画面600aには、ロボット10から送信されてきた全天球画像データ200を表示させるための表示領域610、ロボット10から送信されてきた詳細画像データ250を表示させるための表示領域630、表示領域610に表示された全天球画像データ200の表示方向を、ロボット10の現在の進行方向に変更(リセット)する場合に押下される「ホーム」ボタン601、ロボット10の一般撮影装置23に対する撮影を要求する場合に押下される「撮影」ボタン603、ロボット10の水平方向(前進、後退、右回転、左回転)の移動を要求する場合に押下される移動指示キー605、ロボット10の移動速度の状態を示す移動速度を表示される速度バー607、表示領域610に表示された全天球画像データ200のズーム状態を示すズームバー613を含む。
表示端末50を用いてロボット10を遠隔操作する操作者は、表示領域610および表示領域630の右上にあるそれぞれのタブを選択することによって、全天球画像と詳細画像の表示を切り替える。表示領域610には、ロボット10から送信されてきた全天球画像データ200の一部(例えば、図11に示した所定領域画像Q)が表示される。操作者は、全天球画像データ200が表示された表示領域610内に、マウスポインタ620を移動させて所定の入力操作することで、全天球画像データ200の表示方向またはズームの度合いを変更する。
また、操作者は、表示領域610に表示された全天球画像データ200を見て、より詳細な画像を確認したい場合、「撮影」ボタン603を押下する。この場合、表示端末50の要求コマンド生成部55は、操作入力受付部52によって「撮影」ボタン603の押下を受け付けた際に、表示領域610に表示されている全天球画像データの表示方向と同じ方向の撮影を一般撮影装置23へ要求する撮影要求である要求コマンドを生成する。一般撮影装置23によって取得された詳細画像である詳細画像データ250は、ロボット10の画像取得部37によって取得され、送受信部31から表示端末50へ送信される。表示端末50は、送受信部51によって受信された詳細画像データ250を、表示制御部53によって表示領域630に表示させる。
なお、図27において、表示画面600aに表示された移動指示キー605に対する操作入力を受け付けることによってロボット10の移動を遠隔操作する例を説明するが、ロボット10の移動操作は、キーボード、またはジョイスティクを備えたゲームパッド等の専用コントローラ等で行われる構成であってもよい。
また、表示端末50は、表示画面600aに、ロボット10の移動要求先の名称や会いたい人のリストを表示させ、ユーザに選択または住所等を入力させる方式であってもよい。この場合、表示端末50は、入力された特定の場所にロボット10を移動させるための要求コマンドをロボット10へ送信し、ロボット10は、要求コマンドで指定された移動先へ自律的に移動する。
図26に戻り、ステップS53において、ロボット10は、後述する表示端末50から送信される要求コマンド等に基づいて拠点内を移動する。この場合、ロボット10の移動制御部38は、後述する表示端末50から送信される要求コマンド等に基づいて、移動機構17の駆動を制御する。
次に、ステップS54において、ロボット10の状態情報生成部35は、移動制御部38から取得される移動機構17の駆動状態に基づいて、ロボット10の移動状態を示す状態情報150を生成する。図28は、第1の実施形態に係る状態情報の一例を示す図である。図28に示す状態情報150には、ロボット10の進行方向(水平角度および垂直角度)と進行速度の項目に対応する情報が含まれている。状態情報150は、それぞれの項目に対応する変数名と、変数名に対応する数値が含まれる。例えば、図28に示す状態情報150の場合、ロボット10は、進行速度「7.4km/h」、水平角度「37.2°」および垂直角度「45.3°」の進行方向で移動している。なお、状態情報150は、ロボット10の移動状態として、進行方向(水平角度および垂直角度)と進行速度の情報が含まれる例を説明したが、これに限られず、ロボット10の移動距離等の情報を含んでもよい。
次に、ステップS55−1,55−2において、ロボット10の送受信部31は、確立された管理サーバ90との通信セッションを用いて、状態情報生成部35によって状態情報150を、表示端末50へ送信する。これにより、表示端末50の送受信部51は、状態情報150を受信(取得)する。
そして、ステップS56において、表示端末50の記憶・読出部57は、送受信部51によって受信(取得)された状態情報150を、記憶部5000に記憶された状態管理テーブル5001(図18参照)に記憶する。具体的には、表示端末50の記憶・読出部57は、送受信部51によって受信(取得)された状態情報150に含まれるそれぞれの数値を、状態管理テーブル5001の対応する変数名の箇所に記憶させることで、状態管理テーブル5001に含まれる各項目の値を更新する。
次に、ステップS57において、表示端末50の表示制御部53は、表示画面600aに、ロボット10の移動状態を表示させる。図29(a)に示す表示画面600bは、ロボット10が前進している場合に表示される画面である。表示画面600bは、移動指示キー605のうち「前進」キーの色が変わることで、ロボット10が前進していることを示している。表示端末50の表示制御部53は、送受信部51によって受信された状態情報150に含まれる、変数名「V_ANGLE」および「H_ANGLE」に対応する数値に基づいて、移動指示キー605の表示を更新する。また、表示制御部53は、移動指示キー605に対する操作入力を受け付けることによって、移動指示キー605の表示を更新してもよい。
また、表示画面600bは、速度バー607の黒い部分の割合によって、ロボット10の進行速度を示している。表示端末の表示制御部53は、送受信部51によって受信された状態情報150に含まれる変数名「SPEED」に対応する数値に基づいて、速度バー607の表示を更新する。
図29(b)に示す表示画面600cは、ロボット10が前進している場合に表示される画面の別の例である。図29(b)に示す表示画面600cは、表示領域610に表示される全天球画像の表示範囲(出力範囲)が、図29(a)に示す表示画面600bと異なる。表示画面600cは、表示領域610に表示される全天球画像がズームアウトしている(引いた状態である)ため、ズームバー613に示すバーが下方向に移動されている。ズームバー613は、バーの上下によって、表示領域610に表示された全天球画像のズームの度合いを示す。
また、表示画面600cは、全天球画像がズームアウトした状態であるため、ロボット10の頭615も表示される。これによって、表示端末50を用いてロボット10を操作する操作者は、ロボット10とロボット10の周囲とのおおよその位置関係や距離を把握することができる。表示画面600cのような表示を行うためには、通常は別途カメラをロボット10の後方に配置する必要があるが、表示端末50は、表示された全天球画像のズーム機能を備えることによって、一台の特殊撮影装置21から撮影された画像に基づいて、表示画面600cを表示させることができる。
図30に示す表示画面600dは、ロボット10が前進している場合に表示される画面の別の例である。図30に示す表示画面600dは、表示領域610内にロボット10の進行方向が表示されている。図29(a)に示した表示画面600bおよび図29(b)に示した表示画面600cの場合、操作者は、「ホーム」ボタン601を押下して表示領域610に表示される全天球画像の表示方向を、ロボット10の現在の進行方向に変更させることで、ロボット10の進行方向を確認することができる。一方で、表示画面600cは、表示領域610に表示された全天球画像に、ロボット10の進行方向を示す情報である進行方向アイコン617を、重畳させて表示する。これによって、操作者は、全天球画像の表示方向に関わらず、表示画面600cを見ながらロボット10の進行方向を確認することができる。
なお、表示画面600dは、ロボット10の進行速度に対応させて進行方向アイコン617の長さを変更してもよい。また、表示画面600dは、ロボット10が停止している際には、ロボット10が最後に移動していた際の進行方向を、進行方向アイコン617を用いて表示してもよい。この場合、進行方向アイコン617は、点線または色の変更等、ロボット10が移動している場合の表示とは異ならせることが好ましい。
これにより、遠隔制御システム1aは、ロボット10(制御装置30)から送信された全天球画像データ200を、表示端末50に表示させることによって、表示端末50を用いてロボット10の遠隔操作を行う操作者に、ロボット10の周囲の情報をより正確に把握させることができる。また、表示端末50は、全天球画像データ200とともに、ロボット10の移動状態を示す情報を表示させることで、表示端末50を用いてロボット10の遠隔操作を行う操作者に、ロボット10の周囲の情報に加えて、ロボット10の移動状態を知らせることができる。
なお、ロボット10の状態情報生成部35は、移動制御部38から取得した移動機構17の駆動状態に変化があった場合に、状態情報150を生成する構成であってもよい。また、状態情報生成部35は、予め定められた所定の頻度で状態情報150を生成する構成であってもよい。さらに、ロボット10の送受信部31は、状態情報生成部35によって生成された状態情報150を保持しておき、予め定められた所定の頻度で状態情報150を送信する構成であってもよい。この場合、遠隔制御システム1aは、表示端末50に表示されるロボット10の移動状態が頻繁に変化することによって生じる表示画面の見づらさを軽減させることができる。
〇ロボット10の遠隔制御〇
続いて、表示端末50に表示された表示画面を用いて行われるロボット10の遠隔制御について説明する。まず、図31を用いて、ロボット10から送信された状態情報150に基づくロボット10の操作制御の一例を説明する。図31は、第1の実施形態に係る表示端末における、ロボットの移動状態に基づくロボットの制御処理の一例を説明するためのフローチャートである。
ステップS61aにおいて、表示端末50の送受信部51は、ロボット10から送信された状態情報150を受信(取得)した場合、処理をステップS62aへ移行させる。一方で、送受信部51は、状態情報150を受信(取得)していない場合、ステップS61aの処理を繰り返す。
ステップS62aにおいて、表示端末50の記憶・読出部57は、記憶部5000に記憶された条件テーブル5002(図19参照)を読み出す。ステップS63aにおいて、表示端末50の判断部54は、記憶・読出部57によって読み出された条件テーブル5002を検索し、送受信部51によって受信された状態情報150に含まれる変数のうち、条件テーブル5002に含まれる条件を満たしているものがある場合、処理をステップS64aへ移行させる。例えば、状態情報150に含まれる変数名「SPEED」に対応する値が「3.0km/h」である場合、判断部54は、条件テーブル5002に含まれる項目のうち、「SPEED≦5.0km/h」、「SPEED>1.0km/h」および「SPEED>2.0km/h」が条件を満たしていると判断する。一方で、ステップS62aにおいて、判断部54は、送受信部51によって受信された状態情報150に含まれる変数のうち、条件テーブル5002に含まれる条件を満たしているものがない場合、処理を終了する。
ステップS64aにおいて、表示端末50の要求コマンド生成部55は、上記ステップS63の処理によって該当した項目に対応する処理を特定し、要求コマンドを生成する。例えば、要求コマンド生成部55は、条件テーブル5002に含まれる、条件を満たしている「SPEED≦5.0km/h」、「SPEED>1.0km/h」および「SPEED>2.0km/h」に対応する処理をそれぞれ特定する。そして、要求コマンド生成部55は、条件テーブル5002に含まれる、特定した処理に対応するコマンドを用いて、要求コマンドを生成する。この場合、要求コマンドに含まれるコマンドは、「FPS(30)」、「RESOLUTION(50%)」および「ZOOM=10」である。なお、要求コマンドには、条件を満たした項目に対応する全てのコマンドを含んでもよいし、条件を満たした項目から選択(抽出)された項目に対応するコマンドのみを含んでもよい。
ステップS65aにおいて、表示端末50の送受信部51は、通信ネットワーク9を介して、要求コマンド生成部55によって生成された要求コマンドを、ロボット10へ送信する。これにより、ロボット10の送受信部31は、ロボット10の現在の移動状態に応じた要求コマンドを、表示端末50から受信する。ロボット10は、要求コマンドを受信した場合、後述するコマンド処理(図33参照)を実行する。
このように、表示端末50は、ロボット10の移動状態に基づいて、特殊撮影装置21によって取得される全天球画像データ200の全天球画像の画質の変更を要求することで、表示端末50に表示される全天球画像の画質を変更することができる。表示端末50は、例えば、ロボット10が移動している場合において、全天球画像の画質を下げる要求を、ロボット10へ送信してもよい。具体的には、表示端末50は、全天球画像の解像度を落とす、またはフレームレートを下げる等の要求を、ロボット10へ送信する。これによって、遠隔制御システム1aは、表示端末50に表示される全天球画像の解像度や更新頻度(フレームレート)を低下させることで、表示端末50を用いてロボット10を操作する操作者が全天球画像データ200を見てロボット10を操作する際に感じる酔い等の不快感を低減させることができる。
また、表示端末50を用いてロボット10の遠隔操作を行う場合、操作者は、表示端末50に表示された全天球画像データ200を見ながら操作入力を行うため、ロボット10から送信される全天球画像データ200にはリアルタイム性が要求される。通信ネットワーク9の混雑等による通信遅延が発生した場合、表示端末50に表示される全天球画像データ200には、実際のロボット10の周囲の状況からタイムラグが生じてしまい、ロボット10を遠隔操作する操作者にとって操作性を損なわせてしまう。そこで、遠隔制御システム1aは、ロボット10の移動状態に応じて、ロボット10から送信される全天球画像データ200の画質を変更することで、通信遅延等による表示画面のタイムラグによって発生する操作性の悪化を防止することができる。
なお、条件テーブル5002に含まれる条件は、ロボット10の進行速度に関する条件に限られず、ロボット10が取得できる移動状態の他の情報に関する条件であってもよい。例えば、条件テーブル5002は、ロボット10の進行方向に関する条件を含んでもよい。
続いて、図32を用いて、表示端末50を用いてロボット10を操作する操作者によって入力された入力コマンドに基づくロボット10の操作制御の一例を説明する。図32は、第1の実施形態に係る表示端末における、入力コマンドに基づくロボットの制御処理の一例を説明するためのフローチャートである。図32は、表示端末50のディスプレイ512に図27に示した表示画面600aが表示されている場合について説明する。なお、表示端末50のディスプレイ512に表示されている表示画面は、図29または図30に示したような別の表示画面であってもよい。
ステップS61bにおいて、表示端末50の操作入力受付部52は、ディスプレイ512に表示された表示画面600aに対する特定の操作入力を受け付けた場合、処理をステップS62bへ移行させる。操作入力受付部52は、例えば、表示画面600aに含まれる移動指示キー605のいずれかのキーに対する操作入力を受け付ける。一方で、操作入力受付部52は、表示画面600aに対する特定の操作入力を受け付けていない場合、ステップS61aの処理を繰り返す。
ステップS62bは、表示端末50の記憶・読出部57は、記憶部5000に記憶されたユーザコマンドテーブル5003(図20参照)を読み出す。ステップS63bにおいて、表示端末50の判断部54は、記憶・読出部57によって読み出されたユーザコマンドテーブル5003を検索し、操作入力受付部52によって受け付けられた操作入力に対応する入力コマンドを特定する。そして、判断部54は、ユーザコマンドテーブル5003を検索し、特定した入力コマンドに対応する処理を抽出する。例えば、操作入力受付部52によって移動指示キーの「↑(前進)」キーに対する入力が受け付けられた場合、判断部54は、入力コマンドとして「「↑(前進)」キーの押下」を特定する。そして、判断部54は、特定した入力コマンドに対応する処理として、「MOVE(10.0,10.0)」を抽出する。
ステップS64bにおいて、表示端末50は、抽出した処理に対応する処理の種別が、「コマンドの送付」である場合、処理をステップS65bへ移行させる。ステップS65bにおいて、表示端末50の要求コマンド生成部55は、判断部54によって抽出された処理に対応する要求コマンドを生成する。例えば、要求コマンド生成部55は、抽出した処理が「MOVE(10.0,10.0)」である場合、「MOVE(10.0,10.0)」を含む要求コマンドを生成する。
ステップS66bにおいて、表示端末50の送受信部51は、要求コマンド生成部55によって生成された要求コマンドを、ロボット10へ送信する。これにより、ロボット10の送受信部31は、操作者による入力操作に応じた要求コマンドを、表示端末50から受信する。ロボット10は、要求コマンドを受信した場合、後述するコマンド処理(図33参照)を実行する。
一方で、ステップS64bにおいて、表示端末50は、抽出した処理に対応する処理の種別が、「コマンドの送付」でない場合、処理をステップS67bへ移行させる。ステップS67bにおいて、表示端末50は、上記ステップS63bによって抽出された処理を実行する。例えば、表示端末50は、抽出された処理が「ホーム」ボタン601の押下に基づく「VIEW_H_ANGLE=0, VIEW_V_ANGLE=0」である場合、表示制御部53によって表示領域610に表示された全天球画像の表示向きを変更する。
なお、上記ステップS63aにおいて、判断部54がユーザコマンドテーブル5003を用いて処理を抽出する例を説明したが、表示端末50は、移動指示キー605に付与されたイベントに基づいて、所定の処理を抽出または実行する構成であってもよい。
続いて、図33を用いて、図31または図32に示した処理によって表示端末50から送信される要求コマンドを用いて、ロボット10で実行される移動制御処理について説明する。図33は、第1の実施形態に係るロボットにおける、表示端末50からの要求コマンドに基づくロボットの制御処理の一例を説明するためのフローチャートである。
ステップS71において、ロボット10の送受信部31は、表示端末50から送信された要求コマンドを受信した場合、処理をステップS72へ移行させる。一方で、送受信部31は、要求コマンドを受信していない場合、ステップS71の処理を繰り返す。
ステップS72において、ロボット10の記憶・読出部41は、記憶部3000に記憶されたコマンドテーブル3001(図17(a)参照)を読み出す。ステップS73において、ロボット10の判断部34は、記憶・読出部41によって読み出されたコマンドテーブル3001を検索し、送受信部31によって受信された要求コマンドに対応する処理を抽出する。ステップS74において、ロボット10は、上記ステップS73によって抽出された処理を実行する。
例えば、送受信部31によって受信された要求コマンドが「MOVE(10.0,10.0)」である場合、判断部34は、コマンドテーブル3001を検索して、コマンド名「MOVE」に対応する処理を抽出する。この場合、抽出される処理は、「左車輪を10.0°回転、右車輪を10.0°回転」である。判断部34は、抽出した処理の実行要求を、移動制御部38へ通知する。そして、移動制御部38は、判断部34によって抽出された処理に基づいて、ロボット10の移動機構17の左車輪を10.0°回転させて、右車輪を10.0°回転させる。なお、判断部34によって抽出された処理によって実行要求の通知先は異なる。例えば、送受信部31によって受信された要求コマンドが「ARM」の場合、実行要求の通知先は、アーム操作制御部39であり、要求コマンドが「SHOOT」、「FPS」または「RESOLUTION」である場合、実行要求の通知先は、撮影指示部36である。
このように、ロボット10は、図31または図32に示した処理等によって表示端末50から送信された要求コマンドに基づいて、処理または動作を実行することができるとともに、要求コマンドに基づいて撮影されて取得された画像(全天球画像データ200または詳細画像データ250)を表示端末50へ送信する。これにより、遠隔制御システム1aは、表示端末50を用いてロボット10を遠隔操作することができるとともに、遠隔操作によってロボット10が取得した情報(例えば、全天球画像データ200または詳細画像データ250)を、ロボット10の操作者が用いる表示端末50に表示させることができる。
〇詳細画像の送受信〇
続いて、図34〜図36を用いて、ロボット10が備える一般撮影装置23によって取得された詳細画像を、表示端末50に表示させる処理を説明する。図34は、第1の実施形態に係る遠隔制御システムにおける詳細画像の表示処理の一例を説明するためのシーケンスである。図34は、表示端末50のディスプレイ512に図27に示した表示画面600aが表示されている場合について説明する。なお、表示端末50のディスプレイ512に表示されている表示画面は、図29または図30に示したような別の表示画面であってもよい。
ステップS91において、表示端末50の操作入力受付部52は、表示画面600aに含まれる「撮影」ボタン603に対する操作入力を受け付ける。「撮影」ボタン603に対する操作入力が受け付けられた場合、表示端末50の要求コマンド生成部55は、コマンド「ARM」および「SHOOT」を含む要求コマンドを生成する。ここで、コマンドテーブル3001(図17(a)参照)に示すように、「SHOOT」コマンドに対応するロボット10の処理は、「一般撮影装置23による撮影」である。すなわち、要求コマンド生成部55は、一般撮影装置23に対する撮影要求を示す制御信号を生成することになる。なお、操作入力の受付から要求コマンドの生成までの具体的な処理は、図32に示した処理と同様であるため、説明を省略する。
ステップS92−1,S92−2において、表示端末50の送受信部51は、要求コマンド生成部55によって生成された要求コマンドを、ロボット10へ送信する。この場合、要求コマンド生成部55によって生成された要求コマンドに「SHOOT」コマンドが含まれるため、送受信部51は、一般撮影装置23に対する撮影要求を示す制御信号を送信(出力)する。これにより、ロボット10の送受信部31は、要求コマンドを受信する。
ステップS93において、ロボット10のアーム操作制御部39は、送受信部31によって受信された要求コマンドに基づいて可動アーム11を変形させる。アーム操作制御部39は、送受信部31によって受信された要求コマンドに含まれる「ARM」コマンドに基づいて、可動アーム11を変形させることにより可動アーム11の向きを変更する。
ここで、アーム操作制御部39による可動アーム11の制御操作について説明する。要求コマンドに含まれる「ARM」の変数(h,v)は、表示画面600aに表示されている全天球画像データ200の表示方向における画面上での相対位置を示す。ここで、hは、ロボット10の進行方向に対応する水平方向の角度、vは、ロボット10の進行方向に対応する垂直方向の角度である。なお、表示画面600aに表示されている全天球画像データ200の表示方向は、(h0,v0)とする。
アーム操作制御部39は、全天球画像データ200の表示方向(h0,v0)に応じて、変数(h,v)を補正することで、補正された変数に基づいて可動アーム11の向きを変更させる。例えば、コマンド「ARM」の変数(h,v)によって、表示画面600aに表示されている全天球画像データ200の表示方向における画面上の中心が指定された場合、(h,v)=(h0,v0)となる。一方で、コマンド「ARM」の変数(h,v)によって、表示画面600aに表示されている全天球画像データ200の表示方向における画面上の中心でない位置が指定された場合、中心とのずれをα,β(表示画面の右上方向を、α>0、β>0とする。)とすると、(h,v)は、以下の(式2)のように補正される。なお、a,bは、所定の係数である。
これにより、アーム操作制御部39は、要求コマンドに含まれる「ARM」コマンドによって、表示画面600aに表示されている全天球画像データ200の表示方向における画面上での相対位置を示す変数が指定されることにより、指定された変数(h,v)に基づいて可動アーム11の変形させることで、可動アーム11の向きを変更する。すなわち、一般撮影装置23による撮影方向は、全天球画像データ250の表示方向に基づいて、決定され、ロボット10は、アーム操作制御部39によって一般撮影装置23が決定された撮影方向を撮影できる方向に、可動アーム11の向きを変更する。例えば、アーム操作制御部39は、「ARM」コマンドの変数(h,v)によって表示画面の右上が指定されている場合、可動アーム11の向きも、指定された変数分右上方向に変更させることができる。なお、可動アーム11の形状上、可動アーム11の垂直方向の向きを変更できない場合、アーム操作制御部39は、要求コマンドに含まれる「ARM」コマンドの変数(h,v)のうち、hのみを用いて可動アーム11の水平方向の向きを変更してもよい。
ステップS94において、ロボット10の撮影指示部36は、アーム操作制御部39による可動アーム11の向きの変更が完了した場合、一般撮影装置23へ撮影指示を出力する。そして、一般撮影装置23は、撮影指示部36から出力された撮影指示に応じて、撮影処理を行う。この場合、一般撮影装置23は、アーム操作制御部39によって変更された可動アーム11の向きにおいて撮影された詳細画像である詳細画像データ250を取得する。
ステップS95において、ロボット10の画像取得部37は、一般撮影装置23によって取得された詳細画像データ250を、一般撮影装置23から取得する。ステップS96において、ロボット10の記憶・読出部41は、画像取得部37によって取得された詳細画像データ250を、記憶部5000に記憶させる。
ステップS97−1,S97−2において、ロボット10の送受信部31は、通信ネットワーク9を介して、画像取得部37によって取得された詳細画像データ250を、表示端末50へ送信する。これにより、表示端末50の送受信部51は、ロボット10から送信された詳細画像データ250を受信する。なお、ステップS96とステップS97−1,S97−2の処理の順序は、前後してもよく、または並行して行われてもよい。
ステップS98において、表示端末50の記憶・読出部57は、送受信部51によって受信された詳細画像データ250を、記憶部5000に記憶させる。そして、ステップS99において、表示端末50の表示制御部53は、送受信部51によって受信された詳細画像データ250を、ディスプレイ512に表示させる。なお、ステップS98とステップS99の処理の順序は、前後してもよく、または並行して行われてもよい。
図35は、ロボットから送信された詳細画像データが表示される表示画面の画面例を示す図である。図35に示す表示画面650は、ロボット10から送信された詳細画像データ250が表示領域630に表示されている。また、表示画面650は、「前の画像」ボタン651および「次の画像」ボタン652を含む。表示制御部53は、操作入力受付部52によって「前の画像」ボタン653への入力操作が受け付けられた場合、記憶部5000に記憶された、表示画面630に表示されている詳細画像データ250の一つ前に受信された詳細画像データ250を表示させる。また、表示制御部53は、操作入力受付部52によって「次の画像」ボタン653への入力操作が受け付けられた場合、記憶部5000に記憶された、表示画面630に表示されている詳細画像データ250の一つ後に受信された詳細画像データ250を表示させる。
表示端末50を用いてロボット10を操作する操作者は、表示領域610および表示領域630の右上にあるそれぞれのタブ(「全天球」または「詳細」)を選択することによって、全天球画像と詳細画像の表示を切り替える。表示端末50に表示画面650が表示されている場合、操作者は、表示領域610の右上にあるタブ(「全天球」)を選択することで、全天球画像データ250の表示画面(例えば、図27に示す表示画面600a)に切り替えることができる。
なお、上記において、タブの選択によって全天球画像データ200と詳細画像データ250の表示を切り替える構成を説明したが、表示画面650は、全天球画像データ200と詳細画像データ250を同時に表示させる構成であってもよい。また、表示端末50は、全天球画像データ200と詳細画像データ250を別の表示画面にして重ねておいて、一方の表示画面を前面に表示させる構成であってもよい。
また、上記において、「前の画像」ボタン651および「次の画像」ボタン652の選択によって、記憶部5000に記憶された詳細画像データ250の表示を切り替える構成を説明したが、表示画面650は、記憶部5000に記憶された詳細画像データ250の画像リストを表示し、表示させる詳細画像データ250を操作者に選択させる構成であってもよい。
ここで、一般撮影装置23によって撮影された詳細画像データ250が表示端末50に表示される場合として、操作者が「撮影」ボタン603を押下した場合のほか、表示端末50を用いてロボット10を操作する操作者の視線を検知して、撮影位置の特定と撮影指示を行ってもよい。図36に示す表示画面600eには、「撮影」ボタン603に変えて、表示領域610内に操作者の視線位置を示す視線アイコン619が表示されている。表示端末50の視線検出部56は、視線検出装置517によって操作者の視点位置を検出する。そして、表示制御部53は、視線検出部56によって検出された視線位置に、表示領域610に表示された全天球画像データ250に重畳させて視線アイコン619を表示させる。
この場合、視線検出部56によって検出された視線位置が所定の時間動かなかった場合、要求コマンド生成部55は、検出された視線位置を変数(h,v)とする「ARM」コマンド、および一般撮影装置23への撮影指示である「SHOOT」コマンドを含む要求コマンドを生成する。ここで、「ARM」コマンドの変数(h,v)は、表示画面600aに表示されている全天球画像データ200の表示方向における画面上の、検出された視線位置の相対位置を示す。表示端末50の送受信部51は、生成された要求コマンドを、ロボット10へ送信する。以下、図34のステップS93以降と同様の処理を行うことによって、表示端末50は、視線検出部56によって検出された視線位置における詳細画像データ250を表示させることができる。
なお、視線検出部56によって検出された視線位置によって撮影位置の特定と撮影指示の両方を行う場合の例を説明したが、表示端末50は、視線検出部56によって検出された視線位置によって撮影位置を特定し、撮影指示を「撮影」ボタン603への入力操作によって行う構成であってもよい。また、表示端末50は、マウスポインタ620の位置で撮影位置を特定し、視線検出部56によって検出された視線位置が所定の時間動かなかった場合に撮影指示をする構成であってもよい。
このように、遠隔制御システム1aは、表示端末50に表示された全天球画像データ200を見ながらロボット10を遠隔操作する操作者が、ロボット10が位置する拠点における特定の領域を詳しく確認したい場合、全天球画像データ200に含まれる被写体の一部を撮影することによって取得された詳細画像データ250を表示端末50に表示させることができる。そのため、遠隔制御システム1aは、表示端末50を用いてロボット10を操作する操作者に対して、特定の領域の情報を詳しく確認させることができる。また、上述のように、詳細画像は、特殊撮影装置21が有するレンズよりも焦点距離の長いレンズを有する一般撮影装置23によって取得された画像であるため、特殊撮影装置21によって取得された全天球画像の画質と比較して高画質の画像である。そのため、遠隔制御システム1aは、表示端末50を用いてロボット10を操作する操作者に対して、より鮮明な画像を用いて特定の領域の情報を確認させることができる。
このような遠隔制御システム1aは、例えば、遠隔拠点に設置された装置等のメンテンナンスを、ロボット10を用いて行う場合等に有効である。表示端末50の操作者は、例えば、ロボット10から送信される全天球画像データ250を見ながらロボット10の移動操作を行うとともに、気になる箇所を発見した場合に、当該箇所の一般撮影装置23による撮影を要求する。これによって、遠隔制御システム1aは、表示端末50に表示させるロボット10の周囲を広範囲でみることができる全天球画像データ200とロボット10の周囲の特定の領域を高画質でみることができる詳細画像データ250の表示を、操作者の必要に応じて切り替えることができる。そのため、遠隔制御システム1aは、ロボット10の移動操作時における操作性の向上と特定の領域の詳細を確認したい場合において表示端末50に表示させる画像の解像度の向上とを両立させることができる。
ここで、表示端末50に特定の領域が撮影された画像を表示させる方法として、全天球画像データ200の特定の領域を切り出す、またはズームにより拡大する方法も考えられる。しかしながら、この方法で表示端末50に表示される画像は、全天球画像と比較してもさらに解像度が低下した画像であるため、操作者は、画像の細部まで確認することができないという問題があった。そこで、遠隔制御システム1aのように、異なる撮影目的を有する撮影装置(特殊撮影装置21または一般撮影装置23)によって取得された画像を切り替えて表示端末50に表示させることによって、操作性の向上と解像度の向上を両立させることができる。
〇表示画面の切り替え処理〇
次に、ロボット10の移動状態に基づいて、表示端末50における全天球画像と詳細画像の表示を切り替える処理について説明する。図37は、第1の実施形態に係る遠隔制御システムにおいて、表示端末に表示される表示画像の切り替え処理の一例を説明するためのシーケンス図である。なお、図37は、表示端末50のディスプレイ512に、図27に示した表示画面600a(全天球画像データ200)が表示されている場合について説明する。
ステップS101a−1,101a−2において、ロボット10の送受信部31は、確立された管理サーバ90との通信セッションを用いて、状態情報生成部35によって状態情報150(図28参照)を、表示端末50へ送信する。これにより、表示端末50の送受信部51は、状態情報150を受信(取得)する(取得ステップの一例)。
ステップS102aにおいて、表示端末50は、ロボット10が停止している場合、処理をステップS103aへ移行させる。具体的には、表示端末50の判断部54は、送受信部51によって受信された状態情報150に含まれる変数「SPEED」の値が「0km/h」である場合、ロボット10が停止していると判断する。なお、ロボット10が停止していると判断される変数「SPEED」の値は、「0km/h」に限られず、判断部54は、変数「SPEED」の値が所定の閾値以下または所定の閾値より小さい場合に、ロボット10が停止していると判断してもよい。一方で、ステップS102aにおいて、表示端末50の判断部54は、ロボット10が停止していない(移動している)と判断する場合、処理を終了する。
ステップS103aにおいて、表示端末50の要求コマンド生成部55は、「ARM」コマンドおよび「SHOOT」コマンドを含む要求コマンドを生成する。ここで、コマンドテーブル3001(図17(a)参照)に示すように、「SHOOT」コマンドに対応するロボット10の処理は、「一般撮影装置23による撮影」である。すなわち、要求コマンド生成部55は、一般撮影装置23に対する撮影要求を示す制御信号を生成することになる。また、要求コマンドに含まれる「ARM」コマンドの変数(h,v)は、表示画面600aに表示されている全天球画像データ200の表示方向における画面上の中心位置である。なお、「ARM」コマンドの変数(h,v)は、表示画面600aに表示されている全天球画像データ200の表示方向における画面上のマウスポインタ620によって指定された位置であってもよい。
ステップS104a−1,S104a−2において、表示端末50の送受信部51は、要求コマンド生成部55によって生成された要求コマンド(「ARM」,「SHOOT」)を、ロボット10へ送信する。この場合、要求コマンド生成部55によって生成された要求コマンドに「SHOOT」コマンドが含まれるため、送受信部51は、一般撮影装置23に対する撮影要求を示す制御信号を送信(出力)する。これにより、ロボット10の送受信部31は、要求コマンド(「ARM」,「SHOOT」)を受信する。
ステップS105aにおいて、ロボット10のアーム操作制御部39は、送受信部31によって受信された要求コマンドに基づいて可動アーム11を変形させる。アーム操作制御部39は、送受信部31によって受信された要求コマンドに含まれる「ARM」コマンドに基づいて、可動アーム11を変形させることにより可動アーム11の向きを変更する。なお、アーム操作制御部39による可動アーム11の向きの変更処理は、図34のステップS93で説明した処理と同様であるため、説明を省略する。
ステップS106aにおいて、ロボット10の撮影指示部36は、アーム操作制御部39による可動アーム11の向きの変更が完了した場合、一般撮影装置23への撮影指示を示す指示情報を出力する。そして、一般撮影装置23は、撮影指示部36から出力された撮影指示に応じて、撮影処理を行う。この場合、一般撮影装置23は、アーム操作制御部39によって変更された可動アーム11の向きにおいて撮影された詳細画像である詳細画像データ250を取得する。
ステップS107aにおいて、ロボット10の画像取得部37は、一般撮影装置23によって撮影された詳細画像データ250を、一般撮影装置23から取得する。ステップS108aにおいて、ロボット10の記憶・読出部41は、画像取得部37によって取得された詳細画像データ250を、記憶部5000に記憶させる。
ステップS109a−1,S109a−2において、ロボット10の送受信部31は、画像取得部37によって取得された詳細画像データ250を、表示端末50へ送信する。これにより、表示端末50の送受信部51は、ロボット10から送信された詳細画像データ250を受信する。なお、ステップS108aとステップS109a−1,S109a−2の処理の順序は、前後してもよく、または並行して行われてもよい。
ステップS110aにおいて、表示端末50の記憶・読出部57は、送受信部51によって取得された詳細画像データ250を、記憶部5000に記憶させる。そして、ステップS111aにおいて、表示端末50の表示制御部53は、送受信部51によって受信された詳細画像データ250を、ディスプレイ512に表示させる。これにより、表示制御部53は、ディスプレイ512によって表示される表示画像を、全天球画像データ200(例えば、図27に示した表示画面600a)から、詳細画像データ250(例えば、図35に示した表示画面650)へ切り替える。すなわち、表示端末50は、上記ステップS101a−2の処理によって受信(取得)された状態情報150に基づいて、詳細画像データ250を出力する。なお、ステップS110aとステップS111aの処理の順序は、前後してもよく、または並行して行われてもよい。
このように、遠隔制御システム1aは、ロボット10の移動状態に応じて、表示端末50に表示される全天球画像データ200または詳細画像データ250の表示を切り替えることができる。例えば、表示端末50は、ロボット10が移動している場合、ロボット10の周囲を広範囲でみることができる全天球画像データ200を表示させ、ロボット10が停止している場合、ロボット10の周囲の特定の領域を高画質でみることができる詳細画像データ250を表示させる。そのため、例えば、ロボット10が移動している場合、遠隔制御システム1aは、ロボット10を操作する操作者に、ロボット10の足元や周囲を確認させながら、ロボット10が周囲の人や物にぶつからないように操作させることができるので、ロボット10の操作性を向上させることができる。また、ロボット10の停止時には周囲の物や人にぶつかる可能性が低いので、遠隔制御システム1aは、表示端末50に詳細画像データ250を表示させることで、ロボット10を操作する操作者に、ロボット10の周囲の特定の領域を高画質で確認させることができる。したがって、遠隔制御システム1aは、ロボット10の移動状態に応じて、操作画面(表示画面)の表示を切り替えることで、ロボット10の操作性の向上と表示画像の解像度の向上とを両立させることができる。
なお、表示端末50は、上記ステップ102aの処理において判断部54によってロボット10が停止していると判断された場合、前回ロボット10が停止していると判断した後にロボット10が停止していない(移動している)と判断した工程を経ている場合に限り、要求コマンドを生成する構成であってもよい。また、表示端末50は、上記ステップ102aの処理において判断部54によってロボット10が停止していると判断された場合、前回ロボット10が停止していると判断してから所定の時間が経過した場合に限り、要求コマンドを生成する構成であってもよい。これらの場合、遠隔制御システム1aは、ロボット10が継続して同じ場所に停止しているにも関わらず、一般撮影装置23によって詳細画像データ250が取得され、取得された詳細画像データ250が表示端末50に表示されることによる処理の無駄を低減させることができる。また、これにより、遠隔制御システム1aは、ロボット10および表示端末50の処理負担を低減させることができるとともに、通信ネットワーク9の混雑等によって発生する通信遅延の発生を防止することができる。
〇その他の表示画面の画面例〇
ここで、表示端末50に表示される表示画面の別の例を説明する。表示端末50は、表示端末50に設けられたディスプレイ512の種類に応じて異なる表示画面を表示させることができる。図38は、表示端末の一例としてのヘッドマウントディスプレイに表示される表示画面の画面例を示す図である。図38に示す表示画面670は、ロボット10から送信されていきた全天球画像データ200および詳細画像データ250が、ヘッドマウントディスプレイ(HMD)に表示された画面の一例である。
図38に示す表示画面670には、画面全体が全天球画像データ200の表示領域が表示され、詳細画像データ250の表示領域630も重畳して表示されている。表示画面670が表示されているヘッドマウントディスプレイを装着した操作者は、頭の向きを変えることで、全天球画像データ200の任意の方向を見ることができる。また、表示画面670に表示される各種ボタンまたはアイコンは、操作者の頭の向きに追従して移動するため、全天球画像データ200の表示方向が変更されたとしても、所定の位置に表示される。
●第1の実施形態の効果
以上説明したように、第1の実施形態に係る表示端末は、被写体を撮影して全天球画像データ200(第1の画像の一例)を取得する特殊撮影装置21(第1の撮影手段の一例)と、特殊撮影装置21によって撮影された被写体の一部を撮影して詳細画像データ250(第2の画像の一例)を取得する一般撮影装置23(第2の撮影手段の一例)とを備えるロボット10(移動体の一例)を制御する表示端末50である。表示端末50は、ロボット10の移動状態を示す状態情報150に基づいて、ディスプレイ512(表示手段の一例)に表示される全天球画像データ200または詳細画像データ250の表示を切り替える。そのため、表示端末50は、特殊撮影装置21と一般撮影装置23とを備えるロボット10を遠隔操作する際に、高度な制御を実現させることができる。
また、第1の実施形態に係る表示端末は、ロボット10が停止している場合、ディスプレイ512(表示手段の一例)に、詳細画像データ250(第2の画像の一例)を表示させる。そのため、例えば、ロボット10が移動している場合、表示端末50は、全天球画像データ200を表示し、ロボット10の足元や周囲を確認させながら、ロボット10が周囲の人や物にぶつからないように操作させることができるので、ロボット10の操作性を向上させることができる。また、ロボット10の停止時には周囲の物や人にぶつかる可能性が低いので、表示端末50は、詳細画像データ250を表示することで、ロボット10を操作する操作者に、ロボット10の周囲の特定の領域を高画質で確認させることができる。したがって、表示端末50は、ロボット10の移動状態に応じて、操作画面(表示画面)の表示を切り替えることで、ロボット10の操作性の向上と表示画像の解像度の向上とを両立させることができる。
さらに、第1の実施形態に係る表示端末は、ディスプレイ512(表示手段の一例)に表示されている全天球画像データ200(第1の画像の一例)の表示方向に基づいて決定された撮影方向を一般撮影装置23(第2の撮影手段の一例)によって撮影することで取得された詳細画像データ250(第2の画像の一例)を、ディスプレイ512に表示させる。そのため、表示端末50は、表示端末50を用いてロボット10を操作する操作者に対して、ディスプレイ512に表示されている全天球画像データ200に含まれる被写体の一部の詳細な情報を確認させることができる。
また、第1の実施形態に係る表示端末は、ロボット10が移動している場合、ディスプレイ512(表示手段の一例)に、画質を下げた全天球画像データ200(第1の画像の一例)を表示させる。これにより、表示端末50は、通信遅延等による表示画面のタイムラグによって発生する操作性の悪化を防止することができる。
さらに、第1の実施形態に係る表示端末は、全天球画像データ200(第1の画像の一例)としてディスプレイ512(表示手段の一例)に動画データを表示させ、詳細画像データ250(第2の画像の一例)としてディスプレイ512に静止画データを表示させる。そのため、表示端末50は、表示端末50を用いてロボット10を操作する操作者に対して、表示端末50においてストリーミング再生される全天球画像の動画データを確認しながらロボット10の遠隔操作を行わせることができるとともに、詳細画像の静止画データを用いて特定の箇所の詳細な情報を表示することができるので、ロボット10の操作性を向上させることができる。
ここで、第1の実施形態に係る遠隔制御システム1aにおいて、表示端末50は、本発明に係る出力制御装置の一例である。出力制御装置としての表示端末50は、被写体を撮影して全天球画像データ200(第1の画像の一例)を取得する特殊撮影装置21(第1の撮影手段の一例)と、特殊撮影装置21によって撮影された被写体の一部を撮影して詳細画像データ250(第2の画像の一例)を取得する一般撮影装置23(第2の撮影手段の一例)とを備えるロボット10(移動体の一例)を制御するとともに、全天球画像データ200または詳細画像データ250を出力する。そして、出力制御装置としての表示端末50は、ロボット10の移動状態を示す状態情報150を取得(受信)し、取得した状態情報150に基づいて、全天球画像データ200または詳細画像データ250を出力(表示)する。そのため、出力制御装置としての表示端末50は、特殊撮影装置21と一般撮影装置23とを備えるロボット10を遠隔操作する際に、高度な制御を実現させることができる。
また、第1の実施形態に係る遠隔制御システム1aにおいて、表示端末50は、本発明に係る撮影制御装置の一例である。撮影制御装置としての表示端末50は、被写体を撮影して全天球画像データ200(第1の画像の一例)を取得する特殊撮影装置21(第1の撮影手段の一例)と、特殊撮影装置21によって撮影された被写体の一部を撮影して詳細画像データ250(第2の画像の一例)を取得する一般撮影装置23(第2の撮影手段の一例)とを備えるロボット10(移動体の一例)を制御する。そして、撮影制御装置としての表示端末50は、ロボット10の移動状態を示す状態情報150を受信(取得)し、取得した状態情報150に基づいて、一般撮影装置23に対する撮影要求を示す要求コマンド(制御信号の一例)を出力(送信)する。そのため、撮影制御装置としての表示端末50は、特殊撮影装置21と一般撮影装置23とを備えるロボット10を遠隔操作する際に、高度な制御を実現させることができる。
●第2の実施形態●
次に、第2の実施形態に係る遠隔制御システムついて説明する。なお、第1の実施形態と同一構成および同一機能は、同一の符号を付して、その説明を省略する。第2の実施形態に係る遠隔制御システム1bは、ロボット10が備える制御装置30、すなわちロボット10自身が、ロボット10の移動状態に応じて表示端末50へ送信(出力)する画像(全天球画像または詳細画像)を決定するシステムである。
なお、第2の実施形態に係る遠隔制御システムを構成する装置または端末(ロボット10、表示端末50および管理サーバ90)のハードウエア構成および機能構成は、第1の実施形態に係る遠隔制御システムを構成する装置または端末(ロボット10、表示端末50および管理サーバ90)と同様であるため、説明を省略する。
図39は、第2の実施形態に係る遠隔制御システムにおいて、表示端末に表示される表示画像の切り替え処理の一例を説明するためのシーケンス図である。なお、図39において、ロボット10が備える制御装置30によって実行される処理は、ロボット10によって実行される処理として説明する。また、図39は、表示端末50のディスプレイ512に、図27に示した表示画面600a(全天球画像データ200)が表示されている場合について説明する。
ステップS101bにおいて、ロボット10の状態情報生成部35は、移動制御部38から取得される移動機構17の駆動状態に基づいて、ロボット10の移動状態を示す状態情報150(図28参照)を生成する。これによって、状態情報生成部35は、状態情報150を取得する(取得ステップの一例)。ステップS102bにおいて、ロボット10の判断部34は、ロボット10が停止していると判断した場合、処理をステップS103bへ移行させる。具体的には、ロボット10の判断部34は、状態情報生成部35によって生成(取得)された状態情報150に含まれる変数「SPEED」の値が「0km/h」である場合、ロボット10が停止していると判断する。なお、ロボット10が停止していると判断される変数「SPEED」の値は、「0km/h」に限られず、判断部34は、変数「SPEED」の値が所定の閾値以下または所定の閾値より小さい場合に、ロボット10が停止していると判断してもよい。一方で、ステップS103bにおいて、ロボット10の判断部34は、ロボット10が停止していない(移動している)と判断する場合、処理を終了する。
ステップS103bにおいて、ロボット10のアーム操作制御部39は、状態情報生成部35によって生成(取得)された状態情報150に基づいて可動アーム11を変形させる。具体的には、アーム操作制御部39は、状態情報150に含まれる変数「H_ANGLE」および「V_ANGLE」の値で示される方向に、可動アーム11の向きを変更する。すなわち、アーム操作制御部39は、ロボット10の進行方向と同じ向きに、可動アーム11の向きを変更する。
ステップS104bにおいて、ロボット10の撮影指示部36は、アーム操作制御部39による可動アーム11の向きの変更が完了した場合、一般撮影装置23への撮影指示を示す指示情報を出力する。そして、一般撮影装置23は、撮影指示部36から出力された撮影指示に応じて、撮影処理を行う。この場合、一般撮影装置23は、アーム操作制御部39によって変更された可動アーム11の向きにおいて撮影された詳細画像である詳細画像データ250を取得する。
ステップS105bにおいて、ロボット10の画像取得部37は、一般撮影装置23によって取得された詳細画像データ250を、一般撮影装置23から取得する。ステップS106bにおいて、ロボット10の記憶・読出部41は、画像取得部37によって取得された詳細画像データ250を、記憶部5000に記憶させる。
ステップS107b−1,S107b−2において、ロボット10の送受信部31は、画像取得部37によって取得された詳細画像データ250を、表示端末50へ送信する。すなわち、ロボット10は、上記ステップ101bの処理によって生成(取得)された状態情報150に基づいて、詳細画像データ250を出力する。これにより、表示端末50の送受信部51は、ロボット10から送信された詳細画像データ250を受信する。なお、ステップS106bとステップS107b−1,S107b−2の処理の順序は、前後してもよく、または並行して行われてもよい。
ステップS108bにおいて、表示端末50の記憶・読出部57は、送受信部51によって受信された詳細画像データ250を、記憶部5000に記憶させる。そして、ステップS109bにおいて、表示端末50の表示制御部53は、送受信部51によって受信された詳細画像データ250を、ディスプレイ512に表示させる。なお、ステップS108bとステップS109bの処理の順序は、前後してもよく、または並行して行われてもよい。
なお、ロボット10は、上記ステップ102bの処理において判断部34によってロボット10が停止していると判断された場合、前回ロボット10が停止していると判断した後にロボット10が停止していない(移動している)と判断した工程を経ている場合に限り、可動アーム11の変形処理を行う構成であってもよい。また、ロボット10は、上記ステップ102bの処理において判断部34によってロボット10が停止していると判断された場合、前回ロボット10が停止していると判断してから所定の時間が経過した場合に限り、可動アーム11の変形処理を行う構成であってもよい。これらの場合、遠隔制御システム1bは、ロボット10が継続して同じ場所に停止しているにも関わらず、一般撮影装置23によって詳細画像データ250が取得され、取得された詳細画像データ250が表示端末50に表示されることによる処理の無駄を低減させることができる。また、これにより、遠隔制御システム1bは、ロボット10および表示端末50の処理負担を低減させることができるとともに、通信ネットワーク9の混雑等によって発生する通信遅延の発生を防止することができる。
●第2の実施形態の効果
以上説明したように、第2の実施形態に係る遠隔制御システム1bは、ロボット10(移動体の一例)が備える制御装置30(情報処理装置の一例)が、ロボット10の移動状態に応じて表示端末50へ送信する画像(全天球画像データ200または詳細画像データ250)を決定する。そのため、遠隔制御システム1bは、ロボット10の移動状態に応じた適切な画像をロボット10から表示端末50に送信することによって、通信遅延等による表示画面のタイムラグによって発生を防止するとともに、ロボット10の操作者にとって適切な画像を表示端末50に表示させることで、特殊撮影装置21と一般撮影装置23とを備えるロボット10の遠隔制御を高精度に実現させることができる。
また、第2の実施形態に係るロボット10が備える制御装置30は、被写体を撮影して全天球画像データ200(第1の画像の一例)を取得する特殊撮影装置21(第1の撮影手段の一例)と、特殊撮影装置21によって撮影された被写体の一部を撮影して詳細画像データ250(第2の画像の一例)を取得する一般撮影装置23(第2の撮影手段の一例)とを備えるロボット10(移動体の一例)を制御する表示端末50と通信ネットワーク9を介して通信可能な制御装置30(情報処理装置の一例)である。そして、制御装置30は、ロボット10の移動状態に基づいて、特殊撮影装置21または一般撮影装置23から取得した全天球画像データ200または詳細画像データ250を、表示端末50へ送信することで、表示端末50に表示される全天球画像データ200または詳細画像データ250の表示を切り替える。そのため、制御装置30は、特殊撮影装置21と一般撮影装置23とを備えるロボット10を遠隔操作する際に、高度な制御を実現させることができる。
ここで、第2の実施形態に係る遠隔制御システム1bにおいて、ロボット10が備える制御装置30は、本発明に係る出力制御装置の一例である。出力制御装置としての制御装置30(情報処理装置の一例)は、被写体を撮影して全天球画像データ200(第1の画像の一例)を取得する特殊撮影装置21(第1の撮影手段の一例)と、特殊撮影装置21によって撮影された被写体の一部を撮影して詳細画像データ250(第2の画像の一例)を取得する一般撮影装置23(第2の撮影手段の一例)とを備えるロボット10(移動体の一例)を制御する。そして、出力制御装置としての制御装置30は、ロボット10の移動状態を示す状態情報150を取得し、取得した状態情報150に基づいて、全天球画像データ200または詳細画像データ250を出力(送信)する。そのため、出力制御装置としての制御装置30は、特殊撮影装置21と一般撮影装置23とを備えるロボット10を遠隔操作する際に、高度な制御を実現させることができる。
また、第2の実施形態に係る遠隔制御システム1bにおいて、ロボット10が備える制御装置30は、本発明に係る撮影制御装置の一例である。撮影制御装置としての制御装置30(情報処理装置の一例)は、被写体を撮影して全天球画像データ200(第1の画像の一例)を取得する特殊撮影装置21(第1の撮影手段の一例)と、特殊撮影装置21によって撮影された被写体の一部を撮影して詳細画像データ250(第2の画像の一例)を取得する一般撮影装置23(第2の撮影手段の一例)とを備えるロボット10(移動体の一例)を制御する。そして、撮影制御装置としての制御装置30は、ロボット10の移動状態を示す状態情報150を取得し、取得した状態情報150に基づいて、一般撮影装置23による撮影を指示するための指示情報(撮影要求を示す制御信号の一例)を出力する。そのため、撮影制御装置としての制御装置30は、特殊撮影装置21と一般撮影装置23とを備えるロボット10を遠隔操作する際に、高度な制御を実現させることができる。
●第3の実施形態●
次に、第3の実施形態に係る遠隔制御システムついて説明する。なお、第1の実施形態または第2の実施形態と同一構成および同一機能は、同一の符号を付して、その説明を省略する。第3の実施形態に係る遠隔制御システム1cは、画像処理サーバ70がロボット10の移動状態に応じて表示端末50へ送信(出力)する画像(全天球画像または詳細画像)を決定するシステムである。
●システム構成
まずは、図40を用いて、第3の実施形態の遠隔制御システムの構成の概略について説明する。図40は、第3の実施形態に係る遠隔制御システムのシステム構成の一例を示す図である。図40に示すように、第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のハードウエア構成は、図15に示した管理サーバ90のハードウエア構成と同様であるため、説明を省略する。以下、画像処理サーバ70は、図15に示したハードウエア構成を有するものとして説明する。
●機能構成
図41は、第3の実施形態に係る遠隔制御システムの機能構成の一例を示す図である。画像処理サーバ70によって実現される機能は、送受信部71、判断部72、データ処理部73、記憶・読出部74および記憶部7000を含む。
送受信部71は、通信ネットワーク9を介して、他の装置(例えば、管理サーバ90、表示端末50またはロボット10)との間で各種データまたは情報の送受信を行う機能である。送受信部71は、例えば、通信ネットワーク9を介して、全天球画像データ200または詳細画像データ250を、ロボット10(制御装置30)から受信(取得)する。また、送受信部71は、例えば、通信ネットワーク9を介して、ロボット10の移動状態を示す状態情報150を、ロボット10(制御装置30)から受信(取得)する。さらに、送受信部71は、例えば、受信(取得)した状態情報150に基づいて、ロボット10(制御装置30)から受信(取得)した全天球画像データ200または詳細画像データ250を、表示端末50へ送信(出力)する。送受信部71は、主に、図15に示したCPU901の処理、およびネットワークI/F909によって実現される。送受信部71は、第1の取得手段の一例である。また、送受信部71は、第2の取得手段の一例である。さらに、送受信部71は、第2の送信手段の一例である。送受信部71は、第2の受信手段の一例である。
判断部72は、送受信部71によって受信(取得)された状態情報150に基づいて、全天球画像データ200に対して実行する処理、またはロボット10へ要求する特定の処理を判断する。判断部72は、主に、図15に示したCPU901の処理によって実現される。
データ処理部73は、送受信部71によって受信(取得)された状態情報150に基づいて、全天球画像データ200に対する画像処理、またはロボット10に特定の処理を実行されるための実行要求である要求コマンドの生成処理を実行する機能である。データ処理部73は、例えば、ロボット10が備える一般撮影装置23に対する撮影要求である要求コマンドを生成する。データ処理部73は、主に、図15に示したCPU901の処理によって実現される。
記憶・読出部74は、記憶部7000に各種データを記憶させ、または記憶部7000から各種データを読み出す機能である。記憶・読出部74は、主に、図15に示したCPU901の処理によって実現される。また、記憶部9000は、主に、図15に示したROM902、HD904または記録メディア906によって実現される。
また、記憶部7000は、送受信部71によって受信された全天球画像データ200および詳細画像データ250を記憶している。さらに、記憶部7000は、状態管理テーブル7001、条件テーブル7002およびユーザコマンドテーブル7003を記憶している。なお、状態管理テーブル7001、条件テーブル7002およびユーザコマンドテーブル7003は、それぞれ図18に示した状態管理テーブル5001、図19に示した条件テーブル5002および図20に示したユーザコマンドテーブル5003と同様であるため、説明を省略する。また、記憶部7000に記憶されている全天球画像データ200および詳細画像データ250は、送受信部71によって受信されてから所定の時間経過した場合に削除される構成であってもよいし、送受信部71によって表示端末50へ送信(出力)されてから所定の時間経過した場合に削除される構成であってもよい。
●第3の実施形態の処理または動作
続いて、図42および図43を用いて、第3の実施形態に係る遠隔制御システムの動作または処理について説明する。なお、図42および図43において、ロボット10が備える制御装置30によって実行される処理は、ロボット10によって実行される処理として説明する。図42は、第3の実施形態に係る遠隔制御システムにおいて、ロボットが移動した場合の処理の一例を説明するためのシーケンス図である。
ステップS201−1,S201−2,S201−3において、ロボット10の送受信部31は、確立された管理サーバ90との通信セッションを用いて、特殊撮影装置21によって撮影された全天球画像である全天球画像データ200を、表示端末50へ送信する。これにより、表示端末50の送受信部51は、全天球画像データ200を受信する。
ステップS202において、表示端末50の表示制御部53は、送受信部51によって受信された全天球画像データ200を、ディスプレイ512の表示画面600a(図27参照)に表示させる。これによって、表示端末50を用いてロボット10を操作する操作者は、ロボットが位置する拠点の状況を、全天球画像データ200が表示された表示画面600aを見ながら確認することができる。
ステップS203において、ロボット10は、表示端末50から送信される要求コマンド等に基づいて拠点内を移動する。この場合、ロボット10の移動制御部38は、表示端末50から送信される要求コマンド等に基づいて移動機構17の駆動を制御する。
ステップS204において、ロボット10の状態情報生成部35は、移動制御部38から取得されるロボット10の移動状態に基づいて状態情報150(図28参照)を生成する。ステップS205−1,S205−2において、ロボット10の送受信部31は、確立された管理サーバ90との通信セッションを用いて、状態情報生成部35によって状態情報150を、画像処理サーバ70へ送信する。これにより、画像処理サーバ70の送受信部71は、状態情報150を受信(取得)する(取得ステップの一例)。
ステップS206において、画像処理サーバ70のデータ処理部73は、送受信部71によって受信(取得)された状態情報150に基づいて、上記ステップS201−2によって受信された全天球画像データ200に対する画像処理を実行する。
ここで、画像処理サーバ70における画像処理の内容について説明する。図43は、第3の実施形態に係る画像処理サーバにおける、ロボットの移動状態に基づく全天球画像データの画像処理の一例を説明するためのフローチャートである。
ステップS206−1において、画像処理サーバの送受信部71は、ロボット10から送信された状態情報150を受信(取得)した場合、処理をステップS206−2へ移行させる。一方で、送受信部71は、状態情報150を受信していない場合、ステップS206−1の処理を繰り返す。
ステップS206−2において、画像処理サーバ70の記憶・読出部74は、記憶部7000に記憶された条件テーブル7002を読み出す。ステップS206−3において、画像処理サーバ70の判断部72は、記憶・読出部74によって読み出された条件テーブル7002を検索し、送受信部71によって受信された状態情報150に含まれる変数のうち、条件テーブル7002に含まれる条件を満たしているものがある場合、処理をステップS206−4へ移行させる。例えば、状態情報150に含まれる変数名「SPEED」に対応する値が「3.0km/h」である場合、判断部72は、条件テーブル7002に含まれる項目のうち、「SPEED≦5.0km/h」、「SPEED>1.0km/h」および「SPEED>2.0km/h」が条件を満たしている。一方で、ステップS206−3において、判断部72は、送受信部71によって受信された状態情報150に含まれる変数のうち、条件テーブル7002に含まれる条件を満たしているものがない場合、処理を終了する。
ステップS206−4において、画像処理サーバ70のデータ処理部73は、上記ステップS206−3の処理によって該当する項目に対応する処理を特定し、全天球画像データ200に対して特定した処理を実行する。例えば、データ処理部73は、条件テーブル7002に含まれる、条件を満たしている「SPEED≦5.0km/h」、「SPEED>1.0km/h」および「SPEED>2.0km/h」に対応する処理をそれぞれ特定する。そして、データ処理部73は、画像処理サーバ70に対して、特定した処理(例を実行する。この場合、データ処理部73は、全天球画像データ200のフレームレートを初期状態に戻し、解像度を50%に下げる処理を実行する。また、データ処理部73は、全天球画像データ200の初期状態に対してズームアウトした画像(「ZOOM」=−10)を生成する。なお、データ処理部73は、条件を満たした項目に対応する全ての処理を実行してもよいし、条件を満たした項目から選択(抽出)された項目に対応する処理のみを実行してもよい。
図42に戻り、ステップS207において、画像処理サーバ70の送受信部71は、データ処理部73によって処理された処理データ、およびロボット10から送信されてきた状態情報15を、表示端末50へ送信する。これにより、表示端末50の送受信部51は、処理データおよび状態情報150を受信する。
ステップS208において、表示端末50の記憶・読出部57は、送受信部51によって受信された状態情報150を、記憶部5000に記憶された状態管理テーブル5001(図18参照)に記憶する。具体的には、表示端末50の記憶・読出部57は、状態管理テーブル5001のうち、受信された状態情報150に含まれる変数名に対応する数値を格納する。
ステップS209において、表示端末50の表示制御部53は、表示画面600(例えば、図29(a)に示した表示画面600b)に、ロボット10の移動状態および処理データ(全天球画像データ200)を表示する。
次に、画像処理サーバ70を用いて、表示端末50における全天球画像と詳細画像の表示の切り替える処理について説明する。図43は、第3の実施形態に係る遠隔制御システムにおいて、表示端末に表示される表示画像の切り替え処理の一例を説明するためのシーケンス図である。なお、図43は、図39と同様に、表示端末50のディスプレイ512に、図27に示した表示画面600a(全天球画像データ200)が表示されている場合について説明する。
ステップS101c−1,101c−2において、ロボット10−1の送受信部31は、確立された管理サーバ90との通信セッションを用いて、状態情報生成部35によって状態情報150(図28参照)を、画像処理サーバ70へ送信する。これにより、画像処理サーバ70の送受信部71は、状態情報150を受信(取得)する(取得ステップの一例)。
ステップS102cにおいて、画像処理サーバ70は、ロボット10が停止している場合、処理をステップS103cへ移行させる。具体的には、画像処理サーバ70の判断部72は、送受信部71によって受信された状態情報150に含まれる変数「SPEED」の値が「0km/h」である場合、ロボット10が停止していると判断する。なお、ロボット10が停止していると判断される変数「SPEED」の値は、「0km/h」に限られず、判断部72は、変数「SPEED」の値が所定の閾値以下または所定の閾値より小さい場合に、ロボット10が停止していると判断してもよい。一方で、ステップS102cにおいて、判断部72は、ロボット10が停止していない(移動している)と判断する場合、処理を終了する。
ステップS103cにおいて、画像処理サーバ70のデータ処理部73は、「ARM」コマンドおよび「SHOOT」コマンドを含む要求コマンドを生成する。ここで、コマンドテーブル3001(図17(a)参照)に示すように、「SHOOT」コマンドに対応するロボット10の処理は、「一般撮影装置23による撮影」である。すなわち、データ処理部73は、一般撮影装置23に対する撮影要求を示す制御信号を生成することになる。また、「ARM」コマンドの変数(h,v)は、ロボット10が現在向いている方向であるものとする。具体的には、データ処理部73は、直前のロボット10が移動していた際に、送受信部71によって受信(取得)された状態情報150に含まれる進行方向の情報を用いて、変数(h,v)を特定する。なお、「ARM」コマンドの変数(h,v)は、表示画面600aに表示されている全天球画像データ200の表示方向における画面上の中心位置であってもよいし、表示画面600aに表示されている全天球画像データ200の表示方向における画面上のマウスポインタ620によって指定された位置であってもよい。この場合、画像処理サーバ70は、表示画面600aの表示状態に関する情報を、表示端末50から取得しているものとする。
ステップS104c−1,S104c−2において、画像処理サーバ70の送受信部71は、データ処理部73によって生成された要求コマンド(「ARM」,「SHOOT」)を、ロボット10へ送信する。この場合、データ処理部73によって生成された要求コマンドに「SHOOT」コマンドが含まれるため、送受信部71は、一般撮影装置23に対する撮影要求を示す制御信号を送信(出力)する。これにより、ロボット10の送受信部31は、要求コマンド(「ARM」,「SHOOT」)を受信する。
ステップS105cにおいて、ロボット10のアーム操作制御部39は、送受信部31によって受信された要求コマンドに基づいて可動アーム11を変形させる。アーム操作制御部39は、送受信部31によって受信された要求コマンドに含まれる「ARM」コマンドに基づいて、可動アーム11を変形させることにより可動アーム11の向きを変更する。なお、アーム操作制御部39による可動アーム11の向きの変更処理は、図34のステップS93で説明した処理と同様であるため、説明を省略する。
ステップS106cにおいて、ロボット10の撮影指示部36は、アーム操作制御部39による可動アーム11の向きの変更が完了した場合、一般撮影装置23への撮影指示を示す指示情報を出力する。そして、一般撮影装置23は、撮影指示部36から出力された撮影指示に応じて、撮影処理を行う。この場合、一般撮影装置23は、アーム操作制御部39によって変更された可動アーム11の向きにおいて撮影された詳細画像である詳細画像データ250を取得する。
ステップS107cにおいて、ロボット10の画像取得部37は、一般撮影装置23によって撮影された詳細画像データ250を、一般撮影装置23から取得する。ステップS108cにおいて、ロボット10の記憶・読出部41は、画像取得部37によって取得された詳細画像データ250を、記憶部5000に記憶させる。
ステップS109c−1,S109c−2,S109c−3において、ロボット10の送受信部31は、画像取得部37によって取得された詳細画像データ250を、表示端末50へ送信する。これにより、表示端末50の送受信部51は、ロボット10から送信された詳細画像データ250を受信する。このうち、画像処理サーバ70の送受信部71は、ステップS109−2の処理によって、ロボット10から送信された詳細画像データ250を受信する。そして、画像処理サーバ70の送受信部71は、受信した詳細画像データ250を、表示端末50へ出力する。すなわち、画像処理サーバ70は、上記ステップS101c−2の処理によって受信(取得)された状態情報150に基づいて、詳細画像データ250を出力する。なお、ステップS108cとステップS109c−1,S109c−2,S109c−3の処理の順序は、前後してもよく、または並行して行われてもよい。
ステップS110cにおいて、表示端末50の記憶・読出部57は、送受信部51によって受信された詳細画像データ250を、記憶部5000に記憶させる。そして、ステップS111cにおいて、表示端末50の表示制御部53は、送受信部51によって受信された詳細画像データ250を、ディスプレイ512に表示させる。これによって、表示制御部53は、ディスプレイ512によって表示される表示画像を、全天球画像データ200(例えば、図27に示した表示画面600a)から、詳細画像データ250(例えば、図35に示した表示画面650)へ切り替える。なお、ステップS110cとステップS111cの処理の順序は、前後してもよく、または並行して行われてもよい。
なお、画像処理サーバ70は、上記ステップ102cの処理において判断部72によってロボット10が停止していると判断された場合、前回ロボット10が停止していると判断した後にロボット10が停止していない(移動している)と判断した工程を経ている場合に限り、要求コマンドを生成する構成であってもよい。また、画像処理サーバ70は、上記ステップ102cの処理において判断部72によってロボット10が停止していると判断された場合、前回ロボット10が停止していると判断してから所定の時間が経過した場合に限り、要求コマンドを生成する構成であってもよい。これらの場合、遠隔制御システム1cは、ロボット10が継続して同じ場所に停止しているにも関わらず、一般撮影装置23によって詳細画像データ250が取得され、取得された詳細画像データ250が表示端末50に表示されることによる処理の無駄を低減させることができる。また、これにより、遠隔制御システム1cは、ロボット10、表示端末50および画像処理サーバ70の処理負担を低減させることができるとともに、通信ネットワーク9の混雑等によって発生する通信遅延の発生を防止することができる。
●第3の実施形態の効果
以上説明したように、第3の実施形態に係る遠隔制御システム1cは、画像処理サーバ70(情報処理装置の一例)がロボット10(移動体の一例)の移動状態に応じて表示端末50へ送信(出力)する画像(全天球画像データ200または詳細画像データ250)を決定する。そのため、遠隔制御システム1cは、ロボット10の移動状態に応じた適切な画像を画像処理サーバ70から表示端末50に送信することによって、通信遅延等による表示画面のタイムラグによって発生を防止するとともに、ロボット10の操作者にとって適切な画像を表示端末50に表示させることで、特殊撮影装置21と一般撮影装置23とを備えるロボット10の遠隔制御を高精度で実現させることができる。
また、第3の実施形態に係る画像処理サーバ70は、被写体を撮影して全天球画像データ200(第1の画像の一例)を取得する特殊撮影装置21(第1の撮影手段の一例)と、特殊撮影装置21によって撮影された被写体の一部を撮影して詳細画像データ250(第2の画像の一例)を取得する一般撮影装置23(第2の撮影手段の一例)とを備えるロボット10(移動体の一例)を制御する表示端末50と通信ネットワーク9を介して通信可能な画像処理サーバ70(情報処理装置の一例)である。そして、画像処理サーバ70は、ロボット10の移動状態に基づいて、特殊撮影装置21または一般撮影装置23から受信(取得)した全天球画像データ200または詳細画像データ250を、表示端末50へ送信することで、表示端末50に表示される全天球画像データ200または詳細画像データ250の表示を切り替える。そのため、画像処理サーバ70は、ロボット10および表示端末50の処理負担を低減させるとともに、特殊撮影装置21と一般撮影装置23とを備えるロボット10を遠隔操作する際に、高度な制御を実現させることができる。
ここで、第3の実施形態に係る遠隔制御システム1cにおいて、画像処理サーバ70は、本発明に係る出力制御装置の一例である。出力制御装置としての画像処理サーバ70(情報処理装置の一例)は、被写体を撮影して全天球画像データ200(第1の画像の一例)を取得する特殊撮影装置21(第1の撮影手段の一例)と、特殊撮影装置21によって撮影された被写体の一部を撮影して詳細画像データ250(第2の画像の一例)を取得する一般撮影装置23(第2の撮影手段の一例)とを備えるロボット10(移動体の一例)を制御する。そして、出力制御装置としての画像処理サーバ70は、ロボット10の移動状態を示す状態情報150を取得(受信)し、取得した状態情報150に基づいて、全天球画像データ200または詳細画像データ250を出力(送信)する。そのため、出力制御装置としての画像処理サーバ70は、特殊撮影装置21と一般撮影装置23とを備えるロボット10を遠隔操作する際に、高度な制御を実現させることができる。
また、第3の実施形態に係る遠隔制御システム1cにおいて、画像処理サーバ70は、本発明に係る撮影制御装置の一例である。撮影制御装置としての画像処理サーバ70(情報処理装置の一例)は、被写体を撮影して全天球画像データ200(第1の画像の一例)を取得する特殊撮影装置21(第1の撮影手段の一例)と、特殊撮影装置21によって撮影された被写体の一部を撮影して詳細画像データ250(第2の画像の一例)を取得する一般撮影装置23(第2の撮影手段の一例)とを備えるロボット10(移動体の一例)を制御する。そして、撮影制御装置としての画像処理サーバ70は、ロボット10の移動状態を示す状態情報150を取得(受信)し、取得した状態情報150に基づいて、一般撮影装置23による撮影を指示するための指示情報(撮影要求を示す制御信号の一例)を出力(送信)する。そのため、撮影制御装置としての画像処理サーバ70は、特殊撮影装置21と一般撮影装置23とを備えるロボット10を遠隔操作する際に、高度な制御を実現させることができる。
●まとめ●
以上説明したように、本発明の一実施形態に係る遠隔制御システム1a,1bは、被写体を撮影して全天球画像データ200(第1の画像の一例)を取得する特殊撮影装置21(第1の撮影手段の一例)と、特殊撮影装置21によって撮影された被写体の一部を撮影して詳細画像データ250(第2の画像の一例)を取得する一般撮影装置23(第2の撮影手段の一例)とを備えるロボット10(移動体の一例)と、ロボット10と通信ネットワーク9を介して通信可能であり、ロボット10を遠隔操作する表示端末50と、を備える。そして、遠隔制御システム1a,1bは、ロボット10の移動状態を示す状態情報150を取得し、取得した状態情報150に基づいて、全天球画像データ200または詳細画像データ250を出力する。そのため、遠隔制御システム1a,1bは、特殊撮影装置21と一般撮影装置23とを備えるロボット10の遠隔制御を高精度で実現させることができる。
また、本発明の一実施形態に係る遠隔制御システム1cは、ロボット10および表示端末50のそれぞれと通信ネットワーク9を介して通信可能な画像処理サーバ70(情報処理装置の一例)を備える。そのため、遠隔制御システム1cは、ロボット10および表示端末50の処理負担を低減させるとともに、特殊撮影装置21と一般撮影装置23とを備えるロボット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等により記述されたデータとして記録媒体により配布することができる。
これまで本発明の一実施形態に係る出力制御装置、表示端末、情報処理装置、移動体、遠隔制御システム、出力制御方法、プログラムおよび撮影制御装置について説明してきたが、本発明は上述した実施形態に限定されるものではなく、他の実施形態の追加、変更または削除等、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。