(57)【要約】【課題】  ユーザが楽しみながら各種動作状態を制御する指示を行うようにすることでエンターテイメント性を向上させたロボット装置、ロボット装置の動作制御方法、及び動作制御を行うためのプログラムが記録された記録媒体を提供する。【解決手段】  ロボット装置は、撮像部により撮像された入力画像が入力され、カード画像が登録されたデータベースを参照して入力画像に含まれるカードに一致する登録カード画像を抽出する画像認識部と、画像認識部により認識された登録カード画像に対応付けられた付加情報に基づき動作を発現させたり、各種設定を行わせたり、動作モードを遷移させたり等を制御する制御部とを有する。各カードには、個別に識別可能なパターンが記載され、ダンスを踊る、お座りをする等の各種行動を発現させるコマンド等となる付加情報が対応付けられている。【選択図】  図２
2005074562.tif 000002
【特許請求の範囲】
【請求項１】
自律的に動作可能なロボット装置において、
個別に識別可能なパターンを有するカードを入力画像として撮像する撮像手段と、
上記カードを示すカード画像と、各カード画像に対応付けられた１以上の付加情報とが登録された記憶手段と、
上記記憶手段に登録されたカード画像と上記入力画像とを比較し、該入力画像に含まれるカードに一致又は類似すると判断されるカード画像を抽出する画像認識手段と、
上記抽出したカード画像に対応付けられた付加情報に基づき動作状態を制御する制御手段と
を有することを特徴とするロボット装置。
【請求項２】
上記付加情報は、発現する動作を指定する動作指定情報を含む
ことを特徴とする請求項１記載のロボット装置。
【請求項３】
上記付加情報は、所定の設定を行わせる機能に切替える機能切替情報を含む
ことを特徴とする請求項１記載のロボット装置。
【請求項４】
上記付加情報は、動作モードを切り替える動作モード切替情報を含む
ことを特徴とする請求項１記載のロボット装置。
【請求項５】
上記付加情報は、入力として必要となるデータを示す識別情報を含む
ことを特徴とする請求項１記載のロボット装置。
【請求項６】
上記カード画像は、上記パターン及び現在の動作状態に応じて２以上の付加情報が対応付けられたものである
ことを特徴とする請求項１記載のロボット装置。
【請求項７】
上記画像認識手段により２以上のカード画像が抽出された場合、上記制御手段は、該２以上のカード画像に対応付けられた付加情報に基づき動作状態を制御する
ことを特徴とする請求項１記載のロボット装置。
【請求項８】
所定の時間内に２以上のカード画像が抽出された場合、上記制御手段は、上記２以上のカード画像に対応付けられた動作を並列して発現させる
ことを特徴とする請求項７記載のロボット装置。
【請求項９】
上記付加情報は、所定の設定を行わせる機能に切替える機能切替情報及び／又は該所定の設定のために必要となるデータを示す識別情報を有し、
上記機能切替情報に基づき行われる所定の設定は、上記識別情報により設定されるものであって、
上記制御手段は、上記抽出されたカード画像に対応付けられた付加情報が上記機能切替情報である場合、上記識別情報を有する他のカードを提示するよう要求する動作を発現させる
ことを特徴とする請求項７記載のロボット装置。
【請求項１０】
音声出力手段を有し、
上記制御手段は、上記音声出力手段により上記他のカードを提示するよう要求する
ことを特徴とする請求項９記載のロボット装置。
【請求項１１】
上記制御手段は、所定の時間内に上記画像認識手段によりカード画像が抽出されない場合には、上記所定の設定を停止する
ことを特徴とする請求項９記載のロボット装置。
【請求項１２】
上記カード画像は、カードに記載されたパターンと該パターンの姿勢に応じて異なる上記付加情報が設定され、
上記画像認識手段は、上記入力画像に含まれるカードに一致又は類似するカード画像を抽出すると共に、該入力画像に含まれるカードのパターンの姿勢を検出し、
上記制御手段は、上記パターンの姿勢に応じて対応付けられた付加情報に基づき動作状態を制御する
ことを特徴とする請求項１記載のロボット装置。
【請求項１３】
上記画像認識手段は、上記入力画像及び上記カード画像の各々から特徴点を抽出する特徴点抽出手段と、上記入力画像及び上記カード画像の各々について、少なくとも上記特徴点の近傍領域における濃度勾配情報から得られる濃度勾配方向ヒストグラムを特徴量として抽出して保持する特徴量保持手段と、上記入力画像の各特徴点と上記カード画像の各特徴点とを比較し、比較対象となる特徴点同士の上記濃度勾配方向ヒストグラムの一方を濃度勾配方向に巡回的にシフトさせながら求めた該濃度勾配方向ヒストグラム間の距離の最小を該濃度勾配方向ヒストグラム間の最小距離とし、少なくとも該最小距離が所定の閾値以下となる特徴点ペアを候補対応特徴点ペアとして生成する特徴量比較手段と、上記候補対応特徴点ペアを用いて上記入力画像に含まれる上記カードに一致又は類似するカード画像の有無を検出する推定手段とを有する
ことを特徴とする請求項１記載のロボット装置。
【請求項１４】
自律的に動作可能なロボット装置の制御方法において、
個別に識別可能なパターンを有するカードを入力画像として撮像する撮像工程と、
上記カードを示すカード画像と、各カード画像に対応付けられた１以上の付加情報とが登録された記憶手段に記憶された各カード画像と上記入力画像とを比較し、該入力画像に含まれるカードに一致又は類似すると判断されるカード画像を抽出する画像認識工程と、
上記抽出したカード画像に対応付けられた付加情報に基づき動作状態を制御する制御工程と
を有することを特徴とするロボット装置の制御方法。
【請求項１５】
上記付加情報は、発現する動作を指定する動作指定情報を含む
ことを特徴とする請求項１４記載のロボット装置の制御方法。
【請求項１６】
上記付加情報は、所定の設定を行わせる機能に切替える機能切替情報を含む
ことを特徴とする請求項１４記載のロボット装置の制御方法。
【請求項１７】
上記付加情報は、動作モードを切り替える動作モード切替情報を含む
ことを特徴とする請求項１４記載のロボット装置の制御方法。
【請求項１８】
上記付加情報は、入力として必要となるデータを示す識別情報を含む
ことを特徴とする請求項１４記載のロボット装置の制御方法。
【請求項１９】
上記カード画像は、上記パターン及び現在の動作状態に応じて２以上の付加情報が対応付けられたものである
ことを特徴とする請求項１４記載のロボット装置の制御方法。
【請求項２０】
上記画像認識工程にて２以上のカード画像が抽出された場合、上記制御工程では、該２以上のカード画像に対応付けられた付加情報に基づき動作状態を制御する
ことを特徴とする請求項１４記載のロボット装置の制御方法。
【請求項２１】
所定の時間内に２以上のカード画像が抽出された場合、上記制御工程では、上記２以上のカード画像に対応付けられた動作を並列して発現させる
ことを特徴とする請求項２０記載のロボット装置の制御方法。
【請求項２２】
上記付加情報は、所定の設定を行わせる機能に切替える機能切替情報及び／又は該所定の設定のために必要となるデータを示す識別情報を有し、
上記機能切替情報に基づき行われる所定の設定は、上記識別情報により設定されるものであって、
上記制御工程では、上記抽出されたカード画像に対応付けられた付加情報が上記機能切替情報である場合、上記識別情報を有する他のカードを提示するよう要求する動作を発現させる
ことを特徴とする請求項２０記載のロボット装置の制御方法。
【請求項２３】
上記カード画像は、カードに記載されたパターンと該カードの姿勢に応じて異なる上記付加情報が設定され、
上記画像認識工程では、上記入力画像に含まれるカードに一致又は類似するカード画像を抽出すると共に、該入力画像に含まれるカードのパターンの姿勢を検出し、
上記制御工程では、上記パターンの姿勢に応じて対応付けられた付加情報に基づき動作状態を制御する
ことを特徴とする請求項１４記載のロボット装置の制御方法。
【請求項２４】
所定の動作を自律的に動作可能なロボット装置が備えるコンピュータに実行させるためのプログラムが記録されたコンピュータ読み取り可能な記録媒体であって、
個別に識別可能なパターンを有するカードを入力画像として撮像する撮像工程と、
上記カードを示すカード画像と、各カード画像に対応付けられた１以上の付加情報とが登録された記憶手段に記憶された各カード画像と上記入力画像とを比較し、該入力画像に含まれるカードに一致又は類似すると判断されるカード画像を抽出する画像認識工程と、
上記抽出したカード画像に対応付けられた付加情報に基づき動作状態を制御する制御工程とを有するプログラムが記録された記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自律的に動作可能なロボット装置及びロボット装置の制御方法に関し、特に、ユーザの指示に応じて動作状態を制御するロボット装置及びロボット装置の制御方法に関する。
【背景技術】
【０００２】
電気的又は磁気的な作用を用いて人間（生物）の動作に似た運動を行う機械装置を「ロボット」という。我が国においてロボットが普及し始めたのは、１９６０年代末からであるが、その多くは、工場における生産作業の自動化・無人化等を目的としたマニピュレータ及び搬送ロボット等の産業用ロボット（Industrial Robot）であった。
【０００３】
最近では、人間のパートナーとして生活を支援する、すなわち住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットの開発が進められている。このうな実用ロボットは、産業用ロボットとは異なり、人間の生活環境の様々な局面において、個々に個性の相違した人間、又は様々な環境への適応方法を自ら学習する能力を備えている。例えば、犬又は猫のように４足歩行の動物の身体メカニズム及びその動作を模した「ペット型」ロボット、或いは、２足直立歩行を行う人間等の身体メカニズム及びその動作をモデルにしてデザインされた「人間型」又は「人間形」ロボット（Humanoid Robot）等のロボット装置は、既に実用化されつつある。
【０００４】
これらのロボット装置は、産業用ロボットと比較して、例えばエンターテインメント性を重視した様々な動作等を行うことができるため、エンターテインメントロボットと呼称される場合もある。また、そのようなロボット装置には、ＣＣＤ（Charge  Coupled Device）カメラ及びマイクロホン等の各種外部センサが搭載され、これら外部センサの出力に基づいて外部状況を認識して、外部からの情報及び内部の状態に応じて自律的に動作するものがある（下記特許文献１等）。
【０００５】
かかるロボット装置は、自律的に動作する自律モードとは別に、ユーザの音声指示等、外部からの指示に従って「ダンスを踊る」、「写真を撮影する」等の所定の動作を発現する他律モードとを有し、自律的にも他律的にも動作を発現するようになされているものがある。
【０００６】
【特許文献１】特開２００３−２０５４８２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、上記特許文献１に記載のペット型ロボットのように、エンターテイメント用性を重視したロボット装置において、自律的動作を発現することは勿論重要であるが、他律モードとして特にユーザの要求に応じて行わせる動作、例えば発現中の動作を中断させたり、所定の動作を発現させたりする制御も必要となってくる。この場合に、単にユーザの音声指示に従わせたり、リモートコントロール等により動作制御するのみではなく、ロユーザとボット装置と他の方法で動作状態を制御できれば、更にエンターテイメント性を向上させることができる。
【０００８】
本発明は、このような従来の実情に鑑みて提案されたものであり、ユーザが楽しみながら各種動作状態を制御する指示を行うようにすることでエンターテイメント性を向上させたロボット装置、ロボット装置の動作制御方法、及び動作制御を行うためのプログラムが記録された記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した目的を達成するために、本発明に係るロボット装置は、自律的に動作可能なロボット装置において、個別に識別可能なパターンを有するカードを入力画像として撮像する撮像手段と、上記カードを示すカード画像と、各カード画像に対応付けられた１以上の付加情報とが登録された記憶手段と、上記記憶手段に登録されたカード画像と上記入力画像とを比較し、該入力画像に含まれるカードに一致又は類似すると判断されるカード画像を抽出する画像認識手段と、上記抽出したカード画像に対応付けられた付加情報に基づき動作状態を制御する制御手段とを有することを特徴とする。
【００１０】
本発明においては、個別に識別可能なパターンが記載されたカードを認識させることで、これに対応付けられた付加情報によりロボット装置の動作状態を制御することができ、ユーザは、音声等による直接的な指示ではなく、カードを提示して認識させるという新たな指示方法により、ロボット装置に動作を発現させることができる。
【００１１】
また、上記付加情報は、発現する動作を指定する動作指定情報、所定の設定を行わせる機能に切替える機能切替情報、動作モードを切り替える動作モード切替情報、及び入力として必要となるデータを示す識別情報のうち何れか１以上を含むものとすることができ、付加情報として様々なコマンドを設定することができる。
【００１２】
更に、上記画像認識手段により２以上のカード画像が抽出された場合、上記制御手段は、該２以上のカード画像に対応付けられた付加情報に基づき動作状態を制御することができ、認識手段により認識可能であれば複数枚のカードを使用することができ、これにより制御できる動作のバリエーションを増加させることができる。
【００１３】
更にまた、所定の時間内に２以上のカード画像が抽出された場合、上記制御手段は、上記２以上のカード画像に対応付けられた動作を並列して発現させてもよく、歌いながらダンスする等、各種行動を組み合わせることができる。
【００１４】
更にまた、上記付加情報は、所定の設定を行わせる機能に切替える機能切替情報及び／又は該所定の設定のために必要となるデータを示す識別情報を有し、上記機能切替情報に基づき行われる所定の設定は、上記識別情報により設定されるものであって、上記制御手段は、上記抽出されたカード画像に対応付けられた付加情報が上記機能切替情報である場合、上記識別情報を有する他のカードを提示するよう要求する動作を発現させることができ、例えば時刻の設定等は、設定する時刻を音声で入力してもよいが、カードにより時刻設定用情報を順次指示していくことも可能である。
【００１５】
また、上記カード画像は、カードに記載されたパターンとその姿勢に応じて異なる上記付加情報が設定され、上記画像認識手段は、上記入力画像に含まれるカードに一致又は類似するカード画像を抽出すると共に、該入力画像に含まれるカードのパターンの姿勢を検出し、上記制御手段は、上記パターンの姿勢に応じて対応付けられた付加情報に基づき動作状態を制御することができ、ユーザは提示するカードの向きを変えることで、ロボット装置にこれを検出して例えば方向転換したり、音量調節したり等の動作を行わせることでカードの向きにより異なる動作制御が可能となる。
【００１６】
本発明に係るロボット装置の制御方法は、自律的に動作可能なロボット装置の制御方法において、個別に識別可能なパターンを有するカードを入力画像として撮像する撮像工程と、上記カードを示すカード画像と、各カード画像に対応付けられた１以上の付加情報とが登録された記憶手段に記憶された各カード画像と上記入力画像とを比較し、該入力画像に含まれるカードに一致又は類似すると判断されるカード画像を抽出する画像認識工程と、上記抽出したカード画像に対応付けられた付加情報に基づき動作状態を制御する制御工程とを有することを特徴とする。
【００１７】
本発明に係る記録媒体は、所定の動作を自律的に動作可能なロボット装置が備えるコンピュータに実行させるためのプログラムが記録されたコンピュータ読み取り可能な記録媒体であって、個別に識別可能なパターンを有するカードを入力画像として撮像する撮像工程と、上記カードを示すカード画像と、各カード画像に対応付けられた１以上の付加情報とが登録された記憶手段に記憶された各カード画像と上記入力画像とを比較し、該入力画像に含まれるカードに一致又は類似すると判断されるカード画像を抽出する画像認識工程と、上記抽出したカード画像に対応付けられた付加情報に基づき動作状態を制御する制御工程とを有するプログラムが記録されたものである。
【発明の効果】
【００１８】
本発明によれば、個別に識別可能なパターンを有するカードを示すカード画像に識別情報を対応づけ登録しておき、撮像手段により撮像した画像内にカードが含まれる場合には、そのカードがカード画像の何れに一致するかを識別し、一致したカード画像に対応付けられている付加情報に基づき動作状態を制御することができ、ユーザはロボット装置にカードを提示して認識させることで、ロボット装置とインタラクションを図ることができ、更に、音声やリモートコントロール等の直接的な指示ではなく、カードを識別させ、カードに対応づけられている付加情報を認識させるという新たな方法により、ユーザが楽しみつつロボット装置の動作状態を制御することができ、娯楽性、エンターテイメント性を向上させることができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、所定のパターンが記載されたカードを使用し、この
カードに対応付けられた付加情報をコマンド等として受け取り動作を実行するロボット装置に適用したものである。
【００２０】
（１）カードによる動作状態の制御
本実施の形態におけるロボット装置は、付加情報が対応付けられたカードを認識してその付加情報に応じて動作状態を制御することができる。このことにより、ユーザは、外部からの指示として従来の例えば音声やリモートコントロール等の代わりに、上記カードを認識させることで、そのカードに応じた動作を発現させることができる。
【００２１】
各カードには、それぞれ異なるパターンが記載され、これを識別したロボット装置は、そのパターンに対応付けられたコマンド等となる付加情報に基づき、動作を発現させたり、各種設定を行わせたり、動作モードを遷移させたり等の動作状態の制御を行う。
【００２２】
図１は、本実施の形態におけるロボット装置において、カードによる指示により動作制御を行うための主要部分のみを示すブロック図である。なお、ロボット装置の構成及び制御プログラムの詳細は後述する。
【００２３】
図１に示すように、ロボット装置の動作状態制御部１０１は、カードを撮影する撮像部１０２により撮像された入力画像が入力され、登録カード画像が登録されたデータベース１０３を参照して入力画像に含まれるカードに一致する登録カード画像を抽出する画像認識部１０４と、画像認識部１０４により認識された登録カード画像に対応付けられた付加情報に基づき動作状態を制御する制御部１０５とを有する。
【００２４】
撮像部１０２は、例えば後述するＣＣＤ（Charge Coupled Device）カメラやＣＭＯＳ（Complementary Metal Oxide Semiconductor）イメージセンサ等であり、制御部１０５は、後述する信号処理回路等とすることができる。また、登録画像データベース１０３は、ロボット装置内に設けられるか又は外部から装着可能な記録媒体等の記憶手段からなる。
【００２５】
本実施の形態においては、個別に識別可能となっているパターンが記載されたカードを用意し、これに１以上の付加情報を対応づけ、登録画像データベース１０３に登録する。ユーザ等がこのカードを撮像部１０２にて撮像できるように提示し、カードをロボット装置に認識させることにより、ロボット装置に例えば音声指示等と同様に例えば動作を発現するよう指示することができる。
【００２６】
登録画像データベース１０３に登録される複数のカードは、画像認識部１０４にて識別可能なパターンが記載されたものであり、予めこれらのカードを識別するためのカード画像と、そのカードが示すコマンドや設定情報等となる付加情報とが対応付けられ、登録画像データベース１０３に登録されているものとする。カード画像は、カードのパターンを示すパターンデータからなる画像であっても、又はカードを撮像した撮像画像でもよい。ロボット装置は、撮像部１０２により撮像した撮像画像を入力画像とし、画像認識部１０４は、この入力画像内に含まれるカードと、登録画像データベース１０３に登録された各登録カード画像とを比較し、入力画像に含まれるカードに一致又は類似すると判断する登録カード画像を選択する。
【００２７】
画像認識部１０４は、入力画像に含まれるカードと、登録画像データベース１０３に登録される複数の登録カード画像とを比較し、両者の特徴量に基づき入力画像に含まれるカードに一致する又は最も類似するカード画像を選択する。画像認識部１０４については、後述するが、登録カード画像のパターンを回転、縮小・拡大、移動させたものが入力画像に含まれるカードであるか否かを認識することができる。このとき、一致又は類似するカードを抽出するのみでなく、必要に応じて後述する方向を指示するカード等のように、パターンがどちらの方向に向いているかを示すパターン姿勢を検出することができる。
【００２８】
動作制御部１０５は、抽出された登録カード画像の情報が供給され、登録カード画像に対応付けられた付加情報に基づき各種動作を発現するためのコマンドを生成し、所定の処理部に送ることで動作を発現したり、所定の設定を行わせる機能に切り替えたり、動作モードを遷移させたりすることができる。
【００２９】
次に、本実施の形態において、上記登録画像データベース１０３に登録されるカード画像となるカード及びこれに対応付けられた付加情報について詳細に説明する。図２及び図３は、カードの分類と、そのカードに対応付けられた付加情報を説明する図である。また、図４（ａ）〜（ｃ）乃至図８（ａ）〜（ｃ）は、それぞれカードＡ〜カードＯの具体的例を示す図である。また、各カードＡ〜カードＯは、付加情報として動作状態を制御するコマンドに加えて、後述するように、数値や午前、午後といった時刻設定用の時刻設定用情報、及び数値やプラス、マイナスといった演算処理に使用される演算用情報を有する。また、制御部１０５は、現在の動作状態に基づき、各カードに対応付けられている複数の付加情報のうち一の付加情報を認識し、これに基づき制御を実行するようになされている。また、これら各カードに対して複数設定される各情報をユーザが理解するために、各カードＡ〜カードＯの裏面には、図９（ａ）〜（ｃ）乃至図１３（ａ）〜（ｃ）に示すように、各カードのコマンド、時刻設定用情報、演算用情報に対応する説明が記載される。
【００３０】
図２及び図３に示すように、本実施の形態において使用するカードに対応付けられた付加情報（コマンド）は、ロボット装置の制御系、設定系、モード遷移系の３つに分類することができる。
【００３１】
先ず、制御系コマンドとして作用する動作指定情報としての付加情報を有するカードとしては、ダンスカードＡ、写真カードＢ、ＵターンカードＣ、お座りカードＤ、伏せカードＥ、方向カードＦ、自己充電カードＥ、及び追跡（ホロー）カードＦ等がある。
【００３２】
先ず、ダンスカードＡは、例えばその表面及び裏面が、それぞれ図４（ａ）及び図９（ａ）のように記載される。すなわち、ロボット装置は、図４（ａ）に示すパターンを識別し認識すると、これに対応付けられた「ダンス」の動作を発現するものである。なお、カードに記載するパターンは「ダンス」に関連するようなものにしておくと、ユーザにも理解しやすく、ユーザがカードのパターンを見て楽しみながら動作状態を制御することができ、エンターテイメント性が向上する。また、裏面には、図９（ａ）に示すように、このカードＡの役割を示す情報が付される。すなわち、例えば、ダンスカードＡであることを示す識別子「Ａ」及びこのカードＡを認識することにより発現する動作である「ダンス」の文字がそれぞれ左上及び左下に記載され、ユーザがカードＡの意味を理解できるようになされている。
【００３３】
また、右上に記載される数値及び時計の図は、後述する目覚まし時刻設定の際に使用する時刻設定用情報を示すものであり、このダンスカードＡには、時刻設定用情報として「１時」又は「１３時」が設定されていることを示す。また、右下に記載される数値は、後述する演算処理モードにおいて使用されるものであり、演算処理情報として「１」が設定されていることを示す。
【００３４】
このダンスカードＡに対応付けられる付加情報は、音声認識では、例えば「ダンスを踊って」等に相当するものであり、このダンスカードＡを認識すると、ロボット装置は、ランダムにダンスコンテンツを発生させるような仕様となっている。
【００３５】
写真カードＢは、例えばその表面及び裏面がそれぞれ図４（ｂ）及び図９（ｂ）のように記載される。この写真カードＢに対応付けられる付加情報は、音声認識では「写真とって」に相当するものである。すなわち、この写真カードＢには、写真撮影モードに遷移するための付加情報（コマンド）が対応付けられており、写真カードＢを認識することにより写真撮影を開始する。
【００３６】
ＵターンカードＣは、例えばその表面及び裏面がそれぞれ図４（ｃ）及び図９（ｃ）のように記載される。このＵターンカードＣは、Ｕターンアイテム（進入禁止）として作用するものであり、止まって１８０度回転、すなわちＵターンする動作を発現するような付加情報（コマンド）が対応付けられている。ロボット装置は、このＵターンカードＣを認識すると、Ｕターンする動作を発現する。
【００３７】
お座りカードＤは、例えばその表面及び裏面がそれぞれ図５（ａ）及び図１０（ａ）のように記載される。このお座りカードＤは、音声認識では、例えば「お座り」等に対応する付加情報（コマンド）が対応付けられたものであり、ロボット装置は、このお座りカードＤを認識するとお座りの動作を実行する。
【００３８】
伏せカードＥは、例えばその表面及び裏面がそれぞれ図５（ｂ）及び図１０（ｂ）のように記載される。この伏せカードＥは、音声認識では、例えば「伏せ」等に対応する付加情報（コマンド）が対応付けられたものであり、ロボット装置は、この伏せカードを認識すると伏せの動作を実行する。
【００３９】
方向カードＦは、例えばその表面及び裏面がそれぞれ図５（ｃ）及び図１０（ｃ）のように記載される。この方向カードＦは、方向アイテムとして作用し、方向カードＦの方向を認識し、その方向に移動する動作を実行するような付加情報（コマンド）が対応付けられている。ここで、例えば図５（ｃ）に示すように、方向カードＦは、ロボット装置に移動方向を指示するための矢印が記載されたものとなっており、ロボット装置は、この矢印の方向を認識して移動することができる。すなわち、ロボット装置は、この矢印が移動方向を指示するものであるという情報と、矢印の方向に移動するという情報とを有しており、この方向カードＦを認識した場合には、この矢印が向く方向に移動するという動作を発現する。例えば図５（ｃ）に示す方向カードＦを回転して矢印の方向を右又は左に向ければ、ロボット装置はこれを認識して右又は左に移動する。また、図５（ｃ）のように、矢印が上方向を示す場合、又は下方向を示す場合には、移動できない旨の表現、例えば頭部ユニットのみ上下させたり、困ったような動作を実行するようにしてもよい。
【００４０】
自己充電カードＧは、例えばその表面及び裏面がそれぞれ図６（ａ）及び図１１（ａ）のように記載される。この自己充電カードＧに対応付けられる付加情報は、音声認識では例えば「ステーションにいこう」等に相当するものである。すなわち、この自己充電カードＧを認識すると、充電ステーションを探し、自身で充電ステーションに移動し自己充電を行う動作を実行するような付加情報（コマンド）が対応付けられている。
【００４１】
追跡カードＨは、例えばその表面及び裏面がそれぞれ図６（ｂ）及び図１１（ｂ）のように記載される。この追跡カードＨは、トラキングアイテムとして作用し、この追跡カードＨを認識している間は、この追跡カードＨを追いかけるような動作を実行する付加情報（コマンド）が対応付けられている。
【００４２】
また、設定系コマンドとして作用する機能切り替え情報としての付加情報に対応付けられたカードとしては、目覚まし時刻設定カードＩ、目覚ましＯＮ／ＯＦＦカードＪ、及び音量カードＫ等がある。なお、これらのカードＩ〜カードＫにおいても、上述の制御系カードと同様、時刻設定用情報及び演算用情報として、時間又は演算のための数値等、又は演算方法を指定する情報等も重ねて対応付けられるものとする。
【００４３】
目覚まし時刻設定カードＩは、例えばその表面及び裏面がそれぞれ図６（ｃ）及び図１１（ｃ）のように記載される。この目覚まし時刻設定カードＩを認識すると、目覚まし時刻設定モードに遷移するような機能切替え情報が対応付けられており、この時刻設定カードＩを認識すると、目覚まし時刻設定モードに遷移し、ロボットの目覚まし時刻を設定することができる。目覚まし時刻の設定方法については後述する。
【００４４】
また、目覚ましＯＮ／ＯＦＦカードＪは、例えばその表面及び裏面がそれぞれ図７（ａ）及び図１２（ａ）のように記載される。この目覚ましＯＮ／ＯＦＦカードＪは、目覚ましがＯＮの場合にこのカードＪを認識すると目覚ましはＯＦＦになり、目覚ましがＯＦＦの場合にカードＪを認識すると目覚ましがＯＮに設定される機能切替え情報が対応付けられている。
【００４５】
音量カードＫは、例えばその表面及び裏面がそれぞれ図７（ｂ）及び図１２（ｂ）のように記載される。この音量カードＫは、音量を調節するためのもので、カードＫの向きにより音量の上下を指示することができ、例えば１度認識すると、１段階音量が上がる又は下がる、のような仕様となっている。すなわち、上述した方向カードＦと同様に、音量カードＫには、音量調節を実行するという情報かつその矢印の向きに応じて音量を上げるか下げるかの情報が対応付けられており、ロボット装置は、音量調節用の矢印パターン及びその方向を認識して音量の調節を実行するものである。この音量調整方法については後述する。
【００４６】
また、モード遷移系コマンドとして作用する動作モード切替情報としての付加情報が対応付けられたカードとしては、ゲームモード１カードＬ、ゲームモード２カードＭ、ゲームモード３カードＮ、クリニックカードＯ等がある。これらのカードＬ〜カードＯにおいても、上述の制御系カードＡ〜カードＨ、設定系カードＩ〜カードＫと同様、時刻設定用情報及び演算用情報として、時間又は演算のための数値等、又は演算方法を指定する情報等も重ねて対応付けられるものとする。
【００４７】
カードＬ，Ｍ、Ｎは、例えばその表面及び裏面がそれぞれ図７（ｃ）及び図１２（ｃ）、図７（ａ）及び図１２（ａ）、並びに図８（ｂ）及び図１３（ｂ）のように記載される。そして、このカードＬ、Ｍ、Ｎは、それぞれ設定されたゲームモード１〜３に遷移するための動作モード切替情報が対応付けられている。
【００４８】
クリニックカードＯは、例えばその表面及び裏面がそれぞれ図８（ｃ）及び図１３（ｃ）のように記載される。このクリニックカードＯは、これを認識すると、クリニックモードに遷移する動作モード切替え情報が対応付けられており、クリニックモードに遷移すると、ロボット装置は、システムに異常がないかの自己診断を実行する。
【００４９】
ここで、上述したように、これら１５枚のカードＡ〜Ｏには、各種動作指定情報、機能切替情報、又は動作モード切替情報等を示す付加情報（コマンド）のみならず、その他の複数の識別情報としての付加情報を有している。通常、すなわち自律モードにある場合には、上記カードに対応付けされるコマンドを認識し、このコマンドに従って動作状態が制御されるが、所定のモード（動作状態）においては、他の付加情報である識別情報として認識するよう設定されている。
【００５０】
図２及び図３に示すように、目覚まし時刻設定時刻モードに遷移した際に使用される時計設定用情報として、カードＡ〜カードＬには、それぞれ１〜１２の数値を示す識別情報が対応付けられ、また、カードＭ、Ｎ、Ｏには、それぞれ午前（ＡＭ）、午後（ＰＭ）、０の識別情報が対応付けられている。
【００５１】
更に、計算モードに遷移した際に使用される演算用情報として、カードＡ〜カードＪには、それぞれ１〜１０の数値を示す識別情報が対応付けられ、カードＫ、Ｌ、Ｍ、Ｎ、及びＯには、それぞれイコール（＝）、乗算（×）、除算（÷）、減算（―）、加算（＋）の意味を示す情報が対応付けられている。従って、これらの時刻設定用情報及び演算用情報をユーザが理解可能なように、これらの情報の説明も、上述した動作状態制御用のコマンドの説明と共にカードの裏面に記録される。
【００５２】
次に、これらのカードを認識した際のロボット装置の行動について説明する。ここでは、代表的なカードを例にとってカード認識から行動発現までについて説明する。先ず動作制御系コマンドが対応付けられたＵターンカードＣ、方向カードＦの場合について説明する。
【００５３】
図１４及び図１５は、それぞれＵターンカードＣ及び方向カードＦを認識してから行動を発現し終了するまでの工程を示すフローチャートである。
【００５４】
図１４に示すように、本ロボット装置は、外部の刺激や自身の内部状態に応じて自律動作をするロボット装置であり、通常は自律モードにある（ステップＳ１）。自律モード中に、ロボット装置がＵターンカードＣを認識すると（ステップＳ２）、お座り・伏せの状態か、又は立ち姿勢・歩行中かが判断され（ステップＳ３）、お座り・伏せの状態のときは、立ち上がってカードＣとの距離が２０センチ程度まで近づく（ステップＳ４）。また、立ち姿勢・歩行中のときは、そのままカードＣに近づき、同様に距離２０センチ程度まで接近する（ステップＳ５）。なお、ここでは、距離２０センチ程度まで近づくものとして説明するが、後述する認識技術等においては、ステップＳ２の時点でカードを認識することができる。すなわち、ロボット装置はステップＳ２の時点において、ＵターンカードＣと対応付けられたコマンドであるＵターンするという動作を認識している。
【００５５】
ここで、本実施の形態におけるロボット装置は、カードＣを認識した後においても、２０センチ程度までＵターンカードＣに近づいてカードＣを覗き込む動作を発現する（ステップＳ６）。なお、ロボット装置は、ロボット装置に搭載されている距離センサにより、カードとの距離を認識することができる。このように、２０ｃｍ程度までカードＣに近づくことにより、何を指示されているのだろう等と考える素振りをさせるものである。
【００５６】
そして、カードＣを覗き込んだ後、ＵターンカードＣのコマンドを理解した素振りとして、例えば首を左右に振る等、前進できないことに対して不満又は残念な感じを表出させ、１８０°旋回する（ステップＳ６）。これにより、ロボット装置は、ＵターンカードＣを見失い（ステップＳ７）、再び自律モードに移行する。
【００５７】
また、図１５に示すように、方向カードＦにおいては、カードＦを認識して覗き込むまでの動作は、図１４に示すＵターンカードと同様である。方向カードＦは、上述した如く、図５（ｃ）に示すように、矢印が記載されており、この矢印の方向へロボット装置が移動するよう設定されている。すなわち、ステップＳ１２において、ロボット装置は、方向カードＦのパターン（矢印）を認識していると共にそのパターンの姿勢、すなわち矢印の向きも認識しているものとする。後述する画像認識装置においては、図５（ｃ）に示す方向カードＦのパターンを１つ登録しておくことで、その姿勢も認識可能であるが、必要であれば、上下左右の方向となるようカードＦを回転させた画像を個別に登録してもよい。
【００５８】
そして、上述と同様に、カードＦを覗き込んだ後（ステップＳ１６）、方向カードＦが右又は左の方向を示している場合（ステップＳ１７）には、ロボット装置はこれに従い、右又は左方向に９０°旋回して移動する（ステップＳ１８）。そして、旋回によりカードを見失い（ステップＳ２０）、再び自律モードに移行する。ここで、例えは、方向カードＦが右方向を示している場合に、一旦右を向き、再び正面を向き、その後右方向に９０°旋回し、方向カードＦが左方向を示している場合に、一旦左を向き、正面を向き、その後左方向に９０°旋回して移動する等とすることができる。
【００５９】
一方、方向カードＦの矢印が指し示す方向が上又は下である場合（ステップＳ１７、Ｎｏ）には、ロボット装置は、上方向にも下方向にも進めないため、例えば上方向を示している場合には、頭部ユニットを一旦上に向け、再び正面に向け、その後右に旋回する、又はその後首を傾げる等の行動を設定しておくことができる（ステップＳ１９）。また、矢印の方向を右又は左の何れかに判定してしまうように設定しておいてもよい。
【００６０】
これらのＵターンカードＣや方向カードＦは、ユーザ等により提示されてもよく、また、ロボット装置が近づくと危険であるような領域の入り口や、例えばユーザの家の玄関等に貼っておけば、ロボット装置が危険な領域に近づいたり、外に出たりすることを防止することができる。
【００６１】
次に、設定系コマンドが対応付けられたカードＩ〜カードＫの動作状態の制御方法について説明する。図１６乃至図１９は、目覚まし時刻設定カードＩを認識してから時刻設定を終了するまでを説明するフローチャートである。
【００６２】
先ず、図１６に示すように、自律モードのロボット装置に対し、目覚まし時刻設定カードＩを見せる（ステップＳ２２）。ロボット装置は、カードＩを識別し、その機能切り替え情報に基づき目覚まし設定を開始する。目覚まし設定機能においては、図２０（ａ）に示す台詞１〜７を使用してロボット装置とユーザとがコミュニケーションを取りつつ目覚まし時刻を設定するものとする。また、目覚まし時刻設定の際、カードＸ１〜カードＸ４の４枚のカードを使用するものとし、図２０（ｂ）にカードＸ１〜カードＸ４として使用可能な時刻設定用情報を示す。
【００６３】
先ず、目覚まし時刻設定カードＩを認識すると、ロボット装置は、
台詞１：「時間を設定します。午前、午後のどちらですか？カードを見せて下さい。」
等の台詞を発言する（ステップＳ２３）。
【００６４】
ここで、ユーザは、カードＸ１を見せる。本実施の形態においては、図３に示すカードＭを見せれば午前を指定でき、カードＮを見せれば午後を指定することができる。（ステップＳ２４）。ここで、カードとして、例えば、数値情報「１」を有するカードＡ等、入力として必要な情報である午前又は午後以外の情報を有するカードが認識された場合（ステップＳ２５）、ロボット装置は、
台詞３：「間違っています。」
等の台詞を発言し（ステップＳ２６）、再び、ステップＳ２３の台詞１を発言する。
【００６５】
また、台詞１を発言してから例えば３０秒等所定時間経過しても次のカードが認識できない場合（ステップＳ２７）、ロボット装置は、
台詞４：「設定されませんでした。設定を終了します。」
等の台詞を発言して（ステップＳ５６）、自律モードに戻る。
【００６６】
また、頭を触る等の所定動作が、上記午前又は午後を設定する動作をスキップする動作に対応するように設定しておいてもよく（ステップＳ２８）、その場合には、図１７のステップ３１に進む。
【００６７】
更に、あごを触られる等所定動作が、上記午前又は午後を設定する動作をキャンセルする動作に対応するよう設定しておいてもよく（ステップＳ２９）、この場合もステップＳ５６に進み、上述の台詞４を発言して自律モードに戻る。
【００６８】
更にまた、例えば５〜１０秒毎に、ステップＳ２３に戻るように設定しておくことで（ステップＳ３０）、５〜１０秒毎に台詞１を発言し、カードを認識できない場合等にユーザにカードの提示を促すことができる。ここで、ステップＳ３０を設ける場合は、最初に台詞１を発言したときからの総経過時間をカウントし、これが所定時間となったか否かをステップＳ２７にて判断すればよい。
【００６９】
ステップＳ２４にてカードＸ１として、例えば午前を示すカードＭが認識されると、図１７に示すステップＳ３１に進む。ステップＳ３１では、
台詞２：「午前何時ですか？カードを見せてください。」
等の台詞を発言する。なお、カードＸ１としてカードＮを見せられた場合には、台詞２として「午後何時ですか？カードを見せてください。」等の台詞を発言するものとする。これにより、ユーザは、ロボット装置の要求に応じてカードＸ２として図２０（ｂ）に示すように、０〜１２の何れかの数値を示すカードを見せる（ステップＳ３２）。なお、ここでは、０と１２は同じ情報を示すものとする。上述の図２及び図３に示す例においては、カードＸ２としては、カードＡ〜Ｌ又はカードＯを認識させることができる。
【００７０】
また、上述と同様、入力として必要な時刻設定用情報入力以外の情報を有するカード（カードＭ、Ｎ）を見せられた場合（ステップＳ３３）、ロボット装置は上述の台詞３等を発言し（ステップＳ３４）する。また、台詞２を最初に発言してから所定時間経過したり（ステップＳ３３）、あごを触られてキャンセル指示された場合（ステップＳ３７）には、台詞４を発言し（ステップＳ５６）、自律モードに戻る。更に、頭を触られてスキップ指示された場合（ステップＳ３６）、図１８に示すステップＳ３９に進む。また、例えば５〜１０秒毎に台詞３１を発言するステップＳ３１に戻る（ステップＳ３８）。
【００７１】
ところで、ステップＳ３２にてカードＸ２としてカードＡを見せられ時刻設定用情報「１」を認識したロボット装置は、図１８に示すように、
台詞５：「午前１時（カードＸ２に対応付けられている時刻）何分ですか？」
等の台詞を発言する（ステップＳ３９）。この要求に応じてユーザは、分情報のうち、十の位となる数値を示すカードを見せる（ステップＳ４０）。
【００７２】
また、時刻設定用情報として認識不可能な数値に対応づけられたカード（カードＦ〜Ｎ）を見せられた場合（ステップＳ４１）には、台詞３を発言して（ステップＳ４２）、ステップＳ３９に戻ったり、所定時間経過後（ステップＳ４３）及びキャンセル指示により（ステップＳ４５）、台詞４を発言して（ステップＳ５６）、自律モードに移行したり（ステップＳ２１）、スキップ指示により（ステップＳ４４）次のステップにスキップしたり、カードを認識できない場合には５〜１０秒毎に台詞５を発言したり（ステップＳ３９）するものとする。
【００７３】
そして、ステップＳ４０にて設定時刻の分情報のうち十の位が設定された後、図１９に示すように、
台詞６：「設定する分の一の位のカードを見せて下さい。」
等の台詞６を発言する（ステップＳ４７）。この要求に応じてユーザがカードＸ３を見せると、これを分の一の位として認識し（ステップＳ４８）、
台詞７：「午前（カードＸ１の時刻設定用情報）、１（カードＸ２の時刻設定用情報）時、２（カードＸ３の時刻設定用情報）３（カードＸ４の時刻設定用情報）分に設定されました。設定を終了します。」
等の台詞７を発言する（ステップＳ４９）。これにて目覚まし時刻設定動作は終了し、ロボット装置は、自律モードに移行する（ステップＳ２１）。
【００７４】
また、時刻設定用情報として認識不可能な数値に対応付けられたカード（カードＪ〜Ｎ）を見せられた場合（ステップＳ５０）には、台詞３を発言して（ステップＳ５１）、ステップＳ３９に戻ったり、所定時間経過後（ステップＳ５２）及びキャンセル指示により（ステップＳ５４）、台詞４を発言して（ステップＳ５６）、自律モードに移行したり（ステップＳ２１）、スキップ指示により（ステップＳ５３）、ステップＳ４９にスキップしたり、カードを認識できない場合には５〜１０秒毎に台詞５を発言したり（ステップＳ５５）するものとする。
【００７５】
また、図１６乃至図１９にて示すスキップ動作においてスキップする場合には、前回の設定内容を反映するか、又はデフォルト値とすることができる。例えば、前回の設定内容を反映するようにしておけば、前回が午前６時００分に設定してあった場合に、午前７時００分に設定し直す場合、ユーザは、ステップＳ３２のカードＸ３の設定のみ行い、後の設定はスキップすればよい。
【００７６】
更に、ここでは、１枚ずつカードを提示し、時刻情報としての数値を認識させるものとしたが、例えば、２枚同時に認識させて例えば分情報等を一度に認識させるようにしてもよい。
【００７７】
図２１及び図２２は、それぞれ目覚まし機能ＯＮ／ＯＦＦを設定する目覚ましＯＮ／ＯＦＦカードＪ及び音量カードＫの動作状態制御方法を示すフローチャートである。
【００７８】
図２１に示すように、上述と同じく自律モードで動作している（ステップＳ６１）ロボット装置が目覚ましＯＮ／ＯＦＦカードＦを認識する（ステップＳ６２）と、目覚まし設定がＯＮであるかＯＦＦであるかを検出し（ステップＳ６３）する。そして、目覚まし設定がＯＮである場合には、目覚まし設定ＯＦＦにし（ステップＳ６４）、「目覚ましを解除しました。」等の台詞を発言し（ステップＳ６５）、自律モードに戻る。また、目覚まし設定がＯＦＦの場合には目覚まし設定をＯＮにして（ステップＳ６６）、「××時〇〇分に設定しました。」等の台詞を発現し（ステップＳ６７）、自律モードに戻るものとする。
【００７９】
なお、上述したように、目覚まし時刻設定カードＩを使用して目覚まし時刻が予め設定してある場合には、その設定した目覚まし時刻に設定されるが、目覚まし時刻が設定していない場合には、例えば午前７時００分等、デフォルトの目覚まし時刻に設定されるものとする。
【００８０】
また、図２２に示すように、音量カードＫを認識した場合には、自律モードから（ステップＳ７１）、音量カードＫであること、及び音量アップの指示であるか、音量ダウンの指示であるかを示す矢印の方向を認識し（ステップＳ７２）、音量カードＫの向きが音量プラスの向きであるか否かを判断する（ステップＳ７３）。そして、音量プラスの指示である場合には、音量を一段階上げる（ステップＳ７３）。ここで、例えば音量を一段階上げた場合には、音を鳴らす等の合図をするようにしてもよい。そして、例えば３秒等、所定時間の待機時間を経て（ステップＳ７６）自立モードに移行する。
【００８１】
また、音量カードＫの向きが音量マイナスの向きである場合には、音量を一段階下げる（ステップＳ７５）。ここでも、音を鳴らす等、音量が変化したことをユーザに伝えるようにしておく。その後、同様に例えば３秒の待機時間を経て（ステップＳ７６）、自立モードに遷移させる。ここで、音量レベルを上げたり、下げたりした後に待機時間を設けるのは、音量カードＫを認識し続けて音量を上げ続けたり、下げ続けたりすることを防止するためである。
【００８２】
次に、その他のカードを認識した際の基本遷移動作について説明する。ダンスカードＡ、写真カードＢ、お座りカードＤ、伏せカードＥ、自己充電カードＧ、各種設定系カードＩ〜Ｋ、及びモード遷移系カードＬ〜Ｏ等においては、基本的には以下に説明する方法にて動作状態を遷移したり、動作を発現したりすることができる。
【００８３】
すなわち、図２３に示すように、先ず自律モードから（ステップＳ８１）、ユーザに提示される等してカードを認識すると（ステップＳ８２）、認識したことをロボット装置がユーザに伝えるために、例えばうなずく、耳をパタパタさせる等の認識できたことを示す動作を発現する（ステップＳ８３）。その後、各カードに対応付けられているモードに遷移するか、各カードに対応付けられた動作を発現する（ステップＳ８４）。そして、これらの動作を終了すると再び自律モードに移行する。
【００８４】
例えば、ダンスカードＡであれば、ユーザから「ダンスを踊って」等と言われた際に音声認識して発現するときと同様、ダンスを踊る動作モジュールが起動してダンスを発現する。また、写真カードＢにおいても、ユーザから「写真とって」等と言われた際に音声認識して発現するときと同様、撮影用モジュールが起動して、カメラ撮影を行う。
【００８５】
また、お座りカードＤや伏せカードＥにおいても同様であって、「お座り」や「伏せ」等と言われた際に音声認識して発現するときと同様、お座りや伏せの姿勢に移行する。更に、自己充電カードＧにおいても「ステーションにいこう」のユーザ指示の音声認識と同様、充電ステーションを探して自己充電するものである。なお、モード遷移とは、指定のモードに移ることを示す。
【００８６】
このように、カードを用いての制御は、各カードに対応付けられた各種付加情報により、１枚のカードを認識させ、これに対応付けられた付加情報により動作状態を制御してもよく、また、上述した目覚まし時刻設定のように、複数枚のカードを順次認識させることで、１つの動作状態を制御するようにしてもよい。その際、全ての動作制御をカードのみにて行うこともできるが、例えばロボット装置の本体部等にスイッチを設けてこれにより一部の動作状態を制御してもよい。具体的には、例えば目覚まし時刻設定用のスイッチにより目覚まし時刻設定開始状態に遷移させておいてから、時刻設定用情報を指示するカードを認識させて時刻を設定したり、また、デモ用コンテンツを発現するモードに遷移させておいてから、各種カードを認識させれば、デモンストレーション用の動作を発現するように設定することもできる。
【００８７】
また、デモンストレーション用の動作を発現させるように設定した場合、例えば音量カード等は、成長段階又はロボット装置の個性に応じて用意されている音量レベルや、音質等を発するようにすることができる。また、本実施の形態においては、ゲームモード１〜３を有しており、プレイモード１におけるデモンストレーション動作として、嬉しい、悲しい、楽しい等の各種感情を表現したり、ＰＣと連動させた動作を発現したり、ネットワークを介して行われる動作を発現したりしてもよい。
【００８８】
また、複数枚のカードにより一連の動作状態を制御する他の例として、上述のカードとしては図示していないが、足し算や引き算を行わせる演算処理モード等が上げられる。例えば演算処理モードに遷移させる動作モード切替情報が付加情報として対応付けられたカードを用意し、これを認識させることで演算処理モードに移行させ、その後、カードを認識させることにより、図２及び図３に示したような数値や演算処理を指示する情報として付加情報を認識し、これに従い、数値を加算したり、乗算したりして演算を行わせることができる。演算結果は、例えばロボット装置が結果の数だけ手を叩いたり、音声にて出力したりすることができる。なお、この場合においても、本体部に演算処理モードに移行するためのスイッチ等を設けて、それを使用して遷移させてもよい。
【００８９】
また、以上の例においては、１枚のカードをロボット装置に提示し、そのカードを認識させ、カードに対応付けられた動作制御を行うものであったが、複数枚のカードを同時に提示し、複数のコマンドにより同時に動作状態を制御することも可能である。
【００９０】
図２４は、複数枚のカードを同時に提示して動作制御する場合の動作遷移を示すフローチャートである。図２４に示すように、例えばロボット装置は、自律モードから（ステップＳ９１）、ダンスカードＡを提示されることにより（ステップＳ９２）、ダンスカードＡに対応付けられたダンスコマンドを認識しこれによりダンスを踊るという動作を発現させる（ステップＳ９３）ものであるが、ダンスカードＡと共に、例えば回転する動作を指示する付加情報が対応付けられた回転カードＹ１、歌を歌う動作を指示する付加情報が対応付けられた歌カードＹ２を用意する。
【００９１】
そして、ダンスカードＡと回転カードＹ１とを同時に見せる（ステップＳ９４）と、例えば１秒以内等、所定時間内に２枚のカードを認識した場合には、２枚のカードＡ、Ｙ１に対応付けられた計２つの付加情報に従って動作状態が制御される。すなわち、回りながらダンスを踊るという動作を発現する（ステップＳ９６）。
【００９２】
また、ダンスカードＡ、回転カードＹ１、歌カードＹ２の３枚のカードを同時に見せる（ステップＳ９７）、１秒以内等、所定時間内に３枚のカードを認識した場合（ステップＳ９８）には、３枚のカードに対応づけられた計３つの付加情報に従って動作状態が制御される。すなわち、回りながらダンスも踊り、歌も歌うよう動作制御される。このように並列可能な複数の動作に対応付けられたカードを同時に認識した場合には、同時に複数の動作を並列して発現することができる。
【００９３】
なお、所定時間内に複数枚のカードが認識できなかった場合は、例えば後から認識されたカードに対応付けられた付加情報に従って動作状態が制御されるものとすることができる。すなわち、例えばカードＡが認識されてから３秒後にカードＹ１が認識された場合には、ロボット装置は、ダンスではなく、回転動作を発現するようにすることができる。
【００９４】
（２）画像認識
次に、本実施の形態における画像認識部１０４の一具体例として、本願出願人が先に出願した特願２００３−１２４５２５号に記載の画像認識装置について詳細に説明する。この画像認識装置は、1以上のオブジェクトを含む入力画像（以下、オブジェクト画像という）。と、検出対象となるモデルを示すモデル画像とを比較し、オブジェクト画像に含まれるオブジェクトであると判断されるモデル画像をデータベース１０３から抽出するものである。ここで、オブジェクトが入力画像に含まれるカードに対応し、モデルが上述した各カード画像に相当する。
【００９５】
図２５は、画像認識装置の概略構成を示す図である。図２５に示す画像認識装置２０１において、特徴点抽出部２１０ａ，２１０ｂは、モデル画像及びオブジェクト画像からそれぞれモデル特徴点及びオブジェクト特徴点を抽出し、特徴量保持部２１１ａ，２１１ｂは、抽出された各特徴点について後述する特徴量を抽出し、特徴点の位置情報と共に保持する。そして特徴量比較部２１２は、各モデル特徴点の特徴量と各オブジェクト特徴点の特徴量とを比較して類似度又は相違度を計算し、この類似尺度を用いて特徴量が類似する、すなわち対応する可能性の高いモデル特徴点及びオブジェクト特徴点のペア（候補対応特徴点ペア）を生成する。
【００９６】
モデル姿勢推定部２１３は、生成された候補対応特徴点ペア群を用いてオブジェクト画像上のモデルの有無を検出し、「モデル有」の判定結果の場合には、「検出されるモデルはオブジェクト画像上へのアフィン変換による画像変形が施されている」という拘束条件の下、候補対応特徴点ペア群からランダムに選択した３ペアにより決定されるアフィン変換パラメータをパラメータ空間に投射する操作を繰り返し、パラメータ空間上で形成されたクラスタのうち最多メンバ数を持つクラスタの各メンバを真の特徴点ペア（インライヤ）とし、このインライヤを用いた最小自乗推定によりアフィン変換パラメータを求める。そして、モデル姿勢推定部２１３は、このアフィン変換パラメータで決定されるモデル姿勢をモデル認識結果として出力する。
【００９７】
以下、上記画像認識装置２０１の各ブロックについて詳細に説明する。なお、以下では、画像の水平方向をＸ軸、垂直方向をＹ軸として説明する。
【００９８】
特徴点抽出部２１０ａ，２１０ｂは、特徴点抽出対象画像（モデル画像又はオブジェクト画像）に対し、先ず平滑化フィルタリング、例えば以下の式（１）で示す２次元ガウス関数による畳み込み積（ガウスフィルタリング）と、双２次線形補間リサンプリングによる画像縮小とを繰り返し交互に適用することで、画像の多重解像度ピラミッド構造を構築する。ここで、リサンプリングファクタとしては、式（１）のガウスフィルタで用いたσを用いる。
【００９９】
【数１】
2005074562.tif 000003
【０１００】
すなわち、図２６に示すように、例えば入力画像Ｉにσ＝√２であるガウスフィルタｇ(ｘ、ｙ)を施すことにより第１レベル（最高解像度）の画像Ｉ１を生成し、さらにガウスフィルタを施すことにより画像ｇ＊Ｉ１を生成する。そして、この画像ｇ＊Ｉ１をリサンプリングしてガウスフィルタを施すことにより第２レベルの画像Ｉ２，ｇ＊Ｉ２を生成し、同様にして画像ｇ＊Ｉ２から第３レベルの画像Ｉ３，ｇ＊Ｉ３を生成する。
【０１０１】
続いて、特徴点抽出部２１０ａ，２１０ｂは、各レベル（各解像度）の画像に対して、ＤｏＧ（Difference of Gaussian）フィルタを適用する。このＤｏＧフィルタは、画像の輪郭強調のために用いられる２次微分フィルタの一種であり、人間の視覚系で網膜からの情報が外側膝状体で中継されるまでに行われている処理の近似モデルとして、ＬｏＧ（Laplacian of Gaussian）フィルタと共によく用いられるものである。ＤｏＧフィルタの出力は、２つのガウスフィルタ出力画像の差分を取ることにより容易に得られる。すなわち、図２６に示すように、第１レベルの画像について画像ＤＩ１（＝Ｉ１−ｇ＊Ｉ１）が得られ、第２レベル，第３レベルの画像について画像ＤＩ２（＝Ｉ２−ｇ＊Ｉ２），画像ＤＩ３（＝Ｉ３−ｇ＊Ｉ３）が得られる。
【０１０２】
そして、特徴点抽出部２１０ａ，２１０ｂは、各レベルにおけるＤｏＧフィルタ出力画像ＤＩ１，ＤＩ２，ＤＩ３・・・の局所点（局所極大点及び局所極小点）のうち、所定の範囲内の解像度変化によって位置の変化がないような点を特徴点として検出する。これにより、画像の拡大縮小操作に対してロバストな特徴点間のマッチングが実現できる。
【０１０３】
ここで、多重解像度ピラミッド構造の第Ｌレベル、すなわちσの（Ｌ−１）乗ファクタまでの解像度変化によって位置の変化がないような特徴点を検出する際の処理について図２７のフローチャートを用いて説明する。
【０１０４】
先ずステップＳ１０１において、第１レベル（最高解像度）におけるＤｏＧフィルタ出力画像ＤＩ１の局所点（局所極大点及び局所極小点）を検出する。なお、局所近傍としては、例えば３×３直接近傍を用いることができる。
【０１０５】
次にステップＳ１０２において、検出された各局所点について、その１つ上位レベル（解像度の１つ低い層）における対応点を解像度減少に伴う画像縮小を考慮して求め、この対応点が局所点か否かを判別する。局所点である場合（Yes）にはステップＳ１０３に進み、局所点でない場合（No）には探索を終了する。
【０１０６】
続いてステップＳ１０３では、第Ｌレベルまで探索が成功したか否かを判別する。第Ｌレベルまで探索を行っていない場合（No）にはステップＳ１０２に戻ってさらに上位レベルの探索を行い、第Ｌレベルまで探索が成功した場合（Yes）には特徴点であるとして、ステップＳ１０４においてその位置情報を保持する。
【０１０７】
例えば第３レベルまでの解像度変化によって位置の変化がないような特徴点を検出する場合、図２８に示すように、第１レベルの画像ＤＩ１において検出された局所点ＦＰ１，ＦＰ２のうち、ＦＰ１は第３レベルの画像ＤＩ３まで対応点が存在するため特徴点とされ、ＦＰ２は第２レベルまでしか対応点が存在しないため特徴点でないとされる。
【０１０８】
なお、この特徴点抽出部２１０ａ，２１０ｂでは、ＤｏＧフィルタの代わりにＬｏＧフィルタを用いるようにしてもよい。また、文献「Harris C. and Stephens M.,“A combined corner and edge detector.”, in Proc. Alvey Vision Conf., pp.147-151, 1988」で物体のコーナー検出に用いられているcorner-ness 関数の出力値をＤｏＧフィルタ出力の代わりに用いるようにしてもよい。
【０１０９】
次に、特徴量保持部２１１ａ，２１１ｂ（図２５）は、特徴点抽出部２１０ａ，２１０ｂにて抽出された各特徴点について特徴量を抽出し、保持する。特徴量としては、多重解像度ピラミッド構造の各レベルの画像（Ｉｌ，ｌ＝１，…，Ｌ）の画像情報から導出される特徴点の近傍領域各点の濃度勾配情報（勾配強度及び勾配方向）を用いる。点（ｘ、ｙ）における勾配強度Ｍｘ，ｙ及び勾配方向Ｒｘ，ｙは以下の式（２），（３）により与えられる。
【０１１０】
【数２】
2005074562.tif 000004
【０１１１】
ここで、特徴量を算出する特徴点近傍領域としては、回転変化に対して構造の変わらないような、特徴点に関して対称なものを選択することが好ましい。これにより、回転変化に対するロバスト性を実現することができる。例えば、（ｉ）特徴点から半径ｒピクセルの範囲内を特徴点近傍領域とする手法や、（ｉｉ）特徴点を中心に幅σの特徴点に関して対称な２次元ガウス重みを濃度勾配に掛ける手法を用いることができる。
【０１１２】
特徴点から半径３．５ピクセルの範囲内を近傍領域とした場合における特徴点近傍領域の濃度勾配情報の例を図２９（ａ）に示す。ここで、図２９（ａ）において矢印の長さは勾配強度を表し、矢印の方向は勾配方向を表す。
【０１１３】
また、特徴量保持部２１１ａ，２１１ｂは、特徴点近傍の勾配方向に関するヒストグラム（方向ヒストグラム）も特徴量として保持する。図２９（ａ）の濃度勾配情報から得られる勾配方向ヒストグラムの例を図２９（ｂ）に示す。ここで、図２９（ｂ）における階級幅Δθは１０deg であり、階級数Ｎは３６（＝３６０deg ／１０deg ）である。
【０１１４】
続いて、特徴量比較部２１２（図２５）は、各モデル特徴点の特徴量と各オブジェクト特徴点の特徴量とを比較し、類似する特徴量を有するモデル特徴点及びオブジェクト特徴点のペア（候補対応特徴点ペア）を生成する。
【０１１５】
この特徴量比較部１２における処理の詳細について、図３０のフローチャートを用いて説明する。先ず、ステップＳ１１０において、特徴量比較部２１２は、各モデル特徴点の方向ヒストグラムと各オブジェクト特徴点の方向ヒストグラムとを比較してヒストグラム間の距離（相違度）を計算すると共に、モデル−オブジェクト間の推定回転角度を求める。
【０１１６】
ここで、階級幅Δθと階級数Ｎとが同一である２つの方向ヒストグラムＨ１＝｛ｈ１（ｎ），ｎ＝１，…，Ｎ｝及びＨ２＝｛ｈ２（ｎ），ｎ＝１，…，Ｎ｝を想定し、ｈ１（ｎ），ｈ２（ｎ）が階級ｎにおける度数を示すものとすると、ヒストグラムＨ１とヒストグラムＨ２との間の距離ｄ（Ｈ１，Ｈ２）は、例えば以下の式（４）で与えられる。ここで、式（４）におけるｒとしては、ｒ＝１，２，∞が一般的に用いられる。
【０１１７】
【数３】
2005074562.tif 000005
【０１１８】
この式（４）を用いて各モデル特徴点及び各オブジェクト特徴点の方向ヒストグラム間の相違度を計算するが、（ｉ）モデル−オブジェクト間のスケール比がマッチング段階で未知であるため、モデル特徴点の各レベルとオブジェクト特徴点の各レベル間で方向ヒストグラム間のマッチングを行う必要がある。また、（ｉｉ）方向ヒストグラム間のマッチングに関しては、モデル−オブジェクト間の回転変換量を考慮する必要がある。
【０１１９】
モデル特徴点ｍのレベルＬＶにおける方向ヒストグラムＨｍＬＶ＝｛ｈｍＬＶ（ｎ），ｎ＝１，…，Ｎ｝と、オブジェクト特徴点ｏのレベルｌｖにおける方向ヒストグラムＨｏｌｖ＝｛ｈｏｌｖ（ｎ），ｎ＝１，…，Ｎ｝との相違度を求める場合を考える。方向ヒストグラムは回転変換に対して巡回的に変化するため、Ｈｏｌｖを巡回的に階級を１つずつシフトさせながら式（４）の計算を行い、その最小値をＨｍＬＶとＨｏｌｖとの間の相違度とする。このとき、相違度の最小値を与えた時のシフト量（ずらした階級数）からオブジェクト特徴点の回転角度を推定することができる。なお、この手法は方向ヒストグラム交差法として知られている。
【０１２０】
Ｈｏｌｖをｋ階級分シフトさせた方向ヒストグラムをＨｏｌｖ（ｋ）とすると、方向ヒストグラム交差法による方向ヒストグラム間相違度dissimilarity（ＨｍＬＶ，Ｈｏｌｖ（ｋ））は、以下の式（５）で与えられる。
【０１２１】
【数４】
2005074562.tif 000006
【０１２２】
また、最小のｄ（ＨｍＬＶ，Ｈｏｌｖ（ｋ））を与えるｋをｋ’とすると、オブジェクト特徴点ｏの近傍領域における推定回転角度θ（ｍ，ＬＶ，ｏ，ｌｖ）は以下の式（６）で与えられる。
【０１２３】
【数５】
2005074562.tif 000007
【０１２４】
上述の（ｉ）を考慮すると、モデル特徴点ｍとオブジェクト特徴点ｏとの方向ヒストグラム間相違度dissimilarity（Ｈｍ，Ｈｏ）は、以下の式（７）のようになる。
【０１２５】
【数６】
2005074562.tif 000008
【０１２６】
特徴量比較部２１２は、モデル特徴点ｍとオブジェクト特徴点ｏとの各ペア（ｍ、ｎ）に対し、最小の方向ヒストグラム間相違度dissimilarity（Ｈｍ，Ｈｏ）を与えるレベルＬＶ，ｌｖ（以下、それぞれＬＶｍ＊，ｌｖｏ＊と表記する。）と、その推定回転角度θ（ｍ，ＬＶｍ＊，ｏ，ｌｖｏ＊）とを、方向ヒストグラム間相違度dissimilarity（Ｈｍ，Ｈｏ）と共に保持する。
【０１２７】
次にステップＳ１１１（図３０）において、特徴量比較部２１２は、各モデル特徴点ｍに対し方向ヒストグラム間相違度の小さい順にＫ個のオブジェク特徴点ｏｍ１，…，ｏｍＫを選択し、候補対応特徴点ペアを組ませる。すなわち、各モデル特徴点ｍに対してＫ個の候補対応特徴点ペア（ｍ、ｏｍ１），…，（ｍ、ｏｍｋ），…，（ｍ、ｏｍＫ）が組まれる。また、各候補対応特徴点ペア（ｍ、ｏｍｋ）には対応するレベルＬＶｍ＊，ｌｖｏｍｋ＊と推定回転角度θ（ｍ，ＬＶｍ＊，ｏ，ｌｖｏｍｋ＊）との情報が保持される。
【０１２８】
以上のようにして、全モデル特徴点に対し候補対応特徴点ペアを組ませることで得られたペア群が、候補対応特徴点ペア群となる。
【０１２９】
このように、特徴量比較部２１２では、ヒストグラム度数に勾配強度を累積しておらず、単に勾配方向のみに注目しているため、明度変化に対してロバストな特徴量マッチングが可能になる。また、本実施の形態では方向ヒストグラムの形状を考慮したより安定なマッチングを行うことができる。更に、二次的に安定した特徴量（推定回転角度）を得ることができる。
【０１３０】
なお、上述のステップＳ１１１では、各モデル特徴点ｍに対してＫ個の候補対応特徴点ペアを選択するものとして説明したが、これに限定されるものではなく、方向ヒストグラム間相違度が閾値を下回るペア全てを選択するようにしてもよい。
【０１３１】
ここで、上述の操作で生成された候補対応特徴点ペア群は、方向ヒストグラムが類似するものの濃度勾配の空間的特徴が異なっているような対応点ペアも含んでいる。そこで、続くステップＳ１１２（図３０）では、濃度勾配ベクトル間類似度によるペアの選択、候補対応特徴点ペア群の更新を行う。
【０１３２】
具体的には、モデル特徴点ｍの近傍のレベルＬＶｍ＊における濃度勾配ベクトルをＵｍとし、このモデル特徴点ｍと対応点ペアを組むオブジェクト特徴点ｏの近傍のレベルｌｖｏｍｋ＊における濃度勾配ベクトルをＵｏとしたとき、ＵｍとＵｏとの類似度が閾値を下回るペアを排除し、候補対応特徴点ペア群を更新する。
【０１３３】
濃度勾配ベクトルＵｍ，Ｕｏ間の類似度の計算手法を図３１に示す。先ず、Ｕｍを空間的に４領域Ｒｉ（ｉ＝１，…，４）に分割し、各領域の平均濃度勾配ベクトル＜Ｖｉ＞（ｉ＝１，…，４）を求める。この＜Ｖｉ＞をまとめた８次元ベクトル＜Ｖ＞でＵｍが表現される。一方、回転変換を考慮した濃度勾配情報のマッチングを行うために、Ｕｏの勾配方向を先に求めた推定回転角度θ（ｍ，ＬＶｍ＊，ｏ，ｌｖｏｍｋ＊）で補正し、Ｕｏ＊を得る。この際、中間位置の値は、双２次線形補間により求める。先と同様にＵｏ＊を４領域Ｒｉ（ｉ＝１，…，４）に分割し、各領域の平均濃度勾配ベクトル＜Ｗｉ＞（ｉ＝１，…，４）を求める。この平均濃度勾配ベクトル＜Ｗｉ＞をまとめた８次元ベクトル＜Ｗ＞でＵｏが表現される。このとき、ＵｍとＵｏとの類似度similarity（Ｕｍ、Ｕｏ）∈［０，１］は、平均濃度勾配ベクトル＜Ｖ＞と＜Ｗ＞との類似度として解釈され、例えばコサイン相関値を用いて以下の式（８）により求められる。ここで、式（８）において（＜Ｖ＞・＜Ｗ＞）は＜Ｖ＞と＜Ｗ＞との内積を表す。
【０１３４】
【数７】
2005074562.tif 000009
【０１３５】
特徴量比較部２１２は、各候補対応特徴点ペアに対して上記式（８）で得られる平均濃度勾配ベクトル間の類似度を求め、類似度が閾値δを下回るペアを候補対応特徴点ペア群から排除し、候補対応特徴点ペア群を更新する。
【０１３６】
このように、特徴量比較部２１２では、部分領域の平均濃度勾配ベクトルを用いて特徴量の比較を行っているため、特徴点位置や推定回転角度の微妙なずれや、明度の変化による濃度勾配情報の変化に対してロバストなマッチングを実現することができ、計算量の削減にもなる。
【０１３７】
以上の操作により、特徴点近傍の局所的な濃度勾配情報が類似する（モデル特徴点−オジェクト特徴点）ペア群を抽出することができるが、巨視的に見ると、このように得られたペア群は、対応特徴点間の空間的位置関係がモデルのオブジェクト画像上での姿勢（モデル姿勢）と矛盾するような「偽の特徴点ペア（アウトライヤ）」を含んでしまっている。
【０１３８】
ここで、候補対応特徴点ペアが３組以上ある場合には、最小自乗推定により近似アフィン変換パラメータの推定が可能であり、推定モデル姿勢と空間的位置関係の矛盾する対応ペアを排除し、残ったペアで再びモデル姿勢推定を行うという操作を繰り返すことで、モデル姿勢を認識することができる。
【０１３９】
しかしながら、候補対応特徴点ペア群中のアウトライヤが多い場合や真のアフィン変換パラメータから極端に逸脱したアウトライヤが存在する場合には、最小自乗推定による推定結果は一般的に満足のいくものではないことが知られている（Hartley R., Zisserman A.,“Multiple View Geometry in Computer Vision.”, Chapter 3, pp.69-116, Cambridge University Press, 2000）ため、本実施の形態におけるモデル姿勢推定部２１３（図２５）では、アフィン変換拘束の下、候補対応特徴点ペア群の空間的位置関係から「真の特徴点ペア（インライヤ）」を抽出し、抽出されたインライヤを用いてモデル姿勢（平行移動量，回転，拡大縮小，ストレッチを決定するアフィン変換パラメータ）を推定する。
【０１４０】
以下、このモデル姿勢推定部２１３における処理について説明する。上述したように、候補対応特徴点ペアが３組以上なければアフィン変換パラメータを決定できないため、候補対応特徴点ペアが２組以下の場合、モデル姿勢推定部２１３は、オブジェクト画像中にモデルが存在しない、又はモデル姿勢検出に失敗したとして、「認識不可」と出力し処理を終了する。一方、候補対応特徴点ペアが３組以上ある場合、モデル姿勢推定部２１３は、モデル姿勢を検出可能であるとし、アフィン変換パラメータの推定を行う。なお、モデル姿勢推定部２１３は、モデル画像及びオブジェクト画像の例えば第１レベル（最高解像度）における特徴点の空間的位置を元にモデル姿勢を推定するものとする。
【０１４１】
ここで、モデル特徴点［ｘ  ｙ］Ｔのオブジェクト特徴点［ｕ  ｖ］Ｔへのアフィン変換は、以下の式（９）で与えられる。
【０１４２】
【数８】
2005074562.tif 000010
【０１４３】
この式（９）において、ａｉ（ｉ＝１，…，４）は回転，拡大縮小，ストレッチを決定するパラメータを表し、［ｂ１  ｂ２］Ｔは平行移動パラメータを表す。決定すべきアフィン変換パラメータはａ１，…，ａ４及びｂ１，ｂ２の６つであるため、候補対応特徴点ペアが３組あればアフィン変換パラメータを決定することができる。
【０１４４】
３組の候補対応特徴点ペアで構成されるペア群＜Ｐ＞を（[ｘ１  ｙ１]Ｔ，[ｕ１  ｖ１]Ｔ），（[ｘ２  ｙ２]Ｔ，[ｕ２  ｖ２]Ｔ），（[ｘ３  ｙ３]Ｔ，[ｕ３  ｖ３]Ｔ）とすると、ペア群＜Ｐ＞とアフィン変換パラメータとの関係は、以下の式（１０）に示す線形システムで表現することができる。
【０１４５】
【数９】
2005074562.tif 000011
【０１４６】
この式（１０）を＜Ａ＞＜ｘ＞＝＜ｂ＞のように書き直すと、アフィン変換パラメータ＜ｘ＞の最小自乗解は以下の式（１１）で与えられる。
【０１４７】
【数１０】
2005074562.tif 000012
【０１４８】
さて、候補対応特徴点ペア群からアウトライヤが１つ以上混入するように繰り返しランダムにペア群＜Ｐ＞を選択した場合、そのアフィン変換パラメータはパラメータ空間上に散らばって投射される。一方、インライヤのみから構成されるペア群＜Ｐ＞を繰り返しランダムに選択した場合、そのアフィン変換パラメータは、何れもモデル姿勢の真のアフィン変換パラメータに極めて類似した、すなわちパラメータ空間上で距離の近いものとなる。したがって、候補対応特徴点ペア群からランダムにペア群＜Ｐ＞を選択し、そのアフィン変換パラメータをパラメータ空間上に投射していく操作を繰り返すと、インライヤはパラメータ空間上で密度の高い（メンバ数の多い）クラスタを形成し、アウトライヤは散らばって出現することになる。このことから、パラメータ空間上でクラスタリングを行い、最多メンバ数を持つクラスタの要素がインライヤとなる。
【０１４９】
モデル姿勢推定部２１３における処理の詳細を図３２のフローチャートを用いて説明する。なお、このモデル姿勢推定部２１３におけるクラスタリング手法としては、ＮＮ（Nearest Neighbor）法を用いるものとする。この際、上述したｂ１，ｂ２は、認識対象画像により様々な値を取り得るため、アフィン変換パラメータ＜ｘ＞空間でもクラスタリングにおいてクラスタリング閾値の選択が認識対象に依存してしまう。そこで、モデル姿勢推定部１３では、「真のパラメータとａ１，…，ａ４は類似するがｂ１，ｂ２が異なるようなアフィン変換パラメータを与えるペア群＜Ｐ＞は殆ど存在しない」という仮定の下、パラメータａ１，…，ａ４（以下、＜ａ＞と表記する。）で張られるパラメータ空間上のみでクラスタリングを行う。なお、上記仮定が成り立たない状況が生じたとしても、＜ａ＞空間とは独立にｂ１，ｂ２で張られるパラメータ空間でクラスタリングを行いその結果を考慮することで、容易に問題を回避することができる。
【０１５０】
先ず図３２のステップＳ１２０において初期化を行う。具体的には、繰り返し数のカウント値ｃｎｔをｃｎｔ＝１とし、候補対応特徴点ペア群からランダムにペア群＜Ｐ１＞を選択し、アフィン変換パラメータ＜ａ１＞を求める。また、クラスタ数ＮをＮ＝１とし、アフィン変換パラメータ空間＜ａ＞上で＜ａ１＞を中心とするクラスタＣ１を作る。このクラスタＣ１のセントロイド＜ｃ１＞を＜ｃ１＞＝＜ａ１＞とし、メンバ数ｎｃ１をｎｃ１＝１とする。
【０１５１】
次にステップＳ１２１において、モデル姿勢推定部２１３は、候補対応特徴点ペア群からランダムにペア群＜Ｐｃｎｔ＞を選択し、アフィン変換パラメータ＜ａｃｎｔ＞を求める。
【０１５２】
続いてステップＳ１２２において、モデル姿勢推定部２１３は、ＮＮ法を用いてアフィン変換パラメータ空間のクラスタリングを行う。具体的には、先ず以下の式（１２）に従ってアフィン変換パラメータ＜ａｃｎｔ＞と各クラスタＣｉのセントロイド＜ｃｉ＞（ｉ＝１，…，Ｎ）との距離ｄ（＜ａｃｎｔ＞、＜ｃｉ＞）のうち、最初の距離ｄｍｉｎを求める。
【０１５３】
【数１１】
2005074562.tif 000013
【０１５４】
そして、所定の閾値τ（例えばτ＝０．１）に対してｄｍｉｎ＜τであればｄｍｉｎを与えるクラスタＣｉにアフィン変換パラメータ＜ａｃｎｔ＞を属させ、＜ａｃｎｔ＞を含めた全メンバでクラスタＣｉのセントロイド＜ｃｉ＞を更新する。また、クラスタＣｉのメンバ数ｎｃｉをｎｃｉ＝ｎｃｉ＋１とする。一方、ｄｍｉｎ≧τであればクラスタ数ＮをＮ＝Ｎ＋１とし、アフィン変換パラメータ空間＜ａ＞上で＜ａｃｎｔ＞をセントロイド＜ｃＮ＋１＞とする新しいクラスタＣＮ＋１を作り、メンバ数ｎｃＮ＋１をｎｃＮ＋１＝１とする。
【０１５５】
続いてステップＳ１２３では、繰り返し終了条件を満たすか否かが判別される。ここで、繰り返し終了条件としては、例えば最多メンバ数が所定の閾値（例えば１５）を超え、且つ最多メンバ数と２番目に多いメンバ数との差が所定の閾値（例えば３）を超える場合、或いは繰り返し数カウンタのカウント値ｃｎｔが所定の閾値（例えば５０００回）を超える場合に終了するように設定することができる。ステップＳ１２３において、繰り返し終了条件を満たさない場合（No）には、ステップＳ１２４で繰り返し数のカウント値ｃｎｔをｃｎｔ＝ｃｎｔ＋１とした後、ステップＳ１２１に戻る。一方、繰り返し終了条件を満たす場合（Yes）にはステップＳ１２５に進む。
【０１５６】
最後にステップＳ１２５において、モデル姿勢推定部２１３は、以上で得られたインライヤを用いて、最小自乗法によりモデル姿勢を決定するアフィン変換パラメータを推定する。
【０１５７】
ここで、インライヤを（[ｘＩＮ１  ｙＩＮ１]Ｔ，[ｕＩＮ１  ｖＩＮ１]Ｔ），（[ｘＩＮ２  ｙＩＮ２]Ｔ，[ｕＩＮ２  ｖＩＮ２]Ｔ），…とすると、インライヤとアフィン変換パラメータとの関係は、以下の式（１３）に示す線形システムで表現することができる。
【０１５８】
【数１２】
2005074562.tif 000014
【０１５９】
この式（１３）を＜ＡＩＮ＞＜ｘＩＮ＞＝＜ｂＩＮ＞のように書き直すと、アフィン変換パラメータ＜ｘＩＮ＞の最小自乗解は以下の式（１４）で与えられる。
【０１６０】
【数１３】
2005074562.tif 000015
【０１６１】
そしてステップＳ１２５では、このアフィン変換パラメータ＜ｘＩＮ＞で決定されるモデル姿勢をモデル認識結果として出力する。
【０１６２】
なお、以上の説明では、閾値τが定数値であるものとしたが、ステップＳ１２１乃至ステップＳ１２４の繰り返し処理を行う際に、始めは比較的大きな閾値τを用いて大雑把なインライヤ抽出を行い、繰り返し回数が増える毎に次第に小さい閾値τを用いる、いわゆる「焼きなまし法」のような手法を適用してもよい。これにより、精度よくインライヤを抽出することができる。
【０１６３】
また、以上の説明では、候補対応特徴点ペア群からランダムにペア群Ｐを選択し、そのアフィン変換パラメータをパラメータ空間上に投射していく操作を繰り返し、パラメータ空間上で最多メンバ数を持つクラスタの要素をインライヤとして、最小自乗法によりモデル姿勢を決定するアフィン変換パラメータを推定したが、これに限定されるものではなく、例えば最多メンバ数を持つクラスタのセントロイドを、モデル姿勢を決定するアフィン変換パラメータとしてもよい。
【０１６４】
また、特徴量比較部２１２で生成された候補対応特徴点ペア群中のアウトライヤの比率が大きくなるほどモデル姿勢推定部２１３におけるインライヤの選択確率が低下し、モデル姿勢を推定する際に繰り返し回数が多くなるため、計算時間が増大してしま場合がある。そのような場合には、上記検出可能判定部２１３に入力される候補対応特徴点ペア群からできる限りアウトライヤを排除しておくことが望ましい。そこで、画像認識装置１の特徴量比較部２１２とモデル姿勢推定部２１３との間に候補対応特徴点ペア選択部を設け、これにより、特徴量比較部２１２で生成された候補対応特徴点ペア群のうち、推定回転角度ヒストグラムのピークを与える推定回転角度を有するペアを選択したり、回転，拡大縮小率，平行移動（ｘ、ｙ方向）の４つの画像変換パラメータを特徴空間（投票空間）とした一般化ハフ変換を用い、最多投票パラメータに投票した候補対応特徴点ペア群を選択してからモデル姿勢推定部２１３に供給するようにしてもよい。
【０１６５】
このような画像認識装置及びその方法によれば、特徴量が類似するとして生成された候補対応特徴点ペアを用いて上記オブジェクト画像上のモデルの有無を検出し、モデルが存在する場合に該モデルの位置及び姿勢を推定する際に、ランダムに選択した３組の候補対応特徴点ペアから決定されるアフィン変換パラメータをパラメータ空間に投射する操作を繰り返し、パラメータ空間上で形成されたクラスタのうち最多メンバ数を持つクラスタに属するアフィン変換パラメータに基づいて上記モデルの位置及び姿勢を決定するアフィン変換パラメータを求める。このように、最小自乗推定を用いてモデルの位置及び姿勢を決定するアフィン変換パラメータを求めるのではなく、アフィン変換パラメータを投射したパラメータ空間上で最多メンバ数を持つクラスタに属するアフィン変換パラメータに基づいてアフィン変換パラメータを求めることにより、候補対応特徴点ペアに偽の対応点ペア含まれている場合であっても、安定してモデルの位置及び姿勢を推定することができる。
【０１６６】
このような画像認識装置２０１によれば、特徴点の近傍領域における濃度勾配情報から得られる濃度勾配方向ヒストグラムを特徴量として特徴量マッチングを行う際に、比較対象となる特徴点同士の濃度勾配方向ヒストグラムの一方を濃度勾配方向に巡回的にシフトさせながら濃度勾配方向ヒストグラム間の距離を求め、最小の距離を濃度勾配方向ヒストグラム間の距離として、距離の類似する特徴点同士で候補対応特徴点ペアを生成する。このように、ヒストグラム度数に勾配強度を累積せず、単に勾配方向のみに注目しているため、明度変化に対してロバストな特徴量マッチングが可能になる。また、方向ヒストグラムの形状を考慮したより安定なマッチングを行うことができると共に、二次的に安定した特徴量（推定回転角度）を得ることができる。
【０１６７】
（３）ロボット装置
次に、図１にその主要部のみを示したロボット装置の構成について詳細に説明する。本ロボット装置は、外部の刺激や内部状態に応じて自律的に動作が可能なロボット装置である。
【０１６８】
（３−１）ロボット装置の構成
図３３に示すように、本実施の形態によるロボット装置１は、４足歩行の脚式移動ロボットとされ、胴体部ユニット２の前後左右にそれぞれ脚部ユニット３Ａ，３Ｂ，３Ｃ，３Ｄが連結されると共に、胴体部ユニット２の前端部に頭部ユニット４が連結されて構成されている。
【０１６９】
胴体部ユニット２には、図３４に示すように、ＣＰＵ（Central Processing Unit）１０、ＤＲＡＭ（Dynamic Random Access Memory）１１、フラッシュＲＯＭ（Read Only Memory）１２、ＰＣ（Personal Computer）カードインターフェース回路１３及び信号処理回路１４が内部バス１５を介して相互に接続されることにより形成されたコントロール部１６と、このロボット装置１の動力源としてのバッテリ１７とが収納されている。また、胴体部ユニット２には、ロボット装置１の向きや動きの加速度を検出するための角速度センサ１８及び加速度センサ１９なども収納されている。
【０１７０】
また、頭部ユニット４には、外部の状況を撮像するとともに、周囲の明るさを検出するためのＣＣＤ（Charge Coupled Device）カメラ２０と、前後に倒すといった使用者からの物理的な働きかけを検出するためのタッチセンサ２１と、前方に位置する物体までの距離を測定するための距離センサ２２と、外部音を集音するためのマイクロホン２３と、各種音声を出力するためのスピーカ２４と、頭部ユニット４内に格納可能とされたヘッドライト２５と、ロボット装置１の「目」に相当するＬＥＤ（Light Emitting Diode）（図示せず）などがそれぞれ所定位置に配置されている。なお、ロボット装置１においては、タッチセンサ２１以外にも、胴体部ユニット２及び頭部ユニット４の所定位置に複数のタッチセンサが配置されている。
【０１７１】
さらに、各脚部ユニット３Ａ〜３Ｄの関節部分や各脚部ユニット３Ａ〜３Ｄ及び胴体部ユニット２の各連結部分、並びに頭部ユニット４及び胴体部ユニット２の連結部分などにはそれぞれ自由度数分のアクチュエータ２６１〜２６ｎ及びポテンショメータ２７１〜２７ｎが配設されている。例えば、アクチュエータ２６１〜２６ｎはサーボモータを構成として有している。サーボモータの駆動により、脚部ユニット３Ａ〜３Ｄが制御されて、目標の姿勢或いは動作に遷移する。
【０１７２】
そして、これら角速度センサ１８、加速度センサ１９、タッチセンサ２１、距離センサ２２、マイクロホン２３、スピーカ２４、及び各ポテンショメータ２７１〜２７ｎなどの各種センサ並びにヘッドライト２５、ＬＥＤ及び各アクチュエータ２６１ 〜２６ｎは、それぞれ対応するハブ２８１〜２８ｎを介してコントロール部１６の信号処理回路１４と接続され、ＣＣＤカメラ２０及びバッテリ１７は、それぞれ信号処理回路１４と直接接続されている。
【０１７３】
信号処理回路ｌ４は、上述の各センサから供給されるセンサデータや画像データ及び音声データを順次取り込み、これらをそれぞれ内部バス１５を介してＤＲＡＭ１１内の所定位置に順次格納する。また信号処理回路１４は、これと共にバッテリ１７から供給されるバッテリ残量を表すバッテリ残量データを順次取り込み、これをＤＲＡＭ１１内の所定位置に格納する。
【０１７４】
このようにしてＤＲＡＭ１１に格納された各センサデータ、画像データ、音声データ及びバッテリ残量データは、この後ＣＰＵ１０がこのロボット装置１の動作制御を行う際に利用される。
【０１７５】
実際上ＣＰＵ１０は、ロボット装置１の電源が投入された初期時、胴体部ユニット２の図示しないＰＣカードスロットに装填されたメモリカード２９又はフラッシュＲＯＭ１２に格納された制御プログラムをＰＣカードインターフェース回路１３を介して又は直接読み出し、これをＤＲＡＭ１１に格納する。
【０１７６】
また、ＣＰＵ１０は、この後上述のように信号処理回路１４よりＤＲＡＭ１１に順次格納される各センサデータ、画像データ、音声データ及びバッテリ残量データに基づいて自己及び周囲の状況や、使用者からの指示及び働きかけの有無などを判断する。
【０１７７】
さらに、ＣＰＵ１０は、この判断結果及びＤＲＡＭ１１に格納した制御プログラムに基づいて続く行動を決定すると共に、当該決定結果に基づいて必要なアクチュエータ２６１〜２６ｎを駆動させることにより、頭部ユニット４を上下左右に振らせたり、各脚部ユニット３Ａ〜３Ｄを駆動させて歩行させるなどの行動を行わせる。
【０１７８】
また、この際ＣＰＵ１０は、必要に応じて音声データを生成し、これを信号処理回路１４を介して音声信号としてスピーカ２４に与えることにより当該音声信号に基づく音声を外部に出力させたり、上述のＬＥＤを点灯、消灯又は点滅させる。また、ＣＰＵ１０は、後述するように、ＣＣＤカメラ２０を用いて周囲の明るさを検出させ、その検出結果に応じてヘッドライト２５を点灯させる。
【０１７９】
このようにしてこのロボット装置１においては、自己及び周囲の状況や、使用者からの指示及び働きかけに応じて自律的に行動し得るようになされている。
【０１８０】
（３−２）制御プログラムのソフトウェア構成
ここで、ロボット装置１における上述の制御プログラムのソフトウェア構成は、図３５に示すようになる。この図３５において、デバイス・ドライバ・レイヤ３０は、この制御プログラムの最下位層に位置し、複数のデバイス・ドライバからなるデバイス・ドライバ・セット３１から構成されている。この場合、各デバイス・ドライバは、ＣＣＤカメラ２０（図１９）やタイマ等の通常のコンピュータで用いられるハードウェアに直接アクセスすることを許されたオブジェクトであり、対応するハードウェアからの割り込みを受けて処理を行う。
【０１８１】
また、ロボティック・サーバ・オブジェクト３２は、デバイス・ドライバ・レイヤ３０の最下位層に位置し、例えば上述の各種センサやアクチュエータ２６１〜２６ｎ等のハードウェアにアクセスするためのインターフェースを提供するソフトウェア群でなるバーチャル・ロボット３３と、電源の切換えなどを管理するソフトウェア群でなるバワーマネージャ３４と、他の種々のデバイス・ドライバを管理するソフトウェア群でなるデバイス・ドライバ・マネージャ３５と、ロボット装置１の機構を管理するソフトウェア群でなるデザインド・ロボット３６とから構成されている。
【０１８２】
マネージャ・オブジェクト３７は、オブジェクト・マネージャ３８及びサービス・マネージャ３９から構成されている。オブジェクト・マネージャ３８は、ロボティック・サーバ・オブジェクト３２、ミドル・ウェア・レイヤ４０、及びアプリケーション・レイヤ４１に含まれる各ソフトウェア群の起動や終了を管理するソフトウェア群であり、サービス・マネージャ３９は、メモリカード２９（図３４）に格納されたコネクションファイルに記述されている各オブジェクト間の接続情報に基づいて各オブジェクトの接続を管理するソフトウェア群である。
【０１８３】
ミドル・ウェア・レイヤ４０は、ロボティック・サーバ・オブジェクト３２の上位層に位置し、画像処理や音声処理などのこのロボット装置１の基本的な機能を提供するソフトウェア群から構成されている。また、アプリケーション・レイヤ４１は、ミドル・ウェア・レイヤ４０の上位層に位置し、当該ミドル・ウェア・レイヤ４０を構成する各ソフトウェア群によって処理された処理結果に基づいてロボット装置１の行動を決定するためのソフトウェア群から構成されている。
【０１８４】
なお、ミドル・ウェア・レイヤ４０及びアプリケーション・レイヤ４１の具体なソフトウェア構成をそれぞれ図３６に示す。
【０１８５】
ミドル・ウェア・レイヤ４０は、図３６に示すように、騒音検出用、温度検出用、明るさ検出用、音階認識用、距離検出用、姿勢検出用、タッチセンサ用、動き検出用及び色認識用の各信号処理モジュール５０〜５８並びに入力セマンティクスコンバータモジュール５９などを有する認識系６０と、出力セマンティクスコンバータモジュール６８並びに姿勢管理用、トラッキング用、モーション再生用、歩行用、転倒復帰用、ライト点灯用及び音再生用の各信号処理モジュール６１〜６７などを有する出力系６９とから構成されている。
【０１８６】
認識系６０の各信号処理モジュール５０〜５８は、ロボティック・サーバ・オブジェクト３２のバーチャル・ロボット３３によりＤＲＡＭ１１（図３４）から読み出される各センサデータや画像データ及び音声データのうちの対応するデータを取り込み、当該データに基づいて所定の処理を施して、処理結果を入力セマンティクスコンバータモジュール５９に与える。ここで、例えば、バーチャル・ロボット３３は、所定の通信規約によって、信号の授受或いは変換をする部分として構成されている。
【０１８７】
入力セマンティクスコンバータモジュール５９は、これら各信号処理モジュール５０〜５８から与えられる処理結果に基づいて、「うるさい」、「暑い」、「明るい」、「ボールを検出した」、「転倒を検出した」、「撫でられた」、「叩かれた」、「ドミソの音階が聞こえた」、「動く物体を検出した」又は「障害物を検出した」などの自己及び周囲の状況や、使用者からの指令及び働きかけを認識し、認識結果をアプリケーション・レイヤ４１（図３４）に出力する。
【０１８８】
アプリケーション・レイヤ４ｌは、図３７に示すように、行動モデルライブラリ７０、行動切換モジュール７１、学習モジュール７２、感情モデル７３及び本能モデル７４の５つのモジュールから構成されている。
【０１８９】
行動モデルライブラリ７０には、図３８に示すように、「バッテリ残量が少なくなった場合」、「転倒復帰する」、「障害物を回避する場合」、「感情を表現する場合」、「ボールを検出した場合」などの予め選択された複数の条件項目にそれぞれ対応させて、それぞれ独立した行動モデル７０１〜７０ｎが設けられている。
【０１９０】
そして、これら行動モデル７０１〜７０ｎは、それぞれ入力セマンティクスコンバータモジュール５９から認識結果が与えられたときや、最後の認識結果が与えられてから一定時間が経過したときなどに、必要に応じて後述のように感情モデル７３に保持されている対応する情動のパラメータ値や、本能モデル７４に保持されている対応する欲求のパラメータ値を参照しながら続く行動をそれぞれ決定し、決定結果を行動切換モジュール７１に出力する。
【０１９１】
なお、この実施の形態の場合、各行動モデル７０１〜７０ｎは、次の行動を決定する手法として、図３９に示すような１つのノード（状態）ＮＯＤＥ０〜ＮＯＤＥｎから他のどのノードＮＯＤＥ０〜ＮＯＤＥｎに遷移するかを各ノードＮＯＤＥ０〜ＮＯＤＥｎに間を接続するアークＡＲＣ１〜ＡＲＣｎに対してそれぞれ設定された遷移確率Ｐ１〜Ｐｎに基づいて確率的に決定する有限確率オートマトンと呼ばれるアルゴリズムを用いる。
【０１９２】
具体的に、各行動モデル７０１〜７０ｎは、それぞれ自己の行動モデル７０１〜７０ｎを形成するノードＮＯＤＥ０〜ＮＯＤＥｎにそれぞれ対応させて、これらノードＮＯＤＥ０〜ＮＯＤＥｎごとに図４０に示すような状態遷移表８０を有している。
【０１９３】
この状態遷移表８０では、そのノードＮＯＤＥ０〜ＮＯＤＥｎにおいて遷移条件とする入力イベント（認識結果）が「入力イベント名」の列に優先順に列記され、その遷移条件についてのさらなる条件が「データ名」及び「データ範囲」の列における対応する行に記述されている。
【０１９４】
したがって、図４０の状態遷移表８０で表されるノードＮＯＤＥ１００では、「ボールを検出（ＢＡＬＬ）」という認識結果が与えられた場合に、当該認識結果と共に与えられるそのボールの「大きさ（ＳＩＺＥ）」が「0から1000」の範囲であることや、「障害物を検出（ＯＢＳＴＡＣＬＥ）」という認識結果が与えられた場合に、当該認識結果と共に与えられるその障害物までの「距離（ＤＩＳＴＡＮＣＥ）」が「0から100」の範囲であることが他のノードに遷移するための条件となっている。
【０１９５】
また、このノードＮＯＤＥ１００では、認識結果の入力がない場合においても、行動モデル７０１〜７０ｎが周期的に参照する感情モデル７３及び本能モデル７４にそれぞれ保持された各情動及び各欲求のパラメータ値のうち、感情モデル７３に保持された「喜び（ＪＯＹ）」、「驚き（ＳＵＲＰＲＩＳＥ）」若しくは「悲しみ（ＳＵＤＮＥＳＳ）」のいずれかのパラメータ値が「50から100」の範囲であるときには他のノードに遷移することができるようになっている。
【０１９６】
また、状態遷移表８０では、「他のノードヘの遷移確率」の欄における「遷移先ノード」の行にそのノードＮＯＤＥ０〜 ＮＯＤＥｎから遷移できるノード名が列記されていると共に、「入力イベント名」、「データ値」及び「データの範囲」の列に記述された全ての条件が揃ったときに遷移できる他の各ノードＮＯＤＥ０〜ＮＯＤＥｎへの遷移確率が「他のノードヘの遷移確率」の欄内の対応する箇所にそれぞれ記述され、そのノードＮＯＤＥ０〜ＮＯＤＥｎに遷移する際に出力すべき行動が「他のノードヘの遷移確率」の欄における「出力行動」の行に記述されている。なお、「他のノードヘの遷移確率」の欄における各行の確率の和は１００［％］となっている。
【０１９７】
したがって、図４０の状態遷移表８０で表されるノードＮＯＤＥ１００では、例えば「ボールを検出（ＢＡＬＬ）」し、そのボールの「ＳＩＺＥ（大きさ）」が「0から1000」の範囲であるという認識結果が与えられた場合には、「30［％］」の確率で「ノードＮＯＤＥ１２０（node 120）」に遷移でき、そのとき「ＡＣＴＩＯＮ１」の行動が出力されることとなる。
【０１９８】
各行動モデル７０１〜７０ｎは、それぞれこのような状態遷移表８０として記述されたノードＮＯＤＥ０〜 ＮＯＤＥｎがいくつも繋がるようにして構成されており、入力セマンティクスコンバータモジュール５９から認識結果が与えられたときなどに、対応するノードＮＯＤＥ０〜ＮＯＤＥｎの状態遷移表を利用して確率的に次の行動を決定し、決定結果を行動切換モジュール７１に出力するようになされている。
【０１９９】
図３７に示す行動切換モジュール７１は、行動モデルライブラリ７０の各行動モデル７０１〜７０ｎからそれぞれ出力される行動のうち、予め定められた優先順位の高い行動モデル７０１〜７０ｎから出力された行動を選択し、当該行動を実行すべき旨のコマンド（以下、これを行動コマンドという。）をミドル・ウェア・レイヤ４０の出力セマンティクスコンバータモジュール６８に送出する。なお、この実施の形態においては、図３８において下側に表記された行動モデル７０１〜７０ｎほど優先順位が高く設定されている。
【０２００】
また、行動切換モジュール７１は、行動完了後に出力セマンティクスコンバータモジュール６８から与えられる行動完了情報に基づいて、その行動が完了したことを学習モジュール７２、感情モデル７３及び本能モデル７４に通知する。
【０２０１】
一方、学習モジュール７２は、入力セマンティクスコンバータモジュール５９から与えられる認識結果のうち、「叩かれた」や「撫でられた」など、使用者からの働きかけとして受けた教示の認識結果を入力する。
【０２０２】
そして、学習モジュール７２は、この認識結果及び行動切換モジュール７１からの通知に基づいて、「叩かれた（叱られた）」ときにはその行動の発現確率を低下させ、「撫でられた（誉められた）」ときにはその行動の発現確率を上昇させるように、行動モデルライブラリ７０における対応する行動モデル７０１〜７０ｎの対応する遷移確率を変更する。
【０２０３】
他方、感情モデル７３は、「喜び（joy）」、「悲しみ（sadness）」、「怒り（anger）」、「驚き（surprise）」、「嫌悪（disgust）」及び「恐れ（fear）」の合計６つの情動について、各情動ごとにその情動の強さを表すパラメータを保持している。そして、感情モデル７３は、これら各情動のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール５９から与えられる「叩かれた」及び「撫でられた」などの特定の認識結果と、経過時間及び行動切換モジュール７１からの通知などに基づいて周期的に更新する。
【０２０４】
具体的には、感情モデル７３は、入力セマンティクスコンバータモジュール５９から与えられる認識結果と、そのときのロボット装置１の行動と、前回更新してからの経過時間などに基づいて所定の演算式により算出されるそのときのその情動の変動量を△Ｅ［ｔ］、現在のその情動のパラメータ値をＥ［ｔ］、その情動の感度を表す係数をｋｅとして、下記式（１５）によって次の周期におけるその情動のパラメータ値Ｅ［ｔ＋１］を算出し、これを現在のその情動のパラメータ値Ｅ［ｔ］と置き換えるようにしてその情動のパラメータ値を更新する。また、感情モデル７３は、これと同様にして全ての情動のパラメータ値を更新する。
【０２０５】
【数１４】
2005074562.tif 000016
【０２０６】
なお、各認識結果や出力セマンティクスコンバータモジュール６８からの通知が各情動のパラメータ値の変動量△Ｅ［ｔ］にどの程度の影響を与えるかは予め決められており、例えば「叩かれた」といった認識結果は「怒り」の情動のパラメータ値の変動量△Ｅ［ｔ］に大きな影響を与え、「撫でられた」といった認識結果は「喜び」の情動のパラメータ値の変動量△Ｅ［ｔ］に大きな影響を与えるようになっている。
【０２０７】
ここで、出力セマンティクスコンバータモジュール６８からの通知とは、いわゆる行動のフィードバック情報（行動完了情報）であり、行動の出現結果の情報であり、感情モデル７３は、このような情報によっても感情を変化させる。これは、例えば、「吠える」といった行動により怒りの感情レベルが下がるといったようなことである。なお、出力セマンティクスコンバータモジュール６８からの通知は、上述した学習モジュール７２にも入力されており、学習モジュール７２は、その通知に基づいて行動モデル７０１〜７０ｎの対応する遷移確率を変更する。
【０２０８】
なお、行動結果のフィードバックは、行動切換モジュール７１の出力（感情が付加された行動）によりなされるものであってもよい。
【０２０９】
一方、本能モデル７４は、「運動欲（exercise）」、「愛情欲（affection）」、「食欲（appetite）」及び「好奇心（curiosity）」の互いに独立した４つの欲求について、これら欲求ごとにその欲求の強さを表すパラメータを保持している。そして、本能モデル７４は、これらの欲求のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール５９から与えられる認識結果や、経過時間及び行動切換モジュール７１からの通知などに基づいて周期的に更新する。
【０２１０】
具体的には、本能モデル７４は、「運動欲」、「愛情欲」及び「好奇心」については、認識結果、経過時間及び出力セマンティクスコンバータモジュール６８からの通知などに基づいて所定の演算式により算出されるそのときのその欲求の変動量をΔＩ［ｋ］、現在のその欲求のパラメータ値をＩ［ｋ］、その欲求の感度を表す係数ｋｉとして、所定周期で下記式（１６）用いて次の周期におけるその欲求のパラメータ値Ｉ［ｋ＋１］を算出し、この演算結果を現在のその欲求のパラメータ値Ｉ［ｋ］と置き換えるようにしてその欲求のパラメータ値を更新する。また、本能モデル７４は、これと同様にして「食欲」を除く各欲求のパラメータ値を更新する。
【０２１１】
【数１５】
2005074562.tif 000017
【０２１２】
なお、認識結果及び出力セマンティクスコンバータモジュール６８からの通知などが各欲求のパラメータ値の変動量△Ｉ［ｋ］にどの程度の影響を与えるかは予め決められており、例えば出力セマンティクスコンバータモジュール６８からの通知は、「疲れ」のパラメータ値の変動量△Ｉ［ｋ］に大きな影響を与えるようになっている。
【０２１３】
なお、本実施の形態においては、各情動及び各欲求（本能）のパラメータ値がそれぞれ0から100までの範囲で変動するように規制されており、また係数ｋｅ、ｋｉの値も各情動及び各欲求ごとに個別に設定されている。
【０２１４】
一方、ミドル・ウェア・レイヤ４０の出力セマンティクスコンバータモジュール６８は、図３６に示すように、上述のようにしてアプリケーション・レイヤ４１の行動切換モジュール７１から与えられる「前進」、「喜ぶ」、「鳴く」又は「トラッキング（ボールを追いかける）」といった抽象的な行動コマンドを出力系６９の対応する信号処理モジュール６１〜６７に与える。
【０２１５】
そしてこれら信号処理モジュール６１〜６７は、行動コマンドが与えられると当該行動コマンドに基づいて、その行動を行うために対応するアクチュエータ２６１〜２６ｎ（図３４）に与えるべきサーボ指令値や、スピーカ２４（図３４）から出力する音の音声データ及び又は「目」のＬＥＤに与える駆動データを生成し、これらのデータをロボティック・サーバ・オブジェクト３２のバーチャル・ロボット３３及び信号処理回路１４（図３４）を順次介して対応するアクチュエータ２６１〜２６ｎ又はスピーカ２４又はＬＥＤに順次送出する。
【０２１６】
このようにしてロボット装置１においては、制御プログラムに基づいて、自己（内部）及び周囲（外部）の状況や、使用者からの指示及び働きかけに応じた自律的な行動を行うことができるようになされている。この際、ユーザからの指示として音声指示は勿論のこと、上述したように、カードによる動作状態の制御を行うことができる。
【図面の簡単な説明】
【０２１７】
【図１】本発明の実施の形態におけるロボット装置において、カードによる指示により動作制御を行うための主要部分のみを示すブロック図である。
【図２】本発明の実施の形態におけるカードの分類と、そのカードに対応付けられた付加情報を説明する図である。
【図３】同じく、本発明の実施の形態におけるカードの分類と、そのカードに対応付けられた付加情報を説明する図である。
【図４】（ａ）〜（ｃ）は、それぞれカードＡ〜Ｃの表面に記載されるパターンを具体的に示す図である。
【図５】（ａ）〜（ｃ）は、それぞれカードＤ〜Ｆの表面に記載されるパターンを具体的に示す図である。
【図６】（ａ）〜（ｃ）は、それぞれカードＧ〜Ｉの表面に記載されるパターンを具体的に示す図である。
【図７】（ａ）〜（ｃ）は、それぞれカードＪ〜Ｌの表面に記載されるパターンを具体的に示す図である。
【図８】（ａ）〜（ｃ）は、それぞれカードＭ〜Ｏの表面に記載されるパターンを具体的に示す図である。
【図９】（ａ）〜（ｃ）は、それぞれカードＡ〜Ｃの裏面に記載されるカードの指示内容の説明例を示す図である。
【図１０】（ａ）〜（ｃ）は、それぞれカードＤ〜Ｆの裏面に記載されるカードの指示内容の説明例を示す図である。
【図１１】（ａ）〜（ｃ）は、それぞれカードＧ〜Ｉの裏面に記載されるカードの指示内容の説明例を示す図である。
【図１２】（ａ）〜（ｃ）は、それぞれカードＪ〜Ｌの裏面に記載されるカードの指示内容の説明例を示す図である。
【図１３】（ａ）〜（ｃ）は、それぞれカードＭ〜Ｏの裏面に記載されるカードの指示内容の説明例を示す図である。
【図１４】ＵターンカードＣを認識してから行動を発現し終了するまでの工程を示すフローチャートである。
【図１５】方向カードＦを認識してから行動を発現し終了するまでの工程を示すフローチャートである。
【図１６】目覚まし時刻設定カードＩを認識してから時刻設定を終了するまでを説明するフローチャートである。
【図１７】同じく、目覚まし時刻設定カードＩを認識してから時刻設定を終了するまでを説明するフローチャートであって、図１６に示す手順の後手順を説明する図である。
【図１８】同じく、目覚まし時刻設定カードＩを認識してから時刻設定を終了するまでを説明するフローチャートであって、図１７に示す手順の後手順を説明する図である。
【図１９】同じく、目覚まし時刻設定カードＩを認識してから時刻設定を終了するまでを説明するフローチャートであって、図１８に示す手順の後手順を説明する図である。
【図２０】（ａ）は、台詞１〜７の一例を示す図、（ｂ）は、カードＸ１〜カードＸ４として使用可能な時刻設定用情報を示す図である。
【図２１】目覚まし機能ＯＮ／ＯＦＦを設定する目覚ましＯＮ／ＯＦＦカードＪの動作状態制御方法を示すフローチャートである。
【図２２】音量カードＫの動作状態制御方法を示すフローチャートである。
【図２３】カードを認識した際の基本遷移動作について説明するフローチャートである。
【図２４】複数枚のカードを同時に提示して動作制御する場合の動作遷移を示すフローチャートである。
【図２５】上記方向認識装置に好適に使用される画像認識装置であって、特願２００３−１２４５２５号に記載の画像認識装置の概略構成を示す図である。
【図２６】上記画像認識装置の特徴点抽出部における画像の多重解像度ピラミッド構造の構築方法を説明する図である。
【図２７】第Ｌレベルまでの解像度変化によって位置の変化がないような特徴点の検出処理を説明するフローチャートである。
【図２８】第３レベルまでの解像度変化によって位置の変化がないような特徴点を検出する場合の例を示す図である。
【図２９】上記画像認識装置の特徴量保持部における処理を説明する図であり、（ａ）は、特徴点から半径３．５ピクセルの範囲内を近傍構造とした場合における特徴点近傍の濃度勾配情報の例を示し、（ｂ）は、（ａ）の濃度勾配情報から得られる勾配方向ヒストグラムの例を示す。
【図３０】上記画像認識装置の特徴量比較部における処理の詳細を説明するフローチャートである。
【図３１】濃度勾配ベクトルＵｍ，Ｕｏ間の類似度の計算手法を説明する図である。
【図３２】同画像認識装置のモデル姿勢推定部における処理の詳細を説明するフローチャートである。
【図３３】本発明の実施の形態におけるロボット装置の外観構成を示す斜視図である。
【図３４】同ロボット装置の回路構成を示すブロック図である。
【図３５】同ロボット装置のソフトウェア構成を示すブロック図である。
【図３６】同ロボット装置のソフトウェア構成におけるミドル・ウェア・レイヤの構成を示すブロック図である。
【図３７】同ロボット装置のソフトウェア構成におけるアプリケーション・レイヤの構成を示すブロック図である。
【図３８】同アプリケーション・レイヤの行動モデルライブラリの構成を示すブロック図である。
【図３９】同ロボット装置の行動決定のための情報となる有限確率オートマトンを説明するために使用した図である。
【図４０】有限確率オートマトンの各ノードに用意された状態遷移表を示す図である。
【符号の説明】
【０２１８】
１  ロボット装置、１０１  動作状態制御部、１０２  撮像部、１０３  データベース、１０４  画像認識部、１０５  制御部、２０１  画像認識装置、２１０ａ，２１０ｂ  特徴点抽出部、２１１ａ，２１１ｂ  特徴量保持部、２１２  特徴量比較部、２１３  モデル姿勢推定部、２１４  候補対応特徴点ペア選択部
【図１】
2005074562.tif 000018
【図２】
2005074562.tif 000019
【図３】
2005074562.tif 000020
【図４】
2005074562.tif 000021
【図５】
2005074562.tif 000022
【図６】
2005074562.tif 000023
【図７】
2005074562.tif 000024
【図８】
2005074562.tif 000025
【図９】
2005074562.tif 000026
【図１０】
2005074562.tif 000027
【図１１】
2005074562.tif 000028
【図１２】
2005074562.tif 000029
【図１３】
2005074562.tif 000030
【図１４】
2005074562.tif 000031
【図１５】
2005074562.tif 000032
【図１６】
2005074562.tif 000033
【図１７】
2005074562.tif 000034
【図１８】
2005074562.tif 000035
【図１９】
2005074562.tif 000036
【図２０】
2005074562.tif 000037
【図２１】
2005074562.tif 000038
【図２２】
2005074562.tif 000039
【図２３】
2005074562.tif 000040
【図２４】
2005074562.tif 000041
【図２５】
2005074562.tif 000042
【図２６】
2005074562.tif 000043
【図２７】
2005074562.tif 000044
【図２８】
2005074562.tif 000045
【図２９】
2005074562.tif 000046
【図３０】
2005074562.tif 000047
【図３１】
2005074562.tif 000048
【図３２】
2005074562.tif 000049
【図３３】
2005074562.tif 000050
【図３４】
2005074562.tif 000051
【図３５】
2005074562.tif 000052
【図３６】
2005074562.tif 000053
【図３７】
2005074562.tif 000054
【図３８】
2005074562.tif 000055
【図３９】
2005074562.tif 000056
【図４０】
2005074562.tif 000057