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

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

▶ ファナック株式会社の特許一覧

<>
  • 特許-加工プログラム作成装置 図1
  • 特許-加工プログラム作成装置 図2
  • 特許-加工プログラム作成装置 図3
  • 特許-加工プログラム作成装置 図4
  • 特許-加工プログラム作成装置 図5
  • 特許-加工プログラム作成装置 図6
  • 特許-加工プログラム作成装置 図7
  • 特許-加工プログラム作成装置 図8
  • 特許-加工プログラム作成装置 図9
  • 特許-加工プログラム作成装置 図10
  • 特許-加工プログラム作成装置 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-02
(45)【発行日】2024-09-10
(54)【発明の名称】加工プログラム作成装置
(51)【国際特許分類】
   G05B 19/4093 20060101AFI20240903BHJP
   G05B 19/4155 20060101ALI20240903BHJP
   B23Q 15/00 20060101ALI20240903BHJP
【FI】
G05B19/4093 Z
G05B19/4155 V
B23Q15/00 301C
【請求項の数】 8
(21)【出願番号】P 2019184662
(22)【出願日】2019-10-07
(65)【公開番号】P2021060806
(43)【公開日】2021-04-15
【審査請求日】2022-08-19
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】110001151
【氏名又は名称】あいわ弁理士法人
(72)【発明者】
【氏名】出口 裕二
【審査官】山本 忠博
(56)【参考文献】
【文献】国際公開第2014/155723(WO,A1)
【文献】特開2018-069378(JP,A)
【文献】特許第6584697(JP,B1)
【文献】特許第6599069(JP,B1)
【文献】特開2013-012051(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/18-19/416,19/42-19/46;
B23Q 15/00
(57)【特許請求の範囲】
【請求項1】
工作機械の制御プログラムの作成を支援する加工プログラム作成装置であって、
加工プログラムを取得するデータ取得部と、
前記加工プログラムから少なくとも1つの加工に係る指令と、少なくとも1つの準備指令及び少なくとも1つの後処理指令とを抽出し、それぞれの前記加工に係る指令から見たそれぞれの準備指令及び後処理指令の前記加工に係る指令からの距離を含んだ相対位置を解析する加工プログラム解析部と、
前記加工プログラム解析部による解析結果に基づいて、それぞれの前記加工に係る指令から見たそれぞれの準備指令及び後処理指令の前記加工に係る指令からの距離を含んだ相対位置を学習した第1学習モデルを作成する学習部と、
を備えた加工プログラム作成装置。
【請求項2】
前記学習部は、前記準備指令及び後処理指令の引数を学習した第2学習モデルを作成する、
請求項1に記載の加工プログラム作成装置。
【請求項3】
前記学習部は、同一又は類似の加工に係る指令ごとに、前記第1学習モデルを作成する、
請求項1に記載の加工プログラム作成装置。
【請求項4】
前記データ取得部は、前記加工プログラムの動作環境に係る情報を更に取得し、
前記学習部は、前記加工プログラムの動作環境に係る情報に基づいて、加工プログラム動作環境ごとに、前記第1学習モデルを作成する、
請求項1に記載の加工プログラム作成装置。
【請求項5】
工作機械の制御プログラムの作成を支援する加工プログラム作成装置であって、
加工に係る指令を取得するデータ取得部と、
前記加工に係る指令を解析する加工プログラム解析部と、
それぞれの加工に係る指令から見たそれぞれの準備指令及び後処理指令の前記加工に係る指令からの距離を含んだ相対位置を学習した第1学習モデルを記憶する学習モデル記憶部に記憶される第1学習モデルと、前記加工プログラム解析部による解析結果とに基づいて、前記加工に係る指令から見た所定の距離を含んだ相対位置に配置するべき準備指令及び後処理指令を推定する指令推定部と、
前記加工に係る指令と、前記指令推定部が推定した準備指令及び後処理指令を含む加工プログラムの雛形を表示する推定結果表示部と、
を備えた加工プログラム作成装置。
【請求項6】
前記学習モデル記憶部は、前記準備指令及び後処理指令の引数を学習した第2学習モデルを更に記憶しており、
前記指令推定部は、推定した前記準備指令及び後処理指令の引数を更に推定する、
請求項5に記載の加工プログラム作成装置。
【請求項7】
前記学習部が作成する学習モデルは、ネットワークを経由して複数の前記加工プログラム作成装置の間で共有される、
請求項1に記載の加工プログラム作成装置。
【請求項8】
前記指令推定部が推定に用いる学習モデルは、ネットワークを経由して複数の前記加工プログラム作成装置の間で共有されている、
請求項5に記載の加工プログラム作成装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、加工プログラム作成装置に関し、特に数値制御装置が実行する加工プログラムの作成装置に関する。
【背景技術】
【0002】
数値制御装置は加工プログラムを読み込み、読み込んだ加工プログラムを実行することで自動運転を行っている。加工プログラムは、例えばオペレータが手動で作成する。オペレータは、加工プログラムを作成する際には、ワークの加工形状を実現するための加工に係る指令を加工プログラムに指定する一方で、指定した加工に係る指令の前後に、該加工に係る指令を実行するために必要な準備指令(工具交換指令、主軸回転指令、アプローチ指令等)や後処理指令(エスケープ指令、主軸停止指令等)を指定する。加工プログラムに指定した加工に係る指令としては、複数の指令を組み合わせて所定の形状をワークに加工するものや、1つの指令で一連の動作シーケンスを機械に行わせるサイクル指令(例えば、特許文献1)等がある。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2015-011669号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
このように、オペレータは、加工プログラムに加工に係る指令を指定するたびに、該加工に係る指令の実行に必要な複数の補助的な指令を前後に指定する必要がある。それらの補助的な指令は機械構成、ワーク形状等により多数の指令が存在する。そのため、それらの情報を把握する必要があり、オペレータの負担になっていた。
そこで、サイクル指令等の加工に係る指令の前後に必要な準備指令や後処理指令を指定する作業を学習乃至支援する機能が望まれている。
【課題を解決するための手段】
【0005】
本発明の一態様による数値制御装置は、過去にオペレータが作成した加工プログラムから、加工に係る指令(サイクル指令など)の近傍に指定されている指令を抽出し、抽出した指令を所定のルールに従って機械学習する。そして、オペレータが新たに加工プログラムを作成する際に、加工に係る指令を入力した時点で、前記機械学習の結果を用いた推論処理を実行し、加工に係る指令の前後に指定するべき補助的な指令を推論結果として出力する。
【0006】
そして、本発明の一態様は、工作機械の制御プログラムの作成を支援する加工プログラム作成装置であって、加工プログラムを取得するデータ取得部と、前記加工プログラムから少なくとも1つの加工に係る指令と、少なくとも1つの準備指令及び少なくとも1つの後処理指令とを抽出し、それぞれの前記加工に係る指令から見たそれぞれの準備指令及び後処理指令の前記加工に係る指令からの距離を含んだ相対位置を解析する加工プログラム解析部と、前記加工プログラム解析部による解析結果に基づいて、前記加工に係る指令から見たそれぞれの準備指令及び後処理指令の位置を学習した第1学習モデルを作成する学習部と、を備えた加工プログラム作成装置である。
【0007】
本発明の他の態様は、工作機械の制御プログラムの作成を支援する加工プログラム作成装置であって、加工に係る指令を取得するデータ取得部と、前記加工に係る指令を解析する加工プログラム解析部と、それぞれの加工に係る指令から見たそれぞれの準備指令及び後処理指令の前記加工に係る指令からの距離を含んだ相対位置を学習した第1学習モデルを記憶する学習モデル記憶部に記憶される第1学習モデルと、前記加工プログラム解析部による解析結果とに基づいて、前記加工に係る指令から見た所定の距離を含んだ相対位置に指定するべき準備指令及び後処理指令を推定する指令推定部と、前記加工に係る指令と、前記指令推定部が推定した準備指令及び後処理指令を含む加工プログラムの雛形を表示する推定結果表示部と、を備えた加工プログラム作成装置である。
【発明の効果】
【0008】
本発明の一態様により、サイクル指令等の加工に係る指令の前後に必要な準備指令や後処理指令を指定する作業を学習乃至支援することが可能となる。
【図面の簡単な説明】
【0009】
図1】一実施形態による加工プログラム作成装置の概略的なハードウェア構成図である。
図2】第1実施形態による加工プログラム作成装置の概略的な機能ブロック図である。
図3】加工プログラムの例を示す図である。
図4】典型的な加工パターンの例を示す図である。
図5】第1学習モデルの例を示す図である。
図6】第2学習モデルの例を示す図である。
図7】第2実施形態による加工プログラム作成装置の概略的な機能ブロック図である。
図8】第1学習モデルを用いたそれぞれの相対位置における準備指令及び後処理指令の推定方法を説明する図である。
図9】第2学習モデルを用いたそれぞれの準備指令及び後処理指令の引数の推定方法を説明する図である。
図10】加工プログラムの雛形の例を示す図である。
図11】学習モデル記憶部を外部のコンピュータ上に設けた変形例を示す図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態を図面と共に説明する。
図1は本発明の一実施形態による加工プログラム作成装置の要部を示す概略的なハードウェア構成図である。本発明の加工プログラム作成装置1は、例えば加工プログラムに基づいて産業機械を制御する数値制御装置として実装することができる。また、本発明の加工プログラム作成装置1は、加工プログラムに基づいて産業機械を制御する数値制御装置に併設されたパソコンや、有線/無線のネットワークを介して数値制御装置と接続されたパソコン、セルコンピュータ、フォグコンピュータ、クラウドサーバの上に実装することができる。本実施形態では、加工プログラム作成装置1を、ネットワーク介して数値制御装置と接続されたパソコンの上に実装した例を示す。
【0011】
本実施形態による加工プログラム作成装置1が備えるCPU11は、加工プログラム作成装置1を全体的に制御するプロセッサである。CPU11は、バス22を介してROM12に格納されたシステム・プログラムを読み出し、該システム・プログラムに従って加工プログラム作成装置1全体を制御する。RAM13には一時的な計算データや表示データ、及び外部から入力された各種データ等が一時的に格納される。
【0012】
不揮発性メモリ14は、例えば図示しないバッテリでバックアップされたメモリやSSD(Solid State Drive)等で構成され、加工プログラム作成装置1の電源がオフされても記憶状態が保持される。不揮発性メモリ14には、インタフェース15を介して外部機器72から読み込まれたデータや加工プログラム、入力装置71を介して入力されたデータや加工プログラム等が記憶される。不揮発性メモリ14に記憶されたデータや加工プログラムは、実行時/利用時にはRAM13に展開されても良い。また、ROM12には、公知の解析プログラムなどの各種システム・プログラムがあらかじめ書き込まれている。
【0013】
インタフェース15は、加工プログラム作成装置1のCPU11とUSB装置等の外部機器72と接続するためのインタフェースである。外部機器72側からは、例えば産業機械の制御に用いられる加工プログラムや各種パラメータ等を読み込むことができる。また、加工プログラム作成装置1内で編集した加工プログラムや各種パラメータ等は、外部機器72を介して外部記憶手段に記憶させることができる。
【0014】
インタフェース20は、加工プログラム作成装置1のCPUと有線乃至無線のネットワーク5とを接続するためのインタフェースである。ネットワーク5には、数値制御装置3やフォグコンピュータ、クラウドサーバ等が接続され、加工プログラム作成装置1との間で相互にデータのやり取りを行っている。
【0015】
表示装置70には、メモリ上に読み込まれた各データ、プログラム等が実行された結果として得られたデータ等がインタフェース17を介して出力されて表示される。また、キーボードやポインティングデバイス等から構成される入力装置71は、作業者による操作に基づく指令,データ等をインタフェース18を介してCPU11に渡す。
【0016】
図2は、本発明の第1実施形態による加工プログラム作成装置1が備える機能を概略的なブロック図として示したものである。本実施形態による加工プログラム作成装置1が備える各機能は、図1に示した加工プログラム作成装置1が備えるCPU11がシステム・プログラムを実行し、加工プログラム作成装置1の各部の動作を制御することにより実現される。本実施形態による加工プログラム作成装置1は、数値制御装置3が制御対象とする産業機械に係る制御指令を含む加工プログラムをオペレータが作成する際の支援に用いる学習モデルを作成する。
【0017】
本実施形態の加工プログラム作成装置1は、データ取得部100、加工プログラム解析部110、機械学習部150を備える。また、加工プログラム作成装置1のRAM13乃至不揮発性メモリ14には、入力装置71、外部機器72、数値制御装置3等から取得した加工プログラムや該加工プログラムの動作環境に係る情報を記憶するための領域として加工プログラム記憶部210が予め用意されている。
【0018】
データ取得部100は、図1に示した加工プログラム作成装置1が備えるCPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理と、インタフェース15、18又は20による入力制御処理とが行われることで実現される。データ取得部100は、加工プログラムと、該加工プログラムの動作環境に係る情報とを取得して、加工プログラム記憶部210に記憶する。データ取得部100は、入力装置71、外部機器72、数値制御装置3等から加工プログラム及び該加工プログラムの動作環境に係る情報を取得して良い。データ取得部100が取得する加工プログラムは、例えばサイクル指令や一連の切削指令等で示される加工に係る指令を含むものであって良い。データ取得部100が加工プログラムと共に取得する加工プログラムの動作環境に係る情報は、該加工プログラムを実行する産業機械の機械構成情報(産業機械の種類、軸構成、工具種類等)、ワーク素材情報(ワークの形状、ワークの材料等)等を含む。
【0019】
加工プログラム解析部110は、図1に示した加工プログラム作成装置1が備えるCPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理が行われることで実現される。加工プログラム解析部110は、加工プログラム記憶部210に記憶されている加工プログラムと該加工プログラムの動作環境に係る情報を読み出して解析し、機械学習部150による学習に用いられる学習データを作成する。加工プログラム解析部110は、加工プログラムに含まれる加工に係る指令を特定する。そして、特定した加工に係る指令の前後に指定されている準備指令及び後処理指令に該加工に係る指令からの相対位置を関連付ける。そして、加工プログラム解析部110は、解析した加工プログラム及び該加工プログラムの動作環境に係る情報を機械学習部150に出力する。
【0020】
図3は、加工プログラムの例を示している。ワークの加工に用いられる加工プログラムには、少なくとも1つの加工に係る指令を含む。例えば、工作機械においては、加工に係る指令は、サイクル指令や一連の切削指令(切削指令で始まり切削指令で終わる、切削指令乃至早送り指令の集合)で示される。図3の例では、加工プログラム解析部110は、加工プログラムの中からドリルサイクル指令G81を加工に係る指令として特定する。なお、加工に係る指令が一連の切削指令で示されている場合には、該一連の切削指令が描く工具軌跡をシミュレーション処理等で算出し、図4に例示されるような典型的な加工パターンとの間で公知の形状マッチングを行い、当該一連の切削指令がどのような加工を行うものであるのかを特定しておく。
【0021】
次に、加工プログラム解析部110は、特定した加工に係る指令(ドリルサイクル指令G81)を基準として、前後に指定された準備指令及び後処理指令に対して該加工に係る指令からの相対位置を算出して関連付ける。典型的な準備指令としては、原点復帰指令、工具交換指令、主軸回転指令、ワーク座標系選択指令、工具径補正指令、アプローチ指令等が例示される。また、典型的な後処理指令としては、エスケープ指令、主軸回転停止指令、終了指令等が例示される。そして、加工プログラム解析部110は、各々の準備指令、後処理指令に対して、加工に係る指令からのブロック距離を相対位置として関連付ける。図3の例では、原点復帰指令G28は加工に係る指令であるドリルサイクル指令G81の5ブロック前に位置しているので、相対位置として-5が関連付けられる。
【0022】
加工プログラム解析部110は、典型的な加工に係る指令、準備指令、後処理指令を例えばテーブル等の形式で予め設定しておき、これらテーブルを参照することで、加工プログラムに含まれる加工に係る指令、準備指令、後処理指令を特定するようにしても良い。また、加工に係る指令が一連の切削指令で示されている場合には、加工プログラム内で準備指令と後処理指令に挟まれている、切削指令で始まり切削指令で終わる、切削指令乃至早送り指令の集合を加工に係る指令として特定するようにすれば良い。
【0023】
また、加工プログラム解析部110は、加工プログラムに複数の加工に係る指令が含まれていると判断できる場合には、それぞれの加工に係る指令ごとに上記した処理を実行する。一般に、加工プログラムが複数の加工に係る指令を含んでいる場合、準備指令->加工に係る指令->後処理指令の流れが繰り返されるため、加工プログラムに含まれるそれぞれの指令が、加工に係る指令、準備指令、後処理指令、その他の指令のいずれに属するのかを特定した上で、準備指令->加工に係る指令->後処理指令という流れを1つのセットとした指令群に分割することで、加工プログラムを、それぞれの加工に係る指令と該加工に係る指令に関連する準備指令及び後処理指令のセットへと分割することができる。
【0024】
機械学習部150は、図1に示した加工プログラム作成装置1が備えるCPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理が行われることで実現される。機械学習部150は、加工プログラム解析部110による解析結果に基づいた機械学習に係る処理を実行する。本実施形態による機械学習部150は、少なくとも学習部152と、学習部152が作成する学習モデルを記憶するためにRAM13乃至不揮発性メモリ14に設けられた領域である学習モデル記憶部220を備える。
【0025】
学習部152は、加工プログラム解析部110による解析結果として入力された学習データを用いた機械学習により学習モデルを作成し、学習モデル記憶部220に記憶する。学習部152が作成する学習モデルは、加工プログラムにおける加工に係る指令の前後に指定するべき準備指令及び後処理指令を学習する第1学習モデルと、それぞれの準備指令及び後処理指令における引数を学習する第2学習モデルを含む。
【0026】
学習部152が作成する第1学習モデルは、例えば図5に例示されるように、加工に係る指令からの相対位置に対するそれぞれの準備指令及び後処理指令の出現頻度を示すものであって良い。学習部152は、加工に係る指令毎に第1学習モデルを作成する。学習部152は、同一又は類似の加工に係る指令を含む複数の加工プログラムを加工プログラム解析部110が解析して得られた複数の学習データを用いて、図5に例示されるような頻度グラフを作成し、これを該加工に係る指令の第1学習モデルとすれば良い。ここで言うところの同一又は類似の加工に係る指令とは、加工に係る指令がサイクル指令で示される場合には同じ種類のサイクル指令を同一又は類似の加工に係る指令と判定し、加工に係る指令が一連の切削指令で示される場合には加工プログラム解析部110が特定した加工パターンが同じ加工パターンであるものを同一又は類似の加工に係る指令と判定すれば良い。学習部152は、加工プログラムの動作環境に係る情報に含まれる機械構成情報及びワーク素材情報毎に、第1学習モデルを作成する。例えば、学習部152は、サイクル指令G82の直線3軸工作機械のための第1学習モデルと、平面加工パターン指令群の直線3軸回転2軸工作機械のための第1学習モデルとをそれぞれ個別に作成する。
【0027】
学習部152が作成する第2学習モデルは、例えば図6に例示されるように、それぞれの準備指令及び後処理指令の引数の利用頻度を示すものであって良い。学習部152は、加工に係る指令毎に第2学習モデルを作成する。学習部152は、同一又は類似の加工に係る指令を含む複数の加工プログラムを加工プログラム解析部110が解析して得られた複数の学習データを用いて、それぞれの準備指令及び後処理指令毎の引数の組の頻度を示す頻度グラフを作成し、これを第2学習モデルとすれば良い。学習部152は、加工プログラムの動作環境に係る情報に含まれる機械構成情報及びワーク素材情報毎に、第2学習モデルを作成する。例えば、学習部152は、直線3軸工作機械のため原点復帰指令G28の第2学習モデルと、直線3軸回転2軸工作機械のための原点復帰指令G28の第2学習モデルとをそれぞれ個別に作成する。
【0028】
上記構成を備えた本実施形態による加工プログラム作成装置1は、加工プログラムの加工に係る指令の前後に指定するべき準備指令及び後処理指令を学習する。また、本実施形態による加工プログラム作成装置1は、準備指令及び後処理指令の引数を学習する。学習結果は学習モデルとして記憶される。加工プログラム作成装置1が作成する学習モデルは、オペレータが加工プログラムを作成する際に入力した加工に係る指令に用いるべき準備指令及び後処理指令を推定するために用いることができる。
【0029】
本実施形態による加工プログラム作成装置1の一変形例として、加工プログラムの解析を行う際に、加工プログラム解析部110は、予め準備指令の順序を、所定のルールに従って並び替えするようにしても良い。例えば、一般的な準備処理の順番として、原点復帰処理->工具交換処理->主軸回転―>…といったような典型的な順序を決めるルールを定めておき、このルールに従って準備指令の並び替えを行っておいても良い。また、加工プログラム解析部110は、後処理指令についても同様に所定のルールに従って並び替えするようにしても良い。準備指令や後処理指令には実行する順序が特に決まっていないものがある。そのため、オペレータによっては、異なる順序で準備指令を指定する場合があり、そのような加工プログラムが頻発すると、学習部152による学習の精度が低下する場合がある。本変形例の構成を備えることで、この学習の制度の低下をある程度緩和することができる。
【0030】
図7は、本発明の第2実施形態による加工プログラム作成装置1が備える機能を概略的なブロック図として示したものである。本実施形態による加工プログラム作成装置1が備える各機能は、図1に示した加工プログラム作成装置1が備えるCPU11がシステム・プログラムを実行し、加工プログラム作成装置1の各部の動作を制御することにより実現される。本実施形態による加工プログラム作成装置1は、数値制御装置3が制御対象とする産業機械に係る制御指令を含む加工プログラムをオペレータが作成する際に、既に作成されている学習モデルを用いた支援を行う。
【0031】
本実施形態の加工プログラム作成装置1は、データ取得部100、加工プログラム解析部110、推定結果表示部120、機械学習部150を備える。
【0032】
本実施形態によるデータ取得部100は、図1に示した加工プログラム作成装置1が備えるCPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理と、インタフェース18,20による入力制御処理とが行われることで実現される。データ取得部100は、加工に係る指令及び該指令の動作環境に係る情報を取得して、機械学習部150に出力する。データ取得部100は、例えば入力装置71を介してオペレータから加工に係る指令を取得するようにしても良い。また、データ取得部100は、入力装置71や数値制御装置3から、指令の動作環境にかかる情報を取得して良い。データ取得部100が取得する加工に係る指令は、例えばサイクル指令や切削指令で始まり切削指令で終わる切削指令乃至早送り指令の集合等であって良い。データ取得部100が加工に係る指令と共に取得する該指令の動作環境に係る情報は、該指令を実行する産業機械の機械構成情報(産業機械の種類、軸構成、工具種類等)、ワーク素材情報(ワークの加工形状、ワークの材料等)等を含む。
【0033】
本実施形態による加工プログラム解析部110は、図1に示した加工プログラム作成装置1が備えるCPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理が行われることで実現される。加工プログラム解析部110は、データ取得部100が取得した加工に係る指令及び該指令の動作環境に係る情報を解析して、機械学習部150による推定処理に用いられる学習データを作成する。加工プログラム解析部110は、例えば加工に係る指令が一連の切削指令で示されている場合に、該一連の切削指令が描く工具軌跡をシミュレーション処理等で算出し、典型的な加工パターンとの間で公知の形状マッチングを行い、当該一連の切削指令がどのような加工を行うものであるのかを特定する処理等を行う。
【0034】
機械学習部150は、図1に示した加工プログラム作成装置1が備えるCPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理が行われることで実現される。機械学習部150は、データ取得部100から入力された加工に係る指令及び該指令の動作環境に係る情報と、学習モデル記憶部220に記憶されている学習モデルに基づく機械学習に係る処理を実行する。本実施形態による機械学習部150は、少なくとも指令推定部154と、第1実施形態による学習部152により作成された学習モデルが記憶されるRAM13乃至不揮発性メモリ14に設けられた領域である学習モデル記憶部220を備える。
【0035】
指令推定部154は、データ取得部100から入力された加工に係る指令及び該指令の動作環境に係る情報と、学習モデル記憶部220に記憶された学習モデルを用いて、該加工に係る指令の前後にあるべき準備指令及び後処理指令の推定処理を実行する。指令推定部154は、推定した結果を推定結果表示部120へと出力する。
【0036】
指令推定部154は、学習モデル記憶部220に記憶される第1学習モデルの内で、データ取得部100から入力された加工に係る指令及び該指令の動作環境に係る情報に対応する第1学習モデルを用いて、加工に係る指令の前後にあるべき準備指令及び後処理指令を推定する。図8は、頻度グラフとして作成された第1学習モデルを例示する図である。指令推定部154は、第1学習モデルを参照して、頻度グラフ上で加工に係る指令からのそれぞれの相対位置において頻度が高い指令を、加工に係る指令の前後にあるべき準備指令及び後処理指令として推定するようにしても良い。図8の例では、加工に係る指令の5つ前のブロックに原点復帰指令G28、4つ前のブロックに工具交換指令M6、3つ前に主軸回転指令M3、2つ前にワーク座標系設定指令G54、1つ前にアプローチ指令G00及びG43が、それぞれ準備指令として推定される。このように、指令推定部154は、それぞれの相対位置において最も頻度が高い1つの指令をその相対位置にあるべき準備指令及び後処理指令と推定しても良いし、予め定めた所定の第1閾値以上の頻度の2以上の指令をその相対位置にあるべき準備指令及び後処理指令と推定しても良い。一方で、指令推定部154は、それぞれの相対位置における指令コードの頻度がすべて予め定めた所定の第2閾値以下である場合には、その相対位置にあるべき準備指令及び後処理指令が存在しないと推定しても良い。
【0037】
指令推定部154は、加工に係る指令とのそれぞれの相対位置にあるべき準備指令及び後処理指令を推定した場合、更に推定したそれぞれの準備指令及び後処理指令について、引数の推定を行っても良い。指令推定部154は、指令の引数を推定する際に、学習モデル記憶部220に記憶される第2学習モデルの内で、データ取得部100から入力された加工に係る指令及び該指令の動作環境に係る情報に対応する準備指令及び後処理指令毎に作成された第2学習モデルを用いて、それぞれの準備指令及び後処理指令の引数を推定する。図9は、頻度グラフとして作成された第2学習モデルを例示する図である。指令推定部154は、第2学習モデルを参照して、それぞれの準備指令及び後処理指令について、頻度グラフ上で頻度が高い引数の組を、加工に係る指令の前後にあるべき準備指令及び後処理指令として推定するようにしても良い。図9の例では、準備指令である原点復帰指令G28にはX,Y,Zの2つの引数の組を、準備指令であるワーク座標系選択肢例G54にはX,Yの2つの引数の組を、それぞれの指令に適した引数の組として推定される。指令推定部154は、最も頻度が高い引数の組をその指令に適した引数の組として推定しても良い。また、複数の引数の組が予め定めた所定の第3閾値以上の頻度を示す場合には、これら複数の引数の組に含まれるすべての引数をその指令に適した引数として推定しても良い。
【0038】
推定結果表示部120は、図1に示した加工プログラム作成装置1が備えるCPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理と、インタフェース17による出力制御処理とが行われることで実現される。推定結果表示部120は、指令推定部154が推定した加工に係る指令の前後にあるべき準備指令及び後処理指令と、それぞれの準備指令及び後処理指令に適した引数の組とに基づいて、表示装置70に対して加工に係る指令を含む加工プログラムの雛形を表示する。
【0039】
図10は、推定結果表示部120が表示する加工プログラムの雛形の例を示す図である。推定結果表示部120は、加工に係る指令からの相対位置に、推定結果表示部120が推定した準備指令及び後処理指令を指定した加工プログラムを作成する。また、推定結果表示部120は、それぞれの準備指令及び後処理指令の後ろに、推定結果表示部120が推定した引数の組を挿入する。推定結果表示部120は、指令推定部154が1つの相対位置に対して複数の準備指令又は後処理指令があるべきと推定した場合には、当該相対位置に推定した複数の準備指令又は後処理指令を並べて指定するようにして良い。
【0040】
上記構成を備えた本実施形態による加工プログラム作成装置1は、学習モデル記憶部220に記憶される学習モデルを用いて、加工プログラムの加工に係る指令の前後に指定するべき準備指令及び後処理指令を推定し、推定結果に基づく加工プログラムの雛形をオペレータに対して提示することができる。また、加工プログラムの雛形には、それぞれの準備指令及び後処理指令に適した引数の組も示すことができる。オペレータは、このようにして示された加工プログラムの雛形を見ながら必要となる情報を更に入力することで、比較的容易に加工プログラムを完成させることができるようになる。
【0041】
以上、本発明の一実施形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
例えば、加工プログラム作成装置1が備える第1学習モデル及び第2学習モデルを、他の加工プログラム作成装置1との間で共有する構成を取ることができる。この時、ネットワーク5を介して複数の加工プログラム作成装置1が接続し、ネットワーク5を介して第1学習モデル及び第2学習モデルを互いに通信することで共有するように構成しても良い。このように構成することで、複数の加工プログラム作成装置1でそれぞれ作成した加工プログラムを収集して第1学習モデル及び第2学習モデルの作成及び利用が可能となる。学習モデルを作成するために用いる加工プログラムが増加することで、学習の精度の向上が見込まれ、そのようにして作成された学習モデルを用いることで推定の精度の向上も同様に見込まれる。
また、例えば図11に例示されるように、フォグコンピュータやクラウドサーバ等の外部のコンピュータ6に第1学習モデル及び第2学習モデルを記憶する学習モデル記憶部220’を設け、これを複数の加工プログラム作成装置1で共有するように構成しても良い。このように構成すると、それぞれの加工プログラム作成装置1は学習モデル記憶部220を備える必要がなくなるため、大規模なメモリを備える必要がなくなり、コスト面で大きなメリットがある。
【符号の説明】
【0042】
1 加工プログラム作成装置
3 数値制御装置
5 ネットワーク
6 コンピュータ
11 CPU
12 ROM
13 RAM
14 不揮発性メモリ
15,17,18,20 インタフェース
22 バス
70 表示装置
71 入力装置
72 外部機器
100 データ取得部
110 加工プログラム解析部
120 推定結果表示部
150 機械学習部
152 学習部
154 指令推定部
210 加工プログラム記憶部
220,220’ 学習モデル記憶部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11