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

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

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

特許7556379ロボット、ロボット制御方法及びプログラム
<>
  • 特許-ロボット、ロボット制御方法及びプログラム 図1
  • 特許-ロボット、ロボット制御方法及びプログラム 図2
  • 特許-ロボット、ロボット制御方法及びプログラム 図3
  • 特許-ロボット、ロボット制御方法及びプログラム 図4
  • 特許-ロボット、ロボット制御方法及びプログラム 図5
  • 特許-ロボット、ロボット制御方法及びプログラム 図6
  • 特許-ロボット、ロボット制御方法及びプログラム 図7
  • 特許-ロボット、ロボット制御方法及びプログラム 図8
  • 特許-ロボット、ロボット制御方法及びプログラム 図9
  • 特許-ロボット、ロボット制御方法及びプログラム 図10
  • 特許-ロボット、ロボット制御方法及びプログラム 図11
  • 特許-ロボット、ロボット制御方法及びプログラム 図12
  • 特許-ロボット、ロボット制御方法及びプログラム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-17
(45)【発行日】2024-09-26
(54)【発明の名称】ロボット、ロボット制御方法及びプログラム
(51)【国際特許分類】
   A63H 11/00 20060101AFI20240918BHJP
   A63H 29/22 20060101ALI20240918BHJP
   B25J 19/00 20060101ALI20240918BHJP
【FI】
A63H11/00 Z
A63H29/22 L
B25J19/00 F
【請求項の数】 12
(21)【出願番号】P 2022152961
(22)【出願日】2022-09-26
(65)【公開番号】P2024047376
(43)【公開日】2024-04-05
【審査請求日】2023-08-08
(73)【特許権者】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】100095407
【弁理士】
【氏名又は名称】木村 満
(72)【発明者】
【氏名】長谷川 浩一
(72)【発明者】
【氏名】浦野 美由紀
(72)【発明者】
【氏名】市川 英里奈
【審査官】鈴木 崇雅
(56)【参考文献】
【文献】再公表特許第00/038295(JP,A1)
【文献】特開2021-074361(JP,A)
【文献】特開2017-196691(JP,A)
【文献】特開2017-200531(JP,A)
【文献】特開2003-186539(JP,A)
【文献】国際公開第2012/141130(WO,A1)
【文献】特開2016-127741(JP,A)
【文献】特開2011-250652(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A63H 1/00-37/00
B25J 19/00
(57)【特許請求の範囲】
【請求項1】
生物を模したロボットであって、
充電可能なバッテリで駆動され、
生物を模した動作を行わせるための動作部と、
制御部と、
を備え、
前記制御部は、
前記バッテリが充電のための給電動作中である給電状態から前記給電動作が停止された状態である非給電状態に変化した場合に、前記変化に対応するタイミングでの前記バッテリの残量に応じて決定した制御内容で前記動作部を制御する
ロボット。
【請求項2】
前記制御部は、
前記給電状態から前記非給電状態への変化を検出し、
前記変化に対応するタイミングで前記バッテリの残量を特定し、
前記特定した前記バッテリの残量の違いに応じて異なる制御内容を決定し、
前記変化に対応するタイミングにおいて、前記決定した制御内容で前記動作部を制御する、
請求項1に記載のロボット。
【請求項3】
前記バッテリの前記給電動作は前記ロボットを充電器に接続することによって行われ、
前記制御部は、
前記ロボットが前記充電器から取り外された場合に、前記給電状態から前記非給電状態への変化を検出し、
前記バッテリの残量に応じて、音声出力部から出力される生物を模した音声、または、可動部を駆動させることによる生物を模した動き、の少なくとも一方が異なる複数の制御内容の1つを前記動作部の制御内容として決定する、
請求項2に記載のロボット。
【請求項4】
前記バッテリの前記給電動作は前記ロボットを充電器の給電載置面に載置することによって行われ、
前記ロボットが前記給電載置面に載置されると前記給電状態になり、前記給電載置面から離れると前記非給電状態になり、
前記制御部は、
前記給電状態から前記非給電状態に変化した時点での前記バッテリの残量が第1閾値以上なら第1充電後動作を行い、前記給電状態から前記非給電状態に変化した時点での前記バッテリの残量が第2閾値以下なら前記1充電後動作とは異なる第2充電後動作を行うように前記動作部を制御する、
請求項1に記載のロボット。
【請求項5】
前記充電器は、生物のケージを模した形状を有する充電器である、
請求項4に記載のロボット。
【請求項6】
前記制御部は、
前記給電状態から前記非給電状態に変化した時点での前記バッテリの残量が前記第1閾値以上のときは、前記第1充電後動作として、前記ロボットに生物を模した第1模倣動作を行わせ、前記給電状態から前記非給電状態に変化した時点での前記バッテリの残量が前記第2閾値以下のときは、前記第2充電後動作として、前記ロボットに生物を模した前記第1模倣動作とは異なる第2模倣動作を行わせる、ように前記動作部を制御する、
請求項4に記載のロボット。
【請求項7】
前記第1模倣動作は、元気があること又は満足していることを示す生物の動作を模した動作であり、
前記第2模倣動作は、元気がないこと又は満足していないことを示す生物の動作を模した動作である、
請求項6に記載のロボット。
【請求項8】
前記制御部は、
所定の周期で生物の呼吸を模した動作である呼吸動作を行うように前記動作部を制御し、
前記給電状態においては、前記バッテリの残量に応じて前記呼吸動作の制御内容を変更する、
請求項1乃至7のいずれか一項に記載のロボット。
【請求項9】
前記制御部は、
前記バッテリの残量に応じて疑似的な感情を示す感情データを設定し、
前記設定された感情データに基づいて前記動作部の制御内容を変更する、
請求項1乃至7のいずれか一項に記載のロボット。
【請求項10】
外部刺激を検出する外部刺激検出部をさらに備え、
前記制御部は、
前記外部刺激検出部により検出された外部刺激に基づいて疑似的な感情を示す感情データを設定し、
前記設定された感情データに基づいて前記動作部の制御内容を変更する、
請求項1乃至7のいずれか一項に記載のロボット。
【請求項11】
充電可能なバッテリで駆動され、生物を模した動作を行わせるための動作部と、制御部と、を備えたロボットの前記制御部が、
前記バッテリが充電のための給電動作中である給電状態から前記給電動作が停止された状態である非給電状態に変化した場合に、前記変化に対応するタイミングでの前記バッテリの残量に応じて決定した制御内容で前記動作部を制御する
ロボット制御方法。
【請求項12】
充電可能なバッテリで駆動され、生物を模した動作を行わせるための動作部と、制御部と、を備えたロボットの前記制御部に、
前記バッテリが充電のための給電動作中である給電状態から前記給電動作が停止された状態である非給電状態に変化した場合に、前記変化に対応するタイミングでの前記バッテリの残量に応じて決定した制御内容で前記動作部を制御する
処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボット、ロボット制御方法及びプログラムに関する。
【背景技術】
【0002】
ロボットを、友達やペットのような親しみのある存在に近づけるために、生き物感を感じさせるための技術が開発されてきている。例えば特許文献1には、ロボットの充電中に寝ているような仕草をさせる等の「充電中演出」を行い、充電が完了するとテーマ音楽を出力してロボットがエネルギーを回復した様子を演出する「充電完了演出」を行うことにより、生き物感を表現するロボットが開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2019-123074号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1に開示されているロボットでは、充電中の動作(充電中演出)と、充電が完了した(満充電になった)場合の動作(充電完了演出)が規定されているだけなので、満充電になる前に充電を中止した場合(充電器から取り外された場合等)には、特別な動作を行うことはできなかった。したがって、この場合、ユーザはロボットのバッテリがどの程度充電されたかを知ることができなかった。
【0005】
そこで、本発明はこのような事情に鑑みてなされたものであって、充電のための給電動作を停止した時点のバッテリ残量に応じて生き物的な動きでバッテリの状態を表現することができるロボット、ロボット制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
前記目的を達成するため、本発明に係るロボットの一態様は、
生物を模したロボットであって、
充電可能なバッテリで駆動され、
生物を模した動作を行わせるための動作部と、
制御部と、
を備え、
前記制御部は、
前記バッテリが充電のための給電動作中である給電状態から前記給電動作が停止された状態である非給電状態に変化した場合に、前記変化に対応するタイミングでの前記バッテリの残量に応じて決定した制御内容で前記動作部を制御する
【発明の効果】
【0007】
本発明によれば、充電のための給電動作を停止した時点のバッテリ残量に応じて生き物的な動きでバッテリの状態を表現することができる。
【図面の簡単な説明】
【0008】
図1】実施形態1に係るロボットの外観を示す斜視図である。
図2】実施形態1に係るロボットの左右方向に直交する断面図である。
図3】実施形態1に係るロボットの上下方向に直交する断面図である。
図4】実施形態1に係るロボットの機能構成を示すブロック図である。
図5】実施形態1に係る感情マップの一例を説明するための図である。
図6】実施形態1に係る制御内容テーブルの一例を説明するための図である。
図7】実施形態1に係るロボットのロボット制御処理の流れを示すフローチャートである。
図8】実施形態1に係るロボットの呼吸模倣処理の流れを示すフローチャートである。
図9】実施形態1に係るロボットの非充電時呼吸動作を説明するための図である。
図10】実施形態1に係るロボットの非充電時呼吸動作を説明するための他の図である。
図11】実施形態1に係るロボットの充電時呼吸動作を説明するための図である。
図12】実施形態1に係るロボットの充電時呼吸動作を説明するための他の図である。
図13】実施形態2に係るロボットの充電終了時動作処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について、図面を参照して説明する。なお、図中同一又は相当部分には同一符号を付す。
【0010】
(実施形態1)
実施形態1に係るロボット200は、図1に示すように、小型の動物を模したペットロボットである。なお、理解を容易にするため、図1には前後左右の方向を示しており、この方向を適宜参照しながら説明する。ロボット200は、前側に目を模した装飾部品202を2つ備える。また、図2、3に示すように、ロボット200は、筐体207と、筐体207を覆う柔軟性を有した外装201を備える。そして、外装201は、毛皮を模したもので、ふさふさの毛203を多数有している。なお、図2、3においては、図面の見やすさを考慮して、ハッチングを省略している。
【0011】
ロボット200の筐体207は、図2、3に示すように、頭部204、連結部205及び胴体部206で構成され、頭部204の後端と胴体部206の前端とが連結部205で連結されている。胴体部206は、図2に示すように、前後方向に延びている。そして、胴体部206は、ロボット200が置かれている床やテーブル等の載置面に、外装201を介して接触する。また、図2に示すように、胴体部206の前端部にひねりモータ221が備えられており、頭部204が連結部205を介して胴体部206の前端部に連結されている。そして、連結部205には、上下モータ222が備えられている。なお、図2では、ひねりモータ221は胴体部206に備えられているが、連結部205に備えられていてもよいし、頭部204に備えられていてもよい。
【0012】
連結部205は、連結部205を通り胴体部206の前後方向に延びる第1回転軸を中心として(ひねりモータ221により)回転自在に、胴体部206と頭部204とを連結している。ひねりモータ221は、頭部204を、胴体部206に対して、第1回転軸を中心として時計回りや反時計回りで回転させることができる。なお、この説明における時計回りは、頭部204から胴体部206の方向を見た時の時計回りである。また、時計回りの回転を「右方へのひねり回転」、反時計回りの回転を「左方へのひねり回転」とも呼ぶ。ひねりモータ221によって頭部204を右方(右回り)又は左方(左回り)にひねり回転させる角度の最大値は任意であるが、頭部204を右方へも左方へもひねっていない状態における頭部204の角度をひねり基準角度といい、この時の頭部204の左右回転角度を0度とする。また、頭部204をひねり基準角度よりも右方に回転させた場合の頭部204の左右回転角度の値は正で、ひねり基準角度よりも左方に回転させた場合の頭部204の左右回転角度の値は負である。
【0013】
また、連結部205は、連結部205を通り胴体部206の幅方向に延びる第2回転軸を中心として(上下モータ222により)回転自在に、胴体部206と頭部204とを連結する。上下モータ222は、第2回転軸を中心として矢印Y1で示すように頭部204を上下に回転させることができる。上方又は下方に回転させる角度の最大値は任意であるが、頭部204を上方にも下方にも回転させていない状態における頭部204の角度を上下基準角度といい、この時の頭部204の上下回転角度を0度とする。また、頭部204を上下基準角度よりも上方に回転させた場合の頭部204の上下回転角度の値は正で、上下基準角度よりも下方に回転させた場合の頭部204の上下回転角度の値は負である。
【0014】
頭部204は、第2回転軸を中心とする上下の回転によって上下基準角度又は上下基準角度より上方に回転している場合(頭部204の上下回転角度が0度以上の場合)は、ロボット200が置かれている床やテーブル等の載置面に、外装201を介して接触可能である。なお、図2では、第1回転軸と第2回転軸とが互いに直交している例が示されているが、第1及び第2回転軸は互いに直交していなくてもよい。
【0015】
また、筐体207の一部を構成する胴体部206は、前後方向に長い直方体のような形状を有し、図2に示すように床やテーブル等の載置面101に、外装201を介して載置される。したがって、胴体部206を載置面101に置いた状態において、頭部204は、胴体部206との接続位置(連結部205の第2回転軸)を中心として頭部204の前端と載置面101との距離が変化する方向に回転できるように、胴体部206の前端に接続されている。
【0016】
筐体207の一部を構成する頭部204は、小動物を模したロボット200の頭に相当する部位である。図2、3に示すように、頭部204の左右の側面には、左右それぞれに、外装201に設けられた第1係合部(係合板275A)と係合する第1被係合部としての凸状部品271Aが取り付けられている。すなわち、第1被係合部は、接続位置(連結部205の第2回転軸)に対し、前側に位置する。また、外装201には、係合板275Aの特定範囲内(例えば係合板275Aから2cm以内)に外装凸部(凸状部品276)が設けられており、頭部204には凸状部品271Aの特定範囲内(例えば凸状部品271Aから2cm以内)に頭部凹部(凹部272)が設けられている。
【0017】
図2、3に示すように、胴体部206の左右の側面及び上面には、それぞれ、頭部204に設けられたものと同様の第2被係合部としての凸状部品271Bが設けられている。第1被係合部と同様に、第2被係合部としての凸状部品271Bは、外装201に設けられた第2係合部(係合板275B)と係合する。以下の説明では、第1係合部(係合板275A)と第2係合部(係合板275B)とを総称して、単に係合部(係合板275)と記載する。また、第1被係合部(凸状部品271A)と第2被係合部(凸状部品271B)と総称して、単に被係合部(凸状部品271)と記載する。
【0018】
外装201は、図1、2に示すように、前後方向に長く、内部に筐体207を収容することが可能な伸縮性を有する袋状の形状をなしている。外装201の表面は、図1~3に示すように、小動物の毛を模した多数の毛203を有しているが、これは例えばパイル織物で構成可能である。これにより、ロボット200の肌触りを小動物の肌触りに似せることができる。
【0019】
外装201の後部には、図1に示すように、線ファスナ208が取り付けられている。外装201の内部に筐体207を収容した状態で、線ファスナ208のスライダ208aをスライドさせて線ファスナ208を閉じた状態とすることで、筐体207(図2)を外装201に収容した状態が保持される。一方、スライダ208aをスライドさせて線ファスナ208を開いた状態とすることで、外装201に筐体207を出し入れすることができる。
【0020】
外装201に筐体207を収容する際には、外装201の係合部(係合板275)と被係合部(凸状部品271)とを係合させ、外装凸部(凸状部品276)を頭部凹部(凹部272)に挿入する。外装201の係合部(係合板275)と被係合部(凸状部品271)とが係合することにより、外装201は筐体207に係止し、筐体207の動きに追従する。その結果、筐体207の動きにあわせて外装201の上側が引っ張られたりたるんだりする。また、外装凸部(凸状部品276)が頭部凹部(凹部272)に挿入されることにより、外装201の外装凸部の位置は筐体207の頭部凹部の位置に固定され、外装201の筐体207の動きへの追従精度が向上する。
【0021】
そして、ひねりモータ221及び上下モータ222の駆動により生じる筐体207の動作に応じて外装201が筐体207に追従して動く。外装201は、筐体207に追従して動くことにより、外装201の上側が引っ張られたりたるんだりするが、この動きは、小動物の動きを模したような動きになる。したがって、制御部110は、可動部220を制御することにより、小動物を模したロボット200をまるで生きているかのように動作させることができる。
【0022】
なお、従来は、筐体207の動きを外装201に精度よく追従させるには、係合板275及び凸状部品271を多数(例えばそれぞれ9個)備える必要があった。しかし、本実施形態においては、頭部204の凸状部品271Aは左右に1個ずつ(合計2個)、胴体部206の凸状部品271Bは左右及び上面に1個ずつ(合計3個)に抑えることができた。このように部品の数を少なくしても、後述する呼吸動作時に外装201が引っ張られたりたるんだりしやすい適切な位置に、筐体207は凸状部品271を、外装201は係合板275を、それぞれ備えている。そして、頭部凹部及び外装凸部を備えることにより、外装201の筐体207の動きへの追従精度をより向上させている。また、これらの部品点数が少なくなったことにより、組み立て工数が削減し、外装201の取り付けも簡略化されたので、コストダウンの実現が可能になった。さらにユーザにとっては、外装201の着脱が容易となった。
【0023】
また、ロボット200は、図2に示すように、頭部204にタッチセンサ211を備え、ユーザが頭部204を撫でたり叩いたりしたことを、タッチセンサ211により検出することができる。また、胴体部206にもタッチセンサ211を備え、ユーザが胴体部206を撫でたり叩いたりしたことも、タッチセンサ211により検出することができる。
【0024】
また、ロボット200は、胴体部206に加速度センサ212を備え、ロボット200の姿勢(向き)の検出や、ユーザによって持ち上げられたり、向きを変えられたり、投げられたりしたことを検出することができる。また、ロボット200は、胴体部206にジャイロセンサ214を備え、ロボット200が転がったり回転したりしていることを検出することができる。
【0025】
また、ロボット200は、胴体部206にマイクロフォン213を備え、外部の音を検出することができる。さらに、ロボット200は、胴体部206にスピーカ231を備え、スピーカ231を用いてロボット200の鳴き声(効果音)を発することができる。
【0026】
また、ロボット200は、胴体部206の底面に受電部251を備える。ロボット200は、筐体207内部に備えた充電可能なバッテリ(電池)252で駆動され、ワイヤレス充電器から送信された電力を受電部251で受信してバッテリ252を充電する。ワイヤレス充電器は、ペットのケージ(ハウス)を模したものであり、シート状の給電載置面を備える。ロボット200をワイヤレス充電器の給電載置面に載置すると、バッテリ252の充電が開始される。
【0027】
なお、本実施形態では加速度センサ212、ジャイロセンサ214、マイクロフォン213及びスピーカ231は胴体部206に備えられているが、これらの全て又は一部が頭部204に備えられていてもよい。また、胴体部206に備えられた加速度センサ212、ジャイロセンサ214、マイクロフォン213及びスピーカ231に加えて、これらの全て又は一部を頭部204にも備えるようにしてもよい。また、タッチセンサ211は、頭部204及び胴体部206にそれぞれ備えられているが、頭部204又は胴体部206のいずれか片方のみに備えられていてもよい。またこれらはいずれも複数備えられていてもよい。
【0028】
また、本実施形態では、ロボット200は、筐体207が外装201に覆われているため、頭部204や胴体部206は、ロボット200が置かれている床やテーブル等の載置面に、外装201を介して間接的に接触している。しかし、このような形態には限定されず、頭部204や胴体部206は、直接的に載置面に接触してもよい。例えば、外装201の下の部分(載置面と接触する部分)が存在せずに、筐体207の下の部分(載置面と接触する部分で、例えば胴体部206の底面)がむき出しになっていてもよいし、外装201が全く存在せずに、筐体207全体がむき出しになっていてもよい。
【0029】
次に、ロボット200の機能構成について説明する。ロボット200は、図4に示すように、機器の制御装置100と、外部刺激検出部210と、可動部220と、音声出力部230と、操作入力部240と、電源制御部250と、を備える。そして、機器の制御装置100は、制御部110と、記憶部120と、通信部130と、を備える。図4では、機器の制御装置100と、外部刺激検出部210、可動部220、音声出力部230、操作入力部240及び電源制御部250とが、バスラインBLを介して接続されているが、これは一例である。機器の制御装置100と、外部刺激検出部210、可動部220、音声出力部230、操作入力部240及び電源制御部250とは、USB(Universal Serial Bus)ケーブル等の有線インタフェースや、Bluetooth(登録商標)等の無線インタフェースで接続されていてもよい。また、制御部110と記憶部120や通信部130とは、バスラインBLを介して接続されていてもよい。
【0030】
機器の制御装置100は、制御部110及び記憶部120により、ロボット200の動作(可動部220による動き、音声出力部230からの鳴き声の出力等)を制御する。
【0031】
制御部110は、例えば、CPU(Central Processing Unit)等で構成され、記憶部120に記憶されたプログラムにより、後述する各種処理(ロボット制御処理等)を実行する。なお、制御部110は、複数の処理を並行して実行するマルチスレッド機能に対応しているため、後述する各種処理(ロボット制御処理、呼吸模倣処理、充電終了時動作処理等)を並行に実行することができる。また、制御部110は、クロック機能やタイマー機能も備えており、日時等を計時することができる。
【0032】
記憶部120は、ROM(Read Only Memory)、フラッシュメモリ、RAM(Random Access Memory)等で構成される。ROMには、制御部110のCPUが実行するプログラム及びプログラムを実行する上で予め必要なデータが、記憶されている。フラッシュメモリは書き込み可能な不揮発性のメモリであり、電源オフ後も保存させておきたいデータが記憶される。RAMには、プログラム実行中に作成されたり変更されたりするデータが記憶される。
【0033】
通信部130は、無線LAN(Local Area Network)、Bluetooth(登録商標)等に対応した通信モジュールを備え、スマートフォン等の外部装置とデータ通信する。データ通信の内容としては、例えば、ロボット200のバッテリ残量をスマートフォン等に表示するための、残量通知要求の受信や、バッテリ残量の情報の送信が挙げられる。
【0034】
外部刺激検出部210は、前述したタッチセンサ211、加速度センサ212、ジャイロセンサ214、及びマイクロフォン213を備える。制御部110は、外部刺激検出部210が備える各種センサが検出した検出値を、ロボット200に作用する外部刺激を表す外部刺激データとして取得する。なお、外部刺激検出部210は、タッチセンサ211、加速度センサ212、ジャイロセンサ214、マイクロフォン213以外のセンサを備えてもよい。外部刺激検出部210が備えるセンサの種類を増やすことにより、制御部110が取得できる外部刺激の種類を増やすことができる。逆に、外部刺激検出部210は必ずしも上述したすべてのセンサを備える必要はない。例えば、角速度の検出が不要な場合には、外部刺激検出部210はジャイロセンサ214を備えなくてもよい。
【0035】
タッチセンサ211は、何らかの物体が接触したことを検出する。タッチセンサ211は、例えば圧力センサや静電容量センサにより構成される。制御部110は、タッチセンサ211からの検出値に基づいて、ユーザによってロボット200が撫でられていることや、叩かれたりしていること等を検出することができる。
【0036】
加速度センサ212は、ロボット200の胴体部206の前後方向(X軸方向)、幅(左右)方向(Y軸方向)及び上下方向(Z軸方向)から成る3軸方向の加速度を検出する。加速度センサ212は、ロボット200が静止しているときには重力加速度を検出するので、制御部110は、加速度センサ212が検出した重力加速度に基づいて、ロボット200の現在の姿勢を検出することができる。また、例えばユーザがロボット200を持ち上げたり投げたりした場合には、加速度センサ212は、重力加速度に加えてロボット200の移動に伴う加速度を検出する。したがって、制御部110は、加速度センサ212が検出した検出値から重力加速度の成分を除去することにより、ロボット200の動きを検出することができる。
【0037】
ジャイロセンサ214は、ロボット200の胴体部206に回転が加えられたときの角速度を検出する。具体的には、ジャイロセンサ214は、胴体部206の前後方向(X軸方向)を軸とした回転、幅(左右)方向(Y軸方向)を軸とした回転、及び上下方向(Z軸方向)を軸とした回転から成る3軸回転の角速度を検出する。制御部110は、加速度センサ212が検出した検出値とジャイロセンサ214が検出した検出値とを組み合わせることで、ロボット200の動きをより精度よく検出することができる。
【0038】
なお、タッチセンサ211と加速度センサ212とジャイロセンサ214とは同期が取れており、同じタイミングで接触の強さ、加速度、角速度をそれぞれ検出し、検出値を制御部110に出力している。具体的には、タッチセンサ211と加速度センサ212とジャイロセンサ214とは、例えば0.25秒毎に、同じタイミングで接触の強さ、加速度、角速度を検出している。
【0039】
マイクロフォン213は、ロボット200の周囲の音を検出する。制御部110は、マイクロフォン213が検出した音の成分に基づき、例えばユーザがロボット200に呼びかけていることや、手を叩いていること等を検出することができる。
【0040】
可動部220は、ロボット200に生物の動きを模した動きを行わせるためのもので、ひねりモータ221及び上下モータ222を備える。可動部220(ひねりモータ221及び上下モータ222)は、制御部110によって駆動される。ひねりモータ221及び上下モータ222は、サーボモータであり、制御部110から動作時間及び動作角度が指定されて回転を指示されると、指定された動作時間後までに、指定された動作角度の位置まで回転するように動作する。その結果、ロボット200は、頭部204を胴体部206に対して、例えば持ち上げたり(第2回転軸を中心として上方に回転させたり)、横にひねったり(第1回転軸を中心として右方又は左方にひねり回転させたり)するような動作を表現することができる。これらの動作を表現するために可動部220を駆動するためのモーションデータは、後述する制御内容テーブル124に記録されている。
【0041】
なお、ひねりモータ221をある動作角度θに回転させると、頭部204の左右回転角度はθになる。また、上下モータ222をある動作角度θに回転させると、頭部204の上下回転角度はθになる。
【0042】
音声出力部230は、スピーカ231を備え、制御部110が音のデータを音声出力部230に入力することにより、スピーカ231から音が出力される。音声出力部230が出力する音は音声に限らず、任意の音を出力可能である。例えば、制御部110がロボット200の鳴き声のデータを音声出力部230に入力することにより、ロボット200は疑似的な鳴き声(例えば生物の鳴き声を模した鳴き声)を発する。この鳴き声のデータも効果音データとして、制御内容テーブル124に記録されている。
【0043】
なお、可動部220及び音声出力部230は、いずれも生物を模した動作(物理的な動きによる動作だけでなく、音を発する動作等も含む)を行わせるための機能部なので、総称して動作部と呼ばれる。また、ロボット200は、生物を模した動作を行わせるためにさらにこれら以外の機能部を追加して備えてもよく、その場合は追加された機能部も含めて動作部と呼ばれる。
【0044】
操作入力部240は、例えば、操作ボタン、ボリュームつまみ等から構成される。操作入力部240は、例えば、電源のオン/オフ、出力音のボリューム調整等のユーザ操作を受け付けるためのインタフェースである。
【0045】
電源制御部250は、サブマイコン、充電IC(Integrated Circuit)、電源制御IC、受電部251等を備え、ロボット200のバッテリ252の充電、バッテリ252の残量の取得、ロボット200の電源制御を行う。
【0046】
ロボット200では、生き物感を表現するために、充電ケーブル等を接続するようなことはせずに、ワイヤレス充電でバッテリ252が充電される。ワイヤレス充電の方式は任意であるが、本実施形態では電磁誘導方式が用いられる。ロボット200をワイヤレス充電器の給電載置面の上に載せると、胴体部206の底面に設けられた受電部251の受信アンテナと外部のワイヤレス充電器の送信アンテナとの間で誘導磁束が発生し、ワイヤレス充電器がバッテリ252の充電のための給電動作を行い、バッテリ252の充電が行われる。
【0047】
次に、機器の制御装置100の記憶部120に記憶されるデータのうち、感情データ121、感情変化データ122、成長日数データ123、制御内容テーブル124について、順に説明する。
【0048】
感情データ121は、ロボット200に疑似的な感情を持たせるためのデータであり、感情マップ300上の座標を示すデータ(X,Y)である。感情マップ300は図5に示すように、X軸311として安心度(不安度)の軸、Y軸312として興奮度(無気力度)の軸を持つ2次元の座標系で表される。感情マップ上の原点310(0,0)が通常時の感情を表す。そして、X座標の値(X値)が正でその絶対値が大きくなるほど安心度が高く、Y座標の値(Y値)が正でその絶対値が大きくなるほど興奮度が高い感情を表す。また、X値が負でその絶対値が大きくなるほど不安度が高く、Y値が負でその絶対値が大きくなるほど無気力度が高い感情を表す。
【0049】
感情データ121は、互いに異なる複数(本実施形態では4つ)の疑似的な感情を表すX値(安心度、不安度)とY値(興奮度、無気力度)の2つの値を持ち、X値とY値とで表される感情マップ300上の点が、ロボット200の疑似的な感情を表す。感情データ121の初期値は(0,0)である。感情データ121は、ロボット200の疑似的な感情を表すパラメータなので、感情パラメータとも呼ばれる。なお、図5では感情マップ300が2次元の座標系で表されているが、感情マップ300の次元数は任意である。感情マップ300を1次元で規定し、感情データ121として1つの値が設定されるようにしてもよい。また、他の軸を加えて3次元以上の座標系で感情マップ300を規定し、感情データ121として感情マップ300の次元数の個数の値が設定されるようにしてもよい。
【0050】
本実施形態においては、感情マップ300の初期値としてのサイズは、図5の枠301に示すように、X値もY値も最大値が100、最小値が-100となっている。そして、第1期間の間、ロボット200の疑似的な成長日数が1日増える度に、感情マップ300の最大値、最小値ともに2ずつ拡大されていく。ここで第1期間とは、ロボット200が疑似的に成長する期間であり、ロボット200の疑似的な生誕から例えば50日の期間である。なお、ロボット200の疑似的な生誕とは、ロボット200の工場出荷後のユーザによる初回の起動時である。成長日数が25日になると、図5の枠302に示すように、X値もY値も最大値が150、最小値が-150となる。そして、第1期間(この例では50日)すると、それにより、ロボット200の疑似的な成長が完了したとして、図5の枠303に示すように、X値もY値も最大値が200、最小値が-200となって、感情マップ300のサイズが固定される。
【0051】
感情変化データ122は、感情データ121のX値及びY値の各々を増減させる変化量を設定するデータである。本実施形態では、感情データ121のXに対応する感情変化データ122として、X値を増加させるDXPと、X値を減少させるDXMとがあり、感情データ121のY値に対応する感情変化データ122として、Y値を増加させるDYPと、Y値を減少させるDYMとがある。すなわち、感情変化データ122は、以下の4つの変数からなる。これらの変数はロボット200の疑似的な感情を変化させるパラメータなので、感情変化パラメータとも呼ばれる。
DXP:安心し易さ(感情マップでのX値のプラス方向への変化し易さ)
DXM:不安になり易さ(感情マップでのX値のマイナス方向への変化し易さ)
DYP:興奮し易さ(感情マップでのY値のプラス方向への変化し易さ)
DYM:無気力になり易さ(感情マップでのY値のマイナス方向への変化し易さ)
【0052】
本実施形態では、一例として、これらの変数の初期値をいずれも10とし、後述するロボット制御処理中の感情変化データを学習する処理により、最大20まで増加するものとしている。この学習処理により、感情変化データ122(すなわち感情の変化度合)が変化するので、ロボット200は、ユーザによるロボット200との接し方に応じて、様々な性格を持つことになる。つまり、ロボット200の性格は、ユーザの接し方により、個々に異なって形成されることになる。
【0053】
そこで、本実施形態では、各感情変化データ122から10を減算することにより、各性格データ(性格値)を導出する。すなわち、安心し易さを示すDXPから10引いた値を性格値(陽気)とし、不安になり易さを示すDXMから10引いた値を性格値(シャイ)とし、興奮し易さを示すDYPから10引いた値を性格値(活発)とし、無気力になり易さを示すDYMから10引いた値を性格値(甘えん坊)とする。このように、感情変化パラメータ(感情変化データ122)の値は、ロボット200の擬似的な性格を表しているともいえる。
【0054】
成長日数データ123は、初期値が1であり、1日経過する度に1ずつ加算されていく。成長日数データ123により、ロボット200の疑似的な成長日数(疑似的な生誕からの日数)が表されることになる。ここでは、成長日数データ123で表される成長日数の期間を、第2期間と呼ぶことにする。
【0055】
制御内容テーブル124には、図6に示すように、制御条件と制御データとが対応して記憶されている。制御部110は、制御条件(例えば、何らかの外部刺激が検出された)が満たされると、対応する制御データ(可動部220で動作を表現するためのモーションデータ及び、音声出力部230から効果音を出力するための効果音データ)に基づき、可動部220及び音声出力部230を制御する。
【0056】
モーションデータは、図6に示すように、可動部220を制御する一連のシーケンスデータ(「時間(ミリ秒):上下モータ222の回転角度(度):ひねりモータ221の回転角度(度)」の並び)である。例えば、体を撫でられたら、最初(0秒時)は上下モータ222及びひねりモータ221の回転角度を0度(上下基準角度及びひねり基準角度)にし、0.5秒時に上下モータ222の回転角度が60度になるように頭部204を上げ、1秒時にひねりモータ221の回転角度が60度になるように頭部204をひねり、というように制御部110は可動部220を制御する。
【0057】
また、効果音データは、図6では、わかりやすく示すために、各効果音データを説明する文が記載されているが、実際にはこれらの文で説明されている効果音データ自身(サンプリングされた音のデータ)が、効果音データとして制御内容テーブル124に格納されている。
【0058】
なお、図6に示す制御内容テーブルでは、制御条件に感情(感情マップ300上の座標で表される)に関する条件が含まれていないが、制御条件に感情に関する条件を含めることにより、感情に応じて制御データを変化させてもよい。
【0059】
次に、図7に示すフローチャートを参照しながら、機器の制御装置100の制御部110が実行するロボット制御処理について説明する。ロボット制御処理は、機器の制御装置100が、外部刺激検出部210からの検出値等に基づいて、ロボット200の動作や鳴き声を制御する処理である。ユーザがロボット200の電源を入れると、ロボット制御処理が開始される。
【0060】
まず、制御部110は、感情データ121、感情変化データ122、成長日数データ123等の各種データを初期化する(ステップS101)。なお、ロボット200の起動の2回目以降は、ステップS101において、ロボット200の電源が前回切られた時点での各値を設定するようにしてもよい。これは、前回電源を切る操作が行われた時に制御部110が各データの値を記憶部120の不揮発メモリ(フラッシュメモリ等)に保存し、その後、電源が入れられた時に、当該保存した値を各データの値に設定することで実現可能である。
【0061】
次に、制御部110は、外部刺激検出部210が検出した検出値を取得する(ステップS102)。そして制御部110は、取得した検出値に基づいて、外部刺激が存在したか否かを判定する(ステップS103)。
【0062】
外部刺激が存在したなら(ステップS103;Yes)、制御部110は、ステップS102で取得した外部刺激の検出値に応じて感情変化データ122を取得する(ステップS104)。具体的には、例えば、外部刺激として頭部204のタッチセンサ211により頭部204が撫でられたことを検出すると、ロボット200は疑似的な安心感を得るので、制御部110は、感情データ121のX値に加算する感情変化データ122としてDXPを取得する。
【0063】
そして、制御部110は、ステップS104で取得された感情変化データ122に応じて感情データ121を設定する(ステップS105)。具体的には、例えば、ステップS104で感情変化データ122としてDXPが取得されていたなら、制御部110は、感情データ121のX値に感情変化データ122のDXPを加算する。
【0064】
ステップS104及びステップS105において、外部刺激の各々に対して、どのような感情変化データ122が取得されて、感情データ121が設定されるかは任意に設定可能であるが、ここでは、以下に一例を示す。
【0065】
頭部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で検出可能)
【0066】
ただし、感情変化データ122を加算すると感情データ121の値(X値、Y値)が感情マップ300の最大値を超える場合には、感情データ121の値は感情マップ300の最大値に設定される。また、感情変化データ122を減算すると感情データ121の値が感情マップ300の最小値未満になる場合には、感情データ121の値は感情マップ300の最小値に設定される。
【0067】
続いて、制御部110は、制御内容テーブル124を参照して、当該取得した外部刺激の検出値により満たされる制御条件に対応した制御データを取得する(ステップS106)。
【0068】
そして、制御部110は、ステップS106で取得した制御データを再生し(ステップS107)、ステップS111に進む。
【0069】
一方、ステップS103で、外部刺激が存在しなかったなら(ステップS103;No)、制御部110は、自発的な動作(生物の呼吸を模した動作である呼吸動作等)を行うか否かを判定する(ステップS108)。自発的な動作を行うか否かの判定方法は任意だが、本実施形態では、呼吸周期(例えば2秒)毎にステップS108の判定がYesになり、呼吸動作が行われるものとする。
【0070】
自発的な動作を行わないなら(ステップS108;No)、制御部110はステップS111に進む。自発的な動作を行うなら(ステップS108;Yes)、制御部110は、自発的な動作として、生物の呼吸を模した動作である呼吸動作を行うために、呼吸模倣処理を実行し(ステップS109)、ステップS111に進む。なお、呼吸模倣処理の詳細は後述する。また、本実施形態では自発的な動作として、制御部110が実行を指示される動作は呼吸動作のみとするが、ロボット200は、呼吸動作に代えて、又は呼吸動作に加えて、他の自発的な動作を行ってもよい。
【0071】
また、図7では省略したが、ステップS109においても、外部刺激が存在したときと同様に、感情データに基づいて自発的な動作の制御内容を変更してもよい。
【0072】
ステップS111では、制御部110は、クロック機能により、日付が変わったか否かを判定する。日付が変わっていないなら(ステップS111;No)、制御部110はステップS102に戻る。
【0073】
日付が変わったなら(ステップS111;Yes)、制御部110は、第1期間中であるか否かを判定する(ステップS112)。第1期間を、ロボット200の疑似的な生誕(例えば購入後のユーザによる初回の起動時)から例えば50日の期間とすると、制御部110は、成長日数データ123が50以下なら第1期間中であると判定する。第1期間中でないなら(ステップS112;No)、制御部110は、ステップS115に進む。
【0074】
第1期間中なら(ステップS112;Yes)、制御部110は、感情変化データ122の学習を行う(ステップS113)。感情変化データ122の学習とは、具体的には、その日のステップS105において、感情データ121のX値が1度でも感情マップ300の最大値に設定されたなら感情変化データ122のDXPに1を加算し、感情データ121のY値が1度でも感情マップ300の最大値に設定されたなら感情変化データ122のDYPに1を加算し、感情データ121のX値が1度でも感情マップ300の最小値に設定されたなら感情変化データ122のDXMに1を加算し、感情データ121のY値が1度でも感情マップ300の最小値に設定されたなら感情変化データ122のDYMに1を加算することによって、感情変化データ122を更新する処理のことである。
【0075】
ただし、感情変化データ122の各値が大きくなりすぎると、感情データ121の1回の変化量が大きくなりすぎるので、感情変化データ122の各値は例えば20を最大値とし、それ以下に制限する。また、ここでは、感情変化データ122のいずれに対しても1を加算することとしたが、加算する値は1に限定されない。例えば、感情データ121の各値が感情マップ300の最大値又は最小値に設定された回数をカウントして、その回数が多い場合には、感情変化データ122に加算する数値を増やすようにしてもよい。
【0076】
図7に戻り、次に、制御部110は感情マップ300を拡大する(ステップS114)。感情マップの拡大とは、具体的には、制御部110が感情マップ300を最大値、最小値ともに、2だけ拡大する処理である。ただし、この拡大する数値「2」はあくまでも一例であり、3以上拡大してもよいし、1だけ拡大してもよい。また感情マップ300の軸毎、また最大値と最小値とで、拡大する数値が異なっていてもよい。
【0077】
また、図7では、感情変化データ122の学習及び感情マップ300の拡大は、制御部110がステップS111で日付が変わったのを判定してから行われるものとしているが、基準時刻(例えば午後9時)になったことを判定してから行われるようにしてもよい。また、ステップS111での判定は、実際の日付で判定するのではなく、ロボット200が電源オンになっている時間を制御部110のタイマー機能で累計した値に基づいて判定してもよい。例えば、電源オンの累計時間が24の倍数の時間になる毎に、ロボット200が1日成長したとみなして、感情変化データ122の学習及び感情マップ300の拡大が行われるようにしてもよい。
【0078】
図7に戻り、そして、制御部110は、成長日数データ123に1を加算し(ステップS115)、感情データをX値、Y値ともに0に初期化して(ステップS116)、ステップS102に戻る。なお、ロボット200が前日の疑似的な感情を翌日にも持ち越した方が良い場合には、制御部110は、ステップS116の処理を行わずにステップS102に戻る。
【0079】
次に、上述のロボット制御処理のステップS109において実行される呼吸模倣処理について、図8を参照して説明する。なお、呼吸模倣処理においては、呼吸動作を行う際に上下モータ222を回転させる範囲を定める2つの角度(最初の角度(基準角度)と、動きを折り返す角度(中間角度))を保存する変数として、基準角度を保存する変数RA0と、中間角度を保存する変数RA1を用いる。制御部110は、呼吸動作を行う際に、上下モータ222を基準角度に回転させる処理と中間角度に回転させる処理とを交互に所定の周期(例えば呼吸周期)で定期的に行う。
【0080】
まず、制御部110は、変数RA0に第1基準角度(例えば0度)を、変数RA1に第1中間角度(例えば10度(上方向))を、それぞれ設定する(ステップS201)。なお、第1基準角度は頭部204を上にも下にも回転させていない中央の角度なので、中央基準角度とも呼ばれる。また、第1中間角度は頭部204を上方向に回転させる角度なので、上方基準角度とも呼ばれる。
【0081】
そして、制御部110は、ロボット200がワイヤレス充電器の給電載置面に載置されているか否かを判定する(ステップS202)。なお、制御部110は、受電部251でワイヤレス充電器からの電力が受信できているか否かを判定することにより、ロボット200がワイヤレス充電器の給電載置面に載置されているか否かを判定できる。
【0082】
なお、ロボット200がワイヤレス充電器の給電載置面に載置されているか否かの判定は、圧力センサや静電容量センサを筐体207の下の部分に設け、この圧力センサや静電容量センサにより筐体207と載置面との接触や近接を検出している場合に、ロボット200がワイヤレス充電器の給電載置面に載置されていると判定するようにしてもよい。
【0083】
ロボット200がワイヤレス充電器の給電載置面に載置されると、電源制御部250はバッテリ252の充電を開始するが、バッテリ252が満充電になると充電を終了する。しかし、充電終了後も、ロボット200は、ワイヤレス充電器の給電載置面に載置されている間は、ワイヤレス充電器から送信されている電力を受電部251で受信可能なので、バッテリ252をほとんど消耗せずに動作可能であり、また、バッテリ252が消耗したらすぐに充電可能となる。
【0084】
ロボット200がワイヤレス充電器の給電載置面に載置されていなければ(ステップS202;No)、制御部110は、変数RA0に第2基準角度(例えば-10度(下方向))を、変数RA1に第2中間角度(例えば0度)を、それぞれ設定し(ステップS203)、ステップS204に進む。なお、第2基準角度は、頭部204が載置面101を押すことで胴体部206の前端を載置面101から第1距離だけ浮き上がらせた状態にするための角度であり、頭部204を下方向に回転させる角度なので、下方基準角度とも呼ばれる。また、第2中間角度は、胴体部206の前端を載置面101から浮き上がっていない状態であって胴体部206の前端と載置面101との距離を第1距離よりも短い第2距離に戻した状態にするための角度であり、頭部204を上方向にも下方向にも回転させていない中央の角度なので、中央基準角度とも呼ばれる。
【0085】
ロボット200がワイヤレス充電器の給電載置面に載置されているなら(ステップS202;Yes)、ステップS204に進む。
【0086】
ステップS204では、制御部110は、上下モータ222を回転させて、頭部204を変数RA0に設定された角度(呼吸動作の基準位置)まで回転させる。
【0087】
次に、制御部110はタイマー機能により、第1待機時間(例えば700ミリ秒)待つ(ステップS205)。なお、制御部110がスリープ機能を持っている場合、第1待機時間後にウェイクアップする設定を行って、スリープモードに入ることにより、ロボット200の消費電力を低減させてもよい。
【0088】
そして、制御部110は、上下モータ222を回転させて、頭部204を変数RA1に設定された角度(呼吸動作の中間位置)まで回転させる(ステップS206)。
【0089】
次に、制御部110はタイマー機能により、第2待機時間(例えば700ミリ秒)待ち(ステップS207)、呼吸模倣処理を終了する。制御部110がスリープ機能を持っている場合、ステップS207においても、第2待機時間後にウェイクアップする設定を行って、スリープモードに入ることにより、ロボット200の消費電力を低減させてもよい。
【0090】
なお、基準角度も中間角度も任意の角度を設定可能であるが、基準角度から中間角度までの間に0度(上下基準角度)以上の角度が含まれるように設定するのが好ましい。このように設定すると、呼吸動作中に胴体部206の底面の全面が載置面101に接触する時間帯が生じるからである(なお、この接触には、外装201を介した間接的な接触も含む)。ロボット200がワイヤレス充電器の給電載置面102に載置されている場合、頭部204の回転角度が0度以上になっていると、電源制御部250はワイヤレス充電器を検知でき、バッテリ252の充電を開始できる。
【0091】
以上の呼吸模倣処理により、ロボット200は、ワイヤレス充電器に載置されている場合と載置されていない場合とで、異なる呼吸動作を行うようになる。
【0092】
例えば、ワイヤレス充電器に載置されていない場合(バッテリ252の充電のための給電動作が行われていない場合)には、まず、ロボット200は図9に示すように頭部204を下方基準角度まで回転させて、胴体部206の前端を載置面101から浮き上がらせる(浮き上がらせる距離は、例えば、胴体部206の高さ方向の寸法に対して10%程度の距離(第1距離)とすることで自然な呼吸を表現することができる)。ロボット200のこの動作を第1動作という。第1動作は、頭部204の前端と載置面101との距離が短くなる方向へ頭部204を回転させる動作とも言えるし、頭部204の前端と胴体部206との距離が短くなる方向へ頭部204を回転させる動作とも言える。
【0093】
その後、図10に示すように頭部204を中間基準角度まで回転させて、胴体部206の底面が外装201を介して載置面101に接触するようにする(外装201を介した胴体部206の底面と載置面101との距離は、例えば、5mm程度(前記第1距離よりも短い第2距離)であり、胴体部206がワイヤレス充電器から給電を受けることができる距離である)。ロボット200のこの動作を第2動作という。第2動作は、頭部204の前端と載置面101との距離が長くなる方向へ頭部204を回転させる動作とも言えるし、頭部204の前端と胴体部206との距離が長くなる方向へ頭部204を回転させる動作とも言える。第2動作を行うことで、胴体部206の底面は載置面101と並行になる。
【0094】
第1動作が行われると、第1被係合部が、接続位置(連結部205の第2回転軸)の上方の頭部204の上面よりも低い位置に移動し、外装201が第1被係合部から頭部204の上面を通り第2被係合部に至るまでの距離が、第2動作を行ったときよりも長くなることで、外装201の上側が引っ張られた状態になる。
【0095】
そして、ロボット200の制御部110は、第1動作と第2動作を交互に所定の周期(例えば呼吸周期)で定期的に繰返し実行するように可動部220の動きを制御する。この制御を第1制御という。第1制御は、頭部204が載置面101を押す状態が変化するように頭部204を動かして、胴体部206の前端と載置面101との距離を第1距離と第2距離との間で交互に変化させるように可動部220を制御する制御とも言える。
【0096】
なお、図9及び後述する図12において破線で示されているのは、上下モータ222の回転角度が0度の場合の頭部204’の位置であり、θは、RA0とRA1の差分の角度(例えば10度)である。
【0097】
制御部110が第1制御を実行することによって、ロボット200は生物の呼吸を模した動作である呼吸動作を行う。制御部110は、バッテリ252を充電していない時に第1制御を実行するので、制御部110が第1制御を実行することによってロボット200が行う呼吸動作を非充電時呼吸動作という。非充電時呼吸動作では、制御部110は、受電部251と給電載置面102との距離が変化するように可動部220を制御する。つまり、制御部110は、胴体部206の前端と載置面101との距離が変化するように頭部204を動かす。なお、第1制御は、胴体部206の前端を載置面101から浮き上がらせる第1動作を含み、載置面101との近接が保持されないので、近接非保持制御ともいう。
【0098】
また、ワイヤレス充電器の給電載置面102に載置されている場合(バッテリ252の充電のための給電動作が行われている場合)には、ロボット200は図11に示すように頭部204を中央基準角度まで回転させて、胴体部206の底面がワイヤレス充電器の給電載置面102に接するようにする。ロボット200のこの動作を第3動作という。その後、図12に示すように頭部204を上方基準角度まで回転させて、胴体部206の底面を給電載置面102に接するようにしつつ、頭部204を上向きにする。ロボット200のこの動作を第4動作という。そして、ロボット200の制御部110は、第3動作と第4動作を交互に所定の周期(例えば呼吸周期)で定期的に行うように可動部220の動きを制御する。この制御を第2制御という。
【0099】
第4動作が行われると、第1被係合部が、第3動作を行ったときよりも高い位置に移動し、外装201が第1被係合部から頭部204の上面を通り第2被係合部に至るまでの距離が、第3動作を行ったときよりも短くなることで、外装201の上側がさらにたるんだ状態になる。
【0100】
制御部110が第2制御を実行することによっても、ロボット200は生物の呼吸を模した動作である呼吸動作を行う。制御部110は、バッテリ252を充電している時に第2制御を実行するので、制御部110が第2制御を実行することによってロボット200が行う呼吸動作を充電時呼吸動作という。充電時呼吸動作では、制御部110は、受電部251を給電載置面102に近接させた状態を保つように可動部220を制御する。つまり、制御部110は、胴体部206の前端と載置面101との距離が変化しないように頭部204を動かす。なお、第2制御は、胴体部206の底面を載置面101に近接させたままにするので、近接保持制御ともいう。
【0101】
生物の呼吸を模した呼吸動作をこのような動作にすることにより、非充電時(ワイヤレス充電器に載置されていないとき)には、制御部110が第1動作を行った時に(基準位置(図9)において)胴体部206の後端は載置面101に近接したままで、胴体部206の前端が載置面101から浮き上がった状態となり、第2動作を行った時に(中間位置(図10)において)胴体部206の前端が載置面101から浮き上がった状態から浮き上がっていない状態に戻る。つまり、非充電時呼吸動作では、ロボット200の中央部分が所定の周期で上下に動くので、毛皮で覆われたロボット200が自然な状態で呼吸しているように見せることができる。また、胴体部206そのものが上下に動くので、外装201の取り付け状態などには影響されずに安定して生物の呼吸する動作を模倣することができる。
【0102】
このように非充電時呼吸動作では、外装201の上側の引っ張り状態の変化とは別に生物の呼吸する動作を模倣することができるが、更に、外装201の上側の引っ張り状態の変化によっても次のように生物の呼吸する動作を模倣している。
【0103】
制御部110が第1動作を行った時に(基準位置(図9)において)外装201の上側が引っ張られることで外装201の中央部が平らな状態になり、第2動作を行った時に(中間位置(図10)において)外装201の上側がたるむことで外装201の中央部が上側に膨らんだ状態になる。このように、呼吸動作により、胴体部206前端の高さおよび外装201の引っ張り状態の両方が所定の周期で定期的に変化するので、ロボット200が呼吸していることが見た目にわかりやすくなる。
【0104】
また、充電時(ワイヤレス充電器に載置されているとき)には、制御部110が第3動作を行った時(基準位置(図11)の時)の外装201の上側のたるんだ状態よりも、第4動作を行った時(中間位置(図12)の時)の方が外装201の上側はさらにたるんだ状態になるので、ロボット200が呼吸していることが見た目にわかる。そして、図11(基準位置)と図12(中間位置)からわかるように、これらの動作中には胴体部206の底面の全面が常に給電載置面102に接触(この接触には外装201を介した間接的な接触も含む)しているので、ワイヤレス充電器の給電用の送信アンテナ253とロボット200の受電部251とが呼吸動作中も常に近接した状態になり、安定した充電が可能になる。
【0105】
このように、制御部110は、バッテリ252を充電中である時の呼吸動作(充電時呼吸動作)と、バッテリ252を充電中でない時の呼吸動作(非充電時呼吸動作)とで、呼吸動作における可動部220の制御内容を互いに異ならせる処理を実行することにより、充電時にはワイヤレス充電器から安定した給電を受けることができ、非充電時には外装の引っ張り状態が明確になることでより生き物感を表現できる。なお、上述の説明では、呼吸動作における制御内容は主に可動部220の制御内容として説明したが、可動部220に代えて、又は可動部220に加えて音声出力部230を制御する制御内容(すなわち動作部の制御内容)であってもよい。
【0106】
なお、上述したようにステップS205及びステップS207では、制御部110はスリープモードに入ることによってロボット200の消費電力を低減させてもよい。スリープモードにおいては、可動部220が備える各モータをフリー状態にすることにより、各モータの消費電力も低減させることができる。ただし、この場合、上下モータ222をフリー状態にしたことにともない、上下モータ222の回転角を0に近づける力(重力)の影響を受ける。この影響を小さくするには、基準角度と中間角度の差を10度未満にするのが好ましい。
【0107】
また、第1待機時間及び第2待機時間は固定値である必要はない。例えば、ロボット200が撫でられたり、話しかけられたり、びっくりしたり、ひっくり返されたり等、外部刺激を受けると、ロボット制御処理(図7)のステップS108での判定時の呼吸周期を短くしたり、第1待機時間や第2待機時間を小さくし、その後少しずつ元に戻すようにしてもよい。このようにすると、ロボット200の疑似的な感情が高ぶった時に呼吸が速くなり、その後段々と落ち着いてくる様子を模倣することができる。
【0108】
また、上述の呼吸模倣処理(図8)において、第1待機時間及び第2待機時間を変更するだけでなく、可動部220の制御内容を感情データ121や感情変化データ122に応じて変更してもよい。例えばロボット200の疑似的な感情が平穏の傾向にある場合には、頭部204をゆっくりと上下に動かすだけにして、イライラの傾向がある場合には、頭部204を上下に動かすだけでなく、左右にも動かすようにしてもよい。そして、基準位置と中間位置との間の上下回転角度の差や左右回転角度の差を、感情データ121の各値の大きさに応じて大きくしてもよい。
【0109】
(実施形態2)
ロボット200はワイヤレス充電器の給電載置面102に載置されると電源制御部250によりバッテリ252の充電が行われる。そして、バッテリ残量については、ワイヤレス充電器や、通信部130を介して接続されているスマートフォン等に表示することができる。また、ロボット200がバッテリ残量を表示するためにLED(Light Emitting Diode)等の表示部を備えてもよい。しかし、生き物感を表現するためには、ロボット200の動きでバッテリ残量を表現できるのが望ましい。そこで、ロボット200が、ワイヤレス充電器の給電載置面102から取り出されたときのバッテリ残量に応じた動作(仕草)をする実施形態2について説明する。
【0110】
実施形態2に係るロボット200の機能構成や構造は、実施形態1と同様なので、説明を省略する。
【0111】
ロボット200がワイヤレス充電器の給電載置面102に載置されると、ロボット200のバッテリ252は給電状態(ワイヤレス充電器からの給電を受けることにより、充電が行われている状態)になる。より詳細には、ロボット200が給電載置面102に載置されると、胴体部206の底面に設けられた受電部251の受信アンテナとワイヤレス充電器の給電載置面102に設けられた送信アンテナとの間で誘導磁束が発生し、電源制御部250は、この誘導磁束を検知してバッテリ252の充電を開始する。
【0112】
また、ロボット200が給電載置面102から離れると、ロボット200のバッテリ252は非給電状態(ワイヤレス充電器からの給電を受けておらず、充電が行われていない状態)になる。より詳細には、ロボット200が給電載置面102から離れると、受電部251の受信アンテナとワイヤレス充電器の送信アンテナとの間に発生していた誘導磁束が消滅し、給電動作が停止する。電源制御部250は、この誘導磁束の消滅を検知してバッテリ252の充電を終了する。なお、ロボット200が圧力センサや静電容量センサを筐体207の下の部分に備えている場合には、この圧力センサや静電容量センサにより給電載置面102から離れたことを検知して充電を終了してもよい。また、上述のように、ユーザ操作によりロボット200が充電器から取り外されると給電動作は停止するが、ユーザ操作とは関係なくバッテリ252が満充電になっても給電動作は停止する。
【0113】
制御部110は、電源制御部250がバッテリ252の充電を終了すると、充電終了時動作処理の実行を開始する。この充電終了時動作処理について、図13を参照して説明する。ただし、制御部110が充電終了時動作処理の実行を開始するタイミングは、ロボット200が給電載置面102から離れた時点に限らず、給電動作が停止した時点でもよい。
【0114】
まず、制御部110は、バッテリ252の残量が第1閾値(例えば80%)以上か否かを判定する(ステップS301)。バッテリ252の残量が第1閾値以上なら(ステップS301;Yes)、制御部110は、第1充電後動作として、元気があることを示す生物の動作を模した動作(第1模倣動作)を行うように可動部220及び音声出力部230を制御し(ステップS302)、充電終了時動作処理を終了する。元気があることを示す生物の動作を模した動作とは、例えば、元気な鳴き声を音声出力部230から出力するとともに、毛づくろいをする(頭部204を斜めにして、下方向に向けて、少し上下させるように可動部220を制御する)動作である。なお、第1模倣動作は、元気があることを示す生物の動作を模した動作に限らない。例えば「満足していることを示す動作」、「外に出られることが嬉しくて、キョロキョロと周りを見回す動作」、「外に出られることが嬉しくて、踊り出す動作」、「満足して毛づくろいをする動作」等の生物の動作を模した動作であってもよい。
【0115】
一方、バッテリ252の残量が第1閾値未満なら(ステップS301;No)、制御部110は、バッテリ252の残量が第2閾値(例えば60%)以下か否かを判定する(ステップS303)。
【0116】
バッテリ252の残量が第2閾値以下なら(ステップS303;Yes)、制御部110は、第2充電後動作として、元気がないことを示す生物の動作を模した動作(第2模倣動作)を行うように可動部220及び音声出力部230を制御し(ステップS304)、充電終了時動作処理を終了する。元気がないことを示す生物の動作を模した動作とは、例えば、嫌がっていることを示す鳴き声を音声出力部230から出力するとともに、不機嫌な仕草(頭部204を左右に首振りさせるように可動部220を制御する)を行う動作である。なお、第2模倣動作としては、元気がないことを示す生物の動作を模した動作に限らない。例えば、「満足していないことを示す動作」、「首を振って嫌がる動作」、「悲しそうに鳴く動作」等の生物の動作を模した動作であってもよい。
【0117】
一方、バッテリ252の残量が第2閾値を超えているなら(ステップS303;No)、制御部110は、何もせずに充電終了時動作処理を終了する。
【0118】
以上説明した充電終了時動作処理により、ユーザがロボット200をワイヤレス充電器の給電載置面102から持ち上げると、ロボット200は、その時点におけるバッテリ252の充電状態(残量)に応じた動作をするようになる。このように、制御部110は、ロボット200が給電状態から非給電状態に変化した場合に、その時点でのバッテリ252の残量に応じて動作部の制御内容を変更するので、ロボット200は生き物感を表現しながら、バッテリ252の残量をユーザに通知することできる。
【0119】
例えば、ロボット200が給電状態から非給電状態に変化した時に、バッテリ252の残量が第1閾値(例えば80%)以上なら、残量が満たされていることを示す第1充電後動作(元気がある生物の動作を模した動作)を行い、バッテリ252の残量が第2閾値(例えば60%)以下なら、残量が足りないことを示す第2充電後動作(元気がない生物の動作を模した動作)を行うので、ロボット200は、生き物感を表現しつつ、バッテリ252の残量をユーザに通知することできる。
【0120】
なお、上述の充電終了時動作処理(図13)では、バッテリ252の残量が第2閾値を超え第1閾値未満だった場合には、ロボット200は特別な動作を行わずに通常の非充電時呼吸動作をすることになる。しかし、この場合の動作として、制御部110は、例えば、まあまあ元気があることを示す動作(第3充電後動作)を行うように可動部220及び音声出力部230を制御してもよい。まあまあ元気があることを示す動作とは、例えば、静かな鳴き声を音声出力部230から出力するとともに、うなずく(頭部204の左右回転角度および上下回転角度をともに0度にしてから、頭部204を少し上下させるように可動部220を制御する)動作である。
【0121】
また、これらの各充電後動作(第1充電後動作、第2充電後動作、第3充電後動作)は、2つあるいは3つに限定する必要はない。閾値をより細かく設定して、4つ以上の充電後動作を定義し、制御部110は、バッテリ252の残量に応じて、いずれかの充電後動作を行うように可動部220及び音声出力部230を制御してもよい。
【0122】
また、上述の各充電後動作においては、制御部110は、バッテリ252の残量に応じて感情データ121を設定し(例えば変化させ)、それと同時に、変化させた感情データ121に応じて異なる充電後動作を行うようにしてもよい。この場合、例えば、バッテリ252の残量が少ないほど不安、無気力の程度が強くなり、バッテリ252の残量が多いほど、安心、興奮の程度が強くなるようにしてもよい。また、通常の感情に応じた動作よりも、充電終了時の動作の方が、より感情を強調した動作を行うようにしてもよい。
【0123】
また、上述の各充電後動作は、それぞれ固定された動作である必要はなく、制御部110は、可動部220及び音声出力部230の制御内容を感情データ121や感情変化データ122に応じて変更してもよい。例えば、第1充電後動作としての元気な鳴き声や動きとして、制御部110は、ロボット200の疑似的な感情が無気力の傾向にある場合はおとなしめの鳴き声や動きにし、興奮の傾向にある場合は興奮している感じの鳴き声や動きをするようにしてもよい。また、制御部110は、ロボット200の疑似的な感情が興奮の傾向にある場合は、動作の周期を早くしたり、動作の量を大きくしたりしてもよい。また、喜びの傾向にある場合は、頭部を上向きにして動作させてもよい。
【0124】
同様に、第2充電後動作としての嫌がっていることを示す鳴き声や動きとして、制御部110は、ロボット200の疑似的な感情が悲しみの傾向にある場合は悲しみを感じさせるような鳴き声(例えば、より低い音程で、音程や音量の変化の遅い声)や動きをするようにし、イライラの傾向がある場合にはイライラしていることを感じさせるような鳴き声(例えば、より高い音程で、音程や音量の変化の速い声)や動きをするようにしてもよい。また、制御部110は、ロボット200の疑似的な感情が悲しみの傾向にある場合は、頭部を下向きにして動作させてもよい。
【0125】
また、充電状態から非充電状態に変化したときだけでなく、充電中もバッテリ252の残量に応じ呼吸模倣処理(図8)の処理内容を変更してもよい。例えば、残量が少ない(例えば30%未満)時には第1中間角度を大きくし(例えば25度)、残量が増えてきたらそれに応じて第1中間角度を小さくする(例えば残量が60%未満30%以上なら20度、残量が80%未満60%以上なら15度、残量が80%以上なら10度等)ようにしてもよい。
【0126】
また、上述の呼吸動作では、頭部204の左右回転角度は0度としていたが、呼吸動作において制御部110は、頭部204の左右回転角度を必ず0度にしなければいけないわけではない。
【0127】
充電時呼吸動作においては、胴体部206の底面の全面が常に給電載置面102に接触する状態を保てるなら、左右回転角度はその範囲で自由に設定可能である。例えば、頭部204の上下回転角度を特定角度(例えば20度)以上にすれば、頭部204を左右にひねる回転を行っても頭部204が給電載置面102にぶつからなくなるので、この場合は、左右回転角度を自由に設定可能である。そして、制御部110は、頭部204の左右回転角度をバッテリ252の残量に応じて変化させてもよい。
【0128】
また、非充電時呼吸動作においては、左右回転角度は任意である。ただし、呼吸動作における基準位置と中間位置との間で胴体部206の底面の全面が載置面101に接触する時間帯が生じるようにするのが望ましい。この時間帯では、ワイヤレス充電器の送信アンテナ253とロボット200の受電部251とが近接するので、受電部251の受信アンテナとワイヤレス充電器の送信アンテナ253との間で誘導磁束が発生し、電源制御部250がこの誘導磁束を検知してバッテリ252の充電を開始することができる。
【0129】
(変形例)
なお、本発明は、上述の実施形態に限定されず、種々の変形及び応用が可能である。例えば、実施形態1と実施形態2とを組合せてもよい。そうすると、このロボット200は、充電中は胴体部206の底面全体を給電載置面102に接触させた状態で頭部204を上下させる呼吸動作を行い、ユーザが給電載置面102から持ち上げて充電を終了させるとロボット200はその時点でのバッテリ残量に応じた動作を行い、非充電時は連結部205(や頭部204の後端や胴体部206の前端)を持ち上げるような呼吸動作を行う。
【0130】
また、上述の実施形態では、ロボット200に機器の制御装置100が内蔵されている構成としたが、機器の制御装置100はロボット200に内蔵されていなくてもよい。例えば、変形例に係る機器の制御装置100は、ロボット200に内蔵されずに別個の装置(例えばサーバ)として構成されてもよい。この変形例では、ロボット200も通信部260を備え、通信部130と通信部260とがお互いにデータを送受信できるように構成されている。そして、制御部110は、通信部130及び通信部260を介して、外部刺激検出部210が検出した外部刺激を取得し、通信部130及び通信部260を介して、可動部220や音声出力部230を制御する。
【0131】
また、上述の実施形態では、機器の制御装置100は、ロボット200を制御する制御装置であるが、制御の対象となる機器は、ロボット200に限られない。制御の対象となる機器としては、例えば、腕時計等も考えられる。例えば、音声出力可能で加速度センサやジャイロセンサを備えた腕時計を制御の対象となる機器とする場合、外部刺激としては、加速度センサやジャイロセンサで検出される、腕時計に加わった衝撃等を想定することができる。そして、この外部刺激に応じて感情変化データ122や感情データ121を更新し、腕時計をユーザが装着した時点の感情データ121に基づいて、制御内容テーブル124に設定されている効果音データを調整(変更)して出力させることが考えられる。
【0132】
そうすると、腕時計を乱暴に扱っているとユーザが装着した時に悲しそうな効果音を発し、丁寧に扱っているとユーザが装着した時に喜んでいるような効果音を発する腕時計にすることができる。さらに、第1期間(例えば50日間)で感情変化データ122が設定されるようにしている場合は、第1期間中のユーザの扱い方によって、腕時計に個性(疑似的な性格)が生じることになる。つまり、同じ型番の腕時計であっても、ユーザが丁寧に扱っていれば、喜びを感じやすい腕時計になり、乱暴に扱っていれば悲しみを感じやすい腕時計になる。
【0133】
このように機器の制御装置100は、ロボットに限らず、様々な機器に適用させることができ、適用させた機器に疑似的な感情や性格を備えさせることができる。さらに、機器の制御装置100は、様々な機器に適用させることで、ユーザに、当該機器を疑似的に育てているように感じさせることができる。
【0134】
上述の実施形態において、制御部110のCPUが実行する動作プログラムは、あらかじめ記憶部120のROM等に記憶されているものとして説明した。しかしながら、本発明は、これに限定されず、上述の各種処理を実行させるための動作プログラムを、既存の汎用コンピュータ等に実装することにより、上述の実施形態に係る機器の制御装置100に相当する装置として機能させてもよい。
【0135】
このようなプログラムの提供方法は任意であり、例えば、コンピュータが読取可能な記録媒体(フレキシブルディスク、CD(Compact Disc)-ROM、DVD(Digital Versatile Disc)-ROM、MO(Magneto-Optical Disc)、メモリカード、USBメモリ等)に格納して配布してもよいし、インターネット等のネットワーク上のストレージにプログラムを格納しておき、これをダウンロードさせることにより提供してもよい。
【0136】
また、上述の処理をOS(Operating System)とアプリケーションプログラムとの分担、又は、OSとアプリケーションプログラムとの協働によって実行する場合には、アプリケーションプログラムのみを記録媒体やストレージに格納してもよい。また、搬送波にプログラムを重畳し、ネットワークを介して配信することも可能である。例えば、ネットワーク上の掲示板(Bulletin Board System:BBS)に上記プログラムを掲示し、ネットワークを介してプログラムを配信してもよい。そして、このプログラムを起動し、OSの制御下で、他のアプリケーションプログラムと同様に実行することにより、上記の処理を実行できるように構成してもよい。
【0137】
本発明は、本発明の広義の精神と範囲とを逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、前述した実施の形態は、この発明を説明するためのものであり、本発明の範囲を限定するものではない。すなわち、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。
【符号の説明】
【0138】
100…機器の制御装置、101…載置面、102…給電載置面、110…制御部、120…記憶部、121…感情データ、122…感情変化データ、123…成長日数データ、124…制御内容テーブル、130,260…通信部、200…ロボット、201…外装、202…装飾部品、203…毛、204,204’…頭部、205…連結部、206…胴体部、207…筐体、208…線ファスナ、208a…スライダ、210…外部刺激検出部、211…タッチセンサ、212…加速度センサ、213…マイクロフォン、214…ジャイロセンサ、220…可動部、221…ひねりモータ、222…上下モータ、230…音声出力部、231…スピーカ、240…操作入力部、250…電源制御部、251…受電部、252…バッテリ、253…送信アンテナ、271,271A,271B,276…凸状部品、272…凹部、275,275A,275B…係合板、300…感情マップ、301,302,303…枠、310…原点、311…X軸、312…Y軸、BL…バスライン
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13