(57)【特許請求の範囲】
【請求項１】
あらかじめ複数の教示点を記憶するとともに、この複数の教示点によって形成される加工線に沿って工具を移動させることによって加工を行うロボット制御装置において、
前記工具の進行方向に対して前記工具よりも所定量先行した位置に設けられ加工前の加工線を検出する加工線検出センサと、
前記工具の進行方向に対して前記工具よりも後方の位置に設けられ加工後の加工線を検出する加工終了部検出センサと、
前記加工線検出センサによるセンサデータによって、教示された前記加工線と実際の前記加工線との誤差を補正しながら実際の前記加工線に沿って工具を移動させて加工を行う加工実行手段と、
前記加工線検出センサによるセンサデータと前記加工終了部検出センサによるセンサデータとからワークの形状を比較して加工の状態を判別する加工状態判別手段と、
前記加工状態判別手段は、前記加工線検出センサと前記加工終了部検出センサとのオフセットを考慮して比較し、
前記加工状態判別手段によって判別された加工の状態に基づいて、加工中に前記工具による加工条件を変化させる加工条件修正手段とを備えたことを特徴とするロボット制御装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、ロボットの手首部先端に設けられた工具を、ワーク上に設定された加工線に沿って移動させ、ワークに溶接やシーリング等の加工を行うようにしたロボット制御装置に関する。
【０００２】
【従来の技術】
従来、ロボットによって工具をあらかじめワーク上に設定された加工線に沿って移動させて加工を行うロボット制御装置には、特開平４−１９５４０４号等がある。このロボット制御装置は、溶接作業を行うものであり、溶接トーチから所定量オフセットした位置に溶接線検出センサを有している。このため、このロボット制御装置は、ワークの位置決め誤差等によって、あらかじめ記憶された溶接線上の目標位置と実際の加工位置との間に誤差が生じていても溶接線検出センサからのセンサデータに基づいて、誤差を補正しながら良好な溶接作業を行うことができる。
【０００３】
上記のように溶接が完了したワークは、実際に加工が適切に行われたか否かを検査する必要がある。このため、作業者が目視によって、加工後のワークを検査し、溶接状態が悪い時には、その状態に応じて溶接機の電圧、電流等の溶接条件を変更していた。また、このような作業者による作業を自動化する手段として、溶接が完了したワークの加工状態を判別する後工程を設けるものがある。この後工程は、溶接ビード検査用のセンサ（以下、ビード検査センサという）を有したロボットを加工が終了した溶接線（溶接ビード）に沿って移動させることによって、溶接が良好に行われたことを自動的に検査するものである。
【０００４】
【発明が解決しようとする課題】
しかし、このような装置では、前工程である溶接工程と、後工程である検査工程の２つの工程が必要となるため、当然必要なスペースも大きくなってしまうという問題点があった。また、ロボットも溶接用と検査用の２台が必要となり、コスト高となってしまう問題点があった。
【０００５】
さらに、ビード検査センサを有するロボットを用いて溶接の状態の検査を自動化しても、完全に加工が終了したものに対して検査が行われることになる。このため、検査の結果が不良であった場合には、不良品となるか、作業者による個別の作業によって手直しをする必要がある。また、検査の結果が不良であった場合でも、その時には既に前工程では、同じ溶接条件で溶接作業を行っているため、直ぐに検査の結果を反映させた加工を行うことはできない。
【０００６】
本発明は以上のような問題点を解決するためになされたものであり、１台のロボットによって、加工と検査の両方の作業を行うことができるとともに、リアルタイムで加工の状態を検査し、その検査情報を直ぐに加工に反映させて高品質な加工を行うことのできるロボット制御装置を提供することを目的とする。
【０００７】
【課題を解決するための手段】
本発明は上述した目的を達成する請求項１に記載された手段は、あらかじめ複数の教示点を記憶するとともに、この複数の教示点によって形成される加工線に沿って工具を移動させることによって加工を行うロボット制御装置において、
前記工具の進行方向に対して前記工具よりも所定量先行した位置に設けられ加工前の加工線を検出する加工線検出センサと、
前記工具の進行方向に対して前記工具よりも後方の位置に設けられ加工後の加工線を検出する加工終了部検出センサと、
前記加工線検出センサによるセンサデータによって、教示された前記加工線と実際の前記加工線との誤差を補正しながら実際の前記加工線に沿って工具を移動させて加工を行う加工実行手段と、
前記加工線検出センサによるセンサデータと前記加工終了部検出センサによるセンサデータとからワークの形状を比較して加工の状態を判別する加工状態判別手段と、
前記加工状態判別手段は、前記加工線検出センサと前記加工終了部検出センサとのオフセットを考慮して比較し、
前記加工状態判別手段によって判別された加工の状態に基づいて、加工中に前記工具による加工条件を変化させる加工条件修正手段とを備えたものである。
【０００９】
【作用】
請求項１に記載された手段において、加工実行手段は、加工線検出センサによって未加工の加工線の検出を行うことよって、実際の加工線に沿って工具を移動させて加工を行う。そしてこの時、加工終了部検出センサによって加工を終了した加工線の検出を行う。加工状態判別手段は、加工線検出センサの出力と加工終了部検出センサの出力とから加工の状態が適切であるかを判別する。この時、加工線検出センサと加工終了部検出センサとのオフセットを考慮して、加工の状態を判別する。そして、加工条件修正手段は、この加工状態判別手段の判別結果に基づき、加工状態が悪化している時には、加工条件を変化させる。これによって、加工中にリアルタイムで加工条件を変更することができ、良好な加工を行うことができる。
【００１１】
【実施例】
本発明の実施例について図面を参照して説明する。図１は、本実施例の全体構成図を示している。１０は６軸多関節ロボット（以下、ロボット１０という）である。このロボット１０における床面に配設されたベース３９には、ロボット座標系Ｘｒ，Ｙｒ，Ｚｒが設定されている。
【００１２】
このロボット１０の手首部１１には、ブラケット１２を介して炭酸ガスアーク溶接用のトーチ（工具）Ｔが取り付けられている。また、このブラケット１２の両側には、溶接線検出センサ２０（加工線検出センサ）とビード検査センサ４０（加工終了部検出センサ）とが取り付けられている。即ち、溶接線検出センサ２０は、オフセットブラケット２１を介してトーチＴよりも先行した溶接線Ｌ（加工線）を検出できるようになっている。また、ビード検査センサ４０は、オフセットブラケット４１を介してトーチＴよりも後方の溶接終了後の溶接線Ｌを検出できるようになっている。
【００１３】
トーチＴは可撓管１４を介してアーク溶接機１５に接続され、電圧が印加された針金状の溶解剤から成る溶接ワイヤ１３と炭酸ガスが供給されている。また、ロボット１０と対向する位置には、支持テーブル１６が設けられ、２枚の板材であるワークＷ１，Ｗ２を図略のクランプ装置により支持するようになっている。そして、このワークＷ１，Ｗ２の境界が溶接線Ｌとして教示される。
【００１４】
図２は、ロボット１０を制御する制御装置の全体構成図である。制御装置３０は、主にホストＣＰＵ３１、センサＣＰＵ３８および記憶装置３２から成り、ホストＣＰＵ３１にはインターフェイス３４を介してティーチングボックス３６が接続され、またロボット１０の各軸を駆動するサーボモータＭ１〜Ｍ６を作動させるサーボユニットＳＵ１〜ＳＵ６がインターフェイス３３を介して接続されている。ロボット１０の各軸の回転角はエンコーダＥ１〜Ｅ６により検出され、各サーボユニットＳＵ１〜ＳＵ６およびインターフェイス３３を介してホストＣＰＵ３１にフィードバックされている。
【００１５】
ホストＣＰＵ３１にはセンサＣＰＵ３８が接続されている。センサＣＰＵ３８は、溶接線検出センサ２０とビード検査センサ４０の制御を行うものである。そして、溶接線検出センサ２０とビード検査センサ４０は、それぞれセンサコントローラ２８，４８に接続され、センサコントローラ２８，４８は、インターフェイス３５を介してセンサＣＰＵ３８に接続されている。記憶装置３２は、ホストＣＰＵ３１、センサＣＰＵ３８がそれぞれ別個にアクセスするメモリ３２ａ，３２ｃの他に２つのＣＰＵ３１，３８が共通にアクセス可能な共有メモリ３２ｂを有している。ホストＣＰＵ３１用のメモリ３２ａには、後述する加工開始位置や加工終了位置を示す教示点のデータ、即ち教示位置におけるロボット１０の手首部１１先端の位置と姿勢を表わす教示データ、トーチＴと溶接線検出センサ２０との間の距離すなわち先行量Ｄ、後述する溶接条件修正用のマップ等を記憶するＰＤＡ領域、ロボット１０を教示データに従って動作させるための動作プログラムが記憶されたＰＡ領域と、動作プログラムを実行するための主プログラム等の各システムプログラムを記憶するＳＰＡ領域、補間演算により求められた補間点における各軸の角度指令値θ１〜θ６を記憶するＩＮＡ領域等が形成されている。
【００１６】
トーチＴに電力を供給するアーク溶接機１５は、アーク溶接機制御用インターフェイス３７を介してホストＣＰＵ３１に接続されている。次に溶接線検出センサ２０とビード検査センサ４０について説明する。溶接線検出センサ２０とビード検査センサ４０は、基本的に同じ構成であるため、図３を用いて溶接線検出センサ２０についてのみ説明する。
【００１７】
溶接線検出センサ２０は、オフセットブラケット２１に固定されたケーシング２３に設けられた半導体レーザ２４、ミラー２５、受光素子アレー２６および受光レンズ２７よりなり、各部材２４〜２６はセンサコントローラ２８に接続されている。センサコントローラ２８により発せられた高周波繰返しパルス変調を受けたレーザ光Ｌａは、往復回動するミラー２５により反射された角度αの範囲内で揺動する。従って、ワークＷの表面に照射される光スポットは溶接線Ｌ付近を中心とする所定の振幅でワークＷ１，Ｗ２上を走査する。ワークＷ１，Ｗ２表面の光スポットから乱反射されたレーザ光Ｌｂは、受光レンズ２７により、多数のフォトダイオードを接近して一列に配列した受光素子アレー２６上に像を結び、受光素子アレー２６により検出された結像位置とミラー２５の角度により、センサコントローラ２８は三角測量の原理に基づき光スポットとセンサヘッド２２との距離を演算するようになっている。このような構成によって、溶接線検出センサ２０とビード検査センサ４０は、それぞれ以下に説明するセンサデータを出力する。
【００１８】
溶接線検出センサ２０およびビード検査センサ４０は、それぞれにセンサ座標系Ｘｓ，Ｙｓ，Ｚｓが設定されている。この座標系は、トーチＴの進行方向である溶接線Ｌに直交する方向、即ち、光スポットの走査方向をＸｓ軸、トーチＴの進行方向である溶接線Ｌの方向をＹｓ軸、ワークＷ１，Ｗ２に垂直な方向をＺｓ軸としている。そして、上記したように光スポットとセンサヘッド２２との距離がセンサ周期毎に演算されることによって、図４に示すような検出データが得られる。図４（ａ），（ｂ）では、このサンプリング周期毎に検出される検出データの点群を二点鎖線で示している。
【００１９】
溶接線検出センサ２０の場合は、図４（ａ）に示すデータが得られる。溶接線検出センサ２０が検出するデータは、溶接前のデータであるため、溶接線Ｌを形成するワークＷ１，Ｗ２の境界線は、垂直な壁面となっている。従って、検出されるデータもこの位置で急激に変化することになる（Ａに示す部分）。このため、この位置を演算で求めることにより、溶接線Ｌの位置を求めることができる。本実施例の溶接線検出センサ２０の場合、教示された溶接線Ｌ上にセンサ座標系の原点が位置するようになっているので、求められた溶接線Ｌの位置は、教示された溶接線Ｌと実際の溶接線ＬとのＸｓ軸方向の誤差ΔＸｓとして検出される。また、実際の溶接線Ｌ高さは、教示された溶接線Ｌと実際の溶接線ＬとのＺｓ軸方向の誤差ΔＺｓとして検出される。
【００２０】
このΔＸｓ，ΔＺｓとともに、溶接線検出センサ２０は、溶接線ＬのＡに示す垂直な壁面部分の厚みｔも検出する。この厚みｔは、理想的には上側のワークＷ２の厚みであるが、実際には、ワークＷ１，Ｗ２ともに誤差や反りがあり、この値は一定ではない。この厚みｔは、溶接線Ｌの位置を求める時に使用した急激な変化部分のデータＳ１，Ｓ２の高さ方向の差を検出することによって求めることができる。従って、溶接線検出センサ２０は、センサデータとして溶接線Ｌの位置誤差ΔＸｓ，ΔＺｓと、溶接線Ｌの厚みｔを出力するようになっている。
【００２１】
ビード検査センサ４０の場合は、図４（ｂ）に示すデータが得られる。ビード検査センサ４０が検出するデータは、溶接後のデータであるため、溶接線Ｌを形成するワークＷ１，Ｗ２の境界線には、溶接ビードが盛られており、曲面形状を成している。従って、検出されるデータもこの位置で所定の角度を以て変化することになる（Ｂに示す部分）。このため、上側のワークＷ２を示す水平に並んだデータ群が、角度β以上の傾斜を有して変化する位置を溶接ビードの開始点とし、再び角度γ以下となって下側のワークＷ１を示す水平に並んだデータ群となる位置を溶接ビードの終了点として認識する。そして、この溶接ビードの開始点から終了点までの距離を溶接ビードの幅ｄとして演算する。また、ワークＷ１の水平面を示す下側の水平に並んだデータ群から溶接ビード部Ｂの最大高さを示すデータまでの距離を演算することによって、溶接ビードの高さＴを演算する。
【００２２】
さらにこのビード検査センサ４０は、Ｃに示す部分のように溶接ビード部Ｂを示すデータ群が所定量以上に急激に高さが変化をする部分をブローホール（溶接金属中に残留する気孔）として検出する。従って、このブローホールを検出することによって、溶接の不良を検出できる。以上のように、このビード検査センサ４０は、センサデータとして溶接ビードの幅ｄ、溶接ビードの高さＴおよびブローホールの有無を出力するようになっている。
【００２３】
次に以上の構成に基づいて本実施例の作用を説明する。本実施例のロボット１０の動作を実行する前作業として、作業者による教示作業が行われる。これは、作業者がティーチングボックス３６を操作してロボット１０をジョグ運転によって実際に移動させながら行われる。本実施例の場合、作業者はワークＷ１，Ｗ２の境界線上に複数の教示点を設定することによって、溶接線Ｌが教示される。この時、各教示点において作業者は、教示位置までロボット１０のトーチＴを移動させ、適切な姿勢を取らせる。そして、ティーチングボックス３６上の図略の記憶ボタンを押すことによって、現在のトーチＴの位置と姿勢が教示データとして記憶される。この後、同様に次の教示位置までロボット１０のトーチＴを移動させて次の教示点における教示データを記憶する。この時、作業者は少なくとも加工線の始点である加工開始位置と加工線の終点である加工終了位置を教示点として記憶させる必要がある。また、加工線が複雑な曲線である場合には、加工開始位置と加工終了位置間に複数の教示点を設ける必要がある。
【００２４】
また、作業者はこの教示作業とは別に、ロボット１０に各教示点間をどの様に移動させて、どのような作業を実行させるかを示す動作プログラムをティーチングボックス３６によって作成し、記憶させておく。さらに、作業者は、この動作プログラムと対応させてティーチングボックス３６によって加工するワークＷ１，Ｗ２の厚みを記憶させておく。
【００２５】
次に図５，６，７のフローチャートを用いて第１実施例の作用を説明する。図５，６はロボット１０の溶接作業を行う動作プログムの内容を示したものである。ロボット１０は作業を始める前の停止状態においては、原位置に位置決めされている。そして、作業が開始されるとステップ１００において、まず、溶接線検出センサ２０とビード検査センサ４０を作動させる。これによって、各センサ２０，４０のセンシングが開始されるが、この状態ではホストＣＰＵ３１は、まだセンサデータの読み込みは行っていない。
【００２６】
ステップ１０２では、ロボット１０が加工開始位置を示す教示点まで移動を完了したかを判断する。この加工開始位置でロボット１０は一旦停止する。ロボット１０が加工開始位置まで移動したならば（ＹＥＳ）、ステップ１０４に移行する。また、ロボット１０が加工開始位置まで移動していないならば（ＮＯ）、加工開始位置に移動するまでこのステップ１０２を繰り返す。
【００２７】
ステップ１０４では、アーク溶接機１５を作動させる。この時の溶接条件はあらかじめ設定された初期値が用いられる。ステップ１０６では、現在位置である加工開始位置より加工終了位置まで移動を開始する。即ち、この位置から溶接が開始される。この時のロボット１０の移動速度は動作プログラムに中に指定された目標移動速度に基づいて設定される。
【００２８】
ステップ１０８では、溶接線検出センサ２０よりセンサデータを読み込む。この時読み込まれるセンサデータは、溶接線Ｌの位置誤差ΔＸｓ，ΔＺｓである。ステップ１１０では、ステップ１０８で読み込んだセンサデータに基づいて次の目標位置の補正を行う。この目標位置は、各教示点間を補間周期に基づいて分割した補間点であり、移動が開始された直後は、加工開始位置と次の教示点間を分割した複数の補間点の最初の（最も加工開始位置に近い）補間点となる。この時、詳細には、ステップ１０８において取り込んだセンサデータは、トーチＴの現在位置よりもオフセットブラケット２１の長さ分、即ち、先行量Ｄだけ先の位置のデータである。従って、このステップ１１０では、記憶装置３２の共通メモリ３２ｂに記憶されたセンサデータの中から目標位置に対応するデータを選択し、このセンサデータに基づいて目標位置の補正を行う。
【００２９】
ステップ１１２では、ステップ１１０において補正した目標位置に基づいてロボット１０を移動させる。即ち、目標位置にロボット１０を移動させるための１補間周期分の各軸毎の角度指令値が演算されて各サーボユニットＳＵ１〜ＳＵ６に出力される。ステップ１１４では、ビード検査センサ４０よりセンサデータを読み込み、このセンサデータと溶接線検出センサ２０からのセンサデータに基づいて溶接条件の変更を行う。この時読み込まれるセンサデータは、溶接ビードの厚みＴと幅ｄと溶接前の厚みｔである。この過程については後に説明する。
【００３０】
ステップ１１６では、ロボット１０が加工終了位置を示す教示点まで移動を完了したかを判断する。この加工終了位置でロボット１０は一旦停止する。ロボット１０が加工終了位置まで移動したならば（ＹＥＳ）、ステップ１１８に移行する。また、ロボット１０が加工開始位置まで移動していないならば（ＮＯ）、加工終了位置に移動するまでステップ１０８以降のステップを繰り返す。
【００３１】
加工終了位置への移動が完了すると、ステップ１１８では、アーク溶接機１５を停止させ、溶接を終了する。また、ステップ１２０では、溶接線検出センサ２０とビード検査センサ４０を停止させる。ステップ１２２では、以上の過程でワーク１個分の加工が終了したため、原位置に戻り作業を終了する。
【００３２】
次に図７に示すフローチャートにより、上記したステップ１１４における溶接条件の変更について説明する。溶接条件は、アーク溶接機１５の電流値および電圧値と、トーチＴを移動させるロボット１０の動作速度である溶接速度の３つの条件からなる。これらの条件は、後述するようにビード検査センサ４０より検出された溶接ビードの厚みＴと幅ｄと溶接線検出センサ２０より検出された溶接前の厚みｔとに基づいて、１つまたは複数が選択的に修正される。この修正する条件の選択と、修正量は、記憶装置３２のメモリ３２ａにおけるＰＤＡ領域に記憶された後述するマップに基づいて行われる。
【００３３】
ステップ３００では、溶接線検出センサ２０より検出された溶接線Ｌの壁面部分の厚みｔと、ビード検査センサ４０より検出された溶接ビードの厚みＴと幅ｄを読み込む。そして、ステップ３０２において、この溶接前の厚みｔと、溶接後の厚みＴと幅ｄが所定の許容範囲にあるかを判断する。この時、溶接後のビードの厚みＴから溶接前の厚みｔを減算することによって、ワークの実質の厚みに応じた適切なビードが形成されているかを判断する。但し、この時の厚みｔは、溶接線検出センサ２０のから検出された直後のものではなく、溶接線検出センサ２０およびビード検査センサ４０が取り付けられたオフセットブラケット２１，４１の長さを考慮して、ビード検査センサ４０から検出される厚みＴの位置と対応した位置のデータを記憶装置３２の共通メモリ３２ｂに記憶されたセンサデータの中から選択する必要がある。このようにしてステップ３００において、Ｋ１＜Ｔ−ｔ＜Ｋ２，ｄ１＜ｄ＜ｄ２（Ｋ１，Ｋ２，ｄ１，ｄ２はワークＷ１，Ｗ２対応した所定の数値）にあるか、即ち、溶接の状態は良好であるかを判断する。これによって、溶接が適切と判断される場合には（ＹＥＳ）、ステップ３１８に移行して、終了する。即ち、前記した図６におけるステップ１１６に移行する。また、厚みＴ−ｔと幅ｄのどちらか一方でも所定の許容範囲になく、溶接の状態が悪化している時には（ＮＯ）、ステップ３０２に移行する。
【００３４】
ステップ３０４では、厚みＴと幅ｄの値と、上記したマップに基づいて３つの溶接条件の内、どの溶接条件をどれくらい変化させるかを決定する。このマップに記載されている内容は、ワークＷ１，Ｗ２の厚みや、形状によって複雑に変化するため一義的には決定できない。従って、作業者は、あらかじめ経験に基づいて上記した許容範囲を決定する値Ｋ１，Ｋ２，ｄ１，ｄ２と、このマップの条件を決定する必要がある。マップの内容の例を示すと以下のようなものがある。溶接ビードの幅ｄのみが許容値以上に大きくなった場合は、電流値を一定量減少させる。逆に、溶接ビードの幅ｄのみが許容値以上に小さくなった場合は、電流値を一定量増加させる。また、ワークＷ１，Ｗ２の厚みが比較的厚い場合において、溶接ビードの幅ｄが許容値以下に小さくなり、かつ厚みＴ−ｔが許容値以上となった場合は、電流値と電圧値の両方を一定量増加させる。ワークＷ１，Ｗ２の厚みが比較的薄い場合において、溶接ビードの幅ｄが許容値以下に小さくなり、かつ厚みＴ−ｔが許容値以上となった場合は、溶接速度を低下させる。このような条件に基づいてマップは作成されている。
【００３５】
ステップ３０６では、アーク溶接機１５の電流値を変化させる必要があるか否かを判断する。ステップ３０４での決定事項より電流値を変化させる必要があるならば（ＹＥＳ）、ステップ３０８に移行して、アーク溶接機１５の電流値の電流値を変化させる。また、テップ３０４での決定事項より電流値を変化させる必要がないならば（ＮＯ）、電流値を変更せずステップ３１０に移行する。
【００３６】
ステップ３１０では、アーク溶接機１５の電圧値を変化させる必要があるか否かを判断する。ステップ３０４での決定事項より電圧値を変化させる必要があるならば（ＹＥＳ）、ステップ３１２に移行して、アーク溶接機１５の電圧値の電圧値を変化させる。また、ステップ３０４での決定事項より電圧値を変化させる必要がないならば（ＮＯ）、電圧値を変更せずステップ３１４に移行する。
【００３７】
ステップ３１４では、溶接速度、即ち、加工中のロボット１０の移動速度を変化させる必要があるか否かを判断する。ステップ３０４での決定事項より溶接速度を変化させる必要があるならば（ＹＥＳ）、ステップ３１６に移行して、ロボット１０の目標移動速度の設定値を変化させることにより、溶接速度を変化させる。また、テップ３０４での決定事項より溶接速度を変化させる必要がないならば（ＮＯ）、溶接速度を変更せずステップ３１８に移行して、溶接条件の変更過程を終了する。従って、上記した図６におけるステップ１１６に移行する。
【００３８】
以上述べた第１実施例では、溶接線検出センサ２０とビード検査センサ４０のセンサデータを比較し、この結果に基づいて溶接条件を修正するものである。
【００３９】
上記した第１実施例は、溶接線検出センサ２０とビード検査センサ４０の両方を同時に使用して溶接作業を行うものである。このような構成とすることによって、リアルタイムで溶接条件を変化させ、良好な溶接を行うことができる。また、１台のロボット１０によって溶接と検査の両方を行うため、後工程は必要なくなる。従って、低コスト、省スペースを実現できる。
【００４０】
次に示す第２実施例は低コスト、省スペースのみを目的とした実施例である。即ち、上記したように溶接線検出センサ２０とビード検査センサ４０は基本的には同じ構成であり、そのセンサデータを解析するプログラムが異なっている。このため、第２実施例では、溶接線検出センサを溶接作業時には、通常の溶接線検出センサとして使用し、溶接作業時が終了した後にビード検査センサとして使用するものである。これによって、従来と同じ溶接ロボットの構成である１台のロボットと１台の溶接線検出センサを用い、プログラムを変更するのみで溶接と検査の両方を行うことができる。
【００４１】
図８，９，１０はこの第２実施例の作用を示すフローチャートである。本実施例の構成は、図１，２におけるビード検査センサ４０に関する部分、即ち、ビード検査センサ４０およびセンサコントローラ４８が不要となることが異なるのみで基本的には同じ構成である。以下の説明では、この２つの構成が無いものとし、他の構成に関しては同じ記号を用いて説明する。
【００４２】
ロボット１０は作業を始める前の停止状態においては、原位置に位置決めされている。そして、作業が開始されるとステップ４００において、溶接線検出センサ２０を作動させる。これによって、溶接線検出センサ２０のセンシングが開始される。この時、溶接線検出センサ２０は、溶接線検出に用いられるため溶接線検出用のプログラムが起動される。また、この状態ではホストＣＰＵ３１は、まだセンサデータの読み込みは行っていない。
【００４３】
ステップ４０２では、上記した図５のステップ１０２と同様にロボット１０が加工開始位置を示す教示点まで移動を完了したかを判断する。ステップ４０４では、アーク溶接機１５を作動させる。この時の溶接条件はあらかじめ設定された初期値が用いられる。ステップ４０６では、現在位置である加工開始位置より加工終了位置まで移動を開始する。即ち、溶接を開始する。
【００４４】
ステップ４０８では、溶接線検出センサ２０よりセンサデータを読み込む。この時読み込まれるセンサデータは、溶接線Ｌの位置誤差ΔＸｓとΔＺｓである。ステップ４１０では、上記したステップ１１０と同様にステップ４０８で読み込んだセンサデータに基づいて次の目標位置の補正を行う。ステップ４１２では、ステップ４１０において補正した目標位置に基づいてロボット１０を移動させる。即ち、目標位置にロボット１０を移動させるための１補間周期分の各軸毎の角度指令値を演算して各サーボユニットＳＵ１〜ＳＵ６に出力する。
【００４５】
ステップ４１４では、ロボット１０が加工終了位置を示す教示点まで移動を完了したかを判断する。この加工終了位置でロボット１０は一旦停止する。ロボット１０が加工終了位置まで移動したならば（ＹＥＳ）、ステップ４１６に移行する。また、ロボット１０が加工開始位置まで移動していないならば（ＮＯ）、加工終了位置に移動するまでステップ４０８以降のステップを繰り返す。
【００４６】
ステップ４１６では、加工終了位置への移動が完了したために、アーク溶接機１５を停止させ、溶接を終了する。ステップ４１８では、溶接線検出センサ２０を溶接線検出用からビード検査用に切換える。即ち、溶接線検出用のプログラムを終了し、ビード検査用のプログラムを起動させる。
【００４７】
ステップ４２０では、現在位置である加工終了位置から逆に加工開始位置に向けて移動を開始する。つまり、ビードの検査作業は、溶接方向とは逆方向に実施する。ステップ４２２では、溶接線検出センサ２０よりセンサデータを読み込む。この時読み込まれるセンサデータは、溶接ビードの厚みＴ、幅ｄおよびブローホールの有無である。そして、ステップ４２４において、この厚みＴと幅ｄが所定の許容範囲にあるか、即ち、溶接の状態は良好であるかを判断する。厚みＴと幅ｄが所定の許容範囲にあるならば（ＹＥＳ）、溶接の状態は良好であると判断でき、溶接条件を変更する必要がないため、ステップ４２８に移行する。また、厚みＴと幅ｄのどちらか一方でも所定の許容範囲にないならば（ＮＯ）、溶接の状態に不備があるためステップ４２６に移行する。
【００４８】
ステップ４２６では、検査したワークに不良があったため、溶接条件の変更の必要性を示すエラーメッセージを表示する。これによって作業者は、ワークを確認し、溶接条件を変化させることになる。このステップ４２６が終了すると、残りの加工線の検出は行わず、直接ステップ４４０に移行する。ステップ４２８では、ブローホールが検出されたか否かを判断する。ブローホールが検出された場合は（ＹＥＳ）、ステップ４３０に移行する。また、ブローホールが検出されなかった場合は（ＮＯ）、ステップ４３６に移行する。
【００４９】
ステップ４３０では、検出されたブローホールの数が所定の数に達しているかを判断する。これはブローホールの数が余りに多い場合には、溶接に異常があると考えられるため、エラーとして判別するためである。なお、１つのブローホールの大きさが加工異常となるほど大きい場合が考えられるが、これは溶接ビードの厚みＴと幅ｄに表れるため、ここではブローホールの数のみを検出する。従って、ブローホールが所定の数に達してるならば（ＹＥＳ）、ステップ４３２に移行して、溶接異常を示すエラー表示を行い、ステップ４４０に移行する。また、ブローホールがまだ所定の数に達していないならば（ＮＯ）、ステップ４３４に移行して、ブローホールの数を１だけプラスする。つまり、このステップ４３４によって溶接線Ｌ上で検出されたブローホールの数がカウントされる。この後、ステップ４３６に移行する。
【００５０】
ステップ４３６では、次の目標位置に基づいてロボット１０を移動させる。即ち、目標位置にロボット１０を移動させるための１補間周期における各軸毎の角度指令値が演算されて各サーボユニットＳＵ１〜ＳＵ６に出力される。なお、この時の目標位置は、溶接線検出センサ２０からの誤差補正用のセンサデータは出力されないため、教示点のみに基づいて演算される。
【００５１】
ステップ４３８では、ロボット１０が現在の移動終了点に相当する上記した加工開始位置まで移動を完了したかを判断する。この加工開始位置でロボット１０は一旦停止する。ロボット１０が加工開始位置まで移動したならば（ＹＥＳ）、ステップ４４０に移行する。また、ロボット１０が加工開始位置まで移動していないならば（ＮＯ）、加工開始位置に移動するまでステップ４２２以降のステップを繰り返す。
【００５２】
また、ステップ４４０では、加工開始位置までロボット１０が移動したため、溶接線検出センサ２０を停止させる。ステップ４４２では、以上の過程でワーク１個分の加工と検査が終了したため、原位置に戻り作業を終了する。以上述べた第３実施例では、溶接を終了した後、その加工線を逆方向に戻る構成としたが、一旦加工開始位置に戻り加工と同じ方向で検査作業を行っても良い。また、この第３実施例では、毎回検査作業を行っているが、所定の数のワークを加工する毎に検査作業を行う構成としても良い。さらに、ステップ４２６，４３２のようにエラーメッセージを表示するのではなく、図７に示すように検査結果に基づいて、溶接条件を自動的に変更するようにしても良い。この場合は、変更した溶接条件は、次に加工するワークに反映されることになる。
【００５３】
以上述べた１〜２の実施例では、工具として溶接トーチを用いているが、工具は溶接トーチに限定されるものではない。例えば、シーリング加工を行うシーラガンでも良い。この場合の加工条件は、シーリング剤の射出量とロボットの移動速度等がある。また、１〜２の実施例では、センサとしてスキャニングセンサを用いているがＣＣＤカメラ等を用いても良い。
【００５４】
【発明の効果】
請求項１に記載された手段では、加工中に、加工線検出センサと加工終了部検出センサとの取り付け位置のオフセットを考慮することにより、記憶されている加工線検出センサのセンサデータの中から選択して、そのセンサデータと加工終了部検出センサのセンサデータとより加工の状態を判別して、加工条件を変化させるため、リアルタイムで適切な加工を行うことができる。即ち、加工線検出センサの出力と加工終了部検出センサの出力を比較することによって、加工前のワークの実際の形状を考慮したより正確な加工状態の判別ができるため、より精度の高い加工状態の判別ができる。従って、高品質な加工を行うことができる。しかもこの時加工線検出センサによって、教示された加工線と実際の加工線との誤差は補正されているため、的確に加工線の状態を検出できる。従って、加工品質を向上させることができるだけでなく、１台のロボットで加工と検査の両方を行うことができる。このため、加工後の検査を行う後工程が不要となるため、低コストと省スペースな装置を提供することができる。
【図面の簡単な説明】
【図１】本実施例の全体構成を示した図である。
【図２】本実施例の電気的構成を示した図である。
【図３】本実施例の検出センサの構成を示した図である。
【図４】本実施例の検出センサのセンサデータを説明するための図である。
【図５】第１実施例の全体的な動作過程を示したフローチャートである。
【図６】図５の続きを示したフローチャートである。
【図７】第１実施例の溶接条件を変更する過程を示したフローチャートである。
【図８】第２実施例の全体的な動作過程を示したフローチャートである。
【図９】図９の続きを示したフローチャートである。
【図１０】図１０の続きを示したフローチャートである。
【符号の説明】
１０ ロボット
１５ アーク溶接機
２０ 溶接線検出センサ
３１ ホストＣＰＵ
３２ 記憶装置
３６ ティーチングボックス
３８ センサＣＰＵ
４０ ビード検査センサ
Ｌ 溶接線
Ｍ１〜Ｍ６ サーボモータ
ＳＵ１〜ＳＵ６ サーボユニット
Ｔ トーチ
【図１】
0003596095.tif 000002
【図２】
0003596095.tif 000003
【図３】
0003596095.tif 000004
【図４】
0003596095.tif 000005
【図５】
0003596095.tif 000006
【図６】
0003596095.tif 000007
【図７】
0003596095.tif 000008
【図８】
0003596095.tif 000009
【図９】
0003596095.tif 000010
【図１０】
0003596095.tif 000011