(57)【特許請求の範囲】
【請求項１】
複数のロボットと通信するロボットサーバにおいて、
前記複数のロボットの各々に対応して生成され、前記ロボットの種類による通信規約及びデータ処理方式に従うロボットプロキシを備えて前記ロボットと通信し前記ロボットから受信される命令を行って前記ロボットを制御する複数の仮想ロボット客体と、
前記複数のロボットの各々に対応する前記仮想ロボット客体を生成し、前記複数のロボットの各々と連結されれば前記複数のロボットの各々に対応する前記仮想ロボット客体を活性化する仮想ロボット客体管理部と、を備え、
前記仮想ロボット客体の各々は、
前記ロボットプロキシを介して受信した前記命令に対応して前記仮想ロボット客体の各々に対応する前記ロボットにコンテンツデータを伝送するか、前記ロボットを管理するサービスを実行する仮想客体実行部をさらに備え、
前記仮想ロボット客体管理部は、
複数のロボット種類に対応する複数のロボットプロキシを表すプログラムを保存する保存手段をさらに含み、
前記ロボットから仮想ロボット客体との連結要請を受信し、かつ前記連結要請を受けた際に前記ロボットに対応する仮想ロボット客体が存在しないときは、前記ロボットの種類を分析して該当ロボットプロキシを表すプログラムを備えるように前記ロボットに対応する前記仮想ロボット客体を生成し、生成した仮想ロボット客体を保存するとともに活性化し、
前記連結要請を受けた際に前記ロボットに対応する仮想ロボット客体が存在する場合は、前記ロボットに対応する仮想ロボット客体を読み出して活性する
ことを特徴とするロボットサーバ。
【請求項２】
前記仮想客体実行部は、
前記命令中ユーザ命令によって前記コンテンツデータを前記ロボットプロキシを介して前記ロボットに伝送するユーザ命令実行部と、
前記命令のうち、前記ロボットが備えるセンサーによって感知されたセンサーデータを含む命令に対して前記ロボットの状態を管理するか、前記ロボットを障害物から保護するサービスを前記ロボットプロキシを介して前記ロボットに提供するローカルサービス実行部と、を備えることを特徴とする請求項１に記載のロボットサーバ。
【請求項３】
前記ローカルサービス実行部は、
前記ユーザ命令のパターンを学習して前記ユーザ命令のない場合にも所定条件によって前記ロボットに前記コンテンツをサービスすることをさらに含むことを特徴とする請求項２に記載のロボットサーバ。
【請求項４】
前記コンテンツデータは、複数のコンテンツを保存するコンテンツサーバから供給されることを特徴とする請求項１に記載のロボットサーバ。
【請求項５】
バッファを備えて前記コンテンツデータを所定単位で受信して前記バッファに保存し、保存されたコンテンツデータを前記ロボットに供給するコンテンツパケット管理部をさらに備えることを特徴とする請求項１に記載のロボットサーバ。
【請求項６】
前記ロボットから認証データを受信すれば、前記認証データを分析して前記ロボットについての情報を得て、得られた情報を用いて前記仮想ロボット客体管理部を通じて該当ロボットに対応する仮想ロボット客体を活性化する認証部をさらに備えることを特徴とする請求項１に記載のロボットサーバ。
【請求項７】
前記認証データは、
前記ロボットの一連番号、認証要請命令を示す命令、前記ロボットの一連番号に対応して獲得されたロボットのモデル番号及び前記ロボットのＩＰアドレスを含むことを特徴とする請求項６に記載のロボットサーバ。
【請求項８】
ロボットにコンテンツサービスを提供するコンテンツサービスシステムにおいて、
複数のコンテンツを保存し、前記コンテンツサービスを要請されれば、要請されたコンテンツデータを伝送するコンテンツサーバと、
前記ロボットからネットワークを通じて前記コンテンツサービス要請を受信し、前記コンテンツサーバに接続して前記要請されたコンテンツデータを受信して前記ロボットに伝送するロボットサーバを含み、
前記ロボットサーバは、
前記ロボットに対応して生成され、前記ロボットから受信される前記コンテンツサービス要請を解析して前記コンテンツサーバに伝達し、前記要請されたコンテンツデータを前記コンテンツサーバから受信して前記ロボットに伝送する仮想ロボット客体と、
前記ロボットに対応する前記仮想ロボット客体を生成し、前記ロボットと連結されれば、前記仮想ロボット客体を活性化する仮想ロボット客体管理部と、を備え
前記仮想ロボット客体は、
前記ロボットの種類による通信規約及びデータ処理方式を備えて前記ロボットと通信するロボットプロキシと、
前記ロボットプロキシを介して受信した前記コンテンツサービス要請を前記コンテンツサーバに伝達し、前記要請されたコンテンツデータを前記コンテンツサーバから受信して前記ロボットに伝送する仮想客体実行部と、を備え
前記仮想ロボット客体管理部は、
複数のロボット種類に対応する複数のロボットプロキシを表すプログラムを保存する保存手段をさらに含み、
前記ロボットから仮想ロボット客体との連結要請を受信し、かつ前記連結要請を受けた際に前記ロボットに対応する仮想ロボット客体が存在しないときは、前記ロボットの種類を分析して該当ロボットプロキシを表すプログラムを含むように前記ロボットに対応する前記仮想ロボット客体を生成し、生成した仮想ロボット客体を保存するとともに活性化し、
前記連結要請を受けた際に前記ロボットに対応する仮想ロボット客体が存在する場合は、前記ロボットに対応する仮想ロボット客体を読み出して活性する
ことを特徴とするコンテンツサービスシステム。
【請求項９】
前記コンテンツサーバは、
前記コンテンツサービス要請によるパケットを解析するパケット解析部と、
前記パケットの解釈結果によって前記要請されたコンテンツの伝送の開始、中止、一時停止、再開を管理する命令を行うコンテンツロボットと、
前記要請されたコンテンツを実行して前記ロボットサーバに伝送するコンテンツ実行部と、を備えることを特徴とする請求項８に記載のコンテンツサービスシステム。
【請求項１０】
前記コンテンツサービスを受けるのに必要であり、前記ロボットに備えられた装置についての情報を前記コンテンツ実行部に提供するロボットプロキシをさらに含むことを特徴とする請求項９に記載のコンテンツサービスシステム。
【請求項１１】
前記仮想客体実行部は、
前記ロボットから前記コンテンツサービス要請のない場合にも所定条件を満足すれば、前記ロボットにコンテンツをサービスすることをさらに含むことを特徴とする請求項８に記載のコンテンツサービスシステム。
【請求項１２】
バッファを備えて前記コンテンツデータを所定単位で受信して前記バッファに保存し、保存されたコンテンツデータを前記ロボットに供給するコンテンツパケット管理部をさらに含むことを特徴とする請求項８または１１に記載のコンテンツサービスシステム。
【請求項１３】
前記ロボットが前記コンテンツサービスを要請するために前記ロボットサーバに接続すれば、前記ロボットを認証する認証サーバをさらに含むことを特徴とする請求項８に記載のコンテンツサービスシステム。
【請求項１４】
前記認証サーバは、
前記ロボットから前記ロボットサーバに接続するパケットを分析して前記パケットを構成する各フィールドの値が有効であるか否かを判断するパケット検査部と、
前記ロボットの前記ロボットサーバへの接続有無を判別し、判別結果によって以前に接続したアドレス及びポート番号または新たに獲得したアドレス及びポート番号を用いて前記ロボットサーバに接続する制御部と、を備えることを特徴とする請求項１３に記載のコンテンツサービスシステム。
【請求項１５】
前記ロボットサーバに接続するパケットは、
前記ロボットの一連番号、接続要請時間、接続要求タイプ、前記ロボットサーバのアドレス及びポート番号を示す複数のフィールドを含むことを特徴とする請求項１４に記載のコンテンツサービスシステム。
【請求項１６】
ロボットにコンテンツサービスを提供する方法において、
前記ロボットから前記コンテンツサービスの要請があれば、前記ロボットに対応する仮想ロボット客体を活性化するステップと、
前記仮想ロボット客体を通じて要請されたコンテンツを獲得して前記ロボットに伝送するステップと、を含み、
前記仮想ロボット客体を活性化するステップは、
前記要請を受けた際、前記ロボットに対応する前記仮想ロボット客体が存在するか検査するステップと、
前記ロボットに対応する前記仮想ロボット客体が存在していない場合、前記ロボットとの通信規約及びデータ処理方式を規定したロボットプロキシを設けるステップと、前記コンテンツサービス要請を解析及び処理する第１処理部を設けるステップと、前記ロボットプロキシと前記第１処理部とを含むように前記仮想ロボット客体を生成し、生成した仮想ロボット客体を保存するとともに活性化するステップと、
前記ロボットに対応する前記仮想ロボット客体が存在する場合、前記ロボットに対応する前記仮想ロボット客体を読み出して活性化するステップと、
をさらに含む
ことを特徴とするコンテンツサービス方法。
【請求項１７】
前記コンテンツサービスの要請は、その前に前記ロボットを認証した後に行われることを特徴とする請求項１６に記載のコンテンツサービス方法。
【請求項１８】
前記ロボットの認証は、
前記ロボットから接続要請パケットを受信して分析するステップと、
分析結果、前記接続要請パケットが有効であれば、前記ロボットが接続するロボットサーバのアドレス及びポート番号を獲得して該当ロボットサーバと連結するステップと、
連結されたロボットサーバは、認証パケットを受信して前記ロボットを認証するステップと、によって行われることを特徴とする請求項１７に記載のコンテンツサービス方法。
【請求項１９】
前記ロボットサーバのアドレス及びポート番号の獲得は、
以前に前記ロボットのロボットサーバへの接続有無を判断するステップと、
以前に接続したことがあるならば、該当ロボットに対応して保存されたロボットサーバのアドレス及びポート番号を読出すステップと、
初めて接続したならば、新たなロボットサーバのアドレス及びポート番号を獲得するステップと、を含むことを特徴とする請求項１８に記載のコンテンツサービス方法。
【請求項２０】
前記ロボットの状態管理、前記ロボットから伝達されるセンサーデータを利用する前記ロボットの障害物回避機能及びユーザ命令のない場合にも、ユーザにコンテンツサービスを提供する機能のうち少なくともいずれか１つを行う第２処理部を設けるステップをさらに含むことを特徴とする請求項１６に記載のコンテンツサービス方法。
【請求項２１】
前記コンテンツを獲得して前記ロボットに伝送するステップは、
前記仮想ロボット客体が複数のコンテンツを保存するコンテンツサーバに接続して前記コンテンツサービスを要請するステップと、
バッファを使用して前記コンテンツサーバから前記バッファの大きさに合うように前記コンテンツのデータを受信し、受信されたデータを前記バッファに保存するステップと、
保存されたコンテンツデータを前記ロボットに伝達するステップと、を含むことを特徴とする請求項１６に記載のコンテンツサービス方法。
【請求項２２】
前記コンテンツサービスを要請するパケットの構造は、
前記パケットの長さ、前記コンテンツサービスを要請するパケットであることを示す命令及びサブ命令、そして前記ロボットの一連番号を各々示すフィールドを含むことを特徴とする請求項２１に記載のコンテンツサービス方法。
【請求項２３】
前記受信されたデータのパケット構造は、
前記パケットの長さ、前記データのタイプ、前記ロボットの一連番号、オーディオ長、ビデオ長、制御データの長さ、オーディオデータ、ビデオデータ、制御データ及びチェックサムを各々示すフィールドを備えることを特徴とする請求項２１に記載のコンテンツサービス方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御のためのサーバ、それを含むコンテンツ提供システム及びその方法に係り、特に自体プロセシング能力がないか、あるいは劣るロボットを遠隔制御するサーバ、そのロボットにコンテンツを提供するシステム及びその方法に関する。
【背景技術】
【０００２】
現在までの大部分のロボットは、各種センサーを備え、自体プロセッサーを備えて音楽サービス、口演童話のようなストリーミング（ｓｔｒｅａｍｉｎｇ）サービスを提供し、大容量プロセシング能力を要求するコンテンツ、例えば、音声認識、映像認識またはナビゲーションのようなサービスを提供しうる。しかし、このようなサービスをいずれも提供しうるロボットは高価なので、実用性が落ちると言える。
【０００３】
また従来のネットワーク基盤のロボットは、ホームサーバまたは宅内のＰＣのようなホームネットワーク基盤のサーバにあらかじめ提供しようとするコンテンツを保存しておいて、サービスすることもある。このような従来の技術は、提供しようとするコンテンツをあらかじめ保存せねばならず、かつ多様なロボットに対応するコンテンツを提供することも難しい。また、コンテンツを提供するホームサーバとロボットとが直接通信するので、ロボットのハードウェアに損傷を与えるコンテンツに対応できないという問題点もある。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする技術的課題は、自体サービスを提供する能力がないか、あるいは劣るロボットを遠隔制御してロボットにコンテンツを提供するロボットサーバ、それを備えるコンテンツ提供システム及びその方法を提供するところにある。
【課題を解決するための手段】
【０００５】
前記技術的課題を達成するために本発明は、ロボットと通信するロボットサーバにおいて、前記ロボットに対応して生成され、前記ロボットから受信される命令を行い、前記ロボットを制御する仮想ロボット客体と、前記ロボットに対応する前記仮想ロボット客体を生成し、前記ロボットと連結されれば、前記仮想ロボット客体を活性化する仮想ロボット客体管理部と、を備えることを特徴とする。
【０００６】
前記技術的課題を達成するために本発明は、ロボットにコンテンツサービスを提供するコンテンツサービスシステムにおいて、複数のコンテンツを保存し、前記コンテンツサービスを要請されれば、要請されたコンテンツデータを伝送するコンテンツサーバと、前記ロボットからネットワークを通じて前記コンテンツサービス要請を受信し、前記コンテンツサーバに接続して前記要請されたコンテンツデータを受信して前記ロボットに伝送するロボットサーバと、を含むことを特徴とする。
【０００７】
前記技術的課題を達成するために本発明は、ロボットにコンテンツサービスを提供する方法において、前記コンテンツサービスの要請があれば、前記ロボットに対応する仮想ロボット客体を活性化するステップと、前記仮想ロボット客体を通じて要請されたコンテンツを獲得して前記ロボットに伝送するステップと、を含むことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、現在までのロボットのようにロボットを制御するか、コンテンツをユーザに提供するために、センサー情報の収集、分析及び処理を自体処理する高価型ロボットではない安価型ロボットでも行える。例えば、音楽サービス、動画具現のようなストリーミングサービスのような大容量プロセシング能力を要求する高級サービスをロボットサーバの処理能力を通じてサーバ側システム構造の変更なしに提供するか、複数のロボットを遠隔制御しうる。
【０００９】
また本発明は、ユーザの命令解析及び実行、ロボットとの通信をロボットサーバで処理し、コンテンツデータの生成と実行は、コンテンツサーバで行ってロボットサーバを通じてロボットに伝達することによって、ロボットサーバは、コンテンツデータに対する再加工及びコンテンツデータの修正を通じて同じコンテンツに対してもユーザに差別化されたサービスを提供しうる。
【発明を実施するための最良の形態】
【００１０】
以下、添付された図面を参照して本発明を詳細に説明する。
【００１１】
図１は、本発明によるコンテンツ提供システムを概略的に示す構成図である。示されたコンテンツ提供システムは、宅内１に位置したロボット１０及び無線アクセスポイント（Ａｃｃｅｓｓ  Ｐｏｉｎｔ：ＡＰ）１０、無線ＡＰ１１を通じてロボット１０と通信する認証サーバ１２、ロボットサーバ１３及びコンテンツサーバ１４を含む。ここで、認証サーバ１２、ロボットサーバ１３及びコンテンツサーバ１４は、各々有線で連結されることが望ましい。
【００１２】
認証サーバ１２は、ロボットサーバ１３に接続しようとするロボット１０を認証する。ロボットサーバ１３は、入力されたユーザ命令を解析して実行し、内蔵された仮想ロボット客体を通じてロボット１０を管理及び制御する。コンテンツサーバ１４は、ロボットサーバ１３を通じてロボット１０にコンテンツを提供する。
【００１３】
ロボット１０は、自体コンテンツサービスを提供できない中低価ロボットであるか、自体コンテンツサービスを提供しうる高価のロボットであり得る。
【００１４】
ここで、１つのロボットサーバ１３は、いろいろなロボット１０を管理でき、ロボットサーバ１３は１つまたは複数のサーバで構成され、コンテンツサーバ１４も１つまたは複数のサーバで構成されうる。
【００１５】
図２は、図１の認証サーバ１２の内部ブロック図である。図示された認証サーバ１２は、パケット検査部１２１、制御部１２２及び保存部１２３を含む。図３は、認証サーバ１２で実行される認証過程を示すフローチャートである。
【００１６】
まず、パケット検査部１２１は、ロボット１０からロボットサーバ１３への接続のための接続要請パケットを受信すれば、受信した接続要請パケットを分析する（ステップ３１）。
【００１７】
図４は、接続要請パケットの構造を示す図面である。接続要請パケットは、ロボット１０の一連番号を示すＲＳＮ（Ｒｏｂｏｔ  Ｓｅｒｉａｌ  Ｎｕｍｂｅｒ）フィールド４１、接続要請時間を示すＴＳ（Ｔｉｍｅ  Ｓｔａｍｐ）フィールド４２、接続要求タイプを示すＲＴ（Ｒｅｑｕｅｓｔ  Ｔｙｐｅ）フィールド４３、ロボットサーバアドレスフィールド４４及びロボットサーバポートフィールド４５を含む。
【００１８】
接続要請時に、ロボットサーバアドレスフィールド４４とロボットサーバポートフィールド４５は、空いている状態に伝えられる。
【００１９】
パケット検査部１２１は、受信した接続要請パケットの各フィールドが適切な値を有するかを検査して有効であるか否かを確認すれば（３２ステップ）、制御部１２２は以前にロボット１０がロボットサーバ１３に接続したか否かを判断する（ステップ３３）。以前に接続したか否かについての判断は、接続要請パケットのＲＳＮフィールド４１に含まれたロボットの一連番号を読出した後、保存部１２３に保存されたロボット接続テーブル（図示せず）に該当ＲＳＮ値が含まれているかを検査することによってなされる。
【００２０】
以前にロボットサーバ１３に接続したことがなければ、保存部１２３に保存されたロボットサーバ目録テーブル（図示せず）から接続するロボットサーバのアドレスとポート番号とを獲得する（ステップ３４）。
【００２１】
以前にロボットサーバ１３に接続したことがあるならば、制御部１２２はロボット接続テーブルから獲得したロボットサーバ１３のアドレスとポート番号とを初めて接続した場合であれば、ロボットサーバ目録テーブルから獲得したロボットサーバ１３のアドレスとポート番号とを用いて該当ロボットサーバに連結し、認証を要請する（３５ステップ）。
【００２２】
図５は、認証要請時に使われるパケットの構造を示す図面である。図示された認証パケットは、ＲＳＮフィールド５１、認証要請命令を示す命令フィールド５２、ロボットの一連番号に対応して獲得されたロボットのモデル番号を示すフィールド５３及びロボットのＩＰアドレスを示すフィールド５４を含む。
【００２３】
ロボットサーバ１３から認証がなされれば（ステップ３６）、制御部１２２は、最初接続の場合、次回接続時に同じロボットサーバ１３に接続可能にロボット１０のＲＳＮ、ロボットサーバ１３のアドレス及びポート番号とをロボット接続テーブルに追加登録する（３８ステップ）。次いで、図４のパケットでロボットサーバアドレスフィールド４４及びロボットサーバポートフィールド４５を該当値で満たしてロボット１０に伝送する（ステップ３９）。次いで、ロボット１０は、該当ロボットサーバアドレス及びポート番号を用いてロボットサーバと通信する。
【００２４】
ステップ３６で認証がなされなければ、接続対象のロボットサーバが動作しないことを示すので、制御部１２２は他のロボットサーバに接続するようにステップ３４に進め、ロボットサーバ目録テーブルで他のロボットサーバのアドレス及びポートを獲得した後、ステップ３５に進める。
【００２５】
図６は、図１のロボットサーバ１３についての詳細ブロック図である。
【００２６】
図示されたロボットサーバ１３は、認証部６１、仮想ロボット客体管理部６２、仮想ロボット客体６３、パケット分配部６４及び資源（ｒｅｓｏｕｒｃｅ）管理部６５を含む。
【００２７】
認証部６１は、認証サーバ１２の制御部１２２から送信された認証パケットを受信して分析し、現在接続要請したロボット１０を認証する。
【００２８】
図７は、図６の認証部６１で行われる認証過程についてのフローチャートである。
【００２９】
認証部６１は、制御部１２２から受信した認証パケットからロボット１０についての情報を獲得する（ステップ７１）。認証部６１は、獲得された情報を仮想ロボット客体管理部６２に伝達し、仮想ロボット客体管理部６２は、該当ロボット１０に対応する仮想ロボット客体の有無を判別する（ステップ７２）。仮想ロボット客体があるならば、該当仮想ロボット客体６３を活性化する（７３ステップ）。該当仮想ロボット客体がなければ、仮想ロボット客体管理部６２は、そのロボット１０に対応する仮想ロボット客体６３を生成した後（ステップ７４）、活性化する（ステップ７３）。
【００３０】
仮想ロボット客体６３は、データ伝送部６３１、ロボットプロキシ６３２、仮想客体実行部６３３及びコンテンツパケット管理部６３４を含む。また仮想客体実行部６３３は、ユーザ命令実行部６３３１及びローカルサービス実行部６３３２を含む。このような要素で構成された仮想ロボット客体６３の生成過程は次の通りである。
【００３１】
まず、仮想ロボット客体管理部６２は、仮想客体ロボット６３にロボット１０と通信のための同期／非同期通信ポートを割り当てる。次いで、該当ロボット１０との通信規約及びデータ処理などのためのロボットプロキシ６３２を保存手段６２−１から読出して仮想客体ロボット６３２に設ける。接続するロボットの種類が多様であり、それによる通信規約及びデータ処理方法が多様であるために、接続するロボットの種類に対応する客体としてロボットプロキシ６３２は、仮想ロボット客体６３の一要素として構成され、認証サーバ１２から得られたロボットモデルを参考にして保存手段６２−１から読出される。ロボットプロキシ６３２についての情報は、ＸＭＬ文書のようなテキストの形で保存手段６２−１に保存されている。
【００３２】
仮想ロボット客体管理部６２は、また割当てられた同期／非同期通信ポートを通じた通信のためにデータ伝送部６３１を仮想ロボット客体６３に設け、コンテンツサーバ１４からコンテンツデータをパケット単位で保存及び管理するコンテンツパケット管理部６３４、ユーザ命令を解析して実行するユーザ命令実行部６３３１及び仮想ロボット客体６３の内部状態管理、障害物からロボット１０の保護、ユーザ命令のない時、ユーザのための感性基盤サービスなどを行うローカルサービス実行部６３３２をさらに設ける。
【００３３】
仮想ロボット客体管理部６２は、仮想ロボット客体６３を管理し、複数の仮想ロボット客体６３についての生命周期管理及びユーザ情報／設定情報などを仮想ロボット客体６３に伝達する。ここで、生命周期とは、ロボット１０のパワーがオン（ｏｎ）状態ならば、該当仮想ロボット客体６３を保持し、ロボット１０のパワーがオフ（ｏｆｆ）になれば、該当仮想ロボット客体６３を一定時間保持するか、削除することを言う。
【００３４】
認証部６１は、仮想ロボット客体６３が活性化されれば、認証サーバ１２に認証されたことを知らせる。認証がなされれば、仮想ロボット客体６３は、ロボット１０から最初接続による連結パケットであるＨｅｌｌｏＰａｃｋｅｔを受信する（ステップ７５）。仮想ロボット客体６３は、ロボット１０から受信したＨｅｌｌｏＰａｃｋｅｔからロボット１０のＩＰアドレス及びポート番号を登録することによってサービスする準備をする（７６ステップ）。
【００３５】
ロボットプロキシ６３２は、データ伝送部６３１を通じてロボット１０と通信する。通信は、パケットデータ単位で同期／非同期からなる。同期／非同期通信のためのチャンネルは、ＴＣＰ／ＩＰ、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  ｐｒｏｔｏｃｏｌ）／ＩＰを含んでジャバＲＭＩ（Ｒｅｍｏｔｅ  ＭｅｔｈｏｄＩ  ｎｖｏｃａｔｉｏｎ）、ＣＯＲＢＡ（Ｃｏｍｍｏｎ  Ｏｂｊｅｃｔ  Ｒｅｑｕｅｓｔ  Ｂｒｏｋｅｒ  Ａｒｃｈｉｔｅｃｔｕｒｅ）など多様な形態のプロトコルで構成されうる。同期通信は、ロボットの動作、音声または映像表示において切れ目を無くすためのものであり、非同期通信は、緊急を要するシステム命令またはセンサー情報のようにいずれかを一方的に伝送するためのことである。
【００３６】
非同期通信の場合、データ伝送部６３１は、ロボット１０から非同期データを受信した後、そのロボット１０に対応する仮想ロボット客体６３についての情報を仮想ロボット客体管理部６２から得て、該当仮想ロボット客体６３のロボットプロキシ６３２に非同期データを伝達する。ロボットプロキシ６３２は、伝えられた非同期データを解析し、それによる動作を行う。
【００３７】
パケット分配部６４からロボットプロキシ６３２に非同期データを伝達する方法は、仮想ロボット客体６３に対応する関数を呼び出すか、イベント方式で行われうる。またロボット１０から受信される非同期データの場合、その伝達方式においても、ロボット１０が非同期データをロボットサーバ１３に伝送する方式とロボットサーバ１３がロボット１０に非同期データを要求して伝送される方式とがいずれも使われうる。
【００３８】
同期／非同期データについての処理方式は、ロボットの類型ごとに定義する規約及び処理方法が異なりうるために、本発明ではロボットプロキシ６３２がロボット１０との通信規約及びデータ処理方法を担当する。
【００３９】
仮想客体実行部６３３は、ロボット１０からユーザが入力した命令を受信し、受信されたユーザ命令を解析して実行し、障害物からロボット１０を保護し、ユーザのための感性基盤サービスを行う。
【００４０】
ユーザ命令実行部６３３１は、ユーザ命令が音声であれば、資源管理部６５の自動音声認識（Ａｕｔｏｍａｔｉｃ  Ｓｐｅｅｃｈ  Ｒｅｃｏｇｎｉｔｉｏｎ：ＡＳＲ）機能を通じて外部のＡＳＲサーバと接続して音声命令データを伝送し、音声命令についての文字列またはシンボル形態を受けて解析して実行する。ユーザ命令が文字列からなるものであれば、文字列に対する音声発声のために資源管理部６５のＴＴＳ（Ｔｅｘｔ−Ｔｏ−Ｓｐｅｅｃｈ）機能を通じて文字列を音声データに変換してロボット１０に伝送する。
【００４１】
ローカルサービス実行部６３３２は、ロボット１０から受信される感知データを用いてロボット１０に障害物回避命令を伝送する。ロボット１０は、各種センサーを備え、センサーを通じて感知されたデータをローカルサービス実行部６３３２に伝送する。現在まで大部分のロボットは、自体センサー情報を用いてロボット内で障害物探知及び回避機能を行うが、その場合、高性能のプロセッサーを備えなければならない。したがって、そのような高性能プロセッサーを備えていない安価型ロボットは、そのような処理能力がないので、外部から頭脳の役割を代替する装置が必要である。本発明では、ロボットサーバ１３を通じて自体高性能プロセッサーを備えていない安価型ロボットに対する障害物探知及び回避機能を行う。
【００４２】
ローカルサービス実行部６３３２は、またユーザの感性に基づくサービスを提供しうる。現在まで大部分のロボットは、ユーザの命令によって所望のサービスを提供した。そのような実施形態によれば、一定の時間が経過したか、ユーザ命令のないままで一定の時間が経過した場合、ロボット１０はユーザの意図をあらかじめ分析してユーザに適切なサービスを提供しうる。例えば、午後３時には、ユーザの命令がなくても、ユーザが愛聴する音楽をコンテンツサーバ１４から受信して聞かせるなどの知能的なサービスを提供しうる。このような知能的なサービスを提供するためにロボット１０は、以前に行われたユーザ命令あるいは履歴事項に基づいてユーザの習慣または好みを学習することによって、ユーザの意図をあらかじめ分析する。学習は、前述したように同じ時間帯に入力されるユーザ命令が所定回数以上反復されるパターンを保存することによって、該当時間帯にユーザ命令がなくても実行させうる。
【００４３】
コンテンツパケット管理部６３４は、ユーザ命令実行部６３３１またはローカルサービス実行部６３３２がコンテンツサーバ１４に連結してコンテンツデータを受信し、受信したコンテンツデータをロボット１０に提供する時、通信チャンネルの状態によってオーバフロー（ｏｖｅｒｆｌｏｗ）が発生しないようにコンテンツデータをパケット単位で一時保存して伝送する。
【００４４】
図８は、本発明によるコンテンツサービス方法についてのフローチャートを示す図面である。まず、ロボット１０は、ユーザに提供しうるコンテンツ目録を提示し、ユーザから音声命令またはロボット１０に装着されているボタンまたはタッチスクリーンを用いたユーザ選択を入力される（８１ステップ）。ロボット１０は、ユーザ選択をロボットサーバ１３のユーザ命令実行部６３３１に伝達する。ユーザ命令実行部６３３１は、ユーザ命令を行うためにコンテンツサーバ６３４に連結する（８２ステップ）。コンテンツパケット管理部６３４は、通信連結状態を保持しつつ、コンテンツサーバ１４からユーザが要請したサービスについてのコンテンツデータを受信してバッファ（図示せず）に順次に保存する（８３ステップ）。
【００４５】
図９Ａ及び図９Ｂは、ユーザ命令実行部６３３１またはローカルサービス実行部６３３２とコンテンツサーバ１４との間でコンテンツデータを送受信するためのコンテンツパケット構造及びシステム命令パケット構造を示す図面である。ここで、ＰＬは、パケット長、ＤＴは命令（ＣＭＤ）またはサブ命令（ＳＣＭＤ）を示すフィールドである。ＲＳＮはロボット１０の一連番号、ＡＬはオーディオ長、ＶＬはビデオ長、ＣＬは制御データ長を示すフィールドである。ＡＤはオーディオデータ、ＶＤはビデオデータ、ＣＤは制御データを示す。ＣＳはパケットのエラー発生有無を点検するためのチェックサム（ｃｈｅｃｋｓｕｍ）を示すフィールドである。
【００４６】
コンテンツパケット管理部６３４は、バッファの大きさ及びロボット１０とのチャンネル連結状態によって保存されたコンテンツデータを読出して、図９Ａのような形式に変換した後、ロボット１０に伝送する（ステップ８４）。例えば、バッファが小さく、チャンネル帯域幅が小さければ、コンテンツサーバ１３からコンテンツデータの伝送を遅延するなどの方法でオーバフローの発生を防止する。ロボット１０は、受信したコンテンツパケットをスピーカーまたはディスプレイ装置を通じてユーザに提供する（８５ステップ）。
【００４７】
コンテンツサービスの他の例として、ローカルサービス実行部６３３２は、前述したような学習内容によってユーザ命令が一定時間ないか、あるいは一日中のある時間になれば、ユーザが頻繁に用いるコンテンツをユーザに提供するためにステップ８１のようにコンテンツサーバ１４に連結することもある。以下、ステップ８２ないし８５の過程は同一であり、その過程は、ローカルサービス実行部６３３２とコンテンツパケット管理部６３４との間で行われる。
【００４８】
このように、ロボット１０とロボットサーバ１３との間には、無線通信が行われ、ロボットサーバ１３とコンテンツサーバ１４との間には、有線通信が行われる。現在のネットワーク環境で無線通信は、有線通信に比べて伝送速度が顕著に落ちてパケットの損失が多発する。したがって、有線通信区間のロボットサーバ１３とコンテンツサーバ１４との間の通信においてパケットデータ伝送制御を必要とする。そうでなければ、無線区間であるロボットサーバ１３とロボット１０とのパケット伝送において再伝送がが必要となれば、有線区間でのパケットデータが増加する。この場合、ハードウェア的な保存空間の制約によって有線区間のパケットデータを保存できなくなり、メモリ超過エラーが発生する。例えば、有線区間のパケットデータをいずれも保存できるとしても、対話を必要とするリアルタイム性サービスまたはリアルタイムでコンテンツデータを伝送せねばならない場合、過去のデータがロボット１０に伝送されてしまう問題が発生する。
【００４９】
従って、本発明ではこのような問題点を解決するためにコンテンツパケット管理部６３４がコンテンツデータをバッファに保存して伝送を制御する。バッファの大きさは、ロボット１０の類型とその処理能力によって決まりうる。
【００５０】
図１０の上段は、本発明に採用されたバッファが満ちている場合のバッファ同期化プロトコルを示した図面である。図面を参照すれば、バッファが満ちている場合、コンテンツパケット管理部６３４は、コンテンツサーバ１４にＢＵＦ＿ＦＵＬＬを伝送し（１０１ステップ）、コンテンツサーバ１４はＢＵＦ＿ＬＯＷが受信されるまで待機する（１０２ステップ）。
【００５１】
図１０の下段は、本発明に採用されたバッファが空いているか、一部のみ満ちている場合のバッファ同期化プロトコルを示す図面である。図面を参照すれば、バッファが空いている場合、コンテンツパケット管理部６３４は、コンテンツサーバ１４にＢＵＦ＿ＬＯＷを伝送し（ステップ１０３）、コンテンツサーバ１４は、パケットを伝送する（ステップ１０４）。
【００５２】
本発明でこのようなバッファ同期化プロトコルを採択した理由は、ロボットサーバ１３のデータ保存資源（図示せず）が限定されているためである。また保存手段に保存できるとしても、多量のコンテンツデータを処理することによって発生する処理遅延によってユーザとのリアルタイム対話が必要なサービスはロボット１０が適切に対応できない恐れがあり、ラジオストリーミング（ｒａｄｉｏ  ｓｔｒｅａｍｉｎｇ）のように一方的に伝送するストリーミングサービスの場合、多量のデータによってリアルタイムサービスが難しくなるためである。
【００５３】
このようなバッファ同期化プロトコルは、ロボット１０とコンテンツパケット管理部６３４との間にも適用されうる。すなわち、コンテンツパケット管理部６３４は、ロボット１０からバッファ状態を示す信号を受信し、バッファがオーバフローされないようにコンテンツデータの伝送を制御する。
【００５４】
図１１は、コンテンツサーバ１４についての詳細ブロック図である。図示されたコンテンツサーバ１４は、パケット送受信部１４１、パケット解析部１４２、コンテンツロボット１４３、コンテンツ実行部１４４及びロボットプロキシ１４５を含む。また、コンテンツサーバ１４は、音声認識、音声変換あるいはＴＴＳ機能を提供するために資源管理部１４６をさらに含みうる。
【００５５】
パケット送受信部１４１は、ロボットサーバ１３のコンテンツパケット管理部６３４とパケットを送受信し、パケット解析部１４２は、パケット送受信部１４１を通じて受信されたパケットの種類または内容を解析する。このパケットは、図９Ａまたは図９Ｂに示された構造を有するパケットであり、各フィールド値を用いてコンテンツ要請またはコンテンツ実行開始のような命令を解析する。コンテンツロボット１４３は、パケット解析部１４２の解釈結果によって該当命令を行う。例えば、命令によってコンテンツの開始、中止、一時停止、再開または通信状態感知のようなコンテンツのライフサイクル（ｌｉｆｅ  ｃｙｃｌｅ）を管理する。コンテンツ実行部１４４は、要請されたコンテンツを外部ＤＢ１からローディングし、実行してパケット送受信部１４１を通じてコンテンツパケット管理部６３４に伝送する。ロボットプロキシ１４５は、パケット解析部１４２を通じて伝えられるロボット１０についての情報に基づいて外部ＤＢ２から該当ロボット１０に備えられたセンサー、ロボット１０を駆動するアクチュエーター及びコンテンツサービスのためのロボット１０の他の装置についての情報、例えば、プロセッサーの仕様などを読出して持っており、コンテンツ実行部１４４にこのような情報を提供することによって、ロボット１０の環境に合うコンテンツサービスを提供する。コンテンツ開発者は、ロボットプロキシ３０３を含むコンテンツを標準ＡＰＩやＸＭＬの形で開発せねばならない。
【００５６】
本発明はまた、コンピュータで読取り可能なコードとして具現できる。コンピュータで読取り可能な記録媒体は、コンピュータシステムによって読取り可能なデータが保存されるあらゆる種類の記録装置を含む。コンピュータが読取り可能な記録媒体の例としては、ＲＯＭ、ＲＡＭ、ＣＤ＿ＲＯＭ、磁気テープ、フロッピーディスク及び光データ保存装置などがあり、またキャリアウェーブ、例えば、インターネットを介した伝送の形で具現されることも含む。また、コンピュータで読取り可能な記録媒体は、ネットワークに連結されたコンピュータシステムに分散され、分散方式としてコンピュータで読取り可能なコードとして保存されて実行されうる。
【００５７】
以上、図面と明細書で最適の実施形態が開示された。ここで、特定の用語が使われたが、これは単に本発明を説明するための目的で使われたものであり、意味限定や特許請求の範囲に記載された本発明の範囲を制限するために使われたものではない。したがって、当業者ならば、これより多様な変形及び均等な他実施形態が可能であるという点を理解できるであろう。したがって、本発明の真の技術的保護範囲は、特許請求の範囲の技術的思想により決まるべきである。
【産業上の利用可能性】
【００５８】
本発明は、ロボットを遠隔制御するか、ロボットにコンテンツを提供することによって、ユーザにロボットを介したコンテンツサービスを提供する技術分野に適用されうる。
【図面の簡単な説明】
【００５９】
【図１】本発明によるコンテンツ提供システムの概略的な構成図である。
【図２】図１の認証サーバの内部ブロック図である。
【図３】認証サーバで実行される認証過程を示すフローチャートである。
【図４】接続要請パケットの構造を示す図面である。
【図５】認証要請時に使われるパケットの構造を示す図面である。
【図６】ロボットサーバについての詳細ブロック図である。
【図７】図６の認証部で行われる認証過程についてのフローチャートである。
【図８】本発明によるコンテンツサービス方法についてのフローチャートである。
【図９Ａ】図６のユーザ命令実行部またはローカルサービス実行部とコンテンツサーバとの間にコンテンツデータを送受信するためのコンテンツパケット構造を示す図面である。
【図９Ｂ】図６のユーザ命令実行部またはローカルサービス実行部とコンテンツサーバとの間にコンテンツデータを送受信するためのシステム命令パケット構造を示す図面である。
【図１０】本発明に採用されたバッファが満ちている場合のバッファ同期化プロトコルと、本発明に採用されたバッファが空いているか、一部のみが満ちている場合のバッファ同期化プロトコルとを示す図面である。
【図１１】コンテンツサーバについての詳細ブロック図である。
【符号の説明】
【００６０】
１０    ロボット
１３    ロボットサーバ
６１    認証部
６２    仮想ロボット客体管理部
６３    仮想ロボット客体
６４    パケット分配部
６５    資源管理部
６３１    データ伝送部
６３２    ロボットプロキシ
６３３    仮想客体実行部
６３４    コンテンツパケット管理部
６３３１    ユーザ命令実行部
６３３２    ローカルサービス実行部
【図１】
0004712678.tif 000002
【図２】
0004712678.tif 000003
【図３】
0004712678.tif 000004
【図４】
0004712678.tif 000005
【図５】
0004712678.tif 000006
【図６】
0004712678.tif 000007
【図７】
0004712678.tif 000008
【図８】
0004712678.tif 000009
【図９Ａ】
0004712678.tif 000010
【図９Ｂ】
0004712678.tif 000011
【図１０】
0004712678.tif 000012
【図１１】
0004712678.tif 000013