JP2004130426A - Robot device and its operation control method - Google Patents
Robot device and its operation control method Download PDFInfo
- Publication number
- JP2004130426A JP2004130426A JP2002296784A JP2002296784A JP2004130426A JP 2004130426 A JP2004130426 A JP 2004130426A JP 2002296784 A JP2002296784 A JP 2002296784A JP 2002296784 A JP2002296784 A JP 2002296784A JP 2004130426 A JP2004130426 A JP 2004130426A
- Authority
- JP
- Japan
- Prior art keywords
- difference image
- action
- center
- gravity
- imaging
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Manipulator (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、外部環境内の動体の方向を向き、又は動体をトラッキングする自律型のロボット装置及びその動作制御方法に関する。
【0002】
【従来の技術】
電気的又は磁気的な作用を用いて人間(生物)の動作に似た運動を行う機械装置を「ロボット」という。我が国においてロボットが普及し始めたのは、1960年代末からであるが、その多くは、工場における生産作業の自動化・無人化等を目的としたマニピュレータや搬送ロボット等の産業用ロボット(Industrial Robot)であった。
【0003】
最近では、人間のパートナーとして生活を支援する、すなわち住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットの開発が進められている。このような実用ロボットは、産業用ロボットとは異なり、人間の生活環境の様々な局面において、個々に個性の相違した人間、又は様々な環境への適応方法を自ら学習する能力を備えている。例えば、犬、猫のように4足歩行の動物の身体メカニズムやその動作を模した「ペット型」ロボット、或いは、2足直立歩行を行う動物の身体メカニズムや動作をモデルにしてデザインされた「人間型」又は「人間形」ロボット(Humanoid Robot)等の脚式移動ロボットは、既に実用化されつつある。
【0004】
これらの脚式移動ロボットは、産業用ロボットと比較して、エンターテインメント性を重視した様々な動作を行うことができるため、エンターテインメントロボットと呼称される場合もある。
【0005】
脚式移動ロボットは、動物や人間の容姿にできる限り近い外観形状とされ、動物や人間の動作にできる限り近い動作を行うように設計されている。例えば、上述した4足歩行の「ペット型」ロボットの場合は、一般家庭において飼育される犬や猫に似た外観形状を有し、ユーザ(飼い主)からの「叩く」や「撫でる」といった働きかけや、周囲の環境等に応じて自律的に行動する。例えば、自律的な行動として、実際の動物と同様に、「吠える」、「寝る」等といった行動をする。
【0006】
ところで、脚式移動ロボットの中には、CCD(Charge Coupled Device)カメラによって撮像した画像に基づいて周囲の状況を判断し、この判断結果に基づいて自律的に行動するものがある。このような脚式移動ロボットによれば、例えば、周囲に存在する動体を検出し、その動体をトラッキング(追尾)することができる。
【0007】
ここで、画像処理によって画像内の動体を検出する手法としては、従来から種々の手法が提案され、実用化されている。これらの手法は、大別して、フレーム画像間で画素の差分をとる第1の手法、時空間フィルタを用いて画像上の任意の点におけるオプティカルフローを求める第2の手法、及びフレーム間で小領域のマッチングを行い、その領域の動きを求める第3の手法に分けられる。これらの手法は、画像を撮像するためのカメラが固定されており、検出された動きが外界の動きであることが前提となっている。
【0008】
しかしながら、上述した脚式移動ロボットのように、ロボット装置自身が動作するものでは、搭載されたCCDカメラが自己の動作に伴って大きく且つ複雑に動いてしまう。このため、上述した第1乃至第3の手法によって画像内の動体を検出しようとすると、フレーム間で画像全体が大きく動くことから、実際に動体を撮像していても、その動きを検出することは困難であった。
【0009】
そこで、本件出願人は、下記の特許文献1において、自己の動作の有無に関わりなく、周囲に存在する動体を精度よく検出する技術を提案している。この特許文献1記載の技術によれば、現フレーム画像から前フレーム画像の中心部分と相関の高い画像領域を抽出して画像全体の動きを検出することで、ロボット装置の動作に伴う撮像装置の動きの有無に関わりなく、画像内の動体を精度よく検出することができる。
【0010】
【特許文献1】
特開2002−251615号公報
【0011】
【発明が解決しようとする課題】
しかしながら、この特許文献1記載の技術では、前フレーム画像の中心部分と相関の高い画像領域を抽出するために、前フレーム画像の中心部分を分割した各テンプレート分割領域と、現フレーム画像を所定画素分だけオーバーラップさせながら分割した各検索画像分割領域との間で、水平方向及び垂直方向に1画素単位でずらしながら、順次マッチングスコアを演算する必要あり、演算負荷が高くなるという問題があった。
【0012】
したがって、上述したペット型ロボットのように演算能力が制限されているロボット装置においては、より簡易に撮像した画像内の動体を検出する手法が望まれている。
【0013】
本発明は、このような従来の実情に鑑みて提案されたものであり、撮像した画像内の動体を簡易な手法により検出し、トラッキング可能とするロボット装置及びその動体検出方法を提供することを目的とする。
【0014】
【課題を解決するための手段】
上述した目的を達成するために、本発明に係るロボット装置は、外部刺激及び/又は内部状態に応じて自律的に行動する自律型のロボット装置において、少なくとも外部の動体を撮像する撮像手段と、上記撮像手段によって撮像された時間軸上で隣接する画像間の差分画像を生成する差分画像生成手段と、上記差分画像の重心位置を計算する重心計算手段と、少なくとも上記重心位置に基づいて行動を生成する行動生成手段とを備え、上記行動生成手段は、上記差分画像中の動体が消失した場合に、上記差分画像の最後に検出された重心位置の方向に上記撮像手段を向ける行動を生成する。
【0015】
また、上述した目的を達成するために、本発明に係るロボット装置は、外部刺激及び/又は内部状態に応じて自律的に行動する自律型のロボット装置において、少なくとも外部の動体を撮像する撮像手段と、上記撮像手段によって撮像された時間軸上で隣接する画像間の差分画像を生成する差分画像生成手段と、上記差分画像の重心位置を計算する重心計算手段と、少なくとも上記重心位置に基づいて行動を生成する行動生成手段とを備え、上記行動生成手段は、所定の時間間隔毎又は上記差分画像の重心位置が当該差分画像から外れそうになる毎に上記差分画像の重心位置の方向に上記撮像手段を向ける行動を生成すると共に、上記差分画像中の動体を見失った場合には、上記差分画像の最後に検出された重心位置の方向に上記撮像手段を向ける行動を生成する。
【0016】
ここで、上記行動生成手段は、上記重心位置の方向に近付く行動を生成することもできる。
【0017】
このロボット装置は、例えば動物を模した外観形状とされ、上記撮像手段は、胴体部に対して可動に接続される頭部に設けられる。
【0018】
このようなロボット装置は、撮像手段によって撮像された時間軸上で隣接する画像間の差分画像の重心位置を計算し、差分画像中の動体が消失した場合に、最後に検出された重心位置の方向に上記撮像手段を向ける。
【0019】
また、ロボット装置は、撮像手段によって撮像された時間軸上で隣接する画像間の差分画像の重心位置を計算し、所定の時間間隔毎又は差分画像の重心位置が当該差分画像から外れそうになる毎に上記差分画像の重心位置の方向に撮像手段を向けると共に、上記差分画像中の動体を見失った場合には、最後に検出された重心位置の方向に上記撮像手段を向ける。
【0020】
また、上述した目的を達成するために、本発明に係るロボット装置の動作制御方法は、外部刺激及び/又は内部状態に応じて自律的に行動する自律型のロボット装置の動作制御方法において、撮像手段により少なくとも外部の動体を撮像する撮像工程と、上記撮像工程にて撮像された時間軸上で隣接する画像間の差分画像を生成する差分画像工程と、上記差分画像の重心位置を計算する重心計算工程と、少なくとも上記重心位置に基づいて行動を生成する行動生成工程とを有し、上記行動生成工程では、上記差分画像中の動体が消失した場合に、上記差分画像の最後に検出された重心位置の方向に上記撮像手段を向ける行動が生成される。
【0021】
また、上述した目的を達成するために、本発明に係るロボット装置の動作制御方法は、外部刺激及び/又は内部状態に応じて自律的に行動する自律型のロボット装置の動作制御方法において、撮像手段により少なくとも外部の動体を撮像する撮像工程と、上記撮像工程にて撮像された時間軸上で隣接する画像間の差分画像を生成する差分画像工程と、上記差分画像の重心位置を計算する重心計算工程と、少なくとも上記重心位置に基づいて行動を生成する行動生成工程とを有し、上記行動生成工程では、所定の時間間隔毎又は上記差分画像の重心位置が当該差分画像から外れそうになる毎に上記差分画像の重心位置の方向に上記撮像手段を向ける行動が生成されると共に、上記差分画像中の動体が消失した場合には、上記差分画像の最後に検出された重心位置の方向に上記撮像手段を向ける行動が生成される。
【0022】
ここで、上記行動生成工程では、上記重心位置の方向に近付く行動を生成することもできる。
【0023】
また、上記ロボット装置は、例えば動物を模した外観形状とされ、上記撮像手段は、胴体部に対して可動に接続される頭部に設けられる。
【0024】
このようなロボット装置の動作制御方法では、撮像手段によって撮像された時間軸上で隣接する画像間の差分画像の重心位置が計算され、差分画像中の動体が消失した場合に、最後に検出された重心位置の方向に上記撮像手段が向けられる。
【0025】
また、ロボット装置の動作制御方法では、撮像手段によって撮像された時間軸上で隣接する画像間の差分画像の重心位置が計算され、所定の時間間隔毎又は差分画像の重心位置が当該差分画像から外れそうになる毎に上記差分画像の重心位置の方向に撮像手段が向けられると共に、上記差分画像中の動体を見失った場合には、最後に検出された重心位置の方向に上記撮像手段が向けられる。
【0026】
【発明の実施の形態】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、外部環境(或いは外部刺激)や内部状態に応じて自律行動をする自律型のロボット装置である。
【0027】
実施の形態では、先ず、ロボット装置の構成について説明して、その後、ロボット装置における本発明の適用部分について詳細に説明する。
【0028】
(1)本実施の形態によるロボット装置の構成
図1に示すように、本実施の形態におけるロボット装置1は、「犬」等の動物を模した形状のいわゆるペット型ロボットとされ、胴体部ユニット2の前後左右にそれぞれ脚部ユニット3A,3B,3C,3Dが連結されると共に、胴体部ユニット2の前端部に頭部ユニット4が連結されて構成されている。
【0029】
胴体部ユニット2には、図2に示すように、CPU(Central Processing Unit)10、DRAM(Dynamic Random Access Memory)11、フラッシュROM(Read Only Memory)12、PC(Personal Computer)カードインターフェイス回路13及び信号処理回路14が内部バス15を介して相互に接続されることにより形成されたコントロール部16と、このロボット装置1の動力源としてのバッテリ17とが収納されている。また、胴体部ユニット2には、ロボット装置1の向きや動きの加速度を検出するための角速度センサ18及び加速度センサ19が収納されている。また、胴体部ユニット2には、鳴き声等の音声又はメロディを出力するためのスピーカ20が、図1に示すように所定位置に配置されている。また、胴体部ユニット2の尻尾部5には、使用者からの操作入力を検出する検出機構としての操作スイッチ21が備えられている。操作スイッチ21は、使用者による操作の種類を検出できるスイッチであって、ロボット装置1は、操作スイッチ21によって検出される操作の種類に応じて、例えば「誉められた」か「叱られた」かを認識する。
【0030】
頭部ユニット4には、外部の状況や対象物の色、形、動き等を撮像するためのCCD(Charge Coupled Device)カメラ22と、前方に位置する対象物までの距離を測定するための距離センサ23と、外部音を集音するためのマイクロホン24と、例えばLED(Light Emitting Diode)を備えた発光部25等が、図1に示すように所定位置にそれぞれ配置されている。ただし、発光部25は、構成の説明等においては、必要に応じてLED25と示す。また、頭部ユニット4内部には、図1には図示しないが、ユーザの頭部ユニット4に対する接触を間接的に検出するための検出機構として頭部スイッチ26が備えられている。頭部スイッチ26は、例えば、使用者の接触によって頭部が動かされた場合、その傾き方向を検出できるスイッチであって、ロボット装置1は、頭部スイッチ26によって検出される頭部の傾き方向に応じて、「誉められた」か「叱られた」かを認識する。
【0031】
各脚部ユニット3A〜3Dの関節部分、各脚部ユニット3A〜3Dと胴体部ユニット2との連結部分、頭部ユニット4と胴体部ユニット2との連結部分には、自由度数分のアクチュエータ281〜28n及びポテンショメータ291〜29nがそれぞれ配設されている。アクチュエータ281〜28nは、例えば、サーボモータを備えている。サーボモータの駆動により、脚部ユニット3A〜3Dが制御されて目標の姿勢、或いは動作に遷移する。各脚部ユニット3A〜3Dの先端の「肉球」に相当する位置には、主としてユーザからの接触を検出する検出機構としての肉球スイッチ27A〜27Dが設けられ、ユーザによる接触等を検出できるようになっている。
【0032】
ロボット装置1は、この他にも、ここでは図示しないが、該ロボット装置1の内部状態とは別の動作状態(動作モード)を表すための発光部や、充電中、起動中、起動停止等、内部電源の状態を表す状態ランプ等を、適切な箇所に適宜備えていてもよい。
【0033】
そして、ロボット装置1において、操作スイッチ21、頭部スイッチ26及び肉球スイッチ27等の各種スイッチと、角速度センサ18、加速度センサ19、距離センサ23等の各種センサと、スピーカ20、マイク24、発光部25、各アクチュエータ281〜28n、各ポテンショメータ291〜29nは、それぞれ対応するハブ301〜30nを介してコントロール部16の信号処理回路14と接続されている。一方、CCDカメラ22及びバッテリ17は、それぞれ信号処理回路14と直接接続されている。
【0034】
信号処理回路14は、上述の各種スイッチから供給されるスイッチデータ、各種センサから供給されるセンサデータ、画像データ及び音声データを順次取り込み、これらをそれぞれ内部バス15を介してDRAM11内の所定位置に順次格納する。また信号処理回路14は、これとともにバッテリ17から供給されるバッテリ残量を表すバッテリ残量データを順次取り込み、DRAM11内の所定位置に格納する。
【0035】
このようにしてDRAM11に格納された各スイッチデータ、各センサデータ、画像データ、音声データ及びバッテリ残量データは、CPU10が当該ロボット装置1の動作制御を行う際に使用される。
【0036】
CPU10は、ロボット装置1の電源が投入された初期時において、フラッシュROM12に格納された制御プログラムを読み出して、DRAM11に格納する。又は、CPU10は、図1に図示しない胴体部ユニット2のPCカードスロットに装着された半導体メモリ装置、例えば、メモリカード31に格納された制御プログラムをPCカードインターフェイス回路13を介して読み出してDRAM11に格納する。
【0037】
CPU10は、上述のように信号処理回路14よりDRAM11に順次格納される各センサデータ、画像データ、音声データ、及びバッテリ残量データに基づいて自己及び周囲の状況や、使用者からの指示及び働きかけの有無を判断している。
【0038】
さらに、CPU10は、この判断結果及びDRAM11に格納した制御プログラムに基づいて続く行動を決定すると共に、当該決定結果に基づいて必要なアクチュエータ281〜28nを駆動させることにより、頭部ユニット4を上下左右に振らせたり、各脚部ユニット3A〜3Dを駆動させて歩行させるなどの行動を行わせる。特に本実施の形態においては、後述するように、画像データ内の動体を検出し、この検出結果に基づいて必要なアクチュエータ281〜28nを駆動させることにより、動体の方向を向く、或いはトラッキングするなどの行動を行わせる。
【0039】
また、この際CPU10は、必要に応じて音声データを生成し、これを信号処理回路14を介して音声信号としてスピーカ20に与えることにより当該音声信号に基づく音声を外部に出力させたり、上述の発光部25におけるLEDの点灯及び消灯を指示する信号を生成し、発光部25を点灯したり消灯したりする。
【0040】
このようにしてこのロボット装置1においては、自己及び周囲の状況や、使用者からの指示及び働きかけに応じて自律的に行動し得るようになされている。
【0041】
(2)制御プログラムのソフトウェア構成
ここで、ロボット装置1における上述の制御プログラムのソフトウェア構成は、図3に示すようになる。この図3において、デバイス・ドライバ・レイヤ40は、この制御プログラムの最下位層に位置し、複数のデバイス・ドライバからなるデバイス・ドライバ・セット41から構成されている。この場合、各デバイス・ドライバは、CCDカメラ22(図2)やタイマ等の通常のコンピュータで用いられるハードウェアに直接アクセスすることを許されたオブジェクトであり、対応するハードウェアからの割り込みを受けて処理を行う。
【0042】
また、ロボティック・サーバ・オブジェクト42は、デバイス・ドライバ・レイヤ40の最下位層に位置し、例えば上述の各種センサやアクチュエータ281〜28n等のハードウェアにアクセスするためのインターフェイスを提供するソフトウェア群でなるバーチャル・ロボット43と、電源の切換えなどを管理するソフトウェア群でなるパワーマネージャ44と、他の種々のデバイス・ドライバを管理するソフトウェア群でなるデバイス・ドライバ・マネージャ45と、ロボット装置1の機構を管理するソフトウェア群でなるデザインド・ロボット46とから構成されている。
【0043】
マネージャ・オブジェクト47は、オブジェクト・マネージャ48及びサービス・マネージャ49から構成されている。オブジェクト・マネージャ48は、ロボティック・サーバ・オブジェクト42、ミドル・ウェア・レイヤ50、及びアプリケーション・レイヤ51に含まれる各ソフトウェア群の起動や終了を管理するソフトウェア群であり、サービス・マネージャ49は、メモリカード31(図2)に格納されたコネクションファイルに記述されている各オブジェクト間の接続情報に基づいて各オブジェクトの接続を管理するソフトウェア群である。
【0044】
ミドル・ウェア・レイヤ50は、ロボティック・サーバ・オブジェクト42の上位層に位置し、画像処理や音声処理などのこのロボット装置1の基本的な機能を提供するソフトウェア群から構成されている。また、アプリケーション・レイヤ51は、ミドル・ウェア・レイヤ50の上位層に位置し、当該ミドル・ウェア・レイヤ50を構成する各ソフトウェア群によって処理された処理結果に基づいてロボット装置1の行動を決定するためのソフトウェア群から構成されている。
【0045】
なお、ミドル・ウェア・レイヤ50及びアプリケーション・レイヤ51の具体なソフトウェア構成をそれぞれ図4に示す。
【0046】
ミドル・ウェア・レイヤ50は、図4に示すように、騒音検出用、温度検出用、明るさ検出用、音階認識用、距離検出用、姿勢検出用、接触検出用、操作入力検出用、動き検出用及び色認識用の各信号処理モジュール60〜69並びに入力セマンティクスコンバータモジュール70などを有する認識系71と、出力セマンティクスコンバータモジュール79並びに姿勢管理用、トラッキング用、モーション再生用、歩行用、転倒復帰用、LED点灯用及び音再生用の各信号処理モジュール72〜78などを有する出力系80とから構成されている。
【0047】
認識系71の各信号処理モジュール60〜69は、ロボティック・サーバ・オブジェクト42のバーチャル・ロボット43によりDRAM11(図2)から読み出される各センサデータや画像データ及び音声データのうちの対応するデータを取り込み、当該データに基づいて所定の処理を施して、処理結果を入力セマンティクスコンバータモジュール70に与える。ここで、例えば、バーチャル・ロボット43は、所定の通信規約によって、信号の授受或いは変換をする部分として構成されている。
【0048】
入力セマンティクスコンバータモジュール70は、これら各信号処理モジュール60〜69から与えられる処理結果に基づいて、「うるさい」、「暑い」、「明るい」、「ドミソの音階が聞こえた」、「障害物を検出した」、「転倒を検出した」、「叱られた」、「誉められた」、「動く物体を検出した」又は「ボールを検出した」などの自己及び周囲の状況や、使用者からの指令及び働きかけを認識し、認識結果をアプリケーション・レイヤ51(図2)に出力する。
【0049】
アプリケーション・レイヤ5lは、図5に示すように、行動モデルライブラリ90、行動切換モジュール91、学習モジュール92、感情モデル93及び本能モデル94の5つのモジュールから構成されている。
【0050】
行動モデルライブラリ90には、図6に示すように、「バッテリ残量が少なくなった場合」、「転倒復帰する」、「障害物を回避する場合」、「感情を表現する場合」、「ボールを検出した場合」などの予め選択されたいくつかの条件項目にそれぞれ対応させて、それぞれ独立した行動モデル901〜90nが設けられている。
【0051】
そして、これら行動モデル901〜90nは、それぞれ入力セマンティクスコンバータモジュール71から認識結果が与えられたときや、最後の認識結果が与えられてから一定時間が経過したときなどに、必要に応じて後述のように感情モデル93に保持されている対応する情動のパラメータ値や、本能モデル94に保持されている対応する欲求のパラメータ値を参照しながら続く行動をそれぞれ決定し、決定結果を行動切換モジュール91に出力する。
【0052】
なお、この実施の形態の場合、各行動モデル901〜90nは、次の行動を決定する手法として、図7に示すような1つのノード(状態)NODE0〜NODEnから他のどのノードNODE0〜NODEnに遷移するかを各ノードNODE0〜NODEnに間を接続するアークARC1〜ARCnに対してそれぞれ設定された遷移確率P1〜Pnに基づいて確率的に決定する有限確率オートマトンと呼ばれるアルゴリズムを用いる。
【0053】
具体的に、各行動モデル901〜90nは、それぞれ自己の行動モデル901〜90nを形成するノードNODE0〜NODEnにそれぞれ対応させて、これらノードNODE0〜NODEnごとに図8に示すような状態遷移表100を有している。
【0054】
この状態遷移表100では、そのノードNODE0〜NODEnにおいて遷移条件とする入力イベント(認識結果)が「入力イベント名」の列に優先順に列記され、その遷移条件についてのさらなる条件が「データ名」及び「データ範囲」の列における対応する行に記述されている。
【0055】
したがって、図8の状態遷移表100で表されるノードNODE100では、「ボールを検出(BALL)」という認識結果が与えられた場合に、当該認識結果と共に与えられるそのボールの「大きさ(SIZE)」が「0から1000」の範囲であることや、「障害物を検出(OBSTACLE)」という認識結果が与えられた場合に、当該認識結果と共に与えられるその障害物までの「距離(DISTANCE)」が「0から100」の範囲であることが他のノードに遷移するための条件となっている。
【0056】
また、このノードNODE100では、認識結果の入力がない場合においても、行動モデル901〜90nが周期的に参照する感情モデル93及び本能モデル94にそれぞれ保持された各情動及び各欲求のパラメータ値のうち、感情モデル93に保持された「喜び(JOY)」、「驚き(SURPRISE)」若しくは「悲しみ(SUDNESS)」のいずれかのパラメータ値が「50から100」の範囲であるときには他のノードに遷移することができるようになっている。
【0057】
また、状態遷移表100では、「他のノードヘの遷移確率」の欄における「遷移先ノード」の行にそのノードNODE0〜 NODEnから遷移できるノード名が列記されていると共に、「入力イベント名」、「データ値」及び「データの範囲」の列に記述された全ての条件が揃ったときに遷移できる他の各ノードNODE0〜NODEnへの遷移確率が「他のノードヘの遷移確率」の欄内の対応する箇所にそれぞれ記述され、そのノードNODE0〜NODEnに遷移する際に出力すべき行動が「他のノードヘの遷移確率」の欄における「出力行動」の行に記述されている。なお、「他のノードヘの遷移確率」の欄における各行の確率の和は100[%]となっている。
【0058】
したがって、図8の状態遷移表100で表されるノードNODE100では、例えば「ボールを検出(BALL)」し、そのボールの「SIZE(大きさ)」が「0から1000」の範囲であるという認識結果が与えられた場合には、「30[%]」の確率で「ノードNODE120(node 120)」に遷移でき、そのとき「ACTION1」の行動が出力されることとなる。
【0059】
各行動モデル901〜90nは、それぞれこのような状態遷移表100として記述されたノードNODE0〜 NODEnがいくつも繋がるようにして構成されており、入力セマンティクスコンバータモジュール71から認識結果が与えられたときなどに、対応するノードNODE0〜NODEnの状態遷移表を利用して確率的に次の行動を決定し、決定結果を行動切換モジュール91に出力するようになされている。
【0060】
図5に示す行動切換モジュール91は、行動モデルライブラリ90の各行動モデル901〜90nからそれぞれ出力される行動のうち、予め定められた優先順位の高い行動モデル901〜90nから出力された行動を選択し、当該行動を実行すべき旨のコマンド(以下、これを行動コマンドという。)をミドル・ウェア・レイヤ50の出力セマンティクスコンバータモジュール79に送出する。なお、この実施の形態においては、図6において下側に表記された行動モデル901〜90nほど優先順位が高く設定されている。
【0061】
また、行動切換モジュール91は、行動完了後に出力セマンティクスコンバータモジュール79から与えられる行動完了情報に基づいて、その行動が完了したことを学習モジュール92、感情モデル93及び本能モデル94に通知する。
【0062】
一方、学習モジュール92は、入力セマンティクスコンバータモジュール71から与えられる認識結果のうち、「叱られた」や「誉められた」など、使用者からの働きかけとして受けた教示の認識結果を入力する。そして、学習モジュール92は、この認識結果及び行動切換モジュール91からの通知に基づいて、「叱られた」ときにはその行動の発現確率を低下させ、「誉められた」ときにはその行動の発現確率を上昇させるように、行動モデルライブラリ90における対応する行動モデル901〜90nの対応する遷移確率を変更する。
【0063】
他方、感情モデル93は、「喜び(JOY)」、「悲しみ(SADNESS)」、「怒り(ANGER)」、「驚き(SURPRISE)」、「嫌悪(DISGUST)」及び「恐れ(FEAR)」の合計6つの情動について、各情動ごとにその情動の強さを表すパラメータを保持している。そして、感情モデル93は、これら各情動のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール71から与えられる「叱られた」及び「誉められた」などの特定の認識結果と、経過時間及び行動切換モジュール91からの通知などに基づいて周期的に更新する。
【0064】
具体的には、感情モデル93は、入力セマンティクスコンバータモジュール71から与えられる認識結果と、そのときのロボット装置1の行動と、前回更新してからの経過時間などに基づいて所定の演算式により算出されるそのときのその情動の変動量を△E[t]、現在のその情動のパラメータ値をE[t]、その情動の感度を表す係数をkeとして、(1)式によって次の周期におけるその情動のパラメータ値E[t+1]を算出し、これを現在のその情動のパラメータ値E[t]と置き換えるようにしてその情動のパラメータ値を更新する。また、感情モデル73は、これと同様にして全ての情動のパラメータ値を更新する。
【0065】
【数1】
【0066】
なお、各認識結果や出力セマンティクスコンバータモジュール79からの通知が各情動のパラメータ値の変動量△E[t]にどの程度の影響を与えるかは予め決められており、例えば「叩かれた」といった認識結果は「怒り」の情動のパラメータ値の変動量△E[t]に大きな影響を与え、「撫でられた」といった認識結果は「喜び」の情動のパラメータ値の変動量△E[t]に大きな影響を与えるようになっている。
【0067】
ここで、出力セマンティクスコンバータモジュール79からの通知とは、いわゆる行動のフィードバック情報(行動完了情報)であり、行動の出現結果の情報であり、感情モデル93は、このような情報によっても感情を変化させる。これは、例えば、「吠える」といった行動により怒りの感情レベルが下がるといったようなことである。なお、出力セマンティクスコンバータモジュール79からの通知は、上述した学習モジュール92にも入力されており、学習モジュール92は、その通知に基づいて行動モデル901〜90nの対応する遷移確率を変更する。
【0068】
なお、行動結果のフィードバックは、行動切換モジュール91の出力(感情が付加された行動)によりなされるものであってもよい。
【0069】
一方、本能モデル94は、「運動欲(exercise)」、「愛情欲(affection)」、「食欲(appetite)」及び「好奇心(curiosity)」の互いに独立した4つの欲求について、これら欲求ごとにその欲求の強さを表すパラメータを保持している。そして、本能モデル94は、これらの欲求のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール71から与えられる認識結果や、経過時間及び行動切換モジュール91からの通知などに基づいて周期的に更新する。
【0070】
具体的には、本能モデル94は、「運動欲」、「愛情欲」及び「好奇心」については、認識結果、経過時間及び出力セマンティクスコンバータモジュール68からの通知などに基づいて所定の演算式により算出されるそのときのその欲求の変動量をΔI[k]、現在のその欲求のパラメータ値をI[k]、その欲求の感度を表す係数kiとして、所定周期で(2)式を用いて次の周期におけるその欲求のパラメータ値I[k+1]を算出し、この演算結果を現在のその欲求のパラメータ値I[k]と置き換えるようにしてその欲求のパラメータ値を更新する。また、本能モデル94は、これと同様にして「食欲」を除く各欲求のパラメータ値を更新する。
【0071】
【数2】
【0072】
なお、認識結果及び出力セマンティクスコンバータモジュール79からの通知などが各欲求のパラメータ値の変動量△I[k]にどの程度の影響を与えるかは予め決められており、例えば出力セマンティクスコンバータモジュール79からの通知は、「疲れ」のパラメータ値の変動量△I[k]に大きな影響を与えるようになっている。
【0073】
なお、本実施の形態においては、各情動及び各欲求(本能)のパラメータ値がそれぞれ0から100までの範囲で変動するように規制されており、また係数ke、kiの値も各情動及び各欲求ごとに個別に設定されている。
【0074】
一方、ミドル・ウェア・レイヤ50の出力セマンティクスコンバータモジュール79は、図4に示すように、上述のようにしてアプリケーション・レイヤ51の行動切換モジュール91から与えられる「前進」、「喜ぶ」、「鳴く」又は「トラッキング(ボールを追いかける)」といった抽象的な行動コマンドを出力系80の対応する信号処理モジュール72〜78に与える。
【0075】
そしてこれら信号処理モジュール72〜78は、行動コマンドが与えられると当該行動コマンドに基づいて、その行動を行うために対応するアクチュエータ281〜28n(図2)に与えるべきサーボ指令値や、スピーカ20(図2)から出力する音の音声データ及び/又は発光部25(図2)のLEDに与える駆動データを生成し、これらのデータをロボティック・サーバ・オブジェクト42のバーチャル・ロボット43及び信号処理回路14(図2)を順次介して対応するアクチュエータ281〜28n、スピーカ20又は発光部25に順次送出する。
【0076】
このようにしてロボット装置1においては、制御プログラムに基づいて、自己(内部)及び周囲(外部)の状況や、使用者からの指示及び働きかけに応じた自律的な行動を行うことができるようになされている。
【0077】
(3)ロボット装置への本発明の適用
以下、本発明を上述したような構造を有するロボット装置1に適用した例について説明する。上述したように、本実施の形態におけるロボット装置1は、CCDカメラ22(図2)によって撮像した画像データ内の動体を検出し、検出した動体の方向を向く、或いはトラッキングするなどといった行動を行う。
【0078】
ここで、フレーム間の差分画像を生成した場合、動体の動きが停止した時点で差分値が0となる。例えば、図9に示すように、それぞれ時刻t1〜t4における人間を撮像した画像データP1〜P4について差分画像データD1〜D3を生成した場合、時刻t3及びt4間で顔が静止していると、差分画像データD3から顔の差分データが消失してしまう。つまり、差分画像データから動体が消失したということは、動体がその場から消失したのではなく、消えた場所に動体が存在するということを意味している。
【0079】
そこで、本実施の形態におけるロボット装置1は、この差分が0となる時点を検出し、その直前の差分画像における重心位置の方向にCCDカメラ22を向けることで重心位置の方向を向き、又は重心位置の方向に近付く。すなわち、図10のフローチャートに示すように、先ずステップS1において、差分画像データの重心位置を計算することで動体を検出し、ステップS2において、検出した動体が差分画像データから消失したか否かが判別される。ステップS2において動体が消えていない場合(No)にはステップS1に戻る。一方、ステップS2において動体が消えた場合(Yes)にはステップS3に進み、消失した方向、すなわち直前の差分画像における重心位置の方向を向く、或いはその重心位置の方向に近付く。
【0080】
なお、検出した動体がロボット装置1の視覚範囲から外れた場合にも差分画像から動体が消失するが、この場合にも上述のステップS3において最後に検出された重心位置の方向を向くことで、ほぼ動体の方向を向くことができる。
【0081】
このように、本実施の形態におけるロボット装置1は、視覚範囲内で動体が静止したことにより差分画像データから消失するのを検出し、その重心位置の方向を向くようにすることで、例えば人間等の動体の気配を感じてその方向を向くという自律的なインタラクションを実現できる。また、動体が視覚範囲から外れたことにより差分画像データから消失するのを検出し、最後に検出された重心位置の方向を向くようにすることで、ほぼ動体の方向を向くことができる。
【0082】
また、ロボット装置1は、差分画像データから動体が消失した場合のみならず、所定の時間間隔毎、或いは動体の重心位置が視覚範囲から外れそうになる毎に検出された重心方向を向き、動体をトラッキングするようにしても構わない。すなわち、図11のフローチャートに示すように、先ずステップS10において、差分画像データの重心位置を計算することで動体を検出し、ステップS11において、所定の時間間隔毎、或いは動体が視覚範囲から外れそうになる毎に検出された重心位置の方向を向く。
【0083】
ここで、ロボット装置1は、前述のように差分画像データから動体が消失した場合の他、ステップS11におけるロボット装置1の動きが大きい場合には、動き補償によって自己の動きと動体の動きとを区別することができなくなり、動体を見失ってしまう。そこでステップS12において、動体を見失ったか否かが判別される。ステップS12において動体を見失っていない場合(No)にはステップS10に戻る。一方、ステップS12において動体を見失った場合(Yes)にはステップS13に進み、最後に検出された重心位置の方向を向く。
【0084】
このように、本実施の形態におけるロボット装置1は、所定の時間間隔毎、或いは動体が視覚範囲から外れそうになる毎に検出された重心方向を向き、動体を見失った場合に最後に検出された重心位置の方向を向くようにすることで、頭部ユニット4に設けられたCCDカメラ22によって撮像した画像内の動体を簡易な手法により検出し、トラッキングすることが可能となる。
【0085】
以上の処理は、図4に示したミドル・ウェア・レイヤ50の認識系71における動き検出用信号処理モジュール68を、差分画像生成モジュール110と重心計算モジュール111とによって構成することで実現される。
【0086】
すなわち、図12に示すように、ロボティック・サーバ・オブジェクト42のバーチャル・ロボット43は、CCDカメラ22によって撮像されたフレーム単位の画像データをDRAM11から読み出し、この画像データをミドル・ウェア・レイヤ50の認識系71に含まれる差分画像生成モジュール110に送出する。
【0087】
差分画像生成モジュール110は、画像データを入力する毎に時間軸上で隣接する前フレームの画像データとの差分をとって差分画像データを生成し、この差分画像データを重心計算モジュール111に与える。例えば、上述した画像データP2と画像データP3との差分画像データD2を生成する場合、位置(i,j)における差分画像データD2の輝度値D2(i,j)は、位置(i,j)における画像データP3の輝度値P3(i,j)から同位置における画像データP2の輝度値P2(i,j)を減算することで得られる。差分画像生成モジュール110は、全画素について同様の計算を行って差分画像データD2を生成し、この差分画像データD2を重心計算モジュール111に与える。
【0088】
そして、重心計算モジュール111は、差分画像データのうち、輝度値が閾値Thよりも大きい部分についての重心位置G(x,y)を計算する。ここで、x、yは、それぞれ以下の(3)式、(4)式を用いて計算される。
【0089】
【数3】
【0090】
これにより、図13に示すように、例えば上述した画像データP2と画像データP3との差分画像データD2から、重心位置G2が求められる。
【0091】
重心計算モジュール111は、求めた重心位置のデータをアプリケーション・レイヤ51の行動モデルライブラリ90に送出する。
【0092】
行動モデルライブラリ90は、必要に応じて情動のパラメータ値や欲求のパラメータ値を参照しながら続く行動を決定し、決定結果を行動切換モジュール91に与える。例えば、差分画像データから動体が消失した場合には、直前に検出された重心位置を向く、或いは近付く行動を決定し、決定結果を行動切換モジュール91に与える。また、所定の時間間隔毎に動体をトラッキングする場合には、その時間間隔毎に検出された重心位置を向く、或いは近付く行動を決定し、決定結果を行動切換モジュール91に与える。そして、行動切換モジュール91は、当該決定結果に基づく行動コマンドをミドル・ウェア・レイヤ50の出力系80におけるトラッキング用信号処理モジュール73に送出する。
【0093】
トラッキング用信号処理モジュール73は、行動コマンドが与えられると当該行動コマンドに基づいて、その行動を行うために対応するアクチュエータ281〜28nに与えるべきサーボ指令値を生成し、このデータをロボティック・サーバ・オブジェクト42のバーチャル・ロボット43及び信号処理回路14(図2)を順次介して対応するアクチュエータ281〜28nに順次送出する。
【0094】
この結果、例えば、差分画像データから動体が消失した場合には、行動モデルライブラリ90によって、直前に検出された重心位置を向く、或いは近付く行動が決定され、行動切換モジュール91によって、その行動を行わせるための行動コマンドが生成される。また、所定の時間間隔毎に動体をトラッキングする場合には、行動モデルライブラリ90によって、その時間間隔毎に検出された重心位置を向く、或いは近付く行動が決定され、行動切換モジュール91によって、その行動を行わせるための行動コマンドが生成される。
【0095】
そして、この行動コマンドがトラッキング用信号処理モジュール73に与えられると、当該トラッキング用信号処理モジュール73は、その行動コマンドに基づくサーボ指令値を対応するアクチュエータ281〜28nに送出し、これによりロボット装置1が動体に興味を示して頭部をその方向に向けたり、動体の方向に近付いたりする行動が発現される。
【0096】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【0097】
例えば、上述の実施の形態では、CCDカメラ22によって撮像した画像データ中の動体を検出する処理をソフトウェアによって実現するものとして説明したが、これに限定されるものではなく、少なくとも一部をハードウェアによって実現するようにしてもよい。
【0098】
【発明の効果】
以上詳細に説明したように本発明に係るロボット装置は、外部刺激及び/又は内部状態に応じて自律的に行動する自律型のロボット装置において、少なくとも外部の動体を撮像する撮像手段と、上記撮像手段によって撮像された時間軸上で隣接する画像間の差分画像を生成する差分画像生成手段と、上記差分画像の重心位置を計算する重心計算手段と、少なくとも上記重心位置に基づいて行動を生成する行動生成手段とを備え、上記行動生成手段は、上記差分画像中の動体が消失した場合に、上記差分画像の最後に検出された重心位置の方向に上記撮像手段を向ける行動を生成する。
【0099】
また、本発明に係るロボット装置は、外部刺激及び/又は内部状態に応じて自律的に行動する自律型のロボット装置において、少なくとも外部の動体を撮像する撮像手段と、上記撮像手段によって撮像された時間軸上で隣接する画像間の差分画像を生成する差分画像生成手段と、上記差分画像の重心位置を計算する重心計算手段と、少なくとも上記重心位置に基づいて行動を生成する行動生成手段とを備え、上記行動生成手段は、所定の時間間隔毎又は上記差分画像の重心位置が当該差分画像から外れそうになる毎に上記差分画像の重心位置の方向に上記撮像手段を向ける行動を生成すると共に、上記差分画像中の動体を見失った場合には、上記差分画像の最後に検出された重心位置の方向に上記撮像手段を向ける行動を生成する。
【0100】
このようなロボット装置は、撮像手段によって撮像された時間軸上で隣接する画像間の差分画像の重心位置を計算し、差分画像中の動体が消失した場合に、最後に検出された重心位置の方向に上記撮像手段を向ける。
【0101】
また、ロボット装置は、撮像手段によって撮像された時間軸上で隣接する画像間の差分画像の重心位置を計算し、所定の時間間隔毎又は差分画像の重心位置が当該差分画像から外れそうになる毎に上記差分画像の重心位置の方向に撮像手段を向けると共に、上記差分画像中の動体を見失った場合には、最後に検出された重心位置の方向に上記撮像手段を向ける。
【0102】
これにより、撮像手段により撮像した画像内の動体を簡易な手法により検出し、トラッキングすることが可能となる。
【0103】
また、本発明に係るロボット装置の動作制御方法は、外部刺激及び/又は内部状態に応じて自律的に行動する自律型のロボット装置の動作制御方法において、撮像手段により少なくとも外部の動体を撮像する撮像工程と、上記撮像工程にて撮像された時間軸上で隣接する画像間の差分画像を生成する差分画像工程と、上記差分画像の重心位置を計算する重心計算工程と、少なくとも上記重心位置に基づいて行動を生成する行動生成工程とを有し、上記行動生成工程では、上記差分画像中の動体が消失した場合に、上記差分画像の最後に検出された重心位置の方向に上記撮像手段を向ける行動が生成される。
【0104】
また、本発明に係るロボット装置の動作制御方法は、外部刺激及び/又は内部状態に応じて自律的に行動する自律型のロボット装置の動作制御方法において、撮像手段により少なくとも外部の動体を撮像する撮像工程と、上記撮像工程にて撮像された時間軸上で隣接する画像間の差分画像を生成する差分画像工程と、上記差分画像の重心位置を計算する重心計算工程と、少なくとも上記重心位置に基づいて行動を生成する行動生成工程とを有し、上記行動生成工程では、所定の時間間隔毎又は上記差分画像の重心位置が当該差分画像から外れそうになる毎に上記差分画像の重心位置の方向に上記撮像手段を向ける行動が生成されると共に、上記差分画像中の動体が消失した場合には、上記差分画像の最後に検出された重心位置の方向に上記撮像手段を向ける行動が生成される。
【0105】
このようなロボット装置の動作制御方法では、撮像手段によって撮像された時間軸上で隣接する画像間の差分画像の重心位置が計算され、差分画像中の動体が消失した場合に、最後に検出された重心位置の方向に上記撮像手段が向けられる。
【0106】
また、ロボット装置の動作制御方法では、撮像手段によって撮像された時間軸上で隣接する画像間の差分画像の重心位置が計算され、所定の時間間隔毎又は差分画像の重心位置が当該差分画像から外れそうになる毎に上記差分画像の重心位置の方向に撮像手段が向けられると共に、上記差分画像中の動体を見失った場合には、最後に検出された重心位置の方向に上記撮像手段が向けられる。
【0107】
これにより、撮像手段により撮像した画像内の動体を簡易な手法により検出し、トラッキングすることが可能となる。
【図面の簡単な説明】
【図1】本発明の実施の形態におけるロボット装置の外観構成を示す斜視図である。
【図2】同ロボット装置の回路構成を示すブロック図である。
【図3】同ロボット装置のソフトウェア構成を示すブロック図である。
【図4】同ロボット装置のソフトウェア構成におけるミドル・ウェア・レイヤの構成を示すブロック図である。
【図5】同ロボット装置のソフトウェア構成におけるアプリケーション・レイヤの構成を示すブロック図である。
【図6】同アプリケーション・レイヤの行動モデルライブラリの構成を示すブロック図である。
【図7】同ロボット装置の行動決定のための情報となる有限確率オートマトンを説明する図である。
【図8】有限確率オートマトンの各ノードに用意された状態遷移表を示す図である。
【図9】差分画像データから動体が消える例を説明する図である。
【図10】差分画像データから動体が消失した方向を向く場合の手順を説明するフローチャートである。
【図11】動体をトラッキングする場合の手順を説明するフローチャートである。
【図12】同ロボット装置の動体検出に関連する部分のソフトウェア構成を示すブロック図である。
【図13】差分画像データの重心位置を求める例を説明する図である。
【符号の説明】
1 ロボット装置、10 CPU、11 DRAM、14 信号処理回路、22 CCDカメラ、281〜28n アクチュエータ、42 ロボティック・サーバ・オブジェクト、43 バーチャル・ロボット、50 ミドル・ウェア・レイヤ、51 アプリケーション・レイヤ、68 動き検出用信号処理モジュール、70 入力セマンティクスコンバータモジュール、71 認識系、73 トラッキング用信号処理モジュール、79 出力セマンティクスコンバータモジュール、80 出力系、90 行動モデルライブラリ、91 行動切換モジュール、110 差分画像生成モジュール、111 重心計算モジュール[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an autonomous robot apparatus that directs or tracks a moving object in an external environment and an operation control method thereof.
[0002]
[Prior art]
A mechanical device that performs a motion similar to the motion of a human (living organism) using an electric or magnetic action is called a “robot”. Robots have begun to spread in Japan since the late 1960s, and most of them have been industrial robots (Industrial Robots) such as manipulators and transfer robots for the purpose of automation and unmanned production work in factories. Met.
[0003]
Recently, practical robots have been developed which support life as a human partner, that is, support human activities in various situations in a living environment and other daily lives. Unlike an industrial robot, such a practical robot has the ability to learn a human being having different personalities individually or a method of adapting to various environments in various aspects of a human living environment. For example, a "pet-type" robot that simulates the body mechanism and operation of a four-legged animal such as a dog or a cat, or a model designed based on the body mechanism or motion of an animal that walks upright on two legs. Legged mobile robots, such as "humanoid" or "humanoid" robots, are already being put into practical use.
[0004]
Since these legged mobile robots can perform various operations that emphasize entertainment properties as compared with industrial robots, they may be referred to as entertainment robots.
[0005]
The legged mobile robot has an appearance shape as close as possible to the appearance of animals and humans, and is designed to perform an operation as close as possible to the motion of animals and humans. For example, in the case of the above-mentioned four-legged “pet-type” robot, it has an appearance similar to that of a dog or a cat bred in a general household, and the user (owner) makes an action such as “hit” or “stroke”. And act autonomously according to the surrounding environment. For example, as an autonomous action, an action such as “barking” or “sleeping” is performed in the same manner as an actual animal.
[0006]
By the way, some legged mobile robots determine the surrounding situation based on an image captured by a CCD (Charge Coupled Device) camera, and act autonomously based on the determination result. According to such a legged mobile robot, for example, a moving object existing in the surroundings can be detected, and the moving object can be tracked.
[0007]
Here, as a method of detecting a moving object in an image by image processing, various methods have been conventionally proposed and put into practical use. These methods are roughly classified into a first method of obtaining a pixel difference between frame images, a second method of obtaining an optical flow at an arbitrary point on an image using a spatio-temporal filter, and a small region between frames. And a third method of obtaining the motion of the area. These methods are based on the premise that a camera for capturing an image is fixed and the detected movement is an external movement.
[0008]
However, when the robot apparatus itself operates like the above-mentioned legged mobile robot, the mounted CCD camera moves large and complicated with its own operation. For this reason, when trying to detect a moving object in an image by the above-described first to third methods, the entire image greatly moves between frames. Therefore, even if the moving object is actually imaged, the movement is detected. Was difficult.
[0009]
In view of this, the applicant of the present application has proposed, in
[0010]
[Patent Document 1]
JP 2002-251615 A
[0011]
[Problems to be solved by the invention]
However, in the technology described in
[0012]
Therefore, in a robot device having a limited computing capability, such as the above-mentioned pet-type robot, a technique for more easily detecting a moving object in an imaged image is desired.
[0013]
The present invention has been proposed in view of such a conventional situation, and it is an object of the present invention to provide a robot apparatus capable of detecting a moving object in a captured image by a simple method and enabling tracking, and a moving object detecting method thereof. Aim.
[0014]
[Means for Solving the Problems]
In order to achieve the above-described object, a robot device according to the present invention is an autonomous robot device that autonomously acts in response to an external stimulus and / or an internal state, and includes an imaging unit that captures at least an external moving object; Difference image generation means for generating a difference image between images adjacent on the time axis captured by the imaging means, gravity center calculation means for calculating a gravity center position of the difference image, and an action based on at least the gravity center position An action generating means for generating, when the moving object in the difference image has disappeared, the action generating means generates an action of directing the imaging means in the direction of the last detected center of gravity of the difference image. .
[0015]
Further, in order to achieve the above-described object, a robot apparatus according to the present invention is an autonomous robot apparatus that autonomously behaves in response to an external stimulus and / or an internal state. A difference image generation unit that generates a difference image between images adjacent on the time axis captured by the imaging unit, a center of gravity calculation unit that calculates a center of gravity of the difference image, and at least based on the position of the center of gravity. Action generating means for generating an action, wherein the action generating means is arranged in the direction of the center of gravity of the difference image at predetermined time intervals or each time the center of gravity of the difference image is likely to deviate from the difference image. In addition to generating an action of directing the imaging unit, if the moving object in the difference image is lost, the imaging unit is moved in the direction of the last detected center of gravity of the difference image. To generate a kick action.
[0016]
Here, the action generation means can also generate an action approaching the direction of the position of the center of gravity.
[0017]
The robot device has an external shape imitating an animal, for example, and the imaging means is provided on a head movably connected to the body.
[0018]
Such a robot device calculates the center of gravity of the difference image between the images adjacent on the time axis captured by the imaging unit, and when the moving object in the difference image disappears, calculates the center of gravity of the last detected center of gravity. Orient the imaging means in the direction.
[0019]
Further, the robot apparatus calculates the center of gravity of the difference image between the images adjacent on the time axis captured by the imaging unit, and the center of gravity of the difference image is likely to deviate from the difference image at every predetermined time interval or Each time the imaging means is directed in the direction of the center of gravity of the difference image, and when the moving object in the difference image is lost, the imaging means is directed in the direction of the last detected center of gravity.
[0020]
According to another aspect of the present invention, there is provided an operation control method for a robot apparatus according to the present invention, wherein the operation control method for an autonomous robot apparatus that autonomously acts in response to an external stimulus and / or an internal state includes an An imaging step of capturing at least an external moving body by means, a difference image step of generating a difference image between images adjacent on the time axis taken in the imaging step, and a center of gravity for calculating a center of gravity of the difference image A calculating step, and an action generating step of generating an action based on at least the position of the center of gravity. In the action generating step, when a moving object in the difference image has disappeared, the motion is detected at the end of the difference image. An action of pointing the imaging unit in the direction of the center of gravity is generated.
[0021]
According to another aspect of the present invention, there is provided an operation control method for a robot apparatus, the method comprising: An imaging step of capturing at least an external moving body by means, a difference image step of generating a difference image between images adjacent on the time axis taken in the imaging step, and a center of gravity for calculating a center of gravity of the difference image A calculating step and an action generating step of generating an action based on at least the position of the center of gravity, wherein in the action generating step, the center of gravity of the difference image is likely to deviate from the difference image at predetermined time intervals or Each time an action of pointing the imaging means in the direction of the center of gravity of the difference image is generated, and when the moving object in the difference image has disappeared, the detection is performed at the end of the difference image. Behavioral directing the imaging means in the direction of the gravity center position is generated.
[0022]
Here, in the action generation step, an action approaching the direction of the position of the center of gravity can be generated.
[0023]
In addition, the robot device has an external shape imitating an animal, for example, and the imaging unit is provided on a head movably connected to a body.
[0024]
In such an operation control method for a robot device, the position of the center of gravity of the difference image between the images adjacent on the time axis captured by the imaging unit is calculated, and when the moving object in the difference image disappears, it is detected last. The imaging means is directed in the direction of the position of the center of gravity.
[0025]
Further, in the operation control method of the robot apparatus, the position of the center of gravity of the difference image between adjacent images on the time axis captured by the imaging unit is calculated, and the center of gravity of the difference image is determined at predetermined time intervals or from the difference image. Each time it is likely to deviate, the imaging means is directed in the direction of the center of gravity of the difference image, and if the moving object in the difference image is lost, the imaging means is directed in the direction of the last detected center of gravity. Can be
[0026]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, specific embodiments to which the present invention is applied will be described in detail with reference to the drawings. This embodiment is an autonomous robot device that performs an autonomous action according to an external environment (or an external stimulus) or an internal state.
[0027]
In the embodiment, first, the configuration of the robot device will be described, and thereafter, a portion to which the present invention is applied in the robot device will be described in detail.
[0028]
(1) Configuration of robot device according to the present embodiment
As shown in FIG. 1, a
[0029]
As shown in FIG. 2, the
[0030]
The
[0031]
Actuators 28 for the number of degrees of freedom are provided at joints of the
[0032]
Although not shown here, the
[0033]
Then, in the
[0034]
The
[0035]
The switch data, sensor data, image data, audio data, and remaining battery data stored in the DRAM 11 in this manner are used when the CPU 10 controls the operation of the
[0036]
The CPU 10 reads the control program stored in the
[0037]
The CPU 10, based on the sensor data, image data, audio data, and remaining battery data sequentially stored in the DRAM 11 from the
[0038]
Further, the CPU 10 determines the subsequent action based on the result of the determination and the control program stored in the DRAM 11, and determines the necessary actuator 28 based on the determined result. 1 ~ 28 n , The
[0039]
Further, at this time, the CPU 10 generates audio data as necessary, and supplies the generated audio data to the
[0040]
In this way, the
[0041]
(2) Software configuration of control program
Here, the software configuration of the above-described control program in the
[0042]
The
[0043]
The
[0044]
The
[0045]
FIG. 4 shows specific software configurations of the
[0046]
As shown in FIG. 4, the
[0047]
Each of the
[0048]
The input
[0049]
As shown in FIG. 5, the
[0050]
As shown in FIG. 6, the
[0051]
And these
[0052]
In this embodiment, each
[0053]
Specifically, each
[0054]
In this state transition table 100, the node NODE 0 ~ NODE n , Input events (recognition results) as transition conditions are listed in order of priority in the column of “input event name”, and further conditions for the transition condition are described in corresponding rows in the columns of “data name” and “data range”. Have been.
[0055]
Therefore, the node NODE represented by the state transition table 100 of FIG. 100 In the above, when the recognition result of “detection of ball (BALL)” is given, the “size” of the ball given together with the recognition result is in the range of “0 to 1000”, When a recognition result of “obstacle detected (OBSTACLE)” is given, the other node that the “distance” to the obstacle given together with the recognition result is in the range of “0 to 100”. This is the condition for transitioning to.
[0056]
Also, this node NODE 100 Then, even if there is no input of the recognition result, the
[0057]
In the state transition table 100, the row of “transition destination node” in the column of “transition probability to another node” indicates that node NODE. 0 ~ NODE n The node names that can be transitioned from are listed, and other nodes NODE that can transition when all the conditions described in the columns of “input event name”, “data value”, and “data range” are met 0 ~ NODE n To the corresponding node in the column “Transition probability to another node”, and the node NODE 0 ~ NODE n The action to be output when transitioning to is described in the row of “output action” in the column of “transition probability to another node”. Note that the sum of the probabilities of each row in the column of “transition probability to another node” is 100 [%].
[0058]
Therefore, the node NODE represented by the state transition table 100 of FIG. 100 Then, for example, when "the ball is detected (BALL)" and a recognition result indicating that the "SIZE (size)" of the ball is in the range of "0 to 1000" is given, "30 [%]" With the probability of "node NODE 120 (Node 120) ", and the action of" ACTION1 "is output at that time.
[0059]
Each
[0060]
The
[0061]
Further, the
[0062]
On the other hand, the
[0063]
On the other hand, the
[0064]
Specifically, the
[0065]
(Equation 1)
[0066]
The degree to which each recognition result and the notification from the output
[0067]
Here, the notification from the output
[0068]
The feedback of the action result may be made by the output of the action switching module 91 (the action to which the emotion is added).
[0069]
On the other hand, the
[0070]
Specifically, the
[0071]
(Equation 2)
[0072]
Note that the degree to which the recognition result and the notification from the output
[0073]
Note that, in the present embodiment, the parameter values of each emotion and each desire (instinct) are regulated so as to fluctuate in the range of 0 to 100, and the coefficient k e , K i Is also set individually for each emotion and each desire.
[0074]
On the other hand, as shown in FIG. 4, the output
[0075]
When an action command is given, the
[0076]
In this way, the
[0077]
(3) Application of the present invention to a robot device
Hereinafter, an example in which the present invention is applied to a
[0078]
Here, when a difference image between frames is generated, the difference value becomes 0 when the movement of the moving object stops. For example, as shown in FIG. 1 ~ T 4 Data P of a human being captured at 1 ~ P 4 For the difference image data D 1 ~ D 3 Is generated, the time t 3 And t 4 If the face is still between, the difference image data D 3 , The difference data of the face is lost. That is, the fact that the moving object has disappeared from the difference image data means that the moving object does not disappear from the place but exists at the place where it disappeared.
[0079]
Therefore, the
[0080]
In addition, even when the detected moving object is out of the visual range of the
[0081]
As described above, the
[0082]
In addition, the
[0083]
Here, in addition to the case where the moving object has disappeared from the difference image data as described above, when the movement of the
[0084]
As described above, the
[0085]
The above processing is realized by configuring the motion detection
[0086]
That is, as shown in FIG. 12, the
[0087]
Each time image data is input, the difference
[0088]
Then, the center-of-
[0089]
[Equation 3]
[0090]
Thereby, for example, as shown in FIG. 2 And image data P 3 Difference image data D 2 From the center of gravity G 2 Is required.
[0091]
The center-of-
[0092]
The
[0093]
When an action command is given, the tracking
[0094]
As a result, for example, when the moving object disappears from the differential image data, the
[0095]
When this action command is given to the tracking
[0096]
It should be noted that the present invention is not limited to only the above-described embodiment, and it is needless to say that various changes can be made without departing from the gist of the present invention.
[0097]
For example, in the above-described embodiment, the process of detecting a moving object in image data captured by the
[0098]
【The invention's effect】
As described in detail above, the robot apparatus according to the present invention is an autonomous robot apparatus that autonomously acts in response to an external stimulus and / or an internal state. Means for generating a difference image between images adjacent on the time axis captured by the means, means for calculating the center of gravity of the difference image, and means for generating an action based at least on the position of the center of gravity An action generating means for generating, when the moving object in the difference image has disappeared, the action of pointing the imaging means in the direction of the last detected center of gravity of the difference image.
[0099]
In addition, the robot apparatus according to the present invention is an autonomous robot apparatus that autonomously acts in response to an external stimulus and / or an internal state. A difference image generating means for generating a difference image between images adjacent on a time axis, a center of gravity calculating means for calculating a center of gravity of the difference image, and an action generating means for generating an action based at least on the position of the center of gravity. Wherein the action generation means generates an action of directing the imaging means in the direction of the center of gravity of the difference image at predetermined time intervals or each time the center of gravity of the difference image is likely to deviate from the difference image. If the moving object in the difference image is lost, an action of pointing the imaging unit in the direction of the last detected center of gravity of the difference image is generated.
[0100]
Such a robot device calculates the center of gravity of the difference image between the images adjacent on the time axis captured by the imaging unit, and when the moving object in the difference image disappears, calculates the center of gravity of the last detected center of gravity. Orient the imaging means in the direction.
[0101]
Further, the robot apparatus calculates the center of gravity of the difference image between the images adjacent on the time axis captured by the imaging unit, and the center of gravity of the difference image is likely to deviate from the difference image at every predetermined time interval or Each time the imaging means is directed in the direction of the center of gravity of the difference image, and when the moving object in the difference image is lost, the imaging means is directed in the direction of the last detected center of gravity.
[0102]
This makes it possible to detect and track a moving object in an image captured by the imaging unit using a simple method.
[0103]
The operation control method for a robot device according to the present invention is the operation control method for an autonomous robot device that autonomously acts according to an external stimulus and / or an internal state, wherein at least an external moving body is imaged by the imaging unit. An imaging step, a difference image step of generating a difference image between images adjacent on the time axis taken in the imaging step, a gravity center calculation step of calculating a gravity center position of the difference image, and at least the gravity center position. And a behavior generating step of generating a behavior based on the motion generating step. An aiming action is generated.
[0104]
The operation control method for a robot device according to the present invention is the operation control method for an autonomous robot device that autonomously acts according to an external stimulus and / or an internal state, wherein at least an external moving body is imaged by the imaging unit. An imaging step, a difference image step of generating a difference image between images adjacent on the time axis taken in the imaging step, a gravity center calculation step of calculating a gravity center position of the difference image, and at least the gravity center position. An action generation step of generating an action based on the difference generation image, wherein in the action generation step, every predetermined time interval or each time the center of gravity of the difference image is likely to deviate from the difference image, When the action of pointing the imaging unit in the direction is generated and the moving object in the difference image disappears, the imaging is performed in the direction of the last detected center of gravity of the difference image. Action directing means is generated.
[0105]
In such an operation control method for a robot device, the position of the center of gravity of the difference image between the images adjacent on the time axis captured by the imaging unit is calculated, and when the moving object in the difference image disappears, it is detected last. The imaging means is directed in the direction of the position of the center of gravity.
[0106]
Further, in the operation control method of the robot apparatus, the position of the center of gravity of the difference image between adjacent images on the time axis captured by the imaging unit is calculated, and the center of gravity of the difference image is determined at predetermined time intervals or from the difference image. Each time it is likely to deviate, the imaging means is directed in the direction of the center of gravity of the difference image, and if the moving object in the difference image is lost, the imaging means is directed in the direction of the last detected center of gravity. Can be
[0107]
This makes it possible to detect and track a moving object in an image captured by the imaging unit using a simple method.
[Brief description of the drawings]
FIG. 1 is a perspective view illustrating an external configuration of a robot device according to an embodiment of the present invention.
FIG. 2 is a block diagram showing a circuit configuration of the robot device.
FIG. 3 is a block diagram showing a software configuration of the robot device.
FIG. 4 is a block diagram showing a configuration of a middleware layer in a software configuration of the robot apparatus.
FIG. 5 is a block diagram showing a configuration of an application layer in a software configuration of the robot apparatus.
FIG. 6 is a block diagram showing a configuration of a behavior model library of the application layer.
FIG. 7 is a diagram illustrating a finite probability automaton serving as information for determining an action of the robot apparatus.
FIG. 8 is a diagram showing a state transition table prepared for each node of the finite probability automaton.
FIG. 9 is a diagram illustrating an example in which a moving object disappears from difference image data.
FIG. 10 is a flowchart illustrating a procedure in a case where a moving object is directed in a direction in which a moving object has disappeared from difference image data.
FIG. 11 is a flowchart illustrating a procedure for tracking a moving object.
FIG. 12 is a block diagram showing a software configuration of a portion related to moving object detection of the robot device.
FIG. 13 is a diagram illustrating an example of obtaining a center of gravity of difference image data.
[Explanation of symbols]
1 robot apparatus, 10 CPU, 11 DRAM, 14 signal processing circuit, 22 CCD camera, 28 1 ~ 28 n Actuator, 42 robotic server object, 43 virtual robot, 50 middleware layer, 51 application layer, 68 signal processing module for motion detection, 70 input semantics converter module, 71 recognition system, 73 signal processing for tracking Module, 79 output semantics converter module, 80 output system, 90 behavior model library, 91 behavior switching module, 110 difference image generation module, 111 center of gravity calculation module
Claims (12)
少なくとも外部の動体を撮像する撮像手段と、
上記撮像手段によって撮像された時間軸上で隣接する画像間の差分画像を生成する差分画像生成手段と、
上記差分画像の重心位置を計算する重心計算手段と、
少なくとも上記重心位置に基づいて行動を生成する行動生成手段とを備え、
上記行動生成手段は、上記差分画像中の動体が消失した場合に、上記差分画像の最後に検出された重心位置の方向に上記撮像手段を向ける行動を生成すること
を特徴とするロボット装置。In an autonomous robot device that autonomously acts according to an external stimulus and / or an internal state,
Imaging means for imaging at least an external moving body,
Difference image generation means for generating a difference image between images adjacent on the time axis captured by the imaging means,
Centroid calculating means for calculating the centroid position of the difference image;
Behavior generating means for generating a behavior based on at least the position of the center of gravity,
The robot apparatus according to claim 1, wherein, when the moving object in the difference image disappears, the action generation unit generates an action of pointing the imaging unit in the direction of the center of gravity detected last in the difference image.
少なくとも外部の動体を撮像する撮像手段と、
上記撮像手段によって撮像された時間軸上で隣接する画像間の差分画像を生成する差分画像生成手段と、
上記差分画像の重心位置を計算する重心計算手段と、
少なくとも上記重心位置に基づいて行動を生成する行動生成手段とを備え、
上記行動生成手段は、所定の時間間隔毎又は上記差分画像の重心位置が当該差分画像から外れそうになる毎に上記差分画像の重心位置の方向に上記撮像手段を向ける行動を生成すると共に、上記差分画像中の動体を見失った場合には、上記差分画像の最後に検出された重心位置の方向に上記撮像手段を向ける行動を生成することを特徴とするロボット装置。In an autonomous robot device that autonomously acts according to an external stimulus and / or an internal state,
Imaging means for imaging at least an external moving body,
Difference image generation means for generating a difference image between images adjacent on the time axis captured by the imaging means,
Centroid calculating means for calculating the centroid position of the difference image;
Behavior generating means for generating a behavior based on at least the position of the center of gravity,
The action generating means generates an action of directing the imaging means in the direction of the center of gravity of the difference image at predetermined time intervals or each time the center of gravity of the difference image is likely to deviate from the difference image, A robot apparatus, wherein, when a moving object in a difference image is lost, an action of pointing the image pickup means in a direction of a center of gravity detected last in the difference image is generated.
撮像手段により少なくとも外部の動体を撮像する撮像工程と、
上記撮像工程にて撮像された時間軸上で隣接する画像間の差分画像を生成する差分画像工程と、
上記差分画像の重心位置を計算する重心計算工程と、
少なくとも上記重心位置に基づいて行動を生成する行動生成工程とを有し、
上記行動生成工程では、上記差分画像中の動体が消失した場合に、上記差分画像の最後に検出された重心位置の方向に上記撮像手段を向ける行動が生成されること
を特徴とするロボット装置の動作制御方法。In an operation control method of an autonomous robot device that autonomously acts according to an external stimulus and / or an internal state,
An imaging step of imaging at least an external moving body by imaging means;
A difference image step of generating a difference image between images adjacent on the time axis captured in the imaging step,
A center of gravity calculation step of calculating the center of gravity of the difference image;
An action generation step of generating an action based on at least the position of the center of gravity,
In the behavior generating step, when a moving object in the difference image disappears, an action of pointing the imaging unit in a direction of a center of gravity detected last in the difference image is generated. Operation control method.
撮像手段により少なくとも外部の動体を撮像する撮像工程と、
上記撮像工程にて撮像された時間軸上で隣接する画像間の差分画像を生成する差分画像工程と、
上記差分画像の重心位置を計算する重心計算工程と、
少なくとも上記重心位置に基づいて行動を生成する行動生成工程とを有し、
上記行動生成工程では、所定の時間間隔毎又は上記差分画像の重心位置が当該差分画像から外れそうになる毎に上記差分画像の重心位置の方向に上記撮像手段を向ける行動が生成されると共に、上記差分画像中の動体が消失した場合には、上記差分画像の最後に検出された重心位置の方向に上記撮像手段を向ける行動が生成されることを特徴とするロボット装置の動作制御方法。In an operation control method of an autonomous robot device that autonomously acts according to an external stimulus and / or an internal state,
An imaging step of imaging at least an external moving body by imaging means;
A difference image step of generating a difference image between images adjacent on the time axis captured in the imaging step,
A center of gravity calculation step of calculating the center of gravity of the difference image;
An action generation step of generating an action based on at least the position of the center of gravity,
In the action generation step, an action of pointing the imaging unit in the direction of the center of gravity of the difference image is generated at predetermined time intervals or each time the center of gravity of the difference image is likely to deviate from the difference image, An operation control method for a robot apparatus, wherein when a moving object in the difference image disappears, an action of directing the imaging unit in a direction of a center of gravity detected last in the difference image is generated.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002296784A JP2004130426A (en) | 2002-10-09 | 2002-10-09 | Robot device and its operation control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002296784A JP2004130426A (en) | 2002-10-09 | 2002-10-09 | Robot device and its operation control method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004130426A true JP2004130426A (en) | 2004-04-30 |
Family
ID=32286647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002296784A Withdrawn JP2004130426A (en) | 2002-10-09 | 2002-10-09 | Robot device and its operation control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004130426A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009214265A (en) * | 2008-03-12 | 2009-09-24 | Denso Wave Inc | Robot teaching apparatus |
US7881917B2 (en) * | 2006-06-06 | 2011-02-01 | Fanuc Ltd | Apparatus simulating operations between a robot and workpiece models |
CN102662392A (en) * | 2012-05-04 | 2012-09-12 | 西安电子科技大学 | System and method for virtually debugging precise visual servo positioning system |
CN104942809A (en) * | 2015-06-23 | 2015-09-30 | 广东工业大学 | Mechanical arm dynamic fuzzy approximator based on visual servo system |
-
2002
- 2002-10-09 JP JP2002296784A patent/JP2004130426A/en not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7881917B2 (en) * | 2006-06-06 | 2011-02-01 | Fanuc Ltd | Apparatus simulating operations between a robot and workpiece models |
JP2009214265A (en) * | 2008-03-12 | 2009-09-24 | Denso Wave Inc | Robot teaching apparatus |
JP4508252B2 (en) * | 2008-03-12 | 2010-07-21 | 株式会社デンソーウェーブ | Robot teaching device |
CN102662392A (en) * | 2012-05-04 | 2012-09-12 | 西安电子科技大学 | System and method for virtually debugging precise visual servo positioning system |
CN104942809A (en) * | 2015-06-23 | 2015-09-30 | 广东工业大学 | Mechanical arm dynamic fuzzy approximator based on visual servo system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7062356B2 (en) | Robot apparatus, control method for robot apparatus, and toy for robot apparatus | |
JP3855812B2 (en) | Distance measuring method, apparatus thereof, program thereof, recording medium thereof, and robot apparatus mounted with distance measuring apparatus | |
JP4032793B2 (en) | Charging system, charging control method, robot apparatus, charging control program, and recording medium | |
EP1151779A2 (en) | Robot and action deciding method for robot | |
JP4239635B2 (en) | Robot device, operation control method thereof, and program | |
JP2004133637A (en) | Face detector, face detection method and program, and robot apparatus | |
JP2004298977A (en) | Action control device, action control method, action control program and mobile robot device | |
WO2000068879A1 (en) | Robot device, its control method, and recorded medium | |
JP2003159674A (en) | Robot system, external force detecting method and program for the system, and calibration method and program for the system | |
JP2004298975A (en) | Robot device and obstacle searching method | |
JP2004302644A (en) | Face identification device, face identification method, recording medium and robot device | |
JP2003136456A (en) | Robot device, brightness detection method of robot device, brightness detection program and recording medium | |
JP2004130427A (en) | Robot device and method for controling operation of robot device | |
JP2003271958A (en) | Method and processor for processing image, program therefor, recording medium therefor, and robot system of type mounted with image processor | |
JP2004130426A (en) | Robot device and its operation control method | |
JP4379052B2 (en) | Moving object detection apparatus, moving object detection method, and robot apparatus | |
JP2003071775A (en) | Robot device | |
JP2004302645A (en) | Face registration device, face registration method, recording medium and robot device | |
JP4779226B2 (en) | ROBOT DEVICE, IMAGE STORAGE METHOD, IMAGE STORAGE DEVICE, CONTROL PROGRAM, AND RECORDING MEDIUM | |
JP2001157980A (en) | Robot device, and control method thereof | |
JP4193098B2 (en) | TRACKING DEVICE, TRACKING DEVICE TRACKING METHOD, AND ROBOT DEVICE | |
JP2003136439A (en) | Robot device, and method and program for controlling gait of robot device | |
JP2001154707A (en) | Robot device and its controlling method | |
JP2002120183A (en) | Robot device and input information detecting method for robot device | |
JP2001157979A (en) | Robot device, and control method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060110 |