(57)【要約】【課題】  コミュニケーション対象の人間に対して自然な反応動作を実行することができる。【解決手段】  システム１０は、アンドロイドロボット１２を含み、ロボットは、距離画像センサ１８の出力に基づいて得た１または複数の人間の各々の頭部および手の位置についての人間データを参照して、人間が一定範囲内に居るかどうかを判断し、一定範囲内であり、視野内に居る人間がロボットの顔に触れようとしているかどうかをさらに判断する。人間がロボットの顔に触れようとしたことに応じて、ロボットは、当該人間の好意度に応じた反応動作を実行する。【選択図】  図１
2020037141.tif 000002
【特許請求の範囲】
【請求項１】
人間に似た外観を有するロボットであって、
他者の好意度についての好意度データを記憶する好意度記憶手段、
前記ロボットの周囲に存在する前記他者に属する部位が当該ロボットの第１所定距離内に近づいたかどうかを判断する第１接近判断手段と、
前記第１接近判断手段によって前記他者に属する部位が前記ロボットの前記第１所定距離内に近づいたことが判断された場合に、前記好意度記憶手段に記憶された当該他者の好意度に応じた反応動作を当該他者に対して実行する行動実行手段を備える、ロボット。
【請求項２】
前記ロボットの周囲に存在する前記他者の形状および当該他者に属する部位の位置を算出する算出手段をさらに備える、請求項１記載のロボット。
【請求項３】
前記行動実行手段は、前記好意度が所定値以上の場合の第１反応動作または前記好意度が前記所定値未満の第２反応動作を実行する、請求項１または２記載のロボット。
【請求項４】
前記他者に属する部位が前記第１所定距離よりも長い第２所定距離内に近づいたかどうかを判断する第２接近判断手段をさらに備え、
前記行動実行手段は、前記好意度が前記所定値以上であれば、前記第１接近判断手段によって前記他者に属する部位が前記ロボットの前記第１距離内に近づいたことが判断された場合に、前記第１反応動作を実行し、前記好意度が前記所定値未満であれば、前記第２接近判断手段によって前記他者に属する部位が前記ロボットの前記２所定距離内に近づいたことが判断された場合に、前記第２反応動作を実行する、請求項３記載のロボット。
【請求項５】
前記他者の好意度は当該他者との間におけるコミュニケーション行動の頻度に応じて変化される、請求項１から４までのいずれかに記載のロボット。
【請求項６】
他者の好意度についての好意度データを記憶する好意度記憶手段を備え、人間に似た外観を有するロボットのロボット制御プログラムであって、
前記ロボットのプロセッサに、
前記ロボットの周囲に存在する他者に属する部位が当該ロボットの所定距離内に近づいたかどうかを判断する接近判断ステップと、
前記接近判断ステップにおいて前記他者に属する部位が前記ロボットの前記所定距離内に近づいたことを判断した場合に、前記好意度記憶手段に記憶された当該他者の好意度に応じた反応動作を当該他者に対して実行する行動実行ステップを実行させる、ロボット制御プログラム。
【請求項７】
他者の好意度についての好意度データを記憶する好意度記憶手段を備え、人間に似た外観を有するロボットのロボット制御方法であって、
（ａ）前記ロボットの周囲に存在する他者に属する部位が当該ロボットの所定距離内に近づいたかどうかを判断するステップと、
（ｂ）前記ステップ（ａ）において前記他者に属する部位が前記ロボットの前記所定距離内に近づいたことを判断した場合に、前記好意度記憶手段に記憶された当該他者の好意度に応じた反応動作を当該他者に対して実行するステップを含む、ロボット制御方法。
【請求項８】
他のエージェントの好意度についての好意度データを記憶する好意度記憶手段を備えるコンピュータによって実行され、仮想空間に存在し、人間に似た外観を有するエージェントのエージェント制御プログラムであって、
前記コンピュータのプロセッサに、
前記エージェントの周囲に存在する他のエージェントに属する部位が当該エージェントの所定距離内に近づいたかどうかを判断する接近判断ステップと、
前記接近判断ステップにおいて前記他のエージェントに属する部位が前記エージェントの前記所定距離内に近づいたことを判断した場合に、前記好意度記憶手段に記憶された当該他のエージェントの好意度に応じた反応動作を当該他のエージェントに対して実行する行動実行ステップを実行させる、エージェント制御プログラム。
【請求項９】
仮想空間に存在し、人間に似た外観を有するエージェントを、他のエージェントの好意度についての好意度データを記憶する好意度記憶手段を備えるコンピュータで制御するエージェント制御方法であって、
（ａ）前記エージェントの周囲に存在する他のエージェントに属する部位が当該エージェントの所定距離内に近づいたかどうかを判断するステップと、
（ｂ）前記ステップ（ａ）において前記他のエージェントに属する部位が前記エージェントの前記所定距離内に近づいたことを判断した場合に、前記好意度記憶手段に記憶された当該他のエージェントの好意度に応じた反応動作を当該他のエージェントに対して実行するステップを含む、エージェント制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ロボット、ロボット制御プログラムおよびロボット制御方法に関し、特にたとえば、人間に似た外観を有する、ロボット、ロボット制御プログラムおよびロボット制御方法に関する。
【背景技術】
【０００２】
この種の従来のロボットの一例が特許文献１に開示されている。この特許文献１に開示されるアンドロイド制御システムでは、人間に酷似した姿形を有する人型ロボットであるアンドロイドを有し、人間がアンドロイドに接近し、アンドロイドの前で立ち止まると、アンドロイドは当該人間に、挨拶したり、自己紹介したりする。このとき、アンドロイドの制御装置は、環境センサ（フロアセンサ）の出力に基づいて、人間がアンドロイドの近くに立ち止まったことを検出する。
【０００３】
また、フロアセンサを用いない場合には、制御装置は、触覚センサや衝突センサに反応があった場合に、人間や物体等がアンドロイドに触れたり、衝突したりしたことを検出する。また、マイクに一定レベル以上の音声が入力された場合には、人間がアンドロイドに接近したり、アンドロイドに対して話し掛けたりしていることが検出される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１１１０３８号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記の特許文献１のアンドロイド制御システムでは、環境センサとしてフロアセンサを用いるため、人間の立ち位置とアンドロイドの配置位置との距離に基づいて、人間がアンドロイドに近づいたことを判断するため、人間が床面に接していない部位（たとえば、手）でアンドロイドに触れようとした場合には、そのことを検出できない。
【０００６】
ただし、フロアセンサを用いて、人間がアンドロイドに触れようとしていることを検出できない場合であっても、制御装置は、触覚センサや衝突センサに反応があった場合に、人間や物体等がアンドロイドに触れたり、衝突したりしたことを検出できる。
【０００７】
しかし、この場合には、アンドロイドは、人間などのコミュニケーション対象に触れられてから反応するため、人間が他者に接触しようとする場合の当該他者の反応と異なり、アンドロイドのコミュニケーション対象である人間は違和感を覚えてしまう。
【０００８】
また、アンドロイドは、人間に、挨拶したり、自己紹介したりするようにしてあるが、同じ人間に何度も自己紹介してしまうなどの不都合もある。つまり、何度も会っている人間に対して、初対面のときと同じ動作を繰り返してしまう。
【０００９】
それゆえに、この発明の主たる目的は、新規な、ロボット、ロボット制御プログラムおよびロボット制御方法を提供することである。
【００１０】
また、この発明の他の目的は、コミュニケーション対象の人間に対して自然な反応動作を実行できる、ロボット、ロボット制御プログラムおよびロボット制御方法を提供することである。
【課題を解決するための手段】
【００１１】
第１の発明は、人間に似た外観を有するロボットであって、他者の好意度についての好意度データを記憶する好意度記憶手段、ロボットの周囲に存在する他者に属する部位が当該ロボットの第１所定距離内に近づいたかどうかを判断する第１接近判断手段と、第１接近判断手段によって他者に属する部位がロボットの第１所定距離内に近づいたことが判断された場合に、好意度記憶手段に記憶された当該他者の好意度に応じた反応動作を当該他者に対して実行する行動実行手段を備える、ロボットである。
【００１２】
第２の発明は、第１の発明に従属し、ロボットの周囲に存在する他者の形状および当該他者に属する部位の位置を算出する算出手段をさらに備える。
【００１３】
第３の発明は、第１または第２の発明に従属し、行動実行手段は、好意度が所定値以上の場合の第１反応動作または好意度が所定値未満の第２反応動作を実行する。
【００１４】
第４の発明は、第３の発明に従属し、他者に属する部位が第１所定距離よりも長い第２所定距離内に近づいたかどうかを判断する第２接近判断手段をさらに備え、行動実行手段は、好意度が所定値以上であれば、第１接近判断手段によって他者に属する部位がロボットの第１距離内に近づいたことが判断された場合に、第１反応動作を実行し、好意度が所定値未満であれば、第２接近判断手段によって他者に属する部位がロボットの２所定距離内に近づいたことが判断された場合に、第２反応動作を実行する。
【００１５】
第５の発明は、第１から第４の発明までのいずれかに従属し、他者の好意度は当該他者との間におけるコミュニケーション行動の頻度に応じて変化される。
【００１６】
第６の発明は、他者の好意度についての好意度データを記憶する好意度記憶手段を備え、人間に似た外観を有するロボットのロボット制御プログラムであって、ロボットのプロセッサに、ロボットの周囲に存在する他者に属する部位が当該ロボットの所定距離内に近づいたかどうかを判断する接近判断ステップと、接近判断ステップにおいて他者に属する部位がロボットの所定距離内に近づいたことを判断した場合に、好意度記憶手段に記憶された当該他者の好意度に応じた反応動作を当該他者に対して実行する行動実行ステップを実行させる、ロボット制御プログラムである。
【００１７】
第７の発明は、他者の好意度についての好意度データを記憶する好意度記憶手段を備え、人間に似た外観を有するロボットのロボット制御方法であって、（ａ）ロボットの周囲に存在する他者に属する部位が当該ロボットの所定距離内に近づいたかどうかを判断するステップと、（ｂ）ステップ（ａ）において他者に属する部位がロボットの所定距離内に近づいたことを判断した場合に、好意度記憶手段に記憶された当該他者の好意度に応じた反応動作を当該他者に対して実行するステップを含む、ロボット制御方法である。
【００１８】
第８の発明は、他のエージェントの好意度についての好意度データを記憶する好意度記憶手段を備えるコンピュータによって実行され、仮想空間に存在し、人間に似た外観を有するエージェントのエージェント制御プログラムであって、コンピュータのプロセッサに、エージェントの周囲に存在する他のエージェントに属する部位が当該エージェントの所定距離内に近づいたかどうかを判断する接近判断ステップと、接近判断ステップにおいて他のエージェントに属する部位がエージェントの所定距離内に近づいたことを判断した場合に、好意度記憶手段に記憶された当該他のエージェントの好意度に応じた反応動作を当該他のエージェントに対して実行する行動実行ステップを実行させる、エージェント制御プログラムである。
【００１９】
第９の発明は、仮想空間に存在し、人間に似た外観を有するエージェントを、他のエージェントの好意度についての好意度データを記憶する好意度記憶手段を備えるコンピュータで制御するエージェント制御方法であって、（ａ）エージェントの周囲に存在する他のエージェントに属する部位が当該エージェントの所定距離内に近づいたかどうかを判断するステップと、（ｂ）ステップ（ａ）において他のエージェントに属する部位がエージェントの所定距離内に近づいたことを判断した場合に、好意度記憶手段に記憶された当該他のエージェントの好意度に応じた反応動作を当該他のエージェントに対して実行するステップを含む、エージェント制御方法である。
【発明の効果】
【００２０】
この発明によれば、コミュニケーション対象の人間に対して自然な反応動作を実行することができる。
【００２１】
この発明の上述の目的、その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００２２】
【図１】図１はこの発明の一実施例のシステムを示す図である。
【図２】図２（Ａ）は図１に示すアンドロイドロボットの瞼および眼球を動かすアクチュエータを説明するための図であり、図２（Ｂ）は図１に示すアンドロイドロボットの額、眉間および口角を動かすアクチュエータを説明するための図であり、図２（Ｃ）は図１に示すアンドロイドロボットの唇を動かすアクチュエータを説明するための図である。
【図３】図３は図１に示すアンドロイドロボットの頭部、肩、腰を動かすアクチュエータを説明するための図である。
【図４】図４は図１のアンドロイドロボットの電気的な構成を示すブロック図である。
【図５】図５は人間が他者の接触に対して反応する第１距離を測定する方法を説明するための図である。
【図６】図６は図４に示したＲＡＭのメモリマップの一例を示す図である。
【図７】図７は図４に示すＣＰＵのロボット制御処理を示すフロー図である。
【図８】図８は第２実施例のＲＡＭのメモリマップの一例を示す図である。
【図９】図９は第２実施例のＣＰＵのロボット制御処理の一部を示すフロー図である。
【図１０】図１０は第２実施例のＣＰＵのロボット制御処理の他の一部であって、図９に後続するフロー図である。
【図１１】図１１は第２実施例のＣＰＵの高好意度の反応動作の処理を示すフロー図である。
【図１２】図１２は第２実施例のＣＰＵの低好意度の反応動作の処理を示すフロー図である。
【発明を実施するための形態】
【００２３】
＜第１実施例＞
図１を参照して、この第１実施例のアンドロイドロボット制御システム（以下、単に「システム」ということがある。）１０は、アンドロイドロボット（以下、単に「ロボット」という）１２を含む。ロボット１２は、人間に酷似した姿形（外観など）を有する人型ロボットであり（図２（Ａ）、（Ｂ）、（Ｃ）および図３参照）、人間に酷似した動作（振り、振る舞い、発話）を行う。
【００２４】
ロボット１２は、インターネットや電話通信回線のようなネットワーク１４を介してコンピュータ１６に接続される。コンピュータ１６は、ＰＣまたはサーバのような汎用のコンピュータであり、このコンピュータ１６には、複数の距離画像センサ１８が接続される。
【００２５】
距離画像センサ１８は、赤外光またはレーザなどの光を照射し、対象物から反射した光（反射光）をＣＣＤ（Charge Coupled Device）センサなどの光学センサによって捉える。距離画像センサ１８は、光が戻るまでの時間を画素毎に計測することで、対象物までの実際の距離を測定する。また、距離画像センサ１８は、対象物の形状（たとえば、人間のジェスチャ）を測定することが可能である。したがって、距離画像センサ１８の出力に基づいて、人間の位置および人間の所定の部位（頭部および手）の位置を検出することができる。ただし、ロボット１２が配置される場所ないし環境には、予め３次元の座標系が設定されており、所定の位置を原点として、人間の位置および人間の所定の部位の位置の３次元座標を検出することができる。ただし、この第１実施例では、人間の位置は、人間の足元の位置であるため、高さ方向の成分は無視される。このことは、ロボット１２の位置についても同様である。
【００２６】
第１実施例の距離画像センサ１８としては、ASUS（登録商標）製のXtion（登録商標）と言われる製品が採用されている。なお、他の例では、距離画像センサ１８は、Microsoft（登録商標）製のKinect（登録商標）センサ、パナソニック（登録商標）製の３次元距離画像センサD-IMager（登録商標）などを使用することも可能である。この種のセンサは、３次元距離計測センサ、３Ｄスキャナなどと言われる場合もある。
【００２７】
なお、距離画像センサ１８としては、たとえばＬｉＤＡＲ（たとえば、Ｖｅｌｏｄｉｎｅ社製のイメージングユニットＬｉＤＡＲ（ＨＤＬ−３２ｅ）（商品名））のような全方位レーザ距離計や、ステレオカメラなども利用可能である。
【００２８】
複数の距離画像センサ１８の各々からの距離画像信号は、コンピュータ１６に入力され、コンピュータ１６では、その距離画像信号をディジタルデータとして、メモリ（たとえばＨＤＤまたはＲＡＭなど）に記憶する。コンピュータ１６は、このメモリに記憶した距離画像データを処理した結果得られた、１または複数の人間の各々の位置（この第１実施例では、人間の位置と、頭部２６および手の３次元位置）についてのデータ（以下、「人間データ」という）をロボット１２に送信する。
【００２９】
なお、図１では省略するが、ネットワーク１４を介してロボット１２と通信可能に外部制御端末が設けられてもよい。外部制御端末は、ロボット１２を遠隔操作するためのコンピュータである。たとえば、ロボット１２が人間とコミュニケーションを行う場合において、ロボット１２で対応できない事象が発生したときに、管理者等が外部制御端末を用いてロボット１２を制御し、ロボット１２が対応できない事象について対応する。管理者等は、ロボット１２を通して人間と会話したり、ロボット１２にコマンドを送信してコミュニケーション行動を実行させたりする。
【００３０】
図２（Ａ）、図２（Ｂ）、図２（Ｃ）および図３は図１のロボット１２の外観および構成の一例を示す。具体的には、図２（Ａ）は図１に示すロボット１２の瞼（２８ａ、２８ｂ）および眼球を動かすアクチュエータＡ１、Ａ２、Ａ３、Ａ４、Ａ５を説明するための図であり、図２（Ｂ）は図１に示すロボット１２の額、眉間および口角３０を動かすアクチュエータＡ６、Ａ７、Ａ８、Ａ９を説明するための図であり、図２（Ｃ）は図１に示すロボット１２の唇を動かすアクチュエータＡ１０、Ａ１１、Ａ１３を説明するための図である。また、図３は図１に示すロボット１２の頭部２６、肩３２、腰３４を動かすアクチュエータＡ１４、Ａ１５、Ａ１６、Ａ１７、Ａ１８、Ａ１９を説明するための図である。以下、図２（Ａ）〜図２（Ｃ）および図３を用いて、ロボット１２の外観および構成について簡単に説明する。
【００３１】
なお、図２（Ａ）〜図２（Ｃ）および図３に示すロボット１２は一例であり、他の外観、構成を持つ任意のアンドロイドロボットが利用可能である。また、ロボット１２は、アンドロイドロボットに限定される必要は無く、人間に似た外観を有するロボットであれば他のロボットを使用することもできる。一例として、身体動作または／および音声で、コミュニケーション対象である人間または他のロボットとコミュニケーションを取ることができるコミュニケーションロボットを使用することができる。具体的には、出願人が開発等を行うコミュニケーションロボットの一例であるロボビー（登録商標）を使用することができる。このロボビーは、人間とは異なり、車輪で移動可能に構成されるが、頭部、胴体、両腕を有し、人間と似た外観を有している。
【００３２】
ロボット１２は、胴体部２４およびその胴体部２４の上に設けられた頭部２６を含む。頭部２６には、目（眼球）の上下に、上瞼２８ａおよび下瞼２８ｂが形成され、それらの上瞼２８ａおよび下瞼２８ｂの上下動を制御することによって、目を開けたり閉じたりする動作が可能となる。頭部２６にはさらに口唇が形成され、それの両端が口角３０となる。口角３０も同様に上下動可能である。
【００３３】
胴体部２４の上端（頭部の下方）が肩３２であり、胴体部２４の中ほどが腰３４である。肩３２は上下動可能であり、腰３４は左右にひねる（回動する）ことができ、また、前屈および後傾が可能である。
【００３４】
ロボット１２の上述の各部分を動かすための以下に説明するアクチュエータは、この第１実施例では、いずれもパルス電力によって駆動されるステッピングモータであり、ステッピングモータの回転量はパルス数で決まる。パルス数が指令値として与えられる。なお、各対象部位は、平常状態において、アクチュエータに初期値が与えられ、変位させる場合に、その方向と大きさに応じたパルス数の指令値が該当するアクチュエータに与えられる。この第１実施例では、各アクチュエータは、「０−２５５」の指令値で動作され、「０−２５５」のいずれかの値が初期値として与えられる。
【００３５】
アクチュエータＡ１は、上瞼２８ａの上下動を制御するための制御するためのアクチュエータである。アクチュエータＡ２、Ａ３およびＡ４は眼球を左右上下に動かすためのアクチュエータである。アクチュエータＡ５は、下瞼２８ｂの上下動を制御するアクチュエータである。したがって、アクチュエータＡ１およびＡ５によって、目が開閉される。
【００３６】
アクチュエータＡ６は額を動かすためのアクチュエータであり、アクチュエータＡ７は眉間を動かすためのアクチュエータである。
【００３７】
アクチュエータＡ８は、口角３０を上げるためのアクチュエータである。アクチュエータＡ９は舌を上下方に動かすためのアクチュエータである。アクチュエータＡ１０は口唇を左右に広げるアクチュエータであり、アクチュエータＡ１１は口唇を前に突き出すためのアクチュエータである。
【００３８】
アクチュエータＡ１３は顎を突き出したり引いたりするためのアクチュエータである。このアクチュエータ１３によって、口が開閉される。
【００３９】
アクチュエータＡ１４は頭部２６を左右に傾動させるためのアクチュエータであり、アクチュエータＡ１５は頭部２６を俯仰させるためのアクチュエータであり、そして、アクチュエータＡ１６は頭部を左右に回動させるためのアクチュエータである。
【００４０】
アクチュエータＡ１７は肩３２を上下動するためのアクチュエータである。アクチュエータＡ１８は腰３４を前屈させまたは後傾させるためのアクチュエータであり、アクチュエータＡ１９は腰３４を左右に回動（ひねる）ためのアクチュエータである。
【００４１】
ロボット１２は、図４に示すように、ロボット１２の全体制御を司るプロセッサ（この第１実施例では、ＣＰＵ）５０を備える。ＣＰＵ５０は、バス５２を通して通信モジュール５６に接続され、したがって、ＣＰＵ５０は通信モジュール５６を介して、ネットワーク１４すなわちコンピュータ１６と、有線で、または無線で、通信可能に接続される。
【００４２】
ＣＰＵ５０はまた、バス５２を通してＲＡＭ５４にアクセスでき、このＲＡＭ５４に記憶されているプログラムやデータ（図６参照）に従って、バス５２を通してアクチュエータ制御回路５８に指令値を与え、各アクチュエータＡ１−Ａｎの動作を制御する。
【００４３】
ＲＡＭ５４は、ＣＰＵ５０のバッファ領域およびワーク領域として用いられる。ただし、ＲＡＭ５４に代えて、ＨＤＤを用いることもできる。アクチュエータ制御回路５８は、ＣＰＵ５０から与えられる指令値に応じた数のパルス電力を生成し、それを該当するステッピングモータに与えることによって、各アクチュエータＡ１−Ａｎを駆動する。
【００４４】
ただし、アクチュエータとしてはこのようなステッピングモータを用いるものの他、サーボモータを用いるアクチュエータ、流体アクチュエータなど任意のアクチュエータが利用可能である。
【００４５】
センサＩ／Ｆ（インタフェース）６２は、バス５２を介して、ＣＰＵ５０に接続され、触覚センサ６４および眼カメラ６６からのそれぞれの出力を受ける。
【００４６】
触覚センサ６４ないし皮膚センサは、たとえばタッチセンサであり、ロボット１２の触覚の一部を構成する。つまり、触覚センサ６４は、人間や他の物体等がロボット１２に触れたか否かを検出するために用いられる。触覚センサ６４からの出力（検出データ）は、センサＩ／Ｆ６０を介してＣＰＵ５０に与えられる。したがって、ＣＰＵ５０は、人間や他の物体等がロボット１２に触れたこと（およびその強弱）を検出することができる。
【００４７】
眼カメラ６６は、イメージセンサであり、ロボット１２の視覚の一部を構成する。つまり、眼カメラ６６は、ロボット１２の眼から見た映像ないし画像を検出するために用いられる。この第１実施例では、眼カメラ６６の撮影映像（動画ないし静止画）に対応するデータ（画像データ）は、センサＩ／Ｆ６０を介してＣＰＵ５０に与えられる。ＣＰＵ５０は、その画像データを、ＲＡＭ５４に記憶したり、通信モジュール５６およびネットワーク１４（図１）を介して外部のコンピュータ（たとえば、外部制御端末）に送信したりする。
【００４８】
また、スピーカ６８およびマイク７０は、入出力Ｉ／Ｆ６２に接続される。スピーカ６８は、ロボット１２が発話を行う際に音声を出力する。マイク７０は、音センサであり、ロボット１２の聴覚の一部を構成する。このマイク７０は、指向性を有し、主として、ロボット１２と対話（コミュニケーション）するコミュニケーション対象である人間の音声を検出するために用いられる。
【００４９】
このような構成のシステム１０は、或る会社や或るイベント会場などに適用され、ロボット１２は、人間の代役として働く。たとえば、ロボット１２は、会社やイベント会場の受付として機能する。ロボット１２は、人間からの話し掛けに応じて、人間と会話したり、人間を道案内したりするなどのコミュニケーション行動（または動作）を行う。このとき、ロボット１２は、音声を発するのみならず、頭部２６、肩３２および腰３４の少なくとも１つを動かす。
【００５０】
なお、詳細な説明は省略するが、コミュニケーション行動を実行する場合において、音声を発するときには、口が開閉され、さらに、額、眉間および口角３０が動かされることにより、顔の表情が変化される。このような口、額、眉間、口角３０などの動きもコミュニケーション行動に含まれる。以下、コミュニケーション行動を実行する場合について同様である。
【００５１】
たとえば、ロボット１２は、人間と会話する場合において、人間の話を聞くときに、単に聞くまたは同意するときの音声（たとえば、「はい」）を発しながら、相槌を打つように、首を縦に振る（頷く）、または、同意しないときの音声（たとえば、「いいえ」）を発しながら、首を横に振るまたは首を傾げる。また、ロボット１２は、人間から話しかけられると、挨拶したり、自己紹介したり、要件を聞いたりする。挨拶する場合には、「おはようございます」または「こんにちは」と発しながら、お辞儀する、つまり、上体を少し前傾する。
【００５２】
また、ロボット１２は、道案内する場合には、道順の音声を発しながら、頭部２６を動かし、道順に従う進行方向を向くように視線を向けるとともに、肩３２を動かし、進行方向に手を伸ばす（指さす）。ただし、この第１実施例では、ロボット１２の視線は、ロボット１２の左右の目の中心を結ぶ線分の垂直二等分線であって、顔の正面側に延びる直線を意味する。
【００５３】
このように、人間と会話したり、道案内のような所定のサービスを提供したりするためのコミュニケーション行動（後述する「反応動作」に対して「通常動作」という）は、コミュニケーション対象としての人間がロボット１２に話し掛けた（問い掛けた）ことに応じて、反応動作を実行した後に、実行される。ただし、人間がロボット１２に話し掛ける（問い掛ける）場合には、人間は或る程度の距離（たとえば、６０〜７０ｃｍ）までロボット１２に近づく必要がある。これは、ロボット１２が、人間の音声を検出し、検出した音声を正しく音声認識するためである。
【００５４】
また、ロボット１２は、所定の入力（または、刺激）に反応して実行するコミュニケーション行動（反行動作）を実行する。所定の入力は、ロボット１２が備える各種のセンサの入力である。具体的には、所定の入力は、距離画像センサ１８の出力に基づいて一定範囲（たとえば、ロボット１２の位置を中心とする半径６０〜７０ｃｍの円内）内に物または人間が存在することを検出したことである。ただし、距離のみならず、眼カメラ６６の撮影画像に基づいて、さらに、ロボット１２の前方に物または人間が存在することを知ることもできる。また、所定の入力は、触覚センサ６４によって、ロボット１２が物または人間に衝突または触れられたことを検出したことである。さらに、所定の入力は、マイク７０によって、一定レベル以上の音量の音声を検出したことである。
【００５５】
この第１実施例では、反応動作は、ロボット１２は、人間がロボット１２に近づき、この人間がロボット１２の視野内に居て（または存在し）、この人間に属する所定の部位（この第１実施例では「手」）がロボット１２の所定の部位（たとえば「顔」）に触れようとしたときに、触れようとしたことに気付いて行うコミュニケーション行動（動作）、人間がロボット１２に近づき、この人間がロボット１２の視野内に居ないで、この人間がロボット１２に触れたときに、触れたことに気づいて行う動作、または人間がロボット１２に話し掛けたことに対して行う動作を意味する。
【００５６】
また、この第１実施例では、反応動作として、ロボット１２は、ロボット１２に話し掛けること無く、ロボット１２自身の顔（頭部２６）に触れようとした人間の顔を見る動作（コミュニケーション行動）が実行される。このため、何かに集中していて、近づく人間に気づいていなかったロボット１２が、当該人間がロボット１２の顔に触れようとしたことに気づいて反応するように動作することができる。
【００５７】
具体的には、ＣＰＵ５０は、コンピュータ１６からの出力（人間データ）を検出し、人間がロボット１２を基準とする一定範囲内に居るかどうかを判断する。ロボット１２は、自身が配置されている位置の座標を予め記憶しており、その座標と人間データに含まれる人間の位置の座標から人間との距離を算出することができる。算出した距離が一定範囲を規定する長さよりも短い場合に、人間がロボット１２を基準とする一定範囲内に居ると判断し、算出した距離が一定範囲を規定する長さ以上である場合に、人間がロボット１２を基準とする一定範囲内に居ないと判断する。
【００５８】
人間がロボット１２を基準とする一定範囲内に居る場合には、ＣＰＵ５０は、当該人間がロボット１２の視野内に居るかどうかを判断する。つまり、ＣＰＵ５０は、ロボット１２の現在の顔の向きを基準の方向（つまり、視線の方向）とした場合に、上記の一定範囲内に居る人間がロボット１２の視野角内に居るかどうかを判断する。
【００５９】
ただし、ロボット１２の視野角は、一般的な人間の視野角に合わせて、水平方向が約２００度（ただし、視線を基準（中心）に、左右のそれぞれに１００度である）で設定され、垂直方向が約１２５度（ただし、視線を基準に、下向きが７５度で、上向きが５０度である）に設定される。ただし、この第１実施例では、ロボット１２が見ている方向に人間が居るかどうかを判断するだけであるため、垂直方向については無視される。
【００６０】
ロボット１２は、自身の視線が向く方向（垂直方向の成分を除く）に大きさが１のベクトル（視線ベクトル）を算出するとともに、ロボット１２の位置から人間の位置に向かうベクトルを算出し、この２つのベクトルが成す角度が１００度以内であるかどうかを判断する。２つのベクトルが成す角度が１００度以内であれば、人間がロボット１２の視野内に居ることが判断される。一方、２つのベクトルが成す角度が１００度を超えている場合には、人間がロボット１２の視野外に居ることが判断される。
【００６１】
なお、この実施例では、視野角は固定的に設定されるが、可変的に設定されてもよい。たとえば、人間がロボット１２に近づくに連れて視野角は小さくされてもよい。
【００６２】
人間がロボット１２の視野内に居る場合には、ＣＰＵ５０は、当該人間の手がロボット１２の顔周辺の所定距離（第１距離：たとえば２０ｃｍ）以内に有るかどうかを判断する。具体的には、この第１実施例では、人間の手と、ロボット１２の頭部２６の表面との距離が所定距離以内であるかどうかが判断される。人間の手がロボット１２の顔周辺の２０ｃｍ以内に有る場合に、人間がロボット１２の顔に触れようとしていることが判断される。一方、人間の手がロボット１２の顔周辺の２０ｃｍを超えて離れている場合には、人間がロボット１２の顔に触れようとしていることが判断されない。
【００６３】
詳細な説明は省略するが、上記の一定範囲内に、複数の人間が居る場合には、各人間について、ロボット１２の視野内に居るかどうかが判断される。さらに、複数の人間がロボット１２の視野内に居る場合には、ロボット１２に最も近い人間について、当該人間の手がロボット１２の顔周辺の第１距離以内に有るかどうかが判断される。ただし、複数の人間がロボット１２の視野内に居る場合には、いずれかの人間の手がロボット１２の顔周辺の第１距離以内に有るかどうかが判断されてもよい。
【００６４】
この第１実施例では、上述したように、人間がロボット１２の顔に触れようとしていることが判断されると、ロボット１２は、反応動作として、ロボット１２自身の顔をその人間の顔の方に向ける。コンピュータ１６から送信される人間データに基づいて、人間の顔の３次元位置を検出し、この３次元位置をロボット１２の視線が通るように、アクチュエータＡ１４、Ａ１５およびＡ１６の少なくとも１つが制御され、ロボット１２の頭部２６の向きが変化される。
【００６５】
ただし、第１実施例では、人間がロボット１２の視野内に居ない（または存在しない）場合には、ロボット１２は人間にいずれかの部位を触れられると、わずかな反応動作を実行した後に、当該人間の方に顔を向ける。ただし、わずかな反応動作とは、触られたことに気づく動作を意味し、より具体的には、ぴくりとするように、少し上体を後傾する動作を意味する。つまり、ＣＰＵ５０は、人間に触られると、触れた手が伸びる方向（この第１実施例では、２次元の方向すなわち水平方向）と同じ方向に、ロボット１２の上体を少し傾ける（たとえば、３次元空間における高さ方向に対して５〜１０度程度傾ける）ように、アクチュエータＡ１８またはＡ１９を制御する。
【００６６】
また、詳細な説明は省略するが、人間がロボット１２に話し掛ける（問い掛ける）と、反応動作として、“挨拶”の動作を実行したり、“返事”の動作を実行したりする。詳細な説明は省略するが、“挨拶”の動作では、ロボット１２は、“こんにちは”と発話した後に、お辞儀する。また、“返事”の動作では、ロボット１２は、“はい”と発話した後に、人間の方を見る。
【００６７】
また、上述したように、この第１実施例では、第１距離は２０ｃｍに設定される。この第１距離の数値は、実験を行うことにより決定された数値である。
【００６８】
人間が他者の接触に対してどの程度の距離で反応するかを検証するために、お互いを知らない他人の被験者同士によるデータ収集実験を行った。具体的には、図５に示すように、まず評価者Ｔ１である被験者が椅子に座って正面を見ている状況で、接触者Ｔ２となる被験者が評価者Ｔ１の顔へゆっくりと手を近づけ、評価者Ｔ１がそれ以上手を近づけてほしくないと感じる距離でボタンを押すことでその距離を計測する、というデータ収集が行われた。距離の計測には、２台の距離画像センサ１８（実験では、Kinect V2を使用）が用いられた。また、図５に示すように、接触者Ｔ２の立ち位置は、９か所（０〜８）用意し、それぞれの立ち位置から様々な角度で評価者Ｔ１の顔へ手を近づけてもらうタスクを繰り返し行った。接触者Ｔ２と評価者Ｔ１の性別を考慮し、４通りの組み合わせで、それぞれ１０ペア（合計４０ペア；男性評価者・女性接触者、女性評価者・男性接触者、男性評価者・男性評価者、女性評価者・女性評価者）についてデータ収集を行い、約１２０００回の対接触前距離データを収集した。
【００６９】
収集したデータなどを分析した結果、平均約２０ｃｍの距離で、評価者Ｔ１がそれ以上手を近づけてほしくないと感じることが示された。また、接触者Ｔ２と評価者Ｔ１の性別による有意な影響は見られておらず、手を近づける角度による有意な影響も見られなかった。このようにして、ロボット１２が反応動作を実行するかどうかを判断するための第１距離が決定された。
【００７０】
また、上記のように、通常動作および反応動作では、ロボット１２が、所定の振り、振る舞いのような身体動作または／および発話動作を行う。したがって、この第１実施例では、通常動作および反応動作のようなコミュニケーション行動を実行するための制御情報は、アクチュエータ（Ａ１〜Ａ１１、Ａ１３〜Ａ１９）を駆動制御するための制御データまたは／および発話内容についての合成音声の音声データを含み、各コミュニケーション行動に付された名称（コマンド名）に対応して記憶される。ただし、身体動作には、自然の動作（無意識動作）も含まれる。無意識動作の代表的な例としては、瞬きや呼吸が該当する。また、このような生理的な動作のみならず、人間の癖による動作も無意識動作に含まれる。たとえば、癖による動作としては、たとえば、髪の毛を触る動作、顔を触る動作や爪を噛む動作などが該当する。また、制御情報は、身体動作とは別に、口の動きおよび顔の表情を表現するための制御データも含む。
【００７１】
図４では省略したが、コミュニケーション行動についての制御情報は、ＨＤＤのような不揮発性のメモリに記憶され、必要に応じて、ＨＤＤから読み出され、ＲＡＭ５４に書き込まれる。
【００７２】
図６は図４に示したＲＡＭ５４のメモリマップ３００の一例を示す図である。図６に示すように、ＲＡＭ５４は、プログラム記憶領域３０２およびデータ記憶領域３０４を含む。
【００７３】
プログラム記憶領域３０２には、通信プログラム３０２ａ、距離検出プログラム３０２ｂ、動作制御プログラム３０２ｃおよび音声処理プログラム３０２ｄが記憶される。
【００７４】
通信プログラム３０２ａは、他のロボットまたはコンピュータ（たとえば、コンピュータ１６）と通信するためのプログラムである。距離検出プログラム３０２ｂは、コンピュータ１６から送信される人間データに基づいて、一人または複数の人間の各々との距離についてのデータ（以下、「距離データ」という）を検出または取得するためのプログラムである。
【００７５】
動作制御プログラム３０２ｃは、ロボット１２の動作を制御するためのプログラムであって、頭部制御プログラム３０２０、口唇動作制御プログラム３０２２、表情制御プログラム３０２４、上半身（肩）制御プログラム３０２６および下半身（腰）制御プログラム３０２８を含む。
【００７６】
頭部制御プログラム３０２０は、ロボット１２の頭部２６（図２）を通常動作または反応動作に適合するように、図３に示すアクチュエータＡ１４−Ａ１６を制御するためのプログラムである。
【００７７】
口唇動作制御プログラム３０２２は、ロボット１２がスピーカ６８から発話するとき、その発話音声（合成音声）に適合する口唇形状となるように、たとえば図２（Ｃ）に示すアクチュエータＡ１０−Ａ１１を制御するためのプログラムである。
【００７８】
表情制御プログラム３０２４は、通常動作または反応動作に合わせてロボット１２の目または／および口の表情を表現するように、図２（Ａ）〜図２（Ｃ）に示すアクチュエータＡ１〜Ａ１１およびＡ１３を制御するためのプログラムである。
【００７９】
上半身（肩）制御プログラム３０２６は、通常動作または反応動作に合わせてロボット１２の上半身（肩）３２の動作を行うように、図３に示すアクチュエータＡ１７を制御するためのプログラムである。
【００８０】
下半身（腰）制御プログラム３０２８は、通常動作または反応動作に合わせてロボット１２の下半身（腰）３４の動作を行うために、図３に示すアクチュエータＡ１８およびＡ１９を制御するためのプログラムである。
【００８１】
音声処理プログラム３０２ｄは、音声認識プログラムおよび音声合成プログラムを含む。音声認識プログラムは、マイク７０を通して入力される、人間がロボット１２に対して発話した内容をＣＰＵ５０が認識するためのプログラムであり、ＣＰＵ５０は、たとえばＤＰマッチングや隠れマルコフ法（Hidden Markov Model：ＨＭＭ）により、人間の発話内容を音声認識する。また、ＣＰＵ５０は、音声合成プログラムを実行することにより、音声合成データに従って合成した音声をスピーカ６８に出力する。
【００８２】
図示は省略するが、プログラム記憶領域３０２には、ロボット１２を制御するための他のプログラムが記憶される。
【００８３】
ＲＡＭ５４のデータ記憶領域３０４には、種々のデータが記憶される。音声データ３０４ａは、マイク７０から入力される音声データであり、一時的に記憶される。辞書データ３０４ｂは、音声認識のために必要な辞書などのデータである。距離データ３０４ｃは、距離検出プログラム３０２ｂに従って検出された距離データであり、一時的に記憶される。ただし、複数の人間がロボット１２の周囲に存在する場合には、各人間についての距離データが検出される。
【００８４】
図示は省略するが、データ記憶領域３０４には、ロボット１２の制御に必要なコミュニケーション行動を実行するための制御情報などの他のデータが記憶され、また、ＣＰＵ５０の動作に必要な、タイマ、レジスタ、フラグなどが設けられる。
【００８５】
図７は第１実施例における図４に示すＣＰＵ５０のロボット制御処理の一例を示すフロー図である。図７に示すように、ＣＰＵ５０は、ロボット制御処理を開始すると、ステップＳ１で、ロボット１２の顔の向きを初期の方向に設定する。この第１実施例では、初期の方向は、ロボット１２の顔の向きが正面を向いている方向であり、アクチュエータＡ１４、Ａ１５およびＡ１６の指令値がすべての初期値に設定される。
【００８６】
次のステップＳ３では、一定時間（たとえば、数秒から十数秒）待機する。第１実施例では、ロボット１２が一点を見つめるように動作させることにより、何かに集中していることが表現される。たとえば、口を閉じて、少し下向きで机の上の資料を見つめ、瞬きするように、瞼（２８ａおよび２８ｂ）が動作される。つまり、ＣＰＵ５０は、アクチュエータＡ１およびＡ５を制御したり、アクチュエータＡ１３を制御したり、アクチュエータＡ１５を制御したりする。
【００８７】
続いて、ステップＳ５では、人間が一定範囲（たとえば、ロボット１２の位置を中心とする６０〜７０ｃｍの円）内に居るかどうかを判断する。ここでは、ＣＰＵ５０は、コンピュータ１６からの人間データを受信し、受信した人間データに基づいて、人間との距離を算出し、人間が一定範囲内に居るかどうかを判断する。
【００８８】
ステップＳ５で“ＮＯ”であれば、つまり、人間が一定範囲内に居なければ、ステップＳ１に戻る。一方、ステップＳ５で“ＹＥＳ”であれば、つまり、人間が一定範囲内に居れば、ステップＳ７で、当該人間がロボット１２の視野内に居るかどうかを判断する。ここでは、ＣＰＵ５０は、人間データに基づいて、人間がロボット１２の視野角内に居るかどうかを判断する。
【００８９】
ステップＳ７で“ＹＥＳ”であれば、つまり、人間がロボット１２の視野内に居れば、ステップＳ９で、人間の手がロボット１２の顔周辺の第１距離以内に有るかどうかを判断する。ここでは、ＣＰＵ５０は、人間データに基づいて、人間の手がロボット１２の顔（頭部２６）から第１距離以内に位置するかどうかを判断する。つまり、人間がロボット１２の顔を触ろうとしているかどうかを判断する。
【００９０】
ステップＳ９で“ＮＯ”であれば、つまり、人間の手がロボット１２の顔周辺の第１距離以内に無ければ、ステップＳ１に戻る。一方、ステップＳ９で“ＹＥＳ”であれば、つまり、人間の手がロボット１２の顔周辺の第１距離以内に有れば、ステップＳ１１で、ロボット１２の顔を人間の顔の方に向けて、ステップＳ１９に進む。このステップＳ１１では、ＣＰＵ５０は、人間データから人間の顔の３次元位置を取得し、この３次元位置を視線が通るように、頭部２６を動作させる。
【００９１】
したがって、ロボット１２は、人間がロボット１２自身の顔を触ろうとしていることを察知して、この人間の顔を見るように動作される。たとえば、人間が、他の人間に近づいて、この他の人間の顔に触れようとした場合に、他の人間が行う動作と同様の動作をロボット１２に実行させることができる。つまり、ロボット１２は自然な反応動作を行うため、ロボット１２の顔を触れようとした人間が違和感を覚えるのを出来る限り防止することができる。
【００９２】
また、ステップＳ７で“ＮＯ”であれば、つまり、人間がロボット１２の視野内に居なければ、ステップＳ１３で、人間の手がロボット１２に触れたかどうかを判断する。ここでは、ＣＰＵ５０は、人間データから取得した人間の手の３次元位置がロボット１２の頭部２６、胴体または手（腕を含む）の表面の位置であり、触覚センサ６４の検出データが触れられたことを示すかどうかを判断する。
【００９３】
ステップＳ１３で“ＮＯ”であれば、つまり、人間の手がロボット１２に触れていなければ、ステップＳ３に戻る。一方、ステップＳ１３で“ＹＥＳ”であれば、つまり、人間の手がロボット１２に触れれば、ステップＳ１５で、わずかな反応動作を実行する。このステップＳ１５では、触れられたことに気づく動作が実行される。たとえば、ロボット１２は、人間に触れられると、触れられた状態を解除または回避するように、上体を移動させる。
【００９４】
続くステップＳ１７では、ロボット１２の顔を人間の顔の方に向けて、ステップＳ１９に進む。なお、ステップＳ１７の処理は、ステップＳ１１の処理と同じであるため、重複した説明は省略する。
【００９５】
ステップＳ１９では、終了かどうかを判断する。つまり、ＣＰＵ５０は、ユーザから終了の指示が与えられたかどうかを判断する。ステップＳ１９で“ＮＯ”であれば、つまり、終了でなければ、ステップＳ１に戻る。一方、ステップＳ１９で“ＹＥＳ”であれば、つまり、終了であれば、制御処理を終了する。
【００９６】
なお、図７では省略するが、図示は省略するが、上述したように、一定範囲内に居る人間がロボット１２に話し掛けると、反応動作を実行した後に、ロボット１２は通常動作を実行する。
【００９７】
この第１実施例によれば、人間がロボットに話し掛けないで、人間の手がロボットの顔に触れようとした場合に、ロボットがその人間の顔を見るように頭部の向きが制御されるため、より人間に近い反応動作を行うロボットを提供することができる。したがって、ロボットに触れようとした人間が違和感を覚えるのを出来る限り防止することができる。
【００９８】
なお、この第１実施例では、人間の手がロボットの顔に触れようとした場合について説明したが、これに限定される必要はない。たとえば、人間が手に物を持っている場合には、当該手に持った物がロボットの顔に触れようとしたかどうかを判断するようにしてもよい。また、ロボット１２の特定の部位は顔に限定される必要は無く、人間がロボットの他の部位（手または肩など）に触れようとしたかどうかを判断するようにしてもよい。ただし、他の部位に触れようとしたかどうかを判断する場合には、上記のような実験を行うことにより、他の部位に応じた第１距離が決定される。
【００９９】
＜第２実施例＞
第２実施例のシステム１０は、ロボット１２が人間毎に設定されたパラメータに応じた反応動作を実行するようにした以外は、第１実施例のシステム１０と同じであるため、異なる点について詳細に説明し、重複する点については、説明を省略する、または、簡単に説明することにする。
【０１００】
第２実施例では、ロボット１２は、何かに集中している状態ではなく、辺りを見渡すなどの無意識動作を行っている状態において、人間が一定範囲内に近づくと、ロボット１２は当該人間の方に顔を見る。その後、ロボット１２は、人間の好意度に応じて異なる反応動作を実行する。
【０１０１】
第２実施例では、ロボット１２とコミュニケーションを行う各人間について、ロボット１２から見た場合の好意度（または親密度）を設定および更新し、反応動作を実行する場合に、反応動作の対象である人間の好意度を参照し、好意度に応じた反応動作が実行される。一例として、好意度は、０から３までの数字で決定され、数字が大きい程、好意度が高い。人間がロボット１２とコミュニケーションする前においては、好意度は０であり、当該人間とコミュニケーションする回数または／および時間（累積時間）の長さに応じて、つまり、当該人間に対してコミュニケーション行動を実行する頻度に応じて、好意度が増加される。また、好意度は、コミュニケーションしない時間が所定の長さ（たとえば、数か月）を超えると、低減される。
【０１０２】
この第２実施例では、個別に人間を識別する必要があるため、人間に固有の識別情報を記憶したＩＣタグを装着し、ロボット１２は、コミュニケーション対象の人間に装着されたＩＣタグから識別情報を読み出して、人間を個別に識別する。したがって、ロボット１２は、ＩＣタグのリーダをさらに備える。
【０１０３】
また、第２実施例では、好意度が２以上の場合に、高好意度の反応動作を実行し、好意度が２未満の場合に、低好意度の反動動作を実行する。第２実施例では、人間が一定範囲内であり、ロボット１２の視野内に居る場合には、ロボット１２の顔が当該人間の顔の方に向けられる。この動作も反応動作と言えるが、一定範囲内の人間の顔の方にロボット１２の顔を向ける動作は、好意度の大きさとは関係なく実行される。
【０１０４】
なお、親密度に応じたコミュニケーション行動（動作）を実行するとともに、親密度を変化させる方法としては、出願人が先に出願し、既に公開された特開２０１１−６８１号の方法を採用することもできる。
【０１０５】
また、好意度（親密度）を更新すること自体は本願発明の本質的な内容ではないため、この明細書においては、詳細な説明は省略する。
【０１０６】
ロボット１２の顔が人間の顔の方に向けられた後では、好意度に応じて、異なる反応動作が実行される。高好意度の反応動作では、人の手がロボット１２の顔周辺の第１距離以内に有る場合には、好意が高いことを表現する反応動作が実行される。この第２実施例では、好意が高いことを表現する反応動作として、微笑む動作が実行されるとともに、「何か御用ですか？」と発せられる。微笑む動作では、口角３０を少し上げるように、アクチュエータＡ８が制御される。
【０１０７】
また、低好意度の反応動作では、人の手がロボット１２の顔周辺の第１距離よりも長い第２距離以内に有る場合には、好意が低いまたは無いことを表現する反応動作が実行される。この第２実施例では、好意が低いまたは無いことを表現する反応動作として、少しのけぞる動作が実行され、さらに、人の手がロボット１２の顔周辺の第１距離以内に有る場合には、反応動作として、「何か用ですか？」と発せられる。少しのけぞる動作では、上体を５〜１０度程度後傾させるように、アクチュエータＡ１８が制御される。
【０１０８】
さらに、低好意度の反応動作では、人間の手がロボット１２に触れた場合には、ロボット１２は嫌がる動作を実行する。嫌がる動作としては、人間の反対方向に上体を大きく傾ける動作が実行されるとともに、「やめてください」と発せられる。上体を大きく傾ける動作では、人間の反対方向へ上体を２０〜３０度程度傾けるように、アクチュエータＡ１８、または、アクチュエータＡ１８およびＡ１９が制御される。
【０１０９】
また、人間が一定範囲内であっても、ロボット１２の視野内に居ない場合には、第１実施例と同様に、わずかな反応動作が実行されるが、第２実施例では、さらに、好意度に応じた反応動作が実行される。好意度が高い場合には、そのことを表現する反応動作として、微笑む動作が実行されるとともに、「何か御用ですか？」と発せられる。一方、好意度が低い場合には、そのことを表現する反応動作として、人間の反対方向へ上体を傾ける動作が実行されるとともに、「やめてください」と発せられる。
【０１１０】
したがって、第２実施例では、プログラム記憶領域３０２に、好意度判断プログラム３０２ｅがさらに記憶される。好意度判断プログラム３０２ｅは、ロボット１２が反応動作を行う対象の人間の好意度が所定値以上であるかどうかを判断するためのプログラムである。また、第２実施例では、動作制御プログラム３０２ｃは、好意度に応じた処理（第２実施例では、高好意度の反応動作処理または低好意度の反応動作処理）を実行する。
【０１１１】
また、データ記憶領域３０４には、ロボット１２が反応動作を行う対象の人間の好意度についてのデータ（好意度データ）３０４ｄが記憶される。たとえば、ロボット１２が反応動作を行う対象の人間についての好意度データ３０４ｄは、ロボット１２の内部またはネットワーク１４上に設けられたデータベースから取得される。また、ロボット１２が、人間とコミュニケーション行動を実行したことに応じて、当該人間の好意度データ３０４ｄが更新される。たとえば、人間との間で、通常動作を行った場合に、コミュニケーション行動を開始した時からコミュニケーション行動を終了するまでの時間がコミュニケーションの時間として計測され、累積時間に加算されるとともに、コミュニケーションの回数が１回加算される。ただし、これは一例であり、限定される必要はない。たとえば、コミュケーション行動の終了時は、人間が立ち去った（一定範囲から出た）ときである。
【０１１２】
図９および図１０は、第２実施例におけるＣＰＵ５０のロボット制御処理の一例を示すフロー図である。以下、第２実施例のロボット制御処理について説明するが、第１実施例で説明した処理と同じ処理については簡単に説明することにする。なお、図示は省略するが、第１実施例と同様に、人間からの話し掛けに応じて、反応動作を実行した後に、通常動作も実行される。
【０１１３】
図９に示すように、ＣＰＵ５０は、ロボット制御処理を開始すると、ステップＳ３１で、ロボット１２の顔の向きを初期の方向に設定する。次のステップＳ３３では、一定時間待機する。第２実施例では、ロボット１２が瞬きするように、瞼（２８ａおよび２８ｂ）が動作されたり、ロボット１２がきょろきょろするように、頭部２６が左右に回動されたりする。つまり、ＣＰＵ５０は、アクチュエータＡ１およびＡ５を制御したり、アクチュエータＡ１６を制御したりする。
【０１１４】
続いて、ステップＳ３５では、人間が一定範囲内に居るかどうかを判断する。ステップＳ３５で“ＮＯ”であれば、ステップＳ３１に戻る。一方、ステップＳ３５で“ＹＥＳ”であれば、ステップＳ３７で、一定範囲内に居る人間がロボット１２の視野内に居るかどうかを判断する。
【０１１５】
ステップＳ３７で“ＮＯ”であれば、図１０に示すステップＳ４７に進む。一方、ステップＳ３７で“ＹＥＳ”であれば、ステップＳ３９で、一定範囲内であり、かつ、ロボット１２の視野内に居る人間の好意度が所定値（第２実施例では、２）以上であるかどうかを判断する。ただし、一定範囲内であり、かつ、ロボット１２の視野内に居る人間が複数人である場合には、ロボット１２に最も近い位置に居る人間が反応動作の対象として選択される。
【０１１６】
ステップＳ３９で“ＹＥＳ”であれば、つまり、好意度が所定値以上であれば、ステップＳ４１で、後述する高好意度の反応動作の処理（図１１参照）を実行して、ステップＳ４５に進む。一方、ステップＳ３９で“ＮＯ”であれば、つまり、好意度が所定値未満であれば、ステップＳ４３で、後述する低好意度の反応動作の処理（図１２参照）を実行して、ステップＳ４５に進む。
【０１１７】
ステップＳ４５では、ロボット制御処理を終了するかどうかを判断する。ステップＳ４５で“ＮＯ”であれば、ステップＳ３１に戻る。一方、ステップＳ４５で“ＹＥＳ”であれば、ロボット制御処理を終了する。
【０１１８】
上述したように、ステップＳ３７で“ＮＯ”であれば、図１０に示すように、ステップＳ４７で、人間の手がロボット１２に触れたかどうかを判断する。ステップＳ４７で“ＮＯ”であれば、図９に示したステップＳ３３に戻る。一方、ステップＳ４７で“ＹＥＳ”であれば、ステップＳ４９で、わずかな反応動作を実行し、ステップＳ５１で、ロボット１２の顔を人間の顔の方に向ける。
【０１１９】
次のステップＳ５３では、好意度が所定値以上であるかどうかを判断する。ステップＳ５３で“ＹＥＳ”であれば、ステップＳ５５で、微笑む動作を実行し、ステップＳ５７で、「何か御用ですか？」と発話して、図９に示したステップＳ４５に進む。
【０１２０】
一方、ステップＳ５３で“ＮＯ”であれば、ステップＳ５９で、人間の反対方向へ上体を傾ける動作を実行し、ステップＳ６１で、「やめてください」と発話して、ステップＳ４５に進む。
【０１２１】
図１１は図９のステップＳ４１の高好意度の反応動作の処理を示すフロー図である。以下、高好意度の反応動作の処理について説明するが、既に説明した処理については簡単に説明することにする。図１１に示すように、ＣＰＵ５０は、高好意度の反応動作を開始すると、ステップＳ７１で、ロボット１２の顔を人間の方に向ける。次のステップＳ７３では、人間の手がロボット１２の顔周辺の第１距離以内に有るかどうかを判断する。
【０１２２】
ステップＳ７３で“ＮＯ”であれば、ステップＳ７１に戻る。一方、ステップＳ７３で“ＹＥＳ”であれば、ステップ７５で、微笑む動作を実行し、ステップＳ７７で、「何か御用ですか？」と発話して、図９および図１０に示したロボット制御処理にリターンする。
【０１２３】
図１２は図９のステップＳ４３の低好意度の反応動作の処理を示すフロー図である。以下、低好意度の反応動作の処理について説明するが、既に説明した処理については簡単に説明することにする。図１２に示すように、ＣＰＵ５０は、低
好意度の反応動作を開始すると、ステップＳ９１で、ロボット１２の顔を人間の方に向ける。次のステップＳ９３では、人間の手がロボット１２の顔周辺の第２距離以内に有るかどうかを判断する。
【０１２４】
ステップＳ９３で“ＮＯ”であれば、つまり、人間の手がロボット１２の顔周辺の第２距離以内に無ければ、ステップＳ９１に戻る。一方、ステップＳ９３で“ＹＥＳ”であれば、つまり、人間の手がロボット１２の顔周辺の第２距離以内に有れば、ステップＳ９５で、少しのけぞる動作を実行する。
【０１２５】
続いて、ステップＳ９７では、人間の手がロボット１２の顔周辺の第１距離以内に有るかどうかを判断する。ステップＳ９７で“ＮＯ”であれば、ステップＳ１０１に進む。一方、ステップＳ９７で“ＹＥＳ”であれば、ステップ９９で、「何か用ですか？」と発話して、ステップＳ１０１に進む。
【０１２６】
ステップＳ１０１では、人間の手がロボット１２に触れたかどうかを判断する。ステップＳ１０１で“ＮＯ”であれば、図９および図１０に示したロボット制御処理にリターンする。一方、ステップＳ１０１で“ＹＥＳ”であれば、ステップＳ１０３で、人間の反対方向へ上体を傾ける動作を実行し、ステップＳ１０５で、「やめてください」と発話してから、ロボット制御処理にリターンする。
【０１２７】
なお、通常、人間および人間の手はロボット１２に次第に接近し、また、低好意度の反応動作では、ステップＳ９１−Ｓ９３のスキャンタイムは１／６０秒程度であるため、人間の手がロボット１２の顔周辺の第２距離以内に有ると判断される場合に、当該人間の手がロボット１２の顔周辺の第１距離以内に有ることはほとんど無いと考えられる。つまり、ステップＳ９３では、人間の手がロボット１２の顔周辺の第１距離よりも長く第２距離以内に有るかどうかを判断している。
【０１２８】
第２実施例によれば、人間の手がロボットの顔に近づいたことに応じて反応動作を実行するのみならず、当該人間の好意度に応じて反応動作の内容を変化させるので、好意を持った人間と同様の反応動作をロボットに実行させることができる。より人間に近い反応を実現することができる。
【０１２９】
なお、この第２実施例では、好意度（または親密度）をパラメータとして用いて、このパラメータの値に応じて異なる反応動作を行うようにしたが、パラメータは好意度に限定される必要はない。たとえば、ロボットの年齢を設定しておき、反応動作を行う対象である人間の年齢がロボットの年齢よりも上か、同じか、下かに応じて、異なる反応動作を行うようにしてもよい。また、ロボットの性別を設定しておき、反応動作を行う対象である人間の性別がロボットの性別と同じであるか、異なるかに応じて、異なる反応動作を行うようにしてもよい。これらを複合的に考慮したパラメータを用いて反応動作が決定されてもよい。
【０１３０】
また、上述の各実施例で示した反応動作は単なる例示であり、限定されるべきでない。実際にロボット１２が適用される環境または場所、ロボット１２に与えられる実際の役割などを考慮して、適宜設定または変更可能である。
【０１３１】
また、上述の各実施例では、現実空間に存在する、ロボットと人間との間におけるロボットのコミュニケーション行動について説明したが、これに限定される必要はない。仮想空間に人間に似た外観（姿形）を有する２つのエージェント（キャラクタオブジェクト）が配置される場合に、他方のエージェントに属する部位（手または手に相当する部位）が一方のエージェントの所定の部位（顔または顔に相当する部位）に触れようとした場合に、当該一方のエージェントに、反応動作を実行させたり、他方のエージェントについての好意度に応じた内容で反応動作を実行させたりするようにしてもよい。かかる場合には、汎用のコンピュータのプロセッサが、仮想空間にエージェントを描画し、上記の各実施例で示したようなプログラムを実行し、エージェントを制御する。
【０１３２】
さらに、上述の各実施例では、画像距離センサを用いて、対象物までの距離おおよび対象物の形状を検出することにより、人間の位置、人間の手および顔の位置を検出するようにしたが、これに限定される必要はない。ロボット１２は、眼カメラ６６を備えるため、これをステレオカメラとして使用し、左右のカメラの撮影画像に基づいて、ロボット１２の正面方向から近づく人間の位置、人間の手および顔の位置を検出するようにしてもよい。
【０１３３】
さらにまた、上述の各実施例では、人間の手がロボット１２の顔周辺の所定距離（第１距離または第２距離）以内に有るかどうかどうかを判断して、反応動作を実行するようにしたが、これに限定される必要はない。人間の移動速度から予測して、数秒後に、人間の手がロボット１２の顔周辺の所定距離以内に有るかどうかを判断して、反応動作を実行するようにしてもよい。
【０１３４】
また、上述の各実施例で示した具体的な数値は単なる例示であり、限定される必要は無く、実際の製品および製品が適用される環境などに応じて適宜変更可能である。
【０１３５】
さらに、上述の実施例で示したロボット制御処理は、同じ結果が得られるのであれば、各ステップが処理される順番を変更してもよい。
【符号の説明】
【０１３６】
１０  …システム
１２  …アンドロイドロボット
１６  …コンピュータ
１８  …画像距離センサ
２６  …頭部
２８ａ  …上瞼
２８ｂ  …下瞼
３０  …口角
３２  …肩
３４  …腰
５０  …ＣＰＵ
５４  …ＲＡＭ
５６  …通信モジュール
６４  …触角センサ
６６  …眼カメラ
６８  …スピーカ
７０  …マイク
【図１】
2020037141.tif 000003
【図２】
2020037141.tif 000004
【図３】
2020037141.tif 000005
【図４】
2020037141.tif 000006
【図５】
2020037141.tif 000007
【図６】
2020037141.tif 000008
【図７】
2020037141.tif 000009
【図８】
2020037141.tif 000010
【図９】
2020037141.tif 000011
【図１０】
2020037141.tif 000012
【図１１】
2020037141.tif 000013
【図１２】
2020037141.tif 000014