JP6468643B2 - コミュニケーションシステム、確認行動決定装置、確認行動決定プログラムおよび確認行動決定方法 - Google Patents

コミュニケーションシステム、確認行動決定装置、確認行動決定プログラムおよび確認行動決定方法 Download PDF

Info

Publication number
JP6468643B2
JP6468643B2 JP2015046319A JP2015046319A JP6468643B2 JP 6468643 B2 JP6468643 B2 JP 6468643B2 JP 2015046319 A JP2015046319 A JP 2015046319A JP 2015046319 A JP2015046319 A JP 2015046319A JP 6468643 B2 JP6468643 B2 JP 6468643B2
Authority
JP
Japan
Prior art keywords
article
pointing
specified
robot
range
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.)
Active
Application number
JP2015046319A
Other languages
English (en)
Other versions
JP2016166952A (ja
Inventor
尊優 飯尾
尊優 飯尾
昌裕 塩見
昌裕 塩見
萩田 紀博
紀博 萩田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ATR Advanced Telecommunications Research Institute International
Original Assignee
ATR Advanced Telecommunications Research Institute International
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ATR Advanced Telecommunications Research Institute International filed Critical ATR Advanced Telecommunications Research Institute International
Priority to JP2015046319A priority Critical patent/JP6468643B2/ja
Publication of JP2016166952A publication Critical patent/JP2016166952A/ja
Application granted granted Critical
Publication of JP6468643B2 publication Critical patent/JP6468643B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明はコミュニケーションシステム、確認行動決定装置、確認行動決定プログラムおよび確認行動決定方法に関し、特にたとえば、音声認識によって人間が指示する物品を特定し、当該特定した物品が当該人間の指示したものであるかどうかを少なくとも音声によって確認する、コミュニケーションシステム、確認行動決定装置、確認行動決定プログラムおよび確認行動決定方法に関する。
この種の従来のコミュニケーションシステムの一例が特許文献1に開示されている。この特許文献1に開示されるコミュニケーションシステムでは、ロボットがユーザに指示された物品を特定し、サーバがロボットからの要求に応じて、特定した物品を確認するための指差し動作および発話内容を生成し、当該ロボットに生成した指差し動作および発話内容を送信する。したがって、ロボットは、サーバから指示された指差し動作を実行するとともに、サーバから指示された発話内容を発話(音声出力)する。
特開2013−114107号[G10L 15/22, G10L 13/00,G06F 3/16]
しかし、特許文献1のコミュニケーションシステムでは、特定した物品の周辺の状況に拘わらず指差し動作を必ず実行するため、たとえば、特定した物品の近傍に複数の他の物品が存在する状況においては、どの物品を指示しているのか分かり難くいことがあり、ロボットによる指差し動作が、人間が物品を特定するための情報として機能していない場合があった。
それゆえに、この発明の主たる目的は、新規な、コミュニケーションシステム、確認行動決定装置、確認行動決定プログラムおよび確認行動決定方法を提供することである。
また、この発明の他の目的は、有効な確認動作をコミュニケーションロボットに実行させることができる、コミュニケーションシステム、確認行動決定装置、確認行動決定プログラムおよび確認行動決定方法を提供することである。
第1の発明は、音声認識によって人間が指示する物品を特定し、当該特定した物品が当該人間の指示したものであるかを少なくとも音声にて確認するコミュニケーションロボットを備えるコミュニケーションシステムである。コミュニケーションシステムは、記憶手段、発話内容生成手段、顔向き動作生成手段、指差し実行判断手段、および指差し動作生成手段を備える。記憶手段は、物品の名称および当該物品に関連する複数の単語を記憶する。発話内容生成手段は、特定した物品に関連する複数の単語を記憶手段から読み出して、当該特定した物品を音声にて確認する際の発話内容を生成する。顔向き動作生成手段は、特定した物品をコミュニケーションロボットの顔の向きで指示させる顔向け動作を生成する。指差し実行判断手段は、少なくとも、特定した物品を含み、当該特定した物品を顔の向きで指示可能な第1範囲に他の物品が存在するかどうかに応じて、コミュニケーションロボットに指差しで指示させる指差し動作を実行させるかどうかを判断する。そして、指差し動作生成手段は、指差し実行判断手段によって指差し動作を実行させることが判断された場合に、当該指差し動作を生成する。
第1の発明によれば、特定した物品の周辺に存在する他の物品を考慮して指差し動作をコミュニケーションロボットに実行させるかどうかを決定するので、指差し動作を、人間が物品を特定するのに有効な情報として使用することができる。したがって、有効な確認動作をコミュニケーションロボットに実行させることができる。
第2の発明は第1の発明に従属し、指差し実行判断手段は、第1範囲に他の物品が存在しないことが判断されたとき、指差し動作を実行させないことを判断する。顔向け動作で物品を識別可能な第1範囲において、特定した物品以外の物品が存在しない場合には、コミュニケーションロボットが特定した物品を指示するように顔向け動作を実行すれば、指差しを実行しなくても、人間は指示された物品を特定可能である。
第2の発明によれば、必要に応じて、コミュニケーションロボットに指差し動作を実行させることができる。
第3の発明は、第2の発明に従属し、コミュニケーションシステムは、他物品存在判断手段をさらに備える。他物品存在判断手段は、第1範囲に他の物品が存在するとき、特定した物品を指差しで指示可能であり、第1範囲よりも狭い第2範囲に当該他の物品が存在するかどうかを判断する。指差し実行判断手段は、他物品存在判断手段によって他の物品が第2範囲に存在しないことが判断されたとき、指差し動作を実行させることを判断する。他の物品が存在する場合には、当該他の物品が第2範囲に存在するかどうかを判断し、第2範囲に他の物品が存在しない場合には、指差し動作を実行させれば、第1範囲および第2範囲の中心に位置する特定した物品を指示することが可能である。
第3の発明においても、必要に応じて、コミュニケーションロボットに指差し動作を実行させることができる。
第4の発明は、第3の発明に従属し、コミュニケーションシステムは、物品数判断手段をさらに備える。物品数判断手段は、他物品存在判断手段によって他の物品が第2範囲に存在することが判断されたとき、第2範囲内の物品の数が第1範囲内の物品の数の半数以上であるかどうかを判断する。指差し実行判断手段は、物品数判断手段によって半数以上であることが判断されたとき、指差し動作を実行させないことを判断し、物品数判断手段によって半数未満であることが判断されたとき、指差し動作を実行させることを判断する。第1範囲および第2範囲に他の物品が存在する場合には、第2範囲内に存在する物品数が第1範囲内に存在する物品数の半数以上であれば、指差し動作を実行すれば、半数以上の物品を除外して、特定した物品を指示することが可能である。この場合に、指差し動作は、特定した物品を指示するのに役立つ情報として機能する。
第4の発明においても、必要に応じて、コミュニケーションロボットに指差し動作を実行させることができる。
第5の発明は、音声認識によって人間が指示する物品を特定し、当該特定した物品が当該人間の指示したものであるかを少なくとも音声にて確認するコミュニケーションロボットの確認行動決定装置であって、物品の名称および当該物品に関連する複数の単語を記憶する記憶手段、特定した物品に関連する複数の単語を記憶手段から読み出して、当該特定した物品を音声にて確認する際の発話内容を生成する発話内容生成手段、特定した物品をコミュニケーションロボットの顔の向きで指示させる動作を生成する顔向き動作生成手段、少なくとも、特定した物品を含み、当該特定した物品を顔の向きで指示可能な第1範囲に他の物品が存在するかどうかに応じて、コミュニケーションロボットに指差しで指示させる動作を実行させるかどうかを判断する指差し実行判断手段、および
指差し実行判断手段によって指差しで指示させる動作を実行させることが判断された場合に、当該指差しで指示させる動作を生成する指差し動作生成手段を備える、確認行動決定装置である。
第6の発明は、物品の名称および当該物品に関連する複数の単語を記憶する記憶手段を備え、音声認識によって人間が指示する物品を特定し、当該特定した物品が当該人間の指示したものであるかを少なくとも音声にて確認するコミュニケーションロボットの確認行動を決定するコンピュータで実行される確認行動決定プログラムであって、コンピュータのプロセッサに、特定した物品に関連する複数の単語を記憶手段から読み出して、当該特定した物品を音声にて確認する際の発話内容を生成する発話内容生成ステップ、特定した物品をコミュニケーションロボットの顔の向きで指示させる顔向け動作を生成する顔向き動作生成ステップ、少なくとも、特定した物品を含み、当該特定した物品を顔の向きで指示可能な第1範囲に他の物品が存在するかどうかに応じて、コミュニケーションロボットに指差しで指示させる指差し動作を実行させるかどうかを判断する指差し実行判断ステップ、および指差し実行判断ステップにおいて指差し動作を実行させることを判断した場合に、当該指差し動作を生成する指差し動作生成ステップを実行させる、確認行動決定プログラムである。
第7の発明は、物品の名称および当該物品に関連する複数の単語を記憶する記憶手段を備え、音声認識によって人間が指示する物品を特定し、当該特定した物品が当該人間の指示したものであるかを少なくとも音声にて確認するコミュニケーションロボットの確認行動を決定するコンピュータの確認行動決定方法であって、コンピュータは、(a)特定した物品に関連する複数の単語を記憶手段から読み出して、当該特定した物品を音声にて確認する際の発話内容を生成し、(b)特定した物品をコミュニケーションロボットの顔の向きで指示させる顔向け動作を生成し、(c)少なくとも、特定した物品を含み、当該特定した物品を顔の向きで指示可能な第1範囲に他の物品が存在するかどうかに応じて、コミュニケーションロボットに指差しで指示させる指差し動作を実行させるかどうかを判断し、そして(d)ステップ(c)において指差し動作を実行させることを判断した場合に、当該指差し動作を生成する、確認行動決定プログラムである。
第5−第7の発明においても、第1の発明と同様に、有効な確認動作をコミュニケーションロボットに実行させることができる。
この発明によれば、特定した物品の周辺に存在する他の物品を考慮して指差し動作をコミュニケーションロボットに実行させるかどうかを決定するので、指差し動作を、人間が物品を特定するのに有効な情報として使用することができる。したがって、有効な確認動作をコミュニケーションロボットに実行させることができる。
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
図1はこの発明の一実施例を示すコミュニケーションシステムの概要を示す図解図である。 図2は図1に示すロボットの外観を正面から見た図解図である。 図3は図1に示すロボットの電気的な構成を示すブロック図である。 図4は図1に示すサーバの電気的な構成を示すブロック図である。 図5は図1の実施例で用いられる物品辞書の一例を示す図解図である。 図6は図1の実施例で用いられる物品ローカル辞書の一例を示す図解図である。 図7は図1の実施例で用いられる単語の一覧の一例を示す図解図である。 図8は図1の実施例の確認行動で用いられる単語を決定する方法を説明するための図解図である。 図9は図1の実施例で確認行動を行う場合に指差し動作を実行するかどうかを判断する方法の一例を説明するための図解図である。 図10は図1の実施例で確認行動を行う場合に指差し動作を実行するかどうかを判断する方法の他の例を説明するための図解図である。 図11は図9および図10に示した指差し動作による指示範囲Pと、顔向け動作(視線)による指示範囲Fとを決定する方法を説明するための図解図である。 図12は図4に示すRAMのメモリマップの一例を示す図解図である。 図13は図4に示すCPUの確認行動決定処理を示すフロー図である。 図14は図4に示すCPUの指差し動作生成処理を示すフロー図である。 図15は図4に示すCPUの単語選択処理を示すフロー図である。 図16は図4に示すCPUの物品Xの属性組を生成する処理を示すフロー図である。 図17は図4に示すCPUの近傍の他の物品の属性組を生成する処理を示すフロー図である。 図18は図4に示すCPUの物品Xの属性組を低減する処理を示すフロー図である。 図19は図4に示すCPUの単語の決定(1)処理を示すフロー図である。 図20は図4に示すCPUの物品Xの呼び名の候補を生成する処理を示すフロー図である。 図21は図4に示すCPUの単語の決定(2)処理を示すフロー図である。
図1を参照して、この実施例のコミュニケーションシステム(以下、単に「システム」という。)10は、コミュニケーションロボット(以下、単に「ロボット」という。)12を含む。このロボット12は、音声および身体動作(ジェスチャ)の少なくとも一方を用いて、人間16や他のロボットとコミュニケーションを行うことができる。また、ロボット12は、たとえば無線LANなどのネットワーク14を介してサーバ20にアクセスすることができる。この実施例のロボット12は、サーバ20と協働して、人間16が音声、視線、および指差しで指示する物品を特定し、たとえばその物品を人間16に持って行くなどの動作を実行する。
人間16には、無線タグ18が装着されるとともに、図示しないが、モーションキャプチャのためのマーカが付着されている。無線タグ18は、識別情報を含む電波信号を発信する。ここでは、電波信号に含まれる識別情報は、人間16を個別に識別するために用いられる。マーカは、典型的には、人間16の頭頂、両肩、両肘、両手の人差し指の先端などに設定されていて、それらのマーカが、人間16の全体とともに、サーバ20に制御されるカメラ120によって撮影される。カメラ120は、実施例では、3つ設けられ、人間16を3方向から撮影し、そのカメラ映像についてのデータ(カメラ映像データ)をサーバ20に供給する。
サーバ20は、ネットワーク14に接続され、上述のようにして入力されるカメラ映像データに基づいて、マーカの動きを検出するモーションキャプチャ処理を実行するとともに、たとえば肌色領域を検出することによって、人間16の顔の位置を特定することができる。
このシステム10では、上述のように、ロボット12が人間16の指示する物品を対象物として特定するものである。対象物となり得る物品の例として、この実施例では、本(書籍)24を用いる。本24(図1では、「OBJ」と表記してある。)には、その本を識別可能な情報(識別情報)を電波信号に含んで発信する無線タグ18が付着されている。
ただし、対象物となり得る物品は実施例の書籍だけでなく、もし家庭用のシステムであれば、家庭内のあらゆる物品が考えられる。また、当然、家庭用としてだけではなく、人間16と一緒に働く任意の場所(会社、事務所、工場など)での利用が考えられる。かかる場合には、任意の場所に存在する種々の物品が対象物となり得る。
そして、このシステム10が対象とするすべての物品(本24)についての情報は、サーバ20に接続された物品辞書データベース(DB)122に登録される。物品辞書DB122については後述する。
また、システム10が対象とする人間16に装着された無線タグ18から発信された識別情報は、複数存在するアンテナ124のいずれかを介して無線タグ読取装置208(図4参照)で読み取られる。そして、無線タグ読取装置208で読み取られた識別情報はサーバ20に与えられる。これに応じて、サーバ20は、識別情報から人間16を特定するとともに、識別情報を受信した(読み取った)アンテナ124が配置されている位置から人間16の若干大まかな位置を把握(検出)する。
なお、図1では、簡単のため、1台のロボット12を示してあるが、2台以上であってよい。また、人間16は1人に限定される必要はなく、無線タグ18で識別できるので、複数であってよい。
また、図1に示す実施例では、このシステム10を設置している空間のワールド座標を用いてロボット12、人間16、物品24などの位置が表現されていて、他方、ロボット12の制御はロボット座標で行なわれるので、詳細は説明しないが、ロボット12は、後述の処理における必要に応じて、ロボット座標とワールド座標との間の座標変換処理を実行するものである。
図2を参照して、ロボット12のハードウェアの構成について説明する。図2は、この実施例のロボット12の外観を示す正面図である。ロボット12は台車30を含み、台車30の下面にはロボット12を自律移動させる2つの車輪32および1つの従輪34が設けられる。2つの車輪32は車輪モータ36(図3参照)によってそれぞれ独立に駆動され、台車30すなわちロボット12を前後左右の任意方向に動かすことができる。また、従輪34は車輪32を補助する補助輪である。したがって、ロボット12は、配置された空間内を自律制御によって移動可能である。
台車30の上には、円柱形のセンサ取り付けパネル38が設けられ、このセンサ取り付けパネル38には、多数の赤外線距離センサ40が取り付けられる。これらの赤外線距離センサ40は、センサ取り付けパネル38すなわちロボット12の周囲の物体(人間16や障害物など)との距離を測定するものである。
なお、この実施例では、距離センサとして、赤外線距離センサを用いるようにしてあるが、赤外線距離センサに代えて、超音波距離センサやミリ波レーダなどを用いることもできる。
センサ取り付けパネル38の上には、胴体42が直立するように設けられる。また、胴体42の前方中央上部(人の胸に相当する位置)には、上述した赤外線距離センサ40がさらに設けられ、ロボット12の前方の主として人間16との距離を計測する。また、胴体42には、その側面側上端部のほぼ中央から伸びる支柱44が設けられ、支柱44の上には、全方位カメラ46が設けられる。全方位カメラ46は、ロボット12の周囲を撮影するものであり、後述する眼カメラ70とは区別される。この全方位カメラ46としては、たとえばCCDやCMOSのような固体撮像素子を用いるカメラを採用することができる。なお、これら赤外線距離センサ40および全方位カメラ46の設置位置は、当該部位に限定されず適宜変更され得る。
胴体42の両側面上端部(人の肩に相当する位置)には、それぞれ、肩関節48Rおよび肩関節48Lによって、上腕50Rおよび上腕50Lが設けられる。図示は省略するが、肩関節48Rおよび肩関節48Lは、それぞれ、直交する3軸の自由度を有する。すなわち、肩関節48Rは、直交する3軸のそれぞれの軸廻りにおいて上腕50Rの角度を制御できる。肩関節48Rの或る軸(ヨー軸)は、上腕50Rの長手方向(または軸)に平行な軸であり、他の2軸(ピッチ軸およびロール軸)は、その軸にそれぞれ異なる方向から直交する軸である。同様にして、肩関節48Lは、直交する3軸のそれぞれの軸廻りにおいて上腕50Lの角度を制御できる。肩関節48Lの或る軸(ヨー軸)は、上腕50Lの長手方向(または軸)に平行な軸であり、他の2軸(ピッチ軸およびロール軸)は、その軸にそれぞれ異なる方向から直交する軸である。
また、上腕50Rおよび上腕50Lのそれぞれの先端には、肘関節52Rおよび肘関節52Lが設けられる。図示は省略するが、肘関節52Rおよび肘関節52Lは、それぞれ1軸の自由度を有し、この軸(ピッチ軸)の軸回りにおいて前腕54Rおよび前腕54Lの角度を制御できる。
前腕54Rおよび前腕54Lのそれぞれの先端には、人の手に相当するハンド56Rおよびハンド56Lがそれぞれ設けられる。これらのハンド56Rおよび56Lは、詳細な図示は省略するが、開閉可能に構成され、それによってロボット12は、ハンド56Rおよび56Lを用いて物体を把持または挟持することができる。ただし、ハンド56R,56Lの形状は実施例の形状に限らず、人間16の手に酷似した形状や機能を持たせるようにしてもよい。
また、図示は省略するが、台車30の前面,肩関節48Rと肩関節48Lとを含む肩に相当する部位,上腕50R,上腕50L,前腕54R,前腕54L,ハンド56Rおよびハンド56Lには、それぞれ、接触センサ58(図3で包括的に示す)が設けられる。台車30の前面の接触センサ58は、台車30への人間16や他の障害物の接触を検知する。したがって、ロボット12は、その自身の移動中に障害物との接触が有ると、それを検知し、直ちに車輪32の駆動を停止してロボット12の移動を急停止させることができる。また、その他の接触センサ58は、当該各部位に触れたかどうかを検知する。なお、接触センサ58の設置位置は、当該部位に限定されず、適宜な位置(人の胸,腹,脇,背中および腰に相当する位置)に設けられてもよい。
胴体42の中央上部(人の首に相当する位置)には首関節60が設けられ、さらにその上には頭部62が設けられる。図示は省略するが、首関節60は、3軸の自由度を有し、3軸の各軸廻りに角度制御可能である。或る軸(ヨー軸)はロボット12の真上(鉛直上向き)に向かう軸であり、他の2軸(ピッチ軸、ロール軸)は、それぞれ、それと異なる方向で直交する軸である。
頭部62には、人の口に相当する位置に、スピーカ64が設けられる。スピーカ64は、ロボット12が、それの周辺の人間16に対して音声ないし音によってコミュニケーションを取るために用いられる。また、人の耳に相当する位置には、マイク66Rおよびマイク66Lが設けられる。以下、右のマイク66Rと左のマイク66Lとをまとめてマイク66ということがある。マイク66は、周囲の音、とりわけコミュニケーションを実行する対象である人間16の音声を取り込む。さらに、人の目に相当する位置には、右の眼球部68Rおよび左の眼球部68Lが設けられる。右の眼球部68Rおよび左の眼球部68Lは、それぞれ右の眼カメラ70Rおよび左の眼カメラ70Lを含む。以下、右の眼球部68Rと左の眼球部68Lとをまとめて眼球部68ということがある。また、右の眼カメラ70Rと左の眼カメラ70Lとをまとめて眼カメラ70ということがある。
眼カメラ70は、ロボット12に接近した人間16の顔や他の部分ないし物体などを撮影して、それに対応する映像信号を取り込む。この実施例では、ロボット12は、この眼カメラ70からの映像信号によって、人間16の左右両目のそれぞれの視線方向(ベクトル)を検出する。その視線検出方法は具体的には、2つのカメラを用いるものとして特開2004‐255074号公報に、1つのカメラを用いるものとして特開2006‐172209号公報や特開2006‐285531号公報に開示されるが、ここではその詳細は重要ではないので、これらの公開公報を引用するにとどめる。
ただし、人間16の視線ベクトルの検出のためには、よく知られているアイマークレコーダなどが利用されてもよい。
また、眼カメラ70は、上述した全方位カメラ46と同様のカメラを用いることができる。たとえば、眼カメラ70は、眼球部68内に固定され、眼球部68は、眼球支持部(図示せず)を介して頭部62内の所定位置に取り付けられる。図示は省略するが、眼球支持部は、2軸の自由度を有し、それらの各軸廻りに角度制御可能である。たとえば、この2軸の一方は、頭部62の上に向かう方向の軸(ヨー軸)であり、他方は、一方の軸に直交しかつ頭部62の正面側(顔)が向く方向に直行する方向の軸(ピッチ軸)である。眼球支持部がこの2軸の各軸廻りに回転されることによって、眼球部68ないし眼カメラ70の先端(正面)側が変位され、カメラ軸すなわち視線方向が移動される。なお、上述のスピーカ64,マイク66および眼カメラ70の設置位置は、当該部位に限定されず、適宜な位置に設けられてよい。
このように、この実施例のロボット12は、車輪32の独立2軸駆動,肩関節48の3自由度(左右で6自由度),肘関節52の1自由度(左右で2自由度),首関節60の3自由度および眼球支持部の2自由度(左右で4自由度)の合計17自由度を有する。
図3はロボット12の電気的な構成を示すブロック図である。この図3を参照して、ロボット12は、CPU80を含む。CPU80は、マイクロコンピュータ或いはプロセッサとも呼ばれ、バス82を介して、メモリ84,モータ制御ボード86,センサ入力/出力ボード88および音声入力/出力ボード90に接続される。
メモリ84は、図示は省略をするが、ROM,HDDおよびRAMを含む。ROMおよびHDDには、ロボット12の動作を制御するための制御プログラムが予め記憶される。たとえば、各センサの出力(センサ情報)を検知するための検知プログラムや、外部コンピュータとの間で必要なデータやコマンドを送受信するための通信プログラムなどが記録される。また、RAMは、ワークメモリやバッファメモリとして用いられる。
さらに、この実施例では、ロボット12は、人間16とのコミュニケーションをとるために発話したり、ジェスチャしたりできるように構成されているが、メモリ84に、このような発話やジェスチャのための発話/ジェスチャ辞書85Aが設定されている。
モータ制御ボード86は、たとえばDSPで構成され、各腕や首関節60および眼球部68などの各軸モータの駆動を制御する。すなわち、モータ制御ボード86は、CPU80からの制御データを受け、右眼球部68Rの2軸のそれぞれの角度を制御する2つのモータ(図3では、まとめて「右眼球モータ92」と示す)の回転角度を制御する。同様にして、モータ制御ボード86は、CPU80からの制御データを受け、左眼球部68Lの2軸のそれぞれの角度を制御する2つのモータ(図3では、まとめて「左眼球モータ94」と示す)の回転角度を制御する。
また、モータ制御ボード86は、CPU80からの制御データを受け、肩関節48Rの直交する3軸のそれぞれの角度を制御する3つのモータと肘関節52Rの角度を制御する1つのモータとの計4つのモータ(図3では、まとめて「右腕モータ96」と示す)の回転角度を制御する。同様にして、モータ制御ボード86は、CPU80からの制御データを受け、肩関節48Lの直交する3軸のそれぞれの角度を制御する3つのモータと肘関節52Lの角度を制御する1つのモータとの計4つのモータ(図3では、まとめて「左腕モータ98」と示す)の回転角度を制御する。
さらに、モータ制御ボード86は、CPU80からの制御データを受け、首関節60の直交する3軸のそれぞれの角度を制御する3つのモータ(図3では、まとめて「頭部モータ100」と示す)の回転角度を制御する。そして、モータ制御ボード86は、CPU80からの制御データを受け、車輪32を駆動する2つのモータ(図3では、まとめて「車輪モータ36」と示す)の回転角度を制御する。
モータ制御ボード86にはさらにハンドアクチュエータ108が結合され、モータ制御ボード86は、CPU80からの制御データを受け、ハンド56R,56Lの開閉を制御する。
なお、この実施例では、車輪モータ36を除くモータは、制御を簡素化するためにステッピングモータ(すなわち、パルスモータ)を用いる。ただし、車輪モータ36と同様に直流モータを用いるようにしてもよい。また、ロボット12の身体部位を駆動するアクチュエータは、電流を動力源とするモータに限らず適宜変更された、たとえば、他の実施例では、エアアクチュエータが適用されてもよい。
センサ入力/出力ボード88は、モータ制御ボード86と同様に、DSPで構成され、各センサからの信号を取り込んでCPU80に与える。すなわち、赤外線距離センサ40のそれぞれからの反射時間に関するデータがこのセンサ入力/出力ボード88を通じてCPU80に入力される。また、全方位カメラ46からの映像信号が、必要に応じてセンサ入力/出力ボード88で所定の処理を施してからCPU80に入力される。眼カメラ70からの映像信号も、同様にして、CPU80に入力される。また、上述した複数の接触センサ58(図3では、まとめて「接触センサ58」と示す)からの信号がセンサ入力/出力ボード88を介してCPU80に与えられる。音声入力/出力ボード90もまた、同様に、DSPで構成され、CPU80から与えられる音声合成データに従った音声または声がスピーカ64から出力される。また、マイク66からの音声入力が、音声入力/出力ボード90を介してCPU80に与えられる。
また、CPU80は、バス82を介して通信LANボード102に接続される。通信LANボード102は、たとえばDSPで構成され、CPU80から与えられた送信データを無線通信装置104に与え、無線通信装置104は送信データを、ネットワーク14を介してサーバ20に送信する。また、通信LANボード102は、無線通信装置104を介してデータを受信し、受信したデータをCPU80に与える。たとえば、送信データとしては、ロボット12からサーバ20への信号(コマンド)であったり、ロボット12が行ったコミュニケーションについての動作履歴情報(履歴データ)などであったりする。このように、コマンドのみならず履歴データを送信するのは、メモリ84の容量を少なくするためと、消費電力を抑えるためである。この実施例では、履歴データはコミュニケーションが実行される度に、サーバ20に送信されたが、一定時間または一定量の単位でサーバ20に送信されるようにしてもよい。
さらに、CPU80は、バス82を介して無線タグ読取装置106が接続される。無線タグ読取装置106は、アンテナ(図示せず)を介して、無線タグ18(RFIDタグ)から送信される識別情報の重畳された電波を受信する。そして、無線タグ読取装置106は、受信した電波信号を増幅し、当該電波信号から識別信号を分離し、当該識別情報を復調(デコード)してCPU80に与える。図1によれば無線タグ18は、ロボット12が配置された会社の受付や一般家庭の居間などに居る人間16や物品(この実施例では、本24)に装着され、無線タグ読取装置106は、通信可能範囲内の無線タグ18から発信される電波信号を検出する。
なお、無線タグ18は、アクティブ型であってもよいし、無線タグ読取装置106から送信される電波に応じて駆動されるパッシブ型であってもよい。
図4を参照して、サーバ20のハードウェアの構成について説明する。図4に示すように、サーバ20は、CPU200を含む。CPU200は、プロセッサとも呼ばれ、バス202を介して、メモリ204、カメラ制御ボード206、無線タグ読取装置208、LAN制御ボード210、入力装置制御ボード212、およびモニタ制御ボード214に接続される。
CPU200は、サーバ20の全体の制御を司る。メモリ204は、ROM、RAM、およびHDDなどを包括的に示したものであり、サーバ20の動作のためのプログラムを記録したり、CPU200が動作する際のワークエリアとして機能したりする。カメラ制御ボード206は、当該制御ボード206に接続されるカメラ120を制御するためのものである。
無線タグ読取装置208は、当該制御ボード208に接続されるアンテナ124を介して人間16や物品(本)24に装着された無線タグ18から送信される識別情報の重畳された電波を受信する。そして、無線タグ読取装置208は、受信した電波信号を増幅し、当該電波信号から識別信号を分離し、当該識別情報を復調(デコード)してCPU200に与える。アンテナ124は、ロボット12が配置された会社の受付や一般家庭の各部屋などにくまなく配置され、システム10が対象とするすべての物品(本)24および人間16の無線タグ18から電波を受信できるようになっている。したがって、アンテナ124は複数存在するが、図1および図4では包括的に示している。
また、LAN制御ボード210は、当該制御ボード210に接続される無線通信装置216を制御し、サーバ20が外部のネットワーク14に無線によってアクセスできるようにするものである。さらに、入力装置制御ボード212は、当該制御ボード212に接続される入力装置としてのたとえば、キーボードやマウスなどによる入力を制御するものである。そして、モニタ制御ボード214は、当該制御ボード214に接続されるモニタ220への出力を制御するものである。
また、サーバ20は、図示しないインターフェースによって、物品辞書DB122および音声認識辞書DB126(図1参照)に接続されている。
メモリ204(RAM)には、後述するように、物品ローカル辞書データ504a、音声認識ローカル辞書データ504b、発話辞書データ504cおよび個人正誤情報データ504dが設定(記憶)されている。
物品ローカル辞書データ504aに対応する物品ローカル辞書は、後述するように、物品辞書DB122から抽出された内容が登録される辞書である。サーバ20は、ロボット12が人間16を認識した際に、当該人間16の近傍に存在する物品(本)24の情報だけを物品辞書DB122から抽出して物品ローカル辞書に登録する。音声認識ローカル辞書データ504bに対応する音声認識ローカル辞書は、後述するように、音声認識辞書DB126から抽出された内容が登録される辞書である。サーバ20は、ロボット12が人間16を認識して物品ローカル辞書を作成すると、当該物品ローカル辞書に登録されている単語を音声認識するために必要な情報を音声認識辞書DB126から抽出して音声認識ローカル辞書に登録する。したがって、物品ローカル辞書および音声認識ローカル辞書は、人間16の位置の変化に応じて動的に書き換えられる。このように、音声認識辞書DB126に記憶された音声認識辞書から音声認識ローカル辞書を作成し、音声認識に使用する辞書を小さくすることによって音声認識の対象となる単語(音素記号列)の数を少なくし、音声認識の処理にかかる時間を短くするとともに正しく音声認識できる割合を高めることができる。
発話辞書データ504cに対応する発話辞書は、サーバ20がロボット12に、人間16に対して発話させる音声の内容を決定するために必要な情報を記憶している。また、個人正誤情報データ504dに対応する個人正誤情報は、システム10が、人間16が指示した物品(本)24を特定することに最終的に成功したか否かを示す情報(音声認識の成功率)を、人間16の識別情報(ユーザID)別に記憶している。
次に、図5を参照して、物品辞書DB122に記憶される物品辞書は、たとえばユーコード(Ucode)のようなIDをそれぞれの物品の1つに割り当て、物品毎にその名称および属性などの必要な情報を登録している。なお、ユーコードは、具体的には、128ビットの数字からなり、340兆の1兆倍のさらに1兆倍の数の物品を個別に識別できるものである。ただし、この物品辞書DB122に使うIDは必ずしもこのようなユーコードである必要はなく、適宜の数字や記号の組み合わせからなるものであってよい。
このような物品辞書は、システム10(ロボット12およびサーバ20)が識別すべき対象物となるすべての、たとえば家庭内の物品をIDと文字列とで登録するものであり、いわばグローバル辞書に相当する。
物品辞書には、1つの物品(本)24についての情報が1つのレコードとして登録されている。そして、上述したように、たとえば、1つのレコードには、本のID以外に「名称」および「属性」が記憶される。また、物品辞書には、当該物品が存在する(置かれている)位置がワールド座標(3次元座標)で特定される。

なお、図示は省略するが、本24についての情報として、「著者」および「出版社」などがさらに記憶されてもよい。
「名称」は、対応する本24の表題(題号)である。また、「属性」は、本24に関連する情報であり、この実施例では、本24を補足的に説明する内容である。この実施例では、「属性」の項目には、本24の種類(漫画、小説、雑誌など)、カバーの色および厚み(厚い、薄い)の情報が記憶されている。図5では分かり易く示すために、名称および属性の両方について、テキスト形式の文字列で記載してあるが、実際には、属性については、ローマ字で表記した文字列が記述されている。
ただし、位置の欄に記載される3次元座標では、IDの一部に対応する数字を付加して各物品間で識別可能に示してあるが、すべての物品の位置が異なるという意味ではなく、一部の複数の物品が重ねて配置されたり、一部の複数の物品が並べて配置されたりする場合もあり得る。
次に、音声認識辞書DB126について説明する。一般的に、音声認識辞書には、単語辞書と文法辞書とが存在するが、音声認識辞書DB126は単語辞書についてのデータを記憶する。文法辞書についての説明は省略する。図示は省略するが、音声認識辞書DB126には、物品の名称(この実施例では、本24の名称)についてのテキスト形式の単語(または物品の識別情報)の各々に対応して、テキスト形式の単語に対応する音素記号形式(音素記号列)が記述されたテーブルのデータ(音声認識辞書データ)が記憶される。
音声認識の処理では、入力された音声を音素に分解し、分解した各音素について当該音素を表す記号を生成する。これによって、入力された音声の単語に相当する音素記号列が生成される。次に、入力された音声の単語に相当する音素記号列が、音声認識辞書DB126(実際には、後述する音声認識ローカル辞書)に記憶されている音素記号列と比較される。そして、入力された音声の単語に相当する音素記号列ともっとも近い音素記号列を音声認識辞書DB126(音声認識ローカル辞書)内で特定し、この特定した音素記号列に対応して記述されている単語を音声認識結果として出力する。
上述したように、このシステム10では、人間16が音声と視線および指差しによって物品(本)24を指示すると、ロボット12とサーバ20とが協働して、人間16が指示した物品(本)24を特定し、その特定した物品(本)24をロボット12が人間16のところに運搬などする。以下において、この人間16とシステム10とのやり取りをコミュニケーションと呼ぶことがある。
より詳細に述べると、このシステム10では、人間16がロボット12に近づくと、ロボット12が人間16を無線タグ18によって認識する。サーバ20には、システム10が対象とする物品(本)24のすべてが登録された物品辞書DB122、および音声認識によって物品(本)24を特定するための単語が登録された音声認識辞書DB126が接続されている。ロボット12は、人間16を認識すると、当該人間16の識別情報(ユーザID)をサーバ20に送信するとともに、サーバ20に対して物品辞書DB122および音声認識辞書DB126のローカル辞書(物品ローカル辞書、音声認識ローカル辞書)の作成を指示する。
ローカル辞書の作成の指示を受けると、サーバ20では、ロボット12が認識した人間16の位置を特定し、特定した当該人間16から所定の範囲内、たとえば、半径5m以内にある物品(本)24のレコードのみを物品辞書DB122から抽出して物品ローカル辞書を作成する。次に、音声認識辞書DB126から、物品ローカル辞書に登録されている物品(本)24を音声認識するため必要な情報のみを抽出して音声認識ローカル辞書を作成する。
その後、ロボット12は、認識した人間16に対して、たとえば、「何か本を持ってきましょうか?」という発話を行う。この発話に対し、人間16は、持ってきてほしい物品(本)24に視線を向けつつ当該物品(本)24を指差しながら、「漫画Aを持ってきて」などと答える。
すると、ロボット12は、「漫画Aを持ってきて」という人間16の声を音声認識し、人間16の視線を推定し、指差した指が向かっている方向を推定することによって、人間16が指示している物品(本)24を特定する。
人間16が指示している物品(本)24を特定すると、サーバ20は、人間16に特定した物品(本)24を確認するためにロボット12が発話する音声の内容、たとえば、「赤色の漫画ですか?」を決定し、ロボット12が当該物品(本)24(名称「漫画A」)の方を向いて、必要に応じて指差しすることにより、指し示しながらこれを発話する。つまり、ロボット12は、特定した物品(本)24を確認するための行動(確認行動)を行う。
このとき、サーバ20は、発話の内容を、ロボット12が認識した人間16の近傍や特定した物品(本)24の近傍に存在する他の物品とは異なる特徴(属性)を用いるとともに、音声認識し易い言葉で、物品(本)24を確認するための発話内容を生成する。
ここで、音声認識し易い言葉を選択するようにしてあるのは、人間16はロボットの発話内容を真似する傾向があるとの知見に基づき、次回以降に、人間16が音声で指示した物品(本)24を特定し易くするためである。ただし、発話内容が短すぎる場合には、音声認識を失敗する可能性が高くなり、一方、発話内容が長過ぎる場合には、人間16によって真似されない可能性が高くなるため、この実施例では、2〜3個の属性の単語を用いて発話内容を生成するようにしてある。
ただし、これは単なる一例であり、発話内容は、属性の単語が長い場合には、1つの属性の単語のみを用いて決定しても良いし、属性の単語が短い場合には、さらに多くの属性を物品辞書に登録しておくことにより、4つ以上を用いて決定してもよい。
また、システム10が特定した物品(本)24を確認するために、ロボット12がたとえば「赤色の漫画ですか?」と発話すると、人間16は、「そうです」あるいは「ちがいます」などと発話し、ロボット12に返答する。サーバ20は、この人間16の返答における音声を音声認識し、システム10が特定した物品(本)24が、人間16が指示したものであるか否かを判断する。システム10が特定した物品(本)24が、人間16が指示したものでなかった場合には、次の候補である物品(本)24が、人間16が指示したものであるか否かを確認する。一方、システム10が特定した物品(本)24が、人間16が指示したものであった場合には、ロボット12が当該物品(本)24を人間16のところにまで運搬する。
また、サーバ20は、特定した物品(本)24を確認した結果(正誤の情報)を累積的に記録する。サーバ20は、この累積的に記録した正誤の情報を成功率(音声認識の成功率)として、発話内容を生成する際に参照する。
なお、発話内容を生成する際に単語(発話に使用する単語)を選択する方法が異なる以外は、出願人が先に出願し既に出願公開された特開平2009−223171号に開示された内容とほぼ同じであり、また、本願発明の本質的な内容ではないため、この実施例においては、単語を決定する方法についてのみ、詳細に説明してある。
まず、特定した物品(本)24(以下、「物品X」という。)の属性Fcがすべて取得される。たとえば、名称「漫画A」である物品(本)24が特定された場合には、属性Fcとして{漫画、赤、薄い}が取得される。次に、属性についての組(属性組)が生成される。この実施例では、属性Fcのべき集合(Power set)が計算され、属性組として生成される。以下、同様である。ただし、属性Fcのべき集合Power(Fc)は、{{漫画}、{赤}、{薄い}、{漫画、赤}、{赤、薄い}、{漫画、薄い}、{漫画、赤、薄い}}である。
次に、特定した物品Xの近傍(たとえば、30cm以内)に存在する他の物品が検出され、検出された他の物品についての属性が取得される。他の物品が複数存在する場合には、他の物品毎に属性組が生成(べき集合が計算)される。
たとえば、物品Xの近傍に、名称「漫画B」の本24(以下、「物品1」という。)と、名称「雑誌B」の本24(以下、「物品2」という。)が存在する場合には、これら他の物品1および物品2のそれぞれについて属性が取得され、それぞれについてべき集合が計算され、それぞれの属性組が生成される。ここで、物品1の属性は{漫画、青、薄い}であり、物品2の属性は{雑誌、赤、厚い}である。したがって、物品1のべき集合Power(F1)は、{{漫画}、{青}、{薄い}、{漫画、青}、{青、薄い}、{漫画、薄い}、{漫画、青、薄い}}である。また、物品2のべき集合Power(F2)は、{{雑誌}、{赤}、{厚い}、{雑誌、赤}、{赤、厚い}、{雑誌、厚い}、{雑誌、赤、厚い}}である。
次に、特定した物品24の属性組と、近傍の他の物品24の属性組とで共通する要素(共通要素)が抽出され、特定した物品24の属性組から共通要素が削除される。具体的には、物品Xの属性組と物品1の属性組とから共通要素E1が抽出されるとともに、物品Xの属性組と物品2の属性組とから共通要素E2が抽出される。
この実施例においては、共通要素E1は、{{漫画}、{薄い}、{漫画、薄い}}である。また、共通要素E2は、{赤}である。したがって、共通要素の集合Sは、共通要素E1と共通要素E2との和であり、具体的には、{{漫画}、{赤}、{薄い}、{漫画、薄い}}である。したがって、特定した物品Xのべき集合Power(Fc)の要素から集合Sの要素が削除(Power(Fc)−S)されると、{{漫画、赤}、{赤、薄い}、{漫画、赤、薄い}}となる。
次に、Power(Fc)−Sの要素のうち、単語数が最小となるものを抽出する。この演算子をたとえばmin()と定義する。したがって、min(Power(Fc)−S)は、{{漫画、赤}、{赤、薄い}}となる。
このように、単語数が最小となる要素を選択するのは、上述したように、発話内容を、音声認識を容易にする長さであり、かつ、人間16に真似される程度の長さにするためである。
そして、min()の要素のうち、1つの要素が発話内容に使用される単語として選択される。この実施例では、特定した物品24の近傍に存在する他の物品24の属性との類似性が最も低い要素(非類似性が最も高い要素)が選択される。ただし、ここでの類似性は、音声で発音する場合に対比する単語が似ている度合を意味する。
具体的には、要素に含まれる属性を示す単語(文字列)についてのレーベンシュタイン距離の和を算出し、和が最大となる要素に含まれる属性を示す単語が発話内容に使用する単語として選択される。レーベンシュタイン距離(編集距離)は、2つの文字列がどの程度異なっているかを示す数値である。具体的には、文字の挿入や削除、置換によって、1つの文字列を別の文字列に変形するのに必要な手順の最小回数として与えられる。
ただし、この実施例では、正しく音声認識するようにするために、レーベンシュタイン距離を算出する場合には、ローマ字で示された文字列を用いるようにしてある。このローマ字で示された文字列は、物品辞書(物品ローカル辞書)に登録されている。ただし、属性に含まれる種類、色および厚みのそれぞれについて(同じ属性同士で)レーベンシュタイン距離が算出され、合計される。
図8(A)に示すように、上記のように選出された{漫画、赤}についてレーベンシュタイン距離を算出する場合には、属性のうち、{種類、色}が対比される。したがって、特定した物品Xと物品1では、種類については“manga”ですべて一致し、色については“aka”と“ao“とで2文字の置き換えが必要であるため、レーベンシュタイン距離LDは「2」となる。また、特定した物品Xと物品2とでは、種類については“manga”と“zasshi”で4文字の置き換えと1文字の追加が必要であり、色については“aka”ですべて一致するため、レーベンシュタイン距離LDは「5」となる。したがって、発話内容として{種類、色}である{漫画、赤}を用いる場合のレーベンシュタイン距離LDの合計は「7」となる。
一方、図8(B)に示すように、上記のように選出された{赤、薄い}についてレーベンシュタイン距離を算出する場合には、属性のうち、{色、厚み}が対比される。したがって、特定した物品Xと物品1とでは、色については“aka”と“ao”で2文字の置き換えが必要であり、厚みについては“usui”ですべて一致するため、レーベンシュタイン距離LDは「2」となる。また、特定した物品Xと物品2とでは、色については“aka”ですべて一致し、厚みについては“usui”と“atsui”で1文字の追加と1文字の置き換えが必要であるため、レーベンシュタイン距離は「2」となる。したがって、発話内容として{色、厚み}である{赤、薄い}を用いる場合のレーベンシュタイン距離LDの合計は「4」となる。
以上より、発話内容としては、レーベンシュタイン距離LDの合計が大きい{漫画、赤}が選択される。
次に、特定した物品(本)Xの近傍に他の物品(本)24が存在しない場合についての発話内容に使用する単語の選択方法につい説明する。
物品Xの近傍に他の物品(本)24が存在しない場合には、物品Xのすべての属性が取得される。物品Xの近傍に他の物品(本)24が存在しない場合には、基本的には、属性のうち、種類、色および厚みの文字列のいずれを用いても、当該物品Xを確認することができるからである。
ただし、人間16の近傍に他の物品(本)24が存在する場合には、当該他の物品(本)24の属性の文字列とのレーベンシュタイン距離の和が最大となる属性の単語を発話内容に使用する単語として選択(決定)する。ここでは、他の物品との間で、属性の種類、色、厚みのそれぞれについてレーベンシュタイン距離LDを算出し、種類、色、厚みについてのレーベンシュタイン距離LDの和を算出する。そして、最も和の大きい単語(種類、色、厚みについての単語)を、発話内容に使用する単語として選択する。
なお、レーベンシュタイン距離LDを求める方法は、図8(A)および(B)を用いて説明したとおりであり、重複した説明は省略する。
また、上述したように、この実施例では、ロボット12は、物品Xを人間16に確認する場合、物品Xの方を向く(この実施例では、顔を向ける)動作が実行されるとともに、必要に応じて、物品Xを指差しする動作(指差し動作)が実行される。指差し動作が必要に応じて実行されるのは、物品Xの近傍に他の物品24が複数存在する(物品が密集している)状況においては、ロボット12がどの物品24を指示しているのかを人間16が分かり難くいことがあり、指差し動作が、人間16が物品Xを特定するための情報として機能しない場合があるからである。一方で、物品Xの近傍に他の物品24が存在しない状況および物品Xの近傍に他の物品24が存在するが当該他の物品24が少ない(物品が分散している)状況においては、指差し動作は、人間16が物品(本)24を特定するための有効な情報として機能するからである。
ただし、この実施例では、ロボット12が顔を向ける動作(顔向け動作)を実行したり、指差し動作を実行したりする前提として、ロボット12は物品Xに対して正面を向くようにしてある。また、ロボット12の眼も物品Xに対して正面を向くようにしてある。
ここで、図9(A)、(B)および図10(A)、(B)に示すような具体的な状況を用いて、指差し動作が必要な場合と不要な場合とについて説明する。ただし、図9(A)〜図10(B)は、ロボット12、人間16および物品(X、24)が配置される空間を真上方向から見た状態の2次元平面(XY平面)で示してある。
たとえば、図9(A)では、ロボット12と人間16の間に物品Xのみが存在し、ロボット12が当該物品Xを指差し動作により指示した場合の指示範囲Pおよびロボット12が当該物品Xを顔向け動作により指示した場合の指示範囲Fが示される。ただし、図9(A)〜図10(B)に示すように、この実施例では、指示範囲Pおよび指示範囲FはXY平面上に決定され、物品Xおよび他の物品24の位置については、Z座標(高さ方向)は考慮されない。なお、指差し動作の指示範囲Pおよび顔向け動作の指示範囲Fについては、図9(B)、図10(A)および図10(B)についても同じである。
このような状況(第1の状況)では、顔向け動作の指示範囲Fに他の物品24が存在しないため、ロボット12が物品Xを指示するように顔向け動作だけを実行すれば、人間16は指示された物品Xを特定することができる。
ただし、この実施例では、指差し動作による指示範囲Pおよび顔向け動作による指示範囲Fは、予め決定されている。たとえば、指差し動作は、ハンド56Rによって物品Xを指すように右腕(上腕50R、肘関節52R、前腕54R)を延ばした状態で、肩関節48Rの3軸のうちの少なくとも1軸周りに上腕50Rを回動させる動作を意味する。ただし、指差し動作は、ハンド56Lによって行われてもよい。かかる場合には、左腕(上腕50L、肘関節52L、前腕54L)を延ばした状態で、肩関節48Lが動作される。
また、顔向け動作は、上述したように眼は正面を向いた状態で、顔の向き(視線方向)によって物品Xを指示するように、首関節60の3軸のうちの少なくとも1軸周りに頭部62を回動させる動作を意味する。
この実施例では、指差し動作による指示範囲Pは、図11(A)に示すように、指差し方向が床面(地面)とぶつかる位置を中心とする円形状の範囲であり、右腕(ヨー軸)が床面ないし地面に垂直な直線L1に対する角度θに応じてその範囲(円)の大きさが決定される。ただし、ロボット12が右腕を胴体42に沿うように降ろした状態のピッチ軸の回転方向の位置を基準(0°)とした場合には、ピッチ軸周りの回転角度θに応じて、指示範囲Pの大きさを決定することもできる。この実施例では、指示範囲Pの大きさは、角度θが0°よりも大きく30°未満の場合に、半径30cmの円で規定され、角度θが30°以上60°未満の場合に、半径60cmの円で規定され、そして、角度θが60°以上90°未満の場合に、半径90cmの円で規定される。
なお、図11(A)では、ロボット12の右腕以外については図示を省略してある。
また、顔向け動による指示範囲Fは、図11(B)に示すように、顔向け方向(視線方向)が床面(地面)とぶつかる位置を中心とする円形状の範囲であり、顔向け方向に平行であり、首関節60のピッチ軸を始点(起点)とする直線(線分)L2がヨー軸(床面ないし地面に垂直な直線L1)に対する角度αに応じてその範囲(円)の大きさが決定される。ただし、ロボット12の顔が正面を向いている場合の首関節60のピッチ軸の回転方向の位置を基準(0°)とした場合には、図示は省略するが、ピッチ軸周りの回転角度β(このとき、α=90−β)に応じて、指示範囲Fを決定することもできる。この実施例では、指示範囲Fの大きさは、角度αが0°よりも大きく30°未満の場合に、半径1mの円で規定され、角度αが30°以上60°未満の場合に、半径2mの円で規定され、そして、角度αが60°以上90°未満の場合に、半径3mの円で規定される。
なお、図11(B)では、ロボット12の頭部62以外については図示を省略してある。
このように、指差し動作の指示範囲Pが顔向け動作の指示範囲Fよりも小さい(狭い)のは、ロボット12が物品Xを人間16に確認する場合に、ロボット12が顔向け動作を必ず実行するためである。つまり、指差し動作と顔向け動作の両方が実行される場合には、人間16が指示された方向を正しく認識することができるからである。
このことは、文献(安田哲也, 小林春美, 茂木洋介: 幼児における視線一致映像対話を利用した共同注意−語意推測課題を使って−, 日本認知科学会第23回大会論文集2006, pp.132-133)において開示(紹介)される知見に基づいている。簡単に説明すると、この文献によれば、映像対話において、視線だけで物体に注意を向けるときと、視線と指差しで注意を向けるときを比較すると、視線と指差しの両方を使う方が、物体の認識率が高いことが示されている。つまり、ロボット12が顔向け動作だけを実行する場合に比べて、顔向け動作と指差し動作の両方を実行する場合の方が、人間16は指示される物品Xを特定し易いと言える。
ただし、指示範囲Pを規定する円の半径の大きさは、顔向け動作と指差し動作を実行した場合に、複数の物品を個別に識別可能に指示できるような値(物品間の距離)に設定される。同様に、指示範囲Fを規定する円の半径の大きさは、顔向け動作を実行した場合に、複数の物品を個別に識別可能に指示できるような値(物品間の距離)に設定される。
なお、指示範囲Pおよび指示範囲Fは一例であり、限定される必要はない。指示範囲Pおよび指示範囲Fの大きさは、さらに多段階で設定することも可能である。また、この実施例では、腕の角度に応じて指示範囲Pの大きさを決定し、首の角度に応じて指示範囲Fの大きさを決定するようにしてあるが、ロボット12と物品Xとの距離に応じて指示範囲Pの大きさおよび指示範囲Fの大きさを決定するようにしてもよい。
図9(B)に戻って、顔向け動作による指示範囲Fに特定した物品Xおよび他の物品が1つずつ存在する場合には、顔向け動作だけでは人間16は物品Xを特定するのは困難である。したがって、図9(B)に示すような状況(第2の状況)においては、指差し動作を実行することにより、物品Xを特定(指示)することができる。
さらに、図10(A)に示すように、顔向け動作による指示範囲Fに特定した物品Xおよび4つの他の物品が存在し、そのうち、指差し動作による指示範囲Pに物品Xおよび2つの他の物品が存在する場合には、指差し動作を実行したとしても、指示範囲Pに全物品の5分の3の物品が存在するため、指差し動作は、人間16が物品Xを特定するための有効な情報とは言えない。つまり、物品Xの近傍に複数の物品が存在する場合には、指差し動作は実行しない。
ただし、図10(B)に示すように、顔向け動作による指示範囲Fに特定した物品Xおよび4つの他の物品が存在し、そのうち、指差し動作による指示範囲Pに物品Xおよび1つの他の物品が存在する場合には、指差し動作が実行されると、人間16は指示範囲Fから半分以上の物品を絞り込むことができるので、指差し動作は、人間16が物品Xを特定するのに有効な情報として機能する。つまり、指差し動作は、物品Xを絞り込むのに役立つ。したがって、このような場合には、指差し動作は実行される。
このように、この実施例では、指差し動作だけで物品Xを特定できる状況や物品Xを特定するのに役立つ状況において、指差し動作が実行され、それ以外にでは、指差しは実行されない。
図12は図4に示したメモリ204(RAM)のメモリマップ500の一例を示す図解図である。図12に示すように、RAMは、プログラム記憶領域502およびデータ記憶領域504を含む。
プログラム記憶領域502には、サーバ20の全体制御を実行するための情報処理プログラムが記憶され、この情報処理プログラムは、動作制御プログラム502a、音声認識プログラム502b、発話内容生成プログラム502cおよび指示動作生成プログラム502dなどによって構成される。これらのプログラムは、一度に全部または必要に応じて部分的に、HDDから読み出され、RAMのプログラム記憶領域502に記憶される。ただし、プログラムは、図示しないROMに記憶しておき、そこから読み出してもよい。
動作制御プログラム502aは、ロボット12の指差し動作をなどの身体動作についての制御情報を算出し、ロボット12に指示するためのプログラムである。音声認識プログラム502bは、ロボット12から送信される音声信号に対応する音声を認識するためのプログラムである。発話内容生成プログラム502cは、確認行動における発話内容を生成するためのプログラムである。指示動作生成プログラム502dは、顔向け動作を生成するとともに、指差し動作を実行するかどうかを判断するとともに、指差し動作を実行することを判断した場合に、ロボット12の位置と、特定した物品Xの位置とから指差し動作を生成するためのプログラムである。
図示は省略するが、プログラム記憶領域502には、人間16の視線方向を検出するためのプログラムなどの他のプログラムも記憶される。
また、データ記憶領域504には、物品ローカル辞書データ504a、音声認識ローカル辞書データ504b、発話辞書データ504c、個人正誤情報データ504d、指差し指示範囲データ504eおよび顔向け指示範囲データ504fなどが記憶される。さらに、データ記憶領域504には、辞書登録フラグ504gおよび指差しフラグ504hが設けられる。
物品ローカル辞書データ504aは、物品辞書DB122に記憶されたオリジナルの物品辞書(グローバル辞書)から、ロボット12から送信されたユーザIDで特定される人間16を中心として所定の範囲内に存在する物品(本)24のレコードを抽出した一部の物品辞書のデータである。音声認識ローカル辞書データ504bは、音声認識辞書DB126に記憶されたオリジナルの音声認識辞書(グローバル辞書)から、物品ローカル辞書データ504aに対応する一部の物品辞書に登録された物品等を認識するために抽出した一部の音声認識辞書のデータである。
発話辞書データ504cは、サーバ20がロボット12に、人間16に対して発話させる音声の内容すなわち発話内容を生成するために必要な情報についてのデータである。
この実施例では、物品の属性として、種類、色および厚みを含むようにしてあるため、発話内容は、次のような定型の文章で決定されている。たとえば、色と種類についての単語を使用する場合には、「○○の△△ですか?」という発話内容に決定されている。ただし、「○○」のところには、特定した物品Xの属性に記述された色(赤色、青色、黄色、茶色、白色、黒色など)についての単語が入り、「△△」のところには、特定した物品Xの属性に記述された種類(漫画、小説、雑誌など)の単語が入る。以下、同じ。
また、厚みと種類についての単語が使用される場合には、「××△△ですか?」という発話内容に決定されている。ただし、「××」のところには、特定した物品Xの属性に記述された厚み(厚い、薄い)の単語が入る。以下、同じ。
さらに、色と厚みについての単語が使用される場合には、「○○の××本ですか?」という発話内容に決定されている。ただし、この実施例では、物品として本24を用いて説明してあるため、「本」を発話するようにしてあるが、他の物品を用いる場合には、その普通名詞が用いられる。
個人正誤情報データ504dは、ユーザIDに対応して音声認識の成功率が記述されたテーブルについてのデータである。たとえば、音声認識の正誤は、コミュニケーションの回数(累計)における音声認識を成功した回数(特定した物品(本)24が正しかった回数)の割合(パーセンテージ)で表される。
指差し指示範囲データ504eは、指差し動作による指示範囲Pについてのデータであり、上述したように、直線L1に対する指差し方向の角度θに応じて指示範囲Pの半径の大きさが記述されたテーブルデータである。
顔向け指示範囲データ504fは、顔向け動作による指示範囲Fについてのデータであり、上述したように、首関節60のヨー軸(直線L1)に対する顔向き方向に平行な直線(線分)L2の角度αに応じた指示範囲Fの半径の大きさが記述されたテーブルデータである。
辞書登録フラグ504gは、確認行動における発話で使用することが決定され、物品Xを指示するための1つの属性についての単語と物品Xの普通名詞についての単語とで構成される語または複数の属性についての単語で構成される語(以下、これらを「特定語」という。)を音声認識辞書に登録するかどうかを判断するためのフラグである。辞書登録フラグ504gは、1ビットのレジスタで構成されて、当該フラグがオンであれば、レジスタにデータ値「1」が設定され、当該フラグがオフであれば、レジスタにデータ値「0」が設定される。ただし、特定語を音声認識辞書に登録する場合に、辞書登録フラグ504gはオンされ、それを音声認識辞書に登録しない場合には、辞書登録フラグ504gはオフされる。
たとえば、確認行動の発話において、物品Xの種類(ここでは、“漫画”)と色(ここでは、“赤”)の単語が使用される場合には、特定語として“赤色の漫画”が登録される。同様に、物品Xの種類と厚み(ここでは“厚い”)の単語が使用される場合には、特定語として“厚い漫画”が登録される。また、確認行動の発話において、物品Xの色と厚みの単語が使用される場合には、さらに物品Xの普通名詞の単語が用いられ、特定語として“赤色の厚い本”が登録される。説明は省略するが、他の種類、色および厚みの単語が使用される場合についても同様である。
指差しフラグ504hは、指差し動作を実行するかどうかを判断するためのフラグである。この指差しフラグ504hもまた、1ビットのレジスタで構成され、当該フラグがオンであれば、レジスタにデータ値「1」が設定され、当該フラグがオフであれば、レジスタにデータ値「0」が設定される。ただし、指示動作生成プログラム502dに従って、指差し動作を実行することが判断された場合に、指差しフラグ504hはオンされ、指差し動作を実行しないことが判断された場合に、指差しフラグ504hはオフされる。
なお、図示は省略するが、データ記憶領域504には、情報処理プログラムの実行に必要な他のデータが記憶され、必要に応じて、カウンタ(タイマ)や他のフラグ等も設けられる。
図13は、図4に示したCPU200の確認行動決定処理のフロー図である。以下、確認行動決定処理について説明するが、ロボット12は、上述したように、指差し動作前提として、その胴体42および顔が物品Xに対して正面を向くように向きが変更される(旋回される)。
図13に示すように、CPU200は、確認行動決定処理を開始すると、ステップS1で、後述する指差し動作の生成処理(図14参照)を実行し、ステップS2で、ロボット12の位置と物品Xの位置とから顔向け動作を生成する。ここでは、物品Xの位置を、物品ローカル辞書データ504aを参照して取得し、ロボット12の位置から物品Xの位置に当該ロボット12の顔を向ける場合の首関節60のピッチ軸周りの角度βを算出する。
次のステップS3では、初対面のユーザであるかどうかを判断する。ここでは、CPU200は、ロボット12が認識した人間16とコミュニケーションをとるのがはじめてであるか否か、つまり、当該人間16の指示する物品(本)24を特定するのがはじめてであるか否かを判断する。具体的には、CPU200は、ロボット12から送信されたユーザIDが、個人正誤情報データ504dに登録されているかどうかを判断する。
ステップS3で“YES”であれば、つまり初対面のユーザであれば、ステップS5で、確認行動の発話内容に含む(発話に使用する)単語を、特定した物品Xの名称に決定して、ステップS13に進む。一方、ステップS3で“NO”であれば、つまり初対面のユーザでなければ、ステップS7で、当該ユーザについての音声認識の成功率が70%以上であるかどうかを判断する。ただし、CPU200は、個人正誤情報データ504dを参照して、ロボット12から送信されたユーザIDに対応して記述された成功率を取得する。
なお、ステップS7では、音声認識の成功率が高いか低いかを判断する閾値として70%を設定してあるが、これに限定される必要はなく、閾値はこのシステム10を適用する環境や使用形態等によって自由に変更することができる。
ステップS7で“NO”であれば、つまり音声認識の成功率が70%未満であれば、ステップS5に進む。一方、ステップS7で“YES”であれば、つまり音声認識の成功率が70%以上であれば、ステップS9で、後述する単語選択処理(図15参照)を実行する。そして、ステップS11で、辞書登録フラグ504gをオンして、ステップS13に進む。図示および説明は省略したが、CPU200は、確認行動決定処理を開始したときに、辞書登録フラグ504gをオフする。
ステップS13では、発話内容を生成する。ここでは、CPU200は、発話辞書データ504cを参照して、確認行動における発話内容を生成する。このとき、ステップS5で選択された物品Xの名称を示す単語またはステップS9で選択された属性についての単語が用いられる。
次のステップS15では、辞書登録フラグ504gがオンであるかどうかを判断する。ステップS15で“NO”であれば、つまり辞書登録フラグ504gがオフであれば、そのままステップS19に進む。一方、ステップS15で“YES”であれば、つまり辞書登録フラグ504gがオンであれば、ステップS17で、生成された発話内容に含まれる特定語を、物品Xに対応して当該ユーザIDとともに音声認識辞書DB126内の音声認識辞書データに記憶(登録ないし追加)して、ステップS19に進む。
したがって、これ以降に、当該ユーザIDで特定されるユーザが当該物品Xを指示する場合に特定語を用いると、当該特定語を音声認識することにより、対応する当該物品Xを特定することができる。したがって、円滑なコミュニケーションを図ることができる。このような結果をもたらすのは、上述したように、ロボット12が発声した内容を人間16が真似する傾向があるためである。
ステップS19では、指差しフラグ504hがオンであるかどうかを判断する。ステップS19で“YES”であれば、つまり指差しフラグ504hがオンであれば、ステップS21で、ステップS1で生成した指差し動作と、ステップS2で生成した顔向け動作と、ステップS13で決定した発話内容とをロボット12に送信して、確認行動決定処理を終了する。これに応じて、ロボット12は、サーバ20から指示された指差し動作および顔向け動作を実行するとともに、サーバ20から指示された発話内容を発話(音声出力)する。
一方、ステップS19で“NO”であれば、つまり指差しフラグ504hがオフであれば、ステップS23で、ステップS2で生成した顔向け動作と、ステップS13で決定した発話内容とをロボット12に送信して、確認行動決定処理を終了する。これに応じて、ロボット12は、サーバ20から指示された顔向け動作を実行するとともに、サーバ20から指示された発話内容を発話(音声出力)する。
このように、ステップS21またはステップS23の処理に応じて、ロボット12は、特定した物品Xについての確認行動を実行する。そして、図示は省略するが、その後のロボット12へのユーザの返答(“はい”または“いいえ”)に応じて、サーバ20は、この返答の内容を音声認識することにより、個人正誤情報データ504dを更新する。
なお、このような確認決定処理は、ロボット12からの要求がある場合に実行され、ロボット12からの要求が無い場合には、待機状態となっている。
図14は、図13のステップS1に示した指差し動作の生成処理を示すフロー図である。図14に示すように、CPU200は、指差し動作の生成処理を開始すると、ステップS201で、物品Xの位置を中心とする指示範囲Fに他の物品24が有るかどうかを判断する。このとき、CPU200は、物品ローカル辞書データ504aを参照し、物品Xの位置を中心とする指示範囲F内に位置する(座標が含まれる)他の物品24が有るかどうかを判断する。このとき、指示範囲Fは、ロボット12の顔向け方向(視線方向)が物品Xに向けられた場合に、顔向け方向が床面等にぶつかるときの角度αに基づいて決定される。
ステップS201で“NO”であれば、つまり物品Xの位置を中心とする指示範囲Fに他の物品24が無い場合には、顔向け動作のみを実行すれば、人間16が物品Xを特定することができるため、そのままステップS207に進む。
一方、ステップS201で“YES”であれば、つまり物品Xの位置を中心とする指示範囲Fに他の物品24が有る場合には、ステップS203で、物品Xの指示範囲Pに他の物品24が有るかどうかを判断する。このとき、CPU200は、物品ローカル辞書データ504aを参照し、物品Xの指示範囲P内に位置する(座標が含まれる)他の物品24が有るかどうかを判断する。このとき、指示範囲Pは、ロボット12の指差し方向が物品Xに向けられた場合に、指差し方向が床面等にぶつかるときの角度θに基づいて決定される。
ステップS203で“NO”であれば、つまり物品Xの位置を中心とする指示範囲Pに他の物品24が無い場合には、指差し動作を実行すると判断して、ステップS209に進む。ステップS203で“YES”であれば、つまり物品Xの位置を中心とする指示範囲Pに他の物品24が有れば、ステップS205で、指示範囲P内の物品の数が、指示範囲F内の物品の数の半数以上であるかどうかを判断する。つまり、CPU200は、物品Xの近傍に複数の他の物品24が存在していない(物品が密集していない)かどうかを判断する。
ステップS205で“YES”であれば、つまり指示範囲P内の物品の数が、指示範囲F内の物品の数の半数以上であれば、指差し動作を実行しないと判断して、ステップS207で、指差しフラグ504hをオフし、指差し動作の生成処理を終了して、確認行動決定処理にリターンする。
一方、ステップS205で“NO”であれば、つまり指示範囲P内の物品の数が、指示範囲F内の物品の数の半数未満であれば、指差し動作を実行すると判断して、ステップS209で、指差しフラグ504hをオンする。そして、ステップS211で、ロボット12の位置と、特定した物品Xの位置とから指差し動作を生成して、指差し動作の生成処理を終了し、確認行動決定処理にリターンする。ただし、ステップS211では、物品Xの位置を、物品ローカル辞書データ504aを参照して取得し、ロボット12の位置から物品Xの位置に当該ロボット12のハンド56Rを向ける場合の肩関節48Rのピッチ軸周りの角度θを算出する。
図15は、図13のステップS9に示した単語選択処理のフロー図である。図15に示すように、CPU200は、単語選択処理を開始すると、ステップS31で、特定した物品Xの近傍に他の物品が在るかどうかを判断する。ここでは、CPU200は、物品Xに装着された無線タグ18から発信された電波を受信したアンテナ124と同じアンテナ124によって電波を受信された物品24が在るかどうかを判断する。
ステップS31で“YES”であれば、つまり物品Xの近傍に他の物品24が在る場合には、ステップS33で、後述する物品Xの属性組を生成する処理(図16参照)を実行し、ステップS35で、後述する物品Xの近傍にある他の物品の属性組を生成する処理(図17参照)を実行する。続いて、ステップS37で、後述する物品Xの属性組を低減する処理(図18参照)を実行し、ステップS39で、物品Xの属性組から単語数が最小の属性組を抽出する。そして、ステップS41で、後述する単語選択(1)処理(図19参照)を実行して、確認行動決定処理にリターンする。
また、ステップS31で“NO”であれば、つまり物品Xの近傍に他の物品24が無い場合には、ステップS43で、後述する物品Xの呼び名の候補を決定する処理(図20参照)を実行する。次のステップS45では、人間16の近傍に他の物品24が在るかどうかを判断する。ここでは、CPU200は、特定されたユーザIDが示す人間16に装着された無線タグ18から発信された電波を受信したアンテナ124と同じアンテナ124によって電波を受信された物品24が在るかどうかを判断する。
ステップS45で“NO”であれば、つまりユーザの近傍に他の物品24が無ければ、ステップS53で、候補の呼び名から1つの単語を所定のルールで選択して、確認行動決定処理にリターンする。たとえば、CPU200は、ステップS53では、呼び名の候補から1の単語をランダムに選択したり、予めシステム10ないしサーバ20の管理者等が決定した1の属性についての単語を選択したりする。
一方、ステップS45で“YES”であれば、つまりユーザの近傍に他の物品24が在れば、ステップS47で、物品ローカル辞書データ504aを参照して、近傍の他の物品24の属性を検索する。ここでは、CPU200は、他の物品24の物品IDを検索する。続くステップS49では、検索した物品IDに対応して記載されたレコードから、当該他の物品24の属性を取得する。以下、物品24の属性を検索したり、属性を取得したりする場合について同様である。そして、ステップS51で、後述する単語選択(2)処理(図21参照)を実行して、確認行動決定処理にリターンする。
図16に示すように、CPU200は、図15のステップS33に示した物品Xの属性組を生成する処理を開始すると、ステップS61で、物品Xの属性を検索する。続くステップS63では、物品Xの属性を取得する。
続いて、ステップS65では、属性のべき集合を計算する。ここでは、上述したように、物品Xの属性Fcについてのべき集合Power(Fc)が計算される。そして、ステップS67で、べき集合Power(Fc)を物品Xの属性組として生成して、単語選択処理にリターンする。
図17に示すように、CPU200は、図15のステップS35に示した近傍の他の物品の属性組を生成する処理を開始すると、ステップS71で、他の物品K(Kは他の物品を識別するための自然数である。以下、同じ。)の属性を検索し、ステップS73で、他の物品Kの属性を取得する。次のステップS75では、属性のべき集合Power(FK)を計算する。そして、ステップS77で、べき集合Power(FK)を他の物品Kの属性組として生成し、単語選択処理にリターンする。
なお、図17に示す近傍の他の物品の属性組の生成処理は、他の物品毎に実行される。
図18に示すように、CPU200は、図15のステップS37に示した物品Xの属性組を低減する処理を開始すると、ステップS81で、物品Xの属性組のべき集合Power(Fc)と、他の物品Kの属性組のべき集合Power(K)の共通要素を抽出する。ただし、他の物品Kが複数存在する場合には、他の物品K毎に共通要素が抽出される。次のステップS83では、物品Xの属性組から共通要素を削除して、単語選択処理にリターンする。
図19に示すように、CPU200は、図15に示すステップS41に示した単語選択(1)処理を開始すると、物品Xの属性組の文字列と、他の物品Kの属性組の文字列のレーベンシュタイン距離LDの和を算出する。次のステップS91では、レーベンシュタイン距離LDの和が最大となる属性組を確認行動で使用する単語として選択して、単語選択処理にリターンする。
なお、物品Xの属性組の低減処理の結果、物品Xの属性組が一組しか残っていない場合には、単語選択(1)処理を実行するまでもなく、当該一組の属性組が確認行動で使用する単語として選択される。
図20に示すように、CPU200は、図15に示すステップS43に示した物品Xの呼び名の候補を生成する処理を開始すると、ステップS101で、物品Xの属性を検索する。次のステップS103では、物品Xの属性(この実施例では、種類、色、厚みについての単語)を取得する。そして、ステップS105で、各属性を確認行動で使用する単語の候補として決定し、単語選択処理にリターンする。
図21に示すように、CPU200は、図15に示すステップS51に示した単語選択(2)処理を開始すると、ステップS111で、候補の属性の文字列と、ユーザの位置近傍の他の物品毎の属性の文字列のレーベンシュタイン距離LDの和を計算する。ただし、他の物品X毎に、種類、色および厚みのそれぞれについてのレーベンシュタイン距離LDが求められ、その和が計算される。そして、ステップS113では、レーベンシュタイン距離LDの和が最大となる属性(種類、色または厚み)を確認行動で使用する単語として選択し、単語選択処理にリターンする。
この実施例によれば、特定した物品の近傍に存在する他の物品とは異なる属性組を抽出し、さらに、他の物品の属性組とレーベンシュタイン距離が最大の属性組を確認行動で使用する単語として選択するので、予め音声認識率を検出する必要が無く、確認行動で使用する単語を簡単に決定することができる。したがって、確認行動における発話内容を簡単に生成することができる。
また、この実施例によれば、抽出された属性組のうち、単語数が最小となる属性組を抽出するので、人間にとって真似し易い言葉を発話内容に含めることができる。
さらに、この実施例によれば、他の物品とは異なる属性組を発話内容に含めるとともに、当該属性組で決定される言葉(特定語)を、音声認識辞書にユーザに対応して追加的に登録するので、それ以降において、特定語が使用されたとしても、音声認識により特定語が指示する物品を特定することができる。したがって、当該ユーザとのコミュニケーションを円滑に行うことができる。
なお、この実施例では、サーバが音声認識処理および確認行動決定処理を実行するようにしたが、これらの処理をロボットで実行するようにしてもよい。かかる場合には、音声認識辞書データ(音声認識ローカル辞書データ)、物品辞書データ(物品ローカル辞書データ)、発話辞書データおよび個人正誤情報データをロボット内部のメモリやロボットがアクセス可能な外部メモリに記憶する必要がある。
10 …コミュニケーションシステム
12 …コミュニケーションロボット
14 …ネットワーク
18 …無線タグ
20 …サーバ
24 …物品(本)
80 …CPU
120 …カメラ
124 …アンテナ
200 …CPU
208 …無線タグ読取装置

Claims (7)

  1. 音声認識によって人間が指示する物品を特定し、当該特定した物品が当該人間の指示したものであるかを少なくとも音声にて確認するコミュニケーションロボットを備えるコミュニケーションシステムであって、
    物品の名称および当該物品に関連する複数の単語を記憶する記憶手段、
    前記特定した物品に関連する複数の単語を前記記憶手段から読み出して、当該特定した物品を音声にて確認する際の発話内容を生成する発話内容生成手段、
    前記特定した物品を前記コミュニケーションロボットの顔の向きで指示させる顔向け動作を生成する顔向き動作生成手段、
    少なくとも、前記特定した物品を含み、当該特定した物品を顔の向きで指示可能な第1範囲に他の物品が存在するかどうかに応じて、前記コミュニケーションロボットに指差しで指示させる指差し動作を実行させるかどうかを判断する指差し実行判断手段、および
    前記指差し実行判断手段によって指差し動作を実行させることが判断された場合に、当該指差し動作を生成する指差し動作生成手段を備える、コミュニケーションシステム。
  2. 前記指差し実行判断手段は、前記第1範囲に前記他の物品が存在しないことが判断されたとき、前記指差し動作を実行させないことを判断する、請求項1記載のコミュニケーションシステム。
  3. 前記第1範囲に前記他の物品が存在するとき、前記特定した物品を前記指差しで指示可能であり、前記第1範囲よりも狭い第2範囲に当該他の物品が存在するかどうかを判断する他物品存在判断手段をさらに備え、
    前記指差し実行判断手段は、前記他物品存在判断手段によって前記他の物品が前記第2範囲に存在しないことが判断されたとき、前記指差し動作を実行させることを判断する、請求項2記載のコミュニケーションシステム。
  4. 前記他物品存在判断手段によって前記他の物品が前記第2範囲に存在することが判断されたとき、前記第2範囲内の物品の数が前記第1範囲内の物品の数の半数以上であるかどうかを判断する物品数判断手段をさらに備え、
    前記指差し実行判断手段は、前記物品数判断手段によって前記半数以上であることが判断されたとき、前記指差し動作を実行させないことを判断し、前記物品数判断手段によって前記半数未満であることが判断されたとき、前記指差し動作を実行させることを判断する、請求項3記載のコミュニケーションシステム。
  5. 音声認識によって人間が指示する物品を特定し、当該特定した物品が当該人間の指示したものであるかを少なくとも音声にて確認するコミュニケーションロボットの確認行動決定装置であって、
    物品の名称および当該物品に関連する複数の単語を記憶する記憶手段、
    前記特定した物品に関連する複数の単語を前記記憶手段から読み出して、当該特定した物品を音声にて確認する際の発話内容を生成する発話内容生成手段、
    前記特定した物品を前記コミュニケーションロボットの顔の向きで指示させる動作を生成する顔向き動作生成手段、
    少なくとも、前記特定した物品を含み、当該特定した物品を顔の向きで指示可能な第1範囲に他の物品が存在するかどうかに応じて、前記コミュニケーションロボットに指差しで指示させる動作を実行させるかどうかを判断する指差し実行判断手段、および
    前記指差し実行判断手段によって指差しで指示させる動作を実行させることが判断された場合に、当該指差しで指示させる動作を生成する指差し動作生成手段を備える、確認行動決定装置。
  6. 物品の名称および当該物品に関連する複数の単語を記憶する記憶手段を備え、音声認識によって人間が指示する物品を特定し、当該特定した物品が当該人間の指示したものであるかを少なくとも音声にて確認するコミュニケーションロボットの確認行動を決定するコンピュータで実行される確認行動決定プログラムであって、
    前記コンピュータのプロセッサに、
    前記特定した物品に関連する複数の単語を前記記憶手段から読み出して、当該特定した物品を音声にて確認する際の発話内容を生成する発話内容生成ステップ、
    前記特定した物品を前記コミュニケーションロボットの顔の向きで指示させる顔向け動作を生成する顔向き動作生成ステップ、
    少なくとも、前記特定した物品を含み、当該特定した物品を顔の向きで指示可能な第1範囲に他の物品が存在するかどうかに応じて、前記コミュニケーションロボットに指差しで指示させる指差し動作を実行させるかどうかを判断する指差し実行判断ステップ、および
    前記指差し実行判断ステップにおいて指差し動作を実行させることを判断した場合に、当該指差し動作を生成する指差し動作生成ステップを実行させる、確認行動決定プログラム。
  7. 物品の名称および当該物品に関連する複数の単語を記憶する記憶手段を備え、音声認識によって人間が指示する物品を特定し、当該特定した物品が当該人間の指示したものであるかを少なくとも音声にて確認するコミュニケーションロボットの確認行動を決定するコンピュータの確認行動決定方法であって、
    前記コンピュータは、
    (a)前記特定した物品に関連する複数の単語を前記記憶手段から読み出して、当該特定した物品を音声にて確認する際の発話内容を生成し、
    (b)前記特定した物品を前記コミュニケーションロボットの顔の向きで指示させる顔向け動作を生成し、
    (c)少なくとも、前記特定した物品を含み、当該特定した物品を顔の向きで指示可能な第1範囲に他の物品が存在するかどうかに応じて、前記コミュニケーションロボットに指差しで指示させる指差し動作を実行させるかどうかを判断し、そして
    (d)前記ステップ(c)において指差し動作を実行させることを判断した場合に、当該指差し動作を生成する、確認行動決定プログラム。
JP2015046319A 2015-03-09 2015-03-09 コミュニケーションシステム、確認行動決定装置、確認行動決定プログラムおよび確認行動決定方法 Active JP6468643B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015046319A JP6468643B2 (ja) 2015-03-09 2015-03-09 コミュニケーションシステム、確認行動決定装置、確認行動決定プログラムおよび確認行動決定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015046319A JP6468643B2 (ja) 2015-03-09 2015-03-09 コミュニケーションシステム、確認行動決定装置、確認行動決定プログラムおよび確認行動決定方法

Publications (2)

Publication Number Publication Date
JP2016166952A JP2016166952A (ja) 2016-09-15
JP6468643B2 true JP6468643B2 (ja) 2019-02-13

Family

ID=56898475

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015046319A Active JP6468643B2 (ja) 2015-03-09 2015-03-09 コミュニケーションシステム、確認行動決定装置、確認行動決定プログラムおよび確認行動決定方法

Country Status (1)

Country Link
JP (1) JP6468643B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107223082B (zh) * 2017-04-21 2020-05-12 深圳前海达闼云端智能科技有限公司 一种机器人控制方法、机器人装置及机器人设备
JP6886663B2 (ja) * 2018-02-19 2021-06-16 日本電信電話株式会社 動作指示生成システム、方法およびプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5866646B2 (ja) * 2011-11-30 2016-02-17 株式会社国際電気通信基礎技術研究所 コミュニケーションシステム、発話内容生成装置、発話内容生成プログラムおよび発話内容生成方法

Also Published As

Publication number Publication date
JP2016166952A (ja) 2016-09-15

Similar Documents

Publication Publication Date Title
JP5429462B2 (ja) コミュニケーションロボット
JP4560078B2 (ja) コミュニケーションロボット
JP7375748B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP5366048B2 (ja) 情報提供システム
JP2007260822A (ja) 道案内ロボット
JP5145569B2 (ja) 対象物特定方法および装置
JP2009241166A (ja) ロボット遠隔操作システム
Randelli et al. Knowledge acquisition through human–robot multimodal interaction
JP7120254B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP6134895B2 (ja) ロボット制御システム、ロボット制御プログラムおよび説明ロボット
JP2011227237A (ja) コミュニケーションロボット
JP4399603B2 (ja) コミュニケーションロボット
US20200269421A1 (en) Information processing device, information processing method, and program
JP5866646B2 (ja) コミュニケーションシステム、発話内容生成装置、発話内容生成プログラムおよび発話内容生成方法
JP6468643B2 (ja) コミュニケーションシステム、確認行動決定装置、確認行動決定プログラムおよび確認行動決定方法
JP2009131914A (ja) ロボット制御システム
JP2015066623A (ja) ロボット制御システムおよびロボット
JP2007160427A (ja) ロボット制御システム
JP5163202B2 (ja) 物品推定システム
JP5194314B2 (ja) コミュニケーションシステム
Silva et al. Navigation and obstacle avoidance: A case study using Pepper robot
CN113056315B (zh) 信息处理装置、信息处理方法和程序
JP2009223170A (ja) 音声認識システム
JP5324956B2 (ja) 道案内ロボット
JP2011180660A (ja) 領域分割装置、領域分割プログラムおよび領域分割方法ならびにコミュニケーションロボット

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180122

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181211

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: 20181218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190111

R150 Certificate of patent or registration of utility model

Ref document number: 6468643

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250