(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-20
(45)【発行日】2024-05-28
(54)【発明の名称】数値制御システム
(51)【国際特許分類】
G05B 19/18 20060101AFI20240521BHJP
B25J 13/00 20060101ALI20240521BHJP
【FI】
G05B19/18 C
B25J13/00 Z
(21)【出願番号】P 2022533988
(86)(22)【出願日】2021-06-28
(86)【国際出願番号】 JP2021024340
(87)【国際公開番号】W WO2022004647
(87)【国際公開日】2022-01-06
【審査請求日】2023-01-19
(31)【優先権主張番号】P 2020113204
(32)【優先日】2020-06-30
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100106002
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100165157
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100160794
【氏名又は名称】星野 寛明
(72)【発明者】
【氏名】今西 一剛
【審査官】杉山 悟史
(56)【参考文献】
【文献】特開2019-053459(JP,A)
【文献】特開2019-057262(JP,A)
【文献】特許第6647472(JP,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/18 ~ 19/416
19/42 ~ 19/46
B25J 1/00 ~ 21/02
(57)【特許請求の範囲】
【請求項1】
第1数値制御プログラムに従って工作機械に対する指令である工作機械指令信号を生成し、第2数値制御プログラムに従ってロボットに対する指令であるロボット指令信号を生成する数値制御装置と、
前記数値制御装置と通信可能でありかつ前記ロボット指令信号に基づいて前記ロボットの動作を制御するロボット制御装置と、を備える数値制御システムにおいて、
前記第2数値制御プログラムにおいて前記ロボットの位置及び姿勢は、制御軸が異なる2以上の座標形式によって指定可能であり、
前記数値制御装置は、前記第2数値制御プログラムに基づく指定座標形式における各制御軸の座標値を成分とする座標情報を管理する座標情報管理部と、前記座標情報管理部によって管理される座標情報及び前記第2数値制御プログラムに基づいて前記ロボット指令信号を生成するロボット指令信号生成部と、を備え、
前記ロボットには位置センサが設けられ、
前記ロボット制御装置は、前記指定座標形式の設定時又は変更時に、
前記位置センサの検出値に基づいて設定後又は変更後の指定座標形式における各制御軸の座標値を
算出し、
算出した座標値を前記数値制御装置へ送信し、
前記座標情報管理部は、前記ロボット制御装置から送信される座標値によって座標情報を更新する、数値制御システム。
【請求項2】
前記数値制御装置は、前記指定座標形式の設定時又は変更時に、設定後又は変更後の指定座標形式における各制御軸の座標値を取得するための要求信号を生成する座標系情報制御部と、前記要求信号を前記ロボット制御装置へ送信するデータ送受信部と、を備え、
前記ロボット制御装置は、前記要求信号を受信したことに応じて、設定後又は変更後の指定座標形式における各制御軸の座標値を算出し、算出した座標値を前記数値制御装置へ送信する、請求項1に記載の数値制御システム。
【請求項3】
第1数値制御プログラムに従って工作機械に対する指令である工作機械指令信号を生成し、第2数値制御プログラムに従ってロボットに対する指令であるロボット指令信号を生成する数値制御装置と、
前記数値制御装置と通信可能でありかつ前記ロボット指令信号に基づいて前記ロボットの動作を制御するロボット制御装置と、を備える数値制御システムにおいて、
前記第2数値制御プログラムにおいて前記ロボットの位置及び姿勢は、
制御軸が異なる直交座標形式又は各軸座標形式によって指定可能で
あり、
前記数値制御装置は、前記第2数値制御プログラムに基づく指定座標形式における各制御軸の座標値を成分とする座標情報を管理する座標情報管理部と、前記座標情報管理部によって管理される座標情報及び前記第2数値制御プログラムに基づいて前記ロボット指令信号を生成するロボット指令信号生成部と、を備え、
前記ロボットには位置センサが設けられ、
前記ロボット制御装置は、前記指定座標形式の設定時又は変更時に、前記位置センサの検出値に基づいて設定後又は変更後の指定座標形式における各制御軸の座標値を算出し、算出した座標値を前記数値制御装置へ送信し、
前記座標情報管理部は、前記ロボット制御装置から送信される座標値によって座標情報を更新する、数値制御システム。
【請求項4】
前記座標情報の成分数は、前記直交座標形式の制御軸の数と前記各軸座標形式の制御軸の数との和より少ない、請求項
3に記載の数値制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、数値制御システムに関する。
【背景技術】
【0002】
一般的に、工作機械を制御するための数値制御プログラムとロボットを制御するためのロボットプログラムとは、プログラム言語が異なる。このため工作機械とロボットとを並行して稼働させるためには、オペレータは数値制御プログラムとロボットプログラムとの両方に習熟する必要がある。
【0003】
特許文献1には、数値制御プログラムによって工作機械とロボットとの両方を制御する数値制御装置が示されている。特許文献1の数値制御装置によれば、数値制御プログラムに慣れ親しんだオペレータは、ロボットプログラムを習熟することなくロボットも制御できる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで一般的な6軸多関節型のロボットの位置及び姿勢は、6つの関節の回転角度値(J1,J2,J3,J4,J5,J6)を成分とする各軸座標形式や、3つの直交座標軸に沿った座標値(X,Y,Z)及び各直交座標軸周りの回転角度値(A,B,C)を成分とする直交座標形式等によって表現される。このため従来のロボット制御装置では、各軸座標形式の6つの制御軸と直交座標形式の6つの制御軸とを合わせて計12軸の制御軸の座標値を管理する必要があった。
【0006】
これに対し一般的な工作機械の制御軸の数は高々3~5程度であり、ロボットよりも少ない。このため工作機械の制御に用いられる数値制御装置の一系統を、特許文献1に示す技術のようにロボット制御系統に割り当てた場合、工作機械制御系統よりも管理する制御軸の数を増加させる必要があるため、高コストとなってしまうおそれがある。またロボットの制御系統において管理する制御軸の数を増やすと、ロボット制御系統の演算負荷が増加してしまい、結果としてロボットや工作機械の加工性能が低下するおそれもある。また数値制御装置において管理できる制御軸数には限度があるため、数値制御装置にロボット制御機能を追加できなくなってしまうおそれもある。
【0007】
本開示は、上記課題に鑑みてなされたものであり、数値制御装置側において管理する制御軸の数を増大させることなくロボットを制御できる数値制御システムを提供する。
【課題を解決するための手段】
【0008】
本開示の一態様は、第1数値制御プログラムに従って工作機械に対する指令である工作機械指令信号を生成し、第2数値制御プログラムに従ってロボットに対する指令であるロボット指令信号を生成する数値制御装置と、前記数値制御装置と通信可能でありかつ前記ロボット指令信号に基づいて前記ロボットの動作を制御するロボット制御装置と、を備え、前記第2数値制御プログラムにおいて前記ロボットの位置及び姿勢は、制御軸が異なる2以上の座標形式によって指定可能であり、前記数値制御装置は、前記第2数値制御プログラムに基づく指定座標形式における各制御軸の座標値を成分とする座標情報を管理する座標情報管理部と、前記座標情報管理部によって管理される座標情報及び前記第2数値制御プログラムに基づいて前記ロボット指令信号を生成するロボット指令信号生成部と、を備え、前記ロボット制御装置は、前記指定座標形式の設定時又は変更時に、設定後又は変更後の指定座標形式における各制御軸の座標値を取得し、取得した座標値を前記数値制御装置へ送信し、前記座標情報管理部は、前記ロボット制御装置から送信される座標値によって座標情報を更新する、数値制御システムである。
【発明の効果】
【0009】
本開示の一態様において、ロボット制御装置は、指定座標形式の設定時又は変更時に、設定後又は変更後の指定座標形式における各制御軸の座標値を取得し、取得した座標値を数値制御装置へ送信する。また数値制御装置の座標情報管理部は、第2数値制御プログラムに基づく指定座標形式における各制御軸の座標値を成分とする座標情報を管理するとともに、ロボット制御装置から送信される座標値によってこの座標情報を更新する。このようにロボット制御装置からは指定座標形式を設定又は変更する度に、指定座標形式における各制御軸の座標値が送信されるので、数値制御装置側ではその時の指定座標形式における座標情報のみを管理すればよい。すなわち、数値制御装置側では、第2数値制御プログラムにおいて指定可能な全ての座標形式における全ての制御軸の座標値を管理する必要がない。したがって第2数値制御プログラムでは、ロボットの位置及び姿勢を2以上の座標形式によって指定可能としつつ、数値制御装置において管理する制御軸の数の増大を防止することができる。また数値制御装置側において管理する制御軸の数を少なくすることにより、数値制御装置の高コスト化を防止することができ、従来から存在する数値制御装置に容易にロボット制御機能を追加することができる。また数値制御装置側において管理する制御軸の数を少なくすることにより、数値制御装置のロボット制御系統の演算負荷の増加も防止できるので、ロボットや工作機械の加工性能の低下も防止できる。
【図面の簡単な説明】
【0010】
【
図1】本開示の一実施形態に係る数値制御システムの概略図である。
【
図2】数値制御装置及びロボット制御装置の機能ブロック図である。
【
図3A】座標形態情報管理処理の手順を示すフローチャートである(その1)。
【
図3B】座標形態情報管理処理の手順を示すフローチャートである(その2)。
【
図4】ロボット用の数値制御プログラムの一例である。
【
図5A】
図4に例示するロボット用の数値制御プログラムに基づいて数値制御装置を作動させた場合におけるシーケンス図である(その1)。
【
図5B】
図4に例示するロボット用の数値制御プログラムに基づいて数値制御装置を作動させた場合におけるシーケンス図である(その2)。
【発明を実施するための形態】
【0011】
以下、図面を参照して、本開示の一実施形態に係る数値制御システム1について説明する。
【0012】
図1は、本実施形態に係る数値制御システム1の概略図である。
【0013】
数値制御システム1は、工作機械2と、この工作機械2を制御する数値制御装置(CNC)5と、工作機械2の近傍に設けられたロボット3と、数値制御装置5と通信可能に接続されたロボット制御装置6と、を備える。数値制御装置5は、所定の数値制御プログラムに従い、工作機械2に対する指令である工作機械指令信号及びロボット3に対する指令であるロボット指令信号を生成し、これら工作機械指令信号及びロボット指令信号を工作機械2及びロボット制御装置6へ送信する。ロボット制御装置6は、数値制御装置5から送信されるロボット指令信号に応じてロボット3の動作を制御する。
【0014】
工作機械2は、数値制御装置5から送信される工作機械指令信号に応じて図示しないワークを加工する。ここで工作機械2は、例えば、旋盤、ボール盤、フライス盤、研削盤、レーザ加工機、及び射出成形機等であるが、これらに限らない。
【0015】
ロボット3は、ロボット制御装置6による制御下において動作し、例えば工作機械2による加工を経たワークに対し所定の作業を行う。ロボット3は、例えば多関節ロボットであり、そのアーム先端部31にはワークを把持するための把持ツール32が取り付けられている。以下では、ロボット3は、工作機械2による加工を経たワークを所定の位置で把持ツール32によって把持し、このワークを所定の位置へ搬送する場合について説明するが、これに限らない。また以下では、ロボット3は、6軸の多関節ロボットとした場合について説明するが、軸数はこれに限らない。
【0016】
数値制御装置5及びロボット制御装置6は、それぞれCPU(Central Processing Unit)等の演算処理手段、各種プログラムを格納したHDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助記憶手段、演算処理手段がプログラムを実行する上で一時的に必要とされるデータを格納するためのRAM(Random Access Memory)といった主記憶手段、オペレータが各種操作を行うキーボードといった操作手段、及びオペレータに各種情報を表示するディスプレイといった表示手段等のハードウェアによって構成されるコンピュータである。これらロボット制御装置6及び数値制御装置5は、例えばイーサネット(登録商標)によって相互に各種信号を送受信することが可能となっている。
【0017】
図2は、数値制御装置5及びロボット制御装置6の機能ブロック図である。
【0018】
図2に示すように数値制御装置5には、上記ハードウェア構成によって、工作機械2の制御系統としての工作機械制御モジュール51、ロボット3の制御系統としてのロボット制御モジュール52、及び記憶部53等の各種機能が実現される。
【0019】
記憶部53には、例えばオペレータによる操作に基づいて作成された複数の数値制御プログラムが格納されている。より具体的には、記憶部53には、工作機械2の動作を制御するための第1数値制御プログラムとしての工作機械用の数値制御プログラムや、ロボット3の動作を制御するための第2数値制御プログラムとしてのロボット用の数値制御プログラム等が格納されている。これら工作機械用の数値制御プログラム及びロボット用の数値制御プログラムは、共通のプログラミング言語(例えば、Gコード)で記述されている。
【0020】
工作機械用の数値制御プログラムは、工作機械2上又は工作機械2の近傍に定められた基準点を原点とする第1座標系としての工作機械座標系に基づいて記述されている。すなわち工作機械用の数値制御プログラムにおいて、工作機械2の制御点の位置及び姿勢は、工作機械座標系における座標値によって記述される。
【0021】
ロボット用の数値制御プログラムは、工作機械座標系とは異なる第2座標系としてのロボット座標系に基づいて記述されている。すなわちロボット用の数値制御プログラムにおいて、ロボット3の制御点(例えば、ロボット3のアーム先端部31)の位置及び姿勢は、工作機械座標系とは異なるロボット座標系における座標値によって記述される。このロボット座標系は、ロボット3上又はロボット3の近傍に定められた基準点を原点とする座標系である。なお以下では、ロボット座標系は工作機械座標系と異なる場合について説明するが、本開示はこれに限らない。ロボット座標系は工作機械座標系と一致させてもよい。換言すれば、ロボット座標系の原点や座標軸方向を工作機械座標系の原点や座標軸方向と一致させてもよい。
【0022】
またこのロボット用の数値制御プログラムにおいてロボット座標系は、制御軸が異なる2以上の座標形式の間で切替可能となっている。より具体的には、ロボット用の数値制御プログラムにおいてロボット3の制御点の位置及び姿勢は、直交座標形式又は各軸座標形式によって指定可能である。
【0023】
各軸座標形式では、ロボット3の制御点の位置及び姿勢は、ロボット3の6つの関節の回転角度値(J1,J2,J3,J4,J5,J6)を成分とした計6つの実数の座標値によって指定される。
【0024】
直交座標形式では、ロボット3の制御点の位置及び姿勢は、3つの直交座標軸に沿った3つの座標値(X,Y,Z)と、各直交座標軸周りの3つの回転角度値(A,B,C)と、を成分とした計6つの実数の座標値によって指定される。
【0025】
ここで各軸座標形式の下では、ロボット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)によって表される。
【0026】
ロボット用の数値制御プログラムでは、Gコード“G68.8”及び“G68.9”によって座標形式を設定することが可能となっている。より具体的には、Gコード“G68.8”を入力することにより、座標形式は各軸座標形式に設定され、Gコード“G68.9”を入力することにより、座標形式は直交座標形式に設定される。これら座標形式を設定するためのGコード“G68.8”及び“G68.9”は、モーダルである。従って座標形式は、これらGコードによって座標形式を各軸座標形式又は直交座標形式に設定した後は、再びこれらGコードによって座標形式が変更されるまで維持される。なお本実施形態では、ロボット用の数値制御プログラムにこれら座標形式を設定するためのGコードが記載されていない場合、座標形式は自動的に直交座標形式に設定されるものとするが、これに限らない。
【0027】
工作機械制御モジュール51は、工作機械用の数値制御プログラムに従って工作機械2に対する指令である工作機械指令信号を生成し、工作機械2の図示しないアクチュエータへ入力する。より具体的には、工作機械制御モジュール51は、記憶部53に格納された工作機械用の数値制御プログラムを読み出し、当該数値制御プログラムに基づく指令種別を解析することによって工作機械指令信号を生成する。工作機械2は、工作機械制御モジュール51から送信される工作機械指令信号に応じて動作し、図示しないワークを加工する。
【0028】
ロボット制御モジュール52は、ロボット用の数値制御プログラムに従ってロボット3に対する指令であるロボット指令信号やロボット制御装置6に対する各種要求信号を生成し、これら信号をロボット制御装置6へ送信する。より具体的には、ロボット制御モジュール52は、プログラム入力部521と、入力解析部522と、座標形態情報制御部523と、座標形態情報管理部524と、ロボット指令信号生成部525と、メモリ526と、座標表示部527と、データ送受信部528と、を備え、これらによってロボット指令信号や各種要求信号を生成する。
【0029】
プログラム入力部521は、記憶部53からロボット用の数値制御プログラムを読み出し、これを逐次入力解析部522へ入力する。
【0030】
入力解析部522は、プログラム入力部521から入力される数値制御プログラムに基づく指令種別を順次ブロック毎に解析し、解析結果を座標形態情報制御部523及びロボット指令信号生成部525へ送信する。
【0031】
座標形態情報制御部523は、入力解析部522から入力される解析結果に基づいて、ロボット用の数値制御プログラムに基づいて設定されている座標形式である指定座標形式を特定する。上述のようにロボット用の数値制御プログラムにおいて、座標形式は所定のGコードによって各軸座標形式又は直交座標形式に設定又は変更することが可能となっている。座標形態情報制御部523は、入力解析部522から入力される解析結果に基づいて指定座標形式を特定し、現在の指定座標形式に関する情報を座標形態情報管理部524及びロボット指令信号生成部525へ送信する。
【0032】
また座標形態情報制御部523は、特定した指定座標形式における各制御軸の現在の座標値に相当する基準座標値をロボット制御装置6から新たに取得するための基準座標値要求信号や、ロボット3の現在の形態値に相当する基準形態値をロボット制御装置6から新たに取得するための基準形態値要求信号を、ロボット用の数値制御プログラムの実行中に所定のタイミングでデータ送受信部528に書き込み、これら基準座標値要求信号及び基準形態値要求信号をロボット制御装置6へ送信する。なおこれら基準座標値要求信号及び基準形態値要求信号をロボット制御装置6へ送信するタイミングについては、後に詳細に説明する。
【0033】
座標形態情報管理部524は、座標形態情報制御部523によって特定された指定座標形式における各制御軸の座標値を成分とする座標情報及びロボット3の形態値を成分とする形態情報をメモリ526によって管理する。
図2に示すようにメモリ526は、複数成分の座標値を格納するための座標情報格納領域526aと、形態値を格納するための形態情報格納領域526bと、を備える。メモリ526の座標情報格納領域526aには、複数組の座標値が格納され、形態情報格納領域526bには、例えば1組の形態値が格納される。ここで座標情報格納領域526aに格納できる座標値の組数、すなわち座標形態情報管理部524及びメモリ526によって管理する座標情報の成分数は、直交座標形式の制御軸の数である6と、各軸座標形式の制御軸の数である6との和よりも少なくすることが好ましい。以下では、座標情報格納領域526aに格納できる座標値の組数を、直交座標形式及び各軸座標形式の制御軸の数である6とした場合について説明するが、これに限らない。
【0034】
座標形態情報管理部524は、指定座標形式が各軸座標形式である場合、後に
図3A及び
図3Bを参照して説明する手順に従ってロボット3の各軸座標形式における各制御軸の座標値(J1,J2,J3,J4,J5,J6)を取得し、これら座標値を座標情報格納領域526aの第1成分#1、第2成分#2、第3成分#3、第4成分#4、第5成分#5、及び第6成分#6に格納する。
【0035】
座標形態情報管理部524は、指定座標形式が直交座標形式である場合、後に
図3A及び
図3Bを参照して説明する手順に従ってロボット3の直交座標形式における各制御軸の座標値(X,Y,Z,A,B,C)を取得し、これら座標値を座標情報格納領域526aの各成分#1~#6に格納する。また座標形態情報管理部524は、指定座標形式が直交座標形式である場合、後に
図3A及び
図3Bを参照して説明する手順に従ってロボット3の形態値Pを取得し、この形態値Pを形態情報格納領域526bに格納する。
【0036】
図3A及び
図3Bは、座標形態情報管理部524及びメモリ526によって指定座標形式の下での座標情報や形態情報を管理する処理(以下、「座標形態情報管理処理」という)の手順を示すフローチャートである。
図3A及び
図3Bに示す座標形態情報管理処理は、ロボット制御モジュール52においてロボット用の数値制御プログラムの実行中に、座標形態情報管理部524において所定の周期で繰り返し実行される。
【0037】
始めにS1では、座標形態情報管理部524は、指定座標形式は各軸座標形式であるか否かを判定する。座標形態情報管理部524は、S1の判定結果がYESである場合にはS2に移り、S1の判定結果がNOである場合にはS4に移る。
【0038】
S2では、座標形態情報管理部524は、ロボット制御装置6から最新の基準座標値を含む基準座標値情報を受信した直後であるか否かを判定する。上述のように基準座標値とは、指定座標形式における各制御軸の現在の座標値である。後に説明するように、ロボット制御装置6は、座標形態情報制御部523から所定のタイミングで送信される基準座標値要求信号に応じて基準座標値を取得し、この基準座標値を含む基準座標値情報を数値制御装置5へ送り返す。座標形態情報管理部524は、S2の判定結果がYESである場合にはS3に移り、S2の判定結果がNOである場合には
図3A及び
図3Bに示す処理を終了する。
【0039】
S3では、座標形態情報管理部524は、ロボット制御装置6から送信された基準座標値によって、メモリ526の座標情報格納領域526aに格納されている座標情報を更新した後、
図3A及び
図3Bに示す処理を終了する。より具体的には、座標形態情報管理部524は、ロボット制御装置6から送信された基準座標値によって、座標情報格納領域526aの各成分#1~#6に格納されている座標値を置換する。
【0040】
S4では、座標形態情報管理部524は、ロボット制御装置6から最新の基準座標値を含む基準座標値情報を受信した直後であるか否かを判定する。座標形態情報管理部524は、S4の判定結果がYESである場合にはS5に移り、S4の判定結果がNOである場合にはS6に移る。
【0041】
S5では、座標形態情報管理部524は、上述のS3と同じ手順に従い、ロボット制御装置6から送信された基準座標値によって、メモリ526の座標情報格納領域526aに格納されている座標情報を更新した後、S6に移る。
【0042】
S6では、座標形態情報管理部524は、ロボット制御装置6から最新の基準形態値を含む基準形態値情報を受信したか否かを判定する。上述のように基準形態値とは、ロボット3の現在の形態値である。後に説明するように、ロボット制御装置6は、座標形態情報制御部523から所定のタイミングで送信される基準形態値要求信号に応じて基準形態値を取得し、この基準形態値を含む基準形態値情報を数値制御装置5へ送り返す。座標形態情報管理部524は、S6の判定結果がYESである場合にはS7に移り、S6の判定結果がNOである場合にはS8に移る。
【0043】
S7では、座標形態情報管理部524は、ロボット制御装置6から送信された基準形態値によって、メモリ526の形態情報格納領域526bに格納されている形態情報を更新した後、
図3A及び
図3Bに示す処理を終了する。より具体的には、座標形態情報管理部524は、ロボット制御装置6から送信された基準形態値によって、メモリ526の形態情報格納領域526bに格納されている形態値を置換する。
【0044】
S8では、座標形態情報管理部524は、入力解析部522から入力される数値制御プログラムにおいて指定される形態値によってメモリ526の形態情報格納領域526bに格納されている形態情報を更新した後、
図3A及び
図3Bに示す処理を終了する。
【0045】
以上のように座標形態情報管理部524は、ロボット制御装置6から送信される基準座標値を受信したタイミングでメモリ526の座標情報格納領域526aに格納されている座標情報を基準座標値で更新する。
【0046】
また座標形態情報管理部524は、指定座標形式が直交座標形式である場合には、ロボット制御装置6から送信される基準形態値又は数値制御プログラムにおいて指定される形態値によってメモリ526の形態情報格納領域526bに格納されている形態情報を更新する。より具体的には、座標形態情報管理部524は、ロボット制御装置6から送信される基準形態値を受信した場合にはこの基準形態値によって形態情報格納領域526bに格納されている形態情報を更新し、それ以外の場合には数値制御プログラムにおいて指定される形態値によって形態情報格納領域526bに格納されている形態情報を更新する。
【0047】
図2に戻り、座標表示部527は、ロボット用の数値制御プログラムの実行中に所定の周期でメモリ526の座標情報格納領域526aに格納されている座標情報を読み出し、この座標情報を指定座標形式とともに図示しないディスプレイに表示する。これによりオペレータは、ロボット3の位置及び姿勢を数値によって確認することができる。
【0048】
ロボット指令信号生成部525は、メモリ526に格納されている最新の座標情報及び形態情報と、入力解析部522から入力される数値制御プログラムの解析結果と、に基づいて、数値制御プログラムに応じたロボット指令信号を生成し、生成したロボット指令信号をデータ送受信部528に書き込み、このロボット指令信号をロボット制御装置6へ送信する。
【0049】
ここでは、数値制御プログラムに基づく指令種別が、ロボット3の制御点の位置及び姿勢や、ロボット3の形態の変化を伴うものである場合(具体的には、例えばGコードが、位置決め(早送り)に相当する“G00”である場合や、直線補間に相当する“G01”である場合等)について説明する。この場合、ロボット指令信号生成部525は、メモリ526の座標情報格納領域526aに格納されている座標値をロボット3の制御点の始点とした場合におけるロボット3の制御点の終点及び速度を指定座標形式の下で算出し、これら指定座標形式、終点、及び速度に関する情報を含むロボット指令信号をデータ送受信部528に書き込む。またロボット指令信号生成部525は、以上のようにしてロボット3の制御点の終点の座標値を算出した後、メモリ526の座標情報格納領域526aに格納されている始点座標値を、算出した終点座標値によって更新する。
【0050】
ところで上述のように直交座標形式の下では、ロボット3の形態を一意的に定めることができない。よって指定座標形式が直交座標形式である場合、ロボット指令信号生成部525は、メモリ526の座標情報格納領域526aに格納されている座標値をロボット3の制御点の始点とし、ロボット3の制御点の終点、速度、及び終点における形態値を算出し、指定座標形式、終点、速度、及び終点における形態値に関する情報を含むロボット指令信号をデータ送受信部528に書き込む。またロボット指令信号生成部525は、以上のようにしてロボット3の制御点の終点の座標値を算出した後、メモリ526の座標情報格納領域526aに格納されている始点座標値を、算出した終点座標値によって更新する。
【0051】
次に、座標形態情報制御部523において、基準座標値要求信号及び基準形態値要求信号を生成し、これら要求信号をロボット制御装置6へ送信するタイミングについて説明する。上述のように基準座標値要求信号や基準形態値要求信号は、メモリ526に格納される座標情報や形態情報をロボット制御装置6から送信される情報によって更新するトリガとなっている。そこで座標形態情報制御部523は、ロボット制御モジュール52においてロボット用の数値制御プログラムの実行中に基準座標値や基準形態値の取得の要否を判断し、基準座標値を取得する必要があると判断した場合に基準座標値要求信号をロボット制御装置6へ送信し、基準形態値を取得する必要があると判断した場合に基準形態値要求信号をロボット制御装置6へ送信する。
【0052】
より具体的には、座標形態情報制御部523は、ロボット用の数値制御プログラムの実行開始時である場合、何等かの理由によって中断したロボット用の数値制御プログラムの再開時である場合、ロボット用の数値制御プログラムに基づいて新たに指定座標形式を設定する場合、及びロボット用の数値制御プログラムに基づいて指定座標形式を変更する場合には、基準座標値を取得する必要があると判断し、基準座標値要求信号をデータ送受信部528に書き込む。これにより、データ送受信部528から基準座標値要求信号がロボット制御装置6へ送信される。
【0053】
また座標形態情報制御部523は、少なくとも指定座標形式が直交座標形式である場合に基準形態値を取得する必要があると判断し、基準形態値要求信号をデータ送受信部528に書き込む。これにより、データ送受信部528から基準形態値要求信号がロボット制御装置6へ送信される。より具体的には、座標形態情報制御部523は、指定座標形式を直交座標形式としてロボット用の数値制御プログラムの実行を開始した場合、及び指定座標形式が直交座標形式でありかつ数値制御プログラムにおいて形態値が指定されていない場合には、基準形態値を取得する必要があると判断し、基準形態値要求信号をロボット制御装置6へ送信する。また座標形態情報制御部523は、指定座標形式が直交座標形式でありかつ数値制御プログラムにおいて形態値が指定されている場合には、基準形態値を取得する必要がないと判断し、基準形態値要求信号をロボット制御装置6へ送信しない。すなわち座標形態情報制御部523は、数値制御プログラムにおいて形態値が指定されている場合には、ロボット制御装置6において取得される基準形態値よりも数値制御プログラムにおいて指定される形態値を優先してロボット指令信号を生成する。
【0054】
データ送受信部528は、ロボット指令信号生成部525によってロボット指令信号が書き込まれると、このロボット指令信号をロボット制御装置6のデータ送受信部61へ送信する。またデータ送受信部528は、座標形態情報制御部523によって基準座標値要求信号や基準形態値要求信号が書き込まれると、これら基準座標値要求信号や基準形態値要求信号をロボット制御装置6のデータ送受信部61へ送信する。
【0055】
データ送受信部528は、ロボット制御装置6のデータ送受信部61から送信される基準座標値情報や基準形態値情報を受信すると、これら基準座標値情報や基準形態値情報を座標形態情報管理部524へ送信する。
【0056】
図2に示すように、ロボット制御装置6には、上記ハードウェア構成によって、データ送受信部61、入力解析部62、ロボット位置制御部63、サーボ制御部64、及びロボット位置管理部65等の各種機能が実現される。
【0057】
データ送受信部61は、数値制御装置5のデータ送受信部528から送信されるロボット指令信号、基準座標値要求信号、及び基準形態値要求信号を受信すると、これら信号を入力解析部62へ送信する。
【0058】
データ送受信部61は、ロボット位置管理部65によって基準座標値情報や基準形態値情報が書き込まれると、これら基準座標値情報や基準形態値情報を数値制御装置5のデータ送受信部528へ送信する。
【0059】
入力解析部62は、データ送受信部61からロボット指令信号が送信されると、このロボット指令信号に基づいてロボット3を制御するためのロボットプログラムに変換し、このロボットプログラムをロボット位置制御部63へ送信する。また入力解析部62は、データ送受信部61から基準座標値要求信号や基準形態値要求信号が送信されると、これら要求信号をロボット位置管理部65へ送信する。
【0060】
ロボット位置制御部63は、入力解析部62から送信されるロボットプログラムに従ってキネマティック変換を行うことにより、ロボット3の各関節を回転させるための図示しない複数のサーボモータに対する指令を生成し、サーボ制御部64へ入力する。
【0061】
サーボ制御部64は、ロボット位置制御部63から入力される指令が実現するように、ロボット3の各サーボモータをフィードバック制御する。
【0062】
ロボット位置管理部65は、入力解析部62から送信される基準座標値要求信号を受信すると、ロボット3に設けられた各種位置センサ(図示せず)の検出値を取得し、これら検出値に基づいてロボット座標系における各制御軸の座標値を指定座標形式の下で算出する。ロボット位置管理部65は、算出した座標値を基準座標値とし、これら基準座標値を含む基準座標値情報をデータ送受信部61に書き込む。これによりデータ送受信部61から数値制御装置5へ基準座標値情報が送信される。
【0063】
またロボット位置管理部65は、入力解析部62から送信される基準形態値要求信号を受信すると、ロボット3に設けられた各種位置センサの検出値を取得し、これら検出値に基づいてロボット3の形態値を算出する。ロボット位置管理部65は、算出した形態値を基準形態値とし、この基準形態値を含む基準形態値情報をデータ送受信部61に書き込む。これによりデータ送受信部61から数値制御装置5へ基準形態値情報が送信される。
【0064】
次に、以上のように構成された数値制御システム1における各種信号や情報の流れについて
図4、
図5A及び
図5Bを参照しながら説明する。
【0065】
図4は、ロボット用の数値制御プログラムの一例である。
図5A及び
図5Bは、
図4に例示するロボット用の数値制御プログラムに基づいて数値制御装置5を作動させた場合における数値制御装置5とロボット制御装置6との間の信号や情報の流れを示すシーケンス図である。
【0066】
始めにシーケンス番号“N10”に示すブロックにおいて、数値制御装置5の座標形態情報制御部523にはコマンド“G68.8”が入力される。これに応じて座標形態情報制御部523は、各軸座標形式を指定座標形式として設定する。また座標形態情報制御部523は、このブロックにおいて初めて指定座標形式を設定したことに応じて、ロボット制御装置6のロボット位置管理部65へ基準座標値要求信号を送信する。ロボット制御装置6のロボット位置管理部65は、基準座標値要求信号を受信したことに応じて現在の指定座標形式の下での基準座標値(J1,J2,J3,J4,J5,J6)を取得し、この基準座標値を含む基準座標値情報を数値制御装置5の座標形態情報管理部524へ送信する。また数値制御装置5の座標形態情報管理部524は、受信した基準座標値によってメモリ526の座標情報格納領域526aに格納されている座標情報を更新する。
【0067】
次にシーケンス番号“N11”に示すブロックにおいて、数値制御装置5のロボット指令信号生成部525には、各軸座標形式に基づくコマンド“G00 J1=_J2=_J3=_J4=_J5=_J6=_”が入力される。なおコマンド中のアンダーバーの部分には、終点の座標値が入力されている。ロボット指令信号生成部525は、メモリ526の座標情報格納領域526aに格納されている座標情報と、入力されたコマンドと、に基づいて、ロボット指令信号を生成し、ロボット制御装置6へ送信する。ロボット制御装置6は、受信したロボット指令信号に基づいてロボット3の動作を制御する。なおこれ以降、数値制御装置5のロボット指令信号生成部525は、シーケンス番号“N20”において指定座標形式が変更されるまで、シーケンス番号“N10”のブロックにおいて取得した基準座標値を基準として、数値制御プログラムに基づいて座標情報格納領域526aに格納されている座標情報を更新する。
【0068】
次にシーケンス番号“N20”に示すブロックにおいて、数値制御装置5の座標形態情報制御部523にはコマンド“G68.9”が入力される。これに応じて座標形態情報制御部523は、指定座標形式をそれまでの各軸座標形式から直交座標形式へ変更する。また座標形態情報制御部523は、このブロックにおいて指定座標形式を変更したことに応じて、ロボット制御装置6のロボット位置管理部65へ基準座標値要求信号を送信する。ロボット制御装置6のロボット位置管理部65は、基準座標値要求信号を受信したことに応じて現在の指定座標形式の下での基準座標値(X,Y,Z,A,B,C)を取得し、この基準座標値を含む基準座標値情報を数値制御装置5の座標形態情報管理部524へ送信する。また数値制御装置5の座標形態情報管理部524は、受信した基準座標値によってメモリ526の座標情報格納領域526aに格納されている座標情報を更新する。
【0069】
次にシーケンス番号“N21”に示すブロックにおいて、数値制御装置5の座標形態情報制御部523及びロボット指令信号生成部525には、直交座標形式に基づくコマンド“G01 X_Y_Z_A_B_C_”が入力される。なおこのブロックにおいて入力されるコマンドには、ロボット3の形態値は指定されていない。座標形態情報制御部523は、指定座標形式が直交座標形式でありかつこのブロックにおいて入力されたコマンドにおいて形態値が指定されていない場合には、基準形態値を取得する必要があると判断し、ロボット制御装置6のロボット位置管理部65へ基準形態値要求信号を送信する。ロボット位置管理部65は、基準形態値要求信号を受信したことに応じて現在のロボット3の形態値(P)を取得し、この基準形態値を含む基準形態値情報を数値制御装置5の座標形態情報管理部524へ送信する。また座標形態情報管理部524は、受信した基準形態値によってメモリ526の形態情報格納領域526bに格納されている形態情報を更新する。
【0070】
以上のようにして形態情報を更新した後、数値制御装置5のロボット指令信号生成部525は、メモリ526の座標情報格納領域526aに格納されている座標情報、形態情報格納領域526bに格納されている形態情報、及び入力されたコマンドに基づいてロボット指令信号を生成し、ロボット制御装置6へ送信する。ロボット制御装置6は、受信したロボット指令信号に基づいてロボット3の動作を制御する。なおこれ以降、数値制御装置5のロボット指令信号生成部525は、シーケンス番号“N40”において指定座標形式が変更されるまで、シーケンス番号“N20”のブロックにおいて取得した基準座標値を基準として、数値制御プログラムに基づいて座標情報格納領域526aに格納されている座標情報を更新する。
【0071】
次にシーケンス番号“N30”に示すブロックにおいて、数値制御装置5の座標形態情報制御部523及びロボット指令信号生成部525には、直交座標形式に基づくコマンド“G01 X_Y_Z_A_B_C_P_”が入力される。なおこのブロックにおいて入力されるコマンドには、ロボット3の形態値が指定されている。このようにコマンドにおいて形態値が指定されている場合、座標形態情報制御部523は、シーケンス番号“N21”に示すブロックとは異なり、基準形態値要求信号を送信しない。またこの場合、数値制御装置5の座標形態情報管理部524は、入力されたコマンドにおいて指定されている形態値によって形態情報格納領域526bに格納されている形態情報を更新する。
【0072】
以上のようにして形態情報を更新した後、数値制御装置5のロボット指令信号生成部525は、メモリ526の座標情報格納領域526aに格納されている座標情報、形態情報格納領域526bに格納されている形態情報、及び入力されたコマンドに基づいてロボット指令信号を生成し、ロボット制御装置6へ送信する。ロボット制御装置6は、受信したロボット指令信号に基づいてロボット3の動作を制御する。
【0073】
次にシーケンス番号“N40”に示すブロックにおいて、数値制御装置5の座標形態情報制御部523にはコマンド“G68.8”が入力される。これに応じて座標形態情報制御部523は、指定座標形式をそれまでの直交座標形式から各軸座標形式へ変更する。また座標形態情報制御部523は、このブロックにおいて指定座標形式を変更したことに応じて、ロボット制御装置6のロボット位置管理部65へ基準座標値要求信号を送信する。ロボット位置管理部65は、基準座標値要求信号を受信したことに応じて現在の指定座標形式の下での基準座標値(J1,J2,J3,J4,J5,J6)を取得し、この基準座標値を含む基準座標値情報を数値制御装置5の座標形態情報管理部524へ送信する。また座標形態情報管理部524は、受信した基準座標値によってメモリ526の座標情報格納領域526aに格納されている座標情報を更新する。
【0074】
次にシーケンス番号“N41”に示すブロックにおいて、数値制御装置5のロボット指令信号生成部525には、各軸座標形式に基づくコマンド“G01 J1=_J2=_J3=_J4=_J5=_J6=_”が入力される。ロボット指令信号生成部525は、メモリ526の座標情報格納領域526aに格納されている座標情報と、入力されたコマンドと、に基づいて、ロボット指令信号を生成し、ロボット制御装置6へ送信する。ロボット制御装置6は、受信したロボット指令信号に基づいてロボット3の動作を制御する。なおこれ以降、数値制御装置5のロボット指令信号生成部525は、指定座標形式が変更されるまで、シーケンス番号“N40”のブロックにおいて取得した基準座標値を基準として、数値制御プログラムに基づいて座標情報格納領域526aに格納されている座標情報を更新する。
【0075】
本実施形態によれば、以下の効果が奏される。
ロボット制御装置6のロボット位置管理部65は、指定座標形式の設定時又は変更時に、設定後又は変更後の指定座標形式における各制御軸の基準座標値を取得し、取得した基準座標値を数値制御装置5へ送信する。また数値制御装置5の座標形態情報管理部524は、指定座標形式における各制御軸の座標値を成分とする座標情報をメモリ526の座標情報格納領域526aによって管理するとともに、ロボット制御装置6から送信される基準座標値によって座標情報格納領域526aに格納されている座標情報を更新する。このようにロボット制御装置6からは指定座標形式を設定又は変更する度に、指定座標形式における各制御軸の基準座標値が送信されるので、数値制御装置5側ではその時の指定座標形式における座標情報のみをメモリ526によって管理すればよい。すなわち、数値制御装置5側では、ロボット用の数値制御プログラムにおいて指定可能な全ての座標形式における全ての制御軸の座標値をメモリ526によって管理する必要がない。したがってロボット用の数値制御プログラムでは、ロボット3の位置及び姿勢を2以上の座標形式によって指定可能としつつ、座標形態情報管理部524及びメモリ526において管理する制御軸の数の増大を防止することができる。また座標形態情報管理部524及びメモリ526において管理する制御軸の数を少なくすることにより、数値制御装置5の高コスト化を防止することができ、従来から存在する数値制御装置5に容易にロボット制御モジュール52を追加することができる。また座標形態情報管理部524及びメモリ526において管理する制御軸の数を少なくすることにより、数値制御装置5のロボット制御モジュール52の演算負荷の増加も防止できるので、ロボット3や工作機械2の加工性能の低下も防止できる。
【0076】
本実施形態のロボット用の数値制御プログラムにおいて、ロボット3の位置及び姿勢は、直交座標形式又は各軸座標形式によって指定可能である。これにより、オペレータは、慣れ親しんだ座標形式の下で自由にロボット用の数値制御プログラムを作成することができる。
【0077】
本実施形態において、メモリ526の座標情報格納領域526aによって管理する座標情報の成分数は6であり、この成分数は、直交座標形式の制御軸の数である6と各軸座標形式の制御軸の数である6との和より少ない。これにより、メモリ526の座標情報格納領域526aのサイズを最小限にできるので、数値制御装置5の高コスト化を防止することができ、従来から存在する数値制御装置5に容易にロボット制御モジュール52を追加することができる。また座標情報格納領域526aのサイズを最小限にすることにより、数値制御装置5のロボット制御モジュール52の演算負荷の増加も防止できるので、ロボット3や工作機械2の加工性能の低下も防止できる。
【0078】
本開示は、上記実施形態に限定されるものではなく、種々の変更及び変形が可能である。
【符号の説明】
【0079】
1…数値制御システム
2…工作機械
3…ロボット
5…数値制御装置
51…工作機械制御モジュール
52…ロボット制御モジュール
521…プログラム入力部
522…入力解析部
523…座標形態情報制御部
524…座標形態情報管理部
525…ロボット指令信号生成部
526…メモリ
526a…座標情報格納領域
526b…形態情報格納領域
527…座標表示部
528…データ送受信部
53…記憶部
6…ロボット制御装置
61…データ送受信部
62…入力解析部
63…ロボット位置制御部
64…サーボ制御部
65…ロボット位置管理部