[go: up one dir, main page]

JP2004160578A - Tracking control device - Google Patents

Tracking control device Download PDF

Info

Publication number
JP2004160578A
JP2004160578A JP2002327924A JP2002327924A JP2004160578A JP 2004160578 A JP2004160578 A JP 2004160578A JP 2002327924 A JP2002327924 A JP 2002327924A JP 2002327924 A JP2002327924 A JP 2002327924A JP 2004160578 A JP2004160578 A JP 2004160578A
Authority
JP
Japan
Prior art keywords
deviation
control device
robot
end effector
allowable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2002327924A
Other languages
Japanese (ja)
Inventor
Naoya Murota
直哉 室田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzuki Motor Corp
Original Assignee
Suzuki Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzuki Motor Corp filed Critical Suzuki Motor Corp
Priority to JP2002327924A priority Critical patent/JP2004160578A/en
Publication of JP2004160578A publication Critical patent/JP2004160578A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a tracking control device for adjusting the position of an end effector at high speed by reducing delay of operation for a correction value and correction control due to inertia resistance. <P>SOLUTION: A deviation between a teaching path and an actual path is intact used as a correction value to align the position of a welding gun 10 with the actual path, thereby eliminating the complicated processing for adjusting the position of the welding gun 10 to reduce the delay of correction control due to delay of processing (step b11, step b16). Only the welding gun 10 is driven by a driving part 29 to perform correction operation without correcting the whole of an industrial robot 3, whereby the position of the welding gun 10 is adjusted with the minimum inertia resistance, and the delay of correction control due to inertia resistance is reduced. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、教示経路に沿って駆動制御される産業用ロボットのアーム先端に取り付けられたエンドエフェクタの移動経路を実経路の状況に合わせて適正化するトラッキング制御装置の改良に関する。
【0002】
【従来の技術】
産業用ロボットのアーム先端に溶接ガンやハンドリングツール等のエンドエフェクタを装着して様々な作業を自動化するロボットシステムが公知である。
【0003】
この種のロボットシステムでは、ロボット制御装置に配備された教示操作盤等を利用して産業用ロボットのアーム先端をマニュアル操作で移動させながらエンドエフェクタを目標位置に位置決めしてロボット制御装置に移動経路上の要所要所の位置を記憶させる教示操作を行なうことによってロボットの駆動制御プログラムを作成し、この駆動制御プログラムをロボット制御装置により再生させることでロボットアーム先端のエンドエフェクタを所望する移動経路に沿って繰り返し移動させるのが一般的である。
【0004】
しかしながら、形状誤差を始めとするワークの個体差やセッティングの際の微妙な位置ズレあるいは姿勢の違い等により、教示操作を行なった時の環境と実際に再生動作を行なう時の環境との間に差異が生じる場合があるため、適切な教示動作を行なったとしても、必ずしもエンドエフェクタがワークとの相対関係において適切な運動を行なうとは限らない。
【0005】
このため、産業用ロボットの再生動作に際しては、駆動制御プログラムに従ってロボットアームを移動させながら教示経路と実経路との偏差を検出し、この偏差を解消するような補正制御を行なうのが普通である。
【0006】
この種の従来技術としては、例えば、特許文献1に開示されるように、実経路である溶接線の位置やギャップを計測して補正値を求め、この補正値に基いて溶接ロボットをフィードバック制御するようにした「溶接ロボットの制御方法」が提案されている。
【0007】
また、溶接線上の仮付け部をセンサが外乱として検出することによって生じる補正異常を防止するための「溶接ロボットの制御方法」としては、仮付け部の前後を特徴点として教示することで再生動作に反映させるものが特許文献2として開示されている。
【0008】
【特許文献1】
特開平7−80643号公報
【特許文献2】
特開平7−16748号公報
【0009】
【発明が解決しようとする課題】
しかし、特許文献1に開示されるような従来の補正制御では、溶接線の位置やギャップの計測および補正値の演算に際して複雑な演算処理を行う必要があり、また、産業用ロボット全体を動かしてロボットアーム先端のエンドエフェクタの位置を補正する必要上、サーボモータ等に作用する慣性抵抗が大きくなり、補正制御に応答の遅れが生じる場合があった。
また、ワーク上の傷や凹凸あるいは汚れ等をセンサが検知した場合には、誤ったデータに基いて演算処理が行なわれ、適切な補正制御が行なわれなくなるといった可能性もある。
【0010】
一方、特許文献2に開示されるような従来の補正制御を適用した場合には、溶接線上の仮付け部を外乱として検出することで生じる演算処理のミスを解消できる可能性があるが、同じ教示データを繰り返し使用してロボットに適切な再生動作を行なわせるためには、各ワーク毎の仮付け作業を同じ条件で適切に行なって仮付け部の教示点自体を全てのワークに共通化させる必要があり、仮付け作業の段取りが煩雑化する弊害がある。
【0011】
【発明の目的】
そこで、本発明の目的は、補正値の演算処理や慣性抵抗に起因する補正制御の遅れを軽減し、また、センサに対して外乱として作用する可能性のある仮付け部等が実経路上にあった場合でも、複雑な教示作業を行うことなくエンドエフェクタの移動経路を適正化することのできるトラッキング制御装置を提供することにある。
【0012】
【課題を解決するための手段】
図1は、本発明が前記目的を達成するために採用した手段の概略について示したブロック図であり、本発明は、
産業用ロボットの再生動作に際して教示経路と実経路との偏差を検出する相対偏差検出手段(A)と、
相対偏差検出手段(A)によって検出された偏差を補正値としてエンドエフェクタの位置を実経路に合わせて調整するエンドエフェクタ位置調整手段(B)と、
相対偏差検出手段(A)によって検出される偏差を所定周期毎にサンプリングするサンプリング手段(C)と、
サンプリング手段(C)によってサンプリングされた偏差と予め設定された許容偏差との大小関係を比較するサンプリング偏差判定手段(D)と、
サンプリング偏差判定手段(D)によって偏差が許容偏差の範囲内にあると判定された場合には、このサンプリング周期でサンプリングされた偏差を補正値とする一方、サンプリング偏差判定手段(D)によって偏差が許容偏差の範囲を越えたと判定された場合には、サンプリング手段(C)によってサンプリングされた偏差が許容偏差の範囲を越える直前のサンプリング周期でサンプリングされた偏差を補正値として保持する補正値更新手段(E)とを備えたことを特徴とする構成を有する。
【0013】
以上の構成により、産業用ロボットの再生動作における実経路と教示経路との間の偏差を相対偏差検出手段(A)が検出し、サンプリング手段(C)が当該偏差を所定周期毎にサンプリングする。また、サンプリング偏差判定手段(D)は、サンプリング手段(C)によってサンプリングされた偏差と予め設定された許容偏差との大小関係を比較する。
そして、この偏差が許容偏差の範囲内にあると判定された場合には、補正値更新手段(E)が、このサンプリング周期でサンプリングされた偏差を補正値として更新記憶する一方、当該サンプリング周期でサンプリングされた偏差が許容偏差の範囲を越えたと判定された場合には、補正値更新手段(E)は、許容偏差の範囲を越える直前のサンプリング周期でサンプリングされた偏差を補正値として保持する。
従って、実経路と教示経路との間の偏差が許容偏差の範囲内にある限りは相対偏差検出手段(A)で検出された偏差が其のまま補正値としてエンドエフェクタ位置調整手段(B)に渡され、また、実経路と教示経路との偏差が許容偏差の範囲を越えた場合には、許容偏差の範囲を越える直前のサンプリング周期でサンプリングされた偏差が補正値として補正値更新手段(E)からエンドエフェクタ位置調整手段(B)に渡されることになる。
これを受けたエンドエフェクタ位置調整手段(B)は、補正値更新手段(E)から渡された補正値に基いて、エンドエフェクタ(F)の位置を実経路に合わせて調整する。
この補正値は実経路と教示経路との間に生じている偏差であるから、ロボット制御装置(G)による再生動作を行なわせてロボット本体(H)のロボットアーム(I)を教示経路に沿って移動させつつ、同時に、エンドエフェクタ位置調整手段(B)によって当該偏差を解消する方向にエンドエフェクタ(F)の位置を調整すれば、エンドエフェクタ(F)を実経路に沿って移動させることができる。
このように、相対偏差検出手段(A)で検出された偏差を其のままエンドエフェクタ(F)の位置調整のための補正値として利用しているので、複雑な演算処理を行う必要がなく、演算処理の遅延に伴う補正制御の遅れが軽減される。
また、相対偏差検出手段(A)が実経路上の仮付け部のエッジやワークの傷または凹凸あるいは汚れ等を検出することにより、本来は存在しない筈の過大な偏差を出力した場合には、許容偏差の範囲を越える直前のサンプリング周期でサンプリングされた偏差、つまり、外乱が作用する前の正常な状態で検出された偏差が補正値として引き続き利用されるので、相対偏差検出手段(A)によって検出される外乱に惑わされることなく、エンドエフェクタ(F)の移動経路を適正化することができる。
一般に、実経路上の仮付け部やワークの傷または凹凸あるいは汚れ等は、広い範囲に亘って連続的に存在するものではないので、エンドエフェクタ(F)が仮付け部やワークの傷等を通過するまでの間、実質的な偏差の検出処理を中止し、外乱が作用する以前の正常な状態で検出された最後の偏差を補正値として継続的に利用しても、エンドエフェクタ(F)の移動経路が実経路から逸脱するような問題は発生しない。
従って、必ずしも、外乱となる可能性のある仮付け部等の位置を教示操作の段階でロボットの駆動制御プログラム中に定義しておく必要はなく、教示操作の簡便化が可能である。また、ワーク毎に仮付け部等の位置に相違があるような場合であっても、この相違を吸収してエンドエフェクタ(F)の移動経路を適正化することが可能であるので、仮付け作業の精密化のための段取りの煩雑化も不要である。
更に、エンドエフェクタ位置調整手段(B)はエンドエフェクタ(F)の位置のみを調整すればよいので、ロボットアーム(I)やロボット本体(H)を全体的に動作させることによってエンドエフェクタ(F)の位置を調整していた従来の技術とは違い、最小限度の慣性抵抗で素早くエンドエフェクタ(F)を移動させることができ、慣性抵抗に起因する補正制御の遅れも軽減される。
【0014】
ここで、サンプリング偏差判定手段(D)は、教示経路の補間形式に応じ、補間形式が直線補間である場合には予め設定された許容偏差のうち値の小さな許容偏差(Tr1)を選択する一方、補間形式が円弧補間である場合には値の大きな許容偏差(Tr2)を選択してサンプリング手段(C)でサンプリングされた偏差と許容偏差との大小関係を比較することが望ましい。
【0015】
ロボットアーム(I)の先端に対するエンドエフェクタ(F)の取り付け構造やロボットアーム(I)の先端に対する相対偏差検出手段(A)のセンサ部(a1)の取り付け構造によっては、例えば、図2に示されるように、センサ部(a1)とエンドエフェクタ(F)が移動方向に対して前後にオフセットされた状態で装着される場合がある。
通常、このような構成を採用する場合には、センサ部(a1)が教示経路上で常に進行方向前方に位置し、また、エンドエフェクタ(F)が常に進行方向後方に位置するようにロボットアーム(I)のリストの回転が適応制御されるが、例えば、図3に例示されるように直線と円弧との組み合わせによる教示経路に沿ってロボットアーム(I)の先端が移動するような場合においては、直線部での移動に際してはセンサ部(a1)とエンドエフェクタ(F)の移動経路が完全に一致するが、円弧部では、エンドエフェクタ(F)の移動経路自体が適切であっても、センサ部(a1)が移動経路から僅かに外側に逸脱する現象が生じる。この逸脱現象の発生原因は本質的には自動車における内輪差や外輪差の影響と同様である。
このような場合、補間形式が直線補間である場合と円弧補間である場合とで同じ許容偏差を適用して仮付け部のエッジやワークの傷等の外乱の有無をサンプリング偏差判定手段(D)で判定すると、適切な判定結果が得られなくなる恐れがある。つまり、直線補間部に適した許容偏差を適用して円弧補間部での異常判定を行なうと、エンドエフェクタ(F)が経路に沿って適切に移動しているにも関わらず外乱が作用していると判定される場合があり、また、これとは逆に、円弧補間部に適した許容偏差を適用して直線補間部での異常判定を行なうと、センサ部(a1)が外乱の影響を受けているにも関わらず外乱の存在が検出されないといった問題が生じる。
そこで、本発明では、教示経路の補間形式に応じ、補間形式が直線補間である場合には予め設定された許容偏差のうち値の小さな許容偏差(Tr1)を選択する一方、補間形式が円弧補間である場合には値の大きな許容偏差(Tr2)を選択してサンプリング偏差判定手段(D)による判定処理を行なうことで、このような問題の発生を未然に防止した。
【0016】
また、サンプリング偏差判定手段(D)は、教示経路の補間形式とは関わりなく、教示経路の各区間に応じ、予め前記各区間毎に設定された許容偏差を選択して、サンプリング手段(C)でサンプリングされた偏差と許容偏差との大小関係を比較するようにしてもよい。
【0017】
このような構成を適用した場合、溶接等の作業に必要とされる実質的なトラッキング精度に応じて教示経路の各区間毎に適正な許容偏差を適用できるので、高い精度が必要とされる部分の異常判定が雑になったり、あるいは、精度を要求されない部分の異常判定が必要以上にシビアになったりするといった問題が解消される。
無論、全ての区間に対して共通の許容偏差を設定することも可能であり、全体としてラフなトラッキング精度あるいはシビアなトラッキング精度に対処することも可能である。
【0018】
教示経路の各区間あるいは全体に対して個別または共通の許容偏差を設定する構成においては、更に、教示経路を基準として、教示経路に直交する2つの方向、つまり、ロボットアームの移動方向を基準とする左右の方向に対して、許容偏差を左右個別に設定するように構成することも可能である。
【0019】
前述したセンサ部(a1)とエンドエフェクタ(F)との間のオフセットの問題によるセンサ部(a1)の逸脱現象の他にも、例えば、ロボットアームの送り速度の違い、更には、移動経路上の円弧部分の緩急や産業用ロボット自体の構造上の特性の違いによって、センサ部(a1)が教示経路の外側や内側に偏って振られるといった現象が発生する場合がある。
本発明においては、教示経路に直交する2つの方向、つまり、ロボットアームの移動方向を基準とする左右の方向に対して、許容偏差を左右個別に設定することにより、ロボットアームの送り速度の違い、更には、移動経路上の円弧部分の緩急や産業用ロボット自体の構造上の特性を考慮し、常に最適の許容偏差に基く異常判定を実現した。
【0020】
前記各構成に加え、更に、サンプリングされた偏差が許容偏差の範囲を越えている間のサンプリング回数を数える計数手段(J)と、計数手段(J)による計数値が予め設定された異常検出許容回数を越えた段階で異常検出信号を出力する異常検出手段(K)とを併設することができる。
【0021】
前述したように、実経路上の仮付け部やワークの傷等は必ずしも広い範囲に亘って連続的に存在するものではないが、ワーク形状や仮付けの状態に極端な異常がある場合、または、ワークのクランプミス等によってワークの位置や姿勢に大幅なズレが生じているような場合もある。このような状況下において補正値更新手段(E)に保持された補正値を其のまま適用して溶接等の作業を継続すると、エンドエフェクタ(F)が実経路から完全に逸脱し、エンドエフェクタ(F)とワークとの相対位置関係が無視された状態で、単に、エンドエフェクタ(F)が教示経路に沿って移動するといった障害が発生する恐れがある。
そこで、本発明においては、サンプリング手段(C)によってサンプリングされた偏差が許容偏差の範囲を越えている間のサンプリング回数を数え、この計数値が予め設定された異常検出許容回数を越えた段階で、ワーク形状や仮付けの異常あるいはワークの位置や姿勢に大きな異常があるものと判定して、異常検出手段(K)から異常検出信号(M)を出力するようにした。
【0022】
更に、この異常検出手段(K)に、異常の種別に応じた複数の異常検出許容回数を記憶する許容回数記憶手段(L)を設け、計数手段(J)による計数値に応じた異常検出信号(M)を出力するように構成することも可能である。
【0023】
例えば、計数手段(J)による計数値が所定の異常検出許容回数以下である場合には、実経路上の仮付け部のエッジやワークの傷または凹凸あるいは汚れ等の検出を始めとする警戒状態の発生を意味する異常検出信号(m1)を出力し、トラッキング制御装置あるいはロボット制御装置(G)に併設されたモニタ等に其の旨を表示してオペレータの注意を喚起するといったことが可能である。
【0024】
また、計数値に応じた異常検出信号(M)のうちの一つは、ロボット制御装置(G)に対する停止指令(m2)によって構成することが望ましい。
【0025】
この停止指令(m2)は値の大きな異常検出許容回数に対応して設定された異常検出信号であり、例えば、ワーク形状や仮付けの状態に極端な異常がある場合、または、ワークのクランプミス等によってワークの位置や姿勢に大幅なズレが生じているような場合に出力される異常検出信号である。
この異常検出信号(m2)の出力に基いてロボット制御装置(G)によるロボットの駆動制御を強制停止させることにより、溶接ガン等をエンドエフェクタ(F)として使用するような場合の加工異常の発生やワークの損傷を防止することができる。
【0026】
また、エンドエフェクタ位置調整手段(B)の制御部(b2)には、補正値更新手段(E)が保持する補正値にオフセット量を加えてエンドエフェクタ(F)の位置を調整するオフセット調整機能(N)を配備することができる。
【0027】
溶接ガンをエンドエフェクタ(F)として使用する溶接作業の場合、溶接方式の相違等に応じて実経路である溶接線に対するエンドエフェクタ(F)の相対位置を調整する必要が生じる場合がある。例えば、図4に例示されるように、ワークを突き合せて行なわれる突き合せ溶接の場合にはワークの突き合せ部分の溶接線(実経路)に沿ってエンドエフェクタ(F)を移動させる必要があるが、図5に例示される重ね隅肉溶接においては、エンドエフェクタ(F)を溶接線(実経路)から所定量オフセットして移動させる必要がある。
補正値更新手段(E)が保持する補正値にオフセット量を加えてエンドエフェクタ(F)の位置を調整することにより、ロボット制御装置(G)側の駆動制御プログラム(教示データ)に格別な変更を加えることなく、オフセットを必要とする重ね隅肉溶接等の様々な溶接作業に対処することができるようになる。
【0028】
前記各構成において、エンドエフェクタ位置調整手段(B)における駆動部(b1)と相対偏差検出手段(A)におけるセンサ部(a1)は、ロボットアーム(I)の先端とエンドエフェクタ(F)とを接続するアタッチメント(Q)の部分に設けることができる。
【0029】
エンドエフェクタ(F)を移動させるための駆動部(b1)と偏差を検出するためのセンサ部(a1)とをアタッチメント(Q)に設け、このアタッチメント(Q)を産業用ロボットに取り付けるようにすれば、従来型の産業用ロボットにハードウェア上の改変を何ら施すことなく本発明を適用することが可能である。無論、これらの構成要素を産業用ロボットの本体に組み込んでもよい。
【0030】
更に、エンドエフェクタ位置調整手段(B)における制御部(b2)と相対偏差検出手段(A)における制御部(a2)とサンプリング手段(C)とサンプリング偏差判定手段(D)と補正値更新手段(E)は、ロボット制御装置(G)と独立してトラッキング制御装置の筐体(R)に配備することができる。
【0031】
エンドエフェクタ(F)の位置を調整するために必要とされる制御上の構成要素の全てをトラッキング制御装置の筐体(R)に配備することで、ロボット制御装置(G)にハードウェアやソフトウェア上の改変を施すことなく本発明を適用することができる。これらの構成要素をロボット制御装置側に組み込むことも可能である。
【0032】
エンドエフェクタ(F)の位置を調整するために必要とされる制御上の構成要素の全てをトラッキング制御装置の筐体(R)に配備した場合には、更に、ロボット制御装置(G)とトラッキング制御装置の筐体(R)とをデータ通信可能に接続し、ロボット制御装置(G)からトラッキング制御装置の側には少なくとも教示経路の補間形式と教示経路の区間に関する情報が転送されるようにし、また、トラッキング制御装置からロボット制御装置(G)の側には、少なくとも、停止指令(m2)によって構成される異常検出信号が転送されるように構成することが望ましい。
【0033】
このような構成を適用すれば、トラッキング制御装置がロボット制御装置(G)と独立して配備されている場合であっても、ロボット制御装置(G)によって実行されている補間形式をサンプリング偏差判定手段(D)がリアルタイムで認識することができるので、補間形式や教示経路の区間に適した異常判定処理が可能となる。また、許容できない異常、例えば、クランプの異常等が検出された場合には、トラッキング制御装置からの停止指令(m2)によってロボット制御装置(G)によるロボットの駆動制御を強制停止させることができる。
【0034】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態について詳細に説明する。図6は、本発明を適用した一実施形態のトラッキング制御装置1の構成の概略について示した機能ブロック図であり、併せて、ロボット制御装置2の構成の概略と産業用ロボット3の構成の概略についても示している。
【0035】
この実施形態で採用した産業用ロボット3は公知の多関節型産業ロボットであり、水平面に設置されたベースプレート4に対してロボット本体5をスイベルさせるための旋回軸と、ベースプレート4に対して第一アーム6を揺動させるための第一揺動軸と、第一アーム6に対して第二アーム7を揺動させるための第二揺動軸と、第二アーム7に対して第三アーム8を揺動させるための第三揺動軸と、第三アーム8の先端に設けられたリスト9を回転させるための回転軸とを備える。
【0036】
この産業用ロボット3の構造は飽くまでも一例であり、アーム先端に位置するリスト9に対して直交3軸方向の移動の自由度が与えられ、かつ、リスト9の回転が保証される限りにおいて、其の構成は問わない。当然、リスト9の傾斜制御が可能なものでもよい。
【0037】
エンドエフェクタとしての溶接ガン10は、アタッチメント11を介してアーム先端のリスト9に取り付けられるようになっている。
【0038】
ロボット制御装置2は、演算処理用のCPU12と、CPU12の制御プログラムを格納したROM13、および、演算データの一時記憶等に利用されるRAM14と、ユーザが作成したロボットの駆動制御プログラム等を保存するハードディスク等の不揮発性メモリ15、ならびに、プログラム編集等に使用されるモニタ付手動データ入力装置16と、教示作業用の教示操作盤17、更には、軸制御回路18と入出力インターフェイス19等を備えた通常のロボット制御装置である。
【0039】
ここで、産業用ロボット3とロボット制御装置2ならびに溶接ガン10を用いて自動溶接作業を行なう場合の教示操作と再生動作について簡単に説明する。
【0040】
教示操作に際しては、まず、産業用ロボット3の近傍に設置したワーク置台に溶接対象となるワークを図4のように突き合わせて、あるいは、図5のように重ね合わせて設置する。必要とあれば、この段階でワーク同士をクランプしたり、あるいは、部分的な溶接によって仮付けを行なう場合もある。
【0041】
次いで、オペレータが教示操作盤17を操作して産業用ロボット3をマニュアル操作で駆動することにより、ロボットアーム先端の溶接ガン10をアタッチメント11上の基準位置(ホームポジション)に固定した状態で溶接線に沿って移動させ、その要所要所で教示操作盤17の教示ボタンを操作し、例えば、図3に示されるようにして、ロボットアーム先端の溶接ガン10が経由すべき通過点(以下、教示点という)を不揮発性メモリ15に記憶させる。
【0042】
なお、ここでいう溶接線とは、図4のような突き合せ溶接の場合にはワークの突き合せ部分に形成される線、また、図5のような重ね隅肉溶接の場合には、上側に位置するワークの輪郭線である。
【0043】
次いで、オペレータは、教示点のデータを自動プログラミング装置にかけるか、あるいは、ロボット制御装置2の自動プログラミング機能を利用してプログラミング言語に変換し、例えば、APT文等からなる駆動制御プログラムを生成して、この駆動制御プログラムを不揮発性メモリ15にユーザプログラムとして保存する。変換作業の過程で、教示点から教示点までの各区間の送り速度を指定したり、直線補間や円弧補間の形式を指定することが可能である。
【0044】
図3の教示経路に対応した駆動制御プログラムの一例を図式化して図7に概念的に示す。図3および図7の例では、教示点P0が溶接作業時におけるロボットアーム先端の退避位置、つまり、アプローチポイントであって、溶接線上の実質的な教示点は、P1(加工開始点)〜Pn1(加工終了点)までのn1個である。
【0045】
図7の例では、アプローチポイントであるロボット座標系上の位置(Xp0,Yp0,Zp0)の教示点P0からロボット座標系上の位置(Xp1,Yp1,Zp1)の加工開始点P1までの移動には、送り速度F0の直線補間が用いられている。また、ステイタスの欄は本実施形態に固有のもので、その区間中におけるクランプの有無と仮付けの有無、あるいは、この区間の許容偏差として教示区間に固有の許容偏差(以下、ブロック間指定の許容偏差という)を優先的に利用するか否かを示す値が記憶されるようになっている。但し、この欄は必須の要件ではない。
【0046】
産業用ロボット3の再生動作は、ロボット制御装置2が前述の駆動制御プログラムを実行して教示経路に沿ってアーム先端を移動させることにより実現される。
【0047】
具体的には、ロボット制御装置2のCPU12が不揮発性メモリ15の駆動制御プログラムの先頭から順に1ブロックずつ移動指令を読み込み、この1ブロックで指定されている目標位置に向けて、指定された移動速度と補間形式でアーム先端が移動するように、軸制御回路18を介して産業用ロボット3の各軸のサーボモータにパルス分配処理を実行し、アーム先端が目標位置のインポジション幅内に入った段階で次の1ブロック分の移動指令に関する処理を開始することで、円滑なアームの移動が実現される。
【0048】
ここでいう1ブロック分の移動指令とは、図7に示されるような横並びのコマンドの集合のことである。例えば、図7の例では、最初に読み込まれる移動指令は加工開始点P1に関するもので、補間形式は直線補間、また、送り速度はF0であり、目標位置はロボット座標系上の位置(Xp1,Yp1,Zp1)ということになる。加工開始時の初期位置はロボット座標系上の位置(Xp0,Yp0,Zp0)のアプローチポイントP0であるから、最初の1ブロックの移動指令により、ロボットアームの先端はP0(Xp0,Yp0,Zp0)の位置からP1(Xp1,Yp1,Zp1)の位置まで図3の例のように送り速度F0で直線補間の形式で移動することになる。
【0049】
その後、前記と同様にして次々と1ブロック分の移動指令が読み込まれてパルス分配処理が実行され、アプローチポイントP0に戻る最終ブロックのパルス分配処理が完了した時点で、1サイクルの再生処理が完了する。
【0050】
次に、本実施形態に固有の構成要素であるトラッキング制御装置1の構成について詳細に説明する。
【0051】
このトラッキング制御装置1は、ロボットアーム先端と溶接ガン10とを接続するアタッチメント11上に配備されてエンドエフェクタ位置調整手段の一部を構成する駆動部28と、アタッチメント11上に配備されて相対偏差検出手段の一部を構成するセンサ部29、および、ロボット制御装置2と独立して配備された筐体27によって構成され、筐体27の内部には、エンドエフェクタとしての溶接ガン10の位置を調整するために必要とされる制御上の構成要素が実装されている。
【0052】
このうち、センサ部29は、産業用ロボットの再生動作の際に、レーザスリット光による三角測量等の公知の手法を用いて、教示操作で与えられた溶接ガン10の先端位置と実際の溶接線との間で移動経路に直行する方向に生じている偏差(以下、単に偏差という)を検出するためのものである。
【0053】
但し、ワークのクランプや仮付けおよびワーク置台に対するワークのセッティング状態の相違等により、教示操作の時と再生動作の時で実際の溶接線の位置や姿勢、更に、ワークの形状異常等によっては溶接線の形状自体にも変化が生じる場合があり、ここでいう溶接線とは、再生動作の時点における溶接線、つまり、実経路のことである。
【0054】
エンドエフェクタ位置調整手段の一部である駆動部28は、サーボモータやラック&ピニオン等を用いて構成され、アタッチメント11の下方に装着された溶接ガン10をアタッチメント11上のホームポジション(教示動作の際の固定位置)を基準として、ワークの溶接部に対して略平行な平面内で一軸方向に移動させるようになっている。
既に述べた通り、アタッチメント11を取り付けるリスト9は、センサ部29が経路上で常に進行方向前方に位置し、また、エンドエフェクタとして機能する溶接ガン10が常に進行方向後方に位置するようにロボット制御装置2によって回転位置が適応制御されるようになっているので、駆動部28によって送りを掛けられる溶接ガン10の移動方向はアームの移動経路に対して一義的に決定される。駆動部28によって送りを掛けられる溶接ガン10の移動方向は、図3に例示する通り、アームの移動経路に対して直交する2つの方向、つまり、アームの移動方向を基準とする左と右の方向である。
【0055】
なお、前述した偏差は、飽くまでも、教示操作で与えられた溶接ガン10の先端位置、つまり、アタッチメント11上のホームポジションに溶接ガン10を位置させたときの溶接ガン10の先端位置と実際の溶接線との間で移動経路に直行する方向に生じる偏差(アブソリュート量)であって、駆動部28によって送りを掛けられて位置を補正された状態にある溶接ガン10の先端位置と溶接線との間の偏差(インクリメンタル量)を意味するものではない。
【0056】
トラッキング制御装置1の主要部を構成する筐体27の内部には、演算処理用のCPU20と、CPU20の制御プログラムを格納したROM21、および、演算データの一時記憶等に利用されるRAM22と、異常判定に関わる許容偏差Tr1,Tr2や重ね隅肉溶接の際のオフセット量および異常の種別に応じた複数の異常検出許容回数X1,X2,X3等を記憶する不揮発性メモリ23、ならびに、これらの設定データの入力等に使用されるモニタ付手動データ入力装置24と、入出力回路25ならびに入出力インターフェイス26等が実装されている。
【0057】
不揮発性メモリ23は、異常の種別に応じた複数の異常検出許容回数X1,X2,X3を記憶するものであるから事実上の許容回数記憶手段である。
【0058】
また、不揮発性メモリ23には、各教示区間に固有の許容偏差、即ち、ブロック間指定の許容偏差を記憶するためのブロック間偏差記憶テーブルが設けられており、このブロック間偏差記憶テーブルに、教示経路の各区間に応じた許容偏差が、教示経路に直交する2つの方向、つまり、ロボットアームの移動方向を基準とする左と右の方向に対し個別に設定されるようになっている。但し、各教示区間に固有の許容偏差とはいっても各教示区間の許容偏差として同一の値を用いることを妨げるものではない。
【0059】
ブロック間偏差記憶テーブルの一例を図8に示す。ブロック間偏差記憶テーブルは、図8に示される通り、教示点のデータに基いて生成された駆動制御プログラムの1ブロック毎、つまり、教示経路の各区間毎に、ロボットアームの移動方向の左と右に対して個別に設定されるようになっている。図8の例では、第i−2番目のブロックに対するブロック間指定の許容偏差はプラス(右)方向にTxi−2 、また、マイナス(左)方向にTxi−2 である。但し、この例では、教示経路の内側、つまり、図5に例示されるような重ね隅肉溶接においてワークが重合している方向への許容偏差をプラスの方向、また、これとは逆に、ワークが重合していない方向への許容偏差をマイナスの方向と規定している。
【0060】
各ブロック間指定の許容偏差の値は、図8の例に示されるようにブロック間偏差記憶テーブルに直接的に数値を指定して設定してもよいし、また、大,中,小等の各種許容偏差の値を予めROM21に固定的に記憶させておき、ブロック間偏差記憶テーブルに大,中,小等の種別を指定することでROM21内の各種許容偏差の数値を引用して各ブロック毎の許容偏差を指定するようにしてもよい。
【0061】
アタッチメント11上でエンドエフェクタ位置調整手段の一部を構成する駆動部28は、エンドエフェクタ位置調整手段の制御部として機能するCPU20からの指令により入出力回路25を介して駆動制御され、また、アタッチメント11上で相対偏差検出手段の一部を構成するセンサ部29によって検出された偏差の値は、入出力回路25を介して、相対偏差検出手段の制御部として機能するCPU20に読み込まれる。
【0062】
また、筐体27とロボット制御装置2は、筐体27側の入出力インターフェイス26と通信線30およびロボット制御装置2側の入出力インターフェイス19を介してデータ通信可能に接続され、ロボット制御装置2から筐体27の側には教示経路の補間形式や教示経路の区間に関する情報等が転送される一方、筐体27からロボット制御装置2の側には、警戒状態の発生を意味する異常検出信号や停止指令によって構成される異常検出信号等が転送されるようになっている。
【0063】
相対偏差検出手段の制御部,エンドエフェクタ位置調整手段の制御部,エンドエフェクタ位置調整手段におけるオフセット調整機能,サンプリング手段,サンプリング偏差判定手段,計数手段,補正値更新手段および異常検出手段となる実質的な機能実現手段は、筐体27のCPU20と其の制御プログラムを格納したROM21によって構成される。
【0064】
次に、ロボット制御装置2のCPU12による再生処理の概略を示した図9のフローチャートと、トラッキング制御装置の筐体27に配備されたCPU20によって実行されるトラッキング制御について示した図10〜図12のフローチャートを参照して、前記各手段としてのCPU20が実施するトラッキング制御について詳細に説明する。
【0065】
まず、図9を参照して、ロボットに教示した動作の再生に必要とされるロボット制御装置2側のCPU12の処理について簡単に説明する。
【0066】
教示データに基く再生処理を開始したロボット制御装置2のCPU12は、まず、プログラムカウンタiの値を0に初期化し(ステップa1)、カウンタiの値を1インクリメントした後(ステップa2)、該指標iの値に基いて不揮発性メモリ15内の駆動制御プログラム(図7参照)から1ブロック分の移動指令を読み込み(ステップa3)、この移動指令のステイタスの欄に、ブロック間指定の許容偏差を優先的に利用する旨の設定がされているか否かを判定する(ステップa4)。
【0067】
ここで、ブロック間指定の許容偏差を利用する旨の設定がされていれば、CPU12は、ブロック間指定記憶レジスタf0に1をセットし、ステップa5〜ステップa13までの処理をスキップする(ステップa14)。
【0068】
また、ブロック間指定の許容偏差を利用する旨の設定がされていない場合には、ブロック間指定記憶レジスタf0に0をセットした後(ステップa5)、更に、この移動指令が直線補間であるのか円弧補間であるのかを判定する(ステップa6)。
【0069】
そして、直線補間である場合には、CPU12は、補間形式記憶レジスタf1に0をセットする一方(ステップa7)、円弧補間である場合には、補間形式記憶レジスタf1に1をセットする(ステップa8)。
【0070】
次いで、CPU12は、この移動指令のステイタスの欄にクランプあるいは仮付けが設定されているか否かを判定し(ステップa9,ステップa10)、クランプが設定されている場合にはステイタス記憶レジスタf2に1をセットする一方(ステップa11)、仮付けが設定されている場合には、ステイタス記憶レジスタf2に2をセットする(ステップa12)。また、いずれの設定も検出されなければ、ステイタス記憶レジスタf2に0をセットする(ステップa13)。
【0071】
次いで、CPU12は当該1ブロックの移動指令に基く所定周期毎のパルス分配処理を開始し、指令された送り速度と補間形式を適用してロボットアームに対して教示経路に沿った送りを掛け(ステップa15)、パルス分配処理の1処理周期毎にトラッキング制御装置の筐体27からの停止指令の入力の有無を確認し(ステップa16)、この判定処理で停止指令が検出されなければ、CPU12は、更に、産業用ロボット3に標準装備された各軸の現在位置記憶レジスタの値を読み込み、ロボットアーム先端が当該移動指令の目標位置のインポジション幅内に到達しているか否かを判定する(ステップa17)。そして、ロボットアーム先端が当該移動指令の目標位置のインポジション幅内に到達していなければ、CPU12は、前記と同様にしてステップa15〜ステップa17の処理を繰り返し実行し、当該1ブロックの移動指令に基くパルス分配処理を所定周期毎に繰り返し実行する。
【0072】
例えば、図7に示されるプログラム例では、まず、プログラムカウンタiの現在値1に基いて加工開始点P1までの移動指令が読み込まれ、送り速度F0の直線補間によってアプローチポイント(Xp0,Yp0,Zp0)の初期位置から加工開始点(Xp1,Yp1,Zp1)を目標位置としたパルス分配処理が行なわれることになる。当然、ブロック間指定記憶レジスタf0の値は0で、補間形式記憶レジスタf1の値は0(直線補間)、また、ステイタス記憶レジスタf2の値は0(クランプおよび仮付けなし)に設定されることになる。
【0073】
これらのブロック間指定記憶レジスタf0と補間形式記憶レジスタf1およびステイタス記憶レジスタf2は、ロボット制御装置2のCPU12とトラッキング制御装置1のCPU20に対して共有RAMとして機能するロボット制御装置2側のRAM14に内蔵されたレジスタであり、CPU12およびCPU20の何れの側からでも各レジスタf0,f1,f2にアクセスして内容を確認することが可能である。教示経路の区間に関する情報に相当するプログラムカウンタiの現在値も、RAM14に更新して記憶されるようになっている。
【0074】
そして、ステップa15〜ステップa17の処理を繰り返し実行する間に、1ブロック分のパルス分配処理が完了してロボットアーム先端が目標位置のインポジション幅内に到達すると、ロボット制御装置2のCPU12は、プログラムカウンタiの現在値が1であるか否か、つまり、今回実行した1ブロック分の移動指令がアプローチポイントP0から加工開始点P1に向かうものであったか否かを判定する(ステップa18)。
【0075】
ここでプログラムカウンタiの現在値が1である場合には、アプローチポイントP0から加工開始点P1に向かう1ブロック分の移動指令が完了したことを意味するので、CPU12は、エンドエフェクタとしての溶接ガン10に溶接開始指令を出力して溶接ガン10の作動を開始させる(ステップa20)。
【0076】
次いで、ロボット制御装置2のCPU12は、プログラムカウンタiの現在値が駆動制御プログラムの最終ブロックを示す値n1に達しているかを判定するが(ステップa19)、プログラムカウンタiの現在値がn1に達していなければ、溶接作業を行うべき教示経路(溶接線)が未だ残っていることを意味するので、CPU12は、プログラムカウンタiの値を1インクリメントし(ステップa2)、次の1ブロック分の移動指令を読み込んで(ステップa3)、当該1ブロックに対するブロック間指定の許容偏差の適用の有無やクランプまたは仮付けの有無、更には、直線補間や円弧補間の種別に従って各レジスタf0,f1,f2の値をセットした後(ステップa4〜ステップa14)、当該1ブロック分の移動指令に対して前記と同様のパルス分配処理を繰り返し実行する。
【0077】
このようにしてプログラムカウンタiの値が次々とインクリメントされ、各ブロックの移動指令に基くパルス分配処理が繰り返し実行される結果、例えば、図3に示される加工開始点P1〜加工終了点Pn1の区間で教示経路に沿ってロボットアームの先端が移動され、当該区間内での溶接作業が行なわれることになる。
【0078】
この間、新たに次の1ブロックが読み込まれる度に、ブロック間指定記憶レジスタf0、あるいは、補間形式記憶レジスタf1の値とステイタス記憶レジスタf2の値が逐次更新される。
【0079】
そして、最終的に、プログラムカウンタiの現在値がn1に達し、教示点Pn1−1から加工終了点Pn1に向かう移動が完了したことがステップa19の判定処理で確認されると、ロボット制御装置2のCPU12は、溶接ガン10に溶接終了指令を出力して溶接ガン10の作動を停止させる(ステップa21)。
【0080】
また、所定周期毎のパルス分配処理の実行中にステップa16の処理においてトラッキング制御装置1からの停止指令の入力が確認された場合には、ロボットアームの送りに必要とされるパルス分配処理は其の時点で停止され、前記と同様、溶接ガン10に溶接終了指令が出力されることになる。
【0081】
次いで、CPU12は、プログラムカウンタiの値を0に初期化し(ステップa22)、改めてアプローチポイントP0に関わる1ブロック分の移動指令を読み込み(ステップa23)、前記と同様にして所定周期毎のパルス分配処理を繰り返し実行してロボットアームを移動させ、ロボットアーム先端を加工終了点Pn1からアプローチポイントP0に退避させ(ステップa24,ステップa25)、ロボットの再生動作に関わる一連の駆動制御プログラムを完了し、新たなプログラム実行指令の入力を待つ待機状態に入る。
【0082】
ここで、溶接の完了したワークをワーク置台から取り外し、溶接対象となる次のワークをセッティングして改めてロボット制御装置2にプログラム実行指令を入力すれば、前記と同様の処理動作が繰り返し実行されることになる。
【0083】
以上に述べた通り、再生動作に必要とされるロボット制御装置2側の処理に関しては、ブロック間指定の許容偏差を優先的に利用する旨の設定がされているか否かに応じてブロック間指定記憶レジスタf0に0または1をセットする点、ブロック間指定の許容偏差を利用する旨の設定がない場合に限り、1ブロックの移動指令の補間形式とクランプおよび仮付けの有無をレジスタf1,f2に更新して記憶する点、および、トラッキング制御装置1の筐体27からの停止指令の入力が確認された場合にパルス分配処理を即時停止してロボットアームを初期位置に退避させる点を除き、従来のロボット制御装置と全く同様である。
【0084】
次に、ロボット制御装置2と協調して独立的に動作するトラッキング制御装置側のCPU20が所定周期毎に繰り返し実行するトラッキング制御について図10〜図12を参照して説明すると共に、CPU20が如何にして相対偏差検出手段の制御部,エンドエフェクタ位置調整手段の制御部,エンドエフェクタ位置調整手段におけるオフセット調整機能,サンプリング手段,サンプリング偏差判定手段,計数手段,補正値更新手段および異常検出手段として機能するかを詳細に示す。
【0085】
トラッキング制御を開始したCPU20は、まず、共有RAMとして機能するロボット制御装置2のRAM14に入出力インターフェイス26と通信線30および入出力インターフェイス19を介してアクセスし、プログラムカウンタiの現在値を読み込み(ステップb1)、この値が1を上回っているか否かを判定する(ステップb2)。
【0086】
ここで、プログラムカウンタiの現在値が1を上回っていない場合、つまり、プログラムカウンタiの現在値が1であってロボットアームがアプローチポイントP0から加工開始点P1へ向かって移動している場合と、プログラムカウンタiの現在値が0であってロボットアームが加工終了点Pn1からアプローチポイントP0へ向かって移動している場合、あるいは、ロボットアームがアプローチポイントP0に待機している場合には、ステップb3以降の実質的なトラッキング制御は非実行とされ、当該処理周期におけるトラッキング制御はこのまま終了する。つまり、トラッキング制御は不要であり、実行されない。
【0087】
一方、プログラムカウンタiの現在値が1を上回っていて、溶接ガン10が作動した状態でロボットアームが加工開始点P1から加工終了点Pn1の何れかの区間で移動している場合には、ステップb3以降のトラッキング制御が継続して実行されることになる。
【0088】
この場合、CPU20は、前記と同様にしてロボット制御装置2のRAM14にアクセスしてブロック間指定記憶レジスタf0の現在値を読み込み(ステップb3)、まず、レジスタf0の現在値が0であるのか1であるのか、つまり、現時点で補間処理を実行しているブロック、つまり、第i番目のブロックに対してブロック間指定の許容偏差を適用する必要があるか否かを判定する(ステップb4)。
【0089】
ここで、ステップb4の判定結果が真となって、このブロックに対してブロック間指定の許容偏差を適用する必要がないと判定された場合には、CPU20は、更に、ロボット制御装置2のRAM14にアクセスして補間形式記憶レジスタf1の現在値を読み込み(ステップb5)、レジスタf1の現在値が0であるのか1であるのか、つまり、ロボット制御装置2の側で直線補間が実行されているのか円弧補間が実行されているのかを判定する(ステップb6)。
【0090】
そして、レジスタf1の現在値が0であって直線補間が行なわれている場合には、サンプリング偏差判定手段の一部として機能するCPU20が、不揮発性メモリ23に予め記憶されているユーザ設定の許容偏差のうち直線補間に対応して設定された値の小さな許容偏差Tr1を選択して読み込み、この値を許容偏差記憶レジスタTrにセットする一方(ステップb7)、レジスタf1の現在値が1であって円弧補間が行なわれている場合には、不揮発性メモリ23に予め記憶されているユーザ設定の許容偏差のうち円弧補間に対応して設定された値の大きな許容偏差Tr2を選択して読み込み、この値を許容偏差記憶レジスタTrにセットする(ステップb8)。
【0091】
次いで、相対偏差検出手段の制御部およびサンプリング手段として機能するCPU20は、産業用ロボット3側のアタッチメント11に配備されて相対偏差検出手段の一部を構成するセンサ部29からの出力を入出力回路25を介して読み込み、教示操作で与えられた溶接ガン10の先端位置と実際の溶接線との間で移動経路に直行する方向に生じている偏差を求め(ステップb9)、サンプリング偏差判定手段としてのCPU20が、この偏差と許容偏差Trとの大小関係を比較する(ステップb10)。
【0092】
ここで、教示経路と実経路との間の偏差が許容偏差Trの範囲内にあると判定された場合には、教示経路と実経路とが概ね一致しており、仮に、アーム先端位置(教示経路)と溶接線(実経路)との間に多少のズレがあったとしても、エンドエフェクタ位置調整手段の一部を構成する駆動部28によって溶接ガン10の位置を教示経路と直行する方向に調整することで溶接ガン10の先端を溶接線上に容易に位置決めできることを意味する。
【0093】
この場合、補正値更新手段として機能するCPU20は、当該処理周期のステップb9の処理で求められた偏差を補正値として更新記憶することで補正値の値を最適化する(ステップb11)。次いで、CPU20は、トラッキング動作における異常の有無を記憶する動作状態記憶フラグf3に異常なしを示す値0をセットし(ステップb12)、この時点で既に何等かの異常検出信号の出力が行なわれている場合には(ステップb13)、其の信号の出力を停止して、異常が回復されたことを記憶する(ステップb14)。
【0094】
次いで、エンドエフェクタ位置調整手段の制御部におけるオフセット調整機能実現手段として機能するCPU20が、不揮発性メモリ23からユーザ設定のオフセット量を読み込む(ステップb15)。通常、図4に例示されるような突き合せ溶接の場合ではオフセット量の設定値は0、また、図5に例示されるような重ね隅肉溶接の場合では、プラス方向つまりワークが重合している右の方向に数ミリ程度の値がオフセット量として設定されている。
【0095】
次いで、エンドエフェクタ位置調整手段の制御部およびオフセット調整機能実現手段として機能するCPU20は、ステップb11の処理で更新された補正値の値にオフセット量を加算し、この加算値に応じて入出力回路25を介してエンドエフェクタ位置調整手段の一部を構成する駆動部28に駆動指令を出力し、ロボットアームの位置および姿勢を保持したまま溶接ガン10のみを教示経路に直行する方向に移動させて、溶接ガン10の先端位置を実経路、つまり、突き合せ溶接の場合には溶接線上に、また、重ね隅肉溶接の場合には溶接線から数ミリ内側の溶接対象位置に合わせる(ステップb16)。
【0096】
但し、駆動部28に与えられる移動指令は、アタッチメント11上の基準位置(ホームポジション)からのアブソリュートな移動距離である。
【0097】
ここで、仮に、突き合せ溶接の場合においてアーム先端位置(教示経路)と実経路(溶接線)とが完全に一致している状況下では、補正値の値は0となるから、溶接ガン10はアタッチメント11上のホームポジションに位置決めされ、この溶接ガン10の先端が実経路(溶接線)上に位置決めされることになる。また、仮に、突き合せ溶接の場合においてアーム先端位置(教示経路)を基準として実経路(溶接線)が1ミリだけプラス方向(右方向)にズレているとすれば、補正値の値は+1ミリ(右に1ミリ)となるので、溶接ガン10はホームポジションから+1ミリ(右に1ミリ)だけ移動されて、この溶接ガン10の先端が実経路(溶接線)上に位置決めされることになる。重ね隅肉溶接の場合には補正値にオフセット量が加算されることになるが、位置補正の作用原理に関しては突き合せ溶接の場合と同様である。
【0098】
一方、当該処理周期のステップb10の判定結果が偽となった場合、つまり、教示経路と実経路との間の偏差が許容偏差Trの範囲を越えていると判定された場合には、溶接ガン10が位置調整された状態で実経路に沿って適切に移動しているにも関わらずセンサ部29がワーク上の傷や凹凸あるいは汚れ等の外乱を拾って偏差の値が増大している可能性や、溶接ガン10が位置調整された状態で実経路に沿って適切に移動しているにも関わらずセンサ部29がワークの仮付け部やクランプ部の輪郭を拾って偏差の値が増大している可能性、あるいは、ワークの形状異常やワーク置台に対するワークのセッティングミス等によって教示経路が実経路に対して全く適合しなくなってしまっている可能性等が考えられる。
【0099】
このような場合、計数手段の一部として機能するCPU20は、まず、動作状態記憶フラグf3に0がセットされているのか1がセットされているのか、つまり、当該処理周期以前のトラッキング制御処理で教示経路と実経路との間の偏差が許容偏差Trの範囲を越えた履歴があるか否かを判定する(ステップb17)。
【0100】
ステップb17の判定結果が真となった場合には当該処理周期以前のトラッキング制御処理で教示経路と実経路との間の偏差が許容偏差Trの範囲を越えた履歴がないことを意味するので、CPU20は、動作状態記憶フラグf3に1をセットして最初の異常の発生を記憶し(ステップb18)、計数手段として機能するカウンタCの値を一旦0に初期化すると共に(ステップb19)、該カウンタCの値を改めて1インクリメントすることによって、第1回目の異常の発生を計数する(ステップb20)。
【0101】
一方、ステップb17の判定結果が偽となった場合には、当該処理周期以前のトラッキング制御処理で教示経路と実経路との間の偏差が許容偏差Trの範囲を越えた履歴が既に存在することを意味するので、CPU20は、ステップb18およびステップb19の処理をスキップし、計数手段として機能するカウンタCの値を1インクリメントすることで、連続的に発生する異常の発生回数を積算的に計数する(ステップb20)。
【0102】
そして、CPU20は、ロボット制御装置2のRAM14にアクセスしてブロック間指定記憶レジスタf0の現在値を読み込み(ステップb21)、レジスタf0の現在値が0であるのか1であるのか、つまり、現時点で補間処理を実行しているブロックに対してブロック間指定の許容偏差を適用する必要があるか否かを判定する(ステップb22)。
【0103】
ここで、ステップb22の判定結果が真となった場合、つまり、このブロックに対してブロック間指定の許容偏差を適用する必要がないと判定された場合には、CPU20は、更に、共有RAMとして機能するロボット制御装置2のRAM14からステイタス記憶レジスタf2の値を読み込み(ステップb23)、ステイタス記憶レジスタf2にクランプおよび仮付けなしの状態を意味する値0がセットされているのか(ステップb24)、クランプを意味する値1がセットされているのか、あるいは、仮付けを意味する値2がセットされているのかを判定する(ステップb29)。
【0104】
ステップb24の判定結果が真となった場合、つまり、現時点でロボットアームを移動させている教示経路のブロックにクランプによるワークの固定が行なわれておらず、かつ、部分溶接によるワークの仮付けも行なわれていないと判定された場合には、CPU20は、許容回数記憶手段としての不揮発性メモリ23から異常検出許容回数X1の設定値を読み込み、カウンタCで計数されている異常の連続発生回数の値と異常検出許容回数X1との大小関係を比較する(ステップb25)。
【0105】
ここで、ステップb25の判定結果が真となった場合には、教示経路と実経路との間の偏差が許容偏差Trの範囲を越えた連続サンプリング回数が比較的少ないことを意味するので、異常検出手段として機能するCPU20は、センサ部29がワーク上の傷や凹凸あるいは汚れ等の外乱を拾って一時的に偏差の値が増大するセンサ異常が発生しているものと判定し、傷や凹凸あるいは汚れ等によるセンサ異常を示す異常検出信号を出力して、トラッキング制御装置1の筐体27あるいはロボット制御装置2に併設されたモニタに傷や凹凸あるいは汚れ等によるセンサ異常の発生を示すメッセージを表示して、オペレータの注意を喚起する(ステップb26)。
【0106】
この場合、溶接ガン10自体は、エンドエフェクタ位置調整手段により位置調整された状態で実経路に沿って適切に移動しているものと考えられるので、補正値更新手段としてのCPU20は、ステップb11〜ステップb14の処理をスキップすることにより、ステップb10の判定結果が偽となった時点でクランプされた補正値の値、つまり、サンプリングされた偏差が許容偏差Trの範囲を越える直前のサンプリング周期でサンプリングされた偏差の値を補正値として其のまま保持し、前記と同様にしてステップb15およびステップb16の処理を実行することで溶接ガン10の先端位置を実経路に合わせる。
【0107】
例えば、図13の例に示されるように、サンプリング周期S2の時点で教示経路と実経路との間の偏差が初めて許容偏差Trの範囲を越えたとすれば、この時点でステップb10の判定結果が偽となってステップb17およびステップb18の処理で動作状態記憶フラグf3に異常検出中を示す値1がセットされ、同時に、ステップb19およびステップb20の処理で連続異常回数を数えるカウンタCに1がセットされる。サンプリング周期S2の時点ではカウンタCの値は1、つまり、異常検出許容回数X1よりも小さな値であるから、サンプリング周期S2におけるステップb25の判定結果は真となり、このサンプリング周期S2におけるステップb11〜ステップb14の処理が非実行とされたことによって1処理周期前のサンプリング周期S1で検出された偏差Q1の値でクランプされている補正値Q1の値に基いて、当該処理周期であるサンプリング周期S2における溶接ガン10の位置調整処理がステップb15〜ステップb16の処理で実行される。
そして、次の処理周期であるサンプリング周期S3の時点でも教示経路と実経路との間の偏差は許容偏差Trの範囲を越えたままであるので、前記と同様、ステップb10の判定結果が偽となって動作状態記憶フラグf3の値は1に保持され、同時に、ステップb20の処理でカウンタCが1インクリメントされて2となる。サンプリング周期S3の時点ではカウンタCの値は2、つまり、異常検出許容回数X1よりも小さな値であるから、サンプリング周期S3におけるステップb25の判定結果は真となり、このサンプリング周期S3におけるステップb11〜ステップb14の処理が非実行とされたことによって2処理周期前のサンプリング周期S1で検出された偏差Q1の値でクランプされている補正値Q1の値に基いて、当該処理周期であるサンプリング周期S3における溶接ガン10の位置調整処理がステップb15〜ステップb16の処理で実行される。
この結果、溶接ガン10の先端はワーク上の傷や凹凸あるいは汚れ等の外乱検出による影響を受けることなく、図13中で一点鎖線で示すように、概ね、実経路に沿って移動することが可能となる。
次いで、次の処理周期であるサンプリング周期S4の時点では、教示経路と実経路との間の偏差Q2が許容偏差Trの範囲に収まるので、サンプリング周期S4におけるステップb10の判定結果は真となって補正値のクランプが解除される。つまり、当該サンプリング周期S4におけるステップb11〜ステップb14の処理が実行されることで補正値の値は偏差Q2に相当する値に更新され、動作状態記憶フラグf3に異常の回復を示す値0がセットされると共に、当該処理周期であるサンプリング周期S4で検出された偏差Q2に相当する補正値Q2の値に基いて、当該処理周期であるサンプリング周期S4における溶接ガン10の位置調整処理がステップb15〜ステップb16の処理で実行されることになる。
この段階ではカウンタC(現在値2)の値は0にリセットされないが、教示経路と実経路との間の偏差が改めて許容偏差Trの範囲を越えた際にステップb17の判定処理が実行され、前述したステップb19およびステップb20の処理で第1回目の異常発生を数える値1がセットされるので問題はない。
【0108】
一方、ステップb25の判定結果が偽となった場合には、教示経路と実経路との間の偏差が許容偏差Trの範囲を越えた連続サンプリング回数が多く、ワークの形状異常やワーク置台に対するワークのセッティングミス等が発生している可能性が高いので、異常検出手段として機能するCPU20は、溶接作業を継続することは適切でないと判定し、形状異常やセッティング異常をを示す異常検出信号を出力してトラッキング制御装置1の筐体27あるいはロボット制御装置2に併設されたモニタに形状異常やセッティング異常の発生を示すメッセージを表示すると共に(ステップb27)、入出力回路26と通信線30および入出力インターフェイス19を介してロボット制御装置2に停止指令となる異常検出信号を出力する(ステップb28)。
【0109】
そして、この停止指令をステップa16の判定処理で検出したロボット制御装置2側のCPU12が産業用ロボット2の再生動作と溶接ガン10の作動を停止させ、ワークやロボットおよびエンドエフェクタの損傷を防止する。
【0110】
この結果、ロボット制御装置2側のCPU12の処理でロボットアームの退避処理が開始され、プログラムカウンタiの値が0に初期化されるので(ステップa22参照)、次周期以降のトラッキング制御処理ではステップb2の判定結果が定常的に偽となり、実質的なトラッキング制御(ステップb3以降の処理)は非実行とされることになる。
【0111】
これに対し、当該処理周期で読み込まれたステイタス記憶レジスタf2の値が2でステップb24の判定結果およびステップb29の判定結果が共に偽となった場合、つまり、現時点でロボットアームを移動させている教示経路のブロックに部分溶接によるワークの仮付けが行なわれていると判定された場合には、溶接ガン10がエンドエフェクタ位置調整手段により位置調整された状態で実経路に沿って適切に移動しているにも関わらずセンサ部29が仮付け部の輪郭を拾って偏差の値が増大しているといった可能性がある。
【0112】
この場合、CPU20は、許容回数記憶手段としての不揮発性メモリ23から異常検出許容回数X2の設定値を読み込み、カウンタCで計数されている異常の連続発生回数の値と異常検出許容回数X2との大小関係を比較する(ステップb30)。
【0113】
ここで、ステップb30の判定結果が真となった場合には、教示経路と実経路との間の偏差が許容偏差Trの範囲を越えた連続サンプリング回数が比較的少ないことを意味するので、異常検出手段として機能するCPU20は、センサ部29が仮付け部の輪郭を拾って一時的に偏差の値が増大するセンサ異常が発生しているものと判定し、仮付け部の影響によるセンサ異常を示す異常検出信号を出力して、トラッキング制御装置1の筐体27あるいはロボット制御装置2に併設されたモニタに仮付け部の影響によるセンサ異常の発生を示すメッセージを表示して、オペレータの注意を喚起する(ステップb31)。
【0114】
この場合、溶接ガン10自体は、エンドエフェクタ位置調整手段により位置調整された状態で実経路に沿って適切に移動しているものと考えられるので、補正値更新手段としてのCPU20は、ステップb11〜ステップb14の処理をスキップすることにより、ステップb10の判定結果が偽となった時点でクランプされた補正値の値、つまり、サンプリングされた偏差が許容偏差Trの範囲を越える直前のサンプリング周期でサンプリングされた偏差の値を補正値として其のまま保持し、前記と同様にしてステップb15およびステップb16の処理を実行することで溶接ガン10の先端位置を実経路に合わせる。
【0115】
一方、ステップb30の判定結果が偽となった場合には、教示経路と実経路との間の偏差が許容偏差Trの範囲を越えた連続サンプリング回数が多く、仮付け部が適切に接合されていない可能性が高いので、異常検出手段として機能するCPU20は、溶接作業を継続することは適切でないと判定し、トラッキング制御装置1の筐体27あるいはロボット制御装置2に併設されたモニタに仮付け部の影響によるセンサ異常の発生を示すメッセージを表示したまま、入出力回路26と通信線30および入出力インターフェイス19を介してロボット制御装置2に停止指令となる異常検出信号を出力する(ステップb32)。
【0116】
そして、この停止指令をステップa16の判定処理で検出したロボット制御装置2側のCPU12が産業用ロボット2の再生動作と溶接ガン10の作動を停止させ、ワークやロボットおよびエンドエフェクタの損傷を防止する。
【0117】
この結果、ロボット制御装置2側のCPU12の処理でロボットアームの退避処理が開始され、プログラムカウンタiの値が0に初期化されるので(ステップa22参照)、次周期以降のトラッキング制御処理ではステップb2の判定結果が定常的に偽となり、実質的なトラッキング制御(ステップb3以降の処理)は非実行とされることになる。
【0118】
また、当該処理周期で読み込まれたステイタス記憶レジスタf2の値が1でステップb24の判定結果が偽かつステップb29の判定結果が真となった場合、つまり、現時点でロボットアームを移動させている教示経路のブロックにクランプによるワークの固定が行なわれていると判定された場合には、溶接ガン10がエンドエフェクタ位置調整手段により位置調整された状態で実経路に沿って適切に移動しているにも関わらずセンサ部29がクランプの輪郭を拾って偏差の値が増大しているといった可能性がある。
【0119】
この場合、CPU20は、許容回数記憶手段としての不揮発性メモリ23から異常検出許容回数X3の設定値を読み込み、カウンタCで計数されている異常の連続発生回数の値と異常検出許容回数X3との大小関係を比較する(ステップb33)。
【0120】
ここで、ステップb33の判定結果が真となった場合には、教示経路と実経路との間の偏差が許容偏差Trの範囲を越えた連続サンプリング回数が比較的少ないことを意味するので、異常検出手段として機能するCPU20は、センサ部29がクランプの輪郭を拾って一時的に偏差の値が増大するセンサ異常が発生しているものと判定し、クランプの影響によるセンサ異常を示す異常検出信号を出力して、トラッキング制御装置1の筐体27あるいはロボット制御装置2に併設されたモニタにクランプの影響によるセンサ異常の発生を示すメッセージを表示して、オペレータの注意を喚起する(ステップb34)。
【0121】
この場合、溶接ガン10自体は、エンドエフェクタ位置調整手段により位置調整された状態で実経路に沿って適切に移動しているものと考えられるので、補正値更新手段としてのCPU20は、ステップb11〜ステップb14の処理をスキップすることにより、ステップb10の判定結果が偽となった時点でクランプされた補正値の値、つまり、サンプリングされた偏差が許容偏差Trの範囲を越える直前のサンプリング周期でサンプリングされた偏差の値を補正値として其のまま保持し、前記と同様にしてステップb15およびステップb16の処理を実行することで溶接ガン10の先端位置を実経路に合わせる。
【0122】
一方、ステップb33の判定結果が偽となった場合には、教示経路と実経路との間の偏差が許容偏差Trの範囲を越えた連続サンプリング回数が多く、クランプによる固定が適切に行なわれていない可能性が高いので、異常検出手段として機能するCPU20は、溶接作業を継続することは適切でないと判定し、トラッキング制御装置1の筐体27あるいはロボット制御装置2に併設されたモニタにクランプの影響によるセンサ異常の発生を示すメッセージを表示したまま、入出力回路26と通信線30および入出力インターフェイス19を介してロボット制御装置2に停止指令となる異常検出信号を出力する(ステップb35)。
【0123】
そして、この停止指令をステップa16の判定処理で検出したロボット制御装置2側のCPU12が産業用ロボット2の再生動作と溶接ガン10の作動を停止させ、ワークやロボットおよびエンドエフェクタの損傷を防止する。
【0124】
この結果、ロボット制御装置2側のCPU12の処理でロボットアームの退避処理が開始され、プログラムカウンタiの値が0に初期化されるので(ステップa22参照)、次周期以降のトラッキング制御処理ではステップb2の判定結果が定常的に偽となり、実質的なトラッキング制御(ステップb3以降の処理)は非実行とされることになる。
【0125】
ここで、異常検出許容回数X1,X2,X3の大小関係は、一般的に、X1<X2<X3として設定される。その理由は、仮付けやクランプが存在しない経路では専らワーク上の傷や凹凸あるいは汚れ等の外乱によってセンサ異常が発生するのが普通で、比較的値の小さな異常検出許容回数X1を判定基準として、外乱によるセンサ異常とワークの形状異常等を始めとする実質的な異常とを明確に識別できるからである。
一方、仮付けがある場合には、仮付け部の溶接自体が外乱として作用してセンサ異常が発生する場合があるが、仮付け部の大きさが一般的な傷や凹凸あるいは汚れ等に比べて大きいため、仮付け部の検出によって溶接動作が不用意に停止することがないように、異常検出許容回数X2の値を異常検出許容回数X1の値よりも大きく設定する。
更に、クランプの大きさは一般的に仮付け部の溶接跡に比べて大きいので、前記と同様、クランプの検出によって溶接動作が不用意に停止することがないように、異常検出許容回数X3の値を異常検出許容回数X2の値よりも大きく設定するようにしている。
【0126】
これに対し、ステップb4の判定結果が偽となっている場合、つまり、現時点で補間処理を実行しているブロックに対してブロック間指定の許容偏差を適用する旨の設定が行なわれている場合には、サンプリング偏差判定手段としてのCPU20は、ステップb5〜ステップb10までの処理をスキップし、これらの処理に代えて、プログラムカウンタiの現在値に基いて図8のブロック間偏差記憶テーブルから該i番目のブロック、つまり、現時点で補間処理を実行している区間のブロックに対して設定されたブロック間指定の許容偏差Tx とTx の値を読み込み(ステップb36)、更に、相対偏差検出手段の一部を構成するセンサ部29からの出力を入出力回路25を介して読み込んで、教示操作で与えられた溶接ガン10の先端位置と実際の溶接線との間で移動経路に直行する方向に生じている偏差を求め(ステップb37)、この偏差がマイナス方向の許容偏差Tx とプラス方向の許容偏差Tx との間に収まっているか否かを判定する処理を実行する(ステップb38)。
【0127】
つまり、ブロック間指定の許容偏差を適用する旨の設定が行なわれている場合においては、現時点で実行対象となっているブロックの補間処理が直線補間であるのか円弧補間であるのかとは関わりなく、予めブロック間偏差記憶テーブルに設定されたブロック間指定の許容偏差に基いて判定処理が行なわれることになる。図8に示される通り、各区間毎の許容偏差はブロック毎に、しかも、ロボットアームの移動方向を基準とする左(マイナス)と右(プラス)の方向に対して個別に任意の値を設定することが可能である。
【0128】
ここで、ステップb38の判定結果が真となった場合には、教示経路と実経路とが概ね一致しており、仮に、アーム先端位置(教示経路)と溶接線(実経路)との間に多少のズレがあったとしても、エンドエフェクタ位置調整手段の一部を構成する駆動部28によって溶接ガン10の位置を教示経路と直行する方向に調整することで溶接ガン10の先端を溶接線上に容易に位置決めできることを意味するので、補正値更新手段として機能するCPU20は、当該処理周期のステップb37の処理で求められた偏差を補正値として更新記憶することで補正値の値を最適化する(ステップb11)。次いで、CPU20は、トラッキング動作における異常の有無を記憶する動作状態記憶フラグf3に異常なしを示す値0をセットし(ステップb12)、この時点で既に何等かの異常検出信号の出力が行なわれている場合には(ステップb13)、其の信号の出力を停止して、異常が回復されたことを記憶する(ステップb14)。
【0129】
次いで、エンドエフェクタ位置調整手段の制御部におけるオフセット調整機能実現手段として機能するCPU20が、不揮発性メモリ23からユーザ設定のオフセット量を読み込み(ステップb15)、エンドエフェクタ位置調整手段の制御部およびオフセット調整機能実現手段として機能するCPU20が、ステップb11の処理で更新された補正値の値にオフセット量を加算し、この加算値に応じて入出力回路25を介してエンドエフェクタ位置調整手段の一部を構成する駆動部28に駆動指令を出力し、ロボットアームの位置および姿勢を保持したまま溶接ガン10のみを教示経路に直行する方向に移動させて、溶接ガン10の先端位置を実経路、つまり、突き合せ溶接の場合には溶接線上に、また、重ね隅肉溶接の場合には溶接線から数ミリ内側の溶接対象位置に合わせる(ステップb16)。
【0130】
一方、当該処理周期のステップb38の判定結果が偽となった場合、つまり、教示経路と実経路との間の偏差が当該ブロックに対して設定されたブロック間指定の許容偏差Tx とTx の範囲を外れていると判定された場合には、溶接ガン10が位置調整された状態で実経路に沿って適切に移動しているにも関わらずセンサ部29がワーク上の傷や凹凸あるいは汚れ等の外乱を拾って偏差の値が増大している可能性や、溶接ガン10が位置調整された状態で実経路に沿って適切に移動しているにも関わらずセンサ部29がワークの仮付け部やクランプ部の輪郭を拾って偏差の値が増大している可能性、あるいは、ワークの形状異常やワーク置台に対するワークのセッティングミス等によって教示経路が実経路に対して全く適合しなくなってしまっている可能性等が考えられる。
【0131】
このような場合、計数手段の一部として機能するCPU20は、まず、動作状態記憶フラグf3に0がセットされているのか1がセットされているのか、つまり、当該処理周期以前のトラッキング制御処理で教示経路と実経路との間の偏差がブロック間指定の許容偏差Tx とTx の範囲を外れた履歴があるか否かを判定する(ステップb17)。
【0132】
ステップb17の判定結果が真となった場合には当該処理周期以前のトラッキング制御処理で教示経路と実経路との間の偏差がブロック間指定の許容偏差Tx とTx の範囲を外れた履歴がないことを意味するので、CPU20は、動作状態記憶フラグf3に1をセットして最初の異常の発生を記憶し(ステップb18)、計数手段として機能するカウンタCの値を一旦0に初期化すると共に(ステップb19)、該カウンタCの値を改めて1インクリメントすることによって、第1回目の異常の発生を計数する(ステップb20)。
【0133】
一方、ステップb17の判定結果が偽となった場合には、当該処理周期以前のトラッキング制御処理で教示経路と実経路との間の偏差がブロック間指定の許容偏差Tx とTx の範囲を外れた履歴が既に存在することを意味するので、CPU20は、ステップb18およびステップb19の処理をスキップし、計数手段として機能するカウンタCの値を1インクリメントすることで、連続的に発生する異常の発生回数を積算的に計数する(ステップb20)。
【0134】
次いで、CPU20は、ロボット制御装置2のRAM14にアクセスしてブロック間指定記憶レジスタf0の現在値を読み込み(ステップb21)、レジスタf0の現在値が0であるのか1であるのか、つまり、現時点で補間処理を実行しているブロックに対してブロック間指定の許容偏差を適用する必要があるか否かを判定する(ステップb22)。
【0135】
この場合、ブロック間指定記憶レジスタf0にはブロック間指定の許容偏差を適用する旨の設定値1がセットされているので、ステップb22の判定結果は偽となる。
【0136】
従って、CPU20は、許容回数記憶手段としての不揮発性メモリ23からブロック間指定の許容偏差を適用する場合の異常検出許容回数X4の設定値を読み込み、カウンタCで計数されている異常の連続発生回数の値と異常検出許容回数X4との大小関係を比較する(ステップb39)。
【0137】
ここで、ステップb39の判定結果が真となった場合には、教示経路と実経路との間の偏差がブロック間指定の許容偏差Tx とTx の範囲を外れた連続サンプリング回数が比較的少ないことを意味するので、異常検出手段として機能するCPU20は、ワーク上の傷や凹凸あるいは汚れ等の外乱もしくは仮付け部やクランプ部の輪郭を拾ったことによる一時的なセンサ異常が発生しているものと判定し、一時的なセンサ異常を示す異常検出信号を出力して、トラッキング制御装置1の筐体27あるいはロボット制御装置2に併設されたモニタにセンサ異常の発生を示すメッセージを表示して、オペレータの注意を喚起する(ステップb41)。
【0138】
この場合、溶接ガン10自体は、エンドエフェクタ位置調整手段により位置調整された状態で実経路に沿って適切に移動しているものと考えられるので、補正値更新手段としてのCPU20は、ステップb11〜ステップb14の処理をスキップすることにより、ステップb38の判定結果が偽となった時点でクランプされた補正値の値、つまり、サンプリングされた偏差がブロック間指定の許容偏差Tx とTx の範囲を外れる直前のサンプリング周期でサンプリングされた偏差の値を補正値として其のまま保持し、前記と同様にしてステップb15およびステップb16の処理を実行することで溶接ガン10の先端位置を実経路に合わせる。
【0139】
一方、ステップb39の判定結果が偽となった場合には、教示経路と実経路との間の偏差がブロック間指定の許容偏差Tx とTx の範囲を外れた連続サンプリング回数が多く、ワークの形状異常やワーク置台に対するワークのセッティングミス等が発生している可能性が高いので、異常検出手段として機能するCPU20は、溶接作業を継続することは適切でないと判定し、トラッキング制御装置1の筐体27あるいはロボット制御装置2に併設されたモニタにセンサ異常の発生を示すメッセージを表示したまま、入出力回路26と通信線30および入出力インターフェイス19を介してロボット制御装置2に停止指令となる異常検出信号を出力する(ステップb40)。
【0140】
そして、この停止指令をステップa16の判定処理で検出したロボット制御装置2側のCPU12が産業用ロボット2の再生動作と溶接ガン10の作動を停止させ、ワークやロボットおよびエンドエフェクタの損傷を防止する。
【0141】
この結果、ロボット制御装置2側のCPU12の処理でロボットアームの退避処理が開始され、プログラムカウンタiの値が0に初期化されるので(ステップa22参照)、次周期以降のトラッキング制御処理ではステップb2の判定結果が定常的に偽となり、実質的なトラッキング制御(ステップb3以降の処理)は非実行とされることになる。
【0142】
この実施形態では、ブロック間指定の許容偏差を適用する場合の異常検出許容回数X4の設定値としてブロックの区間に関わりなく常に一定の値を利用するようにしたが、各ブロックi毎に個別の異常検出許容回数X4iを設定するようにしてもよい。
その場合、各ブロック毎の異常検出許容回数X4iの値は図8のようなブロック間偏差記憶テーブルにTx やTx と共に保存することが可能であり、前述したステップb39の判定処理に際して、教示経路の区間に関する情報であるプログラムカウンタiの現在値に基いてX4iの値を読み出すようにすればよい。
【0143】
また、既に図7を参照して説明した通り、教示経路中のブロックに対応させてブロック間指定の許容偏差の有無を示す値(f0)やクランプの有無および仮付けの有無を示す値(f2)を定義することは、必ずしも必須の要件ではない。
ロボット再生用のプログラムによっては各種のGコード(送り指令)やTコード(外部装置に対する指令)およびFコード(速度指令)と其れに付随する位置指令等のオペランドの書き込みのみが可能であって、ユーザ定義によるステイタスを書き込めない場合もある。
其のような場合には、本実施形態で示した処理からステップb3,ステップb4の処理とステップb36〜ステップb38の処理およびステップb21,ステップb22の処理とステップb39〜ステップb41の処理、ならびに、ステップb23,ステップb24の処理とステップb29〜ステップb35の処理を取り除き、異常検出許容回数X1の値を調整するようにすれば適切なトラッキング制御の実施が可能である。
例えば、仮付けやクランプがない溶接作業の場合にはX1の値を比較的小さな値とし、仮付けがある場合にはX1の値を中程度の大きさとし、また、クランプ箇所もあるような溶接作業ではX1の値を相対的に大きく設定するようにする。
【0144】
また、ロボット制御装置2からトラッキング制御装置に補間形式(f1)を転送することができない構造の場合には、本実施形態で示した処理からステップb6,ステップb7,ステップb8の処理を取り除き、円弧補間を許容する大き目の値Tr2を許容偏差Trとして利用するようにすれば、概ね同等の作用効果を達成することができる。
【0145】
通常、どのような産業用ロボットであっても、安全対策上、強制停止のためのインターロック機構と停止信号の入力機構を備えているので、トラッキング制御装置1の筐体27をロボット制御装置2と完全に独立させて構成した場合であっても、溶接ガン10の位置調整と、明らかな異常が発生した場合のロボットの緊急停止および溶接ガン10の停止操作は産業用ロボットの構成と関わりなく実施することが可能である。
【0146】
以上、一実施形態として、トラッキング制御装置1の筐体27をロボット制御装置2と完全に独立させて構成した例について述べたが、筐体27の有する相対偏差検出手段,エンドエフェクタ位置調整手段,オフセット調整機能,サンプリング手段,サンプリング偏差判定手段,計数手段,補正値更新手段および異常検出手段の全ての機能をロボット制御装置2の側に配備することも可能である。
一般に、ロボット制御装置2側の処理は、再生動作のためのプログラムの読み込みや駆動制御のための実行データの作成およびパルス分配処理等を所定周期毎のマルチタスクとして実行するように構成されており、また、図10〜図12の説明でも明らかなように、本実施形態のトラッキング制御は所定周期毎に繰り返し実行される処理として構成されたものであるから、このトラッキング制御をロボット制御装置2側のマルチタスクの1つとして組み込んでCPU12に実行させることは容易である。しかも、ロボット制御装置2側の軸制御回路18は、周辺装置等の付加軸の追加を想定してロボット本体に必要とされる軸数よりも多めのチャンネルに対処できるように構成されているので、この付加軸用のチャンネルを利用してエンドエフェクタ位置調整手段の駆動部28を制御することも可能である。
【0147】
ここでは一例としてロボットアームの先端に装着された溶接ガンを実経路にトラッキングさせる場合について述べているが、その他のエンドエフェクタ、例えば、吸着パッドを備えたハンドリングツール等に対しても本実施形態と同等の構成を適用することができる。
【0148】
更に、本実施形態のトラッキング制御装置1は、溶接時における経路補正のための装置として以外にも、ワークの異常、あるいは、ワークのセッティングの適否、更には、教示操作の適不適を検出するための異常検出装置として流用することが可能である。
このような利用目的に本装置を使用する場合には、溶接ガン10の作動を禁止した状態でロボットを教示経路に沿ってドライサイクルで運転させるようにする。
ワークの形状に異常があったり仮付け部あるいはクランプ部に異常が生じている場合、もしくは、教示操作自体に誤りがあったような場合には、前述したステップb27,ステップb31,ステップb34,ステップb41の処理によって異常の可能性を示すメッセージがモニタ上に表示されるので、オペレータは、これらの異常表示を参照して実際の異常の有無を確認することが可能である。
【0149】
【発明の効果】
本発明のトラッキング制御装置は、教示経路と実経路との偏差をそのまま補正値として利用することによってエンドエフェクタの位置を実経路に合わせて調整するようにしているので、エンドエフェクタの位置の調整のために複雑な演算処理を行う必要がなく、演算処理の遅延に伴う補正制御の遅れが軽減される。
また、実経路上の仮付け部のエッジやワークの傷または凹凸あるいは汚れ等の影響により本来は存在しない筈の過大な偏差が検出された場合には、許容偏差の範囲を越える直前のサンプリング周期でサンプリングされた偏差、つまり、外乱が作用する以前の正常な状態で検出された偏差を引き続き補正値として利用するようにしているので、外乱による影響に惑わされることなくエンドエフェクタの移動経路を適正化することができる。
従って、外乱となる可能性のある仮付け部等の位置を教示操作の段階でロボットの駆動制御プログラム中に定義しておく必要はなく、教示操作の簡便化が可能である。また、ワーク毎に仮付け部等の位置に相違があるような場合であっても、この相違を吸収してエンドエフェクタの移動経路を適正化することが可能である。
更に、ロボット全体に対して補正動作を行わせることなくエンドエフェクタの位置のみを調整するようにしているので、最小限度の慣性抵抗で素早くエンドエフェクタの位置を調整することができ、慣性抵抗に起因する補正制御の遅れも軽減される。
【0150】
また、教示経路の補間形式に応じて異常検出のための許容偏差を選択するようにしているので、補間形式の相違によって移動経路に対するセンサ位置のトレランスが変動するような場合であっても、実経路に対する位置ズレ等の異常の有無を的確に判定することができる。
【0151】
更に、教示経路の補間形式とは無関係に、教示経路の各区間毎に許容偏差を選択できるようにもしているので、溶接等の作業に必要とされる各区間毎の実質的なトラッキング精度に応じ、教示経路の各区間毎に適正な許容偏差を適用することができ、例えば、高い精度が必要とされる部分の異常判定が雑になったり、あるいは、精度を要求されない部分の異常判定が必要以上にシビアになったりするといった問題を容易に解消することができる。
無論、全ての教示区間に対して共通の許容偏差を設定することも可能であり、この場合は、全体としてラフなトラッキング制御や全体としてシビアなトラッキング制御に対応することができる。
【0152】
また、教示経路の各区間に許容偏差を設定する場合においては、教示経路を基準として教示経路に直交する2つの方向、つまり、ロボットアームの移動方向を基準とする左右の方向に対して許容偏差を左右個別に設定するようにしているので、例えば、ロボットアームの送り速度の違い、更には、移動経路上の円弧部分の緩急や産業用ロボット自体の構造上の特性の違い等を考慮して、常に最適の許容偏差に基く異常判定を実施することができ、例えば、重ね隅肉溶接のように、許容できるズレが左右方向で異なるような場合のトラッキング制御にも容易に対処することができる。
【0153】
更に、サンプリングされた偏差が許容偏差の範囲を越えている間のサンプリング回数を計数し、計数値が予め設定された異常検出許容回数を越えた段階で異常検出信号を出力するようにしているので、ワーク形状や仮付けの状態に極端な異常がある場合、または、ワークのクランプミス等によってワークの位置や姿勢に大幅なズレが生じているような場合であっても、不適当な補正制御の継続によってエンドエフェクタが実経路から逸脱するような弊害を生じることなく、本質的な異常の発生を的確に検知することができる。
【0154】
しかも、異常な偏差の連続発生回数を計数し、発生回数に応じた異常検出信号を出力するようにしているので、異常の種別を具体的に把握することが可能である。
【0155】
また、異常検出信号のうちの一つをロボット制御装置に対する停止指令によって構成し、ワーク形状や仮付けの状態に極端な異常がある場合、または、ワークのクランプミス等によってワークの位置や姿勢に大幅なズレが生じているような場合には、ロボット制御装置側の動作を強制的に停止させるようにしているので、加工異常の発生やワークの損傷を防止することができる。
【0156】
更に、オフセット量を加味してエンドエフェクタ位置を調整するようにしているので、ロボット制御装置側の駆動制御プログラム(教示データ)に格別な変更を加えることなく、突き合せ溶接や重ね隅肉溶接等を始めとする様々な作業に対応してエンドエフェクタ位置を適正化することができる。
【0157】
また、エンドエフェクタ位置の調整に必要とされる駆動部と偏差の検出に必要とされるセンサ部をロボットアームの先端とエンドエフェクタとを接続するアタッチメントに配備するようにしているので、従来型の産業用ロボットにハードウェア上の改変を何ら施すことなく、演算処理の遅延に伴う補正制御の遅れや慣性抵抗に起因する補正制御の遅れを軽減することができる。
【0158】
更に、エンドエフェクタの位置調整に必要とされる制御部の全てをロボット制御装置と独立してトラッキング制御装置の筐体に配備しているので、ロボット制御装置にハードウェアおよびソフトウェア上の改変を施すことなく演算処理の遅延に伴う補正制御の遅れや慣性抵抗に起因する補正制御の遅れを軽減することが可能である。
【0159】
しかも、ロボット制御装置とトラッキング制御装置の筐体とをデータ通信可能に接続することでロボット制御装置からトラッキング制御装置の側に教示経路の補間形式や教示経路の区間に関する情報を転送すると共に、トラッキング制御装置からロボット制御装置の側には停止指令によって構成される異常検出信号を転送できるようにしているので、トラッキング制御装置がロボット制御装置と独立して配備されている場合であっても、ロボット制御装置によって実行されている補間処理の形式に基いて、異常の有無を判定するための適切な許容偏差を選択することが可能であり、また、許容できない異常、例えば、クランプの異常等が検出された場合には、トラッキング制御装置からの停止指令によってロボット制御装置によるロボットの駆動制御を強制停止させてワークやロボットおよびエンドエフェクタの損傷を防止することができる。
【図面の簡単な説明】
【図1】本発明が目的を達成するために採用した手段の概略について示したブロック図である。
【図2】ロボットアーム先端に対するセンサ部とエンドエフェクタの取り付け位置の一例をセンサ部とエンドエフェクタとの相対位置の関係で示した概念図である。
【図3】補間形式の相違によって生じるエンドエフェクタとセンサ部の移動経路の相違を示した概念図である。
【図4】突き合せ溶接で適切とされるエンドエフェクタ(溶接ガン)の経路を示した概念図である。
【図5】重ね隅肉溶接で適切とされるエンドエフェクタ(溶接ガン)の経路の一例を示した概念図である。
【図6】本発明を適用した一実施形態のトラッキング制御装置の構成の概略について示した機能ブロック図である。
【図7】産業用ロボットの駆動制御プログラムの一例を図式化して示した概念図である。
【図8】ブロック間偏差記憶テーブルの一例を示した概念図である。
【図9】ロボット制御装置のCPUによる再生処理の概略を示したフローチャートである。
【図10】トラッキング制御装置の筐体に配備されたCPUによって実行されるトラッキング制御について示したフローチャートである。
【図11】トラッキング制御について示したフローチャートの続きである。
【図12】トラッキング制御について示したフローチャートの続きである。
【図13】偏差の変動と適用すべき補正値との関係を一例で示した概念図である。
【符号の説明】
1 トラッキング制御装置
2 ロボット制御装置
3 産業用ロボット
4 ベースプレート
5 ロボット本体
6 第一アーム
7 第二アーム
8 第三アーム
9 リスト
10 溶接ガン(エンドエフェクタ)
11 アタッチメント
12 CPU
13 ROM
14 RAM
15 不揮発性メモリ
16 モニタ付手動データ入力装置
17 教示操作盤
18 軸制御回路
19 入出力インターフェイス
20 CPU(相対偏差検出手段の制御部,エンドエフェクタ位置調整手段の制御部,エンドエフェクタ位置調整手段におけるオフセット調整機能,サンプリング手段,サンプリング偏差判定手段,計数手段,補正値更新手段,異常検出手段)
21 ROM
22 RAM
23 不揮発性メモリ(許容回数記憶手段)
24 モニタ付手動データ入力装置
25 入出力回路
26 入出力インターフェイス
27 筐体
28 駆動部(エンドエフェクタ位置調整手段の一部)
29 センサ部(相対偏差検出手段の一部)
30 通信線
(A) 相対偏差検出手段
(a1) 相対偏差検出手段のセンサ部
(a2) 相対偏差検出手段の制御部
(B) エンドエフェクタ位置調整手段
(b1) エンドエフェクタ位置調整手段の駆動部
(b2) エンドエフェクタ位置調整手段の制御部
(C) サンプリング手段
(D) サンプリング偏差判定手段
(E) 補正値更新手段
(F) エンドエフェクタ
(G) ロボット制御装置
(H) ロボット本体
(I) ロボットアーム
(J) 計数手段
(K) 異常検出手段
(L) 許容回数記憶手段
(M) 異常検出信号
(m1) 異常検出信号の一つ
(m2) 停止指令(異常検出信号の一つ)
(N) オフセット調整機能
(Q) アタッチメント
(R) トラッキング制御装置の筐体
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an improvement of a tracking control device that optimizes a movement path of an end effector attached to an end of an arm of an industrial robot that is driven and controlled along a teaching path in accordance with a situation of an actual path.
[0002]
[Prior art]
2. Description of the Related Art A robot system that mounts an end effector such as a welding gun or a handling tool on an end of an arm of an industrial robot and automates various operations is known.
[0003]
In this type of robot system, the end effector is positioned at a target position while manually moving the arm tip of an industrial robot using a teaching operation panel or the like provided in the robot control device, and the movement path to the robot control device is determined. A drive control program for the robot is created by performing a teaching operation to store the positions of the key points above, and the drive control program is reproduced by the robot controller so that the end effector at the tip of the robot arm can be moved to a desired movement path. It is common to move along.
[0004]
However, due to individual differences of workpieces such as shape errors and subtle positional deviations or differences in posture during setting, the environment between when the teaching operation is performed and when the playback operation is actually performed is performed. Since a difference may occur, even if an appropriate teaching operation is performed, the end effector does not always perform an appropriate movement in a relative relationship with the workpiece.
[0005]
For this reason, during the reproduction operation of the industrial robot, it is common to detect a deviation between the teaching path and the actual path while moving the robot arm according to the drive control program, and to perform correction control to eliminate the deviation. .
[0006]
As this type of conventional technology, for example, as disclosed in Patent Document 1, a correction value is obtained by measuring a position and a gap of a welding line as an actual path, and a welding robot is feedback-controlled based on the correction value. A method of controlling a welding robot has been proposed.
[0007]
In addition, as a "control method of the welding robot" to prevent the correction abnormality caused by the sensor detecting the tacked portion on the welding line as a disturbance, the reproduction operation is performed by teaching the front and back of the tacked portion as feature points. Is reflected as Patent Document 2.
[0008]
[Patent Document 1]
JP-A-7-80643
[Patent Document 2]
JP-A-7-16748
[0009]
[Problems to be solved by the invention]
However, in the conventional correction control as disclosed in Patent Literature 1, it is necessary to perform complicated arithmetic processing when measuring the position and gap of a welding line and calculating a correction value. Due to the necessity of correcting the position of the end effector at the tip of the robot arm, the inertial resistance acting on the servomotor or the like becomes large, so that the response of the correction control may be delayed.
Further, when the sensor detects a scratch, unevenness, dirt, or the like on the work, arithmetic processing is performed based on erroneous data, and appropriate correction control may not be performed.
[0010]
On the other hand, when the conventional correction control as disclosed in Patent Document 2 is applied, there is a possibility that an error in arithmetic processing caused by detecting a tacked portion on a welding line as a disturbance can be eliminated. In order to make the robot perform an appropriate reproduction operation by repeatedly using the teaching data, the tacking work for each work is appropriately performed under the same conditions, and the teaching point itself of the tacking portion is shared by all the works. This necessitates the necessity of setting up the tacking work.
[0011]
[Object of the invention]
Therefore, an object of the present invention is to reduce a delay in correction processing caused by arithmetic processing of a correction value and an inertial resistance, and to provide a temporary attachment portion or the like which may act as a disturbance to a sensor on an actual path. It is an object of the present invention to provide a tracking control device capable of optimizing the movement path of the end effector without performing a complicated teaching operation.
[0012]
[Means for Solving the Problems]
FIG. 1 is a block diagram showing an outline of means adopted by the present invention to achieve the above object.
A relative deviation detecting means (A) for detecting a deviation between the teaching path and the actual path during the reproduction operation of the industrial robot;
End effector position adjusting means (B) for adjusting the position of the end effector in accordance with the actual path using the deviation detected by the relative deviation detecting means (A) as a correction value;
Sampling means (C) for sampling the deviation detected by the relative deviation detection means (A) at predetermined intervals;
Sampling deviation determining means (D) for comparing a magnitude relationship between the deviation sampled by the sampling means (C) and a preset allowable deviation;
When the sampling deviation determining means (D) determines that the deviation is within the range of the allowable deviation, the deviation sampled in this sampling cycle is used as a correction value, while the sampling deviation determining means (D) determines that the deviation is within the allowable range. If it is determined that the deviation exceeds the allowable deviation range, the correction value updating unit holds the deviation sampled in the sampling cycle immediately before the deviation sampled by the sampling unit (C) exceeds the allowable deviation range as a correction value. (E).
[0013]
With the above configuration, the relative deviation detecting means (A) detects the deviation between the actual path and the teaching path in the reproducing operation of the industrial robot, and the sampling means (C) samples the deviation at predetermined intervals. Further, the sampling deviation determining means (D) compares a magnitude relationship between the deviation sampled by the sampling means (C) and a preset allowable deviation.
Then, when it is determined that the deviation is within the range of the allowable deviation, the correction value updating means (E) updates and stores the deviation sampled in this sampling period as a correction value, and in the sampling period, When it is determined that the sampled deviation exceeds the allowable deviation range, the correction value updating means (E) holds the deviation sampled in the sampling cycle immediately before the deviation exceeds the allowable deviation range as a correction value.
Therefore, as long as the deviation between the actual path and the teaching path is within the range of the allowable deviation, the deviation detected by the relative deviation detecting means (A) is directly used as a correction value by the end effector position adjusting means (B). If the deviation between the actual path and the teaching path exceeds the allowable deviation range, the deviation sampled in the sampling cycle immediately before the deviation exceeds the allowable deviation range is used as the correction value as the correction value updating means (E )) To the end effector position adjusting means (B).
Upon receiving this, the end effector position adjusting means (B) adjusts the position of the end effector (F) according to the actual route based on the correction value passed from the correction value updating means (E).
Since this correction value is a deviation occurring between the actual path and the teaching path, the robot controller (G) is caused to perform a reproducing operation to move the robot arm (I) of the robot body (H) along the teaching path. If the position of the end effector (F) is adjusted in the direction to eliminate the deviation by the end effector position adjusting means (B) at the same time, the end effector (F) can be moved along the actual path. it can.
As described above, since the deviation detected by the relative deviation detecting means (A) is used as it is as a correction value for adjusting the position of the end effector (F), there is no need to perform complicated arithmetic processing. The delay of the correction control due to the delay of the arithmetic processing is reduced.
Further, when the relative deviation detecting means (A) detects an edge of the tacked portion on the actual path, a scratch or unevenness of the work, or dirt, etc., and outputs an excessive deviation that should not exist, The deviation sampled in the sampling cycle immediately before exceeding the allowable deviation range, that is, the deviation detected in a normal state before the disturbance acts, is continuously used as a correction value. The moving path of the end effector (F) can be optimized without being disturbed by the detected disturbance.
In general, scratches, irregularities, dirt, and the like of the temporary attachment portion and the work on the actual path do not exist continuously over a wide range. Therefore, the end effector (F) removes the scratches and the like of the temporary attachment portion and the work. Until the passage, the detection process of the substantial deviation is stopped, and even if the last deviation detected in a normal state before the disturbance is applied is continuously used as a correction value, the end effector (F) The problem that the moving route of the vehicle deviates from the actual route does not occur.
Therefore, it is not always necessary to define the position of the temporary attachment portion or the like that may be a disturbance in the drive control program of the robot at the stage of the teaching operation, and the teaching operation can be simplified. Further, even in the case where there is a difference in the position of the temporary attachment portion or the like for each work, it is possible to absorb the difference and optimize the movement path of the end effector (F). There is no need to complicate the setup for precise work.
Further, since the end effector position adjusting means (B) only needs to adjust the position of the end effector (F), the end effector (F) is operated by operating the robot arm (I) and the robot body (H) as a whole. Unlike the conventional technique in which the position of the end effector is adjusted, the end effector (F) can be quickly moved with the minimum inertial resistance, and the delay of the correction control due to the inertial resistance is reduced.
[0014]
Here, the sampling deviation judging means (D) selects an allowable deviation (Tr1) having a smaller value among preset allowable deviations when the interpolation type is linear interpolation according to the interpolation type of the teaching path. When the interpolation format is circular interpolation, it is desirable to select a large allowable deviation (Tr2) having a large value and compare the magnitude relationship between the deviation sampled by the sampling means (C) and the allowable deviation.
[0015]
Depending on the mounting structure of the end effector (F) to the tip of the robot arm (I) and the mounting structure of the sensor unit (a1) of the relative deviation detecting means (A) to the tip of the robot arm (I), for example, as shown in FIG. In some cases, the sensor unit (a1) and the end effector (F) are mounted so as to be offset from each other in the moving direction.
Normally, when such a configuration is adopted, the robot arm is set so that the sensor unit (a1) is always located forward in the traveling direction on the teaching path, and the end effector (F) is always located backward in the traveling direction. The rotation of the list of (I) is adaptively controlled. For example, in the case where the tip of the robot arm (I) moves along a teaching path based on a combination of a straight line and an arc as illustrated in FIG. In the linear movement, the movement path of the sensor section (a1) and the movement path of the end effector (F) completely match, but in the arc section, even if the movement path of the end effector (F) itself is appropriate, A phenomenon occurs in which the sensor unit (a1) slightly deviates outward from the movement path. The cause of this deviation phenomenon is essentially the same as the influence of the inner wheel difference and the outer wheel difference in the automobile.
In such a case, the same tolerance is applied to the case where the interpolation format is the linear interpolation and the case where the interpolation format is the circular interpolation, and the sampling deviation determining means (D) determines whether there is a disturbance such as an edge of the tacked portion or a scratch on the work. If the determination is made in the above, there is a possibility that an appropriate determination result cannot be obtained. In other words, when an abnormality is determined in the circular interpolation unit by applying an allowable deviation suitable for the linear interpolation unit, disturbance acts even though the end effector (F) is appropriately moving along the path. On the other hand, if an abnormality is determined in the linear interpolation unit by applying an allowable deviation suitable for the circular interpolation unit, the sensor unit (a1) may be affected by the disturbance. A problem arises in that the presence of disturbance is not detected in spite of being received.
Therefore, according to the present invention, when the interpolation format is linear interpolation, an allowable deviation (Tr1) having a small value among preset tolerances is selected according to the interpolation format of the teaching path, while the interpolation format is circular interpolation. In the case of, the occurrence of such a problem is prevented beforehand by selecting the allowable deviation (Tr2) having a large value and performing the judgment processing by the sampling deviation judgment means (D).
[0016]
Further, the sampling deviation determining means (D) selects an allowable deviation preset for each section according to each section of the teaching path, irrespective of the interpolation form of the teaching path. The magnitude relationship between the sampled deviation and the allowable deviation may be compared.
[0017]
When such a configuration is applied, an appropriate allowable deviation can be applied to each section of the teaching path according to the substantial tracking accuracy required for work such as welding, so that a high accuracy is required. The problem that the abnormality determination becomes rough or the abnormality determination of a portion where accuracy is not required becomes unnecessarily severe is solved.
Of course, it is possible to set a common allowable deviation for all sections, and it is also possible to cope with rough tracking accuracy or severe tracking accuracy as a whole.
[0018]
In a configuration in which individual or common tolerances are set for each section or the entire teaching path, two directions orthogonal to the teaching path, that is, the moving direction of the robot arm, It is also possible to configure such that the allowable deviation is set individually for the left and right in the left and right directions.
[0019]
In addition to the deviation phenomenon of the sensor unit (a1) due to the problem of the offset between the sensor unit (a1) and the end effector (F), for example, a difference in the feed speed of the robot arm, Depending on the speed of the arc portion and the difference in the structural characteristics of the industrial robot itself, a phenomenon may occur in which the sensor unit (a1) is deflected to the outside or inside of the teaching path.
In the present invention, the difference in the feed speed of the robot arm is set by separately setting the allowable deviation in two directions perpendicular to the teaching path, that is, in the left and right directions based on the moving direction of the robot arm. Furthermore, taking into account the speed of the arc portion on the moving path and the structural characteristics of the industrial robot itself, abnormality determination is always realized based on the optimum allowable deviation.
[0020]
In addition to the above components, further, a counting means (J) for counting the number of samplings while the sampled deviation exceeds the range of the allowable deviation; An abnormality detecting means (K) for outputting an abnormality detection signal when the number of times exceeds the number of times can be provided.
[0021]
As described above, the temporary attachment portion on the actual path and the scratches on the work are not necessarily present continuously over a wide range, but when there is an extreme abnormality in the work shape or the state of the temporary attachment, or In some cases, the position and orientation of the workpiece may be significantly shifted due to a workpiece clamping error or the like. In such a situation, if the operation such as welding is continued by applying the correction value held in the correction value updating means (E) as it is, the end effector (F) completely deviates from the actual path, and the end effector (F) deviates from the actual path. In a state where the relative positional relationship between (F) and the work is ignored, there is a possibility that an obstacle such as the end effector (F) simply moving along the teaching path may occur.
Therefore, in the present invention, the number of samplings is counted while the deviation sampled by the sampling means (C) exceeds the range of the permissible deviation, and when the counted value exceeds a predetermined permissible number of abnormality detections. Then, it is determined that there is an abnormality in the work shape or tacking or a large abnormality in the position or posture of the work, and the abnormality detection means (K) outputs an abnormality detection signal (M).
[0022]
Further, the abnormality detection means (K) is provided with an allowable number storage means (L) for storing a plurality of allowable number of times of abnormality detection according to the type of abnormality, and an abnormality detection signal corresponding to the count value of the counting means (J). It is also possible to configure to output (M).
[0023]
For example, when the count value of the counting means (J) is equal to or less than a predetermined allowable number of times of abnormality detection, an alert state including detection of an edge of a temporary attachment portion on a real path, a scratch, unevenness, or dirt on a work. It is possible to output an abnormality detection signal (m1) indicating the occurrence of an alarm and display the fact on a monitor or the like attached to the tracking control device or the robot control device (G) to alert the operator. is there.
[0024]
Further, it is desirable that one of the abnormality detection signals (M) corresponding to the count value is constituted by a stop command (m2) to the robot controller (G).
[0025]
The stop command (m2) is an abnormality detection signal set in correspondence with the large number of allowable abnormality detection times. For example, when there is an extreme abnormality in the workpiece shape or the state of temporary attachment, or when the workpiece is clamped incorrectly. This is an abnormality detection signal that is output when the position or posture of the work is significantly deviated due to the like.
By forcibly stopping the drive control of the robot by the robot controller (G) based on the output of the abnormality detection signal (m2), a processing abnormality occurs when a welding gun or the like is used as the end effector (F). And work damage can be prevented.
[0026]
The control unit (b2) of the end effector position adjusting means (B) has an offset adjusting function of adjusting the position of the end effector (F) by adding an offset amount to the correction value held by the correction value updating means (E). (N) can be deployed.
[0027]
In the case of a welding operation using a welding gun as the end effector (F), it may be necessary to adjust the relative position of the end effector (F) with respect to the welding line that is the actual path according to the difference in the welding method. For example, as illustrated in FIG. 4, in the case of butt welding performed by butt-joining the workpiece, it is necessary to move the end effector (F) along the welding line (actual path) of the butt portion of the workpiece. However, in the lap fillet welding exemplified in FIG. 5, it is necessary to move the end effector (F) with a predetermined amount offset from the welding line (actual path).
By adjusting the position of the end effector (F) by adding an offset amount to the correction value held by the correction value updating means (E), a special change is made to the drive control program (teaching data) on the robot controller (G) side. It is possible to cope with various welding operations such as lap fillet welding that requires an offset, without adding the welding.
[0028]
In each of the above configurations, the drive unit (b1) in the end effector position adjusting unit (B) and the sensor unit (a1) in the relative deviation detection unit (A) connect the tip of the robot arm (I) and the end effector (F). It can be provided at the part of the attachment (Q) to be connected.
[0029]
A drive unit (b1) for moving the end effector (F) and a sensor unit (a1) for detecting a deviation are provided on the attachment (Q), and the attachment (Q) is attached to an industrial robot. For example, the present invention can be applied to a conventional industrial robot without making any hardware changes. Of course, these components may be incorporated into the main body of the industrial robot.
[0030]
Further, the control unit (b2) in the end effector position adjustment unit (B), the control unit (a2) in the relative deviation detection unit (A), the sampling unit (C), the sampling deviation determination unit (D), and the correction value updating unit ( E) can be provided in the casing (R) of the tracking control device independently of the robot control device (G).
[0031]
By disposing all the control components required for adjusting the position of the end effector (F) in the housing (R) of the tracking control device, hardware and software can be added to the robot control device (G). The present invention can be applied without making the above modifications. These components can be incorporated in the robot controller.
[0032]
When all the control components required for adjusting the position of the end effector (F) are arranged in the housing (R) of the tracking control device, the robot control device (G) and the tracking control device are further arranged. The controller (R) is connected to the casing (R) so as to be able to perform data communication, and at least information on the interpolation form of the teaching path and the section of the teaching path is transferred from the robot controller (G) to the tracking controller. Further, it is preferable that at least an abnormality detection signal constituted by a stop command (m2) is transferred from the tracking control device to the robot control device (G).
[0033]
With such a configuration, even if the tracking control device is provided independently of the robot control device (G), the interpolation format executed by the robot control device (G) is determined by sampling deviation determination. Since the means (D) can recognize in real time, abnormality determination processing suitable for the interpolation format and the section of the teaching path can be performed. When an unacceptable abnormality, for example, an abnormality of the clamp, is detected, the drive control of the robot by the robot controller (G) can be forcibly stopped by a stop command (m2) from the tracking controller.
[0034]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. FIG. 6 is a functional block diagram schematically illustrating the configuration of the tracking control device 1 according to an embodiment to which the present invention is applied. In addition, the schematic configuration of the robot control device 2 and the general configuration of the industrial robot 3 are illustrated. Is also shown.
[0035]
The industrial robot 3 employed in this embodiment is a known articulated industrial robot, and includes a pivot for swiveling the robot body 5 with respect to a base plate 4 installed on a horizontal surface, and a first pivot with respect to the base plate 4. A first swing axis for swinging the arm 6, a second swing axis for swinging the second arm 7 with respect to the first arm 6, and a third arm 8 with respect to the second arm 7; And a rotating shaft for rotating the wrist 9 provided at the tip of the third arm 8.
[0036]
The structure of the industrial robot 3 is merely an example, and the wrist 9 located at the tip of the arm is provided with freedom of movement in three orthogonal directions and the rotation of the wrist 9 is guaranteed. Does not matter. Of course, the tilt control of the list 9 may be possible.
[0037]
A welding gun 10 as an end effector is attached to a wrist 9 at the tip of an arm via an attachment 11.
[0038]
The robot controller 2 stores a CPU 12 for arithmetic processing, a ROM 13 storing a control program for the CPU 12, a RAM 14 used for temporary storage of arithmetic data, and a drive control program for a robot created by a user. A non-volatile memory 15 such as a hard disk, a manual data input device 16 with a monitor used for program editing, etc., a teaching operation panel 17 for teaching work, an axis control circuit 18 and an input / output interface 19 are provided. It is a normal robot control device.
[0039]
Here, the teaching operation and the reproduction operation when performing the automatic welding operation using the industrial robot 3, the robot control device 2, and the welding gun 10 will be briefly described.
[0040]
At the time of the teaching operation, first, a work to be welded is placed on a work table placed near the industrial robot 3 as shown in FIG. 4 or overlapped as shown in FIG. If necessary, the workpieces may be clamped at this stage, or temporary welding may be performed by partial welding.
[0041]
Next, the operator operates the teaching operation panel 17 to manually drive the industrial robot 3 so that the welding gun 10 at the tip of the robot arm is fixed at the reference position (home position) on the attachment 11 and the welding line is fixed. And operating the teaching button of the teaching operation panel 17 at a necessary point, for example, as shown in FIG. 3, a passing point through which the welding gun 10 at the tip of the robot arm should pass (hereinafter referred to as a teaching point). Is stored in the nonvolatile memory 15.
[0042]
The welding line referred to here is a line formed at the butt portion of the work in the case of butt welding as shown in FIG. 4, and the upper side in the case of lap fillet welding as shown in FIG. Is the contour line of the work located at.
[0043]
Next, the operator applies the teaching point data to an automatic programming device or converts the data into a programming language using the automatic programming function of the robot control device 2, and generates a drive control program including, for example, an APT sentence. Then, the drive control program is stored in the nonvolatile memory 15 as a user program. In the course of the conversion work, it is possible to specify the feed speed in each section from the teaching point to the teaching point, and to specify the form of linear interpolation or circular interpolation.
[0044]
An example of a drive control program corresponding to the teaching path in FIG. 3 is schematically illustrated in FIG. In the examples of FIGS. 3 and 7, the teaching point P0 is the retracted position of the robot arm tip during the welding operation, that is, the approach point, and the substantial teaching points on the welding line are P1 (processing start point) to Pn1. (The processing end point) is n1.
[0045]
In the example of FIG. 7, the movement from the teaching point P0 at the position (Xp0, Yp0, Zp0) on the robot coordinate system, which is the approach point, to the machining start point P1 at the position (Xp1, Yp1, Zp1) on the robot coordinate system. Uses linear interpolation of the feed speed F0. The status column is unique to the present embodiment, and the presence or absence of a clamp and the presence or absence of a temporary attachment in that section, or the permissible deviation inherent to the teaching section (hereinafter referred to as block-to-block designation) as the permissible deviation of this section. A value indicating whether or not (tolerance) is preferentially used is stored. However, this field is not an essential requirement.
[0046]
The reproduction operation of the industrial robot 3 is realized by the robot controller 2 executing the above-described drive control program and moving the tip of the arm along the teaching path.
[0047]
Specifically, the CPU 12 of the robot controller 2 reads the movement command one block at a time from the beginning of the drive control program in the nonvolatile memory 15 and moves the specified movement toward the target position specified by this one block. A pulse distribution process is performed on the servomotors of the respective axes of the industrial robot 3 via the axis control circuit 18 so that the arm tip moves in the form of speed and interpolation so that the arm tip falls within the in-position width of the target position. By starting the processing relating to the movement command for the next one block at this stage, a smooth movement of the arm is realized.
[0048]
Here, the movement command for one block is a set of commands arranged side by side as shown in FIG. For example, in the example of FIG. 7, the movement command read first relates to the processing start point P1, the interpolation format is linear interpolation, the feed speed is F0, and the target position is a position (Xp1, Yp1, Zp1). Since the initial position at the start of machining is the approach point P0 at the position (Xp0, Yp0, Zp0) on the robot coordinate system, the tip of the robot arm is P0 (Xp0, Yp0, Zp0) by the movement command of the first one block. From the position P1 to the position P1 (Xp1, Yp1, Zp1) at the feed speed F0 as in the example of FIG. 3 in the form of linear interpolation.
[0049]
Thereafter, the movement commands for one block are sequentially read in the same manner as described above, and the pulse distribution processing is executed. When the pulse distribution processing for the last block returning to the approach point P0 is completed, the reproduction processing for one cycle is completed. I do.
[0050]
Next, the configuration of the tracking control device 1 which is a component unique to the present embodiment will be described in detail.
[0051]
The tracking control device 1 is provided on an attachment 11 connecting the tip of the robot arm and the welding gun 10 and constitutes a part of an end effector position adjusting means, and a driving unit 28 provided on the attachment 11 and having a relative deviation. It comprises a sensor unit 29 which constitutes a part of the detecting means, and a housing 27 which is provided independently of the robot control device 2. Inside the housing 27, the position of the welding gun 10 as an end effector is stored. The control components needed to adjust are implemented.
[0052]
Among them, the sensor unit 29 uses a known method such as triangulation using a laser slit light at the time of the reproducing operation of the industrial robot, and the position of the tip of the welding gun 10 given by the teaching operation and the actual welding line. To detect a deviation (hereinafter, simply referred to as a deviation) occurring in a direction perpendicular to the movement route.
[0053]
However, due to differences in the work clamping and temporary setting and the setting of the work on the work table, etc., the actual welding line position and attitude during the teaching operation and during the regenerating operation, and depending on the work shape abnormality, etc. The shape of the line itself may change, and the welding line referred to here is the welding line at the time of the regenerating operation, that is, the actual path.
[0054]
The drive unit 28, which is a part of the end effector position adjusting means, is configured using a servomotor, a rack and pinion, and the like, and moves the welding gun 10 mounted below the attachment 11 to a home position on the attachment 11 (for teaching operation). (Fixed position at that time) as a reference, the workpiece is uniaxially moved in a plane substantially parallel to the welded portion of the work.
As described above, the wrist 9 for attaching the attachment 11 is controlled by the robot so that the sensor unit 29 is always located forward in the traveling direction on the route, and the welding gun 10 functioning as an end effector is always located backward in the traveling direction. Since the rotational position is adaptively controlled by the device 2, the moving direction of the welding gun 10 fed by the drive unit 28 is uniquely determined with respect to the moving path of the arm. As illustrated in FIG. 3, the moving directions of the welding gun 10 fed by the driving unit 28 are two directions orthogonal to the moving path of the arm, that is, left and right with respect to the moving direction of the arm. Direction.
[0055]
The above-mentioned deviation is, to the maximum, the tip position of the welding gun 10 given by the teaching operation, that is, the tip position of the welding gun 10 when the welding gun 10 is positioned at the home position on the attachment 11 and the actual welding. This is a deviation (absolute amount) generated in the direction perpendicular to the movement path between the welding gun 10 and the tip of the welding gun 10 whose position has been corrected by feeding by the drive unit 28 and the welding line. It does not mean the deviation (incremental amount) between them.
[0056]
Inside a housing 27 constituting a main part of the tracking control device 1, a CPU 20 for arithmetic processing, a ROM 21 storing a control program of the CPU 20, a RAM 22 used for temporary storage of arithmetic data, etc. Non-volatile memory 23 for storing allowable deviations Tr1 and Tr2 relating to the determination, a plurality of allowable abnormality detection times X1, X2, X3, etc. according to the offset amount and the type of abnormality in lap fillet welding, and their settings A manual data input device 24 with a monitor used for data input and the like, an input / output circuit 25, an input / output interface 26, and the like are mounted.
[0057]
The non-volatile memory 23 stores a plurality of allowable number of abnormality detections X1, X2, and X3 according to the type of abnormality, and thus is a virtual allowable number storage unit.
[0058]
Further, the non-volatile memory 23 is provided with an inter-block deviation storage table for storing an allowable deviation unique to each teaching section, that is, an inter-block designated allowable deviation. The permissible deviation according to each section of the teaching path is individually set in two directions orthogonal to the teaching path, that is, left and right directions based on the moving direction of the robot arm. However, the permissible deviation unique to each teaching section does not prevent the use of the same value as the permissible deviation of each teaching section.
[0059]
FIG. 8 shows an example of the inter-block deviation storage table. As shown in FIG. 8, the block-to-block deviation storage table stores, for each block of the drive control program generated based on the teaching point data, that is, for each section of the teaching path, the left and right of the moving direction of the robot arm. It is set individually for the right. In the example of FIG. 8, the allowable deviation specified between blocks for the (i−2) -th block is Tx in the plus (right) direction.i-2 +, And Tx in the minus (left) direction.i-2 It is. However, in this example, the permissible deviation to the direction inside the teaching path, that is, the direction in which the workpieces overlap in the lap fillet welding as illustrated in FIG. 5 is a plus direction, and conversely, The allowable deviation in the direction in which the workpiece does not overlap is defined as a negative direction.
[0060]
The value of the allowable deviation designated between blocks may be set by directly specifying a numerical value in an inter-block deviation storage table as shown in the example of FIG. The values of various allowable deviations are fixedly stored in the ROM 21 in advance, and the types of large, medium, and small are designated in the inter-block deviation storage table. The permissible deviation may be specified for each.
[0061]
The drive unit 28 that constitutes a part of the end effector position adjusting means on the attachment 11 is driven and controlled via an input / output circuit 25 by a command from the CPU 20 functioning as a control unit of the end effector position adjusting means. The value of the deviation detected by the sensor unit 29 constituting a part of the relative deviation detecting means on the CPU 11 is read via the input / output circuit 25 into the CPU 20 functioning as a control unit of the relative deviation detecting means.
[0062]
The housing 27 and the robot controller 2 are connected to each other via the communication line 30 and the input / output interface 19 of the robot controller 2 so that data communication is possible. Is transmitted to the housing 27 side from the teaching path interpolation format, the information on the section of the teaching path, and the like, and from the housing 27 to the robot controller 2 side, an abnormality detection signal indicating the occurrence of a warning state. And an abnormality detection signal constituted by a stop command is transferred.
[0063]
The control unit of the relative deviation detection unit, the control unit of the end effector position adjustment unit, the offset adjustment function of the end effector position adjustment unit, the sampling unit, the sampling deviation determination unit, the counting unit, the correction value updating unit, and the substantial detection unit The function realizing means is constituted by the CPU 20 of the housing 27 and the ROM 21 storing the control program thereof.
[0064]
Next, a flowchart of FIG. 9 showing an outline of a reproduction process by the CPU 12 of the robot control device 2 and FIGS. 10 to 12 showing a tracking control executed by the CPU 20 provided in the casing 27 of the tracking control device. The tracking control performed by the CPU 20 as each means will be described in detail with reference to a flowchart.
[0065]
First, with reference to FIG. 9, the processing of the CPU 12 of the robot control device 2 required for reproducing the operation taught to the robot will be briefly described.
[0066]
The CPU 12 of the robot control device 2 that has started the reproduction process based on the teaching data first initializes the value of the program counter i to 0 (step a1), increments the value of the counter i by 1 (step a2), A movement command for one block is read from the drive control program (see FIG. 7) in the non-volatile memory 15 based on the value of i (step a3). It is determined whether or not a setting for preferential use is made (step a4).
[0067]
Here, if the setting to use the allowable deviation specified between blocks is set, the CPU 12 sets 1 to the block specified storage register f0 and skips the processing from step a5 to step a13 (step a14). ).
[0068]
If the setting to use the permissible deviation specified between blocks is not made, after setting 0 in the inter-block specification storage register f0 (step a5), it is further determined whether this movement command is linear interpolation. It is determined whether the interpolation is circular interpolation (step a6).
[0069]
Then, in the case of linear interpolation, the CPU 12 sets 0 in the interpolation format storage register f1 (step a7), while in the case of circular interpolation, the CPU 12 sets 1 in the interpolation format storage register f1 (step a8). ).
[0070]
Next, the CPU 12 determines whether a clamp or a temporary attachment is set in the status column of the movement command (step a9, step a10). If the clamp is set, 1 is stored in the status storage register f2. Is set (step a11), and if the temporary setting is set, 2 is set in the status storage register f2 (step a12). If neither setting is detected, 0 is set in the status storage register f2 (step a13).
[0071]
Next, the CPU 12 starts a pulse distribution process for each predetermined cycle based on the movement command of the one block, and applies a feed along the teaching path to the robot arm by applying the commanded feed speed and the interpolation format (step S12). a15) For each processing cycle of the pulse distribution processing, it is checked whether or not a stop command has been input from the casing 27 of the tracking control device (step a16). If no stop command is detected in this determination processing, the CPU 12 Further, the value of the current position storage register of each axis provided as a standard feature in the industrial robot 3 is read, and it is determined whether or not the robot arm tip has reached the in-position width of the target position of the movement command (step). a17). If the tip of the robot arm has not reached the in-position width of the target position of the movement command, the CPU 12 repeatedly executes the processing of steps a15 to a17 in the same manner as described above, and executes the movement command of the one block. Is repeatedly executed at predetermined intervals.
[0072]
For example, in the program example shown in FIG. 7, first, a movement command to the machining start point P1 is read based on the current value 1 of the program counter i, and the approach point (Xp0, Yp0, Zp0) is obtained by linear interpolation of the feed speed F0. ), The pulse distribution process from the processing start point (Xp1, Yp1, Zp1) to the target position is performed. Naturally, the value of the inter-block designation storage register f0 is set to 0, the value of the interpolation format storage register f1 is set to 0 (linear interpolation), and the value of the status storage register f2 is set to 0 (no clamping and temporary attachment). become.
[0073]
The inter-block designation storage register f0, the interpolation format storage register f1, and the status storage register f2 are stored in the RAM 14 of the robot controller 2 which functions as a shared RAM for the CPU 12 of the robot controller 2 and the CPU 20 of the tracking controller 1. It is a built-in register, and any of the CPUs 12 and 20 can access the registers f0, f1, and f2 to check the contents. The current value of the program counter i corresponding to the information on the section of the teaching path is also updated and stored in the RAM 14.
[0074]
When the pulse distribution processing for one block is completed and the tip of the robot arm reaches the in-position width of the target position while repeatedly executing the processing of step a15 to step a17, the CPU 12 of the robot control device 2 It is determined whether or not the current value of the program counter i is 1, that is, whether or not the movement command for one block executed this time is from the approach point P0 to the machining start point P1 (step a18).
[0075]
Here, if the current value of the program counter i is 1, it means that the movement command for one block from the approach point P0 to the machining start point P1 has been completed, and the CPU 12 sets the welding gun as an end effector. A command to start welding is output to 10 to start the operation of the welding gun 10 (step a20).
[0076]
Next, the CPU 12 of the robot controller 2 determines whether the current value of the program counter i has reached the value n1 indicating the last block of the drive control program (step a19), and the current value of the program counter i has reached n1. If not, it means that the teaching path (weld line) for performing the welding operation is still left, so the CPU 12 increments the value of the program counter i by 1 (step a2), and moves the next one block. The command is read (step a3), and the respective registers f0, f1, f2 are stored in accordance with the presence / absence of application of the permissible deviation designated between blocks to the one block, the presence / absence of clamping or temporary attachment, and the type of linear interpolation or circular interpolation. After setting the values (step a4 to step a14), the above-mentioned Repeatedly executes the pulse distribution processing of the like.
[0077]
In this way, the value of the program counter i is incremented one after another, and as a result of repeatedly executing the pulse distribution processing based on the movement command of each block, for example, a section from the processing start point P1 to the processing end point Pn1 shown in FIG. , The tip of the robot arm is moved along the teaching path, and the welding operation is performed in the section.
[0078]
During this time, every time the next one block is newly read, the value of the inter-block designation storage register f0 or the value of the interpolation format storage register f1 and the value of the status storage register f2 are sequentially updated.
[0079]
Finally, the current value of the program counter i reaches n1, and the teaching point Pn1-1When it is confirmed in the determination processing of step a19 that the movement toward the machining end point Pn1 has been completed, the CPU 12 of the robot controller 2 outputs a welding end command to the welding gun 10 to stop the operation of the welding gun 10. (Step a21).
[0080]
Further, if the input of the stop command from the tracking control device 1 is confirmed in the process of step a16 during the execution of the pulse distribution process for each predetermined cycle, the pulse distribution process required for the robot arm feed is performed. And the welding end command is output to the welding gun 10 in the same manner as described above.
[0081]
Next, the CPU 12 initializes the value of the program counter i to 0 (step a22), reads a movement command for one block related to the approach point P0 again (step a23), and distributes the pulse at predetermined intervals in the same manner as described above. The robot arm is moved by repeatedly executing the processing, the tip of the robot arm is retracted from the processing end point Pn1 to the approach point P0 (step a24, step a25), and a series of drive control programs related to the reproduction operation of the robot is completed. The apparatus enters a standby state waiting for the input of a new program execution command.
[0082]
Here, if the work whose welding has been completed is removed from the work table, the next work to be welded is set, and a program execution command is input to the robot controller 2 again, the same processing operation as described above is repeatedly executed. Will be.
[0083]
As described above, regarding the processing on the robot control device 2 side required for the reproduction operation, the inter-block designation is performed according to whether or not the setting is made such that the allowable deviation of the inter-block designation is preferentially used. Only when the memory register f0 is set to 0 or 1 and there is no setting to use the permissible deviation specified between blocks, the interpolation format of the movement command of one block and the presence / absence of clamp and temporary attachment are set in the registers f1 and f2. Except that the pulse distribution process is immediately stopped and the robot arm is retracted to the initial position when the input of the stop command from the housing 27 of the tracking control device 1 is confirmed. It is exactly the same as the conventional robot control device.
[0084]
Next, the tracking control that the CPU 20 of the tracking control device that operates independently in cooperation with the robot control device 2 repeatedly executes at predetermined intervals will be described with reference to FIGS. 10 to 12. And functions as a control unit of the relative deviation detecting means, a control unit of the end effector position adjusting means, an offset adjusting function of the end effector position adjusting means, a sampling means, a sampling deviation determining means, a counting means, a correction value updating means and an abnormality detecting means. Is shown in detail.
[0085]
The CPU 20 that has started the tracking control first accesses the RAM 14 of the robot controller 2 functioning as a shared RAM via the input / output interface 26, the communication line 30, and the input / output interface 19, and reads the current value of the program counter i ( Step b1), it is determined whether this value exceeds 1 (step b2).
[0086]
Here, the case where the current value of the program counter i does not exceed 1, that is, the case where the current value of the program counter i is 1 and the robot arm is moving from the approach point P0 toward the machining start point P1. If the current value of the program counter i is 0 and the robot arm is moving from the machining end point Pn1 to the approach point P0, or if the robot arm is waiting at the approach point P0, Substantially the tracking control after b3 is not executed, and the tracking control in the processing cycle ends as it is. That is, tracking control is unnecessary and is not executed.
[0087]
On the other hand, if the current value of the program counter i is greater than 1 and the robot arm is moving in any section from the processing start point P1 to the processing end point Pn1 while the welding gun 10 is operating, the step The tracking control after b3 is continuously executed.
[0088]
In this case, the CPU 20 accesses the RAM 14 of the robot controller 2 and reads the current value of the inter-block designation storage register f0 in the same manner as described above (step b3). First, it is determined whether the current value of the register f0 is 0 or not. That is, it is determined whether or not it is necessary to apply the permissible deviation designated between the blocks to the block that is currently executing the interpolation processing, that is, the i-th block (step b4).
[0089]
Here, if the determination result of step b4 is true and it is determined that there is no need to apply the allowable deviation specified between blocks to this block, the CPU 20 further proceeds to the RAM 14 of the robot control device 2. To read the current value of the interpolation format storage register f1 (step b5), and determine whether the current value of the register f1 is 0 or 1; that is, the linear interpolation is executed on the robot controller 2 side. It is determined whether or not circular interpolation is being performed (step b6).
[0090]
When the current value of the register f1 is 0 and linear interpolation is being performed, the CPU 20 functioning as a part of the sampling deviation determination unit stores the user-set allowable value stored in the nonvolatile memory 23 in advance. Among the deviations, a small allowable deviation Tr1 having a value set corresponding to the linear interpolation is selected and read, and this value is set in the allowable deviation storage register Tr (step b7), while the current value of the register f1 is 1. When the circular interpolation is performed, the user selects and reads a large allowable deviation Tr2 having a value set in accordance with the circular interpolation from among the user-set allowable deviations stored in the nonvolatile memory 23 in advance. This value is set in the allowable deviation storage register Tr (step b8).
[0091]
Next, the CPU 20 functioning as a control unit and a sampling unit of the relative deviation detecting unit is provided in the attachment 11 on the industrial robot 3 side, and outputs an output from the sensor unit 29 constituting a part of the relative deviation detecting unit to an input / output circuit. 25, the deviation occurring in the direction perpendicular to the movement path between the tip position of the welding gun 10 given by the teaching operation and the actual welding line is obtained (step b9). CPU 20 compares the magnitude relationship between the deviation and the allowable deviation Tr (step b10).
[0092]
Here, when it is determined that the deviation between the teaching path and the actual path is within the range of the allowable deviation Tr, the teaching path and the actual path substantially coincide with each other, and it is temporarily determined that the arm tip position (teaching position) Path) and the welding line (actual path), even if there is some deviation, the position of the welding gun 10 is moved in the direction orthogonal to the teaching path by the drive unit 28 which constitutes a part of the end effector position adjusting means. The adjustment means that the tip of the welding gun 10 can be easily positioned on the welding line.
[0093]
In this case, the CPU 20 functioning as the correction value updating unit optimizes the value of the correction value by updating and storing the deviation obtained in the process of step b9 of the processing cycle as the correction value (step b11). Next, the CPU 20 sets a value 0 indicating no abnormality in an operation state storage flag f3 for storing the presence or absence of an abnormality in the tracking operation (step b12), and at this time, some abnormality detection signal has already been output. If there is (step b13), the output of the signal is stopped and the fact that the abnormality has been recovered is stored (step b14).
[0094]
Next, the CPU 20 functioning as an offset adjusting function implementing unit in the control unit of the end effector position adjusting unit reads an offset amount set by the user from the nonvolatile memory 23 (step b15). Usually, the set value of the offset amount is 0 in the case of butt welding as illustrated in FIG. 4, and in the case of lap fillet welding as illustrated in FIG. In the right direction, a value of about several millimeters is set as the offset amount.
[0095]
Next, the CPU 20 functioning as a control unit of the end effector position adjusting means and an offset adjusting function realizing means adds the offset amount to the value of the correction value updated in the processing of step b11, and according to the added value, the input / output circuit A drive command is output to a drive unit 28 which constitutes a part of the end effector position adjusting means via the reference numeral 25, and only the welding gun 10 is moved in a direction perpendicular to the teaching path while maintaining the position and posture of the robot arm. The position of the tip of the welding gun 10 is adjusted to the actual path, that is, to the welding line in the case of butt welding, and to the position to be welded several millimeters from the welding line in the case of lap fillet welding (step b16). .
[0096]
However, the movement command given to the drive unit 28 is an absolute movement distance from a reference position (home position) on the attachment 11.
[0097]
Here, if the position of the arm tip (teaching path) and the actual path (welding line) completely match in the case of butt welding, the value of the correction value is 0, and therefore the welding gun 10 Is positioned at the home position on the attachment 11, and the tip of the welding gun 10 is positioned on the actual path (welding line). If the actual path (welding line) is shifted by 1 mm in the plus direction (right direction) with respect to the arm tip position (teaching path) in the case of butt welding, the value of the correction value is +1. The welding gun 10 is moved from the home position by +1 mm (1 mm to the right) so that the tip of the welding gun 10 is positioned on the actual path (welding line). become. In the case of lap fillet welding, the offset amount is added to the correction value. However, the principle of operation of position correction is the same as in the case of butt welding.
[0098]
On the other hand, if the determination result of step b10 of the processing cycle is false, that is, if it is determined that the deviation between the teaching path and the actual path exceeds the range of the allowable deviation Tr, the welding gun Although the sensor 10 is appropriately moved along the actual path in a state where the position is adjusted, the value of the deviation may increase due to the sensor unit 29 picking up disturbance such as scratches, irregularities or dirt on the work. In spite of the fact that the welding gun 10 is properly moved along the actual path in a state where the position of the welding gun 10 is adjusted, the value of the deviation increases due to the fact that the sensor unit 29 picks up the contour of the temporary attachment portion or the clamp portion of the work. There is a possibility that the teaching path does not match the actual path at all due to an abnormal shape of the work, an incorrect setting of the work on the work table, or the like.
[0099]
In such a case, the CPU 20 functioning as a part of the counting means first determines whether the operation state storage flag f3 is set to 0 or 1 in other words, that is, in the tracking control processing before the processing cycle. It is determined whether there is a history in which the deviation between the teaching path and the actual path exceeds the range of the allowable deviation Tr (step b17).
[0100]
If the determination result in step b17 is true, it means that there is no history in which the deviation between the teaching path and the actual path exceeds the range of the allowable deviation Tr in the tracking control processing before the processing cycle. The CPU 20 sets the operation state storage flag f3 to 1 to store the occurrence of the first abnormality (step b18), and initializes the value of the counter C functioning as a counting means to 0 once (step b19). The occurrence of the first abnormality is counted by incrementing the value of the counter C again by one (step b20).
[0101]
On the other hand, if the determination result of step b17 is false, it is determined that there is already a history in which the deviation between the teaching path and the actual path exceeds the range of the allowable deviation Tr in the tracking control processing before the processing cycle. Therefore, the CPU 20 skips the processing of step b18 and step b19 and increments the value of the counter C functioning as a counting means by 1, thereby cumulatively counting the number of occurrences of the continuously occurring abnormality. (Step b20).
[0102]
Then, the CPU 20 accesses the RAM 14 of the robot control device 2 to read the current value of the inter-block designation storage register f0 (step b21), and determines whether the current value of the register f0 is 0 or 1; It is determined whether it is necessary to apply the specified tolerance between blocks to the block for which the interpolation processing is being executed (step b22).
[0103]
Here, if the result of the determination in step b22 is true, that is, if it is determined that there is no need to apply the specified tolerance between blocks to this block, the CPU 20 further sets the shared RAM as The value of the status storage register f2 is read from the RAM 14 of the functioning robot control device 2 (step b23), and whether the value 0 indicating the state without clamping and temporary attachment is set in the status storage register f2 (step b24), It is determined whether the value 1 indicating the clamp is set or the value 2 indicating the temporary attachment is set (step b29).
[0104]
If the determination result of step b24 is true, that is, the work is not fixed by the clamp to the block of the teaching path at which the robot arm is currently moved, and the work is temporarily attached by the partial welding. When it is determined that the abnormality detection has not been performed, the CPU 20 reads the set value of the abnormality detection allowable number X1 from the nonvolatile memory 23 as the allowable number storage means, and counts the number of consecutive occurrences of the abnormality counted by the counter C. A magnitude relationship between the value and the allowable number of abnormal detections X1 is compared (step b25).
[0105]
Here, if the determination result of step b25 is true, it means that the deviation between the teaching path and the actual path exceeds the range of the allowable deviation Tr and the number of consecutive samplings is relatively small, and The CPU 20 functioning as a detecting unit determines that the sensor unit 29 has picked up a disturbance such as a scratch or unevenness on the workpiece or a dirt and the like, and a sensor abnormality in which the value of the deviation temporarily increases has occurred. Alternatively, an abnormality detection signal indicating a sensor abnormality due to dirt or the like is output, and a message indicating the occurrence of the sensor abnormality due to scratches, unevenness, dirt, or the like is sent to a monitor provided in the housing 27 of the tracking control device 1 or the robot control device 2. It is displayed to alert the operator (step b26).
[0106]
In this case, it is considered that the welding gun 10 itself is appropriately moving along the actual path in a state where the position has been adjusted by the end effector position adjusting means. By skipping the processing of step b14, the value of the correction value clamped when the determination result of step b10 becomes false, that is, sampling at the sampling cycle immediately before the sampled deviation exceeds the range of the allowable deviation Tr. The deviation value thus obtained is held as it is as a correction value, and the processing of step b15 and step b16 is executed in the same manner as described above, so that the tip position of the welding gun 10 is adjusted to the actual path.
[0107]
For example, as shown in the example of FIG. 13, if the deviation between the teaching path and the actual path exceeds the range of the allowable deviation Tr for the first time at the sampling period S2, the determination result of step b10 at this point is When false, the value 1 indicating that abnormality is being detected is set in the operation state storage flag f3 in the processing of Steps b17 and b18, and at the same time, 1 is set in the counter C that counts the number of continuous abnormalities in the processing of Steps b19 and b20. Is done. At the time of the sampling cycle S2, the value of the counter C is 1, that is, a value smaller than the abnormality detection allowable number X1, so that the determination result of step b25 in the sampling cycle S2 is true, and the steps b11 to b11 in the sampling cycle S2 are true. Based on the value of the correction value Q1 clamped by the value of the deviation Q1 detected in the sampling cycle S1 one processing cycle before due to the non-execution of the processing of b14, in the sampling cycle S2 which is the processing cycle concerned The position adjustment processing of the welding gun 10 is executed in the processing of Step b15 to Step b16.
The deviation between the teaching path and the actual path remains beyond the range of the allowable deviation Tr even at the time of the sampling period S3, which is the next processing period, so that the determination result of step b10 is false as described above. As a result, the value of the operation state storage flag f3 is held at 1, and at the same time, the counter C is incremented by 1 to 2 at the process of step b20. At the time of the sampling cycle S3, the value of the counter C is 2, that is, a value smaller than the abnormality detection allowable number X1, so that the determination result of step b25 in the sampling cycle S3 is true, and the steps b11 to b11 in the sampling cycle S3 are true. Based on the value of the correction value Q1 clamped by the value of the deviation Q1 detected in the sampling cycle S1 two processing cycles before due to the non-execution of the processing of b14, in the sampling cycle S3 which is the processing cycle concerned The position adjustment processing of the welding gun 10 is executed in the processing of Step b15 to Step b16.
As a result, the tip of the welding gun 10 can move substantially along the actual path as shown by the dashed line in FIG. 13 without being affected by disturbance detection such as scratches, irregularities or dirt on the work. It becomes possible.
Next, at the time of the sampling cycle S4, which is the next processing cycle, the deviation Q2 between the teaching path and the actual path falls within the range of the allowable deviation Tr, so that the determination result of step b10 in the sampling cycle S4 becomes true. The clamp of the correction value is released. That is, the value of the correction value is updated to a value corresponding to the deviation Q2 by executing the processing of steps b11 to b14 in the sampling cycle S4, and the value 0 indicating the recovery from the abnormality is set in the operation state storage flag f3. At the same time, based on the value of the correction value Q2 corresponding to the deviation Q2 detected in the sampling cycle S4 that is the processing cycle, the position adjustment processing of the welding gun 10 in the sampling cycle S4 that is the processing cycle is performed in steps b15 to b15. This is executed in the process of step b16.
At this stage, the value of the counter C (current value 2) is not reset to 0. However, when the deviation between the teaching path and the actual path exceeds the range of the allowable deviation Tr again, the determination processing of step b17 is executed. There is no problem because the value 1 for counting the first occurrence of abnormality is set in the processing of step b19 and step b20 described above.
[0108]
On the other hand, if the determination result of step b25 is false, the number of continuous samplings in which the deviation between the teaching path and the actual path exceeds the range of the allowable deviation Tr is large, and the shape of the work is abnormal or the work is Since there is a high possibility that a setting error or the like has occurred, the CPU 20 functioning as the abnormality detecting means determines that it is not appropriate to continue the welding operation, and outputs an abnormality detection signal indicating a shape abnormality or a setting abnormality. Then, a message indicating the occurrence of a shape error or a setting error is displayed on the housing 27 of the tracking control device 1 or a monitor attached to the robot control device 2 (step b27), and the input / output circuit 26 and the communication line 30 are connected. An abnormality detection signal serving as a stop command is output to the robot controller 2 via the output interface 19 (step b). 8).
[0109]
Then, the CPU 12 of the robot control device 2 that has detected the stop command in the determination processing of step a16 stops the regenerating operation of the industrial robot 2 and the operation of the welding gun 10 to prevent damage to the work, the robot, and the end effector. .
[0110]
As a result, the retreating process of the robot arm is started by the process of the CPU 12 of the robot control device 2 and the value of the program counter i is initialized to 0 (see step a22). The determination result of b2 is constantly false, and the substantial tracking control (processing after step b3) is not executed.
[0111]
On the other hand, when the value of the status storage register f2 read in the processing cycle is 2, and the determination result of step b24 and the determination result of step b29 are both false, that is, the robot arm is currently moved. When it is determined that the workpiece is temporarily attached to the block of the teaching path by partial welding, the welding gun 10 is appropriately moved along the actual path in a state where the position is adjusted by the end effector position adjusting means. In spite of this, there is a possibility that the value of the deviation increases due to the sensor unit 29 picking up the contour of the temporary attachment portion.
[0112]
In this case, the CPU 20 reads the set value of the abnormality detection allowable number X2 from the non-volatile memory 23 as the allowable number storage means and compares the value of the continuous occurrence number of abnormalities counted by the counter C with the abnormality detection allowable number X2. The magnitude relation is compared (step b30).
[0113]
Here, if the determination result of step b30 is true, it means that the deviation between the teaching path and the actual path exceeds the range of the allowable deviation Tr and the number of consecutive samplings is relatively small, and The CPU 20 functioning as a detecting means determines that the sensor unit 29 has picked up the contour of the temporary attachment unit and that a sensor abnormality in which the value of the deviation temporarily increases has occurred, and detects the sensor abnormality due to the influence of the temporary attachment unit. And outputs a message indicating the occurrence of a sensor abnormality due to the effect of the temporary attachment portion to the monitor 27 attached to the housing 27 of the tracking control device 1 or the robot control device 2 to alert the operator. Arouse (step b31).
[0114]
In this case, it is considered that the welding gun 10 itself is appropriately moving along the actual path in a state where the position has been adjusted by the end effector position adjusting means. By skipping the processing of step b14, the value of the correction value clamped when the determination result of step b10 becomes false, that is, sampling at the sampling cycle immediately before the sampled deviation exceeds the range of the allowable deviation Tr. The deviation value thus obtained is held as it is as a correction value, and the processing of step b15 and step b16 is executed in the same manner as described above, so that the tip position of the welding gun 10 is adjusted to the actual path.
[0115]
On the other hand, if the determination result of step b30 is false, the number of continuous samplings in which the deviation between the teaching path and the actual path exceeds the range of the allowable deviation Tr is large, and the tacking section is appropriately joined. Since there is a high possibility that the welding operation will not be performed, the CPU 20 functioning as the abnormality detection unit determines that it is not appropriate to continue the welding operation, and temporarily attaches the welding operation to the housing 27 of the tracking control device 1 or the monitor provided with the robot control device 2. While the message indicating the occurrence of the sensor abnormality due to the influence of the unit is displayed, an abnormality detection signal serving as a stop command is output to the robot controller 2 via the input / output circuit 26, the communication line 30, and the input / output interface 19 (step b32). ).
[0116]
Then, the CPU 12 of the robot control device 2 that has detected the stop command in the determination processing of step a16 stops the regenerating operation of the industrial robot 2 and the operation of the welding gun 10 to prevent damage to the work, the robot, and the end effector. .
[0117]
As a result, the retreating process of the robot arm is started by the process of the CPU 12 of the robot control device 2 and the value of the program counter i is initialized to 0 (see step a22). The determination result of b2 is constantly false, and the substantial tracking control (processing after step b3) is not executed.
[0118]
When the value of the status storage register f2 read in the processing cycle is 1 and the determination result of step b24 is false and the determination result of step b29 is true, that is, the teaching that the robot arm is currently moved When it is determined that the work is fixed to the block of the path by the clamp, the welding gun 10 is appropriately moved along the actual path in a state where the position is adjusted by the end effector position adjusting means. Nevertheless, there is a possibility that the sensor unit 29 picks up the contour of the clamp and the value of the deviation increases.
[0119]
In this case, the CPU 20 reads the set value of the abnormal detection allowable number X3 from the non-volatile memory 23 as the allowable number storage means, and compares the value of the continuous occurrence number of abnormalities counted by the counter C with the abnormal detection allowable number X3. The magnitude relation is compared (step b33).
[0120]
Here, if the result of the determination in step b33 is true, it means that the deviation between the teaching path and the actual path exceeds the range of the allowable deviation Tr, and the number of continuous samplings is relatively small. The CPU 20 functioning as detecting means determines that a sensor abnormality has occurred in which the sensor section 29 picks up the contour of the clamp and the deviation value temporarily increases, and an abnormality detection signal indicating the sensor abnormality due to the influence of the clamp. Is displayed on the housing 27 of the tracking control device 1 or on a monitor attached to the robot control device 2 to display a message indicating the occurrence of a sensor abnormality due to the influence of the clamp to call attention of the operator (step b34). .
[0121]
In this case, it is considered that the welding gun 10 itself is appropriately moving along the actual path in a state where the position has been adjusted by the end effector position adjusting means. By skipping the processing of step b14, the value of the correction value clamped when the determination result of step b10 becomes false, that is, sampling at the sampling cycle immediately before the sampled deviation exceeds the range of the allowable deviation Tr. The deviation value thus obtained is held as it is as a correction value, and the processing of step b15 and step b16 is executed in the same manner as described above, so that the tip position of the welding gun 10 is adjusted to the actual path.
[0122]
On the other hand, when the determination result of step b33 is false, the number of continuous samplings in which the deviation between the teaching path and the actual path exceeds the range of the allowable deviation Tr is large, and the fixing by the clamp is appropriately performed. Since there is a high possibility that the welding operation will not be performed, the CPU 20 that determines that it is not appropriate to continue the welding work is determined, and the clamp 20 is attached to the monitor 27 provided in the housing 27 of the tracking control device 1 or the robot control device 2. While the message indicating the occurrence of the sensor abnormality due to the influence is displayed, an abnormality detection signal serving as a stop command is output to the robot controller 2 via the input / output circuit 26, the communication line 30, and the input / output interface 19 (step b35).
[0123]
Then, the CPU 12 of the robot control device 2 that has detected the stop command in the determination processing of step a16 stops the regenerating operation of the industrial robot 2 and the operation of the welding gun 10 to prevent damage to the work, the robot, and the end effector. .
[0124]
As a result, the retreating process of the robot arm is started by the process of the CPU 12 of the robot control device 2 and the value of the program counter i is initialized to 0 (see step a22). The determination result of b2 is constantly false, and the substantial tracking control (processing after step b3) is not executed.
[0125]
Here, the magnitude relation between the allowable number of abnormal detections X1, X2, and X3 is generally set as X1 <X2 <X3. The reason for this is that in a path where there is no temporary attachment or clamp, a sensor abnormality usually occurs exclusively due to disturbances such as scratches, irregularities, or dirt on the work. This is because a sensor abnormality due to disturbance and a substantial abnormality such as a work shape abnormality can be clearly distinguished.
On the other hand, when there is a temporary attachment, the welding itself of the temporary attachment part may act as a disturbance and cause a sensor abnormality, but the size of the temporary attachment part is smaller than that of a general scratch, unevenness or dirt. Therefore, the value of the allowable number of abnormal detections X2 is set to be larger than the value of the allowable abnormal number of times X1 so that the welding operation is not inadvertently stopped by the detection of the temporary attachment portion.
Furthermore, since the size of the clamp is generally larger than the welding trace of the tacked portion, the allowable number of times of abnormality detection X3 is set to prevent the welding operation from being inadvertently stopped by the detection of the clamp, as described above. The value is set to be larger than the value of the abnormality detection allowable number X2.
[0126]
On the other hand, when the determination result in step b4 is false, that is, when the setting is made to apply the allowable deviation designated between blocks to the block on which the interpolation processing is currently being performed. In the meantime, the CPU 20 as the sampling deviation determination means skips the processing from step b5 to step b10, and instead of these processing, based on the current value of the program counter i, from the inter-block deviation storage table in FIG. The specified block-to-block tolerance Tx set for the i-th block, ie, the block in the section where the interpolation process is currently being performed.i And Txi +Is read (step b36), and the output from the sensor unit 29 constituting a part of the relative deviation detecting means is read via the input / output circuit 25, and the tip position of the welding gun 10 given by the teaching operation is read. Is determined in a direction perpendicular to the moving path between the welding line and the actual welding line (step b37).i And plus tolerance Txi +A process is performed to determine whether or not it is within the range (step b38).
[0127]
In other words, when the setting to apply the permissible deviation specified between blocks is performed, regardless of whether the interpolation processing of the block currently being executed is linear interpolation or circular interpolation. The determination process is performed based on the allowable deviation designated between blocks preset in the inter-block deviation storage table. As shown in FIG. 8, the permissible deviation for each section is set to an arbitrary value for each block and individually for the left (minus) and right (plus) directions based on the moving direction of the robot arm. It is possible to do.
[0128]
Here, when the result of the determination in step b38 is true, the teaching path and the actual path substantially coincide with each other, and if the position between the arm tip position (teaching path) and the welding line (real path) is temporarily determined. Even if there is some deviation, the position of the welding gun 10 is adjusted in a direction perpendicular to the teaching path by the drive unit 28 which constitutes a part of the end effector position adjusting means, so that the tip of the welding gun 10 is positioned on the welding line. Since the positioning can be easily performed, the CPU 20 functioning as a correction value updating unit optimizes the value of the correction value by updating and storing the deviation obtained in the processing of step b37 of the processing cycle as the correction value ( Step b11). Next, the CPU 20 sets a value 0 indicating no abnormality in an operation state storage flag f3 for storing the presence or absence of an abnormality in the tracking operation (step b12), and at this time, some abnormality detection signal has already been output. If there is (step b13), the output of the signal is stopped and the fact that the abnormality has been recovered is stored (step b14).
[0129]
Next, the CPU 20 functioning as an offset adjusting function realizing unit in the control unit of the end effector position adjusting unit reads the offset amount set by the user from the nonvolatile memory 23 (step b15), and the control unit of the end effector position adjusting unit and the offset adjustment. The CPU 20 functioning as a function realizing unit adds an offset amount to the value of the correction value updated in the process of step b11, and controls a part of the end effector position adjusting unit via the input / output circuit 25 in accordance with the added value. A drive command is output to the driving unit 28, and only the welding gun 10 is moved in a direction orthogonal to the teaching path while maintaining the position and posture of the robot arm, and the tip position of the welding gun 10 is set to the actual path, that is, In the case of butt welding, it is on the welding line. Fit welded position several millimeters inside (Step b16).
[0130]
On the other hand, when the determination result of step b38 of the processing cycle is false, that is, the deviation between the teaching path and the actual path is the allowable deviation Tx specified between blocks set for the block.i And Txi +Is determined to be out of the range, the sensor unit 29 may detect scratches or unevenness on the work or the workpiece even though the welding gun 10 is appropriately moved along the actual path with the position adjusted. Although the deviation value may increase due to picking up a disturbance such as dirt, or the sensor unit 29 may not work even though the welding gun 10 is appropriately moved along the actual path with the position adjusted. The teaching path may not match the actual path at all due to the possibility that the value of the deviation has increased due to picking up the contour of the temporary attachment part or the clamp part, or due to abnormal work shape or incorrect setting of the work on the work table. It is possible that it has been lost.
[0131]
In such a case, the CPU 20 functioning as a part of the counting means first determines whether the operation state storage flag f3 is set to 0 or 1 in other words, that is, in the tracking control processing before the processing cycle. The deviation between the teaching path and the actual path is the allowable deviation Tx specified between blocks.i And Txi +It is determined whether there is a history out of the range (step b17).
[0132]
If the determination result in step b17 is true, the deviation between the teaching path and the actual path in the tracking control processing before the processing cycle becomes the allowable deviation Tx designated between blocks.i And Txi +Means that there is no history out of the range, the CPU 20 sets the operation state storage flag f3 to 1 to store the occurrence of the first abnormality (step b18), and stores the value of the counter C functioning as a counting means. Is initialized to 0 (step b19), and the value of the counter C is incremented by one again to count the occurrence of the first abnormality (step b20).
[0133]
On the other hand, if the determination result in step b17 is false, the deviation between the teaching path and the actual path in the tracking control processing before the processing cycle becomes the allowable deviation Tx designated between blocks.i And Txi +The CPU 20 skips the processing of step b18 and step b19 and increments the value of the counter C, which functions as a counting means, by one, so that the history is continuously generated. The number of times of occurrence of the abnormality is counted cumulatively (step b20).
[0134]
Next, the CPU 20 accesses the RAM 14 of the robot control device 2 to read the current value of the inter-block designation storage register f0 (step b21), and determines whether the current value of the register f0 is 0 or 1; It is determined whether it is necessary to apply the specified tolerance between blocks to the block for which the interpolation processing is being executed (step b22).
[0135]
In this case, since the set value 1 indicating that the permissible deviation specified between blocks is applied is set in the inter-block specification storage register f0, the determination result of step b22 is false.
[0136]
Accordingly, the CPU 20 reads the set value of the allowable number of abnormal detections X4 when the allowable deviation designated between blocks is applied from the nonvolatile memory 23 as the allowable number storing means, and counts the number of consecutive occurrences of the abnormality counted by the counter C. Is compared with the allowable abnormality detection count X4 (step b39).
[0137]
Here, if the determination result of step b39 is true, the deviation between the teaching path and the actual path is the allowable deviation Tx designated between blocks.i And Txi +Means that the number of continuous samplings out of the range is relatively small, so that the CPU 20 functioning as the abnormality detecting means picks up a disturbance such as a flaw, unevenness or dirt on the work, or a contour of a temporary attachment portion or a clamp portion. It is determined that a temporary sensor abnormality has occurred due to this, and an abnormality detection signal indicating the temporary sensor abnormality is output, and a monitor provided in the housing 27 of the tracking control device 1 or the robot control device 2 is output. A message indicating that a sensor abnormality has occurred is displayed to alert the operator (step b41).
[0138]
In this case, it is considered that the welding gun 10 itself is appropriately moving along the actual path in a state where the position has been adjusted by the end effector position adjusting means. By skipping the process of step b14, the value of the correction value clamped at the time point when the determination result of step b38 becomes false, that is, the sampled deviation becomes the allowable deviation Tx designated between blocks.i And Txi +The deviation value sampled in the sampling cycle immediately before the deviation from the range is held as a correction value as it is, and the processing of step b15 and step b16 is executed in the same manner as described above to determine the tip position of the welding gun 10. Adjust to the route.
[0139]
On the other hand, if the determination result of step b39 is false, the deviation between the teaching path and the actual path is the allowable deviation Tx designated between blocks.i And Txi +The number of continuous samplings out of the range is large, and there is a high possibility that the shape of the work is abnormal or the setting of the work on the work table is erroneous. Therefore, the CPU 20 functioning as the abnormality detecting means should continue the welding work. Is determined to be inappropriate, and the input / output circuit 26, the communication line 30, and the input / output interface are displayed while a message indicating the occurrence of a sensor abnormality is displayed on the housing 27 of the tracking control device 1 or on a monitor attached to the robot control device 2. An abnormality detection signal serving as a stop command is output to the robot control device 2 via 19 (step b40).
[0140]
Then, the CPU 12 of the robot control device 2 that has detected the stop command in the determination processing of step a16 stops the regenerating operation of the industrial robot 2 and the operation of the welding gun 10 to prevent damage to the work, the robot, and the end effector. .
[0141]
As a result, the retreating process of the robot arm is started by the process of the CPU 12 of the robot control device 2 and the value of the program counter i is initialized to 0 (see step a22). The determination result of b2 is constantly false, and the substantial tracking control (processing after step b3) is not executed.
[0142]
In this embodiment, a fixed value is always used regardless of the block section as the set value of the abnormality detection allowable number X4 when the allowable deviation designated between blocks is applied. The abnormality detection allowable number X4i may be set.
In this case, the value of the allowable number of times of abnormality detection X4i for each block is set to Tx in the block deviation storage table as shown in FIG.i +And Txi The value of X4i may be read based on the current value of the program counter i, which is information on the section of the teaching path, in the above-described determination processing in step b39.
[0143]
As already described with reference to FIG. 7, a value (f0) indicating presence / absence of an allowable deviation designated between blocks and a value (f2) indicating presence / absence of clamp and presence / absence of temporary attachment corresponding to a block in a teaching path. ) Is not a mandatory requirement.
Depending on the robot reproduction program, it is only possible to write various G codes (feed commands), T codes (commands to external devices), F codes (speed commands), and operands such as position commands accompanying them. In some cases, the status defined by the user cannot be written.
In such a case, from the processing shown in the present embodiment, the processing of step b3, step b4, the processing of step b36 to step b38, the processing of step b21, step b22, the processing of step b39 to step b41, and If the processing of steps b23 and b24 and the processing of steps b29 to b35 are removed and the value of the allowable number of abnormal detections X1 is adjusted, appropriate tracking control can be performed.
For example, in the case of welding work without tacking or clamping, the value of X1 is set to a relatively small value, and when there is tacking, the value of X1 is set to a medium size. In the operation, the value of X1 is set to be relatively large.
[0144]
In the case of a structure in which the interpolation format (f1) cannot be transferred from the robot control device 2 to the tracking control device, the processing of steps b6, b7, and b8 is removed from the processing described in this embodiment, and the arc is removed. If the larger value Tr2 allowing the interpolation is used as the allowable deviation Tr, substantially the same operation and effect can be achieved.
[0145]
Normally, any industrial robot has an interlock mechanism for forced stop and a stop signal input mechanism for safety measures, so that the housing 27 of the tracking control device 1 is connected to the robot control device 2. And the operation of stopping the welding gun 10 when the apparent abnormality occurs, regardless of the configuration of the industrial robot. It is possible to implement.
[0146]
As described above, as an embodiment, an example has been described in which the casing 27 of the tracking control device 1 is configured to be completely independent of the robot control device 2. However, the relative deviation detecting means, end effector position adjusting means, All functions of the offset adjustment function, the sampling means, the sampling deviation determination means, the counting means, the correction value updating means, and the abnormality detection means can be provided on the robot control device 2 side.
In general, the processing on the robot control device 2 side is configured to read a program for a reproducing operation, create execution data for drive control, perform pulse distribution processing, and the like as a multitask at predetermined intervals. Further, as is clear from the description of FIGS. 10 to 12, the tracking control of the present embodiment is configured as a process repeatedly executed at predetermined intervals, so that this tracking control is performed on the robot controller 2 side. It is easy for the CPU 12 to execute it by incorporating it as one of the multitasks. In addition, the axis control circuit 18 of the robot controller 2 is configured to handle channels larger than the number of axes required for the robot body, assuming the addition of additional axes such as peripheral devices. It is also possible to control the drive unit 28 of the end effector position adjusting means using the channel for the additional axis.
[0147]
Here, as an example, the case where the welding gun mounted on the tip of the robot arm is tracked along the actual path is described. However, the present embodiment is also applicable to other end effectors, for example, a handling tool including a suction pad. An equivalent configuration can be applied.
[0148]
Further, the tracking control device 1 of the present embodiment is not only a device for correcting a path at the time of welding, but also detects an abnormality of a work, an appropriateness of setting of a work, and an inappropriateness of a teaching operation. Can be diverted as an abnormality detection device.
When the present apparatus is used for such a purpose, the robot is operated in a dry cycle along a teaching path in a state where the operation of the welding gun 10 is prohibited.
If there is an abnormality in the shape of the work, an abnormality in the temporary attachment portion or the clamp portion, or if there is an error in the teaching operation itself, the above-described steps b27, b31, b34, and b34 are performed. Since the message indicating the possibility of abnormality is displayed on the monitor by the process of b41, the operator can confirm the presence or absence of the actual abnormality by referring to these abnormality displays.
[0149]
【The invention's effect】
The tracking control device of the present invention adjusts the position of the end effector in accordance with the actual path by using the deviation between the teaching path and the actual path as it is as a correction value. Therefore, it is not necessary to perform complicated arithmetic processing, and the delay of the correction control due to the delay of the arithmetic processing is reduced.
If an excessive deviation that should not be present due to the influence of the edge of the tacking portion on the actual path, the scratch or unevenness of the work, or contamination is detected, the sampling cycle immediately before exceeding the allowable deviation range is detected. The deviation sampled in the above, that is, the deviation detected in a normal state before the disturbance is applied is continuously used as a correction value, so that the movement path of the end effector is appropriately adjusted without being disturbed by the influence of the disturbance. Can be
Therefore, it is not necessary to define the position of the temporary attachment portion or the like which may be a disturbance in the drive control program of the robot at the stage of the teaching operation, and the teaching operation can be simplified. Further, even in a case where there is a difference in the position of the tacking portion or the like for each work, it is possible to absorb the difference and optimize the movement path of the end effector.
Furthermore, since only the position of the end effector is adjusted without performing the correction operation for the entire robot, the position of the end effector can be quickly adjusted with the minimum inertial resistance, and the position of the end effector is reduced. The delay of the correction control is also reduced.
[0150]
Further, since an allowable deviation for detecting an abnormality is selected in accordance with the interpolation format of the teaching route, even if the tolerance of the sensor position with respect to the moving route fluctuates due to a difference in the interpolation format, the actual deviation may be selected. It is possible to accurately determine the presence or absence of an abnormality such as a positional deviation from the route.
[0151]
Furthermore, since the tolerance can be selected for each section of the teaching path regardless of the interpolation form of the teaching path, the actual tracking accuracy required for each section required for work such as welding can be reduced. Accordingly, an appropriate allowable deviation can be applied to each section of the teaching path, and for example, the abnormality determination of a part requiring high accuracy becomes coarse, or the abnormality determination of a part that does not require accuracy is performed. The problem of being unnecessarily severe can be easily solved.
Of course, it is also possible to set a common allowable deviation for all the teaching sections, and in this case, it is possible to cope with rough tracking control as a whole or severe tracking control as a whole.
[0152]
In addition, when an allowable deviation is set for each section of the teaching path, the allowable deviation is set in two directions orthogonal to the teaching path with respect to the teaching path, that is, the left and right directions with respect to the moving direction of the robot arm. Are set individually for the left and right, for example, taking into account the difference in the feed speed of the robot arm, and the difference in the structural characteristics of the industrial robot itself, as well as the speed of the arc on the movement path, and the like. An abnormality determination can always be performed based on the optimum allowable deviation. For example, tracking control in a case where allowable deviations differ in the left-right direction, such as lap fillet welding, can be easily dealt with. .
[0153]
Further, the number of times of sampling is counted while the sampled deviation exceeds the range of the allowable deviation, and an abnormality detection signal is output when the counted value exceeds a predetermined allowable number of abnormal detections. Improper correction control even if there is an extreme abnormality in the work shape or tacking condition, or when the work position or posture is significantly shifted due to work clamping error etc. , The occurrence of an essential abnormality can be accurately detected without causing an adverse effect such that the end effector deviates from the actual route.
[0154]
Moreover, since the number of consecutive occurrences of the abnormal deviation is counted and an abnormality detection signal corresponding to the number of occurrences is output, it is possible to specifically grasp the type of the abnormality.
[0155]
In addition, one of the abnormality detection signals is configured by a stop command to the robot controller, and when there is an extreme abnormality in the workpiece shape or tacking state, or when the workpiece position or posture is If a large deviation occurs, the operation of the robot control device is forcibly stopped, so that occurrence of processing abnormality and damage to the work can be prevented.
[0156]
Furthermore, since the end effector position is adjusted in consideration of the offset amount, butt welding, fillet welding, etc. can be performed without making any special changes to the drive control program (teaching data) on the robot controller. , The end effector position can be optimized.
[0157]
In addition, since the drive unit required for adjusting the end effector position and the sensor unit required for detecting the deviation are arranged in an attachment connecting the end of the robot arm and the end effector, a conventional type is used. It is possible to reduce a delay in correction control due to a delay in arithmetic processing and a delay in correction control due to inertial resistance without making any hardware changes to the industrial robot.
[0158]
Furthermore, since all the control units required for adjusting the position of the end effector are arranged in the housing of the tracking control device independently of the robot control device, hardware and software modifications are made to the robot control device. It is possible to reduce the delay of the correction control due to the delay of the arithmetic processing and the delay of the correction control due to the inertial resistance without any delay.
[0159]
Moreover, by connecting the robot controller and the housing of the tracking controller so that data communication is possible, information on the interpolation form of the teaching path and the section of the teaching path is transferred from the robot controller to the tracking controller, and the tracking is performed. Since the control device can transmit an abnormality detection signal composed of a stop command to the robot control device, even if the tracking control device is provided independently of the robot control device, Based on the type of interpolation performed by the control device, it is possible to select an appropriate allowable deviation for determining the presence or absence of an abnormality, and to detect an unacceptable abnormality, for example, an abnormality of a clamp. If the robot control device stops the robot by the stop command from the tracking control device, The dynamic control is forcibly stopped damage the workpiece or the robot and the end effector can be prevented.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an outline of means adopted to achieve an object of the present invention.
FIG. 2 is a conceptual diagram illustrating an example of a mounting position of a sensor unit and an end effector with respect to a distal end of a robot arm, based on a relationship between a relative position between the sensor unit and the end effector.
FIG. 3 is a conceptual diagram illustrating a difference in a movement path of an end effector and a sensor unit caused by a difference in an interpolation format.
FIG. 4 is a conceptual diagram showing a path of an end effector (welding gun) considered appropriate for butt welding.
FIG. 5 is a conceptual diagram showing an example of a path of an end effector (welding gun) that is considered appropriate for lap fillet welding.
FIG. 6 is a functional block diagram schematically illustrating a configuration of a tracking control device according to an embodiment to which the present invention is applied.
FIG. 7 is a conceptual diagram schematically illustrating an example of a drive control program for an industrial robot.
FIG. 8 is a conceptual diagram showing an example of an inter-block deviation storage table.
FIG. 9 is a flowchart schematically showing a reproduction process by a CPU of the robot control device.
FIG. 10 is a flowchart illustrating tracking control executed by a CPU provided in a housing of the tracking control device.
FIG. 11 is a continuation of the flowchart shown for tracking control.
FIG. 12 is a continuation of the flowchart showing the tracking control.
FIG. 13 is a conceptual diagram showing, as an example, a relationship between a variation in a deviation and a correction value to be applied.
[Explanation of symbols]
1 Tracking control device
2 Robot controller
3 Industrial robot
4 Base plate
5 Robot body
6 First arm
7 Second arm
8 Third arm
9 List
10 Welding gun (end effector)
11 Attachment
12 CPU
13 ROM
14 RAM
15 Non-volatile memory
16 Manual data input device with monitor
17 Teaching operation panel
18 axis control circuit
19 Input / output interface
20 CPU (control section of relative deviation detecting means, control section of end effector position adjusting means, offset adjusting function in end effector position adjusting means, sampling means, sampling deviation determining means, counting means, correction value updating means, abnormality detecting means)
21 ROM
22 RAM
23 Nonvolatile memory (allowable number storage means)
24 Manual data input device with monitor
25 I / O circuit
26 Input / output interface
27 Case
28 drive unit (part of end effector position adjustment means)
29 Sensor (part of relative deviation detection means)
30 Communication line
(A) Relative deviation detecting means
(A1) Sensor unit of relative deviation detecting means
(A2) Control unit of relative deviation detecting means
(B) End effector position adjusting means
(B1) Drive section of end effector position adjusting means
(B2) Control section of end effector position adjusting means
(C) Sampling means
(D) Sampling deviation judgment means
(E) Correction value updating means
(F) End effector
(G) Robot controller
(H) Robot body
(I) Robot arm
(J) Counting means
(K) Abnormality detection means
(L) Permissible number storage means
(M) Abnormality detection signal
(M1) One of the abnormality detection signals
(M2) Stop command (one of the abnormality detection signals)
(N) Offset adjustment function
(Q) Attachment
(R) Housing of tracking control device

Claims (11)

産業用ロボットを駆動制御し教示経路に沿ってロボットアーム先端のエンドエフェクタを移動させるロボット制御装置に配備されるトラッキング制御装置であって、
前記産業用ロボットの再生動作に際して前記教示経路と実経路との偏差を検出する相対偏差検出手段と、
前記相対偏差検出手段によって検出された偏差を補正値として前記エンドエフェクタの位置を前記実経路に合わせて調整するエンドエフェクタ位置調整手段と、
前記相対偏差検出手段によって検出される偏差を所定周期毎にサンプリングするサンプリング手段と、
該サンプリング手段によってサンプリングされた偏差と予め設定された許容偏差との大小関係を比較するサンプリング偏差判定手段と、
前記サンプリング偏差判定手段によって前記偏差が許容偏差の範囲内にあると判定された場合には、このサンプリング周期でサンプリングされた偏差を補正値とする一方、前記サンプリング偏差判定手段によって前記偏差が許容偏差の範囲を越えたと判定された場合には、前記サンプリング手段によってサンプリングされた偏差が前記許容偏差の範囲を越える直前のサンプリング周期でサンプリングされた偏差を補正値として保持する補正値更新手段とを備えたことを特徴とするトラッキング制御装置。
A tracking control device provided in a robot control device that drives and controls an industrial robot and moves an end effector at the tip of a robot arm along a teaching path,
Relative deviation detection means for detecting a deviation between the teaching path and the actual path during the reproduction operation of the industrial robot,
End effector position adjusting means for adjusting the position of the end effector in accordance with the actual path with the deviation detected by the relative deviation detecting means as a correction value,
Sampling means for sampling the deviation detected by the relative deviation detection means at predetermined intervals,
Sampling deviation determination means for comparing the magnitude relationship between the deviation sampled by the sampling means and a preset allowable deviation,
When the sampling deviation determining means determines that the deviation is within the range of the allowable deviation, the deviation sampled in this sampling cycle is used as a correction value, while the sampling deviation determining means determines that the deviation is an allowable deviation. Correction value updating means for holding, as a correction value, a deviation sampled in a sampling cycle immediately before the deviation sampled by the sampling means exceeds the range of the allowable deviation when it is determined that the deviation exceeds the allowable deviation range. A tracking control device.
前記サンプリング偏差判定手段は、前記教示経路の補間形式に応じ、補間形式が直線補間である場合には予め設定された許容偏差のうち値の小さな許容偏差を選択する一方、補間形式が円弧補間である場合には値の大きな許容偏差を選択して、前記サンプリングされた偏差と許容偏差との大小関係を比較するように構成されていることを特徴とする請求項1記載のトラッキング制御装置。The sampling deviation determining means selects an allowable deviation having a smaller value among preset allowable deviations when the interpolation type is a linear interpolation, according to the interpolation type of the teaching path, while the interpolation type is a circular interpolation. 2. The tracking control device according to claim 1, wherein in some cases, a large permissible deviation of a value is selected, and the magnitude relation between the sampled deviation and the permissible deviation is compared. 前記サンプリング偏差判定手段は、前記教示経路の各区間に応じ、予め前記各区間毎に設定された許容偏差を選択して、前記サンプリングされた偏差と許容偏差との大小関係を比較するように構成されていることを特徴とする請求項1記載のトラッキング制御装置。The sampling deviation determining means is configured to select an allowable deviation set in advance for each of the sections according to each section of the teaching path, and compare the magnitude relationship between the sampled deviation and the allowable deviation. 2. The tracking control device according to claim 1, wherein the tracking control is performed. 前記許容偏差が、前記教示経路を基準として、該教示経路に直交する2つの方向に個別に設定されるように構成されていることを特徴とする請求項3記載のトラッキング制御装置。The tracking control device according to claim 3, wherein the allowable deviation is configured to be individually set in two directions orthogonal to the teaching path with reference to the teaching path. 前記サンプリング手段によってサンプリングされる偏差が前記許容偏差の範囲を越えている間のサンプリング回数を数える計数手段と、この計数手段による計数値が予め設定された異常検出許容回数を越えた段階で異常検出信号を出力する異常検出手段とを備えたことを特徴とする請求項1ないし請求項4の何れか一項に記載のトラッキング制御装置。Counting means for counting the number of samplings while the deviation sampled by the sampling means exceeds the range of the allowable deviation; and detecting abnormality when the count value of the counting means exceeds a preset allowable number of abnormality detections. The tracking control device according to claim 1, further comprising an abnormality detection unit that outputs a signal. 前記異常検出手段は、異常の種別に応じた複数の異常検出許容回数を記憶する許容回数記憶手段を有し、前記計数手段による計数値に応じた異常検出信号を出力するように構成されていることを特徴とする請求項5記載のトラッキング制御装置。The abnormality detection means has an allowable number storage means for storing a plurality of allowable number of abnormality detections according to the type of abnormality, and is configured to output an abnormality detection signal according to a count value of the counting means. The tracking control device according to claim 5, wherein: 前記異常検出信号の1つが、前記ロボット制御装置に対する停止指令によって構成されていることを特徴とする請求項6記載のトラッキング制御装置。7. The tracking control device according to claim 6, wherein one of the abnormality detection signals is configured by a stop command to the robot control device. 前記エンドエフェクタ位置調整手段は、前記補正値更新手段が保持する補正値にオフセット量を加えて前記エンドエフェクタの位置を調整するオフセット調整機能を備えていることを特徴とする請求項1ないし請求項7の何れか一項に記載のトラッキング制御装置。2. The end effector position adjusting unit according to claim 1, further comprising an offset adjusting function of adjusting a position of the end effector by adding an offset amount to a correction value held by the correction value updating unit. 8. The tracking control device according to claim 7. 前記エンドエフェクタ位置調整手段における駆動部と前記相対偏差検出手段におけるセンサ部とが、前記ロボットアーム先端と前記エンドエフェクタとを接続するアタッチメントに設けられていることを特徴とする請求項1ないし請求項8の何れか一項に記載のトラッキング制御装置。2. The attachment according to claim 1, wherein a drive unit in the end effector position adjustment unit and a sensor unit in the relative deviation detection unit are provided on an attachment that connects the end of the robot arm and the end effector. 8. The tracking control device according to claim 8. 前記エンドエフェクタ位置調整手段における制御部と前記相対偏差検出手段における制御部と前記サンプリング手段と前記サンプリング偏差判定手段と前記補正値更新手段とが、前記ロボット制御装置と独立してトラッキング制御装置の筐体に配備されていることを特徴とする請求項9記載のトラッキング制御装置。The control unit in the end effector position adjustment unit, the control unit in the relative deviation detection unit, the sampling unit, the sampling deviation determination unit, and the correction value updating unit are provided independently of the robot control device. The tracking control device according to claim 9, wherein the tracking control device is disposed on a body. 前記ロボット制御装置と前記トラッキング制御装置の筐体とがデータ通信可能に接続され、前記ロボット制御装置からトラッキング制御装置の側には、少なくとも、前記教示経路の補間形式と教示経路の区間に関する情報が転送され、前記トラッキング制御装置からロボット制御装置の側には、少なくとも、停止指令によって構成される異常検出信号が転送されるように構成されていることを特徴とする請求項10記載のトラッキング制御装置。The robot controller and the casing of the tracking controller are connected so as to be able to perform data communication, and at least the information on the interpolation form of the teaching path and the section of the teaching path is provided from the robot controller to the tracking controller. The tracking control device according to claim 10, wherein the tracking control device is configured to transfer at least an abnormality detection signal constituted by a stop command from the tracking control device to the robot control device. .
JP2002327924A 2002-11-12 2002-11-12 Tracking control device Withdrawn JP2004160578A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002327924A JP2004160578A (en) 2002-11-12 2002-11-12 Tracking control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002327924A JP2004160578A (en) 2002-11-12 2002-11-12 Tracking control device

Publications (1)

Publication Number Publication Date
JP2004160578A true JP2004160578A (en) 2004-06-10

Family

ID=32806372

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002327924A Withdrawn JP2004160578A (en) 2002-11-12 2002-11-12 Tracking control device

Country Status (1)

Country Link
JP (1) JP2004160578A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010111722A2 (en) 2009-03-31 2010-10-07 Fronius International Gmbh Method and apparatus for operating a power source connected to a manually actuated implement
JP2015134395A (en) * 2014-01-17 2015-07-27 蛇の目ミシン工業株式会社 Robot, control method for robot, and control program for robot
CN106527438A (en) * 2016-11-11 2017-03-22 航天科工智能机器人有限责任公司 Robot navigation control method and device
CN107199423A (en) * 2017-07-10 2017-09-26 大连华锐重工数控设备有限公司 One kind, which is not programmed, exempts from teaching Intelligent welding robot

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010111722A2 (en) 2009-03-31 2010-10-07 Fronius International Gmbh Method and apparatus for operating a power source connected to a manually actuated implement
WO2010111722A3 (en) * 2009-03-31 2011-01-13 Fronius International Gmbh Method and apparatus for the remote control of a power source connected to a manually actuated implement
US8860257B2 (en) 2009-03-31 2014-10-14 Fronius International Gmbh Method and apparatus for the remote control of a power source connected to a manually actuated implement
JP2015134395A (en) * 2014-01-17 2015-07-27 蛇の目ミシン工業株式会社 Robot, control method for robot, and control program for robot
CN106527438A (en) * 2016-11-11 2017-03-22 航天科工智能机器人有限责任公司 Robot navigation control method and device
CN107199423A (en) * 2017-07-10 2017-09-26 大连华锐重工数控设备有限公司 One kind, which is not programmed, exempts from teaching Intelligent welding robot

Similar Documents

Publication Publication Date Title
JP4122652B2 (en) Robot control device
JP6392825B2 (en) Robot controller with learning control function
JP6572270B2 (en) Robot with hollow wrist element
JP2018183830A (en) Welding robot teaching system and teaching method
JP2007249524A (en) Robot control system
JP3392779B2 (en) Robot controller with work abnormality monitoring function
JP5579541B2 (en) Welding method and automatic welding system in automatic welding system
JP2004160578A (en) Tracking control device
JP5056241B2 (en) Robot system controller
JPH0871969A (en) Method of telling position of robot
JP5466987B2 (en) Processing system and processing method
JPH0569362A (en) Industrial robot
JP4342364B2 (en) Work holding device
JP2002292468A (en) Automatically operating method for robotic welding device
JP2812077B2 (en) Positioning control device for spot welding robot
JP4368261B2 (en) Recovery method for welding robot
JP2007199936A (en) Robot controller
JP3682637B2 (en) Groove detection method in automatic welding machine
JP3366248B2 (en) Robot control method and device
JPH06335883A (en) Robot controller
CN111716112B (en) Numerical control device and machine tool
US12283906B2 (en) Motor control device
JPH0642164B2 (en) Control method for industrial robot
JPH08108382A (en) Calibration device of industrial robot
JP2023135808A (en) Path generation method for robot system and control method for robot system

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060207