JP2004318862A - 情報提供装置及び方法、並びに情報提供システム - Google Patents

情報提供装置及び方法、並びに情報提供システム Download PDF

Info

Publication number
JP2004318862A
JP2004318862A JP2004097032A JP2004097032A JP2004318862A JP 2004318862 A JP2004318862 A JP 2004318862A JP 2004097032 A JP2004097032 A JP 2004097032A JP 2004097032 A JP2004097032 A JP 2004097032A JP 2004318862 A JP2004318862 A JP 2004318862A
Authority
JP
Japan
Prior art keywords
robot device
function
robot
information
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004097032A
Other languages
English (en)
Inventor
Masanori Omote
雅則 表
Masahiro Fujita
雅博 藤田
Haru Kato
晴 加藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2004097032A priority Critical patent/JP2004318862A/ja
Publication of JP2004318862A publication Critical patent/JP2004318862A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】 ハードウェア構成やプラットフォームの相違がある複数のロボット装置に対してデータやプログラムを好適に提供する。
【解決手段】 ロボット装置とサーバは、SOAPプロトコルに従って通信を行う。ロボット装置からの問い合わせに記述されているサービス要求に関する情報と、ロボット装置に関する情報を、データやプログラムの付加情報とマッチングをとることにより、ハードウェア構成やプラットフォームの相違がある複数のロボット装置が存在するマルチプラットフォーム環境下で、個々のロボット装置に適したデータやプログラムを好適に提供する。
【選択図】 図5

Description

本発明は、ネットワーク経由でデータやプログラムを提供する情報提供装置及びその方法、並びに情報提供システムに係り、特に、ネットワーク経由でロボット装置にデータやプログラムを提供する情報提供装置及びその方法、並びに情報提供システムに関する。
さらに詳しくは、本発明は、ハードウェア構成やプラットフォームの相違がある複数のロボット装置に対してデータやプログラムを提供する情報提供装置及びその方法、並びに情報提供システムに係り、特に、個々のロボット装置のハードウェア構成やプラットフォームの相違に応じたデータやプログラムを提供する(すなわち、「マルチロボット・プラットフォーム」を提供する)情報提供装置及びその方法、並びに情報提供システムに関する。
電気的又は磁気的な作用を用いて人間の動作に似せた運動を行う機械装置のことを「ロボット」という。ロボットの語源は、スラブ語の“ROBOTA(奴隷機械)”に由来すると言われている。我が国でロボット装置が普及し始めたのは1960年代末からであるが、その多くは、工場における生産作業の自動化・無人化などを目的としたマニピュレータや搬送ロボットなどの産業用ロボット装置(industrial robot)であった。
ロボット装置の用途の1つとして、産業活動・生産活動等における各種の難作業の代行が挙げられる。例えば、原子力発電プラントや火力発電プラント、石油化学プラントにおけるメンテナンス作業、製造工場における部品の搬送・組立作業、高層ビルにおける清掃、火災現場その他における救助といったような危険作業・難作業の代行などである。
また、ロボット装置の他の用途として、上述の作業支援というよりも、生活密着型、すなわち人間との「共生」或いは「エンターテインメント」という用途が挙げられる。この種のロボット装置は、ヒト或いはイヌ(ペット)、クマなどの比較的知性の高い脚式歩行動物の動作メカニズムや四肢を利用した豊かな感情表現を忠実に再現する。また、予め入力された動作パターンを単に忠実に実行するだけではなく、ユーザ(或いは他のロボット装置)から受ける言葉や態度(「褒める」とか「叱る」、「叩く」など)に対して動的に対応した、生き生きとした応答表現を実現することも要求される。
最近では、2足歩行、4足歩行、タイヤ式など、様々なタイプの移動ロボットが各社から提供されるようになってきている。
ところで、ロボット装置を動作させるためには、機体動作を記述したモーション・データや、外部刺激や内部状態に応じた行動制御を行うアプリケーションなど、様々なソフトウェアが必要である。ところが、必要と思われる全てのソフトウェアを予めロボット装置にインストールしておくことはメモリ容量の制限から無理がある。また、バージョンの変更や新製品の登場などによって、出荷した後任意のタイミングでソフトウェアをインストールする必要がある。
そこで、ネットワーク上にあるサーバから新たなソフトウェアをロボット装置にダウンロードするといった、ソフトウェアをロボット装置に供給する仕組みが必要であると考えられる(例えば特許文献1を参照)。
ところが、ネットワークからロボット装置用のサービス或いはコンテンツを供給する場合、ロボット装置の種類がその製造元により異なり、或いは同じ製造元であってもハードウェア構成やプラットフォーム(搭載されているオペレーティング・システム(OS)やミドルウェア、アプリケーション、コンテンツ)の相違があるため、複数のロボット装置に対してそれぞれ別々のサービスやコンテンツを提供しなければならないという不都合がある。
特開2003−288299号公報
本発明の目的は、ハードウェア構成やプラットフォームの相違がある複数のロボット装置に対してデータやプログラムを好適に提供することができる、優れた情報提供装置及びその方法、並びに情報提供システムを提供することにある。
本発明のさらなる目的は、ハードウェア構成やプラットフォームの相違がある複数のロボット装置が存在するマルチプラットフォーム環境下で、個々のロボット装置に適したデータやプログラムを好適に提供することができる、優れた情報提供装置及びその方法、並びに情報提供システムを提供することにある。
本発明に係る情報提供装置は、上記課題を参酌してなされたものであり、ネットワーク経由でロボット装置にデータ又はプログラムを提供する情報提供装置であって、ロボット装置に提供するデータ又はプログラムが蓄積されたコンテンツ蓄積手段と、ロボット装置からサービス要求に関する情報と該ロボット装置に関する情報とを含む問い合わせを受信する受信手段と、上記問い合わせを解析する解析手段と、要求されたサービスに応じたデータ又はプログラムを上記ロボット装置に送信する送信手段とを備えることを特徴とするものである。
但し、この情報提供装置は、複数の装置(又は特定の機能を実現する機能モジュール)が論理的に集合したものを含み、各装置や機能モジュールが単一の筐体内にあるか否かは特に問わない。
ここで、情報提供装置は、SOAP(Simple Object Access Protocol)プロトコルに従ってロボット装置と通信を行うようにしてもよい。
SOAP(Simple Object Access Protocol)は、他のシステム上のデータやサービスを呼び出すためのプロトコルであり、XML(eXtended Markup Language)やHTTP(Hyper Text Transfer Protocol)をベースとして構成される。SOAPによる通信では、XMLドキュメントに付帯情報が付けられたメッセージ(エンベロープ)を、HTTPなどのプロトコルで交換する。クライアントとサーバの双方がSOAPの生成及び解釈を行うエンジンを装備することで、異なる環境間でのオブジェクト呼び出しが可能となる。
本発明に係る情報提供装置は、上記コンテンツ蓄積手段に蓄積されるデータ又はプログラムに関する付加情報を管理するデータベースと、上記問い合わせと上記データベースの付加情報とのマッチングをとり、提供可能なデータ又はプログラムのリストを作成してロボット装置に返す手段とをさらに備えてもよい。
また、本発明に係る情報提供装置は、上記提供可能なデータ又はプログラムのリストに対する上記ロボット装置からの選択結果に応答して、該選択されたデータ又はプログラムへのアクセス方法を返す手段をさらに備えてもよく、この場合、上記送信手段は、上記ロボット装置からの上記アクセス方法に従ったアクセス要求に応答して、要求されたデータ又はプログラムを送信する。
ここで、上記データ又はプログラムに関する付加情報は、サービスに関する情報と、ロボット装置に関する情報とを含むものとする。
このような情報提供装置によれば、ロボット装置からの問い合わせに含まれているサービス要求に関する情報及びロボット装置に関する情報を、データ又はプログラムの付加情報とマッチングをとることにより、ハードウェア構成やプラットフォームの相違がある複数のロボット装置が存在するマルチプラットフォーム環境下においても、個々のロボット装置に適したデータやプログラムを好適に提供することができる。
ここで、ロボット装置に関する情報は、以下に示す情報のうち少なくとも一部を含むものとする。
(1)ロボット装置毎にユニークに割り振られるロボット固有ID
(2)ロボット装置の種類毎にユニークに割り振られるロボット種類ID
(3)ロボット装置の機能リスト
(4)ロボット装置のハードウェア構成を示す情報
(5)ロボット装置が持つデータベース・リスト
また、本発明に係る情報提供装置は、上記ロボット装置に関する情報がロボット装置の機能リストを少なくとも含む場合、上記ロボット装置がサービスを実行する際に必要な必要機能を特定する必要機能特定手段と、上記必要機能特定手段により特定された必要機能と、上記ロボット装置の機能リストとを比較することで、上記必要機能のうち上記ロボット装置に不足している不足機能を特定する不足機能特定手段とをさらに備えてもよく、この場合、上記送信手段は、上記不足機能を該ロボット装置が利用可能な機能で代替させるためのデータ又はプログラムを送信する。
また、本発明に係る情報提供装置は、上記ロボット装置に関する情報が同様にロボット装置の機能リストを少なくとも含む場合、ロボット装置で利用される機能オブジェクトが記憶されたオブジェクト記憶手段と、上記ロボット装置がサービスを実行する際に必要な必要機能を特定する必要機能特定手段と、上記必要機能特定手段により特定された必要機能と、上記ロボット装置の機能リストとを比較することで、上記必要機能のうち上記ロボット装置に不足している不足機能を特定する不足機能特定手段と、上記不足機能に対応する不足機能オブジェクトを上記オブジェクト記憶手段から検索する検索手段とをさらに備えてもよく、この場合、上記送信手段は、上記要求されたサービスに応じたデータ又はプログラムと共に、上記不足機能オブジェクトを上記ロボット装置に送信する。
このような情報提供装置によれば、ロボット装置からの問い合わせに含まれているロボット装置に関する情報のうちロボット装置の機能に関する情報を考慮し、ロボット装置がサービスを実行する際に必要な必要機能のうち該ロボット装置に不足している不足機能をそのロボット装置が利用可能な機能で代替させるためのデータ又はプログラム、或いは不足機能に応じた不足機能オブジェクトを送信することにより、ミドルウェアの機能に相違がある複数のロボット装置が存在するマルチプラットフォーム環境下においても、個々のロボット装置に対してサービスを実行可能とすることができる。
本発明に係る情報提供システムは、上記課題を参酌してなされたものであり、ロボット装置と上述したような情報提供装置とを備えることを特徴とするものである。
本発明の更に他の目的、本発明によって得られる具体的な利点は、以下に説明される実施例の説明から一層明らかにされるであろう。
本発明に係る情報提供装置及びその方法、並びに情報提供システムによれば、ハードウェア構成やプラットフォームの相違がある複数のロボット装置に対してデータやプログラムを好適に提供することができる、優れた情報提供システム及び情報提供方法を提供することができる。
また、本発明に係る情報提供装置及びその方法、並びに情報提供システムによれば、多種の形態のロボット装置、センサや画像認識などで認識できるものが異なるロボット装置などにおいても、適切なサービスが受けられるとともに、サービス提供側もロボット装置の種類を意識せずに共通に提供できるサービスを持つことができる。
また、本発明に係る情報提供装置及びその方法、並びに情報提供システムによれば、機種が異なるロボット装置に対して異なるデータやプログラムを必要とするサービスであっても、送られてくるロボット装置に関する情報を用いて適切にサービスを提供することができる。
以下、図面を参照しながら本発明の実施の形態について詳解する。
本実施の形態における情報提供システムは、ハードウェア構成やプラットフォームの相違がある複数のロボット装置が存在するマルチプラットフォーム環境下において、個々のロボット装置に適したデータやプログラムを提供することが可能なものである。
(第1の実施の形態)
先ず、第1の実施の形態における情報提供システムの全体構成を図1に模式的に示す。
ロボット装置は、ユーザと対話などのインタラクションを行うことが可能である。また、ロボット装置は、無線又は有線を通じてインターネットと接続している。同図に示す例では、2人のユーザ、すなわちユーザ1a,1b、並びに2種類のロボット装置、すなわちロボット装置2a,2bがシステム内に存在している。以下、ユーザ1aとユーザ1bとを特に区別する必要がない場合にはユーザ1と記し、ロボット装置2aとロボット装置2bとを特に区別する必要がない場合にはロボット装置2と記す。
インターネット上には、ロボット装置2からアクセスすることができるサーバ100が設置されている。このサーバ100には、ロボット装置2を介してユーザ1に提供されるコンテンツが管理されている。また、インターネット上には、その他の一般のサイト150が繋がっており、ユーザ1は、ニュースや天気などの情報を、ロボット装置2経由で、或いはサーバ100へ直接アクセスすることが可能である。前者の例では、ロボット装置2の計算量を削減するため、ロボット装置2は、サーバ100にアクセスし、サーバ100を介して一般のサイト150の情報を取得するものとする。
図示の例では、ユーザ1aはロボット装置2aと対話などを通じてインタラクションをし、ユーザ1bはロボット装置2bと対話などを通じてインタラクションをしている。各ロボット装置2a,2bは、ユーザ1a,1bの要求に応じるため、サーバ100にアクセスする。また、各ロボット装置2a,2bは、製造元毎に種類が異なり、或いは同じ製造元であってもハードウェア構成やプラットフォームの相違がある。
サーバ100は、各ロボット装置2a,2bからの要求に応じて、ハードウェア構成やプラットフォームの相違がある複数のロボット装置2a,2bに対してデータやプログラムを提供する。図示の例では、サーバ100は、コンテンツ蓄積部120と、インターフェース・エージェント121と、コンテンツ・マネージャ122とを備えている。
コンテンツ蓄積部120には、童話や辞書、なぞなぞなどのデータ・コンテンツや、踊りや歌などのアプリケーション、認識ソフトウェアなどのミドルウェア、ロボット装置2の行動制御ソフトウェアなど、多種多様なデータやプログラムが蓄積されている。これらデータ・コンテンツやプログラムは、その再生や実行に際し、ロボット装置2側のハードウェア構成やプラットフォームなどの実行環境の相違に依存するものと依存しないものとがある。本実施の形態では、コンテンツ蓄積部120は、実行環境依存型のデータ・コンテンツやプログラムに関しては、それぞれの実行環境に適合するものを用意しておく。
インターフェース・エージェント121は、ユーザ1からのリクエストを解析し、解析結果をコンテンツ・マネージャ122に渡す。コンテンツ・マネージャ122は、解析結果に基づいて、ユーザ1のリクエストに応じるためのデータやプログラムのうち、要求元となるロボット装置2のハードウェア構成やプラットフォームに適したものを選択する。
なお、ロボット装置2に提供するソフトウェアの分類を1ヶ所ではなく、複数のサイトにまたがって行い、それらを連携させるためのさらに別のサイトを案内するWebサービスを構築してもよい。
図2には、本実施の形態における情報提供システム上で稼動することができるロボット装置2の機能構成の一例を示している。同図に示すように、ロボット装置2は、全体の動作の統括的制御やその他のデータ処理を行う制御ユニット20と、入出力部40と、駆動部50と、電源部60とで構成される。以下、各部について説明する。
入出力部40は、入力部としてロボット装置2の目に相当するCCDカメラ15や、耳に相当するマイクロフォン16、頭部や背中などの部位に配設されてユーザ1の接触を感知するタッチ・センサ18、或いは五感に相当するその他の各種のセンサを含む。また、出力部として、口に相当するスピーカ17、或いは点滅の組み合わせや点灯のタイミングにより顔の表情を形成するLEDインジケータ(目ランプ)19などを装備している。これら出力部は、音声やランプの点滅を行うことによって、脚などによる機械運動パターン以外の形式でも、ロボット装置2からユーザ・フィードバックを表現することができる。
駆動部50は、制御ユニット20が指令する所定の運動パターンに従ってロボット装置2の機体動作を実現する機能ブロックであり、行動制御による制御対象である。駆動部50は、ロボット装置2の各関節における自由度を実現するための機能モジュールであり、それぞれの関節におけるロール、ピッチ、ヨーなど関節軸毎に設けられた複数の駆動ユニットで構成される。各駆動ユニットは、所定軸回りの回転動作を行うモータ51と、モータ51の回転位置を検出するエンコーダ52と、エンコーダ52の出力に基づいてモータ51の回転位置や回転速度を適応的に制御するドライバ53の組み合わせで構成される。
駆動ユニットの組み合わせ方によって、ロボット装置2のハードウェア構成が定まる。例えば、ロボット装置2を例えば2足歩行又は4足歩行などの脚式移動ロボットとして構成したり、或いはタイヤ式の移動ロボットとして構成したりすることができる。
電源部60は、その字義通り、ロボット装置2内の各電気回路などに対して給電を行う機能モジュールである。本実施の形態におけるロボット装置2は、バッテリを用いた自律駆動式であり、電源部60は、充電バッテリ61と、充電バッテリ61の充放電状態を管理する充放電制御部62とで構成される。
充電バッテリ61は、例えば、複数本のリチウムイオン2次電池セルをカートリッジ式にパッケージ化した「バッテリ・パック」の形態で構成される。
また、充放電制御部62は、充電バッテリ61の端子電圧や充電/放電電流量、充電バッテリ61の周囲温度などを測定することで充電バッテリ61の残存容量を把握し、充電の開始時期や終了時期などを決定する。充放電制御部62が決定する充電の開始及び終了時期は制御ユニット20に通知され、ロボット装置2が充電オペレーションを開始及び終了するためのトリガとなる。
制御ユニット20は、ロボット装置2の頭脳に相当し、例えばロボット装置2の機体頭部或いは胴体部に搭載されている。
図3には、制御ユニット20の構成をさらに詳細に図解している。同図に示すように、制御ユニット20は、メイン・コントローラとしてのCPU(Central Processing Unit)21が、メモリやその他の各回路コンポーネントや周辺機器とバス接続された構成となっている。バス28は、データ・バス、アドレス・バス、コントロール・バスなどを含む共通信号伝送路である。バス28上の各装置にはそれぞれに固有のアドレス(メモリ・アドレス又はI/Oアドレス)が割り当てられている。CPU21は、アドレスを指定することによってバス28上の特定の装置と通信することができる。
CPU21上では、オペレーティング・システム(OS)による制御下で、各種のアプリケーション・プログラム(コンテンツ再生ソフトウェアなど)や、外部環境(視覚、聴覚など)認識ソフトウェアなどのミドルウェアが実行される。ロボット装置2が持つハードウェア構成とオペレーティング・システムの組み合わせにより、ロボット装置2のプラットフォームが定まる。実行プログラムには、ハードウェア構成やプラットフォームにより提供される実行環境に依存するタイプと依存しないタイプとがある。また、装備されるミドルウェアに応じて、ロボット装置2上で再生可能なコンテンツと再生不可能なコンテンツとに分かれる。
RAM(Random Access Memory)22は、DRAM(Dynamic RAM)などの揮発性メモリで構成された書き込み可能メモリであり、CPU21が実行するプログラム・コードをロードしたり、実行プログラムによる作業データの一時的な保存したりするために使用される。
ROM(Read Only Memory)23は、プログラムやデータを恒久的に格納する読み出し専用メモリである。ROM23に格納されるプログラム・コードには、ロボット装置2の電源投入時に実行する自己診断テスト・プログラムや、ロボット装置2の動作を規定する動作制御プログラムなどが挙げられる。
ロボット装置2の制御プログラムには、CCDカメラ15やマイクロフォン16などのセンサ入力を処理して外界からの刺激をシンボルとして認識する「センサ入力・認識処理プログラム」、短期記憶や長期記憶などの記憶動作を司りながらセンサ入力と所定の行動制御モデルとに基づいてロボット装置2の行動を制御する「行動制御プログラム」、行動制御モデルに従って各関節モータの駆動やスピーカ17の音声出力などを制御する「駆動制御プログラム」、ユーザ1との対話を通じたインタラクションを行う「対話プログラム」、ネットワーク経由でサーバ100にアクセスしてユーザ1のリクエストに応えるためのデータやプログラムを取得する「データ/プログラム取得プログラム」などが含まれる。
不揮発性メモリ24は、例えばEEPROM(Electrically Erasable and Programmable ROM)のように電気的に消去再書き込みが可能なメモリ素子で構成され、逐次更新すべきデータを不揮発的に保持するために使用される。逐次更新すべきデータには、暗号鍵やその他のセキュリティ情報、出荷後にインストールすべき装置制御プログラムなどが挙げられる。
インターフェース25は、制御ユニット20外の機器と相互接続し、データ交換を可能にするための装置である。インターフェース25は、例えば、CCDカメラ15やマイクロフォン16、スピーカ17との間でデータ入出力を行う。また、インターフェース25は、駆動部50内の各ドライバ53−1,…との間でデータやコマンドの入出力を行う。
また、インターフェース25は、RS(Recommended Standard)−232Cなどのシリアル・インターフェース、IEEE(Institute of Electrical and electronics Engineers)1284などのパラレル・インターフェース、USB(Universal Serial Bus)インターフェース、i−Link(IEEE1394)インターフェース、SCSI(Small Computer System Interface)インターフェース、PCカードやメモリ・スティック(商標)を受容するメモリ・カード・インターフェース(カード・スロット)などのような、コンピュータの周辺機器接続用の汎用インターフェースを備え、ローカル接続又はインターネット接続された外部機器(サーバ)との間でプログラムやデータの移動を行うようにしてもよい。
また、インターフェース25の他の例として、赤外線通信(IrDA)インターフェースを備え、外部機器と無線通信を行うようにしてもよい。
さらに、制御ユニット20は、無線通信インターフェース26やネットワーク・インターフェース・カード(NIC)27などを含み、Bluetoothのような近接無線データ通信や、IEEE 802.11bのような無線ネットワーク、或いはインターネットなどの広域ネットワークを経由して、外部の様々なホスト・コンピュータとデータ通信を行うことができる。
このようなロボット装置2とホスト・コンピュータ間におけるデータ通信により、遠隔のコンピュータ資源を用いて、ロボット装置2の複雑な動作制御を演算したり、リモート・コントロールしたり、さらにユーザ1のリクエストに適った行動を実演するために必要なデータやプログラムなどのコンテンツをダウンロードすることができる。
後述するように、本実施の形態におけるロボット装置2は、ネットワーク接続して、インターネット上の所定のWebサービス・サイトからモーション・データ(ダンス・シーケンスなど)やその他の配信コンテンツを、ストリーミング或いはその他の形式でダウンロードする。このため、ロボット装置2側のプラットフォームは以下の(a)〜(f)に示す各構成要素を装備している。
(a)ネットワークに接続するための無線LAN
(b)SOAP(Simple Object Access Protocol)エンベロープに情報を組み込んだり受け取った情報を抽出したりするSOAP/XMLモジュール
(c)HTTP(Hyper Text Transfer Protocol)でSOAPなどを通信するためのHTTPモジュール
(d)通信を統制するソフトウェア・モジュール
(e)ダンスを実行する姿勢制御のためのモーション・コントロール・モジュール
(f)ユーザとの対話を行う音声入出力モジュール
また、図4には、本実施の形態においてサーバ100として動作することができるホスト・コンピュータの機能構成を模式的に示している。
メイン・コントローラであるCPU101は、オペレーティング・システムの制御下で、各種のアプリケーションを実行する。
本実施の形態では、CPU101は、例えばインターネット上でHTTPサーバとして動作するためのサーバ・プログラムや、ユーザ1からのリクエストを解析するインターフェース・エージェント、ユーザ1のリクエストに応じるためのデータやプログラムのうち要求元となるロボット装置2のハードウェア構成やプラットフォームに適したものを提供するコンテンツ・マネージャなどのソフトウェア・プログラムを実行することができる。
図示の通り、CPU101は、バス108によって他の機器類(後述)と相互接続されている。
主メモリ102は、CPU101において実行されるプログラム・コードをロードしたり、実行プログラムの作業データを一時保管したりするために使用される記憶装置であり、例えばDRAMのような半導体メモリが使用される。例えば、インターネット上でHTTPサーバとして動作するためのサーバ・プログラムや、ユーザ1からのリクエストを解析する「インターフェース・エージェント」、ユーザ1のリクエストに応じるためのデータやプログラムのうち要求元となるロボット装置2のハードウェア構成やプラットフォームに適したものを提供する「コンテンツ・マネージャ」などのソフトウェア・プログラムなどが主メモリ102上にロードされる。
また、ROM(Read Only Memory)103は、データを恒久的に格納する半導体メモリであり、例えば、起動時の自己診断テスト(POST:Power On Self Test)や、ハードウェア入出力用のプログラム・コード(BIOS:Basic Input/Output System)などが書き込まれている。
ディスプレイ・コントローラ104は、CPU101が発行する描画命令を実際に処理するための専用コントローラである。ディスプレイ・コントローラ104において処理された描画データは、例えばフレーム・バッファ(図示しない)に一旦書き込まれた後、ディスプレイ111によって画面出力される。
入力機器インターフェース105は、キーボード112やマウス113などのユーザ入力機器をサーバ100に接続するための装置である。キーボード112やマウス113は、データやコマンドなどのユーザ入力をシステムに取り込む役割を持つ。
ネットワーク・インターフェース106は、Ethernet(登録商標)などの所定の通信プロトコルに従って、サーバ100をLAN(Local Area Network)などの局所的ネットワーク、さらにはインターネットのような広域ネットワークに接続することができる。
ネットワーク上では、複数のホスト・コンピュータ(図示しない)やクライアントとしてのロボット装置2がトランスペアレントな状態で接続され、分散コンピューティング環境が構築されている。ネットワーク上では、ソフトウェア・プログラムやデータ・コンテンツなどの配信サービスを行うことができる。例えば、インターネット上でHTTPサーバとして動作するためのサーバ・プログラムや、ユーザ1からのリクエストを解析する「インターフェース・エージェント」、ユーザ1のリクエストに応じるためのデータやプログラムのうち要求元となるロボット装置2のハードウェア構成やプラットフォームに適したものを提供する「コンテンツ・マネージャ」などのソフトウェア・プログラムなどをネットワーク経由でダウンロードすることができる。また、ユーザ1のリクエストに応じるためのデータやプログラムのうち要求元となるロボット装置2のハードウェア構成やプラットフォームに適したものをネットワーク経由でロボット装置2に提供することができる。
外部機器インターフェース107は、ハード・ディスク・ドライブ(HDD)114やメディア・ドライブ115などの外部装置をサーバ100に接続するための装置である。
HDD114は、記憶担体としての磁気ディスクを固定的に搭載した外部記憶装置であり、記憶容量やデータ転送速度などの点で他の外部記憶装置よりも優れている。ソフトウェア・プログラムを実行可能な状態でHDD114上に置くことを、プログラムのシステムへの「インストール」と呼ぶ。通常、HDD114には、CPU101が実行すべきオペレーティング・システムのプログラム・コードや、アプリケーション・プログラム、デバイス・ドライバなどが不揮発的に格納されている。例えば、インターネット上でHTTPサーバとして動作するためのサーバ・プログラムや、ユーザ1からのリクエストを解析するインターフェース・エージェント、ユーザ1のリクエストに応じるためのデータやプログラムのうち要求元となるロボット装置2のハードウェア構成やプラットフォームに適したものを提供するコンテンツ・マネージャなどのソフトウェア・プログラムなどを、HDD114上にインストールすることができる。
また、本実施の形態では、HDD114はコンテンツ蓄積部120を構成する。コンテンツ蓄積部120には、童話や辞書、なぞなぞなどのデータ・コンテンツや、踊りや歌などのアプリケーション、認識ソフトウェアなどを含むミドルウェア、ロボット装置2の行動制御ソフトウェアなど、多種多様なデータやプログラムが蓄積されている。これらロボット装置2用のデータ・コンテンツやプログラムには、実行環境依存型のものと非依存型のものとがあるが、実行環境依存型のデータ・コンテンツやプログラムに関しては、それぞれの実行環境に適合する複数のものをコンテンツ蓄積部120に用意しておく。
メディア・ドライブ115は、CD(Compact Disc)やMO(Magneto-Optical disc)、DVD(Digital Versatile Disc)などの可搬型メディアを装填して、そのデータ記録面にアクセスするための装置である。
可搬型メディアは、主として、ソフトウェア・プログラムやデータ・ファイルなどをコンピュータ可読形式データとしてバックアップすることや、これらをシステム間で移動(販売・流通・配布を含む)する目的で使用される。例えば、インターネット上でHTTPサーバとして動作するためのサーバ・プログラムや、ユーザ1からのリクエストを解析する「インターフェース・エージェント」、ユーザ1のリクエストに応じるためのデータやプログラムのうち要求元となるロボット装置2のハードウェア構成やプラットフォームに適したものを提供する「コンテンツ・マネージャ」などを、これら可搬型メディアを利用して複数の機器間で物理的に流通・配布することができる。或いは、実行環境依存型並びに非依存型のロボット装置用データ・コンテンツやプログラムを、可搬型メディアを利用して複数の機器間で物理的に流通・配布することができる。
サーバ100は、ロボット装置2に対し実行環境に応じたサービスを提供するために、以下の(a)〜(d)に示す各構成要素を備えている。
(a)SOAPエンベロープに情報を組み込んだり受け取った情報を抽出したりするSOAP/XMLモジュール
(b)HTTPでSOAPなどを通信するためのHTTPモジュール
(c)ダンス・シーケンスなど複数のコンテンツ
(d)コンテンツのリスト
なお、SOAPは、他のシステム上のデータやサービスを呼び出すためのプロトコルであり、XMLやHTTPをベースとして構成される。SOAPによる通信では、XMLドキュメントに付帯情報が付けられたメッセージ(エンベロープ)を、HTTPなどのプロトコルで交換する。クライアントとサーバの双方がSOAPの生成及び解釈を行うエンジンを装備することで、異なる環境間でのオブジェクト呼び出しが可能となる。
ここで、本実施の形態における情報提供システムにおける全体的な動作について説明する。
ユーザ1は、ロボット装置2と対話などを通じて、インタラクションをしている。ここで、ユーザ1が、何か新しい情報がないか、ロボット装置2に尋ねたとする。
ロボット装置2は、ユーザ1の要求に応じるため、インターネット上のサーバ100を探索する。その際、予め定められた書式のリクエスト(QAフォーム:後述)を送ることとする。すなわち、ロボット装置2はユーザ1と対話をすることで必要な情報を抽出し、その書式の該当するブランク・フィールドに情報を埋め込み、これをサーバ100に送信する。
QAフォームの書式には、ロボット装置2のハードウェア構成やプラットフォーム、現在の作業環境などを特定するための情報が含まれており、それはロボット装置2がスタンドアロン状態でも内部的に保持又は取得されるデータより作成できる。
サーバ100は、ロボット装置2から受信した書式に従って、必要な答えを生成し、これを要求元のロボット装置2に送り返す。ロボット装置2はサーバ100からの返事を読み、ユーザ1に例えばロボット装置2の構成に適した新しいダンスがあることを知らせる。
ユーザ1がダンスを見せて欲しいとロボット装置2に対して対話で伝えると、ロボット装置2は、ダンス・データのダウンロードをサーバ100に要求する。サーバ100は、ロボット装置2からの要求に従いダンス・データのダウンロードを開始する。
このようにして、要求元となるロボット装置2のハードウェア構成やプラットフォームに適した新しいダンス・データを自動的に選定して、ユーザ1にダンス・パフォーマンスを供給することができる。例えば、振り付けのある歌データの場合、ロボット装置2が実演可能なダンス・データと再生可能な歌データといった具合に、ロボット装置2の構成に適したデータを選択して送ることになる。
コンテンツの中には、ダンスなどの動きを主体としたものではなく、童話などをユーザ1に読んで聞かせるものもある。一般に、童話などを朗読する場合には、テキスト・データをコンテンツとして持ち、ロボット装置2側では例えばミドルウェアとしてTTS(Text-To-Speech)の機能(文を入力すると音声波形を出力する機能)を備える必要がある。さらに、童話などの話にも、適切な動作を振り付けることで、実体を持ったロボット装置2ならではの応用になる。しかしながら、具体的な動作すなわちモーション・データの記述はロボット装置2によって異なるので、このような相違に応じてデータをどのように与えるかが問題になる。
図5には、本実施の形態における情報提供システムにおいて、サーバ100がクライアントとしてのロボット装置2に対してハードウェア構成やプラットフォームの相違に応じたデータやプログラムの配信を行う仕組みを模式的に示している。
ロボット装置2は、ユーザ1との対話などのインタラクションを通じて、QAフォームを作成する。QAフォームは、ロボット装置2が要求するサービスやコンテンツを解析する手掛かりとなる情報を記述したものであり、サーバ100に渡される。
サーバ100側では、QAフォームに基づいて、ロボット装置2が要求するサービスやコンテンツを、ロボット装置2に適した形式で供給する。また、受信したQAフォームの記述内容では情報が足りない場合には、サーバ100は、情報提供の要求や、要求に応えられないときの理由などを記述して返す。
サーバ100側では、送られてきたQAフォームの内容に従って、コンテンツのデータベースから必要なデータとソフトウェアを選び、ロボット装置2に送出することになる。図5に示す例では、サーバ100側では、例えば1つのダンス・データにつき、CPU非依存な中間コード形式であるバイトコードと、CPU依存形式であるバイナリコードの形式で保持している。そして、QAフォームの解析結果に基づいて、バイトコード又はバイナリコードの何れの形式でデータを送るべきかを判断する。
図6には、ロボット装置2がQAフォームを送信してデータやプログラムを要求し、サーバ100がこれに応じるという協働的動作の手順を示している。
既に述べたように、ロボット装置2側のプラットフォームは以下の(a)〜(f)に示す各構成要素を装備している。
(a)ネットワークに接続するための無線LAN
(b)SOAPエンベロープに情報を組み込んだり受け取った情報を抽出したりするSOAP/XMLモジュール
(c)HTTPでSOAPなどを通信するためのHTTPモジュール
(d)通信を統制するソフトウェア・モジュール
(e)ダンスを実行する姿勢制御のためのモーション・コントロール・モジュール
(f)ユーザとの対話を行う音声入出力モジュール
また、サーバ100は、ロボット装置2に対し実行環境に応じたサービスを提供するために、以下の(a)〜(d)に示す各構成要素を備えている。
(a)SOAPエンベロープに情報を組み込んだり受け取った情報を抽出したりするSOAP/XMLモジュール
(b)HTTPでSOAPなどを通信するためのHTTPモジュール
(c)ダンス・シーケンスなど複数のコンテンツ
(d)コンテンツのリスト
ロボット装置2側では、ユーザ1とのインタラクションを通じて作成されたQAフォームをSOAPエンベロープに組み込み、HTTPプロトコルによりサーバ100への問い合わせを行う。
これに対し、サーバ100側では、SOAPエンベロープを解析して要素情報を取り出す。そして、登録してあるソフトウェアの適合情報とマッチングを取り、提供可能なソフトウェアのリストを作成する。このリストをSOAPエンベロープに組み込んで、SOAP回答としてロボット装置2に返す。
ロボット装置2側では、SOAP回答を受け取ると、これを解析して要素情報を取り出し、蓄積してあるユーザ1の個人情報(趣味や嗜好など)とのマッチングをとり、合致し易いソフトウェアを選択する。そして、サーバ100への取得要請を作成し、これをSOAPエンベロープに組み込んで、サーバ100へ送信する。
サーバ100は、この要請を受け取ると、必要なファイルの所在を示したURLを含んだSOAP回答を作成して、ロボット装置2に返す。
ロボット装置2は、必要なファイルをHTTP GETリクエストによりサーバ100へ要求する。サーバ100は、要求されたファイルをロボット装置2へ返す。そして、ロボット装置2は、必要なファイルが揃うと、ダンスやその他のユーザ1が要求する行動を実演する。
QAフォームに記述される情報は、以下の2つに大別される。
(1)サービス要求に関する情報
(2)ロボット装置に関する情報
「サービス要求に関する情報」は、ユーザ1とのインタラクションの内容や、そのときのロボット装置2の本能や感情といった情動に関する指標値、筐体の検出する温度や湿度、光量、日射量、日照時間或いはその他の外部刺激の指標値などが含まれる。
また、「ロボット装置に関する情報」としては、さらに以下のようなものが挙げられる。
(2−1)ロボット装置毎にユニークに割り振られるロボット固有ID
(2−2)ロボット装置の種類毎にユニークに割り振られるロボット種類ID
(2−3)ロボット装置の機能リスト
(2−4)ロボット装置のハードウェア構成を示す情報
(2−5)ロボット装置が持つデータベース・リスト
「ロボット装置の機能リスト」とは、例えば、外部刺激の認識ソフトウェア(顔認識、音声認識など)や、音声合成ソフトウェア(TTS)などのミドルウェアの構成情報に相当する。
また、「ロボット装置のハードウェア構成を示す情報」は、ロボット装置2の物理形状(人間形、4足ペット型、ユーティリティ型、タイヤ型など)、足の本数(2足、4足など)、最大移動速度、手の本数、手の運搬能力、その他の筐体に関する物理的な特性、思考(計算)能力の指標などを記述した情報である。
サーバ100は、QAフォームに含まれるこれらの情報を用いて、ロボット装置2に提供すべきコンテンツ(データやプログラム)を決定する。コンテンツ蓄積部120には、コンテンツに関する以下のメタ情報が付加されている。
(1)サービス要求に対応するコンテンツのブロック
(2)コンテンツ或いはソフトウェアが有効なロボット装置に関する情報
「サービス要求に対応するコンテンツのブロック」としては、コンテンツにメタ情報として、サービスに関する情報が付加されている。このメタ情報としては、次のようなものが挙げられる。
(1−1)内容を示す情報
例)<ContentsType>News</ContentsType>
<ContentsType>DanceMotion</ContentsType>
(1−2)データの型を示す情報
例)<DataType>Text</DataType>
<DataType>MIDI</DataType>
(1−3)作成日時に関する情報
例)<CreateDate>2003/03/23</CreateDate>
(1−4)タイトルなどに関する情報
例)<Title>WeAreSDR</Title>
また、「ロボット装置に関する情報」としては、次のようなものが挙げられる。
(2−1)対応するロボット装置の種類を示すID
(2−2)コンテンツ使用に必要な機能リスト
(2−3)ロボット装置の構成に関する情報
「コンテンツ使用に必要な機能リスト」に関しては、コンテンツの使用・再生に際して必要なミドルウェアのリストなどが挙げられる。
「ロボット装置の構成に関する情報」に関しては、ロボット装置2の物理形状(人間形、4足ペット型、ユーティリティ型、タイヤ型など)、足の本数(2足、4足など)、最大移動速度、手の本数、手の運搬能力、その他の筐体に関する物理的な特性、思考(計算)能力の指標などを記述した情報などが挙げられる。
サーバ100のコンテンツ・マネージャ122は、ロボット装置2から得たQAフォームから取り出される要素情報と、コンテンツ蓄積部120のメタ情報とのマッチングをとることにより、ユーザ1のリクエストに応じるためのデータやプログラムのうち、要求元となるロボット装置2のハードウェア構成やプラットフォームに適したものを選択する。このときのコンテンツ・マネージャ122の動作手順を図7のフローチャートに示す。
先ずステップS1において、サービス要求に従ってコンテンツ蓄積部120を探索する。次にステップS2において、<ContentsType> </ContentsType>で囲まれるフィールドにサービス要求と一致するコンテンツがあれば、それをスタックにプッシュする。続いてステップS3において、全てのコンテンツを確認したか否かを判別し、確認した場合にはステップS4に進む。一方、全てのコンテンツを確認していない場合にはステップS2に戻って同様の処理を繰り返す。
ステップS4では、プッシュしたコンテンツをポップし、ロボット装置に関する情報と比較する。ステップS5では、一致したコンテンツを候補リストに登録し、一致しなかったコンテンツを廃棄する。そして、ステップS6では、全てのスタックを調べたか否かを判別し、全て調べた場合には終了する。一方、全てのスタックを調べていない場合には、ステップS4に戻って処理を継続する。
このような手順により、QAフォームに従って調べられたコンテンツ・リストができあがる。
以上説明したように、第1の実施の形態における情報提供システムによれば、ハードウェア構成やプラットフォームの相違がある複数のロボット装置が存在するマルチプラットフォーム環境下においても、送られてくるロボット装置に関する情報を用いることで、個々のロボット装置に適したデータやプログラムを提供し、サービスを実行可能とすることができる。
(第2の実施の形態)
次に、第2の実施の形態における情報提供システムの全体構成を図8に模式的に示す。
各家庭のロボット装置は、それぞれの家庭のゲートウェイなどを経由してインターネットに接続されているものとする。同図に示す例では、3人のユーザ、すなわちユーザ1a,1b,1c、並びに3種類のロボット装置、すなわちロボット装置2a,2b,2cがシステム内に存在している。以下、ユーザ1a,1b,1cを特に区別する必要がない場合にはユーザ1と記し、ロボット装置2a,2b,2cを特に区別する必要がない場合にはロボット装置2と記す。また、インターネット上には、これらのロボット装置2にサービスを提供するサーバ100が設置されている。
図9には、ロボット装置2とサーバ100との大まかなやり取りを示している。すなわち、先ずロボット装置2がサーバ100に対してサービスを要求する。この際、ロボット装置2は、サービス要求に関する情報の他に、ロボット装置2自身の機能、特にミドルウェアの構成情報を記述した機能リストをサーバ100に送ることで、サーバ100が適切なデータ又はプログラムを選択できるようにする。サーバ100は、ロボット装置2からの要求に答えて、ロボット装置2に適切なデータ又はプログラムを送信する。後述のように、これらはJava(登録商標)やPythonなどのインタープリタ言語若しくはバイトコード、又は単純な命令である。なお、本実施の形態では、インターネットプロトコルとして、HTTPとその上のSOAPとを利用したものを想定する。
本実施の形態では、サービスとして、ロボット装置2がユーザ1に質問し、ユーザ1の返事が肯定の場合にはメッセージAをユーザ1に伝え、返事が否定の場合にはメッセージBをユーザ1に伝えるものを考える。そして、このサービスの実行には、ロボット装置2の機能として、顔識別機能、音声認識機能、音声合成TTS機能の3つの機能が必要であるものとする。なお、各サービスとそのサービスの実行に必要となる機能とは、予めサーバ100内で対応付けられている。
ここで、上述したロボット装置2aは、顔識別機能、音声認識機能、TTS機能の3つの機能を全て有しているものとする。また、ロボット装置2bは、音声認識機能のみを有し、他の2つの機能を有していないものとする。また、ロボット装置2cは、顔識別機能のみを有し、他の2つの機能を有していないものとする。このため、ロボット装置2a,2b,2cに対して同一のデータ又はプログラムを送信した場合、サービスの実行に必要な機能の一部又は全部が備わっていないロボット装置2では、サービスを実行できないことになる。
そこで、本実施の形態におけるサーバ100は、個々のロボット装置2の機能の相違を考慮し、サービスの実行に必要な機能の一部又は全部が備わっていないロボット装置2に対しては、不足している機能をそのロボット装置2が利用可能な機能で代替させるためのデータ又はプログラムを送信し、サービスを実行可能とさせる。
例えば、顔識別機能を有するロボット装置2a,2cは、ユーザ1を見分けることが可能であるが、顔識別機能を有さないロボット装置2bは、ユーザ1を見分けるために別の機能を用いなければならない。そこで、サーバ100は、例えばロボット装置2bがユーザ1bの名前を呼び、その返事で判断することができるように、音声波形データを送信する。また、音声認識機能を有するロボット装置2a,2bは、質問の返事を音声で聞き分けることが可能であるが、音声認識機能を有さないロボット装置2cは、質問の返事を判断するために別の機能を用いなければならない。そこで、例えばロボット装置2cの左右の肩にスイッチがある場合、サーバ100は、右肩のスイッチを押した場合は肯定の返事、左肩のスイッチを押した場合は否定の返事とする旨をユーザ1に伝えることができるように、音声波形データを送信する。また、TTS機能を有するロボット装置2aは、文章(テキストデータ)だけで質問やメッセージを話すことが可能であるが、TTS機能を有さないロボット装置2b,2cは、質問やメッセージを話すために別の機能を用いなければならない。そこで、サーバ100は、例えば文章(テキストデータ)の代わりに音声波形データを送信する。
ここで、ロボット装置2のソフトウェア構成を図10に示す。同図に示すよように、ロボット装置2のソフトウェアは、オペレーティング・システム201やデバイス・ドライバ202、或いはそれらとインターフェースするAPI(Application Program Interface)を備えるシステム層200と、顔識別機能、音声認識機能、TTS機能等を実現するソフトウェア群からなるミドルウェア層210と、サービスを実行したり自律的な行動をしたりするアプリケーション層220と、ネットワークと接続して適切な命令を発行したりデータを送受信したりするネットワーク接続層230とからなる。
ロボット装置2aの場合を例にとり、ミドルウェア層210及びアプリケーション層220について図11を参照しながらさらに説明する。ロボット装置2aのミドルウェア層210には、顔識別、音声認識、TTSの各ソフトウェアオブジェクト211〜213が存在し、これらは適切なオブジェクト間通信でシステム層200及びアプリケーション層220のソフトウェアと接続している。
アプリケーション層220は、短期記憶部221と行動制御部222とを有する。短期記憶部221は、ミドルウェア層210からの出力を統合し、ロボット装置2aの外部に何が存在するかを記憶する部分である。これは、例えばCCDカメラ15の視野角等が制限されているために、一旦画像処理で検出された人物等が視野外になっても保持するための機構である。一方、行動制御部222は、行動モジュール群を適切に管理・制御する部分である。行動モジュール223は、ミドルウェア層210からの顔識別などの出力を受けて、顔を探したり、顔に近づいたりといった行動を生成させるモジュールである。また、行動モジュール223は、ネットワーク接続層230に対して命令発行を依頼したり、データの送受信を行ったりすることができる。ネットワーク接続層230には、ネットワーク管理を行うソフトウェアオブジェクト231が存在し、インターネットプロトコルに従ってインターネット上のサービスに対してアクセスし、データ又はプログラムを送受信することができる。行動モジュール223は、Java(登録商標)やPythonといったスクリプト言語又はバイトデータを使用することができ、インターネット上のサーバ100から送られてきたスクリプト言語やバイトデータを実行することでサービスを具体的にロボット装置2aの行動として実現することが可能になっている。
行動モジュール223は、モニター関数とアクション関数とを有する。モニター関数は、ミドルウェア層210のソフトウェアから外部状況及び内部状態をモニターすることで、当該行動モジュールに記述された動作の実行要求度を示す行動価値を決定する。複数の行動モジュールが並行にこの行動価値を計算し、行動制御部222は、行動価値の高い行動モジュールのアクション関数を実行に移す。アクション関数は、ミドルウェア層210のソフトウェアから顔識別などの出力を受け取り、音声合成などへ出力することでロボット装置2aを制御する。前述のように、これらの関数をインターネット上のサーバ100から送られてきたスクリプト言語やバイトコードなどで実現することができる。本実施の形態では、後述のように行動モジュール223を木構造で実装する。
以下、この3つのロボット装置2a,2b,2cがサービスを実行する場合、すなわちロボット装置2a,2b,2cがユーザ1a,1b,1cを探して質問を行い、その返事が肯定であるか否定であるかに応じて、ユーザ1a,1b,1cに対して異なるメッセージA,Bを音声で伝える場合について説明する。
先ず、ロボット装置2aは、顔識別機能、音声認識機能、及びTTS機能を有しており、サービス要求に関する情報に加えて、例えば図12に示すような機能リストを予めサーバ100に送る。
サーバ100は、サービスの実行に必要となる機能を特定する。本実施の形態の場合、上述したように、顔識別機能、音声認識機能、TTS機能の3つの機能が必要とされる。そして、サーバ100は、例えば図13に示すようなプログラムに従ってこの機能リストを解析し、サービスの実行に必要な機能が備わっているか否かを確認する。上述の通り、ロボット装置2aにはサービスの実行に必要な機能が全て備わっているため、サーバ100は、これらの3つの機能を利用するようなプログラムをロボット装置2aに送る。具体的には、図14のように行動モジュールの木構造を構成するデータと、それぞれの行動モジュールのモニター関数及びアクション関数の実装とを送る。この木構造では、行動制御部222が行動モジュールの木構造のトップとしてルートモジュールを持っているとする。本実施の形態におけるサービスの親モジュールをサービス行動モジュールとし、その子モジュールとしてサーチ行動モジュール、アプローチ行動モジュール、メッセージ行動モジュールが構成されている。
この木構造では、サービス行動モジュールが発行する共有情報領域としてFaceID及びDistanceがあり、これらの情報をモジュール間で共有する。本実施の形態におけるサービスでは、特定のユーザ1aに対してメッセージを伝えるため、このFaceIDを予め設定した状態、すなわちFaceID=usrFaceIDという状態で共有情報領域を発行する。なお、発行時のDistanceは空である。
サーチ行動モジュールは、短期記憶部221に現在記憶されている物体の中にFaceID=usrFaceIDを満たすものがあるか否かを確認する行動モジュールであり、FaceID=usrFaceIDを満たす物体が存在すれば、その物体までの距離を共有情報領域のDistanceに書き込む。実際のモニター関数としては、FaceID!=usrFaceIDであればまだユーザ1aを探す必要があるため、高い行動価値をサービス行動モジュールに返し、ユーザ1aが発見されFaceID=usrFaceIDとなれば低い行動価値をサービス行動モジュールに返す。アクション関数としては、このサーチ行動モジュールが選ばれた状態ではユーザ1aが発見されていないため、ロボット2aの視点を移動させることで新しい情報を短期記憶部221に送り込み、ユーザ1aを発見するように制御する。具体的には、首を振る、体を回す、移動するなどを組合わせて視点を変える。
アプローチ行動モジュールは、発見されたユーザ1aに対して適当な距離になるように制御する行動モジュールである。モニター関数としては、サービス行動モジュールから設定されたFaceIDに値が入っていればそのDistanceの値distを短期記憶部221に問い合わせ、値distが予め設定した範囲外であれば高い行動価値を返し、範囲内であればもう移動しなくてよいため低い行動価値を返す。アクション関数としては、ユーザ1aに接近することが目的であり、値distが、設定した距離の最小値minDialogueDistよりも小さければユーザ1aとの距離が近すぎるため、ユーザ1aから遠ざかる後退移動の命令を発行する。一方、値distが設定した距離の最大値maxDialogueDistよりも大きければユーザ1aとの距離が遠すぎるため、ユーザ1aに接近する前進移動の命令を発行する。
メッセージ行動モジュールは、ユーザ1aが話ができる範囲内にいるときに適切なシーケンスに従ってメッセージを伝える行動モジュールである。モニター関数としては、FaceID=usrFaceIDとなっておりminDialogueDist≦dist≦maxDialogueDistであれば高い行動価値をサービス行動モジュールに返し、そうでなければ低い行動価値をサービス行動モジュールに返す。アクション関数としては、図15に示すようなステートマシンで実現できる。すなわち、先ず質問メッセージをTTSモジュールにテキストデータとして出力してユーザ1aの応答を待つ。そして、ユーザ1aの応答がYESであればメッセージAを出力して終了し、ユーザ1aの応答がNOであればメッセージBを出力して終了する。
続いてロボット装置2bは、音声認識機能のみを有し、顔識別機能及びTTS機能を有さないため、サービス要求に関する情報に加えて、例えば図16に示すような機能リストを予めサーバ100に送る。
サーバ100は、上述と同様にしてサービスの実行に必要となる機能を特定し、さらにロボット装置2bから送信された機能リストを解析し、サービスの実行に必要な機能が備わっているか否かを確認する。上述の通り、ロボット装置2bには音声認識機能しか備わっていないため、サーバ100は、ロボット装置2bに備わっている機能で不足している顔識別機能及びTTS機能を代替させるようなデータ又はプログラムをロボット装置2bに送る。具体的には、図17のように行動モジュールの木構造を構成するデータと、それぞれの行動モジュールのモニター関数及びアクション関数の実装とを送る。この木構造では、サービス行動モジュールの子モジュールとして、ユーザ発見行動モジュール、メッセージ行動モジュールが構成されている。
ユーザ発見行動モジュールは、顔識別機能を利用することなくユーザ1bを発見するための行動モジュールである。なお、ロボット装置1bは、TTS機能を有さないが、オーディオ信号の出力手段を有し、音声波形そのものを出力できる。本実施の形態では、WABファイルフォーマットに準拠した音声波形データを出力するものとする。この音声波形データは、サーバ100から送られてくるものである。アクション関数としては、図18に示すようなステートマシンで実現できる。すなわち、例えば「XXさん、いたら“はい”と返事してください」といったユーザ探索メッセージを音声により出力し、ユーザ1bの応答を待つ。そして、ユーザ1bが“はい”と返答をすると、ユーザ1bが発見されたものとしてユーザIDをYESとし、メッセージ行動モジュールに移る。
メッセージ行動モジュールは、ロボット装置2aと基本的に同じステートマシンで実現できる。すなわち、ユーザ1bに質問メッセージを出力して応答を待つ。そして、ユーザ1bの応答がYESであればメッセージAを出力して終了し、ユーザ1bの応答がNOであればメッセージBを出力して終了する。但し、この出力はロボット1aとは異なり音声波形データである。
続いてロボット装置2cは、顔識別機能のみを有し、音声認識機能及びTTS機能を有さないため、サービス要求に関する情報に加えて、例えば図19に示すような機能リストを予めサーバ100に送る。
サーバ100は、上述と同様にしてサービスの実行に必要となる機能を特定し、さらにロボット装置2cから送信された機能リストを解析し、サービスの実行に必要な機能が備わっているか否かを確認する。上述の通り、ロボット装置2cには顔識別機能しか備わっていないため、サーバ100は、ロボット装置2cに備わっている機能で不足している顔識別機能及びTTS機能を代替させるようなデータ又はプログラムをロボット装置2cに送る。具体的には、図14のように行動モジュールの木構造を構成するデータと、それぞれの行動モジュールのモニター関数及びアクション関数の実装とを送る。
サーチ行動モジュールは、ロボット装置1aの場合と同様に、短期記憶部221に現在記憶されている物体の中にFaceID=usrFaceIDを満たすものがあるか否かを確認し、FaceID=usrFaceIDを満たす物体が存在すれば、その物体までの距離を共有情報領域のDistanceに書き込む。
アプローチ行動モジュールは、ロボット装置1aの場合と同様に、発見されたユーザ1aに対して適当な距離になるように制御する。
メッセージ行動モジュールは、ユーザ1cが話ができる範囲内にいるときに適切なシーケンスに従ってメッセージを伝える。このとき、ロボット2bの場合と同様に、サーバ100から送られてきた音声波形データを出力する。このメッセージ行動モジュールは、図20に示すようなステートマシンで実現できる。すなわち、ユーザ1cに質問メッセージを出力して応答を待つ。そして、ユーザ1cの応答がYESであればメッセージAを出力して終了し、ユーザ1cの応答がNOであればメッセージBを出力して終了する。この際、音声認識に関しては、右肩スイッチ及び左肩スイッチを使うことになる。これは、ユーザ応答待ちの際に、「YESの場合は右肩のスイッチを、NOの場合は左肩のスイッチを押して下さい」というメッセージを出力することで実現される。
以上説明したように、第2の実施の形態における情報提供システムによれば、ミドルウェアの相違がある複数のロボット装置が存在するマルチプラットフォーム環境下においても、送られてくるロボット装置の機能に関する情報を考慮し、サービスの実行に不足している機能をそのロボット装置が利用可能な機能で代替させるためのデータ又はプログラムを送信することで、サービスを実行可能とすることができる。
なお、上述した第2の実施の形態では、サービスの実行に不足している機能をそのロボット装置が利用可能な機能で代替させるためのデータ又はプログラムを送信するものとして説明したが、これに限定されるものではなく、不足している機能に対応する機能オブジェクト自体を送信するようにしても構わない。この場合、サーバ100は、ロボット装置2で利用される機能オブジェクトを例えばコンテンツ蓄積部120に記憶しておき、ロボット装置2からサービス要求と機能リストとが送られてくると、そのサービスの実行に必要な機能を特定すると共に、必要な機能のうちロボット装置2に不足している機能を特定する。そして、要求されたサービスに応じたデータ又はプログラムを送信する際に、不足している機能に対応する機能オブジェクトをコンテンツ蓄積部120から検索して送信する。なお、コンテンツ蓄積部120ではなく、他のデータベースに機能オブジェクトを記憶しておいてもよいことは勿論である。
(追補)
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。
本発明の要旨は、必ずしも「ロボット」と称される製品には限定されない。すなわち、電気的又は磁気的な作用を用いて人間の動作に似せた運動を行う機械装置或いはその他一般的な移動体装置、或いはこれら装置の動作を記述したデータを演算処理するデータ処理システムであるならば、例えば玩具などの他の産業分野に属する製品であっても、同様に本発明を適用することができる。
また、本明細書中では、SOAPによる通信方式によりロボット装置に対する実行環境に応じたサービスについて説明してきたが、本発明の要旨はこれに限定されるものではない。例えば、XML−RPCなど、SOAP以外でプラットフォーム非依存の遠隔手続呼び出し(Remote Procedure Call;RPC)を行う通信方式を採用することができる。また、ロボット装置に提供するソフトウェアの分類を1ヶ所ではなく、複数のサイトにまたがって行い、それらを連携させるためのさらに別のサイトを案内するWebサービスを構築してもよい。
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
本発明の第1の実施の形態における情報提供システムの全体構成を模式的に示す図である。 同情報提供システム上で稼動することができるロボット装置の機能構成の一例を示す図である。 同ロボット装置の制御ユニットの構成を詳細に示す図である。 同情報提供システムにおけるサーバの機能構成を模式的に示す図である。 サーバがクライアントとしてのロボット装置に対してハードウェア構成やプラットフォームの相違に応じたデータやプログラムの配信を行う仕組みを説明するための図である。 ロボット装置がQAフォームを送信してデータやプログラムを要求し、サーバがこれに応じるという協働的動作の手順を示すシーケンス図である。 クライアントとしてのロボット装置のハードウェア構成やプラットフォームに適したコンテンツを選択する際のコンテンツ・マネージャの動作手順を説明するフローチャートである。 本発明の第2の実施の形態における情報提供システムの全体構成を模式的に示す図である。 ロボット装置がサービス要求及び機能リストを送信してサービスを要求し、サーバがこれに応じるという協働的動作の手順を示すシーケンス図である。 ロボット装置のソフトウェア構成を示す図である。 ロボット装置のソフトウェアのミドルウェア層及びアプリケーション層を詳細に示す図である。 ロボット装置2aがサーバに送る機能リストの一例を示す図である。 サーバがロボット装置から送られてきた機能リストを解析するプログラムの一例を示す図である。 サーバがロボット装置2aに送ったデータで構成される木構造の一例を示す図である。 ロボット装置2aが有するメッセージ行動モジュールのアクション関数を実現するステートマシンを示す図である。 ロボット装置2bがサーバに送る機能リストの一例を示す図である。 サーバがロボット装置2bに送ったデータで構成される木構造の一例を示す図である。 ロボット装置2bが有するユーザ発見行動モジュールのアクション関数を実現するステートマシンを示す図である。 ロボット装置2cがサーバに送る機能リストの一例を示す図である。 ロボット装置2cが有するメッセージ行動モジュールのアクション関数を実現するステートマシンを示す図である。
符号の説明
1,1a,1b,1c ユーザ、2,2a,2b,2c ロボット装置、15 CCDカメラ、16 マイクロフォン、17 スピーカ、18 タッチ・センサ、19 LEDインジケータ、20 制御ユニット、40 入出力部、50 駆動部、60 電源部、100 サーバ、120 コンテンツ蓄積部、121 インターフェース・エージェント、122 コンテンツ・マネージャ、200 システム層、210 ミドルウェア層、220 アプリケーション層、221 短期記憶部、222 行動制御部、223 行動モジュール、230 ネットワーク接続層

Claims (24)

  1. ネットワーク経由でロボット装置にデータ又はプログラムを提供する情報提供装置であって、
    ロボット装置に提供するデータ又はプログラムが蓄積されたコンテンツ蓄積手段と、
    ロボット装置からサービス要求に関する情報と該ロボット装置に関する情報とを含む問い合わせを受信する受信手段と、
    上記問い合わせを解析する解析手段と、
    要求されたサービスに応じたデータ又はプログラムを上記ロボット装置に送信する送信手段と
    を備えることを特徴とする情報提供装置。
  2. SOAP(Simple Object Access Protocol)プロトコルに従ってロボット装置と通信を行うことを特徴とする請求項1記載の情報提供装置。
  3. 上記コンテンツ蓄積手段に蓄積されるデータ又はプログラムに関する付加情報を管理するデータベースと、
    上記問い合わせと上記データベースの付加情報とのマッチングをとり、提供可能なデータ又はプログラムのリストを作成してロボット装置に返す手段と
    をさらに備えることを特徴とする請求項1記載の情報提供装置。
  4. 上記提供可能なデータ又はプログラムのリストに対する上記ロボット装置からの選択結果に応答して、該選択されたデータ又はプログラムへのアクセス方法を返す手段をさらに備え、
    上記送信手段は、上記ロボット装置からの上記アクセス方法に従ったアクセス要求に応答して、要求されたデータ又はプログラムを送信する
    ことを特徴とする請求項3記載の情報提供装置。
  5. 上記データ又はプログラムに関する付加情報は、サービスに関する情報とロボット装置に関する情報とを含むことを特徴とする請求項3記載の情報提供装置。
  6. 上記ロボット装置に関する情報は、以下に示す情報のうち少なくとも一部を含むことを特徴とする請求項1又は請求項5記載の情報提供装置。
    (1)ロボット装置毎にユニークに割り振られるロボット固有ID
    (2)ロボット装置の種類毎にユニークに割り振られるロボット種類ID
    (3)ロボット装置の機能リスト
    (4)ロボット装置のハードウェア構成を示す情報
    (5)ロボット装置が持つデータベース・リスト
  7. 上記ロボット装置に関する情報は、ロボット装置の機能リストを少なくとも含み、
    上記ロボット装置がサービスを実行する際に必要な必要機能を特定する必要機能特定手段と、
    上記必要機能特定手段により特定された必要機能と、上記ロボット装置の機能リストとを比較することで、上記必要機能のうち上記ロボット装置に不足している不足機能を特定する不足機能特定手段とをさらに備え、
    上記送信手段は、上記不足機能を該ロボット装置が利用可能な機能で代替させるためのデータ又はプログラムを送信する
    ことを特徴とする請求項1記載の情報提供装置。
  8. 上記ロボット装置に関する情報は、ロボット装置の機能リストを少なくとも含み、
    ロボット装置で利用される機能オブジェクトが記憶されたオブジェクト記憶手段と、
    上記ロボット装置がサービスを実行する際に必要な必要機能を特定する必要機能特定手段と、
    上記必要機能特定手段により特定された必要機能と、上記ロボット装置の機能リストとを比較することで、上記必要機能のうち上記ロボット装置に不足している不足機能を特定する不足機能特定手段と、
    上記不足機能に対応する不足機能オブジェクトを上記オブジェクト記憶手段から検索する検索手段とをさらに備え、
    上記送信手段は、上記要求されたサービスに応じたデータ又はプログラムと共に、上記不足機能オブジェクトを上記ロボット装置に送信する
    ことを特徴とする請求項1記載の情報提供装置。
  9. ネットワーク経由でロボット装置にデータ又はプログラムを提供する情報提供方法であって、
    ロボット装置からサービス要求に関する情報と該ロボット装置に関する情報とを含む問い合わせを受信する受信ステップと、
    上記問い合わせを解析する解析ステップと、
    要求されたサービスに応じたデータ又はプログラムを上記ロボット装置に送信する送信ステップと
    を有することを特徴とする情報提供方法。
  10. SOAP(Simple Object Access Protocol)プロトコルに従ってロボット装置と通信を行うことを特徴とする請求項9記載の情報提供方法。
  11. 各データ又はプログラムに関する付加情報をデータベースとして管理するステップと、
    上記問い合わせと上記データベースの付加情報とのマッチングをとり、提供可能なデータ又はプログラムのリストを作成してロボット装置に返すステップと
    をさらに有することを特徴とする請求項9記載の情報提供方法。
  12. 上記提供可能なデータ又はプログラムのリストに対する上記ロボット装置からの選択結果に応答して、該選択されたデータ又はプログラムへのアクセス方法を返すステップをさらに有し、
    上記送信ステップでは、上記ロボット装置からの上記アクセス方法に従ったアクセス要求に応答して、要求されたデータ又はプログラムを送信する
    ことを特徴とする請求項11記載の情報提供方法。
  13. 上記データ又はプログラムに関する付加情報は、サービスに関する情報とロボット装置に関する情報とを含むことを特徴とする請求項11記載の情報提供方法。
  14. 上記ロボット装置に関する情報は、以下に示す情報のうち少なくとも一部を含むことを特徴とする請求項9又は請求項13記載の情報提供方法。
    (1)ロボット装置毎にユニークに割り振られるロボット固有ID
    (2)ロボット装置の種類毎にユニークに割り振られるロボット種類ID
    (3)ロボット装置の機能リスト
    (4)ロボット装置のハードウェア構成を示す情報
    (5)ロボット装置が持つデータベース・リスト
  15. 上記ロボット装置に関する情報は、ロボット装置の機能リストを少なくとも含み、
    上記ロボット装置がサービスを実行する際に必要な必要機能を特定する必要機能特定ステップと、
    上記必要機能特定ステップにて特定された必要機能と、上記ロボット装置の機能リストとを比較することで、上記必要機能のうち上記ロボット装置に不足している不足機能を特定する不足機能特定ステップとをさらに有し、
    上記送信ステップでは、上記不足機能を該ロボット装置が利用可能な機能で代替させるためのデータ又はプログラムを送信する
    ことを特徴とする請求項9記載の情報提供方法。
  16. 上記ロボット装置に関する情報は、ロボット装置の機能リストを少なくとも含み、
    上記ロボット装置がサービスを実行する際に必要な必要機能を特定する必要機能特定ステップと、
    上記必要機能特定ステップにて特定された必要機能と、上記ロボット装置の機能リストとを比較することで、上記必要機能のうち上記ロボット装置に不足している不足機能を特定する不足機能特定ステップと、
    上記不足機能に対応する不足機能オブジェクトをロボット装置で利用される機能オブジェクトが記憶されたオブジェクト記憶手段から検索する検索ステップとをさらに有し、
    上記送信ステップでは、上記要求されたサービスに応じたデータ又はプログラムと共に、上記不足機能オブジェクトを上記ロボット装置に送信する
    ことを特徴とする請求項9記載の情報提供方法。
  17. ロボット装置と、ネットワーク経由で該ロボット装置にデータ又はプログラムを提供する情報提供装置とを備える情報提供システムであって、
    上記情報提供装置は、
    ロボット装置に提供するデータ又はプログラムが蓄積されたコンテンツ蓄積手段と、
    ロボット装置からサービス要求に関する情報と該ロボット装置に関する情報とを含む問い合わせを受信する受信手段と、
    上記問い合わせを解析する解析手段と、
    要求されたサービスに応じたデータ又はプログラムを上記ロボット装置に送信する送信手段とを有する
    ことを特徴とする情報提供システム。
  18. SOAP(Simple Object Access Protocol)プロトコルに従ってロボット装置と上記情報提供装置とが通信を行うことを特徴とする請求項17記載の情報提供システム。
  19. 上記情報提供装置は、
    上記コンテンツ蓄積手段に蓄積されるデータ又はプログラムに関する付加情報を管理するデータベースと、
    上記問い合わせと上記データベースの付加情報とのマッチングをとり、提供可能なデータ又はプログラムのリストを作成してロボット装置に返す手段と
    をさらに備えることを特徴とする請求項17記載の情報提供システム。
  20. 上記情報提供装置は、上記提供可能なデータ又はプログラムのリストに対する上記ロボット装置からの選択結果に応答して、該選択されたデータ又はプログラムへのアクセス方法を返す手段をさらに備え、
    上記送信手段は、上記ロボット装置からの上記アクセス方法に従ったアクセス要求に応答して、要求されたデータ又はプログラムを送信する
    ことを特徴とする請求項19記載の情報提供システム。
  21. 上記データ又はプログラムに関する付加情報は、サービスに関する情報とロボット装置に関する情報とを含むことを特徴とする請求項19記載の情報提供システム。
  22. 上記ロボット装置に関する情報は、以下に示す情報のうち少なくとも一部を含むことを特徴とする請求項17又は請求項21記載の情報提供システム。
    (1)ロボット装置毎にユニークに割り振られるロボット固有ID
    (2)ロボット装置の種類毎にユニークに割り振られるロボット種類ID
    (3)ロボット装置の機能リスト
    (4)ロボット装置のハードウェア構成を示す情報
    (5)ロボット装置が持つデータベース・リスト
  23. 上記ロボット装置に関する情報は、ロボット装置の機能リストを少なくとも含み、
    上記情報提供装置は、
    上記ロボット装置がサービスを実行する際に必要な必要機能を特定する必要機能特定手段と、
    上記必要機能特定手段により特定された必要機能と、上記ロボット装置の機能リストとを比較することで、上記必要機能のうち上記ロボット装置に不足している不足機能を特定する不足機能特定手段とをさらに備え、
    上記送信手段は、上記不足機能を該ロボット装置が利用可能な機能で代替させるためのデータ又はプログラムを送信する
    ことを特徴とする請求項17記載の情報提供システム。
  24. 上記ロボット装置に関する情報は、ロボット装置の機能リストを少なくとも含み、
    上記情報提供装置は、
    ロボット装置で利用される機能オブジェクトが記憶されたオブジェクト記憶手段と、
    上記ロボット装置がサービスを実行する際に必要な必要機能を特定する必要機能特定手段と、
    上記必要機能特定手段により特定された必要機能と、上記ロボット装置の機能リストとを比較することで、上記必要機能のうち上記ロボット装置に不足している不足機能を特定する不足機能特定手段と、
    上記不足機能に対応する不足機能オブジェクトを上記オブジェクト記憶手段から検索する検索手段とをさらに備え、
    上記送信手段は、上記要求されたサービスに応じたデータ又はプログラムと共に、上記不足機能オブジェクトを上記ロボット装置に送信する
    ことを特徴とする請求項17記載の情報提供システム。
JP2004097032A 2003-03-28 2004-03-29 情報提供装置及び方法、並びに情報提供システム Pending JP2004318862A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004097032A JP2004318862A (ja) 2003-03-28 2004-03-29 情報提供装置及び方法、並びに情報提供システム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003092166 2003-03-28
JP2004097032A JP2004318862A (ja) 2003-03-28 2004-03-29 情報提供装置及び方法、並びに情報提供システム

Publications (1)

Publication Number Publication Date
JP2004318862A true JP2004318862A (ja) 2004-11-11

Family

ID=33478543

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004097032A Pending JP2004318862A (ja) 2003-03-28 2004-03-29 情報提供装置及び方法、並びに情報提供システム

Country Status (1)

Country Link
JP (1) JP2004318862A (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006071062A1 (en) * 2004-12-30 2006-07-06 Samsung Electronics Co., Ltd. A terminal data format and a communication control system and method using the terminal data format
JP2006313428A (ja) * 2005-05-06 2006-11-16 Toyota Motor Corp データベース評価装置
JP2007136665A (ja) * 2005-11-17 2007-06-07 Korea Electronics Telecommun ロボット制御のためのロボットサーバ、これを含むコンテンツ提供システム及びその方法
JP2008131641A (ja) * 2006-11-17 2008-06-05 Korea Electronics Telecommun 流動ip住所環境におけるネットワーク基盤ロボット制御システム
JP2008529324A (ja) * 2004-12-30 2008-07-31 サムスン エレクトロニクス カンパニー リミテッド 端末データフォーマットと、端末データフォーマットを利用した通信制御システム及び方法
JP2009034807A (ja) * 2007-08-02 2009-02-19 Robotis Co Ltd ネットワーク基盤のロボットコンテンツ取引システム及び方法
JP2010131748A (ja) * 2008-12-08 2010-06-17 Korea Electronics Telecommun 仮想空間と連係した多重ロボット制御装置および方法
JP2012532390A (ja) * 2009-07-10 2012-12-13 オルドウバラン、ロボティクス エス、ア 移動ロボットのコンテキスト動作を生成するためのシステムおよび方法
JP2018015824A (ja) * 2016-07-26 2018-02-01 公立大学法人会津大学 ロボットを操作する装置、その装置において実行される方法およびプログラム。
JP2021533501A (ja) * 2018-10-11 2021-12-02 平安科技(深▲せん▼)有限公司Ping An Technology (Shenzhen) Co., Ltd. マンマシンインタラクション方法、システム、コンピュータ機器及び記憶媒体

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001222624A (ja) * 2000-02-10 2001-08-17 Sony Corp 情報提供システム、情報提供方法、部品情報提供装置及び部品情報提供方法
JP2002307354A (ja) * 2000-11-07 2002-10-23 Sega Toys:Kk 電子玩具
WO2002093877A1 (en) * 2001-05-15 2002-11-21 Nokia Corporation Context sensitive web services
JP2002361582A (ja) * 2001-06-05 2002-12-18 Sony Corp ロボットのための電力供給システム、並びにロボット

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001222624A (ja) * 2000-02-10 2001-08-17 Sony Corp 情報提供システム、情報提供方法、部品情報提供装置及び部品情報提供方法
JP2002307354A (ja) * 2000-11-07 2002-10-23 Sega Toys:Kk 電子玩具
WO2002093877A1 (en) * 2001-05-15 2002-11-21 Nokia Corporation Context sensitive web services
JP2002361582A (ja) * 2001-06-05 2002-12-18 Sony Corp ロボットのための電力供給システム、並びにロボット

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006071062A1 (en) * 2004-12-30 2006-07-06 Samsung Electronics Co., Ltd. A terminal data format and a communication control system and method using the terminal data format
JP2008529324A (ja) * 2004-12-30 2008-07-31 サムスン エレクトロニクス カンパニー リミテッド 端末データフォーマットと、端末データフォーマットを利用した通信制御システム及び方法
JP2006313428A (ja) * 2005-05-06 2006-11-16 Toyota Motor Corp データベース評価装置
US7835821B2 (en) 2005-11-17 2010-11-16 Electronics And Telecommunications Research Institute Robot server for controlling robot, system having the same for providing content, and method thereof
JP2007136665A (ja) * 2005-11-17 2007-06-07 Korea Electronics Telecommun ロボット制御のためのロボットサーバ、これを含むコンテンツ提供システム及びその方法
JP4712678B2 (ja) * 2005-11-17 2011-06-29 韓國電子通信研究院 ロボット制御のためのロボットサーバ、これを含むコンテンツ提供システム及びその方法
JP2008131641A (ja) * 2006-11-17 2008-06-05 Korea Electronics Telecommun 流動ip住所環境におけるネットワーク基盤ロボット制御システム
JP4647647B2 (ja) * 2006-11-17 2011-03-09 韓國電子通信研究院 流動ip住所環境におけるネットワーク基盤ロボット制御システム
JP2009034807A (ja) * 2007-08-02 2009-02-19 Robotis Co Ltd ネットワーク基盤のロボットコンテンツ取引システム及び方法
JP2010131748A (ja) * 2008-12-08 2010-06-17 Korea Electronics Telecommun 仮想空間と連係した多重ロボット制御装置および方法
JP2012532390A (ja) * 2009-07-10 2012-12-13 オルドウバラン、ロボティクス エス、ア 移動ロボットのコンテキスト動作を生成するためのシステムおよび方法
JP2018015824A (ja) * 2016-07-26 2018-02-01 公立大学法人会津大学 ロボットを操作する装置、その装置において実行される方法およびプログラム。
JP2021533501A (ja) * 2018-10-11 2021-12-02 平安科技(深▲せん▼)有限公司Ping An Technology (Shenzhen) Co., Ltd. マンマシンインタラクション方法、システム、コンピュータ機器及び記憶媒体
JP7061228B2 (ja) 2018-10-11 2022-04-27 平安科技(深▲せん▼)有限公司 マンマシンインタラクション方法、システム、コンピュータ機器及び記憶媒体

Similar Documents

Publication Publication Date Title
WO2004088514A1 (ja) 情報提供装置及び方法,並びに情報提供システム
JP2005078456A (ja) コンテンツ提供システム
US6470235B2 (en) Authoring system and method, and storage medium used therewith
US6816753B2 (en) Robot control system and robot control method
US7219064B2 (en) Legged robot, legged robot behavior control method, and storage medium
WO2002030627A1 (fr) Systeme de commande de robot et procede d&#34;installation d&#34;un logiciel de commande de robot
KR100827088B1 (ko) 소프트웨어 로봇 장치
JP2002120174A (ja) オーサリング・システム及びオーサリング方法、並びに記憶媒体
Joseph ROS Robotics projects
WO2004080665A1 (ja) ロボット装置、その行動制御方法及びプログラム
TW201915665A (zh) 機器人互動方法和設備
JP2004318862A (ja) 情報提供装置及び方法、並びに情報提供システム
JP3925140B2 (ja) 情報提供方法及び情報提供装置、並びにコンピュータ・プログラム
Moshayedi et al. Integrating virtual reality and robotic operation system (ROS) for AGV navigation
KR100880613B1 (ko) 지능형로봇의 감정표현지원시스템과 지원방법 및 이를이용한 지능형 로봇 시스템
JP2004283958A (ja) ロボット装置、その行動制御方法及びプログラム
Meyer zu Borgsen et al. ToBI–team of bielefeld: enhancing robot behaviors and the role of multi-robotics in RoboCup@ Home
JP2005059186A (ja) ロボット装置及びその制御方法
JP2002187082A (ja) ロボット制御システム及びロボット制御方法
Bouziane et al. A web services based solution for the NAO robot in cloud robotics environment
JP4147960B2 (ja) ロボット装置、及びロボット装置の動作制御方法
Alonso et al. A flexible and scalable social robot architecture employing voice assistant technologies
JP2005321954A (ja) ロボット装置、情報処理システム及び情報処理方法、並びにコンピュータ・プログラム
JP2005202609A (ja) コンテンツ管理装置及び方法並びにロボット装置及びその制御方法
Anderson et al. Work in progress: Enabling robot device discovery through robot device descriptions

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070316

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100511

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100803

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100927

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101026

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110113

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110118

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20110210