(57)【特許請求の範囲】
【請求項１】
６軸のアームを有するロボット本体と、このロボット本体に制御指令を出力するコントローラと、前記ロボット本体と前記コントローラとの間を接続するケーブルとで構成されるロボットにおいて、
前記コントローラは、電源モジュールと、メインモジュールと、複数のドライバモジュールとを備え、
前記電源モジュールは、前記メインモジュールと、前記ドライバモジュールと、前記ロボット本体とに電源を供給し、
前記ドライバモジュールには、前記ロボット本体の各軸に配置されているモータを駆動するドライバＩＣが複数搭載され、
前記メインモジュールには、前記ドライバモジュールを介して前記モータの駆動を制御する制御回路が搭載され、
前記ドライバモジュールは、
前記アームの手先のおおよその位置を決める軸であるアーム軸のうち、前記ロボット本体の基部に最も近い軸のモータを駆動するドライバＩＣと、前記手先の詳細な位置を決める軸である手首軸のうち、前記基部に最も近い軸のモータを駆動するドライバＩＣとが搭載される第１ドライバモジュールと、
前記アーム軸のうち、前記第１ドライバモジュールに属さない残りの軸のモータを駆動するドライバＩＣが搭載される第２ドライバモジュールと、
前記手首軸のうち、前記第１ドライバモジュールに属さない残りの軸のモータを駆動するドライバＩＣが搭載される第３ドライバモジュールとで構成されていることを特徴とするロボット。
【請求項２】
前記第１ドライバモジュールには、第１軸と第４軸とに配置されるモータを駆動するドライバＩＣが搭載され、
前記第２ドライバモジュールには、第２軸と第３軸とに配置されるモータを駆動するドライバＩＣが搭載され、
前記第３ドライバモジュールには、第５軸と第６軸とに配置されるモータを駆動するドライバＩＣが搭載されることを特徴とする請求項１記載のロボット。
【請求項３】
対象とする複数のロボットについて使用される各軸モータの容量系列について所定の閾値を定め、前記閾値以上の容量のモータ群を大容量群，前記閾値未満の容量のモータ群を小容量群と分類すると、
前記第１及び第２ドライバモジュールは、前記小容量群の内で容量が最大のモータに対応する小ドライバＩＣが１つ搭載されると共に、前記大容量群の内で容量が最大のモータに対応する大ドライバＩＣが１つ搭載され、
前記第３ドライバモジュールは、前記小ドライバＩＣが２つ搭載されることを特徴とする請求項１又は２記載のロボット。
【請求項４】
対象とする複数のロボットについて使用される各軸モータの容量系列について所定の閾値を定め、前記閾値以上の容量のモータ群を大容量群，前記閾値未満の容量のモータ群を小容量群と分類すると、
前記第１及び第２ドライバモジュールの一方は、前記小容量群の内で容量が最大のモータに対応する小ドライバＩＣが１つ搭載されると共に、前記大容量群の内で容量が最大のモータに対応する大ドライバＩＣが１つ搭載され、他方は前記大ドライバＩＣが２つ搭載され、
前記第３ドライバモジュールは、前記小ドライバＩＣが２つ搭載されることを特徴とする請求項１又は２記載のロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、６軸のアームを有するロボット本体と、このロボット本体に制御指令を出力するコントローラと、前記ロボット本体と前記コントローラとの間を接続するケーブルとで構成されるロボットに関する。
【背景技術】
【０００２】
ロボットは、用途に応じてアームの軸数（関節数）が異なっているが、各軸に配置されるモータの容量は、ロボット本体の構造上、関節に係る負荷の大きさに応じて異なっている。また、ロボットのユーザは、例えば多様な製造工程に応じて複数種類のロボットを使用している場合が多いが、現状では、それぞれのロボットに特化した専用のコントローラを用いて個別に制御するか、複数種類のロボットを制御可能な所謂「オール・イン・ワン」タイプのコントローラを用いて制御している。つまり、ロボットのメーカは、複数種類のコントローラや、オール・イン・ワンタイプのコントローラを製造して市場に供給しているが、オール・イン・ワンタイプについては、どうしてもオーバスペックとなる部分が排除し難い。
【０００３】
ロボットのメーカとしては、全ての種類のロボットに対応すると共に、各ロボットについて過不足がないスペックを備えたコントローラを作ることができれば、生産性を向上させて製品コストも低減させることができるため、非常に望ましい。例えば特許文献１には、ロボットの各サーボモータに対応する制御ユニット２〜５を個別に設け、ロボットの仕様毎にそれらを回路基板１のコネクタ３０〜３３に接続する場合に、誤接続を防止するため、各ユニット２〜１０（２軸インバータユニット６〜８を含む）のユニット側コネクタ３０ａ〜３３ａと、バックプレーン１のコネクタ３０〜４２とを、対応する組ごとにそれぞれ異なる位置に配置した構成が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−３０６４３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１のように、各軸に配置されるモータ毎にモジュールを作成すると、一般に多く使用されている６軸ロボットであれば６個のモジュールが必要になるため、それらの生産効率やコントローラの組み立て効率を向上させるには、複数のモータに対応するモジュールを共通化することが望ましい。しかしながら、一般に、１つのロボットに使用されるモータの容量は、構造上アームの根元側のモータが一番大きく、そこから手先側の軸に向かうに従い次第に減少するようになっている。
そのため、ドライバモジュールを複数種類とするように切り分ける場合に、単純に根元の軸から手先の軸に至る並び順でグルーピングすると、根元側のドライバモジュールの発熱が大きく、手先側のモジュールの発熱が小さくなり、それぞれの発熱量に応じた冷却対策を行う必要がある。
【０００９】
本発明は上記事情に鑑みてなされたものであり、その目的は、複数のモータに対して複数のドライバモジュールを用意する場合でも冷却対策が容易となり、生産効率を向上させることができるロボットを提供することにある。
【課題を解決するための手段】
【００１０】
請求項１記載のロボットによれば、コントローラに、ロボット本体の各軸に配置されているモータを駆動する第１ないし第３ドライバモジュールを備える。そして、第１ドライバモジュールには、アーム軸のうちロボット本体の基部に最も近い軸のモータを駆動するドライバＩＣと、手首軸のうち前記基部に最も近い軸のモータを駆動するドライバＩＣとが搭載され、第２ドライバモジュールには、アーム軸のうち、第１ドライバモジュールに属さない残りの軸のモータを駆動するドライバＩＣが搭載され、第３ドライバモジュールには、手首軸のうち、第１ドライバモジュールに属さない残りの軸のモータを駆動するドライバＩＣが搭載される。
【００１１】
すなわち上述したように、一般にロボットに使用される各軸モータの容量は、根元側の軸から手先側の軸に向かうと段階的に異なるので、単純に軸の並び順にドライバＩＣをグルーピングすると、根元側と手先側とでドライバモジュールの発熱の不均衡度合が大きくなってしまう。そこで、搭載されるドライバＩＣがそれぞれ駆動対象とするモータの組合せを第１ないし第３ドライバモジュールのようにすれば、第１，第２ドライバモジュールの間について発熱量の不均衡をより平準化することができ、各ドライバモジュールについて行う冷却対策を簡単にすることができる。
【００１４】
また、上記の構成は、４軸アームを有するロボットについても転用できる。すなわち、４軸のロボットでは、第１軸（基部）に配置されるモータの容量が相対的に大きく、第２軸〜第４軸に配置されるモータは相対的に小さいので、第１ドライバモジュールと、第２ドライバモジュールとをそのまま転用することができ、４軸ロボットに対応したドライバモジュールを別途構成する必要が無く、生産効率を一層向上させることができる。
【００１５】
請求項２記載のロボットによれば、第１ドライバモジュールに第１軸と第４軸とに配置されるモータを駆動するドライバＩＣを搭載し、第２ドライバモジュールに第２軸と第３軸とに配置されるモータを駆動するドライバＩＣを搭載し、第３ドライバモジュールに第５軸と第６軸とに配置されるモータを駆動するドライバＩＣを搭載する。すなわち６軸ロボットの場合は、一般に第１軸及び第２軸に配置されるモータの容量が相対的に大きく、第５軸及び第６軸に配置されるモータの容量が相対的に小さく、第３軸及び第４軸に配置されるモータの容量はそれらの中間のレベルとなる。したがって、上記組み合わせにより第１，第２ドライバモジュール間の発熱量を均衡化させて、６軸ロボットに適切に対応することができる。
【００１６】
請求項３記載のロボットによれば、第１及び第２ドライバモジュールに大ドライバＩＣ，小ドライバＩＣをそれぞれ１つ搭載し、第３ドライバモジュールに小ドライバＩＣを２つ搭載する。すなわち、ロボットは、例えばどのような生産工程に導入されるものか等により大きさが様々に異なるため、各軸に配置されるモータの容量も様々に異なる。したがって、同じ６軸のロボットについて異なるモータの容量毎にドライバモジュールを構成するとやはりモジュール数が増えてしまい、あまり使用する機会がない組み合わせのドライバモジュールまで製造しなければならず、生産効率が低下し、在庫管理も問題となる。
【００１７】
そこで、使用が想定される各軸モータの容量系列について閾値以上の容量のモータ群，閾値未満の容量のモータ群をそれぞれ大容量群，小容量群と分類した上で、上記のように２種類のドライバモジュールを用意する。すなわち「ロボットに使用される各軸モータの容量が、根元側の軸から手先側の軸に向かうに従い段階的に異なる」といっても、それらはリニアに変化することはなく、実際に６軸ロボットの様々な構成例を参照すると、大容量群に属するモータの使用頻度は相対的に低く、小容量群に属するモータの使用頻度は相対的に高いと言える。
【００１８】
したがって、上記２種類のドライバモジュールを用意すれば、それらを、第１ないし第３ドライバモジュールにおけるロボットの２軸の組み合わせの何れかに適用することができ、用意するドライバモジュールの数を少なくして生産効率を向上させると共に、在庫管理が容易となる。そして、様々な構成の６軸ロボットを適切なスペックで制御するために、生産すべきドライバモジュールの種類を必要最小限にすることができるので、それらの生産効率を向上させることができる。
【００１９】
請求項４記載のロボットによれば、第１及び第２ドライバモジュールの一方に小ドライバＩＣ，大ドライバＩＣをそれぞれ１つ搭載し、他方に大ドライバＩＣを２つ搭載して、第３ドライバモジュールに小ドライバＩＣを２つ搭載する。すなわち、ロボットの製品によっては、大容量群に属するモータを２軸に使用するものも存在し得る。そして、第１，第２ドライバモジュールについては、個別の設計に応じて何れか一方が大ドライバＩＣを２つ必要とするかが異なる場合がある。したがって、より広い製品のバリエーションに対応できる。
【図面の簡単な説明】
【００２１】
【図１】第１実施例であり、ロボットのシステム構成を概略的に示す機能ブロック図
【図２】ロボット本体に使用されるサーボモータの容量系列の一例を示す図
【図３】６軸ロボットに使用される各サーボモータ容量の具体例を示す図
【図４】接続判定処理のフローチャート
【図５】従来のロボット本体に本実施例のコントローラを適用する状態を説明する図
【図６】第２実施例を示す図２相当図
【図７】図３相当図
【図８】第３実施例を示す図１相当図
【図９】４軸ロボットの場合の図３相当図
【図１０】第４実施例を示す図１相当図
【図１１】第５実施例を示す図８相当図
【発明を実施するための形態】
【００２２】
（第１実施例）
以下、垂直多関節型の６軸ロボットに適用した第１実施例について図１ないし図５を参照して説明する。図１は、ロボットのシステム構成を概略的に示す機能ブロック図である。ロボットシステム１は、６軸のアームを有するロボット本体２と、ロボット本体２を制御するコントローラ３と、ロボット本体２とコントローラ３との間を接続するケーブル４とで構成されている。コントローラ３は、電源モジュール５,メインモジュール６,ベースモジュール７,３つのドライバモジュール８〜１０（第１〜第３ドライバモジュール）,ティーチングペンダント等に内蔵された表示器１１などで構成されている。電源モジュール５は、商用交流電源からロボット本体２及びコントローラ３の動作電源を生成して供給する部分であり、メインモジュール４は、ベースモジュール６を介して電源モジュール５に接続されており、ロボット本体２を制御する制御回路（マイクロコンピュータ等）が搭載されている。
【００２３】
ベースモジュール７は、メインモジュール６より出力される制御指令をドライバモジュール８〜１０を介してロボット本体２に出力し、各軸に配置されているサーボモータを駆動する。ドライバモジュール８〜１０には、たとえばパワーＭＯＳＦＥＴやＩＧＢＴなどのスイッチング素子を３相ブリッジ接続して構成されるインバータ（駆動回路）や、ゲートドライブ回路や保護回路等が内蔵されたドライバＩＣ（ＩＰＭ：Intelligent Power Module，図示せず）をそれぞれ２個搭載している。そして、各ドライバモジュール８〜１０がそれぞれ２軸分のサーボモータを駆動するようになっている。
各ドライバモジュール８〜１０は、コネクタ１２〜１４を介してベースモジュール７側のコネクタ１５〜１７に接続されている。これらの、コネクタ１２〜１４，コネクタ１５〜１７は同一の端子数及び端子の配列形態を有しており、またコネクタの外形もオス／メスの相違を除いて同一である。
【００２４】
ベースモジュール７には、ＦＰＧＡ（Field Programmable Gate Array）１８が搭載されており、メインモジュール６は、ＦＰＧＡ１８を介して各ドライバモジュール８〜１０のドライバＩＣに駆動制御信号（ＰＷＭ信号）を出力し、ロボット本体２の各軸サーボモータを制御する。ここで、ドライバモジュール８には、ロボット本体２の第１軸，第４軸モータを制御するためのドライバＩＣが搭載され、ドライバモジュール９には、同第２軸，第３軸モータを制御するためのドライバＩＣが搭載され、ドライバモジュール１０には、同第５軸，第６軸モータを制御するためのドライバＩＣが搭載されている。
【００２５】
ここで、一般に６軸のアームについては、第１軸〜第３軸はアーム手先のおおよその位置と姿勢を決める軸として「アーム軸」と称され、第４軸〜第６軸は、手先の詳細な位置と姿勢を決める軸として「手首軸」と称される。斯様な分類から見ると、ドライバモジュール８は、アーム軸，手首軸のうちで、ロボット本体２の基部（ベース）に最も近い第１軸，第４軸に対応し、ドライバモジュール９はアーム軸より第１軸を除いたものに対応し、ドライバモジュール１０は手首軸より第４軸を除いたものに対応している。
【００２６】
ＦＰＧＡ１８のＰＷＭ制御部１９は、メインモジュール６からの制御指令を受けて各軸サーボモータを制御するための３相ＰＷＭ信号（Ｕｎ，Ｖｎ，Ｗｎ，ｎ＝１〜６）を生成してドライバモジュール８〜１０に出力する。すなわち、ドライバモジュール８に対してはＰＷＭ信号Ｕ１〜Ｗ１及びＵ４〜Ｗ４を出力し、ドライバモジュール９に対してはＰＷＭ信号Ｕ２〜Ｗ２及びＵ３〜Ｗ３を出力し、ドライバモジュール１０に対してはＰＷＭ信号Ｕ５〜Ｗ５及びＵ６〜Ｗ６を出力する。
【００２７】
ケーブル４が各ドライバモジュール８〜１０側に接続される端部は、３つに分岐しており（分岐部４Ｂ（１）〜４Ｂ（３）と称す）、各分岐部４Ｂ（１）〜４Ｂ（３）が、それぞれコネクタ２０〜２２を介して、ドライバモジュール８〜１０側のコネクタ２３〜２５にそれぞれ接続されている。ドライバモジュール８〜１０において、ベースモジュール７側のコネクタ１２〜１４と、ケーブル４側のコネクタ２３〜２５とは、それぞれ信号が平行に伝送されるように各端子が接続されており、それぞれが２軸分の３相のモータ電流を流す。
【００２８】
また、ロボット本体２側で各軸モータに配置されているエンコーダ（図示せず）より出力されるエンコーダ信号は、別途ケーブル４の分岐部４Ｂ（Ｅ），及びその先端に配置されるコネクタ２６，ベースモジュール７側に配置されるコネクタ２７を介してＦＰＧＡ１８に与えられる。ＦＰＧＡ１８は、内蔵しているエンコーダ通信部２８により上記エンコーダ信号を受信する。
【００２９】
また、各ドライバモジュール８〜１０のコネクタ１２〜１４では、それぞれの複数の端子の内、ドライバモジュール８〜１０毎に異なる２本が識別用端子として設定されており、それら２本の識別用端子はケーブル４側のコネクタ２０〜２２で短絡されている。コネクタ１２では端子（１，２）が、コネクタ１３では端子（２，３）が、コネクタ１４では端子（３，４）が、それぞれ識別用端子として設定されている。
【００３０】
そして、ベースモジュール７側において、コネクタ１５の識別用端子（２）はコネクタ１６の識別用端子（２）に接続され、コネクタ１６の識別用端子（３）はコネクタ１７の識別用端子（３）に接続されており、これらの識別用端子はいわゆるデイジーチェーン状に接続されている。ＦＰＧＡ１８の内部に形成されている誤接続検出部（接続状態判定手段）２３は、上記のようにデイジーチェーン接続されている識別用端子の一端（先端）となるコネクタ１５の識別用端子（１）に識別信号を出力すると、識別用端子の他端（末端）となるコネクタ１７の識別用端子（４）より上記識別信号を受信できるか否かによって、ドライバモジュール８〜１０側のコネクタ１２〜１４と、ベースモジュール７側のコネクタ１５〜１７が正しく対応するように接続されているか否かを判断する。
【００３１】
ここで、ドライバモジュール８〜１０の構成について説明する。図１を参照すると、ロボット本体２の各軸に使用されているサーボモータの容量は、第１軸〜第６軸にかけて、１５００Ｗ，７５０Ｗ，４００Ｗ，２００Ｗ，２００Ｗ，１００Ｗとなっている。一般に、このような多関節型のロボットでは、アームの基部に近いほどサーボモータの負荷が高くなるため、相対的に容量の大きいものが使用される。これらの内、１つのドライバモジュールについて、駆動対象とするサーボモータを２軸ずつグルーピングすることを考えた場合、単純に根元側から（１軸，２軸），（３軸，４軸），（５軸，６軸）とグルーピングすると、根元側のドライバモジュールに搭載されたドライバＩＣの発熱量が大きくなってしまい、特段の冷却対策（熱対策）が必要となる。
【００３２】
そこで、本実施例では、各ドライバモジュールが駆動対象とするサーボモータのグルーピングを、Ａ（１軸，４軸），Ｂ（２軸，３軸），Ｃ（５軸，６軸）とすることを考える。これに、各サーボモータの容量の実数値を割り当てると、以下のようになる。
Ａ（１軸，４軸）＝（１５００Ｗ，２００Ｗ）
Ｂ（２軸，３軸）＝（  ７５０Ｗ，４００Ｗ）
Ｃ（５軸，６軸）＝（  ２００Ｗ，１００Ｗ）
すると、モジュールＡについては、（１５００Ｗ，７５０Ｗ）のペアよりもトータルでの発熱量を低下させることができる。モジュールＢについては（４００Ｗ，２００Ｗ）のペアよりも発熱量は増加するが、モジュールＡの発熱量を低下させる効果が大きい。
【００３３】
また、３つのドライバモジュールを、上記のように各サーボモータの容量の実数値を割り当てて構成すると、各ロボットの規模に応じて各軸サーボモータの容量が異なるので、必要となるモジュールの数が増えてしまう。そこで、本実施例では、ドライバモジュール８〜１０に、図２に示すように設定された２種類のドライバモジュールの何れかを使用することにする。
【００３４】
例えば、図１に示すものに限らず、実際のロボットに使用されているサーボモータの容量を大小の系列で並べた場合に、最小３０Ｗから最大１５００Ｗまで、図２に示す系列になっているとする。この系列について、所定の閾値を例えば５００Ｗに設定し、容量が５００Ｗ未満となるモータの群を小容量群に分類し、容量が５００Ｗ以上となるモータの群を大容量群に分類する。この場合、容量３０Ｗ，５０Ｗ，８０Ｗ，１００Ｗ，２００Ｗ，４００Ｗのモータが小容量群に属し、容量７５０Ｗ，１５００Ｗのモータが大容量群に属することになる。
【００３５】
そして、ドライバモジュールに搭載する２個のドライバＩＣのうち、１つは大容量群に属するモータの内で容量が最大となる１５００Ｗのモータを駆動可能なもの、他の１つは小容量群に属するモータの内で容量が最大となる４００Ｗのモータを駆動可能なものを選択したドライバモジュールを構成する。これを「大小ドライバモジュール」と称する。また、もう１種類のドライバモジュールは、上記４００Ｗのモータを駆動可能なドライバＩＣを２つ搭載して構成し、これを「小小ドライバモジュール」と称する。
これら「大小」，「小小」２種類のドライバモジュールを、ドライバモジュール８〜１０に適用すると、
ドライバモジュール  ８  →  大小ドライバモジュール：（１５００Ｗ，４００Ｗ）
ドライバモジュール  ９  →  大小ドライバモジュール：（１５００Ｗ，４００Ｗ）
ドライバモジュール１０  →  小小ドライバモジュール：（  ４００Ｗ，４００Ｗ）
となる。
【００３６】
すなわち、ロボットは、例えばどのような生産工程に導入されるものか等により大きさが様々に異なるため、各軸に配置されるサーボモータの容量も様々に異なる。したがって、同じ６軸のロボットについて異なるモータの容量毎にドライバモジュールを構成するとモジュール数が増えてしまい、あまり使用する機会がない組み合わせのドライバモジュールまで製造しなければならず、生産効率が低下し、在庫管理も問題となる。そこで、使用が想定される各軸モータの容量系列を上記のように大容量群，小容量群に分類して「大小」，「小小」２種類のドライバモジュールを用意する。すなわち、実際の６軸ロボットの様々な構成例を参照すると、大容量群に属するモータの使用頻度は相対的に低く、小容量群に属するモータの使用頻度は相対的に高いと言える。
【００３７】
したがって、上記のように「大小」，「小小」２種類のドライバモジュールを用意すれば、それらを、３つのドライバモジュールにおけるロボットの２軸の組み合わせの何れかに適用できる。この場合、実際のモータ容量に対して大きく余裕をとるドライバＩＣも出てくるが、様々な種類のロボットに対して用意すべきドライバモジュールの数が「２」になることで、生産効率が向上すると共に在庫管理が簡単になる効果が大きい。
【００３８】
図３は、他のロボットについて「大小」，「小小」２種類のドライバモジュールを適用する場合を示す。図１に示すロボット本体２を（大）とすると、図３（ａ）は（中）の例であり、サーボモータの容量は、第１軸〜第６軸にかけて、７５０Ｗ，４００Ｗ，２００Ｗ，１００Ｗ，８０Ｗ，５０Ｗとなっている。これについて、Ａ（１軸，４軸），Ｂ（２軸，３軸），Ｃ（５軸，６軸）のペアに各サーボモータの容量の実数値を割り当てると、以下のようになる。
Ａ（１軸，４軸）＝（７５０Ｗ，１００Ｗ）
Ｂ（２軸，３軸）＝（４００Ｗ，２００Ｗ）
Ｃ（５軸，６軸）＝（  ８０Ｗ，  ５０Ｗ）
これらに「大小」，「小小」２種類のドライバモジュールを適用すると、
Ａ（１軸，４軸）  →  大小ドライバモジュール
Ｂ（２軸，３軸）  →  小小ドライバモジュール
Ｃ（５軸，６軸）  →  小小ドライバモジュール
となる。
【００３９】
また、図３（ｂ）は（小）の例であり、サーボモータの容量は、第１軸〜第６軸にかけて、８０Ｗ，８０Ｗ，５０Ｗ，３０Ｗ，３０Ｗ，３０Ｗとなっている。これについて、Ａ（１軸，４軸），Ｂ（２軸，３軸），Ｃ（５軸，６軸）のペアに各サーボモータの容量の実数値を割り当てると、以下のようになる。
Ａ（１軸，４軸）＝（８０Ｗ，３０Ｗ）
Ｂ（２軸，３軸）＝（８０Ｗ，５０Ｗ）
Ｃ（５軸，６軸）＝（３０Ｗ，３０Ｗ）
したがって、これらに「大小」，「小小」２種類のドライバモジュールを適用すると、何れも小小ドライバモジュールを割り当てることになる。
【００４０】
以上のように、ドライバモジュール８〜１０を「大小」，「小小」２種類のドライバモジュールを適用して構成し、ケーブル４側のコネクタ２０〜２２が、ドライバモジュール８〜１０側のコネクタ２３〜２５の何れにも接続可能に構成されていると、それらの接続に誤りが生じることが想定される。
そこで、本実施例では、メインモジュール６がＦＰＧＡ１８の誤接続検出部２９を介してケーブル４とドライバモジュール８〜１０との接続状態を判定する。次に、その処理内容について図４を参照して説明する。誤接続検出部２９は、コネクタ１２及び１５の端子（１）に接続されている自身の確認用出力ピンよりハイ（Ｈ）レベル信号（識別信号，接続確認信号）を出力する（ステップＳ１）。そして、コネクタ１４及び１７の端子（４）に接続されている自身の確認用入力ピンのレベルがロー（Ｌ）か否かを判断する（ステップＳ２）。
【００４１】
すなわち、図１に示すように、ケーブル４側のコネクタ２０〜２２が、各ドライバモジュール８〜１０側のコネクタ２３〜２５に正しく接続されていれば、誤接続検出部２９が出力した識別信号は、
確認用出力ピン→      コネクタ１２：端子（１，２）→
コネクタ１３：端子（２，３）→コネクタ１４：端子（３，４）→確認用入力ピン
と伝達されるので、ステップＳ２では確認用入力ピンにおいてハイレベル信号の入力が確認される（ＮＯ）。この場合、コネクタ２０〜２２とコネクタ２３〜２５との接続は正常であり、問題は無いので通常処理に移行する。
【００４２】
一方、例えばドライバモジュール８，９に対して、コネクタ２０，２１を入れ違いに接続すると、誤接続検出部２９が出力した識別信号は、コネクタ１３の端子（１）から先へは伝達されないので、ステップＳ２では確認用入力ピンがローレベル（例えば、プルダウンされている）のままとなる（ＹＥＳ）。この場合は、「誤接続エラー検出」となり（ステップＳ３）その情報はメインモジュール６側に伝達され、電源モジュール５からモータへの電力供給の禁止及びＰＷＭ制御部１９によるサーボモータの駆動制御が禁止され（「サーボＯＮ禁止処理」，ステップＳ４）、表示器１１にエラーメッセージが表示される（ステップＳ５）。
なお、コントローラ３は、メーカ側において各ドライバモジュール８〜１０がベースモジュール７に接続された状態で出荷されるため、コネクタ１２〜１４とコネクタ１５〜１７との誤接続については、ユーザは考慮する必要が無い。コントローラ３内では、コントローラ３が認識しているロボットに対応したドライバモジュールが接続されているかの確認処理を行っている。
【００４３】
以上のように本実施例によれば、コントローラ３に、ロボット本体２の各軸に配置されているサーボモータを駆動する第１〜第３ドライバモジュール８〜１０を備え、ドライバモジュール８には、第１軸，第４軸のサーボモータを駆動するドライバＩＣを搭載し、ドライバモジュール９には、第２軸，第３軸のサーボモータを駆動するドライバＩＣを搭載し、ドライバモジュール１０には、第５軸，第６軸のサーボモータを駆動するドライバＩＣを搭載した。これにより、ドライバモジュール８，９間について発熱量の不均衡をより平準化することができ、各ドライバモジュール８〜１０について行う冷却対策を簡単にすることができる。
【００４４】
また、ケーブル４がコントローラ３に接続される側は、ドライバモジュール８〜１０に応じた分岐部４Ｂ（１）〜４Ｂ（３）の先にそれぞれコネクタ２０〜２２を備え、それぞれ異なる２端子を短絡して識別用端子として定め、コントローラ３側のコネクタ２３〜２５を、ケーブル４側の３つのコネクタ２０〜２２の何れもが接続可能な共通の形状とする。そして、誤接続検出部２９は、各ドライバモジュール８〜１０に対応するコネクタ１５〜１７の識別用端子の一方にハイレベルの識別信号を出力し、識別用端子の他方に前記識別信号が入力されるか否かで、ケーブル４のコネクタ２０〜２２が対応するドライバモジュール８〜１０に繋がるコネクタ２３〜２５に接続されているか否かを判断する。
【００４５】
したがって、ケーブル４側のコネクタ２０〜２２を誤接続する可能性があるとしても、コントローラ３側が誤接続を検出した場合にユーザに報知する処理を行うことで、それらの接続を改めさせることができる。そして、識別信号を出力する機能を備えていない既存のロボットについても、図５に示したように、ロボット本体Ｒとコントローラ３とを接続するために、ケーブルＣｂをケーブル４に交換する、という最小限の改修を行えば、誤接続を防止する効果が得られる。
【００４６】
また、ドライバモジュール８，９に大ドライバＩＣ，小ドライバＩＣをそれぞれ１つ搭載し、ドライバモジュール１０に小ドライバＩＣ２つ搭載した。したがって、様々な構成の６軸ロボットを適切なスペックで制御するために、生産すべきドライバモジュールの種類を必要最小限にすることができるので、それらの生産効率を向上させることができる。
そして、コントローラ３側のコネクタ１５〜１７において、隣り合うコネクタの識別用端子間をデイジーチェーン状に接続し、誤接続検出部２９は、デイジーチェーン状に接続されている識別用端子の一端側（コネクタ１５の端子（１））に識別信号を出力して、他端側（コネクタ１７の端子（４））より識別信号を受信することで接続判定を行うので、誤接続検出部２９とコネクタ１５〜１７との間の配線数を減らすことができ、且つ接続判定をより簡単に行うことができる。
【００４７】
（第２実施例）
図６及び図７は本発明の第２実施例を示すものであり、第１実施例と同一部分には同一符号を付して説明を省略し、以下異なる部分について説明する。第２実施例は、第１実施例で示したロボット本体２（大）よりも、更に容量が大きいモータを使用して構成されるロボット本体（特大）について、サーボモータの容量系列と、使用するドライバモジュールの組分けの例を示す。
【００４８】
第２実施例のロボット本体（特大，これ自体は図示せず）は、図２に示した容量系列に２０００Ｗのモータを加えたもので構成される（図６参照）。この系列について、同様に閾値５００Ｗで小容量群，大容量群に分類すれば、容量２０００Ｗ，７５０Ｗ，１５００Ｗのモータが大容量群に属することになる。この場合、「小小」ドライバモジュールについては、第１実施例と同様に４００Ｗのモータを駆動可能なドライバＩＣを２つ搭載したものとするが、容量「大」を２０００Ｗとして、「大小」ドライバモジュールの１つは、２０００Ｗのモータを駆動可能なものを搭載して構成する。更に、２０００Ｗのモータを駆動可能なドライバＩＣを２つ搭載したものを、「大大」ドライバモジュールとして加える。
【００４９】
そして、ロボット本体（特大）の各軸に使用されるサーボモータの容量は、図７に示すように、第１軸〜第６軸にかけて、２０００Ｗ，２０００Ｗ，７５０Ｗ，４００Ｗ，２００Ｗ，２００Ｗになっているとする。これらについて、各ドライバモジュールが駆動対象とするサーボモータのグルーピングを、同様にＡ（１軸，４軸），Ｂ（２軸，３軸），Ｃ（５軸，６軸）として各サーボモータの容量の実数値を割り当てれば以下のようになる。
Ａ（１軸，４軸）＝（２０００Ｗ，４００Ｗ）
Ｂ（２軸，３軸）＝（２０００Ｗ，７５０Ｗ）
Ｃ（５軸，６軸）＝（  ２００Ｗ，２００Ｗ）
したがって、これらに対応する第１〜第３ドライバモジュールを、「大大」，「大小」，「小小」の３種類のドライバモジュールで構成するのであれば、
Ａ（１軸，４軸）＝（２０００Ｗ，  ４００Ｗ）：「大小」
Ｂ（２軸，３軸）＝（２０００Ｗ，２０００Ｗ）：「大大」
Ｃ（５軸，６軸）＝（  ４００Ｗ，  ４００Ｗ）：「小小」
となる。
【００５０】
また、第２実施例の３種類のドライバモジュールで第２実施例のドライバモジュール８〜１０を構成することを想定すれば、「大小」ドライバモジュールを上記（２０００Ｗ，４００Ｗ）の組に置き換えることになる。
以上のように第２実施例によれば、第１ドライバモジュールに大ドライバＩＣ，小ドライバＩＣをそれぞれ１つ搭載し、第２ドライバモジュールに大ドライバＩＣを２つ搭載して、第３ドライバモジュールに小ドライバＩＣを２つ搭載するので、より広い製品のバリエーションに対応できる。
【００５１】
（第３実施例）
図８及び図９は第３実施例であり、第１実施例と異なる部分のみ説明する。第３実施例は、第１実施例の「大小」，「小小」２種類のドライバモジュールを、水平多関節型の４軸ロボットに適用した場合を示す。第３実施例のロボット３１は、４軸のアームを有するロボット本体３２と、コントローラ３３と、ロボット本体３２とコントローラ３３との間を接続するケーブル３４とで構成されている。コントローラ３３は、第１実施例におけるコントローラ３を４軸ロボット対応にしたものであり、電源モジュール３５,メインモジュール３６,ベースモジュール３７,第１実施例と同じ２つのドライバモジュール８及び９，表示器３８など構成されている。
【００５２】
各ドライバモジュール８，９は、それぞれコネクタ１２，１３を介してベースモジュール３７側のコネクタ３９，４０に接続されている。尚、図８に示すベースモジュール３７については、第１実施例の誤接続検出部２９に対応する誤接続検出部（接続状態判定手段）４１のみを図示している。そして、ドライバモジュール８は、ロボット本体３２の第１軸，第４軸に配置されているサーボモータを駆動し、ドライバモジュール９は、同第２軸，第３軸に配置されているサーボモータを駆動する。ここで、ロボット本体３２の第１軸〜第４軸に配置されている各サーボモータの容量は、１０００Ｗ，６００Ｗ，３００Ｗ，３００Ｗになっているとする。
【００５３】
ケーブル３４が各ドライバモジュール８，９側に接続される端部は２つに分岐しており（分岐部３４Ｂ（１），３４Ｂ（２））、各分岐部３４Ｂ（１），３４Ｂ（２）が、それぞれコネクタ４２，４３を介して、ドライバモジュール８，９側のコネクタ２３，２４にそれぞれ接続されている。そして、各ドライバモジュール８，９の識別用端子は、ケーブル３４側のコネクタ４２，４３で短絡されている。
【００５４】
ベースモジュール３７側において、コネクタ３９，４０の識別用端子は、第１実施例と同様にデイジーチェーン接続されている。そして、誤接続検出部４１は、コネクタ３９の端子（１）に接続されている自身の確認用出力ピンよりハイ（Ｈ）レベル信号（識別信号）を出力すると、コネクタ４０の端子（３）に接続されている自身の確認用入力ピンのレベルがロー（Ｌ）か否かを判断することで、第１実施例の図４に示す処理と同様の判定を行う。
【００５５】
次に、第３実施例の作用について図９も参照して説明する。図８から、ドライバモジュール８，９が駆動対象とするサーボモータの容量実数値は以下のようになる。
（１軸，４軸）＝（１０００Ｗ，３００Ｗ）
（２軸，３軸）＝（  ６００Ｗ，３００Ｗ）
したがって、これらを「大小」，「小小」の２種類のドライバモジュールで構成するのであれば、
（１軸，４軸）＝（１５００Ｗ，４００Ｗ）：「大小」
（２軸，３軸）＝（１５００Ｗ，４００Ｗ）：「大小」
となる。
【００５６】
また、図９には、４軸ロボット（中）の場合の各軸対応サーボモータの容量を示すが、第１軸より７５０Ｗ，４００Ｗ，２００Ｗ，１５０Ｗとなっている。この場合に２つのドライバモジュールが駆動対象とするサーボモータの容量実数値は以下のようになる。
（１軸，４軸）＝（７５０Ｗ，１５０Ｗ）
（２軸，３軸）＝（４００Ｗ，２００Ｗ）
したがって、これらを「大小」，「小小」の２種類のドライバモジュールで構成するのであれば、同様に
（１軸，４軸）＝（１５００Ｗ，４００Ｗ）：「大小」
（２軸，３軸）＝（  ４００Ｗ，４００Ｗ）：「小小」
となる。
【００５７】
以上のように第３実施例によれば、６軸アームを有するロボットに対応して構成した「大小」，「小小」２種類のドライバモジュールを、４軸アームを有するロボットについても適用するので、４軸ロボットに対応したドライバモジュールを別途構成する必要が無く、生産効率を一層向上させることができる。
【００５８】
（第４実施例）
図１０は第４実施例であり、第１実施例と異なる部分について説明する。第４実施例のロボット５０のコントローラ５１はベースモジュール７を用いておらず、電源モジュール５２，メインモジュール５３，ドライバモジュール５４〜５６（第１〜第３ドライバモジュール）で構成されている。ドライバモジュール５４〜５６は、第１実施例のドライバモジュール８〜１０と同様に、それぞれ「大小」，「大小」，「小小」ドライバモジュールで構成されている。
【００５９】
メインモジュール５３とドライバモジュール５４との間はコネクタ５７，５８を介して接続され、ドライバモジュール５４，５５の間はコネクタ５９，６０を介して接続され、ドライバモジュール５５，５６の間はコネクタ６１，６２を介して接続されている。また、ドライバモジュール５６は、コネクタ６３を介して電源モジュール５２に直接接続されている。これらのコネクタ５７〜６３は、端子数が例えば何れも「１２」であり、コネクタ５８の端子（１）〜（４）はコネクタ２３の端子（１）〜（４）に接続され、コネクタ５８の端子（５）〜（１２）はコネクタ５９の端子（１）〜（８）に接続されている。
【００６０】
また、コネクタ６０の端子（１）〜（４）はコネクタ２４の端子（１）〜（４）に接続され、コネクタ６０の端子（５）〜（１２）はコネクタ６１の端子（１）〜（８）に接続されている。コネクタ６２の端子（１）〜（４）はコネクタ２５の端子（１）〜（４）に接続され、コネクタ６２の端子（５）〜（１２）はコネクタ６３の端子（１）〜（８）に接続されている。
【００６１】
第１実施例においてベースモジュール７に搭載されていた誤接続検出部２９は、誤接続検出部６４（接続状態確認手段）としてメインモジュール５３に搭載されており、ドライバモジュール５４〜５６のコネクタ２３〜２５に対して、識別信号を個別に出力するようになっている。すなわち、誤接続検出部６４は、コネクタ２０，２３間の接続を確認する場合はコネクタ５７の端子（１）にハイレベルの識別信号を出力し、その識別信号がコネクタ５７の端子（２）を介して検出されるか否かを判断する。
【００６２】
同様に、誤接続検出部６４は、コネクタ２１，２４間の接続を確認する場合はコネクタ５７の端子（６）にハイレベルの識別信号を出力し、その識別信号がコネクタ５７の端子（７）を介して検出されるか否かを判断し、コネクタ２２，２５間の接続を確認する場合はコネクタ５７の端子（１１）にハイレベルの識別信号を出力し、その識別信号がコネクタ５７の端子（１２）を介して検出されるか否かを判断する。これらの処理を、図４に示すフローのステップＳ１，Ｓ２において行う。
【００６３】
また、電源モジュール５２から、メインモジュール５３，ドライバモジュール５４〜５６に対する電源の供給は、コネクタ６３より、コネクタ６２〜５９を介してそれぞれ行うようになっている。
以上のように構成される第４実施例によれば、ベースモジュール７を用いることなくコントローラ５１を構成した場合も、第１実施例と同様の効果が得られる。また、誤接続検出部６４は、コネクタ２３〜２５に対して識別信号を個別に出力するので、何れのコネクタに誤接続が生じているかを特定することができる。
【００６４】
（第５実施例）
図１１は第５実施例であり、４軸ロボット７０のコントローラ７１を、第４実施例と同様に、ベースモジュール３７を用いることなく構成した場合を示す。すなわち、コントローラ７１は、電源モジュール７２，メインモジュール７３，ドライバモジュール７４，７５（第１，第２ドライバモジュール）で構成されている。ドライバモジュール７４，７５は、第３実施例のドライバモジュール８，９と同様に、それぞれ「大小」，「大小」ドライバモジュールで構成されている。
【００６５】
メインモジュール７３とドライバモジュール７４との間はコネクタ７６，７７を介して接続され、ドライバモジュール７４，７５の間はコネクタ７８，７９を介して接続され、ドライバモジュール７５は、コネクタ８０を介して電源モジュール７２に直接接続されている。これらのコネクタ７６〜８０の接続関係は、第４実施例のコネクタ５７〜６１と同様であり、コネクタ８０がコネクタ６１に対応している。
【００６６】
第３実施例においてベースモジュール３７に搭載されていた誤接続検出部４１は、誤接続検出部８１（接続状態判定手段）としてメインモジュール７３に搭載されており、ドライバモジュール７４，７５のコネクタ２３，２４に対して、識別信号を個別に出力するようになっている。すなわち、誤接続検出部８１は、コネクタ４２，２３間の接続を確認する場合はコネクタ７６の端子（１）にハイレベルの識別信号を出力し、その識別信号がコネクタ７６の端子（２）を介して検出されるか否かを判断する。同様に、誤接続検出部８１は、コネクタ４３，２４間の接続を確認する場合はコネクタ７６の端子（６）にハイレベルの識別信号を出力し、その識別信号がコネクタ７６の端子（７）を介して検出されるか否かを判断する。
以上のように構成される第５実施例によれば、ベースモジュール３７を用いることなく４軸ロボット７０のコントローラ７１を構成した場合も、第３，第４実施例と同様の効果が得られる。
【００６７】
本発明は上記し又は図面に記載した実施例にのみ限定されるものではなく、以下のような変形又は拡張が可能である。
各サーボモータの容量の具体数値は一例であり、大容量群，小容量群を分類するための閾値は適宜変更して良い。
また、アーム軸，手首軸をどの軸で分けるかについても、適宜変更して良い。
第２実施例において、各軸モータの容量値によっては、第１ドライバモジュールに大大ドライバモジュールを適用し、第２ドライバモジュールに大小ドライバモジュールを適用しても良い。
【符号の説明】
【００６８】
図面中、１はロボット、２はロボット本体、３はコントローラ、４はケーブル、５は電源モジュール、６はメインモジュール、７はベースモジュール、８〜１０はドライバモジュール（第１〜第３ドライバモジュール）、１２〜１７，２０〜２７はコネクタ、２９は誤接続検出部（接続状態判定手段）、３１はロボット、３２はロボット本体、３３はコントローラ、３４はケーブル、３５は電源モジュール、３６はメインモジュール、３７はベースモジュール、３９，４０，４２，４３はコネクタ、４１は誤接続検出部（接続状態判定手段）、５０はロボット、５１はコントローラ、５２は電源モジュール、５３はメインモジュール、５４〜５６はドライバモジュール（第１〜第３ドライバモジュール）、５７〜６３はコネクタ、６４は誤接続検出部（接続状態判定手段）、７０はロボット、７１はコントローラ、７２は電源モジュール、７３はメインモジュール、７４，７５はドライバモジュール（第１，第２ドライバモジュール）、７６〜８０はコネクタ、８１は誤接続検出部（接続状態判定手段）を示す。
【図１】
0005544919.tif 000002
【図２】
0005544919.tif 000003
【図３】
0005544919.tif 000004
【図４】
0005544919.tif 000005
【図５】
0005544919.tif 000006
【図６】
0005544919.tif 000007
【図７】
0005544919.tif 000008
【図８】
0005544919.tif 000009
【図９】
0005544919.tif 000010
【図１０】
0005544919.tif 000011
【図１１】
0005544919.tif 000012