JPH10260714A - ロボット干渉域設定プログラム作成方法 - Google Patents
ロボット干渉域設定プログラム作成方法Info
- Publication number
- JPH10260714A JPH10260714A JP6828097A JP6828097A JPH10260714A JP H10260714 A JPH10260714 A JP H10260714A JP 6828097 A JP6828097 A JP 6828097A JP 6828097 A JP6828097 A JP 6828097A JP H10260714 A JPH10260714 A JP H10260714A
- Authority
- JP
- Japan
- Prior art keywords
- robot
- interference
- program
- area
- robots
- 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.)
- Withdrawn
Links
Landscapes
- Numerical Control (AREA)
- Manipulator (AREA)
- Feedback Control In General (AREA)
- Safety Devices In Control Systems (AREA)
Abstract
(57)【要約】
【課題】 最適化されたロボットのプログラムを自動的
に作成する。 【解決手段】 複数のロボットを、それぞれのプログラ
ムを1ステップづつ歩進させながら動作させ、相互に他
のロボットと干渉し合う動作領域がどのステップからど
のステップであるのかをそれぞれのロボットについて求
め(S1,S2)、そのロボットが当該干渉し合う動作
領域に入っている場合であっても、他のロボットの当該
干渉し合う動作領域への進入を許す進入許可情報を、そ
のロボットと干渉する他のロボットのプログラムに自動
設定する(S11〜S15)。
に作成する。 【解決手段】 複数のロボットを、それぞれのプログラ
ムを1ステップづつ歩進させながら動作させ、相互に他
のロボットと干渉し合う動作領域がどのステップからど
のステップであるのかをそれぞれのロボットについて求
め(S1,S2)、そのロボットが当該干渉し合う動作
領域に入っている場合であっても、他のロボットの当該
干渉し合う動作領域への進入を許す進入許可情報を、そ
のロボットと干渉する他のロボットのプログラムに自動
設定する(S11〜S15)。
Description
【0001】
【発明の属する技術分野】本発明は、互いに干渉し合う
動作領域を共有する複数のロボットのプログラムに、他
のロボットとの干渉を回避させるための情報を自動的に
付加したり、干渉を回避する待ち時間を最小にする情報
を自動的に付加したりすることができるロボット干渉域
設定プログラム作成方法に関する。
動作領域を共有する複数のロボットのプログラムに、他
のロボットとの干渉を回避させるための情報を自動的に
付加したり、干渉を回避する待ち時間を最小にする情報
を自動的に付加したりすることができるロボット干渉域
設定プログラム作成方法に関する。
【0002】
【従来の技術】車体スポット溶接工程のように、ワーク
周辺に複数台のロボットが密接して設置してある設備の
場合には、ロボット相互の干渉を避けるために、ロボッ
ト間の動作の優先付けをし、干渉域に後から進入するロ
ボットは、先に干渉域に入った相手のロボットが干渉域
を出るまで、干渉域に入る1ステップ前で待機するよう
にプログラムされる。従来は、このプログラムの作成
を、実機を操作して干渉を逐一確認しながら行ってい
る。
周辺に複数台のロボットが密接して設置してある設備の
場合には、ロボット相互の干渉を避けるために、ロボッ
ト間の動作の優先付けをし、干渉域に後から進入するロ
ボットは、先に干渉域に入った相手のロボットが干渉域
を出るまで、干渉域に入る1ステップ前で待機するよう
にプログラムされる。従来は、このプログラムの作成
を、実機を操作して干渉を逐一確認しながら行ってい
る。
【0003】実機を用いて干渉回避のプログラムを作成
する手法を2台のロボットの場合について述べる。ま
ず、それぞれのロボットにオペレータが付き、ロボット
のプログラムを片方のロボットについて1ステップづつ
動作させておおまかな干渉域を把握する。つぎに、両方
のロボットを衝突させないように部分的なプレイバック
をしながら干渉域のステップを探す。つぎに、どちらの
ロボットが先に干渉域に入るのかを時間を測定して調べ
る。最後に、干渉域に入る1ステップ前と1ステップ後
に干渉域進入信号および干渉域外信号を設定する。
する手法を2台のロボットの場合について述べる。ま
ず、それぞれのロボットにオペレータが付き、ロボット
のプログラムを片方のロボットについて1ステップづつ
動作させておおまかな干渉域を把握する。つぎに、両方
のロボットを衝突させないように部分的なプレイバック
をしながら干渉域のステップを探す。つぎに、どちらの
ロボットが先に干渉域に入るのかを時間を測定して調べ
る。最後に、干渉域に入る1ステップ前と1ステップ後
に干渉域進入信号および干渉域外信号を設定する。
【0004】
【発明が解決しようとする課題】このような方法で干渉
回避のプログラムを作成したのでは、実機の衝突の危険
を常に孕んでおり、また、トライアンドエラーによるプ
ログラムの作成となるので、その作成には非常に多くの
時間を必要とする。さらに、最適なプログラムの作成
(どの位置でどの姿勢で退避させるのか)には熟練を要
する。
回避のプログラムを作成したのでは、実機の衝突の危険
を常に孕んでおり、また、トライアンドエラーによるプ
ログラムの作成となるので、その作成には非常に多くの
時間を必要とする。さらに、最適なプログラムの作成
(どの位置でどの姿勢で退避させるのか)には熟練を要
する。
【0005】また、最近では、グラフィックシミュレー
タ等を用い、いわゆるオフラインティーチングを行うこ
とによって干渉回避のプログラムを作成することもでき
るようになったが、干渉域の確認時に実機の衝突のリス
クを避けることができるとはいうものの、プログラムの
作成が試行錯誤であるということは実機を用いた場合と
同じである。
タ等を用い、いわゆるオフラインティーチングを行うこ
とによって干渉回避のプログラムを作成することもでき
るようになったが、干渉域の確認時に実機の衝突のリス
クを避けることができるとはいうものの、プログラムの
作成が試行錯誤であるということは実機を用いた場合と
同じである。
【0006】したがって、干渉をも考慮しなければなら
ないロボットのプログラムの作成には非常に多くの時間
を要するという問題と、サイクルタイムを最短とするプ
ログラムの作成を容易に行うことができない(熟練を要
する)という問題とがある。
ないロボットのプログラムの作成には非常に多くの時間
を要するという問題と、サイクルタイムを最短とするプ
ログラムの作成を容易に行うことができない(熟練を要
する)という問題とがある。
【0007】本発明は、以上のような問題点を解消すべ
く成されたものであり、互いに干渉し合う動作領域を共
有する複数のロボットのプログラムに、他のロボットと
の干渉を回避させるための情報を自動的に付加したり、
干渉を回避する待ち時間を最小にする情報を自動的に付
加したりすることができ、複数のロボットを待ち時間を
最小としつつ最小のサイクルタイムで動作させることが
できるロボット干渉域設定プログラム作成方法を提供す
ることを目的とする。
く成されたものであり、互いに干渉し合う動作領域を共
有する複数のロボットのプログラムに、他のロボットと
の干渉を回避させるための情報を自動的に付加したり、
干渉を回避する待ち時間を最小にする情報を自動的に付
加したりすることができ、複数のロボットを待ち時間を
最小としつつ最小のサイクルタイムで動作させることが
できるロボット干渉域設定プログラム作成方法を提供す
ることを目的とする。
【0008】
【課題を解決するための手段】上記目的を達成するため
の本発明は、次のように構成される。請求項1に記載の
発明は、互いに干渉し合う動作領域を共有する複数のロ
ボットを画面上で動作させ、それぞれのロボットが干渉
せずに動作できるようなプログラムを自動作成するプロ
グラム作成方法であって、当該複数のロボットを、それ
ぞれのプログラムを1ステップづつ歩進させながら動作
させ、相互に他のロボットと干渉し合う動作領域がどの
ステップからどのステップであるのかをそれぞれのロボ
ットについて求め、そのロボットが当該干渉し合う動作
領域に入っている場合であっても、他のロボットの当該
干渉し合う動作領域への進入を許す進入許可情報を、そ
のロボットと干渉する他のロボットのプログラムに自動
設定することを特徴とするロボット干渉域設定プログラ
ム作成方法である。
の本発明は、次のように構成される。請求項1に記載の
発明は、互いに干渉し合う動作領域を共有する複数のロ
ボットを画面上で動作させ、それぞれのロボットが干渉
せずに動作できるようなプログラムを自動作成するプロ
グラム作成方法であって、当該複数のロボットを、それ
ぞれのプログラムを1ステップづつ歩進させながら動作
させ、相互に他のロボットと干渉し合う動作領域がどの
ステップからどのステップであるのかをそれぞれのロボ
ットについて求め、そのロボットが当該干渉し合う動作
領域に入っている場合であっても、他のロボットの当該
干渉し合う動作領域への進入を許す進入許可情報を、そ
のロボットと干渉する他のロボットのプログラムに自動
設定することを特徴とするロボット干渉域設定プログラ
ム作成方法である。
【0009】このような方法をとれば、他方のロボット
が干渉し合う動作領域を出るまで一方のロボットを待た
せておかなくとも良くなり、ロボットのサイクルタイム
を短縮化することができるようになる。
が干渉し合う動作領域を出るまで一方のロボットを待た
せておかなくとも良くなり、ロボットのサイクルタイム
を短縮化することができるようになる。
【0010】請求項2に記載の発明は、互いに干渉し合
う動作領域を共有する複数のロボットを画面上で動作さ
せ、それぞれのロボットが干渉せずに動作できるような
プログラムを自動作成するプログラム作成方法であっ
て、当該複数のロボットを、それぞれのプログラムを1
ステップづつ歩進させながら動作させ、相互に他のロボ
ットと干渉し合う動作領域がどのステップからどのステ
ップであるのかをそれぞれのロボットについて求め、当
該干渉し合う動作領域を分割して複数の干渉域を設定
し、そのロボットが他のロボットと干渉し合う動作領域
に入り、第n干渉域内を動作している場合には、他のロ
ボットに対してそのロボットと干渉を起こすことのない
干渉域までの進入を許す進入許可情報をそのロボットと
干渉する他のロボットのプログラムに自動設定すること
を特徴とするロボット干渉域設定プログラム作成方法で
ある。
う動作領域を共有する複数のロボットを画面上で動作さ
せ、それぞれのロボットが干渉せずに動作できるような
プログラムを自動作成するプログラム作成方法であっ
て、当該複数のロボットを、それぞれのプログラムを1
ステップづつ歩進させながら動作させ、相互に他のロボ
ットと干渉し合う動作領域がどのステップからどのステ
ップであるのかをそれぞれのロボットについて求め、当
該干渉し合う動作領域を分割して複数の干渉域を設定
し、そのロボットが他のロボットと干渉し合う動作領域
に入り、第n干渉域内を動作している場合には、他のロ
ボットに対してそのロボットと干渉を起こすことのない
干渉域までの進入を許す進入許可情報をそのロボットと
干渉する他のロボットのプログラムに自動設定すること
を特徴とするロボット干渉域設定プログラム作成方法で
ある。
【0011】このような方法をとれば、他方のロボット
が干渉し合う動作領域を出るまで一方のロボットを待た
せておかなくとも良くなり、またこの領域に入った場合
でもロボット同志の干渉を確実に回避しながら、ロボッ
トのサイクルタイムを短縮化することができるようにな
る。
が干渉し合う動作領域を出るまで一方のロボットを待た
せておかなくとも良くなり、またこの領域に入った場合
でもロボット同志の干渉を確実に回避しながら、ロボッ
トのサイクルタイムを短縮化することができるようにな
る。
【0012】請求項3に記載の発明は、互いに干渉し合
う動作領域を共有する複数のロボットを画面上で動作さ
せ、それぞれのロボットが干渉せずに動作できるような
プログラムを自動作成するプログラム作成方法であっ
て、当該複数のロボットを、それぞれのプログラムを1
ステップづつ歩進させながら動作させ、相互に他のロボ
ットと干渉し合う動作領域がどのステップからどのステ
ップであるのかをそれぞれのロボットについて求め、当
該干渉し合う動作領域を分割して複数の干渉域を設定
し、そのロボットが他のロボットと干渉し合う動作領域
に入るそのロボットのプログラムの最初のステップに、
他のロボットが既に当該干渉し合う動作領域に入ってい
る場合にそのロボットの干渉を回避させるためのインタ
ーロック情報を付加し、そのロボットが他のロボットと
干渉し合う動作領域に入り、第n干渉域内を動作してい
る場合には、他のロボットに対してそのロボットと干渉
を起こすことのない干渉域までの進入を許す進入許可情
報をそのロボットと干渉する他のロボットのプログラム
に付加し、また、そのロボットが他のロボットと干渉し
合う動作領域から脱出するそのロボットのプログラムの
最初のステップに、他のロボットが当該干渉し合う動作
領域に入ることを許すインターロック解除情報を付加す
ることを特徴とするロボット干渉域設定プログラム作成
方法である。
う動作領域を共有する複数のロボットを画面上で動作さ
せ、それぞれのロボットが干渉せずに動作できるような
プログラムを自動作成するプログラム作成方法であっ
て、当該複数のロボットを、それぞれのプログラムを1
ステップづつ歩進させながら動作させ、相互に他のロボ
ットと干渉し合う動作領域がどのステップからどのステ
ップであるのかをそれぞれのロボットについて求め、当
該干渉し合う動作領域を分割して複数の干渉域を設定
し、そのロボットが他のロボットと干渉し合う動作領域
に入るそのロボットのプログラムの最初のステップに、
他のロボットが既に当該干渉し合う動作領域に入ってい
る場合にそのロボットの干渉を回避させるためのインタ
ーロック情報を付加し、そのロボットが他のロボットと
干渉し合う動作領域に入り、第n干渉域内を動作してい
る場合には、他のロボットに対してそのロボットと干渉
を起こすことのない干渉域までの進入を許す進入許可情
報をそのロボットと干渉する他のロボットのプログラム
に付加し、また、そのロボットが他のロボットと干渉し
合う動作領域から脱出するそのロボットのプログラムの
最初のステップに、他のロボットが当該干渉し合う動作
領域に入ることを許すインターロック解除情報を付加す
ることを特徴とするロボット干渉域設定プログラム作成
方法である。
【0013】このような方法によれば、複数のロボット
を効率的に動作させることができるようになり、結果と
して、ロボットのサイクルタイムを短縮化でき、作業効
率が向上することになる。
を効率的に動作させることができるようになり、結果と
して、ロボットのサイクルタイムを短縮化でき、作業効
率が向上することになる。
【0014】請求項4に記載の発明は、請求項2または
請求項3に記載の発明において、前記進入許可情報の付
加は、この許可情報を任意のロボットのプログラムに付
加した場合に、この許可情報が付加されたロボットがこ
の許可情報が付加された干渉域の動作に要する時間と他
のロボットがこのロボットの干渉域の動作のために待た
される時間とを勘案し、他のロボットのその干渉域への
進入待ち時間が最短となるようなステップに付加される
ことを特徴とするロボット干渉域設定プログラム作成方
法である。
請求項3に記載の発明において、前記進入許可情報の付
加は、この許可情報を任意のロボットのプログラムに付
加した場合に、この許可情報が付加されたロボットがこ
の許可情報が付加された干渉域の動作に要する時間と他
のロボットがこのロボットの干渉域の動作のために待た
される時間とを勘案し、他のロボットのその干渉域への
進入待ち時間が最短となるようなステップに付加される
ことを特徴とするロボット干渉域設定プログラム作成方
法である。
【0015】このように最適なステップに進入許可情報
を自動的に付加できるようにすれば、短時間で各ロボッ
トのプログラムを最適化することができるようになり、
プログラムの作成時間を短縮することができるようにな
る。
を自動的に付加できるようにすれば、短時間で各ロボッ
トのプログラムを最適化することができるようになり、
プログラムの作成時間を短縮することができるようにな
る。
【0016】
【発明の効果】本発明は、次のような効果を奏する。請
求項1から請求項3の発明では、そのロボットと干渉す
る他のロボットを、干渉し合う動作領域内であっても、
干渉しない範囲内で動作させることができるロボットプ
ログラムを容易に作成することができ、プログラムの作
成時間を大幅に短縮することができる。また、この作成
はオペレータがいなくても自動的に行われるので、プロ
グラムの作成に携わる人員の削減をすることもできる。
求項1から請求項3の発明では、そのロボットと干渉す
る他のロボットを、干渉し合う動作領域内であっても、
干渉しない範囲内で動作させることができるロボットプ
ログラムを容易に作成することができ、プログラムの作
成時間を大幅に短縮することができる。また、この作成
はオペレータがいなくても自動的に行われるので、プロ
グラムの作成に携わる人員の削減をすることもできる。
【0017】請求項4の発明では、進入許可情報を付加
する最適なステップを自動的に捜し出せるので、熟練を
要することなく、だれでも短時間の作業で最適なロボッ
トプログラムの作成が可能となる。
する最適なステップを自動的に捜し出せるので、熟練を
要することなく、だれでも短時間の作業で最適なロボッ
トプログラムの作成が可能となる。
【0018】
【発明の実施の形態】以下に、本発明のロボット干渉域
設定プログラム作成方法について説明する。図1は、本
発明方法を用いてプログラムされる2台のロボットA,
Bを示してある。これらのロボットは、それぞれが図示
されているような軌跡を描くようにプログラムされてい
る。このようにプログラムされているロボットを他のロ
ボットとは無関係に独立して動かしたのでは、当然のこ
とながらアーム同志が衝突(干渉するステップは黒丸
で、干渉しないステップは白丸で示す)してしまう。こ
れを回避させながら効率良く動かせるようなプログラム
を自動的に作成できるようにするのが本発明である。特
に、干渉する領域内でも、お互いに干渉しない範囲内で
できるだけ双方のロボットが待ち時間なく動作できるよ
うにするプログラムを自動的に作成できるようにしてい
る点が本発明では特筆される。
設定プログラム作成方法について説明する。図1は、本
発明方法を用いてプログラムされる2台のロボットA,
Bを示してある。これらのロボットは、それぞれが図示
されているような軌跡を描くようにプログラムされてい
る。このようにプログラムされているロボットを他のロ
ボットとは無関係に独立して動かしたのでは、当然のこ
とながらアーム同志が衝突(干渉するステップは黒丸
で、干渉しないステップは白丸で示す)してしまう。こ
れを回避させながら効率良く動かせるようなプログラム
を自動的に作成できるようにするのが本発明である。特
に、干渉する領域内でも、お互いに干渉しない範囲内で
できるだけ双方のロボットが待ち時間なく動作できるよ
うにするプログラムを自動的に作成できるようにしてい
る点が本発明では特筆される。
【0019】本発明の方法を実施する装置は、図2に示
すような構成となっている。図中、ロボットプログラム
記憶部10は、図1のようにそのロボットの動きのみが
書き込まれているプログラムを外部から読み込んで記憶
させておくものである。たとえば、ロボットAのプログ
ラムはこの記憶部10のあるエリアに、また、ロボット
Bのプログラムは記憶部10の他のエリアに記憶され
る。
すような構成となっている。図中、ロボットプログラム
記憶部10は、図1のようにそのロボットの動きのみが
書き込まれているプログラムを外部から読み込んで記憶
させておくものである。たとえば、ロボットAのプログ
ラムはこの記憶部10のあるエリアに、また、ロボット
Bのプログラムは記憶部10の他のエリアに記憶され
る。
【0020】シミュレーション実行部12は、ロボット
プログラム記憶部10からそれぞれのロボットA,Bの
プログラムを読み込んで、画面上でロボットA,Bを交
互に1ステップづつ動かす機能を有するものである。ま
た、各ステップごとの動作時間を計測する機能も持って
いる。
プログラム記憶部10からそれぞれのロボットA,Bの
プログラムを読み込んで、画面上でロボットA,Bを交
互に1ステップづつ動かす機能を有するものである。ま
た、各ステップごとの動作時間を計測する機能も持って
いる。
【0021】干渉チェック部14は、シミュレーション
実行部12によってロボットA,Bを動かした結果、両
ロボットA,Bが「干渉を起こすステップ」がどのステ
ップからどのステップであるのかを、それぞれのロボッ
トA,Bについて認識することができるものであり、干
渉する前のステップを干渉前ステップとして、干渉する
ステップを干渉ステップとしてそれぞれ設定したり、サ
イクルタイムの最適化を図るための新たなステップを作
り出したりするための諸機能も有している。
実行部12によってロボットA,Bを動かした結果、両
ロボットA,Bが「干渉を起こすステップ」がどのステ
ップからどのステップであるのかを、それぞれのロボッ
トA,Bについて認識することができるものであり、干
渉する前のステップを干渉前ステップとして、干渉する
ステップを干渉ステップとしてそれぞれ設定したり、サ
イクルタイムの最適化を図るための新たなステップを作
り出したりするための諸機能も有している。
【0022】インターロック自動設定部16は、干渉チ
ェック部14によって認識された「干渉を起こすステッ
プ」に基づいて、両ロボットA,Bのステップにインタ
ーロック情報やインターロック解除情報を自動的に付加
する指令を出力することができるものである。また、干
渉チェック部14における新たなステップの付加指令を
受けてそれを出力することもできるものである。さら
に、動作時間演算部20の演算結果に基づいて最適なス
テップに進入許可情報を付加する指令を出力することが
できるものである。
ェック部14によって認識された「干渉を起こすステッ
プ」に基づいて、両ロボットA,Bのステップにインタ
ーロック情報やインターロック解除情報を自動的に付加
する指令を出力することができるものである。また、干
渉チェック部14における新たなステップの付加指令を
受けてそれを出力することもできるものである。さら
に、動作時間演算部20の演算結果に基づいて最適なス
テップに進入許可情報を付加する指令を出力することが
できるものである。
【0023】ロボットプログラム変換部18は、インタ
ーロック自動設定部16からのインターロック情報やイ
ンターロック解除情報を付加すべき指令や新たなステッ
プの付加指令、さらには進入許可情報を付加する指令に
基づいて、ロボットA,Bの各プログラムにそれらの情
報を付加したり、新たなステップを付加したりするため
に、ロボットプログラム記憶部10に記憶されているそ
れぞれのロボットA,Bのプログラムをそれらの指令に
したがって変換し、出力することができるものである。
ーロック自動設定部16からのインターロック情報やイ
ンターロック解除情報を付加すべき指令や新たなステッ
プの付加指令、さらには進入許可情報を付加する指令に
基づいて、ロボットA,Bの各プログラムにそれらの情
報を付加したり、新たなステップを付加したりするため
に、ロボットプログラム記憶部10に記憶されているそ
れぞれのロボットA,Bのプログラムをそれらの指令に
したがって変換し、出力することができるものである。
【0024】動作時間演算部20は、ロボットがお互い
に干渉し合う動作領域(図1の黒丸の領域)を複数の干
渉域に分割し、任意のステップに仮想的に進入許可情報
を付加した場合に、それぞれの干渉域の動作にそれぞれ
のロボットがどの位の時間がかかるのかを演算し、どの
ステップに進入許可信号を付加した場合がそれぞれのロ
ボットの待ち時間が最小となってサイクルタイムが最小
となるかをみつけ出し、そのステップに進入許可信号を
付加すべき指令を出力するものである。
に干渉し合う動作領域(図1の黒丸の領域)を複数の干
渉域に分割し、任意のステップに仮想的に進入許可情報
を付加した場合に、それぞれの干渉域の動作にそれぞれ
のロボットがどの位の時間がかかるのかを演算し、どの
ステップに進入許可信号を付加した場合がそれぞれのロ
ボットの待ち時間が最小となってサイクルタイムが最小
となるかをみつけ出し、そのステップに進入許可信号を
付加すべき指令を出力するものである。
【0025】つぎに、本発明にかかるロボット干渉域設
定プログラム作成方法の具体的な手順を図3に示したフ
ローチャートに基づいて説明する。まず、ロボットプロ
グラム記憶部10は、図1に示した2台のロボットA,
Bのそれぞれのプログラムをそれぞれのエリアに記憶す
る。そして、シミュレーション実行部12では、この記
憶部10に記憶されているそれぞれのロボットのプログ
ラムを1ステップづつ読み出して、2台のロボットを交
互に動作させる。この処理によって2台のロボットは画
面上で動くことになり、軌跡は例えば図4に示すように
なる(S1)。干渉チェック部14では、この2台のロ
ボットが干渉していないかを常に監視し、干渉が検出さ
れた場合には、干渉を起こす前のプログラムのステップ
を干渉前ステップに、干渉を起こしたステップを干渉ス
テップに、干渉した後のステップを干渉後ステップとす
る。このステップの特定は、2台のロボットのそれぞれ
のプログラムに対して行われる。
定プログラム作成方法の具体的な手順を図3に示したフ
ローチャートに基づいて説明する。まず、ロボットプロ
グラム記憶部10は、図1に示した2台のロボットA,
Bのそれぞれのプログラムをそれぞれのエリアに記憶す
る。そして、シミュレーション実行部12では、この記
憶部10に記憶されているそれぞれのロボットのプログ
ラムを1ステップづつ読み出して、2台のロボットを交
互に動作させる。この処理によって2台のロボットは画
面上で動くことになり、軌跡は例えば図4に示すように
なる(S1)。干渉チェック部14では、この2台のロ
ボットが干渉していないかを常に監視し、干渉が検出さ
れた場合には、干渉を起こす前のプログラムのステップ
を干渉前ステップに、干渉を起こしたステップを干渉ス
テップに、干渉した後のステップを干渉後ステップとす
る。このステップの特定は、2台のロボットのそれぞれ
のプログラムに対して行われる。
【0026】たとえば図4に示すように、ロボットA
は、ステップaがロボットBとの干渉を起こす直前のス
テップであるのでこれを干渉前ステップとし、ステップ
bに歩進させるとロボットBとの干渉を起こすので、こ
れを干渉ステップとし、cを干渉後ステップとする。ま
た、ロボットBについては、ステップa′を干渉前ステ
ップに、ステップb′を干渉ステップに、ステップc′
を干渉後ステップにそれぞれ特定する。
は、ステップaがロボットBとの干渉を起こす直前のス
テップであるのでこれを干渉前ステップとし、ステップ
bに歩進させるとロボットBとの干渉を起こすので、こ
れを干渉ステップとし、cを干渉後ステップとする。ま
た、ロボットBについては、ステップa′を干渉前ステ
ップに、ステップb′を干渉ステップに、ステップc′
を干渉後ステップにそれぞれ特定する。
【0027】なお、これらのステップの特定は、2台の
ロボットを最初のステップから最後のステップまで動か
してみてから行っても良いし、干渉と同時にリアルタイ
ムで行っても良い(S2,S3)。
ロボットを最初のステップから最後のステップまで動か
してみてから行っても良いし、干渉と同時にリアルタイ
ムで行っても良い(S2,S3)。
【0028】以上の処理によって、ロボットAは、その
プログラムのどのステップからどのステップまでの処理
においてロボットBと干渉する恐れがあるのか、換言す
れば、干渉し合う動作領域がどのステップからどのステ
ップであるのかがわかる。同様にしてロボットBについ
てもロボットAと干渉し合う動作領域がどのステップか
らどのステップであるのかがわかる。
プログラムのどのステップからどのステップまでの処理
においてロボットBと干渉する恐れがあるのか、換言す
れば、干渉し合う動作領域がどのステップからどのステ
ップであるのかがわかる。同様にしてロボットBについ
てもロボットAと干渉し合う動作領域がどのステップか
らどのステップであるのかがわかる。
【0029】つぎに、インターロック自動設定部16で
は、干渉チェック部14によって特定されたそれぞれの
ロボットのプログラムの干渉前ステップ(a,a′)に
インターロック情報を付加すべき指令を出し、また、干
渉し合う動作領域を脱出した直後のステップ(d,
d′)にインターロック解除情報を付加すべき指令を出
す。これらの情報の付加は、それぞれのステップに対し
てしても良いし、新たなステップをこれらのステップの
前、または後に設けても良い。これらの情報の付加は、
インターロック自動設定部16の指令によりロボットプ
ログラム変換部18が行う。すなわち、インターロック
自動設定部16からの指令に基づいて、ロボットプログ
ラム記憶部10からそれぞれのロボットA,Bのプログ
ラムを読み込み、それぞのプログラムの該当するステッ
プにインターロック情報、インターロック解除情報を付
加し、これを新ロボットプログラムとして外部に出力す
る。
は、干渉チェック部14によって特定されたそれぞれの
ロボットのプログラムの干渉前ステップ(a,a′)に
インターロック情報を付加すべき指令を出し、また、干
渉し合う動作領域を脱出した直後のステップ(d,
d′)にインターロック解除情報を付加すべき指令を出
す。これらの情報の付加は、それぞれのステップに対し
てしても良いし、新たなステップをこれらのステップの
前、または後に設けても良い。これらの情報の付加は、
インターロック自動設定部16の指令によりロボットプ
ログラム変換部18が行う。すなわち、インターロック
自動設定部16からの指令に基づいて、ロボットプログ
ラム記憶部10からそれぞれのロボットA,Bのプログ
ラムを読み込み、それぞのプログラムの該当するステッ
プにインターロック情報、インターロック解除情報を付
加し、これを新ロボットプログラムとして外部に出力す
る。
【0030】たとえば、ロボットAのプログラムの干渉
ステップaに、ロボットBが干渉し合う動作領域に既に
入っている場合には、ロボットBがこの動作領域を出る
まで、換言すればロボットBのステップd′の処理によ
ってロボットAに対してインターロック解除信号を出力
するまで,そのステップで退避させるインターロック情
報を付加する。また、ロボットBのプログラムの干渉ス
テップaに、ロボットAが干渉し合う動作領域に既に入
っている場合には、ロボットAがこの動作領域を出るま
で、換言すればロボットAのステップdの処理によって
ロボットBに対してインターロック解除信号を出力する
まで,そのステップで退避させるインターロック情報を
付加する。さらに、ロボットAのプログラムのステップ
dには、ロボットBを自由に動作させるためのインター
ロック解除信号を、ロボットBのプログラムのステップ
d′には、ロボットBを自由に動作させるためのインタ
ーロック解除信号をそれぞれ付加する(S4)。
ステップaに、ロボットBが干渉し合う動作領域に既に
入っている場合には、ロボットBがこの動作領域を出る
まで、換言すればロボットBのステップd′の処理によ
ってロボットAに対してインターロック解除信号を出力
するまで,そのステップで退避させるインターロック情
報を付加する。また、ロボットBのプログラムの干渉ス
テップaに、ロボットAが干渉し合う動作領域に既に入
っている場合には、ロボットAがこの動作領域を出るま
で、換言すればロボットAのステップdの処理によって
ロボットBに対してインターロック解除信号を出力する
まで,そのステップで退避させるインターロック情報を
付加する。さらに、ロボットAのプログラムのステップ
dには、ロボットBを自由に動作させるためのインター
ロック解除信号を、ロボットBのプログラムのステップ
d′には、ロボットBを自由に動作させるためのインタ
ーロック解除信号をそれぞれ付加する(S4)。
【0031】さらに、干渉チェック部14では、ロボッ
トA、ロボットBのそれぞれのプログラムに特定された
干渉前ステップと干渉ステップとに基づいて、干渉前ス
テップから干渉ステップに移行するまでに要する時間、
すなわち動作時間を演算し、この動作時間が基準時間
(この実施形態では1.5秒を想定している)よりも小
さければ、ロボットのサイクルタイムのこれ以上の短縮
化はできないものと判断して処理を終了する(S5,S
6)。
トA、ロボットBのそれぞれのプログラムに特定された
干渉前ステップと干渉ステップとに基づいて、干渉前ス
テップから干渉ステップに移行するまでに要する時間、
すなわち動作時間を演算し、この動作時間が基準時間
(この実施形態では1.5秒を想定している)よりも小
さければ、ロボットのサイクルタイムのこれ以上の短縮
化はできないものと判断して処理を終了する(S5,S
6)。
【0032】一方、この動作時間が基準時間よりも大き
ければ、ロボットの退避位置を干渉し合う動作領域側に
移動させることによって、また、姿勢を事前に変化させ
ておくことによってロボットのサイクルタイムの短縮を
することができるようになるので、この場合には次の処
理をする。
ければ、ロボットの退避位置を干渉し合う動作領域側に
移動させることによって、また、姿勢を事前に変化させ
ておくことによってロボットのサイクルタイムの短縮を
することができるようになるので、この場合には次の処
理をする。
【0033】まず、干渉チェック部14が干渉前ステッ
プから干渉ステップへの動作時間が1.5秒以上である
と判断したときには、シミュレーション実行部12に、
ロボットの姿勢(p,q,r)を変えずに干渉前ステッ
プ(x1,y1,z1)から干渉ステップ(x2,y
2,z2)までの移動を指示し、干渉チェック部14で
この間の移動時間Δt1を演算する。つまり、ステップ
間の平行移動に要する時間を演算する(S7)。
プから干渉ステップへの動作時間が1.5秒以上である
と判断したときには、シミュレーション実行部12に、
ロボットの姿勢(p,q,r)を変えずに干渉前ステッ
プ(x1,y1,z1)から干渉ステップ(x2,y
2,z2)までの移動を指示し、干渉チェック部14で
この間の移動時間Δt1を演算する。つまり、ステップ
間の平行移動に要する時間を演算する(S7)。
【0034】そしてつぎに、シミュレーション実行部1
2に、ロボットの位置(x,y,z)を変えずに姿勢の
みを変化させる指示をし、干渉チェック部14でロボッ
トの位置を干渉前ステップから動かさずに、ロボットの
姿勢を干渉前ステップの姿勢(p1,q1,r1)から
干渉ステップの姿勢(p2,q2,r2)に変化させる
に要する時間Δt2を演算する(S8)。
2に、ロボットの位置(x,y,z)を変えずに姿勢の
みを変化させる指示をし、干渉チェック部14でロボッ
トの位置を干渉前ステップから動かさずに、ロボットの
姿勢を干渉前ステップの姿勢(p1,q1,r1)から
干渉ステップの姿勢(p2,q2,r2)に変化させる
に要する時間Δt2を演算する(S8)。
【0035】干渉チェック部14では、この演算したΔ
t1とΔt2の時間を比較し、Δt1≧Δt2であれ
ば、姿勢を変えるよりもステップ間の移動に時間を要し
ているのであるから移動時間を少しでも短縮することが
できればロボットの全体のサイクルタイムの短縮化を図
ることができるようになるので、干渉前ステップの位置
を干渉し合う動作領域側に移動させるようにする。つま
り、ロボットが干渉の退避をする位置を干渉ステップ側
に移動させる。この退避位置をどこに設けるかは、図5
に示すように、時間にして0.2秒分だけ退避位置aを
干渉し合う動作領域側(b側)に移動させ(図の軌跡の
1刻みに相当)、この点での干渉の確認をし、干渉しな
ければさらに0.2秒分動かすという操作を繰り返し行
い、干渉が確認された点の1つ前の点a1を新たな退避
位置とする。干渉チェック部14は、この新たな退避位
置を設けるために、インターロック自動設定部16にこ
の点に新たなステップを設けるべきことを指令し、ロボ
ットプログラム変換部18はインターロック自動設定部
16からのこの指令に基づいて、ロボットプログラム記
憶部10から指定のロボットのプログラムを読み込み、
そのプログラムの干渉前ステップと干渉ステップとの間
に新たなステップa1(図5参照)を挿入する処理をす
る(S9,S10)。
t1とΔt2の時間を比較し、Δt1≧Δt2であれ
ば、姿勢を変えるよりもステップ間の移動に時間を要し
ているのであるから移動時間を少しでも短縮することが
できればロボットの全体のサイクルタイムの短縮化を図
ることができるようになるので、干渉前ステップの位置
を干渉し合う動作領域側に移動させるようにする。つま
り、ロボットが干渉の退避をする位置を干渉ステップ側
に移動させる。この退避位置をどこに設けるかは、図5
に示すように、時間にして0.2秒分だけ退避位置aを
干渉し合う動作領域側(b側)に移動させ(図の軌跡の
1刻みに相当)、この点での干渉の確認をし、干渉しな
ければさらに0.2秒分動かすという操作を繰り返し行
い、干渉が確認された点の1つ前の点a1を新たな退避
位置とする。干渉チェック部14は、この新たな退避位
置を設けるために、インターロック自動設定部16にこ
の点に新たなステップを設けるべきことを指令し、ロボ
ットプログラム変換部18はインターロック自動設定部
16からのこの指令に基づいて、ロボットプログラム記
憶部10から指定のロボットのプログラムを読み込み、
そのプログラムの干渉前ステップと干渉ステップとの間
に新たなステップa1(図5参照)を挿入する処理をす
る(S9,S10)。
【0036】一方、Δt1<Δt2であれば、位置を変
えるよりもステップ間の姿勢の変化に時間を要している
のであるから姿勢を事前に干渉ステップの姿勢にしてお
けばロボットの全体のサイクルタイムの短縮化を図るこ
とができるようになるので、干渉前ステップの姿勢を干
渉ステップの姿勢にするようにする。つまり、ロボット
が干渉の退避をしている間に、次のステップ(干渉ステ
ップ)の姿勢に備えておく。
えるよりもステップ間の姿勢の変化に時間を要している
のであるから姿勢を事前に干渉ステップの姿勢にしてお
けばロボットの全体のサイクルタイムの短縮化を図るこ
とができるようになるので、干渉前ステップの姿勢を干
渉ステップの姿勢にするようにする。つまり、ロボット
が干渉の退避をしている間に、次のステップ(干渉ステ
ップ)の姿勢に備えておく。
【0037】干渉チェック部14は、干渉前ステップの
ロボットの姿勢を干渉ステップのロボットの姿勢に変更
させるために、インターロック自動設定部16に姿勢変
更の指令を出力し、ロボットプログラム変換部18は、
インターロック自動設定部16からのこの指令に基づい
て、ロボットプログラム記憶部10から指定のロボット
のプログラムを読み込み、このプログラムの干渉前ステ
ップの姿勢を干渉ステップの姿勢に変更する処理をする
(S11)。
ロボットの姿勢を干渉ステップのロボットの姿勢に変更
させるために、インターロック自動設定部16に姿勢変
更の指令を出力し、ロボットプログラム変換部18は、
インターロック自動設定部16からのこの指令に基づい
て、ロボットプログラム記憶部10から指定のロボット
のプログラムを読み込み、このプログラムの干渉前ステ
ップの姿勢を干渉ステップの姿勢に変更する処理をする
(S11)。
【0038】次に、動作時間演算部20は、ロボットA
とロボットBのそれぞれに対して干渉し合う動作領域を
動作させるのにかかる時間tkを演算する(S12)。
また、一方のロボットがこの干渉し合う動作領域に入っ
ている場合に、他方のロボットの待ち時間、すなわちイ
ンターロックされている間の動作時間tiを演算する。
これは、両方のロボットを動かした場合の一方のロボッ
トの待ち時間がどの程度の時間となるのかを調べるため
である(S13)。
とロボットBのそれぞれに対して干渉し合う動作領域を
動作させるのにかかる時間tkを演算する(S12)。
また、一方のロボットがこの干渉し合う動作領域に入っ
ている場合に、他方のロボットの待ち時間、すなわちイ
ンターロックされている間の動作時間tiを演算する。
これは、両方のロボットを動かした場合の一方のロボッ
トの待ち時間がどの程度の時間となるのかを調べるため
である(S13)。
【0039】この待ち時間tiが動作時間tkの50%
よりも大きい時間であれば、一方のロボットは他方のロ
ボットがこの干渉し合う動作領域から脱出するまでずっ
と待ち続けなければならないので、サイクルタイムが必
然的に大きくなり、ロボットのプログラムとしてはあま
り好ましいものではない。したがって、この場合には、
ロボットの待ち時間ができるだけ少なくなるように、一
方のロボットが干渉し合う動作領域に入っている場合で
あっても、干渉しないステップまでは他のロボットの動
作を許すような進入許可信号を付加する。この進入許可
信号を付加する指令は動作時間演算部20が出す。な
お、どのステップに進入許可信号を付加するかの最適化
の演算は後述する(S14,S15)。
よりも大きい時間であれば、一方のロボットは他方のロ
ボットがこの干渉し合う動作領域から脱出するまでずっ
と待ち続けなければならないので、サイクルタイムが必
然的に大きくなり、ロボットのプログラムとしてはあま
り好ましいものではない。したがって、この場合には、
ロボットの待ち時間ができるだけ少なくなるように、一
方のロボットが干渉し合う動作領域に入っている場合で
あっても、干渉しないステップまでは他のロボットの動
作を許すような進入許可信号を付加する。この進入許可
信号を付加する指令は動作時間演算部20が出す。な
お、どのステップに進入許可信号を付加するかの最適化
の演算は後述する(S14,S15)。
【0040】一方、この待ち時間tiが動作時間tkの
50%よりも小さい時間であれば、許容できる範囲の待
ちの発生であると判断してプログラムの作成を終了する
(S14)。
50%よりも小さい時間であれば、許容できる範囲の待
ちの発生であると判断してプログラムの作成を終了する
(S14)。
【0041】なお、進入許可信号をプログラム中に付加
するか付加しないかの判断は、待ち時間tiが動作時間
tkの50%よりも大きいか小さいかによって行ってい
るが、判断の基準となる割合は、ロボットの動作によっ
て任意に設定されるものである。たとえば、一方のロボ
ットが他方のロボットに追従するような形でお互いの干
渉域を動作するものであれば、その待ち時間の割合は1
0%というような少ない値で良いと思うが、一方のロボ
ットが任意の範囲で往復移動、この間他方のロボットを
干渉域内に入れることができないような場合には、その
待ち時間の割合は70%というような大きな値が選ばれ
る。
するか付加しないかの判断は、待ち時間tiが動作時間
tkの50%よりも大きいか小さいかによって行ってい
るが、判断の基準となる割合は、ロボットの動作によっ
て任意に設定されるものである。たとえば、一方のロボ
ットが他方のロボットに追従するような形でお互いの干
渉域を動作するものであれば、その待ち時間の割合は1
0%というような少ない値で良いと思うが、一方のロボ
ットが任意の範囲で往復移動、この間他方のロボットを
干渉域内に入れることができないような場合には、その
待ち時間の割合は70%というような大きな値が選ばれ
る。
【0042】つぎに、進入許可信号の付加の方法につい
て図6と図7を参照しながら詳細に説明する。この進入
許可信号の付加は、次のようなことを可能とするために
行われるものである。つまり、追従側のロボットは、図
3に示したフローチャートのS1〜S11の処理だけで
は、優先側のロボットが干渉し合う動作領域の処理を終
わるまで待ち状態となってしまう。たとえば、どちらか
のロボットが最初に干渉し合う動作領域に入った場合に
は、後からこの領域に入ろうとするロボットは、最初に
入ったロボットがこの領域から出るまでの間、干渉前ス
テップでずっと待っていなければならなくなる。確か
に、優先するロボットがこの領域を縦横無尽に動き回る
ってから出るような動きをするものであれば、後のロボ
ットの待ち時間はけっして無駄な時間とはいえないが、
優先するロボットが経路を戻ることなく順次進んで行
き、後のロボットがこの優先するロボットの軌跡を追い
かけて行くような場合には、優先するロボットがこの領
域を脱出するまで後のロボットを待たせておくことは非
常に無駄である。
て図6と図7を参照しながら詳細に説明する。この進入
許可信号の付加は、次のようなことを可能とするために
行われるものである。つまり、追従側のロボットは、図
3に示したフローチャートのS1〜S11の処理だけで
は、優先側のロボットが干渉し合う動作領域の処理を終
わるまで待ち状態となってしまう。たとえば、どちらか
のロボットが最初に干渉し合う動作領域に入った場合に
は、後からこの領域に入ろうとするロボットは、最初に
入ったロボットがこの領域から出るまでの間、干渉前ス
テップでずっと待っていなければならなくなる。確か
に、優先するロボットがこの領域を縦横無尽に動き回る
ってから出るような動きをするものであれば、後のロボ
ットの待ち時間はけっして無駄な時間とはいえないが、
優先するロボットが経路を戻ることなく順次進んで行
き、後のロボットがこの優先するロボットの軌跡を追い
かけて行くような場合には、優先するロボットがこの領
域を脱出するまで後のロボットを待たせておくことは非
常に無駄である。
【0043】このような場合でも、後のロボットが干渉
し合う動作領域内に入ることを許し、優先するロボット
に干渉しない範囲内で後のロボットが追従して行けるよ
うにすれば、後のロボットの待ち時間は少なくなるし、
作業のサイクルタイムも短縮できる。S11〜S15の
ステップでは、このようなことを可能としているのであ
る。
し合う動作領域内に入ることを許し、優先するロボット
に干渉しない範囲内で後のロボットが追従して行けるよ
うにすれば、後のロボットの待ち時間は少なくなるし、
作業のサイクルタイムも短縮できる。S11〜S15の
ステップでは、このようなことを可能としているのであ
る。
【0044】さて、図6および図7において、「優
先」、「追従」とあるが、「優先」というのは、干渉し
合う動作領域に最初に入ったロボットをいい、「追従」
というのは、優先するロボットの動作を見ながら後から
動作するロボットをいう。この例では、それぞれのロボ
ットの干渉し合う動作領域をA,Bという2つの干渉域
に分割している。図6に示すプログラムでは、優先する
ロボットのプログラムのステップ11とステップ12に
おいて、追従するロボットが干渉し合う動作領域(干渉
域A+干渉域B)に入れないようにインターロック情報
(SOF4,SOF35 )を設定している。したがって、優先す
るロボットがステップ11,12以降のステップの処理
に進んでいる場合には、追従するロボットはこの動作領
域に入ることができず、干渉前ステップまでの処理しか
できない。すなわち、追従するロボットは干渉する領域
に入る直前(ステップ20のSOF4)で待機することにな
る。
先」、「追従」とあるが、「優先」というのは、干渉し
合う動作領域に最初に入ったロボットをいい、「追従」
というのは、優先するロボットの動作を見ながら後から
動作するロボットをいう。この例では、それぞれのロボ
ットの干渉し合う動作領域をA,Bという2つの干渉域
に分割している。図6に示すプログラムでは、優先する
ロボットのプログラムのステップ11とステップ12に
おいて、追従するロボットが干渉し合う動作領域(干渉
域A+干渉域B)に入れないようにインターロック情報
(SOF4,SOF35 )を設定している。したがって、優先す
るロボットがステップ11,12以降のステップの処理
に進んでいる場合には、追従するロボットはこの動作領
域に入ることができず、干渉前ステップまでの処理しか
できない。すなわち、追従するロボットは干渉する領域
に入る直前(ステップ20のSOF4)で待機することにな
る。
【0045】優先するロボットの処理が進み、ステップ
25の処理が終わると、追従するロボットが干渉域Aに
入ることが許され(SON ,4 )る。このSON ,4 の情報
は、干渉域Aへの進入を許可する進入許可情報であるの
で、追従するロボットはこの情報により干渉域Aに入る
ことができる。ただ、干渉域Aでの動作が終了しても、
干渉域Bには入ることができない。SOF35 というインタ
ーロック情報がまだ解除されていないからである(ステ
ップ29のSOF35 )。
25の処理が終わると、追従するロボットが干渉域Aに
入ることが許され(SON ,4 )る。このSON ,4 の情報
は、干渉域Aへの進入を許可する進入許可情報であるの
で、追従するロボットはこの情報により干渉域Aに入る
ことができる。ただ、干渉域Aでの動作が終了しても、
干渉域Bには入ることができない。SOF35 というインタ
ーロック情報がまだ解除されていないからである(ステ
ップ29のSOF35 )。
【0046】さらに優先するロボットの処理が進み、ス
テップ29の処理が終わると、追従するロボットが干渉
域Bに入ることが許され(SON ,35)る。このSON ,35
の情報は、干渉域Bへの進入を許可する進入許可情報で
ある。追従するロボットはこの情報により干渉域Bに入
ることができるようになる。ここで、進入許可情報をど
のステップに付加するかということがサイクルタイムを
短縮する上で非常に重要となる。どのステップに付加す
るかによって、追従するロボットが待ち時間を少なくし
て干渉域に入ることができるかどうかが左右されるから
である。
テップ29の処理が終わると、追従するロボットが干渉
域Bに入ることが許され(SON ,35)る。このSON ,35
の情報は、干渉域Bへの進入を許可する進入許可情報で
ある。追従するロボットはこの情報により干渉域Bに入
ることができるようになる。ここで、進入許可情報をど
のステップに付加するかということがサイクルタイムを
短縮する上で非常に重要となる。どのステップに付加す
るかによって、追従するロボットが待ち時間を少なくし
て干渉域に入ることができるかどうかが左右されるから
である。
【0047】この進入許可情報を付加するステップをど
こにするかは、次のようにして決める。図7において、
追従するロボットが最初のインターロック待ち(ステッ
プ19のPOINT D)でなるべく待ち状態とならな
いようにするためには、ステップ7〜20の処理にかか
る時間Tb が優先するロボットのステップ10〜25に
かかる時間Ta よりも大きくなるようにしなければなら
ない。つまり、追従するロボットが干渉域に達する前に
優先するロボットがその干渉域を脱出するようにする。
ところが時間Tb はPOINT Dの位置で決まってし
まうので、なるべく優先するロボットのプログラムのス
テップ24のPOINT Bの設定位置を上の方にして
Ta の時間を少なくするようにする。したがって、Tb
>Ta の範囲内でTB の時間が最大となるようにPOI
NT Bの位置を決定する。このように設定することが
できれば、追従するロボットの待ち時間をなくすること
ができる。
こにするかは、次のようにして決める。図7において、
追従するロボットが最初のインターロック待ち(ステッ
プ19のPOINT D)でなるべく待ち状態とならな
いようにするためには、ステップ7〜20の処理にかか
る時間Tb が優先するロボットのステップ10〜25に
かかる時間Ta よりも大きくなるようにしなければなら
ない。つまり、追従するロボットが干渉域に達する前に
優先するロボットがその干渉域を脱出するようにする。
ところが時間Tb はPOINT Dの位置で決まってし
まうので、なるべく優先するロボットのプログラムのス
テップ24のPOINT Bの設定位置を上の方にして
Ta の時間を少なくするようにする。したがって、Tb
>Ta の範囲内でTB の時間が最大となるようにPOI
NT Bの位置を決定する。このように設定することが
できれば、追従するロボットの待ち時間をなくすること
ができる。
【0048】つぎに、優先するロボットのプログラムの
ステップ26でPOINT B+1を固定した場合に、
追従するロボットが優先するロボットと干渉しないか
を、追従するロボットのプログラムのステップ28にお
けるPOINT Eまでチェックする。つまり、POI
NT Eよりも前のステップにおいて、優先するロボッ
トのプログラムのPOINT B+1からPOINT
Cまでと干渉しないかを確認する。この確認によって追
従するロボットのプログラムのステップ19からステッ
プ28までの処理に要する時間Tdが求められる。優先
するロボットのプログラムのステップ25からステップ
29の処理に要する時間Tc も同様にして求められる。
ステップ26でPOINT B+1を固定した場合に、
追従するロボットが優先するロボットと干渉しないか
を、追従するロボットのプログラムのステップ28にお
けるPOINT Eまでチェックする。つまり、POI
NT Eよりも前のステップにおいて、優先するロボッ
トのプログラムのPOINT B+1からPOINT
Cまでと干渉しないかを確認する。この確認によって追
従するロボットのプログラムのステップ19からステッ
プ28までの処理に要する時間Tdが求められる。優先
するロボットのプログラムのステップ25からステップ
29の処理に要する時間Tc も同様にして求められる。
【0049】したがって、2台のロボットを同時に起動
させたときのインターロック待ち時間は、次の4通りの
式のいずれかによって求めることができる。 Ta <Tb かつTC <Td の場合には、追従するロ
ボットの待ち時間は0。 Ta <Tb かつTC >Td の場合には、追従するロ
ボットの待ち時間はTC −Td 。 Ta >Tb かつTC >Td の場合には、追従するロ
ボットの待ち時間はTa −Tb 。 Ta >Tb かつTC >Td の場合には、追従するロ
ボットの待ち時間はTa −Tb +TC −Td 。
させたときのインターロック待ち時間は、次の4通りの
式のいずれかによって求めることができる。 Ta <Tb かつTC <Td の場合には、追従するロ
ボットの待ち時間は0。 Ta <Tb かつTC >Td の場合には、追従するロ
ボットの待ち時間はTC −Td 。 Ta >Tb かつTC >Td の場合には、追従するロ
ボットの待ち時間はTa −Tb 。 Ta >Tb かつTC >Td の場合には、追従するロ
ボットの待ち時間はTa −Tb +TC −Td 。
【0050】なお、POINT Bを最初のロジックで
仮想的に決定したときに、の条件を満たす位置(ステ
ップ)ではなかった場合には、この仮に設定したそのP
OINT Bの位置を1ステップづつ増やしていって、
POINT Cの1ステップ前までについて繰り返し上
記の待ち時間を計算し(〜)、待ち時間を最小とす
るステップにPOINT B,POINT Eを設定す
る。
仮想的に決定したときに、の条件を満たす位置(ステ
ップ)ではなかった場合には、この仮に設定したそのP
OINT Bの位置を1ステップづつ増やしていって、
POINT Cの1ステップ前までについて繰り返し上
記の待ち時間を計算し(〜)、待ち時間を最小とす
るステップにPOINT B,POINT Eを設定す
る。
【0051】以上がS15のステップで行われる具体的
な内容である。この処理は動作時間演算部20、インタ
ーロック自動設定部16、ロボットプログラム変換部1
8によって分担して行われ、インターロック情報、イン
ターロック解除情報、進入許可情報は最終的にロボット
プログラム変換部18によって付加されて、新ロボット
プログラムとして外部装置に出力される。
な内容である。この処理は動作時間演算部20、インタ
ーロック自動設定部16、ロボットプログラム変換部1
8によって分担して行われ、インターロック情報、イン
ターロック解除情報、進入許可情報は最終的にロボット
プログラム変換部18によって付加されて、新ロボット
プログラムとして外部装置に出力される。
【0052】なお、以上の説明では、2台のロボットが
干渉する場合を一例として述べたが、本発明は、これに
限られず、複数台のロボットが相互に干渉する場合につ
いても同様に適用可能であることはいうまでもない。
干渉する場合を一例として述べたが、本発明は、これに
限られず、複数台のロボットが相互に干渉する場合につ
いても同様に適用可能であることはいうまでもない。
【図1】 本発明方法に使用するロボットの一例を示す
図である。
図である。
【図2】 本発明方法を実施する装置を示す図である。
【図3】 本発明方法を示すフローチャートである。
【図4】 本発明方法の説明に供する図である。
【図5】 本発明方法の説明に供する図である。
【図6】 本発明方法の特に進入許可信号の付加の説明
に供する図である。
に供する図である。
【図7】 本発明方法の特に進入許可信号の付加の説明
に供する図である。
に供する図である。
10…ロボットプログラム記憶部、 12…シミュレーション実行部、 14…干渉チェック部、 16…インターロック自動設定部、 18…ロボットプログラム変換部、 20…動作時間演算部。
Claims (4)
- 【請求項1】 互いに干渉し合う動作領域を共有する複
数のロボットを画面上で動作させ、それぞれのロボット
が干渉せずに動作できるようなプログラムを自動作成す
るプログラム作成方法であって、 当該複数のロボットを、それぞれのプログラムを1ステ
ップづつ歩進させながら動作させ、相互に他のロボット
と干渉し合う動作領域がどのステップからどのステップ
であるのかをそれぞれのロボットについて求め、 そのロボットが当該干渉し合う動作領域に入っている場
合であっても、他のロボットの当該干渉し合う動作領域
への進入を許す進入許可情報を、そのロボットと干渉す
る他のロボットのプログラムに自動設定することを特徴
とするロボット干渉域設定プログラム作成方法。 - 【請求項2】 互いに干渉し合う動作領域を共有する複
数のロボットを画面上で動作させ、それぞれのロボット
が干渉せずに動作できるようなプログラムを自動作成す
るプログラム作成方法であって、 当該複数のロボットを、それぞれのプログラムを1ステ
ップづつ歩進させながら動作させ、相互に他のロボット
と干渉し合う動作領域がどのステップからどのステップ
であるのかをそれぞれのロボットについて求め、 当該干渉し合う動作領域を分割して複数の干渉域を設定
し、 そのロボットが他のロボットと干渉し合う動作領域に入
り、第n干渉域内を動作している場合には、他のロボッ
トに対してそのロボットと干渉を起こすことのない干渉
域までの進入を許す進入許可情報をそのロボットと干渉
する他のロボットのプログラムに自動設定することを特
徴とするロボット干渉域設定プログラム作成方法。 - 【請求項3】 互いに干渉し合う動作領域を共有する複
数のロボットを画面上で動作させ、それぞれのロボット
が干渉せずに動作できるようなプログラムを自動作成す
るプログラム作成方法であって、 当該複数のロボットを、それぞれのプログラムを1ステ
ップづつ歩進させながら動作させ、相互に他のロボット
と干渉し合う動作領域がどのステップからどのステップ
であるのかをそれぞれのロボットについて求め、 当該干渉し合う動作領域を分割して複数の干渉域を設定
し、 そのロボットが他のロボットと干渉し合う動作領域に入
るそのロボットのプログラムの最初のステップに、他の
ロボットが既に当該干渉し合う動作領域に入っている場
合にそのロボットの干渉を回避させるためのインターロ
ック情報を付加し、 そのロボットが他のロボットと干渉し合う動作領域に入
り、第n干渉域内を動作している場合には、他のロボッ
トに対してそのロボットと干渉を起こすことのない干渉
域までの進入を許す進入許可情報をそのロボットと干渉
する他のロボットのプログラムに付加し、 また、そのロボットが他のロボットと干渉し合う動作領
域から脱出するそのロボットのプログラムの最初のステ
ップに、他のロボットが当該干渉し合う動作領域に入る
ことを許すインターロック解除情報を付加することを特
徴とするロボット干渉域設定プログラム作成方法。 - 【請求項4】 前記進入許可情報の付加は、この許可情
報を任意のロボットのプログラムに付加した場合に、こ
の許可情報が付加されたロボットがこの許可情報が付加
された干渉域の動作に要する時間と他のロボットがこの
ロボットの干渉域の動作のために待たされる時間とを勘
案し、他のロボットのその干渉域への進入待ち時間が最
短となるようなステップに付加されることを特徴とする
請求項2または請求項3に記載のロボット干渉域設定プ
ログラム作成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6828097A JPH10260714A (ja) | 1997-03-21 | 1997-03-21 | ロボット干渉域設定プログラム作成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6828097A JPH10260714A (ja) | 1997-03-21 | 1997-03-21 | ロボット干渉域設定プログラム作成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH10260714A true JPH10260714A (ja) | 1998-09-29 |
Family
ID=13369205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6828097A Withdrawn JPH10260714A (ja) | 1997-03-21 | 1997-03-21 | ロボット干渉域設定プログラム作成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH10260714A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004085120A1 (ja) * | 2003-03-25 | 2004-10-07 | Rorze Corporation | ロボットシミュレーション装置、および、シミュレーションプログラム |
KR100863989B1 (ko) | 2007-04-24 | 2008-10-16 | 대우조선해양 주식회사 | 선체 소조립 용접로봇의 대기시간 최소화 및 충돌방지방법 |
JP2018144223A (ja) * | 2017-03-06 | 2018-09-20 | キヤノン株式会社 | 複数のロボットに動作を教示する教示方法、およびそれに用いる教示装置 |
JP2020049554A (ja) * | 2018-09-21 | 2020-04-02 | キヤノン株式会社 | 軌道生成方法、軌道生成装置、およびロボットシステム |
US10919153B2 (en) | 2017-03-06 | 2021-02-16 | Canon Kabushiki Kaisha | Teaching method for teaching operations to a plurality of robots and teaching system used therefor |
US11458626B2 (en) | 2018-02-05 | 2022-10-04 | Canon Kabushiki Kaisha | Trajectory generating method, and trajectory generating apparatus |
DE112021007883T5 (de) | 2021-09-07 | 2024-04-11 | Fanuc Corporation | Steuervorrichtung und steuerungsverfahren mit verriegelungsfunktion |
-
1997
- 1997-03-21 JP JP6828097A patent/JPH10260714A/ja not_active Withdrawn
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004085120A1 (ja) * | 2003-03-25 | 2004-10-07 | Rorze Corporation | ロボットシミュレーション装置、および、シミュレーションプログラム |
US7606633B2 (en) | 2003-03-25 | 2009-10-20 | Rorze Corporation | Robot simulation device, and robot simulation program |
KR100863989B1 (ko) | 2007-04-24 | 2008-10-16 | 대우조선해양 주식회사 | 선체 소조립 용접로봇의 대기시간 최소화 및 충돌방지방법 |
JP2018144223A (ja) * | 2017-03-06 | 2018-09-20 | キヤノン株式会社 | 複数のロボットに動作を教示する教示方法、およびそれに用いる教示装置 |
US10919153B2 (en) | 2017-03-06 | 2021-02-16 | Canon Kabushiki Kaisha | Teaching method for teaching operations to a plurality of robots and teaching system used therefor |
US11458626B2 (en) | 2018-02-05 | 2022-10-04 | Canon Kabushiki Kaisha | Trajectory generating method, and trajectory generating apparatus |
JP2020049554A (ja) * | 2018-09-21 | 2020-04-02 | キヤノン株式会社 | 軌道生成方法、軌道生成装置、およびロボットシステム |
DE112021007883T5 (de) | 2021-09-07 | 2024-04-11 | Fanuc Corporation | Steuervorrichtung und steuerungsverfahren mit verriegelungsfunktion |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5254923A (en) | Industrial robot synchronous control method and apparatus | |
EP1798618B1 (en) | Device and method for automatically setting interlock between robots | |
US20060069466A1 (en) | Method for controlling trajectory of robot | |
JPS6244281B2 (ja) | ||
JPH0238342B2 (ja) | ||
EP0067877A1 (en) | Robot control system | |
US4424569A (en) | Method and apparatus for a numerical control device for controlling a machining device having a plurality of tools | |
EP1235125A2 (en) | Control apparatus for cutting machine, cutting machine and cutting method | |
KR101207248B1 (ko) | 산업용 로봇, 및 산업용 로봇의 운동을 제어하기 위한 방법 | |
JPH10260714A (ja) | ロボット干渉域設定プログラム作成方法 | |
US5491638A (en) | Method of controlling a coordinate measuring apparatus | |
GB2027938A (en) | Improved off-line teach assist apparatus and on-line control apparatus | |
JPH10264058A (ja) | ロボット干渉域設定プログラム作成方法 | |
JPS6365469B2 (ja) | ||
US4912383A (en) | Method of controlling a robot | |
US5654618A (en) | Process for the two-dimensional determination of a work-area contour for lathes | |
EP0477430B1 (en) | Off-line teaching method for industrial robot | |
US5136903A (en) | Method of automatically determining a machining range for lathe turning machining and an automatic programming system for lathes | |
CN116197577A (zh) | 用于零件的摆搭方法、装置、摆塔焊接工作站及控制器 | |
JPS61260306A (ja) | ロボツトの相互干渉防止方式 | |
JPS62251901A (ja) | 多軸ロボツトの経路制御装置 | |
EP0075325B1 (en) | Control apparatus and method for industrial robot | |
JPH0288139A (ja) | 工具交換装置 | |
JP2672595B2 (ja) | 工具入替え方法 | |
KR940003090B1 (ko) | 산업용 로보트의 오프-라인 교시방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20040601 |