(57)【特許請求の範囲】
【請求項１】
移動手段を備え、内部状態に応じて自律動作するロボット装置において、
上記ロボット装置正面に対して独立した方向に可動とされ所定の画角で被写体を撮像する撮像手段と、
上記撮像手段によって能動的に取得された画像、又は上記撮像手段を介して受動的に取得された画像を逐次付加して上記撮像手段の画角よりも広い視野の広視野画像を生成する広視野画像生成手段と、
上記広視野画像を一時的に記憶する一時記憶手段と、
上記一時記憶手段に記憶された広視野画像を記憶手段に記憶制御する記憶制御手段とを備え、
上記記憶制御手段は、上記一時記憶手段に記憶された広視野画像と、上記記憶手段に記憶された最新の広視野画像である基準広視野画像とを比較して得られる変化量が予め決められた所定の閾値よりも大きくなったとき、上記一時記憶手段に記憶された広視野画像を上記記憶手段に記憶するとともに、上記記憶手段に記憶された広視野画像を記憶開始からの経過時間に相関した過去の広視野画像ほど少ない情報量の画像データに圧縮して書き換えるロボット装置。
【請求項２】
上記広視野画像生成手段は、上記撮像手段によって取得された画像を上記一時記憶手段に記憶された広視野画像と比較し、上記取得された画像に対応する領域が上記広視野画像に含まれない場合若しくは一部含まれる場合には、重複する領域を上書きし、未記憶領域を追加記憶することにより広視野画像を拡張し、上記取得された画像に対応する領域が上記広視野画像の範囲内の場合には、上記広視野画像の対応する領域の画像に対する上記取得された画像の変化量が予め決められた所定の閾値よりも大きいとき、上記取得された画像を上記広視野画像の対応する領域に上書きする請求項１記載のロボット装置。
【請求項３】
上記広視野画像生成手段は、前方への移動に対して、移動後に上記撮像手段によって取得された画像と上記一時記憶手段に記憶された広視野画像とを比較して拡大率を算出し、上記拡大率に基づいて上記広視野画像を拡大する請求項２記載のロボット装置。
【請求項４】
上記撮像手段の撮像方向を検出する検出手段を備え、
上記広視野画像生成手段は、上記検出手段によって検出された撮像方向情報に基づいて、上記撮像方向の変更方向とは反対方向に変更分に相当するだけ上記一時記憶手段に記憶された広視野画像を移動することによって、撮像方向と広視野画像の正面方向とを一致させる請求項２記載のロボット装置。
【請求項５】
上記記憶制御手段は、上記記憶手段に記憶され所定期間経過した広視野画像を消去する請求項１記載のロボット装置。
【請求項６】
上記広視野画像は、上記撮像手段を中心とする３次元空間の球面に投影した画像である請求項１記載のロボット装置。
【請求項７】
所定の画角で被写体を撮像する撮像手段と、
上記撮像手段によって随時取得された画像を逐次付加して上記撮像手段の画角よりも広い視野の広視野画像を生成する広視野画像生成手段と、
上記広視野画像を一時的に記憶する一時記憶手段と、
上記一時記憶手段に記憶された広視野画像を記憶手段に記憶制御する記憶制御手段とを備え、
上記記憶制御手段は、上記一時記憶手段に記憶された広視野画像と、上記記憶手段に記憶された最新の広視野画像である基準広視野画像とを比較して得られる変化量が予め決められた所定の閾値よりも大きくなったとき、上記一時記憶手段に記憶された広視野画像を上記記憶手段に記憶するとともに、上記記憶手段に記憶された広視野画像を記憶開始からの経過時間に相関した過去の広視野画像ほど少ない情報量の画像データに圧縮して書き換える画像記憶装置。
【請求項８】
所定の画角で被写体を撮像する撮像工程と、
上記撮像工程において随時取得された画像を逐次付加して上記撮像工程で撮像される画角よりも広い視野の広視野画像を生成する広視野画像生成工程と、
上記広視野画像を一時記憶手段に一時的に記憶する一時記憶工程と、
上記一時記憶工程で記憶された広視野画像を記憶手段に記憶制御する記憶制御工程とを備え、
上記記憶制御工程では、上記一時記憶手段に記憶された広視野画像と、上記記憶手段に記憶された最新の広視野画像である基準広視野画像とを比較して得られる変化量が予め決められた所定の閾値よりも大きくなったとき、上記一時記憶手段に記憶された広視野画像を上記記憶手段に記憶するとともに、上記記憶手段に記憶された広視野画像を記憶開始からの経過時間に相関した過去の広視野画像ほど少ない情報量の画像データに圧縮して書き換える画像記憶方法。
【請求項９】
コンピュータに、
撮像手段において所定の画角で被写体を撮像する撮像処理と、
上記撮像処理によって随時取得される画像を逐次付加して上記撮像手段で撮像される画角よりも広い視野の広視野画像を生成する広視野画像生成処理と、
上記広視野画像を一時記憶手段に一時的に記憶する一時記憶処理と、
上記一時記憶手段に記憶された広視野画像を記憶手段に記憶制御する際に、上記一時記憶手段に記憶された広視野画像と、上記記憶手段に記憶された最新の広視野画像である基準広視野画像とを比較して得られる変化量が予め決められた所定の閾値よりも大きくなったとき、上記一時記憶手段に記憶された広視野画像を上記記憶手段に記憶するとともに、上記記憶手段に記憶された広視野画像を記憶開始からの経過時間に相関した過去の広視野画像ほど少ない情報量の画像データに圧縮して書き換える記憶制御処理と
を実行させるための制御プログラム。
【請求項１０】
コンピュータに、
撮像手段において所定の画角で被写体を撮像する撮像処理と、
上記撮像処理によって随時取得された画像を逐次付加して上記撮像手段で撮像される画角よりも広い視野の広視野画像を生成する広視野画像生成処理と、
上記広視野画像を一時記憶手段に一時的に記憶する記憶処理と、
上記一時記憶手段に記憶された広視野画像を記憶手段に記憶制御する際に、上記一時記憶手段に記憶された広視野画像と、上記記憶手段に記憶された最新の広視野画像である基準広視野画像とを比較して得られる変化量が予め決められた所定の閾値よりも大きくなったとき、上記一時記憶手段に記憶された広視野画像を上記記憶手段に記憶するとともに、上記記憶手段に記憶された広視野画像を記憶開始からの経過時間に相関した過去の広視野画像ほど少ない情報量の画像データに圧縮して書き換える記憶制御処理と
を実行させるための制御プログラムが記録された記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内部状態に基づいて行動するロボット装置、並びに、画像記憶装置及び画像記憶方法に関し、特に、撮像手段において受動的又は能動的に取得された狭視野画像から広視野画像を合成し周囲の環境を空間的に認識して記憶するとともに、所定期間前までの周囲の環境を時系列に沿って記憶するロボット装置、並びに、所定の視野の画像データから広視野画像データを合成し空間的に認識して記憶するとともに、所定期間前までの画像データを時系列に沿って記憶する画像記憶装置及び画像記憶方法に関する。
【０００２】
【従来の技術】
電気的又は磁気的な作用を用いて人間（生物）の動作に似た運動を行う機械装置を「ロボット」という。我が国においてロボットが普及し始めたのは、１９６０年代末からであるが、その多くは、工場における生産作業の自動化・無人化等を目的としたマニピュレータや搬送ロボット等の産業用ロボット（Industrial Robot）であった。
【０００３】
最近では、人間のパートナーとして生活を支援する、すなわち住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットの開発が進められている。このような実用ロボットは、産業用ロボットとは異なり、人間の生活環境の様々な局面において、個々に個性の相違した人間、又は様々な環境への適応方法を自ら学習する能力を備えている。例えば、犬、猫のように４足歩行の動物の身体メカニズムやその動作を模した「ペット型」ロボット、或いは、２足直立歩行を行う動物の身体メカニズムや動作をモデルにしてデザインされた「人間型」又は「人間形」ロボット（Humanoid Robot）等の脚式移動ロボットは、既に実用化されつつある。
【０００４】
これらの脚式移動ロボットは、産業用ロボットと比較してエンターテインメント性を重視した様々な動作を行うことができるため、エンターテインメントロボットと呼称される場合もある。動物や人間の容姿にできるだけ近い外観形状や動作を行う脚式移動ロボットは、「目」に相当する小型カメラ等を備えているものもある。この場合、脚式移動ロボットは、取得した画像に対して画像処理を施すことによって、画像情報として入力した周囲の環境を認識することができる。
【０００５】
【発明が解決しようとする課題】
ところが、従来のロボット装置は、搭載されたカメラの視野が限られているため、画像認識に有効な視野範囲が限定されるという欠点がある。また、画像処理のために使用できるメモリ及びＣＰＵのリソースが限定されているため画像処理速度、画像容量等に限界があった。
【０００６】
搭載されたカメラの視野を改善する方法としては、魚眼レンズを用いて広視野画像を得る方法、全方位カメラを用いて全方位の画像を取得する方法、カメラを水平方向に回転させてパノラマ画像を平面画像として得る方法、高解像度カメラとともに広角カメラを併用する方法等が考案されている。
【０００７】
しかし、魚眼レンズや全方位カメラを用いる場合、認識のための画像解析の前処理として、画像の歪みを補正する処理を施す必要があり、この補正処理と画像解析処理には時間がかかる。これらのロボット装置には、リアルタイム性が要求されるため、この方法は、ロボット装置に所定の動作を行わせるには、不適合である。また、これらの処理の結果として得られる画像の解像度は、相対的に低くなるため認証の程度が低下する。
【０００８】
また、パノラマ画像を生成する方法は、カメラを回転させて画像を取得する動作に時間がかかるため、画像を認識するまでに要する時間も増大してしまう。また、高解像度カメラと広角カメラとを併用する方法は、ロボット装置のようにカメラを搭載するスペースが非常に限られている場合、両カメラを搭載するスペースが確保できないという問題点がある。
【０００９】
取得した画像を全て記憶しておき、全ての画像に対して認識処理を施す方法も考えられる。この方法によれば全画像データの内容を検索することができるが、膨大な画像データの中から情報を抽出することは、リソースの限られたロボット装置には不適合である。
【００１０】
さらに、脚式移動ロボットは、周囲の画像データが収集できたとしても、歩行時に取得される画像が上下左右にぶれるため自らが移動している際は、移動する対象物の認識が困難である。つまり、自身の動きによる画像のぶれか、対象物の移動によるぶれかを検出できないという問題点があった。
【００１１】
そこで本発明は、このような従来の実情に鑑みて提案されたものであり、カメラの視野角に制限されない広範囲の画像を合成し周囲の環境を空間的に認識して記憶するとともに、周囲の環境を時系列に沿って記憶するロボット装置、並びに、カメラの視野角に制限されない広範囲の画像を合成し、合成した画像データを時系列に沿って記憶する画像記憶装置及び画像記憶方法を提供することを目的とする。
【００１２】
【課題を解決するための手段】
上述した目的を達成するために、本発明にかかるロボット装置は、移動手段を備え、内部状態に応じて自律動作するロボット装置において、上記ロボット装置正面に対して独立した方向に可動とされ所定の画角で被写体を撮像する撮像手段と、上記撮像手段によって能動的に取得された画像、又は上記撮像手段を介して受動的に取得された画像を逐次付加して上記撮像手段の画角よりも広い視野の広視野画像を生成する広視野画像生成手段と、上記広視野画像を一時的に記憶する一時記憶手段と、上記一時記憶手段に記憶された広視野画像を記憶手段に記憶制御する記憶制御手段とを備え、上記記憶制御手段は、上記一時記憶手段に記憶された広視野画像と、上記記憶手段に記憶された最新の広視野画像である基準広視野画像とを比較して得られる変化量が予め決められた所定の閾値よりも大きくなったとき、上記一時記憶手段に記憶された広視野画像を上記記憶手段に記憶するとともに、上記記憶手段に記憶された広視野画像を記憶開始からの経過時間に相関した過去の広視野画像ほど少ない情報量の画像データに圧縮して書き換える。
【００１３】
このようなロボット装置は、撮像手段を介して能動的又は受動的に取得された画像を逐次付加して撮像手段の画角よりも広い視野の広視野画像を生成し、取得された画像の変化量に応じて該広視野画像に関する付加情報とともに広視野画像を記憶手段に時系列で記憶し、記憶手段に記憶された広視野画像を記憶開始からの経過時間に相関した情報量の画像データに圧縮して書き換える。
【００１４】
また、本発明にかかる画像記憶装置は、所定の画角で被写体を撮像する撮像手段と、上記撮像手段によって随時取得された画像を逐次付加して上記撮像手段の画角よりも広い視野の広視野画像を生成する広視野画像生成手段と、上記広視野画像を一時的に記憶する一時記憶手段と、上記一時記憶手段に記憶された広視野画像を記憶手段に記憶制御する記憶制御手段とを備え、上記記憶制御手段は、上記一時記憶手段に記憶された広視野画像と、上記記憶手段に記憶された最新の広視野画像である基準広視野画像とを比較して得られる変化量が予め決められた所定の閾値よりも大きくなったとき、上記一時記憶手段に記憶された広視野画像を上記記憶手段に記憶するとともに、上記記憶手段に記憶された広視野画像を記憶開始からの経過時間に相関した過去の広視野画像ほど少ない情報量の画像データに圧縮して書き換える。
【００１５】
このような画像記憶装置は、撮像手段を介して取得された画像を逐次付加して撮像手段の画角よりも広い視野の広視野画像を生成し、取得された画像の変化量に応じて該広視野画像に関する付加情報とともに広視野画像を記憶手段に時系列で記憶し、記憶手段に記憶された広視野画像を記憶開始からの経過時間に相関した情報量の画像データに圧縮して書き換える。
【００１６】
また、本発明にかかる画像記憶方法は、所定の画角で被写体を撮像する撮像工程と、上記撮像工程において随時取得された画像を逐次付加して上記撮像工程で撮像される画角よりも広い視野の広視野画像を生成する広視野画像生成工程と、上記広視野画像を一時記憶手段に一時的に記憶する一時記憶工程と、上記一時記憶工程で記憶された広視野画像を記憶手段に記憶制御する記憶制御工程とを備え、上記記憶制御工程では、上記一時記憶手段に記憶された広視野画像と、上記記憶手段に記憶された最新の広視野画像である基準広視野画像とを比較して得られる変化量が予め決められた所定の閾値よりも大きくなったとき、上記一時記憶手段に記憶された広視野画像を上記記憶手段に記憶するとともに、上記記憶手段に記憶された広視野画像を記憶開始からの経過時間に相関した過去の広視野画像ほど少ない情報量の画像データに圧縮して書き換える。
【００１７】
このような画像記憶方法では、撮像工程において取得された画像を逐次付加して撮像手段の画角よりも広い視野の広視野画像を生成し、取得された画像の変化量に応じて該広視野画像に関する付加情報とともに広視野画像を時系列で記憶手段に記憶し、記憶された広視野画像を記憶開始からの経過時間に相関した情報量の画像データに圧縮して書き換える。
【００１８】
本発明にかかる制御プログラムは、コンピュータに、撮像手段において所定の画角で被写体を撮像する撮像処理と、上記撮像処理によって随時取得される画像を逐次付加して上記撮像手段で撮像される画角よりも広い視野の広視野画像を生成する広視野画像生成処理と、上記広視野画像を一時記憶手段に一時的に記憶する一時記憶処理と、上記一時記憶手段に記憶された広視野画像を記憶手段に記憶制御する際に、上記一時記憶手段に記憶された広視野画像と、上記記憶手段に記憶された最新の広視野画像である基準広視野画像とを比較して得られる変化量が予め決められた所定の閾値よりも大きくなったとき、上記一時記憶手段に記憶された広視野画像を上記記憶手段に記憶するとともに、上記記憶手段に記憶された広視野画像を記憶開始からの経過時間に相関した過去の広視野画像ほど少ない情報量の画像データに圧縮して書き換える記憶制御処理とを実行させるためのプログラムである。
【００１９】
このような制御プログラムは、撮像処理によって随時取得される画像を逐次付加して撮像手段で撮像される画角よりも広い視野の広視野画像を生成し、取得された画像の変化量に応じて、記憶処理で記憶した広視野画像を該広視野画像に関する付加情報とともに基準広視野画像として時系列で記憶手段に記憶し、記憶手段に記憶された広視野画像を記憶開始からの経過時間に相関した情報量の画像データに圧縮して書き換える処理を備えていない電子機器に、この一連の画像記憶処理を実行させる。また、上述の制御プログラムを記録媒体に記録して提供する。
【００２０】
【発明の実施の形態】
本発明の一構成例として示すロボット装置は、内部状態に応じて自律動作するロボット装置である。このロボット装置は、少なくとも上肢と体幹部と下肢とを備え、上肢及び下肢、又は下肢のみを移動手段とする脚式移動ロボットである。脚式移動ロボットには、４足歩行の動物の身体メカニズムやその動きを模倣したペット型ロボットや、下肢のみを移動手段として使用する２足歩行の動物の身体メカニズムやその動きを模倣したロボット装置があるが、本実施の形態として示すロボット装置は、４足歩行タイプの脚式移動ロボットである。
【００２１】
このロボット装置は、住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットであり、内部状態（怒り、悲しみ、喜び、楽しみ等）に応じて行動できるほか、４足歩行の動物が行う基本的な動作を表出できるエンターテインメントロボットである。
【００２２】
このロボット装置は、特に、「犬」を模した形体であり、頭部、胴体部、上肢部、下肢部、尻尾部等を有している。各部の連結部分及び関節に相当する部位には、運動の自由度に応じた数のアクチュエータ及びポテンショメータが備えられており、制御部の制御によって目標とする動作を表出できる。
【００２３】
さらに、ロボット装置は、周囲の状況を画像データとして取得するための撮像部や、外部から受ける作用を検出するための各種センサ等を備えている。撮像部としては、小型のＣＣＤ（Charge-Coupled Device）カメラを使用する。また、センサには、角速度を検出する角速度センサ、ＣＣＤカメラによって撮像した被写体までの距離を計測する距離センサ、外部からの接触を検出するタッチセンサ等があり、これらは、ロボット装置外部又は内部の適切な箇所に設置されている。
【００２４】
本発明の一構成例として示すロボット装置は、ＣＣＤカメラによって取得された限られた視野角の画像から、ＣＣＤカメラの画角よりも広い視野の画像を生成し、この広い視野の画像を使用することによって、周囲の状況を、限られた領域としてではなく、広い空間として認識できる。また、この広い視野の画像に時刻情報、位置情報、姿勢情報等の付加情報を付加して順次記憶することによって、空間の情報に時間情報を加味して認識することができる。ここで、時刻情報とは、例えば、広い視野の画像を生成したときの時刻であり、位置情報とは、画像を取得した位置を絶対位置、又は、ある基準地点からの相対位置で表した情報であり、姿勢情報とは、画像を取得したときのロボット装置の姿勢を示す情報である。
【００２５】
このロボット装置が周囲の状況を画像として取得し、限られた視野の画像から広い視野の画像（以下、広視野画像と記す。）を生成し、さらに、生成した広視野画像とこの広視野画像に関する付加情報とを時間経過とともに記憶する処理について、図１を用いて説明する。
【００２６】
ステップＳ１において、ＣＣＤカメラから画像を取得する。このとき、画像の取得には、画像認識を目的として撮影する能動的撮影と、画像認識を目的とする撮影ではないとき、すなわち、待機中或いは他の動作中にＣＣＤカメラから常に「流れ込む」画像を取得する受動的撮影とがある。
【００２７】
続いてステップＳ２では、ロボット装置が移動しているか否か、動作しているか否かが検出される。ロボット装置の移動は、各アクチュエータの動作やポテンショメータから検出できる。
【００２８】
ロボット装置が移動している場合、ステップＳ３において、これまでに生成された広視野画像を変更する。すなわち、ＣＣＤカメラの角度情報等の方向データに基づいて、変更された方向とは反対の方向に変更分に相当するだけ広視野画像を移動することによって、撮像方向と広視野画像の正面方向とを一致させる。ステップＳ２において、ロボット装置が移動していない場合は、ステップＳ４へと移る。
【００２９】
ステップＳ４において、ＣＣＤカメラの方向データより、取得した画像と広視野画像との対応関係を算出する。つまり、取得した画像がこのときまでに生成された広視野画像のどの部分に対応するかを算出する。
【００３０】
続いて、ロボット装置は、ステップＳ５において、取得した画像が未記憶の視野領域を含むか否かを判別する。未記憶の視野領域を含む場合、ステップＳ７へ移る。未記憶の視野領域を含まない場合、ステップＳ６において、取得した画像の変化量が閾値より大きいか否かを判別する。ここで変化量とは、例えば、取得した画像の画素分布と、これまでに生成された広視野画像内における、この画像に対応する領域の画素分布との差異等から判別される変化量である。
【００３１】
変化量が閾値より小さい場合、ステップＳ１に戻って新たに取得した画像に対して同様の処理を繰り返す。また、変化量が閾値より大きい場合、ステップＳ７において、取得画像を広視野画像に合成する。このとき、これまでに生成された広視野画像と重複する領域は、上書きし、未記憶領域は、追加記憶することで広視野画像の領域を拡張する。
【００３２】
このように、取得画像の変化量と予め決定された所定の閾値とを比較することによって、変化量の少ない画像を重複して記憶することによる処理時間や記憶容量等の損失を防ぐことができる。
【００３３】
続いて、ステップＳ８において、拡張された後の広視野画像を基準広視野画像として記憶部に記憶されている画像と比較する。基準広視野画像とは、所定時間前の広視野画像を示している。記憶部には、生成された広視野画像が付加情報とともに時系列に沿って順番に記憶されている。
【００３４】
ロボット装置は、ステップＳ９において、拡張された広視野画像の変化量が閾値以上であるか否か判別する。ステップＳ６で使用した閾値が取得した狭視野の画像における変化量の閾値であるのに対して、ここでの閾値は、例えば、生成された広視野画像全体に亘る変化量の閾値を示している。
【００３５】
拡張された広視野画像の変化量が閾値より小さい場合、ステップＳ１に戻って、新たに取得された画像に対して同様の処理を繰り返す。すなわち、広視野画像をさらに拡張するための画像処理を行う。一方、変化量が閾値より大きい場合、ステップＳ１０へ移って、拡張された広視野画像を新規の基準広視野画像として更新するとともに、これまで基準広視野画像として使用していた画像を含めた全ての広視野画像を記憶開始からの経過時間に応じて圧縮し記憶部に保存し直す。
【００３６】
上述の画像処理及び記憶処理によって、ロボット装置は、搭載されたＣＣＤカメラの視野角に制限されない広い範囲の画像を画像認識のための画像として利用できる。
【００３７】
また、従来のロボット装置では、認識させる物体に対するアテンション（捕捉指示）を予め与えて積極的に記憶させる必要があったが、本実施の形態として示すロボット装置は、能動的撮影又は受動的撮影によって取得した画像から広視野画像を生成し、生成した広視野画像にロボット装置の位置情報、姿勢情報、時間情報等の付加情報を添付して併せて記憶することによって、記憶内容を検索する際には、いつ、何処で、何を見たか等を、人間が記憶を「思い出す」かのように検索することができる。特に、過去に受動的に視野に入った物体やアテンション（捕捉指示）を与えていない物体も記憶していることになるため、予め指定された物体でなくとも検索できる。
【００３８】
以下、本発明の一構成例として示すロボット装置について、図面を参照して説明する。
【００３９】
本実施の形態では、ロボット装置１は、図２に示すように、「犬」を模した形状のいわゆるペット型ロボットである。ロボット装置１は、胴体部ユニット２の前後左右に脚部ユニット３Ａ、３Ｂ、３Ｃ、３Ｄが連結され、胴体部ユニット２の前端部に頭部ユニット４が連結され、後端部に尻尾部ユニット５が連結されて構成されている。
【００４０】
胴体部ユニット２には、図３に示すように、ＣＰＵ（Central Processing Unit）１０、ＤＲＡＭ（Dynamic Random Access Memory）１１、フラッシュＲＯＭ（Read Only Memory）１２、ＰＣ（Personal Computer）カードインターフェイス回路１３及び信号処理回路１４が内部バス１５を介して相互に接続されることにより形成されたコントロール部１６と、このロボット装置１の動力源としてのバッテリ１７とが収納されている。また、胴体部ユニット２には、ロボット装置１の向きや動きの加速度を検出するための角速度センサ１８及び加速度センサ１９が収納されている。
【００４１】
頭部ユニット４には、外部の状況を撮像するためのＣＣＤ（Charge Coupled Device）カメラ２０と、使用者からの「撫でる」や「叩く」といった物理的な働きかけにより受けた圧力を検出するためのタッチセンサ２１と、前方に位置する物体までの距離を測定するための距離センサ２２と、外部音を集音するためのマイク２３と、鳴き声等の音声を出力するためのスピーカ２４と、ロボット装置１の「目」に相当するＬＥＤ（Light Emitting Diode）（図示せず）等が所定位置にそれぞれ配置されている。ＣＣＤカメラ２０は、頭部ユニット４の向く方向にある被写体を所定の画角で撮像することができる。
【００４２】
さらに、胴体部ユニット２におけるコントロール部１６には、ＣＣＤカメラ２０によって取得された画像を逐次付加することによってＣＣＤカメラ２０の画角よりも広い視野の画像（以下、広視野画像と記す。）を生成する広視野画像生成部３０と、広視野画像とこの広視野画像に関する付加情報とを記憶開始からの経過時間に相関した情報量の画像データに圧縮して記憶し直す記憶制御部３１とを備えている。
【００４３】
広視野画像生成部３０は、例えば、周囲の画像情報を取得するために能動的に取得された画像、また、ＣＣＤカメラ２０から受動的に取得される画像を逐次付加してＣＣＤカメラの画角よりも広い視野の広視野画像を生成する。
【００４４】
また、記憶制御部３１は、ＣＣＤカメラ２０で取得された画像の画素値、特徴点等の変化量に応じて、広視野画像とこの広視野画像に関する付加情報とを新たな基準広視野画像としてメモリカード２８に記憶し、それまでメモリカード２８に記憶されてた基準広視野画像を記憶開始からの経過時間に相関した情報量の画像データに圧縮して記憶し直す。この記憶制御に関する詳細は、後述する。
【００４５】
各脚部ユニット３Ａ〜３Ｄの関節部分、各脚部ユニット３Ａ〜３Ｄと胴体部ユニット２との連結部分、頭部ユニット４と胴体部ユニット２との連結部分、尻尾部ユニット５と尻尾５Ａとの連結部分には、自由度数分のアクチュエータ２５１〜２５ｎ及びポテンショメータ２６１〜２６ｎがそれぞれ配設されている。アクチュエータ２５１〜２５ｎは、例えば、サーボモータを構成として有している。サーボモータの駆動により、脚部ユニット３Ａ〜３Ｄが制御されて目標の姿勢、或いは動作に遷移する。
【００４６】
これら角速度センサ１８、加速度センサ１９、タッチセンサ２１、距離センサ２２、マイク２３、スピーカ２４及び各ポテンショメータ２６１〜２６ｎなどの各種センサ並びにＬＥＤ及び各アクチュエータ２５１〜２５ｎは、それぞれ対応するハブ２７１〜２７ｎを介してコントロール部１６の信号処理回路１４と接続され、ＣＣＤカメラ２０及びバッテリ１７は、それぞれ信号処理回路１４と直接接続されている。
【００４７】
信号処理回路１４は、上述の各センサから供給されるセンサデータや画像データ及び音声データを順次取り込み、これらをそれぞれ内部バス１５を介してＤＲＡＭ１１内の所定位置に順次格納する。また信号処理回路１４は、これとともにバッテリ１７から供給されるバッテリ残量を表すバッテリ残量データを順次取り込み、これをＤＲＡＭ１１内の所定位置に格納する。
【００４８】
このようにしてＤＲＡＭ１１に格納された各センサデータ、画像データ、音声データ及びバッテリ残量データは、ＣＰＵ１０が当該ロボット装置１の動作制御を行う際に使用される。
【００４９】
ＣＰＵ１０は、ロボット装置１の電源が投入された初期時において、フラッシュＲＯＭ１２に格納された制御プログラムを読み出して、ＤＲＡＭ１１に格納する。又は、ＣＰＵ１０は、図２に図示しない胴体部ユニット２のＰＣカードスロットに装着された半導体メモリ装置、例えばいわゆるメモリカード２８に格納された制御プログラムをＰＣカードインターフェイス回路１３を介して読み出してＤＲＡＭ１１に格納する。
【００５０】
ＣＰＵ１０は、上述のように信号処理回路１４よりＤＲＡＭ１１に順次格納される各センサデータ、画像データ、音声データ、及びバッテリ残量データに基づいて自己及び周囲の状況や、使用者からの指示及び働きかけの有無を判断している。
【００５１】
さらに、ＣＰＵ１０は、この判断結果とＤＲＡＭ１１に格納した制御プログラムとに基づく行動を決定する。ＣＰＵ１０は、当該決定結果に基づいてアクチュエータ２５１〜２５ｎの中から必要とするアクチュエータを駆動することによって、例えば頭部ユニット４を上下左右に振らせたり、尻尾部ユニット５の尻尾を動かしたり、各脚部ユニット３Ａ乃至３Ｄを駆動して歩行させたりする。また、ＣＰＵ１０は、必要に応じて音声データを生成し、信号処理回路１４を介してスピーカ２４に供給する。また、ＣＰＵ１０は、上述のＬＥＤの点灯・消灯を指示する信号を生成し、ＬＥＤを点灯したり消灯したりする。
【００５２】
このように、ロボット装置１は、自己及び周囲の状況や、使用者からの指示及び働きかけに応じて自律的に行動する。
【００５３】
続いて、ロボット装置１が、ＣＣＤカメラから得られた画像からＣＣＤカメラの視野角よりも広い範囲の画像を生成する場合を、図４を用いて説明する。
【００５４】
図４（ａ）に、ＣＣＤカメラ２０の動きに合わせて限られた画角の画像が次々と取得される様子を示し、図４（ｂ）に合成された広視野画像を示す。図４（ａ）及び図４（ｂ）における画枠１００は、ロボット装置１において生成される広視野画像の限界画枠を示している。また、図４（ａ）に示す画像の１つ１つの画枠の大きさは、ＣＣＤカメラ２０の視野に相当する。例えば、ＣＣＤカメラ２０が図中矢印に沿って動くとき、ＣＣＤカメラ２０から画像１０１ａ、１０１ｂ、１０１ｃ、・・・、１０１ｆが撮像される。最新のロボット装置１の視野が画像１０１ｇである。
【００５５】
ＣＣＤカメラ２０によって撮影される各画像は、ビデオ等の撮像機器で得られる画像のように、例えば、３０分の１秒毎に撮影される各フレームを示すため、実際は、各画像の間隔は、狭く連続的である。ただし、各画像は、所定時間毎に撮影される静止画像であってもよい。
【００５６】
ロボット装置１における広視野画像生成部３０は、図１に示した処理に基づいて、ＣＣＤカメラ２０から取得した画像を画像間で適合処理（マッチング）し、マッチングした位置で画像を合成して繋ぎ合わせる。この処理を繰り返すことにより、ＣＣＤカメラ２０の撮像方向に追従して次々と画像が付加されて拡張されていく。マッチングの際には、ロボット装置のアクチュエータの角度情報を用いることによって、マッチングの範囲を限定することができる。このようにして広視野画像１０２が生成される。
【００５７】
広視野画像生成部３０が広視野画像を生成する際、平面画像を重ね合わせる手法では、ロボット装置１の正面の一点から離れるにしたがって画像の歪みが問題となる。そこで、広視野画像制止絵部３０は、球面上に投影した球面画像として広視野画像を生成する。図５に、ＣＣＤカメラ２０からの画像を球面投影して広視野画像を生成する様子を示す。ＣＣＤカメラ２０から得られた画像１０３の仮想球面１１０上への投影画像を画像１０３ａとし、画像１０４の球面１１０上への投影画像を画像１０４ａとする。仮想球面１１０は、ＣＣＤカメラ２０を中心Ｏとしている。これにより、歪みの影響のない広視野画像１０５が得られる。
【００５８】
続いて、ロボット装置１が移動せず、その場でＣＣＤカメラ２０の向きだけを変えたときの広視野画像の生成を図６及び図７に示す。図６における矢印は、ＣＣＤカメラ２０の撮像方向を示している。図７（ａ）には、カメラ方向が方向Ｄ１のときの取得画像及び広視野画像を示し、図７（ｂ）には、カメラ方向が方向Ｄ２のときの取得画像及び広視野画像を示す。
【００５９】
図６に示すように、ロボット装置１が方向Ｄ１から方向Ｄ２へと向きを変えた場合、ロボット装置１の正面方向が右方に変わる。方向の変更に伴って、ロボット装置１の正面の画像は、図７（ａ）に示すＣＣＤカメラ２０の撮像方向Ｄ１の画像１０６からＣＣＤカメラ２０の撮像方向Ｄ２の画像１０７へと変化する。このとき広視野画像生成部３０は、図７（ｂ）に示すように、ロボット装置１の動きから検出される移動方向と移動量に基づいて、生成された広視野画像１０８を左方に移動することによって、ロボット装置１の正面方向と広視野画像１０８の正面方向とを一致させる。この状態で、広視野画像生成部３０は、引き続き、図１に説明した処理に基づいて広視野画像を生成することによって、姿勢を変える前に得られていた画像情報を保持したまま、広視野画像の拡張処理を続けることができる。
【００６０】
続いて、ロボット装置１が移動した場合の広視野画像の生成を図８及び図９に示す。図８に示すように、ロボット装置１がポジションＰ１からポジションＰ２へと前進した場合を考える。図９（ａ）にポジションＰ１における取得画像及び広視野画像を示し、図９（ｂ）にポジションＰ２における取得画像及び広視野画像を示す。
【００６１】
定位置にある被写体を撮像した場合、前進前に撮影された画像１０９と前進後に撮影される画像１１０とでは、後者の方が被写体が拡大されて表示される。したがって、広視野画像生成部３０は、前進後に得られた画像１１０と、記憶している広視野画像１１１との間で画像の適合処理（マッチング）を行って、画像の拡大率を算出する。得られた拡大率に基づいて広視野画像１１１の全体を拡大し、拡大広視野画像１１２を得ることによって、移動前に得られていた画像情報を有効に利用して、移動後の位置で広視野画像の拡張処理を続けることができる。
【００６２】
また、ロボット装置１がポジションＰ３からポジションＰ４へと横移動した場合について図１０及び図１１に示す。図１１（ａ）にポジションＰ３における取得画像及び広視野画像を示し、図１１（ｂ）にポジションＰ４における取得画像及び広視野画像を示す。
【００６３】
右方向に移動した場合、広視野画像生成部３０は、ロボット装置１の前方方向の広視野画像１１５と移動前に取得した画像１１３と移動後に取得した画像１１４との間で画像をマッチングすることにより、得られた移動分だけ広視野画像１１５を左方に移動させることによって、ロボット装置１の正面方向と広視野画像の正面とを一致させることができる。
【００６４】
なお、以上説明した広視野画像の生成において、ステレオ計測等の手法によって、広視野画像中の対象物までの距離情報を得られる場合には、その距離情報を用いることで拡大率及び移動距離を決定することもできる。
【００６５】
次に、取得した画像を用いて広視野画像を拡張する場合について、図１２を用いて具体的に説明する。これは、図１に示した一連の処理工程のうち、ステップＳ５乃至ステップＳ７に相当する。
【００６６】
広視野画像生成部３０は、図１２（ａ）に示すように、ＣＣＤカメラ２０によって取得される画像１１６と広視野画像１１７とを常に比較している。画像１１６が広視野画像１１７の情報を含まない場合、若しくは一部含む場合には、広視野画像生成部３０は、図１に示した処理によって広視野画像を拡張する。一方、画像１１６が既に生成されている広視野画像１１７の範囲内の画像である場合、広視野画像生成部３０は、広視野画像１１７の対応箇所の画像領域１１８と画像１１６とを比較する。その変化量が予め決められた所定の閾値よりも大きい場合は、広視野画像１１７の対応する領域に画像１１６を上書きする。この変化量は、取得画像と広視野画像のこの画像に対応する領域の画素値の変化量であるほかに、画像から特徴量を抽出して、その特徴点の画素値のみの変化量であってもよい。このように変化量が所定量を超える場合にのみ、画像処理することにより合成のための無駄な演算処理を省くことができる。
【００６７】
以上説明したように、限られた画像から広視野画像を生成して広視野画像を用いて画像認識する手法によれば、ロボット装置１が移動しているときに移動物体を認識する際の認識精度が向上するという利点がある。
【００６８】
図１３には、ロボット装置１が歩行動作をしているとき、ＣＣＤカメラ２０において取得される画像を並べて示してある。ＣＣＤカメラ２０の限られた画角１１９に移動する対象物体１２０が撮像されている様子を模式的に示している。狭視野の画像では、図１３に示すように、上下左右方向に一様でないぶれ成分を含むため、対象物体１２０の動きか歩行動作による視野ぶれかを区別することは困難であった。しかし、図１４に示すように、本実施の形態のロボット装置１では、広視野画像生成部３０において、これらの取得画像と広視野画像１２１とをマッチングすることによって、ロボット装置１の動きによる画像のぶれ成分と対象物体１２０の移動成分とを分離することができる。図１４では、対象物体１２０が図中に示す矢印方向に移動していることが認識できる。したがって、広視野画像を生成することによって、移動物体の動きの認識精度が向上する。
【００６９】
さらに、ジャイロセンサ等のＣＣＤカメラの向きを検出できるセンサを用いることにより、広視野画像上の視野領域を決定することができるため、マッチング処理では認識することが困難な大きな対象物の動きも認識することができる。
【００７０】
次に、生成された広視野画像の保持方法について説明する。これは、図１に示した一連の処理工程におけるステップＳ９乃至ステップＳ１０に相当する。ＣＣＤカメラ２０において取得された画像から生成された広視野画像は、ロボット装置１の移動や環境の変化、つまり画像の変化量に伴って変更される。記憶制御部３１は、生成された広視野画像と基準となる広視野画像とを比較し、変化量が予め決められた所定の閾値よりも大となったとき、その最新の広視野画像が基準広視野画像として保存する。この操作を繰り返すことによって、閾値以上の変化量を持つ広視野画像が画像列として逐次記憶される。変化量の小さい広視野画像は、記憶されないため、記憶容量が節約できる。したがって、ロボット装置１上のリソースを有効に利用することができる。
【００７１】
記憶制御部３１は、広視野画像をロボット装置１内に設けられた図示しない不揮発性メモリに記憶する。ロボット装置１では、特に、メモリカード２８のような着脱可能な記憶媒体に記憶することもできる。
【００７２】
図１５には、広視野画像１００１、広視野画像１００２、・・・、広視野画像１００ｋ−１、広視野画像１００ｋ、・・・、広視野画像１００ｍ−１、広視野画像１００ｍ、・・・、広視野画像１００ｎ−２、広視野画像１００ｎ−１、広視野画像１００ｎが時系列に沿ってメモリカード２８に記憶されている様子を概念的に示してある。
【００７３】
記憶制御部３１は、広視野画像を広視野画像に関する付加情報１３０１、１３０２、１３０ｋ−１、１３０ｋとともに記憶し、記憶開始からの経過時間Ｔに相関した情報量の画像データに圧縮して記憶する。つまり、過去の広視野画像ほど情報量を抑えて記憶する。ここでの画像圧縮には、いわゆるＪＰＥＧ方式、ＭＰＥＧ方式等、既知の圧縮方法が適用できる。また、経過時間によっては、広視野画像１００ｍ−１、１００ｍ、１００ｎ−２乃至１００ｎのように、例えば、特徴点の画素値のみを画像データとは異なる別の抽象的なデータに変換して、さらに記憶容量を小さくして記憶する。広視野画像は、所定の期間記憶された後、消去される。
【００７４】
このように、ロボット装置１では、過去の広視野画像ほど情報量を少なくすることによって、限られたメモリ及びＣＰＵのリソースの中で効率的に画像認識処理及び画像記憶処理を実行できる。また、過去の記憶を忘れていく「人間の記憶モデル」に、より近い記憶モデルを実現することができる。
【００７５】
なお、広視野画像を記憶してから消去するまでの時間及び記憶する広視野画像の枚数は、ロボット装置のリソースに応じて変更できる。
【００７６】
ところで、本実施の形態として示すロボット装置１は、内部状態に応じて自律的に行動できるロボット装置である。ロボット装置１における制御プログラムのソフトウェア構成は、図１６に示すようになる。この制御プログラムは、上述したように、予めフラッシュＲＯＭ１２に格納されており、ロボット装置１の電源投入初期時において読み出される。
【００７７】
図１６において、デバイス・ドライバ・レイヤ３０は、制御プログラムの最下位層に位置し、複数のデバイス・ドライバからなるデバイス・ドライバ・セット３１から構成されている。この場合、各デバイス・ドライバは、ＣＣＤカメラ２０（図３）やタイマ等の通常のコンピュータで用いられるハードウェアに直接アクセスすることを許されたオブジェクトであり、対応するハードウェアからの割り込みを受けて処理を行う。
【００７８】
また、ロボティック・サーバ・オブジェクト３２は、デバイス・ドライバ・レイヤ３０の最下位層に位置し、例えば上述の各種センサやアクチュエータ２５１〜２５ｎ等のハードウェアにアクセスするためのインターフェイスを提供するソフトウェア群でなるバーチャル・ロボット３３と、電源の切換えなどを管理するソフトウェア群でなるパワーマネージャ３４と、他の種々のデバイス・ドライバを管理するソフトウェア群でなるデバイス・ドライバ・マネージャ３５と、ロボット装置１の機構を管理するソフトウェア群でなるデザインド・ロボット３６とから構成されている。
【００７９】
マネージャ・オブジェクト３７は、オブジェクト・マネージャ３８及びサービス・マネージャ３９から構成されている。オブジェクト・マネージャ３８は、ロボティック・サーバ・オブジェクト３２、ミドル・ウェア・レイヤ４０、及びアプリケーション・レイヤ４１に含まれる各ソフトウェア群の起動や終了を管理するソフトウェア群であり、サービス・マネージャ３９は、メモリカード２８（図３）に格納されたコネクションファイルに記述されている各オブジェクト間の接続情報に基づいて各オブジェクトの接続を管理するソフトウェア群である。
【００８０】
ミドル・ウェア・レイヤ４０は、ロボティック・サーバ・オブジェクト３２の上位層に位置し、画像処理や音声処理などのこのロボット装置１の基本的な機能を提供するソフトウェア群から構成されている。また、アプリケーション・レイヤ４１は、ミドル・ウェア・レイヤ４０の上位層に位置し、当該ミドル・ウェア・レイヤ４０を構成する各ソフトウェア群によって処理された処理結果に基づいてロボット装置１の行動を決定するためのソフトウェア群から構成されている。
【００８１】
なお、ミドル・ウェア・レイヤ４０及びアプリケーション・レイヤ４１の具体なソフトウェア構成をそれぞれ図１７に示す。
【００８２】
ミドル・ウェア・レイヤ４０は、図１７に示すように、騒音検出用、温度検出用、明るさ検出用、音階認識用、距離検出用、姿勢検出用、タッチセンサ用、動き検出用及び色認識用の各信号処理モジュール５０〜５８並びに入力セマンティクスコンバータモジュール５９などを有する認識系６０と、出力セマンティクスコンバータモジュール６８並びに姿勢管理用、トラッキング用、モーション再生用、歩行用、転倒復帰用、ＬＥＤ点灯用及び音再生用の各信号処理モジュール６１〜６７などを有する出力系６９とから構成されている。
【００８３】
認識系６０の各信号処理モジュール５０〜５８は、ロボティック・サーバ・オブジェクト３２のバーチャル・ロボット３３によりＤＲＡＭ１１（図３）から読み出される各センサデータや画像データ及び音声データのうちの対応するデータを取り込み、当該データに基づいて所定の処理を施して、処理結果を入力セマンティクスコンバータモジュール５９に与える。ここで、例えば、バーチャル・ロボット３３は、所定の通信規約によって、信号の授受或いは変換をする部分として構成されている。
【００８４】
入力セマンティクスコンバータモジュール５９は、これら各信号処理モジュール５０〜５８から与えられる処理結果に基づいて、「うるさい」、「暑い」、「明るい」、「ボールを検出した」、「転倒を検出した」、「撫でられた」、「叩かれた」、「ドミソの音階が聞こえた」、「動く物体を検出した」又は「障害物を検出した」などの自己及び周囲の状況や、使用者からの指令及び働きかけを認識し、認識結果をアプリケーション・レイヤ４１に出力する。
【００８５】
アプリケーション・レイヤ４１は、図１８に示すように、行動モデルライブラリ７０、行動切換えモジュール７１、学習モジュール７２、感情モデル７３及び本能モデル７４の５つのモジュールから構成されている。
【００８６】
行動モデルライブラリ７０には、図１９に示すように、「バッテリ残量が少なくなった場合」、「転倒復帰する」、「障害物を回避する場合」、「感情を表現する場合」、「ボールを検出した場合」などの予め選択されたいくつかの条件項目にそれぞれ対応させて、それぞれ独立した行動モデルが設けられている。
【００８７】
そして、これら行動モデルは、それぞれ入力セマンティクスコンバータモジュール５９から認識結果が与えられたときや、最後の認識結果が与えられてから一定時間が経過したときなどに、必要に応じて後述のように感情モデル７３に保持されている対応する情動のパラメータ値や、本能モデル７４に保持されている対応する欲求のパラメータ値を参照しながら続く行動をそれぞれ決定し、決定結果を行動切換えモジュール７１に出力する。
【００８８】
なお、この実施の形態の場合、各行動モデルは、次の行動を決定する手法として、図２０に示すような１つのノード（状態）ＮＯＤＥ０〜ＮＯＤＥｎから他のどのノードＮＯＤＥ０〜ＮＯＤＥｎに遷移するかを各ノードＮＯＤＥ０〜ＮＯＤＥｎに間を接続するアークＡＲＣ１〜ＡＲＣｎ１に対してそれぞれ設定された遷移確率Ｐ１〜Ｐｎに基づいて確率的に決定する有限確率オートマトンと呼ばれるアルゴリズムを用いる。
【００８９】
具体的に、各行動モデルは、それぞれ自己の行動モデルを形成するノードＮＯＤＥ０〜ＮＯＤＥｎにそれぞれ対応させて、これらノードＮＯＤＥ０〜ＮＯＤＥｎ毎に図２１に示すような状態遷移表８０を有している。
【００９０】
この状態遷移表８０では、そのノードＮＯＤＥ０〜ＮＯＤＥｎにおいて遷移条件とする入力イベント（認識結果）が「入力イベント名」の行に優先順に列記され、その遷移条件についてのさらなる条件が「データ名」及び「データ範囲」の行における対応する列に記述されている。
【００９１】
したがって、図２１の状態遷移表８０で表されるノードＮＯＤＥ１００では、「ボールを検出（ＢＡＬＬ）」という認識結果が与えられた場合に、当該認識結果とともに与えられるそのボールの「大きさ（ＳＩＺＥ）」が「0から1000」の範囲であることや、「障害物を検出（ＯＢＳＴＡＣＬＥ）」という認識結果が与えられた場合に、当該認識結果とともに与えられるその障害物までの「距離（ＤＩＳＴＡＮＣＥ）」が「0から100」の範囲であることが他のノードに遷移するための条件となっている。
【００９２】
また、このノードＮＯＤＥ１００では、認識結果の入力がない場合においても、行動モデルが周期的に参照する感情モデル７３及び本能モデル７４にそれぞれ保持された各情動及び各欲求のパラメータ値のうち、感情モデル７３に保持された「喜び（Joy）」、「驚き（Surprise）」若しくは「悲しみ（Sadness）」のいずれかのパラメータ値が「50から100」の範囲であるときには他のノードに遷移することができるようになっている。
【００９３】
また、状態遷移表８０では、「他のノードヘの遷移確率」の欄における「遷移先ノード」の列にそのノードＮＯＤＥ０〜ＮＯＤＥｎから遷移できるノード名が列記されているとともに、「入力イベント名」、「データ名」及び「データの範囲」の行に記述された全ての条件が揃ったときに遷移できるほかの各ノードＮＯＤＥ０〜ＮＯＤＥｎへの遷移確率が「他のノードヘの遷移確率」の欄内の対応する箇所にそれぞれ記述され、そのノードＮＯＤＥ０〜ＮＯＤＥｎに遷移する際に出力すべき行動が「他のノードヘの遷移確率」の欄における「出力行動」の行に記述されている。なお、「他のノードヘの遷移確率」の欄における各行の確率の和は１００［％］となっている。
【００９４】
したがって、図２１の状態遷移表８０で表されるノードＮＯＤＥ１００では、例えば「ボールを検出（ＢＡＬＬ）」し、そのボールの「ＳＩＺＥ（大きさ）」が「0から1000」の範囲であるという認識結果が与えられた場合には、「30［％］」の確率で「ノードＮＯＤＥ１２０（node 120）」に遷移でき、そのとき「ＡＣＴＩＯＮ１」の行動が出力されることとなる。
【００９５】
各行動モデルは、それぞれこのような状態遷移表８０として記述されたノードＮＯＤＥ０〜 ＮＯＤＥｎが幾つも繋がるようにして構成されており、入力セマンティクスコンバータモジュール５９から認識結果が与えられたときなどに、対応するノードＮＯＤＥ０〜ＮＯＤＥｎの状態遷移表を利用して確率的に次の行動を決定し、決定結果を行動切換えモジュール７１に出力するようになされている。
【００９６】
図１８に示す行動切換えモジュール７１は、行動モデルライブラリ７０の各行動モデルからそれぞれ出力される行動のうち、予め定められた優先順位の高い行動モデルから出力された行動を選択し、当該行動を実行すべき旨のコマンド（以下、これを行動コマンドという。）をミドル・ウェア・レイヤ４０の出力セマンティクスコンバータモジュール６８に送出する。なお、この実施の形態においては、図１９において下側に表記された行動モデルほど優先順位が高く設定されている。
【００９７】
また、行動切換えモジュール７１は、行動完了後に出力セマンティクスコンバータモジュール６８から与えられる行動完了情報に基づいて、その行動が完了したことを学習モジュール７２、感情モデル７３及び本能モデル７４に通知する。
【００９８】
一方、学習モジュール７２は、入力セマンティクスコンバータモジュール５９から与えられる認識結果のうち、「叩かれた」や「撫でられた」など、使用者からの働きかけとして受けた教示の認識結果を入力する。
【００９９】
そして、学習モジュール７２は、この認識結果及び行動切換えモジュール７１からの通知に基づいて、「叩かれた（叱られた）」ときにはその行動の発現確率を低下させ、「撫でられた（誉められた）」ときにはその行動の発現確率を上昇させるように、行動モデルライブラリ７０における対応する行動モデルの対応する遷移確率を変更する。
【０１００】
他方、感情モデル７３は、「喜び（Joy）」、「悲しみ（Sadness）」、「怒り（Anger）」、「驚き（Surprise）」、「嫌悪（Disgust）」及び「恐れ（Fear）」の合計６つの情動について、各情動毎にその情動の強さを表すパラメータを保持している。そして、感情モデル７３は、これら各情動のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール５９から与えられる「叩かれた」及び「撫でられた」などの特定の認識結果と、経過時間及び行動切換えモジュール７１からの通知となどに基づいて周期的に更新する。
【０１０１】
具体的には、感情モデル７３は、入力セマンティクスコンバータモジュール５９から与えられる認識結果と、そのときのロボット装置１の行動と、前回更新してからの経過時間となどに基づいて所定の演算式により算出されるそのときのその情動の変動量を△Ｅ［ｔ］、現在のその情動のパラメータ値をＥ［ｔ］、その情動の感度を表す係数をｋｅとして、（１）式によって次の周期におけるその情動のパラメータ値Ｅ［ｔ＋１］を算出し、これを現在のその情動のパラメータ値Ｅ［ｔ］と置き換えるようにしてその情動のパラメータ値を更新する。また、感情モデル７３は、これと同様にして全ての情動のパラメータ値を更新する。
【０１０２】
【数１】
0004779226.tif 000002
なお、各認識結果や出力セマンティクスコンバータモジュール６８からの通知が各情動のパラメータ値の変動量△Ｅ［ｔ］にどの程度の影響を与えるかは予め決められており、例えば「叩かれた」といった認識結果は「怒り」の情動のパラメータ値の変動量△Ｅ［ｔ］に大きな影響を与え、「撫でられた」といった認識結果は「喜び」の情動のパラメータ値の変動量△Ｅ［ｔ］に大きな影響を与えるようになっている。
【０１０３】
ここで、出力セマンティクスコンバータモジュール６８からの通知とは、いわゆる行動のフィードバック情報（行動完了情報）であり、行動の出現結果の情報であり、感情モデル７３は、このような情報によっても感情を変化させる。これは、例えば、「吠える」といった行動により怒りの感情レベルが下がるといったようなことである。なお、出力セマンティクスコンバータモジュール６８からの通知は、上述した学習モジュール７２にも入力されており、学習モジュール７２は、その通知に基づいて行動モデルの対応する遷移確率を変更する。
【０１０４】
なお、行動結果のフィードバックは、行動切換えモジュレータ７１の出力（感情が付加された行動）によりなされるものであってもよい。
【０１０５】
一方、本能モデル７４は、「運動欲（exercise）」、「愛情欲（affection）」、「食欲（appetite）」及び「好奇心（curiosity）」の互いに独立した４つの欲求について、これら欲求毎にその欲求の強さを表すパラメータを保持している。そして、本能モデル７４は、これらの欲求のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール５９から与えられる認識結果や、経過時間及び行動切換えモジュール７１からの通知などに基づいて周期的に更新する。
【０１０６】
具体的には、本能モデル７４は、「運動欲」、「愛情欲」及び「好奇心」については、認識結果、経過時間及び出力セマンティクスコンバータモジュール６８からの通知などに基づいて所定の演算式により算出されるそのときのその欲求の変動量をΔＩ［ｋ］、現在のその欲求のパラメータ値をＩ［ｋ］、その欲求の感度を表す係数ｋｉとして、所定周期で（２）式を用いて次の周期におけるその欲求のパラメータ値Ｉ［ｋ＋１］を算出し、この演算結果を現在のその欲求のパラメータ値Ｉ［ｋ］と置き換えるようにしてその欲求のパラメータ値を更新する。また、本能モデル７４は、これと同様にして「食欲」を除く各欲求のパラメータ値を更新する。
【０１０７】
【数２】
0004779226.tif 000003
なお、認識結果及び出力セマンティクスコンバータモジュール６８からの通知などが各欲求のパラメータ値の変動量△Ｉ［ｋ］にどの程度の影響を与えるかは予め決められており、例えば出力セマンティクスコンバータモジュール６８からの通知は、「疲れ」のパラメータ値の変動量△Ｉ［ｋ］に大きな影響を与えるようになっている。
【０１０８】
なお、本実施の形態においては、各情動及び各欲求（本能）のパラメータ値がそれぞれ0から100までの範囲で変動するように規制されており、また係数ｋｅ、ｋｉの値も各情動及び各欲求毎に個別に設定されている。
【０１０９】
一方、ミドル・ウェア・レイヤ４０の出力セマンティクスコンバータモジュール６８は、図１７に示すように、上述のようにしてアプリケーション・レイヤ４１の行動切換えモジュール７１から与えられる「前進」、「喜ぶ」、「鳴く」又は「トラッキング（ボールを追いかける）」といった抽象的な行動コマンドを出力系６９の対応する信号処理モジュール６１〜６７に与える。
【０１１０】
そしてこれら信号処理モジュール６１〜６７は、行動コマンドが与えられると当該行動コマンドに基づいて、その行動をするために対応するアクチュエータ２５１〜２５ｎ（図３）に与えるべきサーボ指令値や、スピーカ２４（図３）から出力する音の音声データ及び又は「目」のＬＥＤに与える駆動データを生成し、これらのデータをロボティック・サーバ・オブジェクト３２のバーチャル・ロボット３３及び信号処理回路１４（図３）を順次介して対応するアクチュエータ２５１〜２５ｎ又はスピーカ２４又はＬＥＤに順次送出する。
【０１１１】
このようにしてロボット装置１は、制御プログラムに基づいて、自己（内部）及び周囲（外部）の状況や、使用者からの指示及び働きかけに応じた自律的な行動ができる。したがって、広視野画像を生成し、この広視野画像と付加情報とを時間に相関した情報量に圧縮して記憶するという一連の画像記憶処理を実行するための制御プログラムが予め組み込まれていないロボット装置であっても、制御プログラムを読み込ませることによって、図１に示した画像記憶処理を実行させることができる。
【０１１２】
このような制御プログラムは、ロボット装置が読取可能な形式で記録された記録媒体を介して提供される。制御プログラムを記録する記録媒体としては、磁気読取方式の記録媒体（例えば、磁気テープ、フロッピーディスク、磁気カード）、光学読取方式の記録媒体（例えば、ＣＤ−ＲＯＭ、ＭＯ、ＣＤ−Ｒ、ＤＶＤ）等が考えられる。記録媒体には、半導体メモリ（いわゆるメモリカード（矩形型、正方形型など形状は問わない。）、ＩＣカード）等の記憶媒体も含まれる。また、制御プログラムは、いわゆるインターネット等を介して提供されてもよい。
【０１１３】
これらの制御プログラムは、専用の読込ドライバ装置、又はパーソナルコンピュータ等を介して再生され、有線又は無線接続によってロボット装置１に伝送されて読み込まれる。また、ロボット装置は、半導体メモリ、又はＩＣカード等の小型化された記憶媒体のドライブ装置を備える場合、これら記憶媒体から制御プログラムを直接読み込むこともできる。ロボット装置１では、メモリカード２８から読み込むことができる。
【０１１４】
なお、本発明は、上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。本実施の形態では、４足歩行の脚式移動ロボットに関して説明したが、ロボット装置は、内部状態に応じて動作するものであれば適用可能であって、移動手段は、４足歩行、さらには脚式移動方式に限定されない。
【０１１５】
【発明の効果】
以上詳細に説明したように、本発明にかかるロボット装置は、移動手段を備え、内部状態に応じて自律動作するロボット装置において、ロボット装置正面に対して独立した方向に可動とされ所定の画角で被写体を撮像する撮像手段と、撮像手段によって能動的に取得された画像、又は撮像手段を介して受動的に取得された画像を逐次付加して撮像手段の画角よりも広い視野の広視野画像を生成する広視野画像生成手段と、広視野画像を一時的に記憶する一時記憶手段と、取得された画像の変化量に応じて、一時記憶手段に記憶された広視野画像を該広視野画像に関する付加情報とともに基準広視野画像として時系列で記憶手段に記憶し、記憶手段に記憶された広視野画像を記憶開始からの経過時間に相関した情報量の画像データに圧縮して書き換える記憶制御手段とを備える。
【０１１６】
したがって、本発明にかかるロボット装置は、撮像手段を介して能動的又は受動的に取得された画像を逐次付加して撮像手段の画角よりも広い視野の広視野画像を生成することによって、画像認識に有効な視野範囲が拡大でき、より幅広い環境下において高い画像認識性能を達成できる。これにより、対象物体、特に、移動物体の認識精度が向上する。
【０１１７】
また、本発明にかかるロボット装置は、取得された画像の変化量に応じて該広視野画像に関する付加情報とともに広視野画像を記憶手段に時系列で記憶することにより、時間的に過去に得られた画像情報の中から画像認識結果を抽出することができる。特に、対象物体に対してアテンション（捕捉指示）を指定する必要がなくなる。
【０１１８】
さらに、本発明にかかるロボット装置は、記憶手段に記憶された広視野画像を記憶開始からの経過時間に相関した情報量の画像データに圧縮して書き換えることにより、記憶容量が節約できる。したがって、リソースを有効利用でき、リソースに応じてリアルタイム性を重視した画像処理ができるようになる。また、より人間に近い記憶モデルを実現できることから、豊富なユーザインタラクションが可能となり、エンターテインメント性が向上する。
【０１１９】
また、本発明にかかる画像記憶装置は、所定の画角で被写体を撮像する撮像手段と、撮像手段によって随時取得された画像を逐次付加して撮像手段の画角よりも広い視野の広視野画像を生成する広視野画像生成手段と、広視野画像を一時的に記憶する一時記憶手段と、取得された画像の変化量に応じて、一時記憶手段に記憶された広視野画像を該広視野画像に関する付加情報とともに基準広視野画像として時系列で記憶手段に記憶し、記憶手段に記憶された広視野画像を記憶開始からの経過時間に相関した情報量の画像データに圧縮して書き換える記憶制御手段とを備える。
【０１２０】
したがって、本発明にかかる画像記憶装置は、撮像手段を介して取得された画像を逐次付加して撮像手段の画角よりも広い視野の広視野画像を生成することによって、画像認識に有効な視野範囲が拡大でき、より幅広い環境下において高い画像認識性能を達成できる。これにより、対象物体、特に、移動物体の認識精度が向上する。
【０１２１】
また、本発明にかかる画像記憶装置は、取得された画像の変化量に応じて該広視野画像に関する付加情報とともに広視野画像を記憶手段に時系列で記憶することにより、時間的に過去に得られた画像情報の中から画像認識結果を抽出することができる。特に、対象物体に対してアテンション（捕捉指示）を指定する必要がなくなる。
【０１２２】
さらに、本発明にかかる画像記憶装置は、記憶手段に記憶された広視野画像を記憶開始からの経過時間に相関した情報量の画像データに圧縮して書き換えることにより、記憶容量が節約できる。したがって、リソースを有効利用でき、リソースに応じてリアルタイム性を重視した画像処理ができるようになる。
【０１２３】
また、本発明にかかる画像記憶方法は、所定の画角で被写体を撮像する撮像工程と、撮像工程において随時取得された画像を逐次付加して撮像工程で撮像される画角よりも広い視野の広視野画像を生成する広視野画像生成工程と、広視野画像を一時的に記憶する一時記憶工程と、取得された画像の変化量に応じて、一時記憶工程で記憶された広視野画像を該広視野画像に関する付加情報とともに基準広視野画像として時系列で記憶手段に記憶し、記憶手段に記憶された広視野画像を記憶開始からの経過時間に相関した情報量の画像データに圧縮して書き換える記憶制御工程とを備える。
【０１２４】
したがって、本発明にかかる画像記憶方法によれば、撮像工程において取得された画像を逐次付加して撮像工程で撮像される画角よりも広い視野の広視野画像が生成されることによって、画像認識に有効な視野範囲が拡大され、より幅広い環境下において高い画像認識性能が達成される。これにより、対象物体、特に、移動物体の認識精度が向上する。
【０１２５】
また、本発明にかかる画像記憶方法によれば、取得された画像の変化量に応じて該広視野画像に関する付加情報とともに広視野画像が時系列で記憶されることにより、時間的に過去に得られた画像情報の中から画像認識結果を抽出することができる。特に、対象物体に対してアテンション（捕捉指示）を指定する必要がなくなる。
【０１２６】
さらに、本発明にかかる画像記憶方法によれば、記憶手段に記憶された広視野画像が記憶開始からの経過時間に相関した情報量の画像データに圧縮して書き換えられることにより、記憶容量が節約できる。したがって、リソースを有効利用でき、リソースに応じてリアルタイム性を重視した画像処理ができるようになる。
【０１２７】
本発明にかかる制御プログラムは、撮像手段において所定の画角で被写体を撮像する撮像処理と、撮像処理によって随時取得される画像を逐次付加して撮像手段で撮像される画角よりも広い視野の広視野画像を生成する広視野画像生成処理と、広視野画像を一時的に記憶する記憶処理と、取得された画像の変化量に応じて、記憶処理で記憶した広視野画像を該広視野画像に関する付加情報とともに基準広視野画像として時系列で記憶手段に記憶し、記憶手段に記憶された広視野画像を記憶開始からの経過時間に相関した情報量の画像データに圧縮して書き換える記憶制御処理とを画像処理機能を備えた電子機器に実行させるためのプログラムである。
【０１２８】
したがって、本発明にかかる制御プログラムによれば、画像処理機能を備えた電子機器に対して、撮像処理によって随時取得される画像を逐次付加して撮像手段で撮像される画角よりも広い視野の広視野画像を生成する処理を実行させることによって、電子機器が画像認識を行う上での有効な視野範囲が拡大され、より幅広い環境下において高い画像認識性能が達成される。これにより、対象物体、特に、移動物体の認識精度が向上する。
【０１２９】
また、本発明にかかる制御プログラムによれば、画像処理機能を備えた電子機器に対して、取得された画像の変化量に応じて該広視野画像に関する付加情報とともに広視野画像が時系列で記憶する処理を実行させることにより、電子機器は、時間的に過去に得られた画像情報の中から画像認識結果を抽出できるようになる。特に、対象物体に対してアテンション（捕捉指示）を指定する必要がなくなる。
【０１３０】
さらに、本発明にかかる制御プログラムによれば、画像処理機能を備えた電子機器に対して、記憶手段に記憶された広視野画像を記憶開始からの経過時間に相関した情報量の画像データに圧縮して書き換える処理を実行させることにより、電子機器の画像記憶容量が節約される。したがって、電子機器は、リソースを有効利用でき、リソースに応じてリアルタイム性を重視した画像処理を実行できるようになる。
【図面の簡単な説明】
【図１】本発明の一構成例として示すロボット装置が周囲の状況を画像として取得し、限られた視野の画像から広視野画像を生成し、さらに、生成した広視野画像とこの広視野画像に関する付加情報とを時間経過とともに記憶する処理を示すフローチャートである。
【図２】本発明の一構成例として示すロボット装置の外観を示す外観図である。
【図３】本発明の一構成例として示すロボット装置の構成を示す構成図である。
【図４】図４（ａ）は、本発明の一構成例として示すロボット装置のＣＣＤカメラの動きに合わせて限られた画角の画像が次々と取得される様子を示す模式図であり、図４（ｂ）は、取得された画像から合成された広視野画像を示す模式図である。
【図５】本発明の一構成例として示すロボット装置が取得した画像を球面投影して広視野画像を生成する様子を説明する模式図である。
【図６】本発明の一構成例として示すロボット装置がその場でＣＣＤカメラの向きだけを変える様子を示す図である。
【図７】図７（ａ）は、本発明の一構成例として示すロボット装置のカメラ方向が方向Ｄ１のときの取得画像及び広視野画像を示す図であり、図７（ｂ）は、本発明の一構成例として示すロボット装置のカメラ方向が方向Ｄ２のときの取得画像及び広視野画像を示す図である。
【図８】本発明の一構成例として示すロボット装置がポジションＰ１からポジションＰ２へと前進する様子を示す図である。
【図９】図９（ａ）は、本発明の一構成例として示すロボット装置がポジションＰ１にあるときの取得画像及び広視野画像を示す図であり、図９（ｂ）は、本発明の一構成例として示すロボット装置がポジションＰ２にあるときの取得画像及び広視野画像を示す図である。
【図１０】本発明の一構成例として示すロボット装置がポジションＰ３からポジションＰ４へと横移動する様子を示す図である。
【図１１】図１１（ａ）は、本発明の一構成例として示すロボット装置がポジションＰ３にあるときの取得画像及び広視野画像を示す図であり、図１１（ｂ）は、本発明の一構成例として示すロボット装置がポジションＰ４にあるときの取得画像及び広視野画像を示す図である。
【図１２】図１２（ａ）は、本発明の一構成例として示すロボット装置がＣＣＤカメラによって取得した画像と広視野画像とを比較する様子を模式的に示す図であり、図１２（ｂ）は、ロボット装置が比較した画像を広視野画像に上書きする様子を説明する図である。
【図１３】本発明の一構成例として示すロボット装置が歩行動作をしているとき、ＣＣＤカメラにおいて取得される画像を並べて示した図である。
【図１４】本発明の一構成例として示すロボット装置によって生成された広視野画像上で表される対象物体の移動を説明する図である。
【図１５】本発明の一構成例として示すロボット装置において、広視野画像が時系列に沿ってメモリカードに記憶される概念を説明する図である。
【図１６】本発明の一構成例として示すロボット装置の制御プログラムのソフトウェア構成を示す構成図である。
【図１７】本発明の一構成例として示すロボット装置の制御プログラムのうち、ミドル・ウェア・レイヤの構成を示す構成図である。
【図１８】本発明の一構成例として示すロボット装置の制御プログラムのうち、アプリケーション・レイヤの構成を示す構成図である。
【図１９】本発明の一構成例として示すロボット装置の制御プログラムのうち、行動モデルライブラリの構成を示す構成図である。
【図２０】本発明の一構成例として示すロボット装置の行動を決定するためのアルゴリズムである有限確率オートマトンを説明する模式図である。
【図２１】本発明の一構成例として示すロボット装置の行動を決定するための状態遷移条件を表す図である。
【符号の説明】
１  ロボット装置、２  胴体部ユニット、３Ａ，３Ｂ，３Ｃ，３Ｄ  脚部ユニット、４  頭部ユニット、５  尻尾部ユニット、１０  ＣＰＵ、１１  ＤＲＡＭ、１２  フラッシュＲＯＭ、１３  ＰＣカードインターフェイス回路、１４  信号処理回路、１５  内部バス、１６  コントロール部、１７  バッテリ、１８  角速度センサ、１９  加速度センサ、２０  ＣＣＤカメラ、２１  タッチセンサ、２２  距離センサ、２３  マイク、２４  スピーカ、２５１〜２５ｎ  アクチュエータ、２６１〜２６ｎ  ポテンショメータ、２７１〜２７ｎ  ハブ、２８  メモリカード、３０  広視野画像生成部、３１  記憶制御部
【図１】
0004779226.tif 000004
【図２】
0004779226.tif 000005
【図３】
0004779226.tif 000006
【図４】
0004779226.tif 000007
【図５】
0004779226.tif 000008
【図６】
0004779226.tif 000009
【図７】
0004779226.tif 000010
【図８】
0004779226.tif 000011
【図９】
0004779226.tif 000012
【図１０】
0004779226.tif 000013
【図１１】
0004779226.tif 000014
【図１２】
0004779226.tif 000015
【図１３】
0004779226.tif 000016
【図１４】
0004779226.tif 000017
【図１５】
0004779226.tif 000018
【図１６】
0004779226.tif 000019
【図１７】
0004779226.tif 000020
【図１８】
0004779226.tif 000021
【図１９】
0004779226.tif 000022
【図２０】
0004779226.tif 000023
【図２１】
0004779226.tif 000024