(57)【要約】【課題】撮像した画像内の動体を簡易な手法により検出し、トラッキング可能とする。【解決手段】差分画像生成モジュール１１０は、ＣＣＤカメラ２２で撮像され、バーチャル・ロボット４３から与えられた画像データについて時間軸上で隣接するフレーム間の差分をとり、差分画像データを生成する。重心計算モジュール１１１は、差分画像データを重心位置を計算し、その情報を行動モデルライブラリ９０に送出する。行動モデルライブラリ９０は、例えば差分画像データから動体が消失した場合に、直前に検出された重心位置を向く、或いは近付く行動を決定する。そしてトラッキング用信号処理モジュール７３は、行動切換モジュール９１からの行動コマンドに基づき、当該行動を発現するためのサーボ指令値を、バーチャル・ロボット４３等を介して対応するアクチュエータ２８１〜２８ｎに送出する。【選択図】　図１２
2004130426.tif 000002
【特許請求の範囲】
【請求項１】
外部刺激及び／又は内部状態に応じて自律的に行動する自律型のロボット装置において、
少なくとも外部の動体を撮像する撮像手段と、
上記撮像手段によって撮像された時間軸上で隣接する画像間の差分画像を生成する差分画像生成手段と、
上記差分画像の重心位置を計算する重心計算手段と、
少なくとも上記重心位置に基づいて行動を生成する行動生成手段とを備え、
上記行動生成手段は、上記差分画像中の動体が消失した場合に、上記差分画像の最後に検出された重心位置の方向に上記撮像手段を向ける行動を生成すること
を特徴とするロボット装置。
【請求項２】
上記行動生成手段は、上記重心位置の方向に近付く行動を生成することを特徴とする請求項１記載のロボット装置。
【請求項３】
動物を模した外観形状とされ、上記撮像手段は、胴体部に対して可動に接続される頭部に設けられていることを特徴とする請求項１記載のロボット装置。
【請求項４】
外部刺激及び／又は内部状態に応じて自律的に行動する自律型のロボット装置において、
少なくとも外部の動体を撮像する撮像手段と、
上記撮像手段によって撮像された時間軸上で隣接する画像間の差分画像を生成する差分画像生成手段と、
上記差分画像の重心位置を計算する重心計算手段と、
少なくとも上記重心位置に基づいて行動を生成する行動生成手段とを備え、
上記行動生成手段は、所定の時間間隔毎又は上記差分画像の重心位置が当該差分画像から外れそうになる毎に上記差分画像の重心位置の方向に上記撮像手段を向ける行動を生成すると共に、上記差分画像中の動体を見失った場合には、上記差分画像の最後に検出された重心位置の方向に上記撮像手段を向ける行動を生成することを特徴とするロボット装置。
【請求項５】
上記行動生成手段は、上記重心位置の方向に近付く行動を生成することを特徴とする請求項４記載のロボット装置。
【請求項６】
動物を模した外観形状とされ、上記撮像手段は、胴体部に対して可動に接続される頭部に設けられていることを特徴とする請求項４記載のロボット装置。
【請求項７】
外部刺激及び／又は内部状態に応じて自律的に行動する自律型のロボット装置の動作制御方法において、
撮像手段により少なくとも外部の動体を撮像する撮像工程と、
上記撮像工程にて撮像された時間軸上で隣接する画像間の差分画像を生成する差分画像工程と、
上記差分画像の重心位置を計算する重心計算工程と、
少なくとも上記重心位置に基づいて行動を生成する行動生成工程とを有し、
上記行動生成工程では、上記差分画像中の動体が消失した場合に、上記差分画像の最後に検出された重心位置の方向に上記撮像手段を向ける行動が生成されること
を特徴とするロボット装置の動作制御方法。
【請求項８】
上記行動生成工程では、上記重心位置の方向に近付く行動が生成されることを特徴とする請求項７記載のロボット装置の動作制御方法。
【請求項９】
上記ロボット装置は、動物を模した外観形状とされ、上記撮像手段は、胴体部に対して可動に接続される頭部に設けられていることを特徴とする請求項７記載のロボット装置の動作制御方法。
【請求項１０】
外部刺激及び／又は内部状態に応じて自律的に行動する自律型のロボット装置の動作制御方法において、
撮像手段により少なくとも外部の動体を撮像する撮像工程と、
上記撮像工程にて撮像された時間軸上で隣接する画像間の差分画像を生成する差分画像工程と、
上記差分画像の重心位置を計算する重心計算工程と、
少なくとも上記重心位置に基づいて行動を生成する行動生成工程とを有し、
上記行動生成工程では、所定の時間間隔毎又は上記差分画像の重心位置が当該差分画像から外れそうになる毎に上記差分画像の重心位置の方向に上記撮像手段を向ける行動が生成されると共に、上記差分画像中の動体が消失した場合には、上記差分画像の最後に検出された重心位置の方向に上記撮像手段を向ける行動が生成されることを特徴とするロボット装置の動作制御方法。
【請求項１１】
上記行動生成工程では、上記重心位置の方向に近付く行動が生成されることを特徴とする請求項１０記載のロボット装置の動作制御方法。
【請求項１２】
上記ロボット装置は、動物を模した外観形状とされ、上記撮像手段は、胴体部に対して可動に接続される頭部に設けられていることを特徴とする請求項１０記載のロボット装置の動作制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、外部環境内の動体の方向を向き、又は動体をトラッキングする自律型のロボット装置及びその動作制御方法に関する。
【０００２】
【従来の技術】
電気的又は磁気的な作用を用いて人間（生物）の動作に似た運動を行う機械装置を「ロボット」という。我が国においてロボットが普及し始めたのは、１９６０年代末からであるが、その多くは、工場における生産作業の自動化・無人化等を目的としたマニピュレータや搬送ロボット等の産業用ロボット（Ｉｎｄｕｓｔｒｉａｌ　Ｒｏｂｏｔ）であった。
【０００３】
最近では、人間のパートナーとして生活を支援する、すなわち住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットの開発が進められている。このような実用ロボットは、産業用ロボットとは異なり、人間の生活環境の様々な局面において、個々に個性の相違した人間、又は様々な環境への適応方法を自ら学習する能力を備えている。例えば、犬、猫のように４足歩行の動物の身体メカニズムやその動作を模した「ペット型」ロボット、或いは、２足直立歩行を行う動物の身体メカニズムや動作をモデルにしてデザインされた「人間型」又は「人間形」ロボット（Ｈｕｍａｎｏｉｄ　Ｒｏｂｏｔ）等の脚式移動ロボットは、既に実用化されつつある。
【０００４】
これらの脚式移動ロボットは、産業用ロボットと比較して、エンターテインメント性を重視した様々な動作を行うことができるため、エンターテインメントロボットと呼称される場合もある。
【０００５】
脚式移動ロボットは、動物や人間の容姿にできる限り近い外観形状とされ、動物や人間の動作にできる限り近い動作を行うように設計されている。例えば、上述した４足歩行の「ペット型」ロボットの場合は、一般家庭において飼育される犬や猫に似た外観形状を有し、ユーザ（飼い主）からの「叩く」や「撫でる」といった働きかけや、周囲の環境等に応じて自律的に行動する。例えば、自律的な行動として、実際の動物と同様に、「吠える」、「寝る」等といった行動をする。
【０００６】
ところで、脚式移動ロボットの中には、ＣＣＤ（Ｃｈａｒｇｅ　Ｃｏｕｐｌｅｄ　Ｄｅｖｉｃｅ）カメラによって撮像した画像に基づいて周囲の状況を判断し、この判断結果に基づいて自律的に行動するものがある。このような脚式移動ロボットによれば、例えば、周囲に存在する動体を検出し、その動体をトラッキング（追尾）することができる。
【０００７】
ここで、画像処理によって画像内の動体を検出する手法としては、従来から種々の手法が提案され、実用化されている。これらの手法は、大別して、フレーム画像間で画素の差分をとる第１の手法、時空間フィルタを用いて画像上の任意の点におけるオプティカルフローを求める第２の手法、及びフレーム間で小領域のマッチングを行い、その領域の動きを求める第３の手法に分けられる。これらの手法は、画像を撮像するためのカメラが固定されており、検出された動きが外界の動きであることが前提となっている。
【０００８】
しかしながら、上述した脚式移動ロボットのように、ロボット装置自身が動作するものでは、搭載されたＣＣＤカメラが自己の動作に伴って大きく且つ複雑に動いてしまう。このため、上述した第１乃至第３の手法によって画像内の動体を検出しようとすると、フレーム間で画像全体が大きく動くことから、実際に動体を撮像していても、その動きを検出することは困難であった。
【０００９】
そこで、本件出願人は、下記の特許文献１において、自己の動作の有無に関わりなく、周囲に存在する動体を精度よく検出する技術を提案している。この特許文献１記載の技術によれば、現フレーム画像から前フレーム画像の中心部分と相関の高い画像領域を抽出して画像全体の動きを検出することで、ロボット装置の動作に伴う撮像装置の動きの有無に関わりなく、画像内の動体を精度よく検出することができる。
【００１０】
【特許文献１】
特開２００２−２５１６１５号公報
【００１１】
【発明が解決しようとする課題】
しかしながら、この特許文献１記載の技術では、前フレーム画像の中心部分と相関の高い画像領域を抽出するために、前フレーム画像の中心部分を分割した各テンプレート分割領域と、現フレーム画像を所定画素分だけオーバーラップさせながら分割した各検索画像分割領域との間で、水平方向及び垂直方向に１画素単位でずらしながら、順次マッチングスコアを演算する必要あり、演算負荷が高くなるという問題があった。
【００１２】
したがって、上述したペット型ロボットのように演算能力が制限されているロボット装置においては、より簡易に撮像した画像内の動体を検出する手法が望まれている。
【００１３】
本発明は、このような従来の実情に鑑みて提案されたものであり、撮像した画像内の動体を簡易な手法により検出し、トラッキング可能とするロボット装置及びその動体検出方法を提供することを目的とする。
【００１４】
【課題を解決するための手段】
上述した目的を達成するために、本発明に係るロボット装置は、外部刺激及び／又は内部状態に応じて自律的に行動する自律型のロボット装置において、少なくとも外部の動体を撮像する撮像手段と、上記撮像手段によって撮像された時間軸上で隣接する画像間の差分画像を生成する差分画像生成手段と、上記差分画像の重心位置を計算する重心計算手段と、少なくとも上記重心位置に基づいて行動を生成する行動生成手段とを備え、上記行動生成手段は、上記差分画像中の動体が消失した場合に、上記差分画像の最後に検出された重心位置の方向に上記撮像手段を向ける行動を生成する。
【００１５】
また、上述した目的を達成するために、本発明に係るロボット装置は、外部刺激及び／又は内部状態に応じて自律的に行動する自律型のロボット装置において、少なくとも外部の動体を撮像する撮像手段と、上記撮像手段によって撮像された時間軸上で隣接する画像間の差分画像を生成する差分画像生成手段と、上記差分画像の重心位置を計算する重心計算手段と、少なくとも上記重心位置に基づいて行動を生成する行動生成手段とを備え、上記行動生成手段は、所定の時間間隔毎又は上記差分画像の重心位置が当該差分画像から外れそうになる毎に上記差分画像の重心位置の方向に上記撮像手段を向ける行動を生成すると共に、上記差分画像中の動体を見失った場合には、上記差分画像の最後に検出された重心位置の方向に上記撮像手段を向ける行動を生成する。
【００１６】
ここで、上記行動生成手段は、上記重心位置の方向に近付く行動を生成することもできる。
【００１７】
このロボット装置は、例えば動物を模した外観形状とされ、上記撮像手段は、胴体部に対して可動に接続される頭部に設けられる。
【００１８】
このようなロボット装置は、撮像手段によって撮像された時間軸上で隣接する画像間の差分画像の重心位置を計算し、差分画像中の動体が消失した場合に、最後に検出された重心位置の方向に上記撮像手段を向ける。
【００１９】
また、ロボット装置は、撮像手段によって撮像された時間軸上で隣接する画像間の差分画像の重心位置を計算し、所定の時間間隔毎又は差分画像の重心位置が当該差分画像から外れそうになる毎に上記差分画像の重心位置の方向に撮像手段を向けると共に、上記差分画像中の動体を見失った場合には、最後に検出された重心位置の方向に上記撮像手段を向ける。
【００２０】
また、上述した目的を達成するために、本発明に係るロボット装置の動作制御方法は、外部刺激及び／又は内部状態に応じて自律的に行動する自律型のロボット装置の動作制御方法において、撮像手段により少なくとも外部の動体を撮像する撮像工程と、上記撮像工程にて撮像された時間軸上で隣接する画像間の差分画像を生成する差分画像工程と、上記差分画像の重心位置を計算する重心計算工程と、少なくとも上記重心位置に基づいて行動を生成する行動生成工程とを有し、上記行動生成工程では、上記差分画像中の動体が消失した場合に、上記差分画像の最後に検出された重心位置の方向に上記撮像手段を向ける行動が生成される。
【００２１】
また、上述した目的を達成するために、本発明に係るロボット装置の動作制御方法は、外部刺激及び／又は内部状態に応じて自律的に行動する自律型のロボット装置の動作制御方法において、撮像手段により少なくとも外部の動体を撮像する撮像工程と、上記撮像工程にて撮像された時間軸上で隣接する画像間の差分画像を生成する差分画像工程と、上記差分画像の重心位置を計算する重心計算工程と、少なくとも上記重心位置に基づいて行動を生成する行動生成工程とを有し、上記行動生成工程では、所定の時間間隔毎又は上記差分画像の重心位置が当該差分画像から外れそうになる毎に上記差分画像の重心位置の方向に上記撮像手段を向ける行動が生成されると共に、上記差分画像中の動体が消失した場合には、上記差分画像の最後に検出された重心位置の方向に上記撮像手段を向ける行動が生成される。
【００２２】
ここで、上記行動生成工程では、上記重心位置の方向に近付く行動を生成することもできる。
【００２３】
また、上記ロボット装置は、例えば動物を模した外観形状とされ、上記撮像手段は、胴体部に対して可動に接続される頭部に設けられる。
【００２４】
このようなロボット装置の動作制御方法では、撮像手段によって撮像された時間軸上で隣接する画像間の差分画像の重心位置が計算され、差分画像中の動体が消失した場合に、最後に検出された重心位置の方向に上記撮像手段が向けられる。
【００２５】
また、ロボット装置の動作制御方法では、撮像手段によって撮像された時間軸上で隣接する画像間の差分画像の重心位置が計算され、所定の時間間隔毎又は差分画像の重心位置が当該差分画像から外れそうになる毎に上記差分画像の重心位置の方向に撮像手段が向けられると共に、上記差分画像中の動体を見失った場合には、最後に検出された重心位置の方向に上記撮像手段が向けられる。
【００２６】
【発明の実施の形態】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、外部環境（或いは外部刺激）や内部状態に応じて自律行動をする自律型のロボット装置である。
【００２７】
実施の形態では、先ず、ロボット装置の構成について説明して、その後、ロボット装置における本発明の適用部分について詳細に説明する。
【００２８】
（１）本実施の形態によるロボット装置の構成
図１に示すように、本実施の形態におけるロボット装置１は、「犬」等の動物を模した形状のいわゆるペット型ロボットとされ、胴体部ユニット２の前後左右にそれぞれ脚部ユニット３Ａ，３Ｂ，３Ｃ，３Ｄが連結されると共に、胴体部ユニット２の前端部に頭部ユニット４が連結されて構成されている。
【００２９】
胴体部ユニット２には、図２に示すように、ＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）１０、ＤＲＡＭ（Ｄｙｎａｍｉｃ　Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）１１、フラッシュＲＯＭ（Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）１２、ＰＣ（Ｐｅｒｓｏｎａｌ　Ｃｏｍｐｕｔｅｒ）カードインターフェイス回路１３及び信号処理回路１４が内部バス１５を介して相互に接続されることにより形成されたコントロール部１６と、このロボット装置１の動力源としてのバッテリ１７とが収納されている。また、胴体部ユニット２には、ロボット装置１の向きや動きの加速度を検出するための角速度センサ１８及び加速度センサ１９が収納されている。また、胴体部ユニット２には、鳴き声等の音声又はメロディを出力するためのスピーカ２０が、図１に示すように所定位置に配置されている。また、胴体部ユニット２の尻尾部５には、使用者からの操作入力を検出する検出機構としての操作スイッチ２１が備えられている。操作スイッチ２１は、使用者による操作の種類を検出できるスイッチであって、ロボット装置１は、操作スイッチ２１によって検出される操作の種類に応じて、例えば「誉められた」か「叱られた」かを認識する。
【００３０】
頭部ユニット４には、外部の状況や対象物の色、形、動き等を撮像するためのＣＣＤ（Ｃｈａｒｇｅ　Ｃｏｕｐｌｅｄ　Ｄｅｖｉｃｅ）カメラ２２と、前方に位置する対象物までの距離を測定するための距離センサ２３と、外部音を集音するためのマイクロホン２４と、例えばＬＥＤ（Ｌｉｇｈｔ　Ｅｍｉｔｔｉｎｇ　Ｄｉｏｄｅ）を備えた発光部２５等が、図１に示すように所定位置にそれぞれ配置されている。ただし、発光部２５は、構成の説明等においては、必要に応じてＬＥＤ２５と示す。また、頭部ユニット４内部には、図１には図示しないが、ユーザの頭部ユニット４に対する接触を間接的に検出するための検出機構として頭部スイッチ２６が備えられている。頭部スイッチ２６は、例えば、使用者の接触によって頭部が動かされた場合、その傾き方向を検出できるスイッチであって、ロボット装置１は、頭部スイッチ２６によって検出される頭部の傾き方向に応じて、「誉められた」か「叱られた」かを認識する。
【００３１】
各脚部ユニット３Ａ〜３Ｄの関節部分、各脚部ユニット３Ａ〜３Ｄと胴体部ユニット２との連結部分、頭部ユニット４と胴体部ユニット２との連結部分には、自由度数分のアクチュエータ２８１〜２８ｎ及びポテンショメータ２９１〜２９ｎがそれぞれ配設されている。アクチュエータ２８１〜２８ｎは、例えば、サーボモータを備えている。サーボモータの駆動により、脚部ユニット３Ａ〜３Ｄが制御されて目標の姿勢、或いは動作に遷移する。各脚部ユニット３Ａ〜３Ｄの先端の「肉球」に相当する位置には、主としてユーザからの接触を検出する検出機構としての肉球スイッチ２７Ａ〜２７Ｄが設けられ、ユーザによる接触等を検出できるようになっている。
【００３２】
ロボット装置１は、この他にも、ここでは図示しないが、該ロボット装置１の内部状態とは別の動作状態（動作モード）を表すための発光部や、充電中、起動中、起動停止等、内部電源の状態を表す状態ランプ等を、適切な箇所に適宜備えていてもよい。
【００３３】
そして、ロボット装置１において、操作スイッチ２１、頭部スイッチ２６及び肉球スイッチ２７等の各種スイッチと、角速度センサ１８、加速度センサ１９、距離センサ２３等の各種センサと、スピーカ２０、マイク２４、発光部２５、各アクチュエータ２８１〜２８ｎ、各ポテンショメータ２９１〜２９ｎは、それぞれ対応するハブ３０１〜３０ｎを介してコントロール部１６の信号処理回路１４と接続されている。一方、ＣＣＤカメラ２２及びバッテリ１７は、それぞれ信号処理回路１４と直接接続されている。
【００３４】
信号処理回路１４は、上述の各種スイッチから供給されるスイッチデータ、各種センサから供給されるセンサデータ、画像データ及び音声データを順次取り込み、これらをそれぞれ内部バス１５を介してＤＲＡＭ１１内の所定位置に順次格納する。また信号処理回路１４は、これとともにバッテリ１７から供給されるバッテリ残量を表すバッテリ残量データを順次取り込み、ＤＲＡＭ１１内の所定位置に格納する。
【００３５】
このようにしてＤＲＡＭ１１に格納された各スイッチデータ、各センサデータ、画像データ、音声データ及びバッテリ残量データは、ＣＰＵ１０が当該ロボット装置１の動作制御を行う際に使用される。
【００３６】
ＣＰＵ１０は、ロボット装置１の電源が投入された初期時において、フラッシュＲＯＭ１２に格納された制御プログラムを読み出して、ＤＲＡＭ１１に格納する。又は、ＣＰＵ１０は、図１に図示しない胴体部ユニット２のＰＣカードスロットに装着された半導体メモリ装置、例えば、メモリカード３１に格納された制御プログラムをＰＣカードインターフェイス回路１３を介して読み出してＤＲＡＭ１１に格納する。
【００３７】
ＣＰＵ１０は、上述のように信号処理回路１４よりＤＲＡＭ１１に順次格納される各センサデータ、画像データ、音声データ、及びバッテリ残量データに基づいて自己及び周囲の状況や、使用者からの指示及び働きかけの有無を判断している。
【００３８】
さらに、ＣＰＵ１０は、この判断結果及びＤＲＡＭ１１に格納した制御プログラムに基づいて続く行動を決定すると共に、当該決定結果に基づいて必要なアクチュエータ２８１〜２８ｎを駆動させることにより、頭部ユニット４を上下左右に振らせたり、各脚部ユニット３Ａ〜３Ｄを駆動させて歩行させるなどの行動を行わせる。特に本実施の形態においては、後述するように、画像データ内の動体を検出し、この検出結果に基づいて必要なアクチュエータ２８１〜２８ｎを駆動させることにより、動体の方向を向く、或いはトラッキングするなどの行動を行わせる。
【００３９】
また、この際ＣＰＵ１０は、必要に応じて音声データを生成し、これを信号処理回路１４を介して音声信号としてスピーカ２０に与えることにより当該音声信号に基づく音声を外部に出力させたり、上述の発光部２５におけるＬＥＤの点灯及び消灯を指示する信号を生成し、発光部２５を点灯したり消灯したりする。
【００４０】
このようにしてこのロボット装置１においては、自己及び周囲の状況や、使用者からの指示及び働きかけに応じて自律的に行動し得るようになされている。
【００４１】
（２）制御プログラムのソフトウェア構成
ここで、ロボット装置１における上述の制御プログラムのソフトウェア構成は、図３に示すようになる。この図３において、デバイス・ドライバ・レイヤ４０は、この制御プログラムの最下位層に位置し、複数のデバイス・ドライバからなるデバイス・ドライバ・セット４１から構成されている。この場合、各デバイス・ドライバは、ＣＣＤカメラ２２（図２）やタイマ等の通常のコンピュータで用いられるハードウェアに直接アクセスすることを許されたオブジェクトであり、対応するハードウェアからの割り込みを受けて処理を行う。
【００４２】
また、ロボティック・サーバ・オブジェクト４２は、デバイス・ドライバ・レイヤ４０の最下位層に位置し、例えば上述の各種センサやアクチュエータ２８１〜２８ｎ等のハードウェアにアクセスするためのインターフェイスを提供するソフトウェア群でなるバーチャル・ロボット４３と、電源の切換えなどを管理するソフトウェア群でなるパワーマネージャ４４と、他の種々のデバイス・ドライバを管理するソフトウェア群でなるデバイス・ドライバ・マネージャ４５と、ロボット装置１の機構を管理するソフトウェア群でなるデザインド・ロボット４６とから構成されている。
【００４３】
マネージャ・オブジェクト４７は、オブジェクト・マネージャ４８及びサービス・マネージャ４９から構成されている。オブジェクト・マネージャ４８は、ロボティック・サーバ・オブジェクト４２、ミドル・ウェア・レイヤ５０、及びアプリケーション・レイヤ５１に含まれる各ソフトウェア群の起動や終了を管理するソフトウェア群であり、サービス・マネージャ４９は、メモリカード３１（図２）に格納されたコネクションファイルに記述されている各オブジェクト間の接続情報に基づいて各オブジェクトの接続を管理するソフトウェア群である。
【００４４】
ミドル・ウェア・レイヤ５０は、ロボティック・サーバ・オブジェクト４２の上位層に位置し、画像処理や音声処理などのこのロボット装置１の基本的な機能を提供するソフトウェア群から構成されている。また、アプリケーション・レイヤ５１は、ミドル・ウェア・レイヤ５０の上位層に位置し、当該ミドル・ウェア・レイヤ５０を構成する各ソフトウェア群によって処理された処理結果に基づいてロボット装置１の行動を決定するためのソフトウェア群から構成されている。
【００４５】
なお、ミドル・ウェア・レイヤ５０及びアプリケーション・レイヤ５１の具体なソフトウェア構成をそれぞれ図４に示す。
【００４６】
ミドル・ウェア・レイヤ５０は、図４に示すように、騒音検出用、温度検出用、明るさ検出用、音階認識用、距離検出用、姿勢検出用、接触検出用、操作入力検出用、動き検出用及び色認識用の各信号処理モジュール６０〜６９並びに入力セマンティクスコンバータモジュール７０などを有する認識系７１と、出力セマンティクスコンバータモジュール７９並びに姿勢管理用、トラッキング用、モーション再生用、歩行用、転倒復帰用、ＬＥＤ点灯用及び音再生用の各信号処理モジュール７２〜７８などを有する出力系８０とから構成されている。
【００４７】
認識系７１の各信号処理モジュール６０〜６９は、ロボティック・サーバ・オブジェクト４２のバーチャル・ロボット４３によりＤＲＡＭ１１（図２）から読み出される各センサデータや画像データ及び音声データのうちの対応するデータを取り込み、当該データに基づいて所定の処理を施して、処理結果を入力セマンティクスコンバータモジュール７０に与える。ここで、例えば、バーチャル・ロボット４３は、所定の通信規約によって、信号の授受或いは変換をする部分として構成されている。
【００４８】
入力セマンティクスコンバータモジュール７０は、これら各信号処理モジュール６０〜６９から与えられる処理結果に基づいて、「うるさい」、「暑い」、「明るい」、「ドミソの音階が聞こえた」、「障害物を検出した」、「転倒を検出した」、「叱られた」、「誉められた」、「動く物体を検出した」又は「ボールを検出した」などの自己及び周囲の状況や、使用者からの指令及び働きかけを認識し、認識結果をアプリケーション・レイヤ５１（図２）に出力する。
【００４９】
アプリケーション・レイヤ５ｌは、図５に示すように、行動モデルライブラリ９０、行動切換モジュール９１、学習モジュール９２、感情モデル９３及び本能モデル９４の５つのモジュールから構成されている。
【００５０】
行動モデルライブラリ９０には、図６に示すように、「バッテリ残量が少なくなった場合」、「転倒復帰する」、「障害物を回避する場合」、「感情を表現する場合」、「ボールを検出した場合」などの予め選択されたいくつかの条件項目にそれぞれ対応させて、それぞれ独立した行動モデル９０１〜９０ｎが設けられている。
【００５１】
そして、これら行動モデル９０１〜９０ｎは、それぞれ入力セマンティクスコンバータモジュール７１から認識結果が与えられたときや、最後の認識結果が与えられてから一定時間が経過したときなどに、必要に応じて後述のように感情モデル９３に保持されている対応する情動のパラメータ値や、本能モデル９４に保持されている対応する欲求のパラメータ値を参照しながら続く行動をそれぞれ決定し、決定結果を行動切換モジュール９１に出力する。
【００５２】
なお、この実施の形態の場合、各行動モデル９０１〜９０ｎは、次の行動を決定する手法として、図７に示すような１つのノード（状態）ＮＯＤＥ０〜ＮＯＤＥｎから他のどのノードＮＯＤＥ０〜ＮＯＤＥｎに遷移するかを各ノードＮＯＤＥ０〜ＮＯＤＥｎに間を接続するアークＡＲＣ１〜ＡＲＣｎに対してそれぞれ設定された遷移確率Ｐ１〜Ｐｎに基づいて確率的に決定する有限確率オートマトンと呼ばれるアルゴリズムを用いる。
【００５３】
具体的に、各行動モデル９０１〜９０ｎは、それぞれ自己の行動モデル９０１〜９０ｎを形成するノードＮＯＤＥ０〜ＮＯＤＥｎにそれぞれ対応させて、これらノードＮＯＤＥ０〜ＮＯＤＥｎごとに図８に示すような状態遷移表１００を有している。
【００５４】
この状態遷移表１００では、そのノードＮＯＤＥ０〜ＮＯＤＥｎにおいて遷移条件とする入力イベント（認識結果）が「入力イベント名」の列に優先順に列記され、その遷移条件についてのさらなる条件が「データ名」及び「データ範囲」の列における対応する行に記述されている。
【００５５】
したがって、図８の状態遷移表１００で表されるノードＮＯＤＥ１００では、「ボールを検出（ＢＡＬＬ）」という認識結果が与えられた場合に、当該認識結果と共に与えられるそのボールの「大きさ（ＳＩＺＥ）」が「０から１０００」の範囲であることや、「障害物を検出（ＯＢＳＴＡＣＬＥ）」という認識結果が与えられた場合に、当該認識結果と共に与えられるその障害物までの「距離（ＤＩＳＴＡＮＣＥ）」が「０から１００」の範囲であることが他のノードに遷移するための条件となっている。
【００５６】
また、このノードＮＯＤＥ１００では、認識結果の入力がない場合においても、行動モデル９０１〜９０ｎが周期的に参照する感情モデル９３及び本能モデル９４にそれぞれ保持された各情動及び各欲求のパラメータ値のうち、感情モデル９３に保持された「喜び（ＪＯＹ）」、「驚き（ＳＵＲＰＲＩＳＥ）」若しくは「悲しみ（ＳＵＤＮＥＳＳ）」のいずれかのパラメータ値が「５０から１００」の範囲であるときには他のノードに遷移することができるようになっている。
【００５７】
また、状態遷移表１００では、「他のノードヘの遷移確率」の欄における「遷移先ノード」の行にそのノードＮＯＤＥ０〜　ＮＯＤＥｎから遷移できるノード名が列記されていると共に、「入力イベント名」、「データ値」及び「データの範囲」の列に記述された全ての条件が揃ったときに遷移できる他の各ノードＮＯＤＥ０〜ＮＯＤＥｎへの遷移確率が「他のノードヘの遷移確率」の欄内の対応する箇所にそれぞれ記述され、そのノードＮＯＤＥ０〜ＮＯＤＥｎに遷移する際に出力すべき行動が「他のノードヘの遷移確率」の欄における「出力行動」の行に記述されている。なお、「他のノードヘの遷移確率」の欄における各行の確率の和は１００［％］となっている。
【００５８】
したがって、図８の状態遷移表１００で表されるノードＮＯＤＥ１００では、例えば「ボールを検出（ＢＡＬＬ）」し、そのボールの「ＳＩＺＥ（大きさ）」が「０から１０００」の範囲であるという認識結果が与えられた場合には、「３０［％］」の確率で「ノードＮＯＤＥ１２０（ｎｏｄｅ　１２０）」に遷移でき、そのとき「ＡＣＴＩＯＮ１」の行動が出力されることとなる。
【００５９】
各行動モデル９０１〜９０ｎは、それぞれこのような状態遷移表１００として記述されたノードＮＯＤＥ０〜　ＮＯＤＥｎがいくつも繋がるようにして構成されており、入力セマンティクスコンバータモジュール７１から認識結果が与えられたときなどに、対応するノードＮＯＤＥ０〜ＮＯＤＥｎの状態遷移表を利用して確率的に次の行動を決定し、決定結果を行動切換モジュール９１に出力するようになされている。
【００６０】
図５に示す行動切換モジュール９１は、行動モデルライブラリ９０の各行動モデル９０１〜９０ｎからそれぞれ出力される行動のうち、予め定められた優先順位の高い行動モデル９０１〜９０ｎから出力された行動を選択し、当該行動を実行すべき旨のコマンド（以下、これを行動コマンドという。）をミドル・ウェア・レイヤ５０の出力セマンティクスコンバータモジュール７９に送出する。なお、この実施の形態においては、図６において下側に表記された行動モデル９０１〜９０ｎほど優先順位が高く設定されている。
【００６１】
また、行動切換モジュール９１は、行動完了後に出力セマンティクスコンバータモジュール７９から与えられる行動完了情報に基づいて、その行動が完了したことを学習モジュール９２、感情モデル９３及び本能モデル９４に通知する。
【００６２】
一方、学習モジュール９２は、入力セマンティクスコンバータモジュール７１から与えられる認識結果のうち、「叱られた」や「誉められた」など、使用者からの働きかけとして受けた教示の認識結果を入力する。そして、学習モジュール９２は、この認識結果及び行動切換モジュール９１からの通知に基づいて、「叱られた」ときにはその行動の発現確率を低下させ、「誉められた」ときにはその行動の発現確率を上昇させるように、行動モデルライブラリ９０における対応する行動モデル９０１〜９０ｎの対応する遷移確率を変更する。
【００６３】
他方、感情モデル９３は、「喜び（ＪＯＹ）」、「悲しみ（ＳＡＤＮＥＳＳ）」、「怒り（ＡＮＧＥＲ）」、「驚き（ＳＵＲＰＲＩＳＥ）」、「嫌悪（ＤＩＳＧＵＳＴ）」及び「恐れ（ＦＥＡＲ）」の合計６つの情動について、各情動ごとにその情動の強さを表すパラメータを保持している。そして、感情モデル９３は、これら各情動のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール７１から与えられる「叱られた」及び「誉められた」などの特定の認識結果と、経過時間及び行動切換モジュール９１からの通知などに基づいて周期的に更新する。
【００６４】
具体的には、感情モデル９３は、入力セマンティクスコンバータモジュール７１から与えられる認識結果と、そのときのロボット装置１の行動と、前回更新してからの経過時間などに基づいて所定の演算式により算出されるそのときのその情動の変動量を△Ｅ［ｔ］、現在のその情動のパラメータ値をＥ［ｔ］、その情動の感度を表す係数をｋｅとして、（１）式によって次の周期におけるその情動のパラメータ値Ｅ［ｔ＋１］を算出し、これを現在のその情動のパラメータ値Ｅ［ｔ］と置き換えるようにしてその情動のパラメータ値を更新する。また、感情モデル７３は、これと同様にして全ての情動のパラメータ値を更新する。
【００６５】
【数１】
2004130426.tif 000003
【００６６】
なお、各認識結果や出力セマンティクスコンバータモジュール７９からの通知が各情動のパラメータ値の変動量△Ｅ［ｔ］にどの程度の影響を与えるかは予め決められており、例えば「叩かれた」といった認識結果は「怒り」の情動のパラメータ値の変動量△Ｅ［ｔ］に大きな影響を与え、「撫でられた」といった認識結果は「喜び」の情動のパラメータ値の変動量△Ｅ［ｔ］に大きな影響を与えるようになっている。
【００６７】
ここで、出力セマンティクスコンバータモジュール７９からの通知とは、いわゆる行動のフィードバック情報（行動完了情報）であり、行動の出現結果の情報であり、感情モデル９３は、このような情報によっても感情を変化させる。これは、例えば、「吠える」といった行動により怒りの感情レベルが下がるといったようなことである。なお、出力セマンティクスコンバータモジュール７９からの通知は、上述した学習モジュール９２にも入力されており、学習モジュール９２は、その通知に基づいて行動モデル９０１〜９０ｎの対応する遷移確率を変更する。
【００６８】
なお、行動結果のフィードバックは、行動切換モジュール９１の出力（感情が付加された行動）によりなされるものであってもよい。
【００６９】
一方、本能モデル９４は、「運動欲（ｅｘｅｒｃｉｓｅ）」、「愛情欲（ａｆｆｅｃｔｉｏｎ）」、「食欲（ａｐｐｅｔｉｔｅ）」及び「好奇心（ｃｕｒｉｏｓｉｔｙ）」の互いに独立した４つの欲求について、これら欲求ごとにその欲求の強さを表すパラメータを保持している。そして、本能モデル９４は、これらの欲求のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール７１から与えられる認識結果や、経過時間及び行動切換モジュール９１からの通知などに基づいて周期的に更新する。
【００７０】
具体的には、本能モデル９４は、「運動欲」、「愛情欲」及び「好奇心」については、認識結果、経過時間及び出力セマンティクスコンバータモジュール６８からの通知などに基づいて所定の演算式により算出されるそのときのその欲求の変動量をΔＩ［ｋ］、現在のその欲求のパラメータ値をＩ［ｋ］、その欲求の感度を表す係数ｋｉとして、所定周期で（２）式を用いて次の周期におけるその欲求のパラメータ値Ｉ［ｋ＋１］を算出し、この演算結果を現在のその欲求のパラメータ値Ｉ［ｋ］と置き換えるようにしてその欲求のパラメータ値を更新する。また、本能モデル９４は、これと同様にして「食欲」を除く各欲求のパラメータ値を更新する。
【００７１】
【数２】
2004130426.tif 000004
【００７２】
なお、認識結果及び出力セマンティクスコンバータモジュール７９からの通知などが各欲求のパラメータ値の変動量△Ｉ［ｋ］にどの程度の影響を与えるかは予め決められており、例えば出力セマンティクスコンバータモジュール７９からの通知は、「疲れ」のパラメータ値の変動量△Ｉ［ｋ］に大きな影響を与えるようになっている。
【００７３】
なお、本実施の形態においては、各情動及び各欲求（本能）のパラメータ値がそれぞれ０から１００までの範囲で変動するように規制されており、また係数ｋｅ、ｋｉの値も各情動及び各欲求ごとに個別に設定されている。
【００７４】
一方、ミドル・ウェア・レイヤ５０の出力セマンティクスコンバータモジュール７９は、図４に示すように、上述のようにしてアプリケーション・レイヤ５１の行動切換モジュール９１から与えられる「前進」、「喜ぶ」、「鳴く」又は「トラッキング（ボールを追いかける）」といった抽象的な行動コマンドを出力系８０の対応する信号処理モジュール７２〜７８に与える。
【００７５】
そしてこれら信号処理モジュール７２〜７８は、行動コマンドが与えられると当該行動コマンドに基づいて、その行動を行うために対応するアクチュエータ２８１〜２８ｎ（図２）に与えるべきサーボ指令値や、スピーカ２０（図２）から出力する音の音声データ及び／又は発光部２５（図２）のＬＥＤに与える駆動データを生成し、これらのデータをロボティック・サーバ・オブジェクト４２のバーチャル・ロボット４３及び信号処理回路１４（図２）を順次介して対応するアクチュエータ２８１〜２８ｎ、スピーカ２０又は発光部２５に順次送出する。
【００７６】
このようにしてロボット装置１においては、制御プログラムに基づいて、自己（内部）及び周囲（外部）の状況や、使用者からの指示及び働きかけに応じた自律的な行動を行うことができるようになされている。
【００７７】
（３）ロボット装置への本発明の適用
以下、本発明を上述したような構造を有するロボット装置１に適用した例について説明する。上述したように、本実施の形態におけるロボット装置１は、ＣＣＤカメラ２２（図２）によって撮像した画像データ内の動体を検出し、検出した動体の方向を向く、或いはトラッキングするなどといった行動を行う。
【００７８】
ここで、フレーム間の差分画像を生成した場合、動体の動きが停止した時点で差分値が０となる。例えば、図９に示すように、それぞれ時刻ｔ１〜ｔ４における人間を撮像した画像データＰ１〜Ｐ４について差分画像データＤ１〜Ｄ３を生成した場合、時刻ｔ３及びｔ４間で顔が静止していると、差分画像データＤ３から顔の差分データが消失してしまう。つまり、差分画像データから動体が消失したということは、動体がその場から消失したのではなく、消えた場所に動体が存在するということを意味している。
【００７９】
そこで、本実施の形態におけるロボット装置１は、この差分が０となる時点を検出し、その直前の差分画像における重心位置の方向にＣＣＤカメラ２２を向けることで重心位置の方向を向き、又は重心位置の方向に近付く。すなわち、図１０のフローチャートに示すように、先ずステップＳ１において、差分画像データの重心位置を計算することで動体を検出し、ステップＳ２において、検出した動体が差分画像データから消失したか否かが判別される。ステップＳ２において動体が消えていない場合（Ｎｏ）にはステップＳ１に戻る。一方、ステップＳ２において動体が消えた場合（Ｙｅｓ）にはステップＳ３に進み、消失した方向、すなわち直前の差分画像における重心位置の方向を向く、或いはその重心位置の方向に近付く。
【００８０】
なお、検出した動体がロボット装置１の視覚範囲から外れた場合にも差分画像から動体が消失するが、この場合にも上述のステップＳ３において最後に検出された重心位置の方向を向くことで、ほぼ動体の方向を向くことができる。
【００８１】
このように、本実施の形態におけるロボット装置１は、視覚範囲内で動体が静止したことにより差分画像データから消失するのを検出し、その重心位置の方向を向くようにすることで、例えば人間等の動体の気配を感じてその方向を向くという自律的なインタラクションを実現できる。また、動体が視覚範囲から外れたことにより差分画像データから消失するのを検出し、最後に検出された重心位置の方向を向くようにすることで、ほぼ動体の方向を向くことができる。
【００８２】
また、ロボット装置１は、差分画像データから動体が消失した場合のみならず、所定の時間間隔毎、或いは動体の重心位置が視覚範囲から外れそうになる毎に検出された重心方向を向き、動体をトラッキングするようにしても構わない。すなわち、図１１のフローチャートに示すように、先ずステップＳ１０において、差分画像データの重心位置を計算することで動体を検出し、ステップＳ１１において、所定の時間間隔毎、或いは動体が視覚範囲から外れそうになる毎に検出された重心位置の方向を向く。
【００８３】
ここで、ロボット装置１は、前述のように差分画像データから動体が消失した場合の他、ステップＳ１１におけるロボット装置１の動きが大きい場合には、動き補償によって自己の動きと動体の動きとを区別することができなくなり、動体を見失ってしまう。そこでステップＳ１２において、動体を見失ったか否かが判別される。ステップＳ１２において動体を見失っていない場合（Ｎｏ）にはステップＳ１０に戻る。一方、ステップＳ１２において動体を見失った場合（Ｙｅｓ）にはステップＳ１３に進み、最後に検出された重心位置の方向を向く。
【００８４】
このように、本実施の形態におけるロボット装置１は、所定の時間間隔毎、或いは動体が視覚範囲から外れそうになる毎に検出された重心方向を向き、動体を見失った場合に最後に検出された重心位置の方向を向くようにすることで、頭部ユニット４に設けられたＣＣＤカメラ２２によって撮像した画像内の動体を簡易な手法により検出し、トラッキングすることが可能となる。
【００８５】
以上の処理は、図４に示したミドル・ウェア・レイヤ５０の認識系７１における動き検出用信号処理モジュール６８を、差分画像生成モジュール１１０と重心計算モジュール１１１とによって構成することで実現される。
【００８６】
すなわち、図１２に示すように、ロボティック・サーバ・オブジェクト４２のバーチャル・ロボット４３は、ＣＣＤカメラ２２によって撮像されたフレーム単位の画像データをＤＲＡＭ１１から読み出し、この画像データをミドル・ウェア・レイヤ５０の認識系７１に含まれる差分画像生成モジュール１１０に送出する。
【００８７】
差分画像生成モジュール１１０は、画像データを入力する毎に時間軸上で隣接する前フレームの画像データとの差分をとって差分画像データを生成し、この差分画像データを重心計算モジュール１１１に与える。例えば、上述した画像データＰ２と画像データＰ３との差分画像データＤ２を生成する場合、位置（ｉ，ｊ）における差分画像データＤ２の輝度値Ｄ２（ｉ，ｊ）は、位置（ｉ，ｊ）における画像データＰ３の輝度値Ｐ３（ｉ，ｊ）から同位置における画像データＰ２の輝度値Ｐ２（ｉ，ｊ）を減算することで得られる。差分画像生成モジュール１１０は、全画素について同様の計算を行って差分画像データＤ２を生成し、この差分画像データＤ２を重心計算モジュール１１１に与える。
【００８８】
そして、重心計算モジュール１１１は、差分画像データのうち、輝度値が閾値Ｔｈよりも大きい部分についての重心位置Ｇ（ｘ，ｙ）を計算する。ここで、ｘ、ｙは、それぞれ以下の（３）式、（４）式を用いて計算される。
【００８９】
【数３】
2004130426.tif 000005
【００９０】
これにより、図１３に示すように、例えば上述した画像データＰ２と画像データＰ３との差分画像データＤ２から、重心位置Ｇ２が求められる。
【００９１】
重心計算モジュール１１１は、求めた重心位置のデータをアプリケーション・レイヤ５１の行動モデルライブラリ９０に送出する。
【００９２】
行動モデルライブラリ９０は、必要に応じて情動のパラメータ値や欲求のパラメータ値を参照しながら続く行動を決定し、決定結果を行動切換モジュール９１に与える。例えば、差分画像データから動体が消失した場合には、直前に検出された重心位置を向く、或いは近付く行動を決定し、決定結果を行動切換モジュール９１に与える。また、所定の時間間隔毎に動体をトラッキングする場合には、その時間間隔毎に検出された重心位置を向く、或いは近付く行動を決定し、決定結果を行動切換モジュール９１に与える。そして、行動切換モジュール９１は、当該決定結果に基づく行動コマンドをミドル・ウェア・レイヤ５０の出力系８０におけるトラッキング用信号処理モジュール７３に送出する。
【００９３】
トラッキング用信号処理モジュール７３は、行動コマンドが与えられると当該行動コマンドに基づいて、その行動を行うために対応するアクチュエータ２８１〜２８ｎに与えるべきサーボ指令値を生成し、このデータをロボティック・サーバ・オブジェクト４２のバーチャル・ロボット４３及び信号処理回路１４（図２）を順次介して対応するアクチュエータ２８１〜２８ｎに順次送出する。
【００９４】
この結果、例えば、差分画像データから動体が消失した場合には、行動モデルライブラリ９０によって、直前に検出された重心位置を向く、或いは近付く行動が決定され、行動切換モジュール９１によって、その行動を行わせるための行動コマンドが生成される。また、所定の時間間隔毎に動体をトラッキングする場合には、行動モデルライブラリ９０によって、その時間間隔毎に検出された重心位置を向く、或いは近付く行動が決定され、行動切換モジュール９１によって、その行動を行わせるための行動コマンドが生成される。
【００９５】
そして、この行動コマンドがトラッキング用信号処理モジュール７３に与えられると、当該トラッキング用信号処理モジュール７３は、その行動コマンドに基づくサーボ指令値を対応するアクチュエータ２８１〜２８ｎに送出し、これによりロボット装置１が動体に興味を示して頭部をその方向に向けたり、動体の方向に近付いたりする行動が発現される。
【００９６】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【００９７】
例えば、上述の実施の形態では、ＣＣＤカメラ２２によって撮像した画像データ中の動体を検出する処理をソフトウェアによって実現するものとして説明したが、これに限定されるものではなく、少なくとも一部をハードウェアによって実現するようにしてもよい。
【００９８】
【発明の効果】
以上詳細に説明したように本発明に係るロボット装置は、外部刺激及び／又は内部状態に応じて自律的に行動する自律型のロボット装置において、少なくとも外部の動体を撮像する撮像手段と、上記撮像手段によって撮像された時間軸上で隣接する画像間の差分画像を生成する差分画像生成手段と、上記差分画像の重心位置を計算する重心計算手段と、少なくとも上記重心位置に基づいて行動を生成する行動生成手段とを備え、上記行動生成手段は、上記差分画像中の動体が消失した場合に、上記差分画像の最後に検出された重心位置の方向に上記撮像手段を向ける行動を生成する。
【００９９】
また、本発明に係るロボット装置は、外部刺激及び／又は内部状態に応じて自律的に行動する自律型のロボット装置において、少なくとも外部の動体を撮像する撮像手段と、上記撮像手段によって撮像された時間軸上で隣接する画像間の差分画像を生成する差分画像生成手段と、上記差分画像の重心位置を計算する重心計算手段と、少なくとも上記重心位置に基づいて行動を生成する行動生成手段とを備え、上記行動生成手段は、所定の時間間隔毎又は上記差分画像の重心位置が当該差分画像から外れそうになる毎に上記差分画像の重心位置の方向に上記撮像手段を向ける行動を生成すると共に、上記差分画像中の動体を見失った場合には、上記差分画像の最後に検出された重心位置の方向に上記撮像手段を向ける行動を生成する。
【０１００】
このようなロボット装置は、撮像手段によって撮像された時間軸上で隣接する画像間の差分画像の重心位置を計算し、差分画像中の動体が消失した場合に、最後に検出された重心位置の方向に上記撮像手段を向ける。
【０１０１】
また、ロボット装置は、撮像手段によって撮像された時間軸上で隣接する画像間の差分画像の重心位置を計算し、所定の時間間隔毎又は差分画像の重心位置が当該差分画像から外れそうになる毎に上記差分画像の重心位置の方向に撮像手段を向けると共に、上記差分画像中の動体を見失った場合には、最後に検出された重心位置の方向に上記撮像手段を向ける。
【０１０２】
これにより、撮像手段により撮像した画像内の動体を簡易な手法により検出し、トラッキングすることが可能となる。
【０１０３】
また、本発明に係るロボット装置の動作制御方法は、外部刺激及び／又は内部状態に応じて自律的に行動する自律型のロボット装置の動作制御方法において、撮像手段により少なくとも外部の動体を撮像する撮像工程と、上記撮像工程にて撮像された時間軸上で隣接する画像間の差分画像を生成する差分画像工程と、上記差分画像の重心位置を計算する重心計算工程と、少なくとも上記重心位置に基づいて行動を生成する行動生成工程とを有し、上記行動生成工程では、上記差分画像中の動体が消失した場合に、上記差分画像の最後に検出された重心位置の方向に上記撮像手段を向ける行動が生成される。
【０１０４】
また、本発明に係るロボット装置の動作制御方法は、外部刺激及び／又は内部状態に応じて自律的に行動する自律型のロボット装置の動作制御方法において、撮像手段により少なくとも外部の動体を撮像する撮像工程と、上記撮像工程にて撮像された時間軸上で隣接する画像間の差分画像を生成する差分画像工程と、上記差分画像の重心位置を計算する重心計算工程と、少なくとも上記重心位置に基づいて行動を生成する行動生成工程とを有し、上記行動生成工程では、所定の時間間隔毎又は上記差分画像の重心位置が当該差分画像から外れそうになる毎に上記差分画像の重心位置の方向に上記撮像手段を向ける行動が生成されると共に、上記差分画像中の動体が消失した場合には、上記差分画像の最後に検出された重心位置の方向に上記撮像手段を向ける行動が生成される。
【０１０５】
このようなロボット装置の動作制御方法では、撮像手段によって撮像された時間軸上で隣接する画像間の差分画像の重心位置が計算され、差分画像中の動体が消失した場合に、最後に検出された重心位置の方向に上記撮像手段が向けられる。
【０１０６】
また、ロボット装置の動作制御方法では、撮像手段によって撮像された時間軸上で隣接する画像間の差分画像の重心位置が計算され、所定の時間間隔毎又は差分画像の重心位置が当該差分画像から外れそうになる毎に上記差分画像の重心位置の方向に撮像手段が向けられると共に、上記差分画像中の動体を見失った場合には、最後に検出された重心位置の方向に上記撮像手段が向けられる。
【０１０７】
これにより、撮像手段により撮像した画像内の動体を簡易な手法により検出し、トラッキングすることが可能となる。
【図面の簡単な説明】
【図１】本発明の実施の形態におけるロボット装置の外観構成を示す斜視図である。
【図２】同ロボット装置の回路構成を示すブロック図である。
【図３】同ロボット装置のソフトウェア構成を示すブロック図である。
【図４】同ロボット装置のソフトウェア構成におけるミドル・ウェア・レイヤの構成を示すブロック図である。
【図５】同ロボット装置のソフトウェア構成におけるアプリケーション・レイヤの構成を示すブロック図である。
【図６】同アプリケーション・レイヤの行動モデルライブラリの構成を示すブロック図である。
【図７】同ロボット装置の行動決定のための情報となる有限確率オートマトンを説明する図である。
【図８】有限確率オートマトンの各ノードに用意された状態遷移表を示す図である。
【図９】差分画像データから動体が消える例を説明する図である。
【図１０】差分画像データから動体が消失した方向を向く場合の手順を説明するフローチャートである。
【図１１】動体をトラッキングする場合の手順を説明するフローチャートである。
【図１２】同ロボット装置の動体検出に関連する部分のソフトウェア構成を示すブロック図である。
【図１３】差分画像データの重心位置を求める例を説明する図である。
【符号の説明】
１　ロボット装置、１０　ＣＰＵ、１１　ＤＲＡＭ、１４　信号処理回路、２２　ＣＣＤカメラ、２８１〜２８ｎ　アクチュエータ、４２　ロボティック・サーバ・オブジェクト、４３　バーチャル・ロボット、５０　ミドル・ウェア・レイヤ、５１　アプリケーション・レイヤ、６８　動き検出用信号処理モジュール、７０　入力セマンティクスコンバータモジュール、７１　認識系、７３　トラッキング用信号処理モジュール、７９　出力セマンティクスコンバータモジュール、８０　出力系、９０　行動モデルライブラリ、９１　行動切換モジュール、１１０　差分画像生成モジュール、１１１　重心計算モジュール
【図１】
2004130426.tif 000006
【図２】
2004130426.tif 000007
【図３】
2004130426.tif 000008
【図４】
2004130426.tif 000009
【図５】
2004130426.tif 000010
【図６】
2004130426.tif 000011
【図７】
2004130426.tif 000012
【図８】
2004130426.tif 000013
【図９】
2004130426.tif 000014
【図１０】
2004130426.tif 000015
【図１１】
2004130426.tif 000016
【図１２】
2004130426.tif 000017
【図１３】
2004130426.tif 000018