IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ カシオ計算機株式会社の特許一覧

特許7528981機器の制御装置、機器、機器の制御方法及びプログラム
<>
  • 特許-機器の制御装置、機器、機器の制御方法及びプログラム 図1
  • 特許-機器の制御装置、機器、機器の制御方法及びプログラム 図2
  • 特許-機器の制御装置、機器、機器の制御方法及びプログラム 図3
  • 特許-機器の制御装置、機器、機器の制御方法及びプログラム 図4
  • 特許-機器の制御装置、機器、機器の制御方法及びプログラム 図5
  • 特許-機器の制御装置、機器、機器の制御方法及びプログラム 図6
  • 特許-機器の制御装置、機器、機器の制御方法及びプログラム 図7
  • 特許-機器の制御装置、機器、機器の制御方法及びプログラム 図8
  • 特許-機器の制御装置、機器、機器の制御方法及びプログラム 図9A
  • 特許-機器の制御装置、機器、機器の制御方法及びプログラム 図9B
  • 特許-機器の制御装置、機器、機器の制御方法及びプログラム 図10
  • 特許-機器の制御装置、機器、機器の制御方法及びプログラム 図11
  • 特許-機器の制御装置、機器、機器の制御方法及びプログラム 図12
  • 特許-機器の制御装置、機器、機器の制御方法及びプログラム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-29
(45)【発行日】2024-08-06
(54)【発明の名称】機器の制御装置、機器、機器の制御方法及びプログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20240730BHJP
   B25J 13/00 20060101ALI20240730BHJP
【FI】
G06N20/00 160
B25J13/00 Z
【請求項の数】 12
(21)【出願番号】P 2022082694
(22)【出願日】2022-05-20
(62)【分割の表示】P 2020054213の分割
【原出願日】2020-03-25
(65)【公開番号】P2022113701
(43)【公開日】2022-08-04
【審査請求日】2023-03-24
(73)【特許権者】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】100095407
【弁理士】
【氏名又は名称】木村 満
(72)【発明者】
【氏名】長谷川 浩一
(72)【発明者】
【氏名】河村 義裕
(72)【発明者】
【氏名】渥美 広城
(72)【発明者】
【氏名】浦野 美由紀
(72)【発明者】
【氏名】金村 俊明
【審査官】千葉 久博
(56)【参考文献】
【文献】特開2019-72495(JP,A)
【文献】特開2011-115944(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
A63H 1/00-37/00
B25J 13/00
(57)【特許請求の範囲】
【請求項1】
機器に外力が作用することにより発生した加速度及び角速度の少なくとも一方に基づいた入力データを取得する入力データ取得手段と、
前記入力データ取得手段により取得された複数の前記入力データを記憶する記憶手段と、
前記記憶手段により記憶された複数の前記入力データを、当該入力データが属する特徴空間内において、教師なしのクラスタリング手法により複数のクラスタに分類する分類手段と、
前記複数のクラスタのうち、前記入力データ取得手段により新たに取得された前記入力データが属するクラスタを特定する特定手段と、
前記特定手段により特定されたクラスタの代表的な位置と、前記新たに取得された入力データと、の間の距離である入力データ距離に対応させた関係データを取得する関係データ取得手段と、
前記関係データ取得手段により取得された前記関係データに基づいて、前記機器の動作を制御する制御手段と、
を備え
前記関係データ取得手段は、前記複数のクラスタのうち、前記特定手段により特定されたクラスタに含まれる入力データの取得時期に基づいて、前記関係データを取得する、
機器の制御装置。
【請求項2】
前記特徴空間は、前記入力データ取得手段に含まれるセンサのそれぞれにより取得されるデータの、X軸方向成分の平均値及び標準偏差、Y軸方向成分の平均値及び標準偏差、ならびにZ軸方向成分の平均値及び標準偏差に係る値をそれぞれ異なる次元の値とした複数次元の空間である、
請求項1に記載の機器の制御装置。
【請求項3】
機器に外力が作用することにより発生した加速度及び角速度の少なくとも一方に基づいた入力データを取得する入力データ取得手段と、
前記入力データ取得手段により取得された複数の前記入力データを記憶する記憶手段と、
前記記憶手段により記憶された複数の前記入力データを、当該入力データが属する特徴空間内において、教師なしのクラスタリング手法により複数のクラスタに分類する分類手段と、
前記複数のクラスタのうち、前記入力データ取得手段により新たに取得された前記入力データが属するクラスタを特定する特定手段と、
前記特定手段により特定されたクラスタに含まれる複数の前記入力データの取得時期から導出される関係データを取得する関係データ取得手段と、
前記関係データ取得手段により取得された前記関係データに基づいて、前記機器の動作を制御する制御手段と、
を備える機器の制御装置。
【請求項4】
前記機器の複数のユーザの各々を判別する判別手段をさらに備え、
前記入力データ取得手段は、前記入力データを、前記判別手段による判別結果に基づいて、前記複数のユーザの各々に対応させて取得し、
前記記憶手段は、前記複数の入力データを、前記判別手段による判別結果に基づいて、前記複数のユーザの各々に対応させて記憶し、
前記分類手段は、前記複数の入力データを、前記判別手段による判別結果に基づいて、前記複数のユーザの各々に対応させて複数のクラスタに分類し、
前記関係データ取得手段は、前記関係データを、前記判別手段による判別結果に基づいて、前記複数のユーザの各々に対応させて取得する、
請求項1からのいずれか1項に記載の機器の制御装置。
【請求項5】
前記入力データ取得手段は、前記機器に外力が作用することにより互いに同じタイミングで発生した前記加速度及び前記角速度と、前記加速度及び前記角速度が発生したタイミングにおける前記機器に対する接触の状態とに基づいた前記入力データを取得する、
請求項1からのいずれか1項に記載の機器の制御装置。
【請求項6】
前記機器の疑似的な感情を表す感情パラメータを変化させるための感情変化パラメータを、前記入力データが新たに取得されたときにメモリから読み出す感情変化パラメータ取得手段と、
読み出された前記感情変化パラメータを、前記関係データに基づいて修正する感情変化パラメータ修正手段と、
を更に備えた、
請求項1からのいずれか1項に記載の機器の制御装置。
【請求項7】
前記感情パラメータを、修正された前記感情変化パラメータに対応させて設定する感情パラメータ設定手段を更に備え、
前記制御手段は、前記感情パラメータ設定手段により設定された前記感情パラメータに基づいて、前記機器の動作を制御する、
請求項に記載の機器の制御装置。
【請求項8】
前記制御手段は、
前記感情変化パラメータ修正手段により修正された値に基づいて、前記感情パラメータの値を変化させる、前記感情変化パラメータの各々に対応させて、前記機器の複数の性格動作の各々を設定しておき、
前記機器に外力が作用した際に、前記複数の性格動作のうち、値が最大の感情変化パラメータに対応する性格動作を実行するように前記機器を制御する、
請求項またはに記載の機器の制御装置。
【請求項9】
前記代表的な位置は、特定されたクラスタの中心位置である、
請求項1または2に記載の機器の制御装置。
【請求項10】
請求項1から9のいずれか1項に記載の機器の制御装置を備えた機器。
【請求項11】
機器に外力が作用することにより発生した加速度及び角速度の少なくとも一方に基づいた入力データを取得する入力データ取得ステップと、
前記入力データ取得ステップで取得された複数の前記入力データを記憶する記憶ステップと、
前記記憶ステップにより記憶された複数の前記入力データを、当該入力データが属する特徴空間内において、教師なしのクラスタリング手法により複数のクラスタに分類する分類ステップと、
前記複数のクラスタのうち、前記入力データ取得ステップで新たに取得された前記入力データが属するクラスタを特定する特定ステップと、
前記特定ステップで特定されたクラスタの代表的な位置と、前記新たに取得された入力データと、の間の距離である入力データ距離に対応させた関係データを取得する関係データ取得ステップと、
前記関係データ取得ステップで取得された前記関係データに基づいて、前記機器の動作を制御する制御ステップと、
を有し、
前記関係データ取得ステップでは、前記複数のクラスタのうち、前記特定ステップにより特定されたクラスタに含まれる入力データの取得時期に基づいて、前記関係データを取得する、
機器の制御方法。
【請求項12】
コンピュータを、
機器に外力が作用することにより発生した加速度及び角速度の少なくとも一方に基づいた入力データを取得する入力データ取得手段、
前記入力データ取得手段により取得された複数の前記入力データを記憶する記憶手段、
前記記憶手段により記憶された複数の前記入力データを、当該入力データが属する特徴空間内において、教師なしのクラスタリング手法により複数のクラスタに分類する分類手段、
前記複数のクラスタのうち、前記入力データ取得手段により新たに取得された前記入力データが属するクラスタを特定する特定手段、
前記特定手段により特定されたクラスタの代表的な位置と、前記新たに取得された入力データと、の間の距離である入力データ距離に対応させた関係データを取得する関係データ取得手段、
前記関係データ取得手段により取得された前記関係データに基づいて、前記機器の動作を制御する制御手段、
として機能させ
前記関係データ取得手段は、前記複数のクラスタのうち、前記特定手段により特定されたクラスタに含まれる入力データの取得時期に基づいて、前記関係データを取得する、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機器の制御装置、機器、機器の制御方法及びプログラムに関する。
【背景技術】
【0002】
ロボット若しくは様々な機器を友達やペットのような親しみのある存在に近づけるように、その動作を制御する技術が知られている。例えば、特許文献1には、小動物を模した充電器が開示されており、この充電器は、表情を表すための人工眼球や、加速度センサを備えている。この充電器では、加速度センサで検出された加速度が所定の上限規定値よりも大きい場合には、人工眼球を制御することによって驚いた表情が生成される。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2009-43699号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1では、検出された加速度が所定の上限規定値を超えたか否かに応じて機器(充電器)の動作を制御しているにすぎないので、ユーザから機器に入力される多様な情報に応じて、機器を表現豊かに動作させているとはいえない面がある。
【0005】
そこで、本発明はこのような事情に鑑みてなされたものであって、従来よりも機器を表情豊かに動作させることができる機器の制御装置、機器、機器の制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
前記目的を達成するため、本発明に係る機器の制御装置の一様態は、
機器に外力が作用することにより発生した加速度及び角速度の少なくとも一方に基づいた入力データを取得する入力データ取得手段と、
前記入力データ取得手段により取得された複数の前記入力データを記憶する記憶手段と、
前記記憶手段により記憶された複数の前記入力データを、当該入力データが属する特徴空間内において、教師なしのクラスタリング手法により複数のクラスタに分類する分類手段と、
前記複数のクラスタのうち、前記入力データ取得手段により新たに取得された前記入力データが属するクラスタを特定する特定手段と、
前記特定手段により特定されたクラスタの代表的な位置と、前記新たに取得された入力データと、の間の距離である入力データ距離に対応させた関係データを取得する関係データ取得手段と、
前記関係データ取得手段により取得された前記関係データに基づいて、前記機器の動作を制御する制御手段と、
を備え
前記関係データ取得手段は、前記複数のクラスタのうち、前記特定手段により特定されたクラスタに含まれる入力データの取得時期に基づいて、前記関係データを取得する
また、本発明に係る機器の制御装置の一様態は、
機器に外力が作用することにより発生した加速度及び角速度の少なくとも一方に基づいた入力データを取得する入力データ取得手段と、
前記入力データ取得手段により取得された複数の前記入力データを記憶する記憶手段と、
前記記憶手段により記憶された複数の前記入力データを、当該入力データが属する特徴空間内において、教師なしのクラスタリング手法により複数のクラスタに分類する分類手段と、
前記複数のクラスタのうち、前記入力データ取得手段により新たに取得された前記入力データが属するクラスタを特定する特定手段と、
前記特定手段により特定されたクラスタに含まれる複数の前記入力データの取得時期から導出される関係データを取得する関係データ取得手段と、
前記関係データ取得手段により取得された前記関係データに基づいて、前記機器の動作を制御する制御手段と、
を備える。
【発明の効果】
【0007】
本発明によれば、従来よりも機器を表情豊かに動作させることができる。
【図面の簡単な説明】
【0008】
図1】実施形態1に係るロボットの外観を示す図である。
図2】実施形態1に係るロボットの側面から見た断面図である。
図3】実施形態1に係るロボットの筐体を説明する図である。
図4】実施形態1に係るロボットのひねりモータの動きの一例を説明する図である。
図5】実施形態1に係るロボットのひねりモータの動きの一例を説明する他の図である。
図6】実施形態1に係るロボットの上下モータの動きの一例を説明する図である。
図7】実施形態1に係るロボットの上下モータの動きの一例を説明する他の図である。
図8】実施形態1に係るロボットの機能構成を示すブロック図である。
図9A】実施形態1に係る分類部と関係データ取得部の処理を説明するための図である。
図9B図9Aとは異なる、実施形態1に係る分類部と関係データ取得部の処理を説明するための図である。
図10】実施形態1に係る感情マップの一例を説明する図である。
図11】実施形態1に係るロボット制御処理の流れを示すフローチャートである。
図12】実施形態2に係るロボットの機能構成を示すブロック図である。
図13】変形例に係る機器の制御装置及びロボットの機能構成を示すブロック図である。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について、図面を参照して説明する。なお、図中同一又は相当部分には同一符号を付す。
【0010】
(実施形態1)
本発明の実施形態1における機器の制御装置を図1に示すロボット200に適用した実施形態について、図面を参照して説明する。実施形態に係るロボット200は、小型の動物を模したペットロボットである。ロボット200は、図1に示すように、目を模した装飾部品202及びふさふさの毛203を備えた外装201に覆われている。また、外装201の中には、ロボット200の筐体207が収納されている。図2に示すように、ロボット200の筐体207は、頭部204、連結部205及び胴体部206とからなり、頭部204と胴体部206とが連結部205で連結されている。
【0011】
また、ロボット200の筐体207の動きが外装201に反映されるように、外装201は筐体207にスナップボタンで取り付けられている。具体的には、頭部204の前方にスナップボタンが2つ備えられており、また、胴体部206の後方にもスナップボタンが2つ備えられている。そして、外装201の対応する位置にも頭部204や胴体部206に備えられたスナップボタンと嵌まり合うスナップボタンが備えられており、外装201はスナップボタンにより筐体207に留められて装着される。なお、ここに示したスナップボタンの個数や位置は一例であり、任意に変更可能である。
【0012】
胴体部206は、前後方向に延びており、ロボット200が置かれている床やテーブル等の載置面に、外装201を介して接触する。そして、図2に示すように、胴体部206の前端部にひねりモータ221が備えられており、頭部204が連結部205を介して胴体部206の前端部に連結されている。連結部205には、上下モータ222が備えられている。なお、図2では、ひねりモータ221は胴体部206に備えられているが、連結部205に備えられていてもよい。
【0013】
連結部205は、連結部205を通り胴体部206の前後方向に延びる第1回転軸を中心として回転自在に、胴体部206と頭部204とを連結している。筐体207の正面図として図4及び図5に示すように、ひねりモータ221は、頭部204を上下モータ222とともに、胴体部206に対して、第1回転軸を中心として時計回り(右回り)に正転角度範囲内で回転(正転)させたり、反時計回り(左回り)に逆転角度範囲内で回転(逆転)させたりする。なお、この説明における時計回りは、胴体部206から頭部204の方向を見た時の時計回りである。また、時計回りの回転を「右方へのひねり回転」、反時計回りの回転を「左方へのひねり回転」とも呼ぶことにする。右方又は左方にひねり回転させる角度の最大値は任意である。図4及び図5では、図3に示す、頭部204を右方へも左方へもひねっていない状態における頭部204の角度(以下「ひねり基準角度」)を0で表している。また、最も左方へひねり回転(反時計回りに回転)させた時の角度を-100で、最も右方へひねり回転(時計回りに回転)させた時の角度を+100で、それぞれ表している。
【0014】
また、連結部205は、連結部205を通り胴体部206の幅方向に延びる第2回転軸を中心として回転自在に、胴体部206と頭部204とを連結する。筐体207の側面図として図6及び図7に示すように、上下モータ222は、頭部204を、第2回転軸を中心として上方に正転角度範囲内で回転(正転)させたり、下方に逆転角度範囲内で回転(逆転)させたりする。上方又は下方に回転させる角度の最大値は任意だが、図6及び図7では、図2に示す、頭部204を上方にも下方にも回転させていない状態における頭部204の角度(以下「上下基準角度」)を0で、最も下方に回転させた時の角度を-100で、最も上方に回転させた時の角度を+100で、それぞれ表している。頭部204は、第2回転軸を中心とする上下の回転によって上下基準角度又は上下基準角度より下方に回転している場合は、ロボット200が置かれている床やテーブル等の載置面に、外装201を介して接触可能である。なお、図2では、第1回転軸と第2回転軸とが互いに直交している例が示されているが、第1及び第2回転軸は互いに直交していなくてもよい。
【0015】
また、ロボット200は、図2に示すように、頭部204にタッチセンサ211を備え、ユーザが頭部204を撫でたり叩いたりしたことを、タッチセンサ211により検出することができる。また、胴体部206にもタッチセンサ211を備え、ユーザが胴体部206を撫でたり叩いたりしたことも、タッチセンサ211により検出することができる。
【0016】
また、ロボット200は、胴体部206に加速度センサ212とジャイロセンサ214とを備え、ロボット200自体の姿勢の検出や、ユーザによって持ち上げられたり、向きを変えられたり、投げられたりしたことを、加速度センサ212及びジャイロセンサ214により検出することができる。また、ロボット200は、胴体部206にマイクロフォン213を備え、外部の音を検出することができる。さらに、ロボット200は、胴体部206にスピーカ231を備え、スピーカ231を用いてロボット200の鳴き声を発することができる。
【0017】
なお、本実施形態では加速度センサ212、ジャイロセンサ214、マイクロフォン213及びスピーカ231は胴体部206に備えられているが、これらの全て又は一部が頭部204に備えられていてもよい。また、胴体部206に備えられた加速度センサ212、ジャイロセンサ214、マイクロフォン213及びスピーカ231に加えて、これらの全て又は一部を頭部204にも備えるようにしてもよい。
【0018】
次に、ロボット200の機能構成について説明する。ロボット200は、図8に示すように、機器の制御装置100と、センサ部210と、駆動部220と、出力部230と、操作部240と、を備える。そして、機器の制御装置100は、制御部110と、記憶部120と、を備える。図8では、機器の制御装置100と、センサ部210、駆動部220、出力部230及び操作部240とが、バスラインBLを介して接続されているが、これは一例である。機器の制御装置100と、センサ部210、駆動部220、出力部230及び操作部240とは、USB(Universal Serial Bus)ケーブル等の有線インタフェースや、Bluetooth(登録商標)等の無線インタフェースで接続されていてもよい。また、制御部110と記憶部120とは、バスラインBLを介して接続されていてもよい。
【0019】
機器の制御装置100は、制御部110及び記憶部120により、ロボット200の動作を制御する。
【0020】
制御部110は、例えば、CPU(Central Processing Unit)等で構成され、記憶部120に記憶されたプログラムを実行することにより、後述する各部(外部刺激取得部111、入力データ取得部112、分類部113、関係データ取得部114、変化量取得部115、感情パラメータ設定部116、動作制御部117)として機能する。また、図示しないが、制御部110は、クロック機能やタイマー機能も備えており、日時等を計時することができる。
【0021】
記憶部120は、ROM(Read Only Memory)、フラッシュメモリ、RAM(Random Access Memory)等で構成される。ROMには、制御部110のCPUが実行するプログラム及びプログラムを実行する上で予め必要なデータが、記憶されている。フラッシュメモリは書き込み可能な不揮発性のメモリであり、電源オフ後も保存させておきたいデータが記憶される。RAMには、プログラム実行中に作成されたり変更されたりするデータが記憶される。
【0022】
センサ部210は、前述したタッチセンサ211、加速度センサ212、ジャイロセンサ214、及びマイクロフォン213を備える。制御部110は、バスラインBLを介して、センサ部210が備える各種センサが検出した検出値を外部刺激として取得する。なお、センサ部210は、タッチセンサ211、加速度センサ212、ジャイロセンサ214、マイクロフォン213以外のセンサを備えてもよい。センサ部210が備えるセンサの種類を増やすことにより、制御部110が取得できる外部刺激の種類を増やすことができる。
【0023】
タッチセンサ211は、何らかの物体が接触したことを検出する。タッチセンサ211は、例えば圧力センサや静電容量センサにより構成される。タッチセンサ211が検出した検出値は、接触の強さを示す。また、タッチセンサ211は、指向性のある接触検知が可能であり、ロボット200の胴体部206の前後方向(X軸方向)からの接触、幅(左右)方向(Y軸方向)からの接触及び上下方向(Z軸方向)からの接触から成る3軸方向の接触の強さを検出する。よって、タッチセンサ211の検出値は、X軸方向からの接触の強さ、Y軸方向からの接触の強さ、及びZ軸方向からの接触の強さの値からなる3次元のデータである。制御部110は、タッチセンサ211からの検出値に基づいて、ユーザによってロボット200が撫でられていることや、叩かれたりしていること等を検出することができる。
【0024】
加速度センサ212は、ロボット200の胴体部206の前後方向(X軸方向)、幅(左右)方向(Y軸方向)及び上下方向(Z軸方向)から成る3軸方向の加速度を検出する。よって、加速度センサ212が検出する加速度の値は、X軸方向の加速度、Y軸方向の加速度、及びZ軸方向の加速度の値からなる3次元のデータである。加速度センサ212は、ロボット200が静止しているときには重力加速度を検出するので、制御部110は、加速度センサ212が検出した重力加速度に基づいて、ロボット200の現在の姿勢を検出することができる。また、例えばユーザがロボット200を持ち上げたり投げたりした場合には、加速度センサ212は、重力加速度に加えてロボット200の移動に伴う加速度を検出する。したがって、制御部110は、加速度センサ212が検出した検出値から重力加速度の成分を除去することにより、ロボット200の動きを検出することができる。
【0025】
ジャイロセンサ214は、ロボット200の胴体部に回転が加えられたときの角速度を検出する。具体的には、ジャイロセンサは、胴体部206の前後方向(X軸方向)を軸とした回転、幅(左右)方向(Y軸方向)を軸とした回転、及び上下方向(Z軸方向)を軸とした回転から成る3軸回転の角速度を検出する。よって、ジャイロセンサ214が検出する角速度の値は、X軸回転の角速度、Y軸回転の角速度、及びZ軸回転の角速度の値からなる3次元のデータである。加速度センサ212が検出した検出値とジャイロセンサ214が検出した検出値とを組み合わせることで、ロボット200の動きをより精度よく検出することができる。
【0026】
なお、タッチセンサ211と加速度センサ212とジャイロセンサ214とは同期が取れており、同じタイミングで接触の強さ、加速度、角速度をそれぞれ検出し、検出値を制御部110に出力している。具体的には、タッチセンサ211と加速度センサ212とジャイロセンサ214とは、例えば0.25秒毎に、同じタイミングで接触の強さ、加速度、角速度を検出している。
【0027】
マイクロフォン213は、ロボット200の周囲の音を検出する。制御部110は、マイクロフォン213が検出した音の成分に基づき、例えばユーザがロボット200に呼びかけていることや、手を叩いていること等を検出することができる。
【0028】
駆動部220は、ひねりモータ221及び上下モータ222を備える。駆動部220は、制御部110によって駆動される。その結果、ロボット200は、例えば頭部204を持ち上げたり(第2回転軸を中心として上方に回転させたり)、横にひねったり(第1回転軸を中心として右方又は左方にひねり回転させたり)するような動作を表現することができる。これらの動作を行うための動作制御データは、後述する感情表現テーブル122に記録されており、後述する感情マップ上の疑似的な感情に基づいて、ロボット200の頭部204の動作が制御される。感情表現テーブル122に記録された動作制御データにより、ロボット200は、例えば、喜んでいる時には、喜んでいるように見える動作を行い、悲しんでいる時には、悲しんでいるように見える動作を行う。
【0029】
出力部230は、スピーカ231を備え、制御部110が音のデータを出力部230に入力することにより、スピーカ231から音が出力される。例えば、制御部110がロボット200の鳴き声のデータを出力部230に入力することにより、ロボット200は疑似的な鳴き声を発する。この鳴き声のデータも、感情表現テーブル122に記録されており、後述する感情マップ上の疑似的な感情に基づいて鳴き声が選択される。感情表現テーブル122に記録された鳴き声データにより、ロボット200は、例えば、喜んでいる時には、喜んでいるように聞こえる鳴き声を発し、悲しんでいる時には、悲しんでいるように聞こえる鳴き声を発する。
【0030】
なお、出力部230として、スピーカ231に代えて、又はスピーカ231に加えて、液晶ディスプレイ等のディスプレイや、LED(Light Emitting Diode)等の発光部を備え、喜びや悲しみ等の感情をディスプレイに表示したり、発光する光の色や明るさで表現したりしてもよい。この場合は、感情マップ上の疑似的な感情に基づいて、各感情に対応するディスプレイへの表示内容や、発光部の色や明るさ等が、感情表現テーブル122に予め記録されている必要がある。
【0031】
操作部240は、例えば、操作ボタン、ボリュームつまみ等から構成される。操作部240は、例えば、電源オンオフ、出力音のボリューム調整等のユーザ操作を受け付けるためのインタフェースである。
【0032】
次に、機器の制御装置100が備える制御部110の機能的構成について説明する。制御部110は、外部刺激取得部111、入力データ取得部112、分類部113、関係データ取得部114、変化量取得部115、感情パラメータ設定部116、動作制御部117、変化量学習部118として機能する。
【0033】
外部刺激取得部111は、センサ部210からの検出値に基づいて、外部からロボット200に作用する外部刺激を取得する。センサ部210は、複数のセンサ(タッチセンサ211、加速度センサ212、ジャイロセンサ214、マイクロフォン213)を備えるので、外部刺激取得部111は、これら複数のセンサにより、互いに異なる種類の複数の外部刺激を取得する。
【0034】
入力データ取得部112は、ロボット200に外力が作用することにより発生した加速度及び角速度の少なくとも一方に基づいた入力データを取得し、後述する入力データ履歴バッファ125に記憶する。入力データ取得部112は、入力データ取得手段として機能する。
【0035】
具体的には、まず、入力データ取得部112は、ロボット200に外力が作用して加速度センサ212又はジャイロセンサ214によって閾値以上の加速度、若しくは閾値以上の角速度が検出された場合に、その時点から例えば0.75秒の間にタッチセンサ211、加速度センサ212、ジャイロセンサ214で検出された接触の強さ、加速度、角速度の値を検出する。上述したように、タッチセンサ211と加速度センサ212とジャイロセンサ214は、0.25秒間隔で検出を行っているので、前述した0.75秒の間には、それぞれ3つずつの接触の強さ、加速度、角速度の値が検出される。続いて、入力データ取得部112は、このようにして3つずつ取得した接触の強さ、加速度、角速度の値のそれぞれの平均値と標準偏差とを算出して、入力データとして取得する。
【0036】
上述したように、接触の強さと加速度と角速度とは、X軸方向、Y軸方向及びZ軸方向の3成分で検出されるため、1つの入力データには、接触の強さのX軸方向成分の平均値と標準偏差、Y軸方向成分の平均値と標準偏差、及びZ軸方向成分の平均値と標準偏差と、加速度のX軸方向成分の平均値と標準偏差、Y軸方向成分の平均値と標準偏差、及びZ軸方向成分の平均値と標準偏差と、角速度のX軸方向成分の平均値と標準偏差、Y軸方向成分の平均値と標準偏差、及びZ軸方向成分の平均値と標準偏差とが含まれる。即ち、入力データは、18個の値で構成される18次元のデータである。
【0037】
なお、入力データ取得部112が取得する入力データは上記構成に限定されるものではなく、ロボット200に外力が作用することにより発生した加速度及び角速度の少なくとも一方に基づいた値であれば、いかなる値を入力データに含めてもよい。例えば、0.75秒の間に計測された加速度、若しくは角速度の最大値や最小値を入力データに含めてもよい。
【0038】
分類部113は、入力データ履歴バッファ125に記憶されている複数の入力データを、教師なしのクラスタリング手法により複数のクラスタに分類する。なお、分類部113が用いるクラスタリング手法は公知の手法が採用可能であり、例えば、K平均法である。なお、分類部が分類するクラスタの数は予め設定しておいてもよいし、設定しなくてもよい。なお、クラスタの数を設定しない場合は、分類部113は、複数の入力データの分布状況に基づいて、最適な数のクラスタに自動的に分類すればよい。分類部113は、分類手段として機能する。
【0039】
関係データ取得部114は、入力データ取得部112により取得された入力データと、分類部113により生成された複数のクラスタとの間の関係を表す関係データを取得する。関係データ取得部114は、関係データ取得手段として機能する。
【0040】
具体的には、まず、関係データ取得部114は、分類された複数のクラスタのうちから、今回取得された入力データが属するクラスタを特定する。続いて、関係データ取得部114は、分類された複数のクラスタと今回取得された入力データとの関係を表す特徴空間における、特定したクラスタの中心からの入力データの距離である入力データ距離を求める。なお、入力データ距離は0から1の範囲になるように正規化されている。続いて、関係データ取得部114は、入力データ距離に基づいて関係データ126を取得する。関係データ126は、入力データ距離が大きいほど小さくなる、1~10の範囲の値を有するデータである。例えば、入力データ距離が最小の0である場合、関係データ126の値は最大の10となる。入力データ距離が最大の1である場合、関係データ126の値は最小の1となる。
【0041】
関係データ126の値が大きい、即ち、入力データ距離が小さいほど、今回取得した入力データはこれまでに取得されてきた入力データと相関が高く、今回の入力データに起因する外部刺激にロボット200は慣れていることとなる。そのため、関係データ126の値は、その外部刺激に対してロボット200がどれくらい慣れているかの度合い(以下、慣れ度と表記)を表す。
【0042】
ここで、図9を用いて、分類部113及び関係データ取得部114の処理について説明する。図9Aは、入力データ履歴バッファ125に格納されている複数の入力データの特徴空間における分布を示した図である。上述したように入力データは18次元のデータであるが、説明を容易にするため、この図では2次元の特徴空間での分布を示している。この図において、黒丸と2重丸は入力データ履歴バッファ125に格納されている入力データを表す。2重丸は、入力データ取得部112が今回取得した入力データである。
【0043】
この場合、分類部113によって、図9Bに示すように、入力データは5つのクラスタC1~C5に分類される。また、この図より、今回取得された入力データが属するクラスタはクラスタC3であることがわかる。そのため、クラスタC3の中心から今回取得された入力データとの距離Lが入力データ距離として算出され、入力データ距離に基づいて関係データ126が取得される。
【0044】
図8に戻り、変化量取得部115は、ロボット200の疑似的な感情を変化させるパラメータである感情変化パラメータ(後述する感情変化データ124)を、外部刺激取得部111で取得された外部刺激に応じて取得する。そして、変化量取得部115は、取得した感情変化パラメータ(感情変化データ124)を、関係データ取得部114が取得した関係データ126に応じて修正する。なお、変化量取得部115は、関係データ126に応じて全ての感情変化パラメータを一律に修正した後に、外部刺激に応じた感情変化パラメータ(感情変化データ124)を取得してもよい。また、外部刺激の種類と関係データ126の値との組毎に対応する感情変化パラメータ(感情変化データ124)とその修正値とを規定するテーブルを記憶部120に記憶しておく。そして、変化量取得部115は、当該テーブルを参照することで、感情変化パラメータを取得してもよい。
【0045】
感情パラメータ設定部116は、ロボット200の疑似的な感情を表す感情パラメータ(後述する感情データ121)を、変化量取得部115が取得した感情変化パラメータ(感情変化データ124)に応じて設定する。上述したように、感情変化パラメータは関係データに応じて修正されているため、感情パラメータ設定部116は、関係データに基づいて感情パラメータ(後述する感情データ121)を設定していることになる。感情パラメータ設定部116は、感情パラメータ設定手段として機能する。
【0046】
動作制御部117は、感情パラメータ設定部116で設定された感情パラメータ(感情データ121)に応じて、ロボット200の動作を制御する。具体的には、動作制御部117は、設定された感情データ121に対応する感情表現テーブル122のデータ(動作制御データ及び鳴き声データ)に基づいて、駆動部220を駆動し、出力部230から鳴き声を出力させる。上述したように、感情変化パラメータは、関係データに応じて修正される。そして、感情パラメータ(感情データ121)は、感情変化パラメータに応じて設定されているため、動作制御部117は、関係データに基づいて、ロボット200の動作を制御していることになる。動作制御部117は、制御手段として機能する。
【0047】
変化量学習部118は、感情変化パラメータ(後述する感情変化データ124)を、外部刺激取得部111で取得された外部刺激に応じて学習し、記憶する。具体的には、変化量学習部118は、感情変化データ124を後述するロボット制御処理により、外部刺激に応じて増減させる。
【0048】
次に、記憶部120に記憶されるデータのうち、本実施形態に特徴的なデータである、感情データ121、感情表現テーブル122、成長日数データ123、感情変化データ124、入力データ履歴バッファ125、及び関係データ126について、順に説明する。
【0049】
感情データ121は、ロボット200に疑似的な感情を持たせるためのデータであり、感情マップ300上の座標を示すデータ(X,Y)である。感情マップ300は図10に示すように、X軸311として安心度(不安度)の軸、Y軸312として興奮度(無気力度)の軸を持つ2次元の座標系で表される。感情マップ上の原点310(0,0)が通常時の感情を表す。そして、X座標の値(X値)が正でその絶対値が大きくなるほど安心度が高く、Y座標の値(Y値)が正でその絶対値が大きくなるほど興奮度が高い感情を表す。また、X値が負でその絶対値が大きくなるほど不安度が高く、Y値が負でその絶対値が大きくなるほど無気力度が高い感情を表す。
【0050】
感情データ121は、互いに異なる複数(本実施形態では4つ)の疑似的な感情を表すX値(安心度、不安度)とY値(興奮度、無気力度)の2つの値を持ち、X値とY値とで表される感情マップ300上の点が、ロボット200の疑似的な感情を表す。感情データ121の初期値は(0,0)である。感情データ121は、ロボット200の疑似的な感情を表すパラメータなので、感情パラメータとも呼ばれる。なお、図9では感情マップ300が2次元の座標系で表されているが、感情マップ300の次元数は任意である。感情マップ300を1次元で規定し、感情データ121として1つの値が設定されるようにしてもよい。また、他の軸を加えて3次元以上の座標系で感情マップ300を規定し、感情データ121として感情マップ300の次元数の個数の値が設定されるようにしてもよい。
【0051】
本実施形態においては、感情マップ300の初期値としてのサイズは、図10の枠301に示すように、X値もY値も最大値が100、最小値が-100となっている。そして、第1期間の間、ロボット200の疑似的な成長日数が1日増える度に、感情マップ300の最大値、最小値ともに2ずつ拡大されていく。ここで第1期間とは、ロボット200が疑似的に成長する期間であり、ロボット200の疑似的な生誕から例えば50日の期間である。なお、ロボット200の疑似的な生誕とは、ロボット200の工場出荷後のユーザによる初回の起動時である。成長日数が25日になると、図10の枠302に示すように、X値もY値も最大値が150、最小値が-150となる。そして、第1期間(この例では50日)経過後は、図10の枠303に示すように、X値もY値も最大値が200、最小値が-200となって、感情マップ300のサイズが固定される。
【0052】
感情データ121の設定可能範囲は、感情マップ300によって規定される。このため、感情マップ300のサイズが拡大するにつれて、設定可能な感情データ121の範囲が拡大する。感情データ121の設定可能範囲が拡大することにより、より豊かな感情表現が可能になるので、ロボット200の疑似的な成長が、感情マップ300のサイズの拡大によって表現されることになる。そして、感情マップ300のサイズは第1期間経過後に固定され、ロボット200の疑似的な成長が終了する。
【0053】
感情表現テーブル122には、動作制御データ及び鳴き声データが記録されている。これらの動作制御データ及び鳴き声データは、感情マップ300上の座標で表される各感情に対応する動作及び鳴き声を設定するためのデータである。感情表現テーブル122は、動作制御データ及び鳴き声データともに、2次元配列(動作制御データ[X’][Y’]及び鳴き声データ[X’][Y’])で表される。X’及びY’の値は、感情マップ300上の座標(X,Y)に対応するが、本実施形態では、感情マップ300上の座標(X値及びY値)をそれぞれ基準倍率値(例えば100)で割った値(小数点以下四捨五入)を感情表現テーブル122の2次元配列のインデックス(X’値及びY’値)としている。ここで基準倍率値を100とすると、X’値もY’値も-2,-1,0,1,2の5つの値を取り得る。この場合、X’値もY’値も5通りなので、5×5=25通りの動作制御データ及び鳴き声データが感情表現テーブル122に記録されている。機器の制御装置100は、ロボット200の感情表現を行うとき、ロボット200の現在の感情データ121で示される座標に対応するインデックスで示される感情表現テーブル122の値を用いる。例えば、感情データ121(X,Y)が(60,-30)であるなら、感情表現テーブル122のインデックス(X’,Y’)=(1,0)となり(X’=60÷100≒1で、Y’=-10÷100≒0であるため)、動作制御データ[1][0]及び鳴き声データ[1][0]を用いて感情を表現する。
【0054】
なお、感情表現テーブル122と感情マップ300の座標の対応付けは上記の例に限定されない。上記の例ではX軸、Y軸ともに、座標の範囲を均等に5段階に分けているが、例えばX軸の0以上の部分を10段階、0未満の部分を2段階に分け、Y軸の-30から30までの部分を3段階、-30未満の部分を5段階、30を超える部分を6段階に分ける等のように自由に設定してよい。また、感情マップ300の座標1つ1つに対応した(例えば401×401=160801通りの)動作や鳴き声を感情表現テーブル122に設定してもよい。
【0055】
成長日数データ123は、初期値が1であり、1日経過する度に1ずつ加算されていく。成長日数データ123により、ロボット200の疑似的な成長日数(疑似的な生誕からの日数)が表されることになる。ここでは、成長日数データ123で表される成長日数の期間を、第2期間と呼ぶことにする。
【0056】
感情変化データ124は、感情データ121のX値及びY値の各々を増減させる変化量を設定するデータである。本実施形態では、感情データ121のX値に対応する感情変化データ124として、X値を増加させるDXPと、X値を減少させるDXMとがあり、感情データ121のY値に対応する感情変化データ124として、Y値を増加させるDYPと、Y値を減少させるDYMとがある。すなわち、感情変化データ124は、以下の4つの変数からなる。これらの変数はロボット200の疑似的な感情を変化させるパラメータなので、感情変化パラメータとも呼ばれる。
DXP:安心し易さ(感情マップでのX値のプラス方向への変化し易さ)
DXM:不安になり易さ(感情マップでのX値のマイナス方向への変化し易さ)
DYP:興奮し易さ(感情マップでのY値のプラス方向への変化し易さ)
DYM:無気力になり易さ(感情マップでのY値のマイナス方向への変化し易さ)
本実施形態では、一例として、これらの変数の初期値をいずれも10とし、上述した変化量学習部118により、最大20まで増加するものとしている。変化量学習部118により、感情変化データ124、すなわち感情の変化度合が変化するので、ロボット200は、ユーザによるロボット200との接し方に応じて、様々な性格を持つことになる。つまり、ロボット200の性格は、ユーザの接し方により、個々に異なって形成されることになり、感情変化パラメータ(感情変化データ124)の値は、ロボット200の擬似的な性格を表しているともいえる。
さらに、本実施形態では、外部刺激に対する慣れ度を表す関係データ126によっても感情変化データ124、すなわち感情の変化度合が変化するので、ロボット200は、過去のユーザの接し方も考慮に入れた動作をすることが可能となる。
【0057】
入力データ履歴バッファ125は、これまでに入力データ取得部112によって取得された入力データが蓄積される。入力データ履歴バッファ125に格納可能な入力データの個数には制限(例えば、200個)が設けられている。制限を超えた入力データが新たに入力データ履歴バッファ125に格納される場合、格納されている入力データのうちで最も取得日時が古いものが削除される。入力データ履歴バッファ125は、記憶手段として機能する。
【0058】
関係データ126は、入力データ取得部112により今回取得された入力データと、入力データ履歴バッファ125に格納されている複数の入力データが分類された複数のクラスタ(クラスタC1~C5)と、の関係を示すデータである。具体的には、関係データ126は、複数のクラスタと入力データとの関係を表す特徴空間における、取得された入力データが属するクラスタの中心からの入力データの距離(入力データ距離)に基づいて取得される。関係データはロボット200の慣れ度を表す。
【0059】
次に、図11に示すフローチャートを参照しながら、機器の制御装置100の制御部110が実行するロボット制御処理について説明する。ロボット制御処理は、機器の制御装置100が、センサ部210からの検出値等に基づいて、ロボット200の動作や鳴き声を制御する処理である。ユーザがロボット200の電源をオンすると、ロボット制御処理が開始される。
【0060】
まず、制御部110は、感情データ121、成長日数データ123、感情変化データ124等の各種データを設定する(ステップS101)。ロボット200の最初の起動時(工場出荷後のユーザによる初回の起動時)は、これらの値には初期値が設定されるが、2度目以降の起動時は、前回のロボット制御処理の後述するステップS113で保存された値が設定される。
【0061】
次に、外部刺激取得部111は、センサ部210から外部刺激を取得する(ステップS102)。
【0062】
続いて、変化量取得部115は、ステップS102で取得された外部刺激に応じて、感情データ121(感情パラメータ)に加算又は減算する感情変化データ124(感情変化パラメータ)を暫定的に取得する(ステップS103)。例えば、外部刺激として頭部204のタッチセンサ211によりロボット200の頭が撫でられたことを検出すると、変化量取得部115は、感情データ121のX値に加算する感情変化データ124としてDXPを暫定的に取得する。
【0063】
続いて、入力データ取得部112は、ステップS102でセンサ部210が取得した外部刺激が、ロボット200に外力が作用することによって発生したものであるか否かを判別する(ステップS104)。具体的には、入力データ取得部112は、センサ部210が取得した外部刺激に閾値以上の加速度、若しくは閾値以上の角速度が含まれているか否かを判別すればよい。
【0064】
例えば、外部刺激が音のみに起因するものであり、ロボット200に外力が作用することによって発生したものでない場合(ステップS104;No)、処理はステップS110に移る。
【0065】
一方、外部刺激がロボット200に外力が作用することによって発生したものである場合(ステップS104;Yes)、入力データ取得部112は、タッチセンサ211、加速度センサ212、及びジャイロセンサ214の検出値に基づいて、入力データを取得する(ステップS105)。上述したように、入力データは、タッチセンサ211、加速度センサ212、及びジャイロセンサ214で計測された接触の強さ、加速度、角速度のX軸方向、Y軸方向及びZ軸方向の各成分の平均値と標準偏差とで構成される18次元のデータである。
【0066】
続いて、制御部110は、ステップS105で取得した入力データを入力データ履歴バッファ125に新たに記憶する(ステップS106)。なお、入力データ履歴バッファ125の制限数を超える場合、制御部110は、最も古い入力データを削除してから、取得した入力データを入力データ履歴バッファ125に記憶する。
【0067】
続いて、分類部113は、教師なしのクラスタリング手法を用いて、入力データ履歴バッファ125に格納されている複数の入力データを複数のクラスタに分類する(ステップS107)。
【0068】
続いて、関係データ取得部114は、ステップS105で取得した入力データと、ステップS107で分類された複数のクラスタとの関係を表す関係データ126を取得する(ステップS108)。
【0069】
続いて、変化量取得部115は、ステップS108で取得した関係データ126に基づいて、ステップS103で暫定的に取得した感情変化データ124(感情変化パラメータ)を修正する(ステップS109)。例えば、ステップS103で感情変化データ124としてDXPを取得している場合、変化量取得部115は、以下に示す式のように、DXPの値を関係データの値で除算する。
【0070】
DXP=DXP/関係データ
上述したように、関係データの値は1から10の範囲で設定される。そのため、この例では、ステップS109の処理によって、DXPは元の値から最大で1/10まで小さくなる。そして、処理はステップS110に移る。
【0071】
ステップS110において感情パラメータ設定部116は、ステップS103で取得された感情変化データ124(感情変化パラメータ)若しくはステップS109で修正された感情変化データ124(感情変化パラメータ)に応じて、感情データ121(感情パラメータ)を設定する。具体的には、例えば、ステップS103で感情変化データ124としてDXPが取得されていたなら、感情パラメータ設定部116は、そのときに得られている感情データ121のX値(初回は初期値)に感情変化データ124のDXPを加算する。ただし、感情変化データ124を加算すると感情データ121の値(X値、Y値)が感情マップ300の最大値を超える場合には、感情データ121の値は感情マップ300の最大値に設定される。また、感情変化データ124を減算すると感情データ121の値が感情マップ300の最小値未満になる場合には、感情データ121の値は感情マップ300の最小値に設定される。ステップS110は、設定ステップとも呼ばれる。
【0072】
ステップS103及びステップS110において、外部刺激の各々に対して、どのような感情変化データ124が取得されて、感情データ121が設定されるかは任意に設定可能であるが、ここでは、以下に一例を示す。なお、感情データ121のX値及びY値は感情マップ300のサイズによって最大値及び最小値が規定されているため、以下の演算によって感情マップ300の最大値を上回る場合には最大値が、感情マップ300の最小値を下回る場合には最小値が、それぞれ設定される。
【0073】
頭部204を撫でられる(安心する):X=X+DXP
頭部204を叩かれる(不安になる):X=X-DXM
(これらの外部刺激は頭部204のタッチセンサ211で検出可能)
胴体部206を撫でられる(興奮する):Y=Y+DYP
胴体部206を叩かれる(無気力になる):Y=Y-DYM
(これらの外部刺激は胴体部206のタッチセンサ211で検出可能)
頭を上にして抱かれる(喜ぶ):X=X+DXP及びY=Y+DYP
頭を下にして宙づりにされる(悲しむ):X=X-DXM及びY=Y-DYM
(これらの外部刺激はタッチセンサ211、加速度センサ212及びジャイロセンサ214で検出可能)
優しい声で呼びかけられる(平穏になる):X=X+DXP及びY=Y-DYM
大きな声で怒鳴られる(イライラする):X=X-DXM及びY=Y+DYP
(これらの外部刺激はマイクロフォン213で検出可能)
【0074】
例えば、頭部204を撫でられると、ロボット200の疑似的な感情は安心するので、感情データ121のX値に感情変化データ124のDXPが加算される。逆に、頭部204を叩かれると、ロボット200の疑似的な感情は不安になり、感情データ121のX値から感情変化データ124のDXMが減算される。ステップS102で外部刺激取得部111は、センサ部210が備える複数のセンサにより、互いに異なる種類の複数の外部刺激を取得しているので、これら複数の外部刺激の各々に応じて感情変化データ124が取得され、取得された感情変化データ124に応じて感情データ121が設定されることになる。
【0075】
そして、動作制御部117は、このように設定された感情データ121(感情パラメータ)に応じて、ロボット200の動作を制御する(ステップS111)。具体的には、感情データ121で示される感情マップ300上の座標に対応する感情表現テーブル122の値(動作制御データ及び鳴き声データ)に基づいて、駆動部220を駆動し、出力部230から鳴き声を出力させる。ステップS111は、動作制御ステップとも呼ばれる。なお、ステップS109で感情変化データ124を修正している場合、ステップS111の終了後、動作制御部117は、感情変化データ124を修正前の状態に戻す。
【0076】
続いて、制御部110は、処理を終了するか否かを判定する(ステップS112)。例えば、操作部240が、ロボット200の電源オフの指示を受け付けたら、処理を終了することになる。処理を終了するなら(ステップS112;Yes)、制御部110は、感情データ121、感情変化データ124等の各種データを記憶部120の不揮発性メモリ(例えばフラッシュメモリ)に保存し(ステップS113)、ロボット制御処理を終了する。
【0077】
一方、処理を終了しないなら(ステップS112;No)、制御部110は、クロック機能により、日付が変わったか否かを判定する(ステップS114)。日付が変わっていないなら(ステップS114;No)、ステップS102に戻る。なお、ステップS114の処理、及び、後述するステップS115~S117の処理は必ずしも行う必要はなく、処理を終了しないなら(ステップS112;No)、直ちにステップS102に戻ってもよい。
【0078】
一方、日付が変わったなら(ステップS114;Yes)、制御部110は、第1期間中であるか否かを判定する(ステップS115)。第1期間を、ロボット200の疑似的な生誕(工場出荷後のユーザによる初回の起動時)から例えば50日の期間とすると、制御部110は、成長日数データ123が50以下なら第1期間中であると判定する。第1期間中でないなら(ステップS115;No)、ステップS102に戻る。
【0079】
第1期間中なら(ステップS115;Yes)、変化量学習部118は、感情変化データ124(感情変化パラメータ)を学習する(ステップS116)。具体的には、その日のステップS110において、感情データ121のX値が1度でも感情マップ300の最大値に設定されたなら感情変化データ124のDXPに1を加算し、感情データ121のY値が1度でも感情マップ300の最大値に設定されたなら感情変化データ124のDYPに1を加算し、感情データ121のX値が1度でも感情マップ300の最小値に設定されたなら感情変化データ124のDXMに1を加算し、感情データ121のY値が1度でも感情マップ300の最小値に設定されたなら感情変化データ124のDYMに1を加算することによって、感情変化データ124を更新し、学習する。ただし、感情変化データ124の各値が大きくなりすぎると、感情データ121の1回の変化量が大きくなりすぎるので、感情変化データ124の各値は例えば20を最大値とし、それ以下に制限する。また、ここでは、感情変化データ124のいずれに対しても1を加算することとしたが、例えば、最大値又は最小値に設定された回数をカウントして、その回数が多い場合には、感情変化データ124に加算する数値を増やすようにしてもよい。
【0080】
ステップS116での感情変化データ124(感情変化パラメータ)の学習において、ステップS110で感情データ121が感情マップ300の最大値又は最小値に設定されるか否かは、ステップS102で取得された外部刺激に基づく。そして、ステップS102では、センサ部210が備える複数のセンサにより、互いに異なる種類の複数の外部刺激が取得されるので、これら複数の外部刺激の各々に応じて、感情変化データ124の各々が学習されることになる。例えば、頭部204のみが何度も撫でられると感情変化データ124のDXPのみが増加し、他の感情変化データ124は変化しないので、ロボット200は安心しやすい性格になる。また、頭部204のみが何度も叩かれると感情変化データ124のDXMのみが増加し、他の感情変化データ124は変化しないので、ロボット200は不安になりやすい性格になる。このように、変化量学習部118は、外部刺激の各々に応じて、感情変化データ124を互いに異ならせるように学習する。ステップS116は、感情変化パラメータ学習ステップとも呼ばれる。
【0081】
続いて、制御部110は、感情マップ300を最大値、最小値ともに、2だけ拡大し(ステップS117)、成長日数データ123に1を加算して、ステップS102に戻る。なお、ここでは、感情マップ300を最大値、最小値ともに、2だけ拡大することとしたが、この拡大する数値「2」はあくまでも一例であり、3以上拡大してもよいし、1だけ拡大してもよい。また感情マップ300の軸毎、また最大値と最小値とで、拡大する数値が同じでなくてもよい。
【0082】
また、図11では、学習及び感情マップの拡大は、ステップS114で日付が変わったのを判定してから行われるものとしているが、基準時刻(例えば午後9時)になったことを判定してから行われるようにしてもよい。また、ステップS114での判定は、実際の日付で判定するのではなく、ロボット200が電源オンになっている時間を制御部110のタイマー機能で累計した値に基づいて判定してもよい。例えば、電源オンの累計時間が24の倍数の時間になる毎に、ロボット200が1日成長したとみなして、学習及び感情マップの拡大が行われるようにしてもよい。
【0083】
以上説明した実施形態1に係るロボット制御処理によれば、これまでに外力が作用することによって発生した加速度及び角速度の少なくとも一方に基づいて取得された複数の入力データを複数のクラスタに分類し、今回取得した入力データと複数のクラスタとの関係を表す関係データ126に基づいてロボット200の動作を制御する。これにより、同じ外部刺激であっても、これまでに加えられてきた外力に応じてロボット200が異なる動作をするように制御することが可能となり、従来よりもロボット200を表情豊かに動作させることができる。
【0084】
また、実施形態1に係るロボット制御処理によれば、ロボット200の疑似的な感情を表す感情パラメータ(感情データ121)を関係データ126に基づいて設定し、設定された感情パラメータ(感情データ121)に基づいて、ロボット200の動作を制御する。これにより、ロボット200の複雑な感情を容易に表現することが可能となる。
【0085】
また、実施形態1に係るロボット制御処理によれば、取得された入力データが属するクラスタの中心からの当該入力データの距離である入力データ距離に基づいて、関係データが取得される。そして、入力データ距離が大きいほど、ロボット200の疑似感情がより大きく変化するように、感情パラメータ(感情データ121)が設定される。これにより、例えば、同じ外部刺激であっても、過去に同類の外部刺激を多く受けている場合は入力データ距離が小さくなり、性格(感情変化データ124)があまり変化しなくなるように制御でき、ロボット200をより現実の生き物のように表情豊かに動作させることが可能となる。
【0086】
また、実施形態1に係るロボット制御処理によれば、加速度センサ212とジャイロセンサ214とによって検出された加速度、角速度だけでなく、これらと同じタイミングで発生した接触の状態(接触の強さ)もタッチセンサ211によって検出され、加速度と角速度と接触の状態とに基づいて入力データが取得される。これにより、入力データに含まれる情報が多様になり、様々な外部刺激に対応した入力データを取得することが可能となるため、より表情豊かにロボット200を動作させることが可能となる。
【0087】
(実施形態2)
上述の実施形態1では、ロボット200の飼い主(利用者)は1人のユーザであることを想定している。そのため、飼い主(利用者)として複数のユーザがおり、複数のユーザの各々が、抱きしめたり撫でたり持ち上げたりしてロボット200に外力を加えても、その外力に応じて取得された入力データは同じ入力データ履歴バッファ125に区別無く記憶され、記憶された入力データから取得された関係データ126に基づいてロボット200の動作は制御される。即ち、実施形態1のロボット200では、外力を加えたユーザ(飼い主)を区別せずに動作が制御されており、飼い主(利用者)であるユーザが複数想定される場合に、飼い主(利用者)に応じた適切な動作が実現できているとはいえない面がある。
【0088】
これに対し、図12に示す本発明の実施形態2に係るロボット2000は、飼い主(利用者)であるユーザが複数想定される場合でも、それぞれの飼い主(利用者)に応じた動作を実現することが可能となる。なお、実施形態2に係るロボット2000は、例えば飼い主(利用者)が3人いることを想定しており、3人の飼い主(利用者)であるユーザは、以下ユーザA~Cとも表記する。図12に示すように、実施形態1に係るロボット200と比較して、実施形態2に係るロボット2000は、通信部250を新たに備える。また、ロボット2000は、制御部110の機能的な構成として、ユーザ判別部119を新たに備える。また、ロボット2000は、実施形態1に係るロボット200と比較して、記憶部120に3つの入力データ履歴バッファ(第1入力データ履歴バッファ1251、第2入力データ履歴バッファ1252、第3入力データ履歴バッファ1253)を記憶している。
【0089】
通信部250は、例えば、無線でインターネットに接続するためのインタフェースである。ロボット2000は、通信部250を介して、図示せぬスマートフォン等から、ロボット2000の飼い主(ユーザ)を切り替えるための切替コマンドを受信する。
【0090】
ユーザ判別部119は、飼い主(利用者)として設定されている複数のユーザA~Cの各々を判別する。具体的には、ユーザ判別部119は、通信部250が受信した切替コマンドに基づいて、現在のロボット2000の飼い主(利用者)であるユーザA~Cを判別する(切り替える)。なお、ユーザ判別部119は、操作部240やマイクロフォン213を介して受け付けた指示に基づいて飼い主(利用者)であるユーザA~Cを切り替えてもよい。ユーザ判別部119は、判別部として機能する。
【0091】
第1入力データ履歴バッファ1251、第2入力データ履歴バッファ1252、第3入力データ履歴バッファ1253は、それぞれ、ロボット2000の飼い主(利用者)であるユーザA~Cに対応して設けられており、対応するユーザA~Cの行為に起因する入力データが記憶される。具体的には、ユーザAがロボット2000に外力を加えることによって取得された入力データは、第1入力データ履歴バッファ1251に格納される。また、ユーザBがロボット2000に外力を加えることによって取得された入力データは、第2入力データ履歴バッファ1252に格納される。また、ユーザCがロボット2000に外力を加えることによって取得された入力データは、第3入力データ履歴バッファ1253に格納される。なお、ロボット2000の飼い主が4人以上いる場合は、その数だけ対応した入力データ履歴バッファを新たに設ければよい。
【0092】
続いて、第2実施形態におけるロボット制御処理について説明する。第2実施形態におけるロボット制御処理は、第1実施形態におけるロボット制御処理(図11)と実質的に同じ処理である。但し、ステップS106~ステップS108では、ユーザ判別部119によって現在のロボット2000の飼い主(利用者)であると判別されているユーザA~Cに対応した処理が実行される。
【0093】
具体的には、ステップS106で制御部110は、ユーザ判別部119が現在の飼い主(利用者)であると判別しているユーザA~C(以下、判別ユーザ)に対応した第1~第3入力データ履歴バッファ1251~1253に、ステップS105で取得したデータを記憶する。そして、ステップS107で分類部113は、判別ユーザに対応した入力データ履歴バッファ1251~1253に格納されている入力データを教師なしのクラスタリング手法で分類する。そして、ステップS108で関係データ取得部114は、ステップS105で取得した入力データと判別ユーザに対応して分類されたクラスタとの関係を表す関係データ126を取得する。以降は、第1実施形態におけるロボット制御処理と同様の処理が実行される。
【0094】
このように、本実施形態では、ロボット2000の飼い主(利用者)であるユーザ毎に入力データが別々に格納され、現在の飼い主(利用者)であるユーザに対応した入力データがクラスタに分類されて関係データ126が取得される。そのため、同じ外部刺激をロボットに加えても、ユーザによって異なる関係データ126が取得されることになるため、飼い主(利用者)が複数いる場合であっても、飼い主(利用者)に応じた動作をロボットに実現させることが可能となる。
【0095】
(変形例)
なお、本発明は、上述の実施形態に限定されず、種々の変形及び応用が可能である。例えば、上述の感情表現テーブル122は、感情マップ上の座標で表される各感情に対応するロボット200の頭部204の動作及び鳴き声が設定されていたが、頭部204の動作のみ、又は鳴き声のみが設定されていてもよい。また頭部204の動作及び鳴き声以外の制御が設定されていてもよい。頭部204の動作及び鳴き声以外の制御としては、例えば、ロボット200の出力部230にLEDが備えられている場合には、点灯させるLEDの色や明るさを制御することが考えられる。
【0096】
また、上述の実施形態では、関係データ取得部114は、分類された複数のクラスタの中から今回取得された入力データが属するクラスタを特定し、特定したクラスタの中心からの入力データまでの距離である入力データ距離に基づいて、関係データ126を取得した。しかしながら、関係データ取得部114が分類されたクラスタから関係データ126を取得する手法はこれに限定されるものではない。例えば、関係データ取得部114は、関係データ126の値(慣れ度)を、特定したクラスタに含まれる入力データの取得時期に基づいて取得してもよい。
【0097】
具体的には、関係データ取得部114は、特定したクラスタに含まれる複数の入力データの取得日時の平均値(入力データ平均取得日時)を求める。そして、関係データ取得部114は、入力データ距離に基づいて取得した関係データ126の値(慣れ度)を、入力データ平均取得日時が古い程、小さくなるように補正してもよい。若しくは、関係データ取得部114は、入力データ距離を用いずに、入力データ平均取得日時が古い程小さくなる1~10の範囲の値を所定の基準に基づいて算出することにより、関係データ126を取得してもよい。
【0098】
このようにすることで、古い時期に加えられた外部刺激と同類の外部刺激がロボット200、2000に加えられた場合に、古い時期に加えられた外部刺激を忘れており今回の刺激に慣れていないようにロボット200、2000を動作させることができ、より生き物らしくロボット200、2000を振る舞わせることが可能となる。なお、このように入力データの取得時期に基づいて関係データ126を取得する場合は、外力による外部刺激に限らずに、音等も含んだいかなる外部刺激から、クラスタリングの対象とする入力データを取得してもよい。
【0099】
また、上記の実施の形態では、感情変化データ124の値(性格)に基づいて感情データ121の値(感情)を変化させ、感情データ121の値に基づいてロボットの動作を制御した。しかしながら、極端な性格である場合等といった所定の条件を満たす場合には、感情変化データ124の値(性格)に基づいてロボットの動作を直接制御してもよい。具体的には、感情変化データ124のDXP、DYP、DXM、DYMの各々にそれぞれ対応させて、ロボット200、2000の複数の性格動作(動作制御データ及び鳴き声データ)の各々を予め設定しておく。例えば、DXPにはロボットが陽気な振る舞いをする性格動作、DYPにはロボット200、2000が活発な振る舞いをする性格動作、DXMにはロボット200、2000がシャイな振る舞いをする性格動作、DYMにはロボット200、2000が甘えん坊な振る舞いをする性格動作を設定しておく。そして、外部刺激を取得した場合には、制御部110は、関係データ126に応じて感情変化データ124のDXP、DYP、DXM、DYMを一律に修正した後、これらの中の最大値が閾値以上(例えば、18以上)である場合は、当該最大値を有する感情変化データ124に対応する性格動作をするようにロボット200、2000を制御してもよい。このようにすることで、ロボット200、2000の性格をより実感できる動作が実現できる。
【0100】
また、上述の実施形態では、感情マップのサイズは、第1期間中にロボット200、2000の疑似的な成長日数が1日増える度に、感情マップの最大値、最小値ともに2ずつ拡大されていった。しかし、感情マップのサイズの拡大はこのように均等に行われなくてもよい。例えば、感情データ121の変化の仕方に応じて、感情マップの拡大の仕方を変更してもよい。
【0101】
感情データ121の変化の仕方に応じて、感情マップの拡大の仕方を変更するには、例えばロボット制御処理(図11)のステップS117において、以下のような処理を行えばよい。ある1日の間に、ステップS110において、感情データ121の値が1度でも感情マップの最大値に設定されたら、その後のステップS117において感情マップの最大値を3増加させる。ステップS110において感情データ121の値が1度も感情マップの最大値に到達しなかったら、その後のステップS117において感情マップの最大値を1増加させる。
【0102】
感情マップの最小値の方も同様に、その日に1度でも感情データ121の値が感情マップの最小値に設定されたら、感情マップの最低値を3減少させ、1度も感情データ121の値が感情マップの最小値に到達しなかったら、感情マップの最低値を1減少させる。このように、感情マップを拡大の仕方を変更することにより、感情データ121の設定可能範囲は、外部刺激に応じて学習されることになる。
【0103】
ただし、第1期間の長さが例えば50日の場合、このように感情マップを拡大させていくと、感情マップの最大値は250、最小値は-250になり得るので、感情表現テーブル122も、最大値250、最小値-250に対応できるように、動作制御データや鳴き声データが登録されている必要がある。なお、上述の実施形態及び変形例では感情マップを第1期間中、常に拡大させていたが、感情マップの範囲の変更は拡大に限定されない。例えば外部刺激に応じ、ほとんど生じない感情の方向については、感情マップの範囲を縮小させてもよい。
【0104】
このように、感情マップの拡大の仕方も、外部刺激に応じて変化させることにより、感情変化パラメータ(感情変化データ124)だけでなく、感情マップによっても、ロボット200、2000の疑似的な性格が表されることになる。したがって、ユーザのロボット200、2000に対する接し方に応じて、ロボット200、2000は、より多様な性格を表現できるようになる。
【0105】
また、上述の実施形態では、ロボット200に機器の制御装置100が内蔵されている構成としたが、図13に示すように、機器の制御装置100は、ロボット200に内蔵されずに別個の装置(例えばサーバ)として構成されてもよい。この変形例では、機器の制御装置100は通信部130を備え、ロボット200も通信部260を備え、通信部130と通信部260とがお互いにデータを送受信できるように構成されている。そして、外部刺激取得部111は、通信部130及び通信部260を介して、センサ部210が検出した外部刺激を取得し、動作制御部117は、通信部130及び通信部260を介して、駆動部220や出力部230を制御する。なお、図示はしないが、実施形態2に係るロボット2000も同様に、機器の制御装置100を別個の装置として構成してもよい。
【0106】
また、上述の実施形態では、機器の制御装置100は、ロボット200,2000を制御する制御装置であるが、制御の対象となる機器は、ロボット200,2000に限られない。制御の対象となる機器としては、例えば、腕時計等も考えられる。例えば、音声出力可能で加速度センサやジャイロセンサを備えた腕時計を制御の対象となる機器とする場合、外部刺激としては、加速度センサやジャイロセンサで検出される、腕時計に加わった衝撃等を想定することができる。そして、この外部刺激に応じて感情変化データ124や感情データ121を更新し、腕時計をユーザが装着した時点の感情データ121に基づいて、感情表現テーブル122に設定されている音声データを出力させることが考えられる。
【0107】
そうすると、腕時計を乱暴に扱っているとユーザが装着した時に悲しそうな音声を発し、丁寧に扱っているとユーザが装着した時に喜んでいるような音声を発する腕時計にすることができる。さらに、第1期間(例えば50日間)で感情変化データ124が設定されるようにしている場合は、第1期間中のユーザの扱い方によって、腕時計に個性(疑似的な性格)が生じることになる。つまり、同じ型番の腕時計であっても、ユーザが丁寧に扱っていれば、喜びを感じやすい腕時計になり、乱暴に扱っていれば悲しみを感じやすい腕時計になる。
【0108】
このように機器の制御装置100は、ロボットに限らず、様々な機器に適用することができる。そして機器に適用することにより、当該機器に疑似的な感情や性格を備えさせることができ、またユーザに、当該機器を疑似的に育てているように感じさせることができる。
【0109】
上述の実施形態において、制御部110のCPUが実行する動作プログラムは、あらかじめ記憶部120のROM等に記憶されていた。しかしながら、本発明は、これに限定されず、上述の各種処理を実行させるための動作プログラムを、既存の汎用コンピュータ等に実装することにより、上述の実施形態に係る機器の制御装置100に相当する装置として機能させてもよい。
【0110】
このようなプログラムの提供方法は任意であり、例えば、コンピュータが読取可能な記録媒体(フレキシブルディスク、CD(Compact Disc)-ROM、DVD(Digital Versatile Disc)-ROM、MO(Magneto-Optical disc)、メモリカード、USBメモリ等)に格納して配布してもよいし、インターネット等のネットワーク上のストレージにプログラムを格納しておき、これをダウンロードさせることにより提供してもよい。
【0111】
また、上述の処理をOS(Operating System)とアプリケーションプログラムとの分担、又は、OSとアプリケーションプログラムとの協働によって実行する場合には、アプリケーションプログラムのみを記録媒体やストレージに格納してもよい。また、搬送波にプログラムを重畳し、ネットワークを介して配信することも可能である。例えば、ネットワーク上の掲示板(Bulletin Board System:BBS)に上記プログラムを掲示し、ネットワークを介してプログラムを配信してもよい。そして、このプログラムを起動し、OSの制御下で、他のアプリケーションプログラムと同様に実行することにより、上記の処理を実行できるように構成してもよい。
【0112】
本発明は、本発明の広義の精神と範囲とを逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、前述した実施形態は、この発明を説明するためのものであり、本発明の範囲を限定するものではない。すなわち、本発明の範囲は、実施形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【0113】
(付記1)
機器に外力が作用することにより発生した加速度及び角速度の少なくとも一方に基づいた入力データを取得する入力データ取得手段と、
前記入力データ取得手段により取得された複数の前記入力データを記憶する記憶手段と、
前記記憶手段により記憶された複数の前記入力データを、教師なしのクラスタリング手法により複数のクラスタに分類する分類手段と、
前記入力データ取得手段により取得された前記入力データと、前記分類手段により分類された複数の前記クラスタとの関係を表す関係データを取得する関係データ取得手段と、
前記関係データ取得手段により取得された前記関係データに基づいて、前記機器の動作を制御する制御手段と、
を備える機器の制御装置。
【0114】
(付記2)
前記機器の疑似的な感情を表す感情パラメータを、前記関係データに基づいて設定する感情パラメータ設定手段をさらに備え、
前記制御手段は、前記感情パラメータ設定手段により設定された前記感情パラメータに基づいて、前記機器の動作を制御する、
付記1に記載の機器の制御装置。
【0115】
(付記3)
前記関係データ取得手段は、前記複数のクラスタのうち、前記取得された入力データが属するクラスタを特定するとともに、前記複数のクラスタと前記入力データとの関係を表す空間における、前記特定したクラスタの中心からの前記入力データの距離である入力データ距離に基づいて、前記関係データを取得し、
前記感情パラメータ設定手段は、前記関係データ取得手段により取得された前記入力データ距離が大きいほど、前記感情パラメータで表される前記機器の疑似感情がより大きく変化するように、前記感情パラメータを設定する、
付記2に記載の機器の制御装置。
【0116】
(付記4)
前記関係データ取得手段は、前記複数のクラスタのうち、前記取得された入力データが属するクラスタを特定し、特定したクラスタに含まれる入力データの取得時期に基づいて、前記関係データを取得する、
付記1から3の何れか1つに記載の制御装置。
【0117】
(付記5)
前記機器の複数のユーザの各々を判別する判別手段をさらに備え、
前記入力データ取得手段は、前記入力データを、前記判別手段による判別結果に基づいて、前記複数のユーザの各々に対応させて取得し、
前記記憶手段は、前記複数の入力データを、前記判別手段による判別結果に基づいて、前記複数のユーザの各々に対応させて記憶し、
前記分類手段は、前記複数の入力データを、前記判別手段による判別結果に基づいて、前記複数のユーザの各々に対応させて複数のクラスタに分類し、
前記関係データ取得手段は、前記関係データを、前記判別手段による判別結果に基づいて、前記複数のユーザの各々に対応させて取得する、
付記1から4のいずれか1つに記載の機器の制御装置。
【0118】
(付記6)
前記入力データ取得手段は、前記機器に外力が作用することにより互いに同じタイミングで発生した前記加速度及び前記角速度と、前記加速度及び前記角速度が発生したタイミングにおける前記機器に対する接触の状態とに基づいた前記入力データを取得する、
付記1から5のいずれか1つに記載の機器の制御装置。
【0119】
(付記7)
前記制御手段は、
前記機器の互いに異なる複数の感情変化パラメータの各々に対応させて、前記機器の複数の性格動作の各々を設定しておき、
前記機器に外力が作用した際に、前記複数の性格動作のうち、値が最大の感情変化パラメータに対応する性格動作を実行するように前記機器を制御する、
付記1から6のいずれか1つに記載の機器の制御装置。
【0120】
(付記8)
付記1から7のいずれか1つに記載の機器の制御装置を備えた機器。
【0121】
(付記9)
機器に外力が作用することにより発生した加速度及び角速度の少なくとも一方に基づいた入力データを取得する入力データ取得ステップと、
前記入力データ取得ステップで取得された複数の前記入力データを記憶する記憶ステップと、
前記記憶ステップにより記憶された複数の前記入力データを、教師なしのクラスタリング手法により複数のクラスタに分類する分類ステップと、
前記入力データ取得ステップで取得された前記入力データと、前記分類ステップで分類された複数の前記クラスタとの関係を表す関係データを取得する関係データ取得ステップと、
前記関係データ取得ステップで取得された前記関係データに基づいて、前記機器の動作を制御する制御ステップと、
を有する機器の制御方法。
【0122】
(付記10)
コンピュータを、
機器に外力が作用することにより発生した加速度及び角速度の少なくとも一方に基づいた入力データを取得する入力データ取得手段、
前記入力データ取得手段により取得された複数の前記入力データを記憶する記憶手段、
前記記憶手段により記憶された複数の前記入力データを、教師なしのクラスタリング手法により複数のクラスタに分類する分類手段、
前記入力データ取得手段により取得された前記入力データと、前記分類手段により分類された複数のクラスタとの関係を表す関係データを取得する関係データ取得手段、
前記関係データ取得手段により取得された前記関係データに基づいて、前記機器の動作を制御する制御手段、
として機能させるプログラム。
【符号の説明】
【0123】
100…機器の制御装置、110…制御部、111…外部刺激取得部、112…入力データ取得部、113…分類部、114…関係データ取得部、115…変化量取得部、116…感情パラメータ設定部、117…動作制御部、118…変化量学習部、119…ユーザ判別部、120…記憶部、121…感情データ、122…感情表現テーブル、123…成長日数データ、124…感情変化データ、125…入力データ履歴バッファ、1251…第1入力データ履歴バッファ、1252…第2入力データ履歴バッファ、1253…第3入力データ履歴バッファ、126…関係データ、130,250,260…通信部、200,2000…ロボット、201…外装、202…装飾部品、203…毛、204…頭部、205…連結部、206…胴体部、207…筐体、210…センサ部、211…タッチセンサ、212…加速度センサ、213…マイクロフォン、214…ジャイロセンサ、220…駆動部、221…ひねりモータ、222…上下モータ、230…出力部、231…スピーカ、240…操作部、300…感情マップ、301,302,303…枠、310…原点、311…X軸、312…Y軸、BL…バスライン
図1
図2
図3
図4
図5
図6
図7
図8
図9A
図9B
図10
図11
図12
図13