(57)【要約】【課題】  分散制御型ロボット装置において、電線量、特に信号線の電線量を削減して、ロボット装置全体の重量を軽減するようにしたロボット装置を提供する。【解決手段】  ロボット装置１０に被制御機器群３７、４２、４７と制御部Ｃとを搭載し、搭載した制御部Ｃにより被制御機器群３７、４２、４７を制御することにより自律制御を行うロボット装置１０であって、制御部Ｃは、１つの主制御部Ｍと、各被制御機器の近傍に分散配置される複数の副制御部Ｓと、主制御部Ｍと副制御部Ｓとの間で信号の送受信を行う非有線の送受信手段３２、３３、３８、４３とからなり、各副制御部Ｓは、主制御部Ｍから送受信手段３２、３３、３８、４３により送信される制御信号を受信して担当する被制御機器３７、４２、４７の制御を行う。【選択図】図３
2006255797.tif 000002
【特許請求の範囲】
【請求項１】
ロボット装置に被制御機器群と制御部とを搭載し、搭載した制御部により被制御機器群を制御することにより自律制御を行うロボット装置であって、
制御部は、１つの主制御部と、各被制御機器の近傍に分散配置される複数の副制御部と、主制御部と副制御部との間で信号の伝送を行う非有線の送受信手段とからなり、
各副制御部は、主制御部から前記送受信手段により送信される制御信号を受信して担当する被制御機器の制御を行うことを特徴とするロボット装置。
【請求項２】
いずれかの副制御部が主制御部と通信ができないときに、その副制御部が単独で生成する制御信号で強制的に各被制御機器が安全な状態に移行する制御を行うことを特徴とする請求項１に記載のロボット装置。
【請求項３】
いずれかの副制御部が主制御部と通信できないときに、副制御部のいずれか１つが本来の副制御部として担当する被制御機器の制御を行うとともに、代替的に主制御部としての制御を兼ねることを特徴とする請求項１に記載のロボット装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、種々の機能・動作を実行するロボット装置に関する。具体的には、脚機構による歩行ロボット、あるいはアーム機構による組立ロボットや搬送ロボット、あるいは、人感センサ、温度センサ、音センサ、匂いセンサ、光センサ等によりロボット周辺の外部情報を検知する監視ロボット、あるいは、これらのいくつかの機能を複合して実行するロボット装置に関する。
【背景技術】
【０００２】
近年、組立ロボット、作業ロボット、監視ロボット、掃除ロボット、ペットロボット等のような種々の作業、動作を行うロボット装置が利用されている。一般に、このようなロボット装置は、バッテリ又は商用電源を動力源とし、内蔵する制御系によりロボット装置に取り付けられたモータ、センサ、出力機器等の搭載機器群を制御して、各種の動作や機能を実現するようにしている。
【０００３】
例えば、図８は、センサ群による監視機能を有する歩行型ロボットの制御系を説明するブロック図である。
このロボット装置は、ロボット装置全体の動作および機能を実現するための制御を行う制御部５１と、人が接近したことを検知する人感センサ、臭気を検知するにおいセンサ、障害物に接近したことを検知する障害物センサ等のアナログ信号を出力するアナログセンサ群５２、ロボット装置の胴体に人が接触したことを検知するタッチセンサ等の２値信号を出力するデジタルセンサ群５３、スピーカ等のアナログ出力機器群５４、眼に取り付けて点灯したり表示器に取り付けて点灯することにより注意を喚起するＬＥＤランプ、あるいはスイッチ等のロボットに搭載された各機器を動作させるデジタル出力機器群５５、脚部を構成する各関節を動かすモータ群５６（電動アクチュエータ群）を有している。
【０００４】
アナログセンサ群５２は、アナログ信号を伝送する信号線によりＡＤコンバータ５７を介して制御部５１に接続される。アナログ出力機器群５４は、アナログ信号を伝送する信号線によりＤＡコンバータ５８を介して制御部５１に接続される。デジタルセンサ群５３、およびデジタル出力機器群１４、およびモータ群１５は、デジタル信号を送る信号線によりデジタルＩ／Ｏインタフェース５９〜６１を介して制御部１１と接続される。
また、これらの信号線とは別に、動力源を必要とするアナログセンサ群５２、デジタルセンサ群５３、アナログ出力機器群５４、デジタル出力機器群５５、モータ群５６の各機器は、それぞれに、バッテリからの電力を供給するための図示しない電源ラインが接続されている。
【０００５】
上述したような多数のセンサ群およびモータ群（アクチュエータ群）を用いるロボット装置の制御を、単一の制御部５１で実現しようとすると、その制御部５１への負荷が過大になる。また、制御部５１から各関節部に位置するモータまでの配線作業、あるいは装置内の各所に配置されるセンサへの配線作業が煩雑となり、多大な組立配線工数を要する。さらに、ロボット装置の部品配置を変更したり、部品を追加、変更、削除したりする際に、配線をやり直さなければならず、柔軟性に欠けることになる。
【０００６】
このような問題を解決するための対策として、ロボットの胴体部（中心部分）に設けられた主制御部と、各駆動機構やセンサに隣接して設けられた複数の副制御部とからなる分散制御型の動作制御装置が使用され、さらに、副制御部の副ＣＰＵと主制御部の主ＣＰＵとが、ネットワーク接続されるようにしたロボットが開示されている（特許文献１参照）。
【０００７】
また、胴体部に設けられた主制御部と各駆動手段に隣接して分散配置された複数の副制御部とから構成されている二脚歩行式人型ロボットであって、各副制御部が主制御部に対してそれぞれＬＡＮ接続されていると共に、各副制御部が主制御部からの駆動制御信号に基づいて少なくとも一つの対応する駆動手段のための制御信号を演算するプロセッサ部とプロセッサ部からの制御信号に基づいて対応する駆動手段を駆動するドライバ部とを含む構成が開示されている（特許文献２参照）。
【特許文献１】特開２００４−３０３８４２号公報
【特許文献２】特開２００３−１４５４５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述した従来の分散制御型ロボット装置は、いずれも副制御部をロボット装置の各部に分散配置し、主制御部と副制御部とをＬＡＮ等の有線ネットワークで接続している。そのため、制御部と被制御機器との間には、信号線となるネットワーク構築用の電線が張り巡らしてある。
【０００９】
この信号線の重量は、ロボット装置内の各機器への電力供給線の電線重量とともに相当な重量であり、ロボット装置全体の重量のうちの大きな割合を占めている。ロボット装置の軽量化は、ロボット制御性向上の観点からも大きな課題である。特に、歩行型ロボット装置やアーム駆動型ロボット装置では、装置重量の軽量化により、バッテリやアクチュエータに求められる容量やパワーを小さくすることができるので、装置のコンパクト化の点で大変有利になる。また、電線量（ハーネス本数）が削減できれば、それだけロボットの配線工数が削減でき、大幅なコストダウンにもなる。このことは歩行ロボット装置のような移動型ロボット装置に限られず、その他のロボット装置についても同様のメリットがある。
【００１０】
そこで、本発明は、分散制御型のロボット装置において、電線量、特に信号線の電線量を削減して、ロボット装置全体の重量を軽減するようにしたロボット装置を提供することを目的とする。
また、本発明の他の目的は、主制御部と副制御部とを用いて分散制御するロボット装置の場合に、たとえ、通信不良が生じた場合であっても、安全な制御を行うことができるロボット装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するためになされた本発明のロボット装置は、ロボット装置に被制御機器群と制御部とを搭載し、搭載した制御部により被制御機器群を制御することにより自律制御を行うロボット装置であって、制御部は、１つの主制御部と、各被制御機器の近傍に分散配置される複数の副制御部と、主制御部と副制御部との間で信号の伝送を行う非有線の送受信手段とからなり、各副制御部は、主制御部から前記送受信手段により送信される制御信号を受信して担当する被制御機器の制御を行うようにしている。
この発明によれば、ロボット装置は制御部を搭載し、この制御部が１つの主制御部と、各被制御機器の近傍に分散配置された複数の副制御部と、主制御部と各副制御部との間で信号を伝達する非有線の送受信手段とから構成される。各副制御部は、担当する被制御機器の近傍に分散配置されることにより、副制御部と被制御機器との間の配線を完全になくすことができ、あるいは、わずかな配線だけで済ませることができる。また、主制御部と副制御部とは、非有線の送受信手段を用いることにより、配線を完全になくすことができる。非有線の送受信手段には、例えば、無線ＬＡＮ接続、ブルーツース規格の通信等を用いることができる。
ここで、被制御機器としては、脚部やアーム部の各関節を駆動するモータ群(アクチュエータ群)、センサ群、出力機器群が含まれる。
【発明の効果】
【００１２】
本発明によれば、主制御部と副制御部との間の信号線を完全になくすことができるので、ロボット内には電源供給用の電線だけ、あるいは、これに加えて副制御部と被制御機器とを接続する短い信号線の電線だけとなり、これまでに比して使用する電線量を大幅に削減することができ、ロボット装置を軽量化することができる。
【００１３】
（その他の課題を解決するための手段及び効果）
また、上記発明において、いずれかの副制御部が主制御部と通信ができないときに、その副制御部が単独で生成する制御信号で強制的に各被制御機器が安全な状態に移行する制御を行うようにしてもよい。
これによれば、非有線の送受信手段を介しての信号が主制御部から副制御部へ伝達できない障害が発生しているときに、副制御部が主制御部に代替して制御信号を生成し、被制御機器に発する。この制御信号は、各副制御部が担当する被制御機器を、安全な状態にならしめる最小限必要の制御信号である。例えば、駆動機構に対しては現在の位置で停止させ、センサ群については、センサが故障しないように安全に停止させる。
これにより、主制御部と副制御部との間で通信不良が生じても、ロボット装置を損傷することなく、また、ロボット装置が暴走して外部に危害を及ぼすことなく安全な状態にすることができる。
【００１４】
また、いずれかの副制御部が主制御部と通信できないときに、副制御部のいずれか１つが本来の副制御部として担当する被制御機器の制御を行うとともに、代替的に主制御部としての制御を兼ねるようにしてもよい。
これにより、主制御部と副制御部との間で通信不良が生じても、通信可能な副制御部があればその副制御部に、代替的に主制御部として制御を行わせることにより、それまでと同様の制御を続けることができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施形態について図面を用いて説明する。図１は本発明の一実施形態である４足歩行型ロボット装置の外観を示す概略構成図である。
【００１６】
図１に示すように、ロボット装置１０は、頭部１、首部２、胴部３、脚部４により構成され、人が近づいたことを検知する人感センサ１１、音声情報を取得するマイク１２（音センサ）、映像情報を取得するカメラ１３（視覚センサ、光センサ）、臭気情報を検出するにおいセンサ１４、障害物に接近したことを検知する障害物センサ１５、デジタル信号から音声信号を合成して出力するスピーカ１６、文字や画像をデジタル信号として出力する表示器１７、何かがロボット装置に接触したことを検出するタッチセンサ２０、脚部４を駆動する脚駆動機構１８ａ〜１８ｄ（アクチュエータ）、首を回転する首回転機構１９（アクチュエータ）を備えている。
【００１７】
図２は、図１に示したロボット装置の各部と制御系の配置を示すブロック図である。このロボット装置１０の制御系は複数の制御モジュールにより構成されており、各制御モジュールはロボット装置内に分散配置される。制御モジュールを分類すると、主制御部Ｍとして機能するインテリジェントコントロールモジュール（以下ＩＣＭと略す）、副制御部Ｓとして機能し担当するアクチュエータの制御を行うインテリジェントアクチュエータモジュール（以下ＩＡＭと略す）、副制御部Ｓとして機能し担当するセンサの制御を行うインテリジェントセンサモジュール（以下ＩＳＭと略す）、副制御部Ｓとして機能し担当する出力機器の制御を行うインテリジェントドライブモジュール（以下ＩＤＭと略す）に分類される。
【００１８】
具体的には、頭部１にはカメラ１３を制御するＩＳＭ１が配置される。首部２には首回転機構１９を制御するＩＡＭ１３が配置される。胴部３には、主制御部Ｍとして機能するＩＣＭと、人感センサ１１を制御するＩＳＭ２、マイク１２を制御するＩＳＭ３、においセンサ１４を制御するＩＳＭ４、タッチセンサ１５を制御するＩＳＭ５と、スピーカ１６を制御するＩＤＭ１、表示器１７を制御するＩＤＭ２が配置される。脚部４のうち右前脚部１８ａは、前後、上下、左右方向に移動する３つの関節をそれぞれ制御するＩＡＭ１、ＩＡＭ２、ＩＡＭ３が配置される。同様に左前脚部１８ｂには３つの関節に対応してＩＡＭ４、ＩＡＭ５、ＩＡＭ６が配置され、同様に右後脚部１８ｃにはＩＡＭ７、ＩＡＭ８、ＩＡＭ９が配置され、左前脚部１８ｄにはＩＡＭ１０、ＩＡＭ１１、ＩＡＭ１２が配置される。
ＩＣＭと各ＩＳＭ間、ＩＣＭと各ＩＡＭ間、ＩＣＭと各ＩＤＭ間には、信号線は接続されておらず、図示しない電力供給用の電線のみが配線接続されている。
【００１９】
図３は、ロボット装置１０内に分散配置されるＩＣＭ、ＩＡＭ（１〜１３）、ＩＳＭ（１〜５）、ＩＤＭ（１〜２）の構成と制御部との関係を示す図である。図に示すように、制御部Ｃは、主制御部Ｍと、副制御部Ｓと、これらの間で通信を行う無線ＬＡＮ機器により構成されている。主制御部ＭはＩＣＭで構成され、副制御部Ｓは、ＩＡＭやＩＳＭやＩＤＭの一部（後述するローカルＣＰＵ）により構成される。
【００２０】
ＩＣＭは、メインＣＰＵ３０とメモリ３１と無線ＬＡＮカード３２とからなる。メインＣＰＵ３０は、主制御部Ｍとして機能するものであり、メモリ３１に格納される制御プログラムや設定パラメータに基づいて、ロボット装置１０全体の制御を行うための制御信号（要求信号）を生成する。無線ＬＡＮカード３２は、生成された制御信号（要求信号）をＩＡＭ、ＩＳＭ、ＩＤＭ側に無線送信するとともに、応答信号を受信する。メインＣＰＵ３０で生成される制御信号には、送信先の制御モジュール（ＩＡＭ、ＩＳＭ、ＩＤＭ）のアドレス情報と、対応する被制御機器を制御するために必要な動作目標値となる制御信号値とが含まれる。なお、被制御機器を駆動するための制御コマンドは、ＩＡＭ、ＩＳＭ、ＩＤＭ側で生成する。これにより、必要最小限のデータのみを伝送するようにして、無線通信に必要な時間を短縮している。
【００２１】
各ＩＡＭ（１〜１３）は、無線ＬＡＮカード３３とメモリ３４とローカルＣＰＵ３５とドライバ回路３６と被制御機器であるアクチュエータ３７とからなる。これらのうち、無線ＬＡＮカード３３、メモリ３４、ローカルＣＰＵ３５、ドライバ回路３６はプリント基板上に配置してある。プリント基板とアクチュエータ３７との接続は、コネクタにより直接接続するか、あるいはプリント基板をアクチュエータ３７近傍に配置させて、短い電線で接続するようにして、電線重量を軽減している。
【００２２】
無線ＬＡＮカード３３は、ＩＣＭの無線ＬＡＮカード３２との間で無線通信により制御信号を送受する。ローカルＣＰＵ３５は、ＩＣＭからの制御信号（要求信号）を受信すると、受信したことを知らせるために応答信号を生成して、無線ＬＡＮカード３３から送信する。また、受信した制御信号（要求信号）に含まれる制御信号値（動作目標値）を抽出し、メモリ３４に格納される制御プログラムや設定パラメータに基づいて、その制御信号値（動作目標値）に近づけるための処理を実行し、ドライブ回路３６に必要な制御信号を送り、ドライブ回路３６によってアクチュエータ３７を駆動する。
【００２３】
各ＩＳＭ（１〜５）は、無線ＬＡＮカード３８とメモリ３９とローカルＣＰＵ４０と入出力回路４１とセンサ４２とからなる。これらのうち、無線ＬＡＮカード３８、メモリ３９、ローカルＣＰＵ４０、入出力回路４１はプリント基板上に配置してある。プリント基板とセンサ４２との接続は、コネクタにより直接接続するか、あるいはプリント基板をセンサ４２近傍に配置して短い電線で接続するようにして、電線重量を軽減している。
【００２４】
無線ＬＡＮカード３８は、ＩＣＭの無線ＬＡＮカード３２との間で無線通信により制御信号を送受する。ローカルＣＰＵ４０は、ＩＣＭからの制御信号（要求信号）を受信すると、受信したことを知らせるために応答信号を生成し、無線ＬＡＮカード３８から送信する。それとともにローカルＣＰＵ４０が、センサ４２による検出動作を実行し、得られた検出信号を、入出力回路４１によりデジタル信号にし（センサからの信号がもともとデジタル信号のときはそのままでよい）、無線ＬＡＮカード３８からＩＣＭの無線ＬＡＮカード３２に無線送信する。
また、センサ４２の種類によっては、ローカルＣＰＵ４０が、ＩＣＭからの制御信号を受けることなく、メモリ３９に格納されたプログラムおよび設定パラメータに基づいて、逐次、計測を行い続け、予め設定された閾値を超えたときに、無線ＬＡＮカード３８からＩＣＭの無線ＬＡＮカード３２に無線送信する。
【００２５】
各ＩＤＭ（１〜２）は、無線ＬＡＮカード４３とメモリ４４とローカルＣＰＵ４５と入出力回路４６と出力機器４７とからなる。これらのうち、無線ＬＡＮカード４３、メモリ４４、ローカルＣＰＵ４５、入出力回路４６はプリント基板上に配置してある。プリント基板と出力機器４７との接続は、コネクタにより直接接続するか、あるいはプリント基板を出力機器４７近傍に配置して短い電線で接続するようにして、電線重量を軽減している。
【００２６】
無線ＬＡＮカード４３は、ＩＣＭの無線ＬＡＮカード３２との間で無線通信により制御信号を送受する。ローカルＣＰＵ４５は、ＩＣＭからの制御信号（要求信号）を受信すると、受信したことを知らせるために応答信号を生成し、無線ＬＡＮカード４３から送信する。それとともにローカルＣＰＵ４５が受信した制御信号に含まれる制御信号値を、入出力回路４６を経て出力機器４７に送る。出力機器４７がアナログ出力機器である場合には、入出力回路４６によりアナログ信号に変換して出力機器４７に送る。
【００２７】
このように、ロボット装置１０内において、ＩＣＭと分散配置されるＩＡＭ、ＩＳＭ、ＩＤＭとの間で無線ＬＡＮによるデータ送受信を行うことにより、ロボット装置１０内での電線重量を軽減することにより、ロボット装置全体の重量を軽減している。
【００２８】
（通信不良処理１）
次に、通信不良が生じた場合の動作について説明する。
主制御部Ｍと副制御部Ｓとの間を非有線で通信する場合に、何らかの原因(例えば電磁的ノイズの影響)で通信不良が生じる場合がある。
その場合は、ローカルＣＰＵ３５、４０、４５が、メインＣＰＵ３０からの制御信号（要求信号）を受けることなく、ローカルＣＰＵ単独の制御にて、担当する被制御機器であるアクチュエータ３７、センサ４２、出力機器４７の制御を行うようにする。
【００２９】
すなわち、正常動作中は、一定の時間間隔でメインＣＰＵ３０から制御信号（要求信号）が送信されてくるので、これを受信して、ローカルＣＰＵ３５、４０、４５側で、受信した制御信号に応じた制御を行う。しかしながら、予め設定された待ち時間（Ｔａ）が経過しても、メインＣＰＵ３０からの制御信号（要求信号）が受信できない場合は、ローカルＣＰＵ３５、４０、４５は、通信不良状態になったと判断する。メモリ３４、３９、４４には、予め、被制御機器を安全な状態にするための最小限の制御プログラムおよび制御信号のデータが格納してある。したがって、予めメモリ３４、３９、４４に格納された異常時に用いるこれらデータを読み出して、この制御プログラムおよび制御信号に基づいて被制御機器を制御する。
例えば脚部４については、ＩＡＭ１〜ＩＡＭ１２のそれぞれのメモリ３４には、図１に示す最も安定した脚状態に移行するための制御プログラムおよび制御信号が格納されているので、ローカルＣＰＵ３５がこれを読み込んで実行することにより、図１の状態に移行する。
【００３０】
このときの動作手順の例を説明する。図４はＩＣＭの動作フロー、図５はＩＡＭの動作フローを示す図である。ここでは、ＩＡＭのみについて説明するが、ＩＳＭやＩＤＭも同様の処理を行う。ここではＩＡＭは、ＩＡＭ（１）からＩＡＭ（Ｎｍａｘ）まで存在するものとする。そして、処理の際の引数としてＮを用いるものとする。
【００３１】
まず、ＩＣＭの処理について説明する。処理が開始すると、引数Ｎに１を初期設定する（ｓ１０１）。
続いてＩＡＭ（Ｎ）（したがって初回はＩＡＭ（１））にデータ送信を行う。このデータには送信先ののアドレス情報（ＩＡＭ（Ｎ）のアドレス情報）と制御信号値（目標信号値）とが含まれる（ｓ１０２）。
ＩＡＭ（Ｎ）との通信が可能であるかを、ＩＡＭ（Ｎ）からの応答信号を受信することにより判断する（Ｓ１０３）。もし、応答信号を受信しないときは、受信できなかったことを記憶して、そのＩＡＭ（Ｎ）へのデータ送信をスキップし（ｓ１０４）、ｓ１０５に進む。
続いて、これまでの引数Ｎに１を加算したＮ＋１を新しい引数Ｎにする（ｓ１０５）。
続いて更新された引数ＮがＮｍａｘであるかを確認し、Ｎｍａｘより小さいときはｓ１０２に戻り、Ｎｍａｘになるまで同様の処理を繰り返す（ｓ１０６）。これにより、（通信が成功したか失敗したかの結果を問わなければ）すべてのＩＡＭに対するデータ送信が行われたことになる。
続いて、引数Ｎを１に戻し（ｓ１０７）、ＩＡＭ（１）からＩＡＭ（Ｎｍａｘ）のすべてにデータ送信が成功したかをｓ１０４での記憶データから確認する（ｓ１０８）。
ｓ１０８で、すべてのＩＡＭへの送信に成功したときはｓ１０２に戻り、同様の動作を繰り返す。ｓ１０８で、いずれかのＩＡＭへの送信ができなかったときは、ＩＣＭは以後の処理を行わず、スリープ状態にする（ｓ１０９）。
【００３２】
続いて、上述したＩＣＭの動作と並行して実行されるＩＡＭ１の動作について説明する。
待ち時間としてＴａを初期設定する（ｓ２０１）。
待ち時間Ｔａが経過したかを計測し（ｓ２０２）、経過していないときはｓ２０３、経過したときはｓ２０７に進む。
Ｔａが経過していないときは、メインＣＰＵ３０からＩＡＭ（１）へのデータ送信があることを確認し（ｓ２０３）、データ送信が確認できないときはｓ２０２に戻り、同様の処理を繰り返す。確認できたときはｓ２０４に進む。
ｓ２０３でデータ送信が確認できたときは、ＩＡＭからＩＣＭへ応答信号を送信し（ｓ２０４）、さらに送信された制御信号のデータを受信し（ｓ２０５）、受信した制御信号に基づいて制御を実行する（ｓ２０６）。その後、ｓ２０１に戻って同様の処理を繰り返す。
【００３３】
ｓ２０２で、待ち時間Ｔａが経過したとき（すなわちＴａ時間内にメインＣＰＵ３０からのデータの送信があったことが確認できないとき）、ＩＡＭ（１）のローカルＣＰＵ３５が、メモリ３４に格納してある異常時に安全な状態に移行するための制御プログラムや制御信号を読み取る（ｓ２０７）。
ｓ２０７で読み取った制御信号に基づいて、制御を実行し、装置を安全な状態に移行する（ｓ２０８）。
【００３４】
ＩＣＭとＩＡＭとが、以上の動作フローによる処理を実行することにより、ロボット装置１０は、通信不良が発生しても、ＩＡＭによる制御のみにより、安全な状態に移行させることができる。
【００３５】
（通信不良処理２）
また、通信不良が生じた場合の他の処理手法として、ローカルＣＰＵ３５、４０、４５のいずれかがメインＣＰＵ３０に代替するようにしてもよい。
この場合も、正常動作中は、一定の時間間隔でメインＣＰＵ３０から各ローカルＣＰＵに向けて制御信号（要求信号）が送信されてくるので、これを受信して、各ローカルＣＰＵ３５、４０、４５側で、受信した制御信号に応じた制御を行う。しかしながら、予め設定された待ち時間（Ｔａ）が経過しても、メインＣＰＵ３０からの制御信号（要求信号）が受信できない場合は、各ローカルＣＰＵ３５、４０、４５は、通信不良状態になったと判断する。
ＩＡＭ、ＩＳＭ、ＩＤＭのうち、少なくとも１つのローカルＣＰＵには、予め、メインＣＰＵの処理を実行できるように、そのローカルＣＰＵに付設されるメモリに、メインＣＰＵが実行する制御プログラムおよび制御信号が記憶してある。
そして、この代替的にメインＣＰＵの処理を実行することになっているローカルＣＰＵは、予め設定した待ち時間（Ｔａ）が経過しても、メインＣＰＵ３０からの制御信号（要求信号）が受信できない場合は、待ち時間（Ｔａ）経過後に、メモリからメインＣＰＵが実行する制御プログラムおよび制御信号を読み取り、その後、メインＣＰＵが処理するフローとともに、本来のローカルＣＰＵとして処理するフローとを実行する。
【００３６】
このときの動作手順の例を説明する。図６は本来のＩＣＭの動作フロー、図７はＩＡＭ（代替的にＩＣＭの処理を行うＩＡＭ）の動作フローを示す図である。ここでは、ＩＡＭ（１）が代替的にＩＣＭとなって、メインＣＰＵ３０が処理するフローを実行するものとする。したがって、ＩＡＭ（１）に付設するメモリ３４には、ＩＡＭ（１）として処理する制御プログラムや制御信号とともに、ＩＣＭとして処理する制御プログラムや制御信号が格納されている。
ＩＡＭは、ＩＡＭ（１）からＩＡＭ（Ｎｍａｘ）まで存在するものとする。そして、処理の際の引数としてＮを用いるものとする。
【００３７】
まず、本来のＩＣＭの処理について説明する。処理が開始すると、引数Ｎに１を初期設定する（ｓ３０１）。
続いてＩＡＭ（Ｎ）（したがって初回はＩＡＭ（１））にデータ送信を行う。このデータには送信先ののアドレス情報（ＩＡＭ（Ｎ）のアドレス情報）と制御信号値（目標信号値）とが含まれる（ｓ３０２）。
ＩＡＭ（Ｎ）との通信が可能であるかを、ＩＡＭ（Ｎ）からの応答信号を受信することにより判断する（Ｓ３０３）。もし、応答信号を受信しないときは、受信できなかったことを記憶して、そのＩＡＭ（Ｎ）へのデータ送信をスキップし（ｓ３０４）、ｓ３０５に進む。
続いて、これまでの引数Ｎに１を加算したＮ＋１を新しい引数Ｎにする（ｓ３０５）。
続いて更新された引数ＮがＮｍａｘであるかを確認し、Ｎｍａｘより小さいときはｓ３０２に戻り、Ｎｍａｘになるまで同様の処理を繰り返す（ｓ３０６）。これにより、（通信が成功したか失敗したかの結果を問わなければ）すべてのＩＡＭに対するデータ送信が行われたことになる。
続いて、引数Ｎを１に戻し（ｓ３０７）、ＩＡＭ（１）からＩＡＭ（Ｎｍａｘ）のすべてにデータ送信が成功したかをｓ３０４での記憶データから確認する（ｓ３０８）。
ｓ３０８で、すべてのＩＡＭへの送信に成功したときはｓ３０２に戻り、同様の動作を繰り返す。ｓ３０８で、いずれかのＩＡＭへの送信ができなかったときは、このＩＣＭは以後の処理を行わず、スリープ状態にする（ｓ３０９）。
【００３８】
続いて、上述した本来のＩＣＭの動作と並行して実行されるＩＡＭ（１）の動作について図７を用いて説明する。
待ち時間としてＴａを初期設定する（ｓ４０１）。
待ち時間Ｔａが経過したかを計測し（ｓ４０２）、経過していないときはｓ４０３、経過したときはｓ４０７に進む。
待ち時間Ｔａが経過していないときは、メインＣＰＵ３０からＩＡＭ（１）へのデータ送信があるかを確認し（ｓ４０３）、データ送信が確認できないときはｓ４０２に戻り、待ち時間Ｔａが経過するまで同様の処理を繰り返す。その間にデータ送信があったことを確認できたときはｓ４０４に進む。
ｓ４０３でデータ送信があることを確認できたときは、ＩＡＭ（１）からＩＣＭへ応答信号を送信し（ｓ４０４）、さらにメインＣＰＵ３０から送信された制御信号のデータを受信し（ｓ４０５）、受信した制御信号に基づいて制御を実行する（ｓ４０６）。その後、ｓ４０１に戻って同様の処理を繰り返す。
【００３９】
ｓ４０２で、待ち時間Ｔａが経過したとき（すなわちＴａ時間内にメインＣＰＵ３０からのデータの送信があったことが確認できないとき）、ＩＡＭ（１）のローカルＣＰＵ３５が、メモリ３４に格納してあるメインＣＰＵが実行する制御プログラムおよび制御信号を読み取る（ｓ４０７）。
ＩＡＭ（１）は、ｓ４０７で読み取った制御プログラムおよび制御信号に基づいて、これまでＩＣＭが処理していたフローと同様のフロー（すなわち図６の処理フロー）を代替的に実行する（ｓ４０８）。
ｓ４０８において、本来のＩＣＭからＩＡＭ（１）へ送信するデータが、（代替ＩＣＭとしての）ＩＡＭ（１）から（本来の）ＩＡＭ（１）へ送信されたときは、ＩＡＭ（１）としてのフローを実行する（ｓ４０９）。
【００４０】
以上の処理を行うことにより、通信不良が発生した場合でも、ＩＡＭ（１）が代替ＩＣＭとして処理を実行することにより、それまでとほとんど同様の処理を続行することができる。
【００４１】
なお、上記例では代替ＩＣＭはＩＡＭ（１）としたが、複数のＩＡＭに代替ＩＣＭとなる機能を持たしておき、それらに優先順位を付けておいてもよい。この場合は、優先順位が低くなるものほど、待ち時間（Ｔａ）を長く設定しておき、優先順位の高いものがＩＣＭとして代替機能を果たさないとき（すなわち待ち時間を経過しても優先順位の高い代替ＩＣＭから制御信号の送信がないとき）に、順次、次のＩＡＭが代替ＩＣＭの処理を実行する。
【産業上の利用可能性】
【００４２】
本発明は、種々の作業、動作を行うロボット装置に利用することができる。
【図面の簡単な説明】
【００４３】
【図１】本発明の一実施形態であるロボット装置の外観構成を示す図。
【図２】本発明の一実施形態であるロボット装置の制御系を構成する制御モジュールの配置を説明する図。
【図３】本発明の一実施形態であるロボット装置の制御モジュールの構成を示す図。
【図４】本発明の一実施形態であるロボット装置のＩＣＭの動作を説明するフロー図。
【図５】本発明の一実施形態であるロボット装置のＩＡＭの動作を説明するフロー図。
【図６】本発明の他の一実施形態であるロボット装置のＩＣＭの動作を説明するフロー図。
【図７】本発明の他の一実施形態であるロボット装置のＩＡＭの動作を説明するフロー図。
【図８】従来のロボット装置の制御系の構成を示す図。
【符号の説明】
【００４４】
Ｃ      制御部
Ｍ      主制御部
Ｓ      副制御部
ＩＣＭ  インテリジェントコントロールモジュール
ＩＡＭ  インテリジェントアクチュエータモジュール
ＩＳＭ  インテリジェントセンサモジュール
ＩＤＭ  インテリジェントドライブモジュール
３０    メインＣＰＵ
３１、３４、３９、４４    メモリ
３２    無線ＬＡＮカード（主制御部側送受信手段）
３３、３８、４３    無線ＬＡＮカード（副制御部側送受信手段）
３５、４０、４５    ローカルＣＰＵ
３７    アクチュエータ（被制御機器）
４２    センサ（被制御機器）
４７    出力機器（被制御機器）
【図１】
2006255797.tif 000003
【図２】
2006255797.tif 000004
【図３】
2006255797.tif 000005
【図４】
2006255797.tif 000006
【図５】
2006255797.tif 000007
【図６】
2006255797.tif 000008
【図７】
2006255797.tif 000009
【図８】
2006255797.tif 000010