(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-09
(45)【発行日】2024-10-18
(54)【発明の名称】ワーク加工装置
(51)【国際特許分類】
G05D 3/00 20060101AFI20241010BHJP
G05D 1/43 20240101ALI20241010BHJP
G05B 19/18 20060101ALI20241010BHJP
B25J 19/06 20060101ALI20241010BHJP
B25J 9/10 20060101ALI20241010BHJP
G05B 19/4155 20060101ALN20241010BHJP
【FI】
G05D3/00 X
G05D1/43
G05B19/18 B
B25J19/06
B25J9/10 A
G05B19/4155 T
(21)【出願番号】P 2022569654
(86)(22)【出願日】2020-12-18
(86)【国際出願番号】 JP2020047382
(87)【国際公開番号】W WO2022130608
(87)【国際公開日】2022-06-23
【審査請求日】2023-10-30
(73)【特許権者】
【識別番号】000237271
【氏名又は名称】株式会社FUJI
(74)【代理人】
【識別番号】100190333
【氏名又は名称】木村 群司
(74)【代理人】
【識別番号】100147625
【氏名又は名称】澤田 高志
(74)【代理人】
【識別番号】100155099
【氏名又は名称】永井 裕輔
(72)【発明者】
【氏名】野口 修平
(72)【発明者】
【氏名】福永 敏貴
(72)【発明者】
【氏名】二村 洋輔
【審査官】尾形 元
(56)【参考文献】
【文献】特開2019-98511(JP,A)
【文献】特開平7-271415(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 3/00
G05D 1/43
G05B 19/18
B25J 19/06
B25J 9/10
G05B 19/4155
(57)【特許請求の範囲】
【請求項1】
同一走行台の走行が可能でありかつワークを加工部に搬入出可能である2台のワーク搬送ロボットと、前記ワーク搬送ロボットの移動制御を実施する制御装置と、を備えたワーク加工装置であって、
前記2台のワーク搬送ロボットのうち一方を第1ロボットとし、他方を第2ロボットとし、
前記制御装置は、前記第1ロボットが前記走行の開始をできるか否かの判定を開始した時点の直後に前記第1ロボットに出される移動制御指示に係る指示値でありかつ前記第1ロボットの移動先位置を示す第1ロボット次指示値と、前記判定を開始した時点に前記第2ロボットにて実行されている移動制御指示に係る値でありかつ前記第2ロボットの移動先位置を示す第2ロボット移動先位置との第1差分から、前記移動制御指示による前記第1ロボットの移動可否の判定をする第1判定部
と、
前記第1ロボットの前記移動可否の判定が前記第2ロボットの前記移動可否の判定より優先されるか否かに応じて、前記第1判定部による前記判定を継続するか停止するかを判定する第2判定部と、
を備えたワーク加工装置。
【請求項2】
前記第1判定部は、前記第1ロボット次指示値と、前記判定を開始した時点における前記第1ロボットの現在位置との第2差分をさらに加味して、前記移動制御指示による前記第1ロボットの移動可否の判定をする請求項1に記載のワーク加工装置。
【請求項3】
前記第1判定部は、前記第1ロボット次指示値と、前記判定を開始した時点における前記第2ロボットの現在位置との第3差分をさらに加味して、前記移動制御指示による前記第1ロボットの移動可否の判定をする請求項1に記載のワーク加工装置。
【請求項4】
前記第1判定部は、前記判定を開始した時点における前記第1ロボットの現在位置と、前記判定を開始した時点における前記第2ロボットの現在位置との第4差分をさらに加味して、前記移動制御指示による前記第1ロボットの移動可否の判定をする請求項3に記載のワーク加工装置。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、ワーク加工装置に関する。
【背景技術】
【0002】
ワーク加工装置の一形式として、特許文献1には、工作機械に対して各々ワークの受渡しを行う複数台のロボット(ローダ)を同じ走行台(レール)上に走行可能に設置し、各ロボットを独立して移動制御する制御装置(ローダ制御装置)を設けたワーク加工装置が開示されている。このワーク加工装置において、制御装置は、個々のロボットの座標値から求められる隣合うロボット間の相対距離に基づいて、相対距離が基準値以下になると強制的に速度変更させる近接時速度制御を実施している。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述した特許文献1に記載されているワーク加工装置において、同じ走行台上に設置されたロボット同士の衝突をできるだけ抑制することができるものの、ロボット同士の衝突をより抑制することが要請されている。
【0005】
このような事情に鑑みて、本明細書は、同じ走行台上に設置されたロボット同士の衝突をより抑制することができるワーク加工装置を開示する。
【課題を解決するための手段】
【0006】
本明細書は、同一走行台の走行が可能でありかつワークを加工部に搬入出可能である2台のワーク搬送ロボットと、前記ワーク搬送ロボットの移動制御を実施する制御装置と、を備えたワーク加工装置であって、前記2台のワーク搬送ロボットのうち一方を第1ロボットとし、他方を第2ロボットとし、前記制御装置は、前記第1ロボットが前記走行の開始をできるか否かの判定を開始した時点の直後に前記第1ロボットに出される移動制御指示に係る指示値でありかつ前記第1ロボットの移動先位置を示す第1ロボット次指示値と、前記判定を開始した時点に前記第2ロボットにて実行されている移動制御指示に係る値でありかつ前記第2ロボットの移動先位置を示す第2ロボット移動先位置との第1差分から、前記移動制御指示による前記第1ロボットの移動可否の判定をする第1判定部と、前記第1ロボットの前記移動可否の判定が前記第2ロボットの前記移動可否の判定より優先されるか否かに応じて、前記第1判定部による前記判定を継続するか停止するかを判定する第2判定部と、を備えたワーク加工装置を開示する。
【発明の効果】
【0007】
本開示によれば、移動可否の判定を実施する時点において、その時点で実施されている移動制御指示による第2ロボットの移動先位置と、その時点で実施されている移動制御指示の次に実施される移動制御指示(その時点で最速(最短)で実施されるであろう移動制御指示)による第1ロボットの移動先位置との第1差分を使用することにより、第1ロボットの移動可否をより的確かつ正確に判定することが可能となる。そして、この判定結果を踏まえて第1ロボットの移動制御を適切に実施することが可能となり、その結果、同じ走行台上に設置されたロボット同士の衝突をより抑制することができる。
また、第1ロボットの移動可否の判定と第2ロボットの移動可否の判定の優先有無に応じて、前記第1判定部による前記判定を継続するか停止するかを適切に判定することが可能となる。よって、第1ロボットの移動可否をより的確かつ正確に判定することが可能となるため、同じガイド部上に設置されたロボット同士の衝突をより抑制することができる。
【図面の簡単な説明】
【0008】
【
図1】ワーク加工装置が適用された工作機械10を示す正面図である。
【
図2】
図1に示す工作機械10を示す右側面図である。
【
図4】
図3に示す制御装置50にて実施されるプログラムを表すフローチャートである。
【
図5】第1ロボット(自ロボット)40aと第2ロボット(相手ロボット)の作動に係るケース1を示す模式図である。
【
図6】第1ロボット(自ロボット)40aと第2ロボット(相手ロボット)の作動のうち第2ロボット制御系に係る作動を示す模式図である。
【
図7】第2ロボット(相手ロボット)が待ち中であり、第1ロボット(自ロボット)40aが優先判定中である場合を示す模式図である。
【
図8】第1ロボット(自ロボット)40aを退避動作させた後、第2ロボット(相手ロボット)を移動動作させる作動を示す模式図である。
【
図9】第1ロボット(自ロボット)40aと第2ロボット(相手ロボット)の作動に係るケース2-1を示す模式図である。
【
図10】第1ロボット(自ロボット)40aと第2ロボット(相手ロボット)の作動に係るケース2-2を示す模式図である。
【
図11】第1ロボット(自ロボット)40aと第2ロボット(相手ロボット)の作動に係るケース2-3を示す模式図である。
【
図12】第1ロボット(自ロボット)40aと第2ロボット(相手ロボット)の作動に係るケース2-4を示す模式図である。
【
図13】第1ロボット(自ロボット)40aと第2ロボット(相手ロボット)の作動に係るケース3-1を示す模式図である。
【
図14】第1ロボット(自ロボット)40aと第2ロボット(相手ロボット)の作動に係るケース3-2を示す模式図である。
【
図15】第1ロボット(自ロボット)40aと第2ロボット(相手ロボット)の作動に係るケース3-3を示す模式図である。
【
図16】第1ロボット(自ロボット)40aと第2ロボット(相手ロボット)の作動に係るケース3-4を示す模式図である。
【発明を実施するための形態】
【0009】
(工作機械)
以下、ワーク加工装置が適用された工作機械の一例である一実施形態について説明する。以下の各図において、XYZ座標系を用いて図中の方向を説明する。このXYZ座標系においては、水平面に平行な平面をXZ平面とする。このXZ平面において、後述する工作機械10の主軸20a,20bの軸線方向をZ軸方向と表記し、Z軸方向に直交する方向をX軸方向と表記する。また、XZ平面に垂直な方向はY軸方向と表記する。
【0010】
工作機械10は、
図1に示すように、本体11、一対の主軸20a,20b、一対の工具台30a,30b、一対のワーク搬送ロボット(以下、単にロボットと称する場合もある。)40a,40b、及び主軸20a,20b、工具台30a,30b、ワーク搬送ロボット40a,40bを制御する制御装置50を備えている。
【0011】
主軸20aは、ワークWを回転可能に保持するものである。主軸20aは、
図2にて左右方向(Z軸方向)に沿って水平に配置されるように、本体11に設けられた主軸台(不図示)に回転可能に支持されている。主軸20aの先端部にはワークWを着脱可能に把持する主軸チャック21が設けられる。主軸20aは、図示しないサーボモータによって回転駆動される。主軸チャック21は、図示しない複数の把持爪を有しており、これら把持爪を閉じることでワークWを掴み、開くことでワークWを放すことが可能である。主軸チャック21の開閉は、制御装置50からの指示によって実施されている。主軸20bは、主軸20aと同様に構成されている。
【0012】
工具台30aは、切削工具31に送り運動を与える装置である。工具台30aは、いわゆるタレット型の工具台であり、ワークWの切削をする複数の切削工具31が装着される工具保持部32を有している。工具保持部32は、回転駆動部(不図示)によって回転可能に支持されるとともに所定の切削位置に位置決め可能である。工具台30aは、工具台移動装置33によって工具台30aひいては切削工具31を
図1にて左右方向(X軸方向)及び前後方向(Z軸方向)に沿って移動される。工具台移動装置33は、工具台30aをX軸方向に沿って移動させるX軸駆動装置(不図示)と、工具台30aをZ軸方向に沿って移動させるZ軸駆動装置(不図示)とを有している。X軸駆動装置及びZ軸駆動装置は、それぞれサーボモータによって駆動される。工具台30bは、工具台30aと同様に構成されている。
【0013】
上述した主軸20a及び工具台30aは、ワークWを加工する加工部35aを構成する。上述した主軸20b及び工具台30bは、ワークWを加工する加工部35bを構成する。
【0014】
(ロボット)
ロボット40a及び40bは、同一走行台の走行がそれぞれ可能であり、かつワークWを主軸20a,20bやワーク載置装置60に搬入出可能である。ワーク載置装置60は、ワークWを載置可能な装置であり、例えば、工作機械10に搬入されるワークWを載置面に載置するワーク搬入装置、工作機械10から搬出されるワークWを載置面に載置するワーク搬出装置、工作機械10から搬出されたワークWの姿勢を反転させたりシフトさせたりする反転・シフト装置などがある。
【0015】
ロボット40aは、自身の走行(X軸に沿った移動)をさせるための走行部41、ワークWを脱着可能に把持する把持部42、及び、把持部42を走行部41に対して相対移動させる把持部移動部43を備えている。本実施形態において、ロボット40aは、例えば3軸直交ロボット(3軸ガントリーロボット)である。ロボット40aは、直交ロボットに限定されず、垂直多関節ロボット、水平多関節ロボット(スカラー型ロボット)、パラレルリンクロボットでもよい。ロボット40bは、ロボット40aと同様に構成されている。
【0016】
(走行部)
図1に示すように、走行部41は、走行部スライダ41a(X軸スライダと称してもよい。)と、走行部スライダ41aをガイドして走行させる走行台であるガイド部41bと、走行部スライダ41aを走行駆動させるための走行駆動装置41c(
図3参照)とを備えている。
【0017】
走行部スライダ41aは、把持部42及び把持部移動部43を搭載可能であり、
図1にて左右方向(X軸方向)に沿って延設されているガイド部41bに案内されて左右方向に沿って往復動(直動)される。
【0018】
ガイド部41bは、本体11に設けられており、主軸20a,20b及び工具台30a,30bの上方に配設されている。ガイド部41bの一端部(
図1にて左側端部)は、本体11の左側に設置されたワーク載置装置60の直上まで延設されている。ガイド部41bの他端部(
図1にて右側端部)は、本体11の右側に設置されたワーク載置装置60の直上まで延設されている。尚、走行部スライダ41aとガイド部41bとから走行駆動軸(X軸駆動軸)が構成されている。
【0019】
走行駆動装置41cは、走行部スライダ41aまたはガイド部41b側に設けられている。走行駆動装置41cは、サーボモータ41c1(
図3参照)、駆動力伝達機構(不図示)などから構成される。走行部スライダ41aは、サーボモータ41c1の回転出力によってガイド部41bに対して走行移動する。
【0020】
サーボモータ41c1は、
図3に示すように、制御装置50に接続されている。サーボモータ41c1は、制御装置50からの指示に従って回転駆動される。サーボモータ41c1を駆動することにより、ロボット40a,40bをX軸+側方向(右側方向)、X軸-側方向(左側方向)に向けて移動させることができる。また、サーボモータ41c1は、サーボモータ41c1の位置(例えば、回転角度)を検知する位置センサ(例えば、レゾルバ、エンコーダ)41c2(
図3参照)が内蔵されている。位置センサ41c2の検出結果は、制御装置50に送信されている。
【0021】
(把持部)
主として
図2に示すように、把持部42は、Y軸スライダ45aに回転駆動部42bを介して回転可能に連結されている。把持部42は、直交する2つの側面と残りの側面を有する三角柱形状の本体42aを有している。直交する2つの側面のうち一方の側面は、X-Z平面に平行可能な平面であり、ワークWを脱着可能に把持するロボットチャック42cが設けられている。他方の側面は、X-Y平面に平行な平面であり、ワークWを脱着可能に把持するロボットチャック42dが設けられている。
【0022】
本体42aは、回転駆動部42bによって後述する把持部回転軸回りに回転可能であり、各ロボットチャック42c,42dは2つの位置(Y軸方向下向き位置とZ軸方向奥側向き位置)に回転切換が可能となる。その結果、把持部42は、各ロボットチャック42c,42dをY軸方向下向き位置にすることでY軸方向上向きの載置面(例えばワーク載置装置60の載置面)に対してワークWを受け渡しすることができる。また、把持部42は、各ロボットチャック42c,42dをZ軸方向奥側向き位置にすることでZ軸方向手前側向きの載置面(例えば主軸20a,20bの主軸チャック21の載置面)に対してワークWを受け渡しすることができる。ロボットチャック42c,42dは、図示しない複数の把持爪を有しており、これら把持爪を閉じることでワークWを掴み、開くことでワークWを放すことが可能である。ロボットチャック42c,42dの開閉は、制御装置50からの指示によって実施されている。
【0023】
本体42aの残りの側面には、Y軸スライダ45aの先端部(下端部)の傾斜面に設けられた回転駆動部42bが取り付けられている(接続されている)。本体42aの残りの側面は、Y軸スライダ45aの先端部の傾斜面に平行に配設されている。回転駆動部42bは、
図2に示すように、回転駆動部42bに設けられた回転駆動軸42eと、回転駆動軸42eを回転駆動する回転駆動装置42f(
図3参照)とを有している。回転駆動軸42eは、本体42aの残りの側面に直交する回転軸(把持部回転軸)を有しており、この回転軸回りに回転可能である。
【0024】
回転駆動装置42fは、Y軸スライダ45aまたは本体42aに設けられている。回転駆動装置42fは、サーボモータ42f1、駆動力伝達機構(不図示)などから構成されている。回転駆動軸42eは、サーボモータ42f1の回転出力によってY軸スライダ45aの先端部に対して回転し、ひいては、把持部42は、Y軸スライダ45aに対して回転駆動軸42eの把持部回転軸まわりに回転可能となる。
【0025】
サーボモータ42f1は、
図3に示すように、制御装置50に接続されている。サーボモータ42f1は、サーボモータ42f1の位置を検知する位置センサ42f2(
図3参照)が内蔵されている。位置センサ42f2の検出結果は、制御装置50に送信されている。
【0026】
(把持部移動部)
把持部移動部43は、把持部42を走行部スライダ41aに対して
図2にて左右方向(Z軸方向)及び上下方向(Y軸方向)に沿って相対移動させるものである。把持部移動部43は、把持部42をZ軸方向に沿って移動させるZ軸駆動部44と、把持部42をY軸方向に沿って移動させるY軸駆動部45とを有している。
【0027】
(Z軸駆動部)
Z軸駆動部44は、走行部スライダ41aに対して摺動可能に取り付けられたZ軸スライダ44aをZ軸方向に沿って移動させる。主として
図2に示すように、Z軸駆動部44は、Z軸スライダ44aと、Z軸スライダ44aをガイドして移動させるZ軸ガイド部44bと、Z軸スライダ44aを移動駆動させるためのZ軸駆動装置44c(
図3参照)とを備えている。
【0028】
Z軸スライダ44aは、Y軸駆動部45ひいては把持部42を搭載可能であり、
図2にて左右方向(Z軸方向)に沿って延設されており、Z軸ガイド部44bに案内されてZ軸方向に沿って往復動(直動)される。Z軸ガイド部44bは、走行部スライダ41aに設けられている。
【0029】
Z軸駆動装置44c(
図3参照)は、Z軸ガイド部44bまたはZ軸スライダ44aに設けられている。Z軸駆動装置44cは、サーボモータ44c1、駆動力伝達機構(不図示)などから構成される。Z軸スライダ44aは、サーボモータ44c1の回転出力によってZ軸ガイド部44bに対して移動する。
【0030】
サーボモータ44c1は、
図3に示すように、制御装置50に接続されている。サーボモータ44c1は、制御装置50からの指示に従って回転駆動される。また、サーボモータ44c1は、サーボモータ44c1の位置(例えば、回転角度)を検知する位置センサ(例えば、レゾルバ、エンコーダ)44c2が内蔵されている。位置センサ44c2の検出結果は、制御装置50に送信されている。
【0031】
(Y軸駆動部)
Y軸駆動部45は、Z軸スライダ44aに対して摺動可能に取り付けられたY軸スライダ45a(把持部42が支持されている)をY軸方向に沿って移動させる。主として
図2に示すように、Y軸駆動部45は、Y軸スライダ45aと、Y軸スライダ45aをガイドして移動させるY軸ガイド部45bと、Y軸スライダ45aを移動駆動させるためのY軸駆動装置45c(
図3参照)とを備えている。
【0032】
Y軸スライダ45aは、把持部42を搭載可能であり、
図2にて上下方向(Y軸方向)に沿って延設されており、Y軸ガイド部45bに案内されてY軸方向に沿って往復動(直動)される。Y軸ガイド部45bは、Z軸スライダ44aに設けられている。
【0033】
Y軸駆動装置45c(
図3参照)は、Y軸ガイド部45bまたはY軸スライダ45aに設けられている。Y軸駆動装置45cは、サーボモータ45c1、駆動力伝達機構(不図示)などから構成される。Y軸スライダ45aは、サーボモータ45c1の回転出力によってY軸ガイド部45bに対して移動する。
【0034】
サーボモータ45c1は、
図3に示すように、制御装置50に接続されている。サーボモータ45c1は、制御装置50からの指示に従って回転駆動される。また、サーボモータ45c1は、サーボモータ45c1の位置(例えば、回転角度)を検知する位置センサ(例えば、レゾルバ、エンコーダ)45c2が内蔵されている。位置センサ45c2の検出結果は、制御装置50に送信されている。
【0035】
(制御装置)
制御装置50は、主軸20a,20b、工具台30a,30b、ロボット40a,40bを駆動制御する制御装置である。特に、制御装置50は、ロボット40a,40bの移動制御を実施する。制御装置50は、
図3に示すように、入力装置50a、表示装置50b、記憶装置50c、位置センサ41c2,44c2,45c2,42f2及びサーボモータ41c1,44c1,45c1,42f1に接続されている。入力装置50aは、工作機械10の前面に設けられており、作業者が各種設定、各種指示などを制御装置50に入力するためのものである。表示装置50bは、工作機械10の前面に設けられており、作業者に対して運転状況やメンテナンス状況などの情報を表示するためのものである。記憶装置50cは、工作機械10の制御に係るデータ、例えば、制御プログラム(加工プログラム)、制御プログラムで使用するパラメータ、各種設定や各種指示に関するデータ、負荷データ(加工データ)、第1及び第2ロボット制御系からの制御情報などを記憶している。制御装置50は、マイクロコンピュータ(不図示)を有しており、マイクロコンピュータは、バスを介してそれぞれ接続された入出力インターフェース、CPU、RAMおよびROM(いずれも不図示)を備えている。CPUは、各種プログラムを実施して、入力装置50a、記憶装置50c及び位置センサ41c2,44c2,45c2,42f2からデータ、検出信号、制御情報などを取得したり、表示装置50b及びサーボモータ41c1,44c1,45c1,42f1を制御したりする。RAMは同プログラムの実施に必要な変数を一時的に記憶するものであり、ROMは前記プログラムを記憶するものである。
【0036】
(ロボットの走行制御)
さらに、上述した工作機械10(ワーク加工装置)によるロボット40aの走行制御について
図4に示すフローチャートに沿って説明する。制御装置50は、本フローチャートに沿った処理を実施する。制御装置50は、第1ロボット40aを制御する制御系である第1ロボット制御系と、第2ロボット40bを制御する制御系である第2ロボット制御系を有しており、各ロボット40a,40bをそれぞれ独立に制御することが可能となっている。すなわち、第1ロボット制御系においても、第2ロボット制御系においても、本フローチャートに沿った処理を実施する。本実施形態においては、第1ロボット制御系において実施されている第1ロボット40aの走行制御(インターロック確認処理を含む。)について説明する。
【0037】
尚、第2ロボット制御系においても第1ロボット40aの走行制御と同様に本フローチャートに沿った第2ロボット40bの走行制御(インターロック確認処理を含む。)が実施されている。また、第1ロボット制御系においては、第1ロボット40aが自ロボットであり、第2ロボット40bが相手ロボットであり、第2ロボット制御系においては、第2ロボット40bが自ロボットであり、第1ロボット40aが相手ロボットである。さらに、入口側(
図1にて左側)に位置するロボットの原点は、ガイド部41bの左端に設定され、出口側(
図1にて右側)に位置するロボットの原点は、ガイド部41bの右端に設定されている。
【0038】
制御装置50は、ステップS102において、加工プログラム(特にロボット40a,40bの制御をするためのロボットプログラム)においてインターロック確認処理の開始の指示があったか否かを判定する。制御装置50は、加工プログラム中にてインターロック確認処理を示すMコードであるインターロック確認処理Mコード(例えば、「M300」)の記載がある場合には、インターロック確認処理の開始の指示(指令)があったと判定し(ステップS102にて「YES」)、プログラムをステップS104に進める。制御装置50は、加工プログラム中にてインターロック確認処理を示すMコードであるインターロック確認処理Mコード(例えば、「M300」)がない場合には、インターロック確認処理の開始の指示がないと判定し(ステップS102にて「NO」)、プログラムを一旦終了する。
【0039】
なお、インターロック確認処理は、第1ロボット40aまたは第2ロボット40bのX軸に沿った移動制御(X軸移動制御)が行われる際に、その移動制御が行われた場合、第1ロボット40aと第2ロボット40bとが接触しないことを確認する処理である。すなわち、インターロック確認処理は、自ロボット40aのX軸移動制御が可能であるか否かを確認する処理でもある。また、インターロック確認処理Mコードは、ロボット40aのX軸移動制御に係るプログラム行の直前に記載されている。加工プログラムの記載例を下記(加工プログラム例1)に示す。
(加工プログラム例1)
・
・
M300
G0X#502
G0Y#702
G0Z[#602-#100]
・
・
【0040】
制御装置50は、ステップS104において、ステップS102にて開始されたインターロック確認処理が保持される。すなわち、制御装置50は、加工プログラム中にて実施しているプログラムをインターロック確認処理Mコードに保持する。これにより、制御装置50は、加工プログラム中にて次に実施されるX軸移動処理の開始前にインターロック確認処理を実施することが可能となる。
【0041】
制御装置50は、ステップS106―S120の処理により、自ロボットがX軸移動制御を実行する前に、自ロボットの現在位置及び次指令値、並びに相手ロボットの現在位置及び移動先位置を使用して、自ロボットのX軸移動可否の判定(インターロック確認処理)を実施する。自ロボットは、第1ロボット制御系では第1ロボット40aであり、第2ロボット制御系では第2ロボット40bである。相手ロボットは、第1ロボット制御系では第2ロボット40bであり、第2ロボット制御系では第1ロボット40aである。
【0042】
制御装置50は、ステップS106において、インターロック確認処理の開始時点(判定開始時点)における自ロボット40aの現在位置(自ロボット現在位置)が、判定開始時点直後に自ロボット40aに出される移動制御指示に係る指示値であって自ロボット40aの移動先位置を示す自ロボット次指令値、より入口側に位置するか出口側に位置するかを判定する。判定開始時点は、自ロボット40aが走行(X軸に沿った移動)の開始をできるか否かの判定を開始した時点である。移動制御指示は、インターロック確認処理の開始の指令の次に出される制御指示(制御指令)である次指令である。尚、例えば
図5-
図16にて、入口側とは、工作機械10においてワークWが搬入される側であり、本実施形態では左側である。出口側とは、工作機械10においてワークWが搬出される側であり、本実施形態では右側である。
【0043】
例えば、
図5には、自ロボット現在位置が自ロボット次指令値より出口側(右側)に位置する場合を示している。
図5においては、X軸の原点をガイド部41bの左端(入口側端)とするとともに右方向に行くにしたがってX軸座標値が大きくなると仮定すると、自ロボット現在位置>自ロボット次指令値(自ロボット現在位置-自ロボット次指令値>0)となる。逆に、自ロボット現在位置が自ロボット次指令値より入口側(左側)に位置する場合には、自ロボット現在位置<自ロボット次指令値(自ロボット現在位置-自ロボット次指令値<0)となる。
【0044】
換言すると、自ロボット現在位置-自ロボット次指令値である、自ロボット現在位置と自ロボット次指令値との差分(自ロボット現在位置次指令値差分:第2差分)が第2所定値である0より大きいか否かに基づいて、自ロボット現在位置が自ロボット次指令値より出口側に位置するか入口側に位置するかを判定することが可能となる。尚、第2所定値は、0(ゼロ)以外の値に設定してもよく、この場合、自ロボット40aと相手ロボット40bとの接近可能な距離を考慮して設定すればよい。また、出口側に位置するとは、自ロボットが入口側に向けて移動されていることをいい、また相手ロボットから離れる方向に移動されていることをいう。入口側に位置するとは、自ロボットが出口側に向けて移動されていることをいい、また相手ロボットに接近する方向に移動されていることをいう。
【0045】
制御装置50は、第2差分(自ロボット現在位置-自ロボット次指令値)が第2所定値より大きい場合には、自ロボット40aが入口側に向けて移動されていると判定し(ステップS106にて「YES」と判定し)、プログラムをステップS116に進める。制御装置50は、ステップS116において、ステップS104にて保持したインターロック確認処理を解除する。これにより、インターロック確認処理は終了し、制御装置50は、次に実施される自ロボット40aの移動制御指示(次移動制御指示)を実施することが可能となる。制御装置50は、ステップS116の処理の終了後、本フローチャートを終了する。
【0046】
制御装置50は、第2差分(自ロボット現在位置-自ロボット次指令値)が第2所定値より小さい場合には、自ロボット40aが出口側に向けて移動されていると判定し(ステップS106にて「NO」と判定し)、プログラムをステップS108に進める。
【0047】
(自ロボットのインターロック確認処理を優先するか否かの判定)
制御装置50は、ステップS108において、相手ロボット40bに対して優先的に自ロボット40aの移動可否判定(インターロック確認処理)を実施してよいか否かを判定する(移動可否判定優先判定)。制御装置50は、相手ロボット40bの移動可否判定が優先される場合には、自ロボット40aの移動可否判定を実施しないで待機することが可能となる。具体的には、ステップS108において、制御装置50は、自ロボット40aが相手ロボット40bよりも入口側に位置しているか否かに応じて移動可否判定優先判定を実施する。制御装置50は、自ロボット40aが相手ロボット40bよりも入口側に位置している場合には、自ロボットの移動可否判定を優先して実施する旨の判定(自ロボット移動可否優先判定)をし(ステップS108にて「YES」)、自ロボット40aが相手ロボット40bよりも出口側に位置している場合には、相手ロボットの移動可否判定を優先して実施する旨の判定(相手ロボット移動可否優先判定)をする(ステップS108にて「NO」)。
【0048】
このように、制御装置50は、自ロボット40aの移動可否の判定が相手ロボット40bの移動可否の判定より優先されるか否かに応じて、自ロボット40aの移動可否の判定を継続するか停止するかを判定する(第2判定部)。尚、制御装置50は、自ロボット40a(第1ロボット)の移動制御が相手ロボット40b(第2ロボット)の移動制御より優先されているか否かに応じて、自ロボット40aの移動可否の判定(第1判定部による判定)を継続するか停止するかを判定する第2判定部を備えるようにしてもよい。
【0049】
制御装置50は、自ロボット40aが相手ロボット40bに対して入口側に位置している場合には、ステップS108にて「YES」と判定し、プログラムをステップS110以降に進め、自ロボット40aの移動可否の判定を継続する。一方、制御装置50は、自ロボット40aが相手ロボット40bに対して入口側でなく出口側に位置している場合には、ステップS108にて「NO」と判定し、プログラムをステップS118以降に進め、相手ロボット40bの移動可否判定状況をさらに確認する。
【0050】
制御装置50は、ステップS118において、第2ロボット制御系から制御情報を取得し、相手ロボット40bが待ち開始スキャン状態であるか否かを判定する。待ち開始スキャン状態は、相手ロボット40bがインターロック確認処理を開始するためのスキャン状態のこと、すなわち相手ロボット40bがインターロック確認処理の開始を検出(検索)している状態のことである。制御情報としては、各ロボット40a,40bにおけるインターロック確認処理の開始の判定結果がある。このインターロック確認処理の開始判定結果は、各ロボット40a,40bのうち一方から他方に送信するようになっている。各ロボット40a,40bは、取得した相手のインターロック確認処理の開始の判定結果から相手ロボット40bが待ち開始スキャン状態であるか否かを判定することが可能となる。すなわち、各ロボット40a,40bは、相手のインターロック確認処理の開始の判定結果を取得していない場合には、相手ロボットが待ち開始スキャン状態であると判定し、一方、相手のインターロック確認処理の開始の判定結果を取得した場合には、相手ロボットが待ち開始スキャン状態でない(待ち開始スキャン状態が終了した)と判定する。
【0051】
制御装置50は、相手ロボット40bが待ち開始スキャン状態である場合には、ステップS118にて「YES」と判定し、相手ロボット40bが待ち開始スキャン状態でなくなるまで(待ち開始スキャン状態が終了するまで)ステップS118の処理を繰り返し実行する。制御装置50は、相手ロボット40bが待ち開始スキャン状態でない場合には(待ち開始スキャン状態が終了すると)、ステップS118にて「NO」と判定し、プログラムをステップS120に進める。
【0052】
制御装置50は、ステップS120において、第2ロボット制御系から制御情報を取得し、入口側ロボット(相手ロボット40b)が「待ち中」(後述する)であるか否かを判定する。「待ち中」とは、自ロボット40a及び/または相手ロボット40bが次移動制御指示を実施すると、両ロボット40a,40bが接触する可能性がある状態である。換言すると、「待ち中」とは、対象ロボット(ここでは入口側の相手ロボット40b)がインターロック確認処理中であり、インターロック確認処理後の移動制御の実施待ち中のことである。制御情報としては、各ロボット40a,40bにおいて入口側ロボット(相手ロボット40b)のインターロック確認処理における判定結果(移動OK、移動NG(待ち中)などの移動可否判定結果)がある。
【0053】
制御装置50は、入口側ロボット(相手ロボット40b)のインターロック確認処理における判定結果が「移動OK」である場合、入口側ロボット(相手ロボット40b)が「待ち中」でないと判定し(ステップS120にて「NO」と判定)、プログラムをステップS110に進め、自ロボット40aのインターロック確認処理を再開する。例えば、
図6に示すように、相手ロボット40bと自ロボット40aにおいて次移動制御指示によって移動制御が行われても相手ロボット40bと自ロボット40aとが接触(干渉)しない場合には、相手ロボット40bは次移動制御指示に従って移動制御されるとともに自ロボット40aはインターロック確認処理を再開しインターロック確認処理の保持を解除した後に次移動制御指示に従って移動制御される。
【0054】
図6において、次移動制御指示によって移動制御が行われても相手ロボット40bと自ロボット40aとが接触(干渉)しない場合を示している。例えば、自ロボット40aが出口側に位置し、相手ロボット40bが入口側に位置している場合であって、相手ロボット40bがX軸の+側方向に移動し(または停止し)、自ロボット40aがX軸の-側方向に移動する場合であり、相手ロボット40bの次指令値(次移動先、移動先位置)が自ロボット40aの次指令値(次移動先)よりX軸の-側方向に位置する場合である。
【0055】
一方、制御装置50は、入口側ロボット(相手ロボット40b)のインターロック確認処理における判定結果が「移動NG」である場合、入口側ロボット(相手ロボット40b)が「待ち中」であると判定し(ステップS120にて「YES」と判定)、プログラムをステップS122に進め、自ロボット40aを退避させる退避動作処理を実施する。
【0056】
例えば、
図7に示すように、相手ロボット40bが現在位置からX軸+側方向(
図7にて右方向)に移動し自ロボット40aの現在位置を越えて次指令値(次移動先)に移動しようとし、自ロボット40aが現在位置からX軸-側方向(
図7にて左方向)に移動し相手ロボット40bの現在位置を越えて次指令値(次移動先)に移動しようとする場合には、そのまま移動制御が行われると相手ロボット40bと自ロボット40aとは接触(干渉)する。
【0057】
この場合、相手ロボット40bの第2ロボット制御系では、後述するようにインターロック確認処理により「待ち中(待ち継続)」の判定がなされる。さらに、自ロボット40aの第1ロボット制御系では、前述したようにステップS120にて入口側ロボット(相手ロボット40b)が「待ち中」である旨の判定が確認(認定)される。その後、インターロック確認処理が中断され(ステップS110-116の処理を実施しないで)、自ロボット40aを現在位置から接触(干渉)しない位置(退避位置:
図8参照)まで移動(退避)させる(ステップS122)ことが可能となる。このように、自ロボット40aを退避させることにより、入口側に位置する相手ロボット40bの制御を優先的に実施することが可能となる。退避位置は、相手ロボット40bが次移動制御指示によって移動したとしても自ロボット40aと接触(干渉)しない自ロボット40aの次移動先位置である。
【0058】
制御装置50は、ステップS122において、自ロボット40aの退避動作処理を実施する。例えば、制御装置50は、ブロックの再サーチ(ブロック再サーチ)を実施して退避動作ブロックを実施する。ブロックは、加工プログラムを構成する一単位であり、ロボットの動作内容ごとに分けられている。ロボット40a,40bは、複数のブロックを連続して実行している。ブロックの例としては、入口ブロック、M/Cブロック、サイクル停止ブロック、待避動作ブロックなどがある。入口ブロックは、ロボット40a,40bが加工対象であるワークWを入口側のワーク載置装置60に取りに行くブロックである。M/Cブロックは、ロボット40a,40bが加工部35a,35bに移動(接近)し、加工完了ワークWと未加工ワークWを入れ替えるブロックである。サイクル停止ブロックは、ロボット40a,40bを原点に戻し、ロボット40a,40bの自動運転を終了するブロックである。退避動作ブロックは、ロボット40a,40bが接触(干渉)する可能性がある場合に、優先制御側でない(非優先制御である)ロボット(自ロボット40a)を相手ロボット40bと接触しない退避位置まで移動させるブロックである。
【0059】
ブロック再サーチは、ブロック終了時ではなく、ブロックの途中で強制的にブロックサーチを行うことである。ブロック再サーチは、サーチの完了後ただちに現在実行中のブロックを中断し、サーチされたブロックを実行する。例えば、M/Cブロック中にM/Cで異常が発生した場合、ブロック再サーチが実行されると、サイクル停止ブロックがサーチされる。これにより、M/Cブロックが中断され、サイクル停止ブロックが開始される。
【0060】
ブロックサーチは、ブロックが完了した時、次に実行すべきブロックを判定(サーチ)することである。サーチ完了後、サーチされたブロックが実行される。例えば、入力ブロックの終了後にブロックサーチが実施される場合、ロボット40a,40bが未加工ワークWを持っている場合には、M/Cブロックがサーチされる。そして、M/Cブロックが開始される。
【0061】
制御装置50は、ステップS122において、退避動作ブロックにて、先に取得した相手ロボット40bの次指令値から退避位置を算出(演算)し、その後、走行駆動装置41c(サーボモータ41c1)を制御して自ロボット40aを待避位置に移動させる。制御装置50は、ステップS122の処理の後、プログラムを一旦終了する。
【0062】
インターロック確認処理に説明を戻す。制御装置50は、ステップS110において、自ロボット次指令値と相手ロボット移動先位置との第1差分から、前記移動制御指示による自ロボットの移動可否の判定をすることが可能となる(第1判定部)。自ロボット次指令値は、ステップS106の処理と同様に、判定開始時点直後に自ロボット40aに出される移動制御指示に係る指示値であって自ロボット40aの移動先位置を示すものである。相手ロボット移動先位置は、インターロック確認処理の開始した時点に相手ロボット40bにて実行されている移動制御指示に係る値でありかつ相手ロボット40bの移動先位置を示す相手ロボット40bの移動先位置である。尚、相手ロボット移動先位置は、現在移動中の相手ロボット40bの移動先であり、その移動先は、第2ロボット制御系から取得する。また、相手ロボット移動先位置は、相手ロボット次指令値(相手ロボット次移動先)を採用するようにしてもよい。第1差分は、相手ロボット移動先位置-自ロボット次指令値である、相手ロボット移動先位置と自ロボット次指令値との差分(相手ロボット移動先位置自ロボット次指令値差分)である。
【0063】
例えば、
図9には、相手ロボット移動先位置が自ロボット次指令値より右側(出口側)に位置する場合を示している。
図9においては、
図5と同様に、相手ロボット移動先位置>自ロボット次指令値(相手ロボット移動先位置-自ロボット次指令値>0)となる。このとき、相手ロボット移動先位置が自ロボット次指令値より右側(出口側)に位置する場合には、自ロボット40aが相手ロボット40bを追い越す(追いつく)可能性はなく、自ロボット40aが相手ロボット40bに接触することはない。逆に、相手ロボット移動先位置が自ロボット次指令値より左側(入口側)に位置する場合には、相手ロボット移動先位置<自ロボット次指令値(相手ロボット移動先位置-自ロボット次指令値<0)となる。このとき、相手ロボット移動先位置が自ロボット次指令値より左側(入口側)に位置する場合には、自ロボット40aが相手ロボット40bを追い越す(追いつく)可能性があり、自ロボット40aが相手ロボット40bに接触することとなる。
【0064】
換言すると、相手ロボット移動先位置-自ロボット次指令値である、相手ロボット移動先位置と自ロボット次指令値との差分(相手ロボット移動先位置自ロボット次指令値差分:第1差分)が第1所定値より大きいか否かに基づいて、相手ロボット移動先位置が自ロボット次指令値より出口側に位置するか入口側に位置するか(自ロボット40aが相手ロボット40bに接触するか否か)を判定することが可能となる。尚、第1所定値は、0(ゼロ)より大きい値であって、接近している両ロボット40a,40bが近接しても接触しないようにマージンをもって停止できる距離(接近可能距離)より小さい値に設定されるのが好ましい。本実施形態では、第1所定値を接近可能距離に設定している。
【0065】
制御装置50は、第1差分(相手ロボット移動先位置-自ロボット次指令値)が第1所定値(接近可能距離)より大きい場合には、自ロボット40aが相手ロボット40bを追い越す可能性はなく、自ロボット40aが相手ロボット40bに接触する可能性は少ないと判定し(ステップS110にて「YES」と判定し)、プログラムをステップS112に進める。
【0066】
一方、制御装置50は、第1差分(相手ロボット移動先位置-自ロボット次指令値)が第1所定値(接近可能距離)より小さい場合には、自ロボット40aが相手ロボット40bを追い越す可能性があり、自ロボット40aが相手ロボット40bに接触すると判定し(ステップS110にて「NO」と判定し)、第1差分が接近可能距離より大きくなるまで、ステップS110の判定処理を繰り返し実行する。このとき、相手側のロボット制御系でも、自分側のロボット制御系と同じように制御が行われており、相手側のロボットの移動制御が優先的に実施される場合には、相手側のロボットが移動されるので、第1差分が接近可能距離より大きくなる場合がある。
【0067】
制御装置50は、ステップS112において、自ロボット次指令値と相手ロボット現在位置との第3差分から、前記移動制御指示による自ロボットの移動可否の判定をすることが可能となる(第1判定部)。自ロボット次指令値は、ステップS106の処理と同様に、判定開始時点直後に自ロボット40aに出される移動制御指示に係る指示値であって自ロボット40aの移動先位置を示すものである。相手ロボット現在位置は、インターロック確認処理の開始した時点における相手ロボット40bの現在位置である。このとき、現在位置は、上述した位置センサにより検出された実際の位置を示す実座標が使用される。実座標はサーボ指令に対して発生する遅れ量が含まれている。尚、実座標の代わりに、サーボ指令に対応した指令値を示す位置を使用してもよい。尚、相手ロボット現在位置は、第2ロボット制御系から取得する。第3差分は、相手ロボット現在位置-自ロボット次指令値である、相手ロボット現在位置と自ロボット次指令値との差分(相手ロボット現在位置自ロボット次指令値差分)である。
【0068】
例えば、
図9-12には、相手ロボット現在位置が自ロボット次指令値より右側(出口側)に位置する場合を示している。
図9-12においては、
図5と同様に、相手ロボット現在位置>自ロボット次指令値(相手ロボット現在位置-自ロボット次指令値>0)となる。このとき、相手ロボット現在位置が自ロボット次指令値より右側(出口側)に位置する場合には、自ロボット40aが相手ロボット40bを追い越す(追いつく)可能性はなく、自ロボット40aが相手ロボット40bに接触することはない。逆に、
図13-16に示すように、相手ロボット現在位置が自ロボット次指令値より左側(入口側)に位置する場合には、相手ロボット現在位置<自ロボット次指令値(相手ロボット現在位置-自ロボット次指令値<0)となる。相手ロボット現在位置が自ロボット次指令値より左側(入口側)に位置する場合には、自ロボット40aが相手ロボット40bを追い越す(追いつく)可能性があり、自ロボット40aが相手ロボット40bに接触することとなる。
【0069】
換言すると、相手ロボット現在位置-自ロボット次指令値である、相手ロボット現在位置と自ロボット次指令値との差分(相手ロボット現在位置自ロボット次指令値差分:第3差分)が第3所定値より大きいか否かに基づいて、相手ロボット現在位置が自ロボット次指令値より出口側に位置するか入口側に位置するか(自ロボット40aが相手ロボット40bに接触するか否か)を判定することが可能となる。尚、第3所定値は、第1所定値と同様に、0(ゼロ)より大きい値であって、接近している両ロボット40a,40bが近接しても接触しないようにマージンをもって停止できる距離(接近可能距離)より小さい値に設定されるのが好ましい。本実施形態では、第3所定値を接近可能距離に設定している。
【0070】
制御装置50は、第3差分(相手ロボット現在位置-自ロボット次指令値)が第3所定値(接近可能距離)より大きい場合には、自ロボット40aが相手ロボット40bを追い越す可能性はなく、自ロボット40aが相手ロボット40bに接触する可能性はないと判定し(ステップS112にて「YES」と判定し)、プログラムをステップS116に進める。制御装置50は、ステップS116において、ステップS104にて保持したインターロック確認処理を解除する。これにより、インターロック確認処理は終了し、制御装置50は、次に実施される自ロボット40aの移動制御指示(次移動制御指示)を実施することが可能となる。制御装置50は、ステップS116の処理の終了後、本フローチャートを終了する。
【0071】
一方、制御装置50は、第3差分(相手ロボット現在位置-自ロボット次指令値)が第3所定値(接近可能距離)より小さい場合には、自ロボット40aが相手ロボット40bを追い越す可能性があり、自ロボット40aが相手ロボット40bに接触する可能性があると判定し(ステップS112にて「NO」と判定し)、プログラムをステップS114に進める。
【0072】
制御装置50は、ステップS114において、インターロック確認処理の開始した時点における相手ロボット現在位置と自ロボット現在位置との第4差分から、前記移動制御指示による自ロボットの移動可否の判定をすることが可能となる(第1判定部)。相手ロボット現在位置は、インターロック確認処理の開始した時点における相手ロボット40bの現在位置である。自ロボット現在位置は、インターロック確認処理の開始した時点における自ロボット40aの現在位置である。尚、相手ロボット現在位置は、第2ロボット制御系から取得する。このとき、相手ロボット現在位置は、上述した位置センサにより検出された実際の位置を示す実座標(上述した)が使用されるのが好ましい。また、自ロボット現在位置は、サーボ指令に対応した指令値である移動先位置が使用されるのが好ましい。第4差分は、相手ロボット現在位置-自ロボット現在位置である、相手ロボット現在位置と自ロボット現在位置との差分(相手ロボット現在位置自ロボット現在位置差分)である。
【0073】
例えば、
図16には、相手ロボット現在位置が自ロボット現在位置より右側(出口側)に位置する場合を示している。
図16においては、
図5と同様に、相手ロボット現在位置>自ロボット現在位置(相手ロボット現在位置-自ロボット現在位置>0)となる。さらに、相手ロボット現在位置-自ロボット現在位置である、相手ロボット現在位置と自ロボット現在位置との差分(相手ロボット現在位置自ロボット現在位置差分:第4差分)が第4所定値より大きいか否かに基づいて、自ロボット40aが相手ロボット40bを追走できるか否かを判定することが可能となる。換言すると、相手ロボット40bが相手ロボット移動先位置に到達するまでに自ロボット40aに追い越されるか否かを判定することが可能となる。
【0074】
尚、第4所定値は、自ロボット40aが相手ロボット40bを追走できる距離(追走可能距離:または相手ロボット40bが相手ロボット移動先位置に到達するまでに自ロボット40aが相手ロボット40bに追い越す(追いつく)ことができる距離)より大きい値に設定されるのが好ましい。追走可能距離は、自ロボット40aの速度、現在位置及び相手ロボット40bの速度、現在位置から演算可能である。本実施形態では、第4所定値を追走可能距離に設定している。
【0075】
制御装置50は、第4差分(相手ロボット現在位置-自ロボット現在位置)が第4所定値(追走可能距離)より大きい場合には、自ロボット40aが相手ロボット40bに追走できる(自ロボット40aが相手ロボット40bに接触しない)と判定し(ステップS114にて「YES」と判定し)、プログラムをステップS116に進める。制御装置50は、ステップS116において、ステップS104にて保持したインターロック確認処理を解除する。これにより、インターロック確認処理は終了し、制御装置50は、次に実施される自ロボット40aの移動制御指示(次移動制御指示)を実施することが可能となる。制御装置50は、ステップS116の処理の終了後、本フローチャートを終了する。
【0076】
一方、制御装置50は、第4差分(相手ロボット現在位置-自ロボット現在位置)が第4所定値(追走可能距離)より小さい場合には、自ロボット40aが相手ロボット40bに追走できない(自ロボット40aが相手ロボット40bに追いついて接触する)と判定し(ステップS114にて「NO」と判定し)、第4差分が追走可能距離より大きくなるまで、ステップS110-S114の判定処理を繰り返し実行する。このとき、相手側のロボット制御系でも、自分側のロボット制御系と同じように制御が行われており、相手側のロボットの移動制御が優先的に実施される場合には、相手側のロボットが移動されるので、第4差分が追走可能距離より大きくなる場合がある。
【0077】
(ケース1:自ロボットが現在位置より-側方向に移動するとともに相手ロボットが停止または現在位置より+側方向に移動する場合)
さらに、各ケースに分けて作動を説明する。最初にケース1について説明する。ケース1は、
図5に示すように、自ロボット40aが入口側に位置し、相手ロボット40bが出口側に位置している場合であって、相手ロボット40bが停止し(またはX軸の+側方向に移動し)、自ロボット40aがX軸の-側方向に移動する場合である。すなわち、ケース1は、入口側に位置する自ロボット40aが相手ロボット40bから遠ざかる場合である。入口側とは、工作機械10においてワークWが搬入される側であり、本実施形態では左側である。出口側とは、工作機械10においてワークWが搬出される側であり、本実施形態では右側である。尚、
図5において、矢印の方向はロボット40a,40bの移動方向を示し、長さは移動量(移動先)を示している。
【0078】
ケース1の場合、
図5に示すように、インターロック確認処理の開始時点(判定開始時点)における自ロボット現在位置は、判定開始時点直後に自ロボット40aに出される移動制御指示(インターロック確認処理の開始の指令の次に出される制御指示(制御指令)である次指令)に係る指示値であって自ロボット40aの移動先位置を示す自ロボット次指令値より出口側である。よって、自ロボット現在位置>自ロボット次指令値であり、自ロボット現在位置-自ロボット次指令値である第2差分は第2所定値である0(ゼロ)より大きい。
【0079】
この場合、自ロボット40aが移動制御指示に従って移動して相手ロボット40bから遠ざかるので、移動制御指示によって自ロボット40aが移動したとしても自ロボット40aと相手ロボット40bとが衝突(接触)する可能性はないため、制御装置50は、ステップS106において、「YES」と判定し、移動制御指示による自ロボット40aの移動が可能であると判定(移動OK判定)することが可能となる。
【0080】
(ケース2-1乃至2-3:自ロボットが現在位置よりX軸の+側方向(相手ロボットに向けて)に移動するものの相手ロボットと接触しない範囲で移動する場合)
ケース2-1は、
図9に示すように、自ロボット40aが入口側に位置し、相手ロボット40bが出口側に位置している場合であって、相手ロボット40bが停止し、自ロボット40aが現在位置より+側方向(相手ロボットに向けて)に移動するものの、停止している相手ロボット40bに到達しない範囲で移動する場合である。ケース2-2,2-3は、
図10,11に示すように、自ロボット40aが入口側に位置し、相手ロボット40bが出口側に位置している場合であって、相手ロボット40bはX軸の+側方向または-側方向に移動するとともに、自ロボット40aが現在位置より+側方向(相手ロボットに向けて)に移動するものの、自ロボット次指令値が相手ロボット移動先位置より左側(入口側)に位置する場合である。
【0081】
ケース2-1乃至2-3の場合、
図9-11から明らかなように、自ロボット現在位置<自ロボット次指令値であり、自ロボット現在位置-自ロボット次指令値である第2差分は第2所定値より小さい。よって、自ロボット40aと相手ロボット40bとが衝突する可能性があるため、制御装置50は、ステップS106において、「NO」と判定する。また、自ロボット40aが入口側に位置しているので、制御装置50は、ステップS108において、「YES」と判定する。
【0082】
さらに、ケース2-1乃至2-3の場合、
図9-11から明らかなように、相手ロボット移動先位置>自ロボット次指令値であり、相手ロボット移動先位置-自ロボット次指令値である第1差分が第1所定値より大きく、かつ、相手ロボット現在位置>自ロボット次指令値であり、相手ロボット現在位置-自ロボット次指令値である第3差分が第3所定値(接近可能距離)より大きい。よって、自ロボット40aと相手ロボット40bとが衝突する可能性がないため、制御装置50は、ステップS110,112において、それぞれ「YES」と判定し、移動制御指示による自ロボット40aの移動が可能であると判定(移動OK判定)することが可能となる。
【0083】
(ケース2-4:自ロボットが現在位置よりX軸の+側方向(相手ロボットに向けて)に移動するものの相手ロボットと接触可能性のある範囲で移動する場合)
ケース2-4は、
図12に示すように、自ロボット40aが入口側に位置し、相手ロボット40bが出口側に位置している場合であって、相手ロボット40bはX軸の-側方向に移動するとともに、自ロボット40aが現在位置より+側方向(相手ロボットに向けて)に移動し、自ロボット次指令値が相手ロボット移動先位置より右側(出口側)に位置する場合である。
【0084】
ケース2-4の場合、
図12から明らかなように、自ロボット現在位置<自ロボット次指令値であり、自ロボット現在位置-自ロボット次指令値である第2差分は第2所定値より小さい。よって、自ロボット40aと相手ロボット40bとが衝突する可能性があるため、制御装置50は、ステップS106において、「NO」と判定する。また、自ロボット40aが入口側に位置しているので、制御装置50は、ステップS108において、「YES」と判定する。
【0085】
さらに、ケース2-4の場合、
図12から明らかなように、相手ロボット移動先位置<自ロボット次指令値であり、相手ロボット移動先位置-自ロボット次指令値である第1差分が第1所定値より小さい。よって、自ロボット40aと相手ロボット40bとが衝突する可能性があるため、制御装置50は、ステップS110において、「NO」と判定し、移動制御指示による自ロボット40aの移動が可能でないと判定(移動NG(待ち中)判定)することが可能となる。
【0086】
(ケース3-1乃至3-3:自ロボットが現在位置よりX軸の+側方向(相手ロボットに向けて)に移動し相手ロボットと接触可能性のある範囲で移動する場合)
ケース3-1は、
図13に示すように、自ロボット40aが入口側に位置し、相手ロボット40bが出口側に位置している場合であって、相手ロボット40bが停止し、自ロボット40aが現在位置より+側方向(相手ロボットに向けて)に移動し、自ロボット次指令値が、停止している相手ロボット40b(相手ロボット移動先位置)より右側(出口側)に位置する場合である。ケース3-2,3-3は、
図14,15に示すように、自ロボット40aが入口側に位置し、相手ロボット40bが出口側に位置している場合であって、相手ロボット40bはX軸の+側方向または-側方向に移動するとともに、自ロボット40aが現在位置より+側方向(相手ロボットに向けて)に移動し、自ロボット次指令値が相手ロボット移動先位置より右側(出口側)に位置する場合である。
【0087】
ケース3-1乃至3-3の場合、
図13-15から明らかなように、自ロボット現在位置<自ロボット次指令値であり、自ロボット現在位置-自ロボット次指令値である第2差分は第2所定値より小さい。よって、自ロボット40aと相手ロボット40bとが衝突する可能性があるため、制御装置50は、ステップS106において、「NO」と判定する。また、自ロボット40aが入口側に位置しているので、制御装置50は、ステップS108において、「YES」と判定する。
【0088】
さらに、ケース3-1乃至3-3の場合、
図13-15から明らかなように、相手ロボット移動先位置<自ロボット次指令値であり、相手ロボット移動先位置-自ロボット次指令値である第1差分が第1所定値より小さい。よって、自ロボット40aと相手ロボット40bとが衝突する可能性があるため、制御装置50は、ステップS110において、「NO」と判定し、移動制御指示による自ロボット40aの移動が可能でないと判定(移動NG(待ち中)判定)することが可能となる。
【0089】
(ケース3-4:自ロボットが現在位置よりX軸の+側方向(相手ロボットに向けて)に移動するとともに相手ロボットが現在位置よりX軸の+側方向に移動するものの両ロボットが接触しない範囲で移動する場合)
ケース3-4は、
図16に示すように、自ロボット40aが入口側に位置し、相手ロボット40bが出口側に位置している場合であって、相手ロボット40bはX軸の+側方向に移動するとともに、自ロボット40aも現在位置より+側方向(相手ロボットに向けて)に移動し、自ロボット次指令値が相手ロボット移動先位置より左側(入口側)に位置する場合である。
【0090】
ケース3-4の場合、
図16から明らかなように、自ロボット現在位置<自ロボット次指令値であり、自ロボット現在位置-自ロボット次指令値である第2差分は第2所定値より小さい。よって、自ロボット40aと相手ロボット40bとが衝突する可能性があるため、制御装置50は、ステップS106において、「NO」と判定する。また、自ロボット40aが入口側に位置しているので、制御装置50は、ステップS108において、「YES」と判定する。
【0091】
さらに、ケース3-4の場合、
図16から明らかなように、相手ロボット移動先位置>自ロボット次指令値であり、相手ロボット移動先位置-自ロボット次指令値である第1差分が第1所定値より大きく、かつ、相手ロボット現在位置<自ロボット次指令値であり、相手ロボット現在位置-自ロボット次指令値である第3差分が第3所定値(接近可能距離)より小さく、かつ、相手ロボット現在位置-自ロボット現在位置である第4差分が第4所定値(追走可能距離)より大きい。よって、自ロボット40aと相手ロボット40bとが衝突する可能性がないため、制御装置50は、ステップS110,112,114において、それぞれ「YES」,「NO」,「YES」と判定し、移動制御指示による自ロボット40aの移動が可能であると判定(移動OK判定)することが可能となる。
【0092】
(本実施形態の作用効果)
上述した実施形態によるワーク加工装置(工作機械10)は、同一ガイド部(走行台)41bの走行が可能でありかつワークWを加工部35a,35bに搬入出可能である2台のワーク搬送ロボット40a,40bと、ワーク搬送ロボット40a,40bの移動制御を実施する制御装置50と、を備えたワーク加工装置である。2台のワーク搬送ロボット40a,40bのうち一方を第1ロボット40aとし、他方を第2ロボット40bとする。制御装置50は、第1ロボット40aが前記走行の開始をできるか否かの判定を開始した時点の直後に第1ロボット40aに出される移動制御指示に係る指示値でありかつ第1ロボット40aの移動先位置を示す第1ロボット次指示値(自ロボット次指令値)と、前記判定を開始した時点に第2ロボット40bにて実行されている移動制御指示に係る値でありかつ第2ロボット40bの移動先位置を示す第2ロボット移動先位置(相手ロボット移動先位置)との第1差分から、前記移動制御指示による第1ロボット40aの移動可否の判定をする(第1判定部:ステップS110)。
【0093】
本実施形態によれば、移動可否の判定を実施する時点において、その時点で実施されている移動制御指示による第2ロボット40bの移動先位置(相手ロボット移動先位置)と、その時点で実施されている移動制御指示の次に実施される移動制御指示(その時点で最速(最短)で実施されるであろう移動制御指示)による第1ロボット40aの移動先位置(自ロボット次指令値)との第1差分を使用することにより、第1ロボット40aの移動可否をより的確かつ正確に判定することが可能となる。そして、この判定結果を踏まえて第1ロボット40aの移動制御を適切に実施することが可能となり、その結果、同じガイド部41b上に設置されたロボット同士40a,40bの衝突をより抑制することができる。
【0094】
また、制御装置50(第1判定部)は、第1ロボット次指示値(自ロボット次指令値)と、前記判定を開始した時点における第1ロボット40aの現在位置(自ロボット現在位置)との第2差分をさらに加味して、移動制御指示による前記第1ロボット40aの移動可否の判定をする(ステップS106)。
これによれば、第1ロボット次指示値と、前記判定を開始した時点における第1ロボット40aの現在位置との第2差分も加えて使用することにより、前記移動制御指示による第1ロボット40aの移動可否の判定をすることが可能となる。よって、第1ロボット40aの移動可否をより的確かつ正確に判定することが可能となるため、同じガイド部41b上に設置されたロボット同士40a,40bの衝突をより抑制することができる。
【0095】
また、制御装置50(第1判定部)は、第1ロボット次指示値(自ロボット次指令値)と、前記判定を開始した時点における第2ロボット40bの現在位置(相手ロボット現在位置)との第3差分をさらに加味して、前記移動制御指示による第1ロボット40aの移動可否の判定をする(ステップS112)。
これによれば、第1ロボット次指示値と、前記判定を開始した時点における第2ロボット40bの現在位置との第3差分も加えて使用することにより、前記移動制御指示による第1ロボット40aの移動可否の判定をすることが可能となる。よって、第1ロボット40aの移動可否をより的確かつ正確に判定することが可能となるため、同じガイド部41b上に設置されたロボット同士40a,40bの衝突をより抑制することができる。
【0096】
また、制御装置50(第1判定部)は、前記判定を開始した時点における第1ロボット40aの現在位置(自ロボット現在位置)と、前記判定を開始した時点における前記第2ロボット40bの現在位置(相手ロボット現在位置)との第4差分をさらに加味して、前記移動制御指示による第1ロボット40aの移動可否の判定をする(ステップS114)。
これによれば、前記判定を開始した時点における前記第1ロボット40aの現在位置と、前記判定を開始した時点における前記第2ロボット40bの現在位置との第4差分も加えて使用することにより、前記移動制御指示による第1ロボット40aの移動可否の判定をすることが可能となる。よって、第1ロボット40aの移動可否をより的確かつ正確に判定することが可能となるため、同じガイド部41b上に設置されたロボット同士40a,40bの衝突をより抑制することができる。
【0097】
制御装置50は、第1ロボット40aの前記移動可否の判定が第2ロボット40bの前記移動可否の判定より優先されるか否かに応じて、前記第1判定部による前記判定を継続するか停止するかを判定する第2判定部(ステップS108)を備えた。
これによれば、第1ロボット40aの移動可否の判定と第2ロボット40bの移動可否の判定の優先有無に応じて、前記第1判定部による前記判定を継続するか停止するかを適切に判定することが可能となる。よって、第1ロボット40aの移動可否をより的確かつ正確に判定することが可能となるため、同じガイド部41b上に設置されたロボット同士40a,40bの衝突をより抑制することができる。
【符号の説明】
【0098】
10…工作機械(ワーク加工装置)、35a,35b…加工部、40a,40b…ロボット(ワーク搬送ロボット)、40a…第1ロボット、40b…第2ロボット、41b…ガイド部(走行台)、50…制御装置(第1判定部:ステップS110、ステップS106、ステップS112、ステップS114)、50…制御装置(第2判定部:ステップS108)、W…ワーク。