特許第6494062号(P6494062)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ GROOVE X株式会社の特許一覧

特許6494062音源の方向を認識する自律行動型ロボット
<>
  • 特許6494062-音源の方向を認識する自律行動型ロボット 図000002
  • 特許6494062-音源の方向を認識する自律行動型ロボット 図000003
  • 特許6494062-音源の方向を認識する自律行動型ロボット 図000004
  • 特許6494062-音源の方向を認識する自律行動型ロボット 図000005
  • 特許6494062-音源の方向を認識する自律行動型ロボット 図000006
  • 特許6494062-音源の方向を認識する自律行動型ロボット 図000007
  • 特許6494062-音源の方向を認識する自律行動型ロボット 図000008
  • 特許6494062-音源の方向を認識する自律行動型ロボット 図000009
  • 特許6494062-音源の方向を認識する自律行動型ロボット 図000010
  • 特許6494062-音源の方向を認識する自律行動型ロボット 図000011
  • 特許6494062-音源の方向を認識する自律行動型ロボット 図000012
  • 特許6494062-音源の方向を認識する自律行動型ロボット 図000013
  • 特許6494062-音源の方向を認識する自律行動型ロボット 図000014
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6494062
(24)【登録日】2019年3月15日
(45)【発行日】2019年4月3日
(54)【発明の名称】音源の方向を認識する自律行動型ロボット
(51)【国際特許分類】
   H04R 3/00 20060101AFI20190325BHJP
   H04R 1/40 20060101ALI20190325BHJP
   G10L 25/51 20130101ALI20190325BHJP
   G10L 15/00 20130101ALI20190325BHJP
   B25J 13/08 20060101ALI20190325BHJP
【FI】
   H04R3/00 320
   H04R1/40 320A
   G10L25/51 400
   G10L15/00 200H
   B25J13/08 Z
【請求項の数】11
【全頁数】31
(21)【出願番号】特願2018-537177(P2018-537177)
(86)(22)【出願日】2017年8月23日
(86)【国際出願番号】JP2017030063
(87)【国際公開番号】WO2018043235
(87)【国際公開日】20180308
【審査請求日】2018年7月24日
(31)【優先権主張番号】特願2016-166976(P2016-166976)
(32)【優先日】2016年8月29日
(33)【優先権主張国】JP
【早期審査対象出願】
(73)【特許権者】
【識別番号】515337268
【氏名又は名称】GROOVE X株式会社
(74)【代理人】
【識別番号】110002273
【氏名又は名称】特許業務法人インターブレイン
(72)【発明者】
【氏名】林 要
【審査官】 須藤 竜也
(56)【参考文献】
【文献】 特開2006−123161(JP,A)
【文献】 特開2007−221300(JP,A)
【文献】 特開2006−181651(JP,A)
【文献】 特開2008−145574(JP,A)
【文献】 特開2004−298988(JP,A)
【文献】 特開2008−158868(JP,A)
【文献】 特開2006−212717(JP,A)
【文献】 特開2009−151314(JP,A)
【文献】 特開2003−266353(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04R 3/00
G10L 15/00
G10L 25/51
H04R 1/40
B25J 13/08
(57)【特許請求の範囲】
【請求項1】
ロボットのモーションを選択する動作制御部と、
前記動作制御部により選択されたモーションを実行する駆動機構と、
音源方向を検出するマイクロフォンアレイと、
ロボット周辺の略全域を同時に撮影可能な第1のカメラと、
前記マイクロフォンアレイにより検出された音源方向の画像において所定の特徴を有する発音体が検出されたとき、前記発音体を音源として特定する認識部と、を備え、
前記動作制御部は、前記マイクロフォンアレイにより複数の発音体が検出されたときには、それぞれの発音体に対応づけられる親密度に基づいて前記複数の発音体それぞれを対象としたリアクションの実行順位を決定することを特徴とする自律行動型ロボット。
【請求項2】
前記動作制御部は、前記複数の発音体のうち、最も親密度の高い発音体に対応するリアクションを最初の実行対象として選択することを特徴とする請求項1に記載の自律行動型ロボット。
【請求項3】
前記動作制御部は、音声が検出されるとき、音源方向にロボットの頭部を向けるモーションを選択することを特徴とする請求項1に記載の自律行動型ロボット。
【請求項4】
前記動作制御部は、画像において発音体を特定したときには、発音体にロボットの胴部を向けるモーションを選択することを特徴とする請求項1に記載の自律行動型ロボット。
【請求項5】
検出された音声を音声特徴に基づいて分類する音声分類部、を更に備え、
前記動作制御部は、検出された音声が所定の分類に属するときには、前記検出された音声に対する反応を示す所定のモーションを選択することを特徴とする請求項1に記載の自律行動型ロボット。
【請求項6】
前記認識部は、発音体の口唇動作を検出し、音声検出期間の画像において発音体の口唇動作が検出されたことを条件として、前記発音体を音源として認識することを特徴とする請求項1に記載の自律行動型ロボット。
【請求項7】
温度センサ、を更に備え、
前記認識部は、前記発音体が所定の温度範囲にあることを条件として、前記発音体を音源として認識することを特徴とする請求項1に記載の自律行動型ロボット。
【請求項8】
形状測定センサ、を更に備え、
前記認識部は、前記発音体が所定の形状を有することを条件として、前記発音体を音源として認識することを特徴とする請求項1に記載の自律行動型ロボット。
【請求項9】
前記認識部は、ロボットの頭部を音源方向に向けて画像から発音体をサーチしているときに特定ワードの発話が検出されたときには、他の音源方向を撮影した画像を対象として発音体をサーチすることを特徴とする請求項3に記載の自律行動型ロボット。
【請求項10】
ロボットの眼に表示させる瞳画像を変化させる瞳制御部、を更に備え、
瞳制御部は、前記瞳画像を音源方向に移動させることを特徴とする請求項1に記載の自律行動型ロボット。
【請求項11】
ロボットのモーションを選択する動作制御部と、
前記動作制御部により選択されたモーションを実行する駆動機構と、
音源方向を検出するマイクロフォンアレイと、
ロボット周辺の略全域を同時に撮影可能な第1のカメラと、
前記第1のカメラよりも高解像度にて特定方向を撮影可能な第2のカメラと、
前記マイクロフォンアレイにより検出された音源方向のうち、前記第1のカメラにより撮影された画像において所定の特徴を有する発音体が存在する方向を検出し、検出された方向を前記第2のカメラにより撮影し、前記第2のカメラによる画像に基づいて発音体を音源として特定する認識部と、を備えることを特徴とする自律行動型ロボット。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、内部状態または外部環境に応じて自律的に行動選択するロボット、に関する。
【背景技術】
【0002】
聴覚は、生物の基本感覚の一つである。聴覚において、音の3要素、すなわち、大きさ(音圧)、音色(周波数)、高さ(波形)を識別することによって音の種類を認識するだけでなく、音源方向を特定することも重要である。
【0003】
マイクロフォンアレイは、複数のマイクロフォンを搭載することにより、音源方向を特定可能なデバイスである。ある音源から音声が発生したとき、複数のマイクロフォンそれぞれが集音する。マイクロフォンの設置位置が異なるため、各マイクロフォンに対する音の到達タイミングに若干のばらつきが生じる。このタイミングのばらつき具合から、音源方向を特定する。ロボットの「耳」としてマイクロフォンアレイは期待されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−32782号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、マイクロフォンアレイは、音源から直接届く音と、壁などに反射して届く音を区別しにくい。人がロボットに話しかけたとき、声の一部は壁に反射してロボットに届くことがあるため、ロボットは複数方向に音源が存在するかのように錯覚してしまう可能性がある。
【0006】
本発明は上記課題認識に基づいて完成された発明であり、その主たる目的は、ロボットが音源方向をより正確に特定するための技術、を提供することにある。
【課題を解決するための手段】
【0007】
本発明のある態様における自律行動型ロボットは、ロボットのモーションを選択する動作制御部と、動作制御部により選択されたモーションを実行する駆動機構と、音源方向を検出するマイクロフォンアレイと、マイクロフォンアレイにより検出された音源方向の画像において所定の特徴を有する発音体が検出されたとき、発音体を音源として特定する認識部と、を備える。
認識部は、マイクロフォンアレイにより複数の音源方向が検出されたとき、それぞれの音源方向が撮影された画像から発音体をサーチする。
【0008】
本発明の別の態様における自律行動型ロボットは、ロボットのモーションを選択する動作制御部と、動作制御部により選択されたモーションを実行する駆動機構と、音源の方向を検出するマイクロフォンアレイと、空間の温度分布を検出する温度センサと、マイクロフォンアレイにより検出された音源方向において発熱体が検出されたとき、発熱体を音源として特定する認識部と、を備える。
認識部は、マイクロフォンアレイにより複数の音源方向が検出されたとき、それぞれの音源方向の温度分布に基づいて発熱体をサーチする。
【0009】
本発明の別の態様における自律行動型ロボットは、ロボットのモーションを選択する動作制御部と、動作制御部により選択されたモーションを実行する駆動機構と、周囲の音を検出するマイクロフォンと、周囲を継続的に撮影することにより、所定の特徴を有する物体をトラッキングする認識部と、を備える。
認識部は、マイクロフォンにより検出された音の特徴に対応づけられる物体を特定し、動作制御部は、物体の方向にロボットの頭部を向けるモーションを選択する。
【0010】
本発明のある態様における行動制御プログラムは、マイクロフォンアレイにより音源方向を検出する機能と、検出された音源方向を撮影し画像を取得する機能と、画像において所定の特徴を有する発音体が検出されたとき、発音体を音源として特定する機能と、をコンピュータに発揮させる。
【0011】
本発明の別の態様における行動制御プログラムは、マイクロフォンアレイにより音源方向を検出する機能と、マイクロフォンアレイにより特定される音源方向において発熱体が検出されたとき、発熱体を音源として特定する機能と、特定された音源の方向にロボットの頭部を向けさせる機能と、をコンピュータに発揮させる。
【0012】
本発明の別の態様における行動制御プログラムは、周辺を継続的に撮影することにより、所定の特徴を有する物体をトラッキングする機能と、音を検出する機能と、トラッキング対象の1以上の物体のうち、検出された音の特徴に対応づけられた物体を音源として特定する機能と、をコンピュータに発揮させる。
【発明の効果】
【0013】
本発明によれば、ロボットが音源方向を正確に特定しやすくなる。
【図面の簡単な説明】
【0014】
図1(a)】ロボットの正面外観図である。
図1(b)】ロボットの側面外観図である。
図2】ロボットの構造を概略的に表す断面図である。
図3】ロボットシステムの構成図である。
図4】感情マップの概念図である。
図5】ロボットのハードウェア構成図である。
図6】ロボットシステムの機能ブロック図である。
図7】マイクロフォンアレイの計測原理を示す模式図である。
図8】本実施形態における音源特定方法を示す模式図である。
図9】周波数帯域と音の種類の関係を示す模式図である。
図10】本実施形態において、音を検出したときの処理過程を示すフローチャートである。
図11】音を検出したときの処理過程を示すフローチャート(変形例1)である。
図12】音を検出したときの処理過程を示すフローチャート(変形例2)である。
図13】眼画像の外観図である。
【発明を実施するための形態】
【0015】
図1(a)は、ロボット100の正面外観図である。図1(b)は、ロボット100の側面外観図である。
本実施形態におけるロボット100は、外部環境および内部状態に基づいて行動や仕草(ジェスチャー)を決定する自律行動型のロボットである。外部環境は、カメラやサーモセンサなど各種のセンサにより認識される。内部状態はロボット100の感情を表現するさまざまなパラメータとして定量化される。これらについては後述する。
【0016】
ロボット100は、屋内行動が前提とされており、たとえば、オーナー家庭の家屋内を行動範囲とする。以下、ロボット100に関わる人間を「ユーザ」とよび、ロボット100が所属する家庭の構成員となるユーザのことを「オーナー」とよぶ。
【0017】
ロボット100のボディ104は、全体的に丸みを帯びた形状を有し、ウレタンやゴム、樹脂、繊維などやわらかく弾力性のある素材により形成された外皮を含む。ロボット100に服を着せてもよい。丸くてやわらかく、手触りのよいボディ104とすることで、ロボット100はユーザに安心感とともに心地よい触感を提供する。
【0018】
ロボット100は、総重量が15キログラム以下、好ましくは10キログラム以下、更に好ましくは、5キログラム以下である。生後13ヶ月までに、赤ちゃんの過半数は一人歩きを始める。生後13ヶ月の赤ちゃんの平均体重は、男児が9キログラム強、女児が9キログラム弱である。このため、ロボット100の総重量が10キログラム以下であれば、ユーザは一人歩きできない赤ちゃんを抱きかかえるのとほぼ同等の労力でロボット100を抱きかかえることができる。生後2ヶ月未満の赤ちゃんの平均体重は男女ともに5キログラム未満である。したがって、ロボット100の総重量が5キログラム以下であれば、ユーザは乳児を抱っこするのと同等の労力でロボット100を抱っこできる。
【0019】
適度な重さと丸み、柔らかさ、手触りのよさ、といった諸属性により、ユーザがロボット100を抱きかかえやすく、かつ、抱きかかえたくなるという効果が実現される。同様の理由から、ロボット100の身長は1.2メートル以下、好ましくは、0.7メートル以下であることが望ましい。本実施形態におけるロボット100にとって、抱きかかえることができるというのは重要なコンセプトである。
【0020】
ロボット100は、3輪走行するための3つの車輪を備える。図示のように、一対の前輪102(左輪102a,右輪102b)と、一つの後輪103を含む。前輪102が駆動輪であり、後輪103が従動輪である。前輪102は、操舵機構を有しないが、回転速度や回転方向を個別に制御可能とされている。後輪103は、いわゆるオムニホイールからなり、ロボット100を前後左右へ移動させるために回転自在となっている。左輪102aよりも右輪102bの回転数を大きくすることで、ロボット100は左折したり、左回りに回転できる。右輪102bよりも左輪102aの回転数を大きくすることで、ロボット100は右折したり、右回りに回転できる。
【0021】
前輪102および後輪103は、駆動機構(回動機構、リンク機構)によりボディ104に完全収納できる。走行時においても各車輪の大部分はボディ104に隠れているが、各車輪がボディ104に完全収納されるとロボット100は移動不可能な状態となる。すなわち、車輪の収納動作にともなってボディ104が降下し、床面Fに着座する。この着座状態においては、ボディ104の底部に形成された平坦状の着座面108(接地底面)が床面Fに当接する。
【0022】
ロボット100は、2つの手106を有する。手106には、モノを把持する機能はない。手106は上げる、振る、振動するなど簡単な動作が可能である。2つの手106も個別制御可能である。
【0023】
目110には高解像度カメラ402が内蔵される。目110は、液晶素子または有機EL素子による画像表示も可能である。ロボット100は、スピーカーを内蔵し、簡単な音声を発することもできる。
ロボット100の頭部にはツノ112が取り付けられる。上述のようにロボット100は軽量であるため、ユーザはツノ112をつかむことでロボット100を持ち上げることも可能である。
【0024】
本実施形態におけるロボット100は、ツノ112に全天球カメラ400(第1のカメラ)が内蔵される。全天球カメラ400は、魚眼レンズにより上下左右全方位(360度:特に、ロボット100の上方略全域)を一度に撮影できる(図8参照)。目110に内蔵される高解像度カメラ402(第2のカメラ)は、ロボット100の正面方向のみを撮影できる。全天球カメラ400は撮影範囲が広いが高解像度カメラ402よりは解像度が低い。
【0025】
このほか、ロボット100は、周辺温度分布を画像化する温度センサ(サーモセンサ)、複数のマイクロフォンを有するマイクロフォンアレイ、計測対象の形状を測定可能な形状測定センサ(深度センサ)、超音波センサなどさまざまなセンサを内蔵する。
【0026】
図2は、ロボット100の構造を概略的に表す断面図である。
図2に示すように、ロボット100のボディ104は、ベースフレーム308、本体フレーム310、一対の樹脂製のホイールカバー312および外皮314を含む。ベースフレーム308は、金属からなり、ボディ104の軸芯を構成するとともに内部機構を支持する。ベースフレーム308は、アッパープレート332とロアプレート334とを複数のサイドプレート336により上下に連結して構成される。複数のサイドプレート336間には通気が可能となるよう、十分な間隔が設けられる。ベースフレーム308の内方には、バッテリー118、制御回路342および各種アクチュエータが収容されている。
【0027】
本体フレーム310は、樹脂材からなり、頭部フレーム316および胴部フレーム318を含む。頭部フレーム316は、中空半球状をなし、ロボット100の頭部骨格を形成する。胴部フレーム318は、段付筒形状をなし、ロボット100の胴部骨格を形成する。胴部フレーム318は、ベースフレーム308と一体に固定される。頭部フレーム316は、胴部フレーム318の上端部に相対変位可能に組み付けられる。
【0028】
頭部フレーム316には、ヨー軸320、ピッチ軸322およびロール軸324の3軸と、各軸を回転駆動するためのアクチュエータ326が設けられる。アクチュエータ326は、各軸を個別に駆動するための複数のサーボモータを含む。首振り動作のためにヨー軸320が駆動され、頷き動作のためにピッチ軸322が駆動され、首を傾げる動作のためにロール軸324が駆動される。
【0029】
頭部フレーム316の上部には、ヨー軸320を支持するプレート325が固定されている。プレート325には、上下間の通気を確保するための複数の通気孔327が形成される。
【0030】
頭部フレーム316およびその内部機構を下方から支持するように、金属製のベースプレート328が設けられる。ベースプレート328は、クロスリンク機構329(パンタグラフ機構)を介してプレート325と連結される一方、ジョイント330を介してアッパープレート332(ベースフレーム308)と連結されている。
【0031】
胴部フレーム318は、ベースフレーム308と車輪駆動機構370を収容する。車輪駆動機構370は、回動軸378およびアクチュエータ379を含む。胴部フレーム318の下半部は、ホイールカバー312との間に前輪102の収納スペースSを形成するために小幅とされている。
【0032】
外皮314は、ウレタンゴムからなり、本体フレーム310およびホイールカバー312を外側から覆う。手106は、外皮314と一体成形される。外皮314の上端部には、外気を導入するための開口部390が設けられる。
【0033】
図3は、ロボットシステム300の構成図である。
ロボットシステム300は、ロボット100、サーバ200および複数の外部センサ114を含む。家屋内にはあらかじめ複数の外部センサ114(外部センサ114a、114b、・・・、114n)が設置される。外部センサ114は、家屋の壁面に固定されてもよいし、床に載置されてもよい。サーバ200には、外部センサ114の位置座標が登録される。位置座標は、ロボット100の行動範囲として想定される家屋内においてx,y座標として定義される。
【0034】
サーバ200は、家庭内に設置される。本実施形態におけるサーバ200とロボット100は1対1で対応する。ロボット100の内蔵するセンサおよび複数の外部センサ114から得られる情報に基づいて、サーバ200がロボット100の基本行動を決定する。
外部センサ114はロボット100の感覚器を補強するためのものであり、サーバ200はロボット100の頭脳を補強するためのものである。
【0035】
外部センサ114は、定期的に外部センサ114のID(以下、「ビーコンID」とよぶ)を含む無線信号(以下、「ロボット探索信号」とよぶ)を送信する。ロボット100はロボット探索信号を受信するとビーコンIDを含む無線信号(以下、「ロボット返答信号」とよぶ)を返信する。サーバ200は、外部センサ114がロボット探索信号を送信してからロボット返答信号を受信するまでの時間を計測し、外部センサ114からロボット100までの距離を測定する。複数の外部センサ114とロボット100とのそれぞれの距離を計測することで、ロボット100の位置座標を特定する。
もちろん、ロボット100が自らの位置座標を定期的にサーバ200に送信する方式でもよい。
【0036】
図4は、感情マップ116の概念図である。
感情マップ116は、サーバ200に格納されるデータテーブルである。ロボット100は、感情マップ116にしたがって行動選択する。図4に示す感情マップ116は、ロボット100の場所に対する好悪感情の大きさを示す。感情マップ116のx軸とy軸は、二次元空間座標を示す。z軸は、好悪感情の大きさを示す。z値が正値のときにはその場所に対する好感が高く、z値が負値のときにはその場所を嫌悪していることを示す。
【0037】
図4の感情マップ116において、座標P1は、ロボット100の行動範囲としてサーバ200が管理する屋内空間のうち好感情が高い地点(以下、「好意地点」とよぶ)である。好意地点は、ソファの陰やテーブルの下などの「安全な場所」であってもよいし、リビングのように人が集まりやすい場所、賑やかな場所であってもよい。また、過去にやさしく撫でられたり、触れられたりした場所であってもよい。
ロボット100がどのような場所を好むかという定義は任意であるが、一般的には、小さな子どもや犬や猫などの小動物が好む場所を好意地点として設定することが望ましい。
【0038】
座標P2は、悪感情が高い地点(以下、「嫌悪地点」とよぶ)である。嫌悪地点は、テレビの近くなど大きな音がする場所、お風呂や洗面所のように濡れやすい場所、閉鎖空間や暗い場所、ユーザから乱暴に扱われたことがある不快な記憶に結びつく場所などであってもよい。
ロボット100がどのような場所を嫌うかという定義も任意であるが、一般的には、小さな子どもや犬や猫などの小動物が怖がる場所を嫌悪地点として設定することが望ましい。
【0039】
座標Qは、ロボット100の現在位置を示す。複数の外部センサ114が定期的に送信するロボット探索信号とそれに対するロボット返答信号により、サーバ200はロボット100の位置座標を特定する。たとえば、ビーコンID=1の外部センサ114とビーコンID=2の外部センサ114がそれぞれロボット100を検出したとき、2つの外部センサ114からロボット100の距離を求め、そこからロボット100の位置座標を求める。
【0040】
あるいは、ビーコンID=1の外部センサ114は、ロボット探索信号を複数方向に送信し、ロボット100はロボット探索信号を受信したときロボット返答信号を返す。これにより、サーバ200は、ロボット100がどの外部センサ114からどの方向のどのくらいの距離にいるかを把握してもよい。また、別の実施の形態では、前輪102または後輪103の回転数からロボット100の移動距離を算出して、現在位置を特定してもよいし、カメラから得られる画像に基づいて現在位置を特定してもよい。
図4に示す感情マップ116が与えられた場合、ロボット100は好意地点(座標P1)に引き寄せられる方向、嫌悪地点(座標P2)から離れる方向に移動する。
【0041】
感情マップ116は動的に変化する。ロボット100が座標P1に到達すると、座標P1におけるz値(好感情)は時間とともに低下する。これにより、ロボット100は好意地点(座標P1)に到達して、「感情が満たされ」、やがて、その場所に「飽きてくる」という生物的行動をエミュレートできる。同様に、座標P2における悪感情も時間とともに緩和される。時間経過とともに新たな好意地点や嫌悪地点が生まれ、それによってロボット100は新たな行動選択を行う。ロボット100は、新しい好意地点に「興味」を持ち、絶え間なく行動選択する。
【0042】
感情マップ116は、ロボット100の内部状態として、感情の起伏を表現する。ロボット100は、好意地点を目指し、嫌悪地点を避け、好意地点にしばらくとどまり、やがてまた次の行動を起こす。このような制御により、ロボット100の行動選択を人間的・生物的なものにできる。
【0043】
なお、ロボット100の行動に影響を与えるマップ(以下、「行動マップ」と総称する)は、図4に示したようなタイプの感情マップ116に限らない。たとえば、好奇心、恐怖を避ける気持ち、安心を求める気持ち、静けさや薄暗さ、涼しさや暖かさといった肉体的安楽を求める気持ち、などさまざまな行動マップを定義可能である。そして、複数の行動マップそれぞれのz値を重み付け平均することにより、ロボット100の目的地点を決定してもよい。
【0044】
ロボット100は、行動マップとは別に、さまざまな感情や感覚の大きさを示すパラメータを有してもよい。たとえば、寂しさという感情パラメータの値が高まっているときには、安心する場所を評価する行動マップの重み付け係数を大きく設定し、目標地点に到達することでこの感情パラメータの値を低下させてもよい。同様に、つまらないという感覚を示すパラメータの値が高まっているときには、好奇心を満たす場所を評価する行動マップの重み付け係数を大きく設定すればよい。
【0045】
図5は、ロボット100のハードウェア構成図である。
ロボット100は、内部センサ128、通信機126、記憶装置124、プロセッサ122、駆動機構120およびバッテリー118を含む。駆動機構120は、上述した車輪駆動機構370を含む。プロセッサ122と記憶装置124は、制御回路342に含まれる。各ユニットは電源線130および信号線132により互いに接続される。バッテリー118は、電源線130を介して各ユニットに電力を供給する。各ユニットは信号線132により制御信号を送受する。バッテリー118は、リチウムイオン二次電池であり、ロボット100の動力源である。
【0046】
内部センサ128は、ロボット100が内蔵する各種センサの集合体である。具体的には、カメラ410(全天球カメラ400と高解像度カメラ402)、マイクロフォンアレイ404、温度センサ406、形状測定センサ408のほか、赤外線センサ、タッチセンサ、加速度センサ、ニオイセンサなどである。ニオイセンサは、匂いの元となる分子の吸着によって電気抵抗が変化する原理を応用した既知のセンサである。ニオイセンサは、さまざまな匂いを複数種類のカテゴリ(以下、「ニオイカテゴリ」とよぶ)に分類する。
【0047】
通信機126は、サーバ200や外部センサ114、ユーザの有する携帯機器など各種の外部機器を対象として無線通信を行う通信モジュールである。記憶装置124は、不揮発性メモリおよび揮発性メモリにより構成され、コンピュータプログラムや各種設定情報を記憶する。プロセッサ122は、コンピュータプログラムの実行手段である。駆動機構120は、内部機構を制御するアクチュエータである。このほかには、表示器やスピーカーなども搭載される。
【0048】
プロセッサ122は、通信機126を介してサーバ200や外部センサ114と通信しながら、ロボット100の行動選択を行う。内部センサ128により得られるさまざまな外部情報も行動選択に影響する。駆動機構120は、主として、車輪(前輪102)と頭部(頭部フレーム316)を制御する。駆動機構120は、2つの前輪102それぞれの回転速度や回転方向を変化させることにより、ロボット100の移動方向や移動速度を変化させる。また、駆動機構120は、車輪(前輪102および後輪103)を昇降させることもできる。車輪が上昇すると、車輪はボディ104に完全に収納され、ロボット100は着座面108にて床面Fに当接し、着座状態となる。
【0049】
駆動機構120がワイヤ134を介して手106を引っ張ることにより、手106を持ち上げることができる。手106を振動させることで手を振るような仕草も可能である。多数のワイヤ134を利用すればさらに複雑な仕草も表現可能である。
【0050】
図6は、ロボットシステム300の機能ブロック図である。
上述のように、ロボットシステム300は、ロボット100、サーバ200および複数の外部センサ114を含む。ロボット100およびサーバ200の各構成要素は、CPU(Central Processing Unit)および各種コプロセッサなどの演算器、メモリやストレージといった記憶装置、それらを連結する有線または無線の通信線を含むハードウェアと、記憶装置に格納され、演算器に処理命令を供給するソフトウェアによって実現される。コンピュータプログラムは、デバイスドライバ、オペレーティングシステム、それらの上位層に位置する各種アプリケーションプログラム、また、これらのプログラムに共通機能を提供するライブラリによって構成されてもよい。以下に説明する各ブロックは、ハードウェア単位の構成ではなく、機能単位のブロックを示している。
ロボット100の機能の一部はサーバ200により実現されてもよいし、サーバ200の機能の一部または全部はロボット100により実現されてもよい。
【0051】
(サーバ200)
サーバ200は、通信部204、データ処理部202およびデータ格納部206を含む。
通信部204は、外部センサ114およびロボット100との通信処理を担当する。データ格納部206は各種データを格納する。データ処理部202は、通信部204により取得されたデータおよびデータ格納部206に格納されるデータに基づいて各種処理を実行する。データ処理部202は、通信部204およびデータ格納部206のインタフェースとしても機能する。
【0052】
データ格納部206は、モーション格納部232、マップ格納部216および個人データ格納部218を含む。
ロボット100は、複数の動作パターン(モーション)を有する。手を震わせる、蛇行しながらオーナーに近づく、首をかしげたままオーナーを見つめる、などさまざまなモーションが定義される。
【0053】
モーション格納部232は、モーションの制御内容を定義する「モーションファイル」を格納する。各モーションは、モーションIDにより識別される。モーションファイルは、ロボット100のモーション格納部160にもダウンロードされる。どのモーションを実行するかは、サーバ200で決定されることもあるし、ロボット100で決定されることもある。
【0054】
ロボット100のモーションの多くは、複数の単位モーションを含む複合モーションとして構成される。たとえば、ロボット100がオーナーに近づくとき、オーナーの方に向き直る単位モーション、手を上げながら近づく単位モーション、体を揺すりながら近づく単位モーション、両手を上げながら着座する単位モーションの組み合わせとして表現されてもよい。このような4つのモーションの組み合わせにより、「オーナーに近づいて、途中で手を上げて、最後は体をゆすった上で着座する」というモーションが実現される。モーションファイルには、ロボット100に設けられたアクチュエータの回転角度や角速度などが時間軸に関連づけて定義される。モーションファイル(アクチュエータ制御情報)にしたがって、時間経過とともに各アクチュエータを制御することで様々なモーションが表現される。
【0055】
先の単位モーションから次の単位モーションに変化するときの移行時間を「インターバル」とよぶ。インターバルは、単位モーション変更に要する時間やモーションの内容に応じて定義されればよい。インターバルの長さは調整可能である。
以下、いつ、どのモーションを選ぶか、モーションを実現する上での各アクチュエータの出力調整など、ロボット100の行動制御にかかわる設定のことを「行動特性」と総称する。ロボット100の行動特性は、モーション選択アルゴリズム、モーションの選択確率、モーションファイル等により定義される。
【0056】
マップ格納部216は、複数の行動マップを格納する。個人データ格納部218は、ユーザ、特に、オーナーの情報を格納する。具体的には、ユーザに対する親密度やユーザの身体的特徴・行動的特徴など各種のパラメータを格納する。年齢や性別などの他の属性情報を格納してもよい。
【0057】
ロボット100はユーザの身体的特徴や行動的特徴に基づいてユーザを識別する。ロボット100は、内蔵のカメラで常時周辺を撮像する。そして、画像に写る人物の身体的特徴と行動的特徴を抽出する。身体的特徴とは、背の高さ、好んで着る服、メガネの有無、肌の色、髪の色、耳の大きさなど身体に付随する視覚的特徴であってもよいし、平均体温や匂い、声質、などその他の特徴も含めてもよい。行動的特徴とは、具体的には、ユーザが好む場所、動きの活発さ、喫煙の有無など行動に付随する特徴である。たとえば、父親として識別されるオーナーは在宅しないことが多く、在宅時にはソファで動かないことが多いが、母親は台所にいることが多く、行動範囲が広い、といった行動上の特徴を抽出する。
ロボット100は、大量の画像情報やその他のセンシング情報から得られる身体的特徴および行動的特徴に基づいて、高い頻度で出現するユーザを「オーナー」としてクラスタリングする。
【0058】
ユーザIDでユーザを識別する方式は簡易かつ確実であるが、ユーザがユーザIDを提供可能な機器を保有していることが前提となる。一方、身体的特徴や行動的特徴によりユーザを識別する方法は画像認識処理負担が大きいものの携帯機器を保有していないユーザでも識別できるメリットがある。2つの方法は一方だけを採用してもよいし、補完的に2つの方法を併用してユーザ特定を行ってもよい。
本実施形態においては、身体的特徴と行動的特徴からユーザをクラスタリングし、ディープラーニング(多層型のニューラルネットワーク)によってユーザを識別する。詳細は後述する。
【0059】
ロボット100は、ユーザごとに親密度という内部パラメータを有する。ロボット100が、自分を抱き上げる、声をかけてくれるなど、自分に対して好意を示す行動を認識したとき、そのユーザに対する親密度が高くなる。ロボット100に関わらないユーザや、乱暴を働くユーザ、出会う頻度が低いユーザに対する親密度は低くなる。
【0060】
データ処理部202は、位置管理部208、マップ管理部210、認識部212、動作制御部222および親密度管理部220を含む。
位置管理部208は、ロボット100の位置座標を、図3を用いて説明した方法にて特定する。位置管理部208はユーザの位置座標もリアルタイムで追跡してもよい。
【0061】
マップ管理部210は、複数の行動マップについて図4に関連して説明した方法にて各座標のパラメータを変化させる。マップ管理部210は、複数の行動マップのいずれかを選択してもよいし、複数の行動マップのz値を加重平均してもよい。たとえば、行動マップAでは座標R1、座標R2におけるz値が4と3であり、行動マップBでは座標R1、座標R2におけるz値が−1と3であるとする。単純平均の場合、座標R1の合計z値は4−1=3、座標R2の合計z値は3+3=6であるから、ロボット100は座標R1ではなく座標R2の方向に向かう。
行動マップAを行動マップBの5倍重視するときには、座標R1の合計z値は4×5−1=19、座標R2の合計z値は3×5+3=18であるから、ロボット100は座標R1の方向に向かう。
【0062】
認識部212は、外部環境を認識する。外部環境の認識には、温度や湿度に基づく天候や季節の認識、光量や温度に基づく物陰(安全地帯)の認識など多様な認識が含まれる。認識部212は、更に、人物認識部214と応対認識部228を含む。人物認識部214は、ロボット100の内蔵カメラにより撮影された画像から人物を認識し、その人物の身体的特徴や行動的特徴を抽出する。そして、個人データ格納部218に登録されている身体特徴情報や行動特徴情報に基づいて、撮影されたユーザ、すなわち、ロボット100が見ているユーザが、父親、母親、長男などのどの人物に該当するかを判定する。人物認識部214は、表情認識部230を含む。表情認識部230は、ユーザの表情を画像認識することにより、ユーザの感情を推定する。
なお、人物認識部214は、人物以外の移動物体、たとえば、ペットである猫や犬についても特徴抽出を行う。
【0063】
応対認識部228は、ロボット100になされたさまざまな応対行為を認識し、快・不快行為に分類する。応対認識部228は、また、ロボット100の行動に対するオーナーの応対行為を認識することにより、肯定・否定反応に分類する。
快・不快行為は、ユーザの応対行為が、生物として心地よいものであるか不快なものであるかにより判別される。たとえば、抱っこされることはロボット100にとって快行為であり、蹴られることはロボット100にとって不快行為である。肯定・否定反応は、ユーザの応対行為が、ユーザの快感情を示すものか不快感情を示すものであるかにより判別される。たとえば、抱っこされることはユーザの快感情を示す肯定反応であり、蹴られることはユーザの不快感情を示す否定反応である。
【0064】
サーバ200の動作制御部222は、ロボット100の動作制御部150と協働して、ロボット100のモーションを決定する。サーバ200の動作制御部222は、マップ管理部210による行動マップ選択に基づいて、ロボット100の移動目標地点とそのための移動ルートを作成する。動作制御部222は、複数の移動ルートを作成し、その上で、いずれかの移動ルートを選択してもよい。
【0065】
動作制御部222は、モーション格納部232の複数のモーションからロボット100のモーションを選択する。各モーションには状況ごとに選択確率が対応づけられている。たとえば、オーナーから快行為がなされたときには、モーションAを20%の確率で実行する、気温が30度以上となったとき、モーションBを5%の確率で実行する、といった選択方法が定義される。
行動マップに移動目標地点や移動ルートが決定され、後述の各種イベントによりモーションが選択される。
【0066】
親密度管理部220は、ユーザごとの親密度を管理する。上述したように、親密度は個人データ格納部218において個人データの一部として登録される。快行為を検出したとき、親密度管理部220はそのオーナーに対する親密度をアップさせる。不快行為を検出したときには親密度はダウンする。また、長期間視認していないオーナーの親密度は徐々に低下する。
【0067】
(ロボット100)
ロボット100は、内部センサ128、通信部142、データ処理部136、データ格納部148および駆動機構120を含む。
内部センサ128は、各種センサの集合体である。内部センサ128は、マイクロフォンアレイ404、カメラ410、温度センサ406および形状測定センサ408を含む。マイクロフォンアレイ404は、複数のマイクロフォンをつなぎ合わせたユニットであり、音を検出する音声センサである。カメラ410は外部を撮影するデバイスである。マイクロフォンアレイ404は、音を検出し、音源の方向を検出可能なデバイスであればよい。カメラ410は、全天球カメラ400と高解像度カメラ402を含む。温度センサ406は、外部環境の温度分布を検出し、画像化する。形状測定センサ408は、プロジェクタから近赤外線を照射し、近赤外線カメラにて近赤外線の反射光を検出することにより、対象物体の深度、ひいては、凹凸形状を読み取る赤外線深度センサである。
【0068】
通信部142は、通信機126(図5参照)に該当し、外部センサ114およびサーバ200との通信処理を担当する。データ格納部148は各種データを格納する。データ格納部148は、記憶装置124(図5参照)に該当する。データ処理部136は、通信部142により取得されたデータおよびデータ格納部148に格納されているデータに基づいて各種処理を実行する。データ処理部136は、プロセッサ122およびプロセッサ122により実行されるコンピュータプログラムに該当する。データ処理部136は、通信部142、内部センサ128、駆動機構120およびデータ格納部148のインタフェースとしても機能する。
【0069】
データ格納部148は、ロボット100の各種モーションを定義するモーション格納部160を含む。
ロボット100のモーション格納部160には、サーバ200のモーション格納部232から各種モーションファイルがダウンロードされる。モーションは、モーションIDによって識別される。前輪102を収容して着座する、手106を持ち上げる、2つの前輪102を逆回転させることで、あるいは、片方の前輪102だけを回転させることでロボット100を回転行動させる、前輪102を収納した状態で前輪102を回転させることで震える、ユーザから離れるときにいったん停止して振り返る、などのさまざまなモーションを表現するために、各種アクチュエータ(駆動機構120)の動作タイミング、動作時間、動作方向などがモーションファイルにおいて時系列定義される。
【0070】
データ処理部136は、認識部156、動作制御部150、センサ制御部172および音声分類部174を含む。
ロボット100の動作制御部150は、サーバ200の動作制御部222と協働してロボット100のモーションを決める。一部のモーションについてはサーバ200で決定し、他のモーションについてはロボット100で決定してもよい。また、ロボット100がモーションを決定するが、ロボット100の処理負荷が高いときにはサーバ200がモーションを決定するとしてもよい。サーバ200においてベースとなるモーションを決定し、ロボット100において追加のモーションを決定してもよい。モーションの決定処理をサーバ200およびロボット100においてどのように分担するかはロボットシステム300の仕様に応じて設計すればよい。
【0071】
ロボット100の動作制御部150は、サーバ200の動作制御部222とともにロボット100の移動方向を決める。行動マップに基づく移動をサーバ200で決定し、障害物をよけるなどの即時的移動をロボット100の動作制御部150により決定してもよい。駆動機構120は、動作制御部150の指示にしたがって前輪102を駆動することで、ロボット100を移動目標地点に向かわせる。
【0072】
ロボット100の動作制御部150は選択したモーションを駆動機構120に実行指示する。駆動機構120は、モーションファイルにしたがって、各アクチュエータを制御する。
【0073】
動作制御部150は、親密度の高いユーザが近くにいるときには「抱っこ」をせがむ仕草として両方の手106をもちあげるモーションを実行することもできるし、「抱っこ」に飽きたときには左右の前輪102を収容したまま逆回転と停止を交互に繰り返すことで抱っこをいやがるモーションを表現することもできる。駆動機構120は、動作制御部150の指示にしたがって前輪102や手106、首(頭部フレーム316)を駆動することで、ロボット100にさまざまなモーションを表現させる。
【0074】
センサ制御部172は、内部センサ128を制御する。具体的には、高解像度カメラ402、温度センサ406および形状測定センサ408の計測方向を制御する。頭部フレーム316の方向に合わせて、ロボット100の頭部に搭載される高解像度カメラ402、温度センサ406および形状測定センサ408の計測方向が変化するが、センサ制御部172は高解像度カメラ402等を個別に方向制御することもできる。
【0075】
音声分類部174は、具体的には、音声の大きさ、音色、高さのほか、発話パターンなどの音声の特徴に基づいて、検出された音声を複数のカテゴリに分類する。なお、音声分類部174ではなく、認識部156が音声分類を実行してもよい。
【0076】
ロボット100の認識部156は、内部センサ128から得られた外部情報を解釈する。認識部156は、視覚的な認識(視覚部)、匂いの認識(嗅覚部)、音の認識(聴覚部)、触覚的な認識(触覚部)が可能である。
認識部156は、カメラ410および形状測定センサ408により定期的に周囲を撮像し、人やペットなどの移動物体を検出する。これらの特徴はサーバ200に送信され、サーバ200の人物認識部214は移動物体の身体的特徴を抽出する。また、ユーザの匂いやユーザの声も検出する。匂いや音(声)は既知の方法にて複数種類に分類される。
【0077】
ロボット100に対する強い衝撃が与えられたとき、認識部156は内蔵の加速度センサによりこれを認識し、サーバ200の応対認識部228は、近隣にいるユーザによって「乱暴行為」が働かれたと認識する。ユーザがツノ112を掴んでロボット100を持ち上げるときにも、乱暴行為と認識してもよい。ロボット100に正対した状態にあるユーザが特定音量領域および特定周波数帯域にて発声したとき、サーバ200の応対認識部228は、自らに対する「声掛け行為」がなされたと認識してもよい。また、体温程度の温度を検知したときにはユーザによる「接触行為」がなされたと認識し、接触認識した状態で上方への加速度を検知したときには「抱っこ」がなされたと認識する。ユーザがボディ104を持ち上げるときの物理的接触をセンシングしてもよいし、前輪102にかかる荷重が低下することにより抱っこを認識してもよい。
【0078】
サーバ200の応対認識部228は、ロボット100に対するユーザの各種応対を認識する。各種応対行為のうち一部の典型的な応対行為には、快または不快、肯定または否定が対応づけられる。一般的には快行為となる応対行為のほとんどは肯定反応であり、不快行為となる応対行為のほとんどは否定反応となる。快・不快行為は親密度に関連し、肯定・否定反応はロボット100の行動選択に影響する。
【0079】
検出・分析・判定を含む一連の認識処理は、サーバ200の認識部212だけで行ってもよいし、ロボット100の認識部156だけで行ってもよいし、双方が役割分担をしながら上記認識処理を実行してもよい。
【0080】
認識部156により認識された応対行為に応じて、サーバ200の親密度管理部220はユーザに対する親密度を変化させる。原則的には、快行為を行ったユーザに対する親密度は高まり、不快行為を行ったユーザに対する親密度は低下する。
【0081】
サーバ200の認識部212は、応対に応じて快・不快を判定し、マップ管理部210は「場所に対する愛着」を表現する行動マップにおいて、快・不快行為がなされた地点のz値を変化させてもよい。たとえば、リビングにおいて快行為がなされたとき、マップ管理部210はリビングに好意地点を高い確率で設定してもよい。この場合、ロボット100はリビングを好み、リビングで快行為を受けることで、ますますリビングを好む、というポジティブ・フィードバック効果が実現する。
【0082】
サーバ200の人物認識部214は、外部センサ114または内部センサ128から得られた各種データから移動物体を検出し、その特徴(身体的特徴と行動的特徴)を抽出する。そして、これらの特徴に基づいて複数の移動物体をクラスタ分析する。移動物体としては、人間だけでなく、犬や猫などのペットが分析対象となることがある。
【0083】
ロボット100は、定期的に画像撮影を行い、人物認識部214はそれらの画像から移動物体を認識し、移動物体の特徴を抽出する。移動物体を検出したときには、ニオイセンサや内蔵の集音マイク、温度センサ等からも身体的特徴や行動的特徴が抽出される。たとえば、画像に移動物体が写っているとき、ひげが生えている、早朝活動している、赤い服を着ている、香水の匂いがする、声が大きい、メガネをかけている、スカートを履いている、白髪である、背が高い、太っている、日焼けしている、ソファにいる、といったさまざまな特徴が抽出される。
【0084】
ひげが生えている移動物体(ユーザ)は早朝に活動すること(早起き)が多く、赤い服を着ることが少ないのであれば、早起きでひげが生えていて赤い服をあまり着ないクラスタ(ユーザ)、という第1のプロファイルができる。一方、メガネをかけている移動物体はスカートを履いていることが多いが、この移動物体にはひげが生えていない場合、メガネをかけていてスカートを履いているが絶対ひげは生えていないクラスタ(ユーザ)、という第2のプロファイルができる。
以上は、簡単な設例であるが、上述の方法により、父親に対応する第1のプロファイルと母親に対応する第2のプロファイルが形成され、この家には少なくとも2人のユーザ(オーナー)がいることをロボット100は認識する。
【0085】
ただし、ロボット100は第1のプロファイルが「父親」であると認識する必要はない。あくまでも、「ひげが生えていて早起きすることが多く、赤い服を着ることはめったにないクラスタ」という人物像を認識できればよい。
【0086】
このようなクラスタ分析が完了している状態において、ロボット100が新たに移動物体(ユーザ)を認識したとする。
このとき、サーバ200の人物認識部214は、ロボット100から得られる画像等のセンシング情報から特徴抽出を行い、ディーブラーニング(多層型ニューラルネットワーク)により、ロボット100の近くにいる移動物体がどのクラスタに該当するかを判断する。たとえば、ひげが生えている移動物体を検出したとき、この移動物体は父親である確率が高い。この移動物体が早朝行動していれば、父親に該当することはいっそう確実である。一方、メガネをかけている移動物体を検出したときには、この移動物体は母親である可能性もある。この移動物体にひげが生えていれば、母親ではなく父親でもないので、クラスタ分析されていない新しい人物であると判定する。
【0087】
特徴抽出によるクラスタの形成(クラスタ分析)と、特徴抽出にともなうクラスタへの当てはめ(ディープラーニング)は同時並行的に実行されてもよい。
移動物体(ユーザ)からどのような行為をされるかによってそのユーザに対する親密度が変化する。
【0088】
ロボット100は、よく出会う人、よく触ってくる人、よく声をかけてくれる人に対して高い親密度を設定する。一方、めったに見ない人、あまり触ってこない人、乱暴な人、大声で叱る人に対する親密度は低くなる。ロボット100はセンサ(視覚、触覚、聴覚)によって検出するさまざまな外界情報にもとづいて、ユーザごとの親密度を変化させる。
【0089】
実際のロボット100は行動マップにしたがって自律的に複雑な行動選択を行う。ロボット100は、寂しさ、退屈さ、好奇心などさまざまなパラメータに基づいて複数の行動マップに影響されながら行動する。ロボット100は、行動マップの影響を除外すれば、あるいは、行動マップの影響が小さい内部状態にあるときには、原則的には、親密度の高い人に近づこうとし、親密度の低い人からは離れようとする。
【0090】
ロボット100の行動は親密度に応じて以下に類型化される。
(1)親密度が非常に高いクラスタ
ロボット100は、ユーザに近づき(以下、「近接行動」とよぶ)、かつ、人に好意を示す仕草としてあらかじめ定義される愛情仕草を行うことで親愛の情を強く表現する。
(2)親密度が比較的高いクラスタ
ロボット100は、近接行動のみを行う。
(3)親密度が比較的低いクラスタ
ロボット100は特段のアクションを行わない。
(4)親密度が特に低いクラスタ
ロボット100は、離脱行動を行う。
【0091】
以上の制御方法によれば、ロボット100は、親密度が高いユーザを見つけるとそのユーザに近寄り、逆に親密度が低いユーザを見つけるとそのユーザから離れる。このような制御方法により、いわゆる「人見知り」を行動表現できる。また、来客(親密度が低いユーザA)が現れたとき、ロボット100は、来客から離れて家族(親密度が高いユーザB)の方に向かうこともある。この場合、ユーザBはロボット100が人見知りをして不安を感じていること、自分を頼っていること、を感じ取ることができる。このような行動表現により、ユーザBは、選ばれ、頼られることの喜び、それにともなう愛着の情を喚起される。
【0092】
一方、来客であるユーザAが頻繁に訪れ、声を掛け、タッチをするとロボット100のユーザAに対する親密度は徐々に上昇し、ロボット100はユーザAに対して人見知り行動(離脱行動)をしなくなる。ユーザAも自分にロボット100が馴染んできてくれたことを感じ取ることで、ロボット100に対する愛着を抱くことができる。
【0093】
なお、以上の行動選択は、常に実行されるとは限らない。たとえば、ロボット100の好奇心を示す内部パラメータが高くなっているときには、好奇心を満たす場所を求める行動マップが重視されるため、ロボット100は親密度に影響された行動を選択しない可能性もある。また、玄関に設置されている外部センサ114がユーザの帰宅を検知した場合には、ユーザのお出迎え行動を最優先で実行するかもしれない。
【0094】
図7は、マイクロフォンアレイ404の計測原理を示す模式図である。
ロボット100の頭部には、マイクロフォンアレイ404が設置される。マイクロフォンアレイ404は、複数のマイクロフォン412(マイクロフォン412a〜412h)を含む。複数のマイクロフォン412が形成する面が床面に平行となるようにマイクロフォンアレイ404はロボット100の頭部フレーム316に内蔵される。
【0095】
ある音源414から発生した音は、複数のマイクロフォン412に集音される。音源414と各マイクロフォン412の距離は一致しないため、集音タイミングにばらつきが生じる。各マイクロフォン412における音の強さと位相から音源414の位置が検出される。たとえば、マイクロフォン412bよりもマイクロフォン412cは音源414から遠いため、マイクロフォン412cにはマイクロフォン412bよりも音の集音タイミングが遅くなる。マイクロフォンアレイ404により、音源の可視化(空間における音の分布)も可能である。
【0096】
人間などの生物は、声を掛けられるとその方向に顔を向けるなどなんらかの反応行動を行う。ロボット100においても同様の行動を実現するため、本実施形態におけるロボット100はマイクロフォンアレイ404により音源414の位置、特に、音源414の方向を検出する。
【0097】
音源414は、人間やペットなどの生物の場合もあるが、オーディオやテレビジョンなどの無生物の場合もある。また、音源414から発生した音は壁416に反射し、反射音がマイクロフォンアレイ404に集音されることもある。図7に示すマイクロフォン412cは音源414から直接届く音と壁416の反射音の双方を集音する。このため、音源414が1つしかなくても、マイクロフォンアレイ404は複数の音源414(真の音源414と壁416)が存在するとして検出してしまうことがある。
【0098】
このため、マイクロフォンアレイ404の音声情報に基づいて特定された音源方向にロボット100の頭部を向ける場合、ロボット100は音源414ではなく、壁416を向いてしまう可能性がある。テレビやオーディオから音声が発生させるときも同様である。
【0099】
図8は、本実施形態における音源特定方法を示す模式図である。
本実施形態におけるロボット100は、マイクロフォンアレイ404に加えて、カメラ410により音源414を確認する。図8においては、2つの音源414(音源414aと音源414b)がマイクロフォンアレイ404により検出された状況を示している。天球撮像範囲418は、全天球カメラ400による撮像範囲である。全天球カメラ400は、ロボット100の上方半球略全域を一度に撮像可能である。ロボット100の認識部156は、天球撮像範囲418のうち音源414aの方向を含む所定範囲である撮像領域420aの画像を分析する。
【0100】
認識部156は、撮像領域420aに所定の特徴を有する発音体が存在するか画像分析を行う。ここでいう「発音体」とは、音を発生するもの、すなわち、「音源となることができる物体」を意味する。人間や動物などの生物のほか、テレビやオーディオ、電話なども発音体である。本実施形態においては、発音体のうち、人間(ユーザー)と動物(ペット)のように音声を発生することが可能な生物のことを「発声体」とよぶ。人間のみを検出対象としてもよい。
以下、発声体の検出を対象として説明する。
【0101】
また、撮像領域420から発声体を画像認識する処理はロボット100の認識部156において実行されるものとして説明する。画像認識は、サーバ200の認識部212において実行されてもよいし、サーバ200の認識部212およびロボット100の認識部156の双方により実行されてもよい。
【0102】
2つの目と1つの口に相当する部分を有している、肌色である、動いている、服を着ているなど、生物に特有の身体的・行動的特徴を有するオブジェクトが発声体として認識される。撮像領域420aにおいて発声体が検出されれば、その発声体が発声源(音源)であると特定される。「発声源」とは、発声体による音声の音源、いいかえれば、実際に音声を発した発声体を意味する。撮像領域420aにおいて発声体が検出されなければ、2つ目の音源414bに対応する撮像領域420aが画像分析される。
【0103】
このような制御方法によれば、発声体の特徴を備えない音源414であるオーディオを発声源候補から除外できる。壁416からの反射音についても、壁416の方向には発声体としての特徴を備えるオブジェクトが検出されないために壁416も発声源候補から除外される。テレビの外枠が画像検出されたときには、テレビに発声体の特徴を備える画像が表示されたとしても発声源ではないと判定できる。
【0104】
ロボット100は、音を検出したとき、音源414aおよび音源414bの双方または一方に頭部を向ける。具体的には、所定値以上の音圧(音量)が検出された音源414に正対するように、動作制御部150は頭部フレーム316を回転させる。音源414aと音源414bの双方から所定値以上の音圧が検出されるときには、より大きな音圧を発声させた方に頭部フレーム316を向けてもよいし、二つの音源414それぞれに正対するように順次頭部フレーム316を回転させてもよい。
【0105】
撮像領域420aにおいて発声体が検出されると、動作制御部150は前輪102を駆動して胴部フレーム318、すなわち、ロボット100のボディ104を音源414aに向ける。撮像領域420bにおいて発声体が検出されたときには、ロボット100は音源414bに体を向ける。
このような制御方法によれば、音に反応して頭を向け、その方向に発声体(人間など)を確認したときに体ごと向き直るという行動特性が実現される。
【0106】
撮像領域420は、全天球カメラ400による天球撮像範囲418の一部として切り出されてもよい。あるいは、頭部を音源414に向けたあと、高解像度カメラ402により撮像領域420を改めて撮像してもよい。高解像度カメラ402を独立制御可能であれば、センサ制御部172は高解像度カメラ402を音源414に向けることで撮像領域420を撮像してもよい。全天球カメラ400よりも高解像度の高解像度カメラ402により音源414を撮像すれば、撮像領域420から発声体をより確実に検出しやすくなる。
【0107】
認識部156は、発声体を画像検出したときには、更に、発声体の口唇に動きがあるか、特に、発話にともなう動きがあるか否かを検出してもよい。より具体的には、音声検出期間において口唇を動かした発声体がその音声の発声源として認識される。口唇をチェックすることにより、誰が自分(ロボット100)に向かって発話しているのかをより確実に特定できる。
【0108】
認識部156は、更に、温度センサ406により音源414の周辺温度分布を計測し、音源414が発熱体、特に、摂氏30〜40度程度の発熱体であるか否かを判定する。人間やペットなどの恒温動物は発熱体であるため、温度計測によりオーディオやテレビ、壁、鏡などを発声源候補から除外できる。
【0109】
認識部156は、更に、形状測定センサ408により音源414の三次元形状を測し、音源414が所定の形状を有する物体であるか否かを判定する。たとえば、認識部156は、音源414が凹凸形状を有するか否かを判定する。凹凸形状を有しないとき、音源414はテレビ、壁、鏡などの平面体であると考えられるため、これらを発声源から除外できる。より好ましくは、形状測定センサ408により、発声体の立体形状の特徴を検出することが望ましい。人間の顔や動物の顔の形状上の特徴(鼻の位置や口の形など)を認識できれば、オーディオやテレビなどの無生物を発声源候補からより確実に除外しやすい。個人データ格納部218には、形状測定センサ408により各クラスタの顔の特徴情報も格納される。このため、更に好ましくは、形状測定センサ408により、発声体が誰であるかを特定してもよい。
【0110】
図9は、周波数帯域と音の種類の関係を示す模式図である。
一般的には、成人男性の声の周波数帯域は60〜260(Hz)程度、成人女性の声の周波数帯域は120〜520(Hz)程度といわれる。したがって、50〜600(Hz)程度の周波数帯域をフィルタリングしても、成人の声を認識可能である。
【0111】
子どもの金切り声は1,000(Hz)程度、ガラスの割れる音は4,000(Hz)程度といわれる。また、人間の可聴周波数は年齢にもよるがおおよそ20(Hz)から20,000(Hz)といわれる。20,000(Hz)を超えると「超音波」とよばれ、通常、人間の聴覚によって感知できない音となる。
【0112】
ロボット100が人の声に反応する上では、50〜600(Hz)程度を認識できればよい(以下、この周波数帯域を「発話周波数帯域」とよぶ)。認識部156(または音声分類部174)は、周波数フィルタリングにより発話周波数帯域の音源414のみを発声体候補として抽出してもよい。この場合には、多数の音源414が検出されたときでも、発声体候補となる音源414に絞って画像分析をすればよいので、ロボット100の処理負荷を軽減できる。
【0113】
発話周波数帯域以外の周波数帯域においても、生物を驚かせる環境音や少なくとも生物の注意を引く環境音がある。本実施形態においてはこのような環境音を「特殊環境音」と定義する。特殊環境音は、周波数が高く、かつ、音圧が所定の閾値以上となる大きく高い音である。本実施形態においては、特殊環境音は、600〜20,000(Hz)の高音であり、かつ、70(デシベル)以上の音として定義される。以下、特殊環境音としての上記特徴を「特殊環境音条件」とよぶ。
【0114】
発話周波数帯域を周波数フィルタリングする場合でも、認識部156が特殊環境音を検出したときには、動作制御部150はロボット100に所定のモーション(リアクション行動)を実行させる。ここでいう所定のモーションとは、特殊環境音に対する驚きや動揺、興味を表現するモーションであり、音に反応したことを表現するモーションとして定義されることが望ましい。たとえば、音源414から遠ざかる、体を震わせる、頭部のみを音源414に向ける、鳴き声を上げる、音源414に近寄るなどのモーションが選択される。あるいは、なんらかのモーションを実行中に特殊環境音あるいは発声体による音声が聞こえてきたときには、実行中のモーションの速度を低下させる、一時停止するなどにより、注意を払っていることを行動表現してもよい。
【0115】
音声分類部174は、音声の特徴、具体的には、音の大きさ、周波数帯域、発話パターンなどから、音を複数のカテゴリに分類する。人間、犬、特殊環境音というカテゴリがあってもよいし、成人男性、成人女性、子ども、破裂音というより細かいカテゴリが定義されてもよい。成人男性のカテゴリであれば、周波数帯域が60〜26(Hz)であり、かつ、音の大きさの変化パターンなど、成人男性に典型的な音声特徴が定義される。特殊環境音に対しても複数のカテゴリが定義されてもよい。特殊環境音の種類に応じて複数種類のモーションが定義されればよい。たとえば、高音部(5000(Hz)以上)の特殊環境音(高音カテゴリ)が検知されたときには音源414から逃げるモーションが選択され、低音部(700(Hz)以下)の特殊環境音(低音カテゴリ)が検知されたときには音源414に近づくモーションが選択されてもよい。
【0116】
特殊環境音が検知されたときには、ロボット100は少なくとも特殊環境音の音源414に頭または体を向ける。壁からの反射した音や壁を透過した音であっても、特殊環境音が検出されたときには音源414をいったん見ることで驚きと好奇心を表現し、その後に、特殊環境音の種類に対応したモーションを実行する。
【0117】
特殊環境音の種類に応じて感情マップ116などの行動マップを更新してもよい。たとえば、特に大きな特殊環境音が検出されたときにはその音源414を嫌悪地点として設定してもよい。また、小さな音圧の特殊環境音が検出されたときには音源414に対する好奇心の強さを表すように行動マップを更新してもよい。
【0118】
発話周波数帯域や特殊環境音条件は、人間の感覚に合わせて定義する必要はない。犬は、高周波数帯域への感受性が人間のそれよりも高い。ロボット100においても発話周波数帯域を高めに設定してもよい。また、人間や犬などの既存の生物とは違う感性を表現するため、ロボット100に対しては任意の発話周波数帯域や特殊環境音条件を定義してもよい。たとえば、1,000(Hz)付近を極端に嫌うような設定も可能である。どのような音声を重視するか、どのような音声に驚くか、どのような音声を嫌うか、どのような音声を好むかという設定は、ロボット100としての個性を定義する。
【0119】
図10は、本実施形態において、音を検出したときの処理過程を示すフローチャートである。
図10に示すフローチャートは、マイクロフォンアレイ404が集音したときに実行される。認識部156はマイクロフォンアレイ404に含まれる各マイクロフォン412の集音した音声情報に基づいて1以上の音源方向を検出する(S10)。次に、認識部156(または音声分類部174)は音が特殊環境音条件を満たす特徴を備えるか否かに基づいて特定環境音か否かを判定する(S12)。マイクロフォンアレイ404に含まれる複数のマイクロフォン412が集音した音声情報の平均値に基づいて判定してもよいし、所定個数以上のマイクロフォン412が特定環境音条件を満たす音を検出したとき、特定環境音であると判定してもよい。特定環境音のときには(S12のY)、動作制御部150は特定環境音に対応するモーション(リアクション行動)を選択し、駆動機構120にそのモーションを実行させる(S14)。上述したように、特定環境音の種類に応じて多様なモーションが選択される。
【0120】
特定環境音でないとき(S12のN)、認識部156は、マイクロフォンアレイ404により検出された1以上の音源方向において、カメラ410により画像確認していない未確認音源が存在するか否かを判定する(S16)。未確認音源がなければ(S16のN)、以降の処理はスキップされる。
【0121】
未確認音源があれば(S16のY)、動作制御部150はロボット100の頭部を未確認音源のうちの1つに向ける(S18)。認識部156は、天球撮像範囲418のうち未確認音源の方向に撮像領域420を設定し、発声体が存在するか否かを画像分析する(S20)。発声体が存在しなければ(S22のN)、処理はS16に戻り、別の音源が分析対象となる。発声体が検出されれば(S22のY)、動作制御部150は頭部だけでなく胴部もその音源に向ける(S24)。本実施形態におけるロボット100の場合、前輪102を逆回転させてロボット100の全体を音源に正対させる。
【0122】
より具体的には、S20の画像分析に際しては、高解像度カメラ402により未確認音源の方向を撮影し、その画像から発声体の存否を確認する。このとき、頭部を回転させることで高解像度カメラ402を未確認音源に向けてもよいし、センサ制御部172が高解像度カメラ402を独立駆動して高解像度カメラ402を未確認音源に向けてもよい。上述のように、全天球カメラ400による天球撮像範囲418から音源方向に対応する1以上の撮像領域420を抽出し、発声体の存否を確認してもよい。
【0123】
S16の未確認音源の確認に際しては、認識部156(または音声分類部174)は音声を周波数フィルタリングすることにより、発話周波数帯域の音源のみを分析対象としてもよい。また、S22において発声体を検出しても、発声体の口唇が動いていなければ、S24ではなくS16に処理を戻してもよい。より具体的には、音の検出期間において口唇を動かしている発声体でなければ、その発声体を発声源として認識しない。同様にして、発声体の顔画像がロボット100に正対していなければ、ロボット100に対する発話ではないとして別の発声体をサーチしてもよい。
【0124】
S22のあと、検出された発声体が所定の温度範囲における発熱体であるか、形状が所定の特徴を有するか否かにより、適切な発声体であるか否かを確認してもよい。
【0125】
図10に示す処理過程によれば、音が検出されたとき、反射的に頭部を音源方向に向けるという生物的行動特性をロボット100でも表現できる。頭部を音源に向ける以外にも、目110を音源に向ける、ビクっと震えるなど、興味や驚きを表現するモーションを実行してもよい。音源が発声体であると確認されたとき、いいかえれば、発声源としての発声体が特定されたとき、体全体を発声体(音源)に向けることで「聞く体勢」に入ったことを行動表現する。
【0126】
図11は、音を検出したときの処理過程を示すフローチャート(変形例1)である。
図10においては、音源が発声体であるか否かを画像分析により判定している。また、画像分析に際しては口唇のチェックのほか、温度センサ406や形状測定センサ408によるセンシング情報を追加して判定精度を高めている。図11に示す変形例1においては、画像分析に頼らず、温度分析に基づいて発声体を特定する方法について説明する。S10〜S18,S24の処理内容は図10に関連して説明した内容と同様である。
【0127】
未確認音源があれば(S16のY)、動作制御部150はロボット100の頭部を未確認音源のうちの1つに向ける(S18)。センサ制御部172は、温度センサ406を未確認音源の方向に向けて未確認音源周辺の温度分布を計測する(S30)。認識部156は、未確認音源の方向に発熱体、具体的には、人やペット(恒温動物)の体温程度の発熱体が計測されたとき(S32のY)、動作制御部150は頭部だけでなく胴部も未確認音源(発熱体)のある方向に向ける(S24)。
【0128】
S32の温度分布分析に際しては、温度センサ406を駆動するのではなく、ロボット100の頭部または胴部の向きを変化させて温度センサ406の計測方向を未確認音源方向に設定してもよい。温度センサ406が全天球カメラ400のようにパノラマ計測できる場合には、温度センサ406の計測方向調整は不要である。S30の温度分析に加えて、図10に関連して説明したような画像分析や深度分析を追加実行してもよい。
【0129】
図12は、音を検出したときの処理過程を示すフローチャート(変形例2)である。
図12に示す変形例2においては、全天球カメラ400および高解像度カメラ402によりあらかじめ発声体を追跡(トラッキング)しておき、音が発生したときに追跡対象となっている1以上の発声体の中から発声源を特定する。具体的には、全天球カメラ400により天球撮像範囲418を定期的かつ継続的に撮像し、認識部156はオーナーやペットなどの発声体の特徴を備えるオブジェクトが存在する位置を常時追跡する。たとえば、ロボット100から向かって1時の方向(前方やや右方向)に「父親」が存在し、9時の方向(左方向)に「母親」が存在しているとする。より厳密には、「父親」の身体的・行動的特徴を備える第1クラスタと「母親」の身体的・行動的特徴を備える第2クラスタそれぞれの方向を追跡する。
S10〜S14,S24の処理内容は図10に関連して説明した内容と同様である。
【0130】
図12に示すフローチャートも、マイクロフォンアレイ404が音を集音したときに実行される。特定環境音でなければ(S12のN)、認識部156(または音声分類部174)は音声の特徴(音の大きさ、音色、音の高さ)を抽出する(S40)。個人データ格納部218においては、あらかじめ各オーナーの身体的・行動的特徴が登録されており、声の特徴もその一種として登録される。抽出された音声特徴に対応する発声体が追跡されているときには(S40のY)、ロボット100は胴部を回転してその発声体に向き直る(S24)。存在しないときには(S40のN)、S24はスキップされる。たとえば、「父親」の音声特徴を備える音が検出されたときにはロボット100は1時の方向に向き直り、「母親」の音声特徴を備える音が検出されたときにはロボット100は9時の方向に向き直る。一方、「長男」の音声特徴に似た音が検出されたとしても、S10の開始時点で「長男」は追跡(検出)されていないため、この場合には非検出(S42のN)として処理される。
【0131】
以上、実施形態に基づいてロボット100およびロボット100を含むロボットシステム300について説明した。
生物と同様、ロボット100は音という外部のイベントに応じて行動を変化させる。本実施形態においては、マイクロフォンアレイ404により音源方向を検出し、カメラ410,温度センサ406,形状測定センサ408などの他のセンサにより音源方向を確認している。このため、検知された音がどこで発生したのか、特に、自分に呼びかけているオーナーがどこにいるのかを確実に認識しやすくなる。
【0132】
また、特殊環境音のように人の声ではないが注意を引く音に対しても、即時的なリアクション行動を取ることができる。このため、いろいろな音に驚いたり、好奇心をもったりといった多様な行動特性を実現できる。
【0133】
ロボット100は、音が検出されると頭を向け、そこに発声体を認識すると向き直るという2段階行動を実行する。音声を検出したときと、発声体を特定したときの2段階で異なるモーションを実現することにより、無意識的に注意を払い、意識的に行動するという生物的な行動特性を表現できる。
【0134】
なお、本発明は上記実施形態や変形例に限定されるものではなく、要旨を逸脱しない範囲で構成要素を変形して具体化することができる。上記実施形態や変形例に開示されている複数の構成要素を適宜組み合わせることにより種々の発明を形成してもよい。また、上記実施形態や変形例に示される全構成要素からいくつかの構成要素を削除してもよい。
【0135】
1つのロボット100と1つのサーバ200、複数の外部センサ114によりロボットシステム300が構成されるとして説明したが、ロボット100の機能の一部はサーバ200により実現されてもよいし、サーバ200の機能の一部または全部がロボット100に割り当てられてもよい。1つのサーバ200が複数のロボット100をコントロールしてもよいし、複数のサーバ200が協働して1以上のロボット100をコントロールしてもよい。
【0136】
ロボット100やサーバ200以外の第3の装置が、機能の一部を担ってもよい。図6において説明したロボット100の各機能とサーバ200の各機能の集合体は大局的には1つの「ロボット」として把握することも可能である。1つまたは複数のハードウェアに対して、本発明を実現するために必要な複数の機能をどのように配分するかは、各ハードウェアの処理能力やロボットシステム300に求められる仕様等に鑑みて決定されればよい。
【0137】
上述したように、「狭義におけるロボット」とはサーバ200を含まないロボット100のことであるが、「広義におけるロボット」はロボットシステム300のことである。サーバ200の機能の多くは、将来的にはロボット100に統合されていく可能性も考えられる。
【0138】
本実施形態においては、音声と音源をマイクロフォンアレイ404,カメラ410,温度センサ406および形状測定センサ408によりセンシングし、ロボット100の認識部156により認識処理を実行している。認識処理の一部または全部はサーバ200の認識部212により実行されてもよい。また、内部センサ128の機能の一部は外部センサ114に搭載されてもよい。たとえば、外部センサ114にカメラ410を搭載し、外部センサ114の画像情報をサーバ200にて分析し、その分析結果に基づいてロボット100が発声体の位置を特定する実装も可能である。
【0139】
本実施形態においては、音を検出したときに頭部を音源に向け、発声体が認識されたとき胴部も音源に向けるとして説明した。このほかにも、音を検出したときのモーションとしては、目110(視線)を音源に向ける、震える、逃げる、近づく、声を発するなどが考えられる。また、発声体を認識したときのモーションとしては、近づく、逃げる、目110を伏せる、手106を挙げるなどが考えられる。
【0140】
ロボット100は、音声を検出したあとその発声源を特定する前に、特定ワードの音声を検出したとき、発声体のサーチを中断し、他の未確認音源の分析を実行してもよい。ここでいう特定ワードとは、「おいで」「こっちだよ」「そっちじゃないよ」などの呼びかけが考えられる。たとえば、ロボット100が複数の音源を検出し、複数の撮像領域420を設定したとする。ロボット100が、1つめの音源候補に顔を向けて撮像領域420の画像分析するタイミングで「そっちじゃないよ」という特定ワードを音声認識したときには、2つ目の音源候補に分析対象を変更する。あるいは、特定ワードの音源を改めて検出し、特定ワードの音源方向を画像分析してもよい。
【0141】
複数のマイクロフォン412をユニット化したマイクロフォンアレイ404をロボット100に装着する代わりにロボット100の複数箇所にマイクロフォン412を配置してもよい。本実施形態においては、全天球カメラ400および高解像度カメラ402の双方を備えるとして説明したが、全天球カメラ400のみあるいは高解像度カメラ402のみを装着してもよい。ロボット100が全天球カメラ400のみを装着する場合には、認識部156は天球撮像範囲418の一部を切り取ることにより撮像領域420を抽出すればよい。ロボット100が高解像度カメラ402のみを装着する場合には、高解像度カメラ402の撮像方向を移動させることにより、音源を撮像すればよい。
【0142】
発声体の確認に際しては、口唇チェックのほか、発声体がロボット100の方を向いているか否かをチェックしてもよい。発声体がロボット100に声を掛けるとき、発声体はロボット100に正対すると考えられる。音声検出時に、発声体がロボット100に正対しているか否かをチェックすることにより、複数の発声体が検出されたときでもロボット100に実際に話しかけた発声体を正しく検出しやすくなる。発声体が正対しているか否かは、顔画像において二つの目を認識できるかなど、既存の画像認識技術により判定可能である。
【0143】
誤認識しやすい物体(以下、「誤認識物体」とよぶ)、たとえば、オーディオや鏡、テレビなどの場所をあらかじめロボット100に憶えさせてもよい。あるいは、ロボット100は屋内行動に際して、オーディオ等の場所を検出し、マップ管理部210は屋内情報の一部として誤認識物体の座標を登録してもよい。あらかじめ誤認識物体の場所を認識しておけば、ロボット100は音を検出したときに誤認識物体が存在する音源方向を解析対象から除外できるため、発声体をより速やかに認識しやすくなる。また、誤認識物体から音声が発生したときにも、ロボット100は誤認識物体に顔を向けてもよい。この場合、「音に反応する行動」を表現しつつ、誤認識物体の画像分析を行わなくてもよい。
【0144】
本実施形態においては、テレビは誤認識物体として扱われるものとして説明した。ロボット100は、温度センサ406や形状測定センサ408などのセンシング情報により、テレビを発生源候補から除外できる。その一方、テレビ電話により、オーナーが遠隔から留守中のロボット100に話しかける状況も想定される。このような状況を考慮すると、実物の発声体だけではなく、テレビに映る発声体に対してもリアクション行動を取るように設定することが望ましい。
【0145】
音声が検出されたとき、親密度が高い人の声の特徴を優先的に検索してもよい。ロボット100が、父親と母親に同時に話しかけられた状況を想定する。父親に対する親密度は母親に対する親密度よりも高いとする。このときには、複数の音声それぞれの特徴を抽出し、父親の音声特徴および母親の音声特徴のうち父親の音声特徴に一致する音声を先に特定する。父親の音声特徴に一致する音声が検出されていれば、父親に対応する発声体に対するリアクションを優先的に実行する。このような制御方法によれば、親密度に応じて声の聞き分けおよび対応行動の優先度を制御できる。親密度の高いオーナーの声がけには最優先で反応するという行動特性が実現される。
【0146】
ロボット100と発声体が所定距離以内であるときに限り、口唇の動きをチェックするとしてもよい。また、全天球カメラ400により画像を録画しておき、音声を検出したときにはその検出タイミングにて口唇が動いている、あるいは、ロボット100に対して正対している発声体を録画画像により確認してもよい。
【0147】
本実施形態においては、特殊環境音はロボット100を驚かせる音、ロボット100の好奇心を喚起する音であるとして説明したが、そのほかにもロボット100の好む音を定義してもよい。たとえば、ヴァイオリンの音、クラシックやロックミュージックなどの楽曲、特定の歌手の声を「快感音」として設定し、快感音が聞こえてきたときにもさまざまなモーション、たとえば、喜びを表すモーションを実行させてもよい。
【0148】
本実施形態におけるモーション選択は、確率的に実行されてもよい。たとえば、発声体が認識されたとき、ロボット100は高い確率にて発声体に正対するが、正対せずに無視する可能性があってもよい。また、親密度が高い発声体のときには高確率で正対し、親密度が低い発声体のときには低確率にて正対するとしてもよい。
【0149】
特殊環境音に対するリアクションも常に同じである必要はない。たとえば、工事の大きな音を認識すると1回目は音源から離れるモーションを選択するが、以降は音源に近づく、リアクションを行わないなどモーション選択を変化させてもよい。
【0150】
本実施形態においては、「発声体(生物)」による「発声源」を確実に認識することを目的として説明したが、発声体に限らず、無生物も含めた「発音源」を認識する上でも有効である。たとえば、テレビの音声を検出したとき、テレビの方向を確実に特定する上でも本実施形態のように画像等で音源を確認する方式は有効である。
この場合にも、マイクロフォンアレイ404により音源方向を検出したときにはロボット100はその検知方向に頭部を向け、音源を画像等により確認したときには音源の方向に胴部を向けるとしてもよい。
【0151】
音声分類部174が、所定のカテゴリ、たとえば、特殊環境音、悲鳴、破裂音、破壊音、超音波などを検出したときには、画像や形状、熱分布などにより音源を特定する前に、あるいは、音源を特定することなく、ロボット100は所定のモーションを実行してもよい。ここでいう所定のモーションとは、音に対する反応としてモーションとしてあらかじめ任意に定義可能である。このような処理方法によれば、特に注意を喚起すべき音声が検出されたときには、音源方向特定処理の結果を待つことなくすぐに驚き等を示すモーションを実行できる。
【0152】
図12に関連して説明した発声体のトラッキングにおいては、常時、撮像された画像により発声体の存在する方向を認識する必要はない。たとえば、ロボット100のカメラ410により、あるいは、外部センサ114により、発声体の位置検出がなされたときには、サーバ200の位置管理部208は、各発声体の位置座標を随時マップに記録しておく。この状態で、音声が検出されたときには、ロボット100はマップを参照して、発声体を特定してもよい。
【0153】
[追加例]
本実施形態においては、マイクロフォンアレイ404により1以上の発音体を特定し、画像認識等により真の発声源(音源)を特定するとして説明した。
マイクロフォンアレイ404および認識部156は、唯一の音源方向とその音源方向に対する信頼度を特定してもよい。マイクロフォンアレイ404の検出信号により、1つの音源方向を特定した上でその信頼度を計算する手法は既知である。たとえば、認識部156は、音量が大きいときほど音源方向に対する信頼度を高く設定してもよい。また、同時に複数の発音体が特定されたときには、音量が大きい方の発音体が存在する方向を音源方向と特定する代わりに、各発音体から検出された音量比に応じて信頼度を計算してもよい。たとえば、音源方向D1からの音量と音源方向D2からの音量の比率が4:1であるとき、認識部156は「音源方向D1・信頼度80%(=4/(4+1)×100)」として算出してもよい。
【0154】
追加例におけるロボットシステム300において、サーバ200のデータ処理部202は、位置管理部208、マップ管理部210、認識部212、動作制御部222、親密度管理部220に加えて、感情管理部を含む。
【0155】
感情管理部は、ロボット100の感情(寂しさ、好奇心、承認欲求など)を示すさまざまな感情パラメータを管理する。これらの感情パラメータは常に揺らいでいる。感情パラメータに応じて複数の行動マップの重要度が変化し、行動マップによってロボット100の移動目標地点が変化し、ロボット100の移動や時間経過によって感情パラメータが変化する。
【0156】
たとえば、寂しさを示す感情パラメータが高いときには、感情管理部は安心する場所を評価する行動マップの重み付け係数を大きく設定する。ロボット100が、この行動マップにおいて寂しさを解消可能な地点に至ると、感情管理部は寂しさを示す感情パラメータを低下させる。また、応対行為によっても各種感情パラメータは変化する。たとえば、オーナーから「抱っこ」をされると寂しさを示す感情パラメータは低下し、長時間にわたってオーナーを視認しないときには寂しさを示す感情パラメータは少しずつ増加する。
【0157】
ロボット100の内部センサ128は、更に、加速度センサを含んでもよい。認識部156は、加速度センサにより、ロボット100の抱え上げや抱えおろし、落下を認識してもよい。
【0158】
ロボット100のデータ処理部136は、認識部156、動作制御部150、センサ制御部172、音声分類部174に加えて、瞳制御部を含む。瞳制御部は、眼画像(後述)を生成し、目110に眼画像を表示させる。
【0159】
図13は、眼画像176の外観図である。
ロボット100の目110は、眼画像176を表示させるディスプレイとして形成される。瞳制御部は、瞳画像178と周縁画像168を含む眼画像176を生成する。瞳制御部は、また、眼画像176を動画表示させる。具体的には、瞳画像178を動かすことでロボット100の視線を表現する。また、所定のタイミングで瞬き動作を実行する。瞳制御部は、さまざまな動作パターンにしたがって眼画像176の多様な動きを表現する。目110のモニタは、人間の眼球と同様、曲面形状を有することが望ましい。
【0160】
瞳画像178は、瞳孔領域258と角膜領域163を含む。また、瞳画像178には、外光の映り込みを表現するためのキャッチライト170も表示される。眼画像176のキャッチライト170は、外光の反射によって輝いているのではなく、瞳制御部により高輝度領域として表現される画像領域である。
【0161】
瞳制御部は、モニタにおいて、瞳画像178を上下左右に移動させる。ロボット100の認識部156が移動物体を認識したときには、瞳制御部は瞳画像178を移動物体に向けることにより、ロボット100の「注視」を表現する。
【0162】
瞳制御部は、瞳画像178を周縁画像168に対して相対的に動かすだけではなく、瞼(まぶた)画像を表示させることにより、半眼や閉眼を表現できる。瞳制御部は、閉眼表示により、ロボット100が眠っている様子を表現してもよいし、眼画像176の4分の3を瞼画像で覆ったあと、瞼画像を揺らすことでロボット100が半睡状態、つまりウトウトしている状態にあることを表現してもよい。
【0163】
(音の記憶)
音声と、その音声の「印象」を対応づけてもよい。具体的には、認識部212(または認識部156)は、ある音声が検出されてから所定時間以内、たとえば、5秒位内に発生したイベントに応じて、その音声を「ポジティブ音」または「ネガティブ音」に分類してもよい。まず、あらかじめ、ポジティブ・イベントとネガティブ・イベントを登録しておく。ポジティブ・イベントとは、撫でられる、抱っこされるなどの快行為として定義される。ポジティブ・イベントは、親密度が所定値以上のユーザ(好きな人)を視認することであってもよい。ある音声パターンS1を検出してから所定時間以内にポジティブ・イベントが検出されたとき、認識部212は音声パターンS1を「ポジティブ音」として登録する。
【0164】
ネガティブ・イベントとは、叩かれる、落とされるなどの不快行為として定義される。ネガティブ・イベントは、親密度が所定値以下のユーザ(嫌いな人)を視認することであってもよい。ネガティブ・イベントは、物理的衝撃、所定量以上の音声(例:落雷音)、所定量以上の光(例:閃光)など、各種センサにおいて所定量以上の信号が検出されることであってもよい。ある音声パターンS2を検出してから所定時間以内にネガティブ・イベントが検出されたとき、認識部212は音声パターンS2を「ネガティブ音」として登録する。
【0165】
音声パターンS3が検出されたから所定時間以内にポジティブ・イベントもネガティブ・イベントも発生しなかったとき、認識部212は音声パターンS3を「中立音」として登録する。
【0166】
認識部156は、音声が検出されたとき、経験済みの音声パターンと比較する。未経験の音声パターンであれば、動作制御部150は、近づく、離れる、視線を向けるなどの所定のモーションを実行する。経験済みの音声パターンであれば、動作制御部150は、近づく、離れるなどのモーションを実行しないとしてもよい。たとえば、動作制御部150は、1回目に音声パターンS3(未経験の中立音)を検出したときには、音源方向から離れるモーションを実行する。そして、2回目に音声パターンS3(経験済みの中立音)を検出したときには、動作制御部150は音源方向に首を向ける、または、視線を向けるが移動はしない。このような制御方法によれば、「音に慣れる」という行動特性を表現できる。特殊環境音であっても、中立音であれば、1回目は驚いても、2回目以降は驚ろかない、といった制御が実現される。
【0167】
音声パターンS1(ポジティブ音)を2回目以降に検出したときにも同様である。動作制御部150は、1回目に音声パターンS1(未経験のポジティブ音)が検出されたときには、音源方向から少し離れるモーションを実行するとする。そのあと、ポジティブ・イベントが発生した場合、認識部212は音声パターンS1をポジティブ音として登録する。2回目に音声パターンS1(経験済みのポジティブ音)が検出されたときには、動作制御部150は音源方向に近づくモーションを実行する。このような制御方法によれば、特殊環境音であっても、音声パターンS1からポジティブ・イベントが連想されることでむしろ音声パターンS1を好むという行動特性を表現できる。たとえば、玄関の呼び鈴が鳴った時に親密度の高いオーナーが現れるという経験をしたとき、呼び鈴が聞こえると玄関に近づくという制御が可能となる。
【0168】
音声パターンS2(ネガティブ音)を2回目以降に検出したときも同様である。動作制御部150は、1回目に音声パターンS2(未経験のネガティブ音)が検出されたときには、音源方向から少し離れるモーションを実行する。そのあと、ネガティブ・イベントが発生した場合、認識部212は音声パターンS2をネガティブ音として登録する。2回目に音声パターンS2(経験済みのネガティブ音)が検出されたときには、動作制御部150は音源方向から大きく離れるモーションを実行する。このような制御方法によれば、音声に苦手な記憶が結びつくという行動特性を表現できる。たとえば、雷雲の鳴る音(音声パターンS2)のあとに落雷の轟音(ネガティブ・イベント)が発生したとき、ロボット100は雷雲の音をネガティブ音として記憶する。この結果、実際に落雷が発生する前でも、雷雲のゴロゴロという音が聞こえてきたとき、部屋の奥に逃げ込むという行動表現が可能となる。
【0169】
音声に対するポジティブまたはネガティブな印象の大きさはパラメータとして数値化されてもよい(以下、「肯定度」とよぶ)。肯定度は、+100(ポジティブ)から−100(ネガティブ)の範囲で変化する。ある音声パターンS4の発生後、所定時間以内にポジティブ・イベントが発生したときには、認識部212は音声パターンS4についての肯定度を加算する。一方、ネガティブ・イベントが発生したときには、認識部212は音声パターンS4についての肯定度を減算する。このような制御を繰り返すことにより、音声に対する肯定度を経験に応じて変化させてもよい。音声とその後に生じたイベントに応じて、音声に対する印象を定義することにより、音声とイベントの間の「因果性」をロボット100に認識させることができる。
【0170】
(音の選択)
マイクロフォンアレイ404は、常時、外部の音を検出する。認識部156は、音声を検出するごとにカメラ410を利用して音源方向(発声源)を特定してもよいが、このような処理を継続することは処理負荷が大きくなる可能性もある。追加例においては、プロセッサ122の計算能力を有効活用し、かつ、節電のため、ロボット100は外部音の多くを無視する。認識部156は、所定の「注意条件」が成立したとき、カメラ410または温度センサ406を利用して音源方向を正確に特定する。
【0171】
注意条件は、発声源を特定すべき状況として、設計者が任意に設定すればよい。たとえば、ロボット100の静止状態が所定時間以上継続しているときに注意条件が成立し、このときに音声が検出されると画像認識等との併用により音源方向を正確に特定してもよい。あるいは、無音状態が所定時間以上継続しているとき、所定値以上の音声が検出されたとき、静止状態から移動を開始しようとするときなどに、注意条件が成立するとしてもよい。注意条件を設定することにより、ロボット100はすべての音声に対して過敏に反応しなくなる。注意条件により、ロボット100の鈍感さを調整できる。
【0172】
注意条件の有無に関わらず、ロボット100は信頼度に応じて、「発音体」に対する「興味」を変化させてもよい。上述したように、追加例においては、マイクロフォンアレイ404が検出した音声に対して、認識部156は音源方向とともに信頼度を計算する。動作制御部150は、信頼度が第1閾値(例:20%未満)のときには、特段のモーションを選択しない。いいかれば、音源方向がはっきりしない音声には興味を示さない。
【0173】
信頼度が第1閾値以上第2閾値未満(例:20%以上40%未満)のとき、瞳制御部は瞳画像178を音源方向に向けて動かすことで「わずかな興味」を表現する。信頼度が第2閾値以上第3閾値未満(例:40%以上60%未満)のとき、動作制御部150は頭部フレーム316を回転させて、ロボット100の顔を音源方向に向けることで「中程度の興味」を表現する。信頼度が第3閾値以上のとき、動作制御部150はボディ104を回転させてロボット100の体全体を音源方向に向けることでより強い興味を表現してもよい。
【0174】
認識部156は、感情パラメータ等に応じて第1閾値から第3閾値を変化させてもよい。たとえば、認識部156は、好奇心を示す感情パラメータが所定値以上であるときやロボット100が静止状態にあるときには、各閾値を低下させてもよい。また、好奇心を示す感情パラメータが所定値以下であるときや親密度の高いユーザが視認されているときなど他に興味が向きやすい状況においては、各閾値を上昇させてもよい。このような制御方法によれば、音に興味を持ちやすい状況と持ちにくい状況を表現できる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13