(57)【要約】【課題】簡易な構成で速やかに発話したユーザを特定して振り向くことができるようにしたロボットおよびロボット制御方法を提供すること。【解決手段】ロボット１は、少なくとも一つのカメラ２３２と複数のマイクロホン２３１とを有するロボット本体１０と、ロボット本体を制御するロボット制御部２０とを有し、ロボット制御部は、ロボット本体の周囲のユーザをカメラで撮影することにより、ユーザのロボット本体に対する位置をユーザ位置マップ２２８として管理し、各マイクロホンで検出された音声の到着時刻の差に基づいて音声到来方向を判定し、判定された音声到来方向とユーザ位置マップとを照合することにより、音声到来方向に対応するユーザを特定し、特定されたユーザに向けてロボット本体の頭部を振り向かせる。【選択図】図１
2019095523.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一つのカメラと複数のマイクロホンとを有するロボット本体と、
前記ロボット本体を制御するロボット制御部とを有し、
前記ロボット制御部は、
前記ロボット本体の周囲のユーザを前記カメラで撮影することにより、前記ユーザの前記ロボット本体に対する位置をユーザ位置マップとして管理し、
前記各マイクロホンで検出された音声の到着時刻の差に基づいて、音声到来方向を判定し、
前記判定された音声到来方向と前記ユーザ位置マップとを照合することにより、前記音声到来方向に対応するユーザを特定し、前記特定されたユーザに向けて前記ロボット本体の頭部を振り向かせる、
ロボット。
【請求項２】
前記ロボット制御部は、前記ロボット本体の顔の正面にユーザが存在しない場合に、前記特定されたユーザに向けて前記頭部を振り向かせる、
請求項１に記載のロボット。
【請求項３】
前記ロボット制御部は、前記特定されたユーザを前記カメラで撮影し、前記特定されたユーザの顔が前記ロボット本体の顔の正面を向いている場合は、前記特定されたユーザの発話の認識結果に応じて応答し、前記特定されたユーザの顔が前記ロボット本体の顔の正面を向いていない場合は、前記特定されたユーザの発話の認識結果を前記特定されたユーザに対して確認する、
請求項１または２のいずれか一項に記載のロボット。
【請求項４】
前記ロボット制御部は、前記各マイクロホンの指向性を合成した総合的指向性を、前記ロボット本体の顔の正面にユーザが存在する場合には前記ロボット本体の顔の正面方向に向くように調整し、前記ロボット本体の顔の正面にユーザが存在しない場合には前記ユーザ位置マップにて管理されている他のユーザの方向に向くように調整する、
請求項３に記載のロボット。
【請求項５】
前記ロボット制御部は、前記カメラの撮影可能範囲を分割してなる分割領域ごとの撮影時刻を記憶する空間タイムスタンプ情報と、前記カメラにより撮影された前記各分割領域の画像を顔認証した結果を記憶する人物タイムスタンプ情報とを用いることにより、各分割領域におけるユーザの存在を所定の頻度で確認する、
請求項１〜４のいずれか一項に記載のロボット。
【請求項６】
前記所定の頻度は、前記各分割領域のうち前記ロボット本体の正面の所定範囲内の分割領域を確認する頻度と、前記各分割領域のうち前記カメラまたは前記各マイクロホンのいずれかによりユーザの存在が検知された方向の分割領域を確認する頻度とが高く設定されており、それ以外の分割領域の頻度は低く設定されている、
請求項５に記載のロボット。
【請求項７】
前記所定の頻度は、前記各分割領域のうち前記人物タイムスタンプ情報によりユーザの存在が検出された分割領域に対して、前記ユーザの存在が検出されてから所定時間が経過するまでの間高く設定される、
請求項６に記載のロボット。
【請求項８】
前記所定の頻度は、前記ロボット本体の使用場面に応じて設定することができる、
請求項５〜７のいずれか一項に記載のロボット。
【請求項９】
少なくとも一つのカメラと複数のマイクロホンとを有するロボットを制御する方法であって、
前記ロボット本体の周囲のユーザを前記カメラで撮影することにより、前記ユーザの前記ロボット本体に対する位置をユーザ位置マップとして管理し、
前記各マイクロホンで検出された音声に基づいて音声到来方向を判定し、
前記判定された音声到来方向と前記ユーザ位置マップとを照合することにより、前記音声到来方向に対応するユーザを特定し、前記特定されたユーザに向けて前記ロボット本体の頭部を振り向かせる、
ロボット制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットおよびロボット制御方法に関する。
【背景技術】
【０００２】
近年、一人または複数の人間（ユーザ）との間でコミュニケーションを行うロボットが開発されている（特許文献１，２，３）。ロボットの視野の外にいるユーザから呼びかけられた場合には、呼びかけられた方向にロボットが振り向いて応答するのが自然な動作である。
【０００３】
特許文献１には、画像認識と音声認識を併用して正確に相手を検出して対話するロボットが開示されている。特許文献１では、視野外の話者からの呼びかけに対して音源方向を特定し、振り向いて対話することが開示されている。さらに、特許文献１には、呼びかけに対しては広い指向性で音源方向を推定し、対話時には話者方向に指向性を限定することも記載されている。
【０００４】
特許文献２には、２つのマイクで検出した入力音の時系列の相互相関関数から時系列間の位相差を推定して音到達時間差を求め、音到達時間差に基づいて音源方向を特定し、特定した音源方向に撮影手段を向けるロボットが開示されている。
【０００５】
特許文献３には、ロボットとユーザの顔の位置関係を示す顔位置情報を記憶し、この顔位置情報を利用して、ユーザの注意を喚起し興味を惹きつけるように振り向くロボットが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−２５１２６６号公報
【特許文献２】特許第４６８９１０７号明細書
【特許文献３】特開２０１６−６８１９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
前記特許文献１，２では、音源方向を正確に推定するために、多量の計算リソースを必要とする。これにより特許文献１，２では、音源方向の計算に要する時間も長くなり、短時間で自然に応答するのが難しい上に、製造コストも増大する。
【０００８】
特許文献３は、小型で安価なコミュニケーションロボットを開示するが、音声の到来方向とロボット周囲のユーザの位置情報とから発話者を特定する技術ではない。
【０００９】
本発明は、上記の課題に鑑みてなされたもので、その目的は、簡易な構成で速やかに発話したユーザを特定して振り向くことができるようにしたロボットおよびロボット制御方法を提供することにある。
【課題を解決するための手段】
【００１０】
本発明の一つの観点に係るロボットは、少なくとも一つのカメラと複数のマイクロホンとを有するロボット本体と、ロボット本体を制御するロボット制御部とを有し、ロボット制御部は、ロボット本体の周囲のユーザをカメラで撮影することにより、ユーザのロボット本体に対する位置をユーザ位置マップとして管理し、各マイクロホンで検出された音声の到着時刻の差に基づいて音声到来方向を判定し、判定された音声到来方向とユーザ位置マップとを照合することにより、音声到来方向に対応するユーザを特定し、特定されたユーザに向けてロボット本体の頭部を振り向かせる。
【００１１】
ロボット制御部は、ロボット本体の顔の正面にユーザが存在しない場合に、特定されたユーザに向けて頭部を振り向かせてもよい。
【００１２】
ロボット制御部は、特定されたユーザをカメラで撮影し、特定されたユーザの顔がロボット本体の顔の正面を向いている場合は、特定されたユーザの発話の認識結果に応じて応答し、特定されたユーザの顔がロボット本体の顔の正面を向いていない場合は、特定されたユーザの発話の認識結果を特定されたユーザに対して確認してもよい。
【００１３】
ロボット制御部は、各マイクロホンの指向性を合成した総合的指向性を、ロボット本体の顔の正面にユーザが存在する場合にはロボット本体の顔の正面方向に向くように調整し、ロボット本体の顔の正面にユーザが存在しない場合にはユーザ位置マップにて管理されている他のユーザの方向に向くように調整することもできる。すなわち、ロボット制御部は、各マイクロホンの指向性を合成した総合的指向性を、特定の方向へ調整することができる。
【００１４】
ロボット制御部は、カメラの撮影可能範囲を分割してなる分割領域ごとの撮影時刻を記憶する空間タイムスタンプ情報と、カメラにより撮影された各分割領域の画像を顔認証した結果を記憶する人物タイムスタンプ情報とを用いることにより、各分割領域におけるユーザの存在を所定の頻度で確認することもできる。
【００１５】
所定の頻度は、各分割領域のうちロボット本体の正面の所定範囲内の分割領域を確認する頻度と、各分割領域のうちカメラまたは各マイクロホンのいずれかによりユーザの存在が検知された方向の分割領域を確認する頻度とが高く設定されており、それ以外の分割領域の頻度は低く設定されてもよい。
【００１６】
所定の頻度は、各分割領域のうち人物タイムスタンプ情報によりユーザの存在が検出された分割領域に対して、ユーザの存在が検出されてから所定時間が経過するまでの間高く設定することもできる。
【００１７】
所定の頻度は、ロボット本体の使用場面に応じて設定することができる。
【図面の簡単な説明】
【００１８】
【図１】本実施形態に係るロボットの全体概要を示す説明図。
【図２】ロボット制御部の構成例を示す説明図。
【図３】音声到来方向を複数のマイクロホンで推定する手法を示す説明図。
【図４】各マイクロホンの音声到着時間の差から音声到来方向を判別するための判定テーブルの例を示す。
【図５】ロボット頭部に搭載されたカメラで撮影可能な範囲を複数の領域に分割してユーザの顔画像を管理する手法を示す説明図。
【図６】分割領域毎の撮影時刻を管理する空間タイムスタンプの例。
【図７】ユーザの顔認証の結果を管理する人物タイムスタンプの例。
【図８】ユーザ位置マップの構成例。
【図９】ユーザ位置に応じてマイクロホンの指向性を調整する様子を示す説明図。
【図１０】ユーザ位置マップを生成する処理を示すフローチャート。
【図１１】コミュニケーションを実行する全体処理のフローチャート。
【図１２】第２実施例に係り、全体処理のフローチャート。
【図１３】第３実施例に係り、使用場面に応じて首振り周期を設定する処理を示すフローチャート。
【発明を実施するための形態】
【００１９】
本実施形態では、以下に詳述する通り、高速であるが分解能の低い音声到来方向判定部２４と、ロボット１とユーザ（例えばユーザの顔）との位置関係を記憶したユーザ位置マップ２２８とを連携させることにより、発話したユーザを速やかに特定してロボット頭部１２を振り向かせることができるようにしたロボットを提供する。
【００２０】
図１は、本実施形態に係るロボット１の全体概要を示す。ロボット１の詳細は、図２以降で詳述する。ロボット１は、一人または複数のユーザとコミュニケーションすることができるコミュニケーションロボットとして構成されている。
【００２１】
ここで、ユーザとは、ロボット１の提供するサービスを利用する人間であり、例えば、介護施設のユーザ、病院の入院患者、銀行やホテルなどの施設を利用する顧客、保育園や幼稚園の園児、家庭内の家族などである。
【００２２】
ロボット１は、使用場面に応じたサービスを提供することができる。家庭内で使用されるロボット１は、例えば、家族からの質問を受けて情報を検索したり、クイズやゲームなどの相手をしたり、日常的な会話をしたりする。介護施設で使用されるロボット１は、例えば、クイズ、ゲーム、体操、ダンスなどのレクリエーション活動を提供する。銀行、ホテル、病院などの受付で使用されるロボット１は、例えば、ユーザの行き先へ案内したり、担当者へ連絡したりする。使用場面に応じて、コミュニケーションのパラメータを調整する例は後述する。
【００２３】
ロボット１は、ロボット本体１０と、ロボット本体１０を制御するためのロボット制御部２０を備える。ロボット本体１０は、ユーザが親しみやすいように、人型に形成されるが、これに限らず、猫、犬、うさぎ、熊、象、キリン、ラッコなどの動物形状に形成してもよいし、ひまわりなどの草花形状などに形成してもよい。要するに、ロボット１は、対面して会話しているかのような印象をユーザに与えることのできる形態やデザインを備えていればよい。本実施形態では、ロボット本体１０を人型に形成する場合を例に挙げて説明する。
【００２４】
ロボット本体１０は、例えば胴体１１と、頭部１２と、両腕部１３と、両脚部１４を備えている。頭部１２、両腕部１３および両脚部１４は、アクチュエータ２３０（図２で後述）により動作する。例えば、頭部１２は、上下左右に回動可能である。両腕部１３は上げ下げしたり、前後に動かしたりできる。両脚部１４は、膝の折り曲げなどができ、歩行することができる。
【００２５】
ロボット制御部２０は、ロボット本体１０の内部に設けられている。ロボット制御部２０の全機能をロボット本体１０内に設けてもよいし、一部の機能をロボット本体１０の外部の装置、例えば、通信ネットワーク上のコンピュータなどに設ける構成でもよい。例えば、ユーザとのコミュニケーションに必要な処理の一部を外部コンピュータで実行し、その実行結果を外部コンピュータからロボット制御部２０へ送信することで、コミュニケーション処理を実行する構成としてもよい。
【００２６】
ロボット制御部２０は、図２で後述するようにマイクロコンピュータシステムを利用して構成されており、画像認識部２１、動体検出部２２、音声認識部２３、音声到来方向判定部２４、コミュニケーション維持部２５、イベント検出部２６、ユーザ位置マップ管理部２７、首振り制御部２８、対話制御部２９といった各機能を実現する。これら機能２１〜２９については後述する。
【００２７】
ロボット制御部２０は、頭部１２に搭載したマイクロホン２３１（以下、マイク２３１）やスピーカ２３３（図２参照）などを用いて、ユーザと対話することができる。なお、マイク２３１の検出する音は正確には音声に限らない。物音や足音などの雑音もマイク２３１で検出することができる。
【００２８】
また、ロボット制御部２０は、頭部１２に搭載したカメラ２３２を用いて、各ユーザの顔を識別したり、ユーザの顔とロボット１との位置関係を示すユーザ位置マップ２２８を作成したりすることができる。
【００２９】
ロボット制御部２０は、周囲を見渡すことでユーザＵ１，Ｕ２の存在を認識し、顔の位置を特定して記憶する。以下の説明では、首振り動作を、頭部１２を回動させると表現する場合がある。
【００３０】
ロボット制御部２０は、カメラ２３２の撮影可能範囲２００を複数の領域２０１に分割して、ロボット１の周囲に位置するユーザＵ１，Ｕ２を管理する。詳細は図５で後述するが、各領域２０１は、ロボット１の視野から切り取られるものである。すなわち各領域２０１は、カメラ２３２で一度に撮影できる領域の中から領域２０１に相当する部分を切り出したものである。領域２０１を分割領域２０１と呼ぶこともできる。図１では、ロボット１を基準として左右方向を５つに、上下方向を３つに区切るように領域２０１を設定しているが、これらの数値は一例であり、限定されない。
【００３１】
ロボット制御部２０は、頭部１２を左右または上下に回動させることにより、各領域２０１を一つずつ撮影し、ユーザの顔を検出する。例えば、ロボット１の頭部１２がユーザＵ２の方を向いており、カメラ２３２がユーザＵ２を撮影している場合、カメラ２３２には別の領域２０１内に位置するユーザＵ１は映らない。この場合ユーザＵ１は、カメラ２３２の視野外、すなわちロボット１の視野の外に位置することになる。
【００３２】
ロボット制御部２０の各機能を説明する。画像認識部２１は、カメラ２３２で撮影された画像データを解析することにより、ユーザの顔などを認識する機能である。動体検出部２２は、画像認識部２１の認識結果から何らかの物体の動きを検出する機能である。画像認識部２１および動体検出部２２は、例えば、後述の画像処理部２１５とＣＰＵ２１１との共同作業により実現される。
【００３３】
音声認識部２３は、各マイク２３１で検出された音声を認識する機能である。音声到来方向判定部２４は、音声の到来方向を判別する機能である。音声認識部２３および音声到来方向判定部２４は、後述の音声処理部２１４とＣＰＵ２１１との共同作業により実現される。
【００３４】
コミュニケーション維持部２５は、ユーザとのコミュニケーションが行われている場合に、そのコミュニケーションを維持する機能である。コミュニケーション維持部２５は、イベント検出部２６の検出したイベントに基づいた首振り動作の実施を阻止する。すなわち、ロボット１が或るユーザと対話している場合は、他のユーザから呼びかけられたとしても、その呼びかけに応答するのを禁止させる。コミュニケーション維持部２５は、ＣＰＵ２１１により実現される。
【００３５】
イベント検出部２６は、首振り動作を行うべき所定のイベントが発生したか検出する機能である。所定のイベントとしては、例えば、ロボット１の現在の視野外から呼びかけられた場合や、視野の隅で何らかの動きが検出された場合を挙げることができる。イベント検出部２６は、ＣＰＵ２１１により実現される。イベント検出部２６は、ＣＰＵ２１１により実現される。
【００３６】
ユーザ位置マップ管理部２７は、例えば、いつどこに誰が存在したかといったユーザ位置マップ２２８を生成して管理する機能である。ユーザ位置マップ２２８の一例は、図８で後述する。ユーザ位置マップの生成方法については、図１０で後述する。ユーザ位置マップ管理部２７は、ＣＰＵ２１１により実現される。
【００３７】
首振り制御部２８は、イベント検出部２６により所定のイベントが検出されると、ロボット１の頭部１２を所定方向に旋回させる。さらに、首振り制御部２８は、上下方向に頭部１２をチルト動作させることができる。首振り制御部２８は、後述のアクチュエータ制御部２２１とＣＰＵ２１１の共同作業により実現される。
【００３８】
対話制御部２９は、ユーザの音声に対応する合成音声を応答する機能である。対話制御部２９は、ユーザが所定のコマンド（キーワード）を発した場合には、そのコマンドに応じた動作を実行する。例えば、ユーザが「クイズ」と言った場合、対話制御部２９は、クイズを出題する。また例えば、ユーザが「○○への行き方を教えて」と言った場合、対話制御部２９は、ユーザの希望する場所へ案内するための情報を発話する。
【００３９】
なお、図１に示す機能構成は、その全てが必要であるとは限らない。一部の機能は省略することもできる。また、ある機能と別のある機能とを結合させたり、一つの機能を複数に分割したりしてもよい。さらに、図１では、各機能間の関係は主要なものを示しており、接続されていない機能間であっても必要な情報は交換可能である。
【実施例１】
【００４０】
図２は、ロボット制御部２０の構成説明図である。ロボット制御部２０は、例えば、マイクロプロセッサ（以下ＣＰＵ）２１１、ＲＯＭ（Read Only Memory）２１２、ＲＡＭ（Random Access Memory）２１３、音声処理部２１４、画像処理部２１５、音声出力部２１６、センサ制御部２１７、通信部２１８、タイマ２１９、記憶装置２２０、アクチュエータ制御部２２１、バス２２２、図示せぬ電源装置などを備える。
【００４１】
ロボット制御部２０は、通信プロトコルを有する通信部２１８から通信ネットワークを介して外部装置（いずれも図示せず）と双方向通信することができる。外部装置は、例えば、パーソナルコンピュータ、タブレットコンピュータ、携帯電話、携帯情報端末などのように構成してもよいし、サーバコンピュータとして構成してもよい。
【００４２】
ＣＰＵ２１１は、記憶装置２２０に格納されているコンピュータプログラム２２３を読み込んで実行することにより、ユーザと対話等する。
【００４３】
ＲＯＭ２１２には、システム起動用のコンピュータプログラム（不図示）が記憶される。ＲＡＭ２１３は、ＣＰＵ２１１により作業領域として使用されたり、管理や制御に使用するデータの全部または一部を一時的に記憶したりする。
【００４４】
音声処理部２１４は、頭部１２の周囲に配置された各マイク２３１から取得した音データを解析し、周囲の音声を認識する。音声到来方向を判定できるのであれば、マイク２３１の設置場所は問わない。ただし、モータ音などの雑音を拾わないように、関節から離れた場所に配置してもよい。
【００４５】
画像処理部２１５は、一つまたは複数のカメラ２３２から取得した画像データを解析して、ユーザの顔など周囲の画像を認識する。音声出力部２１６は、音声処理部２１４の認識結果や画像処理部２１５での認識結果などに応じた応答を、音声としてスピーカ２３３から出力する。
【００４６】
センサ制御部２１７は、ロボット本体１０に設けられる一つまたは複数のセンサ２３４からの信号を受信して処理する。センサ２３４としては、例えば、距離センサ、圧力センサ、ジャイロセンサ、加速度センサ、障害物検出センサ等がある。
【００４７】
なお、センサ２３４、マイク２３１、カメラ２３２、スピーカ２３３などは、全てロボット本体１０内に搭載されている必要はなく、ロボット本体１０の外部に設けられていてもよい。例えば、介護施設の室温を検出する温度センサからの信号を、ロボット制御部２０は取り込んで利用することができる。またロボット制御部２０は、施設内に設置されたカメラやマイク、スピーカと無線で接続することで利用することもできる。
【００４８】
記憶装置２２０は、例えば、ハードディスクドライブ、フラッシュメモリデバイスなどの比較的大容量の記憶装置として構成することができる。記憶装置２２０は、例えば、コンピュータプログラム２２３、コンテンツデータ２２４、音声到来方向判定テーブル２２５、空間タイムスタンプ２２６、人物タイムスタンプ２２７、ユーザ位置マップ２２８およびユーザ管理テーブル２２９を記憶する。なお、記憶装置２２０に記憶させる情報（プログラム、データ）は、図２に示すものに限らない。
【００４９】
コンピュータプログラム２２３は、ロボット１の持つ各機能２１〜２９を実現するためのプログラムである。実際には、例えば、画像認識プログラム、音声認識プログラム、対話制御プログラム、音声到来方向判定プログラムなどの複数のコンピュータプログラムがあるが、図２では、一つのコンピュータプログラム２２３として示す。
【００５０】
コンテンツデータ２２４は、例えば、クイズ、ゲーム、体操、ダンス、案内などの各種コンテンツをロボット１が実演するためのシナリオデータである。上述した全てのコンテンツをロボット１は備えてもよいし、ロボット１の使用場面に応じたコンテンツだけを備えてもよい。
【００５１】
音声到来方向判定テーブル２２５は、各マイク２３１の音声到着時間の差に基づいて、その音声の到来した方向を判別するために用いる情報である。
【００５２】
空間タイムスタンプ２２６は、「空間タイムスタンプ情報」の例であり、例えば、分割領域２０１ごとの撮影時刻を記憶する。
【００５３】
人物タイムスタンプ２２７は、「人物タイムスタンプ情報」の例であり、例えば、各分割領域２０１でのユーザの顔の認証結果とその位置情報とを対応づけて記憶する。
【００５４】
ユーザ位置マップ２２８は、例えば、いつ、どの位置に、誰が存在するかを管理する情報である。
【００５５】
ユーザ管理テーブル２２９は、ユーザの顔の特徴を示すデータとユーザの氏名およびユーザＩＤを対応づけて記憶する。ユーザＩＤとしてユーザ氏名を用いてもよい。ユーザ氏名は本名である必要はなく、愛称や番号などでもよい。
【００５６】
アクチュエータ制御部２２１は、各種アクチュエータ２３０を制御する。各種アクチュエータ２３０としては、例えば、頭部１２、腕部１３、脚部１４などを駆動する電動モータなどがある。
【００５７】
図３，図４は、音声到来方向を複数のマイク２３１で推定する方法を示す。本実施例では、音声到来方向を高速に推定するために、計算量の多い複雑な音声分析を行わない。本実施例では、複数のマイク２３１で検出した音声の到着時間差から音声到来方向を短時間で推定する。但し、推定の精度（分解能）は低い。
【００５８】
図３に示すように、一つの例として、頭部１２の前後左右にそれぞれ一つずつマイク２３１を配置する場合を説明する。例えば、ロボット頭部１２において、左右の耳部と首の前後とにそれぞれマイク２３１（Ｍ１，Ｍ２，Ｍ３，Ｍ４）を設ける。ここでは、マイク２３１を区別するために、Ｍ１〜Ｍ４の符号を用いる。
【００５９】
図４の音声到来方向判定テーブル２２５には、前後のマイクＭ１，Ｍ２のペアと左右のマイクＭ３，Ｍ４のペアとで、音声到着時間差のパターンから、音声到来方向を推定できることが示されている。
【００６０】
音声到来方向判定テーブル２２５は、例えば、マイクＭ１，Ｍ２のペアにおける音声到着時間の差２２５１と、マイクＭ３，Ｍ４のペアにおける音声到着時間の差２２５２と、判別結果である音声到来方向２２５３とを対応づけて管理する。
【００６１】
例えば、前方のマイクＭ１への音声到着時間の方が後方のマイクＭ２への音声到着時間よりも速く、左右のマイクＭ３，Ｍ４ではほとんど音声到着時間に差がない場合、ロボット頭部１２の正面前方から音声が発せられたと判定することができる。また、例えば、前方マイクＭ１の音声到着時間の方が後方マイクＭ２の音声到着時間よりも速く、かつ、左方マイクＭ３の音声到着時間の方が右方マイクＭ４の音声到着時間よりも速い場合は、ロボット頭部１２の左斜め前から音声が発せられたと判定することができる。
【００６２】
すなわち、本実施例では、頭部１２の前後左右にそれぞれマイク２３１を配置し、各マイク２３１への音声到着時間の差から音声の発せられた方向（音声到来方向）を判定するため、「前」「右前」「右」「右後」「後」「左後」「左」「左前」の８方向で方向を判別することができる。なお、この場合、マイク２３１の検出した音声信号だけに基づいて音声到来方向を判別すると、最大４５度／２＝２２．５度のズレを生じうる。
【００６３】
図５は、ロボット１の周囲に位置するユーザの存在を管理するユーザ位置マップ２２８の管理手法を示す説明図である。
【００６４】
図５の上側に示すように、ユーザ位置マップ２２８は、ロボット１が停止した状態で、頭部１２を左右または上下に首振りして得られる撮影可能領域２００に対して複数の領域２０１を設定し、認識されたユーザの顔画像の位置を対応づける。詳細は後述する。
【００６５】
本実施例では、撮影可能領域２００に対して、上下方向（ピッチ方向）に上段（Ａ）、中段（Ｂ）、下段（Ｃ）の３つに区切ると共に、左右方向（ヨー方向）を正面を中心として５つに区切る。本実施例では、ロボット１が停止した状態でカメラ２３２により撮影可能な全領域に対して、Ａ１〜Ａ５，Ｂ１〜Ｂ５，Ｃ１〜Ｃ５の合計１５個の領域２０１を設定して管理する。
【００６６】
図５の下側には、ある段を構成する５つの領域２０１が示されている。頭部１２を回動させることによりカメラ２３２で撮影可能な範囲をθ１とし、カメラ２３２の画角をθ２とする。各領域２０１は、カメラで撮影した画像（画角θ２）内の所定領域として設定されている。領域２０１の画角をθ３とする（θ３＜θ２＜θ１）。カメラ２３２で撮影する画像と領域２０１の間には隙間が生じるが、この隙間の画像も動体検出などの処理に利用する。つまり、図５の下側に示すように、カメラ２３２で撮影する範囲と領域２０１との間には若干の差異がある。
【００６７】
本実施例では、所定時間以上撮影しない領域２０１が生じないように、頭部１２を動かしてカメラ２３２で撮影し、撮影時刻のタイムスタンプを空間タイムスタンプ２２６に記録する。なお、撮影対象領域２０１への移動中に通過しただけの領域２０１は、撮影していないので空間タイムスタンプ２２６にタイムスタンプを記録しない。
【００６８】
ここで、首振り制御の概要を先に説明する。首振り制御とは、頭部１２を移動させながらカメラ２３２でユーザを撮影する制御である。首振り制御は、例えば、（１）起動時、（２）定常動作時、（３）イベント検出時の３つに大別することができる。
【００６９】
（１）起動時
【００７０】
ロボット１の電源を投入した起動時には、頭部１２は正面を向いて撮影する。これにより例えば領域Ｂ３が撮影される。
【００７１】
（２）定常動作時
【００７２】
ロボット１が起動して定常動作に移行すると、各領域２０１をそれぞれの所定頻度で撮影できるように、頭部１２の向く方向を変化させながらカメラ２３２で撮影する。本実施例では、首振り制御の優先度を、例えば、左右方向＞上方向＞下方向となるように設定している。各段では、それぞれ正面に近いほど頻度が大きくなるように設定する。
【００７３】
したがって、例えば、Ｂ３＞Ｂ２，Ｂ４＞Ａ３＞Ａ２，Ａ４＞Ｃ３＞Ｃ２，Ｃ４の順番でカメラ２３２が撮影できるように頭部１２が回動する。ここで、不等号は撮影の優先準位を示す。Ｂ３＞Ｂ２とは、中段の中央に位置する領域Ｂ３の方が中段の中央から左右方向に外れた領域Ｂ２よりも優先して撮影されることを意味する。Ｂ４＞Ａ３＞Ａ２とは、中段の中央から外れた領域Ｂ４は、上段の中央に位置する領域Ａ３に優先して撮影され、かつ、上段の中央に位置する領域Ａ３は、上段の左右方向に外れた領域Ａ２に優先して撮影されることを意味する。Ａ４＞Ｃ３＞Ｃ２，Ｃ４とは、上段の中央から左右方向に外れた領域Ａ４は、下段の中央に位置する領域Ｃ３に優先して撮影され、かつ、下段中央の領域Ｃ３は、下段中央から左右方向に外れた領域Ｃ２，Ｃ４に優先して撮影されることを意味する。なお、以上はカメラ２３２の撮影順序は優先度に基づいて決定されることの例示であり、全ての撮影順序のうちの一部について述べたものである。撮影間隔は例えば１００ミリ秒であるが、１００ミリ秒に限定されない。
【００７４】
本実施例では、撮影対象の領域２０１へ向くように頭部１２を動かした後、カメラ２３２で撮影対象領域２０１を撮影させ、撮影した領域２０１を特定する領域ＩＤと撮影時刻（首振り時刻）とを対応づけて空間タイムスタンプ２２６に記憶させる。ロボット制御部２０は、空間タイムスタンプ２２６に記録されたタイムスタンプを参照することにより、所定の頻度で各領域２０１が撮影されるように、首振り動作を制御する。
【００７５】
（３）イベント検出時
【００７６】
定常動作中に所定のイベントが検出された場合は、イベントが検出された方向へ頭部１２を回動し、イベント発生方向をカメラ２３２で撮影する。ロボット制御部２０は、撮影対象の領域２０１を特定する領域ＩＤと撮影時刻とを対応づけて、空間タイムスタンプ２２６に記憶させる。
【００７７】
所定のイベントとしては、例えば、（３Ａ）所定値以上の音が検出された場合、（３Ｂ）動体が検出された場合、（３Ｃ）ユーザ存在確認時期が到来した場合（再確認イベント）が挙げられる。
【００７８】
（３Ａ）音検出イベント
【００７９】
所定値以上の音（音声）を検出し、到来方向も推定できた場合、その到来方向へ向けて頭部１２を回動させ、カメラ２３２で撮影する。ただし、音検出イベントの発生時に、ユーザとのコミュニケーションが実施されている場合は、そのままコミュニケーションを継続し、音の到来方向へ頭部１２を回動させない。コミュニケーションが実施されているとは、例えば、ユーザの正面顔がロボット１の正面を向いており、ロボット１との距離も所定値以下の場合である。対話の有無は問わない。対話中は、ロボット１とユーザとは面と向き合っているため、上述のコミュニケーション維持条件（ユーザの正面顔がロボット１の正面にあること、ユーザとロボットの距離が所定値以下であること）を満たす。
【００８０】
（３Ｂ）動体検出イベント
【００８１】
頭部１２の固定中にカメラ２３２の視野の隅で動体が検出された場合、ロボット制御部２０は、その動体の検出された方向へ頭部１２を回動させて撮影し、ユーザの顔の検出を試みる。動体の検出には、例えば、オプティカルフロー、輝度変化といったアルゴリズムを用いればよい。
【００８２】
ユーザの顔を検出できない場合であって、超音波センサ等が障害物の存在を検出しているときは、頭部１２を上方へチルトさせて撮影し、ユーザの顔を検出する。最初の動体検出時には、ユーザの胴体を検知している可能性があるためである。胴体の上方を撮影すれば、ユーザの顔を検出できる可能性が高い。
【００８３】
ただし、音検出イベントでも述べたように、動体検出イベントの発生時に、ユーザとのコミュニケーションが行われている場合には、ロボット制御部２０は、動体の検出方向へ頭部１２を回動させず、現在のコミュニケーションを維持する。
【００８４】
（３Ｃ）再確認イベント
【００８５】
本実施例では、ロボット制御部２０は、ロボット１の周囲のユーザについて、所定間隔で存在を確認する。例えば、ロボット制御部２０は、一分間に一回の割合で頭部１２を回動させてカメラ２３２で撮影することにより、検出済みのユーザがまだそこに存在するか確認する。一分間に一回とは一つの例示に過ぎず、この値に限定されない。
【００８６】
ロボット制御部２０は、人物タイムスタンプ２２７に記憶されている場所を中心に捉えた視野で撮影し、所定時間（例えば２秒）内にユーザの顔を検出できたか判定する。所定時間内にユーザの顔を検出できなかった場合、その検出できなかったユーザに関するエントリをユーザ位置マップ２２８から削除する。
【００８７】
なお、カメラ２３２の視野が、人物タイムスタンプ２２７上ではユーザが存在しているはずの場所を中心に捉えていない場合には、所定時間内にユーザの顔を検出できなくても、そのユーザの存在を示す情報をユーザ位置マップ２２８から削除しない。
【００８８】
このように、本実施例では、所定の各イベントに対応する比較的短周期の首振り制御と、首振りの頻度（各領域２０１の撮影頻度、確認頻度）が所定の頻度分布となるように維持する比較的長周期の首振り制御とを実施する。
【００８９】
そして、既存のコミュニケーションを維持するために、ユーザの顔がカメラ２３２の正面にあり、かつ、ユーザとロボット１との距離が所定値以下である場合は、イベントの発生を無視する。これとは逆に、カメラ２３２で撮影したユーザの顔が横顔などであり、正面を向いていない場合、または、ユーザの顔は正面を向いているがロボット１から所定値を超えて離れている場合のいずれかの場合には、検出されたイベントの方へ頭部１２を回動させる。
【００９０】
図６は、空間タイムスタンプ２２６の例を示す。空間タイムスタンプ２２６は、例えば、番号２２６１、分割領域ＩＤ２２６２、首振り時刻（撮影時刻）２２６３を対応づけて管理する。
【００９１】
番号２２６１は、レコード管理用の連続番号である。分割領域ＩＤ２２６２は、分割された各領域２０１のうち撮影対象となった領域２０１を特定する情報である。首振り時刻２２６３とは、分割領域ＩＤ２２６２で特定された領域２０１へ頭部１２を向けてカメラ２３２で撮影した時刻（タイムスタンプ）である。
【００９２】
図７は、人物タイムスタンプ２２７の例を示す。人物タイムスタンプ２２７は、ロボット１の周囲のユーザの存在を管理する情報である。人物タイムスタンプ２２７は、例えば、番号２２７１、撮影時刻２２７２、ユーザ位置２２７３、ユーザＩＤ２２７４、追跡ＩＤ２２７５を対応づけて管理する。
【００９３】
ロボット制御部２０は、カメラ２３２で撮影中にユーザの顔を見つけたら、そのユーザの顔を画角の中央に捉えるように頭部１２の角度を制御する。そして、ロボット制御部２０は、頭部１２の回動を停止させた後、顔認証を実施する。ロボット制御部２０は、顔認証が終了すると、上述のように、撮影時刻２２７２、ユーザ位置２２７３、ユーザＩＤ２２７４、追跡ＩＤ２２７５を人物タイムスタンプ２２７へ登録する。
【００９４】
番号２２７１は、レコード管理用の連続番号である。撮影時刻２２７２は、ユーザを撮影した時刻（タイムスタンプ）である。ユーザ位置２２７３は、撮影されたユーザの顔の位置である。本実施例では、ロボット１の本体１０の正面を基準として、（ヨー角度、ピッチ角度、距離）の組み合わせでユーザの顔の位置を特定する。ユーザＩＤ２２７４は、顔認証の結果判別されたユーザのＩＤである。
【００９５】
追跡ＩＤ２２７５は、首振り動作をしないで撮影した連続する画像内のユーザに付与する識別情報である。画像間でユーザを追跡し、同一ユーザであると判断できる場合は同じＩＤを付与する。ここで、同一ユーザであるか否かは、例えば、追跡ＩＤが一致するか、個人ＩＤが一致するか、ユーザ位置が近いかといった順に判断すればよい。これにより、人物タイムスタンプ２２７に登録済みのユーザが現在もロボット１の周囲に存在するか確認することができる。
【００９６】
なお、ユーザの存在の確認時に、最初の所定時間（例えば１．５秒程度）連続して存在を確認できないユーザは、人物タイムスタンプ２２７から削除する。すなわち、いわゆるチラ見しただけのユーザの顔は人物タイムスタンプ２２７から取り除く。
【００９７】
図８は、ユーザ位置マップ２２８の例である。ロボット制御部２０のユーザ位置マップ管理部２７は、人物タイムスタンプ２２７から検出されたユーザの最新情報を抽出することにより、ユーザ位置マップ２２８を生成する。
【００９８】
ユーザ位置マップ２２８は、例えば、番号２２８１、撮影時刻２２８２、ユーザ位置２２８３、ユーザＩＤ２２８４を備える。
【００９９】
番号２２８１は、レコード管理用の連続番号である。撮影時刻２２８２，ユーザ位置２２８３，ユーザＩＤ２２８４は、図７で述べた人物タイムスタンプ２２７の撮影時刻２２７２，ユーザ位置２２７３，ユーザＩＤ２２７４に対応するので、これ以上の説明は割愛する。
【０１００】
ユーザ位置マップ管理部２７は、ユーザの存在しているはずの領域を撮影できない場合であっても、所定時間（例えば３分間）以上そのユーザの顔を認識することができなかった場合には、ユーザ位置マップ２２８から削除する。ユーザは、気まぐれに自由に移動するためである。
【０１０１】
図９は、ユーザ位置に応じてマイク２３１の総合的指向性を調整する様子を示す。図９（１）に示すように、総合的指向性の０度の方向（基準方向）は、ロボット頭部１２の顔の正面方向とする。図９では、ロボット頭部１２の顔が、ロボット本体１０の正面の方向に向いている状態での総合的指向性の変化を示している。ロボット本体１０とユーザの位置関係が同じでも、ロボット頭部１２の顔の正面方向の向きに応じて、総合的指向性の形状及び方向は変化する。図９では、総合的指向性を０〜３６０度で示す。位置マップ２２８は、ロボット本体１０の正面を基準として、その左右に９０度ずつの範囲で作成される（０度〜±９０度）。
図９（１）に示すように、ロボットの頭部１２はロボット本体１０の正面方向（図９中の右方向）を向いている。ここでユーザの顔が９０度の方向に存在するとユーザ位置マップ２２８が示している場合、ロボット制御部２０は、９０度の方向から到来する音声（コマンド）を優先的に採用するように設定することができる。例えば、９０度方向からの音声を強調するように、各マイク２３１の指向性を合成した総合的指向性が９０度の方向に向くように、音声処理部２１４の設定を調整する。このような調整を、本明細書では各マイク２３１の指向性を調整すると表現する。
【０１０２】
同様に、図９（２）に示すように、０度の方向にユーザの顔が存在するとユーザ位置マップ２２８が示している場合、ロボット制御部２０は、０度の方向から到来する音声を優先的に処理できるようにすべく、各マイク２３１の指向性を合成した総合的指向性が０度の方向を向くように調整する。
【０１０３】
図９（３）に示すように、４５度の方向および９０度の方向にユーザの顔がそれぞれ存在するとユーザ位置マップ２２８が示している場合、ロボット制御部２０は、４５度および９０度の方向から到来する音声を優先的に処理できるように、各マイク２３１の指向性を合成した総合的指向性を調整する。
【０１０４】
ロボット制御部２０は、ユーザ位置マップ２２８が更新されるたびに、上述した各マイク２３１の指向性（詳しくは、各マイク２３１の指向性を合成した総合的指向性）を調整することができる。すなわち、ロボット制御部２０は、ユーザとの対話中において、ユーザ位置マップ２２８に基づき動的に各マイク２３１の指向性を調整することができる。すなわち、本実施例では、ロボット１とユーザとの位置関係が同じであっても、ロボット頭部１２の顔の向きに応じて、各マイク２３１の指向性を合成した総合的指向性が変化するようになっている。
【０１０５】
図１０は、ユーザ位置マップ２２８を生成する処理を示すフローチャートである。本処理は、ロボット制御部２０により実行される。
【０１０６】
ロボット制御部２０は、ユーザとコミュニケーション中であるか（あるいは対話中であるか）判定する（Ｓ１１）。コミュニケーション中の場合（Ｓ１１：Ｙｅｓ）、ステップＳ１２〜Ｓ１９をスキップして、後述のステップＳ２１へ移る。
【０１０７】
コミュニケーション中ではない場合（Ｓ１１：Ｎｏ）、マイク２３１で所定値以上の音声を検出したか判定する（Ｓ１２）。すなわちロボット制御部２０は、音検出イベントが発生したか判定する。
【０１０８】
音検出イベントが発生していない場合（Ｓ１２：Ｎｏ）、ロボット制御部２０は、動体が検出されたか判定する（Ｓ１３）。すなわちロボット制御部２０は、動体検出イベントが発生したか判定する。
【０１０９】
動体検出イベントが発生していない場合（Ｓ１３：Ｎｏ）、ロボット制御部２０は、タイマ２１９による再確認イベントの割込みが発生したか判定する（Ｓ１４）。
【０１１０】
再確認イベントが発生した場合（Ｓ１４：Ｙｅｓ）、ロボット制御部２０は、空間タイムスタンプ２２６とユーザ位置マップ２２８とに基づいて、各領域２０１の撮影頻度（確認頻度）を計算し（Ｓ１５）、計算した撮影頻度に基づいて撮影対象の領域２０１を決定する（Ｓ１６）。すなわちロボット制御部２０は、所定の撮影頻度の分布を維持すべく、撮影すべき領域２０１を決定する。
【０１１１】
ロボット制御部２０は、撮影対象の領域２０１に向けて頭部１２を回動させて（Ｓ１７）、その撮影対象の領域２０１をカメラ２３２で撮影する（Ｓ２１）。
【０１１２】
ロボット制御部２０は、撮影対象領域２０１を撮影したことを空間タイムスタンプ２２６に記憶させる（Ｓ２２）。ロボット制御部２０は、撮影した画像データを解析することによりユーザの顔を検出し、検出された顔が登録されたユーザの顔に一致するか認証する（Ｓ２３）。
【０１１３】
ロボット制御部２０は、検出されたユーザの顔の位置やユーザＩＤを人物タイムスタンプ２２７へ記憶させる（Ｓ２４）。さらにロボット制御部２０は、人物タイムスタンプ１１７の更新に伴い、ユーザ位置マップ２２８を更新する（Ｓ２５）。
【０１１４】
一方、ステップＳ１２において所定値以上の音声を検出した場合（Ｓ１２：Ｙｅｓ）、ロボット制御部２０は、音声到来方向を判定し（Ｓ１８）、判定した方向へ頭部１２を回動させて（Ｓ１９）、撮影する（Ｓ２１）。同様に、ステップＳ１３において動体を検出した場合（Ｓ１３：Ｙｅｓ）、ロボット制御部２０は、検出された動体の方向へ頭部１２を回動させて（Ｓ２０）、撮影する（Ｓ２１）。
【０１１５】
図１０で述べたように、ロボット制御部２０は、所定の契機で首振り動作を実行して撮影することにより、空間タイムスタンプ２２６、人物タイムスタンプ２２７、ユーザ位置マップ２２８をそれぞれ更新する。したがって、ロボット制御部２０は、ユーザ位置マップ２２８を参照することにより、ロボット１の周囲のユーザの存在状況を直ちに把握することができる。
【０１１６】
図１１は、対話制御時の全体処理を示すフローチャートである。ロボット制御部２０は、マイク２３１により所定値以上の音声が検出されたか判定する（Ｓ３１）。所定値以上の音声が検出された場合（Ｓ３１：Ｙｅｓ）、ロボット制御部２０は、その音声の認識結果が事前に設定されているいずれかのコマンドであるか判定する（Ｓ３２）。
【０１１７】
コマンドを受信したと判定した場合（Ｓ３２：Ｙｅｓ）、ロボット制御部２０は、その音声の到来方向を判定する（Ｓ３３）。
【０１１８】
ロボット制御部２０は、ユーザ位置マップ２２８を参照し、ステップＳ３３で判定された音声到来方向に存在するユーザが存在するか確認する（Ｓ３４）。ここで、音声到来方向は４５度単位で検出可能なため、ユーザ位置マップ２２８に登録されているユーザ位置とは一致しないことが多い。そこで、ロボット制御部２０は、登録されたユーザ位置のうち、音声到来方向と所定範囲内で最も近いユーザが存在するか判定する（Ｓ３５）。
【０１１９】
ロボット制御部２０は、音声到来方向にユーザが存在すると判定すると（Ｓ３５：Ｙｅｓ）、登録されたユーザ位置に向けて頭部１２を回動させ（Ｓ３６）、ユーザ位置の方向をカメラ２３２で撮影し、ユーザの顔を検出する（Ｓ３７）。
【０１２０】
一方、判定された音声到来方向にはユーザが存在しないとユーザ位置マップ２２８が示す場合（Ｓ３５：Ｎｏ）、ロボット制御部２０は、音声到来方向に頭部１２を回動させてカメラ２３２で撮影することにより、ユーザ位置マップを更新する（Ｓ３８）。
【０１２１】
すなわち、現在のカメラ２３２の視野外からコマンドが音声で入力された場合、ユーザ位置マップ２２８におけるユーザ位置２２８３と判別された音声到来方向との差が、２２．５度以内の場合、ロボット制御部２０は、頭部１２をユーザ位置２２８３に向けて振り向かせ、カメラ２３２で撮影することによりユーザの存在を確認する（Ｓ３６）。
【０１２２】
一方、音声到来方向とユーザ位置２２８３との差が２２．５度を超えている場合、音声到来方向へ向けて頭部１２を振り向かせ、カメラ２３２で撮影する（Ｓ３８）。
【０１２３】
ただし、カメラ２３２の視野の外から呼びかけられた場合（Ｓ３５：Ｎｏ）、既にカメラ２３２の正面にユーザの正面顔を捉えているならば、その視野外からの呼びかけを無視し、現在のコミュニケーションを維持する。
【０１２４】
ロボット制御部２０は、ユーザの顔を認識できた場合（Ｓ３９：Ｙｅｓ）、ステップＳ４０へ移る。ユーザの顔を認識できなかったときは（Ｓ３９：Ｎｏ）、通りすがりのユーザの声を拾ったにすぎない場合なので、ステップＳ３１へ戻る。
【０１２５】
ロボット制御部２０は、ステップＳ３７またはステップＳ３９のいずれかで認識されたユーザの顔が正面を向いた顔であるか判定する（Ｓ４０）。正面を向いた顔（正面顔とも呼ぶ）である場合（Ｓ４０：Ｙｅｓ）、ロボット制御部２０は、ステップＳ３２で認識したコマンドを実行する（Ｓ４１）。
【０１２６】
これに対し、認識されたユーザの顔が正面を向いていない場合（Ｓ４０：Ｎｏ）、例えば、「いま○○と言いました？」などの合成音声を発することで、ユーザがコマンドを発話したか確認する（Ｓ４２）。
【０１２７】
以上が対話時の全体処理である。
【０１２８】
このように構成される本実施例によれば、カメラ２３２の視野外から呼びかけられた場合に、音声到着時間の差から音声到来方向を粗く判定し、ユーザ位置マップ２２８と音声到来方向との照合結果に基づいて頭部１２を回動させる。したがって、本実施例のロボット１によれば、音声を検出した後ただちに呼びかけたユーザの方に正確に振り向くことができ、円滑なコミュニケーションを開始することができる。
【０１２９】
本実施例によれば、高度な音声解析処理などを実行する必要がなく、比較的性能の低いＣＰＵ２１１を用いて、カメラ２３２の視野外から発話したユーザの位置を正確に特定することができ、高速に振り向かせることができる。したがって、ロボット１の製造コストを増加させることなく、性能および使い勝手を向上させることができる。
【０１３０】
本実施例によれば、視野外からの呼びかけに対応して振り向いた場合に、呼びかけたユーザの顔が正面を向いていないときには、発話したかを確認する。これにより、カメラ２３２の視野外でのユーザ同士の会話や独り言などに過剰に反応するのを抑制でき、信頼性の高い応答を実行することができる。
【０１３１】
本実施例によれば、ユーザ位置マップ２２８の情報に応じて、マイク２３１の指向性を動的に調整することができるため、雑音などの影響を少なくして、信頼性の高い応答を実行することができる。
【０１３２】
本実施例によれば、空間タイムスタンプ２２６と人物タイムスタンプ２２７とに基づいて、全ての分割領域２０１をカバーしながら、ユーザの存在（出現と退避）を確認するように首振り制御し、ユーザ位置マップ２２８を随時更新する。ユーザ位置マップ２２８は、全視野にわたってユーザの出入りを記録しているため、ロボット１の周辺にいるユーザの状況を表している。従って、本実施例によれば、ロボットの視野（カメラの画角）より広い範囲から呼びかけられた場合でも、性能の高いリソースや精度の高い音声認識などの処理を用いずに、正確にユーザ位置を把握し、的確なコミュニケーションを実現することができる。
【０１３３】
本実施例によれば、空間タイムスタンプ２２６を参照して、ロボット１の正面から周辺方向にいくに従って振り向く頻度が低くなるように、頭部１２を首振りして撮影することにより、ユーザ位置マップ２２８を生成する。さらに、本実施例によれば、音声を検出した場合、または動体を検出した場合に、音声または動体を検出した方向に首振りして撮影する。これにより、ユーザとの対話を続けながら、物音などに対するユーザ同様の反応を示しつつ、ユーザ位置マップ２２８を自然に更新することができる。
【０１３４】
本実施例によれば、人物タイムスタンプ２２７に登録されているユーザについては、所定時間経過するまでの間、首振り向き頻度を一時的に高くして、そのユーザの存在を確認する。これにより、気まぐれに立ち寄っては立ち去るユーザの状況を把握して、ユーザ位置マップ２２８を最新状態に保持することができる。
【０１３５】
本実施例によれば、ユーザとのコミュニケーション中に、カメラ２３２の視野外から呼びかけられても無視し、既存のコミュニケーションを維持するため、ユーザの使い勝手、信頼感が向上する。
【実施例２】
【０１３６】
図１２を用いて第２実施例を説明する。本実施例を含む以下の各実施例は第１実施例の変形例に該当するため、第１実施例との差異を中心に説明する。
【０１３７】
図１２は、本実施例による対話制御の全体処理を示すフローチャートである。本処理と図１１で述べた処理とを比較すると、本処理ではステップＳ３８およびＳ３９を備えておらず、ステップＳ３５で「Ｎｏ」と判定された場合は、ステップＳ１１へ戻る点で異なっている。本実施例では、カメラ２３２の視野外から呼びかけたユーザがユーザ位置マップ２２８に記憶されていない場合、その呼びかけを無視する。
【０１３８】
このように構成される本実施例も第１実施例と同様の作用効果を奏する。
【実施例３】
【０１３９】
図１３を用いて第３実施例を説明する。図１３は、首振りの頻度としての首振り周期の基準値をロボット１の使用場面に応じて設定する処理を示す。
【０１４０】
ロボット１の管理者がパーソナルコンピュータなどを用いて、ロボット制御部２０にアクセスすると、ロボット制御部２０は、設定メニュー２４１を提示する（Ｓ５１）。設定メニュー２４１には、例えば、「家庭」「介護施設」「受付」などのようにロボット１の使用場面（用途）が表示されている。
【０１４１】
ロボットの管理者が設定メニュー２４１からいずれかの使用場面を選択すると（Ｓ５２：Ｙｅｓ）、ロボット制御部２０は、首振り周期設定テーブル２４２を参照して、首振り周期の基準値を設定する（Ｓ５３）。例えば、ロボット１を家庭内で使用する場合、ユーザ数が限られるため、首振り周期の基準値ｔ１は長くしてもよい。これに対し、多数の訪問客が訪れる受付や、施設利用者の多い介護施設などでは首振り周期の基準値ｔ２，ｔ３を短く設定すればよい。ロボット制御部２０は、基準値を元にして、各領域２０１を撮影する頻度を決定する。
【０１４２】
このように構成される本実施例も第１実施例と同様の作用効果を奏する。さらに、本実施例によれば、ロボット１の使用場面に応じた周期で首振り動作を行わせることができるため、より一層使い勝手、信頼性が向上する。
【０１４３】
なお、本発明は、上述した実施の形態に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。
【符号の説明】
【０１４４】
１：ロボット、１０：ロボット本体、１２：頭部、２０：ロボット制御部、２１：画像認識部、２２：動体検出部、２３：音声認識部、２４：音声到来方向判定部、２５：コミュニケーション維持部、２６：イベント検出部、２７：ユーザ位置マップ管理部、２８：首振り制御部、２９：対話制御部
【図１】
2019095523.tif 000003
【図２】
2019095523.tif 000004
【図３】
2019095523.tif 000005
【図４】
2019095523.tif 000006
【図５】
2019095523.tif 000007
【図６】
2019095523.tif 000008
【図７】
2019095523.tif 000009
【図８】
2019095523.tif 000010
【図９】
2019095523.tif 000011
【図１０】
2019095523.tif 000012
【図１１】
2019095523.tif 000013
【図１２】
2019095523.tif 000014
【図１３】
2019095523.tif 000015