JP2006192554A - 複数ロボットの干渉防止方法およびその方法を実施する装置並びに当該装置を備えるロボットシステム - Google Patents

複数ロボットの干渉防止方法およびその方法を実施する装置並びに当該装置を備えるロボットシステム Download PDF

Info

Publication number
JP2006192554A
JP2006192554A JP2005008967A JP2005008967A JP2006192554A JP 2006192554 A JP2006192554 A JP 2006192554A JP 2005008967 A JP2005008967 A JP 2005008967A JP 2005008967 A JP2005008967 A JP 2005008967A JP 2006192554 A JP2006192554 A JP 2006192554A
Authority
JP
Japan
Prior art keywords
robot
robots
time
interference
time difference
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005008967A
Other languages
English (en)
Inventor
Jiyuuichi Hiratsuka
充一 平塚
Takahisa Iizuka
隆久 飯塚
Takashi Takatori
隆志 高取
Yukimitsu Suzuki
幸充 鈴木
Ichiro Arita
一郎 有田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kawasaki Heavy Industries Ltd
Central Motor Wheel Co Ltd
Original Assignee
Kawasaki Heavy Industries Ltd
Central Motor Wheel Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kawasaki Heavy Industries Ltd, Central Motor Wheel Co Ltd filed Critical Kawasaki Heavy Industries Ltd
Priority to JP2005008967A priority Critical patent/JP2006192554A/ja
Publication of JP2006192554A publication Critical patent/JP2006192554A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

【課題】 複数ロボットのそれぞれの間における互いの干渉を迅速且つ確実に防止する干渉防止方法、装置、この装置を備えるロボットシステムを提供する。
【解決手段】 少なくとも複数ロボットの対象物に対する作業条件、対象物の形状情報並びに複数ロボットの形状情報および配置情報を設定し、作業条件および対象物の形状情報に基づいて、各ロボットの時系列軌跡データをそれぞれ生成し、各ロボットの時系列軌跡データ並びに各ロボットの形状情報および配置情報に基づいて、各ロボット毎に自ロボットに対する他のロボットの動作開始遅れの最大許容時間差を算出し、各ロボットが動作を開始したことを示す動作開始情報を検出し、動作開始情報に基づいて各ロボット間で自ロボットに対して他のロボットが前記最大許容時間差内に動作を開始したか否かを判定し、その判定結果に基づいて各ロボットに対して動作の停止命令を与える。
【選択図】 図3

Description

本発明は、同時にまたは所定時間差で作業開始する複数ロボットが作業中に互いに干渉することを防止する方法およびその方法を実施する装置並びに当該装置を備えるロボットシステムに関し、特にアーク溶接などに用いられるロボットの干渉防止方法およびその方法を実施する装置並びに当該装置を備えるロボットシステムに関する。
従来より、複数ロボットの干渉を防止するため種々の方法が提案されている。
例えば、一の方法では、複数ロボットのマニピュレータの干渉領域を予め設定し、当該複数ロボットのマニピュレータのうちの1つのみが当該干渉領域内で作業し、この作業が完了するまで他のロボットのマニピュレータは当該干渉領域の外側の所定位置で待機する。すなわち、2つ以上のマニピュレータが同時に上記干渉領域内で作業しないように各マニピュレータを移動させるようになっている。しかしながらアーク溶接などの場合、ほぼ同時にまたは所定時間差内に作業を行わないと歪みなどが発生し製品品質に問題が発生する場合があることから、上記方法を用いることはできない。
また別の方法では、オフラインティーチングソフトなどを用いて事前に複数ロボットの動作シミュレーションなどを行い、複数ロボットの干渉チェックを行っている(例えば特許文献1参照)。その結果導き出された複数ロボットが互いに干渉しない位置情報に従って、各ロボットを動作させる。しかしながら上記方法では、アーク溶接などの場合、アークスタートのタイミングがずれたり、また溶接のねらい角などは実際に溶接作業を行わないと決められないため、ロボットの実作業時の干渉を完全に回避することはできない。そこで、この方法では、時々刻々の各ロボットの位置情報を取得し各ロボット間の干渉をチェックして各ロボット間の干渉を防止する必要がある。そのため干渉防止処理に時間が掛かり、しかもこの干渉防止処理を実行する装置への負荷が大きくなる。
特開2003−200368号公報 (第11頁、第1図、第2図)
本発明は、上記のような事情に鑑みてなされたものであり、同時にまたは所定時間差で作業開始する複数ロボットのそれぞれの間における互いの干渉を迅速に且つ確実に防止することができる干渉防止方法およびその方法を実施する装置並びに当該装置を備えるロボットシステムを提供することを目的とする。
本発明に係る干渉防止方法は、対象物に対して同時にまたは所定時間差で作業開始する複数ロボットの干渉を防止する干渉防止方法であって、少なくとも複数ロボットの対象物に対する作業条件、対象物の形状情報並びに複数ロボットの形状情報および配置情報を設定する設定工程と、当該作業条件および対象物の形状情報に基づいて、各ロボットの可動部位の時系列軌跡データを生成する生成工程と、当該各ロボットの時系列軌跡データ並びに前記各ロボットの形状情報および配置情報に基づいて、各ロボット毎に、自ロボットと他のロボットとの間の当該他のロボットの動作開始遅れによる動作開始から動作完了までの干渉を防止しうる、自ロボットに対する他のロボットの動作開始遅れの最大許容時間差をそれぞれ算出する最大許容時間差算出工程と、各ロボットが動作を開始したことを示す動作開始情報を各ロボット毎に検出する検出工程と、当該動作開始情報に基づいて、各ロボット間で自ロボットに対して他のロボットが前記最大許容時間差内に動作を開始したか否かを判定する判定工程と、少なくとも1組のロボット間で自ロボットに対して他のロボットが前記最大許容時間差内に動作を開始していないと判定された場合に、各ロボットに対して動作の停止命令を与える命令工程とを有する。
この方法を実施するための本発明に係る干渉防止装置は、対象物に対して同時にまたは所定時間差で作業開始する複数ロボットと、当該複数ロボットのそれぞれの動作を制御するロボットコントローラとを備えるロボットシステムに適用される、複数ロボットの干渉を防止する干渉防止装置であって、少なくとも複数ロボットの対象物に対する作業条件、対象物の形状情報並びに複数ロボットの形状情報および配置情報を設定する設定手段と、当該作業条件および対象物の形状情報に基づいて、各ロボットの可動部位の時系列軌跡データを生成する生成手段と、当該各ロボットの時系列軌跡データ並びに前記各ロボットの形状情報および配置情報に基づいて、各ロボット毎に、自ロボットと他のロボットとの間の当該他のロボットの動作開始遅れによる動作開始から動作完了までの干渉を防止しうる、自ロボットに対する他のロボットの動作開始遅れの最大許容時間差をそれぞれ算出する最大許容時間差算出手段と、各ロボットが動作を開始したことを示す動作開始情報を各ロボット毎に検出する検出手段と、当該動作開始情報および前記最大許容時間差を受け付けて、前記動作開始情報に基づいて、各ロボット間で自ロボットに対して他のロボットが前記最大許容時間差内に動作を開始したか否かを判定する判定手段と、少なくとも1組のロボット間で自ロボットに対して他のロボットが前記最大許容時間差内に動作を開始していないと判定された場合に、それぞれのロボットコントローラを通じて各ロボットに対して動作の停止命令を与える命令手段とを備える。
この構成では、複数ロボットのそれぞれの動作開始情報を用いて、各ロボット間で自ロボットに対して他のロボットが最大許容時間差内に動作を開始したか否かを判定して、少なくとも1組のロボット間で自ロボットに対して他のロボットが最大許容時間差内に動作しない場合に各ロボットを停止させて、各ロボット間の干渉を防いでいる。このように本発明では各ロボットの動作開始情報を監視することにより各ロボット間の干渉を防止しているので、時々刻々の各ロボットの位置情報を算出してこの位置情報に基づいて各ロボット間の干渉の有無を確認し各ロボット間の干渉を防止する必要がある従来技術に比べて、干渉防止処理に要する時間を短縮することが可能となる。その結果、干渉防止処理の遅れによる各ロボット間の互いの干渉を防止することが可能となる。また、ロボットコントローラに対する干渉防止処理の負荷を軽減することも可能となる。なお、作業条件とは、例えば溶接作業の場合、溶接トーチのねらい角度、溶接線の位置、溶接トーチが溶接時にたどる溶接軌跡などである。
また前記ロボットコントローラが、前記設定手段に代えて複数ロボットの対象物に対する作業条件を設定する手段、および/または、前記生成手段に代えて当該作業条件に基づいて各ロボットの可動部位の時系列軌跡データを生成する手段を備えるとともに、当該干渉防止装置と通信可能に接続されてもよい。
上記の両手段は、通常、ロボットコントローラに設けられているので、これらの機能を上述した干渉防止装置の機能として流用することが可能である。これにより、ロボットの作業条件などの変更を迅速に行うことが可能となる。すなわちロボットの作業条件などの変更を、ロボットコントローラおよび干渉防止装置の両方に対して行う必要がなく、ロボットコントローラに対してのみ行えばよい。また両手段のうちいずれか、または全部を、干渉防止装置に備える場合、ロボットコントローラと干渉防止装置との間の通信を簡素化することが可能となる。
前記最大許容時間差算出工程が、前記各ロボットの時系列軌跡データ並びに前記各ロボットの形状情報および配置情報に基づいて、各ロボット間で、自ロボットが始点から、他のロボットが始点に位置しても当該他のロボットと干渉しない第一の非干渉位置まで移動するために要する第一の時間と、前記他のロボットが始点から、前記自ロボットが終点に位置しても当該自ロボットと干渉しない第二の非干渉位置まで移動するために要する第二の時間を、自ロボットが始点から終点に至るまでの所要時間から差し引いた第三の時間とをそれぞれ算出する時間算出工程と、各ロボット間で、対応する前記第一の時間と第三の時間とを比較してこのうち小さい方を前記最大許容時間差としてそれぞれ選択する選択工程とを有してもよい。
この方法を実施するための本発明に係る干渉防止装置において、前記最大許容時間差算出手段が、前記各ロボットの時系列軌跡データ並びに前記各ロボットの形状情報および配置情報に基づいて、各ロボット間で、自ロボットが始点から、他のロボットが始点に位置しても当該他のロボットと干渉しない第一の非干渉位置まで移動するために要する第一の時間と、前記他のロボットが始点から、前記自ロボットが終点に位置しても当該自ロボットと干渉しない第二の非干渉位置まで移動するために要する第二の時間を、自ロボットが始点から終点に至るまでの所要時間から差し引いた第三の時間とをそれぞれ算出する時間算出手段と、各ロボット間で、対応する前記第一の時間と第二の時間とを比較してこのうち小さい方を前記最大許容時間差としてそれぞれ選択する選択手段とを備えてもよい。
これにより、各ロボット間で、自ロボットが始点から終点に移動する間に他のロボットと干渉することを防止することが可能となる。その結果、各ロボット間の互いの干渉を確実に防止することが可能となる。
前記設定工程は、各ロボット間の干渉を防止するための干渉余裕距離を各ロボット毎に設定する工程をさらに有しており、前記時間算出工程が、各ロボット間で、前記自ロボットが軌跡に沿って前記第一の非干渉位置から始点方向に当該自ロボットに対応する前記干渉余裕距離離隔した第一の余裕位置を算出し、当該自ロボットが始点から当該第一の余裕位置まで移動するのに要する時間を前記第一の時間としてそれぞれ算出するとともに、前記他のロボットが軌跡に沿って前記第二の非干渉位置から始点方向に前記自ロボットに対応する前記干渉余裕距離離隔した第二の余裕位置を算出し、自ロボットが始点から前記第一の余裕位置に至るまでの所要時間から、他のロボットが始点から当該第二の余裕位置まで移動するのに要する時間を差し引いた時間を前記第三の時間としてそれぞれ算出する工程をさらに有してもよい。
この方法を実施するための本発明に係る干渉防止装置において、前記設定手段は、各ロボット間の干渉を防止するための干渉余裕距離を各ロボット毎に設定すべくなしてあり、前記時間算出手段は、各ロボット間で、前記自ロボットが軌跡に沿って前記第一の非干渉位置から始点方向に当該自ロボットに対応する前記干渉余裕距離離隔した第一の余裕位置を算出し、当該自ロボットが始点から当該第一の余裕位置まで移動するのに要する時間を前記第一の時間としてそれぞれ算出するとともに、前記他のロボットが軌跡に沿って前記第二の非干渉位置から始点方向に前記自ロボットに対応する前記干渉余裕距離離隔した第二の余裕位置を算出し、自ロボットが始点から前記第一の余裕位置に至るまでの所要時間から、他のロボットが始点から当該第二の余裕位置まで移動するのに要する時間を差し引いた時間を前記第三の時間としてそれぞれ算出するように構成されてもよい。なお、前記干渉余裕距離には、各ロボットの停止時に生じうる位置ずれだけでなく、動作時(増速時、減速時、等速時)に生じうる位置ずれ、設計上の余裕などを含む。
例えば各ロボットが動作中に停止命令を受けたとき、各ロボットに作用する慣性力などによって各ロボットの停止位置がずれることがある。これにより各ロボットが互いに干渉することがある。そこで本発明では、上述のようなロボットの位置ずれなどを考慮した最大許容時間差を用いて各ロボット間の互いの干渉を防止している。これにより、上記各ロボットの位置ずれなどによる各ロボット間の互いの干渉を防止することが可能となる。
前記各ロボットは、対象物に対して作業するツールと、当該ツールを先端部に取り付けて所定の位置に移動させるための可動アームと、当該可動アームを支持する支持装置とを備えており、前記可動アームは、直列配置された一または複数のアームから構成され、それぞれのアームの先端部に駆動装置を備え、それぞれのアームの基端部が当該各アームの基端部側のアームの駆動装置および/または支持装置にそれぞれ枢支されるように構成されており、前記各ロボットの一または複数の所定可動部位の時系列軌跡データが、前記各駆動装置の時系列角度データであることが望ましい。
このような構成においては、各駆動装置の時系列角度データが各ロボットの時系列軌跡を正確に表現する。その結果、各ロボット間の互いの干渉を確実に防止することができる。もちろん各ロボットの時系列軌跡データを正確に表現するもので有れば他のデータであっても構わない。例えば各ロボットの一または複数の所定可動部位の位置データなどが考えられる。
前記ロボットが溶接ロボットであり、前記対象物が被溶接物であってもよい。これにより、歪みを防止する観点から複数の溶接ロボットを被溶接物に対して同時にまたは所定時間差で溶接開始する場合であっても、上記のとおり各溶接ロボット間の干渉を容易に防止することが可能となる。
また本発明に係るロボットシステムは、対象物に対して同時にまたは所定時間差で作業開始する複数ロボットと、当該複数ロボットのそれぞれの動作を制御するロボットコントローラと、上述した本発明に係る干渉防止装置とを備える。これにより、各ロボット間の互いの干渉を迅速且つ確実に防止することが可能となる。
本発明によれば、同時にまたは所定時間差で作業開始する複数ロボットのそれぞれのロボット間の互いの干渉を迅速に且つ確実に防止することができる。またこの発明を用いれば、狭い場所においても複数のロボットを干渉させることなく動作させることができる。
以下、本発明の実施の形態を図面に基づいて説明する。
図1は、本発明の実施の形態に係る干渉防止装置が適用される溶接ロボットシステムの構成を示すブロック図である。なお、溶接ロボットシステムは一例である。従って本干渉防止装置を、その他塗装ロボットシステム、組み立てロボットシステムなどに適用してもよい。
溶接ロボットシステム1は、第1〜第4ロボット10、11、12、13と、第1〜第4ロボット10、11、12、13の動作をそれぞれ制御する第1〜第4ロボットコントローラ30、31、32、33と、第1〜第4ロボット10、11、12、13のそれぞれの間における干渉を防止するための干渉防止装置50とを備える。なお、ここでは、ロボットの台数を4台にしているが、これに限定するものではなく、2台以上であれば何台であっても構わない。もちろん一台のロボットに複数の後述する可動アームを備える場合であってもよい。
前記第1ロボット10は、被溶接物14(例えば、自動車用ホイール)を溶接するための溶接トーチ15と、この溶接トーチ15を被溶接物14に対して溶接可能な位置まで移動させるための可動アーム16と、この可動アーム16を支持する支持装置17と、第1ロボット10が動作を開始したことを検出するセンサSNとを備える。
この支持装置17は、基端部が基礎(図示せず)上に固定されてもよいし、また例えば門構形移動装置(図示せず)に天吊りされてもよい。支持装置17が基礎上に固定配置される場合、一般的に被溶接物14を載置するための載置台14aが第1ロボット10の作業エリアまで移動されるようになっている。支持装置17が門構形移動装置に天吊りされる場合、支持装置17は門構形移動装置とともに走行し、あるいは門構形移動装置によって横行、昇降および旋回されるようになっており、これによって支持装置17が被溶接物14に対して溶接可能な位置まで移動されるようになっている。またこの場合、被溶接物14は、固定の載置台または移動可能な載置台のいずれに載置されてもよい。
前記可動アーム16は軸方向に細長い第1アーム18と第2アーム19とを備える。なお、ここでは、可動アーム16が2つのアームからなるが、これに限定されるものでなく、1つまたは3つ以上であっても構わない。
前記第1アーム18は、基端部が例えば前記支持装置17の先端部に枢支されている。具体的には、この支持装置17の先端部に第1アーム18を回動させるための第1駆動装置20a(例えば、ステップモータ、サーボモータなど)が設けられている。この第1駆動装置20aの駆動軸(図示せず)に第1アーム18の基端部が取り付けられている。これにより、第1アーム18を第1駆動装置20aの駆動軸を中心に回動させることが可能となる。
前記第2アーム19は、基端部が第1アーム18の先端部に枢支されている。具体的には、この第1アーム18の先端部に第2アーム19を回動させるための第2駆動装置20b(例えば、ステップモータ、サーボモータなど)が設けられている。この第2駆動装置20bの駆動軸(図示せず)に第2アーム19の基端部が取り付けられている。これにより、第2アーム19を第2駆動装置20bの駆動軸を中心に回動させることが可能となる。
前記溶接トーチ15は例えば棒状に形成されており、先端部から被溶接物14に対して溶接ワイヤが供給されるようになっている。溶接トーチ15の胴部分は、前記第2アーム19の先端部に枢支されている。具体的には、第2アームの先端部に溶接トーチ15を回動させるための第3駆動装置20c(例えば、ステップモータ、サーボモータなど)が設けられている。この第3駆動装置20cの駆動軸(図示せず)に溶接トーチ15が取り付けられている。これにより、溶接トーチ15を第3駆動装置20cの駆動軸を中心に回動させることが可能となる。
以上により、溶接トーチ15を、被溶接物14に対して所望の溶接姿勢(ねらい角度など)で予め設定された溶接軌跡(溶接トーチがたどる軌跡)に沿って移動させることが可能となる。なお、第2〜第4ロボット11、12、13も、上述した第1ロボット10と同様の構成を有する。
前記第1〜第4ロボットコントローラ30、31、32、33は、上記のとおり、第1〜第4ロボット10、11、12、13の動作を制御すべく、これらの第1〜第4ロボット10、11、12、13と通信可能にそれぞれ接続されている。以下、図2を用いて詳細に述べる。図2は図1に示した溶接ロボットシステムの詳細な構成を示すブロック図である。
図2に示すように、第1ロボットコントローラ30は、第1CPU34、第1入出力インタフェース35(第1I/Oインタフェース)および第1記憶部36を備えており、第1ロボット10の被溶接物14に対する溶接条件、被溶接物14の形状情報、並びに第1ロボット10の形状情報および配置情報などを入力するための第1入力装置37と通信可能に接続されている。また第1ロボットコントローラ30は第1ロボット10と通信可能に接続されている。さらに第1ロボットコントローラ30は後述のシーケンサ52と通信可能に接続されている。
前記第1CPU34は、第1入力装置37から第1I/Oインタフェース35を介して受け付けた溶接条件および被溶接物14の形状情報に基づいて、第1ロボット10の第1アーム18、第2アーム19および溶接トーチ15の時系列軌跡データを生成し、これらの時系列軌跡データを第1記憶部36に記憶するように構成されている。第1CPU34は、これらの時系列軌跡データを、第1I/Oインタフェース35を介して第1ロボット10の第1〜第3駆動装置20a、20b、20cにそれぞれ出力して、第1ロボット10の動作を制御するように構成されている。第1CPU34は、後述のシーケンサ52から受け取った停止命令に基づいて、第1ロボット10の第1〜第3駆動装置20a、20b、20cの動作を停止するための処理を実行するように構成されている。
ここで上述した溶接条件は、溶接トーチ15のねらい角度、溶接線の位置、溶接トーチ15が溶接時にたどる溶接軌跡などである。また被溶接物14の形状情報、並びに第1ロボット10の形状情報および配置情報として、図面から読み取ったデータや汎用のCADフォーマット(例えば、DXF、IGES、STEP、VRML)のデータなどが用いられる。後者の場合、これらのデータをCAD装置(図示せず)を用いて予め生成し、CAD装置から通信ネットワーク(図示せず)などを通じて第1ロボットコントローラ30に直接入力してもよい。
また上述した時系列軌跡データとして、たとえば上述した第1〜第3駆動装置20a、20b、20cの駆動軸の時系列回転角度データ(以下、時系列関節角度データという)を用いることができる。この時系列関節角度データは、第1ロボット10の第1〜第3駆動装置20a、20b、20cの動作開始(始点)から動作終了(終点)までの時間を第1〜第3駆動装置20a、20b、20cの動作を制御する所定の制御時間間隔で区切って、それぞれの区間を後述の制御周期単位tick(例えば、tick=0、1、2…とし、tick=0が始点に対応する。)としこれに関連付けて生成されている。
なお上記第2〜第4ロボットコントローラ31、32、33は、第1ロボットコントローラ30と同様の構成を有する。従って、詳細な説明は省略する。
次に前記干渉防止装置50の構成について説明する。図1に示すように、この干渉防止装置50は、各ロボット10、11、12、13間の干渉をシミュレートして自ロボットに対する他のロボットの動作開始遅れの最大許容時間差をそれぞれ算出するためのシミュレーション用コンピュータ51と、各ロボット10、11、12、13が動作開始したか否かを監視して少なくとも1組のロボット間で自ロボットに対して他のロボットが最大許容時間差内に動作を開始していないと判定された場合に全てのロボットの動作を停止命令を出力するシーケンサ52とを備える。
シミュレーション用コンピュータ51は、上記第1〜第4ロボットコントローラ30、31、32、33とローカルエリアネットワーク(LAN)などの通信ネットワークを介して接続されている。これによりシュミレーション用コンピュータ51は、上記第1〜第4ロボットコントローラ30、31、32、33から、上述した第1〜第4ロボット10、11、12、13のそれぞれの被溶接物14に対する溶接条件、被溶接物14の形状情報、並びに第1〜第4ロボット10、11、12、13の形状情報および配置情報などを受け取ることが可能となる。もちろんこれらの情報を、後述の第5入力装置56から直接入力しても構わない。この場合LANなど通信ネットワークを省略することが可能となる。ただ、上述した情報のうち第1〜第4ロボット10、11、12、13のそれぞれの被溶接物14に対する溶接条件および被溶接物14の形状情報については、溶接の状態、被溶接物14の形態などに応じて変更されうるので、これらの情報を一々図2に示す第1〜第4入力装置37、38、39、40、および、第5入力装置56の両方から入力する手間を省くため、第1〜第4入力装置37、38、39、40から入力して上述のLANなどの通信ネットワークを介してシミュレーション用コンピュータ51に転送することが好ましい。
図2に示すように、シミュレーション用コンピュータ51は、第5CPU53、第5I/Oインタフェース54および第5記憶部55を備える。シミュレーション用コンピュータ51は、上述した第1〜第4ロボット10、11、12、13のそれぞれの形状情報および配置情報などを入力するための第5入力装置56と通信可能に接続されている。もちろんこれに限定することなく、上記第1〜第4ロボット10、11、12、13のそれぞれの被溶接物14に対する溶接条件、被溶接物14の形状情報を第5入力装置56から入力しても構わない。この第5入力装置56は、各ロボット間の干渉を防止するための干渉余裕距離が各ロボット毎に入力されるように構成されている。ここで、干渉余裕距離には、第1〜第4ロボット10、11、12、13のそれぞれの慣性力などによって停止時に生じうる位置ずれだけでなく、動作時(増速時、減速時、等速時)に生じうる位置ずれ、設計上の余裕などを含む。またシミュレーション用コンピュータ51は、第1〜第4ロボット10、11、12、13のそれぞれの間の干渉の有無などのシミュレーション結果を表示するための表示装置57と通信可能に接続されている。
前記第5CPU53は、上述した第1〜第4ロボット10、11、12、13の形状情報、配置情報、干渉余裕距離などを、第5I/Oインタフェース54を介して受け取り第5記憶部55に記憶するように構成されている。第5CPU53は、第5記憶部55に記憶された上述の情報を用いて、第1〜第4ロボット10、11、12、13のそれぞれの間の干渉発生の有無をチェックして自ロボットに対する他のロボットの動作開始遅れによる最大許容時間差を算出するなどの演算処理を実行するように構成されている。その詳細は後述する。第5CPU53は、この算出された最大許容時間差をシーケンサ52に第5I/Oインタフェース54を介して出力するように構成されている。
一方シーケンサ52は、第6CPU58、第6I/Oインタフェース59および第6記憶部60を備えており、例えば周知のPLC(プログラマブルコントローラ)からなる。このシーケンサ52は、前記シミュレーション用コンピュータ51と通信可能に接続されている。これによりシーケンサ52は、シミュレーション用コンピュータ51から最大許容時間差を第6I/Oインタフェース59を通じて取得することが可能となる。またシーケンサ52は、前記第1〜第4ロボット10、11、12、13のそれぞれのセンサSNと通信可能に接続されている。これによりシーケンサ52は、それぞれのセンサSNから第1〜第4ロボット10、11、12、13のそれぞれが動作を開始した場合に発する動作開始情報(信号)を受け取ることが可能となる。この動作開始情報はデジタル信号などである。またシーケンサ52は、第1〜第4ロボットコントローラ30、31、32、33とそれぞれ通信可能に接続されている。これによりシーケンサ52は、前記最大許容時間差および動作開始情報に基づいて判断された第1〜第4ロボット10、11、12、13に対する停止命令を、第6I/Oインタフェース59を通じて第1〜第4ロボットコントローラ30、31、32、33に出力して、第1〜第4ロボット10、11、12、13を停止させることが可能となる。
以上のように構成されるシミュレーション用コンピュータ51およびシーケンサ52の演算処理機能について、図3の機能ブロック図を用いて詳細に説明する。
図3に示すように、シミュレーション用コンピュータ51は生成部70と最大許容時間差算出部71とを備える。この生成部70は、第1〜第4ロボット10、11、12、13の被溶接物14に対する溶接条件および対象物14の形状情報に基づいて、当該各ロボット10、11、12、13毎の第1〜第3駆動装置20a、20b、20cの時系列関節角度データをそれぞれ生成するように構成されている。最大許容時間差算出部71は、前記時系列関節角度データ並びに前記各ロボット10、11、12、13の形状情報および配置情報に基づいて、各ロボット毎に前記最大許容時間差をそれぞれ算出するように構成されている。
この最大許容時間差算出部71は、時間算出部72と選択部73とを備える。図4(a)、(b)をそれぞれ参照して、第1ロボット10および第2ロボット11を一例として時間算出部72の機能をさらに詳細に説明する。図4(a)は、第1ロボット10が始点から、第2ロボット11が始点に位置しても第1ロボット10と干渉しない第一の非干渉位置まで移動するのに要する第一の時間T1を示している。図4(b)は、第2ロボット11が始点から、第1ロボット10が終点に位置しても第2ロボット11と干渉しない第二の非干渉位置まで移動するのに要する第二の時間T2を、第1ロボット10が始点から終点に至るまでの所要時間から差し引いた第三の時間T3を示している。
時間算出部72は、第1ロボット10および第2ロボット11のそれぞれの第1〜第3駆動装置20a、20b、20cの時系列関節角度データ、並びに第1ロボット10および第2ロボット11のそれぞれの形状情報および配置情報に基づいて、各ロボット10、11間の、上述した第一の時間T1、第二の時間T2および第三の時間T3をそれぞれ算出するように構成されている。
選択部73は、各ロボット10、11間の対応する前記第一の時間T1と第三の時間T3とを比較してこのうち小さい方を前記最大許容時間差として選択するように構成されている。
また時間算出部72は、各ロボット10、11間で、第1ロボット10が軌跡に沿って前記第一の非干渉位置から始点方向に当該第1ロボット10に対応する前記干渉余裕距離だけ離隔した第一の余裕位置を算出し、当該第1ロボット10が始点から当該第一の余裕位置まで移動するのに要する時間を前記第一の時間T1としてそれぞれ算出するとともに、第2ロボット11が軌跡に沿って前記第二の非干渉位置から当該第1ロボット10に対応する前記干渉余裕距離だけ離隔した第二の余裕位置を算出し、第1ロボット10が始点から前記第一の余裕位置に至るまでの所要時間から、第2ロボット11が始点から当該第二の余裕位置まで移動するのに要する時間を差し引いた時間を前記第三の時間T3としてそれぞれ算出するように構成されることが望ましい。
これにより、第1ロボット10に作用する慣性力などによって第1ロボット10の停止位置がずれた場合であっても、第1ロボット10が第2ロボット11と干渉することを防止することが可能となる。
また時間算出部72および選択部73は、その他の第1〜第4ロボット10、11、12、13のそれぞれの間についても上記同様に第一の時間T1および第三の時間T3を算出して、両者のうち小さい方を最大許容時間差としてそれぞれ選択するように構成されている。
一方シーケンサ52は、図3に示すように判定部74と命令部75とを備える。判定部74は、第1〜第4ロボット10、11、12、13のそれぞれのセンサSNから出力される動作開始情報に基づいて、各ロボット間で自ロボットに対して他のロボットが前記最大許容時間差内に動作を開始したか否かを判定するように構成されている。
命令部75は、判定部74において少なくとも1組のロボット間で自ロボットに対して他のロボットが前記最大許容時間差内に動作を開始していないと判定された場合に、第1〜第4ロボットコントローラ30、31、32、33に対して第1〜第4ロボット10、11、12、13の動作を停止するための停止命令を与えるように構成されている。この命令部75から停止命令を受けた第1〜第4ロボットコントローラ30、31、32、33は、第1〜第4ロボット10、11、12、13のそれぞれの第1〜第3駆動装置20a、20b、20cに対して停止命令を出力する。これにより第1〜第4ロボット10、11、12、13の動作はすべて停止され、これにより各ロボット間の干渉を防止することができる。
以上のように構成される干渉防止装置50の処理方法について、図5〜図11の処理フロー図を用いて説明する。
図5は全体処理フロー図の一例を示している。作業開始指示(ステップS100)のあと作業条件(溶接条件)などを読み込む(ステップS101)。つまり干渉防止装置50が第1〜第4ロボットコントローラ30、31、32、33に記憶されている作業条件などを読み込む。その後作業条件などに基づいた第1〜第4ロボット10、11、12、13のそれぞれに対する時系列関節角度データを生成する(ステップS102)。その後この時系列関節角度データ並びに上述した第1〜第4ロボット10、11、12、13のそれぞれの形状情報および配置情報に基づいて、第1〜第4ロボット10、11、12、13の自ロボットに対する他のロボットの最大許容時間差データを生成する(ステップS103)。このステップS103の詳細は後述する。その後、1つの被溶接物14に対する第1〜第4ロボット10、11、12、13の作業開始の命令を第1〜第4ロボットコントローラ30、31、32、33に対してそれぞれ出力する(ステップS104)。第1〜第4ロボット10、11、12、13の各動作開始情報に基づいて、各ロボット間で自ロボットに対して他のロボットが前記最大許容時間差内に動作を開始したか否かを監視する(ステップS105)。このステップS105の詳細は後述する。そして1つの被溶接物14に対する第1〜第4ロボット10、11、12、13の作業が終了したことを示す終了情報を取得する(ステップS106)。その後、全作業完了か否かを判定する(ステップS107)。ここで、全作業完了とは、予め設定された全ての被溶接物14の処理を完了した状態をいう。全作業完了であると判定された場合、干渉防止装置50を停止する(ステップS108)。もちろんこの場合溶接ロボットシステム1全体も停止される。ステップS107において全作業完了でないと判定された場合、作業条件の変更指示が有るか否かを判定する(ステップS109)。作業条件の変更指示がないと判定された場合、ステップS104に戻り、次の被溶接物14に対する第1〜第4ロボット10、11、12、13の作業開始の命令を出力する。作業条件の変更指示が有ると判定された場合、新たな作業条件を設定する(ステップS110)。その後、上記ステップS101に戻る。
図6は、図5中のステップS103の詳細処理フロー図の一例を示している。まず第1〜第4ロボット10、11、12、13の正常動作時の干渉をチェックする(ステップS200)。ここで、正常動作時の干渉チェックとは、第1〜第4ロボット10、11、12、13が同時に作業開始した場合に干渉が発生するか否かをチェックすることである。その後第1〜第4ロボット10、11、12、13のそれぞれの間の干渉発生の有無を判定する(ステップS201)。干渉発生があると判定された場合、図2に示した前記表示装置57に「○○ロボットと△△ロボットとの間で干渉がある」旨表示する(ステップS202)。この場合、第1〜第4ロボット10、11、12、13は運転開始不可とされる(ステップS203)。この場合、図示されていないが前記表示装置57などを用いてユーザに対して作業条件の変更を促すことが望ましい。一方ステップS201において干渉発生がないと判定された場合、前記最大許容時間差を算出する(ステップS204)。詳細は後述する。その後、詳細検討モードが選択されたか否かを判定する(ステップS205)。詳細検討モードが選択された場合、第1〜第4ロボット10、11、12、13が特定の作業開始タイミングにおいて各ロボット間で干渉が生じるか否かを検出する(ステップS206)。その詳細は後述する。そしてその結果を出力する(ステップS207)。具体的には各ロボット間で干渉が生じると判定された場合、その旨を例えば表示装置57に表示し、さらに図示されていないが前記表示装置57などを用いてユーザに対して作業条件の変更を促すことが好ましい。また各ロボット間で干渉が生じないと判定された場合、または、詳細検討モードが選択されない場合、ステップS207に進み、ステップS204において算出された最大許容時間差をそのままシーケンサ52に出力する。その後、図5に示したステップS104に進む。
図7は、図6中のステップS200の詳細処理フロー図の一例を示している。なお、この処理(正常動作時の干渉チェック)は、第1〜第4ロボット10、11、12、13の動作を計算的に模擬して行うのであって、第1〜第4ロボット10、11、12、13を実際に動作させて行うものではない。
まず第1〜第4ロボット10、11、12、13の制御周期単位tick=0に設定する(ステップS300)。第1〜第4ロボット10、11、12、13をtick=0に対応する位置(始点)にそれぞれ移動する(ステップS301)。ロボットの番号n=1に設定する(ステップS302)。次に第nロボットと第n+1〜第4ロボットのそれぞれとの間の距離を、第1〜第4ロボット10、11、12、13のtick=0に対応する位置から求める(ステップS303)。前記距離のいずれかが余裕距離以下であるか否かを判定する(ステップS304)。ここで、余裕距離とは、例えば各ロボットが互いに干渉しない各ロボット間の距離(図面上得られる距離など)に上述した干渉余裕距離(各ロボットの慣性力などによる停止時の位置ずれなど)を加えた距離である。前記距離のいずれかが余裕距離以下であると判定された場合、所定のロボット間に干渉があると判定する(ステップS305)。前記距離のいずれかが余裕距離を超えると判定された場合、いずれのロボット間にも干渉がないと判定し、n=n++(=1+1)に設定する(ステップS306)。ここでn++はインクリメント(1を加算する)を表す。そしてステップS302〜S306までの処理を実行する。この処理をn=3になるまで実行する。より具体的には、n=1のとき第1ロボット10と第2〜第4ロボット11、12、13とのそれぞれの間の干渉をチェックし、n=2のとき第2ロボット11と、第3、第4ロボット12、13とのそれぞれの間の干渉をチェックし、n=3のとき第3ロボット12と第4ロボット13との間の干渉をチェックする。これらの処理が完了した後、tick=tick++(=tick+1)に設定する(ステップS307)。ここでtick++はインクリメント(1を加算する)を表す。その後ステップS300に戻り、ステップS300〜ステップS307の処理を実行する。そして第1〜第4ロボット10、11、12、13が始点から終点に至るまで、すなわち制御周期単位tick=0〜終点に至るまで順次ステップS300〜ステップS307の処理を繰り返し実行する。以上の処理を行う間に、いずれのロボット間にも干渉がないと判定された場合、最終的に各ロボットが始点から終点に至るまで各ロボット間に干渉がないと判定する(S308)。そして上述したステップS201、S204の順に処理が進む。また以上の処理を行う間に、所定のロボット間に干渉があると判定された場合、上述したステップS201、S202の順に処理が進む。
図8および図9は、図6中のステップS204の一部の詳細処理フロー図の一例を示している。図8は、前記第一の時間T1(図4(a)参照)を算出するための処理フロー図の一例を示している。図9は、前記第二の時間T2(図4(b)参照)を算出するための処理フロー図の一例を示している。なお、この処理(最大許容時間差の算出)は、第1〜第4ロボット10、11、12、13の動作を計算的に模擬して行うのであって、第1〜第4ロボット10、11、12、13を実際に動作させて行うものではない。
図8に示すように、まずロボットの番号n=1に設定する(ステップS400)。第n+1ロボットを始点(0)へ移動する(ステップS401)。第nロボットが始点に位置するときの時間p0=tick始点(=0)に設定するとともに、第nロボットの終点に位置するときの時間p1=tick終点に設定する(ステップS402)。第nロボットを時間p1に対応する位置へ移動する(ステップS403)。第n、n+1ロボット間の距離が前記余裕距離以下であるか否かを判定する(ステップS404)。第n、n+1ロボット間の距離が前記余裕距離以下であると判定された場合、1つ前のp1を示すprev p1=p1、p1=p1−|p1−p0|/2とする(ステップS405)。すなわち第nロボットを後退させる。一方第n、n+1ロボット間の距離が前記余裕距離を超える場合、prev p1=p1、p1=p1+|p1−p0|/2とする(ステップS406)。すなわち第nロボットを前進させる。時間p1が第nロボットが終点に位置するときの時間を超えるか、若しくは|prev p1−p1|が予め設定された収束範囲内であるか否かを判定する(ステップS407)。この条件を満足しないと判定された場合、ステップS403に戻り、当該条件を満足するまでステップS403〜S407を繰り返し実行する。前記条件を満足すると判定された場合、第nロボットが始点から、第n+1ロボットが始点に位置しても第n+1ロボットと干渉しない位置まで移動するのに要する第一の時間T1=p1とする(ステップS408)。次にn=4であるか否かを判定する(ステップS409)。n=4であると判定された場合、以上の処理を終了する。n=4でないと判定された場合、n=n++(=n+1)に設定する(ステップS410)。そしてステップS401に戻る。なお、ここでは、n=1の場合の処理について示されているが、n=2、3についても同様処理が行われ、各ロボット間の第一の時間T1がそれぞれ算出される。
図9に示すように、まずロボットの番号n=1に設定する(ステップS500)。第nロボットを終点へ移動する(ステップS501)。第n+1ロボットが始点に位置するときの時間p0=tick始点(=0)に設定するとともに、第n+1ロボットが終点に位置するときの時間p1=tick終点に設定する(ステップS502)。第n+1ロボットを時間p1に対応する位置へ移動する(ステップS503)。第n、n+1ロボット間の距離が前記余裕距離以下であるか否かを判定する(ステップS504)。第n、n+1ロボット間の距離が前記余裕距離以下であると判定された場合、prev p1=p1、p1=p1+|p1−p0|/2とする(ステップS505)。すなわち第n+1ロボットを前進させる。一方第n、n+1ロボット間の距離が前記余裕距離を超える場合、prev p1=p1、p1=p1−|p1−p0|/2とする(ステップS506)。すなわち第n+1ロボットを後退させる。時間p1が第n+1ロボットが始点に位置するときの時間を下回るか、若しくは|prev p1−p1|が予め設定された収束範囲内であるか否かを判定する(ステップS507)。この条件を満足しないと判定された場合、ステップS503に戻り、当該条件を満足するまでステップS503〜S507を繰り返し実行する。前記条件を満足すると判定された場合、第n+1ロボットが始点から、第nロボットが終点に位置しても第n+1ロボットと干渉しない位置まで移動するのに要する第二の時間T2=p1とする(ステップS508)。次にn=4であるか否かを判定する(ステップS509)。n=4であると判定された場合、以上の処理を終了する。n=4でないと判定された場合、n=n++(=n+1)に設定する(ステップS510)。そしてステップS501に戻る。なお、ここでは、n=1の場合の処理について示されているが、n=2、3についても同様処理が行われ、各ロボット間の第二の時間T2がそれぞれ算出される。
その後、図示されていないが、各ロボットの始点から終点に至るまでの所要時間をそれぞれ算出する。そして各ロボット間で、自ロボットに対応する所要時間から両ロボット間の前記第二の時間T2を差し引いて第三の時間T3を算出する。具体的には、例えば第1ロボット10と第2ロボット11との間では、第1ロボット10の始点から終点に至るまでの所要時間を算出して、この所要時間から第1ロボット10および第2ロボット11間に対して算出された前記第二の時間T2を差し引いて第三の時間T3を算出する。その後、各ロボット間で、対応する第一の時間T1と第三の時間T3とを比較して小さい方を前記最大許容時間差として選択する。この最大許容時間差は、既述のとおり、各ロボット間で自ロボットに対して他のロボットの動作開始が遅れても両ロボットが干渉しない時間差である。
以上の処理により、各ロボット間の最大許容時間差が算出される。
図10は、図6中のステップS206の詳細処理フロー図を示している。なお、この処理(特定タイミングでの干渉チェック)は、第1〜第4ロボット10、11、12、13の動作を計算的に模擬して行うのであって、第1〜第4ロボット10、11、12、13を実際に動作させて行うものではない。
図10に示すように、まず一のロボットの番号n=1に設定する(ステップS600)。第nロボットの制御周期単位tick=0に設定する(ステップS601)。第nロボットを制御周期単位tick=0に対応する位置(始点)へ移動する(ステップS602)。他のロボットの番号m=n+1に設定する(ステップS603)。第mロボットの制御周期単位t=0に設定する(ステップS604)。第mロボットを制御周期単位t=0に対応する位置(始点)に移動する(ステップS605)。次に、第nロボットと第mロボットとの間の距離が、予め設定された前記余裕距離以下であるか否かを判定する(ステップS606)。当該距離が予め設定された前記余裕距離以下であると判定された場合、第nロボットおよび第mロボットの動作開始時間差がtick−tの場合に両ロボット間で干渉が生じることを記憶する(ステップS607)。その後、第mロボットを制御周期単位t=t++(=t+1)に設定する(ステップS608)。ステップS606において前記距離が前記余裕距離を超えると判定された場合、ステップS608に進む。第mロボットが始点から終点に至るまで、すなわち制御周期単位t=0〜終点に至るまで順次ステップS604〜S608の処理を繰り返し実行する。以上の処理が終了したあと、m=m++(=m+1)に設定する(ステップS609)。ここでm++はインクリメント(1を加算する)を表す。ステップS603に戻り、m=4になるまでステップS603〜S609の処理を繰り返し実行する。以上の処理が終了した後、第nロボットを制御周期単位tickをtick++(=tick+1)に設定する(ステップS610)。第nロボットが始点から終点に至るまで、すなわち制御周期単位tick=0〜終点に至るまで順次ステップS601〜S610の処理を繰り返し実行する。以上の処理が終了したあと、n=n++(=n+1)に設定する(ステップS611)。ステップS600に戻り、n=3になるまでステップS600〜S611の処理を繰り返し実行する。
図11は、図5中のステップS105の詳細処理フロー図の一例を示している。図11に示すように、自ロボットの動作開始信号がONになったか否かを判定する(ステップS700)。自ロボットは、第1〜第4ロボット10、11、12、13の内の任意のロボットである。この動作開始信号は、上述したセンサSNからシーケンサ52に出力される信号である。自ロボットの動作開始信号がONでないと判定された場合、自ロボットの動作開始信号がONになるまでステップS700の処理を繰り返し実行する。自ロボットの動作開始信号がONになった場合、他のロボットの動作信号がONになったか否かを判定する(ステップS701)。他のロボットの動作信号がONになったと判定された場合、処理は終了する。すなわち他のロボットは動作し続ける。他のロボットの動作信号がONでないと判定された場合、両ロボットの動作開始時間差が最大許容時間差を超えるか否かを判定する(ステップS702)。両ロボットの動作開始時間差が最大許容時間差を超えない場合、ステップS701に戻り処理を実行する。両ロボットの動作開始時間差が最大許容時間差を超える場合、第1〜第4ロボット10、11、12、13の全てを非常停止するため、第1〜第4ロボットコントローラ30、31、32、33に停止命令を出力する。なお、ここでは、1組の任意のロボット間に対する処理を示しているが、これらの処理はその他の各ロボット間に対しても実行される。
なお、上述した実施形態は一例であり、本発明の要旨を損なわない範囲での種々の変更は可能であり、本発明は上述した実施形態に限定されるものではない。
本発明の実施の形態に係る干渉防止装置が適用される溶接ロボットシステムの構成を示すブロック図である。 図1に示した溶接ロボットシステムの詳細な構成を示すブロック図である。 シミュレーション用コンピュータ51およびシーケンサ52の演算処理機能を示す機能ブロック図である。 (a)は第1ロボットが始点から、第2ロボットが始点に位置しても第1ロボットと干渉しない位置まで移動するのに要する第一の時間T1を模式的に示す概略図であり、(b)は、第2ロボットが始点から、第1ロボットが終点に位置しても第2ロボットと干渉しない位置まで移動するのに要する第二の時間T2を、第1ロボットが始点から終点に至るまでの所要時間から差し引いた第三の時間T3を模式的に示す概略図である。 全体処理フロー図の一例を示している。 図5中のステップS103の詳細処理フロー図の一例を示している。 図6中のステップS200の詳細処理フロー図の一例を示している。 図4(a)に示した第一の時間T1を算出するための処理フロー図の一例を示している。 図4(b)に示した第二の時間T2を算出するための処理フロー図の一例を示している。 図6中のステップS206の詳細処理フロー図を示している。 図5中のステップS105の詳細処理フロー図の一例を示している。
符号の説明
1…溶接ロボットシステム
10、11、12、13…第1〜第4ロボット
14…被溶接物
14a…載置台
15…溶接トーチ
16…可動アーム
17…支持装置
18、19…第1、第2アーム
20a、20b、20c…第1〜第3駆動装置
30、31、32、33…第1〜第4ロボットコントローラ
34、53、58…第1CPU、第5CPU、第6CPU
35、54、59…第1I/Oインタフェース、第5I/Oインタフェース、第6I/Oインタフェース
36、55、60…第1記憶部、第5記憶部、第6記憶部
37、38、39、40、56…第1〜第5入力装置
50…干渉防止装置
51…シミュレーション用コンピュータ
52…シーケンサ
57…表示装置
70…生成部
71…最大許容時間差算出部
72…時間算出部
73…選択部
74…判定部
75…命令部
SN…センサ
T1、T2、T3…第一の時間、第二の時間、第三の時間
S100〜S110…ステップ
S200〜S207…ステップ
S300〜S308…ステップ
S400〜S410…ステップ
S500〜S510…ステップ
S600〜S611…ステップ
S700〜S702…ステップ

Claims (11)

  1. 対象物に対して同時にまたは所定時間差で作業開始する複数ロボットの干渉を防止する干渉防止方法であって、
    少なくとも複数ロボットの対象物に対する作業条件、対象物の形状情報並びに複数ロボットの形状情報および配置情報を設定する設定工程と、
    当該作業条件および対象物の形状情報に基づいて、各ロボットの可動部位の時系列軌跡データを生成する生成工程と、
    当該各ロボットの時系列軌跡データ並びに前記各ロボットの形状情報および配置情報に基づいて、各ロボット毎に、自ロボットと他のロボットとの間の当該他のロボットの動作開始遅れによる動作開始から動作完了までの干渉を防止しうる、自ロボットに対する他のロボットの動作開始遅れの最大許容時間差をそれぞれ算出する最大許容時間差算出工程と、
    各ロボットが動作を開始したことを示す動作開始情報を各ロボット毎に検出する検出工程と、
    当該動作開始情報に基づいて、各ロボット間で自ロボットに対して他のロボットが前記最大許容時間差内に動作を開始したか否かを判定する判定工程と、
    少なくとも1組のロボット間で自ロボットに対して他のロボットが前記最大許容時間差内に動作を開始していないと判定された場合に、各ロボットに対して動作の停止命令を与える命令工程とを有する、干渉防止方法。
  2. 前記最大許容時間差算出工程が、
    前記各ロボットの時系列軌跡データ並びに前記各ロボットの形状情報および配置情報に基づいて、各ロボット間で、自ロボットが始点から、他のロボットが始点に位置しても当該他のロボットと干渉しない第一の非干渉位置まで移動するために要する第一の時間と、前記他のロボットが始点から、前記自ロボットが終点に位置しても当該自ロボットと干渉しない第二の非干渉位置まで移動するために要する第二の時間を、自ロボットが始点から終点に至るまでの所要時間から差し引いた第三の時間とをそれぞれ算出する時間算出工程と、
    各ロボット間で、対応する前記第一の時間と第三の時間とを比較してこのうち小さい方を前記最大許容時間差としてそれぞれ選択する選択工程とを有する、請求項1記載の干渉防止方法。
  3. 前記設定工程は、各ロボット間の干渉を防止するための干渉余裕距離を各ロボット毎に設定する工程をさらに有しており、
    前記時間算出工程が、
    各ロボット間で、前記自ロボットが軌跡に沿って前記第一の非干渉位置から始点方向に当該自ロボットに対応する前記干渉余裕距離離隔した第一の余裕位置を算出し、当該自ロボットが始点から当該第一の余裕位置まで移動するのに要する時間を前記第一の時間としてそれぞれ算出するとともに、前記他のロボットが軌跡に沿って前記第二の非干渉位置から始点方向に前記自ロボットに対応する前記干渉余裕距離離隔した第二の余裕位置を算出し、自ロボットが始点から前記第一の余裕位置に至るまでの所要時間から、他のロボットが始点から当該第二の余裕位置まで移動するのに要する時間を差し引いた時間を前記第三の時間としてそれぞれ算出する工程をさらに有する、請求項2記載の干渉防止方法。
  4. 前記ロボットが溶接ロボットであり、前記対象物が被溶接物である、請求項1ないし3のいずれかに記載の干渉防止方法。
  5. 対象物に対して同時にまたは所定時間差で作業開始する複数ロボットと、当該複数ロボットのそれぞれの動作を制御するロボットコントローラとを備えるロボットシステムに適用される、複数ロボットの干渉を防止する干渉防止装置であって、
    少なくとも複数ロボットの対象物に対する作業条件、対象物の形状情報並びに複数ロボットの形状情報および配置情報を設定する設定手段と、
    当該作業条件および対象物の形状情報に基づいて、各ロボットの可動部位の時系列軌跡データを生成する生成手段と、
    当該各ロボットの時系列軌跡データ並びに前記各ロボットの形状情報および配置情報に基づいて、各ロボット毎に、自ロボットと他のロボットとの間の当該他のロボットの動作開始遅れによる動作開始から動作完了までの干渉を防止しうる、自ロボットに対する他のロボットの動作開始遅れの最大許容時間差をそれぞれ算出する最大許容時間差算出手段と、
    各ロボットが動作を開始したことを示す動作開始情報を各ロボット毎に検出する検出手段と、
    当該動作開始情報および前記最大許容時間差を受け付けて、前記動作開始情報に基づいて、各ロボット間で自ロボットに対して他のロボットが前記最大許容時間差内に動作を開始したか否かを判定する判定手段と、
    少なくとも1組のロボット間で自ロボットに対して他のロボットが前記最大許容時間差内に動作を開始していないと判定された場合に、それぞれのロボットコントローラを通じて各ロボットに対して動作の停止命令を与える命令手段とを備える、干渉防止装置。
  6. 前記ロボットコントローラが、前記設定手段に代えて複数ロボットの対象物に対する作業条件を設定する手段、および/または、前記生成手段に代えて当該作業条件に基づいて各ロボットの可動部位の時系列軌跡データを生成する手段を備えるとともに、当該干渉防止装置と通信可能に接続されてなる、請求項5記載の干渉防止装置。
  7. 前記最大許容時間差算出手段が、
    前記各ロボットの時系列軌跡データ並びに前記各ロボットの形状情報および配置情報に基づいて、各ロボット間で、自ロボットが始点から、他のロボットが始点に位置しても当該他のロボットと干渉しない第一の非干渉位置まで移動するために要する第一の時間と、前記他のロボットが始点から、前記自ロボットが終点に位置しても当該自ロボットと干渉しない第二の非干渉位置まで移動するために要する第二の時間を、自ロボットが始点から終点に至るまでの所要時間から差し引いた第三の時間とをそれぞれ算出する時間算出手段と、
    各ロボット間で、対応する前記第一の時間と第二の時間とを比較してこのうち小さい方を前記最大許容時間差としてそれぞれ選択する選択手段とを備える、請求項5記載の干渉防止装置。
  8. 前記設定手段は、各ロボット間の干渉を防止するための干渉余裕距離を各ロボット毎に設定すべくなしてあり、
    前記時間算出手段は、各ロボット間で、前記自ロボットが軌跡に沿って前記第一の非干渉位置から始点方向に当該自ロボットに対応する前記干渉余裕距離離隔した第一の余裕位置を算出し、当該自ロボットが始点から当該第一の余裕位置まで移動するのに要する時間を前記第一の時間としてそれぞれ算出するとともに、前記他のロボットが軌跡に沿って前記第二の非干渉位置から始点方向に前記自ロボットに対応する前記干渉余裕距離離隔した第二の余裕位置を算出し、自ロボットが始点から前記第一の余裕位置に至るまでの所要時間から、他のロボットが始点から当該第二の余裕位置まで移動するのに要する時間を差し引いた時間を前記第三の時間としてそれぞれ算出するように構成されてなる、請求項7記載の干渉防止装置。
  9. 前記各ロボットは、
    対象物に対して作業するツールと、
    当該ツールを先端部に取り付けて所定の位置に移動させるための可動アームと、
    当該可動アームを支持する支持装置とを備えており、
    前記可動アームは、直列配置された一または複数のアームから構成され、それぞれのアームの先端部に駆動装置を備え、それぞれのアームの基端部が当該各アームの基端部側のアームの駆動装置および/または支持装置にそれぞれ枢支されるように構成されており、
    前記各ロボットの一または複数の所定可動部位の時系列軌跡データが、前記各駆動装置の時系列角度データである、請求項5ないし8のいずれかに記載の干渉防止装置。
  10. 前記ロボットが溶接ロボットであり、前記対象物が被溶接物である、請求項6ないし9のいずれかに記載の干渉防止装置。
  11. 対象物に対して同時にまたは所定時間差で作業開始する複数ロボットと、
    当該複数ロボットのそれぞれの動作を制御するロボットコントローラと、
    前記請求項5ないし10のいずれかに記載の干渉防止装置とを備える、ロボットシステム。
JP2005008967A 2005-01-17 2005-01-17 複数ロボットの干渉防止方法およびその方法を実施する装置並びに当該装置を備えるロボットシステム Pending JP2006192554A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005008967A JP2006192554A (ja) 2005-01-17 2005-01-17 複数ロボットの干渉防止方法およびその方法を実施する装置並びに当該装置を備えるロボットシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005008967A JP2006192554A (ja) 2005-01-17 2005-01-17 複数ロボットの干渉防止方法およびその方法を実施する装置並びに当該装置を備えるロボットシステム

Publications (1)

Publication Number Publication Date
JP2006192554A true JP2006192554A (ja) 2006-07-27

Family

ID=36799003

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005008967A Pending JP2006192554A (ja) 2005-01-17 2005-01-17 複数ロボットの干渉防止方法およびその方法を実施する装置並びに当該装置を備えるロボットシステム

Country Status (1)

Country Link
JP (1) JP2006192554A (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2923805A3 (en) * 2014-03-26 2015-12-02 Siemens Industry Software Ltd. Object manipulation driven robot offline programming for multiple robot system
US9298863B2 (en) 2014-07-31 2016-03-29 Siemens Industry Software Ltd. Method and apparatus for saving energy and reducing cycle time by using optimal robotic joint configurations
US9457469B2 (en) 2014-08-14 2016-10-04 Siemens Industry Software Ltd. Method and apparatus for automatic and efficient location generation for cooperative motion
US9469029B2 (en) 2014-07-31 2016-10-18 Siemens Industry Software Ltd. Method and apparatus for saving energy and reducing cycle time by optimal ordering of the industrial robotic path
JP2016537143A (ja) * 2013-08-16 2016-12-01 インテュイティブ サージカル オペレーションズ, インコーポレイテッド 異種装置間の協調動作のためのシステム及び方法
US9649765B2 (en) 2013-03-11 2017-05-16 Siemens Aktiengesellschaft Reducing energy consumption of industrial robots by using new methods for motion path programming
US9701011B2 (en) 2014-05-08 2017-07-11 Siemens Industry Software Ltd. Method for robotic energy saving tool search
US20170232614A1 (en) * 2016-02-17 2017-08-17 Fanuc Corporation Robot simulation apparatus that calculates swept space
US9922144B2 (en) 2014-03-26 2018-03-20 Siemens Industry Software Ltd. Energy and cycle time efficiency based method for robot positioning
CN108044624A (zh) * 2017-12-11 2018-05-18 上海信耀电子有限公司 一种基于powerlink总线的机器人控制系统
CN112672855A (zh) * 2019-01-31 2021-04-16 欧姆龙株式会社 控制系统以及控制系统的控制方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003200368A (ja) * 2001-10-25 2003-07-15 Yaskawa Electric Corp 複数ロボットの作業教示方法および作業教示装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003200368A (ja) * 2001-10-25 2003-07-15 Yaskawa Electric Corp 複数ロボットの作業教示方法および作業教示装置

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9649765B2 (en) 2013-03-11 2017-05-16 Siemens Aktiengesellschaft Reducing energy consumption of industrial robots by using new methods for motion path programming
US10283220B2 (en) 2013-08-16 2019-05-07 Intuitive Surgical Operations, Inc. System and method for coordinated motion among heterogeneous devices
US11710561B2 (en) 2013-08-16 2023-07-25 Intuitive Surgical Operations, Inc. System and method for coordinated motion among heterogeneous devices using a movement token
US11120907B2 (en) 2013-08-16 2021-09-14 Intuitive Surgical Operations, Inc. System and method for coordinated motion among heterogeneous devices using a movement token
JP2019072572A (ja) * 2013-08-16 2019-05-16 インテュイティブ サージカル オペレーションズ, インコーポレイテッド 異種装置間の協調動作のためのシステム及び方法
JP2016537143A (ja) * 2013-08-16 2016-12-01 インテュイティブ サージカル オペレーションズ, インコーポレイテッド 異種装置間の協調動作のためのシステム及び方法
US9922144B2 (en) 2014-03-26 2018-03-20 Siemens Industry Software Ltd. Energy and cycle time efficiency based method for robot positioning
EP2923805A3 (en) * 2014-03-26 2015-12-02 Siemens Industry Software Ltd. Object manipulation driven robot offline programming for multiple robot system
US9701011B2 (en) 2014-05-08 2017-07-11 Siemens Industry Software Ltd. Method for robotic energy saving tool search
US9469029B2 (en) 2014-07-31 2016-10-18 Siemens Industry Software Ltd. Method and apparatus for saving energy and reducing cycle time by optimal ordering of the industrial robotic path
US9298863B2 (en) 2014-07-31 2016-03-29 Siemens Industry Software Ltd. Method and apparatus for saving energy and reducing cycle time by using optimal robotic joint configurations
US9457469B2 (en) 2014-08-14 2016-10-04 Siemens Industry Software Ltd. Method and apparatus for automatic and efficient location generation for cooperative motion
CN107088878A (zh) * 2016-02-17 2017-08-25 发那科株式会社 计算扫描空间的机器人的模拟装置
JP2017144514A (ja) * 2016-02-17 2017-08-24 ファナック株式会社 掃引空間を算出するロボットのシミュレーション装置
US20170232614A1 (en) * 2016-02-17 2017-08-17 Fanuc Corporation Robot simulation apparatus that calculates swept space
US10406689B2 (en) 2016-02-17 2019-09-10 Fanuc Corporation Robot simulation apparatus that calculates swept space
CN107088878B (zh) * 2016-02-17 2020-04-03 发那科株式会社 计算扫描空间的机器人的模拟装置
CN108044624A (zh) * 2017-12-11 2018-05-18 上海信耀电子有限公司 一种基于powerlink总线的机器人控制系统
CN112672855A (zh) * 2019-01-31 2021-04-16 欧姆龙株式会社 控制系统以及控制系统的控制方法
CN112672855B (zh) * 2019-01-31 2024-06-07 欧姆龙株式会社 控制系统以及控制系统的控制方法

Similar Documents

Publication Publication Date Title
JP2006192554A (ja) 複数ロボットの干渉防止方法およびその方法を実施する装置並びに当該装置を備えるロボットシステム
TWI673148B (zh) 遠端操作機器人系統及其運轉方法
EP2381325B1 (en) Method for robot offline programming
JP6706489B2 (ja) ロボットのダイレクト教示方法
US6124693A (en) Robot controller
JP7096288B2 (ja) ロボットを制御する方法
EP1769891B1 (en) Offline teaching apparatus for robot
JP5872894B2 (ja) ロボット動作教示支援装置及び方法
JP2005108144A (ja) ロボットの補正データ確認装置
WO2017064851A1 (ja) ロボット教示方法及びロボットアーム制御装置
JP2014126939A (ja) 工作機械の負荷表示装置
JP2006099474A (ja) ロボットの軌跡制御方法
CN107088878B (zh) 计算扫描空间的机器人的模拟装置
US10987742B2 (en) Method of controlling positioning control apparatus and positioning control apparatus
JP2020071734A (ja) 数値制御装置
CN110154043B (zh) 基于加工结果进行学习控制的机器人系统及其控制方法
JP2786874B2 (ja) 可動位置制御装置
JPH08174454A (ja) 産業用ロボットの軌跡表示装置
JP2020097101A (ja) ロボット装置、ロボットシステム、ロボット装置の制御方法、ロボット装置を用いた物品の製造方法、制御プログラム及び記録媒体
JP2004188594A (ja) ロボット制御装置
JP2010167507A (ja) ロボットシステム及びその制御方法
JP4124583B2 (ja) 作業ロボットの動作経路データ作成方法および装置
JP2021175595A (ja) シミュレータ、ロボット教示装置、ロボットシステム、シミュレーション方法、プログラム及び記録媒体
JP2002086383A (ja) ロボットの干渉検出装置
JP2014155983A (ja) 多関節ロボットの制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090820

A131 Notification of reasons for refusal

Effective date: 20101207

Free format text: JAPANESE INTERMEDIATE CODE: A131

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110412