(57)【特許請求の範囲】
【請求項１】
ロボット外の操作端末上でロボットを遠隔操作するためのロボット遠隔制御システムであって、
操作端末上でロボットを操作可能な端末ソフトウェアを２以上用意する端末ソフトウェア群蓄積手段と、
操作端末側からの端末ソフトウェア要求に応じて、前記端末ソフトウェア群蓄積手段から該要求に該当する端末ソフトウェアを取り出して該操作端末に送信する端末ソフトウェア提供手段と、
を具備し、
操作端末側は端末ソフトウェア要求に際し自身の仕様情報を提示し、
前記端末ソフトウェア提供手段は、提示された前記操作端末の仕様情報及び前記操作端末が遠隔操作するロボットの仕様に合致する端末ソフトウェアを前記端末ソフトウェア群蓄積手段から取り出して該操作端末側に送信する、
ことを特徴とするロボット遠隔制御システム。
【請求項２】
前記端末ソフトウェア群蓄積手段は前記ロボット内に配設されていることを特徴とする請求項１に記載のロボット遠隔制御システム。
【請求項３】
前記端末ソフトウェア群蓄積手段は、操作端末とは通信媒体経由で接続可能な計算機システム上に配設されていることを特徴とする請求項１に記載のロボット遠隔制御システム。
【請求項４】
前記端末ソフトウェア提供手段は、端末ソフトウェアの提供に際し、操作端末側のユーザ認証を要求することを特徴とする請求項１に記載のロボット遠隔制御システム。
【請求項５】
操作端末は、ユーザを認証又は識別する認証・識別手段を備えることを特徴とする請求項１に記載のロボット遠隔制御システム。
【請求項６】
前記認証・識別手段は、ユーザ入力されたユーザ識別情報又はパスワードに基づいてユーザを認証又は識別する、
ことを特徴とする請求項５に記載のロボット制御システム。
【請求項７】
前記認証・識別手段は、ユーザから採取された指紋の照合結果に基づいてユーザを認証又は識別する、
ことを特徴とする請求項５に記載のロボット制御システム。
【請求項８】
前記認証・識別手段は、ユーザの撮像画像に基づいてユーザを認証又は識別する、
ことを特徴とする請求項１に記載のロボット制御システム。
【請求項９】
前記認証・識別手段は、ユーザの生体情報に基づいてユーザを認証又は識別する、
ことを特徴とする請求項５に記載のロボット制御システム。
【請求項１０】
操作端末側は端末ソフトウェア要求に際しユーザの識別情報を提示し、
前記端末ソフトウェア提供手段は、提示された識別情報に合致する端末ソフトウェアを前記端末ソフトウェア群蓄積手段から取り出して該操作端末側に送信する、
ことを特徴とする請求項１に記載のロボット遠隔制御システム。
【請求項１１】
前記端末ソフトウェア群蓄積手段は前記ロボット内に配設され、前記ロボット自身の仕様に合致する多種類の端末ソフトウェアを蓄積している、
ことを特徴とする請求項１に記載のロボット遠隔制御システム。
【請求項１２】
前記端末ソフトウェア群蓄積手段は前記ロボット内に配設され、操作端末側の仕様に合わせた多種類の端末ソフトウェアを蓄積している、
ことを特徴とする請求項１に記載のロボット遠隔制御システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、移動型のロボットに係り、特に、移動型ロボットのためにユーザ・コマンドの入力・転送方式に関する。
【０００２】
更に詳しくは、本発明は、リモート・コントローラを用いて移動ロボットに対して遠隔的にユーザ・コマンドを送信して操縦する移動ロボットのための遠隔制御方式に係り、特に、自律型・学習型のインテリジェントなロボットをリモート・コントローラで操縦するための遠隔制御方式に関する。
【０００３】
【従来の技術】
電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行う機械装置のことを「ロボット」という。ロボットの語源は、スラブ語の"ＲＯＢＯＴＡ(奴隷機械)"に由来すると言われている。わが国においてロボットが普及し始めたのは１９６０年代末からであるが、その多くは、工場における生産作業の自動化・無人化などを目的としたマニピュレータや搬送ロボットなどの産業用ロボット（industrial robot）であった。
【０００４】
アーム式ロボットのように、ある特定の場所に植設して用いるような据置きタイプのロボットは、部品の組立・選別作業など固定的・局所的な作業空間でのみ活動する。これに対し、移動式のロボットは、作業空間は非限定的であり、所定の経路上または無経路上を自在に移動して、所定の若しくは任意の人的作業を代行したり、ヒトやイヌあるいはその他の生命体に置き換わる種々の幅広いサービスを提供することができる。
【０００５】
なかでも脚式の移動ロボットは、クローラ式やタイヤ式のロボットに比し不安定で姿勢制御や歩行制御が難しくなるが、階段や梯子の昇降や障害物の乗り越えや、整地・不整地の区別を問わない柔軟な歩行・走行動作を実現できるという点で優れている。
【０００６】
最近では、イヌやネコのように４足歩行の動物の身体メカニズムやその動作を模したペット型ロボット、あるいは、ヒトのような２足直立歩行を行う動物の身体メカニズムや動作をモデルにしてデザインされた「人間形」若しくは「人間型」のロボット（humanoid robot）など、脚式移動ロボットに関する研究開発が進展し、実用化への期待も高まってきている。
【０００７】
移動ロボットを、産業活動・生産活動等における各種作業の代行に適用することができる。例えば、原子力発電プラントや火力発電プラント、石油化学プラントにおけるメンテナンス作業、製造工場における部品の搬送・組立作業、高層ビルにおける清掃、火災現場その他における救助といったような、人間が容易に踏み込むことができない現場での危険作業・難作業の代行である。
【０００８】
また、移動ロボットの他の用途として、人間と居住空間を同一にする「共生」若しく「エンターティンメント」と呼ばれるものが挙げられる。この種の用途では、移動ロボットは、作業代行などの生活支援というよりも、生活密着という性格が濃厚である。エンターティンメント型のロボットは、予め入力された動作パターンを単に忠実に実行するだけではなく、相手の言葉や態度（「褒める」とか「叱る」、「叩く」など）に呼応した、生き生きとした動作表現を実現することも要求される。
【０００９】
従来の玩具機械は、ユーザ操作と応答動作との関係が固定・画一的であり、同じ動作しか繰り返さないので、ユーザはやがて飽きてしまうことになる。これに対し、エンターティンメント型のロボットは、動作生成の時系列モデルに従って自律的な動作を実行する。さらに、ユーザ操作などの外界からの刺激を検出したことに応答してこの時系列モデルを変更する、すなわち学習効果を付与することができる。この結果、ユーザ操作と応答動作との関係はプログラマブルとなり、ユーザにとって飽きない、あるいは、ユーザの好みに適応した動作パターンを提供することができる。また、ユーザは、ロボットの操作を通して、一種の育成シミュレーションを楽しむことができる。
【００１０】
ところで、移動ロボットに対するユーザ・コマンドの入力方式としては、赤外線データ通信（ＩｒＤＡ）やｂｌｕｅｔｏｏｔｈを始めとする無線データ通信を利用した遠隔制御方式が極めて有効であると思料する。何故ならば、移動ロボットは広い作業空間において特定又は不定の経路上を探索するので、胴体の背面部など特定の部位に配設された設置型のコマンダを動作中にユーザ操作することは困難であるからである。また、ケーブル接続された情報端末をコントローラとして用いると、作業空間がケーブル長に限定されてしまったり、あるいはケーブルと可動脚が絡まってロボットが転倒してロボットや衝突物を損壊させてしまいかねない。
【００１１】
例えば、特開平１０−３４５７０号公報には、ロボットの移動方向前方に向けられたカメラによる撮像画像をモニタ上で安全を確認しながら、操作子で遠隔操作することができるロボット遠隔制御システムについて開示されている。
【００１２】
また、特開平１０−２１７２５９号公報には、脚式移動ロボットをマスタースレーブ方式で操縦するためのマスター装置を備えた脚式移動ロボットの遠隔制御システムについて開示されている。この遠隔制御システムによれば、マスター側の足平作用力とロボット側の足平作用力との対応関係に基づいて、ロボット及びマスターを操作するオペレータの目標足平位置や姿勢を決定するようになっている。
【００１３】
また、特開平１０−２９１１８４号公報には、オペレータが足平架台に指示した足平を自身が歩くように動かして、その足平の動作状態に応じてロボットの脚体の動作を指令することができる、二足歩行型ロボットの遠隔制御システムについて開示されている。
【００１４】
電気・電子機器のためのリモート・コントローラは、通常、機種毎のハードウェア仕様にあわせて設計・製作される。このことは電気・電子機器本体の仕様変更やバージョンアップに応じてリモート・コントローラも再設計され、最新の機器本体に新たなリモート・コントローラを付属して消費者に販売・提供されることを意味する。
【００１５】
ところが、自律型又は学習型の動作をするロボット（前述）のようにインテリジェンスを備えた機器の場合、機器本体は仕様変更していないにも拘わらず、その制御特性が使用態様に応じて変化してしまう。このため、固定的な操作機能しか持たないリモート・コントローラは、機器本体側の学習すなわち成長に追従することができなくなってしまう。
【００１６】
また、特定のインテリジェントなロボットを複数のユーザ間で共有するような場合、あるユーザの操作や対話に起因する学習効果によってロボットの行動モデルが変化するが、他のユーザがリモコン操作するとき、行動モデルの変化に伴うロボットの応答特性の変化にユーザがキャッチアップできないことがある。場合によっては、慣れないロボットの応答を異常や故障と誤解してしまうことさえある。
【００１７】
また、従来のリモート・コントローラには、ユーザ認証機能が装備されていないので、誰でもリモート・コントローラを手に持ちさえすれば、インテリジェントなロボットを離れた場所から自在に操縦することができる。このため、不徳漢がリモート・コントローラを不正に入手すれば、インテリジェントなロボットに対して犯罪行為又はこれに加担する行動を指示することができてしまう。このような事態が発生すると、製品に対する社会的信用が著しく損なわれ、ロボットの開発や普及など産業活動そのものを消沈させかねない。
【００１８】
また、ユーザ認証機能などを搭載すると、ロボット本体だけでなく、リモート・コントローラまでもが高機能で且つ高価な情報端末となってしまう。ロボット本体のリニューアルに併せて、その都度リモート・コントローラも買い換えなければならないのでは、消費者の経済的負担は過大となってしまう。
【００１９】
【発明が解決しようとする課題】
本発明の目的は、リモート・コントローラを用いて移動ロボットに対して遠隔的にユーザ・コマンドを送信して操縦することができる、移動ロボットのための優れた遠隔制御方式を提供することにある。
【００２０】
本発明の更なる目的は、自律型・学習型のインテリジェントなロボットをリモート・コントローラで操縦することができる、移動ロボットのための優れた遠隔制御方式を提供することにある。
【００２１】
【課題を解決するための手段】
本発明は、上記課題を参酌してなされたものであり、その第１の側面は、ロボット外の操作端末上でロボットを遠隔操作するためのロボット遠隔制御システムであって、
操作端末上でロボットを操作可能な端末ソフトウェアを１以上用意する端末ソフトウェア群蓄積手段と、
操作端末側からの端末ソフトウェア要求に応じて、前記端末ソフトウェア群蓄積手段から該要求に該当する端末ソフトウェアを取り出して該操作端末に送信する端末ソフトウェア提供手段と、
を具備することを特徴とするロボット遠隔制御システムである。
【００２２】
本発明の第１の側面に係るロボット遠隔制御システムにおいて、前記端末ソフトウェア群蓄積手段は、前記ロボット内に配設されていてもよいし、あるいは、操作端末とは通信媒体経由で接続可能な計算機システム上に配設されていてもよい。
【００２３】
また、前記端末ソフトウェア提供手段は、端末ソフトウェアの提供に際し、操作端末側のユーザ認証を要求するようにしてもよい。
【００２４】
また、操作端末側は端末ソフトウェア要求に際し自身の仕様情報を提示するようにしてもよい。このような場合、前記端末ソフトウェア提供手段は、提示された仕様情報に合致する端末ソフトウェアを前記端末ソフトウェア群蓄積手段から取り出して、該操作端末側に送信することができる。
【００２５】
また、操作端末は、端末を操作中のユーザを認証又は識別する認証・識別手段を備えていてもよい。前記認証・識別手段は、ユーザ入力されたユーザ識別情報及び／又はパスワードに基づいてユーザを認証又は識別するようにしてもよい。あるいは、前記認証・識別手段は、操作端末を手に持つユーザから採取された指紋の照合結果に基づいてユーザを認証又は識別するようにしてもよい。あるいは、前記認証・識別手段は、操作端末を操縦するユーザの撮像画像に基づいてユーザを認証又は識別するようにしてもよい。あるいは、前記認証・識別手段は、操作端末を操縦するユーザの生体情報に基づいてユーザを認証又は識別するようにしてもよい。
【００２６】
また、操作端末側は端末ソフトウェア要求に際しユーザの識別情報を提示するようにしてもよい。このような場合、前記端末ソフトウェア提供手段は、提示された識別情報に合致する端末ソフトウェアを前記端末ソフトウェア群蓄積手段から取り出して、該操作端末側に送信することができる。
【００２７】
また、前記端末ソフトウェア群蓄積手段が前記ロボット内に配設されている場合、前記ロボット自身の仕様に合致する多種類の端末ソフトウェアを蓄積していればよい。あるいは、前記ロボット自身の仕様に合致するとともに、操作端末側のさまざまな仕様の相違に合わせた多種類の端末ソフトウェアを蓄積しておいてもよい。
【００２８】
また、本発明の第２の側面は、操作端末上でロボットを遠隔操作するために使用する端末ソフトウェアを配布するソフトウェア配布方法であって、
１以上の端末ソフトウェアを用意する端末ソフトウェア蓄積ステップと、
操作端末側から端末ソフトウェア要求を受信したことに応答して、該要求に該当する端末ソフトウェアを該操作端末に送信する端末ソフトウェア提供ステップと、
を具備することを特徴とするソフトウェア配布方法である。
【００２９】
本発明の第２の側面に係るソフトウェア配布方法において、前記端末ソフトウェア蓄積ステップでは、前記ロボット内に複数の端末ソフトウェアを蓄積するようにしてもよい。あるいは、前記端末ソフトウェア蓄積ステップでは、操作端末とは通信媒体経由で接続可能な計算機システム上に複数の端末ソフトウェアを蓄積するようにしてもよい。
【００３０】
また、前記端末ソフトウェア提供ステップでは、端末ソフトウェアの提供に際し、操作端末側のユーザ認証を要求するようにしてもよい。
【００３１】
また、操作端末側は端末ソフトウェア要求に際し自身の仕様情報を提示するようにしてもよい。このような場合、前記端末ソフトウェア提供ステップでは、提示された仕様情報に合致する端末ソフトウェアを該操作端末側に送信することができる。
【００３２】
また、操作端末側は端末ソフトウェア要求に際しユーザの識別情報を提示するようにしてもよい。このような場合、前記端末ソフトウェア提供ステップでは、提示されたユーザ識別情報に合致する端末ソフトウェアを該操作端末側に送信することができる。
【００３３】
また、前記端末ソフトウェア群蓄積ステップでは、前記ロボット自身の仕様に合致する多種類の端末ソフトウェアを前記ロボット内に蓄積するようにしてもよい。あるいは、あるいは、前記ロボット自身の仕様に合致するとともに、操作端末側のさまざまな仕様の相違に合わせた多種類の端末ソフトウェアを蓄積しておいてもよい。
【００３４】
【作用】
本発明に従えば、例えばロボット上に（あるいはネットワーク上の計算機システムにおいて）、ロボット自身の仕様に合致するとともに、操作端末側のさまざまな仕様の相違に合わせた多種類の端末ソフトウェアを用意しておく。
【００３５】
操作端末側からは、端末の仕様やユーザの認証・識別情報を含んだ端末ソフトウェア要求を発する。これに対し、ロボットは、端末の仕様やユーザの種別に適合した端末ソフトウェアを提供する。
【００３６】
したがって、ロボットやリモート・コントローラなどの操作端末の仕様など、状況に応じた操作環境を常に操作端末側に提供することができる。
【００３７】
操作端末側では、ロボットの仕様に合致した端末ソフトウェアを用いてロボットを操作するので、不可能な処理を指示することがなくなり、無理な動作による不具合を防ぐことができる。
【００３８】
ユーザの種別に応じた操作環境を提供することができる場合、例えば小さい文字が見えにくいユーザに対しては、大きいフォントを用いたモニタ画面を提供することができる。また、話者を特定することで音声認識のレベルを向上させることができる。また、予定されない（又は不正の）第３者の無断使用からシステムをプロテクトすることができる。
【００３９】
また、学習内容や感情モデルなど、各ユーザ毎に相違する操作環境を端末ソフトウェアとして提供しておけば、同じリモート・コントローラを用いていることにより、あるいは、同じユーザ情報を提示することにより、別のロボット上においても同じ学習内容（又は前回ログイン時の作業状況）を継承して操作することができる。
【００４０】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【００４１】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施例を詳解する。
【００４２】
図１及び図２には、本発明の実施に供される「人間形」又は「人間型」の脚式移動ロボット１００が直立している様子を前方及び後方の各々から眺望した様子を示している。図示の通り、移動ロボット１００は、脚式移動を行う左右２足の下肢と、体幹部と、左右の上肢と、頭部とで構成される。
【００４３】
左右各々の下肢は、大腿部と、膝関節と、脛部と、足首と、足平とで構成され、股関節によって体幹部の略最下端にて連結されている。また、左右各々の上肢は、上腕と、肘関節と、前腕とで構成され、肩関節によって体幹部上方の左右各側縁にて連結されている。また、頭部は、首関節によって体幹部の略最上端中央に連結されている。
【００４４】
体幹部ユニット内には、図１及び図２では見えていない制御部が配備されている。この制御部は、移動ロボット１００を構成する各関節アクチュエータの駆動制御や各センサ（後述）などからの外部入力を処理するコントローラ（主制御部）や、電源回路その他の周辺機器類を搭載した筐体である。制御部は、その他、遠隔操作用の通信インターフェースや通信装置を含んでいてもよい。
【００４５】
図示の移動ロボット１００は、首、肩、両肘、両手首、体幹、股関節、両膝、両足首など、多数の関節軸を備えた多軸構造の機械装置である。各関節自由度は例えば、指示値通りに回転位置や回転各速度を制御可能な関節アクチュエータによって実現される。関節アクチュエータとしては、小型ＡＣサーボ・アクチュエータを適用することができる。（例えば、本出願人に既に譲渡されている特願平１１−３３３８６号明細書には、脚式ロボットに適用可能な小型ＡＣサーボ・アクチュエータについて開示されている。同明細書に記載のサーボ・アクチュエータは、ギア直結型で且つサーボ制御系をワンチップ化してモータ・ユニットに内蔵して構成される。）
【００４６】
図３には、遠隔制御の対象となる移動ロボット１００と、移動ロボット１００に対する制御指示を発行するリモート・コントローラ２００のシステム構成を模式的に図解している。以下、同図の各部について説明する。
【００４７】
移動ロボット１００は、装置全体を統括的に制御する制御演算部１０１と、センサやユーザ入力などのその他の各種の入力データを受容する入力モジュールからなる入力装置と、各入力信号を統合的に取り扱う入力統合部１１０と、装置の駆動やその他の外部出力モジュールからなる出力装置と、各出力モジュールを選択的に駆動せしめる出力選択部１３０と、リモート・コントローラ２００やその他の外部機器と無線データ通信（又は有線通信でも可）などを行う通信制御部１４０とで構成される。
【００４８】
図３に示す例では、入力装置は、感情モデル（又は行動モデル）１１１と、オン／オフ・スイッチ１１２と、関節角度センサ１１３と、画像入力装置１１４と、音声入力装置１１５と、温度入力装置１１６と、感圧センサ１１７と、加速度センサ１１８と、ジャイロ・センサ１１９と、測距センサ１２０と、内部記憶装置１２１とで構成される。
【００４９】
感情モデル（又は行動モデル）１１１は、センサ類からの入力データで規定される外的環境、ユーザ入力で形成される対話の内容に追従して、ロボット１００が具現する感情や性格の変化を決定する状態マシンである。
【００５０】
オン／オフ・スイッチ１１２は、ロボット１００の電源投入スイッチである。電源投入に応答して、ロボット１００各部の初期化処理や自己診断処理が行われるが、これらの処理は本発明の要旨とは直接関連しないので、これ以上は説明しない。
【００５１】
関節角度センサ１１３は、各関節アクチュエータ毎に配設された回転エンコーダに相当する。関節角度センサ１１３の検出信号を基に、アクチュエータをフィードバック制御できるとともに、所望の動作パターンの実行状況を判断することができる。
【００５２】
画像入力装置１１４は、例えばＣＣＤ（Charge Coupled Device：電荷結合素子）カメラなどの視覚センサで構成され、例えば移動ロボット１００の頭部など本体上方の見渡しのよい場所に搭載することが好ましい。画像入力装置１１４からは、ロボット１００周辺の風景や近くに居るユーザの顔や全身などの画像が入力される。ユーザは、画像入力装置１１４を介して、身振りや手振り、ジェスチャなどで指示コマンドを入力することができる。あるいは、ロボット１００側では、画像入力装置１１４を介して取り込まれたユーザの顔の表情などから、ユーザの感情や情緒、興奮の度合いなどを解析することができる。また、画像入力装置２１３によって撮像されたユーザの顔や身体画像に基づく生体情報、あるいは生体情報から抽出された特徴データを、ユーザ認証情報として扱うことができる。
【００５３】
音声入力装置１１５は、例えば小型マイクロフォンなどの聴覚センサで構成され、例えば移動ロボット１００の頭部などに搭載されている。音声入力装置１１５は、ロボット１００周辺で発生する音声や、ユーザの声を入力することができる。ユーザは、「近くに来て」や「○△を持ってきて」などのように、音声入力装置１１５を介して指示コマンドを音声入力することができる。また、音声入力装置１１５を介して入力される操作ユーザの音声を、又は音声から抽出される特徴データを、ユーザ認証や識別に利用することができる。
【００５４】
温度入力装置１１６は、移動ロボット１００周囲の温度を計測する温度センサである。温度入力は、外界の変化やロボット自身の異常検出のために利用される。あるいは、ロボット１００に触れるユーザの指先温度や体温などを計測して、ユーザの感情や情緒、興奮度などの抽出に利用してもよい（興奮度に応じて血管が伸縮し、皮膚温度に現れることが一般に知られている）。
【００５５】
感圧センサ１１７は、ロボット１００の全身の各部位に配設されており、ユーザあるいは外界の障害物との接触を検出するようになっている（例えば、本出願人に既に譲渡されている特願平１１−３６６１７５号明細書には、外装部品の形式でロボットの全身各部に搭載することができるセンサ・モジュールについて開示されている）。
【００５６】
加速度センサ１１８、ジャイロ・センサ１１９、測距センサ１２０は、作業中の移動ロボット１００に印加される力、姿勢、移動量などを測定するためのセンサ・モジュールである。
【００５７】
内部記憶装置１２１は、移動ロボット１００にとって重要データを不揮発的に保管するための記憶装置である。内部記憶装置１２１には、例えば、ユーザ認証情報や、オフラインであらかじめ計算された歩行その他の動作パターン（計画軌道）などが格納される。（特開昭６２−９７００６号公報には、予め記憶された歩行パターン・データを用いることで、制御プログラムを簡素化するとともに、歩行パターンの各データ間を密につなぐことができる多関節歩行ロボット制御装置について開示されている。）
【００５８】
本実施例で取り扱うユーザ認証情報は、ユーザＩＤやパスワードでもよいし、あるいはユーザの指紋データや顔画像その他の生体情報、又は生体情報から抽出された特徴データであってもよい。
【００５９】
内部記憶装置１２１は、例えばＥＥＰＲＯＭ（Electrically Erasable and Programmable ROM）などの消去再書込み可能なメモリが利用され、データの更新が可能である。データ書き込みという観点からは、内部記憶装置１２１は、出力装置として位置付けられる。
【００６０】
これら入力装置に含まれる各機能モジュールから得られる入力データは、入力統合部１１０に一旦集線されてから制御演算部１０１に渡される。
【００６１】
制御演算部１０１は、各入力データを演算処理した結果を、出力選択部１３０を介して出力装置内の各機能モジュールに分配して外部に表出するようになっている。
【００６２】
移動ロボット１００の出力装置は、前述の内部記憶装置１２１の他に、画像出力装置１２２と、音声出力装置１２３と、インジケータ１２４と、温度出力装置１２５と、機体制御出力装置１２６と、表情出力装置１２７とで構成される。
【００６３】
画像出力装置１２２は、液晶表示ディスプレイ（ＬＣＤ）などのモニタ・スクリーンで構成され、例えば移動ロボット１００の胴体ユニット上に搭載される。制御演算部１０１は、ユーザとの対話に追従した画像を合成して、画像出力装置１２２を介して外部出力することができる。
【００６４】
音声出力装置１２３は、スピーカなどで構成され、例えば移動ロボット１００の頭部に搭載される。制御演算部１０１は、ユーザとの対話に追従した音声を合成して、音声出力装置１２３を介して外部出力して、会話を成立させることができる。
【００６５】
インジケータ１２４は、例えば、１以上の又は多色のＬＥＤ（Light Emitting Device）ランプで構成される。インジケータ１２４を介して、ロボット１００の現在の稼動状況、感情又は情緒、異常・故障状況などを視覚的に分かり易く表示することができる。
【００６６】
温度出力装置１２５は、例えばヒータやペルチエ素子など電気信号を温度レベルに変換可能な素子によって構成される。温度出力装置１２５は、感情モデル（又は行動モデル）１１１において決定されたロボット１００の感情や情緒、興奮度などの表出処理に利用することができる。興奮度に応じて血管が伸縮して皮膚温に現れることが一般に知られているが、かかる温度出力機能を付与することで、より人間らしい、又はエンターティンメント性の高いロボットを構成することができる。
【００６７】
機体制御出力装置１２６は、各関節アクチュエータに対して回転指令や各速度指令などの動作指令を発行する。この結果、予定又は期待されるロボット１００の行動が実現される。各関節アクチュエータの回転位置は各関節角度センサ１１３によって測定され、フィードバック制御を行うことができる。
【００６８】
表情出力装置１２７は、時々刻々変化するロボット１００の感情、情緒、興奮度をユーザに外部出力する装置であり、その態様は特に限定されない。
【００６９】
通信制御部１４０は、ロボット１００外部の機器とのデータ通信を行うための装置である。データ通信は、ＩｒＤＡ（Infrared Data Association）やｂｌｕｅｔｏｏｔｈなどで実現される無線通信方式であっても、イーサネットやトークンリングなど有線通信方式のＬＡＮ（Local Area Network）を用いてもよい。また、通信制御部１４０は、インターネットなどの広域ネットワークに直接的に接続されていても、又は間接的（例えば基地局やホスト端末、ルータ経由で）に接続されていてもよい。
【００７０】
図３に示す例では、通信制御部１４０は、ＩｒＤＡやｂｌｕｅｔｏｏｔｈあるいはその他の無線データ通信方式で、リモート・コントローラ２００を始めとする情報端末に接続することができる。
【００７１】
また、本実施例に係るロボット１００は、１以上の端末ソフトウェアで構成される端末ソフトウェア群１０２を備えている。端末ソフトウェア群１０２の実体は、例えばロボット１００に内蔵されたハード・ディスク装置（図示しない）でよい。あるいは、ＣＤやＭＯ、ＤＶＤ、メモリ・スティックなどの可搬型メディアからデータを読み取るメディア・ドライブ（図示しない）などを端末ソフトウェアを格納する装置として利用することができる。あるいは、ロボット１００の外部に端末ソフトウェア群１０２が存在してもよい。例えば、通信制御部１４０経由で接続されたネットワーク上に存在する計算機システム内のハード・ディスク装置（リモート・ディスク）などに端末ソフトウェア群１０２が置かれていてもよい。
【００７２】
ここで言う端末ソフトウェアとは、例えば、リモート・コントローラ２００などのロボット１００を操縦する情報端末上における操作環境などを記述した制御プログラムであり、プログラム言語形式で記述されたコンピュータ・ファイルでもよい。例えば、キーやボタン、ジョイスティックなどリモート・コントローラ２００上に配設された各操作部に対する機能アサイメントは、該当する端末ソフトウェアによって記述される（言い換えれば、装備するキーやボタンなど操作部の種類や個数の異なるリモート・コントローラは、異なる端末ソフトウェアを利用しなければならない）。
【００７３】
また、キーやボタン、ジョイスティックなどの一種の「操縦桿」ではなく、モニタ画面に貼設されたタッチパネル上を指先で示してコマンド入力するような場合には、画面表示の内容（例えば、背景のデザインや各ボタンの表示場所、注釈表示など）と画面上の表示ボタンなど各指示場所に対する機能アサイメントは、該当する端末ソフトウェアによって記述される。
【００７４】
例えば、端末ソフトウェアをＨＴＭＬ（Hyper Text Transfer Protocol）ＸＭＬ（eXtensible Markup Language）などの記述言語を用いて作成して、ハイパーリンク構造を形成しておくことにより、一般的なＷＷＷ（World Wide Web）ブラウザを用いて所望の端末ソフトウェアを探索してダウンロードすることができる。このような場合、端末ソフトウェアが提供する操作画面はＨＴＭＬで記述された一般的なＷＷＷページ画面である。また、該ページ画面上に表示された各操作ボタンに、該当する機能を呼び出すためのＵＲＬ（Uniform Resource Locator）をリンク情報として埋め込んでおけばよい。
【００７５】
また、単一のロボット１００を複数のユーザ間で共有するような場合には、各ユーザ毎に学習内容や感情モデルやその他の操作環境が相違する。したがって、ユーザ毎の操作環境も、個々の端末ソフトウェアとして用意される。例えば、各ユーザがそれぞれに専用のリモート・コントローラ２００を介して同一のロボット１００を操縦するような利用態様であれば、リモート・コントローラ２００の識別情報（又はユーザの識別情報・認証情報）と対応付けて各端末ソフトウェアを保管しておけばよい。学習内容や感情モデルなど、各ユーザ毎に相違する操作環境を端末ソフトウェアとして提供しておけば、同じリモート・コントローラを用いていることにより、あるいは、同じユーザ情報を提示することにより、ユーザは別のロボット上においても同じ学習内容（又は前回ログイン時の作業状況）をその都度継承して操作することができる。
【００７６】
制御演算部１０１は、端末ソフトウェア群１０２に対してアクセス可能である。また、通信制御部１４０経由でソフトウェア取得要求を受け取ると、該当するソフトウェアを端末ソフトウェア群１０２から読み出して、要求元に送信することができる。但し、ソフトウェア送信に際し、要求元のリモート・コントローラ又はユーザに対して認証要求を行い、該当ソフトウェアの使用権限を有するか否かをチェックするようにしてもよい。
【００７７】
他方、リモート・コントローラ２００側は、装置全体を統括的に制御する制御演算部２０１と、センサやユーザ入力などのその他の各種の入力データを受容する入力モジュールからなる入力装置と、各入力信号を統合的に取り扱う入力統合部２１０と、装置の駆動やその他の外部出力モジュールからなる出力装置と、各出力モジュールを選択的に駆動せしめる出力選択部２３０と、コントロールの対象となるロボット１００やその他の外部機器と無線データ通信などを行う通信制御部２４０とで構成される。
【００７８】
図３に示す例では、入力装置は、オン／オフ・スイッチ２１１と、ユーザ操作部２１２と、画像入力装置２１３と、音声入力装置２１４と、温度入力装置２１５と、感圧センサ２１６と、加速度センサ２１７と、ジャイロ・センサ２１８と、測距センサ２１９と、指紋照合装置２２０と、内部記憶装置２２１とで構成される。入力装置は、ユーザによる手動操作の便宜のため、例えばリモート・コントローラ２００の上面の各部位に配設されている（後述）。
【００７９】
オン／オフ・スイッチ２１１は、リモート・コントローラ２００の電源投入スイッチである。電源投入に応答して、リモート・コントローラ２００各部の初期化処理や自己診断処理が行われるが、これらの処理は本発明の要旨とは直接関連しないのでここでは説明しない。
【００８０】
ユーザ操作部２１２は、ユーザがロボット１００に発するコマンドやデータなどの指示を手動入力するための装置であり、キーやボタン、アナログ・レバーなどで構成される。各キーやボタンには、それぞれ機能が割り当てられている。また、アナログ・レバーは、上下左右の各方向に操作可能なスティック状のユーザ入力装置であり、座標指示値（例えば、ロボットの前後左右方向の移動量）を簡易且つ直感的な形式で入力することができる。
【００８１】
画像入力装置２１３は、例えばＣＣＤ（Charge Coupled Device：電荷結合素子）カメラなどの視覚センサで構成され、例えばリモート・コントローラ２００を操作中のユーザの顔や身体を撮像することができる場所に設置することが好ましい。ユーザは、画像入力装置２１３を介して、身振りや手振り、ジェスチャなどで指示コマンドを入力することができる。あるいは、リモート・コントローラ２００側では、画像入力装置２１３を介して取り込まれたユーザの顔の表情などから、ユーザの感情や情緒、興奮の度合いなどを解析することができる。また、画像入力装置２１３によって撮像されたユーザの顔や身体画像に基づく生体情報、あるいは生体情報から抽出された特徴データを、ユーザ認証情報として扱うことができる。
【００８２】
音声入力装置２１４は、例えば小型マイクロフォンなどの聴覚センサで構成される。音声入力装置２１４は、例えばユーザの声を入力することができる。ユーザは、「近くに来て」や「○△を持ってきて」などのように、音声入力装置２１４を介して指示コマンドを音声入力することができる。また、音声入力装置１１５を介して入力される操作ユーザの音声を、又は音声から抽出される特徴データを、ユーザ認証や識別に利用することができる。
【００８３】
温度入力装置２１５は、リモート・コントローラ２００を手に持って操作中のユーザの指先温度などを計測する。したがって、リモート・コントローラ２００の筐体表面上で、ユーザが把持する部位に温度入力装置２１５を配設することが好ましい。計測された温度は、操作中のユーザの感情や情緒、興奮度などの抽出に利用される（興奮度に応じて血管が伸縮し、皮膚温度に現れることが一般に知られている）。
【００８４】
感圧センサ２１６は、リモート・コントローラ２００を操作中のユーザの指先に印加される力を計測する。したがって、リモート・コントローラ２００の筐体表面上で、ユーザが把持する部位に感圧センサ２１６を配設することが好ましい。人は興奮すると思わず指先や足先に力がかかることから、感圧センサ２１６の検出信号に基づいて、操作中のユーザの感情や情緒、興奮度などが抽出される。
【００８５】
加速度センサ１１８、ジャイロ・センサ１１９、測距センサ１２０は、リモート・コントローラ２００に印加される力、姿勢、移動量などを測定するためのセンサ・モジュールである。これらの指示値は、ユーザ・コマンドの一種として解釈される。したがって、ユーザは、例えばキーやボタンなどのユーザ操作部２１２を操縦するだけでなく、リモート・コントローラ２００を振ったり投げ上げたりすることで、ロボット１００に対して直感的且つ瞬間的に指示を与えることができる。
【００８６】
指紋照合装置２２０は、読取ヘッドから光学的に読み取られたユーザの指紋を画像処理及び認証する装置である。リモート・コントローラ２００の筐体表面上で、ユーザが把持する部位に読取ヘッドを配設することが好ましい。リモート・コントローラ２００内（例えば内部記憶装置２２１）には、あらかじめ１以上の登録ユーザの指紋が認証情報として保管されている。そして、読取ヘッドから新たに入力された指紋情報を画像処理・特徴抽出処理するとともに、あらかじめ登録された指紋と比較照合することにより、正規ユーザか否かを認証処理する。（なお、特開平３−１８９８０号には、基準となる指紋の画像データを保持する基準画像メモリと、認証対象となる指紋の画像を入力する画像入力装置とを備え、両画像を重ね合わせて一致度を見ることで指紋照合を行うタイプの指紋照合装置について開示されている。）
【００８７】
内部記憶装置２２１は、リモート・コントローラ２００及び／又は移動ロボット１００にとって重要データを不揮発的に保管するための記憶装置であり、例えばユーザ認証情報が格納される。ここで言うユーザ認証情報は、ユーザＩＤやパスワードでもよいし、あるいはユーザの指紋データや顔画像その他の生体情報、又は生体情報から抽出された特徴データであってもよい。
【００８８】
内部記憶装置２２１は、例えばＥＥＰＲＯＭ（Electrically Erasable and Programmable ROM）などの消去再書込み可能なメモリが利用され、データの更新が可能である。データ書き込みという観点からは、内部記憶装置２２１は、出力装置としても位置付けられる。
【００８９】
これら入力装置に含まれる各機能モジュールから得られる入力データは、入力統合部２１０に一旦集線されてから制御演算部２０１に渡される。
【００９０】
制御演算部２０１は、各入力データを演算処理した結果を、通信制御部２４０を経由してロボット１００側に転送することができる。この場合、リモート・コントローラ２００上でのユーザ入力に対するユーザ・フィードバックは、ロボット１００上で実現される。
【００９１】
また、制御演算部２０１は、出力選択部２３０を介して出力装置内の各機能モジュールに分配して外部に表出することができる。この場合、リモート・コントローラ２００上でのユーザ入力に対するユーザ・フィードバックは、ロボット１００を介してではなく、同じリモート・コントローラ２００上で直接的に実現される。
【００９２】
リモート・コントローラ２００の出力装置は、前述の内部記憶装置２２１の他に、画像・文字出力装置２２２と、音声出力装置２２３と、インジケータ２２４と、温度出力装置２２５と、力出力装置２２６とで構成される。これら出力モジュールは、ユーザが検知する便宜上、例えばリモート・コントローラ２００の上面の各部位に配設されている（後述）
【００９３】
画像・文字出力装置２２２は、液晶表示ディスプレイ（ＬＣＤ）などのモニタ・スクリーンで構成され、例えばグラフィック表示又はキャラクタ表示機能を有する。制御演算部２０１は、通信制御部２４０経由でロボット１００又はその他の外部機器から受信したデータに基づいて表示画像を生成する。
【００９４】
例えば、外部機器（ロボット１００）から転送された端末ソフトウェアがロボット操作画面を記述したＨＴＭＬコンテンツであれば、画像・文字出力装置２２２のモニタ画面には、一般的なＷＷＷブラウザを用いて組み立てられた操作画面が表示される。このような場合、キー／ボタンやアナログ・レバーなどのユーザ操作部２１２を使用することなく、モニタ画面上の機能ボタンを追いかけることでロボット１００を遠隔操作することが出来る。また、ユーザは、ブラウザ画面上でリンク先を探索する感覚で、ロボット１００に指示すべき機能を順次呼び出すことができる（機能呼び出しや機能実現結果のフィードバックは、例えばＨＴＴＰ（Hyper Text Transfer Protocol）リクエストやＨＴＴＰレスポンスの形式で送受信される）。
【００９５】
この他、ロボット１００側の画像入力装置１１４による撮像画像を通信制御部２４０経由で受信して、画像・文字出力装置２２２のモニタ画面上に表示出力してもよい。
【００９６】
音声出力装置２２３は、スピーカなどで構成される。制御演算部２０１は、通信制御部２４０経由でロボット１００又はその他の外部機器から受信したデータに基づいて音声を合成して、音声出力装置２２３を介して外部出力することができる。
【００９７】
インジケータ２２４は、例えば、１以上の又は多色のＬＥＤ（Light Emitting Device）ランプで構成される。インジケータ２２４を介して、ロボット１００に対して発行した指示コマンドの実現状況や、ロボット１００やその他の外部機器との通信状況などを視覚的に分かり易く表示することができる。
【００９８】
温度出力装置２２５は、例えばヒータやペルチエ素子など電気信号を温度レベルに変換可能な素子によって構成される。温度出力装置２２５は、通信制御部２４０を介して受け取ったロボット１００が具現するべき感情や情緒、興奮度などの情報に追従した温度レベルを出力して、ユーザ・フィードバックを与えることができる。
【００９９】
力出力装置２２６は、通信制御部２４０を介して受け取ったロボット１００の感情や情緒、興奮度などの情報に追従して、アナログ・レバーなどユーザ操作部２１２の堅さを調節して、感情モデルをユーザにフィードバックすることができる。例えば、ロボット１００が起こっている期間中は、アナログ・レバーやボタンをロックして操作不能にして（又は、操作感を重たくして）、ユーザ入力を受け付けないようにしてもよい。
【０１００】
通信制御部２４０は、リモート・コントローラ２００外部の機器とのデータ通信を行うための装置である。データ通信は、ＩｒＤＡ（Infrared Data Association）やｂｌｕｅｔｏｏｔｈなどで実現される無線通信方式であっても、イーサネットやトークンリングなど有線通信方式のＬＡＮを用いてもよい。また、通信制御部２４０は、インターネットなどの広域ネットワークに直接的に接続されていても、又は間接的（例えば基地局やホスト端末、ルータ経由で）に接続されていてもよい。
【０１０１】
図３に示す例では、通信制御部２４０は、ＩｒＤＡやｂｌｕｅｔｏｏｔｈあるいはその他の無線データ通信方式で、ロボット１００を始めとする情報端末に接続することができる。
【０１０２】
また、リモート・コントローラ２００は、制御演算部２０１がアクセス可能な専用のメモリ空間２０２を備えている。メモリ空間２０２は、再書込み不能で不揮発のプログラムＲＯＭ領域と、書き換え可能なＲＡＭ領域で構成される。
【０１０３】
プログラムＲＯＭ領域には、所定のプログラム・コードやデータが出荷前にあらかじめ恒久的に書き込まれている。例えば、上述の入力装置や出力装置や通信制御部２４０をハードウェア操作するための最低限の制御プログラム・コードや、初期化・自己診断処理用のプログラム・コード、製造番号又は機器自体の識別情報などがプログラムＲＯＭ上に書き込まれている。
【０１０４】
また、ＲＡＭ領域は、制御演算部２０１が、実行中のプログラム・コードをロードしたり、実行データを一時的に保管するための作業領域として利用される。例えば、通信制御部２４０を介して外部から供給される端末ソフトウェア（前述）は、ＲＡＭ領域に書き込まれて私用される。
【０１０５】
図４には、リモート・コントローラ２００の外観構成の一例を示している。但し、同図は、リモート・コントローラ２００の上面を眺望した図である。
【０１０６】
図４に示すように、入力装置及び出力装置のうち、頻繁なユーザ・アクセスを必要とする機能モジュールは、筐体上面に露出している。また、筐体先端には、ロボット１００やその他の外部機器と無線データ通信を行うためのアンテナが植設されている。
【０１０７】
画像入力装置としてのＣＣＤカメラは紙面略上方に配設されている。また、音声入力装置としてのマイクロフォンは同略下方に、音声出力装置としてのスピーカは左右両側に、それぞれ配設されている。
【０１０８】
ユーザの指先からの圧力及び体温を読み取るための感圧センサ及び温度センサは、コントローラ２００本体を把持する指と触れ易い左右略下端に配設されている。また、指紋照合装置の読取ヘッド部分は左略側縁で露出している。
【０１０９】
キー／ボタン群やアナログ・レバーなどのユーザ操作部は、ユーザに対し手前側に相当する箇所に並設されている。
【０１１０】
画像・文字出力装置は、液晶表示ディスプレイ（ＬＣＤ）などのモニタ・スクリーンで構成され、例えばグラフィック表示機能を有する。モニタ・スクリーン上には、通信制御部２４０経由でロボット１００又はその他の外部機器から受信したデータに基づいて生成された画像が表示される。
【０１１１】
例えば、外部機器から転送されたデータすなわち端末ソフトウェアがロボット操作画面を記述したＨＴＭＬコンテンツであれば、画像・文字出力装置２２２のモニタ画面には、一般的なＷＷＷブラウザを用いて組み立てられた操作画面が表示される。このような場合、キー／ボタンやアナログ・レバーなどのユーザ操作部２１２を使用することなく、モニタ画面上の機能ボタンを追いかけることでロボット１００を遠隔操作することができる。また、ユーザは、ブラウザ画面上でリンク先を探索する感覚で、ロボット１００に指示すべき所望の機能を順次呼び出すことができる。
【０１１２】
図５には、端末ソフトウェアによって提供されるロボット操作画面の一例を示している。図示の操作画面は、ＷＷＷブラウザによって組み立てられるホームページ画面として組み立てられ、「歩行」、「走行」、「ジャンプ」、「ダンス」など標準的な機能の他に、ユーザがプログラムした「ユーザ定義動作＃００１」、「ユーザ定義動作＃００２」などの機能を呼び出すための各ボタンが配設されている。
【０１１３】
各機能ボタンは、該当する機能や動作、あるいはサービス資源の場所を記述したＵＲＬ（Uniform Resource Locator）が埋め込まれている。例えば、「歩行」など特定の機能ボタンを指先（又はカーソル）で指示すると、ＨＴＴＰリクエストの形式で歩行機能が呼び出される。
【０１１４】
また、図示しないが、ダンスのように複数のダンス機能を用意しておいてもよい（例えば、「フラダンス」、「タンゴ」、「チーク」、「阿波踊り」など）。また、先頭ページの「ダンス」ボタンの下に、多種類のダンスを一覧表示した選択ページへのリンク情報を埋め込んでおくなど、ロボット操作画面を階層的に構築することができる。
【０１１５】
次いで、端末ソフトウェアをリモート・コントローラ２００など端末に配信するための処理について説明する。
【０１１６】
図６には、端末ソフトウェア提供装置が端末ソフトウェア取得要求を受信したときの処理手順をフローチャートの形式で示している。
【０１１７】
ここで言う端末とは、例えば、端末ソフトウェアを用いてロボット１００に指示を発するリモート・コントローラ２００などであり、端末ソフトウェア取得要求の要求元でもある。また、端末ソフトウェア提供装置は、多種類の端末ソフトウエアを用意し提供する装置のことであり、図３に示す例ではロボット１００に相当する。但し、端末ソフトウエア提供装置は、通信制御部２４０経由でリモート・コントローラ２００可能な装置（例えば一般的な計算機システム）であってもよく、ロボット１００には特に限定されない（後述）。
【０１１８】
以下、図６に示すフローチャートに従って説明する。
【０１１９】
端末提供装置は、端末側から端末ソフトウェア取得要求を受け取ると、端末側の認証を行う（ステップＳ１）。この前提として、端末すなわちリモート・コントローラ２００側では操作中のユーザの認証手続きを同時に行うか又はあらかじめ行っておくことが好ましい。
【０１２０】
認証に失敗した場合（ステップＳ２）、不正ユーザによる端末ソフトウェアの無断利用や悪用を防止するために、端末ソフトウェアの提供を行わず、この処理ルーチン全体を終了する。
【０１２１】
他方、認証が成功裏に終わった場合には（ステップＳ２）、次いで、端末側の仕様情報を受信する（ステップＳ３）。但し、端末側は、端末ソフトウェア取得要求と仕様情報送信を別々に行わず、端末ソフトウェア取得要求に仕様情報を添付してもよい。
【０１２２】
次いで、端末ソフトウェア提供装置は、端末仕様に適合する端末ソフトウェアを端末ソフトウェア群１０２の中から探索する（ステップＳ４）。端末ソフトウェア提供装置は、ローカル・ディスク上に該当する端末ソフトウェアを発見できなかった場合には、さらに、ネットワーク経由でリモート・ディスクを検索してもよい。
【０１２３】
そして、該当する端末ソフトウェアを発見できた場合には（ステップＳ５）、これを要求元の端末すなわちリモート・コントローラ２００側に送信して（ステップＳ６）、この処理ルーチン全体を終了する。リモート・コントローラ２００側では、受信した端末ソフトウェアをメモリ空間２０２上のＲＡＭ領域にロードして、ロボット１００を操作可能となる。
【０１２４】
他方、該当する端末ソフトウェアを発見できなかった場合には（ステップＳ５）、その旨を要求元の端末側に通知して（ステップＳ７）、この処理ルーチン全体を終了する。あるいは、端末仕様に完全に適合しないが端末仕様で利用可能な他の端末ソフトウェアを代替的に送るようにしてもよい。
【０１２５】
図７〜図９には、リモート・コントローラ２００側がロボットに対して端末ソフトウェアを要求する様子を示している。
【０１２６】
図７に示す例では、リモート・コントローラ２００側は図３で説明したシステム構成を完全装備しているのに対して、ロボット１００側は画像入力装置１１４を装備していない。
【０１２７】
このような場合、ロボット１００側は、画像入力機能を持たないロボット用の端末ソフトウェア群しか用意していない。したがって、フルスペックのリモート・コントローラ２００側からの端末ソフトウェア取得要求に対しては、フルスペック端末が画像入力機能のないロボット操縦用の端末ソフトウェアを提供することになる。
【０１２８】
したがって、操作端末側では、ロボットの仕様に合致した端末ソフトウェアを用いてロボット１００を操作するので、不可能な処理を指示することがなくなり、無理な動作によりロボット１００が不具合を起こすことを未然に防ぐことができる。
【０１２９】
また、図８に示す例では、ロボット１００側は図３で説明したシステム構成を完全装備しているのに対して、リモート・コントローラ２００側は画像・文字出力装置２２４を装備していない。
【０１３０】
このような場合、ロボット１００側は、フルスペック・ロボット用の端末ソフトウェア群を用意している。したがって、画像・文字出力機能のないリモート・コントローラ２００側からの端末ソフトウェア取得要求に対しては、画像・文字出力なしにフルスペック・ロボットを操縦することができる端末ソフトウェアを提供することになる。言い換えれば、リモート・コントローラ２００側では、自身の仕様に応じた操作環境でロボットを操縦することができる。
【０１３１】
また、図９には、リモート・コントローラ２００側ではユーザ認証又はユーザ識別手続きと連携して端末ソフトウェア取得要求を行う場合の例を示している。但し、ロボット１００及びリモート・コントローラ２００はともに、図３に示すシステム構成を完全装備しているものとする。
【０１３２】
まず、指紋照合装置２２０は、現在リモート・コントローラ２００を使用中のユーザの指紋を採取し且つユーザ認証処理を行い、認証結果を制御演算部２０１に送信する。仮にユーザを「Ａ君」とおく。
【０１３３】
制御演算部２０１では、ユーザＡ君の登録情報を内部記憶装置２２１から取得して、クラス分けする。この場合、Ａ君は、「ゲスト」クラスと認定されたものとする。
【０１３４】
次いで、制御演算部２０１は、端末ソフトウェア提供装置を兼ねるロボット１００に対して端末ソフトウェア取得要求を発行する。この取得要求には、リモート・コントローラ２００が持つ端末仕様（この場合はフルスペック）と、ユーザ・クラス（この場合は「ゲスト」）が付加されている。
【０１３５】
ロボット１００側の制御演算部１０１は、端末ソフトウェア取得要求に応答して、端末仕様とユーザ・クラスに合致する端末ソフトウェア、すなわちゲスト用の端末ソフトウェアを端末ソフトウェア群１０２の中から取り出して、これをリモート・コントローラ２００側に転送する。
【０１３６】
リモート・コントローラ２００側では、受信した端末ソフトウェアをメモリ空間２０２上のＲＡＭ領域にロードして、ロボット１００を操作可能となる。
【０１３７】
ここで、ゲスト用端末ソフトウェアがいわゆる「お試し版」であり、音響機能が制限されているとする。この場合、リモート・コントローラ２００は、ハードウェア上はフルスペックであるが、音声入力装置２１４がディセーブルされた状態でロボット１００を操縦することになる。
【０１３８】
また、学習内容や感情モデルなど、各ユーザ毎に相違する操作環境毎に対応する端末ソフトウェアを多種類用意しておいてもよい。このような場合、同じリモート・コントローラを用いていることにより、あるいは、同じユーザ情報を提示することにより、別のロボット上においても同じ学習内容を継承して操作することができる。
【０１３９】
また、ユーザの種別に応じた操作環境を提供することができる場合、例えば小さい文字が見えにくいユーザに対しては、大きいフォントを用いたモニタ画面を提供することができる。また、話者を特定することで音声認識のレベルを向上させることができる。また、予定されない（又は不正の）第３者の無断使用からシステムをプロテクトすることができる。
【０１４０】
最後に、端末ソフトウェアのディストリビューションの形態について説明しておく。
【０１４１】
端末ソフトウェアは、他のソフトウェア製品と同様、ＣＤ（Compact Disc）やＭＯ（Magneto-Optical disc）、ＤＶＤ（Digital Versatile Disc）、メモリ・スティックなどの可搬型メディア上に格納することで、複数の装置間を移動することができる。あるいはインターネットのような広域ネットワーク経由で遠隔の装置間を移動することができる。
【０１４２】
また、端末ソフトウェアそれ自身も、ロボット１００やリモート・コントローラ２００のようなハードウェア製品と同様に、経済的価値を有する場合があり、端末ソフトウェア提供装置はそれぞれの端末ソフトウェアを有償で配布・配信してもよい。
【０１４３】
図１０には、ネットワーク上で端末ソフトウェアを配信する仕組みを図解している。
【０１４４】
広域ネットワーク１は、例えば、インターネットのようなＴＣＰ/ＩＰ（Transmission Control Protocol/Internet Protocol）ベースの分散型ネットワークであってもよい。分散ネットワーク環境下では、各ユーザはプログラムやデータなど資源オブジェクトの所在を特に認識する必要がなくなる。また、コンピュータにおいて実行される手続きやメソッドも、ネットワーク上で分散して保持され、管理されている。例えば、ネットワーク上のある１つのコンピュータ上で動作しているプロセスが、他のコンピュータ上で動作するプロセスの手続きを呼び出して実行させることができる。
【０１４５】
広域ネットワーク１上には、無数の計算機が接続されている。これらコンピュータ・システムは、世界中に散在しており、一部のコンピュータは各種の資源サービスを有償又は無償で提供する「サーバ」として稼動し、他の一部はサーバに対して資源サービスを要求する「クライアント」として稼動している。
【０１４６】
サーバ−クライアント・モデルの一例は、ＴＣＰ／ＩＰネットワーク上に構築された広域情報検索システムＷＷＷである。ＷＷＷサーバは、ＨＴＭＬ（Hyper Text Markup Language）コンテンツなどのＨＴＴＰ（Hyper Text Transfer Protocol）資源オブジェクトを提供することができる。他方のＷＷＷクライアントは、「ＷＷＷブラウザ」又は「ＨＴＭＬブラウザ」と呼ばれるユーザ・エージェントを用いて動作する。
【０１４７】
また、広域ネットワーク１上で端末ソフトウェア群を提供するロボット１００や計算機システムは、サーバに相当する。また、端末ソフトウェアを要求するリモート・コントローラ２００やユーザＰＣなどは、クライアントに相当する。端末ソフトウェアがＨＴＭＬなどで記述されたハイパーテキスト構造である場合には、既存のＷＷＷを用いて端末ソフトウェアの提供サービスを実装することができる。
【０１４８】
端末ソフトウェア提供サーバとしてのロボットは、例えば、一旦基地局と無線接続してから広域ネットワーク１に接続されていてもよい。あるいは、通信制御部１４０が直接的に又は図示しないルータ経由で広域ネットワークに接続されていてもよい。
【０１４９】
また、端末ソフトウェアを要求するクライアントとしてのリモート・コントローラ２００は、一旦基地局と無線接続してから広域ネットワーク１に接続されていてもよいし、通信制御部２４０が直接的に（又は図示しないルータ経由で）広域ネットワーク１に接続されていてもよい。
【０１５０】
端末ソフトウェア提供サーバとしてのロボット１００は、端末ソフトウェア取得要求を受信すると、まず自らのローカル・ディスク上に該当する端末ソフトウェアが存在するか否かを探索し、発見されればこれを要求元のクライアント（例えばリモート・コントローラ２００）に転送する。転送ソフトウェアの要求及び転送はＨＴＴＰやＦＴＰなどのプロトコルを利用することができる。
【０１５１】
また、端末ソフトウェア提供サーバが、要求された端末ソフトウェアをローカル・ディスクから発見できなかった場合には、さらに別の端末ソフトウェア提供サーバに端末ソフトウェア取得要求を転送してもよい。
【０１５２】
別の端末ソフトウェア提供サーバに対する端末ソフトウェア取得要求は、例えばＣＧＩ（Common Gateway Interface）やその他の遠隔手続き呼び出しの形式で実装することができる。また、端末ソフトウェア取得要求を転送されたサーバが要求元に直接端末ソフトウェアを配信してもよいし、該要求を転送した元のサーバ経由で配信してもよい。
【０１５３】
［追補］
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【０１５４】
【発明の効果】
以上詳記したように、本発明によれば、リモート・コントローラを用いて移動ロボットに対して遠隔的にユーザ・コマンドを送信して操縦することができる、移動ロボットのための優れた遠隔制御方式を提供することができる。
【０１５５】
また、本発明によれば、自律型・学習型のインテリジェントなロボットをリモート・コントローラで操縦することができる、移動ロボットのための優れた遠隔制御方式を提供することができる。
【０１５６】
本発明に従えば、例えばロボット上に（あるいはネットワーク上の計算機システムにおいて）、ロボット自身の仕様に合致するとともに、操作端末側のさまざまな仕様の相違に合わせた多種類の端末ソフトウェアを用意しておく。そして、操作端末側からは、端末の仕様やユーザの認証・識別情報を含んだ端末ソフトウェア要求を発する。これに対し、ロボットは、端末の仕様やユーザの種別に適合した端末ソフトウェアを提供することができる。したがって、ロボットやリモート・コントローラなどの操作端末の仕様など、状況に応じた操作環境を常に操作端末側に提供することができる。
【０１５７】
本発明によれば、操作端末側では、ロボットの仕様に合致した端末ソフトウェアを用いてロボットを操作するので、不可能な処理を指示することがなくなり、無理な動作による不具合を防ぐことができる。
【０１５８】
ユーザの種別に応じた操作環境を提供することができる場合、例えば小さい文字が見えにくいユーザに対しては、大きいフォントを用いたモニタ画面を提供することができる。また、話者を特定することで音声認識のレベルを向上させることができる。また、予定されない（又は不正の）第３者の無断使用からシステムをプロテクトすることができる。
【０１５９】
また、学習内容や感情モデルなど、各ユーザ毎に相違する操作環境を端末ソフトウェアとして提供しておけば、同じリモート・コントローラを用いていることにより、あるいは、同じユーザ情報を提示することにより、別のロボット上においてもユーザは同じ学習内容（又は前回ログイン時の作業状況）を継承して操作することができる。
【図面の簡単な説明】
【図１】本発明の実施に供される移動ロボット１００を前方から眺望した様子を示した図である。
【図２】本発明の実施に供される移動ロボット１００を後方から眺望した様子を示した図である。
【図３】遠隔制御の対象となる移動ロボット１００と、移動ロボット１００に対する制御指示を発行するリモート・コントローラ２００のシステム構成を模式的に示した図である。
【図４】リモート・コントローラ２００の外観構成の一例を示した図である。
【図５】端末ソフトウェアによって提供されるロボット操作画面の一例を示した図である。
【図６】端末ソフトウェア提供装置が端末ソフトウェア取得要求を受信したときの処理手順を示したフローチャートである。
【図７】リモート・コントローラ２００側がロボットに対して端末ソフトウェアを要求する様子を示した図である。
【図８】リモート・コントローラ２００側がロボットに対して端末ソフトウェアを要求する様子を示した図である。
【図９】リモート・コントローラ２００側がロボットに対して端末ソフトウェアを要求する様子を示した図である。
【図１０】ネットワーク上で端末ソフトウェアを配信する仕組みを示した図である。
【符号の説明】
１００…移動ロボット
１０１…制御演算部，１０２…端末ソフトウェア群
１１０…入力統合部，１１１…感情モデル
１１２…オン／オフ・スイッチ，１１３…関節角度センサ
１１４…画像入力装置，１１５…音声入力装置
１１６…温度入力装置，１１７…感圧センサ
１１８…加速度センサ，１１９…ジャイロ・センサ
１２０…測距センサ，１２１…内部記憶装置
１２２…画像出力装置，１２３…音声出力装置
１２４…インジケータ，１２５…温度出力装置
１２６…機体出力制御装置，１２７…表情出力装置
１３０…出力選択部，１４０…通信制御部
２００…リモート・コントローラ
２０１…制御演算部，２０２…メモリ空間
２１０…入力統合部，２１１…オン／オフ・スイッチ
２１２…ユーザ操作部，２１３…画像入力装置
２１４…音声入力装置，２１５…温度入力装置
２１６…感圧センサ，２１７…加速度センサ
２１８…ジャイロ・センサ，２１９…測距センサ
２２０…指紋照合装置，２２１…内部記憶装置
２２２…画像出力装置，２２３…音声出力装置
２２４…インジケータ，２２５…温度出力装置
２２６…力出力装置
２３０…出力選択部，２４０…通信制御部
【図１】
0004281208.tif 000002
【図２】
0004281208.tif 000003
【図３】
0004281208.tif 000004
【図４】
0004281208.tif 000005
【図５】
0004281208.tif 000006
【図６】
0004281208.tif 000007
【図７】
0004281208.tif 000008
【図８】
0004281208.tif 000009
【図９】
0004281208.tif 000010
【図１０】
0004281208.tif 000011