(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023009135
(43)【公開日】2023-01-19
(54)【発明の名称】ロボット、プログラム及び方法
(51)【国際特許分類】
A63H 11/00 20060101AFI20230112BHJP
A63H 3/38 20060101ALI20230112BHJP
B25J 13/00 20060101ALI20230112BHJP
【FI】
A63H11/00 Z
A63H3/38 Z
B25J13/00 Z
【審査請求】有
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022177451
(22)【出願日】2022-11-04
(62)【分割の表示】P 2019541047の分割
【原出願日】2018-09-10
(31)【優先権主張番号】P 2017173975
(32)【優先日】2017-09-11
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】515337268
【氏名又は名称】GROOVE X株式会社
(72)【発明者】
【氏名】▲高▼田 優希
(72)【発明者】
【氏名】宮本 拓馬
(72)【発明者】
【氏名】林 要
(72)【発明者】
【氏名】大坪 俊介
(72)【発明者】
【氏名】中里 紘季
(72)【発明者】
【氏名】吉岡 直人
(72)【発明者】
【氏名】江本 正弘
【テーマコード(参考)】
2C150
3C707
【Fターム(参考)】
2C150AA05
2C150BC02
2C150CA01
2C150DA06
2C150DA25
2C150DF02
2C150EF29
2C150FB43
3C707AS36
3C707CS08
3C707HS27
3C707HT11
3C707JU03
3C707KS10
3C707KS11
3C707KS31
3C707KS39
3C707KT02
3C707KT11
3C707KV09
3C707KX19
3C707MT14
3C707WA16
3C707WL05
3C707WL07
3C707WL15
3C707WM30
(57)【要約】
【課題】ロボットがユーザを見つめる際の好適な制御方法を提案する。
【解決手段】
ロボットのモーションを選択する動作制御部と、
前記動作制御部により選択されたモーションを実行する駆動機構と、
前記ロボットの表示装置に眼画像を表示させる眼制御部とを備え、
前記眼画像において前記瞳領域を振動させるロボットを提供する。
【選択図】
図8
【特許請求の範囲】
【請求項1】
ロボットのモーションを選択する動作制御部と、
前記動作制御部により選択されたモーションを実行する駆動機構と、
前記ロボットの表示装置に眼画像を表示させる眼制御部と、
ユーザを検出する認識部と、を備え、
前記眼制御部は、前記ユーザと前記ロボットとの相対位置に応じて眼画像に含まれる瞳領域を変化させることを特徴とする自律行動型ロボット。
【請求項2】
前記眼制御部は、前記ユーザが所定範囲内に存在することを条件として、前記瞳領域を変化させることを特徴とする請求項1に記載の自律行動型ロボット。
【請求項3】
前記眼制御部は、眼球の3次元モデルである眼球モデルを生成し、前記眼球モデルを第1の面に投影することにより前記眼画像を生成することを特徴とする請求項1に記載の自律行動型ロボット。
【請求項4】
前記眼制御部は、瞼画像を第2の面に表示させ、前記第1の面に投影される前記眼画像に前記瞼画像を重畳して前記表示装置に表示させることを特徴とする請求項3に記載の自律行動型ロボット。
【請求項5】
前記眼制御部は、前記眼画像において前記瞳領域を振動させることを特徴とする請求項1に記載の自律行動型ロボット。
【請求項6】
前記眼制御部は、軸点を中心として前記瞳領域を振動させつつ、前記眼画像において前記軸点を移動させることを特徴とする請求項5に記載の自律行動型ロボット。
【請求項7】
前記眼制御部は、前記瞳領域を拡縮させることを特徴とする請求項1に記載の自律行動型ロボット。
【請求項8】
前記認識部は、更に、前記ユーザの視線方向を検出し、
前記眼制御部は、前記ユーザの前記ロボットに対する視線を検出したとき、前記眼画像を変化させることを特徴とする請求項1に記載の自律行動型ロボット。
【請求項9】
前記眼制御部は、第1および第2の表示装置それぞれに眼画像を表示させ、前記ユーザから遠い側の表示装置に表示させる眼画像の瞳領域を近い側の表示装置に表示させる眼画像の瞳領域よりも大きく変形させることを特徴とする請求項1に記載の自律行動型ロボット。
【請求項10】
前記動作制御部は、前記瞳領域の変化量が所定値以上となるとき、前記ロボットの頭部または胴部を前記ユーザに向けるモーションを選択することを特徴とする請求項1に記載の自律行動型ロボット。
【請求項11】
前記眼制御部は、複数種類の眼画像からいずれかの眼画像を制御対象として選択し、前記選択した眼画像に含まれる瞳領域を変化させることを特徴とする請求項1に記載の自律行動型ロボット。
【請求項12】
自律行動型ロボットのモーションを選択する機能と、
前記自律行動型ロボットに搭載される表示装置に眼画像を表示させる機能と、
ユーザを検出する機能と、
前記ユーザと前記ロボットとの相対位置に応じて眼画像に含まれる瞳領域を変化させる
機能と、をコンピュータに発揮させることを特徴とするロボット制御プログラム。
【請求項13】
カメラと、
温度検出センサと、
ロボットのモーションを選択する動作制御部と、
前記動作制御部により選択されたモーションを実行する駆動機構と、
前記ロボットの表示装置に眼画像を表示させる眼制御部と、
前記カメラにより取得された撮像画像または前記温度検出センサにより取得された熱分布画像に基づいて、ユーザを検出する認識部と、を備え、
前記認識部は、前記ロボットと前記ユーザの位置関係に応じて前記撮像画像および前記熱分布画像のいずれかを選択し、選択した画像から前記ユーザの顔領域を特定し、
前記眼制御部は、前記特定された顔領域を注視点として設定し、前記眼画像に含まれる瞳領域を前記注視点に応じて移動させることを特徴とする自律行動型ロボット。
【請求項14】
ロボットのモーションを選択する動作制御部と、
前記動作制御部により選択されたモーションを実行する駆動機構と、
前記ロボットの表示装置に眼画像を表示させる眼制御部と、
ユーザの目を検出する認識部と、を備え、
前記眼制御部は、前記ユーザの目を注視点として設定した上で前記眼画像に含まれる瞳領域を前記注視点に応じて移動させることにより前記ロボットの視線を前記ユーザの目に向けさせ、前記ロボットと前記ユーザの位置関係が変化した場合にも変化後の前記ユーザの目の位置を新たな注視点として設定することにより前記ロボットの前記ユーザの目に向けた視線を維持することを特徴とする自律行動型ロボット。
【請求項15】
ロボットのモーションを選択する動作制御部と、
前記動作制御部により選択されたモーションを実行する駆動機構と、
前記ロボットの表示装置に眼画像を表示させる眼制御部と、
ユーザを検出する認識部と、を備え、
前記認識部は、更に、前記ユーザの視線方向を検出し、
前記眼制御部は、前記ユーザの目を注視点として設定した上で前記眼画像に含まれる瞳領域を前記注視点に応じて移動させることにより前記ロボットの視線を前記ユーザの目に向けさせ、前記ユーザの視線が前記ロボットから外されたときに前記注視点を前記ユーザの目から外すことを特徴とする自律行動型ロボット。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、内部状態または外部環境に応じて自律的に行動選択するロボット、に関する。
【背景技術】
【0002】
人間は、癒やしを求めてペットを飼う。その一方、ペットの世話をする時間を十分に確保できない、ペットを飼える住環境にない、アレルギーがある、死別がつらい、といったさまざまな理由により、ペットをあきらめている人は多い。もし、ペットの役割が務まるロボットがあれば、ペットを飼えない人にもペットが与えてくれるような癒やしを与えられるかもしれない(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
近年、ロボット技術は急速に進歩しつつあるが、ペットのような伴侶としての存在感を実現するには至っていない。ロボットに自由意志があるとは思えないからである。人間は、ペットの自由意志があるとしか思えないような行動を観察することにより、ペットに自由意志の存在を感じ、ペットに共感し、ペットに癒される。
【0005】
ペットは、しゃべることができないため、自分の気持ちを眼で伝えようとする。眼は「心の窓」ともよばれる。相手を見つめることは、相手に興味をもっていることを意味する。人間は、ペットと見つめ合う時、心が通い合っていると感じ、ペットに対する親愛の情を掻き立てられる。本発明者らは、ロボットに「生物としての存在感」を発揮させるためには、ロボットにおける眼の表現力、特に「見つめる」制御が重要であると考える。
【0006】
本発明は、上記認識に基づいて完成された発明であり、その主たる目的は、ロボットがユーザを見つめる際の好適な制御方法を提案することにある。
【課題を解決するための手段】
【0007】
本発明のある態様における自律行動型ロボットは、ロボットのモーションを選択する動作制御部と、動作制御部により選択されたモーションを実行する駆動機構と、ロボットの表示装置に眼画像を表示させる眼制御部と、ユーザを検出する認識部と、を備える。
眼制御部は、ユーザとロボットとの相対位置に応じて眼画像に含まれる瞳領域を変化させる。
【0008】
本発明の別の態様における自律行動型ロボットは、カメラと、温度検出センサと、ロボットのモーションを選択する動作制御部と、動作制御部により選択されたモーションを実行する駆動機構と、ロボットの表示装置に眼画像を表示させる眼制御部と、カメラにより取得された撮像画像または温度検出センサにより取得された熱分布画像に基づいて、ユーザを検出する認識部と、を備える。
認識部は、ロボットとユーザの位置関係に応じて撮像画像および熱分布画像のいずれかを選択し、選択した画像からユーザの顔領域を特定する。
眼制御部は、特定された顔領域を注視点として設定し、眼画像に含まれる瞳領域を注視点に応じて移動させる。
【0009】
本発明の別の態様における自律行動型ロボットは、ロボットのモーションを選択する動作制御部と、動作制御部により選択されたモーションを実行する駆動機構と、ロボットの表示装置に眼画像を表示させる眼制御部と、ユーザの目を検出する認識部と、を備える。
眼制御部は、ユーザの目を注視点として設定した上で眼画像に含まれる瞳領域を注視点に応じて移動させることによりロボットの視線をユーザの目に向けさせ、ロボットとユーザの位置関係が変化した場合にも変化後のユーザの目の位置を新たな注視点として設定することによりユーザの目に向けたロボットの視線を維持する。
【0010】
本発明の別の態様における自律行動型ロボットは、ロボットのモーションを選択する動作制御部と、動作制御部により選択されたモーションを実行する駆動機構と、ロボットの表示装置に眼画像を表示させる眼制御部と、ユーザを検出する認識部と、を備える。
認識部は、更に、ユーザの視線方向を検出する。
眼制御部は、ユーザの目を注視点として設定した上で眼画像に含まれる瞳領域を注視点に応じて移動させることによりロボットの視線をユーザの目に向けさせ、ユーザの視線がロボットから外されたときに注視点をユーザの目から外す。
【発明の効果】
【0011】
本発明によれば、ロボットから見つめられている感覚をロボットの観察者にもたせやすくなる。
【図面の簡単な説明】
【0012】
【
図1】(a)は、ロボットの正面外観図であり、(b)は、ロボットの側面外観図である。
【
図2】ロボットの構造を概略的に表す断面図である。
【
図10】視線方向と対象方向の関係を説明するための模式図である。
【
図11】観察対象者がロボットの左に位置するときのロボットの外観図である。
【
図12】(a)は、通常時における眼画像の表示態様を示す図であり、(b)は、扁平時における眼画像の表示態様を示す図であり、(c)は、(b)に示す眼画像の斜め方向からの視認態様を示す図である。
【
図13】対象方向とモニタおよび瞳画像の見え方を示す模式図である。
【
図15】観察対象者がロボットの上方に位置するときのロボットの外観図である。
【
図17】右目モニタにおける瞳画像が中央ポジションにあるときの眼画像の模式図である。
【
図18】右目モニタにおける瞳画像が中央ポジションから外れたときの眼画像の模式図である。
【
図19】瞼画像と瞳画像の連動を説明するための模式図である。
【
図20】(a)は、開眼前の縮瞳状態を示す模式図であり、(b)は、閉眼中の通常状態を示す模式図であり、(c)は、開眼直後の通常状態を示す模式図であり、(d)は、開眼後の縮瞳状態を示す模式図である。
【
図21】(a)は、開眼前の散瞳状態を示す模式図であり、(b)は、閉眼中の通常状態を示す模式図であり、(c)は、開眼直後の通常状態を示す模式図であり、(d)は、開眼後の散瞳状態を示す模式図である。
【発明を実施するための形態】
【0013】
図1(a)は、ロボット100の正面外観図である。
図1(b)は、ロボット100の側面外観図である。
本実施形態におけるロボット100は、外部環境および内部状態に基づいて行動や仕草(ジェスチャー)を決定する自律行動型のロボットである。外部環境は、カメラやサーモセンサなど各種のセンサにより認識される。内部状態はロボット100の感情を表現するさまざまなパラメータとして定量化される。これらについては後述する。
【0014】
ロボット100は、原則として、オーナー家庭の家屋内を行動範囲とする。以下、ロボット100に関わる人間を「ユーザ」とよび、特に、ロボット100が所属する家庭の構成員となるユーザのことを「オーナー」とよぶ。
【0015】
ロボット100のボディ104は、全体的に丸みを帯びた形状を有し、ウレタンやゴム
、樹脂、繊維などやわらかく弾力性のある素材により形成された外皮を含む。ロボット100に服を着せてもよい。丸くてやわらかく、手触りのよいボディ104とすることで、ロボット100はユーザに安心感とともに心地よい触感を提供する。
【0016】
ロボット100は、総重量が15キログラム以下、好ましくは10キログラム以下、更に好ましくは、5キログラム以下である。生後13ヶ月までに、赤ちゃんの過半数は一人歩きを始める。生後13ヶ月の赤ちゃんの平均体重は、男児が9キログラム強、女児が9キログラム弱である。このため、ロボット100の総重量が10キログラム以下であれば、ユーザは一人歩きできない赤ちゃんを抱きかかえるのとほぼ同等の労力でロボット100を抱きかかえることができる。生後2ヶ月未満の赤ちゃんの平均体重は男女ともに5キログラム未満である。したがって、ロボット100の総重量が5キログラム以下であれば、ユーザは乳児を抱っこするのと同等の労力でロボット100を抱っこできる。
【0017】
適度な重さと丸み、柔らかさ、手触りのよさ、といった諸属性により、ユーザがロボット100を抱きかかえやすく、かつ、抱きかかえたくなるという効果が実現される。同様の理由から、ロボット100の身長は1.2メートル以下、好ましくは、0.7メートル以下であることが望ましい。本実施形態におけるロボット100にとって、抱きかかえることができるというのは重要なコンセプトである。
【0018】
ロボット100は、3輪走行するための3つの車輪を備える。図示のように、一対の前輪102(左輪102a,右輪102b)と、一つの後輪103を含む。前輪102が駆動輪であり、後輪103が従動輪である。前輪102は、操舵機構を有しないが、回転速度や回転方向を個別に制御可能とされている。後輪103は、いわゆるオムニホイールからなり、ロボット100を前後左右へ移動させるために回転自在となっている。左輪102aよりも右輪102bの回転数を大きくすることで、ロボット100は左折したり、左回りに回転できる。右輪102bよりも左輪102aの回転数を大きくすることで、ロボット100は右折したり、右回りに回転できる。
【0019】
前輪102および後輪103は、駆動機構(回動機構、リンク機構)によりボディ104に完全収納できる。走行時においても各車輪の大部分はボディ104に隠れているが、各車輪がボディ104に完全収納されるとロボット100は移動不可能な状態となる。すなわち、車輪の収納動作にともなってボディ104が降下し、床面Fに着座する。この着座状態においては、ボディ104の底部に形成された平坦状の着座面108(接地底面)が床面Fに当接する。
【0020】
ロボット100は、2つの手106を有する。手106には、モノを把持する機能はない。手106は上げる、振る、振動するなど簡単な動作が可能である。2つの手106も個別制御可能である。
【0021】
目110は、液晶素子または有機EL素子による画像表示が可能である。本実施形態における目110は、有機EL素子を配された平面形状のモニタの上に反射防止フィルムを貼付することで反射防止処置を施される。モニタの上に反射防止処置の施された凸面レンズを取り付けてもよい。ロボット100は、音源方向を特定可能なマイクロフォンアレイや超音波センサなどさまざまなセンサを搭載する。また、スピーカーを内蔵し、簡単な音声を発することもできる。
【0022】
ロボット100の頭部にはツノ112が取り付けられる。上述のようにロボット100は軽量であるため、ユーザはツノ112をつかむことでロボット100を持ち上げることも可能である。ツノ112には全天周カメラが取り付けられ、ロボット100の上部全域を一度に撮像可能である。
【0023】
図2は、ロボット100の構造を概略的に表す断面図である。
図2に示すように、ロボット100のボディ104は、ベースフレーム308、本体フレーム310、一対の樹脂製のホイールカバー312および外皮314を含む。ベースフレーム308は、金属からなり、ボディ104の軸芯を構成するとともに内部機構を支持する。ベースフレーム308は、アッパープレート332とロアプレート334とを複数のサイドプレート336により上下に連結して構成される。複数のサイドプレート336間には通気が可能となるよう、十分な間隔が設けられる。ベースフレーム308の内方には、バッテリー118、制御回路342および各種アクチュエータが収容されている。
【0024】
本体フレーム310は、樹脂材からなり、頭部フレーム316および胴部フレーム318を含む。頭部フレーム316は、中空半球状をなし、ロボット100の頭部骨格を形成する。胴部フレーム318は、段付筒形状をなし、ロボット100の胴部骨格を形成する。胴部フレーム318は、ベースフレーム308と一体に固定される。頭部フレーム316は、胴部フレーム318の上端部に相対変位可能に組み付けられる。
【0025】
頭部フレーム316には、ヨー軸320、ピッチ軸322およびロール軸324の3軸と、各軸を回転駆動するためのアクチュエータ326が設けられる。アクチュエータ326は、各軸を個別に駆動するための複数のサーボモータを含む。首振り動作のためにヨー軸320が駆動され、頷き動作のためにピッチ軸322が駆動され、首を傾げる動作のためにロール軸324が駆動される。
【0026】
頭部フレーム316の上部には、ヨー軸320を支持するプレート325が固定されている。プレート325には、上下間の通気を確保するための複数の通気孔327が形成される。
【0027】
頭部フレーム316およびその内部機構を下方から支持するように、金属製のベースプレート328が設けられる。ベースプレート328は、クロスリンク機構329(パンタグラフ機構)を介してプレート325と連結される一方、ジョイント330を介してアッパープレート332(ベースフレーム308)と連結される。
【0028】
胴部フレーム318は、ベースフレーム308と車輪駆動機構370を収容する。車輪駆動機構370は、回動軸378およびアクチュエータ379を含む。胴部フレーム318の下半部は、ホイールカバー312との間に前輪102の収納スペースSを形成するために小幅とされている。
【0029】
外皮314は、ウレタンゴムからなり、本体フレーム310およびホイールカバー312を外側から覆う。手106は、外皮314と一体成形される。外皮314の上端部には、外気を導入するための開口部390が設けられる。
【0030】
図3は、ロボットシステム300の構成図である。
ロボットシステム300は、ロボット100、サーバ200および複数の外部センサ114を含む。家屋内にはあらかじめ複数の外部センサ114(外部センサ114a、114b、・・・、114n)が設置される。外部センサ114は、家屋の壁面に固定されてもよいし、床に載置されてもよい。サーバ200には、外部センサ114の位置座標が登録される。位置座標は、ロボット100の行動範囲として想定される家屋内においてx,y座標として定義される。
【0031】
サーバ200は、家屋内に設置される。本実施形態におけるサーバ200とロボット100は、通常、1対1で対応する。ロボット100の内蔵するセンサおよび複数の外部セ
ンサ114から得られる情報に基づいて、サーバ200がロボット100の基本行動を決定する。
外部センサ114はロボット100の感覚器を補強するためのものであり、サーバ200はロボット100の頭脳を補強するためのものである。
【0032】
外部センサ114は、定期的に外部センサ114のID(以下、「ビーコンID」とよぶ)を含む無線信号(以下、「ロボット探索信号」とよぶ)を送信する。ロボット100はロボット探索信号を受信するとビーコンIDを含む無線信号(以下、「ロボット返答信号」とよぶ)を返信する。サーバ200は、外部センサ114がロボット探索信号を送信してからロボット返答信号を受信するまでの時間を計測し、外部センサ114からロボット100までの距離を測定する。複数の外部センサ114とロボット100とのそれぞれの距離を計測することで、ロボット100の位置座標を特定する。
もちろん、ロボット100が自らの位置座標を定期的にサーバ200に送信する方式でもよい。
【0033】
図4は、感情マップ116の概念図である。
感情マップ116は、サーバ200に格納されるデータテーブルである。ロボット100は、感情マップ116にしたがって行動選択する。
図4に示す感情マップ116は、ロボット100の場所に対する好悪感情の大きさを示す。感情マップ116のx軸とy軸は、二次元空間座標を示す。z軸は、好悪感情の大きさを示す。z値が正値のときにはその場所に対する好感が高く、z値が負値のときにはその場所を嫌悪していることを示す。
【0034】
図4の感情マップ116において、座標P1は、ロボット100の行動範囲としてサーバ200が管理する屋内空間のうち好感情が高い地点(以下、「好意地点」とよぶ)である。好意地点は、ソファの陰やテーブルの下などの「安全な場所」であってもよいし、リビングのように人が集まりやすい場所、賑やかな場所であってもよい。また、過去にやさしく撫でられたり、触れられたりした場所であってもよい。
ロボット100がどのような場所を好むかという定義は任意であるが、一般的には、小さな子どもや犬や猫などの小動物が好む場所を好意地点として設定することが望ましい。
【0035】
座標P2は、悪感情が高い地点(以下、「嫌悪地点」とよぶ)である。嫌悪地点は、テレビの近くなど大きな音がする場所、お風呂や洗面所のように濡れやすい場所、閉鎖空間や暗い場所、ユーザから乱暴に扱われたことがある不快な記憶に結びつく場所などであってもよい。
ロボット100がどのような場所を嫌うかという定義も任意であるが、一般的には、小さな子どもや犬や猫などの小動物が怖がる場所を嫌悪地点として設定することが望ましい。
【0036】
座標Qは、ロボット100の現在位置を示す。複数の外部センサ114が定期的に送信するロボット探索信号とそれに対するロボット返答信号により、サーバ200はロボット100の位置座標を特定する。たとえば、ビーコンID=1の外部センサ114とビーコンID=2の外部センサ114がそれぞれロボット100を検出したとき、2つの外部センサ114からロボット100の距離を求め、そこからロボット100の位置座標を求める。
【0037】
図4に示す感情マップ116が与えられた場合、ロボット100は好意地点(座標P1)に引き寄せられる方向、嫌悪地点(座標P2)から離れる方向に移動する。
【0038】
感情マップ116は動的に変化する。ロボット100が座標P1に到達すると、座標P1におけるz値(好感情)は時間とともに低下する。これにより、ロボット100は好意
地点(座標P1)に到達して、「感情が満たされ」、やがて、その場所に「飽きてくる」という生物的行動をエミュレートできる。同様に、座標P2における悪感情も時間とともに緩和される。時間経過とともに新たな好意地点や嫌悪地点が生まれ、それによってロボット100は新たな行動選択を行う。ロボット100は、新しい好意地点に「興味」を持ち、絶え間なく行動選択する。
【0039】
感情マップ116は、ロボット100の内部状態として、感情の起伏を表現する。ロボット100は、好意地点を目指し、嫌悪地点を避け、好意地点にしばらくとどまり、やがてまた次の行動を起こす。このような制御により、ロボット100の行動選択を人間的・生物的なものにできる。
【0040】
なお、ロボット100の行動に影響を与えるマップ(以下、「行動マップ」と総称する)は、
図4に示したようなタイプの感情マップ116に限らない。たとえば、好奇心、恐怖を避ける気持ち、安心を求める気持ち、静けさや薄暗さ、涼しさや暖かさといった肉体的安楽を求める気持ち、などさまざまな行動マップを定義可能である。そして、複数の行動マップそれぞれのz値を重み付け平均することにより、ロボット100の目的地点を決定してもよい。
【0041】
ロボット100は、行動マップとは別に、さまざまな感情や感覚の大きさを示すパラメータを有する。たとえば、寂しさという感情パラメータの値が高まっているときには、安心する場所を評価する行動マップの重み付け係数を大きく設定し、目標地点に到達することでこの感情パラメータの値を低下させる。同様に、つまらないという感覚を示すパラメータの値が高まっているときには、好奇心を満たす場所を評価する行動マップの重み付け係数を大きく設定すればよい。
【0042】
図5は、ロボット100のハードウェア構成図である。
ロボット100は、内部センサ128、通信機126、記憶装置124、プロセッサ122、駆動機構120およびバッテリー118を含む。駆動機構120は、上述した車輪駆動機構370を含む。プロセッサ122と記憶装置124は、制御回路342に含まれる。各ユニットは電源線130および信号線132により互いに接続される。バッテリー118は、電源線130を介して各ユニットに電力を供給する。各ユニットは信号線132により制御信号を送受する。バッテリー118は、リチウムイオン二次電池であり、ロボット100の動力源である。
【0043】
内部センサ128は、ロボット100が内蔵する各種センサの集合体である。具体的には、カメラ(全天周カメラ)、マイクロフォンアレイ、測距センサ(赤外線センサ)、サーモセンサ、タッチセンサ、加速度センサ、ニオイセンサなどである。タッチセンサは、外皮314と本体フレーム310の間に設置され、ユーザのタッチを検出する。ニオイセンサは、匂いの元となる分子の吸着によって電気抵抗が変化する原理を応用した既知のセンサである。
【0044】
通信機126は、サーバ200や外部センサ114、ユーザの有する携帯機器など各種の外部機器を対象として無線通信を行う通信モジュールである。記憶装置124は、不揮発性メモリおよび揮発性メモリにより構成され、コンピュータプログラムや各種設定情報を記憶する。プロセッサ122は、コンピュータプログラムの実行手段である。駆動機構120は、内部機構を制御するアクチュエータである。このほかには、表示器やスピーカーなども搭載される。
【0045】
プロセッサ122は、通信機126を介してサーバ200や外部センサ114と通信しながら、ロボット100の行動選択を行う。内部センサ128により得られるさまざまな
外部情報も行動選択に影響する。駆動機構120は、主として、車輪(前輪102)と頭部(頭部フレーム316)を制御する。駆動機構120は、2つの前輪102それぞれの回転速度や回転方向を変化させることにより、ロボット100の移動方向や移動速度を変化させる。また、駆動機構120は、車輪(前輪102および後輪103)を昇降させることもできる。車輪が上昇すると、車輪はボディ104に完全に収納され、ロボット100は着座面108にて床面Fに当接し、着座状態となる。また、駆動機構120は、ワイヤ134を介して、手106を制御する。
【0046】
図6は、ロボットシステム300の機能ブロック図である。
上述のように、ロボットシステム300は、ロボット100、サーバ200および複数の外部センサ114を含む。ロボット100およびサーバ200の各構成要素は、CPU(Central Processing Unit)および各種コプロセッサなどの演算器、メモリやストレージといった記憶装置、それらを連結する有線または無線の通信線を含むハードウェアと、記憶装置に格納され、演算器に処理命令を供給するソフトウェアによって実現される。コンピュータプログラムは、デバイスドライバ、オペレーティングシステム、それらの上位層に位置する各種アプリケーション・プログラム、また、これらのプログラムに共通機能を提供するライブラリによって構成されてもよい。以下に説明する各ブロックは、ハードウェア単位の構成ではなく、機能単位のブロックを示している。
ロボット100の機能の一部はサーバ200により実現されてもよいし、サーバ200の機能の一部または全部はロボット100により実現されてもよい。
【0047】
(サーバ200)
サーバ200は、通信部204、データ処理部202およびデータ格納部206を含む。
通信部204は、外部センサ114およびロボット100との通信処理を担当する。データ格納部206は各種データを格納する。データ処理部202は、通信部204により取得されたデータおよびデータ格納部206に格納されるデータに基づいて各種処理を実行する。データ処理部202は、通信部204およびデータ格納部206のインタフェースとしても機能する。
【0048】
データ格納部206は、モーション格納部232、マップ格納部216および個人データ格納部218を含む。
ロボット100は、複数の動作パターン(モーション)を有する。手106を震わせる、蛇行しながらオーナーに近づく、首をかしげたままオーナーを見つめる、などさまざまなモーションが定義される。
【0049】
モーション格納部232は、モーションの制御内容を定義する「モーションファイル」を格納する。各モーションは、モーションIDにより識別される。モーションファイルは、ロボット100のモーション格納部160にもダウンロードされる。どのモーションを実行するかは、サーバ200で決定されることもあるし、ロボット100で決定されることもある。
【0050】
ロボット100のモーションの多くは、複数の単位モーションを含む複合モーションとして構成される。たとえば、ロボット100がオーナーに近づくとき、オーナーの方に向き直る単位モーション、手を上げながら近づく単位モーション、体を揺すりながら近づく単位モーション、両手を上げながら着座する単位モーションの組み合わせとして表現されてもよい。このような4つのモーションの組み合わせにより、「オーナーに近づいて、途中で手を上げて、最後は体をゆすった上で着座する」というモーションが実現される。モーションファイルには、ロボット100に設けられたアクチュエータの回転角度や角速度などが時間軸に関連づけて定義される。モーションファイル(アクチュエータ制御情報)
にしたがって、時間経過とともに各アクチュエータを制御することで様々なモーションが表現される。
【0051】
先の単位モーションから次の単位モーションに変化するときの移行時間を「インターバル」とよぶ。インターバルは、単位モーション変更に要する時間やモーションの内容に応じて定義されればよい。インターバルの長さは調整可能である。
以下、いつ、どのモーションを選ぶか、モーションを実現する上での各アクチュエータの出力調整など、ロボット100の行動制御に関わる設定のことを「行動特性」と総称する。ロボット100の行動特性は、モーション選択アルゴリズム、モーションの選択確率、モーションファイル等により定義される。
【0052】
モーション格納部232は、モーションファイルのほか、各種のイベントが発生したときに実行すべきモーションを定義するモーション選択テーブルを格納する。モーション選択テーブルにおいては、イベントに対して1以上のモーションとその選択確率が対応づけられる。
【0053】
マップ格納部216は、複数の行動マップのほか、椅子やテーブルなどの障害物の配置状況を示すマップも格納する。個人データ格納部218は、ユーザ、特に、オーナーの情報を格納する。具体的には、ユーザに対する親密度とユーザの身体的特徴・行動的特徴を示すマスタ情報を格納する。年齢や性別などの他の属性情報を格納してもよい。
【0054】
ロボット100は、ユーザごとに親密度という内部パラメータを有する。ロボット100が、自分を抱き上げる、声をかけてくれるなど、自分に対して好意を示す行動を認識したとき、そのユーザに対する親密度が高くなる。ロボット100に関わらないユーザや、乱暴を働くユーザ、出会う頻度が低いユーザに対する親密度は低くなる。
【0055】
データ処理部202は、位置管理部208、マップ管理部210、認識部212、動作制御部222、親密度管理部220および状態管理部244を含む。
位置管理部208は、ロボット100の位置座標を、
図3を用いて説明した方法にて特定する。位置管理部208はユーザの位置座標もリアルタイムで追跡してもよい。
【0056】
状態管理部244は、充電率や内部温度、プロセッサ122の処理負荷などの各種物理状態など各種内部パラメータを管理する。状態管理部244は、感情管理部234を含む。
感情管理部234は、ロボット100の感情(寂しさ、好奇心、承認欲求など)を示すさまざまな感情パラメータを管理する。これらの感情パラメータは常に揺らいでいる。感情パラメータに応じて複数の行動マップの重要度が変化し、行動マップによってロボット100の移動目標地点が変化し、ロボット100の移動や時間経過によって感情パラメータが変化する。
【0057】
たとえば、寂しさを示す感情パラメータが高いときには、感情管理部234は安心する場所を評価する行動マップの重み付け係数を大きく設定する。ロボット100が、この行動マップにおいて寂しさを解消可能な地点に至ると、感情管理部234は寂しさを示す感情パラメータを低下させる。また、後述の応対行為によっても各種感情パラメータは変化する。たとえば、オーナーから「抱っこ」をされると寂しさを示す感情パラメータは低下し、長時間にわたってオーナーを視認しないときには寂しさを示す感情パラメータは少しずつ増加する。
【0058】
マップ管理部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の方向に向かう。
【0059】
認識部212は、外部環境を認識する。外部環境の認識には、温度や湿度に基づく天候や季節の認識、光量や温度に基づく物陰(安全地帯)の認識など多様な認識が含まれる。ロボット100の認識部156は、内部センサ128により各種の環境情報を取得し、これを一次処理した上でサーバ200の認識部212に転送する。
【0060】
具体的には、ロボット100の認識部156は、画像から移動物体、特に、人物や動物に対応する画像領域を抽出し、抽出した画像領域から移動物体の身体的特徴や行動的特徴を示す特徴量の集合として「特徴ベクトル」を抽出する。特徴ベクトル成分(特徴量)は、各種身体的・行動的特徴を定量化した数値である。たとえば、人間の目の横幅は0~1の範囲で数値化され、1つの特徴ベクトル成分を形成する。人物の撮像画像から特徴ベクトルを抽出する手法については、既知の顔認識技術の応用である。ロボット100は、特徴ベクトルをサーバ200に送信する。
【0061】
サーバ200の認識部212は、更に、人物認識部214と応対認識部228を含む。
人物認識部214は、ロボット100の内蔵カメラによる撮像画像から抽出された特徴ベクトルと、個人データ格納部218にあらかじめ登録されているユーザ(クラスタ)の特徴ベクトルと比較することにより、撮像されたユーザがどの人物に該当するかを判定する(ユーザ識別処理)。人物認識部214は、表情認識部230を含む。表情認識部230は、ユーザの表情を画像認識することにより、ユーザの感情を推定する。
なお、人物認識部214は、人物以外の移動物体、たとえば、ペットである猫や犬についてもユーザ識別処理を行う。
【0062】
応対認識部228は、ロボット100になされたさまざまな応対行為を認識し、快・不快行為に分類する。応対認識部228は、また、ロボット100の行動に対するオーナーの応対行為を認識することにより、肯定・否定反応に分類する。
快・不快行為は、ユーザの応対行為が、生物として心地よいものであるか不快なものであるかにより判別される。たとえば、抱っこされることはロボット100にとって快行為であり、蹴られることはロボット100にとって不快行為である。肯定・否定反応は、ユーザの応対行為が、ユーザの快感情を示すものか不快感情を示すものであるかにより判別される。たとえば、抱っこされることはユーザの快感情を示す肯定反応であり、蹴られることはユーザの不快感情を示す否定反応である。
【0063】
サーバ200の動作制御部222は、ロボット100の動作制御部150と協働して、ロボット100のモーションを決定する。サーバ200の動作制御部222は、マップ管理部210による行動マップ選択に基づいて、ロボット100の移動目標地点とそのための移動ルートを作成する。動作制御部222は、複数の移動ルートを作成し、その上で、いずれかの移動ルートを選択してもよい。
【0064】
動作制御部222は、モーション格納部232の複数のモーションからロボット100のモーションを選択する。各モーションには状況ごとに選択確率が対応づけられている。たとえば、オーナーから快行為がなされたときには、モーションAを20%の確率で実行
する、気温が30度以上となったとき、モーションBを5%の確率で実行する、といった選択方法が定義される。
行動マップに移動目標地点や移動ルートが決定され、後述の各種イベントによりモーションが選択される。
【0065】
親密度管理部220は、ユーザごとの親密度を管理する。上述したように、親密度は個人データ格納部218において個人データの一部として登録される。快行為を検出したとき、親密度管理部220はそのオーナーに対する親密度をアップさせる。不快行為を検出したときには親密度はダウンする。また、長期間視認していないオーナーの親密度は徐々に低下する。
【0066】
(ロボット100)
ロボット100は、通信部142、データ処理部136、データ格納部148、内部センサ128および駆動機構120を含む。
通信部142は、通信機126(
図5参照)に該当し、外部センサ114、サーバ200および他のロボット100との通信処理を担当する。データ格納部148は各種データを格納する。データ格納部148は、記憶装置124(
図5参照)に該当する。データ処理部136は、通信部142により取得されたデータおよびデータ格納部148に格納されているデータに基づいて各種処理を実行する。データ処理部136は、プロセッサ122およびプロセッサ122により実行されるコンピュータプログラムに該当する。データ処理部136は、通信部142、内部センサ128、駆動機構120およびデータ格納部148のインタフェースとしても機能する。
【0067】
データ格納部148は、ロボット100の各種モーションを定義するモーション格納部160と眼画像格納部172を含む。
ロボット100のモーション格納部160には、サーバ200のモーション格納部232から各種モーションファイルがダウンロードされる。モーションは、モーションIDによって識別される。前輪102を収容して着座する、手106を持ち上げる、2つの前輪102を逆回転させることで、あるいは、片方の前輪102だけを回転させることでロボット100を回転行動させる、前輪102を収納した状態で前輪102を回転させることで震える、ユーザから離れるときにいったん停止して振り返る、などのさまざまなモーションを表現するために、各種アクチュエータ(駆動機構120)の動作タイミング、動作時間、動作方向などがモーションファイルにおいて時系列定義される。
【0068】
データ格納部148には、マップ格納部216および個人データ格納部218からも各種データがダウンロードされてもよい。眼画像格納部172は、目110に表示される眼画像(後述)のデータを格納する。
【0069】
内部センサ128は、タッチセンサ154、サーモセンサ138、視線検出部140、カメラ144および測距センサ180を含む。
本実施形態におけるカメラ144は、ツノ112に取り付けられる全天周カメラ(全方位カメラ)である。カメラ144は、ロボット100の周辺を常時撮像する。サーモセンサ138は、ロボット100の周辺の外気温分布を定期的に検出する。ロボット100は、カメラ144およびサーモセンサ138によりユーザが周辺に存在しているか否かを検出する。視線検出部140は、カメラ144の撮像画像からユーザの目の動きを検出する既知のセンサである。視線検出部140により、ロボット100に対するユーザの視線方向を検出する。
【0070】
タッチセンサ154は、ボディ104に対するユーザのタッチを検出する。測距センサ180は、対象物までの距離を測定する既知のセンサである。
【0071】
データ処理部136は、認識部156、動作制御部150および眼制御部152を含む。
ロボット100の動作制御部150は、サーバ200の動作制御部222と協働してロボット100のモーションを決める。一部のモーションについてはサーバ200で決定し、他のモーションについてはロボット100で決定してもよい。また、ロボット100がモーションを決定するが、ロボット100の処理負荷が高いときにはサーバ200がモーションを決定するとしてもよい。サーバ200においてベースとなるモーションを決定し、ロボット100において追加のモーションを決定してもよい。モーションの決定処理をサーバ200およびロボット100においてどのように分担するかはロボットシステム300の仕様に応じて設計すればよい。
【0072】
ロボット100の動作制御部150は、サーバ200の動作制御部222とともにロボット100の移動方向を決める。行動マップに基づく移動をサーバ200で決定し、障害物をよけるなどの即時的移動をロボット100の動作制御部150により決定してもよい。駆動機構120は、動作制御部150の指示にしたがって前輪102を駆動することで、ロボット100を移動目標地点に向かわせる。
【0073】
ロボット100の動作制御部150は選択したモーションを駆動機構120に実行指示する。駆動機構120は、モーションファイルにしたがって、各アクチュエータを制御する。
【0074】
動作制御部150は、親密度の高いユーザが近くにいるときには「抱っこ」をせがむ仕草として両方の手106をもちあげるモーションを実行することもできるし、「抱っこ」に飽きたときには左右の前輪102を収容したまま逆回転と停止を交互に繰り返すことで抱っこをいやがるモーションを表現することもできる。駆動機構120は、動作制御部150の指示にしたがって前輪102や手106、首(頭部フレーム316)を駆動することで、ロボット100にさまざまなモーションを表現させる。
【0075】
眼制御部152は、眼画像を生成し、眼画像を目110に設置されるモニタに表示させる。眼画像の詳細は後述する。
【0076】
ロボット100の認識部156は、内部センサ128から得られた外部情報を解釈する。認識部156は、視覚的な認識(視覚部)、匂いの認識(嗅覚部)、音の認識(聴覚部)、触覚的な認識(触覚部)が可能である。認識部156に含まれる相対位置特定部182は、ロボット100と観察対象者の相対的な位置関係を特定する。
【0077】
認識部156は、カメラ144による撮影画像(天球画像)に基づいて、人やペットなどの移動物体を検出する。認識部156は、特徴抽出部146を含む。特徴抽出部146は、移動物体の撮像画像から特徴ベクトルを抽出する。上述したように、特徴ベクトルは、移動物体の身体的特徴と行動的特徴を示すパラメータ(特徴量)の集合である。移動物体を検出したときには、ニオイセンサや内蔵の集音マイク、温度センサ等からも身体的特徴や行動的特徴が抽出される。これらの特徴も定量化され、特徴ベクトル成分となる。
【0078】
ロボットシステム300は、大量の画像情報やその他のセンシング情報から得られる身体的特徴および行動的特徴に基づいて、高い頻度で出現するユーザを「オーナー」としてクラスタリングする。
たとえば、ひげが生えている移動物体(ユーザ)は早朝に活動すること(早起き)が多く、赤い服を着ることが少ないのであれば、早起きでひげが生えていて赤い服をあまり着ないクラスタ(ユーザ)、という第1のプロファイルができる。一方、メガネをかけてい
る移動物体はスカートを履いていることが多いが、この移動物体にはひげが生えていない場合、メガネをかけていてスカートを履いているが絶対ひげは生えていないクラスタ(ユーザ)、という第2のプロファイルができる。
以上は、簡単な設例であるが、上述の方法により、父親に対応する第1のプロファイルと母親に対応する第2のプロファイルが形成され、この家には少なくとも2人のユーザ(オーナー)がいることをロボット100は認識する。
【0079】
ただし、ロボット100は第1のプロファイルが「父親」であると認識する必要はない。あくまでも、「ひげが生えていて早起きすることが多く、赤い服を着ることはめったにないクラスタ」という人物像を認識できればよい。プロファイルごとに、プロファイルを特徴づける特徴ベクトルが定義される。
【0080】
このようなクラスタ分析が完了している状態において、ロボット100が新たに移動物体(ユーザ)を認識したとする。
このとき、サーバ200の人物認識部214は、新たな移動物体の特徴ベクトルに基づいてユーザ識別処理を実行し、移動物体がどのプロファイル(クラスタ)に該当するかを判断する。たとえば、ひげが生えている移動物体を検出したとき、この移動物体は父親である確率が高い。この移動物体が早朝行動していれば、父親に該当することはいっそう確実である。一方、メガネをかけている移動物体を検出したときには、この移動物体は母親である可能性もある。この移動物体にひげが生えていれば、母親ではなく父親でもないので、クラスタ分析されていない新しい人物であると判定する。
【0081】
特徴抽出によるクラスタ(プロファイル)の形成(クラスタ分析)と、特徴抽出にともなうクラスタへの当てはめは同時並行的に実行されてもよい。なお、オーナーの特徴は、あらかじめ登録されてもよい。そして、未知のユーザを検出したとき、特徴抽出部146はユーザから特徴ベクトルを抽出し、人物認識部214は既知のオーナーのいずれに該当するかを判定することで人物特定をしてもよい。
【0082】
検出・分析・判定を含む一連の認識処理のうち、ロボット100の認識部156は認識に必要な情報の取捨選択や抽出を行い、判定等の解釈処理はサーバ200の認識部212により実行される。認識処理は、サーバ200の認識部212だけで行ってもよいし、ロボット100の認識部156だけで行ってもよいし、上述のように双方が役割分担をしながら上記認識処理を実行してもよい。
【0083】
ロボット100に対する強い衝撃が与えられたとき、認識部156は内蔵の加速度センサによりこれを認識し、サーバ200の応対認識部228は、近隣にいるユーザによって「乱暴行為」が働かれたと認識する。ユーザがツノ112を掴んでロボット100を持ち上げるときにも、乱暴行為と認識してもよい。ロボット100に正対した状態にあるユーザが特定音量領域および特定周波数帯域にて発声したとき、サーバ200の応対認識部228は、自らに対する「声掛け行為」がなされたと認識してもよい。また、体温程度の温度を検知したときにはユーザによる「接触行為」がなされたと認識し、接触認識した状態で上方への加速度を検知したときには「抱っこ」がなされたと認識する。ユーザがボディ104を持ち上げるときの物理的接触をセンシングしてもよいし、前輪102にかかる荷重が低下することにより抱っこを認識してもよい。
まとめると、ロボット100は内部センサ128によりユーザの行為を物理的情報として取得し、サーバ200の応対認識部228は快・不快を判定し、サーバ200の認識部212は特徴ベクトルに基づくユーザ識別処理を実行する。
【0084】
サーバ200の応対認識部228は、ロボット100に対するユーザの各種応対を認識する。各種応対行為のうち一部の典型的な応対行為には、快または不快、肯定または否定
が対応づけられる。一般的には快行為となる応対行為のほとんどは肯定反応であり、不快行為となる応対行為のほとんどは否定反応となる。快・不快行為は親密度に関連し、肯定・否定反応はロボット100の行動選択に影響する。
【0085】
認識部156により認識された応対行為に応じて、サーバ200の親密度管理部220はユーザに対する親密度を変化させる。原則的には、快行為を行ったユーザに対する親密度は高まり、不快行為を行ったユーザに対する親密度は低下する。
【0086】
サーバ200の認識部212は、応対に応じて快・不快を判定し、マップ管理部210は「場所に対する愛着」を表現する行動マップにおいて、快・不快行為がなされた地点のz値を変化させてもよい。たとえば、リビングにおいて快行為がなされたとき、マップ管理部210はリビングに好意地点を高い確率で設定してもよい。この場合、ロボット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】
認識部156は、カメラ144およびサーモセンサ138によりユーザの顔の位置を検出する。認識部156の相対位置特定部182は、測距センサ180によりロボット100からユーザまでの距離(以下、「対象距離」とよぶ)を測定する。相対位置特定部182は、撮影画像や熱分布画像から特定されるユーザの顔の大きさに基づいて、対象距離を測定してもよい。
【0095】
[眼画像制御]
図7は、眼画像174の外観図である。
眼制御部152は、瞳画像164(瞳領域)と周縁画像168を含む眼画像174を生成し、眼画像174を目110の位置に埋設されるモニタ170に動画表示させる。瞳画像164を動かすことでロボット100の「視線」が表現される。また、所定のタイミングで瞬き動作を実行することもできる。
【0096】
瞳画像164は、瞳孔領域158と虹彩領域162を含む。また、瞳画像164には、外光の映り込みを表現するためのキャッチライト166も表示される。眼画像174のキャッチライト166は、外光の反射によって輝いているのではなく、眼制御部152により高輝度領域として表現される画像領域である。
【0097】
眼制御部152は、瞳画像164を上下左右に移動させる。ロボット100の認識部156がユーザを認識したときには、眼制御部152は瞳画像164をユーザの存在する方向に向ける。眼制御部152は、眼画像174を変化させることにより、ロボット100の「注視」を表現する。眼画像174の制御の詳細は
図9に関連して後述する。
【0098】
眼制御部152は、瞳画像164の形状を変化させてもよい。たとえば、瞳画像164がモニタ170の中心にあるときには真円形状とし、周縁部分にあるときには楕円形状に変化させる。瞳画像164の形状をモニタ170内の位置に応じて変化させることにより平面のモニタ170を実際の眼球のような曲面形状であるかのように見せることができる。
【0099】
眼制御部152は、外部光源の存在方向に対応してキャッチライト166の位置を変化させる。
図7は、ロボット100から見て左上方に外部光源が存在する場合のキャッチライト166の表示位置を示している。キャッチライト166の位置を外部光源に連動させることにより、いっそうリアルな眼画像174を表現できる。眼制御部152は、外部光源の方向を撮像画像から画像認識により判定してもよいし、光センサ(図示せず)の検出データから判定してもよい。
【0100】
図8は、眼画像174の拡大図である。
眼画像174においては、瞳画像164と周縁画像168に瞼(まぶた)を示す瞼画像176が重畳される。瞼画像176は、まつ毛178を含む。周縁画像168は、人間の結膜にあたる部分である。瞳画像164に含まれる虹彩領域162は、人間の角膜にあた
る部分である。
【0101】
眼制御部152は、眼画像174のうち、瞼画像176、瞳孔領域158、虹彩領域162およびキャッチライト166を変化させる。光量が大きいときには、眼制御部152は瞳孔領域158の直径を縮小する。眼制御部152は、瞳孔領域158ではなく、瞳画像164の全体を拡縮させてもよい。眼制御部152は、光量が特に大きいときには瞼画像176を下げることで「眩しそうな様子」を表現してもよい。
【0102】
図9は、眼画像174の生成方法を示す模式図である。
眼球モデル250は、ロボット100の眼球を模した三次元コンピュータグラフィックスである。眼制御部152は、まず、三次元の球体をポリゴンにて形成し、これにテクスチャ(以下、「眼球テクスチャ」とよぶ)を貼ることにより眼球モデル250を形成する。眼球テクスチャは、瞳画像164を含む画像である。眼画像格納部172は、複数種類の眼球テクスチャを格納する。
【0103】
眼球モデル250の前方に、第1面252および第2面254が設定される。第1面252および第2面254は、目110のモニタ170の表示面に対応する仮想的な平面である。眼制御部152は、眼球モデル250を第1面252に投影させることにより、3次元の眼球モデル250から2次元の眼球投影画像256を生成する。
【0104】
眼制御部152は、第2面254に瞼画像176を表示させる。第1面252の眼球投影画像256と第2面254の瞼画像176を重ね合わせることにより、
図8等に示した眼画像174が生成される。眼制御部152は、右目用と左目用に2つの眼球モデル250を生成し、それぞれについて眼画像174を生成する。以下、第1面252および第2面254をまとめていうときには「眼球面258」とよぶ。
【0105】
眼制御部152は、眼球モデル250を回転させることにより、眼球投影画像256を変化させる。3次元の眼球モデル250を生成してこれを回転させながら第1面252に投影する方式であるため、第1面252に眼画像174を直接描画するよりもロボット100の視線の動きを滑らかに表現できる。二次元の眼画像174であっても、三次元の眼球モデル250を元にして生成・制御されるため、本方式は、後述の固視微動など、生物の眼球に特有の複雑な動きを表現しやすい。
【0106】
眼制御部152は、第1面252とは異なる第2面254に瞼画像176を表示させることにより、瞼画像176を眼球投影画像256に重畳させる。人間は、目の前で手を叩かれたとき、反射的に目をつぶる。このような眼の条件反射をロボット100に実装する上では、瞼画像176を高速で変化させる必要がある。本実施形態においては、第1面252の画像処理と第2面254の画像処理が独立している。眼制御部152は、目をつぶる表現をするときには、第2面254だけを対象として画像制御すればよい。瞬きのときにも、眼制御部152は第2面254を対象として画像処理を実行すればよい。眼球モデル250(眼球投影画像256)と瞼画像176を別々に制御できるため、瞼画像176を高速に制御できる。
【0107】
図10は、視線方向と対象方向の関係を説明するための模式図である。
生物は、球体形状の眼球を有し、眼球を回転させることによって視線の方向を変化させる。たとえば、人間が犬の左側にいるときでも犬の視線を感じられるのは、犬が眼球を回転させ、瞳を左にいる人間に向けることができるためである。犬の瞳と正対する方向、いいかえれば、犬の眼球面における瞳の中心線方向(法線方向)が犬の視線方向を表す。このとき、人間からは犬の瞳は真円に見える。犬は、体や首を動かさなくても、眼球を動かして瞳の法線方向(視線方向)を変えることにより、いわゆる「流し目」にて人間を凝視
できる。
【0108】
上述したように、ロボット100においても凝視を表現するためには、瞳画像164の法線方向を凝視の対象者(以下、「観察対象者」とよぶ)に向ける必要がある。本実施形態におけるロボット100の目110は、モニタ170に眼画像174を表示することにより生成される。モニタ170は、ボディ104に固定される平面形状の表示装置である。したがって、ロボット100の目110の視線方向(瞳の法線方向)は固定されている。
【0109】
図10は、ロボット100を真上から見た図である。右目法線NRは右目モニタ170Rの法線方向(視線方向)を表し、左目法線NLは左目モニタ170Lの法線方向(視線方向)を表す。ロボット100は、頭部フレーム316または胴部フレーム318を回転させない限り、右目法線NR(右目視線)、左目法線NL(左目視線)を動かすことができない。
【0110】
以下、ロボット100から観察対象者の向かう方向を「対象方向」とよぶ。相対位置特定部182は、対象距離だけでなく対象方向も特定する。観察対象者がロボット100の右に存在するとき、右目法線NRと対象方向DRが近いため、観察対象者はロボット100の右目に見つめられていると感じることができる。一方、左目法線NLと対象方向DRは大きく異なるため、観察対象者はロボット100の左目に見つけられていると感じにくい。同様にして、観察対象者がロボット100の左に存在するとき、観察対象者はロボット100の左目に見つめられていると感じられるが、右目からは視線を感じにくくなる。
【0111】
観察対象者がロボット100の正面に存在するとき、右目法線NRと左目法線NLのいずれも対象方向DFと一致しない。観察対象者はロボット100の左右どちらの目からも視線を感じにくくなる。
【0112】
図11は、観察対象者がロボット100の左に位置するときのロボット100の外観図である。
図11において、観察対象者はロボット100の左側に位置する。左目法線NLと対象方向DLはほぼ一致するため、左目モニタ170Lの瞳画像164(以下、「左瞳画像164L」と表記する)を少し左方向に移動させれば、観察対象者はロボット100の左目に見つめられていると感じることができる。一方、右目法線NRと対象方向DLは大きく異なる。眼制御部152が右目モニタ170Rの瞳画像(以下、「右瞳画像164R」と表記する)を左方向に移動させても、観察対象者はロボット100の右目による視線を感じにくい。右目法線NR(右目の視線方向)が観察対象者に向いていないためである。対象距離が近いときには、左目に見つめられていても右目には見つめられていないという違和感が強くなりやすい。
【0113】
動作制御部150が頭部フレーム316を左方向に動かせば、右目法線NRと対象方向DLのずれを小さくできる。しかし、頭部フレーム316の回動量にも限度がある。また、首を動かさないで視線だけを観察対象者に向けるという表現を実現したい場合もある。
【0114】
視線を感じるとき、観察対象者と相手の瞳は正対している。観察対象者からロボット100の瞳画像164が真円に見えるとき、観察対象者はロボット100に見つめられていると感じることができると考えられる。本実施形態におけるモニタ170は本体に固定されているため、眼球のようにモニタ170を観察対象者に向けて回転させることができない。また、モニタ170は平面ディスプレイであるため、瞳画像164の位置に応じて視線方向が変わることもない。そこで、本実施形態においては、右目法線NRと対象方向DLがずれているとき、瞳画像164を変形させることにより、右眼画像174Rの視線方
向を擬似的に変化させる。
【0115】
図12(a)は、通常時における眼画像174の表示態様を示す図である。
図12(b)は、扁平時における眼画像174の表示態様を示す図である。
図12(c)は、
図12(b)に示す眼画像174の斜め方向からの視認態様を示す図である。
本実施形態においては、視線方向(法線方向)と対象方向のずれにともなう違和感を抑制するため、眼制御部152は瞳画像164を扁平化させることにより瞳画像164の視線方向を疑似的に動かす(以下、「瞳扁平処理」とよぶ)。瞳扁平処理は、瞳画像164を縦方向に圧縮し、瞳画像164を横長の楕円形状に変形させる処理である。
【0116】
観察対象者がロボット100の左側にいるとき、観察対象者は左目モニタ170Lの表示面と正対する。このとき、眼制御部152は左目の瞳画像164を扁平化させない。観察対象者からは、真円の左眼画像174Lと真円の瞳画像164が見えるため、観察対象者はロボット100の左目の視線を感じることができる。
【0117】
一方、観察対象者は右目モニタ170Rを斜め左方向から見ることになるため(
図11参照)、右目モニタ170Rは縦長の楕円形状に見える。円形のコインを斜めから見るときコインが縦長に見えるのと同じである。眼制御部152は右目の瞳画像164を
図12(b)に示すように扁平化させる。横長に扁平化した瞳画像164を斜め左方向から見ると、
図12(c)に示すように瞳画像164は真円に見える。モニタ170を斜めからみるときにモニタ170が縦長に扁平化するため、瞳画像164を横長に扁平化しておけば、瞳画像164は真円に近い表示となる。
【0118】
図13は、対象方向とモニタ170および瞳画像164の見え方を示す模式図である。
図13においては、
図12(b)に示したように瞳画像164が扁平化しているものとする。観察対象者がモニタ170に正対するとき(正面方向D1)、モニタ170は真円に見えるが、瞳画像164は横長に大きく扁平している。モニタ170の左方向D2に観察対象者がいるとき、観察対象者はモニタ170を斜めから見ることになるため、モニタ170は縦長に扁平した形で見える。モニタ170の縦長扁平と瞳画像164の横長扁平が相殺され、瞳画像164は真円に近い横長扁平形状に見える。観察対象者が更に左方向D3に位置すると、モニタ170はいっそう縦長に扁平して見え、瞳画像164は真円形状に見える。このように、横長楕円形状の瞳画像164を斜め方向から見るとき、観察対象者には瞳画像164が真円に見える。
【0119】
平面のモニタ170が動かなければ、モニタ170の法線方向も変化しないので、ロボット100の視線方向を実際には変化させることはできない。本実施形態においては、瞳画像164を変形させることで、斜め方向からモニタ170を見るときにも真円形状の瞳画像164を観察対象者に見せる。瞳画像164を横長に扁平させることにより、モニタ170と正対していない観察対象者に対して擬似的な真円にて瞳画像164を見せることができる。このような制御方法によれば、ロボット100の左側にいる観察対象者は、左目だけではなく、右目にも見つめられていると感じることができる。瞳扁平処理により、不動かつ平面形状のモニタ170であっても、「流し目による凝視」を表現できる。ただし、左方向D3にいる観察対象者に対応して瞳扁平処理を実行したとき、正面方向D1にいる別のユーザには扁平化した瞳画像164が見えてしまう。
【0120】
本実施形態においては、真円の瞳画像164と扁平の瞳画像164の2パターンが用意される。眼制御部152は、眼球テクスチャを変更することにより、2種類の瞳画像164を切り替える。2パターンに限らず、扁平度に応じて複数種類の眼球テクスチャを用意してもよい。眼球テクスチャを貼り替えるだけなので、眼制御部152は瞳画像164の扁平度を簡易かつ高速に変更できる。
【0121】
観察対象者がロボット100の正面にいるときには(
図10の対象方向DF参照)、眼制御部152は、右目の瞳画像164および左目の瞳画像164の双方を扁平化させる。観察対象者がロボット100の左側にいるときには(
図10の対象方向DL参照)、眼制御部152は右目の瞳画像164を扁平化させるが左目の瞳画像164は扁平化させない。観察対象者がロボット100の右側にいるときには(
図10の対象方向DR参照)、眼制御部152は左目の瞳画像164を扁平化させるが右目の瞳画像164は扁平化させない。
【0122】
ロボット100は、ユーザによる抱っこを検知したときには、抱っこをしているユーザを観察対象者として特定する。抱っこをされたとき、眼制御部152はロボット100と観察対象者の相対位置に応じて双方または一方の瞳画像164を扁平化させる。相対位置特定部182により特定される「相対位置」は、対象方向であってもよいし、対象方向と対象距離の双方に基づいて定義されてもよい。
【0123】
抱っこをされていないときには、ロボット100はカメラ144により周辺を撮影し、認識部156は画像処理によりユーザを認識する。ユーザが1人しかいないときには、認識部156はその唯一のユーザを観察対象者として特定する。眼制御部152は、ロボット100と観察対象者の相対位置に応じて瞳画像164(瞳領域)を変化させる。相対位置特定部182は、カメラ144の撮影画像からユーザの顔を認識することにより対象方向を特定する。2人以上のユーザがいるときには、認識部156はいずれか1人のユーザを観察対象者として選択する。観察対象者は、対象距離のもっとも近いユーザであってもよいし、もっとも親密度の高いユーザであってもよい。
【0124】
図14は、固視微動を説明するための模式図である。
人間の瞳は、眼から取り入れた光が網膜に焼き付くのを防ぐため、また、視神経の疲れを防止するため絶えず微動している。これを「固視微動(Involuntary Eye Movement)」という。固視微動は、ドリフト(drift)、トレマ(tremor)、マイクロサッケード(micro-saccade)といった動きに分解される。ドリフトは瞳の中心点の波状の動き、トレマはドリフトに重なったジグザグの動き、マイクロサッケードは瞳の直線状の動きを表す。固視微動は、人間の心理状態を表すともいわれている。
【0125】
本実施形態におけるロボット100の眼画像174は、この固視微動をシミュレートする。具体的には、眼制御部152は瞳画像164の軸点を波状にゆっくり動かしつつ、瞳画像164を、軸点を中心として振動させることによりトレマとドリフトを表現する。また、定期的、あるいは、ランダムに瞳画像164の軸点を跳躍的に移動させることでマイクロサッケードを表現する。軸点とは、瞳画像164に含まれる任意の点であればよい。本実施形態においては、軸点とは瞳画像164の中心点であるとする。
【0126】
モニタ170に映る瞳画像164を振動させることにより、特に、固視微動に似た動きをさせることにより、ロボット100の生物感をいっそう高めることができる。眼制御部152は、瞳画像164をトレマ運動させつつ、ランダムなタイミングにてマイクロサッケード運動させる。眼制御部152は、ロボット100の電源投入後は、瞳画像164を常時ドリフト運動させつつ、トレマ運動とマイクロサッケード運動を継続させる。
【0127】
以上、実施形態に基づいてロボット100およびロボット100を含むロボットシステム300について説明した。
本実施形態に示す制御方法によれば、ユーザがロボット100に正対していないときでも、ユーザはロボット100に見つめられていると感じることができる。見つめられているとは、視線、いいかえれば、眼球における瞳の法線が自分に向けられていると感じるこ
とである。このとき、自分を見つめる瞳は真円となる。本実施形態におけるロボット100は、三次元の眼球モデル250を有するものの、それを二次元のモニタ170(眼球面258)に投影するため、実際に瞳の法線を動かすことはできない。そこで、本実施形態においては、瞳画像164を扁平化して、モニタ170に正対しないユーザに対しても真円に近い瞳画像164を見せることにより、「見つめられている」という感覚をユーザにもたせている。
【0128】
ロボット100は、丸い頭部を有し、法線方向の異なる2枚のモニタ170に眼画像174を表示させる。本質的に、左右の瞳画像164は別々の方向を向いている(
図10の右目法線NRと左目法線NL)。本発明者らは、ロボット100と向き合うとき、ロボット100に見つめられていると感じにくいことに気づき、その原因について分析した。本実施形態においては、ユーザ(観察対象者)とロボット100の相対位置に応じて瞳扁平処理を施すことにより、ユーザに対して真円の瞳画像164を見せている。瞳扁平処理により、モニタ170の法線方向に固定されずに擬似的な視線方向を設定できる。
【0129】
本実施形態においては、眼制御部152は三次元の眼球モデル250を生成し、これを第1面252に投影することにより二次元の眼画像174を生成する。眼球モデル250を回転させることにより、瞳画像164の移動や固視微動を表現できる。更に、眼制御部152は、瞼画像176を投影した第2面254を第1面252に重ねて表示する。眼球モデル250(眼球投影画像256)とは独立して瞼画像176を制御できるため、眼制御部152は瞼画像176を素早く変化させることができる。
【0130】
眼制御部152は、固視微動を模した動きにて瞳画像164を微動させる。ユーザが近距離にてロボット100の眼画像174を見つめたときにも、視線だけではなく固視微動によっていっそう「見つめられている」と感じやすくなる。また、固視微動を表現することにより、ユーザはロボット100の生物としての存在を感じ取りやすくなる。
【0131】
なお、本発明は上記実施形態や変形例に限定されるものではなく、要旨を逸脱しない範囲で構成要素を変形して具体化することができる。上記実施形態や変形例に開示されている複数の構成要素を適宜組み合わせることにより種々の発明を形成してもよい。また、上記実施形態や変形例に示される全構成要素からいくつかの構成要素を削除してもよい。
【0132】
1つのロボット100と1つのサーバ200、複数の外部センサ114によりロボットシステム300が構成されるとして説明したが、ロボット100の機能の一部はサーバ200により実現されてもよいし、サーバ200の機能の一部または全部がロボット100に割り当てられてもよい。1つのサーバ200が複数のロボット100をコントロールしてもよいし、複数のサーバ200が協働して1以上のロボット100をコントロールしてもよい。
【0133】
ロボット100やサーバ200以外の第3の装置が、機能の一部を担ってもよい。
図6において説明したロボット100の各機能とサーバ200の各機能の集合体は大局的には1つの「ロボット」として把握することも可能である。1つまたは複数のハードウェアに対して、本発明を実現するために必要な複数の機能をどのように配分するかは、各ハードウェアの処理能力やロボットシステム300に求められる仕様等に鑑みて決定されればよい。
【0134】
上述したように、「狭義におけるロボット」とはサーバ200を含まないロボット100のことであるが、「広義におけるロボット」はロボットシステム300のことである。サーバ200の機能の多くは、将来的にはロボット100に統合されていく可能性も考えられる。
【0135】
ロボット100の行動制御プログラムは、所定のサーバからインターネットを介して提供されてもよいし、CD-ROMなどの固定の記録媒体により提供されてもよい。いずれにしてもロボット100の行動制御プログラムは、ロボット100とは異なる記録媒体(サーバ、CD-ROMなど)から提供されることにより、ロボット100にインストールされてもよい。
【0136】
[変形例]
本実施形態においては、ロボット100は2つの目110を有するとして説明したが、3以上の目110を有するロボット、あるいは、目110を1つしか有さないロボットに対しても本発明は応用可能である。
【0137】
本実施形態におけるロボット100は、2つの目110の法線方向(モニタ170の向き)が異なるとして説明したが、2以上の目110の法線方向が同一であるときにも本発明は応用可能である。たとえば、平面形状の顔面を有し、平面顔面に2つの目110を設定されるロボットを想定する。このロボットの正面に観察対象者がいるときには、瞳扁平処理は不要である。ロボットの斜め前方に観察対象者が存在するときには、2つの瞳画像164の双方を観察対象者とロボット100の相対位置に扁平化させればよい。
【0138】
ユーザAがユーザBにロボット100を手渡すとき、ユーザAに対する親密度がユーザBに対する親密度が高いならば、ロボット100はユーザAを観察対象者として選択してもよい。この場合には、好きなユーザAからユーザBに手渡されることによる不安感をユーザAに眼で訴えるという感情表現が可能となる。
【0139】
眼制御部152は、ロボット100の周辺に複数のユーザが検出されたときには瞳扁平処理を実行しない、あるいは、扁平度を抑制するとしてもよい。ユーザAが観察対象者であるとき、ロボット100はユーザAから真円の瞳画像164が見えるように瞳画像164を扁平化する。このとき、ユーザAとは異なる方向に位置するユーザB(観察対象者でないユーザ)には、扁平化した瞳画像164が見えてしまう。複数のユーザが存在するとき、あるいは、ロボット100から見て複数のユーザが所定角度以上異なる方向に存在するときには、眼制御部152は瞳画像164の扁平化を中止または抑制してもよい。
【0140】
眼制御部152は、観察対象者がロボット100から所定範囲(以下、「瞳制御範囲」とよぶ)内にいるとき、たとえば、ロボット100から3メートル以内であって、ロボット100の前方150度の範囲内に観察対象者が存在するときに限り瞳扁平化処理を実行するとしてもよい。観察対象者とロボット100が離れているときには、観察対象者はロボット100の視線を感じにくく、視線方向のずれにともなう違和感を抱きにくい。また、観察対象者がロボット100の後方にいるときには、観察対象者からはロボット100の目110を見ることができないため、瞳扁平化処理を実行する必要性が薄い。
【0141】
眼制御部152は、複数のユーザが瞳制御範囲内に存在するときには、瞳扁平処理を実行しない、または、抑制するとしてもよい。複数のユーザが瞳制御範囲にいるとき、1人のユーザに対して瞳扁平処理を実行すると他のユーザに扁平化された瞳画像164を視認されてしまうためである。一方、複数のユーザが存在するときであっても、瞳制御範囲内にいるユーザが1人だけの場合には、眼制御部152はそのユーザを対象として瞳扁平処理を実行してもよい。
【0142】
眼制御部152は、瞳画像164を拡縮させてもよい。眼制御部152は、周縁画像168のサイズを維持したまま瞳孔領域158を拡縮させてもよいし、虹彩領域162そのものを拡縮させてもよい。眼制御部152は、所定のイベント(以下、「拡縮イベント」
とよぶ)が発生したことを契機として、瞳画像164を拡縮する。大きな音や人を検出したときに眼制御部152は瞳画像164を拡大することにより、ロボット100の驚きや興味を表現してもよい。親密度が所定の閾値以上のユーザを検出したときや、ユーザの視線を検出したときに眼制御部152は瞳画像164を拡大してもよい。
【0143】
認識部156は、光センサ等により外部環境が明るさを検出してもよい。眼制御部152は、外部環境の明るさが所定値以上のときには瞳画像164を縮小させ、明るさが所定値以下のときには瞳画像164を拡大させてもよい。このように拡縮イベントは、興味や驚きも含めた外部環境の変化を示すイベントとして定義されればよい。
【0144】
眼制御部152は、所定のイベント(以下、「エフェクトイベント」とよぶ)が発生したとき、眼画像174に所定のエフェクト表示をしてもよい。眼制御部152は、所定範囲内に存在するユーザからロボット100に向けられた視線を検出したとき、所定の確率にてウィンクを実行してもよい。具体的には、瞼画像176を瞬間的に開閉させることでウィンクを表現してもよい。ウィンクのほかにも、瞳をそらす、瞳をにじませるなどのエフェクト表示が考えられる。たとえば、親密度が所定値以下のユーザ(嫌いなユーザ)が検出されたとき、眼制御部152はユーザに視線を向けないように瞳画像164を動かしてもよい。いいかえれば、眼制御部152は「嫌いなユーザ」を観察対象者から除外してもよい。眼制御部152は、親密度が高いユーザほど凝視時間を長く設定してもよい。ユーザから話しかけられたときに眼制御部152は瞳画像164を拡大させる、あるいは、瞳が潤んでいるかのような潤目表示をすることで「興味」を示してもよい。潤目表示の具体的な方法としては、瞳画像164に映るキャチライト166のサイズを拡大する、キャッチライト166をユラユラと振動させる、キャッチライト166の数や形、位置の変更、瞳画像164または瞳孔領域158を拡大する、瞳画像164を振動させるなどが考えられる。
【0145】
本実施形態におけるモニタ170は、有機EL素子による平面ディスプレイであるとして説明した。有機ELは曲面化が可能であるため、モニタ170そのものの曲面化ができればいっそう自然な視線制御が可能になると考えられる。また、本実施形態におけるモニタ170はボディ104に固定されるが、モニタ170がボディ104において可動としてもよい。モニタ170の可動および曲面化により、いっそう自然な視線の変化を表現できると考えられる。モニタ170の曲率や可動性に制限があるときでも、本実施形態に示した瞳扁平処理と併用することにより、自然な視線表現が可能となる。
【0146】
本実施形態においては、眼制御部152は瞳画像164を横方向に扁平させるとして説明した。眼制御部152は、対象方向に応じて瞳画像164を任意の方向に変形させてもよい。
図15に示すように、ロボット100の上部に観察対象者の顔が位置するときには、眼制御部152は瞳画像164を縦方向に扁平させてもよい。縦方向および横方向に限らず、対象方向に合わせて斜め方向に瞳画像164が変形されてもよい。相対位置特定部182は、観察対象者にロボット100が抱っこされているときには、ジャイロセンサやタッチセンサ、撮影画像等により抱っこの傾きを検出し、ロボット100の傾きと観察対象者の顔の位置に基づいてロボット100と観察対象者との相対的な位置関係を特定する。眼制御部152は、相対位置に基づいて、瞳扁平処理するときの虹彩領域162の扁平方向を選択する。このような制御方法によれば、上方からロボット100を見下ろしたときでも、ロボット100が上目遣いにて観察対象者を凝視している様子を表現できる。横方向の扁平と原理は同じである。小動物が上目遣いで見上げるとき、観察対象者は小動物の可愛らしさを感じやすい。ロボット100においても、瞳画像164を縦方向に瞳扁平処理することでこのような小動物と同様の上目遣いを表現できる。
【0147】
本実施形態においては、眼制御部152は真円の瞳画像164の眼球テクスチャと扁平
の瞳画像164の眼球テクスチャを貼り替えることにより、瞳画像164を2段階に変化させるとして説明した。眼制御部152は、3段階以上にて瞳画像164を変化させてもよい。また、テクスチャの貼り替えに限らず、眼制御部152は瞳画像164の扁平度を連続的に変化させてもよい。たとえば、眼制御部152は、眼球モデル250に貼り付けられた眼球テクスチャにおける瞳画像164を連続的に扁平させることで瞳画像164の連続的な扁平を表現してもよい。眼制御部152は、モニタ170の法線方向と対象方向のなす角度が大きいほど瞳画像164の扁平度を大きく設定してもよい。
【0148】
瞳画像164の扁平度には上限を設定してもよい。過度の扁平を抑制することにより、観察対象者以外のユーザが不自然な形状にて瞳画像164を認識するのを抑制できる。また、瞳画像164の扁平度が第1閾値以上となるとき、認識部156は頭部フレーム316を観察対象者の方向に回動させてもよい。頭部フレーム316を少し動かすことで、瞳画像164の扁平度を過度に大きくしなくても、観察対象者への凝視を表現できる。同様にして、扁平度が第1閾値よりも大きな第2閾値以上となるときには、認識部156は胴部フレーム318(体全体)を観察対象者に向けて回動させてもよい。
【0149】
眼制御部152は、複数種類の眼球モデル250(眼画像174)のうちのいずれかを選択してもよい。たとえば、眼制御部152は、複数の眼球テクスチャ・セットから眼球モデル250に貼り付けるべき眼球テクスチャ・セットを選択してもよい。瞳の色の異なる複数の眼球テクスチャ・セット(眼画像174)を用意してもよい。あるいは、マンガのような瞳の眼球テクスチャ・セットと写真のような瞳の眼球テクスチャ・セットを用意してもよい。あらかじめ複数種類の眼球テクスチャ・セットを用意しておき、そこから制御対象となる眼球テクスチャ・セットを選択することを「第1選択」とよぶ。眼球テクスチャ・セットには、扁平度に応じて複数の眼球テクスチャが対応づけられる。扁平度に応じて、眼球テクスチャ・セットに含まれるいずれかの眼球テクスチャを選択することを「第2選択」とよぶ。たとえば、青い目の眼球テクスチャ・セットが第1選択されたときには、眼制御部152は第1選択された眼球テクスチャ・セットに含まれる複数の青い目の眼球テクスチャのうちのいずれかを扁平度に応じて第2選択する。また、眼制御部152は、複数種類の眼球テクスチャのいずれかを第1選択し、第1選択された眼球テクスチャにおいて瞳画像164の扁平度を変化させてもよい。
【0150】
ユーザは、眼制御部152に対して選択指示をすることにより、眼球モデル250を切り替えてもよい。ユーザは、音声により眼球テクスチャ・セットの選択指示を入力してもよいし、ロボット100に図示しない選択ボタンを設けてもよい。地域に応じて眼球モデル250(眼球テクスチャ・セット)を選択してもよい。たとえば、北米に出荷されたロボット100については青い目の眼球モデル250(眼球テクスチャ・セット)を設定し、アジア圏に出荷されたロボット100については黒い目の眼球モデル250を設定してもよい。眼制御部152は、GPS(Global Positioning System)によりロボット100の所在地を判定し、所在地に応じて眼球モデル250を変更してもよい。眼制御部152は、電源投入後に最初に見たオーナーの瞳の色に近い眼球テクスチャ・セットを第1選択してもよい。
【0151】
眼制御部152は、2つのモニタ170の輝度を個別に変化させてもよい。一般的には、モニタ170は正対時に明るく見えるが、斜め方向からモニタ170を見ると暗く見える。
図11のように、法線方向と対象方向(視線方向)のずれが左目モニタ170Lにより大きな右目モニタ170Rは、左目モニタ170Lよりも暗く見える。このとき、眼制御部152は、左目モニタ170Lよりも右目モニタ170Rの輝度を高くすることにより、観察対象者から遠い右目モニタ170Rにおける瞳画像164の視認性を高めることができる。いわば、明るさという点において左右の目110のバランスを図ることができる。眼制御部152は、モニタ170の法線方向と対象方向のずれが大きいほどモニタ1
70の輝度を高く設定すればよい。あるいは、眼制御部152は、瞳画像164の扁平度が大きいほどモニタ170の輝度を高く設定するとしてもよい。
【0152】
眼制御部152の主たる機能は、眼球テクスチャ・セットを第1選択する第1機能、第1選択された眼球テクスチャ・セットに含まれるいずれかの眼球テクスチャを扁平度に応じて第2選択すること第2機能、眼球テクスチャを貼付された眼球モデル250を立体的に動かし、これを第1面252に投影する第3機能、瞼画像176を表示させる第4機能である。眼制御部152は、第1から第4の機能をそれぞれ担当する「第1眼選択部」「第2眼制御部」「第3眼制御部」「第4眼制御部」を備えてもよい。
【0153】
本実施形態においては、瞳扁平処理を前提として説明したが、瞳扁平処理を実行しない各種変形例も想定可能である。
【0154】
<注視点S>
図16は、注視点Sを説明するための模式図である。
眼制御部152は、ロボット100が存在する空間内の任意の地点に注視点Sを設定してもよい。眼制御部152は、眼球モデル250R(右目)および眼球モデル250L(左目)を回転させ、2つの瞳画像164を注視点Sに向ける。いいかえれば、眼球モデル250における瞳画像164の法線上に注視点Sを位置させる。ロボット100の2つの瞳画像164による2つの視線を注視点Sに集中させることにより、ロボット100による注視点Sの「注目」を表現できる。
【0155】
カメラ144、左目モニタ170Lおよび右目モニタ170Rは、ロボット100の頭部フレーム316に設けられており、それらの相対的な位置関係は固定されている。まず、ロボット100の額(頭部フレーム316における所定領域)を原点とする三次元の座標系(以下、「視線座標系」とよぶ)を定義する。視線座標系において、カメラ144、左目モニタ170Lおよび右目モニタ170Rの位置座標は固定される。視線座標系において注視点Sを配置することにより、視線を表現するための瞳画像164のモニタ170における表示位置を算出できる。眼制御部152は、この視線座標系において注視点Sの座標を決定する。ロボット100(左目モニタ170Lおよび右目モニタ170R)から注視点Sまでの距離は、デプスカメラやステレオカメラなどの測距センサを用いて測定してもよい。注視点Sを人の顔に設定するときには、撮像画像に含まれる顔画像の大きさに基づいて距離判定してもよい。注視点Sは、人の顔に限らず、ロボット100がそのときに興味を持っている物体であってよい。たとえば、ロボット100が画像認識をしている対象を注視点Sに設定して、画像認識の進行に応じて順次注視点Sを切り替えても良い。
【0156】
ユーザがロボット100を抱っこしているときや、タッチしているときなどは、その態様に応じてユーザとロボット100のおおよその距離が決まる。眼制御部152は、ロボット100がユーザに対してどのような態様の関わり方をしているかを特定し、その態様に応じて注視点Sまでの距離を推定してもよい。このように、注視点Sの視線座標系(空間)における座標値を算出し、左右の眼球モデル250の法線上に注視点Sが位置するように瞳画像164の位置を算出すればよい。
【0157】
眼制御部152は、ユーザの顔領域、好ましくは、ユーザの目を注視点Sとして設定すればよい。これにより、ロボット100のユーザに対する注目(凝視)を表現できる。このほかにも、眼制御部152は、ロボット100が新しく発見したものや新しく視認したユーザに注視点Sを設定してもよい。ユーザが身につけるアクセサリ、たとえば、指輪に注視点Sを設定すればロボット100の指輪に対する興味・好奇心を表現できる。別のロボット100に注視点Sを設定してもよい。注視点Sを高頻度で動かすことにより、注意散漫を表現できる。
【0158】
眼制御部152は、視線検出部140がユーザからの視線を検出したとき、そのユーザの顔領域または目に注視点Sを設定してもよい。このような制御方法によれば、ユーザから見つめられたときにユーザを見つめ返す行動表現が可能となり、ユーザとロボット100が「見つめ合う時間」を作ることができる。
【0159】
人間には、好きなものをずっと視界に入れておきたいという本能があるといわれる。ユーザがロボット100を見つめるとき、ロボット100もユーザを見つめ返してくれれば、ユーザは「自分のロボット100に対する愛情が受け止められている」「自分がロボット100を好きなだけでなく、ロボット100も自分のことを好んでいる」と感じることができる。「見つめ合う時間」は、ユーザとロボット100との交流を深めるための重要要因になると考えられる。
【0160】
<サーモセンサ138による顔認識>
上述したように、「見つめる」という行為は「対象に興味をもっている」ことを意味する。特に、二人の人間がお互いの目を見つめ合うとき、この二人は言葉にはならない「一体感」「交流感」をもつことになる。ユーザとロボット100の間でもこのような強い絆を実現するためには、ロボット100がユーザの顔の位置、特に、ユーザの目の位置を認識する必要がある。
【0161】
ロボット100の認識部156は、カメラ144により取得される撮像画像(全天周画像)からユーザの顔領域を認識する。認識部156は、更に、撮像画像内の顔領域からユーザの目の位置を特定する。具体的には、認識部156(相対位置特定部182)は、ロボット100の現在地点から見て、ユーザの目が存在する方向と距離を特定する。眼制御部152は、ユーザの目の位置に注視点Sを設定する。
【0162】
その一方、ユーザがロボット100を抱っこしているとき、特に、ユーザがロボット100を膝に抱え込んでいるとき、ロボット100からはユーザの顔の位置を認識しづらいことがある。たとえば、逆光のためにユーザの撮像画像が暗くなってしまうこともあれば、ユーザの顔の直下にロボット100のカメラ144(ツノ112)が位置するため、ロボット100から見るとユーザの顔領域が扁平に見えてしまうこともある。好適な撮像画像を取得できない場合には、認識部156は、撮像画像ではなく、サーモセンサ138から得られる熱分布画像(外気温分布)に基づいてユーザの顔の位置を特定する。
【0163】
熱分布画像ではユーザの目の位置を特定しづらいこともあるが、少なくともユーザの顔領域は熱源となるため、ユーザとロボット100の位置関係に関わらず、ユーザの顔領域を高精度にて特定しやすい。眼制御部152は、熱分布画像により特定されたユーザの顔領域に注視点Sを設定する。このような制御方法によれば、ロボット100は抱っこされているときであっても、ユーザの顔を見失うことなくユーザの顔を見つめることができる。
【0164】
熱分布画像でも顔領域を検出しづらいときには、動作制御部150は頭部フレーム316を動かすことで別角度からの熱分布画像を取得してもよい。抱っこをされているときでも、首や胴を動かし、顔を検出しやすいポジションを探ることで、ユーザの顔をより正確に見つめることができる。ユーザを見つめるためにロボット100が首や胴を動かす行為に対して、ユーザはロボット100の自分に対する強い興味を感じることができる。もちろん、抱っこされているときであっても好適な撮像画像を得られるときには、撮像画像に基づいてユーザの顔または目を特定してもよい。
【0165】
上述したように、抱っこされているときには、ロボット100は撮像画像ではなく熱分
布画像に基づいてユーザの顔領域を認識するとしてもよい。あるいは、ロボット100がタッチを検出したときにはユーザがロボット100の至近にいると考えられる。このため、ロボット100はタッチを検出したときにも撮像画像ではなく熱分布画像に基づいてユーザの顔領域を認識するとしてもよい。一方、ロボット100が直立しているとき、あるいは、タッチを検出していないときには撮像画像に基づいてユーザの顔領域を認識するとしてもよい。撮像画像(可視光画像)および熱分布画像の2種類の画像を利用することにより、ロボット100はユーザの顔の位置をより確実に認識しやすくなる。
【0166】
ロボット100の認識部156は、ロボット100の直立作動時においても熱分布画像から熱源をサーチしてもよい。熱源は顔である可能性がある。顔は熱源となるが、熱源が顔とは限らない。冷蔵庫などの家電製品も熱源になる可能性がある。そこで、サーモセンサ138により熱源の存在地点を特定し、これを「顔領域候補」とする。認識部156は、撮像画像(全天周画像)から顔領域を特定するとき、サーモセンサ138により特定された顔領域候補の存在地点から優先的に画像認識を実行する。サーモセンサ138により顔領域候補のある地点をあらかじめ絞り込んでおくことにより、撮像画像(全天周画像)に基づく顔認識処理を効率的に実行できる。このように、認識部156は、熱分布画像および撮像画像の一方ではなく、双方に基づいてユーザの顔領域あるいはユーザの目を検出してもよい。
【0167】
<瞳画像164の移動>
図17は、右目モニタ170Rにおける瞳画像164が中央ポジションにあるときの眼画像174の模式図である。
図18は、右目モニタ170Rにおける瞳画像164が中央ポジションから外れたときの眼画像174の模式図である。
人間は、真正面を向いているときには、瞳を動かしやすい。しかし、横方向を見ているとき、いわゆる「流し目」の状態になっているときには眼球を動かす外眼筋(上直筋などの各種筋肉の総称)に力がかかっているため、瞳を動かしづらくなる。たとえば、既に左方を見ているときに更に左方を見ようとするとき、あるいは、左方を見ているときに左上に視線を移動させるときには外眼筋に力がかかる。同様にして、上目遣いになっているときに瞳を更に上に動かすのは、真正面を向いているときに視線を上方に動かすときよりも動かしづらい。
【0168】
このような人間の眼球の肉体的特性に鑑み、ロボット100の眼画像174においても同様の制御をすれば、ロボット100の生物感をいっそう高められるのではないかと考えられる。
図17において、点Rは右目モニタ170R(真円)の中心を示し、軸点Vは瞳画像164(真円)の中心を示す。中心点Rの周縁には、あらかじめホーム領域400が設定される。ホーム領域400の形状は任意である。
図17に示す右目モニタ170Rにおいては、ホーム領域400は内側(ロボット100の顔の中心側)にやや広い卵型の形状を有する。
【0169】
瞳画像164の軸点Vがホーム領域400内にあるときには(
図17)、眼制御部152は瞳画像164を第1上限速度T1以下の速度で動かすことができる。一方、軸点Vがホーム領域400から外れたときには(
図18)、虹彩領域162は瞳画像164を第1上限速度T1未満の第2上限速度T2以下の速度(低速度)で動かす。瞳画像164は眼画像174の中央部では機敏に動くが、周縁部では緩やかに動くことになる。いいかえれば、ロボット100が正面を向いているときには視線が動きやすく、周辺を見ているときには視線の動きが鈍くなる。このような制御方法によれば、ロボット100の目の特性を人間の目の特性にいっそう近づけることができる。
【0170】
上述したように、眼制御部152は、任意の注視対象物に対して注視点Sを設定してもよい。動作制御部150は、所定の変位条件が成立したとき、ロボット100の首あるい
は胴を動かすことで、ロボット100の顔を注視点Sに向けてもよい。具体的には、瞳画像164の軸点Vがホーム領域400内に存在している状態(以下、「中央ポジション」とよぶ)で、注視点Sに瞳画像164を向けられるようにロボット100の首や胴(ボディ104)の位置を物理的に調整してもよい。
【0171】
変位条件は、たとえば、親密度が所定の閾値以上のユーザ(好きなユーザ)をロボット100が視認したとき、あるいは、ロボット100がユーザに抱っこされたときに成立してもよい。このほかにも、ロボット100が動くものを検出したとき、点滅するものを検出したとき、赤い服などの所定物体を検出したときなど、変位条件は任意に設定されればよい。
【0172】
ロボット100は抱っこされたときに視線をユーザの顔に向ける。中央ポジションではユーザの顔を注視できないときには(ロボット100がまっすぐにユーザを見つめられないとき)、中央ポジションにてユーザの顔を注視できるようにロボット100は体の向きを変える。ユーザは、ロボット100を抱っこしているとき、ロボット100が自分にしっかりと向き合うために体を動かしていると認識できる。瞳画像164を動かすだけでなく、場合によっては体も動かした上でユーザを見つめることは、ユーザのロボット100に対する愛おしさをいっそう喚起すると考えられる。
【0173】
ホーム領域400と、ホーム領域400以外の領域の2つの領域に限らず、3以上の領域を設定してもよい。また、ホーム領域400のような領域を明示的に設定しなくてもよい。少なくとも、眼制御部152は、モニタ170の中央部ほど瞳画像164を素早く動かし、周辺部ほど瞳画像164をゆるやかに動かせばよい。
【0174】
<瞼画像176と瞳画像164の連動>
図19は、瞼画像176と瞳画像164の連動を説明するための模式図である。
人間が眼球を回転させて上を見るとき、いいかえれば、上目遣いになるとき、瞼も眼球の動きにつられて上(開眼方向)に移動する。また、人間が眼球を回転させて下を見るときには瞼もつられて下(閉眼方向)に移動する。ロボット100においても同様の制御を実行すれば、人間の目の肉体的特性を表現できるため、ロボット100の生物感をいっそう高められると考えられる。
【0175】
図19においては、モニタ170に上目領域402と下目領域404をあらかじめ設定している。上目領域402はホーム領域400よりも上方の領域全体に対応し、下目領域404はホーム領域400よりも下方の領域全体に対応する。上目領域402は、少なくともモニタ170の中央線Kよりも上方に設定されればよい。同様にして、下目領域404は少なくとも中央線Kよりも下方に設定されればよい。
【0176】
瞳画像164の軸点Vが上目領域402内に入るとき(以下、「上部ポジション」とよぶ)、眼制御部152は瞼画像176を上方(開眼方向)に移動させる。あるいは、上部ポジションにおいて瞳画像164が更に上方に移動するとき、眼制御部152は瞼画像176を瞳画像164に連動させて上に動かす。瞳画像164の移動量と瞼画像176の移動量は同一である必要はない。
【0177】
同様にして、瞳画像164の軸点Vが下目領域404内に入るとき(以下、「下部ポジション」とよぶ)、眼制御部152は瞼画像176を下方(閉眼方向)に移動させる。あるいは、下部ポジションにおいて瞳画像164が更に下方に移動するとき、眼制御部152は瞼画像176を瞳画像164に連動させて下に動かす。
【0178】
本実施形態におけるロボット100は、成人に比べると背が低いため、ユーザを上目遣
いで見る機会が多くなる。ロボット100が近くにいるユーザを上目遣いで見るときに瞼画像176も連動して上げることにより、ユーザには「ロボット100がユーザを見るために目を見開いている」ように見える。また、ロボット100は、床の上にある物体に注視点Sを設定するとき、視線を落とす。このとき、瞼画像176も下がることになる。視線だけでなく瞼画像176も下げることにより、ユーザには「ロボット100がなにかに集中している」ように見える。このように、ロボット100の瞳画像164だけでなく、瞼画像176も、ロボット100が注意や興味を表現する上で有効に機能させることができる。
【0179】
<縮瞳と散瞳>
図20(a)から
図20(d)は、開眼時における縮瞳を説明するための模式図である。
図21(a)から
図21(d)は、開眼時における散瞳を説明するための模式図である。
ロボット100は、瞬きや睡眠(充電)のために、適宜、瞼を閉じることで閉眼する。本変形例においては、開眼時において、瞳孔領域158を縮小または拡大させることで、ユーザがロボット100の瞳画像164に注目する機会を積極的に作り出す。以下、瞳孔領域158を縮小させた状態を「縮瞳」とよび、瞳孔領域158を拡大させた状態を「散瞳」とよぶ。ここでは、瞳孔領域158は「縮瞳状態(小サイズ)」「通常状態(基本サイズ)」および「散瞳状態(大サイズ)」の3状態の間で状態遷移するものとして説明する。
【0180】
図20(a)においては、瞳孔領域158は縮瞳状態にある。上述したように、眼制御部152は、外部環境の明るさが所定値以上のときには瞳孔領域158を縮小させ、明るさが所定値以下のときには瞳孔領域158を拡大させてもよい。
図20(a)においては、ロボット100の周辺が明るいため、瞳孔領域158は縮瞳している。ここで、ロボット100は瞬きのため閉眼したとする。
【0181】
図20(b)は、閉眼時の瞳孔領域158の状態を示す。閉眼時においては、眼制御部152は瞳孔領域158を縮瞳状態から通常状態(基本サイズ)に変化させる。閉眼中なので、ユーザからはこのような瞳孔領域158の変化は見えない。次に、ロボット100が開眼したとする。
図20(c)は開眼直後の瞳孔領域158の状態を示す。開眼直後の瞳孔領域158は通常状態にある。
【0182】
開眼後、眼制御部152は瞳孔領域158を通常状態から縮瞳状態に徐々に変化させる。0.5秒から3.0秒程度の短時間にてもとの縮瞳状態に戻る。以上の制御により、ロボット100の瞳孔領域158は瞬きの直後に一瞬大きくなるが(
図20(c))、その後は当初の大きさ(縮瞳状態)に戻る(
図20(d))。瞬きの直後に、ユーザは瞳孔領域158が縮小する様子を見ることになる。
【0183】
一方、
図21(a)においては、ロボット100の周辺が暗いため、瞳孔領域158は散瞳状態にある。ここで、ロボット100は瞬きのために閉眼したとする。
図21(b)は、閉眼時の瞳孔領域158の状態を示す。閉眼時においては、眼制御部152は瞳孔領域158を散瞳状態から通常状態(基本サイズ)に変化させる。
【0184】
続いて、ロボット100は開眼する。
図21(c)は開眼直後の瞳孔領域158の状態を示す。開眼直後の瞳孔領域158は一時的に通常状態にある。開眼後、眼制御部152は瞳孔領域158を通常状態から散瞳状態に徐々に変化させる。以上の制御により、ロボット100の瞳孔領域158は瞬きのあとに小さくなるが(
図21(c))、その後、元の大きさ(散瞳状態)に戻る(
図21(d))。瞬きの直後に、ユーザは瞳孔領域158が拡大する様子を見ることになる。
【0185】
上述したように、ロボット100が開眼したとき、瞳孔領域158は通常状態から縮瞳状態、あるいは、通常状態から散瞳状態に変化する。人間には、動くものを目で追ってしまうという本能があるため、瞳孔領域158を変化させることでユーザがロボット100の目に注目する機会を作り出すことができる。
【0186】
ロボット100が閉眼しているときに、いいかえれば、ユーザが見ていないときに瞳孔領域158を通常状態に変化させておき、開眼後に瞳孔領域158を当初状態(縮瞳状態または散瞳状態)に戻すため、ユーザに違和感を持たれにくい。たとえば、
図20(a)~
図20(d)に示した一連の制御においては、瞳孔領域158は縮瞳状態を基本とし、通常状態になるのは開眼直後だけである。縮瞳状態で瞬きをしたとき、一瞬だけ瞳孔領域158が拡大して見えるもののすぐに縮瞳状態に戻る。開眼後における通常状態から縮瞳状態へのわずかな画像変化により、人間は無意識的にロボット100の眼画像174に注目しやすくなる。
【0187】
ロボット100は、ユーザに見つめられたことを契機として、ユーザに注目する。したがって、ユーザがロボット100を見つめる機会が多いほど、「見つめ合う時間」も作り出されやすくなる。縮瞳や散瞳は、ロボット100の生物感を高めるだけではなく、ユーザとロボット100が見つめ合う機会を積極的に作り出す上でも効果的である。
【0188】
ロボット100は、照度センサ等により、外部環境の明るさを計測してもよい。あるいは、ロボット100は撮像画像から明るさを計測してもよい。眼制御部152は、明るさに応じて、瞳孔領域158を縮瞳または散瞳させてもよい。たとえば、
図21(c)の開眼直後において、外部環境の明るさが所定閾値以上のときには、眼制御部152は瞳孔領域158を通常状態から縮瞳状態に変化させてもよい。
【0189】
動作制御部150は、バッテリー118の充電率が低下したとき、ロボット100を充電ステーション(図示せず)に向かわせる。ロボット100は、充電ステーションと接続するときには閉眼する。充電中にロボット100を閉眼させることにより、充電状態を睡眠状態に対応づけてもよい。動作制御部150は、バッテリー118の充電率が所定の閾値以上となったとき、ロボット100を充電ステーションから離脱させる。このとき、眼制御部152は眼画像174を開眼させることにより「起床」を表現する。
【0190】
起床にともなう開眼に際しても、眼制御部152は瞳孔領域158の大きさを変化させてもよい。眼制御部152は、瞼画像176をゆっくりと移動させることで目覚めを表現してもよい。
【0191】
眼制御部152は、ロボット100の移動中においては瞳孔領域158を縮瞳または散瞳させてもよい。また、ロボット100の注視点Sが所定時間以上変化しないときにも、眼制御部152は瞳孔領域158を縮瞳または散瞳させてもよい。
【0192】
明るさに限らず、眼制御部152は開眼時に発生している各種の拡縮イベントに応じて、瞳孔領域158を縮瞳または散瞳させてもよい。たとえば、ロボット100が開眼したとき、親密度が所定の閾値以上のユーザを視認した場合には、眼制御部152は瞳孔領域158を散瞳させることで、ロボット100の「嬉しい驚き」を表現してもよい。あるいは、ロボット100が開眼したとき、親密度が所定の閾値以下のユーザ(好きではないユーザ)を視認した場合、あるいは、未登録のユーザを視認した場合には、眼制御部152は瞳孔領域158を縮瞳させてもよいし、注視点Sをユーザから外すことで「気まずさ」を表現してもよい。このような制御方法によれば、ユーザは、自分がロボット100からどのように思われているかを感じ取ることができる。
【0193】
ユーザは、ロボット100に対して「目をつぶって(閉眼指示)」「目を開けて(開眼指示)」などの音声命令を与えてもよい。ロボット100は、マイクロフォンアレイにて音声を検出し、認識部156は音声命令を解釈する。たとえば、ロボット100を閉眼させておき、ロボット100の目の前に新しい服などのプレゼントを用意しておく。ロボット100を開眼させたとき、「新しいもの」を検出するというイベントに対応して眼制御部152は瞳孔領域158を散瞳させる。このような制御方法によれば、ロボット100に新しいものを見せてびっくりさせるという、ロボット100との関わり方も可能となる。
【0194】
図20(b)において(閉眼中)、眼制御部152が瞳孔領域158を縮瞳状態から通常状態に戻すとき、一瞬で通常状態に戻すのではなく縮瞳状態から通常状態に徐々に戻すとしてもよい。この場合には、閉眼時間の長短に応じて、開眼直後の瞳孔領域158の大きさを変化させることができる。
【0195】
<瞳による感情の表現>
眼制御部152は、感情パラメータに応じて、眼画像174を変化させてもよい。眼制御部152は、感情パラメータに応じて、ドリフトの移動速度、移動量、トレマの振幅、周波数、マイクロサッケードの頻度、移動量、移動速度を変化させてもよい。眼制御部152は、感情パラメータに応じて、瞳孔領域158の形状およびサイズを変化させてもよい。
【0196】
感情パラメータに応じて、眼画像174をどのように変化させるかは任意に設定可能である。たとえば、承認欲求を表す感情パラメータが所定値以上となっているときには、眼制御部152はマイクロサッケードの頻度を高めることにより、ロボット100の不安や動揺を表現してもよい。承認欲求を示す感情パラメータが高まっているときにマイクロサッケードの頻度をどの程度まで高めるか、あるいは、頻度を高めるか否かはランダムに決定してもよい。
【0197】
<凝視の継続>
ロボット100は、ユーザの顔、特に、目に注視点Sを設定する。ロボット100が移動するとき、あるいは、ユーザが移動するときには、ユーザとロボット100の位置関係が変化する。認識部156は、ユーザとロボット100の位置関係が変化したときにもユーザの顔の位置を再検出し、眼制御部152は再検出地点に注視点Sを再設定する。つまり、認識部156は、注視点Sを連続的に追尾し、眼制御部152は瞳画像154を連続的に動かすことでスムーズな視線の動きを表現する。このような制御方法によれば、ユーザとロボット100の位置関係が変化しても、ロボット100はユーザを凝視しつづけることができる。
【0198】
位置関係が変化するとき、眼制御部152はまず瞳画像164を動かすことにより、ロボット100のユーザに対する凝視を継続する。瞳画像164が中央ポジションから外れるときには動作制御部150はロボット100の首あるいは体全体を動かすことで視線を維持する。ロボット100のユーザに対する凝視を継続することにより、ユーザはロボット100の自分に対する強い興味や期待を感じ取ることができる。
【0199】
<凝視の解除>
ロボット100がユーザから視線を外すことも、ユーザはロボット100から見つめられていたことに気づく契機となる。ロボット100が注視対象物(ユーザなど)から視線を外すタイミングを決定するために下記のような条件が考えられる。
(C1)ロボット100がユーザの顔(注視対象物)に注視点Sを設定してから所定時間
(以下、「第1注視維持時間」とよぶ)が経過したとき、ロボット100はユーザの顔以外に注視点Sを再設定することにより、ユーザから視線を外す。
(C2)ユーザがロボット100に対して話しかけているときには視線は外さない。ユーザのロボット100に対する声かけが終了してから所定時間(以下、「第2注視維持時間」とよぶ)が経過したとき、ロボット100はユーザから視線を外す。
(C3)ユーザがロボット100を見つめているときには視線は外さない。ユーザがロボット100から視線を外してから所定時間(以下、「第3注視維持時間」とよぶ)が経過したとき、ロボット100はユーザから視線を外す。
(C4)所定のイベントが発生したとき、ロボット100はユーザから視線を外す。たとえば、大きな音を検出したとき、別のユーザを視認したときなどが考えられる。
(C5)感情パラメータが所定状態となったときに、ロボット100はユーザから視線を外す。たとえば、承認欲求を示す感情パラメータはユーザからの視線を検出しているときに上昇し続け、この感情パラメータが所定の閾値以上となったとき、ロボット100はユーザから視線を外すとしてもよい。
【0200】
上述した各種注視維持時間は、可変値であってもよい。眼制御部152は、注視対象物となるユーザの親密度が高いほど注視維持時間を長く設定してもよい。あるいは、眼制御部152は、感情パラメータに基づいて注視維持時間の長さを決定してもよい。たとえば、眼制御部152は、承認欲求を示す感情パラメータが高いときほど注視維持時間を長く設定してもよい。
【0201】
なお、注視対象物は、ユーザである必要はなく、他のロボット100であってもよい。複数のロボット100が互いに見つめ合うことも可能である。
【0202】
<複数枚の画像による眼画像174の形成>
本実施形態においては、眼球モデル250を第1面252に投影することにより、二次元の眼画像174を生成するとして説明した。変形例として、眼画像174を複数枚の画像を重ね合わせることにより形成してもよい。
【0203】
本変形例においては、白目画像、虹彩画像、瞳孔画像、ハイライト画像、反射画像の5枚の画像を重ね合わせることにより、眼画像174を生成するものとして説明する。また、これら5枚の画像の上に第2面254(瞼画像176)が重ねられる。
(L1)白目画像
白目画像は、最下層の画像であり、眼画像174の白目部分(周縁画像168)に対応する。視線の動きに追随することはない固定の画像である。
(L2)虹彩画像
白目画像の上に重ねられる。眼画像174の虹彩領域162に対応する。視線の動きにともなって眼画像174において上下左右に移動する。
(L3)瞳孔画像
虹彩画像の上に重ねられる。眼画像174の瞳孔領域158に対応する。視線の動きにともなって眼画像174において上下左右に移動する。
(L4)ハイライト画像
瞳孔画像の上に重ねられる。眼画像174のキャッチライト166に対応する。視線の動きに追随することはない。ロボット100の向きが変化するとき、眼制御部152は光入射方向に合わせてハイライト画像を移動させることにより、キャッチライト166の位置を調整する。
(L5)反射画像
ハイライト画像の上に重ねられる。ハイライト画像は、瞳への映り込みである。眼制御部152はロボット100の正面の撮像画像を魚眼レンズのように変形させた上で、ハイライト画像の上に重ねる。反射画像は視線の動きに追随することはない。ロボット100
の向きが変化するとき、眼制御部152は撮像画像に合わせて反射画像を変化させる。
【0204】
まとめると、白目画像は眼画像174の「下地」として固定される。瞳孔画像と虹彩画像は視線方向に合わせて移動する。ハイライト画像と反射画像は、視線方向とは関係なく、ロボット100の向きに応じて移動する。また、瞳孔画像と虹彩画像は同一方向に動くがその移動量は同一である必要はない。本変形例においては、虹彩画像を第1の方向に第1の移動量だけ動かしたとき、瞳孔画像を第1の方向に第2の移動量だけ移動させる。このとき、第2の移動量は第1の移動量よりも大きな値である。瞳孔の動きと虹彩の動きにわずかなズレをつくることにより、眼画像174の生物感・リアル感をいっそう高めることができる。
【手続補正書】
【提出日】2022-11-04
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ロボットのモーションを選択する動作制御部と、
前記動作制御部により選択されたモーションを実行する駆動機構と、
前記ロボットの表示装置に眼画像を表示させる眼制御部とを備え、
前記眼制御部は、前記眼画像において前記瞳領域を振動させることを特徴とするロボット。
【請求項2】
請求項1のロボットにおいて、
ユーザを検出する認識部と、を備え、
前記眼制御部は、前記ユーザと前記ロボットとの相対位置に応じて眼画像に含まれる瞳領域を変化させることを特徴とするロボット。
【請求項3】
請求項1又は2のロボットにおいて、
前記眼制御部は、軸点を中心として前記瞳領域を振動させつつ、前記眼画像において前記軸点を移動させることを特徴とするロボット。
【請求項4】
前記認識部は、更に、前記ユーザの視線方向を検出し、
前記眼制御部は、前記ユーザの前記ロボットに対する視線を検出したとき、前記眼画像を変化させることを特徴とするロボット。
【請求項5】
ロボットのモーションを選択する機能と、
前記ロボットに搭載される表示装置に眼画像を表示させる機能と、
前記眼画像において前記瞳領域を振動させる機能とを、
をコンピュータに発揮させることを特徴とするロボット制御プログラム。
【請求項6】
コンピュータが実行する方法であって、
ロボットのモーションを選択し、
前記ロボットに搭載される表示装置に眼画像を表示させ、
前記眼画像において前記瞳領域を振動させる、
方法。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0007
【補正方法】変更
【補正の内容】
【0007】
本発明のある態様におけるロボットは、ロボットのモーションを選択する動作制御部と、
前記動作制御部により選択されたモーションを実行する駆動機構と、
前記ロボットの表示装置に眼画像を表示させる眼制御部とを備える。
眼制御部は、眼画像において瞳領域を振動させる。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0008
【補正方法】削除
【補正の内容】
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0009
【補正方法】削除
【補正の内容】
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0010
【補正方法】削除
【補正の内容】