JPH0549437B2 - - Google Patents

Info

Publication number
JPH0549437B2
JPH0549437B2 JP16904982A JP16904982A JPH0549437B2 JP H0549437 B2 JPH0549437 B2 JP H0549437B2 JP 16904982 A JP16904982 A JP 16904982A JP 16904982 A JP16904982 A JP 16904982A JP H0549437 B2 JPH0549437 B2 JP H0549437B2
Authority
JP
Japan
Prior art keywords
state
joint
arm
point
axis
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 - Lifetime
Application number
JP16904982A
Other languages
Japanese (ja)
Other versions
JPS5959370A (en
Inventor
Hisahiro Fukuoka
Juji Saikaichi
Hiroshi Kondo
Hiroaki Miki
Shigeo Maruyama
Noboru Ran
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.)
Shinmaywa Industries Ltd
Original Assignee
Shin Meiva Industry Ltd
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 Shin Meiva Industry Ltd filed Critical Shin Meiva Industry Ltd
Priority to JP16904982A priority Critical patent/JPS5959370A/en
Publication of JPS5959370A publication Critical patent/JPS5959370A/en
Publication of JPH0549437B2 publication Critical patent/JPH0549437B2/ja
Granted legal-status Critical Current

Links

Description

【発明の詳細な説明】 (産業上の利用分野) この発明は、関節ロボツトでありながら関節系
の操作手段のほかに直角座標系の操作手段も具備
し、あたかも直角座標系のロボツトのように動作
する関節ロボツトの改良に関するものである。
[Detailed Description of the Invention] (Industrial Application Field) Although the present invention is an articulated robot, it is equipped with operation means for the Cartesian coordinate system in addition to the operation means for the joint system, so that it functions as if it were a robot for the Cartesian coordinate system. This paper relates to the improvement of a moving articulated robot.

(従来の技術) 産業用ロボツトの加工対象となるワークは、溶
接やシーム加工の場合その加工線が直角方向に延
長されているものが多いため、ロボツトはこの加
工線に沿つて連続的に作業を行うことになる。そ
こで、関節ロボツトの用途が広まり、こうした作
業にも使用されるようになると、関節ロボツトで
あつても直角座標系のロボツトのように動作する
ことが求められ、エンドエフエクタなどの被制御
体を直角座標の軸方向へ移動させるように操作で
きたり、直角座標系で位置、姿勢データを取込
み、加工線に沿つて移動させるための補間をしや
すくできれば好都合である。このため、関節ロボ
ツトでありながら、操作盤に関節系の操作スイツ
チだけでなくX,Y,Z,φ,θといつた直角座
標系の操作スイツチとこれらの操作スイツチに対
する切換スイツチを設け、制御装置は、直角座標
系でも情報を取込め、両座標系間で座標変換を行
う手段を具備したものが多い。
(Prior technology) Many of the workpieces that are processed by industrial robots have processing lines that extend at right angles when welding or seaming, so robots work continuously along these processing lines. will be carried out. Therefore, as the applications of articulated robots spread and they are used for such tasks, even articulated robots are required to operate like robots in a Cartesian coordinate system, and controlled objects such as end effectors are It would be advantageous if it could be operated to move in the axial direction of the orthogonal coordinates, or if position and orientation data could be captured in the orthogonal coordinate system and interpolation for moving along the machining line could be easily performed. For this reason, although it is an articulated robot, the operation panel is equipped with not only operation switches for the joint system, but also operation switches for the rectangular coordinate system such as X, Y, Z, φ, and θ, and changeover switches for these operation switches. Many of the devices are equipped with means for capturing information even in a rectangular coordinate system and for performing coordinate transformation between the two coordinate systems.

一例として第1図のような関節型の溶接ロボツ
トでは、回転体5に回動自在に設けられた第1腕
11、第1腕11に回動自在に設けられた第2腕
17、第2腕17に回動自在に設けられた第2軸
21、第2軸21に回動自在に設けられた第3軸
23があつて最先端の第3軸の先端に被制御体と
しての溶接トーチ27が設けられており、各腕ま
たは軸の回動角(関節角と同義)α1,α2,α
3,α4,α5を制御することによつて溶接トー
チを所望の位置へ移動させて溶接を行わせるので
あるが、操作盤には関節系と直角座標系の操作を
するスイツチ類が設けられており、制御装置には
直角座標系で与えた操作量を関節系の操作量に変
換するための座標変換手段が内蔵されている。
As an example, in an articulated welding robot as shown in FIG. A second shaft 21 is rotatably provided on the arm 17, a third shaft 23 is rotatably provided on the second shaft 21, and a welding torch as a controlled object is attached to the tip of the third shaft. 27 are provided, and the rotation angle (synonymous with joint angle) of each arm or axis α1, α2, α
By controlling α4 and α5, the welding torch is moved to the desired position and welding is performed, but the operation panel is equipped with switches for operating the joint system and Cartesian coordinate system. The control device has built-in coordinate conversion means for converting the amount of operation given in the rectangular coordinate system into the amount of operation of the joint system.

ところで、こうしたロボツトでは直角座標系で
被制御体の位置、姿勢データを与えた場合、この
位置、姿勢を与えるための関節角の値が一義的に
決められないという問題がある。つまり、第1図
のロボツトを模式的に示した第2図Bで説明する
と、溶接トーチ27の図示の位置、姿勢に対して
第1腕11と第2腕17の折曲がり状態は(以
下、第1状態という)、(以下、第2状態とい
う)の2様にとれるので、これらの腕の位置、姿
勢を規定する関節角もまたα2,α3(第1状
態)とα2′,α3′(第2状態)の2様にとれ
る。これでは各腕の位置、姿勢をどちらに決めれ
ばよいのか迷うので、これまでの関節ロボツトで
はいずれか一方しかとれないように制限を加え
て、このあいまいさを解消してきた。このため、
こうしたロボツトでは、それらの腕の移動径路中
に物体があり、第1状態では障害になるが、第2
状態なら障害にならないような場合でも、これら
状態の反転ができないので、障害が生じたときは
ワークを取外して向きをかえて取付け、再び作業
をするといつた面倒なことをしていた。例えば、
第2図Bにおいて図示のような位置に障害物28
がある場合、溶接トーチ27を矢印方向へ移動さ
せると、腕11と17の折曲がり状態がであれ
ば第2腕17が障害物28とぶつかる。しかし、
の状態へ反転できないので、ワークを取外して
ぶつかりを避けていた。
However, in such robots, when the position and posture data of the controlled object are given in a rectangular coordinate system, there is a problem in that the values of the joint angles for giving the position and posture cannot be uniquely determined. In other words, referring to FIG. 2B, which schematically shows the robot in FIG. 1, the bent states of the first arm 11 and the second arm 17 are (hereinafter, Since the joint angles that define the position and posture of these arms are also α2, α3 (first state) and α2′, α3′ ( (2nd state) This makes it difficult to decide which position and posture each arm should take, so to date, articulated robots have resolved this ambiguity by restricting them so that they can only take one position or the other. For this reason,
In such a robot, there is an object in the path of movement of the arms, which becomes an obstacle in the first state, but in the second state.
Even if the condition would not cause a problem, it is not possible to reverse these conditions, so when a problem occurs, the user has to remove the workpiece, change its orientation, attach it, and start the work again. for example,
Obstacle 28 is located at the position shown in Figure 2B.
If the welding torch 27 is moved in the direction of the arrow, the second arm 17 will collide with the obstacle 28 if the arms 11 and 17 are bent. but,
Since it is not possible to reverse the workpiece to the above state, the workpiece was removed to avoid collision.

つまり、あいまいさを解消して制御しやすくし
た反面、融通性を殺して動作範囲を狭くしてい
た。そこで、前述2様の状態間での反転を可能に
することによつて動作範囲を広くすることが試み
られ、特開昭57−27689号公報や特願昭56−54780
号出願(特開昭57−173484号公報)で提案されて
いる。ところで、こうした状態の反転は、一例と
して前述第2図Bの例によれば、図のの状態か
ら第2図Eの状態に移し、更に第2図Fの状態、
第2図Gの状態を順次経て、第2図の状態へ移
行させて行うのであるが、反転の行われる第2図
E〜Gの範囲では直角座標系で操作すると腕が振
り回されて危険なので、この範囲をクリテイカル
ゾーンと称して関節系で操作している。
In other words, while it eliminated ambiguity and made it easier to control, it also reduced flexibility and narrowed the range of motion. Therefore, attempts were made to widen the operating range by enabling reversal between the two states mentioned above, and this was reported in Japanese Patent Application Laid-Open No. 57-27689 and Japanese Patent Application No. 56-54789.
This is proposed in the application No. 173484 (Japanese Unexamined Patent Publication No. 173484/1984). By the way, such a reversal of the state is, for example, according to the example shown in FIG. 2B, moving from the state shown in the figure to the state shown in FIG.
This is done by going through the states shown in Figure 2 G in sequence and then moving to the state shown in Figure 2. However, in the range of E to G in Figure 2 where the inversion is performed, it is dangerous to operate in a rectangular coordinate system because the arms will swing around. This range is called the critical zone and is operated using the joint system.

しかしながら、こうしたクリテイカルゾーンは
もつぱら操作者がロボツトの腕や軸の状態を視認
し、経験から来る感覚でその都度、判断して設定
していたので、操作者の熟練度に負うところが多
く、関節ロボツトの操作の難しさの一要因になつ
ていた。
However, these critical zones were set by the operator who visually checked the state of the robot's arms and shafts and judged each time based on his/her experience, so much depended on the skill level of the operator. This was one of the reasons why articulated robots were difficult to operate.

(解決しようとする課題) この発明は、こうした事情に注目して行われた
ものであり、前述のような関節ロボツトにおける
クリテイカルゾーンをロボツトみずから識別し、
表示することによつて腕の反転時の操作を容易に
した関節ロボツトを提供するものある。
(Problem to be Solved) This invention was made with attention to these circumstances, and the robot itself identifies the critical zone in the articulated robot as described above,
There is an articulating robot that facilitates operation when the arm is reversed by displaying the information.

(課題を解決するための手段) この発明は、被制御体の一つの位置、一つの姿
勢または一つの位置姿勢に対して、被制御体を順
次支持する腕または軸のうち、隣合う腕または軸
の折曲がり状態を2様にとることのできる関節機
構、関節機構を駆動する駆動手段、駆動手段に駆
動指令を与える駆動指令手段、関節系による操作
入力手段、直角座標系による操作入力手段、これ
ら入力の切換手段、入力された情報を取込む記憶
手段を具備した関節ロボツトに対して、各関節
角、各腕または軸の要部の長さを変数とする関数
演算を行い、腕または軸が2様の折曲がり状態の
うち一方の状態から他の一方の状態へ移行する間
のクリテイカルゾーン内にあることを識別するク
リテイカルゾーン識別手段、この手段の出力によ
り腕または軸がクリテイカルゾーン内にあること
を表示する表示手段を具備させたものである。
(Means for Solving the Problems) This invention provides that, for one position, one posture, or one position/posture of a controlled object, among the arms or shafts that sequentially support the controlled object, adjacent arms or A joint mechanism that can bend the axis in two ways, a drive means for driving the joint mechanism, a drive command means for giving a drive command to the drive means, an operation input means using a joint system, an operation input means using a rectangular coordinate system, For an articulated robot equipped with a means for switching these inputs and a storage means for capturing the input information, functional calculations are performed using variables such as each joint angle and the length of the main part of each arm or axis. critical zone identification means for identifying that the arm or axis is within a critical zone during transition from one state to the other of two bending states; It is equipped with a display means to indicate that it is within the zone.

前述腕または軸の折曲がり状態には、従来技術
の説明において説明した第2図Bの様に腕同士の
場合だけでなく、第2図Cや第2図Dのような場
合もある。
The above-mentioned bent states of the arms or shafts include not only the case where the arms are bent together as shown in FIG. 2B described in the description of the prior art, but also cases such as shown in FIG. 2C and FIG. 2D.

第2図Cは第2軸21と第3軸23についての
場合であり、これらの軸の2様の状態に対して溶
接トーチ27は姿勢体が同一である。また、第2
図Dは回転体5と第1軸11についての場合であ
り、これらの軸の2様の状態に対して溶接トーチ
27の位置が同一である。
FIG. 2C shows the case of the second axis 21 and the third axis 23, and the welding torch 27 has the same posture for the two states of these axes. Also, the second
Figure D shows the case of the rotating body 5 and the first shaft 11, and the position of the welding torch 27 is the same for the two states of these shafts.

腕または軸がクリテイカルゾーン内にあること
を識別するための、関節角や腕または軸の要部の
長さを変数とする関数については、変数、式とも
それぞれの腕または軸の結合状態に応じて固有の
ものとなり、こうした関数演算によつて腕または
軸がクリテイカルゾーン内にあることを識別する
ので、クリテイカルゾーンの識別は操作者による
腕や軸の視認にたよるときのようなバラツキがな
くなり、安定なものになるだけでなく、表示手段
に表示することもできるので、操作者は容易にク
リテイカルゾーンを識別し、操作入力手段の切換
えを適切に行える。
For functions that use joint angles or the length of the main part of the arm or axis as variables to identify whether the arm or axis is within the critical zone, both variables and expressions must be applied to the connection state of each arm or axis. These functional operations identify that the arm or axis is within the critical zone, so identifying the critical zone is not as easy as relying on the operator's visual recognition of the arm or axis. Not only does it eliminate variations and become stable, but it can also be displayed on the display means, so the operator can easily identify the critical zone and appropriately switch the operation input means.

(実施例) 以下、この発明を第1図に示したのと同様の多
関節ロボツトであり、溶接トーチ27(被制御
体)が同一位置または同一姿勢に制御されている
とき少なくとも二つの関節角が二様に取り得るよ
うにした溶接ロボツトに実施した実施例について
説明する。
(Example) Hereinafter, the present invention will be described with reference to a multi-joint robot similar to that shown in FIG. An example implemented in a welding robot that can take two different types will be described.

第1図において、固定部材1がたとえば地面に
固定され、その固定部材1には、高さの比較的低
い円筒形ベース3がり取付けられる。この円筒形
ベース3の上端には、比較的高さの高い円筒形回
転体4が回転軸(図示せず)によつて回転自在に
設けられる。この円筒形回転体4の中空部には、
図示しないが、垂直回転軸が設けられ、この円筒
形回転体4の上方にはそれと一体的に回転するよ
うに支持された回転体5が設けられる。この円筒
形回転体4かつしたがつて回転体5は、図示しな
いが、後述のモータによつて関節角α1について
回動駆動される。回転体5は、その上面からほぼ
垂直にかつ平行に延びる支持部材7を有する。こ
の支持部材7には、水平方向の軸9によつて、回
動腕11が、関節角α2について回動自在に支持
される。なお、この回動腕11は、図示しない
が、後述のモータによつて回動駆動される。ま
た、回動腕11に関連して、この回動腕の回動の
状態に対してバランスをとるためのバランス機構
13が設けられる。このバランス機構13は、図
示しないが、たとえば引つぱりばねなどを含み、
円筒形回転体4と一体に回転するように構成され
ている。
In FIG. 1, a fixing member 1 is fixed to the ground, for example, and a cylindrical base 3 having a relatively low height is attached to the fixing member 1. A relatively tall cylindrical rotating body 4 is provided at the upper end of the cylindrical base 3 so as to be rotatable around a rotating shaft (not shown). In the hollow part of this cylindrical rotating body 4,
Although not shown, a vertical rotating shaft is provided, and a rotating member 5 is provided above the cylindrical rotating member 4 so as to rotate integrally therewith. This cylindrical rotating body 4, and thus the rotating body 5, is rotationally driven about a joint angle α1 by a motor, which will be described later, although not shown. The rotating body 5 has a support member 7 extending substantially perpendicularly and in parallel from its upper surface. A rotary arm 11 is supported by this support member 7 by a horizontal shaft 9 so as to be rotatable about a joint angle α2. Although not shown, the rotating arm 11 is rotationally driven by a motor that will be described later. Further, in relation to the rotating arm 11, a balance mechanism 13 is provided to balance the rotational state of the rotating arm. Although not shown, this balance mechanism 13 includes, for example, a tension spring,
It is configured to rotate together with the cylindrical rotating body 4.

回動腕11の先端には、軸9に平行な軸15に
よつて、回動腕17が、この腕11に対してすな
わち関節角α3について回動自在に支持される。
そして、この回動腕17は、図示しないが、後述
のモータによつて回動駆動される。回動腕17の
一方の自由端には軸9に平行な軸19によつて、
回動軸21が、この回動腕17に対してすなわち
関節角α4について回動自在に支持される。この
回動軸21は、図示しないが、後述のモータによ
つて、軸19周りに回動駆動される。回動軸21
には、トーチ取付具25を支持する回転軸23
が、回動軸21に対して同軸に回動自在に支持さ
れる。この回転軸23は、図示しないが、後述の
モータによつて、回動軸21に対してすなわち関
節角α5について回動駆動される。トーチ取付具
25には、溶接トーチ27が取り付けられる。こ
のようにして、この自動溶接装置は、回転体5、
回動腕11、回動腕17、回動軸21および回転
軸23のそれぞれの関節角α1,α2,α3,α
4およびα5を制御することによつて、溶接トー
チ27の姿勢およびその先端すなわち溶接点Pの
位置を制御する。
At the tip of the rotating arm 11, a rotating arm 17 is supported by a shaft 15 parallel to the axis 9 so as to be rotatable with respect to the arm 11, that is, about a joint angle α3.
Although not shown, this rotating arm 17 is rotationally driven by a motor that will be described later. At one free end of the pivoting arm 17 is a shaft 19 parallel to the shaft 9;
A rotating shaft 21 is rotatably supported on the rotating arm 17, that is, about a joint angle α4. Although not shown, this rotation shaft 21 is rotationally driven around the shaft 19 by a motor, which will be described later. Rotation axis 21
includes a rotating shaft 23 that supports the torch fixture 25.
is rotatably supported coaxially with respect to the rotation shaft 21. Although not shown, this rotating shaft 23 is driven to rotate relative to the rotating shaft 21, that is, about a joint angle α5, by a motor that will be described later. A welding torch 27 is attached to the torch fixture 25 . In this way, this automatic welding device includes the rotating body 5,
Respective joint angles α1, α2, α3, α of the rotating arm 11, rotating arm 17, rotating shaft 21, and rotating shaft 23
4 and α5, the attitude of the welding torch 27 and the position of its tip, that is, the welding point P, are controlled.

なお、直角座標系XYZはロボツトRの絶対系
座標であり、そのZ軸は、回転体4および5の図
示しない回転軸と一致して設けられる。Y軸は、
水平方向の軸9を含む水平面内において、関節角
α1の回動中心線と直交して設けられる。X軸
は、水平方向の軸9を含む水平面内において、関
節角α1の回動中心線と一致して設けられる。ま
た、トーチ27の配向角および姿勢角θが図示
の通り定められる。
The rectangular coordinate system XYZ is the absolute system coordinates of the robot R, and its Z axis is provided to coincide with the rotation axes (not shown) of the rotating bodies 4 and 5. The Y axis is
It is provided perpendicularly to the rotation center line of the joint angle α1 in a horizontal plane including the horizontal axis 9. The X-axis is provided in a horizontal plane including the horizontal axis 9 to coincide with the center line of rotation of the joint angle α1. Further, the orientation angle and attitude angle θ of the torch 27 are determined as shown.

また、このロボツトRは多関節ロボツトである
ので関節制御系は多関節系(α系)に限定され
る。
Furthermore, since this robot R is a multi-joint robot, the joint control system is limited to a multi-joint system (α system).

第3図はこの発明の一実施例を示す概略ブロツ
ク図である。この実施例では、操作パネル100
が設けられる。操作パネル100には、自動溶接
装置などの動作モードで動かすかを指示するモー
ド切換スイツチ101が設けられる。このモード
切換スイツチ101は、マニユアルモード(M)、テ
ストモード(T)およびオートモード(A)のいずれかの
モードを選択的に切換えて設定できる。操作パネ
ル100には、さらに、押ボタンスイツチ103
が設けられる。押ボタンスイツチ103は、オー
トモードのスタート指令を与えると共に、テイー
チングモードにおけるテイーチング指令を与える
ために操作される。第2のモード切換スイツチ1
05は、直線補間動作(L),円弧補間動作(C)もしく
はウイービング動作(W)のいずれかを選択的に設定
するためのものである。さらに、速度設定器11
1が設けられる。この速度設定器111は、溶接
トーチ27かつしたがつて溶接点Pの移動すべき
速度を指令するためのものである。113は表示
ランプであり、関節角がクリテイカルゾーンCZ
にはいつたことを表示する。操作パネル100に
は、2つのグループのマニユアルスイツチ11
9,121,123,125および127ならび
に129,131,133,135および137
が設けられる。スイツチ119ないし127は、
溶接装置を直角座標系すなわちXYZ系で位置制
御するために操作される。一方スイツチ129な
いし137は、多関節系すなわちα系で位置制御
するめに操作される。換言すれば、各関節角α1
ないしα5を直接に制御するために用いられる。
そのために、この操作パネル100にはスイツチ
119ないし127のグループかまたはスイツチ
129ないし137のグループのいずれを有効に
するかを選択する、系切換スイツチ117が設け
られる。したがつて、この系切換スイツチ117
を左方(第3図において)に切換えれば、マニユ
アルスイツチ119ないし127のグループが有
効化され、スイツチ117を右方に切換えること
によつてマニユアルスイツチ129ないし137
のグループが有効化される。
FIG. 3 is a schematic block diagram showing one embodiment of the present invention. In this embodiment, the operation panel 100
is provided. The operation panel 100 is provided with a mode changeover switch 101 for instructing whether to operate in an operating mode such as automatic welding equipment. This mode changeover switch 101 can be set by selectively switching between manual mode (M), test mode (T), and auto mode (A). The operation panel 100 further includes a push button switch 103.
is provided. The pushbutton switch 103 is operated to give a start command for the auto mode and also to give a teaching command in the teaching mode. Second mode selector switch 1
05 is for selectively setting either linear interpolation operation (L), circular interpolation operation (C), or weaving operation (W). Furthermore, the speed setting device 11
1 is provided. This speed setting device 111 is for commanding the speed at which the welding torch 27 and therefore the welding point P should move. 113 is an indicator lamp, and the joint angle is critical zone CZ
Displays what has happened. The operation panel 100 includes two groups of manual switches 11.
9,121,123,125 and 127 and 129,131,133,135 and 137
is provided. The switches 119 to 127 are
It is operated to control the position of the welding equipment in a rectangular coordinate system, that is, an XYZ system. On the other hand, the switches 129 to 137 are operated to control their positions in a multi-joint system, that is, an α system. In other words, each joint angle α1
α5 is used to directly control α5.
To this end, the operation panel 100 is provided with a system changeover switch 117 for selecting which of the group of switches 119 to 127 or the group of switches 129 to 137 is to be enabled. Therefore, this system changeover switch 117
By switching the switch 117 to the left (in FIG. 3), the group of manual switches 119 to 127 is enabled, and by switching the switch 117 to the right, the group of manual switches 129 to 137 is activated.
group is activated.

これらマニユアルスイツチ119ないし127
および129ないし137は、それぞれ3つの位
置をとることができ、この第3図において実線で
示す位置がニユートラル位置である。そして、ス
イツチ119,121,123は、それぞれX
軸、Y軸およびZ軸を制御するために用いられ、
その直角座標の原点から遠ざかる方向がアツプ方
向(U)として、その原点に近づく方向がダウン方向
(D)として、規定されている。また、スイツチ12
5は溶接トーチ27の配向角φを制御するために
用いられ、スイツチ127は溶接トーチ27の姿
勢角θを制御するために用いられる。そして、こ
れらスイツチ125,127は、溶接トーチに関
連する角度φおよびθを、それぞれ、時計方向(C)
または反時計方向(CC)に制御することができ
る。同様に、多関節系すなわちα系のマニユアル
スイツチ129ないし137も、各腕ないし軸の
回動角α1ないしα5を、それぞれ、時計方向(C)
または反時計方向(CC)に制御することができ
る。以上、操作手段について説明したが、テイー
チング手段は少なくとも以上のような操作手段と
後述のCPU31により構成されている。これら
各コンポーネントを含む操作パネル100とデー
タバス55との間で、インターフエース(図示せ
ず)を介してデータのやりとりが行なわれる。
These manual switches 119 to 127
and 129 to 137 can each take three positions, and the position shown by the solid line in FIG. 3 is the neutral position. Switches 119, 121, and 123 each have X
used to control the Y-axis and Z-axis,
The direction away from the origin of the rectangular coordinate is the up direction (U), and the direction approaching the origin is the down direction.
(D). Also, switch 12
5 is used to control the orientation angle φ of the welding torch 27, and a switch 127 is used to control the attitude angle θ of the welding torch 27. These switches 125 and 127 then adjust the angles φ and θ associated with the welding torch in a clockwise direction (C), respectively.
Or can be controlled counterclockwise (CC). Similarly, the manual switches 129 to 137 of the multi-joint system, that is, the α system, change the rotation angles α1 to α5 of each arm or shaft, respectively, in the clockwise direction (C).
Or can be controlled counterclockwise (CC). The operating means has been described above, and the teaching means is comprised of at least the above-mentioned operating means and the CPU 31, which will be described later. Data is exchanged between the operation panel 100 including each of these components and the data bus 55 via an interface (not shown).

このデータバス55には、さらに、CPU31
と、メモリ33とが連結される。メモリ33に
は、CPU31のシステムプログラムを記憶して
おくためのROMや、CPU31における演算その
他の処理に必要な記憶領域やフラグ領域を有する
ほかユーザプログラムを記憶するRAMが含まれ
る。データバス55には、複数の(この実施例で
は5つの回動角α1ないしα5に対応して5つ
の)駆動回路351,352,353,354お
よび355と、複数の(この実施例では5つの)
インクリメンタルエンコーダ531,532,5
33,534および535が、それぞれ連結され
る。この第3図においては、駆動回路351が、
他を代表してより詳細に描かれている。ここで、
この駆動回路351の構成について説明するが、
残りの駆動回路352ないし355についても、
同様の構成をとり得ることを予め指摘しておく。
This data bus 55 further includes a CPU 31.
and memory 33 are connected. The memory 33 includes a ROM for storing a system program for the CPU 31, a storage area and a flag area necessary for calculations and other processing in the CPU 31, and a RAM for storing a user program. The data bus 55 includes a plurality of drive circuits 351, 352, 353, 354 and 355 (in this embodiment, five corresponding to the five rotation angles α1 to α5) and a plurality of (in this embodiment, five) drive circuits 351, 352, 353, 354 and 355. )
Incremental encoder 531, 532, 5
33, 534 and 535 are connected, respectively. In this FIG. 3, the drive circuit 351 is
It is depicted in more detail on behalf of the others. here,
The configuration of this drive circuit 351 will be explained.
Regarding the remaining drive circuits 352 to 355,
It should be pointed out in advance that a similar configuration can be adopted.

駆動回路351には、CPU31からの指令位
置情報がロードされる指令位置バツフア37と、
対応のインクリメンタルエンコーダ531からの
パルス信号をカウントするためのフイードバツク
カウンタ39が設けられる。指令位置バツフア3
7の内容が被減数として、またフイードバツクカ
ウンタ39の内容が減数として、減算器41の2
つの入力として与えられる。減算器41の出力は
D/A変換器43に与えられる。したがつて、こ
のD/A変換器43からは、指令位置と現在位置
との差に応じた電圧信号が導出されることにな
る。D/A変換器43の出力は、サーボアンプ4
5,コマンドリミツタ47を介して、サーボモー
タ49の駆動信号として与えられる。なお、コマ
ンドリミツタ47の出力は、さらに、Null信号
検知回路51に与えられる。このNull信号は、
サーボ系によつて位置制御されてときにサーボア
ンプ45から得られる零信号であり、目標位置の
ごく近い領域すなわちモータ49がほとんど停止
するタイミングが導出される。したがつて、この
Null信号検知回路51の出力は、サーボモータ
49によつて制御される被制御体が、指令位置バ
ツフア37にロードされた指令位置に達したこと
を示す信号として、データバス55を介して
CPU31に与えられる。以上、関節角制御手段
は少なくともCPU31より構成されている。
The drive circuit 351 includes a command position buffer 37 into which command position information from the CPU 31 is loaded;
A feedback counter 39 is provided for counting pulse signals from a corresponding incremental encoder 531. Command position buffer 3
The content of 7 is the minuend, and the content of the feedback counter 39 is the subtractive number, and the content of the subtractor 41 is
given as two inputs. The output of the subtracter 41 is given to a D/A converter 43. Therefore, a voltage signal corresponding to the difference between the command position and the current position is derived from the D/A converter 43. The output of the D/A converter 43 is sent to the servo amplifier 4.
5. It is given as a drive signal to the servo motor 49 via the command limiter 47. Note that the output of the command limiter 47 is further provided to a null signal detection circuit 51. This Null signal is
This is a zero signal obtained from the servo amplifier 45 when the position is controlled by the servo system, and derives a region very close to the target position, that is, the timing at which the motor 49 almost stops. Therefore, this
The output of the null signal detection circuit 51 is sent via the data bus 55 as a signal indicating that the controlled object controlled by the servo motor 49 has reached the command position loaded into the command position buffer 37.
It is given to the CPU 31. As described above, the joint angle control means is composed of at least the CPU 31.

以上のような構成において、以下に、第4図な
いし第7図に示すフローダイヤグラムと第8図な
いし第14図に示す模式図を参照して、第3図か
つしたがつて第1図の実施例の操作ないし動作に
ついて説明する。
In the above configuration, the implementation of FIG. 3 and therefore FIG. 1 will be explained below with reference to the flow diagrams shown in FIGS. An example operation or operation will be explained.

最初に、テイーチングのためのマニユアルモー
ドについて説明する。CPU31は、その内部に
設けられたクロツクソースからのクロツクを受け
るタイマを有し、そのタイマはクロツクに応じて
或る一定時間ごとに出力を発生する。そして、
CPU31では、そのタイマの出力があれば、そ
れによつてインタラプトがかかる(ステツプS1
01)。最初のステツプS103では、操作パネ
ル100の各軸のマニユアルスイツチ119,1
21,123,125および127さらに12
9,131,133,135および137が、す
べて、ニユートラル位置に保たれているかどうか
を判断する。換言すれば、このステツプS103
では、これらマニユアルスイツチ119ないし1
37のいずれかが操作されているかどうかを検出
する。続くステツプS105では、系切換スイツ
チ117(第3図)がα系に切換えられているか
否かを判断する。すなわち、この発明では、関節
角が一方に折れ曲がつた第1状態と他方に折れ曲
がつた第2状態とをとりうるように、多関節ロボ
ツトが構成されているが、第1状態または第2状
態のみをとる場合すなわち状態の反転がない場合
には、系切換えスイツチ117はXYZ系に切換
えておく。なぜなら、一般にワークピース(図示
せず)の溶接線が相互に直角方向に延長されてい
る場合が多いので、直角座標系で指令した方がオ
ペレータにとつてもトーチ27(第1図)をこの
溶接線に沿つて移動させやすく、また補間演算等
を行ないやすいからである。逆に、関節角が第1
状態(または第2状態)から第2状態(または第
1状態)への変更がある場合すなわち状態が反転
する場合には、系切換えスイツチ117をα系に
切換える。このようにして、関節角の2様のマニ
ユアル操作かつしたがつてテイーチングが行なえ
るようにしている。
First, the manual mode for teaching will be explained. The CPU 31 has an internally provided timer that receives a clock from a clock source, and the timer generates an output at certain fixed time intervals in response to the clock. and,
In the CPU 31, if there is an output from the timer, an interrupt is generated (step S1).
01). In the first step S103, manual switches 119, 1 for each axis of the operation panel 100 are activated.
21, 123, 125 and 127 and 12
9, 131, 133, 135 and 137 are all maintained in the neutral position. In other words, this step S103
Now, these manual switches 119 to 1
37 is being operated. In the following step S105, it is determined whether the system changeover switch 117 (FIG. 3) has been switched to the α system. That is, in the present invention, the articulated robot is configured so that the joint angle can be in a first state where the joint angle is bent to one side and a second state where the joint angle is bent to the other side. When only two states are taken, that is, when there is no inversion of states, the system changeover switch 117 is switched to the XYZ system. This is because the welding lines of a workpiece (not shown) often extend perpendicularly to each other, so it is easier for the operator to command the torch 27 (Fig. 1) in a rectangular coordinate system. This is because it is easy to move along the welding line, and it is easy to perform interpolation calculations. Conversely, the joint angle is the first
When there is a change from the state (or the second state) to the second state (or the first state), that is, when the state is reversed, the system changeover switch 117 is switched to the α system. In this way, it is possible to manually operate the joint angle in two ways, and therefore to perform teaching.

したがつて、このステツプS105において系
切換えスイツチ117がXYZ系に切換えられて
いると判断した場合、続くステツプS107にお
いて、XYZ系で操作されたスイツチの操作方向
に対応して位置または姿勢情報を増減する。すな
わち、このステツプS107においては、操作パ
ネル100からの信号に基づいて、操作されたマ
ニユアルスイツチ119,121,123,12
5または127の操作方向(UもしくはD,Cも
しくはCC)と速度決定器111で設定された速
度とに基づいて、上述のタイマ時間に対応した位
置または姿勢情報(基本量)を増減する。そし
て、このようにXYZ系で情報を与えた場合には、
続くステツプS109において、XYZ系からα
系への座標変換を行う。このような座標変換は、
後述のステツプS115におけるような座標変換
とともに、あとで詳細に説明する。このステツプ
S109における座標変換に際しては、角α1と
α2、角α2とα3および角α4とα5について
前述第1状態にあるか、第2状態にあるかについ
てそれぞれフラツグYFLG1,YFLG2および
YFLG3(詳細は後述する)の符号が考慮され
る。
Therefore, if it is determined in step S105 that the system changeover switch 117 has been switched to the XYZ system, in the following step S107, the position or orientation information is increased or decreased in accordance with the operating direction of the switch operated in the XYZ system. do. That is, in this step S107, based on the signal from the operation panel 100, the operated manual switches 119, 121, 123, 12
Based on the operating direction (U, D, C, or CC) of 5 or 127 and the speed set by the speed determiner 111, the position or attitude information (basic amount) corresponding to the above-mentioned timer time is increased or decreased. And if you give information in the XYZ system like this,
In the following step S109, α from the XYZ system is
Perform coordinate transformation to the system. Such a coordinate transformation is
This will be explained in detail later along with the coordinate transformation in step S115, which will be described later. During the coordinate transformation in step S109, flags YFLG1, YFLG2 and
The code of YFLG3 (details will be described later) is taken into account.

なお、この実施例のロボツトRではα1は240゜
の制御可能範囲を有するが0゜すなわち腕11がX
軸の正方向と平行である状態を境としてCC方向
に回転するときを一とし、C方向に回転するとき
を+とする。α2はたとえば120゜の制御可能範囲
を有するか、たとえば0゜(すなわち腕11が垂直
状態)を境にして一方(D方向)に折れ曲つた状
態を−とし、他方(U方向)に折れ曲つた状態を
+とする。またα3はたとえば270゜の制御可能範
囲を有するが、たとえば180゜(すなわち腕11と
17とが直線状態)を境にして一方(D方向)に
折れまがつた状態を−とし、他方(U方向)に折
れまがつた状態を+とする。同様に、α5は360゜
の可動範囲を有し、CC方向に回転するとき−と
し、C方向に回転するとき+とする。
In addition, in the robot R of this embodiment, α1 has a controllable range of 240°, but it is 0°, that is, the arm 11 is
When rotating in the CC direction with the state parallel to the positive direction of the axis as a boundary, it is defined as 1, and when rotating in the C direction, it is defined as +. α2 has a controllable range of, for example, 120°, or, for example, a state where it is bent in one direction (D direction) with 0° (i.e., the arm 11 is vertical) as a border, and a state where it is bent in the other direction (U direction). The ivy state is defined as +. Furthermore, α3 has a controllable range of, for example, 270°, but a state in which the arms 11 and 17 are bent in one direction (D direction) with the boundary at 180° (that is, a straight state of the arms 11 and 17) is defined as −, and the other state (U A state in which the material is bent in the direction (direction) is defined as +. Similarly, α5 has a movable range of 360°, and is negative when rotating in the CC direction and positive when rotating in the C direction.

このようにして、系切換えスイツチ117が
XYZ系に切換えられている場合には、ステツプ
S107で与えられるXYZ系の位置または姿勢
情報を前述のフラツグYFLG1,YFLG2,
YFLG3の符号を考慮してステツプS109(座
標変換手段)によりα系の情報に変換して指令値
とする。次に、ステツプS110においては、前
述ステツプS107で与えられたXYZ系の情報
ないしはステツプS109の座標変換によつて得
られたα系の情報によつて関節角α1とα2,α
2とα3およびα4とα5に関して腕または軸の
状態がクリテイカルゾーンにあるかどうかが識別
され、クリテイカルゾーンにあれば表示ランプ1
13が点燈する。ステツプS110におけるクリ
テイカルゾーンの識別については、ステツプS1
09の座標変換と合わせて後で詳述する。
In this way, the system changeover switch 117
If the system has been switched to the XYZ system, the position or orientation information of the XYZ system given in step S107 is set to the above-mentioned flags YFLG1, YFLG2,
Considering the sign of YFLG3, it is converted into α-system information in step S109 (coordinate conversion means) and used as a command value. Next, in step S110, the joint angles α1, α2, α
2, α3, α4, and α5, it is determined whether the arm or axis is in the critical zone, and if it is in the critical zone, indicator lamp 1 is displayed.
13 lights up. Regarding identification of the critical zone in step S110, step S1
This will be explained in detail later along with the coordinate transformation of 09.

そして、ステツプS110で表示ランプ113
が点燈していない限り、ステツプS109で得ら
れたα系の情報は、続くステツプS111で角度
補間手段により等分割されて出力し、それぞれの
関節角を駆動制御する。
Then, in step S110, the display lamp 113
Unless it is lit, the α-system information obtained in step S109 is equally divided and outputted by the angle interpolation means in the subsequent step S111, and the respective joint angles are driven and controlled.

また、ステツプS110で表示ランプ113が
点燈している場合は、前述のように腕または軸の
状態がクリテイカルゾーンにあることを示してい
るので、すべての操作スイツチをニユートラルへ
もどし、系切換スイツチをα系に切り換えてスイ
ツチ129〜137を有効化する。これらの操作
結果がステツプS103およびS105で確認さ
れるとステツプS113に移る。また、最初から
α系で操作する場合に、おいても、前述ステツプ
S103およびS105による判断ののち、ステ
ツプS113に移る。ステツプS113ではα系
で、操作されたスイツチ129,131,13
3,135または137の操作方向と速度設定器
111で設定された速度とに基づいて、上述のタ
イマ時間に対応した指令値を増減する。このよう
に、α系で指令値を与えた場合には、後述の補間
演算のために、続くステツプS115において、
α系からXYZ系への座標変換を行うと共に関節
角の状態の識別を行う。この座標変換および識別
についても後述する。そして、ステツプS113
で与えられたα系の指令値に応じて出力し、駆動
する(ステツプS111)。このように、α系で
駆動する場合には、CPU31は、そのようなα
1ないしα5の位置情報を、それぞれ対応の駆動
回路351ないし355に与える。そして、各駆
動回路351ないし355はCPU31からの指
令に基づいて、第1図に示す各関節角α1ないし
α5を制御する。
If the indicator lamp 113 is lit in step S110, this indicates that the arm or shaft is in the critical zone as described above, so return all operation switches to neutral and switch the system. Switch the switch to the α system and enable the switches 129 to 137. When the results of these operations are confirmed in steps S103 and S105, the process moves to step S113. Also, when operating in the α system from the beginning, the process moves to step S113 after the judgments in steps S103 and S105 described above are made. In step S113, the operated switches 129, 131, 13 in the α system are
The command value corresponding to the above-mentioned timer time is increased or decreased based on the operating direction of 3, 135 or 137 and the speed set by the speed setter 111. In this way, when the command value is given in the α system, in the subsequent step S115, for the interpolation calculation described later,
The coordinates are transformed from the α system to the XYZ system, and the state of the joint angles is identified. This coordinate transformation and identification will also be described later. Then, step S113
It outputs and drives according to the α-system command value given by (step S111). In this way, when driven by the α system, the CPU 31
1 to α5 are given to corresponding drive circuits 351 to 355, respectively. Each drive circuit 351 to 355 controls each joint angle α1 to α5 shown in FIG. 1 based on a command from the CPU 31.

テイーチングする場合には、操作パネル100
のスタートボタン103を押す。すなわち、モー
ド選択スイツチ101をマニユアルモード(M)にし
てスタートボタン103を押すことによつて、
CPU31にテイーチングのインタラプトがかか
る。CPU31では、そのようなインタラプトが
かかると、そのときの位置情報ならびにフラグ
YFLG1,YFLG2およびYFLG3の内容を、メ
モリ33の所定の記憶エリアに記憶させる。すな
わち、テイーチングに際してステツプS117に
おいて、先のステツプS107,S115(第4
図)におけるXYZ系の座標位置を記憶する。こ
のように、テイーチングに際しては、XYZ系で
記憶させる。これは、前述のように補間演算に都
合がよいからである。そして、ステツプS119
において、先のステツプS119またはS115
(第4図)におけるフラグYFLG1,YFLG2お
よびYFLG3の内容を記憶する。YFLG1,
YFLG2およびYFLG3の内容については後述の
座標変換で詳細に示すとおりである。
When teaching, use the operation panel 100
Press the start button 103. That is, by setting the mode selection switch 101 to manual mode (M) and pressing the start button 103,
A teaching interrupt occurs to the CPU31. In the CPU 31, when such an interrupt occurs, the position information and flag at that time are
The contents of YFLG1, YFLG2, and YFLG3 are stored in a predetermined storage area of the memory 33. That is, during teaching, in step S117, previous steps S107 and S115 (fourth
Store the coordinate position of the XYZ system in Figure). In this way, when teaching, the XYZ system is memorized. This is because, as mentioned above, it is convenient for interpolation calculations. Then, step S119
In step S119 or S115,
The contents of flags YFLG1, YFLG2 and YFLG3 in (Fig. 4) are stored. YFLG1,
The contents of YFLG2 and YFLG3 will be shown in detail in the coordinate transformation section below.

つぎに、第6図を参照して、この実施例のオー
トモードの動作について説明する。オートモード
の場合には、操作パネル100におけるモード選
択スイツチ101をオートモード(A)に設定する。
そして、スタートボタン103を押す。応じて、
CPU31は、ステツプS121において、メモ
リ33の適宜の記憶位置に形成されるステツプカ
ウンタ(図示せず)をリセツトし、ステツプS1
23においてそのステツプカウンタをインクリメ
ントする。そして、ステツプS125において、
CPU31は、メモリ33から、先にテイーチン
グされている各ステツプの指令情報のうち、ステ
ツプS123でインクリメントされたステツプM
の指令情報を読み出してロードする。続くステツ
プS127において、そのロードされたステツプ
Mの指令情報に直線補間指令が含まれるか否かを
チエツクする。これは、指令位置情報とともに直
線補間を表す識別情報が、ロードされたか否かに
よつて判断することができる。
Next, the operation in the auto mode of this embodiment will be explained with reference to FIG. In the case of auto mode, mode selection switch 101 on operation panel 100 is set to auto mode (A).
Then, the start button 103 is pressed. depending on,
In step S121, the CPU 31 resets a step counter (not shown) formed at an appropriate storage location in the memory 33, and then resets the step counter (not shown) in step S121.
23, the step counter is incremented. Then, in step S125,
From the memory 33, the CPU 31 selects the step M incremented in step S123 from among the command information of each previously taught step.
Read and load the command information. In the following step S127, it is checked whether the loaded command information of step M includes a linear interpolation command. This can be determined based on whether identification information representing linear interpolation has been loaded together with command position information.

直線補間であれば、続くステツプS129にお
いて目標位置をステツプMの指令位置としたの
ち、ステツプS131において直線補間を行う。
In the case of linear interpolation, the target position is set as the command position of step M in the subsequent step S129, and then linear interpolation is performed in step S131.

ここで、第7図を参照して直線補間のサブルー
チンについて説明する。直線補間のサブルーチン
では、最初のステツプS151において、現在位
置と目標位置をXYZ系で、内分計算する。すな
わち、内分ΔS=指令速度V×時間t(例えば0.2
秒)とし、そのΔSごとに直線補間点を計算する。
続くステツプS153において、そのような内分
計算が終了したか否かを判断する。そうでなけれ
ば、ステツプS155において、先のステツプS
109(第4図)のように、XYZ系からα系へ
の座標変換を、フラグYFLG1,YFLG2および
YFLG3を考慮して行う。続くステツプS157
においては、α系の補間演算を行う。すなわち、
ステツプS151において、たとえば0.2秒ごと
に直線補間点を計算して内分ΔSを求めるが、こ
のΔSの間はさらに平滑に結ぶために、その間を
α系で補間する。すなわち、ΔSをへだてた2点
間をα1ないしα5までの各軸について等分に補
間する。これによつて、いつそう滑らかな制御を
可能にする。続くステツプS159においては、
ステツプS157におけるα系による内分が終了
したか不かを判断する。そうであれば先のステツ
プS151に戻り、そうでなければ続くステツプ
S161によつてα系で出力駆動する。なお、先
のステツプS153において、内分終了を判断し
たときには、現在位置情報を目標位置情報で更新
してメインルーチンに戻る(ステツプS163)。
Here, the linear interpolation subroutine will be explained with reference to FIG. In the linear interpolation subroutine, in the first step S151, the current position and the target position are internally calculated in the XYZ system. That is, internal division ΔS = command speed V x time t (for example, 0.2
seconds), and calculate the linear interpolation point for each ΔS.
In the following step S153, it is determined whether such internal division calculation has been completed. Otherwise, in step S155, the previous step S
109 (Figure 4), the coordinate transformation from the XYZ system to the α system is performed using flags YFLG1, YFLG2 and
This is done considering YFLG3. Continued step S157
In , α-based interpolation calculations are performed. That is,
In step S151, linear interpolation points are calculated every 0.2 seconds to find the internal division ΔS, but in order to connect these ΔS more smoothly, interpolation is performed between them using the α system. That is, interpolation is performed equally between two points separated by ΔS for each axis from α1 to α5. This allows for very smooth control. In the following step S159,
It is determined whether the internal division using the α system in step S157 has been completed. If so, the process returns to the previous step S151, and if not, the output is driven in the α system in the subsequent step S161. Note that when it is determined in the previous step S153 that internal division has ended, the current position information is updated with the target position information and the process returns to the main routine (step S163).

第6図においてステツプS127で、直線補間
でないと判断したとき、続くステツプS133に
おいて、一連の円弧補間指令情報のうち初めての
円弧補間指令か否かすなわち指令点Cnでn=1
かどうかを判断する。n=1であればそれまでは
直線補間であるべきであり、先のステツプS12
9に移る。また、3個所以上円弧補間情報が連続
していれば、続くステツプS135において、円
弧補間点を計算する。ただし、2点目(たとえば
第14図のC2)の円弧補間の場合は、次の円弧
補間点(たとえば第14図のC4)を最初の円弧
補間点として計算する。そして、その計算された
補間点位置を目標位置として設定する(ステツプ
S137)。さらに、この実施例では、ステツプ
S139において、さらにその間の直線補間を行
う。それは次のような理由による。ステツプS1
35においては、たとえば5mmピツチとなるよう
に円弧補間点を計算するが、この計算された補間
点間をさらに直線補間をして、一層滑らかな制御
を可能にするためである。円弧補間のための演算
は、直線補間に比べてより多い演算処理時間を必
要とするが、このような演算時間を節約してより
安価なマイクロコンピユータを利用可能にするた
めに、この実施例では、円弧補間点は比較的粗
く、その補間点間はさらに細かく直線補間ルーチ
ン(第7図)によつて補間し、結果的に安価なコ
ンピユータを用いても細かい精度の良い制御を可
能にする。直線補間が終了すると、記憶ステツプ
S141において、円弧補間のための指令位置
Coに到達したか否かを判断する。そうであれば、
先のステツプS123に戻りステツプカウンタ
(図示せず)をインクリメントする。そうでなけ
ればステツプS135に戻る。
In FIG. 6, when it is determined in step S127 that it is not linear interpolation, in the following step S133, it is determined whether or not it is the first circular interpolation command among a series of circular interpolation command information, that is, n=1 at the command point Cn.
Decide whether or not. If n=1, linear interpolation should be used until then, and the previous step S12
Move on to 9. Further, if the circular interpolation information is continuous at three or more locations, circular interpolation points are calculated in the following step S135. However, in the case of circular interpolation of the second point (for example, C 2 in FIG. 14), the next circular interpolation point (for example, C 4 in FIG. 14) is calculated as the first circular interpolation point. Then, the calculated interpolation point position is set as the target position (step S137). Furthermore, in this embodiment, linear interpolation is further performed in step S139. This is due to the following reasons. Step S1
In step 35, circular interpolation points are calculated to have a pitch of, for example, 5 mm, and linear interpolation is further performed between the calculated interpolation points to enable even smoother control. Calculation for circular interpolation requires more calculation processing time than linear interpolation, but in order to save such calculation time and make it possible to use a cheaper microcomputer, this example , the circular interpolation points are relatively coarse, and the interpolation between the interpolation points is more finely interpolated by a linear interpolation routine (FIG. 7), resulting in fine and precise control even using an inexpensive computer. When the linear interpolation is completed, the command position for circular interpolation is stored in a storage step S141.
Determine whether C o has been reached. in that case,
Returning to step S123, a step counter (not shown) is incremented. Otherwise, the process returns to step S135.

なお、上述の直線補間の場合も円弧補間の場合
にも、トーチ27(第1図)の角度φおよびθに
ついては、それぞれ独立に等分補間を行うものと
する。
In addition, in both the case of the above-mentioned linear interpolation and the case of circular interpolation, the angles φ and θ of the torch 27 (FIG. 1) are each independently and equally interpolated.

ここで、第8図ないし第10図を参照して、第
4図のステツプ115で演算されるα系から
XYZ系への座標変換およびフラツグ判定につい
て、説明する。この実施例では、CPU31とし
て、たとえばマイクロコンピユータを用いるわけ
であるが、最近のマイクロコンピユータは性能が
向上し、高速演算が可能になつてきた。そこで、
この実施例では、従来近似計算で処理していたも
のを、正規の計算を行ない精度良く処理するよう
にしている。
Here, with reference to FIGS. 8 to 10, from the α system calculated in step 115 of FIG.
Coordinate transformation to the XYZ system and flag determination will be explained. In this embodiment, a microcomputer, for example, is used as the CPU 31, and recent microcomputers have improved performance and are now capable of high-speed calculations. Therefore,
In this embodiment, what was conventionally processed using approximate calculations is now processed with regular calculations with high accuracy.

第8図は第1図の多関節ロボツトRを側面から
見た模式図である。第9図は同じ多関節ロボツト
Rの上面から見た模式図であり、同図Aは第8図
の状態を上面から見た図であり、同図Bは同図A
において回動角α1を与えたときの原点付近の詳
細図である。また第10図は、第1図の多関節ロ
ボツトRの回転軸23、トーチ取付金具25およ
びトーチ27の寸法についての模式図である。
FIG. 8 is a schematic diagram of the articulated robot R shown in FIG. 1 viewed from the side. Figure 9 is a schematic diagram of the same articulated robot R seen from the top, Figure A is a diagram of the state shown in Figure 8 viewed from the top, and Figure B is a diagram of Figure A seen from the top.
FIG. 3 is a detailed view of the vicinity of the origin when a rotation angle α1 is given in FIG. 10 is a schematic diagram of the dimensions of the rotating shaft 23, the torch mounting bracket 25, and the torch 27 of the multi-jointed robot R shown in FIG.

第8図〜第10図において、角α1〜角α5は
それぞれ第1図における角α1〜α5に対応する
ものであり、角α1は回転体5の回転角度を示
し、α2は回動腕11の回動角度を示し、α3は
回動腕17の回動角度を示す。また、角α4は、
垂直軸に対する軸21の回動角度を示し、角α4
Eは、回動腕17に対する軸21の回動角度を示
す。角α5は、軸23の回動角度を示す。角α6
は一定である。
In FIGS. 8 to 10, angles α1 to α5 respectively correspond to angles α1 to α5 in FIG. The rotation angle is shown, and α3 is the rotation angle of the rotation arm 17. Also, the angle α4 is
Indicates the rotation angle of the shaft 21 with respect to the vertical axis, angle α4
E indicates the rotation angle of the shaft 21 with respect to the rotation arm 17. The angle α5 indicates the rotation angle of the shaft 23. angle α6
is constant.

また、α1は固定部材1の下端から軸9までの
長さ成分を示し、α2は軸9から軸15までの長
さを示し、α3は軸15から軸19までの長さ成
分を示し、α4は軸19から溶接トーチ27の延
長線と軸21の延長線との交わる点Bまでの長さ
成分を示す。α5〜α8は回動軸23、トーチ取
付金具25およびトーチ27についての寸法を示
す。
Further, α1 indicates the length component from the lower end of the fixed member 1 to the axis 9, α2 indicates the length from the axis 9 to the axis 15, α3 indicates the length component from the axis 15 to the axis 19, and α4 represents the length component from axis 19 to point B where the extension line of welding torch 27 and the extension line of axis 21 intersect. α5 to α8 indicate the dimensions of the rotating shaft 23, the torch mounting bracket 25, and the torch 27.

また、点Pは溶接トーチ27の先端すなわち溶
接点であり、点Bは溶接トーチ27の延長線と軸
21の延長線の交点である。点Qは第1図の回動
腕11,17および21と平行で点Bを含む平面
と第1図の軸19との交点である。点Fは、同じ
く回動腕11,17および回動軸21と平行で点
Bを含む平面と第1図の軸15との交点であり、
点Gは、同じく回動腕11,17および回転軸2
1と平行で点Bを含む平面と第1図における軸9
との交点である。そして点B,Q,FおよびG
は、同一平面上にあり、この平面をロボツトが存
在する面RSとする。
Further, point P is the tip of the welding torch 27, that is, the welding point, and point B is the intersection of the extension line of the welding torch 27 and the extension line of the shaft 21. Point Q is the intersection of axis 19 in FIG. 1 with a plane parallel to pivot arms 11, 17 and 21 in FIG. 1 and including point B. Point F is the intersection of the plane parallel to the rotating arms 11, 17 and the rotating axis 21 and including point B and the axis 15 in FIG.
Point G also points to the rotating arms 11, 17 and the rotating shaft 2.
The plane parallel to 1 and containing point B and the axis 9 in FIG.
It is the intersection with and points B, Q, F and G
are on the same plane, and let this plane be the surface RS where the robot exists.

更に、直角座標XYZも、第1図の座標XYZと
同じであり、これを絶対系とする。直角座標
XYZのZ軸は、関節角α1の図示しない回動中
心と一致して設けられる。Oは直角座標XYZの
原点である。直角座標X′Y′Z′はロボツト系の座
標であり、原点はロボツト上の点Gに設けられ
る。e1およびe5は、それぞれ直角座標XYZ
の原点から直角座標X′Y′Z′の原点Gがずれてい
る寸法を示す。
Furthermore, the orthogonal coordinates XYZ are also the same as the coordinates XYZ in FIG. 1, and are assumed to be an absolute system. Cartesian coordinates
The Z axes of XYZ are provided to coincide with the rotation center (not shown) of the joint angle α1. O is the origin of the rectangular coordinates XYZ. The rectangular coordinates X'Y'Z' are the coordinates of the robot system, and the origin is located at point G on the robot. e1 and e5 are rectangular coordinates XYZ, respectively
Indicates the deviation of the origin G of the rectangular coordinates X'Y'Z' from the origin of .

また、直角座標αβγはトーチ系の座標であり、
点Bを原点としている。
Also, the rectangular coordinates αβγ are the coordinates of the torch system,
Point B is the origin.

ここで、直角座標系は、各併進軸成分および角
度成分すなわち(X,Y,Z,φ,θ)で表わさ
れ、角度系座標は、角度成分(α1,α2,α
3,α4,α5)で表わされる。
Here, the rectangular coordinate system is expressed by each translational axis component and angular component (X, Y, Z, φ, θ), and the angular coordinate system is expressed by the angular component (α1, α2, α
3, α4, α5).

第8図において各角α1〜α5が与えられたと
き、第9図および第10図の関係から、点Pにつ
いてのX軸成分Px,Y軸成分Py,Z軸成分Pzは
次のとおりになる。ただし、以下「sinαi」は
「si」、「cosαi」は「ci」と表わす。
When each angle α1 to α5 is given in Figure 8, the X-axis component Px, Y-axis component Py, and Z-axis component Pz about point P are as follows from the relationships in Figures 9 and 10. . However, hereinafter "sinαi" will be expressed as "si" and "cosαi" will be expressed as "ci".

Px=c1{a2s2+a3s2+3+(a4−a7)s4 −e4c4c5+e5}+s1(e4s5−e1) Py=S1{a2s2+a3s2+3+(a4−a7)s4 −e4c4c5+e5}−c1(e4s5−e1) Pz=a1+a2c2+a3c2+3+(a4−a7)c4+e4s4c5 また、トーチ27の配向角φおよび姿勢角θ
は、各軸への方向余弧をtx,ty,tzとすると次の
とおりになる。
Px=c 1 {a 2 s 2 + a 3 s 2+3 + (a 4 − a 7 ) s 4 −e 4 c 4 c 5 + e 5 } + s 1 (e 4 s 5 −e 1 ) Py=S 1 {a 2 s 2 +a 3 s 2+3 +(a 4 −a 7 )s 4 −e 4 c 4 c 5 +e 5 }−c 1 (e 4 s 5 −e 1 ) Pz=a 1 +a 2 c 2 + a 3 c 2 + 3 + (a 4 − a 7 ) c 4 + e 4 s 4 c 5 Also, the orientation angle φ and attitude angle θ of the torch 27
is as follows, where tx, ty, and tz are the directional coarcs to each axis.

θ=tan-1(txy/−tz) =tan-1(ty/tx) ただし、 tx=c1(c4c5s6+s4c6)−s1s5s6 ty=s1(c4c5s6+s4c6)+c1s5s6 tz=c4c6−s4c5s6 txγ=(t2 x+ty 2)1/2 である。 θ=tan -1 (txy/-tz) = tan -1 (ty/tx) However, tx=c 1 (c 4 c 5 s 6 + s 4 c 6 ) - s 1 s 5 s 6 ty=s 1 ( c4c5s6 + s4c6 ) + c1s5s6tz = c4c6 s4c5s6txγ = ( t2x + ty2 ) 1/2 .

すなわち、第4図のステツプS115における
α系からXYZ系への座標変換においては、以上
のとおりの演算が行われ、P点について直角座標
XYZ系の位置情報が求められる。
That is, in the coordinate transformation from the α system to the XYZ system in step S115 in FIG.
XYZ position information is required.

なお、ロボツトRがα系で動作するよう系切換
スイツチ117が切り換えられているときは、上
述のとおり、例えばステツプS115において、
α系からXYZ系への座標変換が行われているわ
けではあるが、このようにしてα系で動作してい
るときにおいて、それぞれ角α1とα2、角α2
とα3および角α4とα5について、第1状態に
あるか第2状態にあるかの判別は次の通りフラツ
グによつて行われる。
Note that when the system changeover switch 117 is switched so that the robot R operates in the α system, as described above, for example, in step S115,
Coordinate transformation is performed from the α system to the XYZ system, but when operating in the α system in this way, the angles α1 and α2, and the angle α2
With respect to α3 and angles α4 and α5, whether they are in the first state or the second state is determined by flags as follows.

まず、角α1とα2について第1状態にある
か、第2状態にあるかを判定するめのフラツグ
YFLG1の内容は次式の符号によつて決まる。
First, a flag is set to determine whether the angles α1 and α2 are in the first state or the second state.
The contents of YFLG1 are determined by the sign of the following equation.

YFLG1=e5+a2s2+a3s2+3+a4S4 第1状態 YFLG1≧0 第2状態 YFLG1<0 次に角α2とα3について第1状態にあるか第
2状態にあるかを判定するフラツグYFLG2の状
態は次式の符号によつて次のように決まる。
YFLG1=e 5 +a 2 s 2 +a 3 s 2+3 +a 4 S 4First state YFLG1≧0 Second state YFLG1<0 Next, determine whether the angles α2 and α3 are in the first state or the second state. The state of flag YFLG2 to be determined is determined as follows depending on the sign of the following equation.

YFLG2=α3 第1状態 YFLG2≧0 第2状態 YFLG2<0 更に、角α4とα5について第1状態にあるか
第2状態にあるかを判定するフラツグYFLG3の
状態は、次式の符号によつて次のように決まる。
YFLG2=α3 First state YFLG2≧0 Second state YFLG2<0 Furthermore, the state of flag YFLG3, which determines whether the angles α4 and α5 are in the first state or the second state, is determined by the sign of the following equation. It is determined as follows.

YFLG3=π/2−|α5| 第1状態 YFLG3≧0 第2状態 YFLG3<0 次に、第4図のステツプS109および第7図
のステツプS155におけるXYZ系からα系へ
の座標変換(フラツグYFLG1,YFLG2,
YFLG3の符号を考慮)ならびにステツプS11
0におけるクリテイカルゾーンの識別について更
に第11図ないし第13図を加えて説明する。
YFLG3=π/2−|α5| First state YFLG3≧0 Second state YFLG3<0 Next, coordinate transformation from the XYZ system to the α system (flag YFLG1 ,YFLG2,
considering the sign of YFLG3) and step S11
Identification of the critical zone at 0 will be further explained with reference to FIGS. 11 to 13.

テイーチング時や補間制御時などの目標位置が
P点の直角座標XYZ系の各併進軸成分(Px、
Py、Pz)および角度成分(θ、)として与え
られると、これらをα系すなわち、各回動軸の駆
動量に変換する計算が必要になる。
During teaching or interpolation control, the target position is each translational axis component (Px,
Py, Pz) and angle components (θ, ), calculations are required to convert these into the α system, that is, the drive amount of each rotation axis.

B点の直角座標XYZ系の各併進成分は、前述
同様Bx、By、Bzとする。
The translational components of the orthogonal coordinate XYZ system of point B are Bx, By, and Bz as described above.

また、以下について配向角および姿勢角θの
cosおよびsimについては次のとおり表示する。
In addition, for the following, the orientation angle and attitude angle θ are
COS and SIM are displayed as follows.

c=cos s=sin θc=cosθ θs=sinθ まず、角α1を求める演算について第11図を
参照して説明する。
c = cos s = sin θ c = cos θ θ s = sin θ First, the calculation for determining the angle α1 will be explained with reference to FIG.

第11図は、多関節ロボツトRを上面から見た
模式図である。第11図においてα1,e1,e
5,B,GおよびRSの記号は、第9図と同様に
取られており同様の意味を持つ。ただし、点F,
Q,Pは省略してある。線OG′はXYZ座標の原
点Oからロボツトの存在する面RSに下した乗線
であり、点G′はこの垂線と面RSとの交点である。
ところで、このロボツトRについては、角α2は
+方向に取り得るので、一つの関節角α1につい
て+方向と一方向に取つたときのB点はそれぞれ
点Baおよび点Bbに来る。そして点BがBa点にあ
るときを線OG′に対して正方向にあり、Bb点に
あるときを線OG′に対して負方向にあるとする
と、それぞれの場合、次に示すように角α1の演
算式が変わつて来る。
FIG. 11 is a schematic diagram of the articulated robot R viewed from above. In Figure 11, α1, e 1 , e
The symbols 5, B, G and RS are taken as in FIG. 9 and have the same meanings. However, point F,
Q and P are omitted. The line OG' is a line drawn from the origin O of the XYZ coordinates to the surface RS where the robot exists, and the point G' is the intersection of this perpendicular line and the surface RS.
By the way, regarding this robot R, the angle α2 can be taken in the + direction, so when one joint angle α1 is taken in the + direction and in the unidirectional direction, point B comes to point Ba and point Bb, respectively. Then, when point B is at point Ba, it is in the positive direction with respect to line OG', and when it is at point Bb, it is in the negative direction with respect to line OG'. In each case, the angle is as shown below. The calculation formula for α1 will change.

角α1は次の通り求められる。 The angle α1 is found as follows.

点BのX軸成分BxおよびY軸成分Byは次式の
とおりである。
The X-axis component Bx and Y-axis component By of point B are as follows.

Bx=α5θs c+Px By=α5θs s+Py そして、このBx、Byに基いて、第11図の長
さ成分W1、角度成分W2、W3が求められる。
Bx=α5θ s c +Px By=α5θ s s +Py Based on these Bx and By, the length component W 1 and angle components W 2 and W 3 in FIG. 11 are determined.

W1=(B2 x+B2 y−e2 11/2 W2=tan-1e1/W1 W3=tan-1By/Bx ここで、フラツグYFLG1による判定が必要に
なる。フラツグYFLG1は第11図において点B
がG′に一致したとき、すなわちロボツトRの直
上に達したとき切り替わる。そして、のフラツグ
YFLG1が切り替わるすなわち関節角α2とα1
が第1状態から第2状態または第2状態から第1
状態へ切り替わる領域(クリテイカルゾーンCZ)
へはいつたことは、ε1を指定された正数として次
式で求められる。
W 1 =(B 2 x +B 2 y −e 2 1 ) 1/2 W 2 =tan −1 e 1 /W 1 W 3 =tan −1 By/Bx Here, determination using the flag YFLG1 is required. Flag YFLG1 is at point B in Figure 11.
It switches when it matches G', that is, when it reaches directly above the robot R. And the flag of
YFLG1 switches, that is, joint angle α2 and α1
is from the first state to the second state or from the second state to the first state
Area where the state changes (critical zone CZ)
The entry into is determined by the following formula, where ε 1 is a specified positive number.

(B2 x+B2 y−e2 11/2<ε1 そして、クリテイカルゾーンCZにはいつてお
れば操作パネル100上の表示ランプ103が点
燈する。
(B 2 x +B 2 y −e 2 1 ) 1/21 Then, if the vehicle is in the critical zone CZ, the display lamp 103 on the operation panel 100 lights up.

そこで、 YFLG1≧0のとき α1=W3−W2 YFLG1<0のとき α1=W3+W2−π ある一つの関節角α1に対して、B点がBa点
にあるときとBb点にあるときとで関節角α1を
求める計算式は異なつて来る。
Therefore, when YFLG1≧0 α 1 =W 3 −W 2 When YFLG1<0 α 1 =W 3 +W 2 −π For a certain joint angle α1, when point B is at point Ba and when point Bb The calculation formula for determining the joint angle α1 is different depending on when the joint angle α1 is.

B点がBa点に来る場合に対し、第11図で破
線で示すように、関節角α1はα′1にも取り得
る。この場合、G′点もG″に来るのでB点はG′に
対して負方向にあることになり、フラツグYFLG
1は−となり、関節角α2もまた異つて来る。す
なわち、トーチ27の同一位置に対して、少なく
とも二つの関節角が2様に取られていることにな
る。そして、関節角α1がα′1の場合、B点がBa
点にあるときは、関節角α′1は前述式で求めら
れ、B′b点にあるときは、前述式で求められ
る。
When point B comes to point Ba, the joint angle α1 can also be α'1, as shown by the broken line in FIG. In this case, since point G' also comes to G'', point B is in the negative direction with respect to G', and the flag YFLG
1 becomes -, and the joint angle α2 also becomes different. That is, for the same position of the torch 27, at least two joint angles are taken in two ways. Then, when joint angle α1 is α′ 1 , point B is Ba
When it is at a point, the joint angle α′ 1 is calculated using the above formula, and when it is at a point B′b, it is calculated using the above formula.

次に、角α4およびα5を求める演算について
第12図を参照して説明する。
Next, calculations for determining the angles α4 and α5 will be explained with reference to FIG. 12.

第12図Aは、第8図における多関節ロボツト
RのQ点部分を主として示す模式図であり、αβγ
はトーチ系の座標を表わす。第12図Aにより与
えられたトーチ角度φ,θとα1から、点Qを求
める。この場合には、(αβγ)系から(X′Y′Z′)
系への変換を行なう。そして、α2+β2=e3 2、γ
-8の円とy′=0の平面の交点を求める。
FIG. 12A is a schematic diagram mainly showing the Q point portion of the articulated robot R in FIG.
represents the coordinates of the torch system. Point Q is determined from the torch angles φ, θ and α1 given by FIG. 12A. In this case, from the (αβγ) system, (X′Y′Z′)
Perform the conversion to a system. And α 2 + β 2 = e 3 2 , γ
= - 〓 Find the intersection of the circle 8 and the plane y′=0.

α β γ 1=θc 0 θs 0 1 −θs 0 θs 1φc φs −φs φs 1 1 x′ y′ z′ 1 α β γ 1=θc 0 θs 0 −θcφs φc −θsφs 0 −θs 0 θc 0 0 0 0 1X′ Y′ Z′ 1 したがつて、α,βおよびγは、それぞれ次式
で与えられる。
α β γ 1=θ c 0 θ s 0 1 −θ s 0 θ sc φ s −φ s φ s 1 1 x′ y′ z′ 1 α β γ 1=θ c 0 θ s 0 −θ c φ s φ c −θ s φ s 0 −θ s 0 θ c 0 0 0 0 1X′ Y′ Z′ 1 Therefore, α, β, and γ are respectively given by the following equations.

α=θcφcx′−θcφsy′−θsz′ β=θsx′+φcy′ γ=θsφcx′−θsφsy′+θcz′ そして、y′=0から、α,β,γは、さらに次
のようになる。
α=θ c φ c x′−θ c φ s y′−θ s z′ β=θ s x′+φ c y′ γ=θ s φ c x′−θ s φ s y′+θ c z′ and , y'=0, α, β, and γ further become as follows.

α=θcφcx′−θsz′ β=φsx′ γ=θsφcx′+θcz′ また、γ=−a8から、次式(2)が与えられ、 α2+β2=e3 2から、次式(3)が与えられる。 α=θ c φ c x′−θ s z′ β=φ s x′ γ=θ s φ c x′+θ c z′ Also, from γ=−a 8 , the following equation (2) is given, α 2 + β 2 = e 3 2 gives the following equation (3).

θsφcx′+θcz′+α8=0 …(2) θc 2φc2x′2−2θcφcθsx′z′ +θs 2z′2+φs 2x′2=e2 3 …(3) 上記(3)式に、z′=−(θsφcx′+α8)/θcを代
入する と、次式が得られる。
θ s φ c x′+θ c z′+α 8 =0 …(2) θ c 2 φ c 2x′2−2θ c φ c θ s x′z′ +θ s 2 z′ 2s 2 x′ 2 = e 2 3 ...(3) By substituting z′=−(θ s φ c x′+α 8 )/θ c into the above equation (3), the following equation is obtained.

(φc 2+θc 2φs 2)x′2+2α8θsφcx′ +(α8 2s 2−e3 2θc 2)=0 上記式における判別式WDを求めると、判別式
WDは次のようになる。
c 2 + θ c 2 φ s 2 )x′ 2 +2α 8 θ s φ c x′ + (α 8 2s 2 −e 3 2 θ c 2 )=0 When determining the discriminant WD in the above equation, discriminant
The WD is as follows.

WD=α8 2θs 2φc 2−(φc 2+θc 2φs 2)(α8 2θs 2
e3 2θc 2) =α8 2θs 2φc 2−α8 2θs 2φc 2+e3 2θc 2φc 2−α8
2θs 2θc 2φs 2+e3 2θc 4φs 2 =e3 2θc 2(φc 2+θc 2φs 2)−α8 2θs 2θc 2φs 2
=θc 2{e3 2(φc 2+φs 2θc 2)−α8 2θs 2φs 2} したがつて、この判別式WDの値が負になれ
ば、点Qは存在し得ないことになる。また、 WA=φc 2+θc 2φs 2 WB=α8θsφc WC=α8 2θs 2−e3 2θc 2 とすれば、点Qのx′座標は x′=−WB±(WB2−WA×WC)1/2/WA で与えられる。これに対応するz′の値は x′=−(θsφcx′+α8)/θc で決定される。
WD=α 8 2 θ s 2 φ c 2 − (φ c 2 + θ c 2 φ s 2 ) (α 8 2 θ s 2
e 3 2 θ c 2 ) =α 8 2 θ s 2 φ c 2 −α 8 2 θ s 2 φ c 2 +e 3 2 θ c 2 φ c 2 −α 8
2 θ s 2 θ c 2 φ s 2 +e 3 2 θ c 4 φ s 2 = e 3 2 θ c 2c 2 + θ c 2 φ s 2 ) − α 8 2 θ s 2 θ c 2 φ s 2
c 2 {e 3 2c 2s 2 θ c 2 )−α 8 2 θ s 2 φ s 2 } Therefore, if the value of this discriminant WD is negative, point Q exists. It would be impossible. Also, if WA=φ c 2 + θ c 2 φ s 2 WB=α 8 θ s φ c WC=α 8 2 θ s 2 −e 3 2 θ c 2 , then the x' coordinate of point Q is x'= −WB±(WB 2 −WA×WC) 1/2 /WA. The corresponding value of z′ is determined by x′=−(θ s φ c x′+α 8 )/θ c .

一方、θ≦45゜の領域では、x′を求め、θ>45゜
の領域ではz′を求めるとすれば、上記(2)式から
x′=−(θcz′+α8)/θsφcを得て、せれを上記(3
)式
に代入する。そうすると、次式が得られる。
On the other hand, if x′ is found in the region of θ≦45°, and z′ is found in the region of θ>45°, then from equation (2) above,
Obtain x′=−(θ c z′+α 8 )/θ s φ c and set the gap as above (3
) to the expression. Then, the following formula is obtained.

(φc 2+θc 2φs 2)z′2+2α8θcz′+φc 2(α
8 2θc 2−e3 2θs 2)+α8 2φs 2=0 そして、x′を求めたのと同様にして、 Wa=φc 2+θc 2φs 2 Wb=α8θc Wc=φc2(α8 2θc 2+e3 2θs 2)+α8 2φs 2 とおけば、判別式WDは次式で与えられる。
c 2c 2 φ s 2 )z′ 2 +2α 8 θ c z′+φ c 2
8 2 θ c 2 −e 3 2 θ s 2 ) + α 8 2 φ s 2 = 0 Then, in the same way as finding x', Wa = φ c 2 + θ c 2 φ s 2 Wb = α 8 θ If c Wc = φ c28 2 θ c 2 + e 3 2 θ s 2 ) + α 8 2 φ s 2 , then the discriminant WD is given by the following equation.

WD=Wb2−Wa×Wc したがつて、点QのX軸成分x,z軸成分Qz
は、それぞれ次式で与えられる。
WD=Wb 2 −Wa×Wc Therefore, the X-axis component x and the z-axis component Qz of point Q
are given by the following equations.

Qz=z′=−Wb±√WD/Wa Qx=x′=−(θcz′+α8)/θsφc で示される。いずれの場合も、点Qの座標は、
Q1(x′1,z′1),Q2(x′2,z′2)の2点が存在する

この異なる2点が、それぞれ第1状態または第2
状態に相当するのである。
It is expressed as Qz=z′=−Wb±√WD/Wa Qx=x′=−(θ c z′+α 8 )/θ s φ c . In either case, the coordinates of point Q are
There are two points, Q 1 (x′1, z′1) and Q 2 (x′2, z′2).
These two different points are in the first state or the second state, respectively.
It corresponds to the state.

そして、この第1状態および第2状態を代表的
にθ=0゜の場合について示すと第12図Bの通り
になる。ただし、第12図Bは、多関節ロボツト
RのQ点より先端部を模式的に示しており、ロボ
ツトの存在する平面RS(x′z′平面)はxz平面をY
軸方向に平行移動させたものとしている。そして
また、この第1状態と第2状態に関してフラツグ
判定が必要になる。フラツグYFLG3が切り替わ
る。すなわち関節角α4およびα5が第1状態か
ら第2状態へ、または第2状態から第1状態へ切
り替わる領域(クリテイカルゾーンCZ)へはい
つたことは、ε3は指定の整数として次式で求めら
れる。
FIG. 12B shows the first state and the second state representatively for the case where θ=0°. However, Fig. 12B schematically shows the tip of the articulated robot R from point Q, and the plane RS (x'z' plane) where the robot exists is the xz plane
It is assumed to have been translated in parallel in the axial direction. Furthermore, flag determination is required regarding the first state and the second state. Flag YFLG3 switches. In other words, the fact that joint angles α4 and α5 have entered the region (critical zone CZ) where they switch from the first state to the second state or from the second state to the first state is expressed by the following equation, where ε 3 is a specified integer. Desired.

π/2|α5|<ε3 そして、クリテイカルゾーンCZにはいれば、
操作パネルの表示ランプ113が点燈する。
π/2 | α 5 | < ε 3 And if it enters the critical zone CZ,
The display lamp 113 on the operation panel lights up.

このようなフラツグYFLG3の符号とトーチ2
7の姿勢角θについて例えば、0≦θ<1.0、に
おいてQzに関する前式中の±の符号は YFLG3≧0のとき+ YFLG3<0のとき− となる。
Such flag YFLG3 code and torch 2
Regarding the attitude angle θ of 7, for example, when 0≦θ<1.0, the sign of ± in the above equation regarding Qz is + when YFLG3≧0 and − when YFLG3<0.

ここで原点を点Bとして、ロボツト系の座標
(x′,y′,z′)と点Qの座標(Qx′,Qy′,Qz′)

ら、角度α4とα5を決定する。まず、Qy′=0であ
るのでα4は次式で与えられる。
Here, with the origin as point B, the coordinates of the robot system (x', y', z') and the coordinates of point Q (Qx', Qy', Qz')
From this, determine angles α 4 and α 5 . First, since Qy'=0, α 4 is given by the following equation.

α4=tan-1(−Qx)/(−Qz) そして、角度α5を求めるために、先のロボツト
座標系(x′,y′,z′)からさらに各(x″,y″,z″

を求める。そして、この(x″,y″,z″)系で(α
β γ)=(0 0 −1)とする。
α 4 = tan -1 (-Qx)/(-Qz) Then, in order to find the angle α 5 , from the robot coordinate system (x′, y′, z′), each (x″, y″, z″
)
seek. Then, in this (x″, y″, z″) system, (α
β γ)=(0 0 −1).

x″ y″ z″ 1=c4 0 s4 1 −s4 0 c4 1φc −φS φs φc 1 1θc 0 −θs 1 θs 0 θc 10 0 −1 0 c4φc −φs s4φc 0 c4φs φc s4φs 0 −s4 0 c4 0 0 0 0 1=−θs 0 −θc 0 したがつて、x″およびy″はそれぞれ次式で与
えられる。
x″ y″ z″ 1=c 4 0 s 4 1 −s 4 0 c 4c −φ S φ s φ c 1 1θ c 0 −θ s 1 θ s 0 θ c 10 0 −1 0 c 4 φ c −φ s 4 φ c 0 c 4 φ s φ c s 4 φs 0 −s 4 0 c 4 0 0 0 0 1=−θ s 0 −θ c 0 Therefore, x″ and y″ are respectively It is given by the following formula.

x″=−c4φcθs+s4θc y″=φ2θs そして、角度α5の基準線を、第12図Cのよう
に、垂直線からの角度とすれば、この角度α5は次
式で与えられる。
x″=−c 4 φ c θ s +s 4 θ c y″=φ 2 θ s Then, if the reference line of angle α 5 is the angle from the vertical line as shown in Figure 12C, then this angle α 5 is given by the following formula.

α5=tan-1(−φsθs/c4φcθs−s4θc) 次に、角度α2およびα3を求める演算について第
13図を参照して説明する。
α 5 =tan −1 (−φ s θ s /c 4 φ c θ s −s 4 θ c ) Next, the calculation for determining the angles α 2 and α 3 will be explained with reference to FIG. 13.

第13図は、多関節ロボツトRを側面から見た
模式図であり、点Qより先端は図示していない。
A図はその主図であり、B図はA図を上面から見
た図ある。角α1,α2,α3、点G,F,Q、線分
α1,α2,α3,e1,e5は第8図および第9図と同様
に取られており同様の意味を持つ。l1,l2は補助
的に取つた線分であり、W1,W2,W3は補助的
に取つて角度成分である。
FIG. 13 is a schematic diagram of the multi-jointed robot R seen from the side, and the tip from point Q is not shown.
Figure A is the main view, and Figure B is a top view of Figure A. Angles α 1 , α 2 , α 3 , points G, F, Q, line segments α 1 , α 2 , α 3 , e 1 , e 5 are taken in the same way as in Figures 8 and 9, and the same have meaning. l 1 and l 2 are supplementary line segments, and W 1 , W 2 , and W 3 are supplementary angle components.

まず、絶対座標系で点Qの位置を求めると、こ
のQの各軸成分Qx,Qy,Qzは、それぞれ次式で
与えられる。
First, when the position of point Q is found in the absolute coordinate system, each axis component Qx, Qy, Qz of this Q is given by the following equations.

Qx=Bx+x′cosα1 Qy=By+x′sinα1 Qz=Bz+z′ 一方、点Gの座標は(−e1sinα1+e5cosα1
e1cosα1+e5sinα1、α1)であるから、長さ成分l1
l2および角度成分W1はそれぞれ次式で表わされ
る。
Qx=Bx+x′cosα 1 Qy=By+x′sinα 1 Qz=Bz+z′ On the other hand, the coordinates of point G are (−e 1 sinα 1 +e 5 cosα 1 ,
e 1 cosα 1 + e 5 sinα 1 , α 1 ), so the length component l 1 ,
l 2 and angle component W 1 are each expressed by the following equations.

l1=±{(Qx+e1s1−e5c12 +(Qy−e1c1−e5s121/2 l2={l1 2+(Qz−α121/2 W1=tan-1Qz−α1/l1 そして、WA=(α2 2+l2 2−α3 2)/2α2l2とすれ
ば、角度成分W2は次式で与えられる。
l 1 = ± {(Qx+e 1 s 1 −e 5 c 1 ) 2 + (Qy−e 1 c 1 −e 5 s 1 ) 2 } 1/2 l 2 = {l 1 2 + (Qz−α 1 ) 2 } 1/2 W 1 =tan -1 Qz−α 1 /l 1And if WA=(α 2 2 +l 2 2 −α 3 2 )/2α 2 l 2 , then the angular component W2 is given by the following equation. Given.

W2=cos-1(WA)=tan-1{(1−WA2)1/2/WA} また、WB=(α2 2+α3 2−l2 2)2α2α3とすれば、
角度成分W3は次式で与えられる。
W2=cos -1 (WA)=tan -1 {(1-WA2) 1/2 /WA} Also, if WB=(α 2 2 + α 3 2 −l 2 2 )2α 2 α 3 ,
The angular component W3 is given by the following equation.

W3=tan-1{(1−WB2)1/2/WB} したがつて、角度α2およびα3は、それぞれ次式
で与えられる。
W3=tan -1 {(1-WB2) 1/2 /WB} Therefore, angles α 2 and α 3 are given by the following equations, respectively.

α2=π/2−W1±W2 α3=±(π−W3) ここで、角α2およびα3に関する前式の±の取り
方について、フラツグYFLG2の符号が関係す
る。フラツグYFLG2が切り替わるすなわち関節
角α2およびα3が第1状態から第2状態へまたは第
2状態から第1状態へ切り替わる領域(クリテイ
カルゾーンCZ)へはいつたことは、ε2を指定さ
れた正数として、次式で求められる。
α 2 =π/2−W 1 ±W 2 α 3 =±(π−W 3 ) Here, the sign of the flag YFLG2 is related to how to take ± in the above equation regarding the angles α 2 and α 3 . When flag YFLG2 switches, that is, when joint angles α 2 and α 3 enter the region (critical zone CZ) where they switch from the first state to the second state or from the second state to the first state, ε 2 is specified. As a positive number, it can be calculated using the following formula.

|α3|<ε2 クリテイカルゾーンにはいれば、操作パネル1
00上の表示ランプ113が点燈する。
|α 3 |<ε 2 If you enter the critical zone, the operation panel 1
The display lamp 113 above 00 lights up.

そして、フラツグYFLG2の符号に従い、角α2
とα3は次のように二様に決められる。
Then, according to the sign of the flag YFLG2, the angle α 2
and α 3 can be determined in two ways as follows.

YFLG2≧0のとき α2=π/2−W1−W2 α3=π−W3 YFLG2<0のとき α2=π/2−W1+W2 α3=W3−π このようにして、XYZ系からα系への座標変
換が行われ、それに伴つてクリテイカルゾーンの
識別が行われるが、その際、関節角α1,α2,α3
α4およびα5は、取り得る二様の状態のうちから一
様が選択される。
When YFLG2≧0, α 2 =π/2−W 1 −W 2 α 3 =π−W 3 When YFLG2<0, α 2 =π/2−W 1 +W 2 α 3 =W 3 −π In this way, Then, coordinate transformation is performed from the XYZ system to the α system, and the critical zone is identified. At this time, the joint angles α 1 , α 2 , α 3 ,
α 4 and α 5 are uniformly selected from two possible states.

以上のとおり、この発明によれば、第1図の多
関節ロボツトRのマニユアルモードによる作動時
において、XYZ系を選択して溶接トーチ27の
位置または姿勢に関する情報を与え、その情報を
α系の情報へ座標変換する過程において、これら
の情報によつて指定される溶接トーチ27の位置
または姿勢を得るような腕および軸の状態すなわ
ち関節角の状態が、クリテイカルゾーンにはいる
かどうかを判別し表示できる。したがつて、系選
択スイツチ117をα系またはXYZ系に切り換
えるための判断が、ロボツトの腕および軸の視認
によるだけでなく、操作パネル100上の表示を
確認することによつて容易に行うことができると
言う効果が発揮される。またその結果、テイーチ
ング操作が容易になると言う効果が発揮される。
As described above, according to the present invention, when the articulated robot R shown in FIG. In the process of coordinate conversion to information, it is determined whether the state of the arm and axis, that is, the state of the joint angle, is in the critical zone to obtain the position or posture of the welding torch 27 specified by this information. Can be displayed. Therefore, the decision to switch the system selection switch 117 to the α system or the XYZ system can be easily made not only by visually checking the arms and axes of the robot, but also by checking the display on the operation panel 100. The effect of being able to do this is demonstrated. Moreover, as a result, the effect of facilitating the teaching operation is exhibited.

この実施例はテイーチングプレイバツクの場合
を示したものであるが、マニピユレータの様に単
にマニユアルモードでの操作に実施できることは
いうまでもない。
Although this embodiment shows the case of teaching playback, it goes without saying that it can be implemented simply in manual mode operation like a manipulator.

以上は、第1図に示すように、被制御体である
溶接トーチが同一位置または同一姿勢に制御され
ているとき、少なくとも二つの関節角が二様の状
態を取り得るように構成された多関節ロボツトに
適用した実施例であるが、前述の二つの関節角が
一様の状態しか取り得ないような多関節ロボツト
においてもこの発明を実施することは可能であ
る。そして、その場合もまた、被制御体の位置ま
たは姿勢情報を直角座標系で与えることによつて
被制御体の位置または姿勢情報を与えることが適
切である領域すなわちこの場合は動作範囲の限界
となる領域にあると言う判別が容易に行えると言
う効果がある。
As shown in FIG. 1, the above is a polygon system configured so that at least two joint angles can take two different states when the welding torch, which is a controlled object, is controlled to the same position or the same posture. Although this embodiment is applied to an articulated robot, it is also possible to implement the present invention in a multi-jointed robot in which the two joint angles described above can only be in a uniform state. In that case as well, the area where it is appropriate to provide the position or orientation information of the controlled object by providing the position or orientation information of the controlled object in a rectangular coordinate system, that is, the limit of the operating range in this case. This has the effect of making it easy to determine that the area is within the range.

また、その他の実施例として、直角座標系と極
座標系のいずれかを選択して被制御体の位置また
は姿勢情報を与えるようにした極座標ロボツトに
この発明を実施することは可能である。その場合
もまた前述実施例同様、被制御体の位置または姿
勢情報を与えるに当り、直角座標系で与えるのが
適切である領域の判別が容易に行えると言う効果
を有する。
Furthermore, as another embodiment, it is possible to implement the present invention in a polar coordinate robot in which position or orientation information of a controlled object is given by selecting either a rectangular coordinate system or a polar coordinate system. In this case, as in the above-described embodiments, it is possible to easily determine a region in which it is appropriate to provide position or orientation information of a controlled object using a rectangular coordinate system.

なお、この発明の実施は前述実施例に限るもの
ではなく、各構成の均等物との置換えは可能であ
り、その場合もまたこの発明の技術的範囲に属す
るものとする。
Note that the implementation of the present invention is not limited to the above-mentioned embodiments, and each structure may be replaced with an equivalent one, and such a case also falls within the technical scope of the present invention.

以上のとおり、この発明によれば、関節ロボツ
トの腕または軸がクリテイカルゾーン内にあるこ
とを操作者の視認による判断ではなく、制御装置
自身で識別し、表示できるので、関節ロボツトの
腕または軸の折曲がり状態を一方の状態からもう
一方の状態へ反転させる際、直角座標系と関節系
間の操作の切換えが適切に行える。このため関節
ロボツトの操作がしやすくなり、関節機構の移動
経路上の障害物を避けるのにワークを取外すとい
つた面倒な作業が少なくなるので、能率的なロボ
ツトの運用ができる。
As described above, according to the present invention, the control device itself can identify and display whether the arm or axis of the articulated robot is within the critical zone, instead of determining whether the arm or axis of the articulated robot is within the critical zone. When reversing the bending state of the shaft from one state to the other, the operation can be appropriately switched between the Cartesian coordinate system and the joint system. This makes the articulated robot easier to operate, and the troublesome work of removing the workpiece to avoid obstacles on the moving path of the articulated mechanism is reduced, allowing efficient robot operation.

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

図面はこの発明の背景および実施例を示すもの
であり、第1図はこの発明の背景となるりかつこ
の発明の実施例を示す多関節ロボツトの図解図で
ある。また、第2図はこの発明の背景を示す模式
図である。第3図はこの多関節ロボツトの制御系
を示すブロツク図である。第3図において 31……CPU、33……メモリ、119〜1
27……直角座標系で操作するのに使用するスイ
ツチ、129〜137……多関節系で操作するの
に使用するスイツチ、117……系選択スイツ
チ、103……テイーチング操作スイツチ、35
1〜355……駆動回路。 第4図はマニユアルモードのフロー図である。
第4図において ステツプS107……操作手段、ステツプS1
09,S110……関節角制御手段、ステツプS
113……操作手段。 第5図はテイーチングのフロー図である。第5
図において、ステツプS117、ステツプS11
9……テイーチング手段。 第6図はオートモードのフロー図である。第6
図においてS121〜S141……関節角制御手
段 第7図は第6図中のサブルーチンのフロー図で
ある。第7図において、ステツプS151〜S1
59……関節角制御手段。 第8図〜第14図は、第1図の多関節ロボツト
についてこの発明の実施例を示す模式図である。
The drawings show the background and embodiments of this invention, and FIG. 1 is an illustrative view of an articulated robot that serves as the background of this invention and shows an embodiment of this invention. Moreover, FIG. 2 is a schematic diagram showing the background of this invention. FIG. 3 is a block diagram showing the control system of this articulated robot. In Figure 3, 31...CPU, 33...Memory, 119-1
27...Switches used to operate in the orthogonal coordinate system, 129-137...Switches used to operate in the multi-joint system, 117...System selection switch, 103...Teaching operation switch, 35
1 to 355...Drive circuit. FIG. 4 is a flow diagram of manual mode.
In FIG. 4, step S107... operating means, step S1
09, S110...Joint angle control means, step S
113...Operation means. FIG. 5 is a teaching flow diagram. Fifth
In the figure, step S117, step S11
9...Teaching means. FIG. 6 is a flow diagram of auto mode. 6th
In the figure, S121 to S141...Joint angle control means FIG. 7 is a flowchart of the subroutine in FIG. 6. In FIG. 7, steps S151 to S1
59...Joint angle control means. 8 to 14 are schematic diagrams showing embodiments of the present invention regarding the articulated robot of FIG. 1.

Claims (1)

【特許請求の範囲】 1 被制御体の一つの位置、一つの姿勢または一
つの位置姿勢に対して、被制御体を順次支持する
腕または軸のうち隣合う腕または軸の折曲がり状
態を2様にとることのできる関節機構、この関節
機構を駆動する駆動手段、この駆動手段に駆動指
令を与える駆動指令手段、関節系による操作入力
手段、直角座標系による操作入力手段、これらの
入力手段に対する切換手段、前記入力手段からの
入力情報を取込む記憶手段、直角座標系と関節系
との座標変換手段を具備している関節ロボツトに
おいて、 前記関節機構の各関節角、前記腕または軸の要
部の長さを変数とする関数演算を行い、前記腕ま
たは軸が2様の折曲がり状態のうち一方の状態か
ら他の一方の状態へ移行する間のクリテイカルゾ
ーン内にあることを識別するクリテイカルゾーン
識別手段、この識別手段の出力により前記腕また
は軸がクリテイカルゾーン内にあることを表示す
るクリテイカルゾーン表示手段を具備している前
記関節ロボツト。
[Claims] 1. For one position, one posture, or one position/posture of a controlled object, the bending states of adjacent arms or shafts that sequentially support the controlled object are defined as 2. A joint mechanism that can be used in various ways, a drive means for driving this joint mechanism, a drive command means for giving a drive command to this drive means, an operation input means using a joint system, an operation input means using a rectangular coordinate system, and a method for inputting these input means. An articulated robot comprising a switching means, a storage means for receiving input information from the input means, and a coordinate conversion means between a rectangular coordinate system and a joint system, wherein each joint angle of the joint mechanism, the main point of the arm or axis is performs a functional operation using the length of the part as a variable, and identifies that the arm or shaft is in a critical zone between transitions from one of the two bent states to the other; The articulated robot comprises a critical zone identifying means, and a critical zone displaying means for displaying that the arm or shaft is within the critical zone based on the output of the identifying means.
JP16904982A 1982-09-27 1982-09-27 Joint robot Granted JPS5959370A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16904982A JPS5959370A (en) 1982-09-27 1982-09-27 Joint robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16904982A JPS5959370A (en) 1982-09-27 1982-09-27 Joint robot

Publications (2)

Publication Number Publication Date
JPS5959370A JPS5959370A (en) 1984-04-05
JPH0549437B2 true JPH0549437B2 (en) 1993-07-26

Family

ID=15879373

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16904982A Granted JPS5959370A (en) 1982-09-27 1982-09-27 Joint robot

Country Status (1)

Country Link
JP (1) JPS5959370A (en)

Also Published As

Publication number Publication date
JPS5959370A (en) 1984-04-05

Similar Documents

Publication Publication Date Title
US4590577A (en) Welding robot controlling method
US4594671A (en) Velocity method of controlling industrial robot actuators
JP2512099B2 (en) Robot motion teaching method and control device
JPH079606B2 (en) Robot controller
US7047107B2 (en) Robot control apparatus
KR960001962B1 (en) Method of controlling tool attitude of a robot
JPH0453621B2 (en)
JP6904759B2 (en) Robot movement speed control device and method
JP2728399B2 (en) Robot control method
EP0194314A1 (en) System for controlling posture of tool
JP2787891B2 (en) Automatic teaching device for laser robot
JPH0254566B2 (en)
US5241249A (en) Process for controlling a robot arm by defining substitution paths
EP0353305A1 (en) Industrial robot capable of automatically changing operating conditions depending on its attitude of installation
US5276777A (en) Locus correcting method for industrial robots
JPH0549437B2 (en)
CN112423947A (en) Robot system
EP0460227B1 (en) Additional shaft follow-up control system of robot
JPH08267381A (en) Robot manual feed control device
JPH09314487A (en) Method for controlling manipulator having redundant axis
JP2556830B2 (en) Automatic teaching method in robot
JPH0693209B2 (en) Robot&#39;s circular interpolation attitude control device
JPH0146271B2 (en)
JP2656180B2 (en) Tool tip position adjustment method
JPH0310965B2 (en)