(57)【特許請求の範囲】
【請求項１】
外部装置からの対象機器に対する遠隔操作コマンドを受信する受信手段と、
前記対象機器及び前記対象機器の周辺の少なくとも一方を観測して、その観測結果を表す観測データを出力する観測装置からの前記観測データに基づき、前記対象機器の状況を表す前記外部装置に対する提供データを生成し、この提供データを、当該提供データに基づき前記対象機器の状況を表示する前記外部装置に逐次送信する送信手段と、
前記受信手段が受信した前記遠隔操作コマンドに対応する処理を前記対象機器が実行する前の時点である実行前時点と、前記遠隔操作コマンドの送信を指示する操作が前記外部装置に対してなされた時点において前記外部装置で表示されていた状況が、前記観測装置において観測された時点である操作基準時点と、の間に生じた前記対象機器の状況変化を、前記観測装置からの前記観測データに基づき検出する検出手段と、
前記検出手段により検出された前記状況変化に基づき、前記状況変化が基準より大きい場合には、前記遠隔操作コマンドに対応する処理を前記対象機器に実行させず、前記状況変化が前記基準以下であることを条件に、前記遠隔操作コマンドに対応する処理を前記対象機器に実行させる制御手段と
を備えること
を特徴とする遠隔操作受付システム。
【請求項２】
前記遠隔操作受付システムは、
前記観測装置からの前記観測データを、観測時刻毎の履歴データとして記憶装置に記憶させる蓄積手段
を備え、
前記検出手段は、前記記憶装置が記憶する前記観測時刻毎の前記履歴データを参照して、前記状況変化を検出すること
を特徴とする請求項１記載の遠隔操作受付システム。
【請求項３】
前記送信手段は、前記観測データに基づき生成した前記提供データを、対応する観測時刻の識別コードと併せて前記外部装置に送信する構成にされ、
前記外部装置は、前記遠隔操作コマンドの送信を指示する操作がなされたことを条件に、前記操作に対応する前記遠隔操作コマンドを、前記操作時に表示していた状況の情報源である前記提供データの前記識別コードと併せて前記遠隔操作受付システムに送信する構成にされ、
前記受信手段は、前記遠隔操作コマンド及び前記識別コードを受信し、
前記検出手段は、前記記憶装置が記憶する前記観測時刻毎の前記履歴データを参照して前記状況変化を検出するが、その際には、前記受信手段が受信した前記識別コードに基づき、前記操作基準時点における前記対象機器の状況を表す前記履歴データを特定すること
特徴とする請求項２記載の遠隔操作受付システム。
【請求項４】
前記観測装置は、前記対象機器及び前記対象機器の周辺の少なくとも一方を撮影し、その撮影画像データを前記観測データとして出力するカメラを有し、
前記送信手段は、前記提供データとして、前記撮影画像データを前記外部装置に送信すること
を特徴とする請求項１〜請求項３のいずれか一項記載の遠隔操作受付システム。
【請求項５】
前記制御手段は、前記状況変化としての、前記実行前時点での前記対象機器の状況と前記操作基準時点での前記対象機器の状況との差が前記基準より大きい場合には、前記差が前記基準以下となるまで、前記遠隔操作コマンドに対応する処理を前記対象機器に実行させず、前記差が前記基準以下となったことを条件に、前記遠隔操作コマンドに対応する処理を前記対象機器に実行させること
を特徴とする請求項１〜請求項４のいずれか一項記載の遠隔操作受付システム。
【請求項６】
前記制御手段は、前記差が前記基準より大きい状態が所定期間以上継続した時点で、前記遠隔操作コマンドを破棄すること
を特徴とする請求項５記載の遠隔操作受付システム。
【請求項７】
請求項１〜請求項６のいずれか一項記載の遠隔操作受付システムと、
前記遠隔操作コマンドを前記遠隔操作受付システムに送信する一方、前記遠隔操作受付システムから受信した前記提供データに基づき前記対象機器の状況を表示する前記外部装置としての遠隔操作装置と、
を備えること
特徴とする遠隔操作システム。
【請求項８】
外部装置からの対象機器に対する遠隔操作コマンドを受信する情報処理システムのコンピュータに、
前記対象機器及び前記対象機器の周辺の少なくとも一方を観測して、その観測結果を表す観測データを出力する観測装置からの前記観測データに基づき、前記対象機器の状況を表す前記外部装置に対する提供データを生成し、この提供データを、当該提供データに基づく前記対象機器の状況を表示する前記外部装置に逐次送信する送信手順と、
前記遠隔操作コマンドに対応する処理を前記対象機器が実行する前の時点である実行前時点と、前記遠隔操作コマンドの送信を指示する操作が前記外部装置に対してなされた時点において前記外部装置で表示されていた状況が、前記観測装置において観測された時点である操作基準時点と、の間に生じた前記対象機器の状況変化を、前記観測装置からの前記観測データに基づき検出する検出手順と、
前記検出手順により検出された前記状況変化に基づき、前記状況変化が基準より大きい場合には、前記遠隔操作コマンドに対応する処理を前記対象機器に実行させず、前記状況変化が前記基準以下であることを条件に、前記遠隔操作コマンドに対応する処理を前記対象機器に実行させる制御手順と
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、遠隔操作コマンドを受け付けて、対応する処理を対象機器に実行させる遠隔操作受付システムと、このシステムを備える遠隔操作システムと、このシステムが備える機能の少なくとも一部をコンピュータに実現させるためのプログラムとに関する。
【背景技術】
【０００２】
従来、ユーザからの指示に従って機器を制御するシステムが知られている。例えば、離れた位置に設置されたロボットを容易に安全かつ確実に動作させることのできるロボットの遠隔操作システムが知られている（例えば、特許文献１参照）。
【０００３】
このシステムによれば、ユーザからの指示に従って、ユーザ側の装置がロボット制御装置に対して動作指令（操作コマンド）を送信する。一方、ユーザ側の装置は、ロボット制御装置から送られてきた実際のロボットの状態を表示する。更に、ユーザ側の装置は、ユーザが離れた位置に設置されたロボットを意図した通り効率よく動作させることができるように、通信による時間遅れのないロボットの状態を推定し、推定した状態を表示する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−１０８３８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、車両やロボット等の対象機器を通信により遠隔操作（制御）するシステムでは、通信遅延に起因して、対象機器に隣接する制御装置が、離れたユーザ側の装置からの操作コマンドに基づく対象機器の制御を行ってから、ユーザ側の装置で制御結果が表示されるまでにタイムラグが生じる。更に、ユーザからの指示に従う操作コマンドが上記ユーザ側の装置から制御装置に送信されてから、制御装置が対象機器を制御して、上記操作マンドに対応する処理を対象機器に実行させるまでにタイムラグが生じる。
【０００６】
上述した従来技術によれば、対象機器の状態を推定し、その推定結果を表示することでタイムラグの影響を抑えるようにしているが、推定結果には誤差が含まれることから、その誤差に起因して、ユーザが誤った現状認識で、対象機器を遠隔操作する可能性がある。
【０００７】
また、タイムラグが大きい場合には、ユーザが認識する遠隔操作時の対象機器の状況と、対象機器が遠隔操作コマンドに対応する処理を実行する時点での対象機器の状況とが大きく異なる場合がある。この場合には、対象機器が遠隔操作コマンドに対応する処理を実行しても、ユーザの操作目的に合致した実行結果が得られない可能性がある。
【０００８】
本発明は、こうした問題に鑑みなされたものであり、対象機器が遠隔操作コマンドに対応する処理を実行するまでのタイムラグ等に起因して、操作目的に合致しない実行結果が生じるのを抑制可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の遠隔操作受付システムは、受信手段と、送信手段と、検出手段と、制御手段とを備える。受信手段は、外部装置からの対象機器に対する遠隔操作コマンドを受信する。
送信手段は、観測装置からの観測データに基づき、対象機器の状況を表す外部装置に対する提供データを生成し、この提供データを外部装置に逐次送信する。ここで言う観測装置は、対象機器及び対象機器の周辺の少なくとも一方を観測して、その観測結果を表す観測データを出力する装置である。外部装置は、遠隔操作コマンドを遠隔操作受付システムに送信する一方、遠隔操作受付システムから受信した上記提供データに基づき、対象機器の状況を表示する。ここで言う対象機器の「状況」は、広義に解釈されるべきであり、その範疇には、対象機器がおかれている環境としての対象機器の周辺環境（雰囲気）や対象機器それ自体の状態が含まれる。また、対象機器が、対象物を掴んで運搬するロボットアーム等の対象物に何らかの作用を与える機器である場合、対象機器の「状況」には、対象機器が作用を与える上記対象物の状態や、対象機器と対象物との相対的な状態が含まれ得る。
【００１０】
検出手段は、受信手段が受信した遠隔操作コマンドに対応する処理を対象機器が実行する前の時点である実行前時点と、操作基準時点との間に生じた対象機器の状況変化を、観測装置からの観測データに基づき検出する。ここで言う操作基準時点は、遠隔操作コマンドの送信を指示する操作が外部装置に対してなされた時点において外部装置で表示されていた状況が、観測装置において観測された時点のことである。
【００１１】
制御手段は、この検出手段により検出された状況変化に基づき、状況変化が基準より大きい場合には、遠隔操作コマンドに対応する処理を対象機器に実行させず、状況変化が基準以下であることを条件に、遠隔操作コマンドに対応する処理を対象機器に実行させる。
【００１２】
この遠隔操作受付システムによれば、ユーザが認識する遠隔操作時の対象機器の状況と、遠隔操作コマンドに対応する処理実行前の時点での対象機器の状況とが異なる場合に、対象機器が遠隔操作コマンドに対応する処理を実行するのを、例えば、保留したり、禁止したり、中止したりすることができる。
【００１３】
従って、この遠隔操作受付システムによれば、遠隔操作から実際に対象機器が当該遠隔操作に対応する処理を実行するまでのタイムラグや、観測動作から対象機器の状況が外部装置で表示されるまでのタイムラグに起因して、ユーザの操作目的に合致しない実行結果が生じるのを抑えることができる。
【００１４】
尚、本発明は、上記タイムラグが無視できない程度に、外部装置から離れている遠隔操作受付システムに適用することができる。従って、ここで言う「遠隔」は、広義に解釈されるべきであり、外部装置と遠隔操作受付システムとの間の距離は、具体的に限定されない。例えば、外部装置と遠隔操作受付システムとは、高々数メートル程度の通信ケーブルで接続される場合も有り得るし、インターネット等の広域ネットワークを介して接続される場合も有り得る。
【００１５】
また、上述の送信手段は、観測装置からの観測データの一部又は全部を上記提供データとして外部装置に送信する構成にされ得る。この他、送信手段は、観測装置からの観測データを加工して又は加工せずに、これを上記提供データとして外部装置に送信する構成にされ得る。
【００１６】
また、遠隔操作受付システムは、観測装置からの観測データを、観測時刻毎の履歴データとして記憶装置に記憶させる蓄積手段を備えた構成にされ得る。この場合、検出手段は、記憶装置が記憶する観測時刻毎の履歴データを参照して、対象機器の状況変化を検出する構成にされ得る。
【００１７】
また、送信手段は、外部装置に対する提供データを、対応する観測時刻の識別コードと併せて外部装置に送信する構成にされ得る。ここで言う識別コードとしては、観測時刻それ自体や、観測時刻を特定可能なデータ管理コード等を一例に挙げることができる。また、蓄積手段は、観測時刻毎に個別の識別コードを付すようにして上記履歴データを記憶装置に記憶させる構成にされ得る。
【００１８】
この遠隔操作受付システムの構成に対応して、外部装置は、遠隔操作コマンドの送信を指示する操作がなされたことを条件に、操作に対応する遠隔操作コマンドを、操作時に表示していた状況の情報源である提供データの識別コードと併せて遠隔操作受付システムに送信する構成にされ得る。
【００１９】
この場合、遠隔操作受付システムが備える受信手段は、遠隔操作コマンド及び識別コードを受信する構成にされ得る。また、検出手段は、記憶装置が記憶する観測時刻毎の履歴データを参照して、対象機器の状況変化を検出するが、その際には、受信手段が受信した識別コードに基づき、操作基準時点における対象機器の状況を表す履歴データを特定する構成にされ得る。
【００２０】
この他、観測装置には、対象機器及び対象機器の周辺の少なくとも一方を撮影し、その撮影画像データを上記観測データとして出力するカメラを含ませることができる。
そして、送信手段は、上記提供データとして、カメラからの撮影画像データを外部装置に送信する構成にされ得る。この場合、外部装置は、遠隔操作受付システムから送信されてくる撮影画像データに基づく画像を表示する構成にされ得る。この他、検出手段は、この撮影画像データに基づき、対象機器の状況変化を検出する構成にされ得る。
【００２１】
ユーザは、外部装置で表示される撮影画像から把握される対象機器の状況に基づいて、遠隔操作を行うことが考えられる。上記遠隔操作受付システムの構成によれば、ユーザが遠隔操作時に撮影画像から把握していた対象機器の状況と、上記実行前時点での状況とが異なる場合に、遠隔操作コマンドに対応した処理を対象機器に実行させずに済み、ユーザの操作目的に合致しない処理が対象機器にて実行される可能性を抑えることができる。
【００２２】
ところで、検出手段は、実行前時点と操作基準時点との間に生じた対象機器の状況変化として、実行前時点及び操作基準時点の二点のみに着目して、二点における状況差を検出するものであってもよいし、実行前時点と操作基準時点との間における各時点での状況についても考慮し、実行前時点と操作基準時点との間の各時点に発生した状況変化を検出するものであってもよい。
【００２３】
例えば、検出手段により検出される上記状況変化は、少なくとも一つの注目パラメータについての実行前時点での値と操作基準時点での値との差を数値化したスカラー量又はベクトル量であり得る。この他、上記状況変化は、実行前時点と操作基準時点との間における注目パラメータの変動量（例えば、各時点での変化量絶対値の累積値など）を数値化したものであってもよいし、実行前時点と操作基準時点との間における注目パラメータの変動幅や変動率を数値化したものであってもよい。
【００２４】
付言すれば、上記状況変化は、対象機器の状況変化をもたらす一種類又は複数種類の規定イベントに関しての実行前時点と操作基準時点との間における当該イベントの発生有無で表されるものであってもよいし、発生回数で表されるものであってもよい。制御手段が用いる上記基準は、上記状況変化が数値で表されるものである場合、閾値で表され得る。一方、制御手段は、規定イベントが発生していないことを基準に、規定イベントが発生している場合には、上記状況変化が基準より大きいと判定し、規定イベントが発生していない場合には、上記状況変化が基準以下であると判定する構成にされ得る。
【００２５】
また、制御手段は、上記状況変化としての、実行前時点での対象機器の状況と操作基準時点での対象機器の状況との差が基準より大きい場合には、上記差が基準以下となるまで、遠隔操作コマンドに対応する処理を対象機器に実行させず、上記差が基準以下となったことを条件に、遠隔操作コマンドに対応する処理を対象機器に実行させる構成にされ得る。付言すると、制御手段は、上記差が基準より大きい状態が所定期間以上継続した時点で、遠隔操作コマンドを破棄する構成にされ得る。
【００２６】
制御手段が、上記差が基準より大きい場合に直ちに遠隔操作コマンドを破棄する構成にされている場合には、外部装置と遠隔操作受付システムとの通信環境が悪いときや、対象機器の状況変化が激しいときに、次のような不都合が生じる可能性がある。即ち、ユーザは、遠隔操作コマンドに対応する処理を対象機器に実行させるために、何度も外部装置に対する操作を行わなければならなくなる可能性がある。
【００２７】
これに対し、上記差が基準以下となるまで待機して、上記差が基準以下となったことを条件に、遠隔操作コマンドに対応する処理を対象機器に実行させるように制御手段を構成すれば、上述のような不都合の発生を抑えることができる。
【００２８】
この他、遠隔操作受付システムが備える各手段の少なくとも一つの機能は、プログラムによって、外部装置からの対象機器に対する遠隔操作コマンドを受信する情報処理システムのコンピュータに実現させることができる。これらの機能をコンピュータに実現させるためのプログラムは、ＣＤ−ＲＯＭ及びＤＶＤ等の光ディスク、磁気ディスク、並びに、半導体製メモリ等のコンピュータ読取可能な記録媒体に記録することができる。
【００２９】
また、本発明は、上述した外部装置としての特徴を有する遠隔操作装置と、上述した遠隔操作受付システムと、を備えた遠隔操作システムの形態を採り得る。
【図面の簡単な説明】
【００３０】
【図１】遠隔操作システムの構成を表すブロック図である。
【図２】ローカルサーバのメインユニットが実行する蓄積送信処理を表すフローチャートである。
【図３】遠隔操作装置のメインユニットが実行する受信表示処理を表すフローチャートである。
【図４】ローカルサーバのメインユニットが実行するコマンド受付処理を表すフローチャートである。
【図５】対象機器が車載装置であるときに遠隔操作されるＧＵＩ画面の変化を示す図である。
【図６】履歴データ群の第一例を示す図である。
【図７】履歴データ群の第二例を示す図である。
【図８】履歴データ群の第三例を示す図である。
【図９】振動変化に基づき、遠隔操作コマンドに対応する処理を対象機器に実行させるか否かを判断する手法を説明した図であり、グラフにより、振動（加速度）の時間変化を示した図である。
【図１０】履歴データ群の第四例を示す図である。
【発明を実施するための形態】
【００３１】
以下に本発明の実施例について、図面と共に説明する。但し、本発明は、以下に説明する実施例に限定されるものではなく、種々の態様を採り得る。
図１に示す本実施例の遠隔操作システム１は、遠隔操作対象の機器（以下、「対象機器」と表現する。）１０と、観測装置群２０と、ローカルサーバ３０と、遠隔操作装置５０とを備える。対象機器１０としては、産業用ロボット及び宇宙用ロボットに代表される各種ロボット、車両、飛行機、ロケット及び人工衛星等の移動体、並びに、これらの移動体に搭載される機器を一例に挙げることができる。
【００３２】
観測装置群２０は、対象機器１０及び対象機器１０の周辺を観測する複数の観測装置２１，２３，２５から構成される。図１には、第一カメラ２１、第二カメラ２３、及び、複数のセンサ２５を備えた観測装置群２０の例を示す。第一カメラ２１としては、対象機器１０を撮影するカメラを一例に挙げることができ、第二カメラ２３としては、対象機器１０の周辺を撮影するカメラを一例に挙げることできる。
【００３３】
具体的に、第一カメラ２１は、対象機器１０としてのロボットアームを撮影することができ、第二カメラ２３は、このロボットアームが運搬／操作する物体を撮影することができる。この他、第一カメラ２１は、対象機器１０としての車載装置を撮影することができ、第二カメラ２３は、この車載装置が搭載された車両の周辺（車両前方等）を撮影することができる。対象機器１０が車載装置である例としては、ＨＭＩ（Ｈｕｍａｎ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｒｆａｃｅ）として機能し、ユーザからの指示に従って車両内を制御する車載装置を車両に搭載して、遠隔地から車両を遠隔操作（運転）する例を挙げることができる。
【００３４】
複数のセンサ２５としては、対象機器１０の周辺環境を観測するセンサや、対象機器１０の状態を観測するセンサを一例に挙げることができる。例えば、対象機器１０周辺の温度／湿度／照度等を検出するセンサや、対象機器１０又は対象機器１０が備える可動部の位置／速度／加速度／姿勢／進行方位／振動／揺れ等を検出するセンサや、対象機器１０の内部温度等を検出するセンサ等を一例に挙げることができる。
【００３５】
ローカルサーバ３０は、対象機器１０及び観測装置群２０と、有線接続又は無線接続される。ローカルサーバ３０は、例えば、対象機器１０及び観測装置群２０と同一の移動体（車両等）に搭載される。
【００３６】
このローカルサーバ３０は、対象機器１０を制御可能に構成される一方、観測装置群２０を構成する観測装置２１，２３，２５の夫々からの観測データを取得可能に構成される。観測データとしては、第一カメラ２１による対象機器１０の撮影画像を表す撮影画像データ、第二カメラ２３による対象機器１０周辺の撮影画像を表す撮影画像データ、及び、センサ２５による物理量の検出値を一例に挙げることができる。
【００３７】
図１に示すローカルサーバ３０は、メインユニット３１と、記憶ユニット３３と、通信ユニット３５と、接続インタフェース３７とを備える。メインユニット３１は、ＣＰＵ３１１、各種プログラムを記憶するＲＯＭ３１３及び図示しないＲＡＭを主に備える。ＣＰＵ３１１は、ＲＯＭ３１３が記憶するプログラムに従う処理を実行することにより、ローカルサーバ３０が備える各種機能を実現する。
【００３８】
記憶ユニット３３は、フラッシュメモリやハードディスク装置等から構成される補助記憶装置（換言すれば、電子的にデータ書換可能な不揮発性記憶装置）であり、ＣＰＵ３１１による処理実行時に生成されるデータや設定情報等を記憶する。
【００３９】
通信ユニット３５は、メインユニット３１に制御されて、広域ネットワークＮＴを介した遠隔操作装置５０との通信を実現するものであり、例えば、セルラー通信ユニットや、ＷｉＦｉ通信ユニット等の無線通信ユニットによって構成される。接続インタフェース３７は、対象機器１０及び観測装置群２０に接続されて、対象機器１０及び観測装置群２０とメインユニット３１との間で授受される信号を中継する。
【００４０】
一方、遠隔操作装置５０は、対象機器１０から離れた遠隔地に設置され、ユーザからの操作を受け付ける。遠隔操作装置５０は、例えば、周知のパーソナルコンピュータに、遠隔操作装置５０としての機能を実現するためのプログラムがインストールされて構成される。
【００４１】
図１に示す遠隔操作装置５０は、メインユニット５１と、記憶ユニット５３と、通信ユニット５５と、表示ユニット５７と、入力ユニット５９とを備える。メインユニット５１は、ＣＰＵ５１１並びに図示しないＲＯＭ及びＲＡＭを主に備え、ＣＰＵ５１１にて各種プログラムに従う処理を実行することにより、遠隔操作装置５０が備える各種機能を実現する。各種プログラムは、フラッシュメモリやハードディスク装置等から構成される補助記憶装置としての記憶ユニット５３に記憶される。
【００４２】
通信ユニット５５は、メインユニット５１に制御されて、広域ネットワークＮＴを介したローカルサーバ３０との通信を実現する。表示ユニット５７は、液晶ディスプレイ等から構成され、メインユニット５１に制御されて、ユーザ向けの情報画面を表示する。この他、入力ユニット５９は、マウスやタッチパネル等のポインティングデバイスやキーボード等のユーザが操作可能な機器から構成され、ユーザからの操作情報（指令）をメインユニット５１に入力する。
【００４３】
続いて、ローカルサーバ３０のメインユニット３１が実行する蓄積送信処理を、図２を用いて説明する。以下では、ＣＰＵ３１１が実行する処理を、説明を簡単にするために、メインユニット３１を動作主体として説明する。同様に、ＣＰＵ５１１が実行する処理を、メインユニット５１を動作主体として説明する。
【００４４】
メインユニット３１は、図２に示す蓄積送信処理を予め定められたサンプリング周期毎に実行する。蓄積送信処理を開始すると、メインユニット３１は、接続インタフェース３７に接続された観測装置２１，２３，２５の夫々が出力する観測データを取得する（Ｓ１１０）。Ｓ１１０で取得される観測データの一群は、この時点で観測された対象機器１０の状況を表す。ここで言う対象機器１０の状況の範疇には、対象機器１０の周辺環境（雰囲気）の他、対象機器１０それ自体の状態も含まれる。
【００４５】
その後、メインユニット３１は、Ｓ１１０で取得した観測装置毎の観測データをまとめてなる履歴データを、管理ＩＤと関連付けて記憶ユニット３３の履歴データベースに登録する（Ｓ１２０）。履歴データベースは、観測時刻毎の履歴データが個別の管理ＩＤに関連付けられて登録されたデータベースである。
【００４６】
Ｓ１２０での処理を終えると、メインユニット３１は、Ｓ１１０で取得した観測装置毎の観測データから、遠隔操作装置５０に提供する外部提供データを生成し、この外部提供データに、対応する管理ＩＤを付した通信データを、遠隔操作装置５０に通信ユニット３５を介して送信する（Ｓ１３０）。
【００４７】
Ｓ１３０では、Ｓ１１０で取得した観測装置毎の観測データの一部又は全部を格納した外部提供データを生成し、これを遠隔操作装置５０に送信することができる。外部提供データは、観測装置２１，２３，２５から出力される観測データそのものを格納したデータであってもよいし、観測データの加工物や観測データから抽出した情報を格納したものであってもよい。例えば、メインユニット３１は、観測データを解析して得られた対象機器１０の状況を表すパラメータの値を格納した外部提供データを生成することができる。以下では、対象機器１０の状況を表すパラメータのことを状況パラメータと表現する。
【００４８】
具体的に、Ｓ１３０では、Ｓ１１０で観測データとして取得した第一カメラ２１及び第二カメラ２３の撮影画像データ及びセンサ２５の検出値の内、第一カメラ２１及び第二カメラ２３の撮影画像データのみを格納した外部提供データを送信することができる。別例として、Ｓ１３０では、Ｓ１１０で観測データとして取得した、第一カメラ２１及び第二カメラ２３の撮影画像データ及びセンサ２５の検出値の全てを格納した外部提供データを送信することができる。
【００４９】
この他、メインユニット３１は、上記撮影画像データを解析して得られた被写体の位置等を上記状況パラメータとして格納した外部提供データを送信することができる。例えば、対象機器１０がロボットアームである場合には、ロボットアームが運搬する対象の物体のロボットアームに対する相対位置を、上記状況パラメータとして格納した外部提供データを送信することができる。
【００５０】
メインユニット３１は、上述したＳ１１０〜Ｓ１３０の処理をサンプリング周期毎に実行することにより、観測時刻毎の履歴データを、個別の管理ＩＤを付して記憶ユニット３３に保存し、これによって記憶ユニット３３に観測時刻毎の履歴データを蓄積する。管理ＩＤは、観測時刻を、日、時、分及び秒等で表したものであってもよいし、履歴データの登録毎に、カウントアップされるシリアル番号であってもよい。管理ＩＤは、履歴データ間の観測時刻の関係を特定できる識別コードであれば十分である。
【００５１】
続いて、この外部提供データ及び管理ＩＤを含む通信データを受信する遠隔操作装置５０の処理動作について図３を用いて説明する。メインユニット５１（詳細にはＣＰＵ５１１）は、受信表示処理の実行指令が入力ユニット５９を介して入力されると、図３に示す受信表示処理を開始する。
【００５２】
受信表示処理を開始すると、メインユニット５１は、情報画面の更新処理を実行する（Ｓ２１０）。具体的に、Ｓ２１０では、通信ユニット５５がローカルサーバ３０から新たな外部提供データを受信したか否かを判断し、新たな外部提供データを受信した場合には、この外部提供データから特定される最新の対象機器１０の状況が表示されるように、表示ユニット５７が表示する情報画面を更新する。その後、Ｓ２２０に移行する。一方、新たな外部提供データを受信していない場合には、情報画面を更新せずに、Ｓ２２０に移行する。
【００５３】
初回のＳ２１０では、通信ユニット５５がローカルサーバ３０から受信した外部提供データに基づき、対象機器１０の状況を表す情報画面を表示ユニット５７に表示させる。この情報画面には、少なくともローカルサーバ３０から遠隔操作装置５０への外部提供データの送信に要する時間分、実際の観測時刻から遅れて対象機器１０の状況が表示される。
【００５４】
外部提供データに、第一カメラ２１及び第二カメラ２３の撮影画像データが含まれる場合、上記情報画面には、例えば、第一カメラ２１及び第二カメラ２３の撮影画像が表示される。この他、外部提供データに、センサ２５の検出値が含まれる場合には、例えば、上記情報画面において、センサ２５の検出値が、単なる文字情報（数値）として、あるいは、検出値の時間変化を表すグラフとして表示される。
【００５５】
Ｓ２２０に移行すると、メインユニット５１は、対象機器１０に対する遠隔操作がなされたか否かを判断する。遠隔操作は、ユーザが入力ユニット５９を操作することによりなされる。
【００５６】
そして、対象機器１０に対する遠隔操作がなされていないと判断すると（Ｓ２２０でＮｏ）、受信表示処理の終了指令が入力ユニット５９を介して入力されたか否かを判断する（Ｓ２４０）。そして、終了指令が入力されていない場合には（Ｓ２４０でＮｏ）、Ｓ２１０に移行し、終了指令が入力されている場合には（Ｓ２４０でＹｅｓ）、当該受信表示処理を終了する。
【００５７】
一方、対象機器１０に対する遠隔操作がなされたと判断すると（Ｓ２２０でＹｅｓ）、メインユニット５１は、この遠隔操作に対応する処理を対象機器１０に実行させるための遠隔操作コマンドを、通信ユニット５５を介してローカルサーバ３０に送信する（Ｓ２３０）。
【００５８】
但し、ローカルサーバ３０への遠隔操作コマンド送信時には、この遠隔操作時点で情報画面に表示されていた対象機器１０の状況の情報源とされた最新の外部提供データの管理ＩＤを、遠隔操作コマンドに付した通信データを生成する。そして、この通信データをローカルサーバ３０に送信する。送信する管理ＩＤは、上記情報源とされた最新の外部提供データと共にローカルサーバ３０から受信した管理ＩＤである。
【００５９】
その後、メインユニット５１は、Ｓ２１０以降の処理を再度実行する。メインユニット５１は、このようにして最新の対象機器１０の状況が表示されるように、表示ユニット５７が表示する情報画面を更新しつつ、対象機器１０に対する遠隔操作を受け付けて、対応する遠隔操作コマンドを管理ＩＤと併せて送信する。送信される管理ＩＤは、上記遠隔操作が遠隔操作装置５０になされた時点で、情報画面に表示されていたユーザが認識する対象機器１０の状況を、ローカルサーバ３０で特定するために用いられる。
【００６０】
続いて、この遠隔操作コマンドを受け付けるために、ローカルサーバ３０のメインユニット３１が実行するコマンド受付処理の詳細を、図４を用いて説明する。メインユニット３１は、図４に示すコマンド受付処理を繰返し実行する。
【００６１】
コマンド受付処理を開始すると、メインユニット５１は、遠隔操作コマンドを遠隔操作装置５０から受信するまで待機する（Ｓ３１０）。そして、遠隔操作コマンドを受信すると（Ｓ３１０でＹｅｓ）、Ｓ３２０以降の処理を実行する。
【００６２】
Ｓ３２０では、遠隔操作装置５０から受信した遠隔操作コマンドに付されていた管理ＩＤに基づき、記憶ユニット３３が記憶する当該管理ＩＤに関連付けられた履歴データを参照する。そして、この履歴データに基づき、上記管理ＩＤに対応する観測時刻（以下、「操作基準時刻」とも表現する。）での状況パラメータの値を算出する。この操作基準時刻は、遠隔操作コマンドが遠隔操作装置５０から送信される契機となった上記遠隔操作時点において情報画面に表示されていた対象機器１０の状況の観測時刻に対応する。換言すると、操作基準時刻は、ユーザが遠隔操作する際に認識していたと推定される対象機器１０の状況の観測時刻に対応する。
【００６３】
ここで値が算出される状況パラメータの一群は、遠隔操作コマンドに対応する処理を対象機器１０に実行させた場合に処理の実行結果に影響を与える対象機器１０の状況の夫々についての、当該状況を表すパラメータの一群である。ここで値が算出される状況パラメータの一群には、情報画面からユーザが認識可能な対象機器１０の状況を表すパラメータだけではなく、情報画面の表示には用いられなかった観測装置の観測データから特定される対象機器１０の状況を表すパラメータが含まれる。また、状況パラメータには、履歴データから値が算出されるパラメータの他、履歴データが示すセンサ２５の検出値を抽出することにより形式的に算出されるパラメータも含まれる。
【００６４】
更に付言すれば、ここで算出される状況パラメータには、操作基準時刻に対応する一瞬の対象機器１０の状態及び対象機器１０の周辺の状態を表すパラメータや、操作基準時刻より所定時間前から当該操作基準時刻までの状態変化を表すパラメータも含まれる。この他、状況パラメータの一群には、特定の状況が発生しているか否かを「０」「１」で表現する一種のフラグに該当するパラメータも含まれる。
【００６５】
また、状況パラメータの種類によっては、その値を算出するに際して、操作基準時刻に一致する観測時刻の履歴データだけではなく、それ以前の観測時刻の履歴データをも参照することができる。例えば、状況パラメータとして、時間的に変化する事象の変化量を算出する場合等には、直前の観測時刻の履歴データも参照することができる。
【００６６】
具体的に、履歴データに含まれる撮影画像データから算出される状況パラメータとしては、撮影画像データから特定される対象機器１０の位置／速度／加速度／姿勢等のパラメータや、これら位置／速度／加速度／姿勢等の時間変化（例えば軌跡）を、その軌跡形状を表す値や時系列データ等で表すパラメータを一例に挙げることができる。また、撮影画像データが対象機器１０のＧＵＩ画面を撮影した撮影画像データである場合には、ＧＵＩ画面に表示されているオブジェクトの種類や表示位置を表すパラメータを、状況パラメータの一例として挙げることができる。
【００６７】
この他、対象機器１０がロボットアームである場合には、状況パラメータとして、ロボットアームの状態（可動部の位置、姿勢や振動量等）を表すパラメータや、ロボットアームが運搬／操作する対象の物体の状態（位置、姿勢や振動量等）を表すパラメータを一例に挙げることができる。
【００６８】
Ｓ３２０では、このようにして、状況パラメータの一群として、遠隔操作コマンドに基づく処理を対象機器１０に実行させた場合に、その実行結果が変化するパラメータの一群についての操作基準時刻での値を算出する。値を算出すべき状況パラメータの一群は、遠隔操作システム１の設計者が、遠隔操作コマンドの種類毎に予め定めておくことができる。
【００６９】
Ｓ３２０での処理を終えると、メインユニット５１は、Ｓ３２０において値を算出した状況パラメータの夫々に対応する現時刻の各状況パラメータの値を算出する（Ｓ３３０）。即ち、Ｓ３２０では、操作基準時刻での状況パラメータの値を算出したが、Ｓ３３０では、これらの状況パラメータについての現在値を算出する。
【００７０】
Ｓ３３０では、記憶ユニット３３が記憶する最新の履歴データを参照して、上記状況パラメータの夫々の現在値を算出することができる。あるいは、観測装置群２０から最新の観測データを取得して、上記状況パラメータの夫々の現在値を算出することができる。最新の履歴データだけでは、状況パラメータの値を算出することができない種類のパラメータについては、現在より前の観測データも参照して、対応する状況パラメータの現在値を算出することができる。
【００７１】
Ｓ３３０での処理を終えると、メインユニット５１は、Ｓ３４０に移行し、Ｓ３２０，Ｓ３３０で値が算出された状況パラメータの一群の中から、判定対象の状況パラメータを一つ選択して、選択した状況パラメータの現在値と、操作基準時刻での状況パラメータの値との差を算出する（Ｓ３４５）。そして、差が許容範囲内であるか否かを判断する（Ｓ３５０）。差が許容範囲内であるときには（Ｓ３５０でＹｅｓ）、合格判定し（Ｓ３６０）、差が許容範囲内にないときには（Ｓ３５０でＮｏ）、不合格判定する（Ｓ３７０）。その後、Ｓ３８０に移行する。
【００７２】
Ｓ３５０での判断基準に用いられる上記許容範囲は、例えば、遠隔操作コマンドの種類毎、及び状況パラメータの種類毎に予め定めておくことができる。状況パラメータが、上述した特定の状況が発生しているか否かを「０」「１」の二値で表すフラグに該当するパラメータである場合、メインユニット５１は、状況パラメータの現在値と操作基準時刻での値とが一致する場合、差が許容範囲内であると判断し、一致しない場合、差が許容範囲内ではないと判断することができる。
【００７３】
Ｓ３８０に移行すると、メインユニット３１は、全ての状況パラメータについて、これを選択しＳ３５０の処理を実行したか否かを判断する。そして、選択していない状況パラメータがある場合には（Ｓ３８０でＮｏ）、Ｓ３４０に移行し、未選択の状況パラメータの一つを新たに選択する。その後、Ｓ３４５以降の処理を実行する。
【００７４】
そして、全ての状況パラメータについて、Ｓ３５０の処理を実行したと判断すると（Ｓ３８０でＹｅｓ）、各状況パラメータの合否判定結果に基づき、遠隔操作装置５０から受信した遠隔操作コマンドに対応する処理を対象機器１０に実行させるか否かを判断する（Ｓ３９０）。
【００７５】
例えば、全状況パラメータが合格判定された場合には、遠隔操作コマンドに対応する処理を対象機器１０に実行させると判断し、一つでも不合格判定された状況パラメータがある場合には、遠隔操作コマンドに対応する処理を対象機器１０に実行させないと判断することができる。
【００７６】
この他、全状況パラメータの内、合格判定された状況パラメータが所定割合を超えている場合には、遠隔操作コマンドに対応する処理を対象機器１０に実行させると判断し、それ以外の場合には、遠隔操作コマンドに対応する処理を対象機器１０に実行させないと判断する判断手法も採用し得る。あるいは、Ｓ３６０，Ｓ３７０での判定に際して合否の程度を点数化し、合計点が基準を超えている場合には、遠隔操作コマンドに対応する処理を対象機器１０に実行させると判断し、それ以外の場合には、遠隔操作コマンドに対応する処理を対象機器１０に実行させないと判断する判断手法も採用し得る。
【００７７】
Ｓ３９０において、遠隔操作コマンドに対応する処理を対象機器１０に実行させると判断すると（Ｓ３９０でＹｅｓ）、メインユニット３１は、Ｓ４００に移行し、遠隔操作コマンドに対応する制御コマンドを対象機器１０に接続インタフェース３７を介して入力して、対象機器１０に、遠隔操作コマンドに対応する処理を実行させる。更に、遠隔操作コマンドに対応する処理が実行された旨のメッセージを記した通信データを、遠隔操作装置５０に通信ユニット３５を介して送信する（Ｓ４１０）。その後、当該コマンド受付処理を一旦終了する。
【００７８】
この他、Ｓ３９０において、遠隔操作コマンドに対応する処理を対象機器１０に実行させないと判断すると（Ｓ３９０でＮｏ）、メインユニット３１は、Ｓ４２０に移行し、合否の再判定を行うか否かを判断する。Ｓ４２０では、例えば、遠隔操作コマンドを受信してから所定時間内においては、再判定を行うと判断し、遠隔操作コマンドを受信してから所定時間の経過後には、再判定を行わないと判断することができる。
【００７９】
そして、再判定を行うと判断すると（Ｓ４２０でＹｅｓ）、メインユニット３１は、Ｓ３３０に移行して、再度、現時刻に対応する各状況パラメータの値を算出し、Ｓ３４０以降の処理を実行する。一方、再判定を行わないと判断すると（Ｓ４２０でＮｏ）、メインユニット３１は、Ｓ４３０に移行し、遠隔操作コマンドを破棄した旨のメッセージを記した通信データを、遠隔操作装置５０に通信ユニット３５を介して送信する（Ｓ４３０）。その後、当該コマンド受付処理を一旦終了する。Ｓ４１０，Ｓ４３０で送信された通信データに記されたメッセージは、遠隔操作装置５０の情報画面に表示される。
【００８０】
以上には、本実施例の遠隔操作システム１の構成について説明したが、Ｓ３２０，Ｓ３３０においては、操作基準時刻での状況パラメータの値、及び、現在時刻での状況パラメータの値を算出するのに代えて、次の処理を実行することができる。即ち、メインユニット３１は、Ｓ３２０をスキップし、Ｓ３３０では、注目する状況についての、操作基準時刻から現在時刻までの期間における変化の有無を検出する処理又は変化量を検出する処理を、操作基準時刻から現在時刻までの履歴データを参照して実行し、この変化の有無又は変化量を表す値を状況パラメータの値として算出してもよい。
【００８１】
この種の状況パラメータをＳ３４０で選択した場合には、Ｓ３４５をスキップし、Ｓ３５０において、当該状況パラメータが表す変化量が許容範囲内であるか否かを判断することができる。あるいは、当該状況パラメータが、状況変化がないことを表しているか否かを判断し、変化がないことを表している場合には合格判定し（Ｓ３６０）、変化がある場合には不合格判定する（Ｓ３７０）ことができる。
【００８２】
続いて、図５〜図１０を用いて遠隔操作システム１の具体例を説明する。
［具体例１］
具体例１は、対象機器１０が車載装置である遠隔操作システム１である。車載装置としては、ＨＭＩとして機能し、ユーザからの指示に従って車両内（自装置を含む）を制御する車載装置を一例に挙げることができる。具体的には、ＧＵＩ画面を表示し、このＧＵＩ画面に対するユーザからの操作情報に従って、対応する処理を実行する装置を一例に挙げることができる。本例の遠隔操作システム１では、ユーザが遠隔操作装置５０を介して、対象機器１０としての上記車載装置を遠隔操作し、これにより、車両を遠隔操作する。
【００８３】
ローカルサーバ３０には、例えば、車載装置のＧＵＩ画面を撮影する第一カメラ２１、この車載装置が搭載された車両の前方を撮影する第二カメラ２３、並びに、ＧＰＳ受信機、車速センサ及び加速度センサ等の複数のセンサ２５が接続されて、対応する観測データを含む履歴データが記憶ユニット３３に記憶される。遠隔操作装置５０では、外部提供データに含まれる第一カメラ２１の撮影画像データに基づき、車載装置のＧＵＩ画面が表示される。
【００８４】
ユーザが遠隔操作装置５０に表示された車載装置のＧＵＩ画面に映るメニューウィンドウＷｎ（図５参照）の一項目を押下する遠隔操作を行ったことを契機に、遠隔操作装置５０からローカルサーバ３０には、ＧＵＩ画面の選択項目に対応する座標の押下操作を指示する遠隔操作コマンドであって、当該座標の情報を含む遠隔操作コマンドが送信される。
【００８５】
ここで、この遠隔操作コマンドを遠隔操作装置５０からローカルサーバ３０に送信するまでの期間に、車載装置のＧＵＩ画面において、図５下段に示すようにメニューウィンドウＷｎが消えてしまったと仮定する。
【００８６】
この場合、ローカルサーバ３０のメインユニット３１は、操作基準時刻においては、メニューウィンドウＷｎが表示されている状況であるのに対して、遠隔操作コマンドの受信後の現在においては、メニューウィンドウＷｎが表示されていない状況であることから、Ｓ３９０において、遠隔操作コマンドに対応する処理を対象機器１０に実行させないと判断する。
【００８７】
一方、遠隔操作コマンドの受信後の現在において、メニューウィンドウＷｎがＧＵＩ画面に表示されている状況下では、Ｓ３９０において、遠隔操作コマンドに対応する処理を対象機器１０に実行させると判断する。
【００８８】
この例によれば、ユーザがメニューウィンドウＷｎを操作するためにＧＵＩ画面に対する遠隔操作を行ったにも拘わらず、遠隔操作コマンドに対応する処理を対象機器１０が実行するときには、メニューウィンドウＷｎが消えていることにより、操作目的とは異なる処理の実行結果が対象機器１０において生じるのを抑えることができる。
【００８９】
［具体例２］
具体例２は、対象機器１０がロボットアームである遠隔操作システム１である。ローカルサーバ３０には、例えば、ロボットアームを撮影する第一カメラ２１、及び、このロボットアームの周辺を撮影することにより、ロボットアームが運搬する物体を撮影する第二カメラ２３が接続される。この他、ローカルサーバ３０には、ロボットアームが有する可動アーム部の位置を検出するための複数のセンサ２５が接続されて、対応する観測データを含む履歴データが記憶ユニット３３に記憶される。記憶ユニット３３に蓄積される観測時刻毎の履歴データは、例えば、図６に示すように構成される。
【００９０】
図６に示されるセンサ２５としての第一〜第四センサは、位置センサであり、対応する位置に、可動アーム部が存在するときにオン信号を出力し、存在しないときにはオフ信号を出力する。
【００９１】
ここで、管理ＩＤが「２」である外部提供データに基づいて可動アーム部が第一位置にあることが遠隔操作装置５０の情報画面において表示されているときに、ユーザが、遠隔操作装置５０に対して、次の位置（第二位置）に可動アーム部を移動させる遠隔操作を行ったと仮定する。図６においては、管理ＩＤが「２」である履歴データ及び管理ＩＤを太枠で囲って示している。
【００９２】
一方、対応する遠隔操作コマンド及び管理ＩＤ「２」が格納された通信データが遠隔操作装置５０からローカルサーバ３０に送信され、これをローカルサーバ３０が受信して、メインユニット３１がＳ３３０を実行する時点での最新の履歴データが管理ＩＤ「５」の履歴データであると仮定する。図６では、管理ＩＤが「５」である履歴データ及び管理ＩＤについても太枠で囲って示している。
【００９３】
図６によれば、メインユニット３１がＳ３３０を実行する時点で、最新の履歴データは可動アーム部が操作基準時刻と同じ第一位置に存在することを示している。この場合、ローカルサーバ３０のメインユニット３１は、操作基準時刻において、第一センサがオン、第二センサがオフ、第三センサがオフ、第四センサがオフである状況と、現在時刻において、第一センサがオン、第二センサがオフ、第三センサがオフ、第四センサがオフである状況とを比較して、差が許容範囲内であると判断する。そして、Ｓ３９０では、遠隔操作コマンドに対応する処理を対象機器１０に実行させると判断する。
【００９４】
メインユニット３１は、Ｓ３２０，Ｓ３３０で、状況パラメータの値として、第一から第四センサの出力値を算出する一方、第一カメラ２１の撮影画像から可動アーム部の状態値を算出し、更に、第二カメラ２３の撮影画像から運搬対象の物体の状態値を算出することができる。そして、これらの撮影画像から特定された状態値の差も許容範囲内であることを条件に、遠隔操作コマンドに対応する処理を対象機器１０に実行させると判断することができる。
【００９５】
一方、図７に示すように、管理ＩＤ「５」の履歴データが表す現在の状況が、管理ＩＤ「２」の履歴データが表す操作基準時刻での状況と異なる場合を考える。図７に示す例によれば、何らかの理由により操作基準時刻における第三センサの出力がオフであるにも関わらず、現在時刻における第三センサの出力がオンに変化している。
【００９６】
この場合、ローカルサーバ３０のメインユニット３１は、操作基準時刻において、第一センサがオン、第二センサがオフ、第三センサがオフ、第四センサがオフである状況と、現在時刻において、第一センサがオン、第二センサがオフ、第三センサがオン、第四センサがオフである状況とを比較して、差が許容範囲外であると判断する。そして、Ｓ３９０では、遠隔操作コマンドに対応する処理を対象機器１０に実行させないと判断する。
【００９７】
この他、遠隔操作コマンドの種類によっては、遠隔操作時に可動アーム部が等速変位している状況下であったにも関わらず、対応する遠隔操作コマンド受信時において可動アーム部が等速変位していない状況では、Ｓ３５０において差が許容範囲外であると判断することが考えられる。
【００９８】
図８に示す例によれば、操作基準時刻の履歴データ（管理ＩＤ「２」の履歴データ）から、最新の状況を表す履歴データ（管理ＩＤ「７」の履歴データ）までの履歴データを時系列に参照して、可動アーム部が等速変位していない状況を特定することができる。ローカルサーバ３０のメインユニット３１は、このようにして、一定期間の履歴データ群を参照して、現在の状況を特定することができる。
【００９９】
［具体例３］
具体例３は、対象機器１０が液晶パネル等の傷つき易い物体を運搬するロボットアームである遠隔操作システム１である。ローカルサーバ３０には、例えば、ロボットアームを撮影する第一カメラ２１、及び、このロボットアームの周辺を撮影することによりロボットアームが運搬する物体を撮影する第二カメラ２３が接続される。この他、ローカルサーバ３０には、ロボットアームが有する可動アーム部の振動を検出するセンサを含む複数のセンサ２５が接続されて、対応する観測データを含む履歴データが記憶ユニット３３に記憶される。
【０１００】
この場合、ローカルサーバ３０のメインユニット３１は、状況パラメータとして、過去所定時間内に振動が発生したか否かを表すパラメータの値を算出する（Ｓ３２０，Ｓ３３０）。
【０１０１】
図９に示す例によれば、ユーザが遠隔操作装置５０に対してロボットアームの遠隔操作をしたときに情報画面に表示されていた状況は、過去５フレームにおいて加速度が基準値（図９に一点鎖線で示す）を超える大きな振動が発生していない状況である。図９に示す例において、操作基準時刻は、管理ＩＤ「６」に対応する時刻である。これに対し、ローカルサーバ３０が遠隔操作コマンドを受信した後のＳ３３０の実行時刻である管理ＩＤ「１０」に対応する時刻では、過去５フレームにおいて上記大きな振動が発生している状況である。
【０１０２】
この場合、ローカルサーバ３０のメインユニット３１は、Ｓ３９０において、遠隔操作コマンドに対応する処理を対象機器１０に実行させないと判断する。そして、Ｓ４２０で肯定判断して、Ｓ３３０〜Ｓ３９０，Ｓ４２０の処理を繰返し、過去５フレームにおいて上記大きな振動が発生していない状況が到来した時点で、遠隔操作コマンドに対応する処理を対象機器１０に実行させる（Ｓ４００）。
【０１０３】
このように動作するローカルサーバ３０を用いれば、ユーザがロボットアームを遠隔操作してから遠隔操作コマンドの実行前までに大きな振動が発生した場合に、遠隔操作コマンドに対応する処理の実行を保留することができる。従って、振動が発生しやすい期間に、遠隔操作コマンドに対応する処理をロボットアームに実行させることで運搬対象の物体が傷ついてしまうのを抑制することができ、通信遅延によりユーザが意図しない処理の実行結果が生じるのを抑えることができる。
【０１０４】
［具体例４］
具体例４は、対象機器１０が宇宙空間での作業を行う宇宙用ロボット又は人工衛星である遠隔操作システム１である。ローカルサーバ３０には、例えば、この対象機器１０を撮影する第一カメラ２１、及び、この対象機器１０が有する可動アーム部の先を撮影することにより、対象機器１０が運搬／操作する物体を撮影する第二カメラ２３が接続される。この他、ローカルサーバ３０には、対象機器１０の周辺の照度を検出するセンサや対象機器１０の太陽発電パネル揺れ量を検出するセンサを含む複数のセンサ２５が接続されて、対応する観測データを含む履歴データが記憶ユニット３３に記憶される。
【０１０５】
ここで、管理ＩＤが「１」である外部提供データに基づく対象機器１０の状況が遠隔操作装置５０の情報画面において表示されているときに、遠隔操作装置５０の入力ユニット５９を通じて、ユーザが可動アーム部の遠隔操作を行ったと仮定する。図１０においては、管理ＩＤが「１」である履歴データ及び管理ＩＤを太枠で囲って示している。
【０１０６】
一方、対応する遠隔操作コマンド及び管理ＩＤ「１」が格納された通信データが遠隔操作装置５０からローカルサーバ３０に送信され、これをローカルサーバ３０が受信して、メインユニット３１がＳ３３０を実行する時点での最新の履歴データが管理ＩＤ「６」の履歴データであると仮定する。図１０では、管理ＩＤが「６」である履歴データ及び管理ＩＤについても太枠で囲って示している。
【０１０７】
この場合、ローカルサーバ３０のメインユニット３１は、操作基準時刻に対応する管理ＩＤ「１」の履歴データが示す照度Ｘ１と、現在時刻に対応する管理ＩＤ「６」の履歴データが示す照度Ｘ６との差を算出し、照度差ΔＸが許容範囲内であるか否かを判断する。そして、照度差ΔＸが許容範囲内であることを条件に、Ｓ３９０では、遠隔操作コマンドに対応する処理を対象機器１０に実行させると判断する。
【０１０８】
照度は、第一カメラ２１及び第二カメラ２３の撮影画像に対する画像解析にて検出される対象機器１０の位置や姿勢や可動アーム部が運搬／操作する対象の物体の位置や姿勢等の検出誤差に影響を与える。また、太陽発電パネルからの供給電力に影響を与える。従って、照度差ΔＸが許容範囲内であることを条件に、Ｓ３９０では、遠隔操作コマンドに対応する処理を対象機器１０に実行させると判断すれば、照度差に起因して、ユーザが意図しない処理の実行結果が生じるのを抑えることができる。
【０１０９】
また、メインユニット３１は、操作基準時刻に対応する管理ＩＤ「１」の履歴データから現在時刻に対応する管理ＩＤ「６」の履歴データまでの各履歴データが示す太陽発電パネル揺れ量Ｙ１〜Ｙ６に基づき、太陽発電パネルの姿勢変動率を算出し、変動率が基準値超えた場合には、対象機器１０の振動幅が大きいとみなして、遠隔操作コマンドに対応する処理を対象機器１０に実行させないと判断することができる。
【０１１０】
［作用効果］
以上、本実施例の遠隔操作システム１の構成及び処理動作について説明したが、この遠隔操作システム１によれば、通信遅延等によって、遠隔操作時にユーザが認識する対象機器１０の状況と、対象機器が遠隔操作コマンドに対応する処理を実行する時点での対象機器１０の状況とが所定より異なる場合に、その遠隔操作に対応した処理を対象機器１０に実行させずに済み、ユーザの操作目的とは合致しない処理の実行結果が生じるのを抑えることができる。
【０１１１】
［他の実施例］
上述した実施例は、ローカルサーバ３０が記憶ユニット３３に履歴データを蓄積し、蓄積された履歴データに基づいて、遠隔操作コマンドに対応する処理を対象機器１０に実行させるか否かを判断する例であるが、ローカルサーバ３０は、履歴データを蓄積しない構成にされ得る。
【０１１２】
例えば、ローカルサーバ３０は、上記判断に必要な観測装置群２０からの観測データを、外部提供データとして遠隔操作装置５０に送信し、遠隔操作装置５０は、遠隔操作コマンド送信時に、操作基準時刻に対応する観測データをローカルサーバ３０に送信する構成にされ得る。この例によれば、ローカルサーバ３０は、履歴データを蓄積せずとも、遠隔操作装置５０から返された観測データと、観測装置群２０から得られる最新の観測データとに基づいて、上記判断を行うことができる。
【０１１３】
また、上記実施例では、管理ＩＤを履歴データ毎に付して履歴データベースを構成したが、履歴データベースは、履歴データ毎に管理ＩＤが付された構成にされなくてもよい。例えば、ローカルサーバ３０は、管理ＩＤに代えて、履歴データの配列順の情報を用いることができる。即ち、ローカルサーバは、外部提供データと、対応する履歴データの配列順の情報とを格納した通信データを、遠隔操作装置５０に送信することができ、遠隔操作装置５０は、操作基準時刻に対応する履歴データの配列順の情報を、ローカルサーバ３０に送信することができる。そして、ローカルサーバ３０は、この配列順の情報に基づいて、操作基準時刻の履歴データを特定して、参照することができる。
【０１１４】
この他、管理ＩＤに代えては、操作基準時刻に対応する履歴データを特定できる様々な情報を用いることができる。例えば、履歴データのサイズ情報等である。また、図１には、観測装置群２０と対象機器１０とが別体であるような遠隔操作システム１の構成を例示したが、観測装置群２０を構成する観測装置の一部又は全部は、対象機器１０に内蔵されたものであり得る。対象機器１０がローカルサーバ３０と一体である例も考えられる。
【０１１５】
［対応関係］
最後に、用語間の対応関係について説明する。ローカルサーバ３０は、遠隔操作受付システム（装置）の一例に対応する。また、メインユニット３１が実行するＳ３２０〜Ｓ３４５によって実現される機能は、検出手段によって実現される機能の一例に対応し、Ｓ３５０〜Ｓ４３０によって実現される機能は、制御手段によって実現される機能の一例に対応する。この他、メインユニット３１が実行するＳ１２０によって実現される機能は、蓄積手段によって実現される機能の一例に対応する。
【符号の説明】
【０１１６】
１…遠隔操作システム、１０…対象機器、２０…観測装置群、２１…第一カメラ、２３…第二カメラ、２５…センサ、３０…ローカルサーバ、３１…メインユニット、３３…記憶ユニット、３５…通信ユニット、３７…接続インタフェース、５０…遠隔操作装置、５１…メインユニット、５３…記憶ユニット、５５…通信ユニット、５７…表示ユニット、５９…入力ユニット、３１１…ＣＰＵ、５１１…ＣＰＵ、ＮＴ…広域ネットワーク。
【要約】
【課題】操作目的に合致しない処理の実行結果が生じるのを抑える。
【解決手段】ローカルサーバのメインユニットは、遠隔操作装置から受信した遠隔操作コマンドに基づき、対応する処理を対象機器に実行させる（Ｓ４００）。但し、実行に先駆けては、遠隔操作装置から遠隔操作コマンドと共に受信した管理ＩＤに基づき、この管理ＩＤに関連付けられた対象機器の観測結果を表す履歴データを参照する。そして、この履歴データに基づき、操作基準時刻と現在時刻との間の期間に生じた対象機器の状況変化を検出する（Ｓ３２０〜Ｓ３４５）。操作基準時刻は、遠隔操作が遠隔操作装置に対してなされた時点で遠隔操作装置の画面に表示されていた状況が観測装置で観測された時刻である。そして、状況変化が大きい場合には、遠隔操作コマンドを破棄し（Ｓ４３０）、状況変化が小さい場合には、遠隔操作コマンドに対応する処理を対象機器に実行させる（Ｓ４００）。
【選択図】図４【図１】
0005499212.tif 000002
【図２】
0005499212.tif 000003
【図３】
0005499212.tif 000004
【図４】
0005499212.tif 000005
【図５】
0005499212.tif 000006
【図６】
0005499212.tif 000007
【図７】
0005499212.tif 000008
【図８】
0005499212.tif 000009
【図９】
0005499212.tif 000010
【図１０】
0005499212.tif 000011