JP4131392B2 - Robot apparatus, robot control method, recording medium, and program - Google Patents
Robot apparatus, robot control method, recording medium, and program Download PDFInfo
- Publication number
- JP4131392B2 JP4131392B2 JP2003019065A JP2003019065A JP4131392B2 JP 4131392 B2 JP4131392 B2 JP 4131392B2 JP 2003019065 A JP2003019065 A JP 2003019065A JP 2003019065 A JP2003019065 A JP 2003019065A JP 4131392 B2 JP4131392 B2 JP 4131392B2
- Authority
- JP
- Japan
- Prior art keywords
- distance
- user
- robot
- unit
- recognition target
- 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
Images
Landscapes
- Image Processing (AREA)
- Toys (AREA)
- Measurement Of Optical Distance (AREA)
- Manipulator (AREA)
- Measurement Of Velocity Or Position Using Acoustic Or Ultrasonic Waves (AREA)
- Image Analysis (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、ロボット装置およびロボット制御方法、記録媒体、並びにプログラムに関し、特に、例えば、ユーザとロボットの距離を調整することにより、ロボットの認識機能の認識精度を向上させることができるようにしたロボット装置およびロボット制御方法、記録媒体、並びにプログラムに関する。
【0002】
【従来の技術】
近年においては、玩具等として、音声認識装置や画像認識装置などの認識機能を備えたロボット(本明細書においては、ぬいぐるみ状のものを含む)が製品化されている。例えば、音声認識装置を備えたロボットでは、ユーザが発した音声を音声認識し、その音声認識結果に基づいて、ある仕草をしたり、合成音を出力する等の行動を自律的に行うようになされている。
【0003】
音声認識装置を備えたロボットが、ユーザが発した音声を音声認識する場合、音声を発したユーザが、ロボットから遠く離れすぎているときには、ロボットに装着されているマイクロホンにより取得されるユーザの発した音声波形の信号値は減衰し、相対的に雑音レベルが高くなる。つまり、マイクロホンにより取得されたユーザの音声信号のS/N比(Signal to Noise ratio)は低くなる。また、一般に、ユーザ(発話者)とロボット(に装着されているマイクロホン)の距離が大きくなるほど、音声信号の波形は、残響特性の影響を強く受ける。従って、ユーザとロボットの距離が離れすぎているときには、ロボットの音声認識装置の認識精度は悪くなる。
【0004】
反対に、ユーザとロボットの距離が近すぎるときには、ロボットに装着されているマイクロホンにより取得されるユーザの発した音声波形の信号値は、マイクロホンの検出可能な範囲を超えてしまう。従って、マイクロホンにより取得された音声波形は、飽和したものとなり、本来の音声波形より歪んだ波形となる。ユーザとロボットの距離が近すぎる場合には、ロボットの音声認識装置は、このような歪んだ波形を音声認識することとなるので、音声認識の精度は悪くなる。
【0005】
そこで、音声認識結果とともに、周囲雑音の影響を検知する周囲雑音検知、入力音声のパワーが特定の閾値条件を満たす状況を検知するパワー不足検知、パワー過多検知などの状況検知を行い、音声認識結果と状況検知の結果を利用して、ロボットにおける音声認識精度劣化の問題に対処する方法が提案されている(例えば、非特許文献1参照)。
【0006】
【非特許文献1】
岩沢,大中,藤田,「状況検知を利用したロボット用音声認識インタフェースの一手法とその評価」,人工知能学会研究会資料,社団法人人工知能学会,平成14年11月,p.33−38
【0007】
【発明が解決しようとする課題】
しかしながら、非特許文献1に示される方法では、ユーザ(発話者)とロボット(に装着されているマイクロホン)の距離が考慮されていない。そのため、例えば、ユーザが大きな声でロボットに話しかけているにもかかわらず、ユーザとロボットの距離が遠く離れているために、マイクロホンに入力された音声信号が、S/Nの低いものとなり、ユーザの音声を認識することができない場合に、ロボットがユーザに対してより大きな声による発声を求めるというような問題が発生しうる。
【0008】
一方、画像認識装置を備えたロボットにおいて、画像認識装置がユーザを撮像して得られる画像を用いてユーザを識別する場合、ユーザとロボットとの間の距離が遠く離れすぎているときには、画像を撮像した撮像装置の解像度などの影響により、ユーザの識別精度が劣化する。例えば、ロボットの画像認識装置が、撮像装置が撮像したユーザの顔画像からユーザを識別する場合、ロボットの撮像装置からユーザまでの距離が遠くなるほど、撮像画像における顔領域の画素数が少なくなり、その結果、画像認識装置が認識に利用することができる有効な画素が少なくなるため、画像認識装置の認識精度は悪くなることがある。
【0009】
また、ユーザとロボットとの距離が近すぎるときには、撮像装置が出力する画像の画枠内に、ユーザの顔領域の全体が入りきらず、画像認識装置によるユーザの識別精度が悪くなることがある。
【0010】
本発明は、このような状況に鑑みてなされたものであり、例えば、ロボットに装着された、音声や画像などの認識装置が、ユーザなど認識対象の音声や画像などを認識する場合において、ロボットとユーザとの距離が認識装置に適切な距離となるように、ロボットとユーザとの距離を調整することにより、ロボットの認識装置の認識精度を向上させることができるようにするものである。
【0011】
【課題を解決するための手段】
本発明のロボット装置は、所定の認識対象を認識する認識機能を有するロボット装置において、周囲の状況を撮像し、画像信号を出力する複数の撮像手段と、音声を入力する音声入力手段と、超音波パルスを発して認識対象から反射する反射波を受信する超音波出力手段と、複数の撮像手段、音声入力手段、および超音波出力手段の出力結果に基づいて、認識対象までの距離を推定する距離推定手段と、距離推定手段により推定された距離に基づいて、認識対象までの距離を調整する距離調整手段とを備え、距離推定手段は、超音波出力手段の出力結果から推定される距離と複数の撮像手段および音声入力手段の出力結果から推定される距離との差が大きく、超音波出力手段の出力結果から推定される距離が短い場合、超音波出力手段が検出した物体は障害物であると判定して、超音波出力手段の出力結果を除外して認識対象までの距離を推定し、距離調整手段は、障害物があると判定された場合、ユーザが移動するようにロボット装置に行動させることにより、ユーザまでの距離を調整し、障害物がないと判定された場合、ロボット装置を移動させることにより、認識対象までの距離を調整することを特徴とする。
【0012】
距離推定手段には、複数の撮像手段が出力する画像信号を用いてステレオ処理することにより、認識対象までの距離を推定させるようにすることができる。
【0013】
複数の撮像手段が認識する認識対象は、ユーザであり、距離推定手段には、撮像手段が出力する画像信号を用いて、ユーザの顔領域を検出し、その顔領域に基づいて、ユーザまでの距離を推定させるようにすることができる。
【0014】
音声入力手段が認識する認識対象は、ユーザであり、距離推定手段には、音声入力手段に入力されるユーザが発する音声の大きさに基づいて、ユーザまでの距離を推定させるようにすることができる。
【0018】
音声を出力する音声出力手段をさらに設け、距離調整手段には、ユーザが移動するように、音声出力手段に音声を出力させることにより、ユーザまでの距離を調整させるようにすることができる。
【0019】
距離調整手段には、ユーザが移動するようにユーザに促す動作を、ロボット装置にさせることにより、ユーザまでの距離を調整させるようにすることができる。
【0020】
距離推定手段により推定された距離が、所定の範囲内であるかどうかを判定する判定手段をさらに設け、距離調整手段には、判定手段の判定結果に基づいて、認識対象までの距離を調整させるようにすることができる。
【0021】
所定の範囲を設定する範囲設定手段をさらに設けることができる。
【0022】
範囲設定手段には、音声入力手段の出力結果に基づいて周囲の背景雑音を計測し、その背景雑音の大きさによって所定の範囲を動的に設定させるようにすることができる。
また、範囲設定手段には、ロボット装置の動作状態を取得し、ロボット装置自身が発生する雑音成分を推定し、その雑音成分の大きさによって所定の範囲を動的に設定させるようにすることができる。
【0023】
本発明のロボット制御方法は、所定の認識対象を認識する認識機能を有するロボット装置を制御するロボット制御方法において、周囲の状況を撮像し、画像信号を出力する撮像ステップと、音声を入力する音声入力ステップと、超音波パルスを発して認識対象から反射する反射波を受信する超音波出力ステップと、撮像ステップ、音声入力ステップ、および超音波出力ステップの処理結果に基づいて、認識対象までの距離を推定する距離推定ステップと、距離推定ステップの処理の結果に基づいて、認識対象までの距離を調整する距離調整ステップとを含み、距離推定ステップの処理は、超音波出力ステップの処理結果から推定される距離と撮像ステップおよび音声入力ステップの処理結果から推定される距離との差が大きく、超音波出力ステップの処理結果から推定される距離が短い場合、超音波パルスが反射した認識対象は障害物であると判定して、超音波出力ステップの処理結果を除外して認識対象までの距離を推定し、距離調整ステップの処理は、障害物があると判定された場合、ユーザが移動するようにロボット装置に行動させることにより、ユーザまでの距離を調整し、障害物がないと判定された場合、ロボット装置を移動させることにより、認識対象までの距離を調整することを特徴とする。
【0024】
本発明の記録媒体のプログラムは、所定の認識対象を認識する認識機能を有するロボット装置の制御をコンピュータに行わせるプログラムであって、周囲の状況を撮像し、画像信号を出力する撮像ステップと、音声を入力する音声入力ステップと、超音波パルスを発して認識対象から反射する反射波を受信する超音波出力ステップと、撮像ステップ、音声入力ステップ、および超音波出力ステップの処理結果に基づいて、認識対象までの距離を推定する距離推定ステップと、距離推定ステップの処理の結果に基づいて、認識対象までの距離を調整する距離調整ステップとを含み、距離推定ステップの処理は、超音波出力ステップの処理結果から推定される距離と撮像ステップおよび音声入力ステップの処理結果から推定される距離との差が大きく、超音波出力ステップの処理結果から推定される距離が短い場合、超音波パルスが反射した認識対象は障害物であると判定して、超音波出力ステップの処理結果を除外して認識対象までの距離を推定し、距離調整ステップの処理は、障害物があると判定された場合、ユーザが移動するようにロボット装置に行動させることにより、ユーザまでの距離を調整し、障害物がないと判定された場合、ロボット装置を移動させることにより、認識対象までの距離を調整することを特徴とする。
【0025】
本発明のプログラムは、所定の認識対象を認識する認識機能を有するロボット装置の制御をコンピュータに行わせるプログラムにおいて、周囲の状況を撮像し、画像信号を出力する撮像ステップと、音声を入力する音声入力ステップと、超音波パルスを発して認識対象から反射する反射波を受信する超音波出力ステップと、撮像ステップ、音声入力ステップ、および超音波出力ステップの処理結果に基づいて、認識対象までの距離を推定する距離推定ステップと、距離推定ステップの処理の結果に基づいて、認識対象までの距離を調整する距離調整ステップとを含み、距離推定ステップの処理は、超音波出力ステップの処理結果から推定される距離と撮像ステップおよび音声入力ステップの処理結果から推定される距離との差が大きく、超音波出力ステップの処理結果から推定される距離が短い場合、超音波パルスが反射した認識対象は障害物であると判定して、超音波出力ステップの処理結果を除外して認識対象までの距離を推定し、距離調整ステップの処理は、障害物があると判定された場合、ユーザが移動するようにロボット装置に行動させることにより、ユーザまでの距離を調整し、障害物がないと判定された場合、ロボット装置を移動させることにより、認識対象までの距離を調整する処理をコンピュータに実行させることを特徴とする。
【0026】
本発明においては、超音波出力結果から推定される距離と撮像結果および音声入力結果から推定される距離との差が大きく、超音波出力結果から推定される距離が短い場合、超音波パルスが反射した認識対象は障害物であると判定して、超音波出力結果を除外して認識対象までの距離が推定され、障害物があると判定された場合、ユーザが移動するようにロボット装置に行動させることにより、ユーザまでの距離が調整され、障害物がないと判定された場合、ロボット装置を移動させることにより、認識対象までの距離が調整される。
【0027】
【発明の実施の形態】
図1は、本発明を適用した2足歩行型のロボット1の正面方向の斜視図であり、図2は、ロボット1の背面方向からの斜視図である。また、図3は、ロボット1の軸構成について説明するための斜視図である。
【0028】
ロボット1は、胴体部ユニット11の上部に頭部ユニット12が配設されるとともに、胴体部ユニット11の上部左右に、同様の構成を有する腕部ユニット13Aおよび13Bが所定位置にそれぞれ取り付けられ、かつ、胴体部ユニット11の下部左右に、同様の構成を有する脚部ユニット14Aおよび14Bが所定位置にそれぞれ取り付けられることにより構成されている。頭部ユニット12には、タッチセンサ51が設けられている。
【0029】
胴体部ユニット11においては、体幹上部を形成するフレーム21および体幹下部を形成する腰ベース22が、腰関節機構23を介して連結することにより構成されており、体幹下部の腰ベース22に固定された腰関節機構23のアクチュエータA1、および、アクチュエータA2をそれぞれ駆動することによって、体幹上部を、図3に示す直交するロール軸24およびピッチ軸25の回りに、それぞれ独立に回転させることができるようになされている。
【0030】
また頭部ユニット12は、フレーム21の上端に固定された肩ベース26の上面中央部に首関節機構27を介して取り付けられており、首関節機構27のアクチュエータA3およびA4をそれぞれ駆動することによって、図3に示す直交するピッチ軸28およびヨー軸29の回りに、それぞれ独立に回転させることができるようになされている。
【0031】
更に、腕部ユニット13Aおよび13Bは、肩関節機構30を介して肩ベース26の左右にそれぞれ取り付けられており、対応する肩関節機構30のアクチュエータA5およびA6をそれぞれ駆動することによって、図3に示す、直交するピッチ軸31およびロール軸32の回りに、それぞれを独立に回転させることができるようになされている。
【0032】
腕部ユニット13Aおよび13Bは、上腕部を形成するアクチュエータA7の出力軸に、肘関節機構33を介して、前腕部を形成するアクチュエータA8が連結され、前腕部の先端に手部34が取り付けられることにより構成されている。
【0033】
そして腕部ユニット13Aおよび13Bでは、アクチュエータA7を駆動することによって、前腕部を図3に示すヨー軸35に対して回転させることができ、アクチュエータA8を駆動することによって、前腕部を図3に示すピッチ軸36に対して回転させることができるようになされている。
【0034】
脚部ユニット14Aおよび14Bは、股関節機構37を介して、体幹下部の腰ベース22にそれぞれ取り付けられており、対応する股関節機構37のアクチュエータA9乃至A11をそれぞれ駆動することによって、図3に示す、互いに直交するヨー軸38、ロール軸39、およびピッチ軸40に対して、それぞれ独立に回転させることができるようになされている。
【0035】
脚部ユニット14Aおよび14Bは、大腿部を形成するフレーム41の下端が、膝関節機構42を介して、下腿部を形成するフレーム43に連結されるとともに、フレーム43の下端が、足首関節機構44を介して、足部45に連結されることにより構成されている。
【0036】
これにより脚部ユニット14Aおよび14Bにおいては、膝関節機構42を形成するアクチュエータA12を駆動することによって、図3に示すピッチ軸46に対して、下腿部を回転させることができ、また足首関節機構44のアクチュエータA13およびA14をそれぞれ駆動することによって、図3に示す直交するピッチ軸47およびロール軸48に対して、足部45をそれぞれ独立に回転させることができるようになされている。
【0037】
また、胴体部ユニット11の体幹下部を形成する腰ベース22の背面側には、後述するメイン制御部61や周辺回路62(いずれも図4)などを内蔵したボックスである、制御ユニット52が配設されている。
【0038】
図4は、ロボット1のアクチュエータとその制御系等の構成例を示している。
【0039】
制御ユニット52には、ロボット1全体の動作制御をつかさどるメイン制御部61、電源回路および通信回路などの周辺回路62、および、バッテリ74(図5)などが収納されている
【0040】
そして、制御ユニット52は、各構成ユニット(胴体部ユニット11、頭部ユニット12、腕部ユニット13Aおよび13B、並びに、脚部ユニット14Aおよび14B)内にそれぞれ配設されたサブ制御部63A乃至63Dと接続されており、サブ制御部63A乃至63Dに対して必要な電源電圧を供給したり、サブ制御部63A乃至63Dと通信を行う。
【0041】
また、サブ制御部63A乃至63Dは、対応する構成ユニット内のアクチュエータA1乃至A14と、それぞれ接続されており、メイン制御部61から供給された各種制御コマンドに基づいて、構成ユニット内のアクチュエータA1乃至A14を、指定された状態に駆動させるように制御する。
【0042】
図5は、ロボット1の電気的な内部構成例を示すブロック図である。
【0043】
頭部ユニット12には、ロボット1の「目」として機能するCCD(Charge Coupled Device )カメラ81Lおよび81R、「耳」として機能するマイクロホン82−1乃至82−N、タッチセンサ51、並びに超音波センサ83などからなる外部センサ部71、および、「口」として機能するスピーカ72などがそれぞれ所定位置に配設され、制御ユニット52内には、バッテリセンサ91および加速度センサ92などからなる内部センサ部73が配設されている。
【0044】
そして、外部センサ部71のCCDカメラ81Lおよび81Rは、周囲の状況を撮像し、得られた画像信号S1Aを、メイン制御部61に送出する。マイクロホン82−1乃至82−Nは、ユーザから音声入力として与えられる「歩け」、「とまれ」または「右手を挙げろ」等の各種命令音声や周囲の背景雑音を集音し、得られた音声信号S1Bを、メイン制御部61にそれぞれ送出する。なお、以下において、N個のマイクロホン82−1乃至82−Nを特に区別する必要がない場合には、マイクロホン82と称する。
【0045】
また、タッチセンサ51は、例えば、図1および図2に示されるように頭部ユニット12の上部に設けられており、ユーザからの「撫でる」や「叩く」といった物理的な働きかけにより受けた圧力を検出し、その検出結果を、圧力検出信号S1Cとしてメイン制御部61に送出する。
【0046】
超音波センサ83は、図示せぬ音源とマイクを有し、超音波センサ83の内部の音源から、超音波パルスを発する。さらに、超音波センサ83は、その超音波パルスがユーザその他の物体で反射され、返ってくる反射波を、マイクで受信し、超音波パルスを発してから、反射波を受信するまでの時間(以下、適宜、ラグ時間という)S1Dを求め、メイン制御部61に送出する。
【0047】
内部センサ部73のバッテリセンサ91は、バッテリ74のエネルギ残量を所定の周期で検出し、検出結果をバッテリ残量検出信号S2Aとして、メイン制御部61に送出する。加速度センサ92は、ロボット1の移動について、3軸方向(x軸、y軸およびz軸)の加速度を、所定の周期で検出し、その検出結果を、加速度検出信号S2Bとして、メイン制御部61に送出する。
【0048】
外部メモリ75は、プログラムやデータ、および制御パラメータなどを記憶しており、そのプログラムやデータを必要に応じてメイン制御部61に内蔵されるメモリ61Aに供給する。また、外部メモリ75は、データ等をメモリ61Aから受け取り、記憶する。なお、外部メモリ75は、ロボット1から着脱可能となされている。
【0049】
メイン制御部61は、メモリ61Aを内蔵している。メモリ61Aは、プログラムやデータを記憶しており、メイン制御部61は、メモリ61Aに記憶されたプログラムを実行することで、各種の処理を行う。即ち、メイン制御部61は、外部センサ部71のCCDカメラ81Lおよび81R、マイクロホン82、タッチセンサ51、および超音波センサ83からそれぞれ供給される、画像信号S1A、音声信号S1B、圧力検出信号S1C、およびラグ時間S1D(以下、これらをまとめて外部センサ信号S1と称する)と、内部センサ部73のバッテリセンサ91および加速度センサ等からそれぞれ供給される、バッテリ残量検出信号S2Aおよび加速度検出信号S2B(以下、これらをまとめて内部センサ信号S2と称する)に基づいて、ロボット1の周囲および内部の状況や、ユーザからの指令、または、ユーザからの働きかけの有無などを判断する。
【0050】
そして、メイン制御部61は、ロボット1の周囲および内部の状況や、ユーザからの指令、または、ユーザからの働きかけの有無の判断結果と、内部メモリ61Aに予め格納されている制御プログラム、あるいは、そのとき装填されている外部メモリ75に格納されている各種制御パラメータなどに基づいて、ロボット1の行動を決定し、その決定結果に基づく制御コマンドを生成して、対応するサブ制御部63A乃至63Dに送出する。サブ制御部63A乃至63Dは、メイン制御部61から供給された制御コマンドに基づいて、アクチュエータA1乃至A14のうち、対応するものの駆動を制御する。これにより、ロボット1は、例えば、頭部ユニット12を上下左右に揺動かさせたり、腕部ユニット13A、あるいは、腕部ユニット13Bを上に挙げたり、脚部ユニット14Aと14Bを交互に駆動させて、歩行するなどの行動を行う。
【0051】
また、メイン制御部61は、必要に応じて、所定の音声信号S3をスピーカ72に与えることにより、音声信号S3に基づく音声を外部に出力させる。更に、メイン制御部61は、外見上の「目」として機能する、頭部ユニット12の所定位置に設けられた、図示しないLEDに対して駆動信号を出力することにより、LEDを点滅させる。
【0052】
このようにして、ロボット1は、周囲および内部の状況(状態)や、ユーザからの指令および働きかけの有無などに基づいて、自律的に行動する。
【0053】
図6は、図5のメイン制御部61の機能的構成例を示している。なお、図6に示す機能的構成は、メイン制御部61が、メモリ61Aに記憶された制御プログラムを実行することで実現されるようになっている。
【0054】
メイン制御部61は、特定の外部状態を認識する状態認識情報処理部101、状態認識情報処理部101の認識結果等に基づいて更新される、ロボット1の感情、本能、あるいは、成長の状態などのモデルを記憶するモデル記憶部102、状態認識情報処理部101の認識結果等に基づいて、ロボット1の行動を決定する行動決定機構部103、行動決定機構部103の決定結果に基づいて、実際にロボット1に行動を起こさせる姿勢遷移機構部104、合成音を生成する音声合成部105、行動決定機構部103からの指令に基づいて、ロボット1とユーザとの距離の調整を制御する距離制御部110から構成されている。
【0055】
状態認識情報処理部101には、マイクロホン82や、CCDカメラ81Lおよび81R、タッチセンサ51等から音声信号、画像信号、圧力検出信号等が、ロボット1の電源が投入されている間、常時入力される。そして、状態認識情報処理部101は、マイクロホン82や、CCDカメラ81Lおよび81R、タッチセンサ51等から与えられる音声信号、画像信号、圧力検出信号等に基づいて、特定の外部状態や、ユーザからの特定の働きかけ、ユーザからの指示等を認識し、その認識結果を表す状態認識情報を、モデル記憶部102および行動決定機構部103に常時出力する。なお、ここでは、例えば、ユーザとロボット1との距離が、状態認識情報処理部101が音声認識や画像認識などを行ううえで、最適(適切)な距離ではなく、状態認識情報処理部101が精度の良い認識を行うことが困難である場合であっても、状態認識情報処理部101は、上述の認識結果を表す状態認識情報をモデル記憶部102および行動決定機構部103に出力するものとする。
【0056】
状態認識情報処理部101は、音声認識部101A、画像認識部101B、および圧力処理部101Cを有している。
【0057】
音声認識部101Aは、マイクロホン82−1乃至82−Nそれぞれから与えられる音声信号S1Bについて音声認識を行う。そして、音声認識部101Aは、例えば、「歩け」、「止まれ」、「右手を挙げろ」等の指令、その他の音声認識結果を、状態認識情報として、モデル記憶部102および行動決定機構部103に通知する。
【0058】
また、画像認識部101Bは、CCDカメラ81Lおよび81Rから与えられる画像信号S1Aを用いて、画像認識処理を行う。そして、画像認識部101Bは、その処理の結果、例えば、「赤い丸いもの」や、「地面に対して垂直なかつ所定高さ以上の平面」等を検出したときには、「ボールがある」や、「壁がある」等の画像認識結果を、状態認識情報として、モデル記憶部102および行動決定機構部103に通知する。
【0059】
ここで、ユーザは、一般に、ロボット1の正面方向から話しかけることが多いと予想されるため、周囲の状況を撮像するCCDカメラ81Lおよび81Rは、その撮像方向が、ロボット1の正面方向になるように、頭部ユニット12(図1)に設置されているものとする。
【0060】
なお、ユーザが、ロボット1の正面方向からはずれた、例えば、側面や背面方向などから話しかけてきた場合には、CCDカメラ81Lおよび81Rにおいて、ユーザを撮像することができないことになる。そこで、例えば、マイクロホン82−1乃至82−Nに到達する音声信号のパワー差や位相差から音源の方向を推定し、そのマイクロホン82−1乃至82−Nのうち、最大の音声レベルが得られるものの方向に、頭部ユニット12を動かすことによって、CCDカメラ81Lおよび81Rにおいて、ユーザを撮像することができるようにすることが可能である。なお、音声認識においては、例えば、最大の音声レベルが得られるマイクロホン(ロボット1がユーザの方向を向いた場合には、基本的には、正面方向に設けられているマイクロホン)が出力する音声データが、音声認識の対象とされる。
【0061】
また、例えば、マイクロホン82として、CCDカメラ81Lおよび81Rの撮像方向と同一方向の指向性を有するマイクロホンを採用し、マイクロホン82に入力される音声レベルが最大となる方向に、頭部ユニット12を動かし、これにより、CCDカメラ81Lおよび81Rにおいて、ユーザを撮像することができるようにすることも可能である。
【0062】
圧力処理部101Cは、タッチセンサ51から与えられる圧力検出信号S1Cを処理する。そして、圧力処理部101Cは、その処理の結果、例えば、所定の閾値以上で、かつ短時間の圧力を検出したときには、「叩かれた(しかられた)」と認識し、所定の閾値未満で、かつ長時間の圧力を検出したときには、「撫でられた(ほめられた)」と認識して、その認識結果を、状態認識情報として、モデル記憶部102および行動決定機構部103に通知する。
【0063】
モデル記憶部102は、ロボット1の感情、本能、成長の状態を表現する感情モデル、本能モデル、成長モデルをそれぞれ記憶、管理している。
【0064】
ここで、感情モデルは、例えば、「うれしさ」、「悲しさ」、「怒り」、「楽しさ」等の感情の状態(度合い)を、所定の範囲(例えば、−1.0乃至1.0等)の値によってそれぞれ表し、状態認識情報処理部101からの状態認識情報や時間経過等に基づいて、その値を変化させる。本能モデルは、例えば、「食欲」、「睡眠欲」、「運動欲」等の本能による欲求の状態(度合い)を、所定の範囲の値によってそれぞれ表し、状態認識情報処理部101からの状態認識情報や時間経過等に基づいて、その値を変化させる。成長モデルは、例えば、「幼年期」、「青年期」、「熟年期」、「老年期」等の成長の状態(度合い)を、所定の範囲の値によってそれぞれ表し、状態認識情報処理部101からの状態認識情報や時間経過等に基づいて、その値を変化させる。
【0065】
モデル記憶部102は、上述のようにして感情モデル、本能モデル、成長モデルの値で表される感情、本能、成長の状態を、状態情報として、行動決定機構部103に送出する。
【0066】
なお、モデル記憶部102には、状態認識情報処理部101から状態認識情報が供給される他、行動決定機構部103から、ロボット1の現在または過去の行動、具体的には、例えば、「長時間歩いた」などの行動の内容を示す行動情報が供給されるようになっており、モデル記憶部102は、同一の状態認識情報が与えられても、行動情報が示すロボット1の行動に応じて、異なる状態情報を生成するようになっている。
【0067】
即ち、例えば、ロボット1が、ユーザに挨拶をし、ユーザに頭を撫でられた場合には、ユーザに挨拶をしたという行動情報と、頭を撫でられたという状態認識情報とが、モデル記憶部102に与えられ、この場合、モデル記憶部102では、「うれしさ」を表す感情モデルの値が増加される。
【0068】
一方、ロボット1が、何らかの仕事を実行中に頭を撫でられた場合には、仕事を実行中であるという行動情報と、頭を撫でられたという状態認識情報とが、モデル記憶部102に与えられ、この場合、モデル記憶部102では、「うれしさ」を表す感情モデルの値は変化されない。
【0069】
このように、モデル記憶部102は、状態認識情報だけでなく、現在または過去のロボット1の行動を示す行動情報も参照しながら、感情モデルの値を設定する。これにより、例えば、何らかのタスクを実行中に、ユーザが、いたずらするつもりで頭を撫でたときに、「うれしさ」を表す感情モデルの値を増加させるような、不自然な感情の変化が生じることを回避することができる。
【0070】
なお、モデル記憶部102は、本能モデルおよび成長モデルについても、感情モデルにおける場合と同様に、状態認識情報および行動情報の両方に基づいて、その値を増減させるようになっている。また、モデル記憶部102は、感情モデル、本能モデル、成長モデルそれぞれの値を、他のモデルの値にも基づいて増減させるようになっている。
【0071】
行動決定機構部103は、状態認識情報処理部101からの状態認識情報や、モデル記憶部102からの状態情報、時間経過等に基づいて、次の行動を決定し、決定された行動の内容が、例えば、「ダンスをする」というような音声認識処理や画像認識処理を必要としない場合、その行動の内容を、行動指令情報として、姿勢遷移機構部104に送出する。
【0072】
すなわち、行動決定機構部103は、ロボット1がとり得る行動をステート(状態:state)に対応させた有限オートマトンを、ロボット1の行動を規定する行動モデルとして管理しており、この行動モデルとしての有限オートマトンにおけるステートを、状態認識情報処理部101からの状態認識情報や、モデル記憶部102における感情モデル、本能モデル、または成長モデルの値、時間経過等に基づいて遷移させ、遷移後のステートに対応する行動を、次にとるべき行動として決定する。
【0073】
ここで、行動決定機構部103は、所定のトリガ(trigger)があったことを検出すると、ステートを遷移させる。即ち、行動決定機構部103は、例えば、現在のステートに対応する行動を実行している時間が所定時間に達したときや、特定の状態認識情報を受信したとき、モデル記憶部102から供給される状態情報が示す感情や、本能、成長の状態の値が所定の閾値以下または以上になったとき等に、ステートを遷移させる。
【0074】
なお、行動決定機構部103は、上述したように、状態認識情報処理部101からの状態認識情報だけでなく、モデル記憶部102における感情モデルや、本能モデル、成長モデルの値等にも基づいて、行動モデルにおけるステートを遷移させることから、同一の状態認識情報が入力されても、感情モデルや、本能モデル、成長モデルの値(状態情報)によっては、ステートの遷移先は異なるものとなる。
【0075】
一方、行動決定機構部103が、状態認識情報処理部101からの状態認識情報や、モデル記憶部102からの状態情報、時間経過等に基づいて、次の行動を決定し、決定された行動の内容が、例えば、ユーザが発する音声を認識して対応する発話を行う「ユーザと会話する」や、ユーザ(の顔画像)を認識して、そのユーザに対して手を振る動作を行う「ユーザに手を振る」というような音声認識処理や画像認識処理を必要とする場合、行動決定機構部103は、上述した状態認識情報処理部101の音声認識部101Aや画像認識部101Bが、精度良く認識することができるように、ロボット1とユーザとの距離を調整する旨の指令を距離制御部110に送出する。また、上述したように、状態認識情報処理部101が、認識精度としては良くない認識結果であっても、例えば、画像信号の肌色領域などから判断されるユーザの顔画像などを検出し、検出した旨を示す状態認識情報を行動決定機構部103に送出する場合、行動決定機構部103は、ユーザの顔画像をさらに精度良く認識することができるように、ロボット1とユーザとの距離を調整する旨の指令を距離制御部110に送出する。
【0076】
そして、距離制御部110から行動決定機構部103にロボット1とユーザとの距離が調整されたことの指令が供給されたときに、行動決定機構部103は、その指令が供給されたときと同じタイミングで、状態認識情報処理部101から供給されている状態認識情報を、認識精度の良い状態認識情報として取得し、上述したような、例えば、「ユーザと会話する」や「ユーザに手を振る」などの、行動決定機構部103自身が先に決定した動作を行う(その行動の内容を、行動指令情報として、姿勢遷移機構部104に送出する)。
【0077】
なお、行動決定機構部103では、上述したように、ロボット1の頭部や手足等を動作させる行動指令情報の他、ロボット1に発話を行わせる行動指令情報も生成される。ロボット1に発話を行わせる行動指令情報は、音声合成部105に供給されるようになっており、音声合成部105に供給される行動指令情報には、音声合成部105に生成させる合成音に対応するテキスト等が含まれる。そして、音声合成部105は、行動決定機構部103から行動指令情報を受信すると、その行動指令情報に含まれるテキストに基づき、合成音を生成し、スピーカ72に供給して出力させる。例えば、行動決定機構部103が、ロボット1の発話によってロボット1とユーザとの距離を調整したい旨の指令を、後述する距離制御部110より受け取ると、行動決定機構部103は、例えば、「少し離れてください」あるいは、「もう少し近づいてください」などのテキストを含んだ行動指令情報を音声合成部105に送出する。この場合、スピーカ72からは、「少し離れてください」あるいは、「もう少し近づいてください」などの音声出力(ロボット1による発話)が行われる。
【0078】
距離制御部110は、距離推定部111、閾値設定部112、距離判定部113、および距離調整部114から構成されている。上述したように、距離制御部110には、行動決定機構部103からロボット1とユーザとの距離を調整する旨の指令が供給される。また、外部センサ部71(図5)のCCDカメラ81Lおよび81R、マイクロホン82、タッチセンサ51、および超音波センサ83から画像信号S1A、音声信号S1B、圧力検出信号S1C、およびラグ時間S1D、すなわち、外部センサ信号S1も、距離制御部110に常時供給される。
【0079】
距離推定部111は、外部センサ部71からの各種の信号を基に、ロボット1とユーザとの距離を推定し、その推定したロボット1とユーザとの距離を推定距離情報として、距離判定部113と距離調整部114に送出する。
【0080】
すなわち、距離推定部111は、CCDカメラ81Lおよび81Rから供給される画像信号S1Aのなかに、ユーザの顔画像が含まれる場合、その画像信号S1Aのなかの顔画像の領域(以下、顔画像領域と称する)に基づいて、ロボット1とユーザとの距離を推定する。人間の顔画像の検出は、例えば、画像信号S1Aから肌色の領域を検出することにより行われる。なお、ユーザの顔画像領域を用いる距離の推定は、1つのCCDカメラで行うことも可能であるので、CCDカメラ81Lまたは81Rのうちのいずれか一方の画像信号から行うようにしてもよい。
【0081】
また、距離推定部111は、CCDカメラ81Lおよび81Rを用いて、ステレオ処理を行うことにより、ロボット1とユーザとの距離を推定する。ステレオ処理の原理についての詳細な説明は、後述する。
【0082】
さらに、距離推定部111は、超音波センサ83から供給されるラグ時間S1Dに基づいて、ロボット1とユーザとの距離を推定する。
【0083】
また、距離推定部111は、マイクロホン82から供給される音声に基づいて、ロボット1とユーザとの距離を推定する。即ち、音声信号S1Bが、マイクロホン82から距離推定部111に供給された場合、すなわち、ユーザが音声を発した場合、距離推定部111は、入力されたユーザの音声の大きさ(レベル)からロボット1とユーザとの距離を推定する。また、距離推定部111は、マイクロホン82−1乃至82−Nそれぞれから供給される音声に基づいて、音声を発したユーザの方向(音源方向)を推定する。
【0084】
距離推定部111は、上述したようにCCDカメラ81Lおよび81R、マイクロホン82、超音波センサ83などから供給されるそれぞれの信号から、ロボット1とユーザとの距離をそれぞれ推定し、さらに、その推定結果から、総合的にロボット1とユーザとの距離を推定する。総合的に推定された距離は、推定距離情報として、距離推定部111から距離判定部113および距離調整部114に出力される。
【0085】
閾値設定部112は、後述する距離判定部113で利用される閾値としての所定の範囲(例えば、ロボット1の位置を基準とした第1の位置から第2の位置までの範囲)Rおよび距離調整部114で利用される閾値D1を予め記憶しており、その所定の範囲Rと閾値D1を、距離判定部113と距離調整部114にそれぞれ供給する。
【0086】
ここで、所定の範囲Rは、例えば、ロボット1がユーザの顔画像の認識、または、ユーザが発する音声の認識などを行うために適切な、ロボット1とユーザとの距離であり、例えば、CCDカメラ81Lおよび81R、マイクロホン82、音声認識部101A、画像処理部101Bの性能等に基づいて決定することができる。また、閾値D1は、ユーザがロボット1に対して近い位置にいるか、または遠い位置にいるかを判定するのに用いられる。後述する距離調整部114においては、ロボット1とユーザとの距離が、閾値D1と比較されることにより調整されるため、閾値D1を、例えば、所定の範囲R内の値にすれば、ロボット1とユーザとの距離が、所定の範囲R内になるように調整されることになる。従って、閾値D1は、例えば、所定の範囲Rを2分する値とされる。
【0087】
距離判定部113には、距離推定部111から推定距離情報としてのロボット1とユーザとの距離(推定値)と、閾値設定部112から所定の範囲Rが供給される。そして、距離判定部113は、ロボット1とユーザとの距離が、所定の範囲R内であるかどうかを判定する。
【0088】
距離判定部113は、距離推定部111から距離判定部113に供給されるロボット1とユーザとの距離が、所定の範囲R内であると判定した場合、行動決定機構部103に対して、ロボット1とユーザとの距離が所定の範囲R内である旨の指令を送出する。
【0089】
一方、距離判定部113は、距離推定部111から距離判定部113に供給されるロボット1とユーザとの距離が、所定の範囲R内でないと判定した場合、距離調整部114に対して、ロボット1とユーザとの距離を調整する旨の指令を送出する。
【0090】
距離調整部114には、上述したように、距離推定部111からロボット1とユーザとの推定距離情報が供給される。また、距離調整部114には、ロボット1とユーザとの距離が、所定の位置より遠い(大きい)か、または近い(小さい)かどうかを判断するための閾値D1が閾値設定部112から供給される。そして、距離調整部114は、距離判定部113から距離を調整する旨の指令を受け取ると、距離調整部114は、推定距離情報と閾値D1に基づき、距離推定部111から供給されたロボット1とユーザとの距離が、閾値D1よりも遠いか、または近いかを判断する。次に、距離調整部114は、その判断結果に応じて、ロボット1とユーザとの距離を調整するための各種の指令信号を、行動決定機構部103に送出する。
【0091】
ここで、ロボット1とユーザとの距離を調整する方法としては、例えば、ユーザがロボット1に対して、近づく、または離れるように促す発話を行う方法がある。この場合、距離調整部114は、例えば、「ユーザに近づく、または離れるように発話する」などの行動依頼の指令を行動決定機構部103に送出する。この指令を受け取った行動決定機構部103は、上述したように音声合成部105に、例えば、「少し離れてください」あるいは、「もう少し近づいてください」などのテキストを含んだ行動指令情報を音声合成部105に送出する。この場合、音声合成部105では、「少し離れてください」や「もう少し近づいてください」などのユーザの移動を促す合成音が生成され、スピーカ72から出力される。そして、その音声を聞いたユーザが、その音声に従い、ロボット1に対して離れるように、または近づくように移動することにより、ロボット1とユーザとの距離が調整される。
【0092】
また、ロボット1とユーザとの距離を調整する他の方法としては、例えば、ユーザがロボット1に対して、近づく、または離れるように促す動作(ロボット1の仕草)を行う方法がある。この場合、距離調整部114は、例えば、ユーザに近づいて欲しいときには、「手招きをする」、ユーザに離れて欲しいときには、「追い払う」などの行動依頼の指令を行動決定機構部103に送出する。この指令を受け取った行動決定機構部103は、上述したように、その行動の内容を行動指令情報として、姿勢遷移機構部104に送出する。姿勢遷移機構部104は、行動決定機構部103から供給される行動指令情報に基づいて、ロボット1の姿勢を、現在の姿勢から次の姿勢に遷移させるための姿勢遷移情報を生成し、これをサブ制御部63A乃至63Dに送出する。サブ制御部63A乃至63Dは、上述したように、ロボット1の手や足となる腕部ユニット13Aおよび13Bや脚部ユニット14Aおよび14Bなどを動かす。その結果、ロボット1はユーザに対して、「手招きをする」や「追い払う」などの動作を行い、その動作を見たユーザが、その動作に従い、ロボット1に対して離れるように、または近づくように移動することにより、ロボット1とユーザとの距離が調整される。
【0093】
さらに、ロボット1とユーザとの距離を調整する他の方法としては、例えば、ロボット1自身がユーザとの距離を調整するように行動する(移動する)方法がある。その場合、距離調整部114は、例えば、「ユーザ方向(前)に歩く(移動する)」や「ユーザから離れる方向(後ろ)に歩く(移動する)」などの行動依頼の指令を行動決定部103に送出する。この指令を受け取った行動決定機構部103は、その行動の内容を行動指令情報として、姿勢遷移機構部104に送出する。そして、上述したように、姿勢遷移機構部104が姿勢遷移情報を生成し、その姿勢遷移情報をサブ制御部63A乃至63Dに送出することにより、ロボット1は、ユーザに対して、前や後ろに移動する。その結果、ロボット1とユーザとの距離が調整される。
【0094】
姿勢遷移機構部104は、上述したように、行動決定機構部103から供給される行動指令情報に基づいて、ロボット1の姿勢を、現在の姿勢から次の姿勢に遷移させるための姿勢遷移情報を生成し、これをサブ制御部63A乃至63Dに送出する。
【0095】
次に、図7を参照して、超音波センサ83の出力から距離を推定する原理について説明する。
【0096】
超音波センサ83は、図示せぬ音源とマイクロホンを有し、図7に示すように、音源から、超音波パルスを発する。さらに、超音波センサ83は、その超音波パルスが障害物で反射され、返ってくる反射波を、マイクロホンで受信し、超音波パルスを発してから、反射波を受信するまでの時間(ラグ時間)を求める。このようにして求めた時間(ラグ時間)から、障害物までの距離を求めることができる。
【0097】
次に、図8乃至図12を参照して、CCDカメラ81Lおよび81Rからの画像信号を用いてステレオ処理(ステレオマッチング法による処理)を行うことにより、ロボット1とユーザとの距離を推定する原理について説明する。
【0098】
ステレオ処理は、2つ以上の方向(異なる視線方向)からカメラで同一対象物を撮影して得られる複数の画像間の画素同士を対応付けることで、対応する画素間の視差情報や、カメラから対象物までの距離を求めるものである。
【0099】
即ち、いま、CCDカメラ81Lと81Rを、それぞれ基準カメラ81Lと検出カメラ81Rというとともに、それぞれが出力する画像を、基準カメラ画像と検出カメラ画像というものとして、例えば、図8に示すように、基準カメラ81Lおよび検出カメラ81Rで、撮像対象物としてのユーザを撮影すると、基準カメラ81Lからはユーザの投影像を含む基準カメラ画像が得られ、検出カメラ81Rからもユーザの投影像を含む検出カメラ画像が得られる。そして、いま、例えば、ユーザの口部上のある点Pが、基準カメラ画像および検出カメラ画像の両方に表示されているとすると、その点Pが表示されている基準カメラ画像上の位置と、検出カメラ画像上の位置、つまり対応点(対応画素)とから、視差情報を求めることができ、さらに、三角測量の原理を用いて、点Pの3次元空間における位置(3次元位置)を求めることができる。
【0100】
従って、ステレオ処理では、まず、対応点を検出することが必要となるが、その検出方法としては、例えば、エピポーラライン(Epipolar Line)を用いたエリアベースマッチング法などがある。
【0101】
即ち、図9に示すように、基準カメラ81Lにおいては、ユーザ上の点Pは、その点Pと基準カメラ81Lの光学中心(レンズ中心)O1とを結ぶ直線L上の、基準カメラ1の撮像面S1との交点naに投影される。
【0102】
また、検出カメラ81Rにおいては、ユーザ上の点Pは、その点Pと検出カメラ81Rの光学中心(レンズ中心)O2とを結ぶ直線上の、検出カメラ81Rの撮像面S2との交点nbに投影される。
【0103】
この場合、直線Lは、光学中心O1およびO2、並びに点na(または点P)の3点を通る平面と、検出カメラ画像が形成される撮像面S2との交線L2として、撮像面S2上に投影される。点Pは、直線L上の点であり、従って、撮像面S2において、点Pを投影した点nbは、直線Lを投影した直線L2上に存在し、この直線L2はエピポーララインと呼ばれる。即ち、点naの対応点nbが存在する可能性のあるのは、エピポーララインL2上であり、従って、対応点nbの探索は、エピポーララインL2上を対象に行えば良い。
【0104】
ここで、エピポーララインは、例えば、撮像面S1に形成される基準カメラ画像を構成する画素ごとに考えることができるが、基準カメラ81Lと検出カメラ81Rの位置関係が既知であれば、その画素ごとに存在するエピポーララインは、例えば計算によって求めることができる。
【0105】
エピポーララインL2上の点からの対応点nbの検出は、例えば、次のようなエリアベースマッチングによって行うことができる。
【0106】
即ち、エリアベースマッチングでは、図10Aに示すように、基準カメラ画像上の点naを中心(例えば、対角線の交点)とする、例えば長方形状の小ブロック(以下、適宜、基準ブロックという)が、基準カメラ画像から抜き出されるとともに、図10Bに示すように、検出カメラ画像に投影されたエピポーララインL2上の、ある点を中心とする、基準ブロックと同一の大きさの小ブロック(以下、適宜、検出ブロックという)が、検出カメラ画像から抜き出される。
【0107】
ここで、図10Bの実施の形態においては、エピポーララインL2上に、検出ブロックの中心とする点として、点nb1乃至nb6の6点が設けられている。この6点nb1乃至nb6は、図9に示した3次元空間における直線Lを、所定の一定距離ごとに区分する点、即ち、基準カメラ81Lからの距離が、例えば、1m,2m,3m,4m,5m,6mの点それぞれを、検出カメラ81Rの撮像面S2に投影した点で、従って、基準カメラ81Lからの距離が1m,2m,3m,4m,5m,6mの点にそれぞれ対応している。
【0108】
エリアベースマッチングでは、検出カメラ画像から、エピポーララインL2上に設けられている点nb1乃至nb6それぞれを中心とする検出ブロックが抜き出され、各検出ブロックと、基準ブロックとの相関が、所定の評価関数を用いて演算される。そして、点naを中心とする基準ブロックとの相関が最も高い検出ブロックの中心の点nbが、点naの対応点として求められる。
【0109】
即ち、例えば、いま、評価関数として、相関が高いほど小さな値をとる関数を用いた場合に、エピポーララインL2上の点nb1乃至nb6それぞれについて、例えば、図11に示すような評価値(評価関数の値)が得られたとする。この場合、評価値が最も小さい(相関が最も高い)点nb3が、点naの対応点として検出される。なお、図11において、点nb1乃至nb6それぞれについて求められた評価値(図11において黒丸印で示す)のうちの最小値付近のものを用いて補間を行い、評価値がより小さくなる点(図11においてバツ印で示す)を求めて、その点を、最終的な対応点として検出することも可能である。
【0110】
図10の実施の形態では、上述したように、3次元空間における直線Lを所定の等距離ごとに区分する点を、検出カメラ81Rの撮像面S2に投影した点が設定されているが、この設定は、例えば、基準カメラ81Lおよび検出カメラ81Rのキャリブレーション時に行うことができる。そして、このような設定を、基準カメラ81Lの撮像面S1を構成する画素ごとに存在するエピポーララインごとに行い、図12Aに示すように、エピポーラライン上に設定された点(以下、適宜、設定点という)と、基準カメラ81Lからの距離とを対応付ける設定点/距離テーブルをあらかじめ作成しておけば、対応点となる設定点を検出し、設定点/距離テーブルを参照することで、即座に、基準カメラ81Lからの距離(ユーザまでの距離)を求めることができる。即ち、いわば、対応点から、直接、距離を求めることができる。
【0111】
一方、基準カメラ画像上の点naについて、検出カメラ画像上の対応点nbを検出すれば、その2点naおよびnbの間の視差(視差情報)を求めることができる。さらに、基準カメラ81Lと検出カメラ81Rの位置関係が既知であれば、2点naおよびnbの間の視差から、三角測量の原理によって、ユーザまでの距離を求めることができる。視差から距離の算出は、所定の演算を行うことによって行うことができるが、あらかじめその演算を行っておき、図12Bに示すように、視差ζと距離との対応付ける視差/距離テーブルをあらかじめ作成しておけば、対応点を検出し、視差を求め、視差/距離テーブルを参照することで、やはり、即座に、基準カメラ81Lからの距離を求めることができる。
【0112】
ここで、視差と、ユーザまでの距離とは一対一に対応するものであり、従って、視差を求めることとと、ユーザまでの距離を求めることとは、いわば等価である。
【0113】
また、対応点の検出に、基準ブロックおよび検出ブロックといった複数画素でなるブロックを用いるのは、ノイズの影響を軽減し、基準カメラ画像上の画素(点)naの周囲の画素のパターンの特徴と、検出カメラ画像上の対応点(画素)nbの周囲の画素のパターンの特徴との相関性を明確化して判断することにより、対応点の検出の確実を期すためであり、特に、変化の少ない基準カメラ画像および検出カメラ画像に対しては、画像の相関性により、ブロックの大きさが大きければ大きいほど対応点の検出の確実性が増す。
【0114】
なお、エリアベースマッチングにおいて、基準ブロックと検出ブロックとの相関性を評価する評価関数としては、基準ブロックを構成する画素と、それぞれの画素に対応する、検出ブロックを構成する画素の画素値の差分の絶対値の総和や、その差分の自乗和、正規化された相互相関(normalized cross correlation)などを用いることができる。
【0115】
以上、ステレオ処理について簡単に説明したが、ステレオ処理(ステレオマッチング法)については、その他、例えば、安居院、長尾、「C言語による画像処理入門」、昭晃堂 pp.127ページなどにも記載されている。
【0116】
次に、図13のフローチャートを参照して、図6のメイン制御部61が行うロボット1の動作処理について説明する。この処理は、ロボット1の電源投入と同時に開始される。
【0117】
初めに、ステップS1において、行動決定機構部103は、状態認識情報処理部101からの状態認識情報や、モデル記憶部102からの状態情報、時間経過等に基づいて、ロボット1の行動を決定して、ステップS2に進む。
【0118】
ステップS2において、行動決定機構部103は、ステップS1で決定された行動が、認識処理を必要とする行動であるか否かを判定する。ここで、認識処理を必要としない行動としては、上述したように、例えば、「ダンスをする」などがある。また、認識処理を必要とする行動としては、上述したように、例えば、「ユーザと会話する」などがある。
【0119】
ステップS2において、ステップS1で決定された行動が認識処理を必要とする行動であると判定された場合、ステップS3に進み、行動決定機構部103は、距離推定部111に距離を調整する旨の指令を送出して、ステップS4に進む。
【0120】
ステップS4において、距離推定部111は、行動決定機構部103から距離を調整する旨の指令を受け取ると、ロボット1と認識処理の対象(認識対象)であるユーザとの距離を推定する距離推定処理を行う。距離推定処理の詳細については、図14を参照して後述するが、この処理により、ロボット1とユーザとの距離が推定され、その推定された距離を表す推定距離情報が、距離推定部111から距離判定部113および距離調整部114に供給される。
【0121】
ステップS4の処理の後、ステップS5に進み、距離判定部113は、ステップS4の処理により距離推定部111から供給された、ロボット1とユーザとの距離が、閾値設定部112より予め供給され、距離判定部113に設定されている所定の範囲R内に入っているか否かを判定する。
【0122】
ステップS5において、ロボット1とユーザとの距離が、所定の範囲Rの内側に入っていないと判定された場合、ステップS6に進み、距離判定部113は、ロボット1とユーザとの距離を調整する旨の指令を距離調整部114に出力して、ステップS7に進む。
【0123】
ステップS7において、距離調整部114は、距離判定部113からロボット1とユーザとの距離を調整する旨の指令を受け取ると、ロボット1とユーザとの距離を調整する後述する処理(距離調整処理)を実行する。そして、ステップS7からステップS4に戻り、以下、ステップS4乃至S7の処理が繰り返される。ステップS4乃至S7の処理が繰り返されることにより、ロボット1とユーザとの距離は所定の範囲R内、即ち、認識処理に適切な距離にされる。
【0124】
一方、ステップS5において、ロボット1とユーザとの距離が、所定の範囲R内に入っていると判定された場合、即ち、ロボット1とユーザとの距離が、認識処理に適切な距離になっている場合、ステップS8に進み、距離判定部113は、ロボット1とユーザとの距離が所定の範囲内である旨の指令を行動決定機構部103に出力して、ステップS9に進む。
【0125】
また、上述のステップS2において、ステップS1で決定された行動が認識処理を必要とする行動でないと判定された場合も、ステップS9に進み、行動決定機構部103は、ステップS1で決定された行動に対応する行動指令情報を、姿勢遷移機構部104または音声合成部105に送出する。
【0126】
ここで、認識処理を必要としない場合としては、例えば、「ダンスをする」などがあり、認識処理を必要とする場合としては、例えば、「ユーザと会話する」などがある。また、例えば、「さようなら」という音声を発して、「手を振る」などのように、ロボット1の行動の内容によっては、姿勢遷移機構部104および音声合成部105の両方に行動指令情報を送出することもできる。
【0127】
ステップS9の処理の後、ステップS10に進み、行動決定機構部103は、ロボット動作処理を終了するかどうかを判定し、終了しないと判定した場合、ステップS1に戻り、それ以降の処理が繰り返される。
【0128】
また、ステップS10において、ロボット動作処理を終了すると判定された場合、即ち、例えば、ユーザによって、ロボット1の電源がオフ状態とされた場合、ロボット動作処理が終了される。
【0129】
次に、図14のフローチャートを参照して、図13のステップS4における、距離推定部111の距離推定処理について説明する。
【0130】
ステップS21において、距離推定部111は、CCDカメラ81Lおよび81Rが撮像した画像信号からユーザの顔画像を検出したか否か(画像信号に顔画像が含まれるか否か)を判定する。
【0131】
ステップS21において、CCDカメラ81Lおよび81Rが撮像した画像信号から顔画像を検出したと判定された場合、ステップS22に進み、距離推定部111は、その画像信号における顔画像領域の大きさからロボット1とユーザとの距離を推定し、ステップS23に進む。ここで、画像信号における顔画像領域の大きさからロボット1とユーザとの距離を推定する方法としては、例えば、顔画像領域の大きさ(画素数)と、ロボット1とユーザとの距離を対応づけたテーブルを予め用意し、そのテーブルに基づいて、顔画像領域の大きさからロボット1とユーザとの距離を推定する方法がある。
【0132】
一方、ステップS21において、CCDカメラ81Lおよび81Rが撮像した画像信号から顔画像を検出していないと判定された場合、即ち、例えば、CCDカメラ81Lおよび81Rが出力する画像信号に、十分な大きさの顔画像領域が存在しない場合、ステップS22をスキップして、ステップS23に進み、距離推定部111は、CCDカメラ81Lおよび81Rからの画像信号を用いて、上述したステレオ処理によりロボット1とユーザとの距離を推定してステップS24に進む。
【0133】
ステップS24において、距離推定部111は、超音波センサ83が距離制御部110に出力したラグ時間より、ロボット1とユーザとの距離を推定して、ステップS25に進む。
【0134】
ステップS25において、距離推定部111は、マイクロホン82に音声入力があったか否か、即ち、ユーザがロボット1に音声を発していたか否かを判定する。マイクロホン82に音声入力があったと判定された場合、ステップS26に進み、距離推定部111は、マイクロホン82から距離制御部110に供給された音声信号を用いて、マイクロホン82に入力されたユーザの音声の大きさからロボット1とユーザとの距離を推定する。また、距離推定部111は、マイクロホン82−1乃至82−Nそれぞれの音声信号から、音声を発したユーザの方向(音源方向)を推定し、ステップS27に進む。
【0135】
また、ステップS25において、マイクロホン82に音声入力がなかったと判定された場合、ステップS26の処理をスキップして、ステップS27に進み、距離推定部111は、ステップS22,S23,S24、およびS26それぞれで推定されたロボット1とユーザとの距離から、総合的なロボット1とユーザとの距離を推定する。
【0136】
ここで、上述した顔画像領域の大きさ、ステレオ処理、ラグ時間、および入力されたユーザの音声のそれぞれから推定される距離の推定精度を比較する。入力されたユーザの音声からの距離の推定は、音声ボリューム(音声信号のレベル)の大小と距離とを関連付けるものであるが、人間が通常発話するときの声のボリュームは、人さまざまで、元々声が小さい人であったり、大きい人であったりすることもあるので、音声ボリュームの大小と距離との相関度は、ユーザによってバラツキがあることがあり得る。
【0137】
顔画像領域の大きさから距離を推定する方法は、CCDカメラ81Lおよび81Rの有効画素の領域に対して、極端に顔画像領域が小さい(ロボット1とユーザとの距離が遠すぎる)、または、顔画像領域が入りきらないほど大きい(ロボット1とユーザとの距離が近すぎる)場合、そのような顔画像領域から推定されるロボット1とユーザとの距離は、誤差が大きくなることがあり得る。
【0138】
ステレオ処理によって距離を推定する方法も、顔画像領域の大きさから距離を推定する場合と同様に、画像信号におけるユーザの画像部分の大きさなどの影響を受ける。
【0139】
一方、超音波センサ83が出力するラグ時間から距離を推定する方法は、上述の他の3つの方法のようにユーザの画像や音声の影響を受けないため、最も信頼度が高いと考えられる。
【0140】
そこで、総合的な距離の推定方法としては、例えば、4つの推定結果である距離の値にそれぞれの信頼度にあわせた重みを付け、その重みを推定結果にそれぞれ乗算し、それらの平均値(重み付け平均値)を総合的な距離とする方法を採用することができる。
【0141】
また、例えば、ステレオ処理や顔画像領域による距離の推定などの画像認識を行ったユーザの方向(頭部ユニット12の正面方向)とマイクロホン82−1乃至82−Nそれぞれの音声信号から距離推定部111が推定したユーザの方向(音源方向)が異なる方向である場合には、マイクロホン82−1乃至82−Nが集音した音声は、認識対象ではない別のユーザが発した音声であるとして、入力音声による距離の推定結果を除外して総合的な距離を推定するようにしてもよい。また、例えば、信頼度が最も低いと一般に考えられる音声入力からの距離の推定結果と、その他の3つの方法による距離の推定結果を比較して、音声入力からの距離の推定結果が、その他の3つの方法による距離の推定結果と、極端に差のある値となった場合には、音声入力からの距離の推定結果を破棄し、その他の3つの方法による距離の推定結果だけを用いて、ロボット1とユーザとの総合的な距離を推定するようにしてもよい。また、その他の総合的な距離の推定方法としては、4つの方法または、その4つの方法のうちの複数の方法により得られた距離の推定結果のメジアン(中央値)を求める方法を採用してもよい。
【0142】
ここで、超音波センサ83の出力から推定する距離の結果は、ロボット1とユーザとの間に障害物がない場合は、最も信頼度が高いと考えられるが、一方で、ロボット1とユーザとの間に障害物がある場合、その障害物を検出してしまうということがありうる。そのため、例えば、超音波センサ83の出力から推定した距離が、ステレオ処理や顔画像領域の大きさから推定された距離よりも極端に小さい(ロボット1とユーザとの距離が近い)場合は、障害物がロボット1とユーザの間のロボット1に極めて近い位置にあり、超音波センサ83が、その障害物を検出しているとして、距離推定部111において、超音波センサ83の出力を除外して総合的な距離を推定するようにすることもできる。
【0143】
以上のように、距離推定部111は、外部センサ部71の各種のセンサの出力信号から、ロボット1とユーザとの距離を推定する。なお、ロボット1とユーザとの距離の推定にあたっては、必ずしも上述の4つの距離の推定方法を採用しなければならないわけではなく、そのうちのいずれかのみを採用してもよいし、その他の距離の推定方法を採用するようにしてもよい。その他の距離の推定方法としては、例えば、PSD(Position Sensitive Detector)を用いた距離の推定方法がある。PSDによる距離の推定は、次のようなものである。すなわち、PSDとともに設けられたLED(Light Emitting Diode)が発光し、物体に反射して戻ってくる反射光をPSDが受光する。PSDは、その反射光の位置情報を基に、三角測量の原理で物体とPSDとの距離を推定する。
【0144】
次に、図15のフローチャートを参照して、図13のステップS7における距離調整部114の距離調整処理の第1の実施の形態(第1の距離調整処理)について説明する。
【0145】
初めに、ステップS41において、距離調整部114は、図13のステップS4(図13)で距離推定部111が推定し、距離調整部114に供給された、ロボット1とユーザとの距離が、閾値設定部112から距離調整部114に供給された閾値D1より遠い(大きい)か否かを判定する。
【0146】
ステップS41において、ロボット1とユーザとの距離は、閾値D1より遠いと判定された場合、ステップS42に進み、距離調整部114は、「ユーザに近づくように発話する」旨の行動依頼の指令を行動決定機構部103に送出して、距離調整処理を終了する。
【0147】
一方、ステップS41において、ロボット1とユーザとの距離は、閾値D1より遠くないと判定された場合、ステップS43に進み、距離調整部114は、ロボット1とユーザとの距離が閾値D1より近い(小さい)か否かを判定する。
【0148】
ステップS43において、ロボット1とユーザとの距離は、閾値D1より近いと判定された場合、ステップS44に進み、距離調整部114は、「ユーザに離れるように発話する」旨の行動依頼の指令を行動決定機構部103に送出して、距離調整処理を終了する。
【0149】
一方、ステップS43において、ロボット1とユーザとの距離は、閾値D1より近くないと判定された場合、距離調整部114は、距離調整処理を終了する。
【0150】
ここで、図13のステップS1で決定された行動で行う必要のある認識処理が音声認識処理である場合には、ステップS42またはステップS44における、「ユーザに近づくように発話する」および「ユーザに離れるように発話する」旨の行動依頼の指令の代わりに、「ユーザに、より大きい声を出してもらうように発話する」および「ユーザに、より小さい声を出してもらうように発話する」旨の行動依頼の指令を、距離調整部114から行動決定機構部103に送出するようにしてもよい。
【0151】
次に、図16のフローチャートを参照して、図13のステップS7における距離調整部114の距離調整処理の第2実施の形態(第2の距離調整処理)について説明する。なお、図16において、図15のフローチャートと同様の部分については、その説明を適宜省略する。即ち、図16においては、ロボット1とユーザとの距離が、閾値D1より遠いと判定された場合に距離調整部114が行う処理(ステップS52の処理)と、ロボット1とユーザとの距離が、閾値D1より近いと判定された場合に距離調整部114が行う処理(ステップS54の処理)が図15における場合と異なる。
【0152】
図16の第2の距離調整処理では、ステップS51とS53において、図15のステップS41とS43における場合とそれぞれ同様の処理が行われる。そして、ステップS51において、ロボット1とユーザとの距離は、閾値D1より遠いと判定された場合、ステップS52に進み、距離調整部114は、例えば、手招きなどの「ユーザに近づくように促す動作を行う」旨の行動依頼の指令を行動決定機構部103に送出して、距離調整処理を終了する。
【0153】
ステップS53において、ロボット1とユーザとの距離は、閾値D1より近いと判定された場合、ステップS54に進み、距離調整部114は、例えば、手で追い払うなどの「ユーザに離れるように促す動作を行う」旨の行動依頼の指令を行動決定機構部103に送出して、距離調整処理を終了する。
【0154】
ここで、ステップS52またはS54では、図13のステップS1で決定された行動で行う必要のある認識処理が音声認識処理である場合には、距離推定部111で行われたロボット1とユーザとの距離の推定が、マイクロホン82から距離推定部111に入力された、ユーザが発した音声の大きさに基づいて行われた場合、例えば、ロボット1の手を耳にかざすというような、ユーザにより大きい、または小さい声の発話を促す仕草の行動依頼の指令を、距離調整部114から行動決定機構部103に送出するようにしてもよい。
【0155】
次に、図17のフローチャートを参照して、図13のステップS7における距離調整部114の距離調整処理の第3実施の形態(第3の距離調整処理)について説明する。なお、図17において、図15のフローチャートと同様の部分については、その説明を適宜省略する。即ち、図17においては、ロボット1とユーザとの距離が、閾値D1より遠いと判定された場合に距離調整部114が行う処理(ステップS62の処理)と、ロボット1とユーザとの距離が、閾値D1より近いと判定された場合に距離調整部114が行う処理(ステップS64の処理)が図15における場合と異なる。
【0156】
図17の第3の距離調整処理では、ステップS61とS63において、図15のステップS41とS43における場合とそれぞれ同様の処理が行われる。そして、ステップS61において、ロボット1とユーザとの距離は、閾値D1より遠いと判定された場合、ステップS62に進み、距離調整部114は、ロボット1自身が「ユーザ方向に移動する」旨の行動依頼の指令を行動決定機構部103に送出して、距離調整処理を終了する。
【0157】
ステップS63において、ロボット1とユーザとの距離は、閾値D1より近いと判定された場合、ステップS64に進み、距離調整部114は、ロボット1自身が「ユーザから離れるように移動する」旨の行動依頼の指令を行動決定機構部103に送出して、距離調整処理を終了する。
【0158】
以上、距離調整部114による距離の調整方法として、ユーザに近づくまたは離れるようにロボット1が発話する方法(図15に示した第1の距離調整処理)、ユーザが離れるまたは近づくように促す動作をロボット1が行う方法(図16に示した第2の距離調整処理)、およびロボット1がユーザ方向に移動するまたはユーザから離れるように移動する方法(図17に示した第3の距離調整処理)を採用した場合について説明したが、これらの3つの距離の調整方法は、そのうちのいずれか1つだけを採用しなければならないということはなく、例えば、距離調整部114において、上述の3つの方法のうちのいずれかを、ランダムに選択するようにすることができる。また、例えば、距離調整部114では、ユーザに近づくまたは離れるようにロボット1が発話するとともに、ユーザが離れるまたは近づくように促す動作をロボット1が行うことをともに行うようにすることも可能である。
【0159】
次に、図18のフローチャートを参照して、図13のステップS7における距離調整部114の距離調整処理の第4実施の形態(第4の距離調整処理)について説明する。なお、図18において、図15のフローチャートと同様の部分については、その説明を適宜省略する。即ち、図18においては、ロボット1とユーザとの距離が、閾値D1より遠いと判定された場合に距離調整部114が行う処理(ステップS72乃至S74の処理)と、ロボット1とユーザとの距離が、閾値D1より近いと判定された場合に距離調整部114が行う処理(ステップSS76乃至S78の処理)が図15における場合と異なる。
【0160】
図18のフローチャートに示す距離調整処理においては、ユーザに近づくまたは離れるようにロボット1が発話する方法(図15に示した第1の距離調整処理)と、ロボット1がユーザ方向に移動するまたはユーザから離れるように移動する方法(図17に示した第3の距離調整処理)のうちのいずれか一方を、ロボット1が移動する方向に障害物が存在するかどうかによって選択するようになっている。
【0161】
図18の第4の距離調整処理では、ステップS71とS75において、図15のステップS41とS43における場合とそれぞれ同様の処理が行われる。そして、ステップS71において、ロボット1とユーザとの距離は、閾値D1より遠いと判定された場合、ステップS72に進み、距離調整部114は、ロボット1からユーザ方向の平面には、障害物があるかどうかを判定する。
【0162】
ステップS72において、ロボット1からユーザ方向の平面には、障害物があると判定された場合、ステップS73に進み、図15のステップS42と同様に、距離調整部114は、「ユーザに近づくように発話する」旨の行動依頼の指令を行動決定機構部103に送出して、距離調整処理を終了する。
【0163】
一方、ステップS72において、ロボット1からユーザ方向の平面には、障害物がないと判定された場合、ステップS74に進み、図17のステップS62と同様に、距離調整部114は、ロボット1自身が「ユーザ方向に移動する」旨の行動依頼の指令を行動決定機構部103に送出して、距離調整処理を終了する。
【0164】
また、ステップS75において、ロボット1とユーザとの距離は、閾値D1より近いと判定された場合、ステップS76に進み、距離調整部114は、ロボット1の背面方向の平面には、障害物があるかどうかを判定する。
【0165】
ステップS76において、ロボット1の背面方向の平面には、障害物があると判定された場合、ステップS77に進み、図15のステップS44と同様に、距離調整部114は、「ユーザに離れるように発話する」旨の行動依頼の指令を行動決定機構部103に送出して、距離調整処理を終了する。
【0166】
一方、ステップS76において、ユーザに対するロボット1の背面方向の平面には、障害物がないと判定された場合、ステップS78に進み、図17のステップS64と同様に、距離調整部114は、ロボット1自身が「ユーザから離れるように移動する」旨の行動依頼の指令を行動決定機構部103に送出して、距離調整処理を終了する。
【0167】
ここで、ステップS72およびS76での障害物があるかどうかの判定は、例えば、次のようにして行うことができる。即ち、上述したように、超音波センサ83の出力に基づいて距離推定部111が推定したロボット1とユーザとの距離が、その他のセンサの出力、例えば、CCDカメラ81Lおよび81Rからの画像信号からのステレオ処理に基づく距離の推定結果などと大きく差があり、さらに超音波センサ83の出力に基づいて距離推定部111が推定したロボット1とユーザとの距離が、極めてロボット1に近い距離(位置)にある場合などに、超音波センサ83が検出した物体は、ユーザではなく障害物であるとして、ロボット1とユーザとの間に障害物があると判定することができる。
【0168】
従って、距離推定部111において、ロボット1とユーザとの距離の推定が行われ、超音波センサ83が検出した物体が障害物であると判定された場合、距離推定部111はその情報を推定距離情報とともに、距離調整部114に送出するようにすれば、超音波センサ83は、ロボット1からユーザ方向に対する障害物の検知センサも兼ねることができる。
【0169】
一方、ロボット1の背面方向の障害物は、例えば、ロボット1に背面を向かせ(背面に顔を向かせ)、ロボット1の正面に配設されている超音波センサ83を用いて検出する方法があるが、ロボット1が認識処理を必要とする行動は、ユーザと対話する場合が多く、ユーザに対して背を向ける(顔を背ける)ことは、動作として不自然であり、また振り向き直して認識を行うことは、処理の時間も長くかかる。そこで、例えば、ロボット1の背面側に、超音波センサ83と同様の超音波センサ83を取り付け、障害物を検知させる方法がある。しかしながら、ロボット1に各種のセンサを多く取り付けることは、コストの問題を発生させる。従って、ロボット1とユーザとの距離が閾値D1より近い場合には、ユーザにロボット1から離れるように移動してもらうようにして、ロボット1は、ユーザから離れる方向(背面方向)には移動しないことにすることができる。
【0170】
図19は、そのような場合の、距離調整部114の距離調整処理の第5実施の形態(第5の距離調整処理)のフローチャートを示している。以下に、図19の距離調整部114の距離調整処理について説明するが、図18と同様の部分については、その説明は適宜省略する。
【0171】
即ち、ステップS91乃至S95では、図18のステップS71乃至S75における場合とそれぞれ同様の処理が行われる。そして、ステップS95において、ロボット1とユーザとの距離は、閾値D1より近いと判定された場合、ステップS96に進み、図18のステップS77と同様に、距離調整部114は、「ユーザに離れるように発話する」旨の行動依頼の指令を行動決定機構部103に送出して、距離調整処理を終了する。
【0172】
図18および図19に示した距離調整部111の距離調整処理においては、ロボット1からユーザ方向またはユーザと反対方向(ロボット1の背面方向)の平面に障害物があるかどうかにより、ロボット1が移動するかまたはユーザに移動するように促す行動(発話)するかの場合分けを行うようにしたが、距離調整処理においては、その他、例えば、初めに、ロボット1が移動するようにして、その移動時に障害物を検出した場合は、ユーザに対して移動するように促す行動(発話)をとるようにしてもよい。この場合、ロボット1が移動中に障害物を検出する方法としては、例えば、脚部ユニット14Aまたは14Bが障害物にぶつかると、モータのトルクが大きくなるので、そのアクチュエータA9乃至A14のトルクの変化を検出する方法などがある。
【0173】
以上のように、CCDカメラ81Lおよび81R、マイクロホン82、および超音波センサ83などから出力される信号に基づいて、ロボット1とユーザとの距離を推定し、その推定された距離が認識処理に適切な所定の範囲の距離から外れていた場合、ロボット1とユーザとの距離を調整するようにしたので、ロボット1の認識機能の認識精度を向上させることができる。
【0174】
上述の実施の形態においては、所定の範囲Rおよび閾値D1のそれぞれは、予め決められた値として、閾値設定部112に設定されている。しかし、所定の範囲Rおよび閾値D1のそれぞれは、例えば、周囲の状況やユーザの状態などによって適応的に変化させることもできる。
【0175】
図20は、そのような、閾値設定部112が距離判定部113および距離調整部114に供給する所定の範囲Rおよび閾値D1のそれぞれを、動的に変化させる、図6に対応するメイン制御部61の機能的構成例を示している。なお、図中、図6における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は適宜省略する。即ち、図20のメイン制御部61は、図6における場合と、基本的に同様に構成されている。
【0176】
行動決定機構部103が、状態認識情報処理部101からの状態認識情報や、モデル記憶部102からの状態情報、時間経過等に基づいて、次の行動を決定し、決定された行動の内容が、例えば、「ユーザと会話する」や「ユーザに手を振る」というような音声認識処理や画像認識処理を必要とする場合、行動決定機構部103は、状態認識情報処理部101の音声認識部101Aや画像認識部101Bが、精度良く認識することができるように、ロボット1とユーザとの距離を調整する旨の指令を距離制御部110に送出する。また、行動決定機構部103は、ロボット1とユーザとの距離を調整する旨の指令とともに、例えば、「足踏みしている」などのロボット1の現在の動作状態も距離制御部110に供給する。
【0177】
距離推定部111は、図6における場合と同様に、CCDカメラ81Lおよび81R、マイクロホン82、および超音波センサ83などからの各種の信号を基に、ロボット1とユーザとの距離を推定する。そして、距離推定部111は、推定した距離の推定距離情報を、距離判定部113と距離調整部114の他に、閾値設定部112にも送出する。
【0178】
音声認識における周囲の雑音の大きさは、認識処理に影響を及ぼすことがある。例えば、ロボット1とユーザとの距離が遠すぎるため、ユーザの発する音声の大きさと、周囲の雑音の区別がつきにくい場合、ロボット1とユーザとの距離を近づけることにより、ユーザの発する音声を大きくさせることができる。従って、周囲の雑音の大きさにより、ロボット1とユーザとの適切な距離は異なってくる。そこで、閾値設定部112は、周囲の雑音を求め、認識処理に適切なロボット1とユーザとの距離の範囲(所定の範囲R1)を設定する。
【0179】
そのため閾値設定部112は、マイクロホン82からの音声信号に基づいて、ロボット1の周囲の背景雑音を計測する。これは、例えば、マイクロホン82が集音した音声信号のなかで、ユーザの発した音声信号が含まれていない区間(音声区間以外の期間)の音声信号を所定の時間だけ集め、集めた音声信号のパワー値の平均を求めることにより計算することができる。
【0180】
また、閾値設定部112は、行動決定機構部103から距離制御部110に供給されるロボット1の現在の動作状態を用いて、マイクロホン82に入力された音声における、ロボット1自身が発生する雑音の影響(雑音成分)を推定する。ロボット1の動作状態としては、例えば、歩行中、立位静止、または座位などのロボット1の動作モードといえるようなものから、ロボット1の各関節部にあたるアクチュエータA1乃至A14の動作状態に至るまでの様々な情報が、行動決定機構部103から距離制御部110に供給される。例えば、ロボット1が歩行や足踏みをしている場合には、閾値設定部112は、ロボット1の足部45と床面との打撃音や、ロボットのアクチュエータA1乃至A14のモータ音などのレベルを、ロボット1自身が発生する雑音の影響として推定する。
【0181】
そして、閾値設定部112は、上述したような、ロボット1の周囲の背景雑音、ロボット1の現在の動作状態などから、認識に適切なロボット1とユーザとの距離の範囲(所定の範囲R1)を設定する。例えば、マイクロホン82から入力される周囲の雑音が大きすぎて、ユーザの発する音声の区別がつきにくい場合、認識に適切なロボット1とユーザとの距離の範囲(所定の範囲R1)を近い値とすることにより、ユーザにロボット1の方向に近づいてもらい、ユーザの音声信号のS/Nを高くさせることができる。
【0182】
また、閾値設定部112は、CCDカメラ81Lおよび81Rからの画像信号に顔画像を検出した場合、その検出した顔画像領域の大きさから、認識に適切なロボット1とユーザとの距離の範囲(所定の範囲R2)を設定する。これは、検出した顔画像領域の大きさが、CCDカメラ81Lおよび81Rが出力する画像の画枠に対して大きすぎても、また小さすぎても、顔画像領域の大きさから推定するロボット1とユーザとの距離の誤差が、大きくなるためである。そこで、CCDカメラ81Lおよび81Rの有効画素の縦と横のそれぞれの画素数に対して、顔画像領域を含む長方形の縦と横のそれぞれの画素数が、例えば、1/2程度の画素数となるとき(このときの顔画像領域の大きさを、以下、適宜、適量値という)のロボット1とユーザとの距離を、認識に最適な距離とし、その最適な距離から所定のマージンをもつ範囲を、顔画像領域の大きさの検出による適切な認識の範囲(所定の範囲R2)とすることができる。
【0183】
さらに、閾値設定部112は、マイクロホン82からの音声信号を検出した場合、その音声信号の大きさから、認識に適切なロボット1とユーザとの距離の範囲(所定の範囲R2)を設定する。これは、例えば、ユーザが発する音声が、ロボット1に近すぎて大きすぎる場合、マイクロホン82が集音した音声波形は、マイクロホン82のダイナミックレンジを超えて、本来の音声波形より歪んだ波形となる。逆に、ユーザが発する音声が、ロボット1から遠すぎて小さすぎる場合、周囲の雑音と認識されるべきユーザの音声の区別がつきにくくなる。そこで、マイクロホン82に入力されるユーザの音声の平均レベルが、そのマイクロホン82が測定可能な音声レベルの範囲の、例えば、中心値(ダイナミックレンジの中点)程度となるとき(このときのユーザの音声のレベルも、以下、適宜、適量値という)のロボット1とユーザとの距離を、認識に最適な距離とし、その最適な距離から所定のマージンをもつ範囲を、音声の大きさの検出による認識に適切なロボット1とユーザとの距離の範囲(所定の範囲R2)とすることができる。
【0184】
さらに、閾値設定部112は、上述した、ロボット1の周囲の背景雑音、ロボット1の現在の動作状態などから計算された、認識に適切なロボット1とユーザとの距離の範囲(所定の範囲R1)と、CCDカメラ81Lおよび81Rが出力する画像信号から検出した顔画像領域の大きさ、およびマイクロホン82が出力する音声信号の大きさから計算された、認識に適切なロボット1とユーザとの距離の範囲(所定の範囲R2)に基づいて、距離判定部113において閾値として用いられる所定の範囲Rを動的に設定する。
【0185】
さらに、閾値設定部112は、動的に設定した所定の範囲Rから、例えば、その中心値を算出し、閾値D1として設定する。そして、閾値設定部112は、所定の範囲Rの値を距離判定部113に、閾値D1を距離調整部114にそれぞれ送出する。
【0186】
次に、図21のフローチャートを参照して、閾値設定部112による所定の範囲Rの動的決定処理について説明する。この処理は、例えば、ロボット1の電源が投入されている間、一定の周期で、実行される。
【0187】
初めに、ステップS111において、閾値設定部112は、マイクロホン82からの音声信号に基づいて、ロボット1の周囲の背景雑音を計測して、ステップS112に進む。
【0188】
ステップS112において、閾値設定部112は、行動決定機構部103から距離制御部110に供給される、ロボット1の現在の動作状態を取得して、ステップS113に進む。
【0189】
ステップS113において、閾値設定部112は、ステップS111で計算したロボット1の周囲の背景雑音、ステップS112で取得したロボット1の現在の動作状態などから、認識に適切なロボット1とユーザとの距離の範囲を計算して、所定の範囲R1として設定し、ステップS114に進む。
【0190】
ステップS114において、閾値設定部112は、マイクロホン82から距離制御部110にユーザの音声入力があったか、またはCCDカメラ81Lおよび81Rから距離制御部110に入力された画像信号のなかに、顔画像を検出したかどうかを判定する。
【0191】
ステップS114において、マイクロホン82から距離制御部110にユーザの音声入力がなく、かつCCDカメラ81Lおよび81Rから距離制御部110に入力された画像信号のなかに、顔画像が検出されなかったと判定された場合、後述するステップS115乃至ステップS118の処理を、スキップし、ステップS119に進む。
【0192】
一方、ステップS114において、マイクロホン82から距離制御部110にユーザの音声入力があったか、またはCCDカメラ81Lおよび81Rから距離制御部110に入力された画像信号のなかに、顔画像が検出されたと判定された場合、ステップS115に進み、マイクロホン82から距離制御部110に入力されたユーザの音声の大きさ、またはCCDカメラ81Lおよび81Rから距離制御部110に入力された画像信号のなかの顔画像領域の大きさが、適量値であるかどうかが、閾値設定部112によって判定される。ここで、ユーザの音声入力または顔画像の検出のどちらか一方だけが検出された場合は、ステップS115では、検出された信号についてのみ処理が行われる。
【0193】
ステップS115において、マイクロホン82から距離制御部110に入力された音声の大きさ、並びにCCDカメラ81Lおよび81Rから距離制御部110に入力された画像信号のなかの顔画像領域の大きさが、適量値であると判定された場合、後述するステップS116乃至ステップS118の処理を、スキップし、ステップS119に進む。
【0194】
一方、ステップS115において、マイクロホン82から距離制御部110に入力された音声の大きさ、またはCCDカメラ81Lおよび81Rから距離制御部110に入力された画像信号のなかの顔画像領域の大きさが適量値ではない、と判定された場合、ステップS116に進み、閾値設定部112は、距離推定部111から供給された推定距離情報、すなわち、ロボット1とユーザとの距離を取得して、ステップS117に進む。
【0195】
ステップS117において、閾値設定部112は、ステップS116で取得したロボット1とユーザとの距離が、ステップS113で計算した、認識に適切な所定の範囲R1内であるかどうかを判定する。
【0196】
ステップS117において、ロボット1とユーザとの距離が、認識に適切な所定の範囲R1内ではないと判定された場合、ステップS118の処理はスキップされ、ステップS119に進む。
【0197】
一方、ステップS117において、ロボット1とユーザとの距離が、認識に適切な所定の範囲R1内であると判定された場合、ステップS118に進み、閾値設定部112は、ユーザの音声の大きさ、または顔画像領域の大きさを適量値にするロボット1とユーザとの距離の範囲である所定の範囲R2を計算し、ステップS113で設定した所定の範囲R1ではなく、ユーザの音声の大きさ、または顔画像領域の大きさを適量値にするロボット1とユーザとの距離の所定の範囲R2を、認識に適切なロボット1とユーザとの距離の範囲(所定の範囲R)として設定して、ステップS119に進む。例えば、閾値設定部112がステップS116で距離推定部111から取得したロボット1とユーザとの距離は、所定の範囲R1内であるが、ステップS118で計算された所定の範囲R2が、例えば、入力画像から得られる顔画像領域の大きさが小さく、所定の範囲R1よりもロボット1に近い距離の範囲として計算された場合、認識に適切なロボット1とユーザとの距離の所定の範囲Rとして、所定の範囲R2が採用されて設定される。
【0198】
ここで、ステップS117において、閾値設定部112がステップS116で距離推定部111から取得したロボット1とユーザとの距離が、所定の範囲R1内ではないと判定された場合には、音声や顔画像領域の大きさに拘らず、距離調整部114は、ロボット1とユーザとの距離を調整する指令を行動決定機構部103に送出することになるので、閾値設定部112は、あえて所定の範囲R2を計算しない(ステップS118をスキップする)。
【0199】
一方、ロボット1とユーザとの距離が、所定の範囲R1であるにも拘らず、マイクロホン82から距離制御部110に入力された音声の大きさは適量ではない、またはCCDカメラ81Lおよび81Rから距離制御部110に入力された画像信号のなかの顔画像領域の大きさが適量ではない場合には、より認識精度が良い範囲(所定の範囲R2)が存在していることになるので、その所定の範囲R2をステップS118で計算する。
【0200】
なお、顔画像領域の大きさが適量ではない場合の他の対処方法としては、CCDカメラ81Lおよび81Rにズーム機構を備え、そのズーム機構により顔画像領域の大きさを調整する方法もあるが、ズームの比率にも限界があるため、ユーザの顔画像領域を最適にする範囲にも限界がある。また、ズーム機構を備えるには、ロボット1の構造的(場所的)制約やコストの制約などを受ける。従って、上述したように、ユーザまたはロボット1が距離を調整することによって、顔画像領域の大きさを調整するのが望ましい。
【0201】
ステップS119では、閾値設定部112は、所定の範囲Rから閾値D1を計算し、所定の範囲Rを距離判定部113に、閾値D1を距離調整部114にそれぞれ出力して、処理を終了する。
【0202】
以上のように、所定の範囲Rおよび閾値D1の値を、周囲の状況やユーザの状態などによって適応的に変化させることにより、ロボット1とユーザとの距離を常に認識機能に最適な距離に調整することができるので、認識機能の認識精度を向上させることができる。
【0203】
以上の実施の形態においては、外部センサ部71のマイクロホン82、CCDカメラ81Lおよび81R、並びにタッチセンサ51などの各種のセンサからの出力信号は、常に状態認識情報処理部101に入力され、状態認識情報処理部101は、認識処理を行って、状態認識情報を、常時、行動決定機構部103に出力するようにしたが、行動決定機構部103が次の行動を決定し、その行動に認識処理が必要な時のみ、行動決定機構部103から状態認識情報処理部101にコマンドを送出することにより、状態認識情報処理部101に認識処理を行わせ、状態認識情報を受け取るようにしてもよい。
【0204】
また、閾値設定部112から距離調整部114に出力される閾値D1は、所定の範囲Rの中心値としたが、例えば、所定の範囲Rの上限値(ロボット1から遠い側の値)および下限値(ロボット1に近い側の値)などのように2つの閾値として設定することもできる。この場合、例えば、図15に示した第1の距離調整処理のフローチャートにおいて、ステップS41の閾値D1に代えて上限値を用いるとともに、ステップS43の閾値D1に代えて下限値を用いることができる。
【0205】
上述した一連の処理を実行するプログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができ、メモリ61Aにインストールされる。
【0206】
さらに、プログラムは、上述したようなリムーバブル記録媒体からメモリ61Aにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、メモリ61Aにインストールすることができる。
【0207】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0208】
ロボット1とユーザとの距離は、上述したようなマイクロホン82などの出力から推定して求める方法の他、例えば、監視カメラなどを用いることによってロボット1の外部で検出し、例えば、無線などによりロボット1に供給するようにしてもよい。
【0209】
【発明の効果】
以上のごとく本発明によれば、ロボットの認識機能の認識精度を向上させることができる。
【図面の簡単な説明】
【図1】本発明を適用したロボットの外観構成を示す斜視図である。
【図2】図1のロボットの外観構成を示す、背後側の斜視図である。
【図3】図1のロボットについて説明するための略線図である。
【図4】図1のロボットの制御に関する部分を主に説明するためのブロック図である。
【図5】図1のロボットの内部構成を示すブロック図である。
【図6】図5のメイン制御部の構成を示すブロック図である。
【図7】超音波センサの処理を説明する図である。
【図8】基準カメラおよび検出カメラで、ユーザを撮影している状態を示す図である。
【図9】エピポーララインを説明するための図である。
【図10】基準カメラ画像および検出カメラ画像を示す図である。
【図11】評価値の推移を示す図である。
【図12】設定点/距離テーブルおよび視差/距離テーブルを示す図である。
【図13】図1のロボットのロボット動作処理を説明するフローチャートである。
【図14】図13のステップS4の距離推定処理を説明するフローチャートである。
【図15】図13のステップS7の距離調整処理を説明するフローチャートである。
【図16】図13のステップS7の距離調整処理を説明するフローチャートである。
【図17】図13のステップS7の距離調整処理を説明するフローチャートである。
【図18】図13のステップS7の距離調整処理を説明するフローチャートである。
【図19】図13のステップS7の距離調整処理を説明するフローチャートである。
【図20】図5のメイン制御部の構成を示すブロック図である。
【図21】動的に所定の範囲Rを決定する場合の閾値設定部の範囲の動的決定処理について説明するフローチャートである。
【符号の説明】
1 ロボット, 61 メイン制御部, 63 サブ制御部, 71 外部センサ部, 72 スピーカ, 81L CCDカメラ, 81R CCDカメラ, 82 マイクロホン, 83 超音波センサ, 101 状態認識情報処理部, 102 モデル記憶部, 103 行動決定機構部, 104 姿勢遷移機構部, 105 音声合成部, 110 距離制御部, 111 距離推定部, 112 閾値設定部, 113 距離判定部, 114 距離調整部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a robot apparatus, a robot control method, a recording medium, and a program, and in particular, for example, a robot capable of improving the recognition accuracy of a robot recognition function by adjusting the distance between the user and the robot. The present invention relates to an apparatus, a robot control method, a recording medium, and a program.
[0002]
[Prior art]
In recent years, robots (including stuffed animals in this specification) having a recognition function such as a voice recognition device and an image recognition device have been commercialized as toys and the like. For example, a robot equipped with a speech recognition device recognizes speech uttered by a user, and autonomously performs actions such as performing a certain gesture or outputting synthesized sound based on the speech recognition result. Has been made.
[0003]
When a robot equipped with a voice recognition device recognizes a voice uttered by a user, when the user who uttered the voice is too far away from the robot, the user's speech acquired by a microphone attached to the robot is obtained. The signal value of the voice waveform is attenuated and the noise level becomes relatively high. That is, the S / N ratio (Signal to Noise ratio) of the user's voice signal acquired by the microphone is low. In general, as the distance between the user (speaker) and the robot (microphone attached to the robot) increases, the waveform of the audio signal is more affected by the reverberation characteristics. Therefore, when the distance between the user and the robot is too great, the recognition accuracy of the voice recognition device for the robot deteriorates.
[0004]
On the other hand, when the distance between the user and the robot is too close, the signal value of the voice waveform issued by the user acquired by the microphone attached to the robot exceeds the detectable range of the microphone. Therefore, the speech waveform acquired by the microphone is saturated and becomes a waveform distorted from the original speech waveform. If the distance between the user and the robot is too close, the robot speech recognition apparatus recognizes such a distorted waveform as a voice, and the accuracy of speech recognition deteriorates.
[0005]
Therefore, along with the speech recognition results, ambient noise detection that detects the effects of ambient noise, power shortage detection that detects situations where the power of the input voice satisfies a certain threshold condition, power overload detection, etc., and voice recognition results And a method for coping with the problem of voice recognition accuracy degradation in a robot using the result of situation detection has been proposed (for example, see Non-Patent Document 1).
[0006]
[Non-Patent Document 1]
Iwasawa, Onaka, Fujita, “A Method and Evaluation of Speech Recognition Interface for Robots Using Situation Detection”, Japanese Society for Artificial Intelligence, Artificial Intelligence Society, November 2002, p. 33-38
[0007]
[Problems to be solved by the invention]
However, in the method shown in Non-Patent
[0008]
On the other hand, in a robot equipped with an image recognition device, when the image recognition device identifies a user using an image obtained by imaging the user, if the distance between the user and the robot is too far, the image is displayed. The user's identification accuracy deteriorates due to the influence of the resolution of the image pickup apparatus that has picked up the image. For example, when the robot image recognition device identifies a user from the user's face image captured by the imaging device, the distance from the robot imaging device to the user increases, and the number of pixels in the face area in the captured image decreases. As a result, the number of effective pixels that can be used by the image recognition apparatus for recognition decreases, and the recognition accuracy of the image recognition apparatus may deteriorate.
[0009]
Also, when the distance between the user and the robot is too close, the entire face area of the user does not fit within the image frame output by the imaging device, and the user's identification accuracy by the image recognition device may deteriorate.
[0010]
The present invention has been made in view of such a situation. For example, when a recognition device such as a voice or an image attached to a robot recognizes a voice or an image to be recognized such as a user, the robot By adjusting the distance between the robot and the user so that the distance between the user and the user becomes an appropriate distance for the recognition device, the recognition accuracy of the robot recognition device can be improved.
[0011]
[Means for Solving the Problems]
The robot apparatus of the present inventionIn a robot apparatus having a recognition function for recognizing a predetermined recognition target, a plurality of imaging means for imaging a surrounding situation and outputting an image signal, a voice input means for inputting sound, and a recognition target by emitting an ultrasonic pulse Output results of ultrasonic output means for receiving reflected waves reflected from a plurality of imaging means, audio input means, and ultrasonic output meansA distance estimation unit that estimates a distance to the recognition target, and a distance adjustment unit that adjusts the distance to the recognition target based on the distance estimated by the distance estimation unit;The distance estimation means has a large difference between the distance estimated from the output result of the ultrasonic output means and the distance estimated from the output results of the plurality of imaging means and the voice input means, and the output result of the ultrasonic output means If the estimated distance is short, it is determined that the object detected by the ultrasonic output means is an obstacle, the output result of the ultrasonic output means is excluded, the distance to the recognition target is estimated, and the distance adjustment means Adjusts the distance to the user by moving the robot device so that the user moves when it is determined that there is an obstacle, and moves the robot device when it is determined that there is no obstacle To adjust the distance to the recognition targetIt is characterized by.
[0012]
distanceThe estimation means can estimate the distance to the recognition target by performing stereo processing using image signals output from the plurality of imaging means.
[0013]
Recognized by multiple imaging meansThe recognition target is the user,The distance estimation means can detect the user's face area using the image signal output from the imaging means, and can estimate the distance to the user based on the face area.
[0014]
Recognized by voice input meansThe recognition target is the user,The distance estimation unit can estimate the distance to the user based on the volume of the voice uttered by the user input to the voice input unit.
[0018]
Voice output means for outputting voice can be further provided, and the distance adjustment means can adjust the distance to the user by causing the voice output means to output voice so that the user moves.
[0019]
The distance adjustment means can adjust the distance to the user by causing the robot device to perform an operation that prompts the user to move.
[0020]
Determination means for determining whether the distance estimated by the distance estimation means is within a predetermined range is further provided, and the distance adjustment means is configured to adjust the distance to the recognition target based on the determination result of the determination means. Can be.
[0021]
Range setting means for setting a predetermined range can be further provided.
[0022]
Range setting meansIn,Measure the background noise of the surroundings based on the output result of the voice input means, and dynamically set a predetermined range according to the magnitude of the background noiseYou can make it.
Further, the range setting means may acquire an operation state of the robot apparatus, estimate a noise component generated by the robot apparatus itself, and dynamically set a predetermined range depending on the magnitude of the noise component. it can.
[0023]
The robot control method of the present invention includes:In a robot control method for controlling a robot apparatus having a recognition function for recognizing a predetermined recognition target, an imaging step for imaging a surrounding situation and outputting an image signal, a voice input step for inputting voice, and an ultrasonic pulse Based on the processing results of the ultrasonic output step that emits and receives the reflected wave reflected from the recognition target, the imaging step, the voice input step, and the ultrasonic output step,A distance estimation step for estimating the distance to the recognition target, and a distance adjustment step for adjusting the distance to the recognition target based on the processing result of the distance estimation step;In the distance estimation step, the difference between the distance estimated from the processing result of the ultrasonic output step and the distance estimated from the processing result of the imaging step and the voice input step is large, and the processing result of the ultrasonic output step If the estimated distance is short, it is determined that the recognition target reflected by the ultrasonic pulse is an obstacle, the processing result of the ultrasonic output step is excluded, the distance to the recognition target is estimated, and the distance adjustment step If it is determined that there is an obstacle, the robot device is caused to act so that the user moves, thereby adjusting the distance to the user. If it is determined that there is no obstacle, the robot device is moved. By adjusting the distance to the recognition targetIt is characterized by.
[0024]
The program of the recording medium of the present invention isA program for causing a computer to control a robot apparatus having a recognition function for recognizing a predetermined recognition object, imaging a surrounding situation, outputting an image signal, and an audio input step for inputting sound; Based on the processing result of the ultrasonic output step that emits an ultrasonic pulse and receives the reflected wave reflected from the recognition target, the imaging step, the voice input step, and the ultrasonic output step,A distance estimation step for estimating the distance to the recognition target, and a distance adjustment step for adjusting the distance to the recognition target based on the processing result of the distance estimation step;In the distance estimation step, the difference between the distance estimated from the processing result of the ultrasonic output step and the distance estimated from the processing result of the imaging step and the voice input step is large, and the processing result of the ultrasonic output step If the estimated distance is short, it is determined that the recognition target reflected by the ultrasonic pulse is an obstacle, the processing result of the ultrasonic output step is excluded, the distance to the recognition target is estimated, and the distance adjustment step If it is determined that there is an obstacle, the robot device is caused to act so that the user moves, thereby adjusting the distance to the user. If it is determined that there is no obstacle, the robot device is moved. By adjusting the distance to the recognition targetIt is characterized by.
[0025]
The program of the present inventionIn a program for causing a computer to control a robot apparatus having a recognition function for recognizing a predetermined recognition target, an imaging step for imaging a surrounding situation and outputting an image signal, a voice input step for inputting sound, and an ultrasonic wave Based on the processing result of the ultrasonic output step that emits a pulse and reflects the reflected wave reflected from the recognition target, the imaging step, the voice input step, and the ultrasonic output step,A distance estimation step for estimating the distance to the recognition target, and a distance adjustment step for adjusting the distance to the recognition target based on the processing result of the distance estimation step;In the distance estimation step, the difference between the distance estimated from the processing result of the ultrasonic output step and the distance estimated from the processing result of the imaging step and the voice input step is large, and the processing result of the ultrasonic output step If the estimated distance is short, it is determined that the recognition target reflected by the ultrasonic pulse is an obstacle, the processing result of the ultrasonic output step is excluded, the distance to the recognition target is estimated, and the distance adjustment step If it is determined that there is an obstacle, the robot device is caused to act so that the user moves, thereby adjusting the distance to the user. If it is determined that there is no obstacle, the robot device is moved. Process to adjust the distance to the recognition targetIs executed by a computer.
[0026]
In the present invention,If there is a large difference between the distance estimated from the ultrasonic output result and the distance estimated from the imaging result and the voice input result, and the distance estimated from the ultrasonic output result is short, the recognition target reflected by the ultrasonic pulse is obstructed. If it is determined that the object is an object, the ultrasonic output result is excluded and the distance to the recognition target is estimated, and if it is determined that there is an obstacle, the user moves the robot device so that the user moves. The distance to the recognition target is adjusted by moving the robot device when it is determined that there is no obstacle.Is adjusted.
[0027]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a front perspective view of a
[0028]
In the
[0029]
In the
[0030]
The
[0031]
Further, the
[0032]
In the
[0033]
In the
[0034]
The
[0035]
In the
[0036]
Accordingly, in the
[0037]
A
[0038]
FIG. 4 shows a configuration example of the actuator of the
[0039]
The
[0040]
The
[0041]
Further, the
[0042]
FIG. 5 is a block diagram illustrating an example of an electrical internal configuration of the
[0043]
The
[0044]
Then, the
[0045]
In addition, the
[0046]
The
[0047]
The
[0048]
The
[0049]
The
[0050]
And the
[0051]
Moreover, the
[0052]
In this way, the
[0053]
FIG. 6 shows a functional configuration example of the
[0054]
The
[0055]
Audio signals, image signals, pressure detection signals, and the like from the
[0056]
The state recognition
[0057]
The
[0058]
The
[0059]
Here, since it is generally expected that the user often talks from the front direction of the
[0060]
Note that when the user talks from the front direction of the
[0061]
Further, for example, a microphone having directivity in the same direction as the imaging direction of the
[0062]
The pressure processing unit 101C processes the pressure detection signal S1C given from the
[0063]
The
[0064]
Here, the emotion model includes, for example, emotion states (degrees) such as “joyfulness”, “sadness”, “anger”, “fun”, etc. within a predetermined range (for example, −1.0 to 1.. 0), and the value is changed based on the state recognition information from the state recognition
[0065]
The
[0066]
Note that the
[0067]
That is, for example, when the
[0068]
On the other hand, when the
[0069]
As described above, the
[0070]
Note that the
[0071]
The action
[0072]
That is, the behavior
[0073]
Here, when the behavior
[0074]
As described above, the behavior
[0075]
On the other hand, the behavior
[0076]
When the command that the distance between the
[0077]
In addition, as described above, the behavior
[0078]
The
[0079]
The
[0080]
That is, when the image signal S1A supplied from the
[0081]
The
[0082]
Furthermore, the
[0083]
The
[0084]
The
[0085]
The
[0086]
Here, the predetermined range R is, for example, a distance between the
[0087]
The distance determination unit 113 is supplied with a distance (estimated value) between the
[0088]
When the distance determination unit 113 determines that the distance between the
[0089]
On the other hand, when the distance determination unit 113 determines that the distance between the
[0090]
As described above, the
[0091]
Here, as a method of adjusting the distance between the
[0092]
In addition, as another method for adjusting the distance between the
[0093]
Furthermore, as another method for adjusting the distance between the
[0094]
As described above, the posture
[0095]
Next, the principle of estimating the distance from the output of the
[0096]
The
[0097]
Next, referring to FIG. 8 to FIG. 12, the principle of estimating the distance between the
[0098]
Stereo processing associates pixels between multiple images obtained by capturing the same object with the camera from two or more directions (different line-of-sight directions). The distance to an object is calculated.
[0099]
That is, the
[0100]
Therefore, in stereo processing, it is first necessary to detect corresponding points. As a detection method, for example, there is an area-based matching method using an epipolar line.
[0101]
That is, as shown in FIG. 9, in the
[0102]
In the
[0103]
In this case, the straight line L is the optical center O.1And O2And point naA plane passing through three points (or point P) and an imaging surface S on which a detection camera image is formed2Line of intersection L2As an imaging surface S2Projected on top. The point P is a point on the straight line L. Therefore, the imaging surface S2, The point n projected from the point PbIs a straight line L projected from the straight line L2This straight line L2Is called an epipolar line. That is, point naCorresponding point nbMay be present on the epipolar line L2And therefore corresponding point nbSearch for epipolar line L2You can do the above.
[0104]
Here, the epipolar line is, for example, the imaging surface S.1However, if the positional relationship between the
[0105]
Epipolar line L2Corresponding point n from abovebThe detection can be performed by, for example, area-based matching as follows.
[0106]
That is, in area-based matching, as shown in FIG.aFor example, a small rectangular block (hereinafter, referred to as a reference block as appropriate) having the center at (for example, the intersection of diagonal lines) is extracted from the reference camera image and projected onto the detected camera image as shown in FIG. 10B. Epipolar line L2A small block having the same size as the reference block (hereinafter referred to as a detection block as appropriate) centered on a certain point is extracted from the detection camera image.
[0107]
Here, in the embodiment of FIG. 10B, the epipolar line L2Above, point n as the center of the detection blockb1Thru nb66 points are provided. These 6 points nb1Thru nb6Is a point that divides the straight line L in the three-dimensional space shown in FIG. 9 at a predetermined constant distance, that is, a point at which the distance from the
[0108]
In area-based matching, epipolar line L is detected from the detected camera image.2Point n provided aboveb1Thru nb6Detection blocks centered on each are extracted, and the correlation between each detection block and the reference block is calculated using a predetermined evaluation function. And point naThe center point n of the detection block having the highest correlation with the reference block centered onbIs the point naIt is calculated as a corresponding point.
[0109]
That is, for example, when a function having a smaller value as the correlation is higher is used as the evaluation function, the epipolar line L2Top point nb1Thru nb6For example, assume that an evaluation value (value of an evaluation function) as shown in FIG. 11 is obtained. In this case, the point n having the smallest evaluation value (highest correlation)b3Is the point naAre detected as corresponding points. In FIG. 11, the point nb1Thru nb6Interpolation is performed using the evaluation value obtained for each of the evaluation values (indicated by black circles in FIG. 11) in the vicinity of the minimum value to obtain a point (indicated by a cross in FIG. 11) where the evaluation value becomes smaller. It is also possible to detect that point as the final corresponding point.
[0110]
In the embodiment of FIG. 10, as described above, the point where the straight line L in the three-dimensional space is divided at predetermined equal distances is defined as the imaging surface S of the detection camera 81R.2The projected point is set, but this setting can be performed at the time of calibration of the
[0111]
On the other hand, the point n on the reference camera imageaCorresponding point n on the detected camera imagebIf two points n are detected,aAnd nbCan be obtained. Further, if the positional relationship between the
[0112]
Here, the parallax and the distance to the user have a one-to-one correspondence. Therefore, obtaining the parallax and obtaining the distance to the user are equivalent to each other.
[0113]
In addition, the use of a block composed of a plurality of pixels such as a reference block and a detection block for detection of corresponding points reduces the influence of noise, and pixels (points) n on the reference camera imageaAnd the corresponding point (pixel) n on the detected camera imagebThis is for the purpose of ensuring the detection of corresponding points by clarifying and determining the correlation with the pattern characteristics of the surrounding pixels. Especially for the reference camera image and the detection camera image with little change, Due to the correlation of images, the larger the block size, the greater the certainty of detection of corresponding points.
[0114]
In area-based matching, the evaluation function for evaluating the correlation between the reference block and the detection block is the difference between the pixel values of the pixels constituting the reference block and the pixels constituting the detection block corresponding to each pixel. The sum of absolute values of the values, the square sum of the differences, normalized cross correlation, and the like can be used.
[0115]
The stereo processing has been briefly described above. However, the stereo processing (stereo matching method) is also described in, for example, Yakuin, Nagao, “Introduction to Image Processing in C Language”, Shosodo pp. 127, etc. ing.
[0116]
Next, the operation process of the
[0117]
First, in step S <b> 1, the behavior
[0118]
In step S2, the action
[0119]
If it is determined in step S2 that the action determined in step S1 is an action that requires recognition processing, the process proceeds to step S3, and the action
[0120]
In step S4, when the
[0121]
After the process of step S4, the process proceeds to step S5, where the distance determination unit 113 is supplied in advance from the
[0122]
If it is determined in step S5 that the distance between the
[0123]
In step S <b> 7, when the
[0124]
On the other hand, when it is determined in step S5 that the distance between the
[0125]
Moreover, also when it determines with the action determined by step S1 not being the action which requires a recognition process in above-mentioned step S1, it progresses to step S9 and the action
[0126]
Where recognition processing is requireddo not doIn some cases, for example, “dancing” is required, and recognition processing is required.DoExamples include “conversing with the user”. Also, for example, a voice saying “Goodbye” is emitted, and action command information is sent to both the posture
[0127]
After the process of step S9, the process proceeds to step S10, where the action
[0128]
Further, when it is determined in step S10 that the robot operation process is to be ended, that is, for example, when the power of the
[0129]
Next, the distance estimation process of the
[0130]
In step S21, the
[0131]
If it is determined in step S21 that a face image has been detected from the image signals captured by the
[0132]
On the other hand, when it is determined in step S21 that the face image is not detected from the image signals captured by the
[0133]
In step S24, the
[0134]
In step S <b> 25, the
[0135]
If it is determined in step S25 that there is no voice input to the
[0136]
Here, the size estimation accuracy of the distance estimated from each of the size of the face image area, the stereo processing, the lag time, and the input user's voice is compared. The estimation of the distance from the input voice of the user correlates the magnitude of the voice volume (the level of the voice signal) with the distance, but the volume of the voice when a human usually speaks varies from person to person. Since the user may be a small person or a large person, the degree of correlation between the size of the audio volume and the distance may vary depending on the user.
[0137]
The method for estimating the distance from the size of the face image area is that the face image area is extremely small (the distance between the
[0138]
The method of estimating the distance by stereo processing is also affected by the size of the image portion of the user in the image signal, as in the case of estimating the distance from the size of the face image area.
[0139]
On the other hand, the method of estimating the distance from the lag time output from the
[0140]
Therefore, as a comprehensive distance estimation method, for example, weights corresponding to the respective reliability values are assigned to the distance values as the four estimation results, the weights are multiplied by the estimation results, and the average value ( It is possible to adopt a method in which the weighted average value) is set as a total distance.
[0141]
Further, for example, a distance estimation unit based on the direction of the user who has performed image recognition such as stereo processing or distance estimation using a face image area (front direction of the head unit 12) and the sound signals of the microphones 82-1 to 82-N. If the user direction (sound source direction) estimated by 111 is a different direction, the sound collected by the microphones 82-1 to 82-N is assumed to be a sound emitted by another user who is not a recognition target. The total distance may be estimated by excluding the distance estimation result from the input voice. In addition, for example, the distance estimation result from the speech input generally considered to have the lowest reliability is compared with the distance estimation result by the other three methods. When the distance estimation result by the three methods and an extremely different value are used, the distance estimation result from the voice input is discarded, and only the distance estimation result by the other three methods is used. You may make it estimate the total distance of the
[0142]
Here, the result of the distance estimated from the output of the
[0143]
As described above, the
[0144]
Next, a first embodiment (first distance adjustment process) of the distance adjustment process of the
[0145]
First, in step S41, the
[0146]
If it is determined in step S41 that the distance between the
[0147]
On the other hand, if it is determined in step S41 that the distance between the
[0148]
If it is determined in step S43 that the distance between the
[0149]
On the other hand, when it is determined in step S43 that the distance between the
[0150]
Here, when the recognition process that needs to be performed in the action determined in step S1 in FIG. 13 is a voice recognition process, in steps S42 and S44, “speak to approach the user” and “to the user” Instead of an action request command that says “speak away”, “speak to ask the user to speak louder” and “speak to ask the user to speak louder” The action request command may be sent from the
[0151]
Next, a second embodiment (second distance adjustment process) of the distance adjustment process of the
[0152]
In the second distance adjustment process of FIG. 16, the same processes as in steps S41 and S43 of FIG. 15 are performed in steps S51 and S53, respectively. In step S51, when it is determined that the distance between the
[0153]
In step S53, when it is determined that the distance between the
[0154]
Here, in step S52 or S54, when the recognition process which needs to be performed by the action determined in step S1 of FIG. 13 is a voice recognition process, the
[0155]
Next, a third embodiment (third distance adjustment process) of the distance adjustment process of the
[0156]
In the third distance adjustment process of FIG. 17, the same processes as in steps S41 and S43 of FIG. 15 are performed in steps S61 and S63, respectively. If it is determined in step S61 that the distance between the
[0157]
If it is determined in step S63 that the distance between the
[0158]
As described above, as the distance adjustment method by the
[0159]
Next, a fourth embodiment (fourth distance adjustment process) of the distance adjustment process of the
[0160]
In the distance adjustment process shown in the flowchart of FIG. 18, a method in which the
[0161]
In the fourth distance adjustment process of FIG. 18, the same processes as in steps S41 and S43 of FIG. 15 are performed in steps S71 and S75, respectively. If it is determined in step S71 that the distance between the
[0162]
In Step S72, when it is determined that there is an obstacle on the plane from the
[0163]
On the other hand, if it is determined in step S72 that there is no obstacle on the plane from the
[0164]
If it is determined in step S75 that the distance between the
[0165]
In step S76, when it is determined that there is an obstacle on the plane in the back direction of the
[0166]
On the other hand, if it is determined in step S76 that there is no obstacle on the plane in the back direction of the
[0167]
Here, the determination of whether there is an obstacle in steps S72 and S76 can be performed, for example, as follows. That is, as described above, the distance between the
[0168]
Accordingly, when the
[0169]
On the other hand, an obstacle in the back direction of the
[0170]
FIG. 19 shows a flowchart of the fifth embodiment (fifth distance adjustment process) of the distance adjustment process of the
[0171]
That is, in steps S91 to S95, the same processing as in steps S71 to S75 of FIG. 18 is performed. If it is determined in step S95 that the distance between the
[0172]
In the distance adjustment processing of the
[0173]
As described above, the distance between the
[0174]
In the above-described embodiment, each of the predetermined range R and the threshold value D1 is set in the
[0175]
FIG. 20 shows a main control unit corresponding to FIG. 6 that dynamically changes each of the predetermined range R and threshold D1 that the
[0176]
The action
[0177]
The
[0178]
The magnitude of ambient noise in speech recognition may affect the recognition process. For example, when the distance between the
[0179]
Therefore, the
[0180]
Further, the
[0181]
Then, the
[0182]
In addition, when the
[0183]
Further, when the threshold
[0184]
Further, the
[0185]
Furthermore, the threshold
[0186]
Next, the dynamic determination process of the predetermined range R by the
[0187]
First, in step S111, the
[0188]
In step S112, the
[0189]
In step S113, the
[0190]
In step S114, the threshold
[0191]
In step S114, it is determined that there is no voice input from the
[0192]
On the other hand, in step S114, it is determined that there has been a user's voice input from the
[0193]
In step S115, the magnitude of the sound input from the
[0194]
On the other hand, in step S115, the volume of the sound input from the
[0195]
In step S117, the
[0196]
In step S117, the distance between the
[0197]
On the other hand, in step S117, the distance between the
[0198]
Here, in step S117, the distance between the
[0199]
On the other hand, the distance between the
[0200]
As another countermeasure method when the size of the face image area is not an appropriate amount, there is a method in which the
[0201]
In step S119, the
[0202]
As described above, the distance between the
[0203]
In the above embodiment, output signals from various sensors such as the
[0204]
The threshold value D1 output from the
[0205]
A program for executing the above-described series of processing is applied to a removable recording medium such as a flexible disk, a CD-ROM (Compact Disc Read Only Memory), an MO (Magneto optical) disk, a DVD (Digital Versatile Disc), a magnetic disk, and a semiconductor memory. It can be stored (recorded) temporarily or permanently. Such a removable recording medium can be provided as so-called package software, and is installed in the
[0206]
Further, the program is installed in the
[0207]
In the present specification, the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but is not necessarily performed in chronological order. It also includes processes that are executed individually.
[0208]
The distance between the
[0209]
【The invention's effect】
As described above, according to the present invention, the recognition accuracy of the recognition function of the robot can be improved.
[Brief description of the drawings]
FIG. 1 is a perspective view showing an external configuration of a robot to which the present invention is applied.
FIG. 2 is a rear perspective view showing an external configuration of the robot shown in FIG. 1;
FIG. 3 is a schematic diagram for explaining the robot of FIG. 1;
4 is a block diagram for mainly explaining a portion related to control of the robot of FIG. 1; FIG.
FIG. 5 is a block diagram showing an internal configuration of the robot shown in FIG. 1;
6 is a block diagram showing a configuration of a main control unit in FIG. 5. FIG.
FIG. 7 is a diagram illustrating processing of an ultrasonic sensor.
FIG. 8 is a diagram illustrating a state in which a user is photographed with a reference camera and a detection camera.
FIG. 9 is a diagram for explaining epipolar lines.
FIG. 10 is a diagram illustrating a reference camera image and a detection camera image.
FIG. 11 is a diagram showing transition of evaluation values.
FIG. 12 is a diagram showing a set point / distance table and a parallax / distance table.
13 is a flowchart for explaining robot operation processing of the robot of FIG. 1. FIG.
FIG. 14 is a flowchart for explaining the distance estimation processing in step S4 of FIG.
FIG. 15 is a flowchart illustrating the distance adjustment processing in step S7 of FIG.
16 is a flowchart for explaining the distance adjustment processing in step S7 in FIG. 13;
FIG. 17 is a flowchart illustrating the distance adjustment process in step S7 of FIG.
FIG. 18 is a flowchart illustrating the distance adjustment process in step S7 of FIG.
FIG. 19 is a flowchart illustrating the distance adjustment process in step S7 of FIG.
20 is a block diagram illustrating a configuration of a main control unit in FIG. 5;
FIG. 21 is a flowchart for describing dynamic range determination processing of a threshold setting unit when a predetermined range R is dynamically determined.
[Explanation of symbols]
DESCRIPTION OF
Claims (13)
周囲の状況を撮像し、画像信号を出力する複数の撮像手段と、
音声を入力する音声入力手段と、
超音波パルスを発して前記認識対象から反射する反射波を受信する超音波出力手段と、
前記複数の撮像手段、前記音声入力手段、および前記超音波出力手段の出力結果に基づいて、前記認識対象までの距離を推定する距離推定手段と、
前記距離推定手段により推定された前記距離に基づいて、前記認識対象までの距離を調整する距離調整手段と
を備え、
前記距離推定手段は、前記超音波出力手段の出力結果から推定される距離と前記複数の撮像手段および前記音声入力手段の出力結果から推定される距離との差が大きく、前記超音波出力手段の出力結果から推定される距離が短い場合、前記超音波出力手段が検出した物体は障害物であると判定して、前記超音波出力手段の出力結果を除外して前記認識対象までの距離を推定し、
前記距離調整手段は、障害物があると判定された場合、ユーザが移動するように前記ロボット装置に行動させることにより、前記ユーザまでの距離を調整し、障害物がないと判定された場合、前記ロボット装置を移動させることにより、前記認識対象までの距離を調整する
ことを特徴とするロボット装置。In a robot apparatus having a recognition function for recognizing a predetermined recognition target,
A plurality of imaging means for imaging a surrounding situation and outputting an image signal;
Voice input means for inputting voice;
Ultrasonic output means for emitting an ultrasonic pulse and receiving a reflected wave reflected from the recognition target;
Distance estimation means for estimating a distance to the recognition target based on output results of the plurality of imaging means, the voice input means, and the ultrasonic output means ;
Distance adjusting means for adjusting the distance to the recognition object based on the distance estimated by the distance estimating means;
With
The distance estimation means has a large difference between the distance estimated from the output result of the ultrasonic output means and the distance estimated from the output results of the plurality of imaging means and the voice input means. When the distance estimated from the output result is short, it is determined that the object detected by the ultrasonic output unit is an obstacle, and the output result of the ultrasonic output unit is excluded to estimate the distance to the recognition target And
When it is determined that there is an obstacle, the distance adjustment means adjusts the distance to the user by causing the robot device to act so that the user moves, and when it is determined that there is no obstacle, Adjust the distance to the recognition target by moving the robot device
A robot apparatus characterized by that .
ことを特徴とする請求項1に記載のロボット装置。The robot apparatus according to claim 1, wherein the distance estimation unit estimates a distance to the recognition target by performing stereo processing using image signals output from the plurality of imaging units.
前記距離推定手段は、前記撮像手段が出力する画像信号を用いて、前記ユーザの顔領域を検出し、その顔領域に基づいて、前記ユーザまでの距離を推定する
ことを特徴とする請求項1に記載のロボット装置。 The recognition target recognized by the plurality of imaging units is a user,
The distance estimation unit detects an area of the user's face using an image signal output from the imaging unit, and estimates a distance to the user based on the face area. The robot apparatus as described in.
前記距離推定手段は、前記音声入力手段に入力される前記ユーザが発する音声の大きさに基づいて、前記ユーザまでの距離を推定する
ことを特徴とする請求項1に記載のロボット装置。 The recognition target recognized by the voice input means is a user,
The robot apparatus according to claim 1, wherein the distance estimation unit estimates a distance to the user based on a volume of a voice uttered by the user input to the voice input unit.
前記距離調整手段は、前記ユーザが移動するように、前記音声出力手段に音声を出力させることにより、前記ユーザまでの距離を調整する
ことを特徴とする請求項1に記載のロボット装置。It further comprises audio output means for outputting audio,
The robot apparatus according to claim 1 , wherein the distance adjusting unit adjusts a distance to the user by causing the audio output unit to output a sound so that the user moves.
ことを特徴とする請求項1に記載のロボット装置。The robot apparatus according to claim 1 , wherein the distance adjustment unit adjusts a distance to the user by causing the robot apparatus to perform an operation that prompts the user to move the user.
前記距離調整手段は、前記判定手段の判定結果に基づいて、前記認識対象までの距離を調整する
ことを特徴とする請求項1に記載のロボット装置。A determination unit for determining whether the distance estimated by the distance estimation unit is within a predetermined range;
The robot apparatus according to claim 1, wherein the distance adjustment unit adjusts a distance to the recognition target based on a determination result of the determination unit.
ことを特徴とする請求項7に記載のロボット装置。The robot apparatus according to claim 7 , further comprising range setting means for setting the predetermined range.
ことを特徴とする請求項8に記載のロボット装置。It said range setting means, to claim 8, wherein the measuring the ambient background noise based on the output result of the speech input means, for dynamically setting the predetermined range by the magnitude of the background noise The robot apparatus described.
ことを特徴とする請求項8に記載のロボット装置。 The range setting means acquires an operation state of the robot apparatus, estimates a noise component generated by the robot apparatus itself, and dynamically sets the predetermined range according to the magnitude of the noise component. The robot apparatus according to claim 8 .
周囲の状況を撮像し、画像信号を出力する撮像ステップと、
音声を入力する音声入力ステップと、
超音波パルスを発して前記認識対象から反射する反射波を受信する超音波出力ステップと、
前記撮像ステップ、前記音声入力ステップ、および前記超音波出力ステップの処理結果に基づいて、前記認識対象までの距離を推定する距離推定ステップと、
前記距離推定ステップの処理の結果に基づいて、前記認識対象までの距離を調整する距離調整ステップと
を含み、
前記距離推定ステップの処理は、前記超音波出力ステップの処理結果から推定される距離と前記撮像ステップおよび前記音声入力ステップの処理結果から推定される距離との差が大きく、前記超音波出力ステップの処理結果から推定される距離が短い場合、前記超音波パルスが反射した前記認識対象は障害物であると判定して、前記超音波出力ステップの処理結果を除外して前記認識対象までの距離を推定し、
前記距離調整ステップの処理は、障害物があると判定された場合、ユーザが移動するように前記ロボット装置に行動させることにより、前記ユーザまでの距離を調整し、障害物がないと判定された場合、前記ロボット装置を移動させることにより、前記認識対象までの距離を調整する
ことを特徴とするロボット制御方法。In a robot control method for controlling a robot apparatus having a recognition function for recognizing a predetermined recognition target,
An imaging step of imaging the surrounding situation and outputting an image signal;
A voice input step for inputting voice;
An ultrasonic output step of receiving an reflected wave reflected from the recognition target by emitting an ultrasonic pulse;
A distance estimation step of estimating a distance to the recognition target based on processing results of the imaging step, the voice input step, and the ultrasonic output step ;
A distance adjusting step of adjusting a distance to the recognition target based on a result of the processing of the distance estimating step;
Including
In the processing of the distance estimation step, the difference between the distance estimated from the processing result of the ultrasonic output step and the distance estimated from the processing result of the imaging step and the voice input step is large. When the distance estimated from the processing result is short, it is determined that the recognition target reflected by the ultrasonic pulse is an obstacle, and the distance to the recognition target is determined by excluding the processing result of the ultrasonic output step. Estimate
In the process of the distance adjustment step, when it is determined that there is an obstacle, it is determined that there is no obstacle by adjusting the distance to the user by causing the robot device to act so that the user moves. If the robot apparatus is moved, the distance to the recognition target is adjusted.
Robot control wherein the.
周囲の状況を撮像し、画像信号を出力する撮像ステップと、
音声を入力する音声入力ステップと、
超音波パルスを発して前記認識対象から反射する反射波を受信する超音波出力ステップと、
前記撮像ステップ、前記音声入力ステップ、および前記超音波出力ステップの処理結果に基づいて、前記認識対象までの距離を推定する距離推定ステップと、
前記距離推定ステップの処理の結果に基づいて、前記認識対象までの距離を調整する距離調整ステップと
を含み、
前記距離推定ステップの処理は、前記超音波出力ステップの処理結果から推定される距離と前記撮像ステップおよび前記音声入力ステップの処理結果から推定される距離との差が大きく、前記超音波出力ステップの処理結果から推定される距離が短い場合、前記超音波パルスが反射した前記認識対象は障害物であると判定して、前記超音波出力ステップの処理結果を除外して前記認識対象までの距離を推定し、
前記距離調整ステップの処理は、障害物があると判定された場合、ユーザが移動するように前記ロボット装置に行動させることにより、前記ユーザまでの距離を調整し、障害物がないと判定された場合、前記ロボット装置を移動させることにより、前記認識対象までの距離を調整する
ことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。A program for causing a computer to control a robot apparatus having a recognition function for recognizing a predetermined recognition target,
An imaging step of imaging the surrounding situation and outputting an image signal;
A voice input step for inputting voice;
An ultrasonic output step of receiving an reflected wave reflected from the recognition target by emitting an ultrasonic pulse;
A distance estimation step of estimating a distance to the recognition target based on processing results of the imaging step, the voice input step, and the ultrasonic output step ;
A distance adjusting step of adjusting a distance to the recognition target based on a result of the processing of the distance estimating step;
Including
In the processing of the distance estimation step, the difference between the distance estimated from the processing result of the ultrasonic output step and the distance estimated from the processing result of the imaging step and the voice input step is large. When the distance estimated from the processing result is short, it is determined that the recognition target reflected by the ultrasonic pulse is an obstacle, and the distance to the recognition target is determined by excluding the processing result of the ultrasonic output step. Estimate
In the process of the distance adjustment step, when it is determined that there is an obstacle, it is determined that there is no obstacle by adjusting the distance to the user by causing the robot device to act so that the user moves. If the robot apparatus is moved, the distance to the recognition target is adjusted.
Recording medium having a computer is recorded readable program characterized by.
周囲の状況を撮像し、画像信号を出力する撮像ステップと、
音声を入力する音声入力ステップと、
超音波パルスを発して前記認識対象から反射する反射波を受信する超音波出力ステップ と、
前記撮像ステップ、前記音声入力ステップ、および前記超音波出力ステップの処理結果に基づいて、前記認識対象までの距離を推定する距離推定ステップと、
前記距離推定ステップの処理の結果に基づいて、前記認識対象までの距離を調整する距離調整ステップと
を含み、
前記距離推定ステップの処理は、前記超音波出力ステップの処理結果から推定される距離と前記撮像ステップおよび前記音声入力ステップの処理結果から推定される距離との差が大きく、前記超音波出力ステップの処理結果から推定される距離が短い場合、前記超音波パルスが反射した前記認識対象は障害物であると判定して、前記超音波出力ステップの処理結果を除外して前記認識対象までの距離を推定し、
前記距離調整ステップの処理は、障害物があると判定された場合、ユーザが移動するように前記ロボット装置に行動させることにより、前記ユーザまでの距離を調整し、障害物がないと判定された場合、前記ロボット装置を移動させることにより、前記認識対象までの距離を調整する
処理をコンピュータに実行させることを特徴とするプログラム。In a program for causing a computer to control a robot apparatus having a recognition function to recognize a predetermined recognition target
An imaging step of imaging the surrounding situation and outputting an image signal;
A voice input step for inputting voice;
An ultrasonic output step of receiving an reflected wave reflected from the recognition target by emitting an ultrasonic pulse ;
A distance estimation step of estimating a distance to the recognition target based on processing results of the imaging step, the voice input step, and the ultrasonic output step ;
A distance adjusting step of adjusting a distance to the recognition target based on a result of the processing of the distance estimating step;
Including
In the processing of the distance estimation step, the difference between the distance estimated from the processing result of the ultrasonic output step and the distance estimated from the processing result of the imaging step and the voice input step is large. When the distance estimated from the processing result is short, it is determined that the recognition target reflected by the ultrasonic pulse is an obstacle, and the distance to the recognition target is determined by excluding the processing result of the ultrasonic output step. Estimate
In the process of the distance adjustment step, when it is determined that there is an obstacle, it is determined that there is no obstacle by adjusting the distance to the user by causing the robot device to act so that the user moves. If the robot apparatus is moved, the distance to the recognition target is adjusted.
A program that causes a computer to execute processing .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003019065A JP4131392B2 (en) | 2003-01-28 | 2003-01-28 | Robot apparatus, robot control method, recording medium, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003019065A JP4131392B2 (en) | 2003-01-28 | 2003-01-28 | Robot apparatus, robot control method, recording medium, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004230480A JP2004230480A (en) | 2004-08-19 |
JP4131392B2 true JP4131392B2 (en) | 2008-08-13 |
Family
ID=32949038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003019065A Expired - Fee Related JP4131392B2 (en) | 2003-01-28 | 2003-01-28 | Robot apparatus, robot control method, recording medium, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4131392B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105896664A (en) * | 2016-05-16 | 2016-08-24 | 四川仪岛科技有限公司 | Charging positioning method with automatic charging function |
US20190057687A1 (en) * | 2017-08-18 | 2019-02-21 | Boe Technology Group Co., Ltd. | Device for recognizing speeches and method for speech recognition |
US20210239835A1 (en) * | 2020-02-04 | 2021-08-05 | Hanwha Defense Co., Ltd. | Operating device and method for remote control of arming device |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4564447B2 (en) | 2004-12-14 | 2010-10-20 | 本田技研工業株式会社 | Autonomous mobile robot |
JP4204541B2 (en) | 2004-12-24 | 2009-01-07 | 株式会社東芝 | Interactive robot, interactive robot speech recognition method, and interactive robot speech recognition program |
JP2006185109A (en) * | 2004-12-27 | 2006-07-13 | Hitachi Ltd | Image measurement device and image measurement method |
JP5120745B2 (en) * | 2005-03-10 | 2013-01-16 | 株式会社国際電気通信基礎技術研究所 | Communication robot |
JP2007319938A (en) * | 2006-05-30 | 2007-12-13 | Toyota Motor Corp | Robot device and method of obtaining three-dimensional shape of object |
JP4740889B2 (en) * | 2007-03-06 | 2011-08-03 | 日本電信電話株式会社 | Parameter estimation device, parameter estimation method, program implementing the method, and recording medium recording the program |
JP5075664B2 (en) * | 2008-02-15 | 2012-11-21 | 株式会社東芝 | Spoken dialogue apparatus and support method |
JP5229701B2 (en) * | 2008-03-24 | 2013-07-03 | 株式会社国際電気通信基礎技術研究所 | Robot with tactile sensor |
JP5167548B2 (en) * | 2009-09-01 | 2013-03-21 | 川田工業株式会社 | Suspended collaborative robot |
JP5639832B2 (en) * | 2010-09-30 | 2014-12-10 | 任天堂株式会社 | Information processing program, information processing method, information processing system, and information processing apparatus |
JP5738569B2 (en) * | 2010-10-15 | 2015-06-24 | 任天堂株式会社 | Image processing program, apparatus, system and method |
JP6138861B2 (en) * | 2015-06-25 | 2017-05-31 | 日立オートモティブシステムズ株式会社 | Distance calculation device |
JP6810533B2 (en) * | 2016-04-07 | 2021-01-06 | シャープ株式会社 | Control terminals, robots, control methods for control terminals, and their programs |
CN107696028B (en) * | 2016-08-08 | 2021-11-02 | 新沂阿凡达智能科技有限公司 | Control method and device for intelligent robot and robot |
GB2570584B (en) * | 2016-09-08 | 2021-12-08 | Groove X Inc | Autonomously acting robot that maintains a natural distance |
JP2018202567A (en) * | 2017-06-07 | 2018-12-27 | シャープ株式会社 | Motion control device and method for controlling the same, and robot and control program |
JP2020046478A (en) * | 2018-09-14 | 2020-03-26 | 株式会社フュートレック | Robot system |
JP7273566B2 (en) * | 2019-03-19 | 2023-05-15 | パナソニックホールディングス株式会社 | Robot, robot control method and program |
JP2021021852A (en) * | 2019-07-29 | 2021-02-18 | シャープ株式会社 | Voice recognition device, electronic apparatus, control method and control program |
JP7392377B2 (en) * | 2019-10-10 | 2023-12-06 | 沖電気工業株式会社 | Equipment, information processing methods, programs, information processing systems, and information processing system methods |
-
2003
- 2003-01-28 JP JP2003019065A patent/JP4131392B2/en not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105896664A (en) * | 2016-05-16 | 2016-08-24 | 四川仪岛科技有限公司 | Charging positioning method with automatic charging function |
CN105896664B (en) * | 2016-05-16 | 2019-09-10 | 四川仪岛科技有限公司 | A kind of charging localization method of automatic charging |
US20190057687A1 (en) * | 2017-08-18 | 2019-02-21 | Boe Technology Group Co., Ltd. | Device for recognizing speeches and method for speech recognition |
US10861447B2 (en) * | 2017-08-18 | 2020-12-08 | Boe Technology Group Co., Ltd. | Device for recognizing speeches and method for speech recognition |
US20210239835A1 (en) * | 2020-02-04 | 2021-08-05 | Hanwha Defense Co., Ltd. | Operating device and method for remote control of arming device |
US11859948B2 (en) * | 2020-02-04 | 2024-01-02 | Hanwha Aerospace Co., Ltd. | Operating device and method for remote control of arming device |
Also Published As
Publication number | Publication date |
---|---|
JP2004230480A (en) | 2004-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4131392B2 (en) | Robot apparatus, robot control method, recording medium, and program | |
US7321853B2 (en) | Speech recognition apparatus and speech recognition method | |
JP2008126329A (en) | Voice recognition robot and its control method | |
JP3996015B2 (en) | Posture recognition device and autonomous robot | |
JP4849244B2 (en) | Mobile robot and moving speed estimation method | |
JP2009222969A (en) | Speech recognition robot and control method for speech recognition robot | |
JP2003269917A (en) | Method of measuring distance, instrument therefor, program therefor, recording medium therefor, and distance measuring instrument mounting type robot apparatus | |
JP2008087140A (en) | Speech recognition robot and control method of speech recognition robot | |
JP5411789B2 (en) | Communication robot | |
CN111002303B (en) | Recognition device, robot, recognition method, and storage medium | |
JP2004299033A (en) | Robot device, information processing method, and program | |
JP7120254B2 (en) | Information processing device, information processing method, and program | |
JP7259843B2 (en) | Information processing device, information processing method, and program | |
JP6565853B2 (en) | Communication device | |
JPWO2019087495A1 (en) | Information processing equipment, information processing methods, and programs | |
CN113056315B (en) | Information processing apparatus, information processing method, and program | |
JP4600736B2 (en) | Robot control apparatus and method, recording medium, and program | |
JP4198676B2 (en) | Robot device, robot device movement tracking method, and program | |
JP2005335001A (en) | Robot control device and method, recording medium, and program | |
JP2004283927A (en) | Robot control device, and method, recording medium and program | |
JP2003271196A (en) | Robot system and method for controlling the same | |
JP2007241304A (en) | Device and method for recognizing voice, and program and recording medium therefor | |
JP2022060288A (en) | Control device, robot, control method, and program | |
JP2002222014A (en) | Flight device | |
US11491660B2 (en) | Communication system and method for controlling communication system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060126 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071003 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071024 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071214 |
|
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: 20080502 |
|
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: 20080515 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110606 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110606 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110606 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120606 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |