(58)【調査した分野】(Int.Cl.,DB名)
前記計算の前提条件を変化させるステップでは、前記設定条件で前記工作機械が加工を行ったときに計測した前記計算の前提条件に関する計測情報に基づいて、前記計算の前提条件を調整する、
請求項1に記載の加工シミュレーションの条件の適正化方法。
前記第1の加工結果を計算するステップでは、前記加工内容と前記設定条件とを入力として、所定の加工シミュレーションモデルに基づいて、前記第1の加工結果を計算する、
請求項1または請求項2に記載の加工シミュレーションの条件の適正化方法。
前記計算の前提条件は、前記加工シミュレーションモデルに含まれる前記工作機械の性能に関するパラメータおよび前記加工シミュレーションモデルに含まれる加工対象の材質に関するパラメータのうち少なくとも一つを含む、
請求項3から請求項5の何れか1項に記載の加工シミュレーションの条件の適正化方法。
【発明を実施するための形態】
【0020】
<第一実施形態>
以下、本発明の第一実施形態による工作機械のシミュレーションシステムについて
図1〜
図6を参照して説明する。
図1は、本発明に係る各実施形態におけるシミュレーションシステムの一例を示すブロック図である。シミュレーションシステム1は、工作機械3、3a、3bによる加工を模擬し、工作機械3等が加工を行った場合に想定される加工結果を計算するシミュレーション機能を提供する。
図1に示すようにシミュレーションシステム1は、シミュレーション装置10と、工作機械3、3a、3bと、CAD(computer aided design)システム2、2a、2bとを含む。シミュレーション装置10と工作機械3、3a、3bとは、ネットワーク(NW)を介して通信可能に接続されている。工作機械3、3a、3bを総称して工作機械3、CADシステム2、2a、2bを総称してCADシステム2と記載する。シミュレーションシステム1において、シミュレーション装置10、工作機械3、CADシステム2の台数は図示した数に限定されない。例えば、シミュレーション装置10が2台以上含まれていてもよいし、工作機械3およびCADシステム2は1台でも4台以上含まれていてもよい。また、工作機械3、3a、3bはそれぞれ異なる工場に設置されていてもよいし、1つの工場内に設置されたものであってもよい。シミュレーション装置10、CADシステム2は、例えばサーバ等のCPU(Central Processing Unit)を備えたコンピュータである。
【0021】
シミュレーション装置10は、工作機械3が行う加工について、その加工内容と設定条件を加工用のシミュレーションモデルに入力し、工作機械3による加工を模擬し、加工結果を計算する。そして、シミュレーション装置10は、その加工結果をユーザへ提供する。ここで加工内容とは、加工対象物に対する加工の要求、仕様である。また、設定条件とは、適切な加工を行うために工作機械3に設定する工作機械3の動作条件(加工条件)である。加工内容と設定条件の範囲について
図2を用いて説明する。
【0022】
図2は、本発明に係る第一実施形態における加工内容と設定条件の一例を示す図である。
図2(a)に加工内容の一例として、「Si」でできた板厚「400μm」の部材に入口の穴径が「50μm」で出口の穴径が「60μm」のテ−パ穴を形成することを示す加工内容を示す。なお、加工内容には、穴径や穴の深さといった形状に関する項目だけでなく、品質に関する項目も含まれる。品質に関する項目とは、例えば、変質層の断面積、バリの高さ、付着物の大きさ、表面の粗さなどである。
【0023】
図2(b)にこの加工内容を実現するための設定条件の範囲の一例を示す。
図2(b)に示すのは、工作機械3がレーザ加工機の場合における設定条件の例である。レーザ加工機の設定条件には、例えば、出力するレーザのパワー、ピアッシング時間、レーザの旋回ヘッド回転数、XY軸送り速度、デフォーカス量、テーパ角、アシストガスのガス圧、ガス種類、レーザの旋回の直径などがある。図示するように本実施形態では設定条件の各項目の値が範囲で与えられる。後述するように各項目の範囲は、工作機械の設置環境、加工対象物の個体差(材質)などの外乱による影響を考慮して定められた範囲である。
【0024】
工作機械3のユーザは、シミュレーション装置10に加工内容と設定条件の範囲から選択した値とを入力し、シミュレーション装置10が計算する加工結果を参照して、入力した設定条件で所望の加工結果が得られるかどうかを確認する。ユーザは、所望の加工結果が得られるまで、設定条件の範囲から選択する設定条件の値を調整する。適切な設定条件が得られると、ユーザは、その設定条件を工作機械3に設定し、加工対象物に対し実際の加工を開始する。これにより所望の加工対象物を得るための設定条件を効率的に設定することができる。
【0025】
このようにシミュレーション装置10を用いると、ユーザは、実際の加工を行う前に所望の加工結果が得られる適切な設定条件を得ることができる。しかし、シミュレーション装置10によるシミュレーションが、実際の工作機械3による加工と乖離していればシミュレーション装置10によって設定した設定条件が適切なものではなく、工作機械3による加工結果の品質が十分ではなくなる可能性がある。このような課題に対し、シミュレーション装置10は、加工シミュレーションに用いる解析モデルの各種パラメータを調整する機能を有する。各種パラメータとは、工作機械3の機能や性能に関するパラメータや加工対象物の材質に関するパラメータである。本実施形態では、各種パラメータを実際の工作機械3による加工や加工対象物に合わせて調整することでシミュレーションモデルの精度を向上させ、シミュレーション装置10が計算する加工結果を、より実際の加工結果へと近づけることができる。
【0026】
シミュレーション装置10は、入出力部11、シミュレーション実行部12、加工結果評価部13、モデル最適化部14、学習部15、記憶部16、通信部17を有している。
入出力部11は、工作機械3で実際に行った加工について、その加工内容を示す情報である加工内容情報と、その加工における設定条件を示す情報である設定条件情報と、加工結果を示す情報である加工結果情報を取得する。また、加工結果情報には、例えば、加工後の加工対象物を撮影した画像およびその画像を解析して得られる形状や品質に関する情報、加工後の加工対象物の所定の部分の計測結果に関する情報が含まれる。
【0027】
シミュレーション実行部12は、加工内容情報と設定条件情報とを入力として、所定のシミュレーションモデルによって、加工結果を計算する。以下、シミュレーション実行部12が計算した加工結果をシミュレーション結果情報と記載する。シミュレーション結果情報には、加工結果物の形状や品質に関する情報、例えば、加工結果物の2次元画像、3次元画像などが含まれる。シミュレーション実行部12は、有限要素法、第一原理計算などの公知の解析方法によって、レーザ加工や切削加工による加工を模擬する。シミュレーション実行部12は、例えば、CAE(computer aided engineering)用のプログラムを実行してシミュレーションを行う。シミュレーション実行部12が有するシミュレーションモデルは、例えば、CAE用プログラムにおいて実行される各種計算式(加工穴の径や加工深さ、加工溝の幅などを解析するための計算式)、その計算式に適用するパラメータなどを含む。このパラメータには、外部から入力される加工内容情報、設定条件情報を設定する外部パラメータに加え、内部的に設定される内部パラメータ(工作機械3の性能等に関するパラメータ、材質に関するパラメータ)が存在する。例えば、工作機械3がレーザ加工機の場合、加工内容情報の材質の項目が「Si」であれば、シミュレーション実行部12は、シミュレーションモデルの材質に関する内部パラメータのうち、加工対象物の材質のレーザ光の吸収率の値に対して、材質「Si」に応じた所定の値を設定する。あるいは、シミュレーション実行部12は、シミュレーションモデルの工作機械3の性能等に関する内部パラメータのうち、レーザ発振器の出力、レーザ加工機の光学系(例えばレンズの性能)に対して経年変化に応じた所定の値を設定する。例えば、工作機械3の運転時間がX時間未満であれば、シミュレーション実行部12は、レーザ発振器の出力に100%、レンズの透過率に100%を設定し、X時間以上となればレーザ発振器の出力に90%、レンズの透過率に90%を設定する。ここで、レーザ発振器の出力が90%であることは、指示した出力の90%しか実際には出力しないことを示し、レンズの透過率が90%であることは、レンズの劣化により発振器が出力した出力の90%しか透過しないことを示している。
また、シミュレーション実行部12は、加工内容情報が与えられた場合、設定内容情報をシミュレーションモデルに基づいて逆解析する機能を有している。逆解析手法としては、例えば、逆定式化法、出力誤差法、最小分散推定法などが使用される。
【0028】
加工結果評価部13は、入出力部11が取得した加工結果情報とシミュレーション実行部12が計算したシミュレーション結果情報とを比較して、シミュレーション実行部12によるシミュレーション結果を評価する。
モデル最適化部14は、シミュレーション実行部12によるシミュレーションを最適化する処理を行う。例えば、モデル最適化部14は、加工結果評価部13による評価結果に基づいて、シミュレーションモデルの内部パラメータの値を調整することにより、シミュレーションを最適化する。
学習部15は、モデル最適化部14が最適化した内部パラメータの値を学習してシミュレーションモデルの精度をより向上させる。
記憶部16は、工作機械3で行った加工における加工内容情報、設定条件情報、加工結果情報や、シミュレーションモデルの内部パラメータの値などを記憶する。なお、記憶部16は、工作機械3、3a、3bなど複数の異なる工作機械から受信した加工結果情報をそのときの加工内容情報および設定条件情報と対応付けて、多数、記憶している。なお、記憶部16が、シミュレーション装置10内に配置されることを前提に説明するが、記憶部16は、シミュレーション装置10からネットワーク(NW)を介して接続可能な場所に配置されてもよいことは勿論である。
通信部17は、工作機械3と通信を行う。例えば、通信部17は、加工結果情報を工作機械3から受信する。
【0029】
工作機械3は、例えば、レーザ光を照射して加工を施すレーザ加工機である。工作機械3は、制御装置30と、加工装置38と、センサ39とを含む。
制御装置30は、例えばマイコン等のMPU(Micro Processing Unit)を備えたコンピュータである。制御装置30は、加工内容情報に基づいて加工装置38の動作を制御し、加工対象物を加工する。
加工装置38は、レーザの発振器、ヘッドの駆動機構、アシストガスの噴射機構、加工対象物の設置機構、ユーザの操作盤などを含む工作機械の本体である。
センサ39は、カメラ、X線CT(computed tomography)、振動センサ、変位センサ、温度計、スキャナなど、加工結果や加工環境を計測するセンサ類である。センサ39は、加工装置38が備えるものであってもよいし、加工装置38とは独立した単独のセンサであってもよい。センサ39は、加工対象物の形状や加工環境(加工中の温度、振動、位置)などを計測する。
【0030】
工作機械3では、制御装置30が、
図2(b)で例示したような所定の範囲内の設定条件のみを許容して加工装置38の動作を制御する。制御装置30は、入出力部31と、CAM(computer aided manufacturing)システム32と、センサデータ処理部33と、加工装置制御部34と、設定条件判定部35と、通信部36と、記憶部37とを有する。
入出力部31は、ユーザが操作盤から入力した操作情報や設定条件の入力を受け付けたり、CADシステム2からの加工対象物の形状を示すCADデータの入力を受け付けたりする。CADデータには、加工内容情報が含まれている。また、入出力部31は、操作盤に設けられたディスプレイにユーザに通知すべき情報を出力する。
【0031】
CAMシステム32は、入出力部31が取得したCADデータから加工用のNC(numerical control)データを生成する。
センサデータ処理部33は、センサ39が加工対象物について計測して得た計測情報(計測値や画像)を取得し、必要に応じて加工に関する他の情報を計算する等して、加工結果情報を生成する。例えば、センサデータ処理部33は、加工対象物を撮影した画像から画像解析により穴径(加工穴の径)を計算したり、計算した穴径などを用いてテーパ角度を計算したりする。なお、穴径を算出する際の画像解析手法は、公知の手法が用いられる。
加工装置制御部34は、CAMシステム32が生成したNCデータと設定条件情報に基づいて、加工装置38の動作を制御し、加工を行う。
【0032】
設定条件判定部35は、入力された設定条件が、所定の設定条件の範囲に含まれるかどうかを判定する。
通信部36は、シミュレーション装置10と通信を行う。例えば、通信部36は、加工結果情報をシミュレーション装置10へ送信する。
記憶部37は、入出力部31が取得したCADデータなどの情報を記憶する。
【0033】
ユーザは、工作機械3で加工を行う前に、加工内容情報と設定条件情報とをシミュレーション装置10へ入力し、シミュレーション装置10にシミュレーションを実行させる。ユーザは、シミュレーション結果を参照して、設定条件を調整し、再度、シミュレーション装置10にシミュレーションを実行させるという作業をシミュレーション結果が要求を満たすまで繰り返す。これにより、ある加工内容に対する適切な設定条件が定められ、その加工対象物の量産が可能となる。その為には、上記のとおり、シミュレーション装置10によるシミュレーションに高い精度が求められる。次にシミュレーション装置10が有するシミュレーションの最適化方法について説明する。
【0034】
図3は、本発明に係る第一実施形態におけるシミュレーションモデルの最適化処理の一例を示す第1のフローチャートである。
前提として、例えば、これまでに扱ったことのない材質でできた新規製品の加工の開始時や工作機械3による加工精度にばらつきが生じた時、及び工作機械3の経年変化などを反映した設定条件の見直しが必要となっている時など、高精度なシミュレーションモデルの構築が必要とされる場面であるとする。また、記憶部16には、過去に工作機械3で実行された様々な加工における加工内容情報、設定条件情報、加工結果情報が対応付けて記憶されている。
【0035】
まず、ユーザが、シミュレーション装置10に加工内容情報とシミュレーションの実行を要求する情報を入力する。例えば、入出力部11がシミュレーション装置10に接続されたディスプレイに加工内容情報の入力欄やシミュレーションの実行指示ボタンなどを表示した画面(インタフェース画像)を表示し、ユーザがこの画面から加工内容情報とシミュレーションの実行指示を入力する。すると、入出力部11は、加工内容情報やシミュレーション実行要求の入力を受け付け(ステップS11)、記憶部16に入力された加工内容情報を記憶する。次にモデル最適化部14が、記憶部16に蓄積された加工結果情報の中から、ユーザが入力した加工内容情報と類似した加工結果情報を選択し、選択した加工結果情報と対応付けて記憶された加工内容情報と設定条件情報とを特定する(ステップS12)。モデル最適化部14は、特定した加工内容情報と設定条件情報とをシミュレーションモデルの入力パラメータとして設定する。また、シミュレーション実行部12は、工作機械3の性能等に関する内部パラメータおよび材質に関する内部パラメータに所定の初期値を設定する。例えば、シミュレーション実行部12は、工作機械3の性能等に関する内部パラメータについて、発振器の出力に100%、レンズの透過率に100%を設定する。また、例えば、モデル最適化部14は、材質に関する内部パラメータについて、材料の吸収率に100%を設定する。
【0036】
次にシミュレーション実行部12が、シミュレーションモデルに基づいて加工シミュレーションを実行し(ステップS13)、シミュレーション結果を計算する。加工結果評価部13は、ステップS12で選択した加工結果情報とシミュレーション結果情報とを比較して一致度を評価する(ステップS14)。例えば、加工結果情報の穴径とシミュレーション結果情報の穴径との差を計算し、その差が所定の範囲内であれば、加工結果のうち穴径についての一致度は閾値以上であると評価し、差が範囲外であれば、一致度は閾値未満であると評価する。加工内容情報のうち形状や品質に関する項目について一致度の評価を行う。
図2(a)の例であれば、加工結果評価部13は、形状に関する「穴径(入口)」、「穴径(出口)」を評価する。
【0037】
全項目一致度が閾値以上の場合(ステップS14;Yes)、シミュレーション実行部12が計算したシミュレーション結果は実際に工作機械3で実際に加工おこなったときの加工結果とほぼ等しく、シミュレーションモデルの精度は十分高いため、内部パラメータの調整は必要ないと考えられる。モデル最適化部14は、今回設定した内部パラメータ(工作機械3の性能等に関する内部パラメータ、材質に関する内部パラメータ)を、加工内容情報および設定条件情報およびシミュレーション結果情報および一致度に対応付けて記憶部16に記憶し(ステップS16)、本フローチャートの処理を終了する。
【0038】
一致度が閾値未満の項目が存在する場合(ステップS14;No)、モデル最適化部14は、内部パラメータの調整を行う(ステップS15)。例えば、実際の加工結果情報において、シミュレーション結果よりもレーザのパワーが不足しているような加工状態(加工深さが浅いなど)を示しているならば、例えば、加工対象物の形状や表面状態の影響でレーザ光が反射されてしまい、当初の想定より実際の吸収率が低い可能性があると考えられる。このような仮定に基づいて、モデル最適化部14は、材質に関する内部パラメータのうち材料の吸収率を100%から90%に低下させるなどの調整を行う。どの内部パラメータをどのように調整するかについては、加工結果情報とシミュレーション結果情報とで差があった項目と対応付けて予め定められているとする。内部パラメータとしては、発振器の出力、レンズの透過率、材料の吸収率に加えて、ミラーの反射率、レンズやミラーでのレーザ光のケラレ、焦点位置、ビーム径等が挙げられる。あるいは、学習部15が、差がある項目、その差分、調整すべき内部パラメータとその調整量の関係を学習し、モデル最適化部14が、その学習結果に基づいてパラメータの調整を行ってもよい。内部パラメータを調整すると、ステップS13からの処理を繰り返す。以降もシミュレーション実行部12は、加工結果情報とシミュレーション結果情報との一致度が閾値以上となるまで、内部パラメータを変化させつつ、シミュレーション結果の計算を繰り返し実行する。一致度が閾値以上となると、シミュレーション実行部12は、調整後の内部パラメータの値と加工内容情報と設定条件情報とシミュレーション結果情報と一致度とを対応付けて記憶部16に記憶する。また、入出力部11は、シミュレーションの最適化が完了したことをディスプレイに表示してユーザに通知する。
【0039】
本実施形態のシミュレーション装置10によれば、内部パラメータを調整することで、シミュレーションモデルの精度を向上し、精度の高い加工シミュレーションを実行できるようになる。高精度な加工シミュレーションにより、ユーザは、実際に加工を行うことなく工作機械3に設定する適切な設定条件を見つけることができる。これにより、加工作業の効率化を図ることができる。
【0040】
図3では、過去に加工を行った際に記憶した加工結果情報等に基づいて加工シミュレーションを最適化する方法(オフラインでの最適化方法)について説明した。次に実際に工作機械3で加工を行ってその結果を参照しつつ、加工シミュレーションを最適化する方法(オンラインでの最適化方法)について説明する。
【0041】
図4は、本発明に係る第一実施形態におけるシミュレーションモデルの最適化処理の一例を示す第2のフローチャートである。
まず、ユーザが、シミュレーション装置10に加工内容情報を入力する。すると、入出力部11が、その入力を受け付け(ステップS21)、加工内容情報をシミュレーション実行部12へ出力する。シミュレーション実行部12は、入力された加工内容情報を、加工結果としてシミュレーションモデルに入力し、逆解析により、当該加工結果が得られるような加工において設定される設定条件の範囲を計算する(ステップS22)。または、シミュレーション実行部12は、加工特性を示す加工結果情報に基づいて設定条件の範囲を計算する。ここで
図5を用いて設定条件の範囲について説明する。
【0042】
図5は、本発明に係る第一実施形態における設定条件の範囲について説明する図である。
図5のグラフは、レーザ加工機(工作機械3)によってSiでできた板に所定の径の穴をあけたときのレーザの出力であるパワー(設定条件)と板厚(加工内容)の関係を示すグラフである。
図5のグラフの縦軸は板の厚さ(μm)、横軸はレーザのパワー(w)を示している。グラフ内のP1〜P16の印は、その印が位置する横軸の座標が示すパワーでレーザを出力し、縦軸の座標が示す板厚のSi板に穴を形成する加工を行ったときの加工結果である。印の○と×は、それぞれ加工が成功したか失敗したかを表している。具体的には、○印は加工内容を満たす結果(成功)であり、×印は加工内容を満たさない結果(失敗)であることを示している。例えば印P1は、板厚Y(μm)の銅板にα(W)のレーザを出力して穴あけ加工を行ったところ所定の加工内容を満たす穴、例えば穴径や品質が良好な穴があけられたことを示している。これらの加工結果から、加工が成功した場合と失敗した場合を切り分ける境界線を所定の手法(統計解析、機械学習など)を用いて計算すると、例えば、境界線L1、L2が得られる。境界線L1とL2に挟まれた領域は、所望の加工を実現するために設定条件「パワー」に設定できる適切な値の範囲であると考えられる。この考えによると、例えば、板厚400μmのSi板について加工する場合は、縦軸400μmにおいて境界線L1、L2によって挟まれた範囲R1がレーザのパワーの適切な範囲であると考えられる。
【0043】
シミュレーション装置10の記憶部16は、
図5で例示するような加工結果情報およびその加工における加工内容情報と設定条件情報とを工作機械3から受信して多数、記憶しており、シミュレーション実行部12は、境界線L1、L2の計算処理、加工内容情報(例えば、板厚400μm)に応じた設定条件の範囲(R1)を計算する。シミュレーション実行部12は、計算した設定条件の範囲情報を記憶部16に記憶する。
【0044】
印P1〜P16に関する加工は、様々な条件下で行われたものである。例えば、部材の材質であるSiの純度、Si以外の成分の種類や含有量、製造方法などにより様々な種類が存在する。あるいは、工作機械3が加工を行う環境も様々である。シミュレーション実行部12は、均一ではない様々な条件下における加工結果に基づいて、設定条件の範囲を特定する。これにより、シミュレーション実行部12は、工作機械の設置環境、加工対象物の個体差など加工結果に影響を与える外乱を考慮した設定条件の範囲を計算することができる。
【0045】
例えば、印P1〜P16で示される加工結果には、加工内容情報(板厚など)と設定条件情報(パワーなど)に加え、加工時刻、加工場所、加工対象物の材質、加工環境(温度、湿度、振動など)、工作機械3の種類・型番、工作機械を導入してからの総運転時間(加工時間)などの情報が対応付けられていてもよい。そして、シミュレーション実行部12は、入力された加工内容情報に含まれる加工対象物の材質の詳細情報に基づいて、印P1〜P16の中から同じ材質(例えば純度の高いSi製の部材)の加工結果のみを抽出して、設定条件の範囲を特定してもよい。あるいは、入出力部11が、加工結果情報とともに加工環境に関する情報の入力を受け付けるようにし、シミュレーション実行部12は、入力された加工環境と類似する加工環境で行われたときの加工結果のみを抽出して、設定条件の範囲を計算してもよい。これにより、実際の加工条件に合わせてより限定した設定条件の範囲を計算することができる。また、工作機械3のユーザは、最終的に適切な設定条件を見つけなければならないが、適切な設定条件が含まれる範囲の特定をシミュレーション実行部12に任せることができる。
記憶部16には、
図5で例示した加工結果の他にも、例えば、材質ごとにパワーと穴の深さの関係を示す加工結果情報等が記憶されており、シミュレーション実行部12は、加工結果情報から逆解析できる他の設定条件についても適切な値の範囲を計算する。そして、シミュレーション実行部12は、それらの共通範囲を設定条件「パワー」についての範囲として設定する。
【0046】
なお、ここでは、逆解析等により設定条件の範囲を計算することとしたが、逆解析等により設定条件(1つの値)を計算するようにしてもよい。その場合、例えば、シミュレーション実行部12は、上記の方法で計算した設定条件の範囲の中央値やその範囲に含まれる加工結果情報と対応する設定条件の平均値を、逆解析によって計算する設定条件の値としてもよい。また、シミュレーション実行部12は、今回シミュレーションを行う加工内容に最も近い加工結果情報を抽出し、その加工結果と対応する設定条件の値を、逆解析によって計算する設定条件の値としてもよい。
【0047】
図4のフローチャートの説明に戻る。次にユーザが、シミュレーション装置10にシミュレーションの実行を要求する情報を入力する。すると、入出力部11は、シミュレーション実行要求の入力を受け付け(ステップS23)、シミュレーション実行部12は、ステップS21で入力された加工内容情報と、ステップS22で各設定条件について計算した範囲の代表値(例えば中央値)をシミュレーションモデルに入力する。また、シミュレーション実行部12は、例えば
図3で説明した要領で内部パラメータに所定の初期値を設定する。あるいは、記憶部16に今回のシミュレーションにおける加工内容情報および設定条件情報に類似する条件に対して最適化された内部パラメータが記憶されている場合、シミュレーション実行部12は、その値を読み出して設定してもよい。次にシミュレーション実行部12が、シミュレーションモデルに基づいて加工シミュレーションを実行し(ステップS24)、シミュレーション結果を計算する。シミュレーション実行部12は、シミュレーション結果情報を加工結果評価部13へ出力する。
【0048】
また、シミュレーション実行部12は、通信部17を介して、シミュレーション時に用いた設定条件情報を工作機械3へ送信する。工作機械3では、制御装置30の通信部36が設定条件情報を受信し、加工装置制御部34へ受信した設定条件情報を出力する。また、ユーザの操作により、CADシステム2が、シミュレーション装置10へ入力された加工内容情報を含むCADデータを制御装置30へ入力する。入出力部31は、CADデータをCAMシステム32へ出力する。また、ユーザは、加工の実行を指示する操作を制御装置30に入力する。すると、工作機械3は、ステップS24のシミュレーションと同じ条件で加工を実行する(ステップS25)。具体的には、CAMシステム32は、加工内容情報からNCデータを生成し、加工装置制御部34がNCデータと設定条件情報とに基づいて加工装置38の動作を制御し加工を実行する。
なお、
図4のフローチャートでは、ステップS24で実行したシミュレーションと同じ条件で、ステップS25で工作機械3による加工を実行する場合を例に挙げて説明したが、ユーザにより選択された設定条件で工作機械3が加工を実行することを決定した後で、選択された設定条件をシミュレーション装置10が取得し、シミュレーション実行部12が取得した設定条件に基づいてシミュレーションを実施してもよい。
【0049】
加工が完了すると、センサ39が、加工結果を計測する(ステップS26)。センサデータ処理部33は、カメラ(センサ39)が撮影した加工結果の画像を解析して、加工対象物の形状(例えば入口の径と出口の径)を計算したり、加工対象物の品質(表面粗さ)を計算したりする。
また、センサ39は、シミュレーションモデルの内部パラメータに関する情報を計測する。例えば、パワーメータ(センサ39)を用いて、ヘッドから出力されるレーザ光のパワーや、加工対象物の表面で反射された反射光のパワーを計測する。また、センサデータ処理部33は、加工結果の画像を解析して、レーザによる加工跡の幅や大きさを計算する。パワーメータで計測したレーザ光のパワーは、内部パラメータのうち発振器やレンズの性能値に関係し、パワーメータで計測した反射光のパワーは、内部パラメータのうち材料の吸収率に関係し、加工跡の幅は内部パラメータのうちビーム径に関係する。後述するようにオンラインでシミュレーションモデルを最適化する場合、これらの内部パラメータに関する項目の実機での計測値を内部パラメータの調整に用いることができる。
センサデータ処理部33は、計算した加工結果情報(形状、品質)と内部パラメータに関する情報を、通信部36を介して、シミュレーション装置10へ送信する。シミュレーション装置10では、通信部17を介して、加工結果評価部13が加工結果情報を取得する。
【0050】
加工結果評価部13は、加工結果情報とシミュレーション結果情報とを比較して一致度を評価する(ステップS27)。評価方法は、
図3のステップS14と同様である。加工結果に関して評価すべき項目の全てにおいて一致度が閾値以上の場合(ステップS27;Yes)、シミュレーション実行部12は、今回設定した内部パラメータを、加工内容情報および設定条件情報およびシミュレーション結果情報および一致度に対応付けて記憶部16に記憶し(ステップS28)、本フローチャートの処理を終了する。
【0051】
一致度が閾値未満の項目が存在する場合(ステップS27;No)、モデル最適化部14は、内部パラメータの調整を行う(ステップS29)。ここで、ステップS26で計測した内部パラメータに関する計測情報を活用して内部パラメータの値を調整する方法について
図6を用いて説明する。
図6は、本発明に係る第一実施形態における内部パラメータの調整処理について説明する図である。
図6に内部パラメータの一例を示す。「発振器の出力」および「レンズの透過率」は工作機械3の性能等に関する内部パラメータの例、「材料の吸収率」は材質に関する内部パラメータの例である。説明の便宜上、初期設定として、各パラメータに100%が設定されるとする。「発振器の出力」が100%とは、設定条件でレーザのパワーに100Wが設定された場合、シミュレーションモデルは、発振器から100wのレーザ光が出力される前提でシミュレーションを行うことを意味する。同様に「レンズの透過率」が100%とは、発振器から出力された100wのレーザ光が減衰することなく100wのままヘッドから出力される前提であることを意味し、「材料の吸収率」が100%とは、ヘッドから出力された100wのレーザ光が全て加工対象物へ吸収される前提でシミュレーションが実行されることを意味する。
【0052】
モデル最適化部14は、加工結果評価部13から内部パラメータに関する情報を取得し、これらの内部パラメータの調整を行う。例えば、設定条件で設定したレーザのパワーが100wであるにもかかわらず、ヘッドで計測したレーザのパワーが90Wだった場合、モデル最適化部14は、例えば、内部パラメータ「発振器の出力」に90%を設定する(調整案1)。あるいは、モデル最適化部14は、内部パラメータ「レンズの透過率」に90%を設定してもよい(調整案2)。あるいは、モデル最適化部14は、例えば、「発振器の出力」と「レンズの透過率」の各々に95%を設定してもよい。これらの調整により、設定条件で100wを設定しても実際には90wしか出力しない前提で加工シミュレーションを実行することができ、実際に工作機械3で行う加工に近いシミュレーションを行うことができる。
【0053】
また、例えば、パワーメータで計測した加工対象物による反射率が10%だった場合、加工対象物を透過する光を考えず、吸収された光と反射された光の合計が全出力と仮定すると、加工対象物に吸収されたのはヘッドから出力されたレーザのパワーの90%と考えられるので、モデル最適化部14は、内部パラメータ「材料の吸収率」に90%を設定する(調整案3)。この調整により、100wのレーザを出力しても、例えば加工対象物の形状等の影響により実際には90wしか加工対象物には吸収されない前提で加工シミュレーションを実行することができ、実際に工作機械3で行う場合と近い加工を模擬することができる。
【0054】
また、例えば、内部パラメータ「ビーム径」の初期設定値がZで、画像解析により得られた加工跡の幅が8割程度の幅であれば、モデル最適化部14は、内部パラメータ「ビーム径」に80%を設定する。
【0055】
このように工作機械3で実際に加工を行った結果から得られる内部パラメータに関する情報に基づいて、シミュレーションモデルを最適化することで、より現実に合ったシミュレーションモデルを構築し、加工シミュレーションの精度を向上させることができる。内部パラメータを調整すると、シミュレーション実行部12は、調整後のシミュレーションモデルを用いて、加工内容情報、設定条件情報を変えずに再度シミュレーションを行う(ステップS30)。モデル最適化部14は、加工結果情報とシミュレーション結果情報との一致度が閾値以上となるまで、内部パラメータを変化させつつ、シミュレーション結果の計算を繰り返し実行する。
【0056】
一致度が閾値以上となると、シミュレーション実行部12は、内部パラメータと加工内容情報と設定条件情報とシミュレーション結果情報と一致度とを対応付けて記憶部16に記憶する。また、入出力部11は、シミュレーションの最適化が完了したことをディスプレイに表示してユーザに通知する。入出力部11は、シミュレーション実行部12が計算した設定条件の範囲をディスプレイに表示してユーザに通知する。ユーザは、表示された各設定条件についての設定条件の範囲を参照してその中から任意に値を選択して、シミュレーション装置10へ入力する。また、ユーザは、これから行おうとする加工内容情報をシミュレーション装置10へ入力する。そして、シミュレーション実行部12に加工シミュレーションを実行させることにより、最適化されたシミュレーションモデルによってシミュレーション結果を得る。ユーザは、シミュレーション結果が所望の加工結果と一致するまで設定条件を調整する。これにより、ユーザは、適切な設定条件を得ることができる。
【0057】
なお、例えば、内部パラメータを、所定の回数にわたって調整しても一致度が所定の閾値以上となる結果が得られない場合、警告メッセージを通知して最適化処理を中止してもよい。また、ステップS22で計算した設定条件の範囲は、内部パラメータを最適化する前のモデルに基づいて逆解析することにより求めた範囲のため、設定条件の範囲が不適切である可能性がある。従って、内部パラメータの最適化を行った後、再度、最適化後の内部パラメータを設定したシミュレーションモデルを用いて逆解析により設定条件の範囲を計算し、ステップS22以降の処理を行うというプロセスを何度か繰り返し、例えば、最も一致度が高かったプロセスにおける内部パラメータの値を採用するという実施形態でも良い。
【0058】
図4〜
図6を用いて説明したオンラインで加工シミュレーションを最適化する方法によれば、実機で計測された内部パラメータに関する情報を活用して内部パラメータを調整することによりシミュレーションモデルの精度を向上し、精度の高い加工シミュレーションを可能にすることができる。また、現在の工作機械3による加工結果や内部パラメータに関する計測値と比較しつつ、シミュレーションモデルの最適化を行うので、経年変化等を踏まえたモデルを構築することができる。また、シミュレーションの最適化を行うばかりでなく、設定条件の範囲を計算し、この情報を工作機械3のユーザに提供することができる。これにより、ユーザは、外乱を考慮して設定された設定条件の範囲の中から設定条件を見つけ出せばよいので、より短時間で効率的に適切な設定条件を設定することができ、加工作業の効率化を図ることができる。
なお、上述した加工シミュレーションを最適化する方法は、工作機械3のユーザに設定条件の範囲が提示されない場合でも、実行可能なことは勿論である。この場合、ユーザが選択した設定条件に基づいて、加工とシミュレーションが実行され、結果の一致度が評価される。
【0059】
<第二実施形態>
第一実施形態では、モデル最適化部14が、シミュレーションモデルの内部パラメータを調整することにより、シミュレーション実行部12による加工シミュレーションの精度を向上させた。第二実施形態では、加工結果情報とシミュレーション結果情報の一致度が所定の閾値以上となるときの内部パラメータの値を学習し、シミュレーションモデルの精度を更に高める。
【0060】
図7は、本発明に係る第二実施形態におけるシミュレーションモデルの最適化処理について説明する図である。
図示するように、
図3、
図4を用いて説明した第一実施形態の方法でシミュレーションの最適化を繰り返し行うと、ある加工内容情報と設定条件情報について、加工結果情報とシミュレーション結果情報の一致度が所定の閾値以上となるような内部パラメータのセットが複数得られる。記憶部16にはこのようにして得られた内部パラメータのセットが複数、記憶されている。例えば、内部パラメータのうち、「発振器の出力」、「レンズの透過率」、「材料の吸収率」の値の組み合わせ(内部パラメータのセット)とその組み合わせでシミュレーションを実行したときの一致度の例を以下に示す。各値は、左から順に「発振器の出力」、「レンズの透過率」、「材料の吸収率」、「一致度」である。
【0062】
学習部15は、これらの内部パラメータセット1〜4を学習し、内部パラメータ「発振器の出力」、「レンズの透過率」、「材料の吸収率」各々の最適な値を計算する。例えば、学習部15は、4つの内部パラメータセットの平均値を計算して。その平均値を各内部パラメータの最適値として設定してもよい。あるいは、学習部15は、一致度による重み付け平均を計算して各内部パラメータの最適値としてもよい。(例えば、「発振器の出力」の最適値は、(90%×95%+95%×96%+100%×92%+95%×98%)÷4で計算してもよい。
【0063】
あるいは、学習部15は、一致度が閾値以上となるときの加工内容情報と設定条件情報とシミュレーション結果情報とを教師データとして、加工内容情報と設定条件情報を入力したときに、シミュレーション結果情報を出力する論理モデルを機械学習や深層学習の手法(例えば、ニューラルネットワークなど)により構築してもよい。
【0064】
図8は、本発明に係る第二実施形態におけるシミュレーションモデルの最適化処理の一例を示すフローチャートである。
まず、シミュレーション実行部12が、
図3、
図4で説明したシミュレーションモデルの最適化処理を行い、記憶部16が、加工結果情報とシミュレーション結果情報の一致度が所定の閾値以上となったときの加工内容情報と設定条件情報とシミュレーション結果情報と内部パラメータの値と一致度とを対応付けて蓄積する(ステップS31)。
次に学習部15が、加工内容情報と設定条件情報と内部パラメータの関係を学習し、加工内容情報および設定条件情報ごとに内部パラメータの最適値を計算する(ステップS32)。最適値を計算する方法は、例えば、学習部15が、加工内容情報および設定条件情報の各項目の値が類似するデータごとにグループ分けを行い、同じグループに所属するデータの内部パラメータの値の平均値や一致度による加重平均値を最適値とするといった方法でも良い。学習部15は、計算した内部パラメータの最適値を、そのグループに分類されるための加工内容情報および設定条件情報の値と対応付けて記憶部16に記憶する。
【0065】
次にシミュレーションの実行要求を受け付けると、計算した内部パラメータの最適値を用いてシミュレーションを実行する(ステップS33)。具体的には、シミュレーション実行部12は、シミュレーションの実行要求とともに入力を受け付けた加工内容情報および設定条件情報に基づいて、今回のシミュレーションにおける加工内容情報および設定条件情報がステップS32で分類したどのグループに該当するかを判定し、該当すると判定されたグループについて設定された内部パラメータの最適値を記憶部16から読み出して、加工内容情報および設定条件情報とともにシミュレーションモデルに設定する。そして、シミュレーション実行部12は、シミュレーションを実行する。本実施形態によれば、より高精度なシミュレーションを実行することができる。その為、より適正な設定条件を選定することができる。
【0066】
上記の実施形態では、工作機械3がレーザ加工機である場合を例に説明を行った。しかし、工作機械3は、レーザ加工機に限定されず、マシニングセンタ、NC旋盤など他の加工機であってもよい。
【0067】
なお、シミュレーション装置10の記憶部16に、様々な加工内容情報、設定条件情報ごとに最適化された内部パラメータの値が蓄積し、これら加工内容情報、設定条件情報、最適化された内部パラメータを組みとするシミュレータのテンプレートとしてユーザに提供するサービスを行ってもよい。例えば、入出力部11は、言語の選択を受け付ける画面を表示し、言語が選択されると、加工内容情報や設定条件情報の入力欄、テンプレートの選択欄、シミュレーション実行指示ボタンなどを選択された言語で表示した画面を表示する。そして、加工内容情報等の入力とシミュレーション実行指示の入力を受け付けると、シミュレーション実行部12が、入力された加工内容情報等をシミュレーションモデルに入力し、さらに選択されたテンプレートにおける内部パラメータの値をシミュレーションモデルに設定し、シミュレーションを実行する。そして、入出力部11は、シミュレーション実行部12によるシミュレーション結果情報をディスプレイに表示する。所望のシミュレーション結果が得られた場合、シミュレーション装置10は、今回のシミュレーションで用いられた加工内容情報、設定条件情報、内部パラメータを新たなシミュレータとしてテンプレートに追加してもよい。また、シミュレーション装置10と、課金システムを連携させ、ユーザがシミュレーションを行う度に課金を行うようにしてもよい。
【0068】
同様に加工内容情報、設定条件情報、加工結果情報をユーザに入力させてシミュレーションを最適化し、最適化後のシミュレータを提供するサービスを行ってもよい。これにより、ユーザは、普段使用している工作機械3に適用させたシミュレーションモデルによってシミュレーションを行うことができるようになる。
【0069】
(ハードウェア構成)
シミュレーション装置10は、一般的なコンピュータ500を用いて実現することができる。
図9にコンピュータ500の構成の一例を示す。
図9は、本発明に係るシミュレーション装置のハードウェア構成の一例を示す図である。
コンピュータ500は、CPU(Central Processing Unit)501、RAM(Random Access Memory)502、ROM(Read Only Memory)503、ストレージ装置504、外部I/F(Interface)505、入力装置506、出力装置507、通信I/F508等を有する。これらの装置はバスBを介して相互に信号の送受信を行う。
【0070】
CPU501は、ROM503やストレージ装置504等に格納されたプログラムやデータをRAM502上に読み出し、処理を実行することで、コンピュータ500の各機能を実現する演算装置である。例えば、上記の各機能部は、CPU501が、ROM503等が記憶するプログラムを読み込んで実行することにより、コンピュータ500に備わる機能である。RAM502は、CPU501のワークエリア等として用いられる揮発性のメモリである。ROM503は、電源を切ってもプログラムやデータを保持する不揮発性のメモリである。ストレージ装置504は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)等により実現され、OS(Operation System)、アプリケーションプログラム、及び各種データ等を記憶する。外部I/F505は、外部装置とのインタフェースである。外部装置には、例えば、記憶媒体509等がある。コンピュータ500は、外部I/F505を介して、記憶媒体509の読取り、書き込みを行うことができる。記憶媒体509には、例えば、光学ディスク、磁気ディスク、メモリカード、USB(Universal Serial Bus)メモリ等が含まれる。
【0071】
入力装置506は、例えば、マウス、及びキーボード等で構成され、操作者の指示を受けてコンピュータ500に各種操作等を入力する。出力装置507は、例えば、液晶ディスプレイにより実現され、CPU501による処理結果を表示する。通信I/F508は、有線通信又は無線通信により、コンピュータ500をインターネット等のネットワークに接続するインタフェースである。バスBは、上記各構成装置に接続され、構成装置間で各種信号等を送受信する。
【0072】
なお、上述したシミュレーション装置10における各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記憶媒体に記憶されており、このプログラムを、シミュレーション装置10を実装したコンピュータ500が読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記憶媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしてもよい。
【0073】
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記憶されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
また、シミュレーション装置10は、1台のコンピュータで構成されていても良いし、通信可能に接続された複数のコンピュータで構成されていてもよい。また、制御装置30にシミュレーション装置10の機能部(シミュレーション実行部12、加工結果評価部13、モデル最適化部14、学習部15、記憶部16)を実装してもよい。
【0074】
その他、本発明の趣旨を逸脱しない範囲で、上記した実施の形態における構成要素を周知の構成要素に置き換えることは適宜可能である。また、この発明の技術範囲は上記の実施形態に限られるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更を加えることが可能である。シミュレーション装置10は、加工シミュレーション装置の一例である。シミュレーションシステム1は、加工シミュレーションシステムの一例である。また、シミュレーションモデルの内部パラメータは、計算の前提条件の一例である。シミュレーション結果情報は第1の加工結果の一例、工作機械3で加工した加工結果情報は第2の加工結果の一例である。入出力部11は、受付部の一例である。シミュレーション実行部12は、計算部の一例である。通信部17は、取得部の一例である。加工結果評価部13は、評価部の一例である。モデル最適化部14は、変化部の一例である。工作機械3a〜3eは加工機械の一例である。シミュレーションモデルの内部パラメータの調整は、加工シミュレーションの条件の適正化方法の一例である。