(57)【特許請求の範囲】
【請求項１】
ロボットが特定の相手と対話する際の、ロボットの発話および動作を制御するロボット制御装置であって、
特定の相手の言動を認識する言動認識部と、
前記ロボットと前記特定の相手との対話の聞き手の状態を認識する聞き手状態認識部と、
前記ロボットと前記特定の相手との対話における前記特定の相手の言動および前記ロボットの言動を記述したシナリオを記憶し、前記聞き手の状態を考慮する必要があるか否かを示す情報を、前記特定の相手の言動および前記ロボットの言動毎に、前記特定の相手の言動および前記ロボットの言動に対応づけて記憶し、さらに、前記聞き手の状態を考慮する必要がある前記特定の相手の言動および前記ロボットの言動に、予測される前記聞き手の状態を対応づけて記憶するシナリオ記憶部と、
前記言動認識部による認識結果および前記聞き手状態認識部による認識結果を考慮するとともに前記シナリオ記憶部を参照して、前記聞き手の状態を考慮するか否かを判断し、その判断に基づき、前記聞き手の状態を考慮する必要がある場合、前記聞き手状態認識部の認識結果が、前記予測される前記聞き手の状態と一致するか否かを判断し、一致しない場合には、ロボットに、前記聞き手に当該聞き手の状態が予測と違うことを発話させる制御部と、
を含むことを特徴とするロボット制御装置。
【請求項２】
ロボットが特定の相手と対話する際の、ロボットの発話および動作を制御するロボット制御装置であって、
特定の相手の言動を認識する言動認識部と、
前記ロボットと前記特定の相手との対話の聞き手の状態を認識する聞き手状態認識部と、
前記ロボットと前記特定の相手との対話における前記特定の相手の言動および前記ロボットの言動を記述したシナリオを記憶し、前記聞き手の状態を考慮する必要があるか否かを示す情報を、前記特定の相手の言動および前記ロボットの言動に対応づけて記憶し、さらに、前記ロボットの発話および動作を、前記聞き手の複数の状態に対応づけて複数記憶するシナリオ記憶部と、
前記言動認識部による認識結果および前記聞き手状態認識部による認識結果を考慮するとともに前記シナリオ記憶部を参照して、前記聞き手の状態を考慮するか否かを判断し、その判断に基づき、前記聞き手の状態を考慮する必要がある場合、前記聞き手状態認識部の認識結果に基づき、前記シナリオ記憶部から、対応する前記ロボットの発話および動作を読み出し、前記ロボットの発話および動作を決定する制御部と、
を含むことを特徴とするロボット制御装置。
【請求項３】
ロボットが特定の相手と対話する際の、ロボットの発話および動作を制御するロボット制御装置であって、
特定の相手の言動を認識する言動認識部と、
前記ロボットと前記特定の相手との対話の聞き手の状態を認識する聞き手状態認識部と、
前記ロボットと前記特定の相手との対話における前記特定の相手の言動および前記ロボットの言動を記述したシナリオを記憶し、前記聞き手の状態を考慮する必要があるか否かを示す情報を、前記特定の相手の言動および前記ロボットの言動に対応づけて記憶し、さらに、前記聞き手の状態を考慮する必要がある前記特定の相手の言動および前記ロボットの言動に、予測される前記聞き手の状態を対応づけて記憶するシナリオ記憶部と、
前記ロボットの発話情報および動作情報を、キー情報に対応づけて記憶するロボット発話動作情報記憶部と、
前記言動認識部による認識結果および前記聞き手状態認識部による認識結果を考慮するとともに前記シナリオ記憶部を参照して、前記聞き手の状態を考慮するか否かを判断し、その判断に基づき、前記聞き手の状態を考慮する必要がある場合、前記聞き手状態認識部の認識結果が、前記予測される前記聞き手の状態と一致するか否かを判断し、一致する場合には、前記シナリオ記憶部に記憶された前記ロボットの言動に基づき、前記ロボットの発話および動作を決定し、一致しない場合には、前記聞き手状態認識部の認識結果をキー情報として、前記ロボット発話動作情報記憶部を参照して、前記ロボットの発話および動作を決定する制御部と、
を含むことを特徴とするロボット制御装置。
【請求項４】
ロボットが特定の相手と対話する際の、ロボットの発話および動作を制御するロボット制御装置であって、
特定の相手の言動を認識する言動認識部と、
前記言動認識部が認識した前記特定の相手の言動に基づき、前記ロボットと前記特定の相手との対話の聞き手の状態を認識する聞き手状態認識部と、
前記ロボットと前記特定の相手との対話における前記特定の相手の言動および前記ロボットの言動を記述したシナリオを記憶するシナリオ記憶部と、
前記言動認識部による認識結果および前記聞き手状態認識部による認識結果を考慮するとともに前記シナリオ記憶部を参照して前記ロボットの発話および動作を決定し、前記ロボットに当該発話および動作を実行させる制御部と、
を含むことを特徴とするロボット制御装置。
【請求項５】
請求項１乃至４いずれかに記載のロボット制御装置を含み、当該ロボット制御装置に制御されることを特徴とするロボット。
【請求項６】
請求項５に記載のロボットにおいて、
前記特定の相手がロボットに触れたことを感知するセンサをさらに含み、
前記言動認識部は、前記特定の相手が前記ロボットに触れたことを認識することを特徴とするロボット。
【請求項７】
ロボットが特定の相手と対話する際の、ロボットの発話および動作を制御するロボットの制御方法であって、
特定の相手の言動を認識するステップと、
前記ロボットと前記特定の相手との対話の聞き手の状態を認識するステップと、
特定の相手の言動を認識するステップで認識された結果と、前記特定の相手との対話の聞き手の状態を認識するステップで認識された結果とを考慮するとともに、前記ロボットと前記特定の相手との対話における前記特定の相手の言動および前記ロボットの言動を記述したシナリオを記憶し、前記聞き手の状態を考慮する必要があるか否かを示す情報を、前記特定の相手の言動および前記ロボットの言動毎に、前記特定の相手の言動および前記ロボットの言動に対応づけて記憶し、さらに、前記聞き手の状態を考慮する必要がある前記特定の相手の言動および前記ロボットの言動に、予測される前記聞き手の状態を対応づけて記憶するシナリオ記憶部を参照して、前記聞き手の状態を考慮するか否かを判断し、その判断に基づき、前記聞き手の状態を考慮する必要がある場合、前記ステップで認識した前記聞き手の状態が、前記予測される前記聞き手の状態と一致するか否かを判断し、一致しない場合には、ロボットに、前記聞き手に当該聞き手の状態が予測と違うことを発話させるステップと、
を含むことを特徴とするロボットの制御方法。
【請求項８】
ロボットが特定の相手と対話する際の、ロボットの発話および動作を制御するロボットの制御方法であって、
特定の相手の言動を認識するステップと、
前記ロボットと前記特定の相手との対話の聞き手の状態を認識するステップと、
特定の相手の言動を認識するステップで認識された結果と、前記特定の相手との対話の聞き手の状態を認識するステップで認識された結果とを考慮するとともに、前記ロボットと前記特定の相手との対話における前記特定の相手の言動および前記ロボットの言動を記述したシナリオを記憶し、前記聞き手の状態を考慮する必要があるか否かを示す情報を、前記特定の相手の言動および前記ロボットの言動に対応づけて記憶し、さらに、前記ロボットの発話および動作を、前記聞き手の複数の状態に対応づけて複数記憶するシナリオ記憶部を参照して、前記聞き手の状態を考慮するか否かを判断し、その判断に基づき、前記聞き手の状態を考慮する必要がある場合、前記ステップで認識した前記聞き手の状態に基づき、前記シナリオ記憶部から、対応する前記ロボットの発話および動作を読み出し、前記ロボットの発話および動作を決定するステップと、
を含むことを特徴とするロボットの制御方法。
【請求項９】
ロボットが特定の相手と対話する際の、ロボットの発話および動作を制御するロボットの制御方法であって、
特定の相手の言動を認識するステップと、
前記ロボットと前記特定の相手との対話の聞き手の状態を認識するステップと、
特定の相手の言動を認識するステップで認識された結果と、前記特定の相手との対話の聞き手の状態を認識するステップで認識された結果とを考慮するとともに、前記ロボットと前記特定の相手との対話における前記特定の相手の言動および前記ロボットの言動を記述したシナリオを記憶し、前記聞き手の状態を考慮する必要があるか否かを示す情報を、前記特定の相手の言動および前記ロボットの言動に対応づけて記憶し、さらに、前記聞き手の状態を考慮する必要がある前記特定の相手の言動および前記ロボットの言動に、予測される前記聞き手の状態を対応づけて記憶するシナリオ記憶部を参照して、前記聞き手の状態を考慮するか否かを判断し、その判断に基づき、前記聞き手の状態を考慮する必要がある場合、前記ステップで認識した前記聞き手の状態が、前記予測される前記聞き手の状態と一致するか否かを判断し、一致する場合には、前記シナリオ記憶部に記憶された前記ロボットの言動に基づき、前記ロボットの発話および動作を決定し、一致しない場合には、前記ステップで認識した前記聞き手の状態をキー情報として、前記ロボットの発話情報および動作情報を、キー情報に対応づけて記憶するロボット発話動作情報記憶部を参照して、前記ロボットの発話および動作を決定するステップと、
を含むことを特徴とするロボットの制御方法。
【請求項１０】
ロボットが特定の相手と対話する際の、ロボットの発話および動作を制御するロボットの制御方法であって、
特定の相手の言動を認識するステップと、
前記ステップで認識した前記特定の相手の言動に基づき、前記ロボットと前記特定の相手との対話の聞き手の状態を認識するステップと、
特定の相手の言動を認識するステップで認識された結果と、前記特定の相手との対話の聞き手の状態を認識するステップで認識された結果とを考慮するとともに、前記ロボットと前記特定の相手との対話における前記特定の相手の言動および前記ロボットの言動を記述したシナリオを記憶するシナリオ記憶部を参照して、前記ロボットの発話および動作を決定するステップと、
前記ロボットに前記ロボットの発話および動作を決定するステップで決定された発話および動作を実行させるステップと、
を含むことを特徴とするロボットの制御方法。
【請求項１１】
ロボットが特定の相手と対話する際の、ロボットの発話および動作を制御するロボットの制御用プログラムであって、コンピュータを、
特定の相手の言動を認識する言動認識手段、
前記ロボットと前記特定の相手との対話の聞き手の状態を認識する聞き手状態認識手段、
前記ロボットと前記特定の相手との対話における前記特定の相手の言動および前記ロボットの言動を記述したシナリオを記憶し、前記聞き手の状態を考慮する必要があるか否かを示す情報を、前記特定の相手の言動および前記ロボットの言動毎に、前記特定の相手の言動および前記ロボットの言動に対応づけて記憶し、さらに、前記聞き手の状態を考慮する必要がある前記特定の相手の言動および前記ロボットの言動に、予測される前記聞き手の状態を対応づけて記憶するシナリオ記憶手段、
前記言動認識手段による認識結果および前記聞き手状態認識手段による認識結果を考慮するとともに前記シナリオ記憶手段を参照して、前記聞き手の状態を考慮するか否かを判断し、その判断に基づき、前記聞き手の状態を考慮する必要がある場合、前記聞き手状態認識手段の認識結果が、前記予測される前記聞き手の状態と一致するか否かを判断し、一致しない場合には、ロボットに、前記聞き手に当該聞き手の状態が予測と違うことを発話させる制御手段、
として機能させることを特徴とするプログラム。
【請求項１２】
ロボットが特定の相手と対話する際の、ロボットの発話および動作を制御するロボットの制御用プログラムであって、コンピュータを、
特定の相手の言動を認識する言動認識手段、
前記ロボットと前記特定の相手との対話の聞き手の状態を認識する聞き手状態認識手段、
前記ロボットと前記特定の相手との対話における前記特定の相手の言動および前記ロボットの言動を記述したシナリオを記憶し、前記聞き手の状態を考慮する必要があるか否かを示す情報を、前記特定の相手の言動および前記ロボットの言動に対応づけて記憶し、さらに、前記ロボットの発話および動作を、前記聞き手の複数の状態に対応づけて複数記憶するシナリオ記憶手段、
前記言動認識手段による認識結果および前記聞き手状態認識手段による認識結果を考慮するとともに前記シナリオ記憶手段を参照して、前記聞き手の状態を考慮するか否かを判断し、その判断に基づき、前記聞き手の状態を考慮する必要がある場合、前記聞き手状態認識手段の認識結果に基づき、前記シナリオ記憶手段から、対応する前記ロボットの発話および動作を読み出し、前記ロボットの発話および動作を決定する制御手段、
として機能させることを特徴とするプログラム。
【請求項１３】
ロボットが特定の相手と対話する際の、ロボットの発話および動作を制御するロボットの制御用プログラムであって、コンピュータを、
特定の相手の言動を認識する言動認識手段、
前記ロボットと前記特定の相手との対話の聞き手の状態を認識する聞き手状態認識手段と、
前記ロボットと前記特定の相手との対話における前記特定の相手の言動および前記ロボットの言動を記述したシナリオを記憶し、前記聞き手の状態を考慮する必要があるか否かを示す情報を、前記特定の相手の言動および前記ロボットの言動に対応づけて記憶し、さらに、前記聞き手の状態を考慮する必要がある前記特定の相手の言動および前記ロボットの言動に、予測される前記聞き手の状態を対応づけて記憶するシナリオ記憶手段、
前記ロボットの発話情報および動作情報を、キー情報に対応づけて記憶するロボット発話動作情報記憶手段、
前記言動認識手段による認識結果および前記聞き手状態認識手段による認識結果を考慮するとともに前記シナリオ記憶手段を参照して、前記聞き手の状態を考慮するか否かを判断し、その判断に基づき、前記聞き手の状態を考慮する必要がある場合、前記聞き手状態認識手段の認識結果が、前記予測される前記聞き手の状態と一致するか否かを判断し、一致する場合には、前記シナリオ記憶手段に記憶された前記ロボットの言動に基づき、前記ロボットの発話および動作を決定し、一致しない場合には、前記聞き手状態認識手段の認識結果をキー情報として、前記ロボット発話動作情報記憶手段を参照して、前記ロボットの発話および動作を決定する制御手段、
として機能させることを特徴とするプログラム。
【請求項１４】
ロボットが特定の相手と対話する際の、ロボットの発話および動作を制御するロボットの制御用プログラムであって、コンピュータを、
特定の相手の言動を認識する言動認識手段、
前記言動認識手段が認識した前記特定の相手の言動に基づき、前記ロボットと前記特定の相手との対話の聞き手の状態を認識する聞き手状態認識手段、
前記ロボットと前記特定の相手との対話における前記特定の相手の言動および前記ロボットの言動を記述したシナリオを記憶するシナリオ記憶手段、
前記言動認識手段による認識結果および前記聞き手状態認識手段による認識結果を考慮するとともに前記シナリオ記憶手段を参照して前記ロボットの発話および動作を決定し、前記ロボットに当該発話および動作を実行させる制御手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット、ロボットの制御装置およびロボットの制御方法に関し、とくに対話型のロボット、その制御装置およびその制御方法に関する。
【背景技術】
【０００２】
近年、コンピュータ技術の発達により、コンピュータを応用したロボットが開発され、その一部は商品化されている。たとえば、ソニー株式会社が商品化しているＡＩＢＯ（商標）や本田技研工業株式会社が開発中のＡＳＩＭＯ（商標）等が知られている。
【特許文献１】特開２０００−３５３０１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来のロボットは、たとえば、人間の発話を音声認識し、光や音をつかって感情を表現した振る舞いを行うように構成されている。しかし、従来のロボットは、断片化された音声認識結果を使って振る舞いを決定しているに過ぎず、利用者との対話が成立しないことが多々ある。
【０００４】
本発明は上記事情を踏まえてなされたものであり、本発明の目的は、人間との対話や人間の問いかけに対する動作を自然に行うことのできるロボットを提供することにある。
【課題を解決するための手段】
【０００５】
本発明によれば、ロボットが特定の相手と対話する際の、ロボットの発話および動作を制御するロボット制御装置であって、特定の相手の言動を認識する言動認識部と、ロボットと特定の相手との対話の聞き手の状態を認識する聞き手状態認識部と、ロボットと特定の相手との対話における特定の相手の言動およびロボットの言動を記述したシナリオを記憶するシナリオ記憶部と、言動認識部による認識結果および聞き手状態認識部による認識結果を考慮するとともにシナリオ記憶部を参照してロボットの発話および動作を決定し、ロボットに当該発話および動作を実行させる制御部と、を含むことを特徴とするロボット制御装置が提供される。
【０００６】
ここで、シナリオは、たとえば漫才のねたや教育用の説明プログラム等、人物とロボットが、第三者の聞き手に対して披露したり説明したりする筋書きとすることができる。聞き手状態認識部は、ロボットが漫才の相方や教育現場の教師等の特定の相手と対話する際に、その対話の聞き手であるたとえば観客や生徒等の状態を認識する。聞き手の状態とは、聞き手が多い／少ない、笑い声が大きい／小さい等の聞き手の反応や、聞き手の性別や年齢層等の聞き手の種類等である。
【０００７】
本発明のロボット制御装置によれば、ロボットに、特定の相手と対話を行う際に、特定の相手以外の聞き手の状態も考慮して発話させたり行動させたりするので、聞き手の興味をひき、聞き手を楽しませることができる。
【０００８】
本発明のロボット制御装置において、シナリオ記憶部は、聞き手の状態を考慮する必要があるか否かを示す情報を、特定の相手の言動およびロボットの言動に対応づけて記憶することができ、制御部は、シナリオ記憶部を参照して、聞き手の状態を考慮するか否かを判断し、その判断に基づき、聞き手の状態を考慮する必要がある場合、聞き手状態認識部の認識結果を考慮して、ロボットの発話および動作を決定することができる。
【０００９】
シナリオは、基本的な筋書きと、聞き手の状況に応じて適宜変更される部分とを含むことができる。
【００１０】
本発明のロボット制御装置は、特定の相手以外のロボットの周囲の状態を示す情報を取得する周囲状態取得部をさらに含むことができ、聞き手状態認識部は、周囲の状態を示す情報に基づき、聞き手の状態を認識することができる。
【００１１】
ここで、周囲状態取得部は、たとえばロボット本体に設けられたマイクロフォン、ＣＣＤカメラ、感温センサ等とすることができる。この場合、ロボット本体には、複数のマイクロフォンやＣＣＤカメラを設けることができ、一部を特定の相手の情報を取得するために用い、他のマイクロフォンやＣＣＤカメラを、特定の相手以外のロボットの周囲の状態を示す情報を取得するために用いるように構成することができる。
【００１２】
また、周囲状態取得部は、聞き手近傍に配置されたマイクロフォン、ＣＣＤカメラ、感温センサ等から無線等を介して情報を取得する装置とすることもできる。
【００１３】
本発明のロボット制御装置において、聞き手状態認識部は、言動認識部が認識した特定の相手の言動に基づき、聞き手の状態を認識することができる。
【００１４】
本発明のロボット制御装置において、シナリオ記憶部は、特定の相手の言動およびロボットの言動を、時間の流れに沿って記述したシナリオを記憶することができる。
【００１５】
本発明のロボット制御装置において、シナリオ記憶部は、特定の相手の言動およびロボットの言動毎に、聞き手の状態を考慮する必要があるか否かを示す情報を対応づけて記憶することができる。
【００１６】
このようにすれば、聞き手の状態を考慮せずに予め設定した筋書き通りにロボットと相手との対話を進めるとともに、ところどころ、聞き手の状態に応じて筋書きを適宜変更して対話を進めることができる。これにより、ロボットと相手との対話は、ある程度ストーリー性を保ちつつ、その場の状態に応じたアドリブ的な要素も取り入れられるので、聞き手がよりリアリティを持ってロボットと相手との対話を楽しんで聞くことができる。
【００１７】
本発明のロボット制御装置において、制御部は、ロボットの言動に、聞き手の状態を考慮する必要がある旨が対応づけられている場合、聞き手状態認識部の認識結果を反映させてロボットの言動を決定することができる。
【００１８】
これにより、聞き手がよりリアリティを持ってロボットと相手との対話を楽しんで聞くことができる。
【００１９】
本発明のロボット制御装置において、シナリオ記憶部は、聞き手の状態を考慮する必要がある特定の相手の言動およびロボットの言動に、予測される聞き手の状態を対応づけて記憶することができ、制御部は、聞き手状態認識部の認識結果が、予測される聞き手の状態と一致するか否かを判断し、一致しない場合には、ロボットに、聞き手に当該聞き手の状態が予測と違うことを発話させることができる。
【００２０】
たとえば、ロボットと相手が漫才をする場合、聞き手に笑って欲しいところで聞き手が笑わなかったりしたら、ロボットに、「ここは笑うところやで」等の言葉を発話させることができる。また、本来聞き手が笑うような場面ではない場合に、聞き手が笑っている場合、ロボットに「ここはうけるところじゃないでっせ〜」等の言葉を発話させることができる。このように、聞き手の状況に応じて、ロボットが聞き手に対して話しかけるようにすることにより、聞き手がロボットと相手との対話をより楽しむことができる。
【００２１】
本発明のロボット制御装置において、シナリオ記憶部は、ロボットの発話および動作を、聞き手の複数の状態に対応づけて複数記憶することができ、制御部は、聞き手状態認識部の認識結果に基づき、シナリオ記憶部から、対応するロボットの発話および動作を読み出し、ロボットの発話および動作を決定することができる。
【００２２】
本発明のロボット制御装置は、ロボットの発話情報および動作情報を、キー情報に対応づけて記憶するロボット発話動作情報記憶部をさらに含むことができ、シナリオ記憶部は、聞き手の状態を考慮する必要がある特定の相手の言動およびロボットの言動に、予測される聞き手の状態を対応づけて記憶することができ、制御部は、聞き手状態認識部の認識結果が、予測される聞き手の状態と一致するか否かを判断し、一致する場合には、シナリオ記憶部に記憶されたロボットの言動に基づき、ロボットの発話および動作を決定し、一致しない場合には、聞き手状態認識部の認識結果をキー情報として、ロボット発話動作情報記憶部を参照して、ロボットの発話および動作を決定することができる。
【００２３】
本発明のロボット制御装置において、シナリオ記憶部は、特定の相手の言動およびロボットの言動毎に、ロボットと特定の相手のいずれに発話権があるかを示す情報を記憶することができ、制御部は、特定の相手に発話権がある場合、言動認識部の認識結果に基づき、ロボットの発話および動作を決定することができる。
【００２４】
本発明のロボット制御装置において、制御部は、特定の相手に発話権がある場合に、言動認識部の認識結果に基づき、特定の相手がシナリオ記憶部に記憶されたシナリオ通りの言動を行っているか否かを判断し、特定の相手がシナリオとは異なる言動を行った場合、特定の相手に、シナリオ通りの言動を行うことを促す処理をロボットに実行させることができる。
【００２５】
これにより、ロボットと相手との対話をシナリオに沿って進めることができる。
【００２６】
本発明のロボット制御装置において、周囲状態取得部は、聞き手の音声を取得することができ、聞き手状態認識部は、音声に基づき、聞き手の反応を認識することができる。
【００２７】
本発明によれば、上述したいずれかのロボット制御装置を含み、前記ロボット制御装置により制御されることを特徴とするロボットが提供される。
【００２８】
本発明のロボットによれば、ロボットが、特定の相手と対話を行う際に、特定の相手以外の聞き手の状態も考慮して発話させたり行動させたりするので、聞き手の興味をひき、聞き手を楽しませることができる。
【００２９】
本発明のロボットは、特定の相手がロボットに触れたことを感知するセンサをさらに含むことができ、言動認識部は、特定の相手がロボットに触れたことを認識することができる。
【００３０】
これにより、たとえばロボットと相手が漫才をする場合、相手がセンサに触れることにより、言動認識部が「つっこまれた」と認識することができる。漫才をするためのロボットの場合、センサは、ロボットの頭上に設置することができる。これにより、聞き手から見ても、ロボットが相手につっこまれていることを把握することができ、ロボットと相手との漫才を、人間同士の漫才と同様に感じることができる。
【００３１】
本発明によれば、ロボットが特定の相手と対話する際の、ロボットの発話および動作を制御するロボットの制御方法であって、特定の相手の言動を認識するステップと、ロボットと特定の相手との対話の聞き手の状態を認識するステップと、特定の相手の言動を認識するステップで認識された結果と、特定の相手との対話の聞き手の状態を認識するステップで認識された結果とを考慮するとともに、ロボットと特定の相手との対話における特定の相手の言動およびロボットの言動を記述したシナリオを記憶するシナリオ記憶部を参照して、ロボットの発話および動作を決定するステップと、ロボットにロボットの発話および動作を決定するステップで決定された発話および動作を実行させるステップと、を含むことを特徴とするロボットの制御方法が提供される。
【００３２】
本発明によれば、ロボットが特定の相手と対話する際の、ロボットの発話および動作を制御するロボットの制御方法であって、特定の相手の言動を認識するステップと、ロボットと特定の相手との対話の聞き手の状態を認識するステップと、ロボットと特定の相手との対話における特定の相手の言動およびロボットの言動を記述したシナリオを記憶するシナリオ記憶部を参照して、ロボットの発話および動作を決定するステップと、ロボットにロボットの発話および動作を決定するステップで決定された発話および動作を実行させるステップと、を含み、シナリオ記憶部は、聞き手の状態を考慮する必要があるか否かを示す情報を、特定の相手の言動およびロボットの言動に対応づけて記憶し、ロボットの発話および動作を決定するステップにおいて、シナリオ記憶部を参照して、聞き手の状態を考慮するか否かを判断し、その判断に基づき、聞き手の状態を考慮する必要がある場合、聞き手状態認識部の認識結果を考慮して、ロボットの発話および動作を決定することを特徴とするロボットの制御方法が提供される。
【００３３】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置の間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００３４】
本発明によれば、人間との対話や人間の問いかけに対する動作を自然に行うことのできるロボットを提供することができる。
【発明を実施するための最良の形態】
【００３５】
次に、本発明の実施の形態について図面を参照して詳細に説明する。なお、以下の実施の形態において、同様の構成要素には同様の符号を付し、適宜説明を省略する。
【００３６】
（第一の実施の形態）
図１は、本実施の形態におけるロボット制御装置の構成を示すブロック図である。
ロボット制御装置１１０は、シナリオ記憶手段１００、相方言動認識手段２００、空間状態認識手段３００、ロボット発話動作ＤＢ４００、および全体制御手段５００を含む。
【００３７】
シナリオ記憶手段１００には、人物の言動とロボットの動作等の情報が格納されている。相方言動認識手段２００は、特定の人物の言動を認識する。空間状態認識手段３００は、たとえばＣＣＤカメラや温度センサ等のセンサからなり、ロボットの置かれた空間における状況を認識する。ロボット発話動作ＤＢ４００には、ロボットの発話データと動作データが格納されている。全体制御手段５００は、シナリオ記憶手段に格納されている情報と相方言動認識手段２００による認識結果と空間状態認識手段３００による認識結果とからロボットの行う行動を決定し、ロボット発話動作ＤＢ４００を参照して発話動作データを取得し、それをロボットに行わせる。
【００３８】
図２は、ロボット制御装置１１０の具体的な構成を示すブロック図である。ここで、シナリオ記憶手段１００は、空間状態認識手段３００の一例として、観客状態認識手段３０１を有する。
【００３９】
図３は、本実施の形態におけるロボットの一例を示す外観構成図である。ロボット１２０は、ロボット制御装置１１０により制御される。
【００４０】
ロボット１２０は、たとえば、胴体部１および頭部２が連結されることにより構成される。胴体部１の下部には左右にそれぞれ車輪３Ａおよび車輪３Ｂが取り付けられており、これらの車輪は、独立に前後に回転することができる。
【００４１】
頭部２は、胴体部１に垂直に取り付けられた垂直軸とその垂直軸に対して９０度の角度で設置された水平軸に関して決められた範囲で回転することができる。垂直軸は頭部２の中心を通るように設置されており、水平軸は胴体１と頭部２が正面を向いた状態で頭部２の中心を通りかつ左右方向に水平に設置されている。つまり、頭部２は左右と上下の２自由度で、決められた範囲内で回転することができる。
【００４２】
胴体部１の表面には、スピーカ１２およびマイクロフォン１３が設けられる。また、頭部２の表面には、ＣＣＤカメラ２１ＡおよびＣＣＤカメラ２１Ｂ、ならびにタッチセンサ２３が設けられる。
【００４３】
図４は、ロボット１２０の電気的構成の一例を示すブロック図である。
胴体部１には、ロボット全体の制御を行うコントローラ１０（図１および図２の全体制御手段５００とロボット発話動作ＤＢ４００に相当）、ロボットの動力源となるバッテリ１１、スピーカ１２、マイクロフォン１３（図１および図２の相方言動認識手段２００に相当）、２つの車輪を動かすためのアクチュエータ１４Ａおよびアクチュエータ１４Ｂ等が収納されている。
【００４４】
マイクロフォン１３は、特定の対話相手からの発話を含む周囲の音声を集音し、得られた音声信号をコントローラ１０に送出する。また、ここではマイクロフォン１３を一つしか図示してないが、ロボット１２０には複数のマイクロフォン１３を設けることができる。これらの一部を用いて対話相手の音声を取得し、他の一部を用いて、対話相手以外の周囲の音声を取得するようにすることができる。
【００４５】
コントローラ１０は、ＣＰＵ１０Ａ（図１および図２の全体制御手段５００に相当）やメモリ１０Ｂ（図１および２のロボットロボット発話動作ＤＢ４００およびシナリオ記憶手段１００に相当）を内蔵しており、ＣＰＵ１０Ａにおいて、メモリ１０Ｂに記憶された制御プログラムが実行されることにより、各種の処理を行う。
【００４６】
頭部２には、ＣＣＤカメラ２１ＡおよびＣＣＤカメラ２１Ｂ（図２の観客状態認識手段３０１に相当）、頭部２を回転するためのアクチュエータ２２Ａおよびアクチュエータ２２Ｂ、ならびにタッチセンサ２３等が収納されている。
【００４７】
ＣＣＤカメラ２１ＡおよびＣＣＤカメラ２１Ｂは、周囲の状況を撮像し、得られた画像信号を、コントローラ１０に送出する。タッチセンサ２３は、たとえば人が触れたことを感知する。アクチュエータ２２Ａおよびアクチュエータ２２Ｂは、ロボット１２０の頭部２を上下左右に回転させる。
【００４８】
コントローラ１０は、マイクロフォン１３、ＣＣＤカメラ２１Ａ、およびＣＣＤカメラ２１Ｂから得られる音声信号や画像信号に基づいて、メモリ１０Ｂから適宜情報を読み出し、周囲の状況や、人間からの指令を解析し、行動を行うか、合成音を生成するかを判断する。
【００４９】
行動を行う場合、コントローラ１０は、続く行動を決定し、その決定結果に基づいて、アクチュエータ１４Ａ、アクチュエータ１４Ｂ、アクチュエータ２２Ａ、およびアクチュエータ２２Ｂを制御して頭部２を上下左右に回転させたり、ロボット１２０を移動または回転させる等の行動を行わせる。
【００５０】
合成音を生成する場合、コントローラ１０は、合成音を生成し、スピーカ１２に供給して出力させる。
【００５１】
図５は、ロボット制御装置１１０の動作を示すフローチャートである。
マイクロフォン１３は、ユーザからの発話を含む周囲の音声を集音し、得られた音声信号をコントローラ１０に送出する（Ｓ１）。また、ＣＣＤカメラ２１ＡおよびＣＣＤカメラ２１Ｂは、周囲の状況を撮像し、得られた画像信号を、コントローラ１０に送出する（Ｓ２）。コントローラ１０は、マイクロフォン１３、ＣＣＤカメラ２１Ａ、およびＣＣＤカメラ２１Ｂから送出された音声信号および画像信号に基づいて、適宜メモリ１０Ｂを読み出し、周囲の状況や、人間からの指令を解析し、それらに応じてロボット１２０の動作を決定する（Ｓ３）。
【００５２】
ステップＳ３で決定された動作に音声出力が含まれる場合（Ｓ４のＹＥＳ）、コントローラ１０は、必要に応じて、合成音を生成し、スピーカ１２に供給して音声を出力させる（Ｓ５）。
【００５３】
また、ステップＳ３で決定された動作にロボット１２０の行動が含まれる場合（Ｓ６のＹＥＳ）、コントローラ１０は、アクチュエータ１４Ａ、アクチュエータ１４Ｂ、アクチュエータ２２Ａ、およびアクチュエータ２２Ｂ等を駆動させる（Ｓ７）。これによりロボット１２０の頭部２を上下左右に回転させたり、ロボット１２０を移動または回転させる等の行動が行われる。
【００５４】
以上のような構成および動作により、ロボット１２０は、周囲の状況等に基づいて、自律的に行動をとることができる。
【００５５】
図６は、図５に示したコントローラ１０の機能的構成例を示すブロック図である。なお、図６に示す機能的構成は、ＣＰＵ１０Ａが、メモリ１０Ｂに記憶された制御プログラムを実行することで実現される。
【００５６】
コントローラ１０は、特定の外部状態を認識するセンサ入力処理部５１、シナリオが格納されているシナリオ記憶部５２、特定の状況におけるロボットの発話データおよび動作データが格納されているロボット言動データベース５３、ロボット１２０の行動を決定する全体制御部５４、全体制御部５４の決定結果に基づいて、アクチュエータ１４Ａ、アクチュエータ１４Ｂ、アクチュエータ２２Ａ、およびアクチュエータ２２Ｂを制御するメカ制御部５５、合成音を生成する音声合成部５６、音声合成部５６において合成された合成音の出力を制御する出力部５７、を含む。全体制御部５４は、センサ入力処理部５１の認識結果、シナリオ記憶部５２に記憶されているシナリオ情報、およびロボット言動データベース５３に格納されている発話動作情報に基づいて、ロボット１２０の行動を決定する。
【００５７】
センサ入力処理部５１は、マイクロフォン１３、ＣＣＤカメラ２１Ａ、およびＣＣＤカメラ２１Ｂから送出される音声信号および画像信号等や、タッチセンサ２３から送出される信号に基づいて、対話相手の言動や、周囲の観客の状態を認識し、その認識結果を、全体制御部５４に通知する。
【００５８】
センサ入力処理部５１は、相方言動認識部５１Ａおよび観客状態認識部５１Ｂを有する。相方言動認識部５１Ａは、マイクロフォン１３、ＣＣＤカメラ２１Ａ、ＣＣＤカメラ２１Ｂ、およびタッチセンサ２３から送出される情報を用いて、特定の人物（本実施の形態においては相方）の言動を認識し、認識結果を全体制御部５４に通知する。ここでは図示していないが、コントローラ１０は、相方に関する情報を記憶する相方情報記憶を含むことができる。ここで、相方に関する情報は、たとえば相方の顔画像や音声データである。相方言動認識部５１Ａは、マイクロフォン１３、ＣＣＤカメラ２１Ａ、およびＣＣＤカメラ２１Ｂから入力された音声や画像に基づき、相方の言動を認識する際に、相方情報記憶部を参照することにより、入力された音声や画像が相方に関するものか否かを判断することができ、相方の言動を認識する精度を高めることができる。
【００５９】
観客状態認識部５１Ｂは、マイクロフォン１３、ＣＣＤカメラ２１Ａ、およびＣＣＤカメラ２１Ｂから与えられる情報を処理し、観客が多い／少ない、笑い声が大きい／小さい等の聞き手（観客）の状態を認識し、全体制御部５４に通知する。観客状態認識部５１Ｂは、たとえば、ＣＣＤカメラ２１ＡやＣＣＤカメラ２１Ｂが取得した観客の画像に基づき、たとえば観客の顔画像を識別して、観客の人数や、女性が多いとか男性が多い等の観客の種類を把握することができる。また、ロボット１２０は、感温センサを含むことができ、感温センサにより人の存在を感知し、観客が多いか少ないか等の観客の状態を識別することができる。また、観客状態認識部５１Ｂは、相方言動認識部５１Ａが認識した相方の言動に基づき、観客状態を認識することもできる。たとえば、相方が「今日は若いお客さんが多いね〜」等の発話をした場合、観客状態認識部５１Ｂは、相方の発話に基づき、「若い人が多い」という観客の状況を認識することができる。
【００６０】
全体制御部５４は、センサ入力処理部５１からの通知、シナリオ記憶部５２に格納されているシナリオ情報、およびロボット言動データベース５３に格納されている発話動作情報に基づいて、ロボット１２０の次の動作を決定し、決定された動作の内容を、メカ制御部５５と音声合成部５６に送出する。
【００６１】
メカ制御部５５は、全体制御部５４から送出された行動指令に基づいて、アクチュエータ１４Ａ、アクチュエータ１４Ｂ、アクチュエータ２２Ａ、およびアクチュエータ２２Ｂを駆動するための制御信号を生成し、これをアクチュエータ１４Ａ、１４Ｂ、２２Ａ、および２２Ｂへ送出する。これにより、アクチュエータ１４Ａ、１４Ｂ、２２Ａ、および２２Ｂは、制御信号にしたがって駆動する。
【００６２】
出力部５７には、音声合成部５６からの合成音のディジタルデータが供給されるようになっており、出力部５７は、それらのディジタルデータを、アナログの音声信号にＤ／Ａ変換し、スピーカ１２に供給して出力させる。
【００６３】
図７は、シナリオ記憶部５２に記憶されたシナリオの一例を示す図である。
ここでは、ロボット１２０が特定の人物（相方）と漫才をする場合のシナリオを例として示す。
シナリオは、番号欄と、相方の言動欄と、ロボットの言動欄と、発話権欄と、観客状態考慮欄と、予測欄とを有する。番号欄には、時間の流れを示す数値が記憶される。ここで、シナリオには、番号に対応づけて、相方の言動、ロボットの言動、発話権の所在、観客状態を考慮するか否か、および観客状態の予測が記述されている。相方の言動欄およびロボットの言動欄において、相方およびロボットの発話内容は「  」で囲まれている。また、相方およびロボットの行動は、“  ”で囲まれている。
【００６４】
たとえば、番号「０１」では、発話権は「相方」にあり、相方の言動として「こんにちは〜、山田太郎と申します」という発話が記憶されている。ここで、ロボットの言動欄には、［Ｄ００１］が記憶されている。発話権が相方にある場合、ロボットは、相方の言動を認識する。相方がシナリオ通りの言動をしない場合、ロボットは、相方との対話がスムーズに進むように、［  ］で囲まれた処理を行う。ロボットは、たとえば、相方がシナリオ通りの言動をするよう促す処理を行う。
【００６５】
番号「０２」では、発話権は「ロボット」にあり、ロボットの言動として、「○○○でございます」という発話と、“Ａ００１”という行動が記憶されている。ここでは、観客状態考慮欄は「×」となっており、観客状態にかかわらず、ロボット１２０が「○○○でございます」という発話と、“Ａ００１”という行動を行うことが設定されている。
【００６６】
番号「０６」では、発話権は「ロボット」にあり、ロボットの言動として、「Ｂ００１」という発話と、“Ａ００３”という行動が記憶されている。ここでは、観客状態考慮欄が「○」となっており、ロボット１２０は、観客状態を考慮して発話および行動を行う。観客状態を考慮する場合、観客状態の予測も対応づけられる。たとえば、番号「０６」では、観客状態の予測として、「観客が多い」が対応づけられている。シナリオは、観客が多いことを想定して作成されている。
【００６７】
ロボット言動データベース５３には、「Ａ００１」等のキーや「Ｂ００１」等のキーにロボット１２０の発話や行動が対応づけて記憶される。
【００６８】
図８は、ロボット言動データベース５３の内部構成の一部の一例を示す図である。ここでは、キーとロボット１２０の行動とが対応づけられた例を示す。
ロボット言動データベース５３は、キー欄と、行動欄とを含む。たとえば、キー「Ａ００１」には、「回転する」という行動が対応づけられている。また、キー「Ａ００３」には、「（ａ）おじぎをする、（ｂ）回転する」という行動が対応づけられている。この場合、全体制御部５４は、観客状態認識部５１Ｂからの認識結果に基づき、観客の状態に応じて、（ａ）または（ｂ）の行動のいずれかを選択する。ここでは、観客状態が予測通りであれば、（ａ）の行動が選択され、観客状態が予測通りではない場合に（ｂ）の行動が選択される。全体制御部５４は、選択した行動をメカ制御部５５に通知する。
【００６９】
図９は、ロボット言動データベース５３の内部構成の一部の一例を示す図である。ここでは、キーとロボット１２０の発話とが対応づけられた例を示す。
ロボット言動データベース５３は、キー欄と、発話欄とを含む。たとえば、キー「Ｂ００１」には、「（ａ）ほんとにね、ありがたいですね、（ｂ）ららら〜」という行動が対応づけられている。この場合、全体制御部５４は、観客状態認識部５１Ｂからの認識結果に基づき、観客の状態に応じて、（ａ）または（ｂ）の発話のいずれかを選択する。ここでは、観客状態が予測通りであれば、（ａ）の行動が選択され、観客状態が予測通りではない場合に（ｂ）の行動が選択される。全体制御部５４は、選択した発話を音声合成部５６に通知する。
【００７０】
図１０は、シナリオ記憶部５２の内部構成の一部の一例を示す図である。ここでは、発話権が相方にある場合に、相方がシナリオ通りの言動をしない場合に、ロボット１２０が行う処理が、キーに対応づけて記憶される。
【００７１】
たとえば、キー「Ｄ００１」には、「次の番号に進む」という処理が対応づけられている。また、キー「Ｄ００２」には、「ここはつっこむところやで」という発話が対応づけられている。
【００７２】
以下、図７に示したシナリオに沿って、相方とロボットが漫才をする場合のロボット１２０の動作手順を説明する。以下、図８〜図１０も参照して説明する。
【００７３】
プログラムが開始すると、全体制御部５４は、まず番号「０１」の行を参照する。番号「０１」の行では、相方の言動が「こんにちは〜、山田太郎と申します」であり、発話権が“相方”となっている。相方の言動の欄が空欄でなく、かつ、発話権が“相方”である場合、全体制御部５４は、相方言動認識部５１Ａの認識結果を待つ。相方がシナリオ通り「こんにちは〜、山田太郎と申します」と発話した場合、全体制御部５４は、次の番号「０２」の行を参照する。一方、相方がシナリオ通りの言動を行わなかった場合、全体制御部５４は、ロボットの言動欄を参照し、［Ｄ００１］の処理（図１０では次の番号に進む）を実行する。
【００７４】
以下、番号ｘにおける、相方の言動をＡ（ｘ）、ロボットの言動をＲ（ｘ）、発話権をＨ（ｘ）と記載する。
【００７５】
番号「０２」の行では、Ａ（０２）が空欄であり、Ｒ（０２）が「○○○でございます」“Ａ００１”であり、Ｈ（０２）が“ロボット”、観客状態考慮は「×」である。この場合、全体制御部５４は、Ｒ（０２）を参照し、「○○○でございます」という発話と“Ａ００１”という行動を行うよう、メカ制御部５５と音声合成部５６へ指示を送る。このとき、全体制御部５４は、ロボット言動データベース５３を参照して、ロボット言動データベース５３から、“Ａ００１”というキーに対応づけられたロボット１２０の行動情報（図９に示した例では回転する）を読み出し、その行動情報をメカ制御部５５に通知する。
【００７６】
次に全体制御部５４は、次の番号「０３」の行を参照する。番号「０３」の行では、Ａ（０３）が“叩く”、Ｒ（０３）が［Ｄ００２］、Ｈ（０３）が“相方”、観客状態考慮は「×」である。全体制御部５４は、番号「０１」の時と同様に、相方言動認識部５１Ａの認識結果を待ち、認識結果が“叩く”である場合、次の番号「０４」の行を参照する、というように続いていく。一方、認識結果が“叩く”でない場合、全体制御部５４は、ロボットの行動欄を参照し、たとえばロボットに「ここはつっこむところやで」と発話させる処理を行う。これにより、相方に、シナリオに“叩く”と記憶されていることを思い出させることが期待できる。この場合、相方は、ロボット１２０のタッチセンサ２３を叩く。これにより、ロボット１２０は、叩かれた（つっこまれた）ことを認識することができる。
【００７７】
番号「０６」では、Ｒ（０６）が「Ｂ００１」という発話と“Ａ００３”という行動であり、Ｈ（０６）が“ロボット”、観客状態考慮が「○」となっている。また、観客状態の予測は「多い」となっている。観客状態考慮が「○」である場合、全体制御部５４は、その番号において行うロボットの言動を、観客状態認識部５１Ｂの認識結果を参照して決定する。観客状態認識部５１Ｂは、たとえば、観客が多いか少ないかを認識することができ、全体制御部５４に「観客が多い」または「観客が少ない」等の認識結果を通知する。全体制御部５４は、観客状態認識部５１Ｂからの通知に基づき、観客の状態が予測通りか否かに応じて、全体制御部５４の言動を選択する。
【００７８】
全体制御部５４は、観客状態認識部５１Ｂから、予測と同じ「観客が多い」という認識結果の通知を受けている場合、番号「０５」における相方の「今日はね、たくさんのお客様にきていただいてね」という発話に同意して図９のキー「Ｂ００１」に対応づけられた（ａ）の「ほんとにね、ありがたいですね」という発話を選択する。また、このとき、全体制御部５４は、図８のキー「Ａ００３」に対応づけられた（ａ）の「おじぎをする」という行動を選択する。この結果、番号「０６」において、ロボット１２０は、おじぎをしながら「ほんとにね、ありがたいですね」と発話する。
【００７９】
一方、全体制御部５４は、観客状態認識部５１Ｂから、予測とは異なる「観客が少ない」という認識結果の通知を受けている場合、図９のキー「Ｂ００１」に対応づけられた（ｂ）の「ららら〜」という発話を選択する。また、このとき、全体制御部５４は、図８のキー「Ａ００３」に対応づけられた（ｂ）の「回転する」という行動を選択する。この結果、番号「０６」において、ロボット１２０は、回転しながら「ららら〜」と発話する。
【００８０】
また、番号「１１」では、Ｒ（０６）が「Ｂ００２」という発話であり、Ｈ（０６）が“ロボット”、観客状態考慮が「○」となっている。また、観客状態の予測は「注目」となっている。全体制御部５４は、観客状態認識部５１Ｂから、観客が注目しているか否かの認識結果を取得する。観客が注目しているか否かは、マイクロフォン１３から取得される音声や、ＣＣＤカメラ２１ＡやＣＣＤカメラ２１Ｂから取得される観客の画像に基づき判断することができる。全体制御部５４は、観客状態認識部５１Ｂからの通知に基づき、観客が注目している場合は、図９のキー「Ｂ００２」に対応する（ａ）の「はいな」という発話を選択し、ロボット１２０に「はいな」と音声出力させる。一方、全体制御部５４は、観客が注目していない場合は、図９のキー「Ｂ００２」に対応する（ｂ）の「やだよ」という発話を選択し、ロボット１２０に「やだよ」と音声出力させる。
【００８１】
また、他の例において、シナリオ記憶部５２には、観客状態が予測通りの場合の言動のみを記憶させておき、全体制御部５４は、観客状態が予測と異なる場合には、観客の状態をキーとしてロボット言動データベース５３に対して検索を行い、キーに対応する発話動作データを取得し、その発話と動作を行うよう、メカ制御部５５と音声合成部５６へ指示を送ることもできる。たとえば、番号「０６」のロボットの言動として「ほんとにね、ありがたいですね」という発話と“おじぎをする”という行動を記憶させておき、観客状態認識部５１Ｂから通知された観客状態が予測通りの場合には、シナリオ記憶部５２に記憶された通りの言動を行うようにすることもできる。一方、観客状態認識部５１Ｂから、“観客が少ない”という通知を受けた場合、全体制御部５４は“観客が少ない”というキーにより、ロボット言動データベース５３に対して検索を行い、キーに対応する発話動作データを取得し、その発話と動作を行うよう、メカ制御部５５と音声合成部５６へ指示を送ることもできる。
【００８２】
図１１は、全体制御部５４の動作を整理して示した図である。
たとえば、パターン（ａ）では、相方の言動が「Ａ（ｘ）」で、ロボットの言動は「（無し）／［×××］」で、発話権は相方にあり、観客状態は考慮しないことになっている。この場合、全体制御部５４は、相方言動認識部５１Ａの認識結果を待ち、それがＡ（ｘ）である場合、次の番号のシナリオを参照する。一方、全体制御部５４は、相方言動認識部５１Ａの認識結果が、Ａ（ｘ）とは異なる場合、［×××］の処理を行い、相方にＡ（ｘ）の言動を促す。
【００８３】
パターン（ｂ）では、相方の言動が「（無し）」で、ロボットの言動は「Ｒ（ｘ）」で、発話権はロボットにあり、観客状態は考慮しないことになっている。この場合、全体制御部５４は、Ｒ（ｘ）を実行し、次の番号のシナリオを参照する。
【００８４】
パターン（ｃ）では、相方の言動が「（無し）」で、ロボットの言動は「Ｒ（ｘ）」で、発話権はロボットにあり、観客状態を考慮することになっている。この場合、全体制御部５４は、観客状態認識部５１Ｂの認識結果を参照し、予測通りであれば、Ｒ（ｘ）を実行し、次の番号のシナリオを参照する。一方、観客状態認識部５１Ｂの認識結果が予測通りでない場合、全体制御部５４は、観客状態認識部５１Ｂからの認識結果に基づき、それをキーとしてロボット言動データベース５３を参照して、そのキーに対応する発話動作データを取得し、その発話と動作を行う。
【００８５】
パターン（ｄ）では、相方の言動が「Ａ（ｘ）」で、ロボットの言動は「（無し）／［×××］」で、発話権は相方にあり、観客状態を考慮することになっている。この場合、全体制御部５４は、観客状態認識部５１Ｂの認識結果を参照し、予測通りであれば、パターン（ａ）と同様の処理を行う。一方、観客状態認識部５１Ｂの認識結果が予測通りでない場合、相方言動認識部５１Ａの認識結果を待ち、相方の言動に応じて動作が必要であれば対応し、次の番号のシナリオを参照する。
【００８６】
図１２は、本実施の形態におけるロボット制御装置１１０の全体制御部５４の処理手順を示すフローチャートである。
新しい番号のシナリオを参照すると、全体制御部５４は、発話権がロボットにあるか相方にあるかを判断する（Ｓ１００）。発話権がロボットにある場合（Ｓ１００のＹＥＳ）、全体制御部５４は、観客状態を考慮するか否かを判断する（Ｓ１０２）。観客状態を考慮する場合（Ｓ１０２のＹＥＳ）、全体制御部５４は、観客状態認識部５１Ｂからの認識結果を取得する（Ｓ１０４）。観客状態認識部５１Ｂからの認識結果が予測通りの場合（Ｓ１０６のＹＥＳ）、シナリオ記憶部５２を参照して、設定された言動を実行させる（Ｓ１１０）。一方、ステップＳ１０６において、観客状態認識部５１Ｂからの認識結果が予測通りでない場合（Ｓ１０６のＮＯ）、全体制御部５４は、認識結果に基づき、それをキーとしてロボット言動データベース５３を参照し、そのキーに対応する発話動作データを取得し、言動を決定する（Ｓ１０８）。その後、決定した言動を実行させる（Ｓ１１０）。
【００８７】
なお、図８および図９を参照して説明したように、ロボット言動データベース５３に、観客状態認識部５１Ｂの認識結果に応じて複数の言動が記憶されている場合、全体制御部５４は、ステップＳ１０６の判断結果に応じて、ロボット言動データベース５３から言動を選択し、ステップＳ１１０において、選択された言動を実行させる。
【００８８】
ステップＳ１０２において、観客状態を考慮しない場合（Ｓ１０２のＮＯ）、ステップＳ１１０に進み、シナリオ記憶部５２を参照して、設定された言動を実行させる（Ｓ１１０）。
【００８９】
ステップＳ１１０の処理の後、ロボット１２０の言動を終了するか否かを判断し（Ｓ１１２）、終了しない場合は次の番号のシナリオを参照し（Ｓ１１４）、再びステップＳ１００に戻り、同様の処理を行う。
【００９０】
一方、ステップＳ１００において、発話権がロボットにない場合（Ｓ１００のＮＯ）、全体制御部５４は、観客状態を考慮するか否かを判断する（Ｓ１１６）。観客の言動を考慮しない場合（Ｓ１１６のＮＯ）、相方言動認識部５１Ａの認識結果を取得する（Ｓ１１８）。相方言動認識部５１Ａの認識結果がシナリオ記憶部５２のシナリオ通りの場合（Ｓ１２０のＹＥＳ）、ステップＳ１１２に進む。
【００９１】
一方、ステップＳ１２０において、相方言動認識部５１Ａの認識結果がシナリオ通りでない場合（Ｓ１２０のＮＯ）、相方にシナリオ通りの言動を促す処理を行うか否かを判断する（Ｓ１２１）。相方にシナリオ通りの言動を促す処理を行う場合（Ｓ１２１のＹＥＳ）、相方にシナリオ通りの言動を促す処理を行う（Ｓ１２２）。その後、ステップＳ１１８に戻り、相方の言動がシナリオ通りか否かを再び判断する（Ｓ１２０）。
【００９２】
また、ステップＳ１２１において、何度かステップＳ１２２の処理を行っても相方の言動がシナリオ通りにならない場合や、相方の言動がシナリオ通りでなくてもいい場合は、相方にシナリオ通りの言動を促すことなく（Ｓ１２１のＮＯ）、ステップＳ１１２に進み、以上と同様の処理を行う。
【００９３】
ステップＳ１１６において、観客状態を考慮する場合（Ｓ１１６のＹＥＳ）、全体制御部５４は、観客状態認識部５１Ｂからの認識結果を取得する（Ｓ１２４）。観客状態認識部５１Ｂからの認識結果が予測通りの場合（Ｓ１２６のＹＥＳ）、ステップＳ１１８に進み、上記と同様の処理を行う。
【００９４】
ステップＳ１２６において、観客状態認識部５１Ｂからの認識結果が予測通りではない場合（Ｓ１２６のＮＯ）、全体制御部５４は、相方言動認識部５１Ａからの認識結果を取得する（Ｓ１２８）。全体制御部５４は、相方言動認識部５１Ａからの認識結果に基づき、対応が必要か否かを判断する（Ｓ１３０）。対応が必要な場合（Ｓ１３０のＹＥＳ）、ステップＳ１０８に進み、たとえば相方の発話内容等をキーとしてロボット言動データベース５３を検索し、そのキーに対応する発話動作データを取得し、言動を決定する。ステップＳ１３０において、対応が必要でない場合（Ｓ１３０のＮＯ）、ステップＳ１１２に進み、以上と同様の処理を行う。
【００９５】
図１３は、図７に示したシナリオの他の例を示す図である。
ここで、番号「０３」では、発話権はロボットにあり、ロボットの発話が「Ｅ００１」、行動が“Ｆ００１”、観客の状態の予測として、「笑い」が対応づけられている。漫才等のシナリオを考える場合、漫才師は、予め観客にうける箇所をいくつか設けてシナリオを作成する。たとえば、図１３に示した例では、番号「０２」でロボット１２０が自分の本当の名前を言わず、観客にうけるような名前を発話することが設定されている。「○○○でございます」の「○○○」には、たとえばそのときに話題になっている人や、観客がうけそうな人の名前を入れることができる。番号「０２」の次の番号「０３」では、観客がうけて笑っていることが予測される。観客状態認識部５１Ｂは、マイクロフォン１３から得られる観客の音声等に基づき、観客がうけているか否かを判断する。シナリオ記憶部５２には、たとえば、予測通り観客がうけている場合のロボット１２０の言動として、「Ｅ００１」に「うけた、うけた」という言葉、および“Ｆ００１”に「回転する」という行動を記憶しておくことができ、また、観客がうけていない場合のロボット１２０の言動として、「Ｅ００１」に「ここは笑うところやで」という言葉、および“Ｆ００１”に「客席の方向に前進」という行動を記憶しておくことができる。これにより、番号「０３」において、ロボット１２０は、観客状態認識部５１Ｂの認識結果が「笑い」の場合、「うけた、うけた」と発話して、回転するようにする。また、ロボット１２０は、観客状態認識部５１Ｂの認識結果が「静か」等の場合、「ここは笑うところやで」と発話しながら観客の方に前進する。
【００９６】
このようにすれば、ロボット１２０が観客の反応に応じた振る舞いをするので、観客はよりリアリティを持ってロボット１２０と相方との漫才を楽しむことができる。
【００９７】
図１４は、図７に示したシナリオのまた他の例を示す図である。
ここでは、ロボット１２０が、相方の言動に基づき、観客の状態を認識する例を示す。番号「０５」では、相方の言動が「＜観客状態紹介＞」となっている。相方がたとえば「今日はきれいなお客さんばっかりや、うれしいねー」と発話すると、相方言動認識部５１Ａは、相方の言動を認識し、それを観客状態認識部５１Ｂに通知する。観客状態認識部５１Ｂは、「きれいな人がたくさんいる」ということを認識する。また、相方がたとえば「今日はじいさんばっかりやー」と発話すると、同様に、観客状態認識部５１Ｂは相方言動認識部５１Ａの通知に基づき、「おじいさんがたくさんいる」ということを認識する。
【００９８】
次の番号「０６」では、番号「０５」で観客状態認識部５１Ｂが認識した観客の状態に基づき、ロボット１２０の言動が決定される。たとえば、観客状態認識部５１Ｂが「きれいな人がたくさんいる」と認識した場合は、ロボット１２０が「やったー」と発話して、回転するようにすることができる。一方、観客状態認識部５１Ｂが「おじいさんがたくさんいる」と認識した場合は、ロボット１２０が「えー、がっかり」と発話して、うつむくようにすることができる。
【００９９】
ここで、たとえば、予め想定される観客の状態と番号「０６」におけるロボット１２０の言動とを対応づけてロボット言動データベース５３に記憶しておくことができる。この場合、全体制御部５４は、観客状態認識部５１Ｂの認識結果に基づき、ロボット言動データベース５３から対応する言動を読み出してロボット１２０にその言動を実行させることができる。また、全体制御部５４は、番号「０５」における相方の言葉をキーとして、ロボット言動データベース５３に対して検索を行い、キーに対応する発話動作データを取得し、その発話と動作をロボット１２０に実行させることもできる。番号「０７」では、相方の言動が「＜応答＞」となっている。相方は、番号「０６」のロボット１２０の言動に応じた応答を自由に発言する。
【０１００】
このようにすれば、相方およびロボット１２０が観客の反応に応じた振る舞いをするので、観客はよりリアリティを持ってロボット１２０と相方との漫才を楽しむことができる。
【０１０１】
図１５は、図６に示したロボット１２０を含むシステムの構成を示すブロック図である。コントローラ１０は、通信制御部１３０をさらに含むことができる。通信制御部１３０は、ネットワーク６００を介して、サーバ６３０、ＣＣＤカメラ６２０、およびマイクロフォン６１０との間でデータの送受信を行う。ここで、ＣＣＤカメラ６２０は、たとえば観客の様子を撮影するように設置されている。また、マイクロフォン６１０は、観客席の近くに設けられ、観客の音声を取得するようにされている。サーバ６３０は、観客の人数や観客の種類等が記憶された記憶部を含むことができる。この場合、観客の人数や観客の種類は、たとえばロボット１２０と相方との漫才が行われる会場に入場した観客のチケットを読み込むことにより取得することができる。
【０１０２】
ここで、ネットワーク６００は、たとえば無線ＬＡＮとすることができる。また、マイクロフォン６１０、ＣＣＤカメラ６２０、およびサーバ６３０からのデータが、たとえばブルートゥース（Bluetooth）や赤外線を用いて送受信される構成とすることもできる。
【０１０３】
また、観客にＩＣタグを付しておき、それらを読み取った結果を取得することにより、観客の人数や種類を取得することもできる。
【０１０４】
本実施の形態におけるロボット制御装置１１０を含むロボット１２０によれば、ロボット１２０が、特定の相手と対話を行う際に、特定の相手以外の聞き手の状態も考慮して発話したり行動したりするので、聞き手の興味をひき、聞き手を楽しませることができる。上述したように、シナリオ記憶部５２に漫才のシナリオを記憶させておくことにより、特定の相手（相方）と漫才をして観客を喜ばせることができる。
【０１０５】
（第二の実施の形態）
本実施の形態においては、ロボット１２０が教育現場で、教師と対話を行いながら聞き手（生徒）に教育を行う例を示す。
【０１０６】
図１６は、本実施の形態におけるロボット制御装置のコントローラの機能的構成例を示すブロック図である。
本実施の形態において、センサ入力処理部５１は、相手言動認識部５１Ｃと聞き手状態認識部５１Ｄを含む。
【０１０７】
相手言動認識部５１Ｃは、図６に示した相方言動認識部５１Ａと同様の機能を有し、マイクロフォン１３、ＣＣＤカメラ２１Ａ、ＣＣＤカメラ２１Ｂ、およびタッチセンサ２３から送出される情報を用いて、特定の人物（本実施の形態においては教師）の言動を認識し、認識結果を全体制御部５４に通知する。
【０１０８】
また、聞き手状態認識部５１Ｄは、図６に示した観客状態認識部５１Ｂと同様の機能を有し、マイクロフォン１３、ＣＣＤカメラ２１Ａ、およびＣＣＤカメラ２１Ｂから与えられる情報を処理し、聞き手が注目している／よそ見をしている、話の内容を理解している／理解していない等の聞き手（本実施の形態においては生徒）状態を認識し、全体制御部５４に通知する。
【０１０９】
また、コントローラ１０は、通信制御部１３０を含む。通信制御部１３０は、ネットワーク６００を介してモニタ６４０や聞き手端末６５０に接続される。全体制御部５４は、通信制御部１３０を介して、モニタ６４０に表示する画像の制御を行う。たとえば、コントローラ１０は、教師やロボットの説明の参考となる映像や文字情報を記憶する記憶部（不図示）を含むことができる。全体制御部５４は、当該記憶部から必要な情報を読み出し、その情報がモニタ６４０に表示されるように通信制御部１３０に指示をすることができる。また、教師やロボットの説明の参考となる映像や文字情報は、ロボット１２０外の装置（不図示）に記憶しておくこともでき、全体制御部５４は、それらの情報が適切なタイミングでモニタ６４０に表示されるように、通信制御部１３０にタイミング信号を送信する指示をすることもできる。所望の画像をモニタ６４０に表示するタイミングは、シナリオ記憶部５２に記憶しておくことができる。
【０１１０】
また、通信制御部１３０は、ネットワーク６００を介して聞き手端末６５０から、聞き手の反応を取得することができる。たとえば、生徒が机に座って教師とロボットとの対話を聞いている場合、各机に聞き手端末６５０を設置しておくことができる。教師またはロボットが「みんなわかりましたか？」と問いかけたときに、生徒に聞き手端末６５０から理解したか否かを示す情報を送信させるようにすることができる。
【０１１１】
ここで、ネットワーク６００は、たとえば無線ＬＡＮとすることができる。また、モニタ６４０や聞き手端末６５０との間のデータは、たとえばブルートゥース（Bluetooth）や赤外線を用いて送受信される構成とすることもできる。
【０１１２】
また、ロボット１２０は、教師またはロボットが「みんなわかりましたか？」と問いかけたときに、生徒が「はーい」と返事をした場合に、その音声に基づき、生徒が理解したか否かを判断することもできる。
【０１１３】
本実施の形態におけるロボット制御装置１１０を含むロボット１２０によれば、ロボット１２０が、特定の相手と対話を行う際に、特定の相手以外の聞き手の状態も考慮して発話したり行動したりするので、聞き手の興味をひき、聞き手を楽しませることができる。
【０１１４】
また、以上の実施の形態で説明したロボット制御装置を含むシステムの各構成要素は、任意のコンピュータのＣＰＵ、メモリ、メモリにロードされた上記各図の構成要素を実現するプログラム、そのプログラムを格納するハードディスク等の記憶ユニット、ネットワーク接続用インターフェースを中心にハードウエアとソフトウエアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。以上で説明した各図は、ハードウエア単位の構成ではなく、機能単位のブロックを示している。
【０１１５】
以上、図面を参照して本発明の実施の形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
【０１１６】
以上の実施の形態においては、相方や先生等の対話相手の音声をロボット１２０のマイクロフォン１３で取得する構成を説明したが、対話相手にマイクロフォンを付けておき、対話相手の音声をそのマイクロフォンから取得するようにすることもできる。対話相手に付けられたマイクロフォンからの音声は、たとえば無線でロボット制御装置に送信されるようにすることができる。これにより、雑音の影響を低減して、対話相手の音声を正確に取得することができる。
【０１１７】
以上の実施の形態においては、たとえば図７、図１３および図１４に示したように、シナリオ記憶部５２が、ロボットが観客状態を考慮するか否かを相方の言動やロボットの言動ごとに対応づけて記憶する例を示したが、シナリオ記憶部５２は、観客状態考慮欄や予測欄を含まない形態とすることもできる。たとえば、どの場面であっても、観客の音声が所定のレベル以上となると、観客が笑っていると判断して、「うけてるうけてる」とロボット１２０が発話するとともに、くるくる回転して喜んでいるような動作をするように設定することもできる。
【０１１８】
また、ロボット１２０には、ＧＰＳ等の位置取得機能を設けることもでき、全体制御部５４は、位置情報に基づき、現在いる位置に関する情報をキーとしてロボット言動データベース５３に対して検索を行い、キーに対応する発話動作データを取得し、その発話と動作をロボットに行わせることもできる。これにより、聞き手が親しみを持ってロボットと対話相手の対話を楽しむことができる。
【０１１９】
また、ロボットの形状は、図３に示したものに限定されず、種々の形状とすることができる。本発明は、人の音声を認識して応答するロボットに広く適用することができる。また、本発明は、現実世界のロボットだけでなく、たとえば、液晶ディスプレイ等の表示装置に表示される仮想的なロボットにも適用可能である。
【０１２０】
さらに、以上の実施の形態においては、上述した一連の処理を、ＣＰＵ１０Ａ（図４）にプログラムを実行させることにより行うようにしたが、一連の処理は、それ専用のハードウエアによって行うことも可能である。
【０１２１】
なお、プログラムは、あらかじめメモリ１０Ｂ（図４）に記憶させておく他、フロッピー（登録商標）(Ｒ)ディスク、ＣＤ−ＲＯＭ、ＭＯディスク、ＤＶＤ、磁気ディスク、半導体メモリ等のリムーバブル記録媒体に、一時的あるいは永続的に格納（記録）しておくことができる。そして、このようなリムーバブル記録媒体を、いわゆるパッケージソフトウェアとして提供し、ロボット（メモリ１０Ｂ）にインストールするようにすることができる。
【０１２２】
また、プログラムは、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、無線で転送したり、ＬＡＮ、インターネットといったネットワークを介して、有線で転送し、メモリ１０Ｂにインストールすることができる。
【０１２３】
この場合、プログラムがバージョンアップされたとき等に、そのバージョンアップされたプログラムを、メモリ１０Ｂに、容易にインストールすることができる。
【０１２４】
ここで、本明細書において、ＣＰＵ１０Ａに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理も含むものである。
【０１２５】
また、プログラムは、１つのＣＰＵにより処理されるものであってもよいし、複数のＣＰＵによって分散処理されるものであってもよい。
【０１２６】
また、本発明は、以下の態様も含む。
（１）ロボットにおける対話を制御するロボット制御装置において
人物の言動を認識する人物言動認識手段と、
前記ロボットにおける空間的な状態を認識する空間状態認識手段と、
前記人物の言動および前記ロボットの行動を時間の流れに沿って記述するシナリオを格納するシナリオ記憶手段と、
前記ロボットの発話情報および動作情報を格納するロボット発話動作情報記憶手段と、
前記人物言動認識手段の結果と前記空間状態認識手段の結果と前記シナリオ記憶手段に格納されているシナリオと前記ロボット発話動作情報記憶手段に格納されているロボットの発話情報および動作情報を基に、前記ロボットの発話と動作を決定する全体制御部と、
からなる、ロボット制御装置。
【０１２７】
（２）前記空間状態認識手段が、一人または不特定多数の人物の状態を認識する人物状態認識手段を含むことを特徴とする（１）のロボット制御装置。
【０１２８】
（３）ロボットにおける対話を制御するロボット制御方法において、
人物の言動を認識する人物言動認識ステップと、
前記ロボットにおける空間的な状態を認識する空間状態認識ステップと、
前記人物言動認識ステップの結果と前記空間状態認識ステップの結果と、記憶手段に格納されている前記人物の言動および前記ロボットの行動を時間の流れに沿って記述するシナリオと記憶手段に格納されている前記ロボットの発話情報および動作情報を基に、前記ロボットの発話と動作を決定する全体制御ステップと、
を含むロボット制御方法。
【０１２９】
（４）前記空間状態認識ステップが、一人または不特定多数の人物の状態を認識する人物状態認識ステップからなることを特徴とする（３）のロボット制御方法。
【図面の簡単な説明】
【０１３０】
【図１】実施の形態におけるロボット制御装置の構成を示すブロック図である。
【図２】ロボット制御装置の具体的な構成を示すブロック図である。
【図３】実施の形態におけるロボットの一例を示す外観構成図である。
【図４】ロボットの電気的構成の一例を示すブロック図である。
【図５】ロボット制御装置の動作を示すフローチャートである。
【図６】図５に示したコントローラの機能的構成例を示すブロック図である。
【図７】シナリオ記憶部に記憶されたシナリオの一例を示す図である。
【図８】ロボット言動データベースの内部構成の一部の一例を示す図である。
【図９】ロボット言動データベースの内部構成の一部の一例を示す図である。
【図１０】シナリオ記憶部の内部構成の一部の一例を示す図である。
【図１１】全体制御部の動作を整理して示した図である。
【図１２】実施の形態におけるロボット制御装置の全体制御部の処理手順を示すフローチャートである。
【図１３】シナリオ記憶部に記憶されたシナリオの一例を示す図である。
【図１４】シナリオ記憶部に記憶されたシナリオの一例を示す図である。
【図１５】図６に示したコントローラの機能的構成例を示すブロック図である。
【図１６】実施の形態におけるロボットの具体的な構成を示すブロック図である。
【符号の説明】
【０１３１】
１  胴体部
２  頭部
３Ａ、３Ｂ  車輪
１０  コントローラ
１０Ａ  ＣＰＵ
１０Ｂ  メモリ
１１  バッテリ
１２  スピーカ
１３  マイクロフォン
１４Ａ、１４Ｂ  アクチュエータ
２１Ａ、２１Ｂ  ＣＣＤカメラ
２２Ａ、２２Ｂ  アクチュエータ
２３  タッチセンサ
５１  センサ入力処理部
５１Ａ  相方言動認識部
５１Ｂ  観客状態認識部
５１Ｃ  相手言動認識部
５１Ｄ  聞き手状態認識部
５２  シナリオ記憶部
５３  ロボット言動データベース
５４  全体制御部
５５  メカ制御部
５６  音声合成部
５７  出力部
１００  シナリオ記憶手段
１１０  ロボット制御装置
１２０  ロボット
２００  相方言動認識手段
３００  空間状態認識手段
３０１  観客状態認識手段
４００  ロボット言動データベース
５００  全体制御手段
６００  ネットワーク
６１０  マイクロフォン
６２０  ＣＣＤカメラ
６３０  サーバ
６４０  モニタ
６５０  聞き手端末
【図１】
0004622384.tif 000002
【図２】
0004622384.tif 000003
【図３】
0004622384.tif 000004
【図４】
0004622384.tif 000005
【図５】
0004622384.tif 000006
【図６】
0004622384.tif 000007
【図７】
0004622384.tif 000008
【図８】
0004622384.tif 000009
【図９】
0004622384.tif 000010
【図１０】
0004622384.tif 000011
【図１１】
0004622384.tif 000012
【図１２】
0004622384.tif 000013
【図１３】
0004622384.tif 000014
【図１４】
0004622384.tif 000015
【図１５】
0004622384.tif 000016
【図１６】
0004622384.tif 000017