(57)【要約】  ＵＲＣ（Ubiquitous Robotic Companion）基盤のインフラ内に存在するネットワーク基盤ロボットを効率的に制御し、且つサービス拡張による開発を有用にする端末用データフォーマットと、これを利用した通信制御システム及びその方法を提供する。前記データフォーマットは、ロボット、サーバー及びクライアント間のインターフェーシングを承認するためのプロトコル識別子フィールドと、現在連結されているセッションを区分するためのセッションＩＤフィールドと、前記３者のうちいずれか１つが行うプロファイルを区分するためのプロファイルＩＤフィールドと、前期３者間に送受信されるメッセージの種類情報を含むＭＳＧタイプフィールドと、ＭＳＧタイプ及びプロファイルＩＤフィールドが含む情報によって該当機能に対するサービスを行うためのメッセージを含むペイロードフィールドとを含む。
2008529324.tif 000002
【特許請求の範囲】
【請求項１】
端末とサーバーとの間にデータを転送するためのデータフォーマットにおいて、
端末とサーバーとの間にインターフェーシングを承認するためのプロトコル識別子フィールドと、
前記端末を区別するためのＩＤを設定するためのセッションＩＤフィールドと、
前記端末と前記サーバーとの間にデータを転送するための方向性を設定するためのデータ方向フィールドと、
前記データの形式及び内容のうち少なくとも１つを代表格で定義するデータタイプフィールドと、
前記端末及び前記サーバーのいずれか１つが行うメッセージサービス利用可否を判断し、これを区分するためにＩＤを設定するサービスＩＤフィールドと、
前記データタイプフィールドに定義されたデータと前記サービスＩＤフィールドで判断された利用可能なサービスを設定し、前記端末と前記サーバーが当該サービスを行うようにメッセージを付与するペイロードフィールドと
を含むデータフォーマット。
【請求項２】
前記ペイロードフィールドのメッセージは、画像用、音声用、及び動作用に分けられ、画像用及び音声用メッセージは、ファイルナンバーとサイズと画像データとで構成されていて、動作用メッセージは、動作を制御する形態によってロボット動作、ロボット状態制御、ロボット状態報告、ロボットエラー状態、及びカメラ制御のコマンドタイプを有することを特徴とする請求項１に記載のデータフォーマット。
【請求項３】
前記ファイルナンバーは、クライアントタイプとクライアントＩＤとファイル生成順序とで構成され、
前記ロボット動作は、動作を制御するためのメッセージであり、前記端末のＸ軸移動距離及びＹ軸移動距離と、前記端末の位置角度と、動作を制御するためのカメラアングルとで構成され、
前記ロボット状態制御は、端末の現在状態をリアルタイムで確認するために、端末の状態報告及び報告周期を有し、
前記ロボット状態報告は、端末のサービス結果を示すメッセージであり、前記ロボット動作による無人警報設定状態、端末の動作状態、監視状態、異常状態、身元確認状態、及び警告状態などの状態情報と、端末の位置情報と、行動完了情報とに対するメッセージで構成され、
前記ロボットエラー状態は、少なくとも１つの端末が異常であるか否かを判断するための端末の稼動条件を示すメッセージであり、
前記カメラ制御は、画像転送と関連したメッセージである
ことを特徴とする請求項２に記載のデータフォーマット。
【請求項４】
前記ペイロードフィールドは、音声認識用データであるＡＳＲ（Automatic Speech Recognition）、音声出力用データであるＴＴＳ（Text To Speech）、顔認識及び動き検出用データであるＦＲ（Face Recognition）／ＭＤ（Motion Detection）、認証用データであるオーソリゼーション（Authorization）、動作用データ、及びＶｏＩＰ用データのメッセージを提供するクライアントタイプフィールド、クライアントＩＤフィールド、ユーザＩＤフィールド、認証コードフィールド、及びメッセージタイプフィールドをさらに含むことを特徴とする請求項２に記載のデータフォーマット。
【請求項５】
前記クライアントタイプフィールドは、前記データ方向フィールドの方向性情報に相互補完的なフィールドであり、前記データ方向フィールドの前記方向性情報に該当する端末の種類を示し、
前記クライアントＩＤフィールドは、少なくとも１つの端末に相当するＩＤを設定し、前記データ方向フィールドの方向性情報に該当する端末を区別するために使われ、
前記ユーザＩＤフィールドは、少なくとも１つの端末をサーバーが認識するためのＩＤを設定し、ＩＤは、登録されたユーザ数に相当するメッセージを有するものであり、
前記認証コードフィールドは、少なくとも１つの端末各々の認証番号を提供することを特徴とする請求項４に記載のデータフォーマット。
【請求項６】
前記メッセージタイプフィールドは、前記端末と前記サーバーとの間に連結初期化、応答、同期化、認証、及びデータ転送などのための手続を提供し、
前記端末と前記サーバーとの間に転送されるメッセージは、前記端末と前記サーバー間の接続のための第１メッセージグループ、前記端末と前記サーバー間の認証のための第２メッセージグループのためのメッセージ、前記第１メッセージグループ及び第２メッセージグループの連続性のためのメッセージ、認証された相互間に転送されるペイロードメッセージ、及び終了メッセージを含むことを特徴とする請求項４に記載のデータフォーマット。
【請求項７】
前記第１メッセージグループは、リクエストメッセージ、認知応答メッセージ、及びエラー認知応答メッセージを含み、
前記第２メッセージグループは、認証メッセージ、肯定認証メッセージ、及び否定認証メッセージを含み、
前記連続性のためのメッセージは、同期メッセージであり、
前記ペイロードメッセージは、データメッセージであり、
前記終了メッセージは、終了報告メッセージである
ことを特徴とする請求項６に記載のデータフォーマット。
【請求項８】
前記端末は、少なくとも１つのロボット及び少なくとも１つのクライアント端末のうち少なくとも１つを含むことを特徴とする請求項１に記載のデータフォーマット。
【請求項９】
前記データフォーマットのアップデート状態を示すためのプロトコルバージョンフィールドをさらに含むことを特徴とする請求項１に記載のデータフォーマット。
【請求項１０】
有線／無線通信基盤で特殊なデータフォーマットを活用した通信制御システムにおいて、
前記特殊なデータフォーマットのペイロード内容によって画像、音声、及び動作のうち少なくともいずれか１つのサービスを行う端末と、
前記端末を介したユーザ命令を認識し、当該プロトコルに端末に或いは端末から前記特殊なデータフォーマットを送受信し、前記データフォーマットで前記サービスが行われるように制御するサーバーと
を含み、前記特殊なデータフォーマットは、
端末とサーバーとの間にインターフェーシングを承認するためのプロトコル識別子フィールドと、
前記端末を区別するためのＩＤを設定するためのセッションＩＤフィールドと、
前記端末と前記サーバーとの間にデータを転送するための方向性を設定するためのデータ方向フィールドと、
前記データの形式及び内容のうち少なくとも１つを代表格で定義するデータタイプフィールドと、
前記端末及び前記サーバーのいずれか１つが行うメッセージサービス利用可否を判断し、これを区分するためにＩＤを設定するサービスＩＤフィールドと、
前記データタイプフィールドに定義されたデータと前記サービスＩＤフィールドで判断された利用可能なサービスを設定し、前記端末と前記サーバーが当該サービスを行うようにメッセージを付与するペイロードフィールドと
を含む通信制御システム。
【請求項１１】
前記端末は、少なくとも１つのロボット及び少なくとも１つのクライアント端末のうち少なくとも１つを含むことを特徴とする請求項１０に記載の通信制御システム。
【請求項１２】
前記少なくとも１つのロボットは、
ユーザからの音声メッセージを自ら稼動するためのデータフォーマットで処理し、当該データフォーマットで前記サーバーに提供し、これに対する該当サービスメッセージを行い、当該結果をユーザに通知し、
前記クライアント端末は、前記ロボットを制御するためにユーザの所望するサービスメッセージを前記データフォーマットで処理し、当該データフォーマットを前記サーバーに転送し、前記サーバーからロボットのサービス結果を受信し、ユーザに当該結果を通知することを特徴とする請求項１１に記載の通信制御システム。
【請求項１３】
前記メッセージは、認証番号及び手続のためのメッセージを含むペイロードメッセージ、画像認識メッセージ、音声認識メッセージ、及び動作用制御メッセージを含み、これにより、ユーザに無人警備及び遠隔モニタリングサービスを提供することを特徴とする請求項１２に記載の通信制御システム。
【請求項１４】
有線／無線通信基盤で少なくともいずれか１つ以上の端末とサーバーとの間に端末用データフォーマットを、該当プロトコルを用いて転送する方法において、
認証手続によって前記端末用データフォーマットを用いて前記端末と前記サーバーとの間に認証を確認する段階と、
前記認証後、前記端末用データフォーマットを用いて少なくとも１つ以上の各端末を区分するためのセッションＩＤを付与する段階と、
前記セッションＩＤが付与された該当端末にユーザの音声命令を入力する段階と、
音声データを有する端末用データフォーマットのペイロードメッセージをサーバーに転送する段階と、
前記サービスＩＤを回答するために前記ペイロードメッセージを分析する段階と、
前記サービスＩＤによる稼動を行う該当端末により当該結果をパケットのペイロードメッセージで前記サーバーに転送する段階と
を含む方法。
【請求項１５】
前記サービスＩＤに該当するサービスは、無人警備、遠隔モニタリング、音声認識、画像認識、及び動作制御を行うことを特徴とする請求項１４に記載の方法。
【請求項１６】
前記認証手続は、前記データフォーマットのペイロードメッセージの内部フィールドに該当するメッセージタイプのリクエストメッセージ、認知応答メッセージ、及びエラー認知応答メッセージを順次に行い、前記端末が前記サーバーに接続を試みる段階と、
前記接続後、前記メッセージタイプの認証メッセージ、肯定認証メッセージ、及び否定認証メッセージを順次に行い、前記端末の認証要求による認証番号を付与する段階と
を含むことを特徴とする請求項１４に記載の方法。
【請求項１７】
前記端末が複数の端末である場合、前記認証番号を付与する段階は、
複数の端末のリストを受信する段階と、
選択メッセージを用いて所望の該当端末に認証要求メッセージを転送する段階と
をさらに含むことを特徴とする請求項１６に記載の方法。
【請求項１８】
前記端末は、少なくとも１つのロボット及び少なくとも１つのクライアント端末のうち少なくとも１つで構成されていることを特徴とする請求項１４に記載の方法。
【請求項１９】
ロボットを制御するためのサーバー、クライアント及びロボットの間に送受信されるデータフォーマットにおいて、
前記ロボット、前記サーバー及び前記クライアント間のインターフェーシングを承認するためにプロトコル識別子情報を含むプロトコル識別子フィールドと、
前記現在連結されているセッションを区分するための固有ＩＤ情報を含むセッションＩＤフィールドと、
前記ロボット、前記サーバー及び前記クライアントのうちいずれか１つが行うプロファイルを区分するための情報を含むプロファイルＩＤフィールドと、
前記ロボット、前記サーバー及び前記クライアントの間に送受信されるメッセージの種類情報を含むＭＳＧタイプフィールドと、
前記ＭＳＧタイプフィールドに定義されたデータと前記プロファイルＩＤフィールドに含まれたプロファイル情報によって該当機能に対するサービスを行うためのメッセージが含まれたペイロードフィールドと
を含むデータフォーマット。
【請求項２０】
前記サーバーのプロファイルは、
前記ロボットと前記クライアントを認証するための認証プロファイルと、
前記クライアントから遠隔でロボット制御が可能となるようにインタフェースを提供する遠隔制御プロファイルと、
前記サーバー及び前記クライアントのうち１つからロボットのイベントを制御できるようにしたイベントプロファイルと、
ロボットから受信される音声命令の音声認識のための音声認識プロファイルと、
音声認識データとテキストデータを合成するための音声合成プロファイルと、
ロボットから転送される映像情報を認識するための映像認識プロファイルと、
ロボットの動きを検出するためのモーション検出プロファイルと
のうち少なくとも１つを含むことを特徴とする請求項１９に記載のデータフォーマット。
【請求項２１】
前記ロボットのプロファイルは、
ロボットの位置移動のための移動プロファイルと、
ナビゲーションプロファイルと、
音声命令に対する音声検出プロファイルと、
サーバーから提供される音声合成にデータを出力する発声プロファイルと、
ロボットの動作を制御するためのモーションプロファイルと、
ロボットの感情表現機能を行うための感情プロファイルと
のうち少なくとも１つを含むことを特徴とする請求項１９に記載のデータフォーマット。
【請求項２２】
前記ロボットプロファイルは、前記サーバー及び前記クライアントからロボットの動作制御メッセージが受信され、ロボットの各コンポーネント別の動作状態が遷移（Transition）される場合、動作遷移イベント情報を前記サーバー及び前記クライアントに提供するイベント提供プロファイルをさらに含むことを特徴とする請求項２１に記載のデータフォーマット。
【請求項２３】
前記動作遷移イベントは、ロボットの各コンポーネントの動作状態をＩＤＬＥ及びＡＣＴＩＶＥ状態に区分し、ロボットのうち１つの状態が他の状態に遷移される時、開始及び終了（または停止）イベントに区分することを特徴とする請求項２２に記載のデータフォーマット。
【請求項２４】
前記サーバーのプロファイルは、前記ロボットのネットワーク接続状態を検出するために周期的にハートビート要求メッセージを転送するためのハートビート要求プロファイルをさらに含むことを特徴とする請求項２０に記載のデータフォーマット。
【請求項２５】
前記ロボットのプロファイルは、ロボットのネットワーク接続状態を把握するために周期的に前記サーバーから転送されるハートビート要求メッセージによってサーバーにハートビート応答メッセージを転送するハートビート応答プロファイルをさらに含むことを特徴とする請求項２１に記載のデータフォーマット。
【請求項２６】
通信制御システムにおいて、
予め設定されたデータフォーマットのペイロード内容によって画像、音声及び動作サービスのうち少なくとも１つを行うロボットと、
前記ロボットを介したユーザ命令を認識し、該当プロトコルによって前記ロボットと前記データフォーマットを送受信し、前記データフォーマットで前記サービスを行うサーバーと、
遠隔位置で前記サーバーを介してロボットの遠隔制御及びモニタリングサービスを行うクライアントと
を含む通信制御システム。
【請求項２７】
前記ロボットは、前記サーバーまたは前記クライアントからロボットを構成する各コンポーネントを制御するための制御メッセージが受信されて該当コンポーネントを駆動し、該当コンポーネントの動作状態が遷移（Transition）される場合、動作遷移イベント情報を前記サーバー及び前記クライアントに提供することを特徴とする請求項２６に記載の通信制御システム。
【請求項２８】
前記動作遷移イベント情報は、ロボットの各コンポーネントの移動状態をＩＤＬＥ及びＡＣＴＩＶＥ状態に区分し、前記状態のうち１つの状態が他の状態に遷移される時、開始及び終了（または停止）イベント情報を含むことを特徴とする請求項２７に記載の通信制御システム。
【請求項２９】
前記サーバーは、前記ロボットのネットワーク接続状態を検出するために周期的にハートビート要求メッセージを転送し、ハートビート応答メッセージがロボットから受信されるか否かによってロボットのネットワーク接続状態を検出することを特徴とする請求項２６に記載の通信制御システム。
【請求項３０】
前記ロボットは、前記サーバーから周期的に転送するハートビート要求メッセージによってハートビート応答メッセージを前記サーバーに転送することを特徴とする請求項２９に記載の通信制御システム。
【請求項３１】
前記サーバーは、前記クライアントからのロボットの遠隔制御のためにクライアントの認証を行い、自身と連結されたロボットのリスト情報をクライアントに提供し、クライアントから制御しようとするロボットが割り当てられた場合、割り当てられたロボットとクライアントとの間にインタフェースを提供することを特徴とする請求項２６に記載の通信制御システム。
【請求項３２】
前記ロボット、前記サーバー及び前記クライアントの間に予め設定されたデータフォーマットは、
前記ロボット、前記サーバー及び前記クライアント間のインターフェーシングを承認するためにプロトコル識別子情報を含むプロトコル識別子フィールドと、
前記現在連結されているセッションを区分するための固有情報（ＩＤ）を含むセッションＩＤフィールドと、
前記ロボット、前記サーバー及び前記クライアントのうちいずれか１つにより行われるプロファイル（制御機能）を区分するための情報を含むプロファイルＩＤフィールドと、
前記ロボット、前記サーバー及び前記クライアントの間に送受信されるメッセージの種類情報を含むＭＳＧタイプフィールドと、
前記ＭＳＧタイプフィールドに定義されたデータと前記プロファイルＩＤフィールドに含まれたプロファイル情報によって該当機能に対するサービスを行うためのメッセージが含まれたペイロードフィールドと
を含むことを特徴とする請求項２６に記載の通信制御システム。
【請求項３３】
前記サーバーのプロファイルは、
前記ロボットと前記クライアントを認証するための認証プロファイルと、
前記クライアントから遠隔でロボット制御が可能となるようにインタフェースを提供する遠隔制御プロファイルと、
前記サーバーと前記クライアントのうち１つがロボットのイベントを制御できるようにしたイベントプロファイルと、
ロボットから受信される音声命令の音声認識のための音声認識プロファイルと、
音声認識データとテキストデータとを合成するための音声合成プロファイルと、
ロボットから転送される映像情報を認識するための映像認識プロファイルと、
ロボットの動きを検出するためのモーション検出プロファイルと
のうち少なくとも１つを含むことを特徴とする請求項３２に記載の通信制御システム。
【請求項３４】
前記ロボットのプロファイルは、
ロボットの位置移動のための移動プロファイルと、
ナビゲーションプロファイルと、
音声命令に対する音声検出プロファイルと、
サーバーから提供される音声合成にデータを出力する発声プロファイルと、
ロボットの動作を制御するためのモーションプロファイルと、
ロボットの感情表現機能を行うための感情プロファイルと
のうち少なくとも１つを含むことを特徴とする請求項３２に記載の通信制御システム。
【請求項３５】
少なくとも１つの遠隔クライアントと、少なくとも１つのロボットとのインタフェースを提供するサーバーを含む通信制御システムにおいて、少なくとも１つの遠隔クライアントが少なくとも１つのロボットを制御する方法であって、
前記少なくとも１つの遠隔クライアントにより遠隔制御のためのサービスを行うために前記サーバーに接続を提供する段階と、
任意の少なくとも１つのロボットをモニタリングする段階と、
前記サーバーに接続された少なくとも１つのロボットの認証とリスト情報を要求する段階と、
前記サーバーにより少なくとも１つの遠隔クライアントの認証を行う段階と、
前記サーバーに接続された少なくとも１つのロボットリスト情報を前記少なくとも１つのクライアントに転送する段階と、
前記少なくとも１つの遠隔クライアントによりサーバーから転送されたロボットリスト情報を用いて制御するための少なくとも１つのロボットを選択する段階と、
前記該当情報をサーバーに転送する段階と、
前記サーバーが、少なくとも１つの遠隔クライアントにより選択されたロボットと前記遠隔クライアントとの間にロボット遠隔制御のためのメッセージを送受信するためのインタフェースを設定する段階と、
サービスをモニタリングする段階と
を含む通信制御方法。
【請求項３６】
前記少なくとも１つの遠隔クライアントと、少なくとも１つの遠隔クライアントにより選択された少なくとも１つのロボットとの間にインタフェースが設定された場合、
前記少なくとも１つの遠隔クライアントは、サーバーを介してロボットを制御するための多様なサービスチャネルに加入する段階と、
サービスチャネルに加入した後、少なくとも１つの遠隔クライアントがサーバーを介してロボットにロボットが撮影した映像情報とロボットの状態情報を要求する段階と、
ロボットから周期的に転送される映像情報及び状態情報によってロボットの任意の機能を制御するための制御メッセージを転送する段階と、
ロボットが、少なくとも１つの遠隔クライアントからサーバーを介して転送される制御メッセージによって該当機能を行う段階と、
該当機能の開始時点と終了時点に対するイベント情報を、サーバーを介してクライアントに転送する段階と、
前記クライアントが、ロボットの遠隔制御及びモニタリングサービスが終了すれば、サーバーにロボットとの連結終了要求メッセージを転送する段階と、
ロボットとの連結をログアウトする段階と
をさらに含むことを特徴とする請求項３５に記載の通信制御方法。
【請求項３７】
前記サーバーが、ロボットのネットワーク連結状態をチェックするために周期的にハートビート要求メッセージをロボットに転送する段階と、
前記ロボットが、前記サーバーから転送されるハートビート要求メッセージによって応答メッセージを転送する段階と、
ネットワーク連結状態情報をサーバーに通知する段階と
をさらに含むことを特徴とする請求項３６に記載の通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末用データフォーマットと、これを利用した通信制御システム及びその方法に関し、より詳細には、ＵＲＣ（Ubiquitous Robotic Companion）基盤のインフラ内に存在する多様な形態のネットワーク基盤のロボットを効率的に制御することができ、且つサービス拡張による開発を有用にすることができる端末用データフォーマットと、これを利用した通信制御システム及びその方法に関する。
【背景技術】
【０００２】
一般的に、ロボットは、各種センサを具備し、ユーザの音声命令や文字命令などの認識可能な命令を基盤にしてプログラムにより任務を達成することができる。ロボットは、与えられる任務によって掃除用ロボット、玩具型ロボットなどヒューマンロボットへと次第に開発されてきた。さらに、各ロボットは、いろいろな機能を同時に行うように開発されている。
【０００３】
付加的に、このようなロボットは、人間とのコミュニケーションを通じて各種サービスを提供できるように開発されている。コミュニケーションのうちオープンネックワークであるインターネットを利用したロボットのインタフェースを設定する方法とその構造についていろいろな団体及び学会で提案されている。最近提案されているものの１つであるＰｒｏｘｙ−ｍｅｄｉａｔｅｄ  ｈｕｍａｎ−ｒｏｂｏｔインタフェースのアーキテクチャーとしては、Ｐｒｏｘｙ−ｍｅｄｉａｔｅｄ  ＨＲＩ（Human Robot Interface）という方法でインターネットを介したＵｓｅｒ  Ｉｎｔｅｒｆａｃｅ  ａｇｅｎｔｓ（ＩＡｓ）とＥｍｂｅｄｄｅｄ  ａｇｅｎｔｓ（ＥＡｓ）間の通信を含む構造を提案している。
【０００４】
図１は、このような従来技術に係るＰｒｏｘｙ−ｍｅｄｉａｔｅｄ  ｈｕｍａｎ−ｒｏｂｏｔインタフェースのアーキテクチャーに対するネットワーキングを示す図である。
図１を参照すれば、Ｐｒｏｘｙ  Ａｇｅｎｔは、ＩＡ（User Interface agent）の通信負荷と、インタフェースと関連したＴａｓｋのためのＥＡ（Embedded agent）による計算資源の占有率を低減する。また、Ｐｒｏｘｙ  Ａｇｅｎｔは、ＩＡとＥＡ間のリンクを動的に生成及び除去したり、非同期的に上方向データを転送したりする。
【０００５】
図１で、ＲｏｂｏＭＬが使われているが、これは、ロボットのためのマークアップ言語であって、ＸＭＬの変形である。ＸＭＬは、プログラミングをするために既に知られた言語により表現されることができる適合性と、人により容易に処理または操作されることができる利便性、そして他のプラットホームで応用プログラムのための互換性のため、ａｇｅｎｔ通信と情報表現で使用されている。
【０００６】
Ａｇｅｎｔ  ｃｏｍｍｕｎｉｃａｔｉｏｎ  ｌａｎｇｕａｇｅには、ａｇｅｎｔが通信して進化するようにプログラムが可能なＡＯＰ、ネットワーク上のソフトウェアアプリケーション間の処理のための環境で定義されたＴｅｌｅｓｃｒｉｐｔ、ＫＱＭＬ（Knowledge Query Manipulation language）、ＦＩＰＡ（Foundation for Intelligent Physical Agents）などがある。
【０００７】
また、ロボットｌａｎｇｕａｇｅには、並行処理を行うためのプロセッサー間のメッセージ伝達をするにあたって、Ｔａｓｋ−Ｌｅｖｅｌ  Ｃｏｎｔｒｏｌとｃｏｍｍｕｎｉｃａｔｉｏｎで結合するＴＣＡ（Task Control Architecture）、Ｐｒｏｃｅｄｕｒａｌ  ｒｅａｓｏｎｉｎｇ  ｅｘｐｅｒｔ概念に基づくＰＲＳ（Procedural Reasoning System）、ｌｏｇｉｃａｌ−ｂａｓｅｄ  ａｃｔｉｏｎ  ｌａｎｇｕａｇｅであって、動作のためｎａｖｉｇａｔｉｏｎ操作、認識、相互作用をプログラミングすることができるように発展したＧＯＬＯＧなどがある。
【０００８】
このようにプログラミングされたロボットｌａｎｇｕａｇｅは、遠隔でロボットを制御するためのインターフェーシングすることができる転送プロトコルを用いてユーザ名令を伝達することができる。任意のロボットの構造とアクションは、フレームワーク（Framework）定義を通じて定義することができ、前記ロボットは、存在している通信プロトコルを用いてロボットデータ通信に使用することができるようにする。
【０００９】
ところが、このようなロボットのための転送プロトコルは、各々のロボットが製作される時、ロボット製作社独自のプロトコルを使用するので、他のロボットに前記プロトコルを適用することが難しい。その結果、ロボットとサーバー間の連動がほとんど不可能になる。
【００１０】
また、既存のロボットのための転送プロトコルは、多数のロボットに一律的に適用することができない。よって、転送プロトコルの汎用性が劣化し、互換が不可能なので、発展性が低下するという問題点がある。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明の目的は、ＵＲＣ（Ubiquitous Robotic Companion）基盤内に存在する多様な形態のロボットがＵＲＣインフラを介してユーザに知能的及び能動的であり且つ状況に合うサービスを提供するためのロボット、ＵＲＣサーバー及び遠隔クライアント間の通信プロトコルを提供し、このような通信プロトコルを用いてロボットを円滑に制御することができる通信制御システム及びその方法を提供することにある。
【００１２】
また、本発明の他の目的は、前述した通信プロトコルを用いてサービス事業者（遠隔クライアント）が遠隔でＵＲＣサーバーを介してロボットを制御することによって、サービス開発に融通性を確保することができる通信制御システム及びその方法を提供することにある。
【課題を解決するための手段】
【００１３】
本発明の一態様によれば、端末とサーバーとの間にデータを転送するためのデータフォーマットが提供される。前記データフォーマットは、端末とサーバーとの間にインターフェーシングを承認するためのプロトコル識別子（Protocol Discriminator）フィールドと、前記端末を区別するためのＩＤを設定するためのセッション（Session）ＩＤフィールドと、前記端末と前記サーバーとの間にデータを転送するための方向性を設定するためのデータ方向（Data Direction）フィールドと、前記データの形式及び内容のうち少なくとも１つを代表格で定義するデータタイプ（Data Type）フィールドと、前記端末及び前記サーバーのいずれか１つが行うメッセージサービス利用可否を判断し、これを区分するためにＩＤを設定するサービス（Service）ＩＤフィールドと、前記データタイプフィールドに定義されたデータと前記サービスＩＤフィールドで判断された利用可能なサービスを設定し、前記端末と前記サーバーが当該サービスを行うようにメッセージを付与するペイロード（Payload）フィールドとを含む。
【００１４】
また、本発明の他の態様によれば、端末用データフォーマットを利用した通信制御システムが提供される。前記通信制御システムは、前記データフォーマットのペイロード内容によって画像、音声、及び動作のうち少なくともいずれか１つのサービスを行う端末と、前記端末を介したユーザ命令を認識し、当該プロトコルに端末に或いは端末から前記特殊なデータフォーマットを送受信し、前記データフォーマットで前記サービスが行われるように制御するサーバーとを含む。
【００１５】
また、本発明のさらに他の態様によれば、少なくともいずれか１つ以上の端末とサーバーとの間に端末用データフォーマットを、該当プロトコルを用いて転送する方法が提供される。前記方法は、認証手続によって前記端末用データフォーマットを用いて前記端末と前記サーバーとの間に認証を確認する段階と、前記認証後、前記端末用データフォーマットを用いて少なくとも１つ以上の各端末を区分するためのセッションＩＤを付与する段階と、前記セッションＩＤが付与された該当端末にユーザの音声命令を入力する段階と、音声データを有する端末用データフォーマットのペイロードメッセージをサーバーに転送する段階と、前記サービスＩＤを回答するために前記ペイロードメッセージを分析する段階と、前記サービスＩＤによる稼動を行う該当端末により当該結果をパケットのペイロードメッセージで前記サーバーに転送する段階とを含む。
【００１６】
また、本発明のさらに他の態様によれば、サーバー、クライアント及びロボットの間に送受信されるデータフォーマットである端末用データフォーマットが提供される。データフォーマットは、前記ロボット、前記サーバー及び前記クライアント間のインターフェーシングを承認するためにプロトコル識別子情報を含むプロトコル識別子フィールドと、前記現在連結されているセッションを区分するための固有ＩＤ情報を含むセッションＩＤフィールドと、前記ロボット、前記サーバー及び前記クライアントのうちいずれか１つが行うプロファイルを区分するための情報を含むプロファイル（Profile）ＩＤフィールドと、前記ロボット、前記サーバー及び前記クライアントの間に送受信されるメッセージの種類情報を含むＭＳＧタイプフィールドと、前記ＭＳＧタイプフィールドに定義されたデータと前記プロファイルＩＤフィールドに含まれたプロファイル情報によって該当機能に対するサービスを行うためのメッセージが含まれたペイロードフィールドとを含む。
【００１７】
また、本発明のさらに他の態様によれば、通信制御システムが提供される。通信制御システムは、予め設定されたデータフォーマットのペイロード内容によって画像、音声、及び動作サービスのうち少なくとも１つを行うロボットと、前記ロボットを介したユーザ命令を認識し、該当プロトコルによって前記ロボットと前記データフォーマットを送受信し、前記データフォーマットで前記サービスを行うサーバーと、遠隔位置で前記サーバーを介してロボットの遠隔制御及びモニタリングサービスを行うクライアントとを含む。
【００１８】
また、本発明のさらに他の態様によれば、少なくとも１つの遠隔クライアントと、少なくとも１つのロボットとのインタフェースを提供するサーバーを含む通信制御システムにおいて、少なくとも１つの遠隔クライアントが少なくとも１つのロボットを制御する方法が提供される。前記方法は、前記少なくとも１つの遠隔クライアントにより遠隔制御のためのサービスを行うために前記サーバーに接続を提供する段階と、任意の少なくとも１つのロボットをモニタリングする段階と、前記サーバーに接続された少なくとも１つのロボットの認証とリスト情報を要求する段階と、前記サーバーにより少なくとも１つの遠隔クライアントの認証を行う段階と、前記サーバーに接続された少なくとも１つのロボットリスト情報を前記少なくとも１つのクライアントに転送する段階と、前記少なくとも１つの遠隔クライアントによりサーバーから転送されたロボットリスト情報を用いて制御するための少なくとも１つのロボットを選択する段階と、前記該当情報をサーバーに転送する段階と、前記サーバーが、少なくとも１つの遠隔クライアントにより選択されたロボットと前記遠隔クライアントとの間にロボット遠隔制御のためのメッセージを送受信するためのインタフェースを設定する段階と、サービスをモニタリングする段階とを含む。
【発明の効果】
【００１９】
本発明は、ロボット、サーバー及びユーザクライアント間の円滑な連動を可能にしたプロトコルのためのデータフォーマットを提案し、多数のロボットとクライアント間の効率的な互換性を確保し、汎用的に使用することができるという効果がある。
【００２０】
また、サービス実行の同期化を提供するために、Ｅｖｅｎｔメッセージを追加した。Ｅｖｅｎｔメッセージを用いて全てのロボット上で実行中のサービスに対して明示的なＡｃｋｎｏｗｌｅｄｇｅを送ることによって、エラー発生を低減し、サービスロジックの構成が一層容易である。
【００２１】
また、ＵＲＣロボットとＵＲＣサーバーとの間に存在し得る異常状況に対処するためのメカニズムが提供される。特に、ＵＲＣ  ＨＢメッセージを追加してロボットやサーバーの異常状態を確認し、それによる措置を容易に取ることができるようにした。これは、ユーザとロボットサーバー間の状態点検を一層効率的にすることができるものである。
【００２２】
ネットワーク基盤のロボットが本発明で提示したプロトコルに従うことによって、ＵＲＣインフラで提供する多様な機能を活用し、ユーザに知能的で且つ状況に合うサービスを提供することができる。
【００２３】
また、ＵＲＣクライアントは、ロボットのセンシング機能及び移動性を活用し、多様なサービスを提供することができる。これは、サービスをＵＲＣサーバーだけで提供するものでなく、サービス事業者が遠隔でもサービスを提供することができるようにすることによって、ＵＲＣインフラ内で多様なビジネスモデルが創出されることができるものである。
【００２４】
つまり、ＵＲＣプロトコル規約に従うロボットは、ＵＲＣインフラで提供する多様なサービスを利用することができる。ＵＲＣインフラに連動する多くのロボットは、サービス事業者に収益を創出できる市場を提供することができるようになり、知能型ロボットサービスの普及に大きく寄与することができる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明に係る端末用データフォーマット、通信制御システム及びその方法について添付の図面を参照して詳細に説明する。
【００２６】
図２は、本発明に係るロボット制御のためのＴＣＰ／ＩＰ基盤のＵＲＣプロトコルの物理的階層構造を示す図である。
図２に示されたように、ＵＲＣプロトコルは、イーサネット（登録商標）基盤で、ネットワーク及びトランスポート階層であるＴＣＰ／ＩＰ階層の上位に位置するアプリケーション階層に属し、ＴＣＰ／ＩＰプロトコル基盤でサーバーに端末、すなわちクライアントとロボットの使用認証を確認することができ、これにより、確認されたクライアントにより前記ロボットが適切な稼動を行うようにサーバーを所望のサービス命令によって統制するものである。ここで、ＵＲＣプロトコルを除いた他のプロトコル、すなわちＳＭＴＰ（Simple mail transfer protocol）、ＤＮＳ（Domain name protocol）などは、本発明の技術的思想と関連がないので、それらに関する説明を省略する。
【００２７】
ＵＲＣプロトコルは、ロボットの効率的な運用と稼動のための組み込みネットワーク（Embedded network）を基盤とし、ＵＲＣサーバーとロボット、ＵＲＣサーバーとクライアントまたはその他の端末などと容易に連動することができ、各種サービス稼動を単純に具現することができる。
ＵＲＣプロトコルは、ＴＣＰ／ＩＰ基盤とするアプリケーション階層間に通信を通じてロボットとＵＲＣサーバー及びＵＲＣサーバーとクライアント間にデータを送受信し、クライアントでロボットを制御するだけでなく、ロボットを介してユーザが直接命令を入力するので、ロボットのサービス稼動を無理なく行うことができる。
【００２８】
ロボットとＵＲＣサーバーとの間、及びＵＲＣサーバーとクライアントとの間には、プロトコルを一致させ、インタフェースを同期化して、これら間にデータを送受信するので、ユーザの所望するサービスを無理なく行うことができる。ここで、前記送受信されるデータは、ロボットとＵＲＣサーバーとの間、及びＵＲＣサーバーとクライアントとの間にインタフェースするためのデータフォーマットを有している。データフォーマットには、これら間の通信のための一定の規則を有するが、以下の説明では、一般的なパケットの規則によるものであるから、「パケット」と呼称する。
【００２９】
図３は、本発明に係るロボットを制御するための、ロボットとＵＲＣサーバー間のＵＲＣプロトコルを通じて送受信されるパケットに対するヘッダー構造を示す図である。特に、図３に示されたようなフォーマットを有するパケットは、ペイロードによって画像用、音声用、ＶｏＩＰ用、動作用などに区分され、これらは、該当する各ポートにより転送される。前記パケットは、各ポート別に共通的なヘッダーを有している。
【００３０】
前記パケットの共通ヘッダーは、多数のフィールドを有していて、その各々のフィールドは、プロトコル識別子（Protocol Discriminator）４１、プロトコルバージョン（Protocol Version）４２、セッション（Session）ＩＤ４３、データ方向（Data Direction）４４、データタイプ（Data Type）４５、サービス（Service）ＩＤ４６、ペイロード長（Payload Length）４７、リザーブ（Reserved）４８、ペイロード（Payload）４９フィールドを含む。ここで、前記ペイロード４９は、２Ｂｙｔｅに該当する大きさのペイロードヘッドを含んでいて、クライアントタイプ（Client Type）、クライアント（Client）ＩＤ、ユーザ（User）ＩＤ、メッセージタイプ（Message Type）、認証コード（Authorization Code）がペイロードの内部フィールドを形成している。
【００３１】
プロトコル識別子４１は、２ｂｙｔｅで割り当てられ、メッセージデータがプロトコルで定義されたメッセージであることを指定するための第一のフィールド値である。入力されたデータが、第一のフィールド値が同じプロトコル識別子である場合のみに、インターフェーシングを承認した後、データを処理するようにする。しかし、インターフェーシングが承認されなければ、前記データは処理せずに無視する。例えば、０×７Ｅ７Ｅのような形式を有するようになる。
【００３２】
プロトコルバージョン４２は、２ｂｙｔｅで割り当てられ、プロトコルのバージョンのためのものである。前記プロトコルバージョン４２は、初期に０×０００１に設定（Ｖｅｒｓｉｏｎ  １．０）され、プロトコルがアップデートされる時毎に、ビットを１つずつ増加させる。
【００３３】
セッションＩＤ４３は、４ｂｙｔｅで割り当てられ、セッション番号で構成され、その番号が初期に０×００００００００値に割り当てられることができる。セッションＩＤ４３は、ユーザ認証が終わった後に、ＵＲＣサーバーによりロボットに自動に付与し、セッションＩＤ４３は、他の端末（例えば、ユーザ端末及びＰＤＡ）を個別的に区分し識別するために使われる。例えば、ここでは、１つのポートまたは複数のポートを使うことができる方法がある。１つのポートを使用する場合は、単純に他のロボットと区分し識別するために使われる。しかし、複数のポートを使用する場合は、他のロボットとの識別だけでなく、各々のポートを区分するのに使用することができる。
【００３４】
以下の説明で、セッションＩＤ４３は、１つのポートを使用してロボットを区分するためのものとして説明される。
【００３５】
データ方向４４は、１ｂｙｔｅが割り当てられ、データの最終目的地を区分するためのフィールドである。特に、データ方向４４は、ロボットからＵＲＣサーバーに伝達されるデータであるか、或いは、クライアントからＵＲＣサーバーに伝達されるデータであるかを区分するために使用する。したがって、データ方向４４は、データを送信する主体が誰なのかを区分するための区分子として使われる。例えば、データ方向４４フィールドに０×０１で表す場合、ロボットからＵＲＣサーバーに送信するものであることが分かる。
【００３６】
データタイプ４５は、１ｂｙｔｅが割り当てられ、データの形式及び内容によって様々なタイプを有することができる。例えば、音声認識用データであるＡＳＲ（Automatic Speech Recognition）、音声出力用（合成用）データであるＴＴＳ（Text To Speech）、顔認識及び動き検出用データであるＦＲ（Face Recognition）／ＭＤ（Motion Detection）、認証用データであるオーソリゼーション（Authorization）、ロボット制御用データ、ＰＤＡ用データ、ＶｏＩＰ用データなどで表すことができる。前記データは、データタイプ４５のデータフォーマットによって異なるポートから転送することができる。
【００３７】
サービスＩＤ４６は、２ｂｙｔｅで割り当てられ、ロボットと遠隔クライアントのサービスセッションを区分するためにＵＲＣサーバーから割り当てられたＩＤである。サービスＩＤ４６は、前記ペイロードサービス利用可能可否を判断し、当該判断結果を区分するためのフィールドとして使われる。サービスＩＤフィールド値によって無人警備サービス、遠隔モニタリングサービス、音声認識サービス、画像認識サービスに分けられる。初期サービスＩＤは、０×００００から始まり、サービスが開始される時毎に１つずつ増加する。
【００３８】
ペイロード長４７は、２ｂｙｔｅを有し、ヘッダーを除いた実際のペイロードの大きさをバイト形態で明示する。
【００３９】
リザーブ４８は、４ｂｙｔｅを有し、以後パケットのＱｏＳ保証のために追加的なフィールド項目として使用しない余分のフィールドである。
【００４０】
ペイロード４９は、各サービスに該当するＡＰＩのための追加的なフィールドと実際の映像及び音声データが含まれる部分である。共通ヘッダーが定義された後にポートで転送されるメッセージに対する各々の追加的な区分が必要である。ペイロードは、実際にデータタイプ４５で定められるデータタイプ、すなわち音声認識用データであるＡＳＲ（Automatic Speech Recognition）、音声出力用（合成用）データであるＴＴＳ（Text To Speech）、顔認識及び動き検出用データであるＦＲ（Face Recognition）／ＭＤ（Motion Detection）、認証用データであるオーソリゼーション、ロボット制御用データＰＤＡ用データ、ＶｏＩＰ用データなどが転送される。
【００４１】
ペイロード４９は、図示してはいないが、音声認識用データであるＡＳＲ（Automatic Speech Recognition）、音声出力用データであるＴＴＳ（Text To Speech）、顔認識及び動き検出用データであるＦＲ（Face Recognition）／ＭＤ（Motion Detection）、認証用データであるオーソリゼーション、ロボット制御用データＰＤＡ用データ、ＶｏＩＰ用データを意味する多数のメッセージに区分されることができる。したがって、ペイロード４９は、クライアントタイプ、クライアントＩＤ、ユーザＩＤ、認証コード、メッセージタイプのフィールドをさらに含んでいる。
【００４２】
クライアントタイプは、１ｂｙｔｅで割り当てられ、端末の種類、すなわちロボットまたは多数の遠隔クライアント端末を各々０×０１、０×０２、０×０３、０×０４で表す。すなわち、データ方向４４によりデータの転送方向によってクライアント端末が出発地または目的地の場合、クライアントタイプは、当該クライアント端末を示す。
【００４３】
クライアントＩＤは、４ｂｙｔｅが割り当てられ、クライアント端末毎に各々固有のＩＤが割り当てられ、各々のクライアント端末を区別するために使われる。前記ＩＤを割り当てるために、製造順序、ユーザの地域とユーザＩＤなどを組み合わせて、適切なＩＤを生成する。
【００４４】
ユーザＩＤは、１ｂｙｔｅが割り当てられ、ＵＲＣサーバーにより認識されたＩＤを示す。ユーザＩＤは、初期に００００００に設定され、ユーザの数が増加する時毎に１つずつ増加する。登録されるＩＤは、ＵＲＣサーバーから認証された後、ユーザに割り当てられる。多数のユーザの場合、マスタを除いて残りはスレーブである。
【００４５】
認証コードは、ロボットのための認証メッセージの認証番号を含むフィールドであり、メッセージヘッド部分のメッセージタイプのフィールドが認証メッセージでない場合、デフォルト（Default）の値を有する。メッセージヘッド部分のメッセージタイプのフィールドが認証メッセージである場合は、個々人にあらかじめ付与された認証キーをユーザから入力され、認証が確認された場合のみに、サービスが提供される。
【００４６】
メッセージタイプは、２ｂｙｔｅが割り当てられ、データを転送するためのものであるか、または、ロボット及びクライアントとＵＲＣサーバー間の連結初期化、応答、同期化、認証などのためのものであるかによる手続を区分するのに使われる。
【００４７】
図４は、本発明に係るロボットとＵＲＣサーバー間の送受信されるメッセージタイプの変化を示す図である。
図４によりメッセージの種類によって手続が区別される場合、リクエストメッセージ（Request Message）５０、認知応答メッセージ（Acknowledgement response Message）５１、エラー認知応答メッセージ（Error Acknowledgement response Message）５２、同期メッセージ（Synchronization Message）５３、認証メッセージ（Authorization Message）５４、肯定認証メッセージ（Positive Authorization Message）５５、否定認証メッセージ（Negative Authorization Message）５６、データメッセージ（Data Message）５７、終了報告メッセージ（Close Report Message）５８に区分されることができる。
【００４８】
図４に示されたように、リクエストメッセージ５０は、ロボットがＵＲＣサーバーに接続を試みる時、ＵＲＣサーバーに転送されるメッセージである。
認知応答メッセージ５１は、ロボットが前述のようなリクエストメッセージ５０を転送して連結を要求する場合、ＵＲＣサーバーとの連結が成功した時、ＵＲＣサーバーからロボットに転送するメッセージである。
エラー認知応答メッセージ５２は、ロボットとＵＲＣサーバーの連結が成功しなかった場合、ＵＲＣサーバーからロボットに転送されるメッセージである。
同期メッセージ５３は、前述のようにＵＲＣサーバーとロボット間に連結された状態でＵＲＣサーバーとロボットとの間に連続的に連結が維持されるかをチェックするメッセージである。
認証メッセージ５４は、ＵＲＣサーバーからロボットとのネットワーク接続が正常であるというメッセージ、すなわち認知応答メッセージ５２が受信される場合、ロボットから前記ＵＲＣサーバーに認証を要求するために使われる。
【００４９】
肯定認証メッセージ５５は、ＵＲＣサーバーでロボットの認証が成功した場合、ロボットに転送されるメッセージである。
一方、否定認証メッセージ５６は、ＵＲＣサーバーでロボットの認証が成功しない場合、ロボットに転送されるメッセージである。
データメッセージ５７は、一般的なデータ転送である場合、該当する形式で映像、音声、ＴＴＳ、ＶｏＩＰ、制御データ転送などに使われるメッセージである。
終了報告メッセージ５８は、ユーザがＵＲＣサーバーとの連結の終了をロボットに命令した場合、ロボットからＵＲＣサーバーに転送される連結終了メッセージである。
【００５０】
ペイロードメッセージは、画像用、音声用、及び動作用に区分されることができる。
画像用ペイロードメッセージフィールドは、ファイルナンバー部分、サイズ部分及び実２進データ部分に区分される。ファイルナンバーは、クライアントタイプ１バイトと、クライアントＩＤ４バイトと、ファイル生成順序３バイトで構成される。サイズは、実際の画像の大きさを示すもので、４バイトで構成される。データは、実データである。
【００５１】
音声用ペイロードメッセージフィールドは、画像と同じタイプ、すなわちファイルナンバー部分とサイズ部分及び実２進データ部分を含む。ファイルナンバーは、クライアントタイプ１バイトと、クライアントＩＤ４バイトと、ファイル生成順序３バイトで構成される。サイズは、実際の音声の大きさを示すもので、４バイトで構成される。データは、実データである。
【００５２】
例えば、画像用及び音声用ペイロードメッセージのファイルナンバーが０×０１（クライアントタイプ）００００００００１（クライアントＩＤ）０００００９（ファイル生成順序）である場合、これは、ロボット１番から９番目に生成された音声及び画像データという意味である。仮に、ヘッドでデータ方向値が０×０１である場合、音声及び画像データがロボットのカメラ及びマイクからサーバーに転送されることを意味し、０×０２である場合、反対方向に転送されることを意味する。
【００５３】
動作用ペイロードメッセージフィールドは、制御命令のタイプによってロボット動作（Robot Movement）、ロボット状態制御（Robot status control）、ロボット状態報告（Robot status report）、ロボットエラー状態（Robot Error status）、カメラ制御（Camera control）であって、５つのコマンドタイプ（command type）を含む。
コマンドタイプがロボット動作である場合、これは、トータル１２３バイトで割り当てられ、ロボットのＸ軸移動距離４バイトと、ロボットのＹ軸移動距離４バイトと、ロボットの位置角度２バイトと、カメラアングル２バイトで割り当てられる。前記距離と角度は、ｍｍとｄｅｇｒｅｅである。
【００５４】
コマンドタイプがロボット状態制御である場合、これは、トータル５６バイトで割り当てられ、ロボット状態報告可否１バイトと、報告周期４バイトで割り当てられる。
【００５５】
コマンドタイプがロボット状態報告である場合、これは、トータル１５６バイトで割り当てられ、前記ロボット動作情報を利用したロボットの現在位置情報１２バイトと、ロボットの現在状態情報２バイトと、行動完了可否を示す１バイトで割り当てられる。ここで、現在状態は、無人警備設定状態、ロボット移動状態、監視状態、ロボット異常状態、身元確認状態、警告状態である。
【００５６】
コマンドタイプがロボットエラー状態である場合、これは、トータル３バイトが割り当てられ、ロボットが自立的に異常可否を判断する結果であって、その結果は、異常無し、ロボット移動部故障、障害物による移動不可、バッテリー不足のメッセージとして現れる。
【００５７】
コマンドタイプがカメラ制御である場合、これは、トータル２３バイトで割り当てられ、画像データの転送開始などに関して命令された状態１バイトと、画像データ転送１バイトが割り当てられる。
【００５８】
以下、上述したような本発明に係るメッセージフォーマットを利用したロボット制御システムについて説明する。
【００５９】
図５は、本発明に係るメッセージフォーマットを利用したロボット制御システムに対するネットワーク連結を示す図である。
図５に示されたように、ロボット制御システムは、クライアント１０、ＵＲＣサーバー２０及びロボット３０を含む。
クライアント１０とＵＲＣサーバー２０及びＵＲＣサーバー２０とロボット３０は、各々ＴＣＰ／ＩＰ、イーサネット（登録商標）基盤のネットワークを介して連結され、音声認識データ、画像認識データ、動作用制御データによる稼動を行うためのパケットを送受信する。
【００６０】
ユーザがクライアント１０を介してロボット３０を稼動させるための制御パケットを転送する場合、ＵＲＣサーバー２０は、受信されたパケットのペイロードを分析する（Parse）。ユーザの命令が音声やキーボード命令である場合、ＵＲＣサーバー２０は、当該命令に該当するサービスを行うように前記ロボット３０を制御するようになる。
【００６１】
すると、ロボット３０は、サービスを完了し、当該サービスに相当するパケットを前記ＵＲＣサーバー２０に提供する。ＵＲＣサーバー２０は、ロボット３０から受信されたサービス完了パケットを分析し、それに相当する結果メッセージを、ネットワークを介してサービスを要求したクライアント１０に提供するようになる。
【００６２】
したがって、クライアント１０は、ＵＲＣサーバー２０から提供される結果メッセージをユーザがモニタリングすることができるようにディスプレイするようになる。
【００６３】
ユーザがロボット３０に音声でサービス命令を入力すれば、ロボット３０は、ユーザが入力した音声入力信号をＴＣＰ／ＩＰパケットに変換し、変換されたＴＣＰ／ＩＰパケットをＵＲＣサーバー２０に転送する。ＵＲＣサーバー２０は、ロボット３０から受信されたパケット内の音声データを分析し、ユーザの所望するサービスを認識する。ＵＲＣサーバー２０は、動作制御命令のパケットに変換し、変換されたパケットをロボット３０にネットワークを介して転送する。ロボット３０は、ＵＲＣサーバー２０から受信されたパケットのペイロードに該当するサービスを行う。前記ＵＲＣサーバー２０に前記サービスの応答を転送すれば、ＵＲＣサーバー２０が当該結果を音声パケットとして生成し、当該音声パケットをロボット３０に転送する。したがって、ユーザは、ロボット３０から出力する音声メッセージを通じて当該結果を確認するようになる。
【００６４】
図６は、本発明に係るロボット制御システムにおいてロボットとクライアントがＵＲＣサーバーに接続する時、ＵＲＣサーバーからロボットとクライアントに提供可能なサービスと該当サービスのための基本的な相互間のメッセージ送受信の流れを示す図である。
また、パケットは、プロトコル識別子４１、プロトコルバージョン４２、セッションＩＤ４３、データ方向４４、データタイプ４５、サービスＩＤ４６、ペイロード長４７、リザーブ４８、ペイロード４９のフィールドを含む。特に、前記ペイロード４９フィールドは、クライアントタイプ、クライアントＩＤ、ユーザＩＤ、認証コード、メッセージタイプを内部フィールドに有する。
【００６５】
図６に示されたように、ロボット３０及びクライアント１０は、ＵＲＣサーバー２０で認証された場合のみに、ユーザにより要求されたサービスを行うことができる。
まず、パケットのペイロードフィールドの細部項目のうち認証コード、メッセージタイプに認証のためのデータを設定し、各コードとメッセージによって認証手続が進行される。
【００６６】
すなわち、ロボット３０は初期に認証されておらず、認証のための連結要求メッセージをＵＲＣサーバー２０に転送する。ロボット３０からＵＲＣサーバーに転送されるメッセージは、認証コードにデフォルトで設定された認証番号である。さらに、ペイロードのメッセージタイプに相互間の連結を試みるためのリクエストメッセージが存在し、リクエストメッセージが含まれない他のフィールドに初期接続によるデータが設定される。
【００６７】
前記接続要求メッセージを受信したＵＲＣサーバー２０は、ペイロードのメッセージタイプがリクエストメッセージであることを確認し、連結が成功したことを知らせる応答メッセージ−認知応答メッセージをロボット３０に転送する。連結が成功しなければ、前記ＵＲＣサーバー２０は、エラー認知応答メッセージを含むパケットをロボット３０に転送する。送受信されるメッセージのペイロードのメッセージタイプが同期メッセージを示す場合、ＵＲＣサーバー２０とロボット３０との間にネットワーク連結が持続的になされていることが分かる。
【００６８】
ＵＲＣサーバー２０は、ネットワークに異常がないと判断し、認知応答メッセージをロボット３０に転送する。認知応答メッセージを受信したロボット３０は、連結が成功したことを認識し、受信されたメッセージ内のペイロードのメッセージタイプを通じて認証を要求する認証メッセージをＵＲＣサーバー２０に転送する。
【００６９】
すると、ＵＲＣサーバー２０は、ロボット３０の認証要求によってロボット３０の認証を行う。認証が成功した場合、認証を確認する肯定認証メッセージをロボット３０に転送する。転送されるメッセージ内には、ロボット３０の認証番号情報が含まれていて、該当認証番号がロボット３０に割り当てられる。仮に、ＵＲＣサーバー２０で外部的または内部的要因に起因してロボット３０の認証が失敗する場合、ＵＲＣサーバー２０は、認証失敗を示す否定認証メッセージをロボット３０に転送する。
【００７０】
したがって、ＵＲＣサーバー２０とロボット３０間の認証成功可否を確認した後に、任意のサービス要求パケットを相互間に送受信し、ユーザの所望する画像、音声、動作などのサービスの実行が可能である。
【００７１】
一方、クライアント１０の認証手続も、前述したＭＯＳ３０の認証手続と同様である。したがって、クライアント１０の認証手続についてはその説明を省略し、前記ロボット３０の認証手続と同様の方法を通じてクライアント１０の認証が完了したものと仮定する。
【００７２】
ロボット３０とクライアント１０の認証手続が終了すれば、ＵＲＣサーバー２０は、少なくとも１つのクライアント１０とＵＲＣサーバー２０との間及びＵＲＣサーバー２０と少なくとも１つのロボット３０間を区分するためにセッションＩＤフィールドにＩＤを付与し、ロボット３０及びクライアント１０に転送する。したがって、該当ロボット３０及びクライアント３０は、ＵＲＣサーバー２０から付与されたセッションＩＤを用いて所望のサービス要求メッセージ、またはロボット３０の制御のための制御要求メッセージをＵＲＣサーバー２０に要請する。ＵＲＣサーバー２０は、受信されたサービス要求メッセージによって該当サービスを行ったり、または制御メッセージによってロボット３０を制御したりするようになる。
【００７３】
特に、ロボット３０は、ユーザの音声命令に対する該当音声データを含むパケットをＵＲＣサーバー２０に転送する。ＵＲＣサーバー２０は、受信されたパケットから音声命令を分析し、分析された音声命令に相当する該当サービスＩＤをＤＢから抽出し、ロボット３０に該当サービスＩＤを付与するようになる。すなわち、サービスＩＤは、パケットのセッションＩＤに該当するロボット３０に転送される。
【００７４】
サービスＩＤを付与された該当ロボット３０は、ＵＲＣサーバー２０に該当サービスに対する具体的な実行モードのパケットを転送しながら、前記サービスＩＤに該当するサービス、すなわち無人警備、遠隔モニタリング、音声認識、画像認識、動作制御のうち該当する１つを行う。前記ロボット３０は、実行結果に対するパケットをＵＲＣサーバー２０に転送する。前記サービスＩＤは、ロボット３０が行うことができる多数の他のサービスをも設定することができる。
【００７５】
例えば、サービスＩＤの機能は、次の通りである。
【００７６】
端末（ロボット、クライアント）認証が終了した後に、ユーザがロボット３０を介して音声で特定のサービスを要請すれば、ＵＲＣサーバー２０は、分析過程を経て受信された音声データを特定のサービス呼出として認識し、ロボット３０が前記サービスに対する使用権限を有しているかを判断する。その結果、該当ロボット３０に該当サービス使用権限が付与された場合、ＵＲＣサーバー２０は、サービスＩＤを呼出したロボット３０に付与するようになる。すると、サービスＩＤを付与されたロボット３０が該当サービスを利用する場合、付与されたサービスＩＤを使用するようになる。
【００７７】
前記付与されたサービスＩＤを用いてロボット３０がＵＲＣサーバー２０に任意のサービスを要求するためのパケットを転送すれば、ＵＲＣサーバー２０は、ロボット３０から転送されたパケットヘッダー部分のサービスＩＤを分析し、該当サービス実行のためのアプリケーションを駆動し、該当サービスを行う。
【００７８】
一方、クライアント１０は、ロボット３０のように移動体でないので、遠隔モニタリングのためのサービスに該当するサービスＩＤを付与される。すると、サービスＩＤに対するパケットが転送され、ロボット３０の稼働状況や、モニタリング画像及び音声データなどを受信し、モニタリングを行う。
【００７９】
さらに、クライアント１０は、ＵＲＣサーバー２０を介して直接ロボット３０と通信してロボット３０を制御することができるものでなく、単純にロボット３０の状態などをモニタリングすることができる機能を有している。この場合、ＵＲＣサーバー２０は、クライアント１０にロボット３０の状態情報、例えば、ロボットの状態画像情報、音声情報などのモニタリング情報を提供するために、ロボット３０とパケット通信を通じて該当情報を獲得するようになる。
【００８０】
前述したようなサービスＩＤに該当するサービスを達成するために、ＵＲＣサーバー２０とロボット３０との間に送受信されるパケットのペイロードメッセージ転送は、音声認識、画像認識、認証、動作制御、制御端末制御などの実施形態に分けられ、このようなサービスのためのロボット３０とＵＲＣサーバー２０との間のメッセージの流れを添付の図面を参照して詳細に説明する。
【００８１】
図７は、本発明に係るロボット制御方法においてＡＳＲ（Automatic Speech Recognition）とＴＴＳ（Text To Speech）のようなロボットの音声認識サービスのためのロボットとＵＲＣサーバー間のメッセージシーケンスを示す図である。
図７に示されたように、まず、ロボット３０は、ユーザが入力した音声命令を認識するために、ＵＲＣサーバー２０にＡＳＲ＿ＳＶＣ＿ＲＥＣＧ＿ＷＬＳＴというメッセージをＵＲＣサーバー２０に転送する（Ｓ１０１）。前記ＡＳＲ＿ＳＶＣ＿ＲＥＣＧ＿ＷＬＳＴメッセージは、音声命令を認識するために要求されるユーザ音声の語彙リストを含む。
ＵＲＣサーバー２０は、前記ロボット３０から受信されたＡＳＲ＿ＳＶＣ＿ＲＥＣＧ＿ＷＬＳＴメッセージによって音声認識語彙ファイル名が含まれたＡＳＲ＿ＳＶＣ＿ＲＥＣＧ＿ＦＬＳＴメッセージをロボット３０に転送するようになる（Ｓ１０２）。
ロボット３０は、音声認識データを含むＡＳＲ＿ＳＶＣ＿ＲＥＣＧ＿ＰＲＯＣメッセージをＵＲＣサーバー２０に転送し（Ｓ１０３）、ＵＲＣサーバー２０は、ロボット３０から受信された音声認識データを分析し、認識された語彙及びＳｃｏｒｅ情報を含むＡＳＲ＿ＳＶＣ＿ＲＥＣＧ＿ＰＲＯＣ＿ＲＥＳＵＬＴメッセージをロボット３０に転送する（Ｓ１０４）。
【００８２】
ロボット３０は、さらにＵＲＣサーバー２０にＴＴＳ＿ＳＶＣ＿ＴＥＸＴ＿ＢＵＦＦというメッセージを通じてテキスト（Ｔｅｘｔ）に対する合成を要請し（Ｓ１０５）、ＵＲＣサーバー２０は、テキスト合成結果に対するＴＴＳ＿ＳＶＣ＿ＴＥＸＴ＿ＢＵＦＦ＿ＲＥＳＵＬＴメッセージをロボット３０に転送するようになる（Ｓ１０６）。
【００８３】
ロボット３０は、ＵＲＣサーバー３０から受信したテキスト合成結果メッセージによってテキストを指定されたファイル名で要請するためのＴＴＳ＿ＳＶＣ＿ＴＥＸＴ＿ＦＩＬＥメッセージをＵＲＣサーバー２０に転送する（Ｓ１０７）。
【００８４】
ＵＲＣサーバー２０は、ロボット３０の前記ＴＴＳ＿ＳＶＣ＿ＴＥＸＴ＿ＦＩＬＥメッセージによって合成された音声ファイルを含むＴＴＳ＿ＳＶＣ＿ＴＥＸＴ＿ＦＩＬＥ＿ＲＥＳＵＬＴメッセージをロボット３０に転送し（Ｓ１０８）、ロボット３０は、サーバー２０に転送されたＴｅｘｔに対する音声合成をＴＴＳ＿ＳＶＣ＿ＴＥＸＴ＿ＳＴＲＥＡＭメッセージに要請するようになる（Ｓ１０９）。
【００８５】
したがって、ＵＲＣサーバー２０は、ロボット３０の要請によってＴＴＳ＿ＳＶＣ＿ＴＥＸＴＳＴＲＥＡＭ＿ＲＥＳＵＬＴメッセージを用いてテキストに対する合成された音声データとＩＤをロボット３０に転送する（Ｓ１１０）。
【００８６】
ロボット３０は、ＴＴＳ＿ＳＶＣ＿ＮＡＭＥ＿ＢＵＦＦというメッセージを用いてＵＲＣサーバー２０に人の名前に対する合成を要請し（Ｓ１１１）、ＵＲＣサーバー２０は、ＴＴＳ＿ＳＶＣ＿ＮＡＭＥ＿ＢＵＦＦ＿＋ＲＥＳＵＬＴというペイロードメッセージを通じて合成した人の名前に対するデータをロボット３０に転送するようになる（Ｓ１１２）。
【００８７】
図８は、本発明に係るロボット制御方法において、画像認識及び動き検出（追跡）サービスのためのロボットとＵＲＣサーバーとの間に送受信されるメッセージのシーケンスを示す図である。
図８に示されたように、まず、ロボット３０は、ＨＣＩ＿ＶＩＳＩＯＮ＿ＩｎｉｔＳｅｒｖｅｒというメッセージを用いて自身のセッションＩＤ、すなわちロボットＩＤをＵＲＣサーバー２０に転送する（Ｓ２０１）。
ＵＲＣサーバー２０は、ロボット３０から受信したロボットＩＤに対するＨＣＩ＿ＶＩＳＩＯＮ＿ＩｎｉｔＳｅｒｖｅｒメッセージによって該当ロボットＩＤを用いてサービスが可能であるかに対する権限付与可否結果情報を、ＩＤＨＣＩ＿ＶＩＳＩＯＮ＿ＩｎｉｔＳｅｒｖｅｒ＿ＲＥＳＵＬＴメッセージを通じてロボット３０に転送するようになる（Ｓ２０２）。
ロボット３０は、ＨＣＩ＿ＶＩＳＩＯＮ＿ＦＲＣＯＮＦというメッセージを通じて顔登録モードの実行前、登録したユーザＩＤによるユーザの顔の登録が可能であるか否かをＵＲＣサーバー２０に転送するようになる（Ｓ２０３）。
【００８８】
ＵＲＣサーバー２０は、ロボット３０のユーザＩＤによる顔登録が可能である場合、ＨＣＩ＿ＶＩＳＩＯＮ＿ＦＲＣＯＮＦ＿ＰＲＯＣメッセージを用いて登録する顔画像をロボット３０に要求する（Ｓ２０４）。
ロボット３０は、ＵＲＣサーバー２０の要求によってＨＣＩ＿ＶＩＳＩＯＮ＿ＦＲＭＯＤＥメッセージを用いて顔認識のために撮影された（Picked up）顔画像をＵＲＣサーバー２０に転送し、ＵＲＣサーバー２０に登録する（Ｓ２０５）。ＵＲＣサーバー２０は、顔画像が登録されたことを知らせるＨＣＩ＿ＶＩＳＩＯＮ＿ＦＲ＿ＰＲＯＣメッセージをロボット３０に転送する（Ｓ２０６）。
【００８９】
ロボット３０は、画像認識のための実際の顔データを、ＨＣＩ＿ＶＩＳＩＯＮ＿ＦＩ＿ＭＯＤＥメッセージを用いてＵＲＣサーバー２０に転送する（Ｓ２０７）。ＵＲＣサーバー２０は、ロボット３０から受信された顔データの顔認識可能可否に対する情報が含まれたＨＣＩ＿ＶＩＳＩＯＮ＿ＦＩ＿ＰＲＯＣメッセージをロボット３０に転送する（Ｓ２０８）。
【００９０】
ロボット３０がＨＣＩ＿ＶＩＳＩＯＮ＿ＳＶ＿ＭＯＤＥメッセージを用いて無人警備のための画像データをＵＲＣサーバー２０に転送すれば（Ｓ２０９）、ＵＲＣサーバー２０は、無人警備のためのロボット３０から転送された画像データを分析し、無人警備のための分析結果によってＨＣＩ＿ＶＩＳＩＯＮ＿ＳＶ＿ＰＲＯＣメッセージをロボット３０に転送する（Ｓ２１０）。したがって、該当サービスが終了する。
【００９１】
図９は、本発明に係るロボット制御方法においてロボットの認証のためのロボットとＵＲＣサーバー間の送受信されるメッセージシーケンスを示す図であり、図１０は、本発明に係るロボット制御方法において、ロボットの遠隔モニタリングのために遠隔のロボットとサーバーとの間に送受信される認証メッセージのシーケンスを示す図である。
図９及び図１０に示されたように、認証のためのデータは、最初連結要請時に転送され、ロボット３０に対する認証とクライアント１０に対する認証の２つに分類される。
【００９２】
図９に示されたように、ロボット３０に対する認証のために、ロボット３０は、認証のために要求される情報を含むＡＵＴＨ＿ＩＮＩＴＩＡＴＥメッセージをＵＲＣサーバー２０に転送する（Ｓ３０１）。
【００９３】
ＵＲＣサーバー２０は、ロボット３０から転送された認証に必要な情報を分析し、分析結果に対する情報、すなわち認証結果情報を含むＡＵＴＨ＿ＲＥＳＵＬＴメッセージをロボット３０に転送して認証を行い、その他のサービスを行うようになる（Ｓ３０２）。
【００９４】
図１０に示されたように、クライアント１０の認証のために、クライアント１０は、ＡＵＴＨ＿ＩＮＩＴＩＡＴＥメッセージを用いて最初連結要請時に認証に必要な情報をメインＵＲＣサーバー２０に転送し（Ｓ４０１）、メインＵＲＣサーバー２０は、クライアント１０の認証要請によって連結可能なロボット３０に対するリスト情報及びロボット３０の現在状態情報を含むＡＵＴＨ＿ＲＯＢＯＴ＿ＬＩＳＴメッセージをクライアント１０に転送する（Ｓ４０２）。
【００９５】
クライアント１０は、多数のロボット３０のうちユーザが選択したロボット３０の認証を行うために、ＡＵＴＨ＿ＳＥＬＥＣＴＥＤ＿ＲＯＢＯＴメッセージをメインＵＲＣサーバー２０に転送する（Ｓ４０３）。
メインＵＲＣサーバー２０は、ユーザが選択したロボット３０が連結されているＵＲＣサーバー２１を割り当てるためのＵＲＣサーバー２１に対する該当情報を含むＡＵＴＨ＿ＲＯＢＯＴ＿ＬＯＣＡＴＩＯＮメッセージをクライアント１０に転送する（Ｓ４０４）。この過程は、制御するロボット３０が連結されているＵＲＣサーバー２１に対する情報を得る過程であって、省略してもよい。
【００９６】
クライアント１０は、メインＵＲＣサーバー２０との連結を終了するために、ＡＵＴＨ＿ＢＹＥというメッセージを転送することによって、メインＵＲＣサーバー２０との連結を終了することができる（Ｓ４０５）。
そして、クライアント１０は、ユーザが選択したロボット３０が連結されたＵＲＣサーバー２１に接続し、所望のサービスを受けるために、認証要請メッセージであるＡＵＴＨ＿ＲＥ＿ＩＮＩＴＩＡＴＥメッセージをＵＲＣサーバー２１に転送する（Ｓ４０６）。
したがって、ＵＲＣサーバー２１は、認証結果情報を含むＡＵＴＨ＿ＲＥＳＵＬＴメッセージを該当クライアント１０に転送して認証を完了し、次の手続を進行するようになる。
【００９７】
図１１は、本発明に係るロボット制御方法においてロボットを制御するためにロボットとＵＲＣサーバーとの間に送受信されるメッセージタイプを示す図である。
図１１に示されたように、ロボット３０からＵＲＣサーバー２０に転送されるメッセージとしては、ロボット３０の動作制御を要求するＲｏｂｏｔ＿Ｍｏｖｅｍｅｎｔメッセージ、ロボット３０の状態点検周期を決定するためのＲｏｂｏｔ＿Ｒｅｐｏｒｔ  Ｆｒｅｑｕｅｎｃｙメッセージ、ロボット３０の現在状態情報を報告するためのロボット状態報告メッセージ、ロボット３０のエラー状態情報をチェックするためのロボットエラー状態メッセージを含むことができる。
【００９８】
ＵＲＣサーバー２０からロボット３０に転送されるメッセージは、ロボット３０のカメラ動作を制御するためのカメラ制御メッセージ、ロボット３０またはＵＲＣサーバー２０の状態をロボット３０に通知するためのＳｔａｔｕｓ＿Ｉｎｆｏ  Ｒｅｐｏｒｔメッセージ、ロボット３０とＵＲＣ２０との連結終了事由を通知するためのＣｌｏｓｅ＿Ｉｎｆｏ  Ｒｅｐｏｒｔメッセージを含むことができる。
他のメッセージは、ＵＲＣサーバー２０のデータを更新するためのＤＢ＿Ｕｐｄａｔｅメッセージ、ロボット３０からＵＲＣサーバー２０に転送されるロボットの属性ＤＢを更新するためのＲｏｂｏｔ＿Ｕｐｄａｔｅメッセージ、ユーザＩＤとＰａｓｓｗｏｒｄを転送するためのＵｓｅｒ  Ｉｎｆｏメッセージ、ロボット３０を認証するための認証メッセージである。
【００９９】
図１２は、本発明に係るロボット制御方法において、遠隔クライアントからＵＲＣサーバーを介してロボットを制御するための遠隔クライアントとＵＲＣサーバー間の送受信されるメッセージタイプを示す図である。
図１２に示されたように、ＵＲＣサーバー２０は、クライアント１０にマップバージョン情報を要求するためのＭａｐ＿Ｖｅｒｓｉｏｎ＿Ｒｅｑメッセージを転送する。
【０１００】
クライアント１０は、ＵＲＣサーバー２０は、クライアント１０の要求に対する応答として自身が有しているマップバージョン情報を、Ｍａｐ＿Ｖｅｒｓｉｏｎ＿Ｒｅｓｐメッセージを通じてＵＲＣサーバー２０に転送する。
この時、ＵＲＣサーバー２０は、Ｍａｐ＿Ｖｅｒｓｉｏｎ＿Ｒｅｓｐメッセージを通じてクライアント１０から受信されたマップバージョン情報を自身が有しているマップバージョン情報と比較分析し、マップバージョンに対するマッチング結果情報を、Ｃｌｉｅｎｔ＿Ｆｏｒ＿Ｒｏｂｏｔ＿Ｍａｐメッセージを通じてクライアント１０に転送するようになる。
また、ＵＲＣサーバー２０は、マップバージョンがマッチされない場合、マップバージョン情報を、Ｃｌｉｅｎｔ＿Ｆｏｒ＿Ｉｍａｇｅメッセージを通じてクライアント１０に転送する。
【０１０１】
ＵＲＣサーバー２０は、まず、クライアント１０にＣｌｉｅｎｔ＿Ｆｏｒ＿Ｒｏｂｏｔ＿Ｓｔａｔｕｓメッセージを通じてロボット状態について通知する。また、クライアント１０は、ＵＲＣサーバー２０にＣｌｉｅｎｔ＿Ｓａｍｐｌｉｎｇ＿Ｆｒｅｑ、Ｃｌｉｅｎｔ＿Ｆｏｒ＿Ｉｍａｇｅ、Ｃｌｉｅｎｔ＿Ｆｏｒ＿Ｂｕｔｔｏｎ＿Ｃｏｎｔｒｏｌ、Ｃｌｉｅｎｔ＿Ｍａｐ＿Ｃｏｎｔｒｏｌ、及びＣｌｉｅｎｔ＿Ｆｏｒ＿Ｒｏｂｏｔ＿Ｃａｍｅｒａ＿Ｃｏｎｔｒｏｌメッセージを伝達し、これらの各々は、ＵＲＣサーバー２０にどれくらい頻繁に情報を受けるか、サーバー２０に映像データを要請する場合、サーバーに伝達するロボットカメラを制御する場合、そして終了要請の場合に転送されるメッセージである。
【０１０２】
前述したように、本発明は、ロボットと、サーバー及びユーザ端末（クライアント）間の円滑な連動がなされるようにした端末用データフォーマットを提案し、これにより、ロボット及びクライアントがサーバーを用いてロボットから所望のサービスを円滑で且つ便利にモニタリングすることができるようにしたものである。
【０１０３】
本発明は、サービス具現のためにサービスに特化されたメッセージフォーマットを有するようになっている。しかし、このメッセージフォーマットは、サービス開発のためにメッセージフォーマットが毎度具現されたり、追加されたりしなければならないという不都合を有している。また、追加されたメッセージフォーマットが他の応用されたサービスを具現するのに適合しないため、リサイクルが不可能であるという短所がある。
【０１０４】
また、図３に示されたように、サービスＩＤフィールドを有していて、ロボットとＵＲＣサーバー、そしてサービスを提供されるクライアントは、特定のサービスによってサービスＩＤを付与され、付与されたサービスＩＤをもってサービス具現をするようになる。したがって、特定のサービスを提供されるためには、各々のサービスに対する異なるメッセージフォーマットが要求される。
【０１０５】
また、上記本発明で、サービス実行の同期のためのメカニズムが提供されていない。仮に、サービス実行の同期が合わない場合には、サービスの開始と終了に対する時点が曖昧になる可能性がある。すなわち、ＵＲＣサーバー側から不正確な時点にサービスを提供するかもしれず、それによるロボットの誤動作を招く可能性がある。
【０１０６】
また、ロボットとＵＲＣサーバーとの間に存在し得る異常状況に対処するためのメカニズムが提供されていない。したがって、ネットワークが不安定な状態でロボットの連結が終了すれば、ＵＲＣサーバーは、その状況を把握せず、ロボットが持続的にネットワークに接続しているものと認識する可能性がある。したがって、ユーザは、ネットワークの不安定な状態を認知しなくなり、ＵＲＣサーバーは、エラーメッセージ出力及び強制終了などの適切な措置を行うことができなくなるという短所がある。
【０１０７】
したがって、前述したような本発明で発生する問題点を解消するために、以下では、本発明の他の実施形態を説明する。
【０１０８】
図１３は、本発明の他の実施形態に係るロボット制御システムに対する連結関係を概略的に示す図である。
図１３に示されたように、多数のロボット２００は、ネットワークを介してＵＲＣサーバー１００と連結され、遠隔でネットワークを介して多数のクライアント３００は、ＵＲＣサーバー１００と連結される。
ロボット２００は、ユーザや外部から入力される音声命令や映像などの状況情報を獲得し、獲得された情報をＵＲＣサーバー１００に転送するようになる。
【０１０９】
ＵＲＣサーバー１００では、ロボット２００から転送される音声命令や映像情報などを処理し、ユーザの意図を把握した後、知能的で且つ状況に合うＵＲＣサービスを提供するようになる。
【０１１０】
ＵＲＣサービスのためには、移動性を用いる情報伝達のようなサービス以外に、ユーザに物理的なサービスまで提供可能である。
【０１１１】
また、遠隔クライアント３００は、遠隔で各ロボット２００の移動性と認識機能を用いて多様なサービスを提供することができる。このサービスは、ＵＲＣサーバー１０だけで提供するものでなく、サービス事業者が遠隔でもサービスを提供することができるようにすることによって、ＵＲＣインフラ内で多様なビジネスモデルが創出され得るようにする。
【０１１２】
ＵＲＣ規格によるロボット２００は、ＵＲＣインフラで提供する多様なサービスを利用することができる。ＵＲＣインフラで連動される多くのロボット２００は、サービス事業者に収益を創出し得る市場を提供することができる。
【０１１３】
多数のＵＲＣロボット２００と遠隔クライアント３００は、ＵＲＣサーバー１００との通信のためのメッセージを送受信する。前記メッセージは、ＵＲＣロボット２００または遠隔クライアント３００とＵＲＣサーバー１００間の通信プロトコルに使われるフォーマットを有する。
【０１１４】
図１４は、本発明の実施形態に係るロボット、クライアント及びＵＲＣサーバー間に送受信されるメッセージに対する共通ヘッダーフォーマットを示す。
図１４によれば、ＵＲＣプロトコルは、ＴＣＰ／ＩＰによるメッセージを用いて通信を行い、この単位メッセージをＵＲＣメッセージという。前記ＵＲＣメッセージのフレーミング（Framing）は、通信の効率のためにバイナリフォーマットのメッセージ構成を使用する。ＵＲＣメッセージは、その用途によってＵＲＣ  Ｒｅｑｕｅｓｔ、ＵＲＣ  Ｒｅｓｐｏｎｓｅ、ＵＲＣ  Ｈｅａｒｔｂｅａｔ、ＵＲＣ  Ｅｖｅｎｔメッセージの４つに区分される。４つのメッセージタイプは、いずれも共通されたヘッダーフォーマットを有するようになる。ＵＲＣ共通ヘッダーメッセージのヘッダーフィールドのデータタイプとその意味は、次の表１に示された通りである。
【０１１５】
【表１】
2008529324.tif 000003
【０１１６】
ＵＲＣプロトコルで定義されたメッセージは、その機能と用途によってプロファイルに分類される。ＵＲＣプロトコルで提供するプロファイルは、図１５に示されている。
【０１１７】
図１５は、本発明の実施形態に係るロボット、ＵＲＣサーバー及びクライアント間のＵＲＣプロトコルプロファイル構造を示す図である。
図１５によれば、ＵＲＣサーバー１００のプロファイルは、音声／映像認識、音声合成など知能型サービスを具現するために必要な多様な機能を提供し、遠隔でクライアント３００がロボットを制御することができるインタフェースを提供する。すなわち、ＵＲＣサーバープロファイルは、例えば、認証プロファイル、遠隔インタフェースプロファイル、イベントプロファイル、音声認識プロファイル、音声合成プロファイル、映像認識プロファイル及びモーション検出プロファイルを含むことができる。
【０１１８】
一方、図１４に示されたように、ＵＲＣ共通ロボットプロファイルは、ロボット２００を制御するための一般的なインタフェースを提供する。ＵＲＣサービスは、ロボット共通プロファイルで提供する機能を用いてユーザにロボットを利用した物理的なサービスを提供することができる。すなわち、ＵＲＣ共通ロボットプロファイルは、移動プロファイル、ナビゲーションプロファイル、音声検出プロファイル、発声プロファイル、モーション（Motion）プロファイル及び感情プロファイルを含む。
【０１１９】
ＵＲＣ共通ロボットプロファイルは、ＵＲＣロボットがＵＲＣインフラを介してサービスを提供されるためにロボット開発者が具現しなければならない機能を有する。ＵＲＣ共通ロボットプロファイルを具現したロボットは、その形態と性能に関係なく、同じサービスを提供されることができるようになる。
【０１２０】
以下では、本発明でロボット、ＵＲＣサーバー及びクライアント間のＵＲＣ通信プロトコルの稼動メカニズムについて説明する。
【０１２１】
ＵＲＣ通信プロトコルの稼動メカニズムは、ＵＲＣメッセージｆｒａｍｉｎｇメカニズム、ＵＲＣメッセージエンコーディング（Encoding）メカニズム、ＵＲＣ認証メカニズム（Authentication）、ＵＲＣロボットＡＣＫ（Robot Acknowledge）及びＨＢメカニズム（Heartbeat）を含まなければならない。
【０１２２】
ＵＲＣメッセージＦｒａｍｉｎｇメカニズムにおいて、ＵＲＣプロトコルは、基本的にＴＣＰ上でメッセージを用いて通信を行い、この単位メッセージをＵＲＣメッセージという。ＵＲＣメッセージのＦｒａｍｉｎｇは、通信の効率のためにバイナリ形式のメッセージ構成を使用し、ＵＲＣメッセージに入っている色々な情報は、ＵＤＲ（URC Protocol Data Representation）に記述されたデータ形式で表現される。
【０１２３】
ＵＲＣメッセージエンコーディング（Encoding）メカニズムにおいて、ＵＲＣメッセージは、“ｌｌｉｔｔｌｅ−ｅｎｄｉａｎ”形式でエンコーディングされ、ハングルのエンコーディングは、“ＫＳＣ−５６０１”を使用する。
【０１２４】
ＵＲＣ認証（Authentication）メカニズムにおいて、ＵＲＣインフラに接続する全てのＵＲＣロボットとＵＲＣクライアントは、認証過程を通じてロボット２００とユーザを識別する過程を経て、必要な権限を付与されるようになる。ＵＲＣロボット２００については、あらかじめ登録されたＲＯＢＯＴＩＤを基盤にして認証を行い、ＵＲＣクライアント３００は、あらかじめ登録されたユーザＩＤ及びパスワード基盤の認証を行い、自身を識別するようになる。
【０１２５】
ＵＲＣロボットＡＣＫで、イベント通知及び応答に関するメカニズムにおいて、ＵＲＣロボット２００は、ＵＲＣ環境内で獲得したユーザ音声命令、動作などのようなイベントが発生した場合、これに対する情報を非同期的にＵＲＣサーバー１００に通知することができなければならない。ＵＲＣサーバー１００では、非同期的なイベントを使用してユーザの意図や状況を把握し、適切なサービスを提供することができる。
【０１２６】
また、ＵＲＣロボット２００により提供する機能は、大部分その機能の開始後から終了まである程度時間を要する作業が多いため、ＵＲＣロボット２００の機能と他の機能間の同期を合わせるためには、作業の開始と終了時点で該当Ａｃｋｎｏｗｌｅｄｇｅをイベント形式でＵＲＣサーバー１００に通知しなければならない。ＵＲＣサーバー１００では、これを、ＡＣＫを通じてサービス実行に必要な同期を合わせるようになる。このようなＵＲＣロボットＡＣＫ稼動は、図１６に示されている。
【０１２７】
図１６に示されたように、ＵＲＣロボット２００の各機能は、各コンポーネント（Component）別に定義されることができるので、各コンポーネントは、状態マシン、例えば、図１６に示されたようにＵＲＣロボット２００を構成している構成要素により稼動を行い、ＵＲＣロボット２００の状態が遷移（Transition）される時点で該当イベントをＵＲＣサーバー１００に通知しなければならない。
【０１２８】
すなわち、各ＵＲＣロボット２００の機能は、ロボット２００の各コンポーネント別に定義されることができるので、ＵＲＣロボットの各コンポーネントは、状態マシン（state machine）により稼動を行い、状態（state）が遷移（transition）される時点で該当イベントを通知しなければならない。
【０１２９】
ＵＲＣプロトコルでは、ＵＲＣロボット２００の各コンポーネント状態は、“ＩＤＬＥ”、“ＡＣＴＩＶＥ”の２つに区分される。各状態が他の状態に遷移される時、“ＳＴＡＲＴ”、“ＥＮＤ”または“ＳＴＯＰ”のイベントをＵＲＣサーバー１００に通知されなければならない。したがって、ＵＲＣサーバー１００は、ＵＲＣロボット２００から転送されるイベントメッセージを基盤にしてロボットの現在稼動状態を容易に検出することができる。
【０１３０】
ＵＲＣ  ＨＢメカニズムにおいて、基本的に、ＵＲＣロボット２００は、駆動と同時にＵＲＣサーバー１００に連結される。ＵＲＣロボット２００の駆動終了時まで連結を維持するようになる。したがって、サービスの途中に異常ネットワーク環境により連結が断絶された場合、異常状況を早い時間内に把握し、適切な措置を行うことが重要である。ＵＲＣサーバー１００とＵＲＣロボット２００との間に正常的なネットワーク接続を維持しているかを持続的に監視するために、ＵＲＣプロトコルは、ＵＲＣロボット２００とＵＲＣサーバー１００との間にＨＢ（Heartbeat）プロトコルを定義し、前述のようなネットワーク環境による異常状況を管理するようにする。したがって、前記ネットワーク環境によりロボット２００とＵＲＣサーバー１００との間に連結を検出する動作が図１７に示されている。
【０１３１】
図１７は、ＵＲＣロボットとＵＲＣサーバー間の連結をチェックするための方法が示されている。
図１７に示されたように、ＵＲＣサーバー１００は、周期的に（例えば、Ｎ秒間隔）ハートビート（Heartbeat）要求メッセージをＵＲＣロボット２００に転送する。各ＵＲＣロボット２００は、ＵＲＣサーバー１００から転送されたハートビート要求メッセージによってハートビート応答メッセージをＵＲＣサーバー１００に転送するようになる。したがって、ＵＲＣサーバー１００は、ロボット２００とのネットワーク接続をチェックすることができる。
【０１３２】
前記ハートビート要求メッセージを転送したにもかかわらず、ＵＲＣサーバー１００が一定の周期内にハートビート応答メッセージを受信しない。この場合、ＵＲＣサーバー１００は、ネットワーク接続が異常であると判断する。しかし、一定の周期内にハートビート応答メッセージが受信される場合、ＵＲＣサーバー１００は、ロボット２００との連結接続が正常であると判断する。したがって、ネットワーク接続が異常状態であると判断した場合、ＵＲＣサーバー１００は、ＵＲＣロボット２００と再接続を試みて、ＵＲＣロボット２００を持続的に制御する。
【０１３３】
前述のようなメカニズム及びＵＲＣプロトコルメッセージを用いて遠隔クライアントでＵＲＣサーバーを介してロボットを制御する方法は、図１８を参照して説明する。
【０１３４】
図１８は、本発明の一実施形態に係るクライアントでロボットを遠隔制御するためのメッセージ送受信シーケンスを示す。ＵＲＣロボット２００は、起動と共にＵＲＣサーバー１００に接続し、自身が獲得した音声命令や現在映像情報のような状態情報をＵＲＣサーバー１００に転送する。ＵＲＣロボット２００は、ＵＲＣサーバー１００からの制御命令を受信し、ＵＲＣプロトコルに規約された行動を行う。
【０１３５】
遠隔クライアント３００は、遠隔でＵＲＣサーバー１００に接続され、自身が制御しようとするＵＲＣロボット２００を選択し、具現しようとするサービスのロジックによってＵＲＣロボット２００から必要な情報を獲得したり、ＵＲＣロボット２００を制御したりする。
【０１３６】
遠隔制御及びモニタリングサービスの場合、遠隔クライアント３００は、ロボット２００に映像情報と状態情報を転送すべきことを要請し、ＵＲＣロボット２００の映像と状態をチェックすることができる。また、遠隔クライアント３００は、ＵＲＣロボット２００を制御することができる。例えば、前記遠隔クライアント３００は、ロボット制御命令を通じて遠隔でＵＲＣロボット２００を移動させたり、ＵＲＣロボット２００からＳｏｕｎｄを発生したりすることができる。
このようなクライアントでロボットを制御またはモニタリングするための行動の流れは、図１８を参照して段階的に説明される。
【０１３７】
まず、図１８に示されたように、遠隔ＵＲＣクライアント３００は、ＵＲＣロボット２００を遠隔制御したり、ＵＲＣロボット３００のモニタリングサービスを提供したりするために、ＵＲＣサーバー１００にＵＲＣ＿ＣＬＩＥＮＴ＿ＬＯＧＩＮメッセージを転送し、ＵＲＣサーバー１００に接続される（Ｓ５０１）。ＵＲＣクライアント３００は、ＵＲＣサーバー１００から認証される。前記クライアント認証手続は前述したので、その詳細説明は省略する。
【０１３８】
認証が完了した後、ＵＲＣクライアント３００は、ＵＲＣサーバー１００に接続されたＵＲＣロボット２００のリストに対する情報を要求するために、ＵＲＣ＿ＧＥＴ＿ＲＯＢＯＴ＿ＬＩＳＴメッセージをＵＲＣサーバー１００に転送する（Ｓ５０２）。
ＵＲＣサーバー１００は、ＵＲＣクライアント３００の要求によってロボットリスト情報をＵＲＣ＿ＲＯＢＯＴ＿ＬＩＳＴメッセージに含んでＵＲＣクライアント３００に転送する（Ｓ５０３）。
【０１３９】
ＵＲＣクライアント３００は、ＵＲＣサーバー１００から転送されたロボットリスト情報によって制御しようとするロボットを割り当て、ロボット割当情報と該当ロボットの使用権限を要求するためのＵＲＣ＿ＡＬＬＯＣＡＴＥ＿ＲＯＢＯＴメッセージをＵＲＣサーバー１００に転送する（Ｓ５０４）。
【０１４０】
ＵＲＣサーバー１００からロボット制御のための使用権限が許与された場合、ＵＲＣクライアント３００は、該当ロボット２００の制御及び遠隔モニタリングに必要な状態情報と映像情報をモニターすることができるように、各該当イベントチャネルに加入するためのＳＵＢＳＲＩＢＥＲ＿ＥＶＥＮＴ＿ＣＨＡＮＮＥＬ（ＶＩＳＩＯＮ、ＳＹＳＴＥＭ、ＲＯＢＯＴ、ＳＴＡＴＵＳ）メッセージを転送する（Ｓ５０５、Ｓ５０６）。ＵＲＣサーバー１００は、ＵＲＣクライアント３００から転送される該当メッセージをクライアント３００により割り当てられた該当ロボット２００にインターフェーシングする。
【０１４１】
また、ＵＲＣクライアント３００は、所望のイベントチャネルに加入した後、該当ロボット２００から映像情報及び状態情報を要請するために、ＯＰＥＮ＿ＶＩＳＩＯＮメッセージ及びＯＰＥＮ＿ＳＴＡＴＵＳ＿ＭＯＮＩＴＯＲメッセージを、ＵＲＣサーバー１００を介して該当ロボット２００に転送する（Ｓ５０７、Ｓ５０８）。
【０１４２】
ＵＲＣロボット２００は、ＵＲＣクライアント３００の要請によって自身がピックアップした映像情報及び状態情報を含むＥＶＥＮＴ＿ＮＯＴＯＦＩＣＡＴＩＯＮ（ＶＩＳＩＯＮ、ＳＴＡＴＵＳ）メッセージをＵＲＣクライアント３００に転送するようになる（Ｓ５０９乃至Ｓ５１２）。
【０１４３】
ＵＲＣクライアント３００は、ロボット２００から転送される映像情報及び状態情報を用いてロボット２００の動作を制御するためのＭＯＶＥ＿ＲＯＢＯＴ（ＦＯＲＷＡＲＤ）メッセージをロボット２００に転送する（Ｓ５１３）。
【０１４４】
ロボット２００は、ＵＲＣクライアント３００の要求によって該当動作を行う。この場合、クライアント３００がロボット２００の動作状態を容易に確認し、サービス同期化のために、ロボット２００は、動作の開始時点と終了時点を正確に通知するためのＥＶＥＮＴ＿ＮＯＴＩＦＩＣＡＴＩＯＮ（ＭＯＶＥ＿ＳＴＡＲＴ）メッセージとＥＶＥＮＴ＿ＮＯＴＩＦＩＣＡＴＩＯＮ（ＭＯＶＥ＿ＥＮＤ）メッセージをＵＲＣクライアント３００に転送するようになる（Ｓ５１４、Ｓ５１５）。
【０１４５】
前述のような方法により、ＵＲＣクライアント３００は、ロボット２００から転送される映像情報と状態情報を用いて実時間にロボット２００を遠隔で制御することができる。
【０１４６】
次に、サービスが終了すれば、すなわち、ＵＲＣクライアント３００でロボット２００の遠隔制御が終了すれば、ＵＲＣクライアント３００は、ＵＲＣサーバー１００で遠隔制御されたロボットの割当を解除するためのＵＲＣ＿ＲＥＬＥＡＳＥ＿ＲＯＢＯＴメッセージをＵＲＣサーバー１００に転送する（Ｓ５１６）。また、ＵＲＣクライアント３００は、ＵＲＣサーバー１００の接続を終了するためのＵＲＣ＿ＣＬＩＥＮＴ＿ＬＯＧＯＵＴメッセージをＵＲＣサーバー１００に転送する。したがって、全てのサービスが終了する。
【０１４７】
前述したように、本発明は、特化されたメッセージフォーマットを共通のプロファイル形態のプロトコルで改善し、サービス事業者は、プロトコル階層を活用してサービスロジック中心的な開発をすることができるようになる。
したがって、新しいメッセージの追加無しに共通のインタフェースとインフラが提供されることによって、一層便利なサービスが追加されることができる。また、プロファイルを活用して遠隔でもサービスロジックを構成することができるインタフェースを提供することによって、事業者が容易にサービスを追加することができるようにした。
【０１４８】
また、サービス実行の同期化を提供するために、新しいメッセージプリミティブのフォーマットであるＲｅｑｕｅｓｔ、Ｒｅｓｐｏｎｓｅ構造を改善し、Ｅｖｅｎｔメッセージを追加した。特に、Ｅｖｅｎｔメッセージを用いて全てのロボット上で行われるサービスに対して明示的なＡｃｋｎｏｗｌｅｄｇｅを送ることによって、エラー発生を低減し、サービスロジックが一層容易になるように構成される。
【０１４９】
また、ＵＲＣ  ＨＢメッセージを追加し、ロボットやサーバーの異常状態を確認し、それによる措置を行うことができる。これは、ユーザとロボットサーバー間の状態チェックを一層効率的にすることができるようにしたものである。
【０１５０】
ネットワーク基盤のロボットが本発明で提示したプロトコルに従うことによって、ＵＲＣインフラで提供する多様な機能を活用して、ユーザに知能的で且つ状況に合うサービスを提供することができる。
【０１５１】
また、ＵＲＣクライアントは、ロボットのセンシング機能及び移動性を活用して多様なサービスを提供することができる。これは、サービスをＵＲＣサーバーだけで提供するものでなく、サービス事業者が遠隔でもサービスを提供することができるようにすることによって、ＵＲＣインフラ内で多様なビジネスモデルが創出されることができる。
【０１５２】
つまり、ＵＲＣプロトコル規約に従うロボットは、ＵＲＣインフラで提供する多様なサービスを利用することができる。ＵＲＣインフラに連動する多くのロボットは、サービス事業者に収益を創出することができる市場を提供することができるようになり、知能型ロボットサービスの普及に大きく寄与することができる。
【０１５３】
上記した本発明は、代表的な実施形態を通じて説明したが、本発明の属する技術分野における通常の知識を有する者により、後述する請求範囲に定義された範疇を逸脱しない限度内で多様な変形が可能であることが自明である。
【図面の簡単な説明】
【０１５４】
【図１】従来技術に係るロボットを制御するためのロボットとユーザホスト間のネットワークインターフェーシングを示す図である。
【図２】本発明に係るロボット制御のためのＵＲＣプロトコルの物理的構造を示す図である。
【図３】本発明の一実施形態に係るロボットを制御するためのロボットとＵＲＣサーバー間のＵＲＣプロトコルを通じて送受信される共通メッセージに対するヘッダー構造を示す図である。
【図４】本発明に係るロボットとＵＲＣサーバー間の送受信されるメッセージタイプの変化を示す図である。
【図５】本発明の一実施形態に係るＵＲＣプロトコルを利用したロボット制御システムのネットワーク連結関係を示す図である。
【図６】本発明に係るロボット制御システムにおいてロボットとクライアントがＵＲＣサーバーに接続する時、ＵＲＣサーバーからロボット及びクライアントに提供可能なサービスと該当サービスのための基本的な相互間のメッセージ送受信の流れを示す図である。
【図７】本発明に係るロボット制御方法においてロボットの音声認識サービスの提供時に、ロボットとＵＲＣサーバー間のメッセージの流れを示す図である。
【図８】本発明に係るロボット制御方法において、画像認識及び動き検出（追跡）サービスのためのロボットとＵＲＣサーバー間のメッセージ送受信の流れを示す図である。
【図９】本発明に係るロボット制御方法においてロボットの認証のためのロボットとＵＲＣサーバー間の送受信メッセージの流れを示す図である。
【図１０】本発明に係るロボット制御方法において、遠隔のクライアントでロボットの遠隔モニタリングのためにサーバーと認証メッセージの送受信の流れを示す図である。
【図１１】本発明に係るロボット制御方法にいてロボットの駆動を制御するためのロボットとＵＲＣサーバー間に送受信されるメッセージの種類を示す図である。
【図１２】本発明に係るロボット制御方法において、遠隔クライアントでＵＲＣサーバーを介してロボットを制御するための遠隔クライアントとＵＲＣサーバー間のメッセージ送受信の流れを示す図である。
【図１３】本発明の一実施形態に係るロボット制御システムの構造を示す図である。
【図１４】本発明の一実施形態に係るロボット、クライアント及びＵＲＣサーバー間に送受信されるメッセージに対する共通ヘッダー構造を示す図である。
【図１５】本発明の一実施形態に係る通信制御システムにおいて、ロボット、ＵＲＣサーバー及び遠隔クライアント間のＵＲＣプロトコルプロファイル構造を示す図である。
【図１６】本発明の一実施形態に係る通信制御システムにおいてロボットでイベントの発生時に、イベント発生ＡＣＫ稼動を示す図である。
【図１７】本発明の一実施形態に係る通信制御システムにおいてロボットとＵＲＣサーバー間に連結状態をチェックするための方法を示す図である。
【図１８】本発明に係る遠隔クライアントでロボットを制御するためのメッセージ送受信の流れを示す図である。
【符号の説明】
【０１５５】
１０、３００  クライアント
２０、１００  ＵＲＣサーバー
３０、２００  ロボット
４１  プロトコル識別子（Protocol Discriminator）フィールド
４２  プロトコルバージョン（Protocol Version）フィールド
４３  セッション（Session）ＩＤフィールド
４４  データ方向（Data Direction）フィールド
４５  データタイプ（Data Type）フィールド
４６  サービス（Service）ＩＤフィールド
４７  ペイロード長（Payload Length）フィールド
４８  リザーブ（Reserved）フィールド
４９  ペイロード（Payload）フィールド
５０  リクエストメッセージ（Request Message）
５１  認知応答メッセージ（Acknowledgement response Message）
５２  エラー認知応答メッセージ（Error Acknowledgement response Message）
５３  同期メッセージ（Synchronization Message）
５４  認証メッセージ（Authorization Message）
５５  肯定認証メッセージ（Positive Authorization Message）
５６  否定認証メッセージ（Negative Authorization Message）
５７  データメッセージ（Data Message）
５８  終了報告メッセージ（Close Report Message）
【図１】
2008529324.tif 000004
【図２】
2008529324.tif 000005
【図３】
2008529324.tif 000006
【図４】
2008529324.tif 000007
【図５】
2008529324.tif 000008
【図６】
2008529324.tif 000009
【図７】
2008529324.tif 000010
【図８】
2008529324.tif 000011
【図９】
2008529324.tif 000012
【図１０】
2008529324.tif 000013
【図１１】
2008529324.tif 000014
【図１２】
2008529324.tif 000015
【図１３】
2008529324.tif 000016
【図１４】
2008529324.tif 000017
【図１５】
2008529324.tif 000018
【図１６】
2008529324.tif 000019
【図１７】
2008529324.tif 000020
【図１８】
2008529324.tif 000021
【国際調査報告】
2008529324.tif 000022
2008529324.tif 000023