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

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

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

特開2024-104908ロボット、ロボットの制御方法及びプログラム
<>
  • 特開-ロボット、ロボットの制御方法及びプログラム 図1
  • 特開-ロボット、ロボットの制御方法及びプログラム 図2
  • 特開-ロボット、ロボットの制御方法及びプログラム 図3
  • 特開-ロボット、ロボットの制御方法及びプログラム 図4
  • 特開-ロボット、ロボットの制御方法及びプログラム 図5
  • 特開-ロボット、ロボットの制御方法及びプログラム 図6
  • 特開-ロボット、ロボットの制御方法及びプログラム 図7
  • 特開-ロボット、ロボットの制御方法及びプログラム 図8
  • 特開-ロボット、ロボットの制御方法及びプログラム 図9
  • 特開-ロボット、ロボットの制御方法及びプログラム 図10
  • 特開-ロボット、ロボットの制御方法及びプログラム 図11
  • 特開-ロボット、ロボットの制御方法及びプログラム 図12
  • 特開-ロボット、ロボットの制御方法及びプログラム 図13
  • 特開-ロボット、ロボットの制御方法及びプログラム 図14
  • 特開-ロボット、ロボットの制御方法及びプログラム 図15
  • 特開-ロボット、ロボットの制御方法及びプログラム 図16
  • 特開-ロボット、ロボットの制御方法及びプログラム 図17
  • 特開-ロボット、ロボットの制御方法及びプログラム 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024104908
(43)【公開日】2024-08-06
(54)【発明の名称】ロボット、ロボットの制御方法及びプログラム
(51)【国際特許分類】
   A63H 11/00 20060101AFI20240730BHJP
   B25J 13/08 20060101ALI20240730BHJP
【FI】
A63H11/00 Z
B25J13/08 Z
【審査請求】有
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023009341
(22)【出願日】2023-01-25
(71)【出願人】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】100095407
【弁理士】
【氏名又は名称】木村 満
(72)【発明者】
【氏名】黛 幸輝
(72)【発明者】
【氏名】市川 英里奈
(72)【発明者】
【氏名】長谷川 浩一
【テーマコード(参考)】
2C150
3C707
【Fターム(参考)】
2C150AA05
2C150CA02
2C150DA24
2C150DF04
2C150DF33
2C150EB01
2C150ED42
2C150ED56
2C150EE07
2C150EF13
2C150EF16
2C150EF23
2C150EF25
2C150EF29
2C150EF33
2C150EF36
2C150FA03
2C150FB43
2C150FB46
2C150FB50
3C707AS36
3C707HS27
3C707JS03
3C707KS10
3C707KS20
3C707KS23
3C707KS24
3C707KS27
3C707KS31
3C707KS39
3C707KV04
3C707KV08
3C707KW01
3C707KX02
3C707MT14
3C707WA02
3C707WL05
3C707WL07
3C707WL13
3C707WL15
(57)【要約】
【課題】生き物をリアルに模擬することが可能なロボット、ロボットの制御方法及びプログラムを提供する。
【解決手段】ロボット200は、胴体部と、胴体部に対して回転可能に連結された頭部と、を備える。傾き判定部113は、胴体部が水平方向から傾けられたか否かを判定する。動作制御部112は、傾き判定部113により胴体部が水平方向から傾けられたと判定された場合、頭部が水平方向を向くように、頭部を胴体部に対して回転させる。
【選択図】図8
【特許請求の範囲】
【請求項1】
胴体部と、
前記胴体部に対して回転可能に連結された頭部と、
前記胴体部が水平方向から傾けられたか否かを判定する傾き判定手段と、
前記傾き判定手段により前記胴体部が前記水平方向から傾けられたと判定された場合、前記頭部が前記水平方向を向くように、前記頭部を前記胴体部に対して回転させる動作制御手段と、
を備えることを特徴とするロボット。
【請求項2】
前記頭部は、前記胴体部に対して、前記ロボットの左右方向を軸として回転可能に連結され、
前記動作制御手段は、前記胴体部が前記水平方向から前記ロボットの前後方向に傾けられた場合、前記頭部が前記水平方向を向くように、前記頭部を前記胴体部に対して前記左右方向を軸として回転させる、
ことを特徴とする請求項1に記載のロボット。
【請求項3】
前記頭部は、前記胴体部に対して、前記ロボットの前後方向を軸として回転可能に連結され、
前記動作制御手段は、前記胴体部が前記水平方向から前記ロボットの左右方向に傾けられた場合、前記頭部が前記水平方向を向くように、前記頭部を前記胴体部に対して前記前後方向を軸として回転させる、
ことを特徴とする請求項1又は2に記載のロボット。
【請求項4】
前記動作制御手段は、
前記傾き判定手段により前記胴体部が前記水平方向から傾けられたと判定された場合、前記頭部を前記水平方向に向けるための前記頭部の回転角度が限界角度以下であるか否かを判定し、
前記回転角度が前記限界角度以下である場合、前記頭部が前記水平方向を向くように、前記頭部を前記胴体部に対して回転させ、
前記回転角度が前記限界角度を超える場合、前記頭部を前記胴体部に対して回転させない、
ことを特徴とする請求項1又は2に記載のロボット。
【請求項5】
外部刺激を取得する外部刺激取得手段、を更に備え、
前記動作制御手段は、前記頭部が前記水平方向を向くように前記頭部を前記胴体部に対して回転させた後で、前記外部刺激取得手段により取得された前記外部刺激に対応する対応動作を前記ロボットに実行させる場合、前記頭部が前記水平方向を向くように回転された後の前記頭部の角度を基準として、前記頭部を前記胴体部に対して回転させる、
ことを特徴とする請求項1又は2に記載のロボット。
【請求項6】
前記ロボットにおいて使用される電力を蓄えるバッテリ、を更に備え、
前記動作制御手段は、前記バッテリが充電されている際は、前記傾き判定手段により前記胴体部が前記水平方向から傾けられたと判定されても、前記頭部を前記胴体部に対して回転させない、
ことを特徴とする請求項1又は2に記載のロボット。
【請求項7】
前記胴体部と前記頭部とを一体的に覆い、前記胴体部に対する前記頭部の回転に追従する外装部材、を更に備え、
前記外装部材は、前記頭部から前記胴体部にわたって寸胴形状に形成されている、
ことを特徴とする請求項1又は2に記載のロボット。
【請求項8】
腹ばい形状に形成されている、
ことを特徴とする請求項7に記載のロボット。
【請求項9】
胴体部と、前記胴体部に対して回転可能に連結された頭部と、を備えるロボットの制御方法であって、
前記胴体部が水平方向から傾けられたか否かを判定する傾き判定ステップと、
前記傾き判定ステップで前記胴体部が前記水平方向から傾けられたと判定された場合、前記頭部が前記水平方向を向くように、前記頭部を前記胴体部に対して回転させる動作制御ステップと、
を備えることを特徴とするロボットの制御方法。
【請求項10】
胴体部と、前記胴体部に対して回転可能に連結された頭部と、を備えるロボットのコンピュータを、
前記胴体部が水平方向から傾けられたか否かを判定する傾き判定手段、
前記傾き判定手段により前記胴体部が前記水平方向から傾けられたと判定された場合、前記頭部が前記水平方向を向くように、前記頭部を前記胴体部に対して回転させる動作制御手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボット、ロボットの制御方法及びプログラムに関する。
【背景技術】
【0002】
ペットのような生き物を模擬するロボットが知られている。例えば特許文献1は、動物の身体及び動作を模したペット型のロボットにおける姿勢安定制御の技術を開示している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003-71752号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のようなロボットにおいて、ロボットが水平でない角度で置かれた場合や、ロボットがユーザにより持ち上げられた場合のように、ロボットが水平方向から傾けられた場合において、生き物をよりリアルに模擬することが求められている。
【0005】
本発明は、以上のような課題を解決するためのものであり、生き物をリアルに模擬することが可能なロボット、ロボットの制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明に係るロボットの一態様は、
胴体部と、
前記胴体部に対して回転可能に連結された頭部と、
前記胴体部が水平方向から傾けられたか否かを判定する傾き判定手段と、
前記傾き判定手段により前記胴体部が前記水平方向から傾けられたと判定された場合、前記頭部が前記水平方向を向くように、前記頭部を前記胴体部に対して回転させる動作制御手段と、
を備えることを特徴とする。
【発明の効果】
【0007】
本発明によれば、生き物をリアルに模擬することが可能なロボット、ロボットの制御方法及びプログラムを提供することができる。
【図面の簡単な説明】
【0008】
図1】実施形態に係るロボットの外観を示す図である。
図2】実施形態に係るロボットを側面から見た断面図である。
図3】実施形態に係るロボットの筐体を示す図である。
図4】実施形態に係るロボットのひねりモータの動きを示す第1の図である
図5】実施形態に係るロボットのひねりモータの動きを示す第2の図である。
図6】実施形態に係るロボットの上下モータの動きを示す第1の図である。
図7】実施形態に係るロボットの上下モータの動きを示す第2の図である。
図8】実施形態に係るロボットの機能構成を示すブロック図である。
図9】実施形態に係る外部刺激の例を示す図である。
図10】(a)、(b)は、実施形態に係るロボットが正姿状態にある場合のロボットの筐体を、それぞれ側面及び前面から見た図である。
図11】(a)、(b)は、実施形態に係るロボットが前後方向に傾けられた場合における頭部の動きを示す第1の図である。
図12】(a)、(b)は、実施形態に係るロボットが前後方向に傾けられた場合における頭部の動きを示す第2の図である。
図13】(a)、(b)は、実施形態に係るロボットが左右方向に傾けられた場合における頭部の動きを示す第1の図である。
図14】(a)、(b)は、実施形態に係るロボットが左右方向に傾けられた場合における頭部の動きを示す第2の図である。
図15】(a)、(b)は、実施形態に係るロボットが頭部を動かす動作を実行する例を示す図である。
図16】実施形態に係るロボットが充電ステーションで充電される例を示す図である。
図17】実施形態に係るロボット制御処理の流れを示すフローチャートである。
図18】実施形態に係る頭部水平制御処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について、図面を参照して説明する。なお、図中同一又は相当する部分には同一符号を付す。
【0010】
図1から図3に、本実施形態に係るロボット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と、バッテリ250と、を備える。ロボット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、及びマイクロフォン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】
バッテリ250は、ロボット200において使用される電力を蓄える。バッテリ250は、ロボット200が充電ステーションに帰巣した場合に、充電ステーションによって充電される。
【0042】
次に、制御部110の機能的な構成について説明する。図8に示すように、制御部110は、機能的に、外部刺激取得手段の一例である外部刺激取得部111と、動作制御手段の一例である動作制御部112と、傾き判定手段の一例である傾き判定部113と、を備える。制御部110において、CPUは、ROMに記憶されたプログラムをRAMに読み出して、そのプログラムを実行して制御することにより、これら各部として機能する。
【0043】
外部刺激取得部111は、外部刺激を取得する。外部刺激は、ロボット200の外部からロボット200に対して作用する刺激である。外部刺激として、例えば、「大きな音がした」、「話しかけられた」、「撫でられた」、「持ち上げられた」、「逆さにされた」、「明るくなった」、「暗くなった」等が挙げられる。外部刺激は、以下では「イベント」とも呼ぶ。
【0044】
外部刺激取得部111は、センサ部210による検出値に基づいて、外部刺激を取得する。より詳細には、外部刺激取得部111は、センサ部210に備えられた複数のセンサ(タッチセンサ211、加速度センサ212、マイクロフォン213、ジャイロセンサ214、照度センサ215)により、互いに異なる種類の複数の外部刺激を取得する。
【0045】
一例として、図9に、外部刺激取得部111により取得され得る外部刺激(イベント)を示す。外部刺激取得部111は、「大きな音がした」又は「話しかけられた」ことによる外部刺激を、マイクロフォン213により取得する。外部刺激取得部111は、「撫でられた」ことによる外部刺激を、タッチセンサ211により取得する。外部刺激取得部111は、「持ち上げられた」又は「逆さにされた」ことによる外部刺激を、加速度センサ212及びジャイロセンサ214により取得する。外部刺激取得部111は、「明るくなった」又は「暗くなった」ことによる外部刺激を、照度センサ215により取得する。
【0046】
動作制御部112は、外部刺激取得部111により外部刺激が取得された場合、取得された外部刺激に対応する動作である対応動作をロボット200に実行させる。例えば、「大きな音がした」場合、動作制御部112は、驚く動作をロボット200に実行させる。「話しかけられた」場合、動作制御部112は、話しかけに反応する動作をロボット200に実行させる。「逆さにされた」場合、動作制御部112は、不快な反応を示す動作をロボット200に実行させる。「撫でられた」場合、動作制御部112は、喜ぶ動作をロボット200に実行させる。
【0047】
ここで、動作制御部112がロボット200に実行させる動作は、駆動部220によるモーションと、出力部230による出力と、のうちの一方又は両方により実現される。具体的には、駆動部220によるモーションは、ひねりモータ221又は上下モータ222の駆動により頭部204を回転させることに相当する。また、出力部230による出力は、スピーカ231から鳴き声を出力すること、ディスプレイに画像を表示させること、又は、LEDを発光させることに相当する。ロボット200の動作は、ロボット200の仕草、振る舞い等と呼んでも良い。
【0048】
外部刺激と対応動作との対応関係は、図示を省略するが、動作テーブルとして記憶部120に予め記憶されている。動作制御部112は、動作テーブルを参照して、外部刺激取得部111により取得された外部刺激に対応する対応動作をロボット200に実行させる。
【0049】
なお、動作制御部112は、外部刺激取得部111により外部刺激が取得されていない場合、自発的な動作をロボット200に実行させる。ここで、自発的な動作は、例えば、呼吸を模擬した動作等のように、外部刺激に依存しない動作を意味する。
【0050】
図8に戻って、傾き判定部113は、胴体部206が水平方向から傾けられたか否かを判定する。例えば、ロボット200が傾斜した載置面や凹凸がある載置面等に載置された場合のように、ロボット200が水平方向に対して斜めに載置された場合、胴体部206は水平方向から傾けられた状態となる。或いは、外部刺激取得部111により取得される外部刺激のうちの、「持ち上げられた」、「裏返された」等の外部刺激によっても、胴体部206は水平方向から傾けられる。傾き判定部113は、このような状況に起因して胴体部206が水平方向から傾けられたか否かを判定する。
【0051】
具体的に説明すると、傾き判定部113は、胴体部206に備えられている加速度センサ212による検出値に基づいて、胴体部206に加えられる重力加速度の方向を判定する。そして、傾き判定部113は、重力加速度の方向と、胴体部206に予め設定されている基準面との関係に基づいて、胴体部206が水平方向から傾けられたか否かを判定する。
【0052】
一般的に、生き物は、その胴体部が水平方向から傾けられた場合、その頭部を地面と水平に保つ生理反射(立ち直り反応)を示す。言い換えると、生き物は、胴体部が水平方向から傾けられた場合、頭部を胴体部と同様に傾けたままにするのではなく、頭部を胴体部に対して回転させて、頭部が地面に水平に保たれるようにする性質を有する。
【0053】
このような生き物の性質を考慮した場合、ロボット200の筐体207が水平方向から傾けられた場合、頭部204が胴体部206に対して真っ直ぐなまま維持されていると、生き物の姿勢として不自然なものとなる。これを考慮し、生き物の自然な姿勢を模擬するため、動作制御部112は、傾き判定部113により胴体部206が水平方向から傾けられたと判定された場合、頭部204が水平方向を向くように、頭部204を胴体部206に対して回転させる。
【0054】
図10(a)及び(b)に、水平方向から傾けられておらず、正姿状態にあるロボット200を示す。ここで、正姿状態は、頭部204が胴体部206に対してどの方向にも回転していない状態であって、ロボット200の傾きの基準となる初期状態を意味する。
【0055】
なお、理解を容易にするため、図10(a)及び(b)では、ロボット200の筐体207のみを示しており、外装201、センサ部210等を省略している。以降の図11図14でも同様である。
【0056】
胴体部206には、胴体部206の傾きを判定するための仮想的な第1基準面310が設定されている。また、頭部204には、頭部204の傾きを判定するための仮想的な第2基準面320が設定されている。図10(a)及び(b)では、第1基準面310と第2基準面320とを一点鎖線で示し、鉛直方向を破線矢印で示す。第1基準面310と第2基準面320とは、ロボット200が正姿状態にあるときに平行になるように設定されている。
【0057】
図10(a)及び(b)に示すようにロボット200が正姿状態にあるとき、筐体207を側面から見た場合における第1基準面310と鉛直方向とのなす角度A、及び、第2基準面320と鉛直方向とのなす角度Bは、どちらも直角(90度)である。また、筐体207を前面から見た場合における第1基準面310と鉛直方向とのなす角度C、及び、第2基準面320と鉛直方向とのなす角度Dは、どちらも直角(90度)である。
【0058】
第1基準面310と鉛直方向とのなす角度A,Cの両方が90度から所定の誤差範囲内に収まっている場合、傾き判定部113は、胴体部206が水平方向から傾けられていないと判定する。これに対して、第1基準面310と鉛直方向とのなす角度A,Cの少なくとも一方が90度からずれた場合、傾き判定部113は、胴体部206が水平方向から傾けられたと判定する。
【0059】
以下、このような正姿状態から胴体部206が傾けられた場合の頭部204の動きについて、図11図14を参照して説明する。
【0060】
第1に、動作制御部112は、胴体部206が水平方向からロボット200の前後方向に傾けられた場合、頭部204が水平方向を向くように、頭部204を胴体部206に対して左右方向を軸として回転させる。
【0061】
具体的に、図11(a)に示すように、ロボット200の前方を持ち上げられるように傾けられた場合、筐体207全体が前後方向に傾けられるため、第1基準面310及び第2基準面320は水平からずれる。この場合、第1基準面310と鉛直方向とのなす角度A1は、90度である角度Aよりも小さくなる。そのため、傾き判定部113は、胴体部206が水平方向から傾けられたと判定する。
【0062】
この場合、図11(b)に示すように、動作制御部112は、上下モータ222を駆動して、頭部204が水平方向を向くように、頭部204を胴体部206に対して回転させる。具体的には、動作制御部112は、上下モータ222を、左右方向に延びる第2回転軸を中心として、下方に角度B1だけ回転させる。これにより、第2基準面320が水平に戻るため、頭部204は水平方向を向く。角度B1は、角度A(90度)と角度A1との差の絶対値により計算される。
【0063】
また、図12(a)に示すように、ロボット200の後方を持ち上げられるように傾けられた場合、筐体207全体が前後方向に傾けられるため、第1基準面310及び第2基準面320は水平からずれる。この場合、第1基準面310と鉛直方向とのなす角度A2は、90度である角度Aよりも大きくなる。そのため、傾き判定部113は、胴体部206が水平方向から傾けられたと判定する。
【0064】
この場合、図12(b)に示すように、動作制御部112は、上下モータ222を駆動して、頭部204が水平方向を向くように、頭部204を胴体部206に対して回転させる。具体的には、動作制御部112は、上下モータ222を、左右方向に延びる第2回転軸を中心として、上方に角度B2だけ回転させる。これにより、第2基準面320が水平に戻るため、頭部204は水平方向を向く。角度B2は、角度A(90度)と角度A2との差の絶対値により計算される。
【0065】
第2に、動作制御部112は、胴体部206が水平方向からロボット200の左右方向に傾けられた場合、頭部204が水平方向を向くように、頭部204を胴体部206に対して前後方向を軸として回転させる。
【0066】
具体的に、図13(a)に示すように、時計回りにひねるようにロボット200が傾けられた場合、筐体207全体が左右方向に傾けられるため、第1基準面310及び第2基準面320は水平からずれる。この場合、第1基準面310と鉛直方向とのなす角度C1は、90度である角度Cよりも大きくなる。そのため、傾き判定部113は、胴体部206が水平方向から傾けられたと判定する。
【0067】
この場合、図13(b)に示すように、動作制御部112は、ひねりモータ221を駆動して、頭部204が水平方向を向くように、頭部204を胴体部206に対して回転させる。具体的には、動作制御部112は、ひねりモータ221を、前後方向に延びる第1回転軸を中心として、反時計回りに角度D1だけ回転させる。これにより、第2基準面320が水平に戻るため、頭部204は水平方向を向く。角度D1は、角度C(90度)と角度C1との差の絶対値により計算される。
【0068】
また、図14(a)に示すように、反時計回りにひねるようにロボット200が傾けられた場合、筐体207全体が左右方向に傾けられるため、第1基準面310及び第2基準面320は水平からずれる。この場合、第1基準面310と鉛直方向とのなす角度C2は、90度である角度Cよりも小さくなる。そのため、傾き判定部113は、胴体部206が水平方向から傾けられたと判定する。
【0069】
この場合、図14(b)に示すように、動作制御部112は、ひねりモータ221を駆動して、頭部204が水平方向を向くように、頭部204を胴体部206に対して回転させる。具体的には、動作制御部112は、ひねりモータ221を、前後方向に延びる第1回転軸を中心として、時計回りに角度D2だけ回転させる。これにより、第2基準面320が水平に戻るため、頭部204は水平方向を向く。角度D2は、角度C(90度)と角度C2との差の絶対値により計算される。
【0070】
より詳細には、動作制御部112は、傾き判定部113により胴体部206が水平方向から傾けられたことが判定された場合、頭部204を水平方向に向けるための頭部204の回転角度が限界角度以下であるか否かを判定する。頭部204の回転角度が限界角度以下である場合、動作制御部112は、頭部204が水平方向を向くように、頭部204を胴体部206に対して回転させる。
【0071】
ここで、限界角度は、頭部204をロボット200の前後方向を軸として回転させる場合には、ひねりモータ221の限界角度に相当する。図4に示したように頭部204を時計回りに回転させる場合には、限界角度は、正転角度範囲の上限である+100に相当し、図5に示したように頭部204を反時計回りに回転させる場合には、限界角度は、逆転角度範囲の上限である-100に相当する。また、限界角度は、頭部204をロボット200の左右方向を軸として回転させる場合には、上下モータ222の限界角度に相当する。図6に示したように頭部204を上方に回転させる場合には、限界角度は、正転角度範囲の上限である+100に相当し、図7に示したように頭部204を下方に回転させる場合には、限界角度は、逆転角度範囲の上限である-100に相当する。
【0072】
また、頭部204を水平方向に向けるための頭部204の回転角度は、図11(b)~図14(b)に示した角度B1,B2,D1,D2のように、頭部204を現在の角度から、胴体部206の傾きの変化量の分だけ、胴体部206が傾けられた方向とは逆方向に回転させた場合の角度に相当する。頭部204を水平方向に向けるための頭部204の回転角度が限界角度を超える場合、ひねりモータ221又は上下モータ222で回転可能な範囲を超える。そのため、この場合、動作制御部112は、頭部204を胴体部206に対して回転させない。
【0073】
次に、以上のような頭部水平制御処理を実行した後で、動作制御部112が、外部刺激取得部111により取得された外部刺激に対応する対応動作をロボット200に実行させる場合について説明する。外部刺激に応じてロボット200が実行する対応動作の中には、例えば、うなずく動作、見上げる動作、首を振る動作、首をひねる動作等のように、頭部204を胴体部206に対して回転させる動作を含むものが存在する。動作制御部112は、頭部水平制御処理を実行した後でこのような対応動作をロボット200に実行させる場合、頭部水平制御処理において頭部204が水平方向を向くように回転された後の頭部204の角度を基準として、頭部204を胴体部206に対して回転させる。
【0074】
具体的に図15(a)、(b)を参照して説明する。図15(a)は、胴体部206が水平方向から傾けられていない場合において、動作制御部112が、外部刺激に対応する対応動作として、上下モータ222により頭部204を胴体部206に対して角度±θ回転させる動作をロボット200に実行させる例を示している。この場合、動作制御部112は、上下モータ222の上下基準角度(図6及び図7における0)を基準として、頭部204を胴体部206に対して角度±θ回転させる。
【0075】
これに対して、図15(b)は、胴体部206が水平方向から傾けられた場合において、動作制御部112が、頭部水平制御処理により頭部204を下方に角度B1回転させた後で、図15(a)と同じ対応動作をロボット200に実行させる例を示している。この場合、動作制御部112は、上下基準角度から角度B1回転した角度を基準として、頭部204を胴体部206に対して角度±θ回転させる。
【0076】
言い換えると、動作制御部112は、図15(a)では、上下モータ222の回転範囲にオフセットを設定せず、角度θから角度-θの範囲で頭部204を回転させる。これに対して、動作制御部112は、図15(b)では、上下モータ222の回転範囲に対して下方に角度B1のオフセットを設定して、角度(-B1+θ)から角度(-B1-θ)の範囲で頭部204を回転させる。
【0077】
なお、図示を省略するが、頭部水平制御処理により頭部204を上方に角度B2回転させた後で、同じ対応動作をロボット200に実行させる場合には、動作制御部112は、上下モータ222の回転範囲に対して上方に角度B2のオフセットを設定して、角度(B2+θ)から角度(B2-θ)の範囲で頭部204を回転させる。
【0078】
また、図15(a)、(b)では上下モータ222により頭部204を回転させる場合について説明したが、ひねりモータ221により頭部204を回転させる場合も同様である。具体的には、動作制御部112は、頭部水平制御処理により頭部204を反時計回りに角度D1回転させた後で、同じ対応動作をロボット200に実行させる場合には、動作制御部112は、ひねりモータ221の回転範囲に対して反時計回りに角度D1のオフセットを設定して、角度(-D1+θ)から角度(-D1-θ)の範囲で頭部204を回転させる。また、頭部水平制御処理により頭部204を時計回りに角度D2回転させた後で、同じ対応動作をロボット200に実行させる場合には、動作制御部112は、ひねりモータ221の回転範囲に対して時計回りに角度D2のオフセットを設定して、角度(D2+θ)から角度(D2-θ)の範囲で頭部204を回転させる。
【0079】
このように、動作制御部112は、外部刺激に対応する対応動作の際に、頭部水平制御後の頭部204の回転角度が基準となるように、ひねりモータ221又は上下モータ222の回転範囲にオフセットを設定する。このようなオフセット制御により頭部204の動作角度を調整することにより、ロボット200の通常の動作の中に、上述した頭部水平制御を違和感なく導入することができる。また、ロボット200の傾きに応じて対応動作が異なるため、ロボット200の動作のパターンを増やすことができる。
【0080】
次に、ロボット200が充電される場合について説明する。図16に、ロボット200のバッテリ250に充電するための充電ステーション400の例を示す。充電ステーション400は、ロボット200を充電するための設備である。
【0081】
充電ステーション400は、ロボット200を載せるための台座を備える。台座の内部には、送電用のコイルが設けられている。充電ステーション400は、ロボット200が台座の上に載っている状態において、電磁誘導、磁界共鳴、電界結合等の周知の方式を用いて、バッテリ250にワイヤレスで充電することができる。
【0082】
充電ステーション400は、ロボット200が自律的に充電ステーション400に移動(帰巣)できる適宜の場所に設置される。ロボット200は、バッテリ250の充電量が下限値以下になると、又は、予め定められたタイミングが到来すると、バッテリ250を充電するために充電ステーション400に移動する。
【0083】
このように充電ステーション400においてバッテリ250に充電されている際に、頭部204が胴体部206に対して回転すると、台座の上でロボット200の姿勢が変化するため、適切な充電が妨げられるおそれがある。例えば、上下モータ222により頭部204を下方に回転させると、胴体部206が台座から浮き上がる可能性がある。また、ひねりモータ221により頭部204を回転させると、胴体部206が台座からずれる可能性がある。このような充電が妨げられる状況を回避するため、動作制御部112は、バッテリ250が充電されている際は、傾き判定部113により胴体部206が水平方向から傾けられたと判定されても、頭部204を胴体部206に対して回転させない。
【0084】
なお、駆動部220(ひねりモータ221又は上下モータ222)により頭部204を胴体部206に対して回転させる回転速度は、一定であっても良いし、条件に応じて変動しても良い。例えば、動作制御部112は、ロボット200の年齢に応じて、頭部204を胴体部206に対して回転させる回転速度を変動させても良い。この場合、実際の生き物を模擬するため、ロボット200の年齢が所定年齢未満である場合には、ロボット200の年齢が所定年齢以上である場合よりも、回転速度を遅くしても良い。ここで、ロボット200の年齢は、例えば、ロボット200が製造又は出荷されてからの時間に対応する。
【0085】
次に、図17を参照して、本実施形態に係るロボット制御処理の流れを説明する。図17に示すロボット制御処理は、ロボット200に電源が投入されたことを契機として、制御装置100の制御部110により実行される。図17に示すロボット制御処理は、ロボット制御方法の一例である。
【0086】
ロボット制御処理を開始すると、制御部110は、初期化処理を実行する(ステップS1)。初期化処理において、制御部110は、例えば、ひねりモータ221の回転角度をひねり基準角度である0に設定し、上下モータ222の回転角度を上下基準角度である0に設定し、システムタイマーを0に設定する。
【0087】
初期化処理を実行すると、制御部110は、頭部水平制御処理を実行する(ステップS2)。制御部110は、頭部水平制御処理を、一定の時間間隔(例えば100ms間隔)で割り込み処理として実行する。ステップS2における頭部水平制御処理の詳細は、図18を参照して説明する。
【0088】
図18に示す頭部水平制御処理を開始すると、制御部110は、胴体部206の傾きを取得する(ステップS21)。具体的に説明すると、制御部110は、加速度センサ212により検出された重力加速度の方向を取得する。そして、制御部110は、重力加速度の方向と胴体部206に設定された第1基準面310とのなす角度を計測することにより、胴体部206の傾きを取得する。
【0089】
胴体部206の傾きを取得すると、制御部110は、傾き判定部113として機能し、胴体部206の傾きがロボット200の左右方向を軸として変化したか否かを判定する(ステップS22)。具体的には図11(a)又は図12(a)に示したように、制御部110は、胴体部206が前後方向に傾けられたか否かを判定する。ステップS22は、傾き判定ステップの一例である。
【0090】
胴体部206の傾きがロボット200の左右方向を軸として変化した場合(ステップS22;YES)、制御部110は、頭部204を水平方向に向けた場合の上下モータ222の回転角度が限界角度以下であるか否かを判定する(ステップS23)。
【0091】
上下モータ222の回転角度が限界角度以下である場合(ステップS23;YES)、制御部110は、動作制御部115として機能し、上下モータ222により頭部204を回転させる(ステップS24)。具体的には図11(b)又は図12(b)に示したように、制御部110は、ステップS1で取得された胴体部206の傾きの変化量の分だけ、胴体部206が傾けられた方向とは逆方向に、頭部204を回転させる。これにより、胴体部206が傾いていても頭部204の方向が水平に調整される。ステップS24は、動作制御ステップの一例である。
【0092】
上下モータ222により頭部204を回転させると、制御部110は、上下モータ222のオフセットを、ステップS24で回転させた後の角度に更新する(ステップS25)。
【0093】
これに対して、上下モータ222の回転角度が限界角度を超える場合(ステップS23;NO)、制御部110は、ステップS24~S25をスキップする。この場合、制御部110は、胴体部206の傾きの変化を打ち消す分だけ頭部204を回転させると、上下モータ222の回転角度が限界角度を超えるため、上下モータ222を回転させない。
【0094】
胴体部206の傾きがロボット200の左右方向を軸として変化していない場合(ステップS22;NO)、制御部110は、ステップS23~S25の処理をスキップする。
【0095】
次に、制御部110は、傾き判定部113として機能し、胴体部206の傾きがロボット200の前後方向を軸として変化したか否かを判定する(ステップS26)。具体的には図13(a)又は図14(a)に示したように、制御部110は、胴体部206が左右方向に傾けられたか否かを判定する。ステップS26は、傾き判定ステップの一例である。
【0096】
胴体部206の傾きがロボット200の前後方向を軸として変化した場合(ステップS26;YES)、制御部110は、頭部204を水平方向に向けた場合のひねりモータ221の回転角度が限界角度以下であるか否かを判定する(ステップS27)。
【0097】
ひねりモータ221の回転角度が限界角度以下である場合(ステップS27;YES)、制御部110は、動作制御部115として機能し、ひねりモータ221により頭部204を回転させる(ステップS28)。具体的には図13(b)又は図14(b)に示したように、制御部110は、ステップS1で取得された胴体部206の傾きの変化量の分だけ、胴体部206が傾けられた方向とは逆方向に、頭部204を回転させる。これにより、胴体部206が傾いていても頭部204の方向が水平に調整される。ステップS28は、動作制御ステップの一例である。
【0098】
ひねりモータ221により頭部204を回転させると、制御部110は、ひねりモータ221のオフセットを、ステップS28で回転させた後の角度に更新する(ステップS29)。
【0099】
これに対して、ひねりモータ221の回転角度が限界角度を超える場合(ステップS27;NO)、制御部110は、ステップS28~S29をスキップする。この場合、制御部110は、胴体部206の傾きの変化を打ち消す分だけ頭部204を回転させると、ひねりモータ221の回転角度が限界角度を超えるため、ひねりモータ221を回転させない。
【0100】
胴体部206の傾きがロボット200の前後方向を軸として変化していない場合(ステップS26;NO)、制御部110は、ステップS27~S29の処理をスキップする。以上により、図18に示した頭部水平制御処理は終了する。
【0101】
なお、図示を省略するが、充電ステーション400においてバッテリ250に充電中である場合には、制御部110は、図18に示した頭部水平制御処理をスキップする。
【0102】
図17に戻って、ステップS2でロボット200の姿勢を制御すると、制御部110は、外部刺激取得部111として機能し、外部刺激を取得したか否かを判定する(ステップS3)。具体的に説明すると、制御部110は、センサ部210による検出値に基づいて、例えば、「大きな音がした」、「話しかけられた」、「撫でられた」、「持ち上げられた」、「逆さにされた」、「明るくなった」、「暗くなった」等の外部刺激が発生したか否かを判定する。ステップS3は、外部刺激取得ステップの一例である。
【0103】
外部刺激を取得した場合(ステップS3;YES)、制御部110は、動作制御部115として機能し、ステップS3で取得した外部刺激に対応する動作をロボット200に実行させる(ステップS4)。例えば、「大きな音がした」場合、制御部110は、大きな音に反応する動作をロボット200に実行させる。「逆さにされた」場合、制御部110は、逆さにされたことに反応する動作をロボット200に実行させる。「話しかけられた」場合、制御部110は、話しかけられたことに反応する動作をロボット200に実行させる。「撫でられた」場合、制御部110は、撫でられたことに反応する動作をロボット200に実行させる。
【0104】
このとき、外部刺激に対応する動作に頭部204を胴体部206に対して回転させる動作が含まれる場合であって、且つ、ステップS2の頭部水平制御処理においてオフセットが設定された場合、制御部110は、上下基準角度又はひねり基準角度にオフセットが加えられた角度を基準として、頭部204を胴体部206に対して回転させる。
【0105】
一方で、ステップS3において、外部刺激を取得していない場合(ステップS3;NO)、制御部110は、必要に応じて、自発的な動作をロボット200に実行させる(ステップS5)。具体的に説明すると、制御部110は、例えば呼吸を模擬する動作のような、外部刺激に依存しない動作をロボット200に実行させる。
【0106】
ステップS4又はS5でロボット200を動作させた後、制御部110は、処理をステップS2に戻し、ステップS2~S5の処理を再度実行する。このように、制御部110は、ロボット200に電源が投入されており、ロボット200が正常に動作可能である限り、ステップS2~S5の処理を繰り返し実行する。
【0107】
以上説明したように、本実施形態に係るロボット200は、胴体部206が水平方向から傾けられたか否かを判定し、胴体部206が水平方向から傾けられた場合、頭部204が水平方向を向くように、頭部204を胴体部206に対して回転させる。このような頭部水平制御により、体が傾けられた場合に頭を水平に保とうとする生き物の動作を模擬することができる。その結果、本実施形態に係るロボット200は、生き物をリアルに模擬することができ、生き物感を高めることができる。
【0108】
例えば、ユーザがロボット200を両手で持ち上げた状態において、ユーザがロボット200を傾けると、頭部水平制御により、ロボット200は、頭部水平制御により頭部204の方向を水平方向に調整する。このような動作により、特にユーザがロボット200と向かい合っている場合において、ユーザは、ロボット200が頭部204を常にユーザの方向に向けようとしているように感じるため、ロボット200がユーザとコミュニケーションを取ろうとしていると感じる。その結果、ロボット200に対する親しみを高めることができる。
【0109】
(変形例)
以上に本発明の実施形態について説明したが、上記実施形態は一例であり、本発明の適用範囲はこれに限られない。すなわち、本発明の実施形態は種々の応用が可能であり、あらゆる実施の形態が本発明の範囲に含まれる。
【0110】
例えば、上記実施形態では、頭部204は、ひねりモータ221及び上下モータ222により、胴体部206に対して左右方向及び前後方向を軸として回転可能に連結されていた。しかしながら、頭部204は、胴体部206に対して、左右方向及び前後方向の2方向に限らず、これらのうちの1方向のみを軸として回転可能に連結されていても良いし、その他の方向を軸として回転可能に連結されていても良い。
【0111】
上記実施形態では、外装201は、頭部204から胴体部206にわたって寸胴形状に形成されており、ロボット200は、腹ばい形状をしていた。しかしながら、ロボット200は、腹ばい形状の生き物を模したものであることに限らない。例えば、ロボット200は、手足を有した形状をしており、4足歩行又は2足歩行の生き物を模擬したものであっても良い。4足歩行又は2足歩行の生き物であっても、胴体部が水平方向から傾けられた場合に頭部を水平に保とうとする性質を有する。そのため、上記の実施形態で説明した頭部水平制御を実行することで、生き物をリアルに模擬することができる。
【0112】
上記実施形態では、ロボット200に制御装置100が内蔵されていたが、制御装置100は、ロボット200に内蔵されずに別個の装置(例えばサーバ)であってもよい。制御装置100がロボット200の外部に存在する場合、ロボット200は、通信部を介して制御装置100と通信して互いにデータを送受信する。このようなロボット200との通信を介して、外部刺激取得部111は、センサ部210が検出した外部刺激を取得し、動作制御部112は、駆動部220や出力部230を制御する。
【0113】
上記実施形態では、制御部110において、CPUがROMに記憶されたプログラムを実行することによって、外部刺激取得部111、動作制御部112及び傾き判定部113の各部として機能した。しかしながら、本発明において、制御部110は、CPUの代わりに、例えばASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、又は、各種制御回路等の専用のハードウェアを備え、専用のハードウェアが、外部刺激取得部111、動作制御部112及び傾き判定部113の各部として機能しても良い。この場合、各部の機能それぞれを個別のハードウェアで実現しても良いし、各部の機能をまとめて単一のハードウェアで実現しても良い。また、各部の機能のうちの、一部を専用のハードウェアによって実現し、他の一部をソフトウェア又はファームウェアによって実現しても良い。
【0114】
なお、本発明に係る機能を実現するための構成を予め備えたロボットとして提供できることはもとより、プログラムの適用により、既存の情報処理装置等を、本発明に係るロボットとして機能させることもできる。すなわち、前記実施形態で例示したロボット200による各機能構成を実現させるためのプログラムを、既存の情報処理装置等を制御するCPU等が実行できるように適用することで、本発明に係るロボットとして機能させることができる。
【0115】
また、このようなプログラムの適用方法は任意である。プログラムを、例えば、フレキシブルディスク、CD(Compact Disc)-ROM、DVD(Digital Versatile Disc)-ROM、メモリカード等のコンピュータ読み取り可能な記憶媒体に格納して適用できる。さらに、プログラムを搬送波に重畳し、インターネットなどの通信媒体を介して適用することもできる。例えば、通信ネットワーク上の掲示板(BBS:Bulletin Board System)にプログラムを掲示して配信してもよい。そして、このプログラムを起動し、OS(Operating System)の制御下で、他のアプリケーションプログラムと同様に実行することにより、前記の処理を実行できるように構成してもよい。
【0116】
以上、本発明の好ましい実施形態等について説明したが、本発明は上述した実施形態等に制限されることはなく、特許請求の範囲に記載された範囲を逸脱することなく、上述した実施形態等に種々の変形及び置換を加えることができる。
【符号の説明】
【0117】
100…制御装置、110…制御部、111…外部刺激取得部、112…動作制御部、113…傾き判定部、120…記憶部、200…ロボット、201…外装、202…装飾部品、203…毛、204…頭部、205…連結部、206…胴体部、207…筐体、210…センサ部、211…タッチセンサ、212…加速度センサ、213…マイクロフォン、214…ジャイロセンサ、215…照度センサ、220…駆動部、221…ひねりモータ、222…上下モータ、230…出力部、231… スピーカ、240…操作部、250…バッテリ、310,320…基準面、400…充電ステーション、BL…バスライン
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18