(57)【特許請求の範囲】
【請求項１】
人間と同じ空間座標系に存在する物品のうち、その人間が指差しかつ視線を向けている物品を、対象物として特定する方法であって、
検索対象である物品毎に名称、属性、位置などの必要な情報を検索辞書に登録しておき、
(a)繰り返しの時間毎に、指差し方向を示す指差し直線と前記検索辞書に登録している各物品との距離を計算し、最短距離を持つ物品を求めることによって指差し方向確信度表を作成し、
(b)繰り返しの時間毎に、視線方向を示す視線直線と前記検索辞書に登録している各物品との距離を計算し、最短距離を持つ物品を求めることによって視線方向確信度表を作成し、そして
(c)前記指差し方向確信度表と前記視線方向確信度表とを同時に参照して対象物を特定する、対象物特定方法。
【請求項２】
前記ステップ(a)は、(a1)繰り返しの時間毎に、指先と顔の中心とを通る第１指差し直線との距離が最小の物品を推定するステップ、および(a2)繰り返しの時間毎に、前記指先と肘とを通る第２指差し直線との距離が最小の物品を推定するステップを含み、
前記ステップ(b)は、(b1)繰り返しの時間毎に、一方の目の視線ベクトルを示す第１視線直線との距離が最小の物品を推定するステップ、および(b2)繰り返しの時間毎に、他方の目の視線ベクトルを示す第２視線直線との距離が最小の物品を推定するステップを含み、
前記ステップ(a)では、前記ステップ(a1)および前記ステップ(a2)の結果に基づいて前記指差し方向確信度表を作成し、
前記ステップ(b)では、前記ステップ(b1)および前記ステップ(b2)の結果に基づいて前記視線方向確信度表を作成する、請求項1記載の対象物特定方法。
【請求項３】
人間と同じ空間座標系に存在する物品のうち、その人間が指差しかつ視線を向けている物品を、対象物として特定する装置であって、
検索対象である物品毎に名称、属性、位置などの必要な情報を登録する検索辞書、
繰り返しの時間毎に、指差し方向を示す指差し直線と前記検索辞書に登録している各物
品との距離を計算し、最短距離を持つ物品を求めることによって指差し方向確信度表を作成する指差し方向確信度表作成手段、
繰り返しの時間毎に、視線方向を示す視線直線と前記検索辞書に登録している各物品との距離を計算し、最短距離を持つ物品を求めることによって視線方向確信度表を作成する視線方向確信度表作成手段、および
前記指差し方向確信度表と前記視線方向確信度表とを同時に参照して対象物を特定する手段を備える、対象物特定装置。
【請求項４】
コミュニケーションロボットであって、
請求項３記載の対象物特定装置、および
前記対象物特定装置で特定した対象物を指示する指示手段を備える、コミュニケーションロボット。
【請求項５】
前記対象物特定装置で特定した対象物を運ぶ手段をさらに備える、請求項４記載のコミュニケーションロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、対象物特定方法および装置に関し、特にたとえばコミュニケーションロボットが人間とコミュニケーションしながら人間が指示した物品または物体（以下、「対象物」という。）を特定してその物品を運搬した移動させたりするために利用される、対象物特定方法および装置ならびにそれを備えるコミュニケーションロボットに関する。
【背景技術】
【０００２】
特許文献１には、人間が指差す方向に存在する対象物を特定する、対象物特定装置が開示されている。この特許文献１に示す装置によれば、人間が指差す対象物を特定することができる
【特許文献１】特開２００７−８００６０号［G06F 3/038 G01C 21/00 G08G 1/0969 G09B 29/00 G09B 29/10］
【発明の開示】
【発明が解決しようとする課題】
【０００３】
特許文献１の技術では、指差し方向だけに基づいて対象物を特定するので、たとえば、人間の指差す方向は正確に対象物に向かっているとは限らず、したがって、間違って対象物を特定する可能性がある。
【０００４】
それゆえに、この発明の主たる目的は、新規な、対象物特定方法および装置を提供することである。
【０００５】
この発明の他の目的は、対象物を正確に特定できる、対象物特定方法および装置を提供することである。
【課題を解決するための手段】
【０００６】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、この発明の理解を助けるために記述する実施形態との対応関係を示したものであって、この発明を何ら限定するものではない。
【０００７】
第１の発明は、人間と同じ空間座標系に存在する物品のうち、その人間が指差しかつ視線を向けている物品を、対象物として特定する方法であって、検索対象である物品毎に名称、属性、位置などの必要な情報を検索辞書に登録しておき、(a)繰り返しの時間毎に、指差し方向を示す指差し直線と検索辞書に登録している各物品との距離を計算し、最短距離を持つ物品を求めることによって指差し方向確信度表を作成し、(b)繰り返しの時間毎に、視線方向を示す視線直線と検索辞書に登録している各物品との距離を計算し、最短距離を持つ物品を求めることによって視線方向確信度表を作成し、そして(c)指差し方向確信度表と視線方向確信度表とを同時に参照して対象物を特定する、対象物特定方法である。
【０００８】
第２の発明は、第１の発明に従属し、ステップ(a)は、(a1)繰り返しの時間毎に、指先と顔の中心とを通る第１指差し直線との距離が最小の物品を推定するステップ、および(a2)繰り返しの時間毎に、指先と肘とを通る第２指差し直線との距離が最小の物品を推定するステップを含み、ステップ(b)は、(b1)繰り返しの時間毎に、一方の目の視線ベクトルを示す第１視線直線との距離が最小の物品を推定するステップ、および(b2)繰り返しの時間毎に、他方の目の視線ベクトルを示す第２視線直線との距離が最小の物品を推定するステップを含み、ステップ(a)では、ステップ(a1)およびステップ(a2)の結果に基づいて指差し方向確信度表を作成し、ステップ(b)では、ステップ(b1)およびステップ(b2)の結果に基づいて視線方向確信度表を作成する、対象物特定方法である。
【０００９】
たとえば、モーションキャプチャによって、第１指差し直線および第２指差し直線を推定し、それらの直線と、人間の近傍の各物品との間の距離を計算することによって各線ごとの各物品に対する「確信度」を評価する。同様に、人間の両目のそれぞれの視線方向直線と各物品との間の距離を計算して、各視線毎の各物品に対する確信度を評価する。
【００１０】
繰り返しの時間毎にこのような確信度を評価し、最も多くの確信度を獲得した物品を対象物として特定する。
【００１１】
第３の発明は、人間と同じ空間座標系に存在する物品のうち、その人間が指差しかつ視線を向けている物品を、対象物として特定する装置であって、検索対象である物品毎に名称、属性、位置などの必要な情報を登録する検索辞書、繰り返しの時間毎に、指差し方向を示す指差し直線と検索辞書に登録している各物品との距離を計算し、最短距離を持つ物品を求めることによって指差し方向確信度表を作成する指差し方向確信度表作成手段、繰り返しの時間毎に、視線方向を示す視線直線と検索辞書に登録している各物品との距離を計算し、最短距離を持つ物品を求めることによって視線方向確信度表を作成する視線方向確信度表作成手段、および指差し方向確信度表と視線方向確信度表とを同時に参照して対象物を特定する手段を備える、対象物特定装置である。
【００１２】
第４の発明は、第３の発明に従った対象物特定装置、および対象物特定装置で特定した対象物を指示する指示手段を備える、コミュニケーションロボットである。
【００１３】
第５の発明は、第４の発明に従属し、対象物特定装置で特定した対象物を運ぶ手段をさらに備える、コミュニケーションロボットである。
【発明の効果】
【００１４】
この発明によれば、人間の視線方向と指差し方向とを同時に参照して対象物を特定するようにしたので、対象物を正確に特定することができる。
【００１５】
この発明の上述の目的、その他の目的、特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００１６】
図１を参照して、この実施例のコミュニケーションロボットシステム１０は、コミュニケーションロボット(以下、単に「ロボット」ということがある。)１２を含む。このロボット１２は、たとえば無線ＬＡＮなどのネットワーク１４にアクセスすることができる。ロボット１２は、人間１６の指示する対象物を特定し、たとえばその対象物を人間１６に持っていくなどの動作を実行する。
【００１７】
人間１６は、その人物が誰であるかを示す無線タグ１８を装着しているとともに、図示しないが、モーションキャプチャのためのマーカが付着されている。マーカは、典型的には、人間の頭頂、両肩、両肘、両手の人差し指の先端などに設定されていて、それらのマーカが、人間１６の全体とともに、サーバ２０に制御されるカメラ２２によって撮影される。カメラ２２は、実施例では、３つ設けられ、人間１６を３方向から撮影し、そのカメラ映像をサーバ２０に供給する。
【００１８】
サーバ２０は無線ＬＡＮのようなネットワーク１４に結合され、上述のようにして入力されるカメラ映像データに基づいて、マーカの動きを検出するモーションキャプチャ処理を実行するとともに、たとえば肌色領域を検出することによって、人間１６の顔の位置を特定することができる。
【００１９】
このシステム１０では、上述のように、ロボット１２が人間１６の指示する物品を対象物として特定するものである。対象物となり得る物品の例として、この実施例では、本（書籍）を用いる。本２４には、その本がどのような本であるかを示す無線タグ１８が付着されている。本２４は本棚２６に収納される。
【００２０】
ただし、対象物となり得る物品は実施例の書籍だけでなく、もし家庭用のシステムであれば、家庭内のあらゆる物品が考えられる。また、当然、家庭用としてだけではなく、人間と一緒に働く任意の場所（会社、事務所、工場など）での利用が考えられる。
【００２１】
そして、このコミュニケーションロボットシステム１０が対象とするすべての物品は、サーバ２０に付設された物品辞書２８に登録される。物品辞書２８については後述する。
【００２２】
なお、図１では、簡単のため、１台のロボット１２を示してあるが、２台以上であってよい。また、人間は１人に限定される必要はなく、無線タグ１８で識別できるので、複数であってよい。
【００２３】
また、図１に示す実施例では、このシステム１０を設置している空間のワールド座標を用いてロボット１２、人間１６、物品２４などの位置が表現されていて、他方、ロボット１２の制御はロボット座標で行なわれるので、詳細は説明しないが、ロボット１２は、後述の処理における必要に応じて、ロボット座標とワールド座標との間の座標変換処理を実行するものである。
【００２４】
図２を参照して、ロボット１２のハードウェアの構成について説明する。また、図２はこの実施例のロボット１２の外観を示す正面図である。ロボット１２は台車３０を含み、台車３０の下面にはロボット１２を自律移動させる２つの車輪３２および１つの従輪３４が設けられる。２つの車輪３２は車輪モータ３６（図３参照）によってそれぞれ独立に駆動され、台車３０すなわちロボット１２を前後左右の任意方向に動かすことができる。また、従輪３４は車輪３２を補助する補助輪である。したがって、ロボット１２は、配置された空間内を自律制御によって移動可能である。
【００２５】
台車３０の上には、円柱形のセンサ取り付けパネル３８が設けられ、このセンサ取り付けパネル３８には、多数の赤外線距離センサ４０が取り付けられる。これらの赤外線距離センサ４０は、センサ取り付けパネル３８すなわちロボット１２の周囲の物体（人間や障害物など）との距離を測定するものである。
【００２６】
なお、この実施例では、距離センサとして、赤外線距離センサを用いるようにしてあるが、赤外線距離センサに代えて、超音波距離センサやミリ波レーダなどを用いることもできる。
【００２７】
センサ取り付けパネル３８の上には、胴体４２が直立するように設けられる。また、胴体４２の前方中央上部（人の胸に相当する位置）には、上述した赤外線距離センサ４０がさらに設けられ、ロボット１２の前方の主として人間との距離を計測する。また、胴体４２には、その側面側上端部のほぼ中央から伸びる支柱４４が設けられ、支柱４４の上には、全方位カメラ４６が設けられる。全方位カメラ４６は、ロボット１２の周囲を撮影するものであり、後述する眼カメラ７０とは区別される。この全方位カメラ４６としては、たとえばＣＣＤやＣＭＯＳのような固体撮像素子を用いるカメラを採用することができる。なお、これら赤外線距離センサ４０および全方位カメラ４６の設置位置は、当該部位に限定されず適宜変更され得る。
【００２８】
胴体４２の両側面上端部（人の肩に相当する位置）には、それぞれ、肩関節４８Ｒおよび肩関節４８Ｌによって、上腕５０Ｒおよび上腕５０Ｌが設けられる。図示は省略するが、肩関節４８Ｒおよび肩関節４８Ｌは、それぞれ、直交する３軸の自由度を有する。すなわち、肩関節４８Ｒは、直交する３軸のそれぞれの軸廻りにおいて上腕５０Ｒの角度を制御できる。肩関節４８Ｒの或る軸（ヨー軸）は、上腕５０Ｒの長手方向（または軸）に平行な軸であり、他の２軸（ピッチ軸およびロール軸）は、その軸にそれぞれ異なる方向から直交する軸である。同様にして、肩関節４８Ｌは、直交する３軸のそれぞれの軸廻りにおいて上腕５０Ｌの角度を制御できる。肩関節４８Ｌの或る軸（ヨー軸）は、上腕５０Ｌの長手方向（または軸）に平行な軸であり、他の２軸（ピッチ軸およびロール軸）は、その軸にそれぞれ異なる方向から直交する軸である。
【００２９】
また、上腕５０Ｒおよび上腕５０Ｌのそれぞれの先端には、肘関節５２Ｒおよび肘関節５２Ｌが設けられる。図示は省略するが、肘関節５２Ｒおよび肘関節５２Ｌは、それぞれ１軸の自由度を有し、この軸（ピッチ軸）の軸回りにおいて前腕５４Ｒおよび前腕５４Ｌの角度を制御できる。
【００３０】
前腕５４Ｒおよび前腕５４Ｌのそれぞれの先端には、人の手に相当するハンド５６Ｒおよびハンド５６Ｌがそれぞれ設けられる。これらのハンド５６Ｒおよび５６Ｌは、詳細な図示は省略するが、開閉可能に構成され、それによってロボット１２は、ハンド５６Ｒおよび５６Ｌを用いて物体を把持または挟持することができる。ただし、ハンド５６Ｒ，５６Ｌの形状は実施例の形状に限らず、人間の手に酷似した形状や機能を持たせるようにしてもよい。
【００３１】
また、図示は省略するが、台車３０の前面，肩関節４８Ｒと肩関節４８Ｌとを含む肩に相当する部位，上腕５０Ｒ，上腕５０Ｌ，前腕５４Ｒ，前腕５４Ｌ，球体５６Ｒおよび球体５６Ｌには、それぞれ、接触センサ５８（図３で包括的に示す）が設けられる。台車３０の前面の接触センサ５８は、台車３０への人間や他の障害物の接触を検知する。したがって、ロボット１２は、その自身の移動中に障害物との接触が有ると、それを検知し、直ちに車輪３２の駆動を停止してロボット１２の移動を急停止させることができる。また、その他の接触センサ５８は、当該各部位に触れたかどうかを検知する。なお、接触センサ５８の設置位置は、当該部位に限定されず、適宜な位置（人の胸，腹，脇，背中および腰に相当する位置）に設けられてもよい。
【００３２】
胴体４２の中央上部（人の首に相当する位置）には首関節６０が設けられ、さらにその上には頭部６２が設けられる。図示は省略するが、首関節６０は、３軸の自由度を有し、３軸の各軸廻りに角度制御可能である。或る軸（ヨー軸）はロボット１２の真上（鉛直上向き）に向かう軸であり、他の２軸（ピッチ軸、ロール軸）は、それぞれ、それと異なる方向で直交する軸である。
【００３３】
頭部６２には、人の口に相当する位置に、スピーカ６４が設けられる。スピーカ６４は、ロボット１２が、それの周辺の人間に対して音声ないし音によってコミュニケーションを取るために用いられる。また、人の耳に相当する位置には、マイク６６Ｒおよびマイク６６Ｌが設けられる。以下、右のマイク６６Ｒと左のマイク６６Ｌとをまとめてマイク６６ということがある。マイク６６は、周囲の音、とりわけコミュニケーションを実行する対象である人間の音声を取り込む。さらに、人の目に相当する位置には、眼球部６８Ｒおよび眼球部６８Ｌが設けられる。眼球部６８Ｒおよび眼球部６８Ｌは、それぞれ眼カメラ７０Ｒおよび眼カメラ７０Ｌを含む。以下、右の眼球部６８Ｒと左の眼球部６８Ｌとをまとめて眼球部６８ということがある。また、右の眼カメラ７０Ｒと左の眼カメラ７０Ｌとをまとめて眼カメラ７０ということがある。
【００３４】
眼カメラ７０は、ロボット１２に接近した人間の顔や他の部分ないし物体などを撮影して、それに対応する映像信号を取り込む。この実施例では、ロボット１２は、この眼カメラ７０からの映像信号によって、人間１６の左右両目のそれぞれの視線方向（ベクトル）を検出する。その視線検出方法は具体的には、２つのカメラを用いるものとして特開２００４‐２５５０７４号公報に、１つのカメラを用いるものとして特開２００６‐１７２２０９号公報や特開２００６‐２８５５３１号公報開示されるが、ここではその詳細は重要ではないので、これらの公開公報を引用するにとどめる。
【００３５】
ただし、人間１６の視線ベクトルの検出のためには、よく知られているアイマークレコーダなどが利用されてもよい。
【００３６】
また、眼カメラ７０は、上述した全方位カメラ４６と同様のカメラを用いることができる。たとえば、眼カメラ７０は、眼球部６８内に固定され、眼球部６８は、眼球支持部（図示せず）を介して頭部６２内の所定位置に取り付けられる。図示は省略するが、眼球支持部は、２軸の自由度を有し、それらの各軸廻りに角度制御可能である。たとえば、この２軸の一方は、頭部６２の上に向かう方向の軸（ヨー軸）であり、他方は、一方の軸に直交しかつ頭部６２の正面側（顔）が向く方向に直行する方向の軸（ピッチ軸）である。眼球支持部がこの２軸の各軸廻りに回転されることによって、眼球部６８ないし眼カメラ７０の先端（正面）側が変位され、カメラ軸すなわち視線方向が移動される。なお、上述のスピーカ６４，マイク６６および眼カメラ７０の設置位置は、当該部位に限定されず、適宜な位置に設けられてよい。
【００３７】
このように、この実施例のロボット１２は、車輪３２の独立２軸駆動，肩関節４８の３自由度（左右で６自由度），肘関節５２の１自由度（左右で２自由度），首関節６０の３自由度および眼球支持部の２自由度（左右で４自由度）の合計１７自由度を有する。
【００３８】
図３はロボット１２の電気的な構成を示すブロック図である。この図３を参照して、ロボット１２は、ＣＰＵ８０を含む。ＣＰＵ８０は、マイクロコンピュータ或いはプロセッサとも呼ばれ、バス８２を介して、メモリ８４，モータ制御ボード８６，センサ入力／出力ボード８８および音声入力／出力ボード９０に接続される。
【００３９】
メモリ８４は、図示は省略をするが、ＲＯＭ，ＨＤＤおよびＲＡＭを含む。ＲＯＭおよびＨＤＤには、ロボット１２の動作を制御するための制御プログラムが予め記憶される。たとえば、各センサの出力（センサ情報）を検知するための検知プログラムや、外部コンピュータ（中央制御装置１４および操作端末１６など）との間で必要なデータやコマンドを送受信するための通信プログラムなどが記録される。また、ＲＡＭは、ワークメモリやバッファメモリとして用いられる。
【００４０】
さらに、この実施例では、ロボット１２は、人間１６とのコミュニケーションをとるために発話したり、ジェスチャできるように構成されているが、メモリ８４に、このような発話やジェスチャのための発話／ジェスチャ辞書８５Ａが設定されている。
【００４１】
また、メモリ８４には検索辞書８５Ｂが設定されているが、この検索辞書８５Ｂは、ロボット１２が人間１６の指示する物品（実施例では本。）を対象物として特定するために、当該人間の近傍に存在する物品（本）だけを物品辞書２８から抜き出して登録する辞書で、人間１６の位置の変化に応じて、動的に書き換えられるものである。
【００４２】
モータ制御ボード８６は、たとえばＤＳＰで構成され、各腕や首関節および眼球部などの各軸モータの駆動を制御する。すなわち、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、右眼球部６８Ｒの２軸のそれぞれの角度を制御する２つのモータ（図３では、まとめて「右眼球モータ９２」と示す）の回転角度を制御する。同様にして、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、左眼球部６８Ｌの２軸のそれぞれの角度を制御する２つのモータ（図３では、まとめて「左眼球モータ９４」と示す）の回転角度を制御する。
【００４３】
また、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、肩関節４８Ｒの直交する３軸のそれぞれの角度を制御する３つのモータと肘関節５２Ｒの角度を制御する１つのモータとの計４つのモータ（図３では、まとめて「右腕モータ９６」と示す）の回転角度を制御する。同様にして、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、肩関節４８Ｌの直交する３軸のそれぞれの角度を制御する３つのモータと肘関節５２Ｌの角度を制御する１つのモータとの計４つのモータ（図３では、まとめて「左腕モータ９８」と示す）の回転角度を制御する。
【００４４】
さらに、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、首関節６０の直交する３軸のそれぞれの角度を制御する３つのモータ（図３では、まとめて「頭部モータ１００」と示す）の回転角度を制御する。そして、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、車輪３２を駆動する２つのモータ（図３では、まとめて「車輪モータ３６」と示す）の回転角度を制御する。
【００４５】
モータ制御ボード８６にはさらにハンドアクチュエータ１０８が結合され、モータ制御ボード８６は、ＣＰＵ８０からの制御データを受け、ハンド５６Ｒ，５６Ｌの開閉を制御する。
【００４６】
なお、この実施例では、車輪モータ３６を除くモータは、制御を簡素化するためにステッピングモータ（すなわち、パルスモータ）を用いる。ただし、車輪モータ３６と同様に直流モータを用いるようにしてもよい。また、ロボット１２の身体部位を駆動するアクチュエータは、電流を動力源とするモータに限らず適宜変更された、たとえば、他の実施例では、エアアクチュエータが適用されてもよい。
【００４７】
センサ入力／出力ボード８８は、モータ制御ボード８６と同様に、ＤＳＰで構成され、各センサからの信号を取り込んでＣＰＵ８０に与える。すなわち、赤外線距離センサ４０のそれぞれからの反射時間に関するデータがこのセンサ入力／出力ボード８８を通じてＣＰＵ８０に入力される。また、全方位カメラ４６からの映像信号が、必要に応じてセンサ入力／出力ボード８８で所定の処理を施してからＣＰＵ８０に入力される。眼カメラ７０からの映像信号も、同様にして、ＣＰＵ８０に入力される。また、上述した複数の接触センサ５８（図３では、まとめて「接触センサ５８」と示す）からの信号がセンサ入力／出力ボード８８を介してＣＰＵ８０に与えられる。音声入力／出力ボード９０もまた、同様に、ＤＳＰで構成され、ＣＰＵ８０から与えられる音声合成データに従った音声または声がスピーカ６４から出力される。また、マイク６６からの音声入力が、音声入力／出力ボード９０を介してＣＰＵ８０に与えられる。
【００４８】
また、ＣＰＵ８０は、バス８２を介して通信ＬＡＮボード１０２に接続される。通信ＬＡＮボード１０２は、たとえばＤＳＰで構成され、ＣＰＵ８０から与えられた送信データを無線通信装置１０４に与え、無線通信装置１０４は送信データを、ネットワーク１４を介してサーバ２０に送信する。また、通信ＬＡＮボード１０２は、無線通信装置１０４を介してデータを受信し、受信したデータをＣＰＵ８０に与える。たとえば、送信データとしては、ロボット１２からサーバ２０への信号（コマンド）であったり、ロボット１２が行ったコミュニケーションについての動作履歴情報（履歴データ）などであったりする。このように、コマンドのみならず履歴データを送信するのは、メモリ８４の容量を少なくするためと、消費電力を抑えるためである。この実施例では、履歴データはコミュニケーションが実行される度に、サーバ２０に送信されたが、一定時間または一定量の単位でサーバ２０に送信されるようにしてもよい。
【００４９】
さらに、ＣＰＵ８０は、バス８２を介して無線タグ読取装置１０６が接続される。無線タグ読取装置１０６は、アンテナ（図示せず）を介して、無線タグ１８（ＲＦＩＤタグ）から送信される識別情報の重畳された電波を受信する。そして、無線タグ読取装置１０６は、受信した電波信号を増幅し、当該電波信号から識別信号を分離し、当該識別情報を復調（デコード）してＣＰＵ８０に与える。図１によれば無線タグ１８は、ロボット１２が配置された会社の受付や一般家庭の居間などに居る人間１６に装着され、無線タグ読取装置１０６は、通信可能範囲内の無線タグ１８を検出する。なお、無線タグ１８は、アクティブ型であってもよいし、無線タグ読取装置１０６から送信される電波に応じて駆動されるパッシブ型であってもよい。
【００５０】
次に、図４を参照して物品辞書２８を説明する。この図４に示す物品辞書２８は、たとえばユーコード（Ucode）のようなＩＤをそれぞれの物品の１つに割り当て、物品毎にその名称、属性、位置(座標)などの必要な情報を文字列として登録している。なお、ユーコードは、具体的には、１２８ビットの数字からなり、３４０兆の１兆倍のさらに１兆倍の数の物品を個別に識別できるものである。ただし、この物品辞書２８に使うＩＤは必ずしもこのようなユーコードである必要はなく、適宜の数字や記号の組み合わせからなるものであってよい。
【００５１】
このような物品辞書２８は、ロボットが識別すべき対象物となるすべての、たとえば家庭内の物品をＩＤと文字列とで登録するものであり、いわばグローバル辞書に相当する。
【００５２】
ロボット１２が人間１６とのコミュニケーションに従って対象物を特定する場合には、ロボット１２は、人間１６の近傍（人間１６から所定距離範囲内）に存在する物品についてのみ登録した、図５に例示する検索辞書８５Ｂを作成する。この検索辞書８５Ｂは、上述のように人間１６からの所定距離範囲内にある物品についてだけ登録するものであるため、いわばローカル辞書として機能する。人間１６の位置の変化に応じてその近傍に存在する物品にも変化を生じるため、この検索辞書８５Ｂは動的に書き換えられると考えられる。この物品辞書８５Ｂの登録内容は、物品辞書２８から抽出したものであってよい。
【００５３】
次に、図１に示す実施例におけるロボット１２の動作について、図６に示すフロー図を参照して説明する。
【００５４】
図６の最初のステップＳ１において、ロボット１２のＣＰＵ８０（図３）は、同じく図３に例示するセンサ入力／出力ボード８８からのセンサ入力に従って、人間１６（図１）を認識したかどうか判断する。具体的には、たとえば赤外線センサ４０で人体を検知し、そのとき無線タグ読取装置１０６でユーザ１６が装着している無線タグ１８を認識したとき、人間（ユーザ）１６を認識したと判断する。
【００５５】
そして、ステップＳ１でユーザ（人間１６）を認識すると、次のステップＳ３で、ロボット１２のＣＰＵ８０は、先に説明したように、ユーザ１６から所定距離範囲内にある物品、図１の例では本２４を個別に示すＩＤと文字列とを含む検索辞書８５Ｂを、物品辞書２８から内容を抽出することによって、メモリ８４内に作成する。
【００５６】
次のステップＳ５において、ＣＰＵ８０は、メモリ８４内に設定している発話／ジェスチャ辞書８５Ａを用いて、スピーカ６４から、たとえば、「何か本を持って来ましょうか？」のような発話を行なわせる。その後、ユーザがたとえば「持ってきて」のような発話をしたとすると、ステップＳ７において、ＣＰＵ８０がユーザの指示を確認し、“ＹＥＳ”を判断する。このとき、ユーザ１６は、「持ってきて」と発話するとともに、該当の本を指差すことによって、どの本を持ってきてほしいかを指示するものとする。
【００５７】
ステップＳ７でユーザの指示を確認すると、次のステップＳ９において、ＣＰＵ８０は、メモリ８４内に設定したカウンタ８５Ｃをインクリメントする。初期状態ではカウンタに「１」を設定する。このカウンタ８５Ｃは、ユーザ１６の近傍に存在する物品の数をカウントするもので、検索辞書８５Ｂ（図５）のポインタとして機能する。したがって、カウンタ８５Ｃのカウント値によって、検索辞書８５Ｂ内において、異なる物品を指定する。カウンタ８５Ｃのカウント値が、検索辞書８５Ｂ内にリストアップしている物品の数「ｎ」に等しくなるまで、以下の動作が各物品について、実行されるものと理解されたい。
【００５８】
ステップＳ９に続いて、ＣＰＵ８０は、ユーザ（人間１６）の視線を推定してそれの確信度を求める動作と、指差し方向を推定してそれの確信度を求める動作とを並行して実行するが、ここでは便宜上、まず視線を推定し次いで指差し方向を推定する順序で説明する。
【００５９】
図６のステップＳ９‐ステップＳ２３の動作は、ステップＳ５での発話時間Ｔ内に一定の繰り返しの時間（ｔ１，ｔ２，ｔ３，…，ｔｎ）毎に実行されるが、実施例では、５０Ｈｚ（１秒間に５０回）で実行されるものとし、時間Ｔが０．５‐１秒と設定した。
【００６０】
ステップＳ１１では、ＣＰＵ８０は、たとえば眼カメラ７０からのカメラ映像を処理することによって、先に挙げた公開公報に記載したいずれかの方法に従って、ユーザ１６の左右のそれぞれの眼の視線ベクトルを推定する。この左右それぞれの眼の視線方向は図７において直線Ｌ１およびＬ２で示される。このようにして、各視線Ｌ１およびＬ２を推定した後、ＣＰＵ８０は、次のステップＳ１３において、カウンタ８５Ｃがそのとき検索辞書８５Ｂ内で指定している物品と、各視線Ｌ１およびＬ２との距離を計算する。
【００６１】
指差し方向を推定するためには、ステップＳ１７において、まず、ＣＰＵ８０は、人間１６が指差し動作をした腕を特定する。具体的には、モーションキャプチャのデータを参照して、たとえば、人間１６の指先と肩の高さとの差が小さい側の腕を指差し腕として推定する。なぜなら、指差し動作をする場合には、腕を持ち上げる動作をまずするであろうからである。このようにして、ステップＳ１７でどちらの腕を用いて指差し動作をするかを推定した後、ＣＰＵ８０は、次のステップＳ１９において、指差し方向を推定する。
【００６２】
この実施例では、図７に示すように、指差し腕の指先と顔の中心（重心）とを通る直線Ｌ３、および指差し腕の指先とその腕の肘とを通る直線Ｌ４を想定する。そして、モーションキャプチャのデータを参照して、その直線Ｌ３およびＬ４を推定する。次のステップＳ２１において、各直線Ｌ３およびＬ４と各物品との間の距離を計算する。
【００６３】
上述のステップＳ１１‐Ｓ１３およびＳ１７‐Ｓ２１は、発話時間Ｔ内の各繰返し時間毎に行われる。そして、各繰返しの時間（ｔ１，ｔ２，ｔ３，．．．，ｔｎ）毎に、線Ｌ１，Ｌ２，Ｌ３，およびＬ４との距離が最小になる物品を求める。各線において、最小になった物品に対して高い確信度（図８でいえば「○」印）を付与する。このようにして、たとえば図８に示すような確信度表を作成する。
【００６４】
このように直線毎に最短距離を持つ物品を算出することによって確信度表を作成するようにすれば、１つの物品について２以上の直線について確信度（○）が付与されることがある。このことによって、後にステップＳ２５で説明するような物品リストを作成することができるのである。
【００６５】
この図８の確信度表において、視線Ｌ１およびＬ２のそれぞれについて評価される確信度は「視線確信度」ということができ、指差し方向線Ｌ３およびＬ４のそれぞれについて評価される確信度が「指差し方向確信度」であるということができる。
【００６６】
図８に示す例で説明すると、「１２３…０００００１」のＩＤを持つ物品、実施例でいえば図１に示す「地球温暖化」という名称の本についていえば、時間ｔ１に一方の視線Ｌ２とこの本との間の距離が最小になったものの、その他の時間区間ではどの線も当該本に最接近することはなかったと判断できる。次の、「１２３…００００３５」のＩＤを持つ物品、実施例でいえば図１に示す「カメラ」という名称の雑誌についていえば、時間ｔ１を除いて、各時間にどれかの線がこの物品に再接近したことがわかる。このようにして、図８に示す確信度表がステップＳ１３およびＳ２１で作成される。
【００６７】
ステップＳ２５においてＣＰＵ８０は、図８に示す確信度表を参照して、そのとき人間１６（ユーザ）が指示したと考える対象物を特定する。具体的には、確信度評価（図８で言えば丸印）が単に多い順や、繰返し時間で視線（Ｌ１またはＬ２）と指差し(Ｌ３またはＬ４)の両方に○が入っている回数が多い順などに従って、物品リストを作成し、その最上位のものをまず対象物として特定する。このことによって、確信度評価の多様性が得られる。
【００６８】
この確信度評価について、たとえば、図８に示す例で説明すると、「１２３…０００００１」のＩＤを持つ「地球温暖化」という名称の本についていえば、確信度評価は「１」（１つの○印が付与された。）であり、「１２３…００００３５」のＩＤを持つ「カメラ」という雑誌の確信度は「３」ということになる。したがって、この場合には、物品リストには、ＩＤ「１２３…００００３５」、ＩＤ「１２３…０００００１」の順で登録される。そのため、まず、雑誌「カメラ」（ＩＤ「１２３…００００３５」）が対象物として特定される。
【００６９】
ただし、確信度（○印）の数が同じ場合であるとか、確信度（○印）の数が所定の閾値より小さい場合など、判断に迷う場合には、たとえば、図８に示す各繰り返しの時間の全区間の半分以上で確信度が付与されているような物品を対象物として特定すればよい。
【００７０】
ステップＳ２５で対象物を特定した後、ＣＰＵ８０は、次のステップＳ２７において、Ｓ２５で特定した対象物を示すように、発話／ジェスチャ辞書８５Ａを参照して、発話および指差し動作を行う。対象物を「カメラ」というタイトルの雑誌であると特定した場合、このステップＳ２７では、図１において右から３番目に置かれている本を指差しジェスチャで示すとともに、たとえば「カメラという白色の雑誌ですね」のような発話を行う。
【００７１】
その後、ＣＰＵ８０は、マイク６６を通して入力されたユーザ（人間１６）の声を音声認識処理する。そして、ステップＳ３１で、そのときユーザが、ロボット１２が特定した対象物を肯定したのか否定したのかを判断し、否定したときには、次のステップＳ３３に進み、ステップＳ２５で物品リストに未特定の物品がまだ残っているかどうかを判断する。このステップＳ３３で“ＹＥＳ”と判断したときにはステップＳ２５に戻って処理を繰り返すが、“ＮＯ”と判断したときには、対象物が特定できなかったものとして処理を終了する。
【００７２】
ステップＳ３１でユーザ１６の肯定的な音声を認識した場合、ロボット１２は、該当する対象物の方向に移動し、該当する対象物を把持してユーザ１６の位置に運ぶ。つまり、対象物が存在する位置の座標が既にわかっているので、ロボット１２のＣＰＵ８０は、車輪モータ３６を制御して、ロボット１２をその対象物の位置に移動させ、次いでアクチュエータ１０８（図３）を制御することによってハンド５６Ｒ（または５６Ｌ）開閉して対象物をハンド５６Ｒ（または５６Ｌ：図２）で把持させ、その状態で再び車輪モータ３６を制御してロボット１２をユーザ１６の位置にまで移動させる。このようにして、ステップＳ３５で、ロボット１２がステップＳ２５で特定した対象物をユーザ１６に運ぶことができる。
【００７３】
このように、上述の実施例では、視線Ｌ１およびＬ２ならびに指差し方向線Ｌ３およびＬ４を推定して各物品に対する距離を計算した上で、確信度に基づいて判断するようにしたので、人間の指示が曖昧であったり、時間ごとに変動するような場合であっても、かなり正確に対象物を特定することができる。
【００７４】
ただし、たとえば、ユーザの視線Ｌ１およびＬ２がロボット１２に向けられていて、明らかに対象物には向けられていないと推定できる場合には、視線Ｌ１およびＬ２について推定することなく、指差し方向直線Ｌ３およびＬ４だけを推定するようにしてもよい。
【００７５】
また、上述の実施例において個々の説明は省略したが、各線Ｌ１-Ｌ４を定義したり、物品や人間の位置を特定したり、各線と各物品の間の距離を計算したりするためには、全てワールド座標系の座標を用いるようにしている。したがって、ロボット１２は必要な場合には、ロボット座標系との間で座標変換を実行する。
【００７６】
さらに、この発明の対象物特定方法および装置をコミュニケーションロボットシステムに適用した実施例について説明したが、コミュニケーションロボット以外の用途にも適用できるのはいうまでもない。
【図面の簡単な説明】
【００７７】
【図１】図１はこの発明の一実施例を示すコミュニケーションロボットシステムの概要を示す図解図である。
【図２】図２は図１に示すロボットの外観を正面から見た図解図である。
【図３】図３は図１に示すロボットの電気的な構成を示すブロック図である。
【図４】図４は図１の実施例で用いられる物品辞書の一例を示す図解図である。
【図５】図５は図１の実施例で用いられる検索辞書の一例を示す図解図である。
【図６】図６は図１の実施例におけるロボットの動作を示すフロー図である。
【図７】図７はユーザ（人間）の視線および指差し方向を示す図解図である。
【図８】図８は図６の実施例で用いる確信度表の一例を示す図解図である。
【符号の説明】
【００７８】
１０  …コミュニケーションロボットシステム
１２  …コミュニケーションロボット
１４  …ネットワーク
１８  …無線タグ
２０  …サーバ
２２  …カメラ
２４  …物品（本）
８０  …ＣＰＵ
【図１】
0005145569.tif 000002
【図２】
0005145569.tif 000003
【図３】
0005145569.tif 000004
【図４】
0005145569.tif 000005
【図５】
0005145569.tif 000006
【図６】
0005145569.tif 000007
【図７】
0005145569.tif 000008
【図８】
0005145569.tif 000009