(57)【要約】      （修正有）【課題】制御軸の仕様制限を超えた軸数をもつロボット装置を１台のロボットコントローラで制御するシステムを容易に構築できるようにする。【解決手段】関節リンク機構を構成する一つの関節が一つの仮想上のモータで駆動される概念上の関節軸の組み合わせから構成される仮想ロボットを複数種類定義した運動制御処理系を有するロボット制御装置には、ロボットを任意に組み合わせて構成され、前記仮想ロボットに属するロボット群の中から任意のロボットを選択するロボット選択命令と、目標位置の指令を仮想ロボットの有する各関節軸に与えるロボット動作命令とを解析し、選択されたロボットの属する仮想ロボットの各関節軸に目標位置を与えるプログラム解析部と、ロボット選択命令に基づいて選択されたロボットについて、関節軸にそれぞれ対応している各サーボドライバに、目標位置を指令するプログラム指令部と、を有している。【選択図】図１
2012236270.tif 000002
【特許請求の範囲】
【請求項１】
複数台のロボットを１台の制御装置によって制御するロボット装置の制御システムであって、
独立して動作するロボットを複数台組み合わせて構成され、前記各ロボット間で作業を分担あるいは協働して一連の作業を行うロボット装置と、
前記ロボットの関節部を駆動する各駆動軸の総数以上のサーボドライバを有し、前記ロボットの関節リンク機構を構成する一つの関節が一つの仮想上のモータで駆動される概念上の関節軸の組み合わせから構成される仮想ロボットを複数種類定義した運動制御処理系を有するロボット制御装置と、を備え、
前記ロボット制御装置は、
前記ロボットを任意に組み合わせて構成され、前記仮想ロボットに属するロボット群の中から任意のロボットを選択するロボット選択命令と、目標位置の指令を仮想ロボットの有する各関節軸に与えるロボット動作命令とを解析し、選択されたロボットの属する仮想ロボットの各関節軸に目標位置を与えるプログラム解析部と、
前記ロボット選択命令に基づいて選択されたロボットについて、前記仮想ロボットの関節軸にそれぞれ対応している各駆動軸のサーボモータに割り当てられた各サーボドライバに、目標位置を指令するプログラム指令部と、
を具備したことを特徴とするロボット装置の制御システム。
【請求項２】
前記ロボット制御装置は、制御可能な駆動軸の数が前記ロボットの駆動軸総数よりも少ない数に制限されているロボット制御装置であることを特徴とする請求項１に記載のロボット装置の制御システム。
【請求項３】
前記ロボット制御装置は、ロボットプログラムや通信コマンドの命令語処理系の制御可能な駆動軸の軸数が最大５軸であることを特徴とする請求項２に記載のロボット装置の制御システム。
【請求項４】
前記仮想ロボットは、前記ロボット制御装置の運動制御処理系上、関節リンク機構が同一である場合には、具体的なモータとの関係で駆動軸は異なっていても同一のロボットと扱うようにしたことを特徴とする請求項１に記載のロボット装置の制御システム。
【請求項５】
前記仮想ロボット１台の関節軸総数は、前記ロボットプログラムや通信コマンドの命令語処理系の制御可能な軸数の制限を受けないことを特徴とする請求項４に記載のロボット装置の制御システム。
【請求項６】
同一の仮想ロボットに属するロボット群の間では、同一の関節軸が共有されていることを特徴とする請求項１に記載のロボット装置の制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット装置の制御システムに係り、特に、複数台のロボットを１台のロボットコントローラで制御するロボット装置の制御システムに関する。
【背景技術】
【０００２】
工場の生産ラインでは、複数台のロボットにひとまとまりの作業を行わせることが広く実施されている。通常は、１台のロボットに対して１台のコントローラで制御するのが基本である。しかし、１台のコントローラで複数台のロボットを制御できれば制御系統の合理化の上では望ましい。
【０００３】
例えば、特許文献１では、複数台のロボットを、これらのロボットの駆動軸の総数以上の数のドライバーを有するコントローラにより制御する方法を提案している。この特許文献１の制御方法では、予め各ドライバーと複数のロボットの各駆動軸との対応関係を設定しておき、コントローラに対し、駆動すべきロボットおよび駆動軸を特定する駆動対象指定と移動位置を特定する移動位置指定とを含む移動指令を与え、この移動指令と、各ドライバーと各駆動軸との対応関係とに基づき、駆動すべき駆動軸に対応するドライバーを選定して制御している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平６−２４６６６４号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、ロボットを制御するコントローラでは、ロボット言語やロボット制御コマンドの仕様上、ロボットの制御軸の総数は、４軸あるいは５軸以下というような制限を受けるのが普通である。このため、ロボット言語やロボット制御コマンドの仕様制限を越える制御軸数をもつロボット装置を制御する場合には、コントローラシステムにおけるコマンド処理系を再設計し、コントローラシステムの仕様を大幅に拡張しなければならない。このようなコントローラシステムの使用の拡張には、膨大な開発労力を必要するという問題がある。
【０００６】
そこで、本発明の目的は、前記従来技術の有する問題点を解消し、既存のロボットコントローラシステムの基本構造を大幅に変更することなく、制御軸の仕様制限を超えた軸数をもつロボット装置を１台のロボットコントローラで制御するシステムを容易に構築できるロボット装置の制御システムを提供することにある。
【課題を解決するための手段】
【０００７】
前記の目的を達成するために、本発明は、複数台のロボットを１台の制御装置によって制御するロボット装置の制御システムであって、独立して動作するロボットを複数台組み合わせて構成され、前記各ロボット間で作業を分担あるいは協働して一連の作業を行うロボット装置と、前記ロボットの関節部を駆動する各駆動軸の総数以上のサーボドライバを有し、前記ロボットの関節リンク機構を構成する一つの関節が一つの仮想上のモータで駆動される概念上の関節軸の組み合わせから構成される仮想ロボットを複数種類定義した運動制御処理系を有するロボット制御装置と、を備え、前記ロボット制御装置は、前記ロボットを任意に組み合わせて構成され、前記仮想ロボットに属するロボット群の中から任意のロボットを選択するロボット選択命令と、目標位置の指令を仮想ロボットの有する各関節軸に与えるロボット動作命令とを解析し、選択されたロボットの属する仮想ロボットの各関節軸に目標位置を与えるプログラム解析部と、前記ロボット選択命令に基づいて選択されたロボットについて、前記仮想ロボットの関節軸にそれぞれ対応している各駆動軸のサーボモータに割り当てられた各サーボドライバに、目標位置を指令するプログラム指令部と、を具備したことを特徴とする。
【図面の簡単な説明】
【０００８】
【図１】図１は、本発明のロボット制御システムが適用されるロボット装置の例を示す斜視図。
【図２】図２は、本発明のロボット制御システムにおいて、図１のロボット装置に基づいて定義した仮想ロボットを示す模式図。
【図３】図３は、本発明のロボット制御システムにおいて、図１のロボット装置に基づいて定義した他の仮想ロボットを示す模式図。
【図４】図４は、本発明のロボット制御システムにおいて、ロボット動作命令の種類を示す説明図。
【図５】図５は、本発明のロボット制御システムにおいて、仮想ロボットの関節軸と、実際のロボットの駆動軸の対応関係の説明図。
【図６】図６は、本発明のロボット制御システムの備える制御装置の構成を示すブロック図。
【図７】図７は、ロボット動作命令とロボット選択命令の組み合わせにより、ロボットの駆動軸がどのように動作するかを示す図。
【発明を実施するための最良の形態】
【０００９】
以下、本発明によるロボット装置の制御システムの一実施形態について、添付の図面を参照しながら説明する。  
図１は、本発明の制御システムが適用されるロボット装置の全体を示す斜視図である。この実施形態によるロボット装置は、塗装対象物であるワークＷに塗装を施す１台の塗装ロボット１００と、ワークＷを保持してこのワークＷを移動させる２台の被塗装物保持ロボット１０ａ、１０ｂの合計３台の独立して動作可能なロボットから構成されている。
【００１０】
図１において、参照番号１１１は、略矩形状の底部フレームを示す。この底部フレーム１１１の左右両側にはそれぞれ脚柱１１２が立設されており、これら脚柱１１２には、支持梁１１３が架け渡されている。
【００１１】
２台の被塗装物保持ロボット１０ａ、１０ｂは、架台１１４を介して底部フレーム１１１より高い位置に設置されている。他方、支持梁１１３の上には、塗装ロボット１００が設置されている。
【００１２】
そこで、被塗装物保持ロボット１０ａ、１０ｂについて説明する。なお、図１において、左右２台の被塗装物保持ロボット１０ａ、１０ｂは、互いに同一の構造を有しているロボットであるので、同一の構成要素には同一の参照番号を付して説明する。  
架台１１４の上には、ロボットのベース部２０が設置されており、このベース部２０には、第１アーム１１と第２アーム１２と第３アーム１３とからなる多関節アームが支持されている。
【００１３】
このうち、第１アーム１１は、水平な第１軸Ｊ’1中心に旋回可能であり、第２アーム１２は、第１軸Ｊ’1に平行な第２軸Ｊ’2を中心に旋回可能である。この実施形態では、第２アーム１２はＬ字型に屈曲しているアームからなっている。第３アーム１３は、第１軸Ｊ’1、第２軸Ｊ’2に垂直な第３軸Ｊ’3を中心に旋回自在である。第３アーム１３の両端部には、それぞれ塗装対象物であるワークＷを着脱可能に経字する第１保持部１４と第２保持部１５が設けられている。
【００１４】
図１において、ベース部２０には、第１アーム１１を旋回させる第１サーボモータ２１、第２アーム１２を旋回させる第２サーボモータ２２、第３アーム１３を旋回させる第３サーボモータ２３、第１保持部１４および第２保持部１５を回転させる第４サーボモータである。
【００１５】
次に、塗装ロボット１００について説明する。  
この塗装ロボット１００は、支持梁１１３の上に設置されたサドル３０を含む。このサドル３０には、長手方向に移動する移動台３２が設置されており、この移動台３２からは鉛直方向に第１アーム１１５が垂下されている。この第１アーム１１５には、水平な姿勢で第２アーム１１６が上下方向に移動可能に設けられている。この第２アーム１１６の両端部には、塗料をワークＷに向けて噴出する一対のスプレーガン１２０が取り付けられている。
【００１６】
このような塗装ロボット１００では、第１軸Ｊ’1が移動台３２を走行させ、第１アーム１１５を水平方向に直線移動させる軸であり、第１サーボモータ１１７によって駆動される。第２軸Ｊ’2は、第2アーム１１６を上下方向に直線以上させる軸であり、第２サーボモータ（図示せず）によって駆動される。
【００１７】
本実施の形態では、以上のような２台の被塗装物保持ロボット１０ａ、１０ｂと、塗装ロボット１００を組み合わせ、運動制御上の観点から仮想ロボットを定義する。
【００１８】
まず、図２は、仮想ロボットＡとして定義された仮想ロボットを示す図である、  
この仮想ロボットＡは、図１に示した塗装ロボット１００と、被塗装物保持ロボット１０ａ、１０ｂのうちの一方のロボットとを組み合わせて運動制御系上一台のロボットとして扱う仮想ロボットである。
【００１９】
この仮想ロボットＡは、第１軸Ｊ1乃至第５軸Ｊ5からなる５軸の関節軸を備えている。ここで関節軸とは仮想ロボットを構成するリンク機構を駆動する軸であり、運動制御処理において、便宜上想定した概念的な可動軸である。これら第１軸Ｊ1乃至第５軸Ｊ5は、実際の被塗装物保持ロボット１０ａ、１０ｂや、塗装ロボット１００の各関節部を駆動する実際の駆動軸とは必ずしも１対１で関係づけする必要はない。
【００２０】
この実施形態では、左側の被塗装物保持ロボット１０ａと塗装ロボット１００とを組み合わせたロボット(以下、ロボット１とする)と、右側の被塗装物保持ロボット１０ｂと塗装ロボット１００とを組み合わせたロボット(以下、ロボット２とする)とは、運動制御処理上、同じ仮想ロボットＡとして扱われる。ロボット１とロボット２では、第1軸Ｊ1と第３軸Ｊ3が共有軸となっている。
【００２１】
次に、図３は、仮想ロボットＢとして定義された仮想ロボットを示す図である。  
この仮想ロボットＢは、第１軸Ｊ1乃至第６軸Ｊ6からなる６軸の関節軸の軸を備えており、２台の被塗装物保持ロボット１０ａ、１０ｂを組み合わせて、ひとつの仮想的なロボットとして定義されたものである。
【００２２】
次に、以上のような仮想ロボットＡ、Ｂを制御する命令である動作命令について説明する。  
この実施形態では、動作命令には、大きく分けて３種類の命令が用意されている。図４（ａ）は、タイプ１の動作命令の説明図であり、図４（ｂ）、（ｃ）は、タイプ２の動作命令の説明図、図４（ｄ）は、タイプ３の動作命令の説明図である。  
これらの動作命令は、いずれも実際の被塗装物保持ロボット１０ａ、１０ｂや塗装ロボット１００を直接制御する命令ではなく、コントローラの運動制御処理系上で仮想ロボットＡ、Ｂの各関節軸の目標位置を指令する命令である。
【００２３】
まず、図４（ａ）に示すタイプ１の動作命令は、仮想ロボットＡに対する動作命令である。このタイプ１の動作命令の場合、目標位置は、直交座標系（Ｘ，Ｙ，Ｚ，Ａ）で与えられる。ここでＡは、オイラー角、あるいは固定角である。
【００２４】
仮想ロボットＡは、関節軸として第１軸Ｊ1乃至第５軸Ｊ5を備えているので、直交座標系の目標位置は逆変換されて第１軸Ｊ1乃至第５軸Ｊ5の各関節軸、に目標位置が与えられる。
【００２５】
次に、図４（ｂ）に示すタイプ２の動作命令は、仮想ロボットＡに対する動作命令、図４（ｃ）に示すタイプ２の動作命令は、仮想ロボットＢに対する動作命令である。共に、ロボット関節系の目標位置を関節軸に直接指令する動作命令である。
【００２６】
仮想ロボットＡは、関節軸として第１軸Ｊ1乃至第５軸Ｊ5まで５軸を有しているが、タイプ２の動作命令は、関節軸のうち、第１軸Ｊ1、第２軸Ｊ2、第３軸Ｊ3、第４軸Ｊ4の各関節軸にそれぞれ目標位置Ｔ１、Ｔ2、Ｔ3、Ｔ4を与える。
【００２７】
他方、仮想ロボットＢは、関節軸として第１軸Ｊ1乃至第６軸Ｊ6まで６軸を有している。タイプ２の動作命令は、６軸ある関節軸のうち、第１軸Ｊ1、第２軸Ｊ2、第３軸Ｊ3、第４軸Ｊ4の各関節軸にそれぞれ目標位置Ｔ１、Ｔ2、Ｔ3、Ｔ4を与える。
【００２８】
最後に、図４（ｄ）に示すタイプ３の動作命令は、仮想ロボットＢに対する動作命令で、６軸ある関節軸のうち、第１軸Ｊ1、第２軸Ｊ2、第５軸Ｊ5、第６軸Ｊ6の各関節軸にそれぞれ目標位置Ｔ１、Ｔ2、Ｔ3、Ｔ4を与える。図４（ｄ）のタイプ３の動作命令とは、仮想ロボットＢに対して直接各関節軸に目標位置を指令する点ではタイプ２の動作命令と同じであるが、指令する関節軸が違っている。
【００２９】
上述したように、仮想ロボットＡ、Ｂは、コントローラの運動制御処理系上での処理のために仮想的に想定したロボットであって実在するロボットではない。このため、実際にロボットの動きを制御するためには、仮想ロボットＡ、Ｂの関節軸と実際のロボット１、２、３の駆動軸との間に対応関係が必要となる。
【００３０】
図５（ａ）は、仮想ロボットＡの関節軸とロボット１の駆動軸との対応関係を示し、図５（ｂ）は、仮想ロボットＡの関節軸とロボット２の駆動軸との対応関係を示し、図５（ｃ）  は仮想ロボットＢの関節軸とロボット３の駆動軸との対応関係を示す。  
まず、図５（ａ）において、ロボット１には、駆動軸は５軸あり、それぞれサーボモータＭ1乃至Ｍ5によって駆動される。ここで図１と対照すると、サーボモータＭ1は、塗装ロボットの第1軸Ｊ’１を駆動するサーボモータ１１７、サーボモータＭ3は、塗装ロボットの第２軸Ｊ‘2を駆動するサーボモータ（図示せず）である。サーボモータＭ2は、左側の被塗装物保持ロボット１０ａにおいて、第１アーム１１を旋回させる第１サーボモータ２１に、サーボモータＭ4は第２アーム１２を旋回させる第２サーボモータ２２に、サーボモータＭ5は第３アーム１３を旋回させる第３サーボモータ２３に対応している。ロボット１の場合、サーボモータＭ6乃至Ｍ8は関係がない。
【００３１】
仮想ロボットＡそのものでは、関節軸の第１軸Ｊ1乃至第５軸Ｊ5は具体的なサーボモータＭ1乃至Ｍ8によって駆動されているわけでないが、ロボット選択命令でロボット１が選択された場合には、図５（ａ）に示したように仮想ロボットＡの関節軸Ｊ1乃至Ｊ5とロボット１の駆動軸のサーボモータＭ1乃至Ｍ5が１対１に関係付けられることになる。
【００３２】
同様に、ロボット２には、駆動軸は５軸あり、それそれぞれサーボモータＭ1、Ｍ3、Ｍ6乃至Ｍ8によって駆動される。図１と対照すると、サーボモータＭ1は、塗装ロボットの第1軸Ｊ’１を駆動するサーボモータ１１７、サーボモータＭ3は、塗装ロボットの第２軸Ｊ‘2を駆動するサーボモータ（図示せず）である。サーボモータＭ6は、右側の被塗装物保持ロボット１０ｂにおいて、第１アーム１１を旋回させる第１サーボモータ２１に、サーボモータＭ7は第２アーム１２を旋回させる第２サーボモータ２２に、サーボモータＭ8は第３アーム１３を旋回させる第３サーボモータ２３に対応している。ロボット２の場合、サーボモータＭ2、Ｍ4、Ｍ5は関係がない。
【００３３】
このようなロボット２が選択された場合には、図５（ｂ）に示したように、仮想ロボットＡの関節軸Ｊ1乃至Ｊ5とロボット２の駆動軸のサーボモータＭ1、Ｍ3、Ｍ6乃至Ｍ8が１対１に関係付けられることになる。
【００３４】
次に、ロボット３には、駆動軸は全部で６軸あり、それそれぞれサーボモータＭ2、Ｍ4、Ｍ5、Ｍ6乃至Ｍ8によって駆動される。ロボット３が選択された場合には、図５（ｃ）に示したように、仮想ロボットＢの関節軸Ｊ1乃至Ｊ6とロボット３の駆動軸のサーボモータＭ2、Ｍ4、Ｍ5、Ｍ6乃至Ｍ8が１対１に関係付けられることになる。
【００３５】
次に、図６は、ロボットコントローラであるロボット制御装置１４０の構成を示すブロック図である。参照番号１４２は、ヒューマンマシンインターフェース部であり、各種操作スイッチやキーボードなどが接続される。参照番号１４４は記憶装置であり、この記憶装置１４４には、ロボットプログラムや仮想ロボットＡ、Ｂに関するデータが格納されている。参照番号１４６は、外部のパソコンや周辺機器との間でデータを入出力するためのＩ／Ｏ部である。
【００３６】
このロボット制御装置１４０は、ロボットプログラムを処理してロボット装置を制御するために、プログラム解析部１４８と、プログラム指令部１５０と、駆動制御部１５２を備えている。駆動制御部１５２には、ロボット装置を構成しているロボットのすべての駆動軸をそれぞれ駆動するサーボモータＭ1乃至Ｍ8を制御するサーボドライバＤ1乃至Ｄ8が設けられている。
【００３７】
プログラム解析部１４８は、プログラム中のロボット選択命令とロボット動作命令を解析し、ロボット１、２、３のうち、選択されたロボットの属する仮想ロボットの各関節軸に目標位置を与える処理を行う。プログラム指令部１５０は、仮想ロボットの各関節軸に対応する選択されたロボットの駆動軸を駆動するサーボモータの各サーボドライバに目標位置を指令する。
【００３８】
以下、ロボット制御装置１４０によるロボット装置の制御動作について、図１乃至図３並びに図７を参照してよりくわしく説明する。  
図７は、ロボットプログラムにおいて、ロボット選択命令とロボット動作命令を組み合わせることで、具体的にどの駆動軸が動作するかを示す図である。
【００３９】
ロボット１が選択された場合  
ロボット１は、図１において、左側の被塗装物保持ロボット１０ａと塗装ロボット１００とを組み合わせたロボットで、図２の仮想ロボットＡに属するロボットである。動作の内容は、左側の被塗装物保持ロボット１０ａでワークＷを塗装ロボット１０のスプレーガン１２０のところまで移動し、スプレーガン１２０から塗料を噴き付けて塗装する作業を行う。
【００４０】
仮想ロボットＡは、関節軸として第１軸Ｊ1乃至第５軸Ｊ5を備えており、タイプ１動作命令がプログラム解析部１４８で解析されると、直交座標系の目標位置は逆変換されて仮想ロボットＡの第１軸Ｊ1乃至第５軸Ｊ5の各関節軸に目標位置が与えられる（図４（ａ）参照）。この段階では、各関節軸は仮想の軸であるので実際にロボット１が動くわけではない。
【００４１】
そこで、プログラム指令部１５２は、図５（ａ）に示した仮想ロボットＡの関節軸Ｊ1乃至Ｊ5とロボット１の駆動軸のサーボモータＭ1乃至Ｍ5の関係にしたがって、各関節軸について演算した目標位置をサーボドライバＤ1乃至Ｄ5に指令する。この結果、ロボット１の駆動軸のサーボモータＭ1乃至Ｍ5が動作し、ロボット１は塗装作業を遂行する。
【００４２】
同様にして、タイプ２動作命令がプログラム解析部１４８で解析されると、仮想ロボットＡの第１軸Ｊ1乃至第４軸Ｊ4の各関節軸にロボット関節系上の目標位置が直接与えられる（図４（ｂ）参照）。プログラム指令部１５０は、図５（ａ）に示した仮想ロボットＡの関節軸Ｊ1乃至Ｊ5とロボット１の駆動軸のサーボモータＭ1乃至Ｍ5の関係にしたがって、各関節軸について演算した目標位置をサーボドライバＤ1乃至Ｄ4に指令する。この結果、ロボット１の駆動軸のサーボモータＭ5が有効でサーボモータＭ1乃至Ｍ4が動作し、ロボット１は塗装作業を遂行する。
【００４３】
ロボット２が選択された場合  
ロボット２は、図１において、右側の被塗装物保持ロボット１０ｂと塗装ロボット１００とを組み合わせたロボットで、仮想ロボットＡに属するロボットである。動作の内容は、右側の被塗装物保持ロボット１０ｂでワークＷを塗装ロボット１０のスプレーガン１２０のところまで移動し、スプレーガン１２０から塗料を噴き付けて塗装する作業を行う。
【００４４】
仮想ロボットＡは、関節軸として第１軸Ｊ1乃至第５軸Ｊ5を備えており、タイプ１動作命令がプログラム解析部１４８で解析されると、直交座標系の目標位置は逆変換されて仮想ロボットＡの第１軸Ｊ1乃至第５軸Ｊ5の各関節軸に目標位置が与えられる。この段階までは、ロボット１が選択された場合と同じである。その後の処理が次のように相違している。
【００４５】
プログラム指令部１５０は、図５（ｂ）に示した仮想ロボットＡの関節軸Ｊ1乃至Ｊ5とロボット２の駆動軸のサーボモータＭ1、Ｍ3、Ｍ6乃至Ｍ8の関係にしたがって、各関節軸について演算した目標位置をサーボドライバＤ1、Ｄ3、Ｄ6乃至Ｄ8に指令する。この結果、ロボット１の駆動軸のサーボモータＭ1、Ｍ3、Ｍ6乃至Ｍ8が動作し、ロボット１は塗装作業を遂行する。
【００４６】
同様にして、タイプ２動作命令がプログラム解析部１４８で解析されると、仮想ロボットＡの第１軸Ｊ1乃至第４軸Ｊ4の各関節軸にロボット関節系上の目標位置が直接与えられる。駆動制御部１５２は、図５（ｂ）に示した仮想ロボットＡの関節軸Ｊ1乃至Ｊ5とロボット２の駆動軸のサーボモータＭ1、Ｍ2、Ｍ6、Ｍ7、Ｍ8の関係にしたがって、各関節軸について演算した目標位置をサーボドライバＤ1、Ｄ2、Ｄ6、Ｄ7に指令する。この結果、ロボット１の駆動軸のサーボモータＭ8が有効でサーボモータＭ1、Ｍ2、Ｍ6、Ｍ7が動作し、ロボット１は塗装作業を遂行する。
【００４７】
ロボット３が選択された場合  
ロボット３は、図１において、左側の被塗装物保持ロボット１０ａと右側の被塗装物保持ロボット１０ｂとを組み合わせたロボットで、仮想ロボットＢに属するロボットである。このロボット３の動作の内容は、一方の被塗装物保持ロボットで塗装が終わった場合に他方の被塗装物保持ロボットに入れ替える動作である。
【００４８】
仮想ロボットＢは、関節軸として第１軸Ｊ1乃至第６軸Ｊ6というように６軸を備えている。本実施形態では、仮想ロボットＢに対する動作命令には、タイプ２の動作命令とタイプ３の動作命令の２種類の動作命令が用意されている。
【００４９】
このうち、タイプ２動作命令は、図１において、右側の被塗装物ロボット１０ｂで塗装が終わったので、替わりに左側の被塗装物ロボット１０ａのアームを塗装ロボット１００まで移動させて段取り替えを行うための命令である。
【００５０】
これに対して、タイプ３動作命令は、タイプ２動作命令とは逆に、左側の被塗装物ロボット１０ａで塗装が終わったので、替わりに右側の被塗装物ロボット１０ｂのアームを塗装ロボット１００まで移動させて段取り替えを行うための命令である。
【００５１】
タイプ２動作命令がプログラム解析部１４８で解析されると、仮想ロボットＢの第１軸Ｊ1乃至第４軸Ｊ4の各関節軸にロボット関節系上の目標位置が直接与えられる（図４（ｃ）参照）。駆動御部１５２は、図５（ｃ）に示した仮想ロボットＢの関節軸Ｊ1乃至Ｊ4とロボット３の駆動軸のサーボモータＭ2、Ｍ4乃至Ｍ8の関係にしたがって、各関節軸について演算した目標位置をサーボドライバＤ2、Ｄ4、Ｄ5、Ｄ6に指令する。この結果、ロボット１の駆動軸のサーボモータＭ7、Ｍ8が有効でサーボモータＭ2、Ｍ4、Ｍ5、Ｍ6が実際に動作し、ロボット１は段取り作業を遂行する。
【００５２】
同様にして、タイプ３動作命令がプログラム解析部１４８で解析されると、仮想ロボットＢの第１軸Ｊ1、第２軸Ｊ2、第５軸Ｊ5、第６軸Ｊ6の各関節軸にロボット関節系上の目標位置が直接与えられる（図４（ｄ）参照）。駆動制御部１５２は、図５（ｃ）に示した仮想ロボットＢの関節軸Ｊ1乃至Ｊ6とロボット３の駆動軸のサーボモータＭ2、Ｍ4乃至Ｍ8の関係にしたがって、各関節軸について演算した目標位置をサーボドライバＤ2、Ｄ4、Ｄ7、Ｄ8に指令する。この結果、ロボット１の駆動軸のサーボモータＭ5、Ｍ6が有効でサーボモータＭ2、Ｍ4、Ｍ7、Ｍ8が動作し、ロボット１は段取り作業を遂行する。
【００５３】
以上のようにして、仮想ロボットに対する動作命令と、ロボットを選択する選択命令を組み合わせることにより、４軸構成のプログラム構造やコマンド構造しかもたない運動制御処理系システムの制御装置であっても、その基本システムをそのまま活用して、８軸構成のロボット装置を制御することが可能になる。しかも、仮想ロボットを複数定義するとともに、動作命令を複数種類用意し、ロボット選択を組み合わせることで、多様な動作にも対応することが可能である。
【００５４】
また、仮想ロボットに対する動作命令によって、関節軸に目標位置を指令しているので、同じ仮想ロボットに属する同一のリンク構造を有するロボット群の間で、同じ座標系における教示点を共有することも可能である。
【符号の説明】
【００５５】
１０ａ…被塗装物保持ロボット、１０ｂ…被塗装物保持ロボット、１１…第1アーム、１２…第２アーム、１３…第３アーム、１４…第１保持部、１５…第２保持部、３０…サドル、３２…移動台、１００…塗装ロボット、１２０…スプレーガン
【図１】
2012236270.tif 000003
【図２】
2012236270.tif 000004
【図３】
2012236270.tif 000005
【図４】
2012236270.tif 000006
【図５】
2012236270.tif 000007
【図６】
2012236270.tif 000008
【図７】
2012236270.tif 000009