IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ファナック株式会社の特許一覧

特許7691507インタロック機能を有する制御装置及び制御方法
<>
  • 特許-インタロック機能を有する制御装置及び制御方法 図1
  • 特許-インタロック機能を有する制御装置及び制御方法 図2
  • 特許-インタロック機能を有する制御装置及び制御方法 図3
  • 特許-インタロック機能を有する制御装置及び制御方法 図4
  • 特許-インタロック機能を有する制御装置及び制御方法 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-06-03
(45)【発行日】2025-06-11
(54)【発明の名称】インタロック機能を有する制御装置及び制御方法
(51)【国際特許分類】
   G05B 19/4155 20060101AFI20250604BHJP
   B25J 19/06 20060101ALI20250604BHJP
【FI】
G05B19/4155 X
B25J19/06
【請求項の数】 3
(21)【出願番号】P 2023546601
(86)(22)【出願日】2021-09-07
(86)【国際出願番号】 JP2021032899
(87)【国際公開番号】W WO2023037418
(87)【国際公開日】2023-03-16
【審査請求日】2024-04-05
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100112357
【弁理士】
【氏名又は名称】廣瀬 繁樹
(72)【発明者】
【氏名】頼 陽一
(72)【発明者】
【氏名】来海 玲旺
【審査官】亀田 貴志
(56)【参考文献】
【文献】特開平03-025509(JP,A)
【文献】特開平10-011124(JP,A)
【文献】特開2000-137514(JP,A)
【文献】特開昭57-069312(JP,A)
【文献】特開平02-250104(JP,A)
【文献】特開平04-007709(JP,A)
【文献】特開2012-166290(JP,A)
【文献】国際公開第2019/111413(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/18 - 19/46
B25J 1/00 - 21/02
(57)【特許請求の範囲】
【請求項1】
少なくとも1台の産業用ロボットを含む複数の産業機械間で伝送するインタロック信号に基づいて、前記複数の産業機械同士の干渉を防止する制御装置であって、
前記ロボットを動作させるロボットプログラムを実行するとともに、前記ロボットプログラムを後退実行している間は、前記ロボットプログラムに含まれかつ前記インタロック信号の設定・切替処理に関するロジック文の少なくとも1つを無視するプログラム実行部と、
前記ロボットを動作させるロボットプログラムを後退実行している間に、予め登録された、前記ロボットプログラムの後退実行時に無視されたロジック文に含まれる処理に関するインタロック信号に関するインタロックを自動的に有効にするインタロック設定部と、
を備え
前記インタロック設定部は、前記制御装置の仕様として自動的に行われる内部処理によって前記インタロックを有効にする、産業用ロボットの制御装置。
【請求項2】
少なくとも1台の産業用ロボットを含む複数の産業機械間で伝送するインタロック信号に基づいて、前記複数の産業機械同士の干渉を防止する制御方法であって、
前記ロボットを動作させるロボットプログラムを実行するとともに、前記ロボットプログラムを後退実行している間は、前記ロボットプログラムに含まれかつ前記インタロック信号の設定・切替処理に関するロジック文の少なくとも1つを無視することと、
前記ロボットを動作させるロボットプログラムを後退実行している間に、予め登録された、前記ロボットプログラムの後退実行時に無視されたロジック文に含まれる処理に関するインタロック信号に関するインタロックを、前記複数の産業機械同士の干渉を防止する制御装置の仕様として自動的に行われる内部処理によって有効にすることと、
を含む、産業用ロボットの制御方法。
【請求項3】
少なくとも1台の産業用ロボットを含む複数の産業機械間で伝送するインタロック信号の処理を行う制御装置であって、
少なくとも1つの動作命令及び少なくとも1つのインタロック信号出力指令を含むプログラムの前進実行及び後退実行を行うプログラム実行部と、
前記後退実行時は、前記前進実行時に予め登録されたインタロック信号の反転処理を行ったか否かに関わらず、前記インタロック信号の反転処理を行う信号処理部と、を備える、制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットに関する干渉を回避するためのインタロック機能を有する制御装置及び制御方法に関する。
【背景技術】
【0002】
複数台のロボットが作業領域を共有して稼働するシステムでは、ロボット同士が干渉・衝突しないように、ロボットの動作を制御するロボットプログラム等を用いてインタロックを設定する技術が知られている(例えば特許文献1、2を参照)。また、ロボットの動作プログラムの前進実行処理と、前進実行に関する実行履歴データに基づく後退実行処理とを行う技術が知られている(例えば特許文献3を参照)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開平10-260714号公報
【文献】特開平08-071979号公報
【文献】特開平10-011124号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ロボットプログラムの実行には、該プログラムをその行番号の小さい方から大きい方へ実行する前進実行だけでなく、行番号の大きい方から小さい方へ実行する後退実行が含まれることがあり、さらに後退実行時は、プログラム中のロジック文を無視するような設定がされる場合がある。しかしながら、無視されたロジック文がインタロック信号に関する処理を含む場合、インタロック信号が適切に切り替えられず、ロボット同士が衝突する等の不具合が生じ得る。またこのような不具合を回避するために、作業者等が手動でインタロック信号を切り替えたり、プログラムを修正したりすることも考えられるが、いずれも手間がかかる作業である。
【課題を解決するための手段】
【0005】
本開示の一態様は、少なくとも1台の産業用ロボットを含む複数の産業機械間で伝送するインタロック信号に基づいて、前記複数の産業機械同士の干渉を防止する制御装置であって、前記ロボットを動作させるロボットプログラムを実行するとともに、前記ロボットプログラムを後退実行している間は、前記ロボットプログラムに含まれかつ前記インタロック信号の設定・切替処理に関するロジック文の少なくとも1つを無視するプログラム実行部と、前記ロボットを動作させるロボットプログラムを後退実行している間に、予め登録された、前記ロボットプログラムの後退実行時に無視されたロジック文に含まれる処理に関するインタロック信号に関するインタロックを自動的に有効にするインタロック設定部と、を備え、前記インタロック設定部は、前記制御装置の仕様として自動的に行われる内部処理によって前記インタロックを有効にする、産業用ロボットの制御装置である。
【0006】
本開示の他の態様は、少なくとも1台の産業用ロボットを含む複数の産業機械間で伝送するインタロック信号に基づいて、前記複数の産業機械同士の干渉を防止する制御方法であって、前記ロボットを動作させるロボットプログラムを実行するとともに、前記ロボットプログラムを後退実行している間は、前記ロボットプログラムに含まれかつ前記インタロック信号の設定・切替処理に関するロジック文の少なくとも1つを無視することと、前記ロボットを動作させるロボットプログラムを後退実行している間に、予め登録された、前記ロボットプログラムの後退実行時に無視されたロジック文に含まれる処理に関するインタロック信号に関するインタロックを、前記複数の産業機械同士の干渉を防止する制御装置の仕様として自動的に行われる内部処理によって有効にすることと、を含む、産業用ロボットの制御方法である。
【発明の効果】
【0007】
本開示によれば、ロボットプログラムの後退実行時に、予め登録されたインタロック信号に関するインタロックが自動的に有効にされるので、作業者はプグラム修正等の面倒な作業を行うことなく、ロボットに関する干渉を確実に防止することができる。
【図面の簡単な説明】
【0008】
図1】一実施形態に係る制御装置及び複数台のロボットを含むシステムの一構成例を示す図である。
図2】ロボットプログラムの一例を示す図である。
図3】各ロボットの停止位置又は通過位置を例示する概略図である。
図4図2のロボットプログラムが後退実行される例を示す図である。
図5図1の制御装置における処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0009】
図1は、好適な実施形態に係る制御装置によって制御される、少なくとも1台のロボットを含む複数の産業機械を含むシステム10の一構成例を示す。ここでは、システム10は、産業用ロボットとして第1ロボット12及び第2ロボット14を有し、第1ロボット12及び第2ロボット14はそれぞれ、ロボットアーム等の可動部16及び18を有する。第1ロボット12の動作は、第1ロボット12に接続された第1制御装置20によって制御され、同様に第2ロボット14の動作は、第2ロボット14に接続された第2制御装置22によって制御される。
【0010】
第1ロボット12及び第2ロボット14は、それらの作業領域(ロボットアームの可動範囲)が重複又は近接していることから、両ロボット(の制御装置)間で伝送する信号(ここではインタロック信号)に基づいて、両ロボット間の干渉を防止するように構成されている。具体的には、第1制御装置20及び第2制御装置22の少なくとも一方(図示例では第1制御装置20)は、対応するロボットを動作させる少なくとも1つの動作命令及び少なくとも1つの信号出力指令を含むロボットプログラム(以降、単にプログラムと称する)を実行するとともに、プログラムを後退実行している間は、プログラムに含まれかつインタロック信号に関するロジック文の少なくとも1つを無視するプログラム実行部24と、ロボットを動作させるプログラムを後退実行している間に、予め登録されたインタロック信号に関するインタロックを有効にするインタロック設定部26とを備える。
【0011】
また第1制御装置20及び第2制御装置22の少なくとも一方(図示例では第1制御装置20)は任意に、プログラム実行部24及びインタロック設定部26の演算結果やプログラム等を記憶する記憶部28と、作業者が種々の設定等を登録・入力可能な入力部30とを有してもよい。一例として、プログラム実行部24及びインタロック設定部26はプロセッサであり、記憶部28はROM、RAM等のメモリであり、入力部30はテンキー、タッチパネル等である。なお第1制御装置20及び第2制御装置22を、実質一体の制御装置とすることもできる。
【0012】
次に図2-3を参照して、第1ロボット12及び第2ロボット14について設定されたインタロックについて説明する。参照符号32は、第1ロボット12の動作を制御するための第1プログラムの一部を示し、参照符号34は、第2ロボット14の動作を制御するための第2プログラムの一部を示す。ここで第1ロボット12は、その手先(アーム16の先端)等の代表点が、図3において三角印で示す位置P[1]、P[2]及びP[3]間を移動可能に構成されており、第1プログラム32を前進実行することにより、位置P[1]に位置決めされた後に位置P[2]まで直線移動し、次に位置P[3]まで直線移動し、次に再度位置P[2]まで直線移動し、そして位置P[1]に戻るものとする。
【0013】
一方、第2ロボット14は、その手先(アーム18の先端)等の代表点が、図3において丸印で示す位置P[1]、P[2]及びP[3]間を移動可能に構成されており、第2プログラム34を前進実行することにより、位置P[1]に位置決めされた後に位置P[2]まで直線移動し、次に位置P[3]まで直線移動するものとする。なおプログラム32及び34における記号「J」はロボットの各軸を目標値まで回転させる動作を意味し、「L」はロボットの手先等を所定速度で直線移動させる動作を意味する。
【0014】
本開示では、プログラムの前進実行とは、図2において矢印36及び38で示すように、各プログラムをその行番号の小さい方から大きい方へ実行することを言い、逆にプログラムの後退実行とは、図4において矢印40で示すように、プログラムをその行番号の大きい方から小さい方へ実行することを言う。よってプログラムの前進実行/後退実行は、ロボットアームの前進/後退とは関係がない。例えば、ロボットアームが後退する(すなわちアーム先端がロボットの中心に近づく)動作を教示した場合、プログラムの前進実行によってロボットアームは後退し、一方、プログラムの後退実行によってロボットアームは前進する(すなわちアーム先端がロボット中心から遠ざかる)。
【0015】
第1プログラム32及び第2プログラム34は、第1ロボット12と第2ロボット14との間のインタロックに関する設定を含む。ここでは、図3に示すように、第1ロボット12の位置P[3](三角印)と第2ロボット14の位置P[3](丸印)が実質同じか比較的近いので、両ロボットが同時に位置P[3]に位置すると両ロボットが互いに接触・干渉するため、両ロボットが同時に位置P[3]に位置決め又は接近しないようにインタロックを設定する必要がある。
【0016】
具体的には、第1プログラム32では、第1ロボット12が位置P[2]に移動した後(行番号2)に、インタロック信号DO[1]を「OFF」に設定する(行番号3)。一方、第2プログラム34では、第2ロボット14が位置P[2]に移動した後(行番号2)に、インタロック信号が「ON」になるまで待機する(行番号3)ので、この時点では第2ロボット14は位置P[3]に移動することができない。
【0017】
次に第1プログラム32の前進実行が進み、第1ロボット12が位置P[3]に移動した後に再度位置P[2]に戻ると(行番号5)、インタロック信号DO[1]は「ON」に切り替えられる(行番号6)。すると第2ロボット14は、位置P[3]に向けて移動する(行番号4)。このように、例えばロボット間で伝送するDO/DI信号を利用したインタロックにより、ロボット間の干渉を防止することができる。
【0018】
ここで本実施形態では、第1プログラム32は、行番号7まで前進実行された後、行番号7から後退実行されるものとする。但し後退実行時は、信号の切替処理等のロジック文の少なくとも一部は無視されて実行されず、逆にロボットを動作させる動作文等は実行される。このような設定をする理由は、後退実行時はロジック文も実行してよいかの判断が難しいことに加え、ロジック文の処理をすべきでない場合が多いからである。例えば、ロジック文がサイクル数をカウントする処理である場合、後退実行時もサイクル数(レジスタ値)を変更することは不適切であることが多い。よって後退実行時は、ロジック文は全て無視する設定をしておく場合が多い。
【0019】
図4は、第1プログラム32を後退実行させたときの処理例を示す。上述のように後退実行時はロジック文は無視されるので、信号の設定・切替処理(行番号3、6)は実行されない。すると、第1プログラム32の後退実行によって第1ロボット12が位置P[3]に移動したときは、DO[1]は第1プログラム32の前進実行によって「ON」に設定されたままなので、第2ロボット14は位置P[3]にアクセス可能な状態となっている。故に第1プログラム32の後退実行時は、第1ロボット12及び第2ロボット14の双方が位置P[3]に移動又は接近し、両ロボットが干渉してしまう場合がある。
【0020】
そこで本実施形態では、図5のフローチャートに例示する処理によって、プログラムの後退実行時にロジック文を無視することに起因する不具合を防止する。先ずステップS1において、ロボットのユーザ又はオペレータが予め、入力部30等を介して、プログラム32及び34の少なくとも一方のロジック文に含まれるインタロック信号のうち、プログラムの後退実行時に反転(切替)すべきインタロック信号を第1制御装置20又は第2制御装置22等に設定・登録しておく。例えば、プログラムの後退実行時にロジック文が無視されたことに起因して、本来有効とすべきインタロックが無効のままになることが見込まれる場合に、このインタロックに関連するインタロック信号が登録される。登録されたインタロック信号は、記憶部28等に保存される。
【0021】
インタロック信号の登録には、いくつかのやり方が挙げられる。例えば、教示等によりプログラムを作成・編集しているオペレータが、後退実行時に反転させるべきプログラム内のインタロック信号を入力部30等から手動で登録することができる。或いは、プログラムが予めテンプレート等の形式で用意されている場合、制御装置がプログラムを読み込んだとき等に、プログラム内のインタロック信号を自動的に全て登録するようにしてもよい。その場合オペレータは、登録されたインタロック信号から、後退実行時に反転すべきでないインタロック信号を削除することもできる。
【0022】
次にプログラム実行部24は、第1プログラム32を実行するとともに、第1プログラム32が後退実行されているか否かを判断し(ステップS2)、第1プログラム32が後退実行されている場合、その実行行はインタロック信号に関するロジック文を含むものであるか否かを判断する(ステップS3)。上述したように、後退実行時の実行行がロジック文を含む場合、そのロジック文は無視される。
【0023】
次にインタロック設定部26は、無視されたロジック文が、ステップS1で登録(具体的には記憶部28等に保存)されたインタロック信号の処理を含むか否かを判断し(ステップS4)、無視されたロジック文が登録されたインタロック信号の処理を含む場合、第1プログラム32を後退実行している間に、登録されたインタロック信号に関するインタロック信号を反転させる(ここではONからOFFに切り替える)(ステップS5)。つまりインタロック設定部26は、プログラムの後退実行時に、予め登録されたインタロック信号に関しかつ無効となっているインタロックを自動的に有効にする。このような処理により、プログラム後退実行時も、第1ロボット12及び第2ロボット14間のインタロックが適切に設定され、両ロボット間の干渉が防止される。なおステップS2-S5の処理は、プログラム実行部24又はインタロック設定部26等によって自動的に行うことができる。
【0024】
ここでインタロックを有効にする処理、具体的にはインタロック信号の切替(反転)は、オペレータによる教示やプログラムに記載された命令文によって行われるのではなく、制御装置の(プロセッサ等の)仕様として自動的に行われる内部処理によって、予め登録されたインタロック信号を切り替える(例えばONからOFF、或いはOFFからONに反転させる)ものである。よってオペレータは、後退実行時に反転させるべき信号を予め設定・登録しておくだけでよく、教示やプログラム変更等の煩わしい作業を行う必要はない。またこのような内部処理は、制御装置の仕様としてオペレータがその具体的内容は修正できないようにしておくことが好ましい。但し、内部処理自体を行うか否かをオペレータが選択できるように、制御装置にスイッチ等を設けることは可能である。
【0025】
但し、後退実行時に無条件にインタロック信号を反転させてしまうと、実際には無効にすべきでないインタロックを無効にしてしまう等、望ましくない結果となる虞がある。そこで本実施形態では、予めオペレータ等が後退実行時に反転させるべきインタロック信号を登録しておくことで、後退実行時は登録されたインタロック信号のみを切り替えることができ、適切なインタロックを設定することができる。
【0026】
なお上述の実施形態では2台のロボット間のインタロックについて説明したが、ロボットと工作機械等、2台の産業機械に対しても本開示は適用可能である。また産業機械は2台に限られず、3台以上であってもよい。
【0027】
上述の実施形態では、プログラム実行部24が、少なくとも1つの動作命令及び少なくとも1つの信号出力指令を含むプログラムを前進実行する機能と、該プログラムを後退実行する機能とを有する。またインタロック設定部26は、予め登録された信号について、後退実行時は、前進実行時の信号出力指令と反対の処理(例えば、前進実行時がON→OFFであれば、後退実行時はOFF→ON)を行う信号処理部としての機能を有する。従来は、後退実行時の信号処理は、対象となる信号の履歴データ等に基づいて行われていたため、常に前進実行と反対の処理をするとは限らないが、本実施形態では信号処理に関する実行履歴に関わらず、後退実行時は前進実行時の信号出力指令と反対の処理(反転処理等)を行うことができる。よって本実施形態では、履歴データ等の保存や演算処理等を行う必要がない。
【符号の説明】
【0028】
10 ロボットシステム
12 第1ロボット
14 第2ロボット
16、18 可動部
20 第1制御装置
22 第2制御装置
24 プログラム実行部
26 インタロック設定部
28 記憶部
30 入力部
32 第1ロボットプログラム
34 第2ロボットプログラム
図1
図2
図3
図4
図5