(57)【特許請求の範囲】
【請求項１】
頭部と、その頭部を支持する胴体部を有し、前記頭部が所望の位置となるように１あるいはそれ以上の旋回軸を持つロボットにおいて、
前記旋回軸ごとに前記頭部の位置を検知する検知手段と、
前記検知された頭部の位置の時間的な変化を、その頭部の速度として算出する算出手段と、
前記速度をもとに、前記頭部に対する外力の作用を検出する検出手段と、
前記検出された前記外力の作用の違いをもとに、ユーザが当該ロボットを撫でた、あるいは叩いたと判断する判断手段と、を備え、
前記判断手段は、前記検出結果に基づいて、前記頭部が停止状態の後、前記速度が第１の速度閾値を超え、その速度閾値を超えた状態が第１の時間以上、継続された場合に、当該ロボットが撫でられたと判断することを特徴とするロボット。
【請求項２】
前記判断手段は、前記検出結果に基づいて、前記頭部が停止状態の後、前記速度が第２の速度閾値を超え、その速度閾値を超えた時間が第２の時間以下である場合に、当該ロボットが叩かれたと判断することを特徴とする請求項１記載のロボット。
【請求項３】
前記判断手段は、前記検出結果により、前記頭部が停止状態の後、前記速度が第１の速度閾値を超え、その速度閾値を超えた状態が第１の時間以上、継続された場合に、当該ロボットが撫でられたと判断し、また、前記頭部が停止状態の後、前記速度が第２の速度閾値を超え、その速度閾値を超えた時間が第２の時間以下である場合に、当該ロボットが叩かれたと判断することを特徴とする請求項１記載のロボット。
【請求項４】
前記第１の速度閾値は、前記第２の速度閾値よりも小さく、また、前記第１の時間は、前記第２の時間よりも長いことを特徴とする請求項３記載のロボット。
【請求項５】
前記速度が前記第１の速度閾値を超え、前記判断手段による判断のための時間計測が開始された後に、前記速度が前記第１の速度閾値を下回った場合、一時的に前記時間計測を中断し、所定の時間内に、再び前記速度が前記第１の速度閾値を超えたならば、前記時間計測を復帰させることを特徴とする請求項１記載のロボット。
【請求項６】
前記第１の速度閾値を用いた判断に換えて、異なる２つの速度閾値Ｖｓｔ１，Ｖｓｔ２を設定し、前記速度が、これら２つの速度閾値Ｖｓｔ１，Ｖｓｔ２の間にある場合、前記判断手段による撫で判断のための時間計測を行うことを特徴とする請求項１記載のロボット。
【請求項７】
前記第２の時間を用いた判断に換えて、異なる２つの時間閾値Ｔｐｔ１，Ｔｐｔ２からなり、前記速度が前記第２の速度閾値を超えた時間が、これら２つの時間閾値Ｔｐｔ１，Ｔｐｔ２の間にある場合、前記判断手段は、ユーザがロボットを叩いたと判断するようにしたことを特徴とする請求項２記載のロボット。
【請求項８】
さらに、前記頭部の所定の目標速度と、前記算出手段で算出した前記頭部の速度との差分が、前記第１の速度閾値あるいは前記第２の速度閾値を越えるかどうかを判断する手段を備え、前記差分が、これらの第１の速度閾値あるいは第２の速度閾値を越えた場合、前記判断手段による判断のための時間計測を行うことを特徴とする請求項１または２記載のロボット。
【請求項９】
前記検知手段による検知結果を入力する微分回路と、
前記算出手段および検出手段として、所定の比較波形と前記微分回路の出力とを入力する比較回路、および、この比較回路の出力についての時間計測を行う時間計測回路と、
前記判断手段として、前記時間計測回路からの時間信号を入力する判定回路とを備え、
前記判定回路は、前記時間信号の示す時間が前記第１の時間を超えた場合、当該ロボットが撫でられた旨の検出信号を出力することを特徴とする請求項１記載のロボット。
【請求項１０】
前記検知手段による検知結果を入力する微分回路と、
前記算出手段および検出手段として、所定の比較波形と前記微分回路の出力とを入力する比較回路、および、この比較回路の出力についての時間計測を行う時間計測回路と、
前記判断手段として、前記時間計測回路からの時間信号を入力する判定回路とを備え、
前記判定回路は、前記時間信号の示す時間が前記第２の時間を下回った場合、当該ロボットが叩かれた旨の検出信号を出力することを特徴とする請求項２記載のロボット。
【請求項１１】
前記検知手段は、少なくともポテンショメータ、およびエンコーダを含むことを特徴とする請求項１または２記載のロボット。
【請求項１２】
前記胴体部には、所望の位置に制御される腕部が設置され、この腕部は、１あるいはそれ以上の旋回軸を有するとともに、その旋回軸には、前記腕部の位置検出センサが取り付けられ、前記判断手段は、前記位置検出センサからの出力をもとに、前記腕部がユーザにより撫でられた、あるいは叩かれたことを判断することを特徴とする請求項３記載のロボット。
【請求項１３】
前記胴体部には、所望の位置に制御される足部が設置され、この足部は、１あるいはそれ以上の旋回軸を有するとともに、その旋回軸には、前記足部の位置検出センサが取り付けられ、前記判断手段は、前記位置検出センサからの出力をもとに、前記足部がユーザにより撫でられた、あるいは叩かれたことを判断することを特徴とする請求項３記載のロボット。
【請求項１４】
さらに、前記判断手段により、撫でられた、あるいは叩かれたの判断対象となる当該ロボットの部位以外の部位が動作しているときには、その判断対象部位についての検出信号を停止する手段を備えることを特徴とする請求項１２または１３記載のロボット。
【請求項１５】
前記判断手段による、撫でられた、あるいは叩かれたの判断対象となる当該ロボットの部位以外の部位が動作しているときには、前記判断対象となる当該ロボットの部位についての前記第１および第２の速度閾値、および、前記第１および第２の時間を、前記判断対象となる当該ロボットの部位以外の部位が非動作状態にあるときに比べて大きく設定することを特徴とする請求項１２または１３記載のロボット。
【請求項１６】
頭部と、その頭部を支持する胴体部を有し、前記頭部が所望の位置となるように１あるいはそれ以上の旋回軸を持つロボットの制御方法において、
前記旋回軸ごとに前記頭部の位置を検知する検知ステップと、
前記検知された頭部の位置の時間的な変化を、その頭部の速度として算出する算出ステップと、
前記速度をもとに、前記頭部に対する外力の作用を検出する検出ステップと、
前記検出された前記外力の作用の違いをもとに、ユーザが当該ロボットを撫でた、あるいは叩いたと判断する判断ステップと、を備え、
前記判断ステップでは、前記検出ステップにおける検出結果に基づいて、前記頭部が停止状態の後、前記速度が第１の速度閾値を超え、その速度閾値を超えた状態が第１の時間以上、継続された場合に、当該ロボットが撫でられたと判断することを特徴とするロボットの制御方法。
【請求項１７】
前記判断ステップは、前記検出ステップにおける検出結果に基づいて、前記頭部が停止状態の後、前記速度が第２の速度閾値を超え、その速度閾値を超えた時間が第２の時間以下である場合に、当該ロボットが叩かれたと判断することを特徴とする請求項１６記載のロボットの制御方法。
【請求項１８】
さらに、前記頭部の所定の目標速度と、前記算出ステップで算出した前記頭部の速度との差分が、前記第１の速度閾値あるいは前記第２の速度閾値を越えるかどうかを判断するステップを備え、前記差分が、これら第１の速度閾値あるいは第２の速度閾値を越えた場合、前記判断ステップによる判断のための時間計測を行うことを特徴とする請求項１６または１７記載のロボットの制御方法。
【請求項１９】
前記胴体部には、１あるいはそれ以上の旋回軸と位置検出センサとを有する腕部がさらに配置され、前記判断ステップは、前記位置検出センサからの出力をもとに、前記腕部がユーザにより撫でられた、あるいは叩かれたことを判断することを特徴とする請求項１６または１７記載のロボットの制御方法。
【請求項２０】
前記胴体部には、１あるいはそれ以上の旋回軸と位置検出センサとを有する足部がさらに配置され、前記判断ステップは、前記位置検出センサからの出力をもとに、前記足部がユーザにより撫でられた、あるいは叩かれたことを判断することを特徴とする請求項１６または１７記載のロボットの制御方法。
【請求項２１】
頭部と、その頭部を支持する胴体部を有し、前記頭部が所望の位置となるように１あるいはそれ以上の旋回軸を持つロボットを制御するためのコンピュータに実行させるプログラムにおいて、
前記コンピュータに、
前記旋回軸ごとに前記頭部の位置を検知する検知処理と、
前記検知された頭部の位置の時間的な変化を、その頭部の速度として算出する算出処理と、
前記速度をもとに、前記頭部に対する外力の作用を検出する検出処理と、
前記検出された前記外力の作用の違いをもとに、ユーザが当該ロボットを撫でた、あるいは叩いたと判断する判断処理と、を実行させ、
前記判断処理では、前記検出処理における検出結果に基づいて、前記頭部が停止状態の後、前記速度が第１の速度閾値を超え、その速度閾値を超えた状態が第１の時間以上、継続された場合に、当該ロボットが撫でられたと判断する処理を前記コンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はロボットおよびその制御方法に関し、特に、家庭用ロボットやペット・ロボットといった、ユーザとコミュニケーションを取ることを目的とするロボット、その制御方法およびプログラムに関するものである。
【０００２】
【従来の技術】
近年、家庭用ロボットやペット・ロボットといった、ユーザとの間でコミュニケーションを取ることを目的とするロボットが多数、開発されている。この種のロボットとユーザとのコミュニケーション手段として、一般的に用いられるのは、ユーザが、ロボットの頭部を撫でたり、叩いたりすることである。そして、ユーザが、撫でたり、叩いたりすることにロボットが反応する。
【０００３】
このような、ユーザにより、撫でる、叩かれるといった行為を検出するセンサについては、従来、以下のような技術が公開されている。実公平３−０４９７４４号公報に記載の技術は、玩具において、その玩具の頭部に振動センサと焦電センサを備え、これらのセンサで、ユーザによる玩具頭部の撫で、叩かれを検出する。そして、同公報には、各センサに対応した個別の音声を出力することが記述されている。
【０００４】
実開昭６２−１６０９５号公報には、玩具において、焦電センサにより玩具の頭部を手で撫でるような直接的、かつ穏やかな接触のみを検出し、それに従って、音声を出力する技術が記述されている。また、実開昭６２−１６０９７号公報には、ユーザが玩具の頭部を手で撫でると、それにより焦電センサが刺激を受けて電気信号を出力し、かかる行為を撫で・叩かれと判断する旨が記述されている。
【０００５】
家庭用ロボットやペット・ロボットといった、ユーザとコミュニケーションを取ることを目的とするロボットは、通常、頭部を所望の位置になることができるような構成をとる。このような構成を有するロボットに、先行技術文献に開示された手法を適用した例を、図１０に示す。
【０００６】
図１０に示すロボットは、頭部１ｐと胴体部２ｐを有する。頭部１ｐは、頭部支持部３ｐによって支持され、１つ、または複数の旋回軸４ｐと、各軸ごとにモータ１２ｐと位置検出センサ１１ｐを有する。このロボットは、ロボット・コントローラ５ｐにより制御され、そのロボット・コントローラ５ｐは、行動決定手段２２ｐ、モータ制御手段２３ｐ、撫で・叩かれ検出手段２１ｐを有する。
【０００７】
ロボットの行動は、行動決定手段２２ｐにより決定され、ロボットの頭部１ｐを所望の位置にするため、行動決定手段２２ｐは、モータ制御信号１０４ｐをモータ制御手段２３ｐに出力する。モータ制御手段２３ｐでは、位置検出センサ１１ｐによって検出される頭部１ｐの位置となる位置センサ出力１０１ｐに応じて、モータ１２ｐへモータ制御出力１０３ｐを出力する構成をとる。この構成により、ロボットの頭部１ｐを所望の位置にすることができる。
【０００８】
次に、上記の構成をとるロボットにおいて、撫でや叩かれによって行動を決定し、それらに反応した動きをする機能を実現するために、先行技術文献に開示された手法を適用した場合の動作を説明する。
【０００９】
すなわち、頭部１ｐに、撫でや叩かれを検出するための、例えば、振動センサや焦電センサといった、撫で・叩かれ検出のためのセンサ１３ｐを設置する。そして、これらのセンサより出力される撫で・叩かれ検出センサ出力１０５ｐを、撫で・叩かれ検出手段２１ｐに入力し、そこで、ロボットが撫でられたか、叩かれたかを判断する。
【００１０】
撫で・叩かれ検出手段２１ｐは、行動決定手段２２ｐに撫で・叩かれ検出信号１０２ｐを出力する構成をとる。かかる構成により、行動決定手段２２ｐは、撫でられたか、叩かれたに反応して、ロボットを動かすためのモータ制御信号１０４ｐを出力する。
【００１１】
【発明が解決しようとする課題】
しかしながら、上述した従来の技術を、頭部と胴体部より構成され、頭部が所望の位置になるように、１つ、または複数の旋回軸を持つロボットに適用した場合、撫でや叩かれを検出するために、焦電センサや振動センサといった特別なセンサを設ける構成が必須となり、ロボットの構造が複雑になるという問題がある。
【００１２】
つまり、頭部と胴体部より構成されたロボットにおいて、その頭部が所望の位置になるようにできる、１つ、または複数の旋回軸を持たせ、各軸ごとにモータと位置検出センサを有するようにして、ユーザによる、頭部の撫でや叩かれを検出するために、焦電センサや振動センサといった特別なセンサを設ける構成とすることは、ロボット自体の構造を非常に複雑化することになる。
【００１３】
本発明は、上述の課題に鑑みてなされたものであり、その目的とするところは、振動センサ、あるいは焦電センサといった特別なセンサを使わずに、ユーザがロボットを撫で、あるいは叩いたかどうかを容易に検出できるロボット、その制御方法およびプログラムを提供することである。
【００１４】
本発明の他の目的は、簡単な構成により、ロボットが撫でられたか、あるいは叩かれたかを確実に検出できるロボット、その制御方法およびプログラムを提供することである。
【００１５】
【課題を解決するための手段】
上記の目的を達成するために、本発明は、頭部と、その頭部を支持する胴体部を有し、上記頭部が所望の位置となるように１あるいはそれ以上の旋回軸を持つロボットにおいて、上記旋回軸ごとに上記頭部の位置を検知する検知手段と、上記検知された頭部の位置の時間的な変化を、その頭部の速度として算出する算出手段と、上記速度をもとに、上記頭部に対する外力の作用を検出する検出手段と、上記検出された上記外力の作用の違いをもとに、ユーザが当該ロボットを撫でた、あるいは叩いたと判断する判断手段と、を備え、上記判断手段は、上記検出結果に基づいて、上記頭部が停止状態の後、上記速度が第１の速度閾値を超え、その速度閾値を超えた状態が第１の時間以上、継続された場合に、当該ロボットが撫でられたと判断するロボットを提供する。
【００１７】
また、好ましくは、上記判断手段は、上記検出結果に基づいて、上記頭部が停止状態の後、上記速度が第２の速度閾値を超え、その速度閾値を超えた時間が第２の時間以下である場合に、当該ロボットが叩かれたと判断する。
【００１８】
好適には、本発明に係るロボットは、さらに、上記頭部の所定の目標速度と、上記算出手段で算出した上記頭部の速度との差分が、上記第１の速度閾値あるいは上記第２の速度閾値を越えるかどうかを判断する手段を備え、上記差分が、これらの第１の速度閾値あるいは第２の速度閾値を越えた場合、上記判断手段による判断のための時間計測を行う。
【００１９】
また、他の発明によれば、頭部と、その頭部を支持する胴体部を有し、上記頭部が所望の位置となるように１あるいはそれ以上の旋回軸を持つロボットの制御方法において、上記旋回軸ごとに上記頭部の位置を検知する検知ステップと、上記検知された頭部の位置の時間的な変化を、その頭部の速度として算出する算出ステップと、上記速度をもとに、上記頭部に対する外力の作用を検出する検出ステップと、上記検出された上記外力の作用の違いをもとに、ユーザが当該ロボットを撫でた、あるいは叩いたと判断する判断ステップと、を備え、上記判断ステップでは、上記検出ステップにおける検出結果に基づいて、上記頭部が停止状態の後、上記速度が第１の速度閾値を超え、その速度閾値を超えた状態が第１の時間以上、継続された場合に、当該ロボットが撫でられたと判断するロボットの制御方法が提供される。
【００２１】
また、好適には、上記判断ステップは、上記検出ステップにおける検出結果に基づいて、上記頭部が停止状態の後、上記速度が第２の速度閾値を超え、その速度閾値を超えた時間が第２の時間以下である場合に、当該ロボットが叩かれたと判断する。
【００２２】
好適には、さらに、上記頭部の所定の目標速度と、上記算出ステップで算出した上記頭部の速度との差分が、上記第１の速度閾値あるいは上記第２の速度閾値を越えるかどうかを判断するステップを備え、上記差分が、これら第１の速度閾値あるいは第２の速度閾値を越えた場合、上記判断ステップによる判断のための時間計測を行う。
【００２３】
【発明の実施の形態】
以下、添付図面を参照しながら、本発明の実施の形態を詳細に説明する。
［実施の形態１］
図１は、本発明の実施の形態１に係るロボットの構成を示すブロック図である。同図に示すロボットは、家庭用ロボットやペット・ロボットといった、ユーザとコミュニケーションを取ることを目的とされたロボットであり、以下に説明するように、その頭部を所望の位置にすることができる構成をとる。
【００２４】
すなわち、本ロボットは、頭部１と胴体部２を有し、その頭部１は、胴体部２に固定された頭部支持部３により支持され、１つ、または複数の旋回軸４と、それらの軸ごとに、モータ１２と位置検出センサ１１を有する。そして、本ロボットは、ロボット・コントローラ５により制御される。このロボット・コントローラ５は、行動決定部２２、モータ制御部２３、そして、撫で・叩かれ検出部２１を有する。
【００２５】
本ロボットの行動は、行動決定部２２により決定され、ロボットの頭部１を所望の位置にするために、この行動決定部２２は、モータ制御部２３にモータ制御信号１０４を出力する。モータ制御部２３では、モータ制御信号１０４と、位置検出センサ１１によって検出される、頭部１の位置を示す位置センサ出力１０１に応じて、モータ１２にモータ制御出力１０３を出力する構成となっている。ロボットの頭部１は、かかる構成によって、所望の位置にすることができる。
【００２６】
本ロボットは、ユーザによる撫でや叩かれといった行為によって行動を決定し、それらに反応した動きをする機能を実現するため、以下に示す構成をとる。すなわち、位置検出センサ１１からの位置センサ出力１０１を、撫で・叩かれ検出部２１に入力する。この撫で・叩かれ検出部２１へは、ユーザが、頭部１を撫でたり、叩いたりしたときに、位置検出センサ１１によって出力されるロボット頭部の動きについての情報が入力されるので、この入力に応じて、撫で・叩かれを検出することが可能となる。
【００２７】
撫で・叩かれ検出部２１は、行動決定部２２に対して、撫で・叩かれの検出結果である撫で・叩かれ検出信号１０２を出力する。この構成により、行動決定部２２は、ユーザによる撫でられたか、あるいは叩かれたという行為に反応して、ロボットを動かすためのモータ制御信号１０４を出力する。
【００２８】
以下、本実施の形態１に係るロボットの動作について詳細に説明する。図１のモータ制御部２３は、ロボットの頭部１を所望の位置にするために、モータ１２に対してモータ制御出力１０３を出力する。そこで、モータ制御部２３の動作について説明する。
【００２９】
図２は、モータ制御部２３の動作を模式的に示すブロック図である。なお、図２は、モータ１２がＤＣ（直流）モータの場合の例示している。また、位置検出センサ１１については、ここでは、ポテンショメータを使用する。ポテンショメータの場合、位置検出センサ１１の出力は電圧となり、その電圧の大きさが位置を意味することになる。
【００３０】
行動決定部２２からモータ制御部２３へのモータ制御信号入力１０４として、ロボットの頭部１を所望の位置にするための目標位置（目標角度）をＰｒとする。また、位置検出センサ１１からの位置センサ出力１０１として得られる、実際の頭部１の位置を現在位置Ｐｔとする。そこで、頭部１を目標位置にするために、モータ制御部２３では、以下の式（１）に従って、モータ制御出力を決定し、モータ１２に所定の電圧を印加する。
【００３１】
Ｐｏｗ＝Ｋｐ（Ｐｒ−Ｐｔ）                              …（１）
ここで、Ｋｐは位置制御ゲイン、Ｐｏｗは、モータ１２に印加する電圧である。
【００３２】
目標位置と現在位置の差にゲインＫｐを乗ずる制御により、ロボットの頭部１を、所望の位置Ｐｒにすることが可能となる。また、頭部１に外力がかかったとしても、その外力がなくなれば、位置Ｐｒに戻ることになる。このように、モータ制御部２３は、これらの位置センサ出力１０１およびモータ制御信号入力１０４を受けて、モータ制御出力１０３を生成する動作を行う。
【００３３】
なお、本実施の形態１では、モータ１２として、ＤＣモータを使用する例を示しているが、これに限定されず、例えば、ステッピングモータやＡＣ（交流）モータによっても上記の機構を構成できる。この場合のモータの出力としては、上記のような電圧ではなく、ステッピングモータの場合にはモータ駆動パルス信号が、ＡＣモータの場合には交流電流が出力となる。
【００３４】
制御に使用するモータの種類を変更した場合の制御方法の具体例については、当業者によく知られており、本発明とは直接、関係しないので、ここでは、その詳細の説明を省略する。
【００３５】
また、位置検出センサとしては、本実施の形態１では、ポテンショメータを用いた例を示しているが、この他に、エンコーダ等でも代用が可能である。エンコーダを使用した場合、位置センサ出力は、移動時に発生するパルス信号となり、このパルス信号をカウントすることにより、制御対象物の位置を計算することができる。
【００３６】
さらに、位置検出センサとモータの配置、モータから頭部への駆動伝達方法についても、当業者にとってよく知られており、これらも本発明とは直接、関係しないので、その詳細の説明は省略する。
【００３７】
次に、本実施の形態に係るロボットにおける撫で・叩かれ時の位置検出センサからの位置センサ出力について説明する。ユーザが、ロボットの頭部１を撫でることにより、頭部１に外力が加わり、その結果、図５および図６に示す信号が、位置検出センサ１１より位置センサ出力１０１として出力される。
【００３８】
図５は、ユーザがロボットの頭部１を、ある始点から一定方向に撫で、一度、瞬間的に手を放して、再度、同じ始点から同じ方向に撫でることにより出力される信号波形（Ｐｔ）を示している。
【００３９】
図６に示す信号は、ユーザが頭部１を、ある一方向に撫で、次に、その逆方向に撫でることを繰り返す場合に出力される信号波形である。また、ユーザが、ロボットの頭部１を叩くことにより、図７に示す波形を有する信号が、位置検出センサ１１より位置センサ出力１０１として出力される。
【００４０】
上述のように、モータ制御部２３によって、ロボットの頭部１は、ある目標位置となるように制御されているため、ユーザにより、叩いたり、あるいは撫でられたりしたときには、頭部１に外力が加わり、その位置が変化する。そして、その後、位置検出センサ１１は、頭部１を目標位置に復帰させる信号を出力する。
【００４１】
撫で・叩かれ検出部２１は、位置検出センサ１１からの出力が、短時間における、頭部１の大きな位置変化を示している場合には、頭部１が叩かれたと判断する。また、撫で・叩かれ検出部２１は、長時間に渡って、微小な頭部１の位置変化が継続した場合には、撫でられたと判断する。
【００４２】
そこで、本実施の形態に係るロボットにおける撫で検出の動作について説明する。図３は、本実施の形態１に係るロボットの撫で検出動作を示すフローチャートである。同図に示す動作の流れでは、最初に、初期化処理として、ステップＳ１００において、撫で検出判断時間Ｔｓｔ＝０、撫で検出信号ＯＦＦとする処理を実行する。
【００４３】
次に、ステップＳ１で、ユーザによる撫でを検出するための処理を、サンプリング時間Ｔｓごとに開始する。続くステップＳ２において、前回のサンプリング時において位置検出センサ１１によって計測された位置Ｐｔ＿１と、今回のサンプリング時に位置検出センサにより計測された位置Ｐｔとによって、以下の式  （２）により、サンプリング時間で移動した分の位置を、速度Ｖｔとして算出する。
【００４４】
Ｖｔ＝Ｐｔ−Ｐｔ＿１                                    …（２）
【００４５】
上記の処理終了後、ステップＳ３へ進む。なお、以降のステップＳ３からＳ７において、実際に撫でられたかどうかの判断をする。すなわち、ステップＳ３では、行動決定部２２より、ロボットの頭部１を動作させるモータ制御信号１０４が発せられておらず、ロボットの頭部１が停止状態にあり、かつ、速度Ｖｔの絶対値が、撫で検出速度閾値Ｖｓｔ＿ｌを超えたかどうかを、下記の式（３）によって判断する。
【００４６】
｜Ｖｔ｜＞Ｖｓｔ＿ｌ                                    …（３）
【００４７】
ステップＳ３における判断結果で真（ＹＥＳ）であれば、ステップＳ４の処理に進み、それが偽（ＮＯ）であれば、ステップＳ７へ進む。すなわち、ロボットの頭部１が停止状態にあり、かつ、速度Ｖｔの絶対値が、撫で検出速度閾値を超えていれば、ステップＳ４において、以下の式（４）に従って、撫で検出判断時間Ｔｓｔに、上記のサンプリング時間Ｔｓを積算（カウントアップ）する処理を行う。
【００４８】
Ｔｓｔ＝Ｔｓｔ＋Ｔｓ                                    …（４）
【００４９】
次のステップＳ５では、以下の式（５）
Ｔｓｔ＞Ｔｓｔ＿ｌ                                      …（５）
によって、撫で検出判断時間Ｔｓｔが、撫で検出判断時間閾値Ｔｓｔ＿ｌを超えたか否かを判断する。そして、ここでの判断結果が真であれば、処理をステップＳ６へ進め、逆に偽であれば、ステップＳ７に進む。
【００５０】
つまり、撫で検出判断時間Ｔｓｔが、撫で検出判断時間閾値Ｔｓｔ＿ｌを超えていれば、ステップＳ６において、撫で検出信号をＯＮにする。そして、処理を再び、ステップＳ１に戻す。他方、撫で検出判断時間Ｔｓｔが、撫で検出判断時間閾値Ｔｓｔ＿ｌを超えていない場合には、ステップＳ７で、撫で検出判断時間Ｔｓｔをリセットし、撫で検出信号をＯＦＦにした後、ステップＳ１の処理に戻る。
【００５１】
このように、本実施の形態に係るロボットは、上記のステップＳ３からＳ７の処理により、ロボットの頭部１が撫でられたことを検出する。
【００５２】
次に、本実施の形態に係るロボットにおける叩かれ検出の動作について詳細に説明する。図４は、本実施の形態１に係るロボットでの叩かれ検出の動作を示すフローチャートである。同図に示す処理において、その初期化処理として、ステップＳ２００で、叩かれ検出判断時間Ｔｐｔ＝０、叩かれ検出信号ＯＦＦ、叩かれ検出開始フラグＯＦＦを実行する。
【００５３】
ステップＳ１１，Ｓ１２において、図３のステップＳ１，Ｓ２と同様の処理  （撫で検出と同一の処理）を実行する。すなわち、ステップＳ１１で、ユーザによる叩かれを検出するための処理を、サンプリング時間Ｔｓごとに開始する。また、ステップＳ１２では、前回のサンプリング時において位置検出センサ１１によって計測された位置Ｐｔ＿１と、今回のサンプリング時に位置検出センサにより計測された位置Ｐｔとによって、上記の式（２）により、サンプリング時間で移動した分の位置を、速度Ｖｔとして算出する。
【００５４】
ここでは、以下のステップＳ１８からＳ２２で、実際に頭部が叩かれたか否かの判断をする。つまり、ステップＳ１８では、行動決定部２２からロボットの頭部１を動作させるモータ制御信号１０４が出力されておらず、ロボット頭部が停止状態にあり、かつ、速度Ｖｔの絶対値が、叩かれ検出速度閾値Ｖｐｔ＿ｌを超えたかどうかを、以下の式（６）によって判断する。
【００５５】
｜Ｖｔ｜＞Ｖｐｔ＿ｌ                                    …（６）
【００５６】
ステップＳ１８での判断結果が真であれば、処理をステップＳ１９に進め、偽であれば、ステップＳ２０に進む。このステップＳ１９では、以下に示す式（７）で、叩かれ検出判断時間Ｔｐｔにサンプリング時間Ｔｓを積算（カウントアップ）し、叩かれ検出開始フラグをＯＮにする。その後、処理はステップＳ１１に戻る。
【００５７】
Ｔｐｔ＝Ｔｐｔ＋Ｔｓ                                    …（７）
【００５８】
一方、ステップＳ２０では、下記の式、
Ｔｐｔ＜Ｔｐｔ＿ｌ                                      …（８）
によって、叩かれ検出判断時間Ｔｐｔが、叩かれ検出判断時間閾値Ｔｐｔ＿ｌを下回り、かつ、叩かれ検出開始フラグがＯＮであるかどうかを判断する。
【００５９】
ここでの判断結果が真であれば、処理をステップＳ２３に進め、偽であれば、処理はステップＳ２１に進む。このステップＳ２１では、叩かれ検出信号をＯＮにしてから、ステップＳ２２に進む。そして、ステップＳ２２では、叩かれ検出判断時間Ｔｐｔをリセットし、叩かれ検出開始フラグをＯＦＦにする。その後、処理はステップＳ１１に戻る。
【００６０】
他方、叩かれ検出判断時間Ｔｐｔが、叩かれ検出判断時間閾値Ｔｐｔ＿ｌを下回っており、かつ、叩かれ検出開始フラグがＯＮであれば（ステップＳ２０でＹＥＳ）、ステップＳ２３において、叩かれ検出信号をＯＦＦにしてから、ステップＳ２２に処理を進める。
【００６１】
このように、ステップＳ１８からＳ２３の処理により、ロボット頭部が叩かれたことを検出する。結局、図３，図４に示す処理手順によって、ロボットの位置検出センサからの出力により、そのロボットに対する撫で・叩かれの状態の判断が可能となる。
【００６２】
本実施の形態１におけるパラメータの具体的な値は、以下のように設定した。すなわち、
サンプリング時間Ｔｓ＝１０ｍｓ
撫で検出速度閾値Ｖｓｔ＿ｌ＝０．０１ｄｅｇ／サンプリング時間
撫で検出判断時間閾値Ｔｓｔ＿ｌ＝５００ｍｓ
叩かれ検出速度閾値Ｖｐｔ＿ｌ＝０．１ｄｅｇ／サンプリング時間
叩かれ検出判断時間閾値Ｔｓｔ＿ｌ＝１００ｍｓ
…（９）
である。
【００６３】
なお、ロボットの頭部１の質量、大きさ、モータ１２のトルク性能等によって、上記のパラメータを適宜、変更する必要がある。本実施の形態では、ロボットの頭部１の質量は、１０００ｇ、その直径が、２００ｍｍの球状であり、モータ１２は、最大５００ｇ−ｃｍの出力を持つものを使用した。
【００６４】
また、上述のように、位置検出センサ１１の出力について、短時間に大きく頭部１の位置変化があった場合には、叩かれたと判断し、長時間に渡り、微小な頭部１の位置変化が継続した場合、撫でられたと判断する。これらのことから、本実施の形態１では、撫で検出速度閾値は、叩かれ検出速度閾値よりも小さい値で設定し、撫で検出判断時間閾値は、叩かれ検出判断時間閾値よりも大きい値で設定する。
【００６５】
上述した処理手順によって、撫で検出信号、叩かれ検出信号を、撫で・叩かれ検出部２１からの撫で・叩かれ検出信号出力１０２として、行動決定部２２へ出力する。これにより、行動決定部２２は、ロボットがユーザにより撫でられたり、叩かれたりしたことに反応するための動きを決定する。
【００６６】
以上説明したように、本実施の形態によれば、ロボット頭部に配された位置検出センサからの出力をもとに、頭部の時間的な動きを判断して、ロボットがユーザにより撫でられたり、叩かれたりしたことに反応するための動きを決定することで、ロボットにおいて、特別なセンサを使わずに、撫でや叩かれを検出できる。
【００６７】
また、撫でや叩かれ検出のための特別なセンサが不要であることから、ロボットの機械的な構造を簡略化でき、それに伴って、制御等に要する電気的な構成も簡単になる、という効果がある。
【００６８】
［実施の形態２］
以下、本発明の実施の形態２に係るロボットについて説明する。なお、本実施の形態２に係るロボットは、その基本的構成が、上述した実施の形態１に係るロボットと同じであるため、その構成については、ここでは、図示並びに説明を省略する。
【００６９】
本実施の形態２に係るロボットに特徴的なのは、撫で・叩かれ検出のための手段を電気回路に置き換えた構成をとっていることである。そこで、撫で・叩かれ検出部を電気回路で構成した例として、本実施の形態２に係る撫で・叩かれ検出部について詳細に説明する。
【００７０】
図８は、撫で検出についての電気回路による構成を示すブロック図である。本実施の形態２では、位置検出センサとしてポテンショメータを使用する。これにより、位置センサ出力１０１は、頭部１の位置を電圧として出力する。そこで、この出力１０１を、図８の微分回路Ｅ１に入力することにより、その出力を頭部１の速度に変換する。
【００７１】
ここでは、撫で検出速度閾値を比較波形Ｅ２とし、一定電圧波形として与える。そして、微分回路Ｅ１の出力と、比較波形Ｅ２を比較回路Ｅ３に入力することにより、比較回路Ｅ３からは、撫で検出速度閾値を超えた頭部１の動きがある状態のときのみ、所定の信号が出力される。この出力を時間計測回路Ｅ４に入力し、頭部１の動きが、撫で検出速度閾値を超えた時間を計測する。
【００７２】
時間計測回路Ｅ４は、不図示のクロック発生回路とカウンタ回路により構成され、これらにより計測した時間を出力する。また、判定回路Ｅ５は、時間計測回路Ｅ４の出力した時間が、撫で検出判断時間閾値を超えているかどうかを判定し、その結果に対応する信号を出力する。すなわち、この判定回路Ｅ５の出力が、撫で検出信号１０２である。なお、判定回路Ｅ５は、フリップ・フロップ回路、デコーダ回路（不図示）により構成される。
【００７３】
次に、叩かれ検出を行う電気回路の構成について説明する。ここでも、位置検出センサとしてポテンショメータを使用する。これにより、位置センサ出力１０１は、頭部１の位置を電圧として出力する。そして、この出力を微分回路Ｅ１に入力することにより、頭部１の速度に変換する。
【００７４】
また、叩かれ検出速度閾値を比較波形Ｅ２とし、それを一定電圧波形として与える。そして、微分回路Ｅ１の出力と、比較波形Ｅ２を比較回路Ｅ３に入力することにより、比較回路Ｅ３からの出力は、叩かれ検出速度閾値を超えた頭部１の動きがある状態のときのみ、所定信号が出力される。
【００７５】
比較回路Ｅ３からの出力を時間計測回路Ｅ４に入力し、頭部１の動きが、叩かれ検出速度閾値を超えた時間を計測する。この時間計測回路Ｅ４は、クロック発生回路とカウンタ回路（不図示）により構成され、計測した時間を出力する。
【００７６】
判定回路Ｅ５は、時間計測回路Ｅ４から出力された時間が、叩かれ検出判断時間閾値を下回っているかどうかを判定し、その判定結果に対応する信号を出力する。すなわち、判定回路Ｅ５の出力が、撫で検出信号である。なお、この判定回路Ｅ５は、不図示のフリップ・フロップ回路、デコーダ回路により構成される。
【００７７】
以上説明したように、本実施の形態２によれば、撫で・叩かれ検出のための手段を電気回路に置き換えた構成をとることで、ロボット・コントローラにおける撫で・叩かれ検出の処理負担を軽減することができる。
【００７８】
［実施の形態３］
以下、本発明の実施の形態３に係るロボットについて説明する。なお、本実施の形態３に係るロボットの基本的構成は、上述した実施の形態１に係るロボットと同じであるため、その構成等については、ここでは、図示並びに説明を省略する。
【００７９】
本実施の形態３では、撫で・叩かれの検出性能を上げるため、特に、位置センサ出力のノイズ除去について工夫した。そこで、本実施の形態に係る撫で・叩かれ検出について詳細に説明する。
【００８０】
図９は、本実施の形態３に係る撫で・叩かれ検出手順を示すフローチャートである。ここでは、最初の処理として、図９のステップＳ３００において初期化処理を行う。具体的には、撫で検出判断時間Ｔｓｔ＝０、撫で検出信号ＯＦＦ、撫で誤検出判断時間Ｔｓｎ＝０とする処理を実行する。
【００８１】
上記の初期化の後、ステップＳ３１では、ユーザによる撫でを検出するための処理を、サンプリング時間Ｔｓごとに開始する。ステップＳ３２では、前回のサンプリング時において位置検出センサ１１によって計測された位置Ｐｔ＿１と、今回のサンプリング時に位置検出センサにより計測された位置Ｐｔとによって、上記の式（２）によって、サンプリング時間で移動した分の位置を、速度Ｖｔとして算出する。
【００８２】
そして、ステップＳ３３では、行動決定部２２から、ロボットの頭部１を動作させるモータ制御信号が発せられておらず、ロボット頭部が停止状態であり、かつ、速度Ｖｔの絶対値が、撫で検出速度閾値Ｖｓｔ＿ｌを超えたかどうかを、上記の式（３）によって判断する。
【００８３】
ステップＳ３３での判断結果が真であれば、処理をステップＳ３４に進め、偽であれば、処理はステップＳ４１に進む。つまり、ロボット頭部が停止状態になかったり、速度Ｖｔの絶対値が、撫で検出速度閾値Ｖｓｔ＿ｌを超えていなければ、ステップＳ４１において、撫で誤検出判断時間Ｔｓｔｎにサンプリング時間Ｔｓを積算（カウントアップ）し、その後、処理をステップＳ４２に進める。
【００８４】
ステップＳ４２では、撫で誤検出判断時間Ｔｓｔｎが、撫で誤検出判断時間閾値Ｔｓｔｎ＿ｌを超えたかどうかの判断をする。そして、その判断結果が真であれば、ステップＳ４３に進み、偽であれば、処理をステップＳ３１に戻す。
【００８５】
ステップＳ４３では、撫で検出判断時間Ｔｓｔ、撫で誤検出判断時間Ｔｓｔｎをリセットし、撫で検出信号をＯＦＦにする。かかる処理を終了後、ステップＳ３１に戻る。
【００８６】
一方、ロボット頭部が停止状態であり、かつ、速度Ｖｔの絶対値が、撫で検出速度閾値Ｖｓｔ＿ｌを超えたと判断されれば（ステップＳ３３で、ＹＥＳ）、ステップＳ３４において、上記の式（４）に従って、撫で検出判断時間Ｔｓｔにサンプリング時間Ｔｓを積算（カウントアップ）する処理を行う。
【００８７】
ステップＳ３４に続くステップＳ３５では、上記の式（５）によって、撫で検出判断時間Ｔｓｔが、撫で検出判断時間閾値Ｔｓｔ＿ｌを超えたかどうかを判断する。その結果が真であれば、ステップＳ３６に進み、撫で検出信号をＯＮにする。
【００８８】
しかし、ステップＳ３５での判断結果が偽であれば、処理をステップＳ４４に進めて、撫で誤検出判断時間Ｔｓｔｎをリセットする。その後、処理は、ステップＳ３１へ戻る。
【００８９】
このように、本実施の形態では、上記のステップＳ３３からＳ３６、およびステップＳ４１からＳ４４の処理を実行することにより、ロボット頭部が撫でられたことを検出する。なお、本実施の形態におけるロボット制御の具体的なパラメータは、以下の式、
撫で誤検出判断時間Ｔｓｔｎ＿ｌ＝１００ｍｓ              …（１０）
に示すように設定した。
【００９０】
このように、本実施の形態によれば、上記の処理により、撫でている間に、例えば、ノイズにより、撫で誤検出判断時間閾値で示される時間の間、速度が撫で検出速度閾値を下回っても、撫で検出判断時間をリセットすることはない。
【００９１】
次に、撫でたり、叩いたりしていないのに、ノイズにより、瞬間的に位置検出センサに叩かれ検出速度閾値以上の入力があり、叩かれ状態を誤検出するのを防止するための構成例を説明する。そのため、例えば、図４のステップＳ２０を、以下のように変形する。
【００９２】
２つの異なる、叩かれ検出判断時間閾値を用意する。それらの内、小さい閾値をＴｐｔ＿ｌ＿ｍｉｎ、大きい方の閾値をＴｐｔ＿ｌ＿ｍａｘとする。そこで、ステップＳ２０では、以下の式（１１）によって、叩かれ検出判断時間Ｔｐｔが、叩かれ検出判断時間閾値Ｔｐｔ＿ｌ＿ｍｉｎを超え、かつ、叩かれ検出判断時間Ｔｐｔが、叩かれ検出判断時間閾値Ｔｐｔ＿ｌ＿ｍａｘを下回っているかどうかを判断する。さらに、叩かれ検出開始フラグがＯＮであるかを判断する。
【００９３】
（Ｔｐｔ＞Ｔｐｔ＿ｌ＿ｍｉｎ）∩（Ｔｐｔ＜Ｔｐｔ＿ｌ＿ｍａｘ）
…（１１）
【００９４】
上記の判断結果が真であれば、図４のステップＳ２３へ進み、偽であれば、Ｓ２１へ進む処理を実行する。なお、上記の処理におけるパラメータは、以下の式（１２）に示すように設定した。
【００９５】
Ｔｐｔ＿ｌ＿ｍｉｎ＝５０ｍｓ
Ｔｐｔ＿ｌ＿ｍａｘ＝１００ｍｓ                          …（１２）
【００９６】
ここでは、上記のような処理によって、ノイズによる叩かれの誤検出を防止している。しかし、叩かれの検出と撫での検出を、それぞれ単独で使う場合には問題がないが、これらを同時に検出処理を実行すると、位置検出センサに叩かれ検出速度閾値以上の入力があり、その状態が、撫で検出判断時間を超えると、撫でを誤検出する可能性がある。以下、この誤検出を防止するための構成例について説明する。
【００９７】
２つの異なる、撫で検出速度閾値を用意する。それらの内、小さい閾値をＶｓｔ＿ｌ＿ｍｉｎ、大きい方の閾値をＶｓｔ＿ｌ＿ｍａｘとする。そこで、図３のステップＳ３を変形して、以下の式（１３）によって、頭の速度Ｖｔが、撫で検出速度閾値Ｖｓｔ＿ｌ＿ｍｉｎを超え、かつ、叩かれ検出判断時間Ｔｓｔが、撫で検出速度閾値Ｖｓｔ＿ｌ＿ｍａｘを下回っており、かつ、行動決定部２２から、ロボットの頭部１を動作させるモータ制御信号が発せれておらず、ロボット頭部が停止状態であるかどうかを判断する。
【００９８】
（｜Ｖｔ｜＞Ｖｓｔ＿ｌ＿ｍｉｎ）∩（｜Ｖｔ｜＜Ｖｓｔ＿ｌ＿ｍａｘ）
…（１３）
【００９９】
このステップＳ３における判断結果が真であれば、ステップＳ４に進み、偽であれば、ステップＳ７に進む。また、ここでのパラメータは、以下の式（１４）に示すように設定した。
【０１００】
Ｖｓｔ＿ｌ＿ｍｉｎ＝０．０１ｄｅｇ／サンプリング時間
Ｖｓｔ＿ｌ＿ｍａｘ＝０．０５ｄｅｇ／サンプリング時間
…（１４）
【０１０１】
以上のように、本実施の形態によれば、処理の流れを上記のようにすることによって、確実に、撫でと叩かれの判断が排他的となり、互いの誤検出を防止できる。また、撫でている間に、ノイズにより、撫で誤検出判断時間閾値の間、速度が撫で検出速度閾値を下回っても、撫で検出判断時間をリセットすることがなくなる。
【０１０２】
［実施の形態４］
以下、本発明の実施の形態４に係るロボットについて説明する。なお、本実施の形態４に係るロボットの基本的構成は、上述した実施の形態１に係るロボットと同じであるため、その構成等については、ここでは、図示並びに説明を省略する。
【０１０３】
本実施の形態４では、ロボットの頭部１が動いている場合における、撫で・叩かれを検出するための撫で・叩かれ検出部の変形例を提示する。この場合、図３、図４に示す撫で・叩かれ検出処理のフローチャートのステップＳ２，Ｓ３，Ｓ１８を、以下のように変形する。
【０１０４】
すなわち、ステップＳ２では、前回サンプリング時での位置検出センサによる計測された位置Ｐｔ＿１と、今回サンプリング時の位置検出センサにより計測された位置Ｐｔと、行動決定部２２より与えられた目標速度Ｖｒとから、以下の式（１５）に従って、サンプリング時間で移動した分の行動決定部２２により計画された目標速度との差の位置を、速度Ｖｔとして算出する。
【０１０５】
Ｖｔ＝（Ｐｔ−Ｐｔ＿１）−Ｖｒ                          …（１５）
【０１０６】
上記の処理終了後、ステップＳ３に進む。このステップＳ３では、速度Ｖｔの絶対値が、撫で検出速度閾値Ｖｓｔ＿ｌを超えたかどうかを、上記の式（３）によって判断する。ここでの判断結果が真であれば、ステップＳ４に進むが、偽であれば、処理をステップＳ７へ進める。
【０１０７】
また、ステップＳ１８では、速度Ｖｔの絶対値が、叩かれ検出速度閾値Ｖｐｔ＿ｌを超えたかどうかを、上記の式（６）によって判断する。そして、この判断結果が真であれば、処理をステップＳ１９に進める。判断結果が偽であれば、ステップＳ２０に進む。
【０１０８】
処理を上記のように変形することにより、ロボットの頭部１が動いている場合であっても、撫で・叩かれを確実に検出することが可能となる。また、かかる変形は、行動決定部２２より、モータ制御信号として目標位置でなく、目標速度と時間によって与えられ、最終的に到達する目標位置を決定する構成の場合に適用できる。
【０１０９】
［実施の形態５］
以下、本発明の実施の形態５に係るロボットについて説明する。なお、本実施の形態５に係るロボットの基本的構成も、上述した実施の形態１に係るロボットと同じであるため、その構成等については、ここでは、図示並びに説明を省略する。
【０１１０】
本実施の形態として、ロボットの胴体部２に、足部、車輪部や腕部といった他の機構を取り付けた構成をとる変形例を挙げる。この変形により、ロボットは、４足の歩行ロボットや人間型のロボット、あるいは、車輪のついたロボットの形態となる。
【０１１１】
この場合、足部・腕部に１つ、あるいは複数の旋回軸と、位置検出センサと、モータが取り付けられ、所望の目標位置に動作させる構成であれば、ユーザが、これらの足部、腕部を撫でたり、叩いたりしたときに、足部、腕部に取り付けられた位置検出センサの出力を、撫で・叩かれ検出にそのまま適用することが可能である。
【０１１２】
以上の構成によって、ロボットの足部や腕部をユーザが撫でたり、叩いたりすることを検出でき、行動決定部２２は、これらの撫で・叩かれ検出信号をもとに、それらに反応する動作を実行できる。
【０１１３】
本発明は、上述の実施の形態に限定されるものではなく、その発明の趣旨を逸脱しない範囲において、種々変形が可能である。以下、上記実施の形態の変形例について説明する。
【０１１４】
上記の実施の形態（特に、実施の形態５）では、ロボットに足部や腕部を取り付けた場合、これらが動いている時には、ロボット全体が振動する。そのため、ある駆動個所が動いているときに、撫で・叩かれ検出の対象の動いていない旋回軸が振動することにより、撫で・叩かれ検出の対象となる位置検出センサの出力が変動し、撫で・叩かれ検出部が、撫で・叩かれ検出信号を誤って出力する可能性がある。
【０１１５】
この問題を解決するための方法として、以下の変形例が考えられる。第１の変形例として、駆動個所が動いているときには、その個所の動きをもとに、撫で・叩かれ検出部の撫で・叩かれ検出信号をマスクする構成をとる。
【０１１６】
他の変形例としては、駆動個所が動いているときに、撫で・叩かれ検出のためのパラメータ、撫で検出速度閾値、叩かれ検出速度閾値を大きくする構成をとる。これらの方策により、撫で・叩かれの誤検出を防ぐことが可能となる。
【０１１７】
【発明の効果】
以上説明したように、本発明によれば、ロボットの頭部を、ユーザが撫でたり、叩いたりしたとき、その頭部に対する外力の作用を検出して、ロボットの動きについての情報を得ることにより、撫で・叩かれのための特別なセンサを用意することなく、簡単な構成で、撫で・叩かれを確実、かつ容易に検出できる。
【０１１８】
また、本発明によれば、ロボット頭部に対する外力の作用の検出結果により、頭部が停止状態の後、上記速度が第１の速度閾値を超え、その速度閾値を超えた状態が第１の時間以上、継続された場合に、当該ロボットが撫でられたと判断し、また、頭部が停止状態の後、上記速度が第２の速度閾値を超え、その速度閾値を超えた時間が第２の時間以下である場合に、当該ロボットが叩かれたと判断するので、撫で・叩かれを確実に判定できる。
【０１１９】
さらに、本発明によれば、上記第１の速度閾値として、異なる２つの速度閾値を用意し、上記速度が、これら２つの速度閾値の間にある場合、上記判断手段による撫で判断のための時間計測を行ったり、あるいは、上記第２の時間として、異なる２つの時間閾値を設け、上記速度が上記第２の速度閾値を超えた時間が、これら２つの時間閾値の間にある場合に、上記判断手段による叩き判断のための時間計測を行うことで、例えば、ノイズにより、撫で誤検出判断時間閾値の間、上記速度が撫で検出速度閾値を下回っても、撫で検出判断時間をリセットして誤動作や誤判断することを回避できる。
【０１２０】
また、本発明によれば、上記判断手段により、撫でられた、あるいは叩かれたの判断対象となる当該ロボットの部位以外の部位が動作しているときには、その判断対象部位についての検出信号を停止することで、確実に、撫で・叩かれの誤検出を防止できる。
【図面の簡単な説明】
【図１】本発明の実施の形態１に係るロボットの構成を示すブロック図である。
【図２】実施の形態１に係るモータ制御部の動作を模式的に示すブロック図である。
【図３】実施の形態１に係る撫で検出動作を示すフローチャートである。
【図４】実施の形態１に係る叩かれ検出の動作を示すフローチャートである。
【図５】ロボット頭部が撫でられたときに発生する位置検出センサの出力例１を示す図である。
【図６】ロボット頭部が撫でられたときに発生する位置検出センサの出力例２を示す図である。
【図７】ロボット頭部が叩かれたときに発生する位置検出センサの出力例を示す図である。
【図８】本発明の実施の形態２に係る、撫で・叩かれ検出部を電気回路で構成した例を示すブロック図である。
【図９】本発明の実施の形態３に係る撫で・叩かれ検出手順を示すフローチャートである。
【図１０】従来の技術を適用したロボットの構成例を示すブロック図である。
【符号の説明】
１  頭部
２  胴体部
３  頭部支持部
４  旋回軸
５  ロボット・コントローラ
１１  位置検出センサ
１２  モータ
２１  撫で・叩かれ検出部
２２  行動決定部
２３  モータ制御部
１０１  位置センサ出力
１０２  撫で・叩かれ検出信号
１０３  モータ制御出力
１０４  モータ制御信号
Ｅ１  微分回路
Ｅ２  比較波形
Ｅ３  比較回路
Ｅ４  時間計測回路
Ｅ５  判定回路
【図１】
0004407056.tif 000002
【図２】
0004407056.tif 000003
【図３】
0004407056.tif 000004
【図４】
0004407056.tif 000005
【図５】
0004407056.tif 000006
【図６】
0004407056.tif 000007
【図７】
0004407056.tif 000008
【図８】
0004407056.tif 000009
【図９】
0004407056.tif 000010
【図１０】
0004407056.tif 000011