(57)【要約】      （修正有）【課題】作業ロボットにおいて光切断法により３次元位置計測を行うに際して、作業ロボットの駆動軸の作動を不要とすることで、作業効率を向上させるとともに、位置計測ユニットがワーク等と干渉することを回避する。【解決手段】作業ロボット１０の手首先端軸１１には、作業用ツール２０が設けられるとともに、光切断法により位置計測を行う位置計測ユニット３０が設けられている。位置計測ユニット３０内には、作業対象のワークＷ上で交差する第１のスリット光６１、第２のスリット光６２をワークＷに向けてそれぞれ投光する第１のスリット光源、第２のスリット光源と、第１のスリット光６１に対応する光切断像を含む第１の画像を撮像するとともに、第２のスリット光６２に対応する光切断像を含む第２の画像を撮像する撮像手段５０とが設けられている。【選択図】図６
2008246659.tif 000002
【特許請求の範囲】
【請求項１】
作業ロボットの手首先端軸に、作業用ツールが設けられるとともに、光切断法により位置計測を行う位置計測ユニットが設けられ、
位置計測ユニット内に、作業対象のワーク上で交差する第１のスリット光、第２のスリット光をワークに向けてそれぞれ投光する第１のスリット光源、第２のスリット光源と、第１のスリット光に対応する光切断像を含む第１の画像を撮像するとともに、第２のスリット光に対応する光切断像を含む第２の画像を撮像する撮像手段と
が設けられ、
第１のスリット光源による第１のスリット光のワークへの投光、第２のスリット光源による第２のスリット光のワークへの投光を順次行って、
撮像手段により、第１の画像、第２の画像を順次取得し、
取得された第１画像および第２の画像に基づいて、ワークの３次元位置を計測すること
を特徴とする作業ロボットの位置計測装置。
【請求項２】
作業ロボットの手首先端軸に、作業用ツールが設けられるとともに、光切断法により位置計測を行う位置計測ユニットが設けられ、
位置計測ユニット内に、作業対象のワークに向けてスリット光を投光するスリット光源と、ワーク上で交差する第１のスリット光、第２のスリット光が得られるようにスリット光源を回転させる回転機構と、第１のスリット光に対応する光切断像を含む第１の画像を撮像するとともに、第２のスリット光に対応する光切断像を含む第２の画像を撮像する撮像手段と
が設けられ、
回転機構を作動させることで、スリット光源による第１のスリット光のワークへの投光、スリット光源による第２のスリット光のワークへの投光を順次行って、
撮像手段により、第１の画像、第２の画像を順次取得し、
取得された第１画像および第２の画像に基づいて、ワークの３次元位置を計測すること
を特徴とする作業ロボットの位置計測装置。
【請求項３】
作業ロボットの動作プログラムを教示する教示時には、マスターワーク上の基準点の３次元位置を計測し、
作業ロボットの動作プログラムを再生する再生時には、ワーク上の基準点の３次元位置を計測して、
当該ワークについて計測された基準点の３次元位置と、マスターワークについて計測された基準点の３次元位置との位置ずれを計算し、  
計算された位置ずれに基づいて、動作プログラムに記述された教示点の位置を補正すること
を特徴とする請求項１または２記載の作業ロボットの位置計測装置。
【請求項４】
作業ロボットの動作プログラムを教示する教示時には、動作プログラムに記述された複数の教示点に対応するマスターワーク上の複数の基準点の３次元位置を計測し、
作業ロボットの動作プログラムを再生する再生時には、動作プログラムに記述された複数の教示点に対応するワーク上の複数の基準点の３次元位置を計測して、
当該ワークについて計測された複数の基準点の３次元位置と、マスターワークについて計測された複数の基準点の３次元位置との位置ずれを計算し、  
計算された位置ずれに基づいて、動作プログラムに記述された複数の教示点の位置を補正すること
を特徴とする請求項１または２記載の作業ロボットの位置計測装置。
【請求項５】
作業ロボットの動作プログラムの再生時に、教示点に対応する基準点の３次元位置を計測すること
を特徴とする請求項４記載の作業ロボットの位置計測装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、作業ロボットの対象となるワーク上の位置を計測する装置に関するものである。
【背景技術】
【０００２】
（従来技術１）
従来より、作業対象となるワークなどの物体の３次元位置を計測するために、光切断法が一般に用いられている。
【０００３】
光切断法の原理は、図１を用いて説明される。
【０００４】
すなわち、ワークＷに、スリット光６０を斜めに投光して、スリット光６０に対応する光切断像７０Ａを含む画像７０をカメラ５０にて撮像する。光切断像７０Ａは、画像７０上の特徴的な点、たとえばワークＷの表面の変化点Ｐを含んでいる。そこで、この特徴点Ｐの画像７０上の座標位置を計算することで、ワークＷのＸ−Ｚ面における２次元座標位置が求められる。そして、更に図１に示すスリット光６０と垂直に交差するスリット光をワークＷに投光して、同様にワークＷのＹ軸方向の座標位置が求められる。以上のようにしてワークＷの３次元座標位置が求められる。
【０００５】
（従来技術２）
溶接ロボットなどの作業ロボットの分野においても、たとえば特許文献１にみられるように、光切断法を用いて作業対象となるワークＷの３次元座標位置を計測する試みがなされている。
【０００６】
溶接ロボットに光切断法を適用した場合の動作について、図４を用いて説明する。
【０００７】
図４（ａ）は、溶接ロボット１０の手首先端軸１１に、作業用ツールである溶接トーチ２０が設けられるとともに、光切断法により位置計測を行う位置計測ユニット３０が設けられた構成を示している。
【０００８】
位置計測ユニット３０内には、作業対象のワークＷに向けてスリット光６０を投光するスリット光源４０と、スリット光６０に対応する光切断像を含む画像を撮像するカメラ５０が設けられている。
【０００９】
図４（ｂ）に示すように、部材ＷＡと部材ＷＢとを溶接するに際して、部材ＷＡと部材ＷＢとからなるワークＷの開先（溶接線）の３次元位置を計測するためには、図４（ｂ）、図４（ｃ）で示すように、溶接ロボット１０の手首先端軸１１を回転させて、スリット光源４０からワークＷ上に、垂直に交差するスリット光６１、６２を順次投光する。そして、つぎに、カメラ５０により、スリット光６１に対応する光切断像を含む画像、スリット光６１に対応する光切断像を含む画像を順次取得し、取得された画像に基づいて、ワークＷの開先の３次元位置を計測する。
【００１０】
このように従来技術にあっては、光切断法を用いて作業対象となるワークＷの３次元座標位置を計測するには、その計測のために溶接ロボット１０の手首先端軸１１を回転させる必要があった。
【００１１】
（従来技術３）
特許文献２には、位置計測一般の技術分野に関する発明であって、物体に向けて、直角に交わる２本のスリット光を、２つのスリット光源から同時に投光して、物体の３次元位置を計測するという発明が記載されている。
【００１２】
（従来技術４）
特許文献３には、溶接ロボットの手首先端軸に撮像装置を設け、撮像装置によって溶接トーチとワークを撮像して、撮像した画像を画像処理した結果から教示点を修正するという発明が記載されている。特許文献３記載の発明は、オフラインで溶接ロボットのプログラムを作成した場合に、プログラム再生時に、溶接ロボットの手首先端軸に設けられた撮像装置がワークと干渉してしまうことを防止するという解決課題が記載されている。特許文献３では、この解決課題を達成するために、溶接ロボットの手首先端軸にアダプタを設け、アダプタによって撮像装置と溶接トーチとの距離を大きくするという発明が記載されている。
【特許文献１】特開２００６-２００８９９号公報
【特許文献２】特開平６-１０９４４２号公報
【特許文献３】特開２００５−１３１７６１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
特許文献１に記載された発明によれば、溶接ロボットにおいて光切断法により３次元位置計測を行うためには、溶接ロボットの手首先端軸を回転させる必要がある。このため本来の溶接作業に伴う溶接ロボットの駆動軸の作動に加えて、位置計測のためだけに溶接ロボットの駆動軸を作動させなければならず、作業に時間を要し作業効率が悪くなるという問題がある。
【００１４】
しかも、位置計測に際して溶接ロボットの手首先端軸を回転させることで、手首先端軸に設けられた位置計測ユニット３０がワークＷや各種機器に干渉するおそれがある。
【００１５】
本発明は、こうした実情に鑑みてなされたものであり、作業ロボットにおいて光切断法により３次元位置計測を行うに際して、作業ロボットの駆動軸の作動を不要とすることで、作業効率を向上させるとともに、位置計測ユニットがワーク等と干渉することを回避することを解決課題とするものである。
【００１６】
ここで、特許文献２では、２本のスリット光を同時にワークに投光しているため、２本のスリット光に対応する２本の光切断像を含む画像が取得されることになる。したがって、画像を処理する際に、２本の光切断像を識別する処理が加わり、画像処理が複雑になるという問題が発生する。このため、画像上の特徴点を誤認識するおそれがある。したがって、２本のスリット光を同時にワークに投光するという技術は、これを採用することはできない。
【００１７】
しかも、特許文献２記載の発明は、位置計測一般の技術分野に属する発明であり、作業ロボットの手首先端軸に、位置計測ユニットを設けるという構成は何ら開示されていない。すなわち、特許文献２には、作業ロボットの手首先端軸の位置計測ユニットを回すことで発生する諸問題点を解決するという本発明の課題は、そもそも示唆されていない。
【００１８】
特許文献３記載の発明は、溶接ロボットの手首先端軸に撮像装置を設け、撮像装置によって溶接トーチとワークを撮像して、撮像した画像を画像処理した結果から教示点を修正するという発明であって、本発明のように光切断法による位置計測を行うという発明ではない。したがって、交差するスリット光を得るために作業ロボットの手首先端軸の位置計測ユニットを回すという構成、作業ロボットの手首先端軸の位置計測ユニットを回すことで発生する諸問題点を解決するという本発明の課題は、そもそも示唆されていない。
【課題を解決するための手段】
【００１９】
第１発明は、
作業ロボットの手首先端軸に、作業用ツールが設けられるとともに、光切断法により位置計測を行う位置計測ユニットが設けられ、
位置計測ユニット内に、作業対象のワーク上で交差する第１のスリット光、第２のスリット光をワークに向けてそれぞれ投光する第１のスリット光源、第２のスリット光源と、第１のスリット光に対応する光切断像を含む第１の画像を撮像するとともに、第２のスリット光に対応する光切断像を含む第２の画像を撮像する撮像手段と
が設けられ、
第１のスリット光源による第１のスリット光のワークへの投光、第２のスリット光源による第２のスリット光のワークへの投光を順次行って、
撮像手段により、第１の画像、第２の画像を順次取得し、
取得された第１画像および第２の画像に基づいて、ワークの３次元位置を計測する、
作業ロボットの位置計測装置であることを特徴とする。
【００２０】
第２発明は、
作業ロボットの手首先端軸に、作業用ツールが設けられるとともに、光切断法により位置計測を行う位置計測ユニットが設けられ、
位置計測ユニット内に、作業対象のワークに向けてスリット光を投光するスリット光源と、ワーク上で交差する第１のスリット光、第２のスリット光が得られるようにスリット光源を回転させる回転機構と、第１のスリット光に対応する光切断像を含む第１の画像を撮像するとともに、第２のスリット光に対応する光切断像を含む第２の画像を撮像する撮像手段と
が設けられ、
回転機構を作動させることで、スリット光源による第１のスリット光のワークへの投光、スリット光源による第２のスリット光のワークへの投光を順次行って、
撮像手段により、第１の画像、第２の画像を順次取得し、
取得された第１画像および第２の画像に基づいて、ワークの３次元位置を計測する、
作業ロボットの位置計測装置であることを特徴とする。
【００２１】
第３発明は、第１発明または第２発明において、
作業ロボットの動作プログラムを教示する教示時には、マスターワーク上の基準点の３次元位置を計測し、
作業ロボットの動作プログラムを再生する再生時には、ワーク上の基準点の３次元位置を計測して、
当該ワークについて計測された基準点の３次元位置と、マスターワークについて計測された基準点の３次元位置との位置ずれを計算し、  
計算された位置ずれに基づいて、動作プログラムに記述された教示点の位置を補正すること
を特徴とする。
【００２２】
第４発明は、第１発明または第２発明において、
作業ロボットの動作プログラムを教示する教示時には、動作プログラムに記述された複数の教示点に対応するマスターワーク上の複数の基準点の３次元位置を計測し、
作業ロボットの動作プログラムを再生する再生時には、動作プログラムに記述された複数の教示点に対応するワーク上の複数の基準点の３次元位置を計測して、
当該ワークについて計測された複数の基準点の３次元位置と、マスターワークについて計測された複数の基準点の３次元位置との位置ずれを計算し、  
計算された位置ずれに基づいて、動作プログラムに記述された複数の教示点の位置を補正すること
を特徴とする。
【００２３】
第５発明は、第４発明において、
作業ロボットの動作プログラムの再生時に、教示点に対応する基準点の３次元位置を計測すること
を特徴とする。
【００２４】
第１発明では、図５に示すように、作業ロボット１０の手首先端軸１１には、作業用ツール２０が設けられるとともに、光切断法により位置計測を行う位置計測ユニット３０が設けられている。
【００２５】
位置計測ユニット３０内には、作業対象のワークＷ上で交差する第１のスリット光６１、第２のスリット光６２をワーク（図示せず）に向けてそれぞれ投光する第１のスリット光源４１、第２のスリット光源４２と、第１のスリット光６１に対応する光切断像７０Ａを含む第１の画像７１（図８（ａ）、（ｃ）参照）を撮像するとともに、第２のスリット光６２に対応する光切断像７０Ｂを含む第２の画像７２（図８（ｂ）、（ｄ）参照）を撮像する撮像手段５０とが設けられている。
【００２６】
第１のスリット光源４１による第１のスリット光６１のワークＷへの投光、第２のスリット光源４２による第２のスリット光６２のワークＷへの投光が順次行われる。
【００２７】
そして、図７（ａ）、（ｂ）に示すように撮像手段５０により、第１の画像７１、第２の画像７２が順次取得される。
【００２８】
そして、取得された第１画像７１および第２の画像７２に基づいて、ワークＷの３次元位置Ｐ（Ｘ、Ｙ、Ｚ）が計測される。
【００２９】
第２発明では、図６（ａ）に示すように、作業ロボット１０の手首先端軸１１には、作業用ツール２０が設けられるとともに、光切断法により位置計測を行う位置計測ユニット３０が設けられている。
【００３０】
図６（ｂ）、（ｃ）に示すように、位置計測ユニット３０内には、作業対象のワークＷに向けてスリット光６１、６２を投光するスリット光源４０と、ワークＷ上で交差する第１のスリット光６１、第２のスリット光６２が得られるようにスリット光源４０を回転させる回転機構４５と、第１のスリット光６１に対応する光切断像７０Ａを含む第１の画像７１を撮像するとともに、第２のスリット光６２に対応する光切断像７０Ｂを含む第２の画像７２を撮像する撮像手段５０とが設けられている。
【００３１】
図６（ｂ）、（ｃ）に示すように、回転機構４５を作動させることで、スリット光源４０による第１のスリット光６１のワークＷへの投光、スリット光源４０による第２のスリット光６２のワークＷへの投光が順次行われる。
【００３２】
図７（ａ）、（ｂ）に示すように撮像手段５０により、第１の画像７１、第２の画像７２が順次取得される。取得された第１画像７１および第２の画像７２に基づいて、ワークＷの３次元位置Ｐ（Ｘ、Ｙ、Ｚ）が計測される。
【００３３】
第３発明では、図８（ａ）、（ｂ）に示すように、作業ロボット１０の動作プログラムを教示する教示時には、マスターワークＷｍ上の基準点Ｐｍの３次元位置（Ｘｍ、Ｙｍ、Ｚｍ）が計測される（図９のステップ１０３、１０５）。
【００３４】
そして、図８（ｃ）、（ｄ）に示すように、作業ロボット１０の動作プログラムを再生する再生時には、ワークＷｐ上の基準点Ｐｐの３次元位置（Ｘｐ、Ｙｐ、Ｚｐ）が計測される（図１０のステップ２０３、２０５）。
【００３５】
そして、このワークＷｐについて計測された基準点Ｐｐの３次元位置（Ｘｐ、Ｙｐ、Ｚｐ）と、マスターワークＷｍについて計測された基準点Ｐｍの３次元位置（Ｘｍ、Ｙｍ、Ｚｍ）との位置ずれΔＸ（＝Ｘｐ−Ｘｍ）、ΔＹ（＝Ｙｐ−Ｙｍ）、ΔＺ（＝Ｚｐ−Ｚｍ）が計算される（図１０のステップ２０６）。  
そして、計算された位置ずれΔＸ（＝Ｘｐ−Ｘｍ）、ΔＹ（＝Ｙｐ−Ｙｍ）、ΔＺ（＝Ｚｐ−Ｚｍ）に基づいて、動作プログラムに記述された教示点の位置が補正される（図１０のステップ２０７）。
【００３６】
第４発明では、図９に示すように、作業ロボット１０の動作プログラムを教示する教示時には、動作プログラムに記述されるべき複数の教示点ＰC、ＰDに対応するマスターワークＷｍ上の複数の基準点ＰｍC、ＰｍDの３次元位置（ＸｍC、ＹｍC、ＺｍC）、（ＸｍD、ＹｍD、ＺｍD）が計測される（ステップ１０３、１０５、１０７）。
【００３７】
そして、図１０に示すように、作業ロボット１０の動作プログラムを再生する再生時には、動作プログラムに記述された複数の教示点ＰC、ＰDに対応するワークＷｐ上の複数の基準点ＰｐC、ＰｐDの３次元位置ＸｐC、ＹｐC、ＺｐC）、（ＸｐD、ＹｐD、ＺｐD）が計測される（ステップ２０３、２０５、２０８）。
【００３８】
そして、ワークＷｐについて計測された複数の基準点ＰｐC、ＰｐDの３次元位置ＸｐC、ＹｐC、ＺｐC）、（ＸｐD、ＹｐD、ＺｐD）の３次元位置と、マスターワークＷｍについて計測された複数の基準点ＰｍC、ＰｍDの３次元位置（ＸｍC、ＹｍC、ＺｍC）、（ＸｍD、ＹｍD、ＺｍD）との位置ずれΔＸC、ΔＹC、ΔＺCおよびΔＸD、ΔＹD、ΔＺDが計算される（図１０のステップ２０６、２０８）。  
そして、計算された位置ずれΔＸC、ΔＹC、ΔＺCおよびΔＸD、ΔＹD、ΔＺDに基づいて、動作プログラムに記述された教示点ＰC、ＰDの位置が補正される（図１０のステップ２０７、２０８）。
【００３９】
以上のように本発明によれば、作業ロボット１０の手首先端軸１１は固定したままで、位置計測ユニット３０から、作業対象のワークＷに向けて、ワークＷ上で交差する第１のスリット光６１、第２のスリット光６２を投光できるように構成したので、光切断法により３次元位置計測を行うに際して、作業ロボット１０の駆動軸の作動が不要となる。このため本来の作業（たとえば溶接作業）に伴う作業ロボット１０の駆動軸の作動に加えて、位置計測のためだけに作業ロボット１０の駆動軸を作動させる時間のロスがなくなり、作業を短時間で行なえ作業効率を向上させることができる。
【００４０】
しかも、位置計測に際して作業ロボット１０の手首先端軸１１を回転させることは不要となるので、位置計測時に手首先端軸１１に設けられた位置計測ユニット３０がワークＷや各種機器に干渉することがない。
【００４１】
特に、第４発明では、作業ロボット１０の動作プログラムの教示時、再生時に、複数の教示点ＰC、ＰDについて、位置計測のためだけに作業ロボット１０の駆動軸を作動させることが不要となるので、より一層、時間ロスを減らし、より一層作業効率を向上させることができるようになる。
【００４２】
さて、ワークを溶接することで、溶接構造物たるワークに熱歪が生じて、それにより位置ずれが生じることがある。この場合には、溶接の途中で位置計測を行って位置ずれを補正することが望ましい。
【００４３】
第５発明では、作業ロボット１０の動作プログラムの再生時に、教示点ＰDに対応する基準点ＰｐDの３次元位置が計測され、教示点ＰDの位置ずれが作業中（溶接中）に補正される（図１２のステップ２０８´、２０９´）。このように本発明によれば、溶接作業の途中で、熱歪により生じた位置ずれが適時に補正されるため、熱歪の影響を受けて生産時のワークで位置ずれが発生したとしても、正確に溶接線に沿ってツール先端を移動させることができる。    
また、従来技術を適用して、溶接中に位置計測を行うためだけのためにロボット駆動軸（手首先端軸）を作動させてしまうと、本来の動作プログラムの動作に影響を及ぼす。また、位置計測のためだけに作業ロボットを動作させてから、本来の教示点まで作業用ツール先端を移動させる動作が必要となるため、時間的なロスが大きい。本発明によれば、溶接中に位置計測を行う際に作業ロボットの手首先端軸を作動させる必要がないため、作業プログラムの動作に与える影響が少なく、時間的なロスを少なくすることができる。
【発明を実施するための最良の形態】
【００４４】
以下、図面を参照して本発明の実施の形態について説明する。
【００４５】
なお、実施形態では、作業ロボットとして、アーク溶接作業等の溶接作業を行う溶接ロボット１０を想定する。
【００４６】
図１４は、実施形態の溶接ロボットを含む溶接システムの全体構成を示す。
【００４７】
同図１４に示すように、本溶接システムは、溶接ロボット１０と、画像処理装置８０と、ロボットコントローラ９０とから構成されている。
【００４８】
実施例の溶接ロボット１０は、たとえば各軸１１、１２、１３、１４、１５、１６を有した６軸の多関節ロボットであり、駆動部１９を備えている。駆動部１９は、サーボアンプ、ロボット用モータを含んで構成されている。駆動部１９は、駆動指令に応じて各軸１１、１２、１３、１４、１５、１６を駆動する。
【００４９】
図１５（ａ）は、溶接ロボット１０のアーム先端部分を拡大して示している。
【００５０】
溶接ロボット１０は、アーム１０ａを有しており、このアーム１０ａの先端には、手首先端軸１１が設けられている。手首先端軸１１には、ブラケット１７を介して溶接トーチ２０と位置計測ユニット３０が取り付けられている。手首先端軸１１は、アーム１０ａに対してブラケット１７およびこれに取り付けられた溶接トーチ２０と位置計測ユニット３０を、相対的に回動させる駆動軸である。
【００５１】
各軸１１、１２、１３、１４、１５、１６が駆動されることによりロボット座標系Ｘ−Ｙ−Ｚ上で、溶接トーチ２０の先端、つまり溶接ワイヤの先端の座標位置Ｐ（Ｘ、Ｙ、Ｚ）およびトーチ姿勢角（Ａ、Ｂ、Ｃ）が変化される。これにより溶接トーチ２０を所望する姿勢で母材の溶接線に沿って移動させることができる。なお、トーチ姿勢角（Ａ、Ｂ、Ｃ）はオイラ角で定義される。
【００５２】
手首先端軸１１の回動に応じて、ブラケット１７およびこれに取り付けられた溶接トーチ２０と位置計測ユニット３０は、アーム１０aに対して相対的に回動する。
【００５３】
溶接ロボット１０の位置計測ユニット３０と画像処理装置８０とは、カメラケーブル８１にて接続されている。
【００５４】
画像処理装置８０とロボットコントローラ９０とは、通信ケーブル８２にて接続されている。
【００５５】
ロボットコントローラ９０と溶接ロボット１０の駆動部１９とは、駆動信号線８３にて接続されている。
【００５６】
位置計測ユニット３０は、後述するように撮像手段としてのカメラ５０を含んで構成されている。
【００５７】
カメラ５０で撮像された画像を示す画像信号は、カメラケーブル８１を介して画像処理装置８０に送られる。
【００５８】
画像処理装置８０では、位置計測ユニット３０のカメラ５０から送られた画像を画像処理して画像上の特徴的な点を検出する。
【００５９】
画像処理装置８０で画像処理された画像上の特徴点を示すデータは、通信ケーブル８２を介してロボットコントローラ９０に送られる。また、ロボットコントローラ９０は、画像処理の開始を指令する開始指令信号や画像処理のために必要な制御パラメータを、通信ケーブル８２を介して画像処理装置８０に送る。
【００６０】
ロボットコントローラ９０は、溶接ロボット１０を制御するために必要なハードウエアとしての各種基板、ＣＰＵ、メモリ等を含んで構成されている。ロボットコントローラ９０には、溶接ロボット１０を動作させる動作プログラムなどの各種制御上必要なソフトウエアが保存されている。ロボットコントローラ９０では、後述するように、画像処理装置８０から送られてきた画像上の特徴点を示すデータに基づいて、動作プログラムに記述された教示点の３次元位置が補正される。
【００６１】
ロボットコントローラ９０では、動作プログラムにしたがって溶接ロボット１０の各軸を駆動するための駆動指令が生成される。生成された駆動指令は、駆動信号線８３を介して溶接ロボット１０の駆動部１９に送られる。
【００６２】
溶接ロボット１０の各軸１１〜１６は、ロボットコントローラ９０から送られてきた駆動指令に応じて駆動される。これにより溶接ロボット１０は、動作プログラムにしたがった動作をする。
【００６３】
図１５は、位置計測ユニット３０の溶接ロボット１０への装着例を斜視図にて示している。
【００６４】
図１５（a）は、ブラケット１７に位置計測ユニット３０を取り付けた装着例を示している。手首先端軸１１の近くであって溶接トーチ２０の先端から離れた位置に位置計測ユニット３０が配置されている。
【００６５】
図１５（ｂ）は、溶接トーチ２０に位置計測ユニット３０を取り付けた装着例を示している。手首先端軸１１から離れた位置であって溶接トーチ２０の先端に近い位置に位置計測ユニット３０が配置されている。
【００６６】
位置計測ユニット３０の装着位置は、位置計測ユニット３０の大きさ、形状や、内臓されるカメラ５０の焦点距離などに応じて、適切な位置に定められる。
【００６７】
なお、図１５（a）の装着例の場合には、位置計測ユニット３０が作業対象のワークＷから離れているため、溶接ヒュームを避けることができるという利点がある。
【００６８】
以下では、図１５（a）に示す装着例にて位置計測ユニット３０が溶接ロボット１０に装着されたものとして説明する。
【００６９】
図５は、位置計測ユニット３０の第１の構成例を示している。
【００７０】
同図５に示すように、溶接ロボット１０の手首先端軸１１には、ブラケット１７を介して、作業用ツールとしての溶接トーチ２０が設けられるとともに、位置計測ユニット３０が設けられている。
【００７１】
位置計測ユニット３０は、光切断法により位置計測を行う装置を内臓した筐体である。
【００７２】
光切断法は、図１、図２、図３を用いて説明される。図１（ａ）、図２（a）、図３（a）は、ワークＷおよびカメラ５０を正面から見た図で、図１（b）、図２（b）、図３（b）は、ワークＷおよびカメラ５０を側面から見た図で、図１（ｃ）、図２（ｃ）、図３（ｃ）は、カメラ５０により撮像される画像７０を示す。
【００７３】
カメラ５０は、レンズ５１とフィルタ５２を備えている。フィルタ５２は、レーザ光と同じ波長の光のみを透過する。レーザ光を走査するか、レーザ光をシリンドリカルレンズを通すことで、所定の方向に一定の広がり幅を有するスリット光６０が形成される。スリット光６０は、図１、図２、図３では図示されていないスリット光源から出射される。
【００７４】
図１に示すように、ワークＷに、スリット光６０を斜めに投光して、スリット光６０に対応する光切断像７０Ａを含む画像７０をカメラ５０にて撮像する。光切断像７０Ａは、画像７０上の特徴点、たとえばワークＷの表面の変化点Ｐを含んでいる。そこで、この特徴点Ｐの画像７０上の座標位置を計算することで、ワークＷのＸ−Ｚ面における２次元座標位置が求められる。そして、更に図１に示すスリット光６０と垂直に交差するスリット光（図示せず）をワークＷに投光して、同様にワークＷのＹ軸方向の座標位置が求められる。以上のようにしてワークＷの特徴点の基準となる３次元座標位置が求められる。
【００７５】
図２に示すように、ワークＷが上下方向、つまりＺ軸方向にずれた場合には、画像７０上の特徴点Ｐは、画像７０上で同じ上下方向にずれる。
【００７６】
図３に示すように、ワークＷが左右方向、つまりＸ軸方向にずれた場合には、画像７０上の特徴点Ｐは、画像７０上で同じ左右方向にずれる。
【００７７】
図５に示すように、位置計測ユニット３０内には、上述した光切断法により位置計測を行うために作業対象のワークＷ上で垂直に交差する第１のスリット光６１、第２のスリット光６２をワークＷに向けてそれぞれ投光する第１のスリット光源４１、第２のスリット光源４２と、第１のスリット光６１に対応する光切断像７０Ａを含む第１の画像７１を撮像するとともに、第２のスリット光６２に対応する光切断像７０Ｂを含む第２の画像７２を撮像する撮像手段としてのカメラ５０とが設けられている。
【００７８】
第１のスリット光源４１、第２のスリット光源４２は、たとえばＨeＮe（ヘリウムネオン）レーザ光をシリンドリカルレンズを通してスリット光として出射するものである。また、レーザ光を走査することでスリット光を形成してもよい。なお、スリット光は、必ずしもレーザ光である必要はない。
【００７９】
なお、図５では、位置計測ユニット３０の筐体の寸法を極力小さくするために、第１のスリット光源４１あるいは第２のスリット光源４２から出射されたレーザ光を反射させるミラー４３を設けるようにしている。しかし、ミラー４３を設けない実施も可能である。
【００８０】
カメラ５０は、たとえばＣＣＤカメラやＣＭＯＳカメラが用いられる。カメラ５０には、レンズ５１とフィルタ５２が備えられている。フィルタ５２は、レーザ光と同じ波長の光のみを透過する。
【００８１】
図５では、説明の便宜のため、第１のスリット光６１、第２のスリット光６２を同じ図中に併記しているが、本実施例の制御では、後述するように、第１のスリット光源４１による第１のスリット光６１のワークＷへの投光、第２のスリット光源４２による第２のスリット光６２のワークＷへの投光が順次に行われる。すなわち、一方のスリット光源が点灯しているときには他方のスリット光源は消灯している。
【００８２】
図６は、位置計測ユニット３０の第２の構成例を示している。
【００８３】
同図６（ａ）に示すように、図５の構成と同じく、溶接ロボット１０の手首先端軸１１には、ブラケット１７を介して、作業用ツールとしての溶接トーチ２０が設けられるとともに、位置計測ユニット３０が設けられている。
【００８４】
位置計測ユニット３０は、光切断法により位置計測を行う装置を内臓した筐体である。
【００８５】
図６（ｂ）、（ｃ）に示すように、位置計測ユニット３０内には、作業対象のワークＷに向けてスリット光６１、６２を投光するスリット光源４０と、ワークＷ上で垂直に交差する第１のスリット光６１、第２のスリット光６２が得られるようにスリット光源４０を回転させる回転機構４５と、第１のスリット光６１に対応する光切断像７０Ａを含む第１の画像７１を撮像するとともに、第２のスリット光６２に対応する光切断像７０Ｂを含む第２の画像７２を撮像する撮像手段としてのカメラ５０とが設けられている。回転機構４５の回転位置を第１のポジションに位置決めすることで、第１のスリット光６１が投光され、回転機構４５の回転位置を第２のポジションに位置決めすることで、第２のスリット光６２が投光される。
【００８６】
回転機構４５は、図６（ｄ）に示すように、たとえばモータ４６と、モータ４６の出力軸の回転をスリット光源４０に伝達してスリット光源４０を回転させる伝達機構４７とから構成される。モータ４６は、互いにワークＷ上に垂直に交差する第１のスリット光６１、第２のスリット光６２を形成させるために、スリット光源４０を９０度回転させてその角度に位置決めできるものであれば、サーボモータ、ステッピングモータなど任意の形式のモータを使用することができる。また、回転式エアシリンダ等、モータ以外のアクチュエータを使用してもよい。
【００８７】
図６（ｂ）、（ｃ）に示すように、回転機構４５を作動させることで、スリット光源４０による第１のスリット光６１のワークＷへの投光、スリット光源４０による第２のスリット光６２のワークＷへの投光が順次に行われる。すなわち、一方のスリット光源が点灯しているときには他方のスリット光源は消灯している。
【００８８】
画像処理装置８０で行われる画像処理は、図１３を用いて説明される。
【００８９】
すなわち、カメラ５０で撮像された原画像７０が画像処理装置８０に取り込まれると（図１３（ａ））、原画像７０が二値化処理されて、スリット光６１に対応する光切断像７０Ａが背景と明確に識別される。原画像は、ぼやけていたり、ノイズがのっていたりするため、しきい値を設定するなどしてノイズの除去、輪郭の明確化が行われ、原画像上の光切断像７０Ａが数値化される（図１３（ｂ））。つぎに、数値化された情報を算術的に処理して、光切断像７０Ａの図形の特徴点Ｐ、つまり折点が抽出される（図１３（ｃ））。
【００９０】
（位置計測の第１例）
つぎに、上述した本実施例の構成を用いた位置計測の第１例について説明する。
【００９１】
図１６は、部材ＷＡと部材ＷＢとを溶接するに際して、部材ＷＡと部材ＷＢとからなるワークＷの開先（溶接線）の３次元位置を計測する様子を斜視図にて示している。
【００９２】
まず、図１６（ａ）に示すように、作業ロボット１０の手首先端軸１１を所定位置に固定して、位置計測ユニット３０内の第１のスリット光源４１を点灯させて第１のスリット光６１を出射するか（第１の構成例）、回転機構４５を第１のスリット光６１を出射できる回転位置（第１のポジション）に位置決めしてスリット光源４０から第１のスリット光６１を出射する（第２の構成例）。こうしてワークＷ上に、Ｘ軸方向が長手方向となる第１のスリット光６１が投光される。つぎに、図７（ａ）に示すように、カメラ５０により、第１のスリット光６１に対応する光切断像７０Ａを含む第１の画像７１が取得される。
【００９３】
第１の画像７１を画像処理することにより画像７１上の代表点となる特徴点ＰのＸ座標位置、Ｚ座標位置（Ｘ、Ｚ）が求められる。この画像７１上の特徴点Ｐ（Ｘ、Ｚ）の座標位置Ｘ、Ｚをロボット座標系の座標位置に変換することで、ワークＷ上の基準点のＸ座標位置、Ｚ座標位置が求められる。なお、以下では、説明の便宜のため画像上の座標位置は、ロボット座標軸上の座標位置であるとみなして説明する。
【００９４】
つぎに、図１６（ｂ）に示すように、作業ロボット１０の手首先端軸１１は固定したままで、位置計測ユニット３０内の第１のスリット光源４１を消灯させるとともに第２のスリット光源４２を点灯させて第２のスリット光６２を出射するか（第１の構成例）、回転機構４５を第２のスリット光６２を出射できる回転位置（第２のポジション）に位置決めしてスリット光源４０から第２のスリット光６２を出射する。こうしてワークＷ上に、Ｙ軸方向が長手方向となる第２のスリット光６２が投光される。つぎに、図７（ｂ）に示すように、カメラ５０により、第２のスリット光６２に対応する光切断像７０Ｂを含む第２の画像７２が取得される。
【００９５】
第２の画像７２を画像処理することにより画像７２上の代表点となる特徴点ＰのＹ座標位置（Ｙ）が求められる。この画像７２上の特徴点Ｐ（Ｙ）の座標位置Ｙをロボット座標系の座標位置に変換することで、ワークＷ上の基準点のＹ座標位置が求められる。
【００９６】
以上のようにして、ワークＷの開先の３次元位置Ｐ（Ｘ、Ｙ、Ｚ）が計測される。
【００９７】
つぎに、この計測した基準位置Ｐ（Ｘ、Ｙ、Ｚ）に基づいて、溶接ツール２０の先端の目標位置を補正する。これにより溶接ロボット１０を高精度に溶接線に沿って移動させることできる。
【００９８】
（位置計測の第２例）
この位置計測の第２例は、光切断法により求められたワークＷ上の基準点の３次元位置に基づいて、動作プログラムに記述された教示点の位置を補正するというものである。
【００９９】
すなわち、まず、作業ロボット１０の動作プログラムを教示する教示時には、マスターワークＷｍを据付けた上で図１６と同様に溶接ロボット１０の位置計測ユニット３０を動作させて、図８（ａ）、（ｂ）に示すように、図７（ａ）、（ｂ）と同様にして、マスターワークＷｍ上の基準点Ｐｍの３次元位置（Ｘｍ、Ｙｍ、Ｚｍ）を計測する。
【０１００】
つぎに、作業ロボット１０の動作プログラムを再生する再生時には、生産時のワークＷｐを据付けた上で図１６と同様に溶接ロボット１０の位置計測ユニット３０を動作させて、図８（ｃ）、（ｄ）に示すように、図７（ａ）、（ｂ）と同様にして、生産時のワークＷｐ上の基準点Ｐｐの３次元位置（Ｘｐ、Ｙｐ、Ｚｐ）を計測する。
【０１０１】
つぎに、生産時のワークＷｐについて計測された基準点Ｐｐの３次元位置（Ｘｐ、Ｙｐ、Ｚｐ）と、マスターワークＷｍについて計測された基準点Ｐｍの３次元位置（Ｘｍ、Ｙｍ、Ｚｍ）との位置ずれΔＸ（＝Ｘｐ−Ｘｍ）、ΔＹ（＝Ｙｐ−Ｙｍ）、ΔＺ（＝Ｚｐ−Ｚｍ）を計算する。  
計算された位置ずれΔＸ（＝Ｘｐ−Ｘｍ）、ΔＹ（＝Ｙｐ−Ｙｍ）、ΔＺ（＝Ｚｐ−Ｚｍ）は、動作プログラムに記述された各教示点Ｐ１、Ｐ２、Ｐ３…、つまり生産時のワークＷｐの開先（溶接線）の各ツール先端目標位置Ｐ１、Ｐ２、Ｐ３…の位置ずれとみなすことができる。
【０１０２】
よって、各教示点Ｐ１、Ｐ２、Ｐ３…の座標位置を、上記のごとく計算された位置ずれΔＸ（＝Ｘｐ−Ｘｍ）、ΔＹ（＝Ｙｐ−Ｙｍ）、ΔＺ（＝Ｚｐ−Ｚｍ）だけシフトさせて、動作プログラムに記述された各教示点Ｐ１、Ｐ２、Ｐ３…の３次元位置を補正する。これにより溶接ロボット１０の溶接トーチ２０の先端をワークＷの開先（溶接線）に沿って高精度に移動させることできる。
【０１０３】
（位置計測の第３例）
上述した位置計測の第２例では、光切断法により計算された位置ずれΔＸ（＝Ｘｐ−Ｘｍ）、ΔＹ（＝Ｙｐ−Ｙｍ）、ΔＺ（＝Ｚｐ−Ｚｍ）が、動作プログラムに記述された各教示点Ｐ１、Ｐ２、Ｐ３…の位置ずれとみなすことで、各教示点Ｐ１、Ｐ２、Ｐ３…の位置を補正するようにしている。
【０１０４】
しかし、マスターワークＷｍの据付時（動作プログラム教示時）と生産時のワークＷｐの据付時（動作プログラム再生時）とでは、ワークの異なる各位置毎に、位置ずれの大きさが異なっていることがある。したがって、このような場合には、ワークの異なる各教示点に対応する複数の基準点について光切断法により位置ずれを求め、各教示点毎に個別に位置ずれを補正することが望ましい。
【０１０５】
以下、ワークの異なる各教示点に対応する複数の基準点について光切断法により位置ずれを求め、各教示点毎に個別に位置ずれを補正する実施例について説明する。
【０１０６】
図１１は、部材ＷＡと部材ＷＢとを溶接するに際して、部材ＷＡと部材ＷＢとからなるワークＷの接合部（溶接線）の３次元位置を計測する様子を斜視図にて示している。
【０１０７】
図１１（ａ）に示すように、溶接開始点ＰCから溶接終了点ＰDまでの溶接線に沿って溶接トーチ２０の先端が移動して、すみ肉溶接を行う場合を想定している。
【０１０８】
以下、図９、図１０に示すフローチャートを併せ参照して説明する。
【０１０９】
・教示時の動作
作業ロボット１０の動作プログラムを教示する教示時には、図１１（ｂ）、（ｃ）、（ｄ）に示すようにマスターワークＷｍ上に互いに交差する第１のスリット光６１、第２のスリット光６２を順次投光して、前述の図８（ａ）、（ｂ）と同様に画像処理することで、マスターワークＷｍ上の動作プログラムに記述されるべき複数の教示点ＰC、ＰDに対応するマスターワークＷｍ上の複数の基準点ＰｍC、ＰｍDの３次元位置（ＸｍC、ＹｍC、ＺｍC）、（ＸｍD、ＹｍD、ＺｍD）が計測される。
【０１１０】
すなわち、図１１（ｂ）に示すように、位置計測ユニット３０で位置検出を行うことができる位置、つまりカメラ５０によりマスターワークＷｍ上のスリット光の画像を取得することができる位置まで溶接ロボット１０をマスターワークＷｍに接近させる。溶接ロボット１０は、教示点ＰC（溶接開始点）側にスリット光を投光でき、教示点ＰC（溶接開始点）側のスリット光を撮像できる位置まで移動する（図９のステップ１０１）。
【０１１１】
つぎに、図１１（ｃ）に示すように、溶接ロボット１０の手首先端軸１１を所定位置に固定して、位置計測ユニット３０内の第１のスリット光源４１を点灯させて第１のスリット光６１を出射するか（第１の構成例）、回転機構４５を第１のスリット光６１を出射できる回転位置（第１のポジション）に位置決めして第１のスリット光６１を出射する（第２の構成例）。こうしてマスターワークＷｍの教示点ＰC側に、Ｘ軸方向が長手方向となる第１のスリット光６１が投光される（ステップ１０２）。  
つぎに、図８（ａ）と同様にして、カメラ５０により、第１のスリット光６１に対応する光切断像７０Ａを含む第１の画像７１が取得される。
【０１１２】
第１の画像７１を画像処理することにより、動作プログラムに記述されるべき教示点ＰC（溶接開始点）に対応する画像上の特徴点のＸ座標位置、Ｚ座標位置（ＸｍC、ＺｍC）が計測される。この画像７１上の特徴点（ＸｍC、ＺｍC）の座標位置ＸｍC、ＺｍCをロボット座標系の座標位置に変換することで、マスターワークＷｍ上の基準点ＰｍCのＸ座標位置、Ｚ座標位置が求められる。（ステップ１０３）。
【０１１３】
つぎに、図１１（ｄ）に示すように、溶接ロボット１０の手首先端軸１１は固定したままで、位置計測ユニット３０内の第１のスリット光源４１を消灯させるとともに第２のスリット光源４２を点灯させて第２のスリット光６２を出射するか（第１の構成例）、回転機構４５を第２のスリット光６２を出射できる回転位置（第２のポジション）に位置決めして第２のスリット光６２を出射する。こうしてマスターワークＷｍの教示点ＰC側に、Ｙ軸方向が長手方向となる第２のスリット光６２が投光される（ステップ１０４）。
【０１１４】
つぎに、図８（ｂ）と同様にして、カメラ５０により、第２のスリット光６２に対応する光切断像７０Ｂを含む第２の画像７２が取得される。
【０１１５】
第２の画像７２を画像処理することにより、動作プログラムに記述されるべき教示点ＰC（溶接開始点）に対応する画像上の特徴点のＹ座標位置（ＹｍC）が計測される。この画像７２上の特徴点（ＹｍC）の座標位置ＹｍCをロボット座標系の座標位置に変換することで、マスターワークＷｍ上の基準点ＰｍCのＹ座標位置が求められる。（ステップ１０５）。
【０１１６】
以上のようにして、動作プログラムに記述されるべき教示点ＰC（溶接開始点）に対応するマスターワークＷｍ上の基準点ＰｍCの３次元位置（ＸｍC、ＹｍC、ＺｍC）が計測され、保存される（ステップ１０６）。
【０１１７】
つぎに、対象とするすべての点、つまり光切断法による位置計測が必要なすべての教示点について、対応する基準点の位置計測を行ったか否かが判断される（ステップ１０７）。  
光切断法による位置計測が必要なすべての教示点について、対応する基準点の位置計測が行われてない場合には（ステップ１０７の判断ＮＯ）、ステップ１０１に戻り、位置計測未実施の教示点について同様の処理が行われる。
【０１１８】
すなわち、溶接ロボット１０は、教示点ＰD（溶接終了点）側にスリット光を投光でき、教示点ＰD（溶接終了点）側のスリット光を撮像できる位置まで移動する（図９のステップ１０１）。
【０１１９】
つぎに、図１１（ｃ）と同様にして、溶接ロボット１０の手首先端軸１１を所定位置に固定して、位置計測ユニット３０内の第１のスリット光源４１を点灯させて第１のスリット光６１を出射するか（第１の構成例）、回転機構４５を第１のスリット光６１を出射できる回転位置（第１のポジション）に位置決めして第１のスリット光６１を出射する（第２の構成例）。こうしてマスターワークＷｍの教示点ＰD側に、Ｘ軸方向が長手方向となる第１のスリット光６１が投光される（ステップ１０２）。  
つぎに、図８（ａ）と同様にして、カメラ５０により、第１のスリット光６１に対応する光切断像７０Ａを含む第１の画像７１が取得される。
【０１２０】
第１の画像７１を画像処理することにより、動作プログラムに記述されるべき教示点ＰD（溶接終了点）に対応する画像上の特徴点のＸ座標位置、Ｚ座標位置（ＸｍD、ＺｍD）が計測される。この画像７１上の特徴点（ＸｍD、ＺｍD）の座標位置ＸｍD、ＺｍDをロボット座標系の座標位置に変換することで、マスターワークＷｍ上の基準点ＰｍDのＸ座標位置、Ｚ座標位置が求められる。（ステップ１０３）。
【０１２１】
つぎに、図１１（ｄ）と同様にして、作業ロボット１０の手首先端軸１１は固定したままで、位置計測ユニット３０内の第１のスリット光源４１を消灯させるとともに第２のスリット光源４２を点灯させて第２のスリット光６２を出射するか（第１の構成例）、回転機構４５を第２のスリット光６２を出射できる回転位置（第２のポジション）に位置決めして第２のスリット光６２を出射する。こうしてマスターワークＷｍの教示点ＰD側に、Ｙ軸方向が長手方向となる第２のスリット光６２が投光される（ステップ１０４）。
【０１２２】
つぎに、図８（ｂ）と同様にして、カメラ５０により、第２のスリット光６２に対応する光切断像７０Ｂを含む第２の画像７２が取得される。
【０１２３】
第２の画像７２を画像処理することにより、動作プログラムに記述されるべき教示点ＰD（溶接終了点）に対応する画像上の特徴点のＹ座標位置（ＹｍD）が計測される。この画像７２上の特徴点（ＹｍD）の座標位置ＹｍDをロボット座標系の座標位置に変換することで、マスターワークＷｍ上の基準点ＰｍDのＹ座標位置が求められる。（ステップ１０５）。
【０１２４】
以上のようにして、動作プログラムに記述されるべき教示点ＰD（溶接終了点）に対応するマスターワークＷｍ上の基準点ＰｍDの３次元位置（ＸｍD、ＹｍD、ＺｍD）が計測され、保存される（ステップ１０６）。
【０１２５】
つぎに、対象とするすべての点、つまり光切断法による位置計測が必要なすべての教示点について、対応する基準点の位置計測を行ったか否かが判断される（ステップ１０７）。  
光切断法による位置計測が必要なすべての教示点について、対応する基準点の位置計測が行われると、つまり溶接開始点ＰC、溶接終了点ＰDについて対応する基準点ＰｍC、ＰｍDの位置計測が行われると（ステップ１０７の判断ＹＥＳ）、教示点ＰC、ＰDの座標位置のデータが記述された動作プログラムを、溶接ロボット１０に教示する作業が行なわれる（ステップ１０８）。こうして教示時の処理を終える。
【０１２６】
・再生時の動作
作業ロボット１０の動作プログラムを再生する再生時には、図１１（ｂ）、（ｃ）、（ｄ）と同様にして生産時のワークＷｐ上に互いに交差する第１のスリット光６１、第２のスリット光６２を順次投光して、前述の図８（ｃ）、（ｄ）と同様に画像処理することで、生産時のワークＷｐ上の動作プログラムに記述された複数の教示点ＰC、ＰDに対応する生産時ワークＷｐ上の複数の基準点ＰｐC、ＰｐDの３次元位置（ＸｐC、ＹｐC、ＺｐC）、（ＸｐD、ＹｐD、ＺｐD）が計測される。
【０１２７】
すなわち、図１１（ｂ）と同様にして、教示点ＰC（溶接開始点）側にスリット光を投光でき、教示点ＰC（溶接開始点）側のスリット光の画像を取得することができる位置まで溶接ロボット１０を生産時ワークＷｐに接近させる（図１０のステップ２０１）。
【０１２８】
つぎに、図１１（ｃ）と同様にして、溶接ロボット１０の手首先端軸１１を所定位置に固定して、位置計測ユニット３０内の第１のスリット光源４１を点灯させて第１のスリット光６１を出射するか（第１の構成例）、回転機構４５を第１のスリット光６１を出射できる回転位置（第１のポジション）に位置決めして第１のスリット光６１を出射する（第２の構成例）。こうして生産時ワークＷｐの教示点ＰC側に、Ｘ軸方向が長手方向となる第１のスリット光６１が投光される（ステップ２０２）。  
つぎに、図８（ｃ）と同様にして、カメラ５０により、第１のスリット光６１に対応する光切断像７０Ａを含む第１の画像７１が取得される。
【０１２９】
第１の画像７１を画像処理することにより、動作プログラムに記述された教示点ＰC（溶接開始点）に対応する画像上の特徴点のＸ座標位置、Ｚ座標位置（ＸｐC、ＺｐC）が計測される。この画像７１上の特徴点（ＸｐC、ＺｐC）の座標位置ＸｐC、ＺｐCをロボット座標系の座標位置に変換することで、生産時ワークＷｐ上の基準点ＰｐCのＸ座標位置、Ｚ座標位置が求められる。（ステップ２０３）。
【０１３０】
つぎに、図１１（ｄ）と同様にして、溶接ロボット１０の手首先端軸１１は固定したままで、位置計測ユニット３０内の第１のスリット光源４１を消灯させるとともに第２のスリット光源４２を点灯させて第２のスリット光６２を出射するか（第１の構成例）、回転機構４５を第２のスリット光６２を出射できる回転位置（第２のポジション）に位置決めして第２のスリット光６２を出射する。こうして生産時ワークＷｐの教示点ＰC側に、Ｙ軸方向が長手方向となる第２のスリット光６２が投光される（ステップ２０４）。
【０１３１】
つぎに、図８（ｄ）と同様にして、カメラ５０により、第２のスリット光６２に対応する光切断像７０Ｂを含む第２の画像７２が取得される。
【０１３２】
画像７２を画像処理することにより、動作プログラムに記述された教示点ＰC（溶接開始点）に対応する画像上の特徴点のＹ座標位置（ＹｐC）が計測される。この画像７２上の特徴点（ＹｐC）の座標位置ＹｐCをロボット座標系の座標位置に変換することで、生産時ワークＷｐ上の基準点ＰｐCのＹ座標位置が求められる。（ステップ２０５）。
【０１３３】
以上のようにして、動作プログラムに記述された教示点ＰC（溶接開始点）に対応する生産時ワークＷｐ上の基準点ＰｐCの３次元位置（ＸｐC、ＹｐC、ＺｐC）が計測される。
【０１３４】
つぎに、生産時のワークＷｐについて計測された基準点ＰｐCの３次元位置（ＸｐC、ＹｐC、ＺｐC）と、マスターワークＷｍについて計測された基準点ＰｍCの３次元位置（ＸｍC、ＹｍC、ＺｍC）との位置ずれΔＸ（＝ＸｐC−ＸｍC）、ΔＹ（＝ＹｐC−ＹｍC）、ΔＺ（＝ＺｐC−ＺｍC）が計算される（ステップ２０６）。  
こうして計算された位置ずれΔＸ（＝ＸｐC−ＸｍC）、ΔＹ（＝ＹｐC−ＹｍC）、ΔＺ（＝ＺｐC−ＺｍC）は、動作プログラムに記述された教示点（溶接開始点）ＰC、つまり溶接線の溶接開始点側の各ツール先端目標位置の位置ずれとみなすことができる。
【０１３５】
よって、教示点ＰCの座標位置を、上記のごとく計算された位置ずれΔＸ（＝ＸｐC−ＸｍC）、ΔＹ（＝ＹｐC−ＹｍC）、ΔＺ（＝ＺｐC−ＺｍC）だけシフトさせて、動作プログラムに記述された教示点ＰCの３次元位置を補正する（ステップ２０７）。
【０１３６】
つぎに、対象とするすべての点、つまり光切断法による位置計測が必要なすべての教示点について、対応する基準点の位置計測を行ったか否かが判断される（ステップ２０８）。  
光切断法による位置計測が必要なすべての教示点について、対応する基準点の位置計測が行われてない場合には（ステップ２０８の判断ＮＯ）、ステップ２０１に戻り、位置計測未実施の教示点について同様の処理が行われる。
【０１３７】
すなわち、図１１（ｂ）において、溶接ロボット１０は、教示点ＰD（溶接終了点）側にスリット光を投光でき、教示点ＰD（溶接終了点）側で生産時ワークＷｐ上のスリット光の画像を取得することができる位置まで生産時ワークＷｐに接近する（図１０のステップ２０１）。
【０１３８】
つぎに、図１１（ｃ）と同様にして、溶接ロボット１０の手首先端軸１１を所定位置に固定して、位置計測ユニット３０内の第１のスリット光源４１を点灯させて第１のスリット光６１を出射するか（第１の構成例）、回転機構４５を第１のスリット光６１を出射できる回転位置（第１のポジション）に位置決めして第１のスリット光６１を出射する（第２の構成例）。こうして生産時ワークＷｐの教示点ＰD側に、Ｘ軸方向が長手方向となる第１のスリット光６１が投光される（ステップ２０２）。  
つぎに、図８（ｃ）と同様にして、カメラ５０により、第１のスリット光６１に対応する光切断像７０Ａを含む第１の画像７１が取得される。
【０１３９】
第１の画像７１を画像処理することにより、動作プログラムに記述された教示点ＰD（溶接終了点）に対応する画像上の特徴点のＸ座標位置、Ｚ座標位置（ＸｐD、ＺｐD）が計測される。この画像７１上の特徴点（ＸｐD、ＺｐD）の座標位置ＸｐD、ＺｐDをロボット座標系の座標位置に変換することで、生産時ワークＷｐ上の基準点ＰｐDのＸ座標位置、Ｚ座標位置が求められる。（ステップ２０３）。
【０１４０】
つぎに、図１１（ｄ）と同様にして、溶接ロボット１０の手首先端軸１１は固定したままで、位置計測ユニット３０内の第１のスリット光源４１を消灯させるとともに第２のスリット光源４２を点灯させて第２のスリット光６２を出射するか（第１の構成例）、回転機構４５を第２のスリット光６２を出射できる回転位置（第２のポジション）に位置決めして第２のスリット光６２を出射する。こうして生産時ワークＷｐの教示点ＰD側に、Ｙ軸方向が長手方向となる第２のスリット光６２が投光される（ステップ２０４）。
【０１４１】
つぎに、図８（ｄ）と同様にして、カメラ５０により、第２のスリット光６２に対応する光切断像７０Ｂを含む第２の画像７２が取得される。
【０１４２】
第２の画像７２を画像処理することにより、動作プログラムに記述された教示点ＰD（溶接終了点）に対応する画像上の特徴点のＹ座標位置（ＹｐD）が計測される。この画像７２上の特徴点（ＹｐD）の座標位置ＹｐDをロボット座標系の座標位置に変換することで、生産時ワークＷｐ上の基準点ＰｐDのＹ座標位置が求められる。（ステップ２０５）。
【０１４３】
以上のようにして、動作プログラムに記述された教示点ＰD（溶接終了点）に対応する生産時ワークＷｐ上の基準点ＰｐDの３次元位置（ＸｐD、ＹｐD、ＺｐD）が計測される。
【０１４４】
つぎに、生産時のワークＷｐについて計測された基準点ＰｐDの３次元位置（ＸｐD、ＹｐD、ＺｐD）と、マスターワークＷｍについて計測された基準点ＰｍDの３次元位置（ＸｍD、ＹｍD、ＺｍD）との位置ずれΔＸ（＝ＸｐD−ＸｍD）、ΔＹ（＝ＹｐD−ＹｍD）、ΔＺ（＝ＺｐD−ＺｍD）が計算される（ステップ２０６）。  
こうして計算された位置ずれΔＸ（＝ＸｐD−ＸｍD）、ΔＹ（＝ＹｐD−ＹｍD）、ΔＺ（＝ＺｐD−ＺｍD）は、動作プログラムに記述された教示点（溶接終了点）ＰD、つまり溶接線の溶接終了点側の各ツール先端目標位置の位置ずれとみなすことができる。
【０１４５】
よって、教示点ＰDの座標位置を、上記のごとく計算された位置ずれΔＸ（＝ＸｐD−ＸｍD）、ΔＹ（＝ＹｐD−ＹｍD）、ΔＺ（＝ＺｐD−ＺｍD）だけシフトさせて、動作プログラムに記述された教示点ＰDの３次元位置を補正する（ステップ２０７）。
【０１４６】
つぎに、対象とするすべての点、つまり光切断法による位置計測が必要なすべての教示点について、対応する基準点の位置計測を行ったか否かが判断される（ステップ２０８）。  
光切断法による位置計測が必要なすべての教示点について、対応する基準点の位置計測が行われると、つまり溶接開始点ＰC、溶接終了点ＰDについて対応する基準点の位置計測が行われると（ステップ２０８の判断ＹＥＳ）、教示点ＰC、ＰDの座標位置のデータが補正された動作プログラムを、実行して、溶接ロボット１０の各軸を駆動させる。これにより動作プログラムにしたがった溶接作業が行なわれる（ステップ２０９）。動作プログラムにしたがった溶接ロボット１０の動作が終了すると、再生時の処理を終える。
【０１４７】
本実施例では、溶接開始点である教示点ＰCの座標位置が、位置ずれΔＸ（＝ＸｐC−ＸｍC）、ΔＹ（＝ＹｐC−ＹｍC）、ΔＺ（＝ＺｐC−ＺｍC）だけシフトされて、その３次元位置が補正されている。このため溶接ロボット１０の溶接トーチ２０の先端が溶接線の溶接開始点側を移動するとき、ワークＷの溶接線に沿って高精度に移動させることできる
一方、溶接終了点である教示点ＰDの座標位置についても、位置ずれΔＸ（＝ＸｐD−ＸｍD）、ΔＹ（＝ＹｐD−ＹｍD）、ΔＺ（＝ＺｐD−ＺｍD）だけシフトされて、その３次元位置が補正されている。このため溶接ロボット１０の溶接トーチ２０の先端が溶接線の溶接終了点側を移動するとき、ワークＷの溶接線に沿って高精度に移動させることできる。
【０１４８】
また、本実施例によれば、溶接ロボット１０の動作プログラムの教示時、再生時に、複数の教示点ＰC、ＰDについて位置計測を行うとき、従来、位置計測のためだけに行われていた溶接ロボット１０の駆動軸の作動が不要となる。このように多数点について溶接ロボット１０の駆動軸の無駄な作動が不要となるため、より一層、時間ロスが減らされ、より一層作業効率を向上させることができるようになる。
【０１４９】
（位置計測の第４例））
さて、ワークを溶接することで、溶接構造物たるワークに熱歪が生じて、それにより位置ずれが生じることがある。この場合には、溶接の途中で位置計測を行って位置ずれを補正することが望ましい。
【０１５０】
本実施例では、溶接ロボット１０の動作プログラムの再生時（溶接作業中）に、教示点ＰDに対応する基準点ＰｐDの３次元位置が計測され、教示点ＰDの位置ずれが溶接作業中に補正される。本実施例の処理は、図９および図１２に示すフローチャートを用いて説明される。
【０１５１】
・教示時
図９と同様に処理が実行される。すなわち、動作プログラムの教示時には、上述した位置計測の第３例と同様にして、溶接開始点ＰC、溶接終了点ＰDについて対応する基準点ＰｍC、ＰｍDの位置計測が行われるとともに、教示点ＰC、ＰDが記述された動作プログラムの内容が、溶接ロボット１０に教示される。
【０１５２】
・ 再生時
動作プログラムの再生時には、図１２に示すように、ステップ２０１からステップ２０７までは図１０で説明したのと同様の処理が行われ、溶接開始点である教示点ＰCの座標位置が、位置ずれΔＸ（＝ＸｐC−ＸｍC）、ΔＹ（＝ＹｐC−ＹｍC）、ΔＺ（＝ＺｐC−ＺｍC）だけシフトされて、動作プログラムに記述された教示点ＰCの３次元位置が補正される（ステップ２０７）。
【０１５３】
つぎに、動作プログラムが実行されて、溶接ロボット１０によって溶接開始点ＰCから溶接線に沿って溶接が行なわれる（ステップ２０８´）。
【０１５４】
ただし、本実施例の場合には、図１０に示す処理と異なり、動作プログラムを実行する毎に、ステップ２０１からステップ２０７までの処理が同様に繰り返され、溶接作業の途中で、教示点の位置ずれが補正される（ステップ２０８´、２０９´）。
【０１５５】
すなわち、溶接作業の途中で、つぎの教示点、つまり溶接終了点ＰDについての位置ずれΔＸ（＝ＸｐD−ＸｍD）、ΔＹ（＝ＹｐD−ＹｍD）、ΔＺ（＝ＺｐD−ＺｍD）が求められ（ステップ２０６）、この位置ずれ分だけ溶接終了点ＰDの座標位置がシフトされて、教示点ＰDの３次元位置が補正される（ステップ２０７）。
【０１５６】
このように本実施例によれば、溶接作業の途中で、熱歪により生じた位置ずれが適時に補正されるため、熱歪の影響を受けて生産時のワークで位置ずれが発生したとしても、正確に溶接線に沿ってツール先端を移動させることができる。
【０１５７】
また、従来技術を適用して、溶接中に位置計測を行うためだけのためにロボット駆動軸（手首先端軸）を作動させてしまうと、本来の動作プログラムの動作に影響を及ぼす。また、位置計測のためだけに作業ロボットを動作させてから、本来の教示点まで作業用トール先端を移動させる動作が必要となるため、時間的なロスが大きい。本実施例によれば、溶接中に位置計測を行う際に作業ロボットの手首先端軸を作動させる必要がないため、作業プログラムの動作に与える影響が少なく、時間的なロスを少なくすることができる。
【図面の簡単な説明】
【０１５８】
【図１】図１は、光切断法の原理を説明するために用いた図である。
【図２】図２は、光切断法の原理を説明するために用いた図である。
【図３】図３は、光切断法の原理を説明するために用いた図である。
【図４】図４は、従来技術を説明する図であり、溶接ロボットに光切断法を適用した場合の動作を説明する図である。
【図５】図５は、位置計測ユニットの第１の構成例を示した図である。
【図６】図６（ａ）、（ｂ）、（ｃ）、（ｄ）は、位置計測ユニットの第２の構成例を示した図である。
【図７】図７（ａ）、（ｂ）は、撮像手段により、順次撮像される第１の画像、第２の画像を例示した図である。
【図８】図８（ａ）、（ｂ）は、教示時に撮像手段により、順次撮像される第１の画像、第２の画像を例示した図で、図８（ｃ）、（ｄ）は、再生時に撮像手段により、順次撮像される第１の画像、第２の画像を例示した図である。
【図９】図９は、実施例の位置計測処理の手順を例示したフローチャートで、教示時の処理手順を示したフローチャートである。
【図１０】図１０は、実施例の位置計測処理の手順を例示したフローチャートで、再生時の処理手順を示したフローチャートである。
【図１１】図１１（ａ）、（ｂ）、（ｃ）、（ｄ）は、溶接ロボットの動作を説明する図である。
【図１２】図１２は、実施例の位置計測処理の手順を例示したフローチャートで、再生時の処理手順を示したフローチャートである。
【図１３】図１３（ａ）、（ｂ）、（ｃ）は、画像処理装置で行われる画像処理を説明する図である。
【図１４】図１４は、実施形態の溶接ロボットを含む溶接システムの全体構成を示した図である。
【図１５】図１５（ａ）、（ｂ）は、位置計測ユニットの溶接ロボットへの装着例を斜視図にて示した図である。
【図１６】図１６（ａ）、（ｂ）は、溶接ロボットの動作を説明する図である。
【符号の説明】
【０１５９】
１０  溶接ロボット、１１  手首先端軸、２０  溶接トーチ、３０  位置計測ユニット、４０、４１、４２  スリット光源、５０  カメラ、８０  画像処理装置、９０  ロボットコントローラ
【図１】
2008246659.tif 000003
【図２】
2008246659.tif 000004
【図３】
2008246659.tif 000005
【図４】
2008246659.tif 000006
【図５】
2008246659.tif 000007
【図６】
2008246659.tif 000008
【図７】
2008246659.tif 000009
【図８】
2008246659.tif 000010
【図９】
2008246659.tif 000011
【図１０】
2008246659.tif 000012
【図１１】
2008246659.tif 000013
【図１２】
2008246659.tif 000014
【図１３】
2008246659.tif 000015
【図１４】
2008246659.tif 000016
【図１５】
2008246659.tif 000017
【図１６】
2008246659.tif 000018
【手続補正書】
【提出日】平成19年4月16日(2007.4.16)
【手続補正１】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2008246659.tif 000019
【図２】
2008246659.tif 000020
【図３】
2008246659.tif 000021
【図４】
2008246659.tif 000022
【図５】
2008246659.tif 000023
【図６】
2008246659.tif 000024
【図７】
2008246659.tif 000025
【図８】
2008246659.tif 000026
【図９】
2008246659.tif 000027
【図１０】
2008246659.tif 000028
【図１１】
2008246659.tif 000029
【図１２】
2008246659.tif 000030
【図１３】
2008246659.tif 000031
【図１４】
2008246659.tif 000032
【図１５】
2008246659.tif 000033
【図１６】
2008246659.tif 000034