(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-15
(45)【発行日】2024-11-25
(54)【発明の名称】学習装置、プログラム作成装置、方法、およびプログラム
(51)【国際特許分類】
G05B 19/4155 20060101AFI20241118BHJP
G05B 19/4069 20060101ALI20241118BHJP
B23Q 15/00 20060101ALI20241118BHJP
G05B 19/4097 20060101ALN20241118BHJP
【FI】
G05B19/4155 V
G05B19/4069
B23Q15/00 301C
G05B19/4097 C
(21)【出願番号】P 2020169418
(22)【出願日】2020-10-06
【審査請求日】2023-09-06
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110002860
【氏名又は名称】弁理士法人秀和特許事務所
(72)【発明者】
【氏名】青山 功嗣
(72)【発明者】
【氏名】朝來野 佐織
(72)【発明者】
【氏名】斎藤 洸輔
【審査官】増山 慎也
(56)【参考文献】
【文献】特開2019-150902(JP,A)
【文献】特開2017-030067(JP,A)
【文献】特開2020-138279(JP,A)
【文献】特開2020-038529(JP,A)
【文献】特開2011-039609(JP,A)
【文献】特開2018-022204(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/4155
G05B 19/4069
B23Q 15/00
G05B 19/4097
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
物体の形状データの入力に応じてNCプログラムの作成条件を出力する学習モデルを用いて、NCプログラムの作成条件を取得する取得手段と、
前記取得手段により取得された作成条件に基づいてNCプログラムを作成する作成手段と、
前記作成手段により作成されたNCプログラムから計算された報酬に基づいて、前記
学習モデルから出力されるNCプログラムの作成条件が変更されるように、前記学習モデルを更新する学習手段と
を有
し、
前記物体は型であり、
前記報酬は、前記型から成形品を離型する際の離型性に関する情報を含む
ことを特徴とする学習装置。
【請求項2】
前記学習手段は、
前記NCプログラムから加工効率を計算し、
前記加工効率が高いほど高い報酬を計算する
ことを特徴とする請求項1に記載の学習装置。
【請求項3】
前記学習手段は、前記NCプログラムを用いて加工のシミュレーションを実行して、前記NCプログラムに従った加工効率を計算する
ことを特徴とする請求項2に記載の学習装置。
【請求項4】
前記学習手段は、
前記NCプログラムから加工面品位を計算し、
前記加工面品位が高いほど高い報酬を計算する
ことを特徴とする請求項1~3のいずれか1項に記載の学習装置。
【請求項5】
前記物体の各面について個別に、前記取得手段による作成条件の取得、前記作成手段によるNCプログラムの作成、および前記学習手段による前記学習モデルの更新が行われ、
前記学習手段は、処理対象の面に対応するパラメトリック曲面の空間方向と、前記処理
対象の面に対応するNCプログラムに従った加工経路の送り方向との一致度を、前記加工面品位として計算する
ことを特徴とする請求項4に記載の学習装置。
【請求項6】
前記学習手段は、
前記NCプログラムから離型性を計算し、
前記離型性が高いほど高い報酬を計算する
ことを特徴とする請求項1~5のいずれか1項に記載の学習装置。
【請求項7】
前記学習手段は、前記NCプログラムに従った加工経路の送り方向と前記物体の型抜き方向がなす角度と、90°との一致度を、前記離型性として計算する
ことを特徴とする請求項6に記載の学習装置。
【請求項8】
前記学習モデルは、前記物体の形状データと属性情報の入力に応じてNCプログラムの作成条件を出力する
ことを特徴とする請求項1~7のいずれか1項に記載の学習装置。
【請求項9】
前記属性情報は、前記物体の材質、公差、加工モード、および用途の少なくともいずれかを含む
ことを特徴とする請求項8に記載の学習装置。
【請求項10】
物体の形状データと属性情報の入力に応じてNCプログラムの作成条件を出力する学習モデルを用いて、NCプログラムの作成条件を取得する取得手段と、
前記取得手段により取得された作成条件に基づいてNCプログラムを作成する作成手段と、
前記作成手段により作成されたNCプログラムから計算された報酬に基づいて、前記学習モデルから出力される取得手段が取得するNCプログラムの作成条件が変更されるように、前記学習モデルを更新する学習手段と
を有し、
前記物体は型であり、
前記属性情報は、前記物体の型抜き方向を含む
ことを特徴とす
る学習装置。
【請求項11】
前記物体の各面について個別に、前記取得手段による作成条件の取得、前記作成手段によるNCプログラムの作成、および前記学習手段による前記学習モデルの更新が行われることを特徴とする請求項1~10のいずれか1項に記載の学習装置。
【請求項12】
前記
作成条件は、加工パスの種類と、加工パスを切り替える切替条件との少なくとも一方
である
ことを特徴とする請求項1~11のいずれか1項に記載の学習装置。
【請求項13】
前記加工パスは、等高線パス、走査線パス、または面沿いパスである
ことを特徴とする請求項12に記載の学習装置。
【請求項14】
請求項1~13のいずれか1項に記載の学習装置により更新された学習モデルを用いて、NCプログラムの作成条件を取得する取得手段と、
前記取得手段により取得された作成条件に基づいてNCプログラムを作成する作成手段と
を有することを特徴とするプログラム作成装置。
【請求項15】
請求項1~13のいずれか1項に記載の学習装置により更新された学習モデルを用いて、NCプログラムの作成条件を取得する取得手段と、
前記取得手段により取得された作成条件に基づいてNCプログラムを作成する作成手段と、
前記作成手段により作成されたNCプログラムに従って加工を行う加工手段と
を有することを特徴とする加工装置。
【請求項16】
請求項14に記載のプログラム作成装置と、
前記プログラム作成装置により作成されたNCプログラムに従って加工を行う加工装置と
を有することを特徴とする加工システム。
【請求項17】
物体の形状データの入力に応じてNCプログラムの作成条件を出力する学習モデルを用いて、NCプログラムの作成条件を取得する取得ステップと、
前記取得ステップにおいて取得された作成条件に基づいてNCプログラムを作成する作成ステップと、
前記作成ステップにおいて作成されたNCプログラムから計算された報酬に基づいて、前記
学習モデルから出力されるNCプログラムの作成条件が変更されるように、前記学習モデルを更新する学習ステップと
を有
し、
前記物体は型であり、
前記報酬は、前記型から成形品を離型する際の離型性に関する情報を含む
ことを特徴とする学習方法。
【請求項18】
請求項1~13のいずれか1項に記載の学習装置により更新された学習モデルを用いて、NCプログラムの作成条件を取得する取得ステップと、
前記取得ステップにおいて取得された作成条件に基づいてNCプログラムを作成する作成ステップと
を有することを特徴とするプログラム作成方法。
【請求項19】
請求項1~13のいずれか1項に記載の学習装置により更新された学習モデルを用いて、NCプログラムの作成条件を取得する取得ステップと、
前記取得ステップにおいて取得された作成条件に基づいてNCプログラムを作成する作成ステップと、
前記作成ステップにおいて作成されたNCプログラムに従って加工を行う加工ステップと
を有することを特徴とする加工方法。
【請求項20】
請求項17に記載の学習方法、請求項18に記載のプログラム作成方法、または請求項19に記載の加工方法の各ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、工作機械を数値制御するためのNCプログラムを作成するために用いられる学習装置、プログラム作成装置、方法、およびプログラムに関する。
【背景技術】
【0002】
NCプログラムを用いるNC加工機やマシニングセンタなどでは、径や長さの異なる複数の工具を用いて複数の加工方向から加工が行われる。工具の種類や、加工順序、加工方向、加工パスは、加工効率や加工面品位に影響を及ぼすため、NCプログラムの作成においては、それらを考慮しなければならない。特に、プラスチック成形に用いられる金型部品を加工で得る場合には、加工方向や加工パスが、プラスチック成形品を金型から取り外す際の離型性にも影響を及ぼすため、注意が必要である。加工パスには等高線パスや走査線パス、面沿いパスなど、様々な種類があり、それぞれに長所と短所がある。従来は、作業者が経験をもとに感覚的に加工パスを決定していた。ここで、微細形状や、曲面が含まれる複雑な形状などを加工で得る場合を考える。このような加工を効率よく行うためには、目標生成物(加工により得る物体)の材質や形状、目標生成物における加工面の用途や要求品質、加工モード(荒加工や仕上げ加工など)などに合わせて、複数の加工パスを切り替えて使用する必要がある。しかし、加工パスの種類(パス種類)と切替条件の決定には熟練を要し、熟練者でも最適なパス種類や切替条件の決定に時間を要したり、最適でないパス種類や切替条件を決定してしまうことがある。
【0003】
特許文献1には、加工形状データと、数値制御加工プログラムの生成方法と、生成された数値制御加工プログラムに対する編集内容とに基づいて、数値制御加工プログラムの生成方法を学習する学習装置が記載されている。
【0004】
特許文献2には、工作機械の各軸の速度のN階微分要素を、加工済みワークの加工精度、面品位、および加工時間のうち少なくともいずれか1つと関連付けて学習する学習装置が記載されている。
【先行技術文献】
【特許文献】
【0005】
【文献】国際公開第2020/012581号
【文献】特開2018-181217号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に記載の技術において、NCプログラムの編集はユーザが行う作業であり、当該編集には熟練と時間を要する。また、ユーザによる編集の内容に基づいて学習(機械学習)を行うため、ユーザの癖を含んだ学習結果が得られる。このため、作成されるNCプログラムがユーザの所望するNCプログラムであったとしても、加工効率や加工面品位などの観点から最適なNCプログラムであるとは限らない。さらに、複雑な形状を加工で得る場合などにおいては、人に依って評価が大きくばらつくNCプログラムが作成されやすい。特許文献2には、NCプログラムの自動作成や加工パスに関する記載は無い。このため、特許文献1,2に記載の技術でも、加工パスの種類と切替条件の決定に熟練と時間を要する。つまり、特許文献1,2に記載の技術では、好適なNCプログラムを容易に作成することができない。
【0007】
本発明は、好適なNCプログラムを容易に作成可能にする技術を提供することを目的と
する。
【課題を解決するための手段】
【0008】
本発明の第1の態様は、
物体の形状データの入力に応じてNCプログラムの作成条件を出力する学習モデルを用いて、NCプログラムの作成条件を取得する取得手段と、
前記取得手段により取得された作成条件に基づいてNCプログラムを作成する作成手段と、
前記作成手段により作成されたNCプログラムから計算された報酬に基づいて、前記学習モデルから出力されるNCプログラムの作成条件が変更されるように、前記学習モデルを更新する学習手段と
を有し、
前記物体は型であり、
前記報酬は、前記型から成形品を離型する際の離型性に関する情報を含む
ことを特徴とする学習装置である。
【0009】
本発明の第2の態様は、
上述した学習装置により更新された学習モデルを用いて、NCプログラムの作成条件を取得する取得手段と、
前記取得手段により取得された作成条件に基づいてNCプログラムを作成する作成手段と
を有することを特徴とするプログラム作成装置である。
【0010】
本発明の第3の態様は、
上述した学習装置により更新された学習モデルを用いて、NCプログラムの作成条件を取得する取得手段と、
前記取得手段により取得された作成条件に基づいてNCプログラムを作成する作成手段と、
前記作成手段により作成されたNCプログラムに従って加工を行う加工手段と
を有することを特徴とする加工装置である。
【0011】
本発明の第4の態様は、
上述したプログラム作成装置と、
前記プログラム作成装置により作成されたNCプログラムに従って加工を行う加工装置と
を有することを特徴とする加工システムである。
【0012】
本発明の第5の態様は、
物体の形状データの入力に応じてNCプログラムの作成条件を出力する学習モデルを用いて、NCプログラムの作成条件を取得する取得ステップと、
前記取得ステップにおいて取得された作成条件に基づいてNCプログラムを作成する作成ステップと、
前記作成ステップにおいて作成されたNCプログラムから計算された報酬に基づいて、前記学習モデルから出力されるNCプログラムの作成条件が変更されるように、前記学習モデルを更新する学習ステップと
を有し、
前記物体は型であり、
前記報酬は、前記型から成形品を離型する際の離型性に関する情報を含む
ことを特徴とする学習方法である。
【0013】
本発明の第6の態様は、
上述した学習装置により更新された学習モデルを用いて、NCプログラムの作成条件を取得する取得ステップと、
前記取得ステップにおいて取得された作成条件に基づいてNCプログラムを作成する作成ステップと
を有することを特徴とするプログラム作成方法である。
【0014】
本発明の第7の態様は、
上述した学習装置により更新された学習モデルを用いて、NCプログラムの作成条件を取得する取得ステップと、
前記取得ステップにおいて取得された作成条件に基づいてNCプログラムを作成する作成ステップと、
前記作成ステップにおいて作成されたNCプログラムに従って加工を行う加工ステップと
を有することを特徴とする加工方法である。
【0015】
本発明の第8の態様は、上述した学習方法、プログラム作成方法、または加工方法の各ステップをコンピュータに実行させるためのプログラムである。
【発明の効果】
【0016】
本発明によれば、好適なNCプログラムを容易に作成可能となる。
【図面の簡単な説明】
【0017】
【
図1】本発明の実施形態に係る学習装置の機能ブロック図である。
【
図2】本発明の実施形態に係る学習処理のフローチャートである。
【
図3】本発明の実施形態に係る加工効率評価処理のフローチャートである。
【
図4】本発明の実施形態に係る加工面品位評価処理のフローチャートである。
【
図5】本発明の実施形態に係る離型性評価処理のフローチャートである。
【
図6】本発明の実施形態に係る加工装置の機能ブロック図である。
【
図7】本発明の実施形態に係る加工処理のフローチャートである。
【
図8】本発明の実施形態に係る学習モデルを示す図である。
【
図9】本発明の実施形態に係るCADモデルを示す図である。
【
図10】本発明の実施形態に係るパス種類と切替条件を示す図である。
【発明を実施するための形態】
【0018】
本発明の実施形態について、適宜図面を参照しながら説明する。
図1は本実施形態に係る学習装置1の機能構成を示す図である。学習装置1は、好適なNCプログラムを作成可能にするために学習モデル2を学習する。学習装置1は、CADモデル取得部11、属性情報取得部12、学習部20、および学習モデル2を含む。学習部20は、データ変換部21、パス種類・切替条件取得部22、NCプログラム作成部23、加工効率評価部24、加工面品位評価部25、離型性評価部26、および機械学習部27を含む。
【0019】
学習装置1は、1つ以上のプロセッサと、主記憶装置、補助記憶装置、入力装置、および出力装置を含むコンピュータを含み、プロセッサがコンピュータプログラムを実行することにより上記の各部の機能が実現される。学習装置1が有するプロセッサは、CPU(Central Processing Unit)を含み、さらにGPU(Graphic Processing Unit)を含んでもよい。なお、上記の機能部のうち一部または全部は、専用のハードウェア回路によって実現されてもよい。
【0020】
CADモデル取得部11は、目標生成物(加工により得る物体)の形状を表す形状データ(例えばCADモデル13)を取得する。CADモデル13は、3次元CADにより生成された立体モデル(3DCADモデル)であり、目標生成物の形状を表す形状データの一例である。CADモデルのファイル形式にはIGESやPRTなど様々なファイル形式があるが、いずれのファイル形式を採用してもよい。
【0021】
属性情報取得部12は、目標生成物の属性情報(CADモデル取得部11で取得した形
状データに対応する属性情報)を取得する。目標生成物全体についての属性情報が取得されてもよいが、本実施形態では目標生成物の各面について個別に属性情報が取得されるとする。
【0022】
詳細は後述するが、学習モデル2は、NCプログラムを作成するための情報として、属性情報に基づく情報を出力する。好適な加工方法は目標生成物の材質に依存する。このため、属性情報に目標生成物の材質が含まれることが好ましい。また、公差が厳しい箇所では加工誤差やばらつきを小さくしなければならない。このため、属性情報に目標生成物の公差が含まれることが好ましい。要求される加工精度や加工速度、加工面品位などは加工モード(荒加工や仕上げ加工など)に依存する。例えば、荒加工では、想定された加工精度を満たした上で速い加工速度が要求される。仕上げ加工では、荒加工よりも高い加工精度や加工面品位が要求される。このため、属性情報に目標生成物の加工モードが含まれることが好ましい。加工モードとして、荒加工や仕上げ加工の他に、側面仕上げや隅仕上げなどが設定可能であってもよい。
【0023】
目標生成物が型(金型など)である場合には、離型性(成型品を型から取り外す際の取り外しやすさ)が高いことが好ましく、離型性は、型抜き方向(成形品を型から取り外す方向;型が開く方向;離型方向)に依存する。例えば、型抜き方向を考慮して加工面粗さや切削方向を決定して加工動作を行うことで、離型性に優れた型を得ることができる。このため、目標生成物が型である場合には、属性情報に目標生成物の型抜き方向が含まれることが好ましい。また、要求される加工精度や加工面品位などは目標生成物の用途に依存する。ここで、目標生成物が型である場合を考える。この場合には、用途(面の種類)として、製品となる成形品の面を形成する製品面や、他の型に組み合わせる型合わせ面などが挙げられる。例えば、製品面は製品の外観に影響するため、傷や切削ムラの少ない高品質な加工面であることが要求される。型合わせ面は、型の組み合わせ不良や、成形品におけるバリの発生などを防止するため、精度良く仕上げなければならい。このため、属性情報に目標生成物の用途が含まれることが好ましい。
【0024】
学習モデル2は、目標生成物の形状データ(CADモデル13)と属性情報の入力に応じて、NCプログラムの作成条件を出力する。作成条件は、加工パスの種類(パス種類)と切替条件の少なくとも一方を含む。例えば、学習モデル2は、CADモデル13と属性情報を入力データとして、ディープラーニングによってパス種類と切替条件を出力データとして得る。ディープラーニングとしては、多層ニューラルネットワーク(MULTI-Layer Perceptron、以下MLP)が用いられることが多い。但し、ディープラーニングのアルゴリズムとして、畳み込みニューラルネットワーク(CNN)など他のアルゴリズムが用いられてもよい。学習モデル2では、アンサンブル学習などが用いられてもよい。
【0025】
パス種類は、等高線パス、走査線パス、面沿いパスなどである。等高線パスは、加工座標系における高さ(Z方向の位置)を一定に保って、XY方向に工具を移動させ、被加工物の等しい高さの部分を輪郭切削するパスである。走査線パスは、XY平面に沿うように切削するパスである。面沿いパスは、被加工物の面の向きに沿うように切削するパスである。切替条件は、パス種類を切り替える条件であり、角度(切替角度)で示される。
【0026】
図8は、学習モデル2のネットワーク構造を示す図である。学習モデル2は、点群データ特徴抽出モデル80と多層ニューラルネットワーク(MLP)83を含む。点群データ特徴抽出モデル80は公知のモデルで、幾何学変換(transform)、MLP、MaxPoolingなどを含み、目標生成物の形状データ(点群データ81)の特徴を抽出する。学習モデル2は、点群データ特徴抽出モデル80を用いて抽出した特徴と、学習モデル2に入力された属性情報(数値データ82)とをMLP83に入力し、パス種類と
切替条件を出力84として得る。
【0027】
上述したように、学習モデル2では、入力データであるCADモデル13と属性情報から、出力データであるパス種類と切替条件が得られる。そして、
図1の学習部20は、学習モデル2の出力データに基づいてNCプログラムを作成し、作成したNCプログラムから計算された報酬に基づいて学習モデル2の学習(機械学習)を行う。具体的には、学習部20は、作成したNCプログラムから加工効率、加工面品位、および離型性を計算し、計算されたそれらに基づいて報酬を計算する。なお、報酬の計算方法は特に限定されず、例えば加工効率、加工面品位、および離型性の少なくともいずれかが計算されなくてもよい。
【0028】
したがって、本実施形態では、学習モデル2の入力データにより状態が定義され、定義された状態に対して得られる出力データ(学習モデル2の出力データ)が行動となる。さらに、その行動によって作成されたNCプログラムを解析することで得られた加工効率、加工面品位および離型性に基づいて報酬が計算され、価値関数(評価関数)が更新される。以上を繰り返し、種類の異なる大量の目標生成物についての学習が行われる。これにより学習が進むことで、より好適なNCプログラムが作成可能となるように、学習モデル2から出力される行動(パス種類や切替条件など)が変更される。
【0029】
上述したように、学習部20は、データ変換部21、パス種類・切替条件取得部22、NCプログラム作成部23、加工効率評価部24、加工面品位評価部25、離型性評価部26、および機械学習部27を含む。
【0030】
データ変換部21は、CADモデル13から取得した特定の面データ(目標生成物の特定の面を表したデータ)を、点群データに変換する。点群データは、CADモデル13で表現された立体の特定の面を点の集合体で表したデータであり、座標データ(x,y,z)で表現される。なお、点群データは、座標データに限らず、各点の法線ベクトルのデータを含んでもよい。CADモデル13から点群データへの変換の方法としては、例えばCADモデル13をSTL(Stereolithography)データとして保存し、STLデータの三角パッチの頂点の座標および法線ベクトルを点群データとして抽出する方法を利用することができる。点群データにおける点群の数は、多ければ多いほど目標生成物の形状をより忠実に表現できるため好ましい。しかしながら、コンピュータで処理を行う上でメモリなどのリソースの制約があるため、リソースの制約を基に最大の点群数が決定される。また、データ変換部21は、目標生成物の属性情報を数値データに変換する。
【0031】
パス種類・切替条件取得部22は、データ変換部21によって変換された点群データと数値データを学習モデル2に入力して、学習モデル2が出力したパス種類と切替条件(CADモデル13の特定の面に対応するパス種類と切替条件)を取得する。
【0032】
NCプログラム作成部23は、パス種類・切替条件取得部22により取得されたパス種類と切替条件、およびそれらに対応する特定の面(面データ)を入力として、特定の面に対応するNCプログラムを作成する。NCプログラム作成部23は、学習装置1に内蔵されたNCプログラム作成機能によりNCプログラムを作成してもよいし、CAMシステムを用いてNCプログラムを作成してもよい。CAMシステムは、所定の条件を入力するとNCプログラムが自動で作成されるシステムである。2つ以上の加工パスを扱うことができれば、CAMシステムの種類は特に限定されない。
【0033】
加工効率評価部24は、NCプログラム作成部23で作成されたNCプログラムから、当該NCプログラムを使用した場合の加工効率を計算(評価)する。例えば、加工効率評
価部24は、加工効率として、加工量と加工時間から、単位時間あたりの加工量を評価する。なお、加工効率評価部24による加工効率の評価の詳細については後述する。
【0034】
加工面品位評価部25は、NCプログラム作成部23で作成されたNCプログラムから、当該NCプログラムを使用した場合の加工面品位を計算(評価)する。例えば、加工面品位評価部25は、加工面品位として、目標生成物の面形状と、NCプログラムで表現された加工経路との関係性(相関)を評価する。なお、加工面品位評価部25による加工面品位の評価の詳細については後述する。
【0035】
離型性評価部26は、NCプログラム作成部23で作成されたNCプログラムから、当該NCプログラムを使用した場合の離型性に対する評価を行う。例えば、離型性評価部26は、離型性として、目標生成物の型抜き方向と、NCプログラムで表現された加工経路のと関係性(相関)を評価する。なお、離型性評価部26による離型性の評価の詳細については後述する。
【0036】
機械学習部27は、学習モデル2を学習する。目標生成物のCADモデル13と属性情報に対してどのような行動(パス種類と切替条件)を採用するのが正しいかを一意に決定するのは困難である。そこで、本実施形態では、報酬を与えるだけで学習する強化学習のアルゴリズムを採用する。強化学習のアルゴリズムには、Q-Learning、Deep Q-Network(DQN)、Actor-Criticなどがあるが、本実施形態ではいずれのアルゴリズムが採用されてよい。本実施形態では、深層強化学習モデルにおける各ノード間の重みをバックプロパゲーション法により更新するとする。バックプロパゲーション法は、ニューラルネットワークを学習させる際に用いられるアルゴリズムの1つである。これにより、学習モデル2の価値関数(評価関数)が更新される。機械学習部27は、加工効率評価部24、加工面品位評価部25、および離型性評価部26による評価結果を基に報酬を決定する。
【0037】
次に、
図2を参照しながら、学習部20が実行する学習モデル2の学習処理の詳細について説明する。
【0038】
ステップS100において、機械学習部27は、学習モデル2の初期化を行う。具体的には、機械学習部27は、深層強化学習モデルにおける各ノード間の重みを、ランダムな値に設定する。
【0039】
ステップS101において、学習部20は、CADモデル取得部11が取得したCADモデル13から、処理対象面データ(目標生成物の1つの面(処理対象面)の面データ)を取得する。また、学習部20は、属性情報取得部12が取得した複数の属性情報(目標生成物の複数の面にそれぞれ対応する複数の属性情報)から、処理対象面の属性情報を取得する。ここでは、目標生成物が型であるとし、属性情報は、型抜き方向や面法線方向(処理対象面に垂直な方向)に対する公差として、型の設計工程において予め設定された数値を含むとする。また、属性情報は、目標生成物の材質、加工モード、用途などとして、Label表現で定義された情報を含むとする。処理対象面データとしては、STLデータが取得されるとする。
【0040】
ステップS102において、データ変換部21は、ステップS101で取得された処理対象面データを点群データに変換し、ステップS101で取得された属性情報(処理対象面の属性情報)を数値データに変換する。ここでは、処理対象面データ(STLデータ)の三角パッチの頂点のx,y,z座標および法線ベクトルが抽出され、2048点からなる点群データが取得されるとする。
【0041】
ステップS103において、パス種類・切替条件取得部22は、ステップS102で得られた点群データと数値データから、パス種類と切替条件を取得する。具体的には、パス種類・切替条件取得部22は、ステップS102で得られた点群データと数値データを学習モデル2に入力して、学習モデル2から出力されたパス種類と切替条件を取得する。
【0042】
ステップS104において、NCプログラム作成部23は、ステップS103で取得されたパス種類と切替条件、およびそれらに対応する処理対象面データを入力として、処理対象面(処理対象面データ)に対応するNCプログラムを作成する。ここでは、等高線パス、走査線パス、および面沿いパスの3種類の加工パスを扱うことができるCAMシステムが使用されたとする。
【0043】
ステップS105において、加工効率評価部24は、ステップS104で作成されたNCプログラムに基づく加工効率評価処理を行う。加工効率評価処理は、NCプログラムに基づく加工効率を評価する処理である。
【0044】
ここで、
図3を参照しながら、加工効率評価部24による加工効率評価処理(ステップS105)について具体的に説明する。
【0045】
ステップS201において、加工効率評価部24は、ステップS104で作成されたNCプログラムを用いて加工シミュレーションを実行する。加工シミュレーションは、ステップS101で取得された属性情報に含まれる材質や加工モード(荒加工や仕上げ加工など)などを考慮して行われてもよい。加工シミュレーションは、市販のシステムによって行われてもよい。NCプログラムに従った加工の量(加工量)と時間(加工時間)が算出されれば、加工シミュレーションの方法は特に限定されない。
【0046】
ステップS202において、加工効率評価部24は、ステップS201で算出した加工量を、ステップS201で算出した加工時間で割ることにより、単位時間あたりの加工量を加工効率として算出する。
【0047】
ステップS203において、加工効率評価部24は、ステップS202で算出した加工量(単位時間あたりの加工量)を標準加工量と比較する。標準加工量は、予め定められた加工量である。目標生成物の材質ごとや、加工モードごとに異なる標準加工量が定められてもよい。その場合には、ステップS101で取得された属性情報に含まれる材質や加工モードなどに応じて、それらに対応する標準加工量が使用される。標準加工量は、例えば、過去の加工(加工シミュレーションでない実際の加工)における単位時間あたりの加工量である。
【0048】
ステップS204において、加工効率評価部24は、ステップS203での比較結果に基づいて、加工効率に関する報酬(加工効率報酬)を算出する。具体的には、加工効率評価部24は、ステップS202で算出した加工量(単位時間あたりの加工量)が大きいほど高い加工効率報酬、つまりステップS104で作成されたNCプログラムに基づく加工効率が高いほど高い加工効率報酬を算出する。これにより、単位時間あたりの加工量が大きいほど(加工効率が高いほど)加工が優れているとして、学習モデル2を学習することができる。本実施形態では、加工効率評価部24は、単位時間あたりの加工量が標準加工量よりも大きい場合に正の報酬を決定し、単位時間あたりの加工量が標準加工量よりも小さい場合に負の報酬を決定する。なお、加工効率(単位時間あたりの加工量)の連続的な変化に対して加工効率報酬が段階的に変化してもよいし、連続的に変化してもよい。
【0049】
図2の説明に戻る。ステップS106において、加工面品位評価部25は、ステップS104で作成されたNCプログラムに基づく加工面品位評価処理を行う。加工面品位評価
処理は、NCプログラムに基づく加工面品位を評価する処理である。
【0050】
ここで、
図4を参照しながら、加工面品位評価部25による加工面品位評価処理(ステップS106)について具体的に説明する。
【0051】
ステップS301において、加工面品位評価部25は、処理対象面をパラメトリック曲面として定義し、u,v方向(パラメトリック曲面の空間方向)を取得する。パラメトリック曲面は、三次元空間(xyz空間)に対応した2つのパラメータ(ここではu,v方向)によって表現される曲面である。1組のパラメータ(u,v)を与えることによりxyz空間上での三次元位置(x,y,z)が決定される。(u,v)から(x,y,z)を決定する際に使用する関数によって、平面を円筒面、Bスプライン、NURBSなどの曲面で表現することができる。
【0052】
ステップS302において、加工面品位評価部25は、ステップS104で作成されたNCプログラムから、加工経路の送り方向を抽出する。加工経路の方向には送り方向とピックフィード方向があり、送り方向は主に切削加工を行う方向である。
【0053】
ステップS303において、加工面品位評価部25は、ステップS302で抽出した送り方向を、u-v方向ベクトルに変換する。u-v方向ベクトルは、ステップS301で取得したu,v方向に基づく送り方向の単位ベクトルである。換言すれば、u-v方向ベクトルは、処理対象面をパラメトリック曲面として定義した場合の送り方向の単位ベクトルである。
【0054】
ステップS304において、加工面品位評価部25は、加工面品位を評価して、加工面品位に関する報酬(加工面品位報酬)を算出する。ステップS303で得られたu-v方向ベクトルの方向がu方向またはv方向に近いほど、加工面の状態(表面粗さや光沢ムラの程度)は良好となる。そこで加工面品位評価部25は、処理対象面のu,v方向とu-v方向ベクトルの方向とが一致する度合い(一致度)を加工面品位として評価して、加工面品位が高いほど高い加工面品位報酬を算出する。具体的には、加工面品位評価部25は、u-v方向ベクトル(u,v)が(±1,0)または(0,±1)に近いほど高い加工面品位報酬を算出する。これにより、u-v方向ベクトルの方向が処理対象面のu,v方向に近いほど加工が優れているとして、学習モデル2を学習することができる。本実施形態では、加工面品位評価部25は、u方向またはv方向に対するu-v方向ベクトルの方向の角度が0°~45°の範囲内である場合に、当該角度の増加に対して加工面品位報酬が+1から-1まで減少するように、加工面品位報酬を算出する。上記角度が90°~135°、180°~225°、および270°~315°のいずれかの範囲内である場合も同様である。そして、加工面品位評価部25は、u方向またはv方向に対するu-v方向ベクトルの方向の角度が45°~90°の範囲内である場合に、当該角度の増加に対して加工面品位報酬が-1から+1まで増加するように、加工面品位報酬を算出する。上記角度が135°~180°、225°~270°、および315°~360°のいずれかの範囲内である場合も同様である。なお、u方向またはv方向に対するu-v方向ベクトルの方向の角度の連続的な変化に対して加工面品位報酬が段階的に変化してもよいし、連続的に変化してもよい。処理対象面のu,v方向とu-v方向ベクトルの方向との一致度を算出するにあたって、ステップS101で取得された属性情報に含まれる公差や、加工モード(荒加工や仕上げ加工など)、用途(面の種類)などが考慮されてもよい。例えば、u-v方向ベクトルの方向と一致すると判定される範囲(u-v方向ベクトルの方向からのずれ量)が、公差や加工モード、用途に基づいて決定されてもよい。
【0055】
図2の説明に戻る。ステップS107において、離型性評価部26は、ステップS104で作成されたNCプログラムに基づく離型性評価処理を行う。離型性評価処理は、NC
プログラムに基づく離型性を評価する処理である。
【0056】
ここで、
図5を参照しながら、離型性評価部26による離型性評価処理(ステップS107)について具体的に説明する。
【0057】
ステップS401において、離型性評価部26は、ステップS101で取得された属性情報から、型抜き方向を抽出する。
【0058】
ステップS402において、離型性評価部26は、ステップS104で作成されたNCプログラムから、加工経路の送り方向を抽出する。
【0059】
ステップS403において、離型性評価部26は、ステップS401で抽出した型抜き方向のベクトルと、ステップS402で抽出した送り方向のベクトルとのなす角度(型抜き角度)を算出する。
【0060】
ステップS404において、離型性評価部26は、離型性を評価して、離型性に関する報酬(離型性報酬)を算出する。ステップS401で抽出した型抜き方向がステップS402で抽出した送り方向に垂直な方向に近いほど、離型抵抗(成型品を型から取り外す際の抵抗)は小さくなる。そこで離型性評価部26は、ステップS403で算出した型抜き角度と90°との一致度を離型性として評価して、離型性が高いほど高い離型性報酬を算出する。具体的には、離型性評価部26は、ステップS403で算出した型抜き角度が90°に近いほど高い離型性報酬を算出する。これにより、型抜き角度が90°に近いほど加工が優れているとして、学習モデル2を学習することができる。本実施形態では、離型性評価部26は、型抜き角度が0°~90°の範囲内である場合に、型抜き角度の増加に対して離型性報酬が-1から+1まで増加するように、離型性報酬を算出する。そして、離型性評価部26は、型抜き角度が90°~180°の範囲内である場合に、型抜き角度の増加に対して離型性報酬が+1から-1まで減少するように、離型性報酬を算出する。なお、型抜き角度の連続的な変化に対して離型性報酬が段階的に変化してもよいし、連続的に変化してもよい。
【0061】
図2の説明に戻る。ステップS108において、機械学習部27は、ステップS105で算出された加工効率報酬、ステップS106で算出された加工面品位報酬、およびステップS107で算出された離型性報酬に基づいて、最終的な報酬を決定する。例えば、機械学習部27は、加工効率報酬、加工面品位報酬、および離型性報酬の平均や合計を、最終的な報酬として決定する。機械学習部27は、最終的な報酬を決定する際に、加工効率報酬、加工面品位報酬、および離型性報酬の重み付けを行ってもよい。加工面品位報酬と離型性報酬が一定であれば、加工効率報酬が高いほど最終的な報酬は高くなる。同様に、加工効率報酬と離型性報酬が一定であれば、加工面品位報酬が高いほど最終的な報酬は高くなり、加工効率報酬と加工面品位報酬が一定であれば、離型性報酬が高いほど最終的な報酬は高くなる。
【0062】
ステップS109において、機械学習部27は、ステップS108で決定した報酬に基づいて、学習モデル2を学習する。具体的には、機械学習部27は、ステップS108で決定した報酬に基づいて、深層強化学習モデルにおける各ノード間の重みを更新する。
【0063】
ステップS110において、機械学習部27は、目標生成物の全ての面について学習を行ったか否かを判定する。学習を行っていない面が存在すると判定された場合(ステップS110:No)には、学習部20は、学習を行っていない面を処理対象面として選択し(処理対象面の切り替え)、ステップS101に処理を戻す。目標生成物の全ての面について学習が行われるまで、処理対象面を切り替えながらステップS101~S110の処
理が繰り返される(学習の繰り返し)。そして、全ての面について学習を行ったと判定されると(S110:Yes)、学習部20は、ステップS111に処理を進める。例えば、目標生成物が10面で構成される場合には、学習部20は、10面のそれぞれについて学習を行い、ステップS111に処理を進める。
【0064】
ステップS111において、学習部20は、学習モデル2の学習が終了したか否かを判定する。学習の終了条件は適宜設定すればよいが、例えば20000などの所定数の目標生成物についてステップS101~S110の処理を行ったことを終了条件とすることができる。学習部20は、学習モデル2の学習が終了していないと判定した場合(S111:No)には、ステップS101に処理を戻し、学習モデル2の学習が終了したと判定した場合(S111:Yes)には、学習処理を終了する。
【0065】
次に、
図6を参照しながら、学習装置1によって学習された学習モデル2を用いて加工を行う加工装置100について説明する。
図6は、学習装置1によって学習された学習モデル2を用いた推論を実行する加工装置100の機能構成を示す図である。加工装置100は、CADモデル取得部111、属性情報取得部112、推論部120、学習モデル2、NCプログラム作成部123、および加工部124を含む。推論部120は、データ変換部121とパス種類・切替条件取得部122を含む。
【0066】
加工装置100は、1つ以上のプロセッサと、主記憶装置、補助記憶装置、入力装置、および出力装置を含むコンピュータを含み、プロセッサがコンピュータプログラムを実行することにより上記の各部の機能が実現される。加工装置100が有するプロセッサは、CPUを含み、さらにGPUを含んでもよい。なお、上記の機能部のうち一部または全部は、専用のハードウェア回路によって実現されてもよい。
【0067】
CADモデル取得部111は、学習装置1のCADモデル取得部11と同様の機能を有し、属性情報取得部112は、学習装置1の属性情報取得部12と同様の機能を有する。CADモデル90は、
図1のCAD13と同様に、3次元CADにより生成された立体モデル(3DCADモデル)であり、目標生成物の形状を表す形状データの一例である。
【0068】
推論部120は、学習装置1によって学習された学習モデル2を用いてパス種類と切替条件を推論して出力する。推論部120において、データ変換部121は、学習装置1のデータ変換部21と同様の機能を有する。パス種類・切替条件取得部122は、学習装置1のパス種類・切替条件取得部22と同様の機能を有する。推論部120の処理により、目標生成物の各面について個別にパス種類と切替条件が取得される。
【0069】
NCプログラム作成部123は、目標生成物の各面について取得されたパス種類と切替条件を入力として、目標生成物全体に対応するNCプログラムを作成する。学習装置1のNCプログラム作成部23と同様に、NCプログラム作成部123によるNCプログラムの作成方法は特に限定されない。
【0070】
加工部124は、NCプログラム作成部123で作成されたNCプログラムに従って被加工物(ワーク)を加工する。これにより、目標生成物に対応する生成物が得られる。
【0071】
次に、
図7を参照しながら、加工装置100が実行する加工処理の詳細について説明する。
【0072】
ステップS500において、推論部120は、CADモデル取得部111が取得したCADモデル90から、処理対象面データを取得する。また、推論部120は、属性情報取得部112が取得した複数の属性情報(目標生成物の複数の面にそれぞれ対応する複数の
属性情報)から、処理対象面の属性情報を取得する。ステップS500の処理は、
図2のステップS101の処理と同様である。
【0073】
ステップS501において、データ変換部121は、ステップS500で取得された処理対象面データを点群データに変換し、ステップS500で取得された属性情報(処理対象面の属性情報)を数値データに変換する。ステップS501の処理は、
図2のステップS102の処理と同様である。
【0074】
ステップS502において、パス種類・切替条件取得部122は、ステップS501で得られた点群データと数値データから、パス種類と切替条件を取得する。ステップS502の処理は、
図2のステップS103の処理と同様である。具体的には、パス種類・切替条件取得部122は、ステップS501で得られた点群データと数値データを、学習装置1によって学習された学習モデル2に入力して、ディープラーニングによって学習モデル2から出力されたパス種類と切替条件を取得する。
【0075】
図9および
図10(A)~10(C)を参照しながら、ステップS502で取得されるパス種類と切替条件の具体例について説明する。
【0076】
図9は、CADモデル取得部111が取得するCADモデル90の一例を示す。
図9のCADモデル90は、円筒形状物を射出成形するための射出成形用金型部品のCADモデルである。CADモデル90は溝91を有し、溝91は曲面92とそれに接する平面93,94から構成されている。平面93はさらに平面95と接しており、平面93と平面95のなす角度は90°である。平面95は座標系97(CAD座標系)のXY平面と平行な面である。同様に、平面94はさらにXY平面と平行な平面96と接しており、平面94と平面96のなす角度は90°である。型抜き方向は平面95,96の法線方向(座標系97の+Z方向)であり、属性情報の少なくとも一部として加工装置100に与えられる。以下、CADモデル90の複数の面のうち、CADモデル90の手前から座標系97のY軸方向に見た面を正面とし、CADモデル90の上方から座標系97の-Z軸方向に見た面を上面とする。
【0077】
図10(A)は、
図9のCADモデル90を加工装置100に入力して、パス種類・切替条件取得部122で得られたパス種類と切替条件の一例を示す。
図10(B)は、
図9のCADモデル90を上面の側から見た図である。ここでは、曲面92が処理対象面であるとする。曲面92に対して、加工パス1001a(破線部)と加工パス1001b(一点鎖線部;太線部)が決定されている。加工パス1001aは等高線パスであり、加工パス1001bは走査線パスである。矢印1002は、加工パスの種類が切り替わる切替箇所を示す。平面93,94に近い部分、すなわち面の傾斜角度が大きい部分に等高線パスが採用されており、溝91の中央部分すなわち面の傾斜角度が緩やかな部分に走査線パスが採用されている。加工パス1001a,1001bは、型抜き方向(平面95の法線方向)に対して切削の送り方向が略直交するように決定されている。
【0078】
図10(c)は、CADモデル90を正面の側から見た図である。角度1003(θ)は、矢印1002で示す箇所(加工パスの切替箇所)における曲面92の接線(XZ平面と平行な接線)とCADモデル90の底面(加工基準面(XY平面)と平行または同一な面)とのなす角度である。ここでは、角度1003(θ)が33°であるとする。
【0079】
一般的に、等高線パスでは、工具のZ位置は固定され、工具はX軸とY軸の2軸方向にしか動かないため、工具が3軸方向に動く加工パスよりも加工精度が高い。切削面の傾斜(XZ平面内での傾斜)が急峻であれば、ピッチ(パス間隔)が小さくなり、好適な切削が可能となる。しかし、傾斜が緩やかであると、ピッチを細かくしても、傾斜が急峻であ
る場合に比べピッチが相対的に広くなってしまうため、表面に合った形状が加工で得にくい。さらに、ピッチを細かくすると、等高線パス間でZ方向の昇降回数が増すため、実質的に切削をしていないエアーカットが増してしまう。そのため、等高線パスは切削面の傾斜(傾斜角度)が大きい場合に適している。一方、走査線パスでは、工具がXYZ軸の3軸方向に動くため、等高線パスよりも加工精度が劣るものの、エアーカットが少なく加工時間が短縮される。切削面の傾斜が急峻であると、ピッチを細かくしても、傾斜が緩やかである場合に比べピッチが相対的に広くなってしまうため、表面に合った形状が加工で得にくい。そのため、走査線パスは切削面の傾斜が緩やかな場合に適している。
【0080】
推論部120により、上記のような加工の知識をユーザが有していなくても、曲面92について、「角度1003(θ)=33°で等高線パスと走査線パスを切り替える」という加工効率、加工面品位、離型性の観点から好ましい結果を得ることができる。そして、そのような結果を用いることで、好適なNCプログラムを容易に(効率良く)作成することが可能になる。
【0081】
図7の説明に戻る。ステップS503において、推論部120は、目標生成物の全ての面について推論を行ったか否かを判定する。推論部120は、推論を行っていない面が存在すると判定した場合(ステップS503:No)には、推論を行っていない面を処理対象面として選択し(処理対象面の切り替え)、ステップS500に処理を戻す。目標生成物の全ての面について推論が行われるまで、処理対象面を切り替えながらステップS500~S503の処理が繰り返される(推論の繰り返し)。そして、全ての面について推論を行ったと判定されると(S503:Yes)、加工装置100は、ステップS504に処理を進める。例えば、目標生成物が10面で構成される場合には、10面のそれぞれについて推論が行われ、ステップS504に処理が進められる。
【0082】
ステップS504において、NCプログラム作成部123は、得られた推論結果(目標生成物の各面について取得されたパス種類と切替条件)を用いて、目標生成物全体に対応するNCプログラムを作成する。
【0083】
ステップS505において、加工部124は、ステップS504で作成されたNCプログラムに従って被加工物(ワーク)を加工する。これにより、目標生成物に対応する生成物が得られる。例えば、加工は、エンドミルを用いた切削加工である。加工部124は、NCプログラムに従って動作するものであれば特に限定されない。
【0084】
以上述べたように、本実施形態に係る学習装置や加工装置によれば、好適なNCプログラムが容易に作成可能となる。例えば、加工効率、加工面品位、離型性などに優れた加工を実現するNCプログラムが短時間で作成可能となる。ひいては、加工面品位や離型性に優れた生成物を効率良く得ることができる。
【0085】
なお、以上に記載した実施形態は、本発明の一具体例であり、本発明は様々な態様により実施可能である。例えば、学習モデル2のモデル構造には、物体の形状データおよび属性情報からパス種類や切替条件などの行動を決定することができるものであれば、任意の構造を採用できる。また、学習アルゴリズムには、Deep Q-Network以外の深層強化学習アルゴリズム、およびQ Learning、Actor Critic、SARSAのような強化学習アルゴリズムを採用可能である。
【0086】
また、上記の説明では、学習モデル2を学習する学習装置1と、学習モデル2を使用する加工装置100とをそれぞれ別個の装置として説明した。ただし、1つの装置(コンピュータ)に学習装置1と加工装置100の両方の機能を実装してもよい。学習装置1により学習された学習モデル2は、クラウド上などに保存されてもよい。その場合には、加工
装置100は、学習モデル2を備えずに、クラウド上などに保存された学習モデル2を利用して、当該学習モデル2からパス種類や切替条件などを取得してもよい。加工装置100は、NCプログラムを作成するプログラム作成装置と、プログラム作成装置により作成されたNCプログラムに従って加工を行う加工装置とを含んだ加工システムとして捉えてもよい。その場合には、加工装置として、NCプログラムに従って動作する市販の加工機を利用してもよい。また、プログラム作成装置に学習装置1の機能を実装してもよい。
【0087】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0088】
1:学習装置 20:学習部 22:パス種類・切替条件取得部
23:NCプログラム作成部 27:機械学習部
100:加工装置 120:推論部 122:パス種類・切替条件取得部
123:NCプログラム作成部 124:加工部