JP4239635B2 - ロボット装置、その動作制御方法、及びプログラム - Google Patents
ロボット装置、その動作制御方法、及びプログラム Download PDFInfo
- Publication number
- JP4239635B2 JP4239635B2 JP2003079146A JP2003079146A JP4239635B2 JP 4239635 B2 JP4239635 B2 JP 4239635B2 JP 2003079146 A JP2003079146 A JP 2003079146A JP 2003079146 A JP2003079146 A JP 2003079146A JP 4239635 B2 JP4239635 B2 JP 4239635B2
- Authority
- JP
- Japan
- Prior art keywords
- recognition
- tracking
- recognition means
- result
- recognizing
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 51
- 230000009471 action Effects 0.000 claims abstract description 69
- 230000010354 integration Effects 0.000 claims description 54
- 230000033001 locomotion Effects 0.000 claims description 51
- 238000001514 detection method Methods 0.000 claims description 33
- 241001465754 Metazoa Species 0.000 claims description 3
- 238000003909 pattern recognition Methods 0.000 claims description 2
- 230000008859 change Effects 0.000 abstract description 8
- 239000000725 suspension Substances 0.000 abstract 1
- 230000006399 behavior Effects 0.000 description 67
- 238000010586 diagram Methods 0.000 description 36
- 230000008451 emotion Effects 0.000 description 35
- 238000012545 processing Methods 0.000 description 30
- 230000005484 gravity Effects 0.000 description 21
- 230000007704 transition Effects 0.000 description 21
- 230000008569 process Effects 0.000 description 16
- 210000003128 head Anatomy 0.000 description 15
- 210000002414 leg Anatomy 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 210000002683 foot Anatomy 0.000 description 10
- 230000001276 controlling effect Effects 0.000 description 9
- 238000013459 approach Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 8
- 210000000887 face Anatomy 0.000 description 8
- 210000004394 hip joint Anatomy 0.000 description 6
- 230000013016 learning Effects 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 6
- 238000005314 correlation function Methods 0.000 description 4
- 238000005286 illumination Methods 0.000 description 4
- 238000003384 imaging method Methods 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 3
- 230000002996 emotional effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 238000012706 support-vector machine Methods 0.000 description 3
- 230000036528 appetite Effects 0.000 description 2
- 235000019789 appetite Nutrition 0.000 description 2
- 210000000544 articulatio talocruralis Anatomy 0.000 description 2
- 238000005311 autocorrelation function Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000008034 disappearance Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 210000001624 hip Anatomy 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 210000001503 joint Anatomy 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 210000000323 shoulder joint Anatomy 0.000 description 2
- 210000001364 upper extremity Anatomy 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 210000002310 elbow joint Anatomy 0.000 description 1
- 210000003414 extremity Anatomy 0.000 description 1
- 210000000245 forearm Anatomy 0.000 description 1
- 210000000629 knee joint Anatomy 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 210000003141 lower extremity Anatomy 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000003739 neck Anatomy 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000031836 visual learning Effects 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
- 210000003857 wrist joint Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0255—Control of position or course in two dimensions specially adapted to land vehicles using acoustic signals, e.g. ultra-sonic singals
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- General Physics & Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Automation & Control Theory (AREA)
- Acoustics & Sound (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Electromagnetism (AREA)
- Manipulator (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
- Toys (AREA)
Description
【発明の属する技術分野】
本発明は、人間等の2足歩行型の身体メカニズムや動作を模した自律的な動作を行うロボット装置、その動作制御方法及びプログラムに関し、特に、対象物を認識し、少なくとも目、首又は体により該対象物をトラッキングするロボット装置、その動作制御方法及びプログラムに関する。
【0002】
【従来の技術】
近年、外観形状が人間又は動物に模して形成された例えばエンターテインメント型のロボット装置が提供されている。このようなロボット装置は、外部からの情報(例えば、周囲環境の情報等)や内部の状態(例えば、感情状態等)等に応じて首関節や脚等を自律的に動作させることで、人間又は動物のような動作を表出させている。このようなロボット装置は、撮像手段や音声入力手段等を有し、例えば撮像した画像内から人物の顔を抽出し、この顔をトラッキングしながら特定の個人を識別するものもあり、よりエンターテインメント性のあるものとなっている。
【0003】
こうしたロボット装置に搭載される顔識別のアプリケーションでは、ある与えられた1枚のシーンの中の人物を識別する問題に加え、次のような問題を解決する必要がある。
(1)ロボット装置自身が移動するため、環境の変化やその多様性を許容しなくてはならない
(2)人間とロボット装置の位置関係も変化するため、インタラクション中には人間を視野に入れ続ける必要がある
(3)数多くのシーン画像から人物の識別に使える画像を選び出し、総合的に判断しなくてはならない
(4)ある時間内に応答しなくてはならない
【0004】
このような条件下においても、ロボット装置自体の自律性を損なうことなく、限られたリソースにおいても顔識別可能なロボット装置が下記特許文献1に記載されている。この特許文献1に記載のロボット装置においては、撮像手段により撮像された画像内で変化する顔を追跡する(トラッキングする)顔追跡手段と、顔追跡手段による顔の追跡情報に基づいて、撮像手段により撮像された画像内の顔の顔データを検出する顔データ検出手段と、顔データ検出手段が検出した顔データに基づいて、特定顔を識別(個人認識)する顔識別手段とを備える。これにより、画像内で変化する顔を追跡しながら当該顔の顔データを検出して、検出した顔データに基づいて、特定顔を識別するものであり、撮像された画像内から顔領域を検出し、検出した顔を追跡し、その間に検出した顔が誰であるかを人物識別する。具体的には、入力画像中から顔領域を検出する処理はサポートベクターマシン(SVM)等による顔又は非顔の識別を行う。また、検出した顔の追跡は、肌色領域を追跡することにより行う。更に、人物識別(個人識別)は、入力顔の目、鼻等の位置合わせ(モーフィング)を行い、複数の登録顔との差分から同一人物か否かの判定を行う。
【0005】
【特許文献1】
特開2002−157596号公報
【0006】
【発明が解決しようとする課題】
ところで、上述の従来のロボット装置において、画像内の顔の移動の追跡(トラッキング)には肌色認識結果を用いて行われている。このような従来のトラッキング動作は、通常、対象物の認識に失敗した時点で終了されてしまう。しかし、ロボット装置にとって、物体やユーザ等の対象物を首関節を回転させる等の体幹部の一部を使用して追跡する動作(トラッキング)は重要な技術である。例えば動くボールを追いかける際にトラッキングできなければボールを追いかけることが困難となる。また、興味があるものを頭部等の体幹部の一部で追う動作等は生物らしさを感じさせる動作であり、エンターテイメント用等の人間又は動物を模したようなロボット装置には必要な動作である。更に、ユーザとのインタラクションをしている際に、ユーザの動きをトラッキング(追尾)することは、より自然なインタラクションのために重要である。
【0007】
ところが、ロボット装置がトラッキングするために必要な画像による外界認識はしばしば不安定であり、ライティング(照明条件)や、人物の顔の角度に敏感であり、これらが少し変化すると認識に失敗する場合がある。また、ボール等の対象物が大きく動くと不均一な照明条件下をボールが移動することになり、認識が難しくなる。更に、自律動作が可能なロボット装置は、内部状態及び外部刺激に基づき常に発現する動作が選択され、例えばトラッキング動作より例えば優先順位が高い他の動作が生じた場合には、トラッキング動作を中断し、他の動作を発現を許す場合がある。例えば、ある人物Aとの会話中に別の人物Bに呼ばれ、ロボット装置が振り向いて人物Bと短い会話をした後、元の人物Aとの会話を継続しようとする場合等、一旦トラッキングを停止した後、再びトラッキングを開始したい場合が生じる。このような場合、元の人物Aの存在位置等を記憶しておくことは原理的にはできるものの、人物Aが少しでも動いたりすると認識に失敗してトラッキングを再開できない場合があり、このように、外部環境の変化又は自律型ロボット装置に関しては他の割り込み動作等により、トラッキングに失敗することが多く、対象物のトラッキングを継続することは極めて困難であるという問題点がある。
【0008】
本発明は、このような従来の実情に鑑みて提案されたものであり、トラッキング動作の最中に他の割り込み動作を行ってトラッキングを中断した後及び外部環境の変化等による対象物認識の不安定さに対してもロバストなトラッキングを行うことができるロボット装置、その動作制御方法及びプログラムを提供することを目的とする。
【0009】
【課題を解決するための手段】
上述した目的を達成するために、本発明に係るロボット装置は、少なくとも機体の一部を使用して対象物をトラッキングするロボット装置において、異なる種類のものを認識する複数の認識手段又は同一種類のものを認識しその認識レベルに応じて2以上に階層化された複数の認識手段と、上記複数の認識手段からの認識結果を統合する認識統合手段と、上記対象物をトラッキングする動作を生成する動作生成手段と、上記認識統合結果に基づき上記動作生成手段を制御するトラッキング制御手段とを有し、上記トラッキング制御手段は、上記複数の認識手段のうち所定の認識手段の認識結果に基づき上記対象物のトラッキングを開始し、該所定の認識手段の認識結果が得られなくなった場合に該所定の認識手段とは異なる他の認識手段の認識結果に基づき上記トラッキングを継続するよう制御し、上記トラッキングは、該トラッキング動作より優先度が高い動作により中断され、上記トラッキングが終了又は中断される直前の上記対象物の方向を記憶する対象物記憶手段を有し、上記トラッキング制御手段は、上記優先度が高い動作が終了した際、上記記憶した方向にて上記複数の認識手段の何れかにおいて上記対象物を認識した場合に再びトラッキングを開始するよう制御する。
【0010】
本発明においては、複数の認識手段を有し、所定の認識手段の認識結果に基づきトラッキングを開始した場合、該所定の認識手段による認識が失敗しても他の認識手段による認識結果に基づきトラッキングを継続することができ、複数の認識手段を複合的に使用することで、1つの認識手段によってトラッキングを行う従来の方法に比して、極めてロバストなトラッキングを行うことができる。
【0011】
また、上記他の認識手段からの認識結果が得られなくなった場合に、直前までの該他の認識手段の認識結果に基づき上記対象物の予測方向を求める予測手段を有し、上記トラッキング制御手段は、上記予測方向に基づき上記トラッキングを継続するよう制御することにより、他の認識手段による認識が失敗しても、他の認識手段の認識が失敗する直前までの認識結果から対象物の方向を予測しトラッキングを継続することができ、更にロバストなトラッキングを行うことができる。
【0012】
更に、上記他の認識手段は、上記所定の認識手段と同一の種類であって下層の認識手段、又は該所定の認識手段とは異なる種類のものを認識する認識手段とすることにより、認識レベルが高い認識手段で失敗しても認識レベルを下げれば認識できる場合や、例えば画像が取得できない場合は音声認識を使用することにより、更にロバストなトラッキングを行うことができる。
【0013】
更にまた、上記トラッキング制御手段は、上記所定の認識手段の認識結果が所定の時間得られない場合に該トラッキングを終了又は中断することができ、トラッキングスタート時の認識手段による認識が所定期間得られないときは、トラッキングを終了又は中断することで、対象物を間違えてトラッキングしてしまうことを防止する。
【0014】
また、上記トラッキング制御手段は、上記所定の認識手段の認識結果が得られなくなった直前の上記対象物の方向と、上記他の認識手段の認識結果により得られる上記対象物の方向との差が所定の値を超えた場合に上記トラッキングを終了又は中断することで、他の認識手段の認識結果が得られている場合であっても所定条件を満たさない場合は、トラッキングを終了又は中断して対象物を間違えてトラッキングしてしまうことを防止する。
【0015】
更に、上記所定の認識手段が同一種類の下層の認識手段を有する場合、上記認識統合手段は、上記下層の認識手段の認識結果に基づき上記対象物のトラッキングを継続するよう制御することができ、認識レベルを下げて、認識が難しい条件下においてもトラッキングを継続することができる。
【0016】
更にまた、上記トラッキングが終了又は中断される直前までの上記対象物の動きを検出する対象物動き検出手段を有し、上記トラッキング制御手段は、上記優先度が高い動作が終了した際、当該動き検出結果に基づき上記認識手段の何れかにおいて上記対象物を認識した場合に再びトラッキングを開始するよう制御することができ、対象物がトラッキングを中断又は終了した時点から移動していたとしても、認識レベルが異なる又は認識の種別が異なる複数の認識手段のうちいずれかで対象物が認識又は対象物の位置を予測し、トラッキングを再開することができる。
【0017】
本発明に係るロボット装置の行動制御方法は、少なくとも機体の一部を使用して対象物をトラッキングするロボット装置の動作制御方法において、異なる種類のものを認識する複数の認識手段又は同一種類のものを認識しその認識レベルに応じて2以上に階層化された複数の認識手段により上記対象物を認識する認識工程と、上記複数の認識手段からの認識結果を統合する認識統合工程と、上記対象物をトラッキングする動作を生成する動作生成工程と、上記認識統合結果に基づき上記トラッキングする動作を制御するトラッキング制御工程とを有し、上記トラッキング制御工程では、上記複数の認識手段のうち所定の認識手段の認識結果に基づき上記対象物のトラッキングを開始し、該所定の認識手段の認識結果が得られなくなった場合に該所定の認識手段とは異なる他の認識手段の認識結果に基づき上記トラッキングを継続するよう制御され、上記トラッキングは、該トラッキング動作より優先度が高い動作により中断され、上記トラッキングが終了又は中断される直前の上記対象物の方向を記憶する対象物記憶工程を有し、上記トラッキング制御工程では、上記優先度が高い動作が終了した際、上記記憶した方向にて上記複数の認識手段の何れかにおいて上記対象物を認識した場合に再びトラッキングを開始するよう制御される。
【0018】
また、本発明に係るプログラムは、上述したロボット装置の行動制御をコンピュータに実行させるものである。
【0019】
【発明の実施の形態】
以下、本発明の一構成例として示す2足歩行の人間型のロボット装置について、図面を参照して詳細に説明する。この人間型のロボット装置は、住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットであり、内部状態(怒り、悲しみ、喜び、楽しみ等)に応じて自律的に行動できるほか、人間が行う基本的な動作を表出できるエンターテインメントロボットである。
【0020】
(A)ロボット装置の構成
図1は、本実施の形態におけるロボット装置の概観を示す斜視図である。図1に示すように、ロボット装置1は、体幹部ユニット2の所定の位置に頭部ユニット3が連結されると共に、左右2つの腕部ユニット4R/Lと、左右2つの脚部ユニット5R/Lが連結されて構成されている(但し、R及びLの各々は、右及び左の各々を示す接尾辞である。以下において同じ。)。
【0021】
このロボット装置1が具備する関節自由度構成を図2に模式的に示す。頭部ユニット3を支持する首関節は、首関節ヨー軸101と、首関節ピッチ軸102と、首関節ロール軸103という3自由度を有している。
【0022】
また、上肢を構成する各々の腕部ユニット4R/Lは、肩関節ピッチ軸107と、肩関節ロール軸108と、上腕ヨー軸109と、肘関節ピッチ軸110と、前腕ヨー軸111と、手首関節ピッチ軸112と、手首関節ロール輪113と、手部114とで構成される。手部114は、実際には、複数本の指を含む多関節・多自由度構造体である。ただし、手部114の動作は、ロボット装置1の姿勢制御や歩行制御に対する寄与や影響が少ないので、本明細書ではゼロ自由度と仮定する。したがって、各腕部は7自由度を有するとする。
【0023】
また、体幹部ユニット2は、体幹ピッチ軸104と、体幹ロール軸105と、体幹ヨー軸106という3自由度を有する。
【0024】
また、下肢を構成する各々の脚部ユニット5R/Lは、股関節ヨー軸115と、股関節ピッチ軸116と、股関節ロール軸117と、膝関節ピッチ軸118と、足首関節ピッチ軸119と、足首関節ロール軸120と、足部121とで構成される。本明細書中では、股関節ピッチ軸116と股関節ロール軸117の交点は、ロボット装置1の股関節位置を定義する。人体の足部121は、実際には多関節・多自由度の足底を含んだ構造体であるが、ロボット装置1の足底は、ゼロ自由度とする。したがって、各脚部は、6自由度で構成される。
【0025】
以上を総括すれば、ロボット装置1全体としては、合計で3+7×2+3+6×2=32自由度を有することになる。ただし、エンターテインメント向けのロボット装置1が必ずしも32自由度に限定されるわけではない。設計・制作上の制約条件や要求仕様等に応じて、自由度すなわち関節数を適宜増減することができることはいうまでもない。
【0026】
上述したようなロボット装置1がもつ各自由度は、実際にはアクチュエータを用いて実装される。外観上で余分な膨らみを排してヒトの自然体形状に近似させること、2足歩行という不安定構造体に対して姿勢制御を行うこと等の要請から、アクチュエータは小型且つ軽量であることが好ましい。
【0027】
なお、以下では、説明の便宜上、足部121の説明において、足部121の裏面の路面(床面)に当接する部分を含んで構成される面をX−Y平面とし、該X−Y平面内において、ロボット装置の前後方向をX軸とし、ロボット装置の左右方向をY軸とし、これらに直交する方向をZ軸として説明する。
【0028】
このようなロボット装置は、ロボット装置全体の動作を制御する制御システムを例えば体幹部ユニット2等に備える。図3は、ロボット装置1の制御システム構成を示す模式図である。図3に示すように、制御システムは、ユーザ入力等に動的に反応して情緒判断や感情表現を司る思考制御モジュール200と、アクチュエータ350の駆動等ロボット装置1の全身協調運動を制御する運動制御モジュール300とで構成される。
【0029】
思考制御モジュール200は、情緒判断や感情表現に関する演算処理を実行するCPU(Central Processing Unit)211や、RAM(Random Access Memory)212、ROM(Read Only Memory)213及び外部記憶装置(ハード・ディスク・ドライブ等)214等で構成され、モジュール内で自己完結した処理を行うことができる、独立駆動型の情報処理装置である。
【0030】
この思考制御モジュール200は、画像入力装置251から入力される画像データや音声入力装置252から入力される音声データ等、外界からの刺激等に従って、ロボット装置1の現在の感情や意思を決定する。ここで、画像入力装置251は、例えばCCD(Charge Coupled Device)カメラを複数備えており、また、音声入力装置252は、例えばマイクロホンを複数備えている。
【0031】
また、思考制御モジュール200は、意思決定に基づいた動作又は行動シーケンス、すなわち四肢の運動を実行するように、運動制御モジュール300に対して指令を発行する。
【0032】
一方の運動制御モジュール300は、ロボット装置1の全身協調運動を制御するCPU311や、RAM312、ROM313及び外部記憶装置(ハード・ディスク・ドライブ等)314等で構成され、モジュール内で自己完結した処理を行うことができる独立駆動型の情報処理装置である。また、外部記憶装置314には、例えば、オフラインで算出された歩行パターンや目標とするZMP軌道、その他の行動計画を蓄積することができる。
【0033】
この運動制御モジュール300には、図2に示したロボット装置1の全身に分散するそれぞれの関節自由度を実現するアクチュエータ350、体幹部ユニット2の姿勢や傾斜を計測する姿勢センサ351、左右の足底の離床又は着床を検出する接地確認センサ352,353、足部121の足底121に設けられる後述する本実施の形態における荷重センサ、バッテリ等の電源を管理する電源制御装置354等の各種の装置が、バス・インターフェース(I/F)301経由で接続されている。ここで、姿勢センサ351は、例えば加速度センサとジャイロ・センサの組み合わせによって構成され、接地確認センサ352,353は、近接センサ又はマイクロ・スイッチ等で構成される。
【0034】
思考制御モジュール200と運動制御モジュール300は、共通のプラットフォーム上で構築され、両者間はバス・インターフェース201,301を介して相互接続されている。
【0035】
運動制御モジュール300では、思考制御モジュール200から指示された行動を体現すべく、各アクチュエータ350による全身協調運動を制御する。すなわち、CPU311は、思考制御モジュール200から指示された行動に応じた動作パターンを外部記憶装置314から取り出し、又は、内部的に動作パターンを生成する。そして、CPU311は、指定された動作パターンに従って、足部運動、ZMP軌道、体幹運動、上肢運動、腰部水平位置及び高さ等を設定するとともに、これらの設定内容に従った動作を指示する指令値を各アクチュエータ350に転送する。
【0036】
また、CPU311は、姿勢センサ351の出力信号によりロボット装置1の体幹部ユニット2の姿勢や傾きを検出するとともに、各接地確認センサ352,353の出力信号により各脚部ユニット5R/Lが遊脚又は立脚のいずれの状態であるかを検出することによって、ロボット装置1の全身協調運動を適応的に制御することができる。更に、CPU311は、ZMP位置が常にZMP安定領域の中心に向かうように、ロボット装置1の姿勢や動作を制御する。
【0037】
また、運動制御モジュール300は、思考制御モジュール200において決定された意思通りの行動がどの程度発現されたか、すなわち処理の状況を、思考制御モジュール200に返すようになっている。このようにしてロボット装置1は、制御プログラムに基づいて自己及び周囲の状況を判断し、自律的に行動することができる。
【0038】
(B)ロボット装置の制御システム
次に、このようなロボット装置の制御システムについて説明する。本ロボット装置は、複数の認識器を有し、これらを利用することで、従来に比してロバストなトラッキングを行うことができるものであり、ここでは先ずそのトラッキングシステム及びトラッキング方法について説明し、ロボット装置全体の制御システムについては後述する。
【0039】
(1)トラッキングシステム
図4は、本実施の形態のロボット装置の制御システムのうち、トラッキングシステムを構成する要部を示すブロック図である。本実施の形態におけるトラッキングシステムは、例えば画像認識や音声認識等の異なる種類のものを認識する複数の認識器を有し、更には、画像認識や音声認識は、異なる認識レベルの認識を行うことができるよう階層化されたものであって、これら種別又は認識レベルが異なる複数の認識器の認識結果を必要に応じて組み合わせることで、ロボット装置がトラッキング最中に、トラッキングとは異なる割り込み動作を行って、トラッキング動作を中断(一旦停止)してしまった場合や、環境変化により認識器の認識が失敗した場合であってもロバストなトラッキングを行うことができるトラッキングシステムである。
【0040】
図4に示すように、トラッキングシステム10は、画像を撮像する画像入力装置251と、マイクロホン等を備える音声入力装置252と、画像入力装置251からの画像が供給され肌色認識、顔認識、及び個人認識する夫々肌色認識部11、顔認識部12及び個人認識部13からなる画像認識部15と、音声入力装置252から供給される音声の方向を認識する音声方向認識部14と、これらの認識器14、15の認識結果を統合する認識統合部21と、認識統合部21の統合結果に基づき対象物の位置を予測する予測部31と、認識統合部21の統合結果か、又は予測部31の予測に基づきに基づき、対象物をトラッキングするために例えばロボット装置の首の回転角度等を制御する首制御コマンド生成部22と、首制御コマンド生成部22からの制御情報を出力する出力部23とを有する。
【0041】
色認識、顔認識、個人認識は、それぞれ人間の顔を認識するための異なる認識レベルの認識装置として存在する。図4に示す例では、最も上位で、認識が困難であるのは対象となる人物が誰であるかを特定する個人認識部13である。そして、次に、人間等の顔であるか否かを認識する顔認識部12であり、最下位が最も認識が容易な肌色領域を認識する肌色認識部11となっている。なお、トラッキングの対象物としては、例えば人物や、ボール等の人物以外の物体等が挙げられるが、ここでは人物を認識し、これをトラッキングする例をとって説明する。
【0042】
例えば、肌色認識部11は、肌色領域を検出して認識統合部21に認識結果を送る。次に、顔認識部12は、対象物が人間の顔であるか否かを認識し、顔であると認識された場合には、その顔領域の画像を個人認識部13に送ると共に、認識統合部21に認識結果を送る。個人認識部13は、入力される顔画像が誰であるか、即ち個人を特定すると共に、この結果を認識統合部21へ送る。
【0043】
対象物が人物の顔である場合の画像認識としては、このような肌色認識部11から個人認識部13までのカスケードな方法が考えられる。また個人の認識方法としては、例えば、個人顔が登録された登録顔データベース等を有し、登録顔と入力顔画像とを比較する等することで、入力顔が誰であるかを認識することができる。
【0044】
また、対象物がボール等の物体である場合は、物体の色を認識する色認識部の上位に、物体の形状を認識する形状認識部、形状認識された物体の模様を認識する模様認識部等を設けることで、対象物が例えば人間の顔でない場合にも適用できることはいうまでもない。
【0045】
また、音声方向認識部14は、自分に対してどの方向から音声が聞こえたかを認識し、その認識方向を認識統合部21へ供給するものであり、音声方向認識部14の認識方法の一具体例は後述する。なお、ここでは対象物としての人間の声の方向を認識する音声方向認識手段としたが、後述するように、音声入力装置252からの入力音声に対して異なる認識レベルの認識器を複数設けてもよく、又は人間に関わらず、対象物が人物でないような場合、対象物が発する音の方向等を認識するものとしてもよい。
【0046】
認識統合部21は、これら個人認識部13、顔認識部12、肌色認識部11及び音声方向認識部14から、その認識結果が常に供給されその認識結果を統合する。この際の統合とは、画像上の同じ領域に対して、誰だかはよくわからないが顔と肌色が認識された、といった情報統合を意味する。即ち、認識部14、15からは、各認識が成功したか否かの情報と、認識が成功した場合はその認識情報が認識結果として送られ、認識が成功して認識情報が送られた場合は、その認識結果のち所定の認識結果又は1以上の認識結果から対象物の方向を推定する。
【0047】
この認識統合部21は、本ロボット装置においては、後述する図23に示すミドル・ウェア・レイヤ50に属し、実際にはその上位のアプリケーション・レイヤ51に、例えば個人認識部13の認識が成功した等、各認識部からの認識結果が伝えられ、アプリケーション・レイヤ51からトラッキング動作開始の指令を受けとり、ロボット装置は、トラッキングをスタートするよう制御する図示しないトラッキング制御部を有する。即ち、認識統合部21の内部又は外部に設けられたトラッキング制御部にトラッキングを開始する制御信号が入力され、後述する首制御コマンド生成部等のトラッキング動作生成部をトラッキングを開始するよう制御する。
【0048】
トラッキング開始の指令を受取ったトラッキング制御手段は、トラッキング対象物の認識するために、複数の認識部の認識結果のうち、いずれか1以上の所定の認識部を選択し、その認識結果に基づきトラッキングを行うよう制御することができる。例えば、上記所定の認識部として、例えば、トラッキング開始指令が入力された際に、人物の顔を認識する画像認識における最上位の個人認識部13が成功している場合には、これを使用してトラッキングをスタートすることができ、この個人認識結果により、対象物となる個人顔の例えば重心等が入力画像の例えば中心にくるよう首制御コマンド生成部22を制御する。
【0049】
そして、個人認識部13が個人認識に失敗した場合、その他の認識手段である顔認識部12、肌色認識部11、音声方向認識部14のいずれかの認識結果を使用してトラッキングを継続するよう制御する。例えば、個人認識部13の下位の顔認識部12の認識結果を使用して対象物としての人物の顔の方向(位置)を予想する。即ち、個人としての認識はできないものの、顔認識部12の認識は成功しており、顔であることは認識できている場合、その顔を同一個人として該個人をまだトラッキングできているものとし、上記顔領域が入力画像の中心にくるよう首制御コマンド生成部22を制御する。また、顔認識部12も認識に失敗している場合は、例えば肌色認識部11の結果を用い、更に肌色認識部11の結果も失敗したときは、音声方向認識部14の認識結果を使用し、音声方向にロボット装置の正面が向くよう首制御コマンド22を制御する。なお、認識統合部21は、認識結果のいずれ優先的に使用するかは、予め設定してもよく、又はロボット装置が適宜選択してもよい。例えば、個人認識部13による認識が失敗する直前の対象物の位置(方向)と最も近い認識部の認識結果を使用するようにしてもよい。
【0050】
予測部31は、認識統合部21の認識統合結果が供給され、各認識部の不安定さにより一時的に認識対象が認識できなくなった場合(認識に失敗した場合)、対象物の位置を予測するものであり、例えばいずれの認識部からの認識結果も失敗したような場合に、失敗する直前までの認識結果に基づき現在の対象物の位置(方向)を予測する。
【0051】
そして、予測部31は、例えば認識統合部21から認識統合結果が常に供給され、上述のトラッキング制御部等により、対象物を認識できなくなった場合に、対象物の位置の予測を開始するよう指示される等、認識部14、15の認識の回復を一定時間待つなどの制御が行われる。又は、対象物が認識できなくなった場合に、認識統合部21からその直前までの認識結果が供給され、対象物の位置を予測するよう指示されてもよい。
【0052】
そして、この予測部31は、対象物が認識されなくなる直前の認識結果から対象物の方向を予測し、その予測方向を首制御コマンド生成部22へ送るものである。即ち、上述したように、ロボット装置がトラッキングするために必要な画像による外界認識はしばしば不安定であり、ライティング(照明条件)や、人物の顔の角度に敏感であり、これらが少し変化すると画像認識部15は各種認識に失敗する場合がある等がある。また、ボール等の対象物が大きく動くと不均一な照明条件下をボールが移動することになり、認識が難しくなる。更に、自律動作が可能なロボット装置は、内部状態及び外部刺激に基づき常に発現する動作が選択され、例えばトラッキング動作より例えば優先順位が高い他の動作が生じた場合には、トラッキング動作を中断し、他の動作を発現を許す場合がある。例えば、ある人物Aとの会話中に別の人物Bに呼ばれ、ロボット装置が振り向いて人物Bと短い会話をした後、元の人物Aとの会話を継続しようとする場合等、一旦トラッキングを停止した後、再びトラッキングを開始したい場合が生じる。このような場合、元の人物Aの存在位置等を記憶しておくことは原理的にはできるものの、人物Aが少しでも動いたりすると認識の不安定さからトラッキングを再開できない場合がある。
【0053】
このような場合においても、例えば対象物が動体であった場合は、直前の動き量から、現在の位置(方向)を予測して予測方向を求める。また、認識に失敗する直前の所定期間、対象物が静止していたと判断できるような場合は、直前の対象物の方向を予測位置とする。
【0054】
そして、首制御コマンド生成部22は、認識統合部21又は予測部31からの制御情報に基づき首制御コマンドを生成し、これを出力部23を介して出力する。具体的には、上述の図2に示す頭部ユニット3を支持する首関節ヨー軸101、首関節ピッチ軸102、首関節ロール軸103からなる首関節を回転させる回転角度を算出し、出力部23を介して出力することで、該当のモータ等を制御し、対象物の動きに合わせてロボット装置の頭部ユニットを回転させる等し、ロボット装置にトラッキングを行わせる。
【0055】
なお、ロボット装置1は、実際には、後述する図23に示すアプリケーション・レイヤ51は、行動が記述された複数の行動記述モジュールからなる行動記述部(図示せず)と、これらの行動を選択する行動選択部(図示せず)とを有し、行動選択部は、外部の情報である認識統合結果を行動選択基準の一つとして捉え、複数の行動記述モジュールのうちトラッキングを行う行動を選択するようなされており、行動記述部から出力される行動が物体のトラッキングを伴うものである場合、対象物を指定して、ロボット装置の首、目、足等のロボット装置の少なくとも一部を使ってトラッキングするよう認識統合部21に指令を出力し、これを受けた認識統合部21が、例えば首制御コマンド生成部22へ所定の首制御コマンドを生成する指令を出力する。
【0056】
また、ここでは、認識統合部21が首制御コマンド生成部22にロボット装置の首関節を回転させてトラッキングを行う例をとって説明するが、例えば対象物がロボット装置の首関節の回転角度の限界より大きく移動したりする場合、首関節のみでなく、例えば図2に示す体幹部ユニット2の体幹ピッチ軸104、体幹ロール軸105、又は体幹ヨー軸106を制御したり、脚部ユニットを制御してロボット自身が移動しながらトラッキングを行ってもよい。
【0057】
なお、予測部31は、全ての認識部が失敗したときに対象物の方向を予測するものとしたが、上述した認識統合部21での処理の一部を予測部31にて行わせるようにしてもよい。即ち、上位の個人認識13が失敗した際に、下位の顔認識部12の認識結果や音声方向認識部14の認識結果を使用してトラッキングを継続する際の処理を予測部31が行ってもよい。
【0058】
以下、本実施の形態について更に詳細に説明する。本トラッキングシステムは、対象物の認識に失敗した場合に対象物の位置(方向)を予測する予測機能、対象物の認識に失敗したときに認識レベル又は認識器の種類を切替えトラッキングを続行する機能、及び対象物の認識に失敗している期間(時間)が所定の閾値以上となった場合はトラッキングを中断する機能等を有する。以下、図5乃至図9を参照してこれらの機能について詳細に説明するが、理解を容易にするため、いずれの場合においても、トラッキングのスタート時には、個人認識部13の個人認識結果を使用しているものとし、同一の構成要素には同一の符号を付してその詳細な説明は省略する。
【0059】
なお、上述したように、本実施の形態は、複数の認識部を有し、いずれか所定の認識部の認識結果を使用してトラッキングをスタートさせた場合に、該所定の認識部の認識に失敗した場合であっても、他の認識部の認識結果を使用したり、失敗する直前の認識結果から対象物の現在の位置(方向)を予測して、ロバストなトラッキングを行うことを可能とするものであり、個人認識部13以外の認識部の認識結果をトラッキングのスタートの際に使用してもよい。
【0060】
(1−1)トラッキング対象物の予測
先ず、複数種及び/又は複数に階層化された認識部のいずれの認識も失敗した際でもトラッキングを継続する機能について説明する。図5は、トラッキングシステムを示すブロック図であり、ここでは、認識器として例えば異なる認識レベルに階層化された認識器15を有する場合とする。先ず、人物が目の前に現れたことから、行動選択部が対話行動を選択し、人間と対話を開始したとする。その際、例えばその人物(対象物)の個人認識に成功し、上述の行動選択部及び認識統合部21にその個人認識結果が送られて、該個人に対するトラッキングが開始される。トラッキングがスタートすると、首制御コマンド生成部22に認識結果が送られ、この認識結果を基に、首制御コマンド生成部22が人物の顔が例えばロボット装置の視野の中心にくるように首を制御することでトラッキングを実施する。
【0061】
また、上述したように、首の回転角を制御してトラッキングを実施するだけでなく、人物が大きく動いた場合には足を使って体を回転させて、その人物を追尾するようにしたり、上半身のみ回転させるようにしたりしてもよいことはもちろんである。
【0062】
そして、例えばトラッキング中に、顔の角度が変わったりあるいは照明状況が変化したことにより、個人認識ができなくなるか、別の個人として認識されたとする。即ち、同一個人の認識に失敗した場合、認識不可を知らせる情報が予測部31に供給される。予測部31は、認識不可になるタイミングの直前の人物の位置(方向)の情報を有し、直前のタイミングにおける人物が静止していた場合は、直前の人物の位置を予測方向とする。
【0063】
又は、トラッキング対象の人物が動いていた場合は、直前までの情報から動き量を検出し、現在の位置を予測する。この場合、画像認識においては、認識不可となるまでの動きベクトルを求め、これに基づき、認識可能であった時刻から現在の時刻までの間に動いた位置を予測すればよい。なお、後述する音声認識においても、音声の認識方向が時間と共に変化している場合は、その変化量から現在の方向を予測すればよい。
【0064】
但し、予測部31は、個人認識部13以外の他の認識部の認識結果を使用して一時的にトラッキングを継続するものであって、個人認識部13が再び成功すれば、個人認識部13の認識結果を使用するものとする。また、個人認識部13が失敗して、他の認識部の認識結果が代用されてから所定の時間以上経過しても個人認識13が成功しないか、又は所定時間以上経過した後も別の個人として認識されている場合は、トラッキングを終了又は中断する。
【0065】
(1−2)異なる認識レベルの認識器を有する場合
次に、認識レベルが異なる画像認識器、例えば肌色認識部1、顔認識部12及び個人認識部13からなる認識器を有する場合の認識器の使用方法について説明する。上述したように、認識器15はその認識レベルに応じて階層化されている。即ち、図6に示すように、肌色認識部11のような最下位から顔認識部12、個人認識部13等の最上位までその認識レベルに応じて複数に階層化されており、上位の認識部の認識が失敗した際には下位の認識結果を使用するよう認識統合部21にて制御される。
【0066】
個人顔が認識されてトラッキングがスタートした場合、認識統合部21には、常に個人認識部13からの認識結果だけではなく、肌色認識部11、顔認識部12の認識結果も供給されている。なお、肌色認識部11及び顔認識部12は、それぞれ上位の認識器に自身の結果を送らないものとするが、例えば個人認識部13は、顔認識部12の顔認識結果を使用して個人認識する等、上位の認識器は下位の認識器の結果を使用してもよい。
【0067】
ここで、ある時刻T1において、個人認識に失敗したとする。認識統合部21には、各認識器から認識の成否、成功した場合は認識情報が認識結果として送られており、認識統合部21は、時刻T1において、個人認識失敗の情報を得るとする。
【0068】
その際、予測部31は、個人認識部13の下位の顔認識部12が認識に成功している場合であって、同じ位置に顔が認識されている場合、その人物はまだそこにいると予測し、顔(誰であるかは問わない)領域をトラッキングする。また、顔認識分12も認識に失敗している場合であって、同じ位置に肌色領域が認識されていれば、その領域をトラッキングする。上述したように、このような他の認識器による認識結果を使用したトラッキングの継続は、認識統合部21で行ってもよいが、図6に示すように予測部31で行ってもよい。
【0069】
但し、個人認識部13が失敗して下層の認識部(他の認識部)の認識結果を使用する場合、個人認識部13により認識されていた対象物の位置(方向)と、下層の認識部により認識される対象物の方法(位置)とが所定の大きさ以上離れている場合は、間違った対象物を認識している可能性が高いのでトラッキングを終了又は中断する。
【0070】
また、本実施の形態は、トラッキングのスタートを、人物の顔を認識する認識器の最上位の個人認識部13の認識結果を使用して行うものとしているが、トラッキングのスタート指令が出された場合に、認識統合部21に例えば肌色認識部11のみしか認識に成功していない場合、肌色認識部11の認識結果を基にトラッキングを行う。そして、トラッキングの途中で顔認識部12、個人認識部13の認識が成功した場合、上述とは逆に認識レベルを上げてもよい。
【0071】
(1−3)異なる認識種別の認識器を有する場合
次に、図6に示したように階層化された画像認識部とは異なる種別の音声認識部14を備えるトラッキングシステムにおける認識器の使用方法の一例について説明する。例えば、図6に示すような階層化された複数の画像認識部の認識が全て失敗した場合、即ち、例えば照明条件の変化等により入力画像が得られなくなったりする場合がある。このような場合、異なる種別の認識器を備えることによりトラッキングを続行することができる。
【0072】
図7に示すように、ある時刻T3にて、それまでトラッキングしていた対象人物の個人認識、顔認識、肌色認識のいずれもが認識不能になった場合に、音声入力装置252から音声が入力されたとする。この場合、画像認識が全て認識不可であっても、音声方向認識部14の認識結果が得られている場合は、その音声方向にまだその人物が存在していると解釈(予測)することが可能である。このように、予測部31は、画像認識が全て失敗した場合においても、音声方向認部14の識結果を使用し、その方向を対象物の予測方向とし、一定時間トラッキングを続けることで、更にトラッキングのロバスト性を高めることができる。もちろん、予測部31におけるトラッキングを一定時間以上継続しても、トラッキング対象としていた人物が個人認識部13にて認識できない場合には、トラッキングを中断又は終了するものとする。これは、上述したように、人物が実際にいなくなった場合、あるいは間違った人物をトラッキングしつづけることを防ぐためである。また、トラッキング開始指令が供給された際に、例えば音声方向認識部のにが認識に成功していた場合等には、この音声方向認識部14の認識結果をトラッキングスタートとしてもよい。
【0073】
また、ここでは、音声方向を認識する音声方向認識部14のみを記載したが、例えば音声認識部においても、画像認識部のように、階層化された構造としてもよい。即ち、音声方向認識部14の上層に、音声を発している人物が誰であるかを特定する話者認識部を設け、話者認識部の更に上層に、人物がどのような内容を話しているかを認識する音声内容認識部等を設けてもよい。話者認識は、例えば登録話者データベースを用意し、入力音声と登録音声データベースのデータとを比較することで話者を特定することができる。また、音声内容認識部においては、例えば、複数の単語又は短文が登録されたデータベースを用意し、ロボット装置の呼びかけに対し、所定のパターンの返答があるか否かをそのデータベースのデータと比較し、ユーザとの対話ができているか否か等を判定する等の方法がある。
【0074】
(1−4)割り込み動作が入った後のトラッキング
次に、ある行動を実行中に別の行動が割り込むことを行動選択実行部が許容している場合について説明する。後述するように、本ロボット装置は、内部状態及び外部刺激に応じて自律的に行動を選択して発現することができ、従って、トラッキング動作よりも実行優先度が高いような動作が存在する場合は、トラッキング動作を中断し、他の割り込み動作を行うようにすることもできる。
【0075】
例えば、例えば、ロボット装置が人物Aと会話中、即ち人物Aをトラッキング中に、別の人物Bから例えば後ろから呼ばれたために、振り向き、人物Bとある会話をした後、元の対話相手Aの方に戻るような場合がある。このような場合、図8に示すように、人物Bと対話する割り込み動作(別の行動)32により人物Aのトラッキングは中断される。その際、認識統合部21又は予測部31は、元の対話相手Aとの対話を再開するため、即ち人物Aを再度トラッキングするために、中断した時点の人物Aの位置(方向)を記憶しておく記憶手段(図示せず)を備える。トラッキング再開時には、認識統合部21及び/又は予測部31には割り込み動作32が終了したことが通知され、トラッキングを再開するように指示する。その際、上述と同様の方法で、人物のトラッキングに復帰する。
【0076】
即ち、トラッキングが中断されるまでに、人物Aが静止していれば、現在もその位置いるものと予測し、また人物Aの動きが検出されていれば、中断された時刻と検出されている動きベクトルとから現在の位置を予測する。その予測方向にて、なんらかの認識部により対象物が認識できればトラッキングを再開することができる。この際、上述したように、予測方向と認識された対象物の位置(方向)とが大きく異なるときは、トラッキングを再開しないようにすることができる。また、トラッキングを再開した後、所定時間経過しても個人認識できない場合はトラッキングを終了する。
【0077】
(1−5)トラッキングの終了条件
また、本トラッキングシステムは、複数の認識器の認識結果を使用しロバストなトラッキングを行うものであるが、認識レベルが低い認識器の認識結果を使用し続けたり、認識結果を基に認識結果が得られていない場合にも対象物方向を予測し続けたりすることで、間違った対象物をトラッキングすることを防止するため、一定条件でトラッキングを終了又は中断する機能を有している。
【0078】
例えば、図9に示すように、個人認識部13の認識によりトラッキングがスタートした場合、個人認識部13が失敗すると、例えば顔認識部12、肌色認識部11、音声認識部14等、個人認識13とは異なる他の認識部の認識結果を使用するが、全ての認識結果が得られなくなった場合は、上述したように、予測部31が、最後まで成功していた認識部が失敗する直前の人物の動きから、人物の存在位置を予測してその予測方向に対して首を動かすトラッキングを行う。そのトラッキング中に、人物、顔、肌色のどれかがその予測位置(方向)付近に再出現したり、その予測方向付近に音声方向が認識できた場合には、それをトラッキング対象としてトラッキングを再開するが、最初にトラッキングを開始した際の個人顔であることが一定以上認識できない状態が続いたら、仮に顔、肌色が見えていても、トラッキングを中止する。即ち、トラッキングスタート時より下位の認識器の認識結果のみによりトラッキングを行ったり、認識結果からの予測によって対象物をトラッキングしているようにする(擬似的なトラッキング)動作は、所定時間以上続けないものとする。
【0079】
このため、例えば認識統合部21と予測部31との間にタイマ33有し、これが所定時間経過した場合は、トラッキングを終了するものとする。これは、上述したように、長時間個人認識されない場合、全く別の人物に対して誤解して対話行動を続ける場合や、全く別のもの顔としてトラッキング継続してしまうようなことを防ぐためである。
【0080】
このように構成された本実施の形態のトラッキングシステムにおいては、認識部をその認識レベルが異なる階層構造とし、これを利用し上位認識系が認識に失敗しても下位の認識結果を用いたり、画像認識や音声認識等の種別が異なる認識器の認識結果を用いたりし、様々な認識器の認識結果を複合的に組み合わせて使用することで、割り込み動作によりトラッキングが中断された場合でも、また照明等の変化により認識系の不安定さに対してもロバストなトラッキングを行うことができる。
【0081】
次に、上述のトラッキングシステムに好適な音源方向認識方法及び動体検出方法の一具体例について説明する。
【0082】
(2−1)具体例:音源方向認識方法
以下に、音声方向認識部14の音声方向認識方法(推定方法)の一具体例について詳細に説明する。ここで、上述した図2に示した関節自由度は、より生物感を高めるために可動範囲が制限されているものとする。このため、図2の首関節ヨー軸101の可動範囲外から音声が入力された場合には、首や体幹を協調させて回転し、音源方向に振り向く動作を行うことが必要となる。
【0083】
そこで、本具体例におけるロボット装置1は、図10(a)乃至(f)に示すようにして音源方向を振り向く。すなわち、図10(a)のようにロボット装置1が図中右側を向いていたときに背後から音声が入力されると、図4(b)乃至(f)のように、首を回転させると共に脚部を使って体幹を回転させ、音源方向に振り向く。
【0084】
このような音源方向への振り向き動作の一例について、図11のフローチャートを用いて説明する。先ずステップS1において、図4に示す音声入力装置252の有するマイクロホンに所定の閾値以上の振幅の音が入力されることにより、音イベントが発生したことが検出される。
【0085】
次にステップS2において、入力された音イベントの音源方向の推定が行われる。ここで、上述したように、音声入力装置252には、複数のマイクロホンが備えられており、ロボット装置1は、この複数のマイクロホンを用いて音源方向を推定することができる。具体的には、例えば「大賀、山崎、金田『音響システムとディジタル処理』(電子情報通信学会)p197」に記載されているように、音源方向と複数のマイクロホンで受音した信号の時間差とに一対一の関係があることを利用して音源方向を推定することができる。
【0086】
すなわち、図12に示すように、θS方向から到来する平面波を、距離dだけ離れて設置された2つのマイクロホンM1,M2で受音する場合、各マイクロホンM1,M2の受音信号x1(t)とx2(t)との間には、以下の式(1)、(2)に示すような関係が成立する。ここで、式(1)、(2)において、cは音速であり、τSは2つのマイクロホンM1,M2で受音した信号の時間差である。
【0087】
【数1】
【0088】
従って、受音信号x1(t)とx2(t)との間の時間差τSが分かれば、以下の式(3)により、音波の到来方向、すなわち音源方向を求めることができる。
【0089】
【数2】
【0090】
ここで、時間差τSは、以下の式(4)に示すような、受音信号x1(t)とx2(t)との間の相互相関関数φ12(τ)から求めることができる。ここで、式(4)において、E[・]は期待値である。
【0091】
【数3】
【0092】
上述した式(1)と式(4)とから、相互相関関数φ12(τ)は、以下の式(5)のように表される。ここで、式(5)において、φ11(τ)は受音信号x1(t)の自己相関関数である。
【0093】
【数4】
【0094】
この自己相関関数φ11(τ)は、τ=0で最大値をとることが知られているため、式(5)より相互相関関数φ12(τ)は、τ=τSで最大値をとる。したがって、相互相関関数φ12(τ)を計算して、最大値を与えるτを求めればτSが得られ、それを上述した式(3)に代入することにより、音波の到来方向、すなわち音源方向を求めることができる。
【0095】
なお、上述した音源方向の推定手法は一例であり、この例に限定されるものではない。
【0096】
図5に戻ってステップS3では、現在ロボット装置1が向いている方向と音源の方向との差が計算され、体幹の向きに対する音源方向の相対角度が求められる。
【0097】
続いてステップS4では、図2に示した首関節ヨー軸101の可動範囲と、脚部を使って体幹を回転させる際に、一度の回転動作で回転できる最大角度などの制約に基づき、ステップS3で計算された相対角度分だけ頭部を回転させるのに必要な首関節と体幹の回転角度を決定する。ここで、音源方向によっては、首関節のみの回転角度が決定される。なお、ロボット装置1は、図2に示したように体幹ヨー軸106を有しているが、簡単のため、本具体例ではこの体幹ヨー軸106を利用しないものとして説明する。しかし、首、腰、足の接地方向を利用し、全身を協調させて音源方向を振り向くことができることは勿論である。
【0098】
具体的に図13を用いて説明する。図13(a)は、ロボット装置1の首の可動範囲を±Y度とし、音源Sの方向の相対角度がロボット装置1の正面方向に対してX度方向である場合の例である。この場合、ロボット装置1が音源Sの方向に振り向くためには、図13(b)に示すように、最低でもX−Y度だけ体幹全体を脚部を使って回転させると共に、首関節ヨー軸101をY度だけ音源Sの方向に回転させる必要がある。
【0099】
次にステップS5では、ステップS4で得られた角度を回転させるのに必要な各関節の制御情報を立案、実行し、音源方向に振り向く。
【0100】
続いてステップS6において、音源方向に正対する必要があるか否かが判別される。ステップS6において、例えば、音イベントが単なる物音などの雑音の場合には、正対する必要がないとしてステップS7に進んで、元々向いていた方向に体幹及び首の向きを戻し、一連の動作を終了する。一方、ステップS6において、例えば、画像入力装置251(図3)の情報からロボット装置1が予め学習して知っている人の顔を発見し、その人に呼び掛けられたと判断した場合などには、その向きに正対する制御を行なうためにステップS8に進む。
【0101】
ここで、人間の顔を検出する手段としては、例えば「E.Osuna, R.Freund and F.Girosi:“Training support vector machines:an application to face detection”, CVPR'97, 1997」 に記載されているような手法で実現することが可能である。また、特定の人の顔を認識する手段としては、例えば「B.Moghaddam and A.Pentland:“Probabilistic Visual Learning for Object Representation”, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol.19, No.7, July 1997」に記載されているような手法で実現することが可能である。
【0102】
ステップS8では、正対するために必要な体幹及び首の回転角度が計算される。例えば上述した図13(b)に示すように、現在のロボット装置1の姿勢において首関節ヨー軸101がY度回転している場合、すなわち体幹に対して頭部がY度回転している場合には、図13(c)に示すように、体幹をY度回転させると同時に首関節ヨー軸101を−Y度回転させることによって、対象オブジェクトを注視したまま首の捻れを解消し、自然な動作で音源Sの方向に正対することが可能となる。
【0103】
最後にステップS9では、ステップS8で計算した動作を実行し、音源方向に正対する。
【0104】
ロボット装置1は、以上のようにして音源方向を推定し、全身を協調させて自然な動作により音源方向を振り向くことができる。
【0105】
また、ロボット装置1は、音イベントの内容によっては、対象オブジェクトを注視したまま首の捻れを解消し、自然な動作で音源方向に正対する。特に、人間から呼びかけられたような場合には、その呼びかけを行った者の方向に顔を向けて正対することにより、人間との親密性を高めることができる。
【0106】
なお、以上の動作は、上述した図3に示す思考制御モジュール200から指示され、運動制御モジュール300によって各アクチュエータ350が制御されることにより実現される。
【0107】
ここで、体幹の向きに対する音源方向の相対角度を求め、実際にその方向に振り向いた場合に、対象オブジェクトを認識できないような状況が考えられる。すなわち例えば、音源方向の推定誤差により、振り向いた方向の視野角内に対象オブジェクトがない場合や、音源方向が正しくても対象オブジェクトまでの距離が遠い場合には、対象オブジェクトを認識することができない。
【0108】
そこで、本具体例におけるロボット装置1は、以下のようにしてこのような問題を解消することができる。この振り向き動作の一例を図14のフローチャートを用いて説明する。
【0109】
図14に示すように、先ず、ステップS10において、図3に示す音声入力装置252の有するマイクロホンに所定の閾値以上の振幅の音が入力されることにより、音イベントが発生したことが検出される。
【0110】
次にステップS11において、入力された音イベントの音源方向の推定が行われる。
【0111】
続いてステップS12では、現在ロボット装置1が向いている方向と音源の方向との差が計算され、体幹の向きに対する音源方向の相対角度が求められる。
【0112】
続いてステップS13では、図2に示した首関節ヨー軸101の可動範囲と、脚部を使って体幹を回転させる際に、一度の回転動作で回転できる最大角度などの制約に基づき、ステップS12で計算された相対角度分だけ頭部を回転させるのに必要な首関節と体幹の回転角度を決定する。この際、可動範囲の限界まで首を回転させるのではなく、振り向いた後にさらに首を左右に振れるように、多少の余裕を持たせるようにする。
【0113】
すなわち、図15(a)に示すように、ロボット装置1の首の可動範囲を±Y度とし、音源Sの方向の相対角度がロボット装置1の正面方向に対してX度方向である場合、Z度分だけ余裕を持たせ、図15(b)のように体幹全体を脚部によりX−(Y−Z)度だけ回転させると共に、首関節ヨー軸101をY−Z度回転させる。これにより、音源Sの方向に振り向いた後にさらに首を左右に振ることが可能とされる。
【0114】
図14に戻ってステップS14では、ステップS13で得られた角度を回転させるのに必要な各関節の制御情報を立案、実行し、音源方向に振り向く。
【0115】
ステップS15では、音源方向に対象オブジェクトを認識できたか否かが判別される。ステップS15において、例えば上述したような顔検出や顔認識により、予め学習して知っている人の顔が見つかった場合などには、音源方向に対象オブジェクトを認識することができたとして、ステップS16に進む。
【0116】
ステップS16では、認識された対象オブジェクトをトラッキングの対象とし、以後オブジェクトが動くのに合わせて首や体幹の向きを変化させて、対象オブジェクトのトラッキングを行うようにし、一連の動作を終了する。
【0117】
一方、ステップS15において、対象オブジェクトを認識できなかった場合には、ステップS17に進み、音イベントが音声であったか否かが判別される。具体的には、例えばHMM(Hidden Markov Model)法により音声と非音声とを統計的にモデル化し、その尤度を比較することによって。音イベントが音声であったか否かを判別することができる。ステップS17において、音声でないと判別された場合には、例えばドアの閉まる音や物音など、認識対象とする必要のない事象に由来する音イベントであったと判断し、一連の動作を終了する。また、ステップS17において音声であると判別された場合には、ステップS18に進む。
【0118】
ステップS18では、音源が近いか否かが判別される。具体的には、例えば文献「F.Asano, H.Asoh and T.Matsui, “Sound Source Localization and Separation in Near Field”, IEICE Trans. Fundamental, Vol.E83-A, No.11, 2000」に記載されているような手法で音源までの推定距離を計算することにより、大まかに推定することが可能である。ステップS18において、音源までの距離が画像入力装置251や対象オブジェクト認識手段の性能によって、対象オブジェクトを認識することが困難なほど遠い場合には、続くステップS19で対象オブジェクトを認識可能な距離までロボット装置1自体を音源方向に歩行させ、対象オブジェクトの認識精度を確保する。また、ステップS18において、音源までの距離が近い場合には、歩行を行なわずにステップS21に進む。
【0119】
ステップS20では、対象オブジェクトが認識できるか否かが再度判別される。ステップS20において対象オブジェクトを認識できた場合には、ステップS16に戻ってトラッキング処理に移行し、一連の動作を終了する。ステップS20において対象オブジェクトを認識できなかった場合には、ステップS21に進む。
【0120】
ステップS21では、音源方向の推定に誤差があることを想定して、首関節ピッチ軸102及び首関節ヨー軸101を回転させることによって頭部を上下左右に振る。
【0121】
続いてステップS22では、ステップS21で頭部を上下左右に振った結果、対象オブジェクトを認識できたか否かが判別される。ステップS22において対象オブジェクトを認識できた場合には、ステップS16に戻ってトラッキング処理に移行し、一連の動作を終了する。ステップS22において対象オブジェクトを認識できなかった場合には、音源方向推定が大きく誤った場合が想定されるため、ステップS23においてその旨を出力し、一連の動作を終了する。具体的には、対象オブジェクトが人間である場合には、「どこにいるのか分かりません。もう一度喋ってもらえますか?」といった音声を出力し、音声を再入力してもらえるように依頼することによって、再びこの一連の処理を実行することが可能となる。
【0122】
以上のように、ロボット装置1が音源方向に近づいたり、顔を左右に振ることによって、音源方向の推定誤差により振り向いた方向の視野角内に対象オブジェクトがない場合や、音源方向が正しくても対象オブジェクトまでの距離が遠い場合であっても、対象オブジェクトを認識することが可能となる。特に、推定された音源方向に振り向いた後にも、さらに頭部を左右に振れるように首の回転角度が設定されるため、自然な動作により対象オブジェクトをトラッキングすることができる。
【0123】
なお、上述の例では音源の距離推定を行い音源方向に近づいた後に顔を振る動作を行うものとして説明したが、これに限定されるものではなく、例えば、音源までの距離の推定精度が音源方向の推定精度と比較して著しく低いような場合には、音源方向に近づく前に顔を振る動作を行うようにしても構わない。
【0124】
また、上述の例では、対象オブジェクトを認識可能な距離までロボット装置1自体を音源方向に歩行させて、対象オブジェクトを認識できたか否かを再度確認するものとして説明したが、これに限定されるものではなく、例えば50cmなど、所定の距離だけ音源方向に近づいた後に、対象オブジェクトを認識できたか否かを再度確認するようにしても構わない。
【0125】
さらに、上述の例では、対象オブジェクトを認識する手段として、顔検出、顔認識を用いるものとして説明したが、これに限定されるものではなく、特定の色や形状のものを認識するようにしても構わない。
【0126】
(2−2)具体例:動体検出方法
次に、認識統合部21において、画像認識結果から動体を検出をする方法であって、特に、撮像した画像内の動体を簡易な手法により検出し、トラッキング可能とする動体検出方法の一具体例について説明する。上述したように、本具体例におけるロボット装置1は、図3に示すCCDカメラ等の画像入力装置251により撮像した画像データ内の人物の顔の肌色領域、顔(個人顔も含む)領域を認識し、更に認識した肌色又は個人顔領域が動体である場合は、それらの認識結果を基に、例えば図4に示す認識統合部21に設けられた動体検出部(図示せず)において、動体を検出し、この検出結果に基づき首制御コマンド生成部22や、脚部ユニット等を制御し、検出した動体の方向を向く、或いはトラッキングするなどといった行動を行うことができる。
【0127】
ここで、認識統合部21の動体検出部がフレーム間の差分画像を生成した場合、動体の動きが停止した時点で差分値が0となる。例えば、図16に示すように、それぞれ時刻t1〜t4における人間を撮像した画像データP1〜P4について差分画像データD1〜D3を生成した場合、時刻t3及びt4間で顔が静止していると、差分画像データD3から顔の差分データが消失してしまう。つまり、差分画像データから動体が消失したということは、動体がその場から消失したのではなく、消えた場所に動体が存在するということを意味している。
【0128】
そこで、本具体例おけるロボット装置1は、この差分が0となる時点を検出し、その直前の差分画像における重心位置の方向にCCDカメラ等の画像入力装置251を向けることで重心位置の方向を向き、又は脚部ユニットを制御し重心位置の方向に近付く。すなわち、図17のフローチャートに示すように、先ずステップS21において、差分画像データの重心位置を計算することで動体を検出し、ステップS22において、検出した動体が差分画像データから消失したか否かが判別される。ステップS22において動体が消えていない場合(No)にはステップS21に戻る。一方、ステップS22において動体が消えた場合(Yes)にはステップS23に進み、消失した方向、すなわち直前の差分画像における重心位置の方向を向く、或いはその重心位置の方向に近付く。
【0129】
なお、検出した動体がロボット装置1の視覚範囲から外れた場合にも差分画像から動体が消失するが、この場合にも上述のステップS23において最後に検出された重心位置の方向を向くことで、ほぼ動体の方向を向くことができる。
【0130】
このように、本具体例におけるロボット装置1は、視覚範囲内で動体が静止したことにより差分画像データから消失するタイミングを検出し、その重心位置の方向を向くようにすることで、例えば人間等の動体の気配を感じてその方向を向くという自律的なインタラクションを実現できる。また、予測部31は、動体が視覚範囲から外れたことにより差分画像データから消失するのを検出し、最後に検出された重心位置の方向を向くようにすることで、ほぼ動体の方向を向くことができる。
【0131】
また、ロボット装置1は、差分画像データから動体が消失した場合のみならず、所定の時間間隔毎、或いは動体の重心位置が視覚範囲から外れそうになる毎に検出された重心方向を向き、動体をトラッキングするようにしても構わない。すなわち、図18のフローチャートに示すように、先ずステップS30において、差分画像データの重心位置を計算することで動体を検出し、ステップS31において、所定の時間間隔毎、或いは動体が視覚範囲から外れそうになる毎に検出された重心位置の方向を向く。
【0132】
ここで、ロボット装置1は、前述のように差分画像データから動体が消失した場合の他、ステップS31におけるロボット装置1の動きが大きい場合には、動き補償によって自己の動きと動体の動きとを区別することができなくなり、動体を見失ってしまう。そこでステップS32において、動体を見失ったか否かが判別される。ステップS32において動体を見失っていない場合(No)にはステップS30に戻る。一方、ステップS32において動体を見失った場合(Yes)にはステップS33に進み、最後に検出された重心位置の方向を向く。
【0133】
このように、本具体例におけるロボット装置1は、所定の時間間隔毎、或いは動体が視覚範囲から外れそうになる毎に検出された重心方向を向き、動体を見失った場合に最後に検出された重心位置の方向を向くようにすることで、頭部ユニットに設けられた画像入力装置251によって撮像した画像内の動体を簡易な手法により検出し、トラッキングすることが可能となる。
【0134】
以上の処理は、後述する図22に示すミドル・ウェア・レイヤ50の認識系71には、上述の図4に示す複数の認識部15及び認識統合部21が含まれ、この認識統合部21は、動き検出用信号処理モジュール68を含む。この動き検出信号処理モジュール68が図19に示す差分画像生成モジュール110と重心計算モジュール111とによって構成することで実現される。
【0135】
すなわち、図19に示すように、ロボティック・サーバ・オブジェクト42のバーチャル・ロボット43は、CCDカメラ22によって撮像されたフレーム単位の画像データをDRAM11から読み出し、この画像データをミドル・ウェア・レイヤ50の認識系71に含まれる認識結果統合部21の差分画像生成モジュール110に送出する。
【0136】
差分画像生成モジュール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に与える。
【0137】
そして、重心計算モジュール111は、差分画像データのうち、輝度値が閾値Thよりも大きい部分についての重心位置G(x,y)を計算する。ここで、x、yは、それぞれ以下の(6)式、(7)式を用いて計算される。
【0138】
【数5】
【0139】
これにより、図20に示すように、例えば上述した画像データP2と画像データP3との差分画像データD2から、重心位置G2が求められる。
【0140】
重心計算モジュール111は、求めた重心位置のデータをアプリケーション・レイヤ51の行動モデルライブラリ90に送出する。
【0141】
行動モデルライブラリ90は、必要に応じて情動のパラメータ値や欲求のパラメータ値を参照しながら続く行動を決定し、決定結果を行動切換モジュール91に与える。例えば、差分画像データから動体が消失した場合には、直前に検出された重心位置を向く、或いは近付く行動を決定し、決定結果を行動切換モジュール91に与える。また、所定の時間間隔毎に動体をトラッキングする場合には、その時間間隔毎に検出された重心位置を向く、或いは近付く行動を決定し、決定結果を行動切換モジュール91に与える。そして、行動切換モジュール91は、当該決定結果に基づく行動コマンドをミドル・ウェア・レイヤ50の出力系80におけるトラッキング用信号処理モジュール73に送出する。
【0142】
トラッキング用信号処理モジュール73は、行動コマンドが与えられると当該行動コマンドに基づいて、その行動を行うために対応するアクチュエータ281〜28nに与えるべきサーボ指令値を生成し、このデータをロボティック・サーバ・オブジェクト42のバーチャル・ロボット43及び信号処理回路14(図2)を順次介して対応するアクチュエータ281〜28nに順次送出する。
【0143】
この結果、例えば、差分画像データから動体が消失した場合には、行動モデルライブラリ90によって、直前に検出された重心位置を向く、或いは近付く行動が決定され、行動切換モジュール91によって、その行動を行わせるための行動コマンドが生成される。また、所定の時間間隔毎に動体をトラッキングする場合には、行動モデルライブラリ90によって、その時間間隔毎に検出された重心位置を向く、或いは近付く行動が決定され、行動切換モジュール91によって、その行動を行わせるための行動コマンドが生成される。
【0144】
そして、この行動コマンドが、上述した図4に示す首制御コマンド生成部22等のトラッキング用信号処理モジュール73に与えられると、当該トラッキング用信号処理モジュール73は、その行動コマンドに基づくサーボ指令値を出力部を介して対応するアクチュエータ281〜28nに送出し、これによりロボット装置1が動体に興味を示して頭部をその方向に向けたり、動体の方向に近付いたりする行動が発現される。
【0145】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。上述の実施の形態においては、人物の顔のトラッキングについて説明したが、他の対象物に対しても広く適用できる。例えば、上述した如く、ボール等の例では、ボールの色、形状(形及び大きさ)、模様等を認識する認識部を備え、いずれかが認識できていればトラッキングを継続する、いずれも認識できない時間が長く続けばトラッキングを中止する等の方法をとることができる。
【0146】
(3)制御プログラムのソフトウェア構成
以上のようなロボット装置1は、自己及び周囲の状況や、使用者からの指示及び働きかけに応じて自律的に行動し得るようになされている。次に、このようなロボット装置の制御プログラムのソフトウェア構成について詳細に説明する。図21は、本実施の形態におけるロボット装置のソフトウェア構成を示すブロック図である。図21において、デバイス・ドライバ・レイヤ40は、この制御プログラムの最下位層に位置し、複数のデバイス・ドライバからなるデバイス・ドライバ・セット41から構成されている。この場合、各デバイス・ドライバは、CCDカメラ等の画像入力装置251(図3)やタイマ等の通常のコンピュータで用いられるハードウェアに直接アクセスすることを許されたオブジェクトであり、対応するハードウェアからの割り込みを受けて処理を行う。
【0147】
また、ロボティック・サーバ・オブジェクト42は、デバイス・ドライバ・レイヤ40の最下位層に位置し、例えば上述の各種センサやアクチュエータ等のハードウェアにアクセスするためのインターフェイスを提供するソフトウェア群でなるバーチャル・ロボット43と、電源の切換えなどを管理するソフトウェア群でなるパワーマネージャ44と、他の種々のデバイス・ドライバを管理するソフトウェア群でなるデバイス・ドライバ・マネージャ45と、ロボット装置1の機構を管理するソフトウェア群でなるデザインド・ロボット46とから構成されている。
【0148】
マネージャ・オブジェクト47は、オブジェクト・マネージャ48及びサービス・マネージャ49から構成されている。オブジェクト・マネージャ48は、ロボティック・サーバ・オブジェクト42、ミドル・ウェア・レイヤ50、及びアプリケーション・レイヤ51に含まれる各ソフトウェア群の起動や終了を管理するソフトウェア群であり、サービス・マネージャ49は、例えばメモリカードに格納されたコネクションファイルに記述されている各オブジェクト間の接続情報に基づいて各オブジェクトの接続を管理するソフトウェア群である。
【0149】
ミドル・ウェア・レイヤ50は、ロボティック・サーバ・オブジェクト42の上位層に位置し、画像処理や音声処理などのこのロボット装置1の基本的な機能を提供するソフトウェア群から構成されている。また、アプリケーション・レイヤ51は、ミドル・ウェア・レイヤ50の上位層に位置し、当該ミドル・ウェア・レイヤ50を構成する各ソフトウェア群によって処理された処理結果に基づいてロボット装置1の行動を決定するためのソフトウェア群から構成されている。
【0150】
なお、ミドル・ウェア・レイヤ50及びアプリケーション・レイヤ51の具体なソフトウェア構成をそれぞれ図22に示す。
【0151】
ミドル・ウェア・レイヤ50は、図22に示すように、騒音検出用、温度検出用、明るさ検出用、音階認識用、距離検出用、姿勢検出用、接触検出用、操作入力検出用、動き検出用及び色認識用の各信号処理モジュール60〜69並びに入力セマンティクスコンバータモジュール70などを有する認識系71と、出力セマンティクスコンバータモジュール79並びに姿勢管理用、トラッキング用、モーション再生用、歩行用、転倒復帰用、LED点灯用及び音再生用の各信号処理モジュール72〜78などを有する出力系80とから構成されている。
【0152】
認識系71の各信号処理モジュール60〜69は、ロボティック・サーバ・オブジェクト42のバーチャル・ロボット43によりDRAMから読み出される各センサデータや画像データ及び音声データのうちの対応するデータを取り込み、当該データに基づいて所定の処理を施して、処理結果を入力セマンティクスコンバータモジュール70に与える。ここで、例えば、バーチャル・ロボット43は、所定の通信規約によって、信号の授受或いは変換をする部分として構成されている。
【0153】
入力セマンティクスコンバータモジュール70は、これら各信号処理モジュール60〜69から与えられる処理結果に基づいて、「うるさい」、「暑い」、「明るい」、「ドミソの音階が聞こえた」、「障害物を検出した」、「転倒を検出した」、「叱られた」、「誉められた」、「動く物体を検出した」又は「ボールを検出した」などの自己及び周囲の状況や、使用者からの指令及び働きかけを認識し、認識結果をアプリケーション・レイヤ51(図21)に出力する。
【0154】
アプリケーション・レイヤ5lは、図23に示すように、行動モデルライブラリ90、行動切換モジュール91、学習モジュール92、感情モデル93及び本能モデル94の5つのモジュールから構成されている。
【0155】
行動モデルライブラリ90には、図24に示すように、「バッテリ残量が少なくなった場合」、「転倒復帰する」、「障害物を回避する場合」、「感情を表現する場合」、「ボールを検出した場合」などの予め選択されたいくつかの条件項目にそれぞれ対応させて、それぞれ独立した行動モデル901〜90nが設けられている。
【0156】
そして、これら行動モデル901〜90nは、それぞれ入力セマンティクスコンバータモジュール70から認識結果が与えられたときや、最後の認識結果が与えられてから一定時間が経過したときなどに、必要に応じて後述する感情モデル93に保持されている対応する情動のパラメータ値や、本能モデル94に保持されている対応する欲求のパラメータ値を参照しながら続く行動をそれぞれ決定し、決定結果を行動切換モジュール91に出力する。
【0157】
なお、この具体例の場合、各行動モデル901〜90nは、次の行動を決定する手法として、図25に示すような1つのノード(状態)NODE0〜NODEnから他のどのノードNODE0〜NODEnに遷移するかを各ノードNODE0〜NODEnに間を接続するアークARC1〜ARCnに対してそれぞれ設定された遷移確率P1〜Pnに基づいて確率的に決定する有限確率オートマトンと呼ばれるアルゴリズムを用いる。
【0158】
具体的に、各行動モデル901〜90nは、それぞれ自己の行動モデル901〜90nを形成するノードNODE0〜NODEnにそれぞれ対応させて、これらノードNODE0〜NODEnごとに図26に示すような状態遷移表270を有している。
【0159】
この状態遷移表270では、そのノードNODE0〜NODEnにおいて遷移条件とする入力イベント(認識結果)が「入力イベント名」の列に優先順に列記され、その遷移条件についてのさらなる条件が「データ名」及び「データ範囲」の列における対応する行に記述されている。
【0160】
したがって、図26の状態遷移表270で表されるノードNODE100では、「ボールを検出(BALL)」という認識結果が与えられた場合に、当該認識結果と共に与えられるそのボールの「大きさ(SIZE)」が「0から1000」の範囲であることや、「障害物を検出(OBSTACLE)」という認識結果が与えられた場合に、当該認識結果と共に与えられるその障害物までの「距離(DISTANCE)」が「0から100」の範囲であることが他のノードに遷移するための条件となっている。
【0161】
また、このノードNODE100では、認識結果の入力がない場合においても、行動モデル901〜90nが周期的に参照する感情モデル93及び本能モデル94にそれぞれ保持された各情動及び各欲求のパラメータ値のうち、感情モデル93に保持された「喜び(JOY)」、「驚き(SURPRISE)」若しくは「悲しみ(SUDNESS)」のいずれかのパラメータ値が「50から100」の範囲であるときには他のノードに遷移することができるようになっている。
【0162】
また、状態遷移表100では、「他のノードヘの遷移確率」の欄における「遷移先ノード」の行にそのノードNODE0〜NODEnから遷移できるノード名が列記されていると共に、「入力イベント名」、「データ値」及び「データの範囲」の列に記述された全ての条件が揃ったときに遷移できる他の各ノードNODE0〜NODEnへの遷移確率が「他のノードヘの遷移確率」の欄内の対応する箇所にそれぞれ記述され、そのノードNODE0〜NODEnに遷移する際に出力すべき行動が「他のノードヘの遷移確率」の欄における「出力行動」の行に記述されている。なお、「他のノードヘの遷移確率」の欄における各行の確率の和は100[%]となっている。
【0163】
したがって、図26の状態遷移表100で表されるノードNODE100では、例えば「ボールを検出(BALL)」し、そのボールの「SIZE(大きさ)」が「0から1000」の範囲であるという認識結果が与えられた場合には、「30[%]」の確率で「ノードNODE120(node120)」に遷移でき、そのとき「ACTION1」の行動が出力されることとなる。
【0164】
各行動モデル901〜90nは、それぞれこのような状態遷移表270として記述されたノードNODE0〜NODEnがいくつも繋がるようにして構成されており、入力セマンティクスコンバータモジュール70から認識結果が与えられたときなどに、対応するノードNODE0〜NODEnの状態遷移表を利用して確率的に次の行動を決定し、決定結果を行動切換モジュール91に出力するようになされている。
【0165】
図24に示す行動切換モジュール91は、行動モデルライブラリ90の各行動モデル901〜90nからそれぞれ出力される行動のうち、予め定められた優先順位の高い行動モデル901〜90nから出力された行動を選択し、当該行動を実行すべき旨のコマンド(以下、これを行動コマンドという。)をミドル・ウェア・レイヤ50の出力セマンティクスコンバータモジュール79に送出する。なお、この実施の形態においては、図24において下側に表記された行動モデル901〜90nほど優先順位が高く設定されている。
【0166】
また、行動切換モジュール91は、行動完了後に出力セマンティクスコンバータモジュール79から与えられる行動完了情報に基づいて、その行動が完了したことを学習モジュール92、感情モデル93及び本能モデル94に通知する。
【0167】
一方、学習モジュール92は、入力セマンティクスコンバータモジュール70から与えられる認識結果のうち、「叱られた」や「誉められた」など、使用者からの働きかけとして受けた教示の認識結果を入力する。そして、学習モジュール92は、この認識結果及び行動切換モジュール91からの通知に基づいて、「叱られた」ときにはその行動の発現確率を低下させ、「誉められた」ときにはその行動の発現確率を上昇させるように、行動モデルライブラリ90における対応する行動モデル901〜90nの対応する遷移確率を変更する。
【0168】
他方、感情モデル93は、「喜び(JOY)」、「悲しみ(SADNESS)」、「怒り(ANGER)」、「驚き(SURPRISE)」、「嫌悪(DISGUST)」及び「恐れ(FEAR)」の合計6つの情動について、各情動ごとにその情動の強さを表すパラメータを保持している。そして、感情モデル93は、これら各情動のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール70から与えられる「叱られた」及び「誉められた」などの特定の認識結果と、経過時間及び行動切換モジュール91からの通知などに基づいて周期的に更新する。
【0169】
具体的には、感情モデル93は、入力セマンティクスコンバータモジュール70から与えられる認識結果と、そのときのロボット装置1の行動と、前回更新してからの経過時間などに基づいて所定の演算式により算出されるそのときのその情動の変動量を△E[t]、現在のその情動のパラメータ値をE[t]、その情動の感度を表す係数をkeとして、下記の式(8)によって次の周期におけるその情動のパラメータ値E[t+1]を算出し、これを現在のその情動のパラメータ値E[t]と置き換えるようにしてその情動のパラメータ値を更新する。また、感情モデル73は、これと同様にして全ての情動のパラメータ値を更新する。
【0170】
【数6】
【0171】
なお、各認識結果や出力セマンティクスコンバータモジュール79からの通知が各情動のパラメータ値の変動量△E[t]にどの程度の影響を与えるかは予め決められており、例えば「叩かれた」といった認識結果は「怒り」の情動のパラメータ値の変動量△E[t]に大きな影響を与え、「撫でられた」といった認識結果は「喜び」の情動のパラメータ値の変動量△E[t]に大きな影響を与えるようになっている。
【0172】
ここで、出力セマンティクスコンバータモジュール79からの通知とは、いわゆる行動のフィードバック情報(行動完了情報)であり、行動の出現結果の情報であり、感情モデル93は、このような情報によっても感情を変化させる。これは、例えば、「吠える」といった行動により怒りの感情レベルが下がるといったようなことである。なお、出力セマンティクスコンバータモジュール79からの通知は、上述した学習モジュール92にも入力されており、学習モジュール92は、その通知に基づいて行動モデル901〜90nの対応する遷移確率を変更する。
【0173】
なお、行動結果のフィードバックは、行動切換モジュール91の出力(感情が付加された行動)によりなされるものであってもよい。
【0174】
一方、本能モデル94は、「運動欲(exercise)」、「愛情欲(affection)」、「食欲(appetite)」及び「好奇心(curiosity)」の互いに独立した4つの欲求について、これら欲求ごとにその欲求の強さを表すパラメータを保持している。そして、本能モデル94は、これらの欲求のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール70から与えられる認識結果や、経過時間及び行動切換モジュール91からの通知などに基づいて周期的に更新する。
【0175】
具体的には、本能モデル94は、「運動欲」、「愛情欲」及び「好奇心」については、認識結果、経過時間及び出力セマンティクスコンバータモジュール79からの通知などに基づいて所定の演算式により算出されるそのときのその欲求の変動量をΔI[k]、現在のその欲求のパラメータ値をI[k]、その欲求の感度を表す係数kiとして、所定周期で下記の式(9)を用いて次の周期におけるその欲求のパラメータ値I[k+1]を算出し、この演算結果を現在のその欲求のパラメータ値I[k]と置き換えるようにしてその欲求のパラメータ値を更新する。また、本能モデル94は、これと同様にして「食欲」を除く各欲求のパラメータ値を更新する。
【0176】
【数7】
【0177】
なお、認識結果及び出力セマンティクスコンバータモジュール79からの通知などが各欲求のパラメータ値の変動量△I[k]にどの程度の影響を与えるかは予め決められており、例えば出力セマンティクスコンバータモジュール79からの通知は、「疲れ」のパラメータ値の変動量△I[k]に大きな影響を与えるようになっている。
【0178】
なお、本実施の形態においては、各情動及び各欲求(本能)のパラメータ値がそれぞれ0から100までの範囲で変動するように規制されており、また係数ke、kiの値も各情動及び各欲求毎に個別に設定されている。
【0179】
一方、図22に示すように、ミドル・ウェア・レイヤ50の出力セマンティクスコンバータモジュール79は、上述のようにしてアプリケーション・レイヤ51の行動切換モジュール91から与えられる「前進」、「喜ぶ」、「鳴く」又は「トラッキング(ボールを追いかける)」といった抽象的な行動コマンドを出力系80の対応する信号処理モジュール72〜78に与える。
【0180】
そしてこれら信号処理モジュール72〜78は、行動コマンドが与えられると当該行動コマンドに基づいて、その行動を行うために対応するアクチュエータに与えるべきサーボ指令値や、スピーカから出力する音の音声データ及び/又は発光部のLEDに与える駆動データを生成し、これらのデータをロボティック・サーバ・オブジェクト42のバーチャル・ロボット43を順次介して対応するアクチュエータ、スピーカ又は発光部等に順次送出する。
【0181】
このようにしてロボット装置1においては、制御プログラムに基づいて、自己(内部)及び周囲(外部)の状況や、使用者からの指示及び働きかけに応じた自律的な行動を行うことができるようになされている。
【0182】
【発明の効果】
以上詳細に説明したように本発明に係るロボット装置は、少なくとも機体の一部を使用して対象物をトラッキングするロボット装置において、異なる種類のものを認識する複数の認識手段及び/又は同一種類であってその認識レベルに応じて2以上に階層化された複数の認識手段と、上記複数の認識手段からの認識結果を統合する認識統合手段と、上記対象物をトラッキングする動作を生成する動作生成手段と上記認識統合結果に基づき上記動作生成手段を制御するトラッキング制御手段とを有し、上記トラッキング制御手段は、上記複数の認識手段のうち所定の認識手段の認識結果に基づき上記対象物のトラッキングを開始し、該所定の認識手段の認識結果が得られなくなった場合に該所定の認識手段とは異なる他の認識手段の認識結果に基づき上記トラッキングを継続するよう制御するので、所定の認識手段の認識結果に基づきトラッキングを開始した場合、該所定の認識手段による認識が失敗しても他の認識手段による認識結果に基づきトラッキングを継続することができ、割り込み動作等によりトラッキングが中断された場合や、照明条件の変化等に対する認識手段の認識の不安定さに対しても、複数の認識手段を複合的に組み合わせて使用することで極めてロバストなトラッキングを行うことができる。
【図面の簡単な説明】
【図1】本発明の実施の形態におけるロボット装置の外観構成を示す斜視図である。
【図2】同ロボット装置の自由度構成モデルを模式的に示す図である。
【図3】同ロボット装置の制御システム構成を模式的に示す図である。
【図4】本発明の実施の形態のロボット装置の制御システムのうち、トラッキングシステムを構成する部分を模式的に示すブロック図である。
【図5】同トラッキングシステムにおける予測部の機能を説明するためのブロック図である。
【図6】同トラッキングシステムにおける異なる認識レベルの階層化された認識部の機能を説明するためのブロック図である。
【図7】同トラッキングシステムにおける異なる種類の認識部の機能を説明するためのブロック図である。
【図8】同トラッキングシステムにおける割り込み行動が生じた際の予測部の機能を説明するためのブロック図である。
【図9】同トラッキングシステムにおけるトラッキング終了機能を説明するためのブロック図である。
【図10】同トラッキングシステムの音声方向認識部の具体例を示す図であって、ロボット装置の振り向き動作を説明する図である。
【図11】同トラッキングシステムの音声方向認識部の具体例を示す図であって、ロボット装置の振り向き動作の一例を説明するフローチャートである。
【図12】同トラッキングシステムの音声方向認識部の具体例を示す図であって、音源方向の推定手法を説明する図である。
【図13】同トラッキングシステムの音声方向認識部の具体例を示す図であってmロボット装置の振り向き動作を説明する図であり、(a)は、振り向く前の状態を示し、(b)は、振り向き後の状態を示し、(c)は、対象オブジェクトに正対した図を示す。
【図14】同トラッキングシステムの音声方向認識部の具体例を示す図であって、ロボット装置の振り向き動作の他の例を説明するフローチャートである。
【図15】同トラッキングシステムの音声方向認識部の具体例を示す図であって、ロボット装置の振り向き動作の他の例を説明する図であり、(a)は、振り向く前の状態を示し、(b)は、振り向き後の状態を示す。
【図16】同トラッキングシステムの動体検出方法の具体例を示す図であって、差分画像データから動体が消える例を説明する図である。
【図17】同トラッキングシステムの動体検出方法の具体例を示す図であって、差分画像データから動体が消失した方向を向く場合の手順を説明するフローチャートである。
【図18】同トラッキングシステムの動体検出方法の具体例を示す図であって、動体をトラッキングする場合の手順を説明するフローチャートである。
【図19】同トラッキングシステムの動体検出方法の具体例を示す図であって、ロボット装置の動体検出に関連する部分のソフトウェア構成を示すブロック図である。
【図20】同トラッキングシステムの動体検出方法の具体例を示す図であって、差分画像データの重心位置を求める例を説明する図である。
【図21】本発明の実施の形態におけるロボット装置のソフトウェア構成を示すブロック図である。
【図22】本発明の実施の形態におけるロボット装置のソフトウェア構成におけるミドル・ウェア・レイヤの構成を示すブロック図である。
【図23】本発明の実施の形態におけるロボット装置のソフトウェア構成におけるアプリケーション・レイヤの構成を示すブロック図である。
【図24】本発明の実施の形態におけるアプリケーション・レイヤの行動モデルライブラリの構成を示すブロック図である。
【図25】本発明の実施の形態におけるロボット装置の行動決定のための情報となる有限確率オートマトンを説明する図である。
【図26】有限確率オートマトンの各ノードに用意された状態遷移表を示す図である。
【符号の説明】
1 ロボット装置、10 トラッキングシステム、11 肌色認識部、12 顔検認識部、13 個人認識部、15 認識部、21 認識統合部、22 首制御コマンド生成部、23 出力部、31 予測部、32 行動、33 タイマ
42 ロボティック・サーバ・オブジェクト、43 バーチャル・ロボット、50 ミドル・ウェア・レイヤ、51 アプリケーション・レイヤ、68 動き検出用信号処理モジュール、70 入力セマンティクスコンバータモジュール、71 認識系、73 トラッキング用信号処理モジュール、79 出力セマンティクスコンバータモジュール、80 出力系、83 感情モデル、84 本能モデル、90 行動モデルライブラリ、91 行動切換モジュール、110 差分画像生成モジュール、111 重心計算モジュール、200 思考制御モジュール、251 画像入力装置、252 音声入力装置、253 音声出力装置、300 運動制御モジュール、350 アクチュエータ
Claims (13)
- 少なくとも機体の一部を使用して対象物をトラッキングするロボット装置において、
異なる種類のものを認識する複数の認識手段又は同一種類のものを認識しその認識レベルに応じて2以上に階層化された複数の認識手段と、
上記複数の認識手段からの認識結果を統合する認識統合手段と、
上記対象物をトラッキングする動作を生成する動作生成手段と、
上記認識統合結果に基づき上記動作生成手段を制御するトラッキング制御手段とを有し、
上記トラッキング制御手段は、上記複数の認識手段のうち所定の認識手段の認識結果に基づき上記対象物のトラッキングを開始し、該所定の認識手段の認識結果が得られなくなった場合に該所定の認識手段とは異なる他の認識手段の認識結果に基づき上記トラッキングを継続するよう制御し、
上記トラッキングは、該トラッキング動作より優先度が高い動作により中断され、
上記トラッキングが終了又は中断される直前の上記対象物の方向を記憶する対象物記憶手段を有し、
上記トラッキング制御手段は、上記優先度が高い動作が終了した際、上記記憶した方向にて上記複数の認識手段の何れかにおいて上記対象物を認識した場合に再びトラッキングを開始するよう制御する
ロボット装置。 - 上記他の認識手段からの認識結果が得られなくなった場合に、直前までの該他の認識手段の認識結果に基づき上記対象物の予測方向を求める予測手段を有し、
上記トラッキング制御手段は、上記予測方向に基づき上記トラッキングを継続するよう制御する
請求項1記載のロボット装置。 - 上記他の認識手段は、上記所定の認識手段と同一の種類であって下層の認識手段、又は該所定の認識手段とは異なる種類のものを認識する認識手段である
請求項1記載のロボット装置。 - 上記トラッキング制御手段は、上記所定の認識手段の認識結果が所定の時間得られない場合に該トラッキングを終了又は中断する
請求項1記載のロボット装置。 - 上記トラッキング制御手段は、上記所定の認識手段の認識結果が得られなくなった直前の上記対象物の方向と、上記他の認識手段の認識結果により得られる上記対象物の方向との差が所定の値を超えた場合に上記トラッキングを終了又は中断する
請求項1記載のロボット装置。 - 上記異なる種類の複数の認識手段は、少なくとも画像認識手段及び音声認識手段を有し、
上記トラッキング制御手段は、上記画像認識手段及び音声認識手段の認識結果が得られている場合、画像認識手段の認識結果に基づき上記トラッキングを継続するよう制御する
請求項1記載のロボット装置。 - 上記予測手段は、上記他の認識手段による認識結果が得られなくなる直前までの上記対象物の動きを検出し、当該動き検出結果に基づき上記予測方向を求める
請求項2記載のロボット装置。 - 上記予測手段は、上記他の認識結果に基づき検出される上記対象物の方向を記憶し、上記他の認識手段による認識結果が得られなくなる直前の上記対象物の方向を上記予測方向とする
請求項2記載のロボット装置。 - 上記トラッキングが終了又は中断される直前までの上記対象物の動きを検出する対象物動き検出手段を有し、
上記トラッキング制御手段は、上記優先度が高い動作が終了した際、当該動き検出結果に基づき上記複数の認識手段の何れかにおいて上記対象物を認識した場合に再びトラッキングを開始するよう制御する
請求項1記載のロボット装置。 - 同一種類であってその認識レベルに応じて2以上に階層化された複数の認識手段は、少なくとも上記対象物としての人物の顔を認識する画像認識手段、上記対象物としての人物の声を認識する音声認識手段、又は上記対象物として人物以外の物体を認識する物体認識手段のいずれか1つであって、
上記画像認識手段は、画像領域内の肌色領域を上記対象物として認識する肌色認識手段、上記対象物が顔であるか否かを判定する顔認識手段、上記対象物の顔を特定の個人として推定する個人認識手段のうち少なくとも2以上に階層化され、
上記音声認識手段は、音声方向を推定する音声方向認識手段、音声を発生した話者を推定する話者認識手段、音声の内容を認識する音声内容認識手段のうち少なくとも2以上に階層化され、
上記物体認識手段は、画像領域内の対象物の色を認識する色認識手段、上記対象物の形状を認識する形状認識手段、上記対象物の模様を認識する模様認識手段のうち少なくとも2以上に階層化されている
請求項1記載のロボット装置。 - 動物を模した外観形状とされ、少なくとも首又は体幹部により該対象物をトラッキングする請求項1記載のロボット装置。
- 少なくとも機体の一部を使用して対象物をトラッキングするロボット装置の動作制御方法において、
異なる種類のものを認識する複数の認識手段又は同一種類のものを認識しその認識レベルに応じて2以上に階層化された複数の認識手段により上記対象物を認識する認識工程と、
上記複数の認識手段からの認識結果を統合する認識統合工程と、
上記対象物をトラッキングする動作を生成する動作生成工程と、
上記認識統合結果に基づき上記トラッキングする動作を制御するトラッキング制御工程とを有し、
上記トラッキング制御工程では、上記複数の認識手段のうち所定の認識手段の認識結果に基づき上記対象物のトラッキングを開始し、該所定の認識手段の認識結果が得られなくなった場合に該所定の認識手段とは異なる他の認識手段の認識結果に基づき上記トラッキングを継続するよう制御され、
上記トラッキングは、該トラッキング動作より優先度が高い動作により中断され、
上記トラッキングが終了又は中断される直前の上記対象物の方向を記憶する対象物記憶工程を有し、
上記トラッキング制御工程では、上記優先度が高い動作が終了した際、上記記憶した方向にて上記複数の認識手段の何れかにおいて上記対象物を認識した場合に再びトラッキングを開始するよう制御される
ロボット装置の動作制御方法。 - 少なくとも機体の一部を使用して対象物をトラッキングする動作をコンピュータがロボット装置に実行させるためのプログラムにおいて、
異なる種類のものを認識する複数の認識手段又は同一種類のものを認識しその認識レベルに応じて2以上に階層化された複数の認識手段により上記対象物を認識する認識工程と、
上記複数の認識手段からの認識結果を統合する認識統合工程と、
上記対象物をトラッキングする動作を生成する動作生成工程と、
上記認識統合結果に基づき上記トラッキング動作を制御するトラッキング制御工程とを有し、
上記トラッキング制御工程では、上記複数の認識手段のうち所定の認識手段の認識結果に基づき上記対象物のトラッキングを開始し、該所定の認識手段の認識結果が得られなくなった場合に該所定の認識手段とは異なる他の認識手段の認識結果に基づき上記トラッキングを継続するよう制御し、
上記トラッキングは、該トラッキング動作より優先度が高い動作により中断され、
上記トラッキングが終了又は中断される直前の上記対象物の方向を記憶する対象物記憶工程を有し、
上記トラッキング制御工程では、上記優先度が高い動作が終了した際、上記記憶した方向にて上記複数の認識手段の何れかにおいて上記対象物を認識した場合に再びトラッキングを開始するよう制御する
ためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003079146A JP4239635B2 (ja) | 2003-03-20 | 2003-03-20 | ロボット装置、その動作制御方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003079146A JP4239635B2 (ja) | 2003-03-20 | 2003-03-20 | ロボット装置、その動作制御方法、及びプログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004283959A JP2004283959A (ja) | 2004-10-14 |
JP2004283959A5 JP2004283959A5 (ja) | 2006-05-11 |
JP4239635B2 true JP4239635B2 (ja) | 2009-03-18 |
Family
ID=33293345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003079146A Expired - Fee Related JP4239635B2 (ja) | 2003-03-20 | 2003-03-20 | ロボット装置、その動作制御方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4239635B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200120982A (ko) * | 2019-04-08 | 2020-10-23 | 주식회사 토룩 | 자율 행동 로봇을 제어하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체 |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4204541B2 (ja) | 2004-12-24 | 2009-01-07 | 株式会社東芝 | 対話型ロボット、対話型ロボットの音声認識方法および対話型ロボットの音声認識プログラム |
US7966084B2 (en) * | 2005-03-07 | 2011-06-21 | Sony Ericsson Mobile Communications Ab | Communication terminals with a tap determination circuit |
JP4830650B2 (ja) * | 2005-07-05 | 2011-12-07 | オムロン株式会社 | 追跡装置 |
JP2007199965A (ja) * | 2006-01-25 | 2007-08-09 | Matsushita Electric Works Ltd | 自律移動装置 |
JP4675811B2 (ja) * | 2006-03-29 | 2011-04-27 | 株式会社東芝 | 位置検出装置、自律移動装置、位置検出方法および位置検出プログラム |
US7787697B2 (en) * | 2006-06-09 | 2010-08-31 | Sony Ericsson Mobile Communications Ab | Identification of an object in media and of related media objects |
JP5046148B2 (ja) * | 2006-07-06 | 2012-10-10 | 株式会社メガチップス | 画像解析装置および対象物認識方法 |
JP5044527B2 (ja) * | 2008-11-12 | 2012-10-10 | 日本電信電話株式会社 | 時系列パラメータ推定装置、時系列パラメータ推定方法、時系列パラメータ推定プログラム |
TWI405149B (zh) * | 2008-12-08 | 2013-08-11 | Ind Tech Res Inst | 物體端點定位方法及應用其之系統 |
JP5478903B2 (ja) * | 2009-01-22 | 2014-04-23 | 三菱重工業株式会社 | ロボットおよび音声認識装置ならびにプログラム |
JP5166316B2 (ja) | 2009-02-20 | 2013-03-21 | 株式会社東芝 | 状況認識装置及び状況認識方法 |
US9213891B2 (en) | 2011-02-17 | 2015-12-15 | Nec Corporation | Information processing device |
JP2013074569A (ja) * | 2011-09-29 | 2013-04-22 | Sanyo Electric Co Ltd | 画像処理装置 |
JP5978639B2 (ja) | 2012-02-06 | 2016-08-24 | ソニー株式会社 | 画像処理装置、画像処理方法、プログラム、及び記録媒体 |
JP5867424B2 (ja) | 2013-02-28 | 2016-02-24 | ソニー株式会社 | 画像処理装置、画像処理方法、プログラム |
JP5709955B2 (ja) * | 2013-09-30 | 2015-04-30 | 三菱重工業株式会社 | ロボットおよび音声認識装置ならびにプログラム |
EP2933064A1 (en) | 2014-04-17 | 2015-10-21 | Aldebaran Robotics | System, method and computer program product for handling humanoid robot interaction with human |
JP2018205470A (ja) * | 2017-06-01 | 2018-12-27 | 株式会社InfoDeliver | 対話装置、対話システム、対話方法及び対話プログラム |
CN111108463A (zh) * | 2017-10-30 | 2020-05-05 | 索尼公司 | 信息处理装置、信息处理方法和程序 |
US10796185B2 (en) * | 2017-11-03 | 2020-10-06 | Facebook, Inc. | Dynamic graceful degradation of augmented-reality effects |
CN111527461B (zh) * | 2018-01-09 | 2024-03-22 | 索尼公司 | 信息处理装置、信息处理方法和程序 |
WO2021117441A1 (ja) * | 2019-12-10 | 2021-06-17 | ソニーグループ株式会社 | 情報処理装置、その制御方法及びプログラム |
CN113110476A (zh) * | 2021-04-26 | 2021-07-13 | 上海锵玫人工智能科技有限公司 | 一种室外监控预警防疫机器人及其监控预警防疫方法 |
JP7360508B1 (ja) * | 2022-06-10 | 2023-10-12 | 株式会社バンダイ | 玩具の可動構造 |
-
2003
- 2003-03-20 JP JP2003079146A patent/JP4239635B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200120982A (ko) * | 2019-04-08 | 2020-10-23 | 주식회사 토룩 | 자율 행동 로봇을 제어하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체 |
KR102233609B1 (ko) * | 2019-04-08 | 2021-03-30 | 주식회사 토룩 | 자율 행동 로봇을 제어하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체 |
Also Published As
Publication number | Publication date |
---|---|
JP2004283959A (ja) | 2004-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4239635B2 (ja) | ロボット装置、その動作制御方法、及びプログラム | |
JP3714268B2 (ja) | ロボット装置 | |
JP4086024B2 (ja) | ロボット装置及びその行動制御方法 | |
KR100898435B1 (ko) | 로봇 장치 및 그 제어 방법 | |
JP4609584B2 (ja) | ロボット装置、顔認識方法及び顔認識装置 | |
US7103447B2 (en) | Robot apparatus, and behavior controlling method for robot apparatus | |
JP3855812B2 (ja) | 距離計測方法、その装置、そのプログラム、その記録媒体及び距離計測装置搭載型ロボット装置 | |
US7689322B2 (en) | Robot apparatus and method of controlling the motion thereof | |
Fitzpatrick et al. | Humanoids | |
JP2004302644A (ja) | 顔識別装置、顔識別方法、記録媒体、及びロボット装置 | |
JP2004130427A (ja) | ロボット装置及びロボット装置の動作制御方法 | |
JP2003271958A (ja) | 画像処理方法、その装置、そのプログラム、その記録媒体及び画像処理装置搭載型ロボット装置 | |
JP7309371B2 (ja) | ロボット制御システム | |
JP4281286B2 (ja) | ロボット装置及びその制御方法 | |
JP4449372B2 (ja) | ロボット装置及びその行動制御方法 | |
JP2004302645A (ja) | 顔登録装置、顔登録方法、記録媒体、及びロボット装置 | |
JP4193098B2 (ja) | トラッキング装置、トラッキング装置のトラッキング方法及びロボット装置 | |
JP4506249B2 (ja) | ロボット装置及びその動作比較方法 | |
JP2003266352A (ja) | ロボット装置及びロボット装置の制御方法 | |
JP4539291B2 (ja) | ロボット装置及びその動作制御方法 | |
JP4379052B2 (ja) | 動体検出装置、動体検出方法、及びロボット装置 | |
JP2003266350A (ja) | ロボット装置及び内部状態表出装置 | |
JP2004298976A (ja) | ロボット装置及びロボット装置の認識制御方法 | |
JP2003266364A (ja) | ロボット装置 | |
JP2002205290A (ja) | 脚式移動ロボットの制御装置及び制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060320 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060320 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071127 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080128 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080902 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081104 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20081202 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081215 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120109 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120109 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |