(57)【要約】製造支援システムが提供される。該製造支援システムは、製造される対象物の対象物データを取得する取得ユニット１０と；前記対象物データを入力として受信し、前記対象物を製造するための製造システムに利用可能なハードウェアに関する情報を参照して前記製造システムのハードウェア構成を決定する人工知能（ＡＩ）エンジン２０と；決定された前記ハードウェア構成を出力する出力ユニット６０と、を含む。【選択図】図１
2020537773.tif 000002
【特許請求の範囲】
【請求項１】
製造される対象物の対象物データを取得する取得ユニット（１０）と；
前記対象物データを入力として受信し、前記対象物を製造するための製造システムに利用可能なハードウェアに関する情報を参照して前記製造システムのハードウェア構成を決定する人工知能（ＡＩ）エンジン（２０）と；
決定された前記ハードウェア構成を出力する出力ユニット（６０）と、を含む製造支援システム。
【請求項２】
前記ＡＩエンジン（２０）はさらに、前記対象物を製造するための前記製造システムによって実行される製造プロセスの工程を決定し、
前記出力ユニット（６０）はさらに、決定された前記製造プロセスの工程を出力する、請求項１に記載の製造支援システム。
【請求項３】
前記ＡＩエンジン（２０）はさらに、前記製造プロセスの工程に含まれる１以上の各工程に関するパラメータの数値又は数値範囲を決定し、
前記出力ユニット（６０）はさらに、決定された前記数値又は数値範囲を出力する、請求項２に記載の製造支援システム。
【請求項４】
前記製造システムに利用可能なハードウェアに関する情報は、予想される製造プロセスの工程の少なくとも一部に対し、利用可能でかつ前記製造プロセスの工程を実行するために必要な少なくとも１つのハードウェア要素を示す情報を含み、
前記ＡＩエンジン（２０）は：
前記対象物データを入力として受信し、
受信した前記対象物データを使って計算を実行し、
前記計算に基づいて前記対象物を製造するための少なくとも一組の製造プロセスの工程を示す情報を出力する機械学習装置（２００）と； 
利用可能なハードウェアに関する情報を参照して、前記対象物を製造するための前記少なくとも一組の製造プロセスの工程に含まれる１以上の各工程を実行するのに必要な少なくとも１つのハードウェア要素を特定することによって、前記製造システムの前記ハードウェア構成を決定するハードウェア情報処理ユニット（２１２）と；
を含む、請求項２又は３に記載の製造支援システム。
【請求項５】
前記機械学習装置（２００）は、受信した前記対象物データを使って計算を実行するニューラルネットワークを含み、
該ニューラルネットワークは、１以上の対象物の対象物データと、前記１以上の対象物を製造するための製造プロセスの工程の組を示す情報とを含む訓練データを使って訓練されており、
前記ニューラルネットワークの訓練はディープラーニング技術に従って実行される、請求項４に記載の製造支援システム。
【請求項６】
利用可能なハードウェアに関する前記情報は、利用可能なハードウェア要素の作業スケジュールを示す情報を含み、
前記ＡＩエンジン（２０）は２以上のハードウェア構成を決定し、
前記製造支援システムはさらに：
前記対象物の要求される納期と前記作業スケジュールに基づいて、前記２以上のハードウェア構成のうち１つを選択する選択ユニットを含み、
前記出力ユニット（６０）は、前記２以上のハードウェア構成のうち選択された１つを出力する、請求項１ないし５のいずれか一項に記載の製造支援システム。
【請求項７】
前記ＡＩエンジン（２０）はさらに、前記２以上のハードウェア構成の間で優先順位を決定し、
前記選択ユニット（４０）はさらに、前記２以上のハードウェア構成の間の前記優先順位に基づいて前記２以上のハードウェア構成のうちの１つを選択する、請求項６に記載の製造支援システム。
【請求項８】
前記対象物データ及び／又は決定された前記ハードウェア構成に基づいて決定された前記ハードウェア構成を備えた前記製造システムを制御する制御情報を生成する制御情報生成ユニット（５０）をさらに含む、請求項１ないし７のいずれか一項に記載の製造支援システム。
【請求項９】
前記取得ユニット（１０）はさらに、製造される前記対象物の材料、加工及び／又はサイズに関する情報を取得し、
前記ＡＩエンジン（２０）はさらに：
入力の一部として、製造される前記対象物の材料、加工及び／又はサイズに関する情報を受信し；
製造される前記対象物の材料、加工及び／又はサイズに関する情報をさらに使って前記ハードウェア構成を決定する、請求項１ないし８のいずれか一項に記載の製造支援システム。
【請求項１０】
コンピュータにより製造支援を実施する方法であって、該方法は：
製造される対象物の対象物データを取得するステップ；
人工知能（ＡＩ）エンジン（２０）により前記対象物データを入力として受信するステップ；
前記ＡＩエンジン（２０）により、前記対象物を製造するための製造システムに利用可能なハードウェアに関する情報を参照して前記製造システムのハードウェア構成を決定するステップ；及び
決定された前記ハードウェア構成を出力するステップ、を含む方法。
【請求項１１】
前記ＡＩエンジン（２０）により、前記対象物を製造するための前記製造システムにより実行される製造プロセスの工程を決定するステップ、及び
決定された前記製造プロセスの工程を出力するステップをさらに含む、請求項１０に記載の方法。
【請求項１２】
前記ＡＩエンジン（２０）により、前記製造プロセスの工程に含まれる１以上の各工程に関するパラメータの数値または数値範囲を決定するステップ、及び
決定された前記数値または数値範囲を出力するステップをさらに含む、請求項１１に記載の方法。
【請求項１３】
前記製造システムに利用可能なハードウェアに関する情報は、予想される製造プロセスの工程の少なくとも一部に対し、利用可能でかつ前記製造プロセスの工程を実行するために必要な少なくとも１つのハードウェア要素を示す情報を含み、
前記製造プロセスの工程を決定するステップは、前記ＡＩエンジン（２０）に含まれる機械学習装置（２００）によって実行され、前記製造プロセスの工程を決定するステップは：
対象物データを入力として受信するステップ；
受信した前記対象物データを使って計算を実行するステップ；及び
前記計算に基づいて前記対象物を製造するための少なくとも一組の製造プロセスの工程を示す情報を出力するステップ、を含み、
前記製造システムのハードウェア構成を決定するステップは、利用可能なハードウェアに関する情報を参照して、前記対象物を製造するための製造プロセスの工程の少なくとも一組に含まれる１以上の各工程の実行に必要な少なくとも１つのハードウェア要素を特定することにより実行される、請求項１１又は１２に記載の方法。
【請求項１４】
請求項１３に記載の方法であって、
前記機械学習装置（２００）は、受信した前記対象物データを使って計算を実行するニューラルネットワークを含み、
前記方法はさらに：
１以上の対象物の対象物データと、前記１以上の対象物を製造するための製造プロセスの工程の組を示す情報とを含む訓練データを使って前記ニューラルネットワークを訓練するステップを含み、
前記ニューラルネットワークの訓練はディープラーニング技術に従って実行される、方法。
【請求項１５】
請求項１０ないし１４のいずれか一項に記載の方法であって、
利用可能なハードウェアに関する情報は、利用可能なハードウェア要素の作業スケジュールを示す情報を含み、
２以上のハードウェア構成が前記ＡＩエンジン（２０）によって決定され、
前記方法はさらに：
前記対象物の要求される納期と前記作業スケジュールに基づいて、前記２以上のハードウェア構成のうち１つを選択するステップを含み、
前記２以上のハードウェア構成のうち選択された１つが、決定された前記ハードウェア構成として出力される、方法。
【請求項１６】
前記ＡＩエンジン（２０）はさらに、前記２以上のハードウェア構成の間で優先順位を決定し、
前記２以上のハードウェア構成の１つを決定するステップは、前記２以上のハードウェア構成の間の前記優先順位に基づく、請求項１５に記載の方法。
【請求項１７】
前記対象物データ及び／又は決定された前記ハードウェア構成に基づいて決定された前記ハードウェア構成を備えた前記製造システムを制御する制御情報を生成するステップをさらに含む、請求項１０ないし１６のいずれか一項に記載の方法。
【請求項１８】
製造される前記対象物の材料、加工及び／又はサイズに関する情報を取得するステップをさらに含み、
前記ＡＩエンジン（２０）はさらに、製造される前記対象物の材料、加工及び／又はサイズに関する情報を受信し、
前記ＡＩエンジン（２０）はさらに、製造される前記対象物の材料、加工及び／又はサイズに関する情報を使って前記製造システムのハードウェア構成を決定する、請求項１０ないし１７のいずれか一項に記載の方法。
【請求項１９】
コンピュータにロードされて実行されるとき、請求項１０ないし１８のいずれか一項に記載の方法の前記ステップを前記コンピュータに実行させるコンピュータ可読命令を含むコンピュータプログラム製品。
【請求項２０】
ＡＩを訓練する装置であって、該ＡＩは、（ｉ）製造される対象物の対象物データを受信し；（ｉｉ）受信した前記対象物データを使って計算を実行し；（ｉｉｉ）前記計算に基づいて前記対象物を製造するための少なくとも一組の製造プロセスの工程を示す情報を出力し、該装置は：
１以上の対象物の対象物データと、前記１以上の対象物を製造するための製造プロセスの工程の組を示す情報とを含む訓練データを使って前記ＡＩを訓練するＡＩ訓練ユニットを含む、装置。
【請求項２１】
コンピュータによりＡＩの訓練を実施する方法であって、該ＡＩは、（ｉ）製造される対象物の対象物データを受信し；（ｉｉ）受信した前記対象物データを使って計算を実行し；（ｉｉｉ）前記計算に基づいて前記対象物を製造するための少なくとも一組の製造プロセスの工程を示す情報を出力し、該方法は：
１以上の対象物の対象物データと、前記１以上の対象物を製造するための製造プロセスの工程の組を示す情報を含む訓練データを使って前記ＡＩを訓練するステップを含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は歯車等の対象物の製造の支援に関する。
【背景技術】
【０００２】
対象物を製造するための製造システムは作業者の経験に基づいて作業者により構築される。製造システムの構築は、例えば、加工装置及び／又は工具等の必要なハードウェアの選択、そのようなハードウェアの作業条件、及び／又はそのようなハードウェアの制御プログラムの生成を含む。
【０００３】
対象物の製造及び／又は機械加工を支援するために人工知能（ＡＩ）が使われている。例えば、特許文献１及び特許文献２は、加工装置の動作を評価して評価データを出力する動作評価ユニットと、加工装置の軸の移動距離を学習する機械学習装置を備えた加工装置を開示している。特許文献１に開示された機械学習装置は、調整された軸の移動量、加工装置の物理量データ、及び物理量データと評価データとに基づいて算出された報酬データに基づいて加工装置の軸の移動量の調整を学習する。特許文献２に開示された機械学習装置は、決定された軸の移動量、加工装置の状態データ、及び状態データに基づいて算出された報酬に基づいて加工装置の軸の移動量の決定を学習する。
【０００４】
さらに、例えば特許文献３は、射出成形を実行したとき、実行中の射出成形に関する物理量を観測する状態観測部と；物理量データを記憶する物理量データ記憶部と；機械学習の報酬条件を設定する報酬条件設定部と；物理量データと報酬条件とに基づいて報酬を計算する報酬計算部と；報酬計算部が算出した報酬と、作業条件の調整と、及び物理量データとに基づいて作業条件を調整するための機械学習を実行する作業条件調整学習部と；作業条件調整学習部による機械学習の学習結果を記憶する学習結果記憶部と；及び作業条件調整学習部による機械学習に基づいて調整される作業条件と調整量を決定して出力する作業条件調整量出力部と、を備えた射出成形システムを開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１７−３３１３８号公報
【特許文献２】特開２０１７−６２６９５号公報
【特許文献３】特開２０１７−３０１５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
いくつかの状況において、製造プロセス全体の効率を向上するために、対象物の製造に必要なハードウェアを容易に選択できることが要望されている。
【課題を解決するための手段】
【０００７】
本発明の一態様によれば、製造支援システムが提供される。該製造支援システムは：
製造される対象物の（対象物形状データ、特に３Ｄ対象物データ等の）対象物データを取得する取得ユニットと；
前記対象物データを入力として受信し、前記対象物を製造する製造システムに利用可能なハードウェアに関する情報を参照して前記製造システムのハードウェア構成を決定する人工知能（ＡＩ）エンジンと；
決定された前記ハードウェア構成を出力する出力ユニットと；を備える。
【０００８】
いくつかの状況において、本発明のさまざまな態様にかかる製造支援システムは、製造システムのハードウェア構成の効率的な決定に貢献し、製造する対象物を製造するための製造プロセス全体の効率向上をもたらす。
【０００９】
いくつかの例において、前記ＡＩエンジンはさらに、前記対象物を製造する前記製造システムによって実行される製造プロセスの工程を決定し、出力ユニットはさらに、決定された前記製造プロセスの工程を出力する。
【００１０】
さらに、前記ＡＩエンジンは、前記製造プロセスの工程に含まれる１以上の各工程に関連するパラメータの数値または数値範囲を決定し、出力ユニットはさらに、決定された前記数値または数値範囲を出力する。
【００１１】
いくつかの例において、前記製造システムに利用可能なハードウェアに関する情報は、予想される製造プロセスの工程の少なくとも一部に対して、利用可能でかつ前記製造プロセスの工程の実行に必要な少なくとも１つのハードウェア要素を示す情報を含み、
前記ＡＩエンジンは：
前記対象物データを入力として受信して；
受信した前記対象物データを使って計算を実行し；
前記計算に基づいて前記対象物を製造するための少なくとも一組の製造プロセスの工程を示す情報を出力する機械学習装置と；
利用可能なハードウェアに関する情報を参照して、前記対象物を製造するための前記少なくとも一組の製造プロセスの工程に含まれる１以上の各工程の実行に必要な少なくとも１つのハードウェア要素を特定することにより、前記製造システムの前記ハードウェア構成を決定するハードウェア情報処理ユニットと；を含む。
【００１２】
これらの例において、対象物を製造するための製造ステップの工程はＡＩによって決定され、一方製造システムのハードウェア構成は、例えばデータベースに前もって記憶可能な利用可能なハードウェアに関する情報を参照して決定される。このように、いくつかの状況において、利用可能なハードウェアに対して変更がなされたとき、データベースに記憶された利用可能なハードウェアに関する情報を更新することができ、利用可能なハードウェアに対する変更に関しＡＩを再訓練することなくハードウェア構成の決定を行うことができる。このことはハードウェア構成を決定する際の効率向上に貢献し、それによって製造プロセス全体の効率を向上できる。
【００１３】
前記ＡＩエンジンが前記機械学習装置及び前記ハードウェア情報処理ユニットを含む上記の例に関し、前記機械学習装置は、受信した前記対象物データを使って計算を実行するニューラルネットワークを含み、該ニューラルネットワークは、１以上の対象物の対象物データと、前記１以上の対象物を製造するための製造プロセスの工程の組を示す情報とを使って訓練される。ニューラルネットワークの訓練はディープラーニング技術に従って実行される。
【００１４】
上述した態様やさまざまな例に関し、利用可能なハードウェアに関する前記情報は、利用可能なハードウェア要素の作業スケジュールを示す情報を含み、
前記ＡＩエンジンは２以上のハードウェア構成を決定し、
前記製造支援システムは：
前記対象物の要求される納期と前記作業スケジュールに基づいて、前記２以上のハードウェア構成のうち１つを選択する選択ユニットを備え、
前記出力ユニットは、前記２以上のハードウェア構成のうち選択された１つを出力する。
【００１５】
さらに、前記ＡＩエンジンは前記２以上のハードウェア構成の間で優先順位を決定し、前記選択ユニットは、前記２以上のハードウェア構成の間の前記優先順位に基づいて前記２以上のハードウェア構成のうちの１つを選択する。
【００１６】
上記の態様と様々な例に関し、前記製造支援システムは、前記対象物データ及び／又は決定された前記ハードウェア構成に基づいて決定された前記ハードウェア構成を備えた前記製造システムを制御する制御情報を生成する制御情報生成ユニットをさらに含む。
【００１７】
別の態様によれば、製造を支援するためにコンピュータによる実施方法が提供される。該方法は：
製造される前記対象物の（対象物形状データ、特に３Ｄ対象物データ等の）対象物データを取得するステップ；
前記対象物データを人工知能（ＡＩ）エンジンによって入力として受信するステップ；
製造システムに利用可能なハードウェアに関する情報を参照して前記対象物を製造する製造システムのハードウェア構成を人工知能ＡＩエンジンによって決定するステップ；及び
決定された前記ハードウェア構成を出力するステップを含んでもよい。
【００１８】
いくつかの例において、上記態様にかかる方法は：
前記対象物を製造する前記製造システムにより実行される製造プロセスの工程をＡＩエンジンによって決定するステップ；及び
決定された前記製造プロセスの工程を出力するステップをさらに含んでもよい。
【００１９】
さらに、上記態様及び例にかかる方法は：
前記製造プロセスの工程に含まれる１以上の各工程に関連するパラメータの数値または数値範囲を前記ＡＩエンジンによって決定するステップ；及び
決定された前記数値または数値範囲を出力するステップをさらに含んでもよい。
【００２０】
上記の例にかかる方法に関し、前記製造システムに利用可能なハードウェアに関する情報は予想される製造プロセスの工程の少なくとも一部に対し、利用可能でかつ前記製造プロセスの工程を実行するために必要な少なくとも１つのハードウェア要素を示す情報を含み、
前記製造プロセスの工程を決定するステップは、前記ＡＩエンジンに含まれる機械学習装置により実行され、前記製造プロセスの工程を決定するステップは：
前記対象物データを入力として受信するステップ；
受信した前記対象物データを使って計算を実行するステップ；及び
前記計算に基づいて前記対象物を製造するための少なくとも一組の製造プロセスの工程を示す情報を出力するステップ、を含み、
前記製造システムのハードウェア構成を決定するステップは、利用可能なハードウェアに関する情報を参照して、前記対象物を製造するための製造プロセスの工程の少なくとも一組に含まれる１以上の各工程の実行に必要な少なくとも１つのハードウェア要素を特定することにより実行される。
【００２１】
前記機械学習装置は、受信した前記対象物データを使って計算を実行するニューラルネットワークを含み、
前記方法はさらに：
１以上の対象物の対象物データと、前記１以上の対象物を製造するための製造プロセスの工程の組を示す情報とを含む訓練データを使って前記ニューラルネットワークを訓練するステップを含み、
前記ニューラルネットワークの訓練はディープラーニング技術に従って実行される。
【００２２】
上記の態様及びさまざまな例にかかる方法に関し、利用可能なハードウェアに関する情報は、利用可能なハードウェア要素の作業スケジュールを示す情報を含み、
２以上のハードウェア構成が前記ＡＩエンジンによって決定され、
前記方法はさらに：
前記対象物の要求される納期と前記作業スケジュールに基づいて、前記２以上のハードウェア構成のうち１つを選択するステップを含み、
前記２以上のハードウェア構成のうち選択された１つが、決定された前記ハードウェア構成として出力される。
【００２３】
さらに、前記ＡＩエンジンが前記２以上のハードウェア構成の間で優先順位を決定し、
前記２以上のハードウェア構成の１つを決定するステップは、前記２以上のハードウェア構成の間の前記優先順位に基づく。
【００２４】
さらに、上記の態様及びさまざまな例にかかる方法は：前記対象物データ及び／又は決定された前記ハードウェア構成に基づいて決定された前記ハードウェア構成を備えた前記製造システムを制御する制御情報を生成するステップをさらに含む。
【００２５】
さらに、上記の態様及びさまざまな例にかかる方法は：
製造される前記対象物の材料、加工及び／又はサイズに関する情報を取得するステップをさらに含み、
前記ＡＩエンジンはさらに、製造される前記対象物の材料、加工及び／又はサイズに関する情報を受信し、
前記ＡＩエンジンはさらに、製造される前記対象物の材料、加工及び／又はサイズに関する情報を使って前記製造システムのハードウェア構成を決定する。
【００２６】
さらに別の態様によれば、コンピュータプログラム製品が提供される。該コンピュータプログラム製品はコンピュータ読み取り可能命令を含み、それがコンピュータにロードされて実行されるとき、前記コンピュータに上記の態様及びさまざまな例にかかる方法のいずれか１つの方法のステップを実行させる。
【００２７】
さらに別の態様によれば、（ｉ）製造される対象物の対象物データを受信し；（ｉｉ）受信した前記対象物データを使って計算を実行し；（ｉｉｉ）前記計算に基づいて前記対象物を製造する少なくとも一組の製造プロセスの工程を示す情報を出力するＡＩを訓練するための装置が提供される。該装置は：
１以上の対象物の対象物データと、前記１以上の対象物を製造するための製造プロセスの工程の組を示す情報とを含む訓練データを使って前記ＡＩを訓練するＡＩ訓練ユニットを含む。
【００２８】
さらに別の態様によれば、（ｉ）製造される対象物の対象物データを受信し；（ｉｉ）受信した前記対象物データを使って計算を実行し；（ｉｉｉ）前記計算に基づいて前記対象物を製造する少なくとも一組の製造プロセスの工程を示す情報を出力するＡＩを訓練するためにコンピュータによる実施方法が提供される。該方法は：
１以上の対象物の対象物データと、前記１以上の対象物を製造するための製造プロセスの工程の組を示す情報を含む訓練データを使って前記ＡＩを訓練するステップを含む。
【００２９】
本願明細書に記載される内容は方法やシステムとして、あるいは１以上のコンピュータプログラム製品の形態で実施することができる。本願明細書に記載の内容はデータ信号として又は機械読み取り可能な媒体として実施可能であり、該媒体はＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ、又はハードディスク等の１以上の情報媒体として具現化される。そのようなコンピュータプログラム製品はデータ処理装置に対し本願明細書に記載される１以上の作業を実行させることができる。
【００３０】
さらに、本願明細書に記載される発明の対象はプロセッサやプロセッサに連結されるメモリを含むシステムとしても実施される。メモリは１以上のプログラムをエンコードしてプロセッサに対し本願明細書に記載の１以上の方法を実行させる。本願明細書に記載されるさらなる発明の対象はさまざまの装置を使って実施できる。
【図面の簡単な説明】
【００３１】
１以上の実施の詳細について代表的な図面を参照して以下に説明する。その他の特徴については説明や図面及びクレームの記載により明らかである。しかし、実施例が別々に記載されているとしても、異なる実施例の個別の特徴が組み合わされさらなる実施例が創出されることが理解されるべきである。
【図１】代表的な実施例にかかる製造支援システムの一例の機能ブロック図である。
【図２】ハードウェア情報データベース（ＤＢ）に記憶されたデータの例を示す。
【図３】ハードウェア情報データベースＤＢに記憶されたさらなるデータの例を示す。
【図４Ａ】ディープラーニング技術を使って訓練されるニューラルネットワークの代表的な構成を示す。
【図４Ｂ】図４Ａで示されたニューラルネットワークの隠れ層の訓練の仕方をいくつかの例で示す。
【図５】畳み込みニューラルネットワーク（ＣＮＮ）の代表的な入力層と代表的な畳み込み層を表す概略図を示す。
【図６】代表的なマックスプーリング処理を示す概略図である。
【図７】ＣＮＮの代表的な構成を示す。
【図８】機械学習装置のＡＩを訓練するための代表的な処理のフローチャートを示す。
【図９】製造支援システムによって実行される代表的な処理のフローチャートを示す。
【図１０】ＡＩエンジンによって実行される代表的な処理のフローチャートを示す。
【図１１】製造システムの制御プログラムを生成するために実行される代表的な処理のフローチャートを示す。
【図１２】別の代表的な実施例にかかる製造支援システムの出力データの例を示す。
【図１３】製造支援システムを実施するために使用されるコンピュータの代表的なハードウェア構成を示す。
【発明を実施するための形態】
【００３２】
実施例について図面を参照して以下に詳細に説明する。実施例についてはさまざまな変更が可能である。特に、１つの実施例の要素が他の実施例に組み合わされ使用されて新たな実施例が形成されることもある。
【００３３】
ここに記載される代表的な実施例及びさまざまな事例は、製造される対象物の対象物データを取得し、及び製造システムに利用可能なハードウェアに関する情報を参照して、取得された対象物データから、人工知能（ＡＩ）を使って、対象物を製造するための製造システムのハードウェア構成を決定することにより、対象物の製造を支援することに関する。
【００３４】
製造支援システムの機能的構成
図１は代表的な実施例にかかる製造支援システムの一例の機能ブロック図を示す。
【００３５】
図１に示すように、製造支援システムは取得ユニット１０、ＡＩエンジン２０、ハードウェア情報ＤＢ３０、ニューラルネットワークＤＢ３５、選択ユニット４０、制御情報生成ユニット５０及び／又は出力ユニット６０を含む。
【００３６】
取得ユニット１０は製造される対象物の対象物データ（対象物形状データ、特に３Ｄ対象物データ等）を取得する。製造される対象物は、例えば、機械加工、成形、鋳造、熱処理及び表面仕上げにより製造可能な、どのような対象物であってもよい。以下、製造される対象物が歯車である場合について実施例を記載する。歯車は、例えば、切断、穿孔、ホブ切り、面取り及び／又はシェービングを含む機械加工により製造される。しかし、当業者であれば、ここで記載されるさまざまな実施例や事例が機械加工の工程以外の工程を含む製造プロセスによって歯車以外の対象物の製造に対しても適用できることを容易に理解することに留意すべきである。
【００３７】
対象物データは、例えば、製造される歯車等の対象物の画像データであってもよい。該画像データは各ピクセルが少なくとも１つの数値を含む、ピクセルの２次元画像配列を含んでもよい。例えば、グレースケール画像データにおけるピクセルはピクセル強度を示す１つの数値を含む。カラー画像データのピクセルは例えば３つの数値等の複数の数値を含み、それはＲＧＢ色空間等の色空間の座標を示す。画像データは例えばＣＣＤ（電荷結合素子）センサを含むカメラなどの撮像装置によって生成され、１以上の現場の画像を捕捉する。
【００３８】
対象物データの別の例は、２Ｄ画像データと、それに対応する歯車等製造される対象物の深度マップデータとの組み合わせであってもよい。２Ｄ画像データは、画像データである対象物データに対して上述したように、カメラなどの撮像装置によって生成されてもよい。対応する深度マップデータは２Ｄ画像データにおける各ピクセルの数値を含み、該数値は２Ｄ画像の対応するピクセルにおける視点から対象物の表面までの距離を示している。深度マップは、例えば、深度情報が異なる視点から捕捉された現場の少なくとも２つの画像の同一の位置を特定することで再構成される多視点ステレオ法等、既知の３Ｄ再構成技法を使って生成できる。
【００３９】
２Ｄ画像データとそれに対応する深度マップデータとの組み合わせである対象物データの具体例において、対象物データはＲＧＢ−Ｄ（ＲＧＢと深度）データであってもよい。ＲＧＢ−Ｄデータは、光学カメラと構造化光深度センサからなるＭｉｃｒｏｓｏｆｔ  Ｋｉｎｅｃｔ及びＡＳＵＳ  Ｘｔｉｏｎ  Ｐｒｏ  ＬｉｖｅなどのＲＧＢ−Ｄセンサによって捕捉されてもよい。
【００４０】
対象物データの別の具体例は、構造化光投影による２Ｄ画像データであってもよく、構造化光が所定の照明角度で製造される対象物又はその対象物のモデルに投影される。（照明角度に対して）所定の撮像角度で捕捉された２Ｄ画像での対象物の照明部分の構造は照明された対象物の（３Ｄ）形状を表す。
【００４１】
対象物データのさらに別の例は、歯車など製造される対象物の３Ｄモデルであってもよい。該３Ｄモデルは対象物の任意の表面の３次元の数学的表現を含んでもよい。例えば３Ｄモデルは三角形、線、曲面などのさまざまな幾何学的要素によって接続される、三次元空間での点の収集を使った対象物の物理的実体の表記を含んでもよい。具体例において、対象物データは３Ｄ  ＣＡＤ（コンピュータ支援設計）モデルであってもよい。該３ＤモデルはＡｕｔｏＣＡＤ、Ｂｌｅｎｄｅｒ、ＦｒｅｅＣＡＤ等の３次元モデリングのための既知のソフトウェアを使って生成されてもよい。さらに、いくつかの例では、３Ｄモデルは既知の３Ｄスキャナーによって生成されてもよい。
【００４２】
対象物データのタイプはＡＩエンジン２０が必要とする入力データのタイプに従って選ばれる。
【００４３】
取得ユニット１０は取得ユニット１０に接続されるコンピュータ（図示しない）又は記憶装置（図示しない）から対象物データを取得してもよい。
【００４４】
あるいは、取得ユニット１０が対象物データを生成してもよい。例えば、対象物データが対象物の画像データの場合、取得ユニット１０はカメラ等の撮像装置によって実施されてもよい。さらに、例えば、対象物データが対象物の３Ｄモデルの場合、取得ユニット１０は既知の３Ｄスキャナー又は３次元モデリングのための既知のソフトウェアがインストールされたコンピュータによって実施されてもよい。さらに、例えば、対象物データが２Ｄ画像データとそれに対応する深度マップデータとの組み合わせの場合、取得ユニット１０は、製造される対象物のＲＧＢ−Ｄデータを捕捉するＲＧＢ−Ｄセンサを含んでもよい。他の例において、上述のように取得ユニット１０は対象物の１以上の画像を捕捉するカメラ等の撮像装置と、例えば多視点ステレオ法に従って深度マップデータを取得するシステムとを含んでもよい。
【００４５】
いずれの場合も、必要であれば、取得ユニット１０はＡＩエンジン２０への適切な入力となるように対象物データの処理を行う。
【００４６】
ＡＩエンジン２０は取得ユニット１０から対象物データを入力として受信する。ＡＩエンジン２０は、さらに対象物を製造する製造システム（図示しない）に利用可能なハードウェアに関する情報を参照して前記製造システムのハードウェア構成を決定する。図１に示すように、ＡＩエンジン２０は機械学習装置２００、ＡＩ訓練ユニット２１０、及び／又はハードウェア情報処理ユニット２１２を備える。
【００４７】
機械学習装置２００は受信ユニット２０２、ＡＩ計算ユニット２０４、出力ユニット２０６を含む。受信ユニット２０２は入力として対象物データを受信する。いくつかの例において、受信ユニット２０２はＡＩ計算ユニット２０４により実行される計算に使われる情報を受信する。例えば、受信ユニット２０２は製造される対象物の材料、加工及び／又はサイズに関する情報をさらに受信する。製造される対象物の材料に関する情報は、例えば、材料の名前及び／又は色、剛性、相対密度、耐熱性等の材料の特性を示してもよい。製造される対象物の加工に関する情報は、例えば、対象物の表面の機械加工及び／又は表面処理の仕方、材料の加工（例えば、焼結、ハンダ付け、溶接等）の仕方、対象物の要素の組み立て方等を示してもよい。対象物のサイズに関する情報は、例えば、全体の長さ、幅、厚さ、高さ、及び／又は対象物の少なくとも一部の直径を示してもよい。製造される対象物の材料、加工及び／又はサイズに関するさらなる情報は、入力装置（図示しない）を介してユーザが入力するか又はコンピュータ（図示しない）及び／又はＡＩエンジン２０に接続された記憶装置（図示しない）から取得されてもよい。
【００４８】
ＡＩ計算ユニット２０４はＡＩの計算を実行する。換言すれば、ＡＩ計算ユニット２０４はＡＩを実行するユニットとして理解されてもよい。具体的には、ここに記載する例において、ＡＩ計算ユニット２０４は受信した対象物データを使って計算を実行する。受信ユニット２０２が製造される対象物の材料、加工及び／又はサイズに関するさらなる情報を受信する場合は、ＡＩ計算ユニット２０４は、受信した対象物データのみならず対象物の材料、加工及び／又はサイズに関するさらなる情報を使って計算を実行する。ＡＩ計算ユニット２０４によって実行される計算は、例えば、ニューラルネットワークを含む技術である既知の機械学習技術に基づくものであってもよい。ＡＩ計算ユニット２０４の詳細な例については後述する。ＡＩ計算ユニット２０４によって実行される計算に基づいて、対象物を製造するための製造プロセスの工程の少なくとも一組が決定される。
【００４９】
出力ユニット２０６は、ＡＩ計算ユニット２０４によって実行される計算に基づいて、対象物を製造するための製造プロセスの工程の少なくとも一組を示す情報を出力する。例えば、製造される対象物が平歯車の場合、出力ユニット２０６によって出力される一組の製造プロセスの工程は、切断工程、穿孔工程、ホブ切り工程、面取り工程、及びシェービング工程を含む。
【００５０】
いくつかの例において、出力ユニット２０６は、ＡＩ計算ユニット２０４によって実行される計算に基づいて、製造プロセスの組に含まれる１以上の各工程に関する１以上のパラメータの数値及び／又は数値範囲を示す情報をさらに出力する。例えば切断工程に関し、切断の深さの数値範囲が数値範囲のパラメータとして出力される。さらに、例えば穿孔工程に関し、孔の深さ及び直径の数値範囲が数値範囲のパラメータとして出力される。
【００５１】
製造される対象物のタイプ（例えば、平歯車、はすば歯車、内歯車等）に依存して、適切な製造プロセスの工程の組及び／又は１以上の工程に関する１以上のパラメータの数値及び／又は数値範囲が変化することもある。この製造プロセスの工程の変化は、製造システムが製造プロセスの工程の組を実行するために必要なハードウェア構成に変更をもたらす結果となる。
【００５２】
ＡＩ訓練ユニット２１０は機械学習装置２００のＡＩ計算ユニット２０４によって実施されるＡＩを訓練する。例えば、ＡＩ訓練ユニット２１０は対象物を製造するための製造プロセスの工程の少なくとも一組を決定するためにＡＩ計算ユニット２０４によって実施されるＡＩを訓練する。さらに、例えば、ＡＩ訓練ユニット２１０は製造プロセスの工程の少なくとも一組に加えて、製造プロセスの組に含まれる１以上の各工程に関する１以上のパラメータの数値及び／又は数値範囲を決定するためにＡＩ計算ユニット２０４によって実施されるＡＩを訓練する。
【００５３】
いくつかの例において、ＡＩ訓練ユニット２１０はニューラルネットワークＤＢ３５からニューラルネットワークのデータ構造を取得して対象物を製造するための製造プロセスの工程の少なくとも一組を決定するためにニューラルネットワークを訓練する。
【００５４】
ニューラルネットワークＤＢ３５はさまざまの構成を備えたニューラルネットワークのデータ構造を記憶するデータベースである。例えば、ニューラルネットワークＤＢ３５は、さまざまな数のノードを有する入力層、さまざまな数のノードを有する１以上の隠れ層、さまざまな数のノードを有する出力層、及びノード間のさまざまの重みづけされた結合を有するニューラルネットワークのデータ構造を記憶する。さらに例えば、ニューラルネットワークＤＢ３５は、図４Ａないし図７を参照して後述するオートエンコーダ及び畳み込みニューラルネットワーク（ＣＮＮ）等のニューラルネットワークのデータ構造を記憶してもよい。
【００５５】
いくつかの例において、ＡＩ訓練ユニット２１０は製造支援システム以外の装置に設けられてもよく、ＡＩエンジン２０に設けられる必要はない。
【００５６】
ハードウェア情報処理ユニット２１２は、ハードウェア情報ＤＢ３０を参照して、対象物を製造するための少なくとも一組の製造プロセスに含まれる１以上の各工程を実行するのに必要な少なくとも１つのハードウェア要素を特定することによって、製造システムのハードウェア構成を決定する。
【００５７】
ハードウェア情報ＤＢ３０は製造システムに利用可能なハードウェア要素に関する情報を記憶する。例えば、ハードウェア情報ＤＢ３０は、予想される製造プロセスの工程の少なくとも一部に対して、製造プロセスの工程を実行するために利用可能でありかつ必要なハードウェア要素又はハードウェア要素の組合せを示す情報を記憶する。利用可能なハードウェア要素は、例えば製造システムが設置される工場にあるハードウェア要素であってもよい。製造システムのハードウェア要素は、ＮＣ（数値制御）旋盤、ホブ盤、面取り盤、シェービング盤、ボール盤、フライス盤、放電加工機（ＥＤＭ）等の加工装置、及び、加工装置に用いる工具、例えば、切断工具、掘削工具、ホブカッター、面取りカッター、シェービングカッター、ジグ等の工具を含むがこれらに限定されない。
【００５８】
図２はハードウェア情報データベースＤＢ３０に記憶された情報の例を示す。図２に示すように、ハードウェア情報データベースＤＢ３０は加工装置及び各加工装置に利用可能な工具についての情報を含むテーブルからなっている。図２に示すテーブルにおいて、テーブルの各行は加工装置に対応し、加工装置のタイプ、加工装置のモデル／ＩＤ（識別情報）及び加工装置に使われる工具のタイプ、モデル／ＩＤを含む。例えば、図２に示すテーブルによれば、モデル／ＩＤ“ＫＡ０１２”の切断工具とモデル／ＩＤ“ＤＡ１２３”のドリルはモデル／ＩＤ“Ａ００１”のＮＣ旋盤に使うことができる。
【００５９】
図３はハードウェア情報ＤＢ３０に記憶される情報の例をさらに示す。より具体的には、図３は、予想される製造プロセスの工程の少なくとも一部に対して、該製造プロセスの工程の実行に利用可能かつ必要な少なくとも１つのハードウェア要素を示す情報の例を示している。図３に示される代表的なテーブルにおいて、第１列は予想される製造工程を示し、第２列は製造工程に対応するパラメータセットを示す。図３の代表的なテーブルにおいて、パラメータセットはパラメータの具体的集合の識別情報によって示される。ハードウェア情報ＤＢ３０は図３の代表的なテーブルに示されるように、各識別情報によって特定されたパラメータセットに含まれるパラメータの具体的な数値及び／又は数値範囲を記憶する。さらに、図３に示される具体的なテーブルの第３列は個々の製造工程を実行するために必要な加工装置及び工具の組合せを、パラメータセットを用いて示す。例えば、図３に示されたテーブルによれば、パラメータセット“ＣＵＰ１”を用いた切断工程は加工装置“Ａ００１”と工具“ＫＡ０１２”との組合せを必要とする。
【００６０】
ハードウェア情報ＤＢ３０はさらに利用可能なハードウェア要素の作業スケジュールを記憶する。作業スケジュールは、現在どのハードウェア要素が利用できるのか及び／又はどの時点で利用できるようになるのかを示す。代替として又は追加的に、作業スケジュールは、現在どのハードウェア要素が使用中であり及び／又はどの時点で使用されるのか、及び／又は現在どのハードウェア要素がメンテナンス作業中であり、及び／又はどの時点でメンテナンス作業に入るのかを示してもよい。作業スケジュールはさらにハードウェア要素がいつの時点まで使用され、又は使用されるようになるのかを示してもよい。
【００６１】
再度図１に戻れば、ハードウェア情報処理ユニット２１２は、図３に示されるようなハードウェア情報ＤＢ３０に記憶された情報テーブルを参照して、機械学習装置２００から出力された、該対象物を製造するための少なくとも一組の製造プロセスの工程に含まれる１以上の各工程の実行に必要なハードウェア要素の組合せを特定することによって、製造支援システムのハードウェア構成を決定する。例えば、ハードウェア情報ＤＢ３０が図３に示される代表的なテーブルを記憶し、機械学習装置２００がパラメータセット“ＣＵＰ１”を用いた切断工程、パラメータセット“ＤＲＰＭ”を用いた穿孔工程、パラメータセット“ＨＯＰ１”を用いたホブ切り工程、及びパラメータセット“ＣＨＰ１”を用いた面取り工程を含む一組の製造プロセスの工程を出力したとする。この例では、ハードウェア情報処理ユニット２１２は、切断工程に対して“Ａ００１−ＫＡ０１２”、穿孔工程に対して“Ａ００１−ＤＡ１２３”、ホブ切工程に対して“Ｂ００１−ＨＢ０１１”、及び面取り工程に対して“Ｃ００１−ＭＡ１０３”の加工装置−工具の組合せを特定する。この決定されたハードウェア構成は、製造プロセスの工程に対して特定されたこれらの加工装置−工具の組合せ“Ａ００１−ＫＡ０１２”，“Ａ００１−ＤＡ１２３”，“Ｂ００１−ＨＢ０１１”及び“Ｃ００１−ＭＡ１０３”を有する。
【００６２】
いくつかの例において、ＡＩエンジン２０は対象物を製造するために２以上のハードウェア構成を決定してもよい。例えば、機械学習装置２００は対象物を製造するために２以上の組の製造プロセスの工程を決定してもよい。そのような場合、ハードウェア情報処理ユニット２１２はそれぞれが前記２以上の組の製造プロセスの工程の一つに対応する２以上のハードウェア構成を決定する。
【００６３】
さらに、ＡＩエンジン２０が２以上のハードウェア構成を決定する例において、ＡＩエンジン２０はさらに２以上のハードウェア構成の優先順位を決定することができる。換言すれば、ＡＩエンジン２０は２以上のハードウェア構成のうちどのハードウェア構成が他よりもより好ましく及び／又は推薦できるかを決定できる。
【００６４】
ＡＩエンジン２０が対象物を製造するために２以上のハードウェア構成を決定する場合、選択ユニット４０が対象物に対し要求される納期と利用可能なハードウェア要素の作業スケジュールに基づいて前記２以上のハードウェア構成のうちの１つを選択する。さらにＡＩエンジン２０が２以上のハードウェア構成の優先順位を決定する場合、選択ユニット４０は２以上のハードウェア構成の優先順位に基づいて選択を行う。要求される納期は、入力装置（図示しない）を使ってユーザが入力してもよいし、コンピュータ（図示しない）や選択ユニット４０に接続される記憶装置（図示しない）から取得されてもよい。作業スケジュールはハードウェア情報ＤＢ３０から取得してもよい。選択ユニット４０は選択されたハードウェア構成を制御情報生成ユニット５０及び／又は出力ユニット６０へ供給する。
【００６５】
選択ユニット４０は製造支援システムにとってオプショナルなユニットである。例えば、ＡＩエンジン２０が製造システムに対して単に一つのハードウェア構成を決定する場合は、製造支援システムは選択ユニット４０を含む必要がない。
【００６６】
制御情報生成ユニット５０は対象物データ及び／又は決定されたハードウェア構成に基づいて、決定されたハードウェア構成を備えた製造システムを制御するための制御情報を生成する。制御情報は例えば、決定されたハードウェア構成を備えた製造システムの動作を制御するための制御パラメータの数値を含む。制御パラメータは選択されたハードウェア構成に含まれるハードウェア要素の作業条件を表す。代替として又は付加的に、制御情報は選択されたハードウェア構成に含まれるハードウェア要素の制御プログラムを含んでもよい。制御情報生成ユニット５０は生成された制御情報を出力ユニット６０へ供給する。
【００６７】
制御情報生成ユニット５０も製造支援システムにとってオプショナルなユニットである。
【００６８】
出力ユニット６０は選択ユニット４０によって供給された選択されたハードウェア構成及び／又は制御情報生成ユニット５０によって供給された生成された制御プログラムを出力する。製造支援システムが選択ユニット４０を含まない場合、出力ユニット６０はＡＩエンジン２０によって決定されたハードウェア構成をＡＩエンジン２０から受信することで受信したハードウェア構成を出力してもよい。
【００６９】
上述のように図１を参照して説明した代表的な製造支援システムによれば、少なくとも一組の製造プロセスの工程がＡＩ計算ユニット２０４を使って機械学習装置２００によって決定され、少なくとも該一組の製造プロセスの工程に含まれる１以上の各工程を実行するために必要な１以上のハードウェア要素に関してハードウェア情報ＤＢ３０に記憶された情報を参照し少なくとも該一組の製造プロセスの工程に基づいて、ハードウェア構成がハードウェア情報処理ユニット２１２によって決定される（例えば、図３に示される代表的なテーブルを参照）。したがって、利用可能なハードウェア要素に対し何らかの変更があれば、ハードウェア情報ＤＢ３０はその変更を反映するように更新され、その後ＡＩエンジン２０によって決定されたハードウェア構成もその変更を反映することになる。そのような場合、ＡＩ計算ユニット２０４はハードウェア情報ＤＢ３０に記憶された情報を必ずしも必要としないため、利用可能なハードウェアに対する変更に関してＡＩ計算ユニット２０４がＡＩの再訓練を実施する必要がない。このことは、ハードウェア構成を決定する際の効率の向上に貢献し、ひいては製造プロセス全体の効率の向上につながる。
【００７０】
製造支援システムに使われるＡＩの例
以下にＡＩ計算ユニット２０４の詳細な例を説明する。
【００７１】
ａ）オートエンコーダ
いくつかの例において、ＡＩ計算ユニット２０４は図４Ａに示す構成を有するニューラルネットワークを含み、該ニューラルネットワークはオートエンコーダに関連する既知のディープラーニング技術を使って訓練される。
【００７２】
既知のディープラーニング技術により訓練されるニューラルネットワークは、入力層（例えば図４Ａの層Ｌ０）、２以上の隠れ層（例えば図４Ａの層Ｌ１、Ｌ２）及び出力層（例えば図４Ａの層Ｌ３）を含んで全体で４層以上からなる。図４Ａは４層を示すが、ディープラーニングのためのニューラルネットワークは５層以上であってもよく、例えば隠れ層が３層以上でもよい。さらに、ディープラーニングのためのニューラルネットワークの各層は図４Ａで示されたノードよりも多い数又は少ない数のノードを有してもよい。
【００７３】
図４Ａに示されたニューラルネットワークの入力層は取得ユニット１０によって取得された対象物データに含まれる又は対象物データから導かれる数値を受信するノードを含む。例えば、対象物データが製造される対象物の画像データの場合、入力層は該画像データに含まれるピクセルに対応するノードを含む。換言すれば、各ノードは画像データに含まれるピクセルのうちの一つの強度値を受信する。カラー画像データについては、入力層の複数のノードが画像データの単一のピクセルの複数の強度値（例えば、レッド、グリーン、ブルーチャネルの強度値）に対応する。
【００７４】
対象物データが２Ｄ画像データと、それに対応する、製造される対象物の深度マップデータとの組合せの場合、入力層は２Ｄ画像データのピクセルに対応する入力ノード及び深度マップデータのピクセルに対応する入力ノードを含む。
【００７５】
さらに、対象物データが製造される対象物の３Ｄモデルの場合、３Ｄモデルは立体表現を使って、例えばボクセル化により表現されてもよく、それによって対象物データが図４Ａに示すニューラルネットワークの入力層の入力ノードに容易に入力される数値を含む。３Ｄモデルの立体表現は３次元空間のボクセルで表され（例えば、Ｎ×Ｎ×Ｎボクセルの立方体（Ｎ＝２，３，４，．．．））、各ボクセルは０と１の間の値を取り、０はボクセルが空であり、一方１は３Ｄモデルでボクセルが占有されることを示す。ニューラルネットワークの入力層はこのような３次元空間のボクセルに対応する入力ノードを含む。対象物データが対象物の３Ｄモデルである例において、取得ユニット１０は３Ｄモデルの立体表現を生成し該立体表現をＡＩエンジン２０に供給するように構成されてもよい。
【００７６】
対象物データのタイプにかかわらず、製造される対象物の材料、加工及び／又はサイズに関する情報がＡＩエンジン２０によって受信される例において、入力層はそのような情報に対応する１以上のノードをさらに含む。例えば、異なる材料の名前には異なる数値が割り当てられ、その材料の名前に対応する入力ノードは対象物のその材料の名前に割り当てられた数値を受信する。代替として又は付加的に、入力ノードはその材料の特性、例えば、色、剛性、相対密度、耐熱性等に対応し、例えばその特性を示す数値を受信してもよい。さらに、対象物の加工に対応する１以上の入力ノードが入力層に設けられる場合、該１以上の入力ノードは加工のタイプ（例えば、焼結、ハンダ付け、溶接等）及び／又は例えば対象物の要素の組み立て方等を示す１以上の数値を受信してもよい。さらに、対象物のサイズに対応する入力ノードが入力層に設けられる場合、該追加されるノードが対象物のサイズを示す数値を受信してもよい。
【００７７】
図４Ａに示すニューラルネットワークを訓練するとき、ニューラルネットワークの各隠れ層への接続の重みが一組のデータの表現（例えば、エンコーディング）を学習するオートエンコーダを構築するように調整される。例えば、図４Ａに示される隠れ層Ｌ２を訓練するために、図４Ｂに示されるニューラルネットワークを有するオートエンコーダが構築されて訓練されてもよい。図４Ｂを参照して、層Ｌ１が隠れ層Ｌ２に接続される入力層と考えることができ、入力層と同じ数のノードを有する出力層が設けられる。図４Ｂの層Ｌ１、Ｌ２が図４Ａの層Ｌ１、Ｌ２に対応することに留意すべきである。図４Ｂに示されるオートエンコーダは、入力層への入力データを監視信号として使って訓練される。換言すれば、隠れ層Ｌ２への接続の重みは出力層が入力データと同じデータを出力するように調整される。そのような訓練を行うことで入力データの圧縮情報を表現する、言い換えると、入力データの特性又は特徴を表現するオートエンコーダの隠れ層を出現させる。図４Ｂに示されるオートエンコーダの訓練は図４Ａに示されるニューラルネットワークの各隠れ層に対し繰り返し行われる。
【００７８】
オートエンコーダの堅牢性を向上するためにいくつかの技術が適用される。例えば、部分的に破損した入力（例えば、ノイズがのった入力）がオートエンコーダを訓練中に使われて本来の歪のない入力を復元してもよい。さらに、例えば、訓練中にスパース性が隠れ層に課され（例えば、入力層の中よりも隠れ層の中により多くのノードを設け）、隠れ層のうち指定されたパーセントのノードのみ活性化されるようにオートエンコーダが訓練されてもよい。さらなる例として、隠れ層の１以上のノードが訓練中に不活性化されてもよい。
【００７９】
図４Ａに示されるニューラルネットワークの出力層は製造する対象物を製造するための製造プロセスの工程のうち予想される組に対応する出力ノードを含む。例えば、各出力ノードは該製造プロセスの工程の対応する組が対象物を製造するために適切であることの尤度を表す数値を出力してもよい。従って、機械学習装置の出力ユニット２０６は尤度の最大値を有する出力ノードに対応した製造プロセスの工程の組を示す情報を出力してもよい。いくつかの例において、機械学習装置の出力ユニット２０６は、指定された（予め決定された又は予め決定可能な）数の出力ノードを特定し、該出力ノードは全ての出力ノードのうち最大の尤度を有し、特定された出力ノードに対応する、指定された数の製造プロセスの工程の組を示す情報を出力してもよい。さらに出力ユニット２０６は特定された出力ノードによって出力される尤度の数値に基づいて指定された数の組の製造プロセスの工程の優先順位を出力してもよい。例えば、出力ユニット２０６は、高い出力値を有する特定された出力ノードに対応する製造プロセスの工程の組に対して高い優先順位（言い換えれば、好ましい及び／又は推奨レベルが高い）を示す情報を出力してもよい。
【００８０】
さらに出力ユニット２０６が組に含まれる１以上の各工程に関する１以上のパラメータの数値及び／又は数値範囲を示す情報を出力する例において、出力ノードに対応する、予想される製造プロセスの工程の各組はそのような数値及び／又は数値範囲を含んでも、又は関連してもよい。
【００８１】
ｂ）畳み込みニューラルネットワーク（ＣＮＮ）
いくつかの例において、ＡＩ計算ユニット２０４は画像認識に適したニューラルネットワークとして知られる畳み込みニューラルネットワーク（ＣＮＮ）を含む。製造支援システムのＡＩ計算ユニット２０４へのＣＮＮの代表的な応用を図５ないし７を参照して以下に説明する。
【００８２】
図５はＣＮＮの代表的な入力層と代表的な畳み込み層を表す概略図を示す。図５に示すＣＮＮにおいて、チャネル数Ｋ（Ｋ＝１，２，３，．．．）（例えば、レッド、グリーン、ブルーに対応する３チャネル）に対しピクセル数Ｗ×Ｗ（Ｗ＝１，２，３，．．．）を有する入力画像が入力層に入力される。この例では、入力画像は歯車のような製造される対象物の画像（例えば、取得ユニット１０によって取得される対象物のデータ）であってもよい。チャネルに対するピクセルの強度値は入力層の入力ノードへの入力値と見なされる。言い換えれば、入力層は、それぞれがピクセルのチャネルの強度値に対応するＷ×Ｗ×Ｋの入力ノードを含む。
【００８３】
図５に示されるＣＮＮの畳み込み層の各ノードは入力画像の一部にあてられるＦ×Ｆ（Ｆ＝１，２，３，．．．；Ｆ＜Ｗ）のサイズを有するフィルタに対応する。図４に示すように、Ｍ（Ｍ＝１，２，３，．．．）個のフィルタがＫチャネルの入力画像の同じ部分にあてられてもよい。畳み込み層の各ノードの出力は以下に示す式（１）により表される：
【数１】
2020537773.tif 000003
【００８４】
上式において、ｘｉは入力ノードへの入力値（例えば、対応するフィルタによってカバーされる領域内のチャネルに対するピクセルの強度値）を表し；ｗｉは畳み込み層のノードとｘｉに対応する入力ノードとの間の調整可能な接続の重みを表し；ｂはバイアスパラメータを表す。活性化関数ｆは正規化線形ユニットｆ（ｘ）＝ｍａｘ（ｘ，０）であってもよい。
【００８５】
いくつかの例において、図５に示すように、フィルタをＳピクセルのストライドで幅及び高さの両方向にスライドすることにより各Ｍフィルタを入力画像の全領域にあててもよい。入力画像の上のＭフィルタの各位置に対し、Ｍフィルタに対応するＭノードが畳み込み層に存在する。Ｓ＝１の場合、畳み込み層の出力数はＷ×Ｗ×Ｍとなる。畳み込み層の出力はＷ×Ｗのサイズを有するＭ個の画像（Ｍ個のフィルタに対応する）と見なされる。
【００８６】
畳み込み層の出力はマックスプーリング処理によりダウンサンプリングされる。マックスプーリング処理は複数の入力値から最大値を選択する。マックスプーリング処理が上記の畳み込み層から出力されたＷ×ＷのサイズのＭ個の画像のそれぞれに適用される。
【００８７】
図６は代表的なマックスプーリング処理を示す概略図である。図６に示す代表的なマックスプーリング処理において、２×２のサイズのフィルタが２ピクセルのストライドで入力画像に（マックスプーリング処理に）あてられる。これによって対応するフィルタ内でそれぞれが入力画像のピクセルのうち最大強度値を有するピクセルを含む出力画像を得る。マックスプーリング処理に使われる各フィルタはＣＮＮに含まれるプーリング層のノードと見なされる。
【００８８】
プーリング層の出力は別の畳み込み層に入力される。あるいは、プーリング層の出力は全結合ニューラルネットワークと呼ばれるニューラルネットワークに入力される。全結合ニューラルネットワークの各ノードはプーリング層の全ての出力（例えば、ノード）に接続される。全結合ニューラルネットワークの出力は別の全結合ニューラルネットワークか又は出力層のいずれかに接続される。
【００８９】
出力層はＣＮＮの１以上の望ましい出力パラメータに対応する１以上のノードを含む。例えば、代表的な実施例において、出力層は複数の出力ノードを含み、上述の図４Ａに示されるオートエンコーダを使って訓練されるニューラルネットワークの出力ノードの例と同様に、複数の出力ノードのそれぞれが対象物を製造するための製造プロセスの工程の予想される組に対応する。さらに、オートエンコーダを使う上記の例で述べたように、出力ノードに対応する製造プロセスの工程の各予想される組は、該組に含まれる１以上の各工程に関する１以上のパラメータの数値及び／又は数値範囲を含むか又はそれに関連する。各出力ノードは活性化関数としてソフトマックス関数を含む。出力層が２以上のノードを含む場合、ＣＮＮは入力画像の対象物を指定された（予め決定された又は予め決定可能な）数のグループの一つに分類する分類の課題を解決すると見なされる。
【００９０】
図７はＣＮＮの代表的な構成を示す。図７に示されるＣＮＮは入力層と、畳み込み層１と、プーリング層１と、畳み込み層２、とプーリング層２と、全結合層と、出力層とを含む。畳み込み層１，２とプーリング層１，２は図５，６に関して上記に説明した構成を有する。さらに上記のように、ＣＮＮは畳み込み層とプーリング層とのさらに多くのペアを含んでもよい。さらに、ＣＮＮは最後の畳み込み層がプーリング層に接続されるまで、隣接する畳み込み層の間にプーリング層を介することなく連続して畳み込み層を含んでもよい。さらに、ＣＮＮは出力層の手前に２以上の全結合層を含んでもよい。
【００９１】
ＡＩ計算ユニット２０４が対象物データに加えて製造される対象物の材料、加工及び／又はサイズに関する情報を受信する例において、ＡＩ計算ユニット２０４に含まれるＣＮＮの全結合層の１つがそのような情報を示す数値を受信する１以上の追加のノードを含んでもよい。例えば、材料の異なる名前に異なる数値が割り当てられてもよく、材料の名前に対応する追加のノードが対象物の材料の名前に割り当てられた数値を受信してもよい。代替として又は付加的に、追加のノードは材料の特性、例えば、色、剛性、相対密度、耐熱性等に対応し、例えばその特性を示す数値を受信してもよい。さらに、ＣＮＮの全結合層の１つにおける１以上の追加ノードは、加工（例えば、焼結、ハンダ付け、溶接等）のタイプ及び／又は例えば対象物の要素の組み立て方等に対応してもよい。さらに、対象物のサイズに対応する追加のノードがＣＮＮの全結合層の１つに設けられる場合、該追加ノードは対象物のサイズを示す数値を受信してもよい。
【００９２】
さらに本開示に関連して適用される既知のＣＮＮ技術の詳細は、例えば、岡谷、“ディープラーニングと画像認識−基礎と最近の動向−”、オペレーションズ・リサーチ、Vol.60、No.4、p.198-204、日本オペレーションズ・リサーチ学会、2015年4月1日、及びAnonymus、“Convolutional neural network”、Wikipedia(URL: https://en.wikipedia.org/wiki/Convolutional_neural_network)に開示されている。
【００９３】
ＣＮＮについての上記の解説は対象物データが製造される対象物の画像データである場合を述べているが、ＣＮＮは対象物データが３Ｄモデル又は２Ｄ画像データと対応する深度マップデータとの組合せの例においても利用される。
【００９４】
対象物データが３Ｄモデルの場合、３Ｄモデルはオートエンコーダを使って訓練されるニューラルネットワークに対して上述したように立体表現を使って表されてもよい（図４Ａ、４Ｂ参照）。ＣＮＮの入力層は３Ｄモデルが配置される３次元空間のボクセルに対応する入力ノードを含む。上述したように、各ボクセルは０と１の間の値を有し、０はボクセルが空であり、一方１は３Ｄモデルでボクセルが占有されることを示す。
【００９５】
対象物データが２Ｄ画像データと対応する深度マップデータとの組合せの場合、ＣＮＮの入力層（例えば、図５参照）は２Ｄ画像データに対応するチャネルとは別に深度マップデータに対応するチャネルを有する。
【００９６】
製造支援のための処理
ａ）ＡＩの訓練
図８は機械学習装置２００のＡＩ計算ユニット２０４によって実施される、ＡＩを訓練するために実行される代表的処理のフローチャートを示す。図８に示される処理は図１に示すＡＩ訓練ユニット２１０により実行される。図８に示される処理は例えばユーザからの指示に応答して開始し、ＡＩ計算ユニット２０４の訓練を開始する。
【００９７】
図８のステップＳ１０において、ＡＩ計算ユニット２０４を訓練する訓練データが作成される。例えば、ＡＩ訓練ユニット２１０は対象物の対象物データと対象物を製造するための一組の製造プロセスの工程を示す情報を取得する。ＡＩ訓練ユニット２１０は、その後、取得した対象物データと対象物を製造するための一組の製造プロセスの工程を示す情報との組合せを含む訓練データセットの要素を生成する。ＡＩ訓練ユニット２１０は指定された数のそのような訓練データセットの要素を生成してもよい。
【００９８】
図８のステップ１０で訓練データを作成する場合、対象物データはＡＩ訓練ユニット２１０に接続されるコンピュータ（図示しない）又は記憶装置（図示しない）から取得される。あるいは、図１を参照して上述したような取得ユニット１０と同様な方法によりＡＩ訓練ユニット２１０が対象物データを生成してもよい。例えば、一組の製造プロセスの工程を示す情報は該一組の製造プロセスの工程を示す識別情報であってもよい。異なる対象物に対して製造プロセスの工程の異なる組が定義され、個々の識別情報が割り当てられても良い。
【００９９】
いくつかの具体例において、ＡＩ訓練ユニット２１０は特定の種類の歯車（対象物データの例として）の画像及びその種類の歯車を製造するための一組の製造プロセスの工程（例えば、切断、穿孔、ホブ切り、歯車の面取り及びはシェービングを含む処理工程）を示す情報を受信する。これらの具体例において、訓練データセットの各要素は特定の種類の歯車の画像及びその特定種類の歯車を製造するための一組の製造プロセスの工程を示す情報の組合せであってもよい。
【０１００】
図８のステップＳ１２において、ＡＩ計算ユニット２０４によって実施されるＡＩはステップＳ１０で作成された訓練データを使って訓練される。例えば、ＡＩ訓練ユニット２１０はオートエンコーダ（例えば図４Ａ、４Ｂを参照）又はＣＮＮ（例えば図５ないし７を参照）のデータ構造をニューラルネットワークＤＢ３５から読み出して、図４Ａないし７を参照して上述したように、オートエンコーダの重み又はＣＮＮの畳み込み層の重み及び全結合層の重みを調整することにより、該オートエンコーダ又はＣＮＮをＡＩ計算ユニット２０４で訓練する。重みを調整するために、訓練データセットの対象物データがオートエンコーダ又はＣＮＮへの入力として使用され、対応する製造プロセスの工程の組を示す情報が、例えば監視信号として使用される。生成された訓練データセットの各要素が特定の種類の歯車の画像と該特定種類の歯車を製造するための一組の製造プロセスの工程を示す情報とを含む、ステップ１０に対して上述した具体例の場合には、歯車の画像はオートエンコーダ又はＣＮＮへ入力され、重みは該特定種類の歯車を製造するための一組の製造プロセスの工程を示す情報を監視信号として使用して調整される。訓練ステップＳ１２によりＡＩ計算ユニット２０４のＡＩが訓練され入力として受信される対象物データによって表される対象物を製造するための１以上の組の製造プロセスの工程を示す情報を出力する。
【０１０１】
ステップＳ１２の後、ＡＩ訓練ユニット２１０は図８のステップ１４で訓練が十分であるかどうかを判定する。いくつかの例において、ＡＩ訓練ユニット２１０は、ステップＳ１４の判定のために、対象物データと対象物データを製造するための一組の製造プロセスの工程を示す情報との組合せを含む試験データを使う。試験データセットはステップＳ１０で訓練データセットを作成するために使われる方法に類似する方法で作成される。いくつかの例において、ＡＩ訓練ユニット２１０はステップＳ１２でＡＩ計算ユニット２０４を訓練するためにステップＳ１０で作成された訓練データの一部を使い、ステップＳ１０で作成された訓練データの残りの部分を試験データとしてステップＳ１４で訓練が十分かどうかを判定するために使う。ステップ１４で試験データを使う例において、ＡＩ訓練ユニット２１０は試験データのうち対象物データをＡＩ計算ユニット２０４に入力し、対象物データのＡＩ計算ユニット２０４からの出力を対象物データによって表される対象物を製造するための既知の一組の製造プロセスの工程と比較する。ＡＩ訓練ユニット２１０は、例えば、試験データのうち対象物データの事例の総数に対してＡＩ計算ユニット２０４からの正しい出力数の比率が所定の閾値を超える場合に訓練は十分であると判定する。あるいは、例えば、ＡＩ訓練ユニット２１０はＡＩ計算ユニット２０４からの正しい出力数が所定の閾値を超える場合に訓練は十分であると判定してもよい。訓練が十分ではないと判定された場合は（ステップＳ１４においてＮＯ）処理はステップＳ１２へ戻る。訓練が十分であると判定された場合は（ステップＳ１４においてＹＥＳ）処理はステップＳ１６へ進む。
【０１０２】
ステップＳ１６において、ＡＩ訓練ユニット２１０はＡＩ計算ユニット２０４によって学習される他のサブジェクトの有無を判定する。例えば、ＡＩ計算ユニット２０４が２以上の種類の対象物に対し製造プロセスの工程の組を決定することが望まれ、前記２以上の種類の対象物のうち少なくとも１つに関する訓練がステップＳ１０において作成されていない場合には、ＡＩ訓練ユニット２１０はＡＩ計算ユニット２０４によって学習されるべきさらなるサブジェクトがあると判定する。学習されるべきさらなるサブジェクトがあると判定されると（ステップＳ１６においてＹＥＳ）処理はステップＳ１０へ戻る。そうでなければ（ステップＳ１６においてＮＯ）図８に示される処理は終了する。
【０１０３】
ｂ）訓練されたＡＩを使用する処理
図９は製造支援システムによって実行される代表的な処理のフローチャートを示す。図９に示される処理は、例えば、ユーザの指示に応じてスタートし図９に示される処理を始める。
【０１０４】
ステップＳ２０において、取得ユニット１０は製造される対象物の対象物データを取得する。いくつかの例において、取得ユニット１０は対象物データを取得ユニット１０に接続されるコンピュータ又は記憶装置から取得してもよい。別の例において、取得ユニット１０が対象物データを生成してもよい。対象物データが画像データの場合、取得ユニット１０はカメラ等の撮像装置を使って対象物の画像を捕捉することにより対象物データを生成してもよい。対象物データが３Ｄモデルの場合、取得ユニット１０は既知の３Ｄスキャナーにより対象物をスキャニングすることにより、又は３Ｄモデリング用の既知のソフトウェアを使って対象物データを生成してもよい。対象物データが２Ｄ画像データと対応する深度マップデータとの組合せの場合、取得ユニット１０はＲＧＢ−Ｄセンサで対象物を捕捉することにより対象物データを生成してもよい。
【０１０５】
必要に応じて、ステップＳ２０において、取得ユニット１０はＡＩエンジン２０への入力として適切なデータになるように対象物データを処理してもよい。例えば、対象物データが３Ｄモデルであり、ＡＩエンジン２０のＡＩ計算ユニット２０４が図４Ａないし図７を参照して上述したオートエンコーダ又はＣＮＮを含む場合、取得ユニット１０は３Ｄモデルの立体表現を生成してもよい。
【０１０６】
対象物データは（さらに処理されるかどうかに関わらず）ＡＩエンジン２０へ供給される。
【０１０７】
ステップＳ２５において、ＡＩエンジン２０は製造される対象物の材料、加工及び／又はサイズに関する情報を受信する。対象物の材料、加工及び／又はサイズに関する情報はユーザから例えば入力装置を介して受け取ってもよい。代替的に又は付加的に、対象物の材料、加工及び／又はサイズに関する情報はＡＩエンジン２０に接続されるコンピュータ又は記憶装置から受け取ってもよい。
【０１０８】
ステップＳ３０において、ＡＩエンジン２０は対象物を製造するための製造システムの複数のハードウェア構成を決定する。
【０１０９】
図１０は図９のステップＳ３０の詳細な処理の一例を示す。図９のステップＳ３０がスタートすると、図１０に示す処理がスタートする。
【０１１０】
図１０のステップＳ３００において、ＡＩエンジン２０に含まれる機械学習装置２００の受信ユニット２０２が入力データを受信する。入力データは図９のステップＳ２０で取得された対象物データと図９のステップＳ２５で受信された対象物の材料及び／又はサイズに関する情報を含んでもよい。
【０１１１】
図１０のステップＳ３０２において、ＡＩ計算ユニット２０４はステップＳ３００で受信ユニット２０２によって受信された入力データを使って計算を実行する。例えば、ＡＩ計算ユニット２０４としてオートエンコーダ（例えば図４Ａ、図４Ｂ参照）又はＣＮＮ（例えば図５ないし７参照）が使われるとき、ＡＩ計算ユニット２０４は受信した入力データをオートエンコーダ又はＣＮＮへ入力することで計算を実行しオートエンコーダ又はＣＮＮからの出力を取得する。
【０１１２】
ステップＳ３０４において、出力ユニット２０６はステップＳ３０２で実行される計算に基づく複数の製造プロセスの工程の組を示す情報をハードウェア情報処理ユニット２１２へ出力する。例えば、ＡＩ計算ユニット２０４がその出力ノードのそれぞれが予想される製造プロセスの工程の組に対応するニューラルネットワーク（例えばオートエンコーダ又はＣＮＮ）を含む場合、出力ユニット２０６は、対応する製造プロセスの工程の組が対象物を製造するために最適となる尤度の最大値を有する指定された数の出力ノードを特定する。出力ユニット２０６はその後特定された出力ノードに対応する指定された数の製造プロセスの工程の組を示す情報を出力する。いくつかの例において、出力ユニット２０６は、ステップＳ３０４において特定された出力ノードによって出力される尤度の数値に基づいて指定された数の製造プロセスの工程の組のうちで優先順位（例えば、好ましい及び／又は推奨レベルが高い）を示す情報を出力する。
【０１１３】
ステップＳ３０６において、ハードウェア情報処理ユニット２１２は製造プロセスの工程の各組に対しハードウェア構成を決定する。例えば、ハードウェア情報処理ユニット２１２はハードウェア情報ＤＢ３０（例えば図３に示されるテーブル）をアクセスして製造プロセスの工程の組に含まれる１以上の製造プロセスの工程それぞれを実行するために必要なハードウェア要素又はハードウェア要素の組合せを特定する。
【０１１４】
ステップＳ３０６の後、図１０に示される処理が終了する。製造支援システムの処理はその後図９のステップＳ４０へ進む。
【０１１５】
再度図９を参照すると、ステップＳ３０においてＡＩエンジン２０によってハードウェア構成が決定された後、ステップＳ４０で選択ユニット４０は利用可能なハードウェア要素の作業スケジュールに基づいて、決定されたハードウェア構成の１つに対して対象物の納期を推定する。作業スケジュールはハードウェア情報ＤＢ３０から入手される。例えば、選択ユニット４０は最初にＡＩエンジン２０によって決定された最優先のハードウェア構成を考慮してハードウェア情報ＤＢ３０の作業スケジュールをチェックしてハードウェア構成に含まれる各ハードウェア要素が使用可能か（又は使用可能になるのか）決定する。各ハードウェア要素が使用可能か（又は使用可能になるのか）どうか又いつ使用可能になるのか、及びハードウェア構成に対応する製造プロセスの工程の組に基づいて、選択ユニット４０は該ハードウェア構成に対する対象物の納期を推定する。
【０１１６】
ステップ５０において、推定された納期が要求される納期を守ることができるかどうかを判定する。要求される納期は入力装置を介してユーザから取得しても良いし選択ユニット４０に接続されるコンピュータ又は記憶装置から取得してもよい。
【０１１７】
推定された納期が要求される納期を守ることができる場合（ステップＳ５０においてＹＥＳ）、ステップ７０において、前記ハードウェア構成の１つが選択ユニット４０によって選択される。ステップＳ７０の後、ステップＳ７５において出力ユニット６０が選択されたハードウェア構成を出力し、図９で示す処理が終了する。
【０１１８】
推定された納期が要求される納期を守れない場合（ステップＳ５０においてＮＯ）、処理はステップＳ６０へ進み、選択ユニット４０は選択ユニット４０によってまだ処理されていないハードウェア構成があるかどうかを判定する。まだ未処理のハードウェア構成が存在する場合（ステップＳ６０においてＹＥＳ）、処理はステップＳ４０へ戻る。ステップＳ４０において、例えば、次に優先順位が高い決定されたハードウェア構成に対し対象物の納期が推定される。
【０１１９】
未処理のハードウェア構成が存在しない場合（ステップＳ６０においてＮＯ）、出力ユニット６０はステップＳ８０で警告メッセージを出力する。警告メッセージは、例えば、ＡＩエンジン２０によって決定されたハードウェア構成がいずれも要求される納期を守れないことを示す。代替として又は付加的に、警告メッセージは全ての決定されたハードウェア構成に対して推定された納期を示してもよい。
【０１２０】
図９の処理はステップＳ８０の後で終了する。
【０１２１】
ｃ）決定されたハードウェア構成を使う処理
いくつかの例において、製造支援システムは制御情報生成ユニット５０によって決定されたハードウェア構成の制御プログラムを生成する。
【０１２２】
図１１は制御情報生成ユニット５０によって実行される代表的な処理のフローチャートを示す。制御情報生成ユニット５０は例えば選択ユニット４０がハードウェア構成を選択したとき図１１の処理をスタートさせる。あるいは、例えば、制御情報生成ユニット５０はユーザが入力装置を介して図１１の処理の開始を指示したとき図１１の処理をスタートさせる。
【０１２３】
ステップＳ９０において、制御情報生成ユニット５０はハードウェア構成を受信する。例えば、制御情報生成ユニット５０は選択ユニット４０から選択ユニット４０によって選択されたハードウェア構成を受信する。ＡＩエンジン２０が唯一のハードウェア構成を決定する場合、制御情報生成ユニット５０はその決定されたハードウェア構成をＡＩエンジン２０から受信する。
【０１２４】
ステップＳ９２において、制御情報生成ユニット５０は、必要であれば、ハードウェア構成において１以上の加工装置及び工具の組合せに対し１以上の工具経路を生成する。例えば、工具が経路に沿って動く（例えば、フライス盤とフライスカッター）のような加工装置及び工具の組合せがハードウェア構成に含まれる場合、制御情報生成ユニット５０はその組合せ用の工具経路を生成する。ステップＳ９２において、例えば工具が経路に沿って動かないような加工装置と工具の組合せがハードウェア構成に含まれる場合、その組合せのために工具経路を生成する必要はない。
【０１２５】
工具経路は例えば製造される対象物の３Ｄモデルを使って生成される。対象物データが対象物の３Ｄモデルの例において、制御情報生成ユニット５０は工具経路を生成するために取得ユニット１０から３Ｄモデルである対象物データを受信する。対象物データが対象物の３Ｄモデルではない例において（例えば、画像データ又は対象物のＲＧＢ−Ｄデータ）、制御情報生成ユニット５０は制御情報生成ユニット５０に接続される装置（図示しない）によって生成された対象物の３Ｄモデルを受信してもよい。あるいは、制御情報生成ユニット５０は、対象物データ及び対象物の３Ｄモデルを生成するために必要な付加的な情報（例えば、対象物の形状及び／又はサイズに関する情報）から対象物の３Ｄモデルを生成してもよい。付加的情報はたとえば入力装置を介してユーザから及び／又は制御情報生成ユニット５０に接続されるコンピュータ（図示しない）又は記憶装置（図示しない）から取得してもよい。
【０１２６】
ステップＳ９４において、制御情報生成ユニット５０は、工具及び／又は工具経路に基づいて各加工装置の加工条件を設定する。加工条件は加工装置を動作させるために必要な制御パラメータの数値を含む。制御パラメータは、それらに限定されないが、工具動作のスピード及び／又は加速度、工具及び／又はワークピースの回転周波数工具及び／又はワークピースの回転周波数、工具及び／又はワークピースの位置づけ等を含む。例えば、加工装置がＮＣ旋盤の場合、加工条件は切断速度（例えば、ワークピースの回転速度）、切断工具の送り速度及び／又は切り込み深さを含む。加工条件は加工装置の種類に応じた既知の技術を使って決定される。加工条件を決定するための既知の技術は、例えば特許文献２及び特許文献３によって開示される機械学習技術を使ってもよい。
【０１２７】
ステップＳ９６において、制御情報生成ユニット５０は、加工条件及び／又は工具経路に基づいて各加工装置の制御プログラムを生成する。制御プログラムは、加工条件のもとで加工装置を動作可能とする及び該当する場合には工具を工具経路に沿って動作可能とする機械可読命令を含む。具体例として、加工装置がＮＣ旋盤であり、加工条件が切断速度、切断工具の送り速度及び切り込み深さを含む場合、生成された制御プログラムの機械可読命令はＮＣ旋盤の制御部が読み取れる命令であり、ＮＣ旋盤の制御部がＮＣ旋盤の制御信号を出力してＮＣ旋盤が加工条件に含まれる切断工具の切断速度、切断工具の送り速度及び切り込み深さで動作するようにＮＣ旋盤の制御部へ示す命令であってもよい。
【０１２８】
ステップＳ９８において、制御情報生成ユニット５０は制御プログラムを出力ユニット６０へ供給する。制御プログラムは出力ユニット６０によって出力される。
【０１２９】
ステップＳ９８の後で図１１に示される処理は終了する。
【０１３０】
図１１に示される処理は制御情報生成ユニット５０によって実行される処理の単に一例に過ぎない。例えば、他のいくつかの例において、制御プログラムを生成するステップＳ９６はスキップされ、加工条件が制御プログラムの代わりに出力されてもよい。
【０１３１】
変形例
図１ないし図１１を参照して説明した代表的な実施例及びその変形例は単なる例に過ぎず、他の実施例や変形例が存在することを当業者は理解すべきである。
【０１３２】
例えば、上記代表的な実施例において、機械学習装置の計算ユニット２０４は対象物を製造するための少なくとも１組の製造プロセスの工程を決定し、ハードウェア情報処理ユニット２１２は図３に示されるようなハードウェア情報ＤＢ３０に記憶された情報テーブルを参照して製造システムのハードウェア構成を決定する。
【０１３３】
別の代表的な実施例において、機械学習装置２００の計算ユニット２０４は少なくとも１組の製造プロセスの工程を決定するのみならず製造システムのハードウェア構成を決定する。そのような代表的な実施例においては、ＡＩエンジン２０はハードウェア情報処理ユニット２１２を含む必要はない。
【０１３４】
ＡＩ計算ユニット２０４が製造プロセスの工程とともにハードウェア構成を決定する実施例において、ＡＩ計算ユニット２０４は入力として対象物データを使う計算に基づいてハードウェア構成と製造プロセスの工程を出力するように訓練される。対象物データは図１ないし１１を参照して上述された代表的な実施例に使われる対象物データと類似する。さらに、図１ないし１１を参照して上述された代表的な実施例と同様に、ＡＩ計算ユニット２０４はさらに入力の一部として対象物の材料、加工及び／又はサイズに関する情報を使ってもよい。さらに、ＡＩ計算ユニット２０４は例えばオートエンコーダ（図４Ａ、４Ｂ参照）又はＣＮＮ（図５ないし７参照）を含んでもよい。
【０１３５】
図１２は、ＡＩ計算ユニット２０４が製造プロセスの工程とともにハードウェア構成を決定する代表的な実施例の出力の例を示す。図１２に示すように、出力は、各製造プロセスの工程に必要な加工装置、工具、及び加工条件の組合せと共に対象物（例えば歯車）を製造するための製造プロセスの工程を含む。ＡＩ計算ユニット２０４を訓練するとき、例えば、製造プロセスの工程の異なる組に向けてかつハードウェア構成に対応して指定数の予想される出力が生成される。識別情報が、予想される各出力及び該予想される出力に対応する出力ノードに割り当てられ、ＡＩ計算ユニット２０４に含まれるニューラルネットワークに提供される。ＡＩ計算ユニット２０４を訓練する訓練データセットの要素は予想される出力の識別番号と製造される対象物の対象物データとの組合せであってもよい。ＡＩ計算ユニット２０４を訓練する処理は例えば図８に示されるフローチャートに従って実行される。
【０１３６】
ＡＩ計算ユニット２０４が製造プロセスの工程とともにハードウェア構成を決定する代表的な実施例において製造システムにより実行される処理は図９に示される処理に従う。しかし、ステップＳ３０でハードウェア構成を決定するとき、ＡＩ計算ユニット２０４によって入力データ（例えば対象物データ及び対象物の材料、加工及び又はサイズに関するオプショナルな情報）を使って実行される計算は図３に示されるような情報テーブルのためにハードウェア情報ＤＢ３０を参照することなく、製造プロセスの工程の組とともにハードウェア構成を前もって決定していてもよい。
【０１３７】
さらに別の実施例では、機械学習装置２００のＡＩ計算ユニット２０４は製造プロセスの工程を特定することなく対象物を製造するための製造システムのハードウェア構成を決定してもよい。そのような実施例において、製造支援システムからの出力は対象物を製造するために必要な１以上のハードウェア構成、例えば加工装置及び又は工具のリストを含む。この場合、ＡＩ計算ユニット２０４はそれぞれがハードウェア構成を含む１以上の対象物の対象物データ及び予想される出力を使って訓練される。
【０１３８】
さらに、上記の代表的かつ多様な実施例はワークピースの機械加工を伴う製造プロセスの工程に関して記載されているが、上記代表的かつ多様な実施例は機械加工以外の、例えば、成形、鋳造、熱処理及び表面仕上げを伴う製造プロセスの工程にも同様に適用されてもよい。例えば、図３に示されるテーブル及び／又は図１２に示される代表的な出力は、歯車を製造するために、例えばシェービング工程の後に実行される焼入硬化工程を含んでもよい。焼入硬化工程の加工条件は、例えば、温度制御テーブル等を含む。さらに、例えば、製造プロセスの工程は機械加工によりダイ又はモールドを形成する工程に関係し、及び、ダイやモールドを使って鋳造や成形によって製造された対象物を形成する工程に関係する。
【０１３９】
製造支援システムを実施するためのハードウェア
上記の製造支援システムに含まれるＡＩエンジン２０及びユニットのさまざまな例はコンピュータを使って実施される。
【０１４０】
図１３は代表的なＡＩエンジン２０及び／又は製造支援システムに含まれるユニットのいずれか１つを実施するために使用されるコンピュータの代表的なハードウェア構成を示す。図１３に示されるコンピュータは、処理ユニット７０、システムメモリ７２、ネットワークインターフェース７４、ハードディスクドライブ（ＨＤＤ）インターフェース７６、外部ディスクドライブインターフェース７８、及び入出力（Ｉ／Ｏ）インターフェース８０を含む。これらのコンピュータのコンポーネントはシステムバス８２を介して互いに接続される。処理ユニット７０はシステムメモリ７２にアクセスすることによって計算、論理、及び／又は制御動作を実行する。処理ユニット７０は上記の代表的なＡＩエンジンの及び／又は製造支援システムに含まれるユニットのいずれか１つのプロセッサを実装してもよい。システムメモリ７２は処理ユニット７０と連携して情報及び／又は命令を記憶する。システムメモリ７２はランダムアクセスメモリ（ＲＡＭ）７２０やリードオンリーメモリ（ＲＯＭ）７２２等の揮発性及び不揮発性メモリを含む。スタートアップ時などにコンピュータ内の要素間の情報の伝達を支援するベーシックルーチンを含むベーシック入出力システム（ＢＩＯＳ）はＲＯＭ７２２に記憶される。システムバス８２は、メモリバス又はメモリコントローラ、周辺バス、及び多様なバスアーキテクチャーのいずれかを使うローカルバスを含むいくつかのタイプのバス構成のいずれであってもよい。
【０１４１】
コンピュータは他のコンピュータ及び／又はデバイスとネットワークを介して交信するネットワークインターフェース７４を含む。
【０１４２】
さらにコンピュータはハードディスク（図示しない）から読み出し書き込みを行うハードディスクドライブ（ＨＤＤ）８４及びリムーバブルディスク（図示しない）から読み出し書き込みを行う外部ディスクドライブ８６を含む。リムーバブルディスクは磁気ディスクドライブ用の磁気ディスクであっても、光ディスクドライブ用のＣＤ−ＲＯＭ等の光ディスクであってもよい。ＨＤＤ８４及び外部ディスクドライブ８６はＨＤＤインターフェース７６及び外部ディスクドライブインターフェース７８によってそれぞれシステムバス８２に接続される。ドライブとそれらの関連するコンピュータ可読媒体がコンピュータ可読命令、データ構造、プログラムモジュール、及び汎用コンピュータ用のその他のデータの不揮発性の記憶装置を提供する。データ構造は本明細書に記載のようにドキュメントを暗号化及び／又は復号化する方法を実施するための関連データを含む。関連データはデータベース、例えば関係データベースやオブジェクトデータベースに構造化される。
【０１４３】
本明細書に記載した代表的な環境にはハードディスク（図示しない）及び外部ディスク（図示しない）が採用されているが、当業者は、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ランダムアクセスメモリ、リードオンリーメモリ等のコンピュータによってアクセス可能なデータを格納できる他のタイプのコンピュータ可読媒体であっても該代表的な動作環境において使用できることを理解するであろう。
【０１４４】
オペレーティングシステム（図示しない）、１以上のアプリケーションプログラム７２０２、他のプログラムモジュール（図示しない）及びプログラムデータ７２０４を含む多数のプログラムモジュールがハードディスク、外部ディスク、ＲＯＭ７２２又はＲＡＭ７２０に記憶される。アプリケーションプログラムは少なくとも一部の上記のような機能を含む。
【０１４５】
コンピュータはカメラ等の撮像装置９０、マウス及び／又はキーボード等の入力装置９２、及び液晶ディスプレイ等の表示装置９４を含む。撮像装置９０、入力装置９２、及び表示装置９４はＩ／Ｏインターフェース８０ａ〜８０ｃを介してシステムバス８２に接続される。
【０１４６】
図１３に示すようなコンピュータを使った実施に加え又はその代替として、ここで述べられた代表的な実施例の一部又は全体の機能は１以上のハードウェア回路として実施される。そのようなハードウェア回路の例は大規模集積回路（ＬＳＩ）、縮小命令セット回路（ＲＩＳＣ）、特定用途向け集積回路（ＡＳＩＣ）、及びフィールドプログラマブルゲートアレイ（ＦＰＧＡ）を含むがそれらに限定されない。
【図１】
2020537773.tif 000004
【図２】
2020537773.tif 000005
【図３】
2020537773.tif 000006
【図４Ａ】
2020537773.tif 000007
【図４Ｂ】
2020537773.tif 000008
【図５】
2020537773.tif 000009
【図６】
2020537773.tif 000010
【図７】
2020537773.tif 000011
【図８】
2020537773.tif 000012
【図９】
2020537773.tif 000013
【図１０】
2020537773.tif 000014
【図１１】
2020537773.tif 000015
【図１２】
2020537773.tif 000016
【図１３】
2020537773.tif 000017
【手続補正書】
【提出日】令和1年5月22日(2019.5.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
製造される対象物の対象物データを取得する取得ユニット（１０）と；
前記対象物データを入力として受信し、前記対象物を製造するための製造システムによって実行される製造プロセスの工程を決定し、前記対象物を製造するための前記製造システムに利用可能なハードウェアに関する情報を参照して前記製造システムのハードウェア構成を決定する人工知能（ＡＩ）エンジン（２０）と；
決定された前記製造プロセスの工程、および、決定された前記ハードウェア構成を出力する出力ユニット（６０）と、を含み、
前記製造システムに利用可能なハードウェアに関する情報は、予想される製造プロセスの工程の少なくとも一部に対し、利用可能でかつ前記製造プロセスの工程を実行するために必要な少なくとも１つのハードウェア要素を示す情報を含み、
前記ＡＩエンジン（２０）は：
前記対象物データを入力として受信し、
受信した前記対象物データを使って計算を実行し、
前記計算に基づいて前記対象物を製造するための少なくとも一組の製造プロセスの工程を示す情報を出力する機械学習装置（２００）と； 
利用可能なハードウェアに関する情報を参照して、前記対象物を製造するための前記少なくとも一組の製造プロセスの工程に含まれる１以上の各工程を実行するのに必要な少なくとも１つのハードウェア要素を特定することによって、前記製造システムの前記ハードウェア構成を決定するハードウェア情報処理ユニット（２１２）と；
を含む製造支援システム。
【請求項２】
前記ＡＩエンジン（２０）はさらに、前記製造プロセスの工程に含まれる１以上の各工程に関するパラメータの数値又は数値範囲を決定し、
前記出力ユニット（６０）はさらに、決定された前記数値又は数値範囲を出力する、請求項１に記載の製造支援システム。
【請求項３】
前記機械学習装置（２００）は、受信した前記対象物データを使って計算を実行するニューラルネットワークを含み、
該ニューラルネットワークは、１以上の対象物の対象物データと、前記１以上の対象物を製造するための製造プロセスの工程の組を示す情報とを含む訓練データを使って訓練されており、
前記ニューラルネットワークの訓練はディープラーニング技術に従って実行される、請求項１又は２に記載の製造支援システム。
【請求項４】
利用可能なハードウェアに関する前記情報は、利用可能なハードウェア要素の作業スケジュールを示す情報を含み、
前記ＡＩエンジン（２０）は２以上のハードウェア構成を決定し、
前記製造支援システムはさらに：
前記対象物の要求される納期と前記作業スケジュールに基づいて、前記２以上のハードウェア構成のうち１つを選択する選択ユニットを含み、
前記出力ユニット（６０）は、前記２以上のハードウェア構成のうち選択された１つを出力する、請求項１ないし３のいずれか一項に記載の製造支援システム。
【請求項５】
前記ＡＩエンジン（２０）はさらに、前記２以上のハードウェア構成の間で優先順位を決定し、
前記選択ユニット（４０）はさらに、前記２以上のハードウェア構成の間の前記優先順位に基づいて前記２以上のハードウェア構成のうちの１つを選択する、請求項４に記載の製造支援システム。
【請求項６】
前記対象物データ及び／又は決定された前記ハードウェア構成に基づいて決定された前記ハードウェア構成を備えた前記製造システムを制御する制御情報を生成する制御情報生成ユニット（５０）をさらに含む、請求項１ないし５のいずれか一項に記載の製造支援システム。
【請求項７】
前記取得ユニット（１０）はさらに、製造される前記対象物の材料、加工及び／又はサイズに関する情報を取得し、
前記ＡＩエンジン（２０）はさらに：
入力の一部として、製造される前記対象物の材料、加工及び／又はサイズに関する情報を受信し；
製造される前記対象物の材料、加工及び／又はサイズに関する情報をさらに使って前記ハードウェア構成を決定する、請求項１ないし６のいずれか一項に記載の製造支援システム。
【請求項８】
コンピュータにより製造支援を実施する方法であって、該方法は：
製造される対象物の対象物データを取得するステップ；
人工知能（ＡＩ）エンジン（２０）により前記対象物データを入力として受信するステップ；
前記ＡＩエンジン（２０）により、前記対象物を製造するための製造システムにより実行される製造プロセスの工程を決定するステップ；
前記ＡＩエンジン（２０）により、前記対象物を製造するための前記製造システムに利用可能なハードウェアに関する情報を参照して前記製造システムのハードウェア構成を決定するステップ；及び
決定された前記製造プロセスの工程、および、決定された前記ハードウェア構成を出力するステップ、を含み、
前記製造システムに利用可能なハードウェアに関する情報は、予想される製造プロセスの工程の少なくとも一部に対し、利用可能でかつ前記製造プロセスの工程を実行するために必要な少なくとも１つのハードウェア要素を示す情報を含み、
前記製造プロセスの工程を決定するステップは、前記ＡＩエンジン（２０）に含まれる機械学習装置（２００）によって実行され、前記製造プロセスの工程を決定するステップは：
対象物データを入力として受信するステップ；
受信した前記対象物データを使って計算を実行するステップ；及び
前記計算に基づいて前記対象物を製造するための少なくとも一組の製造プロセスの工程を示す情報を出力するステップ、を含み、
前記製造システムのハードウェア構成を決定するステップは、利用可能なハードウェアに関する情報を参照して、前記対象物を製造するための製造プロセスの工程の少なくとも一組に含まれる１以上の各工程の実行に必要な少なくとも１つのハードウェア要素を特定することにより実行される、方法。
【請求項９】
前記ＡＩエンジン（２０）により、前記製造プロセスの工程に含まれる１以上の各工程に関するパラメータの数値または数値範囲を決定するステップ、及び
決定された前記数値または数値範囲を出力するステップをさらに含む、請求項８に記載の方法。
【請求項１０】
請求項８又は９に記載の方法であって、
前記機械学習装置（２００）は、受信した前記対象物データを使って計算を実行するニューラルネットワークを含み、
前記方法はさらに：
１以上の対象物の対象物データと、前記１以上の対象物を製造するための製造プロセスの工程の組を示す情報とを含む訓練データを使って前記ニューラルネットワークを訓練するステップを含み、
前記ニューラルネットワークの訓練はディープラーニング技術に従って実行される、方法。
【請求項１１】
請求項８ないし１０のいずれか一項に記載の方法であって、
利用可能なハードウェアに関する情報は、利用可能なハードウェア要素の作業スケジュールを示す情報を含み、
２以上のハードウェア構成が前記ＡＩエンジン（２０）によって決定され、
前記方法はさらに：
前記対象物の要求される納期と前記作業スケジュールに基づいて、前記２以上のハードウェア構成のうち１つを選択するステップを含み、
前記２以上のハードウェア構成のうち選択された１つが、決定された前記ハードウェア構成として出力される、方法。
【請求項１２】
前記ＡＩエンジン（２０）はさらに、前記２以上のハードウェア構成の間で優先順位を決定し、
前記２以上のハードウェア構成の１つを決定するステップは、前記２以上のハードウェア構成の間の前記優先順位に基づく、請求項１１に記載の方法。
【請求項１３】
前記対象物データ及び／又は決定された前記ハードウェア構成に基づいて決定された前記ハードウェア構成を備えた前記製造システムを制御する制御情報を生成するステップをさらに含む、請求項８ないし１２のいずれか一項に記載の方法。
【請求項１４】
製造される前記対象物の材料、加工及び／又はサイズに関する情報を取得するステップをさらに含み、
前記ＡＩエンジン（２０）はさらに、製造される前記対象物の材料、加工及び／又はサイズに関する情報を受信し、
前記ＡＩエンジン（２０）はさらに、製造される前記対象物の材料、加工及び／又はサイズに関する情報を使って前記製造システムのハードウェア構成を決定する、請求項８ないし１３のいずれか一項に記載の方法。
【請求項１５】
コンピュータにロードされて実行されるとき、請求項８ないし１４のいずれか一項に記載の方法の前記ステップを前記コンピュータに実行させるコンピュータ可読命令を含むコンピュータプログラム製品。
【国際調査報告】
2020537773.tif 000018
2020537773.tif 000019