JPH0366577A - Preparation of teaching data for plural robots - Google Patents

Preparation of teaching data for plural robots

Info

Publication number
JPH0366577A
JPH0366577A JP20178789A JP20178789A JPH0366577A JP H0366577 A JPH0366577 A JP H0366577A JP 20178789 A JP20178789 A JP 20178789A JP 20178789 A JP20178789 A JP 20178789A JP H0366577 A JPH0366577 A JP H0366577A
Authority
JP
Japan
Prior art keywords
robot
work
teaching
robots
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP20178789A
Other languages
Japanese (ja)
Inventor
Makoto Tonai
誠 藤内
Yasuo Ishiguro
石黒 恭生
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.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP20178789A priority Critical patent/JPH0366577A/en
Publication of JPH0366577A publication Critical patent/JPH0366577A/en
Pending legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

PURPOSE:To quickly obtain a teaching data having a short working time and well balanced, in the case of the selection of a robot for the teaching point of the work area inside where the motion zones of two robots being superposed, by deciding the work allocation of a teaching point so as to select the robot whose working time accumulated at that time is shortest. CONSTITUTION:The selection (P1-2) of a robot at the teaching point of the part where the work area of a robot is not superposed is performed by selecting a corresponding robot according to the order set in advance, for example, or selecting a corresponding robot with a specific rule. Work is executed (P1-3) by simulation by the robot thereof and the work time thereof is accumulated on each robot (P2). The selection (P1-1) of the robot at the teaching point of the part where the work area of the robot is superposed is performed with the work time of each robot already found by the calculation process of the work time executed repeatedly as the reference.

Description

【発明の詳細な説明】 及亘坐亘め [産業上の利用分野] 本発明1友 例えば同時に複数のロボットを作動させて
作業を行わせるに際して、ロボット同士の作動領域が重
複している部分の作業の配分を決定する複数ロボットの
教示データ作成方法に関する。
[Detailed description of the invention] [Industrial field of application] One aspect of the present invention: For example, when multiple robots are operated at the same time to perform work, the area where the operating areas of the robots overlap may be reduced. This invention relates to a method for creating teaching data for multiple robots that determines the distribution of work.

[従来の技術] 従来 作業の効率法 生産性あるいは安全衛生の観点か
ら、自動車生産ライン等において溶接用ロボットや塗装
用ロボットが用いられている。これらのロボット(友 
同一作業を正確に繰り返すことが可能なことから一旦適
切な教示データ(動作プログラム)をティーチングすれ
]戴 品質が高く一定した製品を継続的に得ることが出
来る(特開昭58−180257号公報)。
[Prior Art] Conventional Work Efficiency Method Welding robots and painting robots are used on automobile production lines and the like from the viewpoint of productivity or safety and health. These robots (friends)
Since it is possible to repeat the same work accurately, once appropriate teaching data (operation program) is taught, it is possible to continuously obtain products with high and consistent quality (Japanese Unexamined Patent Publication No. 180257/1983). .

更に作業効取 生産性の向上の観点から、複数のロボッ
トを同時に稼動させることがある。この場合に各ロボッ
トに作業を分担させる操作が必要となる。この場合に省
力化のため、分担を自動的になす方法が提案されている
(特開昭63−295192号公報)、この方法は次の
ようになされる。まず2つのロボット1こ対して作業の
優先順位を設定し、シミュレーションにより作業をさせ
る。
Furthermore, from the perspective of improving work efficiency and productivity, multiple robots may be operated simultaneously. In this case, it is necessary to make each robot share the work. In order to save labor in this case, a method has been proposed (Japanese Unexamined Patent Publication No. 63-295192) in which the division of labor is automatically done. This method is carried out as follows. First, work priorities are set for each of the two robots, and the robots are made to perform the work through simulation.

その際 作業が重複する場合には優先順位に従って優先
順位の高いロボットから作業させる。この作業を優先順
位の組合せを変更してシミュレーションを繰り返し、得
られた作業時間の内で最も作業時間が短い優先順位の作
業を選択するものである。
If tasks overlap, the robots with the highest priority are assigned to work first. The simulation is repeated for this task by changing the combination of priorities, and the priority task with the shortest working time is selected from among the obtained working times.

[発明が解決しようとする課居] しかし、この方法はロボット間の優先順位を切り替えつ
つ、何度もシミュレーション作業を繰り返すことにより
作業時間を測定しているため、比較的長時間を要するも
のである0例えばロボットの数が2台であれ(L 少な
くとも2 (2! )回のシミュレーション処理が必要
であり、3台では6(3り回、4台であれば24 (4
j )回ものシミュレーション処理が必要となる。しか
もこのようにロボットの数が増加すればするほど急激に
シミュレーション作業の回数が増加する。
[The problem that the invention aims to solve] However, this method requires a relatively long time because it measures the work time by repeating the simulation work many times while switching priorities between robots. For example, even if the number of robots is 2 (L), at least 2 (2!) simulation processes are required, for 3 robots it is 6 (3 times), and for 4 robots it is 24 (4
j) Simulation processing is required several times. Moreover, as the number of robots increases, the number of simulation tasks increases rapidly.

更にシミュレーション後の選択基準は「最短の作業時間
」であるが、もともとシミュレーションにて変更できる
パラメータはロボットの優先順位にある。 しかも各シ
ミュレーション作業中はその個々の作業も一律の優先順
位lこ固定されて作業がなされる。従って作業毎のきめ
細かい検討がなされていないため、各ロボットへのバラ
ンスのよい作業時間配分が実現されることは少なく、優
先順位の全組合せを実行したとしても、得られた作業時
間データの中に真に最短の時間あるいはそれに近い作業
時間が存在するとは限らない。
Furthermore, although the selection criterion after the simulation is "the shortest work time," the parameters that can be changed in the simulation are the priorities of the robot. Furthermore, during each simulation task, each task is performed with a fixed priority order. Therefore, since detailed consideration has not been made for each task, it is rare that a well-balanced allocation of work time to each robot is achieved, and even if all combinations of priorities are executed, the obtained work time data may There is no guarantee that there is a true shortest working time or a shortest working time.

従って教示データとしての動作プログラム作成の効率が
悪いととも(:、各ロボットの作業時間をバランスよく
配分して作業時間を最短にする動作プログラムを得るこ
とは不可能に近かった机上で検討する場合もあるが、試
行錯誤による分配作業の繰り返しにより、膨大な時間や
労力を費やすとともに その割には効率的な動作プログ
ラムは得られない。
Therefore, it is not efficient to create a motion program as teaching data (:, it is almost impossible to obtain a motion program that minimizes the work time by distributing the work time of each robot in a well-balanced manner.) However, the repeated distribution work through trial and error consumes a huge amount of time and effort, and it is not possible to obtain an efficient operating program.

従って従来の方法は動作プログラムの質が悪くしかも作
成効率も低いものであった 及艶立且滅 そこで、本発明(友 複数ロボット稼動における、上記
課題を解決することを目的とし、次のような構成を採用
しム [課題を解決するための手段] 即ち、本発明の要旨とするところ(友 第1図の基本的
構成図に例示するごとく、 各作業領域の少なくとも一部が重なるよう配置された複
数のロボットと、作業領域内に設定された教示点とを対
応づけて、複数ロボットが同時に作業するための教示デ
ータを作成する方法であって、 各教示点毎にロボットを選択し、シミュレーションにて
作業させて行<(Pi)ことにより、各ロボット毎の作
業時間を算出して行< (P2)と共に、 少なくとも2つのロボットの動作域が重なっている作業
領域内の教示点に対するロボットの選択に際して(よ 
その選択の、時点で作業時間が最短のロボットを選択す
る(PI−1)ことを特徴とする複数ロボットの教示デ
ータ作成方法にある。
Therefore, in the conventional method, the quality of the motion program was poor and the creation efficiency was low, and the present invention was aimed at solving the above problems in the operation of multiple robots. [Means for Solving the Problems] That is, the gist of the present invention is to adopt a configuration in which each work area is arranged so that at least a part of it overlaps, as illustrated in the basic configuration diagram in FIG. This method creates teaching data for multiple robots to work at the same time by associating multiple robots with teaching points set in a work area. Calculate the working time for each robot by (P2) and calculate the robot's working time for the teaching point in the work area where the motion ranges of at least two robots overlap. When choosing
The method of creating teaching data for a plurality of robots is characterized in that the robot with the shortest working time is selected at the time of selection (PI-1).

[作用] ロボットの作業領域が重複しない部分の教示点における
ロボットの選択(PI−2)I上  例えば予め設定さ
れた順序に従って該当するロボットを選択したり、ある
いは所定の規則によって該当するロボットを選択するこ
とによりなされる。そしてそのロボットにシミュレーシ
ョンで作業を実施(PI−3)させその作業時間をロボ
ット毎に累積して行<  (P2)。
[Operation] Selection of robots at teaching points in areas where robot work areas do not overlap (PI-2) I For example, select the applicable robot according to a preset order, or select the applicable robot according to a predetermined rule. done by doing. Then, the robot is made to perform the work in simulation (PI-3), and the work time is accumulated for each robot (P2).

ロボットの作業領域が重複する部分の教示点におけるロ
ボットの選択(Pl−1)E  繰り返し実行されてい
る上記作業時間の算出処理(P2)で既に求められてい
る各ロボットの作業時間を基準としてなされる。即ち、
最短の作業時間であるロボットを選択することによりな
される。
Selection of robots at teaching points in areas where robot work areas overlap (Pl-1) Ru. That is,
This is done by selecting the robot with the shortest working time.

従って、常に累積されている各作業時間が均一になるよ
うに教示点とその作業をするロボットとが対応づけられ
て行く、こうして短くかつ作業時間のバランスがよい教
示データ(動作プログラム)が迅速に得られる。
Therefore, the teaching points and the robots that perform the work are associated in such a way that the accumulated work time is always uniform, and in this way the teaching data (movement program) that is short and has a good balance of work time can be quickly created. can get.

[実施例] 次1:、本発明の詳細な説明する0本発明はこれらに限
られるものではなく、その要旨を逸脱しない範囲の種々
の態様のものが含まれる。
[Example] Next 1: Detailed explanation of the present invention The present invention is not limited to these, but includes various embodiments without departing from the gist thereof.

第2図(友 本発明の方法を実現しているシミュレーシ
ョン装置の一例を表すシステム構成図である。
FIG. 2 is a system configuration diagram showing an example of a simulation device that implements the method of the present invention.

シミュレーション装置1(上 一般的なノイマン型ディ
ジタルコンピュータ3を中心として構成されている。こ
のコンピュータ3はCPU、ROM。
Simulation device 1 (top) It is mainly composed of a general Neumann type digital computer 3. This computer 3 has a CPU and a ROM.

RAM、  Ilo、  バス等により構成されている
が、一般的な構成であるのでその内部の詳細説明は省略
する。このコンピュータ3に(友 出力装置としてCR
T 5.  プリンタ7が、補助記憶装置としてフロッ
ピィディスク装置9.ハードディスク装置11が、入力
装置としてキーボード13が、接続されている。
It is composed of RAM, Ilo, bus, etc., but since it is a general configuration, a detailed explanation of the inside will be omitted. This computer 3 (friend) has CR as an output device.
T5. The printer 7 uses a floppy disk device 9 as an auxiliary storage device. A keyboard 13 is connected to the hard disk device 11 as an input device.

本発明の実施例方法の手順1社 本コンピュータ3のR
AM中に ハードディスク装置11からプログラムとし
て読み込まれている。コンピュータ3はこのプログラム
に従い、フロッピィディスク装置9に記憶されている教
示点の位置・姿勢データを読み込み、更にハードディス
ク装置11中に記憶されている各ロボットの作動性能デ
ータと形状データとを読み込む0次いで、最短の作業累
積時間を基準にして教示点の作業をするロボットを選択
する。そしてそのロボットのアーム等の動作を計算でシ
ミュレーションすると共に ロボットの作業時間を累積
している。教示点の位置・姿勢データは主にその三次元
座標とアーム先端の溶接トーチの位置(位置データ)と
溶接トーチ方向(姿勢データ)とを表すデータからなり
、他に次に述べるデータも付加されている。
Procedure of the embodiment method of the present invention 1 Company R of the present computer 3
It is read as a program from the hard disk device 11 during AM. In accordance with this program, the computer 3 reads the position and orientation data of the teaching points stored in the floppy disk device 9, and further reads the operational performance data and shape data of each robot stored in the hard disk device 11. , the robot to perform the work at the teaching point is selected based on the shortest cumulative work time. The motion of the robot's arms, etc. is then simulated using calculations, and the robot's working time is accumulated. The position/orientation data of the teaching point mainly consists of data representing its three-dimensional coordinates, the position of the welding torch at the tip of the arm (positional data), and the direction of the welding torch (orientation data), and the following data is also added. ing.

例えIL  教示点は第3図<a>に黒丸印で表すよう
1m、  ワークW(ここでは自動車ボディ)に沿って
与えられている。またその教示点毎のデータ構造(飄 
第3図(b)に示すごとく、三次元座標上の位置・姿勢
データd1、その教示虚名(教示点NQ)d2、到達可
能ロボットの+Dd3及び占有フラグd4から構成され
ている。  IDd3はロボット識別用の符号を表し、
占有フラグd4は後述する作業配分処理(第6図)にて
選択されたロボットのIDが付与されるフラグを表して
いる。
For example, the IL teaching point is given along the workpiece W (in this case, the car body) at a distance of 1 m, as shown by the black circle in Fig. 3 <a>. Also, the data structure for each teaching point (
As shown in FIG. 3(b), it is composed of position/orientation data d1 on three-dimensional coordinates, its taught false name (taught point NQ) d2, +Dd3 of reachable robots, and occupancy flag d4. IDd3 represents a code for robot identification,
The occupancy flag d4 represents a flag to which the ID of the robot selected in the work distribution process (FIG. 6), which will be described later, is assigned.

i  1Dd3及び占有フラグd 4 F上  後述す
る作業割付処理にて決定されるデータであるので、当初
は設定されていない。
i1Dd3 and occupancy flag d4F upper This data is determined in the work allocation process described later, so it is not initially set.

シミュレーション装置1にて1社 教示点位置を該当す
るロボットが順に溶接あるいはスプレー作業しながら辿
ってゆく処理が、計算上なされるのである。そして各教
示点の作業が終了する毎に該当ロボットの作業時間に教
示点の作業時間が累積されて行く、この累積を全教示点
について終了するまで繰り返し、各ロボットの全作業時
間を得もこの計算処理の際 キーボード13からの指示
によってCRTS上に、シミュレーション計算に応じた
、ワークとロボットとの立体画像を逐次表示させること
もできる。
In the simulation device 1, a process is performed in which the corresponding robot sequentially traces the teaching point position of one company while performing welding or spraying work. Then, each time the work at each teaching point is completed, the working time of the teaching point is accumulated in the working time of the corresponding robot.This accumulation is repeated until all teaching points are completed, and the total working time of each robot is obtained. During calculation processing, three-dimensional images of the workpiece and robot can be sequentially displayed on the CRTS according to instructions from the keyboard 13 according to simulation calculations.

このような複数のロボットの作動性能データ・形状デー
タと、通過すべき教示点データ(位置データ、ノズル方
向データ等)に基づき、シミュレーションを実施するC
ADプログラム(上 市販されているものを用いること
ができ、例えばIBM社製の商品名rCAT I AJ
、  三井造船evI製の商品名rCIM−8TAT 
l0NJが挙げられる。
C, which performs simulations based on the operational performance data and shape data of multiple robots, and the teaching point data to be passed (position data, nozzle direction data, etc.)
AD program (above) A commercially available program can be used, for example, IBM's product name rCAT I AJ.
, Product name rCIM-8TAT manufactured by Mitsui Engineering & Shipbuilding evI
One example is 10NJ.

次に、上記シミュレーション装置]で得られる動作プロ
グラム(教示データ)が適用される溶接用ロボットの、
自動車ボディ溶接ライン内での配置を゛第4図に示す。
Next, the welding robot to which the operation program (teaching data) obtained by the above-mentioned simulation device is applied,
The arrangement within an automobile body welding line is shown in Figure 4.

ライン上を移動してきて、ブース内に搬入された自動車
ボディ15のエンジンルーム15a側に1社 左右2台
の溶接用ロボット17.19が、後部のラゲージルーム
15b側には左右2台の溶接用ロボット21.23が配
置されている。各ロボット17〜231友 ロボット制
御装置31,33゜35.37を備え、各ディスク装置
31a、33a、35a、37aに装填されたフロッピ
ィに記憶された動作プログラムに応じて、そのアームを
移動させたり溶接トーチを作動させたり、またティーチ
ングボックスを介して操作者から教示されたデータをフ
ロッピィに記憶したりする。
Two welding robots 17 and 19 are placed on the engine room 15a side of the automobile body 15 that has been moved on the line and brought into the booth, and two left and right welding robots 17 and 19 are placed on the rear luggage room 15b side. Robots 21.23 are placed. Each robot 17 to 231 is equipped with a robot control device 31, 33° 35.37, and moves its arm according to the operation program stored in the floppy disk loaded in each disk device 31a, 33a, 35a, 37a. It operates the welding torch and stores data taught by the operator via the teaching box on a floppy disk.

前部2台のロボット17.19の点線で示す動作範囲1
78.19Sl&  各々エンジンルーム15a側をカ
バーしている。後部のロボット21゜23の動作範囲2
1S、23Sについても同様である。それらの動作範囲
173〜23Sは部分的に重複している。
Motion range 1 shown by the dotted line of the front two robots 17.19
78.19Sl& Each covers the engine room 15a side. Rear robot 21°23 operating range 2
The same applies to 1S and 23S. Their operating ranges 173-23S partially overlap.

溶接用ロボット17〜23は良く知られた多関節形ロボ
ットで、骨格部分1社 台風 第1アーム第2アーム及
び溶接トーチからなり、これらの各骨格は所定の駆動部
にて旋回等の動作を可能としている。
The welding robots 17 to 23 are well-known articulated robots, consisting of a skeleton part, a first arm, a second arm, and a welding torch, and each of these skeletons can perform movements such as turning by a predetermined drive part. It is possible.

上記ロボット17〜23は第1表のような作動性能を有
する。句法 用途に応じて種々の作動性能のロボットを
個々に選択して用いることが出来る。
The robots 17 to 23 have operating performance as shown in Table 1. Phrases: Robots with various operating performance can be individually selected and used depending on the purpose.

第1表 二の第1表のデータが作動性能データの一部として、形
状データとともに シミュレーション装置1のハードデ
ィスク装置]1に記憶されている。
The data in Table 1 in Table 1 and Table 2 are stored in the hard disk drive 1 of the simulation device 1 as part of the operating performance data together with the shape data.

ボディ15に対する教示作業はロボット制御装置31〜
37を介して、ティーチングボックス31b〜37bに
て行われる。
The teaching work for the body 15 is performed by the robot control devices 31 to 31.
37, and the teaching boxes 31b to 37b.

本実施例で(友 操作者(よ 予めボディ15の溶接部
分を適当なロボット17〜23を選択して教示作業をし
、そのデータを対応するディスク装置31a〜37a中
のフロッピィに記憶する。複数のフロッピィに記憶した
場合は1つの共通座標に変換して全教示点を共通の位置
・姿勢データとして作成する。
In this embodiment, the operator selects in advance a suitable robot 17-23 for the welding part of the body 15 and performs a teaching operation, and the data is stored in a floppy disk in the corresponding disk device 31a-37a. If it is stored on a floppy disk, it is converted to one common coordinate and all teaching points are created as common position/orientation data.

この他の位置・姿勢データ作成方法として、既にボディ
15の形状データが存在すれ(戴 そのデータに基づい
て教示点をシミュレーションあるいは単なる計算で決定
し、位置・姿勢データを作成してもよい。
As another method of creating position/orientation data, if shape data of the body 15 already exists, teaching points may be determined by simulation or simple calculation based on that data, and position/orientation data may be created.

上述のごとく位置・姿勢データが作成されることにより
、シミュレーション装置1にて、シミュレーションの実
行が可能となる。
By creating the position/orientation data as described above, it becomes possible for the simulation device 1 to execute a simulation.

以下、シミュレーションによる作業割付処理について、
第5図のフローチャートに基づいて説明する。このフロ
ーチャートの処理1社 ハードディスク装置11内に記
憶されているプログラムを、コンピュータ3のRAM内
に読み込むことによって実行される。
Below, regarding the work allocation process by simulation,
This will be explained based on the flowchart shown in FIG. Processing of this flowchart is executed by reading a program stored in the hard disk device 11 into the RAM of the computer 3.

シミュレーション装置1が立ち上げられると、ハードデ
ィスク装置11から作業割付処理用のプログラムが読み
込ま札 続いてそのプログラムに従った処理が開始され
る。
When the simulation device 1 is started up, a program for work allocation processing is read from the hard disk device 11 and processing according to the program is then started.

まず、RAM内のワークエリアへ必要なデータが読み込
まれる(ステップ90)、必要なデータと1友 既にハ
ードディスク装置11中に記憶されている各種ロボット
の形状及び作動性能データのへ 今回シミュレーション
にて作業を割り付けたいロボット機種のデータ及び自動
車ボディ15の形状データ、更に既に教示作業にて得ら
れている第3図(b)に示した教示点毎の位置・姿勢デ
ータである。
First, the necessary data is read into the work area in the RAM (step 90), and the necessary data and the shape and operating performance data of various robots already stored in the hard disk drive 11 are used for this simulation. These are the data on the robot model to which the data is to be assigned, the shape data of the automobile body 15, and the position/orientation data for each teaching point shown in FIG. 3(b), which have already been obtained in the teaching work.

砥 第3図(b)のような、位置・姿勢データがあれI
Cそのデータを教示作業して得たロボットと今回シミュ
レーションするロボット17〜23とは異なっていても
構わない。この点で位置・姿勢を表すデータには汎用性
がある。即ち、シミュレーションの結果、ロボットの機
種が不都合であれ(fS  直ちに他の機種に変更して
シミュレーションすることが出1i、、機種の決定にも
役立つ。
If there is position/orientation data as shown in Figure 3(b),
C The robot obtained by teaching the data and the robots 17 to 23 to be simulated this time may be different. In this respect, data representing position/orientation has versatility. That is, even if the model of the robot is inconvenient as a result of the simulation (fS), it is possible to immediately change to another model and perform the simulation (1i), which is also useful in determining the model.

ロボット制御装置31〜37側でのデータフォーマット
がシミュレーション装置1側のデータフォーマットと適
合しない場合1iRAMに読み込むに際して、フォーマ
ット変換処理をして読み込む。
If the data format on the robot control devices 31 to 37 side does not match the data format on the simulation device 1 side, 1iWhen reading the data into the RAM, a format conversion process is performed and the data is read.

次に読み込まれた各教示点に対して、それが溶接作業が
可能な到達可能教示点か否かを、各ロボット17〜23
毎にシミュレーションにより、あるいは単に各ロボット
毎の既知の到達可能領域内に存在するかによって決定す
る(ステップ100)。この場合、単にロボット17〜
23の溶接トーチの移動可能な座標位置のみでなく、実
際に溶接作業がその教示点で出来るように アーム及び
溶接トーチの姿勢、ロボット17〜23とボディ15と
の干渉、あるいはアームとその先端の溶接トーチとの干
渉等を考慮して到達可能か否かを決定することになる。
Next, for each read teaching point, each robot 17 to 23 determines whether or not it is an reachable teaching point where welding work can be performed.
Each robot is determined by simulation or simply by whether it is within a known reachable area for each robot (step 100). In this case, simply robot 17~
Not only the movable coordinate position of the welding torch 23, but also the posture of the arm and welding torch, interference between the robot 17 to 23 and the body 15, or the position of the arm and its tip so that the welding work can actually be performed at the teaching point. It is determined whether or not it is reachable, taking into account interference with the welding torch.

具体的に(よ ロボット17〜23が通常実施する座標
の逆変換(目標位置及び姿勢データからロボット各軸の
角度への変換)を行い、各軸値が動作可能か否かの判断
をさせることや、ロボットの各アーム 溶接トーチ等の
ツール、ツールブラケット、ワーク(ボディ15)等の
個々の物体の位置関係を求め、干渉チエツクをして判断
することにより行う。
Specifically, the robots 17 to 23 perform the inverse coordinate transformation (conversion from target position and posture data to the angle of each axis of the robot) and determine whether each axis value is operable or not. This is done by determining the positional relationships of individual objects such as the arms of the robot, tools such as welding torches, tool brackets, and workpieces (body 15), and checking for interference.

このことにより、第3図(b)に示した各教示点毎に設
定されているデータ内の到達可能ロボツ)IDのデータ
配列に 到達するすべてのロボットのIDが記入される
As a result, the IDs of all the robots that reach the robot are entered in the data array of reachable robot IDs in the data set for each teaching point shown in FIG. 3(b).

例えば第7図に゛黒丸印にて示すごとく、教示点が配置
されているとする。この全教示点のデータに到達可能な
ロボット17〜23のID(A、B。
For example, assume that the teaching points are arranged as shown by black circles in FIG. IDs (A, B) of robots 17 to 23 that can reach the data of all teaching points.

C,D)を記入すると、各黒丸印に沿って記載されてい
るIDのごとくとなる。即ち、ロボット17のみが到達
できる教示点にはI”A4のIDのみが記入される。2
台のロボット17.19のみが到達できる教示点にはr
AJ及びrBJのIDが記入される。このようにして、
到達できるロボット17〜23に応じてその教示点の位
置・姿勢データにIDが単数または複数記入される。
If you fill in C and D), it will look like the ID written along each black circle. That is, only the ID of I''A4 is written at the teaching point that can only be reached by the robot 17.2
The teaching point that can only be reached by robot 17.19 is r.
The IDs of AJ and rBJ are entered. In this way,
Depending on the robots 17 to 23 that can be reached, one or more IDs are entered in the position/orientation data of the teaching point.

第7図の内容は直接、CRT5に平面図として表示して
もよL〜 更にその表示において、到達できるロボット
17〜23の種類により教示点及びDの色分けを行って
、操作者に対して識別し易くしてもよい。
The contents of Fig. 7 may be displayed directly on the CRT 5 as a plan view.Furthermore, in the display, the teaching points and D are color-coded depending on the type of robots 17 to 23 that can be reached, so that the operator can identify them. You can make it easier.

次に教示点データを分類する(ステップ200)、例え
[′L 位置・姿勢データに記入されたIDによって分
類する。  IDが「A」のみの教示点、 「A」及び
rBJのみの教示点、といったように分類する。第7図
の例で(九 分類IE、  [A]、  [B][C]
、   [D]、   [AB]、   [AC]、 
  [AD][BD]、  [CD]、  [ABC]
、  [ACD]の11種類となる。この種類を表す各
領域(教示点集合)を以下「モジュール」と呼び、順に
M1〜Mllの符号で区別する。
Next, the teaching point data is classified (step 200), for example, by the ID written in the position/orientation data. The teaching points are classified into teaching points whose ID is only "A", teaching points whose ID is only "A" and rBJ, and so on. In the example of Figure 7 (9 Classification IE, [A], [B] [C]
, [D], [AB], [AC],
[AD] [BD], [CD], [ABC]
, [ACD]. Each region (teaching point set) representing this type is hereinafter referred to as a "module", and is sequentially distinguished by symbols M1 to Mll.

次に各モジュールM1〜M]1毎にその作業経路を設定
する(ステップ300)。作業経路は教示点を順序づけ
ることである0例えば座標上の教示点配列の末端部分か
ら開始して、隣接する教示点を辿って行くことによりそ
の経路を設定する。
Next, a work route is set for each module M1 to M]1 (step 300). The working path is to order the teaching points. For example, starting from the end of the teaching point array on the coordinates, the path is set by tracing adjacent teaching points.

分岐している部分(上 直進方向を優先して経路を形成
し、分岐部について(よ 直進部分を終了した後に辿っ
て行っても良いし、また直進していない分岐部分を優先
して辿り、その分岐の末端に至れば再度分岐の付は根に
戻って、直進部分を辿るようにしてもよい。更に コン
ピュータ3にすべて処理させるのではなく、分岐部など
に至った場合に1友 コンピュータ3側から操作者に分
岐の選択の指示を要求するようにしてもよいし、経路の
全てを操作者に入力させるようコンピュータ3側から要
求するようにしてもよい。こうして例えば第8図の矢印
ごとくに経路が設定される。尚、第8図において、各領
域で丸で囲っである教示点が始点あるいは終点であり、
その教示点のみ符号が付与しである。その始点と終点と
の間の教示点には連続的に符号が付与されているものと
する。また矢印は単に経路の捺続状態を示しているのみ
であり、矢印の順方向のみでなく、逆方向も作業経路と
して選択できる。
You can form a route by giving priority to the branching part (above), and follow the branching part (Yo) after completing the straight-ahead part, or you can give priority to the branching part that is not going straight, and When you reach the end of the branch, you may return to the root of the branch and follow the straight part.Furthermore, instead of having Computer 3 process everything, when you reach a branch, you can use one friend.Computer 3 The computer 3 may request the operator to select a branch, or the computer 3 may request the operator to input the entire route. The route is set.In addition, in Fig. 8, the teaching point circled in each area is the starting point or the ending point.
Only the teaching point is given a code. It is assumed that codes are continuously assigned to the teaching points between the starting point and the ending point. Further, the arrows simply indicate the continuous state of the route, and not only the forward direction of the arrow but also the reverse direction can be selected as the work route.

次に経路に沿って動作するモジュールM1〜M11単位
の予備的動作プログラムを各ロボット17〜23毎に作
成を操作者に要求する(ステップ400)。
Next, the operator is requested to create a preliminary operation program for each of the modules M1 to M11 that operates along the route for each robot 17 to 23 (step 400).

この要求により操作者(よ モジュールM1〜M4に対
して(戴 対応したロボット17〜23の予備的動作プ
ログラムを各1つ作成する。この他のモジュールM5〜
Mllについて(志 到達可能なロボット毎に予備的動
作プログラムが複数作成される。
Based on this request, the operator creates one preliminary operation program for each of the corresponding robots 17-23 for the modules M1-M4.
Regarding Mll (Ambition) Multiple preliminary movement programs are created for each reachable robot.

例え(戴 第9図に拡大して示すモジュールM10にお
いて1九 ロボット17. 19.23の共通の作業領
域であるので、そのロボット17,19゜23毎の3つ
の予備的動作プログラムが作成される。
For example, in module M10, which is shown enlarged in Figure 9, it is a common work area for robots 17, 19, and 23, so three preliminary motion programs are created for each of the robots 17, 19, and 23. .

ロボット17についてli  TplO−7を始点とし
てT PIG−1までの予備的動作プログラムが次のよ
うに作成される。まず「■教示点T I)10−7へ速
度Val、加速度Aalで直線で移気 ■溶接動イ乞 
■教示点T 910−6へ速度Va2、加速度As2で
直線で移気 ■溶接動作■教示点TplO−5へ速度V
a3、加速度As2で直線で移気 ■叫・・」 という
ように教示点毎の動作が組み合わされた動作プログラム
が作成される。また一般的なロボット言語を用いて記述
してもよい。ただし、予備的動作プログラム(よ 後述
する作業配分処理(ステップ600)で教示点毎に取捨
選択されるため、教示点単位で削除・追加・変更出来る
ようなプログラム構造にしておく。
A preliminary motion program for the robot 17 starting from li TplO-7 and ending with T PIG-1 is created as follows. First, move in a straight line to the teaching point T I) 10-7 at speed Val and acceleration Aal.
■Transfer in a straight line to teaching point T 910-6 at speed Va2 and acceleration As2 ■Welding operation ■Speed V to teaching point TplO-5
A3, moving in a straight line with acceleration As2 ■Shout...'' A motion program is created in which motions for each teaching point are combined. It may also be written using a general robot language. However, since the preliminary operation program (see below) is selected for each teaching point in the work distribution process (step 600) to be described later, the program structure should be such that it can be deleted, added, or changed in units of teaching points.

ロボット19.23についても、教示点Toto−7か
ら教示点T plO−1に至る予備的動作プログラムが
作成される。低 ロボットの配置、モジュールの作業順
序等によって(上 逆に教示点T plO−1から教示
点T plO−7に至る予備的動作プログラムが作成さ
れる場合もある0例えばモジュールMl1等(社ロボッ
ト17.23とロボット21とでは動作方向を逆に選択
している。
A preliminary motion program is also created for the robot 19.23 from the teaching point Toto-7 to the teaching point TplO-1. Low Depending on the arrangement of the robot, the work order of the modules, etc. (on the contrary, a preliminary operation program from teaching point T plO-1 to teaching point T plO-7 may be created. For example, module Ml1, etc. .23 and robot 21 have opposite operating directions selected.

また、ロボット17. 19.23の配置により、途中
に障害物Fが存在し直接に教示点TplO−7−Tpl
O−6間を移動できないような場合に1よ 第9図のご
とく逃げ点Hpを設けて、教示点TplO−7−7゜1
0−6間を移動する際にはその逃げ点Hpを通過するよ
うに予備的動作プログラムを作成してもよい。
Also, robot 17. 19. Due to the arrangement of 23, there is an obstacle F on the way and the teaching point TplO-7-Tpl
If it is not possible to move between O-6 and 1, an escape point Hp is provided as shown in Figure 9, and the teaching point TplO-7-7°1 is set.
A preliminary operation program may be created so that when moving between 0 and 6, the escape point Hp is passed through.

このようにして全モジュールM1〜Mllについて、到
達可能なロボット17〜23毎に予備的動作プログラム
を作成する。臥 予備的動作プログラムの作成は単に操
作者が自ら実施するのみでなく、コンピュータ3に自動
作成させてもよLX。
In this way, a preliminary operation program is created for each reachable robot 17-23 for all modules M1-Mll. The preliminary operation program can be created not only by the operator himself, but also by the computer 3 automatically.

例えIL  既にコンピュータ3はロボット17〜23
の性能データを得ているので、その性能データに従って
ロボット17〜23の動作を、シミュレーションして干
渉等の不具合がなければその動作を予備的動作プログラ
ムとして自動的に登録してもよい。
IL: Computer 3 is already robot 17-23
Since performance data has been obtained, the motions of the robots 17 to 23 may be simulated according to the performance data, and if there are no problems such as interference, the motions may be automatically registered as a preliminary motion program.

またこのシミュレーションを操作者がCRT 5にて観
察できるようにして、不良な動作は操作者の指示により
予備的動作プログラムとして採用せず、再度動作条件を
変えて、シミュレーションし直すようにしてもよい。
Additionally, the operator may be able to observe this simulation on the CRT 5, and if there is a defective operation, the operator may instruct the operator to change the operation conditions and re-simulate instead of adopting it as a preliminary operation program. .

次に各ロボット17〜23に対して、その作業対象モジ
ュールM1〜Mllの作業順序を決定し、その順序でモ
ジュール毎の予備的動作プログラムをロボット17〜2
3毎に一体化しC一連の予備的動作プログラムを作成す
る(ステップ5oo)。
Next, for each robot 17-23, the work order of the work target modules M1-Mll is determined, and in that order, the preliminary operation program for each module is transmitted to the robots 17-23.
3 to create a series of preliminary operation programs (step 5oo).

このロボット17〜23毎(ニ一体化された予備的動作
プログラムの構造体S^、 s s、 s c、 s 
oを第10図(a)〜(d)に示す。
Each of these robots 17 to 23 (integrated preliminary movement program structure S^, s s, s c, s
o is shown in FIGS. 10(a) to (d).

即ち、ロボット17について(上 6つのモジュー/L
、Ml、M5.M6.M7.Mho、M17が実行可能
である。従って、例えばrMl−MS−。
That is, for robot 17 (upper 6 modules/L
, Ml, M5. M6. M7. Mho and M17 are executable. Thus, for example rMl-MS-.

M 10−M 7−M 11−M 6 Jの順に実行す
ると決定し、各モジュール毎に作成しであるロボット1
7の6つの予備的動作プログラムを、第10図(a)の
ごとくの一連の予備的動作プログラム構造体S^として
一体化する。またロボット191;ついてはrM 2−
M S−M 10−M 8J、ロホット21については
rM3−M6−Ml 1−M9J、ロボット23につい
てはrM4−M8−M 10−M7−M 11−M9J
 というように、モジュールの実行順序を決定し、第1
0図(b)、  (C)。
It is decided to execute in the order of M 10 - M 7 - M 11 - M 6 J, and robot 1 is created for each module.
The six preliminary operation programs of No. 7 are integrated into a series of preliminary operation program structures S^ as shown in FIG. 10(a). Also robot 191; rM 2-
M S-M 10-M 8J, rM3-M6-Ml 1-M9J for Rohot 21, rM4-M8-M 10-M7-M 11-M9J for Robot 23
The execution order of the modules is determined, and the first
Figure 0 (b), (C).

(d)のごとくの一連の予備的動作プログラム構造体S
 B、 S C,S Dとして一体化する。
A series of preliminary operation program structures S as shown in (d)
Unify as B, SC, and SD.

尚、各構造体S^〜SDにおける1IkL(以下プログ
ラム階という)は教示点毎の単位動作プログラムに付与
された連続番号を表し、その順番は各構造体S A −
S Dでの実行順序を表している。
Note that 1IkL (hereinafter referred to as program floor) in each structure S^~SD represents a consecutive number assigned to a unit operation program for each teaching point, and the order is as follows for each structure S A -
It represents the execution order in SD.

このモジュールの実行順序1t、CRT5の表示を見な
がら操作者が決定してもよいが、コンピュータ3によっ
て、ロボット動作において最短距離である終点と始点と
を異なるモジュールから選択する方法によって、順次 
モジュールの結合状態を決定することにより、実行順序
を決定してもよい。ただし、各ロボット17〜23のみ
が動作可能なモジュールMl、M2.M3.M4につい
て(L  そのロボットしか作業できないので、各構造
体S A、 S B、 S C,S Dに示すように 
最初の作業として選択する。
The execution order of the modules 1t may be determined by the operator while looking at the display on the CRT 5, but the computer 3 may sequentially select the end point and start point, which are the shortest distances in the robot operation, from different modules.
The execution order may be determined by determining the connection state of the modules. However, only the modules M1, M2. M3. Regarding M4 (L Since only that robot can work, each structure S A, S B, S C, S D
Select as your first task.

構造体S A −S Dは、前記のごとく配列されたモ
ジュールM1〜M]1と、その中の教示点毎の単位動作
プログラム及び占有フラグとから構成されている。この
配列順序は実行順序に該当する。
The structures S A to S D are composed of modules M1 to M]1 arranged as described above, and unit operation programs and occupancy flags for each teaching point therein. This arrangement order corresponds to the execution order.

ただし、前述のごとく、占有フラグ(よ 予備的動作プ
ログラムが作成された時点で(飄 すべで未定である。
However, as mentioned above, the occupancy flag (at the time the preliminary operation program is created) is undecided.

また、占有フラグは教示点に付随し、構造体が異なって
も同一の教示点に対して共通のIDが付与される。した
がって、例え(ヱ ロボット17について設定されてい
る第10図(a)の構造体SA内のモジュールM10の
教示点TplO−7(プログラムNCL37)にrAJ
が設定された場合、ロボット19について設定されてい
る第10図(b)の構造体’SRのモジュールMIOの
教示点TplO−7(プログラム山21)にも「A」が
同時に設定さね ロボット23について設定されている
第10図(d)の構造体SDのモジュールM10の教示
点TplO−7(プログラムNc16)にもrA、1が
同時に設定される。
Further, the occupancy flag is attached to the teaching point, and a common ID is given to the same teaching point even if the structures are different. Therefore, for example (e) rAJ is set at the teaching point TplO-7 (program NCL37) of the module M10 in the structure SA of FIG. 10(a) set for the robot 17.
is set, "A" is also set at the same time at the teaching point TplO-7 (program stack 21) of the module MIO of the structure 'SR in FIG. 10(b), which is set for the robot 19. At the same time, rA,1 is also set at the teaching point TplO-7 (program Nc16) of the module M10 of the structure SD in FIG. 10(d).

次に、各ロボット17〜23に作業を配分して、占有フ
ラグを決定して行く処理(ステップ600)について説
明する。
Next, the process (step 600) of allocating work to each robot 17 to 23 and determining the occupancy flag will be described.

この作業配分処理の詳細を第6図のフローチャートに示
す、まず、各ロボット17〜23毎にRAM中に設けら
れた4つのエンドフラグFel、Fe2.  F e3
.  F e4を各構造体S A、 S B、 S C
,S Dの先頭にセラ1−する(ステップ605)、即
ち、第10図(a)、  (b)、  (C)、  (
d)のプログラム叱1の教示点T pi−25,T p
2−1. T p3−1. T p4−1部分にセット
する。次に占有フラグが決定されていない教示点が存在
するか否かが、4つの構造体5A−8Dをすべて検索す
ることにより判定される。
The details of this work distribution process are shown in the flowchart of FIG. 6. First, four end flags Fel, Fe2, . F e3
.. F e4 to each structure S A, S B, S C
, S D (step 605), that is, FIGS. 10(a), (b), (C), (
d) Program teaching point 1 T pi-25, T p
2-1. T p3-1. Set in the T p4-1 section. Next, it is determined whether or not there is a teaching point for which the occupancy flag has not been determined by searching all four structures 5A-8D.

1つでも占有フラグが決定されていない教示点が存在す
れ[ヱ 肯定判定される。
If there is even one teaching point for which the occupancy flag has not been determined, an affirmative determination is made.

最初は全教示点について占有フラグが決定していないの
で、肯定判定されて、次に作業累積時間最短のロボット
が選択される。作業累積時間は各ロボット17〜23毎
にRAM中のメモリに設定されている。最初は全てのロ
ボット17〜23の作業累積時間がrQJであるので、
予め設定しである優先順位にて以下の処理を実施するロ
ボットを選択する。本実施例で(よ ロボット17が最
優先とし、以下ロボット19. 21. 23の順で優
先順位が設定しである。
Initially, since the occupancy flags have not been determined for all teaching points, an affirmative determination is made and the robot with the shortest accumulated work time is then selected. The cumulative work time is set in the memory in the RAM for each robot 17-23. Initially, the cumulative work time of all robots 17 to 23 is rQJ, so
A robot to perform the following processing is selected in a preset priority order. In this embodiment, robot 17 has the highest priority, and the following priority orders are set in the order of robots 19, 21, and 23.

従って、ロボット17を選択して以下の処理(ステップ
620〜675)を実施する。
Therefore, the robot 17 is selected and the following processing (steps 620 to 675) is performed.

まず、エンドフラグFelが指し示す、構造体SAの教
示点の占有フラグの内容が判定される(ステップ620
)、  その占有フラグ=「0」であれ1ヱ その占有
フラグにロボット17のIDrAJを設定する(ステッ
プ625)。
First, the content of the occupancy flag of the teaching point of the structure SA pointed to by the end flag Fel is determined (step 620
), even if its occupancy flag is "0", it is set to IDrAJ of the robot 17 (step 625).

次にロボット17の作業累積時間を更新する(ステップ
630)、  即ち、現在のロボット17の姿勢・位置
からその教示点に移動させてそこでの作業を終了するま
での作業時間がシミュ1ノージョンにて求めら札 その
時間が前回までに累積されている作業累積時間に加算さ
れる。
Next, the cumulative work time of the robot 17 is updated (step 630), that is, the work time from the current posture/position of the robot 17 to the point where it is moved to the teaching point and the work there is completed is updated in Simulation 1. Requested tag The time will be added to the cumulative work time accumulated up to the previous time.

次にそのエンドフラグFelが1ステツプ更新される(
ステップ635)。例え(ヱ 構造体SAのプログラム
F4CL1  (教示点T pi−25)をエンドフラ
グFelが指し示していれ1′L 1ステツプの更新に
より、エンドフラグFelはプログラム陽2(教示点T
pl−24)を指し示すことになる。
Next, the end flag Fel is updated by one step (
Step 635). For example, if the end flag Fel points to the program F4CL1 (teaching point T pi-25) of the structure SA, the end flag Fel points to the program F4CL1 (teaching point T pi-25).
pl-24).

こうして次に再度ステップ610の処理に戻る。In this way, the process returns to step 610 again.

次にステップ610で肯定判定された後、ステップ61
5では現在作業累積時間が最短(このときはrO」)の
ロボット19,21.23の中から優先順位の高いロボ
ット1つが選択され同様にステップ620,625,6
30,635の処理にて、エンドフラグFe2が指し示
している構造体SBのプログラム陽2l  (Ta2−
1)の占有フラグにrBJが設定さね 作業累積時間が
加算さ札 エンドフラグFe2が更新されてプログラム
N112 (Ta2−2)を指し示す処理がなされる。
Next, after an affirmative determination is made in step 610, step 61
In Step 5, one robot with a high priority is selected from the robots 19, 21, and 23 whose current cumulative work time is the shortest (in this case, rO''), and similarly steps 620, 625, and 6 are performed.
In the process of 30,635, the program positive 2l (Ta2-
rBJ is set in the occupancy flag of 1). The accumulated work time is added. The end flag Fe2 is updated and processing is performed to point to program N112 (Ta2-2).

以後同様にロボット21.23についても処理がなさ札
 更に継続して最短作業累積時間及び優先順位に応じて
選択されたロボット17〜23に応じて上述の処理が繰
り返されることにより、各構造体S A −S Dの占
有フラグが順次決定されて行次に上記作業配分処理(ス
テップ600)において、複数のロボットの動作範囲に
存在する教示点の占有フラグが、どのように設定される
かについて代表的な例を挙げて説明する。
Thereafter, no processing is performed for the robots 21 and 23 as well.The above processing is repeated for the robots 17 to 23 selected according to the shortest cumulative work time and priority, so that each structure S This is a representative example of how the occupancy flags of teaching points existing in the motion range of a plurality of robots are set in the work distribution process (step 600) after the occupancy flags of A to S D are sequentially determined. Let's explain with an example.

[1]まずロボット17について、占有フラグが第10
図(a)のごとく決定さ札 エンドフラグFelがプロ
グラム陽26の教示点T p5−11を指し示しており
、更にロボット17について、占有フラグが第10図(
b)のごとく決定さね エンドフラグFe2がプログラ
ム陽13の教示点T p5−8を指し示しているものと
する。
[1] First, regarding robot 17, the occupancy flag is the 10th
As shown in Figure (a), the end flag Fel points to the teaching point T p5-11 of the program positive 26, and the occupancy flag for the robot 17 is shown in Figure 10 (
It is assumed that the end flag Fe2 points to the teaching point Tp5-8 of the program 13.

この状態で、ステップ610にて肯定判定さねステップ
615の処理にてロボット17が選択された場合を考え
る。すると、ステップ620の処理にてエンドフラグF
elが指し示している教示点T p5−11の占有フラ
グには既にrBJが設定されている。従って否定判定さ
れて、次にエンドフラグFelの指し示す教示点データ
がモジュールの先頭でなくかつ前ステップ(この時はプ
ログラム叱25のT pt−t)の占有フラグがロボッ
ト17の符号rAJ と同じか否かが判定される(ステ
ップ640)。ここではエンドフラグFelはモジュー
ルM5の先頭であることから否定判定されて、次にエン
ドフラグFelを1つ進める(ステップ645)、ここ
ではプログラムN1127の教示点T p5−10を指
し示すことになる。薙 直前のエンドフラグ「elが最
後であるプログラム陽55であった場合に1上 ステッ
プ645で1友 エンドフラグFelには終了を表す「
−2」の値が設定される。
In this state, consider a case where an affirmative determination is made in step 610 and the robot 17 is selected in the process of step 615. Then, in the process of step 620, the end flag F
rBJ has already been set in the occupancy flag of the teaching point T p5-11 pointed to by el. Therefore, a negative determination is made, and then the teaching point data pointed to by the end flag Fel is not at the beginning of the module, and the occupancy flag of the previous step (in this case, Tpt-t of program 25) is the same as the code rAJ of the robot 17. It is determined whether or not (step 640). Here, since the end flag Fel is the beginning of the module M5, a negative determination is made, and then the end flag Fel is advanced by one (step 645), which points to the teaching point T p5-10 of the program N1127. Nagi If the previous end flag "el is the last program positive 55, go up by 1 at step 645. The end flag Fel indicates the end"
-2'' value is set.

次に そのエンドフラグFe1O値が「−2」か否かが
判定される(ステップ650)、  r−2J即ち配列
が終了していれli  処理は再度、ステップ610に
戻るが、この時はプログラム陽27を指し示しているの
で、否定判定されて、そのエンドフラグFe1位置くプ
ログラムNn27)での教示点T p5−10の占有フ
ラグが「0」でないか否かを判定する(ステップ655
)。ここでは更に「B」が設定されているので、否定判
定されて再度、エンドフラグFetが1つ更新される(
ステップ645)、即ちプログラム叱28を指し示すこ
とになる。
Next, it is determined whether or not the end flag Fe1O value is "-2" (step 650). 27, a negative determination is made, and it is determined whether the occupancy flag of the teaching point Tp5-10 in the program Nn27) at the end flag Fe1 position is not "0" (step 655).
). Since "B" is further set here, a negative determination is made and the end flag Fet is updated by one again (
Step 645), that is, the program 28 is pointed to.

同様にプログラムN1128の占有フラグにもr13J
が設定しであるので、更にエンドフラグFelが1つ更
新され(ステップ645)、プログラムNn29を指し
示すことになる。従ってステップ650では否定判定さ
ね 更に、このプログラム陽29で1社 占有フラグが
rOJであるので、ステップ655では肯定判定されて
、その占有フラグにロボット17の1DrAJを設定す
る(ステップ625)。
Similarly, r13J is added to the occupancy flag of program N1128.
is set, the end flag Fel is further updated by one (step 645), and points to program Nn29. Therefore, a negative determination is made in step 650.Furthermore, since the one company occupancy flag in this program 29 is rOJ, an affirmative determination is made in step 655, and the occupancy flag is set to 1DrAJ of the robot 17 (step 625).

次にロボット17をシミュレーションにて、教示点Tp
l−lから教示点T p5−8に移動及び作業させて、
その時間を測定し、ロボット17の作業累積時間に加算
して累積する(ステップ630)0次にエンドフラグF
elを更新して(ステップ635)、即ちプログラムN
n30を指し示すようにして、再度、ステップ610の
処理に戻る。
Next, the robot 17 is simulated at the teaching point Tp.
Move and work from l-l to teaching point T p5-8,
The time is measured and added to the cumulative work time of the robot 17 to accumulate it (step 630).
el (step 635), i.e. program N
n30, and the process returns to step 610 again.

[2]ステツプ640で肯定判定される場合の処理につ
いて、モジュールM10の処理を例として説明する。
[2] The processing when an affirmative determination is made in step 640 will be explained using the processing of module M10 as an example.

作業配分処理がある程度進んで、第11図に示すような
状態になり、ステップ615の処理でロボット17が作
業累積時間最短であると判定された場合を考える。尚、
第11図(1)、(2)、(3) 1よそれぞ札 構造
体SA、SB、SDにおけるモジュールMIO部分のみ
を示したものである。
Consider a case where the work distribution process has progressed to a certain extent and the state shown in FIG. 11 is reached, and it is determined in the process of step 615 that the robot 17 has the shortest accumulated work time. still,
FIG. 11 (1), (2), and (3) 1 and 1 respectively show only the module MIO portions in the structures SA, SB, and SD.

このとき、ステップ620では ロボット17のエンド
フラグFelは第11図(1)に示すプログラム咀38
を指し示し、その占有フラグはrB」であることから否
定判定される。
At this time, in step 620, the end flag Fel of the robot 17 is set to the program memory 38 shown in FIG. 11(1).
, and its occupancy flag is "rB", so a negative determination is made.

次にエンドフラグFelが指し示しているプログラム階
38 (TplO−6)がモジュールMIOの先頭(7
,10−7)でなく、かつ前ステップのプログラム階3
7(教示点T plO−7)の占有フラグがロボット1
7の1DrAJであるか否かが判定されル(ステップ6
40)。ここでは条件が満足されるので肯定判定される
Next, the program floor 38 (TplO-6) pointed to by the end flag Fel is the beginning of the module MIO (7
, 10-7), and program floor 3 of the previous step.
7 (teaching point T plO-7) occupancy flag is robot 1
It is determined whether or not it is 1DrAJ of 7 (step 6).
40). Here, since the condition is satisfied, an affirmative determination is made.

次にそのモジュールM10内にいまだ占有フラグが「O
」である残教示点が存在するか否かが判定される(ステ
ップ660)。
Next, the still occupied flag in that module M10 is “O”.
” (step 660).

モジュールM10内のプログラムN1141は占有フラ
グが「0」であるので、肯定判定される0次にエンドフ
ラグFelが指し示すプログラム階以降で、かつ同一モ
ジュールMIO内でIDが付与されている教示点を探す
。その教示点はプログラムNct38〜40 (T p
lo−6,T plO−5,T plO−4)である。
Since the occupancy flag of the program N1141 in the module M10 is "0", search for a teaching point assigned an ID in the same module MIO, after the program floor pointed to by the end flag Fel in the 0th order where an affirmative determination is made. . The teaching points are program Nct38-40 (T p
lo-6, T plO-5, T plO-4).

そしてそのプログラム磁38〜40の占有フラグのID
内容に該当するロボット19.23に対し、その作業累
積時間から、教示点T pi(1−6,TpiO−5,
T plO−4の作業時間分を減算する(ステップ66
5)。これはIDを移動させるため、そのDに該当する
ロボット19.23の作業累積時間をその作業の直前の
状態に戻すためである。
And the ID of the occupancy flag of the program magnetic fields 38 to 40
For the robot 19.23 corresponding to the content, the teaching point T pi (1-6, TpiO-5,
Subtract the working time of TplO-4 (step 66
5). This is to move the ID and return the accumulated work time of the robot 19.23 corresponding to D to the state immediately before that work.

次にプログラムぬ38〜40の占有フラグのD内容を1
つ後方にシフトする(ステップ670)、次にシフトさ
れたIDに該当するロボット19゜23の作業累積時間
にIDが移動した先の教示点T plO−5,T pl
O−4,T plO−3の作業時間をシミュレーション
により求め、加算する(ステップ675)、こうして占
有フラグに付与されたID通りにロボット19.23の
作業累積時間が訂正される。
Next, set the D contents of the occupancy flags of programs 38 to 40 to 1.
Shift backward by one (step 670), and the teaching point T plO-5, T pl to which the ID has moved during the accumulated work time of the robot 19゜23 corresponding to the next shifted ID.
The working time of O-4, T plO-3 is calculated by simulation and added (step 675), thus correcting the cumulative working time of robot 19.23 according to the ID assigned to the occupancy flag.

次にエンドフラグFelが指し示すプログラム階38の
占有フラグをロボット17のl D rAJに設定する
(ステップ625)。
Next, the occupancy flag of the program floor 38 pointed to by the end flag Fel is set in l Dr AJ of the robot 17 (step 625).

この時点でのロボット17の構造体S^の占有フラグの
状態を示すと、第12図に示すごとくD rAJが連続
して設定されたことが判る。
When the state of the occupancy flag of the structure S^ of the robot 17 at this point is shown, it can be seen that DrAJ has been set continuously as shown in FIG.

次にその白ボッ11フ0作業累積時間にその教示点T 
plO−6の作業時間が加算され(ステップ630)、
エンドフラグFelが1ステツプ更新される(ステップ
635)。即ちエンドフラグFelはプログラムN11
69 (TplO−5)を指し示すことになる。
Next, the teaching point T is set at the cumulative time of the white box 11F0 work.
The working time of plO-6 is added (step 630);
The end flag Fel is updated by one step (step 635). That is, the end flag Fel is the program N11.
69 (TplO-5).

[3]第13図(1)〜(3)のごとくにモジュールM
llの占有フラグが設定されて、構造体SCのエンドフ
ラグFe3がプログラムN1141ている場合に作業累
積時間が最短のロボットとしてロボット21が選択され
たとする。
[3] Module M as shown in Fig. 13 (1) to (3)
Assume that the robot 21 is selected as the robot with the shortest cumulative work time when the occupancy flag of ll is set and the end flag Fe3 of the structure SC is set to program N1141.

このときに(よ エンドフラグFe3が指し示している
プログラムN116の占有フラグはrDJが設定されて
おり、ステップ620にては否定判定されて、エンドフ
ラグFe3の指し示すプログラム狙16 (Tpll−
3)がモジュールM11の先頭でなく、かつ前ステップ
のプログラムm 15 (T pH−2)の占有フラグ
がロボット21のIDrCJ と同じか否かが判定され
る(ステップ640)。エンドフラグFe3の指し示す
プログラムNn16(Tpll−3)がモジュールM7
1の先頭でなく、前プログラム階15のIOはrCJで
あるので肯定判定される。次Iこステップ660ではモ
ジュールM11内にはすべての占有フラグにIDが設定
されているので否定判定される。
At this time, the occupancy flag of the program N116 pointed to by the end flag Fe3 is set to rDJ, and a negative determination is made in step 620, and the program target 16 (Tpll-
3) is not the beginning of the module M11, and it is determined whether the occupancy flag of the program m 15 (T pH-2) in the previous step is the same as IDrCJ of the robot 21 (step 640). The program Nn16 (Tpll-3) pointed to by the end flag Fe3 is the module M7.
Since the IO at the previous program floor 15, not at the beginning of program level 1, is rCJ, an affirmative determination is made. In the next step 660, a negative determination is made because IDs are set in all the occupancy flags in the module M11.

次に、エンドフラグFe3が1ステツプ更新される(ス
テップ645)。即ち、エンドフラグFe3はプログラ
ムml 7 (Tp9−11 )を指し示すことになる
。次にエンドフラグFe3の値が「−2」か否かが判定
される(ステップ650)、  即ち、ロボット21の
構造体SCの配列が終了したか否かが判定される。配列
は終了していないので、否定判定されて、その占有フラ
グが「O」か否かが判定される(ステップ655)。プ
ログラム山17の占有フラグはrQJであるので肯定判
定されて、その占有フラグに「C」を設定しくステップ
625)、直前に処理した教示点TpH−2からその教
示点Tp9−11への移動及び作業の時間をシミュレー
ションにより求め、ロボット21の作業累積時間に加算
する(ステップ630)。こうして次にエンドフラグF
e3を更新しくステップ635)、即ち構造体SCのプ
ログラムNet18を指し示すようにしてからステップ
610の処理に戻る。
Next, the end flag Fe3 is updated by one step (step 645). That is, the end flag Fe3 points to the program ml7 (Tp9-11). Next, it is determined whether the value of the end flag Fe3 is "-2" (step 650), that is, it is determined whether the arrangement of the structures SC of the robot 21 has been completed. Since the array is not completed, a negative determination is made and it is determined whether the occupancy flag is "O" (step 655). Since the occupancy flag of the program pile 17 is rQJ, an affirmative determination is made and the occupancy flag is set to "C" (Step 625), and the movement from the teaching point TpH-2 processed immediately before to the teaching point Tp9-11 is performed. The work time is determined by simulation and added to the cumulative work time of the robot 21 (step 630). In this way, the end flag F
After updating e3 (step 635), that is, pointing to program Net18 of structure SC, the process returns to step 610.

上述のような処理が繰り返されて、最終的に第14図(
a)、  (b)、  (c)、  (d)に示すよう
な構造体S A、 S B、 S C,S Dが作成さ
れる。
The above-mentioned process is repeated, and finally the image shown in Fig. 14 (
Structures SA, SB, SC, and SD as shown in a), (b), (c), and (d) are created.

以上説明したよう、ステップ600の処理で(よ教示点
の作業が作業累積時間が均等となるように配分されて行
く。 しかもステップ620,640゜660、 66
5. 670,675の一連の処理により、共通の作業
領域にある教示点がロボット毎にまとめられるので、効
率的な作業の出来る教示点配分が可能となる。
As explained above, in the process of step 600, the work at the teaching points is distributed so that the cumulative work time is evenly distributed.
5. Through the series of processes 670 and 675, the teaching points in the common work area are grouped for each robot, making it possible to allocate the teaching points for efficient work.

二のようにしてID未定の教示点が全ての構造体S A
 −S Dにおいて存在しなくなれ(ヱ ステップ61
0にて否定判定されて、次に作成された第14図(a)
〜(d)に示す各構造体S A −S Dから、各ロボ
ット毎の教示用動作プログラムが作成されて、更にその
登録・修正処理が実行される(ステップ700)。即ち
、ロボット17については構造体S^の汽 占有フラグ
が「A」の教示点のデータのみが順に取り出されて一体
化さ札 ロボット17用の教示用動作プログラムとして
、ハードディスク装置11やフロッピィに記憶される。
As shown in step 2, all teaching points with undetermined IDs are structures S A
- cease to exist in SD (ヱ Step 61
14(a) created next after a negative determination was made at 0.
A teaching operation program for each robot is created from each of the structures S A to S D shown in (d), and its registration and modification processing is further executed (step 700). That is, for the robot 17, only the data of the teaching points of the structure S^ whose train occupancy flag is "A" are sequentially retrieved and integrated. be done.

このフロッピィには必要に応じてデータ変換を行ってか
ら記憶する。
The data is stored on this floppy after data conversion is performed as necessary.

またこうして出来た教示用動作プログラムにてシミュレ
ーションを実行して不都合な動作をする場合、例えば他
のロボットと干渉してたり、いままで判らなかったボデ
ィ15との干渉が発見されれば、その教示用動作プログ
ラムを修正する処理がなされる。他のロボット19〜2
3についても同様にして構造体S B、 S C,S 
Dから教示用動作プログラムが作成さね登録及び修正さ
れる。
In addition, if a simulation is executed using the teaching motion program created in this way and an inconvenient motion occurs, for example, if interference with another robot or interference with the body 15 that was unknown until now is discovered, the teaching motion program will be used. A process is performed to modify the operating program. Other robots 19-2
Similarly for 3, structures S B, S C, S
A teaching operation program is created, registered, and modified from D.

このようにして、シミュレーション(こよる教示用動作
プログラムが完成する。そして、その教示用動作プログ
ラムは、ロボット17〜23の制御装置31〜37に読
み込まれて実際の作業あるいは試行に用いられる。句法
 この作業の結果、不都合があればその制御装置31〜
37上で修正しても良いし、また再度、シミュレーショ
ン装置1に教示用動作プログラムを戻して、シミュレー
ションにより動作を確認しつつ、前記ステップ700と
同様に教示用動作プログラムを修正するようにしてもよ
い。
In this way, the simulation (teaching motion program) is completed.The teaching motion program is then read into the control devices 31-37 of the robots 17-23 and used for actual work or trials. As a result of this work, if there is any inconvenience, the control device 31~
37, or the teaching operation program may be returned to the simulation device 1 again and the teaching operation program may be corrected in the same manner as in step 700 while checking the operation through simulation. good.

以上は4台のロボット間の作業配分についてであったが
、2〜3台でも、5台以上でも同様(二して配分が可能
である。
The above was about work distribution among four robots, but the same distribution is possible with two to three robots, or five or more robots.

艷丑卑匁1 本発明の複数ロボットの教示データ作成方法は、各教示
点毎にロボットを選択しつつ各ロボット毎に作業時間を
累積して行き、少なくとも2つのロボットの動作域が重
なっている作業領域内の教示点に対するロボットの選択
に際して(友 その時点で累積されている作業時間が最
短のロボットを選択するようにして、教示点の作業配分
を決定しているので、常に各ロボットの作業時間が均一
になるように教示点配分が設定されて行く。こうして作
業時間が短くかつバランスがよい教示データ(動作プロ
グラム)が、迅速に得られる。
In the method of creating teaching data for multiple robots according to the present invention, a robot is selected for each teaching point and the working time is accumulated for each robot, so that the operating ranges of at least two robots overlap. When selecting a robot for a teaching point in the work area, the robot with the shortest accumulated working time at that point is selected to determine the work distribution for the teaching point, so each robot's work is always The teaching point distribution is set so that the time is uniform.In this way, the working time is short and well-balanced teaching data (operation program) can be quickly obtained.

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

第1図は本発明の基本的構成例示は 第2図は一実施例
のシステム構成は 第3図(a)はワーク(自動車ボデ
ィ)に沿った教示点の分布状態説明は 第3図(b)は
各教示点のデータ構造説明は 第4図は溶接用ロボット
の配置は 第5図はシミュレーション装置にで実行され
る作業割付処理を表すフローチャート、第6図はその内
の作業配分処理を表すフローチャート、第7図はロボッ
トの配置に対する教示点の分布の説明は 第8図はその
教示点の経路説明息 第9図はその内の1つのモジュー
ルの拡大説明は 第10図(a)〜(d)は各ロボット
毎に設定された予備的動作プログラム構造体の構造説明
は 第11図(1)〜く3)、第12諷 第13図(1
)〜(3)は予備的動作プログラム構造体の部分説明は
 第14図(a)〜(d)は予備的動作プログラム構造
体としての完成状態説明図を示す。 1・・・シミュレーション装置 17、 19,21. 23・・・ロボット15・・・
ボディ(ワーク) 31、 33,35.37・・・ロボット制御装置M1
〜Mll・・・モジュール 17S〜23S・・・各ロボットの動作範囲Tp1−1
〜T pH−3・・・教示点S A −S D
FIG. 1 shows an example of the basic configuration of the present invention. FIG. 2 shows the system configuration of an embodiment. FIG. 3(a) shows an explanation of the distribution of teaching points along the workpiece (automobile body). ) is the data structure explanation of each teaching point. Figure 4 is the arrangement of the welding robot. Figure 5 is a flowchart showing the work allocation process executed by the simulation device. Figure 6 is the flowchart showing the work allocation process. Flowchart, Figure 7 is an explanation of the distribution of teaching points with respect to the robot's placement, Figure 8 is an explanation of the path of the teaching points, Figure 9 is an enlarged explanation of one of the modules, and Figures 10 (a) to ( d) is a structural explanation of the preliminary motion program structure set for each robot.
) to (3) are partial explanations of the preliminary operation program structure. FIGS. 14A to 14D are explanatory views of the completed state of the preliminary operation program structure. 1... Simulation device 17, 19, 21. 23...Robot 15...
Body (work) 31, 33, 35. 37... Robot control device M1
~Mll...Module 17S-23S...Movement range Tp1-1 of each robot
~T pH-3...Teaching point S A - S D

Claims (1)

【特許請求の範囲】  各作業領域の少なくとも一部が重なるよう配置された
複数のロボットと、作業領域内に設定された教示点とを
対応づけて、複数ロボットが同時に作業するための教示
データを作成する方法であつて、 各教示点毎にロボットを選択し、シミュレーションにて
作業させて行くことにより、各ロボット毎の作業時間を
算出して行くと共に、 少なくとも2つのロボットの動作域が重なっている作業
領域内の教示点に対するロボットの選択に際しては、そ
の選択の時点で作業時間が最短のロボットを選択するこ
とを特徴とする複数ロボットの教示データ作成方法。
[Claims] Teaching data for multiple robots to work simultaneously is provided by associating a plurality of robots arranged so that at least a portion of each work area overlaps with a teaching point set within the work area. This method calculates the working time for each robot by selecting a robot for each teaching point and having it work in a simulation, and also calculates the working time of each robot and makes sure that the operating ranges of at least two robots overlap. A method for creating teaching data for a plurality of robots, characterized in that when selecting a robot for a teaching point in a working area, the robot with the shortest working time at the time of selection is selected.
JP20178789A 1989-08-03 1989-08-03 Preparation of teaching data for plural robots Pending JPH0366577A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20178789A JPH0366577A (en) 1989-08-03 1989-08-03 Preparation of teaching data for plural robots

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20178789A JPH0366577A (en) 1989-08-03 1989-08-03 Preparation of teaching data for plural robots

Publications (1)

Publication Number Publication Date
JPH0366577A true JPH0366577A (en) 1991-03-22

Family

ID=16446929

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20178789A Pending JPH0366577A (en) 1989-08-03 1989-08-03 Preparation of teaching data for plural robots

Country Status (1)

Country Link
JP (1) JPH0366577A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022091409A (en) * 2020-12-09 2022-06-21 株式会社安川電機 Robot system
JP2022181974A (en) * 2021-05-27 2022-12-08 株式会社ジャノメ Route teaching data creation device, route teaching data creation method, and program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022091409A (en) * 2020-12-09 2022-06-21 株式会社安川電機 Robot system
US11872686B2 (en) 2020-12-09 2024-01-16 Kabushiki Kaisha Yaskawa Denki Robot system
JP2022181974A (en) * 2021-05-27 2022-12-08 株式会社ジャノメ Route teaching data creation device, route teaching data creation method, and program

Similar Documents

Publication Publication Date Title
EP0744046B1 (en) Intelligent system for generating and executing a sheet metal bending plan
EP1681607B1 (en) Bending apparatus comprising means for performing setup operations
JP2019532827A (en) Method for collision avoidance motion planning
JP3951079B2 (en) OFFLINE TEACHING METHOD, OFFLINE TEACHING DEVICE, AND RECORDING MEDIUM
US4912383A (en) Method of controlling a robot
JPH0366577A (en) Preparation of teaching data for plural robots
JP3596581B2 (en) Tool operating condition setting method for offline teaching
JPH08286722A (en) Method and system for off-line teaching using CAD data
JP2827268B2 (en) Creating teaching data for multiple robots
JP2023057024A (en) Information processing device, information processing method, article manufacturing method, program, recording medium, system
JPH06134684A (en) Teaching method of robot track
JPH07306705A (en) Teaching device for robot of bending machine
JPH0774970B2 (en) Robot work planning device
JP2000141176A (en) Simulation method of work distribution in production line
JP2000112510A (en) Robot teaching method and its device
JPH02257312A (en) Method for generating data for teaching robot
JP3134653B2 (en) Intermediate point teaching data creation method
JP2925397B2 (en) Shape data creation method
JPH06131021A (en) Control method for plural robots
JPH0281209A (en) Teaching data generating method for robot
JP4195945B2 (en) Robot path creation method and apparatus
JP2002116817A (en) Method for allocating task and controller to which the same method is applied
JP2003117864A (en) How to create teaching data for an articulated robot
JPS6232504A (en) Controller system for industrial robot
JP2000141177A (en) Simulation method of work distribution in production line