JP6914452B1 - Numerical control device and machine learning device - Google Patents
Numerical control device and machine learning device Download PDFInfo
- Publication number
- JP6914452B1 JP6914452B1 JP2020552910A JP2020552910A JP6914452B1 JP 6914452 B1 JP6914452 B1 JP 6914452B1 JP 2020552910 A JP2020552910 A JP 2020552910A JP 2020552910 A JP2020552910 A JP 2020552910A JP 6914452 B1 JP6914452 B1 JP 6914452B1
- Authority
- JP
- Japan
- Prior art keywords
- robot
- unit
- machine tool
- interference
- machine
- 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
Links
- 238000010801 machine learning Methods 0.000 title claims description 38
- 230000033001 locomotion Effects 0.000 claims abstract description 239
- 238000004364 calculation method Methods 0.000 claims abstract description 176
- 238000012545 processing Methods 0.000 claims description 261
- 238000004088 simulation Methods 0.000 claims description 108
- 238000003754 machining Methods 0.000 claims description 73
- 230000008859 change Effects 0.000 claims description 19
- 238000003780 insertion Methods 0.000 claims description 3
- 230000037431 insertion Effects 0.000 claims description 3
- 238000000034 method Methods 0.000 description 58
- 230000008569 process Effects 0.000 description 38
- 238000010586 diagram Methods 0.000 description 20
- 230000007246 mechanism Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 16
- 230000001133 acceleration Effects 0.000 description 13
- NJPPVKZQTLUDBO-UHFFFAOYSA-N novaluron Chemical compound C1=C(Cl)C(OC(F)(F)C(OC(F)(F)F)F)=CC=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F NJPPVKZQTLUDBO-UHFFFAOYSA-N 0.000 description 9
- 238000013528 artificial neural network Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 238000013500 data storage Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000011960 computer-aided design Methods 0.000 description 3
- 210000002569 neuron Anatomy 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 102220486681 Putative uncharacterized protein PRO1854_S10A_mutation Human genes 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1674—Programme controls characterised by safety, monitoring, diagnostic
- B25J9/1676—Avoiding collision or forbidden zones
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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/406—Numerical 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 monitoring or safety
- G05B19/4061—Avoiding collision or forbidden zones
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
数値制御装置(1X)が、機械モデル(811)と、工作機械(100)が備える第1の構成要素の位置を制御する際に用いられる第1の位置データとを用いて、特定タイミングにおける第1の構成要素の位置を算出する機械動作演算部(801)と、ロボットモデル(812)と、ロボット(60)が備える第2の構成要素の位置を制御する際に用いられる第2の位置データとを用いて特定タイミングにおける第2の構成要素の位置を算出するロボット動作演算部(802)と、第1の構成要素の位置および第2の構成要素の位置に基づいて、工作機械(100)とロボット(60)とが衝突するか否かを判断する干渉チェック部(803)を有する。The numerical control device (1X) uses the machine model (811) and the first position data used when controlling the position of the first component included in the machine tool (100) to make a first position at a specific timing. Second position data used when controlling the positions of the second component included in the machine tool operation calculation unit (801), the robot model (812), and the robot (60) that calculate the position of one component. Based on the robot motion calculation unit (802) that calculates the position of the second component at a specific timing using and, and the position of the first component and the position of the second component, the machine tool (100) It has an interference check unit (803) for determining whether or not the robot (60) collides with the robot (60).
Description
本発明は、ロボットおよび工作機械を制御する数値制御装置、および機械学習装置に関する。 The present invention relates to a numerical control device for controlling a robot and a machine tool, and a machine learning device.
数値制御装置の1つに、被加工物の加工を行う工作機械の制御と、被加工物の搬送および加工を行うロボットの制御とを並行して実行する制御装置がある。 One of the numerical control devices is a control device that controls a machine tool that processes a work piece and a robot that conveys and processes the work piece in parallel.
特許文献1に記載の数値制御装置は、指定経過時刻におけるロボットの動作位置、および指定経過時刻における工作機械の動作位置に基づいて、ロボットおよび工作機械の三次元モデルを表示装置上に表示させている。 The numerical control device described in Patent Document 1 displays a three-dimensional model of the robot and the machine tool on the display device based on the operating position of the robot at the designated elapsed time and the operating position of the machine tool at the designated elapsed time. There is.
しかしながら、上記特許文献1の技術では、ロボットの動作と工作機械の動作とを表示しているものの、工作機械とロボットとが衝突するか否かを判断することができないという問題があった。 However, in the technique of Patent Document 1, although the operation of the robot and the operation of the machine tool are displayed, there is a problem that it cannot be determined whether or not the machine tool and the robot collide with each other.
本発明は、上記に鑑みてなされたものであって、工作機械とロボットとが衝突するか否かを判断することができる数値制御装置を得ることを目的とする。 The present invention has been made in view of the above, and an object of the present invention is to obtain a numerical control device capable of determining whether or not a machine tool and a robot collide with each other.
上述した課題を解決し、目的を達成するために、本発明の数値制御装置は、工作機械およびロボットを制御するための加工プログラムであって、複数のブロックを含む加工プログラムをブロックごとに読み込み、ブロックごとに解析処理を行う解析処理部と、工作機械の動作シミュレーション用のデータである機械モデルと工作機械が備える第1の構成要素の位置を制御する際に用いられる第1の位置データとを用いて、特定タイミングにおける第1の構成要素の位置を算出する機械動作演算部を有する。また、本発明の数値制御装置は、ロボットの動作シミュレーション用のデータであるロボットモデルとロボットが備える第2の構成要素の位置を制御する際に用いられる第2の位置データとを用いて特定タイミングにおける第2の構成要素の位置を算出するロボット動作演算部を有する。また、本発明の数値制御装置は、工作機械の座標系と、ロボットの座標系の位置関係を定義する位置定義データを記憶する記憶部を有する。また、本発明の数値制御装置は、第1の構成要素の位置、第2の構成要素の位置、および位置定義データに基づいて、工作機械とロボットとが衝突するか否かをブロックごとに判断する衝突判断部を有する。 In order to solve the above-mentioned problems and achieve the object, the numerical control device of the present invention is a machining program for controlling a machine tool and a robot, and reads a machining program including a plurality of blocks for each block. The analysis processing unit that performs analysis processing for each block , the machine model that is the data for motion simulation of the machine tool, and the first position data used when controlling the position of the first component included in the machine tool. It has a machine tool operation calculation unit that calculates the position of the first component at a specific timing. Further, the numerical control device of the present invention uses a robot model, which is data for robot motion simulation, and a second position data used when controlling the position of a second component included in the robot to specify a specific timing. It has a robot motion calculation unit that calculates the position of the second component in the above. Further, the numerical control device of the present invention has a storage unit that stores position definition data that defines the positional relationship between the coordinate system of the machine tool and the coordinate system of the robot. Further, the numerical control device of the present invention determines for each block whether or not the machine tool and the robot collide with each other based on the position of the first component, the position of the second component, and the position definition data. It has a collision judgment unit.
本発明にかかる数値制御装置は、工作機械とロボットとが衝突するか否かを判断することができるという効果を奏する。 The numerical control device according to the present invention has an effect that it can determine whether or not a machine tool and a robot collide with each other.
以下に、本発明の実施の形態にかかる数値制御装置、および機械学習装置を図面に基づいて詳細に説明する。なお、これらの実施の形態によりこの発明が限定されるものではない。 Hereinafter, the numerical control device and the machine learning device according to the embodiment of the present invention will be described in detail with reference to the drawings. The present invention is not limited to these embodiments.
実施の形態1.
図1は、実施の形態1にかかる数値制御装置の構成例を示す図である。数値制御装置1Xは、制御演算部2Xと、入力操作部3と、表示部4と、PLC(Programmable Logic Controller:プログラマブルロジックコントローラ)36を操作するための機械操作盤などのPLC操作部5とを有する。図1には、数値制御装置1Xとともに、工作機械100、ロボットコントローラ50、およびロボット60が示されている。数値制御装置1Xと、工作機械100と、ロボットコントローラ50と、ロボット60とで構成されるシステムが、制御システムである。Embodiment 1.
FIG. 1 is a diagram showing a configuration example of a numerical control device according to the first embodiment. The numerical control device 1X includes a
数値制御装置1Xは、駆動部90の各サーボ制御部と通信を実行するとともに、ロボットコントローラ50との間で通信を実行する。数値制御装置1Xは、工作機械100に対して工具を使った加工ワーク(被加工物)の加工を実行させるとともに、ロボット60に対して加工ワークの搬送を実行させるコンピュータである。数値制御装置1Xは、GコードプログラムといったNC(Numerical Control)プログラムを用いて、工作機械100およびロボット60を制御する。加工プログラムであるNCプログラムには、工作機械100への指令と、ロボット60への指令とが含まれている。数値制御装置1Xは、NCプログラムのうちのロボット60への指令を、ロボットプログラムの指令に変換してロボット60を制御する。
The numerical control device 1X executes communication with each servo control unit of the
本実施の形態の数値制御装置1Xは、ロボット60と工作機械100とが干渉するか否かを判断し、干渉する場合にはアラームを発生させる。ロボット60と工作機械100との干渉は、工作機械100とロボット60との衝突と同義である。ロボット60と工作機械100との干渉には、ロボット60が把持する工具と工作機械100との干渉、工作機械100が把持する工具とロボット60との干渉、ロボット60が把持する工具と工作機械100が把持する工具との干渉が含まれる。
The numerical control device 1X of the present embodiment determines whether or not the
工作機械100は、工具および加工ワークを駆動する駆動部90を備えている。駆動部90の例は、加工ワークを回転させながら工具を駆動する駆動機構である。実施の形態1では、工具の駆動方向が、例えばX軸方向に平行な方向とZ軸方向に平行な方向との2方向である。なお、軸方向は装置構成によるので、軸方向は、上記方向に限定されない。
The
駆動部90は、数値制御装置1X上で規定された各軸方向に工具を移動させるサーボモータ901,902と、サーボモータ901,902の位置および速度を検出する検出器97,98とを備えている。また、駆動部90は、数値制御装置1Xからの指令に基づいて、サーボモータ901,902を制御する各軸方向のサーボ制御部を備えている。各軸方向のサーボ制御部は、検出器97,98からの位置および速度に基づいて、サーボモータ901,902へのフィードバック制御を行う。
The
サーボ制御部のうちの、X軸サーボ制御部91は、サーボモータ901を制御することによって工具のX軸方向の動作を制御し、Z軸サーボ制御部92は、サーボモータ902を制御することによって工具のZ軸方向の動作を制御する。なお、工作機械100が2つ以上の刃物台を備えていてもよい。この場合、駆動部90は、1つの刃物台毎に、1組のX軸サーボ制御部91と、Z軸サーボ制御部92と、サーボモータ901,902と、検出器97,98とを備える。
Of the servo control units, the X-axis
また、駆動部90は、加工ワークを回転させるための主軸を回転させる主軸モータ911と、主軸モータ911の位置および回転数を検出する検出器211とを備えている。検出器211が検出する回転数は、主軸モータ911の回転数に対応している。
Further, the
また、駆動部90は、数値制御装置1Xからの指令に基づいて、主軸モータ911を制御する主軸サーボ制御部200を備えている。主軸サーボ制御部200は、検出器211からの位置および回転数に基づいて、主軸モータ911へのフィードバック制御を行う。
Further, the
なお、工作機械100が2つの加工ワークを同時に加工する場合には、駆動部90は、主軸モータ911と、検出器211と、主軸サーボ制御部200とを2組備える。この場合、工作機械100は、2つ以上の刃物台を備えている。
When the
入力操作部3は、制御演算部2Xに情報を入力する手段である。入力操作部3は、キーボード、ボタンまたはマウスなどの入力手段によって構成され、ユーザによる数値制御装置1Xに対するコマンドなどの入力、またはNCプログラムもしくはパラメータなどを受付けて制御演算部2Xに入力する。表示部4は、液晶表示装置などの表示手段によって構成され、制御演算部2Xによって処理された情報を表示画面に表示する。表示部4の例は、液晶タッチパネルである。この場合、入力操作部3の一部の機能が、表示部4に配置されている。
The
制御演算部2Xは、工作機械100の座標系で規定されたNCプログラムを用いて工作機械100およびロボット60を制御する。制御演算部2Xは、入力制御部32と、データ設定部33と、記憶部34と、画面処理部31と、解析処理部37と、制御信号処理部35と、PLC36と、補間処理部38と、加減速処理部39と、軸データ出力部40と、ロボット制御部41と、シミュレーション制御部80Xとを有する。なお、PLC36は、制御演算部2Xの外部に配置されてもよい。
The
記憶部34は、パラメータ記憶エリア341、NCプログラム記憶エリア343、表示データ記憶エリア344、および共有エリア345を有している。また、記憶部34は、シミュレーション用データ346を記憶する記憶エリアを有している。
The
パラメータ記憶エリア341内には、制御演算部2Xの処理で使用されるパラメータ等が格納される。具体的には、パラメータ記憶エリア341内には、数値制御装置1Xを動作させるための制御パラメータ、サーボパラメータおよび工具データ813,814が格納される。工具データ813は、工作機械100で用いられる工具のデータであり、工具データ814は、ロボット60で用いられる工具のデータである。工具データ813は、工作機械100で用いられる工具の形状の情報を含んでいる。工具データ814は、ロボット60で用いられる工具の形状の情報を含んでいる。工具データ813,814は、シミュレーション制御部80Xによって記憶部34内から読み出される。なお、以下の説明では、形状の情報には、形そのものの情報と、寸法の情報とが含まれているものとする。
In the
NCプログラム記憶エリア343内には、加工ワークの加工に用いられるNCプログラムが格納される。実施の形態1のNCプログラムは、工作機械100を制御するための指令と、ロボット60を制御するための指令とを含んでいる。
In the NC
表示データ記憶エリア344内には、表示部4で表示される画面表示データが格納される。画面表示データは、表示部4に情報を表示するためのデータである。また、記憶部34には、一時的に使用されるデータを記憶する共有エリア345が設けられている。
The screen display data displayed by the
シミュレーション用データ346は、工作機械100を描画することができるデータである機械モデル811と、ロボット60を描画することができるデータであるロボットモデル812とを含んでいる。機械モデル811およびロボットモデル812は、シミュレーション制御部80Xによって記憶部34内から読み出される。機械モデル811は、工作機械100の3次元構造を示す3次元データであり、ロボットモデル812は、ロボット60の3次元構造を示す3次元データである。
The
機械モデル811は、実際に工作機械100が具備する加工室(加工槽)内の動作シミュレーション用のデータである。機械モデル811は、CAD(Computer Aided Design))データから生成される。ロボットモデル812は、ロボット60の動作シミュレーション用データである。ロボットモデル812は、CADデータから生成される。機械モデル811は、拡張子が「.mdl」等の機械モデルデータであり、ロボットモデル812は、拡張子が「.mdl」等のロボットモデルデータである。
The machine model 811 is data for motion simulation in a machining chamber (machining tank) actually provided in the
画面処理部31は、表示データ記憶エリア344に格納された画面表示データを表示部4に表示させる制御を行う。入力制御部32は、入力操作部3から入力される情報を受付ける。データ設定部33は、入力制御部32で受付けられた情報を記憶部34に記憶させる。すなわち、入力操作部3が受付けた入力情報は、入力制御部32およびデータ設定部33を介して記憶部34に書き込まれる。
The
制御信号処理部35は、PLC36に接続されており、PLC36から、工作機械100の機械を動作させるリレーなどの信号情報を受付ける。制御信号処理部35は、受付けた信号情報を、記憶部34の共有エリア345に書き込む。これらの信号情報は、加工運転時に補間処理部38が参照する。また、制御信号処理部35は、解析処理部37によって共有エリア345に補助指令が出力されると、この補助指令を制御信号処理部35が共有エリア345から読み出してPLC36に送る。補助指令は、数値制御軸である駆動軸を動作させる指令以外の指令である。補助指令の例は、MコードまたはTコードである。
The control
PLC36は、PLC36が実行する機械動作が記述されたラダープログラムを格納している。PLC36は、補助指令であるTコードまたはMコードを受付けると、ラダープログラムに従って補助指令に対応する処理を工作機械100に実行する。PLC36は、補助指令に対応する処理を実行した後、NCプログラムの次のブロックを実行させるために、機械制御が完了したことを示す完了信号を制御信号処理部35に送る。
The
制御演算部2Xでは、制御信号処理部35と、解析処理部37と、補間処理部38と、ロボット制御部41と、シミュレーション制御部80Xとが記憶部34を介して接続されており、記憶部34を介して情報の書き込み、および読み出しを行う。以下の説明では、制御信号処理部35と、解析処理部37と、補間処理部38と、ロボット制御部41と、シミュレーション制御部80Xとの間の情報の書き込み、および読み出しを説明する際に記憶部34が介されていることを省略する場合がある。
In the
NCプログラムの選択は、ユーザが入力操作部3でNCプログラム番号を入力することによって行われる。このNCプログラム番号は、入力制御部32およびデータ設定部33を介して共有エリア345に書き込まれる。機械操作盤等のサイクルスタートをトリガとして、解析処理部37は、選択されたNCプログラム番号を共有エリア345から読み出すと、選択されたNCプログラムをNCプログラム記憶エリア343内から読み出して、NCプログラムの各ブロック(各行)に対して解析処理を行う。解析処理部37は、例えば、Gコード(軸移動等に関する指令)、Tコード(工具交換指令など)、Sコード(主軸モータ回転数指令)、およびMコード(機械動作指令)を解析する。
The selection of the NC program is performed by the user inputting the NC program number in the
解析処理部37は、解析した行にMコードまたはTコードが含まれている場合には、解析結果を共有エリア345および制御信号処理部35を介してPLC36に送る。また、解析処理部37は、解析した行にMコードが含まれている場合には、Mコードを、制御信号処理部35を介してPLC36に送る。PLC36はMコードに対応する機械制御を実行する。実行が完了した場合、制御信号処理部35を介してMコードの完了を示す結果が記憶部34に書き込まれる。補間処理部38は記憶部34に書き込まれた実行結果を参照する。
When the analyzed line contains an M code or a T code, the
また、解析処理部37は、工作機械100へのGコードが含まれている場合には、共有エリア345を介して解析結果を補間処理部38に送る。具体的には、解析処理部37は、Gコードに対応する移動条件を生成して補間処理部38に送る。また、解析処理部37は、Sコードで指定された主軸回転数を補間処理部38に送る。主軸回転数は、単位時間あたりの主軸の回転の回数である。移動条件は、加工位置を移動させていくための工具送りの条件であり、刃物台を移動させる速度、刃物台を移動させる位置などで示される。例えば、工具の工具送りは、工具をX軸方向(+X方向)およびZ軸方向(+Z方向)に進ませる。
Further, when the G code for the
また、解析処理部37は、ロボット指令解析部371を有している。ロボット指令解析部371は、接続されたロボット60の動作を解析する手段である。ロボット指令解析部371は、NCプログラムに含まれるロボット指令を解析し、解析結果を、共有エリア345を介してロボット制御部41に送る。
Further, the
解析結果には、ロボット60の座標系を設定するための指令であるロボット座標系設定指令、ロボット60の動作を規定したロボット動作指令などが含まれている。
The analysis result includes a robot coordinate system setting command which is a command for setting the coordinate system of the
補間処理部38は、解析処理部37による解析結果のうち工作機械100への指令を用いて工作機械100を制御するためのデータを生成し、加減速処理部39に送る。加減速処理部39は、補間処理部38から供給された補間処理の結果に対して、加速度をなめらかに変化させるための加減速処理を行う。加減速処理部39は、加減速処理の処理結果である速度指令を軸データ出力部40に送る。
The
軸データ出力部40は、速度指令を駆動部90に出力する。具体的には、軸データ出力部40は、X軸への速度指令をX軸サーボ制御部91に出力し、Z軸への速度指令をZ軸サーボ制御部92に出力する。また、軸データ出力部40は、主軸への回転数指令を主軸サーボ制御部200に出力する。
The axis
ロボット制御部41は、ロボット指令解析部371による解析の結果に基づいて、ロボット60への指令をロボットプログラムに変換する。すなわち、ロボット制御部41は、ロボット指令解析部371から送られてくる、ロボット指令の解析結果に基づいて、ロボットコントローラ50が解釈可能なロボット指令を生成する。ロボット制御部41は、生成したロボット指令をロボットコントローラ50に送る。ロボットコントローラ50は、ロボット制御部41から送られてくるロボット指令に基づいて、ロボット60の各軸の位置データを生成し、位置データを用いてロボット60を制御する。
The
数値制御装置1Xでは、NCプログラムに設定されている指令が順番に実行される。したがって、補間処理部38が工作機械100を制御するためのデータを生成して加減速処理部39に送る順番、およびロボット制御部41が位置データを生成してロボットコントローラ50に送る順番は、それぞれNCプログラムに設定されている指令の順番に対応している。
In the numerical control device 1X, the commands set in the NC program are executed in order. Therefore, the order in which the
シミュレーション制御部80Xは、記憶部34、補間処理部38、加減速処理部39、ロボット制御部41、および画面処理部31に接続されている。シミュレーション制御部80Xは、画面処理部31に接続されているが、図1では、シミュレーション制御部80Xと画面処理部31との接続線の記載を省略している。以下の説明では、シミュレーション制御部80Xによる表示部4への情報の書き込みを説明する際に、画面処理部31が介されていることを省略する場合がある。
The
シミュレーション制御部80Xは、ロボット60の動作および工作機械100の動作を演算によってシミュレーションする。シミュレーション制御部80Xは、機械動作演算部801と、ロボット動作演算部802と、干渉チェック部803とを備えている。
The
機械動作演算部801は、工作機械100が備える構成要素の移動を描画し、ロボット動作演算部802は、ロボット60が備える構成要素の移動を描画する。シミュレーション制御部80Xは、描画結果を表示部4に表示させる。
The machine
機械動作演算部801は、記憶部34から機械モデル811および工具データ813を読み出し、機械モデル811および工具データ813を用いて工作機械100の動作をシミュレーションする。
The machine
また、機械動作演算部801は、補間処理部38から、工作機械100の各軸の位置データを取得する。機械動作演算部801は、補間処理部38から取り込んだ位置データに基づいて、機械モデル811から描画される工作機械100の構成要素の位置を修正する。
Further, the machine
このように、機械動作演算部801は、工作機械100の動作シミュレーション用のデータである機械モデル811に基づいて工作機械100が備える第1の構成要素を描画する。また、機械動作演算部801は、第1の構成要素の位置を制御する際に用いられる第1の位置データを用いて、第1の構成要素を再描画する。
In this way, the machine
ロボット動作演算部802は、記憶部34からロボットモデル812および工具データ814を読み出し、ロボットモデル812および工具データ814を用いてロボット60の動作をシミュレーションする。
The robot
また、ロボット動作演算部802は、ロボット制御部41から、ロボット60の各軸の位置データを取得する。ロボット動作演算部802は、ロボット制御部41から取り込んだ位置データに基づいて、ロボットモデル812から描画されるロボット60の構成要素の位置を修正する。
Further, the robot
このように、ロボット動作演算部802は、ロボット60の動作シミュレーション用のデータであるロボットモデル812に基づいてロボット60が備える第2の構成要素を描画し、第2の構成要素の位置を制御する際に用いられる第2の位置データを用いて第2の構成要素を再描画する。
In this way, the robot
衝突判断部である干渉チェック部803は、機械動作演算部801およびロボット動作演算部802が描画した稼働部(構成要素)の描画データ同士の重なりをチェックする。換言すると、干渉チェック部803は、工作機械100とロボット60とが干渉(衝突)するか否かを判断する。
The
すなわち、干渉チェック部803は、特定タイミングにおける第1の構成要素の位置および特定タイミングにおける第2の構成要素の位置に基づいて、特定タイミングで工作機械100とロボット60とが衝突するか否かを判断する。
That is, the
干渉チェック部803は、工作機械100とロボット60とが干渉することを検出すると、補間処理部38およびロボット制御部41に動作中止の信号を送るとともに、干渉に対するアラームの表示指示であるアラーム指示情報を、画面処理部31を経由して表示部4に送る。これにより、干渉チェック部803は、表示部4に干渉を示す干渉アラームを表示させる。アラーム指示情報には、工作機械100とロボット60とが干渉する位置の情報が含まれていてもよい。この場合、表示部4は、干渉する位置の情報を含んだ干渉アラームを表示する。
When the
工作機械100は、NC工作機械であり、駆動軸によって工具と加工ワークとを相対的に移動させながら、工具で加工ワークを加工する。工作機械100の座標系とロボット60の座標系とは異なる座標系である。工作機械100は、直交座標系で制御され、例えば3軸方向に工具または加工ワークを移動させる。ロボット60は、回転軸を備えており、例えば、4軸以上の方向に駆動する。ロボット60は、複数の関節と複数のアームを備えており、1つの関節が1つのアームを1軸以上の方向に移動させる。
The
なお、実施の形態1は、工作機械100を描画する際に用いられる描画用のデータが、動作シミュレーション用のデータである機械モデル811である場合について説明するが、機械動作演算部801は、機械モデル811以外の描画用データを用いて工作機械100を描画してもよい。
In the first embodiment, the case where the drawing data used when drawing the
また、実施の形態1は、ロボット60を描画する際に用いられる描画用のデータが、動作シミュレーション用のデータであるロボットモデル812である場合について説明するが、ロボット動作演算部802は、ロボットモデル812以外の描画用データを用いてロボット60を描画してもよい。
Further, the first embodiment describes a case where the drawing data used when drawing the
機械動作演算部801は、例えば、ポンチ絵程度の描画を行うことができる粗い描画用データを用いて工作機械100を描画してもよい。また、ロボット動作演算部802は、ポンチ絵程度の描画を行うことができる粗い描画用データを用いてロボット60を描画してもよい。
The machine tool
ただし、干渉チェック部803が工作機械100とロボット60との間の干渉チェックを行う際には、機械動作演算部801は、正確な動作シミュレーションができる程度に精度の高いシミュレーション用データ(例えば、機械モデル811)を用いる。また、干渉チェック部803が工作機械100とロボット60との間の干渉チェックを行う際には、ロボット動作演算部802は、正確な動作シミュレーションができる程度に精度の高いシミュレーション用データ(例えば、ロボットモデル812)を用いる。
However, when the
ここで、工作機械100とロボット60との間の干渉チェックのシミュレーションについて説明する。図2は、実施の形態1にかかる数値制御装置が制御する工作機械およびロボットの配置例を示す図である。
Here, a simulation of an interference check between the
工作機械100は、筐体14と、工具ホルダ11a,11bと、チャック機構12a,12bとを備えている。工作機械100では、筐体14の内部が加工ワーク5a,5bを加工する加工室となっている。
The
チャック機構12aは、加工室内で加工ワーク5aを保持し、チャック機構12bは、加工室内で加工ワーク5bを保持する。工具ホルダ11aは、工具6aを保持し、工具ホルダ11bは、工具6bを保持する。工具6aは、チャック機構12aによって保持されている加工ワーク5aを加工し、工具6bは、チャック機構12bによって保持されている加工ワーク5bを加工する。
The
ロボット60は、工作機械100の近傍に配置されており、工作機械100に対して加工ワーク5a,5bの搬入および搬出を行う。また、ロボット60は、工作機械100が保持している加工ワーク5aに対し、工具6cで加工を行う。工作機械100が用いる工具6a,6bが第1の工具であり、ロボット60が用いる工具6cが第2の工具である。
The
ロボット60は、ロボットアーム21と、ロボットハンド22と、台座23とを備えている。台座23は、ロボットアーム21を保持する。ロボットアーム21は、1または複数の軸方向に移動可能となっている。ロボットハンド22は、台座23とは反対側の、ロボットアーム21の先端部に配置されている。ロボットハンド22は、工具6cを掴む。
The
機械モデル811は、加工室内におけるチャック機構12a,12b、加工ワーク5a,5b、工具ホルダ11a,11b、および工具6a,6bの動作シミュレーション用のデータである。
The machine model 811 is data for motion simulation of the
工作機械100の動作がシミュレーションされる際には、工作機械100の全体構成と、工作機械100の加工室内の動作がシミュレーションされ、工作機械100の加工室内の状態が描画される。加工室内に対しては、チャック機構12a,12b、加工ワーク5a,5b、工具ホルダ11a,11b、および工具6a,6bの動作がシミュレーションされ、チャック機構12a,12b、加工ワーク5a,5b、工具ホルダ11a,11b、および工具6a,6bが描画される。
When the operation of the
ロボットモデル812は、ロボットアーム21およびロボットハンド22の動作シミュレーション用のデータである。ロボット60の動作がシミュレーションされる際には、ロボットアーム21およびロボットハンド22の動作がシミュレーションされ、ロボットアーム21およびロボットハンド22の状態が描画される。
The robot model 812 is data for motion simulation of the
図3は、実施の形態1にかかる数値制御装置が描画した画面の第1例を示す図である。図3では、表示部4における画面表示の例を示している。図3に示す画面130では、加工室内の状態を表示している。
FIG. 3 is a diagram showing a first example of a screen drawn by the numerical control device according to the first embodiment. FIG. 3 shows an example of screen display in the
図3および後述する図4では、チャック機構12a,12bの画像を画像12A,12Bとして図示し、加工ワーク5a,5bの画像を画像5A,5Bとして図示し、工具ホルダ11a,11bの画像を画像11A,11Bとして図示し、工具6a,6bの画像を画像6A,6Bとして図示している。また、図3では、ロボットアーム21の画像を画像21Aとして図示し、ロボットハンド22の画像を画像22Aとして図示し、工具6cの画像を画像6Cとして図示している。
In FIG. 3 and FIG. 4 described later, the images of the
機械動作演算部801は、補間処理部38から、工作機械100の各軸の位置データを取り込む。機械動作演算部801は、補間処理部38から取り込んだ位置データに基づいて、工作機械100が備える稼働部(工作機械100が備える構成要素)を描画し直す。すなわち、機械動作演算部801は、補間処理部38から取り込んだ位置データに基づいて、機械モデル811から描画される工作機械100の構成要素の位置を修正する。工作機械100が備える稼働部は、前述したチャック機構12a,12b、加工ワーク5a,5b、工具ホルダ11a,11b、および工具6a,6bである。機械動作演算部801は、例えば、工具ホルダ11a,11bの移動、および工具6a,6bの移動を描画する。
The machine
ロボット動作演算部802は、ロボット制御部41から、ロボット60の各軸の位置データを取り込む。ロボット動作演算部802は、ロボット制御部41から取り込んだ位置データに基づいて、ロボット60が備える稼働部(ロボット60が備える構成要素)を描画し直す。すなわち、ロボット動作演算部802は、ロボット制御部41から取り込んだ位置データに基づいて、ロボットモデル812から描画されるロボット60の構成要素の位置を修正する。ロボット60が備える稼働部は、前述したロボットアーム21、ロボットハンド22、および工具6cである。ロボット動作演算部802は、例えば、ロボットアーム21の移動、および工具6cを掴んでいるロボットハンド22の移動を描画する。
The robot
シミュレーション制御部80Xは、機械動作演算部801による描画結果、およびロボット動作演算部802による描画結果を、画面処理部31を経由して表示部4に表示させる。表示部4によって表示される画面の例が、図3に示す画面130である。
The
干渉チェック部803は、機械動作演算部801およびロボット動作演算部802が描画した稼働部の描画データ同士の重なりをチェックする。具体的には、干渉チェック部803は、工作機械100の工具ホルダ11a,11bまたは工具6a,6bと、ロボットアーム21または工具6cを掴んだロボットハンド22と、が干渉するか否かを判断する。機械モデル811およびロボットモデル812は、3次元データであるので、干渉チェック部803は、工作機械100の3次元形状およびロボット60の3次元形状に対して干渉をチェックする。
The
図4は、実施の形態1にかかる数値制御装置が描画した画面の第2例を示す図である。図4では、衝突が検知された場合の、表示部4における画面表示の例を示している。図4に示す画面131では、干渉チェック部803が、矢印D1の方向にロボットハンド22の画像22Aが移動した際に、加工室内で構成要素同士の干渉を検知した場合の加工室内の状態を表示している。
FIG. 4 is a diagram showing a second example of a screen drawn by the numerical control device according to the first embodiment. FIG. 4 shows an example of screen display on the
干渉チェック部803は、図4に示すように、工具6bの画像6Bと、ロボットハンド22の画像22Aとが衝突によって重なっていること検出すると、補間処理部38およびロボット制御部41に動作中止の信号を送るとともに、画面処理部31を経由して表示部4に干渉アラームを表示させる。表示部4によって表示される干渉アラーム画面は、衝突をユーザに気付かせるような画面であれば、何れの画面であってもよい。干渉アラームの表示は、他のアラームと同様の画面によって表示される。画面131では、ロボット60と工作機械100とが衝突する位置が示される。
As shown in FIG. 4, when the
補間処理部38およびロボット制御部41は、干渉チェック部803から動作中止の信号を受け取ると、演算を停止する。ここで、干渉チェック部803は、制御演算部2Xの先読み処理での演算結果で干渉の有無を判断している。このため、シミュレーション制御部80Xは、実際に工作機械100とロボット60とが干渉(衝突)する前に、工作機械100およびロボット60の稼働部の動作を停止することができる。
When the
また、工作機械100の座標系とロボット60の座標系とは異なっているが、記憶部34には工作機械100の座標系とロボット60の座標系との位置関係を定義するパラメータが格納されている。したがって、干渉チェック部803は、記憶部34が格納している位置関係に基づいて、工作機械100の稼働部とロボット60の稼働部との干渉をチェックすることができる。
Further, although the coordinate system of the
なお、動作シミュレーション用のデータである機械モデル811およびロボットモデル812は、稼働しない部分を含んでいてもよい。例えば、機械モデル811は、工作機械100の筐体14を含んでいてもよい。また、ロボットモデル812は、台座23を含んでいてもよい。この場合、ロボットモデル812には、ロボットアーム21、ロボットハンド22、工具6c、および台座23が含まれている。
The machine model 811 and the robot model 812, which are data for motion simulation, may include a portion that does not operate. For example, the machine model 811 may include a
機械モデル811が工作機械100の全体構成を含む場合、表示部4は、工作機械100の全体を表示する。また、ロボットモデル812がロボット60の全体構成を含む場合、表示部4は、ロボット60の全体を表示する。
When the machine model 811 includes the entire configuration of the
図5は、実施の形態1にかかる数値制御装置が描画した画面の第3例を示す図である。図5では、表示部4における画面表示の例を示している。図5に示す画面132は、表示部4が、工作機械100の全体およびロボット60の全体を表示した場合の画面である。
FIG. 5 is a diagram showing a third example of a screen drawn by the numerical control device according to the first embodiment. FIG. 5 shows an example of screen display in the
図5では、工作機械100の画像を画像100Aとして図示し、筐体14の画像を画像14Aとして図示し、ロボット60の画像を画像60Aとして図示し、台座23の画像を画像23Aとして図示している。機械モデル811が工作機械100の全体構成を含む場合、干渉チェック部803は、ロボットハンド22が工作機械100の筐体14に干渉することを検出できる。
In FIG. 5, the image of the
図6は、実施の形態1にかかる数値制御装置が検出する、ロボットハンドと工作機械の筐体との干渉を説明するための図である。ここでは、機械モデル811が工作機械100の全体を含む場合に干渉チェック部803が検出する干渉の第1例について説明する。図6では、矢印D2の方向にロボットハンド22が移動した際に、ロボットハンド22と工作機械100の筐体14とが干渉した状態を示している。
FIG. 6 is a diagram for explaining the interference between the robot hand and the housing of the machine tool detected by the numerical control device according to the first embodiment. Here, a first example of interference detected by the
また、機械モデル811が工作機械100の全体を含む場合、干渉チェック部803は、ロボットアーム21が工作機械100の外部に配置された機構に干渉することを検出できる。
Further, when the machine model 811 includes the
図7は、実施の形態1にかかる数値制御装置が検出する、ロボットアームと工作機械の外部に配置された機構との干渉を説明するための図である。ここでは、機械モデル811が工作機械100の全体を含む場合に干渉チェック部803が検出する干渉の第2例について説明する。
FIG. 7 is a diagram for explaining the interference between the robot arm and the mechanism arranged outside the machine tool, which is detected by the numerical control device according to the first embodiment. Here, a second example of interference detected by the
ローダ30は、工作機械100の外部で搬送物7を搬送する装置である。ロボットハンド22およびロボットアーム21は、工作機械100の外部でも動作するので、ロボットハンド22およびロボットアーム21は、ローダ30または搬送物7に衝突する場合がある。図7では、矢印D3の方向に工具6cが移動した際に、ロボットアーム21とローダ30とが干渉した状態を示している。
The
つぎに、数値制御装置1Xによる干渉チェックの処理手順について説明する。図8は、実施の形態1にかかる数値制御装置による干渉チェックの処理手順を示すフローチャートである。 Next, the processing procedure of the interference check by the numerical control device 1X will be described. FIG. 8 is a flowchart showing a processing procedure of interference check by the numerical control device according to the first embodiment.
解析処理部37は、NCプログラムを解析する(ステップS10)。すなわち、解析処理部37は、工作機械100を動作させる指令(駆動部90への指令)およびロボット60を動作させる指令(ロボット60への指令)を含んだNCプログラムを解析する。具体的には、解析処理部37は、工作機械100の駆動部90への指令である機械駆動指令を解析し、ロボット指令解析部371は、ロボット60への指令であるロボット指令を解析する。
The
解析処理部37は、解析した指令が機械駆動指令であるかロボット指令であるかを判断する。解析した指令が機械駆動指令である場合(ステップS15、Yes)、解析処理部37は、機械駆動指令の解析結果を補間処理部38に送る。一方、解析した指令がロボット指令である場合(ステップS15、No)、解析処理部37は、ロボット指令の解析結果をロボット制御部41に送る。
The
補間処理部38は、機械駆動指令の解析結果を用いて、機械駆動指令の補間処理を行う(ステップS20)。そして、補間処理部38は、補間処理した機械駆動指令に基づいて、工作機械100の動作である工作機械動作の演算処理を実行する(ステップS30)。すなわち、補間処理部38は、補間処理した機械駆動指令から、工作機械100が備える駆動部90の各軸位置を計算する。
The
ロボット制御部41は、ロボット指令の解析結果を用いて、NCプログラムをロボットプログラムに変換する(ステップS40)。また、ロボット制御部41は、ロボットプログラムに基づいて、ロボット60の動作であるロボット動作の演算処理を実行する(ステップS50)。すなわち、ロボット制御部41は、ロボットプログラムからロボット60の各軸位置を計算する。具体的には、ロボット制御部41は、ロボットアーム21の位置、ロボットハンド22の位置などの計算を行う。
The
補間処理部38で計算された駆動部90の各軸位置を示す位置データは、機械動作演算部801に送られる。また、ロボット制御部41で計算されたロボット60の各軸位置を示す位置データは、ロボット動作演算部802に送られる。
The position data indicating each axis position of the
シミュレーション制御部80Xは、描画処理を実行する(ステップS60)。具体的には、機械動作演算部801は、機械モデル811に基づいて工作機械100の機械構成を描画し、工具データ813に基づいて工作機械100が用いる工具6a,6bを描画する。また、ロボット動作演算部802は、ロボットモデル812に基づいて、ロボット60を描画し、工具データ814に基づいてロボット60が用いる工具6cを描画する。
The
また、機械動作演算部801は、補間処理部38から、駆動部90の各軸位置を示す位置データを取り込む。機械動作演算部801は、取り込んだ位置データに基づいて、工作機械100が備える機構の稼働部を描画し直す。機械動作演算部801は、例えば、工作機械100の工具ホルダ11a,11bの移動、および工具6a,6bの移動を描画する。
Further, the machine
また、ロボット動作演算部802は、ロボット制御部41から、ロボット60の各軸位置を示す位置データを取り込む。ロボット動作演算部802は、取り込んだ位置データに基づいて、ロボット60が備える機構の稼働部を描画し直す。ロボット動作演算部802は、例えば、ロボットアーム21の移動、および工具6cを含むロボットハンド22の移動を描画する。
Further, the robot
機械動作演算部801およびロボット動作演算部802による描画結果(描画データ)は、シミュレーション制御部80Xが画面処理部31を経由して表示部4に表示させる。
The
干渉チェック部803は、ロボット60と工作機械100との間の干渉チェック処理を実行する(ステップS70)。すなわち、干渉チェック部803は、機械動作演算部801で描画された稼働部の描画データと、ロボット動作演算部802で描画された稼働部の描画データとの重なりをチェックする。具体的には、干渉チェック部803は、工作機械100の各軸位置と、ロボット60の各軸位置とに基づいて、以下の(1)から(4)に示す構成要素間で干渉が発生するか否かを判断する。
(1)機械モデル811に基づく工作機械100の機械構成
(2)工具データ813に基づく工具6a,6b
(3)ロボットモデル812に基づくロボット60の構成
(4)工具データ814に基づく工具6cThe
(1) Machine configuration of
(3) Configuration of
干渉チェック部803は、例えば、工作機械100の工具ホルダ11a,11bまたは工具6a,6bと、ロボット60のロボットアーム21、ロボットハンド22、または工具6cとの間に干渉が発生するか否かをチェックする(ステップS80)。
The
干渉が発生している場合(ステップS80、Yes)、干渉チェック部803は、アラーム処理を実行する(ステップS90)。すなわち、干渉チェック部803は、補間処理部38およびロボット制御部41に、動作中止の信号を送ると同時に、画面処理部31を経由して表示部4に干渉アラームを表示させる。補間処理部38およびロボット制御部41は、干渉チェック部803から動作中止の信号を受け取ると、演算処理を停止する。
When interference has occurred (step S80, Yes), the
干渉が発生していない場合(ステップS80、No)、シミュレーション制御部80Xは、シミュレーション処理を終了する。
When no interference has occurred (step S80, No), the
本実施の形態では、数値制御装置1Xが、工作機械100およびロボット60の実際の動作に合わせてシミュレーション描画および干渉チェックを行う場合について説明した。数値制御装置1Xは、工作機械100およびロボット60を動作させることなくシミュレーション描画および干渉チェックを行ってもよい。この場合、数値制御装置1Xは、数値制御装置1Xが持っているマシンロック機能を用いる。マシンロック機能は、位置データの計算は行うが、駆動部90およびロボットコントローラ50には指令を出さない機能である。数値制御装置1Xは、マシンロック機能を用いることにより、工作機械100およびロボット60を実際に動作させなくても、シミュレーション描画および干渉チェックを行うことができる。
In the present embodiment, a case where the numerical control device 1X performs simulation drawing and interference check according to the actual operations of the
このように実施の形態1では、数値制御装置1Xが、機械モデル811および工作機械100を制御する際に用いる位置データに基づいて工作機械100を描画し、ロボットモデル812およびロボット60を制御する際に用いる位置データに基づいてロボット60を描画し、描画した工作機械100およびロボット60に基づいて、ロボット60と工作機械100とが衝突するか否かを判断している。これにより、数値制御装置1Xは、ロボット60と工作機械100とが衝突するか否かを判断することが可能となる。
As described above, in the first embodiment, when the numerical control device 1X draws the
実施の形態2.
つぎに、図9から図12を用いてこの発明の実施の形態2について説明する。実施の形態2では、シミュレーションによって干渉を検知した場合に、干渉を回避できるよう、工作機械100およびロボット60を制御して、工作機械100およびロボット60の運転を継続する。
Next, a second embodiment of the present invention will be described with reference to FIGS. 9 to 12. In the second embodiment, when interference is detected by simulation, the
図9は、実施の形態2にかかる数値制御装置の構成例を示す図である。図9の各構成要素のうち図1に示す実施の形態1の数値制御装置1Xと同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。 FIG. 9 is a diagram showing a configuration example of the numerical control device according to the second embodiment. Of the components of FIG. 9, components that achieve the same functions as the numerical control device 1X of the first embodiment shown in FIG. 1 are designated by the same reference numerals, and redundant description will be omitted.
数値制御装置1Yは、数値制御装置1Xと比較して、制御演算部2Xの代わりに制御演算部2Yを備えている。制御演算部2Yの記憶部34が記憶しているシミュレーション用データ346は、機械モデル811、ロボットモデル812、ロボット経由点、および待機時間上限値を含んでいる。ロボット経由点および待機時間上限値については後述する。また、制御演算部2Yは、制御演算部2Xと比較して、シミュレーション制御部80Xの代わりにシミュレーション制御部80Yを備えている。
The numerical control device 1Y includes a control calculation unit 2Y instead of the
シミュレーション制御部80Yは、シミュレーション制御部80Xと同様に、ロボット60の動作および工作機械100の動作を演算によってシミュレーションする。シミュレーション制御部80Yは、機械動作演算部801と、ロボット動作演算部802と、干渉チェック部803と、干渉回避処理部804とを備えている。なお、図9では、シミュレーション制御部80Yが記憶部34から取得して格納しておく、機械モデル811、ロボットモデル812、および工具データ813,814の図示は省略している。
Similar to the
干渉回避処理部804は、工作機械100とロボット60とが干渉すると判断された場合に、工作機械100とロボット60との干渉を回避するため、ロボット60への指令などを変更する。
When it is determined that the
干渉回避処理部804は、工作機械100とロボット60とが干渉すると判断された場合、ロボット60の姿勢を変更することによって干渉を回避できるか否かを判断する。ロボット60の姿勢を変更することによって干渉を回避できる場合、干渉回避処理部804は、ロボット60への移動指令であるロボット移動指令を、ロボット60の姿勢を変更したロボット移動指令に置き換える。これにより、干渉回避処理部804は、ロボット60と工作機械100の干渉を回避させる。
When it is determined that the
ロボット60の姿勢を変更することによって干渉を回避できない場合、干渉回避処理部804は、ロボット経由点を目標位置としたロボット移動指令を挿入することで干渉を回避できるか否かを判断する。ロボット経由点は、ロボット60に経由させることが可能な位置を示している。
When the interference cannot be avoided by changing the posture of the
ロボット経由点を用いることによって干渉を回避できる場合、干渉回避処理部804は、工作機械100とロボット60とを干渉させてしまうロボット移動指令(指令)の直前に、工作機械100との干渉を発生させないロボット移動指令を挿入することで、ロボット60の移動経路を変更する。これにより、干渉回避処理部804は、ロボット60と工作機械100の干渉を回避させる。
When interference can be avoided by using the robot waypoint, the interference
なお、本実施の形態では、干渉を発生させてしまうロボット移動指令の直前に干渉を回避するための指令を挿入する場合について説明するが、干渉を回避するための指令は、干渉を発生させてしまうロボット移動指令より前に挿入されればよい。 In the present embodiment, a case where a command for avoiding interference is inserted immediately before a robot movement command that causes interference will be described, but a command for avoiding interference causes interference. It may be inserted before the robot movement command to be stored.
ロボット経由点を用いても干渉を回避できない場合、干渉回避処理部804は、干渉する構成要素(干渉対象)が工具6a,6bなどの工作機械100の可動部であれば、ロボット60の移動を一時的に停止することで干渉回避が可能か否かを判断する。具体的には、干渉回避処理部804が記憶部34から待機時間上限値を取得する。待機時間上限値は、ロボット60を停止させることができる時間の上限値である。すなわち、ロボット60は、待機時間上限値以下の時間であれば、待機することができる。干渉回避処理部804は、待機時間上限値以下の特定時間の間ロボット60を停止させることで干渉を回避できるか否かを判断する。
When interference cannot be avoided even by using the robot waypoint, the interference
待機時間上限値以下の特定時間だけロボット60を待機させることで干渉を回避できる場合、干渉回避処理部804は、ロボット60と工作機械100を干渉させてしまうロボット移動指令の直前に待機(ドウェル)指令を挿入する。これにより、干渉回避処理部804は、ロボット60と工作機械100の干渉を回避させる。
When interference can be avoided by making the
干渉回避処理部804は、ロボット60の姿勢を変更すること、ロボット60の経路を変更すること、および待機指令を挿入することの少なくとも1つを実行することでロボット60と工作機械100の干渉を回避させる。すなわち、干渉回避処理部804は、ロボット60の姿勢を変更すること、ロボット60の経路を変更すること、および待機指令を挿入することを組み合わせて、ロボット60と工作機械100の干渉を回避させてもよい。
The interference
つぎに、干渉回避を行う際のロボット60の動作例について説明する。図10は、実施の形態2にかかる数値制御装置によって実行される干渉回避の第1の動作例を説明するための図である。干渉回避の第1の動作例では、干渉回避処理部804は、干渉を検出すると、ロボット60を姿勢変更させることによって、干渉を回避する。図10では、図7に示した干渉が発生する場合の、干渉回避の動作を示している。図10では、工具6cを矢印D3の方向に移動させつつ、ロボット60の姿勢を変更した場合を示している。
Next, an operation example of the
干渉回避処理部804は、姿勢変更を行う場合、ロボット60が把持している工具6cの先端位置および姿勢が姿勢の変更前後で変化しないように、ロボット移動指令を置き換える。干渉回避処理部804は、このロボット移動指令の置き換えによって、干渉を回避することが可能か否かを判断する。回避可能な場合、干渉回避処理部804は、干渉を回避できるロボット移動指令に従ってロボット60を動作させる。
When the posture is changed, the interference
図7に示した干渉が発生する場合、干渉回避処理部804は、工具6cの先端位置および姿勢を姿勢の変更前後で変更せず、特定のロボットアーム21の姿勢が変化するよう、ロボット移動指令を置き換える。図10では、ロボットアーム21のうち、台座23に接合されている第1のロボットアームを矢印D4aの方向に移動させ、第1のロボットアームに接合されている第2のロボットアームを矢印D4bの方向に移動させることで、ロボット60の姿勢が変更された場合を示している。
When the interference shown in FIG. 7 occurs, the interference
図11は、実施の形態2にかかる数値制御装置によって実行される干渉回避の第2の動作例を説明するための図である。干渉回避の第2の動作例では、干渉回避処理部804は、干渉を検出すると、ロボット60の移動経路を変更させることによって、干渉を回避する。図11では、図6に示した干渉が発生する場合の、干渉回避の動作を示している。図11では、工具6cを矢印D5の方向に移動させ、その後、工具6cを矢印D6の方向に移動させるよう、ロボット60の移動経路を変更した場合を示している。
FIG. 11 is a diagram for explaining a second operation example of interference avoidance executed by the numerical control device according to the second embodiment. In the second operation example of interference avoidance, when the interference
干渉回避処理部804は、記憶部34からロボット経由点P1を取得する。干渉回避処理部804は、干渉が発生するロボット移動指令の直前に、ロボット経由点P1を、干渉対象(図6では、工具6c)の目標位置(経由位置)としたロボット移動指令を挿入することで干渉を回避できるか否かを判断する。
The interference
干渉を回避できる場合、干渉回避処理部804は、ロボット60と工作機械100との干渉を発生させるロボット移動指令の直前に、ロボット経由点P1を経由するロボット移動指令を挿入することで、ロボット60が備える構成要素の移動経路を変更する。これにより、干渉回避処理部804は、ロボット60と工作機械100の干渉を回避する。なお、記憶部34は、ロボット経由点P1を複数記憶しておいてもよい。この場合、干渉回避処理部804は、複数のロボット経由点P1を用いて、複数の回避経路を適用してもよい。
When interference can be avoided, the interference
つぎに、数値制御装置1Yによる干渉チェックの処理手順について説明する。図12は、実施の形態2にかかる数値制御装置による干渉チェックの処理手順を示すフローチャートである。なお、図12の説明では、図8のフローチャートで説明した処理と同様の処理については、その説明を省略する。 Next, the processing procedure of the interference check by the numerical control device 1Y will be described. FIG. 12 is a flowchart showing a processing procedure of interference check by the numerical control device according to the second embodiment. In the description of FIG. 12, the description of the same processing as that described in the flowchart of FIG. 8 will be omitted.
数値制御装置1Yは、ステップS10からS80までは数値制御装置1Xと同様の処理を実行する。干渉チェック処理の結果、干渉が発生していない場合(ステップS80、No)、シミュレーション制御部80Yは、シミュレーション処理を終了する。
The numerical control device 1Y executes the same processing as the numerical control device 1X from steps S10 to S80. If no interference has occurred as a result of the interference check process (steps S80, No), the
干渉チェック処理の結果、干渉が発生している場合(ステップS80、Yes)、干渉回避処理部804は、ロボット60の姿勢変更を行うことで干渉の回避が可能か否かを判断する(ステップS100)。
If interference has occurred as a result of the interference check process (step S80, Yes), the interference
ロボット60が把持する工具6cの先端位置および姿勢が、ロボット移動指令の変換前後で同等でないと、目的とした加工をロボット60が実施できなくなる。このため、干渉回避処理部804は、干渉を回避させるための指令における工具6cの先端位置および姿勢が、干渉が発生する指令と同じになるような、ロボット60の各軸位置(ロボット60を構成する各軸の位置)のパターンを算出する。
If the tip position and posture of the
干渉回避処理部804は、ロボット移動指令の変換前後で工具6cの先端位置および姿勢を変更することなく、干渉を回避できる軸位置のパターンを算出できたか否かを判断する。すなわち、干渉回避処理部804は、導出したロボット60の各軸位置を適用した場合に、干渉を回避できるか否かを判断する。
The interference
干渉回避処理部804は、ロボット60の姿勢変更を行うことで干渉を回避可能であると判断した場合(ステップS100、Yes)、ロボット60の姿勢を変更する(ステップS110)。具体的には、干渉回避処理部804は、干渉を発生させるロボット移動指令を、ロボット60の姿勢を変更したロボット移動指令に置き換える。これにより、干渉回避処理部804は、干渉を発生させるロボット指令を、干渉が発生しない姿勢のロボット指令に変更する。
When it is determined that interference can be avoided by changing the posture of the robot 60 (step S100, Yes), the interference
このように、干渉回避処理部804は、干渉を発生させるロボット移動指令においてロボット60の姿勢を変更することで、干渉を回避できる場合は、ロボット60の姿勢変更処理を実行する。これにより、干渉回避処理部804は、干渉を発生させるロボット移動指令を干渉回避可能なロボット移動指令に置き換えてロボット60を動作させる。
In this way, the interference
干渉回避処理部804は、ロボット60の姿勢変更を行っても干渉を回避できないと判断した場合(ステップS100、No)、ロボット60の経路変更を行うことで干渉の回避が可能か否かを判断する(ステップS120)。すなわち、干渉回避処理部804は、干渉が発生するロボット移動指令の直前に、経路変更指令を挿入すると、干渉を回避できるか否かを判断する。具体的には、干渉回避処理部804は、予め設定しておいたロボット経由点をロボット60が通過した場合に、干渉を回避できるか否かを判断する。このとき、干渉回避処理部804は、任意の数(1または複数)のロボット経由点を設定できるものとし、それぞれのロボット経由点を通過するロボット移動指令を挿入した場合に、干渉を回避できるか否かを判断する。
When the interference
干渉回避処理部804は、ロボット60の経路変更を行うことで干渉を回避可能であると判断した場合(ステップS120、Yes)、ロボット60の移動経路を変更する(ステップS130)。具体的には、干渉回避処理部804は、干渉が発生するロボット移動指令の直前に、干渉を発生させない移動指令を挿入する。換言すると、干渉回避処理部804は、干渉が発生するロボット移動指令の直前に、干渉を回避できるロボット経由点を目標位置としたロボット移動指令(経路変更指令)を挿入する。干渉を回避可能なロボット経由点が複数ある場合、干渉回避処理部804は、移動距離が最も短い、すなわち最短時間で移動可能なロボット経由点を目標位置としたロボット移動指令を、干渉が発生するロボット移動指令の直前に挿入する。
When the interference
干渉回避処理部804は、ロボット60の経路変更を行っても干渉を回避できないと判断した場合(ステップS120、No)、ロボット60の待機で干渉の回避が可能か否かを判断する(ステップS140)。具体的には、干渉回避処理部804は、ロボット60が干渉する干渉対象が可動部であり、かつロボット60を待機時間上限値内の間停止させることで、干渉を回避できるか否かを判断する。すなわち、干渉回避処理部804は、ロボット60が干渉する対象が工作機械100の工具6a,6bといった可動部であるか否かを判断する。干渉対象が可動部である場合、干渉回避処理部804は、待機上限値範囲以内の間、ロボット60を停止させることで、工具6a,6bなどの可動部が移動し、干渉を回避できる状態に移行するか否かを判断する。
When the interference
干渉回避処理部804は、ロボット60の待機で干渉の回避が可能であると判断した場合(ステップS140、Yes)、ロボット60への待機処理を実行する。具体的には、干渉回避処理部804は、干渉が発生するロボット指令の直前に、干渉を回避できる時間分の待機指令、すなわちロボット60を停止させるための待機指令を挿入する(ステップS150)。
When the interference
干渉回避処理部804が、ロボット60の待機では干渉を回避できないと判断すると(ステップS140、No)、干渉チェック部803は、アラーム処理を実行する(ステップS160)。すなわち、干渉チェック部803は、補間処理部38およびロボット制御部41に、動作中止の信号を送るとともに、画面処理部31を経由して表示部4に干渉アラームを表示させる。補間処理部38およびロボット制御部41は、干渉チェック部803から動作中止の信号を受け取ると、演算処理を停止する。
When the interference
このように実施の形態2によれば、数値制御装置1Yは、干渉が発生する場合には、ロボット60の姿勢変更、ロボット60の移動経路の変更、またはロボット60の待機指令の挿入を実行するので、ロボット60と工作機械100の干渉を回避できる。
As described above, according to the second embodiment, when interference occurs, the numerical control device 1Y executes the posture change of the
実施の形態3.
つぎに、図13から図17を用いてこの発明の実施の形態3について説明する。実施の形態3では、加工ワーク5a,5bの加工中の形状をシミュレーション(以下、ワークシミュレーションという)する。
Next, a third embodiment of the present invention will be described with reference to FIGS. 13 to 17. In the third embodiment, the shapes of the
図13は、実施の形態3にかかる数値制御装置の構成例を示す図である。図13の各構成要素のうち数値制御装置1X,1Yと同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。 FIG. 13 is a diagram showing a configuration example of the numerical control device according to the third embodiment. Of the components of FIG. 13, components that achieve the same functions as the numerical control devices 1X and 1Y are designated by the same reference numerals, and duplicate description will be omitted.
数値制御装置1Zは、数値制御装置1Yと比較して、制御演算部2Yの代わりに制御演算部2Zを備えている。制御演算部2Zの記憶部34が記憶しているシミュレーション用データ346は、機械モデル811、ロボットモデル812、ロボット経由点、待機時間上限値、およびワークデータ815を含んでいる。ワークデータ815は、加工ワーク5a,5bの情報であり、加工ワーク5a,5bの加工開始時の形状および装着位置などの情報を含んでいる。
The numerical control device 1Z includes a control calculation unit 2Z instead of the control calculation unit 2Y as compared with the numerical control device 1Y. The
制御演算部2Zは、制御演算部2Yと比較して、シミュレーション制御部80Yの代わりにシミュレーション制御部80Zを備えている。
The control calculation unit 2Z includes a simulation control unit 80Z instead of the
シミュレーション制御部80Zは、加工ワーク5a,5bの形状の変化を演算によってシミュレーションする。シミュレーション制御部80Zは、機械動作演算部801と、ロボット動作演算部802と、干渉チェック部803と、干渉回避処理部804とを備えている。また、本実施の形態のシミュレーション制御部80Zは、移動軌跡演算部805、ワーク位置演算部806、およびワーク形状演算部807を備えている。なお、図13では、シミュレーション制御部80Zが記憶部34から取得する、機械モデル811、ロボットモデル812、および工具データ813,814の図示は省略している。
The simulation control unit 80Z simulates changes in the shapes of the
移動軌跡演算部805は、機械動作演算部801から工作機械100の各軸の移動データを取得し、ロボット動作演算部802からロボット60の各軸の移動データを取得する。移動軌跡演算部805は、工作機械100の各軸の移動データ、およびロボット60の各軸の移動データに基づいて、工具6a〜6cの移動軌跡を演算する。工具6aまたは工具6bの移動軌跡が第1の移動軌跡であり、工具6cの移動軌跡が第2の移動軌跡である。
The movement locus calculation unit 805 acquires the movement data of each axis of the
ワーク位置演算部806は、記憶部34からワークデータ815を取得する。ワーク位置演算部806は、工具6a〜6cおよびロボット60の座標系上における、加工ワーク5a,5bの位置を算出する。具体的には、ワーク位置演算部806は、ワークデータ815と、機械モデル811と、ロボットモデル812とに基づいて、加工ワーク5a,5bの位置であるワーク位置を算出する。
The work
ワーク形状演算部807は、工具6a〜6cの移動軌跡と、加工ワーク5a,5bの位置と、に基づいて、加工ワーク5a,5bの加工中の形状(形状の時間的な変化)を算出する。また、ワーク形状演算部807は、加工ワーク5a,5bの加工中の形状を、画面処理部31を介して表示部4に表示させる。
The work
ここで、数値制御装置1Zが表示部4の画面に表示させる情報について説明する。図14は、実施の形態3にかかる数値制御装置がワークシミュレーションをする際のロボットおよび工作機械の動作を説明するための図である。図15は、図14に示すワークシミュレーションが実行される際の画面表示の例を示す図である。
Here, the information to be displayed on the screen of the
図14では、工作機械100が、第1系統Q1および第2系統Q2で旋削加工を実行した後、ロボット60が、第3系統Q3でロボット制御による面取り加工を実行する様子を示している。第1系統Q1は、工具6aを含んだ系統であり、第2系統Q2は、工具6bを含んだ系統であり、第3系統Q3は、工具6cを含んだ系統である。工具6aを含んだ第1系統Q1は、加工ワーク5aを加工し、工具6bを含んだ第2系統Q2は、加工ワーク5bを加工する。また、工具6cを含んだ第3系統Q3は、加工ワーク5aを加工する。加工ワーク5aは、工具6aを含んだ第1系統Q1によって面取り位置P2まで加工されると、第1系統Q1による加工が継続されながら、工具6cを含んだ第3系統Q3によって面取り位置P2で面取り加工が行われる。
FIG. 14 shows a state in which the
数値制御装置1Zが備える表示部4は、加工途中の加工ワーク5a,5bを表示するとともに、工作機械100およびロボット60の工具6a〜6cを表示する。図15に示す画面133では、第1系統Q1で旋削加工が実行される際に、加工途中の加工ワーク5aと、工作機械100の工具6aとが表示される場合を示している。図15に示す画面134では、その後、第1系統Q1での旋削加工および第3系統Q3での面取り加工が実行される際に、加工途中の加工ワーク5aと、工作機械100の工具6aと、ロボット60の工具6cとが表示される場合を示している。すなわち、画面133では、工作機械100の第1系統Q1による旋削加工段階のシミュレーション結果が表示され、画面134では、ロボット60の第3系統Q3による面取り工程段階のシミュレーション結果が表示されている。
The
表示部4が表示する画面(ワークシミュレーション画面)では画面の任意の箇所の拡大および縮小が可能となっており、加工後のワーク形状の特定箇所の詳細形状を確認可能となっている。図16は、図15に示した面取り位置での加工ワークの形状を拡大表示した例を示す図である。図16の画面135では、加工ワーク5aの面取り位置P2の画像を拡大表示している。なお、図16では、加工ワーク5aの箇所にハッチングを付している。
On the screen (work simulation screen) displayed by the
つぎに、数値制御装置1Zによるワークシミュレーションの処理手順について説明する。図17は、実施の形態3にかかる数値制御装置によるワークシミュレーションの処理手順を示すフローチャートである。図17では、第1系統Q1および第3系統Q3での加工ワーク5aに対するワークシミュレーションについて説明する。なお、図17の説明では、図8のフローチャートで説明した処理と同様の処理については、その説明を省略する。
Next, the processing procedure of the work simulation by the numerical control device 1Z will be described. FIG. 17 is a flowchart showing a processing procedure of a work simulation by the numerical control device according to the third embodiment. FIG. 17 describes a work simulation for the
数値制御装置1Zは、ワークシミュレーションを開始すると、第1系統Q1で工作機械100による旋削加工を実行し、第3系統Q3でロボット60による面取り加工を実行する。なお、第1系統Q1の処理および第3系統Q3の処理は並列にて実施されるものとする。
When the work simulation is started, the numerical control device 1Z executes turning by the
第1系統Q1の旋削加工ステップでは、解析処理部37が、NCプログラムを解析する(ステップS10A)。すなわち、解析処理部37が、工作機械100の駆動部90への指令である機械駆動指令を解析する。
In the turning processing step of the first system Q1, the
補間処理部38は、機械駆動指令の解析結果を用いて、機械駆動指令の補間処理を行う(ステップS20)。そして、補間処理部38は、補間処理した機械駆動指令に基づいて、工作機械100の動作である工作機械動作の演算処理を実行する(ステップS30)。補間処理部38による演算処理で得られる機械動作には、工作機械100が備える駆動部90の各軸位置の情報が含まれている。
The
移動軌跡演算部805は、工具6aの移動軌跡である第1の工具移動軌跡の演算処理を実行する(ステップS200)。具体的には、移動軌跡演算部805は、工作機械100が備える駆動部90の各軸位置と、機械モデル811と、工具データ813とに基づいて、工具6aの移動軌跡を算出する。
The movement locus calculation unit 805 executes the calculation process of the first tool movement locus, which is the movement locus of the
第3系統Q3の面取り加工ステップでは、解析処理部37のロボット指令解析部371が、NCプログラムを解析する(ステップS10B)。すなわち、ロボット指令解析部371が、ロボット60への指令であるロボット指令を解析する。
In the chamfering step of the third system Q3, the robot
ロボット制御部41は、ロボット60への指令の解析結果を用いて、ロボット60へのNCプログラムをロボットプログラムに変換する(ステップS40)。また、ロボット制御部41は、ロボットプログラムに基づいて、ロボット60の動作であるロボット動作の演算処理を実行する(ステップS50)。ロボット制御部41による演算処理で得られるロボット動作には、ロボット60の各軸位置の情報が含まれている。
The
移動軌跡演算部805は、工具6cの移動軌跡である第2の工具移動軌跡の演算処理を実行する(ステップS210)。具体的には、移動軌跡演算部805は、ロボット60の各軸位置と、ロボットモデル812と、工具データ814とに基づいて、工具6cの移動軌跡を算出する。
The movement locus calculation unit 805 executes the calculation processing of the second tool movement locus, which is the movement locus of the
移動軌跡演算部805が、工具6a,6cの移動軌跡を算出した後、ワーク位置演算部806は、ワークデータ815と、機械モデル811と、ロボットモデル812とに基づいて、加工ワーク5aの位置であるワーク位置の演算処理を実行する(ステップS220)。すなわち、ワーク位置演算部806は、ワーク位置の演算処理にて加工ワーク5aが工作機械100の加工室内の何れの位置に存在するかを算出する。
After the movement locus calculation unit 805 calculates the movement locus of the
ワーク形状演算部807は、ワーク形状の演算処理を実行する(ステップS230)。具体的には、ワーク形状演算部807は、工具6a〜6cの移動軌跡と、加工ワーク5aの位置と、に基づいて、加工ワーク5aの加工中の形状を算出する。すなわち、ワーク形状演算部807は、ステップS200,S210で算出された工具6a,6cの移動軌跡と、ステップS220で算出されたワーク位置とに基づいて、特定領域まで加工された後の加工ワーク5aの形状を算出する。換言すると、ワーク形状演算部807は、ワーク形状の時間的な変化を算出する。このとき、ワーク形状演算部807は、加工ワーク5aに対して、工具6a,6cが通過した箇所を除外した形状を演算していく。
The work
シミュレーション制御部80Zは、描画処理を実行する(ステップS240)。具体的には、ワーク形状演算部807が、算出した加工ワーク5aの加工中の形状を描画し、描画したデータを画面処理部31に送る。これにより、表示部4は、加工ワーク5aの加工中の形状を表示する。
The simulation control unit 80Z executes the drawing process (step S240). Specifically, the work
シミュレーション制御部80Zは、加工ワーク5bに対しても、加工ワーク5aと同様に加工中の形状を算出することができる。シミュレーション制御部80Zは、算出した加工ワーク5a,5bを用いて、ロボット60と加工ワーク5a,5bとの干渉をチェックしてもよいし、干渉を回避させてもよい。また、シミュレーション制御部80Zは、算出した加工ワーク5a,5bを用いて、工作機械100と加工ワーク5a,5bとの干渉をチェックしてもよいし、干渉を回避させてもよい。
The simulation control unit 80Z can calculate the shape of the
このように実施の形態3によれば、数値制御装置1Zは、工具6a〜6cの移動軌跡を算出し、工具6a〜6cの移動軌跡に基づいて加工ワーク5a,5bの形状を算出するので、加工中の加工ワーク5a,5bの形状を算出することができる。
As described above, according to the third embodiment, the numerical control device 1Z calculates the movement locus of the
また、数値制御装置1Zは、加工中の加工ワーク5a,5bの形状を算出できるので、加工ワーク5a,5bとロボット60との干渉のチェックおよび干渉の回避を正確に実行できる。また、数値制御装置1Zは、加工中の加工ワーク5a,5bの形状を算出できるので、加工ワーク5a,5bと工作機械100との干渉のチェックおよび干渉の回避を正確に実行できる。
Further, since the numerical control device 1Z can calculate the shapes of the
実施の形態4.
つぎに、図18から図22を用いてこの発明の実施の形態4について説明する。実施の形態4では、工作機械100またはロボット60への手動操作に対して、工作機械100とロボット60との間に干渉が発生するか否かを判断し、干渉する場合には、干渉回避の動作を実行する。
Next, a fourth embodiment of the present invention will be described with reference to FIGS. 18 to 22. In the fourth embodiment, it is determined whether or not interference occurs between the
図18は、実施の形態4にかかる数値制御装置の構成例を示す図である。図18の各構成要素のうち数値制御装置1X,1Y,1Zと同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。 FIG. 18 is a diagram showing a configuration example of the numerical control device according to the fourth embodiment. Of the components of FIG. 18, the components that achieve the same functions as the numerical control devices 1X, 1Y, and 1Z are designated by the same reference numerals, and redundant description will be omitted.
数値制御装置1Lは、数値制御装置1Yと比較して、制御演算部2Yの代わりに制御演算部2Lを備えている。制御演算部2Lは、制御演算部2Yと比較して、シミュレーション制御部80Yの代わりに干渉回避制御部81を備えている。また、制御演算部2Lは、制御演算部2Yと比較して、ロボット制御部41の代わりにロボット制御部41Lを備えている。
The numerical control device 1L includes a
制御演算部2Lの記憶部34が記憶しているシミュレーション用データ346は、機械モデル811と、ロボットモデル812とを含んでいる。
The
干渉回避制御部81は、シミュレーション制御部80Yが備えている機能に加えて、手動操作された際に干渉を回避するための処理を実行する機能を備えている。干渉回避制御部81は、工作機械100またはロボット60への手動操作に対して、工作機械100とロボット60との間に干渉が発生するか否かを判断し、干渉する場合には工作機械100とロボット60との干渉を回避するため、ロボット60への指令などを変更する。干渉回避制御部81は、機械動作演算部851と、ロボット動作演算部852と、干渉チェック部853と、干渉回避処理部854とを備えている。
The interference
機械動作演算部851は、機械モデル811および工具データ813を記憶部34から取得する。また、ロボット動作演算部852は、ロボットモデル812および工具データ814を記憶部34から取得する。なお、図18では、干渉回避制御部81が記憶部34から取得して格納しておく、機械モデル811、ロボットモデル812、および工具データ813,814の図示は省略している。
The machine
機械動作演算部851は、機械動作演算部801が備えている機能に加えて、手動操作された際の工作機械100の位置および形状を算出する機能を備えている。機械動作演算部851は、手動操作による移動対象が工作機械100の構成要素であった場合、移動対象、移動量、機械モデル811および工具データ813に基づいて、工作機械100の移動後の位置および形状を算出する。機械動作演算部851は、算出結果である、工作機械100の移動後の位置および形状を干渉チェック部853に送信する。
The machine
ロボット動作演算部852は、ロボット動作演算部802が備えている機能に加えて、手動操作された際のロボット60の位置および形状を算出する機能を備えている。ロボット動作演算部852は、手動操作による移動対象がロボット60の構成要素であった場合、移動対象、移動量、ロボットモデル812および工具データ814に基づいて、ロボット60の移動後の位置および形状を算出する。ロボット動作演算部852は、算出結果である、ロボット60の移動後の位置および形状を干渉チェック部853に送信する。
The robot motion calculation unit 852 has a function of calculating the position and shape of the
干渉チェック部853は、手動操作による移動対象の移動後の位置および形状に基づいて、工作機械100とロボット60とが干渉するか否かを判断する。干渉回避処理部854は、ロボット60の姿勢を変更することで干渉回避が可能である場合に、ロボット60の姿勢を変更した移動データを生成して、ロボット制御部41Lに送信する。
The
数値制御装置1Lの入力操作部3は、手動ハンドル55と、ジョグボタン57と、軸選択スイッチ59とを備えている。また、数値制御装置1Lのロボット制御部41Lは、ロボット手動操作部415を備えている。また、数値制御装置1Lの補間処理部38は、手動可否判断部382Mを備えている。
The
手動ハンドル55は、ロボット60の軸方向の移動量を操作するためのハンドルである。手動ハンドル55は、手動パルスジェネレータである。手動ハンドル55は、操作に対応する移動量を制御演算部2Lに送る。この移動量は、記憶部34を介してロボット手動操作部415に送られる。
The manual handle 55 is a handle for controlling the amount of movement of the
なお、手動ハンドル55は、工作機械100の軸方向の移動量を操作する際に用いられてもよい。すなわち、ユーザは、1つの手動ハンドル55で、ロボット60の操作および工作機械100の操作を行ってもよい。この場合、ユーザからの操作を受け付ける操作盤(後述する操作盤53)には、手動ハンドル55による手動操作対象を切り替えるための切替スイッチ(後述する切替スイッチ15)を配置しておく。
The manual handle 55 may be used when manipulating the amount of movement of the
ジョグボタン57は、ロボット60の軸方向の移動量をジョグ操作するためのボタンである。ジョグボタン57は、操作に対応する操作情報を制御演算部2Lに送る。この操作情報は移動量に対応する情報であり、記憶部34を介してロボット手動操作部415に送られる。
The
軸選択スイッチ59は、ロボット60に対して手動操作する軸を選択するスイッチである。軸選択スイッチ59の例は、工作機械100における座標系で、X軸を指定するスイッチ、Y軸を指定するスイッチ、Z軸を指定するスイッチ、A軸を指定するスイッチ、B軸を指定するスイッチ、C軸を指定するスイッチである。軸選択スイッチ59は、押下またはタッチされた軸が何れの軸であるかを示す軸情報を、制御演算部2Lに送る。この軸情報は、記憶部34を介してロボット手動操作部415に送られる。
The
ここで、切替スイッチ15を備えた操作盤53の構成について説明する。図19は、実施の形態4にかかる数値制御装置が備える操作盤の構成例を示す図である。図19に示すように、操作盤53は、工作機械100の前面などに配置されている。また、工作機械100の前面には、表示部4および手動ハンドル55が配置されている。なお、図19では、ジョグボタン57、および軸選択スイッチ59の図示を省略している。
Here, the configuration of the
操作盤53には、手動ハンドル55による手動操作対象を切り替えるための切替スイッチ15が配置されている。切替スイッチ15は、手動操作対象をロボット60に切り替えるためのスイッチと、手動操作対象を工作機械100に切り替えるためのスイッチとを有している。切替スイッチ15が操作されると、切替スイッチ15は、操作に対応する手動操作対象を制御演算部2Lの解析処理部37に送る。
A
ロボット60または工作機械100が、手動操作可能な構成要素を複数有している場合、解析処理部37は、入力操作部3から送られてくる情報に基づいて、手動操作に対応する移動対象がロボット60の構成要素であるか工作機械100の構成要素であるかを解析する。この場合、ユーザは、入力操作部3に対し、手動操作するロボット60の構成要素を指定する操作、または手動操作する工作機械100の構成要素を指定する操作を実行する。
When the
ロボット手動操作部415は、手動可否判断部421Rおよび移動データ送信部422を備えている。手動可否判断部421Rは、制御システムの状態(以下、システム状態という)に基づいて、ロボット60の手動操作の可否を判断する。すなわち、手動可否判断部421Rは、ロボット60、数値制御装置1L、および工作機械100の少なくとも1つの状態に基づいて、ロボット60の手動操作の可否を判断する。可否の判断には、数値制御装置1Lが持つ種々のデータが参照される。手動可否判断部421Rは、例えば、非常停止状態である場合、ロボットコントローラ50との通信が未接続である場合、またはロボット60の周辺の侵入禁止領域にユーザが侵入している場合に、手動操作不可と判断する。
The robot manual operation unit 415 includes a manual
移動データ送信部422は、軸選択スイッチ59で選択された軸情報と、解析処理部37が解析した移動量に基づいて移動指令を生成し、移動指令をロボットコントローラ50に送る。これにより、数値制御装置1Lは、ロボットコントローラ50を介して、ロボット60を操作することができる。解析処理部37が解析した移動量は、ジョグボタン57または手動ハンドル55から送られてくる情報に対応している。すなわち、解析処理部37が解析した移動量は、ジョグボタン57または手動ハンドル55への手動操作に対応している。
The movement
手動可否判断部382Mは、システム状態に基づいて、工作機械100の手動操作の可否を判断する。すなわち、手動可否判断部382Mは、ロボット60、数値制御装置1L、および工作機械100の少なくとも1つの状態に基づいて、工作機械100の手動操作の可否を判断する。可否の判断には、数値制御装置1Lが持つ種々のデータが参照される。手動可否判断部382Mは、例えば、非常停止状態である場合、または工作機械100の周辺の侵入禁止領域にユーザが侵入している場合に、手動操作不可と判断する。
The manual
ここで、手動操作が行われた場合の、干渉チェック処理について説明する。本実施の形態の解析処理部37は、切替スイッチ15によって切替えられた手動操作対象(移動対象)と、ジョグボタン57への操作に対応する操作情報を受け付ける。解析処理部37は、移動対象がロボット60である場合、受け付けた操作情報に基づいて移動量を算出し、移動量をロボット手動操作部415に送る。また、解析処理部37は、移動対象が工作機械100である場合、受け付けた操作情報に基づいて移動量を算出し、移動量を補間処理部38に送る。
Here, the interference check process when a manual operation is performed will be described. The
ロボット手動操作部415は、移動量を受け付けると、移動量をロボット動作演算部852に送る。また、補間処理部38は、移動量を受け付けると、移動量を機械動作演算部851に送る。
When the robot manual operation unit 415 receives the movement amount, the robot manual operation unit 415 sends the movement amount to the robot motion calculation unit 852. Further, when the
ロボット動作演算部852は、ロボット手動操作部415から移動量を受け付けると、移動対象がロボット60であると判断し、移動量に基づいて、ロボット60の移動後の位置および形状を算出する。ロボット動作演算部852は、算出結果である、ロボット60の移動後の位置および形状を干渉チェック部853に送信する。
When the robot motion calculation unit 852 receives the movement amount from the robot manual operation unit 415, it determines that the movement target is the
機械動作演算部851は、補間処理部38から移動量を受け付けると、移動対象が工作機械100であると判断し、移動量に基づいて、工作機械100の移動後の位置および形状を算出する。機械動作演算部851は、算出結果である、工作機械100の移動後の位置および形状を干渉チェック部853に送信する。
When the machine
干渉チェック部853は、ロボット動作演算部852から移動後のロボット60の位置および形状を受け付けると、移動後のロボット60の位置および形状と、工作機械100の位置および形状とに基づいて、干渉をチェックする。この場合、干渉チェック部853は、干渉の有無を手動可否判断部421Rに送る。
When the
干渉チェック部853は、機械動作演算部851から移動後の工作機械100の位置および形状を受け付けると、移動後の工作機械100の位置および形状と、ロボット60の位置および形状とに基づいて、干渉をチェックする。この場合、干渉チェック部853は、干渉の有無を手動可否判断部382Mに送る。
When the
手動可否判断部421Rは、干渉がある場合は、手動操作不可と判断し、移動データ送信部422によるロボットコントローラ50へのデータ送信を禁止する。手動可否判断部421Rは、干渉がない場合は、システム状態に基づいて、移動データ送信部422によるロボットコントローラ50へのデータ送信を許可するか否かを判断する。
If there is interference, the manual
手動可否判断部382Mは、干渉がある場合は、手動操作不可と判断し、補間処理部38による加減速処理部39へのデータ送信を禁止する。手動可否判断部382Mは、干渉がない場合は、システム状態に基づいて、補間処理部38による加減速処理部39へのデータ送信を許可するかを判断する。干渉チェック部853は、干渉がある場合は、画面処理部31を介して表示部4に干渉アラームを表示させてもよい。
If there is interference, the manual
図20は、実施の形態4にかかる数値制御装置が備える表示部で表示される干渉アラームの例を示す図である。表示部4は、干渉アラームとして、「手動操作による干渉発生のため移動不可」といったメッセージを画面上に表示する。
FIG. 20 is a diagram showing an example of an interference alarm displayed on a display unit included in the numerical control device according to the fourth embodiment. The
ところで、手動操作がロボット60への手動操作であった場合、干渉回避処理部854は、ロボット60の姿勢を変えることで干渉を回避することが可能な場合がある。例えば、ユーザが、軸選択スイッチ59でロボット60の直線軸を指定して直線軸を移動させる場合、ロボット60の姿勢によっては、干渉を回避可能な場合がある。そのため、干渉チェック部853にて干渉があると判断された場合、干渉回避処理部854は、姿勢を変更することで干渉回避が可能か否かを判断する。干渉回避が可能な場合、干渉回避処理部854は、手動可否判断部421Rに手動操作可能であることを通知するとともに、姿勢を変更した移動データを手動可否判断部421Rに送信する。干渉回避処理部854は、干渉回避処理部804と同様の方法によって、ロボット60の姿勢を変更する移動データを算出する。
By the way, when the manual operation is a manual operation on the
つぎに、数値制御装置1Lによる干渉回避の方法について説明する。図21は、実施の形態4にかかる数値制御装置によって実行される干渉回避の動作例を説明するための図である。数値制御装置1Lは、例えば、ロボット60の姿勢変更によって干渉を回避する。図21の左側に示すロボット60は、ロボットアーム21が搬送物7に衝突した状態を示し、図21の右側に示すロボット60は、ロボットアーム21が搬送物7に衝突ないようロボット60の軸の角度を変更した状態を示している。
Next, a method of avoiding interference by the numerical control device 1L will be described. FIG. 21 is a diagram for explaining an operation example of interference avoidance executed by the numerical control device according to the fourth embodiment. The numerical control device 1L avoids interference by changing the posture of the
ユーザが、ロボット60を手動で直交座標系の軸方向に対して移動させる指令を出している際に、干渉回避処理部854が、次の指令で干渉すると判断した場合、干渉回避処理部854は、姿勢を変えることによって干渉を回避できるか否かをチェックする。具体的には、干渉回避処理部854は、ロボットハンド22の先端位置および姿勢が姿勢変更の前後で変わらないよう、ロボット60の軸A1,A2,A3の角度を算出し、算出した角度の姿勢で干渉するか否かをチェックする。
If the user manually issues a command to move the
ロボット60の軸のうち、台座23に接合されている第1のロボットアームの軸が軸A1であり、第1のロボットアームに接合されている第2のロボットアームの軸が軸A2であり、第2のロボットアームに接合されている第3のロボットアームの軸が軸A3である。
Of the axes of the
図21では、軸A1,A2の角度が変更された場合を示している。干渉回避処理部854は、軸A3の角度を変更しないことによって、ロボットハンド22の先端位置および姿勢を姿勢変更の前後で変わらないようにしつつ、干渉を回避できる姿勢を算出する。
FIG. 21 shows a case where the angles of the axes A1 and A2 are changed. The interference avoidance processing unit 854 calculates a posture that can avoid interference while keeping the tip position and posture of the
干渉する場合、干渉回避処理部854は、軸A1,A2,A3の角度を再度算出する処理と、干渉するか否かをチェックする処理とを繰り返す。干渉しない軸A1,A2,A3の角度を算出できた場合のみ干渉回避が可能となる。 In the case of interference, the interference avoidance processing unit 854 repeats a process of recalculating the angles of the axes A1, A2 and A3 and a process of checking whether or not they interfere with each other. Interference can be avoided only when the angles of the axes A1, A2, and A3 that do not interfere can be calculated.
つぎに、数値制御装置1Lによる干渉チェックおよび干渉回避の処理手順について説明する。図22は、実施の形態4にかかる数値制御装置による干渉チェックおよび干渉回避の処理手順を示すフローチャートである。 Next, the processing procedure of interference check and interference avoidance by the numerical control device 1L will be described. FIG. 22 is a flowchart showing a processing procedure of interference check and interference avoidance by the numerical control device according to the fourth embodiment.
数値制御装置1Lは、手動操作が行われた際に、工作機械100またはロボット60に対して手動操作に対応する実際の動作を実行する前に、干渉の有無を判断し、干渉が無い場合には、工作機械100またはロボット60に対して手動操作に対応する実際の動作を実行させる。
When the manual operation is performed, the numerical control device 1L determines the presence or absence of interference before performing the actual operation corresponding to the manual operation on the
解析処理部37は、手動操作を解析する(ステップS310)。具体的には、解析処理部37は、切替スイッチ15から送られてくる情報に基づいて、手動操作に対応する移動対象がロボット60であるか工作機械100であるかを解析する。また、解析処理部37は、入力操作部3から送られてくる情報に基づいて、手動操作に対応する移動対象がロボット60の構成要素であるか工作機械100の構成要素であるかを解析する。また、解析処理部37は、ジョグボタン57または手動ハンドル55から送られてくる操作情報を解析する。
The
解析処理部37は、移動対象が工作機械100であるか否かを判断する。すなわち、解析処理部37は、手動操作が工作機械100の構成要素の移動に対応するか否かを判断する(ステップS320)。移動対象が工作機械100の構成要素であった場合(ステップS320、Yes)、解析処理部37は、記憶部34および補間処理部38を介して、機械動作演算部851に移動対象および移動量を送る。機械動作演算部851は、移動対象、移動量、機械モデル811、および工具データ813に基づいて、工作機械100の手動操作に応じた移動後の位置および形状を算出する。
The
干渉チェック部853は、ロボット60との干渉をチェックする(ステップS330)。すなわち、干渉チェック部853は、手動操作によって移動した場合の工作機械100が、ロボット60に干渉するか否かを判断する。具体的には、干渉チェック部853は、移動後の工作機械100の位置および形状と、ロボット60の位置および形状とに基づいて、工作機械100がロボット60に干渉するか否かを判断する。このとき、干渉チェック部853は、ロボット60の位置および形状を、ロボットモデル812および工具データ814に基づいて算出する。また、干渉チェック部853は、移動後の工作機械100の位置および形状を、機械モデル811、工具データ813、移動対象、および移動量に基づいて算出する。
The
干渉チェック部853は、干渉すると判断した場合には(ステップS340、Yes)、手動可否判断部382Mに工作機械100の移動不可を通知する(ステップS360)。また、干渉チェック部853は、工作機械100が備える軸を停止させ、干渉アラームを表示部4に表示させる。
When the
干渉チェック部853は、干渉しないと判断した場合には(ステップS340、No)、手動可否判断部382Mに工作機械100の移動可能を通知する(ステップS350)。この場合、補間処理部38は、システム状態に異常が無ければ、移動対象および移動量に基づいて、工作機械100を制御するためのデータを生成し、加減速処理部39に送る。これにより、工作機械100が手動操作に従って制御される。
When the
移動対象がロボット60の構成要素であった場合(ステップS320、No)、解析処理部37は、記憶部34およびロボット手動操作部415を介して、ロボット動作演算部852に移動対象および移動量を送る。ロボット動作演算部852は、移動対象、移動量、ロボットモデル812、および工具データ814に基づいて、ロボット60の移動後の位置および形状を算出する。
When the movement target is a component of the robot 60 (step S320, No), the
干渉チェック部853は、工作機械100との干渉をチェックする(ステップS370)。すなわち、干渉チェック部853は、手動操作によって移動した場合のロボット60が、工作機械100に干渉するか否かを判断する。具体的には、干渉チェック部853は、移動後のロボット60の位置および形状と、工作機械100の位置および形状とに基づいて、ロボット60が工作機械100に干渉するか否かを判断する。
The
干渉チェック部853は、干渉すると判断した場合には(ステップS380、Yes)、干渉回避処理部854にロボット60の移動不可を通知する。干渉回避処理部854は、ロボット60の姿勢変更による干渉回避動作を計算する(ステップS390)。干渉チェック部853は、干渉の回避が可能か否かを判断する(ステップS400)。干渉チェック部853が干渉の回避が不可能であると判断した場合(ステップS400、No)、干渉チェック部853は、手動可否判断部421Rにロボット60の移動不可を通知する(ステップS410)。また、干渉チェック部853は、ロボット60が備える軸を停止させ、干渉アラームを表示部4に表示させる。
When the
ステップS400の処理において、干渉チェック部853が干渉の回避が可能であると判断した場合(ステップS400、Yes)、干渉チェック部853は、手動可否判断部421Rにロボット60の移動可能を通知する(ステップS420)。また、干渉チェック部853は、移動データ送信部422に干渉回避の動作指令を送る(ステップS430)。干渉回避の動作指令は、干渉を回避することができるロボット60への移動データを含んでいる。移動データ送信部422は、干渉回避の動作指令に基づいて、ロボット60に移動データを送る。これにより、ロボット60が手動操作に従って制御される。
In the process of step S400, when the
ステップS380の処理において、干渉チェック部853は、干渉しないと判断した場合には(ステップS380、No)、手動可否判断部421Rにロボット60の移動可能を通知する(ステップS440)。ロボット制御部41は、移動対象および移動量を用いて、ロボット60を制御するためのデータを生成し、ロボットコントローラ50に送る。これにより、ロボット60が数値制御装置1Lによって制御される。
In the process of step S380, when it is determined that the robot does not interfere (step S380, No), the
このように実施の形態4によれば、工作機械100またはロボット60への手動操作に対して、工作機械100とロボット60との間に干渉が発生するか否かを判断し、干渉する場合には、干渉回避の動作を実行するので、手動操作の際の干渉を回避することができる。
As described above, according to the fourth embodiment, it is determined whether or not interference occurs between the
実施の形態5.
つぎに、図23を用いてこの発明の実施の形態5について説明する。実施の形態5では、機械学習装置が、干渉の有無を学習する。
Next, a fifth embodiment of the present invention will be described with reference to FIG. 23. In the fifth embodiment, the machine learning device learns the presence or absence of interference.
図23は、実施の形態5にかかる数値制御装置の構成例を示す図である。図23の各構成要素のうち数値制御装置1Yと同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。 FIG. 23 is a diagram showing a configuration example of the numerical control device according to the fifth embodiment. Of the components of FIG. 23, the components that achieve the same function as the numerical control device 1Y are designated by the same reference numerals, and redundant description will be omitted.
数値制御装置1Mは、数値制御装置1Yと比較して、制御演算部2Yの代わりに制御演算部2Mを備えている。制御演算部2Mは、制御演算部2Yが備える構成要素に加えて、機械学習装置70を備えている。
The
機械学習装置70は、シミュレーション制御部80Yと、解析処理部37とに接続されている。機械学習装置70は、シミュレーション位置情報(r)と、NCプログラム情報(r)と、干渉情報(r)とを用いて、工作機械100とロボット60の間の干渉の有無を学習する。すなわち、機械学習装置70は、干渉の有無の推測処理を学習する。
The machine learning device 70 is connected to the
シミュレーション位置情報(r)は、シミュレーション制御部80Yが、干渉の有無を判定する際に、シミュレーション用データ346を用いて工作機械100およびロボット60の位置を算出した位置データである。シミュレーション制御部80Yは、干渉の有無を判定する際には、シミュレーション位置情報(r)を画面処理部31に送り、干渉の有無を学習する際には、シミュレーション位置情報(r)を機械学習装置70に送る。
The simulation position information (r) is position data obtained by the
NCプログラム情報(r)は、干渉の有無が判定される際に、解析処理部37が用いたNCプログラムの情報である。干渉情報(r)は、工作機械100がロボット60に衝突するかを示す衝突情報である。干渉情報(r)は、干渉(衝突)の有無を示す情報と、干渉の位置を示す情報と、干渉する構成要素(干渉対象)を示す情報とを含んでいる。
The NC program information (r) is the information of the NC program used by the
機械学習装置70は、状態観測部71と、データ取得部72と、学習部73とを含んでいる。状態観測部71は、シミュレーション位置情報(r)をシミュレーション制御部80Yから取得し、NCプログラム情報(r)を解析処理部37から取得する。状態観測部71は、シミュレーション位置情報(r)およびNCプログラム情報(r)を状態情報(i)として観測する。状態観測部71は、データ観測した結果である状態情報(i)を学習部73に出力する。データ取得部72は、干渉チェック部803から干渉情報(r)を取得する。データ取得部72は、干渉情報(r)を学習部73に出力する。
The machine learning device 70 includes a state observation unit 71, a
学習部73は、状態情報(i)および干渉情報(r)の組み合わせに基づいて作成されるデータセットに基づいて、干渉の有無を推測した情報である干渉推測情報(n)を学習する。ここで、状態変数である状態情報(i)は、シミュレーション位置情報(r)およびNCプログラム情報(r)を互いに関連付けたデータである。
The
なお、機械学習装置70は、数値制御装置1Mに設けられるものに限られない。機械学習装置70は、数値制御装置1Mの外部に設けられてもよい。機械学習装置70は、ネットワークを介して数値制御装置1Mに接続可能な装置に設けられてもよい。すなわち、機械学習装置70は、ネットワークを介して数値制御装置1Mに接続された別個のコンポーネントであってもよい。また、機械学習装置70は、クラウドサーバ上に存在していてもよい。
The machine learning device 70 is not limited to the one provided in the
学習部73は、例えば、ニューラルネットワークモデルに従って、いわゆる教師あり学習により、シミュレーション位置情報(r)およびNCプログラム情報(r)を含んだ状態情報(i)と、教師データである干渉情報(r)とから干渉推測情報(n)を学習する。ここで、教師あり学習とは、ある入力と結果のデータの組を大量に学習装置に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデルをいう。
The
ニューラルネットワークは、複数のニューロンからなる入力層、複数のニューロンからなる中間層(隠れ層)、および複数のニューロンからなる出力層で構成される。中間層は、1層でもよいし2層以上でもよい。 A neural network is composed of an input layer composed of a plurality of neurons, an intermediate layer (hidden layer) composed of a plurality of neurons, and an output layer composed of a plurality of neurons. The intermediate layer may be one layer or two or more layers.
例えば、3層のニューラルネットワークであれば、複数の入力が入力層に入力されると、その値に重みを掛けて中間層に入力され、その結果にさらに重みを掛けて出力層から出力される。この出力結果は、各々の重みの値によって変わる。 For example, in the case of a three-layer neural network, when multiple inputs are input to the input layer, the values are weighted and input to the intermediate layer, and the result is further weighted and output from the output layer. .. This output result depends on the value of each weight.
本実施の形態のニューラルネットワークは、状態情報(i)および干渉情報(r)の組み合わせに基づいて作成されるデータセットに従って、いわゆる教師あり学習により、干渉推測情報(n)を学習結果(推測値)として出力する。 The neural network of the present embodiment learns the interference estimation information (n) by so-called supervised learning according to the data set created based on the combination of the state information (i) and the interference information (r) (estimated value). ) Is output.
すなわち、ニューラルネットワークは、入力層にシミュレーション位置情報(r)とNCプログラム情報(r)とを含んだ状態情報(i)を入力して出力層から出力された結果が、干渉情報(r)に近付くよう、重みを調整することで、干渉推測情報(n)を学習する。 That is, the neural network inputs the state information (i) including the simulation position information (r) and the NC program information (r) into the input layer, and the result output from the output layer becomes the interference information (r). The interference estimation information (n) is learned by adjusting the weights so as to approach each other.
また、ニューラルネットワークは、いわゆる教師なし学習によって、干渉推測情報(n)を学習することもできる。教師なし学習とは、入力データのみを大量に機械学習装置70に与えることで、入力データがどのような分布をしているか学習し、対応する教師データ(出力データ)を与えなくても、入力データに対して圧縮、分類、整形等を行い学習する手法である。教師なし学習では、データセットにある特徴を似たもの同士にクラスタリングすること等ができる。教師なし学習では、このクラスタリングの結果を使って、何らかの基準を設けて、この基準を最適にするような出力の割り当てを行うことで、出力の予測を実現することができる。 The neural network can also learn the interference guessing information (n) by so-called unsupervised learning. Unsupervised learning is to give a large amount of input data to the machine learning device 70 to learn how the input data is distributed and input it without giving the corresponding teacher data (output data). It is a method of learning by compressing, classifying, and shaping data. In unsupervised learning, features in a dataset can be clustered into similar ones. In unsupervised learning, the result of this clustering can be used to set some criteria and assign outputs that optimize these criteria to achieve output prediction.
また、機械学習装置70は、複数の数値制御装置に対して作成されるデータセットに従って、干渉推測情報(n)を学習結果(推測値)として出力してもよい。なお、機械学習装置70は、同一の現場で使用される複数の数値制御装置からデータセットを取得してもよいし、或いは、異なる現場で独立して稼働する複数の数値制御装置から収集されるデータセットを利用して干渉推測情報(n)を学習してもよい。さらに、機械学習装置70は、データセットを収集する数値制御装置を途中で対象に追加し、或いは、逆に対象から切り離すことも可能である。また、ある数値制御装置に関して干渉推測情報(n)を学習した機械学習装置70を、これとは別の数値制御装置に取り付け、当該別の数値制御装置に関して干渉推測情報(n)を再学習して更新するようにしてもよい。 Further, the machine learning device 70 may output the interference estimation information (n) as a learning result (estimated value) according to the data sets created for the plurality of numerical control devices. The machine learning device 70 may acquire a data set from a plurality of numerical control devices used at the same site, or may be collected from a plurality of numerical control devices operating independently at different sites. Interference estimation information (n) may be learned using a data set. Further, the machine learning device 70 can add a numerical control device for collecting a data set to the target on the way, or conversely, separate it from the target. Further, the machine learning device 70 that has learned the interference estimation information (n) for a certain numerical control device is attached to another numerical control device, and the interference estimation information (n) is relearned for the other numerical control device. You may update it.
また、機械学習装置70に用いられる学習アルゴリズムとしては、特徴量そのものの抽出を学習する、深層学習(Deep Learning)を用いることもできる。また、学習部73は、他の公知の方法、例えば遺伝的プログラミング、機能論理プログラミング、サポートベクターマシンなどに従って機械学習を実行してもよい。
Further, as the learning algorithm used in the machine learning device 70, deep learning, which learns the extraction of the feature amount itself, can also be used. In addition, the
機械学習装置70は、推測した干渉推測情報(n)をシミュレーション制御部80Yに出力する。シミュレーション制御部80Yは、干渉が発生する直前ではなく、干渉の発生が推測されるNCプログラムのブロックの前のブロックエンドで工作機械100を停止させる。干渉が発生する直前で工作機械100またはロボット60を停止した場合、工作機械100またはロボット60の移動速度によっては、停止に時間がかかり、干渉を起こす場合があるからである。本実施の形態では、シミュレーション制御部80Yが、干渉の発生が推測されるNCプログラムのブロックの前のブロックエンドで工作機械100を停止させるので、干渉を防ぐことができる。
The machine learning device 70 outputs the estimated interference estimation information (n) to the
このように実施の形態5では、機械学習装置70が、干渉情報(r)と、シミュレーション位置情報(r)と、NCプログラム情報(r)とを互いに関連付けたデータセットに基づいて、干渉推測情報(n)を学習している。したがって、機械学習装置70は、状態情報(i)に基づいて、干渉推測情報(n)を算出することが可能となる。 As described above, in the fifth embodiment, the machine learning device 70 uses the interference estimation information based on the data set in which the interference information (r), the simulation position information (r), and the NC program information (r) are associated with each other. (N) is being learned. Therefore, the machine learning device 70 can calculate the interference estimation information (n) based on the state information (i).
実施の形態6.
つぎに、図23を用いてこの発明の実施の形態6について説明する。実施の形態6では、実施の形態4で説明した制御演算部2Lの動作に機械学習装置70を適用する。実施の形態6では、実施の形態5と比較して、状態情報(i)に干渉情報(r)が加わり、教師データに干渉情報(r)ではなく干渉回避プログラム情報(r)を用いる。また、実施の形態6では、機械学習装置70が干渉推測情報(n)ではなく干渉回避推測情報(n)を学習する。Embodiment 6.
Next, a sixth embodiment of the present invention will be described with reference to FIG. 23. In the sixth embodiment, the machine learning device 70 is applied to the operation of the
干渉回避プログラム情報(r)は、干渉を回避する際に、干渉回避処理部804が用いたNCプログラムの情報である。干渉回避推測情報(n)は、干渉を回避するための指令を推測した情報である。
The interference avoidance program information (r) is the information of the NC program used by the interference
機械学習装置70は、シミュレーション位置情報(r)と、NCプログラム情報(r)と、干渉情報(r)とを用いて、干渉回避推測情報(n)を学習する、すなわち、機械学習装置70は、干渉回避に用いるNCプログラムの指令を推測する。 The machine learning device 70 learns interference avoidance estimation information (n) by using simulation position information (r), NC program information (r), and interference information (r), that is, the machine learning device 70 , Guess the command of NC program used for interference avoidance.
本実施の形態の状態観測部71は、シミュレーション位置情報(r)、NCプログラム情報(r)、および干渉情報(r)を状態情報(i)として観測する。状態観測部71は、データ観測した結果である状態情報(i)を学習部73に出力する。
The state observing unit 71 of the present embodiment observes the simulation position information (r), the NC program information (r), and the interference information (r) as the state information (i). The state observation unit 71 outputs the state information (i), which is the result of data observation, to the
データ取得部72は、干渉回避処理部804から干渉回避プログラム情報(r)を取得する。データ取得部72は、干渉回避プログラム情報(r)を学習部73に出力する。干渉回避処理部804は、干渉を回避する際には、干渉回避プログラム情報(r)をロボット制御部41に送り、干渉の回避を学習する際には、干渉回避プログラム情報(r)を機械学習装置70に送る。
The
本実施の形態では、状態観測部71は、シミュレーション位置情報(r)、NCプログラム情報(r)、および干渉情報(r)を状態情報(i)として観測する。 In the present embodiment, the state observing unit 71 observes the simulation position information (r), the NC program information (r), and the interference information (r) as the state information (i).
また、本実施の形態の学習部73は、状態情報(i)および教師データである干渉回避プログラム情報(r)の組み合わせに基づいて作成されるデータセットに基づいて、干渉回避推測情報(n)を学習する。ここで、データセットは、状態変数である状態情報(i)および干渉回避プログラム情報(r)を互いに関連付けたデータである。
Further, the
本実施の形態でも学習部73は、例えば、ニューラルネットワークモデルに従って、いわゆる教師あり学習により、状態情報(i)と干渉回避プログラム情報(r)を互いに関連付けたデータセットから干渉回避推測情報(n)を学習する。
Also in this embodiment, the
すなわち、ニューラルネットワークは、入力層にシミュレーション位置情報(r)とNCプログラム情報(r)と干渉情報(r)と含んだ状態情報(i)を入力して出力層から出力された結果が、干渉回避プログラム情報(r)に近付くよう、重みを調整することで、干渉回避推測情報(n)を学習する。本実施の形態のニューラルネットワークは、いわゆる教師あり学習により、干渉回避推測情報(n)を学習結果(推測した指令)として出力する。 That is, in the neural network, the state information (i) including the simulation position information (r), the NC program information (r), and the interference information (r) is input to the input layer, and the result output from the output layer interferes. Interference avoidance estimation information (n) is learned by adjusting the weight so as to approach the avoidance program information (r). The neural network of the present embodiment outputs interference avoidance guess information (n) as a learning result (guessed command) by so-called supervised learning.
また、本実施の形態のニューラルネットワークは、いわゆる教師なし学習によって、干渉回避推測情報(n)を学習することもできる。 Further, the neural network of the present embodiment can also learn the interference avoidance guessing information (n) by so-called unsupervised learning.
また、機械学習装置70は、複数の数値制御装置に対して作成されるデータセットに従って、干渉回避推測情報(n)を学習結果(推測値)として出力してもよい。また、ある数値制御装置に関して干渉回避推測情報(n)を学習した機械学習装置70を、これとは別の数値制御装置に取り付け、当該別の数値制御装置に関して干渉回避推測情報(n)を再学習して更新するようにしてもよい。 Further, the machine learning device 70 may output the interference avoidance estimation information (n) as a learning result (estimated value) according to the data sets created for the plurality of numerical control devices. Further, the machine learning device 70 that has learned the interference avoidance estimation information (n) for a certain numerical control device is attached to another numerical control device, and the interference avoidance estimation information (n) is regenerated for the other numerical control device. You may learn and update.
また、干渉回避制御部81は、干渉が発生する直前ではなく、干渉の発生が推測されるNCプログラムのブロックの前のブロックに干渉回避推測情報に対応する指令を挿入する。干渉回避推測情報に対応する指令は、干渉を回避させることができるNCプログラムの指令である。これにより、干渉回避制御部81は、工作機械100とロボット60との間の干渉を事前に回避することができる。
Further, the interference
このように実施の形態6では、機械学習装置70が、干渉情報(r)と、シミュレーション位置情報(r)と、NCプログラム情報(r)と、干渉回避プログラム情報(r)とを互いに関連付けたデータセットに基づいて、干渉回避推測情報(n)を学習している。したがって、機械学習装置70は、状態情報(i)に基づいて、干渉回避プログラム情報(n)を算出することが可能となる。 As described above, in the sixth embodiment, the machine learning device 70 associates the interference information (r), the simulation position information (r), the NC program information (r), and the interference avoidance program information (r) with each other. The interference avoidance estimation information (n) is learned based on the data set. Therefore, the machine learning device 70 can calculate the interference avoidance program information (n) based on the state information (i).
なお、実施の形態1から6の内容を組み合わせてもよい。例えば、数値制御装置1X〜1Zの少なくとも1つが、ロボット手動操作部415を備えていてもよい。また、数値制御装置1X〜1Zの少なくとも1つが、機械学習装置70を備えていてもよい。 The contents of the first to sixth embodiments may be combined. For example, at least one of the numerical control devices 1X to 1Z may include a robot manual operation unit 415. Further, at least one of the numerical control devices 1X to 1Z may include a machine learning device 70.
ここで、制御演算部2X,2Y,2Z,2L,2Mのハードウェア構成について説明する。図24は、実施の形態にかかる数値制御装置が備える制御演算部のハードウェア構成例を示す図である。なお、制御演算部2X,2Y,2Z,2L,2Mは、同様のハードウェア構成を有しているので、ここでは制御演算部2Xのハードウェア構成について説明する。
Here, the hardware configuration of the
制御演算部2Xは、図24に示したプロセッサ301、メモリ302、およびインタフェース回路303により実現することができる。プロセッサ301の例は、CPU(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、DSP(Digital Signal Processor)ともいう)またはシステムLSI(Large Scale Integration)である。メモリ302の例は、RAM(Random Access Memory)、ROM(Read Only Memory)である。
The
制御演算部2Xは、プロセッサ301が、メモリ302で記憶されている、制御演算部2Xの動作を実行するためのプログラムを読み出して実行することにより実現される。また、このプログラムは、制御演算部2Xの手順または方法をコンピュータに実行させるものであるともいえる。メモリ302は、プロセッサ301が各種処理を実行する際の一時メモリにも使用される。
The
なお、制御演算部2Xの機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。また、機械学習装置70を、図24に示したハードウェアで実現してもよい。
It should be noted that some of the functions of the
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。 The configuration shown in the above-described embodiment shows an example of the content of the present invention, can be combined with another known technique, and is one of the configurations without departing from the gist of the present invention. It is also possible to omit or change the part.
1L,1M,1X〜1Z 数値制御装置、2L,2M,2X〜2Z 制御演算部、3 入力操作部、4 表示部、5a,5b 加工ワーク、6a〜6c 工具、7 搬送物、11a,11b 工具ホルダ、12a,12b チャック機構、14 筐体、15 切替スイッチ、21 ロボットアーム、22 ロボットハンド、23 台座、30 ローダ、31 画面処理部、34 記憶部、37 解析処理部、38 補間処理部、39 加減速処理部、40 軸データ出力部、41,41L ロボット制御部、50 ロボットコントローラ、53 操作盤、55 手動ハンドル、57 ジョグボタン、59 軸選択スイッチ、60 ロボット、70 機械学習装置、71 状態観測部、72 データ取得部、73 学習部、80X〜80Z シミュレーション制御部、81 干渉回避制御部、90 駆動部、100 工作機械、130〜135 画面、301 プロセッサ、302 メモリ、303 インタフェース回路、341 パラメータ記憶エリア、343 NCプログラム記憶エリア、344 表示データ記憶エリア、345 共有エリア、346 シミュレーション用データ、371 ロボット指令解析部、382M,421R 手動可否判断部、415 ロボット手動操作部、422 移動データ送信部、801,851 機械動作演算部、802,852 ロボット動作演算部、803,853 干渉チェック部、804,854 干渉回避処理部、805 移動軌跡演算部、806 ワーク位置演算部、807 ワーク形状演算部、811 機械モデル、812 ロボットモデル、813,814 工具データ、815 ワークデータ、P1 ロボット経由点、P2 面取り位置。 1L, 1M, 1X to 1Z Numerical control device, 2L, 2M, 2X to 2Z Control calculation unit, 3 Input operation unit, 4 Display unit, 5a, 5b Machining work, 6a to 6c tools, 7 Transport items, 11a, 11b tools Holder, 12a, 12b Chuck mechanism, 14 housing, 15 changeover switch, 21 robot arm, 22 robot hand, 23 pedestal, 30 loader, 31 screen processing unit, 34 storage unit, 37 analysis processing unit, 38 interpolation processing unit, 39 Acceleration / deceleration processing unit, 40-axis data output unit, 41, 41L robot control unit, 50 robot controller, 53 operation panel, 55 manual handle, 57 jog button, 59-axis selection switch, 60 robot, 70 machine learning device, 71 state observation Unit, 72 data acquisition unit, 73 learning unit, 80X-80Z simulation control unit, 81 interference avoidance control unit, 90 drive unit, 100 machine machine, 130-135 screen, 301 processor, 302 memory, 303 interface circuit, 341 parameter storage Area, 343 NC program storage area, 344 display data storage area, 345 shared area, 346 simulation data, 371 robot command analysis unit, 382M, 421R manual availability judgment unit, 415 robot manual operation unit, 422 mobile data transmission unit, 801 , 851 Machine motion calculation unit, 802,852 Robot motion calculation unit, 803, 853 Interference check unit, 804,854 Interference avoidance processing unit, 805 Movement locus calculation unit, 806 Work position calculation unit, 807 Work shape calculation unit, 811 Machine Model, 812 robot model, 833,814 tool data, 815 work data, P1 robot waypoint, P2 chamfering position.
Claims (10)
前記工作機械の動作シミュレーション用のデータである機械モデルと前記工作機械が備える第1の構成要素の位置を制御する際に用いられる第1の位置データとを用いて、特定タイミングにおける前記第1の構成要素の位置を算出する機械動作演算部と、
前記ロボットの動作シミュレーション用のデータであるロボットモデルと前記ロボットが備える第2の構成要素の位置を制御する際に用いられる第2の位置データとを用いて前記特定タイミングにおける前記第2の構成要素の位置を算出するロボット動作演算部と、
前記工作機械の座標系と、前記ロボットの座標系の位置関係を定義する位置定義データを記憶する記憶部と、
前記第1の構成要素の位置、前記第2の構成要素の位置、および前記位置定義データに基づいて、前記工作機械と前記ロボットとが衝突するか否かを前記ブロックごとに判断する衝突判断部と、を有することを特徴とする数値制御装置。 An analysis processing unit for controlling a machine tool and a robot, which reads the processing program including a plurality of blocks for each block and performs analysis processing for each block.
Using the machine model, which is data for motion simulation of the machine tool, and the first position data used for controlling the position of the first component included in the machine tool, the first position data at a specific timing is used. A machine tool operation calculation unit that calculates the positions of components,
The second component in the specific timing by using the second position data is used for controlling the position of the second component included in the robot model and the robot is data for the simulation of the robot Robot motion calculation unit that calculates the position of
A storage unit that stores position definition data that defines the positional relationship between the coordinate system of the machine tool and the coordinate system of the robot.
A collision determination unit that determines for each block whether or not the machine tool and the robot collide with each other based on the position of the first component, the position of the second component, and the position definition data. And, a numerical control device characterized by having.
前記ロボット動作演算部は、前記ロボットの描画用のデータおよび前記第2の位置データを用いて、前記第2の構成要素を描画する、
ことを特徴とする請求項1に記載の数値制御装置。 The machine operation calculation unit draws the first component by using the drawing data of the machine tool and the first position data.
The robot motion calculation unit draws the second component by using the drawing data of the robot and the second position data.
The numerical control device according to claim 1.
ことを特徴とする請求項1または2に記載の数値制御装置。 When the machine tool and the robot collide, the movement command to the robot that causes the collision is replaced with a command to change the posture of the robot, and the route change of the robot is performed before the movement command. By executing at least one of inserting a route change command which is a command to be performed and inserting a standby command immediately before the movement command, the collision is avoided without changing the control to the machine tool. It also has an interference avoidance processing unit to make it
The numerical control device according to claim 1 or 2.
前記工作機械および前記ロボットが加工する加工物の形状から、前記第1の工具および前記第2の工具が通過した箇所を除外した形状を演算する加工後形状演算部と、
をさらに有し、
前記衝突判断部は、加工後の前記加工物と、前記工作機械と、前記ロボットとが衝突するか否かを判断する、
ことを特徴とする請求項1から3の何れか1つに記載の数値制御装置。 A movement locus calculation unit that calculates a first movement locus of the first tool used by the machine tool and a second movement locus of the second tool used by the robot, and a movement locus calculation unit.
A post-machining shape calculation unit that calculates a shape excluding a portion through which the first tool and the second tool have passed from the shapes of the machine tool and the workpiece processed by the robot.
Have more
The collision determination unit determines whether or not the machined product after processing, the machine tool, and the robot collide with each other.
The numerical control device according to any one of claims 1 to 3, wherein the numerical control device is characterized.
前記ロボット動作演算部は、前記ロボットへの手動操作に対応する前記第2の構成要素の移動量に基づいて、前記第2の構成要素の位置および形状を算出し、
前記衝突判断部は、前記第1の構成要素の位置および形状と、前記第2の構成要素の位置および形状とに基づいて、前記工作機械と前記ロボットとが衝突するか否かを判断する、
ことを特徴とする請求項1に記載の数値制御装置。 The machine operation calculation unit calculates the position and shape of the first component based on the amount of movement of the first component corresponding to the manual operation on the machine tool.
The robot motion calculation unit calculates the position and shape of the second component based on the amount of movement of the second component corresponding to the manual operation on the robot.
The collision determination unit determines whether or not the machine tool and the robot collide with each other based on the position and shape of the first component and the position and shape of the second component.
The numerical control device according to claim 1.
ことを特徴とする請求項5に記載の数値制御装置。 When the machine tool collides with the robot, the movement command to the robot that causes the collision is replaced with a movement command that changes the posture so that the collision can be avoided, and a standby command immediately before the movement command. Further includes an interference avoidance processing unit that avoids the collision by executing at least one of the insertion of the above.
The numerical control device according to claim 5.
前記ロボット指令を用いて前記ロボットを制御するロボット制御部と、
をさらに有し、
前記解析処理部は、解析した指令が前記機械駆動指令であるか前記ロボット指令であるかを判断し、解析した指令が前記ロボット指令である場合、前記ロボット指令の解析結果を前記ロボット制御部に送る、
ことを特徴とする請求項1から6の何れか1つに記載の数値制御装置。 An analysis processing unit that analyzes a numerical control program that includes a machine drive command that is a command to the machine tool and a robot command that is a command to the robot.
A robot control unit that controls the robot using the robot command,
Have more
The analysis processing unit determines whether the analyzed command is the machine drive command or the robot command, and when the analyzed command is the robot command, the analysis result of the robot command is sent to the robot control unit. send,
The numerical control device according to any one of claims 1 to 6, wherein the numerical control device is characterized.
前記第2の構成要素には、前記ロボットが用いる工具を含む、
ことを特徴とする請求項1から7の何れか1つに記載の数値制御装置。 The first component includes tools used by the machine tool.
The second component includes tools used by the robot.
The numerical control device according to any one of claims 1 to 7, wherein the numerical control device is characterized.
前記工作機械と前記ロボットとが衝突するか否かを示す衝突情報を取得するデータ取得部と、
前記状態変数および前記衝突情報の組み合わせに基づいて作成されるデータセットに従って、
前記工作機械と前記ロボットとが衝突するか否かを推測した情報である干渉推測情報を学習する学習部と、
を備えることを特徴とする機械学習装置。 The first at a specific timing calculated using a machine model which is data for motion simulation of a machine tool and first position data used when controlling the position of a first component included in the machine machine. The robot model, which is data for simulating the movement of the robot, and the second position data used for controlling the position of the second component included in the robot. A state observing unit that observes state variables including simulation position information indicating the position of the second component at a specific timing and machining program information that is machining program information used to control the machine machine and the robot. ,
A data acquisition unit that acquires collision information indicating whether or not the machine tool and the robot collide with each other.
According to the dataset created based on the combination of the state variables and the collision information
A learning unit that learns interference estimation information, which is information that estimates whether or not the machine tool and the robot collide with each other.
A machine learning device characterized by being equipped with.
前記工作機械と前記ロボットとが衝突する場合に、前記工作機械と前記ロボットとを衝突させない加工プログラムの情報である回避プログラム情報を取得するデータ取得部と、
前記状態変数および前記回避プログラム情報の組み合わせに基づいて作成されるデータセットに従って、
前記工作機械と前記ロボットとを衝突させない加工プログラムの情報を推測した情報である干渉回避推測情報を学習する学習部と、
を備えることを特徴とする機械学習装置。 The first at a specific timing calculated using a machine model which is data for motion simulation of a machine tool and first position data used when controlling the position of a first component included in the machine machine. The robot model, which is data for simulating the movement of the robot, and the second position data used for controlling the position of the second component included in the robot. The simulation position information indicating the position of the second component at a specific timing, the machining program information which is the information of the machining program used to control the machine tool and the robot, and the machine tool and the robot collide with each other. A state observation unit that observes state variables including collision information indicating whether or not it is present,
A data acquisition unit that acquires avoidance program information, which is information on a machining program that does not cause the machine tool to collide with the robot when the machine tool and the robot collide with each other.
According to the dataset created based on the combination of the state variables and the avoidance program information.
A learning unit that learns interference avoidance guessing information, which is information that guesses information on a machining program that does not cause the machine tool to collide with the robot.
A machine learning device characterized by being equipped with.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/036198 WO2021049028A1 (en) | 2019-09-13 | 2019-09-13 | Numerical control device and machine learning device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6914452B1 true JP6914452B1 (en) | 2021-08-04 |
JPWO2021049028A1 JPWO2021049028A1 (en) | 2021-10-07 |
Family
ID=74866981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020552910A Active JP6914452B1 (en) | 2019-09-13 | 2019-09-13 | Numerical control device and machine learning device |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP6914452B1 (en) |
CN (1) | CN114365047B (en) |
DE (1) | DE112019007579B4 (en) |
WO (1) | WO2021049028A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11878424B2 (en) | 2021-12-06 | 2024-01-23 | Fanuc Corporation | Point set interference check |
JP7157281B1 (en) * | 2022-04-18 | 2022-10-19 | ファナック株式会社 | ROBOT CONTROL DEVICE, NUMERICAL CONTROL SYSTEM AND NUMERIC CONTROL METHOD |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009110190A (en) * | 2007-10-29 | 2009-05-21 | Fanuc Ltd | Control device of robot for workpiece conveyance |
JP4653836B2 (en) * | 2008-12-12 | 2011-03-16 | ファナック株式会社 | Simulation device |
JP2015160253A (en) * | 2014-02-26 | 2015-09-07 | キヤノン株式会社 | Trajectory generation method, robot device, program and recording medium |
JP2018094641A (en) * | 2016-12-08 | 2018-06-21 | ファナック株式会社 | Interference region setting device of mobile robot |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07223181A (en) * | 1994-02-09 | 1995-08-22 | Yaskawa Electric Corp | Interference checking device for manipulator |
DE10226140A1 (en) * | 2002-06-13 | 2004-01-08 | Kuka Roboter Gmbh | Method, for preventing collisions between industrial robots and other objects, involves checking predicted path configuration by distance/obstruction algorithms, stopping robot/other objects if collision impending |
JP4902816B1 (en) * | 2011-01-26 | 2012-03-21 | 三菱電機株式会社 | Numerical controller |
CN104345687B (en) * | 2013-08-09 | 2017-10-20 | 中国科学院沈阳计算技术研究所有限公司 | A kind of tool sweep volume modeling method |
JP6200456B2 (en) * | 2015-06-29 | 2017-09-20 | ファナック株式会社 | Interference check system between machine tool and robot |
JP6517762B2 (en) | 2016-08-23 | 2019-05-22 | ファナック株式会社 | A robot system that learns the motion of a robot that a human and a robot work together |
CN207432246U (en) * | 2017-09-27 | 2018-06-01 | 杭州新松机器人自动化有限公司 | A kind of mechanical arm collision detecting system |
JP6698603B2 (en) * | 2017-09-29 | 2020-05-27 | ファナック株式会社 | Numerical control system and method for detecting abnormal operation state |
-
2019
- 2019-09-13 DE DE112019007579.9T patent/DE112019007579B4/en active Active
- 2019-09-13 WO PCT/JP2019/036198 patent/WO2021049028A1/en active Application Filing
- 2019-09-13 JP JP2020552910A patent/JP6914452B1/en active Active
- 2019-09-13 CN CN201980100202.4A patent/CN114365047B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009110190A (en) * | 2007-10-29 | 2009-05-21 | Fanuc Ltd | Control device of robot for workpiece conveyance |
JP4653836B2 (en) * | 2008-12-12 | 2011-03-16 | ファナック株式会社 | Simulation device |
JP2015160253A (en) * | 2014-02-26 | 2015-09-07 | キヤノン株式会社 | Trajectory generation method, robot device, program and recording medium |
JP2018094641A (en) * | 2016-12-08 | 2018-06-21 | ファナック株式会社 | Interference region setting device of mobile robot |
Also Published As
Publication number | Publication date |
---|---|
CN114365047B (en) | 2023-02-03 |
CN114365047A (en) | 2022-04-15 |
DE112019007579B4 (en) | 2023-11-09 |
JPWO2021049028A1 (en) | 2021-10-07 |
DE112019007579T5 (en) | 2022-04-14 |
WO2021049028A1 (en) | 2021-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110394780B (en) | Simulation device of robot | |
CN101957610B (en) | Tool path display apparatus for machine tool | |
JP2020128009A (en) | Method for controlling robot | |
JP2019532827A (en) | Method for collision avoidance motion planning | |
JPWO2010092981A1 (en) | Industrial robot system | |
US20150120036A1 (en) | Machine Tool | |
JP6914452B1 (en) | Numerical control device and machine learning device | |
JP2019188558A (en) | Tool selection device and machine learning device | |
TW202244643A (en) | Numerical control device and numerical control system | |
JP7011064B2 (en) | Toolpath Virtualization and Optimization Systems, Methods and Equipment | |
US20210247734A1 (en) | Numerical control device and numerical control method | |
JP4505295B2 (en) | NC machining simulation method and NC machining simulation apparatus | |
JP2009190113A (en) | Robot simulation device | |
JP7259860B2 (en) | ROBOT ROUTE DETERMINATION DEVICE, ROBOT ROUTE DETERMINATION METHOD, AND PROGRAM | |
KR102205034B1 (en) | Display apparatus | |
US20220143829A1 (en) | Determination of robot posture | |
US11940772B2 (en) | Numerical controller and industrial machine control system | |
JPWO2020261473A1 (en) | Numerical control device, machine learning device, and numerical control method | |
JP6811878B1 (en) | Numerical control device and numerical control method | |
JP7328473B1 (en) | CONTROL DEVICE, INDUSTRIAL MACHINE SYSTEM, RUN HISTORY DATA DISPLAY METHOD, AND PROGRAM | |
JP7448651B2 (en) | Offline teaching device and operation program generation method | |
WO2024100719A1 (en) | Numerical control device | |
JP7314215B2 (en) | Simulator, robot teaching device, robot system, article manufacturing method, simulation method, program and recording medium | |
US20230249347A1 (en) | Path planning during execution of robot control | |
WO2023068354A1 (en) | Robot data processing server and interference data provision method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200929 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200929 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20200929 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20210105 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210112 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20210224 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210421 |
|
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: 20210615 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210713 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6914452 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |