(57)【要約】【課題】内界センサから得られた情報に基づいて電動モータの駆動回路の通電指令値を演算するＣＰＵを備えたロボットにおいて、簡易な構成でありながら、ＣＰＵの異常を精度良く検知する。【解決手段】少なくとも内界センサから得られた情報に基づいて電動モータの駆動回路の通電指令値を演算する第１のＣＰＵを備えて移動するロボットにおいて、第１のＣＰＵと平行して通電指令値を演算する第２のＣＰＵと、それらに接続され、第１、第２のＣＰＵが所定時間１ごとにそれぞれ更新すべき第１、第２のカウンタを有する少なくとも１個のＩ／Ｏとを備えると共に、Ｉ／Ｏは、第１、第２のＣＰＵが第１、第２のカウンタをそれぞれ更新したか否か監視し（Ｓ１００，Ｓ１０６）、所定時間２以内に更新されなかったとき、更新されなかったカウンタに対応するＣＰＵが異常と判定する（Ｓ１０２，Ｓ１０８）。【選択図】図７
2006082202.tif 000002
【特許請求の範囲】
【請求項１】
電動モータと、電圧源と、前記電動モータと電圧源を接続する電源回路に配置され、通電指令値に応じて前記電動モータに通電して駆動する駆動回路と、内部の状態量を測定する少なくとも１個の内界センサと、少なくとも前記内界センサから得られた情報に基づいて前記通電指令値を演算する第１のＣＰＵとを備え、前記電動モータの駆動によって移動するロボットにおいて、前記第１のＣＰＵと平行して前記通電指令値を演算する第２のＣＰＵと、前記第１、第２のＣＰＵに接続され、前記第１、第２のＣＰＵが第１の所定時間ごとにそれぞれ更新すべき第１、第２のカウンタを有する少なくとも１個のＩ／Ｏとを備えると共に、前記Ｉ／Ｏは、前記第１、第２のＣＰＵが前記第１、第２のカウンタをそれぞれ更新したか否か監視する更新監視手段と、第２の所定時間以内に前記第１、第２のカウンタの少なくともいずれかが更新されなかったとき、前記第１、第２のＣＰＵの内、前記更新されなかったカウンタに対応するＣＰＵが異常と判定する異常判定手段とを備えたことを特徴とするロボットの異常検知装置。
【請求項２】
前記第２の所定時間は、前記第１の所定時間より長く設定されることを特徴とする請求項１記載のロボットの異常検知装置。
【請求項３】
前記Ｉ／Ｏは、前記第１、第２のＣＰＵの内、異常と判定されなかったＣＰＵに他方のＣＰＵが異常と判定されたことを通知する通知手段を備えると共に、前記通知を受けたＣＰＵは、所定の待避手順に従って前記通電指令値を演算することを特徴とする請求項１または２記載のロボットの異常検知装置。
【請求項４】
前記Ｉ／Ｏは、前記異常判定手段によって前記更新されなかったカウンタに対応するＣＰＵが異常と判定されるとき、異常警報を出力することを特徴とする請求項１から３のいずれかに記載のロボットの異常検知装置。
【請求項５】
前記ロボットが、基体と、前記基体に第１の関節を介して連結される複数本の脚部と、前記複数本の脚部のそれぞれの先端に第２の関節を介して連結される足部とを備え、前記第１、第２の関節に前記電動モータが配置される脚式移動ロボットであると共に、前記通知を受けたＣＰＵは、ベース基地まで歩行して着座するように前記所定の待避手順に従って前記通電指令値を演算することを特徴とする請求項３または４記載のロボットの異常検知装置。
【請求項６】
前記通知を受けたＣＰＵは、前記着座を行った後、前記電源回路を遮断することを特徴とする請求項５記載のロボットの異常検知装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はロボット、より具体的には脚式移動ロボットの異常検知装置に関する。
【背景技術】
【０００２】
ロボット、特に脚式移動ロボットなどの移動ロボットにおいては、内界センサから得られた状態量に基づいて搭載されたマイクロコンピュータのＣＰＵが動作を制御することから、その異常を自己診断することが望ましい。
【０００３】
その意図から、従来、例えば下記の特許文献１で提案されるように、内界センサの出力から得られた状態量が異常な値か、あるいは内界センサや電動モータを含む搭載機器が異常なのか自己診断し、異常と自己診断されたとき、異常の不具合度を判定し、判定された不具合度に応じて安定な状態に移行するようにする技術が知られている。
【特許文献１】特開２００３−２１１３７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記した従来技術にあっては、自己診断するＣＰＵ自体は正常に動作していることを前提としており、ＣＰＵ自体の異常を自己診断するものではなかった。
【０００５】
従って、この発明の目的は上記した課題を解決し、内界センサから得られた情報に基づいて電動モータの駆動回路の通電指令値を演算するＣＰＵを備えたロボットにおいて、簡易な構成でありながら、ＣＰＵの異常を精度良く検知するようにしたロボットの異常検知装置を提供することにある。
【課題を解決するための手段】
【０００６】
上記した課題を解決するために、請求項１にあっては、電動モータと、電圧源と、前記電動モータと電圧源を接続する電源回路に配置され、通電指令値に応じて前記電動モータに通電して駆動する駆動回路と、内部の状態量を測定する少なくとも１個の内界センサと、少なくとも前記内界センサから得られた情報に基づいて前記通電指令値を演算する第１のＣＰＵとを備え、前記電動モータの駆動によって移動するロボットにおいて、前記第１のＣＰＵと平行して前記通電指令値を演算する第２のＣＰＵと、前記第１、第２のＣＰＵに接続され、前記第１、第２のＣＰＵが第１の所定時間ごとにそれぞれ更新すべき第１、第２のカウンタを有する少なくとも１個のＩ／Ｏとを備えると共に、前記Ｉ／Ｏは、前記第１、第２のＣＰＵが前記第１、第２のカウンタをそれぞれ更新したか否か監視する更新監視手段と、第２の所定時間以内に前記第１、第２のカウンタの少なくともいずれかが更新されなかったとき、前記第１、第２のＣＰＵの内、前記更新されなかったカウンタに対応するＣＰＵが異常と判定する異常判定手段とを備える如く構成した。
【０００７】
尚、請求項１において、「第２のＣＰＵ」および「第２のカウンタ」は複数個であっても良い。即ち、請求項１は、第１のＣＰＵを含むＣＰＵ群が第１の所定時間ごとに更新すべき第１のカウンタを含む複数のカウンタ群をそれぞれ更新したか否か監視し、第２の所定時間以内に更新されなかったとき、更新されなかったカウンタに対応するＣＰＵが異常と判定するように構成したものである。
【０００８】
請求項２に係るロボットの異常検知装置にあっては、前記第２の所定時間は、前記第１の所定時間より長く設定される如く構成した。
【０００９】
請求項３に係るロボットの異常検知装置にあっては、前記Ｉ／Ｏは、前記第１、第２のＣＰＵの内、異常と判定されなかったＣＰＵに他方のＣＰＵが異常と判定されたことを通知する通知手段を備えると共に、前記通知を受けたＣＰＵは、所定の待避手順に従って前記通電指令値を演算する如く構成した。
【００１０】
請求項４に係るロボットの異常検知装置にあっては、前記Ｉ／Ｏは、前記異常判定手段によって前記更新されなかったカウンタに対応するＣＰＵが異常と判定されるとき、異常警報を出力する如く構成した。
【００１１】
請求項５に係るロボットの異常検知装置にあっては、前記ロボットが、基体と、前記基体に第１の関節を介して連結される複数本の脚部と、前記複数本の脚部のそれぞれの先端に第２の関節を介して連結される足部とを備え、前記第１、第２の関節に前記電動モータが配置される脚式移動ロボットであると共に、前記通知を受けたＣＰＵは、ベース基地まで歩行して着座するように前記所定の待避手順に従って前記通電指令値を演算する如く構成した。
【００１２】
請求項６に係るロボットの異常検知装置にあっては、前記通知を受けたＣＰＵは、前記着座を行った後、前記電源回路を遮断する如く構成した。
【発明の効果】
【００１３】
請求項１にあっては、電動モータと、電圧源と、前記電動モータと電圧源を接続する電源回路に配置され、通電指令値に応じて前記電動モータに通電して駆動する駆動回路と、内部の状態量を測定する少なくとも１個の内界センサと、少なくとも内界センサから得られた情報に基づいて電動モータの駆動回路の通電指令値を演算する第１のＣＰＵとを備え、電動モータの駆動によって移動するロボットにおいて、第１のＣＰＵと平行して通電指令値を演算する第２のＣＰＵと、第１、第２のＣＰＵに接続され、第１、第２のＣＰＵが第１の所定時間ごとにそれぞれ更新すべき第１、第２のカウンタを有する少なくとも１個のＩ／Ｏとを備えると共に、Ｉ／Ｏは、第１、第２のＣＰＵが第１、第２のカウンタをそれぞれ更新したか否か監視し、第２の所定時間以内に第１、第２のカウンタの少なくともいずれかが更新されなかったとき、第１、第２のＣＰＵの内、更新されなかったカウンタに対応するＣＰＵが異常と判定する如く構成したので、簡易な構成でありながら、ＣＰＵの異常を精度良く検知（自己診断）することができる。
【００１４】
請求項２に係るロボットの異常検知装置にあっては、第２の所定時間は、第１の所定時間より長く設定される如く構成したので、第２の所定時間は第１の所定時間と非同期となり、異常を誤検知することがなく、精度良く検知することができる。
【００１５】
請求項３に係るロボットの異常検知装置にあっては、第１、第２のＣＰＵの内、異常と判定されなかったＣＰＵに他方のＣＰＵが異常と判定されたことを通知すると共に、通知を受けたＣＰＵは所定の待避手順に従って通電指令値を演算する如く構成したので、上記した効果に加え、異常が検知されたときも、適切に対処することができる。
【００１６】
請求項４に係るロボットの異常検知装置にあっては、更新されなかったカウンタに対応するＣＰＵが異常と判定されるとき、異常警報を出力する如く構成したので、上記した効果に加え、ユーザ（操作者）などは異常の発生を認識して必要な行動をとることができる。
【００１７】
請求項５に係るロボットの異常検知装置にあっては、ロボットが、基体と、それに第１の関節を介して連結される複数本の脚部と、その先端に第２の関節を介して連結される足部とを備え、第１、第２の関節に電動モータが配置される脚式移動ロボットであると共に、通知を受けたＣＰＵはベース基地まで歩行して着座するように所定の待避手順に従って通電指令値を演算する如く構成したので、上記した効果に加え、異常が検知されたときも、一層適切に対処することができる。
【００１８】
請求項６に係るロボットの異常検知装置にあっては、通知を受けたＣＰＵは、着座を行った後、電源回路を遮断する如く構成したので、上記した効果に加え、電源回路の遮断を最適な時期に行うことができる。
【発明を実施するための最良の形態】
【００１９】
以下、添付図面に即してこの発明に係るロボットの異常検知装置を実施するための最良の形態について説明する。
【実施例１】
【００２０】
以下、添付図面を参照してこの発明の第１実施例に係るロボットの異常検知装置を説明する。
【００２１】
図１は第１実施例に係る異常検知装置が対象とするロボットの正面図、図２はその側面図である。尚、ロボットとしては、脚式移動ロボット、より具体的には２個の脚部と２個の腕部を備えたヒューマノイド型（人間型）の脚式移動ロボットを例にとる。
【００２２】
図１に示すように、ロボット（より具体的には脚式移動ロボット）１は、複数個（本）、より具体的には２個（本）の脚部２を備えると共に、その上方には基体（上体）３が設けられる。基体３のさらに上方には頭部４が形成されると共に、基体３の両側には２個（本）の腕部５が連結される。また、図２に示すように、基体３の背部には格納部６が設けられ、その内部には電子制御ユニット（後述）およびバッテリなどが収容される。尚、図１および図２に示すロボット１は、内部構造を保護するためのカバーで被覆される。
【００２３】
図３はロボット１をスケルトンで示す説明図である。同図を参照してその内部構造を関節を中心に説明すると、図示の如く、ロボット１は、左右それぞれの脚部２および腕部５に、１１個の電動モータで動力化された６個の関節を備える。
【００２４】
即ち、ロボット１は、腰部（股部）の股関節に、脚部２を鉛直軸（Ｚ軸あるいは鉛直軸）まわりに回転させる関節を駆動する電動モータ１０Ｒ，１０Ｌ（右側をＲ、左側をＬとする。左右対称であることから、以下Ｒ，Ｌの表記を省略する）と、脚部２をピッチ（進行）方向（Ｙ軸まわり）に揺動させる関節を駆動する電動モータ１２と、脚部２をロール（左右）方向（Ｘ軸まわり）に回転させる関節を駆動する電動モータ１４を備えると共に、膝部に脚部２の下部をピッチ方向（Ｙ軸まわり）に回転させる膝関節を駆動する電動モータ１６を備え、さらに足首に脚部２の先端側をピッチ方向（Ｙ軸まわり）に回転させる足（足首）関節を駆動する電動モータ１８とロール方向（Ｘ軸まわり）に回転させる足（足首）関節を駆動する電動モータ２０を備える。
【００２５】
上記したように、図３において、関節はそれを駆動する電動モータ（あるいは電動モータに接続されてその動力を伝動するプーリなどの伝動要素）の回転軸線で示す。尚、脚部２の先端には足部（足平）２２が取着される。
【００２６】
このように、脚部２の股関節には電動モータ１０，１２，１４がそれらの回転軸線が直交するように配置されると共に、足関節（足首関節）には電動モータ１８，２０がそれらの回転軸線が直交するように配置される。尚、股関節と膝関節は大腿リンク２４で、膝関節と足関節は下腿リンク２６で連結される。
【００２７】
脚部２は股関節を介して基体３に連結されるが、図３では基体３を基体リンク２８として簡略的に示す。前記したように、基体３には腕部５が連結される。
【００２８】
腕部５も、脚部２と同様に構成される。即ち、ロボット１は、肩部の肩関節に、腕部５をピッチ方向に回転させる関節を駆動する電動モータ３０とロール方向に回転させる関節を駆動する電動モータ３２を備えると共に、その自由端側を回転させる関節を駆動する電動モータ３４と、肘部にそれ以降の部位を回転させる関節を駆動する電動モータ３６を備え、さらにその先端側にそれを回転させる手首関節を駆動する電動モータ３８を備える。手首の先にはハンド（エンドエフェクタ）４０が取着される。
【００２９】
即ち、腕部５の肩関節には電動モータ３０，３２，３４がそれらの回転軸線が直交するように配置される。尚、肩関節と肘関節とは上腕リンク４２で、肘関節と手首関節とは下腕リンク４４で連結される。
【００３０】
図示は省略するが、ハンド４０は５本のフィンガ（指）４０ａの駆動機構を備え、フィンガ４０ａで物を把持するなどの作業ができるように構成される。
【００３１】
また、頭部４は、鉛直軸まわりの電動モータ（首関節を構成）４６と、それと直交する軸まわりに頭部４を回転させる頭部揺動機構４８を介して基体３に連結される。図３に示す如く、頭部４の内部には２個のＣＣＤカメラ（外界センサ）５０がステレオ視自在に配置されると共に、音声入出力装置５２が配置される。
【００３２】
上記の構成により、脚部２は左右の足について６個の関節を備えて合計１２の自由度を与えられ、６個の関節を適宜な角度で駆動（関節変位）することで、脚部２に所望の動きを与えることができ、ロボット１を任意に３次元空間において歩行させることができる。また、腕部５も左右の腕について５個の関節を備えて合計１０の自由度を与えられ、５個の関節を適宜な角度で駆動（関節変位）することで所望の作業を行わせることができる。さらに、頭部４は２つの自由度からなる関節あるいは揺動機構を与えられ、これらを適宜な角度で駆動することにより所望の方向に頭部４を向けることができる。
【００３３】
電動モータ１０などのそれぞれにはロータリエンコーダ（内界センサ。図示せず）が設けられ、電動モータの回転軸の回転を通じて対応する関節の角度、角速度、および角加速度の少なくともいずれかを示す信号を出力する。尚、電動モータ１０などは具体的には、ＤＣサーボモータからなる。
【００３４】
足部２２には公知の６軸力センサ（外界センサ。以下「力センサ」という）５６が取着され、ロボットに作用する外力の内、接地面からロボット１に作用する床反力の３方向成分Ｆｘ，Ｆｙ，Ｆｚとモーメントの３方向成分Ｍｘ，Ｍｙ，Ｍｚを示す信号を出力する。
【００３５】
手首関節とハンド４０の間には同種の力センサ（６軸力センサ）５８が取着され、ロボット１に作用する床反力以外の外力、具体的にはハンド４０に対象物から作用する外力（対象物反力）の３方向成分Ｆｘ，Ｆｙ，Ｆｚとモーメントの３方向成分Ｍｘ，Ｍｙ，Ｍｚを示す信号を出力する。
【００３６】
基体３には傾斜センサ（内界センサ）６０が設置され、鉛直軸に対する基体３の傾き（傾斜角度）とその角速度の少なくともいずれか、即ち、ロボット１の基体３の傾斜（姿勢）などの状態量を示す信号を出力する。
【００３７】
これら力センサ５６などの出力群は、格納部６に収容されたマイクロコンピュータからなる電子制御ユニット（Electric Control Unit 。以下「ＥＣＵ」という）７０に送られる（図示の便宜のためロボット１の右側についてのみ、入出力を図示する）。ＥＣＵ７０はＣＰＵ、メモリおよび入出力インターフェースなどからなるマイクロコンピュータを備え、ロボット１が安定な姿勢で移動できるように、関節角変位指令を算出して各関節を構成する電動モータ１０などの駆動を制御する。格納部６には、電動モータ１０などの駆動回路（モータドライバ）７２が回路ユニットとして収容されると共に、無線系７４とバッテリ（電圧源）７６も収容される。
【００３８】
ＥＣＵ７０は、無線系７４を介して同様にマイクロコンピュータからなる操作用ＥＣＵ７８と通信自在に接続される。操作用ＥＣＵ７８は操作用ユーザＩ／Ｆ７８ａを備え、ユーザ（操作者）が操作用ユーザＩ／Ｆ７８ａから入力した緊急停止などのコマンドは、無線系７４を通じてＥＣＵ７０に送られる。
【００３９】
図４は、ＥＣＵ７０の構成を電装システムを中心に示すブロック図である。
【００４０】
図示の如く、ＥＣＵ７０は第１のＣＰＵ７０ａ（図に「ＣＰＵ１」と示す）と、第２のＣＰＵ７０ｂ（図に「ＣＰＵ２」と示す）と、第１、第２のＣＰＵ７０ａ，７０ｂに並列して接続されるメインＩ／Ｏ７０ｃとを備える。メインＩ／Ｏ７０ｃは、第１のカウンタ７０ｃ１（図に「カウンタ１」と示す）と第２のカウンタ７０ｃ２（図に「カウンタ２」と示す）とを有する。尚、メインＩ／Ｏ７０ｃは、後述する電動モータ１０などの駆動回路やセンサ群および第１、第２のＣＰＵ７０ａ，７０ｂとの通信部を備え、第１、第２のＣＰＵ７０ａ，７０ｂとそれ以外の部位との通信を仲介する。
【００４１】
後述する如く、メインＩ／Ｏ７０ｃが、ロボットの異常検知装置として動作する。尚、メインＩ／Ｏ７０ｃは、スイッチ（ＳＷ）７０ｃ３とブザー７０ｃ４とを備える。スイッチ７０ｃ３は、第１、第２のＣＰＵ７０ａ，７０ｂの動作をリセットするスイッチである。
【００４２】
電動モータ１０などにはモータ２個当たり１個の駆動回路７２が、駆動回路１、駆動回路２などと接続される（脚部２の右側などについて部分的に示すが、基体３あるいは頭部４ならびに腕部５についても同様である）。
【００４３】
駆動回路７２は、バッテリ（電圧源。「Ｖｂ」で示す）７６と電動モータを接続する電源回路５６ａに配置される（電動モータ１０Ｒについてのみ示す）。力センサ５６はＡ／Ｄ変換回路５６ａに接続される。駆動回路７２のそれぞれとＡ／Ｄ変換回路７６ａなどは、Ｉ／Ｏ７０ｂを介してＣＰＵ７０ａに接続される。
【００４４】
図５は、図４に示す、第１、第２のＣＰＵ７０ａ，７０ｂの動作を機能的に示すブロック図である。
【００４５】
第１、第２のＣＰＵ７０ａは、図示の如く、脚制御部７０ａ１と、腕制御部７０ａ２と、頭制御部７０ａ３を備える。脚制御部７０ａ１は、予め生成されてメモリ（図示せず）に格納された歩容パラメータに基づき、力センサ（外界センサ）５６と傾斜センサ（内界センサ）６０からメインＩ／Ｏ７０ｃを介して送られるセンサ出力に応じて歩容を生成し、生成された歩容に基づいて関節角指令値（通電指令値）を決定し、ロータリエンコーダ（内界センサ）の出力（図示せず）から検出された関節角との偏差が解消するように駆動回路７２を介して電動モータ１０などを駆動する。駆動回路７２のそれぞれは、通電指令に応じて対応する電動モータに通電して駆動する。
【００４６】
このように、第１のＣＰＵ７０ａは、少なくとも内界センサから得られた情報に基づいて通電指令値を演算すると共に、第２のＣＰＵ７０ｂも、第１のＣＰＵ７０ａと平行して同様に通電指令値を演算する。
【００４７】
また、腕制御部７０ａ２と頭制御部７０ａ３も、生成された歩容と力センサ５６などの出力に基づいて関節角指令値を算出し、駆動回路７２を介して該当する電動モータ３０などを駆動する。さらに、腕制御部７０ａ２は作業内容に従って腕部５を駆動制御すると共に、頭制御部７０ａ３は画像認識系の指示に従って電動モータ４６あるいは頭部揺動機構４８を駆動制御する。
【００４８】
歩容パラメータは、上体３と足部２２の位置および姿勢（向き）からなる運動パラメータと、ＺＭＰ（Ｚｅｒｏ  Ｍｏｍｅｎｔ  Ｐｏｉｎｔ）で定義される床反力パラメータとから構成される。尚、「位置」はＸ，Ｙ，Ｚ座標系で、「姿勢」はＸ，Ｙ，Ｚ軸に対する角度で示される。従って、「傾斜」も、姿勢のパラメータの一部である。
【００４９】
ＺＭＰは、ロボット１の運動による慣性力と重力の合力のモーメントの水平成分の和が０となる、床上の作用点を意味する。尚、歩容は１歩（両脚支持期の初期から片脚支持期の終端）の間の運動軌跡（軌道）と床反力軌跡（軌道）からなり、一連の歩行は１歩の歩容が複数個つながったものとする。
【００５０】
尚、歩容パラメータおよび生成される歩容の詳細などは、先に本出願人が特開平５―３３７８４９号公報に記載されているので、これ以上の説明は省略する。
【００５１】
次いで、この実施例に係るロボットの異常検知装置の動作を説明する。
【００５２】
図６および図７は、その動作を示すフロー・チャートである。図６に示す処理は第１のＣＰＵ７０ａ（ＣＰＵ１）と第２のＣＰＵ７０ｂ（ＣＰＵ２）で平行して行われると共に、図７に示す処理はメインＩ／Ｏ７０ｃで行われる。
【００５３】
以下説明すると、第１のＣＰＵ７０ａの処理はＳ１０から開始され、Ｓ１０において第２のＣＰＵ７０ｂ（ＣＰＵ２）が異常と判定されたか否か判断し、否定されるときはＳ１２に進み、所定時間１（第１の所定時間）が経過したか否か判断し、否定されるときはＳ１０に戻ると共に、肯定されるときはＳ１４に進み、メインＩ／Ｏ７０ｃの第１のカウンタ７０ｃ１（カウンタ１）を更新し（値を１つインクリメントし）、Ｓ１０に戻る。
【００５４】
他方、第２のＣＰＵ７０ｂの処理はＳ１６から開始され、Ｓ１６において第１のＣＰＵ７０ａ（ＣＰＵ１）が異常と判定されたか否か判断し、否定されるときはＳ１８に進み、前記した所定時間１（第１の所定時間）が経過したか否か判断し、否定されるときはＳ１６に戻ると共に、肯定されるときはＳ２０に進み、メインＩ／Ｏ７０ｃの第２のカウンタ７０ｃ２（カウンタ２）を更新し（値を１つインクリメントし）、Ｓ１６に戻る。
【００５５】
このように、メインＩ／Ｏ７０ｃは第１、第２のＣＰＵ７０ａ，７０ｂに接続され、第１、第２のＣＰＵ７０ａ，７０ｂが所定時間１（第１の所定時間）ごとにそれぞれ更新すべき第１、第２のカウンタを有する。尚、所定時間１（第１の所定時間）は、例えば５ｍｓｅｃとする。即ち、第１、第２のＣＰＵ７０ａ，７０ｂは５ｍｓｅｃごとに起動されて通電指令値を演算すると共に、メインＩ／Ｏ７０ｃにアクセスして対応するカウンタを更新するように構成される。
【００５６】
ここで、図６フロー・チャートの説明を中断し、図７フロー・チャートの処理を説明すると、メインＩ／Ｏ７０ｃにあってはＳ１００において所定時間２（第２の所定時間）以内に第１のＣＰＵ７０ａによって第１のカウンタ７０ｃ１（カウンタ１）が更新されたか否か判断し、否定されるときはＳ１０２に進み、第１、第２のＣＰＵ７０ａ，７０ｂの内、更新されなかった第１のカウンタ７０ｃ１に対応する第１のＣＰＵ７０ａが異常と判定すると共に、第１、第２のＣＰＵ７０ａ，７０ｂの内、異常と判定されなかった第２のＣＰＵ７０ａに他方の、即ち、第１のＣＰＵ７０ａが異常と判定されたことを通知する。次いでＳ１０４に進み、ブザー７０ｃ４をオンする（異常警報を出力する）。
【００５７】
他方、Ｓ１００で肯定されるときはＳ１０６に進み、前記した所定時間２（第２の所定時間）以内に第２のカウンタ７０ｃ２（カウンタ２）が更新されたか否か判断し、否定されるときはＳ１０８に進み、第１、第２のＣＰＵ７０ａ，７０ｂの内、更新されなかった第２のカウンタ７０ｃ２に対応する第２のＣＰＵ７０ｂが異常と判定すると共に、異常と判定されなかった第１のＣＰＵ７０ｂに、第２のＣＰＵ７０ｂが異常と判定されたことを通知する。次いでＳ１０４に進み、同様にブザー７０ｃ４をオンして異常警報を出力する。
【００５８】
Ｓ１０４でブザー７０ｃ４をオンして異常警報を出力することにより、ユーザ（操作者）およびその近隣に所在する者は、第１、第２のＣＰＵ７０ａ，７０ｂの内、少なくともいずれかが異常と判定されたことを認識することができ、後述するようにスイッチ７０ｃ３を操作して復帰作業を行うなど必要な行動をとることができる。
【００５９】
尚、所定時間２（第２の所定時間）は、例えば１０ｍｓｅｃなどと、所定時間１（第１の所定時間。例えば５ｍｓｅｃ）より長く設定される。これは、所定時間１と同期して誤検知となるのを防止するためである。
【００６０】
図６フロー・チャートの説明に戻ると、Ｓ１０あるいはＳ１６で肯定されるときはＳ２２に進み、異常モード（所定の待避手順に従う通電指令値の演算処理）に移行と判定する。尚、Ｓ２２から後の処理は、異常と判定されなかった方のＣＰＵが行う処理である。
【００６１】
尚、異常モードとは脚部２以外の駆動を停止し、脚部２のみ制御して歩行するための最低限の機能のみを確保するような通電指令値の演算処理をいう。このように、第１、第２のＣＰＵ７０ａ，７０ｂのいずれかが異常と判定されたとき、他方のＣＰＵは異常モードに移行し、ベース基地に戻ることを最優先とし、他の行動は制約される。
【００６２】
そして、Ｓ２４に進み、異常と判定されたＣＰＵについての復帰作業を待機する。復帰作業は例えば、ユーザ（操作者）がスイッチ７０ｃ３を操作、あるいは操作用ユーザＩ／Ｆ７８ａを介して所定のコマンドを入力することなどを意味する。尚、異常と判定されたＣＰＵが復帰作業で復帰した場合、上記した異常検知が再度実行される。
【００６３】
次いでＳ２６に進み、ベース基地まで歩行するように制御（即ち、通電指令値を演算）し、Ｓ２８に進み、着座するように制御（即ち、通電指令値を演算）し、Ｓ３０に進み、駆動電源（ＯＦＦ）オフ、即ち、着座を行った後、電源回路７６ａを遮断し、異常と判定されたＣＰＵの復帰に備える。
【００６４】
図８は、図６フロー・チャートの異常モードの処理を説明するタイム・チャートである。
【００６５】
図示の如く、異常モードに移行した場合、復帰作業として時間Ｔ１（例えば３０ｓｅｃ）を予定する。これは、スイッチ７０ｃ３の操作などによる復帰作業には、ある程度の時間が必要と考えられるからである。
【００６６】
次いで、ベース基地に向けての移動を開始する。この移動に要する時間Ｔ２としては、バッテリ７６の残容量で確実に戻れる時間、例えば１０ｍｉｎを予定する。次いで、着座する。この時間Ｔ３としては５ｍｉｎ程度を予定する。次いで、駆動電源をＯＦＦ（オフ）して終了する。尚、バッテリ７６の残容量からベース基地に戻るのが困難なときは、付近の適宜な場所で同様の終了動作を実行する。
【００６７】
この実施例にあっては、上記の如く、１０などの電動モータと、バッテリ（電圧源）７６と、前記電動モータと電圧源を接続する電源回路７６ａに配置され、通電指令値に応じて前記電動モータに通電して駆動する駆動回路７２と、内部の状態量を測定する少なくとも１個の内界センサ（傾斜センサ６０など）と、少なくとも前記内界センサから得られた情報に基づいて前記通電指令値を演算する第１のＣＰＵ７０ａとを備え、前記電動モータの駆動によって移動するロボット１において、前記第１のＣＰＵ７０ａと平行して前記通電指令値を演算する第２のＣＰＵ７０ｂと、前記第１、第２のＣＰＵに接続され、前記第１、第２のＣＰＵが所定時間１（第１の所定時間）ごとにそれぞれ更新すべき第１、第２のカウンタ７０ｃ１，７０ｃ２を有する少なくとも１個のＩ／Ｏ（メインＩ／Ｏ）７０ｃとを備えると共に、前記Ｉ／Ｏ７０ｃは、前記第１、第２のＣＰＵが前記第１、第２のカウンタをそれぞれ更新したか否か監視する更新監視手段（Ｓ１００，Ｓ１０６）と、所定時間２（第２の所定時間）以内に前記第１、第２のカウンタの少なくともいずれかが更新されなかったとき、前記第１、第２のＣＰＵの内、前記更新されなかったカウンタに対応するＣＰＵが異常と判定する異常判定手段（Ｓ１０２，Ｓ１０８）とを備える如く構成したので、簡易な構成でありながら、第１、第２のＣＰＵ７０ａ，７０ｂの異常を精度良く検知（自己診断）することができる。
【００６８】
尚、上記で、第２のＣＰＵ７０ｂおよび第２のカウンタ７０ｃ２は複数個であっても良い。即ち、この実施例は、第１のＣＰＵ７０ａを含むＣＰＵ群が第１の所定時間ごとに更新すべき第１のカウンタを含む複数のカウンタ群をそれぞれ更新したか否か監視し、第２の所定時間以内に更新されなかったとき、更新されなかったカウンタに対応するＣＰＵが異常と判定するように構成したものである。
【００６９】
また、前記所定時間２（第２の所定時間）は、前記所定時間1（第１の所定時間）より長く設定される如く構成したので、所定時間２（第２の所定時間）は所定時間１（第１の所定時間）と非同期となり、異常を誤検知することがなく、精度良く検知することができる。
【００７０】
また、前記Ｉ／Ｏ７０ｃは、前記第１、第２のＣＰＵの内、異常と判定されなかったＣＰＵに他方のＣＰＵが異常と判定されたことを通知する通知手段（Ｓ１０２，Ｓ１０８）を備えると共に、前記通知を受けたＣＰＵは、所定の待避手順（異常モード）に従って前記通電指令値を演算する（Ｓ２２からＳ３０）如く構成したので、上記した効果に加え、異常が検知されたときも、適切に対処することができる。
【００７１】
また、前記Ｉ／Ｏ７０ｃは、前記異常判定手段によって前記更新されなかったカウンタに対応するＣＰＵが異常と判定されるとき、異常警報を出力する（Ｓ１０２，Ｓ１０４）如く構成したので、上記した効果に加え、ユーザ（操作者）などは異常の発生を認識して必要な行動をとることができる。
【００７２】
また、前記ロボットが、基体３と、前記基体に第１の関節を介して連結される複数本の脚部２と、前記複数本の脚部のそれぞれの先端に第２の関節を介して連結される足部２２とを備え、前記第１、第２の関節に前記電動モータ１０などが配置される脚式移動ロボット１であると共に、前記通知を受けたＣＰＵは、ベース基地まで歩行して着座するように前記所定の待避手順に従って前記通電指令値を演算する（Ｓ２６からＳ２８）如く構成したので、上記した効果に加え、異常が検知されたときも、一層適切に対処することができる。
【００７３】
また、前記通知を受けたＣＰＵは、前記着座を行った後、前記電源回路を遮断する（Ｓ３０）如く構成したので、上記した効果に加え、電源回路７６ａの遮断を最適な時期に行うことができる。
【００７４】
尚、上記において、脚式移動ロボットとして２足ロボットを例示したが、それに限られるものではなく、３足以上のロボットであっても良い。
【図面の簡単な説明】
【００７５】
【図１】この発明の第１実施例に係るロボットの異常検知装置が対象とするロボット、具体的には脚式移動ロボットの正面図である。
【図２】図１に示すロボットの側面図である。
【図３】図１に示すロボットをスケルトンで示す説明図である。
【図４】図３に示す制御ユニットの構成を電装システムを中心に示すブロック図である。
【図５】図４に示す、第１、第２のＣＰＵの動作を機能的に示すブロック図である。
【図６】この実施例に係るロボットの異常検知装置の動作を示す、図４に示す第１のＣＰＵと第２のＣＰＵで平行して行われる処理を示すフロー・チャートである。
【図７】同様に、この実施例に係るロボットの異常検知装置の動作を示す、図４に示すメインＩ／Ｏで行われる処理を示すフロー・チャートである。
【図８】図６フロー・チャートの異常モードの処理を説明するタイム・チャートである。
【符号の説明】
【００７６】
１      脚式移動ロボット（ロボット）
２      脚部
３      基体
１０など  電動モータ
７０      電子制御ユニット（ＥＣＵ）
７０ａ    第１のＣＰＵ
７０ｂ    第２のＣＰＵ
７０ｃ    メインＩ／Ｏ
７０ｃ１  第１のカウンタ
７０ｃ２  第２のカウンタ
【図１】
2006082202.tif 000003
【図２】
2006082202.tif 000004
【図３】
2006082202.tif 000005
【図４】
2006082202.tif 000006
【図５】
2006082202.tif 000007
【図６】
2006082202.tif 000008
【図７】
2006082202.tif 000009
【図８】
2006082202.tif 000010