(57)【要約】【課題】  本発明は、動作の不具合を解消しながらエンターテインメント性を格段と向上し得るロボット装置及びその制御方法を実現しようとするものである。【解決手段】  所定の関節機構を必要に応じて駆動させながら動作するロボット装置において、出力軸が関節機構に連結され、供給される駆動電流に応じた回転量で出力軸を回転させるようにして、関節機構を駆動する駆動手段と、駆動時における駆動手段に印加されている駆動電流の電流値を所定の第１の時間分検出する電流値検出手段と、電流値検出手段により検出された第１の時間分の電流値の平均値が所定の閾値を越えたとき、関節機構の動作を所定の安定姿勢に遷移させるように駆動手段を制御する制御手段とを設けるようにした。【選択図】        図４
2005074564.tif 000002
【特許請求の範囲】
【請求項１】
所定の関節機構を必要に応じて駆動させながら動作するロボット装置において、
出力軸が上記関節機構に連結され、供給される駆動電流に応じた回転量で上記出力軸を回転させるようにして、上記関節機構を駆動する駆動手段と、
上記駆動時における上記駆動手段に印加されている上記駆動電流の電流値を所定の第１の時間分検出する電流値検出手段と、
上記電流値検出手段により検出された上記第１の時間分の上記電流値の平均値が所定の閾値を越えたとき、上記関節機構の動作を所定の安定姿勢に遷移させるように上記駆動手段を制御する制御手段と
を具えることを特徴とするロボット装置。
【請求項２】
上記電流値検出手段は、
上記電流値を上記第１の時間より長い所定の第２の時間分検出し、
上記制御手段は、
上記第２の時間分の上記電流値の平均値が上記閾値を越えたとき、上記関節機構の動作を停止させた後に上記安定姿勢に遷移させるように上記駆動手段を制御する
ことを特徴とする請求項１に記載のロボット装置。
【請求項３】
上記駆動手段の上記出力軸の回転量に基づいて、当該出力軸の角速度を算出する角速度算出手段
を具え、
上記制御手段は、
上記角速度算出手段により算出された上記出力軸の上記角速度が所定の閾値を越えるとき、上記電流値を抑制するように上記駆動手段を制御する
ことを特徴とする請求項１に記載のロボット装置。
【請求項４】
上記駆動手段の発熱量を検出する温度検出手段
を具え、
上記電流値検出手段は、
上記角速度算出手段により算出された上記出力軸の上記角速度が上記閾値を越えない場合であって、上記温度検出手段により検出された上記駆動手段の上記発熱量が所定温度よりも高い場合に上記駆動電流の電流値を上記第１の時間分検出する
ことを特徴とする請求項３に記載のロボット装置。
【請求項５】
所定の関節機構を必要に応じて駆動させながら動作するロボット装置の制御方法において、
出力軸が上記関節機構に連結され、供給される駆動電流に応じた回転量で上記出力軸を回転させるようにして、上記関節機構を駆動する第１のステップと、
上記駆動時における上記駆動手段に印加されている上記駆動電流の電流値を所定の第１の時間分検出する第２のステップと、
検出された上記第１の時間分の上記電流値の平均値が所定の閾値を越えたとき、上記関節機構の動作を所定の安定姿勢に遷移させるように上記関節機構の駆動系を制御する第３のステップと
を具えることを特徴とするロボット装置の制御方法。
【請求項６】
上記第２のステップでは、
上記電流値を上記第１の時間より長い所定の第２の時間分検出し、
上記第３のステップでは、
上記第２の時間分の上記電流値の平均値が上記閾値を越えたとき、上記関節機構の動作を停止させた後に上記安定姿勢に遷移させるように上記関節機構の駆動系を制御する
ことを特徴とする請求項５に記載のロボット装置の制御方法。
【請求項７】
上記第３のステップでは、
上記駆動手段の上記出力軸の回転量に基づいて算出した当該出力軸の角速度が所定の閾値を越えるとき、上記電流値を抑制するように上記関節機構の駆動系を制御する
ことを特徴とする請求項５に記載のロボット装置の制御方法。
【請求項８】
上記第２のステップでは、
上記駆動手段の上記出力軸の回転量に基づいて算出した当該出力軸の角速度が上記閾値を越えない場合であって、上記駆動手段の上記発熱量が所定温度よりも高い場合に上記駆動電流の電流値を上記第１の時間分検出する
ことを特徴とする請求項７に記載のロボット装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はロボット装置及びその制御方法に関し、例えばペットロボットに適用して好適なものである。
【背景技術】
【０００２】
近年、ユーザからの指令や周囲の環境等に応じて行動を行う４脚歩行型のペットロボットが本願特許出願人によって開発され、販売されている。かかるペットロボットは、ＣＣＤ（Charge Coupled Device）カメラやマイクロホンを搭載しており、当該ＣＣＤカメラによって撮像した周囲の状況や、マイクロホンにより集音したユーザからの指令音及び周囲音等に基づいて周囲の状況やユーザからの指令の有無を判断し、この判断結果に基づいて自律的に行動を決定してこれを発現するようになされたものである。
【特許文献１】特開平２０００−１３５１４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところでかかるペットロボットにおいて、各ユニット間の関節部分に大きな負荷がかかるような動作を行った場合やこれら関節部分に外部から大きな負荷が加わった場合には、当該各ユニット内に設けられた駆動用のモータに過剰な電流が流れることとなる。
【０００４】
この結果、モータの発熱量が増大して当該モータ自体の温度が極度に上昇した場合には、モータの回転トルクが減少して、ペットロボットの内部状況や外部からの指示に応じた次の動作を発現させることが困難な状態となったり、又はモータ自体やその周辺部品を熱破損させるおそれがあった。
【０００５】
実際に従来のペットロボットでは、上述のようなモータの回転トルクが減少して内外で指示に応じた駆動ができない状態（以下、これをメカロードハイ状態と呼ぶ）の判別を、モータの駆動電流に基づいてパルス変調されたＰＷＭ（Pulse Width Modulation）値がある高い閾値を一定の時間持続するか否かによって行うようになされている。
【０００６】
このため一瞬でもＰＷＭ値が所定の閾値を下回ると、時間的にリセットされることから、以下のような不具合を生じる問題があった。まず第１に、高負荷のモーションが連続してモータに与えられてメカロードハイ状態となった場合でも、一瞬でも負荷が低い状態があれば、時間的にリセットされるため、メカロードハイ状態を検出するのが非常に困難となる。
【０００７】
第２に、モータが回転停止状態で高いＰＷＭ値の駆動電流が印加されると、当該駆動電流が熱に変換されてモータ自体の発熱量が大きくなる一方、モータの回転状態で高いＰＷＭ値の駆動電流が印加されると、当該駆動電流が運動エネルギに変換されるため、モータが回転停止状態の場合に比べて発熱量が少なくなるが、両者の状態を判別をする手法が未だ提案されていないため、目的に応じた検出を行うことが非常に困難であった。
【０００８】
第３に、メカロードハイ状態を検出すると、モータに印加する駆動電流をオフ状態にして、ペットロボットを直ちに脱力モードに遷移させるため、不具合な動作を発現させる現状が生じて、エンターテインメント性を低下させるおそれがあった。
【０００９】
本発明は以上の点を考慮してなされたもので、動作の不具合を解消しながらエンターテインメント性を格段と向上し得るロボット装置及びその制御方法を提案しようとするものである。
【課題を解決するための手段】
【００１０】
かかる課題を解決するため本発明においては、所定の関節機構を必要に応じて駆動させながら動作するロボット装置において、出力軸が関節機構に連結され、供給される駆動電流に応じた回転量で出力軸を回転させるようにして、関節機構を駆動する駆動手段と、駆動時における駆動手段に印加されている駆動電流の電流値を所定の第１の時間分検出する電流値検出手段と、電流値検出手段により検出された第１の時間分の電流値の平均値が所定の閾値を越えたとき、関節機構の動作を所定の安定姿勢に遷移させるように駆動手段を制御する制御手段とを設けるようにした。
【００１１】
この結果このロボット装置では、駆動手段の回転トルクが減少した結果生じる関節機構の動作を不具合を未然に防止して、当該関節機能の動作を安定姿勢に遷移させた後に、次の動作を発現させることができると共に、駆動手段及びその周辺部品の熱破損を未然に回避することができる。
【００１２】
また本発明においては、所定の関節機構を必要に応じて駆動させながら動作するロボット装置の制御方法において、出力軸が関節機構に連結され、供給される駆動電流に応じた回転量で出力軸を回転させるようにして、関節機構を駆動する第１のステップと、駆動時における駆動手段に印加されている駆動電流の電流値を所定の第１の時間分検出する第２のステップと、当該検出された第１の時間分の電流値の平均値が所定の閾値を越えたとき、関節機構の動作を所定の安定姿勢に遷移させるように関節機構の駆動系を制御する第３のステップとを設けるようにした。
【００１３】
この結果このロボット装置の制御方法では、駆動手段の回転トルクが減少した結果生じる関節機構の動作を不具合を未然に防止して、当該関節機能の動作を安定姿勢に遷移させた後に、次の動作を発現させることができると共に、駆動手段及びその周辺部品の熱破損を未然に回避することができる。
【発明の効果】
【００１４】
上述のように本発明によれば、所定の関節機構を必要に応じて駆動させながら動作するロボット装置において、出力軸が関節機構に連結され、供給される駆動電流に応じた回転量で出力軸を回転させるようにして、関節機構を駆動する駆動手段と、駆動時における駆動手段に印加されている駆動電流の電流値を所定の第１の時間分検出する電流値検出手段と、電流値検出手段により検出された第１の時間分の電流値の平均値が所定の閾値を越えたとき、関節機構の動作を所定の安定姿勢に遷移させるように駆動手段を制御する制御手段とを設けるようにしたことにより、駆動手段の回転トルクが減少した結果生じる関節機構の動作を不具合を未然に防止して、当該関節機能の動作を安定姿勢に遷移させた後に、次の動作を発現させることができると共に、駆動手段及びその周辺部品の熱破損を未然に回避することができ、かくしてエンターテインメント性を格段と向上し得るロボット装置を実現できる。
【００１５】
また本発明によれば、所定の関節機構を必要に応じて駆動させながら動作するロボット装置の制御方法において、出力軸が関節機構に連結され、供給される駆動電流に応じた回転量で出力軸を回転させるようにして、関節機構を駆動する第１のステップと、駆動時における駆動手段に印加されている駆動電流の電流値を所定の第１の時間分検出する第２のステップと、当該検出された第１の時間分の電流値の平均値が所定の閾値を越えたとき、関節機構の動作を所定の安定姿勢に遷移させるように関節機構の駆動系を制御する第３のステップとを設けるようにしたことにより、駆動手段の回転トルクが減少した結果生じる関節機構の動作を不具合を未然に防止して、当該関節機能の動作を安定姿勢に遷移させた後に、次の動作を発現させることができると共に、駆動手段及びその周辺部品の熱破損を未然に回避することができ、かくしてエンターテインメント性を格段と向上し得るロボット装置の制御方法を実現できる。
【発明を実施するための最良の形態】
【００１６】
以下図面について、本発明の一実施の形態を詳述する。
【００１７】
（１）本実施の形態によるペットロボット１の構成
図１において、１は全体として本実施の形態によるペットロボットを示し、胴体部ユニット２の前後左右にそれぞれ脚部ユニット３Ａ〜３Ｄが連結されると共に、胴体部ユニット２の前後部及び後端部にそれぞれ頭部ユニット４及び尻尾部ユニット５が連結されることにより構成されている。
【００１８】
この場合胴体部ユニット２には、図２に示すように、このペットロボット１全体の動作を制御するコントローラ１０と、このペットロボット１の動力源としてのバッテリ１１と、バッテリセンサ１２及び温度センサ１３等からなる内部センサ部１４とが収納されている。
【００１９】
また頭部ユニット４には、このペットロボット１の「目」に相当するＣＣＤ（Charge Coupled Device）カメラ１５、「耳」に相当するマイクロホン１６及びタッチセンサ１７からなる外部センサ部１８と、「口」に相当するスピーカ１９などがそれぞれ所定位置に配設されている。
【００２０】
さらに各脚部ユニット３Ａ〜３Ｄの関節部分や、各脚部ユニット３Ａ〜３Ｄ及び胴体部ユニット２の各連結部分、頭部ユニット４及び胴体部ユニット２の連結部分、並びに尻尾部ユニット５及び胴体部ユニット２の連結部分などには、それぞれ自由度数分や必要数のアクチュエータ２０１〜２０ｎ及びこれを駆動する駆動回路２１１〜２１ｎ、さらには当該アクチュエータ２０１〜２０ｎに対応するポテンショメータ２２１〜２２ｎが配設されている。
【００２１】
そして外部センサ部１８のマイクロホン１６は、ユーザから図示しないサウンドコマンダを介して音階として与えられる「歩け」、「伏せ」又は「ボールを追いかけろ」などの指令音を集音し、得られた音声信号Ｓ１Ａをコントローラ１０に送出する。またＣＣＤカメラ１５は、周囲の状況を撮像し、得られた画像信号Ｓ１Ｂをコントローラ１０に送出する。
【００２２】
さらにタッチセンサ１７は、図１において明らかなように、頭部ユニット４の上部に設けられており、ユーザからの「撫でる」や「叩く」といった物理的な働きかけにより受けた圧力を検出し、検出結果を圧力検出信号Ｓ１Ｃとしてコントローラ１０に送出する。
【００２３】
さらに各ポテンショメータ２１１〜２１ｎは、対応するアクチュエータ２０１〜２０ｎの出力軸の回転角度を検出して、検出結果を角度検出信号Ｓ１Ｄ１〜Ｓ１Ｄｎとしてコントローラ１０に送出する。
【００２４】
また内部センサ部１４のバッテリセンサ１２には、バッテリ１１のエネルギー残量を検出し、検出結果をバッテリ残量検出信号Ｓ２Ａとしてコントローラ１０に送出する。また温度センサ１３は、ペットロボット１内部の温度を検出し、検出結果を温度検出信号Ｓ２Ｂとしてコントローラ１０に送出する。
【００２５】
コントローラ１０は、外部センサ部１８から与えられる音声信号Ｓ１Ａ、画像信号Ｓ１Ｂ及び圧力検出信号Ｓ１Ｃや各ポテンショメータ２１１〜２１ｎから与えられる角度検出信号Ｓ１Ｄ１〜Ｓ１Ｄｎ等（以下、これらをまとめて外部情報信号Ｓ１と呼ぶ）と、内部センサ部１４から与えられるバッテリ残量信号Ｓ２Ａ及び温度検出信号Ｓ２Ｂ等の内部センサ情報（以下、これらをまとめて内部情報信号Ｓ２と呼ぶ）とに基づいて、外部及び内部の状態や、ユーザからの指令及び働きかけの有無などを判断する。
【００２６】
そしてコントローラ１０は、この判断結果と、予めメモリ１０Ａに格納されている制御プログラムとに基づいて続く行動を決定し、当該決定結果に基づいて必要なアクチュエータ２０１〜２０ｎを駆動させることにより、頭部ユニット４を上下左右に振らせたり、尻尾部ユニット５の尻尾５Ａを動かせたり、各脚部ユニット３Ａ〜３Ｄを駆動して歩行させるなどの行動や動作を行わせる。
【００２７】
またこの際コントローラ１０は、必要に応じて音声信号Ｓ４を生成してこれをスピーカ２２に与えることにより、当該音声信号Ｓ４に基づく音声を外部に出力させたり、このペットロボット１の「目」の位置に配設された図示しないＬＥＤを点滅させる。
【００２８】
このようにしてこのペットロボット１においては、外部及び内部の状態や、ユーザからの指令及びユーザからの働きかけの有無などに応じて自律的に行動することができるようになされている。
【００２９】
（２）駆動回路２１１〜２１ｎの構成
図３に、かかるペットロボット１における駆動回路２１１〜２１ｎの構成を示す。これら駆動回路２１１〜２１ｎにおいては、アクチュエータ２０１〜２０ｎを駆動させるためのサーボ回路３０及びＰＷＭ制御部３１と、当該アクチュエータ２０１〜２０ｎの発熱量を検出する温度センサ３２とから構成されている。
【００３０】
アクチュエータ２０１〜２０ｎにおいては、ステータに巻線されている150 〔°〕対向する２つのコイルの組（合計３組ある）をそれぞれｕ相、ｖ相及びｗ相として、これらｕ相、ｖ相及びｗ相の各コイルにそれぞれ120 〔°〕ずつ位相がずれた駆動電流を印加して各コイルに駆動電流の電流値に応じた強さの磁界を発生させることによって、ロータを介して駆動電流の電流値に応じた大きさの回転トルクを出力軸に発生させることができるようになされている。
【００３１】
そしてサーボ回路３０は、コントローラ１０から与えられる動作指定ＣＯＭと、ポテンショメータ２２１〜２２ｎから得られる角度検出信号Ｓ１Ｄ１〜Ｓ１Ｄｎとに基づいてＰＷＭ制御部３１を制御することにより、アクチュエータ２０１〜２０ｎ内のｕ相、ｖ相及びｗ相の各コイルに対してそれぞれ対応する電流値の駆動電流を印加させるようになされ、これによりアクチュエータ２０１〜２０ｎをコントローラ１０からの動作指令ＣＯＭに応じた回転角度又は回転トルクとなるように回転駆動させ得るようになされている。
【００３２】
サーボ回路３０は、コントローラ１０からの動作指令ＣＯＭに基づくアクチュエータ２０１〜２０ｎの出力軸の目標とすべき回転位置と、このときポテンショメータ２２１〜２２ｎから与えられる角度検出信号Ｓ１Ｄ１〜Ｓ１Ｄｎに基づき算出される現在の出力軸の回転位置との差分を演算すると共に、この差分をなくすために目標とすべき出力トルク（以下、これを目標トルクと呼ぶ）を演算し、当該演算結果をトルク指令信号Ｓ１０としてＰＷＭ制御部３１に送出する。
【００３３】
ＰＷＭ制御部３１は、供給されるトルク指令信号Ｓ１２に基づき得られる目標トルクに応じたＰＷＭ信号Ｓ１１をアクチュエータ２０１〜２０ｎに印加することにより、当該アクチュエータ２０１〜２０ｎにおけるｕ相、ｖ相及びｗ相の各コイルをそれぞれ所定のタイミングで通電状態及び非通電状態に順次切り換えるようになされ、これによりアクチュエータ２０１〜２０ｎの出力トルクとして目標トルクを得られるように回転駆動させ得るようになされている。
【００３４】
またＰＷＭ制御部３１は、ＰＷＭ信号Ｓ１１をアクチュエータ２０１〜２０ｎに供給するのみならず、当該ＰＷＭ信号Ｓ１１をサーボ回路３０を介してコントローラ１０に供給するようになされている。
【００３５】
また駆動回路２１１〜２１ｎ内の温度センサは、アクチュエータ２０１〜２０ｎの発熱量を検出して得られる温度センサ信号Ｓ１２をコントローラ１０に送出する。永久磁石を用いたＡＣサーボモータでは、コイルに流れる電流による発熱や渦流電流損による発熱が生じる。こうした熱により永久磁石の磁気特性が変化する。一般的に高温の雰囲気でコイル電流を流し、高い磁束密度を加えると永久磁石は減磁してしまう。このためコイル電流の最大値は、安全性をもたせるために一般的に低く抑えられた設計となっている。
【００３６】
（３）コントローラの処理
（３−１）アクチュエータ制御機能に関するコントローラ１０の処理
次にこのペットロボット１に搭載されたアクチュエータ制御機能について説明する。このペットロボット１には、各アクチュエータ２０１〜２０ｎの駆動状態に基づいて、メカロードハイ状態又は当該メカロードハイ状態よりも程度が低い状態（以下、これをプリメカロードハイ状態と呼ぶ）か否かを判断し、当該判断結果に応じた動作をペットロボット１に発現させるアクチュエータ制御機能が搭載されている。そしてこのアクチュエータ制御機能は、コントローラ１０における各処理により実現されている。
【００３７】
まずコントローラ１０は、ペットロボット１が正常状態にあり、各種の設定値がリセットされる、図１０に示すアクチュエータ制御処理手順ＲＴ１をステップＳＰ０から開始し、続くステップＳＰ１に進んで、アクチュエータ２０１〜２０ｎ（図２）におけるポテンショメータ２２１〜２２ｎの出力である角度検出信号Ｓ１Ｄ１〜Ｓ１Ｄｎからアクチュエータ２０１〜２０ｎの出力軸の回転位置の値（以下、これをポテンショ値と呼ぶ）を求める。
【００３８】
また図９において上述した制御ＩＣ５０では、ＰＷＭ制御部６１は、トルク指令信号Ｓ１２に基づき得られる目標トルクに応じて、ＰＷＭ信号Ｓ１１をアクチュエータ２０１〜２０ｎのｕ相、ｖ相及びｗ相の各コイルに対する駆動電流として印加する。すなわちＰＷＭ信号Ｓ１１に基づく駆動電流の電流値は、所定周期（50〔μｓ〕）のパルスのパルス幅と比例関係を有し、当該パルス幅に応じた例えば256階調のデューティ比の値（以下、これをＰＷＭ値と呼ぶ）で表すことができる。
【００３９】
従ってコントローラ１０は、駆動回路２１１〜２１ｎのＰＷＭ制御部３１からサーボ回路３０を介してＰＷＭ信号Ｓ１１を受け取るようにして、アクチュエータ２０１〜２０ｎのｕ相、ｖ相及びｗ相の各コイルに対する駆動電流の電流値に対応するＰＷＭ値を所定の単位時間（例えば32〔msec〕）ごとに取得する。
【００４０】
次いでコントローラ１０は、ステップＳＰ２に進んで、アクチュエータ２０１〜２０ｎの出力軸のポテンショ値の変動量の時間変化に基づいて、当該出力軸の角速度を計算した後、ステップＳＰ３に進んで、当該角速度が予め設定された所定値ωより大きいか否かを判断する。
【００４１】
このステップＳＰ３において肯定結果が得られると、このことは出力軸の角速度が非常に速いことを意味し、このときコントローラ１０は、ステップＳＰ４に進んで、現在の出力軸の角速度を80〔％〕に抑制する処理を行った後、そのままステップＳＰ６に進む。通常、出力軸の回転状態で印加される駆動電流はある程度は運動エネルギに変換されるものの、所定の角速度ωを越える場合には発熱量が非常に高くなるおそれがあるため、アクチュエータ２０１〜２０ｎの発熱量が非常に高くなるのを未然に防止する処理である。
【００４２】
一方、ステップＳＰ３において否定結果が得られると、コントローラ１０は、ステップＳＰ５に進んで、駆動回路２１１〜２１ｎに設けられた温度センサ３２から得られる温度センサ信号Ｓ１２に基づいて、アクチュエータ２０１〜２０ｎの発熱量を求め、当該発熱量が所定値ＧＨより大きいか否かを判断する。
【００４３】
このステップＳＰ５において肯定結果が得られると、このことはアクチュエータ２０１〜２０ｎの発熱量が非常に高いことを意味し、このときコントローラ１０は、ステップＳＰ６に進む。すなわち出力軸の角速度が所定の角速度ωよりも小さい場合には、印加される駆動電流は熱に変換されてアクチュエータ２０１〜２０ｎの発熱量が大きくなることから、当該出力軸の角速度が小さくてもメカロードハイ状態になる可能性が高いことから行われる処理である。
【００４４】
やがてコントローラ１０は、ステップＳＰ６において、アクチュエータ２０１〜２０ｎを回転駆動させながら、当該アクチュエータ２０１〜２０ｎの各コイルに対するＰＷＭ値を32〔msec〕単位で15〔sec〕間検出した後、これらの平均値（以下、これを移動平均値と呼ぶ）ＭＡ１５を求める。
【００４５】
そしてコントローラ１０は、そのままステップＳＰ７に進んで、アクチュエータ２０１〜２０ｎの各コイルに対するＰＷＭ値を32〔msec〕単位で30〔sec〕間検出した後、これらの移動平均値ＭＡ３０を求める。
【００４６】
続いてコントローラ１０は、ステップＳＰ８において、30秒間の移動平均値ＭＡ３０が予め設定された所定の閾値ＴＨ（例えば256階調における200）よりも大きいか否かを判断する。このステップＳＰ８において肯定結果が得られると、このことは30秒間に亘って移動平均値ＭＡ３０が比較的大きい値であったことを意味し、このときコントローラ１０は、ステップＳＰ９に進んで、このアクチュエータ２０１〜２０ｎがメカロードハイ状態にあると判定すると共に当該メカロードハイ状態に対応する処理（後述する図１４）に移行した後、再度ステップＳＰ１に戻る。
【００４７】
これに対してこのステップＳＰ８において否定結果が得られると、このことは30秒間に亘って移動平均値ＭＡ３０が比較的小さい値であったことを意味し、このときコントローラ１０は、ステップＳＰ１０に進んで、15秒間の移動平均値ＭＡ１５が予め設定された所定の閾値ＴＨよりも大きいか否かを判断する。
【００４８】
このステップＳＰ１０において肯定結果が得られると、このことは15秒間に亘って移動平均値ＭＡ１５が比較的大きい値であったことを意味し、このときコントローラ１０は、ステップＳＰ１１に進んで、このアクチュエータ２０１〜２０ｎがプリメカロードハイ状態にあると判定すると共に当該プリメカロードハイ状態に対応する処理（後述する図１５）に移行した後、再度ステップＳＰ１に戻る。
【００４９】
このようにペットロボット１では、各アクチュエータ２０１〜２０ｎの駆動状態を、当該アクチュエータ２０１〜２０ｎの各コイルに印加される駆動電流に対応するＰＷＭ値を単位時間ごとに所定時間分取得しながら、当該ＰＷＭ値の移動平均値に基づいて、メカロードハイ状態又はプリメカロードハイ状態であるか否かを判定することができるようになされている。
【００５０】
（３−２）行動生成機能に関するコントローラ１０の処理
ここでこのようなペットロボット１の行動生成に関するコントローラ１０の処理について説明する。上述したアクチュエータ制御機能において、アクチュエータ２０１〜２０ｎがメカロードハイ状態又はプリメカロードハイ状態にある場合に、当該メカロードハイ状態又はプリメカロードハイ状態に対応する姿勢遷移を行うための前提となる処理である。
【００５１】
図５に示すように、ペットロボット１の行動生成に関するコントローラ１０の処理内容を機能的に分類すると、外部及び内部の状態を認識する状態認識部４０と、状態認識部４０の認識結果に基づいて感情及び本能の状態を決定する感情・本能モデル部４１と、状態認識部４０の認識結果及び感情・本能モデル部４１において決定された感情・本能の状態に基づいて次の行動を決定する行動決定部４２と、行動決定部４２により決定された行動や動作を行うためのペットロボット１の一連の動作計画を立てる姿勢遷移制御部４３と、姿勢遷移制御部４３により立てられた動作計画に基づいてＬＥＤ(図示せず)やアクチュエータ２０１〜２０ｎ等のデバイスを制御するデバイス制御部４４とに分けることができる。
【００５２】
この場合状態認識部４０は、ＣＣＤカメラ１５、マイクロホン１６、バッテリセンサ１２等から与えられる画像信号Ｓ１Ａ、音声信号Ｓ１Ｂ、バッテリ残量検出信号Ｓ２Ａなどの各種センサ信号Ｓ１、Ｓ２に基づいて特定の状態を認識し、認識結果を状態認識情報Ｄ１として感情・本能モデル部４１及び行動決定部４２に通知する。
【００５３】
具体的に状態認識部４０は、ＣＣＤカメラ１５から与えられる画像信号Ｓ１Ａを常時監視し、当該画像信号Ｓ１Ａに基づく画像内に例えば「赤い丸いもの」や「進行方向に位置する物体」を検出したときには「ボールがある」、「障害物がある」と認識して、当該認識結果を感情・本能モデル部４１及び行動決定部４２に通知する。
【００５４】
また状態認識部４０は、マイクロホン１６から与えられる音声信号Ｓ１Ｂを常時監視し、ＨＭＭ（Hidden Markov Model）法などの音声認識手法により「歩け」、「伏せ」、「ボールを追いかけろ」等の各種音声を認識したときには、これを感情・本能モデル部４１及び行動決定部４２に通知する。
【００５５】
さらに状態認識部４０は、バッテリセンサ１２及び温度センサ１３からそれぞれ与えられるバッテリ残量検出信号Ｓ２Ａ及び温度検出信号Ｓ２Ｂに基づいてバッテリの残量及び内部の温度を認識し、認識結果を感情・本能モデル部４１及び行動決定部４２に通知する。
【００５６】
さらに状態認識部４０は、各アクチュエータ２０１〜２０ｎに与えられる制御コマンドを常時監視し、例えば頭部ユニット４のピッチ方向のアクチュエータ２０１〜２０ｎに与えられる制御コマンドに基づいて頭部ユニット４が下又は上を向くように押されたことを検出したときには「誉められた」又は「叱られた」と認識し、認識結果を感情・本能モデル部４１及び行動決定部４２に通知する。
【００５７】
感情・本能モデル部４１は、「喜び」、「悲しみ」、「驚き」、「恐怖」、「嫌悪」及び「怒り」の合計６つの情動について、これら情動ごとにその情動の強さを表すパラメータを保持している。そして感情・本能モデル部４１は、これら各情動のパラメータ値を、それぞれ状態認識部４０から状態認識情報Ｄ１として与えられる「誉められた」、「叱られた」などの特定の認識結果等に基づいて順次変更する。
【００５８】
また感情・本能モデル部４１は、これと同様にして、「愛情欲」、「探索欲」、「運動欲」、「充電欲」及び「睡眠欲」の互いに独立した５つの欲求について、これら欲求ごとにその欲求の強さを表すパラメータを保持している。そして感情・本能モデル部４１は、これら各欲求のパラメータ値を、それぞれ状態認識部４０からの認識結果や経過時間等に基づいて順次変更する。
【００５９】
一方、行動決定部４２は、状態認識部４０から状態認識情報Ｄ１が与えられたときや、現在の行動に移ってから一定時間経過したとき、感情・本能モデル部４１におけるいずれかの情動又は本能のパラメータ値が閾値を超えたときなどに、内部メモリ１０Ａに格納されている制御プログラム及び内部メモリ１０Ａに格納されている制御パラメータに基づいて次の行動を決定する。
【００６０】
具体的に行動決定部４２は、次の行動を決定する手法として、図６に示すように、状態をノードＮＤＡ０〜ＮＤＡｎとして表現し、１つのノードＮＤＡ０から次にどのノードＮＤＡ０〜ＮＤＡｎに遷移するかを、自ノードＮＤＡ０〜ＮＤＡｎにおいて完結し又は各ノードＮＤＡ０〜ＮＤＡｎ間を接続するアークＡＲＡ０〜ＡＲＡｎに対してそれぞれ設定された遷移確率Ｐ０〜Ｐｎに基づいて確率的に決定する確率オートマトンと呼ばれるアルゴリズムを用いる。
【００６１】
この場合この確率オートマトンにおける各ノードＮＤＡ０〜ＮＤＡｎ間の接続関係や、各アークＡＲＡ０〜ＡＲＡｎに対する遷移確率Ｐ１〜Ｐｎ及び、各アークＡＲＡ０〜ＡＲＡｎにそれぞれ対応付けられた行動が制御パラメータ（行動モデル）として内部メモリ１０Ａに格納されている。
【００６２】
そして行動決定部４２は、例えば状態認識部４０から状態認識情報Ｄ１が与えられたときや、現在のノード（ＮＤＡ０）に移ってから一定時間が経過したとき、感情・本能モデル部４１におけるいずれかの情動又は本能のパラメータ値が閾値を超えたときなどに、かかる確率オートマトンにおける次の遷移先のノード（ＮＤＡ０〜ＮＤＡｎ）を各アークＡＲＡ０〜ＡＲＡｎに対する遷移確率Ｐ０〜Ｐｎに基づいて確率的に決定し、このとき決定したノード（ＮＤＡ０〜ＮＤＡｎ）と元のノード（ＮＤＡ０）をと接続するアーク（ＡＲＡ０〜ＡＲＡｎ）に対応付けられた行動を次に発現すべき行動として、行動決定情報Ｄ２として姿勢遷移制御部４３に通知する。
【００６３】
姿勢遷移制御部４３においては、行動決定部４２から行動決定情報Ｄ２が与えられると、当該行動決定情報Ｄ２に基づく行動を行うためのペットロボット１の一連の動作計画を立て、当該動作計画に基づく動作指令情報Ｄ３をデバイス制御部４４に出力する。
【００６４】
この場合姿勢遷移制御部４３は、かかる動作計画を立てる手法として、例えば図７に示すようなペットロボット１がとり得る姿勢をそれぞれノードＮＤＢ０〜ＮＤＢ２とし、遷移可能なノードＮＤＢ０〜ＮＤＢ２間を動作を表す有向アークＡＲＢ０〜ＡＲＢ２で結び、かつ１つのノードＮＤＢ０〜ＮＤＢ２で完結する動作を自己動作アークＡＲＣ０〜ＡＲＣ３として表現する有向グラフを用いる。
【００６５】
具体的には、このペットロボット１の場合、各ノードＮＤＢ０〜ＮＤＢ２にはそれぞれ「立つ」、「座る」等の姿勢が対応付けられ、これらノードＮＤＢ０〜ＮＤＢ２間をそれぞれ結ぶ各有向アークＡＲＢ０〜ＡＲＢ２には姿勢を遷移させるための動作が対応付けられている。また各自己動作アークＡＲＣ０〜ＡＲＣ３には、それぞれ「歩く」、「ダンスする」、「頭を揺する」等の対応するその姿勢において発現できる各種動作が対応付けられている。
【００６６】
そして姿勢遷移制御部４３は、行動決定部４２から「立て」、「歩け」、「ダンスしろ」等の行動指令が行動決定情報Ｄ２として与えられると、有向アークＡＲＢ０〜ＡＲＢ２の向きに従いながら、現在のノードＮＤＢ０〜ＮＤＢ２から指定された姿勢又は動作が対応付けられたノードＮＤＢ０〜ＮＤＢ２又は有向アークＡＲＢ０〜ＡＲＢ２若しくは自己動作アークＡＲＣ０〜ＡＲＣ３に至る最短経路を探索し、当該探索した経路上の各有向アークＡＲＢ０〜ＡＲＢ２や自己動作アークＡＲＣ０〜ＡＲＣ３にそれぞれ対応付けられた動作を順次行わせるための動作指令を動作指令情報Ｄ３としてデバイス制御部４４に次々と出力する。
【００６７】
例えば、姿勢制御制御部４３は、ペットロボット１が「座る」の姿勢にある場合において、行動決定部４２から「伏せた状態で手足をばたばたさせろ」という行動指令が与えられた場合には、「座る」の姿勢に対応するノードＮＤＢ１及び「伏せる」の姿勢に対応するノードＮＤＢ２間を結ぶ有向アークＡＲＢ１に対応付けられた「伏せる」という動作（以下、これを「伏せ動作」と呼ぶ）の動作指令と、自己動作アークＡＲＣ３に対応付けられた「手足をばたばた」という動作（以下、これを「手足ばたばた動作」と呼ぶ）の動作指令とをデバイス制御部４４に順次送出することとなる。
【００６８】
デバイス制御部４４においては、姿勢遷移制御部４３が保持する有向グラフの各有向アークＡＲＢ０〜ＡＲＢ２や各自己動作アークＡＲＣ０〜ＡＲＣ３にそれぞれ対応付けられた各動作にそれぞれ対応させて、その動作をペットロボット１に発現させるためにどのアクチュエータ２０１〜２０ｎ（図２）をどのタイミングでどのくらい駆動させるかといった、動作ごとの各アクチュエータ２０１〜２０ｎの時系列的な制御内容を規定したファイル（以下、これを動作ファイルと呼ぶ）を内部メモリ１０Ａ内に有している。
【００６９】
そしてデバイス制御部４４は、姿勢遷移制御部４３から動作指令情報Ｄ３が与えられるごとに、対応する動作ファイルを順次再生して当該動作ファイルに格納された制御パラメータに基づく制御コマンドを生成し、当該制御コマンドに基づいて対応するアクチュエータ２０１〜２０ｎを駆動制御することにより、ペットロボット１に対応する動作を発現させる。
【００７０】
従ってデバイス制御部４４は、例えばペットロボット１が「座る」の姿勢にある場合において、姿勢遷移制御部４３から上述の「伏せ動作」及び「手足ばたばた動作」の動作指令が順次与えられた場合には、まず「伏せ動作」に対応する動作ファイルに基づき対応する各アクチュエータ２０１〜２０ｎを時系列的に順次制御することによりペットロボット１に「伏せ動作」を発現させ、この後これに続けて「手足ばたばた動作」に対応する動作ファイルに基づき対応する各アクチュエータ２０１〜２０ｎを時系列的に順次制御することによりペットロボット１に「手足ばたばた動作」を発現させる。これによりペットロボット１全体として、姿勢を「座る」から「伏せる」に遷移し、その後「手足をばたばた」させるという一連の動作が発現されることとなる。
【００７１】
またデバイス制御部４４は、各種音のＷＡＶＥファイルである複数の音声ファイルと、ＬＥＤ(図示せず)の駆動データが格納された複数のＬＥＤ駆動ファイルを内部メモリ１０Ａ内に有しており、かかる動作ファイルの再生時等にその動作ファイルと対応付けられた音声ファイル及び又はＬＥＤ駆動ファイルを同時に再生することにより、ペットロボット１に動作と合わせてスピーカ１９（図２）から音声を出力させたり、ＬＥＤを点滅駆動させる。
【００７２】
このようにしてコントローラ１０においては、外部及び内部の状況や、ユーザからの指令及び働きかけの有無等に応じてペットロボット１を自律的に行動させ得るようになされている。
【００７３】
（３−３）メカロードハイ状態又はプリメカロードハイ状態に対する処理
上述のアクチュエータ制御機能を実行したコントローラ１９は、図１０に示すアクチュエータ制御処理手順ＲＴ１におけるステップＳＰ９又はＳＰ１１において、各アクチュエータ２０１〜２０ｎの駆動状態をメカロードハイ状態又はプリメカロードハイ状態であると判定した場合に、当該メカロードハイ状態又はプリメカロードハイ状態に対する処理を実行する。
【００７４】
まずコントローラ１０は、メカロードハイ状態であると判定した場合、図１４に示す処理手順ＲＴ２を対応するステップＳＰ９（図１０）から開始し、続くステップＳＰ２０において、各アクチュエータ２０１〜２０ｎの駆動を停止させてペットロボット１を脱力状態に制御する。
【００７５】
続いてコントローラ１０は、ステップＳＰ２１に進んで、ユーザから例えばタッチセンサ１７（図２）を触られる等の復帰指示が与えられるのを待ち、当該復帰指示が与えられた場合には、ステップＳＰ２２に進んで、各アクチュエータ２０１〜２０ｎを駆動制御するようにして、ペットロボット１全体として「座る」や「伏せる」などの安定姿勢に遷移させる。この後、コントローラ１０は、ステップＳＰ２３に進んで当該処理手順ＲＴ２を終了すると同時にステップＳＰ１（図１０）に戻る。
【００７６】
またコントローラ１０は、プリメカロードハイ状態であると判定した場合、図１５に示す処理手順ＲＴ３を対応するステップＳＰ１１（図１０）から開始し、続くステップＳＰ３０において、各アクチュエータを駆動制御するようにして、ペットロボット１全体として「座る」や「伏せる」などの安定姿勢に遷移させる。この後、コントローラ１０は、ステップＳＰ３１に進んで当該処理手順ＲＴ３を終了すると同時にステップＳＰ１（図１０）に戻る。
【００７７】
（４）本実施の形態による動作及び効果
以上の構成において、このペットロボット１では、脚部ユニット３Ａ〜３Ｄや頭部ユニット４等の各関節のアクチュエータ２０１〜２０ｎの駆動状態を、当該アクチュエータ２０１〜２０ｎの各コイルに印加される駆動電流に応じたＰＷＭ値の移動平均値に基づいて、当該アクチュエータ２０１〜２０ｎの回転トルクが減少した結果生じるメカロードハイ状態又はプリメカロードハイ状態にあるか否かを判断する。
【００７８】
かかるメカロードハイ状態又はプリメカロードハイ状態は、各アクチュエータ２０１〜２０ｎごとに、対応するアクチュエータ２０１〜２０ｎに過剰に駆動電流が印加されて、当該アクチュエータ２０１〜２０ｎの発熱量が増大することにより生じることから、アクチュエータ２０１〜２０ｎの出力軸の角速度が大きい場合には、各コイルの駆動電流を若干下げるように制御すると共に、当該出力軸の角速度が小さい場合であっても、当該アクチュエータ２０１〜２０ｎの発熱量が大きい場合には、メカロードハイ状態の可能性があると判断するようにした。この結果、同じ駆動電流を印加した場合でも、アクチュエータ２０１〜２０ｎの回転停止時の方が回転時よりも発熱量が大きい特性を考慮して、従来では困難であった当該アクチュエータ２０１〜２０ｎの回転時又は回転停止時の区別を明確にすることができる。
【００７９】
そしてメカロードハイ状態又はプリメカロードハイ状態の判定にあたって、アクチュエータ２０１〜２０ｎの各コイルに印加される駆動電流に応じたＰＷＭ値の移動平均値を基準とすることにより、従来のようなＰＷＭ値が所定の閾値以上を一定時間持続するか否かをみて一瞬でも閾値を下回ると時間的にリセットされるといった不具合を解消することができ、精度の高い検出を行うことができる。
【００８０】
その際、メカロードハイ状態であると判定した場合には、即座にペットロボット１全体を脱力状態に制御して、ユーザの指示があったときに、アクチュエータ２０１〜２０ｎの負荷が比較的小さい安定姿勢に遷移させるようにしたことにより、その後にペットロボット１の内部状況や外部からの指示に応じた次の動作を発現させることができると共に、アクチュエータ２０１〜２０ｎ自体やその周辺部品を熱破損させるのを未然に防止することができる。
【００８１】
一方、プリメカロードハイ状態と判定した場合には、メカロードハイ状態と判定した場合ように即座にペットロボット１全体を脱力状態に制御するのではなく、アクチュエータ２０１〜２０ｎの負荷が比較的小さい安定姿勢に遷移させるようにしたことにより、ペットロボット１の動作の連続性を確保することで不自然さを回避することができる。
【００８２】
以上の構成によれば、このペットロボット１において、脚部ユニット３Ａ〜３Ｄや頭部ユニット４等の各関節のアクチュエータ２０１〜２０ｎの駆動状態を、当該アクチュエータ２０１〜２０ｎの各コイルに印加される駆動電流に応じたＰＷＭ値の移動平均値に基づいて、メカロードハイ状態又はプリメカロードハイ状態にあるか否かを判定した後、当該判定結果に応じて、各アクチュエータ２０１〜２０ｎへの負荷を低減させるような安定姿勢に遷移させるようにしたことにより、その後にペットロボット１の内部状況や外部からの指示に応じた次の動作を発現させることができ、かくして動作の不具合を解消しながらエンターテインメント性を格段と向上し得るペットロボット１を実現できる。
【００８３】
（５）他の実施の形態
なお上述のように本実施の形態においては、本発明を図１及び図２のように構成された４足歩行型のペットロボット１に適用するようにした場合について述べたが、本発明はこれに限らず、所定の関節機構を必要に応じて駆動させながら動作することができれば、この他種々の形状のロボット装置（いわゆる玩具（おもちゃ、トイ（Toy）を含む）に広く適用することができる。
【００８４】
また上述のように本実施の形態においては、出力軸が関節機構に連結され、供給される駆動電流に応じた回転量で出力軸を回転させるようにして、関節機構を駆動する駆動手段として、図３のように構成されたアクチュエータ２０１〜２０ｎを適用するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成のものに広く適用することができる。
【００８５】
さらに上述のように本実施の形態においては、駆動時におけるアクチュエータ（駆動手段）２０１〜２０ｎに印加されている駆動電流の電流値（すなわちＰＷＭ値）を所定の15〔sec〕（第１の時間）分検出する電流値検出手段として、コントローラ１０を適用するようにした場合について述べたが、本発明はこれに限らず、この他種々の電流値検出手段を適用するようにしても良い。
【００８６】
さらに上述のように本実施の形態においては、15〔sec〕（第１の時間）分のアクチュエータ（駆動手段）２０１〜２０ｎに印加されている駆動電流の電流値（ＰＷＭ値）の移動平均値（平均値）ＭＡ１５が所定の閾値ＴＨを越えたとき、関節機構の動作を所定の安定姿勢に遷移させるようにアクチュエータ（駆動手段）２０１〜２０ｎを制御する制御手段として、駆動回路２１１〜２１ｎ及びコントローラ１０を適用するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成からなる制御手段に広く適用するようにしても良い。
【００８７】
さらに上述のように本実施の形態においては、電流値（ＰＷＭ値）を15〔sec〕（第１の時間）より長い所定の30〔sec〕（第２の時間）分検出した後、30〔sec〕（第２の時間）分の電流値の移動平均値（平均値）ＭＡ３０が閾値ＴＨを越えたとき、関節機構の動作を停止させた後に安定姿勢に遷移させるように、コントローラ（制御手段）１０がアクチュエータ（駆動手段）２０１〜２０ｎを制御するようにした場合について述べたが、本発明はこれに限らず、図１０に示すアクチュエータ制御処理手順ＲＴ１以外にも、プリメカロードハイ状態であるか否かを判定した後、当該検出結果に応じて、メカロードハイ状態を判定するようにしても良い。
【００８８】
さらに上述のように本実施の形態においては、アクチュエータ（駆動手段）２０１〜２０ｎの出力軸の回転量に基づいて、当該出力軸の角速度を算出する角速度算出手段として、アクチュエータ２０１〜２０ｎ内に設けられたポテンショメータ２２１〜２２ｎを適用し、コントローラ（制御手段）１０は、ポテンショメータ（角速度算出手段）２２１〜２２ｎにより算出された出力軸の角速度が所定の閾値Ｗを越えるとき、電流値（すなわちＰＷＭ値）を80〔％〕に抑制するようにアクチュエータ（駆動手段）２０１〜２０ｎを制御するようにした場合について述べたが、本発明はこれに限らず、80〔％〕以外にも種々の割合で電流値（ＰＷＭ値）を抑制させるようにしても良い。
【００８９】
さらに上述のように本実施の形態においては、アクチュエータ（駆動手段）２０１〜２０ｎの発熱量を検出する温度センサ（温度検出手段）３２を設け、アクチュエータ（駆動手段）２０１〜２０ｎの出力軸の角速度が閾値Ｗを越えない場合であって、温度センサ（温度検出手段）３２により検出されたアクチュエータ（駆動手段）２０１〜２０ｎの発熱量が所定温度ＧＨよりも高い場合に駆動電流の電流値（ＰＷＭ値）を15〔sec〕（第１の時間）分検出するようにした場合について述べたが、要は、同じ駆動電流を印加した場合でも、アクチュエータ（駆動手段）２０１〜２０ｎの回転停止時の方が回転時よりも発熱量が大きい特性を考慮して当該アクチュエータ（駆動手段）２０１〜２０ｎの回転時又は回転停止時の区別を明確にすることができれば、この他種々の方法を適用するようにしても良い。
【産業上の利用可能性】
【００９０】
ロボット装置及びその制御方法において、アミューズメントロボットや介護ロボットなどに適用することができる。
【図面の簡単な説明】
【００９１】
【図１】本実施の形態によるロボットの外観構成を示す斜視図である。
【図２】本実施の形態によるロボットの内部構成を示すブロック図である。
【図３】図２に示す駆動回路の構成を示すブロック図である。
【図４】アクチュエータ制御処理手順の説明に供するフローチャートである。
【図５】コントローラの処理の説明に供するブロック図である。
【図６】確率オートマトンを示す概念図である。
【図７】有向グラフの説明に供する概念図である。
【図８】メカロードハイ状態時の処理手順の説明に供するフローチャートである。
【図９】プリメカロードハイ状態時の処理手順の説明に供するフローチャートである。
【符号の説明】
【００９２】
１……ロボット、２……胴体部ユニット、２Ａ……背中部、３……脚部ユニット、４……頭部ユニット、５……尻尾部ユニット、１０……コントローラ、２０１〜２０ｎ……アクチュエータ、２１１〜２１ｎ……駆動回路、２２１〜２２ｎ……ポテンショメータ、３０……サーボ回路、３１……ＰＷＭ制御部、３２……温度センサ、ＲＴ１……アクチュエータ制御処理手順、ＲＴ２……メカロードハイ状態時の処理手順、ＲＴ３……プリメカロードハイ状態時の処理手順。
【図１】
2005074564.tif 000003
【図２】
2005074564.tif 000004
【図３】
2005074564.tif 000005
【図４】
2005074564.tif 000006
【図５】
2005074564.tif 000007
【図６】
2005074564.tif 000008
【図７】
2005074564.tif 000009
【図８】
2005074564.tif 000010
【図９】
2005074564.tif 000011