(57)【特許請求の範囲】
【請求項１】
塗料を噴出させる塗装ガンと、該塗装ガンを移動させるマニピュレータと、操作入力がなされる操作手段とを有する塗装ロボットにおいて、
ワーク及びワーク周辺に画像を投影する画像出力装置及び画像投影手段と、
教示データに基づく前記塗装ガンの塗装の狙い先である狙い点の位置を表す像および前記塗装ガンの塗装の狙い先である狙い点の移動軌跡を表す像を前記画像投影手段に対応する像に変換する変換手段と、を備え、
前記画像出力装置は前記変換手段で変換された像を、前記画像投影手段から投影させる投影制御手段を具備することを特徴とする塗装ロボット。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、教示・再生型の塗装ロボットに関する。
【０００２】
【従来の技術】
教示・再生型の塗装ロボットにおいては、移動軌跡上の複数の教示点を教示する、いわゆるＰＴＰ（Ｐｏｉｎｔ  ｔｏ  Ｐｏｉｎｔ）方式で塗装ガンの移動軌跡が教示されることになり、再生時は、このように教示された教示点を直線や円弧で補間することにより、連続する移動軌跡に変換して動作するようになっている。
そして、教示中に移動軌跡を確認したい場合には、最後に教示した教示点から数ポイント前の教示点に戻して、再生を行って、教示点間を連続動作させることになる。
【０００３】
【発明が解決しようとする課題】
従来の塗装ロボットにおいては、教示中は塗装ガンの現在までの教示点の位置が分からないため、塗装ガンの教示点を結ぶ移動軌跡にうねりを生じやすい。このように塗装ガンの移動軌跡にうねりがあると塗装の「たれ」や「すけ」等、塗装品質の低下を生じてしまうことになる。このため、教示したデータが塗装ガンの移動軌跡にうねりを生じさせるものであるかどうかを、上記のように再生を行って確認しなければならず、また、塗装ガンの移動軌跡のうねりがあった場合には、教示点を修正する必要がある。よって、教示・再生・修正を繰り返し行わなければならず、教示終了までに多くの時間を要し、特に生産ライン上で教示を行っている場合、ライン停止時間が長くなり生産性が低下してしまうという問題があった。
本発明は、教示中において塗装ガンに関わる位置の移動軌跡を容易かつ速やかに確認可能とすることにより、教示終了までに必要な時間を短縮することができる塗装ロボットの提供を目的とする。
【０００４】
【課題を解決するための手段】
上記目的を達成するため、本発明の請求項１記載の塗装ロボットは、塗料を噴出させる塗装ガンと、該塗装ガンを移動させるマニピュレータと、操作入力がなされる操作手段とを有する塗装ロボットにおいて、ワーク及びワーク周辺に画像を投影する画像出力装置及び画像投影手段と、教示データに基づく前記塗装ガンの塗装の狙い先である狙い点の位置を表す像および前記塗装ガンの塗装の狙い先である狙い点の移動軌跡を表す像を前記画像投影手段に対応する像に変換する変換手段と、を備え、前記画像出力装置は前記変換手段で変換された像を、前記画像投影手段から投影させる投影制御手段を具備することを特徴としている。このように、変換手段が、教示データに基づく塗装ガンの位置情報に基づく該塗装ガンに関わる位置を表す像（塗装ガンの塗装の狙い先である狙い点の移動軌跡を表す像）を、画像投影手段に対応した像に変換するとともに、投影制御手段が、変換手段で変換された塗装ガンに関わる位置を表す像を、画像投影手段で例えばワーク上に表示させることになる。
【０００８】
【発明の実施の形態】
本発明の塗装ロボットの実施の参考例を図１〜図５を参照して以下に説明する。この塗装ロボット１０は、図１に示すように、多軸のマニピュレータ１１と、該マニピュレータ１１にケーブル１２を介して接続されて該マニピュレータ１１の各軸の作動等を制御するコントローラ１３と、該コントローラ１３にケーブル１４を介して接続されるとともにマニピュレータ１１に対する動作教示や塗装作業に伴う塗料吐出量の設定などのデータ作成の操作入力がオペレータによりなされるティーチングペンダント（操作手段）１５とを有している。
【０００９】
マニピュレータ１１は、塗装ブースの床面等に設置固定される固定ベース１７と、この固定ベース１７上に鉛直軸回りに図示せぬサーボモータの駆動で回転するように設けられた旋回ベース１８と、該旋回ベース１８に一端側が水平軸回りに回転自在に支持されるとともに旋回ベース１８に設けられた図示せぬサーボモータの駆動で回転する第１アーム２０と、該第１アーム２０の他端側に一端側が水平軸回りに回転自在に支持されるとともに第１アーム２０の他端側に設けられた図示せぬサーボモータの駆動で回転する第２アーム２２とを有している。これにより第２アーム２２は３自由度を有している。
【００１０】
また、マニピュレータ１１は、第２アーム２２の他端側に取り付けられる３自由度の回転運動が可能な手首部２３と、手首部２３の先端側に取り付けられる、塗料をワークＷに向け噴出させる塗装ガン２５とを有している。
以上のマニピュレータ１１は、合計６自由度を持つことになる。また、マニピュレータ１１の先端に取り付けられた塗装ガン２５は、マニピュレータ１１の動作範囲内であれば任意の位置および姿勢をとることが可能となる。
【００１１】
マニピュレータ１１の前方には、該マニピュレータ１１の塗装ガン２５で塗装作業が行われる作業対象物であるワークＷが配置されることになる。
該ワークＷの上方には、塗装ブースに位置固定で配置された雲台２７が設けられており、この雲台２７の上には、撮影対象としてのワークＷを撮影しその像を捉えて画像として入力させるカメラ（画像入力手段）２８が設けられている。雲台２７は、コントローラ１３にケーブル２９を介して接続されており、該コントローラ１３により制御されてカメラ２８を鉛直軸回りおよび水平軸回りに回転させるようになっている。
ここで、カメラ２８は、ワークＷの塗装対象部分（この場合上面）の全体像およびその周囲を撮影範囲に含むように配置されている。
【００１２】
カメラ２８は、コントローラ１３にケーブル２９を介して接続されており、撮影した像のビデオ信号をコントローラ１３に導入させるようになっている。
コントローラ１３の上にはモニタ（画像表示手段）３０が載置されており、コントローラ１３は、このモニタ３０の画面に、カメラ２８で撮影した画像やコントローラ１３で生成した像を表示させる。
【００１３】
コントローラ１３には、上記したように、マニピュレータ１１、ティーチングペンダント１５、カメラ２８、雲台２７およびモニタ３０が接続されており、これらに対し情報や電力の伝達を行うようになっている。
すなわち、コントローラ１３は、マニピュレータ１１内のモータを駆動することによりマニピュレータ１１の姿勢を変化させたり、雲台２７内のモータを駆動することにより雲台２７すなわちカメラ２８の水平に対する角度および鉛直に対する角度を変化させたり、ティーチングペンダント１５を介してのオペレータからの入力を受け取って処理したり、必要な情報をティーチングペンダント１５の表示部に表示させたり、カメラ２８からの画像を取り込んで処理し記憶したり、モニタ３０に画像を出力し表示させたり等を行うことになる。
【００１４】
ここで、固定ベース１７の座標系であるベース座標系と、塗装ガン２５の座標系となるガン座標系と、カメラ２８の座標系であるカメラ座標系とが塗装ロボット１０の制御に用いられる主要な座標系となっている。
ベース座標系は、塗装ガン２５やカメラ２８の位置および姿勢を表す基準となる座標系であり、塗装ブースに固定された静座標系である。
ガン座標系は、塗装ガン２５に固定され塗装ガン２５とともに動く動座標系である。
カメラ座標系は、カメラ２８に固定された座標系であり、雲台２７の動作に伴って動く動座標系である。
【００１５】
コントローラ１３は、図２に示すように、制御装置（変換手段、表示制御手段）３２と、画像入力装置（画像入力手段）３３と、画像出力装置（画像表示手段）３４と、雲台ドライバ３５と、サーボドライバ３６と、記憶装置３７とから構成されている。
【００１６】
制御装置３２には、ティーチングペンダント１５、画像入力装置３３、画像出力装置３４、雲台ドライバ３５、サーボドライバ３６および記憶装置３７が接続されており、これらは制御装置３２によりそれぞれの動作が制御される。
画像入力装置３３は、カメラ２８から出力されるビデオ信号をディジタル化した画像データに変換し制御装置３２に出力する。
画像出力装置３４は、制御装置３２から画像データが送られてくると、該画像データに基づく画像をモニタ３０に表示させる。
【００１７】
雲台ドライバ３５は、制御装置３２からの駆動指令によって雲台２７のモータを駆動する。
サーボドライバ３６は、制御装置３２から送られるマニピュレータ１１への位置指令信号に基づいて該マニピュレータ１１を位置指令に追従するように各モータをサーボ制御する。
記憶装置３７は、画像データおよび教示データを記憶させる。
【００１８】
そして、実施の参考例の制御装置３２は、ティーチングペンダント１５で入力された塗装ガン２５の教示データ（位置情報）に基づく該塗装ガン２５に関わる位置を表す像を、カメラ２８および画像入力装置３３に対応した像に変換する。具体的には、ティーチングペンダント１５で入力された塗装ガン２５の教示データ（位置情報）に基づく該塗装ガン２５自体の位置を表す像、塗装ガン２５自体の姿勢を表す像、塗装ガン２５自体の移動軌跡を表す像および作業情報を表す像を、カメラ２８および画像入力装置３３に対応した像（カメラ２８で見たと仮定した場合の像）に変換する。
【００１９】
また、制御装置３２は、このように変換された塗装ガン２５に関わる位置を表す像を、カメラ２８および画像入力装置３３で入力させた画像に重ね、画像出力装置３４を介してモニタ３０に表示させる。具体的には、変換した塗装ガン２５自体の位置を表す像、塗装ガン２５自体の姿勢を表す像、塗装ガン２５自体の移動軌跡を表す像および作業情報を表す像を、カメラ２８および画像入力装置３３で入力させた画像に重ね、画像出力装置３４を介してモニタ３０に表示させる。なお、塗装ガン２５の位置および移動軌跡は、その先点の位置および移動軌跡とされる。
【００２０】
図３は、教示作業中におけるモニタ３０の画面表示例を示すものである。
モニタ３０の画面には、ワークＷと、塗装ガン２５のすでに教示された各教示点の位置および姿勢を示す各教示点におけるガン座標系４０と、各教示点の教示点番号４１と、各教示点から補間により生成された教示軌跡のうち塗装ガン２５をＯＮ状態とする教示軌跡４２と、各教示点から補間により生成された教示軌跡のうち塗装ガン２５をＯＦＦ状態とする教示軌跡４３と、現在の塗装ガンの位置および姿勢を示すガン座標系４４と、教示中の塗装ガン２５のガン先点の移動軌跡４５とが表示されている。ここで、教示軌跡のうち塗装ガン２５をＯＮ状態とする教示軌跡４２と、塗装ガン２５をＯＦＦ状態とする教示軌跡４３とは、線種を異ならせることで区別されている。
【００２１】
次に、上記のような画面表示を行わせる制御装置３２の制御内容を説明するが、その前に、３つの座標系であるベース座標系、ガン座標系、カメラ座標系の関係について説明する。
ベース座標系から見たガン座標系は、以下の４行４列の行列で表される。
【００２２】
【数１】
0004257468.tif 000002
【００２３】
ここで、BｘG，BｙG，BｚGは、ベース座標系から見たガン座標系のｘ，ｙ，ｚ軸方向の単位ベクトル、BｐGは、ベース座標系から見たガン座標系の原点位置を表す変位ベクトルである。これらの各ベクトルは、３行１列の縦ベクトルである。行列およびベクトルの左上に付されている添字は見ている座標系を、右下に付されている添字は対象とする座標系を表している。すなわち、添字のＢはベース座標系を、添字のＧはガン座標系を、添字のＣはカメラ座標系をそれぞれ表している。
【００２４】
この行列BＴGは、マニピュレータ１１の関節角度から演算できる。マニピュレータ１１の６つの関節角度θ1〜θ6を、
θ＝［θ1 θ2 θ3 θ4 θ5 θ6］T
とベクトルで表すと、
BＴG＝ｆ（θ）
の関係が成り立つ。ここで、添字Ｔは転置を表す。
関数ｆ（θ）は運動学関数でありマニピュレータ１１の自由度構成に基づき誘導される。この関数の誘導法ならびに具体的な式は既知であるのでここでは省略する。
ベース座標系から見たカメラ座標系は、以下で表される。
【００２５】
【数２】
0004257468.tif 000003
【００２６】
ここで、BｘC，BｙC，BｚCは、ベース座標系から見たカメラ座標系のｘ，ｙ，ｚ軸方向の単位ベクトル、BｐCは、ベース座標系から見たカメラ座標系の原点位置を表す変位ベクトルである。
この行列BＴCは、雲台２７の設置位置と雲台２７の鉛直軸回りと水平軸回りの回転角の関数である。この関数は容易に誘導できるので具体的な式の形は省略する。
このとき、カメラ座標系から見たガン座標系は、以下で表される。
【００２７】
【数３】
0004257468.tif 000004
【００２８】
カメラ座標系から見たガン座標系は、行列BＴG，BＴCから次のように誘導される。
CＴG＝（BＴC）-1・BＴG
カメラ座標系から見たガン座標系の原点位置CｐGは、
ｐG＝ｆP（CｐG）
という透視変換によってカメラ２８の画像面上の位置ｐGに変換される。透視変換の関数ｆP（ｐ）は既知であるので省略する。
【００２９】
カメラ２８が捉えた画像は、カメラ２８の画像面上の像になっているので、この像に上記の方法で求めたガン座標系の原点位置の像ｐGを重ね合わせ、モニタ３０に出力するとカメラ２８が捉えた画像上にガン座標系の原点位置が表示されることになる。
同様に、カメラ座標系から見たガン座標系のｘ，ｙ，ｚ軸方向の単位ベクトルの先端位置ベクトルCｐG＋CｘG，CｐG＋CｙG，CｐG＋CｚGを透視変換してカメラ２８の画像面上の像を求めることによりモニタ３０にガン座標系を表示させることができる。
【００３０】
次に、上記のような画面表示を行わせる制御装置３２の制御内容を、図４に示すＰＡＤ図に基づき、ステップ毎に説明する。なお、図４にＰＡＤ図で示される処理は一定サンプリング周期毎に実行される。
【００３１】
｛ステップＳＡ１｝
マニピュレータ１１を与えられた位置指令値に移動させるようにサーボドライバ３６に信号を出力する。
｛ステップＳＡ２｝
記憶装置３７にある１サンプリング前のガン座標系の画像を消去する。
｛ステップＳＡ３｝
現在のガン座標系のカメラ座標系から見た像を生成し記憶装置３７に記憶する。
【００３２】
｛ステップＳＡ４｝
現在と１サンプリング前のガン座標系原点とを結ぶ像（すなわち塗装ガン２５自体の移動軌跡）を生成し記憶装置３７に記憶する。
｛ステップＳＡ５｝
記憶装置３７にあるカメラ２８が捉えた画像に、現在のガン座標系の画像と、ガン座標系原点を結ぶ像とを重ね、画像出力装置３４を介してモニタ３０に出力する。
【００３３】
以上のような処理を行うことにより、マニピュレータ１１を動かすとそれに伴ってモニタ３０上に現在のガン座標系４４と教示中の塗装ガン２５の先点の移動軌跡４５がリアルタイムで表示される。
【００３４】
カメラ２８が捉える画像は、ティーチングペンダント１５の「画像入力キー」を押下することにより画像入力装置３３でディジタル化され記憶装置３７に記憶される（後述する）。このとき、マニピュレータ１１をカメラ２８の視野の外に移動させておけば、ワークＷだけの像を記憶させることができる。このようにワークＷだけの像を記憶させておくと、マニピュレータ１１のアーム２０，２２や手首部２３により塗装ガン２５が隠れて見にくくなるような教示位置においても、モニタ３０ではワークＷに対するガン座標系の関係が、マニピュレータ１１のアーム２０，２２や手首部２３等の障害物に遮られることなく確認できることになる。
【００３５】
教示時にティーチングペンダント１５からのキー入力があった場合、制御装置３２は、図５のＰＡＤ図に示す制御内容を実行する。この制御内容をステップ毎に説明する。
｛ステップＳＢ１｝
操作入力されたキーが「画像入力キー」、「カメラ移動キー」、「マニピュレータ移動キー」および「教示点キー」のいずれであるかを判定し、「画像入力キー」が操作入力された場合はステップＳＢ２を、「カメラ移動キー」が操作入力された場合はステップＳＢ３を、「マニピュレータ移動キー」が操作入力された場合はステップＳＢ８を、「教示点キー」が操作入力された場合はステップＳＢ９を、それぞれ実行する。
【００３６】
｛ステップＳＢ２｝
カメラ２８が捉えている画像を画像入力装置３３によりディジタル化して記憶装置３７に記憶し、処理を終える。
【００３７】
｛ステップＳＢ３｝
押下されたキーに対応させて移動指令を雲台ドライバ３５に出力する。
｛ステップＳＢ４｝
新しいカメラ姿勢に対応させてベース座標系から見たカメラ座標系を表す行列であるBＴCを算出する。
｛ステップＳＢ５｝
カメラ２８が捉えている画像を画像入力装置３３によりディジタル化して記憶装置３７に記憶する。
【００３８】
｛ステップＳＢ６｝
記憶装置３７に記憶されている教示点および教示軌跡の画像を新しいカメラ座標系に対する画像に変換する。
｛ステップＳＢ７｝
記憶装置３７にあるカメラ２８が捉えた画像に、新しいカメラ座標系に対する教示点および教示軌跡の画像を重ね画像出力装置３４に出力しモニタ３０に表示させて、処理を終える。
【００３９】
以上のステップＳＢ３〜ＳＢ７により、カメラ座標系が変更されても、ティーチングペンダント１５で入力された塗装ガン２５の教示データに基づく該塗装ガン２５自体の位置および姿勢を表す像および塗装ガン２５自体の移動軌跡を表す像を、カメラ座標系と対応するカメラ２８および画像入力装置３３に対応した像に変換する。
【００４０】
｛ステップＳＢ８｝
押下されたマニピュレータ移動キーに対応させて位置指定値を生成し、処理を終える。
｛ステップＳＢ９｝
現在のガン座標系、動作情報（教示点間の補間方法、移動速度、塗装ガン２５のＯＮ／ＯＦＦ情報等）および教示点番号を教示点情報として記憶装置３７に記憶する。
【００４１】
｛ステップＳＢ１０｝
現在と１つ前の教示点情報から教示点間を結ぶ教示軌跡を生成する。
｛ステップＳＢ１１｝
生成した教示軌跡をカメラ座標系から見た画像に変換し記憶装置３７に記憶する。
｛ステップＳＢ１２｝
記憶装置３７にあるカメラ２８が捉えた画像に、生成した教示軌跡の画像を重ね画像出力装置３４に出力しモニタ３０に表示させて、処理を終える。
【００４２】
以上のステップＳＢ９〜ＳＢ１２により、上記のようにカメラ２８および画像入力装置３３に対応した像に変換され記憶装置３７に記憶された塗装ガン２５自体の位置および姿勢を表す像および塗装ガン２５自体の移動軌跡を表す像を、カメラ２８および画像入力装置３３で入力させた画像に重ねて画像出力装置３４を介してモニタ３０に表示させる。
【００４３】
そして、再生時にはすべての教示点と教示点間を結ぶ教示軌跡が確定しているので、これらの教示点および教示軌跡と、現在のガン座標系とをモニタ３０に表示することができる。
【００４４】
以上に述べた塗装ロボット１０によれば、制御装置３２が、ティーチングペンダント１５で入力された塗装ガン２５の位置情報に基づく該塗装ガン２５自体の位置および姿勢を表す像と塗装ガン２５の移動軌跡を表す像とを、カメラ２８および画像入力装置３３に対応した像に変換するとともに、このように変換された塗装ガン２５自体の位置および姿勢を表す像と塗装ガン２５の移動軌跡を表す像とを、カメラ２８および画像入力装置３３で入力させた画像に重ねて画像出力装置３４を介してモニタ３０の画面上に表示させることになる。
【００４５】
したがって、教示中において塗装ガン２５自体の移動軌跡を表示することになり、よって、教示中において塗装ガン２５自体の移動軌跡を容易かつ速やかに確認可能となり、よって、移動軌跡にうねりがあるかどうかを容易かつ速やかに確認できるため、塗装ガン２５を滑らかに移動させる教示データを作成するのに必要な時間を短縮することができる。これにより、教示のためのライン停止時間が短くなり生産性を向上させることができる。
【００４６】
また、塗装ガン２５の無駄な動作をなくし、塗装ピッチを一定間隔にし易いので、「たれ」や「すけ」の少ない高品質な塗装が簡単に実現できる。
さらに、教示後に何度も試し塗りと修正をする必要がないので、試し塗りの塗料の使用量を減らすことができる。
【００４７】
なお、以上においては、カメラ２８とモニタ３０とを各１台ずつとしているが、それぞれ複数台設けてもよい。この場合、ベース座標系から見たカメラ座標系を表す行列BＴCをカメラ２８の台数分計算し、ガン座標系をそれぞれのカメラ座標系から見た像に変換して対応するモニタ３０に出力することになる。複数台のカメラ２８を設けることによっていろいろな角度から塗装ガン２５の位置や塗装ガン２５の姿勢が確認できるようになる。
【００４８】
また、以上においては、画像を表示するために専用のモニタ３０を設けたが、この画像をティーチングペンダント１５の表示部に表示してもよい。この場合、操作部と画像表示部とが一体となって持ち運べるので、マニピュレータ１１を操作しながら教示軌跡を確認できる。
【００４９】
次に、本発明の塗装ロボットの第１の実施の形態を図６〜図１２を参照して実施の参考例との相違部分を中心に以下に説明する。なお、実施の参考例と同様の部分には同一の符号を付しその説明は略す。第１の実施の形態において、図６に示すように、ワークＷの上方には、塗装ブースの壁面等に固定されてプロジェクタ（画像投影手段）５０が設けられている。このプロジェクタ５０は、液晶やレーザを用いて画像を外部に投影する装置である。なお、プロジェクタ５０は、ワークＷの塗装対象部分（この場合上面）の全体およびその周囲を画像投影範囲に含み、かつ投影した画像がワークＷの塗装対象部分で最も鮮明となるように位置や焦点距離が調整されている。
【００５０】
コントローラ１３には、マニピュレータ１１、ティーチングペンダント１５およびプロジェクタ５０が接続されており、これらに対し情報や電力の伝達を行うようになっている。
すなわち、コントローラ１３は、マニピュレータ１１内のモータを駆動することによりマニピュレータの姿勢を変化させたり、ティーチングペンダント１５を介してのオペレータからの入力を受け取って処理したり、必要な情報をティーチングペンダント１５の表示部に表示させたり、プロジェクタ５０への画像を出力したり等を行うことになる。
【００５１】
ここで、固定ベース１７の座標系であるベース座標系と、塗装ガン２５の座標系となるガン座標系と、プロジェクタ５０の座標系であるプロジェクタ座標系とが塗装ロボット１０の制御に用いられる主要な座標系となっている。
ベース座標系は、塗装ガン２５やプロジェクタ５０の位置および姿勢を表す基準となる座標系であり、塗装ブースに固定された静座標系である。
ガン座標系は、塗装ガン２５に固定され塗装ガン２５とともに動く動座標系である。
プロジェクタ座標系は、プロジェクタ５０に固定された座標系であり、塗装ブースに固定された静座標系である。
【００５２】
コントローラ１３は、図７に示すように、制御装置（変換手段、投影制御手段）５１と、画像出力装置（画像投影手段）５２と、サーボドライバ５３と、記憶装置５４とから構成されている。
制御装置５１には、ティーチングペンダント１５、画像出力装置５２、サーボドライバ５３および記憶装置５４が接続されており、これらは制御装置５１によりそれぞれの動作が制御される。
【００５３】
画像出力装置５２は、制御装置５１から画像データが送られてくると、該画像データに基づく画像をプロジェクタ５０から投影させる。
サーボドライバ５３は、制御装置５１から送られるマニピュレータ１１への位置指令信号に基づいてマニピュレータ１１を位置指令に追従するようにマニピュレータ１１の各モータをサーボ制御する。
記憶装置５４は、投影画像データおよび教示データを記憶させる。
【００５４】
そして、第１の実施の形態の制御装置５１は、ティーチングペンダント１５で入力された塗装ガン２５の教示データ（位置情報）に基づく該塗装ガン２５に関わる位置を表す像を、画像出力装置５２およびプロジェクタ５０に対応する像に変換する。具体的には、ティーチングペンダント１５で入力された塗装ガン２５の教示データ（位置情報）に基づく該塗装ガン２５の塗装の狙い先である狙い点の位置を表す像および塗装ガン２５の塗装の狙い先である狙い点の移動軌跡を表す像を、プロジェクタ５０および画像出力装置５２に対応した像（プロジェクタ５０から見たと仮定した場合の像）に変換する。
【００５５】
また、制御装置５１は、このように変換された塗装ガン２５に関わる位置を表す像を、画像出力装置５２を介してプロジェクタ５０から投影させる。具体的には、変換した塗装ガン２５の狙い先である狙い点の位置を表す像および塗装ガン２５の狙い先である狙い点の移動軌跡を表す像を表す像を、画像出力装置５２を介してプロジェクタ５０から位置既定のワークＷに投影させる。
【００５６】
図８は、教示作業中におけるプロジェクタ５０の画像投影例を示すものである。
ここで、塗装ガン２５の狙い先である狙い点６０は塗装ガン２５のガン先から一定の距離進んだ位置にあるものとする。この距離は塗装ガン２５を用いて最適な塗装ができるガン先からワークＷまでの距離Ｌに相当する。教示中にこの距離を正確に保つのが難しい場合には教示用治具（後述する）を用いてもよい。
【００５７】
塗装ガン２５の狙い点６０は、ティーチングペンダント１５上の各種のマニピュレータ移動キーを押下することにより移動する。最新の狙い点６０に対応したガン座標系を現在のガン座標系６１とする。狙い点６０を移動させると狙い点の移動軌跡６２がワークＷの外面に投影される。この狙い点の移動軌跡６２は制御装置５１で計算され画像出力装置５２を通してプロジェクタ５０から投影された像である。狙い点６０が教示位置６３であるならば、ティーチングペンダント１５上の教示点キーを押下することにより、この位置を記憶装置５４に記憶させる。また、一点前の教示点から現在の教示点までの移動速度や塗装ガン２５の動作情報（塗料のＯＮ・ＯＦＦ等）をティーチングペンダント１５から入力し、記憶装置５４に記憶させる。制御装置５１は教示点間の情報を基に教示点間の軌道を生成する。その軌道が塗料を出す軌道であるならば、制御装置５１は狙い点の教示軌跡６４を生成し、画像出力装置５２を通してプロジェクタ５０から像をワークＷの塗装対象部分である上面に投影する。狙い点の教示軌跡６４には一定時間毎の速度ベクトルが分かるように矢印が付加してある。
【００５８】
図９は、プロジェクタ５０から投影される像のキャリブレーション方法を説明する図である。
塗装ガン２５の先には、ガン先から狙い位置までの距離に相当する長さを持った棒状の教示用治具５５が設けられている。この教示用治具５５の先端点をワークＷの特徴点に持って行き、ワークＷ上の複数の特徴点を教示する。図９のような箱型のワークＷならばそれぞれの頂点位置を特徴点の教示位置６６として教示する。この教示位置６６を結ぶ軌道の狙い点軌跡は狙い点の教示軌跡６７のように生成される。狙い点の教示軌跡６７は必ずしも教示位置６６を結ぶ軌道の狙い点軌跡と一致しない。図９に示すようにずれる場合がある。このような場合、ティーチングペンダント１５上の拡大・縮小、平行移動、回転移動に関するそれぞれのキーを押下することにより、プロジェクタ５０から投影される狙い点の教示軌跡６７を教示位置６６を結ぶ軌道の狙い点軌跡に近づけることができる（後述する）。
【００５９】
次に、上記のような画面表示を行わせる制御装置５１の制御内容を説明するが、その前に、３つの座標系であるベース座標系、ガン座標系、プロジェクタ座標系の関係について説明する。
ベース座標系から見たガン座標系は、以下の４行４列の行列で表される。
【００６０】
【数４】
0004257468.tif 000005
…（１）
【００６１】
ここで、BｘG，BｙG，BｚGは、ベース座標系から見たガン座標系のｘ，ｙ，ｚ軸方向の単位ベクトル、BｐGは、ベース座標系から見たガン座標系の原点位置を表す変位ベクトルである。これらの各ベクトルは、３行１列の縦ベクトルである。行列およびベクトルの左上に付されている添字は見ている座標系を、右下に付されている添字は対象とする座標系を表している。すなわち、添字のＢはベース座標系を、添字のＧはガン座標系を、添字のＰはプロジェクタ座標系をそれぞれ表している。
【００６２】
この行列BＴGは、マニピュレータ１１の関節角度から演算できる。マニピュレータ１１の６つの関節角度θ1〜θ6を、
θ＝［θ1 θ2 θ3 θ4 θ5 θ6］T
とベクトルで表すと、
BＴG＝ｆ（θ）
…（２）
の関係が成り立つ。ここで、添字Ｔは転置を表す。
【００６３】
関数ｆ（θ）は運動学関数でありマニピュレータ１１の自由度構成に基づき誘導される。この関数の誘導法ならびに具体的な式は既知であるのでここでは省略する。
ベース座標系から見たプロジェクタ座標系は、
【００６４】
【数５】
0004257468.tif 000006
…（３）
【００６５】
で表される。ここで、BｘP，BｙP，BｚPは、ベース座標系から見たプロジェクタ座標系のｘ，ｙ，ｚ軸方向の単位ベクトル、BｐPは、ベース座標系から見たプロジェクタ座標系の原点位置を表す変位ベクトルである。プロジェクタ５０は塗装ブースに固定されているので、BｘP，BｙP，BｚP，BｐPは、定数ベクトルであり、プロジェクタ５０の設置条件より決定される。この値は記憶装置５４内に記憶されている。
このとき、プロジェクタ座標系から見たガン座標系は、
【００６６】
【数６】
0004257468.tif 000007
【００６７】
で表され、行列BＴG，BＴPから次のように誘導される。
PＴG＝（BＴP）-1・BＴG
…（４）
【００６８】
すなわち、プロジェクタ座標系から見た塗装ガン２５の位置・姿勢は、マニピュレータ１１の６つの関節角度θ1〜θ6の関数として求められる。
マニピュレータ１１のアーム２０，２２の長さ等のパラメータは、運動学関数ｆ（θ）に含まれ、プロジェクタ５０に関するパラメータは、４つの定数ベクトルBｘP，BｙP，BｚP，BｐPになっている。一般に運動学関数に含まれるパラメータは正確に測定され誤差は少ないが、プロジェクタ５０の設置条件より決定されるパラメータにはある程度の誤差が含まれる場合が多い。
【００６９】
これより、プロジェクタ座標系から見た塗装ガン２５の狙い点をPｐWとすると、
PｐW＝PｐG＋Ｌ・PｘG
…（５）
で与えられる。
【００７０】
塗装ガン２５の狙い点PｐWに対応したプロジェクタ５０の画像面上の平面位置ｐWは、透視変換の関数ｆP（ｐ）を用いて、
ｐW＝ｆP（PｐW）
…（６）
と求めることができる。透視変換の関数ｆP（ｐ）には、パラメータとして、プロジェクタ５０の焦点距離λが含まれる。この関数の形は既知であるので省略する。
【００７１】
次に、上記のような画面投影を行わせる制御装置５１の制御内容を、図１０に示すＰＡＤ図に基づき、ステップ毎に説明する。なお、図１０にＰＡＤ図で示される処理は一定サンプリング周期毎に実行される。
【００７２】
｛ステップＳＣ１｝
マニピュレータ１１を与えられた位置指令値に移動させるようにサーボドライバ５３に信号を出力する。
｛ステップＳＣ２｝
現在の狙い点を式（２）から式（５）を用いプロジェクタ座標系から見た位置に変換し記憶装置５４に記憶する。
【００７３】
｛ステップＳＣ３｝
１サンプリング前の狙い点を記憶装置５４から読み出し、現在の狙い点と結ぶ線分（すなわち塗装ガン２５の狙い点の移動軌跡）を生成する。
｛ステップＳＣ４｝
生成された線分を式（６）により透視変換し、画像出力装置５２に出力し、プロジェクタ５０から投影させる。
【００７４】
以上のような処理を行うことにより、マニピュレータ１１を動かすとそれに伴ってワークＷの上面上に現在の塗装ガン２５の狙い点６０と塗装ガン２５の狙い点の移動軌跡６２とがリアルタイムで表示される。
【００７５】
教示時にティーチングペンダント１５からのキー入力があった場合、制御装置５１は、図１１のＰＡＤ図に示す制御内容を実行する。この制御内容をステップ毎に説明する。
｛ステップＳＤ１｝
操作入力されたキーが「マニピュレータ移動キー」、「教示点キー」、「拡大・縮小キー」、「平行移動キー」および「回転移動キー」のいずれであるかを判定し、「マニピュレータ移動キー」が操作入力された場合はステップＳＤ２を、「教示点キー」が操作入力された場合はステップＳＤ３を、「拡大・縮小キー」が操作入力された場合はステップＳＤ７を、「平行移動キー」が操作入力された場合はステップＳＤ９を、「回転移動キー」が操作入力された場合はステップＳＤ１１を、それぞれ実行する。
【００７６】
｛ステップＳＤ２｝
押下されたマニピュレータ移動キーに対応させて位置指定値を生成し、処理を終える。
【００７７】
｛ステップＳＤ３｝
現在のガン座標系、動作情報（教示点間の補間方法、移動速度、塗装ガン２５のＯＮ／ＯＦＦ情報等）および教示点番号を教示点情報として記憶装置５４に記憶する。
｛ステップＳＤ４｝
記憶装置５４から現在と１つ前の教示点情報を読み出し、これら教示点間を結ぶ軌跡を生成し、記憶装置５４に記憶する。
【００７８】
｛ステップＳＤ５｝
生成した教示軌跡上で塗装ガン２５をＯＮするか否かを判定し、塗装ガン２５がＯＮのときステップＳＤ６へ移動し、塗装ガン２５がＯＮでないときは処理を終える。
｛ステップＳＤ６｝
記憶装置５４にある教示軌道から狙い点軌跡を生成し、プロジェクタ５０を用いて像を投影し（具体的な処理手順は後述する）、処理を終える。
【００７９】
｛ステップＳＤ７｝
押下されているキーに応じてプロジェクタ５０の焦点距離λを変更する。すなわち、拡大のときは焦点距離λを小さくし、縮小のときは焦点距離λを大きくする。
｛ステップＳＤ８｝
記憶装置５４にある教示軌道から狙い点軌跡を生成し、プロジェクタ５０を用いて像を投影し、処理を終える。
【００８０】
｛ステップＳＤ９｝
押下されているキーに応じてプロジェクタ５０の原点位置ベクトルBｐPを以下の式（７）により変更する。
【００８１】
【数７】
0004257468.tif 000008
…（７）
【００８２】
ただし、Δｘ，Δｙ，Δｚは、ティーチングペンダント１５から入力されたｘ方向，ｙ方向，ｚ方向の平行移動量である。
｛ステップＳＤ１０｝
記憶装置５４にある教示軌道から狙い点軌跡を生成し、プロジェクタ５０を用いて像を投影し、処理を終える。
｛ステップＳＤ１１｝
押下されているキーに応じて、プロジェクタ５０の姿勢を表す３つの単位ベクトルBｘP，BｙP，BｚPを以下の式（８）により変更する。
【００８３】
【数８】
0004257468.tif 000009
…（８）
【００８４】
ただし、α，β，γは、ティーチングペンダント１５から入力されたｘ軸，ｙ軸，ｚ軸回りの回転移動量である。
｛ステップＳＤ１２｝
記憶装置５４にある教示軌道から狙い点軌跡を生成し、プロジェクタ５０を用いて像を投影し、処理を終える。
【００８５】
次に、制御装置５１が記憶装置５４にある教示軌跡から狙い点軌跡を生成し、プロジェクタ５０を用いて像を投影する具体的な処理手順について図１２のＰＡＤ図を参照してステップ毎に説明する。
｛ステップＳＥ１｝
記憶装置５４から教示軌跡を読み出し、式（４）および式（５）を用いプロジェクタ座標系から見た狙い点の軌跡に変換する。
【００８６】
｛ステップＳＥ２｝
狙い点軌跡上に一定時間毎の移動量に対して矢印を付加し、記憶装置５４に記憶する。
｛ステップＳＥ３｝
記憶装置５４から狙い点軌跡を読み出し、式（６）により透視変換して、画像出力装置５２に出力し、プロジェクタ５０により投影させる。
【００８７】
以上に述べた塗装ロボット１０によれば、制御装置５１が、ティーチングペンダント１５で入力された塗装ガン２５の位置情報に基づく該塗装ガン２５の狙い先である狙い点の位置を表す像および塗装ガン２５の狙い先である狙い点の移動軌跡を表す像を、プロジェクタ５０および画像出力装置５２に対応した像に変換するとともに、このように変換された塗装ガン２５の狙い先である狙い点の位置を表す像および塗装ガン２５の狙い先である狙い点の移動軌跡を表す像を、画像出力装置５２を介してプロジェクタ５０でワークＷに投影させワークＷ上に表示させることになる。
【００８８】
したがって、教示中において塗装ガン２５の狙い先である狙い点の移動軌跡を表示することになり、よって、教示中において塗装ガン２５の狙い先である狙い点の移動軌跡を容易かつ速やかに確認可能となり、よって、移動軌跡にうねりがあるかどうかを容易かつ速やかに確認できるため、塗装ガン２５を滑らかに移動させる教示データを作成するのに必要な時間を短縮することができる。これにより、教示のためのライン停止時間が短くなり生産性を向上させることができる。
【００８９】
また、塗装ガン２５の無駄な動作をなくし、塗装ピッチを一定間隔にし易いので、「たれ」や「すけ」の少ない高品質な塗装が簡単に実現できる。
さらに、教示後に何度も試し塗りと修正をする必要がないので、試し塗りの塗料の使用量を減らすことができる。
加えて、教示中に移動軌跡を確認するためワークＷの狙い位置から目を離す必要がないので、教示作業が中断されず、作業効率が上がる。
【００９０】
なお、以上においては、プロジェクタ５０を１台としているが、複数台設けてもよい。この場合、ベース座標系から見たプロジェクタ座標系を表す行列BＴPをプロジェクタ５０の台数分計算し、ガン座標系をそれぞれのプロジェクタ座標系から見た像に変換して対応するプロジェクタ５０から出力することになる。複数台のプロジェクタ５０を設けることによって立体的なワークＷに対しても塗装ガン２５の狙い点軌跡を表示させることができるようになる。
【００９１】
【発明の効果】
以上詳述したように、本発明の請求項１記載の塗装ロボットによれば、変換手段が、教示データによる塗装ガンの位置情報に基づく該塗装ガンに関わる位置を表す像を、画像入力手段に対応した像に変換するとともに、表示制御手段が、変換手段で変換された塗装ガンに関わる位置を表す像を、画像入力手段で入力させた画像に重ねて画像表示手段に表示させることになる。したがって、教示中において塗装ガンの位置の移動軌跡を表示可能となり、よって、教示中において塗装ガンに関わる位置の移動軌跡を容易かつ速やかに確認可能となり、教示終了までに必要な時間を短縮することができる。
【００９２】
本発明の請求項２記載の塗装ロボットによれば、変換手段が、教示データによる塗装ガンの位置情報に基づく該塗装ガンに関わる位置を表す像を、画像投影手段に対応した像に変換するとともに、投影制御手段が、変換手段で変換された塗装ガンに関わる位置を表す像を、画像投影手段で例えばワーク上に表示させることになる。したがって、教示中において塗装ガンの塗装の狙い先の移動軌跡を表示可能となり、よって、教示中において塗装ガンの位置の移動軌跡を容易かつ速やかに確認可能となり、教示終了までに必要な時間を短縮することができる。
【図面の簡単な説明】
【図１】  本発明の塗装ロボットの実施の参考例を示す側面図である。
【図２】  本発明の塗装ロボットの実施の参考例の制御系を示すブロック図である。
【図３】  本発明の塗装ロボットの実施の参考例の教示作業中におけるモニタの画面表示例を示す図である。
【図４】  本発明の塗装ロボットの実施の参考例の教示時に一定サンプリング間隔毎に実行される制御装置の制御内容を示すＰＡＤ図である。
【図５】  本発明の塗装ロボットの実施の参考例の教示時にティーチングペンダントからのキー入力があった場合の制御装置の制御内容を示すＰＡＤ図である。
【図６】  本発明の塗装ロボットの第１の実施の形態を示す側面図である。
【図７】  本発明の塗装ロボットの第１の実施の形態の制御系を示すブロック図である。
【図８】  本発明の塗装ロボットの第１の実施の形態の教示作業中におけるモニタの画面表示例を示す図である。
【図９】  本発明の塗装ロボットの第１の実施の形態のプロジェクタから投影される像のキャリブレーション方法を示す図である。
【図１０】  本発明の塗装ロボットの第１の実施の形態の教示時に一定サンプリング間隔毎に実行される制御装置の制御内容を示すＰＡＤ図である。
【図１１】  本発明の塗装ロボットの第１の実施の形態の教示時にティーチングペンダントからのキー入力があった場合の制御装置の制御内容を示すＰＡＤ図である。
【図１２】  本発明の塗装ロボットの第１の実施の形態の教示時に制御装置が教示軌跡から狙い点軌跡を生成し像を投影する制御内容を示すＰＡＤ図である。
【符号の説明】
１０  塗装ロボット
１１  マニピュレータ
１５  ティーチングペンダント（操作手段）
２５  塗装ガン
２８  カメラ（画像入力手段）
３０  モニタ（画像表示手段）
３２  制御装置（変換手段，表示制御手段）
３３  画像入力装置（画像入力手段）
３４  画像出力装置（画像表示手段）
５０  プロジェクタ（画像投影手段）
５１  制御装置（変換手段，投影制御手段）
５２  画像出力装置（画像投影手段）
【図１】
0004257468.tif 000010
【図２】
0004257468.tif 000011
【図３】
0004257468.tif 000012
【図４】
0004257468.tif 000013
【図５】
0004257468.tif 000014
【図６】
0004257468.tif 000015
【図７】
0004257468.tif 000016
【図８】
0004257468.tif 000017
【図９】
0004257468.tif 000018
【図１０】
0004257468.tif 000019
【図１１】
0004257468.tif 000020
【図１２】
0004257468.tif 000021