(57)【特許請求の範囲】
【請求項１】
第１のロボットの動作を該第１のロボットとの間に個体差がある第２のロボットが実行できるように、第１のロボットに対する第１の教示データから第２のロボットに対する第２の教示データを算出するロボット教示データの算出方法であって、
第１の教示データに対する第１のロボットの基準点の位置を、第１の教示データと第１のロボットの構成内容を示す第１のロボット構成データとを用いて算出し、
前記算出した第１の教示データに対する第１のロボットの基準点の位置に第２のロボットの基準点が位置するための第２の教示データを、前記算出した第１の教示データに対する第１のロボットの基準点の位置と第２のロボットの構成内容を示す第２のロボット構成データとを用いて算出することを特徴とするロボット教示データの算出方法。
【請求項２】
第１および第２のロボットが複数の関節を備えるロボットであって、
第１および第２の教示データが、関節の角度を含んでいる請求項１に記載のロボット教示データの算出方法。
【請求項３】
交換可能に接続するロボットの動作を教示データに基づいて制御するロボットのコントローラであって、
コントローラに接続されている第１のロボットに対する第１の教示データを記憶する教示データ記憶手段と、
第１のロボットの構成内容を示す第１のロボット構成データを記憶するロボット構成データ記憶手段と、
第１のロボットと交換される該第１のロボットとの間に個体差がある第２のロボットの構成内容を示す第２のロボット構成データを取得するロボット構成データ取得手段と、
第１のロボットの動作を第２のロボットが実行できるように、第１の教示データから第２のロボットに対する第２の教示データを算出する教示データ算出手段とを有し、
教示データ算出手段が、
第１の教示データに対する第１のロボットの基準点の位置を、第１の教示データと第１のロボット構成データとを用いて算出し、
前記算出した第１の教示データに対する第１のロボットの基準点の位置に第２のロボットの基準点が位置するための第２の教示データを、前記算出した第１の教示データに対する第１のロボットの基準点の位置と第２のロボット構成データとを用いて算出することを特徴とするロボットのコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一方のロボットの動作を他方のロボットが実行できるように、一方のロボットに対する教示データから他方のロボットに対する教示データを算出するロボット教示データの算出方法、および該教示データ算出方法を実行可能なロボットのコントローラに関する。
【背景技術】
【０００２】
従来より、多関節ロボットなどのロボットに、教示データに基づいて所望の動作を実行させることが行われている。教示データは、作業者によって所望に作成されるデータであって、ロボットの動作を一義的に特定付けるデータである。例えば、ロボットが曲げ関節を有する場合、教示データには、曲げ関節の曲げ角度の値が含まれる。
【０００３】
このような教示データは、直接的または間接的な方法によって作成される。直接的な方法においては、例えば、ティーチングペンダントを介して所望の動作をロボットに教示することにより、すなわちティーチングペンダントを操作して実際にロボットに所望の動作を実行させることにより、所望の動作に対応する教示データを直接的に作成する。
【０００４】
一方、間接的な方法においては、例えば実際のロボットとは別構成のコンピュータにインストールされている教示データ作成ツール（ソフトウェア）を使用することにより、すなわちコンピュータ上の仮想のロボットに所望の動作を教示することにより、所望の動作に対応する教示データを間接的に作成する。このような間接的な教示は、オフライン教示と呼ばれている。
【０００５】
ところが、オフライン教示によって作成された教示データ（以下、「オフライン教示データ」と称する）に基づいて実際のロボットを制御した場合、実際のロボットの動作が所望の動作にならない場合があり、またロボットによってその動作が異なることがある。これは、実際のロボットがオフライン教示データの作成時に利用したコンピュータ上の仮想のロボットと異なるために、また実際のロボットには個体差があるために起こる。
【０００６】
例えば、リンクの製作誤差（公差範囲の誤差）によって該リンクの長さ、重量、および形状などがロボット毎に異なるために、同一のオフライン教示データに基づいて制御しても、実際のロボットは、ロボット毎にその動作が異なる。
【０００７】
この対処として、例えば特許文献１に記載するロボットの制御方法では、オフライン教示データを、ロボットの個体差を考慮して、ロボットが所望の動作を実行するような教示データに変換する。この個体差を考慮したオフライン教示データ（以下、「個体差考慮済みオフライン教示データ」と称する）を使用することにより、ロボットは所望の動作を実行することができる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−１５９３６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ところで、所望の動作を実行するロボットが故障した場合、故障したロボットと新しいロボットとを交換し、新しいロボットに所望の動作を実行させたい場合がある。
【００１０】
この場合、特許文献１に記載するように、オフライン教示データを新しいロボットの個体差を考慮した新しいロボット用の個体差考慮済みオフライン教示データに変換することが考えられる。しかし、そのためには、オフライン教示データを保存し続ける必要がある。
【００１１】
また、故障したロボットに対する教示データが、特許文献１に記載するように故障したロボットの個体差を考慮してオフライン教示データを変換した個体差考慮済みオフライン教示データであって、それに加えて、例えばティーチングペンダントを介する作業者による教示によって追加的に変更されていることが考えられる。この場合、作業者がティーチングペンダントを介する追加的な教示の内容を詳細に記憶していない限り、または故障したロボットが実行していた所望の動作を詳細に把握していない限り、新しいロボットに故障したロボットの所望の動作を実行させることは実質的に不可能である。
【００１２】
さらに、故障したロボットに対するオフライン教示データが、故障時に存在していないことが考えられる。例えば、故障したロボットに対する教示データが、ティーチングペンダントを介してロボットに直接教示することにより作成されたデータである場合、そもそも、オフライン教示データは存在していない。この場合、オフライン教示データが存在しないため、特許文献１に記載するような方法では、新しいロボットに故障したロボットの所望の動作を実行させることはできない。
【００１３】
そこで、本発明は、上述の問題を解決して、一方のロボットの動作を他方のロボットに実行させることを課題とする。
【課題を解決するための手段】
【００１４】
上述の課題を解決するために、本発明の第１の態様によれば、
第１のロボットの動作を該第１のロボットとの間に個体差がある第２のロボットが実行できるように、第１のロボットに対する第１の教示データから第２のロボットに対する第２の教示データを算出するロボット教示データの算出方法であって、
第１の教示データに対する第１のロボットの基準点の位置を、第１の教示データと第１のロボットの構成内容を示す第１のロボット構成データとを用いて算出し、
前記算出した第１の教示データに対する第１のロボットの基準点の位置に第２のロボットの基準点が位置するための第２の教示データを、前記算出した第１の教示データに対する第１のロボットの基準点の位置と第２のロボットの構成内容を示す第２のロボット構成データとを用いて算出することを特徴とするロボット教示データの算出方法が提供される。
【００１５】
また、本発明の第２の態様によれば、
第１および第２のロボットが複数の関節を備えるロボットであって、
第１および第２の教示データが、関節の角度を含んでいる、第１の態様に記載のロボット教示データの算出方法が提供される。
【００１６】
さらに、本発明の第３の態様によれば、
交換可能に接続するロボットの動作を教示データに基づいて制御するロボットのコントローラであって、
コントローラに接続されている第１のロボットに対する第１の教示データを記憶する教示データ記憶手段と、
第１のロボットの構成内容を示す第１のロボット構成データを記憶するロボット構成データ記憶手段と、
第１のロボットと交換される該第１のロボットとの間に個体差がある第２のロボットの構成内容を示す第２のロボット構成データを取得するロボット構成データ取得手段と、
第１のロボットの動作を第２のロボットが実行できるように、第１の教示データから第２のロボットに対する第２の教示データを算出する教示データ算出手段とを有し、
教示データ算出手段が、
第１の教示データに対する第１のロボットの基準点の位置を、第１の教示データと第１のロボット構成データとを用いて算出し、
前記算出した第１の教示データに対する第１のロボットの基準点の位置に第２のロボットの基準点が位置するための第２の教示データを、前記算出した第１の教示データに対する第１のロボットの基準点の位置と第２のロボット構成データとを用いて算出することを特徴とするロボットのコントローラが提供される。
【発明の効果】
【００１７】
本発明によれば、第１の教示データと第１のロボット構成データとに基づいて、第１の教示データに対する第１のロボットの基準点の位置が算出され、その算出した位置に第２のロボットの基準点が位置するための第２の教示データが、算出した位置と第２のロボット構成データとに基づいて算出される。これにより、第１のロボットの動作を第２のロボットは実行することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施の形態に係るロボットを示す図
【図２】ロボットのコントローラの構成を示す図
【図３】図２に示す教示データ変換部を説明するための図
【図４】教示データの変換の概念を簡単に説明するための図
【図５】ロボットの交換の流れの一例を示すフローチャート図
【発明を実施するための形態】
【００１９】
図１は、本発明の実施の形態に係るロボットＲ（特許請求の範囲に記載の「第１のロボット」に対応）を示す図である。図１（Ａ）はロボットＲの概略図であり、図１（Ｂ）はロボットＲのリンクモデルを示す図である。
【００２０】
ロボットＲは、６軸の多関節ロボットであって、複数のリンクＬ０〜Ｌ６と、リンク同士を連結する複数の関節Ｊ１〜Ｊ６とを備える。関節Ｊ１、Ｊ４、Ｊ６はねじり関節であり、関節Ｊ２、Ｊ３、Ｊ５は曲げ関節である。また、ロボットＲは、その先端に作業を実行するためのツールＴ、例えば溶接トーチやスプレーガンなどが取り付けられている。
【００２１】
なお、本発明に係るロボットは、図１に示すような６軸の多関節ロボットに限定しない。広義には、本発明に係るロボットは、個体差によって動作に違いが生じるような構造のロボットである。
【００２２】
図２は、図１に示すロボットＲの動作を制御するコントローラ１０の構成を概略的に示している。このコントローラ１０は、ロボットＲを交換可能に接続するように構成されている。また、コントローラ１０は、ロボットＲの動作を制御するロボット制御部１２と、ロボットＲの動作の制御に必要な教示データを記憶する教示データ記憶部１４と、ロボットＲの構成内容を示すロボット構成データを記憶するロボット構成データ記憶部１６と、コントローラ１０の外部からロボット構成データを取得するためのロボット構成データ取得部１８と、ロボットＲの交換時に教示データを変換する教示データ変換部２０とを有する。
【００２３】
なお、本発明で言う「ロボットの動作」は、ロボットに予め定義されている少なくとも１つの基準点、例えば図１に示すロボットＲの場合、ツールＴの先端に予め定義されている基準点Ｓの空間（座標系）における位置（座標）の変化によって一義的に定義される。基準点の位置は、例えば、ロボットに予め定義されている座標系の座標によって規定される。ロボットＲの場合、基準点Ｓの位置は、ロボットＲの基台（ベース）に予め定義されたベース基準点ＯＢを原点とする座標系における位置（座標）によって規定される。本明細書においては、本発明の説明を容易にするために、１つの基準点がロボットに定義され、その１つの基準点が任意の空間上に位置するときにロボットがとり得る姿勢は１つしか存在しないとものとする。
【００２４】
また、本発明で言う「教示データ」は、ロボットＲの動作、具体的にはロボットＲの動作における１つの姿勢を特定付ける、すなわち基準点Ｓの空間上の位置を一義的に特定付けるデータであって、図１に示す６軸多関節のロボットＲの場合、関節Ｊ１〜Ｊ６の関節角度θ１〜θ６の数値データを含んでいる。
【００２５】
この「教示データ」は、実際には、ロボットＲを動作させる、すなわちロボットＲに複数の姿勢を所定の順番に実行させる「プログラム（データ）」に含まれている。すなわち、「プログラム」は、少なくとも１つの「教示データ」と、複数の「教示データ」それぞれを使用する順番の情報とを含んでいる。このような「プログラム」に基づいて、コントローラ１０は、ロボットＲの姿勢を連続的に変化させ、所望の動作をロボットＲに実行させる。
【００２６】
ロボット制御部１２は、教示データ記憶部１４に記憶されている教示データに基づいてロボットＲの基準点Ｓの位置、すなわち関節Ｊ１〜Ｊ６の関節角度θ１〜θ６を制御する。例えば、ロボットＲは、関節Ｊ１〜Ｊ６として一方のリンクに対して他方のリンクを回転させるモータ（図示せず）を備えており、そのモータの回転をロボット制御部１２は制御する。なお、並進関節、すなわち他方のリンクに対して一方のリンクが進退する関節をロボットが備える場合、ロボット制御部１２はリンクを進退させるシリンダを制御する。
【００２７】
教示データ記憶部（プログラム記憶部）１４は、コントローラ１０に接続されているロボットＲに対する教示データを記憶するように、言い換えるとロボットＲに所望の動作を実行させる、少なくとも１つの教示データを含むプログラムを記憶するように構成されている。
【００２８】
ロボット構成データ記憶部１６は、コントローラ１０に接続されているロボットＲの構成内容を示すロボット構成データを記憶するように構成されている。「ロボット構成データ」は、ロボットの複数の構成要素それぞれに関するデータであって、また、ロボット毎に異なる固有のデータである。
【００２９】
例えばロボットＲの場合、リンクＬ０〜Ｌ６のリンク長、重量、形状、およびたわみ剛性、関節Ｊ１〜Ｊ６それぞれの関節角度θ１〜θ６を調節するモータの重量、およびツールＴの重量、形状などが「ロボット構成データ」に該当する。
【００３０】
具体的に言えば、ロボット構成データは、ロボットの設計仕様からわかる、例えば、減速比、モータの種類や外形、リンクの機械的特徴（長さ、重量、強度）などの複数のロボットに共通するデータに加えて、製作誤差や組立誤差などの影響を受けてロボット毎に異なる、例えば、製作誤差の影響を受けたリンクの長さや重量、組立誤差の影響を受けたバネ定数などの各ロボット固有のデータを含んでいる。
【００３１】
言い換えると、広義には、「ロボット構成データ」は、任意の教示データに基づいて制御され、その上で重力の影響を受けてたわみが生じているロボットにおける実際の基準点の位置を算出するために必要なデータである。
【００３２】
ロボット構成データ取得部１８は、コントローラ１０に接続されているロボットＲが交換されるときに、交換によって新たにコントローラ１０に接続されるロボットＲ’（特許請求の範囲の「第２のロボット」に対応）のロボット構成データをコントローラ１０の外部から取得するためのものである。例えば、ロボット構成データが記憶媒体に記憶されている場合、ロボット構成データ取得部１８は、その記憶媒体に対して読み書きできる装置である。
【００３３】
教示データ変換部２０は、コントローラ１０に接続されているロボットＲが新しいロボットＲ’と交換されるとき、教示データ記憶部１４に記憶されているロボットＲ用の教示データを新しいロボットＲ’用の教示データに変換するように構成されている。
【００３４】
具体的には、教示データ変換部２０は、図３に示すように、逆補正演算部２２と補正演算部２４とを備える。この逆補正演算部２２と補正演算部２４とにより、コントローラ１０に接続されていたロボットＲが実行していた動作を該ロボットＲと交換される新しいロボットＲ’が実行できるように、ロボットＲ用の教示データを新しいロボットＲ’用の教示データに変換する。
【００３５】
この教示データ変換部２０が行う教示データの変換について、図４に示すシンプルな構成のロボットＲＡ、ＲＢを例に挙げて説明する。
【００３６】
図４（Ａ）は、動作の中の１つの姿勢を実行している、リンクＬＡと関節ＪＡとからなるロボットＲＡを示している。また、重力の影響を受けてリンクＬＡがたわんでいる状態のロボットＲＡを図４（Ａ）は示している（Ｚ軸負方向が重力方向である）。図４（Ａ）に示すロボットＲＡの姿勢を、リンクＬＢと関節ＪＢとからなるロボットＲＢが実行する場合、まず、ロボットＲＡのリンクＬＡの先端に定義された基準点ＳＡの位置ＰＡを算出する必要がある。
【００３７】
ロボットＲＡの基準点ＳＡの位置ＰＡは、関節ＪＡの関節角度θＡ、ロボットＲＡの構成データ、例えばリンクＬＡのリンク長、重量、形状、およびたわみ剛性などから算出することができる。なお、本明細書では、教示データ（関節角度）からロボットの基準点の位置を算出する演算を、「逆補正演算」と言う。
【００３８】
ロボットＲＡの基準点ＳＡの位置ＰＡを算出すると、次に、図４（Ｂ）に示すように、ロボットＲＢのリンクＬＢの先端に定義された基準点ＳＢが位置ＰＡに位置するような関節ＪＢの関節角度θＢを、位置ＰＡとロボットＲＢの構成データとに基づいて算出する。すなわち、図４（Ｂ）に示すように、重量の影響を受けてリンクＬＢがたわんだ状態において、リンクＬＢの先端の基準点ＳＢがほぼ位置ＰＡに位置するような関節角度θＢを算出する。この算出された関節角度θＢが、図４（Ａ）に示すロボットＲＡの姿勢を実行できるロボットＲＢの教示データに対応する。なお、本明細書では、ロボットの基準点の位置から教示データ（関節角度）を算出する演算を、「補正演算」と言う。
【００３９】
このように、図３に示す教示データ変換部２０の逆補正演算部２２は、教示データ記憶部１４に記憶されている教示データ（ロボットＲ用のプログラムに含まれている教示データ）Ｔ１〜ＴＸに対するロボットＲの基準点Ｓの位置Ｐ１〜ＰＸを、その教示データＴ１〜ＴＸとロボット構成データ記憶部１６に記憶されているロボットＲのロボット構成データとに基づいて算出する（逆補正演算を実行する）。
【００４０】
そして、図３に示す教示データ変換部２０の補正演算部２４は、逆補正演算部２２が算出したロボットＲの基準点Ｓの位置Ｐ１〜ＰＸとロボット構成データ取得部１８が取得したロボットＲ’のロボット構成データとに基づいて、位置Ｐ１〜ＰＸにロボットＲと交換される新たなロボットＲ’の基準点Ｓ’が位置するような該ロボットＲ’に対する教示データＴ１’〜ＴＸ’を算出する。言い換えると、教示データ変換部２０は、ロボットＲ用のプログラムをロボットＲ’用のプログラムに変換する。これにより、ロボットＲと交換される新たなロボットＲ’は、ロボットＲの動作を実行することができる。
【００４１】
次に、ロボットＲからロボットＲ’への交換の流れの一例を図５を参照して説明する。
【００４２】
まず、ステップＳ１においてロボットＲがコントローラ１０から取り外される。
【００４３】
次に、ステップＳ２において、ロボットＲ’がコントローラ１０に取り付けられる。
【００４４】
ステップＳ３において、コントローラ１０が、ロボット構成データ取得部１８により、コントローラ１０の外部からロボットＲ’のロボット構成データを取得する。
【００４５】
ステップＳ４において、コントローラ１０が、図３に示すように、教示データ変換部２０（逆補正演算部２２）により、教示データ記憶部１４に記憶されているロボットＲの教示データＴ１〜ＴＸと、ロボット構成データ記憶部１６に記憶されているロボットＲのロボット構成データとに基づいて、教示データＴ１〜ＴＸに対するロボットＲの基準点Ｓの位置Ｐ１〜ＰＸを算出する。
【００４６】
ステップＳ５において、コントローラ１０が、図３に示すように、教示データ変換部２０（補正演算部２４）により、ステップＳ４で算出したロボットＲの基準点Ｓの位置Ｐ１〜ＰＸと、ステップＳ３で取得したロボットＲ’のロボット構成データとに基づいて、位置Ｐ１〜ＰＸにロボットＲ’の基準点Ｓ’がほぼ位置するロボットＲ’の教示データＴ１’〜ＴＸ’を算出する。
【００４７】
ステップＳ６において、コントローラ１０は、ステップＳ５で算出したロボットＲ’の教示データＴ１’〜ＴＸ’を教示データ記憶部１４に上書保存する（ロボットＲの教示データＴ１〜ＴＸが教示データ記憶部１４から消去される）。
【００４８】
ステップＳ７において、コントローラ１０は、ステップＳ３で取得したロボットＲ’のロボット構成データをロボット構成データ記憶部１６に上書保存する（ロボットＲのロボット構成データがロボット構成データ記憶部１６から消去される）。そして、ロボットＲからロボットＲ’への交換作業が終了する。
【００４９】
本実施の形態によれば、ロボットＲについての教示データＴ１〜ＴＸ、ロボット構成データに基づいて、ロボットＲの基準点Ｓの位置Ｐ１〜ＰＸが算出され、その算出した位置Ｐ１〜ＰＸにロボットＲ’の基準点Ｓ’が位置するための教示データＴ１’〜ＴＸ’が、算出した位置Ｐ１〜ＰＸとロボットＲ’のロボット構成データとに基づいて算出される。これにより、ロボットＲの動作をロボットＲ’は実行することができる。
【００５０】
このような構成によれば、新しいロボットＲ’に対する教示データＴ１’〜ＴＸ’が、ロボットＲ’と交換されるロボットＲに対する教示データＴ１〜ＴＸから作成されるため、教示データ作成ツール（ソフトウェア）によって作成されるオフライン教示データは必要なくなる。また、ロボットＲの教示データＴ１〜ＴＸが、オフライン教示データを個体差を考慮して変換した個体差考慮済みオフライン教示データであっても、またはティーチングペンダントを介して作業者がロボットＲに直接教示することにより作成されたものであっても、ロボットＲの動作をロボットＲ’は実行することができる。すなわち、ロボットＲの教示データＴ１〜ＴＸの作成方法に影響されることなく、ロボットＲ用の教示データＴ１〜ＴＸからロボットＲ’用の教示データＴ１’〜ＴＸ’を作成することができる。
【００５１】
以上、上述の実施の形態を挙げて本発明を説明したが、本発明は上述の実施の形態に限定されない。
【００５２】
例えば、上述の実施の形態の場合、コントローラ１０から取り外されるロボットＲの動作を該コントローラ１０に新たに接続されるロボットＲ’に実行させているが、本発明はこれに限らない。本発明は、広義には、１つのロボットの動作を別のロボットに実行させるためのものであって、例えばあるコントローラに接続されているロボットの動作を、別のコントローラに接続されているロボットに実行させることも可能である。
【００５３】
また、上述の実施の形態の場合、図５のステップＳ６に示すように、教示データ変換部２０によって算出された教示データＴ１’〜ＴＸ’が教示データ記憶部１４に上書保存されることにより、教示データＴ１〜ＴＸは消去されるが、本発明はこれに限らない。消去する代わりに、教示データ名をリネームする、または他の記憶装置に保存することにより残すようにしてもよい。同様に、図５のステップＳ７において消去されるロボット構成データも、残すようにしてもよい。
【００５４】
さらに、上述の実施の形態の場合、第１のロボット（ロボットＲ）の動作を第２のロボット（ロボットＲ’）に実行させるために、第１のロボットに対する教示データからの第２のロボットに対する教示データの算出は、第１および第２のロボットを制御するコントローラ１０が実行しているが、本発明はこれに限定されない。
【００５５】
例えば、第１のロボットが接続されているコントローラから該第１のロボットに対する教示データを、コントローラとは別構成のノート型のコンピュータに転送し、その教示データを、コンピュータに記憶されている第１および第２のロボットそれぞれのロボット構成データに基づいて、コンピュータ上で第２のロボットに対する教示データに変換してもよい。コンピュータ上で作成された第２のロボットに対する教示データを、第２のロボットが接続されているコントローラに転送することにより、第２のロボットは、第１のロボットの動作を実行することができる。
【００５６】
さらにまた、上述の実施の形態の場合、実際のロボットＲに対する教示データを実際のロボットＲ’に対する教示データに変換しているが、本発明はこれに限らない。本発明によれば、実際のロボットに対する教示データを、コンピュータ上の仮想のロボットに対する教示データに変換することもできる。
【００５７】
例えば、実際のロボットの動作を、コンピュータ上で高精度にシミュレーションする場合、実際のロボットに対する教示データを、シミュレーション上の仮想のロボット、例えば実際のロボットを製作するにあたって使用された設計図面（ＣＡＤデータ等）に基づいてコンピュータ上に構築された仮想のロボットに対する教示データに変換することが考えられる。なお、本明細書で言う「仮想ロボット」は、設計仕様どおりであって製作誤差や組み立て誤差などがない、それに加えてたわみを生じない理想的なロボットを言う。
【００５８】
例えば、実際のロボットに対して使用されている教示データが、例えば特許文献１に記載するような方法によって作成されたオフライン教示データを個体差を考慮して変換した個体差考慮済みオフライン教示データである場合、変換前のオフライン教示データに復元することができる。なお、オフライン教示データの作成時に使用したロボット、すなわち、教示データ作成ツール上の仮想のロボット、言い換えると製作誤差等の個体差がないロボットのロボット構成データ、具体的には、ロボットの設計仕様を示す、ロボットの複数の構成要素それぞれの外形寸法やレイアウトなどがわかる設計図面（ＣＡＤデータ等）が必要である。
【００５９】
この場合、実際のロボットに対する教示データおよびロボット構成データとに基づいて該教示データに対する実際のロボットの基準点の位置を算出する。この算出した実際のロボットの基準点の位置に仮想のロボットの基準点が位置するような仮想ロボットに対する教示データを、算出した実際のロボットの基準点の位置と仮想ロボットのＣＡＤデータとに基づいて算出する。これにより、ロボットの個体差を考慮する前のオフライン教示データを得ることができる。なお、このようにして得られたオフライン教示データは、例えば、他のロボットに対して使用するために、該他のロボットの個体差を考慮して個体差考慮済み教示データに変換される。
【００６０】
これに関連して、実際のロボットに対して使用されている教示データが、個体差考慮済みオフライン教示データを、例えばティーチングペンダントを介する直接教示によって追加的に変更したものである場合、直接教示によって変更される前の個体差考慮済みオフライン教示データを復元する必要がある。これを実現するためには、ティーチングペンダントを介する直接教示の内容を記憶する記憶手段と、その記憶内容に基づいて個体差考慮済みオフライン教示データを復元する手段が必要である。
【産業上の利用可能性】
【００６１】
本発明は、多関節ロボット以外にも、教示データに基づいて動作が制御されるロボットであれば適用可能である。例えば、目標位置を示す教示データに基づいて該目標位置に移動するような走行するロボットにも適用可能である。
【符号の説明】
【００６２】
ＲＡ    ロボット
ＲＢ    ロボット
θＡ    教示データ（関節角度）
θＢ    教示データ（関節角度）
ＳＡ    基準点
ＳＢ    基準点
ＰＡ    基準点の実際位置
【図１】
0005582992.tif 000002
【図２】
0005582992.tif 000003
【図３】
0005582992.tif 000004
【図４】
0005582992.tif 000005
【図５】
0005582992.tif 000006