(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-09
(45)【発行日】2022-05-17
(54)【発明の名称】瞳を変化させる自律行動型ロボット
(51)【国際特許分類】
G06T 1/00 20060101AFI20220510BHJP
B25J 5/00 20060101ALI20220510BHJP
G06F 3/01 20060101ALI20220510BHJP
G06F 3/0481 20220101ALI20220510BHJP
【FI】
G06T1/00 340A
B25J5/00 E
G06F3/01 510
G06F3/0481
(21)【出願番号】P 2019069658
(22)【出願日】2019-04-01
(62)【分割の表示】P 2018552083の分割
【原出願日】2017-11-20
【審査請求日】2020-11-20
(31)【優先権主張番号】P 2016227681
(32)【優先日】2016-11-24
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】515337268
【氏名又は名称】GROOVE X株式会社
(72)【発明者】
【氏名】林 要
【審査官】千葉 久博
(56)【参考文献】
【文献】特開2013-39207(JP,A)
【文献】特開2005-242566(JP,A)
【文献】特開2000-222378(JP,A)
【文献】特開平10-289006(JP,A)
【文献】特表2006-514696(JP,A)
【文献】西山高史, 外9名,“人間型ロボットにおける対話エージェント”,第65回(平成15年)全国大会 講演論文集(5),2003年03月25日,p.(5-447)-(5-450)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00
B25J 5/00
G06F 3/01
G06F 3/0481
(57)【特許請求の範囲】
【請求項1】
眼画像を生成する眼生成部と、
ロボットの顔領域に前記眼画像を表示させる眼表示部と、
ロボットの感情状態を決定する感情決定部と、
ユーザの撮像画像から、前記ユーザの状況ごとの前記ユーザの目の特徴量を抽出する特徴抽出部と、
を備え、
前記眼生成部は、前記ロボットの感情状態に対応する前記ユーザの状況における前記ユーザの眼の特徴量を前記眼画像へ反映させることを特徴とするロボット。
【請求項2】
請求項1のロボットにおいて、
前記眼生成部は、
前記ロボットの感情状態が第1の感情状態の場合には、第1ユーザの状況における第1ユーザの眼の特徴量を前記眼画像へ反映させ、
前記ロボットの感情状態が第2の感情状態の場合には、第2ユーザの状況における第2ユーザの眼の特徴量を前記眼画像へ反映させることを特徴とするロボット。
【請求項3】
眼画像を生成する眼生成部と、
ロボットの顔領域に前記眼画像を表示させる眼表示部と、を備え、
前記眼生成部は、一定期間あたりの前記眼画像の変化量が連続的または断続的に小さくなるように、前記眼画像を経年変化させることを特徴とするロボット。
【請求項4】
眼画像を生成する眼生成部と、
ロボットの顔領域に前記眼画像を表示させる眼表示部と、
アイコンと表示条件を対応づけて格納するアイコン格納部と、を備え、
前記眼生成部は、いずれかのアイコンの表示条件が成立したとき、前記アイコンを前記眼画像に重畳
するとともに、前記アイコンを前記眼画像の領域内に表示することを特徴とするロボット。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、内部状態または外部環境に応じて自律的に行動選択するロボット、に関する。
【背景技術】
【0002】
人間は、癒やしを求めてペットを飼う。その一方、ペットの世話をする時間を十分に確保できない、ペットを飼える住環境にない、アレルギーがある、死別がつらい、といったさまざまな理由により、ペットをあきらめている人は多い。もし、ペットの役割が務まるロボットがあれば、ペットを飼えない人にもペットが与えてくれるような癒やしを与えられるかもしれない(特許文献1参照)。近年、ロボット技術は急速に進歩しつつあるものの、ペットのような伴侶としての存在感を実現するには至っていない。
【先行技術文献】
【特許文献】
【0003】
【非特許文献】
【0004】
【文献】VITOR F. PAMPLONA, MANUEL M. OLIVEIRA and GLADIMIR V. G. BARANOSKI, "Photorealistic Models for Pupil Light Reflex and Iridal Pattern Deformation" ACM Transactions on Graphics, Vol.28, No.4, Article 106, August 2009
【発明の概要】
【発明が解決しようとする課題】
【0005】
俗に「ペットは飼い主に似る」といわれる。人間は見慣れたものに親しみを感じる性質があるため、人間は自分に似ているペットを無意識に選んでしまうのかもしれない。また、ペットは、成長・加齢により容姿・表情を変化させる。容姿・表情の中でも、目は、表情や個性、成熟度などを表す上で特に重要な部分である。本発明者は、ロボットの目の表現力を強化することにより、ロボットへの共感を大きく高めることができるのではないかと考えている。
【0006】
本発明は、本発明者による上記着目に基づいて完成された発明であり、その主たる目的は、ロボットの目の表現力を高める技術を提案することにある。
【課題を解決するための手段】
【0007】
本発明のある態様におけるロボットは、眼画像を生成する眼生成部と、ロボットの顔領域に前記眼画像を表示させる眼表示部と、ロボットの感情状態を決定する感情決定部と、ユーザの撮像画像から、前記ユーザの状況ごとの前記ユーザの目の特徴量を抽出する特徴抽出部と、を備える。
前記眼生成部は、前記ロボットの感情状態に対応する前記ユーザの状況における前記ユーザの眼の特徴量を前記眼画像へ反映させる。
【0008】
本発明の別の態様におけるロボットは、眼画像を生成する眼生成部と、
ロボットの顔領域に前記眼画像を表示させる眼表示部と、を備える。
前記眼生成部は、一定期間あたりの前記眼画像の変化量が連続的または断続的に小さくなるように、前記眼画像を経年変化させる。
【0009】
本発明の別の態様におけるロボットは、眼画像を生成する眼生成部と、
ロボットの顔領域に前記眼画像を表示させる眼表示部と、
アイコンと表示条件を対応づけて格納するアイコン格納部と、を備える。
前記眼生成部は、いずれかのアイコンの表示条件が成立したとき、前記アイコンを前記眼画像に重畳する。
【発明の効果】
【0014】
本発明によれば、ロボットの目の表現力を高めやすくなる。
【図面の簡単な説明】
【0015】
【
図2】ロボットの構造を概略的に表す断面図である。
【
図9(a)】瞼画像が表示されていないときの眼画像である。
【
図9(b)】瞼画像が目頭側に下がっているときの眼画像である。
【
図9(c)】瞼画像が目尻側に下がっているときの第1の眼画像である。
【
図9(d)】瞼画像が目尻側に下がっているときの第2の眼画像である。
【
図9(e)】瞼画像のほか下瞼も表示されるときの眼画像である。
【
図10】映り込み表示をするときの眼画像の外観図である。
【
図11】アイコンが瞳孔領域に重畳表示されるときの眼画像の外観図である。
【
図12】キャッチライトをアイコンに変更したときの眼画像の外観図である。
【発明を実施するための形態】
【0016】
図1(a)は、ロボット100の正面外観図である。
図1(b)は、ロボット100の側面外観図である。
本実施形態におけるロボット100は、外部環境および内部状態に基づいて行動や仕草(ジェスチャー)を決定する自律行動型のロボットである。外部環境は、カメラやサーモセンサなど各種のセンサにより認識される。内部状態はロボット100の感情を表現するさまざまなパラメータとして定量化される。これらについては後述する。
【0017】
ロボット100は、原則として、オーナー家庭の家屋内を行動範囲とする。以下、ロボット100に関わる人間を「ユーザ」とよび、ロボット100が所属する家庭の構成員となるユーザのことを「オーナー」とよぶ。
【0018】
ロボット100のボディ104は、全体的に丸みを帯びた形状を有し、ウレタンやゴム、樹脂、繊維などやわらかく弾力性のある素材により形成された外皮を含む。ロボット100に服を着せてもよい。丸くてやわらかく、手触りのよいボディ104とすることで、ロボット100はユーザに安心感とともに心地よい触感を提供する。
【0019】
ロボット100は、総重量が15キログラム以下、好ましくは10キログラム以下、更に好ましくは、5キログラム以下である。生後13ヶ月までに、赤ちゃんの過半数は一人歩きを始める。生後13ヶ月の赤ちゃんの平均体重は、男児が9キログラム強、女児が9キログラム弱である。このため、ロボット100の総重量が10キログラム以下であれば、ユーザは一人歩きできない赤ちゃんを抱きかかえるのとほぼ同等の労力でロボット100を抱きかかえることができる。生後2ヶ月未満の赤ちゃんの平均体重は男女ともに5キログラム未満である。したがって、ロボット100の総重量が5キログラム以下であれば、ユーザは乳児を抱っこするのと同等の労力でロボット100を抱っこできる。
【0020】
適度な重さと丸み、柔らかさ、手触りのよさ、といった諸属性により、ユーザがロボット100を抱きかかえやすく、かつ、抱きかかえたくなるという効果が実現される。同様の理由から、ロボット100の身長は1.2メートル以下、好ましくは、0.7メートル以下であることが望ましい。本実施形態におけるロボット100にとって、抱きかかえることができるというのは重要なコンセプトである。
【0021】
ロボット100は、3輪走行するための3つの車輪を備える。図示のように、一対の前輪102(左輪102a,右輪102b)と、一つの後輪103を含む。前輪102が駆動輪であり、後輪103が従動輪である。前輪102は、操舵機構を有しないが、回転速度や回転方向を個別に制御可能とされている。後輪103は、いわゆるオムニホイールからなり、ロボット100を前後左右へ移動させるために回転自在となっている。左輪102aよりも右輪102bの回転数を大きくすることで、ロボット100は左折したり、左回りに回転できる。右輪102bよりも左輪102aの回転数を大きくすることで、ロボット100は右折したり、右回りに回転できる。
【0022】
前輪102および後輪103は、駆動機構(回動機構、リンク機構)によりボディ104に完全収納できる。走行時においても各車輪の大部分はボディ104に隠れているが、各車輪がボディ104に完全収納されるとロボット100は移動不可能な状態となる。すなわち、車輪の収納動作にともなってボディ104が降下し、床面Fに着座する。この着座状態においては、ボディ104の底部に形成された平坦状の着座面108(接地底面)が床面Fに当接する。
【0023】
ロボット100は、2つの手106を有する。手106には、モノを把持する機能はない。手106は上げる、振る、振動するなど簡単な動作が可能である。2つの手106も個別制御可能である。
【0024】
目110は、液晶素子または有機EL素子による画像表示が可能である。ロボット100は、音源方向を特定可能なマイクロフォンアレイや超音波センサなどさまざまなセンサを搭載する。また、スピーカーを内蔵し、簡単な音声を発することもできる。
【0025】
ロボット100の頭部にはツノ112が取り付けられる。上述のようにロボット100は軽量であるため、ユーザはツノ112をつかむことでロボット100を持ち上げることも可能である。ツノ112には全天球カメラが取り付けられ、ロボット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は、モニタ170、内部センサ128、通信機126、記憶装置124、プロセッサ122、駆動機構120およびバッテリー118を含む。駆動機構120は、上述した車輪駆動機構370を含む。プロセッサ122と記憶装置124は、制御回路342に含まれる。各ユニットは電源線130および信号線132により互いに接続される。バッテリー118は、電源線130を介して各ユニットに電力を供給する。各ユニットは信号線132により制御信号を送受する。バッテリー118は、リチウムイオン二次電池であり、ロボット100の動力源である。
モニタ170は、ロボット100の目110に設置され、眼画像を表示させる(後述)。
【0046】
内部センサ128は、ロボット100が内蔵する各種センサの集合体である。具体的には、カメラ(全天球カメラ)、マイクロフォンアレイ、測距センサ(赤外線センサ)、サーモセンサ、タッチセンサ、加速度センサ、ニオイセンサ、タッチセンサなどである。タッチセンサは、外皮314と本体フレーム310の間に設置され、ユーザのタッチを検出する。ニオイセンサは、匂いの元となる分子の吸着によって電気抵抗が変化する原理を応用した既知のセンサである。ニオイセンサは、さまざまな匂いを複数種類のカテゴリに分類する。
【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に当接し、着座状態となる。また、駆動機構120は、ワイヤ135を介して、手106を制御する。
【0049】
図6は、ロボットシステム300の機能ブロック図である。
上述のように、ロボットシステム300は、ロボット100、サーバ200および複数の外部センサ114を含む。ロボット100およびサーバ200の各構成要素は、CPU(Central Processing Unit)および各種コプロセッサなどの演算器、メモリやストレージといった記憶装置、それらを連結する有線または無線の通信線を含むハードウェアと、記憶装置に格納され、演算器に処理命令を供給するソフトウェアによって実現される。コンピュータプログラムは、デバイスドライバ、オペレーティングシステム、それらの上位層に位置する各種アプリケーションプログラム、また、これらのプログラムに共通機能を提供するライブラリによって構成されてもよい。以下に説明する各ブロックは、ハードウェア単位の構成ではなく、機能単位のブロックを示している。
ロボット100の機能の一部はサーバ200により実現されてもよいし、サーバ200の機能の一部または全部はロボット100により実現されてもよい。
【0050】
(サーバ200)
サーバ200は、通信部204、データ処理部202およびデータ格納部206を含む。
通信部204は、外部センサ114およびロボット100との通信処理を担当する。データ格納部206は各種データを格納する。データ処理部202は、通信部204により取得されたデータおよびデータ格納部206に格納されるデータに基づいて各種処理を実行する。データ処理部202は、通信部204およびデータ格納部206のインタフェースとしても機能する。
【0051】
データ格納部206は、モーション格納部232、マップ格納部216および個人データ格納部218を含む。
ロボット100は、複数の動作パターン(モーション)を有する。手106を震わせる、蛇行しながらオーナーに近づく、首をかしげたままオーナーを見つめる、などさまざまなモーションが定義される。
【0052】
モーション格納部232は、モーションの制御内容を定義する「モーションファイル」を格納する。各モーションは、モーションIDにより識別される。モーションファイルは、ロボット100のモーション格納部160にもダウンロードされる。どのモーションを実行するかは、サーバ200で決定されることもあるし、ロボット100で決定されることもある。
【0053】
ロボット100のモーションの多くは、複数の単位モーションを含む複合モーションとして構成される。たとえば、ロボット100がオーナーに近づくとき、オーナーの方に向き直る単位モーション、手を上げながら近づく単位モーション、体を揺すりながら近づく単位モーション、両手を上げながら着座する単位モーションの組み合わせとして表現されてもよい。このような4つのモーションの組み合わせにより、「オーナーに近づいて、途中で手を上げて、最後は体をゆすった上で着座する」というモーションが実現される。モーションファイルには、ロボット100に設けられたアクチュエータの回転角度や角速度などが時間軸に関連づけて定義される。モーションファイル(アクチュエータ制御情報)にしたがって、時間経過とともに各アクチュエータを制御することで様々なモーションが表現される。
【0054】
先の単位モーションから次の単位モーションに変化するときの移行時間を「インターバル」とよぶ。インターバルは、単位モーション変更に要する時間やモーションの内容に応じて定義されればよい。インターバルの長さは調整可能である。
以下、いつ、どのモーションを選ぶか、モーションを実現する上での各アクチュエータの出力調整など、ロボット100の行動制御に関わる設定のことを「行動特性」と総称する。ロボット100の行動特性は、モーション選択アルゴリズム、モーションの選択確率、モーションファイル等により定義される。
【0055】
モーション格納部232は、モーションファイルのほか、各種のイベントが発生したときに実行すべきモーションを定義するモーション選択テーブルを格納する。モーション選択テーブルにおいては、イベントに対して1以上のモーションとその選択確率が対応づけられる。
【0056】
マップ格納部216は、複数の行動マップのほか、椅子やテーブルなどの障害物の配置状況を示すマップも格納する。個人データ格納部218は、ユーザ、特に、オーナーの情報を格納する。具体的には、ユーザに対する親密度とユーザの身体的特徴・行動的特徴を示すマスタ情報を格納する。年齢や性別などの他の属性情報を格納してもよい。
【0057】
ロボット100は、ユーザごとに親密度という内部パラメータを有する。ロボット100が、自分を抱き上げる、声をかけてくれるなど、自分に対して好意を示す行動を認識したとき、そのユーザに対する親密度が高くなる。ロボット100に関わらないユーザや、乱暴を働くユーザ、出会う頻度が低いユーザに対する親密度は低くなる。
【0058】
データ処理部202は、位置管理部208、マップ管理部210、認識部212、動作制御部222、親密度管理部220および状態管理部244を含む。
位置管理部208は、ロボット100の位置座標を、
図3を用いて説明した方法にて特定する。位置管理部208はユーザの位置座標もリアルタイムで追跡してもよい。
【0059】
状態管理部244は、充電率や内部温度、プロセッサ122の処理負荷などの各種物理状態など各種内部パラメータを管理する。状態管理部244は、感情管理部234を含む。
感情管理部234は、ロボット100の感情(寂しさ、好奇心、承認欲求など)を示すさまざまな感情パラメータを管理する。これらの感情パラメータは常に揺らいでいる。感情パラメータに応じて複数の行動マップの重要度が変化し、行動マップによってロボット100の移動目標地点が変化し、ロボット100の移動や時間経過によって感情パラメータが変化する。
【0060】
たとえば、寂しさを示す感情パラメータが高いときには、感情管理部234は安心する場所を評価する行動マップの重み付け係数を大きく設定する。ロボット100が、この行動マップにおいて寂しさを解消可能な地点に至ると、感情管理部234は寂しさを示す感情パラメータを低下させる。また、後述の応対行為によっても各種感情パラメータは変化する。たとえば、オーナーから「抱っこ」をされると寂しさを示す感情パラメータは低下し、長時間にわたってオーナーを視認しないときには寂しさを示す感情パラメータは少しずつ増加する。
【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は、外部環境を認識する。外部環境の認識には、温度や湿度に基づく天候や季節の認識、光量や温度に基づく物陰(安全地帯)の認識など多様な認識が含まれる。ロボット100の認識部156は、内部センサ128により各種の環境情報を取得し、これを一次処理した上でサーバ200の認識部212に転送する。
【0063】
具体的には、ロボット100の認識部156は、画像から移動物体、特に、人物や動物に対応する画像領域を抽出し、抽出した画像領域から移動物体の身体的特徴や行動的特徴を示す特徴量の集合として「特徴ベクトル」を抽出する。特徴ベクトル成分(特徴量)は、各種身体的・行動的特徴を定量化した数値である。たとえば、人間の目の横幅は0~1の範囲で数値化され、1つの特徴ベクトル成分を形成する。人物の撮像画像から特徴ベクトルを抽出する手法については、既知の顔認識技術の応用である。ロボット100は、特徴ベクトルをサーバ200に送信する。
【0064】
サーバ200の認識部212は、更に、人物認識部214と応対認識部228を含む。
人物認識部214は、ロボット100の内蔵カメラによる撮像画像から抽出された特徴ベクトルと、個人データ格納部218にあらかじめ登録されているユーザ(クラスタ)の特徴ベクトルと比較することにより、撮像されたユーザがどの人物に該当するかを判定する(ユーザ識別処理)。人物認識部214は、表情認識部230を含む。表情認識部230は、ユーザの表情を画像認識することにより、ユーザの感情を推定する。
なお、人物認識部214は、人物以外の移動物体、たとえば、ペットである猫や犬についてもユーザ識別処理を行う。
【0065】
応対認識部228は、ロボット100になされたさまざまな応対行為を認識し、快・不快行為に分類する。応対認識部228は、また、ロボット100の行動に対するオーナーの応対行為を認識することにより、肯定・否定反応に分類する。
快・不快行為は、ユーザの応対行為が、生物として心地よいものであるか不快なものであるかにより判別される。たとえば、抱っこされることはロボット100にとって快行為であり、蹴られることはロボット100にとって不快行為である。肯定・否定反応は、ユーザの応対行為が、ユーザの快感情を示すものか不快感情を示すものであるかにより判別される。たとえば、抱っこされることはユーザの快感情を示す肯定反応であり、蹴られることはユーザの不快感情を示す否定反応である。
【0066】
サーバ200の動作制御部222は、ロボット100の動作制御部150と協働して、ロボット100のモーションを決定する。サーバ200の動作制御部222は、マップ管理部210による行動マップ選択に基づいて、ロボット100の移動目標地点とそのための移動ルートを作成する。動作制御部222は、複数の移動ルートを作成し、その上で、いずれかの移動ルートを選択してもよい。
【0067】
動作制御部222は、モーション格納部232の複数のモーションからロボット100のモーションを選択する。各モーションには状況ごとに選択確率が対応づけられている。たとえば、オーナーから快行為がなされたときには、モーションAを20%の確率で実行する、気温が30度以上となったとき、モーションBを5%の確率で実行する、といった選択方法が定義される。
行動マップに移動目標地点や移動ルートが決定され、後述の各種イベントによりモーションが選択される。
【0068】
親密度管理部220は、ユーザごとの親密度を管理する。上述したように、親密度は個人データ格納部218において個人データの一部として登録される。快行為を検出したとき、親密度管理部220はそのオーナーに対する親密度をアップさせる。不快行為を検出したときには親密度はダウンする。また、長期間視認していないオーナーの親密度は徐々に低下する。
【0069】
(ロボット100)
ロボット100は、通信部142、データ処理部136、データ格納部148、内部センサ128、モニタ170および駆動機構120を含む。
通信部142は、通信機126(
図5参照)に該当し、外部センサ114、サーバ200および他のロボット100との通信処理を担当する。データ格納部148は各種データを格納する。データ格納部148は、記憶装置124(
図5参照)に該当する。データ処理部136は、通信部142により取得されたデータおよびデータ格納部148に格納されているデータに基づいて各種処理を実行する。データ処理部136は、プロセッサ122およびプロセッサ122により実行されるコンピュータプログラムに該当する。データ処理部136は、通信部142、内部センサ128、駆動機構120およびデータ格納部148のインタフェースとしても機能する。
【0070】
データ格納部148は、ロボット100の各種モーションを定義するモーション格納部160とアイコン格納部172を含む。
ロボット100のモーション格納部160には、サーバ200のモーション格納部232から各種モーションファイルがダウンロードされる。モーションは、モーションIDによって識別される。前輪102を収容して着座する、手106を持ち上げる、2つの前輪102を逆回転させることで、あるいは、片方の前輪102だけを回転させることでロボット100を回転行動させる、前輪102を収納した状態で前輪102を回転させることで震える、ユーザから離れるときにいったん停止して振り返る、などのさまざまなモーションを表現するために、各種アクチュエータ(駆動機構120)の動作タイミング、動作時間、動作方向などがモーションファイルにおいて時系列定義される。
【0071】
データ格納部148には、マップ格納部216および個人データ格納部218からも各種データがダウンロードされてもよい。
【0072】
アイコン格納部172は、アイコン画像とその表示条件が対応づけたアイコン情報を格納する。アイコンは、後述するようにロボットの目110に表示されることにより各種情報をユーザに提供する。たとえば、ロボット100の通信部142は、インターネットを介して外部サイトから天気情報を取得する。雨天のときまたは数時間以内の降雨が予測されるときには、雨傘を示すアイコンが目110に表示される(詳細後述)。この場合、雨傘のアイコンの表示条件は「雨天のときまたは数時間以内の降雨が予測されるとき」である。このほかにもアイコン格納部172にはさまざまなアイコンが格納される。ロボット100が空気清浄度センサを搭載しているときには、空気清浄度や化学物質の含有量に応じてアイコンを表示させてもよい。具体的には、二酸化炭素濃度や空気中の浮遊微粒子の濃度が所定値以上となったとき、それを示すアイコンを表示させてもよい。このほかにも、室温、ロボット100の内部温度、バッテリー118の充電率、故障の有無、感情管理部234が管理する感情状態に応じてさまざまなアイコンを表示させることができる。
【0073】
内部センサ128は、カメラ134、光検出部138および視線検出部140を含む。本実施形態におけるカメラ134は、ツノ112に取り付けられる全天球カメラである。光検出部138は、光センサであり、外部光源の方向、光の色、光量を検出する。視線検出部140は、カメラ134の撮像画像からユーザの目の動きを検出する既知のセンサである。本実施形態においては、視線検出部140により、ロボット100に対するユーザの注視を検出する。
【0074】
データ処理部136は、認識部156、動作制御部150、眼生成部152および眼表示部154を含む。
ロボット100の動作制御部150は、サーバ200の動作制御部222と協働してロボット100のモーションを決める。一部のモーションについてはサーバ200で決定し、他のモーションについてはロボット100で決定してもよい。また、ロボット100がモーションを決定するが、ロボット100の処理負荷が高いときにはサーバ200がモーションを決定するとしてもよい。サーバ200においてベースとなるモーションを決定し、ロボット100において追加のモーションを決定してもよい。モーションの決定処理をサーバ200およびロボット100においてどのように分担するかはロボットシステム300の仕様に応じて設計すればよい。
【0075】
ロボット100の動作制御部150は、サーバ200の動作制御部222とともにロボット100の移動方向を決める。行動マップに基づく移動をサーバ200で決定し、障害物をよけるなどの即時的移動をロボット100の動作制御部150により決定してもよい。駆動機構120は、動作制御部150の指示にしたがって前輪102を駆動することで、ロボット100を移動目標地点に向かわせる。
【0076】
ロボット100の動作制御部150は選択したモーションを駆動機構120に実行指示する。駆動機構120は、モーションファイルにしたがって、各アクチュエータを制御する。
【0077】
動作制御部150は、親密度の高いユーザが近くにいるときには「抱っこ」をせがむ仕草として両方の手106をもちあげるモーションを実行することもできるし、「抱っこ」に飽きたときには左右の前輪102を収容したまま逆回転と停止を交互に繰り返すことで抱っこをいやがるモーションを表現することもできる。駆動機構120は、動作制御部150の指示にしたがって前輪102や手106、首(頭部フレーム316)を駆動することで、ロボット100にさまざまなモーションを表現させる。
【0078】
眼生成部152は、眼画像を生成する。眼生成部152は、2つの目110に対応して2つの眼画像を個別に制御する。眼表示部154は、眼生成部152が生成した眼画像を目110に設置されるモニタ170に表示させる。眼画像の詳細は後述する。
【0079】
ロボット100の認識部156は、内部センサ128から得られた外部情報を解釈する。認識部156は、視覚的な認識(視覚部)、匂いの認識(嗅覚部)、音の認識(聴覚部)、触覚的な認識(触覚部)が可能である。
【0080】
認識部156は、内蔵の全天球カメラにより定期的に外界を撮像し、人やペットなどの移動物体を検出する。認識部156は、特徴抽出部146を含む。特徴抽出部146は、移動物体の撮像画像から特徴ベクトルを抽出する。上述したように、特徴ベクトルは、移動物体の身体的特徴と行動的特徴を示すパラメータ(特徴量)の集合である。移動物体を検出したときには、ニオイセンサや内蔵の集音マイク、温度センサ等からも身体的特徴や行動的特徴が抽出される。たとえば、画像に移動物体が写っているとき、ひげが生えている、早朝活動している、赤い服を着ている、香水の匂いがする、声が大きい、メガネをかけている、スカートを履いている、白髪である、背が高い、太っている、日焼けしている、ソファにいる、といったさまざまな特徴が抽出される。これらの特徴も定量化され、特徴ベクトル成分となる。
【0081】
ロボットシステム300は、大量の画像情報やその他のセンシング情報から得られる身体的特徴および行動的特徴に基づいて、高い頻度で出現するユーザを「オーナー」としてクラスタリングする。
たとえば、ひげが生えている移動物体(ユーザ)は早朝に活動すること(早起き)が多く、赤い服を着ることが少ないのであれば、早起きでひげが生えていて赤い服をあまり着ないクラスタ(ユーザ)、という第1のプロファイルができる。一方、メガネをかけている移動物体はスカートを履いていることが多いが、この移動物体にはひげが生えていない場合、メガネをかけていてスカートを履いているが絶対ひげは生えていないクラスタ(ユーザ)、という第2のプロファイルができる。
以上は、簡単な設例であるが、上述の方法により、父親に対応する第1のプロファイルと母親に対応する第2のプロファイルが形成され、この家には少なくとも2人のユーザ(オーナー)がいることをロボット100は認識する。
【0082】
ただし、ロボット100は第1のプロファイルが「父親」であると認識する必要はない。あくまでも、「ひげが生えていて早起きすることが多く、赤い服を着ることはめったにないクラスタ」という人物像を認識できればよい。プロファイルごとに、プロファイルを特徴づける特徴ベクトルが定義される。
【0083】
このようなクラスタ分析が完了している状態において、ロボット100が新たに移動物体(ユーザ)を認識したとする。
このとき、サーバ200の人物認識部214は、新たな移動物体の特徴ベクトルに基づいてユーザ識別処理を実行し、移動物体がどのプロファイル(クラスタ)に該当するかを判断する。たとえば、ひげが生えている移動物体を検出したとき、この移動物体は父親である確率が高い。この移動物体が早朝行動していれば、父親に該当することはいっそう確実である。一方、メガネをかけている移動物体を検出したときには、この移動物体は母親である可能性もある。この移動物体にひげが生えていれば、母親ではなく父親でもないので、クラスタ分析されていない新しい人物であると判定する。
【0084】
特徴抽出によるクラスタ(プロファイル)の形成(クラスタ分析)と、特徴抽出にともなうクラスタへの当てはめは同時並行的に実行されてもよい。
【0085】
検出・分析・判定を含む一連の認識処理のうち、ロボット100の認識部156は認識に必要な情報の取捨選択や抽出を行い、判定等の解釈処理はサーバ200の認識部212により実行される。認識処理は、サーバ200の認識部212だけで行ってもよいし、ロボット100の認識部156だけで行ってもよいし、上述のように双方が役割分担をしながら上記認識処理を実行してもよい。
【0086】
ロボット100に対する強い衝撃が与えられたとき、認識部156は内蔵の加速度センサによりこれを認識し、サーバ200の応対認識部228は、近隣にいるユーザによって「乱暴行為」が働かれたと認識する。ユーザがツノ112を掴んでロボット100を持ち上げるときにも、乱暴行為と認識してもよい。ロボット100に正対した状態にあるユーザが特定音量領域および特定周波数帯域にて発声したとき、サーバ200の応対認識部228は、自らに対する「声掛け行為」がなされたと認識してもよい。また、体温程度の温度を検知したときにはユーザによる「接触行為」がなされたと認識し、接触認識した状態で上方への加速度を検知したときには「抱っこ」がなされたと認識する。ユーザがボディ104を持ち上げるときの物理的接触をセンシングしてもよいし、前輪102にかかる荷重が低下することにより抱っこを認識してもよい。
まとめると、ロボット100は内部センサ128によりユーザの行為を物理的情報として取得し、サーバ200の応対認識部228は快・不快を判定し、サーバ200の認識部212は特徴ベクトルに基づくユーザ識別処理を実行する。
【0087】
サーバ200の応対認識部228は、ロボット100に対するユーザの各種応対を認識する。各種応対行為のうち一部の典型的な応対行為には、快または不快、肯定または否定が対応づけられる。一般的には快行為となる応対行為のほとんどは肯定反応であり、不快行為となる応対行為のほとんどは否定反応となる。快・不快行為は親密度に関連し、肯定・否定反応はロボット100の行動選択に影響する。
【0088】
認識部156により認識された応対行為に応じて、サーバ200の親密度管理部220はユーザに対する親密度を変化させる。原則的には、快行為を行ったユーザに対する親密度は高まり、不快行為を行ったユーザに対する親密度は低下する。
【0089】
サーバ200の認識部212は、応対に応じて快・不快を判定し、マップ管理部210は「場所に対する愛着」を表現する行動マップにおいて、快・不快行為がなされた地点のz値を変化させてもよい。たとえば、リビングにおいて快行為がなされたとき、マップ管理部210はリビングに好意地点を高い確率で設定してもよい。この場合、ロボット100はリビングを好み、リビングで快行為を受けることで、ますますリビングを好む、というポジティブ・フィードバック効果が実現する。
【0090】
移動物体(ユーザ)からどのような行為をされるかによってそのユーザに対する親密度が変化する。
【0091】
ロボット100は、よく出会う人、よく触ってくる人、よく声をかけてくれる人に対して高い親密度を設定する。一方、めったに見ない人、あまり触ってこない人、乱暴な人、大声で叱る人に対する親密度は低くなる。ロボット100はセンサ(視覚、触覚、聴覚)によって検出するさまざまな外界情報にもとづいて、ユーザごとの親密度を変化させる。
【0092】
実際のロボット100は行動マップにしたがって自律的に複雑な行動選択を行う。ロボット100は、寂しさ、退屈さ、好奇心などさまざまなパラメータに基づいて複数の行動マップに影響されながら行動する。ロボット100は、行動マップの影響を除外すれば、あるいは、行動マップの影響が小さい内部状態にあるときには、原則的には、親密度の高い人に近づこうとし、親密度の低い人からは離れようとする。
【0093】
ロボット100の行動は親密度に応じて以下に類型化される。
(1)親密度が非常に高いユーザ
ロボット100は、ユーザに近づき(以下、「近接行動」とよぶ)、かつ、人に好意を示す仕草としてあらかじめ定義される愛情仕草を行うことで親愛の情を強く表現する。
(2)親密度が比較的高いユーザ
ロボット100は、近接行動のみを行う。
(3)親密度が比較的低いユーザ
ロボット100は特段のアクションを行わない。
(4)親密度が特に低いユーザ
ロボット100は、離脱行動を行う。
【0094】
以上の制御方法によれば、ロボット100は、親密度が高いユーザを見つけるとそのユーザに近寄り、逆に親密度が低いユーザを見つけるとそのユーザから離れる。このような制御方法により、いわゆる「人見知り」を行動表現できる。また、来客(親密度が低いユーザA)が現れたとき、ロボット100は、来客から離れて家族(親密度が高いユーザB)の方に向かうこともある。この場合、ユーザBはロボット100が人見知りをして不安を感じていること、自分を頼っていること、を感じ取ることができる。このような行動表現により、ユーザBは、選ばれ、頼られることの喜び、それにともなう愛着の情を喚起される。
【0095】
一方、来客であるユーザAが頻繁に訪れ、声を掛け、タッチをするとロボット100のユーザAに対する親密度は徐々に上昇し、ロボット100はユーザAに対して人見知り行動(離脱行動)をしなくなる。ユーザAも自分にロボット100が馴染んできてくれたことを感じ取ることで、ロボット100に対する愛着を抱くことができる。
【0096】
なお、以上の行動選択は、常に実行されるとは限らない。たとえば、ロボット100の好奇心を示す内部パラメータが高くなっているときには、好奇心を満たす場所を求める行動マップが重視されるため、ロボット100は親密度に影響された行動を選択しない可能性もある。また、玄関に設置されている外部センサ114がユーザの帰宅を検知した場合には、ユーザのお出迎え行動を最優先で実行するかもしれない。
【0097】
図7は、眼画像174の外観図である。
眼生成部152は、瞳画像164と周縁画像168を含む眼画像174を生成する。眼生成部152は、眼画像174を動画表示させる。具体的には、瞳画像164を動かすことでロボット100の視線を表現する。また、所定のタイミングで瞬き動作を実行する。眼生成部152は、さまざまな動作パターンにしたがって眼画像174の多様な動きを表現する。眼表示部154は、目110のモニタ170に眼画像174を表示させる。モニタ170は、人間の眼球と同様、曲面形状を有することが望ましい。本実施形態におけるモニタ170は、平面形状であるとして説明する。
【0098】
瞳画像164は、瞳孔領域158と角膜領域162を含む。また、瞳画像164には、外光の映り込みを表現するためのキャッチライト166も表示される。眼画像174のキャッチライト166は、外光の反射によって輝いているのではなく、眼生成部152により高輝度領域として表現される画像領域である。
【0099】
眼生成部152は、モニタ170において、瞳画像164を上下左右に移動させることができる。ロボット100の認識部156が移動物体を認識したときには、眼生成部152は瞳画像164を移動物体の存在方向に向けるような動作パターン(動画データ)を生成する。眼表示部154は、この動作パターンにしたがって眼画像174の表示を変化させることにより、ロボット100の「注視」を表現する。上述したように眼生成部152は2つの目110に表示される眼画像174を個別に制御する。ロボット100の視線をユーザ等の対象物に向けるときには、眼生成部152は2つの眼画像174の双方を対象物に向ける。
【0100】
眼生成部152は、瞳画像164の形状をモニタ170における位置に応じて変化させてもよい。具体的には、瞳画像164がモニタ170の中心にあるときには真円形状とし、周縁部分にあるときには楕円形状に変化させる。瞳画像164の形状を位置に応じて変化させることにより平面のモニタ170であっても実際の眼球のような曲面形状であるかのように見せることができる。眼生成部152は眼球を模した3Dオブジェクトを生成し、これをモニタ170(投影面)に射影することで眼画像174を平面画像として表現する。
【0101】
光検出部138は、太陽や電灯などの外部光源を検出する。眼生成部152は、外部光源の存在方向に対応してキャッチライト166の位置を変化させる。
図7は、ロボット100から見て左上方に外部光源が存在する場合のキャッチライト166の表示位置を示している。キャッチライト166の位置を外部光源に連動させることにより、いっそうリアルな眼画像174を表現できる。また、瞳画像164と同様、キャッチライト166をその位置に応じて楕円形状に歪ませれば、モニタ170が曲面形状であるかのように見せる上で有効である。
【0102】
図8は、眼画像174の拡大図である。
本実施形態における眼画像174は、瞳画像164と周縁画像168に重ねて瞼(まぶた)を示す瞼画像176も含む。瞼画像176は、まつ毛178を含む。周縁画像168は、人間の結膜にあたる部分である。瞳画像164に含まれる角膜領域162は、人間の角膜にあたる部分である。角膜領域162には、虹彩が表示されてもよい。
【0103】
眼生成部152は、眼画像174のうち、瞼画像176、瞳孔領域158、角膜領域162およびキャッチライト166を変化させる。眼画像174の変化は恒常的で安定的な変化(以下、「恒常変化」とよぶ)と、一時的な変化(以下、「一時変化」とよぶ)の2種類がある。
【0104】
恒常変化は、更に、時間経過にともなう不可逆的な変化(以下、「経年変化」とよぶ)と、オーナーの目の特徴を取り込む変化(以下、「反映変化」とよぶ)の2種類がある。すなわち、ロボット100の目110には、オーナーの目に次第に似てくるという特性がある。
【0105】
(1)恒常変化
(1-1)経年変化
人間の瞳の直径は、加齢とともに小さくなるといわれる。老齢化するにつれ、結膜の白さがくすみ、瞼を閉じる筋力が衰えるため瞼は徐々に下がる。また、幼児期は瞬き(まばたき)の回数は少なく、成人になってからは瞬き回数は安定するといわれる。
【0106】
眼生成部152は、生物、特に、人間の目の成長・加齢にともなう変化を眼画像174において表現する。眼生成部152は、ロボット100の工場出荷時からの時間経過にともなって眼画像174を少しずつ変化させる。具体的には、眼生成部152は、角膜領域162の直径を時間経過にともなって小さくし、瞼画像176の定位置を低下させる。特に長い時間が経過したあとは、瞼画像176が所定位置より上がらないように設定してもよい。眼生成部152定期的に瞼画像176を下げることで瞬きを表現するが、瞬きの頻度もロボット100の加齢にともなって変化する。
【0107】
(1-2)反映変化
目は他者の印象に残りやすい重要な部位である。特徴抽出部146は、オーナーの目を撮像し、目の特徴を抽出する。特徴抽出は、目の外観の特徴を数値化することで特徴量として抽出される。目の外観には、瞳の大きさなどの静的特性だけでなく、視線の動きの癖や瞬きの頻度などの動的特性も含まれてもよい。より具体的には、瞼の形状や定位置、瞼の下がり方、まつ毛の長さ、瞳の大きさや色などのパラメータが目の特徴量として抽出される。瞳の定位置、上目遣いや目を細める癖、瞬きの頻度などの動的特性も特徴量となる。女性であれば、化粧によって、まつ毛の長さや瞼画像176の色が変化することもある。
【0108】
眼生成部152は、オーナーの目の特徴量を眼画像174にも反映させることでロボット100の目110をオーナーに似せる。本実施形態においては、眼生成部152は、オーナーの特徴を数カ月から数年かけて眼画像174に反映させる。たとえば、瞼が目尻側において下がり気味のオーナーのもとにいるロボット100の場合、眼生成部152はロボット100の瞼画像176を目尻側が下がるように変化させる。
【0109】
眼生成部152は、瞼画像176や瞳画像164などの各種パーツの境界線となるスプライン曲線、より具体的には、スプライン曲線上の1以上の制御点を調整することにより、眼画像174を変化させる。たとえば、瞼画像176と瞳画像164の境界を形成するスプライン曲線を変化させることで、瞼画像176の形状を変化させる。スプライン曲線の制御点を徐々に変化させれば、眼画像174の雰囲気を、時間をかけて少しずつ変化させることができる。
眼生成部152は、複数の眼画像174の画像パターンを用意してもよい。そして、複数の眼画像174を切り換えることで、眼画像174の雰囲気を変化させてもよい。
【0110】
オーナーが複数いるときには、眼生成部152は親密度の最も高いオーナーの特徴を眼画像174に反映させる。親密度の最も高いオーナーが、オーナーP1からオーナーP2に変化したときには、眼生成部152はオーナーP2の特徴を新たな反映変化のモデルとして選択する。
【0111】
経年変化および反映変化により、ロボット100は徐々に成長・加齢し、かつ、オーナーに似てくる。このため、オーナーはロボット100に親近感を感じるとともに、ロボット100の成長・加齢を感じることができる。経年変化と反映変化の一方のみに基づいて目110を恒常変化させてもよい。
【0112】
(2)一時変化
一時変化は、主として、外光によって生じる。眼画像174には「映り込み」や「アイコン」の表示による一時変化も生じるが、これらについては後述する。眼生成部152は、上述したように、外光方向に対応してキャッチライト166の位置を変化させる。また、眼生成部152は、外部光源の形状や光量に応じてキャッチライト166の形状、色およびサイズを変化させる。たとえば、外部光源が窓であれば、眼生成部152はキャッチライト166を窓の形状に変化させる。外部光源が青色であればキャッチライト166は青色になる。光量が大きいときほど眼生成部152はキャッチライト166のサイズを大きくする。複数の光源があるときには、眼生成部152は複数のキャッチライト166を表示させる。
【0113】
眼生成部152は、ロボット100に対するユーザからの視線が検出されたときにはキャッチライト166のサイズを拡大してもよい。視線検出部140は、撮像画像を画像解析し、ユーザの瞳孔の向きを検出することでユーザがロボット100を注視しているか否かを判断する。また、撮像画像においてユーザの顔領域の大きさが所定値以上であるときや、測距センサ(不図示)によりユーザが所定距離以内にあることを条件として、視線検出を実行するとしてもよい。
【0114】
光量が大きいときには、眼生成部152は瞳孔領域158の直径を拡大する。光量と瞳孔径の関係については、既知のモデルにしたがって制御されればよい(たとえば、非特許文献1の式(2)参照)。光量が特に大きいときには瞼画像176を下げることで「眩しそうな様子」を表現してもよい。
【0115】
図9(a)から
図9(e)は、さまざまな眼画像174の外観図である。いずれも、右目に対応する。
図9(a)は、瞼画像176が表示されていないときの眼画像174である。
図9(b)は、瞼画像176が目頭側に下がっているときの眼画像174である。
図9(c)は、瞼画像176が目尻側に下がっているときの眼画像174である。
図9(c)は、いわゆる「タレ目」である。
図9(d)も
図9(c)ほどではないが瞼画像176が目尻側に下がっている。また、
図9(e)では、瞼画像176のほか下瞼180も表示される。下瞼180の画像により、涙袋に似た表現も可能である。
【0116】
瞳画像164のサイズや色、瞼画像176の角度や形状などに、オーナーの特徴を反映させることにより、ユーザに似た顔を表現できる。たとえば、オーナーが下がり目であれば、眼生成部152は
図9(c)、
図9(d)のように瞼画像176の定位置を下げる。オーナーが二重まぶたであれば、眼生成部152は瞼画像176を二重まぶた画像に変更する。瞼画像176のまつ毛178の長さや本数にもオーナーの特徴が反映される。
【0117】
図10は、映り込み表示をするときの眼画像174の外観図である。
眼生成部152は、カメラ134で撮像した被写体182を瞳画像164に重畳して表示させる。これにより、ロボット100が見ているものが瞳画像164、特に、瞳孔領域158に映る様子を表現する。瞳画像164に被写体182を積極的に表示させることにより、目110の質感を高めることができる。眼生成部152は、魚眼レンズのように被写体182を歪めて瞳画像164に表示させてもよい。このような歪み表示をすれば、眼画像174が眼球と同じく曲面形状であるかのように見せることができる。
【0118】
図11は、アイコン184が瞳孔領域158に重畳表示されるときの眼画像174の外観図である。
図12は、キャッチライト166をアイコン184に変更したときの眼画像174の外観図である。
眼生成部152は、所定の表示条件が成立したとき、アイコン184を瞳孔領域158またはキャッチライト166に表示させる。たとえば、晴天時には晴れを示すアイコン184が瞳孔領域158に重畳表示される(
図11参照)。ユーザは瞳孔領域158を覗き込むことにより、室外が晴れていることを確認できる。アイコン184は、現在の天気ではなく、将来の天気(天気予報)を示してもよい。
【0119】
アイコン184を瞳孔領域158に表示させてもよいし、キャッチライト166をアイコン184に変化させてもよい。
図12においては、キャッチライト166が降雨を示すアイコン184に変化している。
【0120】
眼生成部152は、視線検出部140によりロボット100に対する視線が検出されたときに、いずれかのアイコン184の表示条件が成立していれば、そのアイコン184を表示させる。眼生成部152は、所定時間以上の視線検出、すなわち、凝視が検出されたときにアイコン184を表示させるとしてもよい。
【0121】
視線検出部140は、一定値以上の大きさの顔画像において両目領域を検出できたとき、ユーザがロボット100を覗き込んでいる、と判断してもよい。この覗き込み状態が所定時間継続すると「凝視」と判定し、眼生成部152はアイコン184を薄く、暗く、あるいは、小さく表示してもよい。そして、それ以上に覗き込み状態が続くと、眼生成部152はアイコン184を徐々に濃く、明るく、あるいは、大きく表示させてもよい。
【0122】
音声認識部(図示せず)によりユーザの音声を認識して、眼生成部152は音声に対応するアイコン184を表示させてもよい。たとえば、ユーザから「お天気はどうかな?」という声掛けがなされたとき、「天気」というキーワードに反応して、眼生成部152は現在の天気を示すアイコン184を表示させてもよい。ユーザから「明日のお天気はどうかな」という声掛けがなされたとき、「明日」「天気」というキーワードに反応して、眼生成部152は明日の天気を示すアイコン184を表示させてもよい。ユーザから「おなかすいていない?」という声掛けがなされたとき、「おなかがすく」という意味を認識して、眼生成部152はバッテリー118の充電率を示すインジケータ画像をアイコン184として表示させてもよい。眼生成部152は、凝視が所定時間継続したときに各種声掛けがなされたことを条件として、該当するアイコン184を表示させるとしてもよい。
眼生成部152は、アイコン184を所定時間が経過したときに消去する。あるいは、眼生成部152は、ユーザからの凝視を検出されなくなったことを条件としてアイコン184を消去してもよい。アイコン184は、フェードアウト方式により時間をかけて消去してもよい。
【0123】
眼生成部152は、任意のタイミング、たとえば、ランダムにアイコン184を表示させてもよいし、表示条件が成立したときには常にアイコン184を表示させてもよい。また、眼生成部152は、定期的に瞼画像176を閉じる「瞬き表示」を実行し、この瞬きのタイミングに合わせてアイコン184を表示させてもよい。
【0124】
以上、実施形態に基づいてロボット100およびロボット100を含むロボットシステム300について説明した。
本実施形態によれば、ロボット100の外観上の個性を表す目110をオーナーの目に似せることができる。オーナーは、ロボット100の目110が自分の目に似てくるため、ロボット100に対して親近感を抱きやすくなる。また、ロボット100の目110は複数のオーナーのうち親密度が高いオーナーに似てくるため、親密度という定量値を眼画像174により定性的に示唆できる。このため、オーナーは、ロボット100と仲良くなりたい、気に入られたいという意欲を喚起される。
【0125】
また、目110は経年変化するため、目110によりロボット100の成長や加齢を表現できる。このため、オーナーは長い時間を共にしたロボット100に対して愛着を保ちやすくなる。
【0126】
人物撮影には、ストロボなどで目にキャッチライトを写り込ませるテクニックがある。キャッチライトは、人間の目を生き生きと見せる効果がある。本実施形態におけるロボット100においては、眼生成部152がキャッチライト166の画像を眼画像174の一部として積極的に表示させている。本来、キャッチライトは外光の映り込み(反射光)であるが、ロボット100ではキャッチライト166を表示させることでロボット100の目110の可愛らしさを強調している。
【0127】
眼生成部152は、外部光源の方向に応じてキャッチライト166の位置を変化させるため、違和感のないリアルな画像表現が可能となる。眼生成部152は、光量に応じて瞳孔領域158のサイズを変更させることにより、生物のような目110を表現可能となる。被写体182を眼画像174に重ねて表示することで映り込みを表現することにより、ロボット100の目110の質感を高めている。瞬きの頻度やタイミングを制御することも目110のリアル感に寄与する。
【0128】
本実施形態におけるロボット100は、非言語コミュニケーション(non-verbal communication)を基本コンセプトとしている。一方、ロボット100は情報端末として機能させることもできる。本実施形態によれば、天気や充電率などのさまざまな有用情報をアイコン184として眼画像174により伝えることができる。非言語で感性的という基本コンセプトを守りつつ、ロボット100はユーザに役立つ情報端末としても機能する。
【0129】
ユーザがロボット100を見つめたときに限ってアイコン184が浮かび上がるように表示されるとすれば、ユーザは積極的にロボット100を見つめるようになると考えられる。オーナーがロボット100を至近距離で見つめるときには、カメラ134はオーナーの特徴ベクトルを抽出しやすい。オーナーがロボット100を見つめる機会を増やすことは、ユーザ識別処理の精度を高める上でも有効である。
【0130】
なお、本発明は上記実施形態や変形例に限定されるものではなく、要旨を逸脱しない範囲で構成要素を変形して具体化することができる。上記実施形態や変形例に開示されている複数の構成要素を適宜組み合わせることにより種々の発明を形成してもよい。また、上記実施形態や変形例に示される全構成要素からいくつかの構成要素を削除してもよい。
【0131】
1つのロボット100と1つのサーバ200、複数の外部センサ114によりロボットシステム300が構成されるとして説明したが、ロボット100の機能の一部はサーバ200により実現されてもよいし、サーバ200の機能の一部または全部がロボット100に割り当てられてもよい。1つのサーバ200が複数のロボット100をコントロールしてもよいし、複数のサーバ200が協働して1以上のロボット100をコントロールしてもよい。
【0132】
ロボット100やサーバ200以外の第3の装置が、機能の一部を担ってもよい。
図6において説明したロボット100の各機能とサーバ200の各機能の集合体は大局的には1つの「ロボット」として把握することも可能である。1つまたは複数のハードウェアに対して、本発明を実現するために必要な複数の機能をどのように配分するかは、各ハードウェアの処理能力やロボットシステム300に求められる仕様等に鑑みて決定されればよい。
【0133】
上述したように、「狭義におけるロボット」とはサーバ200を含まないロボット100のことであるが、「広義におけるロボット」はロボットシステム300のことである。サーバ200の機能の多くは、将来的にはロボット100に統合されていく可能性も考えられる。
【0134】
眼生成部152は、時間帯やロボット100の内部状態に応じて瞼画像176を制御してもよい。たとえば、充電率が低下したときには瞼画像176が下がり、充電中は瞼画像176が完全に下がって閉眼してもよい。夜遅くなると、瞼画像176を下げることにより「眠たさ」を表現してもよい。
【0135】
本実施形態における瞼画像176は、眼画像174の一部として形成される。変形例として、瞼画像176や下瞼180は、モニタ170を覆う物理的なカバーとして形成されてもよい。
【0136】
寂しさを示すパラメータが所定の閾値以上となっているときには、母親の特徴を反映させ、好奇心を示すパラメータが所定の閾値以上となっているときには、父親の特徴を反映させてもよい。オーナーの目の特徴量を状況(シチュエーション)ごとに分けて取得してもよい。たとえば、特徴抽出部146は、オーナーP1が笑っているときの目の特徴量と、オーナーP1が悲しんでいるときの目の特徴量を別々に取得してもよい。
【0137】
笑っているときの目の特徴量と通常時の目の特徴量の変化量(相違)を特徴量変化A、悲しんでいるときの目の特徴量と通常時の目の特徴量の変化量(相違)を特徴量変化B、とする。また、オーナーP1の特徴量変化AはオーナーP2の特徴量変化Aよりも大きいとする。一方、オーナーP2の特徴量変化BはオーナーP1の特徴量変化Bよりも大きいとする。この場合には、眼生成部152は、寂しさを示すパラメータが所定の閾値以上となっているときにはオーナーP2の特徴を反映させ、喜びを示すパラメータが所定の閾値以上となっているときにはオーナーP1の特徴を反映させてもよい。ロボット100は、嬉しいという感情状態にあるときには笑顔に特徴のあるオーナーP1に似る。また、ロボット100は、寂しいという感情状態にあるときには悲しみの顔に特徴のあるオーナーP2に似る。このような制御方法によれば、オーナーの特徴的な表情をロボット100の感情状態にシンクロさせることができる。
【0138】
眼生成部152は、充電率、プロセッサ122の処理負荷、ロボット100の内部温度などの各種内部状態や、光量が所定値以上のとき、夜の10時以降、天候などの外部状態に応じて、反映変化の対象となるオーナーを選択してもよい。このような制御方法によれば、特定の状態にあるときだけどことなく自分に似ている、とオーナーに感じさせることができる。また、複数のオーナーそれぞれの特徴をロボット100に取り込むことができるため、多くのオーナーから親近感を持たれやすくなると考えられる。
【0139】
眼生成部152は、複数のオーナーがいるときには、各オーナーに対する親密度に基づいて各オーナーの特徴ベクトル成分を加重平均することにより、複数のオーナーの特徴を目110に反映させてもよい。
【0140】
人間の目は左右で形状が異なることが多い。ロボット100においても、右の目110にはオーナーの右目の特徴を反映させ、左の目110にはオーナーの左目の特徴を反映させてもよい。
【0141】
眼生成部152は、キャッチライト166や瞳孔領域158を揺らせたり、滲ませることにより、目110の潤みを表現してもよい。
【0142】
反映変化には、反映変化の対象となるオーナーを選択する処理1、選択されたオーナーの特徴を抽出する処理2および選択されたオーナーの特徴を眼画像174に反映させる処理3という3種類の処理が含まれる。処理1の完了後、処理2が実行され、処理2の完了後に処理3が時間をかけて実行される。
【0143】
眼生成部152は、ロボット100が家庭に導入されてからすぐに眼画像174の反映変化を開始してもよい。たとえば、眼生成部152は、ロボット100が家庭に導入されて、電源投入後に最初に認識したオーナーを反映変化の対象として選択してもよい(処理1)。あるいは、眼生成部152が反映変化を開始するまでに所定の猶予期間を設定してもよい。猶予期間は、ロボット100が反映変化の対象となるオーナーを選択する処理1のために確保される一種の観察期間である。眼生成部152は、猶予期間が経過したあと、いずれかのオーナーを対象として反映変化を開始してもよい。たとえば、いずれかのオーナーに対する親密度が所定の閾値以上となったとき、そのオーナーを反映変化の対象としてもよい。この場合は、親密度が閾値を超えるまでの期間が猶予期間となる。猶予期間は、一定の時間であってもよい。
【0144】
眼生成部152は、ロボット100が家庭に導入されてから最初に電源投入された日時を記録してもよい。あるいは、最初に電源投入されたときからタイマーをスタートさせてもよい。電源投入に限らず、所定のトリガーイベントが発生した日時を標準日時として記録すればよい。このような時刻情報に基づいて、眼生成部152は眼画像174を経時変化させてもよい。
【0145】
ロボット100の目110には複数の表示レイヤを備えてもよい。具体的には、眼球を示す3Dオブジェクトが射影される第1レイヤ(眼画像174の表示面)、アイコン184を表示させる第2レイヤ、瞼画像176を表示させる第3レイヤを重畳し、最上層(外部側)に特殊情報を表示させる第4レイヤを形成してもよい。ここでいう特殊情報とは、バッテリー残量が所定値以下であること、システムエラーが発生していること、など、ユーザに通知する必要性が高い、あるいは、通知に緊急性を要する情報であり、ロボット100の設計者により定義される。アイコン184は、第2レイヤではなく、3Dオブジェクトの瞳画像164に表示させることで第1レイヤ(最深レイヤ)に表示させてもよい。
【0146】
ロボット100にはあらかじめ複数種類の「気質」が設定されてもよい。経年変化として、気質Aのロボット100の眼生成部152は瞼画像176を徐々にたれ目に変化させ、気質Bのロボット100の眼生成部152は瞼画像176を徐々につり目に変化させてもよい。このように、ロボット100の先天的設定に基づいて、経年変化のパターンを決定してもよい。
【0147】
また、ロボット100に対する環境や経験に応じて、眼画像174を経年変化させてもよい。たとえば、快行為と不快行為のどちらを多く受けたかに応じて眼画像174の経年変化パターンを決めてもよい。親密度が第1の閾値以上のオーナーがいるとき、親密度が第2の閾値以上のオーナーが複数いるとき、親密度が第3の閾値以下のオーナーがいないとき、などの諸条件に応じて、眼生成部152は複数種類の経年変化パターンのいずれかを選択してもよい。一例として、快行為を不快行為よりも多く受けたロボット100の眼生成部152は、瞼画像176をたれ目に変化させ、瞳孔領域158を初期設定よりも大きく変化させる。一方、不快行為を快行為よりも多く受けたロボット100の眼生成部152は、瞼画像176をつり目に変化させ、瞳孔領域158を初期設定よりも小さく変化させてもよい。
【0148】
眼生成部152は、ロボット100の感情状態を眼画像174に反映させてもよい。たとえば、ある感情状態(たとえば、驚き)にあるときには瞳孔領域158を拡大して「目を見開く」様子を表現してもよいし、別の感情状態(たとえば、動揺)にあるときには瞬きの頻度を高めてもよい。眼生成部152は、アイコン184と同様、瞬きのときに眼画像174を変化させてもよい。このような制御方法によれば、オーナーはロボット100の眼画像174からロボット100の感情を感じ取ることができる。このように、眼画像174を経年変化や反映変化させるだけでなく、感情状態に応じて眼画像174を一時変化させてもよい。
【0149】
眼生成部152は、ロボット100の所在地点に応じて眼画像174を変化させてもよい。たとえば、感情マップ116の好意地点にロボット100が存在するときには、瞳孔領域158を拡大して「目を見開く」様子を表現してもよいし、嫌悪地点にロボット100が存在するときには、瞬きの頻度を上昇させて「落ち着かない」様子を表現してもよい。このように、眼画像174により、ロボット100の場所に対する感情を表現してもよい。
【0150】
映り込み表示のときにも、凝視状態が続くほど、眼生成部152は、被写体182を濃く、大きく、くっきりと表示変更してもよい。
【0151】
眼生成部152は、瞳画像164に撮像画像をそのまま投影してもよいし、撮像画像を加工処理した上で投影してもよい。たとえば、撮像画像の焦点が合っていないときには、ハイパスフィルタなどの既知の画像補正を施した上で、よりシャープな被写体182の画像を生成してもよい。
【0152】
眼生成部152は、1人のユーザについてあらかじめ複数の撮像画像を保存しておき、ユーザが近すぎるなどの理由により好適な撮像画像を得られないときには、保存している撮像画像を実際の撮像画像の代わりに瞳画像164に映り込み表示してもよい。このような処理方法によれば、カメラ134による撮像画像がぼけているときでも、好適な被写体182の画像を映り込み表示できる。また、保存している撮像画像を代替して映り込み表示するときには、ロボット100とユーザの距離に応じて撮像画像を拡大・縮小してもよい。ロボット100とユーザが特に近いときには接写用のカメラによりユーザを撮影してもよい。
【0153】
ロボット100に設置される所定のリセットボタンを押したとき、または、サーバ200から所定のリセット命令をロボット100に送信したとき、眼生成部152は恒常変化をリセットしてもよい。リセットが実行されると、眼生成部152は経年変化または反映変化をクリアし、工場出荷時の眼画像174に変更する。リセットにより、たとえば、数日前、数週間前の所定の地点における眼画像174に戻してもよい。この場合、眼生成部152は眼画像174の恒常変化の時系列情報を保存しておく必要がある。このようなリセット機能によれば、眼画像174が好ましい恒常変化をしなかったときでも、数日前あるいは数年前の眼画像174に「巻き戻し」ができる。リセットはオーナーが任意のタイミングにて実行できてもよいし、回数制限を設けてもよいし、パスワードなどによりリセットの権限を制限してもよい。
【0154】
リセット後も、ロボット100の外部環境が変わらなければ、ロボット100の眼画像174は前回と同様の恒常変化をする可能性が高い。変形例として、ユーザは眼画像174の変化傾向を設定できてもよい。たとえば、「りりしい」という変化傾向を選択したときには、眼画像174は瞼画像176の低下を抑制してもよい。「かわいい」という変化傾向を選択したときには、眼画像174はまつ毛178を通常よりも長く設定し、瞳画像164の直径を通常時よりも拡大してもよい。ユーザは音声により指示してもよいし、ロボット100またはサーバ200に設置される操作部を介して指示してもよい。
【0155】
恒常変化(経年変化と反映変化)の速度は可変であってもよい。たとえば、ロボット100の購入から間もない期間は、動作制御部150は経年変化の速度を大きくし、所定期間経過後は経年変化の速度を低下させてもよい。このような制御方法によれば、ロボット100が「若い」ときには眼画像174が変化しやすく、ロボット100が「成熟」してくると眼画像174が安定してくるという生物に似た成長・加齢を表現できる。
【0156】
ロボットシステム300は、工場出荷時から眼画像を変化させる機能を備える必要はない。ロボットシステム300の出荷後に、通信ネットワークを介して眼画像制御機能を実現する眼画像制御プログラムをダウンロードすることにより、ロボットシステム300の機能強化が実現されてもよい。