(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-27
(45)【発行日】2024-06-04
(54)【発明の名称】ロボット
(51)【国際特許分類】
A63H 11/00 20060101AFI20240528BHJP
B25J 13/08 20060101ALI20240528BHJP
【FI】
A63H11/00 Z
B25J13/08 Z
(21)【出願番号】P 2020021147
(22)【出願日】2020-02-12
【審査請求日】2023-01-24
(73)【特許権者】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】100095407
【氏名又は名称】木村 満
(72)【発明者】
【氏名】中山 健二
【審査官】前地 純一郎
(56)【参考文献】
【文献】特開2019-072495(JP,A)
【文献】国際公開第2018/159460(WO,A1)
【文献】登録実用新案第3174423(JP,U)
【文献】特開2005-161450(JP,A)
【文献】特開2011-232992(JP,A)
【文献】米国特許出願公開第2013/0342224(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
A63H 1/00-37/00
B25J 1/00-21/02
G01B 7/00- 7/34
(57)【特許請求の範囲】
【請求項1】
ロボットであって、
本体部と、
第1電極を有し、前記本体部に設けられた第1静電容量センサと、
第2電極を有し、前記本体部に設けられた第2静電容量センサと、
前記第1及び第2静電容量センサよりも大きい検出範囲を有し、前記本体部に設けられた第3静電容量センサと、を備え、
前記第1及び第2静電容量センサは、前記第1及び第2静電容量センサの検出範囲よりも外側に検出対象が位置している状態から前記第1及び第2電極に対して互いに同じ距離分、離れた位置に前記検出対象が位置することによって発生した前記第1及び第2静電容量センサの各々の静電容量の変化量が互いに異なるように構成されており、
前記本体部
並びに前記第1
、第2
及び第3静電容量センサを覆う外装と、
前記第3静電容量センサにより前記ロボットへの前記検出対象の近接が検出されたことを条件として、前記第1及び第2静電容量センサへの検出用の電力の供給を許可し、前記第3静電容量センサにより前記ロボットへの前記検出対象の近接が検出されていないことを条件として、前記第1及び第2静電容量センサへの前記検出用の電力の供給を禁止するセンサ制御手段と、
前記第1及び第2静電容量センサの検出結果に応じて、前記ロボットの動作を制御する制御手段と、
をさらに備えるロボット。
【請求項2】
前記第1及び第2電極が互いに同じ基板に設けられている、
請求項1に記載のロボット。
【請求項3】
前記センサ制御手段は、
前記第3静電容量センサにより前記ロボットへの前記検出対象の近接が検出されたことを条件として、前記第1及び第2静電容量センサへの検出用の電力の供給を許可するとともに、前記第3静電容量センサへの検出用の電力の供給を禁止し、
検出用の電力が供給された前記第1及び第2静電容量センサの検出結果に応じて前記ロボットの動作が前記制御手段により制御されたことを条件として、前記第1及び第2静電容量センサへの前記検出用の電力の供給を禁止するとともに、検出用の電力の供給が禁止されている前記第3静電容量センサへの検出用の電力の供給を許可する、
請求項
1または2に記載のロボット。
【請求項4】
前記第3静電容量センサは、自己容量方式の静電容量センサである、
請求項
1から3のいずれか1項に記載のロボット。
【請求項5】
前記第1及び第2静電容量センサは、相互容量方式の静電容量センサである、
請求項1から
4のいずれか1項に記載のロボット。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットに関する。
【背景技術】
【0002】
従来、接触を検出するセンサが設けられた電子機器として、例えば特許文献1に開示されたロボットが知られている。このロボットには、本体部を覆う外皮314が設けられており、この外皮の外側(本体部と反対側)の表面には、表皮が貼りつけられている。また、表皮と外皮と間には第1層タッチセンサが、外皮と本体部の間には第2層タッチセンサが、それぞれ設けられている。これらの第1及び第2層タッチセンサは、静電容量センサである。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に開示されたロボットでは、ユーザが表皮を触ったときに、第1層タッチセンサが接触を検出し、ロボットを強く触れることで外皮が変形したときに、第2層タッチセンサの検出値が変化する。以上の第1及び第2層タッチセンサの検出結果に応じて、ロボットがユーザに強く抱きしめられているのか、やさしく抱きしめられているのかが、検出される。しかし、このように、従来のロボットでは、表皮と外皮と間に第1層タッチセンサを、外皮と本体部の間に第2層タッチセンサを、それぞれ設けているため、その構成が比較的複雑になってしまう。
【0005】
そこで、本発明はこのような事情に鑑みてなされたものであって、構成を簡略化することができるロボットを提供することを目的とする。
【課題を解決するための手段】
【0006】
前記目的を達成するため、本発明に係るロボットの一様態は、
ロボットであって、
本体部と、
第1電極を有し、前記本体部に設けられた第1静電容量センサと、
第2電極を有し、前記本体部に設けられた第2静電容量センサと、
前記第1及び第2静電容量センサよりも大きい検出範囲を有し、前記本体部に設けられた第3静電容量センサと、を備え、
前記第1及び第2静電容量センサは、前記第1及び第2静電容量センサの検出範囲よりも外側に検出対象が位置している状態から前記第1及び第2電極に対して互いに同じ距離分、離れた位置に前記検出対象が位置することによって発生した前記第1及び第2静電容量センサの各々の静電容量の変化量が互いに異なるように構成されており、
前記本体部並びに前記第1、第2及び第3静電容量センサを覆う外装と、
前記第3静電容量センサにより前記ロボットへの前記検出対象の近接が検出されたことを条件として、前記第1及び第2静電容量センサへの検出用の電力の供給を許可し、前記第3静電容量センサにより前記ロボットへの前記検出対象の近接が検出されていないことを条件として、前記第1及び第2静電容量センサへの前記検出用の電力の供給を禁止するセンサ制御手段と、
前記第1及び第2静電容量センサの検出結果に応じて、前記ロボットの動作を制御する制御手段と、
をさらに備える。
【発明の効果】
【0007】
本発明によれば、ロボットの構成を簡略化することができる。
【図面の簡単な説明】
【0008】
【
図1】実施形態に係るロボットの外観を示す図である。
【
図2】実施形態に係るロボットの側面から見た断面図である。
【
図3】実施形態に係るロボットの本体部を説明する図である。
【
図4】(a)実施形態に係るタッチセンサユニットの平面図である。(b)実施形態に係るタッチセンサユニットの断面図である。(c)実施形態に係るタッチセンサユニットの他の断面図である。
【
図5】(a)検出対象との位置関係に基づいて実施形態に係るタッチセンサユニットを説明する図である。(b)実施形態に係るタッチセンサユニットと外装との位置関係を説明する図である。
【
図6】実施形態に係るロボットの機能構成を示すブロック図である。
【
図7】実施形態に係るロボット制御処理のフローチャートである。
【
図8】実施形態に係る外部刺激取得処理スレッドのフローチャートである。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について、図面を参照して説明する。なお、図中同一又は相当部分には同一符号を付す。
【0010】
(実施形態)
本発明の実施形態に係るロボット200は、小型の動物を模したペットロボットである。ロボット200は、
図1に示すように、基布208の上に目を模した装飾部品202や、ふさふさの毛203が付けられた外装201を備える。そして、
図2に示すように、外装201は、ロボット200の本体部207を覆っている。ロボット200の本体部207は、頭部204、連結部205及び胴体部206からなり、頭部204と胴体部206とが、連結部205で連結されている。
【0011】
そして、胴体部206の前端部にひねりモータ221が備えられており、頭部204が連結部205を介して胴体部206の前端部に連結されている。連結部205には、上下モータ222が備えられている。なお、
図2では、ひねりモータ221は胴体部206に備えられているが、連結部205に備えられていてもよい。
【0012】
連結部205は、連結部205を通り胴体部206の前後方向に延びる第1回転軸を中心として回転自在に、胴体部206と頭部204とを連結している。ひねりモータ221は、頭部204を上下モータ222とともに、胴体部206に対して、第1回転軸を中心として時計回り(右回り)に正転角度範囲内で回転(正転)させたり、反時計回り(左回り)に逆転角度範囲内で回転(逆転)させたりする。なお、この説明における時計回りは、胴体部206から頭部204の方向を見た時の時計回りである。
【0013】
また、連結部205は、連結部205を通り胴体部206の幅方向に延びる第2回転軸を中心として回転自在に、胴体部206と頭部204とを連結する。上下モータ222は、頭部204を、第2回転軸を中心として上方に正転角度範囲内で回転(正転)させたり、下方に逆転角度範囲内で回転(逆転)させたりする。なお、第1回転軸と第2回転軸とは互いに直交していてもよいし、直交していなくてもよい。
【0014】
また、ロボット200は、頭部204にスピーカ231を備え、スピーカ231を用いてロボット200の鳴き声を発することができる。なお、本実施形態ではスピーカ231は頭部204に備えられているが、ロボット200はスピーカ231を胴体部206に備えていてもよい。
【0015】
また、ロボット200は、
図2及び
図3に示すように、胴体部206の左右にそれぞれ1つずつタッチセンサユニット211が設けられている。タッチセンサユニット211は、静電容量方式による複数のセンサを同じ1つの基板310上に集積したものであり、ロボット200に検出対象(ユーザの手や指等)がタッチしたり近づいたりしたことを検出する。
【0016】
タッチセンサユニット211は、
図4(a)に示すように、起動センサ300を基板310の中央に備える。起動センサ300は、自己容量方式の静電容量センサである。そして、タッチセンサユニット211は、センサA301、センサB302及びセンサC303を、起動センサ300の上下にそれぞれ2つずつ備える。センサA301、センサB302及びセンサC303は、相互容量方式の静電容量センサである。なお、
図4(a)の一点鎖線A-A’でタッチセンサユニット211を切断した時の断面図を
図4(b)に示す。また、
図4(a)の一点鎖線B-B’でタッチセンサユニット211を切断した時の断面図を
図4(c)に示す。
【0017】
自己容量方式の静電容量センサは1つの電極で構成され、この電極で発生した電磁界に検出対象(手、指等)が近づいた時に、電極自身の静電容量が増加することを利用して、検出対象の近接を検出する。このため、電極の面積が大きいほど、検出対象を検出可能な範囲(検出範囲)が大きくなる。本実施形態では、静電容量の変化量を見る時間を設定し、その時間内での変化量が閾値を超えたか否かによって、検出対象が近づいたか否かを判定する。
【0018】
図4(a)に示すように自己容量方式の起動センサ300の電極は、タッチセンサユニット211全体の面積の中でかなり大きな比率を占めるので、起動センサ300は、タッチセンサユニット211からかなり離れたところまで、すなわち、
図4(b)及び
図4(c)に示す点線300Rからタッチセンサユニット211側の範囲において、検出対象の検出が可能である。本実施形態では、起動センサ300は、起動センサ計測時間(例えば1秒間)における電極の静電容量の変化量が起動閾値を超えた場合に、検出対象を検出したとみなす。
【0019】
一方、相互容量方式の静電容量センサは2つの電極で構成され、この2つの電極間で発生した電磁界の状態変化によって検出対象の近接を検出する。すなわち、検出対象が近づくことにより、電磁界の一部が遮られ、この2つの電極間の静電容量が減少することを利用して、検出対象を検出する。このため、2つの電極間の距離が長くなるほど、離れた場所の電磁界の変化の影響をより受けやすくなり、検出対象を検出可能な範囲が大きくなる。
【0020】
また、相互容量方式の静電容量センサでは、基準容量に対する静電容量の変化量が閾値を超えたか否かによって、検出対象が近づいたか否かを判定することができる。この基準容量は、静電容量センサに検出用の電力を供給している状態で静電容量センサの周囲に物体が存在していない場合における2つの電極間の静電容量に基づいて、予め設定される。また、基準容量は、検出対象が検出されていない時間帯における2つの電極間の静電容量に基づいて、定期的に更新するのが望ましい。また、相互容量方式においても、自己容量方式と同様に、静電容量の変化量を見る時間を予め設定しておき、その時間内での変化量が閾値を超えたか否かによって、検出対象が近づいたか否かを判定してもよい。
【0021】
図4(c)に示すように相互容量方式のセンサA301、センサB302及びセンサC303において、センサA301の2つの電極間の距離DA、センサB302の2つの電極間の距離DB、及び、センサC303の2つの電極間の距離DCの関係は、DA>DB>DCとなっている。このため、この3つのセンサの中では、センサA301で検出可能な範囲が最も大きく、センサC303で検出可能な範囲が最も小さい。
図4(c)では、センサA301で検出可能な範囲が点線301Rで、センサB302で検出可能な範囲が点線302Rで、センサC303で検出可能な範囲が点線303Rで、それぞれ示されている。
【0022】
本実施形態では、センサA301は、電極間の静電容量の変化量(センサA基準容量との差)がセンサA閾値よりも大きい場合に、検出対象を検出したとみなす。また、センサB302は、電極間の静電容量の変化量(センサB基準容量との差)がセンサB閾値よりも大きい場合に検出対象を検出したとみなす。また、センサC303は電極間の静電容量の変化量(センサC基準容量との差)がセンサC閾値よりも大きい場合に、検出対象を検出したとみなす。なお、センサA閾値、センサB閾値及びセンサC閾値は全て同じ値であってもよい。
【0023】
なお、センサA301、センサB302及びセンサC303から任意に選択した2つのセンサの一方は第1静電容量センサ、他方は第2静電容量センサとも呼ばれる。第1静電容量センサの2つの電極は第1電極とも呼ばれ、第2静電容量センサの2つの電極は第2電極とも呼ばれる。上述したように、各センサの2つの電極間の距離(DA、DB、DC)は異なるので、第1静電容量センサ及び第2静電容量センサは、検出対象が第1静電容量センサ及び第2静電容量センサの検出範囲よりも外側に位置している状態から、第1電極及び第2電極に対して互いに同じ最短距離分、離れた位置に検出対象が位置することによって発生した第1静電容量センサ及び第2静電容量センサの各々の静電容量の変化量が互いに異なるように構成されていることになる。
【0024】
この点について、
図5(a)を参照して説明する。ただし、ここではセンサA閾値、センサB閾値及びセンサC閾値として、全て同じセンサ閾値が設定されているものとする。例えば、第1静電容量センサをセンサA301とし、第2静電容量センサをセンサB302とする。そして、センサA301に対して検出対象である手401が最短距離Dだけ近づいている場合のセンサA301の静電容量の変化量をd1とし、センサB302に対して検出対象である手402が最短距離Dだけ近づいている場合のセンサB302の静電容量の変化量をd2とする。すると、手401は、点線301Rで示す範囲の中に入っているので、変化量d1はセンサ閾値よりも大きくなる。これに対し、手402は、点線302Rで示される位置なので、変化量d2はセンサ閾値とほぼ同じ値になる。つまり、第1静電容量センサの静電容量の変化量d1と第2静電容量センサの静電容量の変化量d2とは互いに異なる。
【0025】
また、例えば、第1静電容量センサをセンサB302とし、第2静電容量センサをセンサC303とする。そして、センサB302に対して検出対象である手402が最短距離Dだけ近づいている場合のセンサB302の静電容量の変化量をd2とし、センサC303に対して検出対象である手403が最短距離Dだけ近づいている場合のセンサC303の静電容量の変化量をd3とする。すると、手402は、点線302Rで示される位置なので、変化量d2はセンサ閾値とほぼ同じ値になる。これに対し、手403は、点線303Rで示す範囲のかなり外なので、変化量d3はセンサ閾値よりもかなり小さく、ほぼ0に近い値である。つまり、第1静電容量センサの静電容量の変化量d2と第2静電容量センサの静電容量の変化量d3とは互いに異なる。
【0026】
第1静電容量センサをセンサA301とし、第2静電容量センサをセンサC303とした場合も同様に、変化量d1は、変化量d3より大きな値になることがわかる。つまり、この場合も第1静電容量センサの静電容量の変化量d1と第2静電容量センサの静電容量の変化量d3とは互いに異なる。以上より、検出対象が第1静電容量センサ及び第2静電容量センサの検出範囲よりも外側に位置している状態から、第1電極及び第2電極に対して互いに同じ最短距離Dだけ離れた位置に検出対象が位置することによって発生した第1静電容量センサ及び第2静電容量センサの各々の静電容量の変化量は互いに異なることが確認できる。また、起動センサ300は、第3静電容量センサとも呼ばれる。
【0027】
図2に示すように本体部207は外装201で覆われ、外装201は基布208と毛203とで構成されている。また、上述したように、起動センサ300の検出範囲は、センサA301、センサB302及びセンサC303の検出範囲よりも大きい。このため、
図5(b)から明らかなように、ユーザが手をロボット200に近づけると、まず起動センサ300の検出範囲(点線300R)内に手が入り、起動センサ300の電極の静電容量の変化量が起動閾値を超える。
【0028】
そして、ユーザが手をロボット200にさらに近づけ、毛203の表面をそっと撫でた時には、センサA301の検出範囲(点線301R)内に手が入る。するとセンサA301の電極間の静電容量の変化量がセンサA閾値を超える。しかし、この時の手の位置は、センサB302及びセンサC303の検出範囲(それぞれ点線302R、点線303R)よりも外側なので、センサB302及びセンサC303のそれぞれの2つの電極間の静電容量の変化量は、センサB閾値及びセンサC閾値以下である。すなわち、センサA301、センサB302及びセンサC303のうち、センサA301のみが手を検出する。このことから、ロボット200は、ユーザが毛203の表面をそっと撫でたことを検出できる。
【0029】
そして、ユーザがさらに手をロボット200に近づけて、毛203が撓むような力で撫でた時には、センサA301の検出範囲に加え、センサB302の検出範囲(点線302R)内に手が入り、センサC303の検出範囲(点線303R)内には手が入らない。すると、センサA301及びセンサB302の電極間の静電容量の変化量が、センサA閾値及びセンサB閾値をそれぞれ超え、センサC303の電極間の静電容量の変化量はセンサC閾値を超えない。すなわち、センサA301とセンサB302とが手を検出し、センサC303は手を検出しない。このことから、ロボット200は、ユーザが毛203を撓ませるくらいしっかりと毛203を撫でたことを検出できる。
【0030】
そして、ユーザがロボット200をぎゅっと力を入れて触った時には、センサA301及びセンサB302の検出範囲に加え、センサC303の検出範囲(点線303R)内に手が入る。すると、センサA301、センサB302及びセンサC303の電極間の静電容量の変化量が、センサA閾値、センサB閾値及びセンサC閾値をそれぞれ超える。すなわち、センサA301、センサB302、センサC303の全てが手を検出する。このことから、ロボット200は、ユーザがロボット200を、力を入れて触ったことを検出できる。
【0031】
なお、
図4(a)に示す相互容量方式のセンサA301、センサB302及びセンサC303の配線パターンの形状は四角い形状であるが、この配線パターンは一例である。センサA301と、センサB302と、センサC303とで、それぞれの検出範囲が異なるように電極を形成できるなら、タッチセンサユニット211は、任意の配線パターンを用いてよい。
【0032】
また、本実施形態では、検出範囲を3種類区別できるように、タッチセンサユニット211は、センサA301、センサB302、センサC303という3種類の相互容量方式の静電容量センサを備えるものとした。しかし、検出範囲の種類は3種類に限らず、2種類でもよいし、4種類以上でもよい。
【0033】
また、本実施形態では、センサA301、センサB302、センサC303は全て相互容量方式の静電容量センサとしたが、例えば、面積の異なる数種類の自己容量方式の静電容量センサを用いてもよい。また、一部のセンサとして自己容量方式の静電容量センサを、残りのセンサとして相互容量方式の静電容量センサを、それぞれ用いてもよい。また、本実施形態では起動センサ300は自己容量方式の静電容量センサとしたが、例えば、2つの電極間の距離を距離DAよりも大きく(例えば距離DAの3倍に)設定した相互容量方式の静電容量センサを用いてもよい。
【0034】
また、本実施形態では、
図4(a)に示すように、タッチセンサユニット211は、センサA301、センサB302及びセンサC303を、起動センサ300の上下にそれぞれ2つずつ備えるが、各センサの配置は任意である。例えば、起動センサ300の左右両側にセンサA301、センサB302及びセンサC303をそれぞれ備えてもよい。また、起動センサ300、センサA301、センサB302及びセンサC303は、同一平面上の異なる位置に配置されているが、各センサの配置位置はこれに限らない。例えば、起動センサ300、センサA301、センサB302及びセンサC303の一部が基板310とは異なる基板に配置される等、タッチセンサユニット211は、複数の基板で構成されてもよい。
【0035】
次に、ロボット200の機能構成について説明する。ロボット200は、
図6に示すように、制御部110と、記憶部120と、センサ部210と、駆動部220と、出力部230と、操作部240と、を備え、これらがバスラインBLを介して電気的に接続されている。
【0036】
制御部110は、例えば、CPU(Central Processing Unit)等で構成され、記憶部120に記憶されたプログラムを実行することにより、ロボット200の動作を制御する。また、制御部110は、マルチスレッド機能に対応しており、複数のスレッド(異なる処理の流れ)を並行して進めることができる。
【0037】
記憶部120は、ROM(Read Only Memory)、RAM(Random Access Memory)等で構成される。ROMには、制御部110のCPUが実行するプログラム及びプログラムを実行する上で予め必要なデータが、記憶されている。RAMには、プログラム実行中に作成されたり変更されたりするデータが記憶される。
【0038】
センサ部210は、前述したタッチセンサユニット211を備える。制御部110は、バスラインBLを介して、センサ部210が備える各種センサが検出した検出値を外部刺激として取得する。なお、センサ部210は、タッチセンサユニット211以外のセンサ(例えば、加速度センサ、音センサ等)をさらに備えてもよい。センサ部210が備えるセンサの種類を増やすことにより、制御部110が取得できる、ロボット200に対する外部刺激の種類を増やすことができる。
【0039】
タッチセンサユニット211は、上述したように、手や指等の検出対象が近づいたり接触したりしたことを検出する。制御部110は、タッチセンサユニット211からの検出値に基づいて、ユーザによってロボット200が撫でられていること等を検出することができる。
【0040】
駆動部220は、前述したひねりモータ221及び上下モータ222を備える。駆動部220は、制御部110によって駆動される。その結果、ロボット200は、例えば頭部204を持ち上げたり(第2回転軸を中心として上方に回転させたり)、横にひねったり(第1回転軸を中心として右方又は左方にひねり回転させたり)するような動作を表現することができる。
【0041】
出力部230は、前述したスピーカ231を備え、制御部110が音のデータを出力部230に入力することにより、スピーカ231から音が出力される。例えば、制御部110がロボット200の鳴き声のデータを出力部230に入力することにより、ロボット200は疑似的な鳴き声を発する。
【0042】
操作部240は、例えば、操作ボタン、ボリュームつまみ等から構成される。操作部240は、例えば、電源オンオフ、出力音のボリューム調整等のユーザ操作を受け付けるためのインタフェースである。
【0043】
次に、
図7に示すフローチャートを参照しながら、ロボット200の制御部110が実行するロボット制御処理について説明する。ロボット制御処理は、制御部110が、ロボット200の動作を制御する処理である。ユーザがロボット200の電源をオンすると、ロボット制御処理が開始される。
【0044】
まず、制御部110は、初期化処理を行う(ステップS101)。初期化処理では、例えば、外部刺激フラグの値を0にリセットする処理が行われる。外部刺激フラグとは、ロボット200に対する外部刺激の検出状態を示す変数である。本実施形態では、外部刺激フラグとして、センサA301の検出状態を示す外部刺激フラグA、センサB302の検出状態を示す外部刺激フラグB、センサC303の検出状態を示す外部刺激フラグC、が存在する。ステップS101では、これら外部刺激フラグA、B、Cが全て0にリセットされる。また、ステップS101では、制御部110は、タッチセンサユニット211が備える全てのセンサ(起動センサ300、センサA301、センサB302、センサC303)への検出用の電力の供給を禁止し、これら全てのセンサはOFF状態(電力を消費しない状態)となり、対象を検出できない状態(各センサの電極から電磁界が発生していない状態)になる。なお、各センサの検出用の電力は、ロボット200の電源ユニットから供給される。
【0045】
次に、制御部110は、後述する外部刺激取得処理スレッドを起動する(ステップS102)。外部刺激取得処理スレッドは、ロボット制御処理と並行に動作し、センサ部210から外部刺激を取得して、取得した刺激に応じて外部刺激フラグをセットする外部刺激取得処理を行う。
【0046】
そして、制御部110は、上記の外部刺激フラグがセットされたか否かを判定する(ステップS103)。外部刺激フラグがセットされていなければ(ステップS103;No)、ステップS103に戻る。
【0047】
外部刺激フラグがセットされていたら(ステップS103;Yes)、制御部110は、セットされた外部刺激フラグに応じて、駆動部220を駆動したり、出力部230から音声を出力させたりして、ロボット200の動作を制御する(ステップS104)。
【0048】
例えば、外部刺激フラグAがセットされていたら、制御部110は、毛203の表面をそっと撫でられたと判断し、ロボット200に、毛203をそっと撫でられたことに気付いたことを示すちょっとした動作を行わせる。このちょっとした動作としては、上下モータ222で軽く頭部204を持ち上げて、スピーカ231からかわいい鳴き声を出力させるような動作が一例として挙げられる。
【0049】
また、外部刺激フラグBがセットされたら、制御部110は、毛203をしっかり触られたと判断し、ロボット200に、気持ちよさそうな動作を行わせる。この気持ちよさそうな動作としては、ひねりモータ221で胴体部206を小さくねじり、スピーカ231から甘えた鳴き声を出力させるような動作が一例として挙げられる。
【0050】
また、外部刺激フラグCがセットされたら、制御部110は、ぎゅっと力強く握られたと判断し、ロボット200に、嫌であることを示す動作を行わせる。この嫌であることを示す動作としては、ひねりモータ221及び上下モータ222で頭部204を左右に大きく振って、スピーカ231から悲鳴のような鳴き声を出力させるような動作が一例として挙げられる。
【0051】
このように、ステップS104において制御部110は、センサA301、センサB302及びセンサC303の検出結果に応じて、ロボット200の動作を制御する制御手段として機能する。なお、ここでは、外部刺激フラグの各々に対応する動作を一例として挙げたが、ロボット200の動作は、このような、外部刺激フラグの各々と一対一で対応するような動作に限られない。
【0052】
例えば、ロボット200に、疑似的な感情を持たせるための変数(感情変数)を設定し、この感情変数を外部刺激フラグに基づいて変化させ、感情変数の値に応じてロボット200の動作を制御してもよい。このような制御を行うと、例えば、ユーザが同じように毛203を撫でても、その時のロボット200の感情変数の値に応じて、ロボット200の動作が変わるように制御することも可能になる。
【0053】
図7に戻り、制御部110は、ステップS104で、ロボット200に外部刺激フラグに応じた動作を完了させた後は、外部刺激フラグをリセットする(ステップS105)。具体的には、外部刺激フラグA、B、Cを全て0にする。
【0054】
そして、制御部110は、処理を終了するか否かを判定する(ステップS106)。例えば、操作部240が、ロボット200の電源オフの指示を受け付けたら、制御部110は処理を終了すると判定する。処理を終了するなら(ステップS106;Yes)、制御部110は、ロボット制御処理を終了する。
【0055】
処理を終了しないなら(ステップS106;No)、制御部110は、ステップS103に戻って、外部刺激に応じてロボット200を動作させる処理を継続する。
【0056】
次に、ロボット制御処理のステップS102で起動される外部刺激取得処理スレッドについて、
図8を参照して説明する。このスレッドで実行される外部刺激取得処理では、制御部110は、外部刺激を取得するだけでなく、タッチセンサユニット211で消費される電力をできるだけ低減するように、各静電容量センサのON/OFF状態を制御する。このスレッドにおいて、制御部110は、センサ制御手段として機能する。
【0057】
まず、制御部110は、起動センサ300への検出用の電力の供給を許可して起動センサ300をONにする(ステップS201)。これにより、ロボット200は、検出対象が近づいたことを検出できるようになる。
【0058】
そして、制御部110は、予め設定された起動センサ計測時間(例えば1秒間)内での起動センサ300の電極の静電容量の変化量(起動センサ計測時間における最後のタイミングで取得された静電容量と最初のタイミングで取得された静電容量との差)が、起動閾値を超えているか否かを判定する(ステップS202)。
【0059】
起動センサ300の電極の静電容量の変化量が起動閾値以下なら(ステップS202;No)、ステップS202に戻る。変化量が起動閾値以下ということは、検出対象が近接していないことを意味するので、制御部110は、ステップS202に戻ることにより、センサA301、センサB302及びセンサC303への電力の供給を禁止し続ける。
【0060】
起動センサ300の電極の静電容量の変化量が起動閾値を超えているなら(ステップS202;Yes)、制御部110は、起動センサ300への検出用の電力の供給を禁止して起動センサ300をOFFにする(ステップS203)。そして、センサA301、センサB302及びセンサC303への検出用の電力の供給を許可することによって、これらのセンサA301~センサC303をONにする(ステップS204)。起動センサ300の電極の静電容量の変化量が起動閾値を超えているということは、検出対象が近接したことを意味するため、それに応じて、センサA301~C303が起動される。
【0061】
そして、制御部110は、センサA計測時間(例えば3秒間)の間に、センサA301の電極間の静電容量のセンサA基準容量に対する変化量(センサA基準容量と現在の静電容量との差)が、センサA閾値を超えたか否かを判定する(ステップS205)。センサA閾値を超えていないなら(ステップS205;No)、ステップS211に進む。
【0062】
センサA301の電極間の静電容量の変化量がセンサA閾値を超えたなら(ステップS205;Yes)、制御部110は、センサB計測時間(例えば0.5秒間)の間に、センサB302の電極間の静電容量のセンサB基準容量に対する変化量(センサB基準容量と現在の静電容量との差)が、センサB閾値を超えたか否かを判定する(ステップS206)。センサB閾値を超えていないなら(ステップS206;No)、制御部110は、外部刺激フラグAに1をセットして(ステップS207)、ステップS211に進む。
【0063】
センサB302の電極間の静電容量の変化量がセンサB閾値を超えたなら(ステップS206;Yes)、制御部110は、センサC計測時間(例えば0.5秒間)の間に、センサC303の電極間の静電容量のセンサC基準容量に対する変化量(センサC基準容量と現在の静電容量との差)が、センサC閾値を超えたか否かを判定する(ステップS208)。センサC閾値を超えていないなら(ステップS208;No)、制御部110は、外部刺激フラグBに1をセットして(ステップS209)、ステップS211に進む。
【0064】
センサC303の電極間の静電容量の変化量がセンサC閾値を超えたなら(ステップS208;Yes)、制御部110は、外部刺激フラグCに1をセットして(ステップS210)、ステップS211に進む。
【0065】
なお、ステップS205では、当該変化量がセンサA閾値を超えたら、センサA計測時間の間待つことなく、すぐにステップS206に進む。また、ステップS206では、当該変化量がセンサB閾値を超えたら、センサB計測時間の間待つことなく、すぐにステップS208に進む。また、ステップS208では、当該変化量がセンサC閾値を超えたら、センサC計測時間の間待つことなく、すぐにステップS210に進む。
【0066】
ステップS211では、制御部110は、センサA301、センサB302及びセンサC303への検出用の電力の供給を禁止してこれらのセンサをOFFにし、ステップS201に戻る。
【0067】
以上説明した外部刺激取得処理によれば、ロボット200は、ユーザが手をロボット200にどの程度近づけたか(例えば、やさしく撫でられている、しっかり撫でられている、ぎゅっと掴まれている等)を区別して検出することができる。また、この検出は、前述した従来の場合と異なり、表皮と外皮の間及び外皮と本体部の間のそれぞれにセンサを設けるのではなく、
図4(a)に示すようなシンプルなタッチセンサユニット211を用いて行うことができ、ロボット200の構成を簡略化することができる。
【0068】
また、タッチセンサユニット211は、上述のようなシンプルな構成にも関わらず、検出範囲の異なる複数のセンサ(センサA301、センサB302、センサC303)を備えている。このため、タッチセンサユニット211は、構成のさらなる簡略化と、(複数の検出範囲を用いて検出対象の近接の度合を把握可能という)高機能化とを両立できる。
【0069】
また、外部刺激取得処理により、検出対象が近接していない時には、タッチセンサユニット211に搭載されているセンサのうち、起動センサ300のみに検出用の電力が供給され、センサA301、センサB302及びセンサC303には検出用の電力は供給されないので、消費電力の低減を図ることができる。
【0070】
また、外部刺激取得処理により、検出対象が近接している時には、センサA301、センサB302及びセンサC303に検出用の電力が供給されるが、起動センサ300には検出用の電力は供給されないので、起動センサ300に常に検出用の電力を供給する場合と比較すると、さらに消費電力の低減を図ることができる。
【0071】
また、起動センサ300は、電極の面積が大きい高感度な自己容量方式のセンサなので、小さな消費電力で広い検出範囲をカバーすることができる。
【0072】
また、センサA301、センサB302及びセンサC303は検出範囲を互いに異ならせた相互容量方式のセンサなので、湿度の変化や水濡れ等の環境変化によらずに、各センサから検出対象までの距離の違いを高精度に判別することができる。
【0073】
なお、上述の実施形態において、ロボット200はタッチセンサユニット211を胴体部206の左右に1つずつ設けていたが、これは一例である。ロボット200は、頭部204と胴体部206の少なくとも一方に、少なくとも1つのタッチセンサユニット211を備えていればよい。例えばロボット200は、胴体部206に代えて、又は、胴体部206とともに、頭部204にタッチセンサユニット211を設けてもよい。
【0074】
上述の実施形態において、制御部110のCPUが実行する動作プログラムは、あらかじめ記憶部120のROM等に記憶されていた。しかしながら、本発明は、これに限定されず、上述の各種処理を実行させるための動作プログラムを、既存の汎用コンピュータ等に実装することにより、上述の実施形態に係るロボット200に相当する装置として機能させてもよい。
【0075】
このようなプログラムの提供方法は任意であり、例えば、コンピュータが読取可能な記録媒体(フレキシブルディスク、CD(Compact Disc)-ROM、DVD(Digital Versatile Disc)-ROM、MO(Magneto-Optical Disc)、メモリカード、USBメモリ等)に格納して配布してもよいし、インターネット等のネットワーク上のストレージにプログラムを格納しておき、これをダウンロードさせることにより提供してもよい。
【0076】
また、上述の処理をOS(Operating System)とアプリケーションプログラムとの分担、又は、OSとアプリケーションプログラムとの協働によって実行する場合には、アプリケーションプログラムのみを記録媒体やストレージに格納してもよい。また、搬送波にプログラムを重畳し、ネットワークを介して配信することも可能である。例えば、ネットワーク上の掲示板(Bulletin Board System:BBS)に上記プログラムを掲示し、ネットワークを介してプログラムを配信してもよい。そして、このプログラムを起動し、OSの制御下で、他のアプリケーションプログラムと同様に実行することにより、上記の処理を実行できるように構成してもよい。
【0077】
本発明は、本発明の広義の精神と範囲とを逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、前述した実施の形態は、この発明を説明するためのものであり、本発明の範囲を限定するものではない。すなわち、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【0078】
(付記1)
ロボットであって、
本体部と、
第1電極を有し、前記本体部に設けられた第1静電容量センサと、
第2電極を有し、前記本体部に設けられた第2静電容量センサと、を備え、
前記第1及び第2静電容量センサは、前記第1及び第2静電容量センサの検出範囲よりも外側に検出対象が位置している状態から前記第1及び第2電極に対して互いに同じ距離分、離れた位置に前記検出対象が位置することによって発生した前記第1及び第2静電容量センサの各々の静電容量の変化量が互いに異なるように構成されており、
前記本体部、前記第1及び第2静電容量センサを覆う外装と、
前記第1及び第2静電容量センサの検出結果に応じて、前記ロボットの動作を制御する制御手段と、
をさらに備えるロボット。
【0079】
(付記2)
前記第1及び第2電極が互いに同じ基板に設けられている、
付記1に記載のロボット。
【0080】
(付記3)
前記第1及び第2静電容量センサよりも大きい検出範囲を有し、前記本体部に設けられるとともに、前記外装に覆われた第3静電容量センサと、
前記第3静電容量センサにより前記ロボットへの前記検出対象の近接が検出されたことを条件として、前記第1及び第2静電容量センサへの検出用の電力の供給を許可し、前記第3静電容量センサにより前記ロボットへの前記検出対象の近接が検出されていないことを条件として、前記第1及び第2静電容量センサへの前記検出用の電力の供給を禁止するセンサ制御手段と、
をさらに備える、付記1又は2に記載のロボット。
【0081】
(付記4)
前記センサ制御手段は、
前記第3静電容量センサにより前記ロボットへの前記検出対象の近接が検出されたことを条件として、前記第1及び第2静電容量センサへの検出用の電力の供給を許可するとともに、前記第3静電容量センサへの検出用の電力の供給を禁止し、
検出用の電力が供給された前記第1及び第2静電容量センサの検出結果に応じて前記ロボットの動作が前記制御手段により制御されたことを条件として、前記第1及び第2静電容量センサへの前記検出用の電力の供給を禁止するとともに、検出用の電力の供給が禁止されている前記第3静電容量センサへの検出用の電力の供給を許可する、
付記3に記載のロボット。
【0082】
(付記5)
前記第3静電容量センサは、自己容量方式の静電容量センサである、
付記3または4に記載のロボット。
【0083】
(付記6)
前記第1及び第2静電容量センサは、相互容量方式の静電容量センサである、
付記1から5のいずれか1つに記載のロボット。
【符号の説明】
【0084】
110…制御部、120…記憶部、200…ロボット、201…外装、202…装飾部品、203…毛、204…頭部、205…連結部、206…胴体部、207…本体部、208…基布、210…センサ部、211…タッチセンサユニット、220…駆動部、221…ひねりモータ、222…上下モータ、230…出力部、231…スピーカ、240…操作部、300…起動センサ、300R,301R,302R,303R…点線、301…センサA、302…センサB、303…センサC、310…基板、401,402,403…手、BL…バスライン