以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。なお、以下で説明される各実施の形態および各変形例は、適宜選択的に組み合わされてもよい。
<A.付加加工装置100>
最初に、図1を参照して、実施の形態に従う付加加工装置100について説明する。図1は、付加加工装置100を示す正面図である。
理解を容易にするために、以下では、水平面上の一方向を「X方向」と称し、X方向に直交する水平面上の方向を「Y方向」と称し、X方向およびY方向の両方に直交する方向(すなわち、重力方向)を「Z方向」と称する。
付加加工装置100は、ワークの付加加工(AM(Additive manufacturing)加工)と、ワークの除去加工(SM(Subtractive manufacturing)加工)とが可能なAM/SMハイブリッド加工機である。付加加工装置100は、SM加工の機能として、回転工具を用いたミーリング機能を有する。
以下では、付加加工装置100の一例として、ミーリング機能を有するAM/SMハイブリッド加工機について説明を行なうが、付加加工装置100は、これに限定されない。一例として、付加加工装置100は、ミーリング機能の代わりに、固定工具を用いた旋削機能を有するAM/SMハイブリッド加工機であってもよい。あるいは、付加加工装置100は、ミーリング機能と旋削機能との両方を有するAM/SMハイブリッド加工機であってもよい。あるいは、付加加工装置100は、3Dプリンタなどの、除去加工機能を有さない装置であってもよい。
付加加工装置100は、機械ベッド11を備える。機械ベッド11上には、旋回テーブル12が設けられている。旋回テーブル12は、回転テーブル13を有する。回転テーブル13は、旋回テーブル12に回転可能に取り付けられている。回転テーブル13上には、付加加工対象のワークWがクランプされる。
一例として、付加加工装置100は、回転テーブル13上にクランプされたワークWの回転に関して制御可能な2つの軸線(旋回軸線および回転軸線)を有する。旋回軸線は、機械ベッド11の上面に平行な軸線である。回転軸線は、旋回テーブル12の上面に直交する軸線である。回転テーブル13は、旋回軸線回りおよび回転軸線回りに回転可能に構成される。
付加加工装置100は、第1スライド機構14を有する。第1スライド機構14は、機械ベッド11の後側の機械コラムに配置される。第1スライド機構14は、当該機械コラムに取り付けられたスライドガイドに沿ってX方向に移動可能に構成される。
第1スライド機構14には、Y方向にアライメントされた複数のスライドガイドが配置される。第2スライド機構15は、当該複数のスライドガイドに沿ってY方向に移動可能に構成される。
第2スライド機構15には、除去加工用ヘッド16が設けられている。除去加工用ヘッド16は、第2スライド機構15に沿ってZ方向に駆動可能に構成される。付加加工装置100は、X方向における第1スライド機構14の駆動と、Y方向における第2スライド機構15の駆動と、Z方向における除去加工用ヘッド16の駆動とを制御することにより、X方向、Y方向、およびZ方向の任意の位置に除去加工用ヘッド16を駆動する。これらの駆動は、たとえば、サーボモータなどにより駆動される。
付加加工装置100は、工具18Aや測定機構125などの様々なユニットを収容するマガジン18と、自動工具交換装置(ATC:Automatic Tool Changer)19とを有する。工具18Aや測定機構125は、未使用時には、マガジン18に収容されている。自動工具交換装置19は、工具交換指示を受け付けたことに基づいて、装着対象のユニットをマガジン18から引き抜き、当該ユニットを主軸124に装着する。
図1の例では、マガジン18から選択された測定機構125が主軸124に装着されている。図1には、タッチプローブとして測定機構125が示されている。測定機構125は、測定子126を有する。測定子126は、除去加工用ヘッド16と連動して、X方向、Y方向、およびZ方向に駆動される。測定機構125は、測定子126とワークとの接触時点における測定子126の移動量を読み取ることで、測定子126とワークとの接触位置を測定する。測定機構125は、予め定められた基準点から当該接触位置までのZ方向における距離をワークの実寸法として測定する。
なお、測定機構125は、接触式の位置測定器に限定されず、非接触式の位置測定器であってもよい。非接触式の位置測定器の一例としては、変位センサ、3Dスキャナ、カメラなどが挙げられる。
付加加工装置100は、DED方式により付加加工を行なうためのレーザヘッド21をさらに有する。レーザヘッド21は、付加加工中のワークWに金属粉末を供給するとともに、ワーク表面にレーザ光を照射する。
レーザヘッド21は、ヘッド本体22と、レーザツール26とを有する。ヘッド本体22には、ケーブル31を介して金属粉末が供給される。レーザツール26は、ワークに向けてレーザ光を照射するとともに、ワークにおけるレーザ光の照射領域を定める。レーザヘッド21に供給された金属粉末は、ノズル(図示しない)を通じてワークに向けて吐出される。
レーザヘッド21は、第3スライド機構24に設けられる。第3スライド機構24は、スライドガイド23に設けられ、Y方向に駆動可能に構成される。レーザヘッド21は、第3スライド機構24の駆動に連動してY方向の任意の位置に駆動される。レーザヘッド21は、付加加工時において、主軸124の下方に位置するように駆動され、主軸124に取り付けられる。主軸124に装着されたレーザヘッド21は、除去加工用ヘッド16と連動して、X方向、Y方向、およびZ方向に駆動される。
<B.レーザヘッド21>
図2を参照して、レーザヘッド21による付加加工について説明する。図2は、付加加工中におけるレーザヘッド21の断面図を示す。
図2には、付加加工中のワークWが基準面140上に示されている。基準面140は、任意の物体の表面を表わす。一例として、基準面140は、基板の表面であってもよいし、付加加工中のワークの表面であってもよい。
レーザヘッド21は、Y方向に移動しながら、金属粉末312をワークWに供給する。供給された金属粉末312は、レーザヘッド21から吐出されるガス313によってレーザ光311の焦点位置に導かれる。これにより、金属粉末312は、ワークW上で融解し、メルトプール314がワークWの表面に形成される。メルトプール314は、金属粉末312とワークWとが融解および液状化している箇所である。融解した金属粉末312とワークWとが固まることで、ワークW上に層SLが形成される。
層SLの付加加工が終了すると、レーザヘッド21は、付加加工装置100の制御プログラム上で規定される所定の高さ指令値に従って、ワークWの積層方向に駆動される。「積層方向」とは、積層面に直交する方向を意味する。以下では、積層方向がZ方向(すなわち、重力方向)であることを前提として説明を行なうが、積層方向は、Z方向に限定されない。
Y方向の駆動とZ方向との駆動とが繰り返されることで、金属粉末312がウォール状に積層されていく。Z方向におけるレーザヘッド21の駆動量が、形成した層SLの高さと一致していない場合、レーザ光311の焦点位置は、積層の度にワーク表面からずれることになる。その結果、造形精度が低下する。一方で、Z方向におけるレーザヘッド21の駆動量が、形成した層SLの高さと一致している場合には、レーザ光311の焦点が常にワーク表面上に位置することになり、造形精度が低下しない。そのため、Z方向におけるレーザヘッド21の駆動量は、形成した層SLの高さと一致していることが好ましい。
<C.用語の定義>
次に、理解を容易にするために、図3を参照して、本明細書で用いる用語の定義について説明する。図3は、付加加工中のワークWを示す斜視図である。
以下では、ワークWの積層数を「N」と定義する。積層数「N」は、基準面140に形成された第1層目からの層の総数を表わす。
また、指令積層高さを「LHc」(指令値)と定義する。指令積層高さ「LHc」は、レーザヘッド21のZ方向におけるワーク一層当たりの駆動量を表わす。すなわち、付加加工装置100は、ワークWの各層の付加加工が終了する度に、指令積層高さ「LHc」に従って、レーザヘッド21をZ方向に駆動する。典型的には、指令積層高さ「LHc」は、付加加工装置100内の制御プログラムにおいて定義されている。
また、実績層高さを「LHa」と定義する。実績層高さ「LHa」は、ワークW上に形成された一層(すなわち、シングルライン)の実際の高さを表わす。
また、指令高さを「Hc」と定義する。指令高さ「Hc」は、付加加工装置100が認識している、基準面140からのZ方向におけるワークWの高さを表わす。指令高さ「Hc」は、付加加工装置100に指令するワークWの高さである。指令高さ「Hc」は、基準面140からのレーザ光311の焦点の高さと一致する。具体的には、指令高さ「Hc」は、下記の式(1)で表わされる。
また、ワークWの実高さを「Ha」と定義する。実高さ「Ha」は、基準面140からワーク表面までのZ方向におけるワークWの実際の高さを表わす。すなわち、実高さ「Ha」は、下記式(2)に示されるように、第1層目から第N層目までの実績層高さ「LHa(N)」の積算値で表わされる。
また、高さ誤差を「EH」と定義する。高さ誤差「EH」は、ワークWの実高さ「Ha」と、付加加工装置100が認識しているワークWの指令高さ「Hc」との差を表わす。具体的には、高さ誤差「EH」は、下記の式(3)で表わされる。
また、理想的な指令積層高さを「LHc,ideal」と定義する。理想的な指令積層高さ「LHc,ideal」は、下記式(4)に示されるように、高さ誤差「EH」がゼロのときにおける指令積層高さ「LHc」に一致する。
また、指令積層高さ誤差を「ELH」と定義する。指令積層高さ誤差「ELH」は、指令積層高さ「LHc」と、理想的な指令積層高さ「LHc,ideal」との間の差を表わす。具体的には、指令積層高さ誤差「ELH」は、下記の式(5)で表わされる。
なお、上記では、「高さ」との用語を用いているが、本明細書で用いている「高さ」との概念は、「寸法」の一例である。「寸法」との概念は、Z方向におけるワークの高さだけでなく、水平方向などの様々な方向におけるワークの幅を含む。
<D.原理説明>
図4は、実高さ「Ha」と指令高さ「Hc」と高さ誤差「EH」との関係を視覚的に示す図である。
上述のように、高さ誤差「EH」は、実高さ「Ha」と指令高さ「Hc」との差に相当する。この高さ誤差「EH」が許容値を超えると、造形精度が低下する。そのため、付加加工装置100は、高さ誤差「EH」が許容値を超える前にワークWの実高さ「Ha」を測定機構125に測定させ、測定した実高さ「Ha」に合わせて指令高さ「Hc」を補正する必要がある。以下では、測定した実高さ「Ha」に基づいて、パラメータの誤差を補正する処理を「フィードバック処理」とも称する。
理想的には、フィードバック処理は、一層ごとに実行することが好ましい。しかしながら、ワークWの高さ測定の間隔が短いと、付加加工にかかる時間が長くなってしまう。一方で、ワークの高さ測定の間隔が長いと、高さ誤差「EH」が許容値を超えてしまい、ワークの造形精度が低下してしまう可能性がある。
そのため、フィードバック処理は、高さ誤差「EH」が許容値を超える前に実行される必要がある。これにより、ワークの高さ測定の回数を減らしつつ、ワークの造形精度の低下を抑えることが可能になる。これを実現するためには、高さ誤差「EH」が許容値を超えそうな積層数を推定する必要がある。
発明者らは、高さ誤差「EH」が許容値を超えそうな積層数を推定するために、高さ誤差「EH」が積層数に応じてどのように変化するのかを実験により調べた。その実験の結果、発明者らは、積層数が少ない段階では、高さ誤差「EH」が指令積層高さ「LHc」の誤差の分、一層ごとに積算されることを発見した。加えて、発明者らは、積層数が多くなるにつれて、高さ誤差「EH」が一定値に収束することを発見した。これらの発見自体が新規である。
これらのことを証明するために、発明者らは、指令積層高さ「LHc」に誤差があるときに、高さ誤差「EH」が積層数「N」に応じてどのように変化するのかを実験により調べた。以下では、図5を参照して、当該実験について説明する。図5は、積層数「N」が100層に達するまでの高さ誤差「EH」の推移を複数の積層条件について示す図である。
以下では、5層目のシングルラインの複数箇所における高さの平均を「μ」とし、当該複数箇所における高さの標準偏差を「σ」として表わす。
図5には、指令積層高さ「LHc」を「μ」に設定した場合における高さ誤差「EH」の推移がグラフG1として「*」印で示されている。指令積層高さ「LHc」が「μ」に設定されるということは、形成された層の高さの分だけ、レーザヘッド21がZ方向に駆動されることを意味する。グラフG1においては、高さ誤差「EH」は、ゼロ付近で推移している。
また、図5には、指令積層高さ「LHc」を「μ-σ」に設定した場合における高さ誤差「EH」の推移がグラフG2として「○」印で示されている。指令積層高さ「LHc」が「μ-σ」に設定されるということは、Z方向におけるレーザヘッド21の駆動量が一層当たり「σ」だけずれていることを意味する。すなわち、この場合には、指令積層高さ誤差「ELH」が「σ」となる。
グラフG2においては、積層数「N」が30層になる前の初期段階では、高さ誤差「EH」は、一層ごとに誤差「σ」ずつ積算されている。換言すれば、高さ誤差「EH」の一層当たりの変化率は、誤差「σ」となっている。積層数「N」が50層を超えると、高さ誤差「EH」は、一定値に収束している。
図6は、積層数「N」に応じた高さ誤差「EH」の推移を示すグラフである。図6に示されるように、高さ誤差「EH」の一層当たりの変化率は、指令積層高さ誤差「ELH」を超えない。
この点に着目すると、指令積層高さ誤差「ELH」の最大値(以下、最大誤差「max|ELH|」ともいう。)を推定することができれば、高さ誤差「EH」が許容値を超える前の積層数を推定することができる。より具体的には、高さ誤差「EH」の許容値を「d」とした場合、高さ誤差「EH」が許容値「d」を超える前の積層数「Nf」は、下記の式(6)で表わされる。
積層数が「Nf」に達するまでは、高さ誤差「EH」が許容値「d」を超えることがなく、フィードバック処理を行なう必要がない。そのため、付加加工装置100は、積層数が「Nf」に達するまではフィードバック処理を実行せずに、積層数が「Nf」に達した時点でフィードバック処理を実行する。これにより、付加加工装置100は、造形精度を担保しつつ、ワークの高さ測定の回数を減らすことができる。
なお、許容値「d」は、初期設定時などに予め設定されていてもよいし、ユーザによって任意に設定されてもよい。
また、積層数「Nf」は、必ずしも上記式(6)に基づいて決定される必要はない。積層数「Nf」は、許容値「d」を最大誤差「max|ELH|」で除算した値以下であればよい。
<E.フィードバック処理の実行タイミングの決定方法>
上記式(6)によれば、次のフィードバック処理の実行タイミングを決定するためには、最大誤差「max|ELH|」を推定する必要がある。そのために、付加加工装置100は、測定機構125から得られたワークの実高さ「Ha」を少なくとも用いて、最大誤差「max|ELH|」を推定する。
より具体的には、まず、付加加工装置100は、ワークの積層数が所定数(第1の積層数)に達した第1のタイミングにおいて、測定機構125によるワークの実高さを測定させる処理を実行する。次に、付加加工装置100は、当該第1のタイミングにおいて測定されたワークの実高さ「Ha」を少なくとも用いて、最大誤差「max|ELH|」を推定する処理を実行する。その後、付加加工装置100は、推定した最大誤差「max|ELH|」に基づいて、上記第1のタイミングの次に測定機構125に測定処理を実行させるべき第2のタイミングを示す積層数「Nf」を決定する処理を実行する。
典型的には、付加加工装置100は、1回目のフィードバック処理時と2回目以降のフィードバック処理時とで、最大誤差「max|ELH|」の推定方法を変える。
より具体的には、1回目のフィードバック処理時においては、付加加工装置100は、一層の高さ測定結果を用いて、最大誤差「max|ELH|」を推定する。2回目以降のフィードバック処理時においては、付加加工装置100は、二層以上の高さ測定結果を用いて、最大誤差「max|ELH|」を推定する。
以下では、1回目のフィードバック処理時における積層数「Nf」の決定方法と、2回目以降のフィードバック処理時における積層数「Nf」の決定方法とについて順に説明する。
(E1.積層数「Nf」の決定方法1)
まず、1回目のフィードバック処理時における積層数「Nf」の決定方法について説明する。
最初に、付加加工装置100は、予め定められた指令積層高さ「LHc」に従って、付加加工処理を実行する。次に、ワークの積層数が所定数(≧1)に達した所定のタイミングにおいて、付加加工装置100は、ワークの複数箇所の実高さ「Ha」を測定機構125に測定させる。その後、付加加工装置100は、当該複数箇所について測定されたワークの実高さ「Ha」に基づいて、各箇所における実積層高さ「LHa」を算出する。
ある局面において、付加加工装置100は、付加加工の開始時点では、測定機構125による測定処理を複数箇所について一層ごとに実行し、今回の測定結果の各々から、同箇所における前回の測定結果を差分することで、各箇所における実積層高さ「LHa」を算出する。好ましくは、付加加工装置100は、シングルライン(1層)のみ付加加工を行なう。この場合、付加加工装置100は、当該シングルラインの各箇所における測定機構125の測定結果を実積層高さ「LHa」として取得する。
他の局面において、付加加工装置100は、各箇所について測定されたワークの実高さ「Ha」を現在の積層数で除算することで、各箇所における実積層高さ「LHa」を算出する。
その後、付加加工装置100は、実積層高さ「LHa」の測定値を標本として、シングルラインの各箇所における実積層高さ「LHa」の平均値と、当該各箇所における実積層高さ「LHa」の標準偏差とを算出する。次に、付加加工装置100は、下記式(7)に従って、当該平均値から当該標準偏差を差分し、当該差分結果を指令積層高さ「LHc,0」として付加加工装置100に設定する。
上記式(7)に示されるオーバーライン付きの「x」は、シングルラインの実積層高さ「LHa」の平均値を示す。「s」は、シングルラインの実積層高さ「LHa」の標準偏差を示す。
上記式(7)に示されるように、付加加工装置100は、算出した平均値を基準として、指令積層高さ「LHc,0」を更新する。なお、上記式(7)には、シングルラインの実高さの平均値から標準偏差を差分した値を指令積層高さ「LHc,0」として設定する例が示されているが、設定される指令積層高さ「LHc,0」は、これに限定されない。一例として、付加加工装置100は、算出した平均値を指令積層高さ「LHc,0」に設定してもよいし、当該平均値から当該標準偏差のN倍を差分した値を指令積層高さ「LHc,0」に設定してもよい。
続いて、付加加工装置100は、シングルラインの実高さの母平均「μ」の95%信頼区間に基づいて、最大誤差「max|ELH,0|」を推定する。なお、当該信頼区間のパーセンテージは、必ずしも95%である必要はなく、たとえば、80%以上であってもよい。最大誤差「max|ELH,0|」は、下記式(8)に基づいて推定される。
式(8)に示される「n」は、シングルラインの測定箇所の数を示す。「t0.025(n-1)」は、自由度が(n-1)であるt分布の95%信頼区間を求める際に用いる上側2.5%の点におけるt値を示す。
付加加工装置100は、式(8)に示される右辺の値を最大誤差「max|ELH,0|」と見なし、当該値を上記式(6)に代入する。その結果、付加加工装置100は、下記式(9)に基づいて、次の測定タイミングを示す積層数「Nf,1」を算出することとなる。
以上のように、本例では、ワークの積層数が所定数(≧1)に達したタイミングにおいて、測定機構125は、ワークの複数箇所の実高さを測定する。次に、付加加工装置100は、当該複数箇所について測定されたワークの実高さに基づいて、ワークのシングルラインの実高さの標準偏差を算出する。続いて、付加加工装置100は、当該算出した標準偏差に基づいて、最大誤差「max|ELH,0|」を推定する。その後、付加加工装置100は、算出した最大誤差「max|ELH,0|」に基づいて、測定機構125による次の測定タイミングを示す積層数「Nf,1」を算出する。
なお、上述では、当該算出処理が1回目のフィードバック処理時において実行される前提で説明を行なったが、当該算出処理は、2回目以降のフィードバック処理時に行なわれてもよい。
(E2.積層数「Nf」の決定方法2)
次に、図7および図8を参照して、2回目以降のフィードバック処理時における積層数「Nf」の決定方法について説明する。
図7は、m-1回目のフィードバック処理時に測定された実高さ「Ha,m-1」と、m回目のフィードバック処理時に測定された実高さ「Ha,m」との関係を視覚的に示す図である。
付加加工装置100は、実高さ「Ha,m-1」と実高さ「Ha,m」とに基づいて、指令積層高さ「LHc」を更新する。より具体的には、付加加工装置100は、まず、下記式(10)に示されるように、実高さ「Ha,m」から実高さ「Ha,m-1」を差分する。次に、付加加工装置100は、当該差分結果を積層数「Nf,m」で除算し、当該除算結果を新たな指令積層高さ「LHc,m」として算出する。なお、積層数「Nf,m」は、m-1回目のフィードバック処理時からm回目のフィードバック処理時までの間にワークに形成された層数を表わす。
更新後の指令積層高さ「LHc,m」を用いた場合の指令積層高さ誤差「ELH,m」は、更新前の指令積層高さ「LHc,m-1」を用いた場合の指令積層高さ誤差「ELH,m-1」よりも小さくなる。すなわち、下記の式(11)の関係が成り立つ。
図8は、積層数「N」に応じた高さ誤差「EH」の推移を示すグラフである。図8の例では、積層数が「Nf,1」に到達したタイミングT1と、積層数が「Nf,1+Nf,2」に到達したタイミングT2とにおいて、フィードバック処理が行なわれている。その結果、タイミングT1,T2において、高さ誤差「EH」がゼロになっている。
上記式(11)によれば、「Nf,1」層分の付加加工の間に積算される高さ誤差「EH,1」は、次の「Nf,2」層分の付加加工の間に積算される高さ誤差「EH,2」よりも小さくなる。この点に着目して、付加加工装置100は、下記式(12)に示されるように、更新前の指令積層高さ誤差「ELH,m-1」を最大誤差「max|ELH|」とみなす。
次に、付加加工装置100は、下記式(13)に基づいて、新たな指令積層高さ誤差「ELH,m-1」を算出する。
続いて、付加加工装置100は、下記式(14)に基づいて、次の測定タイミングを示す積層数「Nf,m+1」を算出する。
以上のように、本例では、付加加工装置100は、高さ誤差「EH,m」を積層数「Nf,m」で除算し、当該除算結果を最大誤差「max|ELH|」として算出する。その後、付加加工装置100は、算出した最大誤差「max|ELH|」に基づいて、次の測定タイミングを示す積層数「Nf,m+1」を算出する。
<F.シミュレーション結果>
発明者らは、上述のフィードバック処理の有効性をシミュレーションにより確認した。以下では、当該シミュレーションの結果について説明する。
発明者らは、付加加工条件を変えて、4パターンのシミュレーションを行なった。以下では、4パターンのシミュレーション結果1~4について順に説明する。
なお、シミュレーション1~4の共通の付加加工条件として、発明者らは、目標積層数を100層とし、シングルラインの測定点を10点とし、ワーク(ウォール)の高さを10点の測定点の最小値とし、シングルラインの実高さの平均を0.425mmとし、シングルラインの実高さの標準偏差を0.0465mmとし、理想的な指令積層高さを「LHc,ideal」0.4111mmとした。
(F1.シミュレーション結果1)
まず、シミュレーション結果1について説明する。図9は、付加加工条件1に基づくシミュレーション結果1を示す図である。
付加加工条件1として、発明者らは、初期の指令積層高さ「LHc,0」を0.364mmに設定し、高さ誤差「EH」の許容値「d」を1.0mmに設定した。
シミュレーションの結果、1回目のフィードバック処理時において指令積層高さ「LHc,1」が0.401mmに設定され、2回目のフィードバック処理時において指令積層高さ「LHc,2」が0.409mmに設定された。
シミュレーション結果1では、高さ誤差「EH」が許容値「d」を超える前に、フィードバック処理が実行されている。また、フィードバック処理が実行される度に、高さ誤差「EH」がゼロに近付いている。すなわち、指令積層高さ「LHc」が最適値に近付いている。
(F2.シミュレーション結果2)
次に、シミュレーション結果2について説明する。図10は、付加加工条件2に基づくシミュレーション結果2を示す図である。
付加加工条件2として、発明者らは、初期の指令積層高さ「LHc,0」を0.458mmに設定し、高さ誤差「EH」の許容値「d」を1.0mmに設定した。
シミュレーションの結果、1回目のフィードバック処理時において指令積層高さ「LHc,1」が0.407mmに設定され、2回目のフィードバック処理時において指令積層高さ「LHc,2」が0.409mmに設定された。
シミュレーション結果2では、高さ誤差「EH」が許容値「d」を超える前に、フィードバック処理が実行されている。また、フィードバック処理が実行される度に、高さ誤差「EH」がゼロに近付いている。すなわち、指令積層高さ「LHc」が最適値に近付いている。
(F3.シミュレーション結果3)
次に、シミュレーション結果3について説明する。図11は、付加加工条件3に基づくシミュレーション結果3を示す図である。
付加加工条件3として、発明者らは、初期の指令積層高さ「LHc,0」を0.364mmに設定し、高さ誤差「EH」の許容値「d」を0.4mmに設定した。
シミュレーションの結果、1回目のフィードバック処理時において指令積層高さ「LHc,1」が0.401mmに設定され、2回目のフィードバック処理時において指令積層高さ「LHc,2」が0.416mmに設定され、3回目のフィードバック処理時において指令積層高さ「LHc,3」が0.414mmに設定された。
上記シミュレーション結果1,2と比較すると、シミュレーション結果3では、許容値「d」が1.0mmから0.4mmになっているため、フィードバック処理の実行回数が2回から3回に増加している。シミュレーション結果3においても、高さ誤差「EH」が許容値「d」を超える前にフィードバック処理が実行されている。
(F4.シミュレーション結果4)
次に、シミュレーション結果4について説明する。図12は、付加加工条件4に基づくシミュレーション結果4を示す図である。
付加加工条件4として、発明者らは、初期の指令積層高さ「LHc,0」を0.458mmに設定し、高さ誤差「EH」の許容値「d」を0.4mmに設定した。
シミュレーションの結果、1回目のフィードバック処理時において指令積層高さ「LHc,1」が0.402mmに設定され、2回目のフィードバック処理時において指令積層高さ「LHc,2」が0.416mmに設定され、3回目のフィードバック処理時において指令積層高さ「LHc,3」が0.414mmに設定された。
シミュレーション結果4においても、高さ誤差「EH」が許容値「d」を超える前に、フィードバック処理が実行されている。
<G.付加加工装置100のハードウェア構成>
図13を参照して、付加加工装置100のハードウェア構成の一例について説明する。図13は、付加加工装置100の主要なハードウェア構成を示すブロック図である。
付加加工装置100は、レーザヘッド21と、制御装置101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、記憶装置120と、主軸124と、上述の測定機構125と、サーボドライバ141A~141Dと、サーボモータ142A~142Dと、エンコーダ143A~143Dとを含む。これらの機器は、バス(図示しない)を介して接続されている。
制御装置101は、少なくとも1つの集積回路によって構成される。集積回路は、たとえば、少なくとも1つのCPU(Central Processing Unit)、少なくとも1つのPLC(Programmable Logic Controller)、少なくとも1つのCNC(Computer Numerical Control)、少なくとも1つのMPU(Micro Processing Unit)、少なくとも1つのASIC、少なくとも1つのFPGAまたはそれらの組み合わせなどによって構成される。
制御装置101は、制御プログラム122など各種プログラムを実行することで付加加工装置100の動作を制御する。制御装置101は、制御プログラム122の実行命令を受け付けたことに基づいて、記憶装置120からROM102に制御プログラム122を読み出す。RAM103は、ワーキングメモリとして機能し、制御プログラム122の実行に必要な各種データを一時的に格納する。
制御装置101は、制御プログラム122に従ってサーボドライバ141Aを制御する。サーボドライバ141Aは、制御装置101から目標回転数(または目標位置)の入力を逐次的に受け、サーボモータ142Aが目標回転数で回転するようにサーボモータ142Aを制御し、第1スライド機構14をX軸方向に駆動する。より具体的には、サーボドライバ141Aは、エンコーダ143Aのフィードバック信号からサーボモータ142Aの実回転数(または実位置)を算出し、当該実回転数が目標回転数よりも小さい場合にはサーボモータ142Aの回転数を上げ、当該実回転数が目標回転数よりも大きい場合にはサーボモータ142Aの回転数を下げる。このように、サーボドライバ141Aは、サーボモータ142Aの回転数のフィードバックを逐次的に受けながらサーボモータ142Aの回転数を目標回転数に近付ける。サーボドライバ141Aは、第1スライド機構14をX軸方向に移動し、主軸124に取り付けられたレーザヘッド21をX軸方向の任意の位置に移動する。
同様のモータ制御により、サーボドライバ141Bは、制御装置101からの制御指令に従って第2スライド機構15をY軸方向に移動し、主軸124に取り付けられたレーザヘッド21をY軸方向の任意の位置に移動する。同様のモータ制御を行うことにより、サーボドライバ141Cは、制御装置101からの制御指令に従って除去加工用ヘッド16をZ軸方向に移動し、主軸124に取り付けられたレーザヘッド21をZ軸方向の任意の位置に移動する。同様のモータ制御を行うことにより、サーボドライバ141Dは、制御装置101からの制御指令に従って、主軸124の回転速度を制御する。
付加加工装置100は、さらに、上述の回転テーブル13(図1参照)を旋回軸線周りに駆動ための第1駆動機構(図示しない)を含む。当該旋回軸線は、機械ベッド11(図1参照)の上面に平行な軸線である。第1駆動機構は、サーボドライバ、サーボモータ、およびエンコーダなどで構成される。当該サーボドライバは、サーボドライバ141Aと同様のモータ制御により、制御装置101からの制御指令に従って、回転テーブル13の旋回軸周りの回転角度を制御する。
付加加工装置100は、さらに、上述の回転テーブル13(図1参照)を回転軸線周りに駆動ための第2駆動機構(図示しない)を含む。当該回転軸線は、旋回テーブル12の上面に直交する軸線である。第2駆動機構は、サーボドライバ、サーボモータ、およびエンコーダなどで構成される。当該サーボドライバは、サーボドライバ141Aと同様のモータ制御により、制御装置101からの制御指令に従って、回転テーブル13の回転軸周りの回転角度を制御する。
記憶装置120は、たとえば、ハードディスクやフラッシュメモリなどの記憶媒体である。記憶装置120は、制御プログラム122などを格納する。制御プログラム122は、たとえば、付加加工用のプログラムコードや除去加工用のプログラムコードなどを含む。付加加工用のプログラムコードは、上述の指令積層高さ「LHc」、上述の指令高さ「Hc」、付加加工処理によるワークの最終的な目標高さ、付加加工処理によるワークの最終的な目標積層数などを含む。
制御プログラム122の格納場所は、記憶装置120に限定されず、制御装置101の記憶領域(たとえば、キャッシュ領域など)、ROM102、RAM103、外部機器(たとえば、サーバー)などに格納されていてもよい。
制御プログラム122は、単体のプログラムとしてではなく、任意のプログラムの一部に組み込まれて提供されてもよい。この場合、制御プログラム122による上述のフィードバック処理は、任意のプログラムと協働して実現される。このような一部のモジュールを含まないプログラムであっても、本実施の形態に従う制御プログラム122の趣旨を逸脱するものではない。さらに、制御プログラム122によって提供される機能の一部または全部は、専用のハードウェアによって実現されてもよい。さらに、少なくとも1つのサーバーが制御プログラム122の処理の一部を実行する所謂クラウドサービスのような形態で付加加工装置100が構成されてもよい。
<H.制御フロー>
図14および図15を参照して、付加加工装置100の制御フローについて説明する。図14は、1回目に実行されるフィードバック処理を示すフローチャートである。図15は、2回目以降に実行されるフィードバック処理を示すフローチャートである。
図14および図15に示される処理は、付加加工装置100の制御装置101が上述の制御プログラム122を実行することにより実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。
ステップS110において、制御装置101は、ワークの総積層数「N」を0に初期化する。
ステップS112において、制御装置101は、総積層数「N」をカウントアップする。すなわち、制御装置101は、総積層数「N」の値を1増加する。
ステップS114において、制御装置101は、上述のレーザヘッド21(図1参照)を制御して、第N層目の付加加工を実行する。
ステップS116において、制御装置101は、測定機構125に測定実行指令を出力し、複数箇所についてのワークの実高さ「Ha(N)」を取得する。「Ha(N)」は、第N層目の付加加工が終了した時点における基準面140からワーク表面までの実高さを示す。
ステップS118において、制御装置101は、第N層目の複数箇所についてシングルラインの実高さ「LHa(N)」を算出する。より具体的には、総積層数「N」が1であるときには、制御装置101は、ステップS116で測定された実高さ「Ha(N)」をシングルラインの実高さ「LHa(N)」として用いる。総積層数「N」が2以上であるときには、制御装置101は、ステップS116で今回測定された実高さ「Ha(N)」から、ステップS116で前回測定された実高さ「Ha(N-1)」を差分し、当該差分結果をシングルラインの実高さ「LHa(N)」として算出する。
付加加工の序盤では、シングルラインの実高さが安定していないので、制御装置101は、ステップS120において、シングルラインの実高さが安定したか否かを判断する。より具体的には、制御装置101は、第N層目のシングルラインの実高さ「LHa(N)」と、第N-1層目のシングルラインの実高さ「LHa(N-1)」との差が所定閾値「th」よりも小さいか否かを判断する。制御装置101は、当該差が所定閾値「th」よりも小さいと判断した場合(ステップS120においてYES)、制御をステップS122に切り替える。そうでない場合には(ステップS120においてNO)、制御装置101は、制御をステップS112に戻す。
ステップS122において、制御装置101は、第N層目のシングルラインの実高さ「LHa(N)」の平均値と標準偏差とを算出する。当該平均値は、上記式(7)に示されるオーバーライン付きの「x」に相当する。当該標準偏差は、上記式(7)に示される「s」に相当する。
ステップS124において、制御装置101は、上記式(7)に従って、算出した平均値から標準偏差を差分し、当該差分結果を指令積層高さ「LHc,0」として付加加工装置100に設定する。
ステップS126において、制御装置101は、上記式(9)に従って、測定機構125の次の測定タイミングを示す積層数「Nf,1」を算出する。
ステップS128において、制御装置101は、上述のステップS116で測定されたワークの実高さ「Ha(N)」を、ワークの実高さ「Ha,0」に代入する。
ステップS130において、制御装置101は、フィードバック処理の実行回数に相当する変数「m」を1に初期化する。
ステップS140において、制御装置101は、ワークの実高さ「Ha,m」が目標高さを超えそうか否かを判断する。一例として、制御装置101は、現在の総積層数「N」と目標積層数との差が所定数よりも小さいときに、ワークの実高さ「Ha,m」が目標高さを超えそうと判断する。制御装置101は、ワークの実高さ「Ha,m」が目標高さを超えそうと判断した場合(ステップS140においてYES)、制御をステップS160に切り替える。そうでない場合には(ステップS140においてNO)、制御装置101は、制御をステップS142に切り替える。
ステップS142において、制御装置101は、上述のレーザヘッド21(図1参照)を制御して、ステップS126で算出した積層数「Nf,1」分の付加加工を実行する。その後、制御装置101は、積層数「Nf,1」を総積層数「N」に加算し、総積層数「N」を更新する。
ステップS146において、制御装置101は、測定機構125に測定実行指令を出力し、ワークの実高さ「Ha,m」を測定機構125から取得する。このとき、制御装置101は、複数箇所についてワークの実高さを取得してもよいし、1箇所についてワークの実高さを取得してもよい。
ステップS148において、制御装置101は、上記式(10)に従って、ワークの実高さ「Ha,m-1」,「Ha,m」に基づいて、指令積層高さ「LHc,m」を更新する。
ステップS150において、制御装置101は、上記式(3)に従って、ワークの実高さ「Ha,m」と指令高さ「Hc,m」との間の高さ誤差「EH,m」を算出する。
ステップS152において、制御装置101は、上記式(14)に従って、測定機構125の次の測定タイミングを示す積層数「Nf,m+1」を算出する。
ステップS154において、制御装置101は、高さ誤差「EH,m」がゼロになるように、レーザヘッド21の焦点位置および制御プログラム122(NCコード)を補正する。一例として、制御装置101は、ワークの実高さ「Ha,m」に合わせて指令高さ「Hc,m」を補正する。また、制御装置101は、更新後の指令積層高さ「LHc,m」に基づいて、目標積層数を更新する。より具体的には、制御装置101は、ワークの現在の実高さからワークの目標高さまでの残りの高さを、更新後の指令積層高さ「LHc,m」で除算し、当該除算結果を新たな目標積層数として設定する。
ステップS156において、制御装置101は、変数「m」をカウントアップする。すなわち、制御装置101は、変数「m」の値を1増加する。
ステップS160において、制御装置101は、下記式(15)に従って、目標高さまでの積層数「Nf,f」を決定する。
より具体的には、制御装置101は、まず、目標高さ「TargetHa」からワークの実高さ「Ha,m-1」を差分する。次に、制御装置101は、当該差分結果を指令積層高さ「LHc,m-1」で除算し、当該除算結果を積層数「Nf,f」として設定する。
ステップS162において、制御装置101は、上述のレーザヘッド21(図1参照)を制御して、ステップS160で算出した積層数「Nf,f」分の付加加工を実行する。
<I.変形例1>
次に、図16を参照して、変形例1に従う付加加工装置100について説明する。
上述の付加加工装置100は、フィードバック処理の度に目標積層数を更新していた。これに対して、本変形例に従う付加加工装置100は、フィードバック処理の実行時に目標積層数を更新しない。
以下では、図16を参照して、本変形例に従うフィードバック処理について説明する。図16は、本変形例に従うフィードバック処理を実行した場合における高さ誤差「EH」の推移を示すグラフである。
図16の例で、積層数が「Nf,1」に到達したタイミングT1と、積層数が「Nf,1+Nf,2」に到達したタイミングT2とにおいて、測定機構125による測定処理が実行されている。このとき、本変形例に従う付加加工装置100は、指令積層高さ「LHc」のみを更新し、指令高さ「Hc」については更新しない。その結果、タイミングT1,T2以降において、高さ誤差「EH」が残存することになる。
この点を考慮して、付加加工装置100は、新たな指令積層高さ誤差「ELH,m-1」を算出する。具体的には、新たな指令積層高さ誤差「ELH,m-1」は、下記式(16)に基づいて算出される。
付加加工装置100は、上記式(16)で算出された指令積層高さ誤差「ELH,m-1」を上述の最大誤差「max|ELH|」としてみなし、下記式(17)に基づいて、次の測定タイミングを示す積層数「Nf,m+1」を算出する。
以上の処理により、付加加工装置100は、付加加工の開始前に設定した通りの目標積層数で付加加工処理を終えることができる。
<J.変形例1に従う制御フロー>
次に、図17を参照して、変形例1に従う付加加工装置100の制御フローについて説明する。図17は、変形例1に従うフィードバック処理を示すフローチャートである。
変形例1に従う付加加工装置100は、まず、上述の図14に示される処理を実行する。その後、当該付加加工装置100は、上述の図15に示される処理の代わりに、図17に示される処理を実行する。以下では、図17に示される処理の内、図14および図15に示される処理との差異点のみについて説明する。
ステップS152Aにおいて、制御装置101は、上記式(17)に従って、測定機構125の次の測定タイミングを示す積層数「Nf,m」を算出する。
本変形例においては、制御装置101は、図15に示されるステップS154の処理を実行しない。すなわち、制御装置101は、測定した実高さ「Ha」に合わせて指令高さ「Hc」を補正しない。また、制御装置101は、目標積層数を更新しない。
<K.変形例2>
次に、変形例2に従う付加加工装置100について説明する。
上記(6)に示されるように、積層数「Nf」は、許容値「d」を最大誤差「max|ELH|」で除算することにより算出される。そのため、最大誤差「max|ELH|」が小さいと、積層数「Nf」が大きくなり、次の測定タイミングがかなり先になる。この場合、環境変動などの予期しない要因の影響を受けて、高さ誤差「EH」が許容値「d」を超えてしまう可能性がある。
そこで、本変形例に従う付加加工装置100においては、積層数「Nf」に上限値「maxNf」を設ける。すなわち、付加加工装置100は、積層数「Nf」が所定の上限値「maxNf」以上である場合には、積層数「Nf」を当該上限値に補正する。
上限値「maxNf」の決定方法は、特に限定されない。一例として、付加加工装置100は、指令積層高さ「LHc」として設定可能な最小値「Lc,r」(すなわち、分解能)を最大誤差「max|ELH|」としてみなし、下記式(18)に基づいて、上限値「maxNf」を算出する。
他の例として、上限値「maxNf」は、GUM(Guide to the Expression of Uncertainty in Measurement(ISO Guide98-3,JCGM100))を参考にして、ワークの高さ測定の不確かさに基づいて決められる。
以下では、図18を参照して、ワークの高さ測定の不確かさに基づく上限値「maxNf」の決め方について説明する。図18は、上限値「maxNf」の決定時に考慮される要素を示す図である。
下記式(19)に示されるように、上限値「maxNf」は、合成標準不確かさ「uC(v)」に基づいて決められる。
合成標準不確かさ「uC(v)」は、下記式(20)に基づいて算出される。
上記式(20)に示される「xi」は、ワークの高さ測定の不確かさの要因を示す。「u(xi)」は、標準不確かさを表わす。「ci」は、感度係数を表わす。要因「xi」としては、たとえば、高さ測定の繰り返し性、温度差による熱変位、Nf層のワークの実高さのばらつき、および、シングルラインの実績層高さのばらつきなどが挙げられる。
要因「xi」に示される「温度差ΔTによる熱変位」に関して補足する。温度が「T=T1」でワークの実高差が「Hm-1=H1(T1)」、温度が「T=T2」でワークの実高差が「Hm=H2(T2)」だったとすると、「温度差ΔTによる熱変位」における感度係数「ci」は、下記式(21)および下記式(22)に従って算出される。また、温度差「ΔT」は、「T2-T1」で表わされる。
<L.変形例3>
上述では、金属粉末を用いる立体造形技術を前提として説明を行なったが、実高さの測定回数を減らすための上述の技術思想は、その他の粉末材料を用いる立体造形技術にも応用され得る。
金属粉末に代わる材料粉末の一例として、樹脂粉末が挙げられる。当該樹脂粉末は、たとえば、ポリアミド、ポリエステル、ポリオレフィン、ポリエーテルケトン、ポリアリールケトン、ポリフェニレンスルフィド、液晶ポリマー、ポリアセタール、ポリイミド、フッ素樹脂などで構成される。上述の付加加工装置100は、樹脂粉末を積層することにより、任意の三次元造形物を形成する。ここでいう「三次元造形物」とは、金属で構成される上述のワークや、樹脂粉末で構成される物体を包含する概念である。このような、樹脂粉末を用いる付加加工装置100に対しても、実高さの測定回数を減らすための上述の技術思想が適用され得る。
<M.まとめ>
以上のように、付加加工装置100は、ワークの積層数が所定数(第1の積層数)に達した第1のタイミングにおいて、測定機構125によるワークの実高さを測定させる処理を実行する。次に、付加加工装置100は、当該第1のタイミングにおいて測定されたワークの実高さ「Ha」を少なくとも用いて、最大誤差「max|ELH|」を推定する処理を実行する。その後、付加加工装置100は、推定した最大誤差「max|ELH|」に基づいて、上記第1のタイミングの次に測定機構125に測定処理を実行させるべき第2のタイミングを示す積層数「Nf」を決定する処理を実行する。
これにより、付加加工装置100は、積層数が「Nf」に達するまではフィードバック処理(すなわち、ワーク高さの測定処理)を実行しない。また、積層数が「Nf」に達するまでは、高さ誤差「EH」が許容値「d」を超えることもない。これにより、付加加工装置100は、造形精度を担保しつつ、ワークの高さ測定の回数を減らすことができる。
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。