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

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

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

特開2025-8820ロボット、ロボットの制御方法及びプログラム
<>
  • 特開-ロボット、ロボットの制御方法及びプログラム 図1
  • 特開-ロボット、ロボットの制御方法及びプログラム 図2
  • 特開-ロボット、ロボットの制御方法及びプログラム 図3
  • 特開-ロボット、ロボットの制御方法及びプログラム 図4
  • 特開-ロボット、ロボットの制御方法及びプログラム 図5
  • 特開-ロボット、ロボットの制御方法及びプログラム 図6
  • 特開-ロボット、ロボットの制御方法及びプログラム 図7
  • 特開-ロボット、ロボットの制御方法及びプログラム 図8
  • 特開-ロボット、ロボットの制御方法及びプログラム 図9
  • 特開-ロボット、ロボットの制御方法及びプログラム 図10
  • 特開-ロボット、ロボットの制御方法及びプログラム 図11
  • 特開-ロボット、ロボットの制御方法及びプログラム 図12
  • 特開-ロボット、ロボットの制御方法及びプログラム 図13
  • 特開-ロボット、ロボットの制御方法及びプログラム 図14
  • 特開-ロボット、ロボットの制御方法及びプログラム 図15
  • 特開-ロボット、ロボットの制御方法及びプログラム 図16
  • 特開-ロボット、ロボットの制御方法及びプログラム 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025008820
(43)【公開日】2025-01-20
(54)【発明の名称】ロボット、ロボットの制御方法及びプログラム
(51)【国際特許分類】
   A63H 11/00 20060101AFI20250109BHJP
【FI】
A63H11/00 Z
【審査請求】有
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2023111356
(22)【出願日】2023-07-06
(71)【出願人】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】100095407
【弁理士】
【氏名又は名称】木村 満
(72)【発明者】
【氏名】長谷川 浩一
(72)【発明者】
【氏名】市川 英里奈
(72)【発明者】
【氏名】浦野 美由紀
(72)【発明者】
【氏名】黛 幸輝
【テーマコード(参考)】
2C150
【Fターム(参考)】
2C150CA02
2C150DA13
2C150DF04
2C150EB01
2C150ED47
2C150EF16
2C150EF30
2C150EH08
2C150FB13
(57)【要約】
【課題】生き物をリアルに模擬することが可能なロボット、ロボットの制御方法及びプログラムを提供する。
【解決手段】自律的に動作するロボット200において、動作制御部115は、ロボット200の疑似的な成長に依存する第1動作と、ロボット200の疑似的な成長に非依存であって、且つ、ロボット200の個性に依存する第2動作と、をロボット200に実行させる。
【選択図】図8
【特許請求の範囲】
【請求項1】
自律的に動作するロボットであって、
前記ロボットの疑似的な成長に依存する第1動作と、前記疑似的な成長に非依存であって、且つ、前記ロボットの個性に依存する第2動作と、を前記ロボットに実行させる動作制御手段、
を備えることを特徴とするロボット。
【請求項2】
前記動作制御手段は、前記疑似的な成長が予め定められた条件を満たしていない間は、前記第1動作を前記ロボットに実行させ、前記疑似的な成長が前記予め定められた条件を満たした後は、前記第1動作と前記第2動作とを前記ロボットに実行させる、
ことを特徴とする請求項1に記載のロボット。
【請求項3】
前記予め定められた条件は、前記疑似的な成長の日数が予め定められた日数に達した場合に満たされる、
ことを特徴とする請求項2に記載のロボット。
【請求項4】
前記予め定められた日数は、前記疑似的な成長が完了する日数よりも少ない、
ことを特徴とする請求項3に記載のロボット。
【請求項5】
前記動作制御手段は、前記第1動作として、前記ロボットの疑似的な性格に依存する性格動作と、前記疑似的な性格に非依存な基本動作と、のうちから選択された動作を前記ロボットに実行させる、
ことを特徴とする請求項1から4のいずれか1項に記載のロボット。
【請求項6】
前記ロボットの疑似的な成長の度合いを表す成長パラメータを設定するパラメータ設定手段、を更に備え、
前記動作制御手段は、前記第1動作として、前記性格動作と前記基本動作とのうちから、前記パラメータ設定手段により設定された前記成長パラメータに応じた確率で選択された動作を前記ロボットに実行させる、
ことを特徴とする請求項5に記載のロボット。
【請求項7】
前記パラメータ設定手段は、前記疑似的な性格を表す性格パラメータを設定し、前記性格パラメータに基づいて前記成長パラメータを設定する、
ことを特徴とする請求項6に記載のロボット。
【請求項8】
前記性格パラメータは、それぞれ異なる性格の度合いを表す複数の性格値を含み、
前記パラメータ設定手段は、前記成長パラメータを、前記複数の性格値のうちの最大値に設定する、
ことを特徴とする請求項7に記載のロボット。
【請求項9】
外部刺激を取得する外部刺激取得手段、を更に備え、
前記パラメータ設定手段は、前記外部刺激取得手段により取得された前記外部刺激に応じて前記性格パラメータを変化させる、
ことを特徴とする請求項7に記載のロボット。
【請求項10】
自律的に動作するロボットの制御方法であって、
前記ロボットの疑似的な成長に依存する第1動作と、前記疑似的な成長に非依存であって、且つ、前記ロボットの個性に依存する第2動作と、を前記ロボットに実行させる、
ことを特徴とするロボットの制御方法。
【請求項11】
自律的に動作するロボットのコンピュータを、
前記ロボットの疑似的な成長に依存する第1動作と、前記疑似的な成長に非依存であって、且つ、前記ロボットの個性に依存する第2動作と、を前記ロボットに実行させる動作制御手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボット、ロボットの制御方法及びプログラムに関する。
【背景技術】
【0002】
ペットのような生き物を模擬するロボットが知られている。例えば、特許文献1は、成長パラメータの値に対応したシナリオを動作させることによってユーザに疑似的な成長を感じさせることができるロボット装置を開示している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003-285286号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に開示されたロボットは、成長パラメータの値に対応したシナリオを動作させることで、生き物が成長する様子をリアルに模擬することができる。しかしながら、実際の生き物は、成長に応じて様々に動作を変化させることに加えて、遺伝等の先天的な要因による個性を有する。このような個性を考慮することで、生き物をよりリアルに模擬することが求められている。
【0005】
本発明は、以上のような課題を解決するためのものであり、生き物をリアルに模擬することが可能なロボット、ロボットの制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明に係るロボットの一態様は、
自律的に動作するロボットであって、
前記ロボットの疑似的な成長に依存する第1動作と、前記疑似的な成長に非依存であって、且つ、前記ロボットの個性に依存する第2動作と、を前記ロボットに実行させる動作制御手段、
を備えることを特徴とする。
【発明の効果】
【0007】
本発明によれば、生き物をリアルに模擬することが可能なロボット、ロボットの制御方法及びプログラムを提供することができる。
【図面の簡単な説明】
【0008】
図1】実施形態に係るロボットの外観を示す図である。
図2】実施形態に係るロボットを側面から見た断面図である。
図3】実施形態に係るロボットの筐体を示す図である。
図4】実施形態に係るロボットのひねりモータの動きを示す第1の図である
図5】実施形態に係るロボットのひねりモータの動きを示す第2の図である。
図6】実施形態に係るロボットの上下モータの動きを示す第1の図である。
図7】実施形態に係るロボットの上下モータの動きを示す第2の図である。
図8】実施形態に係るロボットの構成を示すブロック図である。
図9】実施形態に係る感情マップの例を示す図である。
図10】実施形態に係る性格値レーダーチャートの例を示す図である。
図11】実施形態に係る成長テーブルの例を示す図である。
図12】実施形態に係る動作内容テーブルの例を示す図である。
図13】実施形態に係るモーションテーブルの例を示す図である。
図14】実施形態に係る個性テーブルの例を示す図である。
図15】実施形態に係るロボットが実行する動作の期間による違いを示す図である。
図16】実施形態に係るロボット制御処理の流れを示すフローチャートである。
図17】実施形態に係る動作制御処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について、図面を参照して説明する。なお、図中同一又は相当する部分には同一符号を付す。
【0010】
図1から図3に、本実施形態に係るロボット200の外観を示す。ロボット200は、ユーザによる直接的な操作によらずに自律的に動作する装置である。図1に示すように、ロボット200は、小型の動物を模したペットロボットである。ロボット200は、目を模した装飾部品202と、ふさふさの毛203と、を備えた外装201を備える。
【0011】
図2及び図3に示すように、ロボット200は、筐体207を備える。筐体207は、外装201に覆われており、外装201の内部に収納されている。筐体207は、頭部204と、連結部205と、胴体部206と、を備える。連結部205は、頭部204と胴体部206とを連結している。
【0012】
外装201は、外装部材の一例であって、前後方向に長く、内部に筐体207を収容することが可能な袋状の形状をしている。外装201は、頭部204から胴体部206にわたって寸胴形状に形成されており、胴体部206と頭部204とを一体的に覆っている。このような形状の外装201を有することにより、ロボット200は、腹ばい形状に形成されている。
【0013】
外装201の表地は、小動物の肌触りを模擬するため、小動物の毛203を模した人工のパイル織物により形成されている。外装201の裏地は、合成繊維、天然繊維、天然皮革、人工皮革、合成樹脂製のシート材、ゴム製のシート材等により形成される。このような柔軟性を有する素材により形成されているため、外装201は、筐体207の動きに追従する。具体的には、外装201は、胴体部206に対する頭部204の回転に追従する。
【0014】
外装201が筐体207の動きに追従するようにするため、外装201は、図示を省略するスナップボタンで筐体207に取り付けられている。具体的には、頭部204の前方に少なくとも1つのスナップボタンが備えられており、また、胴体部206の後方に少なくとも1つのスナップボタンが備えられている。そして、外装201の対応する位置にも頭部204と胴体部206に備えられたスナップボタンと嵌まり合うスナップボタンが備えられており、外装201はスナップボタンにより筐体207に留められて装着される。なお、スナップボタンの個数や位置は一例であり、任意に変更可能である。
【0015】
胴体部206は、前後方向に延びており、ロボット200が置かれている床やテーブル等の載置面に、外装201を介して接触する。胴体部206は、その前端部にひねりモータ221を備える。頭部204は、連結部205を介して胴体部206の前端部に連結されている。連結部205は、上下モータ222を備える。なお、図2では、ひねりモータ221は胴体部206に備えられているが、連結部205に備えられていてもよい。ひねりモータ221と上下モータ222により、頭部204は、胴体部206に対して、ロボット200の左右方向及び前後方向を軸として回転可能に連結されている。
【0016】
なお、XYZの座標軸として、水平面内にX軸とY軸とを設定し、鉛直方向にZ軸を設定する。Z軸の+方向は、鉛直上向きに相当する。そして、以下では説明を容易にするために、ロボット200の左右方向(幅方向)がX軸方向となり、ロボット200の前後方向がY軸方向となる向きにロボット200が載置面に置かれているとして説明する。
【0017】
連結部205は、連結部205を通り胴体部206の前後方向(Y方向)に延びる第1回転軸を中心として回転自在に、胴体部206と頭部204とを連結している。ひねりモータ221は、図4及び図5に示すように、頭部204を、胴体部206に対して、第1回転軸を中心として時計回り(右回り)に正転角度範囲内で回転(正転)させたり、反時計回り(左回り)に逆転角度範囲内で回転(逆転)させたりする。
【0018】
なお、この説明における時計回りは、胴体部206から頭部204の方向を見た時の時計回りである。また、時計回りの回転を「右方へのひねり回転」、反時計回りの回転を「左方へのひねり回転」とも呼ぶ。右方又は左方にひねり回転させる角度の最大値は任意である。図4及び図5では、頭部204を右方へも左方へもひねっていない状態における頭部204の角度(以下「ひねり基準角度」)を0で表している。また、最も左方へひねり回転(反時計回りに回転)させた時の角度を-100で、最も右方へひねり回転(時計回りに回転)させた時の角度を+100で、それぞれ表している。
【0019】
また、連結部205は、連結部205を通り胴体部206の左右方向(幅方向、X方向)に延びる第2回転軸を中心として回転自在に、胴体部206と頭部204とを連結している。上下モータ222は、図6及び図7に示すように、頭部204を、第2回転軸を中心として上方に正転角度範囲内で回転(正転)させたり、下方に逆転角度範囲内で回転(逆転)させたりする。
【0020】
上方又は下方に回転させる角度の最大値は任意だが、図6及び図7では、頭部204を上方にも下方にも回転させていない状態における頭部204の角度(以下「上下基準角度」)を0で、最も下方に回転させた時の角度を-100で、最も上方に回転させた時の角度を+100で、それぞれ表している。
【0021】
ロボット200は、図2及び図3に示すように、頭部204と胴体部206にタッチセンサ211を備える。ロボット200は、ユーザが頭部204又は胴体部206を撫でたり叩いたりしたことを、タッチセンサ211により検出することができる。
【0022】
ロボット200は、胴体部206に、加速度センサ212と、マイクロフォン213と、ジャイロセンサ214と、照度センサ215と、スピーカ231と、を備える。ロボット200は、加速度センサ212及びジャイロセンサ214により、ロボット200自体の姿勢の変化を検出することができ、また、ユーザによって持ち上げられたり、向きを変えられたり、投げられたりしたことを検出することができる。ロボット200は、照度センサ215により、ロボット200の周囲の照度を検出することができる。ロボット200は、マイクロフォン213により、外部の音を検出することができる。ロボット200は、スピーカ231により、鳴き声を発することができる。
【0023】
なお、加速度センサ212、マイクロフォン213、ジャイロセンサ214、照度センサ215及びスピーカ231の少なくとも一部は、胴体部206に限らず、頭部204に備えられていてもよいし、胴体部206と頭部204との両方に備えられていてもよい。
【0024】
次に、図8を参照して、ロボット200の機能的な構成について説明する。ロボット200は、図8に示すように、制御装置100と、センサ部210と、駆動部220と、出力部230と、操作部240と、を備える。これら各部は、一例として、バスラインBLを介して接続される。なお、バスラインBLの代わりに、USB(Universal Serial Bus)ケーブル等の有線インタフェース、Bluetooth(登録商標)等の無線インタフェースを用いても良い。
【0025】
制御装置100は、制御部110と、記憶部120と、を備える。制御装置100は、制御部110及び記憶部120により、ロボット200の動作を制御する。
【0026】
制御部110は、CPU(Central Processing Unit)を備える。CPUは、例えばマイクロプロセッサ等であって、様々な処理や演算を実行する中央演算処理部である。制御部110において、CPUが、ROMに記憶されている制御プログラムを読み出して、RAMをワークメモリとして用いながら、自装置であるロボット200全体の動作を制御する。また、図示しないが、制御部110は、クロック機能、タイマー機能等を備えており、日時等を計時することができる。制御部110は、「プロセッサ」と呼んでも良い。
【0027】
記憶部120は、ROM(Read Only Memory)、RAM(Random Access Memory)、フラッシュメモリ等を備える。記憶部120は、OS(Operating System)及びアプリケーションプログラムを含む、制御部110が各種処理を行うために使用するプログラム及びデータを記憶する。また、記憶部120は、制御部110が各種処理を行うことにより生成又は取得するデータを記憶する。
【0028】
センサ部210は、前述したタッチセンサ211、加速度センサ212、ジャイロセンサ214、照度センサ215、及びマイクロフォン213を備える。制御部110は、バスラインBLを介して、センサ部210が備える各種センサが検出した検出値を外部刺激として取得する。なお、センサ部210は、タッチセンサ211、加速度センサ212、ジャイロセンサ214、マイクロフォン213以外のセンサを備えてもよい。センサ部210が備えるセンサの種類を増やすことにより、制御部110が取得できる外部刺激の種類を増やすことができる。
【0029】
タッチセンサ211は、例えば圧力センサや静電容量センサを備えており、何らかの物体が接触したことを検出する。制御部110は、タッチセンサ211の検出値に基づいて、ユーザによってロボット200が撫でられていることや、叩かれたりしていること等を検出することができる。
【0030】
加速度センサ212は、ロボット200の胴体部206に加えられる加速度を検出する。加速度センサ212は、X軸方向、Y軸方向及びZ軸方向のそれぞれにおける加速度、すなわち3軸の加速度を検出する。
【0031】
例えば、加速度センサ212は、ロボット200が静止しているときには重力加速度を検出する。制御部110は、加速度センサ212が検出した重力加速度に基づいて、ロボット200の現在の姿勢を検出することができる。言い換えると、制御部110は、加速度センサ212が検出した重力加速度に基づいて、ロボット200の筐体207が水平方向から傾いているか否かを検出することができる。このように、加速度センサ212は、ロボット200の傾きを検出する傾き検出手段として機能する。
【0032】
また、ユーザがロボット200を持ち上げたり投げたりした場合には、加速度センサ212は、重力加速度に加えてロボット200の移動に伴う加速度を検出する。したがって、制御部110は、加速度センサ212が検出した検出値から重力加速度の成分を除去することにより、ロボット200の動きを検出することができる。
【0033】
ジャイロセンサ214は、ロボット200の胴体部206に回転が加えられたときの角速度を検出する。具体的には、ジャイロセンサは、X軸方向を軸とした回転、Y軸方向を軸とした回転、及びZ軸方向を軸とした回転という3軸回転の角速度を検出する。加速度センサ212が検出した検出値とジャイロセンサ214が検出した検出値とを組み合わせることで、ロボット200の動きをより精度よく検出することができる。
【0034】
なお、タッチセンサ211と加速度センサ212とジャイロセンサ214とは、同期したタイミング(例えば0.25秒毎)で、接触の強さ、加速度、角速度をそれぞれ検出し、検出値を制御部110に出力している。
【0035】
マイクロフォン213は、ロボット200の周囲の音を検出する。制御部110は、マイクロフォン213が検出した音の成分に基づき、例えばユーザがロボット200に呼びかけていることや、手を叩いていること等を検出することができる。
【0036】
照度センサ215は、ロボット200の周囲の照度を検出する。制御部110は、照度センサ215が検出した照度に基づき、ロボット200の周囲が明るくなった又は暗くなったことを検出することができる。
【0037】
駆動部220は、ひねりモータ221と上下モータ222とを備えており、制御部110によって駆動される。ひねりモータ221は、頭部204を胴体部206に対して、前後方向を軸として左右方向(幅方向)に回転させるためのサーボモータである。上下モータ222は、頭部204を胴体部206に対して、左右方向を軸として上下方向(高さ方向)に回転させるためのサーボモータである。ロボット200は、ひねりモータ221により、頭部204を横にひねる動作を表現することができ、上下モータ222により頭部204を昇降させる動作を表現することができる。
【0038】
出力部230は、スピーカ231を備え、制御部110が音のデータを出力部230に入力することにより、スピーカ231から音が出力される。例えば、制御部110がロボット200の鳴き声のデータを出力部230に入力することにより、ロボット200は疑似的な鳴き声を発する。
【0039】
なお、出力部230として、スピーカ231に代えて、又はスピーカ231に加えて、液晶ディスプレイ等のディスプレイや、LED(Light Emitting Diode)等の発光部を備え、喜びや悲しみ等の感情をディスプレイに表示したり、発光する光の色や明るさで表現したりしても良い。
【0040】
操作部240は、操作ボタン、ボリュームつまみ等を備える。操作部240は、例えば、電源のオンオフ、出力音のボリューム調整等のようなユーザ操作を受け付けるためのインタフェースである。
【0041】
次に、制御部110の機能的な構成について説明する。図8に示すように、制御部110は、機能的に、外部刺激取得手段の一例である外部刺激取得部111と、パラメータ設定手段の一例であるパラメータ設定部113と、動作制御手段の一例である動作制御部115と、を備える。制御部110において、CPUは、ROMに記憶されたプログラムをRAMに読み出して、そのプログラムを実行して制御することにより、これら各部として機能する。
【0042】
また、記憶部120は、パラメータデータ121と、成長テーブル123と、動作内容テーブル124と、モーションテーブル125と、個性テーブル127と、個性ID128と、を記憶している。
【0043】
外部刺激取得部111は、外部刺激を取得する。外部刺激は、ロボット200の外部からロボット200に対して作用する刺激である。外部刺激として、例えば、「大きな音がした」、「話しかけられた」、「撫でられた」、「持ち上げられた」、「逆さにされた」、「明るくなった」、「暗くなった」等が挙げられる。外部刺激は、以下では「イベント」とも呼ぶ。
【0044】
外部刺激取得部111は、センサ部210による検出値に基づいて、外部刺激を取得する。より詳細には、外部刺激取得部111は、センサ部210に備えられた複数のセンサ(タッチセンサ211、加速度センサ212、マイクロフォン213、ジャイロセンサ214、照度センサ215)により、互いに異なる種類の複数の外部刺激を取得する。
【0045】
例えば、外部刺激取得部111は、「大きな音がした」又は「話しかけられた」ことによる外部刺激を、マイクロフォン213により取得する。外部刺激取得部111は、「撫でられた」ことによる外部刺激を、タッチセンサ211により取得する。外部刺激取得部111は、「持ち上げられた」又は「逆さにされた」ことによる外部刺激を、加速度センサ212及びジャイロセンサ214により取得する。外部刺激取得部111は、「明るくなった」又は「暗くなった」ことによる外部刺激を、照度センサ215により取得する。
【0046】
パラメータ設定部113は、パラメータデータ121を設定する。パラメータデータ121は、ロボット200に関する各種のパラメータを定めるデータである。パラメータデータ121は、具体的には、(1)成長日数、(2)感情パラメータ、(3)感情変化量、(4)性格パラメータ、及び、(5)成長パラメータを含む。
【0047】
(1)成長日数
成長日数は、ロボット200の疑似的な成長の日数を表す。ロボット200は、工場出荷後にユーザによる初回の起動時に疑似的に生誕し、所定の成長期間をかけて子供から大人に成長する。成長日数は、ロボット200の疑似的な生誕からの日数に相当する。
【0048】
成長日数の初期値は1であり、パラメータ設定部113は、1日経過する度に成長日数に1ずつ加算する。ロボット200が子供から大人に成長する成長期間は例えば50日であり、疑似的な生誕からの成長日数が50日の期間を「第1期間(子供期間)」と称する。第1期間が経過すると、ロボット200の疑似的な成長は完了する。第1期間が経過した後の期間を「第2期間(大人期間)」と称する。
【0049】
(2)感情パラメータ
パラメータ設定部113は、感情パラメータを設定する。感情パラメータは、ロボット200に疑似的な感情を表すパラメータである。感情パラメータは、感情マップ300上の座標(X,Y)により表現される。
【0050】
感情マップ300は、図9に示すように、X軸として安心度(不安度)の軸、Y軸として興奮度(無気力度)の軸を持つ2次元の座標系で表される。感情マップ上の原点(0,0)は、通常時の感情を表す。X座標の値(X値)は、正でその絶対値が大きくなるほど安心度が高い感情を表し、負でその絶対値が大きくなるほど不安度が高い感情を表す。Y座標の値(Y値)は、正でその絶対値が大きくなるほど興奮度が高い感情を表し、負でその絶対値が大きくなるほど無気力度が高い感情を表す。
【0051】
感情パラメータは、互いに異なる複数(本実施形態では4つ)の疑似的な感情を表す。図9では、疑似的な感情を表す値のうち、安心度と不安度を1つの軸(X軸)上でまとめて表し、興奮度と無気力度を別の1つの軸(Y軸)上でまとめて表している。したがって、感情パラメータは、X値(安心度、不安度)とY値(興奮度、無気力度)の2つの値を持ち、X値とY値とで表される感情マップ300上の点が、ロボット200の疑似的な感情を表す。感情パラメータの初期値は(0,0)である。
【0052】
なお、図9では感情マップ300が2次元の座標系で表されているが、感情マップ300の次元数は任意である。感情マップ300を1次元で規定し、感情パラメータとして1つの値が設定されるようにしてもよい。また、他の軸を加えて3次元以上の座標系で感情マップ300を規定し、感情パラメータとして感情マップ300の次元数の個数の値が設定されるようにしてもよい。
【0053】
感情マップ300のサイズの初期値は、図9の枠301に示すように、X値もY値も最大値が100、最小値が-100である。パラメータ設定部113は、ロボット200の成長期間である第1期間(例えば50日)の間、ロボット200の疑似的な成長日数が1日増える度に、感情マップ300の最大値、最小値ともに2ずつ拡大する。
【0054】
成長日数が第1期間の半分(例えば25日)が経過すると、図9の枠302に示すように、X値もY値も最大値が150、最小値が-150となる。そして、第1期間(例えば50日)が経過すると、ロボット200の疑似的な成長は停止する。このとき、図9の枠303に示すように、X値もY値も最大値が200、最小値が-200となる。その後、感情マップ300のサイズは固定される。
【0055】
感情パラメータの設定可能範囲は、感情マップ300により定められる。このため、感情マップ300のサイズが拡大するにつれて、設定可能な感情パラメータの範囲が拡大する。感情パラメータの設定可能範囲が拡大することにより、より豊かな感情表現が可能になるので、ロボット200の疑似的な成長が、感情マップ300のサイズの拡大によって表現される。
【0056】
なお、ロボット200の疑似的な成長の停止条件は、「第1期間が経過」に限定されず、他の条件を追加してもよい。例えば、成長の停止条件を、「4つの性格値のいずれかが最大値(例えば10)に到達」としてもよい。この条件で成長を停止させると、4つの性格のうち1つの性格のみが最大値となった時点で性格が固定されるため、特定の性格を強く出すことが可能となる。
【0057】
(3)感情変化量
感情変化量は、ロボット200の疑似的な感情を変化させる度合いを示すデータであって、感情パラメータのX値及びY値の各々を増減させる変化量を定める。感情変化量は、以下の4つの変数により表現される。DXP及びDXMは、それぞれ感情パラメータのX値を増加及び減少させる。DYP及びDYMは、それぞれ感情パラメータのY値を増加及び減少させる。
【0058】
DXP:安心し易さ(感情マップでのX値のプラス方向への変化し易さ)
DXM:不安になり易さ(感情マップでのX値のマイナス方向への変化し易さ)
DYP:興奮し易さ(感情マップでのY値のプラス方向への変化し易さ)
DYM:無気力になり易さ(感情マップでのY値のマイナス方向への変化し易さ)
【0059】
これら感情変化量DXP、DXM、DYP、DYMの各値は、初期値が10であって、後述する学習により更新される。パラメータ設定部113は、感情変化量DXP、DXM、DYP、DYMのうちの、外部刺激に対応する値を現在の感情パラメータに加算又は減算することで、感情パラメータを更新する。
【0060】
例えば、頭部204を撫でられると、ロボット200の疑似的な感情は安心するので、パラメータ設定部113は、感情パラメータのX値にDXPを加算する。逆に、頭部204を叩かれると、ロボット200の疑似的な感情は不安になるため、パラメータ設定部113は、感情パラメータのX値からDXMを減算する。様々な外部刺激に対してどのような感情変化量が対応付けられるかは任意に設定可能である。以下に一例を示す。
【0061】
頭部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で検出可能)
優しい声で呼びかけられる(平穏になる):X=X+DXP及びY=Y-DYM
大きな声で怒鳴られる(イライラする):X=X-DXM及びY=Y+DYP
(これらの外部刺激はマイクロフォン213で検出可能)
【0062】
外部刺激取得部111は、センサ部210が備える複数のセンサにより、互いに異なる種類の複数の外部刺激を取得する。そのため、パラメータ設定部113は、これら複数の外部刺激の各々に応じて様々に感情変化量を導出し、導出した感情変化量に応じて感情パラメータを設定する。
【0063】
なお、感情パラメータのX値及びY値は感情マップ300のサイズによって最大値及び最小値が定められている。そのため、上記の演算によって感情マップ300の最大値を上回る場合には最大値が、感情マップ300の最小値を下回る場合には最小値が、それぞれ設定される。
【0064】
パラメータ設定部113は、感情変化量DXP、DXM、DYP、DYMの各変数を、外部刺激取得部111により取得される外部刺激に応じて更新する。具体的に説明すると、パラメータ設定部113は、1日において、感情パラメータのX値が1度でも感情マップ300の最大値に設定されたならDXPに1を加算し、感情パラメータのY値が1度でも感情マップ300の最大値に設定されたならDYPに1を加算する。また、パラメータ設定部113は、1日において、感情パラメータのX値が1度でも感情マップ300の最小値に設定されたならDXMに1を加算し、感情パラメータのY値が1度でも感情マップ300の最小値に設定されたならDYMに1を加算する。
【0065】
このように、パラメータ設定部113は、感情パラメータの値が感情マップ300の最大値又は最小値に達したかに基づく条件(外部刺激に基づく第1条件)に応じて、感情変化量を変化させる。このような各変数の更新を、感情変化量の学習と称する。一例として、感情変化量の各変数の初期値をいずれも10とする。パラメータ設定部113は、上記のような更新(学習)により各変数を最大で20まで増加させる。この学習処理により、感情変化量、すなわち感情の変化度合いが変化する。
【0066】
例えば、頭部204のみが何度も撫でられると感情変化量のDXPのみが増加し、他の感情変化量は変化しないので、ロボット200は安心しやすい性格になる。また、頭部204のみが何度も叩かれると感情変化量のDXMのみが増加し、他の感情変化量は変化しないので、ロボット200は不安になりやすい性格になる。このように、パラメータ設定部113は、様々な外部刺激に応じて、感情変化量を変化させる。
【0067】
なお、感情変化量の各変数に加算される値は1に限定されない。例えば、感情パラメータの各値が感情マップ300の最大値又は最小値に設定された回数をカウントして、その回数が多い場合には、感情変化量に加算する数値を増やすようにしてもよい。また、感情変化量を学習させる条件も上記に限らない。例えば、感情パラメータのX値やY値が1度でも所定の値(例えば、感情マップ300の最大値の0.5倍の値や最小値の0.5倍の値)に達したら感情変化量を学習させてもよい。また、期間に関しても、その日1日の期間に限らず、半日や1週間等の他の期間で、感情パラメータのX値やY値が1度でも所定の値に達したら、感情変化量を学習させるようにしてもよい。また、1日等の一定の期間ではなく、外部刺激の取得回数が所定回数(例えば50回)に達するまでの期間で、感情パラメータのX値やY値が1度でも所定の値に達したら、感情変化量を学習させるようにしてもよい。
【0068】
(4)性格パラメータ
性格パラメータは、ロボット200の疑似的な性格を表すパラメータである。性格パラメータは、それぞれ異なる性格の度合いを表す複数の性格値を含む。パラメータ設定部113は、外部刺激取得部111により取得された外部刺激に応じて、性格パラメータに含まれる複数の性格値を変化させる。
【0069】
具体的に説明すると、パラメータ設定部113は、以下の(式1)に従って4つの性格値を計算する。すなわち、安心し易さを示すDXPから10引いた値を性格値(陽気)とし、不安になり易さを示すDXMから10引いた値を性格値(シャイ)とし、興奮し易さを示すDYPから10引いた値を性格値(活発)とし、無気力になり易さを示すDYMから10引いた値を性格値(甘えん坊)とする。
【0070】
性格値(陽気)=DXP-10
性格値(シャイ)=DXM-10
性格値(活発)=DYP-10
性格値(甘えん坊)=DYM-10
…(式1)
【0071】
これにより、図10に示すように、性格値(陽気)を第1軸に、性格値(活発)を第2軸に、性格値(シャイ)を第3軸に、性格値(甘えん坊)を第4軸に、それぞれプロットすることで、性格値レーダーチャート400を生成することができる。感情変化量の各変数はそれぞれ初期値が10で最大20まで増加するため、性格値の範囲は0以上10以下となる。
【0072】
各性格値の初期値は0であるため、ロボット200の生誕時の性格は、性格値レーダーチャート400の原点で表される。そして、ロボット200が成長するにつれて、センサ部210で検出された外部刺激等(ユーザのロボット200への接し方)によって、4つの性格値が10を上限として変化する。これにより、11の4乗=14641通りの性格を表現できる。
【0073】
このように、ロボット200は、ユーザによるロボット200との接し方に応じて、様々な性格を持つ。つまり、ロボット200の性格は、ユーザの接し方により、個々に異なって形成される。
【0074】
このような4つの性格値は、第1期間が経過してロボット200の疑似的な成長が完了すると固定される。その後の第2期間でもユーザのロボット200への接し方に応じて性格を補正するため、パラメータ設定部113は、4つの性格補正値(陽気補正値、活発補正値、シャイ補正値及び甘えん坊補正値)を調整する。
【0075】
パラメータ設定部113は、4つの性格補正値を、感情マップ300上で、感情パラメータが最も長く存在したエリアがどこであるかに基づく条件(外部刺激データに基づく第2条件)に応じて調整する。具体的には、以下の(A)~(E)のように4つの性格補正値を調整する。
【0076】
(A)最長存在エリアが感情マップ300上の安心エリアであれば、パラメータ設定部113は、陽気補正値に1を加算し、シャイ補正値から1を減算する。
(B)最長存在エリアが感情マップ300上の興奮エリアであれば、パラメータ設定部113は、活発補正値に1を加算し、甘えん坊補正値から1を減算する。
(C)最長存在エリアが感情マップ300上の不安エリアであれば、パラメータ設定部113は、シャイ補正値に1を加算し、陽気補正値から1を減算する。
(D)最長存在エリアが感情マップ300上の無気力エリアであれば、パラメータ設定部113は、甘えん坊補正値に1を加算し、活発補正値から1を減算する。
(E)最長存在エリアが感情マップ300上の中央エリアであれば、パラメータ設定部113は、4つの性格補正値のすべての絶対値を1減少させる。
【0077】
4つの性格補正値を設定すると、パラメータ設定部113は、以下の(式2)に従って4つの性格値を計算する。
【0078】
性格値(陽気)=DXP-10+陽気補正値
性格値(シャイ)=DXM-10+シャイ補正値
性格値(活発)=DYP-10+活発補正値
性格値(甘えん坊)=DYM-10+甘えん坊補正値
…(式2)
【0079】
(5)成長パラメータ
成長パラメータは、ロボット200の疑似的な成長の度合いを表す値である。パラメータ設定部113は、性格パラメータに基づいて、成長パラメータを設定する。具体的に説明すると、パラメータ設定部113は、成長パラメータを、性格パラメータに含まれる複数の性格値(上記の例では4つ)の中で最も大きい値に設定する。例えば、図10の例では、性格値(陽気)が3、性格値(活発)が8、性格値(シャイ)が5、性格値(甘えん坊)が4であるため、パラメータ設定部113は、これらの中で最大値である性格値(活発)の値8を成長パラメータに設定する。なお、成長パラメータとして、最大値に限らず、複数の性格値の合計値、平均値、最頻値等を用いるようにしてもよい。
【0080】
性格パラメータはロボット200に対するユーザの接し方によって変化するため、このように成長パラメータを性格パラメータに基づいて設定することで、ユーザのロボット200への接し方に基づいてロボット200が疑似的に成長する効果を得ることができる。
【0081】
図8に戻って、動作制御部115は、外部刺激取得部111により取得された外部刺激と、パラメータ設定部113により設定されたパラメータデータ121と、に基づいて様々な動作をロボット200に実行させる。ここで、動作制御部115がロボット200に実行させる動作は、駆動部220を制御してロボット200に様々なモーションを行わせることと、出力部230を制御して鳴き声等の様々な音を出力させることと、の少なくとも一方に相当する。
【0082】
動作制御部115は、動作トリガーに対応する動作をロボット200に実行させる。動作トリガーは、ロボット200が動作する条件である。動作トリガーとして、外部刺激取得部111により取得される外部刺激(イベント)に基づくトリガーと、外部刺激に基づかないトリガーと、がある。
【0083】
より詳細には、動作制御部115は、ロボット200の疑似的な成長に依存する第1動作と、ロボット200の疑似的な成長に非依存であり、且つ、ロボット200の個性に依存する第2動作とを、ロボット200に実行させる。以下、第1動作と第2動作とについて説明する。
【0084】
(I)第1動作
第1動作は、ロボット200の疑似的な成長に応じてその内容が変化する動作である。実際の生き物でも、子供のときと大人のときとでは仕草や鳴き方等の動作が異なる。例えば、実際の生き物は、子供のときは激しい動作をしたり高い声で鳴いたりするが、大人になると動作の激しさが少なくなり、鳴き声が低くなる。第1動作は、このような生き物の成長に応じた動作の違いを表現するための動作である。
【0085】
動作制御部115は、第1動作として、性格パラメータに非依存な基本動作と、性格パラメータに依存する性格動作と、をロボット200に実行させる。ここで、基本動作は、ロボット200の疑似的な成長には依存するが、ロボット200の疑似的な性格には依存しない動作である。言い換えると、基本動作は、ロボット200に対するユーザの接し方(育て方)によって変化しない動作である。これに対して、性格動作は、ロボット200の疑似的な成長と疑似的な性格との双方に依存する動作である。言い換えると、性格動作は、ロボット200に対するユーザの接し方(育て方)によって変化する動作である。
【0086】
動作制御部115は、基本動作と性格動作とのうちから、成長パラメータに応じた確率で第1動作を選択する。具体的に説明すると、動作制御部115は、ロボット200の疑似的な成長につれて、すなわち成長パラメータが大きくなるにつれて、動作内容にバリエーションが生じるようにロボット200を制御する。そのために、動作制御部115は、成長テーブル123を参照する。
【0087】
図11に示すように、成長テーブル123は、外部刺激等の動作トリガーに応じてロボット200が行う動作の種類と、成長パラメータに応じて各動作が選択される確率(以下「動作選択確率」という)とを、定めている。成長テーブル123は、成長パラメータが小さい間は基本動作が選択される確率が高く、成長パラメータが増加すると性格動作が選択される確率が高くなるように、動作選択確率を定めている。また、成長テーブル123は、成長パラメータが増加するほど、選択されうる基本動作の種類が増加するように、動作選択確率を定めている。
【0088】
例えば、ロボット200の現在の性格値が、図10に示すように、性格値(陽気)が3、性格値(活発)が8、性格値(シャイ)が5、性格値(甘えん坊)が4であり、マイクロフォン213で大きな音を検出した場合を想定する。この場合、成長パラメータは4つの性格値の中の最大値である8となり、動作トリガーは「大きな音がする」となる。図11に示す成長テーブル123で、動作トリガーが「大きな音がする」で成長パラメータが8の項目を参照すると、動作選択確率は、「基本動作2-0」が20%、「基本動作2-1」が20%、「基本動作2-2」が40%、「性格動作2-0」が20%であることがわかる。
【0089】
つまり、この場合、動作制御部115は、「基本動作2-0」を20%、「基本動作2-1」を20%、「基本動作2-2」を40%、「性格動作2-0」を20%の確率で選択する。このようにして基本動作又は性格動作を選択すると、動作制御部115は、動作内容テーブル124及びモーションテーブル125を参照して、選択した基本動作又は性格動作に対応する内容の動作をロボット200に実行させる。
【0090】
動作内容テーブル124は、図12に示すように、成長テーブル123で定められた各動作の具体的な動作内容を定めるテーブルである。ただし、動作内容テーブル124は、性格動作の動作内容を、4種類の性格値(陽気、活発、シャイ、甘えん坊)のそれぞれに対して別々に定める。「性格動作2-0」を選択した場合、動作制御部115は、4つの性格値に応じて、4種類の性格動作のいずれかを更に選択する。
【0091】
動作制御部115は、各性格動作の選択確率として、その性格動作に対応する性格値を4つの性格値の合計値で割った値を計算する。例えば、性格値(陽気)が3、性格値(活発)が8、性格値(シャイ)が5、性格値(甘えん坊)が4の場合、これらの合計値は3+8+5+4=20である。この場合、動作制御部115は、「陽気」の性格動作が3/20=15%の確率で、「活発」の性格動作が8/20=40%の確率で、「シャイ」の性格動作が5/20=25%の確率で、「甘えん坊」の性格動作が4/20=20%の確率で、それぞれ選択する。
【0092】
なお、図11に示した成長テーブル123では、各動作トリガーに対して選択される性格動作は1つであるが、基本動作と同様に、性格値の増加に応じて、選択される性格動作の種類を増加させてもよい。また、成長テーブル123は、動作トリガー毎に、成長パラメータを引数として各動作種類の動作選択確率を返す関数(成長関数)として定義できればその形態は任意であり、必ずしも図11に示すような表形式のデータである必要はない。
【0093】
モーションテーブル125は、図13に示すように、成長テーブル123で定められた各動作について、動作制御部115がひねりモータ221や上下モータ222をどのように制御するのかを定めるテーブルである。具体的には、モーションテーブル125は、動作毎に、動作時間(ミリ秒)と、当該動作時間後のひねりモータ221の動作角度と、当該動作時間後の上下モータ222の動作角度と、をそれぞれ定める。更に、モーションテーブル125は、動作毎に、スピーカ231から出力する音声データを定める。
【0094】
例えば、基本動作2-0が選択された場合、動作制御部115は、まず100ミリ秒後にひねりモータ221と上下モータ222とを角度が0度になるように制御し、その100ミリ秒後に上下モータ222の角度が-24度になるように制御する。そして、動作制御部115は、その後700ミリ秒間は回転させず、その500ミリ秒後にひねりモータ221の角度は34度、上下モータ222の角度は-24度になるように制御する。そして、動作制御部115は、その400ミリ秒後にひねりモータ221の角度は-34度になるように制御し、その500ミリ秒後にひねりモータ221も上下モータ222も角度が0度になるように制御して、基本動作2-0の動作を完了する。また、動作制御部115は、ひねりモータ221及び上下モータ222の駆動と並行して、短くピイと鳴く声の音声データにより、スピーカ231から短くピイと鳴く声を再生する。
【0095】
(II)第2動作
第2動作は、ロボット200の疑似的な成長によってその内容が変化しない動作であって、ロボット200の個性に依存する動作である。ここで、ロボット200の個性は、そのロボット200に特有の、ロボット200と同種の他のロボットとは異なる性質を意味する。言い換えると、ロボット200の個性は、ユーザによる育て方や接し方等の後天的な要因に依存しない、動き方、鳴き方等の「癖」に相当する。
【0096】
より詳細には、実際の生き物が有する、同じ種別に属する他の生き物とは異なる性質の中には、遺伝等の先天的な要因によるものであって、その生誕後の成長過程における要因によっては変化しないものが存在する。第2動作は、このような個性を模擬するための動作である。第2動作は、個性動作と称しても良い。
【0097】
パラメータ設定部113は、個性テーブル127を参照して、ロボット200に実行させる第2動作を設定する。個性テーブル127は、図14に示すように、ロボット200に第2動作として実行させることが可能な複数の候補を定めるテーブルである。パラメータ設定部113は、ロボット200に実行させる第2動作として、個性テーブル127のうちから、駆動部220によるモーションとスピーカ231から出力する音声とのうちの少なくとも1つを選択する。これにより、パラメータ設定部113は、ロボット200の個性を設定する。
【0098】
パラメータ設定部113は、個性ID128を用いて、第2動作を設定する。個性ID128は、ロボット200の個性を示す情報であるため、他のロボットの個性IDとは異なるユニークな情報であることが望ましい。個性ID128として、例えば、BLE(Bluetooth Low Energy(登録商標))のIDを用いることができる。BLEのIDを用いることで、ロボット200の個性を実質的にランダムに設定することができる。
【0099】
個性ID128は、ユーザにより最初に起動されるより前(例えばロボット200が工場で製造される際)に、作業員の操作によってロボット200に書き込まれる。個性ID128は、一度設定された後はユーザにより書き換えられないように、例えば記憶部120のROMに保存される。パラメータ設定部113は、個性テーブル127に定められている複数の動作(モーション及び音声)のうちの、このようにして設定された個性ID128により示される動作を、第2動作として設定する。
【0100】
なお、個性ID128は、ロボット200が工場で製造される際に設定されることに限らず、ユーザの希望により設定されても良い。例えば、ユーザが既に所有しているロボット200を新しいロボット200に買い替える際に、元のロボット200の個性ID128を新しいロボット200の個性ID128としてコピーしても良い。これにより、元のロボット200の個性を新しいロボット200に引き継ぐことができる。言い換えると、あたかも親子における個性の遺伝のように、新しいロボット200に元のロボット200と同じ個性を持たせることができる。また、個性ID128がユーザの希望により設定されることで、例えば血統書付きのペットのように、価値の高い個性を持つロボット200を手に入れることができる。
【0101】
このようにして個性ID128が設定されると、動作制御部115は、第1動作に加えて、個性ID128により示される第2動作をロボット200に実行させる。例えば、第2動作として「動作の後にフルフルする」が設定された場合、動作制御部115は、第1動作をロボット200に実行させた後に、駆動部220を制御して頭部204又は胴体部206を振るモーションを行う。或いは、第2動作として「動作の後にミュンと鳴く」が設定された場合、動作制御部115は、第1動作をロボット200に実行させた後に、スピーカ231から「ミュン」という音声を出力する。
【0102】
なお、動作制御部115は、第2動作によっては、第1動作の後に第2動作を実行することに限らず、第1動作と同時に、或いは第1動作の前に第2動作を実行しても良い。例えば、第2動作として「モーションが速い」が設定された場合、動作制御部115は、第1動作をロボット200に実行させる際に、第1動作のモーションを素早く行う。或いは、第2動作として「高い声で鳴く」が設定された場合、動作制御部115は、第1動作をロボット200に実行させる際に、高い音声を出力する。また、第2動作が第1動作とは独立した動作である場合には、動作制御部115は、第1動作に付随したタイミングで第2動作を実行することに限らず、第1動作とは独立したタイミングで第2動作を実行しても良い。
【0103】
より詳細には、動作制御部115は、ロボット200の疑似的な成長が予め定められた条件を満たしていない間は、第1動作をロボット200に実行させる。そして、動作制御部115は、ロボット200の疑似的な成長が予め定められた条件を満たした後は、第1動作と第2動作とをロボット200に実行させる。
【0104】
言い換えると、動作制御部115は、ロボット200の疑似的な生誕の後しばらくの間は、第1動作のみをロボット200に実行させ、疑似的な生誕の後すぐには第2動作をロボット200に実行させない。そして、動作制御部115は、ロボット200の疑似的な成長がある程度に達した後で、第2動作をロボット200に実行させる。
【0105】
実際の生き物でも、その個性が現れてくるのはその生き物がある程度成長してからである。そのため、疑似的な生誕の後しばらく期間が経過してから第2動作をロボット200が実行することで、このような実際の生き物における個性の現れ方をよりリアルに模擬することができる。また、ロボット200の購入後すぐには個性が判明しないため、ロボット200を成長させることに対する面白みが増す。
【0106】
ここで、予め定められた条件は、ロボット200の疑似的な成長の日数が予め定められた日数に達した場合に満たされる。具体的には図15に示すように、疑似的な生誕から、予め定められた日数の期間である第3期間が経過するまでは、動作制御部115は、第1動作をロボット200に実行させ、第2動作をロボット200に実行させない。これに対して、疑似的な生誕から第3期間が経過した後の期間では、動作制御部115は、第1動作と第2動作とをどちらもロボット200に実行させる。
【0107】
予め定められた日数は、ロボット200の疑似的な成長が完了する日数よりも少ない。言い換えると、第3期間は、子供期間である第1期間よりも短い。例えば、第1期間が50日である場合、予め定められた日数に相当する第3期間は、30日に設定される。このように、ロボット200が子供から大人に成長するまでの間に第2動作を実行し始めることで、実際の生き物における個性の現れ方を更にリアルに模擬することができる。
【0108】
次に、図16を参照して、ロボット制御処理の流れについて説明する。図16に示すロボット制御処理は、ユーザがロボット200の電源を入れたことを契機として、制御装置100の制御部110により実行される。ロボット制御処理は、ロボット200の制御方法の一例である。
【0109】
ロボット制御処理を開始すると、制御部110は、パラメータ設定部113として機能し、パラメータデータ121を設定する(ステップS101)。ロボット200の最初の起動時(工場出荷後のユーザによる初回の起動時)は、制御部110は、成長日数、感情パラメータ、感情変化量、性格パラメータ及び成長パラメータの各パラメータを初期値(例えば0)に設定する。一方で、2度目以降の起動時は、制御部110は、前回のロボット制御処理の後述するステップS109で保存された各パラメータの値を読み出してパラメータデータ121に設定する。ただし、感情パラメータは、電源を入れるたびに全て0に初期化されてもよい。
【0110】
パラメータデータ121を設定すると、制御部110は、センサ部210で検出される外部刺激があるか否かを判定する(ステップS102)。外部刺激がある場合(ステップS102;YES)、制御部110は、外部刺激取得部111として機能し、センサ部210から外部刺激を取得する(ステップS103)。
【0111】
外部刺激を取得すると、制御部110は、取得した外部刺激に対応する感情変化量を導出する(ステップS104)。そして、制御部110は、導出した感情変化量を現在の感情パラメータに加算又は減算することで、感情パラメータを更新する(ステップS105)。
【0112】
感情パラメータを更新すると、制御部110は、ステップS103で取得した外部刺激を動作トリガーとして動作制御処理を実行し(ステップS106)、その後、ステップS108に進む。
【0113】
一方、ステップS102で外部刺激がない場合(ステップS102;NO)、制御部110は、呼吸動作等の自発的な動作を行うか否かを判定する(ステップS107)。自発的な動作を行うか否かの判定方法は任意だが、例えば、第1基準時間(例えば5秒)毎にステップS107の判定がYESになるものとする。
【0114】
自発的な動作を行う場合(ステップS107;YES)、制御部110は、ステップS106に進んで、「第1基準時間経過」を動作トリガーとして動作制御処理を実行し、その後、ステップS108に進む。
【0115】
次に、ステップS106で実行される動作制御処理について、図17を参照して説明する。
【0116】
動作制御処理を開始すると、制御部110は、性格パラメータを設定する(ステップS201)。具体的に説明すると、制御部110は、第1期間中では、上述した(式1)に従って、ステップS113で学習される感情変化量から性格パラメータの各性格値を計算する。一方で、制御部110は、第2期間中では、上述した(式2)に従って、ステップS113で学習される感情変化量とステップS112で調整される性格補正値とから性格パラメータの各性格値を計算する。
【0117】
性格パラメータを設定すると、制御部110は、成長パラメータを設定する(ステップS202)。具体的に説明すると、制御部110は、性格パラメータに含まれる複数の性格値の中で最大値を成長パラメータとして設定する。
【0118】
成長パラメータを設定すると、制御部110は、成長テーブル123を参照して、動作制御処理を実行する際に与えられた動作トリガーと、ステップS202で計算した成長パラメータと、に対応する動作選択確率を読み出す(ステップS203)。そして、制御部110は、読み出した動作選択確率に基づき、乱数を用いて第1動作を選択する(ステップS204)。
【0119】
例えば、計算した成長パラメータが8であり、動作トリガーが「大きな音がする」である場合、制御部110は、20%の確率で「基本動作2-0」が選択され、20%の確率で「基本動作2-1」が選択され、40%の確率で「基本動作2-2」が選択され、20%の確率で「性格動作2-0」を選択する(図11参照)。
【0120】
第1動作を選択すると、制御部110は、第1動作として性格動作を選択したか否かを判定する(ステップS205)。第1動作として基本動作を選択した場合(ステップS205;NO)、ステップS208に進む。
【0121】
第1動作として性格動作を選択した場合(ステップS205;YES)、制御部110は、4つの性格値の大きさに基づいて、各性格の選択確率を計算する(ステップS206)。そして、制御部110は、計算した各性格の選択確率に基づき、乱数を用いて性格動作を選択する(ステップS207)。
【0122】
第1動作として基本動作又は性格動作を選択すると、制御部110は、第3期間中(例えば生誕から30日)であるか否かを判定する(ステップS208)。第3期間中である場合(ステップS208;YES)、制御部110は、選択した第1動作をロボット200に実行させる(ステップS209)。具体的に説明すると、制御部110は、モーションテーブル125に定められたモーション及び音声出力を行うことで、動作内容テーブル124に定められた動作内容の動作をロボット200に実行させる。
【0123】
これに対して、第3期間中でない場合(ステップS208;NO)、制御部110は、ステップS209と同様に第1動作をロボット200に実行させることに加えて、第2動作をロボット200に実行させる(ステップS210)。具体的に説明すると、制御部110は、ロボット200の成長日数がある程度経過すると、第1動作に加えて、個性テーブル127に定められている複数の動作(モーション及び音声)のうちの、個性ID128により示される第2動作をロボット200に実行させる。これにより、制御部110は、ロボット200の個性を表現する。以上により、図17に示した動作制御処理は終了する。
【0124】
図16に戻って、自発的な動作を行わない場合(ステップS107;NO)、制御部110は、処理を終了するか否かを判定する(ステップS108)。例えば、操作部240が、ユーザによるロボット200の電源OFFの指示を受け付けたら、処理を終了する。処理を終了する場合(ステップS108;YES)、制御部110は、現在のパラメータデータ121を記憶部120の不揮発性メモリ(例えばフラッシュメモリ)に保存し(ステップS109)、図16に示すロボット制御処理を終了する。
【0125】
処理を終了しない場合(ステップS108;NO)、制御部110は、クロック機能により、日付が変わったか否かを判定する(ステップS110)。日付が変わっていない場合(ステップS110;NO)、ステップS102に戻る。
【0126】
日付が変わった場合(ステップS110;YES)、制御部110は、第1期間(例えば生誕から50日)中であるか否かを判定する(ステップS111)。第1期間中でなく第2期間中である場合(ステップS111;NO)、制御部110は、性格補正値を調整し(ステップS112)、ステップS115に進む。
【0127】
第1期間中である場合(ステップS111;YES)、制御部110は、感情変化量を学習する(ステップS113)。具体的に説明すると、制御部110は、感情パラメータが感情マップ300の最大値又は最小値に達したか否かに応じて、感情変化量DXP、DXM、DYP、DYMの値を変化させる。
【0128】
感情変化量の学習を行うと、制御部110は、感情マップ300を最大値、最小値ともに、予め定められた増加分(例えば2)だけ拡大する(ステップS114)。そして、制御部110は、成長日数に1を加算して(ステップS115)、ステップS102に戻る。
【0129】
なお、図16では、感情変化量の学習及び感情マップ300の拡大は、ステップS110で日付が変わったのを判定してから行われるものとしているが、基準時刻(例えば午後9時)になったことを判定してから行われるようにしてもよい。また、ステップS110での判定は、実際の日付で判定するのではなく、ロボット200が電源ONになっている時間を制御部110のタイマー機能で累計した値に基づいて判定してもよい。例えば、電源ONの累計時間が24の倍数の時間になる毎に、ロボット200が1日成長したとみなして、感情変化量の学習及び感情マップ300の拡大が行われるようにしてもよい。また、ロボット200を放置しがちなユーザを考慮して、放置された場合にはロボット200の成長が遅くなるように、外部刺激の取得回数に基づいて(例えば、取得回数が100回になる毎に成長日数が1日経過する)判定をしてもよい。
【0130】
以上説明したように、本実施形態に係るロボット200は、ロボット200の疑似的な成長に依存する第1動作と、疑似的な成長に非依存であって、且つ、ロボット200の個性に依存する第2動作と、をロボット200に実行させる動作制御手段を備える。このように、本実施形態に係るロボット200は、疑似的な成長に依存する第1動作に加えて、疑似的な成長に非依存であり、且つ、個性に依存する第2動作を実行するため、生き物が成長する様子に加えて、遺伝等の先天的な要因による個性を模擬することができる。その結果、本実施形態に係るロボット200は、生き物をよりリアルに模擬することができる。
【0131】
(変形例)
以上に本発明の実施形態について説明したが、上記実施形態は一例であり、本発明の適用範囲はこれに限られない。すなわち、本発明の実施形態は種々の応用が可能であり、あらゆる実施形態が本発明の範囲に含まれる。
【0132】
例えば、上記実施形態では、成長パラメータは、性格パラメータに含まれる複数の性格値のうちの最大値に設定された。しかしながら、成長パラメータは、性格パラメータに基づくことに限らない。例えば、成長パラメータは、成長日数に直接基づくものであっても良い。その他、パラメータ設定部113によるパラメータデータ121の設定は、上記実施形態で説明した方法に限らず、様々な方法が可能である。
【0133】
上記実施形態では、第2動作を実行するための予め定められた条件は、ロボット200の疑似的な成長の日数が予め定められた日数に達した場合に満たされた。しかしながら、予め定められた条件は、これに限らない。例えば、予め定められた条件は、成長パラメータが予め定められた値に達した場合に満たされても良い。
【0134】
上記実施形態では、外装201は、頭部204から胴体部206にわたって寸胴形状に形成されており、ロボット200は、腹ばい形状をしていた。しかしながら、ロボット200は、腹ばい形状の生き物を模したものであることに限らない。例えば、ロボット200は、手足を有した形状をしており、4足歩行又は2足歩行の生き物を模擬したものであっても良い。
【0135】
上記実施形態では、ロボット200に制御装置100が内蔵されていたが、制御装置100は、ロボット200に内蔵されずに別個の装置(例えばサーバ)であってもよい。制御装置100がロボット200の外部に存在する場合、ロボット200は、通信部を介して制御装置100と通信して互いにデータを送受信する。このようなロボット200との通信を介して、外部刺激取得部111は、センサ部210が検出した外部刺激を取得し、動作制御部115は、駆動部220や出力部230を制御する。
【0136】
上記実施形態では、制御部110において、CPUがROMに記憶されたプログラムを実行することによって、外部刺激取得部111、パラメータ設定部113及び動作制御部115の各部として機能した。しかしながら、本発明において、制御部110は、CPUの代わりに、例えばASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、又は、各種制御回路等の専用のハードウェアを備え、専用のハードウェアが、外部刺激取得部111、パラメータ設定部113及び動作制御部115の各部として機能しても良い。この場合、各部の機能それぞれを個別のハードウェアで実現しても良いし、各部の機能をまとめて単一のハードウェアで実現しても良い。また、各部の機能のうちの、一部を専用のハードウェアによって実現し、他の一部をソフトウェア又はファームウェアによって実現しても良い。
【0137】
なお、本発明に係る機能を実現するための構成を予め備えたロボットとして提供できることはもとより、プログラムの適用により、既存の情報処理装置等を、本発明に係るロボットとして機能させることもできる。すなわち、前記実施形態で例示したロボット200による各機能構成を実現させるためのプログラムを、既存の情報処理装置等を制御するCPU等が実行できるように適用することで、本発明に係るロボットとして機能させることができる。
【0138】
また、このようなプログラムの適用方法は任意である。プログラムを、例えば、フレキシブルディスク、CD(Compact Disc)-ROM、DVD(Digital Versatile Disc)-ROM、メモリカード等のコンピュータ読み取り可能な記憶媒体に格納して適用できる。さらに、プログラムを搬送波に重畳し、インターネットなどの通信媒体を介して適用することもできる。例えば、通信ネットワーク上の掲示板(BBS:Bulletin Board System)にプログラムを掲示して配信してもよい。そして、このプログラムを起動し、OS(Operating System)の制御下で、他のアプリケーションプログラムと同様に実行することにより、前記の処理を実行できるように構成してもよい。
【0139】
以上、本発明の好ましい実施形態等について説明したが、本発明は上述した実施形態等に制限されることはなく、特許請求の範囲に記載された範囲を逸脱することなく、上述した実施形態等に種々の変形及び置換を加えることができる。
【符号の説明】
【0140】
100…制御装置、110…制御部、111…外部刺激取得部、113…パラメータ設定部、115…動作制御部、120…記憶部、121…パラメータデータ、123…成長テーブル、124…動作内容テーブル、125…モーションテーブル、127…個性テーブル、128…個性ID、200…ロボット、201…外装、202…装飾部品、203…毛、204…頭部、205…連結部、206…胴体部、207…筐体、210…センサ部、211…タッチセンサ、212…加速度センサ、213…マイクロフォン、214…ジャイロセンサ、215…照度センサ、220…駆動部、221…ひねりモータ、222…上下モータ、230…出力部、231… スピーカ、240…操作部、300…感情マップ、301~303…枠、400…性格値レーダーチャート、BL…バスライン
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
【手続補正書】
【提出日】2024-08-21
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
自律的に動作するロボットであって、
前記ロボットの疑似的な成長に依存する第1動作と、前記疑似的な成長に非依存であって、且つ、前記ロボットの個性に依存する第2動作と、を前記ロボットに実行させる動作制御手段、
を備えることを特徴とするロボット。
【請求項2】
前記動作制御手段は、前記疑似的な成長が予め定められた条件を満たしていない間は、前記第1動作を前記ロボットに実行させ、前記疑似的な成長が前記予め定められた条件を満たした後は、前記第1動作と前記第2動作とを前記ロボットに実行させる、
ことを特徴とする請求項1に記載のロボット。
【請求項3】
前記予め定められた条件は、前記疑似的な成長の日数が予め定められた日数に達した場合に満たされる、
ことを特徴とする請求項2に記載のロボット。
【請求項4】
前記予め定められた日数は、前記疑似的な成長が完了する日数よりも少ない、
ことを特徴とする請求項3に記載のロボット。
【請求項5】
前記動作制御手段は、前記第1動作として、前記ロボットの疑似的な性格に依存する性格動作と、前記疑似的な性格に非依存な基本動作と、のうちから選択された動作を前記ロボットに実行させる、
ことを特徴とする請求項1から4のいずれか1項に記載のロボット。
【請求項6】
前記ロボットの疑似的な成長の度合いを表す成長パラメータを設定するパラメータ設定手段、を更に備え、
前記動作制御手段は、前記第1動作として、前記性格動作と前記基本動作とのうちから、前記パラメータ設定手段により設定された前記成長パラメータに応じた確率で選択された動作を前記ロボットに実行させる、
ことを特徴とする請求項5に記載のロボット。
【請求項7】
前記パラメータ設定手段は、前記疑似的な性格を表す性格パラメータを設定し、前記性格パラメータに基づいて前記成長パラメータを設定する、
ことを特徴とする請求項6に記載のロボット。
【請求項8】
前記性格パラメータは、それぞれ異なる性格の度合いを表す複数の性格値を含み、
前記パラメータ設定手段は、前記成長パラメータを、前記複数の性格値のうちの最大値に設定する、
ことを特徴とする請求項7に記載のロボット。
【請求項9】
外部刺激を取得する外部刺激取得手段、を更に備え、
前記パラメータ設定手段は、前記外部刺激取得手段により取得された前記外部刺激に応じて前記性格パラメータを変化させる、
ことを特徴とする請求項7に記載のロボット。
【請求項10】
自律的に動作するロボットであって、
第2部位に第1部位を連結する連結部と、
前記連結部を駆動する駆動部と、
音声を出力する音声出力部と、
予め定められたトリガーを検出した場合に、前記ロボットの疑似的な成長に伴って動作内容が変化するように設定された第1動作と、前記疑似的な成長に伴う動作内容の変化が生じないように設定され且つ前記ロボットの個性の違いによって動作内容が異なるように設定された第2動作と、を前記ロボットが実行するように、前記駆動部または前記音声出力部を制御する制御部と、
を備えることを特徴とするロボット。
【請求項11】
前記第1動作の動作内容が成長度合い毎に対応付けて規定された第1テーブルと前記第2動作の動作内容が個性毎に対応付けて規定された第2テーブルとが記憶されたメモリを備え、
前記制御部は、前記第1テーブルと前記第2テーブルとに基づいて前記駆動部または前記音声出力部を制御する、
請求項10に記載のロボット。
【請求項12】
自律的に動作するロボットの制御方法であって、
前記ロボットの疑似的な成長に依存する第1動作と、前記疑似的な成長に非依存であって、且つ、前記ロボットの個性に依存する第2動作と、を前記ロボットに実行させる、
ことを特徴とするロボットの制御方法。
【請求項13】
第2部位に第1部位を連結する連結部と、前記連結部を駆動する駆動部と、音声を出力する音声出力部と、を備え、自律的に動作するロボットの制御方法であって、
予め定められたトリガーを検出した場合に、前記ロボットの疑似的な成長に伴って動作内容が変化するように設定された第1動作と、前記疑似的な成長に伴う動作内容の変化が生じないように設定され且つ前記ロボットの個性の違いによって動作内容が異なるように設定された第2動作と、を前記ロボットが実行するように、前記駆動部または前記音声出力部を制御する制御処理、
を含むことを特徴とするロボットの制御方法。
【請求項14】
自律的に動作するロボットのコンピュータを、
前記ロボットの疑似的な成長に依存する第1動作と、前記疑似的な成長に非依存であって、且つ、前記ロボットの個性に依存する第2動作と、を前記ロボットに実行させる動作制御手段、
として機能させることを特徴とするプログラム。
【請求項15】
第2部位に第1部位を連結する連結部と、前記連結部を駆動する駆動部と、音声を出力する音声出力部と、を備え、自律的に動作するロボットのコンピュータを、
予め定められたトリガーを検出した場合に、前記ロボットの疑似的な成長に伴って動作内容が変化するように設定された第1動作と、前記疑似的な成長に伴う動作内容の変化が生じないように設定され且つ前記ロボットの個性の違いによって動作内容が異なるように設定された第2動作と、を前記ロボットが実行するように、前記駆動部または前記音声出力部を制御する制御手段、
として機能させることを特徴とするプログラム。