(57)【要約】【課題】産業用ロボット及び周辺装置を連動させる際のプログラムの作成作業を軽減する。【解決手段】溶接ロボットシステムは、第１溶接ロボット及び周辺装置を制御する第１制御装置３０と、第１制御装置３０とネットワークを介して接続され、第２溶接ロボットを制御する第２制御装置６０とを備え、第１制御装置３０は、第１溶接ロボット及び周辺装置に実行させる動作が記述された教示プログラムを記憶する第１教示プログラム記憶部３１と、教示プログラムに基づいて第１溶接ロボット及び周辺装置の動作に関する情報を生成する第１経路算出部３３と、第１溶接ロボット及び周辺装置を制御する第１ロボット駆動部３４とを備え、第２制御装置６０は、教示プログラムを取得する第２命令解釈部６２と、教示プログラムに基づいて、第２溶接ロボットが周辺装置と連動して動作するように、第２溶接ロボットの動作に関する情報を生成する第２経路算出部６３と、第２溶接ロボットを制御する第２ロボット駆動部６４とを備える。【選択図】図２
2015134396.tif 000002
【特許請求の範囲】
【請求項１】
第１ロボット及び周辺装置を制御する第１制御装置と、
前記第１制御装置と通信回線を介して接続され、第２ロボットを制御する第２制御装置とを備え、
前記第１制御装置は、
前記第１ロボット及び前記周辺装置に実行させる動作が記述された教示プログラムを記憶する記憶手段と、
前記記憶手段により記憶された前記教示プログラムに基づいて、前記第１ロボットと前記周辺装置とが連動して動作するように、当該第１ロボット及び当該周辺装置の動作に関する情報を生成する第１生成手段と、
前記第１生成手段により生成された前記第１ロボット及び前記周辺装置の動作に関する情報に基づいて、当該第１ロボット及び当該周辺装置を制御する第１制御手段とを備え、
前記第２制御装置は、
前記記憶手段により記憶された前記教示プログラムまたは当該教示プログラムをもとに作成された教示プログラムを取得するプログラム取得手段と、
前記プログラム取得手段により取得された教示プログラムに基づいて、自装置に接続された前記第２ロボットが自装置に接続されていない前記周辺装置と連動して動作するように、当該第２ロボットの動作に関する情報を生成する第２生成手段と、
前記第２生成手段により生成された前記第２ロボットの動作に関する情報に基づいて、当該第２ロボットを制御する第２制御手段とを備えること
を特徴とする制御システム。
【請求項２】
前記第１制御装置は、自装置に接続された第１操作端末において前記第１ロボットの制御を開始する入力が行われると、当該第１ロボットが制御される前の待機状態であることを通知する第１通知手段をさらに備え、
前記第２制御装置は、前記第１通知手段により前記第１ロボットが待機状態であることが通知された後、自装置に接続された第２操作端末において前記第２ロボットの制御を開始する入力が行われると、当該第１ロボットの待機状態を解除するように通知する第２通知手段をさらに備えること
を特徴とする請求項１に記載の制御システム。
【請求項３】
前記第１通知手段は、前記第１ロボットの動作が停止する際、当該第１ロボットの動作が停止することを通知し、
前記第２制御手段は、前記第１通知手段により前記第１ロボットの動作が停止することを通知されると、前記第２ロボットの動作を停止するように制御すること
を特徴とする請求項２に記載の制御システム。
【請求項４】
ロボット及び周辺装置に実行させる動作が記述された教示プログラムを取得するプログラム取得手段と、
前記プログラム取得手段により取得された前記教示プログラムに基づいて、自装置に接続されたロボットが自装置に接続されていない周辺装置と連動して動作するように、当該ロボットの動作に関する情報を生成する生成手段と、
前記生成手段により生成された前記ロボットの動作に関する情報に基づいて、自装置に接続されたロボットを制御する制御手段と
を備えた制御装置。
【請求項５】
前記制御手段による前記ロボットの制御が開始される前に、前記周辺装置を制御する制御部から当該周辺装置が存在する位置の情報を取得する位置情報取得手段をさらに備え、
前記生成手段は、前記位置情報取得手段により取得された前記周辺装置が存在する位置の情報をもとに、前記ロボットの動作に関する情報を生成すること
を特徴とする請求項４に記載の制御装置。
【請求項６】
前記位置情報取得手段は、前記制御手段による前記ロボットの制御が開始された後、前記プログラム取得手段により取得された前記教示プログラムに基づいて、前記周辺装置が存在する位置の情報を取得すること
を特徴とする請求項５に記載の制御装置。
【請求項７】
第１制御装置により制御される第１ロボット及び周辺装置と、当該第１制御装置と通信回線を介して接続される第２制御装置により制御される第２ロボットとを用いた溶接物製造方法であって、
前記第１ロボット及び前記周辺装置に実行させる動作が記述された教示プログラムに基づいて、当該第１ロボットと当該周辺装置とが連動して動作するように、当該第１ロボット及び当該周辺装置の動作に関する情報を生成するステップと、
生成された前記第１ロボット及び前記周辺装置の動作に関する情報に基づいて、当該第１ロボット及び当該周辺装置を制御し、溶接物に対する溶接を行うステップと、
前記教示プログラムまたは当該教示プログラムをもとに作成された教示プログラムに基づいて、前記第２制御装置に接続された前記第２ロボットが当該第２制御装置に接続されていない前記周辺装置と連動して動作するように、当該第２ロボットの動作に関する情報を生成するステップと、
生成された前記第２ロボットの動作に関する情報に基づいて、当該第２ロボットを制御し、前記溶接物に対する溶接を行うステップと
を含む溶接物製造方法。
【請求項８】
コンピュータに、
ロボット及び周辺装置に実行させる動作が記述された教示プログラムを取得する機能と、
取得された前記教示プログラムに基づいて、自装置に接続されたロボットが自装置に接続されていない周辺装置と連動して動作するように、当該ロボットの動作に関する情報を生成する機能と、
生成された前記ロボットの動作に関する情報に基づいて、自装置に接続されたロボットを制御する機能と
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業用ロボットを制御する制御システム、制御装置、溶接物製造方法およびプログラムに関する。
【背景技術】
【０００２】
溶接を行う溶接ロボット等の産業用ロボットやその周辺装置は、教示データを与えることにより、その教示データで設定される作業を実行するように動作する。教示データは、例えば、ロボットや周辺装置に実行させる動作を記述したプログラムの集合で構成される。
【０００３】
例えば、特許文献１には、ロボットごとに設けられた複数の教示点を結ぶ移動経路を、独立した制御ユニットによって制御される複数のロボットが同期移動するように各ロボットを制御するロボットの制御方法について記載されている。この制御方法は、複数のロボットが隣接する２つの教示点間を移動する過程で少なくとも１回、複数のロボットのうち１つの移動情報をそのロボットの制御ユニットから残りのロボットの制御ユニットに供給する移動情報供給ステップと、全てのロボットが次の教示点に同時に到着するように、残りのロボットの速度を移動情報に基づいて調整する速度調整ステップとを備えている。
【０００４】
また、特許文献２には、ワークとワークを移動させる第１の関節手段とを有するワーク取扱装置と、ツールとツールを移動させる第２の関節手段とを有するツール移動装置とを備えた産業用ロボットシステムにおいて、連続する２個の教示点間の軌道上でワークとツールを移動させるための制御方法について記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−２８５２８７号公報
【特許文献２】特許第３０９８６１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
産業用ロボットやその周辺装置で構成されるシステムでは、各装置が連動して動作するように制御される場合がある。このような場合には、産業用ロボットや周辺装置の動作の関係を考慮してプログラムを作成することになるが、このようなプログラムの作成にかかる時間を短縮することが望まれる。
本発明の目的は、産業用ロボット及び周辺装置を連動させる際のプログラムの作成作業を軽減することにある。
【課題を解決するための手段】
【０００７】
かかる目的のもと、本発明は、第１ロボット及び周辺装置を制御する第１制御装置と、前記第１制御装置と通信回線を介して接続され、第２ロボットを制御する第２制御装置とを備え、前記第１制御装置は、前記第１ロボット及び前記周辺装置に実行させる動作が記述された教示プログラムを記憶する記憶手段と、前記記憶手段により記憶された前記教示プログラムに基づいて、前記第１ロボットと前記周辺装置とが連動して動作するように、当該第１ロボット及び当該周辺装置の動作に関する情報を生成する第１生成手段と、前記第１生成手段により生成された前記第１ロボット及び前記周辺装置の動作に関する情報に基づいて、当該第１ロボット及び当該周辺装置を制御する第１制御手段とを備え、前記第２制御装置は、前記記憶手段により記憶された前記教示プログラムまたは当該教示プログラムをもとに作成された教示プログラムを取得するプログラム取得手段と、前記プログラム取得手段により取得された教示プログラムに基づいて、自装置に接続された前記第２ロボットが自装置に接続されていない前記周辺装置と連動して動作するように、当該第２ロボットの動作に関する情報を生成する第２生成手段と、前記第２生成手段により生成された前記第２ロボットの動作に関する情報に基づいて、当該第２ロボットを制御する第２制御手段とを備えることを特徴とする制御システムである。
また、前記第１制御装置は、自装置に接続された第１操作端末において前記第１ロボットの制御を開始する入力が行われると、当該第１ロボットが制御される前の待機状態であることを通知する第１通知手段をさらに備え、前記第２制御装置は、前記第１通知手段により前記第１ロボットが待機状態であることが通知された後、自装置に接続された第２操作端末において前記第２ロボットの制御を開始する入力が行われると、当該第１ロボットの待機状態を解除するように通知する第２通知手段をさらに備えることを特徴とする。
さらに、前記第１通知手段は、前記第１ロボットの動作が停止する際、当該第１ロボットの動作が停止することを通知し、前記第２制御手段は、前記第１通知手段により前記第１ロボットの動作が停止することを通知されると、前記第２ロボットの動作を停止するように制御することを特徴とする。
【０００８】
また、他の観点から捉えると、本発明は、ロボット及び周辺装置に実行させる動作が記述された教示プログラムを取得するプログラム取得手段と、前記プログラム取得手段により取得された前記教示プログラムに基づいて、自装置に接続されたロボットが自装置に接続されていない周辺装置と連動して動作するように、当該ロボットの動作に関する情報を生成する生成手段と、前記生成手段により生成された前記ロボットの動作に関する情報に基づいて、自装置に接続されたロボットを制御する制御手段とを備えた制御装置である。
また、制御装置は、前記制御手段による前記ロボットの制御が開始される前に、前記周辺装置を制御する制御部から当該周辺装置が存在する位置の情報を取得する位置情報取得手段をさらに備え、前記生成手段は、前記位置情報取得手段により取得された前記周辺装置が存在する位置の情報をもとに、前記ロボットの動作に関する情報を生成することを特徴とする。
さらに、前記位置情報取得手段は、前記制御手段による前記ロボットの制御が開始された後、前記プログラム取得手段により取得された前記教示プログラムに基づいて、前記周辺装置が存在する位置の情報を取得することを特徴とする。
【０００９】
さらに、他の観点から捉えると、本発明は、第１制御装置により制御される第１ロボット及び周辺装置と、当該第１制御装置と通信回線を介して接続される第２制御装置により制御される第２ロボットとを用いた溶接物製造方法であって、前記第１ロボット及び前記周辺装置に実行させる動作が記述された教示プログラムに基づいて、当該第１ロボットと当該周辺装置とが連動して動作するように、当該第１ロボット及び当該周辺装置の動作に関する情報を生成するステップと、生成された前記第１ロボット及び前記周辺装置の動作に関する情報に基づいて、当該第１ロボット及び当該周辺装置を制御し、溶接物に対する溶接を行うステップと、前記教示プログラムまたは当該教示プログラムをもとに作成された教示プログラムに基づいて、前記第２制御装置に接続された前記第２ロボットが当該第２制御装置に接続されていない前記周辺装置と連動して動作するように、当該第２ロボットの動作に関する情報を生成するステップと、生成された前記第２ロボットの動作に関する情報に基づいて、当該第２ロボットを制御し、前記溶接物に対する溶接を行うステップとを含む溶接物製造方法である。
【００１０】
そして、他の観点から捉えると、本発明は、コンピュータに、ロボット及び周辺装置に実行させる動作が記述された教示プログラムを取得する機能と、取得された前記教示プログラムに基づいて、自装置に接続されたロボットが自装置に接続されていない周辺装置と連動して動作するように、当該ロボットの動作に関する情報を生成する機能と、生成された前記ロボットの動作に関する情報に基づいて、自装置に接続されたロボットを制御する機能とを実現させるためのプログラムである。
【発明の効果】
【００１１】
本発明によれば、産業用ロボット及び周辺装置を連動させる際のプログラムの作成作業を軽減することができる。
【図面の簡単な説明】
【００１２】
【図１】本実施の形態に係る溶接ロボットシステムの概略構成の一例を示す図である。
【図２】本実施の形態に係る第１制御装置及び第２制御装置の機能構成例を示すブロック図である。
【図３】第１制御装置による処理手順の一例を示したフローチャートである。
【図４】第２制御装置による処理手順の一例を示したフローチャートである。
【図５】第１溶接ロボット、第２溶接ロボット、ポジショナが最初の教示点に達するまでの一連の処理の一例を示したシーケンス図である。
【図６】第１溶接ロボット及び第２溶接ロボットの確認動作にて実行される一連の処理の一例を示したシーケンス図である。
【図７】本実施の形態に係る第１制御装置及び第２制御装置のハードウェア構成例を示す図である。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。まず、本実施の形態の概要について説明する。
溶接ロボットシステムでは、溶接ロボットとともに周辺装置が制御される場合がある。周辺装置としては、例えば、溶接対象となるワークを移動、回転させてワークの位置を決める装置であるポジショナや、溶接ロボットを移動させる装置であるスライダなどが該当する。
【００１４】
ここで、溶接ロボット及び周辺装置に実行させる動作は教示プログラムに定義されている。例えば、周辺装置と溶接ロボットとを連動させる場合、各装置の動作が連動するような教示プログラムが作成される。ここで作成される教示プログラムには、溶接ロボットの情報に加えて周辺装置の情報が含まれており、この教示プログラムをそのまま用いても単一の溶接ロボットは動作しない場合がある。即ち、周辺装置及び溶接ロボットに加えて、単一の溶接ロボットを連動させる場合、操作者は、周辺装置に接続された溶接ロボット用の教示プログラムと、単一の溶接ロボット用の教示プログラムとを別々に作成することが考えられる。また、単一の溶接ロボットを周辺装置と連動させるために、操作者は、単一の溶接ロボットには接続されていない周辺装置の動作も考慮した上で、単一の溶接ロボット用の教示プログラムを作成することが求められる。
そのため以下にて、教示プログラムの作成作業の軽減を実現する手順について説明する。
【００１５】
＜システム構成＞
まず、本実施の形態に係る溶接ロボットシステム１について説明する。図１は、本実施の形態に係る溶接ロボットシステム１の概略構成の一例を示す図である。
図１に示すように、制御システムの一例としての溶接ロボットシステム１は、溶接に関する各種の作業を行う第１溶接ロボット１０と、溶接する対象物であり、溶接物の一例としてのワーク２１の位置を決めるポジショナ２０と、第１溶接ロボット１０及びポジショナ２０を制御する第１制御装置３０と、溶接作業に関する設定や教示プログラムの作成等に使用される第１教示ペンダント４０とを備える。また、溶接ロボットシステム１は、溶接に関する各種の作業を行う第２溶接ロボット５０と、第２溶接ロボット５０を制御する第２制御装置６０と、溶接作業に関する設定や教示プログラムの作成等に使用される第２教示ペンダント７０とを備える。また、第１制御装置３０と第２制御装置６０とはネットワーク８０を介して接続される。
【００１６】
第１ロボットの一例としての第１溶接ロボット１０は、関節を有する腕（アーム）を備え、教示プログラムに基づく溶接に関する各種作業を行う。また、第１溶接ロボット１０の腕の先端には、ワーク２１に対する溶接作業を行うための溶接トーチ１１が設けられる。
ポジショナ２０は、関節を有し、教示プログラムに基づいてワーク２１の位置を調節する。
【００１７】
第１制御装置３０は、予め教示された教示プログラムを記憶し、記憶している教示プログラムを読み込んで、第１溶接ロボット１０及びポジショナ２０の動作を制御する。教示プログラムは、例えば、教示ペンダント４０から送信される場合や、教示プログラムの作成装置（不図示）により作成され、データ通信により送信される場合等がある。また、教示プログラムは、例えば、メモリカード等のリムーバブルな記憶媒体を介して第１制御装置３０に渡される場合もあるものとする。
【００１８】
第１操作端末の一例としての第１教示ペンダント４０は、第１溶接ロボット１０による溶接作業を行うために、操作者が溶接作業に関する設定をしたり、教示プログラムを作成したりするために使用される。また、第１教示ペンダント４０は、第１溶接ロボット１０の操作を行うための入力ボタンを有する。入力ボタンには、例えば、第１溶接ロボット１０の動作を開始する開始ボタンや、第１溶接ロボット１０を前進させる前進キー等が存在する。また、例えば、操作者により開始ボタン及び前進キーが押下されると、第１溶接ロボット１０において、ワーク２１に対する溶接作業時の移動経路等を確認するための確認動作が行われる。確認動作では、第１溶接ロボット１０は教示プログラムをもとに動作し、第１溶接ロボット１０が溶接作業の教示点に沿って移動するか、溶接トーチ１１により溶接作業が正常に実行されるか等の項目が操作者により確認される。
【００１９】
第２ロボットの一例としての第２溶接ロボット５０は、第１溶接ロボット１０と同様の機能を有し、関節を有する腕（アーム）を備え、教示プログラムに基づく溶接に関する各種作業を行う。また、第２溶接ロボット５０の腕の先端には、ワーク２１に対する溶接作業を行うための溶接トーチ５１が設けられる。
【００２０】
第２制御装置６０は、通信回線の一例としてのネットワーク８０を介して、第１制御装置３０から教示プログラムを受信し、受信した教示プログラムに基づいて、第２溶接ロボット５０の動作を制御する。ただし、教示プログラムは、例えば、メモリカード等のリムーバブルな記憶媒体を介して第１制御装置３０から第２制御装置６０に渡される場合等もあるものとする。
【００２１】
第２操作端末の一例としての第２教示ペンダント７０は、第１教示ペンダント４０と同様の機能を有し、第２溶接ロボット５０による溶接作業を行うために、操作者が溶接作業に関する設定をしたり、教示プログラムを作成したりするために使用される。また、第２教示ペンダント７０は、第１教示ペンダント４０と同様に、開始ボタンや前進キー等の入力ボタンを有する。そして、例えば、操作者により開始ボタン及び前進キーが押下されると、第１溶接ロボット１０と同様に、第２溶接ロボット５０において、ワーク２１に対する溶接作業時の移動経路等を確認するための確認動作が行われる。
【００２２】
ネットワーク８０は、第１制御装置３０と第２制御装置６０との間に用いられる通信手段であり、例えば、イーサネット（登録商標）によるＬＡＮ（Local Area Network）で構成することができる。
【００２３】
ここで、本実施の形態において、第１溶接ロボット１０及び第２溶接ロボット５０は、従来技術により、移動経路に設けられた複数の教示点に対して同期して移動し、各装置のそれぞれの教示点に同時に到着するように連動して制御されるものとする。
【００２４】
例えば、第１制御装置３０は、第１溶接ロボット１０がその時位置する点から第１溶接ロボット１０の次の教示点に達するまでの移動時間を、例えば一定周期ごとに計算し、計算した移動時間を第２制御装置６０に通知する。第２制御装置６０は、第１制御装置３０から第１溶接ロボット１０の移動時間を受信すると、第１溶接ロボット１０及び第２溶接ロボット５０がそれぞれの次の教示点に同時に到着するように、受信した移動時間に基づいて第２溶接ロボット５０の速度を調整する。
【００２５】
ただし、移動時間の通知において、第１制御装置３０は、一定周期ごとに移動時間を計算して通知する構成に限られるものではなく、第１溶接ロボット１０、第２溶接ロボット５０が２つの教示点間を移動する過程で少なくとも１回通知すれば良い。さらに、速度の調整において、第２制御装置６０は、第１制御装置３０と第２制御装置６０との間の通信に要する時間も考慮して第２溶接ロボット５０の速度を調整することとしても良い。
【００２６】
このように、第１制御装置３０が第１溶接ロボット１０の移動時間を第２制御装置６０に通知することで、第２制御装置６０は、２台の溶接ロボットがそれぞれの次の教示点に同時に到着するように、第２溶接ロボット５０の速度を調整する。また、各溶接ロボットが次の教示点に到着するまでに移動時間の通知が行われるため、例えば、第１溶接ロボット１０、第２溶接ロボット５０の速度や移動経路が変更されても、各溶接ロボットはそれぞれの教示点に同時に到着するように制御される。
【００２７】
また、本実施の形態において、第１溶接ロボット１０及びポジショナ２０は、従来技術により、移動経路に設けられた複数の教示点に対して同期して移動し、各装置のそれぞれの教示点に同時に到着するように連動して制御されるものとする。
【００２８】
例えば、第１制御装置３０は、ポジショナ２０によって移動または回転されるワーク２１を基準とした座標系（以下、ワーク座標系と称する）において、第１溶接ロボット１０の溶接トーチ１１の位置や経路を計算する。そして、第１制御装置３０は、ワーク座標系における溶接トーチ１１の位置を一定周期ごとに更新し、更新した溶接トーチ１１の位置をもとに、第１溶接ロボット１０及びポジショナ２０の関節位置を計算してそれぞれの関節を駆動する。このようにして、第１制御装置３０は、第１溶接ロボット１０及びポジショナ２０を同時に動作させながらワーク２１に対する溶接トーチ１１の姿勢及び速度を保ち、第１溶接ロボット１０とポジショナ２０とがそれぞれの教示点に同時に到着するように制御する。
【００２９】
＜制御装置の機能構成＞
次に、第１制御装置３０及び第２制御装置６０の機能構成について説明する。図２は、本実施の形態に係る第１制御装置３０及び第２制御装置６０の機能構成例を示すブロック図である。
まず、第１制御装置３０の機能構成について説明する。図２に示すように、第１制御装置３０は、教示プログラムを格納する第１教示プログラム記憶部３１と、教示プログラムの命令を第１経路算出部３３に出力する第１命令解釈部３２と、第１溶接ロボット１０及びポジショナ２０の移動経路に関する情報（以下、移動経路に関する情報を移動情報と称する）を算出する第１経路算出部３３とを備える。また、第１制御装置３０は、算出された移動情報に基づいて第１溶接ロボット１０を目標位置まで移動させる第１ロボット駆動部３４と、算出された移動情報に基づいてポジショナ２０を目標位置まで移動させるポジショナ駆動部３５とを備える。
【００３０】
記憶手段の一例としての第１教示プログラム記憶部３１は、予め教示された教示プログラムを記憶する。記憶された教示プログラムは、第１命令解釈部３２からの要求により第１命令解釈部３２に出力される。ここで、教示プログラムには、制御対象となる装置に関して、移動の目標位置や、移動速度等の情報が含まれている。
【００３１】
第１通知手段の一例としての第１命令解釈部３２は、操作者からの入力を受け付け、受け付けた入力内容に応じた教示プログラムを第１教示プログラム記憶部３１から取得する。操作者からの入力は、例えば、操作者が第１制御装置３０を直接操作して行われる場合や、操作者が第１教示ペンダント４０（図１参照）を操作して行われる場合等がある。そして、第１命令解釈部３２は、取得した教示プログラムの命令を第１経路算出部３３に出力する。
【００３２】
また、第１命令解釈部３２は、操作者からの入力をもとに、第１教示プログラム記憶部３１に記憶された教示プログラムのうち第２制御装置６０で用いられる教示プログラムを、ネットワーク８０を介して第２制御装置６０に送信する。ただし、上述したように、教示プログラムは、例えば、メモリカード等の記憶媒体を介して第２制御装置６０に渡される場合等もあるものとする。
【００３３】
さらに、第１命令解釈部３２は、確認動作として、操作者による教示ペンダント４０の開始ボタン及び前進キーを押下する入力を受け付けると、第１溶接ロボット１０が確認動作の待機状態であることを第２制御装置６０に通知する。そして、第１命令解釈部３２は、第２制御装置６０から待機状態を解除するように通知されると、第１溶接ロボット１０の待機状態を解除し、確認動作のために第１教示プログラム記憶部３１から教示プログラムを取得して第１経路算出部３３に出力する。
【００３４】
また、第１命令解釈部３２は、第２制御装置６０から第２溶接ロボット５０が確認動作の待機状態であることを通知された後に、教示ペンダント４０の開始ボタン及び前進キーを押下する入力を受け付けると、第２溶接ロボット５０の待機状態を解除するように第２制御装置６０に通知する。そして、第１命令解釈部３２は、確認動作のために第１教示プログラム記憶部３１から教示プログラムを取得して第１経路算出部３３に出力する。
【００３５】
そして、第１命令解釈部３２は、第１溶接ロボット１０が確認動作において停止する場合、第１溶接ロボット１０が停止する旨を第２制御装置６０に通知する。また、第１命令解釈部３２は、第２制御装置６０から第２溶接ロボット５０が確認動作において停止する旨の通知を受けると、第１ロボット駆動部３４に対して第１溶接ロボット１０を停止させるように通知し、ポジショナ駆動部３５に対してポジショナ２０を停止させるように通知する。
【００３６】
第１生成手段の一例としての第１経路算出部３３は、第１命令解釈部３２から取得した命令に基づいて、第１溶接ロボット１０及びポジショナ２０が連動して動作するように、第１溶接ロボット１０及びポジショナ２０の移動情報を算出する。ここで、第１経路算出部３３は、第１溶接ロボット１０の移動情報として、第１溶接ロボット１０が、取得した命令に基づく目標位置へ移動するまでの移動情報を算出する。また、第１経路算出部３３は、ポジショナ２０の移動情報として、ポジショナ２０が、取得した命令に基づく目標位置へ移動するまでの移動情報を算出する。
【００３７】
また、上述したように、第１溶接ロボット１０及びポジショナ２０は同期して移動するように制御されるため、第１経路算出部３３は、第１溶接ロボット１０の移動情報の算出においてポジショナ２０の移動も考慮する。即ち、第１経路算出部３３は、ワーク２１を基準としたワーク座標系において溶接トーチ１１の位置や経路を計算し、第１溶接ロボット１０及びポジショナ２０の移動情報を算出する。
【００３８】
ここで、移動情報は、第１溶接ロボット１０、ポジショナ２０等の各装置に対して指定された目標位置や、目標位置までの移動経路、移動時間、移動速度等の情報である。そして、第１経路算出部３３は、算出した第１溶接ロボット１０の移動情報を第１ロボット駆動部３４に出力し、算出したポジショナ２０の移動情報をポジショナ駆動部３５に出力する。
【００３９】
また、上述したように、第１溶接ロボット１０及び第２溶接ロボット５０は同期して移動するように制御されるため、第１経路算出部３３は、第１溶接ロボット１０が位置する点から次の教示点に達するまでの移動時間を、例えば一定周期ごとに第２制御装置６０に通知する。
さらに、第１経路算出部３３は、第２制御装置６０の要求に応じて、ポジショナ２０の現在位置の情報を第２制御装置６０に送信する。送信されたポジショナ２０の現在位置は、第２経路算出部６３による移動情報の算出に用いられるが、詳細については後述する。
【００４０】
第１制御手段の一例としての第１ロボット駆動部３４は、第１経路算出部３３から取得した第１溶接ロボット１０の移動情報に基づいて、第１溶接ロボット１０を第１溶接ロボット１０の目標位置まで移動させる。また、第１ロボット駆動部３４は、第１溶接ロボット１０の確認動作において、第１命令解釈部３２から第１溶接ロボット１０を停止させるように通知されると、第１溶接ロボット１０を停止させる。
【００４１】
第１制御手段の一例としてのポジショナ駆動部３５は、第１経路算出部３３から取得したポジショナ２０の移動情報に基づいて、ポジショナ２０をポジショナ２０の目標位置まで移動させる。また、ポジショナ駆動部３５は、第１溶接ロボット１０の確認動作において、第１命令解釈部３２からポジショナ２０を停止させるように通知されると、ポジショナ２０を停止させる。
【００４２】
次に、第２制御装置６０の機能構成について説明する。図２に示すように、第２制御装置６０は、教示プログラムを格納する第２教示プログラム記憶部６１と、教示プログラムの命令を第２経路算出部６３に出力する第２命令解釈部６２と、第２溶接ロボット５０及びポジショナ２０の移動情報を算出する第２経路算出部６３とを備える。また、第２制御装置６０は、算出された移動情報に基づいて第２溶接ロボット５０を目標位置まで移動させる第２ロボット駆動部６４と、算出されたポジショナ２０の移動情報を記憶するポジショナ経路記憶部６５とを備える。
【００４３】
第２教示プログラム記憶部６１は、第１制御装置３０から送信等された教示プログラムを記憶する。記憶された教示プログラムは、第２命令解釈部６２からの要求により第２命令解釈部６２に出力される。
【００４４】
プログラム取得手段、第２通知手段の一例としての第２命令解釈部６２は、第１命令解釈部３２と同様に、操作者からの入力を受け付け、受け付けた入力内容に応じた教示プログラムを第２教示プログラム記憶部６１から取得する。そして、第２命令解釈部６２は、第２溶接ロボット５０の動作に応じて教示プログラムの変換を行った後、変換後の教示プログラムの命令を第２経路算出部６３に出力する。
【００４５】
例えば、第１溶接ロボット１０と第２溶接ロボット５０とがワーク２１に対して対称の動作をする場合、第２命令解釈部６２は、第１溶接ロボット１０と第２溶接ロボット５０との動作が対称となるように教示プログラムの変換を行う。ただし、第２命令解釈部６２は、操作者が望む第２溶接ロボット５０の動作に合わせて教示プログラムを変換すれば良く、教示プログラムをどのように変換しても良いものとする。また、第２溶接ロボット５０の動作として、第１制御装置３０の教示プログラムをそのまま用いて動作させれば良い場合には、第２命令解釈部６２は、教示プログラムを変換せずに用いるものとする。
【００４６】
また、第２命令解釈部６２は、第２制御装置６０の制御対象ではないポジショナ２０の移動情報を算出するように、操作者による設定の入力を受け付ける。そのため、第２命令解釈部６２は、教示プログラムに制御対象ではないポジショナ２０の情報が含まれていても、教示プログラムを取得して第２経路算出部６３に出力する。
【００４７】
さらに、第２命令解釈部６２は、第１命令解釈部３２と同様に、確認動作として、操作者による教示ペンダント７０の開始ボタン及び前進キーを押下する入力を受け付けると、第２溶接ロボット５０が確認動作の待機状態であることを第１制御装置３０に通知する。そして、第２命令解釈部６２は、第１制御装置３０から待機状態を解除するように通知されると、第２溶接ロボット５０の待機状態を解除し、確認動作のために第２教示プログラム記憶部６１から教示プログラムを取得して第２経路算出部６３に出力する。
【００４８】
そして、第２命令解釈部６２は、第１制御装置３０から第１溶接ロボット１０が確認動作の待機状態であることを通知された後に、教示ペンダント７０の開始ボタン及び前進キーを押下する入力を受け付けると、第１溶接ロボット１０の待機状態を解除するように第１制御装置３０に通知する。そして、第２命令解釈部６２は、確認動作のために第２教示プログラム記憶部６１から教示プログラムを取得して第２経路算出部６３に出力する。
【００４９】
また、第２命令解釈部６２は、第２溶接ロボット５０が確認動作において停止する場合、第２溶接ロボット５０が停止する旨を第１制御装置３０に通知する。また、第２命令解釈部６２は、第１制御装置３０から第１溶接ロボット１０が確認動作において停止する旨の通知を受けると、第２ロボット駆動部６４に対して第２溶接ロボット５０を停止させるように通知する。
【００５０】
生成手段、第２生成手段、位置情報取得手段の一例としての第２経路算出部６３は、第２命令解釈部６２から取得した命令に基づいて、第２溶接ロボット５０がポジショナ２０と連動して動作するように、第２溶接ロボット５０及びポジショナ２０の移動情報を算出する。ここで、第２経路算出部６３は、第２溶接ロボット５０の移動情報として、第２溶接ロボット５０が、取得した命令に基づく目標位置へ移動するまでの移動情報を算出する。また、第２経路算出部６３は、ポジショナ２０の移動情報として、ポジショナ２０が、取得した命令に基づく目標位置へ移動するまでの移動情報を算出する。
【００５１】
ここで、第２制御装置６０とポジショナ２０とは接続されていないが、第２経路算出部６３は、第１制御装置３０からポジショナ２０の現在位置を取得し、取得した現在位置から目標位置に向けてポジショナ２０が移動するものとして、ポジショナ２０の移動情報を算出する。また、第２経路算出部６３は、第１経路算出部３３と同様に、第２溶接ロボット５０の移動情報の算出において、ポジショナ２０の移動も考慮する。即ち、第２経路算出部６３は、ワーク２１を基準としたワーク座標系において溶接トーチ５１の位置や経路を計算し、第２溶接ロボット５０及びポジショナ２０の移動情報を算出する。次に、第２経路算出部６３は、算出した第２溶接ロボット５０の移動情報を第２ロボット駆動部６４に出力し、算出したポジショナ２０の移動情報をポジショナ経路記憶部６５に記憶する。
【００５２】
また、上述したように、第１溶接ロボット１０及び第２溶接ロボット５０は同期して移動するように制御されるため、第２経路算出部６３は、第１制御装置３０から受信した第１溶接ロボット１０の移動時間に基づいて第２溶接ロボット５０の速度を調節する。
【００５３】
制御手段、第２制御手段の一例としての第２ロボット駆動部６４は、第２経路算出部６３から取得した第２溶接ロボット５０の移動情報に基づいて、第２溶接ロボット５０を第２溶接ロボット５０の目標位置まで移動させる。また、第２ロボット駆動部６４は、第２溶接ロボット５０の確認動作において、第２命令解釈部６２から第２溶接ロボット５０を停止させるように通知されると、第２溶接ロボット５０を停止させる。
【００５４】
ポジショナ経路記憶部６５は、第２経路算出部６３から出力されたポジショナ２０の移動情報を記憶する。
【００５５】
＜第１制御装置の処理手順＞
次に、第１溶接ロボット１０、ポジショナ２０を動作させるための第１制御装置３０の処理手順について説明する。図３は、第１制御装置３０による処理手順の一例を示したフローチャートである。また、図３の処理で用いられる教示プログラムには、第１溶接ロボット１０、ポジショナ２０の目標位置として複数の教示点が定められているものとする。
【００５６】
まず、第１命令解釈部３２は、操作者から動作開始の入力を受け付け（ステップ１０１）、受け付けた入力内容に応じた教示プログラムを第１教示プログラム記憶部３１から取得する（ステップ１０２）。そして、第１命令解釈部３２は、取得した教示プログラムの命令を第１経路算出部３３に出力する。次に、第１経路算出部３３は、取得した命令に基づいて、第１溶接ロボット１０及びポジショナ２０の移動情報を算出する（ステップ１０３）。そして、第１経路算出部３３は、算出した第１溶接ロボット１０の移動情報を第１ロボット駆動部３４に出力し、算出したポジショナ２０の移動情報をポジショナ駆動部３５に出力する。
【００５７】
次に、第１ロボット駆動部３４は、取得した第１溶接ロボット１０の移動情報をもとに、第１溶接ロボット１０を第１溶接ロボット１０の目標位置である教示点まで移動させる。また、ポジショナ駆動部３５は、取得したポジショナ２０の移動情報をもとに、ポジショナ２０をポジショナ２０の目標位置である教示点まで移動させる（ステップ１０４）。ここで、教示プログラムに溶接を実行する命令が含まれていれば、溶接トーチ１１により、ワーク２１に対する溶接が行われ、溶接物の製造が行われる。そして、第１溶接ロボット１０及びポジショナ２０の移動完了後、第１経路算出部３３は、第１溶接ロボット１０及びポジショナ２０の現在位置を取得する（ステップ１０５）。
【００５８】
また、第１経路算出部３３は、第１溶接ロボット１０及びポジショナ２０を次の教示点へ移動させるための命令を第１命令解釈部３２に要求する。そして、第１命令解釈部３２は、到着した現在の教示点が最終教示点か否かを判定する（ステップ１０６）。最終教示点であれば（ステップ１０６でＹｅｓ）、第１制御装置３０及びポジショナ２０は最終的な目標位置に達したことになるため、本処理フローは終了する。一方、最終教示点でなければ（ステップ１０６でＮｏ）、ステップ１０２に移行し、第１命令解釈部３２は引き続き第１教示プログラム記憶部３１から教示プログラムを取得する。
【００５９】
＜第２制御装置の処理手順＞
次に、第２溶接ロボット５０を動作させるための第２制御装置６０の処理手順について説明する。図４は、第２制御装置６０による処理手順の一例を示したフローチャートである。また、第２制御装置６０が図４に示す手順により第２溶接ロボット５０を制御するのと並行して、第１制御装置３０が図３に示す手順により第１溶接ロボット１０及びポジショナ２０を制御するものとする。さらに、図４の処理で用いられる教示プログラムには、第２溶接ロボット５０の目標位置として複数の教示点が定められているものとする。
【００６０】
まず、第２命令解釈部６２は、操作者から動作開始の入力を受け付け（ステップ２０１）、受け付けた入力内容に応じた教示プログラムを第２教示プログラム記憶部６１から取得する（ステップ２０２）。ここで、第２命令解釈部６２が取得する教示プログラムは、ステップ１０２で第１命令解釈部３２が取得する教示プログラムと同一のプログラムである。また、ステップ２０１の操作者からの入力は、ステップ１０１の操作者からの入力とほぼ同時に行われるものとする。ただし、第１溶接ロボット１０及び第２溶接ロボット５０は、同期して移動するように制御されるため、操作者からの入力のタイミングにずれが生じても教示点間ではそれぞれの教示点にほぼ同時に到着することとなる。そして、第２命令解釈部６２は、第２溶接ロボット５０の動作に応じて、取得した教示プログラムの変換を行った後、変換後の教示プログラムの命令を第２経路算出部６３に出力する。
【００６１】
次に、第２経路算出部６３は、第１制御装置３０に対して、ポジショナ２０の現在位置の情報を要求し（ステップ２０３）、第１制御装置３０の第１経路算出部３３からポジショナ２０の現在位置の情報を取得する（ステップ２０４）。そして、第２経路算出部６３は、第２命令解釈部６２から取得した命令に基づいて、また、取得したポジショナ２０の現在位置も考慮して、第２溶接ロボット５０及びポジショナ２０の移動情報を算出する（ステップ２０５）。
【００６２】
そして、第２経路算出部６３は、算出した第２溶接ロボット５０の移動情報を第２ロボット駆動部６４に出力し、算出したポジショナ２０の移動情報をポジショナ経路記憶部６５に記憶する。付言すると、ステップ２０５で第２経路算出部６３が算出するポジショナ２０の移動情報は、ステップ１０３で第１経路算出部３３が算出するポジショナ２０の移動情報と同じ内容であり、第２溶接ロボット５０は、第１制御装置３０により制御されるポジショナ２０と連動して移動することとなる。
【００６３】
次に、第２ロボット駆動部６４は、取得した第２溶接ロボット５０の移動情報をもとに、第２溶接ロボット５０を第２溶接ロボット５０の目標位置である教示点まで移動させる（ステップ２０６）。ここで、教示プログラムに溶接を実行する命令が含まれていれば、溶接トーチ５１により、ワーク２１に対する溶接が行われ、溶接物の製造が行われる。そして、第２溶接ロボット５０の移動完了後、第２経路算出部６３は、第２溶接ロボット５０の現在位置を取得するとともに、ポジショナ経路記憶部６５から教示プログラムの命令に基づく目標位置である教示点を取得し、ポジショナ２０の現在位置として反映する（ステップ２０７）。
【００６４】
また、第２経路算出部６３は、第２溶接ロボット５０を次の教示点へ移動させるための命令を第２命令解釈部６２に要求する。そして、第２命令解釈部６２は、到着した現在の教示点が最終教示点か否かを判定する（ステップ２０８）。最終教示点であれば（ステップ２０８でＹｅｓ）、第２溶接ロボット５０は最終的な目標位置に達したことになるため、本処理フローは終了する。一方、最終教示点でなければ（ステップ２０８でＮｏ）、第２命令解釈部６２は引き続き第２教示プログラム記憶部６１から教示プログラムを取得し（ステップ２０９）、ステップ２０５へ移行する。
【００６５】
＜各装置の動作に関する処理の例＞
次に、第１溶接ロボット１０、第２溶接ロボット５０、ポジショナ２０を動作させるための一連の処理について説明する。図５は、第１溶接ロボット１０、第２溶接ロボット５０、ポジショナ２０が最初の教示点に達するまでの一連の処理の一例を示したシーケンス図である。図５に示す処理において、第１溶接ロボット１０は移動開始点Ａ０から最初の教示点Ａ１に移動し、第２溶接ロボット５０は移動開始点Ｂ０から最初の教示点Ｂ１に移動するものとする。また、ポジショナ２０は、移動開始点Ｃ０から最初の教示点Ｃ１に移動するものとする。さらに、第２教示プログラム記憶部６１には、予め第１制御装置３０から送信された教示プログラムが記憶されているものとする。
【００６６】
まず、第１命令解釈部３２は、操作者から動作開始の入力を受け付け、受け付けた入力内容に応じた教示プログラムを第１教示プログラム記憶部３１から取得する（ステップ３０１）。また、第２命令解釈部６２は、第１命令解釈部３２と同様に、操作者から動作開始の入力を受け付け、第１命令解釈部３２が取得したものと同じ教示プログラムを、第２教示プログラム記憶部６１から取得する（ステップ３０２）。そして、第１命令解釈部３２は、取得した教示プログラムの命令を第１経路算出部３３に出力する。また、第２命令解釈部６２は、第２溶接ロボット５０の動作に応じて、取得した教示プログラムの変換を行った後、変換後の教示プログラムの命令を第２経路算出部６３に出力する。
【００６７】
次に、第２経路算出部６３は、第１制御装置３０に対して、ポジショナ２０の現在位置の情報を要求すると（ステップ３０３）、第１経路算出部３３は、要求に応じて、ポジショナ２０の現在位置（点Ｃ０）の情報を第２経路算出部６３に送信する（ステップ３０４）。そして、第２経路算出部６３は、ポジショナ２０の現在位置（点Ｃ０）の情報を取得する（ステップ３０５）。
【００６８】
次に、第１経路算出部３３は、第１命令解釈部３２から取得した命令に基づいて、第１溶接ロボット１０及びポジショナ２０の移動情報を算出する（ステップ３０６）。ここで、第１経路算出部３３は、第１溶接ロボット１０の移動情報として、第１溶接ロボット１０が現在位置（点Ａ０）から教示点（点Ａ１）へ移動するまでの移動情報を算出する。また、第１経路算出部３３は、ポジショナ２０の移動情報として、ポジショナ２０が現在位置（点Ｃ０）から教示点（点Ｃ１）へ移動するまでの移動情報を算出する。
【００６９】
そして、第１ロボット駆動部３４は、第１溶接ロボット１０を第１溶接ロボット１０の教示点（点Ａ１）まで移動させ、ポジショナ駆動部３５は、ポジショナ２０をポジショナ２０の教示点（点Ｃ１）まで移動させる（ステップ３０７）。第１溶接ロボット１０及びポジショナ２０の移動完了後、第１経路算出部３３は、第１溶接ロボット１０の現在位置（点Ａ１）とポジショナの現在位置（点Ｃ１）とを取得する（ステップ３０８）。そして、第１溶接ロボット１０及びポジショナ２０は、引き続き最終教示点に達するまで制御される。
【００７０】
また、第２経路算出部６３は、第２命令解釈部６２から取得した命令に基づいて、第２溶接ロボット５０及びポジショナ２０の移動情報を算出する（ステップ３０９）。ここで、第２経路算出部６３は、第２溶接ロボット５０の移動情報として、第２溶接ロボット５０が現在位置（点Ｂ０）から教示点（点Ｂ１）へ移動するまでの移動情報を算出する。また、第２経路算出部６３は、ポジショナ２０の移動情報として、ポジショナ２０が、第１制御装置３０から取得したポジショナ２０の現在位置（点Ｃ０）から教示点（点Ｃ１）へ移動するまでの移動情報を算出する。
【００７１】
そして、第２ロボット駆動部６４は、第２溶接ロボット５０を第２溶接ロボット５０の教示点（点Ｂ１）まで移動させる（ステップ３１０）。また、第２溶接ロボット５０の移動完了後、第２経路算出部６３は、第２溶接ロボット５０の現在位置（点Ｂ１）を取得するとともに、教示プログラムの命令に基づくポジショナ２０の目標位置である教示点（点Ｃ１）をポジショナ２０の現在位置として反映する（ステップ３１１）。そして、第２溶接ロボット５０は、引き続き最終教示点に達するまで制御される。その際、第２経路算出部６３は、ステップ３０３のようにポジショナ２０の現在位置の情報を要求せず、ステップ３１１のように教示プログラムの命令に基づく目標位置にポジショナ２０が到着したものとして、第２溶接ロボット５０及びポジショナ２０の移動情報を算出する。
また、上記のステップ３０１、３０４〜３０８の第１制御装置３０の処理は、ステップ３０２、３０３、３０５、３０９〜３１１の第２制御装置６０の処理と並行して行われるものとする。
【００７２】
以上のように、第１制御装置３０は、第１溶接ロボット１０及びポジショナ２０の動作を制御し、第２制御装置６０は、第２溶接ロボット５０の動作を制御する。そして、第２制御装置６０は、ポジショナ２０の動作を制御しないが、第１制御装置３０の教示プログラムに基づいてポジショナ２０の移動情報を算出し、算出した移動情報に基づいてポジショナ２０が移動しているものとして第２溶接ロボット５０の動作を制御する。そして、第１溶接ロボット１０、第２溶接ロボット５０及びポジショナ２０を連動して動作させるために、第１溶接ロボット１０の教示プログラムを用いて第２溶接ロボット５０を動作させることとなり、教示プログラムの作成作業が軽減される。
【００７３】
また、第２経路算出部６３は、第２溶接ロボット５０が動作を開始する時点でポジショナ２０の現在位置を第１制御装置３０に要求するため、第２溶接ロボット５０が他装置と連動し易くなり、各装置が接触する等の不具合が抑制される。また、第２経路算出部６３は、第２溶接ロボット５０の動作開始後、ポジショナ２０の現在位置を第１制御装置３０に要求せずに、教示プログラムの命令に基づく目標位置にポジショナ２０が到着したものとして、第２溶接ロボット５０及びポジショナ２０の移動情報を算出する。そのため、第２経路算出部６３が常時ポジショナ２０の現在位置を要求するような構成と比較して、通信遅れ等の通信不良による影響が抑制される。
【００７４】
また、第１経路算出部３３は、ステップ３０４において、移動開始点Ｃ０の情報をポジショナ２０の現在位置として送信したが、このような構成に限られるものではない。例えば、第１経路算出部３３がポジショナ２０の現在位置を送信する際、すでにステップ３０７の処理によりポジショナ２０の移動が開始されていても良い。この場合、第１経路算出部３３は、移動開始点Ｃ０の情報ではなく、ポジショナ２０の現在位置（例えば、点Ｃ０と点Ｃ１との間の点Ｃ２）の情報をポジショナ２０の現在位置として送信すれば良い。
【００７５】
＜確認動作の処理手順＞
次に、第１溶接ロボット１０、第２溶接ロボット５０による確認動作について説明する。図６は、第１溶接ロボット１０及び第２溶接ロボット５０の確認動作にて実行される一連の処理の一例を示したシーケンス図である。以下の処理では、第１溶接ロボット１０及び第２溶接ロボット５０が停止している状態で、先に第１教示ペンダント４０にて開始ボタン及び前進キーに対する操作が行われるものとする。また、第１溶接ロボット１０及び第２溶接ロボット５０が動作している状態で、先に第１溶接ロボット１０が停止するものとする。
【００７６】
まず、操作者により第１教示ペンダント４０の開始ボタン及び前進キー（入力ボタン）が押下（ＯＮ）されると（ステップ４０１）、第１溶接ロボット１０は、確認動作を開始する前の待機状態となる。そして、第１命令解釈部３２は、第１溶接ロボット１０が確認動作の待機状態であることを第２制御装置６０に通知する（ステップ４０２）。
【００７７】
次に、操作者により第２教示ペンダント７０の開始ボタン及び前進キー（入力ボタン）が押下（ＯＮ）されると（ステップ４０３）、第２命令解釈部６２は、第１溶接ロボット１０の待機状態を解除するように第１制御装置３０に通知する（ステップ４０４）。第１命令解釈部３２は、第２命令解釈部６２から待機状態を解除する旨の通知を受けると、第１溶接ロボット１０の待機状態を解除する（ステップ４０５）。そして、第１命令解釈部３２は、第１教示プログラム記憶部３１から教示プログラムを取得し、取得した教示プログラムの命令を第１経路算出部３３に出力する。また、第１ロボット駆動部３４は、第１経路算出部３３により算出された第１溶接ロボット１０及びポジショナ２０の移動情報に基づいて、第１溶接ロボット１０及びポジショナ２０を移動させて確認動作を実行する（ステップ４０６）。
【００７８】
また、第２命令解釈部６２は、ステップ４０４で待機状態を解除するように第１制御装置３０に通知した後、第２教示プログラム記憶部６１から教示プログラムを取得し、取得した教示プログラムの命令を第２経路算出部６３に出力する。そして、第２ロボット駆動部６４は、第２経路算出部６３により算出された第２溶接ロボット５０及びポジショナ２０移動情報に基づいて、第２溶接ロボット５０を移動させて確認動作を実行する（ステップ４０７）。
【００７９】
また、第１溶接ロボット１０が停止する場合、第１命令解釈部３２は、第１溶接ロボット１０が停止する旨を第２制御装置６０に通知する（ステップ４０８）。第２命令解釈部６２は、第１溶接ロボット１０が停止する旨の通知を受けると、第２ロボット駆動部６４に対して第２溶接ロボット５０を停止させるように通知し、第２ロボット駆動部６４は第２溶接ロボット５０を停止する（ステップ４０９）。
【００８０】
このように、第１溶接ロボット１０及び第２溶接ロボット５０による確認動作において、待機状態の通知や待機状態の解除が行われることにより、第１溶接ロボット１０及び第２溶接ロボット５０の動作開始のタイミングが合わされる。また、停止する旨の通知が行われることにより、第１溶接ロボット１０及び第２溶接ロボット５０の動作停止のタイミングが合わされる。そのため、確認動作において、第１溶接ロボット１０及び第２溶接ロボット５０の動作開始のタイミングや動作停止のタイミングが異なるために各装置が接触する等の不具合が抑制される。
【００８１】
また、図６に示す処理では、第１教示ペンダント４０の操作により第１溶接ロボット１０が待機状態となることとしたが、第２教示ペンダント７０の操作により第２溶接ロボット５０が待機状態となることとしても良い。また、図６に示す処理では、第１溶接ロボット１０が第２溶接ロボット５０よりも早く停止することとしたが、第２溶接ロボット５０が先に停止することとしても良い。
【００８２】
また、本実施の形態において、第２制御装置６０の第２命令解釈部６２が教示プログラムの変換を行うこととしたが、このような構成に限られるものではない。例えば、第１制御装置３０の第１命令解釈部３２が教示プログラムの変換を行っても良く、また、第１制御装置及び第２制御装置６０とは別に設けられたＰＣ（Personal Computer）等が変換を行うこととしても良い。
【００８３】
さらに、本実施の形態において、第２制御装置６０の第２教示プログラム記憶部６１は、第１制御装置３０から送信等された教示プログラムを記憶することとしたが、例えば、第１制御装置３０の教示プログラムをもとに操作者により修正された修正後の教示プログラムを記憶することとしても良い。この場合、図４のステップ２０２や図５のステップ３０２で第２命令解釈部６２が取得する教示プログラムは、第１命令解釈部３２が取得する教示プログラムを修正したものとなる。また、第２教示プログラム記憶部６１は、第２溶接ロボット５０を制御するために操作者により直接作成された教示プログラムを記憶することとしても良い。その際、操作者は、第１制御装置３０に記憶された教示プログラムをもとに、第２教示プログラム記憶部６１に記憶させる教示プログラムを作成することとしても良い。
【００８４】
そして、本実施の形態において、第２制御装置６０は、算出した移動情報に沿って、実際にポジショナ２０が移動しているか否かの判定を行うこととしても良い。ここで、例えば、第２制御装置６０は、第１制御装置３０から定期的にポジショナ２０の現在位置を取得し、第２制御装置６０にて算出した移動情報に基づくポジショナ２０の位置が、実際の現在位置に合うか否かの判定を行うこととしても良い。そして、第２制御装置６０は、移動情報に基づくポジショナ２０の位置が実際の現在位置に合わないと判定した場合、例えば、エラーを発生して操作者にその旨を通知するような構成にしても良い。
【００８５】
また、本実施の形態において、第１溶接ロボット１０及び第２溶接ロボット５０はそれぞれの教示点に同時に到着するように制御されることとしたが、全ての教示点に同時に到着するのではなく、予め定められた教示点に同時に到着するように制御されることとしても良い。例えば、ワーク２１に対するアーク発生開始時には、各溶接ロボットの処理が同時に実行されるように制御され、ワーク２１からの距離が遠い教示点に対しては、各溶接ロボットが別々に到着するように制御されることとしても良い。
【００８６】
さらに、本実施の形態において、溶接ロボットシステム１は周辺装置としてポジショナ２０を備えることとしたが、このような構成に限られるものではない。例えば、溶接ロボットシステム１は、ポジショナ２０にかえて、またはポジショナ２０に加えて、スライダ等の他の周辺装置を備えることとしても良い。また、第１制御装置３０が周辺装置の制御を行うこととしたが、それに加えて、第２制御装置６０も他の周辺装置の制御を行うこととしても良い。
【００８７】
そして、本実施の形態において、溶接ロボットシステム１は、第１溶接ロボット１０、第２溶接ロボット５０の２台の溶接ロボットを備えることとしたが、このような構成に限られるものではなく、３台以上の溶接ロボットを備えることとしても良い。
【００８８】
＜制御装置のハードウェア構成＞
次に、第１制御装置３０及び第２制御装置６０のハードウェア構成について説明する。図７は、本実施の形態に係る第１制御装置３０及び第２制御装置６０のハードウェア構成例を示す図である。
第１制御装置３０、第２制御装置６０は、例えば、図示するように、演算手段であるＣＰＵ（Central Processing Unit）９１と、記憶手段である揮発性メモリ９２、不揮発性メモリ９３とを備える。ここで、ＣＰＵ９１は、ＯＳ（Operating System）やアプリケーションソフトウェア等の各種プログラムを実行する。また、揮発性メモリ９２は、各種プログラムやその実行に用いるデータ等を記憶する記憶領域であり、不揮発性メモリ９３は、各種プログラムに対する入力データや各種プログラムからの出力データ等を記憶する記憶領域である。
【００８９】
さらに、第１制御装置３０、第２制御装置６０は、外部との通信を行うための通信インターフェース（以下、「通信Ｉ／Ｆ」と表記する）９４と、記憶媒体に対してデータの読み書きを行うためのドライバ９５とを備える。なお、図７はハードウェア構成例に過ぎず、第１制御装置３０及び第２制御装置６０は図示の構成に限定されない。
【００９０】
そして、第１制御装置３０及び第２制御装置６０において、不揮発性メモリ９３には、図２に示す各機能を実現するためのプログラムが格納されている。そして、このプログラムが揮発性メモリ９２にロードされ、このプログラムに基づく処理がＣＰＵ９１により実行されることにより、第１制御装置３０及び第２制御装置６０において、図２に示す各機能部が実現される。また、第１教示プログラム記憶部３１、第２教示プログラム記憶部６１は、例えば、不揮発性メモリ９３等の記憶領域により実現され、ポジショナ経路記憶部６５は、例えば、揮発性メモリ９２等の記憶領域により実現される。
【００９１】
＜プログラムの説明＞
以上説明を行った本実施の形態における第２制御装置６０が行う処理は、上述した通り、例えば、アプリケーションソフトウェア等のプログラムとして用意される。
【００９２】
よって、第２制御装置６０が行う処理は、コンピュータに、ロボット及び周辺装置に実行させる動作が記述された教示プログラムを取得する機能と、取得された教示プログラムに基づいて、自装置に接続されたロボットが自装置に接続されていない周辺装置と連動して動作するように、ロボットの動作に関する情報を生成する機能と、生成されたロボットの動作に関する情報に基づいて、自装置に接続されたロボットを制御する機能とを実現させるためのプログラムとして捉えることもできる。
【００９３】
なお、本発明の実施の形態を実現するプログラムは、通信手段により提供することはもちろん、ＣＤ−ＲＯＭ等の記録媒体に格納して提供することも可能である。
【００９４】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
【符号の説明】
【００９５】
１…溶接ロボットシステム、１０…第１溶接ロボット、２０…ポジショナ、３０…第１制御装置、３１…第１教示プログラム記憶部、３２…第１命令解釈部、３３…第１経路算出部、３４…第１ロボット駆動部、３５…ポジショナ駆動部、４０…第１教示ペンダント、５０…第２溶接ロボット、６０…第２制御装置、６１…第２教示プログラム記憶部、６２…第２命令解釈部、６３…第２経路算出部、６４…第２ロボット駆動部、６５…ポジショナ経路記憶部、７０…第２教示ペンダント
【図１】
2015134396.tif 000003
【図２】
2015134396.tif 000004
【図３】
2015134396.tif 000005
【図４】
2015134396.tif 000006
【図５】
2015134396.tif 000007
【図６】
2015134396.tif 000008
【図７】
2015134396.tif 000009