(57)【要約】      （修正有）【課題】三次元モデル作成に係る複数の作業を自動化する技術を提供する。【解決手段】三次元モデルにおいて行う作業の目的の入力を受け付け、三次元モデルにおいて、入力された作業の目的の対象となる部位が有する幾何情報のうち、入力された作業の目的と関連付けられた特定の幾何情報を取得し、過去の三次元モデルデータにおいて実行された作業の目的と、実行された作業の目的の対象となった部位が有する幾何情報のうち実行された作業の目的と関連付けられた特定の幾何情報と、の組み合わせに対して、実行された作業の目的を達成するための作業プロセスを複数の階層に分けて機械学習した学習結果に基づき、入力された作業の目的と、取得した特定の幾何情報をキーとして、入力された作業の目的を達成するための作業プロセスを決定し、決定した作業プロセスに従って、三次元モデルを作成する。【選択図】図１１
2019207477.tif 000002
【特許請求の範囲】
【請求項１】
機械学習を行う人工知能を有する情報処理装置によって、三次元モデルの作成に係る操作を自動化する三次元モデル作成操作自動化方法であって、
前記三次元モデルにおいて行う作業の目的の入力を受け付け、
前記三次元モデルにおいて、入力された前記作業の目的の対象となる部位が有する幾何情報のうち、入力された前記作業の目的と関連付けられた特定の幾何情報を取得し、
過去の三次元モデルデータにおいて実行された作業の目的と、実行された前記作業の目的の対象となった部位が有する幾何情報のうち実行された前記作業の目的と関連付けられた特定の幾何情報と、の組み合わせに対して、実行された前記作業の目的を達成するための作業プロセスを複数の階層に分けて機械学習した学習結果に基づき、入力された前記作業の目的と、取得した前記特定の幾何情報をキーとして、入力された前記作業の目的を達成するための作業プロセスを決定し、
決定した作業プロセスに従って、前記三次元モデルを作成する、
ことを特徴とする三次元モデル作成操作自動化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、三次元モデル作成操作自動化方法に関する。
【背景技術】
【０００２】
ＣＡＤ（computer-aided design）による三次元モデル作成作業では、三次元モデルの寸法や、周辺形状から、必要な作業プロセスが総合的に判断されている。しかし、作業プロセスが多岐にわたるため、作業者の経験や勘に頼るところが多く、作業者の経験に応じて品質や作成工数が左右される。
【０００３】
特許文献１では、三次元モデルに対し、自動的にフィレットを作成する方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−１８２４７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術は、三次元モデル作成に係る多様な作業のうちの「フィレットの自動作成」という一作業の自動化にとどまっている。
【０００６】
そこで、本明細書開示の三次元モデル作成操作自動化方法は、三次元モデル作成に係る複数の作業を自動化することを課題とする。
【課題を解決するための手段】
【０００７】
かかる課題を解決するために、本明細書に開示された三次元モデル作成操作自動化方法は、機械学習を行う人工知能を有する情報処理装置によって、三次元モデルの作成に係る操作を自動化する三次元モデル作成操作自動化方法であって、前記三次元モデルにおいて行う作業の目的の入力を受け付け、前記三次元モデルにおいて、入力された前記作業の目的の対象となる部位が有する幾何情報のうち、入力された前記作業の目的と関連付けられた特定の幾何情報を取得し、過去の三次元モデルデータにおいて実行された作業の目的と、実行された前記作業の目的の対象となった部位が有する幾何情報のうち実行された前記作業の目的と関連付けられた特定の幾何情報と、の組み合わせに対して、実行された前記作業の目的を達成するための作業プロセスを複数の階層に分けて機械学習した学習結果に基づき、入力された前記作業の目的と、取得した前記特定の幾何情報をキーとして、入力された前記作業の目的を達成するための作業プロセスを決定し、決定した作業プロセスに従って、前記三次元モデルを作成する。
【発明の効果】
【０００８】
本明細書開示の三次元モデル作成操作自動化方法によれば、三次元モデル作成に係る複数の作業を自動化できる。
【図面の簡単な説明】
【０００９】
【図１】図１は、一実施形態に係るＣＡＤ操作自動化方法を適用するＣＡＤシステムの構成を示す概略図である。
【図２】図２は、学習処理を示すフローチャートである。
【図３】図３は、階層化学習処理の詳細を示すフローチャートである。
【図４】図４（Ａ）は、三次元モデルの一例を示す図であり、図４（Ｂ）は、作業履歴の一例を示す図である。
【図５】図５は、作業履歴内のコマンドのグループ化と、作業目的との紐付けについて説明するための図である。
【図６】図６は、作業ブロックの特定について説明するための図である。
【図７】図７（Ａ）及び図７（Ｂ）は、コマンド群の定義について説明するための図である。
【図８】図８（Ａ）及び図８（Ｅ）は、コマンド群とサブ作業目的との紐付けについて説明するための図であり、図８（Ｂ）〜図８（Ｄ）及び図８（Ｆ）〜図８（Ｈ）は、作業範囲の特定について説明するための図である。
【図９】図９は、学習結果格納部に格納される学習結果の一例を示す図である。
【図１０】図１０は、学習結果格納部に格納される学習結果の一例を示す図である。
【図１１】図１１は、ＣＡＤ操作自動化処理を示すフローチャートである。
【図１２】図１２（Ａ）は、入力画面の一例を示す図であり、図１２（Ｂ）は、作業ブロックの一例を示す図であり、図１２（Ｃ）は、作業範囲とその処理順序の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について、添付図面を参照しつつ説明する。ただし、図面中、各部の寸法、比率等は、実際のものと完全に一致するようには図示されていない場合がある。また、図面によっては細部が省略されて描かれている場合もある。
【００１１】
まず、一実施形態に係るＣＡＤ操作自動化方法を適用するＣＡＤシステムについて説明する。図１に示すように、ＣＡＤシステム１０は、ディスプレイ等の表示装置２０、キーボード及びマウス等の入力装置３０、メモリ及びハードディスクドライブ等の記憶装置４０、及び演算処理装置５０を備える。演算処理装置５０は、例えば、ＣＰＵ（Central Processing Unit）又はＭＰＵ（Micro Processing Unit）である。演算処理装置５０は、記憶装置４０に記憶された所定のプログラムを読み込んで実行することにより、操作自動化部５０１として機能する。
【００１２】
操作自動化部５０１は、過去の三次元モデルデータに基づいて機械学習を行う人工知能機能を有する。操作自動化部５０１は、作業目的と特定の幾何情報との組み合わせに対して、作業プロセスを階層化して機械学習し、学習結果に基づいて、ＣＡＤ操作を自動化する。
【００１３】
図２は、本実施形態の操作自動化部５０１が人工知能機能により行う学習処理の一例を示すフローチャートである。人工知能機能が行う機械学習の手法としては、ランダムフォレスト法を採用することができる。
【００１４】
（学習処理）
図２に示す処理では、まず、操作自動化部５０１は、学習処理の対象となる過去の三次元モデルデータを読み込む（ステップＳ１１）。なお、三次元モデルデータは、作業履歴が保存される、いわゆるヒストリーＣＡＤにより作成されている。
【００１５】
次に、操作自動化部５０１は、三次元モデルデータに含まれる作業履歴を階層化し学習する階層化学習処理を行う（ステップＳ１２）。
【００１６】
（階層化学習処理）
ここで、ステップＳ１２の階層化学習処理の詳細を、図３のフローチャートと、その他図面に基づいて説明する。
【００１７】
図３において、操作自動化部５０１は、入力装置３０を介した作業者からの入力に基づいて、作業履歴内のコマンドをグループ化し、作業目的と紐付ける（ステップＳ１２１）。例えば、図４（Ａ）に示す三次元モデルにおいて、点線で囲んだＡ，Ｂ，Ｃの部位に対して作業が行われており、図４（Ｂ）に示す作業履歴が三次元モデルデータに保存されているとする。この場合、操作自動化部５０１は、入力装置３０を介した作業者からの入力に基づいて、図５に示すように、作業履歴内のコマンドをグループ化し、グループ化された一連のコマンドと、作業目的とを紐付ける。図５において、作業目的Ａは、例えば「肉厚凸部へのＲ付与」であり、作業目的Ｂは、例えば「ボスの移動」である。
【００１８】
次に、操作自動化部５０１は、作業目的ごとに、作業ブロックを特定する（ステップＳ１２２）。作業ブロックは、例えば、作業目的に対する作業履歴を再生し、再生前後の形状を比較することによって特定することができる。したがって、作業ブロックは、作業目的を達成するための作業によって影響を受けた稜線であると定義できる。例えば、図６に示すように、操作自動化部５０１は、作業目的Ａに対する作業履歴を再生することにより作業ブロック１を特定し、作業目的Ｂに対する作業履歴を再生することにより作業ブロック２を特定する。
【００１９】
次に、操作自動化部５０１は、入力装置３０を介した作業者からの入力に基づいて、作業目的毎に、作業目的に対する一連のコマンドを更にグループ化し、コマンド群として定義する（ステップＳ１２３）。例えば、操作自動化部５０１は、図７（Ａ）に示すように作業目的Ａに含まれるコマンドＡ及びＢの組み合わせをコマンド群Ａとして定義する。なお、作業目的が複数のコマンドを含まない場合、コマンドそのものをコマンド群として登録してもよい（例えば、図７（Ｂ）のコマンドＥ）。
【００２０】
次に、操作自動化部５０１は、入力装置３０を介した作業者からの入力に基づいて、各作業目的において、コマンド群とサブ作業目的とを紐付ける（ステップＳ１２４）。例えば、作業目的Ａにおいて、入力装置３０からの入力に基づいて、操作自動化部５０１は、図８（Ａ）に示すように、最初のコマンド群Ａを、サブ作業目的ＳＡ１（例えば、稜線へのＲ付与）と紐付ける。また、例えば図８（Ｅ）に示すように、作業目的Ｂにおいて、コマンド群ＢとコマンドＥとを、サブ作業目的ＳＡ４（例えば、円筒移動）と紐付ける。
【００２１】
次に、操作自動化部５０１は、各サブ作業目的の作業範囲を特定する（ステップＳ１２５）。作業範囲は、例えば、サブ作業目的に対する作業履歴を再生し、再生前後の形状を比較することによって特定することができる。したがって、作業範囲は、サブ作業目的を達成するための作業によって影響を受けた稜線と定義することができる。例えば、図８（Ａ）に定義したサブ作業目的ＳＡ１から特定される作業範囲１は、図８（Ｂ）の太線で示す部分（稜線）であり、サブ作業目的ＳＡ２から特定される作業範囲２は、図８（Ｃ）の太線で示す部分（稜線）であり、サブ作業目的ＳＡ３から特定される作業範囲３は、図８（Ｄ）の太線で示す部分（稜線）となる。また、図８（Ｅ）に定義したサブ作業目的ＳＡ４から特定される作業範囲４は、図８（Ｆ）の太線で示す部分（稜線）であり、サブ作業目的ＳＡ５から特定される作業範囲５は、図８（Ｇ）の太線で示す部分（稜線）であり、サブ作業目的ＳＡ６から特定される作業範囲６は、図８（Ｈ）の太線で示す部分（稜線）である。
【００２２】
次に、操作自動化部５０１は、作業目的の対象となった作業ブロック（部位）の幾何情報のうち、作業目的と関連付けられた特定の幾何情報を抽出する（ステップＳ１２７）。より具体的には、作業目的により特定した作業ブロックに含まれる全ての稜線が有する幾何情報のうち、特定の幾何情報を抽出する。ここで、幾何情報とは、稜線を定義するパラメータ（例えば、長さ、角度、曲率、周辺面との距離、面積・・・・）の情報と、各パラメータに対して登録されている値の情報とを含む。したがって、特定の幾何情報とは、稜線を定義するパラメータのうち作業目的と関連付けられた特定のパラメータの情報と、当該特定のパラメータそれぞれに対して登録されている値の情報とを含む。例えば、作業目的が「肉厚凸部へのＲ付与」であった場合の特定の幾何情報は、機能情報、形状の凹凸、面の曲率、及び線の長さとすることができる。なお、機能情報は、稜線が属する部位の機能や特徴等を示す情報である。機能情報は、例えば、「肉厚凸部」、「締結ボス」、「リブ」、「加工部」等である。
【００２３】
次に、操作自動化部５０１は、作業目的と特定の幾何情報との組み合わせに対する正解として、作業範囲、コマンド群、及びコマンドを階層化して学習する（ステップＳ１２８）。このとき、操作自動化部５０１は、各階層における要素の順序（作業範囲の処理順序、コマンド群の実行順序、コマンドの実行順序）も学習する。
【００２４】
操作自動化部５０１は、学習結果を記憶装置４０の学習結果格納部４０１（図１参照）に格納する（ステップＳ１２９）。これにより、例えば、図９及び図１０に示すように、作業目的と、作業ブロックが有する作業前後の幾何情報のうち、作業目的に関連づけられた特定の幾何情報との組み合わせに対して、作業範囲、コマンド群、及びコマンドが階層化された学習結果が格納される。また、各階層における要素の順序も学習結果として格納される。
【００２５】
（ＣＡＤ操作自動化処理）
次に、ＣＡＤシステム１０において実行されるＣＡＤ操作自動化処理について、図１１のフローチャートを参照して説明する。図１１の処理では、三次元モデルにＲを付与する場合を具体例に説明する。
【００２６】
まず、操作自動化部５０１は、入力装置３０を介して作業者から作業目的の入力を受け付ける（ステップＳ２１）。例えば、操作自動化部５０１は、図１２（Ａ）に示すような画面を表示装置２０に表示することによって、作業者から作業目的の入力を受け付ける。図１２（Ａ）の画面例では、作業者が「自動Ｒ付けシステム」を起動し、「部位」の項目において、Ｒを付与する対象となる部位を選択（又は、直接入力）することによって、作業目的を入力することができる。例えば、図１２（Ａ）の例では、「肉厚の凸部にＲを付与する」が作業目的となる。
【００２７】
次に、操作自動化部５０１は、作業目的を実行するために必要な情報（本例では、Ｒ値）の入力を受け付ける（ステップＳ２３）。例えば、操作自動化部５０１は、図１２（Ａ）に示す画面において、Ｒ値の入力を受け付ける。なお、Ｒ値の入力を別画面で入力するようにしてもよい。
【００２８】
次に、操作自動化部５０１は、作業目的の対象となる作業ブロックを抽出する（ステップＳ２４）。本例では、操作自動化部５０１は、「肉厚の凸部にＲを付与する」という作業目的の対象となる作業ブロックを特定する。例えば、操作自動化部５０１は、機能情報に「肉厚凸部」が設定されている稜線それぞれの幾何情報（凸の稜線か否か、どの稜線と接しているか等）に基づき、作業ブロックを特定する。操作自動化部５０１は、作業目的の対象となる作業ブロックの数を表示装置２０に表示してもよい。例えば、操作自動化部５０１は、図１２（Ａ）に示すように、作業ブロックの数（図１２（Ａ）の例では、３５）を表示してもよい。
【００２９】
次に、操作自動化部５０１は、処理対象の作業ブロックの全稜線が持つ幾何情報のうち、作業目的に関連付けられている特定の幾何情報を取得する（ステップＳ２５）。
【００３０】
次に、操作自動化部５０１は、取得した特定の幾何情報と、作業目的（ここでは、「肉厚凸部へのＲ付与」）とをキーにして、学習結果格納部４０１に格納された学習結果を参照し、作業ブロックにおいてＲを付与する作業範囲を特定し、処理順序を決定する（ステップＳ２６）。例えば、図１２（Ｂ）に示す作業ブロックが抽出された場合に、操作自動化部５０１は、学習結果に基づき、図１２（Ｃ）に示すように作業範囲１〜３を特定し、例えば、作業範囲１→作業範囲２→作業範囲３の順で処理を行うと決定する。
【００３１】
次に、操作自動化部５０１は、各作業範囲に対して作業目的を実現するコマンドの組み合わせを学習結果に基づいて決定し、実行する（ステップＳ２７）。
【００３２】
次に、操作自動化部５０１は、作業ブロック内の全ての作業範囲に対する処理が完了したか否かを判断する（ステップＳ２８）。
【００３３】
全ての作業範囲に対する処理が完了していない場合（ステップＳ２８／ＮＯ）、ステップＳ２６に戻り、次の作業範囲に対してコマンドの組み合わせを決定し実行する。
【００３４】
一方、作業ブロック内の全ての作業範囲に対する処理が完了している場合（ステップＳ２８／ＹＥＳ）、操作自動化部５０１は、作業目的に適合した三次元モデルが作成されているか否かを判断する（ステップＳ２９）。例えば、操作自動化部５０１は、指示通りのＲ値でモデルが作成されているか否かを、モデルの形状を測定して作業目的に適合した三次元モデルが作成されているか否かを判断する。
【００３５】
作業目的に適合した三次元モデルが作成されていない場合（ステップＳ２９／ＮＯ）、操作自動化部５０１は、ステップＳ２７に戻り、再度作業ブロック内の作業範囲に対してコマンドの組み合わせを決定し実行する。このとき、操作自動化部５０１は、人工知能の機能により、選択肢を統計的に重み付けして判断するため、最初に決定したコマンドの組み合わせとは別のコマンドの組み合わせを決定し実行する。
【００３６】
一方、作業目的に適合した三次元モデルが作成されている場合（ステップＳ２９／ＹＥＳ）、操作自動化部５０１は、全ての作業ブロックを処理したか否かを判断する（ステップＳ３０）。例えば、操作自動化部５０１は、図１２（Ａ）に示す画面において、「完了」のチェックボックスがチェックされた場合に、全ての作業ブロックを処理したと判断することができる。
【００３７】
未だ処理していない作業ブロックが存在する場合（ステップＳ３０／ＮＯ）、操作自動化部５０１は、ステップＳ２５に戻り、次の作業ブロックに含まれる特定の幾何情報を取得する。一方、全ての作業ブロックに対する処理が終了した場合（ステップＳ３０／ＹＥＳ）、図１１の処理を終了する。
【００３８】
以上、詳細に説明したように、本実施形態に係るＣＡＤシステム１０によれば、機械学習を行う人工知能を有する演算処理装置５０が、三次元モデルにおいて行う作業目的の入力を受け付け（図１１、ステップＳ２１）、三次元モデルにおいて、入力された作業目的の対象となる作業ブロック（部位）が有する幾何情報のうち、入力された作業目的と関連付けられた特定の幾何情報を取得し（図１１、ステップＳ２５）、過去の三次元モデルデータにおいて実行された作業の目的と、実行された作業の目的の対象となった作業ブロックが有する幾何情報のうち実行された作業の目的と関連付けられた特定の幾何情報と、の組み合わせに対して、実行された作業の目的を達成するための作業プロセスを複数の階層に分けて機械学習した学習結果に基づき、入力された作業目的と、取得した特定の幾何情報とをキーとして、入力された作業目的を達成するための作業プロセスを決定し（図１１、ステップＳ２６、Ｓ２７）、決定した作業プロセスに従って、三次元モデルを作成する。これにより、三次元モデルの作成に係る様々な作業（移動、Ｒ付与、厚み変更等）に必要な作業プロセスが、作業目的と、当該作業目的に関連付けられた特定の幾何情報との組み合わせで階層化して学習されるため、当該学習結果に基づいて、三次元モデルの作成に係る複数の作業を自動化することができる。
【００３９】
また、本実施形態に係るＣＡＤシステム１０において、学習処理では、過去の三次元モデルデータから、作業者（人）の感覚的な判断基準をルール化している。本実施形態では、過去の三次元モデルデータを機械学習する場合に、作業目的と組み合わせて記憶する幾何情報を、作業ブロックに含まれる全ての稜線の幾何情報のうち、作業目的と関連付けられた特定の幾何情報に絞り込んでいるため、全ての幾何情報を使用する場合と比較して、作業範囲及びコマンドの組み合わせ等を判断する基準及び閾値をルール化する際の精度が向上する。すなわち、自動化したいモデリング作業に関連する幾何情報を絞り込むことによって、作業プロセスのルール化のノイズとなる余分な情報を削除することができ、ルール化の精度が向上する。さらに、作業プロセスを階層化することにより、作業履歴を明確に切り分けることができ、ルール化の精度が向上する。また、機械学習の手法としてランダムフォレスト法を採用することにより、学習結果の可読性が向上し、ルール化が可能となる。また、学習させる過去の三次元モデルデータを増やすことによって、ルールの精度が向上し、ルールを適用できる部品の種類も拡大する（汎用性が向上する）。また、これにより、ＣＡＤ操作を自動化できる範囲が拡大する。
【００４０】
さらに、ＣＡＤ操作自動化処理においては、過去の作業履歴に基づいた学習結果を利用することにより、過去の事例と同様の作業プロセスを実行させることができ、技術トレンドなどが反映される部品形状の変化に柔軟に対応することができる。
【００４１】
さらに、操作自動化部５０１による自動化によって作成された作業履歴は、作業範囲の処理順序及びコマンドの実行順序が整理されており、解読しやすくなっているため、手作業でＲ値を変更する場合に、作業を効率化できる。
【００４２】
上記実施形態は本発明を実施するための例にすぎず、本発明はこれらに限定されるものではなく、これらの実施例を種々変形することは本発明の範囲内であり、更に本発明の範囲内において、他の様々な実施例が可能であることは上記記載から自明である。
【符号の説明】
【００４３】
１０  ＣＡＤシステム
３０  入力装置
４０  記憶装置
５０  演算処理装置
４０１  学習結果格納部
５０１  操作自動化部
【図１】
2019207477.tif 000003
【図２】
2019207477.tif 000004
【図３】
2019207477.tif 000005
【図４】
2019207477.tif 000006
【図５】
2019207477.tif 000007
【図６】
2019207477.tif 000008
【図７】
2019207477.tif 000009
【図８】
2019207477.tif 000010
【図９】
2019207477.tif 000011
【図１０】
2019207477.tif 000012
【図１１】
2019207477.tif 000013
【図１２】
2019207477.tif 000014