JP7004868B1 - 数値制御装置および数値制御方法 - Google Patents

数値制御装置および数値制御方法 Download PDF

Info

Publication number
JP7004868B1
JP7004868B1 JP2021506774A JP2021506774A JP7004868B1 JP 7004868 B1 JP7004868 B1 JP 7004868B1 JP 2021506774 A JP2021506774 A JP 2021506774A JP 2021506774 A JP2021506774 A JP 2021506774A JP 7004868 B1 JP7004868 B1 JP 7004868B1
Authority
JP
Japan
Prior art keywords
robot
unit
boundary point
machining
numerical control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021506774A
Other languages
English (en)
Other versions
JPWO2022014042A1 (ja
Inventor
健輔 馬場
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2022014042A1 publication Critical patent/JPWO2022014042A1/ja
Application granted granted Critical
Publication of JP7004868B1 publication Critical patent/JP7004868B1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41815Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell
    • G05B19/41825Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell machine tools and manipulators only, machining centre
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/005Manipulators for mechanical processing tasks
    • B25J11/006Deburring or trimming
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1684Tracking a line or surface by means of sensors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4097Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using design data to control NC machines, e.g. CAD/CAM
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23CMILLING
    • B23C2220/00Details of milling processes
    • B23C2220/20Deburring
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23DPLANING; SLOTTING; SHEARING; BROACHING; SAWING; FILING; SCRAPING; LIKE OPERATIONS FOR WORKING METAL BY REMOVING MATERIAL, NOT OTHERWISE PROVIDED FOR
    • B23D79/00Methods, machines, or devices not covered elsewhere, for working metal by removal of material
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45151Deburring

Landscapes

  • Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Numerical Control (AREA)

Abstract

数値制御装置(1)は、ワークの切削加工を行う工作機械(2)と、ワークのバリ取りのための工具が取り付けられたロボット(3)とを制御する。数値制御装置(1)は、ワークのうち切削加工によって除去される領域の境界を示す複数の境界点を、切削加工の制御のために実行される加工プログラム(21)の解析結果を基に算出する境界点算出部(34)と、複数の境界点を辿る経路上において工具を移動させるためのロボットプログラム(22)を生成するロボットプログラム生成部(32)とを備える。

Description

本開示は、ワークを加工する工作機械とワークのバリ取りを行うロボットとを制御する数値制御装置および数値制御方法に関する。
工作機械による切削加工が施されたワークについて、ロボットに取り付けられた工具によるバリ取りが実施されることがある。ロボットの駆動によるバリ取りでは、当該工具を移動させるためのロボットの位置制御が必要となる。なお、以下の説明では、工作機械に取り付けられる工具であって切削加工のための工具を加工工具、ロボットに取り付けられる工具であってバリ取りのための工具をロボット工具と称することがある。
特許文献1には、ワークの設計データであるCAD(Computer Aided Design)データからワークの理想形状データを取得し、理想形状データによって示される理想形状に沿ってロボット工具を移動させる方法が開示されている。
特開2012-20348号公報
加工プログラムであるNC(Numerical Control)プログラムの実行によって工作機械を制御する数値制御装置は、切削加工の時間短縮などのために、CADデータを基に生成された指令点を辿る経路とは若干異なる経路に沿って加工工具が移動するように工作機械の位置制御を行う場合がある。上記特許文献1に開示される従来の技術によると、工作機械による切削加工後のワークの形状が考慮されずにロボットの位置制御が行われることから、切削加工が施されたワークに対する高精度なバリ取りを行うことが困難であるという問題があった。
本開示は、上記に鑑みてなされたものであって、切削加工が施されたワークに対する高精度なバリ取りを可能とする数値制御装置を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本開示にかかる数値制御装置は、ワークの切削加工を行う工作機械と、ワークのバリ取りのための工具が取り付けられたロボットとを制御する。本開示にかかる数値制御装置は、ワークのうち切削加工によって除去される領域の境界を示す複数の境界点を、切削加工の制御のために実行される加工プログラムの解析結果を基に算出する境界点算出部と、複数の境界点を辿る経路上において工具を移動させるためのロボットプログラムを生成するロボットプログラム生成部とを備える。境界点算出部は、複数の境界点の各々に切削の順序を表す時系列データを付与し、ロボットプログラム生成部は、複数の境界点の各々に付与された時系列データによって示される順序で複数の境界点の各々を辿る経路を設定する。
本開示にかかる数値制御装置は、切削加工が施されたワークに対する高精度なバリ取りが可能となるという効果を奏する。
実施の形態1にかかる数値制御装置を含む制御システムを示す図 実施の形態1にかかる数値制御装置の概略構成を示す図 実施の形態1にかかる数値制御装置の構成と工作機械の構成とを示すブロック図 実施の形態1にかかる数値制御装置が有するシミュレーション部の処理について説明するための図 実施の形態1にかかる数値制御装置が有する境界点算出部の処理について説明するための図 実施の形態1にかかる数値制御装置が有する境界点算出部とロボットプログラム生成部との各々による処理について説明するための図 実施の形態1にかかる数値制御装置が有する補間点算出部による処理手順を示すフローチャート 実施の形態1にかかる数値制御装置が有する境界点算出部による処理手順を示すフローチャート 実施の形態1にかかる数値制御装置が有するロボットプログラム生成部による処理手順を示すフローチャート 実施の形態1にかかる数値制御装置に記憶される加工プログラムおよびロボットプログラムの例を示す図 実施の形態1にかかる数値制御装置が加工プログラムまたはロボットプログラムを自動起動した際における数値制御装置の動作手順を示すフローチャート 実施の形態1にかかる数値制御装置において生成されたロボットプログラムの実行によるバリ取りの例を説明するための図 実施の形態2にかかる数値制御装置に記憶される加工プログラムおよびロボットプログラムの例を示す図 実施の形態2にかかる数値制御装置による境界点の算出結果を表示する画面の例を示す図 実施の形態2にかかる数値制御装置において加工プログラムとロボットプログラムとを実行した場合における工作機械およびロボットの動作について説明するための図 実施の形態2にかかる数値制御装置が有する加工プログラム解析部による処理手順を示すフローチャート 実施の形態2にかかる数値制御装置が有する補間点算出部による処理手順を示すフローチャート 実施の形態2にかかる数値制御装置が有する境界点算出部による処理手順を示すフローチャート 実施の形態2にかかる数値制御装置が有するロボットプログラム生成部による処理手順を示すフローチャート 実施の形態2にかかる数値制御装置が加工プログラムまたはロボットプログラムを自動起動した際における数値制御装置の動作手順を示すフローチャート
以下に、実施の形態にかかる数値制御装置および数値制御方法を図面に基づいて詳細に説明する。
実施の形態1.
図1は、実施の形態1にかかる数値制御装置を含む制御システムを示す図である。制御システムは、実施の形態1にかかる数値制御装置1と、ワークの切削加工を行う工作機械2と、追加工であるバリ取りを行うロボット3と、ロボット3を駆動するロボットコントローラ4と、数値制御装置1への操作とロボット3への操作とを受け付ける入力操作部5とを有する。ロボット3は、切削加工が施されたワークのバリ取りを行う。数値制御装置1は、NCプログラムの実行によって工作機械2とロボット3とを制御する。
NC工作機械である工作機械2は、数値制御装置1に接続されている。ロボット3は、ロボットコントローラ4を介して数値制御装置1に接続されている。数値制御装置1と、工作機械2およびロボットコントローラ4の各々とは、通信ネットワークを介して互いに通信可能に接続されている。通信ネットワークは、例えばLAN(Local Area Network)である。数値制御装置1は、ロボットコントローラ4を介してロボット3を制御する。以下の説明では、数値制御装置1によるロボット3の制御において、ロボットコントローラ4が介されていることを省略する場合がある。
入力操作部5は、入出力ユニット6、操作盤7、手動ハンドル8および非常停止ボタン9を有する。操作盤7は、ユーザからの操作を受け付けて、操作に対応する信号を入出力ユニット6に送る。非常停止ボタン9は、ユーザによって押下されると、ロボットコントローラ4を停止させるための信号をロボットコントローラ4に送るとともに、工作機械2を停止させるための信号を入出力ユニット6に送る。入出力ユニット6は、操作盤7から送られてくる信号および非常停止ボタン9から送られてくる信号を、数値制御装置1に送る。非常停止ボタン9および入出力ユニット6は、操作盤7に配置されてもよい。ロボットコントローラ4は、非常停止ボタン9からの信号を受けると、ロボット3を非常停止させる。数値制御装置1は、工作機械2を停止させるための信号を入出力ユニット6から受けると、工作機械2を非常停止させる。
次に、数値制御装置1の構成について説明する。図2は、実施の形態1にかかる数値制御装置の概略構成を示す図である。数値制御装置1は、パーソナルコンピュータなどのコンピュータシステムである。コンピュータシステムには、実施の形態1にて説明する制御を統括するための制御プログラムがインストールされる。図2には、数値制御装置1が有する機能構成と、数値制御装置1の機能を実現するためのハードウェア構成とを示している。
数値制御装置1は、各種処理を実行する処理部であるプロセッサ10と、内蔵メモリであるメモリ11と、情報を記憶する記憶装置12と、数値制御装置1の外部の装置に接続されるインタフェース13とを有する。
プロセッサ10は、CPU(Central Processing Unit)である。プロセッサ10は、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、又はDSP(Digital Signal Processor)であっても良い。メモリ11は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)またはEEPROM(登録商標)(Electrically Erasable Programmable Read Only Memory)である。記憶装置12は、HDD(Hard Disk Drive)またはSSD(Solid State Drive)である。制御プログラムは、記憶装置12に格納される。プロセッサ10は、記憶装置12に格納されている制御プログラムをメモリ11に読み出して実行する。インタフェース13は、工作機械2、ロボットコントローラ4および入力操作部5に接続される。
数値制御装置1は、NCプログラムを解析するプログラム解析部14と、工作機械2を制御する加工制御部15と、ロボット3を制御するロボット制御部16とを備える。加工制御部15は、NCプログラムである加工プログラムの実行によって工作機械2を制御する。ロボット制御部16は、NCプログラムであるロボットプログラムの実行によってロボット3を制御する。数値制御装置1は、ロボットプログラムを生成するための処理を実行するロボットプログラム生成処理部17と、入力操作部5からの入力と入力操作部5への出力のための処理を担う入出力処理部18とを有する。
プログラム解析部14、加工制御部15、ロボット制御部16、ロボットプログラム生成処理部17および入出力処理部18の各機能は、プロセッサ10とソフトウェアの組み合わせによって実現される。当該各機能は、プロセッサ10およびファームウェアの組み合わせによって実現されても良く、プロセッサ10、ソフトウェアおよびファームウェアの組み合わせによって実現されても良い。ソフトウェアまたはファームウェアは、プログラムとして記述され、記憶装置12に格納される。各機能の詳細については後述する。
図3は、実施の形態1にかかる数値制御装置の構成と工作機械の構成とを示すブロック図である。図3には、ロボット3、ロボットコントローラ4および入力操作部5も示している。
工作機械2は、加工工具とワークとを駆動する駆動部40を有する。駆動部40は、ワークを回転駆動しながら加工工具を直進駆動する。加工工具は、X軸方向、Y軸方向およびZ軸方向の3つの方向における直進駆動が可能とされている。X軸、Y軸およびZ軸は、互いに垂直な3つの軸とする。なお、工作機械2は、上記3つの方向において加工工具の直進駆動が可能であるものに限定されない。加工工具の直進駆動が可能な方向は、工作機械2の構成によって適宜設定可能である。
駆動部40は、サーボモータ44と、サーボモータ44が発生させた駆動力を受けて回転する駆動軸と、駆動軸の回転駆動を直進駆動へ変換する機構とを有する。以下の説明では、加工工具を直進駆動させるための当該駆動軸を、直進軸と称することがある。図3では、直進軸と当該機構との図示を省略する。
駆動部40は、X軸方向において加工工具を直進駆動するための直進軸と、Y軸方向において加工工具を直進駆動するための直進軸と、Z軸方向において加工工具を直進駆動するための直進軸とを有する。駆動部40は、サーボモータ44の回転角度および速度を検出する検出器48を有する。駆動部40のドライブコントローラ41は、数値制御装置1からの移動指令を受信する。ドライブコントローラ41は、数値制御装置1からの移動指令に基づいてサーボモータ44を制御するサーボ制御部42を有する。サーボ制御部42は、検出器48による検出結果に基づいてサーボモータ44のフィードバック制御を行う。
駆動部40は、X軸方向の直進駆動のためのサーボ制御部42、サーボモータ44および検出器48と、Y軸方向の直進駆動のためのサーボ制御部42、サーボモータ44および検出器48と、Z軸方向の直進駆動のためのサーボ制御部42、サーボモータ44および検出器48との組み合わせを有する。工作機械2は、2つ以上のワークを同時に加工するための2つ以上の刃物台を有しても良い。この場合、駆動部40は、刃物台ごとについての上記組み合わせを有する。
駆動部40は、ワークを回転させる主軸である回転軸と、回転軸へ駆動力を与える主軸モータ45を有する。工作機械2は、回転軸を中心とする回転駆動によって、加工工具に対するワークの姿勢を変化させる。図3では、回転軸の図示を省略する。駆動部40は、主軸モータ45の回転角度および速度を検出する検出器49を有する。駆動部40は、1または複数の回転軸を有する。工作機械2は、ワークに対して加工工具を回転させることによって、加工工具に対するワークの姿勢を変化させても良い。このため、駆動部40が有する回転軸は、ワークを回転させる回転軸に限られず、加工工具を回転させる回転軸であっても良い。
ドライブコントローラ41は、数値制御装置1からの移動指令に基づいて主軸モータ45を制御する主軸制御部43を有する。主軸制御部43は、検出器49による検出結果に基づいて主軸モータ45のフィードバック制御を行う。工作機械2が2つ以上の刃物台を有する場合、駆動部40は、刃物台ごとについての、主軸制御部43、主軸モータ45および検出器49の組み合わせを有する。
ロボットコントローラ4は、数値制御装置1からのロボット指令を受信する。ロボットコントローラ4は、ロボット指令を基に、ロボット3を構成する複数の関節の各々を駆動するための指令を算出する。ロボットコントローラ4は、算出された指令をロボット3へ送信することにより、ロボット3を駆動する。
入力操作部5は、数値制御装置1から入力される画像データに応じた画面を表示する表示部46と、数値制御装置1への操作を受け付ける入力部47とを有する。表示部46と入力部47との各機能は、タッチパネルを有する入力装置によって実現される。入力部47を構成するボタンは、表示部46に表示される。なお、図1に示す操作盤7、手動ハンドル8および非常停止ボタン9は、入力部47に含まれるものであっても良い。入出力ユニット6は、入力装置に備えられるものであっても良い。
数値制御装置1は、記憶部20を有する。記憶部20の機能は、記憶装置12を用いて実現される。記憶部20は、加工プログラム21と、ロボットプログラム22とを記憶する。加工プログラム21は、CAM(Computer Aided Manufacturing)装置によって作成されたNCプログラムである。ロボットプログラム22は、ロボットプログラム生成処理部17によって生成されたNCプログラムである。記憶部20は、工作機械データ23と、ワークデータ24と、加工工具データ25と、ロボット工具データ26とを記憶する。
工作機械データ23は、主に、工作機械2の構造を示す構造データであって、工作機械2の諸元を示すデータを含む。数値制御装置1は、工作機械データ23を用いることによって、加工工具の位置の識別などを行う。ワークデータ24は、ワークのサイズおよびワークの設置位置を示すデータを含む。加工工具データ25は、工作機械2による切削加工に使用される加工工具の形状についてのデータである。加工工具データ25は、加工工具の径および加工工具の長さといったデータを含む。ロボット工具データ26は、ロボット3によるバリ取りに使用されるロボット工具の形状についてのデータである。ロボット工具データ26は、ロボット工具の半径およびロボット工具の長さといったデータを含む。
プログラム解析部14は、記憶部20から加工プログラム21を読み出す。プログラム解析部14は、加工プログラム21に記述されている処理の内容を基に、指令位置と指令速度とを解析する。プログラム解析部14は、加工プログラム21に記述されている処理の内容を基に、ワークの指令角度を解析する。プログラム解析部14は、指令位置、指令速度および指令角度の解析結果を加工制御部15へ出力する。
加工制御部15は、補間処理部27と、加減速処理部28と、軸指令出力部29とを有する。補間処理部27は、プログラム解析部14における指令位置と指令速度との解析結果を基に、加工工具を直進駆動する3つの方向の各々について、制御周期ごとの移動量を求める。補間処理部27は、補間処理によって、制御周期ごとの加工工具の位置を表す補間点を生成する。また、補間処理部27は、プログラム解析部14における指令角度の解析結果を基に、制御周期ごとのワークの回転角度を求める。補間処理部27は、補間処理によって、制御周期ごとのワークの回転角度を表す補間点を生成する。補間処理部27は、生成された補間点である補間結果を出力する。
加減速処理部28は、補間結果の加減速処理を実行する。軸指令出力部29は、加減速処理後の補間結果を基に、各軸方向における加工工具の直進駆動についての移動指令を生成する。軸指令出力部29は、加減速処理後の補間結果を基に、ワークの回転駆動についての移動指令を生成する。移動指令は、制御周期ごとの補間点群である。軸指令出力部29は、生成された移動指令をサーボ制御部42と主軸制御部43との各々へ出力する。
プログラム解析部14は、記憶部20からロボットプログラム22を読み出す。プログラム解析部14は、ロボットプログラム22に記述されている処理の内容を基に、ロボット工具の指令位置と指令速度とを解析する。プログラム解析部14は、指令位置と指令速度との解析結果をロボット制御部16へ出力する。ロボット制御部16は、解析結果を基に、単位時間ごとの補間点群を生成する。ロボット制御部16は、生成された補間点群をロボットコントローラ4が解釈可能な形式の指令であるロボット指令へ変換する。ロボット制御部16は、ロボット指令をロボットコントローラ4へ出力する。
入出力処理部18は、画像データを生成する画像処理部35と、入力操作部5からの入力に対する処理を実行する入力制御部36とを有する。画像処理部35は、生成された画像データを表示部46へ出力する。表示部46に表示されたボタンが押下された場合に、入力部47は、入力制御部36へ操作の内容を通知する。
表示部46には、ロボットプログラムの生成開始を指示するための開始ボタンが表示される。当該開始ボタンが押下されることによって、入力部47は、ロボットプログラムの生成開始が指示されたことを入力制御部36へ通知する。入力制御部36は、当該通知に従って、ロボットプログラム生成処理部17を起動させる。
ロボットプログラム生成処理部17は、加工プログラム解析部30と、シミュレーション部31と、ロボットプログラム生成部32とを有する。ロボットプログラム生成処理部17の起動によって、加工プログラム解析部30は、記憶部20から加工プログラム21を読み出す。加工プログラム解析部30は、加工プログラム21の解析により、加工プログラム21のブロックごとにおける加工工具の指令位置および指令速度を解析する。解析は、例えば文字列解析である。また、加工プログラム解析部30は、加工プログラム21のブロックごとにおけるワークの指令角度を解析する。加工プログラム解析部30は、指令位置、指令速度および指令角度の解析結果をシミュレーション部31へ出力する。
シミュレーション部31は、補間点算出部33と境界点算出部34とを有する。補間点算出部33は、加工プログラム解析部30における解析結果を基に、直進駆動および回転駆動について、単位時間ごとにおける補間点を算出する。単位時間は、補間点算出部33における補間周期を表す。補間点算出部33によって算出される補間点は、実際の切削加工時における補間点と同一である。補間点算出部33は、算出された補間点のデータを境界点算出部34へ出力する。
境界点算出部34は、ワークのうち切削加工によって除去される領域の境界を示す複数の境界点を加工プログラム21の解析結果を基に算出する。具体的には、境界点算出部34は、加工プログラム21の解析結果を基に算出された複数の補間点と加工工具データ25とに基づいて複数の境界点を算出する。
図4は、実施の形態1にかかる数値制御装置が有するシミュレーション部の処理について説明するための図である。補間点算出部33は、記憶部20に記憶されている工作機械データ23、ワークデータ24および加工工具データ25を読み出す。補間点算出部33は、単位時間ごとにおける補間点の算出結果と、工作機械データ23および加工工具データ25とを基に、単位時間ごとの加工工具位置を算出する。加工工具データ25は、加工工具51についての工具径Rおよび工具長さLのデータを含む。
図5は、実施の形態1にかかる数値制御装置が有する境界点算出部の処理について説明するための図である。図5には、切削加工によって、加工工具51の先端53がワーク50の上面52よりも下方へ進行している様子を示している。境界点Pは、ワーク50の上面52のうち切削によって除去される領域ARと除去されずに残存する領域との境界を表す。
ある加工工具位置に加工工具51がとどまって切削加工が行われた状態を想定した場合において、当該加工工具位置に加工工具51の中心を一致させた場合における加工工具51の外縁上の位置が境界点Pとなる。境界点算出部34は、加工プログラム21に従って単位時間ごとに加工工具51を移動させるシミュレーションを実施し、加工工具位置とワークデータ24とを基に、境界点Pの位置を表す座標を算出する。
境界点算出部34は、加工工具51による切削加工が進められることによって領域ARの境界ではなくなった境界点P’を随時削除する。境界点算出部34は、このようにして、領域ARについての切削加工が終了したときにおける複数の境界点Pを求める。
境界点算出部34は、領域ARにおける各境界点Pについての座標に、切削の順序を表す時系列データを付与する。境界点算出部34は、加工プログラム21によって指示される加工工具51の移動経路を参照して、領域ARの切削加工を開始してから各加工工具位置に加工工具51が到達するまでの時間を算出する。境界点算出部34は、かかる時間の算出結果に基づいて、各境界点Pについての時系列データを生成する。時系列データは、算出された時間を表すデータである。時系列データは、切削の順序を表す数値であっても良い。境界点算出部34は、算出された時間を基に、順序を表す数値を求めることができる。境界点算出部34は、各境界点Pの座標と、座標に付与された時系列データとをロボットプログラム生成部32へ出力する。
ロボットプログラム生成部32には、領域ARについての複数の境界点Pについての座標と、座標に付与された時系列データとが入力される。ロボットプログラム生成部32は、時系列データによって示される順序で複数の境界点Pの各々を辿る経路を設定する。ロボットプログラム生成部32は、当該経路上においてロボット工具を移動させるためのロボットプログラム22を生成する。
図6は、実施の形態1にかかる数値制御装置が有する境界点算出部とロボットプログラム生成部との各々による処理について説明するための図である。図6に示す4つの境界点Pt0は、領域ARのうち最初の加工工具位置での切削によって形成された境界上の点である。各境界点Pt0の座標には、加工開始時である時間t0を表す時系列データが付与されている。図6に示す2つの境界点Pt1は、領域ARのうち2番目の加工工具位置での切削によって形成された境界上の点である。各境界点Pt1の座標には、加工開始時から当該加工工具位置に加工工具51が到達するまでの時間t1を表す時系列データが付与されている。境界点Pt2,Pt3,Pt4,Pt5,Pt6,Pt7についても、境界点Pt0および境界点Pt1と同様とする。
ロボットプログラム生成部32は、記憶部20に記憶されているロボット工具データ26を読み出す。ロボット工具データ26は、ロボット工具についての工具径および工具長さのデータを含む。ロボットプログラム生成部32は、各境界点Pt0-Pt7の座標と時系列データとに基づいて、切削加工と同じ時系列で各境界点Pt0-Pt7を辿る経路上においてロボット工具を移動させるためのロボットプログラム22を生成する。ロボットプログラム生成部32は、読み出されたロボット工具データ26に基づいて、ロボット工具の形状が加味されたロボットプログラム22を生成する。
同じ時系列データが付与されている境界点同士については、ロボットプログラム生成部32は、当該時系列データの次の時系列データが付与されている境界点から最も離れている境界点から順に各境界点を辿るように経路を設定する。例を挙げると、4つの境界点Pt0の各々には、同じ時間t0を表す時系列データが付与されている。ロボットプログラム生成部32は、4つの境界点Pt0のうち、時間t1を表す時系列データが付与されている境界点Pt1から最も離れている1つの境界点Pt0を起点に設定する。ロボットプログラム生成部32は、起点とされた境界点Pt0から境界点Pt1へ向かう経路を設定する。
このようにして、ロボットプログラム生成部32は、図6に示す各経路Qt1,Qt2,Qt3,Qt4,Qt5を順次辿る経路を設定する。ロボットプログラム生成部32は、設定された経路に沿ってロボット工具を移動させる移動指令であるロボット指令を生成する。ロボットプログラム生成部32は、生成されたロボット指令を含むロボットプログラム22を生成する。記憶部20は、ロボットプログラム生成部32によって生成されたロボットプログラム22を記憶する。
次に、ロボットプログラム生成処理部17の各機能部における処理の手順について説明する。図7は、実施の形態1にかかる数値制御装置が有する補間点算出部による処理手順を示すフローチャートである。ステップS1において、補間点算出部33は、指令位置および指令速度の解析結果を加工プログラム解析部30から取得する。ステップS2において、補間点算出部33は、直進駆動および回転駆動についての各補間点を算出する。補間点算出部33は、算出された各補間点を示す座標を境界点算出部34へ出力する。これにより、補間点算出部33は、図7に示す手順による処理を終了する。
図8は、実施の形態1にかかる数値制御装置が有する境界点算出部による処理手順を示すフローチャートである。ステップS11において、境界点算出部34は、各補間点の座標を補間点算出部33から取得する。ステップS12において、境界点算出部34は、工作機械データ23および加工工具データ25を記憶部20から読み出す。
ステップS13において、境界点算出部34は、各補間点の座標と工作機械データ23と加工工具データ25とを基に、単位時間ごとにおける加工工具位置を算出する。ステップS14において、境界点算出部34は、ワークデータ24を記憶部20から読み出す。ステップS15において、境界点算出部34は、算出された加工工具位置とワークデータ24とを基に、ワーク50のうち切削によって除去される領域を算出する。
ステップS16において、境界点算出部34は、ワーク50の切削があるか否かを判定する。ワーク50の切削がある場合(ステップS16,Yes)、ステップS17において、境界点算出部34は、算出された加工工具位置についての境界点の座標を算出する。境界点算出部34は、単位時間ごとの各加工工具位置について、ステップS16による判定を実行するとともに境界点の座標を算出する。ステップS18において、境界点算出部34は、算出された境界点の座標に時系列データを紐付けする。ワーク50の切削がない場合(ステップS16,No)、またはステップS18の実行により、境界点算出部34は、図8に示す手順による処理を終了する。
図9は、実施の形態1にかかる数値制御装置が有するロボットプログラム生成部による処理手順を示すフローチャートである。ステップS21において、ロボットプログラム生成部32は、切削により除去される領域における複数の境界点について、境界点の座標と、当該座標に紐付けられている時系列データとを取得する。ステップS22において、ロボットプログラム生成部32は、ロボット工具データ26を記憶部20から読み出す。
ステップS23において、ロボットプログラム生成部32は、ステップS21にて読み出された境界点の座標を時系列にソートする。ステップS24において、ロボットプログラム生成部32は、各境界点の時系列に従って、各境界点を通る経路に沿ってロボット工具を移動させるためのロボット指令を生成する。当該経路では、境界点同士が直線によって繋がれる。ステップS25において、ロボットプログラム生成部32は、ステップS24にて生成されたロボット指令をロボットプログラム22に追加する。これにより、ロボットプログラム生成部32は、図9に示す手順による処理を終了する。
図10は、実施の形態1にかかる数値制御装置に記憶される加工プログラムおよびロボットプログラムの例を示す図である。図10に示す例において、加工プログラム21の先頭には、シーケンス番号「N1」のブロックが記述されている。加工プログラム21には、ワーク50と工作機械2との位置決め、主軸に対する回転指令、切削加工のための指令である切削指令などが記述されている。図10に示す加工プログラム21には、任意の形状のワーク50への切削加工について、G1指令、すなわち2点を直線で移動する直線補間のための指令が記述されている。
ロボットプログラム22の先頭には、シーケンス番号「N1001」のブロックが記述されている。ロボットプログラム22には、ワーク50とロボット3との位置決め、バリ取り加工のための指令である追加工指令などが記述されている。数値制御装置1は、上記の加工プログラム21の実行によって加工されたワーク50に対するバリ取りを行うためのロボットプログラム22を生成する。
図11は、実施の形態1にかかる数値制御装置が加工プログラムまたはロボットプログラムを自動起動した際における数値制御装置の動作手順を示すフローチャートである。ステップS31において、プログラム解析部14は、現在の解析対象であるプログラムが加工プログラム21であるか否かを判断する。プログラム解析部14は、解析対象におけるブロックの内容に基づいて、解析対象が加工プログラム21とロボットプログラム22とのいずれであるかを判断する。プログラム解析部14は、それぞれの指令の終点位置または指令速度を解析する。
解析対象が加工プログラム21である場合(ステップS31,Yes)、プログラム解析部14は、ステップS32において加工プログラム21を解析する。プログラム解析部14は、解析結果を補間処理部27へ出力する。ステップS34において、補間処理部27は、補間点を生成するための補間処理を実行する。ステップS35において、加減速処理部28は、加減速処理を実行する。軸指令出力部29は、加減速処理後の補間結果を基に、加工工具の直進駆動についての移動指令とワーク50の回転駆動についての移動指令とを生成する。ステップS36において、軸指令出力部29は、ドライブコントローラ41へ生成された移動指令を出力する。
一方、解析対象が加工プログラム21ではない場合(ステップS31,No)、すなわち加工対象がロボットプログラム22である場合、プログラム解析部14は、ステップS33においてロボットプログラム22を解析する。プログラム解析部14は、解析結果をロボット制御部16へ出力する。ロボット制御部16は、解析結果を基に、ロボットコントローラ4が解釈可能な形式のロボット指令を生成する。ステップS37において、ロボット制御部16は、ロボットコントローラ4へ生成されたロボット指令を出力する。ステップS36またはステップS37の実行により、数値制御装置1は、図11に示す手順による動作を終了する。
図12は、実施の形態1にかかる数値制御装置において生成されたロボットプログラムの実行によるバリ取りの例を説明するための図である。数値制御装置1は、切削加工に要する時間の短縮などを目的として、CADデータを基に生成された指令点を辿る経路とは若干異なる経路に沿って加工工具が移動するように工作機械の位置制御を行う場合がある。このため、加工工具は、CADデータを基に生成された各指令点を通る経路とは若干異なる経路を移動する場合がある。
例えば、図12に示すように、各指令点CP1,CP2,CP3,CP4を通る経路CRに対し、指令点CP1,CP4間にて曲線を描く経路TRを加工工具が移動したとする。この場合、CADデータに示される理想形状に沿ってロボット工具を移動させても、指令点CP2,CP3にはロボット工具が到達せず、指令点CP2,CP3の付近におけるバリ取りが行われないことになる。
実施の形態1によると、数値制御装置1は、切削加工によって除去される領域の境界を示す複数の境界点を算出し、複数の境界点を辿る経路上においてロボット工具を移動させるためのロボットプログラム22を生成する。数値制御装置1は、切削加工が施されたワーク50の形状に沿ってロボット工具を移動させることが可能なロボットプログラム22を生成することができる。数値制御装置1は、かかるロボットプログラム22の実行により、切削加工が施されたワーク50の形状に合わせて高精度なバリ取りを行うことが可能となる。数値制御装置1は、切削加工後のワーク50の形状を測定するためのカメラ等を用いなくても、切削加工が施されたワーク50の形状に合わせた高精度なバリ取りを行うことができる。以上により、数値制御装置1は、切削加工が施されたワーク50に対する高精度なバリ取りが可能となるという効果を奏する。
実施の形態2.
実施の形態2では、工作機械2による切削加工とロボット3によるバリ取りである追加工とを同時に実施するための数値制御装置1の動作について説明する。実施の形態2にかかる数値制御装置1は、実施の形態1にかかる数値制御装置1と同様の構成を有する。実施の形態2では、上記の実施の形態1と同一の構成要素には同一の符号を付し、実施の形態1とは異なる構成について主に説明する。
実際の加工において、制御システムは、ワーク50における任意の箇所までの切削加工が完了した後に、ロボット3による追加工を開始することで、切削加工と追加工とを並行して実施する。制御システムは、切削加工と追加工とを並行して実施することによって、タクトタイムの短縮が可能となる。これにより、制御システムは、加工時間の短縮が可能となる。
図13は、実施の形態2にかかる数値制御装置に記憶される加工プログラムおよびロボットプログラムの例を示す図である。実施の形態2において、ロボットプログラム生成部32は、生成されるロボットプログラム22に、追加工待機指令を追加する。数値制御装置1は、追加工待機指令の追加によって、切削加工と追加工とを並行して実施可能とし、加工時間短縮の効果を得ることが可能となる。
加工プログラム21には、ロボット3による加工範囲を指定するための指令が含まれる。図13において、「LABEL_A」、「LABEL_B」、「LABEL_C」の各ラベルは、それぞれ、ロボット3による追加工が行われる領域を指定するための指令である。「LABEL_A」は、領域Aを指定するためのラベルである。「LABEL_B」は、領域Bを指定するためのラベルである。「LABEL_C」は、領域Cを指定するためのラベルである。制御システムのユーザは、CAM装置によって作成された加工プログラム21に、加工範囲を指定するための任意の指令を追加することができる。加工プログラム21には、領域ごとに、加工範囲の開始を指定するための指令と、加工範囲の終了を指定するための指令とが追加される。
実施の形態2におけるロボットプログラム生成処理部17の構成は、実施の形態1におけるロボットプログラム生成処理部17の構成と同様である。実施の形態2では、ロボットプログラム生成部32は、加工プログラム解析部30による指令位置および指令速度の解析結果に上記ラベルを付与する。また、ロボットプログラム生成部32は、シミュレーション部31によって算出された各境界点に上記ラベルを付与する。数値制御装置1は、加工プログラム21に含まれる加工範囲指定のための指令に対応した追加工待機指令をロボットプログラム22に追加する。追加工待機指令は、追加工を待機させるための待機指令である。ロボットプログラム生成部32は、加工範囲指定のための指令が実行されることによって、追加工待機指令をロボットプログラム22に追加する。
図13に示すロボットプログラム22には、領域Aのバリ取り加工のための追加工指令の前に、領域Aについての追加工待機指令が追加されている。領域Bのバリ取り加工のための追加工指令の前には、領域Bについての追加工待機指令が追加されている。領域Cのバリ取り加工のための追加工指令の前には、領域Cについての追加工待機指令が追加されている。
図3に示す画像処理部35は、シミュレーション部31による各境界点の算出結果を表示するための画像データを生成する。表示部46は、画像データに従って、各境界点の算出結果を表示する。図14は、実施の形態2にかかる数値制御装置による境界点の算出結果を表示する画面の例を示す図である。
図14では、加工プログラム21に2つのラベル「LABEL_A」,「LABEL_B」が含まれる場合の例を示す。図14において、「ラベルAの切削範囲」は、「LABEL_A」によって指定される領域Aを表す。「ラベルAの座標データ」は、領域Aの各境界点の座標を表す。「ラベルBの切削範囲」は、「LABEL_B」によって指定される領域Bを表す。「ラベルBの座標データ」は、領域Bの各境界点の座標を表す。表示部46は、各境界点の算出結果をラベルごとに区別して表示する。
図15は、実施の形態2にかかる数値制御装置において加工プログラムとロボットプログラムとを実行した場合における工作機械およびロボットの動作について説明するための図である。実施の形態2では、数値制御装置1は、複数の系統を有する。複数の系統の各々は、NCプログラムを実行するための処理系統である。数値制御装置1は、加工プログラム21とロボットプログラム22とを互いに異なる系統において実行する。以下の説明において、加工プログラム21を実行する系統を第1の系統、ロボットプログラム22を実行する系統を第2の系統と称することがある。なお、図15において、領域AR1は領域A、領域AR2は領域Bを表す。
工作機械2が加工工具51による領域AR1の切削加工を行っている間は、ロボット3は、ロボットプログラム22に含まれる追加工待機指令に従って、領域AR1におけるバリ取りのための追加工を待機する。ロボット3は、加工プログラム21のうち領域AR1について加工範囲の終了を指定するための指令が実行されるまで、追加工を待機する。
領域AR1についての切削加工が完了し、領域AR1について加工範囲の終了を指定するための指令が実行されると、ロボット3は、ロボット工具60による領域AR1のバリ取りを開始する。領域AR1のバリ取りと並行して、工作機械2は、領域AR2の切削加工を行う。このように、数値制御装置1は、領域AR1の切削加工が完了するまで領域AR1のバリ取りを待機させる。また、数値制御装置1は、領域AR1の切削加工が完了した後は、領域AR1のバリ取りと領域AR2の切削加工とを並行して実施する。
次に、ロボットプログラム生成処理部17の各機能部における処理の手順について説明する。図16は、実施の形態2にかかる数値制御装置が有する加工プログラム解析部による処理手順を示すフローチャートである。ステップS41において、加工プログラム解析部30は、加工プログラム21のうち読み出されたブロックが、ロボット3による加工範囲の開始を指定するための指令か否かを判断する。
読み出されたブロックが加工範囲の開始を指定するための指令である場合(ステップS41,Yes)、加工プログラム解析部30は、ステップS42において、プログラム生成のモードを、ラベル付けを有効とするモードへ切り換える。ラベル付けを有効とするモードにおいて、加工プログラム解析部30は、指令位置および指令速度の解析結果に上記ラベルを付与する。
一方、読み出されたブロックが加工範囲の開始を指定するための指令ではない場合(ステップS41,No)、加工プログラム解析部30は、ステップS43において、加工プログラム21のうち読み出されたブロックが、ロボット3による加工範囲の終了を指定するための指令か否かを判断する。
読み出されたブロックが加工範囲の終了を指定するための指令である場合(ステップS43,Yes)、加工プログラム解析部30は、ステップS44において、プログラム生成のモードを、ラベル付けを無効とするモードへ切り換える。ラベル付けを無効とするモードにおいて、加工プログラム解析部30は、指令位置および指令速度の解析結果への上記ラベルの付与を行わない。
一方、読み出されたブロックが加工範囲の終了を指定するための指令ではない場合(ステップS43,No)、加工プログラム解析部30は、ステップS45において、現在のプログラム生成のモードが、ラベル付けを有効とするモードか否かを判断する。現在のプログラム生成のモードが、ラベル付けを有効とするモードである場合(ステップS45,Yes)、ステップS46において、加工プログラム解析部30は、ラベル付きの解析結果をシミュレーション部31へ出力する。現在のプログラム生成のモードが、ラベル付けを無効とするモードである場合(ステップS45,No)、ステップS47において、加工プログラム解析部30は、ラベル無しの解析結果をシミュレーション部31へ出力する。ステップS42、ステップS44、ステップS46またはステップS47の実行により、加工プログラム解析部30は、図16に示す手順による動作を終了する。
図17は、実施の形態2にかかる数値制御装置が有する補間点算出部による処理手順を示すフローチャートである。ステップS51において、補間点算出部33は、指令位置および指令速度の解析結果を加工プログラム解析部30から取得する。ステップS52において、補間点算出部33は、直進駆動および回転駆動についての各補間点を算出する。
ステップS53において、補間点算出部33は、ステップS51において取得された解析結果が、ラベル付きの解析結果か否かを判断する。取得された解析結果がラベル付きの解析結果である場合(ステップS53,Yes)、ステップS54において、補間点算出部33は、算出された補間点の座標にラベルを紐付けする。補間点算出部33は、ラベルが紐付けされた補間点の座標を境界点算出部34へ出力する。
一方、取得された解析結果がラベル付きの解析結果ではない場合(ステップS53,No)、補間点算出部33は、ステップS54をスキップする。補間点算出部33は、ラベルが紐付けられていない補間点の座標を境界点算出部34へ出力する。ステップS54の実行により、またはステップS54のスキップにより、補間点算出部33は、図17に示す手順による処理を終了する。
図18は、実施の形態2にかかる数値制御装置が有する境界点算出部による処理手順を示すフローチャートである。ステップS61において、境界点算出部34は、各補間点の座標を補間点算出部33から取得する。ステップS62において、境界点算出部34は、工作機械データ23および加工工具データ25を記憶部20から読み出す。
ステップS63において、境界点算出部34は、各補間点の座標と工作機械データ23と加工工具データ25とを基に、単位時間ごとにおける加工工具位置を算出する。ステップS64において、境界点算出部34は、ワークデータ24を記憶部20から読み出す。ステップS65において、境界点算出部34は、算出された加工工具位置とワークデータ24とを基に、ワーク50のうち切削によって除去される領域を算出する。
ステップS66において、境界点算出部34は、ワーク50の切削があるか否かを判定する。ワーク50の切削がある場合(ステップS66,Yes)、ステップS67において、境界点算出部34は、算出された加工工具位置についての境界点の座標を算出する。境界点算出部34は、単位時間ごとの各加工工具位置について、ステップS66による判定を実行するとともに境界点の座標を算出する。ステップS68において、境界点算出部34は、算出された境界点の座標に時系列データを紐付けする。
ステップS69において、境界点算出部34は、算出された境界点が、ラベル付きの補間点についての境界点か否かを判断する。算出された境界点が、ラベル付きの補間点についての境界点である場合(ステップS69,Yes)、ステップS70において、境界点算出部34は、算出された境界点の座標にラベルを紐付けする。境界点算出部34は、ラベルと時系列データとが紐付けされた境界点の座標をロボットプログラム生成部32へ出力する。
一方、算出された境界点が、ラベル付きの補間点についての境界点ではない場合(ステップS69,No)、境界点算出部34は、ステップS70をスキップする。境界点算出部34は、時系列データとラベルとのうち時系列データのみが紐付けられた境界点の座標をロボットプログラム生成部32へ出力する。ステップS70の実行により、またはステップS70のスキップにより、境界点算出部34は、図18に示す手順による処理を終了する。または、ワーク50の切削がない場合(ステップS66,No)、境界点算出部34は、図18に示す手順による処理を終了する。
図19は、実施の形態2にかかる数値制御装置が有するロボットプログラム生成部による処理手順を示すフローチャートである。ステップS81において、ロボットプログラム生成部32は、切削により除去される領域における複数の境界点について、境界点の座標と、当該座標に紐付けられている時系列データとを取得する。
ステップS82において、ロボットプログラム生成部32は、ステップS81において取得された境界点が、ラベル付きの境界点か否かを判断する。境界点がラベル付きの境界点ではない場合(ステップS82,No)、ロボットプログラム生成部32は、手順をステップS86へ進める。
一方、境界点がラベル付きの境界点である場合(ステップS82,Yes)、ステップS83において、ロボットプログラム生成部32は、前回の境界点がラベル無しの境界点か否かを判断する。前回の境界点とは、ステップS81において取得された境界点の1つ前にロボットプログラム生成部32において取得された境界点とする。前回の境界点がラベル無しの境界点である場合(ステップS83,Yes)、ロボットプログラム生成部32は、手順をステップS85へ進める。
一方、前回の境界点がラベル無しの境界点ではなかった場合(ステップS83,No)、ステップS84において、ロボットプログラム生成部32は、ステップS81において取得された境界点のラベルが、前回の境界点のラベルとは異なるか否かを判断する。ステップS81において取得された境界点のラベルが、前回の境界点のラベルと同じである場合(ステップS84,No)、ロボットプログラム生成部32は、手順をステップS86へ進める。一方、ステップS81において取得された境界点のラベルが、前回の境界点のラベルと異なる場合(ステップS84,Yes)、ロボットプログラム生成部32は、手順をステップS85へ進める。
ステップS85において、ロボットプログラム生成部32は、ステップS81において取得された境界点のラベルに対応する追加工待機指令をロボットプログラム22に追加する。ロボットプログラム生成部32は、ステップS85の実行により、手順をステップS86へ進める。
ステップS86において、ロボットプログラム生成部32は、ロボット工具データ26を記憶部20から読み出す。ステップS87において、ロボットプログラム生成部32は、ステップS81にて読み出された境界点の座標を時系列にソートする。ステップS88において、ロボットプログラム生成部32は、各境界点の時系列に従って、各境界点を通る経路に沿ってロボット工具を移動させるためのロボット指令を生成する。当該経路では、境界点同士が直線によって繋がれる。ステップS89において、ロボットプログラム生成部32は、ステップS88にて生成されたロボット指令をロボットプログラム22に追加する。これにより、ロボットプログラム生成部32は、図19に示す手順による処理を終了する。
数値制御装置1は、第1の系統では加工プログラム21を実行し、第2の系統ではロボットプログラム22を実行する。これにより、制御システムは、工作機械2による切削加工とロボット3による追加工とを同時に行う。
図20は、実施の形態2にかかる数値制御装置が加工プログラムまたはロボットプログラムを自動起動した際における数値制御装置の動作手順を示すフローチャートである。ステップS91において、プログラム解析部14は、現在の解析対象であるプログラムが加工プログラム21であるか否かを判断する。
解析対象が加工プログラム21である場合(ステップS91,Yes)、プログラム解析部14は、ステップS92において加工プログラム21を解析する。ステップS94において、プログラム解析部14は、実行されるブロックが、ロボット3による加工範囲の終了を指定するための指令のブロックか否かを判断する。
実行されるブロックが、加工範囲の終了を指定するための指令のブロックである場合(ステップS94,Yes)、ステップS95において、プログラム解析部14は、終了した加工範囲に対応するラベルをメモする。ここでは、プログラム解析部14は、当該加工範囲の切削加工が終了したことを示すラベルを残す。ロボット3は、追加工を行う際に、追加工の対象である加工範囲において追加工の前提である切削加工が終了しているか否かを、かかるラベルに基づいて判断する。一方、実行されるブロックが、加工範囲の終了を指定するための指令のブロックではない場合(ステップS94,No)、プログラム解析部14は、ステップS95をスキップする。プログラム解析部14は、解析結果を補間処理部27へ出力する。ステップS95の実行またはステップS95のスキップにより、数値制御装置1は、手順をステップS96へ進める。
ステップS96において、補間処理部27は、補間点を生成するための補間処理を実行する。ステップS97において、加減速処理部28は、加減速処理を実行する。軸指令出力部29は、加減速処理後の補間結果を基に、加工工具の直進駆動についての移動指令とワーク50の回転駆動についての移動指令とを生成する。ステップS98において、軸指令出力部29は、ドライブコントローラ41へ生成された移動指令を出力する。
一方、解析対象が加工プログラム21ではない場合(ステップS91,No)、すなわち加工対象がロボットプログラム22である場合、プログラム解析部14は、ステップS93においてロボットプログラム22を解析する。ステップS99において、プログラム解析部14は、実行されるブロックが、追加工待機指令のブロックか否かを判断する。実行されるブロックが、追加工待機指令のブロックではない場合(ステップS99,No)、数値制御装置1は、ステップS100をスキップして、手順をステップS101へ進める。
一方、実行されるブロックが、追加工待機指令のブロックである場合(ステップS99,Yes)、ステップS100において、プログラム解析部14は、加工範囲の終了を指定するための指令のブロックが実行済みか否かを判断する。加工範囲の終了を指定するための指令のブロックが実行済みである場合(ステップS100,Yes)、数値制御装置1は、手順をステップS101へ進める。一方、加工範囲の終了を指定するための指令のブロックが実行済みではない場合(ステップS100,No)、数値制御装置1は、加工範囲の終了を指定するための指令が実行されるまでステップS100における判断を繰り返す。プログラム解析部14は、解析結果をロボット制御部16へ出力する。
ロボット制御部16は、解析結果を基に、ロボットコントローラ4が解釈可能な形式のロボット指令を生成する。ステップS101において、ロボット制御部16は、ロボットコントローラ4へ生成されたロボット指令を出力する。ステップS98またはステップS101の実行により、数値制御装置1は、図20に示す手順による動作を終了する。プログラム解析部14は、上記のステップS95において残されたラベルに示される加工範囲までの切削加工が完了したか否かを、ステップS99,S100において判断する。数値制御装置1は、当該加工範囲までの切削加工が完了している場合に、当該加工範囲までの追加工を開始する。
実施の形態2によると、数値制御装置1は、切削加工が施される領域の切削が完了するまで、ロボット3による当該領域のバリ取りを待機させる。また、数値制御装置1は、ロボット3による当該領域のバリ取りと、当該領域の次に切削加工が施される領域における工作機械2による切削とを並行して行わせることができる。制御システムは、ワーク50全体の切削加工が終了するよりも前において、切削が終了した領域からバリ取りを開始できることから、加工時間を短縮することができる。
以上の各実施の形態に示した構成は、本開示の内容の一例を示すものである。各実施の形態の構成は、別の公知の技術と組み合わせることが可能である。各実施の形態の構成同士が適宜組み合わせられても良い。本開示の要旨を逸脱しない範囲で、各実施の形態の構成の一部を省略または変更することが可能である。
1 数値制御装置、2 工作機械、3 ロボット、4 ロボットコントローラ、5 入力操作部、6 入出力ユニット、7 操作盤、8 手動ハンドル、9 非常停止ボタン、10 プロセッサ、11 メモリ、12 記憶装置、13 インタフェース、14 プログラム解析部、15 加工制御部、16 ロボット制御部、17 ロボットプログラム生成処理部、18 入出力処理部、20 記憶部、21 加工プログラム、22 ロボットプログラム、23 工作機械データ、24 ワークデータ、25 加工工具データ、26 ロボット工具データ、27 補間処理部、28 加減速処理部、29 軸指令出力部、30 加工プログラム解析部、31 シミュレーション部、32 ロボットプログラム生成部、33 補間点算出部、34 境界点算出部、35 画像処理部、36 入力制御部、40 駆動部、41 ドライブコントローラ、42 サーボ制御部、43 主軸制御部、44 サーボモータ、45 主軸モータ、46 表示部、47 入力部、48,49 検出器、50 ワーク、51 加工工具、52 上面、53 先端、60 ロボット工具。

Claims (7)

  1. ワークの切削加工を行う工作機械と、前記ワークのバリ取りのための工具が取り付けられたロボットとを制御する数値制御装置であって、
    前記ワークのうち前記切削加工によって除去される領域の境界を示す複数の境界点を、前記切削加工の制御のために実行される加工プログラムの解析結果を基に算出する境界点算出部と、
    複数の前記境界点を辿る経路上において前記工具を移動させるためのロボットプログラムを生成するロボットプログラム生成部と、を備え、
    前記境界点算出部は、複数の前記境界点の各々に切削の順序を表す時系列データを付与し、
    前記ロボットプログラム生成部は、複数の前記境界点の各々に付与された前記時系列データによって示される順序で複数の前記境界点の各々を辿る前記経路を設定することを特徴とする数値制御装置。
  2. ワークの切削加工を行う工作機械と、前記ワークのバリ取りのための工具が取り付けられたロボットとを制御する数値制御装置であって、
    前記ワークのうち前記切削加工によって除去される領域の境界を示す複数の境界点を、前記切削加工の制御のために実行される加工プログラムの解析結果を基に算出する境界点算出部と、
    複数の前記境界点を辿る経路上において前記工具を移動させるためのロボットプログラムを生成するロボットプログラム生成部と、を備え、
    前記加工プログラムには、前記バリ取りが行われる前記領域を指定するためのラベルを含む指令が追加可能であって、
    前記境界点算出部は、前記指令が実行されることによって、前記バリ取りが行われる前記領域の前記境界点に前記ラベルを紐付けし、
    前記ロボットプログラム生成部は、前記境界点に紐付けられた前記ラベルに基づいて、前記バリ取りを待機させるための待機指令を前記ロボットプログラムへ追加することを特徴とする数値制御装置。
  3. 前記境界点算出部は、前記ラベルが紐付けられた前記境界点の座標を前記ロボットプログラム生成部に出力することを特徴とする請求項2に記載の数値制御装置。
  4. 前記バリ取りが行われる前記領域が2つ以上ある場合、前記バリ取りが行われる前記領域ごとに異なる前記ラベルが付与されることを特徴とする請求項2または3に記載の数値制御装置。
  5. ワークの切削加工を行う工作機械と、前記ワークのバリ取りのための工具が取り付けられたロボットとを制御する数値制御装置であって、
    前記ワークのうち前記切削加工によって除去される領域の境界を示す複数の境界点を、前記切削加工の制御のために実行される加工プログラムの解析結果を基に算出する境界点算出部と、
    複数の前記境界点の各々の座標を取得し、かつ、複数の前記境界点を辿る経路上において前記工具を移動させるためのロボットプログラムを生成するロボットプログラム生成部と、を備え、
    前記加工プログラムには、前記バリ取りが行われる前記領域を指定するためのラベルを含む指令が追加可能であって、前記バリ取りが行われる前記領域が2つ以上ある場合、前記バリ取りが行われる前記領域ごとに異なる前記ラベルが付与され、
    前記境界点算出部は、前記指令が実行されることによって、前記バリ取りが行われる前記領域の前記境界点に前記ラベルを紐付けし、
    前記ロボットプログラム生成部は、前記ラベルに基づいて、前記バリ取りを待機させるための待機指令を前記ロボットプログラムへ追加し、
    座標が取得された前記境界点に前記ラベルが紐付けられており、かつ前記ラベルが紐付けられている前記境界点の1つ前に座標が取得された前記境界点に前記ラベルが紐付けられていない場合、または、座標が取得された前記境界点に紐付けられている前記ラベルが、前記ラベルが紐付けられている前記境界点の1つ前に座標が取得された前記境界点に紐付けられている前記ラベルとは異なる場合、前記ロボットプログラム生成部は、前記ロボットプログラムへ前記待機指令を追加し、
    座標が取得された前記境界点に前記ラベルが紐付けられていない場合、または、座標が取得された前記境界点に紐付けられている前記ラベルが、前記ラベルが紐付けられている前記境界点の1つ前に座標が取得された前記境界点に紐付けられている前記ラベルと同じである場合、前記ロボットプログラム生成部は、前記ロボットプログラムへ前記待機指令を追加しないことを特徴とする数値制御装置。
  6. 前記切削加工のための工具である加工工具の形状についてのデータである加工工具データを保持する記憶部と、
    前記加工プログラムの解析結果に基づいて単位時間ごとの前記加工工具の位置を表す補間点を算出する補間点算出部とを備え、
    前記境界点算出部は、前記加工工具データと複数の前記補間点とに基づいて複数の前記境界点を算出することを特徴とする請求項1からのいずれか1つに記載の数値制御装置。
  7. ワークの切削加工を行う工作機械と、前記ワークのバリ取りのための工具が取り付けられたロボットとを数値制御装置によって制御する数値制御方法であって、
    前記ワークのうち前記切削加工によって除去される領域の境界を示す複数の境界点を、前記切削加工の制御のために実行される加工プログラムの解析結果を基に算出する工程と、
    複数の前記境界点の各々に切削の順序を表す時系列データを付与する工程と、
    複数の前記境界点の各々に付与された前記時系列データによって示される順序で前記複数の境界点の各々を辿る経路を設定し、前記経路上において前記工具を移動させるためのロボットプログラムを生成する工程と、を含むことを特徴とする数値制御方法。
JP2021506774A 2020-07-17 2020-07-17 数値制御装置および数値制御方法 Active JP7004868B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/027859 WO2022014042A1 (ja) 2020-07-17 2020-07-17 数値制御装置および数値制御方法

Publications (2)

Publication Number Publication Date
JPWO2022014042A1 JPWO2022014042A1 (ja) 2022-01-20
JP7004868B1 true JP7004868B1 (ja) 2022-02-07

Family

ID=79554583

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021506774A Active JP7004868B1 (ja) 2020-07-17 2020-07-17 数値制御装置および数値制御方法

Country Status (4)

Country Link
JP (1) JP7004868B1 (ja)
CN (1) CN115362420A (ja)
DE (1) DE112020006668T5 (ja)
WO (1) WO2022014042A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116460935A (zh) * 2023-04-25 2023-07-21 华闽搏创(成都)信息科技有限公司 基于消除板件移动的保持连接最大化的开料顺序方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62251044A (ja) * 1986-04-23 1987-10-31 Fanuc Ltd 4軸旋盤のncプログラム作成方法
JPH07112346A (ja) * 1993-10-18 1995-05-02 Fanuc Ltd ロボットによるバリ取り作業の動作プログラム作成方法
JP2005031904A (ja) * 2003-07-10 2005-02-03 Mori Seiki Co Ltd 自動プログラミング装置
WO2013145286A1 (ja) * 2012-03-30 2013-10-03 株式会社牧野フライス製作所 ワークの加工方法、工作機械、工具経路生成装置および工具経路生成プログラム
WO2015114734A1 (ja) * 2014-01-28 2015-08-06 株式会社牧野フライス製作所 切削加工方法および工具経路生成装置
JP2017134722A (ja) * 2016-01-29 2017-08-03 ファナック株式会社 共通の言語仕様のプログラムにて複数の種類の製造装置を駆動する製造システム
JP2019086823A (ja) * 2017-11-01 2019-06-06 ファナック株式会社 加工システム
WO2020144772A1 (ja) * 2019-01-09 2020-07-16 三菱電機株式会社 数値制御装置および数値制御方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006048244A (ja) * 2004-08-02 2006-02-16 Fanuc Ltd 加工プログラム作成装置
JP5593899B2 (ja) 2010-07-12 2014-09-24 株式会社Ihi ロボットによるバリ除去方法
DE112012006923B4 (de) * 2012-10-31 2016-03-17 Mitsubishi Electric Corporation Automatik-Programmiervorrichtung und Verfahren
JP5845212B2 (ja) * 2013-06-28 2016-01-20 ファナック株式会社 視覚センサ及び力センサを備えたバリ取り装置
JP6325509B2 (ja) * 2015-11-11 2018-05-16 ファナック株式会社 工作機械
JP6316513B1 (ja) * 2016-12-27 2018-04-25 三菱電機株式会社 加工プログラム分析装置
JP6794051B2 (ja) * 2017-02-22 2020-12-02 ジヤトコ株式会社 バリ取り方法、バリ取り装置の制御装置、バリ取り装置用の制御プログラム
JP6445070B2 (ja) * 2017-03-27 2018-12-26 ファナック株式会社 工作機械の制御システム
JP2020019126A (ja) * 2018-08-03 2020-02-06 株式会社不二越 自動バリ取りおよび/またはエッジ仕上げ装置、ならびにバリ取りおよび/またはエッジ仕上げの自動化方法
CN111085774B (zh) * 2018-10-24 2022-01-25 大族激光科技产业集团股份有限公司 一种快速寻边方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62251044A (ja) * 1986-04-23 1987-10-31 Fanuc Ltd 4軸旋盤のncプログラム作成方法
JPH07112346A (ja) * 1993-10-18 1995-05-02 Fanuc Ltd ロボットによるバリ取り作業の動作プログラム作成方法
JP2005031904A (ja) * 2003-07-10 2005-02-03 Mori Seiki Co Ltd 自動プログラミング装置
WO2013145286A1 (ja) * 2012-03-30 2013-10-03 株式会社牧野フライス製作所 ワークの加工方法、工作機械、工具経路生成装置および工具経路生成プログラム
WO2015114734A1 (ja) * 2014-01-28 2015-08-06 株式会社牧野フライス製作所 切削加工方法および工具経路生成装置
JP2017134722A (ja) * 2016-01-29 2017-08-03 ファナック株式会社 共通の言語仕様のプログラムにて複数の種類の製造装置を駆動する製造システム
JP2019086823A (ja) * 2017-11-01 2019-06-06 ファナック株式会社 加工システム
WO2020144772A1 (ja) * 2019-01-09 2020-07-16 三菱電機株式会社 数値制御装置および数値制御方法

Also Published As

Publication number Publication date
DE112020006668T5 (de) 2023-04-06
WO2022014042A1 (ja) 2022-01-20
CN115362420A (zh) 2022-11-18
JPWO2022014042A1 (ja) 2022-01-20

Similar Documents

Publication Publication Date Title
TWI538761B (zh) 根據圖案形狀控制機器之方法以及雷射切割機
JP5414948B1 (ja) 数値制御装置
JP6719790B1 (ja) Cadデータによるマシニングセンタの自動運転装置
JP5452788B1 (ja) 数値制御装置
JP2019082852A (ja) ポストプロセッサ装置、加工プログラム生成方法、cnc加工システム及び加工プログラム生成用プログラム
JPS61156309A (ja) 速度段差平滑機能を備えた数値制御装置
JPH09507439A (ja) 対話形機械制御装置及び方法
JP2019082851A (ja) 数値制御装置、cnc工作機械、数値制御方法及び数値制御用プログラム
JP7004868B1 (ja) 数値制御装置および数値制御方法
JP2004326257A (ja) シミュレーション装置
JP6638979B2 (ja) 加工工程管理機能付き数値制御装置および加工工程管理プログラム
TWI684841B (zh) 加工傾斜平面的多軸工具機的程式碼產生方法及其裝置
US20220342381A1 (en) Managing a machine tool method, for example method of mapping toolpath data and machine code, a control device, and a machine tool
JP2005321890A (ja) 誤加工防止装置および誤加工防止方法
JP6935606B1 (ja) 情報処理装置および情報処理プログラム
JP7175340B2 (ja) 工作機械、情報処理装置および情報処理プログラム
WO2022185640A1 (ja) プログラム、clデータ編集装置及び工作機械
TWI804068B (zh) 數值控制裝置及數值控制系統
JP7473323B2 (ja) 産業機械の移動軌跡の画像データを生成する装置、制御装置、及び方法
JP3955776B2 (ja) 数値制御工作機械と数値制御工作機械のデータ変換方法
WO2023067699A1 (ja) 加工面推定装置およびコンピュータ読み取り可能な記憶媒体
WO2022176241A1 (ja) 工作機械、工作機械の制御方法、および工作機械の制御プログラム
JP2003295917A (ja) 加工制御装置
Rogelio et al. An low-cost integrated control system for the 3-axis computer numerical control (CNC) router machine
Brecher et al. Numerical Controllers

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210208

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210208

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210525

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20210630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210914

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220104

R150 Certificate of patent or registration of utility model

Ref document number: 7004868

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150