(57)【特許請求の範囲】
【請求項１】
カメラを制御する撮像制御部と、
移動物体の撮像画像から抽出される特徴ベクトルに基づいて移動物体を判別する認識部と、
判別結果に応じて、ロボットのモーションを選択する動作選択部と、
前記動作選択部により選択されたモーションを実行する駆動機構と、
移動物体によるロボットの抱え上げを検出する動作検出部と、を備え、
前記認識部は、前記移動物体にロボットが抱え上げられたときの撮像画像をマスタ画像として設定し、前記マスタ画像から抽出される特徴ベクトルに基づいて移動物体の判別基準を設定することを特徴とする自律行動型ロボット。
【請求項２】
前記認識部は、前記移動物体を複数の角度から撮像した複数の撮像画像をマスタ画像として設定することを特徴とする請求項１に記載の自律行動型ロボット。
【請求項３】
前記動作選択部は、所定の誘導モーションを前記駆動機構に実行させ、
前記撮像制御部は、前記誘導モーションの実行を契機として前記移動物体のマスタ画像を撮像することを特徴とする請求項１または２に記載の自律行動型ロボット。
【請求項４】
前記誘導モーションは、非言語モーションであることを特徴とする請求項３に記載の自律行動型ロボット。
【請求項５】
前記認識部は、更に、前記移動物体にロボットが抱え下ろされるときの撮像画像もマスタ画像として設定することを特徴とする請求項１に記載の自律行動型ロボット。
【請求項６】
前記動作選択部は、前記移動物体にロボットが抱え下ろされたあとに前記移動物体を追跡するモーションを選択させ、
前記撮像制御部は、追跡時に前記移動物体のマスタ画像を撮像することを特徴とする請求項１に記載の自律行動型ロボット。
【請求項７】
前記撮像制御部は、前記移動物体にロボットが抱え下ろされたあとも前記移動物体を追跡し、所定のタイミングにて前記移動物体の第２のマスタ画像を撮像し、
前記認識部は、前記移動物体にロボットが抱え上げられたときに取得される第１のマスタ画像と前記第２のマスタ画像を対応づけて、前記移動物体に関する複数の特徴ベクトルを抽出することを特徴とする請求項１に記載の自律行動型ロボット。
【請求項８】
前記認識部は、移動物体の撮像画像および音声情報の双方から抽出される特徴ベクトルに基づいて移動物体を判別し、前記マスタ画像の取得に際しては前記移動物体から音声情報も取得し、前記マスタ画像および前記音声情報から抽出される特徴ベクトルに基づいて移動物体の判別基準を設定することを特徴とする請求項１に記載の自律行動型ロボット。
【請求項９】
ロボットによる物体認識のためのコンピュータプログラムであって、
移動物体にロボットが抱え上げられたときの移動物体の撮像画像をマスタ画像として設定する機能と、
前記マスタ画像から抽出される特徴ベクトルに基づいて移動物体の判別基準を設定する機能と、
移動物体の撮像画像から抽出される特徴ベクトルに基づいて移動物体を判別する機能と、をロボットに発揮させることを特徴とする行動制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内部状態または外部環境に応じて自律的に行動選択するロボット、に関する。
【背景技術】
【０００２】
人間は、感覚器官を通して外部環境からさまざまな情報を取得し、行動選択する。意識的に行動選択することもあれば、無意識的な行動選択もある。繰り返し行動はやがて無意識的行動となり、新しい行動は意識領域にとどまる。【０００３】
人間は、自らの行動を自由に選択する意志、すなわち、自由意志をもっていると信じている。人間が他人に対して愛情や憎しみといった感情を抱くのは、他人にも自由意志があると信じているからである。自由意志を持つ者、少なくとも自由意志を持っていると想定可能な存在は、人の寂しさを癒す存在にもなる。【０００４】
人間がペットを飼う理由は、人間の役に立つか否かよりも、ペットが癒しを与えてくれるからである。ペットは、多かれ少なかれ自由意志を感じさせる存在であるからこそ、人間のよき伴侶となることができる。【０００５】
その一方、ペットの世話をする時間を十分に確保できない、ペットを飼える住環境にない、アレルギーがある、死別がつらい、といったさまざまな理由により、ペットをあきらめている人は多い。もし、ペットの役割が務まるロボットがあれば、ペットを飼えない人にもペットが与えてくれるような癒しを与えられるかもしれない（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０００−３２３２１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
近年、ロボット技術は急速に進歩しつつあるが、ペットのような伴侶としての存在感を実現するには至っていない。ロボットに自由意志があるとは思えないからである。人間は、ペットの自由意志があるとしか思えないような行動を観察することにより、ペットに自由意志の存在を感じ、ペットに共感し、ペットに癒される。
したがって、人間的・生物的な行動を表現できるロボットであれば、特に、相手に応じて行動を変化させるロボットであれば、ロボットへの共感を大きく高めることができると考えられる。【０００８】
上述の行動特性を実現するためには、ロボットに人間を識別する能力を持たせなければならない。顔認証技術においては、既知の人物Ａの基準となるべき撮像画像（以下、「マスタ画像」とよぶ）と未確認の人物Ｘの撮像画像（以下、「検査画像」とよぶ）を比較することにより、人物Ａと人物Ｘが同一人物であるか否かを判定する。マスタ画像の取得に際しては、システムが被写体となる人物に撮像時の姿勢や表情について指示することも多い。【０００９】
人物の識別精度を高めるためには質のよいマスタ画像が必要であるが、マスタ画像を取得させるためにユーザに過度の負担をかけることは好ましくない。特に、生物的な行動特性を実現すべきロボットにおいてユーザに行動強制することは、ロボットの非生物性をユーザに感じさせてしまうおそれもある。【００１０】
本発明は上記認識に基づいて完成された発明であり、その主たる目的は、ユーザへの負担を抑制しつつロボットの識別能力を高める技術、を提供することにある。
【課題を解決するための手段】
【００１１】
本発明のある態様における自律行動型ロボットは、カメラを制御する撮像制御部と、移動物体の撮像画像から抽出される特徴ベクトルに基づいて移動物体を判別する認識部と、判別結果に応じて、ロボットのモーションを選択する動作選択部と、動作選択部により選択されたモーションを実行する駆動機構と、移動物体によるロボットの抱え上げを検出する動作検出部と、を備える。
認識部は、移動物体にロボットが抱え上げられたときの撮像画像をマスタ画像として設定し、マスタ画像から抽出される特徴ベクトルに基づいて移動物体の判別基準を設定する。【００１２】
本発明の別の態様における自律行動型ロボットは、カメラを制御する撮像制御部と、移動物体の撮像画像から抽出される特徴ベクトルに基づいて移動物体を判別する認識部と、判別結果に応じて、ロボットのモーションを選択する動作選択部と、動作選択部により選択されたモーションを実行する駆動機構と、移動物体によるタッチを検出する動作検出部と、を備える。
認識部は、タッチが検出されたときの撮像画像をマスタ画像として設定し、マスタ画像から抽出される特徴ベクトルに基づいて移動物体の判別基準を設定する。【００１３】
本発明の別の態様における自律行動型ロボットは、カメラを制御する撮像制御部と、移動物体の撮像画像から抽出される特徴ベクトルに基づいて移動物体を判別する認識部と、判別結果に応じて、ロボットのモーションを選択する動作選択部と、動作選択部により選択されたモーションを実行する駆動機構と、を備える。
認識部は、移動物体がロボットに対して所定の相対地点に位置したことを契機として撮像した画像をマスタ画像として設定し、マスタ画像から抽出される特徴ベクトルに基づいて移動体の判別基準を設定する。【００１４】
本発明のある態様における行動制御プログラムは、ロボットによる物体認識のためのコンピュータプログラムである。
このプログラムは、移動物体にロボットが抱え上げられたときの移動物体の撮像画像をマスタ画像として設定する機能と、マスタ画像から抽出される特徴ベクトルに基づいて移動物体の判別基準を設定する機能と、移動物体の撮像画像から抽出される特徴ベクトルに基づいて移動物体を判別する機能と、をロボットに発揮させる。【００１５】
本発明の別の態様における行動制御プログラムは、ロボットによる物体認識のためのコンピュータプログラムである。
移動物体にロボットがタッチされたときの移動物体の撮像画像をマスタ画像として設定する機能と、マスタ画像から抽出される特徴ベクトルに基づいて移動物体の判別基準を設定する機能と、移動物体の撮像画像から抽出される特徴ベクトルに基づいて移動物体を判別する機能と、をロボットに発揮させる。
【発明の効果】
【００１６】
本発明によれば、ユーザへの負担を抑制しつつ、ロボットの識別能力を高めやすくなる。
【図面の簡単な説明】
【００１７】
【図１（ａ）】ロボットの正面外観図である。
【図１（ｂ）】ロボットの側面外観図である。
【図２】ロボットの構造を概略的に表す断面図である。
【図３】ロボットシステムの構成図である。
【図４】感情マップの概念図である。
【図５】ロボットのハードウェア構成図である。
【図６】ロボットシステムの機能ブロック図である。
【図７】ロボットを抱っこしたときのイメージ図である。
【図８】マスタ情報のデータ構造図である。
【図９】ユーザ識別方法を説明するための第１の模式図である。
【図１０】ユーザ識別方法を説明するための第２の模式図である。
【図１１】マスタベクトルの抽出処理過程を示すフローチャートである。
【図１２】ユーザの画像追跡方法を示す模式図である。
【図１３】マスタベクトルを遠隔から抽出する方法を説明するための模式図である。
【発明を実施するための形態】
【００１８】
図１（ａ）は、ロボット１００の正面外観図である。図１（ｂ）は、ロボット１００の側面外観図である。
本実施形態におけるロボット１００は、外部環境および内部状態に基づいて行動や仕草（ジェスチャー）を決定する自律行動型のロボットである。外部環境は、カメラやサーモセンサなど各種のセンサにより認識される。内部状態はロボット１００の感情を表現するさまざまなパラメータとして定量化される。これらについては後述する。
【００１９】
ロボット１００は、原則として、オーナー家庭の家屋内を行動範囲とする。以下、ロボット１００に関わる人間を「ユーザ」とよび、ロボット１００が所属する家庭の構成員となるユーザのことを「オーナー」とよぶ。ロボット１００が識別すべき「移動物体」は、人間およびペットの双方を含むが、本実施形態においては人間（ユーザ）を対象として説明する。
【００２０】
ロボット１００のボディ１０４は、全体的に丸みを帯びた形状を有し、ウレタンやゴム、樹脂、繊維などやわらかく弾力性のある素材により形成された外皮を含む。ロボット１００に服を着せてもよい。丸くてやわらかく、手触りのよいボディ１０４とすることで、ロボット１００はユーザに安心感とともに心地よい触感を提供する。
【００２１】
ロボット１００は、総重量が１５キログラム以下、好ましくは１０キログラム以下、更に好ましくは、５キログラム以下である。生後１３ヶ月までに、赤ちゃんの過半数は一人歩きを始める。生後１３ヶ月の赤ちゃんの平均体重は、男児が９キログラム強、女児が９キログラム弱である。このため、ロボット１００の総重量が１０キログラム以下であれば、ユーザは一人歩きできない赤ちゃんを抱きかかえるのとほぼ同等の労力でロボット１００を抱きかかえることができる。生後２ヶ月未満の赤ちゃんの平均体重は男女ともに５キログラム未満である。したがって、ロボット１００の総重量が５キログラム以下であれば、ユーザは乳児を抱っこするのと同等の労力でロボット１００を抱っこできる。
【００２２】
適度な重さと丸み、柔らかさ、手触りのよさ、といった諸属性により、ユーザがロボット１００を抱きかかえやすく、かつ、抱きかかえたくなるという効果が実現される。同様の理由から、ロボット１００の身長は１．２メートル以下、好ましくは、０．７メートル以下であることが望ましい。本実施形態におけるロボット１００にとって、抱きかかえることができるというのは重要なコンセプトである。
【００２３】
ロボット１００は、３輪走行するための３つの車輪を備える。図示のように、一対の前輪１０２（左輪１０２ａ，右輪１０２ｂ）と、一つの後輪１０３を含む。前輪１０２が駆動輪であり、後輪１０３が従動輪である。前輪１０２は、操舵機構を有しないが、回転速度や回転方向を個別に制御可能とされている。後輪１０３は、いわゆるオムニホイールからなり、ロボット１００を前後左右へ移動させるために回転自在となっている。左輪１０２ａよりも右輪１０２ｂの回転数を大きくすることで、ロボット１００は左折したり、左回りに回転できる。右輪１０２ｂよりも左輪１０２ａの回転数を大きくすることで、ロボット１００は右折したり、右回りに回転できる。
【００２４】
前輪１０２および後輪１０３は、駆動機構（回動機構、リンク機構）によりボディ１０４に完全収納できる。走行時においても各車輪の大部分はボディ１０４に隠れているが、各車輪がボディ１０４に完全収納されるとロボット１００は移動不可能な状態となる。すなわち、車輪の収納動作にともなってボディ１０４が降下し、床面Ｆに着座する。この着座状態においては、ボディ１０４の底部に形成された平坦状の着座面１０８（接地底面）が床面Ｆに当接する。
【００２５】
ロボット１００は、２つの手１０６を有する。手１０６には、モノを把持する機能はない。手１０６は上げる、振る、振動するなど簡単な動作が可能である。２つの手１０６も個別制御可能である。
【００２６】
目１１０には、液晶素子または有機ＥＬ素子による画像表示が可能である。ロボット１００は、音源方向を特定可能なマイクロフォンアレイや超音波センサ、ニオイセンサ、測距センサ、加速度センサなどさまざまなセンサを搭載する。また、ロボット１００はスピーカーを内蔵し、簡単な音声を発することもできる。ロボット１００のボディ１０４には、静電容量式のタッチセンサが設置される。タッチセンサにより、ロボット１００はユーザのタッチを検出できる。
【００２７】
ロボット１００の頭部にはツノ１１２が取り付けられる。上述のようにロボット１００は軽量であるため、ユーザはツノ１１２をつかむことでロボット１００を持ち上げることも可能である。ツノ１１２には全天球カメラが取り付けられ、ロボット１００の上部全域を一度に撮像可能である。
【００２８】
図２は、ロボット１００の構造を概略的に表す断面図である。
図２に示すように、ロボット１００のボディ１０４は、ベースフレーム３０８、本体フレーム３１０、一対の樹脂製のホイールカバー３１２および外皮３１４を含む。ベースフレーム３０８は、金属からなり、ボディ１０４の軸芯を構成するとともに内部機構を支持する。ベースフレーム３０８は、アッパープレート３３２とロアプレート３３４とを複数のサイドプレート３３６により上下に連結して構成される。複数のサイドプレート３３６間には通気が可能となるよう、十分な間隔が設けられる。ベースフレーム３０８の内方には、バッテリー１１８、制御回路３４２および各種アクチュエータが収容されている。
【００２９】
本体フレーム３１０は、樹脂材からなり、頭部フレーム３１６および胴部フレーム３１８を含む。頭部フレーム３１６は、中空半球状をなし、ロボット１００の頭部骨格を形成する。胴部フレーム３１８は、段付筒形状をなし、ロボット１００の胴部骨格を形成する。胴部フレーム３１８は、ベースフレーム３０８と一体に固定される。頭部フレーム３１６は、胴部フレーム３１８の上端部に相対変位可能に組み付けられる。
【００３０】
頭部フレーム３１６には、ヨー軸３２０、ピッチ軸３２２およびロール軸３２４の３軸と、各軸を回転駆動するためのアクチュエータ３２６が設けられる。アクチュエータ３２６は、各軸を個別に駆動するための複数のサーボモータを含む。首振り動作のためにヨー軸３２０が駆動され、頷き動作のためにピッチ軸３２２が駆動され、首を傾げる動作のためにロール軸３２４が駆動される。
【００３１】
頭部フレーム３１６の上部には、ヨー軸３２０を支持するプレート３２５が固定されている。プレート３２５には、上下間の通気を確保するための複数の通気孔３２７が形成される。
【００３２】
頭部フレーム３１６およびその内部機構を下方から支持するように、金属製のベースプレート３２８が設けられる。ベースプレート３２８は、クロスリンク機構３２９（パンタグラフ機構）を介してプレート３２５と連結される一方、ジョイント３３０を介してアッパープレート３３２（ベースフレーム３０８）と連結されている。
【００３３】
胴部フレーム３１８は、ベースフレーム３０８と車輪駆動機構３７０を収容する。車輪駆動機構３７０は、回動軸３７８およびアクチュエータ３７９を含む。胴部フレーム３１８の下半部は、ホイールカバー３１２との間に前輪１０２の収納スペースＳを形成するために小幅とされている。
【００３４】
外皮３１４は、ウレタンゴムからなり、本体フレーム３１０およびホイールカバー３１２を外側から覆う。手１０６は、外皮３１４と一体成形される。外皮３１４の上端部には、外気を導入するための開口部３９０が設けられる。
【００３５】
図３は、ロボットシステム３００の構成図である。
ロボットシステム３００は、ロボット１００、サーバ２００および複数の外部センサ１１４を含む。家屋内にはあらかじめ複数の外部センサ１１４（外部センサ１１４ａ、１１４ｂ、・・・、１１４ｎ）が設置される。外部センサ１１４は、家屋の壁面に固定されてもよいし、床に載置されてもよい。サーバ２００には、外部センサ１１４の位置座標が登録される。位置座標は、ロボット１００の行動範囲として想定される家屋内においてｘ，ｙ座標として定義される。
【００３６】
サーバ２００は、家屋内に設置される。本実施形態におけるサーバ２００とロボット１００は、通常、１対１で対応する。ロボット１００の内蔵するセンサおよび複数の外部センサ１１４から得られる情報に基づいて、サーバ２００がロボット１００の基本行動を決定する。
外部センサ１１４はロボット１００の感覚器を補強するためのものであり、サーバ２００はロボット１００の頭脳を補強するためのものである。
【００３７】
外部センサ１１４は、定期的に外部センサ１１４のＩＤ（以下、「ビーコンＩＤ」とよぶ）を含む無線信号（以下、「ロボット探索信号」とよぶ）を送信する。ロボット１００はロボット探索信号を受信するとビーコンＩＤを含む無線信号（以下、「ロボット返答信号」とよぶ）を返信する。サーバ２００は、外部センサ１１４がロボット探索信号を送信してからロボット返答信号を受信するまでの時間を計測し、外部センサ１１４からロボット１００までの距離を測定する。複数の外部センサ１１４とロボット１００とのそれぞれの距離を計測することで、ロボット１００の位置座標を特定する。
もちろん、ロボット１００が自らの位置座標を定期的にサーバ２００に送信する方式でもよい。
【００３８】
図４は、感情マップ１１６の概念図である。
感情マップ１１６は、サーバ２００に格納されるデータテーブルである。ロボット１００は、感情マップ１１６にしたがって行動選択する。図４に示す感情マップ１１６は、ロボット１００の場所に対する好悪感情の大きさを示す。感情マップ１１６のｘ軸とｙ軸は、二次元空間座標を示す。ｚ軸は、好悪感情の大きさを示す。ｚ値が正値のときにはその場所に対する好感が高く、ｚ値が負値のときにはその場所を嫌悪していることを示す。
【００３９】
図４の感情マップ１１６において、座標Ｐ１は、ロボット１００の行動範囲としてサーバ２００が管理する屋内空間のうち好感情が高い地点（以下、「好意地点」とよぶ）である。好意地点は、ソファの陰やテーブルの下などの「安全な場所」であってもよいし、リビングのように人が集まりやすい場所、賑やかな場所であってもよい。また、過去にやさしく撫でられたり、触れられたりした場所であってもよい。
ロボット１００がどのような場所を好むかという定義は任意であるが、一般的には、小さな子どもや犬や猫などの小動物が好む場所を好意地点として設定することが望ましい。
【００４０】
座標Ｐ２は、悪感情が高い地点（以下、「嫌悪地点」とよぶ）である。嫌悪地点は、テレビの近くなど大きな音がする場所、お風呂や洗面所のように濡れやすい場所、閉鎖空間や暗い場所、ユーザから乱暴に扱われたことがある不快な記憶に結びつく場所などであってもよい。
ロボット１００がどのような場所を嫌うかという定義も任意であるが、一般的には、小さな子どもや犬や猫などの小動物が怖がる場所を嫌悪地点として設定することが望ましい。
【００４１】
座標Ｑは、ロボット１００の現在位置を示す。複数の外部センサ１１４が定期的に送信するロボット探索信号とそれに対するロボット返答信号により、サーバ２００はロボット１００の位置座標を特定する。たとえば、ビーコンＩＤ＝１の外部センサ１１４とビーコンＩＤ＝２の外部センサ１１４がそれぞれロボット１００を検出したとき、２つの外部センサ１１４からロボット１００の距離を求め、そこからロボット１００の位置座標を求める。
【００４２】
あるいは、ビーコンＩＤ＝１の外部センサ１１４は、ロボット探索信号を複数方向に送信し、ロボット１００はロボット探索信号を受信したときロボット返答信号を返す。これにより、サーバ２００は、ロボット１００がどの外部センサ１１４からどの方向のどのくらいの距離にいるかを把握してもよい。また、別の実施の形態では、前輪１０２または後輪１０３の回転数からロボット１００の移動距離を算出して、現在位置を特定してもよいし、カメラから得られる画像に基づいて現在位置を特定してもよい。
図４に示す感情マップ１１６が与えられた場合、ロボット１００は好意地点（座標Ｐ１）に引き寄せられる方向、嫌悪地点（座標Ｐ２）から離れる方向に移動する。
【００４３】
感情マップ１１６は動的に変化する。ロボット１００が座標Ｐ１に到達すると、座標Ｐ１におけるｚ値（好感情）は時間とともに低下する。これにより、ロボット１００は好意地点（座標Ｐ１）に到達して、「感情が満たされ」、やがて、その場所に「飽きてくる」という生物的行動をエミュレートできる。同様に、座標Ｐ２における悪感情も時間とともに緩和される。時間経過とともに新たな好意地点や嫌悪地点が生まれ、それによってロボット１００は新たな行動選択を行う。ロボット１００は、新しい好意地点に「興味」を持ち、絶え間なく行動選択する。
【００４４】
感情マップ１１６は、ロボット１００の内部状態として、感情の起伏を表現する。ロボット１００は、好意地点を目指し、嫌悪地点を避け、好意地点にしばらくとどまり、やがてまた次の行動を起こす。このような制御により、ロボット１００の行動選択を人間的・生物的なものにできる。
【００４５】
なお、ロボット１００の行動に影響を与えるマップ（以下、「行動マップ」と総称する）は、図４に示したようなタイプの感情マップ１１６に限らない。たとえば、好奇心、恐怖を避ける気持ち、安心を求める気持ち、静けさや薄暗さ、涼しさや暖かさといった肉体的安楽を求める気持ち、などさまざまな行動マップを定義可能である。そして、複数の行動マップそれぞれのｚ値を重み付け平均することにより、ロボット１００の目的地点を決定してもよい。
【００４６】
ロボット１００は、行動マップとは別に、さまざまな感情や感覚の大きさを示すパラメータを有する。たとえば、寂しさという感情パラメータの値が高まっているときには、安心する場所を評価する行動マップの重み付け係数を大きく設定し、目標地点に到達することでこの感情パラメータの値を低下させる。同様に、つまらないという感覚を示すパラメータの値が高まっているときには、好奇心を満たす場所を評価する行動マップの重み付け係数を大きく設定すればよい。
【００４７】
図５は、ロボット１００のハードウェア構成図である。
ロボット１００は、内部センサ１２８、通信機１２６、記憶装置１２４、プロセッサ１２２、駆動機構１２０およびバッテリー１１８を含む。駆動機構１２０は、上述した車輪駆動機構３７０を含む。プロセッサ１２２と記憶装置１２４は、制御回路３４２に含まれる。各ユニットは電源線１３０および信号線１３２により互いに接続される。バッテリー１１８は、電源線１３０を介して各ユニットに電力を供給する。各ユニットは信号線１３２により制御信号を送受する。バッテリー１１８は、リチウムイオン二次電池であり、ロボット１００の動力源である。
【００４８】
内部センサ１２８は、ロボット１００が内蔵する各種センサの集合体である。具体的には、カメラ（全天球カメラ）、マイクロフォンアレイ、測距センサ（赤外線センサ）、サーモセンサ、タッチセンサ、加速度センサ、ニオイセンサ、タッチセンサなどである。タッチセンサは、外皮３１４と本体フレーム３１０の間に設置され、ユーザのタッチを検出する。ニオイセンサは、匂いの元となる分子の吸着によって電気抵抗が変化する原理を応用した既知のセンサである。ニオイセンサは、さまざまな匂いを複数種類のカテゴリに分類する。
【００４９】
通信機１２６は、サーバ２００や外部センサ１１４、ユーザの有する携帯機器など各種の外部機器を対象として無線通信を行う通信モジュールである。記憶装置１２４は、不揮発性メモリおよび揮発性メモリにより構成され、コンピュータプログラムや各種設定情報を記憶する。プロセッサ１２２は、コンピュータプログラムの実行手段である。駆動機構１２０は、内部機構を制御するアクチュエータである。このほかには、表示器やスピーカーなども搭載される。
【００５０】
プロセッサ１２２は、通信機１２６を介してサーバ２００や外部センサ１１４と通信しながら、ロボット１００の行動選択を行う。内部センサ１２８により得られるさまざまな外部情報も行動選択に影響する。駆動機構１２０は、主として、車輪（前輪１０２）と頭部（頭部フレーム３１６）を制御する。駆動機構１２０は、２つの前輪１０２それぞれの回転速度や回転方向を変化させることにより、ロボット１００の移動方向や移動速度を変化させる。また、駆動機構１２０は、車輪（前輪１０２および後輪１０３）を昇降させることもできる。車輪が上昇すると、車輪はボディ１０４に完全に収納され、ロボット１００は着座面１０８にて床面Ｆに当接し、着座状態となる。
【００５１】
図６は、ロボットシステム３００の機能ブロック図である。
上述のように、ロボットシステム３００は、ロボット１００、サーバ２００および複数の外部センサ１１４を含む。ロボット１００およびサーバ２００の各構成要素は、ＣＰＵ（Central Processing Unit）および各種コプロセッサなどの演算器、メモリやストレージといった記憶装置、それらを連結する有線または無線の通信線を含むハードウェアと、記憶装置に格納され、演算器に処理命令を供給するソフトウェアによって実現される。コンピュータプログラムは、デバイスドライバ、オペレーティングシステム、それらの上位層に位置する各種アプリケーションプログラム、また、これらのプログラムに共通機能を提供するライブラリによって構成されてもよい。以下に説明する各ブロックは、ハードウェア単位の構成ではなく、機能単位のブロックを示している。
ロボット１００の機能の一部はサーバ２００により実現されてもよいし、サーバ２００の機能の一部または全部はロボット１００により実現されてもよい。
【００５２】
（サーバ２００）
サーバ２００は、通信部２０４、データ処理部２０２およびデータ格納部２０６を含む。
通信部２０４は、外部センサ１１４およびロボット１００との通信処理を担当する。データ格納部２０６は各種データを格納する。データ処理部２０２は、通信部２０４により取得されたデータおよびデータ格納部２０６に格納されるデータに基づいて各種処理を実行する。データ処理部２０２は、通信部２０４およびデータ格納部２０６のインタフェースとしても機能する。
【００５３】
本実施形態においては、サーバ２００の通信部２０４は、ロボット１００の通信部１４２と第１通信回線および第２通信回線の２種類の通信回線により接続する。第１通信回線は、９２０ＭＨｚのＩＳＭ周波数（Industrial, Scientific and Medical Band）通信回線である。第２通信回線は、２．４ＧＨｚの通信回線である。第１通信回線は、第２通信回線よりも周波数が低いため電波が回り込みやすいが、通信速度は遅い。
【００５４】
データ格納部２０６は、モーション格納部２３２、マップ格納部２１６および個人データ格納部２１８を含む。
ロボット１００は、複数の動作パターン（モーション）を有する。手１０６を震わせる、蛇行しながらオーナーに近づく、首をかしげたままオーナーを見つめる、などさまざまなモーションが定義される。
【００５５】
モーション格納部２３２は、モーションの制御内容を定義する「モーションファイル」を格納する。各モーションは、モーションＩＤにより識別される。モーションファイルは、ロボット１００のモーション格納部１６０にもダウンロードされる。どのモーションを実行するかは、サーバ２００で決定されることもあるし、ロボット１００で決定されることもある。
【００５６】
ロボット１００のモーションの多くは、複数の単位モーションを含む複合モーションとして構成される。たとえば、ロボット１００がオーナーに近づくとき、オーナーの方に向き直る単位モーション、手を上げながら近づく単位モーション、体を揺すりながら近づく単位モーション、両手を上げながら着座する単位モーションの組み合わせとして表現されてもよい。このような４つのモーションの組み合わせにより、「オーナーに近づいて、途中で手を上げて、最後は体をゆすった上で着座する」というモーションが実現される。モーションファイルには、ロボット１００に設けられたアクチュエータの回転角度や角速度などが時間軸に関連づけて定義される。モーションファイル（アクチュエータ制御情報）にしたがって、時間経過とともに各アクチュエータを制御することで様々なモーションが表現される。
【００５７】
先の単位モーションから次の単位モーションに変化するときの移行時間を「インターバル」とよぶ。インターバルは、単位モーション変更に要する時間やモーションの内容に応じて定義されればよい。インターバルの長さは調整可能である。
以下、いつ、どのモーションを選ぶか、モーションを実現する上での各アクチュエータの出力調整など、ロボット１００の行動制御に関わる設定のことを「行動特性」と総称する。ロボット１００の行動特性は、モーション選択アルゴリズム、モーションの選択確率、モーションファイル等により定義される。
【００５８】
モーション格納部２３２は、モーションファイルのほか、各種のイベントが発生したときに実行すべきモーションを定義するモーション選択テーブルを格納する。モーション選択テーブルにおいては、イベントに対して１以上のモーションとその選択確率が対応づけられる。
【００５９】
マップ格納部２１６は、複数の行動マップのほか、椅子やテーブルなどの障害物の配置状況を示すマップも格納する。個人データ格納部２１８は、ユーザ、特に、オーナーの情報を格納する。具体的には、ユーザに対する親密度とユーザの身体的特徴・行動的特徴を示すマスタ情報を格納する。年齢や性別などの他の属性情報を格納してもよい。マスタ情報の詳細は図８に関連して後述する。
【００６０】
ロボットシステム３００（ロボット１００およびサーバ２００）はユーザの身体的特徴や行動的特徴に基づいてユーザを識別する。ロボット１００は、全天球カメラで周辺を撮像する。そして、画像に写る人物の身体的特徴と行動的特徴を抽出する。身体的特徴とは、目と目の間隔の大きさ、目と口と鼻のバランス、背の高さ、好んで着る服、メガネの有無、肌の色、髪の色、耳の大きさなど身体に付随する視覚的特徴であってもよいし、平均体温や匂い、声質、などその他の特徴も含めてもよい。行動的特徴とは、具体的には、ユーザが好む場所、動きの活発さ、喫煙の有無など行動に付随する特徴である。たとえば、父親として識別されるオーナーは在宅しないことが多く、在宅時にはソファで動かないことが多いが、母親は台所にいることが多く、行動範囲が広い、といった行動上の特徴を抽出する。
本実施形態におけるロボットシステム３００は、後述のマスタ画像により身体的特徴を示す複数のパラメータを抽出し、このマスタ画像に基づいてユーザを識別する。以下、マスタ画像に基づいてユーザを識別する処理のことを「ユーザ識別処理」とよぶ。ユーザ識別処理の詳細は後述する。
【００６１】
ロボット１００は、ユーザごとに親密度という内部パラメータを有する。ロボット１００が、自分を抱き上げる、声をかけてくれるなど、自分に対して好意を示す行動を認識したとき、そのユーザに対する親密度が高くなる。ロボット１００に関わらないユーザや、乱暴を働くユーザ、出会う頻度が低いユーザに対する親密度は低くなる。
【００６２】
データ処理部２０２は、位置管理部２０８、マップ管理部２１０、認識部２１２、動作制御部２２２、親密度管理部２２０および感情管理部２４４を含む。
位置管理部２０８は、ロボット１００の位置座標を、図３を用いて説明した方法にて特定する。位置管理部２０８はユーザの位置座標もリアルタイムで追跡してもよい。
【００６３】
感情管理部２４４は、ロボット１００の感情（寂しさ、楽しさ、恐怖など）を示すさまざまな感情パラメータを管理する。これらの感情パラメータは常に揺らいでいる。感情パラメータに応じて複数の行動マップの重要度が変化し、行動マップによってロボット１００の移動目標地点が変化し、ロボット１００の移動や時間経過によって感情パラメータが変化する。
【００６４】
たとえば、寂しさを示す感情パラメータが高いときには、感情管理部２４４は安心する場所を評価する行動マップの重み付け係数を大きく設定する。ロボット１００が、この行動マップにおいて寂しさを解消可能な地点に至ると、感情管理部２４４は寂しさを示す感情パラメータを低下させる。また、後述の応対行為によっても各種感情パラメータは変化する。たとえば、オーナーから「抱っこ」をされると寂しさを示す感情パラメータは低下し、長時間にわたってオーナーを視認しないときには寂しさを示す感情パラメータは少しずつ増加する。
【００６５】
マップ管理部２１０は、複数の行動マップについて図４に関連して説明した方法にて各座標のパラメータを変化させる。マップ管理部２１０は、複数の行動マップのいずれかを選択してもよいし、複数の行動マップのｚ値を加重平均してもよい。たとえば、行動マップＡでは座標Ｒ１、座標Ｒ２におけるｚ値が４と３であり、行動マップＢでは座標Ｒ１、座標Ｒ２におけるｚ値が−１と３であるとする。単純平均の場合、座標Ｒ１の合計ｚ値は４−１＝３、座標Ｒ２の合計ｚ値は３＋３＝６であるから、ロボット１００は座標Ｒ１ではなく座標Ｒ２の方向に向かう。
行動マップＡを行動マップＢの５倍重視するときには、座標Ｒ１の合計ｚ値は４×５−１＝１９、座標Ｒ２の合計ｚ値は３×５＋３＝１８であるから、ロボット１００は座標Ｒ１の方向に向かう。
【００６６】
認識部２１２は、外部環境を認識する。外部環境の認識には、温度や湿度に基づく天候や季節の認識、光量や温度に基づく物陰（安全地帯）の認識など多様な認識が含まれる。ロボット１００の認識部１５６は、内部センサ１２８により各種の環境情報を取得し、これを一次処理した上でサーバ２００の認識部２１２に転送する。ロボット１００の認識部１５６は、画像から移動物体、特に、人物や動物に対応する画像領域を抽出し、抽出した画像領域から移動物体の身体的特徴や行動的特徴を示す「特徴ベクトル」を抽出する。ロボット１００は、特徴ベクトルをサーバ２００に送信する。
【００６７】
サーバ２００の認識部２１２は、更に、人物認識部２１４と応対認識部２２８を含む。
人物認識部２１４は、ロボット１００の内蔵カメラによる撮像画像から抽出された特徴ベクトルと、個人データ格納部２１８にあらかじめ登録されているユーザの特徴ベクトルと比較することにより、撮像されたユーザがどの人物に該当するかを判定する（ユーザ識別処理）。人物認識部２１４は、表情認識部２３０を含む。表情認識部２３０は、ユーザの表情を画像認識することにより、ユーザの感情を推定する。
なお、人物認識部２１４は、人物以外の移動物体、たとえば、ペットである猫や犬についてもユーザ識別処理を行う。
【００６８】
以上のように、本実施形態においては、ロボット１００の認識部１５６が撮像画像から移動物体（人物および動物）に対応する画像領域を抽出し、抽出した撮像画像から特徴ベクトルを抽出する。サーバ２００の個人データ格納部２１８には、あらかじめ複数のユーザの特徴ベクトル（以下、「マスタベクトル」とよぶ）が登録されている。マスタベクトルは、ユーザのマスタ画像に基づいて抽出される特徴ベクトルである。サーバ２００の人物認識部２１４は、ロボット１００から送られる特徴ベクトルとマスタベクトルを比較することによりユーザを識別する。
【００６９】
以下、個人データ格納部２１８にマスタベクトルが登録されているユーザを「登録ユーザ」、カメラにより認識されたユーザ識別処理の対象となる未確認のユーザを「未知ユーザ」とよぶ。登録ユーザＡのマスタベクトルと未知ユーザＸの特徴ベクトル（以下、「検査ベクトル」ともよぶ）が一致または類似していれば、未知ユーザＸは登録ユーザＡと同一人物であると判定する。
【００７０】
応対認識部２２８は、ロボット１００になされたさまざまな応対行為を認識し、快・不快行為に分類する。応対認識部２２８は、また、ロボット１００の行動に対するオーナーの応対行為を認識することにより、肯定・否定反応に分類する。
快・不快行為は、ユーザの応対行為が、生物として心地よいものであるか不快なものであるかにより判別される。たとえば、抱っこされることはロボット１００にとって快行為であり、蹴られることはロボット１００にとって不快行為である。肯定・否定反応は、ユーザの応対行為が、ユーザの快感情を示すものか不快感情を示すものであるかにより判別される。たとえば、抱っこされることはユーザの快感情を示す肯定反応であり、蹴られることはユーザの不快感情を示す否定反応である。
【００７１】
サーバ２００の動作制御部２２２は、ロボット１００の動作制御部１５０と協働して、ロボット１００のモーションを決定する。サーバ２００の動作制御部２２２は、マップ管理部２１０による行動マップ選択に基づいて、ロボット１００の移動目標地点とそのための移動ルートを作成する。動作制御部２２２は、複数の移動ルートを作成し、その上で、いずれかの移動ルートを選択してもよい。
【００７２】
動作制御部２２２は、モーション格納部２３２の複数のモーションからロボット１００のモーションを選択する。各モーションには状況ごとに選択確率が対応づけられている。たとえば、オーナーから快行為がなされたときには、モーションＡを２０％の確率で実行する、気温が３０度以上となったとき、モーションＢを５％の確率で実行する、といった選択方法が定義される。
行動マップに移動目標地点や移動ルートが決定され、後述の各種イベントによりモーションが選択される。
【００７３】
親密度管理部２２０は、ユーザごとの親密度を管理する。上述したように、親密度は個人データ格納部２１８において個人データの一部として登録される。快行為を検出したとき、親密度管理部２２０はそのオーナーに対する親密度をアップさせる。不快行為を検出したときには親密度はダウンする。また、長期間視認していないオーナーの親密度は徐々に低下する。
【００７４】
（ロボット１００）
ロボット１００は、通信部１４２、データ処理部１３６、データ格納部１４８、内部センサ１２８および駆動機構１２０を含む。
通信部１４２は、通信機１２６（図５参照）に該当し、外部センサ１１４、サーバ２００および他のロボット１００との通信処理を担当する。データ格納部１４８は各種データを格納する。データ格納部１４８は、記憶装置１２４（図５参照）に該当する。データ処理部１３６は、通信部１４２により取得されたデータおよびデータ格納部１４８に格納されているデータに基づいて各種処理を実行する。データ処理部１３６は、プロセッサ１２２およびプロセッサ１２２により実行されるコンピュータプログラムに該当する。データ処理部１３６は、通信部１４２、内部センサ１２８、駆動機構１２０およびデータ格納部１４８のインタフェースとしても機能する。
【００７５】
データ格納部１４８は、ロボット１００の各種モーションを定義するモーション格納部１６０を含む。
ロボット１００のモーション格納部１６０には、サーバ２００のモーション格納部２３２から各種モーションファイルがダウンロードされる。モーションは、モーションＩＤによって識別される。前輪１０２を収容して着座する、手１０６を持ち上げる、２つの前輪１０２を逆回転させることで、あるいは、片方の前輪１０２だけを回転させることでロボット１００を回転行動させる、前輪１０２を収納した状態で前輪１０２を回転させることで震える、ユーザから離れるときにいったん停止して振り返る、などのさまざまなモーションを表現するために、各種アクチュエータ（駆動機構１２０）の動作タイミング、動作時間、動作方向などがモーションファイルにおいて時系列定義される。
【００７６】
データ格納部１４８には、マップ格納部２１６および個人データ格納部２１８からも各種データがダウンロードされてもよい。
【００７７】
内部センサ１２８は、カメラ１３４を含む。本実施形態におけるカメラ１３４は、ツノ１１２に取り付けられる全天球カメラである。
【００７８】
データ処理部１３６は、認識部１５６、動作制御部１５０、動作検出部１５２、撮像制御部１５４および測距部１５８を含む。
ロボット１００の動作制御部１５０は、サーバ２００の動作制御部２２２と協働してロボット１００のモーションを決める。一部のモーションについてはサーバ２００で決定し、他のモーションについてはロボット１００で決定してもよい。また、ロボット１００がモーションを決定するが、ロボット１００の処理負荷が高いときにはサーバ２００がモーションを決定するとしてもよい。サーバ２００においてベースとなるモーションを決定し、ロボット１００において追加のモーションを決定してもよい。モーションの決定処理をサーバ２００およびロボット１００においてどのように分担するかはロボットシステム３００の仕様に応じて設計すればよい。
【００７９】
ロボット１００の動作制御部１５０は、サーバ２００の動作制御部２２２とともにロボット１００の移動方向を決める。行動マップに基づく移動をサーバ２００で決定し、障害物をよけるなどの即時的移動をロボット１００の動作制御部１５０により決定してもよい。駆動機構１２０は、動作制御部１５０の指示にしたがって前輪１０２を駆動することで、ロボット１００を移動目標地点に向かわせる。
【００８０】
ロボット１００の動作制御部１５０は選択したモーションを駆動機構１２０に実行指示する。駆動機構１２０は、モーションファイルにしたがって、各アクチュエータを制御する。
【００８１】
動作制御部１５０は、親密度の高いユーザが近くにいるときには「抱っこ」をせがむ仕草として両方の手１０６をもちあげるモーションを実行することもできるし、「抱っこ」に飽きたときには左右の前輪１０２を収容したまま逆回転と停止を交互に繰り返すことで抱っこをいやがるモーションを表現することもできる。駆動機構１２０は、動作制御部１５０の指示にしたがって前輪１０２や手１０６、首（頭部フレーム３１６）を駆動することで、ロボット１００にさまざまなモーションを表現させる。
【００８２】
動作検出部１５２は、ユーザによるタッチのほか、ロボット１００の「抱え上げ」と「抱え下ろし」を検出する。「抱え上げ」とは、典型的には、ユーザがロボット１００のボディ１０４に両手を添えて、ロボット１００を持ち上げる行為である。「抱え下ろし」とは、典型的には、ユーザがロボット１００のボディ１０４に両手を添えて、ロボット１００を床面Ｆの上に下ろす行為である。動作検出部１５２は、ロボット１００の外皮３１４の下に設置されるタッチセンサによりユーザのタッチを検出する。タッチされた状態で加速度センサが上昇を検知したことを条件として動作検出部１５２は「抱え上げ」がなされたと判定する。同様にして、タッチされた状態で加速度センサにより下降を検出したとき、あるいは、着座面１０８または前輪１０２への荷重を検出したときには、動作検出部１５２は「抱え下ろし」がなされたと判定する。カメラ１３４によって外界を動画撮像し、ロボット１００の上昇および下降を画像の変化から認識することで「抱え上げ」と「抱え下ろし」を判定してもよい。
【００８３】
撮像制御部１５４は、カメラ１３４を制御する。撮像制御部１５４は、抱え上げや抱え下ろし、タッチが検出されたとき、あるいは、後述の各種タイミングにて被写体を撮像する。
【００８４】
測距部１５８は、内部センサ１２８に含まれる測距センサ（赤外線センサ）により、被写体となる移動物体（人物およびペット）との距離を検出する。また、認識部１５６は、被写体を画像認識することにより、ロボット１００と被写体の相対角度も検出する。被写体に対してロボット１００が所定の相対地点に位置したときの撮像画像をマスタ画像の候補（以下、「マスタ候補画像」とよぶ）とすることもできる。測距に基づくマスタ候補画像の取得方法については、図１３に関連して後述する。
【００８５】
ロボット１００の認識部１５６は、内部センサ１２８から得られた外部情報を解釈する。認識部１５６は、視覚的な認識（視覚部）、匂いの認識（嗅覚部）、音の認識（聴覚部）、触覚的な認識（触覚部）が可能である。
認識部１５６は、内蔵の全天球カメラにより定期的に外界を撮像し、人やペットなどの移動物体を検出する。認識部１５６が移動物体の撮像画像から抽出した特徴ベクトルはサーバ２００に送信され、サーバ２００の人物認識部２１４はユーザを識別する。ロボット１００の認識部１５６は、ユーザの匂いやユーザの声も検出する。匂いや音（声）は既知の方法にて複数種類に分類される。
【００８６】
ロボット１００に対する強い衝撃が与えられたとき、認識部１５６は内蔵の加速度センサによりこれを認識し、サーバ２００の応対認識部２２８は、近隣にいるユーザによって「乱暴行為」が働かれたと認識する。ユーザがツノ１１２を掴んでロボット１００を持ち上げるときにも、乱暴行為と認識してもよい。ロボット１００に正対した状態にあるユーザが特定音量領域および特定周波数帯域にて発声したとき、サーバ２００の応対認識部２２８は、自らに対する「声掛け行為」がなされたと認識してもよい。また、体温程度の温度を検知したときにはユーザによる「接触行為」がなされたと認識してもよい。
まとめると、ロボット１００は内部センサ１２８によりユーザの行為を物理的情報として取得し、動作検出部１５２は「抱え上げ」「抱え下ろし」等の行為を判定し、サーバ２００の応対認識部２２８は快・不快を判定し、サーバ２００の認識部２１２は特徴ベクトルに基づくユーザ識別処理を実行する。
【００８７】
サーバ２００の応対認識部２２８は、ロボット１００に対するユーザの各種応対を認識する。各種応対行為のうち一部の典型的な応対行為には、快または不快、肯定または否定が対応づけられる。一般的には快行為となる応対行為のほとんどは肯定反応であり、不快行為となる応対行為のほとんどは否定反応となる。快・不快行為は親密度に関連し、肯定・否定反応はロボット１００の行動選択に影響する。
【００８８】
検出・分析・判定を含む一連の認識処理のうち、ロボット１００の認識部１５６は認識に必要な情報の取捨選択や抽出を行い、判定等の解釈処理はサーバ２００の認識部２１２により実行される。認識処理は、サーバ２００の認識部２１２だけで行ってもよいし、ロボット１００の認識部１５６だけで行ってもよいし、上述のように双方が役割分担をしながら上記認識処理を実行してもよい。
【００８９】
認識部１５６により認識された応対行為に応じて、サーバ２００の親密度管理部２２０はユーザに対する親密度を変化させる。原則的には、快行為を行ったユーザに対する親密度は高まり、不快行為を行ったユーザに対する親密度は低下する。
【００９０】
サーバ２００の認識部２１２は、応対に応じて快・不快を判定し、マップ管理部２１０は「場所に対する愛着」を表現する行動マップにおいて、快・不快行為がなされた地点のｚ値を変化させてもよい。たとえば、リビングにおいて快行為がなされたとき、マップ管理部２１０はリビングに好意地点を高い確率で設定してもよい。この場合、ロボット１００はリビングを好み、リビングで快行為を受けることで、ますますリビングを好む、というポジティブ・フィードバック効果が実現する。
【００９１】
移動物体（ユーザ）からどのような行為をされるかによってそのユーザに対する親密度が変化する。
【００９２】
ロボット１００は、よく出会う人、よく触ってくる人、よく声をかけてくれる人に対して高い親密度を設定する。一方、めったに見ない人、あまり触ってこない人、乱暴な人、大声で叱る人に対する親密度は低くなる。ロボット１００はセンサ（視覚、触覚、聴覚）によって検出するさまざまな外界情報にもとづいて、ユーザごとの親密度を変化させる。
【００９３】
実際のロボット１００は行動マップにしたがって自律的に複雑な行動選択を行う。ロボット１００は、寂しさ、退屈さ、好奇心などさまざまなパラメータに基づいて複数の行動マップに影響されながら行動する。ロボット１００は、行動マップの影響を除外すれば、あるいは、行動マップの影響が小さい内部状態にあるときには、原則的には、親密度の高い人に近づこうとし、親密度の低い人からは離れようとする。
【００９４】
ロボット１００の行動は親密度に応じて以下に類型化される。
（１）親密度が非常に高いユーザ
ロボット１００は、ユーザに近づき（以下、「近接行動」とよぶ）、かつ、人に好意を示す仕草としてあらかじめ定義される愛情仕草を行うことで親愛の情を強く表現する。
（２）親密度が比較的高いユーザ
ロボット１００は、近接行動のみを行う。
（３）親密度が比較的低いユーザ
ロボット１００は特段のアクションを行わない。
（４）親密度が特に低いユーザ
ロボット１００は、離脱行動を行う。
【００９５】
以上の制御方法によれば、ロボット１００は、親密度が高いユーザを見つけるとそのユーザに近寄り、逆に親密度が低いユーザを見つけるとそのユーザから離れる。このような制御方法により、いわゆる「人見知り」を行動表現できる。また、来客（親密度が低いユーザＡ）が現れたとき、ロボット１００は、来客から離れて家族（親密度が高いユーザＢ）の方に向かうこともある。この場合、ユーザＢはロボット１００が人見知りをして不安を感じていること、自分を頼っていること、を感じ取ることができる。このような行動表現により、ユーザＢは、選ばれ、頼られることの喜び、それにともなう愛着の情を喚起される。
【００９６】
一方、来客であるユーザＡが頻繁に訪れ、声を掛け、タッチをするとロボット１００のユーザＡに対する親密度は徐々に上昇し、ロボット１００はユーザＡに対して人見知り行動（離脱行動）をしなくなる。ユーザＡも自分にロボット１００が馴染んできてくれたことを感じ取ることで、ロボット１００に対する愛着を抱くことができる。
【００９７】
なお、以上の行動選択は、常に実行されるとは限らない。たとえば、ロボット１００の好奇心を示す内部パラメータが高くなっているときには、好奇心を満たす場所を求める行動マップが重視されるため、ロボット１００は親密度に影響された行動を選択しない可能性もある。また、玄関に設置されている外部センサ１１４がユーザの帰宅を検知した場合には、ユーザのお出迎え行動を最優先で実行するかもしれない。
【００９８】
図７は、ロボットを抱っこしたときのイメージ図である。
ロボット１００は、丸く、やわらかく、手触りのよいボディ１０４と適度な重量を有し、かつ、タッチを快行為と認識するため、ロボット１００を抱っこしたいという感情をユーザに抱かせやすい。ロボット１００は、この関わりたいという気持ちを抱かせることをユーザ識別処理に応用している。
【００９９】
ロボット１００がユーザを識別するためには、その手がかりとなる情報が必要である。たとえば、眉の太さ、目の大きさ、目の形状、肌の色、肌の明るさ、皺の形状、髪の明るさ、前髪の長さ、顔全体に占める目や鼻の大きさの割合、目と目の間隔などの身体的特徴が手がかりとなる。本実施形態においては、まず、ロボット１００はマスタ画像を取得する。ロボット１００の認識部１５６はマスタ画像から特徴ベクトル（マスタベクトル）を抽出する。特徴ベクトルは、複数のベクトル成分を有する。特徴ベクトル成分は、上述の各種身体的特徴を定量化した数値である。たとえば、目の横幅は０〜１の範囲で数値化され、これらが特徴ベクトル成分を形成する。人物の撮像画像から特徴ベクトルを抽出する手法については、既知の顔認識技術の応用である。ユーザＡのマスタベクトルは、個人データ格納部２１８のマスタ情報２２４として保存される。
以下、撮像画像から特徴ベクトルを抽出する処理のことを「ベクトル抽出処理」とよぶ。
【０１００】
ロボット１００が未知ユーザＸを撮像したとき、認識部１５６は未知ユーザＸの撮像画像（検査画像）から特徴ベクトル（検査ベクトル）を抽出する。サーバ２００の人物認識部２１４は、未知ユーザＸの検査ベクトルと登録ユーザＡのマスタベクトルが類似していれば、未知ユーザＸと登録ユーザＡが同一人物であると判定する。
【０１０１】
識別精度を高めるためには、マスタベクトルを抽出しやすい良質なマスタ画像、より具体的には、近距離でユーザを撮像する必要がある。本実施形態における認識部１５６は、動作検出部１５２がロボット１００の抱え上げを検出したときの撮像画像をマスタ画像として設定する。ロボット１００が抱っこされているときには、ロボット１００は内蔵のカメラ１３４により高精度に撮像できる。これは、ロボット１００を抱え上げたときには、ユーザの顔とロボット１００の内蔵するカメラ１３４の距離が一定の範囲内に収まるためである。マスタ画像を撮像するためにユーザに「行動指示」を与えるのではなく、ユーザが自らの意思でロボット１００を抱っこするタイミングを見計らって、ユーザに負担をかけることなく良質なマスタ画像を取得できる。
【０１０２】
図８は、マスタ情報のデータ構造図である。
マスタ情報２２４は、応対認識部２２８に格納される。図８においては、ユーザＩＤ＝０１のユーザ（以下、「ユーザ（０１）」のように表記する）に３つのマスタベクトルが対応づけられている。ユーザ（０１）の正面だけでなく、右側面や左側面などの横顔からもマスタ画像が取得される。このため、複数角度、複数距離からユーザを撮像することにより、一人の登録ユーザに対して複数のマスタベクトルが対応づけられる。マスタベクトルは、マスタＩＤにより識別される。マスタベクトル（０１）はユーザ（０１）の顔を正面から撮像したときのマスタ画像から抽出され、マスタベクトル（０２）はユーザ（０１）の顔を右側から撮像したときのマスタ画像から抽出される。
【０１０３】
説明を簡単にするため、図８に示すマスタベクトルは５つのベクトル成分を有する５次元ベクトルであるとして説明する。５つのベクトル成分ａ〜ｅは、目と目の間隔、肌の色など任意の特徴量に対応する。マスタベクトル（０１）は、３つのベクトル成分ａ〜ｃに対応する特徴量ａ１，ｂ１，ｃ１を含む。一方、ベクトル成分ｄ，ｅには特徴量が設定されていない。たとえば、ベクトル成分ｄが耳の大きさを示す特徴量であるときには、正面のマスタ画像からは成分ｄを抽出できない可能性があるためである。
【０１０４】
マスタベクトル（０２）は、３つのベクトル成分ａ，ｃ，ｅに対応する特徴量ａ２，ｃ２，ｅ２を含むがベクトル成分ｂ，ｄに対応する特徴量は含まない。マスタベクトル（０３）は、４つのベクトル成分ａ，ｂ，ｄ，ｅに対応する特徴量ａ３，ｂ３，ｄ３，ｅ３を含むがベクトル成分ｃに対応する特徴量は含まない。複数方向からユーザ（０１）を撮像することにより複数のマスタ画像が取得すれば、ユーザ（０１）の身体的特徴を３次元的に把握できる。
【０１０５】
人物認識部２１４は、ユーザ（０１）の３つのマスタベクトルを相加平均することにより、重心ベクトルＭＢを算出する。重心ベクトルＭＢのベクトル成分ａは、３つのマスタベクトルのａ成分（ａ１，ａ２，ａ３）の平均値である。マスタベクトル（０３）しかベクトル成分ｄを有していないため、重心ベクトルＭＢのベクトル成分ｄは、マスタベクトル（０３）の特徴量ｄ３となる。人物認識部２１４は、マスタベクトルまたは重心ベクトルＭＢに基づいて、ユーザ識別処理を実行する（後述）。
【０１０６】
登録ユーザが一人もいない状況を想定する。
動作検出部１５２は、未知ユーザＡに抱っこされたときマスタ画像を取得する。人物認識部２１４は、未知ユーザＡのマスタ画像から抽出されたマスタベクトル（０１）にユーザＩＤ＝０１を対応づけてマスタ情報２２４に記録する。このとき、人物認識部２１４はマスタベクトル（０１）の取得日時も記録する。以上の処理により、未知ユーザＡは登録ユーザ（０１）としてマスタ情報２２４に登録される。図８においては、マスタベクトル（０１）は、２０１６年６月７日に取得されている。
【０１０７】
ユーザ（０１）の登録後、新たな未知ユーザＸがロボット１００を抱っこしたときにも、動作検出部１５２はマスタ画像を取得する。人物認識部２１４は、未知ユーザＸのマスタ画像から抽出されたマスタベクトルＭＸと登録ユーザ（０１）のマスタベクトル（０１）を比較する。
【０１０８】
（１）未登録の場合
人物認識部２１４は、マスタベクトルＭＸとマスタベクトル（０１）のベクトル距離が所定距離以上であれば、未知ユーザＸはユーザ（０１）とは異なると判定する。特徴ベクトルの距離は、ユークリッド距離として計算してもよいし、チェビシェフ距離など他の定義に基づく距離計算であってもよい。人物認識部２１４は、未知ユーザＸを新たな登録ユーザ（０２）としてマスタ情報２２４に登録するとともに、ユーザＸにユーザＩＤ＝０２を割り当て、マスタベクトルＭＸにマスタＩＤ＝０４を割り当てる。以上の処理により、マスタ情報２２４にはユーザ（０１）およびユーザ（０２）の二人が登録される。
【０１０９】
（２）既登録の場合
マスタベクトルＭＸとマスタベクトル（０１）の距離が所定距離未満であれば、人物認識部２１４は、未知ユーザＸと登録ユーザ（０１）は同一人物であると判定する。人物認識部２１４は、マスタベクトルＭＸにマスタＩＤ＝０２を設定して、ユーザ（０１）に対応づける。ユーザ（０１）のマスタベクトルは２つとなり、ユーザ（０１）を識別するための情報が充実する。
【０１１０】
マスタ画像からは高品質のマスタベクトルが得られるため、マスタベクトル同士を比較することにより、ロボット１００を抱っこしているユーザが登録ユーザと人物であるか否かを容易に判定できる。
【０１１１】
複数の登録ユーザがいるときには、各登録ユーザのマスタベクトルが比較対象となる。一人の登録ユーザが２以上のマスタベクトルを有するときには、登録ユーザの重心ベクトルと未知ユーザのマスタベクトルが比較対象となる。
【０１１２】
図９は、ユーザ識別方法を説明するための第１の模式図である。
図９および図１０では、ユーザ識別処理の原理を図解するため、特徴ベクトルに含まれるベクトル成分のうち、２つのベクトル成分ａ，ｂを対象として説明する。３つ以上のベクトル成分を有するときにも処理方法は同じである。
図９においては、登録ユーザＡおよび登録ユーザＢそれぞれについて、マスタベクトルＭＡとマスタベクトルＭＢが１つずつ抽出されている。マスタベクトルＭＡ＝（ａ１，ｂ１）、マスタベクトルＭＢ＝（ａ２，ｂ２）である。このような状況において、ロボット１００が正面から歩いてくる未知ユーザＸの撮像画像（検査画像）を取得したとする。認識部１５６は、検査画像に映る未知ユーザＸが登録ユーザＡ，Ｂのいずれであるかを判定する。抱っこされているわけではないので、未知ユーザＸの検査画像から得られる特徴ベクトル（検査ベクトル）は、通常、マスタベクトルほどの精度を有さない。
【０１１３】
認識部１５６は、まず、未知ユーザＸの検査画像から、検査ベクトルＤＸ＝（ａｘ，ｂｘ）を抽出する。ロボット１００の通信部１４２は、サーバ２００の通信部２０４に検査ベクトルＤＸを送信する。サーバ２００の人物認識部２１４は、検査ベクトルＤＸとマスタベクトルＭＡとの距離であるｒａ，検査ベクトルＤＸとマスタベクトルＭＢとの距離であるｒｂをそれぞれ算出する。
【０１１４】
任意の閾値ｒｍを設定したとき、ｒｂ＜ｒａ、かつ、ｒｂ＜ｒｍであれば、人物認識部２１４は未知ユーザＸが登録ユーザＢであると判定する。一方、ｒａ＜ｒｂ、かつ、ｒａ＜ｒｍであれば、人物認識部２１４は未知ユーザＸが登録ユーザＡであると判定する。一方、ｒａ＞ｒｍ、かつ、ｒｂ＞ｒｍであるときには、未知ユーザＸは登録ユーザＡ、Ｂのいずれにも該当しない。未知ユーザＸが親密度の高い登録ユーザＡであると判明したときには、動作制御部１５０は未知ユーザＸのもとに駆け寄るなどの親密行動を選択してもよい。一方、未知ユーザＸが親密度の低い登録ユーザＢであると判明したときには、動作制御部１５０は未知ユーザＸから逃げるなどの忌避行動を選択してもよい。
【０１１５】
未知ユーザＸを識別できなかったときには、人物認識部２１４は未確認の旨をロボット１００に通知し、ロボット１００の動作制御部１５０は未知ユーザＸに抱っこをせがむモーションを選択してもよい。具体的には、未知ユーザＸに近づく、手１０６を挙げる、未知ユーザＸの前で座り込むなどのモーションが考えられる。
【０１１６】
未知ユーザＸがロボット１００を抱え上げ、動作検出部１５２が「抱え上げ」を検出すると、撮像制御部１５４はカメラ１３４を制御して未知ユーザＸを近距離から撮像する。抱え上げ時に得られた未知ユーザのマスタ画像から、認識部１５６はマスタベクトルＭＸを抽出する。サーバ２００の人物認識部２１４は、未知ユーザＸのマスタベクトルＭＸと、既存のマスタベクトルＭＡ，ＭＢを比較することにより再度のユーザ識別処理を実行してもよい。マスタベクトル同士の比較であるためより高精度の識別が可能である。マスタベクトルの比較によっても未知ユーザＸが登録ユーザＡ，Ｂとは別人物であると判定されたときには、人物認識部２１４は未知ユーザＸを３人目の登録ユーザとしてマスタベクトルＭＸとともにマスタ情報２２４に登録する。
【０１１７】
なお、未知ユーザＸが登録ユーザＡであると判明したときには、人物認識部２１４は、未知ユーザＸの検査画像から得られた検査ベクトルを登録ユーザＡの新たなマスタベクトルとして登録してもよい。
【０１１８】
図１０は、ユーザ識別方法を説明するための第２の模式図である。
図１０においては、登録ユーザＡおよび登録ユーザＢそれぞれについて、複数のマスタベクトルが抽出されている。人物認識部２１４は、登録ユーザＡの重心ベクトルＭＢ（Ａ）および登録ユーザＢの重心ベクトルＭＢ（Ｂ）を算出する。このような状況において、ロボット１００が、正面から歩いてくる未知ユーザＸの撮像画像（検査画像）を取得したとする。認識部１５６は、検査画像に映る未知ユーザＸが登録ユーザＡ，Ｂのいずれであるかを判定する。
【０１１９】
認識部１５６は、まず、未知ユーザＸの検査画像から、検査ベクトルＤＸ＝（ａｘ，ｂｘ）を抽出する。ロボット１００の通信部１４２は、サーバ２００の通信部２０４に検査ベクトルＤＸを送信する。サーバ２００の人物認識部２１４は、検査ベクトルＤＸと重心ベクトルＭＢ（Ａ）との距離であるｒａ，検査ベクトルＤＸと重心ベクトルＭＢ（Ｂ）との距離であるｒｂをそれぞれ算出する。
【０１２０】
任意の閾値ｒｍを設定したとき、ｒｂ＜ｒａ、かつ、ｒｂ＜ｒｍであれば、人物認識部２１４は未知ユーザＸが登録ユーザＢであると判定する。一方、ｒａ＜ｒｂ、かつ、ｒａ＜ｒｍであれば、人物認識部２１４は未知ユーザＸが登録ユーザＡであると判定する。一方、ｒａ＞ｒｍ、かつ、ｒｂ＞ｒｍであるときには、未知ユーザＸは登録ユーザＡ、Ｂのいずれにも該当しない。
【０１２１】
図１１は、マスタベクトルの抽出処理過程を示すフローチャートである。
ロボット１００の動作検出部１５２がロボット１００の抱え上げを検出したとき、図１１のベクトル抽出処理が実行される。動作制御部１５０は、抱え上げが検出されたとき、所定の誘導モーションを実行する（Ｓ１０）。誘導モーションは、ユーザを注目させるためにあらかじめ定義されたモーションである。具体的には、手１０６を振る、ボディ１０４を揺らす、頭部フレーム３１６をユーザに向ける、頭部フレーム３１６を上下または左右に揺らすなどの非言語モーションが想定される。誘導モーションは機械的なモーションに限らない。動作制御部１５０は有機ＥＬ素子により目１１０に「瞳」を映像表示させる。動作制御部１５０は、瞳画像を大きくすることで瞳を見開く、瞳を揺らす、ウィンクさせるなどの画像制御を指示してもよい。
【０１２２】
誘導モーションでユーザの気を引くことにより、ユーザの顔をロボット１００に向けさせる。また、多様な誘導モーションを用意することで、ユーザの多様な表情を引き出すことにより、多様な表情に対応した多様なマスタベクトルを抽出可能となる。たとえば、笑い皺や、えくぼなど、笑顔に特有の特徴量をマスタベクトルのベクトル成分として含めることもできる。
【０１２３】
誘導モーションを実行後、撮像制御部１５４はカメラ１３４を制御してユーザを撮像する（Ｓ１２）。このときの撮像画像が「マスタ候補画像」となる。誘導モーションによってユーザがロボット１００を見つめるタイミングにてユーザを撮像することにより、ユーザの顔を認識しやすい高品質なマスタ候補画像を取得できる。
【０１２４】
認識部１５６は、マスタ候補画像の品質を判定する（Ｓ１４）。以下、マスタ候補画像の品質判定のことを「品質検査」とよぶ。品質検査に合格したマスタ候補画像がマスタ画像として設定される。品質検査が不合格の場合には（Ｓ１４のＮ）、処理はＳ１０に戻り、マスタ候補画像を再取得する。このときには、別の種類の誘導モーションを実行してもよい。品質検査のために、あらかじめユーザの顔の大きさ、光量、表情などについて複数の評価項目が設定される。たとえば、ユーザが閉眼しているときや、マスタ候補画像が暗すぎるときや明るすぎるとき、マスタ候補画像の焦点が合っていないときには、品質検査は不合格となる。品質検査のためにどのような評価項目を設定するかは任意である。
【０１２５】
認識部１５６は、品質検査に合格したマスタ候補画像を正式なマスタ画像として採用する（Ｓ１４のＹ）。認識部１５６は、マスタ画像からマスタベクトルを抽出する（Ｓ１６）。通信部１４２は、マスタベクトルをサーバ２００に送信する（Ｓ１８）。
【０１２６】
人物認識部２１４は、新たに得られたマスタベクトルとマスタ情報２２４に既に登録されているマスタベクトルを比較する（Ｓ２０）。新たに得られたマスタベクトルが既に登録されているマスタベクトルの距離が近いときには（Ｓ２０のＹ）、マスタベクトルを追加登録する（Ｓ２２）。たとえば、ユーザ（０１）のマスタベクトル（０１）と類似のマスタベクトルが得られたときには、新たなマスタベクトルもユーザ（０１）に対応づける。登録されているいずれのマスタベクトルとも近くないときには（Ｓ２０のＮ）、新たなユーザＩＤとマスタＩＤを付与してマスタベクトルを新規登録する（Ｓ２４）。
【０１２７】
Ｓ２０においては登録済みのマスタベクトルと新規抽出のマスタベクトルを比較してもよいし、図１０に関連して説明したように登録済みの重心ベクトルと新規抽出のマスタベクトルを比較してもよい。
【０１２８】
マスタベクトルの抽出処理は、抱っこに限らず、ユーザがロボット１００にタッチしたことを契機として実行されてもよい。ユーザがロボット１００にタッチするときには、ユーザはロボット１００の近くにいるため良質なマスタ画像を得られる可能性がある。
【０１２９】
動作検出部１５２がロボット１００の抱え下ろしを検出するときにも、認識部１５６はマスタベクトルの抽出処理を実行する。動作検出部１５２は、抱え下ろしが検出されたとき、連続的にユーザを撮像する。認識部１５６はこのときに得られた複数のマスタ候補画像を順次品質検査し、複数のマスタベクトルを抽出する。抱え下ろしのときには、顎や腰、足などの身体的特徴を近距離にて撮像できる。
【０１３０】
ユーザがロボット１００を抱え上げたときに得られたマスタベクトルを「第１マスタベクトル」、ユーザがロボット１００を下ろすとき、または、下ろしたあとに得られるマスタベクトルを「第２マスタベクトル」とよぶ。認識部１５６は、ユーザ（０１）の第１マスタベクトルを得たあとは、抱え下ろしのときのマスタ画像から１以上の第２マスタベクトルも抽出する。このように高精度の第１マスタベクトルが得られたときには、抱え下ろしのときにも第２マスタベクトルを取得することにより、ユーザ（０１）のマスタベクトルを充実させることができる。ここでいう「第２マスタベクトル」は、ロボット１００が抱え下ろされたあとも、ユーザの後ろ姿も含めて、さまざまな距離や角度から得られるマスタベクトルも含まれる。第１マスタベクトルと第２マスタベクトルは、マスタ情報２２４に示したように一人のユーザについて互いに関連付けられる。
【０１３１】
図１２は、ユーザの画像追跡方法を示す模式図である。
ロボット１００が床面Ｆに降ろされたあとも、更に、撮像制御部１５４はカメラ１３４（全天球カメラ）によりユーザを追跡する。図１２に示す天球撮像範囲４１８は、全天球カメラによる撮像範囲である。全天球カメラは、ロボット１００の上方半球略全域を一度に撮像可能である。ロボット１００の認識部１５６は、第１マスタベクトルを抽出したあともユーザを所定期間、たとえば、１０秒程度は天球撮像範囲４１８において追跡する。撮像制御部１５４は、追跡中に、さまざまな角度、さまざまな距離からユーザのマスタ画像を撮像する。たとえば、髪の長さ、腰の細さなどはユーザから離れないと得られない情報である。認識部１５６は、追跡中に得られるマスタ画像からさまざまな第２マスタベクトルを抽出することにより、マスタベクトルを充実させる。これらの第２マスタベクトルは第１マスタベクトルと対応づけて管理される。天球撮像範囲４１８においてユーザを画像上で追跡するだけでなく、動作制御部１５０はユーザについていく、ユーザの周りを動き回るなどの追跡行動を実行させてもよい。そして、追跡行動中にも撮像制御部１５４はユーザを撮像することにより、マスタベクトルを充実させてもよい。追跡行動は、動作制御部１５０が指示してもよいし、サーバ２００の動作制御部２２２が動作制御部１５０に指示してもよい。
【０１３２】
図１３は、マスタベクトルを遠隔から抽出する方法を説明するための模式図である。
撮像制御部１５４は、抱っこやタッチだけではなく、ユーザがロボット１００に対して所定の相対地点に位置したときマスタ候補画像を撮像する。ここでいう相対地点とは、ユーザとロボット１００の距離および相対角度の双方を含む。測距部１５８は、天球撮像範囲４１８において認識された１以上のユーザに対して定期的に測距する。図１３においては、ロボット１００は、ユーザの正面方向に対して水平角ａ、ユーザの顔の位置に対して仰角ｂ、ユーザからの距離ｒの相対地点に位置している。ユーザの体の向きは認識部１５６が画像認識により判定する。撮像制御部１５４は、距離、水平角および仰角が所定範囲（以下、「マスタショット範囲」とよぶ）にあるとき、マスタ候補画像を撮像する。認識部１５６は、マスタ候補画像を品質検査し、合格であればマスタベクトルを抽出する。
【０１３３】
測距部１５８は、あらかじめ複数のマスタショット範囲を設定されている。測距部１５８は、ユーザがマスタショット範囲に入るごとに撮像制御部１５４に通知し、撮像制御部１５４はマスタ候補画像を取得する。たとえば、マスタショット範囲Ｒ１〜Ｒ３が定義されているとき、新規ユーザＣがマスタショット範囲Ｒ１に入ったときには、マスタショット範囲Ｒ１に対応するマスタ候補画像を取得する。このようにして、マスタショット範囲Ｒ１〜Ｒ３それぞれに対応するマスタベクトルを抽出する。ユーザＣを複数のマスタショット範囲、いいかえれば、複数の相対地点から多角的に撮像し、多方向からのマスタベクトルを取得することでユーザの身体的特徴を３次元的に把握できる。
【０１３４】
抱っこやタッチなどの接触時には至近距離からユーザを撮影できるため、ユーザの顔について良質な情報を得やすい。一方、抱っこやタッチがされていないときでも、測距部１５８が至近距離のユーザを検出したときには、撮像制御部１５４はマスタ候補画像を取得すればよい。たとえば、小さな子どもが抱っこやタッチに抵抗があっても、興味をもって近づいてきたときにはマスタベクトルを抽出できる。また、ユーザの髪の長さや体型に関する情報を得るためにはロボット１００はユーザからある程度は離れなければならない。さまざまなマスタショット範囲を設定することにより、ユーザの顔だけでなく体型まで含めた多様なマスタベクトルを取得できる。
【０１３５】
第１マスタベクトルは、ユーザを至近距離から撮像したマスタ画像に基づくため、ユーザを識別する上で有用な特徴ベクトルである。一方、第２マスタベクトルは、第１マスタベクトルほどユーザの身体的特徴がはっきりと現れないことも多い。そこで、抱っこやタッチをされたときのマスタ画像Ａから第１マスタベクトル（Ａ）を抽出したことを契機として、撮像制御部１５４は追跡モードに入る。追跡モードは所定時間継続するとしてもよい。撮像制御部１５４は、たとえば、抱え下ろしを検出したときにマスタ画像Ｂ１を取得する。このマスタ画像Ｂ１から第２マスタベクトル（Ｂ１）が抽出され、さきほど抽出された第１マスタベクトル（Ａ）に対応づけられる。抱え下ろしのあとも追跡モードは継続し、ユーザがマスタショット範囲に入るとマスタ画像Ｂ２を更に取得する。このマスタ画像Ｂ２から得られる第２マスタベクトル（Ｂ２）も、追跡モードの契機となった第１マスタベクトル（Ａ）に対応づけられる。このように、ユーザを確実に識別しやすい第１マスタベクトル（Ａ）に対して、その後に得られるさまざまな第２マスタベクトルが対応づけられる。「後ろ姿」のように特徴が現れにくい第２マスタベクトルであっても、その取得契機となった第１マスタベクトルと対応づけることで、一人のユーザに対応するマスタベクトル群を充実させることができる。
【０１３６】
以上、実施形態に基づいてロボット１００およびロボット１００を含むロボットシステム３００について説明した。
顔認識技術では、「正面を向いてください」「カメラを見つめてください」などの言語指示をユーザに与えた上で、マスタ画像を取得することが多い。このような音声や文字などの言語指示は、ユーザの負担になりやすい。また、マスタ画像を取得するための言語指示は、ロボット１００の非生物性をユーザに意識させてしまうという点でも望ましくない。本実施形態におけるロボット１００は、ユーザがロボット１００を抱っこしたタイミングで、さりげなくマスタ画像を取得できる。ロボット１００は、小さい、柔らかい、軽い、丸い、といった人間が触りたくなる形状を有する。ユーザになんらかの行動を強いるのではなく、ユーザが自然に「抱っこ」したタイミングを捉えて、高品質のマスタ画像を取得できる。抱っこやタッチをしたくなる気持ちを刺激するというロボット１００の特性を生かすことで、マスタ画像をさりげなく取得できる。
【０１３７】
ロボット１００は、更に、手１０６をばたつかせるなどの非言語の誘導モーションにより、ユーザの注意を喚起する。非言語コミュニケーション（non-verbal communication）によってユーザに注目させる方式であるため、ユーザは強制されている感覚をもちにくい。
【０１３８】
ロボット１００は、抱っこされたときにユーザを撮像し、第１マスタベクトルを取得する。更に、ロボット１００は、抱え下ろされるときや抱え下ろされたあともマスタ画像を撮像することにより、複数の第２マスタベクトルも取得できる。第１マスタベクトルを抽出したタイミングで第２マスタベクトルも蓄積することにより、ユーザの身体的特徴をより多面的に把握しやすくなる。
【０１３９】
本実施形態によれば、高品質かつ多数のマスタ画像に基づいて、ユーザ識別処理のための精緻な判別基準を確立しやすくなる。ユーザ識別処理は、応対行為の認識や親密度計算の前提となる。マスタベクトルに基づいて高精度にてユーザを識別することにより、ロボット１００はユーザに応じて行動特性を変化させることができる。
【０１４０】
なお、本発明は上記実施形態や変形例に限定されるものではなく、要旨を逸脱しない範囲で構成要素を変形して具体化することができる。上記実施形態や変形例に開示されている複数の構成要素を適宜組み合わせることにより種々の発明を形成してもよい。また、上記実施形態や変形例に示される全構成要素からいくつかの構成要素を削除してもよい。
【０１４１】
１つのロボット１００と１つのサーバ２００、複数の外部センサ１１４によりロボットシステム３００が構成されるとして説明したが、ロボット１００の機能の一部はサーバ２００により実現されてもよいし、サーバ２００の機能の一部または全部がロボット１００に割り当てられてもよい。１つのサーバ２００が複数のロボット１００をコントロールしてもよいし、複数のサーバ２００が協働して１以上のロボット１００をコントロールしてもよい。
【０１４２】
ロボット１００やサーバ２００以外の第３の装置が、機能の一部を担ってもよい。図６において説明したロボット１００の各機能とサーバ２００の各機能の集合体は大局的には１つの「ロボット」として把握することも可能である。１つまたは複数のハードウェアに対して、本発明を実現するために必要な複数の機能をどのように配分するかは、各ハードウェアの処理能力やロボットシステム３００に求められる仕様等に鑑みて決定されればよい。
【０１４３】
上述したように、「狭義におけるロボット」とはサーバ２００を含まないロボット１００のことであるが、「広義におけるロボット」はロボットシステム３００のことである。サーバ２００の機能の多くは、将来的にはロボット１００に統合されていく可能性も考えられる。
【０１４４】
マスタベクトルは、マスタ画像から抽出される特徴量以外の特徴量をベクトル成分として含んでもよい。たとえば、ニオイセンサで検出した匂いやマイクロフォンで検出した声質、温度センサで検出した体温をベクトル成分として含んでもよい。特に、抱っこのときにはユーザの匂いや体温などを高精度にて検出しやすい。マスタ画像は静止画ではなく動画（以下、「マスタ動画」とよぶ）であってもよい。認識部１５６は、マスタ動画からユーザの歩き方や貧乏ゆすりなどの癖を抽出し、これらの特徴情報をマスタベクトル成分に含めてもよい。
【０１４５】
本実施形態におけるカメラ１３４は、全天球カメラであるが、カメラ１３４は通常のカメラであってもよい。カメラ１３４はツノ１１２に内蔵されてもよいし、目１１０に内蔵されてもよい。また、全天球カメラと通常のカメラの双方が内蔵されてもよい。
【０１４６】
図８においては、重心ベクトルは複数のマスタベクトルの相加平均により形成されるが、変形例としては複数のマスタベクトルの中央値を重心ベクトルの成分としてもよい。たとえば、図８においてａ１＜ａ２＜ａ３であれば、重心ベクトルのａ成分はａ２としてもよい。
【０１４７】
マスタ候補画像の品質検査に際しては、複数の評価項目に重み付けがなされてもよい。評価項目としては、（Ｅ１）正面を向いているか（Ｅ２）光量は適切か（Ｅ３）目を開けているか、などが考えられる。各評価項目についてマスタ候補画像を採点し、それらの項目点を加重平均することでマスタ候補画像の品質を判定してもよい。たとえば、Ｅ１〜Ｅ３にｐ１，ｐ２，ｐ３の係数が設定され（ｐ１＋ｐ２＋ｐ３＝１）、Ｅ１〜Ｅ３の項目値がｓ１，ｓ２，ｓ３であれば、総合点はｐ１・ｓ１＋ｐ２・ｓ２＋ｐ３・ｓ３となる。総合点が所定の閾値以上であればマスタ画像として採択され、マスタベクトルはマスタ情報２２４に登録される。
【０１４８】
誘導モーションは、抱っこされたとき以外に実行されてもよい。ロボット１００とユーザの距離が所定範囲内にあるときに、動作制御部１５０は誘導モーションを実行してもよい。たとえば、図１３に示したマスタショット範囲にユーザがいるときに誘導モーションを実行した上で、マスタ候補画像を撮像してもよい。概括すれば、ロボット１００はユーザとさまざまな関わり方をする最中に、ユーザの身体的・行動的特徴を把握する上で有効な「シャッターチャンス」を逃すことなくマスタベクトルを抽出することにより、多様かつ高品質なマスタベクトルをユーザに意識させることなく集めることができる。また、誘導モーションによる非言語の働きかけにより、積極的に「シャッターチャンス」を作り出すこともできる。
【０１４９】
本実施形態における誘導モーションは、非言語コミュニケーションの一種である。ここでいう非言語モーションは動物の鳴き声のように言語としての意味をなさない音声を含んでもよい。変形例として、ロボット１００は簡単な言語によりユーザによびかけてもよい。
【０１５０】
ロボット１００は、ユーザに抱っこされたとき、正面顔、右顔、左顔の３つの顔画像をマスタ画像として取得してもよい。認識部１５６は、ユーザの耳や鼻を認識することにより、どの方向からユーザを見ているかを判定してもよい。内部センサ１２８のひとつとして、ロボット１００はジャイロスコープを搭載してもよい。認識部１５６はジャイロスコープにより、ユーザに抱っこされたときにロボット１００の傾き方向を検出し、それによりユーザをどの方向から見ているかを判定してもよい。
【０１５１】
図９および図１０に示した方法（以下、「距離判定法」とよぶ）のほか、マハラノビス距離（Mahalanobis' Distance）によりユーザ識別を実行してもよい。図１０において、人物認識部２１４は、複数のマスタベクトルが得られたときには、その分散値を考慮して、検査ベクトルＤＸとユーザＡのマスタベクトル・グループとのマハラノビス距離（Mahalanobis' Distance）を求める。同様にして、人物認識部２１４は、検査ベクトルＤＸとユーザＢのマスタベクトル・グループとのマハラノビス距離を求める。そして、それぞれのグループを対象としたマハラノビス距離に基づいて、既知の判別分析手法により未知ユーザＸがユーザＡまたはユーザＢのいずれであるかを判定してもよい（以下、「マハラノビス判定法」とよぶ）。
【０１５２】
人物認識部２１４は、各ユーザのマスタベクトル・グループを教師データとするニューラル・ネットワークを形成し、未知ユーザＸの検査ベクトルとマスタベクトルとの当てはまりのよさに基づいてユーザ識別を実行してもよい（以下、「ニューラル・ネットワーク判定法」とよぶ）。
【０１５３】
人物認識部２１４は、距離判定法、マハラノビス判定法、ニューラル・ネットワーク判定法のうち、複数を組み合わせてユーザを識別してもよい。また、検査ベクトルとマスタベクトルの比較だけでなく、登録ユーザのマスタベクトルと未知ユーザのマスタベクトルを比較するときにも、上述の各種方法により類似判定をしてもよい。
【０１５４】
本実施形態においては、撮像制御部１５４は抱っこやタッチなどのタイミングにてマスタ画像を取得するとして説明した。変形例として、撮像制御部１５４はユーザを定期的に撮像し、認識部１５６は多数の撮像画像をマスタ候補画像として取捨選択してもよい。たとえば、１０秒に１回のタイミングにてユーザを撮像し、認識部１５６はこれをマスタ候補画像として品質検査する。認識部１５６は合格したマスタ画像からマスタベクトルを抽出する。このような方法によれば、偶然得られた良質な撮像画像からもマスタベクトルを抽出できる。
【０１５５】
人物認識部２１４は、マスタベクトルの数が所定数以上となったとき、古いマスタベクトルを個人データ格納部２１８から削除してもよい。あるいは、古いマスタベクトル、たとえば、３年以上前に取得されたマスタベクトルを削除してもよい。このような制御方法によれば、個人データ格納部２１８のデータ量を抑制できるだけではなく、ユーザの加齢や成長にともなう身体的特徴の変化にも対応できる。
【０１５６】
本実施形態においてはロボット１００において特徴ベクトルを抽出し、サーバ２００において特徴ベクトルの比較を行うことでユーザ識別するとして説明した。変形例として、ロボット１００は、撮像画像をサーバ２００に送り、サーバ２００の人物認識部２１４が特徴ベクトルの抽出およびユーザ識別の双方を実行してもよい。あるいは、ロボット１００は、サーバ２００の処理能力に頼ることなく、認識部１５６においてユーザ識別処理を実行してもよい。この場合には、ロボット１００は各ユーザのマスタベクトルをロボット１００のデータ格納部１４８において管理してもよい。
【０１５７】
ロボット１００に内蔵されるカメラや各種センサに限らず、外部センサ１１４に内蔵されるセンサによりユーザの身体的・行動的特徴を抽出してもよい。外部センサ１１４はユーザが近くにいるときにユーザを撮像し、撮像画像をロボット１００に送信する。ロボット１００の認識部１５６は、この撮像画像の品質検査や成分抽出を実行してもよい。
【０１５８】
本実施形態においては、個人データ格納部２１８はマスタ画像ではなくマスタベクトルを保存するとして説明したが、マスタ画像とマスタベクトルの双方を保存してもよい。
【０１５９】
ロボットシステム３００は、工場出荷時からマスタベクトルによるユーザ識別機能を備える必要はない。たとえば、ロボットシステム３００は、ディープラーニングを応用したクラスタリング技術によりユーザ識別を行ってもよい。ロボットシステム３００の出荷後に、通信ネットワークを介してマスタベクトルによるユーザ識別機能を実現する行動制御プログラムをダウンロードすることにより、ロボットシステム３００の機能強化が実現されてもよい。
【０１６０】
上述したように、認識部１５６は、ロボット１００が抱え上げられたときの撮像画像をマスタ候補画像として選択する。認識部１５６は、サーマルカメラなどの温度センサによりユーザの顔の位置および向きを検出してもよいし、測距センサによりユーザとロボット１００の距離を検出してもよい。認識部１５６は、サーマルカメラによる温度情報および測距センサによる距離情報の双方または一方について所定の特定条件が成立したときの撮像画像をマスタ候補画像として選択してもよい。たとえば、認識部１５６は、サーマルカメラによりユーザがロボット１００に向かい合っていることが確認でき、かつ、測距センサによりユーザとロボット１００の距離が所定範囲内にあるときの撮像画像をマスタ候補画像として選択してもよい。このような制御方法によれば、適切なマスタ候補画像を複数種類のセンサに基づいて厳選しやすくなる。
【０１６１】
ロボット１００が搭載するカメラは全天球カメラであってもよい。ロボット１００がユーザに背中側から抱っこされたとき、いいかえれば、ロボット１００とユーザが正対していないときでも、ロボット１００は全天球カメラにより後方のユーザを撮影できる。したがって、ロボット１００が背中側から抱っこされているときでも、認識部１５６は適切なマスタ候補画像を取得可能となるため、マスタ候補画像の取得機会を拡大できる。あるいは、ロボット１００とユーザが正対していることを条件として、認識部１５６はマスタ候補画像を特定するとしてもよい。
【０１６２】
抱っこされたときの撮像画像に複数のユーザが映っているときには、認識部１５６はこの撮像画像をマスタ候補画像として選択しないとしてもよい。
【０１６３】
複数のユーザが含まれる撮像画像において登録ユーザＰ１が検出されたときには、認識部１５６は登録ユーザＰ１の特徴ベクトルをこの撮像画像から抽出し、これを登録ユーザＰ１の新たなマスタベクトルとして追加登録するとしてもよい。複数のユーザが含まれる撮像画像において登録ユーザが検出されなかったときには、いいかえれば、複数の未知ユーザのみが含まれる撮像画像が得られたときには、認識部１５６は、正面を向いているなど所定の条件を満たす未知ユーザＰ２について特徴ベクトルを抽出し、これを未知ユーザＰ２のマスタベクトルとして新規登録してもよい。
【０１６４】
認識部１５６は、撮影に際して、マイクロフォンによりユーザの声（音声情報）も取得してもよい。マスタベクトルは、画像情報に限らず、音声情報に基づく特徴ベクトルを含んでもよい。同様にして、認識部１５６は、撮影に際して、ニオイセンサによりユーザの匂い（嗅覚情報）を取得してもよい。このように登録ユーザを特定するための情報として、画像情報のほか、音声情報や嗅覚情報など多様なセンサ情報が含まれてもよい。
【０１６５】
ロボット１００は、複数のマイクロフォンを備えてもよい。音声登録に際しては、ユーザの存在する方向に対応するマイクロフォン、たとえば、ロボット１００の前方に取り付けられるマイクロフォンのみから音声を検出してもよい。認識部１５６は、他のマイクロフォンを無効にしてもよい。このような制御方法によれば、ユーザ以外の環境音がマスタベクトルに取り込まれにくくなる。マイクロフォン、特に、前方に取り付けられるマイクロフォンは指向性を有することが望ましい。
【０１６６】
撮像画像に映るユーザの口唇に動きを検出したときの音声情報であることを条件として、認識部１５６はユーザの音声情報をマスタベクトルの一部として取得するとしてもよい。未知ユーザを検出したとき、認識部１５６は未知ユーザに近づいて抱っこをせがむモーションを実行させてもよい。
【図１】
0006671577.tif 000002
【図２】
0006671577.tif 000003
【図３】
0006671577.tif 000004
【図４】
0006671577.tif 000005
【図５】
0006671577.tif 000006
【図６】
0006671577.tif 000007
【図７】
0006671577.tif 000008
【図８】
0006671577.tif 000009
【図９】
0006671577.tif 000010
【図１０】
0006671577.tif 000011
【図１１】
0006671577.tif 000012
【図１２】
0006671577.tif 000013
【図１３】
0006671577.tif 000014