(57)【特許請求の範囲】
【請求項１】
ビームの照射によって溶融させた材料を被加工物へ積層することによって造形物を製造する付加製造装置を制御する数値制御装置であって、
前記材料の供給位置を移動させる移動経路のうち先読みされた移動指令に示される移動経路の区間と前記区間における前記移動経路の周辺領域とにおける前記被加工物の表面温度の値を、前記被加工物の表面温度のデータから抽出する蓄熱温度抽出部と、
一定時間において凝固する前記材料の体積が、抽出された前記表面温度の値が高くなるに従って減少する関係に基づいて、前記造形物を形成する層の体積を算出する積層体積算出部と、
前記層の体積に基づいて、前記層の形状を変更する積層形状変更部と、
を備えることを特徴とする数値制御装置。
【請求項２】
前記数値制御装置は、加工プログラムに従って前記付加製造装置を制御し、
前記加工プログラムには、あらかじめ設定された経路において前記ビームの照射位置を移動させるための前記移動指令が記述されていることを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記積層形状変更部は、前記層の長さを変更することによって前記層の形状を変更することを特徴とする請求項１または２に記載の数値制御装置。
【請求項４】
前記被加工物のうち前記移動経路と前記周辺領域とにおける前記層の断面の形状を表すデータを、前記造形物の形状を示すデータから抽出する積層断面抽出部を備え、
前記積層形状変更部は、前記断面の形状を表すデータに基づいて前記層の高さと前記層の幅とを変更することを特徴とする請求項３に記載の数値制御装置。
【請求項５】
前記層の高さと前記層の幅とに基づいて、前記ビームの出力と前記材料の供給量とを変更する積層条件変更部を備えることを特徴とする請求項４に記載の数値制御装置。
【請求項６】
前記積層体積算出部は、前記移動経路に含まれる複数の前記区間の各々における造形の順序を前記層の体積に基づいて変更することを特徴とする請求項１から５のいずれか１つに記載の数値制御装置。
【請求項７】
前記関係を学習する機械学習装置と、
前記機械学習装置が学習した結果に基づいて前記関係を決定する意思決定部と、
を備え、
前記機械学習装置は、
抽出された前記表面温度の値と、前記積層体積算出部によって算出された前記層の体積と、前記被加工物に形成された前記層の高さとを状態変数として観測する状態観測部と、
前記状態変数に基づいて作成される訓練データセットに従って前記関係を学習する学習部と、
を有することを特徴とする請求項１から６のいずれか１つに記載の数値制御装置。
【請求項８】
前記学習部は、
前記状態変数に基づいて報酬を計算する報酬計算部と、
前記報酬に基づいて、前記関係を決定するための関数を更新する関数更新部と、
を有することを特徴とする請求項７に記載の数値制御装置。
【請求項９】
前記報酬計算部は、形成された前記層の高さのばらつきが閾値以下である場合に前記報酬を増大させ、かつ、形成された前記層の高さのばらつきが閾値よりも大きい場合に前記報酬を低減させることを特徴とする請求項８に記載の数値制御装置。
【請求項１０】
前記造形物の造形品質を示すデータである教師データを取得するデータ取得部と、
抽出された前記表面温度の値と前記層の体積とを含む状態変数と前記教師データとの組み合わせに基づいて作成されるデータセットに従って、前記関係を学習する学習部と、
を備えることを特徴とする請求項１から６のいずれか１つに記載の数値制御装置。
【請求項１１】
溶融させた材料を被加工物へ積層することによって造形物を製造する付加製造装置を数値制御装置によって制御する方法であって、
前記材料の供給位置を移動させる移動経路のうち先読みされた移動指令に示される移動経路の区間と前記区間における前記移動経路の周辺領域とにおける前記被加工物の表面温度の値を、前記被加工物の表面温度のデータから抽出する工程と、
一定時間において凝固する前記材料の体積が、抽出された前記表面温度の値が高くなるに従って減少する関係に基づいて、前記造形物を形成する層の体積を算出する工程と、
前記層の体積に基づいて、前記層の形状を変更する工程と、
を含むことを特徴とする付加製造装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、付加製造装置を制御する数値制御装置および付加製造装置の制御方法に関する。
【背景技術】
【０００２】
指向性エネルギ堆積（Direct  Energy  Deposition：ＤＥＤ）方式によって立体形状の造形物を製造する付加製造装置が知られている。付加製造装置には、加工ヘッドから出射されるビームによって局所的に材料を溶融させ、溶融させた材料を被加工物へ付加するものがある。付加製造装置は、高い自由度での造形が可能であることを特徴とする。切削加工の場合では形成が困難な形状が、付加製造装置では容易に形成することが可能となる。【０００３】
数値制御装置によって付加製造装置を制御する場合において、数値制御装置へ入力される加工プログラムは、一般に、コンピュータ支援製造（Computer  Aided  Manufacturing：ＣＡＭ）装置によって作成される。数値制御装置は、加工プログラムの解析によって、加工ヘッドを移動させる移動経路を求め、移動経路上の単位時間ごとの補間点群である位置指令を生成する。数値制御装置は、位置指令にしたがって、付加製造装置が有する動作機構を制御する。また、数値制御装置は、加工プログラムによって指定される加工条件に従った指令を生成する。数値制御装置は、ビーム出力の条件に従った指令を生成することによって、ビーム源を制御する。数値制御装置は、材料の供給量の条件に従った指令を生成することによって、金属粉末あるいは金属線条といった材料の供給源を制御する。【０００４】
材料と被加工物とへのビームの照射によって被加工物の一部が溶融して、被加工物上には、溶融している材料が溜められた溶融池が形成される。溶融させた材料が溶融池へ供給されてから材料が凝固することによって、被加工物には、溶融させた材料の凝固物からなる層が形成される。数値制御装置は、被加工物に対する加工ヘッドの移動速度、材料の供給量、ビームの出力、およびガスの供給量といった各種の指令値について、目標とされる形状を形成するための調整を行う。【０００５】
特許文献１には、溶融池の温度変化をモニタリングした結果に基づいて、目標とされる形状の造形物を得るための指令値を決定する付加製造装置が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１８−３４５１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
被加工物の蓄熱温度は、ビームの照射によって被加工物が受けた熱と被加工物に積み重ねられた層から伝わる熱とによって変化する。被加工物へ材料が積み重ねられる際における被加工物の蓄熱温度が高いほど、材料が凝固するまでに要する時間が長くなる。材料が凝固するまでに要する時間が長いほど、重力の作用を受けることによって、積み重ねられた材料が崩れ易くなることから、付加製造装置は、目標とされる形状を高精度に形成することが困難となる。このように、付加製造装置は、上記の特許文献１の技術と同様に指令値が決定されても、高い加工精度が得られない場合があるという問題があった。【０００８】
本発明は、上記に鑑みてなされたものであって、高い加工精度による加工を付加製造装置に行わせることができる数値制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明にかかる数値制御装置は、ビームの照射によって溶融させた材料を被加工物へ積層することによって造形物を製造する付加製造装置を制御する。本発明にかかる数値制御装置は、材料の供給位置を移動させる移動経路のうち先読みされた移動指令に示される移動経路の区間と区間における移動経路の周辺領域とにおける被加工物の表面温度の値を、被加工物の表面温度のデータから抽出する蓄熱温度抽出部と、一定時間において凝固する材料の体積が、抽出された表面温度の値が高くなるに従って減少する関係に基づいて、造形物を形成する層の体積を算出する積層体積算出部と、層の体積に基づいて、層の形状を変更する積層形状変更部と、を備える。
【発明の効果】
【００１０】
本発明にかかる数値制御装置は、高い加工精度による加工を付加製造装置に行わせることができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態１にかかる数値制御装置によって制御される付加製造装置を示す図
【図２】実施の形態１にかかる数値制御装置が有する機能構成を示す図
【図３】実施の形態１にかかる数値制御装置が有するハードウェア構成を示すブロック図
【図４】実施の形態１にかかる数値制御装置による動作の手順を示すフローチャート
【図５】実施の形態１にかかる数値制御装置が有する蓄熱温度抽出部による表面温度データと移動経路との対応付けを模式的に示す図
【図６】実施の形態１にかかる数値制御装置が有する積層体積算出部による積層体積の算出に使用される関係式の例を示す図
【図７】実施の形態１にかかる数値制御装置が有するプログラム解析部へ入力される加工プログラムの例を示す図
【図８】図７に示す加工プログラムにしたがった造形によって得られる造形物の例を示す図
【図９】実施の形態１にかかる数値制御装置が有する蓄熱温度抽出部において取得されるヒートマップの例を示す図
【図１０】実施の形態１にかかる数値制御装置が有する蓄熱温度抽出部により蓄熱温度を抽出した結果について説明するための図
【図１１】実施の形態１にかかる数値制御装置が有する積層体積算出部による蓄熱温度の代表値の決定について説明するための第１の図
【図１２】実施の形態１にかかる数値制御装置が有する積層体積算出部における蓄熱温度の代表値の決定について説明するための第２の図
【図１３】実施の形態１にかかる数値制御装置が有する積層体積算出部による積層体積の算出結果の例を示す図
【図１４】実施の形態１にかかる数値制御装置が有する指令値生成部によって生成される速度波形の例を示す図
【図１５】本発明の実施の形態２にかかる数値制御装置が有する機能構成を示す図
【図１６】実施の形態２にかかる数値制御装置による動作の手順を示すフローチャート
【図１７】実施の形態２にかかる数値制御装置が有する積層断面抽出部によって積層断面データを抽出した結果について説明するための図
【図１８】実施の形態２にかかる数値制御装置が有する条件データテーブルに格納される積層条件データの内容の例を示す図
【図１９】本発明の実施の形態３にかかる数値制御装置が有する機能構成を示す図
【図２０】図１９に示す数値制御装置が有する機械学習装置の機能構成を示すブロック図
【図２１】図２０に示す機械学習装置が有する報酬計算部によって算出される報酬が低減される場合について説明するための図
【図２２】図２０に示す機械学習装置が有する報酬計算部によって算出される報酬が低減される場合について説明するための図
【図２３】図２０に示す機械学習装置が有する報酬計算部によって算出される報酬が増大される場合について説明するための図
【図２４】図２０に示す機械学習装置が有する報酬計算部によって算出される報酬が増大される場合について説明するための図
【図２５】図２０に示す機械学習装置の動作手順を示すフローチャート
【図２６】本発明の実施の形態４にかかる数値制御装置が有する機械学習装置の機能構成を示すブロック図
【図２７】実施の形態４における学習に使用されるニューラルネットワークの構成例を示す図
【発明を実施するための形態】
【００１２】
以下に、本発明の実施の形態にかかる数値制御装置および付加製造装置の制御方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。以下の説明では、数値制御装置をＮＣ（Numerical  Control）装置と称することがある。
【００１３】
実施の形態１．
図１は、本発明の実施の形態１にかかる数値制御装置によって制御される付加製造装置を示す図である。付加製造装置１００は、溶融させた材料５を被加工物へ付加することによって造形物１５を製造する工作機械である。実施の形態１において、ビームはレーザビームであって、材料５は金属線条であるものとする。付加製造装置１００において使用される材料５は、金属線条に限られず、金属粉末であっても良い。
【００１４】
付加製造装置１００は、溶融させた材料５が凝固することにより形成される層を積み重ねることによって、ベース材１４の表面に造形物１５を形成する。ベース材１４は、ステージ１３に置かれる。以下の説明において、被加工物とは、溶融させた材料５が付加される物体であって、ベース材１４と造形物１５とを指すものとする。図１に示すベース材１４は板材である。ベース材１４は、板材以外のものであっても良い。
【００１５】
付加製造装置１００は、ビームノズル９と材料ノズル１０とガスノズル１１とを有する加工ヘッド８を備える。ビームノズル９は、被加工物へ向けてレーザビームを出射する。材料ノズル１０は、被加工物におけるレーザビームの照射位置へ向けて材料５を進行させる。ガスノズル１１は、被加工物へ向けてガスを噴射する。付加製造装置１００は、ガスの噴射によって、造形物１５の酸化を抑制するとともに、被加工物に形成された層を冷却する。
【００１６】
ビーム源であるレーザ発振器２は、レーザビームを発振する。レーザ発振器２からのレーザビームは、光伝送路であるファイバーケーブル３を通ってビームノズル９へ伝搬する。ガス供給装置６は、配管７を通じてガスノズル１１へガスを供給する。
【００１７】
材料供給装置４は、材料５の供給源である。材料供給装置４は、金属線条である材料５を送り出すための駆動部を有する。材料供給装置４から送り出された材料５は、材料ノズル１０を通されて、レーザビームの照射位置へ供給される。
【００１８】
ヘッド駆動装置１２は、加工ヘッド８の移動のための動作機構を構成するサーボモータを有する。ヘッド駆動装置１２は、Ｘ軸方向、Ｙ軸方向およびＺ軸方向の各方向へ加工ヘッド８を移動させる。Ｘ軸、Ｙ軸およびＺ軸は、互いに垂直な３軸である。Ｘ軸およびＹ軸は、水平方向に平行な軸である。Ｚ軸方向は、鉛直方向である。図１では、各サーボモータの図示を省略する。付加製造装置１００は、ヘッド駆動装置１２が加工ヘッド８を移動させることによって、被加工物におけるレーザビームの照射位置を移動させる。
【００１９】
図１に示す加工ヘッド８は、ビームノズル９からＺ軸方向へレーザビームを出射する。材料ノズル１０は、ＸＹ面内においてビームノズル９とは離れた位置に設けられており、Ｚ軸に対して斜めの方向へ材料５を進行させる。加工ヘッド８は、Ｚ軸に対して斜めの方向へ材料５を進行させるものに限られず、ビームノズル９から出射されるレーザビームの中心軸に沿うように材料５を進行させるものであっても良い。すなわち、ビームノズル９と材料ノズル１０とは、互いに同軸上に配置されていても良い。この場合、ビームノズル９は、材料５を中心とするリング状にビーム断面の形状が調整されたレーザビーム、あるいは材料５を中心として材料５の周囲に分散させた複数のビームを出射する。かかるレーザビームは、被加工物上の照射位置にて収束するように調整される。
【００２０】
ガスノズル１１は、ＸＹ面内においてビームノズル９とは離れた位置に設けられており、Ｚ軸に対して斜めの方向へガスを噴射する。ガスノズル１１は、Ｚ軸に対して斜めの方向へガスを噴射するものに限られず、ビームノズル９から出射されるレーザビームの中心軸に沿うようにガスを噴射するものであっても良い。すなわち、ビームノズル９とガスノズル１１とは、互いに同軸上に配置されていても良い。
【００２１】
付加製造装置１００は、被加工物に対して加工ヘッド８を移動させることによって、レーザビームの照射位置を被加工物において移動させる。なお、付加製造装置１００は、加工ヘッド８に対して被加工物を移動させることによって、被加工物におけるレーザビームの照射位置を移動させても良い。なお、以下の説明にて、レーザビームの照射位置を、単に「照射位置」と称することがある。
【００２２】
ＮＣ装置１は、加工プログラムに従って付加製造装置１００を制御する。ＮＣ装置１は、ヘッド駆動装置１２へ位置指令を出力することによって、ヘッド駆動装置１２の位置を制御する。ＮＣ装置１は、ビーム出力の条件に応じた指令である出力指令をレーザ発振器２へ出力することによって、レーザ発振器２によるレーザ発振を制御する。
【００２３】
ＮＣ装置１は、材料５の供給量の条件に応じた指令である供給指令を材料供給装置４へ出力することによって、材料供給装置４を制御する。ＮＣ装置１は、材料５が金属線条である場合、供給指令は、材料５の供給速度の条件に応じた指令であっても良い。供給速度は、材料供給装置４から照射位置へ向かう材料５の速度である。供給速度は、時間当たりの材料５の供給量を表す。
【００２４】
ＮＣ装置１は、ガスの供給量の条件に応じた指令をガス供給装置６へ出力することによって、ガス供給装置６からガスノズル１１へ供給されるガスの量を制御する。なお、ＮＣ装置１は、付加製造装置１００の構成要素の１つであっても良く、付加製造装置１００の外部の装置であっても良い。
【００２５】
図２は、実施の形態１にかかる数値制御装置が有する機能構成を示す図である。ＮＣ装置１には、ＮＣプログラムである加工プログラム２０が入力される。加工プログラム２０は、ＣＡＭ装置によって作成される。ＮＣ装置１は、積層条件データが格納されている条件データテーブル２１を有する。積層条件データについては後述する。
【００２６】
ＮＣ装置１は、加工プログラム２０を解析するプログラム解析部２３と、各種指令値を生成する指令値生成部２７とを有する。プログラム解析部２３は、加工プログラム２０のうち、現在行われている処理よりも後に行われる処理についての解析を行う。プログラム解析部２３は、加工プログラム２０に記述されている処理の内容を解析することによって、被加工物における材料５の供給位置を移動させる移動経路を求める。以下の説明において、現在行われている処理よりも後に行われる処理についての解析を行うことを、先読みと称することがある。
【００２７】
プログラム解析部２３は、移動経路を示すデータを、指令値生成部２７と、後述する蓄熱温度抽出部２４とへ出力する。指令値生成部２７は、移動経路上の単位時間ごとの補間点群である位置指令を生成する。指令値生成部２７は、ヘッド駆動装置１２へ位置指令を出力する。ヘッド駆動装置１２は、位置指令に従って加工ヘッド８を駆動する。
【００２８】
プログラム解析部２３は、照射位置へ供給される材料５の供給量と、レーザビームの出力とを求める。プログラム解析部２３は、供給量の指令値とレーザビームの出力の指令値とを指令値生成部２７へ出力する。指令値生成部２７は、入力された指令値を基に、レーザビームの出力指令と、材料５の供給指令とを生成する。指令値生成部２７は、レーザビームの出力指令をレーザ発振器２へ出力する。レーザ発振器２は、出力指令にしたがってレーザビームを発振する。指令値生成部２７は、供給指令を材料供給装置４へ出力する。材料供給装置４は、供給指令にしたがって材料５を供給する。ＮＣ装置１は、各種指令を出力することによって、付加製造装置１００の全体を制御する。
【００２９】
ＮＣ装置１には、被加工物の表面温度を示す表面温度データ２２が入力される。付加製造装置１００には、放射温度計または赤外線サーモグラフィといった、表面温度を測定する機器が設置される。表面温度データ２２は、かかる機器からＮＣ装置１へ入力される。図１および図２では、表面温度を測定する機器の図示を省略する。
【００３０】
ＮＣ装置１は、被加工物のうち移動経路を含む領域における蓄熱温度を表面温度データ２２から抽出する蓄熱温度抽出部２４と、蓄熱温度と当該蓄熱温度において一定時間で凝固する材料の体積との関係に基づいて、造形物を形成する層の体積を算出する積層体積算出部２５と、算出された体積に基づいて層の形状を変更する積層形状変更部２６とを有する。蓄熱温度抽出部２４は、蓄熱温度データ２８を積層体積算出部２５へ出力する。積層体積算出部２５は、積層体積データ２９を積層形状変更部２６へ出力する。積層形状変更部２６は、変更後の層の形状を表すデータを指令値生成部２７へ出力する。
【００３１】
次に、ＮＣ装置１のハードウェア構成について説明する。図２に示すＮＣ装置１の各機能部は、付加製造装置１００の制御方法を実行するためのプログラムがハードウェアを用いて実行されることによって実現される。以下の説明では、付加製造装置１００の制御方法を実行するためのプログラムを、制御プログラムと称することがある。
【００３２】
図３は、実施の形態１にかかる数値制御装置が有するハードウェア構成を示すブロック図である。ＮＣ装置１は、各種処理を実行するＣＰＵ（Central  Processing  Unit）３１と、データ格納領域を含むＲＡＭ（Random  Access  Memory）３２と、不揮発性メモリであるＲＯＭ（Read  Only  Memory）３３と、外部記憶装置３４と、ＮＣ装置１への情報の入力およびＮＣ装置１からの情報の出力のための入出力インタフェース３５とを有する。図３に示す各部は、バスを介して相互に接続されている。
【００３３】
ＣＰＵ３１は、ＲＯＭ３３および外部記憶装置３４に記憶されているプログラムを実行する。図２に示すプログラム解析部２３、蓄熱温度抽出部２４、積層体積算出部２５、積層形状変更部２６および指令値生成部２７は、ＣＰＵ３１を使用して実現される。
【００３４】
外部記憶装置３４は、ＨＤＤ（Hard  Disk  Drive）あるいはＳＳＤ（Solid  State  Drive）である。外部記憶装置３４は、制御プログラムと各種データとを記憶する。外部記憶装置３４は、図２に示す条件データテーブル２１を記憶する。ＲＯＭ３３には、ＮＣ装置１であるコンピュータまたはコントローラの基本となる制御のためのプログラムであるＢＩＯＳ（Basic  Input/Output  System）あるいはＵＥＦＩ（Unified  Extensible  Firmware  Interface）といったブートローダであって、ハードウェアを制御するソフトウェアまたはプログラムが記憶されている。なお、制御プログラムは、ＲＯＭ３３に記憶されても良い。
【００３５】
ＲＯＭ３３および外部記憶装置３４に記憶されているプログラムは、ＲＡＭ３２にロードされる。ＣＰＵ３１は、ＲＡＭ３２に制御プログラムを展開して各種処理を実行する。入出力インタフェース３５は、ＮＣ装置１の外部の機器との接続インタフェースである。入出力インタフェース３５には、加工プログラム２０と表面温度データ２２とが入力される。また、入出力インタフェース３５は、各種指令を出力する。ＮＣ装置１は、キーボードおよびポインティングデバイスといった入力デバイス、およびディスプレイといった出力デバイスを有しても良い。
【００３６】
実施の形態１にかかる付加製造装置１００の制御方法を実行するためのプログラムは、コンピュータによる読み取りが可能とされた記憶媒体に記憶されたものであっても良い。ＮＣ装置１は、記憶媒体に記憶された制御プログラムを外部記憶装置３４へ格納しても良い。記憶媒体は、フレキシブルディスクである可搬型記憶媒体、あるいは半導体メモリであるフラッシュメモリであっても良い。制御プログラムは、他のコンピュータあるいはサーバ装置から通信ネットワークを介して、ＮＣ装置１となるコンピュータあるいはコントローラへインストールされても良い。
【００３７】
ＮＣ装置１の機能は、付加製造装置１００の制御のための専用のハードウェアである処理回路によって実現されても良い。処理回路は、単一回路、複合回路、プログラム化されたプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field-Programmable  Gate  Array）、又はこれらの組み合わせである。ＮＣ装置１の機能は、一部を専用のハードウェアで実現し、他の一部をソフトウェアまたはファームウェアで実現するようにしても良い。
【００３８】
次に、ＮＣ装置１による動作について説明する。図４は、実施の形態１にかかる数値制御装置による動作の手順を示すフローチャートである。ステップＳ１では、プログラム解析部２３に加工プログラム２０が入力される。
【００３９】
加工プログラム２０には、あらかじめ設定された経路において照射位置を移動させるための移動指令と、あらかじめ設定された速度で照射位置を移動させるための速度指令とが記述されている。加工プログラム２０において、移動指令の内容は、Ｇコードによって指定される。Ｇコードは、「Ｇ」の文字と数字との組み合わせによって表される。速度指令の内容は、Ｆコードによって指定される。Ｆコードは、「Ｆ」の文字と速度値を表す数字との組み合わせによって表される。
【００４０】
条件データテーブル２１に格納される積層条件データは、被加工物に形成される層の高さおよび幅と、かかる高さおよび幅の層の形成に必要とされる条件を示す情報とが一括りとされたデータである。層の形成に必要とされる条件を示す情報には、レーザビームの出力値と、材料５の供給量と、照射位置を移動させる速度とが含まれる。条件データテーブル２１には、かかる一括りとされた積層条件データが少なくとも１つ以上は格納されている。
【００４１】
加工プログラム２０に記述されたＧコードまたはＭコードの機能によって所望の高さと所望の幅とを持つ層を形成するためのレーザビームの出力値と材料５の供給量とは、積層条件データに基づいて求められる。Ｍコードは、「Ｍ」の文字と数字との組み合わせによって表される。なお、加工プログラム２０には、所望の高さと所望の幅とを持つ層を形成するためのレーザビームの出力値と材料５の供給量の値とが記述されていても良い。ＮＣ装置１は、ステップＳ１の実行の後、ステップＳ２へ手順を進める。
【００４２】
ステップＳ２において、プログラム解析部２３は、被加工物における材料５の供給位置の移動経路を解析し、レーザビームの出力と材料５の供給量との各指令値を決定する。プログラム解析部２３は、加工プログラム２０に記述されている処理の内容を基に、供給位置の移動経路を解析する。プログラム解析部２３は、指令値生成部２７と蓄熱温度抽出部２４とへ、移動経路のデータを出力する。プログラム解析部２３は、加工プログラム２０に記述されている速度指令を指令値生成部２７へ出力する。また、プログラム解析部２３は、加工プログラム２０の記述と積層条件データとに基づいて、レーザビーム出力の指令値と、材料５の供給量の指令値とを決定する。ＮＣ装置１は、ステップＳ２の実行の後、ステップＳ３へ手順を進める。
【００４３】
ステップＳ３において、蓄熱温度抽出部２４は、被加工物の表面温度データ２２を取得する。表面温度データ２２は、表面温度の分布を色分けによって表すヒートマップの画像データである。ヒートマップでは、被加工物の形状を表す線図に色分けが施される。表面温度データ２２は、ある時刻における表面温度の分布を表す静止画データである。表面温度データ２２は、ヒートマップの推移を表す動画データの一部であっても良い。表面温度データ２２は、画像データに限られない。表面温度データ２２は、被加工物上の位置を表す座標と表面温度を表す数値との対応付けを含むデータであっても良い。表面温度は、複数の温度センサによって測定されても良い。複数の温度センサの各々は、被加工物から互いに異なる方向の位置に設置される。
【００４４】
表面温度データ２２は、表面温度の測定値に限られない。表面温度データ２２は、表面温度の推定値であっても良い。推定値を算出するための推定式には、照射位置の移動経路と、レーザビームの出力値、材料５の供給量、および材料５の種類といったプロセスパラメータとを基に作成された推定式を使用することができる。プロセスパラメータは、積層の制御のために設定される各種パラメータである。蓄熱温度抽出部２４は、推定式に基づいて推定値を算出する。ＮＣ装置１は、ステップＳ３の実行の後、ステップＳ４へ手順を進める。
【００４５】
ステップＳ４において、蓄熱温度抽出部２４は、被加工物における供給位置の移動経路に表面温度データ２２を対応付ける。図５は、実施の形態１にかかる数値制御装置が有する蓄熱温度抽出部による表面温度データと移動経路との対応付けを模式的に示す図である。図５では、トーンの濃淡によって表面温度の分布を表している。トーンが濃い部分ほど表面温度が高いことを表している。
【００４６】
蓄熱温度抽出部２４は、移動経路のデータに示されるプログラム特徴量と、ヒートマップに示される画像特徴量とを抽出する。プログラム特徴量は、形成される層の形状を表す特徴量である。プログラム特徴量は、移動指令の内容、指令位置ごとにおけるエッジの検出結果、移動距離、層が積み重ねられる方向、層の幅、および層の高さなどである。蓄熱温度抽出部２４は、指令位置ごとのプログラム特徴量を算出する。画像特徴量は、エッジ検出および二値化といった画像解析の手法を用いて計算される。
【００４７】
蓄熱温度抽出部２４は、プログラム特徴量と画像特徴量とを互いに照合することによって、移動経路に表面温度データ２２を対応付ける。これにより、蓄熱温度抽出部２４は、プログラム座標系において被加工物の表面温度の分布を特定する。なお、プログラム座標系は、加工プログラム２０における移動経路の指定に使用される座標系とする。図５に示すＸＹＺ座標系は、プログラム座標系である。蓄熱温度抽出部２４は、ステップＳ４において、プログラム特徴量および画像特徴量である２つの特徴量の照合に代えて、３つ以上の特徴量を照合しても良い。ＮＣ装置１は、ステップＳ４の実行の後、ステップＳ５へ手順を進める。
【００４８】
ステップＳ５において、蓄熱温度抽出部２４は、被加工物の表面温度データ２２から、移動経路を含む領域における蓄熱温度を抽出する。蓄熱温度抽出部２４は、先読みされた移動指令に示される移動経路の区間とその区間における移動経路の周辺領域とにおける表面温度を抽出することによって、移動経路および周辺領域における蓄熱温度を抽出する。蓄熱温度が抽出される周辺領域は、かかる領域における蓄熱が、移動経路にて形成される層に影響を及ぼし得る領域とする。
【００４９】
蓄熱温度抽出部２４は、移動経路の区間全体について蓄熱温度を抽出する。蓄熱温度抽出部２４は、抽出された蓄熱温度のデータを積層体積算出部２５へ出力する。なお、蓄熱温度抽出部２４は、移動経路の区間全体について蓄熱温度を抽出しなくても良く、移動経路の区間の一部について蓄熱温度を抽出しても良い。蓄熱温度抽出部２４は、移動経路の区間のうちあらかじめ指定された長さ部分について蓄熱温度を抽出しても良い。蓄熱温度抽出部２４は、移動経路の区間のうちあらかじめ指定された数の移動指令に示される部分について蓄熱温度を抽出しても良い。移動経路の長さあるいは移動指令の数の指定は、ＮＣ装置１のユーザによるパラメータ入力等によって行われる。蓄熱温度が抽出される周辺領域の範囲は、ユーザによるパラメータ入力等によって設定されても良い。蓄熱温度抽出部２４は、移動経路とプロセスパラメータとを基に蓄熱温度が抽出される範囲を決定しても良い。ＮＣ装置１は、ステップＳ５の実行の後、ステップＳ６へ手順を進める。
【００５０】
ステップＳ６において、積層体積算出部２５は、積層体積を算出する。積層体積は、造形物１５を形成する層のうち、１回の造形によって形成される部分の体積である。１回の造形とは、材料５の付加を開始してから材料５の付加を停止するまでにおける層の形成を指すものとする。造形物１５を構成する層の各々は、複数回の造形によって形成される場合があるものとする。積層体積算出部２５は、積層体積と蓄熱温度との関係を表す関係式に基づいて、ステップＳ５にて抽出された蓄熱温度に対応する積層体積を算出する。
【００５１】
図６は、実施の形態１にかかる数値制御装置が有する積層体積算出部による積層体積の算出に使用される関係式の例を示す図である。図６には、関係式のグラフを示している。図６に示すグラフにおいて、横軸は蓄熱温度、縦軸は積層体積を表す。
【００５２】
被加工物の蓄熱温度が高い場合ほど、溶融している状態の材料５が凝固するまでの時間は長くなる。関係式は、被加工物に付加された材料５を一定時間の経過によって凝固させることが可能な、蓄熱温度と積層体積との関係を表している。蓄熱温度と当該蓄熱温度において一定時間で凝固する材料５の体積との関係は、蓄熱温度が高くなるに従って材料５の体積が減少する関係である。すなわち、積層体積と蓄熱温度との関係は、蓄熱温度が高くなるに従って積層体積が減少する関係とされている。これにより、積層体積算出部２５は、一定時間で凝固する材料５の積層体積を求めることができる。積層体積算出部２５は、積層体積の算出結果である値を積層形状変更部２６へ出力する。
【００５３】
材料５が凝固するまでの時間は、付加された材料５から被加工物へ伝わる熱の量によっても変化する。積層体積算出部２５は、プロセスパラメータを基に作成された複数の関係式の中から、層の高さおよび幅に基づいて指定された積層条件データに応じて関係式を選択することとしても良い。積層体積算出部２５は、レーザビームの出力、材料５の供給量、材料５の種類および被加工物の熱伝導率といったプロセスパラメータを基に作成された関係式を保持する。積層体積算出部２５は、材料５から被加工物へ伝わる熱の量に応じて異なる関係式を使用することによって、材料５が凝固するまでの時間の変化をさらに低減可能な積層体積を求めることができる。
【００５４】
なお、積層体積算出部２５は、ユーザによるパラメータ入力等によって設定された関係式を使用して積層体積を算出しても良い。積層体積算出部２５は、ＮＣ装置１とともにオンラインに接続されたサーバへのアクセスによって積層体積の算出結果を得ることとしても良い。かかるサーバは、関係式を保持するとともに、ＮＣ装置１から送信された蓄熱温度のデータを基に、蓄熱温度に対応する積層体積を算出する。
【００５５】
積層体積算出部２５は、移動経路を含む領域における蓄熱温度のデータを基に当該領域における蓄熱温度の代表値を求めて、かかる代表値に対応する積層体積を算出する。代表値は、あらかじめ設定された複数の温度値の中から選択された温度値である。代表値は、蓄熱温度の最大値、蓄熱温度の平均値あるいは蓄熱温度の最小値といった値であっても良い。また、積層体積算出部２５は、被加工物における移動経路の位置に応じて、代表値とする値を変更しても良い。この場合、積層体積算出部２５は、被加工物における位置に応じて最適な蓄熱温度を基に積層体積を算出することができる。ＮＣ装置１は、ステップＳ６の実行の後、ステップＳ７へ手順を進める。
【００５６】
ステップＳ７において、積層形状変更部２６は、ステップＳ６にて算出された積層体積を基に、積層長さを変更する。積層長さは、照射位置を移動させる方向である長さ方向における層の長さであって、１回の造形によって形成される層の長さとする。積層体積を「Ｖ」、積層高さを「ｈ」、積層幅を「ｄ」、積層長さを「ｌ」とすると、次の式（１）が成り立つ。積層形状変更部２６は、次の式（１）を使用して積層長さを算出する。
【００５７】
【数１】
0006758532.tif 000002
【００５８】
積層高さは、層が積み重ねられる方向である高さ方向における層の高さであって、１回の造形によって形成される層の高さとする。積層幅は、長さ方向と高さ方向とに垂直な方向である幅方向における層の幅であって、１回の造形によって形成される層の幅とする。積層形状とは、１回の造形によって形成される層の立体形状とする。
【００５９】
上記の式（１）において、ｆ（ｈ，ｄ）は、層の断面積を表す。かかる断面積は、長さ方向に垂直な断面の面積である。断面積は、積層高さと積層幅との関数により表される。断面積は、層の断面を楕円形あるいは四角形といった形状に近似することによって算出され得る。積層形状変更部２６は、積層長さの算出結果である値を指令値生成部２７へ出力する。ＮＣ装置１は、ステップＳ７の実行の後、ステップＳ８へ手順を進める。
【００６０】
ステップＳ８において、指令値生成部２７は、ステップＳ６にて算出された積層長さと速度指令に示されている速度とに基づいて、位置指令を生成する。指令値生成部２７は、生成された位置指令をヘッド駆動装置１２へ出力する。
【００６１】
ステップＳ９において、指令値生成部２７は、レーザビームの出力指令と材料５の供給指令とを生成する。指令値生成部２７は、ステップＳ２にて決定された指令値に基づいて、レーザビームの出力指令を生成する。指令値生成部２７は、ステップＳ２にて決定された指令値に基づいて、材料５の供給指令を生成する。さらに、指令値生成部２７は、生成された出力指令を、ステップＳ８にて生成された指令位置に合わせて調整する。指令値生成部２７は、生成された供給指令を、ステップＳ８にて生成された指令位置に合わせて調整する。指令値生成部２７は、レーザ発振器２へ出力指令を出力する。指令値生成部２７は、材料供給装置４へ供給指令を出力する。
【００６２】
ＮＣ装置１は、ステップＳ９を実行することによって、図４に示す手順による動作を終了する。付加製造装置１００は、出力指令にしたがったレーザビームの発振と、位置指令にしたがった加工ヘッド８の移動と、供給指令にしたがった材料５の供給とを行う。図４に示す手順でＮＣ装置１が動作することによって、付加製造装置１００は、所望の積層形状を得ることができる。
【００６３】
図７は、実施の形態１にかかる数値制御装置が有するプログラム解析部へ入力される加工プログラムの例を示す図である。加工プログラム２０は、ＮＣ装置１の外部からプログラム解析部２３へ入力される。図８は、図７に示す加工プログラムにしたがった造形によって得られる造形物の例を示す図である。造形物１５は、円環状の複数の層をＺ軸方向において積み重ねることによって形成されるものとする。
【００６４】
目標とする積層高さ「ｈ」かつ目標とする積層幅「ｄ」の層を形成するために必要な条件が、レーザビームの出力値「Ｐ１」、材料５の供給量「Ｗ１」、および照射位置を移動させる速度「Ｆ１」であるとする。この場合において、積層高さ「ｈ」、積層幅「ｄ」、出力値「Ｐ１」、供給量「Ｗ１」および速度「Ｆ１」の各値を含む積層条件データを、積層条件データ「Ｄ１」とする。図７に示す加工プログラム２０において、「Ｎ００３」のブロックには、造形物１５の各層を形成する際の条件として、積層条件データ「Ｄ１」が指定されている。各層を形成する際の条件は、加工プログラム２０によって指定される場合に限られず、ユーザによる入力操作によって指定されても良く、ＮＣ装置１の外部の装置によって指定されても良い。
【００６５】
目標とする積層高さおよび積層幅は、加工プログラム２０によって指定される場合に限られず、ユーザによる入力操作あるいは外部の装置によって指定されても良い。ユーザあるいは外部の装置は、積層高さ「ｈ」および積層幅「ｄ」の少なくとも一方が異なる複数の条件の中から、層を形成するための条件を選択することによって、目標とする積層高さおよび積層幅を指定することができる。
【００６６】
加工プログラム２０における「Ｎ１００」、「Ｎ１０１」、「Ｎ１０２」、・・・の各ブロックは、第１層の形成のための処理を表す。第１層は、造形物１５のうち最初に形成される層である。「Ｎ１００」のブロックは、早送りによる座標（ｘ，ｙ，ｚ）の位置への移動による位置決めを表す。「Ｎ１０１」のブロックは、Ｇコードである「Ｇ１」によって指定されるモードでの加工ヘッド８の移動を表す。「Ｎ１０２」のブロックおよび「Ｎ１０２」よりも後の各ブロックは、第１層の形状を表現するための座標値を表す。
【００６７】
加工プログラム２０における「Ｎ２００」、「Ｎ２０１」、「Ｎ２０２」、・・・の各ブロックは、第２層の形成のための処理を表す。第２層は、造形物１５のうち２番目に形成される層であって、第１層の次に形成される層である。「Ｎ２００」のブロックは、早送りによる座標（ｘ２，ｙ２，ｚ２）の位置への移動による位置決めを表す。「Ｎ２０１」のブロックは、Ｇコードである「Ｇ１」によって指定されるモードでの加工ヘッド８の移動を表す。「Ｎ２０２」のブロックおよび「Ｎ２０２」よりも後の各ブロックは、第２層の形状を表現するための座標値を表す。
【００６８】
加工プログラム２０には、第２層より後に形成される層についても、第１層および第２層と同様に、層を形成するための処理が記述されている。加工プログラム２０における「ＮＮ００」、「ＮＮ０１」、「ＮＮ０２」、・・・の各ブロックは、第２層よりも後に形成される任意の層である第Ｎ層の形成のための処理を表す。
【００６９】
次に、ＮＣ装置１の各構成要素による動作を詳細に説明する。
【００７０】
（プログラム解析部２３）
プログラム解析部２３は、図７に示す加工プログラム２０を先読みすることによって、加工ヘッド８を移動させる移動経路Ｌ（ｉ）を解析する。「ｉ」は、層の番号を表す。造形物１５の各層には、層が形成される順序を表す番号が付与されている。プログラム解析部２３は、移動経路Ｌ（ｉ）を示すデータを、指令値生成部２７と蓄熱温度抽出部２４とへ出力する。
【００７１】
プログラム解析部２３は、加工プログラム２０において指定されている積層条件データ「Ｄ１」を条件データテーブル２１から読み出す。プログラム解析部２３は、積層条件データ「Ｄ１」を読み出すことによって、出力値「Ｐ１」、供給量「Ｗ１」および速度「Ｆ１」の各値を取得する。プログラム解析部２３は、出力値「Ｐ１」、供給量「Ｗ１」および速度「Ｆ１」の各値を指令値生成部２７へ出力する。なお、ＮＣ装置１は、プログラム解析部２３による各層についての加工プログラム２０の解析と、蓄熱温度抽出部２４、積層体積算出部２５および積層形状変更部２６による処理とを並行して行う。
【００７２】
（蓄熱温度抽出部２４）
蓄熱温度抽出部２４は、被加工物の表面温度データ２２を取得する。表面温度データ２２は、ヒートマップＫ（ｔ）の画像データである。「ｔ」は、時刻を表す。蓄熱温度抽出部２４は、移動経路Ｌ（ｉ）に表面温度データ２２を対応付けて、移動経路Ｌ（ｉ）と移動経路Ｌ（ｉ）の周辺領域とにおける蓄熱温度を抽出する。
【００７３】
図９は、実施の形態１にかかる数値制御装置が有する蓄熱温度抽出部において取得されるヒートマップの例を示す図である。図９には、任意の２つの層のうちの１つである第Ｎ１層が形成されるときである時刻「ｔＮ１」におけるヒートマップＫ（ｔＮ１）と、２つの層のうちの他の１つである第Ｎ２層が形成されるときである時刻「ｔＮ２」におけるヒートマップＫ（ｔＮ２）とを表している。第Ｎ１層は、ｉ＝Ｎ１の層である。第Ｎ２層は、ｉ＝Ｎ２の層である。Ｎ１およびＮ２は、１，２，・・・Ｎ，・・・のうちの任意の数であって、Ｎ１＜Ｎ２が成り立つ。
【００７４】
移動経路Ｌ（Ｎ１）は、第Ｎ１層を形成するための移動経路である。移動経路Ｌ（Ｎ１）は、円環状の経路である。移動経路Ｌ（Ｎ２）は、第Ｎ２層を形成するための移動経路である。移動経路Ｌ（Ｎ２）は、移動経路Ｌ（Ｎ１）と同様の円環状の経路である。移動経路Ｌ（Ｎ２）は、Ｚ軸方向において移動経路Ｌ（Ｎ１）よりも高い位置にあることを除いて、移動経路Ｌ（Ｎ１）と同じである。
【００７５】
蓄熱温度抽出部２４は、第Ｎ１層について、移動経路Ｌ（Ｎ１）のデータに示されるプログラム特徴量「ＰＡ」と、ヒートマップＫ（ｔＮ１）に示される画像特徴量「ＰＢ」とを抽出する。プログラム特徴量「ＰＡ」と画像特徴量「ＰＢ」とは、どちらも、層の形状についての特徴量であって、層が呈する円環形状の曲率、積層高さ、積層幅といった、形状を表す要素のうちの少なくとも１つである。蓄熱温度抽出部２４は、加工プログラム２０の移動指令ごとにプログラム特徴量「ＰＡ」を求める。蓄熱温度抽出部２４は、ヒートマップＫ（ｔＮ１）の中から、形状を表す要素のうちの少なくとも１つについてのデータである画像特徴量「ＰＢ」を求める。蓄熱温度抽出部２４は、プログラム特徴量「ＰＡ」と画像特徴量「ＰＢ」とを互いに照合することによって、移動経路Ｌ（Ｎ１）にヒートマップＫ（ｔＮ１）を対応付ける。蓄熱温度抽出部２４は、移動経路Ｌ（Ｎ２）についても、移動経路Ｌ（Ｎ１）の場合と同様に、移動経路Ｌ（Ｎ２）にヒートマップＫ（ｔＮ２）を対応付ける。
【００７６】
図１０は、実施の形態１にかかる数値制御装置が有する蓄熱温度抽出部により蓄熱温度を抽出した結果について説明するための図である。図１０には、抽出された蓄熱温度のデータを、図９に示すヒートマップと同じ要領により表している。
【００７７】
蓄熱温度抽出部２４は、ヒートマップＫ（ｔＮ１）から、移動経路Ｌ（Ｎ１）を含む領域における蓄熱温度を抽出する。蓄熱温度抽出部２４は、層が積み重ねられる方向であるＺ軸方向において一定範囲の領域における蓄熱温度を抽出する。蓄熱温度が抽出される周辺領域の範囲は、ユーザによるパラメータ入力等によって設定される。蓄熱温度抽出部２４は、移動経路Ｌ（Ｎ１）と、出力値「Ｐ１」、供給量「Ｗ１」および速度「Ｆ１」といったプロセスパラメータとに基づいて、蓄熱温度が抽出される周辺領域の範囲を決定しても良い。蓄熱温度抽出部２４は、移動経路Ｌ（Ｎ１）について抽出された蓄熱温度のデータを積層体積算出部２５へ出力する。
【００７８】
蓄熱温度抽出部２４は、移動経路Ｌ（Ｎ２）についても移動経路Ｌ（Ｎ１）の場合と同様に、ヒートマップＫ（ｔＮ２）から、移動経路Ｌ（Ｎ２）を含む領域における蓄熱温度を抽出する。蓄熱温度抽出部２４は、移動経路Ｌ（Ｎ２）について抽出された蓄熱温度のデータを積層体積算出部２５へ出力する。
【００７９】
（積層体積算出部２５）
積層体積算出部２５は、移動経路Ｌ（ｉ）について抽出された蓄熱温度のデータをもとに、移動経路Ｌ（ｉ）に含まれる区間ごとに、蓄熱温度の代表値を決定する。積層体積算出部２５は、決定された代表値を使用して、積層体積を算出する。実施の形態１において、積層体積算出部２５は、移動経路Ｌ（ｉ）の区間ごとに、あらかじめ設定された蓄熱温度を表す４つの値である「Ｔ１」、「Ｔ２」、「Ｔ３」、「Ｔ４」の中から代表値を選択する。
【００８０】
図１１は、実施の形態１にかかる数値制御装置が有する積層体積算出部による蓄熱温度の代表値の決定について説明するための第１の図である。図１２は、実施の形態１にかかる数値制御装置が有する積層体積算出部における蓄熱温度の代表値の決定について説明するための第２の図である。図１２は、図６に示すグラフと同じグラフに「Ｔ１」、「Ｔ２」、「Ｔ３」、「Ｔ４」をプロットしたものである。図１２に示すように、「Ｔ１」、「Ｔ２」、「Ｔ３」、「Ｔ４」には、Ｔ１＜Ｔ２＜Ｔ３＜Ｔ４の関係が成り立つ。
【００８１】
移動経路Ｌ（Ｎ１）には、移動指令ごとの２つの区間Ｌ１（Ｎ１），Ｌ２（Ｎ１）が含まれる。積層体積算出部２５は、移動経路Ｌ（Ｎ１）について、区間Ｌ１（Ｎ１）と区間Ｌ２（Ｎ１）との各々における代表値を決定する。「Ｔ１」、「Ｔ２」、「Ｔ３」、「Ｔ４」のうち、区間Ｌ１（Ｎ１）内における蓄熱温度の平均に最も近い値が「Ｔ１」である場合、積層体積算出部２５は、区間Ｌ１（Ｎ１）における代表値を「Ｔ１」と決定する。「Ｔ１」、「Ｔ２」、「Ｔ３」、「Ｔ４」のうち、区間Ｌ２（Ｎ１）内における蓄熱温度の平均に最も近い値が「Ｔ２」である場合、積層体積算出部２５は、区間Ｌ２（Ｎ１）における代表値を「Ｔ２」と決定する。
【００８２】
移動経路Ｌ（Ｎ２）には、移動指令ごとの３つの区間Ｌ１（Ｎ２），Ｌ２（Ｎ２），Ｌ３（Ｎ２）が含まれる。積層体積算出部２５は、区間Ｌ１（Ｎ２）、区間Ｌ２（Ｎ２）および区間Ｌ３（Ｎ２）の各々についても、移動経路Ｌ（Ｎ１）の場合と同様に、代表値を決定する。ここでは、積層体積算出部２５は、区間Ｌ１（Ｎ２）、区間Ｌ２（Ｎ２）および区間Ｌ３（Ｎ２）の各々における代表値を、それぞれ「Ｔ２」、「Ｔ３」および「Ｔ４」と決定したものとする。なお、移動経路Ｌ（ｉ）の区間ごとにおける蓄熱温度の代表値は、当該区間における蓄熱温度の最大値、当該区間における蓄熱温度の最小値、あるいは、当該区間における蓄熱温度の平均値といった値であっても良い。
【００８３】
積層体積算出部２５は、移動経路Ｌ（ｉ）について、あらかじめ設定された関係式に基づいて、１回の造形によって被加工物に形成される層の体積を算出する。「Ｔ１」、「Ｔ２」、「Ｔ３」、「Ｔ４」のそれぞれを関係式に代入した場合に、積層体積は、それぞれ「Ｖ１」、「Ｖ２」、「Ｖ３」、「Ｖ４」と算出される。「Ｖ１」、「Ｖ２」、「Ｖ３」、「Ｖ４」には、Ｖ１＞Ｖ２＞Ｖ３＞Ｖ４の関係が成り立つ。蓄熱温度が高くなるにしたがって積層体積が減少する関係を示す関係式が設定されていることにより、積層体積算出部２５は、移動経路Ｌ（ｉ）の中で蓄熱温度が高い部分ほど、１回の造形によって形成される層の体積を減少させる。これにより、ＮＣ装置１は、移動経路Ｌ（ｉ）において材料５の凝固に要する時間のばらつきを低減できる。
【００８４】
蓄熱温度が高い区間では、１回の造形によって形成される層の体積が減少することによって、他の区間と比べて造形に時間を要することになる。積層体積算出部２５は、算出された積層体積に基づいて、区間ごとに造形に要する時間を推定して、造形に要する時間が一定の時間よりも長くなる区間については造形が後回しとなるように造形の順序を変更しても良い。すなわち、積層体積算出部２５は、移動経路に含まれる区間ごとにおける造形の順序を積層体積に基づいて変更する。これにより、ＮＣ装置１は、積層に要する時間を短縮することができる。
【００８５】
図１３は、実施の形態１にかかる数値制御装置が有する積層体積算出部による積層体積の算出結果の例を示す図である。なお、以下の説明では、Ｖ２＝（Ｖ１）／２，Ｖ３＝（Ｖ１）／４，Ｖ４＝（Ｖ１）／８が成り立つとする。
【００８６】
移動経路Ｌ（Ｎ１）のうち区間Ｌ１（Ｎ１）については、上記関係式へ「Ｔ１」が代入されることによって、積層体積として「Ｖ１」が求まる。移動経路Ｌ（Ｎ１）のうち区間Ｌ２（Ｎ１）については、上記関係式へ「Ｔ２」が代入されることによって、積層体積として「Ｖ２」が求まる。これにより、ＮＣ装置１は、区間Ｌ１（Ｎ１）では、積層体積が「Ｖ１」ごととなる造形を付加製造装置１００に行わせる。ＮＣ装置１は、区間Ｌ２（Ｎ１）では、積層体積が「Ｖ２」ごととなる造形を付加製造装置１００に行わせる。
【００８７】
移動経路Ｌ（Ｎ２）のうち区間Ｌ１（Ｎ２）については、上記関係式へ「Ｔ２」が代入されることによって、積層体積として「Ｖ２」が求まる。移動経路Ｌ（Ｎ２）のうち区間Ｌ２（Ｎ２）については、上記関係式へ「Ｔ３」が代入されることによって、積層体積として「Ｖ３」が求まる。移動経路Ｌ（Ｎ２）のうち区間Ｌ３（Ｎ２）については、上記関係式へ「Ｔ４」が代入されることによって、積層体積として「Ｖ４」が求まる。これにより、ＮＣ装置１は、区間Ｌ１（Ｎ２）では、積層体積が「Ｖ２」ごととなる造形を付加製造装置１００に行わせる。ＮＣ装置１は、区間Ｌ２（Ｎ２）では、積層体積が「Ｖ３」ごととなる造形を付加製造装置１００に行わせる。ＮＣ装置１は、区間Ｌ３（Ｎ２）では、積層体積が「Ｖ４」ごととなる造形を付加製造装置１００に行わせる。
【００８８】
積層体積算出部２５は、移動経路Ｌ（Ｎ１）と移動経路Ｌ（Ｎ２）とについて、積層体積の算出結果を積層形状変更部２６へ出力する。実施の形態１において、積層体積算出部２５は、積層体積の算出を移動経路ごとに一括して行う。積層体積算出部２５は、積層体積の算出を移動経路内の区間ごとに行っても良い。この場合、ＮＣ装置１は、積層体積算出部２５における積層体積の算出と、積層形状変更部２６および指令値生成部２７による処理とを並行して行っても良い。
【００８９】
（積層形状変更部２６）
積層形状変更部２６は、移動経路Ｌ（ｉ）に含まれる区間ごとに、積層体積に応じて積層長さを変更することによって、積層形状を変更する。積層形状変更部２６は、積層体積算出部２５によって算出された積層体積を基に積層長さを算出することによって、積層長さを変更する。ここで、積層形状変更部２６は、層の断面積を四角形と仮定して、次の式（２）を使用して積層長さ「ｌ」を算出する。積層高さ「ｈ」と積層幅「ｄ」とには、積層条件データ「Ｄ１」に設定されている値が代入される。
【００９０】
【数２】
0006758532.tif 000003
【００９１】
積層形状変更部２６は、移動経路Ｌ（ｉ）における区間ごとの積層長さｌ（ｉ）を求める。積層形状変更部２６は、図１３に示す移動経路Ｌ（Ｎ１）について、区間Ｌ１（Ｎ１）における積層長さである「ｌ１」と、区間Ｌ２（Ｎ１）における積層長さである「ｌ２」とを求める。「ｌ２」は、「ｌ１」の半分である。
【００９２】
積層形状変更部２６は、図１３に示す移動経路Ｌ（Ｎ２）について、区間Ｌ１（Ｎ２）における積層長さである「ｌ１’」と、区間Ｌ２（Ｎ２）における積層長さである「ｌ２’」と、区間Ｌ３（Ｎ２）における積層長さである「ｌ３’」とを求める。「ｌ１’」は、「ｌ１」の半分であって、かつ「ｌ２」と同じである。「ｌ２’」は、「ｌ１’」の半分であって、かつ「ｌ１」の４分の１である。「ｌ３」’は、「ｌ１’」の４分の１であって、かつ「ｌ１」の８分の１である。このように、積層形状変更部２６は、積層体積に応じて積層長さｌ（ｉ）を変更することによって、積層形状を変更する。積層形状変更部２６は、積層長さｌ（ｉ）の算出結果を指令値生成部２７へ出力する。
【００９３】
（指令値生成部２７）
指令値生成部２７は、積層形状変更部２６から入力される積層長さｌ（ｉ）とプログラム解析部２３から入力される速度「Ｆ１」とを基に、位置指令と、出力指令と、供給指令とを生成する。指令値生成部２７は、移動経路Ｌ（ｉ）における積層長さｌ（ｉ）と速度値「Ｆ１」とを基に、照射位置の速度Ｆｃ（ｉ，ｔ）を生成する。速度Ｆｃ（ｉ，ｔ）は、移動経路Ｌ（ｉ）における任意の時刻「ｔ」における照射位置の移動速度とする。具体的な処理として、指令値生成部２７は、あらかじめ設定された加速度による加減速を行うための速度波形を生成する加減速処理と、生成された速度波形を滑らかにするスムージング処理とを行う。スムージング処理は、移動平均フィルタ処理とも称される。
【００９４】
図１４は、実施の形態１にかかる数値制御装置が有する指令値生成部によって生成される速度波形の例を示す図である。図１４には、第Ｎ１層を形成する際における速度Ｆｃ（Ｎ１，ｔ）についての速度波形と、第Ｎ２層を形成する際における速度Ｆｃ（Ｎ２，ｔ）についての速度波形とを示している。
【００９５】
付加製造装置１００は、移動経路Ｌ（Ｎ１），Ｌ（Ｎ２）について、図１４に示す速度波形にしたがって加工ヘッド８を移動させる。これにより、付加製造装置１００は、区間Ｌ１（Ｎ１）では積層長さを「ｌ１」とする１回の造形を行い、かつ、区間Ｌ２（Ｎ１）では積層長さを「ｌ２」とする２回の造形を行う。また、付加製造装置１００は、区間Ｌ１（Ｎ２）では積層長さを「ｌ１’」とする２回の造形を行い、区間Ｌ２（Ｎ２）では積層長さを「ｌ２’」とする２回の造形を行い、かつ、区間Ｌ３（Ｎ２）では積層長さを「ｌ３’」とする４回の造形を行う。
【００９６】
指令値生成部２７は、補間点の座標を補間処理によって求める。補間点は、スムージング処理後の速度Ｆｃ（ｉ，ｔ）にしたがって加工ヘッド８を移動させた際の単位時間ごとにおける加工ヘッド８の位置を表す。指令値生成部２７は、補間点である指令位置の座標を単位時間ごとにヘッド駆動装置１２へ出力する。これにより、ＮＣ装置１は、目標とされる位置へレーザビームが照射するように加工ヘッド８の移動を制御する。
【００９７】
指令値生成部２７は、レーザビーム出力の条件に応じた指令である出力指令を生成する。指令値生成部２７は、レーザビームの出力値「Ｐ１」を基に、出力指令とする出力値Ｐｃ（ｉ，ｔ）を生成する。出力値Ｐｃ（ｉ，ｔ）は、移動経路Ｌ（ｉ）における任意の時刻「ｔ」におけるレーザビームの出力値とする。
【００９８】
指令値生成部２７は、材料５の供給量の条件に応じた指令である供給指令を生成する。指令値生成部２７は、供給量「Ｗ１」を基に、供給指令とする供給量Ｗｃ（ｉ，ｔ）を生成する。供給量Ｗｃ（ｉ，ｔ）は、移動経路Ｌ（ｉ）における任意の時刻「ｔ」における材料５の供給量とする。
【００９９】
指令値生成部２７は、次の式（３）にしたがって、速度Ｆｃ（ｉ，ｔ）に応じた出力値Ｐｃ（ｉ，ｔ）の調整を行う。
【０１００】
【数３】
0006758532.tif 000004
【０１０１】
指令値生成部２７は、次の式（４）にしたがって、速度Ｆｃ（ｉ，ｔ）に応じた供給量Ｗｃ（ｉ，ｔ）の調整を行う。
【０１０２】
【数４】
0006758532.tif 000005
【０１０３】
上記の式（３）および式（４）において、「Ｐ」は積層条件データに記載されている出力値、「Ｗ」は積層条件データに記載されている供給量、「Ｆ」は積層条件データに記載されている速度を表す。指令値生成部２７は、レーザ発振器２へ出力値Ｐｃ（ｉ，ｔ）を出力する。これにより、ＮＣ装置１は、レーザビームの出力を制御する。指令値生成部２７は、材料供給装置４へ供給量Ｗｃ（ｉ，ｔ）を出力する。これにより、ＮＣ装置１は、材料５の供給量を制御する。
【０１０４】
実施の形態１によると、ＮＣ装置１は、材料５が凝固するまでに要する時間の変化を低減可能とする積層体積を、被加工物の蓄熱温度に基づいて算出し、算出された積層体積に基づいて積層形状を変更する。ＮＣ装置１は、蓄熱温度が高くなるに従って積層体積を減少させるように積層形状を変更する。積層高さと積層幅とはいずれも積層条件データに設定されているため、ＮＣ装置１は、積層長さを短くすることによって積層体積を減少させる。ＮＣ装置１は、積層長さを短くした区間では、複数回の造形を付加製造装置１００に行わせる。ＮＣ装置１は、蓄熱温度が高い部分では積層体積を減少させることによって、材料５から被加工物へ伝わる熱を減少可能とし、蓄熱温度の上昇を抑制することができる。
【０１０５】
ＮＣ装置１は、材料５が凝固するまでに要する時間の変化を低減させることによって、材料５が凝固するまでに長い時間を要することによる形状の崩れを低減できる。ＮＣ装置１は、造形物の形状の崩れを低減可能とすることで、高い加工精度による加工を付加製造装置１００に行わせることができる。以上により、ＮＣ装置１は、高い加工精度による加工を付加製造装置１００に行わせることができるという効果を奏する。
【０１０６】
実施の形態２．
図１５は、本発明の実施の形態２にかかる数値制御装置が有する機能構成を示す図である。実施の形態２にかかるＮＣ装置５０は、図２に示すＮＣ装置１が有する構成に加えて、積層断面抽出部５２と積層条件変更部５３とを有する。実施の形態２では、上記の実施の形態１と同一の構成要素には同一の符号を付し、実施の形態１とは異なる構成について主に説明する。
【０１０７】
ＮＣ装置５０には、加工プログラム２０と表面温度データ２２とに加えて、形状データ５１が入力される。形状データ５１は、造形物１５の形状を示すデータである。付加製造装置１００には、造形物１５の形状を検出する機器が設置される。形状データ５１は、かかる機器からＮＣ装置５０へ入力される。かかる機器の例は、造形物１５を撮影するカメラである。図１５では、積層断面の形状を検出する機器の図示を省略する。
【０１０８】
プログラム解析部２３は、移動経路を示すデータを、指令値生成部２７と蓄熱温度抽出部２４と積層断面抽出部５２とへ出力する。積層断面抽出部５２は、形状データ５１から、被加工物のうち移動経路を含む領域における積層断面データを抽出する。積層断面データは、積層断面の形状を表すデータである。積層断面とは、造形物１５を構成する層の断面であって、層の長さ方向に垂直な断面とする。積層断面データには、積層高さの値と積層幅の値とが含まれる。積層断面抽出部５２は、蓄熱温度抽出部２４と積層形状変更部２６とへ、積層断面データを出力する。
【０１０９】
積層形状変更部２６は、積層高さと積層幅と積層長さとのうちの少なくとも１つを変更することによって、層の形状を変更する。積層形状変更部２６は、指令値生成部２７と積層条件変更部５３とへ、変更後の層の形状を表すデータを出力する。
【０１１０】
積層条件変更部５３は、照射位置の速度とレーザビームの出力と材料５の供給量との条件のうちの少なくとも１つを変更する。積層条件変更部５３は、変更後の条件を示すデータを指令値生成部２７へ出力する。
【０１１１】
ＮＣ装置５０の各機能部は、付加製造装置１００の制御方法を実行するためのプログラムがハードウェアを用いて実行されることによって実現される。積層断面抽出部５２と積層条件変更部５３とは、図３に示すＣＰＵ３１を使用して実現される。
【０１１２】
次に、ＮＣ装置５０による動作について説明する。図１６は、実施の形態２にかかる数値制御装置による動作の手順を示すフローチャートである。ステップＳ１からステップＳ３の手順は、図４の場合と同様である。ステップＳ３の次のステップＳ１１において、積層断面抽出部５２は、形状データ５１を取得する。ステップＳ４およびステップＳ５の手順は、図４の場合と同様である。
【０１１３】
ステップＳ５の次のステップＳ１２において、積層断面抽出部５２は、被加工物における供給位置の移動経路に形状データ５１を対応付ける。積層断面抽出部５２は、移動経路に形状データ５１を対応付けることによって、プログラム座標系において造形物１５の形状を特定する。ＮＣ装置５０は、ステップＳ１２の実行の後、ステップＳ１３へ手順を進める。
【０１１４】
ステップＳ１３において、積層断面抽出部５２は、形状データ５１から、移動経路を含む領域における積層断面データを抽出する。積層断面抽出部５２は、先読みされた移動指令に示される移動経路の区間とその区間における移動経路の周辺領域とにおける積層断面データを抽出する。積層断面抽出部５２は、抽出された積層断面データを、蓄熱温度抽出部２４と積層形状変更部２６とへ出力する。積層断面抽出部５２において抽出される積層断面データは、造形物１５の形状データ５１に基づいた測定値である。積層断面データは、測定値に限られず、推定値であっても良い。推定値を算出するための推定式には、照射位置の移動経路と、レーザビームの出力、材料５の供給量、および材料５の種類といったプロセスパラメータとを基に作成された推定式を使用することができる。ＮＣ装置５０は、ステップＳ１３の実行の後、ステップＳ６へ手順を進める。ステップＳ６の手順は、図４の場合と同様である。
【０１１５】
ステップＳ６の次のステップＳ１４において、積層形状変更部２６は、積層高さと積層幅と積層長さとを変更する。積層形状変更部２６は、ステップＳ１３において抽出された積層断面データを基に、積層高さと積層幅とを変更する。積層形状変更部２６は、ステップＳ６にて算出された積層体積と、変更された積層高さおよび積層幅とに基づいて、積層長さを変更する。積層形状変更部２６による積層高さと積層幅と積層長さとの算出については後述する。積層形状変更部２６は、積層高さと積層幅との算出結果である各値を積層条件変更部５３へ出力する。積層形状変更部２６は、積層長さの算出結果を指令値生成部２７へ出力する。ＮＣ装置５０は、ステップＳ１４の実行の後、ステップＳ１５へ手順を進める。
【０１１６】
ステップＳ１５において、積層条件変更部５３は、条件データテーブル２１に保持されている積層条件データの中から１つの積層条件データを読み出す。積層条件変更部５３は、ステップＳ１４での算出結果である積層高さと積層幅との組み合わせと同じ組み合わせを含む積層条件データを選択し、選択された積層条件データを読み出すことによって、積層条件を変更する。積層条件変更部５３は、読み出された積層条件データに基づいて、レーザビームの出力値と、材料５の供給量と、照射位置を移動させる速度とを指令値生成部２７へ出力する。ＮＣ装置５０は、ステップＳ１５の実行の後、ステップＳ８へ手順を進める。ステップＳ８およびステップＳ９の手順は、図４の場合と同様である。ＮＣ装置５０は、ステップＳ９を実行することによって、図１６に示す手順による動作を終了する。
【０１１７】
次に、ＮＣ装置５０の各構成要素による動作を詳細に説明する。
【０１１８】
（積層断面抽出部５２）
積層断面抽出部５２は、造形物１５の形状データ５１を取得する。形状データ５１は、ある時刻において造形物１５を撮影することによって得られた静止画データである。形状データ５１は、動画データの一部であっても良い。積層断面抽出部５２には、複数のカメラによって取得された形状データ５１が入力されても良い。複数のカメラは、造形物１５から互いに異なる方向の位置に設置される。積層断面抽出部５２は、移動経路Ｌ（ｉ）に形状データ５１を対応付けて、移動経路Ｌ（ｉ）と移動経路Ｌ（ｉ）の周辺領域とにおける積層断面データを抽出する。
【０１１９】
図１７は、実施の形態２にかかる数値制御装置が有する積層断面抽出部によって積層断面データを抽出した結果について説明するための図である。第Ｎ１層と第Ｎ２層とは、実施の形態１と同様に、任意の２つの層とする。図１７には、移動経路Ｌ（Ｎ１）を含む領域における積層断面データを抽出した結果の例と、移動経路Ｌ（Ｎ２）を含む領域における積層断面データを抽出した結果の例とを示す。図１７では、抽出された積層断面データによって表される層の形状を実線によって表し、第Ｎ１層の形状と第Ｎ２層の形状とを破線によって表す。
【０１２０】
積層断面データが抽出される周辺領域の範囲は、ユーザによるパラメータ入力等によって設定される。蓄熱温度抽出部２４は、移動経路Ｌ（Ｎ１），Ｌ（Ｎ２）と、出力値「Ｐ１」、供給量「Ｗ１」および速度「Ｆ１」といったプロセスパラメータとに基づいて、積層断面データが抽出される周辺領域の範囲を決定しても良い。積層断面抽出部５２は、移動経路Ｌ（Ｎ１），Ｌ（Ｎ２）について抽出された積層断面データを積層形状変更部２６へ出力する。
【０１２１】
（積層形状変更部２６）
積層形状変更部２６は、移動経路Ｌ（ｉ）における積層高さｈ（ｉ）および積層幅ｄ（ｉ）を、抽出された積層断面データに基づいて変更する。また、積層形状変更部２６は、積層体積と、積層高さｈ（ｉ）および積層幅ｄ（ｉ）とに応じて、移動経路Ｌ（ｉ）における積層長さｌ（ｉ）を変更する。
【０１２２】
移動経路Ｌ（Ｎ１）について抽出された積層断面データにおいて、積層高さが「２ｈ」、かつ積層幅が「ｄ／２」であったとする。この場合において、積層形状変更部２６は、積層高さｈ（Ｎ１）を「ｈ」から「２ｈ」へ変更する。積層形状変更部２６は、積層幅ｄ（Ｎ１）を「ｄ」から「ｄ／２」へ変更する。移動経路Ｌ（Ｎ２）について抽出された積層断面データにおいて、積層高さが「２ｈ」、かつ積層幅が「ｄ」であったとする。この場合において、積層形状変更部２６は、積層高さｈ（Ｎ２）を「ｈ」から「２ｈ」へ変更する。積層形状変更部２６は、積層幅ｄ（Ｎ２）を「ｄ」のままとする。
【０１２３】
ここで、図１３および図１４に示す実施の形態１の場合と同様に、移動経路Ｌ（Ｎ１）には、２つの区間Ｌ１（Ｎ１），Ｌ２（Ｎ１）が含まれるとする。移動経路Ｌ（Ｎ２）には、３つの区間Ｌ１（Ｎ２），Ｌ２（Ｎ２），Ｌ３（Ｎ２）が含まれるとする。また、実施の形態１の場合と同様に、区間Ｌ１（Ｎ１）と区間Ｌ２（Ｎ２）とについての各積層体積は、積層体積算出部２５によって、それぞれ「Ｖ１」および「Ｖ２」と算出されたとする。区間Ｌ１（Ｎ２）と区間Ｌ２（Ｎ２）と区間Ｌ３（Ｎ２）とについての各積層体積は、積層体積算出部２５によって、それぞれ「Ｖ２」、「Ｖ３」および「Ｖ４」と算出されたとする。なお、実施の形態１の場合と同様に、Ｖ２＝（Ｖ１）／２，Ｖ３＝（Ｖ１）／４，Ｖ４＝（Ｖ１）／８が成り立つとする。
【０１２４】
積層形状変更部２６は、層の立体形状を直方体と仮定して、上記の式（２）を使用して積層長さ「ｌ」を算出する。上記の式（２）において、積層高さ「ｈ」と積層幅「ｄ」とには、積層形状変更部２６において算出された値が代入される。
【０１２５】
積層形状変更部２６は、図１３に示す移動経路Ｌ（Ｎ１）について、区間Ｌ１（Ｎ１）における積層長さである「ｌ４」と、区間Ｌ２（Ｎ１）における積層長さである「ｌ５」とを求める。「ｌ４」は、実施の形態１の区間Ｌ１（Ｎ１）における積層長さである「ｌ１」と同じである。「ｌ５」は、「ｌ４」の半分である。
【０１２６】
積層形状変更部２６は、図１３に示す移動経路Ｌ（Ｎ２）について、区間Ｌ１（Ｎ２）における積層長さである「ｌ４’」と、区間Ｌ２（Ｎ２）における積層長さである「ｌ５’」と、区間Ｌ３（Ｎ２）における積層長さである「ｌ６’」とを求める。「ｌ４’」は、「ｌ４」の４分の１である。「ｌ５’」は、「ｌ４’」の半分であって、かつ「ｌ４」の８分の１である。「ｌ６」’は、「ｌ４’」の４分の１であって、かつ「ｌ４」の１６分の１である。
【０１２７】
このように、積層形状変更部２６は、積層体積と積層高さｈ（ｉ）と積層幅ｄ（ｉ）とに応じて積層長さｌ（ｉ）を変更することによって、積層形状を変更する。積層形状変更部２６は、積層高さｈ（ｉ）の算出結果と積層幅ｄ（ｉ）の算出結果とを積層条件変更部５３へ出力する。積層形状変更部２６は、積層長さｌ（ｉ）の算出結果を指令値生成部２７へ出力する。
【０１２８】
（積層条件変更部５３）
積層条件変更部５３は、積層形状変更部２６から入力される積層高さｈ（ｉ）および積層幅ｄ（ｉ）を基に、照射位置の速度「Ｆ」と、レーザビームの出力値「Ｐ」と、材料５の供給量「Ｗ」とを変更する。
【０１２９】
図１８は、実施の形態２にかかる数値制御装置が有する条件データテーブルに格納される積層条件データの内容の例を示す図である。図１８には、条件データテーブル２１に格納されている４つの積層条件データ「Ｄ１」、「Ｄ２」、「Ｄ３」および「Ｄ４」について、積層高さ、積層幅、照射位置の速度、材料５の供給量およびレーザビームの出力値の各値を示している。
【０１３０】
積層高さｈ（Ｎ１）が「２ｈ」、かつ積層幅ｄ（Ｎ１）が「ｄ／２」とそれぞれ算出されていることによって、積層条件変更部５３は、移動経路Ｌ（Ｎ１）について、積層高さが「２ｈ」かつ積層幅が「ｄ／２」である積層条件データ「Ｄ２」を選択する。積層条件データが「Ｄ１」から「Ｄ２」へ変更されることによって、積層条件変更部５３は、速度を「Ｆ１」から「Ｆ２」へ、出力値を「Ｐ１」から「Ｐ２」へ、供給量を「Ｗ１」から「Ｗ２」へ、それぞれ変更する。積層条件変更部５３は、速度「Ｆ２」と出力値「Ｐ２」と供給量「Ｗ２」とを指令値生成部２７へ出力する。
【０１３１】
積層高さｈ（Ｎ２）が「２ｈ」、かつ積層幅ｄ（Ｎ２）が「ｄ」とそれぞれ算出されていることによって、積層条件変更部５３は、移動経路Ｌ（Ｎ２）について、積層高さが「２ｈ」かつ積層幅が「ｄ」である積層条件データ「Ｄ３」を選択する。積層条件データが「Ｄ１」から「Ｄ３」へ変更されることによって、積層条件変更部５３は、速度を「Ｆ１」から「Ｆ３」へ、出力値を「Ｐ１」から「Ｐ３」へ、供給量を「Ｗ１」から「Ｗ３」へ、それぞれ変更する。積層条件変更部５３は、速度「Ｆ３」と出力値「Ｐ３」と供給量「Ｗ３」とを指令値生成部２７へ出力する。
【０１３２】
実施の形態２によると、ＮＣ装置５０は、積層高さと積層幅と積層長さとの少なくとも１つを変更することによって、積層形状を変更する。ＮＣ装置５０は、蓄熱温度が高くなるに従って積層体積を減少させるように積層形状を変更することによって、材料５が凝固するまでに要する時間の変化を低減させる。ＮＣ装置５０は、造形物１５の形状の崩れを低減可能とすることで、高い加工精度による加工を付加製造装置１００に行わせることができる。以上により、ＮＣ装置５０は、高い加工精度による加工を付加製造装置１００に行わせることができるという効果を奏する。また、ＮＣ装置５０は、被加工物のうち移動経路を含む領域における積層断面データに基づいて積層高さと積層幅とを決定することによって、高い精度での造形を付加製造装置１００に行わせることができる。
【０１３３】
実施の形態３．
図１９は、本発明の実施の形態３にかかる数値制御装置が有する機能構成を示す図である。実施の形態３にかかるＮＣ装置６０では、蓄熱温度と積層体積との関係が機械学習によって決定される。ＮＣ装置６０は、実施の形態１にかかるＮＣ装置１に機械学習のための機能構成が追加されたものである。実施の形態３では、上記の実施の形態１および２と同一の構成要素には同一の符号を付し、実施の形態１および２とは異なる構成について主に説明する。
【０１３４】
ＮＣ装置６０には、実施の形態１にかかるＮＣ装置１が有する機能構成に、機械学習装置６１と意思決定部６２と高さ測定部６３とが追加されている。機械学習装置６１は、蓄熱温度と積層体積との関係を学習する。意思決定部６２は、機械学習装置６１が学習した結果に基づいて、図６に示す蓄熱温度と積層体積との関係を決定する。
【０１３５】
ＮＣ装置６０には、実施の形態２の場合と同様に、形状データ５１が入力される。高さ測定部６３は、形状データ５１に基づいて積層高さを測定する。プログラム解析部２３は、移動経路を示すデータを、高さ測定部６３へ出力する。高さ測定部６３は、被加工物のうち移動経路を含む領域における積層高さを測定することによって、被加工物に形成された層の高さを表すデータである高さデータ６４を機械学習装置６１へ出力する。
【０１３６】
蓄熱温度抽出部２４は、蓄熱温度データ２８を機械学習装置６１へ出力する。積層体積算出部２５は、積層体積データ２９を機械学習装置６１へ出力する。機械学習装置６１には、蓄熱温度データ２８と積層体積データ２９と高さデータ６４とが入力される。
【０１３７】
図２０は、図１９に示す数値制御装置が有する機械学習装置の機能構成を示すブロック図である。機械学習装置６１は、状態観測部６５と学習部６６とを有する。蓄熱温度データ２８と積層体積データ２９と高さデータ６４とは、状態観測部６５へ入力される。状態観測部６５は、蓄熱温度と、積層体積算出部２５によって算出された積層体積と、被加工物に形成された高さデータ６４とを状態変数として観測する。学習部６６は、状態変数に基づいて作成される訓練データセットに従って、蓄熱温度と積層体積との関係を学習する。
【０１３８】
学習部６６が用いる学習アルゴリズムはどのようなものを用いてもよい。一例として、強化学習（Reinforcement  Learning）を適用した場合について説明する。強化学習は、ある環境内におけるエージェントである行動主体が、現在の状態を観測し、取るべき行動を決定する、というものである。エージェントは行動を選択することで環境から報酬を得て、一連の行動を通じて報酬が最も多く得られるような方策を学習する。強化学習の代表的な手法として、Ｑ学習（Q−learning）およびＴＤ学習（TD−learning）などが知られている。例えば、Ｑ学習の場合、行動価値関数Ｑ（ｓ，ａ）の一般的な更新式である行動価値テーブルは、次の式（５）で表される。行動価値関数Ｑ（ｓ，ａ）は、環境「ｓ」のもとで行動「ａ」を選択する行動の価値である行動価値Ｑを表す。
【０１３９】
【数５】
0006758532.tif 000006
【０１４０】
上記の式（５）において、「ｓｔ＋１」は、時刻「ｔ」における環境を表す。「ａｔ」は、時刻「ｔ」における行動を表す。行動「ａｔ」によって、環境は「ｓｔ＋１」に変わる。「ｒｔ＋１」は、その環境の変化によってもらえる報酬を表す。「γ」は、割引率を表す。「α」は、学習係数を表す。Ｑ学習を適用した場合、積層体積の値が行動「ａｔ」となる。
【０１４１】
上記の式（５）により表される更新式は、時刻「ｔ＋１」における最良の行動「ａ」の行動価値が、時刻「ｔ」において実行された行動「ａ」の行動価値Ｑよりも大きければ、行動価値Ｑを大きくし、逆の場合は、行動価値Ｑを小さくする。換言すれば、時刻「ｔ」における行動「ａ」の行動価値Ｑを、時刻「ｔ＋１」における最良の行動価値に近づけるように、行動価値関数Ｑ（ｓ，ａ）を更新する。それにより、ある環境における最良の行動価値が、それ以前の環境における行動価値に順次伝播する。
【０１４２】
学習部６６は、報酬計算部６７と関数更新部６８とを有する。報酬計算部６７は、状態変数に基づいて報酬を計算する。関数更新部６８は、報酬計算部６７によって計算される報酬に従って、蓄熱温度と積層体積との関係を決定するための関数を更新する。
【０１４３】
報酬計算部６７は、形成された層の高さのばらつきと閾値との比較結果に基づいて、報酬「ｒ」を計算する。例えば、ある蓄熱温度に対する積層体積の値を変更した結果、形成された層の高さのばらつきが閾値以下となった場合において、報酬計算部６７は、報酬「ｒ」を増大させる。報酬計算部６７は、報酬の値である「１」を与えることによって報酬「ｒ」を増大させる。なお、報酬の値は「１」に限られない。また、ある蓄熱温度に対する積層体積の値を変更した結果、形成された層の高さのばらつきが閾値より大きくなった場合において、報酬計算部６７は、報酬「ｒ」を低減させる。報酬計算部６７は、報酬の値である「−１」を与えることによって報酬「ｒ」を低減させる。なお、報酬の値は「−１」に限られない。
【０１４４】
関数更新部６８は、報酬計算部６７によって計算される報酬に従って、蓄熱温度と積層体積との関係を決定するための関数を更新する。関数の更新は、訓練データセットに従って、例えば行動価値テーブルを更新することによって行うことができる。行動価値テーブルは、任意の行動とその行動価値とを関連付けてテーブルの形式で記憶したデータセットである。例えばＱ学習の場合、上記の式（５）により表される行動価値関数Ｑ（ｓｔ，ａｔ）を、蓄熱温度と積層体積との関係式に使用されるパラメータの値を算出するための関数として用いる。
【０１４５】
ここで、報酬計算部６７によって算出される報酬「ｒ」の増減について説明する。図２１および図２２は、図２０に示す機械学習装置が有する報酬計算部によって算出される報酬が低減される場合について説明するための図である。図２３および図２４は、図２０に示す機械学習装置が有する報酬計算部によって算出される報酬が増大される場合について説明するための図である。
【０１４６】
図２１には、図１に示す付加製造装置１００によって１つの層１５ａが形成された状態の造形物１５の一例を示している。図２２に示すグラフは、移動経路上の位置と層１５ａの高さとの関係を表す。図２１および図２２に示す例では、層１５ａの高さにばらつきが生じているとする。図２３には、図１に示す付加製造装置１００によって１つの層１５ａが形成された状態の造形物１５の他の例を示している。図２４に示すグラフは、移動経路上の位置と層１５ａの高さとの関係を表す。図２３および図２４に示す例では、層１５ａの高さにばらつきがほとんど生じていないとする。
【０１４７】
報酬計算部６７は、層１５ａについての高さデータ６４に基づいて、層１５ａの高さのばらつきを算出する。報酬計算部６７は、ばらつきを示す値として、移動経路上の位置ごとにおける層１５ａの高さの値のうちの最高値と最低値との差分を求める。報酬計算部６７は、かかる差分と閾値とを比較する。閾値は、層１５ａに生じた高さのばらつきが、造形物１５の造形品質に影響を及ぼす程度のばらつきであるか否かを判断するための指標であって、あらかじめ設定される。閾値は、ユーザによる入力操作によって設定される。図２１および図２２に示す例において、ばらつきが閾値よりも大きいと報酬計算部６７が判断したとすると、報酬計算部６７は、報酬「ｒ」を低減させる。図２３および図２４に示す例において、ばらつきが閾値以下であると報酬計算部６７が判断したとすると、報酬計算部６７は、報酬「ｒ」を増大させる。
【０１４８】
図２５は、図２０に示す機械学習装置の動作手順を示すフローチャートである。図２５のフローチャートを参照して、行動価値関数Ｑ（ｓ，ａ）を更新する強化学習方法について説明する。
【０１４９】
付加製造装置１００によって１つの層１５ａが形成されると、ステップＳ２１において、状態観測部６５は、当該層１５ａについての状態変数を取得する。ステップＳ２２において、報酬計算部６７は、層１５ａの高さのばらつきを算出する。ステップＳ２３において、報酬計算部６７は、ステップＳ２２において算出されたばらつきと閾値とを比較した結果に基づいて、報酬「ｒ」を算出する。
【０１５０】
ステップＳ２４において、関数更新部６８は、ステップＳ２３において算出された報酬「ｒ」に基づいて行動価値関数Ｑ（ｓ，ａ）を更新する。関数更新部６８は、上記の式（５）に従って行動価値関数Ｑ（ｓ，ａ）を更新する。
【０１５１】
ステップＳ２５において、関数更新部６８は、行動価値関数Ｑ（ｓ，ａ）が収束したか否かを判定する。関数更新部６８は、ステップＳ２４における行動価値関数Ｑ（ｓ，ａ）の更新が行われなくなることによって行動価値関数Ｑ（ｓ，ａ）が収束したと判定する。
【０１５２】
行動価値関数Ｑ（ｓ，ａ）が収束していないと判定された場合（ステップＳ２５，Ｎｏ）、機械学習装置６１は、動作手順をステップＳ２１へ戻す。行動価値関数Ｑ（ｓ，ａ）が収束したと判定された場合（ステップＳ２５，Ｙｅｓ）、学習部６６による学習が終了する。これにより、機械学習装置６１は、図２５に示す手順による動作を終了する。なお、機械学習装置６１は、ステップＳ２５による判定を行わず、ステップＳ２４からステップＳ２１へ動作手順を戻すことによって学習を継続させることとしても良い。
【０１５３】
意思決定部６２は、学習部６６による学習の結果、すなわち更新された行動価値関数Ｑ（ｓ，ａ）に基づいて、報酬が最も多く得られる蓄熱温度と積層体積との関係を選択する。意思決定部６２は、選択された関係を積層体積算出部２５へ出力する。
【０１５４】
実施の形態３では、学習部６６が用いる学習アルゴリズムに強化学習を適用する場合について説明したが、学習アルゴリズムには、強化学習以外の学習が適用されても良い。学習部６６は、強化学習以外の公知の学習アルゴリズム、例えば、深層学習（Deep  Learning）、ニューラルネットワーク、遺伝的プログラミング、機能論理プログラミングあるいはサポートベクターマシンといった学習アルゴリズムを用いて機械学習を実行してもよい。
【０１５５】
機械学習装置６１は、ＮＣ装置６０に設けられるものに限られない。機械学習装置６１は、ＮＣ装置６０の外部の装置であっても良い。機械学習装置６１は、ネットワークを介してＮＣ装置６０に接続可能な装置であっても良い。機械学習装置６１は、クラウドサーバ上に存在する装置であっても良い。
【０１５６】
実施の形態３によると、ＮＣ装置６０は、機械学習装置６１が学習した結果に基づいて蓄熱温度と積層体積との関係を決定する。積層体積算出部２５は、一定時間で凝固する材料５の積層体積を正確に算出することができる。これにより、ＮＣ装置６０は、高い加工精度による加工を付加製造装置１００に行わせることができる。なお、実施の形態３にて説明する機械学習のための機能構成は、実施の形態２にかかるＮＣ装置５０に追加されても良い。
【０１５７】
実施の形態４．
実施の形態４では、教師あり学習によって蓄熱温度と積層体積との関係が決定される例について説明する。図２６は、本発明の実施の形態４にかかる数値制御装置が有する機械学習装置の機能構成を示すブロック図である。実施の形態４にかかる機械学習装置７１は、実施の形態３と同様のＮＣ装置６０に設けられる。機械学習装置７１は、ＮＣ装置６０において、図１９に示す機械学習装置６１に代えて設けられる。
【０１５８】
実施の形態４において、ＮＣ装置６０には、造形品質データ７５が入力される。造形品質データ７５は、造形物１５の造形品質を表すデータであって、造形品質を評価したユーザによってＮＣ装置６０へ入力される。造形品質データ７５は、造形物１５の形状を測定した結果に基づいて造形物１５の造形品質を評価する品質評価装置によってＮＣ装置６０へ入力されても良い。品質評価装置は、ＮＣ装置６０の外部の装置であるほか、ＮＣ装置６０の内部に設けられても良い。実施の形態４では、品質評価装置の図示を省略する。
【０１５９】
機械学習装置７１は、状態観測部７２とデータ取得部７３と学習部７４とを有する。蓄熱温度データ２８と積層体積データ２９とは、状態観測部７２へ入力される。造形品質データ７５は、データ取得部７３へ入力される。状態観測部７２は、蓄熱温度と、積層体積算出部２５によって算出された積層体積とを、状態変数として観測する。状態観測部７２は、状態変数を学習部７４へ出力する。データ取得部７３は、教師データである造形品質データ７５を取得する。データ取得部７３は、教師データを学習部７４へ出力する。学習部７４は、状態変数と教師データとの組み合わせに基づいて作成されるデータセットに従って、蓄熱温度と積層体積との関係を学習する。
【０１６０】
学習部７４は、例えば、ニューラルネットワークモデルに従い、いわゆる教師あり学習によって、蓄熱温度と積層体積との関係を学習する。ここで、教師あり学習とは、学習部７４へデータセットを大量に与えることによって、データセットの特徴を学習部７４に学習させ、入力から結果を推定するモデルをいう。データセットは、ある入力と、入力に対応する結果であるラベルとを含む。ニューラルネットワークは、複数のニューロンからなる入力層と、複数のニューロンからなる中間層である隠れ層と、複数のニューロンからなる出力層とで構成される。中間層は、１層、または２層以上でもよい。
【０１６１】
図２７は、実施の形態４における学習に使用されるニューラルネットワークの構成例を示す図である。図２７に示すニューラルネットワークは、３層のニューラルネットワークである。入力層は、ニューロンＸ１，Ｘ２，Ｘ３を含む。中間層は、ニューロンＹ１，Ｙ２を含む。出力層は、ニューロンＺ１，Ｚ２，Ｚ３を含む。なお、各層のニューロンの数は任意とする。入力層へ入力された複数の値は、重みＷ１であるｗ１１，ｗ１２，ｗ１３，ｗ１４，ｗ１５，ｗ１６が乗算されて、中間層へ入力される。中間層へ入力された複数の値は、重みＷ２であるｗ２１，ｗ２２，ｗ２３，ｗ２４，ｗ２５，ｗ２６が乗算されて、出力層から出力される。出力層から出力される出力結果は、重みＷ１，Ｗ２の値に従って変化する。
【０１６２】
学習部７４のニューラルネットワークは、状態観測部７２によって観測される蓄熱温度および積層体積とデータ取得部７３によって取得される造形品質データ７５との組み合わせに基づいて作成されるデータセットに従って、いわゆる教師あり学習によって、蓄熱温度と積層体積との関係を学習する。すなわち、ニューラルネットワークは、蓄熱温度の値と積層体積の値とが入力層へ入力されることによって出力層から出力される結果が造形品質データ７５である教師データに近づくように重みＷ１，Ｗ２を調整することによって、蓄熱温度と積層体積との関係を学習する。
【０１６３】
ニューラルネットワークは、いわゆる教師なし学習によって、蓄熱温度と積層体積との関係を学習することもできる。教師なし学習とは、教師データを与えずに入力データを学習部７４へ大量に与えることによって、入力データがどのような分布をしているかを学習部７４に学習させるモデルである。
【０１６４】
教師なし学習の手法の１つに、入力データの類似性に基づいて入力データをグループ化するクラスタリングがある。学習部７４は、クラスタリングの結果を使って、何らかの基準を最適にするように出力の割り当てを行うことによって、出力の予測モデルを生成する。学習部７４は、教師なし学習と教師あり学習とが組み合わせられたモデルである半教師あり学習によって、異常の有無あるいは測定結果を学習しても良い。入力データのうちの一部については当該入力データに対応する教師データが与えられる一方、その他の入力データには教師データが与えられない場合の学習が、半教師あり学習に該当する。
【０１６５】
学習部７４は、複数の付加製造装置１００に対して作成されたデータセットに従って、蓄熱温度と積層体積との関係を学習しても良い。学習部７４は、同一の現場で使用される複数の付加製造装置１００からデータセットを取得しても良く、あるいは、互いに異なる現場で使用される複数の付加製造装置１００からデータセットを取得しても良い。データセットは、複数の現場において互いに独立して稼働する複数の付加製造装置１００から収集されたものであっても良い。複数の付加製造装置１００からのデータセットの収集を開始した後に、データセットが収集される対象に新たな付加製造装置１００が追加されても良い。また、複数の付加製造装置１００からのデータセットの収集を開始した後に、データセットが収集される対象から、複数の付加製造装置１００のうちの一部が除外されても良い。
【０１６６】
ある１つのＮＣ装置６０において学習を行った学習部７４は、当該ＮＣ装置６０以外の他のＮＣ装置６０へ取り付けられても良い。当該他のＮＣ装置６０に取り付けられた学習部７４は、当該他のＮＣ装置６０における再学習によって、出力の予測モデルを更新することができる。
【０１６７】
学習部７４が使用する学習アルゴリズムには、特徴量の抽出を学習する深層学習を用いることができる。学習部７４は、深層学習以外の公知の方法、例えば、遺伝的プログラミング、機能論理プログラミング、サポートベクターマシンなどに従って機械学習を実行してもよい。
【０１６８】
機械学習装置７１は、ＮＣ装置６０に設けられるものに限られない。機械学習装置７１は、ＮＣ装置６０の外部の装置であっても良い。機械学習装置７１は、ネットワークを介してＮＣ装置６０に接続可能な装置であっても良い。機械学習装置７１は、クラウドサーバ上に存在する装置であっても良い。
【０１６９】
実施の形態４によると、ＮＣ装置６０は、機械学習装置７１が学習した結果に基づいて蓄熱温度と積層体積との関係を決定する。積層体積算出部２５は、一定時間で凝固する材料５の積層体積を正確に算出することができる。これにより、ＮＣ装置６０は、高い加工精度による加工を付加製造装置１００に行わせることができる。なお、実施の形態４と同様の機械学習は、実施の形態２にかかるＮＣ装置５０に適用されても良い。
【０１７０】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【０１７１】
１，５０，６０  ＮＣ装置、２  レーザ発振器、３  ファイバーケーブル、４  材料供給装置、５  材料、６  ガス供給装置、７  配管、８  加工ヘッド、９  ビームノズル、１０  材料ノズル、１１  ガスノズル、１２  ヘッド駆動装置、１３  ステージ、１４  ベース材、１５  造形物、１５ａ  層、２０  加工プログラム、２１  条件データテーブル、２２  表面温度データ、２３  プログラム解析部、２４  蓄熱温度抽出部、２５  積層体積算出部、２６  積層形状変更部、２７  指令値生成部、２８  蓄熱温度データ、２９  積層体積データ、３１  ＣＰＵ、３２  ＲＡＭ、３３  ＲＯＭ、３４  外部記憶装置、３５  入出力インタフェース、５１  形状データ、５２  積層断面抽出部、５３  積層条件変更部、６１，７１  機械学習装置、６２  意思決定部、６３  高さ測定部、６４  高さデータ、６５，７２  状態観測部、６６，７４  学習部、６７  報酬計算部、６８  関数更新部、７３  データ取得部、７５  造形品質データ、１００  付加製造装置。
【要約】
数値制御装置であるＮＣ装置（１）は、被加工物における材料の供給位置を移動させる移動経路を加工プログラム（２０）の解析によって求めるプログラム解析部（２３）と、被加工物の表面温度のデータから、被加工物のうち移動経路を含む領域における蓄熱温度を抽出する蓄熱温度抽出部（２４）と、蓄熱温度と当該蓄熱温度において一定時間で凝固する材料の体積との関係に基づいて、造形物を形成する層の体積を算出する積層体積算出部（２５）と、層の体積に基づいて、層の形状を変更する積層形状変更部（２６）と、を備える。【図１】
0006758532.tif 000007
【図２】
0006758532.tif 000008
【図３】
0006758532.tif 000009
【図４】
0006758532.tif 000010
【図５】
0006758532.tif 000011
【図６】
0006758532.tif 000012
【図７】
0006758532.tif 000013
【図８】
0006758532.tif 000014
【図９】
0006758532.tif 000015
【図１０】
0006758532.tif 000016
【図１１】
0006758532.tif 000017
【図１２】
0006758532.tif 000018
【図１３】
0006758532.tif 000019
【図１４】
0006758532.tif 000020
【図１５】
0006758532.tif 000021
【図１６】
0006758532.tif 000022
【図１７】
0006758532.tif 000023
【図１８】
0006758532.tif 000024
【図１９】
0006758532.tif 000025
【図２０】
0006758532.tif 000026
【図２１】
0006758532.tif 000027
【図２２】
0006758532.tif 000028
【図２３】
0006758532.tif 000029
【図２４】
0006758532.tif 000030
【図２５】
0006758532.tif 000031
【図２６】
0006758532.tif 000032
【図２７】
0006758532.tif 000033