(57)【特許請求の範囲】
【請求項１】
ロボットの駆動制御を行うもので、
ＣＰＵと、このＣＰＵを中心とする制御用の周辺回路とが搭載されるＣＰＵボードと、
このＣＰＵボードに接続され、ロードされるコンフィギュレーションデータに応じて回路機能を設定可能に構成されるゲートアレイが搭載されるゲートアレイボードとを備えるロボットの制御装置において、
前記ゲートアレイボードは、前記ロボットのサーボモータを駆動するサーボ制御部を構成しており、
前記ＣＰＵは、電源が投入されてパワーオンリセットが解除されると、自身の初期化処理を行なった後に無限待機状態となり、
前記ゲートアレイは、電源が投入された時点より前記コンフィギュレーションデータのロードを開始し、前記ロードが完了すると、前記ＣＰＵボード側にレディ信号を継続的に出力し、
前記ＣＰＵは、前記レディ信号が出力されたことを認識すると、前記無限待機状態を解除して、前記ゲートアレイボードに搭載されている回路の初期化処理を開始することを特徴とするロボットの制御装置。
【請求項２】
前記周辺回路は、
前記ＣＰＵボードと前記ゲートアレイボードとの間における信号の送受信を行う機能を備え、
電源が投入されると、リセット回路がリセット信号を出力し続けることでリセット状態に維持され、
前記レディ信号が出力されて前記リセット回路に与えられることで前記リセット状態が解除されると、前記ＣＰＵに対してスタンバイ信号を出力し、
前記ＣＰＵは、前記無限待機状態において、前記スタンバイ信号が与えられると前記無限待機状態を解除することを特徴とする請求項１記載のロボットの制御装置。
【請求項３】
前記レディ信号は、ハイアクティブ信号であることを特徴とする請求項１又は２記載のロボットの制御装置。
【請求項４】
前記ゲートアレイボードには、前記ゲートアレイが複数搭載されており、
前記複数のゲートアレイは、自身のコンフィギュレーションデータのロードが完了するとそれぞれロード完了信号を出力し、
前記レディ信号は、前記複数のロード完了信号の論理積信号として出力されることを特徴とする請求項１乃至３の何れかに記載のロボットの制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＰＵや制御用の周辺回路が搭載されるＣＰＵボードと、回路機能が設定可能に構成されるゲートアレイが搭載されるゲートアレイボードとを備えるロボットの制御装置に関する。
【背景技術】
【０００２】
ロボットの制御装置（コントローラ）は、ＣＰＵとその周辺回路とが搭載されるＣＰＵボードと、ロードされるコンフィギュレーションデータに応じて回路機能を設定可能に構成されるゲートアレイ、所謂フィールドプログラマブルゲートアレイ（以下、ＦＰＧＡと称す）が搭載されるＦＰＧＡボード（ゲートアレイボード）とを備えて構成されるものが多い。ＦＰＧＡは、個別のアプリケーションに応じてユーザが回路機能を設定できるので、初期投資額が少なく、機能の修正・変更も容易に行うことができる。
【０００３】
一方、上記のＣＰＵボードについては、ある程度要求される処理能力に応じて使用するＣＰＵが標準化されていたり、市販品として供給されるものもあり、そのようなＣＰＵボードと、ユーザが設計したＦＰＧＡボードとを組み合わせることで、開発コストを削減しつつ制御装置を構成するケースも存在する。
その場合、後者のＦＰＧＡボードについては、使用するＦＰＧＡの種類やゲート数に応じて、電源が投入された時点からコンフィギュレーションデータのロードが完了するまでの時間が様々に異なる。また、ＣＰＵボード側についても、ＣＰＵの種類や動作クロック周波数、制御プログラムの相違などにより、電源が投入された時点からリセットが解除され、初期化処理が完了するまでの時間は異なる。
【０００４】
そして、ＣＰＵボードとＦＰＧＡボードとを組み合わせてなるシステムでは、各ボードに電源が投入されると、最初に、ＣＰＵ側の初期化処理とＦＰＧＡ側のコンフィギュレーションデータのロードとを行う必要がある。この場合、ＣＰＵは、ＦＰＧＡのデータロードが完了した後に、データに応じて設定された機能における内部レジスタの初期化などを行なう必要がある。ここで、ＣＰＵボードとＦＰＧＡボードとの組み合わせパターンが複数あることを想定すると、ＣＰＵ側では、ＦＰＧＡのデータロードが確実に完了するように、待機時間をある程度余裕を持って設定する必要がある（例えば５００ｍｓ程度）。その結果、待機時間が冗長とならざるを得ず、総じてシステムの起動が遅くなるという問題があった。
【０００５】
例えば、ＦＰＧＡのデータロードが確実に完了したことを検出する技術の１つとして、特許文献１に開示されているものがある。
【特許文献１】特開平９−１３０２３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の技術では、ＣＰＵは、自身の初期化が完了した後に、ＦＰＧＡに対して起動制御信号ａを出力することでコンフィギュレーションデータのロードを開始させている。すなわち、ＣＰＵの初期化とＦＰＧＡのコンフィギュレーションとがシリアルに実行されるため、ＣＰＵ側の初期化が完了しても、その後に開始されるＦＰＧＡのコンフィギュレーションが完了するまではシステムが起動されずにアイドル状態となり、やはり起動を効率的に行うことができない。
【０００７】
本発明は上記事情に鑑みてなされたものであり、その目的は、ＣＰＵボードとゲートアレイボードとの組み合わせが様々に想定される場合でも、起動時間を極力短縮できるロボットの制御装置を提供することにある。
【課題を解決するための手段】
【０００８】
請求項１記載のロボットの制御装置によれば、ＣＰＵボードとゲートアレイボードとを備える構成において、ゲートアレイボードは、ロボットのサーボモータを駆動するサーボ制御部を構成する。ＣＰＵは、電源が投入されてパワーオンリセットが解除されると自身の初期化処理を行なった後に無限待機状態となり、ゲートアレイは、電源が投入された時点よりコンフィギュレーションデータのロードを開始し、そのロードが完了すると、ＣＰＵボード側にレディ信号を継続的に出力する。そして、ＣＰＵは、レディ信号が出力されたことを認識すると無限待機状態を解除して、ゲートアレイボードに搭載されている回路の初期化処理を開始する。
【０００９】
即ち、制御装置に電源が投入されると、ＣＰＵ側の初期化処理とゲートアレイ側のデータロードとが同時に開始されて進行する。そして、ＣＰＵは、自身の初期化が完了して無限待機状態に移行すると、ゲートアレイのデータロードが完了したことをレディ信号により認識してゲートアレイボード側の初期化を開始する。したがって、ＣＰＵとゲートアレイとの組合せが様々に異なる場合でも起動時間を極力短縮することができ、従来のように冗長な待機時間を設定したり、或いは待機時間を予め調整する必要がなくなる。またこの場合、ＣＰＵは、無限待機状態においてレディ信号が出力されるまで受動的に待機すれば良いので、起動処理プログラムの作成が容易となる。
【００１０】
請求項２記載のロボットの制御装置によれば、ＣＰＵボード側の周辺回路に、ＣＰＵボードとゲートアレイボードとの間における信号の送受信を行う機能を備える。そして、周辺回路は、電源が投入されると、リセット回路がリセット信号を出力し続けることでリセット状態に維持され、レディ信号がリセット回路に与えられリセット状態が解除されるとＣＰＵに対してスタンバイ信号を出力する。すると、ＣＰＵは、そのスタンバイ信号を受けて無限待機状態を解除する。
すなわち、ＣＰＵは、初期化処理が完了して無限待機状態に移行しても周辺回路はリセットされ続けているから、例えばＣＰＵがノイズの影響により暴走してゲートアレイボード側の初期化を開始した場合でも、ゲートアレイボードにアクセスすることはできない。したがって、ゲートアレイのデータロードが完了していない段階で初期化が行われることがなく、動作異常に繋がる事態を回避できる。
【００１１】
請求項３記載のロボットの制御装置によれば、レディ信号をハイアクティブ信号とする。例えば、ゲートアレイボード側の電源ラインに異常が発生することで電源電圧が降下し、ＣＰＵボード側に送信する信号のレベルが低下した場合でも、ゲートアレイのデータロードが完了する以前のレディ信号はローレベルを示しているから、ＣＰＵボード側におけるレディ信号の出力状態判定に影響を与えることがない。すなわち、このケースでも安全側に作用することになるから、ロボットの制御には好適である。
【００１２】
請求項４記載のロボットの制御装置によれば、ゲートアレイボードに搭載される複数のゲートアレイは、それぞれ自身のコンフィギュレーションデータのロードが完了するとそれぞれロード完了信号を出力し、レディ信号は、複数のロード完了信号の論理積信号として出力される。したがって、複数のゲートアレイが存在する場合でも、ＣＰＵボード側に出力される信号線の数が増加することがなく、ＣＰＵ側では、複数のゲートアレイのデータのロードが全て完了したことを確実に認識できる。
【発明を実施するための最良の形態】
【００１３】
（第１実施例）
以下、本発明の第１実施例について図１乃至図５を参照して説明する。図４は、ロボットシステムの構成を示す図，図５は、ロボットシステムの電気的構成を示す機能ブロック図である。ロボットシステムは、ロボット１および制御装置２を備えている。ロボット１は、例えば部品の組み立て用あるいは部品の検査用など、任意の構成のロボットである。制御装置２は、周辺機器として操作ペンダントを構成するティーチィングペンダント３およびプログラム入力用のパソコン４などが接続されている。
【００１４】
ロボット１は、例えば６軸の垂直多関節型のロボットとして構成されている。ロボット１は、周知の通り、それぞれアクチュエータであるサーボモータ５などからの駆動力で駆動されるアーム６を有している。アーム６は、先端にエンドエフェクタ７を有している。例えばロボット１で部品の運搬や組み立てなどを行う場合、エンドエフェクタ７としてこれらの部品を保持するためのハンドが用いられる。また、例えばロボット１で部品の検査などを行う場合、エンドエフェクタ７として対象となる部品を撮影するカメラなどが用いられる。このように、エンドエフェクタ７は、ロボット１を適用する工程に応じて任意に選択することができる。サーボモータ５からアーム６のエンドエフェクタ７までの間には、図示しない減速機構やリンクなどの駆動力伝達機構が設けられている。これにより、アーム６の先端に設けられているエンドエフェクタ７は、サーボモータ５からの駆動力によって駆動される。ロボット１と制御装置２との間は、接続ケーブル８によって接続されている。これにより、ロボット１の各軸を駆動するサーボモータ５、および作業を実施するエンドエフェクタ７は、制御装置２によって制御される。
【００１５】
ティーチィングペンダント３は、例えばユーザが携帯あるいは手に所持して操作可能な程度の大きさで、例えば薄型の略矩形箱状に形成されている。ティーチィングペンダント３は、表面部の中央部に例えば液晶ディスプレイからなる表示部１１を有している。表示部１１には、各種の画面が表示される。表示部１１は、タッチパネルで構成されている。また、ティーチィングペンダント３は、表示部１１の周囲に各種のキースイッチ１２が設けられており、ユーザは、キースイッチ１２やタッチパネルによって制御装置２へ種々の指示を入力する。
【００１６】
ティーチィングペンダント３は、ケーブル１５を経由して制御装置２に接続され、インターフェイスを経由して制御装置２との間で高速のデータ転送を実行するようになっており、キースイッチ１２等より入力された操作信号等はティーチィングペンダント３から制御装置２へ送信される。また、制御装置２は、ティーチィングペンダント３へ制御信号や表示用の信号などと共に駆動用の電力を供給する。
ユーザは、上記のティーチィングペンダント３を用いてロボット１の運転や設定などの各種の機能を実行可能であり、例えばキースイッチ１２等を操作することで、予め記憶されている制御プログラムを呼び出して、ロボット１の起動や各種のパラメータの設定などを実行できる。また、ロボット１をマニュアル操作で動作させて各種の教示作業も実行可能であり、表示部２１には、例えばメニュー画面、設定入力画面、状況表示画面など必要に応じて所望の画面が表示される。
【００１７】
パソコン４は例えば汎用のノートパソコンなどであり、ユーザは、プログラミングソフトを実行させることでアプリケーションに応じてロボット１の動作手順などを記述した動作プログラムを作成できる。このパソコン４は、ケーブル１６を経由して制御装置２に接続されており、作成されたロボット１の動作プログラムは、パソコン４から制御装置２へ転送される。
【００１８】
制御装置２は、箱状のフレームの内部に制御部２１が組み込まれている。制御部２１は、ＣＰＵ、ＲＯＭおよびＲＡＭなどからなるマイクロコンピュータを主体として構成され、予め入力・記憶されたロボット１の動作プログラムや、各種データおよびパラメータ、ティーチィングペンダント３からの操作信号などに基づいて、サーボ制御部２２を経由してロボット１の各軸のサーボモータ５を駆動する。これにより、制御装置２は、ロボット１の動作を制御する。エンコーダ２３は、サーボモータ５のロータ位置信号を、サーボ制御部２２を経由して制御部２１に出力する。
【００１９】
図１は、制御装置２を構成する制御部２１及びサーボ制御部２２を、より具体的に示すものである。制御部２１は、回路基板であるＣＰＵボード３１に、ＣＰＵ３２，その周辺回路であるチップセット（ＬＳＩ）３３，リセット回路３４等を搭載して構成されている。一方、サーボ制御部２２は、回路基板であるＦＰＧＡボード（ゲートアレイボード）３５に、ＦＰＧＡ（ゲートアレイ）３６，フラッシュＲＯＭ３７，ダウンロード回路３８等を搭載して構成されている。このＦＰＧＡボード３５には、電源回路部や、サーボモータ５を駆動するためのインバータ回路などを含む駆動回路部等（何れも図示せず）が接続される。
また、ＦＰＧＡボード３５には、基板接続用のコネクタ３９が配置されており、ＣＰＵボード３１は、図１中右辺側に形成されている接続端子部４０をコネクタ３９に差し込むことで、ＦＰＧＡボード３５に対して垂直に接続されるようになっている。
【００２０】
ＣＰＵボード３１において、ＣＰＵ３２は、図示しないＲＯＭに記憶されている制御プログラムに従い、ＦＰＧＡボード３５を介してロボット１の駆動制御を行う。チップセット３３は、主としてＦＰＧＡボード３５側との通信機能をなすＬＳＩである。リセット回路３４は、電源が投入されるとチップセット３３をリセット状態に制御するもので、後述するようにＦＰＧＡボード３５側よりレディ信号が与えられると、チップセット３３のリセットを解除するように構成されている。
【００２１】
ＦＰＧＡボード３５において、フラッシュＲＯＭ３７には、ＦＰＧＡ３６の回路機能を設定するコンフィギュレーションデータが記憶されている。ダウンロード回路３８は、例えばＣＰＬＤ（Complex Programmable Logic Device）などで構成されており、電源が投入されると、フラッシュＲＯＭ３７に記憶されているコンフィギュレーションデータを読み出してパラレル／シリアル変換し、ＦＰＧＡ３６に送信してロードする機能をなす。尚、フラッシュＲＯＭ３７は汎用のメモリとして使用され、ＦＰＧＡボード３５に搭載されている図示しない他の回路によって使用されるデータ等も併せて記憶されている。
【００２２】
次に、本実施例の作用について図２及び図３も参照して説明する。図２は、制御装置２に電源が投入された場合の初期化処理手順を示すタイミングチャートである。電源は、ＣＰＵボード３１と、ＦＰＧＡボード３５とに対してほぼ同時に供給される（図２（ａ）,（ｅ）参照）。すると、ＣＰＵボード３１側では、パワーオンリセットが解除された後、ＣＰＵ３２の初期化が開始される（図２（ｂ）参照）。ここでの初期化は、ＣＰＵ３２の内部レジスタ設定や、ワークエリアとして使用するＲＡＭのゼロクリア等である。
また、チップセット３３は、前述のようにリセット回路３４によりリセット状態に維持される（図２（ｃ）参照）。
【００２３】
一方、ＦＰＧＡボード３５側では、パワーオンリセットが解除された後、ＦＰＧＡ３６に対するコンフィギュレーション（データロード）がダウンロード回路３８により開始される（図２（ｆ）参照）。そして、ＣＰＵ３２は、初期化が完了すると、無限ループを実行する待機状態に移行する。この待機状態を、図２では（ｄ）において「ウェイト」として示す。
ＦＰＧＡ３６のコンフィギュレーションが完了すると（図２（ｆ）参照）、ＦＰＧＡ３６は、完了信号ＤＯＮＥをアクティブ（ハイ）にするが、ＣＰＵボード３５側に対しては、それがＦＰＧＡ３６側の準備が完了したことを示すレディ信号として出力される（図２（ｇ）参照）。
【００２４】
上記のレディ信号はリセット回路３４に与えられ、それをトリガとしてチップセット３３のリセットが解除され（図２（ｃ）参照）、チップセット３３は、起動するとＣＰＵ３２に対してスタンバイ信号を出力する。すると、ＣＰＵ３２は、それをトリガとして無限ループを抜けて、システムＢＩＯＳ（Basic Input Output System）を起動すると共に、ＦＰＧＡボード３５側のハードウエア回路の初期化を行うプログラムを実行する（図２（ｄ）参照）。すなわち、ＣＰＵ３２は、チップセット３３よりスタンバイ信号が出力されると、ＦＰＧＡボード３５側よりレディ信号が出力されたことを間接的に認識する。また、上記の「ハードウエア回路の初期化」とは、例えばＦＰＧＡ３５の内部に機能設定したレジスタの初期設定などである。以上で一連の処理が終了する。
【００２５】
図３には、比較のため、従来構成についてのタイミングチャートを示す。電源がＣＰＵボード，ＦＰＧＡボード３５に投入されると（図３（ａ）,（ｄ）参照）、図２のケースと同様に、ＣＰＵボード側ではＣＰＵの初期化が開始される（図３（ｂ）参照）。尚、この場合チップセットについては図示していないが、ＣＰＵと同時にパワーオンリセットが解除される。
初期化が完了すると、ＣＰＵは、所定時間（例えば５００ｍｓ）をタイマで計時する間、待機状態となる。その後、ＦＰＧＡのコンフィギュレーションが完了しても（図３（ｅ）参照）、ＣＰＵが待機状態にある間はＦＰＧＡ側もそのまま待機することになる。そして、タイマが計時を完了すると、ＣＰＵは、ＦＰＧＡボード側ハードウエア回路の初期化プログラムを実行する（図３（ｃ）参照）。
【００２６】
以上のように本実施例によれば、ＣＰＵボード３１とＦＰＧＡボード３５とを備える制御装置２において、ＣＰＵ３２は、電源が投入されると自身の初期化処理を行なった後に無限待機状態となり、ＦＰＧＡ３６は、電源が投入された時点より開始されるコンフィギュレーションデータのロードが完了すると、ＣＰＵボード３２側にレディ信号を継続的に出力する。そして、ＣＰＵ３２は、レディ信号が出力されたことを認識すると無限待機状態を解除して、ＦＰＧＡボード３５に搭載されている回路の初期化処理を開始する。したがって、ＣＰＵ３２とＦＰＧＡ３６との組合せが様々に異なる場合でも起動時間を極力短縮することができ、従来のように冗長な待機時間を設定したり、或いは個別の設計に応じて待機時間を調整する必要がなくなる。また、ＣＰＵ３２は、無限待機状態においてレディ信号が出力されるまで受動的に待機すれば良いので、起動処理プログラムの作成が容易となる。
【００２７】
そして、ＣＰＵボード３１側のチップセット３３に、ＣＰＵボード３１とＦＰＧＡボード３５との間における信号の送受信を行う通信機能を備え、チップセット３３は、電源が投入されると、リセット回路３４によりリセット状態に維持され、レディ信号がリセット回路３４に与えられリセット状態が解除されるとＣＰＵ３２に対してスタンバイ信号を出力する。すると、ＣＰＵ３２は、そのスタンバイ信号を受けて無限待機状態を解除する。
すなわち、ＣＰＵ３２は、初期化処理が完了して無限待機状態に移行してもチップセット３３はリセットされ続けているから、例えばＣＰＵ３２がノイズの影響により暴走してＦＰＧＡボード３５側の初期化を開始した場合でも、ＦＰＧＡボード３５にアクセスすることはできない。したがって、ＦＰＧＡ３６のデータロードが完了していない段階で初期化が行われることがなく、動作異常に繋がる事態を回避できる。
【００２８】
また、レディ信号をハイアクティブ信号とするので、例えば、ＦＰＧＡボード３５側の電源ラインに異常が発生して電源電圧が降下し、ＣＰＵボード３１側に送信する信号のレベルが低下した場合でも、ＦＰＧＡ３６のデータロードが完了する以前のレディ信号はローレベルを示しているから、ＣＰＵボード３１側におけるレディ信号の出力状態判定に影響を与えることがない。すなわち、このケースでも安全側に作用することになるから、ロボット１の制御には好適である。
【００２９】
（第２実施例）
図６は本発明の第２実施例を示すものであり、第１実施例と同一部分には同一符号を付して説明を省略し、以下異なる部分について説明する。第２実施例は、ＦＰＧＡボード３５Ａ側に、２個のＦＰＧＡ３６Ａ，３６Ｂが搭載されている場合であり、これらのＦＰＧＡ３６Ａ，３６Ｂを、シリアルにコンフィギュレーションする場合（スレーブシリアルモード）を示す。
【００３０】
ダウンロード回路３８により出力されるシリアルコンフィギュレーションデータは、ＦＰＧＡ３６Ａのシリアルデータ入力端子ＤＩＮに与えられ、ＦＰＧＡ３６Ａのシリアルデータ出力端子ＤＯＵＴは、ＦＰＧＡ３６Ｂの入力端子ＤＩＮに接続されている。そして、両者の完了信号ＤＯＮＥの出力端子は共通に接続されており（ワイアードＯＲ接続）、ＣＰＵボード３１側にレディ信号として出力される。
【００３１】
次に、第２実施例の作用について説明する。ダウンロード回路３８により出力されるコンフィギュレーションデータによって、最初にＦＰＧＡ３６Ａのコンフィギュレーションが行われる。その間は、ＦＰＧＡ３６Ａの出力端子ＤＯＵＴからコンフィギュレーションデータは出力されない。そして、ＦＰＧＡ３６Ａのコンフィギュレーションが完了すると、完了信号ＤＯＮＥをアクティブレベル：ハイにドライブしようとするが、ＦＰＧＡ３６Ｂ側が同じ信号をロウにドライブしているので、ロウレベルのままとなる。
【００３２】
そして、ＦＰＧＡ３６Ａの出力端子ＤＯＵＴからコンフィギュレーションデータの出力が開始され、続いて、ＦＰＧＡ３６Ｂのコンフィギュレーションが行われる。ＦＰＧＡ３６Ｂのコンフィギュレーションが完了すると、ＦＰＧＡ３６Ｂも完了信号ＤＯＮＥをアクティブレベルにドライブするので、その時点でレディ信号がハイレベルとなる。したがって、この場合ＣＰＵ３２は、２つのＦＰＧＡ３６Ａ，３６Ｂのコンフィギュレーションがシリアルに実行されて完了するまで、待機状態を維持する。
【００３３】
以上のように第２実施例によれば、２つのＦＰＧＡ３６Ａ，３６Ｂのコンフィギュレーションがシリアルに実行される場合に、レディ信号は、両者のロード完了信号のＡＮＤ信号として出力されるので、ＣＰＵボード３１側に出力される信号線の数が増加することがなく、ＣＰＵ３２側では、ＦＰＧＡ３６Ａ，３６Ｂのデータロードが全て完了したことを、レディ信号により確実に認識できる。
【００３４】
（第３実施例）
図７は本発明の第３実施例であり、ＦＰＧＡボード３５Ｂには３個のＦＰＧＡ３６Ａ〜３６Ｃが搭載されており、それらを同時にコンフィギュレーションする場合を示す。この場合、各ＦＰＧＡ３６Ａ〜３６Ｃに対応して、フラッシュＲＯＭ３７及びダウンロード回路３８も３組（Ａ〜Ｃ）配置されている（スレーブシリアルモード）。そして、各ＦＰＧＡ３６Ａ〜３６Ｃの完了信号ＤＯＮＥの出力端子は、３入力ＡＮＤゲート４１の入力端子にそれぞれ接続されており、ＡＮＤゲート４１の出力信号が、ＣＰＵボード３１側にレディ信号として出力される。
この場合、ＦＰＧＡ３６Ａ〜３６Ｃのコンフィギュレーションは同時に並行して行われるため、タイミングチャートは図２と同様になる。
【００３５】
以上のように第３実施例によれば、ＦＰＧＡボード３５Ｂに搭載されるＦＰＧＡ３６Ａ〜３６Ｃは、それぞれ自身のコンフィギュレーションデータのロードが完了するとそれぞれＤＯＮＥ信号を出力し、この場合もレディ信号は、複数のロード完了信号のＡＮＤ信号として出力される。したがって、ＣＰＵ３２側では、ＦＰＧＡ３６Ａ〜３６Ｃのデータロードが全て完了したことを、レディ信号により確実に認識できる。
【００３６】
（第４実施例）
図８は、本発明の第４実施例であり、第３実施例と異なる部分について説明する。第４実施例は、第３実施例と同様に、ＦＰＧＡボード３５Ｃに３個のＦＰＧＡ３６Ａ〜３６Ｃが搭載されるが、フラッシュＲＯＭ３７及びダウンロード回路４２は１組だけ搭載されている。ダウンロード回路４２は、ＦＰＧＡ３６Ａ〜３６Ｃに対して、コンフィギュレーションデータを例えば８ビットのパラレルデータＤ０：Ｄ７により順次ロードするようになっている（スレーブパラレルモード）。
このように構成すれば、３個のＦＰＧＡ３６Ａ〜３６Ｃに対してフラッシュＲＯＭ３７が１つだけ用意される場合でも、コンフィギュレーションをより早く完了することができる。
【００３７】
本発明は上記しかつ図面に記載した実施例にのみ限定されるものではなく、以下のような変形または拡張が可能である。
ＣＰＵボードに搭載される周辺回路は、ＦＰＧＡボード側との通信を行う機能を備えているものに限ることはない。また、ＬＳＩに限ることはなく、より小規模なハードウエア回路でも良い。
ＦＰＧＡボード側より与えられるレディ信号は、ＣＰＵに対しても、直接出力するようにしても良い。
第２実施例において、２つのＦＰＧＡ３６Ａ，３６Ｂが出力するＤＯＮＥ信号を、第３実施例等と同様に、ＡＮＤゲートを介すことでレディ信号を出力しても良い。
【００３８】
また、第２〜第４実施例において、ＣＰＵボード３１とＦＰＧＡボード３５との間を接続する信号線数に余裕がある場合には、各ＦＰＧＡ３６が出力するＤＯＮＥ信号をそのままＣＰＵボード３１側に出力し、リセット回路３４側でそれらの論理積をとるように構成しても良い。
また、第２〜第４実施例を、ＦＰＧＡボード３５に、４個以上のＦＰＧＡ３６が搭載されている場合に適用しても良い。
制御対象とするロボットは、垂直多関節型に限ることなく、水平多関節型や直角座標型、単軸型などでも良い。
【図面の簡単な説明】
【００３９】
【図１】本発明の第１実施例であり、ロボットの制御装置を構成する制御部及びサーボ制御部を具体的に示す図
【図２】制御装置に電源が投入された場合の初期化処理手順を示すタイミングチャート
【図３】比較のため従来のケースを示す図２相当図
【図４】ロボットシステムの構成を示す図
【図５】ロボットシステムの電気的構成を示す機能ブロック図
【図６】本発明の第２実施例を示す図１相当図
【図７】本発明の第３実施例を示す図１相当図
【図８】本発明の第４実施例を示す図１相当図
【符号の説明】
【００４０】
図面中、１はロボット、２は制御装置、３１はＣＰＵボード、３２はＣＰＵ、３３はチップセット（周辺回路）、３５はＦＰＧＡボード（ゲートアレイボード）、３６はＦＰＧＡ（ゲートアレイ）、４１はＡＮＤゲートを示す。
【図１】
0005035000.tif 000002
【図２】
0005035000.tif 000003
【図３】
0005035000.tif 000004
【図４】
0005035000.tif 000005
【図５】
0005035000.tif 000006
【図６】
0005035000.tif 000007
【図７】
0005035000.tif 000008
【図８】
0005035000.tif 000009