(57)【要約】【課題】製造工程シミュレーションの条件を適正化する方法を提供する。【解決手段】製造工程の全ての工程を実行して得られる最終製造物のシミュレーション結果を算出し、製造工程を実際に実行して得られる最終製造物の製造結果情報を取得し、それらの一致度を評価し、一致度が閾値以下の場合、差異を発生させた工程を特定する。差異を発生させた工程におけるシミュレーションの前提条件を変更して、差異を発生させた工程以降の工程のシミュレーションを実行し、そのシミュレーション結果と製造工程を実際に実行して得られる最終製造物の製造結果情報の一致度を再評価する処理を一致度が閾値を上回るまで繰り返す、シミュレーションの条件の適正化方法。【選択図】図１
2019101683.tif 000002
【特許請求の範囲】
【請求項１】
複数の工程を含む製造工程をコンピュータによるシミュレーションの条件の適正化方法であって、
前記製造工程の全ての前記工程を実行して得られる最終製造物のシミュレーション結果である第１の最終結果を算出するステップと、
前記製造工程の全ての前記工程を実際に実行して得られる最終製造物の結果情報である第２の最終結果を前記コンピュータが取得するステップと、
前記第１の最終結果と前記第２の最終結果との一致度を評価するステップと、
前記一致度が所定の閾値以下の場合、前記一致度の差異を発生させた前記工程を特定するステップと、
差異を発生させた前記工程におけるシミュレーションの前提条件を変更するステップと、
変更後の前記前提条件を適用して差異を発生させた前記工程以降の前記工程についてシミュレーションを実行し、新たに算出された前記第１の最終結果と前記第２の最終結果の一致度を再評価するステップと、
を有し、
前記コンピュータが、前記一致度が所定の閾値を上回るまで、前記前提条件を変更させつつ、前記第１の最終結果を繰り返し算出する、
シミュレーションの条件の適正化方法。
【請求項２】
前記一致度を再評価するステップでは、差異を発生させた前記工程以降であって、差異を発生させた前記工程に関係する処理を行う前記工程についてのみシミュレーションを実行する、
請求項１に記載のシミュレーションの条件の適正化方法。
【請求項３】
前記前提条件を変更するステップでは、差異を発生させた前記工程を実際に実行したときに計測した前記前提条件に関する計測情報に基づいて、前記前提条件を調整する、
請求項１または請求項２に記載のシミュレーションの条件の適正化方法。
【請求項４】
前記工程の各々について、該工程における加工を実行する加工機械の動作に関する設定条件の範囲を算出するステップ、
をさらに有する請求項１から請求項３の何れか１項に記載のシミュレーションの条件の適正化方法。
【請求項５】
前記前提条件には、その前提条件に係る前記工程における加工を実行する加工機械の性能に関するパラメータおよび前記工程における製造対象の材質に関するパラメータのうち少なくとも一つが含まれる、
請求項１から請求項４の何れか１項に記載のシミュレーションの条件の適正化方法。
【請求項６】
前記一致度が所定の閾値を上回るときの前記前提条件を蓄積するステップと、
蓄積した前記前提条件に基づいて、前記前提条件の最適値を計算するステップと、
をさらに有する請求項１から請求項５の何れか１項に記載のシミュレーションの条件の適正化方法。
【請求項７】
複数の工程を含む製造工程をシミュレーションする製造工程シミュレーション装置であって、
前記製造工程の全ての前記工程を実行して得られる最終製造物のシミュレーション結果である第１の最終結果を算出する算出部と、
前記製造工程の全ての前記工程を実際に実行して得られる最終製造物の結果情報である第２の最終結果を取得する取得部と、
前記第１の最終結果と前記第２の最終結果との一致度を評価する評価部と、
前記一致度が所定の閾値以下の場合、前記一致度の差異を発生させた前記工程を特定する特定部と、を有し、
前記算出部は、
差異を発生させた前記工程におけるシミュレーションの前提条件を変更し、
変更後の前記前提条件を適用して差異を発生させた前記工程以降の前記工程についてシミュレーションを実行し、新たに算出された前記第１の最終結果と前記第２の最終結果の一致度を再評価し、
前記一致度が所定の閾値を上回るまで、前記前提条件を変更させつつ、前記第１の最終結果を繰り返し算出する、
製造工程シミュレーション装置。
【請求項８】
請求項７に記載の製造工程シミュレーション装置と、
前記製造工程に含まれる前記工程の加工を実行する加工機械と、
を含み、
前記製造工程シミュレーション装置は、前記加工機械が実行した加工の結果を示す製造結果情報を取得して、製造工程シミュレーションを行う、
製造工程シミュレーションシステム。
【請求項９】
複数の工程を含む製造工程をシミュレーションするコンピュータのプログラムであって、
前記製造工程の全ての前記工程を実行して得られる最終製造物のシミュレーション結果である第１の最終結果を算出するステップと、
前記製造工程の全ての前記工程を実際に実行して得られる最終製造物の結果情報である第２の最終結果を前記コンピュータが取得するステップと、
前記第１の最終結果と前記第２の最終結果との一致度を評価するステップと、
前記一致度が所定の閾値以下の場合、前記一致度の差異を発生させた前記工程を特定するステップと、
差異を発生させた前記工程におけるシミュレーションの前提条件を変更するステップと、
変更後の前記前提条件を適用して差異を発生させた前記工程以降の前記工程についてシミュレーションを実行し、新たに算出された前記第１の最終結果と前記第２の最終結果の一致度を再評価するステップと、
をコンピュータに実行させ、
前記一致度が所定の閾値を上回るまで、前記前提条件を変更させつつ、前記第１の最終結果が繰り返し算出される、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレーションの条件の適正化方法、製造工程シミュレーション装置、製造工程シミュレーションシステム及びプログラムに関する。
【背景技術】
【０００２】
近年、複雑かつ高度な加工が可能な工作機械が提供されるようになり、従来は加工できなかった部材でも加工対象として扱われるようになってきている。工作機械で加工を行う場合、加工対象物ごとに適切な加工条件を見つけ出して設定する必要がある。一般に適切な加工条件を見つけるまでには、何度も加工を繰り返してその加工条件が適切かどうかを見極めなければならないが、加工対象の広がりに伴い、加工条件の設定に多大な労力、費用を要している。この労力を削減するために、工作機械による加工をコンピュータによってシミュレーションし、実際の加工を行うことなく適切な加工条件を見つけ出して設定する取り組みがなされている。
【０００３】
特許文献１には、複数の工程を有する製造工程のシミュレータが記載されている。特許文献１には、ＬＳＩの製造において、生産管理システムと製造工程のシミュレータとを密接に連携させて製造を行うことにより製造プロセスを最適化する方法が開示されている。特許文献１に記載の方法では、シミュレータが、製造工程ごとにシミュレーションを行って最適な作業手順や製造条件を指示するデータを生成し、生産管理システムが、生成された指示データを、各製造工程を担当する製造装置に入力する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−３４５３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、特許文献１には、製造工程のシミュレータを最適化する技術は開示されていない。例えば、新規材料や新規形状の加工物を複数の工程を経て製造する場合、各工程のシミュレータが新規材料に対応しておらず、シミュレーションの精度が低い可能性がある。その場合、ユーザは、シミュレーションによって加工条件を設定することができない為、例えば、全ての工程で、実際に加工を繰り返すことによって加工条件を設定しなければならない可能性がある。
【０００６】
そこでこの発明は、上述の課題を解決することのできるシミュレーションの条件の適正化方法、製造工程シミュレーション装置、製造工程シミュレーションシステム及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００７】
本発明の一つの態様によれば、シミュレーションの条件の適正化方法は、複数の工程を含む製造工程をコンピュータによるシミュレーションの条件の適正化方法であって、前記製造工程の全ての前記工程を実行して得られる最終製造物のシミュレーション結果である第１の最終結果を算出するステップと、前記製造工程の全ての前記工程を実際に実行して得られる最終製造物の結果情報である第２の最終結果を前記コンピュータが取得するステップと、前記第１の最終結果と前記第２の最終結果との一致度を評価するステップと、前記一致度が所定の閾値以下の場合、前記一致度の差異を発生させた前記工程を特定するステップと、差異を発生させた前記工程におけるシミュレーションの前提条件を変更するステップと、変更後の前記前提条件を適用して差異を発生させた前記工程以降の前記工程についてシミュレーションを実行し、新たに算出された前記第１の最終結果と前記第２の最終結果の一致度を再評価するステップと、を有し、前記コンピュータが、前記一致度が所定の閾値を上回るまで、前記前提条件を変更させつつ、前記第１の最終結果を繰り返し算出する。
【０００８】
本発明の一つの態様によれば、前記一致度を再評価するステップでは、差異を発生させた前記工程以降であって、差異を発生させた前記工程に関係する処理を行う前記工程についてのみシミュレーションを実行する。
【０００９】
本発明の一つの態様によれば、前記前提条件を変更するステップでは、差異を発生させた前記工程を実際に実行したときに計測した前記前提条件に関する計測情報に基づいて、前記前提条件を調整する。
【００１０】
本発明の一つの態様によれば、前記シミュレーションの条件の適正化方法は、前記工程の各々について、該工程における加工を実行する加工機械の動作に関する設定条件の範囲を算出するステップ、をさらに有する。
【００１１】
本発明の一つの態様によれば、前記前提条件には、その前提条件に係る前記工程における加工を実行する加工機械の性能に関するパラメータおよび前記工程における製造対象の材質に関するパラメータのうち少なくとも一つが含まれる。
【００１２】
本発明の一つの態様によれば、前記シミュレーションの条件の適正化方法は、前記一致度が所定の閾値を上回るときの前記前提条件を蓄積するステップと、蓄積した前記前提条件に基づいて、前記前提条件の最適値を計算するステップと、をさらに有する。
【００１３】
本発明の一つの態様によれば、製造工程シミュレーション装置は、複数の工程を含む製造工程をシミュレーションする製造工程シミュレーション装置であって、前記製造工程の全ての前記工程を実行して得られる最終製造物のシミュレーション結果である第１の最終結果を算出する算出部と、前記製造工程の全ての前記工程を実際に実行して得られる最終製造物の結果情報である第２の最終結果を取得する取得部と、前記第１の最終結果と前記第２の最終結果との一致度を評価する評価部と、前記一致度が所定の閾値以下の場合、前記一致度の差異を発生させた前記工程を特定する特定部と、を有し、前記算出部は、差異を発生させた前記工程におけるシミュレーションの前提条件を変更し、変更後の前記前提条件を適用して差異を発生させた前記工程以降の前記工程についてシミュレーションを実行し、新たに算出された前記第１の最終結果と前記第２の最終結果の一致度を再評価し、前記一致度が所定の閾値を上回るまで、前記前提条件を変更させつつ、前記第１の最終結果を繰り返し算出する。
【００１４】
本発明の一つの態様によれば、製造工程シミュレーションシステムは、上記の製造工程シミュレーション装置と、前記製造工程に含まれる複数の前記工程の加工を実行する加工機械と、を有し、前記製造工程シミュレーション装置は、前記加工機械が実行した加工の結果を示す製造結果情報を取得して、製造工程シミュレーションを行う。
【００１５】
本発明の一つの態様によれば、プログラムは、複数の工程を含む製造工程をシミュレーションするコンピュータのプログラムであって、前記製造工程の全ての前記工程を実行して得られる最終製造物のシミュレーション結果である第１の最終結果を算出するステップと、前記製造工程の全ての前記工程を実際に実行して得られる最終製造物の結果情報である第２の最終結果を前記コンピュータが取得するステップと、前記第１の最終結果と前記第２の最終結果との一致度を評価するステップと、前記一致度が所定の閾値以下の場合、前記一致度の差異を発生させた前記工程を特定するステップと、差異を発生させた前記工程におけるシミュレーションの前提条件を変更するステップと、変更後の前記前提条件を適用して差異を発生させた前記工程以降の前記工程についてシミュレーションを実行し、新たに算出された前記第１の最終結果と前記第２の最終結果の一致度を再評価するステップと、をコンピュータに実行させ、前記一致度が所定の閾値を上回るまで、前記前提条件を変更させつつ、前記第１の最終結果が繰り返し算出される、プログラムである。
【発明の効果】
【００１６】
本発明によれば、複数の工程を有する製造工程の高精度なシミュレータを構築することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明に係る一実施形態におけるシミュレーションシステムの一例を示すブロック図である。
【図２】本発明に係る一実施形態における加工内容と設定条件の一例を示す図である。
【図３】本発明に係る一実施形態におけるシミュレーションの最適化処理の一例を示すフローチャートである。
【図４】本発明に係る一実施形態における設定条件の範囲について説明する図である。
【図５】本発明に係る一実施形態におけるシミュレーションの前提条件の調整処理について説明する図である。
【図６】本発明に係る一実施形態におけるシミュレーションの精度向上処理について説明する図である。
【図７】本発明に係るシミュレーション装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１８】
＜実施形態＞
以下、本発明の一実施形態による製造工程のシミュレーションシステムについて図１〜図７を参照して説明する。
図１は、本発明に係る一実施形態におけるシミュレーションシステムの一例を示すブロック図である。図１に示すようにシミュレーションシステム１は、製造工程のシミュレーション装置１０と、鋳造、加工、コーティング等を行なう工作機械もしくは加工装置３ａ〜３ｅと、ＣＡＤ（computer aided design）システム２ａ〜２ｅとを含む。なお、工作機械もしくは加工装置３ａ〜３ｅを、加工装置３ａ〜３ｅと記載する。シミュレーション装置１０と加工装置３ａ〜３ｅとは、ネットワーク（ＮＷ）を介して通信可能に接続されている。加工装置３ａ〜３ｅを総称して加工装置３、ＣＡＤシステム２ａ〜２ｅを総称してＣＡＤシステム２と記載することがある。なお、図示は省略するが、加工装置３ｂ〜３ｅは、加工装置３ａと同様の構成を備える。制御装置３０ａ〜３０ｅを総称して制御装置３０、入出力部３１ａ〜３１ｅを総称して入出力部３１のように記載することがある。制御装置３０ａ〜３０ｅが有する他の機能部（ＣＡＭシステム３２ａ〜３２ｅ、センサデータ処理部３３ａ〜３３ｅ）についても同様である。また、シミュレーションシステム１において、シミュレーション装置１０、加工装置３、ＣＡＤシステム２の台数は図示した数に限定されない。例えば、シミュレーション装置１０が２台以上含まれていてもよいし、加工装置３およびＣＡＤシステム２は１台でも４台以上含まれていてもよい。また、加工装置３ａ〜３ｅはそれぞれ異なる工場に設置されていてもよいし、１つの工場内に設置されたものであってもよい。シミュレーション装置１０、ＣＡＤシステム２は、例えばサーバ等のＣＰＵ（Central Processing Unit）を備えたコンピュータである。
【００１９】
例えば、製造工程αは、複数の工程Ａ〜Ｅを含み、工程Ａの製造は加工装置３ａにより実行される。同様に工程Ｂの製造は加工装置３ｂにより実行され、工程Ｃ、Ｄ、Ｅにおける製造はそれぞれ、加工装置３ｃ、３ｄ、３ｅにより実行される。シミュレーション装置１０は、製造工程α（工程Ａ〜Ｅ）をシミュレーションする。より具体的には、シミュレーション装置１０は、加工装置３ａ〜３ｅが実行する加工について、その加工内容と設定条件を各工程のシミュレータに入力し、加工装置３ａ〜３ｅによる加工を模擬し、製造工程αによる最終製造物βを算出する。ここで加工内容とは、各工程の中間製造物に対する加工の要求、仕様である。また、設定条件とは、適切な加工を行うために加工装置３に設定する加工装置３の動作条件（加工条件）である。加工内容と設定条件の範囲について図２を用いて説明する。
【００２０】
図２は、本発明に係る一実施形態における加工内容と設定条件の一例を示す図である。図２（ａ）に加工内容の一例として、材質「ｗ１」でできた板厚「ｗ４（ｍｍ）」の部材に入口の穴径が「ｗ２（ｍｍ）」で出口の穴径が「ｗ３（ｍｍ）」の穴を形成することを示す加工内容を示す。なお、例えば穴径（入口）、穴径（出口）には所定の公差が許容されている。この公差も加工内容の一部である。また、加工内容には、穴径や穴の深さといった形状に関する項目だけでなく、品質に関する項目も含まれる。品質に関する項目とは、例えば、変質層の断面積、バリの高さ、付着物の大きさ、表面の粗さなどである。
【００２１】
図２（ｂ）にこの加工内容を実現するための設定条件の範囲の一例を示す。図２（ｂ）に示すのは、加工装置３がレーザ加工機の場合における設定条件の例である。レーザ加工機の設定条件には、例えば、出力するレーザのパワー、ピアッシング時間、レーザの旋回ヘッド回転数、ＸＹ軸送り速度、デフォーカス量、テーパ角、アシストガスのガス圧、ガス種類、レーザの旋回の直径などがある。
また、加工装置３がマシニングセンタ、ＮＣ旋盤などの場合の設定条件は、例えば、切削工具の種類、主軸回転数、直線移動軸の送り速度、切削水・切削油（クーラント）の有無・種類・吐出圧力などである。
図示するように本実施形態では設定条件の各項目の値が範囲で与えられる。後述するように各項目の範囲は、加工装置３の設置環境、製造対象物の個体差（材質、形状）などの外乱による影響を考慮して定められた範囲である。
【００２２】
ユーザは、シミュレーション装置１０に工程Ａ〜Ｅの加工内容情報と設定条件の範囲情報から選択した値を入力し、シミュレーション装置１０が算出する最終製造物βのシミュレーション結果を所望の最終製造物βと比較して、入力した設定条件で所望の最終製造物βが得られるかどうかを確認する。ユーザは、所望の最終製造物βが得られるまで、設定条件の範囲から選択する設定条件の値を調整する。適切な設定条件が得られると、ユーザは、各工程Ａ〜Ｅにおいて選択した設定条件を実際の加工装置３ａ〜３ｅに設定し、実際の加工を開始する。これにより製造工程αにおいて所望の最終製造物βを製造できるようになる。また、シミュレーション装置１０により、最終製造物βを得るための工程Ａ〜Ｅにおける設定条件を効率的に設定することができる。
【００２３】
このようにシミュレーション装置１０を用いると、ユーザは、実際の製造を行う前に所望の最終製造物βが得られる適切な設定条件を得ることができる。しかし、シミュレーション装置１０によるシミュレーションが、実際の加工装置３ａ〜３ｅによる加工結果と乖離していればシミュレーション装置１０によって設定した設定条件が適切なものではなく、製造工程αによる最終製造物βの品質を正確に表さなくなってしまう可能性がある。このような課題に対し、シミュレーション装置１０は、製造工程シミュレーションに用いるシミュレータ（シミュレーションモデル）の各種パラメータを実際の製造工程αに合わせて調整しシミュレーション精度を向上する（最適化）機能を有する。各種パラメータとは、加工装置３ａ〜３ｅの機能や性能に関するパラメータや製造対象物の材質に関するパラメータである。本実施形態では、各種パラメータを実際の加工装置３ａ〜３ｅによる加工結果や実際の製造対象物の特性に合わせて調整することでシミュレータの精度を向上させ、シミュレーション装置１０が算出する最終製造物βのシミュレーション結果を、より実際の最終製造物βへと近づけることができる。
【００２４】
シミュレーション装置１０は、入出力部１１、シミュレーション実行部１２、製造結果評価部１３、モデル最適化部１４、差異工程特定部１５、学習部１６、記憶部１７、通信部１８を有している。
入出力部１１は、加工装置３ａ〜３ｅで実際に行った加工について、その加工内容を示す情報である加工内容情報と、その加工における設定条件を示す情報である設定条件情報と、製造結果を示す情報である製造結果情報を取得する。また、製造結果情報には、例えば、中間製造物や最終製造物βを撮影した画像およびその画像を解析して得られる形状や品質に関する情報が含まれる。
【００２５】
シミュレーション実行部１２は、製造工程αに含まれる各工程Ａ〜Ｅおよびその実行順とそれぞれの工程の製造結果を模擬するシミュレータの識別情報が対応付けて記憶された記憶部１７を参照し、例えば、各工程のシミュレーションモデルを特定する。そして、シミュレーション実行部１２は、各工程のシミュレーションを順に実施し、最終製造物の製造結果情報のシミュレーション結果を算出する。より具体的には、シミュレーション実行部１２は、工程Ａの加工内容情報と設定条件情報とを工程ＡのシミュレーションモデルＡ（以下、工程ＡのシミュレーションモデルをシミュレーションモデルＡのように記載する。他の工程についても同様）に入力し、工程Ａの製造結果を算出する。同様にシミュレーション実行部１２は、工程Ｂの加工内容情報と設定条件情報とを工程ＢのシミュレーションモデルＢに入力する。すると、シミュレーション実行部１２は、工程Ａの中間製造物の算出結果（中間算出結果Ａのように記載する。他の工程についても同様）に対して、工程Ｂの製造を行った中間算出結果Ｂを算出する。以降の工程Ｃ〜Ｅについても同様である。中間算出結果Ａには、工程Ａの中間製造物の形状や品質に関する情報、例えば、中間製造物の２次元画像、３次元画像などが含まれる。シミュレーション実行部１２は、有限要素法、第一原理計算などの公知の解析方法によって、レーザ加工や切削加工による加工結果である中間製造物の形状などを算出する。シミュレーション実行部１２は、例えば、ＣＡＥ（computer aided engineering）用のプログラムを実行してシミュレーションを行う。シミュレーション実行部１２が有するシミュレーションモデルＡ〜Ｅは、中間算出結果Ａ〜Ｅを算出する各工程別のＣＡＥ用プログラムにおいて実行される各種計算式（加工穴の径や加工深さ、加工溝の幅などを解析するための計算式）、その計算式に適用するパラメータなどを含む。このパラメータには、外部から入力される工程Ａ〜Ｅについての加工内容情報、設定条件情報を設定する外部パラメータに加え、内部的に設定される内部パラメータ（加工装置３ａ〜３ｅの性能等に関するパラメータ、材質に関するパラメータ）が存在する。例えば、加工装置３ｂがレーザ加工機の場合、加工内容情報の材質の項目が「ｗ１」であれば、シミュレーション実行部１２は、シミュレーションモデルＢの材質に関する内部パラメータのうち、製造対象物の材質のレーザ光の吸収率について、材質「ｗ１」に応じた所定の値を設定する。あるいは、シミュレーション実行部１２は、シミュレーションモデルＢの加工装置３ｂの性能等に関する内部パラメータのうち、レーザ発振器の出力、レーザ加工機の光学系（例えばレンズの性能）に対して加工装置３ｂの経年変化に応じた値を設定する。例えば、加工装置３ｂの運転時間がＸ時間未満であれば、シミュレーション実行部１２は、レーザ発振器の出力に１００％、レンズの透過率に１００％を設定し、Ｘ時間以上となればレーザ発振器の出力に９０％（指示した出力の９０％しか実際には出力しない）、レンズの透過率に９０％（レンズの劣化により発振器が出力した出力の９０％しか透過しない）を設定する。
また、シミュレーション実行部１２は、加工内容情報が与えられた場合、設定内容情報をシミュレーションモデルＢに基づいて逆解析する機能を有している。逆解析手法としては、例えば、逆定式化法、出力誤差法、最小分散推定法などが使用される。
【００２６】
製造結果評価部１３は、入出力部１１が取得した製造工程αの実際の最終製造物βの製造結果情報（最終製造物βを撮影した画像やセンサで寸法等を計測した計測値など）とシミュレーション実行部１２が算出した最終製造物βのシミュレーション結果情報とを比較して、シミュレーション実行部１２による最終製造物βのシミュレーション結果を評価する。また、製造結果評価部１３は、入出力部１１が取得した各工程Ａ〜Ｅの実際の中間製造物の製造結果情報とシミュレーション実行部１２が算出した中間算出結果Ａ〜Ｅを比較して、シミュレーション実行部１２によるシミュレーション結果を評価する。
【００２７】
モデル最適化部１４は、シミュレーション実行部１２が実行するシミュレータ（シミュレーションモデルＡ〜Ｅ）を最適化する処理を行う。例えば、モデル最適化部１４は、製造結果評価部１３による各工程についての評価結果に基づいて、モデルＡ〜Ｅの内部パラメータの値を調整することにより、シミュレータを最適化（高精度化）する。
【００２８】
差異工程特定部１５は、製造工程αの最終製造物βの製造結果情報と最終製造物βのシミュレーション結果情報との一致度が閾値以下の場合、工程Ａ〜Ｅの何れの工程のシミュレーションが一致度の差異を発生させた工程であるかを特定する。
学習部１６は、モデル最適化部１４が最適化した内部パラメータの値を学習してシミュレーションモデルの精度をより向上させる。
記憶部１７は、加工装置３で行った加工における加工内容情報、設定条件情報、製造結果情報や、シミュレーションモデルＡ〜Ｅの内部パラメータの値などを記憶する。なお、記憶部１７は、加工装置３ａ〜３ｅなど複数の異なる加工装置から受信した中間製造物の製造結果情報をそのときの加工内容情報および設定条件情報と対応付けて、多数、記憶している。なお、記憶部１７が、シミュレーション装置１０内に配置されることを前提に説明するが、記憶部１７は、シミュレーション装置１０からネットワーク（ＮＷ）を介して接続可能な場所に配置されてもよいことは勿論である。
通信部１８は、加工装置３ａ〜３ｅと通信を行う。例えば、通信部１８は、中間製造物の製造結果情報を加工装置３ａ〜３ｅから受信する。
【００２９】
加工装置３ａ〜３ｅは、工程Ａ〜Ｅの加工を担当する加工機である。例えば、加工装置３ａ〜３ｅの何れかは、レーザ光を照射して加工を施すレーザ加工機である。加工装置３は、加工装置３の制御装置３０と、加工実行装置３８と、センサ３９とを含む。
制御装置３０は、例えばマイコン等のＭＰＵ（Micro Processing Unit）を備えたコンピュータである。制御装置３０は、加工内容情報に基づいて加工実行装置３８の動作を制御し、加工対象物を加工する。
加工実行装置３８は、例えば、加工装置３がレーザ加工機の場合、レーザの発振器、ヘッドの駆動機構、アシストガスの噴射機構、中間製造物の設置機構、ユーザの操作盤などを含む工作機械の本体である。
センサ３９は、カメラ、Ｘ線ＣＴ（computed tomography）、振動センサ、変位センサ、温度計、スキャナなど、加工結果や加工環境を計測するセンサ類である。センサ３９は、加工実行装置３８が備えるものであってもよいし、加工実行装置３８とは独立した単独のセンサであってもよい。センサ３９は、中間製造物の形状や加工環境（加工中の温度、振動、位置）などを計測する。
【００３０】
加工装置３では、制御装置３０が、図２（ｂ）で例示したような所定の範囲内の設定条件のみを許容して加工実行装置３８の動作を制御する。制御装置３０は、入出力部３１と、ＣＡＭ（computer aided manufacturing）システム３２と、センサデータ処理部３３と、加工装置制御部３４と、設定条件判定部３５と、通信部３６と、記憶部３７とを有する。
【００３１】
入出力部３１は、ユーザが操作盤から入力した操作情報や設定条件の入力を受け付けたり、ＣＡＤシステム２からの製造対象物の形状を示すＣＡＤデータの入力を受け付けたりする。ＣＡＤデータには、加工内容情報が含まれている。また、入出力部３１は、操作盤に設けられたディスプレイにユーザに通知すべき情報を出力する。
【００３２】
ＣＡＭシステム３２は、入出力部３１が取得したＣＡＤデータから加工用のＮＣ（numerical control）データを生成する。
センサデータ処理部３３は、センサ３９が製造対象物について計測して得た計測情報（計測値や画像）を取得し、必要に応じて加工に関する他の情報を計算する等して、中間製造物や最終製造物βの製造結果情報を生成する。例えば、センサデータ処理部３３は、製造対象物を撮影した画像から画像解析により穴径（加工穴の径）を計算したり、計算した穴径などを用いてテーパ角度を計算したりする。なお、穴径を算出する際の画像解析手法は、公知の手法が用いられる。
加工装置制御部３４は、ＣＡＭシステム３２が生成したＮＣデータと設定条件情報に基づいて、加工実行装置３８の動作を制御し、加工を行う。
【００３３】
設定条件判定部３５は、入力された設定条件が、所定の設定条件の範囲に含まれるかどうかを判定する。
通信部３６は、シミュレーション装置１０と通信を行う。例えば、通信部３６は、中間製造物や最終製造物βの製造結果情報をシミュレーション装置１０へ送信する。
記憶部３７は、入出力部３１が取得したＣＡＤデータなどの情報を記憶する。
【００３４】
ユーザは、シミュレーション装置１０を利用することで実際の加工を行うことなく効率的に各工程において加工装置３ａ〜３ｅに設定すべき設定条件の最適な値を設定することができる。その為には、上記のとおり、各工程のシミュレーションモデルには高い精度が求められる。次にシミュレーション装置１０が有する製造工程シミュレーションの最適化処理について説明する。
【００３５】
図３は、本発明に係る一実施形態におけるシミュレーションの最適化処理の一例を示すフローチャートである。
まず、ユーザが、シミュレーション装置１０に製造工程αにおける最終製造物βの加工内容情報を入力する。入出力部１１は、加工内容情報を取得する（ステップＳ１１）。記憶部１７には、最終製造物βの加工内容情報（例えば、最終製造物βの形状、径ｘｍｍの穴、表面へのコーティング・・・）と対応付けて、製造工程αの各工程Ａ〜Ｅにおける加工内容情報（工程Ａで切削加工により形状を形成する、工程Ｂで径ｘｍｍの穴をあける、工程Ｃで表面へコーティングする・・・）が記憶されている。シミュレーション実行部１２は、この情報に基づいて、各工程Ａ〜Ｅにおける加工内容情報を設定する。また、シミュレーション実行部１２は、各工程Ａ〜Ｅの加工内容情報を、加工結果としてそれぞれシミュレーションモデルＡ〜Ｅに入力し、逆解析により、当該加工結果が得られるような加工において設定される設定条件または設定条件の範囲を計算する（ステップＳ１２）。あるいは、シミュレーション実行部１２は、加工内容情報と加工特性情報（図４）に基づいて、各工程における設定条件の範囲を設定する（ステップＳ１２）。ここで、図４を用いて設定条件の範囲について説明する。
【００３６】
図４は、本発明に係る一実施形態における設定条件の範囲について説明する図である。
図４のグラフは、レーザ加工機によって材質「ｗ１」でできた板に所定の径の穴をあけたときのレーザの出力であるパワー（設定条件）と板厚（加工内容）の関係を示すグラフである。図４のグラフの縦軸は板の厚さ（ｍｍ）、横軸はレーザのパワー（ｗ）を示している。グラフ内のＰ１〜Ｐ１６の印は、その印が位置する横軸の座標が示すパワーでレーザを出力し、縦軸の座標が示す板厚の材質「ｗ１」の板に穴を形成する加工を行ったときの加工結果である。印の○と×は、それぞれ加工が成功したか失敗したかを表している。具体的には、○印は加工内容を満たす結果（成功）であり、×印は加工内容を満たさない結果（失敗）であることを示している。例えば印Ｐ１は、板厚ｗ５（ｍｍ）の材質「ｗ１」の板にα（Ｗ）のレーザを出力して穴あけ加工を行ったところ所定の加工内容を満たす穴、例えば穴径や品質が良好な穴があけられたことを示している。これらの加工結果から、加工が成功した場合と失敗した場合を切り分ける境界線を所定の手法（統計解析、機械学習など）を用いて計算すると、例えば、境界線Ｌ１、Ｌ２が得られる。境界線Ｌ１とＬ２に挟まれた領域は、所望の加工を実現するために設定条件「パワー」に設定できる適切な値の範囲であると考えられる。この考えによると、例えば、板厚「ｗ４」ｍｍの板について加工する場合は、縦軸「ｗ４」ｍｍにおいて境界線Ｌ１、Ｌ２によって挟まれた範囲Ｒ１がレーザのパワーの適切な範囲であると考えられる。
【００３７】
シミュレーション装置１０の記憶部１７は、図４で例示するような加工結果およびその加工における加工内容情報と設定条件情報とを対応付けた加工特性情報を加工装置３ａ〜３ｅから受信して多数、記憶しており、シミュレーション実行部１２は、シミュレーションモデルＡ〜Ｅに基づく逆解析によって設定条件の範囲を計算する以外にも、境界線Ｌ１、Ｌ２の計算処理、加工内容情報（例えば、板厚「ｗ４」ｍｍ）に応じた設定条件の範囲（Ｒ１）を算出することによって設定条件の範囲を計算してもよい。
【００３８】
印Ｐ１〜Ｐ１６に関する加工は、様々な条件下で行われたものである。例えば、部材の材質である「ｗ１」の純度、「ｗ１」以外の成分の種類や含有量、製造方法などにより様々な種類が存在する。あるいは、加工装置３ｂが加工を行う環境も様々である。シミュレーション実行部１２は、均一ではない様々な条件下における加工結果に基づいて、設定条件の範囲を設定する。これにより、シミュレーション実行部１２は、加工装置の設置環境、製造対象物の個体差など加工結果に影響を与える外乱を考慮した設定条件の範囲を計算することができる。
【００３９】
例えば、印Ｐ１〜Ｐ１６で示される加工結果には、加工内容情報（板厚など）と設定条件情報（パワーなど）に加え、加工時刻、加工場所、製造対象物の材質、加工環境（温度、湿度、振動など）、加工装置３の種類・型番、加工装置３を導入してからの総運転時間（加工時間）などの情報が対応付けられていてもよい。そして、シミュレーション実行部１２は、入力された加工内容情報に含まれる製造対象物の材質の詳細情報に基づいて、印Ｐ１〜Ｐ１６の中から同じ材質（例えば純度の高い「ｗ４」製の部材）の加工結果のみを抽出して、設定条件の範囲を設定してもよい。あるいは、入出力部１１が、製造結果情報とともに加工環境に関する情報の入力を受け付けるようにし、シミュレーション実行部１２は、加工特性情報の中から入力された加工環境と類似する加工環境で行われたときの加工結果のみを抽出して、設定条件の範囲を算出してもよい。これにより、実際の加工条件に合わせてより限定した設定条件の範囲を計算することができる。また、加工装置３ａ〜３ｅのユーザは、シミュレータが最適化された後には、加工装置３ａ〜３ｅの実際の特徴に合った適切な設定条件を見つけなければならないが、適切な設定条件が含まれる範囲の特定をシミュレーション実行部１２に任せることができる。これにより、加工装置３ａ〜３ｅのユーザは、設定条件の設定をより短時間で行うことができる。
【００４０】
なお、記憶部１７には、図４で例示した加工特性情報の他にも、例えば、材質ごとにパワーと穴の径の関係を示す加工特性情報などが記憶されており、シミュレーション実行部１２は、これらの他の加工特性情報についても設定条件の適切な値の範囲を算出する。そして、シミュレーション実行部１２は、それらの共通範囲を上記の加工内容に対する設定条件「パワー」についての範囲として設定する。例えば、レーザの出力について、パワーと板厚の関係からは「５０〜１００」の範囲が、パワーと穴の径の関係からは「４０〜８０」の範囲が特定されたならば、シミュレーション実行部１２は、設定条件「パワー」について範囲「５０〜８０」を算出する。
【００４１】
また、例えば、加工装置３が切削加工機の場合、シミュレーション実行部１２は、例えば、「切削量」（加工内容）と「主軸回転数」（設定条件）の対応を示した加工特性情報に基づいて設定条件「主軸回転数」の範囲を設定する。
【００４２】
なお、ここでは、逆解析や加工特性情報に基づいて設定条件の範囲を計算することとしたが、設定条件（１つの値）を計算するようにしてもよい。その場合、例えば、シミュレーション実行部１２は、上記の何れかの方法で算出した設定条件の範囲の中央値やその範囲に含まれる製造結果情報と対応する設定条件の平均値を、設定条件の値としてもよい。また、シミュレーション実行部１２は、今回シミュレーションを行う加工内容情報に最も近い加工結果を加工特性情報の中から抽出し、その加工結果と対応する設定条件の値を設定条件の値としてもよい。
【００４３】
フローチャートの説明に戻る。次にユーザが、シミュレーション装置１０にシミュレーションの実行を要求する情報を入力する。すると、入出力部１１は、シミュレーション実行要求の入力を受け付け、シミュレーション実行部１２がシミュレーションを実行する（ステップＳ１３）。具体的には、シミュレーション実行部１２は、ステップＳ１２で設定した工程Ａの加工内容情報と設定条件の範囲の代表値（例えば中央値）をシミュレーションモデルＡに入力し、内部パラメータには所定の初期値を設定し、工程Ａのシミュレーションを行う。なお、記憶部１７に今回の工程Ａのシミュレーションについての加工内容情報および設定条件情報に類似する条件に対して最適化された内部パラメータが記憶されている場合、シミュレーション実行部１２は、その値を読み出してシミュレーションモデルＡの内部パラメータに設定してもよい。シミュレーション実行部１２は、中間算出結果Ａを記憶部１７に記憶する。
【００４４】
次にシミュレーション実行部１２は、中間算出結果ＡとステップＳ１２で設定した工程Ｂの加工内容情報と設定条件の範囲の代表値とシミュレーションモデルＢを用いて、工程Ｂのシミュレーションを行う。以下同様にして、シミュレーション実行部１２は、工程Ｃ〜Ｅの順にシミュレーションを行い、最終製造物βのシミュレーション結果を算出する。シミュレーション実行部１２は、シミュレーション結果情報を製造結果評価部１３へ出力する。また、シミュレーション実行部１２は、通信部１８を介して、シミュレーションに用いた各工程Ａ〜Ｅの設定条件情報を加工装置３ａ〜３ｅへ送信する。加工装置３ａ〜３ｅは、製造工程αについて行ったシミュレーションと同じ条件で、実際に製造工程αを実行する（ステップＳ１４）。
【００４５】
例えば、加工装置３ａでは、制御装置３０ａの通信部３６ａが設定条件情報を受信し、加工装置制御部３４ａへ受信した設定条件情報を出力する。また、ユーザの操作により、ＣＡＤシステム２ａが、シミュレーション装置１０ａで設定された加工内容情報を含むＣＡＤデータを制御装置３０ａへ入力する。入出力部３１ａは、ＣＡＤデータをＣＡＭシステム３２ａへ出力する。また、ユーザは、加工の実行を指示する操作を制御装置３０ａに入力する。すると、加工装置３ａは、ステップＳ１３のシミュレーションと同じ条件で工程ａの加工を実行する。具体的には、ＣＡＭシステム３２は、加工内容情報からＮＣデータを生成し、加工装置制御部３４がＮＣデータと設定条件情報とに基づいて加工実行装置３８の動作を制御し加工を実行する。
【００４６】
工程Ａが完了すると、カメラ（センサ３９ａ）が中間製造物を撮影し、センサデータ処理部３３ａが中間製造物の画像を解析して、中間製造物の形状を算出したり、中間製造物の品質（表面粗さ）を算出したりする。また、センサ３９ａは、シミュレーションモデルＡの内部パラメータに関する情報の実測値を計測する。例えば、加工装置３ａがレーザ加工機の場合、パワーメータ（センサ３９ａ）を用いて、レーザ加工機のヘッドから出力されるレーザ光のパワーや、中間製造物の表面で反射された反射光のパワーを計測する。また、センサデータ処理部３３は、中間製造物の画像を解析して、レーザによる加工跡の幅や大きさを計算する。パワーメータで計測したレーザ光のパワーは、内部パラメータのうち発振器やレンズの性能値に関係し、パワーメータで計測した反射光のパワーは、内部パラメータのうち材料の吸収率に関係し、加工跡の幅は内部パラメータのうちビーム径に関係する。後述するように、これらの内部パラメータに関する項目の実機での計測値は内部パラメータの調整に用いる。
センサデータ処理部３３ａは、計算した製造結果情報（形状、品質）と内部パラメータに関する情報を、通信部３６ａを介して、シミュレーション装置１０へ送信する。シミュレーション装置１０では、通信部１８を介して、製造結果評価部１３および差異工程特定部１５が製造結果情報を取得する。
【００４７】
次に工程Ａの中間製造物に対して、工程Ｂの製造を実行する。例えば、加工装置３ｂが、シミュレーション装置１０における工程Ｂのシミュレーションで用いられた加工内容情報および設定条件情報を取得し加工を行う。センサ３９ｂは、工程Ｂの中間製造物に対する撮影、計測などを行い、その製造結果情報をシミュレーション装置１０へ送信する。以降、工程Ｃ〜Ｅについても順番に製造、中間製造物の計測、製造結果情報の送信を行い、最終製造物βを製造する。また、最終製造物βについての製造結果情報をシミュレーション装置１０へ送信する。
【００４８】
最終製造物が製造されると、次に製造結果評価部１３は、最終製造物βの製造結果情報とシミュレーション結果情報とを比較して一致度を評価する（ステップＳ１５）。例えば、製造結果評価部１３は、ステップＳ１１で入力された最終製造物の加工内容情報に含まれる項目について両者を比較する。例えば、加工内容情報に、外形形状、穴径、表面粗さの３つの項目が含まれている場合、製造結果評価部１３は、これら３つの項目の各々について、最終製造物βの製造結果情報とシミュレーション結果情報の差を算出する。製造結果評価部１３は、算出した差の大きさに応じて一致度を設定する。評価すべき全ての項目において一致度が閾値を上回る場合（ステップＳ１６；Ｙｅｓ）、製造工程のシミュレーションの精度は十分に高く、シミュレータを最適化する必要はないと考えられる。シミュレーション実行部１２は、今回設定した各工程Ａ〜Ｅの内部パラメータを、その工程の加工内容情報および設定条件情報およびシミュレーション結果情報およびステップＳ１５で算出した各項目の一致度と対応付けて記憶部１７に記憶し、本フローチャートの処理を終了する。なお、シミュレーション装置１０に設定され得る評価すべき項目、及び一致度の閾値は、可変であり、シミュレーション装置１０のユーザにより設定されてもよい。
【００４９】
一致度が閾値以下の項目が存在する場合（ステップＳ１６；Ｎｏ）、差異工程特定部１５が、一致度の差異を生じさせる原因となる工程を特定する（ステップＳ１７）。例えば、差異工程特定部１５は、工程Ａについて中間算出結果Ａと工程Ａを実行した後に加工装置３ａから取得した中間製造物の製造結果情報とを比較し、工程Ａで処理された項目についての一致度を評価する。差異工程特定部１５は、工程Ａから順に（あるいは、工程Ｅから工程を１つずつ遡って）一致度の評価を行い、一致度が閾値以下となる工程を探し、その工程を、一致度の差異を発生させた工程として特定する。
【００５０】
あるいは、差異工程特定部１５は、ステップＳ１５で算出した一致度が閾値以下となった項目に基づいて、一致度の差異を生じさせる原因となる工程を特定する。例えば、穴径についての一致度が低かった場合、差異工程特定部１５は、穴の加工を行った工程Ｂを、一致度の差異を発生させた工程として特定する。
【００５１】
差異の原因となる工程を特定すると、モデル最適化部１４が、その工程のシミュレーションモデルの調整を行う（ステップＳ１８）。ここで、ステップＳ１４で計測した内部パラメータに関する計測情報を活用して内部パラメータの値を調整する方法について図５を用いて説明する。図５は、本発明に係る一実施形態におけるシミュレーションの前提条件の調整処理について説明する図である。図５にシミュレーションの前提条件（内部パラメータ）の一例を示す。差異の原因となる工程が工程Ｂであって、工程Ｂの加工装置３ｂがレーザ加工機であると仮定して説明する。「発振器の出力」および「レンズの透過率」は加工装置３ｂの性能等に関する内部パラメータの例、「材料の吸収率」は材質に関する内部パラメータの例である。説明の便宜上、初期設定として、各パラメータに１００％が設定されるとする。「発振器の出力」が１００％とは、設定条件でレーザのパワーに１００Ｗが設定された場合、シミュレーションモデルは、発振器から１００ｗのレーザ光が出力される前提でシミュレーションを行うことを意味する。同様に「レンズの透過率」が１００％とは、発振器から出力された１００ｗのレーザ光が減衰することなく１００ｗのままヘッドから出力される前提であることを意味し、「材料の吸収率」が１００％とは、ヘッドから出力された１００ｗのレーザ光が全て中間製造物へ吸収される前提でシミュレーションが実行されることを意味する。
【００５２】
モデル最適化部１４は、製造結果評価部１３から内部パラメータに関する計測情報を取得し、これらの内部パラメータの調整を行う。例えば、設定条件で設定したレーザのパワーが１００ｗであるにもかかわらず、ヘッドで計測したレーザのパワーが９０Ｗだった場合、モデル最適化部１４は、例えば、内部パラメータ「発振器の出力」に９０％を設定する（調整案１）。あるいは、モデル最適化部１４は、内部パラメータ「レンズの透過率」に９０％を設定してもよい（調整案２）。あるいは、モデル最適化部１４は、例えば、「発振器の出力」と「レンズの透過率」とを掛け合わせた値が９０％になるように設定してもよい。これらの調整により、設定条件で１００ｗを設定しても実際には９０ｗしか出力しない前提で加工シミュレーションを実行することができ、実際に加工装置３ｂで行う加工に近いシミュレーションを行うことができる。
【００５３】
また、例えば、パワーメータで計測した中間製造物による反射率が１０％だった場合、中間製造物を透過する光を考えず、吸収された光と反射された光の合計が全出力と仮定すると、中間製造物に吸収されたのはヘッドから出力されたレーザのパワーの９０％と考えられるので、モデル最適化部１４は、内部パラメータ「材料の吸収率」に９０％を設定する（調整案３）。この調整により、１００ｗのレーザを出力しても、例えば中間製造物の形状等の影響により実際には９０ｗしか中間製造物には吸収されない前提で加工シミュレーションを実行することができ、実際に加工装置３ｂで行うときと近い加工をシミュレーションすることができる。
【００５４】
また、例えば、内部パラメータ「ビーム径」の初期設定値がＺで、画像解析により得られた加工跡の幅が８割程度の幅であれば、モデル最適化部１４は、内部パラメータ「ビーム径」に８０％を設定する。
【００５５】
このように加工装置３ｂで実際に加工を行った結果から得られる内部パラメータに関する計測情報に基づいて、シミュレーションモデルＢを最適化することで、より現実に合ったシミュレーションモデルを構築し、工程Ｂおよび製造工程α全体のシミュレーションの精度を向上させることができる。内部パラメータを調整すると、シミュレーション実行部１２は、調整後のシミュレーションモデルＢを用いて、加工内容情報、設定条件情報を変えずに再度、工程Ｂのシミュレーションを実行する（ステップＳ１９）。シミュレーション実行部１２およびモデル最適化部１４は、工程Ｂの中間算出結果Ｂと加工装置３ｂから取得した工程Ｂの製造結果情報との一致度が閾値を上回るまで、内部パラメータを調整しつつ、工程Ｂのシミュレーションを繰り返す（ステップＳ２０；Ｎｏ）。
【００５６】
差異の原因となる工程（工程Ｂ）についての一致度が閾値を上回ると（ステップＳ２０；Ｙｅｓ）、シミュレーション実行部１２は、その工程Ｂ以降のシミュレーションを実行する（ステップＳ２１）。例えば、シミュレーション実行部１２は、一致度が閾値を上回ったときの中間算出結果Ｂを用いて、後の工程、工程Ｃ〜工程Ｅのシミュレーションを実行する。あるいは、工程Ｂ〜工程Ｅのシミュレーションを実行する。また、例えば、工程Ｂで形成した穴に対する追加の加工（例えば、穴の仕上げ加工）が工程Ｅで行われ、工程Ｃ〜工程Ｄは、穴に無関係な工程であるならば、シミュレーション実行部１２は、工程Ｃ、Ｄのシミュレーションを行うことなく、中間算出結果Ｂに対して、前回シミュレーションを行ったときに得られた中間算出結果Ｃ、中間算出結果Ｄと同様の結果が算出されることを前提として、工程Ｅのシミュレーションのみを実行してもよい。これにより計算量を削減し、より短時間でシミュレータを最適化することができる。工程Ｅのシミュレーションを行って新たな最終製造物βのシミュレーション結果が得られると、シミュレーション装置１０は、ステップＳ１５からの処理を繰り返す。シミュレーション結果と実際の中間製造物の製造結果情報との差異を生じさせる工程のシミュレーションモデルを適正化した後、再度シミュレーションを行って結果を確認するという工程を繰り返して、最終製造物βの製造結果情報とシミュレーション結果情報の一致度が閾値を上回ると、シミュレーション実行部１２は、工程Ａ〜Ｅについて内部パラメータと加工内容情報と設定条件情報とシミュレーション結果情報と加工内容の各項目に対する一致度とを対応付けて記憶部１７に記憶する。
【００５７】
また、入出力部１１は、製造工程のシミュレーションが最適化されたことをディスプレイに表示してユーザに通知する。入出力部１１は、最適化時の各工程の設定条件の範囲をディスプレイに表示する。ユーザは、この表示を参照して、その中から任意に値を選択して、シミュレーション装置１０へ入力する。また、ユーザは、これから行おうとする加工内容情報をシミュレーション装置１０へ入力する。そして、シミュレーション実行部１２に製造工程のシミュレーションを実行させる。ユーザは、最適化されたシミュレーションモデルによって最終製造物βのシミュレーション結果を得る。ユーザは、シミュレーション結果が所望の最終製造物βと一致するまで設定条件を調整する。これにより、ユーザは、実際に加工装置３ａ〜３ｅで加工を繰り返しながら設定条件を設定するときよりも、効率的に工程Ａ〜Ｅにおける適切な設定条件を得ることができる。
【００５８】
なお、例えば、所定の回数内部パラメータを調整しても一致度が所定の閾値を上回る結果が得られない場合、警告メッセージを通知して最適化処理を中止してもよい。
【００５９】
本実施形態によれば、実機で計測された内部パラメータに関する情報を活用して内部パラメータを調整することによりシミュレーションモデルの精度を向上し、精度の高い製造工程のシミュレーションを実現することができる。また、シミュレーションの精度を向上するだけではなく、各工程の設定条件の範囲をユーザに提供することができる。これにより、ユーザは、例えば、新規材料に対する加工などの経験の蓄積がない製造工程を実施する場合に、シミュレータの調整とともに、設定条件の目安となる情報を得ることができるので、より短時間で効率的に適切な設定条件を見つけ出し、所望の最終製造物を製造できるようになる。
【００６０】
なお、ステップＳ１４で内部パラメータに関する情報を計測しない場合、モデル最適化部１４は、例えば、記憶部１７に記憶された、製造結果情報とシミュレーション結果情報とで差があった項目およびその差分値と調整すべき内部パラメータの項目とその値の対応テーブル等と、今回の製造結果情報とシミュレーション結果情報とに基づいて、内部パラメータの調整を行うようにしてもよい。例えば、実際の製造結果情報において、シミュレーション結果よりもレーザのパワーが不足しているような加工状態（加工深さが浅いなど）を示しているならば、製造対象物の形状や表面状態の影響でレーザ光が反射されてしまい、当初の想定より実際の吸収率が低い可能性があると考えられる。このような仮定に基づいて内部パラメータ「材料の吸収率」とその調整量が設定されたテーブルを参照して、モデル最適化部１４は、材質に関する内部パラメータのうち材料の吸収率を１００％から９０％に低下させるなどの調整を行う。
あるいは、学習部１６が、差がある項目、その差分、調整すべき内部パラメータとその調整量の関係を学習し、モデル最適化部１４が、その学習結果に基づいてパラメータの調整を行ってもよい。
【００６１】
なお、図１では、各工程が加工装置３ａ〜３ｅによる加工処理で構成されている製造工程αの例を示したが、加工装置による加工処理に限定されない。例えば工程Ｅは、手作業を行う工程でも良い。その場合、例えば、工程Ｅの作業者が中間製造物（最終製造物）の画像を撮影し、その画像をコンピュータ装置で解析した結果をシミュレーション装置１０へ送信するようにしてもよい。また、工程Ｂは工場間などの輸送工程であってもよいし、倉庫等で一定期間保管する保管工程であってもよい。
また、加工装置３ｂがレーザ加工機である場合を例に説明を行ったが、加工装置３ａ等は、レーザ加工機に限定されず、マシニングセンタ、ＮＣ旋盤など他の加工機であってもよい。
【００６２】
図３のフローチャートで説明した処理を行うと、製造結果情報とシミュレーション結果情報の一致度が所定の閾値を上回るときの内部パラメータの値が記憶部１７に蓄積される。この蓄積された情報を利用すると、さらにシミュレータの精度を向上させることができる。例えば、記憶部１７には、一致度が所定の閾値を上回るときのシミュレーションモデルＢの内部パラメータのセットが複数、記憶されている。例えば、内部パラメータのうち、「発振器の出力」、「レンズの透過率」、「材料の吸収率」の値の組み合わせ（内部パラメータのセット）とその組み合わせで工程Ｂのシミュレーション（穴あけ）を実行したときの一致度（穴径の一致度）の例を以下に示す。各値は、左から順に「発振器の出力」、「レンズの透過率」、「材料の吸収率」、「一致度」である。
【００６３】
【表１】
2019101683.tif 000003
【００６４】
学習部１６は、これらの内部パラメータセット１〜４を学習し、シミュレーションモデルＢの内部パラメータ「発振器の出力」、「レンズの透過率」、「材料の吸収率」各々の最適な値を計算する。例えば、学習部１６は、４つの内部パラメータセットの平均値を計算して、その平均値を各内部パラメータの最適値として設定してもよい。あるいは、学習部１６は、一致度による重み付け平均を計算して各内部パラメータの最適値としてもよい。（例えば、「発振器の出力」の最適値は、（９０％×９５％＋９５％×９６％＋１００％×９２％＋９５％×９８％）÷４で計算してもよい。
【００６５】
あるいは、学習部１６は、一致度が閾値を上回るときの加工内容情報と設定条件情報とシミュレーション結果情報とを教師データとして、加工内容情報と設定条件情報を入力したときに、シミュレーション結果情報を出力する論理モデルを機械学習や深層学習の手法（例えば、ニューラルネットワークなど）により構築してもよい。
【００６６】
図６は、本発明に係る一実施形態におけるシミュレーションの精度向上処理について説明する図である。
まず、シミュレーション実行部１２が、図３で説明した最適化処理を行って、製造結果情報とシミュレーション結果情報の一致度が所定の閾値を上回るときの加工内容情報と設定条件情報とシミュレーション結果情報と、内部パラメータの値と、一致度とを対応付けて記憶部１７に蓄積する（ステップＳ３１）。
次に学習部１６が、各工程別に加工内容情報と設定条件情報と内部パラメータの関係を学習し、加工内容情報および設定条件情報ごとに内部パラメータの最適値を計算する（ステップＳ３２）。最適値の計算方法は、例えば、学習部１６が、加工内容情報および設定条件情報の各項目の値が類似するデータごとにグループ分けを行い、同じグループに所属するデータの内部パラメータの値の平均値や一致度による加重平均値を最適値とするといった方法でも良い。学習部１６は、計算した内部パラメータの最適値を、そのグループに分類されるための加工内容情報および設定条件情報の値と対応付けて記憶部１７に記憶する。
【００６７】
次にシミュレーションの実行要求を受け付けると、シミュレーション実行部１２は、ステップＳ３２で計算した内部パラメータの最適値を用いてシミュレーションを実行する（ステップＳ３３）。例えば、シミュレーション実行部１２は、各工程について設定した加工内容情報および設定条件情報に基づいて、今回のシミュレーションにおける加工内容情報および設定条件情報がステップＳ３２で分類したどのグループに該当するかを判定し、該当すると判定されたグループの内部パラメータの最適値を記憶部１７から読み出して、加工内容情報および設定条件情報とともにその工程のシミュレーションモデルに設定する。そして、シミュレーション実行部１２は、その工程のシミュレーションを実行する。これにより、シミュレーションの高精度をより向上することができる。
【００６８】
なお、シミュレーション装置１０の記憶部１７に、様々な加工内容情報、設定条件情報ごとに最適化された内部パラメータの値を蓄積し、これら加工内容情報、設定条件情報、最適化された内部パラメータを組みとする工程別のシミュレータのテンプレートとしてユーザに提供するサービスを行ってもよい。例えば、入出力部１１は、言語の選択を受け付ける画面を表示し、言語が選択されると、最終製造物の加工内容情報や工程別の設定条件情報の入力欄、工程別のテンプレートの選択欄、シミュレーション実行指示ボタンなどを選択された言語で表示した画面を表示する。そして、最終製造物の加工内容情報の入力とシミュレーション実行指示の入力を受け付けると、シミュレーション実行部１２が、入力された最終製造物の加工内容情報に基づいて、各工程のシミュレーションモデルを特定し、さらに選択されたテンプレートにおける内部パラメータの値をその工程のシミュレーションモデルに設定し、シミュレーションを実行する。そして、入出力部１１は、シミュレーション実行部１２による最終製造物のシミュレーション結果情報をディスプレイに表示する。所望のシミュレーション結果が得られた場合、シミュレーション装置１０は、今回のシミュレーションで用いられた加工内容情報、設定条件情報、内部パラメータを新たなシミュレータとして工程別にテンプレート登録を行ってもよい。また、シミュレーション装置１０と、課金システムを連携させ、ユーザがシミュレーションを行う度に課金を行うようにしてもよい。
【００６９】
同様に各工程の加工内容情報、設定条件情報、製造結果情報をユーザに入力させてシミュレーションを最適化し、最適化後のシミュレータを提供するサービスを行ってもよい。これにより、ユーザは、実際に実行する製造工程に適用させたシミュレータによってシミュレーションを行うことができるようになる。
【００７０】
（ハードウェア構成）
シミュレーション装置１０は、一般的なコンピュータ５００を用いて実現することができる。図７にコンピュータ５００の構成の一例を示す。
図７は、本発明に係るシミュレーション装置のハードウェア構成の一例を示す図である。
コンピュータ５００は、ＣＰＵ（Central Processing Unit）５０１、ＲＡＭ（Random Access Memory）５０２、ＲＯＭ（Read Only Memory）５０３、ストレージ装置５０４、外部Ｉ／Ｆ（Interface）５０５、入力装置５０６、出力装置５０７、通信Ｉ／Ｆ５０８等を有する。これらの装置はバスＢを介して相互に信号の送受信を行う。
【００７１】
ＣＰＵ５０１は、ＲＯＭ５０３やストレージ装置５０４等に格納されたプログラムやデータをＲＡＭ５０２上に読み出し、処理を実行することで、コンピュータ５００の各機能を実現する演算装置である。例えば、上記の各機能部は、ＣＰＵ５０１が、ＲＯＭ５０３等が記憶するプログラムを読み込んで実行することにより、コンピュータ５００に備わる機能である。ＲＡＭ５０２は、ＣＰＵ５０１のワークエリア等として用いられる揮発性のメモリである。ＲＯＭ５０３は、電源を切ってもプログラムやデータを保持する不揮発性のメモリである。ストレージ装置５０４は、例えば、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）等により実現され、ＯＳ（Operation System）、アプリケーションプログラム、及び各種データ等を記憶する。外部Ｉ／Ｆ５０５は、外部装置とのインタフェースである。外部装置には、例えば、記憶媒体５０９等がある。コンピュータ５００は、外部Ｉ／Ｆ５０５を介して、記憶媒体５０９の読取り、書き込みを行うことができる。記憶媒体５０９には、例えば、光学ディスク、磁気ディスク、メモリカード、ＵＳＢ（Universal Serial Bus）メモリ等が含まれる。
【００７２】
入力装置５０６は、例えば、マウス、及びキーボード等で構成され、操作者の指示を受けてコンピュータ５００に各種操作等を入力する。出力装置５０７は、例えば、液晶ディスプレイにより実現され、ＣＰＵ５０１による処理結果を表示する。通信Ｉ／Ｆ５０８は、有線通信又は無線通信により、コンピュータ５００をインターネット等のネットワークに接続するインタフェースである。バスＢは、上記各構成装置に接続され、構成装置間で各種信号等を送受信する。
【００７３】
なお、上述したシミュレーション装置１０における各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記憶媒体に記憶されており、このプログラムを、シミュレーション装置１０を実装したコンピュータ５００が読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記憶媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしてもよい。
【００７４】
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記憶されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
また、シミュレーション装置１０は、１台のコンピュータで構成されていても良いし、通信可能に接続された複数のコンピュータで構成されていてもよい。また、制御装置３０ａ〜３０ｅの何れかあるいは全てにシミュレーション装置１０の機能部（シミュレーション実行部１２、製造結果評価部１３、モデル最適化部１４、学習部１６、記憶部１７）を実装してもよい。
【００７５】
その他、本発明の趣旨を逸脱しない範囲で、上記した実施の形態における構成要素を周知の構成要素に置き換えることは適宜可能である。また、この発明の技術範囲は上記の実施形態に限られるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更を加えることが可能である。
シミュレーション装置１０は製造工程シミュレーション装置の一例、シミュレーションシステム１は製造工程シミュレーションシステムの一例、図３の最適化処理は製造工程シミュレーションの最適化方法の一例、最終製造物のシミュレーション結果情報は第１の最終結果の一例、最終製造物の製造結果情報は第２の最終結果の一例である。シミュレーション実行部１２、及びモデル最適化部１４は算出部の一例である。差異工程特定部１５は特定部の一例である。通信部１８は取得部の一例である。製造結果評価部１３は評価部の一例である。加工装置３ａ〜３ｅは加工機械の一例である。シミュレーションモデルの内部パラメータの調整は、加工シミュレーションの条件の適正化方法の一例である。
【符号の説明】
【００７６】
１・・・シミュレーションシステム
２、２ａ、２ｂ・・・ＣＡＤシステム
３、３ａ、３ｂ・・・加工装置
１０・・・シミュレーション装置
１１・・・入出力部
１２・・・シミュレーション実行部
１３・・・製造結果評価部
１４・・・モデル最適化部
１５・・・差異工程特定部
１６・・・学習部
１７・・・記憶部
１８・・・通信部
３０、３０ａ・・・制御装置
３１、３１ａ・・・入出力部
３２、３２ａ・・・ＣＡＭシステム
３３、３３ａ・・・センサデータ処理部
３４、３４ａ・・・加工装置制御部
３５、３５ａ・・・設定条件判定部
３６、３６ａ・・・通信部
３７、３７ａ・・・記憶部
３８、３８ａ・・・加工実行装置
３９、３９ａ・・・センサ
【図１】
2019101683.tif 000004
【図２】
2019101683.tif 000005
【図３】
2019101683.tif 000006
【図４】
2019101683.tif 000007
【図５】
2019101683.tif 000008
【図６】
2019101683.tif 000009
【図７】
2019101683.tif 000010