JP3925140B2 - 情報提供方法及び情報提供装置、並びにコンピュータ・プログラム - Google Patents

情報提供方法及び情報提供装置、並びにコンピュータ・プログラム Download PDF

Info

Publication number
JP3925140B2
JP3925140B2 JP2001311198A JP2001311198A JP3925140B2 JP 3925140 B2 JP3925140 B2 JP 3925140B2 JP 2001311198 A JP2001311198 A JP 2001311198A JP 2001311198 A JP2001311198 A JP 2001311198A JP 3925140 B2 JP3925140 B2 JP 3925140B2
Authority
JP
Japan
Prior art keywords
information
request
user
server
mechanical device
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.)
Expired - Lifetime
Application number
JP2001311198A
Other languages
English (en)
Other versions
JP2003111981A (ja
Inventor
雅博 藤田
義博 黒木
健蔵 石田
秀樹 下村
浩太郎 佐部
剛 高木
利忠 土井
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 JP2001311198A priority Critical patent/JP3925140B2/ja
Publication of JP2003111981A publication Critical patent/JP2003111981A/ja
Application granted granted Critical
Publication of JP3925140B2 publication Critical patent/JP3925140B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Toys (AREA)
  • Manipulator (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、自律的な動作を行いリアリスティックなコミュニケーションを実現するロボット装置及びその制御方法、ロボットのための情報提供システム及び情報提供方法、並びに記憶媒体に係り、特に、ユーザとのインタラクションにより自律的な動作を行うロボット装置及びその制御方法、ロボットのための情報提供システム及び情報提供方法、並びに記憶媒体に関する。
【0002】
更に詳しくは、本発明は、ニュースなどの時々刻々と更新される情報やその他会話中にユーザが求める情報を言葉や動作で提供するロボット装置及びその制御方法、ロボットのための情報提供システム及び情報提供方法、並びに記憶媒体に係り、特に、ユーザとのインタラクションに応じてネットワーク接続して必要なデータやプログラムを動的に取得してユーザとのコミュニケーションに活用するロボット装置及びその制御方法、ロボットのための情報提供システム及び情報提供方法、並びに記憶媒体に関する。
【0003】
【従来の技術】
電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行う機械装置のことを「ロボット」という。ロボットの語源は、スラブ語の"ROBOTA(奴隷機械)"に由来すると言われている。わが国では、ロボットが普及し始めたのは1960年代末からであるが、その多くは、工場における生産作業の自動化・無人化などを目的としたマニピュレータや搬送ロボットなどの産業用ロボット(industrial robot)であった。
【0004】
最近では、イヌやネコ、クマのように4足歩行の動物の身体メカニズムやその動作を模したペット型ロボット、あるいは、ヒトやサルなどの2足直立歩行を行う動物の身体メカニズムや動作を模した「人間形」若しくは「人間型」のロボット(humanoid robot)など、脚式移動ロボットの構造やその安定歩行制御に関する研究開発が進展し、実用化への期待も高まってきている。これら脚式移動ロボットは、クローラ式ロボットに比し不安定で姿勢制御や歩行制御が難しくなるが、階段の昇降や障害物の乗り越えなど、柔軟な歩行・走行動作を実現できるという点で優れている。
【0005】
アーム式ロボットのように、ある特定の場所に植設して用いるような据置きタイプのロボットは、部品の組立・選別作業など主として固定的・局所的な作業空間でのみ活動する。これに対し、移動式のロボットは、作業空間は非限定的であり、所定の経路上または無経路上を自在に移動して、所定の若しくは任意の人的作業を代行したり、ヒトやイヌあるいはその他の生命体に置き換わる種々のサービスを提供することができる。
【0006】
脚式移動ロボットの用途の1つとして、産業活動・生産活動等における各種の難作業の代行が挙げられる。例えば、原子力発電プラントや火力発電プラント、石油化学プラントにおけるメンテナンス作業、製造工場における部品の搬送・組立作業、高層ビルにおける清掃、火災現場その他における救助といったような危険作業・難作業の代行などである。
【0007】
また、脚式移動ロボットの他の用途として、上述の作業支援というよりも、生活密着型、すなわち人間との「共生」あるいは「エンターティンメント」という用途が挙げられる。この種のロボットは、ヒトあるいはイヌ(ペット)、クマなどの比較的知性の高い脚式歩行動物の動作メカニズムや四肢を利用した豊かな感情表現を忠実に再現する。また、あらかじめ入力された動作パターンを単に忠実に実行するだけではなく、ユーザ(あるいは他のロボット)から受ける言葉や態度(「褒める」とか「叱る」、「叩く」など)に対して動的に対応した、生き生きとした応答表現を実現することも要求される。
【0008】
従来の玩具機械は、ユーザ操作と応答動作との関係が固定的であり、玩具の動作をユーザの好みに合わせて変更することはできない。この結果、ユーザは同じ動作しか繰り返さない玩具をやがては飽きてしまうことになる。
【0009】
これに対し、自律動作を行うインテリジェントなロボットは、一般に、外界の情報を認識してそれに対して自身の行動を反映させる機能を持っている。すなわち、ロボットは、外部環境からの音声や画像、触覚などの入力情報に基づいて感情モデルや本能モデルを変化させて動作を決定することにより、自律的な思考及び動作制御を実現する。すなわち、ロボットが感情モデルや本能モデルを用意することにより、より高度な知的レベルで人間とのリアリスティックなコミュニケーションを実現することも可能となる。
【0010】
インテリジェントなロボットは、高い情報処理能力を持ち、一種のコンピュータとして捉えることもできる。他方、ネットワーク技術の発展に伴い、LAN(Local Area Network)などの通信媒体を介して複数のコンピュータを接続して、周辺機器の共有化を図ったり、電子メールやデータの転送などの情報交換を行うことが盛んである。特に最近では、有線ケーブル以外の伝送路を利用した無線通信路が有望である。何故ならば、有線ケーブルの大半を省略することにより、作業空間内で端末を比較的容易に移動させることができるからである。
【0011】
ロボットは、スタンドアロン状態でも自律的な行動により、ユーザを充分に楽しませることができるが、ネットワーク接続機能を装備することにより、必要なデータやプログラムを動的に取得して自律行動の制御に活用することができる。例えば、ユーザとの会話中に、ニュースなどの時々刻々と更新される情報やその他ユーザが求める情報をインターネットなどの広域ネットワーク上で検索し動的に引き出して、言葉や動作でユーザに提供することができ、この結果、ユーザに提供可能なサービスが拡充される。
【0012】
例えば、インターネット接続が可能なロボットは、ユーザとの会話のコンテキストに応じて、WWW(World Wide Web)情報空間を探索して、ニュースなどの生活・情報系のサービス、占いやゲームなどのエンターティンメント系のサービス、お店案内や辞書引きなどのデータベース系のサービス、モバイル・バンキングなどの取引系のサービスをユーザに提供することができる。さらには、ロボット自身の行動制御を規定するプログラム・コードなども随時取得して、新規の動作を発現したりすることができる。
【0013】
また、無線通信機能を用いてネットワークに接続することにより、ロボットの行動半径がケーブル長によって制限されたり、脚部動作がケーブルの干渉を受けたりすることがなくなるので、ロボットの脚式作業を確保することができる。ここで、無線通信としては、例えばIEEE802.11bやBluetoothなどを挙げることができる。
【0014】
ところで、通常のコンピュータ上でのインターネット検索は、キーボードやマウスなどのユーザ・インターフェースを用いたり、音声認識技術を用いた音声入力により得られたテキスト形式の検索条件(キーワードなど)を基に行われる。そして、検索結果は、ディスプレイ画面上でのブラウザ表示を使用するものが主流である。
【0015】
また、最近では、PDA(Personal Digital Assistant)などの携帯情報端末や携帯電話機などがパーソナル情報ツールとして進化してきている。例えば、携帯電話機は、iモードをはじめとしたインターネット接続サービスにより、「話す」から「使う」ものとしての機能を満たしつつある。これら携帯情報端末や携帯電話機におけるインターネット接続は、キーボードやディスプレイを基調としたインタラクションを利用するものである。
【0016】
これに対し、ロボットは、通常、キーボードやディスプレイなどのユーザ・インターフェースを持たない。このため、音声や画像の入力を通じて得られた情報、例えばユーザとの会話のコンテキストを基に、検索条件を形成して、インターネット上の情報空間を探索することになる。また、ブラウザ表示に頼らず、ユーザとの会話や脚部などを利用した動作パターンによって検索結果をユーザにフィードバックする。
【0017】
【発明が解決しようとする課題】
本発明の目的は、ニュースなどの時々刻々と更新される情報やその他会話中にユーザが求める情報を言葉や動作で提供することができる、優れたロボット装置及びその制御方法、ロボットのための情報提供システム及び情報提供方法、並びに記憶媒体を提供することにある。
【0018】
本発明の更なる目的は、ユーザとのインタラクションに応じてネットワーク接続して必要なデータやプログラムを動的に取得し、ユーザとのコミュニケーションに活用することができる、優れたロボット装置及びその制御方法、ロボットのための情報提供システム及び情報提供方法、並びに記憶媒体を提供することにある。
【0019】
【課題を解決するための手段及び作用】
本発明は、上記課題を参酌してなされたものであり、その第1の側面は、外部環境の変化に応じた自律的な動作が可能なロボット装置又はその制御方法であって、
ユーザからの要求を認識する要求認識手段又はステップと、
該認識された要求に回答するための情報を探索する情報探索手段又はステップと、
ユーザからの要求に回答するための情報を蓄積する情報蓄積手段又はステップと、
ユーザとの対話を制御する対話制御手段又はステップと、
を具備することを特徴とするロボット装置又はその制御方法である。
【0020】
ここで、前記要求認識手段又はステップは、画像又は音声の入力結果を基にユーザからの要求を認識することができる。
【0021】
また、前記情報探索手段又はステップは、ユーザからの要求に回答するための情報がロボット装置内のローカルな情報蓄積手段に蓄積されていない場合には、所定の通信媒体を介して接続される外部装置に情報要求するようになっている。
【0022】
また、前記対話制御手段又はステップは、前記情報探索手段又はステップによる探索結果を基にユーザとの対話を行うようになっている。
【0023】
また、前記対話制御手段又はステップは、前記要求認識手段又はステップにより認識された結果だけでは充分に要求が特定されておらず前記情報探索手段又はステップが情報を探索することができない場合には、さらにユーザの要求を特定するための対話を生成するようになっている。
【0024】
また、ユーザからの要求に回答するための情報がロボット装置内のローカルな情報蓄積手段に蓄積されておらず前記情報探索手段又はステップが所定の通信媒体を介して接続される外部装置に情報要求する場合には、前記対話制御手段又はステップは、ユーザの要求に関連する対話を生成して、ユーザとの会話が途切れないようにすることができる。
【0025】
また、前記対話制御手段又はステップは、前記情報探索手段又はステップが所定の通信媒体を介して接続される外部装置に情報要求する場合には、ユーザの要求に関連する対話行動を一旦スリープさせ、前記外部装置からの情報転送が完了したことに応答して該スリープさせておいた対話行動を再起動するようにしてもよい。
【0026】
しかして、本発明の第1の側面に係るロボット装置又はその制御方法によれば、ロボットは、音声や画像を通じてなされるユーザのリクエストに応じて、特定の中継サーバにリクエストを転送する。これに対し、中継サーバは、ローカルの記憶システムにない情報が要求されているときには、さらにインターネットのような広域ネットワーク上の情報空間を検索して、検索結果をロボットの動きや発話内容などのデータとしてロボットに送り返す。したがって、ロボットは、中継サーバからの受信データを用いて機体動作や音声としてユーザのリクエストに答えることができる。
【0027】
また、本発明の第2の側面は、ロボットのための情報提供システム又は情報提供方法であって、
ロボットと所定の通信プロトコルにより接続する第1の接続手段又はステップと、
情報提供空間が構築された広域ネットワークに接続する第2の接続手段又はステップと、
前記第1の接続手段又はステップを介してロボットから受信する要求メッセージに従って、前記第2の接続手段又はステップを介して前記情報空間を探索する情報探索手段又はステップと、
前記情報探索手段又はステップによる探索結果を基に要求元のロボットに対する回答メッセージを生成して、前記第1の接続手段又はステップを介して要求元のロボットに返信する探索結果処理手段又はステップと、
を具備することを特徴とするロボットのための情報提供システム又は情報提供方法である。
【0028】
但し、ここで言う「システム」とは、複数の装置(又は特定の機能を実現する機能モジュール)が論理的に集合した物のことを言い、各装置や機能モジュールが単一の筐体内にあるか否かは特に問わない。
【0029】
ここで、前記第1の接続手段又はステップは、オブジェクト間通信によりロボットと接続するようにしてもよい。また、前記情報探索手段又はステップは、HTTP(Hyper Text Transfer Protocol)プロトコルを用いてWWW(World Wide Web)情報提供空間を探索するようにしてもよい。このような場合、ロボット側では、情報探索のためにTCP/IPのような処理負荷の高い通信プロトコルを実装する必要がなくなり、機体上の演算機能を機体の動作制御に専念させることができるとともに、機体のコストを低減することができる。
【0030】
また、前記探索結果処理手段又はステップは、前記情報探索手段又はステップによる探索結果を動きや発話内容などのデータに変換して、前記第1の接続手段を介して要求元のロボットに返信するようにしてもよい。
【0031】
また、前記第1の接続手段又はステップを介して接続されるロボットからはあらかじめ相互に知っているトピックに関してあらかじめ規定された情報スロットを含んだ要求メッセージを受信するとともに、前記探索結果処理手段又はステップは該情報スロットに探索結果から得られた情報を書き込んで返信メッセージを生成するようにしてもよい。
【0032】
本発明の第2の側面に係るロボットのための情報提供システムによれば、インターネットのような広域ネットワーク上の情報空間を検索して、検索結果をロボットの動きや発話内容などのデータとしてロボットに送り返すことができる。したがって、ロボットは、中継サーバからの受信データを用いて機体動作や音声としてユーザのリクエストに答えることができる。
【0033】
また、本発明の第3の側面は、ロボットのための情報提供処理をコンピュータ・システム上で実行するように記述されたコンピュータ・ソフトウェアをコンピュータ可読形式で物理的に格納した記憶媒体であって、前記コンピュータ・ソフトウェアは、
ロボットと所定の通信プロトコルにより接続する第1の接続ステップと、
情報提供空間が構築された広域ネットワークに接続する第2の接続ステップと、
前記第1の接続ステップによりロボットから受信する要求メッセージに従って、前記第2の接続ステップにより前記情報空間を探索する情報探索ステップと、
前記情報探索ステップによる探索結果を基に要求元のロボットに対する回答メッセージを生成して、前記第1の接続ステップにより要求元のロボットに返信する探索結果処理ステップと、
を具備することを特徴とする記憶媒体である。
【0034】
本発明の第3の側面に係る記憶媒体は、例えば、さまざまなプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ・ソフトウェアをコンピュータ可読な形式で提供する媒体である。このような媒体は、例えば、CD(Compact Disc)やFD(Floppy Disk)、MO(Magneto-Optical disc)などの着脱自在で可搬性の記憶媒体である。あるいは、ネットワーク(ネットワークは無線、有線の区別を問わない)などの伝送媒体などを経由してコンピュータ・ソフトウェアを特定のコンピュータ・システムに提供することも技術的に可能である。
【0035】
このような記憶媒体は、コンピュータ・システム上で所定のコンピュータ・ソフトウェアの機能を実現するための、コンピュータ・ソフトウェアと記憶媒体との構造上又は機能上の協働的関係を定義したものである。換言すれば、本発明の第3の側面に係る記憶媒体を介して所定のコンピュータ・ソフトウェアをコンピュータ・システムにインストールすることによって、コンピュータ・システム上では協働的作用が発揮され、本発明の第2の側面に係るロボットのための情報提供システム及び情報提供方法と同様の作用効果を得ることができる。
【0036】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【0037】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態について詳解する。
【0038】
図1及び図2には、本発明の実施に供される脚式移動ロボット100が直立している様子を前方及び後方の各々から眺望した様子を示している。この脚式移動ロボット100は、「人間形」又は「人間型」と呼ばれるタイプであり、後述するように、音声や画像などの外部刺激の認識結果に基づいて自律的に行動制御を行うことができる。図示の通り、脚式移動ロボット100は、脚式移動を行う左右2足の下肢と、体幹部と、左右の上肢と、頭部とで構成される。
【0039】
左右各々の下肢は、大腿部と、膝関節と、脛部と、足首と、足平とで構成され、股関節によって体幹部の略最下端にて連結されている。また、左右各々の上肢は、上腕と、肘関節と、前腕とで構成され、肩関節によって体幹部上方の左右各側縁にて連結されている。また、頭部は、首関節によって体幹部の略最上端中央に連結されている。
【0040】
体幹部ユニット内には、図1及び図2上では見えていない制御部が配備されている。この制御部は、脚式移動ロボット100を構成する各関節アクチュエータの駆動制御や各センサ(後述)などからの外部入力を処理するコントローラ(主制御部)や、電源回路その他の周辺機器類を搭載した筐体である。制御部は、その他、遠隔操作用の通信インターフェースや通信装置を含んでいてもよい。
【0041】
図3には、本実施形態に係る脚式移動ロボット100が具備する関節自由度構成を模式的に示している。図示の通り、脚式移動ロボット100は、2本の腕部と頭部1を含む上体と、移動動作を実現する2本の脚部からなる下肢と、上肢と下肢とを連結する体幹部とで構成される。
【0042】
頭部1を支持する首関節は、首関節ヨー軸2と、首関節ピッチ軸3と、首関節ロール軸4という3自由度を有している。
【0043】
また、各腕部は、肩関節ピッチ軸8と、肩関節ロール軸9と、上腕ヨー軸10と、肘関節ピッチ軸11と、前腕ヨー軸12と、手首関節ピッチ軸13と、手首関節ロール軸14と、手部15とで構成される。手部15は、実際には、複数本の指を含む多関節・多自由度構造体である。但し、手部15の動作自体は、ロボット100の姿勢安定制御や歩行動作制御に対する寄与や影響が少ないので、本明細書ではゼロ自由度と仮定する。したがって、左右の各腕部は7自由度を有するとする。
【0044】
また、体幹部は、体幹ピッチ軸5と、体幹ロール軸6と、体幹ヨー軸7という3自由度を有する。
【0045】
また、下肢を構成する左右各々の脚部は、股関節ヨー軸16と、股関節ピッチ軸17と、股関節ロール軸18と、膝関節ピッチ軸19と、足首関節ピッチ軸20と、関節ロール軸21と、足部(足底又は足平)22とで構成される。人体の足部(足底)22は、実際には多関節・多自由度の足底を含んだ構造体であるが、本実施形態に係る脚式移動ロボット100の足底はゼロ自由度とする。したがって、左右の各脚部は6自由度で構成される。
【0046】
以上を総括すれば、本実施形態に係る脚式移動ロボット100全体としては、合計で3+7×2+3+6×2=32自由度を有することになる。但し、脚式移動ロボット100が必ずしも32自由度に限定される訳ではない。設計・製作上の制約条件や要求仕様などに応じて、自由度すなわち関節数を適宜増減することができることは言うまでもない。
【0047】
脚式移動ロボット100が持つ上述の各関節自由度は、実際にはアクチュエータによる能動的な動作として実現される。装置の外観上で余分な膨らみを排してヒトの自然体形状に近似させることや、2足歩行という不安定構造体に対して姿勢制御を行うことなどの種々の要請から、関節アクチュエータは小型且つ軽量であることが好ましい。本実施形態では、ギア直結型で且つサーボ制御系をワンチップ化してモータ・ユニットに内蔵したタイプの小型ACサーボ・アクチュエータを搭載することとした。なお、脚式移動ロボット100に適用可能な小型ACサーボ・アクチュエータに関しては、例えば本出願人に既に譲渡されている特開2000−299970号公報(特願平11−33386号明細書)に開示されている。
【0048】
図4には、脚式移動ロボット100の電気・制御系統の構成図を模式的に示している。同図に示すように、脚式移動ロボット100は、全体の動作の統括的制御やその他のデータ処理を行う制御部120と、入出力部140と、駆動部150と、電源部160とで構成される。以下、各部について説明する。
【0049】
入出力部140は、外部環境を検出する入力部として脚式移動ロボット100の目に相当するCCDカメラ115や、耳に相当するマイクロフォン116、触感に相当するタッチセンサ118、あるいは五感に相当するその他の各種のセンサを含む。また、ユーザ・フィードバックを行う出力部として、口に相当するスピーカ117、あるいは点滅の組み合わせや点灯のタイミングにより顔の表情を形成するLEDインジケータ119などを装備している。これら出力部は、脚などによる機械運動パターン以外の形式で脚式移動ロボット100からのユーザ・フィードバックを表現することができる。
【0050】
脚式移動ロボット100は、カメラ115を含むことで、作業空間上に存在する任意の物体の形状や色彩を認識することができる。また、脚式移動ロボット100は、カメラのような視覚手段の他に、赤外線、音波、超音波、電波などの発信波を受信する受信装置をさらに備えていてもよい。この場合、各伝送波を検知するセンサ出力に基づいて発信源からの位置や向きを計測することができる。
【0051】
駆動部150は、制御部120が指令する所定の運動パターンに従って移動ロボット1の機械運動を実現する機能ブロックであり、首関節7、尻尾関節8、股関節111A〜111D、膝関節112A〜112Dなどのそれぞれの関節におけるロール、ピッチ、ヨーなど各軸毎に設けられた駆動ユニットで構成される。図示の例では、脚式移動ロボット100はn個の関節自由度を有し、したがって駆動部150はn個の駆動ユニットで構成される。各駆動ユニットは、所定軸回りの回転動作を行うモータ151と、モータ151の回転位置を検出するエンコーダ152と、エンコーダ152の出力に基づいてモータ151の回転位置や回転速度を適応的に制御する駆動制御回路153の組み合わせで構成される。
【0052】
電源部160は、その字義通り、脚式移動ロボット100内の各電気回路等に対して給電を行う機能モジュールである。本実施形態に係る脚式移動ロボット100は、バッテリを用いた自律駆動式であり、電源部160は、充電バッテ1リ61と、充電バッテリ161の充放電状態を管理する充放電制御部162とで構成される。
【0053】
充電バッテリ161は、例えば、複数本のニッケル・カドミウム電池セルをカートリッジ式にパッケージ化した「バッテリ・パック」の形態で構成される。
【0054】
また、充放電制御部162は、バッテリ161の端子電圧や充電/放電電流量、バッテリ161の周囲温度などを測定することでバッテリ161の残存容量を把握し、充電の開始時期や終了時期などを決定するようになっている。充放電制御部162が決定する充電の開始及び終了時期は制御部120に通知され、脚式移動ロボット100が充電オペレーションを開始したり終了するためのトリガとなる。
【0055】
制御部120は、「頭脳」に相当し、例えば脚式移動ロボット100の頭部ユニットあるいは胴体部ユニットに搭載される。
【0056】
図5には、制御部120の構成をさらに詳細に図解している。同図に示すように、制御部120は、メイン・コントローラとしてのCPU(Central Processing Unit)121が、メモリその他の各回路コンポーネントや周辺機器とバス接続された構成となっている。バス128は、データ・バス、アドレス・バス、コントロール・バスなどを含む共通信号伝送路である。
【0057】
RAM(Random Access Memory)122は、DRAM(Dynamic RAM)などの揮発性メモリで構成された書き込み可能メモリであり、CPU121が実行するプログラム・コードをロードしたり、実行プログラムによる作業データの一時的な保存のために使用される。
【0058】
ROM(Read Only Memory)123は、プログラムやデータを恒久的に格納する読み出し専用メモリである。ROM123に格納されるプログラム・コードには、脚式移動ロボット100の電源投入時に実行する自己診断テスト・プログラムや、脚式移動ロボット100の動作を規定する動作制御プログラムなどが挙げられる。
【0059】
本実施形態に係るロボット100は、動作制御プログラムによって、外部刺激の認識結果や内部状態の変化に応じて行動制御を行うことができるが、行動制御のシステム構成については後述に譲る。
【0060】
不揮発性メモリ124は、例えばEEPROM(Electrically Erasable and Programmable ROM)のように、電気的に消去再書き込みが可能なメモリ素子で構成され、逐次更新すべきデータを不揮発的に保持するために使用される。逐次更新すべきデータには、例えば、製造番号や暗号鍵などのセキュリティ情報などが挙げられる。
【0061】
インターフェース125は、制御部120外の機器と相互接続し、データ交換を可能にするための装置である。インターフェース125は、例えば、カメラ115やマイクロフォン116、スピーカ117との間でデータ入出力を行う。また、インターフェース125は、駆動部150内の各駆動回路153−1…との間でデータやコマンドの入出力を行う。
【0062】
また、インターフェース125は、RS(Recommended Standard)−232Cなどのシリアル・インターフェース、IEEE(Institute of Electrical and electronics Engineers)1284などのパラレル・インターフェース、USB(Universal Serial Bus)インターフェース、i−Link(IEEE1394)インターフェース、SCSI(Small Computer System Interface)インターフェース、メモリ・カード・インターフェースなどのような、コンピュータの周辺機器接続用の汎用インターフェースを備え、ローカル接続された外部機器との間でプログラムやデータの移動を行うようにしてもよい。
【0063】
また、インターフェース125の他の例として、赤外線通信(IrDA)インターフェースを備え、外部機器と無線通信を行うようにしてもよい。
【0064】
さらに、制御部120は、無線通信インターフェース126を含み、Bluetoothのような近距離無線データ通信やIEEE802.11bのような無線ネットワークにより機体の数メートル以内に配設されたアクセスポイント201との間で無線データ通信を行うことができる。アクセスポイント201は、さらにLANなどの小規模ネットワークやインターネットなどの広域ネットワークに相互接続され、ロボット100をネットワーク上の情報提供空間へと導くことができる。
【0065】
同図に示すように、無線通信機能を用いてネットワークに接続することにより、ロボット100の行動半径がケーブル長によって制限されたり、脚部動作がケーブルの干渉を受けたりすることがなく、ロボット100の脚式作業を確保することができる。
【0066】
また、脚式移動ロボット100は、このようなネットワーク接続機能を装備することにより、必要なデータやプログラムを動的に取得してコミュニケーションに活用することができる。例えば、ユーザとの会話中に、ニュースなどの時々刻々と更新される情報やその他ユーザが求める情報をインターネットなどの広域ネットワーク上で検索し動的に引き出して、言葉や動作でユーザに提供することができ、サービスが拡充される。
【0067】
なお、インターネットのようなネットワークに相互接続するためには、TCP/IP(Transmission Control Protocol/Internet Protocol)のような比較的処理負荷の高い通信プロトコルを装備する必要がある。また、WWW(World Wide Web)のような情報提供空間に対して、HTTP(Hyper Text Transfer Protocol)メッセージを利用して所望のコンテンツを引き出すのが一般的である。これに対し、本実施形態では、通信に伴う処理負荷の軽減による機体動作のリアルタイム性の確保や低コスト化のため、ロボット100自身にはTCP/IPを搭載せず、また、情報要求にHTTPを使用しない。これに代わって、ロボット100とWWW情報空間(情報提供サーバ203)との間には、中継サーバ202が介在する。
【0068】
中継サーバ202は、TCP/IP以外の処理負荷の軽い通信プロトコル(オブジェクト間通信:後述)によりロボット100と接続するとともに、ローカルの記憶システムにない情報がロボット100から要求されているときには、HTTPを用いてインターネット上のWWW情報空間を検索して、その検索結果をさらにロボット100の動きや発話内容などのデータに変換して、ロボット100に送り返すようになっている。この結果、ロボット100は、受信データを用いて機体動作や音声としてユーザのリクエストに答えることができる。中継サーバ100の機能の詳細については後述に譲る。
【0069】
本実施形態に係る脚式移動ロボット100は、制御部120内のCPU121が所定の行動制御プログラムを実行することにより、外部刺激の認識結果や内部状態の変化に応じて行動制御を行うことができる。図6には、本実施形態に係る脚式移動ロボット100において採用される行動制御システム50の基本アーキテクチャを模式的に示している。
【0070】
図示の行動制御システム50にはオブジェクト指向プログラミングを採り入れることができる。この場合、各ソフトウェアは、データとそのデータに対する処理手続きとを一体化させた「オブジェクト」というモジュール単位で扱われる。また、各オブジェクトは、メッセージ通信と共有メモリを使ったオブジェクト間通信方法によりデータの受け渡しとInvokeを行なうことができる。
【0071】
行動制御システム50は、外部環境(Environments)を認識するために、視覚認識機能部51と、聴覚認識機能部52と、接触認識機能部53を備えている。
【0072】
視覚認識機能部(Video)51は、例えば、CCD(Charge Coupled Device:電荷結合素子)カメラのような画像入力装置を介して入力された撮影画像を基に、顔認識や色認識などの画像認識処理や特徴抽出を行う。
【0073】
聴覚認識機能部(Audio)52は、マイクなどの音声入力装置を介して入力される音声データを音声認識して、特徴抽出したり、単語セット(テキスト)認識を行ったりする。
【0074】
接触認識機能部(Tactile)53は、例えば機体の頭部などに内蔵された接触センサによるセンサ信号を認識して、「なでられた」とか「叩かれた」という外部刺激を認識する。
【0075】
内部状態管理部(ISM:Internal Status Manager)54は、本能モデルや感情モデルを備え、上述の視覚認識機能部51と、聴覚認識機能部52と、接触認識機能部53によって認識された外部刺激(ES:ExternalStimula)に応じてロボット100の本能や情動といった内部状態を管理する。
【0076】
感情モデルと本能モデルは、それぞれ認識結果と行動履歴を入力に持ち、感情値と本能値を管理している。行動モデルは、これら感情値や本能値を参照することができる。
【0077】
短期記憶部(ShortTermMemory)55は、上述の視覚認識機能部51と、聴覚認識機能部52と、接触認識機能部53によって外部環境から認識されたターゲットやイベントを短期間保持する機能モジュールである。例えば、カメラからの入力画像を約15秒程度の短い期間だけ記憶する。
【0078】
長期記憶部(LongTermMemory)56は、物の名前など学習により得られた情報を超期間保持するために使用される。長期記憶部56は、例えば、ある行動モジュールにおいて外部刺激から内部状態の変化を連想記憶することができる。
【0079】
本実施形態に係る脚式移動ロボット100の行動制御は、反射行動部59によって実現される「反射行動」と、状況依存行動階層58によって実現される「商況依存行動」と、熟考行動階層57によって実現される「熟考行動」に大別される。
【0080】
反射的行動部(ConfigurationDependentActionsAndReactions)59は、上述の視覚認識機能部51と、聴覚認識機能部52と、接触認識機能部53によって認識された外部刺激に応じて反射的な機体動作を実現する機能モジュールである。
【0081】
反射行動とは、基本的に、センサ入力された外部情報の認識結果を直接受けて、これを分類して、出力行動を直接決定する行動のことである。例えば、人間の顔を追いかけたり、うなずくといった振る舞いは反射行動として実装することが好ましい。
【0082】
状況依存行動階層(SituatedBehaviorsLayer)58は、短期記憶部55並びに長期記憶部56の記憶内容や、内部状態管理部54によって管理される内部状態を基に、脚式移動ロボット100が現在置かれている状況に即応した行動を制御する。
【0083】
状況依存行動階層58は、各行動毎にステートマシンを用意しており、それ以前の行動や状況に依存して、センサ入力された外部情報の認識結果を分類して、行動を機体上で発現する。また、状況依存行動階層58は、内部状態をある範囲に保つための行動(「ホメオスタシス行動」とも呼ぶ)も実現し、内部状態が指定した範囲内を越えた場合には、その内部状態を当該範囲内に戻すための行動が出易くなるようにその行動を活性化させる(実際には、内部状態と外部環境の両方を考慮した形で行動が選択される)。状況依存行動は、反射行動に比し、反応時間が遅い。
【0084】
熟考行動階層(DeliberativeLayer)57は、短期記憶部55並びに長期記憶部56の記憶内容に基づいて、脚式移動ロボット100の比較的長期にわたる行動計画などを行う。
【0085】
熟考行動とは、与えられた状況あるいは人間からの命令により、推論やそれを実現するための計画を立てて行われる行動のことである。このような推論や計画は、ロボット100がインタラクションを保つための反応時間よりも処理時間や計算負荷を要する可能性があるので、上記の反射行動や状況依存行動がリアルタイムで反応を返しながら、熟考行動は推論や計画を行う。
【0086】
本実施形態に係る脚式移動ロボット100は、ユーザの会話のコンテキストなどからユーザが求める情報を割り出して、中継サーバ202を介してインターネットなどの広域ネットワーク上で検索し動的に引き出して、言葉や動作でユーザに提供することができる。このような行動は、主として熟考行動階層57によって行われる。
【0087】
既に述べたように、ロボット100自身はTCP/IPを搭載せず、また、情報要求にHTTPを使用しない。これに代わって、ロボット100とWWW情報空間(情報提供サーバ203)との間には、中継サーバ202が介在する。中継サーバ202は、TCP/IP以外の処理負荷の軽い通信プロトコルによりロボット100と接続するとともに、ローカルの記憶システムにない情報がロボット100から要求されているときには、HTTPを用いてインターネット上のWWW情報空間を検索する。さらに、中継サーバ202は、その検索結果をさらにロボット100の動きや発話内容などのデータに変換して、ロボット100に送り返すようになっている。この結果、ロボット100は、受信データを用いて機体動作や音声としてユーザのリクエストに答えることができる。
【0088】
図7には、本実施形態に係るロボット100を取り巻くネットワーク構成を模式的に示している。
【0089】
ロボット100は、無線データ通信機能を装備しており、アクセス・ポイント201経由でネットワークに接続されている(前述)。ロボット100には、ユーザから与えられた指示を認識する能力、あるいは、ロボットが自らの行動のために必要と判断するプログラムが存在する。
【0090】
ここで言うネットワークには、LANなどの小規模ネットワークやインターネットのような広域ネットワークが含まれる。
【0091】
ネットワーク上には、ロボット100のためにWWW情報探索を代行して行う中継サーバ202や、その他の多数のサーバ203,204…が存在する。ネットワーク上では、サーバなどの各ホストは例えばTCP/IPプロトコルによって相互接続されている。
【0092】
中継サーバ202は、ロボット100に必要なプログラム(オブジェクト)や情報コンテンツ、データなどをあらかじめ記憶しておくとともに、随時これらを更新して、ネットワーク経由で特定のロボット100あるいはすべてのロボットに配信する。また逆に、ロボット100から送られてくるプログラム(オブジェクト)や情報コンテンツ、データなどを受信してローカルな記憶システムに格納することができる。
【0093】
また、ネットワーク上には、有料又は無料で情報を提供する情報提供サーバ203,204が存在する。例えば、情報提供サーバ203は、ウェブサイトが構築された典型的なWWWサーバとして稼働して、HTML(Hyper Text Transfer Protocol)形式で記述された情報コンテンツを蓄積し情報公開している。中継サーバ202は、HTTPを用いてHTMLコンテンツにアクセスすることができる。
【0094】
他方の情報提供サーバ204は、GDA(Global Document Annotation)形式で記述されたGDAドキュメントを蓄積し情報公開するGDAサーバとして稼働している。
【0095】
ここでGDAとは、係り受け、代名詞の指示対象、多義語の意味など、多言語間で共通の統語や意味などをタグ情報で記述する規格である。GDAタグはXML(eXtensible Markup Language)の形式に従い、GDAでタギングされた各ファイルはエレメント(タグで区切られた文字列)の集合からなる。GDAドキュメントは、タグによって構造化されたデータであり、自然言語処理に利用し易く、機械翻訳や情報検索、要約、質問応答、知識発見などへの応用が利く。(GDAに関しては、例えばhttp://www.carc.aist.go.jp/nlwww/i-content/gda/を参照されたい)
【0096】
中継サーバ202は、ローカルの記憶システムにない情報がロボット100から要求されているときには、HTTPを用いてインターネット上のWWW情報提供空間を検索して、情報提供サーバ203,204などから取得することができる。
【0097】
さらに中継サーバ202は、WWWサーバ203から取得したHTMLドキュメントに含まれる文字情報を解析し、意味に基づくタグ付け処理して蓄積しておく。タグ付け処理は、情報の要求元であるロボット100が行ってもよいが、プロセッサの処理速度やメモリ容量、ハード・ディスク容量などを勘案すると、中継サーバ202において行うことが好ましい。また、GDAサーバ204から取得したGDAドキュメントに関しては、既にタグ付け処理がなされているので、中継サーバ202側での文字情報解析の処理負荷は軽くて済む。
【0098】
図8には、本実施形態に係るロボット100と中継サーバ202を相互接続する構成を模式的に示している。
【0099】
ロボット100側では、主として熟考行動階層57の動作により、ユーザの会話のコンテキストなどからユーザが求める情報を割り出して、自らWWW情報提供空間を探索することはなく、中継サーバ202に対して情報の取得並びに提供をリクエストする。
【0100】
これに対し、中継サーバ202側では、問合せ解析及び検索エンジンを装備しており、ロボット100から送られてきたリクエストに基づいた探索と、集めた情報を基に、リクエストに対する必要な情報の作成処理を行う。
【0101】
問合せ解析及び検索エンジンは、まず、中継サーバ202のローカル記憶システムで所望の情報を探索し、其処で見つからなければ、さらにWWWサーバ203やGDAサーバ204などの外部サーバを検索対象とする。これら外部サーバとはTCP/IPプロトコルによって相互接続されており、HTTPを用いて情報コンテンツにアクセスすることができる。
【0102】
また、ネットワーク上の情報空間から集められたHTMLやGDA形式の情報コンテンツは、そのままではロボット100側が処理することができない(又は、困難である)。そこで、問合せ解析及び検索エンジンは、その検索結果をさらにロボット100の動きや発話内容などのデータに変換して、ロボット100に送り返す。
【0103】
このようにロボット100のための情報検索処理を、ロボット100と中継サーバ202とで分業している1つの大きな理由は、ロボット100側におけるユーザとのインタラクションにおけるリアルタイム性を維持することにある。
【0104】
ロボット100は、通常、ユーザと直接インタラクションをしているが、インタラクションにおいてリアルタイムでの反応は不可欠であり、この点で、サーバ202側が行う処理とは性質を異にする。
【0105】
また、図6に示したような行動制御システム50の構成は、反射行動や状況依存行動などのリアルタイムの処理と、処理時間を要する熟考行動とを階層的に分けることで、ユーザに対するインタラクションを自然に見せている。
【0106】
したがって、通常の対話処理をロボット100内部で実行する一方で、情報検索などの時間を要する処理をロボット100外のサーバ202に委ねている、という訳である。
【0107】
図8に示すように、ロボット100及び中継サーバ57はともにゲートウェイ・オブジェクトを備えており、ロボット100側の熟考制御階層57と中継サーバ202側の問合せ解析及び検索エンジンとは、HTTPプロトコルではなくオブジェクト間通信により接続されている。ゲートウェイ・オブジェクトは、ネットワークの出入口として機能し、オブジェクト間通信とTCP/IPプロトコルの変換を行う。
【0108】
図9には、典型的な2つのオブジェクト間通信の基本概念を図解している。同図には、2つのオブジェクト間でのデータのやり取りの基本と、"Ready"と"Notify"を用いてオブジェクト間通信を行うことで緩やかな同期がとられていることが示されている。また、データ通信は、各オブジェクト内の"Subject"及び"Observer"という代理プログラムが行うので、各オブジェクトを設計するために通信相手に関する情報をまったく必要としない。
【0109】
オブジェクト間の接続は、システム起動時に行われる。図10には、1つのSubjectと1つのObserverの間におけるオブジェクト間通信が成立する過程を示している。
【0110】
まず、SubjectとObserverはそれぞれ自分自身をサービス名とシステム起動時に割り当てられた自分のIDとを結び付けて、ServiceManagerに登録する。ServiceManagerは、オブジェクトの1つであるが、どのSubjectとどのObserverとを結合させるかを記述したデータを外部から受け取ることができる。図10に示す例では、ServiceManagerは、ConnectFileと呼ばれるファイルから読み出すことによって受け取っている。
【0111】
SubjectとObserverというオブジェクトはともに、設計時にお互いの存在を仮定せずにコーディングすることができる。必要なことは、どのようなデータ構造を入出力するかであり、どのオブジェクトがその入出力を行うかは、ConnectFileに記述されており、そのデータに従ってオブジェクト間通信が構築される。
【0112】
先述のゲートウェイ・オブジェクトは、ネットワークの出入口として存在し、図10に示したようなオブジェクト間通信とTCP/IPプロトコルの変換を行う。各ゲートウェイ・オブジェクトには、port.cfgと言う設定ファイルがあり、そのデータによってオブジェクト間通信で定義される通信のサービス名とTCP/IP通信で用いられるIPアドレスとポート番号の対応をとることができる。
【0113】
ゲートウェイ・オブジェクトの一方はサーバ(ターゲット・システム)であり、他方はクライアント(リモート・システム)の働きをするが、これは図8に示した実施形態にも該当する。
【0114】
各ゲートウェイ・オブジェクトは、図10を参照しながら説明した手順に従って、Observer又はSubjectを動的に生成して、port.cfgに記述されているサービス名とそのObserver又はSubjectが持つオブジェクトIDとを結び付けて、各々のシステム上のServiceManagerに登録する。port.cfgに記述差された分だけ幾つでもサービスを登録することができるので、ネットワークを介して通信したいサービスはport.cfgに記述することで自由に設定することができる。また、このサービス名は、port.cfgに記述されたネットワーク・ポート(IPアドレスとポート番号)に対応するために、結局は、Observer又はSubjectが持つオブジェクトIDとポート番号が対応することになる。ネットワーク上で異なる場所に存在するゲートウェイ・オブジェクトにおいて、port.cfgの記述を対応させる(すなわち、対応するオブジェクト間通信サービス名に対して同じポート番号を割り当てる)ことで、ネットワークの一方と他方でオブジェクト間通信の対応をとることができる。
【0115】
オブジェクト間の接続を行うシーケンスにおいて、クライアント側のゲートウェイ・オブジェクト内のObserver又はSubjectに接続要求が到来したときに、対応するポート番号に対して"connect()"を行う。ここで、ターゲットすなわちサーバ側のゲートウェイ・オブジェクトが既に起動していれば、接続が成立する。また、ターゲット側で準備できていなければ、数秒後に再接続を試み、準備ができるまで待機する。
【0116】
一度接続が成立すれば、以後、ゲートウェイ・オブジェクト中のObserver又はSubjectがNotifyやReadyメッセージなどのデータを受信する度に、対応するポートにそのメッセージを送り込む。また逆に、ネットワーク・ポートがデータを受信すれば、対応するObserver又はSubjectからNotify又はReadyメッセージを送り出す。
【0117】
また、ゲート・オブジェクト同士で接続確立後、ソフトウェアの一部をネットワークを介したリモート・システムで動作させようとした場合、コネクションを切断して、その間に仮想的なゲートウェイ・オブジェクトを1つ置いて、それに接続を行なうことと等価である。
【0118】
仮想的なゲートウェイ・オブジェクトの中ではデータの受け渡しがすべて行われているので、ゲートウェイ・オブジェクトに接続されたオブジェクトはネットワークを介した通信をまったく意識する必要がない。また、仮想的なゲートウェイ・オブジェクトの設置は、オブジェクト間の接続の変更であるので、オブジェクトのコードに変更を新たに加える必要はなく、単にConnectionFileを書き換えるだけで済む。
【0119】
次いで、ロボット100と中継サーバ202の協働的処理によって、ロボット100と対話中のユーザに提供されるサービスの内容について説明する。ここでは、ユーザとロボット100の間で以下に示すようなインタラクションが行われている場合を例にとって説明する。
【0120】
ユーザ:”今日の天気は?”
ロボット:”今どこにいるんだっけ?”
ユーザ:”東京だよ”
ロボット:”ちょっと待ってね、調べるから”
(ロボットは中継サーバと更新して、今日の天気に関する情報を取得して、ロボット内の記憶システムに格納する)
ロボット:”晴れてたらいいね”
ユーザ:”今どこにいるんだっけ?”
………
ロボット:”今日の東京の天気は、晴れだよ”
ユーザ:”これから大阪に行くんだけど、雨降らないよね”
(ロボットは、先ほど格納した情報を検索し、大阪の天気を調べる)
ロボット:”大阪は、6時から雨の確率が60%になっているよ”
ユーザ:”ほんと!じゃ傘持っていかなきゃ。サンキュー”
ロボット:”どういたしまして”
【0121】
このようなインタラクションを成立させるためのロボット100と中継サーバ202の協働的処理について、図11を参照しながら具体的に説明する。
【0122】
図11に示した一連のインタラクションにおいて、ユーザからロボット100へのリクエストは、2回発生している。
【0123】
このうちの1度目のリクエストは"今日の天気は?"である。ロボット100は、ユーザからのこのリクエストを音声入力して、聴覚認識機能部52により音声認識してテキスト変換する。
【0124】
また、熟考行動階層57では、リクエストの内容が天気情報であることや、”今日の天気は?”という情報だけでは曖昧で情報を特定できないということ、現在のロボット100内の記憶システムに蓄積されている情報だけではこのリクエストに答えられないという状況を判断する。そして、ユーザに対しては、リクエストの内容を限定するためのインタラクションを計画する。
【0125】
この結果、ロボット100は、”今どこにいるんだっけ?”という問いかけをユーザに行い、これに対するユーザからの”東京だよ。”という返事を基にリクエストの内容を特定する。そして、熟考行動階層57は、図8に示したようなオブジェクト間通信のメカニズムを利用して、中継サーバ202に対してリクエストを送信する。
【0126】
中継サーバ202は、オブジェクト間通信によりロボット100からのリクエストを受信すると、TCP/IPプロトコルの変換を行い、HTTPを用いてWWW情報空間上で天気情報を検索する。そして、その検索結果をさらにロボット100の動きや発話内容などのデータに変換して、ロボット100に送り返す。中継サーバ202側で行う処理の詳細については、後述に譲る。
【0127】
中継サーバ202を介した情報の取得には時間を要するので、熟考行動階層57は、ユーザとの会話が途切れるような好ましくない(若しくは不快な)状況を回避するための行動計画を立案する。例えば、図11に示すように、”晴れたらいいね”のような、会話をつなぐようなインタラクションを生成する。勿論、ユーザの直近のリクエストに関連する会話や挙動を立案してもよいが、これに限定されず、ユーザのプロファイルや他の状況から導出される会話や挙動を立案してもよい。
【0128】
そして、中継サーバ202から、図8に示すようなオブジェクト間通信のメカニズムを利用して天気情報をダウンロードすると、ロボット100は、これをローカルの記憶システムに格納するとともに、”今日の東京の天気は、晴れだよ”というリクエストに対する応答を生成する。
【0129】
また、ユーザからの2度目のリクエストは”これから大阪に行くんだけど、雨降らないよね”である。ロボット100は、ユーザからのこのリクエストを音声入力して、聴覚認識機能部52により音声認識してテキスト変換する。
【0130】
また、熟考行動階層57では、最初のリクエストに対する応答のために既に天気情報を取得しており、ローカル記憶システムに格納されたデータを基に2度目のリクエストに対応できるという状況を判断して、再び中継サーバ202にアクセスすることなく、ローカル記憶システムを検索して今日の大阪の天気情報を取得して、”大阪は、6時から雨の確立が60%になっているよ”という返事をユーザに返すことができる。
【0131】
次いで、ユーザからの最初のリクエストを処理する場合を例にとって、中継サーバ202側での処理について説明する。
【0132】
図8を参照しながら説明したように、ロボット100内の熟考行動階層57と中継サーバ202側の問合せ解析及び検索エンジンは、オブジェクト間通信により接続されている。
【0133】
熟考行動階層57では、”今日の天気は、(場所:東京)”というリクエストに対する答えを得るために、中継サーバ202の問合せ解析及び検索エンジンに対して、リクエストを論理的な形式に変換したメッセージを送信する。このメッセージは、例えば、”QID=1;Contents=weather;Location=Tokyo.Japan;Date=Today”のように、質問番号、質問内容、場所、期日…などのリクエストを特定するエレメントを列挙したフォーマットを備えている。
【0134】
中継サーバ202側での処理は、ロボット100から送られてきたリクエストに基づいた情報検索(ローカル記憶システム内の検索と、サーバ203外のWWW検索の双方を含む)と、収集した情報によりリクエストに対するロボット100に必要な情報を生成する処理に大別される。勿論、ロボット100との通信は常に行われている。
【0135】
上述したロボット100からのリクエスト”QID=1;Contents=weather;Location=Tokyo.Japan;Date=Today”は、中継サーバ202とロボット100があらかじめ相互に知っている”Weather(天気)”というトピックに関して、あらかじめ規定された情報スロットに中継サーバ202が情報を書き込むという処理を行う。Weatherというドメイン(コンテンツ)に対して、補助的にLocation(場所)やDate(日付)を入れて、Weather=?で?に情報を挿入するような質問である。
【0136】
中継サーバ202では、この質問に対して、例えばあらかじめ登録してある天気情報を公開するウェブページにアクセスして、例えば以下に示すようなHTML形式で記述された天気情報を取得する。
【0137】
【数1】
Figure 0003925140
【0138】
HTMLドキュメントはタグによって構造化されたデータであり、所定の文書解析を行うことにより、東京地方の今日の天気が晴れであることが分かる。勿論、大阪などの他の地域・地方の天気情報を同様に抽出することができる。このようなタグ付きデータの解析処理により、ロボット100からのリクエストに対する応答メッセージを作成することができる。応答メッセージは、例えば”AnsT0=1;Contents=Weather;Date=Today;(Tokyo.Japan,Fair),(Osaka.Japan,Fair),(…)…”のように、回答番号、回答内容、期日、回答結果…という論理的な形式を持っている。
【0139】
ロボット100側では、上述したような論理的な形式を持つ回答メッセージを受信すると、”東京の今日の天気は晴れ”という文章を生成することができる。すなわち、〈Location=Tokyo〉という条件に対して、回答メッセージ中からTokyo.Japanにマッチするスロットを探して、天気情報としての”Fair”を獲得し、”〈Location〉の〈Date〉は、〈?〉”という形式のテンプレート文に検索結果を逐次代入していって、回答文章を生成する訳である。
【0140】
なお、ロボット100と中継サーバ202間の通信の状況が悪く、非常にデータ転送に時間がかかるときや、無線通信が切断されることがある。熟考行動階層57は、中継サーバ202からの情報取得が間に合わない場合であっても、ユーザとの対話が途切れることなくインタラクションのリアルタイム性を確保するために、状況に合わせた行動を選択して適当な対話や行動を続けるように行動計画を立案する。
【0141】
熟考行動階層57は、状況に合わせて行動を選択する。したがって、中継サーバ202に対してリクエストを送信すると、その行動は一旦スリープされて、ユーザとのインタラクションを継続するための別の行動(対話)が選択され起動される。また、中継サーバ202からの情報転送が完了したことを知らせるメッセージが到来した時点で、スリープさせておいた行動を再起動して、ユーザのリクエストに対する返事を行う。
【0142】
なお、スリープ機能にはタイマ機能が装備されており、あらかじめ設定された所定時間以上スリープ状態が継続すると、その行動は強制終了される。
【0143】
[追補]
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
【0144】
本発明の要旨は、必ずしも「ロボット」と称される製品には限定されない。すなわち、電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行う機械装置であるならば、例えば玩具などのような他の産業分野に属する製品であっても、同様に本発明を適用することができる。
【0145】
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【0146】
【発明の効果】
以上詳記したように、本発明によれば、ニュースなどの時々刻々と更新される情報やその他会話中にユーザが求める情報を言葉や動作で提供することができる、優れたロボット装置及びその制御方法、ロボットのための情報提供システム及び情報提供方法、並びに記憶媒体を提供することができる。
【0147】
また、本発明によれば、ユーザとのインタラクションに応じてネットワーク接続して必要なデータやプログラムを動的に取得し、ユーザとのコミュニケーションに活用することができる、優れたロボット装置及びその制御方法、ロボットのための情報提供システム及び情報提供方法、並びに記憶媒体を提供することができる。
【0148】
本発明に係るロボットは、音声や画像を通じてなされるユーザのリクエストに応じて、特定のサーバにリクエストを転送する。サーバは、ローカルの記憶システムにない情報が要求されているときには、さらにインターネットのような広域ネットワーク上の情報提供空間を検索して、検索結果をロボットの動きや発話内容などのデータとしてロボット送り返す。この結果、ロボットは、受信データを用いて機体動作や音声としてユーザのリクエストに答えることができる。
【図面の簡単な説明】
【図1】本発明の実施に供される脚式移動ロボット100を前方から眺望した様子を示た図である。
【図2】本発明の実施に供される脚式移動ロボット100を後方から眺望した様子を示た図である。
【図3】本実施形態に係る脚式移動ロボット100が具備する自由度構成モデルを模式的に示した図である。
【図4】脚式移動ロボット100の電気・制御系統の構成図を模式的に示した図である。
【図5】制御部120の構成を詳細に示した図である。
【図6】実施形態に係る脚式移動ロボット100において採用される行動制御システム50の基本アーキテクチャを模式的に示した図である。
【図7】本実施形態に係るロボット100を取り巻くネットワーク構成を模式的に示した図である。
【図8】本実施形態に係るロボット100と中継サーバ202を相互接続する構成を模式的に示した図である。
【図9】典型的な2つのオブジェクト間通信の基本概念を説明するための図である。
【図10】オブジェクト間を接続するための仕組みを示した図である。
【図11】ロボット100と中継サーバ202の協働的処理によってロボット100と対話中のユーザに提供されるサービスの内容を説明するためのチャートである。
【符号の説明】
1…頭部,2…首関節ヨー軸
3…首関節ピッチ軸,4…首関節ロール軸
5…体幹ピッチ軸,6…体幹ロール軸
7…体幹ヨー軸,8…肩関節ピッチ軸
9…肩関節ロール軸,10…上腕ヨー軸
11…肘関節ピッチ軸,12…前腕ヨー軸
13…手首関節ピッチ軸,14…手首関節ロール軸
15…手部,16…股関節ヨー軸
17…股関節ピッチ軸,18…股関節ロール軸
19…膝関節ピッチ軸,20…足首関節ピッチ軸
21…足首関節ロール軸,22…足部(足底)
50…行動制御システム
51…視覚認識機能部
52…聴覚認識機能部
53…接触認識機能部
54…内部状態管理部
55…短期記憶部
56…長期記憶部
57…熟考行動階層
58…状況依存行動階層
59…反射行動部
100…脚式移動ロボット
115…CCDカメラ
116…マイクロフォン
117…スピーカ
118…タッチセンサ
119…LEDインジケータ
120…制御部
121…CPU
122…RAM
123…ROM
124…不揮発メモリ
125…インターフェース
126…無線通信インターフェース
128…バス
140…入出力部
150…駆動部
151…モータ
152…エンコーダ
153…ドライバ

Claims (8)

  1. 外部環境の変化に応じた自律的な動作が可能な機械装置と該機械装置に対して情報提供する情報提供するサーバからなる情報提供システムであって、
    前記機械装置と前記サーバが所定の通信プロトコルにより接続する第1の接続手段と、
    前記サーバが、情報提供空間が構築された広域ネットワークに接続する第2の接続手段と、
    前記機械装置とユーザとの対話を制御する対話制御手段と、
    前記対話制御手段によって行なわれる前記機械装置とユーザとの対話のコンテキストに基づいてユーザからの要求を認識する要求認識手段と、
    該認識された要求に回答するための情報を前記機械装置内で蓄積する情報蓄積手段と、
    該認識された要求に回答するための情報が前記情報蓄積手段に蓄積されているかどうかを判断する判断手段と、
    該認識された要求に回答するための情報が前記情報蓄積手段に蓄積されていないと前記判断手段が判断したときに、前記機械装置が前記第1の接続手段を介して前記サーバに対して該認識された要求に回答するための情報を要求する情報要求する情報要求手段と、
    前記サーバにおいて、前記機械装置からの該情報要求を解析して、該認識された要求に回答するための情報を前記第2の接続手段を介して前記情報提供空間上で探索する情報探索手段と、
    前記サーバにおいて、前記情報探索手段による探索結果を基に前記機械装置に対する回答メッセージを生成して、前記第1の接続手段を介して前記機械装置に返信する探索結果処理手段を備え、
    前記情報蓄積手段は、前記の前記サーバから前記機械装置に返信された回答メッセージに含まれている、ユーザからの要求に回答するための情報を格納し、
    前記対話制御手段は、前記情報要求手段が前記サーバに情報要求する場合には、ユーザの要求に関連する対話行動を一旦スリープさせ、前記探索結果処理手段から前記機械装置への情報転送が完了したことに応答して該スリープさせておいた対話行動を再起動して前記情報蓄積手段に蓄積されている情報に基づいて前記機械装置とユーザとの対話を制御する、
    ことを特徴とする情報提供システム
  2. 前記対話制御手段は、前記要求認識手段により認識された結果だけでは充分に要求が特定されておらず、前記判断手段が判断できない又は前記情報要求手段が情報の要求を行なうことができない場合には、さらにユーザの要求を特定するための対話を生成する、
    ことを特徴とする請求項1に記載の情報提供システム。
  3. 外部環境の変化に応じた自律的な動作が可能な機械装置と該機械装置に対して情報提供する情報提供するサーバからなる情報提供方法であって、
    前記機械装置と前記サーバ間は所定の通信プロトコルに基づいて第1の接続手段で接続され、且つ、前記サーバは第2の接続手段で情報提供空間が構築された広域ネットワークに接続されており、
    前記機械装置とユーザとの対話を制御する対話制御ステップと、
    前記対話制御ステップによって行なわれる前記機械装置とユーザとの対話のコンテキストに基づいてユーザからの要求を認識する要求認識ステップと、
    該認識された要求に回答するための情報を前記機械装置内の情報蓄積手段に蓄積する情報蓄積ステップと、
    該認識された要求に回答するための情報が前記情報蓄積手段に蓄積されているかどうかを判断する判断ステップと、
    該認識された要求に回答するための情報が前記情報蓄積手段に蓄積されていないと前記判断ステップにおいて判断したときに、前記機械装置が前記第1の接続手段を介して前記 サーバに対して該認識された要求に回答するための情報を要求する情報要求する情報要求ステップと、
    前記サーバにおいて、前記機械装置からの該情報要求を解析して、該認識された要求に回答するための情報を前記第2の接続手段を介して前記情報提供空間上で探索する情報探索ステップと、
    前記サーバにおいて、前記情報探索ステップにおける探索結果を基に前記機械装置に対する回答メッセージを生成して、前記第1の接続手段を介して前記機械装置に返信する探索結果処理ステップを備え、
    前記情報蓄積ステップでは、前記の前記サーバから前記機械装置に返信された回答メッセージに含まれている、ユーザからの要求に回答するための情報を格納し、
    前記対話制御ステップでは、前記情報要求ステップにおいて前記サーバに情報要求する場合には、ユーザの要求に関連する対話行動を一旦スリープさせ、前記探索結果処理ステップにより前記機械装置への情報転送が完了したことに応答して該スリープさせておいた対話行動を再起動して前記情報蓄積手段に蓄積されている情報に基づいて前記機械装置とユーザとの対話を制御する、
    ことを特徴とする情報提供方法。
  4. 前記対話制御ステップは、前記要求認識ステップにおいて認識された結果だけでは充分に要求が特定されておらず、前記判断手段が判断できない又は前記情報要求手段が情報の要求を行なうことができない場合には、さらにユーザの要求を特定するための対話を生成する、
    ことを特徴とする請求項3に記載の情報提供方法。
  5. 外部環境の変化に応じた自律的な動作が可能な機械装置に対してサーバから情報提供するための処理をコンピュータ上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、
    前記機械装置と前記サーバ間は所定の通信プロトコルに基づいて第1の接続手段で接続され、且つ、前記サーバは第2の接続手段で情報提供空間が構築された広域ネットワークに接続されており、
    前記コンピュータに対し、
    前記機械装置とユーザとの対話を制御する対話制御手順と、
    前記対話制御手順によって行なわれる前記機械装置とユーザとの対話のコンテキストに基づいてユーザからの要求を認識する要求認識手順と、
    該認識された要求に回答するための情報を前記機械装置内の情報蓄積手段に蓄積する情報蓄積手順と、
    該認識された要求に回答するための情報が前記情報蓄積手段に蓄積されているかどうかを判断する判断手順と、
    該認識された要求に回答するための情報が前記情報蓄積手段に蓄積されていないと前記判断手順を実行して判断したときに、前記機械装置が前記第1の接続手段を介して前記サーバに対して該認識された要求に回答するための情報を要求する情報要求する情報要求手順と、
    前記サーバにおいて、前記機械装置からの該情報要求を解析して、該認識された要求に回答するための情報を前記第2の接続手段を介して前記情報提供空間上で探索する情報探索手順と、
    前記サーバにおいて、前記情報探索手順を実行した探索結果を基に前記機械装置に対する回答メッセージを生成して、前記第1の接続手段を介して前記機械装置に返信する探索結果処理手順を実行させ、
    前記情報蓄積手順では、前記の前記サーバから前記機械装置に返信された回答メッセージに含まれている、ユーザからの要求に回答するための情報を格納し、
    前記対話制御手順では、前記情報要求手順において前記サーバに情報要求する場合には 、ユーザの要求に関連する対話行動を一旦スリープさせ、前記探索結果処理手順を実行して前記機械装置への情報転送が完了したことに応答して該スリープさせておいた対話行動を再起動して前記情報蓄積手段に蓄積されている情報に基づいて前記機械装置とユーザとの対話を制御する、
    ことを特徴とするコンピュータ・プログラム
  6. 外部環境の変化に応じた自律的な動作が可能な機械装置と情報提供サーバからなる情報提供システムであって、
    前記機械装置は、
    前記情報提供サーバと所定の通信プロトコルにより接続する第1の接続手段と、
    ユーザから音声入力された要求を認識する聴覚認識手段と、
    ユーザから音声入力された要求に回答するための情報を蓄積する情報蓄積手段と、
    ユーザから音声入力された要求に回答するための情報が前記情報蓄積手段に蓄積されているか否かを判断する判断手段と、
    前記認識された要求が前記情報蓄積手段に蓄積されていないと判断された場合は、前記第1の接続手段を介して情報提供サーバに送信する送信する送信手段と、
    前記情報提供サーバから受信した回答メッセージをユーザに対して出力する対話制御手段と、
    反射行動部及び熟考行動階層を具備し、
    前記情報提供サーバは、
    前記機械装置と所定の通信プロトコルにより接続する第2の接続手段と、
    情報提供空間が構築された広域ネットワークに接続する第3の接続手段と、
    前記第2の接続手段を介して前記機械装置から受信する要求に従って、前記第3の接続手段を介して前記情報空間を探索する情報探索手段と、
    前記情報探索手段による探索結果を基に要求元の機械装置に対する回答メッセージを生成して、前記第2の接続手段を介して要求元の機械装置に返信する探索結果処理手段を具備する、
    ことを特徴とする情報提供システム。
  7. 前記機械装置は、反射行動は反射行動部によって行ない、熟考行動階層によって行なう、
    ことを特徴とする請求項6に記載の情報提供システム。
  8. 前記反射行動は、LEDインジケータの点滅又は点灯のタイミングである、
    ことを特徴とする請求項7に記載の情報提供システム。
JP2001311198A 2001-10-09 2001-10-09 情報提供方法及び情報提供装置、並びにコンピュータ・プログラム Expired - Lifetime JP3925140B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001311198A JP3925140B2 (ja) 2001-10-09 2001-10-09 情報提供方法及び情報提供装置、並びにコンピュータ・プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001311198A JP3925140B2 (ja) 2001-10-09 2001-10-09 情報提供方法及び情報提供装置、並びにコンピュータ・プログラム

Publications (2)

Publication Number Publication Date
JP2003111981A JP2003111981A (ja) 2003-04-15
JP3925140B2 true JP3925140B2 (ja) 2007-06-06

Family

ID=19130061

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001311198A Expired - Lifetime JP3925140B2 (ja) 2001-10-09 2001-10-09 情報提供方法及び情報提供装置、並びにコンピュータ・プログラム

Country Status (1)

Country Link
JP (1) JP3925140B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010064154A (ja) * 2008-09-08 2010-03-25 Nec Corp ロボット制御システム、遠隔管理装置、ロボット、それらの方法及びプログラム

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4556425B2 (ja) * 2003-12-11 2010-10-06 ソニー株式会社 コンテンツ再生システム、コンテンツ再生方法、コンテンツ再生装置
JP2007034498A (ja) * 2005-07-25 2007-02-08 Ihot Ltd 情報管理装置およびその装置が利用する情報提供装置
KR100901483B1 (ko) 2007-08-13 2009-06-08 한국전자통신연구원 네트워크 기반의 로봇용 음성 처리 방법 및 시스템
FR2920686B1 (fr) * 2007-09-12 2010-01-15 Aldebaran Robotics Robot apte a echanger des programmes informatiques codant pour des comportements
EP2933071A1 (en) * 2014-04-17 2015-10-21 Aldebaran Robotics Methods and systems for managing dialogs of a robot
JP6594646B2 (ja) 2015-04-10 2019-10-23 ヴイストン株式会社 ロボット及びロボット制御方法並びにロボットシステム
CN106826876A (zh) * 2017-01-18 2017-06-13 北京爱情说科技有限公司 一种智能行动机器人
JP6962105B2 (ja) * 2017-09-27 2021-11-05 カシオ計算機株式会社 対話装置、サーバ装置、対話方法及びプログラム
FR3078178B1 (fr) * 2018-02-20 2020-02-28 Universite De Reims Champagne-Ardenne Procede d’interconnexion entre robots
KR102198824B1 (ko) * 2018-11-08 2021-01-05 정희용 피지컬 소프트웨어 코딩 교육 교재 실행 장치
CN110722564A (zh) * 2019-10-31 2020-01-24 北京鲲鹏神通科技有限公司 一种具有互联网搜索执行功能的类机器人

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010064154A (ja) * 2008-09-08 2010-03-25 Nec Corp ロボット制御システム、遠隔管理装置、ロボット、それらの方法及びプログラム

Also Published As

Publication number Publication date
JP2003111981A (ja) 2003-04-15

Similar Documents

Publication Publication Date Title
JP4396273B2 (ja) ロボット装置及びその制御方法
US8145492B2 (en) Robot behavior control system and method, and robot apparatus
KR101137205B1 (ko) 로봇의 행동 제어 시스템 및 행동 제어 방법, 및 로봇 장치
CN100364731C (zh) 机器人装置、其行为控制方法及程序
US20050197739A1 (en) Behavior controlling system and behavior controlling method for robot
EP1610221A1 (en) Information providing device, method, and information providing system
US6493606B2 (en) Articulated robot and method of controlling the motion of the same
US7363108B2 (en) Robot and control method for controlling robot expressions
JP3925140B2 (ja) 情報提供方法及び情報提供装置、並びにコンピュータ・プログラム
JP2005193331A (ja) ロボット装置及びその情動表出方法
US20050080514A1 (en) Content providing system
KR20010052699A (ko) 로봇 장치, 로봇 장치의 제어방법 및 프로그램 기록 매체
JP2001353678A (ja) オーサリング・システム及びオーサリング方法、並びに記憶媒体
JP2006110707A (ja) ロボット装置
JP2007125631A (ja) ロボット装置及びその行動制御方法
JP2003334785A (ja) ロボットの行動制御システム及び行動制御方法、並びにロボット装置
JP4449372B2 (ja) ロボット装置及びその行動制御方法
JP2007125629A (ja) ロボット装置及びその行動制御方法
JP2002059384A (ja) ロボットのための学習システム及び学習方法
JP4552465B2 (ja) 情報処理装置、ロボット装置の行動制御方法、ロボット装置及びコンピュータ・プログラム
JP2005271137A (ja) ロボット装置及びその制御方法
JP2005321954A (ja) ロボット装置、情報処理システム及び情報処理方法、並びにコンピュータ・プログラム
JP4147960B2 (ja) ロボット装置、及びロボット装置の動作制御方法
JP3501123B2 (ja) ロボット装置及びロボット装置の行動制御方法
JP2002331481A (ja) ロボット装置、動作作成装置及び動作作成方法、並びに、制御プログラム及び記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040805

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060315

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061017

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061218

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070219

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100309

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110309

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110309

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120309

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130309

Year of fee payment: 6