(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-06
(45)【発行日】2025-01-15
(54)【発明の名称】数値制御装置、及び数値制御システム
(51)【国際特許分類】
G05B 19/18 20060101AFI20250107BHJP
G05B 19/4155 20060101ALI20250107BHJP
B25J 13/00 20060101ALI20250107BHJP
B25J 9/10 20060101ALI20250107BHJP
【FI】
G05B19/18 C
G05B19/4155 M
B25J13/00 Z
B25J9/10 A
(21)【出願番号】P 2022561910
(86)(22)【出願日】2021-11-08
(86)【国際出願番号】 JP2021041008
(87)【国際公開番号】W WO2022102578
(87)【国際公開日】2022-05-19
【審査請求日】2023-06-15
(31)【優先権主張番号】P 2020189849
(32)【優先日】2020-11-13
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100106002
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100165157
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100160794
【氏名又は名称】星野 寛明
(72)【発明者】
【氏名】今西 一剛
【審査官】神山 貴行
(56)【参考文献】
【文献】特開2020-170356(JP,A)
【文献】特開2014-054715(JP,A)
【文献】特開2019-086823(JP,A)
【文献】特開2006-137001(JP,A)
【文献】国際公開第2020/144772(WO,A1)
【文献】特開平08-174378(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/18-19/416
G05B 19/42-19/46
B25J 1/00-21/02
(57)【特許請求の範囲】
【請求項1】
数値制御プログラムに基づいて、工作機械の動作を制御するとともに、ロボットの動作を制御するロボット制御装置に対し前記ロボットの
アーム先端部である制御点を移動させるための移動指令を生成する数値制御装置において、
前記数値制御プログラムに基づいて前記制御点の動作軌跡の目標である目標動作軌跡を算出し、当該目標動作軌跡を含
みかつ前記制御点を移動させるための第1移動指令を生成する第1移動指令生成部と、
前記数値制御プログラムに基づいて前記目標動作軌跡を含ま
ずかつ前記制御点を移動させるための第2移動指令を生成する第2移動指令生成部と、
前記第1移動指令生成部及び前記第2移動指令生成部の何れかを移動指令生成主体として選択する選択部と、
前記移動指令生成主体によって生成された移動指令を前記ロボット制御装置へ送信する送信部と、を備える、数値制御装置。
【請求項2】
前記第1移動指令は、前記目標動作軌跡を時分割して得られる指定時刻毎の指定位置の座標値を含み、
前記送信部は、前記第1移動指令生成部が前記移動指令生成主体として選択された場合、前記指定時刻毎に前記第1移動指令を前記ロボット制御装置へ送信する、請求項1に記載の数値制御装置。
【請求項3】
前記ロボットが使用するツールの形状に関するツール情報及び前記工作機械によって加工されるワークの設置位置に関するワーク情報の少なくとも何れかを記憶する記憶装置をさらに備え、
前記第1移動指令生成部は、前記ツール情報及び前記ワーク情報の少なくとも何れかに基づいて前記第1移動指令を生成する、請求項1又は2に記載の数値制御装置。
【請求項4】
前記選択部は、前記第1移動指令生成部及び前記第2移動指令生成部のうち前記数値制御プログラムに基づいて指定される方を前記移動指令生成主体として選択する、請求項1から3の何れかに記載の数値制御装置。
【請求項5】
前記選択部は、前記ロボットが加工動作中である場合には前記第1移動指令生成部を前記移動指令生成主体として選択し、前記ロボットが搬送動作中である場合には前記第2移動指令生成部を前記移動指令生成主体として選択する、請求項1から3の何れかに記載の数値制御装置。
【請求項6】
前記第1移動指令生成部は、前記数値制御プログラムを構成する複数の指令ブロックのうち、現在から所定時間後に実行される指令ブロックを先読みすることによって前記第1移動指令を生成する、請求項1から5の何れかに記載の数値制御装置。
【請求項7】
数値制御プログラムに基づいて、工作機械の動作を制御するとともに、ロボットの
アーム先端部である制御点を移動させるための移動指令を生成する数値制御装置と、
前記数値制御装置と通信可能であり前記数値制御装置から送信される移動指令に基づいて前記ロボットの動作を制御するロボット制御装置と、を備える数値制御システムにおいて、
前記数値制御装置は、
前記数値制御プログラムに基づいて前記制御点の動作軌跡の目標である目標動作軌跡を算出し、当該目標動作軌跡を含
みかつ前記制御点を移動させるための第1移動指令を生成する第1移動指令生成部と、
前記数値制御プログラムに基づいて前記目標動作軌跡を含ま
ずかつ前記制御点を移動させるための第2移動指令を生成する第2移動指令生成部と、
前記第1移動指令生成部及び前記第2移動指令生成部の何れかを移動指令生成主体として選択する選択部と、
前記移動指令生成主体によって生成された移動指令を前記ロボット制御装置へ送信する送信部と、を備え、
前記ロボット制御装置は、前記第2移動指令を受信した場合、当該第2移動指令に基づいて前記ロボットの動作を制御し、前記第1移動指令を受信した場合、前記制御点が前記目標動作軌跡に沿って移動するように前記ロボットの動作を制御する、数値制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、数値制御装置、及び数値制御システムに関する。
【背景技術】
【0002】
近年、加工現場の自動化を促進するため、ワークを加工する工作機械の動作とこの工作機械の近傍に設けられたロボットの動作とを連動して制御する数値制御システムが望まれている(例えば、特許文献1参照)。
【0003】
一般的に、工作機械を制御するための数値制御プログラムとロボットを制御するためのロボットプログラムとは、プログラム言語が異なる。このため工作機械の動作とロボットの動作とを連動させるためには、オペレータは数値制御プログラムとロボットプログラムとの両方に習熟する必要がある。
【0004】
特許文献1には、数値制御プログラムによって工作機械とロボットとの両方を制御する数値制御装置が示されている。より具体的には、特許文献1に示された数値制御システムでは、数値制御装置において数値制御プログラムに従ってロボット指令信号を生成し、ロボット制御装置において上記ロボット指令信号に基づいてロボットプログラムを生成し、このロボットプログラムに従ってロボットの動作を制御するためのロボット制御信号を生成する。特許文献1に示された数値制御システムによれば、数値制御プログラムに慣れ親しんだユーザであれば、ロボットプログラムを習熟することなくロボットも制御できる。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで従来の数値制御システムでは、数値制御装置側でロボットの先端部の終点位置を指定すると、ロボット制御装置側ではロボットの先端部が数値制御装置側から指定される終点位置へ移動するようにロボットプログラムに従ってキネマティック変換を行うことにより、ロボットの各関節を駆動する。この際、従来の数値制御システムでは、数値制御装置側からロボットの先端部の動作軌跡まで指定することはできない。
【0007】
工作機械によって加工するワークの交換作業をロボットに担わせる程度であれば、上述のように数値制御装置側から動作軌跡を指定できなくても大きな問題はない。しかしながらロボットに対し、ばり取りや切削加工等のワークに対する加工を担わせる場合、ロボットの先端部の終点位置だけでなく動作経路も指定する必要がある。このため従来の数値制御システムでは、ワークを十分な精度で加工できない場合がある。
【0008】
本開示は、上記課題に鑑みてなされたものであり、工作機械とロボットとを用いることにより高い精度でワークを加工できる数値制御装置、及び数値制御システムを提供する。
【課題を解決するための手段】
【0009】
本開示の一態様は、数値制御プログラムに基づいて、工作機械の動作を制御するとともに、ロボットの動作を制御するロボット制御装置に対し前記ロボットの制御点を移動させるための移動指令を生成するものにおいて、前記数値制御プログラムに基づいて前記制御点の動作軌跡の目標である目標動作軌跡を算出し、当該目標動作軌跡を含む第1移動指令を生成する第1移動指令生成部と、前記数値制御プログラムに基づいて前記目標動作軌跡を含まない第2移動指令を生成する第2移動指令生成部と、前記第1移動指令生成部及び前記第2移動指令生成部の何れかを移動指令生成主体として選択する選択部と、前記移動指令生成主体によって生成された移動指令を前記ロボット制御装置へ送信する送信部と、を備える、数値制御装置を提供する。
【0010】
本開示の一態様は、数値制御プログラムに基づいて、工作機械の動作を制御するとともに、ロボットの制御点を移動させるための移動指令を生成する数値制御装置と、前記数値制御装置と通信可能であり前記数値制御装置から送信される移動指令に基づいて前記ロボットの動作を制御するロボット制御装置と、を備え、前記数値制御装置は、前記数値制御プログラムに基づいて前記制御点の動作軌跡の目標である目標動作軌跡を算出し、当該目標動作軌跡を含む第1移動指令を生成する第1移動指令生成部と、前記数値制御プログラムに基づいて前記目標動作軌跡を含まない第2移動指令を生成する第2移動指令生成部と、前記第1移動指令生成部及び前記第2移動指令生成部の何れかを移動指令生成主体として選択する選択部と、前記移動指令生成主体によって生成された移動指令を前記ロボット制御装置へ送信する送信部と、を備え、前記ロボット制御装置は、前記第2移動指令を受信した場合、当該第2移動指令に基づいて前記ロボットの動作を制御し、前記第1移動指令を受信した場合、前記制御点が前記目標動作軌跡に沿って移動するように前記ロボットの動作を制御する、数値制御システムを提供する。
【発明の効果】
【0011】
本開示の一態様によれば、例えばロボットにワークの加工作業を担わせる場合、数値制御装置からロボット制御装置へ、目標動作軌跡を含む第1移動指令を送信することにより、数値制御装置側で算出した目標動作軌跡に沿ってロボットの制御点を移動させることができるので、ロボットによって高い精度でワークを加工することができる。また例えば、ワークの加工を伴わない作業、具体的にはワークの搬送作業をロボットに担わせる場合、数値制御装置からロボット制御装置へ、目標動作軌跡を含まない第2移動指令を送信することにより、ロボット制御装置側ではロボットの動力学特性を考慮し、最短時間又は最短経路でロボットの制御点を移動させることができるので、工作機械及びロボットによるワークの加工及び搬送のサイクルタイムを短縮することもできる。
【図面の簡単な説明】
【0012】
【
図1】本開示の一実施形態に係る数値制御システムの概略図である。
【
図2】数値制御装置及びロボット制御装置の機能ブロック図である。
【
図3】ロボット用の数値制御プログラムの一例を示す図である。
【
図4A】
図3に示すプログラムに基づいて数値制御装置を作動させた場合における数値制御装置とロボット制御装置との間の信号及び情報の流れや、ロボット制御装置において実行される処理を示すシーケンス図である(その1)。
【
図4B】
図3に示すプログラムに基づいて数値制御装置を作動させた場合における数値制御装置とロボット制御装置との間の信号及び情報の流れや、ロボット制御装置において実行される処理を示すシーケンス図である(その2)。
【発明を実施するための形態】
【0013】
以下、図面を参照して、本開示の一実施形態に係る数値制御システム1について説明する。
【0014】
図1は、本実施形態に係る数値制御システム1の概略図である。
【0015】
数値制御システム1は、工作機械2と、この工作機械2の動作を制御する数値制御装置(CNC)5と、工作機械2の近傍に設けられたロボット3と、数値制御装置5と通信可能に接続されたロボット制御装置6と、を備える。数値制御装置5は、所定の数値制御プログラムに基づいて、工作機械2の動作を制御するとともに、ロボット3の動作を制御するためのロボット制御装置6に対する指令を生成し、ロボット制御装置6へ送信する。ロボット制御装置6は、数値制御装置5から送信される指令に応じてロボット3の動作を制御する。
【0016】
工作機械2は、数値制御装置5から送信される工作機械制御信号に応じて図示しないワークを加工する。ここで工作機械2は、例えば、旋盤、ボール盤、フライス盤、研削盤、レーザ加工機、及び射出成形機等であるが、これに限らない。
【0017】
ロボット3は、ロボット制御装置6による制御下において動作し、例えば工作機械2による加工を経たワークに対し所定の作業を行う。ロボット3は、例えば多関節ロボットであり、そのアーム先端部31にはワークを把持したり、加工したりするための多機能ツール32が取り付けられている。以下では、ロボット3は、6軸の多関節ロボットとした場合について説明するが、これに限らない。また以下では、ロボット3は、6軸の多関節ロボットとした場合について説明するが、軸数はこれに限らない。
【0018】
多機能ツール32は、例えば、工作機械2によって加工されたワークに残留する微小な突起(所謂、ばり)を除去するばり取りツール、ワークを切削する切削ツール、及びワークを把持する把持ツール等の複数のツールを備え、これら複数のツールの何れかを使用ツールとして選択することができる。すなわち、多機能ツール32の使用ツールとして、ばり取りツールを選択することにより、工作機械2による加工を経たワークに対するばり取り加工をロボット3によって行うことができる。多機能ツール32の使用ツールとして、切削ツールを選択することにより、工作機械2のワークに対し切削加工をロボット3によって行うことができる。また多機能ツール32の使用ツールとして、把持ツールを選択することにより、工作機械2のワークの交換作業をロボット3によって行うことができる。
【0019】
数値制御装置5及びロボット制御装置6は、それぞれCPU(Central Processing Unit)等の演算処理手段、各種プログラムを格納したHDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助記憶手段、演算処理手段がプログラムを実行する上で一時的に必要とされるデータを格納するためのRAM(Random Access Memory)といった主記憶手段、オペレータが各種操作を行うキーボードといった操作手段、及びオペレータに各種情報を表示するディスプレイといった表示手段等のハードウェアによって構成されるコンピュータである。これらロボット制御装置6及び数値制御装置5は、例えばイーサネット(登録商標)によって相互に各種信号を送受信することが可能となっている。
【0020】
図2は、数値制御装置5及びロボット制御装置6の機能ブロック図である。
【0021】
数値制御装置5は、以下で説明する手順に従って、ロボット3の動作や多機能ツール32における使用ツールの切替動作を制御するための各種指令を生成し、生成したロボット指令をロボット制御装置6へ送信する。ロボット制御装置6は、数値制御装置5から送信されるロボット指令に基づいて、以下で説明する手順に従ってロボット3の動作を制御するためのロボット制御信号を生成したり、多機能ツール32の使用ツールを切り替えるためのI/O信号を生成したりし、生成したロボット制御信号やI/O信号をロボット3に入力する。これによりロボット制御装置6は、ロボット3の動作や使用ツールの切替動作を制御する。
【0022】
先ず、数値制御装置5の詳細な構成について説明する。
図2に示すように数値制御装置5には、上記ハードウェア構成によって、工作機械2の制御系統としての工作機械制御モジュール50、ロボット3の制御系統としてのロボット制御モジュール51、及び記憶部52等の各種機能が実現される。
【0023】
記憶部52には、例えばオペレータによる操作に基づいて作成された複数の数値制御プログラムが格納されている。より具体的には、記憶部52には、主として工作機械2の動作を制御するための第1数値制御プログラムとしての工作機械用の数値制御プログラムや、ロボット制御装置6を介してロボット3の動作を制御するための第2数値制御プログラムとしてのロボット用の数値制御プログラム等が格納されている。これら工作機械用の数値制御プログラム及びロボット用の数値制御プログラムは、共通のプログラミング言語(例えば、GコードやMコード等)で記述されている。
【0024】
工作機械用の数値制御プログラムは、工作機械2上又は工作機械2の近傍に定められた基準点を原点とする第1座標系としての工作機械座標系に基づいて記述されている。すなわち工作機械用の数値制御プログラムにおいて、工作機械2の制御点の位置及び姿勢は、工作機械座標系における座標値によって記述される。
【0025】
ロボット用の数値制御プログラムは、工作機械座標系とは異なる第2座標系としてのロボット座標系に基づいて記述されている。すなわちロボット用の数値制御プログラムにおいて、ロボット3の制御点(例えば、ロボット3のアーム先端部31)の位置及び姿勢は、工作機械座標系とは異なるロボット座標系における座標値によって記述される。このロボット座標系は、ロボット3上又はロボット3の近傍に定められた基準点を原点とする座標系である。なお以下では、ロボット座標系は工作機械座標系と異なる場合について説明するが、本開示はこれに限らない。ロボット座標系は工作機械座標系と一致させてもよい。換言すれば、ロボット座標系の原点や座標軸方向を工作機械座標系の原点や座標軸方向と一致させてもよい。
【0026】
またこのロボット用の数値制御プログラムにおいてロボット座標系は、制御軸が異なる2以上の座標形式の間で切替可能となっている。より具体的には、ロボット用の数値制御プログラムにおいてロボット3の制御点の位置及び姿勢は、直交座標形式又は各軸座標形式によって指定可能である。
【0027】
各軸座標形式では、ロボット3の制御点の位置及び姿勢は、ロボット3の6つの関節の回転角度値(J1,J2,J3,J4,J5,J6)を成分とした計6つの実数の座標値によって指定される。
【0028】
直交座標形式では、ロボット3の制御点の位置及び姿勢は、3つの直交座標軸に沿った3つの座標値(X,Y,Z)と、各直交座標軸周りの3つの回転角度値(A,B,C)と、を成分とした計6つの実数の座標値によって指定される。
【0029】
ここで各軸座標形式の下では、ロボット3の各関節の回転角度を直接的に指定するため、ロボット3の各アームや手首の軸配置や、360度以上回転可能な関節の回転数(以下、これらを総称して「ロボット3の形態」という)も一意的に定まる。これに対し直交座標形式の下では、6つの座標値(X,Y,Z,A,B,C)によってロボット3の制御点の位置及び姿勢を指定するため、ロボット3の形態は一意的に定めることができない。そこでロボット用の数値制御プログラムでは、ロボット3の形態を、所定の桁数の整数値である形態値Pによって指定することが可能となっている。従ってロボット3の制御点の位置及び姿勢並びにロボット3の形態は、各軸座標形式の下では6つの座標値(J1,J2,J3,J4,J5,J6)によって表され、直交座標形式の下では6つの座標値及び1つの形態値(X,Y,Z,A,B,C,P)によって表される。
【0030】
ロボット用の数値制御プログラムでは、Gコード“G68.8”及び“G68.9”によって座標形式を設定することが可能となっている。より具体的には、Gコード“G68.8”を入力することにより、座標形式は各軸座標形式に設定され、Gコード“G68.9”を入力することにより、座標形式は直交座標形式に設定される。これら座標形式を設定するためのGコード“G68.8”及び“G68.9”は、モーダルである。従って座標形式は、これらGコードによって座標形式を各軸座標形式又は直交座標形式に設定した後は、再びこれらGコードによって座標形式が変更されるまで維持される。なお本実施形態では、ロボット用の数値制御プログラムにこれら座標形式を設定するためのGコードが記載されていない場合、座標形式は自動的に直交座標形式に設定されるものとするが、これに限らない。
【0031】
工作機械制御モジュール50は、工作機械用の数値制御プログラムに従って、主として工作機械2の動作を制御するための工作機械制御信号を生成し、工作機械2の図示しないアクチュエータへ入力する。より具体的には、工作機械制御モジュール50は、記憶部52に格納された工作機械用の数値制御プログラムを読み出し、当該数値制御プログラムに基づく指令種別を解析することによって工作機械制御信号を生成する。工作機械2は、工作機械制御モジュール50から送信される工作機械制御信号に応じて動作し、図示しないワークを加工する。
【0032】
ロボット制御モジュール51は、ロボット用の数値制御プログラムに従って、ロボット3の動作及び多機能ツール32による使用ツールの切替動作を制御するための各種指令を生成し、ロボット制御装置6へ送信する。より具体的には、ロボット制御モジュール51は、プログラム入力部53と、入力解析部54と、移動指令生成主体選択部55と、第1移動指令生成部56と、第2移動指令生成部57と、ツール・ワーク情報管理部58と、データ送受信部59と、を備える。
【0033】
プログラム入力部53は、記憶部52からロボット用の数値制御プログラムを読み出し、これを逐次入力解析部54へ入力する。
【0034】
入力解析部54は、プログラム入力部53から入力されるロボット用の数値制御プログラムに基づく指令種別を指令ブロック毎に解析し、解析結果を移動指令生成主体選択部55、及びツール・ワーク情報管理部58へ送信する。なお入力解析部54では、ロボット用の数値制御プログラムの解析結果を、所定時間分だけ先出しすることが好ましい。換言すれば、入力解析部54では、ロボット用の数値制御プログラムを構成する複数の指令ブロックのうち、現在から所定時間後に実行される指令ブロックの解析結果を移動指令生成主体選択部55及びツール・ワーク情報管理部58へ送信することが好ましい。
【0035】
入力解析部54は、ロボット用の数値制御プログラムに基づいて取得した指令の種別が、例えばロボット3の制御点の移動を指令するものである場合、取得した指令を移動指令生成主体選択部55へ送信する。
【0036】
また入力解析部54は、ロボット用の数値制御プログラムに基づいて取得した指令の種別が、例えばロボット3に装着された多機能ツール32の使用ツールの切替を指令するものである場合、取得した指令をツール・ワーク情報管理部58へ送信する。
【0037】
移動指令生成主体選択部55は、入力解析部54から指令が入力されると、第1移動指令生成部56及び第2移動指令生成部57のうち何れかを、ロボット3の制御点を移動させるための移動指令を生成する移動指令生成主体として選択する。移動指令生成主体選択部55は、第1移動指令生成部56を移動指令生成主体として選択した場合、入力解析部54から入力された指令を第1移動指令生成部56へ送信し、第2移動指令生成部57を移動指令生成主体として選択した場合、入力解析部54から入力された指令を第2移動指令生成部57へ送信する。
【0038】
ここで
図2に示すように数値制御装置5では、ロボット3の制御点を移動させるための移動指令を第1移動指令生成部56及び第2移動指令生成部57によって生成することが可能となっている。後に説明するように、第1移動指令生成部56によって生成される第2移動指令の下では、ロボット3の制御点の始点から終点までの間の動作軌跡は、第1移動指令生成部56において実行される補間処理によって決定される。これに対し第2移動指令生成部57によって生成される第2移動指令の下では、ロボット3の制御点の動作軌跡は、ロボット制御装置6の後述の軌跡制御部64において実行される補間処理によって決定される。すなわち第1移動指令生成部56を移動指令生成主体として選択した場合、動作軌跡を決定するための補間処理は数値制御装置5側で実行され、第2移動指令生成部57を移動指令生成主体として選択した場合、動作軌跡を決定するための補間処理はロボット制御装置6側で実行される。
【0039】
一般的に工作機械には高い加工精度が求められるのに対し、ロボットには高い汎用性が求められるため、制御精度はロボット制御装置よりも数値制御装置の方が高い。このためロボット3によってワークの加工(例えば、ばり取り加工や切削加工等)を行う場合、高い精度でワークを加工するためには、ロボット3の制御点の動作軌跡は、数値制御装置5側で実行する補間処理により、使用するツールの形状やワークの設置位置等に応じて精度良く決定した方が好ましい。すなわちロボット3によってワークの加工を行う場合、第1移動指令生成部56を移動指令生成主体として選択することが好ましいと言える。
【0040】
これに対しロボット3によってワークの交換作業を行う場合、ロボット3の制御点を終点位置に精度良く停止させればよいため、ロボット3の制御点の動作軌跡は、ロボット制御装置6側で実行する補間処理により、ロボット3の動力学特性を考慮して最短時間又は最短経路で決定した方が好ましい。すなわちロボット3によってワークの加工を行わない場合、第2移動指令生成部57を移動指令生成主体として選択することが好ましいと言える。
【0041】
ロボット用の数値制御プログラムでは、Gコード“G100.0”及び“G100.1”によって、移動指令生成主体、すなわち補間処理の実行主体を選択すること可能となっている。より具体的には、Gコード“G100.0”を入力することにより、第2移動指令生成部57が移動指令生成主体として選択される。すなわち、ロボット制御装置6側で実行する補間処理によって制御点の動作軌跡が決定される。またGコード“G100.1”を入力することにより、第1移動指令生成部56が移動指令生成部として選択される。すなわち、数値制御装置5側で実行する補間処理によって制御点の動作軌跡が決定される。これら移動指令生成主体を選択するためのGコード“G100.0”及び“G100.1”は、モーダルである。従って移動指令生成主体は、これらGコードによって設定した後は、再びこれらGコードによって変更されるまで維持される。
【0042】
なお本実施形態では、移動指令生成主体選択部55は、第1移動指令生成部56及び第2移動指令生成部57のうち、ロボット用の数値制御プログラム中のGコードによって指定される方を移動指令生成主体として選択する場合について説明するが、これに限らない。例えば移動指令生成主体選択部55は、ロボット用の数値制御プログラムに基づいてロボット3がワークの加工動作中であるかワークの搬送動作中であるかを判定するとともに、ロボット3がワークの加工動作中である場合には第1移動指令生成部56を移動指令生成主体として選択し、ロボット3がワークの搬送動作中である場合には第2移動指令生成部57を移動指令生成主体として選択してもよい。
【0043】
またロボット3がワークの加工動作中であるかワークの搬送動作中であるかは、例えば、後述のツール径補正機能を利用するためのGコード(G40~G42)、後述のツール長補正機能を利用するためのGコード(G43,G44,G49)、及び後述のワーク設置誤差補正機能を利用するためのGコード(G54.4)の有無によって移動指令生成主体選択部55において判定することができる。すなわち移動指令生成主体選択部55は、入力解析部54から入力される指令に上記のような各種補正機能を利用するための各種Gコードが含まれていた場合、ワークの加工動作中であると判定し、第1移動指令生成部56を移動指令生成主体として選択し、上記のような各種Gコードが含まれていない場合、ワークの搬送動作中であると判定し、第2移動指令生成部57を移動指令生成主体として選択してもよい。
【0044】
第2移動指令生成部57は、移動指令生成主体選択部55から指令が入力されると、当該指令に応じた第2移動指令を生成し、生成した第2移動指令をデータ送受信部59に書き込み、この第2移動指令をロボット制御装置6へ送信する。ここで第2移動指令生成部57が生成する第2移動指令は、少なくともロボット用の数値制御プログラムに基づいて指定されるロボット3の制御点の終点の位置座標及び速度に関する情報を含むが、後述の第1目標動作軌跡に関する情報を含まない。
【0045】
第1移動指令生成部56は、移動指令生成主体選択部55から指令が入力されると、ツール・ワーク情報管理部58のメモリ58mに記憶されている使用ツール情報及びワーク情報を読み出し、これら使用ツール情報及びワーク情報と、移動指令生成主体選択部55から入力される指令とに基づいて第1移動指令を生成し、生成した第2移動指令をデータ送受信部59に書き込み、この第1移動指令をロボット制御装置6へ送信する。
【0046】
より具体的には、第1移動指令生成部56は、移動指令生成主体選択部55から入力される指令に基づく補間処理を実行することにより、ロボット3の制御点の始点からロボット用の数値制御プログラムに基づいて指定される終点までの間の動作軌跡の目標である第1目標動作軌跡を算出するとともに、この第1目標動作軌跡を含む第1移動指令を生成する。この第1移動指令は、上述の第2移動指令と異なり、ロボット3の制御点の終点の位置座標に関する情報だけでなく、第1目標動作軌跡を時分割して得られる指定時刻毎の指定位置の座標値や各指定位置における加減速に関する情報を含む。
【0047】
以上のように第1移動指令生成部56では、補間処理を実行することによって第1目標動作軌跡を算出する必要があることから、第2移動指令生成部57よりも移動指令の生成にかかる時間が長い。そこで第1移動指令生成部56では、上述のように入力解析部54からは所定時間後に実行される指令ブロックの解析結果が先出しされることを利用し、ロボット用の数値制御プログラムを構成する複数の指令ブロックのうち、現在から所定時間後に実行される指令ブロックの解析結果を先読みすることによって第1移動指令を生成することが好ましい。これにより第1移動指令生成部56において第1移動指令を生成する時間を確保することができる。
【0048】
ツール・ワーク情報管理部58は、入力解析部54から多機能ツール32の使用ツールを切り替えるための指令が入力されると、当該指令に応じたツール切替指令を生成し、生成したツール切替指令をデータ送受信部59に書き込み、このツール切替指令をロボット制御装置6へ送信する。
【0049】
ここでツール・ワーク情報管理部58は、ロボット3に装着されている多機能ツール32において使用可能な複数のツールの形状、すなわち上記ツール切替指令によって適宜切替可能なツールの形状に関するツール情報(例えば、各ツールのツール径、ツール長、及び刃先の形状等に関する情報)や、現在ロボット3が使用するツールを特定するための使用ツール特定情報や、工作機械2に現在設置されているワークの設置位置に関するワーク情報(例えば、所定の基準設置位置に対するワークの設置誤差に関する情報)等を記憶するメモリ58mを備える。メモリ58mに記憶されている情報のうち、使用ツール特定情報やワーク情報は、入力解析部54から入力される指令や、工作機械制御モジュール50から送信される情報等に基づいて、ツール・ワーク情報管理部58によって適宜書き換えられる。
【0050】
またツール・ワーク情報管理部58のメモリ58mに記憶されているツール情報(ツール径、ツール長、及び刃先の形状等)やワーク情報(ワークの設置誤差)は、第1移動指令生成部56においてツール径補正機能、ツール長補正機能、及びワーク設置誤差補正機能を利用して第1移動指令を生成する際に、第1移動指令生成部56から適宜参照することが可能となっている。
【0051】
ツール径補正機能とは、第1移動指令生成部56において、ロボット用の数値制御プログラムに基づいて指定される制御点の移動経路を、この移動経路を含む平面内において右側又は左側にツール半径分だけオフセットさせることによって制御点の第1目標動作軌跡を算出する機能をいう。第1移動指令生成部56は、ロボット用の数値制御プログラムにGコード“G41”が含まれていると、このGコードとともに所定のコマンドによって指定されるツールに関するツール情報をツール・ワーク情報管理部58から読み出し、制御点の移動経路をツール半径分だけ左側にオフセットさせることによって第1目標動作軌跡を算出する。また第1移動指令生成部56は、ロボット用の数値制御プログラムにGコード“G42”が含まれていると、このGコードとともに所定のコマンドによって指定されるツールに関するツール情報をツール・ワーク情報管理部58から読み出し、制御点の移動経路をツール半径分だけ右側にオフセットさせることによって第1目標動作軌跡を算出する。なおロボット用の数値制御プログラムに、ツールを指定するコマンドが含まれていない場合、第1移動指令生成部56は、ツール・ワーク情報管理部58のメモリ58mに記憶されている使用ツール特定情報によって特定されるツールに関するツール情報をツール。ワーク情報管理部58から読み出す。また第1移動指令生成部56は、ロボット用の数値制御プログラムにGコード“G40”が含まれていると、以上のようなツール径補正機能をキャンセルする。
【0052】
ツール長補正機能とは、第1移動指令生成部56において、ロボット用の数値制御プログラムに基づいて指定される制御点の移動経路を、この移動経路を含む平面に対し直交する向きへ正側又は負側にツール長に応じた所定の補正量だけオフセットさせることによって制御点の第1目標動作軌跡を算出する機能をいう。第1移動指令生成部56は、ロボット用の数値制御プログラムにGコード“G43”が含まれていると、このGコードとともに所定のコマンドによって指定されるツールに関するツール情報をツール・ワーク情報管理部58から読み出し、制御点の移動経路をツール長に応じた補正量だけ正側にオフセットさせることによって第1目標動作軌跡を算出する。また第1移動指令生成部56は、ロボット用の数値制御プログラムにGコード“G44”が含まれていると、このGコードとともに所定のコマンドによって指定されるツールに関するツール情報をツール・ワーク情報管理部58から読み出し、制御点の移動経路を現在使用中のツール長に応じた補正量だけ負側にオフセットさせることによって第1目標動作軌跡を算出する。なおロボット用の数値制御プログラムに、ツールを指定するコマンドが含まれていない場合、第1移動指令生成部56は、ツール・ワーク情報管理部58のメモリ58mに記憶されている使用ツール特定情報によって特定されるツールに関するツール情報をツール。ワーク情報管理部58から読み出す。また第1移動指令生成部56は、ロボット用の数値制御プログラムにGコード“G49”が含まれていると、以上のようなツール長補正機能をキャンセルする。
【0053】
ワーク設置誤差補正機能とは、第1移動指令生成部56において、ロボット用の数値制御プログラムに基づいて指定される制御点の移動経路を、3次元空間内においてワーク設置誤差に応じた分だけ回転させることによって制御点の第1目標動作軌跡を算出する機能をいう。第1移動指令生成部56は、ロボット用の数値制御プログラム中においてGコード“G54.4”によって指定されている期間内は、ツール・ワーク情報管理部58からワーク情報を読み出し、制御点の移動経路を現在のワークの設置誤差に応じた分だけ3次元空間内で回転させることによって第1目標動作軌跡を算出する。
【0054】
データ送受信部59は、第2移動指令生成部57によって第2移動指令が書き込まれると、この第2移動指令を、ロボット用の数値制御プログラムに基づいて定められるタイミングでロボット制御装置6のデータ送受信部69へ送信する。またデータ送受信部59は、第1移動指令生成部56によって第1移動指令が書き込まれると、この第1移動指令を、ロボット用の数値制御プログラムに基づいて定められるタイミングでデータ送受信部69へ送信する。これによりデータ送受信部59は、移動指令生成主体によって生成された移動指令をロボット制御装置6へ送信する。
【0055】
ここで上述のように第1移動指令は、第1目標動作起動を時分割して得られる指定時刻毎の指定位置の座標値を含む。そこでデータ送受信部59は、第1移動指令生成部56が移動指令生成主体として選択された場合、指定時刻毎に第1移動指令をロボット制御装置6へ送信することが好ましい。
【0056】
またデータ送受信部59は、ツール・ワーク情報管理部58によってツール切替指令が書き込まれると、このツール切替指令を、ロボット用の数値制御プログラムに基づいて定められるタイミングでデータ送受信部69へ送信する。
【0057】
次に、ロボット制御装置6の構成について詳細に説明する。
図2に示すように、ロボット制御装置6には、上記ハードウェア構成によって、入力解析部61、移動指令判定部62、I/O制御部63、軌跡制御部64、プログラム管理部65、ロボット命令生成部66、キネマティクス制御部67、サーボ制御部68、及びデータ送受信部69等の各種機能が実現される。
【0058】
データ送受信部69は、数値制御装置5のデータ送受信部59から送信される第1移動指令、第2移動指令、及びツール切替指令等の指令を受信すると、これら指令を逐次入力解析部61へ入力する。
【0059】
入力解析部61は、データ送受信部69から入力される指令を解析し、解析結果を移動指令判定部62及びI/O制御部63へ送信する。より具体的には、入力解析部61は、データ送受信部69から第1移動指令又は第2移動指令が入力されると、これら移動指令を移動指令判定部62へ送信する。また入力解析部61は、データ送受信部69からツール切替指令が入力されると、このツール切替指令をI/O制御部63へ送信する。
【0060】
I/O制御部63は、入力解析部61からツール切替指令が入力されると、入力されたツール切替指令に応じたI/O信号を多機能ツール32へ入力する。これによりロボット3に装着された多機能ツール32の使用ツールは、ロボット用の数値制御プログラムに基づいて指定されたツールに切り替えられる。
【0061】
移動指令判定部62は、入力解析部61から入力される移動指令が、第1目標動作軌跡を含む第1移動指令であるか第1目標動作軌跡を含まない第2移動指令であるかを判定する。移動指令判定部62は、第1移動指令が入力された場合には、当該第1移動指令を軌跡制御部64へ送信する。また移動指令判定部62は、第2移動指令が入力された場合には、当該第2移動指令をロボット命令生成部66へ送信する。
【0062】
ロボット命令生成部66は、移動指令判定部62から送信される第2移動指令を受信すると、受信した第2移動指令に応じた命令を生成し、ロボットプログラムに追加する。
【0063】
プログラム管理部65は、ロボットプログラムに新たな命令が追加されると、これを逐次実行することにより、第2移動指令に応じたロボット3の動作計画を生成し、軌跡制御部64へ送信する。
【0064】
軌跡制御部64は、プログラム管理部65から送信される動作計画を受信すると、この動作計画に基づいて補間処理を実行することにより、ロボット3の制御点の動作軌跡の目標である第2目標動作軌跡を算出し、キネマティクス制御部67へ入力する。そしてキネマティクス制御部67は、軌跡制御部64によって算出された第2目標動作軌跡に基づいてキネマティクス演算を行うことにより、ロボット3の各関節の角度を目標角度として算出し、これら目標角度をサーボ制御部68へ送信する。またサーボ制御部68は、軌跡制御部64から送信される各関節の目標角度が実現するように、ロボット3の各サーボモータをフィードバック制御することによってロボット3に対するロボット制御信号を生成し、ロボット3のサーボモータへ入力する。以上のようにロボット制御装置6は、数値制御装置5から第2移動指令を受信した場合、ロボット3の制御点がロボット制御装置6側で実行される補間処理によって算出された第2目標動作軌跡に沿って移動するように、ロボット3の動作を制御する。
【0065】
また軌跡制御部64は、移動指令判定部62から、上述のように第1目標動作軌跡を時分割して得られる指定時刻毎の指定位置の座標値を含む第1移動指令を受信すると、この第1移動指令をキネマティクス制御部67へ入力する。そしてキネマティクス制御部67は、時系列データである第1移動指令に基づいてキネマティクス演算を行うことにより、指定時刻毎にロボット3の各関節の目標角度を算出し、これら目標角度をサーボ制御部68へ送信する。またサーボ制御部68は、軌跡制御部64から送信される各関節の目標角度が実現するように、ロボット3の各サーボモータをフィードバック制御することによってロボット3に対するロボット制御信号を生成し、ロボット3のサーボモータへ入力する。以上のようにロボット制御装置6は、数値制御装置5から第1移動指令を受信した場合、ロボット3の制御点が数値制御装置5側で実行される補間処理によって算出された第1目標動作軌跡に沿って移動するように、ロボット3の動作を制御する。
【0066】
次に、以上のように構成された数値制御システム1における各種信号や情報の流れについて、
図3、
図4A及び
図4Bを参照しながら説明する。
【0067】
図3は、ロボット用の数値制御プログラムの一例を示す図である。
図4A及び
図4Bは、
図3に例示するロボット用の数値制御プログラムに基づいて数値制御装置5を作動させた場合における数値制御装置5とロボット制御装置6との間の信号及び情報の流れや、ロボット制御装置6において実行される処理を示すシーケンス図である。
【0068】
始めにシーケンス番号“N10”に示すブロックにおいて、数値制御装置5の移動指令生成主体選択部55には、Gコードによるコマンド“G100.0”が入力される。これにより移動指令生成主体選択部55は、ロボット3の制御点の動作軌跡をロボット制御装置6側で実行される補間処理によって決定するべく、第2移動指令生成部57を移動指令生成主体として選択する。またコマンド“G100.0”が入力されたことに応じて、移動指令生成主体選択部55は、ロボット制御装置6へ、数値制御装置5から送信される第2移動指令に基づいてロボットプログラムに逐次命令を追加するための動的実行可能ファイルの生成を指令する。これに応じてロボット制御装置6は、この動的実行可能ファイルを生成する。
【0069】
次にシーケンス番号“N11”に示すブロックにおいて、数値制御装置5の入力解析部54には、Gコードによるコマンド“G68.8”が入力される。これにより数値制御装置5及びロボット制御装置6において、座標形式は各軸座標形式に設定される。
【0070】
次にシーケンス番号“N12”に示すブロックにおいて、数値制御装置5の第2移動指令生成部57には、各軸座標形式に基づいて指定される終点へロボット3の制御点を早送りさせるためのコマンド“G0 J1=_J2=_J3=_J4=_J5=_J6=_”が入力される。なおコマンド中のアンダーバーの部分には、終点の座標値が入力されている。第2移動指令生成部57は、入力されたコマンドに応じた第2移動指令を生成し、ロボット制御装置6へ送信する。ロボット制御装置6は、数値制御装置5から送信される第2移動指令に基づいて補間処理を行うことによって第2目標動作軌跡を算出するとともに、ロボット3の制御点が第2目標動作軌跡に沿って移動するように、ロボット3の動作を制御する。
【0071】
次にシーケンス番号“N20”に示すブロックにおいて、数値制御装置5の入力解析部54には、Gコードによるコマンド“G68.9”が入力される。これにより数値制御装置5及びロボット制御装置6において、座標形式は直交座標形式に設定される。
【0072】
次にシーケンス番号“N21”に示すブロックにおいて、数値制御装置5の第2移動指令生成部57には、直交座標形式に基づいて指定される終点へロボット3の制御点を早送りさせるためのコマンド“G0 X_Y_Z_A_B_C_P_”が入力される。第2移動指令生成部57は、入力されたコマンドに応じた第2移動指令を生成し、ロボット制御装置6へ送信する。ロボット制御装置6は、数値制御装置5から送信される第2移動指令に基づいて補間処理を行うことによって第2目標動作軌跡を算出するとともに、ロボット3の制御点が第2目標動作軌跡に沿って移動するように、ロボット3の動作を制御する。
【0073】
次にシーケンス番号“N30”に示すブロックにおいて、数値制御装置5の移動指令生成主体選択部55には、Gコードによるコマンド“G100.1”が入力される。これにより移動指令生成主体選択部55は、ロボット3の制御点の動作軌跡を数値制御装置5側で実行される補間処理によって決定するべく、第1移動指令生成部56を移動指令生成主体として選択する。またコマンド“G100.1”が入力されたことに応じて、移動指令生成主体選択部55は、ロボット制御装置6へ、数値制御装置5から送信される時系列データである第1移動指令に基づいてロボット3の動作を制御させるべく、生成済の動的実行可能ファイルの削除を指令する。これに応じてロボット制御装置6は、シーケンス番号“N10”に示すブロックにおいて生成した動的実行可能ファイルを削除する。
【0074】
次にシーケンス番号“N31”に示すブロックにおいて、数値制御装置5の入力解析部54には、Gコードによるコマンド“G68.8”が入力される。これにより数値制御装置5及びロボット制御装置6において、座標形式は各軸座標形式に設定される。
【0075】
次にシーケンス番号“N32”に示すブロックにおいて、数値制御装置5の第1移動指令生成部56には、ワーク設置誤差補正機能の開始を宣言するためのGコード“G54.4 P1”が入力される。これにより第1移動指令生成部56は、ツール・ワーク情報管理部58から現在のワークの設置位置に応じたワーク情報を読み出す。また第1移動指令生成部56は、後にシーケンス番号“N42”に示すブロックにおいて、ワーク設置誤差補正機能の終了を宣言するためのGコード“G54.4 P0”が入力されるまで、制御点の移動経路を、取得したワークの設置誤差に応じた分だけ3次元空間内で回転させることによって第1目標動作軌跡を算出する。
【0076】
次にシーケンス番号“N33”に示すブロックにおいて、数値制御装置5の第1移動指令生成部56には、各軸座標形式に基づいて指定される終点へ向けて指定の送り速度(F4000)でロボット3の制御点を直線補間によって移動させるためのコマンド“G1 J1=_J2=_J3=_J4=_J5=_J6=_F4000 G41 D2”が入力される。第1移動指令生成部56は、入力されたコマンドに応じて第1目標動作軌跡を算出するとともに、この第1目標動作軌跡に沿った指定時刻毎の座標値を含む時系列データである第1移動指令を生成し、ロボット制御装置6へ送信する。なお“N33”に示すブロックには、ツール径補正機能を利用するためのGコード“G41”とともに現在使用中のツールを指定するコマンド“D_”が入力されている。ここでコマンド“D_”のアンダーバーで示す部分には、現在使用中のツールを指定するためのツール番号が入力される。第1移動指令生成部56は、先ず、ツール・ワーク情報管理部58からツール番号によって指定されるツールのツール情報を読み出す。また第1移動指令生成部56は、アンダーバーで示す部分に記載された数値に基づいて算出される制御点の移動経路を、シーケンス番号“N32”に示すブロックで取得したワークの設置誤差に応じた分だけ3次元空間内で回転させるとともに、さらにツール番号によって指定されるツールのツール半径に応じた分だけ左側にオフセットさせることによって制御点の第1目標動作軌跡を算出し、この第1目標動作軌跡に応じた第1移動指令を生成する。ロボット制御装置6は、数値制御装置5から送信される第1移動指令に基づいてロボット3の動作を制御することにより、ロボット3の制御点を第1目標動作軌跡に沿って移動させ、ワークを加工(例えば、切削)する。
【0077】
次にシーケンス番号“N40”に示すブロックにおいて、数値制御装置5の入力解析部54には、Gコードによるコマンド“G68.9”が入力される。これにより数値制御装置5及びロボット制御装置6において、座標形式は直交座標形式に設定される。
【0078】
次にシーケンス番号“N41”に示すブロックにおいて、数値制御装置5の第2移動指令生成部57には、直交座標形式に基づいて指定される終点へ向けて指定の送り速度(F4000)でロボット3の制御点を直線補間によって移動させるためのコマンド“G1 X_Y_Z_A_B_C_P_F4000 G42 D_”が入力される。第1移動指令生成部56は、入力されたコマンドに応じて第1目標動作軌跡を算出するとともに、この第1目標動作軌跡に沿った時系列データである第1移動指令を生成し、ロボット制御装置6へ送信する。なお“N41”に示すブロックには、ツール径補正機能を利用するためのGコード“G42”とともに現在使用中のツールを指定するコマンド“D_”が入力される。第1移動指令生成部56は、先ず、ツール・ワーク情報管理部58からツール番号によって指定されるツールのツール情報を読み出す。また第1移動指令生成部56は、アンダーバーで示す部分に記載された数値に基づいて算出される制御点の移動経路を、シーケンス番号“N32”に示すブロックで取得したワークの設置誤差に応じた分だけ3次元空間内で回転させるとともに、さらにツール番号によって指定されるツールのツール半径に応じた分だけ左側にオフセットさせることによって制御点の第1目標動作軌跡を算出し、この第1目標動作軌跡に応じた第1移動指令を生成する。ロボット制御装置6は、数値制御装置5から送信される第1移動指令に基づいてロボット3の動作を制御することにより、ロボット3の制御点を第1目標動作軌跡に沿って移動させ、ワークを加工(例えば、切削)する。
【0079】
次にシーケンス番号“N42”に示すブロックにおいて、数値制御装置5の第1移動指令生成部56には、ワーク設置誤差補正機能の終了を宣言するためのGコード“G54.4 P0”が入力される。これにより第1移動指令生成部56は、これ以降、ワーク設置誤差補正機能をオフにする。
【0080】
本実施形態によれば、以下の効果が奏される。
数値制御システム1において、例えばロボット3にワークの加工作業を担わせる場合、数値制御装置5からロボット制御装置6へ、第1目標動作軌跡を含む第1移動指令を送信することにより、数値制御装置5側で算出した第1目標動作軌跡に沿ってロボット3の制御点を移動させることができるので、ロボット3によって高い精度でワークを加工することができる。また例えば、ワークの加工を伴わない作業、具体的にはワークの搬送作業をロボット3に担わせる場合、数値制御装置5からロボット制御装置6へ、第1目標動作軌跡を含まない第2移動指令を送信することにより、ロボット制御装置6側ではロボットの動力学特性を考慮し、最短時間又は最短経路でロボット3の制御点を移動させることができるので、工作機械2及びロボット3によるワークの加工サイクルタイムを短縮することもできる。
【0081】
数値制御システム1において、第1移動指令生成部56によって生成される第1移動指令は、第1目標動作軌跡を時分割して得られる指定時刻毎の指定位置の座標値を含み、データ送受信部59は、第1移動指令生成部56が移動指令生成主体として選択された場合、指定時刻毎に第1移動指令をロボット制御装置6へ送信する。数値制御システム1によれば、このような時系列データである第1移動指令をロボット制御装置6へ送信することにより、ロボット制御装置6では、逐次補間処理を行わずに制御点を第1目標動作軌跡に沿って移動させることができる。
【0082】
数値制御システム1において、第1移動指令生成部56は、ツール・ワーク情報管理部58のメモリ58mに記憶されているツール情報及びワーク情報に基づいて第1移動指令を生成する。これにより第1移動指令生成部56は、ロボット用の数値制御プログラムによって指定される制御点の移動軌跡を、ロボット3が使用するツールの形状やワークの設置誤差等に応じて補正することによって第1目標動作軌跡を算出できるので、ロボット3を用いたワークの加工精度を向上できる。
【0083】
数値制御システム1において、移動指令生成主体選択部55は、第1移動指令生成部56及び第2移動指令生成部57のうちロボット用の数値制御プログラムに基づいて指定される方を移動指令生成主体として選択する。これにより、ロボット用の数値制御プログラムに基づいて定められたタイミングでロボット制御装置6へ第1移動指令を入力したり第2移動指令を入力したりできる。
【0084】
数値制御システム1において、移動指令生成主体選択部55は、ロボット3が加工動作中である場合には第1移動指令生成部56を移動指令生成主体として選択し、ロボット3が搬送動作中である場合には第2移動指令生成部57を移動指令生成主体として選択する。これにより、ロボット3が加工動作中である場合には、ロボット3の制御点を数値制御装置5側で算出した第1目標動作軌跡に沿って移動させることができるので、ロボット3によって高い精度でワークを加工することができる。またロボット3が搬送動作中である場合には、ロボット3の制御点をロボット制御装置6側でロボット3の動力学特性を考慮して算出した第2目標動作軌跡に沿ってロボット3の制御点を移動させることができるので、工作機械2及びロボット3によるワークの加工及び搬送のサイクルタイムを短縮することができる。
【0085】
数値制御システム1において、第1移動指令生成部56は、ロボット用の数値制御プログラムを構成する複数の指令ブロックのうち、現在から所定時間後に実行される指令ブロックを先読みすることによって第1移動指令を生成する。これにより第1移動指令生成部56において第1移動指令を生成する時間を確保することができる。またこれにより、先行位置を考慮した加減速補間を行うことができるので、加工精度をさらに向上することができる。
【0086】
本開示は、上記実施形態に限定されるものではなく、種々の変更及び変形が可能である。
【符号の説明】
【0087】
1…数値制御システム
2…工作機械
3…ロボット
32…多機能ツール
5…数値制御装置
50…工作機械制御モジュール
51…ロボット制御モジュール
55…移動指令生成主体選択部(選択部)
56…第1移動指令生成部
57…第2移動指令生成部
58…ツール・ワーク情報管理部(記憶装置)
59…データ送受信部(送信部)
6…ロボット制御装置(ロボット制御装置)
62…移動指令判定部
63…I/O制御部
64…軌跡制御部
65…プログラム管理部
66…ロボット命令生成部
67…キネマティクス制御部
69…データ送受信部