(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2023-09-25
(45)【発行日】2023-10-03
(54)【発明の名称】数値制御装置及び数値制御システム
(51)【国際特許分類】
G05B 19/18 20060101AFI20230926BHJP
B25J 13/00 20060101ALI20230926BHJP
【FI】
G05B19/18 W
G05B19/18 X
G05B19/18 S
B25J13/00 Z
(21)【出願番号】P 2023528663
(86)(22)【出願日】2023-02-07
(86)【国際出願番号】 JP2023004047
【審査請求日】2023-05-15
【早期審査対象出願】
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100106002
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100165157
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100160794
【氏名又は名称】星野 寛明
(72)【発明者】
【氏名】小林 剛
【審査官】増山 慎也
(56)【参考文献】
【文献】特許第6647472(JP,B1)
【文献】国際公開第2022/163744(WO,A1)
【文献】国際公開第2022/034848(WO,A1)
【文献】特開2008-188722(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/18
B25J 13/00
B25J 19/06
(57)【特許請求の範囲】
【請求項1】
数値制御プログラムを用いてロボット制御装置を介してロボットを制御する数値制御装置であって、
前記数値制御プログラム中のロボット用数値制御指令を解析する解析部と、
前記解析部により解析した前記ロボット用数値制御指令の運転を制御するプログラム運転制御部と、
前記ロボット用数値制御指令を前記ロボット制御装置へ送信し、前記ロボット制御装置から前記ロボット制御装置の動作状態を受信するデータ送受信部と、
前記データ送受信部により受信した前記動作状態に基づいて前記ロボット制御装置の前記動作状態を監視する動作監視部と、を備え、
前記動作状態は、前記ロボット制御装置により制御される前記ロボットの運転に関する状態を含
み、
前記数値制御装置が前記数値制御プログラムの運転を停止した後に、前記ロボット制御装置が運転可能になった場合、前記動作監視部は、前記動作状態として、前記ロボット制御装置が運転可能であることを取得し、
前記プログラム運転制御部は、前記動作監視部から前記ロボット制御装置が運転可能であることが通知されると、前記数値制御プログラムの運転を再開する、
数値制御装置。
【請求項2】
前記動作監視部は、前記ロボット制御装置の前記動作状態として、前記ロボット制御装置が前記ロボットに関する動作を停止したことを取得し、
前記プログラム運転制御部は、前記動作監視部から、前記ロボット制御装置が前記ロボットに関する動作を停止したことが通知されると、前記ロボットに関する前記数値制御プログラムの運転を停止する、請求項1に記載の数値制御装置。
【請求項3】
前記ロボットは、外部から力が加わった際に安全のために動作を停止する協働ロボットであり、
外部から力が加わったことによって前記協働ロボットが停止した場合、前記動作監視部は、前記動作状態として、前記ロボット制御装置が前記協働ロボットに関する動作を停止したことを取得し、
前記プログラム運転制御部は、前記動作監視部から、前記協働ロボットが動作を停止したことが通知されると、前記数値制御プログラムの運転を停止する、請求項1に記載の数値制御装置。
【請求項4】
前記数値制御装置が前記数値制御プログラムの運転を停止したことを表示する又は外部へ出力する出力部を更に備える請求項1又は2に記載の数値制御装置。
【請求項5】
前記プログラム運転制御部は、前記数値制御装置が前記数値制御プログラムの実行を停止する際に、工作機械による加工についての数値制御プログラムの実行も停止する、請求項1又は2に記載の数値制御装置。
【請求項6】
前記プログラム運転制御部は、前記数値制御装置が前記数値制御プログラムの実行を停止する際に、工作機械による加工についての数値制御プログラムの実行を継続する、請求項1又は2に記載の数値制御装置。
【請求項7】
数値制御装置の数値制御プログラムを用いてロボット制御装置を介してロボットを制御する数値制御システムであって、
前記数値制御装置は、
前記数値制御プログラム中のロボット用数値制御指令を解析する解析部と、
前記解析部により解析した前記ロボット用数値制御指令の運転を制御するプログラム運転制御部と、
前記ロボット用数値制御指令を前記ロボット制御装置へ送信し、前記ロボット制御装置から前記ロボット制御装置の動作状態を受信するデータ送受信部と、
前記データ送受信部により受信した前記動作状態に基づいて前記ロボット制御装置の前記動作状態を監視する動作監視部と、を備え、
前記ロボット制御装置は、前記ロボット制御装置の前記動作状態を前記数値制御装置へ送信するロボット側データ送受信部を備え、
前記動作状態は、前記ロボット制御装置により制御される前記ロボットの運転に関する状態を含
み、
前記数値制御装置が前記数値制御プログラムの実行を停止した後に、前記動作監視部は、前記動作状態として、前記ロボット制御装置が運転可能であることを取得し、
前記プログラム運転制御部は、前記動作監視部から前記ロボット制御装置が運転可能であることが通知されると、前記数値制御プログラムの運転を再開する、
数値制御システム。
【請求項8】
前記動作監視部は、前記動作状態として、前記ロボット制御装置が前記ロボットに関する動作を停止したことを取得し、
前記プログラム運転制御部は、前記動作監視部から、前記ロボット制御装置が前記ロボットに関する動作を停止したことが通知されると、前記ロボットに関する前記数値制御プログラムの運転を停止する、請求項
7に記載の数値制御システム。
【請求項9】
前記ロボットは、外部から力が加わった際に安全のために動作を停止する協働ロボットであり、
前記動作監視部は、外部から力が加わったことによって、前記動作状態として、前記ロボット制御装置が前記ロボットに関する動作を停止したことを取得し、
前記プログラム運転制御部は、前記動作監視部から、前記ロボット制御装置が前記ロボットに関する動作を停止したことが通知されると、前記数値制御プログラムの運転を停止する、請求項
7に記載の数値制御システム。
【請求項10】
前記数値制御装置が前記数値制御プログラムの実行を停止したことを表示する又は外部へ出力する出力部を更に備える請求項
7又は
8に記載の数値制御システム。
【請求項11】
前記プログラム運転制御部は、前記数値制御装置の前記数値制御プログラムの実行を停止する際に、工作機械による加工についての数値制御プログラムの実行も停止する、請求項
7又は
8に記載の数値制御システム。
【請求項12】
前記プログラム運転制御部は、前記数値制御装置の前記数値制御プログラムの実行を停止する際に、工作機械による加工についての数値制御プログラムの実行を継続する、請求項
7又は
8に記載の数値制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、数値制御装置及び数値制御システムに関する。
【背景技術】
【0002】
従来、人との接触を検知して動作を停止する協働ロボットに関する技術が開示されている。例えば、協働ロボットの接触力を正確に計測するため、保持するワークの負荷情報を設定する技術が開示されている。
【0003】
また、加工現場を自動化するため、工作機械からロボットを操作するシステムに関する技術が開示されている。例えば、工作機械のユーザが慣れ親しんだ数値制御指令を用いてロボットの運転を行う技術が開示されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
数値制御装置からの数値制御プログラムの指令によってロボットを動作させている間に、ロボットの動作が意図せず停止した場合、数値制御装置は、ロボットの停止を検出できず、ロボットの動作を待ち続けるため、数値制御プログラムは、実行を維持する。
【0006】
そのため、数値制御装置における数値制御プログラムの実行を手動で一度停止させるという余計な手間が発生する。また、数値制御装置が工作機械の状態監視を行なっている場合、ロボットの動作が停止しても、数値制御装置は、ロボットの動作が停止したことを検出しないため、ロボットの動作を待ち続け、ロボットの停止に気付くことが遅れる。
【0007】
そのため、数値制御装置からの数値制御プログラムの指令によってロボットを動作させている間に、ロボット制御装置の動作を監視することができる数値制御装置及び数値制御システムが望まれている。
【課題を解決するための手段】
【0008】
本開示の一態様は、数値制御プログラムを用いてロボット制御装置を介してロボットを制御する数値制御装置であって、前記数値制御プログラム中のロボット用数値制御指令を解析する解析部と、前記解析部により解析した前記ロボット用数値制御指令の運転を制御するプログラム運転制御部と、前記ロボット用数値制御指令を前記ロボット制御装置へ送信し、前記ロボット制御装置から前記ロボット制御装置の動作状態を受信するデータ送受信部と、前記データ送受信部により受信した前記動作状態に基づいて前記ロボット制御装置の前記動作状態を監視する動作監視部と、を備え、前記動作状態は、前記ロボット制御装置により制御される前記ロボットの運転に関する状態を含む。
【0009】
本開示の一態様は、数値制御装置の数値制御プログラムを用いてロボット制御装置を介してロボットを制御する数値制御システムであって、前記数値制御装置は、前記数値制御プログラム中のロボット用数値制御指令を解析する解析部と、前記解析部により解析した前記ロボット用数値制御指令の運転を制御するプログラム運転制御部と、前記ロボット用数値制御指令を前記ロボット制御装置へ送信し、前記ロボット制御装置から前記ロボット制御装置の動作状態を受信するデータ送受信部と、前記データ送受信部により受信した前記動作状態に基づいて前記ロボット制御装置の前記動作状態を監視する動作監視部と、を備え、前記ロボット制御装置は、前記ロボット制御装置の前記動作状態を前記数値制御装置へ送信するロボット側データ送受信部を備え、前記動作状態は、前記ロボット制御装置により制御される前記ロボットの運転に関する状態を含む。
【図面の簡単な説明】
【0010】
【
図1】本実施形態に係る数値制御システムの機能ブロック図である。
【
図2】本実施形態に係る数値制御装置及びロボット制御装置の機能ブロック図である。
【
図3】数値制御プログラムを実行した際における数値制御装置とロボット制御装置との間の信号及び情報の流れを示すシーケンス図である。
【
図4】協働ロボットが停止中であることの表示例を示す図である。
【
図5】協働ロボットが停止中であることの表示例を示す図である。
【発明を実施するための形態】
【0011】
以下、本開示の実施形態の一例について説明する。
図1は、本実施形態に係る数値制御システム1の機能ブロック図である。
【0012】
数値制御システム1は、図示しないワークを加工する工作機械2と、この工作機械2の動作を制御する数値制御装置(CNC)4と、工作機械2の近傍に設けられた協働ロボット3と、協働ロボット3の動作を制御するロボット制御装置5と、を備える。数値制御システム1は、互いに通信可能に接続された数値制御装置4及びロボット制御装置5を用いることによって、工作機械2及び協働ロボット3の動作を連動して制御する。
【0013】
工作機械2は、数値制御装置4から送信される工作機械制御信号に応じて図示しないワークを加工する。ここで工作機械2は、例えば、旋盤、ボール盤、フライス盤、研削盤、レーザ加工機、及び射出成形機等であるが、これらに限らない。
【0014】
協働ロボット3は、ロボット制御装置5による制御下において動作し、例えば工作機械2によって加工されるワークに対し所定の作業を行う。協働ロボット3は、例えば多関節ロボットであり、そのアーム先端部3aにはワークを把持したり、加工したり、検査したりするためのツール3bが取り付けられている。以下では、協働ロボット3は、6軸の多関節ロボットとした場合について説明するが、これに限らない。また以下では、協働ロボット3は、6軸の多関節ロボットとした場合について説明するが、軸数はこれに限らない。
【0015】
協働ロボット3は、接触停止機能、退避モード機能、反転動作機能等のような機能を有し、人と協働で安全に作業することができる。接触停止機能は、人と軽い力(例えば、10から20N(すなわち、1から2kgf))で接触したとき、即座に停止する機能である。退避モード機能は、人が協働ロボット3のアームを押すことによってアームを各軸において退避可能な機能である。反転動作機能は、協働ロボット3が硬い物体と接触した場合、アームが即座に反転することによって、挟み込みを軽減する機能である。協働ロボット3は、人との接触等のような外力を検出するために、外力検出センサ等によって構成される外力検出部31(
図2参照)を備える。外力検出センサは、例えば、トルクセンサ、力センサ等である。すなわち、協働ロボット3は、外力検出センサによって人との接触を検知し、ロボット制御装置5は、外力検出センサによって検出された外力に応じて協働ロボット3の動作を停止する。これにより、協働ロボット3は、人と協働で安全に作業することができる。
【0016】
数値制御装置4及びロボット制御装置5は、それぞれCPU(Central Processing Unit)等の演算処理手段、各種コンピュータプログラムを格納したHDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助記憶手段、演算処理手段がコンピュータプログラムを実行する上で一時的に必要とされるデータを格納するためのRAM(Random Access Memory)といった主記憶手段、オペレータが各種操作を行うキーボードといった操作手段、及びオペレータに各種情報を表示するディスプレイといった表示手段等のハードウェアによって構成されるコンピュータである。これら数値制御装置4及びロボット制御装置5は、例えばイーサネット(登録商標)によって相互に各種信号を送受信することが可能となっている。
【0017】
図2は、本実施形態に係る数値制御装置4及びロボット制御装置5の機能ブロック図である。先ず、数値制御装置4の詳細な構成について説明する。
図2に示すように数値制御装置4は、上記ハードウェア構成によって、工作機械2の動作を制御する機能、協働ロボット3の制御軸の動作経路を生成する機能等のような各種機能を実現する。
【0018】
数値制御装置4は、数値制御プログラムを用いてロボット制御装置5を介して協働ロボット3を制御する。すなわち、数値制御装置4は、ロボット用の数値制御プログラムに従って、協働ロボット3及びツール3bの動作を制御するための各種指令を生成し、ロボット制御装置5へ送信する。より具体的には、数値制御装置4は、プログラム入力部41と、解析部42と、動作制御部43と、記憶部44と、プログラム運転制御部45と、データ送受信部46と、動作監視部47と、出力部48と、を備える。
【0019】
プログラム入力部41は、複数のロボット指令ブロックによって構成されるロボット用の数値制御プログラムを記憶部44から読み出し、これを逐次解析部42へ入力する。
【0020】
解析部42は、プログラム入力部41から入力される数値制御プログラムに基づく指令種別を指令ブロックごとに解析し、その解析結果を動作制御部43及びプログラム運転制御部45へ出力する。より具体的には、解析部42は、指令ブロックの指令種別が工作機械2に対する工作機械用数値制御指令である場合、この工作機械用数値制御指令を動作制御部43へ送信する。解析部42は、指令ブロックの指令種別が協働ロボット3に対するロボット用数値制御指令である場合、このロボット用数値制御指令(以下、ロボット制御指令ともいう)をプログラム運転制御部45へ出力する。
【0021】
動作制御部43は、解析部42から送信される解析結果に応じて工作機械2の動作を制御するための工作機械制御信号を生成し、工作機械2の各種軸を駆動するアクチュエータへ入力する。工作機械2は、動作制御部43から入力される工作機械制御信号に応じて動作し、図示しないワークを加工する。
【0022】
記憶部44は、例えば、オペレータによる操作に基づいて作成された複数の数値制御プログラムを格納する。より具体的には、記憶部44は、工作機械2の動作を制御するための工作機械2に対する複数の指令ブロックや協働ロボット3の動作を制御するための協働ロボット3に対する複数の指令ブロック等によって構成される数値制御プログラムを格納する。記憶部44に格納されている数値制御プログラムは、GコードやMコード等、工作機械2の動作を制御するため既知のプログラム言語で記述されている。
【0023】
また、記憶部44は、例えば、上記数値制御プログラムの下で作動する工作機械2の各種軸の位置(すなわち、工作機械2の刃物台やテーブル等の位置)を示す機械座標値を格納する。なお、これら機械座標値は、工作機械2上又は工作機械2の近傍の任意の位置に定められた基準点を原点とする工作機械座標系の下で定義される。記憶部44には、数値制御プログラムの下で逐次変化する機械座標値の最新値が格納されるよう、図示しない処理によって逐次更新される。
【0024】
また、記憶部44は、例えば、ロボット制御装置5の制御下で作動する協働ロボット3の制御点(例えば、協働ロボット3のアーム先端部3a)の位置及び姿勢、換言すれば協働ロボット3の各制御軸の位置を示すロボット座標値が格納されている。なお、これらロボット座標値は、上述したように工作機械座標系とは異なるロボット座標系の下で定義される。記憶部44には、数値制御プログラムの下で逐次変化するロボット座標値の最新値が格納されるよう、図示しない処理によりロボット制御装置5から取得されたロボット座標値によって逐次更新される。
【0025】
また、記憶部44は、例えば、オペレータにより入力された協働ロボット3の始点及び終点といった教示位置を記憶する。具体的には、記憶部44は、ティーチペンダント等から入力された協働ロボット3の教示位置、キーボード等から入力された教示位置等を記憶する。協働ロボット3の教示位置には、協働ロボット3の各制御軸の位置を示すロボット座標値が含まれ、これらロボット座標値は、工作機械座標系とは異なるロボット座標系の下で定義される。
【0026】
プログラム運転制御部45は、解析部42により解析したロボット用数値制御指令の運転(実行)を制御する。また、プログラム運転制御部45は、解析部42から入力されるロボット指令ブロック毎の解析結果に基づいて、ロボット指令ブロック毎にロボット指令信号を生成し、生成したロボット指令信号をデータ送受信部46に書き込む。具体的には、プログラム運転制御部45は、解析部42から入力される解析結果としてのロボット用数値制御指令に基づいて、ロボット指令ブロック毎にロボット指令信号を生成し、生成したロボット指令信号をデータ送受信部46に書き込む。
【0027】
データ送受信部46は、ロボット制御装置5のデータ送受信部59との間で指令及びロボット座標値等の各種データを送受信する。具体的には、データ送受信部46は、プログラム運転制御部45によって生成されたロボット指令信号をロボット制御装置5のデータ送受信部59へ送信する。また、後述するように、データ送受信部46は、ロボット制御装置5から、ロボット制御装置5の動作状態を受信する。
【0028】
動作監視部47は、データ送受信部46により受信したロボット制御装置5の動作状態に基づいて、ロボット制御装置5の動作状態を監視する。ここで、ロボット制御装置5の動作状態は、ロボット制御装置5により制御される協働ロボット3の運転に関する状態を含む。協働ロボット3の運転に関する状態は、例えば、協働ロボット3が運転中であること、協働ロボット3が動作を停止中であること、協働ロボット3が運転可能になったこと等である。
【0029】
出力部48は、例えば、液晶ディスプレイ、有機ELディスプレイ、タッチパネルディスプレイ等のような表示装置であり、各種情報を出力する。なお、
図2に示す例では、出力部48は、数値制御装置4に内蔵されているが、数値制御装置4及びロボット制御装置5の外部にある出力装置であってもよい。
【0030】
次に、ロボット制御装置5の構成について詳細に説明する。
図2に示すように、ロボット制御装置5には、上記ハードウェア構成によって、記憶部51、解析部52、ロボット命令生成部53、プログラム管理部54、軌跡制御部55、キネマティクス制御部56、サーボ制御部57、運転状態検出部58、及びデータ送受信部59等の各種機能が実現される。ロボット制御装置5は、これらのような機能部を用いることによって、数値制御装置4から送信される指令に基づいて協働ロボット3の動作を制御する。
【0031】
記憶部51は、協働ロボット3を制御するためのロボットプログラム及び各種情報を記憶する。また、記憶部51は、協働ロボット3の負荷設定を記憶する。なお、本実施形態では、記憶部51は、ロボット制御装置5に設けられているが、記憶部51は、数値制御装置4に設けられてもよく、数値制御装置4及びロボット制御装置5の外部の電子機器や外部サーバー等に設けられてもよい。
【0032】
データ送受信部59は、数値制御装置4のデータ送受信部46から送信されるロボット指令信号を受信する。また、データ送受信部59は、受信したロボット指令信号を逐次、解析部52へ出力する。
【0033】
解析部52は、データ送受信部59から入力されるロボット指令信号を解析する。また、解析部52は、その解析結果をロボット命令生成部53へ出力する。
【0034】
ロボット命令生成部53は、解析部52から入力されるロボット指令信号の解析結果に基づいて、ロボット指令信号に応じたロボット命令を生成する。ロボット命令生成部53は、生成したロボット命令をプログラム管理部54へ出力する。
【0035】
プログラム管理部54は、ロボット命令生成部53からロボット命令が入力されると、ロボット命令を逐次実行することにより、上記ロボット指令信号に応じた協働ロボット3の動作計画を生成し、軌跡制御部55へ出力する。
【0036】
また、プログラム管理部54は、ロボット命令生成部53から入力されるロボット命令がブロックロボット命令である場合には、記憶部51に格納されているロボットプログラムに、入力されたブロックロボット命令を追加する。これにより記憶部51には、数値制御装置4から送信されるロボット指令信号に応じたロボットプログラムが生成されて記憶される。記憶されたロボットプログラムは、プログラム管理部54がロボット命令としてロボットプログラム起動指令を受けることにより、起動及び再生される。
【0037】
軌跡制御部55は、プログラム管理部54から動作計画が入力されると、協働ロボット3の制御点の時系列データを算出し、キネマティクス制御部56へ出力する。
【0038】
キネマティクス制御部56は、入力された時系列データから協働ロボット3の各関節の目標角度を算出し、サーボ制御部57へ入力する。
【0039】
サーボ制御部57は、キネマティクス制御部56から入力される目標角度が実現するように協働ロボット3の各サーボモータをフィードバック制御することによって協働ロボット3に対するロボット制御信号を生成し、協働ロボット3のサーボモータへ入力する。
【0040】
運転状態検出部58は、協働ロボット3の外力検出部31において検出される外力を測定(取得)する。運転状態検出部58は、測定した外力が一定値以上の場合、サーボ制御部57へ信号を通知し、協働ロボット3を停止させる。また、運転状態検出部58は、ロボット制御装置5が協働ロボット3に関する動作を停止した場合、ロボット制御装置5が協働ロボット3に関する動作を停止中であることを、データ送受信部59を介して数値制御装置4へ通知する。
【0041】
次に、本実施形態に係るロボット制御装置5が協働ロボット3に関する動作を停止した場合における具体的な処理について説明する。
【0042】
動作監視部47は、ロボット制御装置5の動作状態として、ロボット制御装置5が協働ロボット3に関する動作を停止したことを取得する。プログラム運転制御部45は、動作監視部47から、ロボット制御装置5が協働ロボット3に関する動作を停止したことが通知されると、協働ロボット3に関する数値制御プログラムの運転(実行)を停止する。
【0043】
例えば、外部から力が加わったことによって協働ロボット3が停止した場合、動作監視部47は、動作状態として、ロボット制御装置5が協働ロボット3に関する動作を停止したことを取得する。プログラム運転制御部45は、動作監視部47から、協働ロボット3が動作を停止したことが通知されると、協働ロボット3に関する数値制御プログラムの運転(実行)を停止する。
【0044】
そして、出力部48は、数値制御装置4が数値制御プログラムの実行を停止したことを所定の態様で表示する又は外部へ出力する。
【0045】
また、数値制御装置4が数値制御プログラムの実行を停止した後に、ロボット制御装置5が運転可能になった場合、動作監視部47は、動作状態として、ロボット制御装置5が運転可能であることを取得する。プログラム運転制御部45は、動作監視部47からロボット制御装置5が運転可能であることが通知されると、協働ロボット3に関する数値制御プログラムの運転(実行)を再開する。
【0046】
更に、プログラム運転制御部45は、数値制御装置4が数値制御プログラムの実行を停止する際に、工作機械2による加工についての数値制御プログラム(すなわち加工系統についての数値制御プログラム)の運転(実行)も停止してもよく、工作機械2による加工についての数値制御プログラムの運転(実行)を継続してもよい。
【0047】
図3は、本実施形態に係る数値制御プログラムを実行した際における数値制御装置4とロボット制御装置5との間の信号及び情報の流れを示すシーケンス図である。
【0048】
数値制御装置4のプログラム運転制御部45は、解析部42から入力される解析結果としてのロボット用数値制御指令に基づいて、ロボット指令ブロック毎にロボット指令信号を生成し、生成したロボット指令信号をデータ送受信部46を介してロボット制御装置5へ送信する。これにより、数値制御装置4は、ロボット制御装置5へ協働ロボット3の運転を要求する。
【0049】
ロボット制御装置5のロボット命令生成部53は、解析部52から入力されるロボット指令信号の解析結果に基づいて、ロボット指令信号に応じたロボット命令を生成する。ロボット命令生成部53は、生成したロボット命令をプログラム管理部54へ出力する。
【0050】
そして、生成したロボット命令及び上述したようなプログラム管理部54、軌跡制御部55、キネマティクス制御部56及びサーボ制御部57の制御によって、協働ロボット3は、指令に従い動作を実行する。
【0051】
運転状態検出部58は、ロボット制御装置5が協働ロボット3に関する動作を開始すると、ロボット制御装置5が協働ロボット3に関する動作を運転中であることを、数値制御装置4へ通知する。
【0052】
次に、運転状態検出部58は、ロボット制御装置5が協働ロボット3に関する動作を停止すると、ロボット制御装置5が協働ロボット3に関する動作を停止中であることを、数値制御装置4へ通知する。
【0053】
ここで、ロボット制御装置5が協働ロボット3に関する動作を停止する要因は、例えば、ロボット制御装置5の教示操作盤による協働ロボット3の一時停止処理、ロボット制御装置5又は協働ロボット3の非常停止、協働ロボット3の接触停止などである。なお、上述したように協働ロボット3は、外部から力が加わった際に安全のために動作を停止する、すなわち、人との接触を検知して動作を停止する機能を有する。
【0054】
動作監視部47は、ロボット制御装置5の動作状態として、ロボット制御装置5が協働ロボット3に関する動作を停止したことを取得する。プログラム運転制御部45は、動作監視部47から、ロボット制御装置5が協働ロボット3に関する動作を停止したことが通知されると、協働ロボット3に関する数値制御プログラムの運転を停止する。
【0055】
そして、出力部48は、数値制御装置4が数値制御プログラムの実行を停止したことを所定の態様で表示する又は外部装置へ出力する。
【0056】
図4及び
図5は、協働ロボット3が停止中であることの表示例を示す図である。
図4は、出力部48における表示例を示し、
図5は、外部装置6における表示例を示す。なお、外部装置6は、数値制御装置4又はロボット制御装置5と通信接続可能な装置であり、例えば、液晶ディスプレイ、有機ELディスプレイ、タッチパネルディスプレイ等のような表示装置である。
【0057】
図4に示されるように、プログラム運転制御部45は、動作監視部47から、ロボット制御装置5が協働ロボット3に関する動作を運転中であることが通知されると、出力部48に数値制御プログラムが運転中であることを示す情報を通知する。出力部48は、表示画面B1に示されるように、数値制御装置4が数値制御プログラムを運転中であることを示す表示を行う。
【0058】
また、プログラム運転制御部45は、動作監視部47から、ロボット制御装置5が協働ロボット3に関する動作を停止中であることが通知されると、出力部48に数値制御プログラムが停止中であることを示す情報を通知する。出力部48は、表示画面B1に示されるように、数値制御装置4が数値制御プログラムを停止中であることを示す表示を行う。
【0059】
また、
図5に示されるように、プログラム運転制御部45は、動作監視部47から、ロボット制御装置5が協働ロボット3に関する動作を運転中であることが通知されると、外部装置6に数値制御プログラムが運転中であることを示す情報を通知する。外部装置6は、表示画面B2に示されるように、数値制御装置4が数値制御プログラムを運転中であることを示す表示を行う。
【0060】
また、プログラム運転制御部45は、動作監視部47から、ロボット制御装置5が協働ロボット3に関する動作を停止中であることが通知されると、外部装置6に数値制御プログラムが停止中であることを示す情報を通知する。出力部48は、表示画面B1に示されるように、数値制御装置4が数値制御プログラムを停止中であることを示す表示を行う。
【0061】
図3に戻り、運転状態検出部58は、ロボット制御装置5が協働ロボット3に関する動作を再開すると、ロボット制御装置5が協働ロボット3に関する動作を再開し、運転可能な状態であることを、数値制御装置4へ通知する。ここで、ロボット制御装置5が協働ロボット3に関する動作を再開する要因は、例えば、ロボット制御装置5の教示操作盤による協働ロボット3の一時停止の解除、ロボット制御装置5又は協働ロボット3の非常停止の解除、協働ロボット3に接触した接触物の除去などである。
【0062】
そして、数値制御装置4の動作監視部47は、動作状態として、ロボット制御装置5が運転可能であることを取得する。プログラム運転制御部45は、動作監視部47からロボット制御装置5が運転可能であることが通知されると、協働ロボット3に関する数値制御プログラムの運転を再開する。
【0063】
数値制御プログラムの運転が再開すると、プログラム運転制御部45は、解析部42から入力される解析結果としてのロボット用数値制御指令に基づいて、ロボット指令ブロック毎にロボット指令信号を生成し、生成したロボット指令信号をデータ送受信部46を介してロボット制御装置5へ送信する。これにより、数値制御装置4は、ロボット制御装置5へ協働ロボット3の運転を要求する。そして、上述したように、ロボット制御装置5は、協働ロボット3に関する動作を開始し、協働ロボット3は、ロボット制御装置5からの指令に従い動作を実行する。
【0064】
以上説明したように本実施形態によれば、数値制御装置4は、数値制御プログラム中のロボット用数値制御指令を解析する解析部42と、解析部42により解析したロボット用数値制御指令の運転を制御するプログラム運転制御部45と、ロボット用数値制御指令をロボット制御装置5へ送信し、ロボット制御装置5からロボット制御装置5の動作状態を受信するデータ送受信部46と、データ送受信部46により受信したロボット制御装置5の動作状態に基づいてロボット制御装置5の動作状態を監視する動作監視部47と、を備え、ロボット制御装置5の動作状態は、ロボット制御装置5により制御される協働ロボット3の運転に関する状態を含む。
【0065】
このような構成を備えることによって、数値制御装置4は、ロボット制御装置5の動作状態を取得及び監視することによって、数値制御装置4からの数値制御プログラムの指令によって協働ロボット3を動作させている間に、ロボット制御装置5の動作を監視することができる。
【0066】
また、動作監視部47は、ロボット制御装置5の動作状態として、ロボット制御装置5が協働ロボット3に関する動作を停止したことを取得する。プログラム運転制御部45は、動作監視部47から、ロボット制御装置5が協働ロボット3に関する動作を停止したことが通知されると、協働ロボット3に関する数値制御プログラムの運転を停止する。
【0067】
このような構成を備えることによって、数値制御装置4は、数値制御装置4からの数値制御プログラムの指令によってロボット制御装置5を動作させている間に、ロボット制御装置5における協働ロボット3に関する動作が停止したことが数値制御装置4に通知され、数値制御装置4における数値制御プログラムの運転を自動的に停止する。したがって、数値制御装置4は、協働ロボット3に関する動作を早期に再開することができる。また、数値制御装置4は、ロボット制御装置5の動作の停止に伴って数値制御プログラムも停止するため、数値制御装置4のユーザは、ロボット制御装置5における協働ロボット3に関する動作の停止を早期に気付くことができる。
【0068】
また、動作監視部47は、協働ロボット3に外部から力が加わったことによって、動作状態として、ロボット制御装置5が協働ロボット3に関する動作を停止したことを取得する。プログラム運転制御部45は、動作監視部47から、協働ロボット3が動作を停止したことが通知されると、数値制御プログラムの運転を停止する。
【0069】
このような構成を備えることによって、数値制御装置4は、協働ロボット3に外部から力が加わったことによって、協働ロボット3が停止した場合、数値制御プログラムの運転を自動的に停止する。したがって、数値制御装置4は、協働ロボット3が停止した場合、協働ロボット3に関する動作を早期に再開することができる。
【0070】
また、数値制御装置4は、数値制御装置4が数値制御プログラムの実行を停止したことを表示する又は外部へ出力する出力部48を更に備える。このような構成を備えることによって、数値制御装置4は、数値制御装置4のユーザに数値制御プログラムの実行を停止したことを報知することができる。
【0071】
また、数値制御装置4が数値制御プログラムの実行を停止した後に、ロボット制御装置5が運転可能になった場合、動作監視部47は、動作状態として、ロボット制御装置5が運転可能であることを取得する。プログラム運転制御部45は、動作監視部47からロボット制御装置5が運転可能であることが通知されると、数値制御プログラムの運転を再開する。このような構成を備えることによって、数値制御装置4は、ロボット制御装置5が運転可能になった場合、協働ロボット3に関する動作を早期に再開することができる。
【0072】
また、プログラム運転制御部45は、数値制御装置4が、協働ロボット3に関する数値制御プログラムの実行を停止する際に、工作機械2による加工(加工系統)についての数値制御プログラムの実行も停止してもよい。また、プログラム運転制御部45は、数値制御装置4が、協働ロボット3に関する数値制御プログラムの実行を停止する際に、工作機械2による加工についての数値制御プログラムの実行を継続してもよい。
【0073】
このような構成を備えることによって、数値制御装置4は、必要に応じて、加工系統についての数値制御プログラムも停止することによって、協働ロボット3と工作機械2の加工系統との干渉を避けることができる。一方、数値制御装置4は、加工系統についての数値制御プログラムの実行を継続することによって、数値制御装置4の稼働効率を向上させることができる。
【0074】
以上、本発明の実施形態について説明したが、上記の数値制御システム1は、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。また、上記の数値制御システム1により行なわれる制御方法も、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【0075】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて記憶され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。
【0076】
本開示について詳述したが、本開示は上述した個々の実施形態に限定されるものではない。これらの実施形態は、本開示の要旨を逸脱しない範囲で、または、特許請求の範囲に記載された内容とその均等物から導き出される本開示の趣旨を逸脱しない範囲で、種々の追加、置き換え、変更、部分的削除等が可能である。また、これらの実施形態は、組み合わせて実施することもできる。例えば、上述した実施形態において、各動作の順序や各処理の順序は、一例として示したものであり、これらに限定されるものではない。また、上述した実施形態の説明に数値又は数式が用いられている場合も同様である。
【0077】
上記実施形態及び変形例に関し、更に以下の付記を開示する。
(付記1)
数値制御プログラムを用いてロボット制御装置(5)を介してロボット(3)を制御する数値制御装置(4)であって、
前記数値制御プログラム中のロボット用数値制御指令を解析する解析部(44)と、
前記解析部により解析した前記ロボット用数値制御指令の運転を制御するプログラム運転制御部(45)と、
前記ロボット用数値制御指令を前記ロボット制御装置へ送信し、前記ロボット制御装置から前記ロボットの動作状態を受信するデータ送受信部(46)と、
前記データ送受信部により受信した前記動作状態に基づいて前記ロボット制御装置の前記動作状態を監視する動作監視部(47)と、を備え、
前記動作状態は、前記ロボット制御装置により制御される前記ロボットの運転に関する状態を含む、
数値制御装置。
(付記2)
前記動作監視部は、前記ロボット制御装置の前記動作状態として、前記ロボット制御装置が前記ロボットに関する動作を停止したことを取得し、
前記プログラム運転制御部は、前記動作監視部から、前記ロボット制御装置が前記ロボットに関する動作を停止したことが通知されると、前記ロボットに関する前記数値制御プログラムの運転を停止する、付記1に記載の数値制御装置。
(付記3)
前記ロボットは、外部から力が加わった際に安全のために動作を停止する協働ロボットであり、
外部から力が加わったことによって前記協働ロボットが停止した場合、前記動作監視部は、前記動作状態として、前記ロボット制御装置が前記協働ロボットに関する動作を停止したことを取得し、
前記プログラム運転制御部は、前記動作監視部から、前記協働ロボットが動作を停止したことが通知されると、前記数値制御プログラムの運転を停止する、付記1に記載の数値制御装置。
(付記4)
前記数値制御装置が前記数値制御プログラムの運転を停止したことを表示する又は外部へ出力する出力部(48)を更に備える付記1又は2に記載の数値制御装置。
(付記5)
前記数値制御装置が前記数値制御プログラムの運転を停止した後に、前記ロボット制御装置が運転可能になった場合、前記動作監視部は、前記動作状態として、前記ロボット制御装置が運転可能であることを取得し、
前記プログラム運転制御部は、前記動作監視部から前記ロボット制御装置が運転可能であることが通知されると、前記数値制御プログラムの運転を再開する、付記1又は2に記載の数値制御装置。
(付記6)
前記プログラム運転制御部は、前記数値制御装置が前記数値制御プログラムの実行を停止する際に、工作機械による加工についての数値制御プログラムの実行も停止する、付記1又は2に記載の数値制御装置。
(付記7)
前記プログラム運転制御部は、前記数値制御装置が前記数値制御プログラムの実行を停止する際に、工作機械による加工についての数値制御プログラムの実行を継続する、付記1又は2に記載の数値制御装置。
(付記8)
数値制御装置(4)の数値制御プログラムを用いてロボット制御装置(5)を介してロボット(3)を制御する数値制御システム(1)であって、
前記数値制御装置は、
前記数値制御プログラム中のロボット用数値制御指令を解析する解析部(42)と、
前記解析部により解析した前記ロボット用数値制御指令の運転を制御するプログラム運転制御部(45)と、
前記ロボット用数値制御指令を前記ロボット制御装置へ送信し、前記ロボット制御装置から前記ロボット制御装置の動作状態を受信するデータ送受信部(46)と、
前記データ送受信部により受信した前記動作状態に基づいて前記ロボット制御装置の前記動作状態を監視する動作監視部(47)と、を備え、
前記ロボット制御装置は、前記ロボット制御装置の前記動作状態を前記数値制御装置へ送信するロボット側データ送受信部(59)を備え、
前記動作状態は、前記ロボット制御装置により制御される前記ロボットの運転に関する状態を含む、
数値制御システム。
(付記9)
前記動作監視部は、前記動作状態として、前記ロボット制御装置が前記ロボットに関する動作を停止したことを取得し、
前記プログラム運転制御部は、前記動作監視部から、前記ロボット制御装置が前記ロボットに関する動作を停止したことが通知されると、前記ロボットに関する前記数値制御プログラムの運転を停止する、付記8に記載の数値制御システム。
(付記10)
前記ロボットは、外部から力が加わった際に安全のために動作を停止する協働ロボットであり、
前記動作監視部は、外部から力が加わったことによって、前記動作状態として、前記ロボット制御装置が前記ロボットに関する動作を停止したことを取得し、
前記プログラム運転制御部は、前記動作監視部から、前記ロボット制御装置が前記ロボットに関する動作を停止したことが通知されると、前記数値制御プログラムの運転を停止する、付記8に記載の数値制御システム。
(付記11)
前記数値制御装置が前記数値制御プログラムの実行を停止したことを表示する又は外部へ出力する出力部(48)を更に備える付記8又は9に記載の数値制御システム。
(付記12)
前記数値制御装置が前記数値制御プログラムの実行を停止した後に、前記動作監視部は、前記動作状態として、前記ロボット制御装置が運転可能であることを取得し、
前記プログラム運転制御部は、前記動作監視部から前記ロボット制御装置が運転可能であることが通知されると、前記数値制御プログラムの運転を再開する、付記8又は9に記載の数値制御システム。
(付記13)
前記プログラム運転制御部は、前記数値制御装置の前記数値制御プログラムの実行を停止する際に、工作機械による加工についての数値制御プログラムの実行も停止する、付記8又は9に記載の数値制御システム。
(付記14)
前記プログラム運転制御部は、前記数値制御装置の前記数値制御プログラムの実行を停止する際に、工作機械による加工についての数値制御プログラムの実行を継続する、付記8又は9に記載の数値制御システム。
【符号の説明】
【0078】
1 数値制御システム
2 工作機械
3 協働ロボット
4 数値制御装置
5 ロボット制御装置
31 外力検出部
41 プログラム入力部
42 解析部
43 動作制御部
44 記憶部
45 プログラム運転制御部
46 データ送受信部
47 動作監視部
48 出力部
51 記憶部
52 解析部
53 ロボット命令生成部
54 プログラム管理部
55 軌跡制御部
56 キネマティクス制御部
57 サーボ制御部
58 運転状態検出部
59 データ送受信部
【要約】
数値制御装置からの数値制御プログラムの指令によってロボットを動作させている間に、ロボット制御装置の動作を監視することができる数値制御装置及び数値制御システムを提供する。数値制御プログラムを用いてロボット制御装置を介してロボットを制御する数値制御装置は、前記数値制御プログラム中のロボット用数値制御指令を解析する解析部と、前記解析部により解析した前記ロボット用数値制御指令の運転を制御するプログラム運転制御部と、前記ロボット用数値制御指令を前記ロボット制御装置へ送信し、前記ロボット制御装置から前記ロボットの動作状態を受信するデータ送受信部と、前記データ送受信部により受信した前記動作状態に基づいて前記ロボット制御装置の前記動作状態を監視する動作監視部と、を備え、前記動作状態は、前記ロボット制御装置により制御される前記ロボットの運転に関する状態を含む。