JPH06131021A - 複数ロボットの制御方法 - Google Patents
複数ロボットの制御方法Info
- Publication number
- JPH06131021A JPH06131021A JP30623192A JP30623192A JPH06131021A JP H06131021 A JPH06131021 A JP H06131021A JP 30623192 A JP30623192 A JP 30623192A JP 30623192 A JP30623192 A JP 30623192A JP H06131021 A JPH06131021 A JP H06131021A
- Authority
- JP
- Japan
- Prior art keywords
- work
- robot
- partial
- 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
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
(57)【要約】
【目的】 プログラムの作成・教示の負担が少なく、作
業実行条件の変化に対してフレクシビリティの高い複数
ロボットの制御方法。 【構成】 複数のロボットに実行させるべき全体作業を
複数の部分作業に分割し、複数のロボットの各々に複数
の部分作業のうち作業適性に対応して選択された1つま
たは2以上の部分作業の為の部分作業プログラムを教示
し、該部分作業プログラムに従って該部分作業を各ロボ
ットに実行させる。全体作業進行中の随時時点において
各部分作業のうち予め与えられた束縛条件に照らして実
行可能性のある1つ又は2以上の部分作業を捜し出し、
該実行可能性のある部分作業に作業適性を有しかつ非作
業中のロボットを割り当て、該ロボットが割り当てられ
た部分作業のうち、既に実行中の部分作業があればそれ
を続行するという条件下で新たに同時実行することの可
能な部分作業を選択して実行する。
業実行条件の変化に対してフレクシビリティの高い複数
ロボットの制御方法。 【構成】 複数のロボットに実行させるべき全体作業を
複数の部分作業に分割し、複数のロボットの各々に複数
の部分作業のうち作業適性に対応して選択された1つま
たは2以上の部分作業の為の部分作業プログラムを教示
し、該部分作業プログラムに従って該部分作業を各ロボ
ットに実行させる。全体作業進行中の随時時点において
各部分作業のうち予め与えられた束縛条件に照らして実
行可能性のある1つ又は2以上の部分作業を捜し出し、
該実行可能性のある部分作業に作業適性を有しかつ非作
業中のロボットを割り当て、該ロボットが割り当てられ
た部分作業のうち、既に実行中の部分作業があればそれ
を続行するという条件下で新たに同時実行することの可
能な部分作業を選択して実行する。
Description
【0001】
【産業上の利用分野】本発明は、複数の部分作業からな
る作業を複数の産業用ロボットを使用して実行する際の
制御方法に関する。
る作業を複数の産業用ロボットを使用して実行する際の
制御方法に関する。
【0002】
【従来の技術】工場の作業現場等においては、一連の複
数の部分作業からなる作業を複数のロボットを使用して
実行することが少なくないが、その場合、限られた作業
空間内で作業を効率的に行う為にこれら複数のロボット
を高密度で配置する必要が生じることが多い。
数の部分作業からなる作業を複数のロボットを使用して
実行することが少なくないが、その場合、限られた作業
空間内で作業を効率的に行う為にこれら複数のロボット
を高密度で配置する必要が生じることが多い。
【0003】ところが、ロボットの配置を高密度にする
とロボットアーム、周辺機器あるいはワーク等の間で相
互干渉が起こり易くなる。その為、従来は複数ロボット
の制御プログラムを作成時にプログラム作成者が、相互
干渉の生じない各ロボットの動作の内容と順序を事前に
詳細検討し、これに反しないように複数のロボットを通
信手段を用いて同期的に動作させるプログラムを作成し
ていた。
とロボットアーム、周辺機器あるいはワーク等の間で相
互干渉が起こり易くなる。その為、従来は複数ロボット
の制御プログラムを作成時にプログラム作成者が、相互
干渉の生じない各ロボットの動作の内容と順序を事前に
詳細検討し、これに反しないように複数のロボットを通
信手段を用いて同期的に動作させるプログラムを作成し
ていた。
【0004】
【発明が解決しようとする課題】部分作業の組合せから
なる作業においては、例えば、供給される多種類のワー
クの供給順序の変化乃至変更、あるいはそれに対応した
作業内容や順序の変化乃至変更等のバリエーションが多
々想定されるが、上記従来の方式においては、このよう
な部分作業の組合せの変化に対して、個別の制御プログ
ラムを作成し直して各ロボットにその都度教示しなけれ
ばならず、プログラムの再利用性に乏しく、教示作業が
煩雑であるという問題があった。
なる作業においては、例えば、供給される多種類のワー
クの供給順序の変化乃至変更、あるいはそれに対応した
作業内容や順序の変化乃至変更等のバリエーションが多
々想定されるが、上記従来の方式においては、このよう
な部分作業の組合せの変化に対して、個別の制御プログ
ラムを作成し直して各ロボットにその都度教示しなけれ
ばならず、プログラムの再利用性に乏しく、教示作業が
煩雑であるという問題があった。
【0005】また、作業を繰り返し実行中に外乱(例え
ばアーク溶接時のワイヤの断線)が発生した場合に、部
分作業の順序や参加するロボットを変更する等のスケジ
ュール変更を行って作業を継続するというような迅速な
対応をとることが困難であった。
ばアーク溶接時のワイヤの断線)が発生した場合に、部
分作業の順序や参加するロボットを変更する等のスケジ
ュール変更を行って作業を継続するというような迅速な
対応をとることが困難であった。
【0006】本発明はこのような従来技術の問題点を克
服し、制御プログラムの再利用性を高めてプログラム作
成と各ロボットへの教示作業の負担を軽減することがで
き、また、外乱にも迅速に対応して作業を効率的に実行
することが可能な複数ロボットの制御方法を提供するも
のである。
服し、制御プログラムの再利用性を高めてプログラム作
成と各ロボットへの教示作業の負担を軽減することがで
き、また、外乱にも迅速に対応して作業を効率的に実行
することが可能な複数ロボットの制御方法を提供するも
のである。
【0007】
(1)先ず、複数のロボットによって1つの作業空間内
で実行されるべき作業の全体を幾つかの部分作業に分割
する。例えば、ワーク等の物品を1個づつ第1位置、第
2位置、第3位置・・・・に順次運搬する作業において
は、1つの物品を第N番目の位置から第N+1番目の位
置へ運搬する作業を1部分作業とする。また、複数ビー
ドを順次作るアーク溶接作業では、1個のビードに1部
分作業を割り当てれば良い。
で実行されるべき作業の全体を幾つかの部分作業に分割
する。例えば、ワーク等の物品を1個づつ第1位置、第
2位置、第3位置・・・・に順次運搬する作業において
は、1つの物品を第N番目の位置から第N+1番目の位
置へ運搬する作業を1部分作業とする。また、複数ビー
ドを順次作るアーク溶接作業では、1個のビードに1部
分作業を割り当てれば良い。
【0008】(2)作業に参加する複数ロボットの内、
各部分作業を実行し得る1台又は複数台のロボット(以
下、作業適性があるロボットと呼ぶ。)に該部分作業に
対応する動作(部分作業プログラム)を教示する。例え
ば、1つのワークの把持点やビード位置に距離的にアク
セス可能で、運搬機能や支持したトーチの形状等が適切
であるロボットは1台とは限らないのが普通と考えられ
るが、その場合、該部分作業適性のあるロボットの各々
に該運搬作業あるいはアーク溶接作業に対応した動作
(部分作業プログラム)を教示する。
各部分作業を実行し得る1台又は複数台のロボット(以
下、作業適性があるロボットと呼ぶ。)に該部分作業に
対応する動作(部分作業プログラム)を教示する。例え
ば、1つのワークの把持点やビード位置に距離的にアク
セス可能で、運搬機能や支持したトーチの形状等が適切
であるロボットは1台とは限らないのが普通と考えられ
るが、その場合、該部分作業適性のあるロボットの各々
に該運搬作業あるいはアーク溶接作業に対応した動作
(部分作業プログラム)を教示する。
【0009】(3)このようにすると、部分作業(p)
とロボット(R)の組合せ[p:R]について数多くの
ものが考えられる。しかし、これら部分作業とロボット
の組合せの中には、干渉の為に同時に実行出来ないもの
が混ざっている(例えば、2台の隣接し合うロボットの
各々が隣接し合うビード位置の各々にタイミングをずら
せてアクセスすれば溶接作業を支障なく遂行出来るが、
同時にアクセスすると各ロボットのアーム同士等が干渉
(衝突)してしまうというようなケースが考えられ
る。)。
とロボット(R)の組合せ[p:R]について数多くの
ものが考えられる。しかし、これら部分作業とロボット
の組合せの中には、干渉の為に同時に実行出来ないもの
が混ざっている(例えば、2台の隣接し合うロボットの
各々が隣接し合うビード位置の各々にタイミングをずら
せてアクセスすれば溶接作業を支障なく遂行出来るが、
同時にアクセスすると各ロボットのアーム同士等が干渉
(衝突)してしまうというようなケースが考えられ
る。)。
【0010】そこで、m個の部分作業pi とn台のロボ
ットRj のすべての組合せ[pi :Rj ]、(i=1,2,
3.....m;j=1,2,3....n)のうち作業適性のある組合せに
ついて、同時実行可能性の有無をオフラインシステムに
よって予め検出しておき、ロボット制御手段(ロボット
コントローラあるいはセルコントローラ)に記憶させ
る。ロボット制御手段に各ロボット自身のデータやエフ
ェクタのデータを入力しておき、作業実行時に部分作業
と作業適性のあるロボットの任意の組合せ、[pi :R
j ]―[pk :Rl ](i,k=1,2,3...;j,l=1,2,3,...)に
ついて同時実行性を判断出来るようにしておいても良
い。
ットRj のすべての組合せ[pi :Rj ]、(i=1,2,
3.....m;j=1,2,3....n)のうち作業適性のある組合せに
ついて、同時実行可能性の有無をオフラインシステムに
よって予め検出しておき、ロボット制御手段(ロボット
コントローラあるいはセルコントローラ)に記憶させ
る。ロボット制御手段に各ロボット自身のデータやエフ
ェクタのデータを入力しておき、作業実行時に部分作業
と作業適性のあるロボットの任意の組合せ、[pi :R
j ]―[pk :Rl ](i,k=1,2,3...;j,l=1,2,3,...)に
ついて同時実行性を判断出来るようにしておいても良
い。
【0011】(4)更に、部分作業自体に順序の束縛条
件(例えば、ワーク1はワーク2より先にコンベアに載
せなければならないとか、ビード1はビード2よりも先
に作業を完了していなければならないとかの条件)が課
せられている場合には、それらの条件乃至要件もロボッ
ト制御手段に記憶させておく。
件(例えば、ワーク1はワーク2より先にコンベアに載
せなければならないとか、ビード1はビード2よりも先
に作業を完了していなければならないとかの条件)が課
せられている場合には、それらの条件乃至要件もロボッ
ト制御手段に記憶させておく。
【0012】(5)以上の準備のもとに、一連の部分作
業を順次実行する。その際、上記(4)で述べた部分作
業順序条件を満たすような部分作業について、上記
(3)で述べた同時実行条件を満たす部分作業とロボッ
トの組合せを選択することを繰り返して全部分作業を遂
行する。
業を順次実行する。その際、上記(4)で述べた部分作
業順序条件を満たすような部分作業について、上記
(3)で述べた同時実行条件を満たす部分作業とロボッ
トの組合せを選択することを繰り返して全部分作業を遂
行する。
【0013】
【作用】本発明は、複数ロボットR1 、R2 、R3 、・
・・を使用して行う作業全体Aが部分作業p1,p2,p
3,....) に分解出来ることが一般的である点に着目し、
1つの部分作業pi と1台のロボットロボットRj の組
合せを1つの構成要素Eij=[pi :Rj ]とした集合
E={Eij}を考え、作業実行時にこの集合Eの中から
作業適性、同時実行可能性及び部分作業の実行順序に関
する条件を考慮して、1つ又は複数の要素を順次選択し
て対応する1つ又は複数の部分作業を実行することを繰
り返す形で必要な部分作業のすべてを遂行するものであ
る。
・・を使用して行う作業全体Aが部分作業p1,p2,p
3,....) に分解出来ることが一般的である点に着目し、
1つの部分作業pi と1台のロボットロボットRj の組
合せを1つの構成要素Eij=[pi :Rj ]とした集合
E={Eij}を考え、作業実行時にこの集合Eの中から
作業適性、同時実行可能性及び部分作業の実行順序に関
する条件を考慮して、1つ又は複数の要素を順次選択し
て対応する1つ又は複数の部分作業を実行することを繰
り返す形で必要な部分作業のすべてを遂行するものであ
る。
【0014】従って、全作業を通してのロボットと部分
作業の組合せや作業順序のすべてを、種々の束縛条件を
満たすように固定的に定めた制御プログラムを作成して
各ロボットに教示し、該固定的なプログラムを読出して
全作業をワンパッケージで実行する従来のやり方に比べ
て、制御方法として遥かにフレクシビリティが高い。
作業の組合せや作業順序のすべてを、種々の束縛条件を
満たすように固定的に定めた制御プログラムを作成して
各ロボットに教示し、該固定的なプログラムを読出して
全作業をワンパッケージで実行する従来のやり方に比べ
て、制御方法として遥かにフレクシビリティが高い。
【0015】すなわち、プログラムは各部分作業に対応
したもの作成し、その部分作業に作業適性がある各ロボ
ットに各ロボットに応じた若干の修正を加えたものを教
示しておけば良いので、プログラムの作成と各ロボット
への教示の負担が少ない。特に、作業内容の一部に変更
があった場合でも、該変更に関係する束縛条件設定内容
の修正や必要最小限の部分作業プログラムの変更を行え
ば、プログラム全体を作り直すことなく迅速かつ柔軟に
対応出来る。
したもの作成し、その部分作業に作業適性がある各ロボ
ットに各ロボットに応じた若干の修正を加えたものを教
示しておけば良いので、プログラムの作成と各ロボット
への教示の負担が少ない。特に、作業内容の一部に変更
があった場合でも、該変更に関係する束縛条件設定内容
の修正や必要最小限の部分作業プログラムの変更を行え
ば、プログラム全体を作り直すことなく迅速かつ柔軟に
対応出来る。
【0016】また、作業の実行中に溶接ワイヤの断線や
障害物の出現等の予期せざる事態(外乱)が発生して
も、作業適性条件、同時実行条件あるいは作業順序等に
関する設定データや幾つかの関連部分作業プログラムに
必要最小限の変更を加えるのみで作業を再開乃至継続す
ることが可能な複数ロボット制御方法となっている。
障害物の出現等の予期せざる事態(外乱)が発生して
も、作業適性条件、同時実行条件あるいは作業順序等に
関する設定データや幾つかの関連部分作業プログラムに
必要最小限の変更を加えるのみで作業を再開乃至継続す
ることが可能な複数ロボット制御方法となっている。
【0017】
【実施例】本発明を加工作業におけるハンドリングに適
用した例について図1〜図3を参照して説明する。
用した例について図1〜図3を参照して説明する。
【0018】(I )図1は、加工作業を行う加工ライン
を模式的に示した図であり、図2は図1に示した加工ラ
インの制御に本発明を適用する際に使用するシステムの
基本構成の一例を示す図である。
を模式的に示した図であり、図2は図1に示した加工ラ
インの制御に本発明を適用する際に使用するシステムの
基本構成の一例を示す図である。
【0019】図1に示された加工ライン全体は図2中に
示したセルコントローラ20によって制御される。セル
コントローラ20自身はホストコンピュータ10によっ
て制御される一方、図示しないインターフェースを介し
て加工機Ma 〜Md に接続され、各加工機に加工の開始
を指令するとともに、加工完了信号等を受信出来るよう
に構成されている。
示したセルコントローラ20によって制御される。セル
コントローラ20自身はホストコンピュータ10によっ
て制御される一方、図示しないインターフェースを介し
て加工機Ma 〜Md に接続され、各加工機に加工の開始
を指令するとともに、加工完了信号等を受信出来るよう
に構成されている。
【0020】また、セルコントローラ20によって制御
される2台のロボットX,Yが加工ラインに臨んで配置
され、加工ラインにおけるワークのハンドリング作業を
実行する。セルコントローラ20の構成は公知のもので
良く、特に図示しないが、後述する各部分プログラム、
各ロボットの各部分作業に対する作業適性のデータ、同
時作業可能性データ、部分作業優先順位データ、各加工
の進行状況や各加工位置に存在するワークの種類を判断
する為にホストコンピュータ10あるいは加工機Ma 〜
Md からセルコントローラ20自身に内蔵された各イン
ターフェースを介して送られて来るデータ、各部分作業
が実行可能となる為の加工ラインの状態に関する条件の
データ等を記憶格納する為に必要なROM、RAM等の
メモリ装置を備えている。
される2台のロボットX,Yが加工ラインに臨んで配置
され、加工ラインにおけるワークのハンドリング作業を
実行する。セルコントローラ20の構成は公知のもので
良く、特に図示しないが、後述する各部分プログラム、
各ロボットの各部分作業に対する作業適性のデータ、同
時作業可能性データ、部分作業優先順位データ、各加工
の進行状況や各加工位置に存在するワークの種類を判断
する為にホストコンピュータ10あるいは加工機Ma 〜
Md からセルコントローラ20自身に内蔵された各イン
ターフェースを介して送られて来るデータ、各部分作業
が実行可能となる為の加工ラインの状態に関する条件の
データ等を記憶格納する為に必要なROM、RAM等の
メモリ装置を備えている。
【0021】(II)図1において、1は作業スペースを
概念的に表したもので、この作業スペース1にワークが
セルコントローラ20に接続されたフィーダ2から順次
供給される。供給された各ワークに対する運搬作業がセ
ルコントローラ20に接続された2台のロボットX、Y
によって実行され、該運搬作業によって所定位置に置か
れたワークに対して、該所定位置近傍に配置された加工
機Ma 〜Md が所定の加工を施す。加工の種類は合計4
種類あり、これを<a>、<b>、<c>、<d>で表
す。各種類の加工は各々特定された位置a、b,c,d
において、各加工機Ma 〜Md によって実行される。本
実施例では加工乃至加工機の種類と加工の為にワークが
運ばれる位置とは1対1対応しているが、このような対
応関係は無くても本発明の適用に差し支えることはな
い。
概念的に表したもので、この作業スペース1にワークが
セルコントローラ20に接続されたフィーダ2から順次
供給される。供給された各ワークに対する運搬作業がセ
ルコントローラ20に接続された2台のロボットX、Y
によって実行され、該運搬作業によって所定位置に置か
れたワークに対して、該所定位置近傍に配置された加工
機Ma 〜Md が所定の加工を施す。加工の種類は合計4
種類あり、これを<a>、<b>、<c>、<d>で表
す。各種類の加工は各々特定された位置a、b,c,d
において、各加工機Ma 〜Md によって実行される。本
実施例では加工乃至加工機の種類と加工の為にワークが
運ばれる位置とは1対1対応しているが、このような対
応関係は無くても本発明の適用に差し支えることはな
い。
【0022】一方、供給されるワークにはA、B、Cの
3種類があるものとし、施されるべき加工の種類と順序
が次のようにワークの種類毎に異なっているものとす
る。
3種類があるものとし、施されるべき加工の種類と順序
が次のようにワークの種類毎に異なっているものとす
る。
【0023】 種類Aのワークに対して;加工<a>→<b>→<d> ・・・・[1] 種類Aのワークに対して;加工<a>→<b>→<c> ・・・・[2] 種類Aのワークに対して;加工<a>→<d> ・・・・[3] ロボットX、Yの役割は、フィーダ2上の定位置(☆
印)から供給されたワークを加工に為に所定の位置a〜
dのいずれかに配置し、加工完了後に別のb,c,dあ
るいは完成品コンベア3上の定位置(★印)に移動させ
ることである。いずれのワークも、最終的にはロボット
X又はロボットYによって完成品コンベア3の★印位置
に必ず移動させるものとする。2台のロボットX,Yの
いずれかによって実行されるべき全作業の1サイクル
は、以下の部分作業p01〜p11に分割出来る。
印)から供給されたワークを加工に為に所定の位置a〜
dのいずれかに配置し、加工完了後に別のb,c,dあ
るいは完成品コンベア3上の定位置(★印)に移動させ
ることである。いずれのワークも、最終的にはロボット
X又はロボットYによって完成品コンベア3の★印位置
に必ず移動させるものとする。2台のロボットX,Yの
いずれかによって実行されるべき全作業の1サイクル
は、以下の部分作業p01〜p11に分割出来る。
【0024】p01;Aをフィーダ2(☆印位置)からa
に移動する。 p02;Aをaからbに移動する。 p03;Aをbからdに移動する。 p04;Aをdから完成品コンベア3(★印位置)に移動
する。 p05;Bをフィーダ2(☆印位置)からaに移動する。 p06;Bをaからbに移動する。 p07;Bをbからcに移動する。 p08;Bをcから完成品コンベア3(★印位置)に移動
する。 p09;Cをフィーダ2(☆印位置)からaに移動する。 p10;Cをaからdに移動する。 p11;Cをdから完成品コンベア3(★印位置)に移動
する。
に移動する。 p02;Aをaからbに移動する。 p03;Aをbからdに移動する。 p04;Aをdから完成品コンベア3(★印位置)に移動
する。 p05;Bをフィーダ2(☆印位置)からaに移動する。 p06;Bをaからbに移動する。 p07;Bをbからcに移動する。 p08;Bをcから完成品コンベア3(★印位置)に移動
する。 p09;Cをフィーダ2(☆印位置)からaに移動する。 p10;Cをaからdに移動する。 p11;Cをdから完成品コンベア3(★印位置)に移動
する。
【0025】(III )本実施例では、これらp01からp
11の部分作業のいずれについても両方のロボットX,Y
に作業適性があるものとする。従って、2台のロボット
X,Yの各々について、p01〜p11のいずれの部分作業
でも実行可能であるように、各ロボットX、Yのプログ
ラムを作成する。
11の部分作業のいずれについても両方のロボットX,Y
に作業適性があるものとする。従って、2台のロボット
X,Yの各々について、p01〜p11のいずれの部分作業
でも実行可能であるように、各ロボットX、Yのプログ
ラムを作成する。
【0026】プログラムを作成する手段について、本発
明は特定の制限を課すものではないが、例えば、両ロボ
ットが同型であれば、一方のロボットの為に作成された
プログラムに対して座標系あるいは座標値データの切換
に対応する変更を加えるだけで他方のロボットに適用可
能なプログラムが得られることを利用して、プログラム
作成に要する負担(工数)を軽減することが出来る。
明は特定の制限を課すものではないが、例えば、両ロボ
ットが同型であれば、一方のロボットの為に作成された
プログラムに対して座標系あるいは座標値データの切換
に対応する変更を加えるだけで他方のロボットに適用可
能なプログラムが得られることを利用して、プログラム
作成に要する負担(工数)を軽減することが出来る。
【0027】また、オフラインプログラミングシステム
を使用すると、「aにあるAを把持する為のロボットハ
ンドの位置」等を計算によって求めることが出来るの
で、更に効率的にプログラムを作成することが出来る。
を使用すると、「aにあるAを把持する為のロボットハ
ンドの位置」等を計算によって求めることが出来るの
で、更に効率的にプログラムを作成することが出来る。
【0028】本実施例ではすべての部分作業についてい
ずれのロボットも実行可能とされているが、例えばエフ
ェクタやアクセス位置の問題で1台の特定のロボットの
みがその部分作業を分担可能な場合には、その部分作業
を実行する為のプログラムは当該1台のロボットのみに
適用されることは言うまでもない。
ずれのロボットも実行可能とされているが、例えばエフ
ェクタやアクセス位置の問題で1台の特定のロボットの
みがその部分作業を分担可能な場合には、その部分作業
を実行する為のプログラムは当該1台のロボットのみに
適用されることは言うまでもない。
【0029】(IV)各部分作業毎のプログラムを作成す
る一方で、ロボットXとロボットYが同時に実行可能な
部分作業の組合せを選び出して特定する。
る一方で、ロボットXとロボットYが同時に実行可能な
部分作業の組合せを選び出して特定する。
【0030】本実施例では、例えば部分作業p1 をロボ
ットXが実行している最中に部分作業p6 をロボットY
が実行しようとすると、位置aの付近で2台のロボット
のアームが干渉を起こすというような条件が存在するこ
とを想定する。すなわち、部分作業p1 とp6 とは同時
実行不可能ということになる。このような同時実行可能
性の有無をすべての部分作業の組合せについて予め調べ
ておく。但し、前述したように、ロボットコントローラ
に各ロボット自身のデータやエフェクタのデータを入力
しておき、作業実行時に部分作業と作業適性のあるロボ
ットの任意の組合せ、[pi :Rj ]―[pk :Rl ]
(i,k=1,2,3...11;j,l=1,2)、[但しR1=X、R2 =
Y]について同時実行性をリアルタイムに判断出来るよ
うにしておいても良い。
ットXが実行している最中に部分作業p6 をロボットY
が実行しようとすると、位置aの付近で2台のロボット
のアームが干渉を起こすというような条件が存在するこ
とを想定する。すなわち、部分作業p1 とp6 とは同時
実行不可能ということになる。このような同時実行可能
性の有無をすべての部分作業の組合せについて予め調べ
ておく。但し、前述したように、ロボットコントローラ
に各ロボット自身のデータやエフェクタのデータを入力
しておき、作業実行時に部分作業と作業適性のあるロボ
ットの任意の組合せ、[pi :Rj ]―[pk :Rl ]
(i,k=1,2,3...11;j,l=1,2)、[但しR1=X、R2 =
Y]について同時実行性をリアルタイムに判断出来るよ
うにしておいても良い。
【0031】本実施例における各部分作業相互間の同時
実行性の有無は次の通りとする。○印は同時実行可能、
×印は同時実行不可能であることを表している。
実行性の有無は次の通りとする。○印は同時実行可能、
×印は同時実行不可能であることを表している。
【0032】 X p01 02 03 04 05 06 07 08 09 10 11 Y p01 ― × ○ ○ × × ○ ○ × × ○ 02 × ― × ○ × × × ○ × × ○ 03 ○ × ― × ○ × × × ○ × × 04 ○ ○ × ― ○ ○ × × ○ × × 05 × × ○ ○ ― × ○ ○ × × ○ 06 × × × ○ × ― × ○ × × ○ 07 ○ × × ○ ○ × ― × ○ ○ ○ 08 ○ ○ ○ × ○ ○ × ― ○ ○ × 09 × × ○ ○ × × ○ ○ ― × ○ 10 × × × × × × × × × ― × 11 ○ ○ × × ○ ○ × × ○ × ― この表に相当するデ−タは加工ライン全体を制御するセ
ルコントローラ20内のメモリに記憶される。複数のロ
ボットを1つのロボットコントローラで制御する場合に
は、同時作業可能性デ−タをロボットコントローラに記
憶させるようにしても良い。
ルコントローラ20内のメモリに記憶される。複数のロ
ボットを1つのロボットコントローラで制御する場合に
は、同時作業可能性デ−タをロボットコントローラに記
憶させるようにしても良い。
【0033】(V )次に、部分作業毎に、それを実行す
るロボットの優先順位を定める。本実施例では、cはロ
ボットYに近く、dはロボットXに近いので部分作業p
3 、p4 、p10、p11はロボットXが優先して実行する
ものとし、残りのp1 、p2、p5 、p6 、p7 、p8
、p9 はロボットYが優先されるものとする。
るロボットの優先順位を定める。本実施例では、cはロ
ボットYに近く、dはロボットXに近いので部分作業p
3 、p4 、p10、p11はロボットXが優先して実行する
ものとし、残りのp1 、p2、p5 、p6 、p7 、p8
、p9 はロボットYが優先されるものとする。
【0034】優先順位を決める方法に特に制限はなく、
作業効率等を考慮して任意の手法によって最良のものを
定めれば良い。本実施例のように逐一個別に決定するの
ではなく、オフラインシステムを利用して、各ロボット
が該部分作業の実行に要する時間(サイクルタイム)を
まとめて計算し、最も効率の高い優先順位を定めるとい
うやり方を採用することも考えられる。また、本実施例
の部分作業p2 やp6のように、2台以上のロボットが
同等のアクセス条件を有している場合には、メンテナン
スサイクルを長くする為に各ロボットの総合的な使用頻
度を平均化し得るような優先順位の付け方を選択するこ
とも出来る。
作業効率等を考慮して任意の手法によって最良のものを
定めれば良い。本実施例のように逐一個別に決定するの
ではなく、オフラインシステムを利用して、各ロボット
が該部分作業の実行に要する時間(サイクルタイム)を
まとめて計算し、最も効率の高い優先順位を定めるとい
うやり方を採用することも考えられる。また、本実施例
の部分作業p2 やp6のように、2台以上のロボットが
同等のアクセス条件を有している場合には、メンテナン
スサイクルを長くする為に各ロボットの総合的な使用頻
度を平均化し得るような優先順位の付け方を選択するこ
とも出来る。
【0035】このようにして決定された部分作業毎の優
先順位もセルコントローラ20内のメモリに記憶され
る。
先順位もセルコントローラ20内のメモリに記憶され
る。
【0036】(VI)セルコントローラ20は、各位置a
〜dに存在するワークの種類(A、B、C)と、加工完
了・未完了の別を常時判断し得るに必要な情報(供給さ
れたワークの種類、部分作業実行によるワークの位置の
変化、加工の完了)をすべてメモリに記録している。従
って、セルコントローラ20は、ホストコンピュータ1
及び各加工機(Ma 〜Md )からの信号に基づいて、フ
ィーダ2上の定位置(☆印)に供給されたワークの種類
(A、B,Cの別)及び各加工位置(a〜d)にあるワ
ークの種類と加工の完了を遅滞なく知ることが出来る態
勢にある。
〜dに存在するワークの種類(A、B、C)と、加工完
了・未完了の別を常時判断し得るに必要な情報(供給さ
れたワークの種類、部分作業実行によるワークの位置の
変化、加工の完了)をすべてメモリに記録している。従
って、セルコントローラ20は、ホストコンピュータ1
及び各加工機(Ma 〜Md )からの信号に基づいて、フ
ィーダ2上の定位置(☆印)に供給されたワークの種類
(A、B,Cの別)及び各加工位置(a〜d)にあるワ
ークの種類と加工の完了を遅滞なく知ることが出来る態
勢にある。
【0037】(VII )次に、各部分作業が実行可能とな
る為の加工ラインの状態に関する条件を、セルコントロ
ーラ20に記憶させる。例えば、部分作業p1 が実行可
能となる加工ラインの状態条件は、前記[1]〜[3]
の条件等を考慮すれば、「フィーダ2の定位置(☆印位
置)にワークAが供給されたこと」であり、部分作業p
2 が実行可能となる加工ラインの状態条件は、「Aがa
にあり、且つ加工<a>が完了していること」である。
る為の加工ラインの状態に関する条件を、セルコントロ
ーラ20に記憶させる。例えば、部分作業p1 が実行可
能となる加工ラインの状態条件は、前記[1]〜[3]
の条件等を考慮すれば、「フィーダ2の定位置(☆印位
置)にワークAが供給されたこと」であり、部分作業p
2 が実行可能となる加工ラインの状態条件は、「Aがa
にあり、且つ加工<a>が完了していること」である。
【0038】尚、フィーダ2は、図示しない公知のセン
サ手段、ストッパ手段等を備えており、☆印の位置から
ロボットXあるいはロボットYによってワークがピック
アップされたならば直ちに次のワークが☆印の位置に供
給され、該☆印位置で待機状態に入るものとする。ワー
クの供給は1個づつであり、ワークの種類(A、B、
C)に関する供給順序は任意とする。また、完成品コン
ベア3上の★印に、加工が終了したワークがロボットX
あるいはロボットYによって運搬されて載置されると、
直ちに★印の位置から運び去られるものとする。これら
フィーダ2及び完成品コンベア3の制御は上記センサ等
の信号に基づいてホストコンピュータ10)によって行
われるものとする。
サ手段、ストッパ手段等を備えており、☆印の位置から
ロボットXあるいはロボットYによってワークがピック
アップされたならば直ちに次のワークが☆印の位置に供
給され、該☆印位置で待機状態に入るものとする。ワー
クの供給は1個づつであり、ワークの種類(A、B、
C)に関する供給順序は任意とする。また、完成品コン
ベア3上の★印に、加工が終了したワークがロボットX
あるいはロボットYによって運搬されて載置されると、
直ちに★印の位置から運び去られるものとする。これら
フィーダ2及び完成品コンベア3の制御は上記センサ等
の信号に基づいてホストコンピュータ10)によって行
われるものとする。
【0039】以上の準備のもとに、作業を実行する。実
際の作業プロセスの1例を、セルコントローラ20の制
御アルゴリズムを記述した図3のフローチャートを参照
して説明する。
際の作業プロセスの1例を、セルコントローラ20の制
御アルゴリズムを記述した図3のフローチャートを参照
して説明する。
【0040】図3における、各記号の意味は次の通りと
する。
する。
【0041】R、R’=2台のロボットの内一方(Xor
Y)と他方( YorX) pq =q 番目の部分作業(q =作業番号指標[q=0,1,2,
3.....11]、但し、q=0 はリセット値、またq=11の時は
q+1=1 とする。) Prio(pq ;α)=部分作業pq について、優先順位が
α番目(α=優先順位指標 =1、2or3、但しα=3
は仮想値で対応するロボット無し)のロボット=ロボッ
トXorロボットY Comp(pq 、R;pt 、R' )=ロボットRによる部分
作業pq とロボットR’による部分作業pt の同時作業
実行可能性=Yes or No Cond(pq )=部分作業pq が、前記( )の項で述べ
た加工ラインの状態に関する条件からみて、その時点で
実行可能か否か=Yes or No 1.作業開始をセルコントローラ20に指令(手動又は
外部入力)すると、先ず作業番号指標qを0にリセット
(ステップS1)してから、1を加算する(ステップS
2)。そして、部分作業pq (スタート後、第1回目は
q=1 )について、加工ラインの状態が作業実行可能か否
かを前記(VII )に記したような判断基準に従って判断
する(ステップS3)。Yesであれば、優先順位指標
α=1にリセットし(ステップS4)、優先順位α(=
1)位のロボットR=(pq,α)を選択する(ステップ
S5)。Noであれば、何度でもqに1を加算してステ
ップS3の条件をクリヤ出来る部分作業pq を捜す。フ
ィーダ2の☆ 印位置にワークが供給されている限り、
スタート後第1回目にはqが一周する間に必ず実行可能
な部分作業pq が見つかる筈である。本実施例の場合、
スタート直後の時点でフィーダ2の☆位置に供給された
ワークの種類がAならばp1 、Bならばp5、Cならば
p9 がステップS3の条件をクリヤすることになる。第
2回目以降については後述する。
Y)と他方( YorX) pq =q 番目の部分作業(q =作業番号指標[q=0,1,2,
3.....11]、但し、q=0 はリセット値、またq=11の時は
q+1=1 とする。) Prio(pq ;α)=部分作業pq について、優先順位が
α番目(α=優先順位指標 =1、2or3、但しα=3
は仮想値で対応するロボット無し)のロボット=ロボッ
トXorロボットY Comp(pq 、R;pt 、R' )=ロボットRによる部分
作業pq とロボットR’による部分作業pt の同時作業
実行可能性=Yes or No Cond(pq )=部分作業pq が、前記( )の項で述べ
た加工ラインの状態に関する条件からみて、その時点で
実行可能か否か=Yes or No 1.作業開始をセルコントローラ20に指令(手動又は
外部入力)すると、先ず作業番号指標qを0にリセット
(ステップS1)してから、1を加算する(ステップS
2)。そして、部分作業pq (スタート後、第1回目は
q=1 )について、加工ラインの状態が作業実行可能か否
かを前記(VII )に記したような判断基準に従って判断
する(ステップS3)。Yesであれば、優先順位指標
α=1にリセットし(ステップS4)、優先順位α(=
1)位のロボットR=(pq,α)を選択する(ステップ
S5)。Noであれば、何度でもqに1を加算してステ
ップS3の条件をクリヤ出来る部分作業pq を捜す。フ
ィーダ2の☆ 印位置にワークが供給されている限り、
スタート後第1回目にはqが一周する間に必ず実行可能
な部分作業pq が見つかる筈である。本実施例の場合、
スタート直後の時点でフィーダ2の☆位置に供給された
ワークの種類がAならばp1 、Bならばp5、Cならば
p9 がステップS3の条件をクリヤすることになる。第
2回目以降については後述する。
【0042】2.ステップS5で選択されたロボットR
が作業実行中かどうかを判断(ステップS6)し、もし
作業実行中であれば、ステップS10へ向い優先順位指
標αに1を加算する。また、非作業中であれば、後述す
るステップS7へ進む。
が作業実行中かどうかを判断(ステップS6)し、もし
作業実行中であれば、ステップS10へ向い優先順位指
標αに1を加算する。また、非作業中であれば、後述す
るステップS7へ進む。
【0043】3.ステップS10に進んだ場合、この時
点ではα=2となるから、ステップS5へ戻った上で、
ロボットR’について作業実行中か否かを判断する(ス
テップS6)。
点ではα=2となるから、ステップS5へ戻った上で、
ロボットR’について作業実行中か否かを判断する(ス
テップS6)。
【0044】4.ロボットR’も作業実行中であればス
テップS10でα=3とされ、ステップS11を経由し
てステップS2まで戻り、部分作業指標qを次々と変え
ながらいずれかの部分作業が可能になるまで待つことに
なる(ステップS2、ステップS3の繰り返し)。ロボ
ットR’が非作業中であればステップS7へ向かうこと
になる。
テップS10でα=3とされ、ステップS11を経由し
てステップS2まで戻り、部分作業指標qを次々と変え
ながらいずれかの部分作業が可能になるまで待つことに
なる(ステップS2、ステップS3の繰り返し)。ロボ
ットR’が非作業中であればステップS7へ向かうこと
になる。
【0045】5.上記2.あるいは上記4.でいずれか
のロボットR(R’)が非作業中の場合、いずれの場合
もステップS7に進み、その非作業中のロボットR
(R’)からみて残りのロボットR’(R)が作業実行
中か否かを判断し、作業実行中でなければ、前者のロボ
ットR(R’)に部分作業pq を実行させる(ステップ
S9)。
のロボットR(R’)が非作業中の場合、いずれの場合
もステップS7に進み、その非作業中のロボットR
(R’)からみて残りのロボットR’(R)が作業実行
中か否かを判断し、作業実行中でなければ、前者のロボ
ットR(R’)に部分作業pq を実行させる(ステップ
S9)。
【0046】6.ステップS7でロボットR’(R)が
部分作業(pt とする)を実行中の場合は、同時作業可
能性Comp(pq 、R:pt 、R' )又はComp(pq 、
R’:pt 、R)[但し、図3のフローチャートでは前
者のみ記載]を判断し(ステップS8)、同時実行可能
であればステップS9に向い、実行中の部分作業pt に
加えて部分作業pq を同時実行する。
部分作業(pt とする)を実行中の場合は、同時作業可
能性Comp(pq 、R:pt 、R' )又はComp(pq 、
R’:pt 、R)[但し、図3のフローチャートでは前
者のみ記載]を判断し(ステップS8)、同時実行可能
であればステップS9に向い、実行中の部分作業pt に
加えて部分作業pq を同時実行する。
【0047】7.ステップS9が開始されると、一般に
は、開始された部分作業の終了を確認するまでもなく、
ステップS2以下に戻って次の実行可能な作業を探索す
る。例えば、ステップS7で前記他方のロボットR’が
非作業中である場合には、該ロボットR’に実行可能な
部分作業を捜す。また、部分作業pq とpt の同時作業
を実行した場合でも、先に非作業状態となるロボットの
次の部分作業を割り当てるべく、ステップS2に先回り
して、実行可能な部分作業を捜し始める。
は、開始された部分作業の終了を確認するまでもなく、
ステップS2以下に戻って次の実行可能な作業を探索す
る。例えば、ステップS7で前記他方のロボットR’が
非作業中である場合には、該ロボットR’に実行可能な
部分作業を捜す。また、部分作業pq とpt の同時作業
を実行した場合でも、先に非作業状態となるロボットの
次の部分作業を割り当てるべく、ステップS2に先回り
して、実行可能な部分作業を捜し始める。
【0048】8.ステップS8で部分作業pq とpt の
同時作業が不可能である場合には、ステップS6でロボ
ットRが作業中であった場合と同様に、ステップS10
に進み、優先順位指標αに1を加算する。α=2であれ
ばステップS11を経て、対応するロボッprio(pq 、
2)を選択するステップS5に戻る。そして、例えば、
再度ステップS6に進んだ時点で部分作業pq と同時実
行不可能なロボットR’の作業ptが終っていなけれ
ば、部分作業pq の実行は一旦断念せざるを得ないので
ステップS10に進み、αに更に1を加算する。この場
合にはα=3となり、ステップS11でNoと判断され
てステップS2以下に戻り、ステップS3で部分作業番
号指標qに1が加算される。
同時作業が不可能である場合には、ステップS6でロボ
ットRが作業中であった場合と同様に、ステップS10
に進み、優先順位指標αに1を加算する。α=2であれ
ばステップS11を経て、対応するロボッprio(pq 、
2)を選択するステップS5に戻る。そして、例えば、
再度ステップS6に進んだ時点で部分作業pq と同時実
行不可能なロボットR’の作業ptが終っていなけれ
ば、部分作業pq の実行は一旦断念せざるを得ないので
ステップS10に進み、αに更に1を加算する。この場
合にはα=3となり、ステップS11でNoと判断され
てステップS2以下に戻り、ステップS3で部分作業番
号指標qに1が加算される。
【0049】9.前記7.で述べた先回りのケース、前
記8.でα=3となってステップS2に戻ったケースい
ずれの場合にも、ステップS3で条件を満たすpq が見
つかるまでqに1を繰り返し加算する。
記8.でα=3となってステップS2に戻ったケースい
ずれの場合にも、ステップS3で条件を満たすpq が見
つかるまでqに1を繰り返し加算する。
【0050】加工ラインの状態からみて実行可能な部分
作業は故障等が発生していない限り時間が経過すれば必
ず見つかるから、その部分作業について優先順位1位の
ロボットを選択して(ステップS4、ステップS5)、
以後前回と同様にステップS6以下の処理を繰り返す。
作業は故障等が発生していない限り時間が経過すれば必
ず見つかるから、その部分作業について優先順位1位の
ロボットを選択して(ステップS4、ステップS5)、
以後前回と同様にステップS6以下の処理を繰り返す。
【0051】このように、本実施例では、「加工ライン
の状態に照らして実行可能な部分作業を捜す」、「優先
順位を考慮してロボットを選択する」、「残ったロボッ
トが空いていれば選択されたロボットが直ちに部分作業
実行開始するとともに残ったロボットにも部分作業を捜
し、残ったロボットが空いていなければ同時実行可能性
チェックし可能ならば実行開始するとともに、次の部分
作業の開始に備え、同時実行不可能ならば、前記選択さ
れたロボットの為に別の部分作業を捜す。」というプロ
セスを迅速かつダイナミックに繰り返すことによって、
2台のロボットに極力空き時間を作らずに作業を進める
ことが出来る。
の状態に照らして実行可能な部分作業を捜す」、「優先
順位を考慮してロボットを選択する」、「残ったロボッ
トが空いていれば選択されたロボットが直ちに部分作業
実行開始するとともに残ったロボットにも部分作業を捜
し、残ったロボットが空いていなければ同時実行可能性
チェックし可能ならば実行開始するとともに、次の部分
作業の開始に備え、同時実行不可能ならば、前記選択さ
れたロボットの為に別の部分作業を捜す。」というプロ
セスを迅速かつダイナミックに繰り返すことによって、
2台のロボットに極力空き時間を作らずに作業を進める
ことが出来る。
【0052】尚、本実施例では複数台のロボットに優先
順位を付けてロボットを選択しているが、要は部分作業
適性のあるロボットの中から何らかのルールに基づいて
ロボットを順次選択すれば良いのであるから、部分作業
毎に優先順位を固定するやり方をとらずに、エキスパー
トシステムのようなルールの集合による推論に基づいて
ロボットを選択する手法を取り入れて本発明の制御方法
を実施することも考えられる。
順位を付けてロボットを選択しているが、要は部分作業
適性のあるロボットの中から何らかのルールに基づいて
ロボットを順次選択すれば良いのであるから、部分作業
毎に優先順位を固定するやり方をとらずに、エキスパー
トシステムのようなルールの集合による推論に基づいて
ロボットを選択する手法を取り入れて本発明の制御方法
を実施することも考えられる。
【0053】
【発明の効果】本発明によれば、プログラムは各部分作
業に対応したもの作成し、その部分作業に作業適性があ
る各ロボットに各ロボットに応じた若干の修正を加えた
ものを部分作業プログラムとして教示しておけば良いの
で、プログラムの作成と各ロボットへの教示の負担が少
ない。
業に対応したもの作成し、その部分作業に作業適性があ
る各ロボットに各ロボットに応じた若干の修正を加えた
ものを部分作業プログラムとして教示しておけば良いの
で、プログラムの作成と各ロボットへの教示の負担が少
ない。
【0054】特に、作業内容の一部に変更があった場合
でも、該変更に関係する束縛条件設定内容の修正や必要
最小限の部分作業プログラムの修正を行えば、プログラ
ム全体を作り直すことなく迅速かつ柔軟な対応が出来
る。
でも、該変更に関係する束縛条件設定内容の修正や必要
最小限の部分作業プログラムの修正を行えば、プログラ
ム全体を作り直すことなく迅速かつ柔軟な対応が出来
る。
【0055】例えば、供給される多種類のワークの供給
順序の変化乃至変更、あるいはそれに対応した作業内容
や順序の変化乃至変更等のバリエーションが多々想定さ
れる作業においても、従来の方式のように部分作業の組
合せが変わる毎に個別の全体作業の制御プログラムを作
成し直して各ロボットにその都度教示するというような
煩雑で、プログラムの再利用性の面から見ても非効率的
な作業を避けることが出来る。
順序の変化乃至変更、あるいはそれに対応した作業内容
や順序の変化乃至変更等のバリエーションが多々想定さ
れる作業においても、従来の方式のように部分作業の組
合せが変わる毎に個別の全体作業の制御プログラムを作
成し直して各ロボットにその都度教示するというような
煩雑で、プログラムの再利用性の面から見ても非効率的
な作業を避けることが出来る。
【0056】すなわち、上記の如きバリエーションが生
じても、部分作業自体に変更が生じない限り部分作業プ
ログラムを変える必要がない。例えば、上記実施例の場
合のように、フィーダ2から供給されるワークが複数種
類あり、その供給順序が定められていない場合、あるい
は定められているが何らかの理由で順番が狂った場合で
も、本発明の制御方法によれば部分作業の順序の変更あ
るいは割り当てるロボットの変更等が与えられた束縛条
件を遵守しつつ自動的に行われる。
じても、部分作業自体に変更が生じない限り部分作業プ
ログラムを変える必要がない。例えば、上記実施例の場
合のように、フィーダ2から供給されるワークが複数種
類あり、その供給順序が定められていない場合、あるい
は定められているが何らかの理由で順番が狂った場合で
も、本発明の制御方法によれば部分作業の順序の変更あ
るいは割り当てるロボットの変更等が与えられた束縛条
件を遵守しつつ自動的に行われる。
【0057】また、本発明においては上記のようなバリ
エーションに対応する配慮は主として束縛条件でなされ
るので、プログラム自体にあらゆるバリエーションを想
定した複雑な内容が要求されないという大きな利点があ
る。上記の実施例のケースでは、各ロボットの部分作業
プログラム自体には各部分作業に的を絞った内容が盛り
込まれれば良く、供給ワークに対応して変化する複数部
分作業にまたがるシーケンス内容、同時作業の是非、他
のロボットと干渉等については各部分作業プログラムに
定めておく必要がない。喩えていえば、各部分作業プロ
グラムが状況の変化に対応して自由に屈折し得る関節で
結合された状態で機能するので、全作業を通してのロボ
ットと部分作業の組合せや作業順序のすべてを、種々の
束縛条件を満たすように固定的に定めた制御プログラム
を作成して各ロボットに教示し、該固定的なプログラム
を読出して全作業をワンパッケージで実行する従来のい
わば硬直したやり方に比べて、極めてフレクシビリティ
の高い制御系が構成されているということが出来る。
エーションに対応する配慮は主として束縛条件でなされ
るので、プログラム自体にあらゆるバリエーションを想
定した複雑な内容が要求されないという大きな利点があ
る。上記の実施例のケースでは、各ロボットの部分作業
プログラム自体には各部分作業に的を絞った内容が盛り
込まれれば良く、供給ワークに対応して変化する複数部
分作業にまたがるシーケンス内容、同時作業の是非、他
のロボットと干渉等については各部分作業プログラムに
定めておく必要がない。喩えていえば、各部分作業プロ
グラムが状況の変化に対応して自由に屈折し得る関節で
結合された状態で機能するので、全作業を通してのロボ
ットと部分作業の組合せや作業順序のすべてを、種々の
束縛条件を満たすように固定的に定めた制御プログラム
を作成して各ロボットに教示し、該固定的なプログラム
を読出して全作業をワンパッケージで実行する従来のい
わば硬直したやり方に比べて、極めてフレクシビリティ
の高い制御系が構成されているということが出来る。
【0058】また、作業を繰り返し実行中に外乱(例え
ばアーク溶接時のワイヤの断線や障害物の出現)が発生
した場合でも、部分作業の順序や参加するロボットを変
更する等のスケジュール変更を行うだけで良い。すなわ
ち、実施例の記載中(I )〜(VII )で述べたような各
種条件の設定内容に必要最小限の変更をその場で実行す
れば、長時間の作業停止を回避して作業を実行出来る。
場合によっては、不都合に関連したロボットを作業から
除外し、残ったロボットで作業を続行しながら該不都合
を修復(断線ワイヤの交換、障害物の除去等)し、修復
が終了したならば再度作業に参加させるというようなこ
とも可能となる。
ばアーク溶接時のワイヤの断線や障害物の出現)が発生
した場合でも、部分作業の順序や参加するロボットを変
更する等のスケジュール変更を行うだけで良い。すなわ
ち、実施例の記載中(I )〜(VII )で述べたような各
種条件の設定内容に必要最小限の変更をその場で実行す
れば、長時間の作業停止を回避して作業を実行出来る。
場合によっては、不都合に関連したロボットを作業から
除外し、残ったロボットで作業を続行しながら該不都合
を修復(断線ワイヤの交換、障害物の除去等)し、修復
が終了したならば再度作業に参加させるというようなこ
とも可能となる。
【図1】本発明の複数ロボットの制御方法が適用される
加工ラインの一例を模式的に示した図である。
加工ラインの一例を模式的に示した図である。
【図2】図1に示した加工ラインのハンドリング制御に
本発明のロボット制御方法を適用する際に使用するシス
テムの基本構成の一例を示す図である。
本発明のロボット制御方法を適用する際に使用するシス
テムの基本構成の一例を示す図である。
【図3】図1に示した加工ラインのハンドリング制御に
図2に示されたシステムを用いて本発明の複数ロボット
の制御方法を適用した場合の実行プロセスの一例を示し
たフローチャートである。
図2に示されたシステムを用いて本発明の複数ロボット
の制御方法を適用した場合の実行プロセスの一例を示し
たフローチャートである。
10 ホストコンピュータ 20 セルコントローラ X、Y ロボット 1 作業スペース 2 フィーダ 3 完成品コンベア Ma 、Mb 、Mc 、Md 加工機 a、b、c、d 各々加工機Ma 、Mb 、Mc 、Md に
よる加工が実行される位置 ☆ フィーダ2上の定位置 ★ 完成品コンベア3上の定位置
よる加工が実行される位置 ☆ フィーダ2上の定位置 ★ 完成品コンベア3上の定位置
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.5 識別記号 庁内整理番号 FI 技術表示箇所 G05B 19/403 K 9064−3H
Claims (1)
- 【請求項1】 複数のロボットに実行させるべき全体作
業を複数の部分作業に分割し、前記複数のロボットの各
々に前記複数の部分作業のうち作業適性に対応して選択
された1つまたは2以上の部分作業の為の部分作業プロ
グラムを教示し、該部分作業プログラムに従って該部分
作業を各ロボットに実行させる複数ロボットの制御方法
であって、前記全体作業進行中の随時時点において前記
各部分作業のうち予め与えられた束縛条件に照らして実
行可能性のある1つ又は2以上の部分作業を捜し出し、
該実行可能性のある部分作業に作業適性を有しかつ非作
業中のロボットを割り当て、該ロボットが割り当てられ
た部分作業のうち、既に実行中の部分作業があればそれ
を続行するという条件下で新たに同時実行することの可
能な部分作業を選択して実行することを特徴とする前記
複数ロボットの制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30623192A JPH06131021A (ja) | 1992-10-20 | 1992-10-20 | 複数ロボットの制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30623192A JPH06131021A (ja) | 1992-10-20 | 1992-10-20 | 複数ロボットの制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06131021A true JPH06131021A (ja) | 1994-05-13 |
Family
ID=17954578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP30623192A Pending JPH06131021A (ja) | 1992-10-20 | 1992-10-20 | 複数ロボットの制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH06131021A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101015313B1 (ko) * | 2008-09-03 | 2011-02-15 | 재단법인대구경북과학기술원 | 다중 로봇 협업 방법 및 시스템 |
JP2015024475A (ja) * | 2013-07-26 | 2015-02-05 | 株式会社安川電機 | ロボットシステム、ロボット管理コンピュータ及びロボットシステムの製造方法 |
DE102017003154A1 (de) | 2016-04-08 | 2017-10-12 | Fanuc Corporation | Fertigungsverwaltungssystem mit der fähigkeit zur verbesserung des verfügbarkeitsgrades einer fertigungszelle |
JP2020119512A (ja) * | 2019-01-02 | 2020-08-06 | ザ・ボーイング・カンパニーThe Boeing Company | マルチロボットセル内の作業の連携 |
JP2021043520A (ja) * | 2019-09-06 | 2021-03-18 | 日本電気株式会社 | 制御装置、制御方法、およびプログラム |
-
1992
- 1992-10-20 JP JP30623192A patent/JPH06131021A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101015313B1 (ko) * | 2008-09-03 | 2011-02-15 | 재단법인대구경북과학기술원 | 다중 로봇 협업 방법 및 시스템 |
JP2015024475A (ja) * | 2013-07-26 | 2015-02-05 | 株式会社安川電機 | ロボットシステム、ロボット管理コンピュータ及びロボットシステムの製造方法 |
DE102017003154A1 (de) | 2016-04-08 | 2017-10-12 | Fanuc Corporation | Fertigungsverwaltungssystem mit der fähigkeit zur verbesserung des verfügbarkeitsgrades einer fertigungszelle |
US10268187B2 (en) | 2016-04-08 | 2019-04-23 | Fanuc Corporation | Manufacturing cell machine management system based on component degree of consumption |
DE102017003154B4 (de) | 2016-04-08 | 2023-03-16 | Fanuc Corporation | Fertigungsverwaltungssystem mit der fähigkeit zur verbesserung des verfügbarkeitsgrades einer fertigungszelle |
JP2020119512A (ja) * | 2019-01-02 | 2020-08-06 | ザ・ボーイング・カンパニーThe Boeing Company | マルチロボットセル内の作業の連携 |
JP2021043520A (ja) * | 2019-09-06 | 2021-03-18 | 日本電気株式会社 | 制御装置、制御方法、およびプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1145804B1 (en) | Robot controller | |
US4482968A (en) | Method and apparatus for robot control | |
US5254923A (en) | Industrial robot synchronous control method and apparatus | |
CA1206232A (en) | Point measuring process for preset robot | |
US4288849A (en) | Machine tool control systems | |
JP3715617B2 (ja) | 生産セル | |
US7742839B2 (en) | Robot system provided with robot controller | |
JPH07129418A (ja) | マルチタスク環境でのプログラム制御方式 | |
JPH06131021A (ja) | 複数ロボットの制御方法 | |
JPS58137588A (ja) | 工業用ロボツトの作業動作制御方法 | |
EP0086848A1 (en) | Robot operation teaching method | |
WO2004074953A1 (ja) | 数値制御装置 | |
EP0227304A2 (en) | Method of controlling a robot | |
EP0477430B1 (en) | Off-line teaching method for industrial robot | |
JP4112433B2 (ja) | 工作機械の数値制御装置と工作機械の数値制御方法 | |
JP2817580B2 (ja) | ロボット群の制御システム | |
Drolet et al. | Decision architecture for scheduling virtual cellular manufacturing systems | |
KR940003090B1 (ko) | 산업용 로보트의 오프-라인 교시방법 | |
JP2942812B2 (ja) | 変種変量生産プログラムの作成装置 | |
JPH0675972A (ja) | 生産制御方法 | |
KR960002452B1 (ko) | 로봇 시스템의 팔레타이징 방법 | |
WO2020066947A1 (ja) | ロボットの経路決定装置、ロボットの経路決定方法、プログラム | |
JPS61123906A (ja) | ロボツトの干渉防止処理システム | |
JP2023057024A (ja) | 情報処理装置、情報処理方法、物品の製造方法、プログラム、記録媒体、システム | |
JPS62130163A (ja) | 搬送順序決定方法 |