JPH0366577A - 複数ロボットの教示データ作成方法 - Google Patents
複数ロボットの教示データ作成方法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
Links
Landscapes
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
及亘坐亘め
[産業上の利用分野]
本発明1友 例えば同時に複数のロボットを作動させて
作業を行わせるに際して、ロボット同士の作動領域が重
複している部分の作業の配分を決定する複数ロボットの
教示データ作成方法に関する。
作業を行わせるに際して、ロボット同士の作動領域が重
複している部分の作業の配分を決定する複数ロボットの
教示データ作成方法に関する。
[従来の技術]
従来 作業の効率法 生産性あるいは安全衛生の観点か
ら、自動車生産ライン等において溶接用ロボットや塗装
用ロボットが用いられている。これらのロボット(友
同一作業を正確に繰り返すことが可能なことから一旦適
切な教示データ(動作プログラム)をティーチングすれ
]戴 品質が高く一定した製品を継続的に得ることが出
来る(特開昭58−180257号公報)。
ら、自動車生産ライン等において溶接用ロボットや塗装
用ロボットが用いられている。これらのロボット(友
同一作業を正確に繰り返すことが可能なことから一旦適
切な教示データ(動作プログラム)をティーチングすれ
]戴 品質が高く一定した製品を継続的に得ることが出
来る(特開昭58−180257号公報)。
更に作業効取 生産性の向上の観点から、複数のロボッ
トを同時に稼動させることがある。この場合に各ロボッ
トに作業を分担させる操作が必要となる。この場合に省
力化のため、分担を自動的になす方法が提案されている
(特開昭63−295192号公報)、この方法は次の
ようになされる。まず2つのロボット1こ対して作業の
優先順位を設定し、シミュレーションにより作業をさせ
る。
トを同時に稼動させることがある。この場合に各ロボッ
トに作業を分担させる操作が必要となる。この場合に省
力化のため、分担を自動的になす方法が提案されている
(特開昭63−295192号公報)、この方法は次の
ようになされる。まず2つのロボット1こ対して作業の
優先順位を設定し、シミュレーションにより作業をさせ
る。
その際 作業が重複する場合には優先順位に従って優先
順位の高いロボットから作業させる。この作業を優先順
位の組合せを変更してシミュレーションを繰り返し、得
られた作業時間の内で最も作業時間が短い優先順位の作
業を選択するものである。
順位の高いロボットから作業させる。この作業を優先順
位の組合せを変更してシミュレーションを繰り返し、得
られた作業時間の内で最も作業時間が短い優先順位の作
業を選択するものである。
[発明が解決しようとする課居]
しかし、この方法はロボット間の優先順位を切り替えつ
つ、何度もシミュレーション作業を繰り返すことにより
作業時間を測定しているため、比較的長時間を要するも
のである0例えばロボットの数が2台であれ(L 少な
くとも2 (2! )回のシミュレーション処理が必要
であり、3台では6(3り回、4台であれば24 (4
j )回ものシミュレーション処理が必要となる。しか
もこのようにロボットの数が増加すればするほど急激に
シミュレーション作業の回数が増加する。
つ、何度もシミュレーション作業を繰り返すことにより
作業時間を測定しているため、比較的長時間を要するも
のである0例えばロボットの数が2台であれ(L 少な
くとも2 (2! )回のシミュレーション処理が必要
であり、3台では6(3り回、4台であれば24 (4
j )回ものシミュレーション処理が必要となる。しか
もこのようにロボットの数が増加すればするほど急激に
シミュレーション作業の回数が増加する。
更にシミュレーション後の選択基準は「最短の作業時間
」であるが、もともとシミュレーションにて変更できる
パラメータはロボットの優先順位にある。 しかも各シ
ミュレーション作業中はその個々の作業も一律の優先順
位lこ固定されて作業がなされる。従って作業毎のきめ
細かい検討がなされていないため、各ロボットへのバラ
ンスのよい作業時間配分が実現されることは少なく、優
先順位の全組合せを実行したとしても、得られた作業時
間データの中に真に最短の時間あるいはそれに近い作業
時間が存在するとは限らない。
」であるが、もともとシミュレーションにて変更できる
パラメータはロボットの優先順位にある。 しかも各シ
ミュレーション作業中はその個々の作業も一律の優先順
位lこ固定されて作業がなされる。従って作業毎のきめ
細かい検討がなされていないため、各ロボットへのバラ
ンスのよい作業時間配分が実現されることは少なく、優
先順位の全組合せを実行したとしても、得られた作業時
間データの中に真に最短の時間あるいはそれに近い作業
時間が存在するとは限らない。
従って教示データとしての動作プログラム作成の効率が
悪いととも(:、各ロボットの作業時間をバランスよく
配分して作業時間を最短にする動作プログラムを得るこ
とは不可能に近かった机上で検討する場合もあるが、試
行錯誤による分配作業の繰り返しにより、膨大な時間や
労力を費やすとともに その割には効率的な動作プログ
ラムは得られない。
悪いととも(:、各ロボットの作業時間をバランスよく
配分して作業時間を最短にする動作プログラムを得るこ
とは不可能に近かった机上で検討する場合もあるが、試
行錯誤による分配作業の繰り返しにより、膨大な時間や
労力を費やすとともに その割には効率的な動作プログ
ラムは得られない。
従って従来の方法は動作プログラムの質が悪くしかも作
成効率も低いものであった 及艶立且滅 そこで、本発明(友 複数ロボット稼動における、上記
課題を解決することを目的とし、次のような構成を採用
しム [課題を解決するための手段] 即ち、本発明の要旨とするところ(友 第1図の基本的
構成図に例示するごとく、 各作業領域の少なくとも一部が重なるよう配置された複
数のロボットと、作業領域内に設定された教示点とを対
応づけて、複数ロボットが同時に作業するための教示デ
ータを作成する方法であって、 各教示点毎にロボットを選択し、シミュレーションにて
作業させて行<(Pi)ことにより、各ロボット毎の作
業時間を算出して行< (P2)と共に、 少なくとも2つのロボットの動作域が重なっている作業
領域内の教示点に対するロボットの選択に際して(よ
その選択の、時点で作業時間が最短のロボットを選択す
る(PI−1)ことを特徴とする複数ロボットの教示デ
ータ作成方法にある。
成効率も低いものであった 及艶立且滅 そこで、本発明(友 複数ロボット稼動における、上記
課題を解決することを目的とし、次のような構成を採用
しム [課題を解決するための手段] 即ち、本発明の要旨とするところ(友 第1図の基本的
構成図に例示するごとく、 各作業領域の少なくとも一部が重なるよう配置された複
数のロボットと、作業領域内に設定された教示点とを対
応づけて、複数ロボットが同時に作業するための教示デ
ータを作成する方法であって、 各教示点毎にロボットを選択し、シミュレーションにて
作業させて行<(Pi)ことにより、各ロボット毎の作
業時間を算出して行< (P2)と共に、 少なくとも2つのロボットの動作域が重なっている作業
領域内の教示点に対するロボットの選択に際して(よ
その選択の、時点で作業時間が最短のロボットを選択す
る(PI−1)ことを特徴とする複数ロボットの教示デ
ータ作成方法にある。
[作用]
ロボットの作業領域が重複しない部分の教示点における
ロボットの選択(PI−2)I上 例えば予め設定さ
れた順序に従って該当するロボットを選択したり、ある
いは所定の規則によって該当するロボットを選択するこ
とによりなされる。そしてそのロボットにシミュレーシ
ョンで作業を実施(PI−3)させその作業時間をロボ
ット毎に累積して行< (P2)。
ロボットの選択(PI−2)I上 例えば予め設定さ
れた順序に従って該当するロボットを選択したり、ある
いは所定の規則によって該当するロボットを選択するこ
とによりなされる。そしてそのロボットにシミュレーシ
ョンで作業を実施(PI−3)させその作業時間をロボ
ット毎に累積して行< (P2)。
ロボットの作業領域が重複する部分の教示点におけるロ
ボットの選択(Pl−1)E 繰り返し実行されてい
る上記作業時間の算出処理(P2)で既に求められてい
る各ロボットの作業時間を基準としてなされる。即ち、
最短の作業時間であるロボットを選択することによりな
される。
ボットの選択(Pl−1)E 繰り返し実行されてい
る上記作業時間の算出処理(P2)で既に求められてい
る各ロボットの作業時間を基準としてなされる。即ち、
最短の作業時間であるロボットを選択することによりな
される。
従って、常に累積されている各作業時間が均一になるよ
うに教示点とその作業をするロボットとが対応づけられ
て行く、こうして短くかつ作業時間のバランスがよい教
示データ(動作プログラム)が迅速に得られる。
うに教示点とその作業をするロボットとが対応づけられ
て行く、こうして短くかつ作業時間のバランスがよい教
示データ(動作プログラム)が迅速に得られる。
[実施例]
次1:、本発明の詳細な説明する0本発明はこれらに限
られるものではなく、その要旨を逸脱しない範囲の種々
の態様のものが含まれる。
られるものではなく、その要旨を逸脱しない範囲の種々
の態様のものが含まれる。
第2図(友 本発明の方法を実現しているシミュレーシ
ョン装置の一例を表すシステム構成図である。
ョン装置の一例を表すシステム構成図である。
シミュレーション装置1(上 一般的なノイマン型ディ
ジタルコンピュータ3を中心として構成されている。こ
のコンピュータ3はCPU、ROM。
ジタルコンピュータ3を中心として構成されている。こ
のコンピュータ3はCPU、ROM。
RAM、 Ilo、 バス等により構成されている
が、一般的な構成であるのでその内部の詳細説明は省略
する。このコンピュータ3に(友 出力装置としてCR
T 5. プリンタ7が、補助記憶装置としてフロッ
ピィディスク装置9.ハードディスク装置11が、入力
装置としてキーボード13が、接続されている。
が、一般的な構成であるのでその内部の詳細説明は省略
する。このコンピュータ3に(友 出力装置としてCR
T 5. プリンタ7が、補助記憶装置としてフロッ
ピィディスク装置9.ハードディスク装置11が、入力
装置としてキーボード13が、接続されている。
本発明の実施例方法の手順1社 本コンピュータ3のR
AM中に ハードディスク装置11からプログラムとし
て読み込まれている。コンピュータ3はこのプログラム
に従い、フロッピィディスク装置9に記憶されている教
示点の位置・姿勢データを読み込み、更にハードディス
ク装置11中に記憶されている各ロボットの作動性能デ
ータと形状データとを読み込む0次いで、最短の作業累
積時間を基準にして教示点の作業をするロボットを選択
する。そしてそのロボットのアーム等の動作を計算でシ
ミュレーションすると共に ロボットの作業時間を累積
している。教示点の位置・姿勢データは主にその三次元
座標とアーム先端の溶接トーチの位置(位置データ)と
溶接トーチ方向(姿勢データ)とを表すデータからなり
、他に次に述べるデータも付加されている。
AM中に ハードディスク装置11からプログラムとし
て読み込まれている。コンピュータ3はこのプログラム
に従い、フロッピィディスク装置9に記憶されている教
示点の位置・姿勢データを読み込み、更にハードディス
ク装置11中に記憶されている各ロボットの作動性能デ
ータと形状データとを読み込む0次いで、最短の作業累
積時間を基準にして教示点の作業をするロボットを選択
する。そしてそのロボットのアーム等の動作を計算でシ
ミュレーションすると共に ロボットの作業時間を累積
している。教示点の位置・姿勢データは主にその三次元
座標とアーム先端の溶接トーチの位置(位置データ)と
溶接トーチ方向(姿勢データ)とを表すデータからなり
、他に次に述べるデータも付加されている。
例えIL 教示点は第3図<a>に黒丸印で表すよう
1m、 ワークW(ここでは自動車ボディ)に沿って
与えられている。またその教示点毎のデータ構造(飄
第3図(b)に示すごとく、三次元座標上の位置・姿勢
データd1、その教示虚名(教示点NQ)d2、到達可
能ロボットの+Dd3及び占有フラグd4から構成され
ている。 IDd3はロボット識別用の符号を表し、
占有フラグd4は後述する作業配分処理(第6図)にて
選択されたロボットのIDが付与されるフラグを表して
いる。
1m、 ワークW(ここでは自動車ボディ)に沿って
与えられている。またその教示点毎のデータ構造(飄
第3図(b)に示すごとく、三次元座標上の位置・姿勢
データd1、その教示虚名(教示点NQ)d2、到達可
能ロボットの+Dd3及び占有フラグd4から構成され
ている。 IDd3はロボット識別用の符号を表し、
占有フラグd4は後述する作業配分処理(第6図)にて
選択されたロボットのIDが付与されるフラグを表して
いる。
i 1Dd3及び占有フラグd 4 F上 後述す
る作業割付処理にて決定されるデータであるので、当初
は設定されていない。
る作業割付処理にて決定されるデータであるので、当初
は設定されていない。
シミュレーション装置1にて1社 教示点位置を該当す
るロボットが順に溶接あるいはスプレー作業しながら辿
ってゆく処理が、計算上なされるのである。そして各教
示点の作業が終了する毎に該当ロボットの作業時間に教
示点の作業時間が累積されて行く、この累積を全教示点
について終了するまで繰り返し、各ロボットの全作業時
間を得もこの計算処理の際 キーボード13からの指示
によってCRTS上に、シミュレーション計算に応じた
、ワークとロボットとの立体画像を逐次表示させること
もできる。
るロボットが順に溶接あるいはスプレー作業しながら辿
ってゆく処理が、計算上なされるのである。そして各教
示点の作業が終了する毎に該当ロボットの作業時間に教
示点の作業時間が累積されて行く、この累積を全教示点
について終了するまで繰り返し、各ロボットの全作業時
間を得もこの計算処理の際 キーボード13からの指示
によってCRTS上に、シミュレーション計算に応じた
、ワークとロボットとの立体画像を逐次表示させること
もできる。
このような複数のロボットの作動性能データ・形状デー
タと、通過すべき教示点データ(位置データ、ノズル方
向データ等)に基づき、シミュレーションを実施するC
ADプログラム(上 市販されているものを用いること
ができ、例えばIBM社製の商品名rCAT I AJ
、 三井造船evI製の商品名rCIM−8TAT
l0NJが挙げられる。
タと、通過すべき教示点データ(位置データ、ノズル方
向データ等)に基づき、シミュレーションを実施するC
ADプログラム(上 市販されているものを用いること
ができ、例えばIBM社製の商品名rCAT I AJ
、 三井造船evI製の商品名rCIM−8TAT
l0NJが挙げられる。
次に、上記シミュレーション装置]で得られる動作プロ
グラム(教示データ)が適用される溶接用ロボットの、
自動車ボディ溶接ライン内での配置を゛第4図に示す。
グラム(教示データ)が適用される溶接用ロボットの、
自動車ボディ溶接ライン内での配置を゛第4図に示す。
ライン上を移動してきて、ブース内に搬入された自動車
ボディ15のエンジンルーム15a側に1社 左右2台
の溶接用ロボット17.19が、後部のラゲージルーム
15b側には左右2台の溶接用ロボット21.23が配
置されている。各ロボット17〜231友 ロボット制
御装置31,33゜35.37を備え、各ディスク装置
31a、33a、35a、37aに装填されたフロッピ
ィに記憶された動作プログラムに応じて、そのアームを
移動させたり溶接トーチを作動させたり、またティーチ
ングボックスを介して操作者から教示されたデータをフ
ロッピィに記憶したりする。
ボディ15のエンジンルーム15a側に1社 左右2台
の溶接用ロボット17.19が、後部のラゲージルーム
15b側には左右2台の溶接用ロボット21.23が配
置されている。各ロボット17〜231友 ロボット制
御装置31,33゜35.37を備え、各ディスク装置
31a、33a、35a、37aに装填されたフロッピ
ィに記憶された動作プログラムに応じて、そのアームを
移動させたり溶接トーチを作動させたり、またティーチ
ングボックスを介して操作者から教示されたデータをフ
ロッピィに記憶したりする。
前部2台のロボット17.19の点線で示す動作範囲1
78.19Sl& 各々エンジンルーム15a側をカ
バーしている。後部のロボット21゜23の動作範囲2
1S、23Sについても同様である。それらの動作範囲
173〜23Sは部分的に重複している。
78.19Sl& 各々エンジンルーム15a側をカ
バーしている。後部のロボット21゜23の動作範囲2
1S、23Sについても同様である。それらの動作範囲
173〜23Sは部分的に重複している。
溶接用ロボット17〜23は良く知られた多関節形ロボ
ットで、骨格部分1社 台風 第1アーム第2アーム及
び溶接トーチからなり、これらの各骨格は所定の駆動部
にて旋回等の動作を可能としている。
ットで、骨格部分1社 台風 第1アーム第2アーム及
び溶接トーチからなり、これらの各骨格は所定の駆動部
にて旋回等の動作を可能としている。
上記ロボット17〜23は第1表のような作動性能を有
する。句法 用途に応じて種々の作動性能のロボットを
個々に選択して用いることが出来る。
する。句法 用途に応じて種々の作動性能のロボットを
個々に選択して用いることが出来る。
第1表
二の第1表のデータが作動性能データの一部として、形
状データとともに シミュレーション装置1のハードデ
ィスク装置]1に記憶されている。
状データとともに シミュレーション装置1のハードデ
ィスク装置]1に記憶されている。
ボディ15に対する教示作業はロボット制御装置31〜
37を介して、ティーチングボックス31b〜37bに
て行われる。
37を介して、ティーチングボックス31b〜37bに
て行われる。
本実施例で(友 操作者(よ 予めボディ15の溶接部
分を適当なロボット17〜23を選択して教示作業をし
、そのデータを対応するディスク装置31a〜37a中
のフロッピィに記憶する。複数のフロッピィに記憶した
場合は1つの共通座標に変換して全教示点を共通の位置
・姿勢データとして作成する。
分を適当なロボット17〜23を選択して教示作業をし
、そのデータを対応するディスク装置31a〜37a中
のフロッピィに記憶する。複数のフロッピィに記憶した
場合は1つの共通座標に変換して全教示点を共通の位置
・姿勢データとして作成する。
この他の位置・姿勢データ作成方法として、既にボディ
15の形状データが存在すれ(戴 そのデータに基づい
て教示点をシミュレーションあるいは単なる計算で決定
し、位置・姿勢データを作成してもよい。
15の形状データが存在すれ(戴 そのデータに基づい
て教示点をシミュレーションあるいは単なる計算で決定
し、位置・姿勢データを作成してもよい。
上述のごとく位置・姿勢データが作成されることにより
、シミュレーション装置1にて、シミュレーションの実
行が可能となる。
、シミュレーション装置1にて、シミュレーションの実
行が可能となる。
以下、シミュレーションによる作業割付処理について、
第5図のフローチャートに基づいて説明する。このフロ
ーチャートの処理1社 ハードディスク装置11内に記
憶されているプログラムを、コンピュータ3のRAM内
に読み込むことによって実行される。
第5図のフローチャートに基づいて説明する。このフロ
ーチャートの処理1社 ハードディスク装置11内に記
憶されているプログラムを、コンピュータ3のRAM内
に読み込むことによって実行される。
シミュレーション装置1が立ち上げられると、ハードデ
ィスク装置11から作業割付処理用のプログラムが読み
込ま札 続いてそのプログラムに従った処理が開始され
る。
ィスク装置11から作業割付処理用のプログラムが読み
込ま札 続いてそのプログラムに従った処理が開始され
る。
まず、RAM内のワークエリアへ必要なデータが読み込
まれる(ステップ90)、必要なデータと1友 既にハ
ードディスク装置11中に記憶されている各種ロボット
の形状及び作動性能データのへ 今回シミュレーション
にて作業を割り付けたいロボット機種のデータ及び自動
車ボディ15の形状データ、更に既に教示作業にて得ら
れている第3図(b)に示した教示点毎の位置・姿勢デ
ータである。
まれる(ステップ90)、必要なデータと1友 既にハ
ードディスク装置11中に記憶されている各種ロボット
の形状及び作動性能データのへ 今回シミュレーション
にて作業を割り付けたいロボット機種のデータ及び自動
車ボディ15の形状データ、更に既に教示作業にて得ら
れている第3図(b)に示した教示点毎の位置・姿勢デ
ータである。
砥 第3図(b)のような、位置・姿勢データがあれI
Cそのデータを教示作業して得たロボットと今回シミュ
レーションするロボット17〜23とは異なっていても
構わない。この点で位置・姿勢を表すデータには汎用性
がある。即ち、シミュレーションの結果、ロボットの機
種が不都合であれ(fS 直ちに他の機種に変更して
シミュレーションすることが出1i、、機種の決定にも
役立つ。
Cそのデータを教示作業して得たロボットと今回シミュ
レーションするロボット17〜23とは異なっていても
構わない。この点で位置・姿勢を表すデータには汎用性
がある。即ち、シミュレーションの結果、ロボットの機
種が不都合であれ(fS 直ちに他の機種に変更して
シミュレーションすることが出1i、、機種の決定にも
役立つ。
ロボット制御装置31〜37側でのデータフォーマット
がシミュレーション装置1側のデータフォーマットと適
合しない場合1iRAMに読み込むに際して、フォーマ
ット変換処理をして読み込む。
がシミュレーション装置1側のデータフォーマットと適
合しない場合1iRAMに読み込むに際して、フォーマ
ット変換処理をして読み込む。
次に読み込まれた各教示点に対して、それが溶接作業が
可能な到達可能教示点か否かを、各ロボット17〜23
毎にシミュレーションにより、あるいは単に各ロボット
毎の既知の到達可能領域内に存在するかによって決定す
る(ステップ100)。この場合、単にロボット17〜
23の溶接トーチの移動可能な座標位置のみでなく、実
際に溶接作業がその教示点で出来るように アーム及び
溶接トーチの姿勢、ロボット17〜23とボディ15と
の干渉、あるいはアームとその先端の溶接トーチとの干
渉等を考慮して到達可能か否かを決定することになる。
可能な到達可能教示点か否かを、各ロボット17〜23
毎にシミュレーションにより、あるいは単に各ロボット
毎の既知の到達可能領域内に存在するかによって決定す
る(ステップ100)。この場合、単にロボット17〜
23の溶接トーチの移動可能な座標位置のみでなく、実
際に溶接作業がその教示点で出来るように アーム及び
溶接トーチの姿勢、ロボット17〜23とボディ15と
の干渉、あるいはアームとその先端の溶接トーチとの干
渉等を考慮して到達可能か否かを決定することになる。
具体的に(よ ロボット17〜23が通常実施する座標
の逆変換(目標位置及び姿勢データからロボット各軸の
角度への変換)を行い、各軸値が動作可能か否かの判断
をさせることや、ロボットの各アーム 溶接トーチ等の
ツール、ツールブラケット、ワーク(ボディ15)等の
個々の物体の位置関係を求め、干渉チエツクをして判断
することにより行う。
の逆変換(目標位置及び姿勢データからロボット各軸の
角度への変換)を行い、各軸値が動作可能か否かの判断
をさせることや、ロボットの各アーム 溶接トーチ等の
ツール、ツールブラケット、ワーク(ボディ15)等の
個々の物体の位置関係を求め、干渉チエツクをして判断
することにより行う。
このことにより、第3図(b)に示した各教示点毎に設
定されているデータ内の到達可能ロボツ)IDのデータ
配列に 到達するすべてのロボットのIDが記入される
。
定されているデータ内の到達可能ロボツ)IDのデータ
配列に 到達するすべてのロボットのIDが記入される
。
例えば第7図に゛黒丸印にて示すごとく、教示点が配置
されているとする。この全教示点のデータに到達可能な
ロボット17〜23のID(A、B。
されているとする。この全教示点のデータに到達可能な
ロボット17〜23のID(A、B。
C,D)を記入すると、各黒丸印に沿って記載されてい
るIDのごとくとなる。即ち、ロボット17のみが到達
できる教示点にはI”A4のIDのみが記入される。2
台のロボット17.19のみが到達できる教示点にはr
AJ及びrBJのIDが記入される。このようにして、
到達できるロボット17〜23に応じてその教示点の位
置・姿勢データにIDが単数または複数記入される。
るIDのごとくとなる。即ち、ロボット17のみが到達
できる教示点にはI”A4のIDのみが記入される。2
台のロボット17.19のみが到達できる教示点にはr
AJ及びrBJのIDが記入される。このようにして、
到達できるロボット17〜23に応じてその教示点の位
置・姿勢データにIDが単数または複数記入される。
第7図の内容は直接、CRT5に平面図として表示して
もよL〜 更にその表示において、到達できるロボット
17〜23の種類により教示点及びDの色分けを行って
、操作者に対して識別し易くしてもよい。
もよL〜 更にその表示において、到達できるロボット
17〜23の種類により教示点及びDの色分けを行って
、操作者に対して識別し易くしてもよい。
次に教示点データを分類する(ステップ200)、例え
[′L 位置・姿勢データに記入されたIDによって分
類する。 IDが「A」のみの教示点、 「A」及び
rBJのみの教示点、といったように分類する。第7図
の例で(九 分類IE、 [A]、 [B][C]
、 [D]、 [AB]、 [AC]、
[AD][BD]、 [CD]、 [ABC]
、 [ACD]の11種類となる。この種類を表す各
領域(教示点集合)を以下「モジュール」と呼び、順に
M1〜Mllの符号で区別する。
[′L 位置・姿勢データに記入されたIDによって分
類する。 IDが「A」のみの教示点、 「A」及び
rBJのみの教示点、といったように分類する。第7図
の例で(九 分類IE、 [A]、 [B][C]
、 [D]、 [AB]、 [AC]、
[AD][BD]、 [CD]、 [ABC]
、 [ACD]の11種類となる。この種類を表す各
領域(教示点集合)を以下「モジュール」と呼び、順に
M1〜Mllの符号で区別する。
次に各モジュールM1〜M]1毎にその作業経路を設定
する(ステップ300)。作業経路は教示点を順序づけ
ることである0例えば座標上の教示点配列の末端部分か
ら開始して、隣接する教示点を辿って行くことによりそ
の経路を設定する。
する(ステップ300)。作業経路は教示点を順序づけ
ることである0例えば座標上の教示点配列の末端部分か
ら開始して、隣接する教示点を辿って行くことによりそ
の経路を設定する。
分岐している部分(上 直進方向を優先して経路を形成
し、分岐部について(よ 直進部分を終了した後に辿っ
て行っても良いし、また直進していない分岐部分を優先
して辿り、その分岐の末端に至れば再度分岐の付は根に
戻って、直進部分を辿るようにしてもよい。更に コン
ピュータ3にすべて処理させるのではなく、分岐部など
に至った場合に1友 コンピュータ3側から操作者に分
岐の選択の指示を要求するようにしてもよいし、経路の
全てを操作者に入力させるようコンピュータ3側から要
求するようにしてもよい。こうして例えば第8図の矢印
ごとくに経路が設定される。尚、第8図において、各領
域で丸で囲っである教示点が始点あるいは終点であり、
その教示点のみ符号が付与しである。その始点と終点と
の間の教示点には連続的に符号が付与されているものと
する。また矢印は単に経路の捺続状態を示しているのみ
であり、矢印の順方向のみでなく、逆方向も作業経路と
して選択できる。
し、分岐部について(よ 直進部分を終了した後に辿っ
て行っても良いし、また直進していない分岐部分を優先
して辿り、その分岐の末端に至れば再度分岐の付は根に
戻って、直進部分を辿るようにしてもよい。更に コン
ピュータ3にすべて処理させるのではなく、分岐部など
に至った場合に1友 コンピュータ3側から操作者に分
岐の選択の指示を要求するようにしてもよいし、経路の
全てを操作者に入力させるようコンピュータ3側から要
求するようにしてもよい。こうして例えば第8図の矢印
ごとくに経路が設定される。尚、第8図において、各領
域で丸で囲っである教示点が始点あるいは終点であり、
その教示点のみ符号が付与しである。その始点と終点と
の間の教示点には連続的に符号が付与されているものと
する。また矢印は単に経路の捺続状態を示しているのみ
であり、矢印の順方向のみでなく、逆方向も作業経路と
して選択できる。
次に経路に沿って動作するモジュールM1〜M11単位
の予備的動作プログラムを各ロボット17〜23毎に作
成を操作者に要求する(ステップ400)。
の予備的動作プログラムを各ロボット17〜23毎に作
成を操作者に要求する(ステップ400)。
この要求により操作者(よ モジュールM1〜M4に対
して(戴 対応したロボット17〜23の予備的動作プ
ログラムを各1つ作成する。この他のモジュールM5〜
Mllについて(志 到達可能なロボット毎に予備的動
作プログラムが複数作成される。
して(戴 対応したロボット17〜23の予備的動作プ
ログラムを各1つ作成する。この他のモジュールM5〜
Mllについて(志 到達可能なロボット毎に予備的動
作プログラムが複数作成される。
例え(戴 第9図に拡大して示すモジュールM10にお
いて1九 ロボット17. 19.23の共通の作業領
域であるので、そのロボット17,19゜23毎の3つ
の予備的動作プログラムが作成される。
いて1九 ロボット17. 19.23の共通の作業領
域であるので、そのロボット17,19゜23毎の3つ
の予備的動作プログラムが作成される。
ロボット17についてli TplO−7を始点とし
てT PIG−1までの予備的動作プログラムが次のよ
うに作成される。まず「■教示点T I)10−7へ速
度Val、加速度Aalで直線で移気 ■溶接動イ乞
■教示点T 910−6へ速度Va2、加速度As2で
直線で移気 ■溶接動作■教示点TplO−5へ速度V
a3、加速度As2で直線で移気 ■叫・・」 という
ように教示点毎の動作が組み合わされた動作プログラム
が作成される。また一般的なロボット言語を用いて記述
してもよい。ただし、予備的動作プログラム(よ 後述
する作業配分処理(ステップ600)で教示点毎に取捨
選択されるため、教示点単位で削除・追加・変更出来る
ようなプログラム構造にしておく。
てT PIG−1までの予備的動作プログラムが次のよ
うに作成される。まず「■教示点T I)10−7へ速
度Val、加速度Aalで直線で移気 ■溶接動イ乞
■教示点T 910−6へ速度Va2、加速度As2で
直線で移気 ■溶接動作■教示点TplO−5へ速度V
a3、加速度As2で直線で移気 ■叫・・」 という
ように教示点毎の動作が組み合わされた動作プログラム
が作成される。また一般的なロボット言語を用いて記述
してもよい。ただし、予備的動作プログラム(よ 後述
する作業配分処理(ステップ600)で教示点毎に取捨
選択されるため、教示点単位で削除・追加・変更出来る
ようなプログラム構造にしておく。
ロボット19.23についても、教示点Toto−7か
ら教示点T plO−1に至る予備的動作プログラムが
作成される。低 ロボットの配置、モジュールの作業順
序等によって(上 逆に教示点T plO−1から教示
点T plO−7に至る予備的動作プログラムが作成さ
れる場合もある0例えばモジュールMl1等(社ロボッ
ト17.23とロボット21とでは動作方向を逆に選択
している。
ら教示点T plO−1に至る予備的動作プログラムが
作成される。低 ロボットの配置、モジュールの作業順
序等によって(上 逆に教示点T plO−1から教示
点T plO−7に至る予備的動作プログラムが作成さ
れる場合もある0例えばモジュールMl1等(社ロボッ
ト17.23とロボット21とでは動作方向を逆に選択
している。
また、ロボット17. 19.23の配置により、途中
に障害物Fが存在し直接に教示点TplO−7−Tpl
O−6間を移動できないような場合に1よ 第9図のご
とく逃げ点Hpを設けて、教示点TplO−7−7゜1
0−6間を移動する際にはその逃げ点Hpを通過するよ
うに予備的動作プログラムを作成してもよい。
に障害物Fが存在し直接に教示点TplO−7−Tpl
O−6間を移動できないような場合に1よ 第9図のご
とく逃げ点Hpを設けて、教示点TplO−7−7゜1
0−6間を移動する際にはその逃げ点Hpを通過するよ
うに予備的動作プログラムを作成してもよい。
このようにして全モジュールM1〜Mllについて、到
達可能なロボット17〜23毎に予備的動作プログラム
を作成する。臥 予備的動作プログラムの作成は単に操
作者が自ら実施するのみでなく、コンピュータ3に自動
作成させてもよLX。
達可能なロボット17〜23毎に予備的動作プログラム
を作成する。臥 予備的動作プログラムの作成は単に操
作者が自ら実施するのみでなく、コンピュータ3に自動
作成させてもよLX。
例えIL 既にコンピュータ3はロボット17〜23
の性能データを得ているので、その性能データに従って
ロボット17〜23の動作を、シミュレーションして干
渉等の不具合がなければその動作を予備的動作プログラ
ムとして自動的に登録してもよい。
の性能データを得ているので、その性能データに従って
ロボット17〜23の動作を、シミュレーションして干
渉等の不具合がなければその動作を予備的動作プログラ
ムとして自動的に登録してもよい。
またこのシミュレーションを操作者がCRT 5にて観
察できるようにして、不良な動作は操作者の指示により
予備的動作プログラムとして採用せず、再度動作条件を
変えて、シミュレーションし直すようにしてもよい。
察できるようにして、不良な動作は操作者の指示により
予備的動作プログラムとして採用せず、再度動作条件を
変えて、シミュレーションし直すようにしてもよい。
次に各ロボット17〜23に対して、その作業対象モジ
ュールM1〜Mllの作業順序を決定し、その順序でモ
ジュール毎の予備的動作プログラムをロボット17〜2
3毎に一体化しC一連の予備的動作プログラムを作成す
る(ステップ5oo)。
ュールM1〜Mllの作業順序を決定し、その順序でモ
ジュール毎の予備的動作プログラムをロボット17〜2
3毎に一体化しC一連の予備的動作プログラムを作成す
る(ステップ5oo)。
このロボット17〜23毎(ニ一体化された予備的動作
プログラムの構造体S^、 s s、 s c、 s
oを第10図(a)〜(d)に示す。
プログラムの構造体S^、 s s、 s c、 s
oを第10図(a)〜(d)に示す。
即ち、ロボット17について(上 6つのモジュー/L
、Ml、M5.M6.M7.Mho、M17が実行可能
である。従って、例えばrMl−MS−。
、Ml、M5.M6.M7.Mho、M17が実行可能
である。従って、例えば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)。
ると決定し、各モジュール毎に作成しであるロボット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)。
(d)のごとくの一連の予備的動作プログラム構造体S
B、 S C,S Dとして一体化する。
B、 S C,S Dとして一体化する。
尚、各構造体S^〜SDにおける1IkL(以下プログ
ラム階という)は教示点毎の単位動作プログラムに付与
された連続番号を表し、その順番は各構造体S A −
S Dでの実行順序を表している。
ラム階という)は教示点毎の単位動作プログラムに付与
された連続番号を表し、その順番は各構造体S A −
S Dでの実行順序を表している。
このモジュールの実行順序1t、CRT5の表示を見な
がら操作者が決定してもよいが、コンピュータ3によっ
て、ロボット動作において最短距離である終点と始点と
を異なるモジュールから選択する方法によって、順次
モジュールの結合状態を決定することにより、実行順序
を決定してもよい。ただし、各ロボット17〜23のみ
が動作可能なモジュールMl、M2.M3.M4につい
て(L そのロボットしか作業できないので、各構造
体S A、 S B、 S C,S Dに示すように
最初の作業として選択する。
がら操作者が決定してもよいが、コンピュータ3によっ
て、ロボット動作において最短距離である終点と始点と
を異なるモジュールから選択する方法によって、順次
モジュールの結合状態を決定することにより、実行順序
を決定してもよい。ただし、各ロボット17〜23のみ
が動作可能なモジュールMl、M2.M3.M4につい
て(L そのロボットしか作業できないので、各構造
体S A、 S B、 S C,S Dに示すように
最初の作業として選択する。
構造体S A −S Dは、前記のごとく配列されたモ
ジュールM1〜M]1と、その中の教示点毎の単位動作
プログラム及び占有フラグとから構成されている。この
配列順序は実行順序に該当する。
ジュールM1〜M]1と、その中の教示点毎の単位動作
プログラム及び占有フラグとから構成されている。この
配列順序は実行順序に該当する。
ただし、前述のごとく、占有フラグ(よ 予備的動作プ
ログラムが作成された時点で(飄 すべで未定である。
ログラムが作成された時点で(飄 すべで未定である。
また、占有フラグは教示点に付随し、構造体が異なって
も同一の教示点に対して共通の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が
同時に設定される。
も同一の教示点に対して共通の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が
同時に設定される。
次に、各ロボット17〜23に作業を配分して、占有フ
ラグを決定して行く処理(ステップ600)について説
明する。
ラグを決定して行く処理(ステップ600)について説
明する。
この作業配分処理の詳細を第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をすべて検索す
ることにより判定される。
す、まず、各ロボット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をすべて検索す
ることにより判定される。
1つでも占有フラグが決定されていない教示点が存在す
れ[ヱ 肯定判定される。
れ[ヱ 肯定判定される。
最初は全教示点について占有フラグが決定していないの
で、肯定判定されて、次に作業累積時間最短のロボット
が選択される。作業累積時間は各ロボット17〜23毎
にRAM中のメモリに設定されている。最初は全てのロ
ボット17〜23の作業累積時間がrQJであるので、
予め設定しである優先順位にて以下の処理を実施するロ
ボットを選択する。本実施例で(よ ロボット17が最
優先とし、以下ロボット19. 21. 23の順で優
先順位が設定しである。
で、肯定判定されて、次に作業累積時間最短のロボット
が選択される。作業累積時間は各ロボット17〜23毎
にRAM中のメモリに設定されている。最初は全てのロ
ボット17〜23の作業累積時間がrQJであるので、
予め設定しである優先順位にて以下の処理を実施するロ
ボットを選択する。本実施例で(よ ロボット17が最
優先とし、以下ロボット19. 21. 23の順で優
先順位が設定しである。
従って、ロボット17を選択して以下の処理(ステップ
620〜675)を実施する。
620〜675)を実施する。
まず、エンドフラグFelが指し示す、構造体SAの教
示点の占有フラグの内容が判定される(ステップ620
)、 その占有フラグ=「0」であれ1ヱ その占有
フラグにロボット17のIDrAJを設定する(ステッ
プ625)。
示点の占有フラグの内容が判定される(ステップ620
)、 その占有フラグ=「0」であれ1ヱ その占有
フラグにロボット17のIDrAJを設定する(ステッ
プ625)。
次にロボット17の作業累積時間を更新する(ステップ
630)、 即ち、現在のロボット17の姿勢・位置
からその教示点に移動させてそこでの作業を終了するま
での作業時間がシミュ1ノージョンにて求めら札 その
時間が前回までに累積されている作業累積時間に加算さ
れる。
630)、 即ち、現在のロボット17の姿勢・位置
からその教示点に移動させてそこでの作業を終了するま
での作業時間がシミュ1ノージョンにて求めら札 その
時間が前回までに累積されている作業累積時間に加算さ
れる。
次にそのエンドフラグFelが1ステツプ更新される(
ステップ635)。例え(ヱ 構造体SAのプログラム
F4CL1 (教示点T pi−25)をエンドフラ
グFelが指し示していれ1′L 1ステツプの更新に
より、エンドフラグFelはプログラム陽2(教示点T
pl−24)を指し示すことになる。
ステップ635)。例え(ヱ 構造体SAのプログラム
F4CL1 (教示点T pi−25)をエンドフラ
グFelが指し示していれ1′L 1ステツプの更新に
より、エンドフラグFelはプログラム陽2(教示点T
pl−24)を指し示すことになる。
こうして次に再度ステップ610の処理に戻る。
次にステップ610で肯定判定された後、ステップ61
5では現在作業累積時間が最短(このときはrO」)の
ロボット19,21.23の中から優先順位の高いロボ
ット1つが選択され同様にステップ620,625,6
30,635の処理にて、エンドフラグFe2が指し示
している構造体SBのプログラム陽2l (Ta2−
1)の占有フラグにrBJが設定さね 作業累積時間が
加算さ札 エンドフラグFe2が更新されてプログラム
N112 (Ta2−2)を指し示す処理がなされる。
5では現在作業累積時間が最短(このときはrO」)の
ロボット19,21.23の中から優先順位の高いロボ
ット1つが選択され同様にステップ620,625,6
30,635の処理にて、エンドフラグFe2が指し示
している構造体SBのプログラム陽2l (Ta2−
1)の占有フラグにrBJが設定さね 作業累積時間が
加算さ札 エンドフラグFe2が更新されてプログラム
N112 (Ta2−2)を指し示す処理がなされる。
以後同様にロボット21.23についても処理がなさ札
更に継続して最短作業累積時間及び優先順位に応じて
選択されたロボット17〜23に応じて上述の処理が繰
り返されることにより、各構造体S A −S Dの占
有フラグが順次決定されて行次に上記作業配分処理(ス
テップ600)において、複数のロボットの動作範囲に
存在する教示点の占有フラグが、どのように設定される
かについて代表的な例を挙げて説明する。
更に継続して最短作業累積時間及び優先順位に応じて
選択されたロボット17〜23に応じて上述の処理が繰
り返されることにより、各構造体S A −S Dの占
有フラグが順次決定されて行次に上記作業配分処理(ス
テップ600)において、複数のロボットの動作範囲に
存在する教示点の占有フラグが、どのように設定される
かについて代表的な例を挙げて説明する。
[1]まずロボット17について、占有フラグが第10
図(a)のごとく決定さ札 エンドフラグFelがプロ
グラム陽26の教示点T p5−11を指し示しており
、更にロボット17について、占有フラグが第10図(
b)のごとく決定さね エンドフラグFe2がプログラ
ム陽13の教示点T p5−8を指し示しているものと
する。
図(a)のごとく決定さ札 エンドフラグFelがプロ
グラム陽26の教示点T p5−11を指し示しており
、更にロボット17について、占有フラグが第10図(
b)のごとく決定さね エンドフラグFe2がプログラ
ム陽13の教示点T p5−8を指し示しているものと
する。
この状態で、ステップ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」の値が設定される。
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」の値が設定される。
次に そのエンドフラグFe1O値が「−2」か否かが
判定される(ステップ650)、 r−2J即ち配列
が終了していれli 処理は再度、ステップ610に
戻るが、この時はプログラム陽27を指し示しているの
で、否定判定されて、そのエンドフラグFe1位置くプ
ログラムNn27)での教示点T p5−10の占有フ
ラグが「0」でないか否かを判定する(ステップ655
)。ここでは更に「B」が設定されているので、否定判
定されて再度、エンドフラグFetが1つ更新される(
ステップ645)、即ちプログラム叱28を指し示すこ
とになる。
判定される(ステップ650)、 r−2J即ち配列
が終了していれli 処理は再度、ステップ610に
戻るが、この時はプログラム陽27を指し示しているの
で、否定判定されて、そのエンドフラグFe1位置くプ
ログラムNn27)での教示点T p5−10の占有フ
ラグが「0」でないか否かを判定する(ステップ655
)。ここでは更に「B」が設定されているので、否定判
定されて再度、エンドフラグFetが1つ更新される(
ステップ645)、即ちプログラム叱28を指し示すこ
とになる。
同様にプログラムN1128の占有フラグにもr13J
が設定しであるので、更にエンドフラグFelが1つ更
新され(ステップ645)、プログラムNn29を指し
示すことになる。従ってステップ650では否定判定さ
ね 更に、このプログラム陽29で1社 占有フラグが
rOJであるので、ステップ655では肯定判定されて
、その占有フラグにロボット17の1DrAJを設定す
る(ステップ625)。
が設定しであるので、更にエンドフラグFelが1つ更
新され(ステップ645)、プログラムNn29を指し
示すことになる。従ってステップ650では否定判定さ
ね 更に、このプログラム陽29で1社 占有フラグが
rOJであるので、ステップ655では肯定判定されて
、その占有フラグにロボット17の1DrAJを設定す
る(ステップ625)。
次にロボット17をシミュレーションにて、教示点Tp
l−lから教示点T p5−8に移動及び作業させて、
その時間を測定し、ロボット17の作業累積時間に加算
して累積する(ステップ630)0次にエンドフラグF
elを更新して(ステップ635)、即ちプログラムN
n30を指し示すようにして、再度、ステップ610の
処理に戻る。
l−lから教示点T p5−8に移動及び作業させて、
その時間を測定し、ロボット17の作業累積時間に加算
して累積する(ステップ630)0次にエンドフラグF
elを更新して(ステップ635)、即ちプログラムN
n30を指し示すようにして、再度、ステップ610の
処理に戻る。
[2]ステツプ640で肯定判定される場合の処理につ
いて、モジュールM10の処理を例として説明する。
いて、モジュールM10の処理を例として説明する。
作業配分処理がある程度進んで、第11図に示すような
状態になり、ステップ615の処理でロボット17が作
業累積時間最短であると判定された場合を考える。尚、
第11図(1)、(2)、(3) 1よそれぞ札 構造
体SA、SB、SDにおけるモジュールMIO部分のみ
を示したものである。
状態になり、ステップ615の処理でロボット17が作
業累積時間最短であると判定された場合を考える。尚、
第11図(1)、(2)、(3) 1よそれぞ札 構造
体SA、SB、SDにおけるモジュールMIO部分のみ
を示したものである。
このとき、ステップ620では ロボット17のエンド
フラグFelは第11図(1)に示すプログラム咀38
を指し示し、その占有フラグはrB」であることから否
定判定される。
フラグFelは第11図(1)に示すプログラム咀38
を指し示し、その占有フラグはrB」であることから否
定判定される。
次にエンドフラグFelが指し示しているプログラム階
38 (TplO−6)がモジュールMIOの先頭(7
,10−7)でなく、かつ前ステップのプログラム階3
7(教示点T plO−7)の占有フラグがロボット1
7の1DrAJであるか否かが判定されル(ステップ6
40)。ここでは条件が満足されるので肯定判定される
。
38 (TplO−6)がモジュールMIOの先頭(7
,10−7)でなく、かつ前ステップのプログラム階3
7(教示点T plO−7)の占有フラグがロボット1
7の1DrAJであるか否かが判定されル(ステップ6
40)。ここでは条件が満足されるので肯定判定される
。
次にそのモジュールM10内にいまだ占有フラグが「O
」である残教示点が存在するか否かが判定される(ステ
ップ660)。
」である残教示点が存在するか否かが判定される(ステ
ップ660)。
モジュールM10内のプログラムN1141は占有フラ
グが「0」であるので、肯定判定される0次にエンドフ
ラグFelが指し示すプログラム階以降で、かつ同一モ
ジュールMIO内でIDが付与されている教示点を探す
。その教示点はプログラムNct38〜40 (T p
lo−6,T plO−5,T plO−4)である。
グが「0」であるので、肯定判定される0次にエンドフ
ラグFelが指し示すプログラム階以降で、かつ同一モ
ジュールMIO内でIDが付与されている教示点を探す
。その教示点はプログラム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の作業累積時間をその作業の直前の
状態に戻すためである。
内容に該当するロボット19.23に対し、その作業累
積時間から、教示点T pi(1−6,TpiO−5,
T plO−4の作業時間分を減算する(ステップ66
5)。これはIDを移動させるため、そのDに該当する
ロボット19.23の作業累積時間をその作業の直前の
状態に戻すためである。
次にプログラムぬ38〜40の占有フラグのD内容を1
つ後方にシフトする(ステップ670)、次にシフトさ
れたIDに該当するロボット19゜23の作業累積時間
にIDが移動した先の教示点T plO−5,T pl
O−4,T plO−3の作業時間をシミュレーション
により求め、加算する(ステップ675)、こうして占
有フラグに付与されたID通りにロボット19.23の
作業累積時間が訂正される。
つ後方にシフトする(ステップ670)、次にシフトさ
れたIDに該当するロボット19゜23の作業累積時間
にIDが移動した先の教示点T plO−5,T pl
O−4,T plO−3の作業時間をシミュレーション
により求め、加算する(ステップ675)、こうして占
有フラグに付与されたID通りにロボット19.23の
作業累積時間が訂正される。
次にエンドフラグFelが指し示すプログラム階38の
占有フラグをロボット17のl D rAJに設定する
(ステップ625)。
占有フラグをロボット17のl D rAJに設定する
(ステップ625)。
この時点でのロボット17の構造体S^の占有フラグの
状態を示すと、第12図に示すごとくD rAJが連続
して設定されたことが判る。
状態を示すと、第12図に示すごとくD rAJが連続
して設定されたことが判る。
次にその白ボッ11フ0作業累積時間にその教示点T
plO−6の作業時間が加算され(ステップ630)、
エンドフラグFelが1ステツプ更新される(ステップ
635)。即ちエンドフラグFelはプログラムN11
69 (TplO−5)を指し示すことになる。
plO−6の作業時間が加算され(ステップ630)、
エンドフラグFelが1ステツプ更新される(ステップ
635)。即ちエンドフラグFelはプログラムN11
69 (TplO−5)を指し示すことになる。
[3]第13図(1)〜(3)のごとくにモジュールM
llの占有フラグが設定されて、構造体SCのエンドフ
ラグFe3がプログラムN1141ている場合に作業累
積時間が最短のロボットとしてロボット21が選択され
たとする。
llの占有フラグが設定されて、構造体SCのエンドフ
ラグFe3がプログラムN1141ている場合に作業累
積時間が最短のロボットとしてロボット21が選択され
たとする。
このときに(よ エンドフラグ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が設定
されているので否定判定される。
プログラム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が設定
されているので否定判定される。
次に、エンドフラグ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の処理に戻る。
テップ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の処理に戻る。
上述のような処理が繰り返されて、最終的に第14図(
a)、 (b)、 (c)、 (d)に示すよう
な構造体S A、 S B、 S C,S Dが作成さ
れる。
a)、 (b)、 (c)、 (d)に示すよう
な構造体S A、 S B、 S C,S Dが作成さ
れる。
以上説明したよう、ステップ600の処理で(よ教示点
の作業が作業累積時間が均等となるように配分されて行
く。 しかもステップ620,640゜660、 66
5. 670,675の一連の処理により、共通の作業
領域にある教示点がロボット毎にまとめられるので、効
率的な作業の出来る教示点配分が可能となる。
の作業が作業累積時間が均等となるように配分されて行
く。 しかもステップ620,640゜660、 66
5. 670,675の一連の処理により、共通の作業
領域にある教示点がロボット毎にまとめられるので、効
率的な作業の出来る教示点配分が可能となる。
二のようにしてID未定の教示点が全ての構造体S A
−S Dにおいて存在しなくなれ(ヱ ステップ61
0にて否定判定されて、次に作成された第14図(a)
〜(d)に示す各構造体S A −S Dから、各ロボ
ット毎の教示用動作プログラムが作成されて、更にその
登録・修正処理が実行される(ステップ700)。即ち
、ロボット17については構造体S^の汽 占有フラグ
が「A」の教示点のデータのみが順に取り出されて一体
化さ札 ロボット17用の教示用動作プログラムとして
、ハードディスク装置11やフロッピィに記憶される。
−S Dにおいて存在しなくなれ(ヱ ステップ61
0にて否定判定されて、次に作成された第14図(a)
〜(d)に示す各構造体S A −S Dから、各ロボ
ット毎の教示用動作プログラムが作成されて、更にその
登録・修正処理が実行される(ステップ700)。即ち
、ロボット17については構造体S^の汽 占有フラグ
が「A」の教示点のデータのみが順に取り出されて一体
化さ札 ロボット17用の教示用動作プログラムとして
、ハードディスク装置11やフロッピィに記憶される。
このフロッピィには必要に応じてデータ変換を行ってか
ら記憶する。
ら記憶する。
またこうして出来た教示用動作プログラムにてシミュレ
ーションを実行して不都合な動作をする場合、例えば他
のロボットと干渉してたり、いままで判らなかったボデ
ィ15との干渉が発見されれば、その教示用動作プログ
ラムを修正する処理がなされる。他のロボット19〜2
3についても同様にして構造体S B、 S C,S
Dから教示用動作プログラムが作成さね登録及び修正さ
れる。
ーションを実行して不都合な動作をする場合、例えば他
のロボットと干渉してたり、いままで判らなかったボデ
ィ15との干渉が発見されれば、その教示用動作プログ
ラムを修正する処理がなされる。他のロボット19〜2
3についても同様にして構造体S B、 S C,S
Dから教示用動作プログラムが作成さね登録及び修正さ
れる。
このようにして、シミュレーション(こよる教示用動作
プログラムが完成する。そして、その教示用動作プログ
ラムは、ロボット17〜23の制御装置31〜37に読
み込まれて実際の作業あるいは試行に用いられる。句法
この作業の結果、不都合があればその制御装置31〜
37上で修正しても良いし、また再度、シミュレーショ
ン装置1に教示用動作プログラムを戻して、シミュレー
ションにより動作を確認しつつ、前記ステップ700と
同様に教示用動作プログラムを修正するようにしてもよ
い。
プログラムが完成する。そして、その教示用動作プログ
ラムは、ロボット17〜23の制御装置31〜37に読
み込まれて実際の作業あるいは試行に用いられる。句法
この作業の結果、不都合があればその制御装置31〜
37上で修正しても良いし、また再度、シミュレーショ
ン装置1に教示用動作プログラムを戻して、シミュレー
ションにより動作を確認しつつ、前記ステップ700と
同様に教示用動作プログラムを修正するようにしてもよ
い。
以上は4台のロボット間の作業配分についてであったが
、2〜3台でも、5台以上でも同様(二して配分が可能
である。
、2〜3台でも、5台以上でも同様(二して配分が可能
である。
艷丑卑匁1
本発明の複数ロボットの教示データ作成方法は、各教示
点毎にロボットを選択しつつ各ロボット毎に作業時間を
累積して行き、少なくとも2つのロボットの動作域が重
なっている作業領域内の教示点に対するロボットの選択
に際して(友 その時点で累積されている作業時間が最
短のロボットを選択するようにして、教示点の作業配分
を決定しているので、常に各ロボットの作業時間が均一
になるように教示点配分が設定されて行く。こうして作
業時間が短くかつバランスがよい教示データ(動作プロ
グラム)が、迅速に得られる。
点毎にロボットを選択しつつ各ロボット毎に作業時間を
累積して行き、少なくとも2つのロボットの動作域が重
なっている作業領域内の教示点に対するロボットの選択
に際して(友 その時点で累積されている作業時間が最
短のロボットを選択するようにして、教示点の作業配分
を決定しているので、常に各ロボットの作業時間が均一
になるように教示点配分が設定されて行く。こうして作
業時間が短くかつバランスがよい教示データ(動作プロ
グラム)が、迅速に得られる。
第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
のシステム構成は 第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
Claims (1)
- 【特許請求の範囲】 各作業領域の少なくとも一部が重なるよう配置された
複数のロボットと、作業領域内に設定された教示点とを
対応づけて、複数ロボットが同時に作業するための教示
データを作成する方法であつて、 各教示点毎にロボットを選択し、シミュレーションにて
作業させて行くことにより、各ロボット毎の作業時間を
算出して行くと共に、 少なくとも2つのロボットの動作域が重なっている作業
領域内の教示点に対するロボットの選択に際しては、そ
の選択の時点で作業時間が最短のロボットを選択するこ
とを特徴とする複数ロボットの教示データ作成方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP20178789A JPH0366577A (ja) | 1989-08-03 | 1989-08-03 | 複数ロボットの教示データ作成方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP20178789A JPH0366577A (ja) | 1989-08-03 | 1989-08-03 | 複数ロボットの教示データ作成方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0366577A true JPH0366577A (ja) | 1991-03-22 |
Family
ID=16446929
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP20178789A Pending JPH0366577A (ja) | 1989-08-03 | 1989-08-03 | 複数ロボットの教示データ作成方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0366577A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2022091409A (ja) * | 2020-12-09 | 2022-06-21 | 株式会社安川電機 | ロボットシステム |
| JP2022181974A (ja) * | 2021-05-27 | 2022-12-08 | 株式会社ジャノメ | 経路教示データ作成装置及び経路教示データ作成方法並びにプログラム |
-
1989
- 1989-08-03 JP JP20178789A patent/JPH0366577A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2022091409A (ja) * | 2020-12-09 | 2022-06-21 | 株式会社安川電機 | ロボットシステム |
| US11872686B2 (en) | 2020-12-09 | 2024-01-16 | Kabushiki Kaisha Yaskawa Denki | Robot system |
| JP2022181974A (ja) * | 2021-05-27 | 2022-12-08 | 株式会社ジャノメ | 経路教示データ作成装置及び経路教示データ作成方法並びにプログラム |
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 (ja) | 衝突回避動作計画のための方法 | |
| JP3951079B2 (ja) | オフラインティーチング方法、オフラインティーチング装置および記録媒体 | |
| US4912383A (en) | Method of controlling a robot | |
| JPH0366577A (ja) | 複数ロボットの教示データ作成方法 | |
| JP3596581B2 (ja) | オフラインティーチングにおけるツールの作業条件設定方法 | |
| JPH08286722A (ja) | Cadデータ利用オフラインティーチング方法及びそのシステム | |
| JP2827268B2 (ja) | 複数ロボットの教示用データ作成方法 | |
| JP2023057024A (ja) | 情報処理装置、情報処理方法、物品の製造方法、プログラム、記録媒体、システム | |
| JPH06134684A (ja) | ロボット軌道を教示するための方法 | |
| JPH07306705A (ja) | 曲げ加工機におけるロボットの教示装置 | |
| JPH0774970B2 (ja) | ロボットの作業計画装置 | |
| JP2000141176A (ja) | 生産ラインの作業配分シミュレーション方法 | |
| JP2000112510A (ja) | ロボットの教示方法及びその装置 | |
| JPH02257312A (ja) | ロボットの教示用データ作成方法 | |
| JP3134653B2 (ja) | 中間点教示データ作成方法 | |
| JP2925397B2 (ja) | 形状データ作成方法 | |
| JPH06131021A (ja) | 複数ロボットの制御方法 | |
| JPH0281209A (ja) | ロボットの教示用データ作成方法 | |
| JP4195945B2 (ja) | ロボットの経路作成方法及び装置 | |
| JP2002116817A (ja) | タスク割付方法およびこれを適用した制御装置 | |
| JP2003117864A (ja) | 多関節ロボットのティーチングデータ作成方法 | |
| JPS6232504A (ja) | 産業用ロボツトの制御システム | |
| JP2000141177A (ja) | 生産ラインの作業配分シミュレーション方法 |