(57)【要約】【課題】複数のロボットを制御するロボットシステムにおいて、意図するロボットに対して操作機により作業者が正確に動作指示を与えることを可能とする。【解決手段】ロボットシステムは、ロボットＲＢ１，ＲＢ２、ＲＢ３と、各ロボットの動作を制御するコントローラ１０と、ケーブル１１，１２，１３と、手動操作されることでコントローラ１０を通じて各ロボットを動作させるティーチングペンダント２０と、各ロボットに関する情報を表示するディスプレイ２２と、を備える。コントローラ１０は、ケーブル１１，１２，１３を通じて電圧が供給される際の電圧降下量に基づいて、コントローラ１０に対する各ロボットの距離である対制御装置距離を算出し、各ロボットの互いの位置関係と対制御装置距離とに基づいて、各ロボット及びコントローラ１０の配置であるシステム配置を算出し、システム配置をディスプレイ２２に表示させる。【選択図】      図１
2013052475.tif 000002
【特許請求の範囲】
【請求項１】
複数のロボットと、
前記複数のロボットの動作を制御する制御装置と、
前記制御装置と前記複数のロボットとをそれぞれ電気的に接続する配線と、
前記制御装置に接続され、手動操作されることで前記制御装置を通じて各ロボットを動作させる操作機と、
各ロボットに関する情報を表示する表示装置と、
を備えるロボットシステムであって、
前記制御装置は、前記配線を通じて電圧が供給される際の電圧降下量に基づいて、前記制御装置に対する各ロボットの距離である対制御装置距離を算出し、前記複数のロボットの互いの位置関係と前記対制御装置距離とに基づいて、前記複数のロボット及び前記制御装置の配置であるシステム配置を算出し、前記システム配置を前記表示装置に表示させることを特徴とするロボットシステム。
【請求項２】
前記制御装置は、前記制御装置と各ロボットとにおいて、前記配線へ入力される電圧と前記配線から出力される電圧との差に基づいて、前記制御装置に対する各ロボットの距離である対制御装置距離を算出する請求項１に記載のロボットシステム。
【請求項３】
複数のロボットと、
前記複数のロボットの動作を制御する制御装置と、
前記制御装置と前記複数のロボットとをそれぞれ電気的に接続する配線と、
前記制御装置に接続され、手動操作されることで前記制御装置を通じて各ロボットを動作させる操作機と、
各ロボットに関する情報を表示する表示装置と、
を備えるロボットシステムであって、
前記制御装置は、前記配線を通じて通信を行う際の応答時間に基づいて、前記制御装置に対する各ロボットの距離である対制御装置距離を算出し、前記複数のロボットの互いの位置関係と前記対制御装置距離とに基づいて、前記複数のロボット及び前記制御装置の配置であるシステム配置を算出し、前記システム配置を前記表示装置に表示させることを特徴とするロボットシステム。
【請求項４】
前記制御装置は、前記応答時間として、前記制御装置と前記複数のロボットとでそれぞれ前記配線を通じて信号の往復を複数回行う際の応答時間の合計を算出する請求項３に記載のロボットシステム。
【請求項５】
前記制御装置は、前記応答時間として、前記制御装置と前記複数のロボットとでそれぞれ前記配線を通じて信号の往復を複数回行う際の応答時間の合計を算出し、各ロボットでの応答時間の差が所定時間を超えるまで前記信号の往復を繰り返す請求項３に記載のロボットシステム。
【請求項６】
前記制御装置は、前記制御装置から各ロボットまでの距離がそれぞれ前記対制御装置距離に近付くように、１つのロボットを中心として前記複数のロボットの互いの位置関係を回転させて前記システム配置を算出する請求項１〜５のいずれか１項に記載のロボットシステム。
【請求項７】
前記制御装置は、前記制御装置から各ロボットまでの距離と前記対制御装置距離との偏差の合計が最も小さくなるように、１つのロボットを中心として前記複数のロボットの互いの位置関係を回転させて前記システム配置を算出する請求項６に記載のロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のロボットを制御するロボットシステムに関する。
【背景技術】
【０００２】
従来、複数のロボットを１つのコントローラで制御するロボットシステムがある。こうしたロボットシステムでは、複数のロボットにより協調動作を行ったり、複数のロボットで共通のワーク座標を用いたりすることが容易となる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記ロボットシステムでは、作業者が操作機を手動操作して、複数のロボットのうちの１つを動作させようとすると、操作機により動作指示を与えるロボットと、実際に動作するロボットとの対応が不明確となる場合がある。すなわち、コントローラは、振動や埃を避けるためにそれらの発生源となる各ロボットから離れて配置されるとともに、生産ライン等に応じて配置される複数のロボットにおいて、個々のロボットを明確に特定できない場合がある。その場合には、作業者の意図と異なるロボットが動作するおそれがあり、作業の効率が低下するおそれがある。
【０００４】
本発明は、こうした実情に鑑みてなされたものであり、その主たる目的は、複数のロボットを制御するロボットシステムにおいて、意図するロボットに対して操作機により作業者が正確に動作指示を与えることを可能とすることにある。
【課題を解決するための手段】
【０００５】
本発明は、上記課題を解決するために、以下の手段を採用した。
【０００６】
第１の手段は、複数のロボットと、前記複数のロボットの動作を制御する制御装置と、前記制御装置と前記複数のロボットとをそれぞれ電気的に接続する配線と、前記制御装置に接続され、手動操作されることで前記制御装置を通じて各ロボットを動作させる操作機と、各ロボットに関する情報を表示する表示装置と、を備えるロボットシステムであって、前記制御装置は、前記配線を通じて電圧が供給される際の電圧降下量に基づいて、前記制御装置に対する各ロボットの距離である対制御装置距離を算出し、前記複数のロボットの互いの位置関係と前記対制御装置距離とに基づいて、前記複数のロボット及び前記制御装置の配置であるシステム配置を算出し、前記システム配置を前記表示装置に表示させることを特徴とする。
【０００７】
上記構成によれば、複数のロボットと制御装置とが配線によりそれぞれ電気的に接続されており、複数のロボットの動作が制御装置により制御される。一般に、制御装置は、複数のロボットの動作を制御する上で、それらロボットの互いの位置関係の情報を有している。また、作業者が、制御装置に接続された操作機に対して手動操作することにより、制御装置を通じて各ロボットが動作させられる。各ロボットに関する情報は、表示装置により表示される。
【０００８】
ここで、一般に制御装置は各ロボットから離れて配置されるとともに、各ロボットは生産ライン等に応じて配置されるため、制御装置と各ロボットとを接続する各配線の長さは互いに異なったものとなる。そして、配線を通じて制御装置と各ロボットとの間で電圧を供給すると、配線の長さに応じた電圧降下が生じる。このため、制御装置は、配線を通じて電圧が供給される際の電圧降下量に基づいて、制御装置に対する各ロボットの距離である対制御装置距離を算出することができる。また、上記のように制御装置は、複数のロボットの互いの位置関係の情報を有している。
【０００９】
したがって、制御装置は、複数のロボットの互いの位置関係と上記対制御装置距離とに基づいて、複数のロボット及び制御装置の配置であるシステム配置を算出することができる。そして、このシステム配置が表示装置に表示させられるため、その表示に基づいて作業者は動作させようと意図するロボットを把握することができる。その結果、意図するロボットに対して、操作機により作業者が正確に動作指示を与えることができる。
【００１０】
なお、配線を通じて電圧が供給される際の電圧降下量に基づいて、制御装置に対する各ロボットの距離（対制御装置距離）を算出する構成として、電圧降下量に応じて変化する電流の大きさに基づいて対制御装置距離を算出する構成を含むものとする。
【００１１】
具体的には、第２の手段にように、前記制御装置は、前記制御装置と各ロボットとにおいて、前記配線へ入力される電圧と前記配線から出力される電圧との差に基づいて、前記制御装置に対する各ロボットの距離である対制御装置距離を算出するといった構成を採用することができる。こうした構成によれば、制御装置と各ロボットとにおいて、配線を通じて電圧を供給する際の電圧降下量を、配線へ入力される電圧と配線から出力される電圧との差として算出することができる。
【００１２】
例えば、制御装置からロボットへ電源電圧（信号電圧）が供給される場合において、制御装置から配線へ入力される電圧と配線からロボットへ出力される電圧との差に基づいて、制御装置に対する各ロボットの距離を算出することができる。また、ロボットから制御装置へ信号電圧が供給される場合において、ロボットから配線へ入力される電圧と配線から制御装置へ出力される電圧との差に基づいて、制御装置に対する各ロボットの距離を算出することができる。
【００１３】
第３の手段は、複数のロボットと、前記複数のロボットの動作を制御する制御装置と、前記制御装置と前記複数のロボットとをそれぞれ電気的に接続する配線と、前記制御装置に接続され、手動操作されることで前記制御装置を通じて各ロボットを動作させる操作機と、各ロボットに関する情報を表示する表示装置と、を備えるロボットシステムであって、前記制御装置は、前記配線を通じて通信を行う際の応答時間に基づいて、前記制御装置に対する各ロボットの距離である対制御装置距離を算出し、前記複数のロボットの互いの位置関係と前記対制御装置距離とに基づいて、前記複数のロボット及び前記制御装置の配置であるシステム配置を算出し、前記システム配置を前記表示装置に表示させることを特徴とする。
【００１４】
ここで、配線を通じて制御装置と各ロボットとの間で通信を行うと、配線の長さに応じて応答時間が変化する。このため、制御装置は、配線を通じて通信が行われる際の応答時間に基づいて、制御装置に対する各ロボットの距離である対制御装置距離を算出することができる。したがって、こうした構成によっても、複数のロボット及び制御装置の配置（システム配置）を算出することができ、システム配置を表示装置に表示させることができる。
【００１５】
配線を通じて信号の往復を行う際に、配線の長さに応じて応答時間が変化する量は非常に小さい。このため、高速処理可能な制御装置が用いられていない場合には、応答時間に基づいて制御装置に対する各ロボットの距離（対制御装置距離）を算出する場合に、対制御装置距離の精度が低下するおそれがある。
【００１６】
この点、第４の手段では、前記制御装置は、前記応答時間として、前記制御装置と前記複数のロボットとでそれぞれ前記配線を通じて信号の往復を複数回（例えば１０万回）行う際の応答時間の合計を算出するといった構成を採用している。このため、配線の長さに応じて応答時間が変化する量を増幅することができ、制御装置に対する各ロボットの距離の精度を向上させることができる。
【００１７】
具体的には、第５の手段のように、前記制御装置は、前記応答時間として、前記制御装置と前記複数のロボットとでそれぞれ前記配線を通じて信号の往復を複数回行う際の応答時間の合計を算出し、各ロボットでの応答時間の差が所定時間を超えるまで前記信号の往復を繰り返すといった構成を採用することができる。こうした構成によれば、各ロボットでの応答時間の差が所定時間を超えるまで信号の往復が繰り返されるため、配線の長さに応じた応答時間の変化を適切に算出することができる。
【００１８】
第６の手段では、前記制御装置は、前記制御装置から各ロボットまでの距離がそれぞれ前記対制御装置距離に近付くように、１つのロボットを中心として前記複数のロボットの互いの位置関係を回転させて前記システム配置を算出する。
【００１９】
上記構成によれば、制御装置により、１つのロボットを中心として、複数のロボットの互いの位置関係が回転させられる。そして、制御装置により、制御装置から各ロボットまでの距離が、それぞれ上記対制御装置距離に近付くようにシステム配置が算出される。したがって、システム配置を容易に算出することができる。
【００２０】
具体的には、第７の手段のように、前記制御装置は、前記制御装置から各ロボットまでの距離と前記対制御装置距離との偏差の合計が最も小さくなるように、１つのロボットを中心として前記複数のロボットの互いの位置関係を回転させて前記システム配置を算出するといった構成を採用することができる。ここで、距離の偏差の合計が最も小さい場合には、各ロボットの位置の誤差を小さくしつつ、システム配置全体を現実に最も近付けることができる。なお、偏差の合計として、偏差（差の絶対値）を合計してもよいし、偏差の二乗を合計してもよい。
【図面の簡単な説明】
【００２１】
【図１】ロボットシステムを示す模式図。
【図２】第1実施形態においてシステム配置を表示する処理の手順を示すフローチャート。
【図３】ケーブル長さと電圧降下量との関係を示すグラフ。
【図４】システム配置を算出する態様を示す図。
【図５】システム配置を表示する態様を示す図。
【図６】第２実施形態においてシステム配置を表示する処理の手順を示すフローチャート。
【発明を実施するための形態】
【００２２】
（第1実施形態）
以下、第1実施形態について、図面を参照しつつ説明する。本実施形態は、ワーク等に対して複数のロボットにより作業を行うロボットシステムとして具体化している。
【００２３】
図1は、ロボットシステムを示す模式図である。同図に示すように、ロボットシステムは、複数のロボット（ロボットＲＢ１，ＲＢ２，ＲＢ３）、コントローラ１０、ティーチングペンダント２０、ケーブル１１，１２，１３，２１、及び電源ケーブル１５を備えている。
【００２４】
ロボットＲＢ１，ＲＢ２，ＲＢ３は、垂直多関節型のロボットであり、複数の関節を有するアームを備えている。ロボットＲＢ１，ＲＢ２，ＲＢ３は、生産ラインに応じて適切に配置されている。ロボットＲＢ１，ＲＢ２，ＲＢ３は、それぞれケーブル１１，１２，１３（配線）によって、コントローラ１０に電気的に接続されている。なお、ロボットＲＢ１，ＲＢ２，ＲＢ３は、垂直多関節型のロボットに限らず、任意の型式のロボットを採用することができる。
【００２５】
コントローラ１０（制御装置）は、ＣＰＵ、ＲＯＭ、ＲＡＭ、データバッファ、駆動回路、位置検出回路、電圧検出回路等を備えている。ＲＯＭは、ロボットＲＢ１，ＲＢ２，ＲＢ３のシステムプログラムや動作プログラム等を記憶している。ＲＡＭは、これらのプログラムを実行する際にパラメータの値等を記憶する。データバッファは、情報を時系列で一時的に記憶する。位置検出回路は、ロボットＲＢ１，ＲＢ２，ＲＢ３に設けられたエンコーダの検出信号に基づいて、各関節の回転角度を検出する。ＣＰＵは、動作プログラムを実行することにより、位置検出回路から入力される位置情報に基づいて、ロボットＲＢ１，ＲＢ２，ＲＢ３の各関節の回転角度を目標回転角度にフィードバック制御する。また、コントローラ１０には、電源ケーブル１５が接続されており、電源ケーブル１５を通じてコントローラ１０へ電源電圧が供給される。電圧検出回路は、電源ケーブル１５を通じてコントローラ１０へ供給される電源電圧を検出する。
【００２６】
上記ケーブル１１，１２，１３は、電源ケーブル及び信号ケーブルを含んでいる。ケーブル１１，１２，１３を通じて、それぞれロボットＲＢ１，ＲＢ２，ＲＢ３へ電源電圧が供給されるとともに、コントローラ１０とロボットＲＢ１，ＲＢ２，ＲＢ３との間で通信が行われる。コントローラ１０は、ケーブル１１，１２，１３を通じて、それぞれロボットＲＢ１，ＲＢ２，ＲＢ３へ制御信号を送信（信号電圧を供給）し、ロボットＲＢ１，ＲＢ２，ＲＢ３の動作を制御する。コントローラ１０は、ロボットＲＢ１，ＲＢ２，ＲＢ３の動作を制御する上で、ロボットＲＢ１，ＲＢ２，ＲＢ３の互いの位置関係の情報を有している。また、ロボットＲＢ１，ＲＢ２，ＲＢ３は、それぞれ電圧検出回路を有しており、ケーブル１１，１２，１３を通じて供給される電源電圧を検出する。そして、ロボットＲＢ１，ＲＢ２，ＲＢ３は、検出した電源電圧をコントローラ１０へ送信する。
【００２７】
ティーチングペンダント２０（操作機）は、ＣＰＵ、ＲＡＭ及びＲＯＭを含むマイクロコンピュータから構成さる制御部、各種の手動操作キー、ディスプレイ２２を備えている。ティーチングペンダント２０は、ケーブル２１によって、コントローラ１０に接続されている。作業者は、このペンダント２０を手動操作して、ロボットＲＢ１，ＲＢ２，ＲＢ３の動作プログラムの作成、修正、登録、各種パラメータの設定、またコントローラ１０を通じてティーチングされた動作プログラムの実行等をすることができる。詳しくは、ペンダント２０により１つのロボットを選択して、選択されたロボットの動作を制御する。
【００２８】
ディスプレイ２２（表示装置）は、ロボットＲＢ１，ＲＢ２，ＲＢ３に関する情報を表示する。詳しくは、ディスプレイ２２は、上記のように選択されたロボットに関する情報を表示し、選択されていないロボットに関する情報は表示しない。ロボットに関する情報としては、ロボットの型式、ロボットの動作状況、動作コマンド等が表示される。このため、ロボットＲＢ１，ＲＢ２，ＲＢ３の型式が同一である場合には、作業者がディスプレイ２２に表示された情報を見たとしても、どのロボットに関する情報であるか把握することができない。
【００２９】
そこで、本実施形態では、コントローラ１０は、ロボットＲＢ１，ＲＢ２，ＲＢ３及びコントローラ１０の配置であるシステム配置を、ディスプレイ２２に表示させる処理を実行する。図２は、システム配置を表示する処理の手順を示すフローチャートである。この一連の処理は、ティーチングペンダント２０からの要求に応じて、コントローラ１０によって実行される。
【００３０】
まず、ティーチングペンダント２０からの要求により、表示機能が有効になっているか否か判定する（Ｓ１０）。詳しくは、作業者がペンダント２０を通じて、コントローラ１０へシステム配置の表示を要求した場合に表示機能が有効となり、要求していない場合には表示機能が無効となる。この判定において、表示機能が有効になっていないと判定した場合には（Ｓ１０：ＮＯ）、この一連の処理を終了する(ＥＮＤ)。
【００３１】
一方、上記判定において、表示機能が有効になっていると判定した場合には（Ｓ１０：ＹＥＳ）、コントローラ１０にロボットが複数接続されているか否か判定する（Ｓ１１）。この判定において、コントローラ１０にロボットが複数接続されていないと判定した場合には（Ｓ１１：ＮＯ）、この一連の処理を終了する（ＥＮＤ）。
【００３２】
一方、上記判定において、コントローラ１０にロボットが複数接続されていると判定した場合には（Ｓ１１：ＹＥＳ）、基準電圧及び基準座標を設定する（Ｓ１２）。詳しくは、コントローラ１０の上記電圧検出回路により検出される電源電圧、すなわち電源ケーブル１５を通じてコントローラ１０へ供給される電源電圧を基準電圧に設定する。また、ロボットシステムを鉛直上方から見た場合に、コントローラ１０を原点とした二次元座標を基準座標に設定する。
【００３３】
次に、基準電圧と、各ロボットに供給される電圧との差を算出する（Ｓ１３）。詳しくは、コントローラ１０は、ロボットＲＢ１，ＲＢ２，ＲＢ３に対して、それぞれケーブル１１，１２，１３を通じて供給される電源電圧を電圧検出回路により検出させる。コントローラ１０は、それぞれ検出された電源電圧を、ロボットＲＢ１，ＲＢ２，ＲＢ３からコントローラ１０へ送信させる。そして、基準電圧（コントローラ１０からケーブル１１，１２，１３へ入力される電圧）と、各ロボットに供給される電圧（ケーブル１１，１２，１３からロボットＲＢ１，ＲＢ２，ＲＢ３へ出力される電圧）との差、すなわち電圧降下量を算出する。
【００３４】
次に、電圧降下量に基づいて、コントローラ１０と各ロボットとの距離を算出する（Ｓ１４）。詳しくは、ケーブル１１，１２，１３の長さと電圧降下量との関係に基づいて、ケーブル１１，１２，１３の長さ、すなわちコントローラ１０とロボットＲＢ１，ＲＢ２，ＲＢ３との各距離を算出する。一般に、生産ライン等においてケーブル１１，１２，１３を無駄に長くすることはないため、ここではケーブル１１，１２，１３の長さをコントローラ１０とロボットＲＢ１，ＲＢ２，ＲＢ３との各距離とみなしている。
【００３５】
図３は、ケーブル長さと電圧降下量との関係を示すグラフである。同図に示すように、ケーブル１１，１２，１３が長いほど電圧降下量は大きくなり、詳しくはケーブル１１，１２，１３の長さに比例して電圧降下量は大きくなる。例えば、ケーブル１１，１２，１３の長さが８ｍ長くなると、約１Ｖの電圧降下が生じる。これは、ケーブル１１，１２，１３の長さに比例して、ケーブル１１，１２，１３の電気抵抗が高くなることによる。したがって、予め実験等により、所定の電源電圧におけるケーブル長さと電圧降下量との関係を求めておくことにより、電圧降下量からケーブル長さを算出することができる。ここでは、ロボットＲＢ１，ＲＢ２，ＲＢ３において、それぞれのケーブル１１，１２，１３の長さは長さＬ１，Ｌ２，Ｌ２と算出される。したがって、コントローラ１０とロボットＲＢ１，ＲＢ２，ＲＢ３との距離（対制御装置距離）は、それぞれ距離Ｌ１，Ｌ２，Ｌ３と算出される。
【００３６】
図２に戻り、次に、ロボットＲＢ１，ＲＢ２，ＲＢ３の互いの位置関係と対制御装置距離とに基づいて、システム配置を算出する（Ｓ１５）。ここで、コントローラ１０は、ロボットＲＢ１，ＲＢ２，ＲＢ３の互いの位置関係の情報を有しており、ロボットＲＢ１，ＲＢ２，ＲＢ３の相対位置を把握している。このため、ロボットＲＢ１，ＲＢ２，ＲＢ３の相対位置の条件と、コントローラ１０とロボットＲＢ１，ＲＢ２，ＲＢ３との距離の条件とを満たすように、システム配置を算出する。具体的には、コントローラ１０から各ロボットまでの距離がそれぞれ対制御装置距離に近付くように、ロボットＲＢ１（１つのロボット）を中心として、ロボットＲＢ１，ＲＢ２，ＲＢ３の互いの位置関係を回転させてシステム配置を算出する。コントローラ１０から各ロボットまでの距離をそれぞれ対制御装置距離に近付ける際には、コントローラ１０から各ロボットまでの距離と対制御装置距離との偏差の合計が最も小さくなるようにする。
【００３７】
図４は、システム配置を算出する態様を示す図である。同図に破線で示すように、ロボットＲＢ１，ＲＢ２（ＲＢ２ａ），ＲＢ３（ＲＢ３ａ）の互いの位置関係（相対位置）の条件を満たし、且つコントローラ１０とロボットＲＢ１との距離の条件とを満たすように、各ロボットを上述した基準座標に配置する。すなわち、ロボットＲＢ１，ＲＢ２（ＲＢ２ａ），ＲＢ３（ＲＢ３ａ）は破線で示す三角形の相対位置にあり、コントローラ１０（原点）からロボットＲＢ１までの距離は距離Ｌ１となっている。なお、ロボットＲＢ１は、破線で示すように、原点を中心とした半径Ｌ１の円上に配置されている。
【００３８】
次に、ロボットＲＢ１，ＲＢ２，ＲＢ３の相対位置の条件を満たしたまま、ロボットＲＢ１を中心としてロボットＲＢ２（ＲＢ２ａ），ＲＢ３（ＲＢ３ａ）を矢印ｒの方向へ回転させる。そして、コントローラ１０とロボットＲＢ２，ＲＢ３との距離の条件とを満たすように、ロボットＲＢ２，ＲＢ３を基準座標に配置する。すなわち、ロボットＲＢ２，ＲＢ３は原点を中心とした半径Ｌ２，Ｌ３の円上にそれぞれ配置され、コントローラ１０（原点）からロボットＲＢ２，ＲＢ３までの距離はそれぞれ距離Ｌ２，Ｌ３となっている。ここで、原点を中心とした半径Ｌ２，Ｌ３の円上に、ロボットＲＢ２，ＲＢ３を正確に配置することができない場合には、コントローラ１０からロボットＲＢ２，ＲＢ３までの各距離と対制御装置距離との偏差の合計が最も小さくなるようにする。
【００３９】
図２に戻り、次に、算出されたシステム配置をティーチングペンダント２０のディスプレイ２２に表示させる（Ｓ１６）。詳しくは、図５に示すように、ディスプレイ２２に基準座標を設定し、この基準座標上にロボットＲＢ１，ＲＢ２，ＲＢ３及びコントローラ１０を表示させる。
【００４０】
以上詳述した本実施形態は以下の利点を有する。
【００４１】
・コントローラ１０はロボットＲＢ１，ＲＢ２，ＲＢ３から離れて配置されるとともに、ロボットＲＢ１，ＲＢ２，ＲＢ３は生産ライン等に応じて配置されている。このため、コントローラ１０とロボットＲＢ１，ＲＢ２，ＲＢ３とを接続するケーブル１１，１２，１３の長さは互いに異なっている。そして、ケーブル１１，１２，１３を通じてコントローラ１０とロボットＲＢ１，ＲＢ２，ＲＢ３との間で電圧を供給すると、ケーブル１１，１２，１３の長さに応じた電圧降下がそれぞれ生じる。このため、コントローラ１０は、ケーブル１１，１２，１３を通じて電圧が供給される際の電圧降下量に基づいて、コントローラ１０に対する各ロボットの距離である対制御装置距離を算出することができる。また、コントローラ１０は、ロボットＲＢ１，ＲＢ２，ＲＢ３の互いの位置関係の情報を有している。
【００４２】
したがって、コントローラ１０は、ロボットＲＢ１，ＲＢ２，ＲＢ３の互いの位置関係と上記対制御装置距離とに基づいて、ロボットＲＢ１，ＲＢ２，ＲＢ３及びコントローラ１０の配置であるシステム配置を算出することができる。そして、このシステム配置がディスプレイ２２に表示させられるため、その表示に基づいて作業者は動作させようと意図するロボットを把握することができる。その結果、意図するロボットに対して、ティーチングペンダント２０により作業者が正確に動作指示を与えることができる。
【００４３】
・コントローラ１０は、コントローラ１０と各ロボットとにおいて、コントローラ１０から各ケーブルへ入力される電源電圧と、各ケーブルから各ロボットへ出力される電源電圧との差に基づいて、対制御装置距離を算出している。こうした構成によれば、コントローラ１０と各ロボットとにおいて、各ケーブルを通じて電圧を供給する際の電圧降下量を、コントローラ１０で検出される電源電圧と、各ロボットで検出される電源電圧との差として算出することができる。
【００４４】
・システム配置を算出する際に、ロボットＲＢ１を中心として、ロボットＲＢ１，ＲＢ２，ＲＢ３の互いの位置関係が回転させられる。そして、コントローラ１０から各ロボットまでの距離が、それぞれ対制御装置距離に近付くようにシステム配置が算出される。したがって、簡易な処理によりシステム配置を算出することができる。
【００４５】
・コントローラ１０は、コントローラ１０から各ロボットまでの距離と対制御装置距離との偏差の合計が最も小さくなるように、ロボットＲＢ１を中心としてロボットＲＢ１，ＲＢ２，ＲＢ３の互いの位置関係を回転させてシステム配置を算出している。ここで、距離の偏差の合計が最も小さい場合には、各ロボットの位置の誤差を小さくしつつ、システム配置全体を現実に最も近付けることができる。
【００４６】
なお、上記実施形態を、以下のように変形して実施することもできる。
【００４７】
・上記実施形態では、コントローラ１０から各ケーブルへ入力される電源電圧と、各ケーブルから各ロボットへ出力される電源電圧との差に基づいて、対制御装置距離を算出している。しかしながら、コントローラ１０から各ケーブルへ入力される信号電圧（制御信号）と、各ケーブルから各ロボットへ出力される信号電圧との差に基づいて、対制御装置距離を算出することもできる。また、各ロボットから各ケーブルへ入力される信号電圧（応答信号）と、各ケーブルからコントローラ１０へ出力される信号電圧との差に基づいて、対制御装置距離を算出することもできる。
【００４８】
・各ケーブルから各ロボットへ出力される電源電圧を、各ロボットに供給される電流から算出することもできる。
【００４９】
（第２実施形態）
以下、第２実施形態について、図面を参照しつつ説明する。第１実施形態では、ケーブル１１，１２，１３を通じて電圧が供給される際の電圧降下量に基づいて対制御装置距離を算出したが、本実施形態では、ケーブル１１，１２，１３を通じて通信を行う際の応答時間に基づいて対制御装置距離を算出する。ロボットシステムの基本的構成は第１実施形態と同一である。ここでは、第１実施形態との相違点を中心に説明し、第１実施形態と同一の処理については同一のステップ番号を付すことにより説明を省略する。
【００５０】
図６は、システム配置を表示する処理の手順を示すフローチャートである。同図に示すように、コントローラ１０にロボットが複数接続されていると判定した場合には（Ｓ１１：ＹＥＳ）、基準座標を設定する（Ｓ２２）。詳しくは、ロボットシステムを鉛直上方から見た場合に、コントローラ１０を原点とした二次元座標を基準座標に設定する。
【００５１】
次に、コントローラ１０が各ロボットとケーブルを通じて複数回通信を行う際における応答時間の合計の差を算出する（Ｓ２３）。詳しくは、コントローラ１０から各ロボットへ制御信号を送信し、そのロボットから応答信号が返信されるまでの応答時間を算出する。通信が行われる毎に応答時間を加算して、各ロボットにおいて応答時間の合計を算出する。そして、各ロボットでの応答時間の合計の差を算出する。
【００５２】
ここで、ケーブル１１，１２，１３を通じてコントローラ１０と各ロボットとの間で通信を行うと、ケーブル１１，１２，１３の長さに応じて応答時間が変化する。ただし、ケーブル１１，１２，１３を通じて信号の往復を行う際に、ケーブル１１，１２，１３の長さに応じて応答時間が変化する量は非常に小さい。このため、高速処理可能なコントローラ１０が用いられていない場合には、応答時間に基づいてコントローラ１０に対する各ロボットの距離（対制御装置距離）を算出する場合に、対制御装置距離の精度が低下するおそれがある。
【００５３】
そこで、各ロボット間での応答時間の合計の差が、所定時間を超えたか否か判定する（Ｓ２４）。詳しくは、各ロボットに対して同じ回数の通信を行った場合に、それらの応答時間の合計の差がいずれかのロボット間で所定時間を超えたか否か判定する。ここで、各ロボット間での応答時間の合計の差が所定時間を超えた場合には、応答時間の合計に基づいてコントローラ１０と各ロボットとの距離を算出できる程度まで、応答時間の合計が長くなったとみなすことができる。例えば、コントローラ１０と各ロボットとの間で１０万回の通信が行われた場合に、応答時間の合計の差が全てのロボット間で所定時間（１０ｓ）を超える。この判定において、各ロボット間での応答時間の合計の差が、所定時間を超えていないと判定した場合には（Ｓ２４：ＮＯ）、再度、コントローラ１０が各ロボットとケーブルを通じて複数回通信を行う際における応答時間の合計の差を算出する（Ｓ２３）。すなわち、再度コントローラ１０と各ロボットとの間で通信を行って、各ロボットにおいて応答時間の合計を算出する。
【００５４】
一方、上記判定において、各ロボット間での応答時間の合計の差が、所定時間を超えたと判定した場合には（Ｓ２４：ＹＥＳ）、各ロボットでの応答時間の合計に基づいて、コントローラ１０と各ロボットとの距離を算出する（Ｓ２５）。詳しくは、図３に示したケーブル長さと電圧降下量との関係を示すグラフに準じた態様で、ケーブル長さと応答時間の合計との関係を示すグラフを用いる。すなわち、ケーブル１１，１２，１３が長いほど応答時間の合計は長くなり、詳しくはケーブル１１，１２，１３の長さに比例して応答時間の合計は長くなる。したがって、予め実験等により、所定の信号による通信におけるケーブル長さと応答時間の合計との関係を求めておくことにより、応答時間の合計からケーブル長さを算出することができる。そして、ケーブル１１，１２，１３の長さを、それぞれコントローラ１０とロボットＲＢ１，ＲＢ２，ＲＢ３との距離（対制御装置距離）とみなす。
【００５５】
そして、図２と同様にして、ロボットＲＢ１，ＲＢ２，ＲＢ３の互いの位置関係と対制御装置距離とに基づいて、システム配置を算出し（Ｓ１５）、算出されたシステム配置をティーチングペンダント２０のディスプレイ２２に表示させる（Ｓ１６）。
【００５６】
以上詳述した本実施形態は以下の利点を有する。ここでは、第１実施形態と異なる利点のみを述べる。
【００５７】
・ケーブル１１，１２，１３を通じてコントローラ１０と各ロボットとの間で通信を行うと、ケーブル１１，１２，１３の長さに応じて応答時間が変化する。このため、コントローラ１０は、ケーブル１１，１２，１３を通じて通信が行われる際の応答時間に基づいて、コントローラ１０に対する各ロボットの距離である対制御装置距離を算出することができる。したがって、こうした構成によっても、ロボットＲＢ１，ＲＢ２，ＲＢ３及びコントローラ１０の配置（システム配置）を算出することができ、システム配置をディスプレイ２２に表示させることができる。
【００５８】
・コントローラ１０は、応答時間として、コントローラ１０とロボットＲＢ１，ＲＢ２，ＲＢ３とでそれぞれケーブル１１，１２，１３を通じて信号の往復を複数回行う際の応答時間の合計を算出している。このため、ケーブル１１，１２，１３の長さに応じて応答時間が変化する量を増幅することができ、コントローラ１０に対する各ロボットの距離の精度を向上させることができる。
【００５９】
・コントローラ１０は、各ロボットでの応答時間の合計の差が所定時間を超えるまで信号の往復を繰り返している。こうした構成によれば、各ロボットでの応答時間の合計の差が所定時間を超えるまで信号の往復が繰り返されるため、ケーブル１１，１２，１３の長さに応じた応答時間の変化を適切に算出することができる。
【００６０】
なお、上記実施形態を、以下のように変形して実施することもできる。
【００６１】
・応答時間に基づいてコントローラ１０と各ロボットとの距離を算出する精度を確保することができるのであれば、コントローラ１０と各ロボットとの間の通信を、予め定められた一定回数実行するようにしてもよい。
【００６２】
・上規実施形態では、ティーチングペンダント２０からの要求により、表示機能が有効になっているか否か判定したが、ロボットシステムの起動時に自動的に表示機能を有効にしてもよい。こうした構成によれば、ロボットシステムの起動中にシステム配置を表示させる処理を実行することができるため、ロボットシステムの起動後にコントローラ１０と各ロボットとの間で複数回通信を行う処理が終了するまで待つ必要がない。
【００６３】
また、第１実施形態及び第２実施形態を、以下のように変形して実施することもできる。
【００６４】
・上記各実施形態では、コントローラ１０から各ロボットまでの距離をそれぞれ対制御装置距離に近付ける際に、コントローラ１０から各ロボットまでの距離と対制御装置距離との偏差の合計が最も小さくなるようにしたが、この偏差の二乗の合計が最も小さくなるようにしてもよい。
【００６５】
・図４では、ロボットＲＢ１を中心として、ロボットＲＢ１，ＲＢ２，ＲＢ３の互いの位置関係を回転させてシステム配置を算出したが、ロボットＲＢ２やロボットＲＢ３を中心として位置関係を回転させてもよい。また、図４に示す処理を、ディスプレイ２２に表示して行ってもよいし、ディスプレイ２２に表示することなくコントローラ１０の内部で行ってもよい。
【００６６】
・上記各実施形態では、ティーチングペンダント２０のディスプレイ２２にシステム配置を表示させるようにしたが、コントローラ１０に接続されたモニタ(表示装置)にシステム配置を表示させることもできる。また、コントローラ１０に接続されたパーソナルコンピュータ（操作機）を手動操作して、コントローラ１０を通じてロボットＲＢ１，ＲＢ２，ＲＢ３を動作させてもよい。
【符号の説明】
【００６７】
ＲＢ１，ＲＢ２、ＲＢ３…ロボット、１０…コントローラ（制御装置）、１１，１２，１３…ケーブル（配線）、２２…ディスプレイ（表示装置）。
【図１】
2013052475.tif 000003
【図２】
2013052475.tif 000004
【図３】
2013052475.tif 000005
【図４】
2013052475.tif 000006
【図５】
2013052475.tif 000007
【図６】
2013052475.tif 000008