JPH0724574A - 多関節溶接ロボットのウィービング制御装置 - Google Patents
多関節溶接ロボットのウィービング制御装置Info
- Publication number
- JPH0724574A JPH0724574A JP17179193A JP17179193A JPH0724574A JP H0724574 A JPH0724574 A JP H0724574A JP 17179193 A JP17179193 A JP 17179193A JP 17179193 A JP17179193 A JP 17179193A JP H0724574 A JPH0724574 A JP H0724574A
- Authority
- JP
- Japan
- Prior art keywords
- weaving
- axis
- command
- amplitude
- inertia
- 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.)
- Pending
Links
Landscapes
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
(57)【要約】
【目的】正確な軌跡によるウィービング制御をなし得る
ようにする。 【構成】この発明では、指令振幅と実振幅との関係をウ
ィービング周波数および当該軸のイナーシャをパラメー
タとして各ウィービング対象軸毎にメモリテーブルに記
憶し、ウィービングの1周期毎に、ウィービング対象軸
の各イナーシャをそれぞれ求め、指定されたウィービン
グベクトルを各ウィービング対象軸毎の振幅成分に分解
し、前記メモリテーブルから前記分解した振幅成分値、
指令ウィービング周波数および前記求めたイナーシャ値
に対応する指令振幅値を出力する処理を各ウィービング
対象軸毎にかつウィービングの1周期毎に実行し、前記
導出した各ウィービング対象軸毎の指令振幅値を合成す
ることにより各ウィービング周期毎の指令ウィービング
ベクトルを算出し、該算出された指令ウィービングベク
トルに従ってウィービング駆動制御を実行するようにす
る。
ようにする。 【構成】この発明では、指令振幅と実振幅との関係をウ
ィービング周波数および当該軸のイナーシャをパラメー
タとして各ウィービング対象軸毎にメモリテーブルに記
憶し、ウィービングの1周期毎に、ウィービング対象軸
の各イナーシャをそれぞれ求め、指定されたウィービン
グベクトルを各ウィービング対象軸毎の振幅成分に分解
し、前記メモリテーブルから前記分解した振幅成分値、
指令ウィービング周波数および前記求めたイナーシャ値
に対応する指令振幅値を出力する処理を各ウィービング
対象軸毎にかつウィービングの1周期毎に実行し、前記
導出した各ウィービング対象軸毎の指令振幅値を合成す
ることにより各ウィービング周期毎の指令ウィービング
ベクトルを算出し、該算出された指令ウィービングベク
トルに従ってウィービング駆動制御を実行するようにす
る。
Description
【0001】
【産業上の利用分野】この発明は、多関節溶接ロボット
において、高精度のウィービング波形を実現するための
改良に関する。
において、高精度のウィービング波形を実現するための
改良に関する。
【0002】
【従来の技術】溶接多関節ロボットにおいては、幅広の
溶接のために、溶接中にロボットが把持しているトーチ
を左右に振るウィービング制御を実行する場合がある。
このウィービングは、垂直多関節ロボットの場合、旋回
体側の3つの軸(第1軸〜第3軸、以下これらを基本3
軸という)を指定された周波数、振幅、波形(サイン
波、三角波)でトーチが動くように制御することによっ
て得られる。
溶接のために、溶接中にロボットが把持しているトーチ
を左右に振るウィービング制御を実行する場合がある。
このウィービングは、垂直多関節ロボットの場合、旋回
体側の3つの軸(第1軸〜第3軸、以下これらを基本3
軸という)を指定された周波数、振幅、波形(サイン
波、三角波)でトーチが動くように制御することによっ
て得られる。
【0003】
【発明が解決しようとする課題】かかるウィービング制
御において、最近は、ロボットの手首先端に取り付けら
れる機械的なウィービング装置に代わって、ロボットの
各軸をソフトウェアによって制御するのみでウィービン
グを実行するソフトウィービング制御が主流となってい
る。
御において、最近は、ロボットの手首先端に取り付けら
れる機械的なウィービング装置に代わって、ロボットの
各軸をソフトウェアによって制御するのみでウィービン
グを実行するソフトウィービング制御が主流となってい
る。
【0004】このソフトウィービング制御において、従
来、ウィービング周波数が振幅に影響を与えることに着
目し、ウィービング周波数に対するトーチ先端の振幅特
性を予め測定しておき、ウィービング開始時に指定され
た周波数、振幅となるような指令振幅を抽出するように
していたが、その結果はあまり思わしくなかった。
来、ウィービング周波数が振幅に影響を与えることに着
目し、ウィービング周波数に対するトーチ先端の振幅特
性を予め測定しておき、ウィービング開始時に指定され
た周波数、振幅となるような指令振幅を抽出するように
していたが、その結果はあまり思わしくなかった。
【0005】その原因としては、ウィービング周波数以
外にも振幅に影響を与える要因が多く存在すると考えら
れる。
外にも振幅に影響を与える要因が多く存在すると考えら
れる。
【0006】すなわち、ウィービングの場合、各軸の速
度はウィービングの1周期中に正負に切り替わるため、
通常の動作では問題にならない減速機によるがたつきの
影響が大きく、またトーチ先端の位置(アームを延ばし
ている場合と延ばしていない場合の違い)によって動き
に差がでてきてしまう。特に、周波数1〜10Hz、振
幅2〜10mmのサイン波形を高精度に実現することが
難しい。
度はウィービングの1周期中に正負に切り替わるため、
通常の動作では問題にならない減速機によるがたつきの
影響が大きく、またトーチ先端の位置(アームを延ばし
ている場合と延ばしていない場合の違い)によって動き
に差がでてきてしまう。特に、周波数1〜10Hz、振
幅2〜10mmのサイン波形を高精度に実現することが
難しい。
【0007】この発明はこのような実情に鑑みてなされ
たもので、正確な軌跡によるウィービング制御をなし得
る多関節溶接ロボットのウィービング制御装置を提供す
ることを目的とする。
たもので、正確な軌跡によるウィービング制御をなし得
る多関節溶接ロボットのウィービング制御装置を提供す
ることを目的とする。
【0008】
【課題を解決するための手段】この発明では、旋回軸側
の数軸をウィービング対象軸とし、これらウィービング
対象軸をウィービングさせることによりウィービング制
御を行う多関節溶接ロボットのウィービング制御装置に
おいて、指令振幅と実振幅との関係をウィービング周波
数および当該軸のイナーシャをパラメータとして各ウィ
ービング対象軸毎に記憶するメモリテーブル手段と、ウ
ィービングの1周期毎に、ウィービング対象軸の各イナ
ーシャをそれぞれ求めるイナーシャ演算手段と、指定さ
れたウィービングベクトルを各ウィービング対象軸毎の
振幅成分に分解し、前記メモリテーブル手段から前記分
解した振幅成分値、指令ウィービング周波数および前記
求めたイナーシャ値に対応する指令振幅値を出力する処
理を各ウィービング対象軸毎にかつウィービングの1周
期毎に実行することにより各ウィービング対象軸毎の指
令振幅値を求める指令振幅演算手段と、前記導出した各
ウィービング対象軸毎の指令振幅値を合成することによ
り各ウィービング周期毎の指令ウィービングベクトルを
算出する指令ウィービングベクトル演算手段と、前記算
出された指令ウィービングベクトルに従ってウィービン
グ駆動制御を実行する駆動制御手段とを具えるようにす
る。
の数軸をウィービング対象軸とし、これらウィービング
対象軸をウィービングさせることによりウィービング制
御を行う多関節溶接ロボットのウィービング制御装置に
おいて、指令振幅と実振幅との関係をウィービング周波
数および当該軸のイナーシャをパラメータとして各ウィ
ービング対象軸毎に記憶するメモリテーブル手段と、ウ
ィービングの1周期毎に、ウィービング対象軸の各イナ
ーシャをそれぞれ求めるイナーシャ演算手段と、指定さ
れたウィービングベクトルを各ウィービング対象軸毎の
振幅成分に分解し、前記メモリテーブル手段から前記分
解した振幅成分値、指令ウィービング周波数および前記
求めたイナーシャ値に対応する指令振幅値を出力する処
理を各ウィービング対象軸毎にかつウィービングの1周
期毎に実行することにより各ウィービング対象軸毎の指
令振幅値を求める指令振幅演算手段と、前記導出した各
ウィービング対象軸毎の指令振幅値を合成することによ
り各ウィービング周期毎の指令ウィービングベクトルを
算出する指令ウィービングベクトル演算手段と、前記算
出された指令ウィービングベクトルに従ってウィービン
グ駆動制御を実行する駆動制御手段とを具えるようにす
る。
【0009】
【作用】かかる発明においては、各ウィービング対象軸
毎の応答性の違い、ウィービング周波数、指令振幅の大
小による応答性の違い、各ウィービング対象軸のイナー
シャによる応答性の違いを考量して指令振幅を決定す
る。
毎の応答性の違い、ウィービング周波数、指令振幅の大
小による応答性の違い、各ウィービング対象軸のイナー
シャによる応答性の違いを考量して指令振幅を決定す
る。
【0010】そして、各軸毎に単独でウィービングを実
行させて上記各パラメータの関係を予め測定し、、該測
定結果をメモリテーブルに記憶する。すなわち、メモリ
テーブルに、指令振幅と実振幅との関係をウィービング
周波数および当該軸のイナーシャをパラメータとして各
ウィービング対象軸毎に記憶する。
行させて上記各パラメータの関係を予め測定し、、該測
定結果をメモリテーブルに記憶する。すなわち、メモリ
テーブルに、指令振幅と実振幅との関係をウィービング
周波数および当該軸のイナーシャをパラメータとして各
ウィービング対象軸毎に記憶する。
【0011】ウィービングを実行する際には、以下の演
算をウィービングの各周期毎に繰り返し実行させる。
算をウィービングの各周期毎に繰り返し実行させる。
【0012】まず、指定されたウィービングベクトルを
各ウィービング対象軸毎の振幅成分に分解し、各ウィー
ビング対象軸毎に前記メモリテーブル手段から前記分解
した振幅成分値、指令ウィービング周波数および前記求
めたイナーシャ値に対応する指令振幅値を出力する。
各ウィービング対象軸毎の振幅成分に分解し、各ウィー
ビング対象軸毎に前記メモリテーブル手段から前記分解
した振幅成分値、指令ウィービング周波数および前記求
めたイナーシャ値に対応する指令振幅値を出力する。
【0013】次に、前記導出した各ウィービング対象軸
毎の指令振幅値を合成することにより各ウィービング周
期毎の指令ウィービングベクトルを算出し、該算出され
た指令ウィービングベクトルに従ってウィービング駆動
制御を実行する。
毎の指令振幅値を合成することにより各ウィービング周
期毎の指令ウィービングベクトルを算出し、該算出され
た指令ウィービングベクトルに従ってウィービング駆動
制御を実行する。
【0014】
【実施例】以下この発明を添付図面に示す実施例に従っ
て詳細に説明する。
て詳細に説明する。
【0015】この発明においては、ウィービング振幅に
影響を与える要因として以下の4つのものを考慮に入れ
る。
影響を与える要因として以下の4つのものを考慮に入れ
る。
【0016】(1)基本3軸の応答性の違い (2)ウィービング周波数f (3)指令振幅Aiの大小による応答性の違い (4)駆動軸のイナーシャMによる応答性の違い なお、(1)の基本3軸の応答性の違いは、各軸の減速機
モータの違いによると考えられる。
モータの違いによると考えられる。
【0017】すなわち、基本3軸各々について上記(2)
(3)(4)の特性を予め調べておき、各軸毎に実際の振幅を
Arとするときの指令振幅Aiを、下式の関係にしたがっ
て抽出する。
(3)(4)の特性を予め調べておき、各軸毎に実際の振幅を
Arとするときの指令振幅Aiを、下式の関係にしたがっ
て抽出する。
【0018】Ai=Ri(Ar,f,M) i=1〜3 そして、ウィービングの1周期毎に指定されたウィービ
ングベクトルを基本3軸の動作方向の成分にそれぞれ分
配し、これら分配した成分値をそれぞれ前記実振幅値A
rとして前記関係式に従って各軸の指令振幅Aiを求め、
該求めた各軸の指令振幅Aiを合成することにより指令
ウィービングベクトルを算出する。
ングベクトルを基本3軸の動作方向の成分にそれぞれ分
配し、これら分配した成分値をそれぞれ前記実振幅値A
rとして前記関係式に従って各軸の指令振幅Aiを求め、
該求めた各軸の指令振幅Aiを合成することにより指令
ウィービングベクトルを算出する。
【0019】以下、詳細を述べる。
【0020】図1はこの発明の実施例を示すもので、こ
の場合はモータ7を6個備えた6軸多関節ロボットを想
定している。
の場合はモータ7を6個備えた6軸多関節ロボットを想
定している。
【0021】軌道生成部1は指定された溶接線に沿って
ツール先端を移動させるためのツール先端の目標座標位
置および目標ツール姿勢(X,Y,Z,T)を演算し、
これらを順次加算点4に出力する。
ツール先端を移動させるためのツール先端の目標座標位
置および目標ツール姿勢(X,Y,Z,T)を演算し、
これらを順次加算点4に出力する。
【0022】イナーシャ検知部8は、ウィービングの1
周期毎に基本3軸のイナーシャMをそれぞれ算出し、こ
れらをウィービング振幅補償部2へ入力する。なお、こ
の場合、第1軸のイナーシャM1は第1軸中心とツール
先端との距離Lで代用し、第2軸イナーシャは第3軸の
角度θ3で代用する。
周期毎に基本3軸のイナーシャMをそれぞれ算出し、こ
れらをウィービング振幅補償部2へ入力する。なお、こ
の場合、第1軸のイナーシャM1は第1軸中心とツール
先端との距離Lで代用し、第2軸イナーシャは第3軸の
角度θ3で代用する。
【0023】ウィービング振幅補償部2は、本発明の要
部であり、前述したように、ウィービング1周期毎に、
ウィービング振幅をウィービング周波数fや駆動軸のイ
ナーシャMによって補償することにより指令ウィービン
グベクトルを算出する。この補償部2の動作内容につい
ては、後で詳述する。
部であり、前述したように、ウィービング1周期毎に、
ウィービング振幅をウィービング周波数fや駆動軸のイ
ナーシャMによって補償することにより指令ウィービン
グベクトルを算出する。この補償部2の動作内容につい
ては、後で詳述する。
【0024】ウィービング移動量算出部3は、補償部3
で算出された指令ウィービングベクトルに基づき前記目
標座標位置を増減するためのウィービング移動量(Δ
X,ΔY,ΔZ,)を演算し、これらを順次加算点4に
出力する。
で算出された指令ウィービングベクトルに基づき前記目
標座標位置を増減するためのウィービング移動量(Δ
X,ΔY,ΔZ,)を演算し、これらを順次加算点4に
出力する。
【0025】加算点4はツール先端の目標座標位置およ
び目標ツール姿勢(X,Y,Z,T)にウィービング移
動量(ΔX,ΔY,ΔZ)を加算し、その加算結果を逆
変換部5に出力する。
び目標ツール姿勢(X,Y,Z,T)にウィービング移
動量(ΔX,ΔY,ΔZ)を加算し、その加算結果を逆
変換部5に出力する。
【0026】逆変換部5では、入力されたXYZ座標系
の目標座標位置及びツール姿勢をロボット各軸の角度デ
ータθ1〜θ6に変換し、これら角度データθ1〜θ6をサ
ーボ制御部6に出力する。サーボ制御部6では、入力さ
れた角度データθ1〜θ6にしたがって各軸のモータ7を
それぞれ駆動する。
の目標座標位置及びツール姿勢をロボット各軸の角度デ
ータθ1〜θ6に変換し、これら角度データθ1〜θ6をサ
ーボ制御部6に出力する。サーボ制御部6では、入力さ
れた角度データθ1〜θ6にしたがって各軸のモータ7を
それぞれ駆動する。
【0027】次に、ウィービング振幅補償部2について
説明する。
説明する。
【0028】ウィービング振幅補償部2には、図2に示
すように、各軸毎のウィービング特性が記憶されたルッ
クアップテーブル10が備えられている。
すように、各軸毎のウィービング特性が記憶されたルッ
クアップテーブル10が備えられている。
【0029】すなわち、該ルックアップテーブル10に
おいては、第1軸、第2軸、第3軸毎に、複数(n個)
のイナーシャ値M0〜Mnについての指令振幅Aiと実振
幅Arとの関係がウィービング周波数f1〜fn(図2で
は3、5、10Hzの3つの周波数のみが示されてい
る)別に記憶されている。また、この場合、実振幅Ar
も、n個の異なる値が測定されているとする。なお、こ
の場合、第1軸のイナーシャM1は、前述したように、
第1軸中心とツール先端との距離Lで代用し、第2軸イ
ナーシャは第3軸の角度θ3で代用するとする。
おいては、第1軸、第2軸、第3軸毎に、複数(n個)
のイナーシャ値M0〜Mnについての指令振幅Aiと実振
幅Arとの関係がウィービング周波数f1〜fn(図2で
は3、5、10Hzの3つの周波数のみが示されてい
る)別に記憶されている。また、この場合、実振幅Ar
も、n個の異なる値が測定されているとする。なお、こ
の場合、第1軸のイナーシャM1は、前述したように、
第1軸中心とツール先端との距離Lで代用し、第2軸イ
ナーシャは第3軸の角度θ3で代用するとする。
【0030】上記第1軸に関しての特性関係は、第1軸
のみを駆動することによりウィービングを実行させ、そ
のときの上記各値を測定することによって得るようにす
る。第2軸に関しての特性関係も同様であり、第2軸の
みを駆動することによりウィービングを実行させ、その
ときの上記各値を測定するようにする。第3軸に関して
の特性関係についても同様であり、第3軸のみを駆動す
ることによりウィービングを実行させ、そのときの上記
各値を測定するようにする。
のみを駆動することによりウィービングを実行させ、そ
のときの上記各値を測定することによって得るようにす
る。第2軸に関しての特性関係も同様であり、第2軸の
みを駆動することによりウィービングを実行させ、その
ときの上記各値を測定するようにする。第3軸に関して
の特性関係についても同様であり、第3軸のみを駆動す
ることによりウィービングを実行させ、そのときの上記
各値を測定するようにする。
【0031】次に、ウィービング振幅補償部2で行われ
る振幅補償処理について図3のフローチャートに従って
説明する。
る振幅補償処理について図3のフローチャートに従って
説明する。
【0032】この振幅補償処理は以下の3つの処理に大
別される。
別される。
【0033】(i)ウィービングベクトルの分解 (ii)振幅補償処理 (iii)合成処理 以下、順を追って説明する。
【0034】(i)ウィービングベクトルの分解 この処理では、ウィービングベクトルを基本3軸(第1
軸、第2軸、第3軸)の成分に分解する。
軸、第2軸、第3軸)の成分に分解する。
【0035】図4に示すように、ウィービングベクトル
をWr(|Wr|:振幅)とする。ツール先端位置はベー
ス座標[X,Y,Z]または各軸角度の座標系[θ1,
θ2,θ3,θ4,θ5,θ6]で表すとする。なお、図4
(a)は平面図である。
をWr(|Wr|:振幅)とする。ツール先端位置はベー
ス座標[X,Y,Z]または各軸角度の座標系[θ1,
θ2,θ3,θ4,θ5,θ6]で表すとする。なお、図4
(a)は平面図である。
【0036】このウィービングベクトルの分解処理は、
以下の3手順によって構成されている。
以下の3手順によって構成されている。
【0037】 (a)波形補償座標系[Xe,Ye,Ze]に変換 (b)第1〜第3軸の動作方向ベクトルを算出 (c)第1〜第3軸の振幅を算出 以下、順に説明していく。
【0038】 (a)波形補償座標系[Xe,Ye,Ze]に変換 この処理では、ウィービングベクトルWrをベース座標
系から波形補償座標系に変換する。波形補償座標系と
は、図4に示すように、ベース座標系を第1軸を中心に
θ1だけ回転させた座標であり、その変換マトリックス
Meを以下のようになる。
系から波形補償座標系に変換する。波形補償座標系と
は、図4に示すように、ベース座標系を第1軸を中心に
θ1だけ回転させた座標であり、その変換マトリックス
Meを以下のようになる。
【0039】 そして、以下の変換式を用いてウィービングベクトルW
rをベース座標系から波形補償座標系[Xe,Ye,Ze]
に変換する。
rをベース座標系から波形補償座標系[Xe,Ye,Ze]
に変換する。
【0040】Wre=Me・Wr (b)第1〜第3軸の動作方向ベクトルを算出 次に、波形補償座標系[Xe,Ye,Ze]での各軸の動
作方向ベクトルu1,u2,u3を算出する(図3ステップ1
00)。
作方向ベクトルu1,u2,u3を算出する(図3ステップ1
00)。
【0041】なお、 u1;第1軸動作方向の単位ベクトル u2;第2軸動作方向の単位ベクトル u3;第3軸動作方向の単位ベクトル とする。
【0042】各単位ベクトルu1,u2,u3の算出式は以下
の通りである。
の通りである。
【0043】u1=[0,1,0] u2=[(Z-E0/K,0,(E8-X)/K] u3=[-sin(θ2+θ3),0,-cos(θ2+θ3)] E0.E8は本体定数で、Kは以下の通りである。
【0044】 (c)第1〜第3軸の振幅を算出 次に、ウィービングベクトルWre[Wrex,Wrey,Wrez]
を各軸の動作方向[u1,u2,u3]の成分に分解して各軸
の振幅a1,a2,a3を算出する(図3ステップ110)。
ただし、各軸の回転軸方向に垂直な平面にツール先端と
軸を結んだベクトルを投影し、このベクトルに直角な方
向を各軸の動作方向[u1,u2,u3]とする。そして、ウ
ィービング方向Wreをu1,u2,u3に投影したものを各軸
のウィービング成分a1、a2、a3とする。
を各軸の動作方向[u1,u2,u3]の成分に分解して各軸
の振幅a1,a2,a3を算出する(図3ステップ110)。
ただし、各軸の回転軸方向に垂直な平面にツール先端と
軸を結んだベクトルを投影し、このベクトルに直角な方
向を各軸の動作方向[u1,u2,u3]とする。そして、ウ
ィービング方向Wreをu1,u2,u3に投影したものを各軸
のウィービング成分a1、a2、a3とする。
【0045】なお、 Wre=a1・u1+a2・u2+a3・u3 a1;第1軸振幅 a2;第2軸振幅 a3;第3軸振幅 とする。
【0046】各軸の振幅a1、a2、a3を求めるための演算
式は以下の通りである。
式は以下の通りである。
【0047】a1=Wrey a2={Wrex・cos(θ2+θ3)-Wrez・sin(θ2+θ3)}・K/
(E2・cosθ3) a3={Wrex・(E8-X)-Wrez・(Z-E0)}・K/(E2・cosθ3) なお、E0,E2,E8は本体定数で、Kは以下の通りである。
(E2・cosθ3) a3={Wrex・(E8-X)-Wrez・(Z-E0)}・K/(E2・cosθ3) なお、E0,E2,E8は本体定数で、Kは以下の通りである。
【0048】 (ii)振幅補償処理 次に、振幅補償の手順について説明する。
【0049】ウィービング周波数をfとする。
【0050】まず、第1軸の指令振幅 A1を算出するた
めの手順について説明する。
めの手順について説明する。
【0051】初めに、イナーシャ検知部8では、第1軸
の軸中心からツール先端[X,Y,Z]までの距離Lを
下式に従って算出し、該算出した距離Lをウィービング
振幅補償部2に出力する。この距離Lの算出はウィービ
ング1周期毎に行われる。
の軸中心からツール先端[X,Y,Z]までの距離Lを
下式に従って算出し、該算出した距離Lをウィービング
振幅補償部2に出力する。この距離Lの算出はウィービ
ング1周期毎に行われる。
【0052】 上記距離Lは前述したように第1軸のイナーシャMの代
用として使われる。
用として使われる。
【0053】ここで、図2に示したウィービング特性が
記憶されたルックアップテーブル10においては、ウィ
ービング周波数f、実振幅Ar、およびイナーシャMは
それぞれn個の値しかプロットされていない。そこで、
これら各パラメータについて、連続した特性値が得られ
るように以下のような内挿処理を実行する。
記憶されたルックアップテーブル10においては、ウィ
ービング周波数f、実振幅Ar、およびイナーシャMは
それぞれn個の値しかプロットされていない。そこで、
これら各パラメータについて、連続した特性値が得られ
るように以下のような内挿処理を実行する。
【0054】まず、今回のウィービング周波数fが第1
軸用ルックアップテーブルに記憶された各値中のどの値
fi0とどの値fi0+1の間にあるかを調べる。同様に、実
振幅Arについても、先の演算で求めた第1軸振幅値|a
1|が第1軸用ルックアップテーブルに記憶された各値
中のどの値rj0とどの値rj0+1の間にあるかを調べる。
さらに、ツール先端までの距離Lについても、今回の距
離Lが第1軸用ルックアップテーブルに記憶された各値
中のどの値Lk0とどの値Lk0+1の間にあるかを調べる。
軸用ルックアップテーブルに記憶された各値中のどの値
fi0とどの値fi0+1の間にあるかを調べる。同様に、実
振幅Arについても、先の演算で求めた第1軸振幅値|a
1|が第1軸用ルックアップテーブルに記憶された各値
中のどの値rj0とどの値rj0+1の間にあるかを調べる。
さらに、ツール先端までの距離Lについても、今回の距
離Lが第1軸用ルックアップテーブルに記憶された各値
中のどの値Lk0とどの値Lk0+1の間にあるかを調べる。
【0055】すなわち、 fio≦f<fi0+1 rj0≦|a1|<rj0+1 Lk0≦ L<Lk0+1 が成立する各値fio、fi0+1、rj0、rj0+1、Lk0、L
k0+1を求める。
k0+1を求める。
【0056】上記各値が算出されると、下式(1)にし
たがって第1軸の振幅指令A1を算出する。
たがって第1軸の振幅指令A1を算出する。
【0057】 なお、上記(1)式で用いられる各パラメータ値は下式
に示す通りである。
に示す通りである。
【0058】 Rfi0={R1[fi0,rj0,Lk0]+R1[fi0,rj0,Lk0
+1]+R1[fi0,rj0+1,Lk0]+R1[fi0,rj0+1,L
k0+1]}/4=ΣR1[fi0,rj,Lk]/4 Rfi0+1=ΣR1[fi0+1,rj,Lk]/4 Rrj0 =ΣR1[fi,rj0,Lk]/4 Rrj0+1=ΣR1[fi,rj0+1,Lk]/4 Rlk0 =ΣR1[fi,rj,Lk0]/4 Rlk0+1=ΣR1[fi,rj,Lk0+1]/4 i=i0,i0+1 j=j0,j0+1 k=k0,k0+1 ただし、 f<f1のときf=f1とする f≧fnのときf=fnとする |a1|≧r1のときj0=0,rj0=0,R1[fi,rj0,Lk]=
0とする |a1|≧rnのときj0=0,rj0=0,R1[fi,rj0,Lk]=
0,j0+1=nとする (範囲外の時、実振幅:指令振幅の比率は境界と等しく
する) L<L1のときL=L1とする L≧LnのときL=Lnとする なお、上記(1)式において、例えば、R1[fi0,rj
0,Lk0]は第1軸用のルックアップテーブルにおい
て、周波数がfi0で、第1軸実振幅がrj0で、ツール先
端までの距離がLk0のときに前記ルックアップテーブル
から得られる指令振幅値を示している。
+1]+R1[fi0,rj0+1,Lk0]+R1[fi0,rj0+1,L
k0+1]}/4=ΣR1[fi0,rj,Lk]/4 Rfi0+1=ΣR1[fi0+1,rj,Lk]/4 Rrj0 =ΣR1[fi,rj0,Lk]/4 Rrj0+1=ΣR1[fi,rj0+1,Lk]/4 Rlk0 =ΣR1[fi,rj,Lk0]/4 Rlk0+1=ΣR1[fi,rj,Lk0+1]/4 i=i0,i0+1 j=j0,j0+1 k=k0,k0+1 ただし、 f<f1のときf=f1とする f≧fnのときf=fnとする |a1|≧r1のときj0=0,rj0=0,R1[fi,rj0,Lk]=
0とする |a1|≧rnのときj0=0,rj0=0,R1[fi,rj0,Lk]=
0,j0+1=nとする (範囲外の時、実振幅:指令振幅の比率は境界と等しく
する) L<L1のときL=L1とする L≧LnのときL=Lnとする なお、上記(1)式において、例えば、R1[fi0,rj
0,Lk0]は第1軸用のルックアップテーブルにおい
て、周波数がfi0で、第1軸実振幅がrj0で、ツール先
端までの距離がLk0のときに前記ルックアップテーブル
から得られる指令振幅値を示している。
【0059】以上が、第1軸の振幅指令A1の算出手順で
ある。
ある。
【0060】次に、第2軸の指令振幅 A2を算出するた
めの手順について説明する。
めの手順について説明する。
【0061】この第2軸の指令振幅 A2の算出の際は、
イナーシャ値として、第3軸の角度θ3を代用するよう
にしており、それ以外は前述した第1軸の指令振幅と同
じである。
イナーシャ値として、第3軸の角度θ3を代用するよう
にしており、それ以外は前述した第1軸の指令振幅と同
じである。
【0062】次に、第3軸の指令振幅 A3の算出手順に
ついて説明する。
ついて説明する。
【0063】第3軸については、イナーシャの影響が極
く僅かであるので、この場合はイナーシャ一定として、
イナーシャは考慮にいれない。従って、指令振幅 A3の
算出の際は、ウィービング周波数fと第3軸実振幅|a3
|の2つのパラメータを考慮にいれる。それ以外は前述
した第1軸の指令振幅と同じである。
く僅かであるので、この場合はイナーシャ一定として、
イナーシャは考慮にいれない。従って、指令振幅 A3の
算出の際は、ウィービング周波数fと第3軸実振幅|a3
|の2つのパラメータを考慮にいれる。それ以外は前述
した第1軸の指令振幅と同じである。
【0064】このようにして、第1軸〜第3軸の指令振
幅 a1、a2、a3が算出される(図3ステップ120)。
幅 a1、a2、a3が算出される(図3ステップ120)。
【0065】(iii)合成処理 次に、各軸のウィービング成分を合成したものを求め、
これを次回周期までの指令ウィービングベクトルとして
出力する(図3ステップ130)。
これを次回周期までの指令ウィービングベクトルとして
出力する(図3ステップ130)。
【0066】すなわち、まず波形補償座標系[Xe,Y
e,Ze]で、先に算出した第1軸〜第3軸の指令振幅 a
1、a2、a3を下式に従って合成する。
e,Ze]で、先に算出した第1軸〜第3軸の指令振幅 a
1、a2、a3を下式に従って合成する。
【0067】Wie=A1・u1+A2・u2+A3・u3 なお、Wieは波形補償座標系での指令ウィービングベク
トルである。
トルである。
【0068】次に、この指令ウィービングベクトルWie
を下式を用いてベース座標[X,Y,Z]に変換する。
を下式を用いてベース座標[X,Y,Z]に変換する。
【0069】 なお、Wiはベース座標系での指令ウィービングベクト
ルである。
ルである。
【0070】ウィービング振幅補償部2においては、上
記の演算を例えばウィービングの位相が0゜の度に行う
ことにより上記演算をウィービングの1周期毎に実行
し、該演算結果Wiを次回周期までの指令ウィービング
ベクトルとしてウィービング移動量算出部3に出力する
(図3ステップ140〜160)。
記の演算を例えばウィービングの位相が0゜の度に行う
ことにより上記演算をウィービングの1周期毎に実行
し、該演算結果Wiを次回周期までの指令ウィービング
ベクトルとしてウィービング移動量算出部3に出力する
(図3ステップ140〜160)。
【0071】次に、第1軸のみをウィービングする場合
についての振幅補償手順を図5を参照して説明する。
についての振幅補償手順を図5を参照して説明する。
【0072】(a)ウィービングの1周期毎に(例えばウ
ィービング波形の位相0゜毎に)その時点におけるイナ
ーシャMを算出する。
ィービング波形の位相0゜毎に)その時点におけるイナ
ーシャMを算出する。
【0073】(b)そして、該算出されたイナーシャMの
他にウィービング開始時に設定された周波数fと第1軸
の振幅Arを用いて、第1軸のルックアップテーブルか
ら指令振幅Aiを求める。
他にウィービング開始時に設定された周波数fと第1軸
の振幅Arを用いて、第1軸のルックアップテーブルか
ら指令振幅Aiを求める。
【0074】(c)該求めた指令振幅Aiを次回周期までの
指令振幅Aiとしてウィービング指令を出力する。
指令振幅Aiとしてウィービング指令を出力する。
【0075】以上の処理をウィービングの1周期毎に繰
り返し実行する。
り返し実行する。
【0076】なお、上記実施例では、第1軸のイナーシ
ャは第1軸からツール先端までの距離で代用し、第2軸
のイナーシャは第3軸の角度で代用するようにしたが、
これらを他の値で代用するようにしてもよく、またこれ
らイナーシャ値自体を演算で求めるようにしてもよい。
ャは第1軸からツール先端までの距離で代用し、第2軸
のイナーシャは第3軸の角度で代用するようにしたが、
これらを他の値で代用するようにしてもよく、またこれ
らイナーシャ値自体を演算で求めるようにしてもよい。
【0077】また、ルックアップテーブルに対し、各測
定値を連続的な値として数多く記憶させるようにすれ
ば、前述した内挿処理を行わなくても精度の良い指令振
幅を得ることができる。
定値を連続的な値として数多く記憶させるようにすれ
ば、前述した内挿処理を行わなくても精度の良い指令振
幅を得ることができる。
【0078】
【発明の効果】以上説明したようにこの発明によれば、
各ウィービング対象軸毎の応答性の違い、ウィービン
グ周波数、指令振幅の大小による応答性の違い、各ウィ
ービング対象軸のイナーシャによる応答性の違いを考量
して指令振幅を決定するようにしたので、正確な軌跡に
よるウィービング制御をなし得、ウィービングの精度を
向上させることができる。
各ウィービング対象軸毎の応答性の違い、ウィービン
グ周波数、指令振幅の大小による応答性の違い、各ウィ
ービング対象軸のイナーシャによる応答性の違いを考量
して指令振幅を決定するようにしたので、正確な軌跡に
よるウィービング制御をなし得、ウィービングの精度を
向上させることができる。
【図1】この発明の実施例を示すブロック図。
【図2】ルックアップテーブルの記憶内容を示す図。
【図3】この発明の実施例を示すフローチャート。
【図4】ウィービングベクトルの分解処理を説明する
図。
図。
【図5】第1軸のみをウィービングさせる場合の振幅補
償処理を説明するための図。
償処理を説明するための図。
1…軌跡生成部 2…ウィービング振幅補償部 3…ウィービング移動量算出部 5…逆変換部 6…サーボ制御部 7…各軸モータ 10…ルックアップテーブル
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 B25J 9/16 G05B 19/18 19/4093
Claims (3)
- 【請求項1】旋回軸側の数軸をウィービング対象軸と
し、これらウィービング対象軸をウィービングさせるこ
とによりウィービング制御を行う多関節溶接ロボットの
ウィービング制御装置において、 指令振幅と実振幅との関係をウィービング周波数および
当該軸のイナーシャをパラメータとして各ウィービング
対象軸毎に記憶するメモリテーブル手段と、 ウィービングの1周期毎に、ウィービング対象軸の各イ
ナーシャをそれぞれ求めるイナーシャ演算手段と、 指定されたウィービングベクトルを各ウィービング対象
軸毎の振幅成分に分解し、前記メモリテーブル手段から
前記分解した振幅成分値、指令ウィービング周波数およ
び前記求めたイナーシャ値に対応する指令振幅値を出力
する処理を各ウィービング対象軸毎にかつウィービング
の1周期毎に実行することにより各ウィービング対象軸
毎の指令振幅値を求める指令振幅演算手段と、 前記導出した各ウィービング対象軸毎の指令振幅値を合
成することにより各ウィービング周期毎の指令ウィービ
ングベクトルを算出する指令ウィービングベクトル演算
手段と、 前記算出された指令ウィービングベクトルに従ってウィ
ービング駆動制御を実行する駆動制御手段と、 を具える多関節溶接ロボットのウィービング制御装置。 - 【請求項2】前記多関節溶接ロボットは6軸ロボットで
あり、前記ウィービング対象軸は第1軸、第2軸及び第
3軸である請求項1記載の多関節溶接ロボットのウィー
ビング制御装置。 - 【請求項3】前記指令振幅演算手段は、前記メモリテー
ブル手段から出力した指令振幅値に内挿演算を施して各
ウィービング対象軸毎の指令振幅値を算出する請求項1
記載の多関節溶接ロボットのウィービング制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17179193A JPH0724574A (ja) | 1993-07-12 | 1993-07-12 | 多関節溶接ロボットのウィービング制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17179193A JPH0724574A (ja) | 1993-07-12 | 1993-07-12 | 多関節溶接ロボットのウィービング制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0724574A true JPH0724574A (ja) | 1995-01-27 |
Family
ID=15929768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17179193A Pending JPH0724574A (ja) | 1993-07-12 | 1993-07-12 | 多関節溶接ロボットのウィービング制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0724574A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005120759A1 (en) * | 2004-06-14 | 2005-12-22 | Abb Ab | A method and a device for providing feedback on weaving parameters |
JP2011000674A (ja) * | 2009-06-18 | 2011-01-06 | Denso Wave Inc | ロボット制御装置 |
WO2017141804A1 (ja) | 2016-02-17 | 2017-08-24 | 株式会社神戸製鋼所 | 溶接装置及び溶接装置の制御方法 |
-
1993
- 1993-07-12 JP JP17179193A patent/JPH0724574A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005120759A1 (en) * | 2004-06-14 | 2005-12-22 | Abb Ab | A method and a device for providing feedback on weaving parameters |
JP2011000674A (ja) * | 2009-06-18 | 2011-01-06 | Denso Wave Inc | ロボット制御装置 |
WO2017141804A1 (ja) | 2016-02-17 | 2017-08-24 | 株式会社神戸製鋼所 | 溶接装置及び溶接装置の制御方法 |
KR20180103999A (ko) | 2016-02-17 | 2018-09-19 | 가부시키가이샤 고베 세이코쇼 | 용접 장치 및 용접 장치의 제어 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5353386A (en) | Apparatus for controlling industrial robot system to perform coordinated operation using teaching playback method and method thereof | |
US4529921A (en) | Tracking control system of multijoint robot | |
JPH079606B2 (ja) | ロボット制御装置 | |
JP4503659B2 (ja) | 座標変換工具位相制御用数値制御装置 | |
CN108698152B (zh) | 焊接装置及焊接装置的控制方法 | |
JPS59218513A (ja) | 工業用ロボツトの円弧制御法 | |
WO1989008878A1 (en) | Method of controlling tool attitude of a robot | |
JP2007000954A (ja) | ロボット教示装置及び方法 | |
US5920679A (en) | Apparatus and method for computer-aided low-harmonic trajectory planning for computer-controlled machinery | |
JPH0525125B2 (ja) | ||
JP2020171989A (ja) | ロボット教示システム | |
JPH0724574A (ja) | 多関節溶接ロボットのウィービング制御装置 | |
JPH08155647A (ja) | 溶接ロボットのウィービング制御装置 | |
JP3710075B2 (ja) | 溶接ロボットのウィービング制御装置 | |
JP6814441B2 (ja) | 駆動機械の学習制御装置及び学習制御方法 | |
JPS62154006A (ja) | ロボツト制御装置 | |
JPH11191005A (ja) | ロボット制御装置 | |
JP2691591B2 (ja) | 力制御ロボットの制御方式 | |
JPH0760667A (ja) | ロボットのウィービング制御装置 | |
JP2002215211A (ja) | 数値制御装置 | |
JP2686293B2 (ja) | 3次元レーザ加工方法 | |
JPS5857762B2 (ja) | ロボットにおける移動速度の修正方法とその装置 | |
JP3119729B2 (ja) | 開閉試験装置 | |
Maťuga | Control and positioning of robotic arm on CNC cutting machines and their applications in industry | |
JPH0732281A (ja) | ロボット制御装置 |