(57)【特許請求の範囲】
【請求項１】
複数のロボットを、これらロボットの駆動軸の総数以上の数のドライバーを有するコントローラにより制御する装置であって、
上記各ドライバーと上記複数のロボットの各駆動軸との対応関係を変更可能に設定する設定手段と、
上記対応関係の設定に基づいて各ドライバーに対応する駆動軸の属性を示すデータを書き換え可能に記憶する各軸属性記憶部と、
上記各ドライバーと上記各駆動軸との対応関係に応じてドライバーの処理条件を決定する処理条件決定手段と、
駆動すべきロボットおよび駆動軸を特定する駆動対象指定と移動位置を特定する移動位置指定とを含む移動命令を示すデータを入力する移動命令入力手段と、上記移動命令入力手段により入力されたデータと上記各属性記憶手段から読み出したデータとの照合に基づき、上記移動命令を判別して駆動対象に対応するドライバーを選定する移動命令判別手段と、
上記移動命令判別手段により選定されたドライバーにつき、上記処理条件決定手段により決定される処理条件と上記移動命令で指定される移動位置とに基づいて処理内容を求め、この処理内容に従ってドライバーを制御する制御手段と
を備えたことを特徴とする複数ロボットの制御装置。
【請求項２】
上記複数のロボットのうちの少なくとも１つのロボットの駆動軸には、当該ロボットに付属する付加軸が含まれており、上記各軸属性記憶部に記憶されるデータおよび上記移動命令入力手段によって入力されるデータには付加軸を示すデータも含まれていることを特徴とする請求項１記載の複数ロボットの制御装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、１つのコントローラで複数のロボットを制御する装置に関するものである。
【０００２】
【従来の技術】
従来から、電気的に駆動されるサーボモータにより、回転関節軸や並進軸等のロボット軸を移動させ、治具等を所定位置に移動させるようにした産業用ロボットは知られている。この種のロボットとしては、例えば回転関節軸を介して複数のアームが連結されたスカラーロボットや、複数のロボット軸が直交する直交型ロボット、単軸ロボット等がある。そして、一般に上記スカラーロボット等は最大６軸のロボット軸を有しており、４軸ロボット、２軸ロボット等も広く用いられている。
【０００３】
また、この種のロボットにおいて各ロボット軸の駆動を制御するコントローラは、ロボット軸と同数もしくはそれ以上の数のドライバーを有し、各ロボット軸のモータをドライバーで駆動するようになっている。さらにコントローラは、移動位置の指定等を含む移動命令を入力する入力部、上記移動命令に応じてドライバーを制御する制御部等を備えている。
【０００４】
【発明が解決しようとする課題】
従来のこの種のロボット制御装置においては、１つのロボットに対して１つのコントローラが設けられているが、コントローラのドライバーが１つのロボットに対して余分にある場合に、このコントローラで別のロボットも制御し、つまり１つのコントローラで複数のロボットを制御すれば、制御系統の合理化等の面で好ましい。しかし、このようにしようとする場合に、各ロボットの制御、入力処理等の点で次のような課題が残されていた。
【０００５】
コントローラで１つのロボットを制御する場合であれば、例えば移動命令でＰＴＰ（ポイントツーポイント）による移動位置が指定されると、その移動位置（例えばＰ１）に応じてコントローラ内でＰ１＝（Ｐ１ａ，Ｐ１ｂ，Ｐ１ｃ，Ｐ１ｄ，Ｐ１ｅ，Ｐ１ｆ）というように６軸分の移動量が求められ、それに応じた各ドライバーの制御が一括的に行われる。ところが、制御対象を変更して例えば４軸のメインロボットと付加軸やサブロボットをこのようなコントローラで制御しようとすると、メインロボットの制御動作に付随して不必要に付加軸やサブロボットが動いてしまうことがある。このような事態を避けるには、移動命令入力の際に、メインロボットの各軸毎に個別に移動を指定すればよいが、これでは入力処理が面倒になるとともに、誤入力を生じ易くなる。
【０００６】
また、コントローラの各ドライバーと複数のロボットの各ロボット軸との対応関係を固定的に設定しておくだけでは汎用性に乏しく、制御する複数のロボットの軸数、組合せ等が種々変わった場合にも汎用することができるようにすることが望ましいが、ドライバーと各ロボット軸との対応関係の調整、処理内容の調整等が難しい。
【０００７】
本発明は、上記の事情に鑑み、１つのコントローラで複数のロボット軸の制御を適切に行うことができ、かつ、ロボットの軸数、組合せ等が種々変わった場合の汎用性に富む複数ロボットの制御装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記目的を達成するために、本発明は、複数のロボットを、これらロボットの駆動軸の総数以上の数のドライバーを有するコントローラにより制御する装置であって、上記各ドライバーと上記複数のロボットの各駆動軸との対応関係を変更可能に設定する設定手段と、上記対応関係の設定に基づいて各ドライバーに対応する駆動軸の属性を示すデータを書き換え可能に記憶する各軸属性記憶部と、
上記各ドライバーと上記各駆動軸との対応関係に応じてドライバーの処理条件を決定する処理条件決定手段と、駆動すべきロボットおよび駆動軸を特定する駆動対象指定と移動位置を特定する移動位置指定とを含む移動命令を示すデータを入力する移動命令入力手段と、上記移動命令入力手段により入力されたデータと上記各属性記憶手段から読み出したデータとの照合に基づき、上記移動命令を判別して駆動対象に対応するドライバーを選定する移動命令判別手段と、上記移動命令判別手段により選定されたドライバーにつき、上記処理条件決定手段により決定される処理条件と上記移動命令で指定される移動位置とに基づいて処理内容を求め、この処理内容に従ってドライバーを制御する制御手段とを備えたものである。
【０００９】
なお、本発明において、上記複数のロボットのうちの少なくとも１つのロボットの駆動軸に、当該ロボットに付属する付加軸が含まれている場合、上記各軸属性記憶部に記憶されるデータおよび上記移動命令入力手段によって入力されるデータにはには付加軸を示すデータも含まれていることが好ましい。
【００１０】
【作用】
上記構成によると、準備段階で上記各ドライバーと上記各駆動軸との対応関係が設定され、コントローラに接続される複数のロボットの軸数、組合せ等に変更があった場合は、この設定において対応関係が調整される。そして、上記移動命令が入力されると、駆動対象として指定されたロボットの駆動軸に対応するドライバーとその処理内容が上記対応関係から求められ、移動命令に適合した制御が行われる。
【００１１】
【実施例】
本発明の実施例を図面に基づいて説明する。
【００１２】
図１は本発明の一実施例によるロボットおよびコントローラの概略を示している。この図に示す例では、メインロボット１、サブロボット２の２つのロボットがコントローラ３で制御され、かつ、上記メインロボット１は４つの駆動軸を有する４軸スカラロボット１ａに１つの駆動軸からなる付加軸１ｂが付属した構成となっており、また、サブロボット２は直交する２つの駆動軸を有する直交型２軸ロボットで構成されている。
【００１３】
すなわち、メインロボット１におけるスカラロボット１ａは、本体１０に対して第１軸Ａを中心に回転可能に連結された第１アーム１１と、この第１アームに対して第２軸Ｂを中心に回転可能に連結された第２アーム１２と、この第２アーム１２に対して上下動および回転可能に連結されたロッド１３とを備え、ロッド１３の下端にワーク保持用のチャック１４が設けられている。上記第１アーム１１および第２アーム１２はそれぞれ第１軸モータ１５および第２軸モータ１６で駆動され、まだ上記ロッド１３は、第３軸モータ１７で上下方向Ｃに駆動されるとともに、第４軸モータ１８で回転方向Ｄに駆動されるようになっている。また、上記付加軸１ｂは、上記スカラロボット１ａとは別個に、ワークの搬送等のため、付加軸モータ１９により駆動されて可動部が一定方向に移動するようになっている。
【００１４】
一方、サブロボット２は、一定の方向（Ｘ方向）に延びる第１軸部材２１と、これと直交する方向（Ｙ方向）に延び、かつＸ方向に移動可能な状態に第１軸部材２１に連結された第２軸部材２２と、Ｙ方向に移動可能な状態に第２軸部材２２に取り付けられたスライダー２３とを備えている。そして、第１軸モータ２４により、ボールスクリュー等を介して第１軸部材２１に対する第２軸部材２２の移動が行われるとともに、第２軸モータ２５により、ボールスクリュー等を介して第２軸部材２２に対するスライダー２３の移動が行われるようになっている。
【００１５】
上記ロボット１，２の各モータ１５〜１９，２４，２５が、ケーブルを介してコントローラ３に接続されている。
【００１６】
図２は上記コントローラ３の構成を示している。この図において、コントローラ３は、ロボット軸（ロボットの駆動軸）の総数以上の数のドライバーを有し、図示の例では第１乃至第８のドライバー３１〜３８を有している。そして、第１乃至第４のドライバー３１〜３４がメインロボット１の第１軸乃至第４軸の各モーター１５〜１８をそれぞれ駆動し、第５ドライバー３５がメインロボット１の付加軸モーター１９を駆動し、第７，第８のドライバー３７，３８がサブロボット２の第１軸，第２軸のモーター２４，２５をそれぞれ駆動するように、これらのドライバーとモーターとが接続されており、第６のドライバー３６は不使用とされている。
【００１７】
また、上記コントローラ３には、ドライバーとロボット軸との対応関係の設定手段である分配設定手段４１と、上記対応関係に応じた処理条件を決定する処理条件決定手段４２と、移動命令入力手段４３と、移動命令判別手段４４と、制御手段４５とを含んでいる。さらにコントローラ３は、上記分配設定手段４１による設定および移動命令判別手段４４による判別に関係する情報として各ドライバーに対応するロボット軸の属性を記憶する各軸属性記憶部４６と、処理条件決定手段４２の処理に関係する情報として各種の場合のドライバーの処理条件を記憶する処理条件記憶部４７と、処理条件記憶部４７から処理条件を選び出すために用いる移動処理飛先テーブル（ＥＸテーブル）を記憶するＥＸテーブル記憶部４８とを有している。
【００１８】
上記各軸属性記憶部４６には、各ドライバーに対応するロボット軸の属性が図３に示すような軸定義フラッグＡＤＦとして記憶されており、これによって前記分配設定手段４１の機能が果たされるようになっている。
【００１９】
この軸定義フラッグＡＤＦは各ドライバー毎に作成され、つまり第１乃至第８のドライバーに対応して８種類の軸定義フラッグ（Ｄ１−ＡＤＦ，Ｄ２−ＡＤＦ，……Ｄ８−ＡＤＦ）があり、これらはそれぞれ１６ビットからなっている。この１６ビットのうちの下位８ビットは各ドライバー自身を区別するために用いられ、自身を表す位置のビットが「１」とされる。また上位４ビットは、駆動対象となるロボット軸の所属を示すもので、例えば、メインロボット１に属するロボット軸を駆動対象とするドライバーの軸定義フラッグ（Ｄ１−ＡＤＦ〜Ｄ５−ＡＤＦ）では２番目のビットが「１」とされ、このうちで付加軸１ｂを駆動対象とするドライバーの軸定義フラッグ（Ｄ５−ＡＤＦ）では４番目のビットも「１」とされ、サブロボット２に属するロボット軸を駆動対象とするドライバーの軸定義フラッグ（Ｄ７−ＡＤＦ，Ｄ８−ＡＤＦ）では３番目のビットが「１」とされ、駆動対象がないドライバーの軸定義フラッグ（Ｄ６−ＡＤＦ）では１番目のビットが「１」とされる。このほかに、ドライバーとロボット軸との対応関係に応じた処理を行うために必要な分配記号が、上記軸定義フラッグＡＤＦの中の２ビットで表されている。
【００２０】
このような軸定義フラッグＡＤＦは、準備段階で予め設定され、ドライバーとロボット軸との対応関係が変更された場合は、それに応じて書き換えられる。
【００２１】
また、前記移動命令入力手段４３は、使用者による入力操作に応じ、駆動すべきロボットおよび駆動軸を特定する駆動対象指定と移動位置を特定する移動位置指定とを含む移動命令を入力する。その移動命令は、例えば図４中に示すような形式で入力される。
【００２２】
すなわち、図４は移動命令の代表的な３つの例を示している。その第１例におけるＭＯＶＥ１は、メインロボット１におけるスカラロボット１ａの全ロボット軸を駆動対象としてこれらを同時駆動することを意味し、Ｐ，Ｐ１はＰＴＰ（ポイントツーポイント）による所定移動位置（Ｐ１）の指定を意味している。また、第２例におけるＤＲＩＶＥは１つのロボット軸を駆動対象とする個別駆動を意味し、ＤＲＩＶＥ１（５，Ｐ１）は第５ドライバー３５でこれに対応するメインロボット１の付加軸１ｂを駆動させてＰ１へ移動させるべきことを意味する。また、第３例におけるＭＯＶＥ２は、サブロボット２の全ロボット軸を駆動対象としてこれらを同時駆動することを意味する。
【００２３】
上記移動命令に応じて、その駆動対象の内容を示すための軸選択フラッグＡＳＦが発行される。この軸選択フラッグＡＳＦは、図４中に示すように、１６ビットからなり、その上位４ビットがメインロボット１とサブロボット２の識別に関する情報を示し、下位８ビットがドライバーに関する情報を示している。具体的には、駆動対象がメインロボット１かサブロボット２かに応じて上位４ビットのうちの２番目または３番目が「１」とされるとともに、上記第１例や第３例のような同時駆動の場合は下位８ビットがすべて「０」とされ、上記第２例のような個別駆動の場合は下位８ビットのうちの該当するものが「１」とされる。
【００２４】
そして、前記移動命令判別手段４４により、上記軸選択フラッグＡＳＦと軸定義フラッグＡＤＦとの照合等に基づいて移動命令が判別されるようになっている。
【００２５】
ドライバーとロボット軸との対応関係の設定は種々変更可能であり、その対応関係に応じて、上記軸定義フラッグＡＤＦの中に含まれる分配記号が定められる。図５（ａ）〜（ｄ）は、ロボット軸の数などが異なる各種場合につき、各ドライバー（ＤＲ１，ＤＲ２，……）とメインロボット軸（Ｍ１，Ｍ２，……）、サブロボット軸（Ｓ１，Ｓ２，……）との対応関係、ならびに分配記号を例示している。
【００２６】
この例によると、メイン６軸、サブ２軸の場合（図５（ａ））はＤＲ１〜ＤＲ６とＭ１〜Ｍ６、ＤＲ７，ＤＲ８とＳ１，Ｓ２がそれぞれ対応し、メイン４軸、サブ４軸の場合（図５（ｂ））はＤＲ１〜ＤＲ４とＭ１〜Ｍ４、ＤＲ５〜ＤＲ８とＳ１〜Ｓ４がそれぞれ対応し、メイン３軸、サブ３軸の場合（図５（ｃ））はＤＲ１〜ＤＲ３とＭ１〜Ｍ３、ＤＲ４〜ＤＲ６とＳ１〜Ｓ３がそれぞれ対応し、メイン２軸、サブ２軸の場合（図５（ｄ））はＤＲ１，ＤＲ２とＭ１，Ｍ２、ＤＲ３，ＤＲ４とＳ１，Ｓ２がそれぞれ対応する。
【００２７】
そして、図５（ａ）の場合は分配記号が全て「０，０」とされ、図５（ｂ）の場合はサブロボット軸（Ｓ１〜Ｓ４）に対応する第５〜第８ドライバー（ＤＲ５〜ＤＲ８）の分配記号が「０，１」とされ、図５（ｃ）の場合はサブロボット軸（Ｓ１〜Ｓ３）に対応する第４〜第６ドライバー（ＤＲ４〜ＤＲ６）の分配記号が「１，０」とされ、図５（ｄ）の場合はサブロボット軸（Ｓ１，Ｓ２）に対応する第３，第４ドライバー（ＤＲ３，ＤＲ４）の分配記号が「０，１」とされる。いずれの場合もメインロボット軸に対応するドライバーの分配記号は「０，０」である。なお、前記の図１乃至図３に示すものは、図５（ａ）の場合と同様に分配記号が設定される。
【００２８】
また、前記処理条件記憶部４７には、駆動制御の処理条件となるデータが各ドライバー毎に各種場合について記憶されている。つまり、一般にドライバーによるロボット軸の駆動は、制御パターンに従って、先ず適度の加速度で最高速度まで加速してから、最高速度で定速移動した後、減速して移動先の位置で停止するように制御されるが、その制御パターンを定める条件式等が、上記処理条件記憶部４７に記憶されるデータとなる。そして、図６に示すように、例えば第１ドライバー（ＤＲ１）がメインロボット第１軸（Ｍ１）の駆動を行う場合のデータＤＡＴＡＤＲ１Ｍ１がＥＸＤＲ１Ｍ１番地に記憶され、第２ドライバー（ＤＲ２）がメインロボット第２軸（Ｍ２）の駆動を行う場合のデータＤＡＴＡＤＲ２Ｍ２がＥＸＤＲ２Ｍ２番地に記憶されるというように、各ドライバーによる各ロボット軸の駆動のためのデータがそれぞれ記憶される。さらに、前記の図５に示すようにドライバーとロボット軸との対応関係が変更される可能性があるとすると、例えば第３ドライバー（ＤＲ３）はメインロボット第３軸（Ｍ３）の駆動を行う場合とサブロボット第１軸（Ｓ１）の駆動を行う場合とがあるので、各場合のデータＤＡＴＡＤＲ３Ｍ３，ＤＡＴＡＤＲ３Ｓ１がＥＸＤＲ３Ｍ３番地およびＥＸＤＲ３Ｓ１番地に記憶され、第４〜第８ドライバーについても、駆動するロボット軸が相違する複数種の場合の各データがそれぞれ別個の番地に記憶されている。
【００２９】
また、前記ＥＸテーブル記憶部４８には、図７に示すようなＥＸテーブルが記憶されている。このＥＸテーブルは呼出し符号（ＣＡＬＬ）と図６中の番地とを対応づけたもので、上記呼出し符号は、ドライバーの区別と分配記号とに基づいて後述のフローチャート中に示す演算により求められるようになっている。
【００３０】
そして、前記処理条件決定手段４２は、分配記号等に基づき上記ＥＸテーブルを用いて処理条件記憶部４７から処理条件を選定し、前記制御手段４５は、移動命令の判別および処理条件の決定に基づいて処理内容を求め、それに従ってドライバーを制御するようになっている。
【００３１】
上記装置による制御方法を、図８および図９のフローチャートによって説明する。
【００３２】
図８のフローチャートにおいては、スタートすると、先ずステップＳ１で移動命令が入力され、ステップＳ２で移動命令に応じた軸選択フラッグＡＳＦが発行される。続いて、ステップＳＡ１で移動命令判別により第１ドライバーによる駆動を行うか否かを判定し、その判定がＹＥＳであればステップＳＢ１で第１ドライバーについての移動処理を行う。さらに、第２〜第８ドライバーのそれぞれについても、駆動を行うか否かを判定し（ステップＳＡ２……ステップＳＡ８）、その判定がＹＥＳであれば移動処理を行う（ステップＳＢ２……ステップＳＢ８）というルーチンを、順次実行する。
【００３３】
上記ステップＳＡ１……ステップＳＡ８のいずれかにおける判定、およびステップＳＢ１……ステップＳＢ８のいずれかにおける移動処理は、具体的には図９のようになっている。
【００３４】
すなわち、各ドライバーについて駆動を行うか否かの判定としては、ステップＳ１１で、上記軸選択フラッグＡＳＦと該当するドライバーの軸定義フラッグＤｎ・ＡＤＦ（ｎ＝１，２，……，８）とが照合されて、両者の下位８ビットが合致するか否かが判定され、その判定がＮＯの場合は、ステップＳ１２で軸選択フラッグＡＳＦの下位８ビットが「０」か否かが判定され、その判定がＹＥＳの場合は、ステップＳ１３で上記軸選択フラッグＡＳＦと上記軸定義フラッグＤｎ・ＡＤＦの上位４ビットが合致するか否かが判定される。
【００３５】
上記ステップＳ１１の判定がＹＥＳの場合は、移動命令がロボット軸の個別移動（ＤＲＩＶＥ）を指令するもので、かつ当該ドライバーが指定のものと合致することを意味する。また、ステップＳ１２，Ｓ１３がＹＥＳの場合は、移動命令がメインロボットの複数軸またはサブロボットの複数軸の同時駆動を指令するもので、かつ当該ドライバーが指定されたロボットに属するロボット軸に対応するものであることを意味する。従ってこれらの場合は当該ロボット軸を駆動すべく移動処理（ステップＳＢ１……ステップＳＢ８）に移り、これらの場合以外は移動処理を飛ばす。
【００３６】
上記移動処理（ステップＳＢ１……ステップＳＢ８）としては、先ずステップＳ１４で分配記号等に基づいて呼出し符号（ＣＡＬＬ）が設定される。図示の例によると、呼び出し符号の基本値が第１〜第８ドライバー（ＤＲ１〜ＤＲ８）のそれぞれに応じて「＋０」，「＋２」，「＋４」，「＋８」，「＋１４」，「＋２０」，「＋２６」，「＋３０」とされ、さらに、ＤＲ３〜ＤＲ８については駆動すべきロボット軸が相違する複数種の場合に応じて分配記号が変わることから、上記基本値に（分配記号）×２が加算された値が呼出し符号とされる。次にステップＳ１５で、ＥＸテーブルから上記呼出し符号に応じた番地が選定され、ステップＳ１６で、処理条件記憶部４７から上記の選定された番地にある処理用データが読み出される。そして、ステップＳ１７で、上記処理用データと移動命令に含まれる移動位置指定とに基づき、どのような制御パターンでどれだけ移動させるかというような処理内容が決定され、その処理内容でドライバーが制御される。
【００３７】
以上の方法によると、例えば図４中の第１例のような移動命令があった場合、移動命令に応じた軸選択フラッグＡＳＦと予め設定されている軸定義フラッグＡＤＦとの照合（ステップＳ１３〜Ｓ１５）に基づき、メインロボット１のスカラーロボット１ａの各ロボット軸に対応するドライバー３１〜３４が制御されることにより、これらのロボット軸が同時駆動されて指定された位置（Ｐ１）への移動が行われる。
【００３８】
この場合、図３のような軸定義フラッグＡＤＦの設定により、メインロボット１の各軸に対応するドライバーとサブロボット２の各軸に対応するドライバーとが区別され、さらにメインロボット１の各軸に対応するドライバーのうちでもスカラーロボット１ａの各軸に対応するものと付加軸１ｂに対応するものとが区別される。従って、上記移動命令で複数軸同時駆動とされる場合でも、不必要に付加軸１ｂがスカラーロボット１ａに付随して動いたり、サブロボット２が動いたりすることがなく、スカラーロボット１ａを独立的に駆動させることができる。しかも、スカラーロボット１ａの各軸の駆動を個別に指令する必要がなく、移動命令入力処理が複雑になることがない。
【００３９】
また、図４中の第２例のような移動命令があった場合には、メインロボット１の付加軸１ｂに対応するドライバーが制御されて付加軸１ｂが独立的に駆動され、図４中の第３例のような移動命令があった場合には、サブロボット２の各軸に対応するドライバーが制御されてサブロボット２が駆動される。こうして、メインロボット１およびサブロボット２が１つのコントローラ３で移動命令に応じて適切に制御される。
【００４０】
さらに、図５に例示するようにドライバーとメインロボット１、サブロボット２の各ロボット軸との対応関係が種々変更される場合でも、それに応じて軸定義フラッグＡＤＦの分配記号が設定されることにより、移動命令に応じた制御が適切に行われる。
【００４１】
つまり、例えば第４ドライバー（ＤＲ４）についてみると、図１乃至図３に示す場合や図５（ａ）の場合のようにメインロボット第４軸（Ｍ４）に対応する場合は、予め分配記号が「０，０」とされ、制御時にステップＳ１４で呼び出し符号が「＋８」とされることにより、ＥＸテーブルが参照されて、処理条件記憶部４７のＥＸＤＲ４Ｍ４番地から、メインロボット第４軸駆動のためのデータＤＡＴＡＤＲ４Ｍ４が得られる。一方、図５（ｃ）のように第４ドライバー（ＤＲ４）がサブロボット第１軸に対応するように対応関係が変更された場合は、それに応じて分配記号が「１，０」とされ、制御時にステップＳ１４で演算される呼び出し符号が「＋１２」となることにより、ＥＸテーブルが参照されて、処理条件記憶部のＥＸＤＲ４Ｓ１番地から、サブロボット第１軸駆動のためのデータＤＡＴＡＤＲ４Ｓ１が得られる。また、図５（ｄ）のように第４ドライバーがサブロボット第２軸に対応するように対応関係が変更された場合は、それに応じて分配記号が「０，１」とされ、制御時にステップＳ１４で演算される呼び出し符号が「＋１０」となることにより、ＥＸテーブルが参照されて、処理条件記憶部４７のＥＸＤＲ４Ｓ２番地から、メインロボット第４軸駆動のためのデータＤＡＴＡＤＲ４Ｓ２が得られる。
【００４２】
こうして、ドライバーとロボット軸との対応関係の変更に応じ、ドライバー制御時の処理用のデータも、対応関係に適合するように変更される。とくに、対応関係設定の段階で、上記軸定義フラッグＡＤＦの分配記号等を設定しておきさえすれば、ステップＳ１４〜Ｓ１６により自動的に適切なデータが得られる。
【００４３】
なお、上記実施例ではメインロボットとサブロボットとを制御するようにしているが、制御すべきロボット軸の総数がコントローラのドライバーの数を超えなければ、３つ以上のロボットを１つのコントローラで制御するようにしてもよい。
【００４４】
また、対応関係設定のための軸定義フラッグＡＤＦとその中の分配記号、移動命令に応じて発行する軸選択フラッグＡＳＦ、ＥＸテーブル等の具体的数値は上記実施例に限定されず、適宜設計変更可能である。
【００４５】
【発明の効果】
本発明の制御装置は、各ドライバーと複数のロボットの各駆動軸との対応関係を変更可能に設定する設定手段と、上記対応関係の設定に基づいて各ドライバーに対応する駆動軸の属性を示すデータを書き換え可能に記憶する各軸属性記憶部と、上記対応関係に応じてドライバーの処理条件を決定する処理条件決定手段と、移動命令入力手段と、移動命令入力手段により入力されたデータと各軸属性記憶部から読み出したデータとの照合に基づき、移動命令を判別してドライバーを選定する移動命令判別手段と、選定されたドライバーにつき、処理内容を求めてそれに従った制御を行なう制御手段とを備えているため、１つのコントローラで複数のロボットを任意に制御することができる。とくに、移動命令に応じて駆動すべきロボット軸に対応するドライバーの選定、制御を正しく行うことができ、また、コントローラに接続される複数のロボットの軸数、組合せ等が変わった場合にも、それに応じた調整が上記対応関係の設定によって行われることにより、適切な制御を行うことができる。また、とくに、移動命令入力等の操作を簡単にしつつ、複数のロボットの制御を適切に行うことができる。
【図面の簡単な説明】
【図１】本発明の一実施例によるロボットおよびコントローラの概略図である。
【図２】本発明の一実施例による制御装置の構成を示すブロック図である。
【図３】軸定義フラッグを示す説明図である。
【図４】移動命令および軸選択フラッグを示す説明図である。
【図５】（ａ）〜（ｄ）はロボット軸の数等が異なる各種場合におけるドライバーとロボット軸との対応関係ならびに分配記号を示す説明図である。
【図６】処理条件記憶部の内容を示す説明図である。
【図７】ＥＸテーブルを示す説明図である。
【図８】制御の方法を示すフローチャートである。
【図９】図８のフローチャート中の一部分の具体的処理を示すフローチャートである。
【符号の説明】
１  メインロボット
２  サブロボット
３  コントローラ
１５，１６，１７，１８，，１９，２３，２４  モータ
３１，３２，３３，３４，３５，３６，３７，３８  ドライバー
４１  分配設定手段
４２  処理条件決定手段
４３  移動命令入力手段
４４  移動命令判別手段
４５  制御手段
【図１】
0003542615.tif 000002
【図２】
0003542615.tif 000003
【図３】
0003542615.tif 000004
【図４】
0003542615.tif 000005
【図５】
0003542615.tif 000006
【図６】
0003542615.tif 000007
【図７】
0003542615.tif 000008
【図８】
0003542615.tif 000009
【図９】
0003542615.tif 000010