IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オートデスク,インコーポレイテッドの特許一覧

特表2023-531911コンピュータ支援製造のための強化学習によるツールパスの生成
<>
  • 特表-コンピュータ支援製造のための強化学習によるツールパスの生成 図1
  • 特表-コンピュータ支援製造のための強化学習によるツールパスの生成 図2A
  • 特表-コンピュータ支援製造のための強化学習によるツールパスの生成 図2B
  • 特表-コンピュータ支援製造のための強化学習によるツールパスの生成 図2C
  • 特表-コンピュータ支援製造のための強化学習によるツールパスの生成 図3
  • 特表-コンピュータ支援製造のための強化学習によるツールパスの生成 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-07-26
(54)【発明の名称】コンピュータ支援製造のための強化学習によるツールパスの生成
(51)【国際特許分類】
   G05B 19/4097 20060101AFI20230719BHJP
   G06F 30/27 20200101ALI20230719BHJP
   G06F 30/10 20200101ALI20230719BHJP
   G05B 19/4155 20060101ALI20230719BHJP
   G06N 20/00 20190101ALN20230719BHJP
【FI】
G05B19/4097 C
G06F30/27
G06F30/10
G05B19/4155 V
G06N20/00
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022577769
(86)(22)【出願日】2021-06-03
(85)【翻訳文提出日】2022-12-16
(86)【国際出願番号】 US2021035631
(87)【国際公開番号】W WO2021262413
(87)【国際公開日】2021-12-30
(31)【優先権主張番号】63/042,264
(32)【優先日】2020-06-22
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/153,266
(32)【優先日】2021-01-20
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】500280087
【氏名又は名称】オートデスク,インコーポレイテッド
(74)【代理人】
【識別番号】100076185
【弁理士】
【氏名又は名称】小橋 正明
(72)【発明者】
【氏名】ラベール, デイビッド パトリック
(72)【発明者】
【氏名】ビン アブ ベイカー, アクマル アリフ
(72)【発明者】
【氏名】メーハン, サーラス
【テーマコード(参考)】
3C269
5B146
【Fターム(参考)】
3C269AB19
3C269EF59
3C269EF71
3C269MN40
3C269MN44
3C269QB02
5B146AA17
5B146BA04
5B146DC03
5B146DE12
5B146EA01
(57)【要約】
サブトラクティブ製造システム及び技法で使用するための強化学習によって生成されたツールパスを使用する物理的構造のコンピュータ支援設計及び製造のための、媒体符号化されたコンピュータプログラム製品を含む方法、システム、及び装置は、コンピュータ支援設計または製造プログラムで、製造可能オブジェクトの3次元モデルを取得することと、トレーニング中に強化学習を採用する機械学習アルゴリズムに3次元モデルの少なくとも一部分を提供することによって製造可能オブジェクトの少なくとも一部分を製造するために、コンピュータ支援設計または製造プログラムによってコンピュータ制御製造システムにより使用可能なツールパスを生成することであって、機械学習アルゴリズムが、ツールパスの円滑性、ツールパスの長さ、及び3次元モデルとの衝突を回避することを含む所望のツールパス特性と相関する報酬を含む1つ以上のスコアリング関数を含む、生成することと、製造可能オブジェクトの少なくとも一部分を製造するために、コンピュータ制御製造システムにツールパスを提供することと、を含む。
【選択図】図1
【特許請求の範囲】
【請求項1】
方法であって、
コンピュータ支援設計または製造プログラムで、製造可能オブジェクトの3次元(3D)モデルを取得することと、
トレーニング中に強化学習を採用する機械学習アルゴリズムに前記3次元モデルの少なくとも一部分を提供することによって前記製造可能オブジェクトの少なくとも一部分を製造するために、前記コンピュータ支援設計または製造プログラムによって、コンピュータ制御製造システムにより使用可能なツールパスを生成することであって、前記機械学習アルゴリズムが、ツールパスの円滑性、ツールパスの長さ、及び前記3次元モデルとの衝突を回避することを含む所望のツールパス特性と相関する報酬を含む、1つ以上のスコアリング関数を含む、前記生成することと、
前記製造可能オブジェクトの少なくとも前記一部分を製造するために、前記コンピュータ制御製造システムに前記ツールパスを提供することと、
を含む、前記方法。
【請求項2】
前記所望のツールパス特性が、選択された切削ツールのツールエンゲージメントと、選択されたツールの接触トラックと、を含む、請求項1に記載の方法。
【請求項3】
前記機械学習アルゴリズムが、可変送り及び/または速度を採用する、請求項1~2のいずれか一項に記載の方法。
【請求項4】
前記機械学習アルゴリズムが、2つ以上の機械学習アルゴリズムを含み、前記3次元モデルの少なくとも前記一部分を提供することが、
前記2つ以上の機械学習アルゴリズムのうちの第1のアルゴリズムを使用して前記3次元モデルの少なくとも前記一部分を処理することと、
前記2つ以上の機械学習アルゴリズムのうちの第2のアルゴリズムを使用して前記3次元モデルの前記一部分を処理することと、
を含む、請求項1に記載の方法。
【請求項5】
前記2つ以上の機械学習アルゴリズムのうちの前記第1のアルゴリズムが、前記2つ以上の機械学習アルゴリズムのうちの前記第2のアルゴリズムで処理される前記3次元モデルの前記一部分からデータを生成するために使用される畳み込みニューラルネットワークを含む、請求項4に記載の方法。
【請求項6】
前記2つ以上の機械学習アルゴリズムのうちの前記第1のアルゴリズムが、前記3次元モデルの少なくとも前記一部分の低解像度ビューで動作し、前記2つ以上の機械学習アルゴリズムのうちの前記第2のアルゴリズムが、前記3次元モデルの前記一部分の高解像度ビューで動作する、請求項4に記載の方法。
【請求項7】
前記機械学習アルゴリズムが、アドバンテージベースのアクタークリティカルな機械学習アーキテクチャを含む、請求項1~2及び4のいずれか一項に記載の方法。
【請求項8】
前記ツールパスが、前記コンピュータ制御製造システムによる2.5軸機械加工用である、請求項1~2及び4~6のいずれか一項に記載の方法。
【請求項9】
前記製造可能なオブジェクトの少なくとも前記一部分を製造するために、前記コンピュータ制御製造システムによって使用可能な前記ツールパスを生成することが、
前記3次元モデルの複数の2次元(2D)表現を個別の2D層で生成することと、
各個別の2D層を製造するためのツールパスの対応するセットを生成するために、各2D表現を機械学習アルゴリズムに提供することと、
個別の2D層において、前記3次元モデルの前記複数の2D表現のための前記ツールパスの前記対応するセットを組み合わせることにより、前記コンピュータ制御製造システムで使用可能な前記ツールパスを生成することと、
を含む、請求項8に記載の方法。
【請求項10】
前記機械学習アルゴリズムが、2つ以上の機械学習アルゴリズムを含み、前記3次元モデルの少なくとも前記一部分を前記機械学習アルゴリズムに提供することが、
前記2つ以上の機械学習アルゴリズムのうちの第1のアルゴリズムを使用して前記3次元モデルの少なくとも前記一部分のグローバルビューを処理することによって、少なくとも1つの開始位置を生成することと、
前記2つ以上の機械学習アルゴリズムのうちの第2のアルゴリズムを使用して前記3次元モデルの少なくとも前記一部分のローカルビューを処理することによって、前記少なくとも1つの開始位置の各々の近くにツールパスのセットを生成することと、
を含む、請求項1に記載の方法。
【請求項11】
前記少なくとも1つの開始位置を生成することが、前記製造可能オブジェクトの前記3次元モデルの離散化された表現、及び前記製造可能オブジェクトの前記少なくとも前記一部分が製造されるストック材料のモデルの離散化された表現を使用して、前記2つ以上の機械学習アルゴリズムのうちの前記第1のアルゴリズムで前記グローバルビューを処理することを含み、
前記ツールパスのセットを生成することが、前記製造可能オブジェクトの前記少なくとも前記一部分を製造するために使用される前記コンピュータ制御の製造システムにおけるツールのモデルの連続表現を使用して、前記2つ以上の機械学習アルゴリズムのうちの前記第2のアルゴリズムで前記ローカルビューを処理することを含む、請求項10に記載の方法。
【請求項12】
前記少なくとも1つの開始位置を生成することが、
前記ツールの前記モデルの離散化された表現を使用して前記2つ以上の機械学習アルゴリズムのうちの前記第1のアルゴリズムで前記グローバルビューを処理することを含み、かつ、前記ツールパスのセットを生成することが、前記製造可能オブジェクトの前記3次元モデルの連続表現、及び前記ストック材料の前記モデルの連続表現を使用して前記2つ以上の機械学習アルゴリズムのうちの前記第2のアルゴリズムで前記ローカルビューを処理することを含む、請求項11に記載の方法。
【請求項13】
前記所望のツールパス特性が、前記ツールの回転方向に基づいて設定されているツールの旋削方向を含む、請求項1に記載の方法。
【請求項14】
前記ツールの前記旋削方向が、前記製造可能オブジェクトの前記3Dモデルに対する前記ツールの領域に基づいて設定されており、
前記1つ以上のスコアリング関数が、前記ツールの前記領域が前記製造可能オブジェクトの前記3Dモデルからの閾値距離よりも大きいときに、前記ツールの旋削方向を自由に選択することを促す1つ以上の報酬を含み、前記ツールの前記領域が前記製造可能オブジェクトの前記3Dモデルからの前記閾値距離内にあるときに、前記1つ以上の報酬が、前記回転方向に基づいて前記ツールの正しい側を露出する一方向にのみで旋削するように前記ツールを促す、請求項13に記載の方法。
【請求項15】
前記機械学習アルゴリズムが、前記製造可能オブジェクトの対応する完成のパーセンテージと相関するステージベースの報酬を含む1つ以上のスコアリング関数を含む、請求項1~2、4~6、及び10~14のいずれか一項に記載の方法。
【請求項16】
システムであって、
少なくとも1つのハードウェアプロセッサを含むデータ処理装置と、
前記データ処理装置に操作を実行させるように構成された命令をエンコードする非一時的コンピュータ可読媒体と、を備え、
前記操作は、
コンピュータ支援設計または製造プログラムで、製造可能オブジェクトの3次元(3D)モデルを取得することと、
トレーニング中に強化学習を採用する機械学習アルゴリズムに前記3次元モデルの少なくとも一部分を提供することによって前記製造可能オブジェクトの少なくとも一部分を製造するために、前記コンピュータ支援設計または製造プログラムによって、コンピュータ制御製造システムにより使用可能なツールパスを生成することであって、前記機械学習アルゴリズムが、ツールパスの円滑性、ツールパスの長さ、及び前記3次元モデルとの衝突を回避することを含む所望のツールパス特性と相関する報酬を含む、1つ以上のスコアリング関数を含む、前記生成することと、
前記製造可能オブジェクトの少なくとも前記一部分を製造するために、前記コンピュータ制御製造システムに前記ツールパスを提供することと、
を含む、前記システム。
【請求項17】
前記機械学習アルゴリズムが、2つ以上の機械学習アルゴリズムを含み、前記3次元モデルの少なくとも前記一部分を前記機械学習アルゴリズムに提供することが、
前記2つ以上の機械学習アルゴリズムのうちの第1のアルゴリズムを使用して前記3次元モデルの少なくとも前記一部分のグローバルビューを処理することによって、少なくとも1つの開始位置を生成することと、
前記2つ以上の機械学習アルゴリズムのうちの第2のアルゴリズムを使用して前記3次元モデルの少なくとも前記一部分のローカルビューを処理することによって、前記少なくとも1つの開始位置の各々の近くにツールパスのセットを生成することと、
を含む、請求項16に記載のシステム。
【請求項18】
前記所望のツールパス特性が、選択された切削ツールのツールエンゲージメントと、選択されたツールの接触トラックと、を含む、請求項16に記載のシステム。
【請求項19】
操作をデータ処理装置に実行させる非一時的コンピュータ可読媒体であって、
前記操作は、
コンピュータ支援設計または製造プログラムで、製造可能オブジェクトの3次元(3D)モデルを取得することと、
トレーニング中に強化学習を採用する機械学習アルゴリズムに前記3次元モデルの少なくとも一部分を提供することによって前記製造可能オブジェクトの少なくとも一部分を製造するために、前記コンピュータ支援設計または製造プログラムによって、コンピュータ制御製造システムにより使用可能なツールパスを生成することであって、前記機械学習アルゴリズムが、ツールパスの円滑性、ツールパスの長さ、及び前記3次元モデルとの衝突を回避することを含む所望のツールパス特性と相関する報酬を含む、1つ以上のスコアリング関数を含む、前記生成することと、
前記製造可能オブジェクトの少なくとも前記一部分を製造するために、前記コンピュータ制御製造システムに前記ツールパスを提供することと、
を含む、前記非一時的コンピュータ可読媒体。
【請求項20】
前記機械学習アルゴリズムが、2つ以上の機械学習アルゴリズムを含み、前記3次元モデルの少なくとも前記一部分を前記機械学習アルゴリズムに提供することが、
前記2つ以上の機械学習アルゴリズムのうちの第1のアルゴリズムを使用して前記3次元モデルの少なくとも前記一部分のグローバルビューを処理することによって、少なくとも1つの開始位置を生成することと、
前記2つ以上の機械学習アルゴリズムのうちの第2のアルゴリズムを使用して前記3次元モデルの少なくとも前記一部分のローカルビューを処理することによって、前記少なくとも1つの開始位置の各々の近くにツールパスのセットを生成することと、
を含む、請求項19に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本特許出願は、2020年6月22日に出願された米国仮特許出願第63/042,264号及び2021年1月20日に出願された米国実用特許出願第17/153,266号の優先権を主張し、これらは参照によりその全体が本明細書に組み込まれている。
【背景技術】
【0002】
本明細書は、サブトラクティブ製造システム及び技法の使用など、物理的構造のコンピュータ支援設計及び製造に関する。
【0003】
コンピュータ支援設計(CAD)ソフトウェア及びコンピュータ支援製造(CAM)ソフトウェアが開発され、オブジェクトの3次元(3D)表現を生成し、(例えば、コンピュータ数値制御(CNC)製造技法を使用して)それらのオブジェクトの物理的構造を製造するために使用されている。サブトラクティブ製造法とは、ストック材料(概して、3Dオブジェクトよりも大きい「ブランク」または「ワークピース」)の部分を切除することによって、3Dオブジェクトがストック材料から形成される任意の製造プロセスを指す。サブトラクティブ製造プロセスは、多くの場合、以前に(少なくとも部分的に)手動で決定されたツールパスに追従する一連の操作で複数のCNC機械切削ツールを使用することを伴う。
【0004】
CAMソフトウェアにおいてツールパスを選択することは、初心者ユーザにとっては困難になり得る。CNCミルは、いくつかの軸と機能を有することができ、機械加工されている幾何形状は、特定のルーティングパスを必要とする複雑な形状を有する場合がある。ツールパスを選択する既存の方法は、ユーザが、ツールパスのカテゴリのどれが最も適切かを知ることと、そのカテゴリを選択することと、所望の結果を得るために多くの(多くの場合は数十の)パラメータを操作することと、を伴う。しかしながら、どのタイプのツールパスを使用するかについて、ユーザに手がかりが与えられた場合であっても、どのカテゴリのツールパスを選択するかは常に明確であるとは限らず、そのため、ユーザは多くの場合、様々なカテゴリやパラメータを調べて目的のツールパスを見つけるのに何時間も費やすことがある。さらに、POWERMILL(登録商標)ソフトウェア(SanRafael、CAのAutodesk、Inc、から入手可能)は、ツールパスの生成するために使用可能なテンプレートを含んでいる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
この明細書では、サブトラクティブ製造システム及び技術で使用するための強化学習によって生成されたツールパスを使用する物理的構造のコンピュータ支援設計及び製造に関する技術について説明する。
【0006】
一般に、本明細書に記載される主題の1つ以上の態様は、1つ以上の方法で、(及び、データ処理装置に操作を実行させるように動作可能なコンピュータプログラムを具体的にエンコードする1つ以上の非一時的コンピュータ可読媒体でも)具体化することができ、本方法は、コンピュータ支援設計または製造プログラムで、製造可能オブジェクトの3次元(3D)モデルを取得することと、トレーニング中に強化学習を採用する機械学習アルゴリズムに3次元モデルの少なくとも一部分を提供することによって製造可能オブジェクトの少なくとも一部分を製造するために、コンピュータ支援設計または製造プログラムによって、コンピュータ制御製造システムにより使用可能なツールパスを生成することであって、機械学習アルゴリズムが、ツールパスの円滑性、ツールパスの長さ、及び3次元モデルとの衝突を回避することを含む所望のツールパス特性と相関する報酬を含む、1つ以上のスコアリング関数を含む、生成することと、製造可能オブジェクトの少なくとも一部分を製造するために、コンピュータ制御製造システムにツールパスを提供することと、を含んでいる。
【0007】
所望のツールパス特性には、選択した切削ツールについてのツールエンゲージメント及び選択したツールの接触トラックが含まれ得る。機械学習アルゴリズムは、可変送りや速度を採用できる。機械学習アルゴリズムは、2つ以上の機械学習アルゴリズム、及び3次元モデルの少なくとも一部分を提供することを含めることができ、2つ以上の機械学習アルゴリズムのうちの第1のアルゴリズムを使用して3次元モデルの少なくとも一部分を処理することと、2つ以上の機械学習アルゴリズムのうちの第2のアルゴリズムを使用して3次元モデルの一部分を処理することと、を含むことができる。2つ以上の機械学習アルゴリズムのうちの第1のアルゴリズムは、2つ以上の機械学習アルゴリズムのうちの第2のアルゴリズムで処理される3次元モデルの一部分からデータを生成するために使用される畳み込みニューラルネットワークを含むことができる。2つ以上の機械学習アルゴリズムのうちの第1のアルゴリズムは、3次元モデルの少なくとも一部分の低解像度ビュー上で操作でき、2つ以上の機械学習アルゴリズムのうちの第2のアルゴリズムは、3次元モデルの一部分の高解像度ビュー上で操作できる。
【0008】
機械学習アルゴリズムは、アドバンテージベースのアクタークリティカルな機械学習アーキテクチャを含むことができる。ツールパスは、コンピュータ制御製造システムによる2.5軸加工用であることができる。製造可能なオブジェクトの少なくとも一部分を製造するために、コンピュータ制御製造システムによって使用可能なツールパスを生成することが、3次元モデルの複数の2次元(2D)表現を個別の2D層で生成することと、各個別の2D層を製造するためのツールパスの対応するセットを生成するために、各2D表現を機械学習アルゴリズムに提供することと、個別の2D層において、3次元モデルの複数の2D表現のためのツールパスの対応するセットを組み合わせることにより、コンピュータ制御製造システムで使用可能なツールパスを生成することと、を含むことができる。
【0009】
機械学習アルゴリズムは、2つ以上の機械学習アルゴリズムを含み、3次元モデルの少なくとも一部分を機械学習アルゴリズムに提供することが、2つ以上の機械学習アルゴリズムのうちの第1のアルゴリズムを使用して3次元モデルの少なくとも一部分のグローバルビューを処理することによって、少なくとも1つの開始位置を生成することと、2つ以上の機械学習アルゴリズムのうちの第2のアルゴリズムを使用して3次元モデルの少なくとも一部分のローカルビューを処理することによって、少なくとも1つの開始位置の各々の近くにツールパスのセットを生成することと、を含むことができる。少なくとも1つの開始位置を生成することが、製造可能オブジェクトの3次元モデルの離散化された表現、及び製造可能オブジェクトの少なくとも一部分が製造されるストック材料のモデルの、離散化された表現を使用して、2つ以上の機械学習アルゴリズムのうちの第1のアルゴリズムでグローバルビューを処理することを含むことができ、ツールパスのセットを生成することが、製造可能オブジェクトの少なくとも一部分を製造するために使用されるコンピュータ制御の製造システムにおけるツールのモデルの連続表現を使用して、2つ以上の機械学習アルゴリズムのうちの第2のアルゴリズムでローカルビューを処理することを含むことができる。少なくとも1つの開始位置を生成することが、ツールのモデルの離散化された表現を使用して2つ以上の機械学習アルゴリズムのうちの第1のアルゴリズムでグローバルビューを処理することを含むことができ、かつ、ツールパスのセットを生成することが、製造可能オブジェクトの3次元モデルの連続表現、及びストック材料のモデルの連続表現を使用して2つ以上の機械学習アルゴリズムのうちの第2のアルゴリズムでローカルビューを処理することを含むことができる。
【0010】
所望のツールパス特性は、ツールの回転方向に基づいて設定されているツールの旋削方向を含むことができる。ツールの旋削方向は、製造可能オブジェクトの3Dモデルに対するツールの領域に基づいて設定されることができ、1つ以上のスコアリング関数は、ツールの領域が、製造可能オブジェクトの3Dモデルからの閾値距離よりも大きいときに、ツールのための回転方向を自由に選択することを促す1つ以上の報酬を含めることができ、ツールの領域が製造可能オブジェクトの3Dモデルからの閾値距離内にあるとき、1つ以上の報酬は、回転方向に基づいてツールの正しい側を露出する一方向にのみ回転するように促すことができる。機械学習アルゴリズムは、製造可能オブジェクトの対応する完成のパーセンテージと相関するステージベースの報酬を含むことができる1つ以上のスコアリング関数を含むことができる。
【0011】
本明細書に記載されている主題の1つ以上の態様は、1つ以上のシステムで具体化されることもでき、1つ以上のシステムは、少なくとも1つのハードウェアプロセッサを含むデータ処理装置と、データ処理装置に操作を実行させるように構成された命令をエンコードする非一時的コンピュータ可読媒体と、を含んでおり、操作は、コンピュータ支援設計または製造プログラムにおいて、製造可能オブジェクトの3次元モデルを取得することと、トレーニング中に強化学習を採用する機械学習アルゴリズムに3次元モデルの少なくとも一部分を提供することによって製造可能オブジェクトの少なくとも一部分を製造するために、コンピュータ支援設計または製造プログラムによって、コンピュータ制御製造システムにより使用可能なツールパスを生成することであって、機械学習アルゴリズムが、ツールパスの円滑性、ツールパスの長さ、及び3次元モデルとの衝突を回避することを含む所望のツールパス特性と相関する報酬を含む1つ以上のスコアリング関数を含む、生成することと、製造可能オブジェクトの少なくとも一部分を製造するために、コンピュータ制御製造システムにツールパスを提供することと、を含んでいる。
【0012】
本明細書に記載されている主題の特定の実施形態は、以下の利点のうちの1つ以上を実現するために実装されることができる。3次元オブジェクトの製造に使用できるツールパスは、機械学習アルゴリズムによって自動的に生成されることができ、このことは、製造計画の作成に必要な時間を短縮し、部品を製造するために必要な時間を短縮することができる。機械学習アルゴリズムは強化学習を使用し、ツールパスの平滑性、ツールパスの長さ、及びオブジェクトの3次元モデルとの衝突回避のための報酬を使用して、所望のツールパス特性を生成するようにトレーニングされ得る。機械学習アルゴリズムは、ツールエンゲージメント、接触トラックの平滑性、ツール軸の変化、加工時間、可変送り、可変速度などを含む、所望のツールパス特性を生成することができる。機械学習アルゴリズムは、オブジェクトの3次元モデルの2次元表現から、2.5軸機械加工で使用できるツールパスを生成することができる。さらに、ツールパス生成プロセスをより自動化することで、より多くのユーザがツールパスを設計できるようになる。例えば、ユーザが目的のツールパスを見つけるためにツールパステンプレートの様々なパラメータ(例えば、ツールパスタイプのカテゴリ)を調査及び微調整する必要がない。
【0013】
本明細書に記載されている主題の1つ以上の実施形態の詳細は、添付の図面及び以下の説明に記載されている。本発明の他の特徴、態様、及び利点は、発明を実施するための形態、図面、及び特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0014】
図1】物理的構造を設計及び製造するために使用可能なシステムの例を示している。
図2A】モデル化されたオブジェクトの物理的構造を製造する際に使用するための機械学習アルゴリズムによってツールパスを生成するためのプロセスの例を示すフローチャートである。
図2B】強化学習によってツールパスを生成する機械学習アルゴリズムをトレーニングするためのプロセスの例を示すフローチャートである。
図2C】モデル化されたオブジェクトの物理的構造を製造する際に使用するためのツールパスを生成する機械学習アルゴリズムのためのニューラルネットワークアーキテクチャの例を示す概略図である。
図3】2.5軸機械加工用の機械学習アルゴリズムによってツールパスを生成するプロセスの例を示している。
図4】説明されたシステム及び技術を実装するために使用可能なデータ処理システムの概略図である。
【発明を実施するための形態】
【0015】
同様の参照番号と呼称は、様々な図面において同様の要素を示している。
【0016】
図1は、物理的構造を設計及び製造するために使用可能なシステム100の例を示している。コンピュータ110は、プロセッサ112及びメモリ114を含み、コンピュータ110は、プライベートネットワーク、パブリックネットワーク、仮想プライベートネットワークなどであり得るネットワーク140に接続されることができる。プロセッサ112は、1つ以上のハードウェアプロセッサであり得、各々が複数のプロセッサコアを含むことができる。メモリ114は、ランダムアクセスメモリ(RAM)及びフラッシュRAMなどの揮発性及び不揮発性メモリの両方を含むことができる。コンピュータ110は、プロセッサ112で実行されるプログラムの命令を記憶するために、メモリ114を含むことができる様々なタイプのコンピュータ記憶媒体及びデバイスを含むことができる。
【0017】
このようなプログラムには、コンピュータ支援設計(CAD)及び/またはコンピュータ支援エンジニアリング(CAE)プログラムとも呼ばれるコンピュータ支援製造(CAM)プログラム(複数可)116、などの1つ以上の3Dモデリング、シミュレーション、及び製造制御プログラムが含まれる。プログラム(複数可)116は、コンピュータ110でローカルに、1つ以上のリモートコンピュータシステム150(例えば、ネットワーク140を介してコンピュータ110によってアクセス可能な1つ以上のサードパーティプロバイダの1つ以上のサーバシステム)のコンピュータでリモートで、またはローカルとリモートの両方で実行することができる。機械学習アルゴリズム134は、メモリ114(及び/または1つ以上のリモートコンピュータシステム150)に格納することができ、CAD/CAMプログラム(複数可)116によってアクセスされることができる。
【0018】
CAD/CAMプログラム116は、コンピュータ110の1つ以上の入力デバイス118(例えば、キーボード及びマウス)を使用して操作することができる、コンピュータ110のディスプレイデバイス120にユーザインターフェース(UI)122を提示する。図1では別個のデバイスとして示されているが、ディスプレイデバイス120及び/または入力デバイス118はまた、タブレットコンピュータにおいて、または仮想現実(VR)または拡張現実(AR)システムなどにおいて、互いに及び/またはコンピュータ110と一体化され得ることに留意されたい。例えば、入力/出力デバイス118、120は、VR入力グローブ118a及びVRヘッドセット120aを含むことができる。
【0019】
ユーザ190は、プログラム(複数可)116とインタラクトして、コンピュータ制御の製造システム、例えば、多軸、多ツールミリング機械などのCNC機械170によって製造される(例えば、ドキュメント130から)オブジェクト180の3Dモデル132を作成及び/またはロードすることができる。このことは、既知のグラフィカルユーザインターフェースツールを使用して行われることができ、3Dモデル132は、ソリッドモデル(ボクセルなど)またはサーフェスモデル(例えば、B-Rep(境界表現)、サーフェスメッシュ)などの様々な既知の3Dモデリング形式を使用してコンピュータ内に規定されることができる。さらに、ユーザ190は、必要に応じて、プログラム(複数可)116とインタラクトして、オブジェクト180の3Dモデル132を修正することができる。
【0020】
いくつかの実装形態では、(例えば、ドキュメント130からの)3Dモデル132は、サブトラクティブ製造プロセスにおいて、CNC機械170によって除去され得るストック材料(すなわち、「ワークピース」)の3Dモデルを含むことができる。いくつかの実装形態では、ストック材料の別個の3Dモデルは、CAD/CAMプログラム(複数可)116によって取得されることができる。ストック材料は、所望のツールパスを追従するCNC機械170によって除去されることができる。説明を容易にするために、ストック材料はハート状に示されており、製造されるオブジェクトは五角形状で示されている。この図示は、サブトラクティブ製造(フライス盤など)の分野で遭遇する典型的なストック材料のワークピースや製造されたオブジェクトに対応していない。
【0021】
オブジェクト180の3Dモデル132が製造準備されると、オブジェクト180を製造するためにコンピュータ制御製造システムで使用するためのツールパスを生成することによって、オブジェクト180の物理的構造を製造するための3Dモデル132が準備されることができる。例えば、3Dモデル132が、CNC機械170に送信されることができ、1つ以上のミリングツールの操作を制御するために使用されることができる、ツールパス仕様ドキュメント160を生成するために使用され得る。このことは、ユーザ190による要求に応じて、または別の動作に対するユーザの要求、例えば、3Dモデル132をCNC機械170、もしくはコンピュータ110に直接接続されることができるか、もしくは、ネットワーク140を介して接続されることができる、他の製造機械に送ることなど、を鑑みて行われることができる。このことは、ローカルコンピュータ110またはクラウドサービス上で実行される後処理ステップを伴うことができ、3Dモデル132を電子ドキュメントにエクスポートして、そこから製造することができる。電子ドキュメント(簡潔化のために単にドキュメントと呼ぶ)は、ファイルであり得るが、必ずしもファイルに対応していないことに留意されたい。ドキュメントは、他のドキュメントを保持するファイルの一部分、当該ドキュメント専用の単一のファイル内、または複数の調整されたファイル内に格納され得る。
【0022】
いずれの場合でも、プログラム(複数可)116は、ドキュメント160内に1つ以上のツールパスを作成することができ、(適切な形式の)ドキュメント160をCNC機械170に提供して、オブジェクト180の物理的構造を作成することができる(いくつかの実装では、コンピュータ110は、CNC機械170に一体化されており、そのため、ツールパス仕様ドキュメント160は、ツールパス仕様ドキュメント160を使用してオブジェクト180を製造するのと同じコンピュータによって作成されることに留意されたい)。プログラム(複数可)116は、(例えば、ドキュメント130からの)オブジェクト180の3Dモデル132を機械学習アルゴリズム134に提供することによって、1つ以上のツールパスを生成することができる。機械学習アルゴリズム134は、CNC機械170がオブジェクト180を製造するために使用できるツールパス172(例えば、ドキュメント160に保存されている)を自動的に生成できる。この自動プロセスは、ユーザ190によって(例えば、UI122のメニューを介して)所望のツールパスのタイプ及びパラメータを指定することよりむしろ、ツールパス生成プロセスを加速することができ、製造計画を作成するために必要な時間を短縮し、同様に、部品の製造に必要な時間を短縮することができる。例えば、CNC機械170は、ストック材料136を除去することによってオブジェクト180を製造することができるサブトラクティブ製造機械であり得る。CNC機械170は、機械学習アルゴリズム134によって自動的に生成された(例えば、ドキュメント160に保存されている)ツールパス172を使用して、切削ツール174を制御することができる。例えば、切削ツール174は、カッターを含むことができ、これは、サブトラクティブ製造を使用してオブジェクトを製造するときに過剰なストック材料を除去するようにプログラムされることができる。
【0023】
プログラム(複数可)116は、UI122に一連のメニューを含むことができ、これらは、ユーザ190が、機械学習アルゴリズム134によって自動的に生成された1つ以上の候補のツールパスを受け入れるかまたは拒否することを可能にする。いくつかの実装形態では、プログラム(複数可)116は、ユーザ190が、ツールパスに満足するまで候補のツールパスの1つ以上の部分を調整できるようにする一連のメニューをUI122に含むことができる。ユーザが候補のツールパスを受け入れると、プログラム(複数可)116は、候補のツールパスをツールパスドキュメント160に保存することができ、オブジェクト180の物理的構造を製造するためにドキュメント160をCNC機械170に提供することができる。
【0024】
図2Aは、モデル化されたオブジェクトの物理的構造を製造する際に使用するための機械学習アルゴリズムによってツールパスを生成するプロセスの例を示している。製造可能オブジェクトの3次元モデルは、例えば、プログラム(複数可)116によって取得される(200)。言い換えれば、CNC機械によって製造されるモデル化されたオブジェクトのジオメトリが識別される。これは、コンピュータによって(例えば、コンピュータ110上のプログラム116によって)またはユーザ入力を受信することによって自動的に行われ得る。例えば、ユーザは、機械加工において関心対象の3Dモデルの目的の面、輪郭、またはその他のジオメトリを選択できる。いくつかの実装形態では、プログラムは、ユーザインターフェースを提供し、そこで、ユーザは、関心対象のジオメトリ(例えば、面または輪郭)を直接選択する(例えば、マウスでクリックする)ことができる。
【0025】
いくつかの実装形態では、オブジェクトの3次元モデルが取得された後、1つ以上の前処理プロセスが、例えば、プログラム(複数可)116によって、3次元モデルに対して実行されることができる。例えば、プログラム(複数可)116は、利用可能なツール(複数可)が収まらないほどきつすぎる3Dモデルの部分を除去することができる。別の例として、プログラム(複数可)116は、3Dモデルの断面を表す2D画像のセットを生成することができる。背景領域、オブジェクトの内側の領域、及びオブジェクトの外側の領域は、例えば、2D画像で異なる色で表されていることにより、機械学習アルゴリズムへの入力で異なる値で表されることができる。
【0026】
オブジェクトの3次元モデルは、様々な表現であることができる。可能な表現には、画像ピクセル、点群、ボクセル、メッシュ、等高線図など、または上記の表現の2つ以上の組み合わせが含まれる。いくつかの実装形態では、表現は、3Dオブジェクトの2Dビューの2D画像、または3Dモデルのローカルジオメトリの複数の角度からの複数の2D画像を含むことができる。いくつかの実装形態では、利用可能なツール(複数可)のモデル、オブジェクトのモデル、及びストック材料のモデルが、同じ表現または異なる表現を使用できる。
【0027】
いくつかの実装形態では、利用可能なツール(複数可)の1つ以上のモデル、オブジェクトのモデル、及びストック材料のモデルが、(例えば、ピクセルを使用する)離散化された表現の代わりに(1つ以上の円滑な関数で定義された)連続表現を使用できる。例えば、個別のピクセル表現を使用する代わりに、ミリングツールは、ミリングツールの中心座標と半径によって定義される連続した円で表すことができる。ミリングツールは、ツールの中心座標を中心とし、ツールの半径に等しい半径を有する円形で表すことができる。この円形表現を使用して、プログラム(複数可)116は、ツールの半径を使用して、ストック材料のピクセルがツールの範囲内にあるかどうかを計算することができる。別の例として、オブジェクトのモデル及び/またはストック材料のモデルは、(例えば、ピクセルを用いた)離散化された表現の代わりに、(例えば、連続的なB-Repsによって、1つ以上の平滑な関数によって規定される)連続的な表現を有することができる。
【0028】
3次元モデルの少なくとも一部分を、例えば、プログラム(複数可)116によって、機械学習アルゴリズムに提供することによって、1つ以上のツールパスが生成される(202)。生成されたツールパスは、製造可能オブジェクトの少なくとも一部分を製造するために、例えば、CNC機械170などのコンピュータ制御の製造システムによって使用可能である。いくつかの実装形態では、機械学習アルゴリズムによって生成されたツールパスは、オブジェクト全体を製造するために使用可能であり得る。
【0029】
いくつかの実装形態では、機械学習モデルは、ツールが通過する一連の領域を生成できる。いくつかの実装形態では、機械学習モデルは、ツールのための一連の速度ベクトル(例えば、ツールを加速させる方向)を生成することができる。例えば、領域と速度ベクトルは、ピクセル単位で表されることができ、ツールは各ステップでピクセル数だけ移動できる。一連の領域は、2D環境での一連のピクセル座標を含むことができる。3D環境では、ツールの領域のシーケンスは、3Dでのボクセルの座標とツールの3D配向を含むことができる。CAD/CAMプログラム(複数可)116は、一連の領域のすべてまたは一部分を接続する後処理ステップで1つ以上のスプラインを生成することができる。1つ以上のスプラインがツールパスとして保存されることができ、ツールを制御してこれらのポイントを平滑なルートで移動するために使用されることができる。いくつかの実装形態では、機械学習モデルは、ツールの制御メカニズム、例えば、カッターの角度を生成することができる。CAD/CAMプログラム(複数可)116は、機械学習アルゴリズムによって生成されるツールの制御メカニズムを備えたツールパスを生成することができる。
【0030】
一般に、機械学習アルゴリズムは、トレーニングデータに基づいて数学モデルを構築する。機械学習アルゴリズムは、オブジェクトの3次元モデルの少なくとも一部分を入力として受け取る。機械学習アルゴリズムはまた、例えば、製造中に除去される必要のあるストック材料のモデルである、環境の表現を入力として受け取ることもできる。いくつかの実装形態では、そこからオブジェクトが切り出されるストック材料のモデルは、プログラム(複数可)によって使用されるデフォルトのモデルであり得るか、またはユーザまたは別のプロセスによってプログラム(複数可)に提供され得る。いくつかの実装形態では、環境の表現はレイトレーシング、つまり、ツールから開始する一組の光線に沿ったストックからの距離を使用して現在の環境を記述するものを使用することができる。
【0031】
機械学習アルゴリズムは、一組の所望のツールパス特性を備えたツールパスを生成するためにトレーニングされ得る。図2Bは、強化学習によってツールパスを生成する機械学習アルゴリズムをトレーニングするためのプロセスの例を示すフローチャートである。所望のツールパス特性と相関する報酬を含む1つ以上のスコアリング関数が定義される(232)。機械学習アルゴリズムでは、強化学習を使用して、目的のツールパス特性と相関する報酬を含む1つ以上のスコアリング関数を含めることができる。機械学習アルゴリズムは、所望のツールパス挙動に対する報酬を含むことができ、かつ、他の望ましくないツールパス挙動に対するペナルティを含むことができる。報酬の主な目標は、良好な切削を促して、悪い切削を抑止しながら、切削ツールの悪い挙動を抑止することである。ツールの悪い挙動の例には、CADモデル内への移動、及び1つのスポットにとどまり、無期限に方向転換すること、などが含まれ得る。
【0032】
所望のツールパス特性には、ツールパスの平滑性の最大化(例えば、ツールの中心のトラックが平滑である)、ツールパスの長さの最小化、加工時間の最小化などが含まれ得る。例えば、突然90度回転するツールパスは、望ましくない場合がある。ジグザグ移動を行うツールパスも望ましくない場合がある。これらの望ましくないツールパス特性にはペナルティまたはマイナスの報酬が適用され得る。
【0033】
所望のツールパス特性には、3次元モデルとの衝突回避も含まれ得る。いくつかの実装形態では、機械学習モデルは、ツールがCADモデルに当たるのを防止するハード制限を含み得る。いくつかの実装形態では、機械学習アルゴリズムは、CADモデルへの移行を試みる機械学習モデルにペナルティを課すペナルティ関数を含むことができる。
【0034】
いくつかの実装形態では、所望のツールパス特性は、コンピュータ支援製造プロセス用にツールパス内のカッターの側を選択すること、及び最適化することをさらに含むことができる。コンピュータ支援製造プロセスの所与のステップにおいて、カッターは、カッターの正しい側(すなわち、正しい領域)、カッターの正しくない側(すなわち、誤った領域)、及びカッターの正しい側とカッターの正しくない側の間の中立側(すなわち、中立領域)を含むことができる。所与のステップでカッターの正しい側を使用すると、ツールパスは、良好な切削、例えば、カッターの正しい側で除去されたストック材料のピクセルを生成することができる。所与のステップでカッターの反対側を使用すると、ツールパスは、悪い切削、例えば、カッターの誤った側で除去されたストック材料のピクセルを生成する可能性がある。カッターの中立領域を使用すると、ツールパスは、中立的切削、例えば、カッターの正しい側と誤った側との間の中立領域によって除去されたストック材料のピクセルを生成できる。
【0035】
カッターの正しい側、誤った側、中立側から選択して最適化することは、機械学習アルゴリズムが所望のツールパスを作成することを促す重要な制約である。所望のツールパス動作は、カッターの正しい側を露出させながら、ストック材料を取り除くことができる。機械学習アルゴリズムは、ツールの移動方向に基づいてツールの正しい側を使用できる適切なツールパスを生成するようにトレーニングされ得る。例えば、ツールが同じ位置にあるが異なる方向に移動している場合、ツールの正しい側と誤った側は、ツールの移動方向に対して異なることがある。別の例として、所望のツールパス特性は、カッターの正しい側のみを使用しながら、可能な限り多くのストック材料を可能な限り迅速に除去することを含むことができる。
【0036】
カッターの正しい側、誤った側、及び中立側は、それぞれカッターの特定の割合を占める場合がある。例えば、カッターの正しい側、誤った側、及び中立側は、それぞれカッターの49%、49%、及び2%を占める場合がある。別の例として、カッターの正しい側、誤った側、及び中立側は、カッターの20%、70%、及び10%をそれぞれ占める場合がある。カッターの正しい側がカッターのより少ない割合を占めるとき、ツールは、ストック材料のより薄い量を除去することができ、機械学習アルゴリズムは、各ステップでカッターの側を選択及び変更するときに、より小さな更新を生成するようにトレーニングされることができる。
【0037】
いくつかの実装形態では、所望のツールパス特性は、選択された切削ツールのツールエンゲージメントを最適化することと、選択された切削ツールの接触トラックの平滑性(例えば、ツールの接触トラックが平滑である)を最大化することと、ツール軸変化を最小化することと、ツール軸変化の平滑性を最大化することと、ストック材料の小さな塊の残留を回避することと、ツールエンゲージメント角度を制限すること、またはその他の適切なツールパス特性をさらに含むことができる。例えば、機械学習アルゴリズムは、カッターの悪い部位(例えば、ボールノーズカッターの中央部分、またはブルノーズカッターの下部)の使用を回避するために、及び/または(例えば、下向きミリングまたは上向きミリングにおいて)カッターの誤った側の使用を回避するために、下向きミリングまたは他のミリング動作の間にカッターの良好な部位(例えば、カッターの刃先)を使用するための報酬を含むことができる。別の例として、機械学習アルゴリズムは、モデルの画像表現のあまりにも多くのピクセルが同時にエンゲージされる(例えば、ツールによって触れられる)場合にスコアにペナルティを課すことにより、ツールエンゲージメント角度を制限することができる。
【0038】
いくつかの実装形態では、機械学習アルゴリズムは、ツールの領域及び/または回転特性(例えば、そのスポットで回転するか、または前進するか)に対する報酬を含むことができる。例えば、機械学習アルゴリズムは、機械学習アルゴリズムが一方向に方向を変えることを継続的に決定して、ツールに環境内のポイントを中心に回転させるようにすること、つまり、スポットでの回転を奨励しない報酬を含めることができる。いくつかの実装形態では、ツールの領域及び/または回転特性に対する報酬は、ツールパスの平滑性の報酬と組み合わせられ、平滑なツールパスを生成すること、例えば、部品の周りで滑らかな切削を生成することができる。各ステップにおいて、機械学習アルゴリズムは、ツールの回転方向を維持または変更するための報酬を含むことができる。機械学習アルゴリズムは、ツールを別の領域に移動する前に、同じ領域でツールを回転させることに対する報酬を含むことができる。いくつかの実装形態では、各ステップにおいて、機械学習アルゴリズムは、ツールを常に別の領域に移動する報酬を含むことができ、ツールが同じ領域にとどまることを防止する。いくつかの実装形態では、機械学習アルゴリズムは、ツールが、スポット上で回転し、前進するが、両方を同時に行わないことを可能にする報酬を含むことができ、この報酬は、完了率が増加することを助長し、ツールがCADモデルに衝突するのを防止することができる。いくつかの実装形態では、機械学習アルゴリズムは、ツールを反時計回り(つまり、逆時計回り)にのみ回転させるか、または時計回りにのみ回転させるか、またはツールを時計回りと反時計回りの両方に回転させる報酬を含むことができる。例えば、いくつかの実装形態では、カッターがCADモデルに衝突したときに、デフォルトの反時計回りの旋削方向で、カッターの正しい側が露出することができることから、カッターを時計回りよりも反時計回りに回転させる方が望ましい場合がある。別の例として、いくつかの実装形態では、ツールを時計回りと反時計回りの両方に回転させること、例えば、1つのステップで時計回りに回転し、次いで続くステップで反時計回りに回転し、これら2つのステップを繰り返すこと、が望ましい場合があり、このことは、製造されたオブジェクトのより平滑な外側プロファイルの製造を助長する。いくつかの実装形態では、ツールが特定の方向を向くために、同じ方向に回転するための複数の連続した決定を行う必要がないことから、両方向に回転できることは、ツールがより容易に平滑なツールパスを作成できるようにする。
【0039】
いくつかの実装形態では、所望のツールパス特性は、ツールの旋削方向を製造可能オブジェクトのモデルに対するツールの領域に基づいて設定することを含むことができる。ツールの領域が、製造可能オブジェクトのモデルからの閾値距離を超えるとき、1つ以上のスコアリング関数は、ツールの回転方向を自由に選択することを奨励する1つ以上の報酬を含むことができる。例えば、ツールがCADモデルから離れている場合(例えば、1ミリメートル以上離れている場合)、システムは、より平滑なツールパスを作成するために旋削方向を自由に選択できる。ツールの領域が製造可能オブジェクトのモデルから閾値距離の範囲内にあるとき、1つ以上のスコアリング関数は、ツールが一方向にのみ回転するように奨励する1つ以上の報酬を含めることができ、このことで、回転方向に基づいて、ツールの正しい側が露出することになる。例えば、ツールがCADモデルに近いとき(例えば、1ミリメートル未満)、システムは、ツールを反時計回りにのみ回転させて、ツールがCADモデルに引っかかるのを防ぐようにすることができる。
【0040】
いくつかの実装形態では、機械学習アルゴリズムは、ストック材料の表現を除去するための報酬を含むことができる。機械学習アルゴリズムは、CADモデルに近いストック材料を除去することに対する報酬の量を増加すること、及び/または、より多くのストック材料が除去されるほど、ストック材料を除去することに対する報酬の量を増加することができる。いくつかの実装形態では、機械学習アルゴリズムは、ステージベースの報酬を含むことができる。ステージベースの報酬は、より高いレベルの完了(最大100%を含む)に対して、より大きな報酬を含むことができ、機械学習アルゴリズムがCADモデル周辺のすべてのストック材料の除去を確実にするのに役立ち得る。例えば、様々なレベルの報酬が50%、95%、99%の完了、または80%、95%、99%、100%の完了に設定され得る。100%完了時に非常に高い報酬を得ることで、機械学習アルゴリズムが、CADモデルの機械加工を実際に終了する前に、CADモデルから遠くに離れたストック材料のみを除去することを防止すること(例えば、十分な報酬を獲得したと判断すること)ができる。別の例として、ストック材料が少量しか残っていないとき、少量のストック材料を除去することに対する報酬は増加されることができる。ステージベースの報酬でトレーニングされた機械学習アルゴリズムは、モデル化されたオブジェクトのミリングの高い完了率の(最大100%を含む)ツールパスを生成することができる。
【0041】
いくつかの実装形態では、機械学習アルゴリズムは、可変ツール送り(例えば、使用されるカッターのパーセンテージ)、可変ツール速度(例えば、送り速度)、または可変切削力などを使用することができる。いくつかの実装形態では、機械学習アルゴリズムでトロコイド運動を採用できる。例えば、ツールが両側にCADモデルを備えたストック材料のスロットを切断する必要がある場合、ツールは、過度のツールエンゲージメントを回避するためにトロコイド運動で移動することができる。別の例として、ツールがストック材料の外側を移動する場合、ツールはトロコイド運動ではなく、らせん運動で移動することができる。可変送り速度を使用すると、ツールが、機械学習アルゴリズムが作成し得る望ましくない機械加工操作(例えば、ヘビーカット)中に速度を上げたり下げたりできるようにすることで、100%の時間、最適なエンゲージメントを達成する必要性を低減することができる。従って、機械学習アルゴリズムは、大半の時間で(例えば、99%の時間)良好なエンゲージメントを達成することができ、機械学習アルゴリズムを取得して、常に100%でツールエンゲージメント適合挙動を達成することを試みるのとは反対に、時折発生し得るいずれかの望ましくない機械加工動作(例えば、ヘビーカット)中にカッターの速度を簡単に落とすことができる。
【0042】
報酬関数の例は、次の要素の関数であることができ、それらは、
良好な切削の数(例えば、所与ステップでカッターの正しい側によって除去されたストック材料のピクセル数)、
悪い切削の数(例えば、所与のステップでカッターの誤った側によって除去されたCADモデルのピクセル数)、
中立切削の数(例えば、所与のステップでカッターの正しい側と誤った側の間の中立領域によって除去されたCADモデルに接触したピクセルの数)である。
【0043】
悪い切削があったか?
CADモデルが当たったか?
ツールは以前に行ったことのある位置にあるか?
ツールはスポットで回転しているか、またはツール速度=0であるか?
完了閾値に達したか?
報酬関数は、各要素の重み係数を含むことができる。正の重み係数は、例えば、良好なピクセルカットの数などの所望のツールパス特性に割り当てられることができる。負の重み係数(例えば、ペナルティを示す)は、例えば、悪いピクセルカットの数、またはCADモデルが当たったという事実など、望ましくないツールパス特性に与えられることができる。重み係数の値は、事前に決定されることができるか、または機械学習アルゴリズムのトレーニング時に学習されることができる。
【0044】
いくつかの実装形態では、機械学習アルゴリズムは、長期的な報酬、短期的な報酬、またはその両方の組み合わせを含むことができる。いくつかの実装形態では、機械学習アルゴリズムは、生成されたツールパスの複数のステップの各ステップに対して報酬関数を採用することができる。合計報酬は、複数のステップに対応するすべての報酬の合計であることができる。いくつかの実装形態では、報酬に対する1つ以上の割引率が経時的に適用され得る。割引率は、強化学習アルゴリズムが、近い将来の報酬に対して遠い将来の報酬がどれだけ評価するかを決定できる。割引率は0~1の間の値であることができる。例えば、割引率は0.99に設定され得る。
【0045】
機械学習アルゴリズムへの入力は、その環境の観察であり得る。いくつかの実装形態では、各ステップにおいて、機械学習アルゴリズムは、モデル全体の情報なしで、モデルのローカルビューに基づいてツールの領域を決定できる。例えば、機械学習アルゴリズムは、例えば、ストック材料だけのための画像データなど、ツールの現在の領域の近くにある高解像度の画像、及びツールの刃先からの規定された距離内にあるCADモデルであって、規定された距離が、ツールの直径の4分の1、もしくは半分、または、ちょうどツールの直径になっているCADモデルを使用して、ツールがストック材料とどのように相互作用するかを効率的に判定することができる。いくつかの実装形態では、機械学習アルゴリズムは、環境の1つ以上のビューを入力として受け取り、環境の1つ以上のビューに基づいて決定を下すことができる。例えば、3D環境の場合、環境の2つ以上の2Dビューが、機械学習アルゴリズムへの入力として提供されることができる。いくつかの実装形態では、機械学習アルゴリズムは、現在のステップにおける環境の1つ以上のビューと、1つ以上の以前のステップにおける環境の1つ以上のビューと、を入力として受け取ることができる。例えば、環境の観察は、環境の現在の2Dビューと以前の2つのステップからの環境の2つの2Dビューの3つの画像を含むことができる。
【0046】
機械学習アルゴリズムの出力は、複数のステップにおける一連のツールの領域を含むツールパスであることができる。各ツールの領域は、CAMシステムが切削ツールの表現を移動する領域を表すことができる。例えば、各ツールの領域は、ツールヘッドの(x、y、z)座標であることができる。ツールの領域のシーケンスは、互いに隣接したもの(例えば、2D画像表現内で1ピクセルだけ回転または前方に移動するもの)であることができるか、または離れたもの(例えば、単一のステップで長距離を移動するもの)であることができる。
【0047】
機械学習アルゴリズムは、様々な強化学習アルゴリズムを採用することができる。強化学習アルゴリズムの例には、Q学習、State-Action-Reward-State-Action(SARSA)、Deep Q-Learning Network(DQN)、Asynchronous Advantage Actor-Critic(A3C)ネットワーク、Deep Deterministic Policy Gradient(DDPG)、hybrid reward architecture (HRA)、などが含まれる。強化学習アルゴリズムは、オンライン学習またはオフライン学習、オンポリシー学習またはオフポリシー学習、階層型強化学習などを採用することができる。いくつかの実装形態では、強化学習アルゴリズムは、例えば、ゲート付き回帰ユニット(GRU)や長短期記憶(LSTM)ニューラルネットワークのような、次のステップへの入力として前の出力状態を使用する回帰型ニューラルネットワークアーキテクチャを含むことができる。ニューラルネットワークアーキテクチャは、構成可能なサイズの1つ以上の畳み込み層、1つ以上の完全に接続された層、1つ以上の活性化層、または層間のスキップ接続などを含む畳み込みニューラルネットワーク(CNN)を含むことができる。
【0048】
図2Cは、モデル化されたオブジェクトの物理的構造を製造する際に使用するためのツールパスを生成する機械学習アルゴリズムのためのニューラルネットワークアーキテクチャ210の例を示す概略図である。この実装は、トレーニング例で専門家が作成したサンプルソリューションを必要としない、教師なし機械学習アルゴリズムを採用している。このニューラルネットワークアーキテクチャは、強化学習アルゴリズム、具体的には、アドバンテージアクタークリティカルアーキテクチャを使用する。機械学習アルゴリズムへの入力は、オブジェクト220のモデル、ストック材料222のモデル、及び利用可能なツール(複数可)224のモデル(複数可)を記述する環境の観察212であり得る。例えば、機械学習アルゴリズムへの入力は、ツールが環境を通って移動するときのツール224の周りの正方形の領域に対応する2D画像214であり得る。
【0049】
ニューラルネットワークアーキテクチャ210は、観測値212から1つ以上の特徴ベクトルを生成することができる畳み込みニューラルネットワーク(すなわち、ConvNet216)を含むことができる。例えば、ConvNet216は、サイズ4で、32チャネルの特徴ベクトルを生成できるストライド2を備える畳み込み層を含めることができる。回帰型ニューラルネットワーク、例えばGRU220は、以前のタイムステップでGRU220によって生成された状態ベクトルh18と、ConvNet216から生成された1つ以上の特徴ベクトルと、を入力として受け取ることができる。回帰型ニューラルネットワーク、例えばGRU220は、現在のタイムステップの状態ベクトルhi+122を生成することができる。例えば、状態ベクトルhi+122は、256の所定の長さを有することができる。現在の時間ステップの状態ベクトルhi+122は、1つ以上の線形演算子223を通じて処理されることができる。ニューラルネットワークアーキテクチャの出力は、複数のアクション224及び1つ以上の値226を含むことができる。アクション224は、モデル化されたオブジェクトを製造するためのツールパス、例えば、ツールを移動するための速度ベクトル、またはツールを加速するための方向を記述することができる。1つ以上の値226は、状態ベクトルhi+122に対応する特定の状態にあることの値スコアを表すことができる。例えば、ツールがCADモデルに非常に近い状態は、ツールがCADモデルに当たる可能性があり、そのため、大きな負の報酬になることから、低い値スコアを有することができる。いくつかの実装形態では、ソフトマックス関数228が、アクション224に適用されることができ、ソフトマックス関数228の出力は、可能なアクションの確率分布を含むことができる。
【0050】
機械学習アルゴリズムは、トレーニングプロセス中に得られた過去の経験から学んだことに基づいて、複数のステップでのツール領域のシーケンスを決定できる。機械学習アルゴリズムは、サンプルツールとサンプル環境を含むトレーニング例を使用してトレーニングされることができる。再び図2Bを参照すると、複数のトレーニング例が受け取られる(234)ことができ、各トレーニング例は、サンプルツール及びサンプル環境を含むことができる。トレーニングの間、機械学習アルゴリズムのパラメータ(例えば、重みのセット)は、トレーニング例に基づいて停止基準が満たされるまで繰り返し更新されることができる。トレーニング例は、実際のCAMプロセスからの、もしくはシミュレートされたCAMプロセスからの、または、その両方の組み合わせからのサンプルを含むことができる。例えば、トレーニングの例は、1つ以上のミリングツールの実際のまたはシミュレートされた切削抵抗情報を含むことができ、そのような切削抵抗情報はまた、トレーニング中にスコアリングメカニズムに追加されることもできる。トレーニング例は、2D環境または3D環境を含むことができる。トレーニング例は、2Dツールまたは3Dツールの表現を含むことができる。いくつかの実装形態では、1つ以上の事前処理操作が、トレーニング例において実行され得る。例えば、サンプル環境の一部分が、利用可能なツール(複数可)が適合するのに緊密過ぎる場合、サンプル環境の一部分が除去されることができ、トレーニングサンプルが、100%の完了を達成できるCADモデルを含むようになっている。従って、機械学習アルゴリズムは、トレーニング例のすべてのストック材料を除去するためにトレーニングされることができる。
【0051】
機械学習アルゴリズムをトレーニングして、1つ以上のスコアリング関数によって生成される値(複数可)を最大化できるツールパスを生成するために、トレーニング例が使用されることができる(236)。いくつかの実装形態では、機械学習アルゴリズムは、強化学習アルゴリズムの教師なしトレーニングを採用することができる。教師なしトレーニングの間、機械学習アルゴリズムは、所望の出力または専門家がラベル付けしたサンプルソリューションを受け取らない。強化学習アルゴリズムは、所望のツールパス特性と相関する報酬を含む1つ以上のスコアリング関数を最大化することによって出力を決定できる。例えば、強化学習アルゴリズムは、観察された機械加工環境から受け取る報酬を最大化するためにトレーニングされることができる。報酬を所望のツールパス特性と相関させるように設計することによって、強化学習アルゴリズムは、所望のツールパスを生成するためにトレーニングされることができる。
【0052】
いくつかの実装形態では、機械学習アルゴリズムは、選択された対応する強化学習アルゴリズムに対して適切なトレーニング方法を採用できる。例えば、アクタークリティカルネットワークに基づく強化学習アルゴリズムは、非同期トレーニング方法を用いてトレーニングされることができる。非同期トレーニング方法では、反復ごとに、重みの現在のセットを使用して強化学習ネットワークの複製が作成され得る。ネットワークの各複製は、環境の一部とインタラクトすることにより、独自のシミュレーションを実行できる。複製からの現在のパフォーマンスは、いくつかのステップにわたって蓄積されたシミュレーションから収集され得る。重みのセットの更新は、最適化アルゴリズムを通じて収集されたパフォーマンスに基づいて計算され得る(例えば、モメンタムを伴うか、伴わない確率的勾配降下法(SGD)、共有統計を伴うか、伴わない二乗平均平方根伝播(RMSProp)など)。重みのセットは、強化学習モデルのパフォーマンスに基づいて、(例えば、一定の反復回数が完了した、重みの変更が閾値よりも小さい、または精度の限度に到達、など)停止基準が満たされるまで繰り返し更新されることができる。
【0053】
いくつかの実装形態では、機械学習アルゴリズムをトレーニングするときに、ポリシーに準拠したトレーニングの代わりに、ポリシーに準拠していないトレーニングが使用され得る。ポリシーに準拠していないトレーニングは、機械学習アルゴリズム以外の別のソースから生成されたサンプルツールパスを使用して、機械学習アルゴリズムを評価及びトレーニングできる。異なるソースから生成されたサンプルツールパスは、コンピュータ支援製造において既に使用されている実際のツールパスデータ、またはテンプレートを用いて、またはテンプレートを用いずに人間によって設計されたツールパスデータなどを含むことができる。例えば、強化学習アルゴリズムは、そのパフォーマンスを評価することができ、専門家が作り上げたツールパスからのアルゴリズムのパラメータを学習できる。いくつかの実装形態では、強化学習アルゴリズムをトレーニングするときに、経験再生最適化が使用され得る。経験再生は、サンプルを再利用できるようにし、興味深く挑戦的なシナリオのトレーニングサンプルをより頻繁に使用できるようにすることで、サンプル効率を高めるのに役立ち得る。
【0054】
トレーニングが完了した後、機械学習アルゴリズムは、トレーニング例の中にないオブジェクト、または機械学習アルゴリズムがトレーニングされていないオブジェクトを製造するために使用され得るツールパスを生成することができる。1つ以上の新しいオブジェクト(例えば、1つ以上の新しい部品)を表すことができる追加のトレーニング例が取得され得る。機械学習アルゴリズムは、既存のトレーニング例と追加のトレーニング例の組み合わせでさらにトレーニングされ得る。いくつかの実装形態では、迅速なトレーニングの目的のために、以前にトレーニングされた機械学習モデルに基づいて、つまり、機械学習モデルのパラメータは、初めから(例えば、ランダムな数字またはゼロから)計算される代わりに、以前に学習されたパラメータから更新されて、微調整を実行することによって、機械学習アルゴリズムはトレーニングされることができる。これらの新しい部品のための機械学習アルゴリズムによって生成されたツールパスは、新しいトレーニング例を追加して機械学習アルゴリズムをトレーニングした後、さらに改善されることができる。いくつかの実装形態では、追加のトレーニング例は、機械学習アルゴリズムが以前に生成したツールパスへのユーザの変更に対応するデータを含むことができる。ユーザの変更に対応するデータは、より望ましいツールパスを生成することができる改善された機械学習アルゴリズムをトレーニングするために使用され得る。
【0055】
いくつかの実装形態では、機械学習アルゴリズムは、2つ以上の機械学習アルゴリズムを含むことができる。3次元モデルの少なくとも一部分は、2つ以上の機械学習アルゴリズムのうちの第1のアルゴリズムで処理され得る。3次元モデルの一部分は、2つ以上の機械学習アルゴリズムのうちの第2のアルゴリズムでさらに処理され得る。
【0056】
いくつかの実装形態では、2つ以上の機械学習アルゴリズムのうちの第1のアルゴリズムは、3次元モデルの一部分からデータ(例えば、画像特徴)を生成するために使用される畳み込みニューラルネットワーク(CNN)を含むことができる。CNNの例は、AlexNet、InceptionNet、ResNet、DenseNetなど、または画像認識タスクを実行することができる他のタイプのCNNを含むことができる。いくつかの実装形態では、機械学習アルゴリズムは、環境内のオブジェクトの3Dモデルとストック材料の2D断面表現を表す2D画像を入力として受け取ることができる。畳み込みニューラルネットワークは、一連の線形演算及び非線形演算を実行する2つ以上の畳み込み層を介して2D画像から有用な画像特徴を効果的に抽出できる。抽出された画像特徴は、残りのストック材料、オブジェクトのモデル、及びツールの領域の間の関係を表すことができる。例えば、抽出された画像特徴などの生成されたデータは、2つ以上の機械学習アルゴリズムのうちの第2のアルゴリズムで処理されることができる。例えば、第2の機械学習アルゴリズムは、コンピュータ制御製造で使用可能なツールパスを生成することができる強化学習ネットワーク(例えば、非同期アドバンテージアクタークリティカル(A3C)ネットワーク)であることができる。
【0057】
いくつかの実装形態では、2つ以上の機械学習アルゴリズムのうちの第1のアルゴリズムは、3次元モデルの少なくとも一部分の低解像度ビューで動作することができる。2つ以上の機械学習アルゴリズムのうちの第2のアルゴリズムは、3次元モデルの一部分の高解像度ビューで動作できる。例えば、第1のアルゴリズムは、オブジェクトのモデルの低解像度ビューを使用してツールを位置付けるための複数の開始位置を生成することができる。各開始位置の周りの高解像度ビューに基づいて、第2のアルゴリズムは、第1のアルゴリズムによって生成された各開始位置から開始するツールパスを生成することができ、ツールパスは、オブジェクトの局所部分を製造するために使用されることができる。2つ以上の機械学習アルゴリズムの詳細が、図3と関連付けて以下に説明されている。
【0058】
再び図2A参照すると、機械学習アルゴリズムによって生成されたツールパスは、ツールパスがオブジェクトの許容可能な最終的なツールパスであるかどうかを、例えば、プログラム(複数可)116によって判定する(204)ために、ユーザに提供される。プログラム(複数可)116は、ユーザ190が、機械学習アルゴリズムによって自動的に生成された1つ以上の候補ツールパスを受け入れるかまたは却下できるようにするUI要素をUI122に含むことができる。例えば、ユーザは1つ以上の候補ツールパスを使用してオブジェクトを製造するプロセスをシミュレートするビデオを見ることができる。
【0059】
生成されたツールパスが、製造可能オブジェクトの少なくとも一部分を製造するのに受け入れられないとユーザが判定した場合、プログラム(複数可)116は、機械学習アルゴリズムを使用して更新されたツールパスを生成することができる。いくつかの実装形態では、プログラム(複数可)116は、ユーザ190が、更新された所望のツールパス特性を指定することを可能にするUI122のUI要素(複数可)を含むことができる。機械学習アルゴリズムは、更新されたツールパス特性と相関する報酬を含む1つ以上のスコアリング関数を使用して、更新されたツールパスを生成できる。いくつかの実装形態では、プログラム(複数可)116は、ユーザ190が、ツールパスに満足するまで、候補ツールパスの1つ以上の部分を手動で編集することを可能にするUI122のUI要素(複数可)を含むことができる。さらに、機械学習アルゴリズムが1つ以上のストック材料を除去できないツールパス(複数可)を生成する場合、ユーザ190は、サブトラクティブ製造プロセス中にすべてのストック材料が除去されることを確実にするために、UI122のUI要素(複数可)を採用して、自動生成されたツールパス(複数可)に追加することができ、つまり、生成されたツールパス(複数可)を延長することは、生成されたツールパス(複数可)を変更することに追加的に実行されることができる。
【0060】
生成されたツールパスが製造可能オブジェクトの少なくとも一部分を製造するのに許容可能であるとユーザが判定する(204)と、ツールパスは、例えば、プログラム(複数可)116によって、製造可能オブジェクトの少なくとも一部を製造するために、コンピュータ制御製造システムに提供される(206)。いくつかの実装形態では、プログラム(複数可)116は、図1のツールパスドキュメント160に候補ツールパスを保存することができる。プログラム(複数可)116は、オブジェクト180の物理的構造を製造するためにドキュメント160をCNC機械170に提供することができる。
【0061】
コンピュータ制御製造システムは、機械学習アルゴリズムによって生成されたツールパスを使用して、製造可能オブジェクトの少なくとも一部分を製造する(208)。モデル化されたオブジェクトの製造には、荒削り操作、仕上げ操作、及び任意選択で、これら2つの操作の間の半仕上げ操作が含まれることがある。荒削り操作は、ストック材料の大部分を切削することを含むことができるが、モデル化されたオブジェクトにはストック材料の一部が残る。仕上げ操作は、すべての残っているストック材料を切削すること、及び良好な仕上がりで最終的な製造されたオブジェクトを生成することを含むことができる。荒削り、仕上げ、半仕上げの各操作は、独自のツールパスを有することができる。機械学習アルゴリズムは、荒加工、仕上げ加工、または半仕上げ加工のためのツールパスを生成するために使用され得る。
【0062】
図3は、2.5軸機械加工用の機械学習アルゴリズムによってツールパスを生成するためのプロセスの例を示している。2.5軸機械加工は、サブトラクティブ製造プロセスの一種である。2.5軸機械加工は、3つの別個の次元すべてで移動可能な3軸ミリングツールを使用できるが、ほとんどの切削操作では、ミリングツールはワークピースに対して2軸でしか移動せず、より効率的な製造プロセスになっている。2.5軸機械加工でのサブトラクティブプロセスは、ミリングツールに垂直な平面内での連続的移動であるが、ミリングツールに平行な不連続なステップで生じる。3軸サブトラクティブ製造と比較して、2.5軸サブトラクティブ製造プロセスは、材料の層を順番に迅速に除去することができ、かつ、様々な深さで一連の「ポケット」を有する部品を作成することができる。
【0063】
コンピュータ制御製造システムによる2.5軸機械加工のためのオブジェクトの3次元モデル320は、例えば、プログラム(複数可)116によって取得される(302)。2.5軸ジェネレーティブデザインは、複数の個別の層を含む3DオブジェクトのCADモデルを生成するために、ジェネレーティブデザインソフトウェアを使用することができる。例えば、CADモデル320は、最下層、中間層、及び最上層を含む3層を有することができる。
【0064】
3次元モデルの複数の2次元表現322は、例えば、プログラム(複数可)116によって生成される(304)。複数の2D表現は、前処理ステップにおいて3Dモデルの個別の2D層で生成できる。各2D表現は、オブジェクトの3Dモデルの断面を表す画像であることができる。例えば、2D表現322は、中間層の高さでの3Dモデル320の断面を表す画像であり得る。2D表現322は、オブジェクト(例えば、部品)を表す領域326、及びストック材料が除去される必要があるオブジェクト外側(例えば、部品外側)の領域328を含むことができる。
【0065】
2次元表現は、例えば、プログラム(複数可)116によって、機械学習アルゴリズムに提供される。機械学習アルゴリズム306は、2.5軸機械加工用のツールパスを生成するようにトレーニングされることができ、つまり、機械学習アルゴリズム306は、3次元でオブジェクトを製造するために使用できるツールパスを作成するが、2次元でのみ操作する。2.5軸機械加工を使用してオブジェクトの少なくとも一部分を製造するために使用可能なツールパス324は、例えば、プログラム(複数可)116によって、複数の2D表現に基づいて生成され得る(308)。換言すると、各個別の2D層を製造するための対応するツールパスのセットを生成するために、各2D表現が機械学習アルゴリズムに提供されることができる。いくつかの実装形態では、最終的なツールパスは、3Dモデルの複数の2D表現に対応するツールパスのすべてのセットを組み合わせることによって生成されることができる。
【0066】
ツールパスは、2.5軸機械加工を使用してオブジェクトの少なくとも一部分を製造するために、コンピュータ制御製造システムに提供されることができる(310)。例えば、ツールパス324は、2.5軸機械加工を使用して、オブジェクトの右下部分330でストック材料を除去するために提供され得る。
【0067】
いくつかの実装形態では、機械学習アルゴリズムは、2つ以上の機械学習アルゴリズムを含むことができる。ツールの少なくとも1つの開始位置は、2つ以上の機械学習アルゴリズムのうちの第1のアルゴリズムで3Dモデルのグローバルビューを処理することによって生成され得る。少なくとも1つの開始位置の各々について、ツールパスのセットは、2つ以上の機械学習アルゴリズムのうちの第2のアルゴリズムを使用して、各開始位置の近くの3Dモデルのローカルビュー(例えば、カッターの表面のエッジの周りのピクセルを表す値の配列、またはカッターの表面から出て行く同心円を表す値のセット)を処理することによって生成され得る。製造プロセスはテレポートしてから除去する方法で操作できる。各反復において、ツールは切削操作を実行することなく、所望の開始位置に迅速に移動できる。次に、ツールは、少なくとも1つの開始位置に近いローカル領域で切削を実行できる。2つ以上の機械学習アルゴリズムを使用して長期計画を実行し、その後ローカルで切断する本方法は、様々なタイプのコンピュータ制御製造システムに適用されることができ、2.5軸機械加工には限定されていない。
【0068】
例えば、オブジェクトの画像表現323は、オブジェクトの外側にある4つのローカル領域330、332、334、及び336を示している。ツールに垂直な2D平面内のみでツールが移動する場合、いくつかの領域(例えば、領域336)は、別の領域(例えば、領域330)で動作するツールがアクセスすることができない。第1の機械学習アルゴリズムは、4つの領域330、332、334、及び336の各々を製造するための4つの開始位置を生成することができる。第2の機械学習アルゴリズムは、4つの領域330、332、334、及び336の各々においてストック材料を除去するために使用可能なツールパスを生成することができる。
【0069】
いくつかの実装形態では、少なくとも1つの開始位置を生成することは、製造可能オブジェクトの3Dモデルの、及び製造可能オブジェクトの少なくとも一部分が、それから製造されるストック材料のモデルの離散化された表現を使用して、2つ以上の機械学習アルゴリズムのうちの第1のアルゴリズムで3Dモデルのグローバルビューを処理することを含み得る。オブジェクトとストック材料の離散化された表現は、計算量を低減することができ、第1の機械学習アルゴリズムの効率を向上させることができる。いくつかの実装形態では、ツールパスのセットを生成することは、製造可能オブジェクトの少なくとも一部分を製造するために使用されるコンピュータ制御製造システム内のツールのモデルの連続的表現を使用して、2つ以上の機械学習アルゴリズムのうちの第2のアルゴリズムでローカルビューを処理することを含み得る。例えば、システムは、CADモデルに近いローカル切削を実行する正確なツールパスを生成するために2つ以上の機械学習アルゴリズムのうちの第2のアルゴリズムへの入力としてツール(複数可)の連続的表現を使用することができる。
【0070】
いくつかの実装形態では、少なくとも1つの開始位置を生成することは、ツール(複数可)のモデルの離散化された表現を使用して、2つ以上の機械学習アルゴリズムのうちの第1のアルゴリズムでグローバルビューを処理することを含み得る。いくつかの実装形態では、ツールパスのセットを生成することは、製造可能オブジェクトの3Dモデルの、及びストック材料のモデルの連続表現を使用して、2つ以上の機械学習アルゴリズムの第2のアルゴリズムでローカルビューを処理することを含み得る。例えば、システムは、CADモデルに近いローカル切削を実行するツールパスの一部分を生成するために、オブジェクトの3Dモデルとストック材料のモデルの連続表現を、2つ以上の機械学習アルゴリズムのうちの第2のアルゴリズムへの入力として使用することができる。オブジェクトとストック材料の連続的表現は、CADモデルに近いローカル切削の精度を向上させることができる。
【0071】
いくつかの実装形態では、システムは、2つ以上の機械学習アルゴリズムのうちの第1及び第2のアルゴリズムの両方で、製造可能オブジェクトの3Dモデルとストック材料のモデルの離散化された表現を使用することができ、システムは、2つ以上の機械学習アルゴリズムのうちの第2のアルゴリズムでのローカルビューの処理中に、モデルの高解像度の離散化された表現を使用することができる。例えば、システムは、オブジェクトの3Dモデルの低解像度の離散化された表現(例えば、画像)を使用して、2つ以上の機械学習アルゴリズムのうちの第1のアルゴリズムでグローバルビューを処理することができ、画像内の各ピクセルは、5mm×5mmの物理サイズを有することができる。システムは、オブジェクトの3Dモデルの高解像度の離散化された表現(例えば、画像)を使用して、2つ以上の機械学習アルゴリズムのうちの第2のアルゴリズムでローカルビューを処理することができ、画像内の各ピクセルは、0.5mm×0.5mmの物理サイズを有することができる。
【0072】
いくつかの実装形態では、ほとんどのストック材料が除去された後に、ストック材料の小さな断片が、依然として残っている場合がある。除去する必要がある材料のこれらの小さな断片は、互いに近接していない場合がある。上述の、テレポートしてから除去する方法は、互いに遠く離れているストック材料の小さな断片を効果的に除去することができる。ツールの近くのローカルビューを使用してストック材料の次の断片を探す代わりに、機械学習アルゴリズムは、すべての残りの断片のグローバルビューを利用することができ、ストック材料の次の断片の開始位置にツールを迅速に送ることができる。
【0073】
図4は、クライアントまたはサーバとしてプログラムされることができるデータ処理装置400を含むデータ処理システムの概略図である。データ処理装置400は、ネットワーク480を介して1つ以上のコンピュータ490に接続されている。図4には1台のコンピュータしか示されていないが、データ処理装置400として、複数のコンピュータが使用されることができる。データ処理装置400は、アプリケーション層とオペレーティングシステムとの間に分配されることができる様々なソフトウェアモジュールを含む。これらは、上述のシステム及び技法を実装する3Dモデリング/シミュレーション及び製造制御プログラム404のツール及びサービスを含む、実行可能及び/または解釈可能なソフトウェアプログラムまたはライブラリを含むことができる。使用されるソフトウェアモジュールの数は、実装ごとに変化し得る。さらに、ソフトウェアモジュールは、1つ以上のコンピュータネットワークまたは他の適切な通信ネットワークによって接続された1つ以上のデータ処理装置に分配されることができる。
【0074】
データ処理装置400はまた、1つ以上のプロセッサ412、1つ以上の追加のデバイス414、コンピュータ可読媒体416、通信インターフェース418、及び1つ以上のユーザインターフェースデバイス420を含むハードウェアまたはファームウェアデバイスも含んでいる。各プロセッサ412は、データ処理装置400内で実行するための命令を処理することができる。いくつかの実装形態では、プロセッサ412は、シングルスレッドまたはマルチスレッドのプロセッサである。各プロセッサ412は、コンピュータ可読媒体416に、または追加のデバイス414のうちの1つなどの記憶デバイスに記憶された命令を処理することができる。データ処理装置400は、その通信インターフェース418を使用して、例えば、ネットワーク480を介して、1つ以上のコンピュータ490と通信する。ユーザインターフェースデバイス420の例には、ディスプレイ、カメラ、スピーカー、マイクロフォン、触覚フィードバックデバイス、キーボード、マウス、及びVR及び/またはAR機器が含まれる。データ処理装置400は、例えば、コンピュータ可読媒体416、または、例えば、ハードディスクデバイス、光ディスクデバイス、テープデバイス、及びソリッドステートメモリデバイスのうちの1つ以上など、1つ以上の追加デバイス414に、上述のプログラム(複数可)に関連付けられた操作を実施する命令を格納することができる。
【0075】
本明細書に記載の主題及び機能操作の実施形態は、デジタル電子回路において、または本明細書に開示される構造及びそれらの構造的同等物を含むコンピュータソフトウェア、ファームウェア、またはハードウェアにおいて、またはそれらの1つ以上の組み合わせにおいて実施されることができる。本明細書に記載の主題の実施形態は、データ処理装置による実行のために、またはデータ処理装置の動作を制御するために、非一時的なコンピュータ可読媒体に符号化されたコンピュータプログラム命令の1つ以上のモジュールを使用して実装されることができる。コンピュータ可読媒体は、コンピュータシステム内のハードドライブ、小売チャネルを通じて販売される光ディスク、または組み込みシステムなどの製造された製品であり得る。コンピュータ可読媒体は、別個に取得され、後に、コンピュータプログラム命令の1つ以上のモジュールの有線ネットワークまたは無線ネットワークを介した送達などによって、コンピュータプログラム命令の1つ以上のモジュールでエンコードされ得る。コンピュータ可読媒体は、機械可読記憶装置、機械可読記憶基板、メモリデバイス、またはそれらの1つ以上の組み合わせであり得る。
【0076】
「データ処理装置」という用語は、プログラム可能プロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを例示として含む、データを処理するためのすべての装置、デバイス、及び機械を包含する。装置は、ハードウェアに加えて、当該コンピュータプログラムの実行環境を作成するコードを含み得、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、ランタイム環境、またはそれらの1つ以上の組み合わせを構成するコードを含み得る。さらに、本装置は、ウェブサービス、分散コンピューティング、グリッドコンピューティングインフラストラクチャなど、様々な異なるコンピューティングモデルインフラストラクチャを採用できる。
【0077】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)は、コンパイルまたは解釈された言語、宣言言語または手続き型言語を含む、いずれの形式のプログラミング言語でも記述されることができ、スタンドアロンプログラムとして、またはコンピューティング環境での使用に適したモジュール、構成要素、サブルーチン、もしくは、その他のユニットとして、を含むいずれの形式でも展開できる。コンピュータプログラムは、必ずしもファイルシステム内のファイルに対応しているわけではない。プログラムは、当該プログラムに専用の単一のファイル内に、または複数の調整されたファイル(例えば、1つ以上のモジュール、サブプログラム、またはコードの部分を格納するファイル)内に、他のプログラムまたはデータ(例えば、マークアップ言語ドキュメントに保存された1つ以上のスクリプト)を保持するファイルの一部分に格納され得る。コンピュータプログラムは、1台のコンピュータで、または1つのサイトに配置されているか、複数のサイトにわたって分配され、通信ネットワークによって相互接続されている複数のコンピュータで実行されるように展開され得る。
【0078】
本明細書に記載のプロセス及び論理フローは、1つ以上のコンピュータプログラムを実行する1つ以上のプログラム可能プロセッサによって実行され、入力データを操作して出力を生成することによって機能を実行することができる。プロセス及び論理フローはまた、装置によって実行されることができ、かつ、装置はまた、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの特殊用途の論理回路として実装されることもできる。
【0079】
コンピュータプログラムの実行に適したプロセッサは、例示として、汎用マイクロプロセッサと専用マイクロプロセッサの両方、及びいずれかの種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。一般に、プロセッサは、読み取り専用メモリもしくはランダムアクセスメモリ、または、その両方から命令とデータを受信することになる。コンピュータの重要な要素は、命令を実行するためのプロセッサと、命令とデータを格納するための1つ以上のメモリデバイスである。一般に、コンピュータはまた、データを格納するための1つ以上の大容量記憶装置、例えば、磁気ディスク、磁気光ディスク、または光ディスクを含むか、またはデータを受信するため、もしくはデータを送信するため、もしくはその両方のために1つ以上の大容量記憶装置に動作可能に結合される。しかしながら、コンピュータには、そのようなデバイスを有する必要があるわけではない。さらに、コンピュータは、いくつかの例を挙げると、例えば、携帯電話、携帯情報端末(PDA)、モバイルオーディオまたはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、または携帯型記憶装置(例えば、ユニバーサルシリアルバス(USB)フラッシュドライブ)などの別のデバイスに組み込まれることができる。コンピュータプログラムの命令及びデータを格納するのに適したデバイスには、あらゆる形態の不揮発性メモリ、媒体、及びメモリデバイスが挙げられ、これらには、例示として、例えば、EPROM(Erasable Programmable Read-Only Memory)、EEPROM(Electrically Erasable Programmable Read-Only Memory)、及びフラッシュメモリデバイスなどの半導体メモリデバイス、例えば、内蔵ハードディスクまたはリムーバブルディスクなどの磁気ディスク、光磁気ディスク並びにCD-ROM及びDVD-ROMディスクが挙げられる。プロセッサとメモリは、専用論理回路によって補完されることができるか、またはそれに組み込まれることができる。
【0080】
ユーザとの相互作用を提供するために、本明細書に記載された主題の実施形態は、例えば、ユーザに情報を表示するためのLDC(液晶ディスプレイ)ディスプレイデバイス、OLED(有機発光ダイオード)ディスプレイデバイス、または別のモニタを有し、かつ、それらによってユーザがコンピュータに入力を提供することができる、キーボード及びポインティングデバイス(例えば、マウスまたはトラックボール)を有するコンピュータに実装され得る。他の種類のデバイスが、ユーザとのインタラクトを提供するために用いられることもでき、例えば、ユーザに提供されるフィードバックは、例えば、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバックなどの任意形態の感覚的フィードバックであることができ、また、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形式で受信されることができる。
【0081】
コンピューティングシステムは、クライアントとサーバを含むことができる。クライアントとサーバは一般的に、互いに遠隔であり、通常は通信ネットワークを介してインタラクトする。クライアントとサーバの関係は、各々のコンピュータで実行され、クライアントーサーバ関係を互いに有しているコンピュータプログラムによって生じる。本明細書に記載されている主題の実施形態は、コンピューティングシステムに実装されることができ、コンピューティングシステムは、例えば、データサーバとしてのバックエンド構成要素を含む、または例えば、アプリケーションサーバなどのミドルウェア構成要素を含む、または例えば、ユーザが本明細書に記載されている主題の実装とインタラクトできるグラフィカルユーザインターフェース、もしくはウェブブラウザを有するクライアントコンピュータなどのフロントエンド構成要素、またはそのようなバックエンド、ミドルウェア、フロントエンド構成要素の1つ以上の任意の組み合わせを含む。システムの構成要素は、例えば、通信ネットワークなどのデジタルデータ通信の任意の形式または媒体によって相互接続されることができる。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)及びワイドエリアネットワーク(「WAN」)、インターネットワーク(インターネットなど)、並びにピアツーピアネットワーク(例えば、アドホックピアツーピアネットワーク)が含まれる。
【0082】
本明細書には多くの実装の詳細が含まれているが、これらは、特許請求されているか、または特許請求され得るもの範囲に対する制限として解釈されるべきではなく、むしろ、開示された主題の特定の実施形態に特定の特徴の説明として解釈されるべきである。別個の実施形態の文脈で本明細書に記載されている特定の特徴はまた、単一の実施形態で組み合わせて実施されることができる。逆に、単一の実施形態の文脈で説明される様々な特徴は、複数の実施形態で別々に、または任意の適切な副組み合わせで実施することもできる。さらに、これらの特徴は、特定の組み合わせで作用するものとして上で説明され得、最初にそのように特許請求されても、特許請求された組み合わせからの1つ以上の特徴は、場合によっては、組み合わせから切り出され得、特許請求された組み合わせは、副組み合わせまたは副組み合わせの変形に向けられ得る。
【0083】
同様に、操作は特定の順序で図面に示されているが、このことは、所望の結果を達成するために、そのような操作が示された特定の順序で、または連続した順序で実行されること、または図示されたすべての操作が実行されることを要求するとして理解されるべきではない。特定の状況では、マルチタスクと並列処理が有利であることがある。さらに、上述の実施形態における様々なシステム構成要素の分離は、すべての実施形態においてそのような分離を必要とするものとして理解されるべきではなく、説明されたプログラム構成要素及びシステムは、概して、単一のソフトウェア製品に共に統合されるか、または複数のソフトウェア製品にパッケージ化され得ることが理解されるべきである。
【0084】
このように、本発明の特定の実施形態が説明されてきた。他の実施形態は、以下の特許請求の範囲内にある。
図1
図2A
図2B
図2C
図3
図4
【国際調査報告】