JPH0428471B2 - - Google Patents

Info

Publication number
JPH0428471B2
JPH0428471B2 JP22023282A JP22023282A JPH0428471B2 JP H0428471 B2 JPH0428471 B2 JP H0428471B2 JP 22023282 A JP22023282 A JP 22023282A JP 22023282 A JP22023282 A JP 22023282A JP H0428471 B2 JPH0428471 B2 JP H0428471B2
Authority
JP
Japan
Prior art keywords
weaving
welding
teaching
points
robot
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.)
Expired
Application number
JP22023282A
Other languages
Japanese (ja)
Other versions
JPS58154459A (en
Inventor
Osamu Nio
Toyoji Hamashima
Shinobu Sato
Shigemi Nohayashi
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.)
YASUKAWA DENKI KK
Original Assignee
YASUKAWA DENKI KK
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 YASUKAWA DENKI KK filed Critical YASUKAWA DENKI KK
Priority to JP22023282A priority Critical patent/JPS58154459A/en
Publication of JPS58154459A publication Critical patent/JPS58154459A/en
Publication of JPH0428471B2 publication Critical patent/JPH0428471B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、溶接用ロボツトにおけるウイービン
グパターンの発生およびウイービングパターンの
自動継続に関するものである。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to the generation of a weaving pattern and the automatic continuation of the weaving pattern in a welding robot.

〔従来の技術〕[Conventional technology]

溶接ロボツトの教示線に沿つて溶接トーチ先端
を揺動させるいわゆるウイービング運動を実現す
る方法として、ウイービング中心を教示線通りに
溶接トーチを動かすべく溶接ロボツト各駆動軸の
位置サーボに支えられる位置入力にウイービング
運動用繰返し信号を重量する方式が米国特許第
4188525号公報および特開昭56−89379号公報によ
つて提案されている。しかし、ウイービング用く
り返し信号として発振器や信号記憶要素を使用す
るこの従来方式では、教示線が3次元的に任意に
変化する場合には適正なウイービングパターンを
実現できない欠点がある。何故ならば各駆動軸位
置サーボに与えられるべきウイービング用くり返
し信号は、一定振巾、一定周波数の信号では、い
けないことは、多関節ロボツト、極座標ロボツ
ト、円筒座標ロボツトで教示線が直線である場合
を考えれば容易に理解される。
As a method of realizing the so-called weaving motion in which the tip of the welding torch is swung along the teaching line of the welding robot, the welding robot uses a position input supported by the position servo of each drive shaft to move the welding torch along the teaching line with the weaving center. A method for weighing repetitive signals for weaving motion has been awarded a US patent.
This method has been proposed in Japanese Patent Publication No. 4188525 and Japanese Patent Application Laid-Open No. 56-89379. However, this conventional method, which uses an oscillator or a signal storage element as a repeating signal for weaving, has the drawback that a proper weaving pattern cannot be realized when the teaching line changes arbitrarily in three dimensions. This is because the repeating signal for weaving that should be given to each drive shaft position servo must not be a signal of constant amplitude and constant frequency.In the case of an articulated robot, a polar coordinate robot, or a cylindrical coordinate robot, where the teaching line is a straight line, It is easily understood if you consider.

一例を多関節ロボツトにとり、その各駆動軸の
合成運動として溶接トーチ先端を直線的に動かす
場合を考えると、直線運動は各駆動軸の連動制御
によつてのみ可能で、各駆動軸位置サーボに与え
られる位置入力信号はランプ状あるいはステツプ
状の一定信号ではなく、時々刻々のロボツト姿勢
により変動する複雑な位置入力信号であり、所望
のウイービングパターンを得るためには、各駆動
軸位置サーボに入力される複雑な位置入力信号に
重畳さるべきウイービングくり返し信号も当然ロ
ボツト各駆動軸の姿勢に応じ複雑に変化さるべき
ものであるから、簡単な発振器では実現できな
い。
Taking an articulated robot as an example, and considering the case where the welding torch tip is moved linearly as a result of the combined motion of each drive shaft, linear motion is only possible by interlocking control of each drive shaft, and each drive shaft position servo The applied position input signal is not a constant ramp or step signal, but a complex position input signal that fluctuates depending on the robot's posture from time to time.In order to obtain the desired weaving pattern, it must be input to each drive shaft position servo. The weaving repetition signal to be superimposed on the complex position input signal that is generated must of course change in a complicated manner depending on the posture of each drive shaft of the robot, so it cannot be realized with a simple oscillator.

また信号記憶要素により、ウイービング用くり
返し信号を各駆動軸の位置サーボへの位置指令と
して記憶することは、莫大な記憶容量を要し、実
用的には不可能であるからである。
Furthermore, it is practically impossible to store the weaving repetition signal as a position command to the position servo of each drive shaft using the signal storage element, as it requires an enormous storage capacity.

また、この従来方式で制約された形のウイービ
ング運動ができたとしても、多数の教示線より成
るロボツト軌跡をウイービング運動で動かすとき
には、各教示線毎にウイービング用くり返し信号
を要し、教示作業の操作性が著しく悪くなるとい
う欠点がある。
Furthermore, even if this conventional method allows for a restricted weaving motion, when a robot trajectory consisting of a large number of teaching lines is moved by weaving motion, a weaving repetition signal is required for each teaching line, which makes the teaching work difficult. This has the disadvantage that the operability becomes significantly worse.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

本発明は教示線の設定が容易で教示作業の操作
性を向上することのできる溶接ロボツトのウイー
ビング性御方法を提供することを課題とするもの
である。
SUMMARY OF THE INVENTION An object of the present invention is to provide a method for controlling the weaving performance of a welding robot, which allows easy setting of teaching lines and improves the operability of teaching work.

〔課題を解決するための手段〕[Means to solve the problem]

本発明は、上記の課題を解決するためになされ
たもので、ロボツト基本3軸を制御することによ
りロボツト動作領域内の任意の教示線に対し、所
望のウイービング運動を正確に実行し、また多数
の教示線から成り立つロボツト軌跡上を全てウイ
ービング運動を伴つて動かす場合に、最初の教示
線に関してのみウイービングパターン定義用3点
を教示することだけで、後続する教示線に対して
も適正なウイービング運動を可能ならしめたもの
である。
The present invention has been made to solve the above problems, and by controlling the three basic axes of the robot, it is possible to accurately execute a desired weaving motion for any teaching line within the robot operating area, and to perform a large number of weaving motions. When the robot moves along a weaving motion along the entire trajectory consisting of the teaching lines, by simply teaching the three weaving pattern definition points for the first teaching line, it is possible to make appropriate weaving movements for the subsequent teaching lines as well. This made it possible.

即ち、本発明は溶接近線傍にウイービングパタ
ーン指定のために3点を教示し、この3点で決ま
る3角面をその溶接線方向へ移動させて出来る3
角柱の1つの面上を前記3点とは別に指定される
ウイービング振巾、周波数、溶接速度で決まるウ
イービング運動を溶接トーチの先端が実行しなが
ら移動するように溶接ロボツトの基本3軸を制御
するようにしたものである。
That is, the present invention teaches three points near the welding line for specifying the weaving pattern, and moves the triangular plane determined by these three points in the direction of the welding line to create the three-point weaving pattern.
The three basic axes of the welding robot are controlled so that the tip of the welding torch moves on one surface of the prism while executing a weaving motion determined by the weaving amplitude, frequency, and welding speed that are specified separately from the above three points. This is how it was done.

〔実施例〕〔Example〕

以下、本発明の一実施例を図面を参照しながら
説明する。
An embodiment of the present invention will be described below with reference to the drawings.

第1図は本発明を実行するための多関節形テイ
ーチング・プレイバツク・ロボツトの一例を示す
もので、1が消耗電極式溶接トーチである。
FIG. 1 shows an example of an articulated teaching playback robot for carrying out the present invention, in which 1 is a consumable electrode type welding torch.

この溶接ロボツトは、土台2上に屈曲する2つ
のアーム3,4を具えた旋回体5を設け、アーム
3の先端に取付けららた溶接トーチ1はふり角度
及びひねり角度を駆動モータで変えられるように
なつており、溶接トーチ1のウイービングは、溶
接ロボツト基本3軸、すなわちアーム3及び4と
旋回体5を制御して行なわれる。
This welding robot is provided with a revolving body 5 having two bent arms 3 and 4 on a base 2, and a welding torch 1 attached to the tip of the arm 3 whose swing angle and twist angle can be changed by a drive motor. Weaving of the welding torch 1 is performed by controlling the three basic axes of the welding robot, namely, the arms 3 and 4 and the rotating body 5.

説明の便宜上、多関節形ロボツトをとりあげて
いるが、本発明は多関節形ロボツトに限定される
ものではなく、直交形ロボツト、円筒形ロボツ
ト、極座標形ロボツト等他型式のロボツトへも適
用可能であることは勿論である。
For convenience of explanation, a multi-jointed robot is taken up, but the present invention is not limited to multi-jointed robots, but can also be applied to other types of robots such as orthogonal robots, cylindrical robots, polar coordinate robots, etc. Of course there is.

次に、ロボツト基本3軸によるウイービング運
動に関し第2図に基づき説明する。
Next, weaving motion using the three basic axes of the robot will be explained based on FIG. 2.

ロボツト運転に先立つて先ず、ウイービングの
方向、振巾、周波数、溶接上必要な条件をテイー
チングする必要がある。
Before operating the robot, it is first necessary to teach the weaving direction, amplitude, frequency, and necessary conditions for welding.

教示点P1,P2を結ぶ溶接線の近傍でQ1,Q2
Q3の3点を任意にテイーチングすることにより、
ウイービングの方向と振巾を設定する。2点Q1
Q2のみでは溶接線に対するウイービングする面
PL1とウイービング中心が決まらないため、点
Q3を設定するものであ。
Q 1 , Q 2 , near the weld line connecting teaching points P 1 , P 2 ,
By arbitrarily teaching the three points in Q 3 ,
Set the weaving direction and width. 2 points Q 1 ,
Q2 only has a weaving surface for the weld line.
Since PL1 and the weaving center cannot be determined, the point
This is to set Q3 .

本発明は1 2にQ3から垂線を下ろし、その足
をHとし、Hを中心として1 2の延長線上に別
途指定されるウイービング振巾jとなるべく、
HQ′1=′2=jとなる点Q′1,Q′2を求め、中心
Hからの振巾を等しくH→Q1′→H→Q2′→H…の
単振動ウイービングをさせるようにするものであ
る。
In the present invention, a perpendicular line is drawn from Q 3 to 1 2 , its foot is H, and the weaving width J is specified separately on the extension line of 1 2 with H as the center.
Find the points Q′ 1 and Q′ 2 where HQ′ 1 =′ 2 =j, and make the simple harmonic weaving of H→Q 1 ′→H→Q 2 ′→H... with equal amplitude from the center H. It is something to do.

以下の説明は便宜上第2図に示すようにQ1
Q1′としている。
For convenience, the following explanation is based on Q 1 =
Q 1 ′.

Q1,Q2,Q3で作られる面PL2と1 2の交点W
(xw,yw,zw)は、 P1(x1,y1,z1) P2(x2,y2,z3) P3(x3,y3,z3) Q1(x1,y1,z1) Q2(x2,y2,z2) Q3(x3,y3,z3) ………(1) (α,β,γ)……Q1Q2――→の方向余弦 (α′,β′,γ′)……Q1Q3――→の方向余弦 (λ,μ,ν)……P1P2――→の方向余弦 ……(2) とすると、Wの位置は、 xw=f1(x1,y1,z1,x1,y1,z1,α,β,
γ,α′,β′,γ′,λ,μ,ν) =x1+λSA =x1+λSA yw=f2(x1,y1,z1,x1,y1,z1,α,β,γ,α′,
β′,γ′,λ,μ,ν) =y1+μSA =y1+μSA zw=f3(x1,y1,z1,x1,y1,z1,α,β,γ,α′,
β′,γ′,λ,μ,ν) =z1+γSA ……(3) 但し、 SA=(x1−x1)(βα′−βα)+(y1−y1)(αα
′−α′α)+(z1−z1)栄αβ′−α′β)/λ(β
α′−β′α)+μ(αα′−α′α)+ν(αβ′−
α′β) である。そして前記P1,P2,Q1,Q2,Q3は教示
された点であり、その座標値は判明しているの
で、α,β,γ,α′,β′,γ′,λ,μ,νすなわ
ちxw,yw,zwは演算装置により簡単に求められ
る。
Intersection W of plane PL2 made by Q 1 , Q 2 , Q 3 and 1 2
(x w , y w , z w ) is P 1 (x 1 , y 1 , z 1 ) P 2 (x 2 , y 2 , z 3 ) P 3 (x 3 , y 3 , z 3 ) Q 1 (x 1 , y 1 , z 1 ) Q 2 (x 2 , y 2 , z 2 ) Q 3 (x 3 , y 3 , z 3 ) ………(1) (α, β, γ)……Q 1 Q 2 Direction cosine of --→ (α′, β′, γ′)……Q 1 Q 3 Direction cosine of --→ (λ, μ, ν)……P 1 P 2 --Direction cosine of → ...(2), then the position of W is x w = f 1 (x 1 , y 1 , z 1 , x 1 , y 1 , z 1 , α, β,
γ, α′, β′, γ′, λ, μ, ν) = x 1 + λS A = x 1 + λS A y w = f 2 (x 1 , y 1 , z 1 , x 1 , y 1 , z 1 , α, β, γ, α′,
β′, γ′, λ, μ, ν) = y 1 + μS A = y 1 + μS A z w = f 3 (x 1 , y 1 , z 1 , x 1 , y 1 , z 1 , α, β, γ, α′,
β′, γ′, λ, μ, ν) =z 1 +γS A …(3) However, SA=(x 1 −x 1 )(βα′−βα)+(y 1 −y 1 )(αα
′−α′α)+(z 1 −z 1 ) Sakaeαβ′−α′β)/λ(β
α′−β′α)+μ(αα′−α′α)+ν(αβ′−
α′β). The above P 1 , P 2 , Q 1 , Q 2 , and Q 3 are taught points, and their coordinate values are known, so α, β, γ, α′, β′, γ′, λ , μ, ν, that is, x w , y w , and z w can be easily determined using an arithmetic device.

本発明は、ウイービング中心をHとするもので
あるが、説明をわかりやすくするために、本記載
事項中では、交点Wをウイービング中心と称して
説明をすすめる。実際上、第3図a,bに示すよ
うに、3線上もしくは、その近傍にWがくる
ように設定されることが多いので、振幅方向での
中心はHとWがほぼ一致するので、交点Wをウイ
ービング中心と考えて差支えない。
In the present invention, the weaving center is H, but in order to make the explanation easier to understand, the intersection point W will be referred to as the weaving center in this description. In practice, as shown in Figure 3 a and b, W is often set to be on or near the three lines, so the center in the amplitude direction is almost the same as H and W, so the intersection point is It is safe to think that W is mainly used for weaving.

このウイービング中心Wが第2図における教示
線P1P2――→上をたどる。
This weaving center W traces above the teaching line P 1 P 2 ---→ in FIG.

ロボツトの手首に装着した溶接トーチ先端P
は、第2図に示すようにWの軌跡をたどるのでは
なく、時々刻々のWの値にWHベクトルとHから
のウイービング現在値を加算した軌跡をたどるこ
とになる。
Welding torch tip P attached to robot's wrist
does not follow the trajectory of W as shown in FIG. 2, but follows a trajectory obtained by adding the WH vector and the current weaving value from H to the momentary value of W.

溶接トーチの先端がHから出発した基準クロツ
クK回後のウイービング点座標をもとめるために
1回の基準クロツク1 2′上を動く距離Sを求め
る。
In order to find the weaving point coordinates after K times of the reference clock starting from H, the distance S that the tip of the welding torch moves over one reference clock 12 ' is determined.

こゝにいう基準クロツクとは、一般にサーボク
ロツクと称される信号で、第5図に示す分周、立
上り微分回路37の出力信号である。
The reference clock referred to here is a signal generally called a servo clock, and is the output signal of the frequency division/rise differentiation circuit 37 shown in FIG.

その詳細は第5図に関する説明で後述するが、
同図BRM(Binary Rated MultiPlier)の出力、
即ちロボツトを構成している各軸の位置サーボ系
へのパルス列信号としての位置サーボ指令が同図
に示すクロツクφとBRMビツト数で決まる時間
で払い出し完了となる周期を有するクロツクのこ
とである。そしてその周期を基準クロツク周期と
称する。
The details will be described later in the explanation regarding FIG.
The output of BRM (Binary Rated MultiPlier) in the same figure,
In other words, it is a clock having a period in which the position servo command as a pulse train signal to the position servo system of each axis constituting the robot is completed in a time determined by the clock φ shown in the figure and the number of BRM bits. The period is called the reference clock period.

この基準クロツク周期内に各軸への次の位置サ
ーボ指令データ、即ち、同図に示すバツフア41
への入力データが演算器31で演算される。なお
この演算クロツク周期は、通常数msに設定され、
この基準クロツク周期毎にロボツト各軸の移動量
をインクリメンタル演算し、きめの細いウイービ
ング運動を行なわせるものである。
The next position servo command data for each axis within this reference clock cycle, that is, the buffer 41 shown in the figure.
The input data to is calculated by the calculation unit 31. Note that this calculation clock cycle is usually set to several ms,
The amount of movement of each axis of the robot is calculated incrementally every cycle of this reference clock, and a fine weaving motion is performed.

ウイービング運動を行なわせるにあたり、最初
このKをK=1とし、基準クロツク周期毎にK=
K+1となる値にKを増分させていく。
To perform the weaving motion, initially set this K to K=1, and then change K=1 every reference clock period.
K is incremented to a value of K+1.

こゝで基準クロツク周期をC0,ウイービング
周波数数をh,ウイービング振巾の半分をjとす
ると、 S=4hjC0 ……(4) SのX,Y,Z成分Δx,Δy,Δzは Δx=−Sα Δy=−Sβ Δz=−Sγ ……(5) で表わされる。また基準クロツクK回後のウイー
ビングパターン上の現在値xK,yK,zKは xK=K・Δx yK=K・Δy zK=K・Δz ……(6) で表わされる。なおH→Q1→H→Q2′→Hのウイ
ービングQ1,Q2′から折り返すときにはΔx,Δy,
Δzの符号を逆にするのは当然である。WH―→の長
さと方向は常に一定であり、その成分x0,y0,z0
は x0=x1+jα−xw y0=y1+jβ−yw z0=z1+jγ−zw ……(7) となる。
Here, if the reference clock period is C 0 , the number of weaving frequencies is h, and half of the weaving amplitude is j, then S = 4hjC 0 ... (4) The X, Y, Z components Δx, Δy, Δz of S are Δx =-Sα Δy=-Sβ Δz=-Sγ ...(5) Furthermore, the current values x K , y K , and z K on the weaving pattern after K reference clock cycles are expressed as x K =K·Δx y K =K·Δy z K =K·Δz (6). In addition, when returning from the weaving Q 1 , Q 2 ′ of H→Q 1 →H→Q 2 ′→H, Δx, Δy,
It is natural to reverse the sign of Δz. The length and direction of WH―→ are always constant, and its components x 0 , y 0 , z 0
is x 0 =x 1 +jα−x w y 0 =y 1 +jβ−y w z 0 =z 1 +jγ−z w ……(7).

従つて、(6)式、(7)式にウイービング中心Wの座
標を加算した軌跡を溶接トーチ先端Pがたどれば
よい。
Therefore, the welding torch tip P should just follow a trajectory obtained by adding the coordinates of the weaving center W to equations (6) and (7).

指定された溶接速度をVとすると、ウイービン
グ中心WがP1P2―→上をたどるための基準クロツク
毎の移動量は、 で表わされる。
If the specified welding speed is V, the amount of movement per reference clock for the weaving center W to follow P 1 P 2 -→ is: It is expressed as

ウイービング中心Wが基準クロツクK回後に移
動する距離xK′,yK′,zK′は xK′=x1+xop・K yK′=y1+yop・K zK′=z1+zop・K ……(9) となる。
The distance x K ′, y K ′, z K ′ that the weaving center W moves after K reference clocks is x K ′=x 1 +x op・K y K ′=y 1 +y op・K z K ′=z 1 +z op・K ...(9) becomes.

制御点である溶接トーチ先端の座標(XK
YK,ZK)が次式になるように制御すれば所望の
ウイービングパターンが得られる。
The coordinates of the welding torch tip, which is the control point (X K ,
A desired weaving pattern can be obtained by controlling Y K , Z K ) to satisfy the following equation.

XK=xK′+xK+xp YK=yK′+yK+yp ZK=zK′+zK+zp ……(10) つぎにロボツト手首軸の制御について説明する。 X K = x K ′+x K +x p Y K = y K ′+y K +y p Z K =z K ′+z K +z p (10) Next, the control of the robot's wrist axis will be explained.

手首姿勢は、溶接線に沿いトーチ角、前進角が
溶接上で決まるある変化巾内にあるよう制御され
ねばならない。教示点P1,P2点での手首姿勢は
当然正しくテイーチングされている。毛首ふり軸
B、ひねり軸TのP1,P2点での値を11
B22として、基準クロツクC0当りの増分量
ΔB,ΔTは次式より求められる。
The wrist posture must be controlled so that the torch angle and advancement angle along the welding line are within a certain range of variation determined by welding. Naturally, the wrist posture at the teaching points P 1 and P 2 has been taught correctly. The values at points P 1 and P 2 of the hair swing axis B and twist axis T are 1 , 1 ,
As B 2 and 2 , the increment amounts ΔB and ΔT per reference clock C 0 are obtained from the following equations.

よつて基準クロツクK回目のBK,TKは BK=B1+ΔB・K TK=T1+ΔT・K ……(12) となるべく制御され、ウイービング中も常に適正
な溶接トーチ姿勢が保たれる。
Therefore, B K and T K of the K-th reference clock are controlled as much as B K = B 1 + ΔB・K T K = T 1 + ΔT・K (12), and the proper welding torch posture is always maintained during weaving. dripping

(1)式のX,Y,Z座標は制御点である溶接トー
チ先端の座標であるから、(1)式を求めるために、
ロボツトの形態が直交形、多関節形、円筒形、極
座標形を問わず、メモリに格納されているP1
P2,Q1,Q2,Q3の各駆動軸座標データから直交
座標への変換が必要となる。
Since the X, Y, and Z coordinates in equation (1) are the coordinates of the tip of the welding torch, which is the control point, in order to obtain equation (1),
Regardless of whether the robot is orthogonal, multi-jointed, cylindrical, or polar coordinate, P 1 , which is stored in memory,
It is necessary to convert the drive axis coordinate data of P 2 , Q 1 , Q 2 , and Q 3 to orthogonal coordinates.

また(10)式、(12)で計算された時々刻々(基準
クロツク毎)の溶接トーチのあるべき位置(XK
YK,ZK,BK,TK)を実現するために(10)式の解
XK,YK,ZKをロボツト基本軸の駆動軸データに
逆変換しなければならない。ロボツト手首軸デー
タはBK,TKとなる。
In addition, the position (X K ,
Solution of equation (10) to realize Y K , Z K , B K , T K )
X K , Y K , and Z K must be converted back to drive axis data for the robot's basic axes. The robot wrist axis data is B K and T K.

第1図に示した実施例ロボツトの基本3軸、す
なわち3要素の旋回体15及びアーム13,14
はそれぞれ回転角ψ,,θで制御され、手首ふ
り軸、ひねり軸は回転角B,Tで制御される。制
御点Pは溶接トーチ11の先端である。
The basic three axes of the embodiment robot shown in FIG.
are controlled by rotation angles ψ, θ, respectively, and the wrist swing axis and twist axis are controlled by rotation angles B and T. Control point P is the tip of welding torch 11.

手首ふり軸回転中心より距離A、ひねり軸回転
中心より距離d離れた点Pがテイーチングされた
制御点であるから、その直交座標値は X=(Lcosθ+lcos+AsinB+dcosT・cosB)×
cosψ−dsinT・sinψ X=(Lcosθ+lcos+AsinB+dcosT・cosB)×
cosψ−dsinT・sinψ Y=(Lcosθ+lcos+AsinB+dcosT・cosB)×sinψ
−dsinT・cosψ Z=Lsinθ+lsin+AcosB+dcosT・sinB ……(13) となる。また(10)式で求めたXK,YK,ZKと(12)
式で求めたBK,TKより(13)式を逆変換した次
式により関節ロボツトの基本3軸の回転角ψK
θKKが求まる。
Since the point P that is a distance A from the wrist swing axis rotation center and a distance d away from the twist axis rotation center is the taught control point, its orthogonal coordinate value is X = (Lcosθ + lcos + AsinB + dcosT・cosB) ×
cosψ−dsinT・sinψ X=(Lcosθ+lcos+AsinB+dcosT・cosB)×
cosψ−dsinT・sinψ Y=(Lcosθ+lcos+AsinB+dcosT・cosB)×sinψ
−dsinT・cosψ Z=Lsinθ+lsin+AcosB+dcosT・sinB ...(13) In addition, X K , Y K , Z K obtained by equation (10) and (12)
From B K and T K obtained by the equations, the rotation angles of the three basic axes of the articulated robot ψ K ,
θ K and K are found.

但し、 a=√K 2K 22 2 K −(AsinBK+dcosTKcosBK) b=ZK(AcosBK−dcosTKsinBK) 第4図はウイービング教示パターンの自動継続
を説明するための図である。図においてP1,P2
P3は第2図同様テイーチング点、Q1,Q2′,Q3
第2図と全く同じことを意味する。
However, a=√ K 2 + K 22 2 K − (AsinB K + dcosT K cosB K ) b=Z K (AcosB K − dcosT K sinB K ) Figure 4 is used to explain the automatic continuation of the weaving teaching pattern. This is a diagram. In the figure, P 1 , P 2 ,
P 3 is the teaching point as in Fig. 2, and Q 1 , Q 2 ', and Q 3 mean exactly the same as in Fig. 2.

1 2の延長線上にうPeをとる。P1とΔQ1Q2
Q3をこのまゝ1 2にそつて平行移動しP1をP2
もつてきたときQ1,Q210 20の位置になる。
P2P32でつくる平面に垂直な方向2を引
く。ただし2は2つのベクトルP2P3とP2Peの
外積の方向にとる。∠P3P2Pe=ω0として
Q10Q20′を2の軸のまわりに2から2 3へ向
う方向へω0だけ回転させると、次のブロツクの
ウイービングパターン1 2が求まる。
1 Take P e on the extension line of 2 . P 1 and ΔQ 1 Q 2 ,
When Q 3 is moved in parallel along 1 2 and P 1 is brought to P 2 , Q 1 and Q 2 will be at the 10 20 position.
P 2 P Draw direction 2 perpendicular to the plane made by 3 and 2 . However, 2 is taken in the direction of the cross product of the two vectors P 2 P 3 and P 2 Pe. As ∠P 3 P 2 Pe=ω 0
By rotating Q 10 Q 20 ' by ω 0 in the direction from 2 to 2 3 around the axis of 2, the weaving pattern 1 2 of the next block can be found.

P1111),P2222)の座標値

P1P2の方向余弦(λ,μ,ν)を求め、P22
y22),P3333)の座標値からP2P3の方
向余弦(λ′,μ′,ν′)を求めると、ω0は次式で

義される。
Are the coordinate values of P 1 ( 1 , 1 , 1 ), P 2 ( 2 , 2 , 2 )?
Find the direction cosine (λ, μ, ν) of P 1 P 2 and calculate P 2 ( 2 ,
When the direction cosine (λ', μ', ν') of P 2 P 3 is determined from the coordinate values of y 2 , 2 ) and P 3 ( 3 , 3 , 3 ) , ω 0 is defined by the following equation.

ω0=f16(λ,μ,ν,λ′,μ′,ν′) =cos-1(λλ′,μμ′,νν′) ……(15) Q1,Q2,Q3の座標値がそれぞれ(x1,y1
z1),(x2,y2,z2),(x3,y3,z3)のとき1
(x1′,y1′,z1′)は次式で定義される。
ω 0 = f 16 (λ, μ, ν, λ′, μ′, ν′) = cos -1 (λλ′, μμ′, νν′) ... (15) Coordinates of Q 1 , Q 2 , Q 3 The values are (x 1 , y 1 ,
1 when z 1 ), (x 2 , y 2 , z 2 ), (x 3 , y 3 , z 3 )
(x 1 ′, y 1 ′, z 1 ′) is defined by the following equation.

x1′=f17(x1,x2,x1,y1,z1,ω0, λ,μ,ν,λ′,μ′,ν′) =X2+(X1,X1)cosω0+(μν′−μ′ν)m/1
+cosω0 −(λμ′-λ′μ)(Y1-Y1)+(νλ′-ν′λ)
(Z1,Z1) y1′=f10(y1,y2,x1,y1,z1,ω0, λ,μ,ν,λ′,μ′,ν′) =Y2+(Y1,Y1)cosω0+(νλ′−ν′λ)m/1
+cosω0 −(μν′−μ′ν)(Z1,Z1)+(λμ′−λ′μ
)(X1−X1) x1′=f19(z1,z2,x1,y1,z1,ω0, λ,μ,ν,λ′,μ′,ν′) =Z2+(Z1−Z1)cosω0+(λμ,−λ′μ)m/1
+cosω0 −(νλ′-ν′λ)(X1-X1)+(μν′-μ′ν)
(Y1-
Y1) ……(16) 但し、 m=(x11)(μν′−μ′ν)+(Y11) (νλ′−ν′λ)+(Z11)(λμ′-λ′μ) cosω0=λλ′+μμ′+νν′2 ′(x′2,y2′,z2′),3(x3,y3,z3)も同様

求められる。ウイービングパターン、振巾のテイ
ーチングは最初の溶接線で1回行なうだけでよ
く、後続ブロツクではQ1,Q2,Q3を順次求め、
第2図で説明したことをくり返しながらウイービ
ングが適正な方向に自動継続される。途中にウイ
ービングをしないエアーカツトのブロツクがあつ
ても演算上は上記計算を続行するのでエアーカツ
ト後の溶接線でもウイービング点Q1,Q2,Q3
テイーチングは不要である。換言すると、Q1
Q2,Q3のテイーチングは1回で済む。
x 1 ′=f 17 (x 1 , x 2 , x 1 , y 1 , z 1 , ω 0 , λ, μ, ν, λ′, μ′, ν′) = X 2 + (X 1 , X 1 ) cosω 0 + (μν′−μ′ν)m/1
+cosω 0 − (λμ′-λ′μ) (Y 1 -Y 1 ) + (νλ′-ν′λ)
(Z 1 , Z 1 ) y 1 ′=f 10 (y 1 , y 2 , x 1 , y 1 , z 1 , ω 0 , λ, μ, ν, λ′, μ′, ν′) = Y 2 +(Y 1 , Y 1 )cosω 0 +(νλ′−ν′λ)m/1
+cosω 0 − (μν′−μ′ν) (Z 1 , Z 1 ) + (λμ′−λ′μ
) ( X 1 _ _ _ _ _ 2 + (Z 1 − Z 1 ) cosω 0 + (λμ, −λ′μ) m/1
+cosω 0 − (νλ′-ν′λ) (X 1 -X 1 ) + (μν′-μ′ν)
(Y 1 -
Y 1 ) ...(16) However, m = (x 11 ) (μν′−μ′ν) + (Y 11 ) (νλ′−ν′λ) + (Z 11 ) (λμ ′-λ′μ) cosω 0 =λλ′+μμ′+νν′ 2 ′ (x′ 2 , y 2 ′, z 2 ′), 3 (x 3 , y 3 , z 3 ) can be found in the same way. Teaching the weaving pattern and width only needs to be done once on the first welding line, and in subsequent blocks sequentially determine Q 1 , Q 2 , and Q 3 .
Weaving is automatically continued in the appropriate direction by repeating what has been explained in FIG. Even if there is an air cut block on the way that does not perform weaving, the above calculation continues, so there is no need to teach weaving points Q 1 , Q 2 , and Q 3 even on the weld line after air cutting. In other words, Q 1 ,
Teaching Q 2 and Q 3 only needs to be done once.

第5図は本発明の一実施例における演算器と、
2段バツフア付きBRMで構成されたロボツト各
駆動軸位置サーボ制御器と、ロボツト全体の動作
を統括するメインCPU(マイクロプロセツサ)と
のつなぎを示すブロツク図である。
FIG. 5 shows an arithmetic unit in an embodiment of the present invention,
FIG. 2 is a block diagram showing the connection between each drive shaft position servo controller of the robot composed of a BRM with a two-stage buffer and the main CPU (microprocessor) that controls the operation of the entire robot.

演算器からのコマンド要求に対し、全体のロボ
ツト動作シーケンス上からウイービング溶接を行
なう場合には、メインCPU20は図示しないテ
イーチボツクスで指定したウイービングすべきブ
ロツクの始点P1、終点P2およびウイービングパ
ターン定義点Q1,Q2,Q3のロボツト基本3軸と
ロボツト手首軸の原点からのパルス数、溶接速度
V、ウイービング周波数hをメモリ(図示せせ
ず)から読み出し、レヂスタ21〜レヂスタ27
にセツトし、ウイービング開始マクロコマンドを
出力する機能を有している。
When performing weaving welding from the entire robot operation sequence in response to a command request from a computing unit, the main CPU 20 selects the starting point P 1 , ending point P 2 and weaving pattern definition point of the block to be weaved specified in a teach box (not shown). The number of pulses from the origin of the three robot basic axes Q 1 , Q 2 , and Q 3 and the robot wrist axis, the welding speed V, and the weaving frequency h are read from the memory (not shown), and are stored in registers 21 to 27.
It has a function to set the macro command to start weaving and output the weaving start macro command.

演算器31は、シーケンスコントローラ32、
マイクロプログラムメモリ33、パイプラインレ
ヂスタ34、マルチプレクサ35、RALU
(Register and Arithmetic Logicai Unit)3
6、レヂスタ21〜レヂスタ27、クロツクφの
分周、立ち上り微分回路37及び基準クロツク・
アドレスゼネレータ38より構成される。
The arithmetic unit 31 includes a sequence controller 32,
Microprogram memory 33, pipeline register 34, multiplexer 35, RALU
(Register and Arithmetic Logic Unit) 3
6. Registers 21 to 27, frequency division of clock φ, rising differentiation circuit 37, and reference clock.
It is composed of an address generator 38.

シーケンスコントローラ32はマイクロプログ
ラムメモリ33に格納されているマイクロインス
トラクシヨンの実行シーケンスを制御するアドレ
スコントローラである。パイプラインレヂスタ3
4からの制御命令により種々のアドレツシングと
スタツクコントロールを行なう。
The sequence controller 32 is an address controller that controls the execution sequence of microinstructions stored in the microprogram memory 33. Pipeline register 3
Various addressing and stack controls are performed by control commands from 4.

更に詳しくいえば、現在実行中のアドレスのイ
ンクリメント、マクロコマンドで指定されたアド
レス選択、基準クロツクアドレスゼエネレータ3
8で指定されたアドレス選択、RALUステイタ
スを含めたテスト条件に応じた条件ジヤンプのと
きパイプラインレヂスタ34から与えられるジヤ
ンプアドレスの選択、無条件ジヤンプのときパイ
プラインレヂスタ34から与えられるジヤンプア
ドレスの選択、マイクロサブルーチンコール時の
スタツクコントロール等を処理する部分である。
More specifically, incrementing the address currently being executed, selecting an address specified by a macro command, and incrementing the address specified by the reference clock address generator 3.
Selection of the address specified in 8, selection of the jump address given from the pipeline register 34 in the case of a conditional jump according to the test conditions including the RALU status, selection of the jump address given from the pipeline register 34 in the case of an unconditional jump. This is the part that processes jump address selection, stack control during micro subroutine calls, etc.

アドレツシングのための入力情報としては
CPUからのマクロコマンド、基準クロツクアド
レスゼエネレータ38の出力及びパイプラインレ
ヂスタ34の出力の3つがある。
Input information for addressing is
There are three: a macro command from the CPU, the output of the reference clock address generator 38, and the output of the pipeline register 34.

マイクロプログラムすなわちパイプラインレヂ
スタ34の制御命令により、シーケンスコントロ
ーラ32がこの3つのうちどれを選ぶか、または
どちらも選ばずカレントアドレスのインクリメン
トを行なうかが決まる。
The microprogram, ie, the control command of the pipeline register 34, determines which of these three the sequence controller 32 will select, or whether it will select none and increment the current address.

マクロコマンドとしてウイービング開始命令が
ある。このマクロコマンドと基準クロツクアドレ
スゼエネレータ38の出力はハードウエア上から
いえば、それぞれの処理マイクロプログラムの先
頭アドレスを示す形で与えられる。これらがシー
ケンスコントローラに与えられていないときに
は、パイプラインレヂスタ34出力からのジヤン
プアドレス、サブルーチンコールアドレス、カレ
ントアドレスインクリメントが与えられる。
There is a weaving start command as a macro command. From a hardware standpoint, this macro command and the output of the reference clock address generator 38 are given in a form indicating the start address of each processing microprogram. When these are not provided to the sequence controller, the jump address, subroutine call address, and current address increment are provided from the pipeline register 34 output.

マイクロプログラムメモリ33は本演算器31
の中枢部で、全ての演算処理はこのマイクロプロ
グラムの指令通りに実行される。
The microprogram memory 33 is the main arithmetic unit 31
In the central part of the computer, all arithmetic processing is executed according to the instructions of this microprogram.

パイプラインレヂスタ34はマイクロプログラ
ムメモリ33のバツフアレヂスタで現在実行すべ
き演算用マイクロインストラクシヨンをRALU
36へ出力するとともに、次のマイクロアドレス
決定のための制御命令をシーケンスコントローラ
32と、マルチプレクサ35へ出力し、ジヤンプ
アドレス、サブルーチンコールアドレス、カレン
トアドレスインクリメントをシーケンスコントロ
ーラ32へ出力する。またウイービング中心がそ
のブロツクの終点P2点に到達したときには、次
のブロツクの座標データを要求するコマンド要求
をメインCPU20へ出力する。
The pipeline register 34 RALUs the arithmetic microinstruction to be currently executed in the buffer register of the microprogram memory 33.
36, a control command for determining the next microaddress is output to the sequence controller 32 and the multiplexer 35, and a jump address, subroutine call address, and current address increment are output to the sequence controller 32. When the weaving center reaches the end point P2 of the block, a command request for coordinate data of the next block is output to the main CPU 20.

このパイプラインレヂスタ34は、2つの信号
パスを形成し、各々を並列に同時進行させ、マイ
クロサイクルタイムを短縮させ、演算の高速化を
はかるためにある。
This pipeline register 34 is provided to form two signal paths and allow each signal to proceed simultaneously in parallel to shorten microcycle time and speed up calculations.

すなわち、1つのパスはパイプラインレヂスタ
34→シーケンスコントローラ32→マイクロプ
ログラムメモリ33とつながるコントロール系の
パス、今一つはパイプラインレヂスタ34→
RALU36の演算系のパスで、この2つのパス
を同じクロツクサイクルの間に並列に動作させる
ために、パイプラインレヂスタ34が用意されて
いる。
In other words, one path is a control system path connecting pipeline register 34 → sequence controller 32 → microprogram memory 33, and the other path is pipeline register 34 →
A pipeline register 34 is provided in the arithmetic system path of the RALU 36 in order to operate these two paths in parallel during the same clock cycle.

クロツクCPの立ち上り時には既にコントロー
ル系のパスで準備されたマイクロプログラムの次
の命令がパイプラインレヂスタ34の入力にあら
われているため、メモリフエツチ時間がゼロと等
価な高速動作が可能となる。
When the clock CP rises, the next instruction of the microprogram prepared in the control path has already appeared at the input of the pipeline register 34, so high-speed operation equivalent to zero memory fetch time is possible.

マルチプレクサ35はパイプラインレヂスタ3
4の制御命令に応じRALUステイタスのテスト
条件をシーケンスコントローラ32へ与え、それ
ぞれの処理プログラムへの条件ジヤンプを実行さ
れるためのものである。
Multiplexer 35 is pipeline register 3
The test condition of the RALU status is given to the sequence controller 32 in response to the control command No. 4, and the condition jump to each processing program is executed.

RALU36は論理・算術演算ユニツトとプロ
グラマブルレヂスタで構成され、マイクロプログ
ラムで規定された演算インストラクシヨンを実行
する。演算結果である基準クロツク毎のロボツト
各駆動軸の増分パルス数がRALU36内の所定
のレヂスタに格納される。
The RALU 36 is composed of a logical/arithmetic operation unit and a programmable register, and executes operation instructions specified by a microprogram. The calculation result, which is the incremental number of pulses for each drive axis of the robot for each reference clock, is stored in a predetermined register in the RALU 36.

レヂスタ21は始点P1、レヂスタ22は終点
P2、レヂスタ23はQ1点、レヂスタ24はQ2点、
レヂスタ25はQ3点のロボツト基本3軸とロボ
ツト手首の原点からのパルス数を格納するレヂス
タである。
Register 21 is the starting point P 1 , register 22 is the ending point
P 2 , register 23 has Q 1 point, register 24 has Q 2 points,
The register 25 is a register that stores the number of pulses from the three basic axes of the robot at the Q3 point and the origin of the robot wrist.

レヂスタ26は溶接速度Vを、レヂスタ27は
ウイービング周波数hを格納するレヂスタであ
る。バツフア41はロボツト各駆動軸のつぎの基
準クロツクで払い出すべき増分パルス数を格納す
るレヂスタ、バツフア42は現在払い出し中の増
分パルス数を格納するレヂスタである。
The register 26 is a register that stores the welding speed V, and the register 27 is a register that stores the weaving frequency h. Buffer 41 is a register that stores the number of incremental pulses to be delivered at the next reference clock for each drive axis of the robot, and buffer 42 is a register that stores the number of incremental pulses that are currently being delivered.

BRMはバツフア42に格納されているパルス
数を基準クロツク周期内に、クロツクφに同期し
たパルスとして均一一様に配分し、基準クロツク
毎にバツフア転送用払い出し完了信号を出力す
る。
The BRM uniformly distributes the number of pulses stored in the buffer 42 within a reference clock period as pulses synchronized with the clock φ, and outputs a buffer transfer payout completion signal for each reference clock.

分周、立ち上り微分回路はクロツクφより
BRMのビツト数だけ分周された基準クロツクを
作りその立ち上りを微分する回路で、BRM払い
出し完了信号と基準クロツクの同期をとるための
ものである。
Frequency division and rise differentiation circuit are from clock φ
This circuit creates a reference clock whose frequency is divided by the number of BRM bits and differentiates its rising edge, and is used to synchronize the BRM output completion signal and the reference clock.

第6図は、第5図で説明したBRMから払い出
される指令パルスにより制御される多関節形ロボ
ツトの基本3軸(ψ軸、θ軸、軸)と手首2軸
(B軸、T軸)の位置サーボである。
Figure 6 shows the basic three axes (ψ axis, θ axis, axes) and two wrist axes (B axis, T axis) of an articulated robot that is controlled by command pulses issued from the BRM explained in Figure 5. It is a position servo.

溶接トーチ先端がウイービング運動をするべく
与えられた各軸指令パルスと各パルスゼネレータ
616,626,636,646,656からのフイードバツク
パルスとの差が偏差カウンタ611、621,631,
641,651から出力されD/A変換器612,622,
632,642,652を介してアナログの速度指令がサ
ーボアンプ613,623,633,643,653に夫々入力
される。サーボアンプはその速度指令とタコゼネ
レータ615,625,635,,645,655の出力(検出速
度)とを夫々比較し、その差がなくなるように各
駆動モータを制御する。この位置サーボ系によ
り、ロボツトに装着された溶接トーチ先端が指令
パルス通りに追従し所望のウイービング動作が行
なわれる。
Each axis command pulse and each pulse generator are given to make the welding torch tip perform weaving motion.
The difference with the feedback pulse from 616, 626, 636, 646, 656 is the deviation counter 611, 621, 631,
Output from 641, 651 and D/A converters 612, 622,
Analog speed commands are input to servo amplifiers 613, 623, 633, 643, and 653 via 632, 642, and 652, respectively. The servo amplifier compares the speed command with the outputs (detected speeds) of the tacho generators 615, 625, 635, 645, and 655, respectively, and controls each drive motor so that the difference disappears. With this position servo system, the tip of the welding torch mounted on the robot follows the command pulses and performs the desired weaving operation.

つぎに、第5図に示した制御回路によるウイー
ビング制御動作について説明する。
Next, weaving control operation by the control circuit shown in FIG. 5 will be explained.

演算器31は最初ウエイトルーチンを実行して
いる。シーケンスコントローラ32は、メイン
CPU20からマクロコマンドが与えられると、
そのサービスプログラムの先頭アドレスを選択す
る制御命令をパイプラインレヂスタ34から与え
られながら、演算器31がウエイトルーチンを実
行するようアドレスコントロールしている。
The computing unit 31 is initially executing a wait routine. The sequence controller 32 is the main
When a macro command is given from the CPU 20,
While being given a control command from the pipeline register 34 to select the start address of the service program, the arithmetic unit 31 performs address control to execute the wait routine.

このウエイトルーチンには基準クロツク分周回
路37をリセツトする命令が入つているため、基
準クロツクは発生しない。
Since this wait routine contains an instruction to reset the reference clock frequency divider circuit 37, no reference clock is generated.

ウイービング制御を始めるにあたつてメイン
CPU20は、まずレヂスタ21〜レヂスタ25
に、溶接倣いブロツクの始点P1111
T11)、終点P222222)、ウイ
ービングパターン定義点Q1(ψ1,θ11,T1
B1)、Q2(ψ2,θ22,T2,B2)、Q3(ψ3,θ3
3,T3,B3)の座標値をセツトする。
Main points to start weaving control
The CPU 20 first registers 21 to 25.
, the starting point P 1 ( 1 , 1 , 1 ,
T 1 , 1 ), end point P 2 ( 2 , 2 , 2 , 2 , 2 ), weaving pattern definition point Q 11 , θ 1 , 1 , T 1 ,
B 1 ), Q 22 , θ 2 , 2 , T 2 , B 2 ), Q 33 , θ 3 ,
3 , T 3 , B 3 ).

またレヂスタ26、レヂスタ27に、溶接速度
V、ウイービング周波数hをセツトする。
Further, the welding speed V and weaving frequency h are set in the register 26 and the register 27.

メインCPU20がウイービング開始マクロコ
マンド出力するとウイービング制御用サービスマ
イクロプログラムの先頭アドレスN#が選択され
る。
When the main CPU 20 outputs a weaving start macro command, the start address N# of the weaving control service microprogram is selected.

このプログラムには、基準クロツク分周回路3
7のリセツト信号の解除命令が入つているため、
分周回路37はクロツクφをカウントし始める。
以後次の基準クロツクアドレスゼネレータ38よ
りの出力がくるまでシーケンスコントローラ32
は演算処理に必要なアドレツシングを行なうよう
動作する。
This program includes the reference clock divider circuit 3.
Since the command to cancel the reset signal of 7 is included,
The frequency dividing circuit 37 starts counting the clock φ.
Thereafter, the sequence controller 32 is operated until the next output from the reference clock address generator 38 is received.
operates to perform addressing necessary for arithmetic processing.

では次にN#から始まるウイービング制御プロ
グラムについて説明しよう。
Next, let's explain the weaving control program starting with N#.

レヂスタにセツトされているP1,P2,Q1,Q2
Q3を(13)式により(1)式に示す直交座標系デー
タに変換する つぎにレヂスタ27にセツトされているhによ
り(4)式、(5)式を解く。また、レヂスタ26にセツ
トされているVにより(8)式を解く。また(2)式及び
(3)式を解き次いで(7)式を解く。
P 1 , P 2 , Q 1 , Q 2 , set in the register
Convert Q 3 to the orthogonal coordinate system data shown in equation (1) using equation (13). Next, solve equations (4) and (5) using h set in register 27. Also, equation (8) is solved using V set in the register 26. Also, equation (2) and
Solve equation (3) and then solve equation (7).

P1,P2の手首軸角度より(11)式を解く。こ
れ以降の処理プログラムが格納されている先頭番
地がM#であるとする。
Solve equation (11) using the wrist axis angles of P 1 and P 2 . Assume that the first address where the subsequent processing programs are stored is M#.

一番最初の基準クロツクではK=1にして(6)式
を解く。(9)式、(7)式より(10)式のXK,YK,ZKを求
める。(12)式よりBK,TKを求める。
For the first reference clock, set K=1 and solve equation (6). Find X K , Y K , and Z K in equation (10) from equations (9) and (7). Find B K and T K from equation (12).

(12)式の解BK,TKと前回の基準クロツク時
のBK,TK(今の場合には11)の差ΔB、ΔT
をRALU36内の所定のレヂスタにセツトする。
The difference ΔB, ΔT between the solution B K , T K of equation (12) and B K , T K ( 1 , 1 in this case) at the previous reference clock
is set in a predetermined register in the RALU 36.

(10)式の解XK,YK,ZKとBK,TKを(14)式に
代入して基本3軸ψK,θKKを求め、前回の基
準クロツク時のψK,θKK(今の場合11
1)の差Δψ,Δθ,ΔをRALU内の所定のレヂ
スタにセツトし演算器31は待機する。
Substitute the solution of equation (10) X K , Y K , Z K and B K , T K into equation (14) to find the basic three axes ψ K , θ K , K , and calculate ψ K at the previous reference clock. , θ K , K (in this case 1 , 1 ,
1 ), the differences Δψ, Δθ, and Δ are set in predetermined registers in the RALU, and the computing unit 31 waits.

この待機はメインCPU20よりのマクロコマ
ンドを待つウエイトルーチンとは異なり、次の基
準クロツクアドレスゼネレータ出力M# を待つル
ーチンであり、分周回路37のリセツトは行なわ
れない。
Unlike the wait routine that waits for a macro command from the main CPU 20, this wait routine waits for the next reference clock address generator output M#, and the frequency divider circuit 37 is not reset.

以上の演算が終了するまでの時間以上に基準ク
ロツク周期が長くなるようにクロツクφとBRM
ビツト数を設定しているので、演算時間が間にあ
わないというトラブルは発生しない。
The clock φ and BRM are
Since the number of bits is set, there is no problem of not being able to complete the calculation in time.

演算器31がM# を待つウエイトルーチンを実
行しているとき基準クロツクが発生すると同時に
BRMより払い出し完了信号が出力され、5ケの
バツフア41に前記RALU36内の所定のレヂ
スタからΔψ,Δθ,Δ,ΔB,ΔTがそれぞれロ
ードされ、バツフア42にはバツフア41の内容
がロードされる。
While the arithmetic unit 31 is executing a wait routine waiting for M#, the reference clock is generated and at the same time
A payout completion signal is output from the BRM, and Δψ, Δθ, Δ, ΔB, and ΔT are respectively loaded into the five buffers 41 from predetermined registers in the RALU 36, and the contents of the buffer 41 are loaded into the buffer 42.

初回の基準クロツクではバツフア41がクリア
されたままであるため、バツフア42には0が入
り、BRMによるパルス払い出しは行なわれな
い。この基準クロツクにより基準クロツクアドレ
スゼエネレータ38が作動し、マイクロプログラ
ムはM# から実行され始めN=2にして(6)式を求
める。
Since the buffer 41 remains cleared at the first reference clock, 0 is stored in the buffer 42, and no pulse is delivered by the BRM. The reference clock address generator 38 is activated by this reference clock, and the microprogram starts running from M#, setting N=2 to obtain equation (6).

そこで(9)式を求め(10)式のXK,YK,ZKを求め
る。また(12)式のBK,TKを求め、前回との差
ΔB,ΔTをRALU内の所定のレヂスタにセツト
する。このXK,YK,ZKとBK,TKを(14)式に
代入しψK,θKKを求め、前回との差Δψ,Δθ,
ΔをRALU内の所定のレヂスタにセツトする。
Therefore, find equation (9) and find X K , Y K , and Z K in equation (10). In addition, B K and T K in equation (12) are determined, and the differences ΔB and ΔT from the previous time are set in predetermined registers in the RALU. Substitute these X K , Y K , Z K and B K , T K into equation (14) to find ψ K , θ K , K , and calculate the difference Δψ, Δθ from the previous time,
Set Δ to a predetermined register in RALU.

その後演算器は待機し、次の基準クロツクアド
レスゼネレータ出力M# を待つ。
Thereafter, the arithmetic unit waits for the next reference clock address generator output M#.

つぎの基準クロツクでバツフア42には前回の
バツフア1の内容が入り、バツフア41には今回
のΔψ,Δθ,Δ,ΔT,ΔBがそれぞれロードさ
れ、BRMにより各軸位置サーボへ指令パルスが
払い出される。
At the next reference clock, the contents of the previous buffer 1 are loaded into the buffer 42, the current values of Δψ, Δθ, Δ, ΔT, and ΔB are loaded into the buffer 41, and command pulses are sent out to each axis position servo by the BRM. .

次に演算器は基準クロツクがくる毎にψK,θK
K,TK,BKを求め前回の基準クロツク時との差
Δψ,Δθ,Δ,ΔT,ΔBにより位置サーボ制御
を行なう。
Next, the arithmetic unit calculates ψ K , θ K ,
K , T K , and B K are obtained, and position servo control is performed based on the differences Δψ, Δθ, Δ, ΔT, and ΔB from the previous reference clock.

ウイービング中心がブロツクの終点P2に達す
ると、演算器31な次のブロツクでのウイービン
グ方向を決め、前のブロツクのウイービング振巾
と等しい振巾になるようにウイービングパターン
継続処理を行なう。すなわち、既に前ブロツクで
求めたP1P2――→の方向余弦(λ,μ,ν)とP2P3――
→の
方向余弦(λ′,μ′,ν′)により(15)式のω0

め、(16)式より次ブロツクでのQ1点すなわち第
3図で説明した1点、の座標x′1,y′1,z′1を求め
る。同様に1点、3点を求め(1)式のQ1,Q2,Q3
を入れ替える。
When the weaving center reaches the end point P2 of the block, the arithmetic unit 31 determines the weaving direction for the next block, and performs weaving pattern continuation processing so that the weaving width becomes equal to the weaving width of the previous block. That is, the direction cosine (λ, μ, ν) of P 1 P 2 ---→ that was already found in the previous block and P 2 P 3 ---
Find ω 0 in equation (15) using the direction cosine (λ', μ ' , ν ') of Find ′ 1 , y′ 1 , z′ 1 . Similarly, find 1 point and 3 points and calculate Q 1 , Q 2 , Q 3 in equation (1).
Replace.

その後演算器31からのコマンド要求に対しメ
インCPU20はこのブロツクの終点P2の座標値
をレヂスタ21にセツトした後次ブロツクの終点
のロボツト5軸の原点からのパルス数をレヂスタ
22にセツトし、ウイービング開始マクロコマン
ドを演算器31に与える。その後、前記動作がく
り返される。
After that, in response to a command request from the arithmetic unit 31, the main CPU 20 sets the coordinate values of the end point P2 of this block in the register 21, and then sets the number of pulses from the origin of the robot's 5 axes at the end point of the next block in the register 22. A weaving start macro command is given to the arithmetic unit 31. After that, the above operation is repeated.

また、2段バツフアにより指令パルスを払い出
しながらいつもバツフア41に次のセグメントデ
ータが入つているため、ブロツクの切換え箇所に
きたときにもブロツク間停止がなく、なめらかな
ウイービング溶接が実現される。
Furthermore, since the next segment data is always stored in the buffer 41 while discharging command pulses by the two-stage buffer, there is no stop between blocks even when a block switching point is reached, and smooth weaving welding is realized.

〔発明の効果〕〔Effect of the invention〕

以上説明したように、本発明により、教示線の
教示及び唯3点の教示と、振巾、周波数の指定
(通常キイースイツチで指定される)のみで溶接
ロボツト全動作領域内で、どんな溶接線に対して
も適正なウイービング運動が可能となり、また2
番目以降の溶接線に対しては同一ウイービングパ
ターンが自動継続されるので2番目以降の溶接線
に対するウイービング用の特別の教示が不用とな
るため、ウイービング教示の作業性が大巾に向上
し溶接ロボツトの運転操作に貢献するところ大で
ある。
As explained above, according to the present invention, any welding line can be applied to any welding line within the entire operating range of the welding robot by simply teaching the teaching line, teaching only three points, and specifying the amplitude and frequency (usually specified by a key switch). Appropriate weaving movement is possible even for 2
Since the same weaving pattern is automatically continued for the second and subsequent welding lines, special teaching for weaving for the second and subsequent welding lines is not required, greatly improving the workability of weaving teaching and improving the welding robot. This greatly contributes to the driving operation of cars.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は本発明を実施するためのアース溶接ロ
ボツトの斜視図、第2図はウイービング運動設定
用教示点の説明図、第3図は実際の教示例を示す
説明図、第4図はウイービング教示パターンの自
動継続を説明するための図、第5図は実施例にお
ける制御回路のブロツク図、第6図は実施例にお
けるサーボ制御部のブロツク図である。 1……溶接トーチ、2……土台、3及び4……
アーム、5……旋回体。
Figure 1 is a perspective view of an earth welding robot for implementing the present invention, Figure 2 is an explanatory diagram of teaching points for setting weaving motion, Figure 3 is an explanatory diagram showing an actual teaching example, and Figure 4 is an illustration of weaving motion setting. FIG. 5 is a block diagram of the control circuit in the embodiment, and FIG. 6 is a block diagram of the servo control section in the embodiment. 1... Welding torch, 2... Foundation, 3 and 4...
Arm, 5...Swivel body.

Claims (1)

【特許請求の範囲】 1 複数の教示線の任意の1つの教示線近傍に、
ウイービングパターン指定のために3点、すなわ
ち、ウイービング面PL1を決めるための2点Q1
Q2とウイービング中心を決めるための1点Q3
教示すると共に、前記3点とは別にウイービング
振巾、周波数、溶接速度を指定し、溶接ロボツト
の基本3軸を制御して溶接トーチの先端を、前記
3点の教示によつて決まる3角形平面PL2をそ
の教示線方向へ移動させて出来る3角柱の前記ウ
イービング面PL1上を前記指定したウイービン
グ振巾、周波数、溶接速度で移動させることを特
徴とする溶接ロボツトのウイービング制御方法。 2 第1の溶接線の近傍にウイービング運動を定
義する3点を教示し、続く第2以下の溶接線にた
いしては、前記3点で形成される面の3次元平行
移動プラス回転演算を行なうことによりウイービ
ングパターンを自動継続させることを特徴とする
特許請求範囲第1項記載の溶接ロボツトのウイー
ビング制御方法。
[Claims] 1. Near any one of the plurality of teaching lines,
Three points for specifying the weaving pattern, namely two points Q 1 for determining the weaving surface PL1,
In addition to teaching Q 2 and one point Q 3 for determining the weaving center, we also specify the weaving amplitude, frequency, and welding speed separately from the three points above, and control the three basic axes of the welding robot to adjust the tip of the welding torch. is moved on the weaving surface PL1 of the triangular prism, which is formed by moving the triangular plane PL2 determined by the teaching of the three points in the direction of the teaching line, with the specified weaving amplitude, frequency, and welding speed. Features: Weaving control method for welding robots. 2. By teaching three points that define weaving motion in the vicinity of the first welding line, and performing three-dimensional translation plus rotation calculations on the surface formed by the three points for the second and subsequent welding lines. The weaving control method for a welding robot according to claim 1, characterized in that the weaving pattern is automatically continued.
JP22023282A 1982-12-17 1982-12-17 Weaving control system of welding robot Granted JPS58154459A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22023282A JPS58154459A (en) 1982-12-17 1982-12-17 Weaving control system of welding robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22023282A JPS58154459A (en) 1982-12-17 1982-12-17 Weaving control system of welding robot

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP56158627A Division JPS5877775A (en) 1981-10-07 1981-10-07 Control system for welding robot

Publications (2)

Publication Number Publication Date
JPS58154459A JPS58154459A (en) 1983-09-13
JPH0428471B2 true JPH0428471B2 (en) 1992-05-14

Family

ID=16747951

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22023282A Granted JPS58154459A (en) 1982-12-17 1982-12-17 Weaving control system of welding robot

Country Status (1)

Country Link
JP (1) JPS58154459A (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62254982A (en) * 1986-04-30 1987-11-06 Komatsu Ltd Weaving welding method
JPH0692029B2 (en) * 1987-03-20 1994-11-16 ファナック株式会社 Control method of arc welding robot
JPH02139194A (en) * 1988-11-18 1990-05-29 Tokico Ltd Industrial robot
JP2698000B2 (en) * 1992-07-03 1998-01-19 株式会社日立製作所 Welding equipment
JP4859386B2 (en) * 2005-04-20 2012-01-25 株式会社小松製作所 Arc welding apparatus and weaving welding method for arc welding apparatus

Also Published As

Publication number Publication date
JPS58154459A (en) 1983-09-13

Similar Documents

Publication Publication Date Title
US4528632A (en) Industrial articulated robot linear interpolation control device
US4590577A (en) Welding robot controlling method
US4495588A (en) Robot locus control system
US5845053A (en) Method for teaching welding torch orientation
US4529921A (en) Tracking control system of multijoint robot
US4262336A (en) Multi-axis contouring control system
US4449196A (en) Data processing system for multi-precision arithmetic
US4677276A (en) Method of welding robot control which controls the three basic axes of a robot to provide a repetition of a weaving pattern along a robot locus
EP0076498B1 (en) A method controlling an arc welding torch of a welding robot
JPH079606B2 (en) Robot controller
JPS59218513A (en) Arc control method of industrial robot
JP2016055404A (en) Locus generation method, locus generation device, robot device, program, and recording medium
EP0146085A2 (en) Method and apparatus for welding line tracer control
JPH0428471B2 (en)
JPH06105412B2 (en) Motion control method for articulated robot
JPS6095605A (en) Teaching data correcting method of robot
JPH08155647A (en) Weaving controller of welding robot
JPH04367373A (en) Control method for welding robot
JPS5823186B2 (en) You'll see a lot of robots.
JPH0416272B2 (en)
JPH05261546A (en) Control method for welding robot
JPS60156107A (en) Track correcting method of robot hand
JPH0522921B2 (en)
JPH0420203B2 (en)
JPH0724574A (en) Weaving controller for articulated welding robot