(57)【要約】【課題】  本発明は、簡易な構成で一段と安全性を向上し得るロボット装置及びその制御方法を実現しようとするものである。【解決手段】  アクチュエータ１９Ａ〜１９Ｎを駆動させるためのＰＷＭ制御信号Ｓ２０の理論デューティ比と実とデューティ比との差分値の絶対値及び符号から、当該アクチュエータ１９Ａ〜１９Ｎにかかる負荷の大きさ及び方向を推定し、この大きさ及び方向から当該アクチュエータ１９Ａ〜１９Ｎの組み込まれた関節部分に異物が挟みこまれているか否かを判断してアクチュエータ１９Ａ〜１９Ｎのゲインを適切に制御するようにしたことにより、異物の挟み込みを検出するための検出装置を別途設けることなく確実に関節部分に異物が挟み込まれたかどうかを検出し得ると共に、アクチュエータ１９Ａ〜１９Ｎを適切に制御して当該関節部分や異物に与える影響を確実に低減し得、かくして簡易な構成で一段と安全性を向上することができる。【選択図】        図３
2005066808.tif 000002
【特許請求の範囲】
【請求項１】
第１のリンクと第２のリンクが支持点を介して連結する関節部を有するロボット装置において、
上記関節部を駆動させるための駆動手段と、
上記駆動手段を制御するための制御信号を生成し、当該制御信号によって上記駆動手段を制御する制御手段と、
上記制御信号に基づいて上記関節部に印加される負荷の大きさ及び負荷の方向を検出する負荷検出手段とを具え、
上記制御手段は、
上記負荷検出手段により検出された上記負荷の大きさが所定の閾値を超えており、かつ、上記関節部の駆動方向と逆方向に対して負荷が印加されている場合に、上記駆動手段を制御することにより、上記関節部に印加される負荷を減少させる、又は、上記駆動手段のゲインをゼロとする
ことを特徴とするロボット装置。
【請求項２】
上記制御手段は、
上記負荷検出手段により検出された上記負荷の大きさが所定の閾値を超えており、かつ、上記関節部の駆動方向と逆方向に対して負荷が印加されている場合に、上記関節部が支持脚であるか否かに応じて上記駆動手段を制御する
ことを特徴とする請求項１に記載のロボット装置。
【請求項３】
上記制御手段は、
上記負荷検出手段により検出された上記負荷の大きさが所定の閾値を超えており、かつ、上記関節部の駆動方向と逆方向に対して負荷が印加されている場合に、上記関節部の状況に応じて上記駆動制御手段を制御する
ことを特徴とする請求項１に記載のロボット装置。
【請求項４】
第１のリンクと第２のリンクが支持点を介して連結する関節部を有するロボット装置の制御方法において、
上記関節部を駆動させる駆動手段を制御するための制御信号を生成し、当該制御信号によって上記駆動手段を制御する第１のステップと、
上記制御信号に基づいて上記関節部に印加される負荷の大きさ及び負荷の方向を負荷検出手段において検出する第２のステップと、
上記負荷検出手段により検出された上記負荷の大きさが所定の閾値を超えており、かつ、上記関節部の駆動方向と逆方向に対して負荷が印加されている場合に、上記駆動手段を制御することにより、上記関節部に印加される負荷を減少させる、又は、上記駆動手段のゲインをゼロとする第３のステップと
を具えることを特徴とするロボット装置の制御方法。
【請求項５】
上記第３のステップでは、
上記負荷検出手段により検出された上記負荷の大きさが所定の閾値を超えており、かつ、上記関節部の駆動方向と逆方向に対して負荷が印加されている場合に、上記関節部が支持脚であるか否かに応じて上記駆動手段を制御する
ことを特徴とする請求項４に記載のロボット装置の制御方法。
【請求項６】
上記第３のステップでは、
上記負荷検出手段により検出された上記負荷の大きさが所定の閾値を超えており、かつ、上記関節部の駆動方向と逆方向に対して負荷が印加されている場合に、上記関節部の状況に応じて上記駆動制御手段を制御する
ことを特徴とする請求項４に記載のロボット装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット装置及びその制御方法に関し、例えばペット型のロボットに適用して好適なものである。
【背景技術】
【０００２】
従来、ユーザからの指令や周囲の環境に応じて決まった動作を行うロボットがある。かかるロボットにおいては、例えばその関節部に異物を挟み込むと、当該関節部や異物に対して過剰な負荷が加わり、当該関節部や異物を破損する恐れがあった。
【０００３】
そこでかかるロボットにおいては、その関節部に各種センサが内蔵され、当該関節部に異物が挟み込まれて過剰な負荷が加わった場合に、そのことを各種センサが検出し、その関節部を駆動させるモータの出力を弱めることにより、当該関節部や挟み込んだ異物の破損を防止するようになされたものがある（例えば非特許文献１参照）。
【非特許文献１】特願２００３−１２２８８４
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、このようなロボットにおいては、その関節部に加わる負荷を検出するための各種センサを、異物を挟み込む恐れのある関節部全てに内蔵する必要があり、この結果、ロボットの構成を煩雑化及び大型化させてしまうという問題があった。
【０００５】
このような問題を解決するために、関節部を駆動させるモータの制御信号をもとに、その関節部に加わる負荷の大きさを検出するようになされたものが提案されているが、この場合、その関節部に加わる負荷の大きさのみしか認識できないために、異物を挟み込んでいるかどうかを確実に認識し得ないという問題があった。
【０００６】
本発明は以上の点を考慮してなされたもので、簡易な構成で一段と安全性を向上し得るロボット装置及びその制御方法を提案しようとするものである。
【課題を解決するための手段】
【０００７】
かかる課題を解決するため本発明においては、第１のリンクと第２のリンクが支持点を介して連結する関節部を有するロボット装置において、関節部を駆動させるための駆動手段と、駆動手段を制御するための制御信号を生成し、当該制御信号によって駆動手段を制御する制御手段と、制御信号に基づいて関節部に印加される負荷の大きさ及び負荷の方向を検出する負荷検出手段とを設け、制御手段は、負荷検出手段により検出された負荷の大きさが所定の閾値を超えており、かつ、関節部の駆動方向と逆方向に対して負荷が印加されている場合に、駆動手段を制御することにより、関節部に印加される負荷を減少させる、又は、駆動手段のゲインをゼロとするようにした。
【０００８】
この結果このロボット装置は、関節部への負荷を検出するための検出装置を別途設けることなく当該関節部への負荷の大きさ及び方向を検出することができると共に、当該関節部への負荷の大きさ及び方向に応じて当該関節部への負荷の影響を確実に低減させることができる。
【０００９】
また本発明においては、第１のリンクと第２のリンクが支持点を介して連結する関節部を有するロボット装置の制御方法において、関節部を駆動させるための駆動手段を制御するための制御信号を生成し、当該制御信号によって駆動手段を制御する第１のステップと、制御信号に基づいて関節部に印加される負荷の大きさ及び負荷の方向を負荷検出手段において検出する第２のステップと、負荷検出手段により検出された負荷の大きさが所定の閾値を超えており、かつ、関節部の駆動方向と逆方向に対して負荷が印加されている場合に、駆動手段を制御することにより、関節部に印加される負荷を減少させる、又は、駆動手段のゲインをゼロとする第３のステップとを設けるようにした。
【００１０】
この結果このロボット装置の制御方法では、関節部への負荷を検出するための検出装置を別途設けることなく当該関節部への負荷の大きさ及び方向を検出することができると共に、当該関節部への負荷の大きさ及び方向に応じて当該関節部への負荷の影響を確実に低減させることができる。
【発明の効果】
【００１１】
本発明によれば、ロボット装置において、関節部への負荷を検出するための検出装置を別途設けることなく当該関節部への負荷の大きさ及び方向を検出することができると共に、当該関節部への負荷の大きさ及び方向に応じて当該関節部への負荷の影響を確実に低減させることができ、かくして簡易な構成で一段と安全性を向上し得るロボット装置を実現できる。
【００１２】
また本発明によれば、ロボット装置の制御方法において、関節部への負荷を検出するための検出装置を別途設けることなく当該関節部への負荷の大きさ及び方向を検出することができると共に、当該関節部への負荷の大きさ及び方向に応じて当該関節部への負荷の影響を確実に低減させることができ、かくして簡易な構成で一段と安全性を向上し得るロボット装置の制御方法を実現できる。
【発明を実施するための最良の形態】
【００１３】
以下図面について、本発明の一実施の形態を詳述する。
【００１４】
（１）本実施の形態によるペットロボットの構成
図１において、１は全体として本実施の形態によるペットロボットを示し、胴体部ユニット２の前後左右にそれぞれ股部３ＡＡ〜３ＤＡ、脛部３ＡＢ〜３ＤＢからなる脚部ユニット３Ａ〜３Ｄが、その一端を多種方向に回動自在に連結されると共に、胴体部ユニット２の前端部及び後端部にそれぞれ頭部ユニット４及び尻尾部ユニット５が連結されることにより構成されている。
【００１５】
この場合、胴体部ユニット２には、図２に示すように、このペットロボット１全体の動作を制御するコントローラ１０と、このペットロボット１の動力源となるバッテリ１１と、バッテリセンサ１２及び熱センサ１３からなる内部センサ部１４となどが収納されている。
【００１６】
また頭部ユニット４には、このペットロボット１の「耳」に相当するマイクロホン１５と、「目」に相当するＣＣＤ（Charge Coupled Device）カメラ１６と、タッチセンサ１７と、「口」に相当するスピーカ１８となどがそれぞれ所定位置に配設されている。
【００１７】
さらに各脚部ユニット３Ａ〜３Ｄと胴体部ユニット２とを連結する各関節部分や、各脚部３Ａ〜３Ｄの各股部３ＡＡ〜３ＤＡと対応する各脛部３ＡＢ〜３ＤＢとの関節部分、及び頭部ユニット４と胴体部ユニット２との連結部分、並びに尻尾部ユニット５と胴体部ユニット２との連結部分などにはそれぞれアクチュエータ１９Ａ〜１９Ｎが配設されている。
【００１８】
そして頭部ユニット４のマイクロホン１５は、ユーザから図示しないサウンドコマンダを介して音階として与えられる「歩け」、「伏せ」又は「ボールを追いかけろ」等の指令音を集音し、得られた音声信号Ｓ１をコントローラ１０に送出する。またＣＣＤカメラ１６は、周囲の状況を撮像し、得られた画像信号Ｓ２をコントローラ１０に送出する。
【００１９】
さらにタッチセンサ１７は、頭部ユニット４の上部に設けられており、ユーザからの「なでる」や「たたく」といった物理的な働きかけにより受けた圧力を検出し、検出結果を圧力検出信号Ｓ３としてコントローラ１０に送出する。
【００２０】
さらに胴体部ユニット２のバッテリセンサ１２は、バッテリ１１の残量を検出し、検出結果をバッテリ残量検出信号Ｓ４としてコントローラ１０に送出し、熱センサ１３は、ペットロボット１内部の熱を検出して検出結果を熱検出信号Ｓ５としてコントローラ１０に送出する。
【００２１】
コントローラ１０は、マイクロホン１５、ＣＣＤカメラ１６、タッチセンサ１７、バッテリセンサ１２及び熱センサ１３から与えられる音声信号Ｓ１、画像信号Ｓ２、圧力検出信号Ｓ３、バッテリ残量検出信号Ｓ４及び熱検出信号Ｓ５などに基づいて、周囲の状況や、ユーザからの指令及びユーザからの働きかけの有無などを判断する。
【００２２】
そしてコントローラ１０は、この判断結果と予めメモリ１０Ａに格納されている制御プログラムとに基づいて続く行動を決定し、決定結果に基づいて必要なアクチュエータ１９Ａ〜１９Ｎを駆動させることにより、頭部ユニット４及び尻尾部ユニット５を上下左右に振らせたり、各脚部ユニット３Ａ〜３Ｄを駆動して歩行させるなどの行動を行わせる。
【００２３】
またこの際コントローラ１０は、必要に応じて所定の音声信号Ｓ６をスピーカ１８に与えることにより当該音声信号Ｓ６に基づく音声を外部に出力させたり、このペットロボット１の「目」の位置に設けられた図示しないＬＥＤ（Light Emitting Diode）を点灯、消灯又は点滅させる。
【００２４】
このようにしてこのペットロボット１においては、周囲の状況及び制御プログラム等に基づいて自律的に行動し得るようになされている。
【００２５】
（２）アクチュエータの構成
ここで実際上、このペットロボット１のアクチュエータ１９Ａ〜１９Ｎは、図３に示すように、アクチュエータ１９Ａ〜１９Ｎの駆動を制御する駆動制御部２０、アクチュエータ１９Ａ〜１９Ｎを駆動させるための回転力を発生する回転力発生部２１及びアクチュエータ１９Ａ〜１９Ｎの現在の角度を検出するポテンショメータ２２から構成される。
【００２６】
この場合、駆動制御部２０は、コントローラ１０（図２）から送られてくる動作指示コマンドＣＯＭをもとにアクチュエータ１９Ａ〜１９Ｎの目標とすべき回転角度、角速度、角加速度及びゲインを認識し、これらに基づいてＰＷＭ（Pulse Width Modulation：パルス幅変調）制御信号Ｓ２０を生成して、これを回転力発生部２１に送出する。
【００２７】
そして回転力発生部２１が、このＰＷＭ制御信号Ｓ２０に基づいて回転力を発生することにより、コントローラ１０の指示に従ってアクチュエータ１９Ａ〜１９Ｎを駆動させ得るようになされている。
【００２８】
ここで、駆動制御部２０が生成するＰＷＭ制御信号Ｓ２０は、アクチュエータ１９Ａ〜１９Ｎが、例えばコントローラ１０の指示通りに駆動している場合（以下、この場合を通常駆動時と呼ぶ）には、図４（Ａ）及び（Ｂ）に示すように、そのパルス幅を表すデューティ比（所定の単位時間Ｔ当たりにおける通電時間ｔの比率）が、このとき指示された角速度に大きく依存する。
【００２９】
すなわちこの場合、駆動制御部２０は、コントローラ１０から指示された角速度が大きいほどデューティ比の大きなＰＷＭ制御信号Ｓ２０を生成し、これを回転力発生部２１に送出することにより、当該角速度に応じた回転力を当該回転力発生部２１で発生させるようになされている。
【００３０】
これに対して、アクチュエータ１９Ａ〜１９Ｎに対して負荷が加えられている場合（以下、この場合を負荷駆動時と呼ぶ）には、ＰＷＭ制御信号Ｓ２０のデューティ比がその負荷に大きく依存する。
【００３１】
実際上、アクチュエータ１９Ａ〜１９Ｎの駆動時に、当該アクチュエータ１９Ａ〜１９Ｎに負荷が加わる場合というのは、例えば図５に示すように股部３ＡＡを胴体部ユニット２に近づけるように矢印Ｙの示す方向に駆動させるときに、当該股部３ＡＡと胴体部ユニット２との間に異物が挟み込まれることにより当該股部３ＡＡと胴体部ユニット２との連結部分に組み込まれた例えばアクチュエータ１９Ａに対して、その駆動方向（すなわち矢印Ｙの示す方向）に負荷が加わる場合と、股部３ＡＡと胴体部ユニット２との間に異物が挟み込まれてはおらず、例えばユーザが股部３ＡＡをその駆動方向（矢印Ｙの示す方向）に加速させるように力を加えることにより、当該アクチュエータ１９Ａに対して、その駆動方向とは逆方向（すなわち矢印Ｙの示す方向とは逆方向）に負荷が加わる場合とがある。
【００３２】
ここで駆動方向に負荷が加わる場合、アクチュエータ１９Ａ〜１９Ｎの駆動制御部２０は、図６（Ａ）、（Ｂ）及び（Ｃ）に示すように、負荷が加えられているアクチュエータ１９Ａ〜１９Ｎをコントローラ１０の指示通りに駆動させようとして、ほとんど負荷の無い状態で当該指示と同様の指示が与えられた通常駆動時のデューティ比よりも当該アクチュエータ１９Ａ〜１９Ｎの駆動方向に加えられている負荷の分だけ大きなデューティ比のＰＷＭ制御信号Ｓ２０を生成し、これを回転力発生部２１に送出することにより、当該負荷に応じた回転力を当該回転力発生部２１で発生させるようになされている。
【００３３】
一方、駆動方向とは逆方向に負荷が加わる場合、駆動制御部２０は、図７（Ａ）、（Ｂ）及び（Ｃ）に示すように、負荷が加えられているアクチュエータ１９Ａ〜１９Ｎをコントローラ１０の指示通りに駆動させようとして、ほとんど負荷の無い状態で当該指示と同様の指示が与えられた通常駆動時のデューティ比よりも当該アクチュエータ１９Ａ〜１９Ｎの駆動方向とは逆方向に加えられている負荷の分だけ小さなデューティ比のＰＷＭ制御信号Ｓ２０を生成し、これを回転力発生部２１に送出することにより、当該負荷に応じた回転力を当該回転力発生部２１で発生させるようになされている。
【００３４】
このように駆動制御部２０は、通常駆動時には、コントローラ１０から指示された角速度に大きく依存するデューティ比でなるＰＷＭ制御信号Ｓ２０を生成し、負荷駆動時には、アクチュエータ１９Ａ〜１９Ｎに加えられる負荷に大きく依存するデューティ比でなるＰＷＭ制御信号Ｓ２０を生成するようになされている。
【００３５】
またこのとき駆動制御部２０は、このようにして生成したＰＷＭ制御信号Ｓ２０を、回転力発生部２１（図３）に対してだけでなく、コントローラ１０に対しても送出するようになされている。
【００３６】
さらにポテンショメータ２２（図３）は、アクチュエータ１９Ａ〜１９Ｎの現在の角度を検出し、その検出結果を角度検出信号Ｓ２１としてコントローラ１０に送出するようになされている。
【００３７】
ここでコントローラ１０は、アクチュエータ１９Ａ〜１９Ｎに対して動作指示コマンドＣＯＭを送出した後、メモリ１０Ａに記憶保持してある当該アクチュエータ１９Ａ〜１９Ｎに対する各種情報を読み出し、当該アクチュエータ１９Ａ〜１９Ｎによって駆動させる部分となる各リンクの質量及び当該リンクを駆動させるときの摩擦による当該アクチュエータ１９Ａ〜１９Ｎへの影響を算出し、この算出結果と、当該アクチュエータ１９Ａ〜１９Ｎに指示した回転角度、角速度、角加速度及びゲインと、当該アクチュエータ１９Ａ〜１９Ｎのそれぞれの特性とから、ＰＷＭ制御信号Ｓ２０の理論的なデューティ比（以下、これを理論デューティ比と呼ぶ）を算出する。
【００３８】
この場合の理論デューティ比は、アクチュエータ１９Ａ〜１９Ｎにほとんど負荷が加えられていない通常駆動時において駆動制御部２０が生成するＰＷＭ制御信号Ｓ２０のデューティ比とほぼ等しくなる。
【００３９】
そしてコントローラ１０は、この理論デューティ比と、駆動制御部２０から送られてきたＰＷＭ制御信号Ｓ２０のデューティ比（以下、これを実デューティ比と呼ぶ）との差分値を算出する。ここで、アクチュエータ１９Ａ〜１９Ｎが通常駆動時であれば、このときの実デューティ比が理論デューティ比とほぼ等しくなることによりその差分値がほぼ０となり、これに対して負荷駆動時であれば、このときの実デューティ比がアクチュエータ１９Ａ〜１９Ｎに加えられる負荷の分だけ、通常駆動時の実デューティ比よりも大きくまたは小さくなることにより、その差分値の絶対値が負荷の大きさとなる。
【００４０】
またこの差分値の符号から、アクチュエータ１９Ａ〜１９Ｎの駆動方向に負荷が加えられているのか、あるいはその駆動方向とは逆方向に負荷が加えられているのかが判断できる。
【００４１】
従ってコントローラ１０は、この差分値を算出することにより、その絶対値からアクチュエータ１９Ａ〜１９Ｎに加えられている負荷の大きさを認識することができ、またその符号からアクチュエータ１９Ａ〜１９Ｎの駆動方向またはその逆方向のどちらに負荷が働いているのかを認識することができる。
【００４２】
ここで実際上、アクチュエータ１９Ａ〜１９Ｎの負荷駆動時においては、その駆動方向に負荷が働く場合（すなわち当該アクチュエータ１９Ａ〜１９Ｎが組み込まれた関節部分に異物等が挟み込まれている場合）に、当該アクチュエータ１９Ａ〜１９Ｎの組み込まれた関節部分及び異物にダメージを与える恐れがある。
【００４３】
そこでコントローラ１０は、アクチュエータ１９Ａ〜１９Ｎの駆動方向に負荷が働く場合に、そのときのデューティ比の差分値から負荷の大きさを認識し、その差分値が所定の閾値を越える場合に、その関節部分で異物を挟み込んでいると判断し、当該関節部分や異物に与えるダメージを低減するようにアクチュエータ１９Ａ〜１９Ｎを制御するようになされている。
【００４４】
すなわちコントローラ１０は、デューティ比の差分値の符号からアクチュエータ１９Ａ〜１９Ｎの駆動方向に負荷が加えられていると判断した場合、アクチュエータ１９Ａ〜１９Ｎに設けられたポテンショメータ２２から送られてくる角度検出信号Ｓ２１に基づいてアクチュエータ１９Ａ〜１９Ｎのそのときの角度を認識する。
【００４５】
ここでペットロボット１においては、図８（Ａ）及び（Ｂ）に示すように、例えば股部３ＡＡが胴体部ユニット２に対して矢印Ｘの示す方向に駆動した場合、その駆動角度によって、股部３ＡＡと対向する胴体部ユニット２の対向部２Ａにエッジ（図８（Ｂ）の斜線で示す部分）が存在する。
【００４６】
このように対向部２Ａにエッジが存在する駆動角度で、股部３ＡＡを胴体部ユニット２に近づけるように矢印Ｙの示す方向に駆動させた際に、その対向部２Ａと股部３ＡＡとで異物を挟み込んだ場合（図８（Ｂ））、対向部２Ａにエッジがなくほぼ平面となる駆動角度で、股部３ＡＡと対向部２Ａとで異物を挟み込んだ場合（図８（Ａ））と比べて、かかる負荷が同じであっても異物に与えるダメージが大きい。
【００４７】
従ってコントローラ１０は、アクチュエータ１９Ａ〜１９Ｎのそのときの角度から挟み込んだ異物に与えるダメージの大きさを推測し、そのときのダメージの大きさによって閾値を調節するようになされている。すなわちダメージが大きいと推測できる駆動角度のときには、その閾値を低く設定することにより、小さな負荷がかかった場合でも、異物を挟み込んでいると判断し、それほどダメージが大きくないと推測できる駆動角度のときには、その閾値を高くすることにより、ある程度大きな負荷がかかった場合に、異物を挟み込んでいると判断するようになされている。言い換えれば、各関節部の位置・姿勢の状況に応じて、挟み込み検出判断の閾値を動的に変更するようになされている。
【００４８】
このようにコントローラ１０は、アクチュエータ１９Ａ〜１９Ｎの現在の角度に応じて異物を挟み込んでいると判断する差分値の閾値を調節するようにしたことにより、一段と適切に異物に対する影響を低減し得るようになされている。
【００４９】
次にコントローラ１０は、アクチュエータ１９Ａ〜１９Ｎのそのときの角度からアクチュエータ１９Ａ〜１９Ｎがそのときペットロボット１の体重を支えるために駆動しているかどうかを判断する。
【００５０】
例えば股部３ＡＡと胴体部ユニット２との連結部分に組み込まれたアクチュエータ１９Ａの場合、コントローラ１０は、その角度から図１のようにペットロボット１が起立時であり、当該アクチュエータ１９Ａがペットロボット１の体重を支えるために駆動しているのか、あるいは図９のようにペットロボット１が伏せ時であり、胴体部ユニット２が体重を支えていることにより、当該アクチュエータ１９Ａがペットロボット１の体重とは関係なく駆動しているのかを判断できる。
【００５１】
ここでコントローラ１０は、アクチュエータ１９Ａ〜１９Ｎがペットロボット１の体重を支えるために駆動していると判断した場合には、当該アクチュエータ１９Ａ〜１９Ｎにおける実デューティ比と理論デューティ比との差分値が所定時間閾値を越え続けていた場合に、アクチュエータ１９Ａ〜１９Ｎのゲインをオフにさせるための動作指示コマンドＣＯＭをアクチュエータ１９Ａ〜１９Ｎの駆動制御部２０に送出する。
【００５２】
そして駆動制御部２０は、この動作指示コマンドＣＯＭに基づくＰＷＭ制御信号Ｓ２０を生成し、これを回転力発生部２１に送出してアクチュエータ１９Ａ〜１９Ｎのゲインをオフさせる。
【００５３】
このようにアクチュエータ１９Ａ〜１９Ｎがペットロボット１の体重を支えている場合には、差分値が閾値を越えていると判断したとき、直ちにアクチュエータ１９Ａ〜１９Ｎのゲインを弱めさせたりあるいはオフさせてしまうと、ペットロボット１が全体のバランスを崩してしまうことになるので、所定時間その差分値が閾値を越え続けていた場合にのみアクチュエータ１９Ａ〜１９Ｎのゲインをオフするようになされている。
【００５４】
これに対してコントローラ１０は、アクチュエータ１９Ａ〜１９Ｎがペットロボット１の体重とは関係なく駆動していると判断した場合には、その差分値が体重を支えているときの所定時間よりも短時間閾値を越え続けていた場合に、アクチュエータ１９Ａ〜１９Ｎのゲインを弱めさせるための動作指示コマンドＣＯＭをアクチュエータ１９Ａ〜１９Ｎの駆動制御部２０に送出し、当該アクチュエータ１９Ａ〜１９Ｎのゲインを弱めさせる。
【００５５】
これにより異物が取り出され易くし、さらにこの後も所定時間までその差分値が閾値を越え続けていた場合に、アクチュエータ１９Ａ〜１９Ｎのゲインをオフさせるための動作指示コマンドＣＯＭをアクチュエータ１９Ａ〜１９Ｎの駆動制御部２０に送出し、当該アクチュエータ１９Ａ〜１９Ｎのゲインをオフさせる。
【００５６】
このようにアクチュエータ１９Ａ〜１９Ｎがペットロボット１の体重とは関係なく駆動している場合には、差分値が閾値を越えていると判断したとき、アクチュエータ１９Ａ〜１９Ｎのゲインを弱めさせても、ペットロボット１が全体のバランスを崩すことはないので、まずアクチュエータ１９Ａ〜１９Ｎのゲインを弱めることにより異物を取り出し易くし、さらに所定時間その差分値が閾値を越え続けていた場合にのみアクチュエータ１９Ａ〜１９Ｎのゲインをオフするようになされている。
【００５７】
かくして、コントローラ１０は、アクチュエータ１９Ａ〜１９Ｎを駆動させるためのＰＷＭ制御信号Ｓ２０の理論デューティ比と実デューティ比との差分値から、当該アクチュエータ１９Ａ〜１９Ｎにかかる負荷の大きさと方向を推定し、さらに当該アクチュエータ１９Ａ〜１９Ｎの駆動角度から、挟み込んだ異物に与えるダメージの大きさやペットロボット１の体重を支えているかといった当該アクチュエータ１９Ａ〜１９Ｎの状況を判断して、当該状況に応じて適切にアクチュエータ１９Ａ〜１９Ｎを制御するようにしたことにより、確実に異物を挟み込んだかどうかを認識することができると共に、関節部分や異物に与えるダメージを確実に低減することができる。
【００５８】
（３）挟み込み検出処理手順
ここで上述のような異物の挟み込みの検出は、図１０に示す挟み込み検出処理手順ＲＴ１に従ったコントローラ１０（図２）の制御のもとに行われる。
【００５９】
実際上、コントローラ１０は、ペットロボット１の電源投入後、図１０に示す挟み込み検出処理手順ＲＴ１をステップＳＰ０において開始し、続くステップＳＰ１において、各アクチュエータ１９Ａ〜１９Ｎにそれぞれ指示した回転角度、角速度、角加速度及びゲインを認識する。
【００６０】
次にコントローラ１０は、ステップＳＰ２に進んで、アクチュエータ１９Ａ〜１９Ｎによって駆動させる部分となる各リンクの質量及び当該リンクを駆動させるときの摩擦によるアクチュエータ１９Ａ〜１９Ｎへの影響を算出する。
【００６１】
そしてコントローラ１０は、ステップＳＰ３に進んで、ステップＳＰ１において認識した回転角度、角速度、角加速度及びゲインと、ステップＳＰ２における算出結果と、アクチュエータ１９Ａ〜１９Ｎのそれぞれの特性とからＰＷＭ制御信号Ｓ２０の理論デューティ比を算出する。
【００６２】
次にコントローラ１０は、ステップＳＰ４に進んで、ステップＳＰ３で算出した理論デューティ比と、駆動制御部２０から送られてくるＰＷＭ制御信号Ｓ２０の実デューティ比との差分値を算出し、当該差分値からアクチュエータ１９Ａ〜１９Ｎへの負荷を推定する。
【００６３】
続いてコントローラ１０は、ステップＳＰ５に進んで、この差分値の符号をもとにアクチュエータ１９Ａ〜１９Ｎの駆動方向に負荷があるか否かを判断する。
【００６４】
そしてコントローラ１０は、このステップＳＰ５において否定結果を得るとステップＳＰ１に戻り、これに対して肯定結果を得るとステップＳＰ６に進んで、ポテンショメータ２２から送られてくる角度検出信号Ｓ２１に基づいてアクチュエータ１９Ａ〜１９Ｎの現在の角度を認識し、当該角度からアクチュエータ１９Ａ〜１９Ｎがそれぞれ組み込まれた関節部分に異物が挟み込まれたときの当該異物に対する影響を推測し、当該影響に応じて異物が挟み込まれたかどうかを判断するための差分値の閾値を設定する。
【００６５】
次にコントローラ１０は、ステップＳＰ７に進んで、ステップＳＰ４で算出した差分値が閾値より大きいか否かを判断する。そしてコントローラ１０は、このステップＳＰ７において否定結果を得ると、このとき関節部分に異物が挟み込まれていないと判断してステップＳＰ１に戻り、これに対して肯定結果を得ると、このとき関節部分に異物が挟み込まれていると判断してステップＳＰ８（図１１）に進む。
【００６６】
コントローラ１０は、ステップＳＰ８において、アクチュエータ１９Ａ〜１９Ｎのそのときの角度から当該アクチュエータ１９Ａ〜１９Ｎの組み込まれた関節部分がペットロボット１の体重を支えるために駆動しているか否かを判断する。
【００６７】
そしてコントローラ１０は、このステップＳＰ８において肯定結果が得られるとステップＳＰ９に進んで所定時間差分値が閾値を越え続けたか（すなわち所定時間負荷が続いたか）否かを判断する。そしてコントローラ１０は、このステップＳＰ９において否定結果を得ると、ステップＳＰ１３に進み、これに対して肯定結果を得るとステップＳＰ１０に進んでアクチュエータ１９Ａ〜１９Ｎのゲインをオフするための駆動指示コマンドＣＯＭをアクチュエータ１９Ａ〜１９Ｎに送出して当該アクチュエータ１９Ａ〜１９Ｎのゲインをオフにし、ステップＳＰ１３に進んで挟み込み検出処理手順を終了する。
【００６８】
これに対してコントローラ１０は、ステップＳＰ８において否定結果が得られると、ステップＳＰ１１に進んでステップＳＰ９における所定時間よりも短時間差分値が閾値を越え続けたか否かを判断する。
【００６９】
そしてコントローラ１０は、このステップＳＰ１１において否定結果が得られると、ステップＳＰ１３に進み、これに対して肯定結果が得られるとステップＳＰ１２に進んでアクチュエータ１９Ａ〜１９Ｎのゲインを弱めるための駆動指示コマンドＣＯＭをアクチュエータ１９Ａ〜１９Ｎに送出して当該アクチュエータ１９Ａ〜１９Ｎのゲインを弱め、さらにステップＳＰ９−ＳＰ１０−ＳＰ１３を介して挟み込み検出処理手順を終了する。
【００７０】
なお、実際上、コントローラ１０は、各アクチュエータ１９Ａ〜１９Ｎそれぞれに対して個別に上述の挟み込み検出処理を実行し、各アクチュエータ１９Ａ〜１９Ｎをそれぞれ個別に制御するようになされている。
【００７１】
（４）本実施の形態の動作及び効果
以上の構成において、このペットロボット１では、コントローラ１０においてアクチュエータ１９Ａ〜１９Ｎの駆動制御部２０が回転力発生部２１に任意の回転力を発生させるためのＰＷＭ制御信号Ｓ２０のデューティ比を理論的に算出し、この理論的に算出した理論デューティ比と、実際に駆動制御部２０が生成したＰＷＭ制御信号Ｓ２０の実デューティ比との差分値を算出する。
【００７２】
そしてコントローラ１０は、この差分値の絶対値及び符号に基づいてアクチュエータ１９Ａ〜１９Ｎにかかる負荷の大きさ及び方向を推定する。
【００７３】
さらにコントローラ１０は、この負荷の方向がアクチュエータ１９Ａ〜１９Ｎの駆動方向に働いており、かつ当該負荷の大きさが所定の閾値を越えたとき、当該アクチュエータ１９Ａ〜１９Ｎの組み込まれた関節部分に異物が挟みこまれていると判断する。
【００７４】
そしてコントローラ１０は、このときその関節部分や異物に与える影響を低減するようにアクチュエータ１９Ａ〜１９Ｎのゲインを弱める、あるいはオフする。
【００７５】
この結果、このペットロボット１は、アクチュエータ１９Ａ〜１９Ｎの組み込まれた関節部分に異物が挟み込まれたかどうかを検出するための検出装置を別途設けることなく当該関節部分に異物が挟み込まれたかどうかを確実に検出することができると共に、当該異物を挟み込んでいると検出した場合には、アクチュエータ１９Ａ〜１９Ｎを適切に制御して当該関節部分や異物に与える影響を確実に低減することができる。
【００７６】
以上の構成によれば、このペットロボット１においては、コントローラ１０においてアクチュエータ１９Ａ〜１９Ｎを駆動させるためのＰＷＭ制御信号Ｓ２０のデューティ比における理論値と実際値との差分値の絶対値及び符号から、当該アクチュエータ１９Ａ〜１９Ｎにかかる負荷の大きさ及び方向を推定し、当該負荷の方向がアクチュエータ１９Ａ〜１９Ｎの駆動方向に働いており、かつ当該負荷の大きさが所定の閾値を越えたとき、当該アクチュエータ１９Ａ〜１９Ｎの組み込まれた関節部分に異物が挟みこまれていると判断して、当該関節部分及び異物に与える影響を低減するようにアクチュエータ１９Ａ〜１９Ｎのゲインを制御するようにしたことにより、異物が挟み込まれたかどうかを検出するための検出装置を別途設けることなく確実に関節部分に異物が挟み込まれたかどうかを検出することができると共に、異物を挟み込んでいると検出した場合には、アクチュエータ１９Ａ〜１９Ｎを適切に制御して当該関節部分や異物に与える影響を確実に低減することができ、かくして簡易な構成で一段と安全性を向上することができる。
【００７７】
（５）他の実施の形態
なお上述の実施の形態においては、本発明を図１のように構成された４足歩行型のペットロボット１に適用する場合について述べたが、本発明はこれに限らず、この他種々の構成のロボット装置に広く適用することができる。
【００７８】
また上述の実施の形態においては、ＰＷＭ制御信号Ｓ２０の理論デューティ比と実デューティ比との差分値からアクチュエータ１９Ａ〜１９Ｎにかかる負荷を推定する場合について述べたが、本発明はこれに限らず、負荷を推定し得るのであれば、この他種々の制御信号に基づいて負荷を推定するようにしてもよい。
【００７９】
さらに上述の実施の形態においては、ポテンショメータ２２からの角度検出信号Ｓ２１に基づいて、アクチュエータ１９Ａ〜１９Ｎがペットロボット１の体重を支えているかどうか（すなわち支持脚であるかどうか）を判断し、支えている場合には、当該アクチュエータ１９Ａ〜１９Ｎに所定時間負荷がかかり続けたときにゲインをオフし、支えていない場合には、当該所定時間よりも短時間負荷がかかり続けたときにゲインを弱め、さらに所定時間負荷がかかり続けたときにゲインをオフするように制御することにより、関節部分及び異物に対する影響を低減した場合について述べたが、本発明はこれに限らず、例えばゲインを複数回に分けて段階的に弱めるように制御してもよい。
【００８０】
さらに上述の実施の形態においては、アクチュエータ１９Ａ〜１９Ｎの内部に駆動制御部２０及びポテンショメータ２２を設けるようにした場合について述べたが、本発明はこれに限らず、アクチュエータ１９Ａ〜１９Ｎの外部にこれら駆動制御部２０及びポテンショメータ２２を設けるようにしてもよい。
【００８１】
さらに上述の実施の形態においては、関節部分を駆動させるための駆動手段としての回転力発生部２１、駆動手段を制御するための制御信号としてのＰＷＭ制御信号Ｓ２０を生成し、当該ＰＷＭ制御信号Ｓ２０によって駆動手段を制御する制御手段としての駆動制御部２０、ＰＷＭ制御信号Ｓ２０に基づいて関節部分に印加される負荷の大きさ及び負荷の方向を検出する負荷検出手段としてのコントローラ１０によってペットロボット１を構成する場合について述べたが、本発明はこれに限らず、この他種々の駆動手段、制御手段及び負荷検出手段によってペットロボットを構成するようにしてもよい。
【産業上の利用可能性】
【００８２】
本発明は、４足歩行型のペットロボットやヒューマノイド型のエンターテインメントロボットに適用できる。
【図面の簡単な説明】
【００８３】
【図１】本実施の形態によるペットロボットの外観構成を示す略線図である。
【図２】ペットロボットの内部構成を示す略線図である。
【図３】アクチュエータの構成を示す略線図である。
【図４】ＰＷＭ制御信号のデューティ比の変化を示す略線図である。
【図５】関節部分の駆動例を示す略線図である。
【図６】ＰＷＭ制御信号のデューティ比の変化（駆動方向に負荷が働く場合）を示す略線図である。
【図７】ＰＷＭ制御信号のデューティ比の変化（駆動方向とは逆方向に負荷が働く場合）を示す略線図である。
【図８】関節部分の駆動角度によるエッジの有無を示す略線図である。
【図９】ペットロボットの状態例（伏せ時）を示す略線図である。
【図１０】挟み込み検出処理手順を示すフローチャートである。
【図１１】図１０の挟み込み検出処理手順に続く処理手順を示すフローチャートである。
【符号の説明】
【００８４】
１……ペットロボット、２……胴体部ユニット、３Ａ〜３Ｄ……脚部ユニット、３ＡＡ〜３ＤＡ……股部、３ＡＢ〜３ＤＢ……脛部、４……頭部ユニット、５……尻尾部ユニット、１０……コントローラ、１９Ａ〜１９Ｎ……アクチュエータ、２０……駆動制御部、２１……回転力発生部、２２……ポテンショメータ、Ｓ２０……ＰＷＭ制御信号、Ｓ２１……角度検出信号。
【図１】
2005066808.tif 000003
【図２】
2005066808.tif 000004
【図３】
2005066808.tif 000005
【図４】
2005066808.tif 000006
【図５】
2005066808.tif 000007
【図６】
2005066808.tif 000008
【図７】
2005066808.tif 000009
【図８】
2005066808.tif 000010
【図９】
2005066808.tif 000011
【図１０】
2005066808.tif 000012
【図１１】
2005066808.tif 000013