(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-10
(45)【発行日】2023-10-18
(54)【発明の名称】機械学習装置、予測装置、及び制御装置
(51)【国際特許分類】
G05B 19/4155 20060101AFI20231011BHJP
G05B 19/4061 20060101ALI20231011BHJP
【FI】
G05B19/4155 V
G05B19/4061 Z
(21)【出願番号】P 2019201662
(22)【出願日】2019-11-06
【審査請求日】2022-07-20
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100106002
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100165157
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100160794
【氏名又は名称】星野 寛明
(72)【発明者】
【氏名】佐藤 大愛
【審査官】亀田 貴志
(56)【参考文献】
【文献】特開2018-92428(JP,A)
【文献】特開2008-15740(JP,A)
【文献】特開2013-125453(JP,A)
【文献】特開2006-59187(JP,A)
【文献】特開昭62-66304(JP,A)
【文献】特開2004-345005(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/18 - 19/46
B23Q 15/00
B23Q 17/00
G06F 30/27
(57)【特許請求の範囲】
【請求項1】
手動送り可能な工作機械で行われた任意の手動送り操作における前記手動送り操作時の手動送りパルス波形を含む手動送り状態情報を入力データとして取得する状態観測部と、
前記入力データに含まれる前記手動送り状態情報の前記手動送りパルス波形の直後から所定の時間内で前記工作機械の可動部が移動した距離、を示すラベルデータを取得するラベル取得部と、
前記状態観測部により取得された入力データと、前記ラベル取得部により取得されたラベルデータと、を用いて、教師あり学習を実行し、学習済みモデルを生成する学習部と、
を備える機械学習装置。
【請求項2】
前記手動送り状態情報は、前記手動送り操作時の干渉物までの距離、前記手動送り操作を行ったユーザのユーザ識別情報、前記手動送り操作が行われた日付と時刻、及び前記手動送り操作で操作された軸番号のいずれかを含む、請求項1に記載の機械学習装置。
【請求項3】
前記状態観測部は、前記工作機械の機種毎に前記入力データを取得し、
前記ラベル取得部は、前記工作機械の機種毎に前記ラベルデータを取得し、
前記学習部は、前記工作機械の機種毎の前記入力データと前記ラベルデータと、を用いて、前記工作機械の機種毎に学習済みモデルを生成する、請求項1又は請求項2に記載の機械学習装置。
【請求項4】
請求項1から請求項3のいずれか1項に記載の機械学習装置により生成された学習済みモデルと、
手動送り可能な工作機械に対して現在行われている手動送りの前記手動送り状態情報を入力する入力部と、
前記入力部により入力された前記手動送り状態情報を前記学習済みモデルに入力し、前記手動送り状態情報で現在から所定の時間後の前記工作機械の可動部の移動距離を予測する予測部と、
を備える予測装置。
【請求項5】
前記予測部は、前記所定の時間より短い時間間隔で周期的に前記移動距離を予測する、請求項4に記載の予測装置。
【請求項6】
前記学習済みモデルを、前記予測装置からネットワークを介してアクセス可能に接続されるサーバに備える、請求項4又は請求項5に記載の予測装置。
【請求項7】
請求項1から請求項3のいずれか1項に記載の機械学習装置を備える、請求項4から請求項6のいずれか1項に記載の予測装置。
【請求項8】
請求項4から請求項7のいずれか1項に記載の予測装置を備える、制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習装置、予測装置、及び制御装置に関する。
【背景技術】
【0002】
工作機械において、工具等の可動部の衝突を防ぐために、実行される加工プログラムから算出される先行時間での可動部の位置と、可動部の輪郭及び固定部の輪郭が予め記憶された輪郭モデルとに基づいて干渉チェックをし、干渉すると判定された場合、可動部を減速停止させる、又はアラームを発生させる技術が知られている。例えば、特許文献1参照。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、工作機械には、可動部を手動送り可能なものがある。この場合、加工プログラムが実行されておらず、ユーザがリアルタイムで可動部を動かすため、可動部の未来の位置を予測することが難しい。
この場合に可動部の未来の位置を予測する方法として、手動送りの際にユーザにより操作される手動ハンドルが発生するパルス信号を用いて、現在のパルス信号の状態(すなわち、手動送りの操作)が維持されるという前提に基づき可動部の未来の位置を計算し、干渉チェックを行う方法が考えられる。しかしながら、ユーザが手動ハンドルを連続的に回さない場合や、ワークやテーブル等の干渉物の近くでユーザが手動ハンドルを慎重に回す場合でも、上述の方法では、計算された未来の位置から干渉物と干渉するとみなされてアラームが発生することがある。その結果、アラームが過度に発生してしまうため、ユーザの意図する操作が中断され、作業効率が低下することがある。
【0005】
そこで、手動送りにおいて過度にアラームを発生させることなく、可動部の衝突を防止することが望まれている。
【課題を解決するための手段】
【0006】
(1)本開示の機械学習装置の一態様は、手動送り可能な工作機械で行われた任意の手動送り操作における前記手動送り操作時の手動送りパルス波形を含む手動送り状態情報を入力データとして取得する状態観測部と、前記入力データに含まれる前記手動送り状態情報の前記手動送りパルス波形の直後から所定の時間内で前記工作機械の可動部が移動した距離、を示すラベルデータを取得するラベル取得部と、前記状態観測部により取得された入力データと、前記ラベル取得部により取得されたラベルデータと、を用いて、教師あり学習を実行し、学習済みモデルを生成する学習部と、を備える。
【0007】
(2)本開示の予測装置の一態様は、(1)の機械学習装置により生成された学習済みモデルと、手動送り可能な工作機械に対して現在行われている手動送りの前記手動送り状態情報を入力する入力部と、前記入力部により入力された前記手動送り状態情報を前記学習済みモデルに入力し、前記手動送り状態情報で現在から所定の時間後の前記工作機械の可動部の移動距離を予測する予測部と、を備える。
【0008】
(3)本開示の制御装置の一態様は、(2)の予測装置を備える。
【発明の効果】
【0009】
一態様によれば、手動送りにおいて過度にアラームを発生させることなく、可動部の衝突を防止することができる。
【図面の簡単な説明】
【0010】
【
図1】一実施形態に係る工作システムの機能的構成例を示す機能ブロック図である。
【
図2A】予測装置の予測処理を説明する一例を示す図である。
【
図2B】予測装置の予測処理を説明する一例を示す図である。
【
図3】手動ハンドル操作開始から終了までの1つの手動送り操作における手動送りパルス波形の一例を示す図である。
【
図4】
図1の予測装置に提供される学習済みモデルの一例を示す図である。
【
図5A】予測部の予測処理を説明する一例を示す図である。
【
図5B】予測部の予測処理を説明する一例を示す図である。
【
図6】運用フェーズにおける予測装置の予測処理について説明するフローチャートである。
【
図9A】工作機械の可動部をパルス信号の発生から予測周期分遅らせて動作させる場合の一例を示す図である。
【
図9B】工作機械の可動部をパルス信号の発生から予測周期分遅らせて動作させる場合の一例を示す図である。
【
図10】推定パルス波形を出力する学習済みモデルの一例を示す図である。
【
図11A】工作機械の可動部をパルス信号の発生から予測周期分遅らせて動作させる場合の一例を示す図である。
【
図11B】工作機械の可動部をパルス信号の発生から予測周期分遅らせて動作させる場合の一例を示す図である。
【発明を実施するための形態】
【0011】
以下、本開示の一実施形態について、図面を用いて説明する。
<一実施形態>
図1は、一実施形態に係る工作システムの機能的構成例を示す機能ブロック図である。
図1に示すように、工作システム1は、工作機械10、予測装置20、及び機械学習装置30を有する。
【0012】
工作機械10、予測装置20、及び機械学習装置30は、図示しない接続インタフェースを介して互いに直接接続されてもよい。また、工作機械10、予測装置20、及び機械学習装置30は、LAN(Local Area Network)やインターネット等の図示しないネットワークを介して相互に接続されていてもよい。この場合、工作機械10、予測装置20、及び機械学習装置30は、かかる接続によって相互に通信を行うための図示しない通信部を備えている。なお、後述するように、予測装置20は、機械学習装置30を含むようにしてもよい。また、工作機械10は、予測装置20及び機械学習装置30を含むようにしてもよい。
【0013】
工作機械10は、当業者にとって公知の工作機械であり、制御装置15を組み込んで有する。工作機械10は、制御装置15の動作指令に基づいて動作するとともに、工作機械10に含まれる手動ハンドル(図示しない)が操作されることにより、工具等の可動部を動作させる。なお、後述するように、手動ハンドル(図示しない)が操作され手動送りされる場合、工作機械10は、工作機械10の通信部(図示しない)を介して、手動送りが行われている間、手動ハンドル(図示しない)が発生するパルス信号の波形を手動送り状態情報の手動送りパルス波形として予測装置20にも出力してもよい。また、手動送り状態情報には、ワークやテーブル等の干渉物までの距離、手動送りを行うユーザのユーザ識別情報、手動送りが行われている日付と時刻、及び軸番号が含まれてもよい。さらに、手動送り状態情報には、工作機械10が設置された場所の温度や湿度等の環境条件が含まれてもよい。
【0014】
なお、干渉物までの距離(すなわち干渉物の位置)に関する情報は、工作機械10に含まれるROM(Read Only Memory)等の記憶部(図示しない)に予め記憶されてもよい。そして、干渉物までの距離は、例えば、ユーザの手動ハンドル(図示しない)の操作に影響を与える。例えば、可動部と干渉物との間の距離が大きい場合、ユーザは可動部を大きく動かすために手動ハンドル(図示しない)を大きく(速く)回転させるため、手動ハンドル(図示しない)は多くのパルス信号を発生させる。一方、可動部と干渉物との間の距離が小さい場合、ユーザは可動部を小さく動かすために手動ハンドル(図示しない)を小さく(ゆっくり)回転させるため、手動ハンドル(図示しない)は少ない数のパルス信号を発生させる。このように、干渉物までの距離と手動送りパルス波形とは密接な関係にあることから、干渉物までの距離は手動送り状態情報に含まれる。
【0015】
また、手動ハンドル(図示しない)の操作はユーザ毎に異なり、可動部を大きく動かすときと小さく動かすときと、では大きく異なることが多い。このことから、後述する機械学習装置30においてユーザ毎にパルス波形を学習することで、パルス波形がどう変化するかを予測するために、ユーザ識別情報は手動送り状態情報に含まれる。
また、軸番号は、可動部の移動方向であるX軸、Y軸、Z軸等を示す番号である。
【0016】
制御装置15は、当業者にとって公知の数値制御装置であり、制御情報に基づいて動作指令を生成し、生成した動作指令を工作機械10に送信する。これにより、制御装置15は、工作機械10の動作を制御する。なお、制御装置15は、図示しない工作機械10の通信部を介して、工作機械10の代わりに手動送り状態情報を予測装置20に出力してもよい。
また、制御装置15は、工作機械10とは独立した装置でもよい。
【0017】
予測装置20は、運用フェーズにおいて、工作機械10において手動送りが行われる場合、工作機械10から現在行われている手動送り状態情報を取得する。予測装置20は、取得した手動送り状態情報を、後述する機械学習装置30から提供された学習済みモデルに入力することで、現在から所定の時間後の工作機械10の可動部の移動距離を予測することができる。
具体的には、予測装置20は、例えば、
図2Aに示すように、ユーザAがc曜日の時刻hh:mmから工作機械10のX軸(例えば、軸番号「1」等)を手動ハンドル(図示しない)で可動部を操作した場合、現在からa[ms]前までの手動送りパルス波形、及び現在位置から干渉物までの距離s[mm]から、
図2Bに示すように、現在からb[ms]までに可動部が移動する距離Dを予測する。
そこで、予測装置20が距離Dを予測するために、後述する機械学習装置30は、少なくともa[ms]の時間の手動送りパルス波形を入力データとし、その波形が出力された直後からb[ms]の時間に工作機械10の可動部が移動した距離をラベルデータとして取得し、教師データとして利用する。
そこで、予測装置20を説明する前に、学習済みモデルを生成するための機械学習について説明する。
【0018】
<機械学習装置30>
機械学習装置30は、例えば、予め、工作機械10で行われた任意の手動送り操作における手動送り操作時の手動送りパルス波形、手動送り操作時の干渉物までの距離、手動送り操作を行ったユーザのユーザ識別情報、手動送り操作が行われた日付と時刻、及び手動送り操作で操作された軸番号を含む手動送り状態情報を、入力データとして取得する。
また、機械学習装置30は、取得された入力データにおける手動送りパルス波形の直後から所定の時間内で工作機械10の可動部が移動した距離、を示すデータをラベル(正解)として取得する。
機械学習装置30は、取得した入力データとラベルとの組の訓練データにより教師あり学習を行い、後述する学習済みモデルを構築する。
そうすることで、機械学習装置30は、構築した学習済みモデルを予測装置20に提供することができる。
機械学習装置30について、具体的に説明する。
【0019】
機械学習装置30は、
図1に示すように、状態観測部301、ラベル取得部302、学習部303、及び記憶部304を有する。
状態観測部301は、学習フェーズにおいて、図示しない通信部を介して、工作機械10で行われた任意の手動送り操作における手動送り操作時の手動送りパルス波形、手動送り操作時の干渉物までの距離、手動送り操作を行ったユーザのユーザ識別情報、手動送り操作が行われた日付と時刻、及び手動送り操作で操作された軸番号を含む手動送り状態情報を、入力データとして工作機械10から取得する。
図3は、手動ハンドル(図示しない)操作開始から終了までの1つの手動送り操作における手動送りパルス波形の一例を示す図である。なお、
図3の上段及び下段に示す手動送りパルス波形は同じものである。
図3の上段に示すように、状態観測部301は、例えば、手動ハンドル(図示しない)操作開始から終了までの手動送りパルス波形を500ms等の指定時間(
図2Aのa[ms]に相当)毎に区切り、区切られた手動送りパルス波形401-405を生成する。状態観測部301は、生成された手動送りパルス波形401-405を、手動送り状態情報の
図3の手動送り操作時の干渉物までの距離、
図3の手動送り操作を行ったユーザのユーザ識別情報、
図3の手動送り操作が行われた日付と時刻、及び
図3の手動送り操作で操作された軸番号とともに、入力データとして取得する。状態観測部301は、取得した入力データを記憶部304に記憶する。
なお、指定時間は、500msに限定されず、任意の時間に設定されてもよい。
【0020】
ラベル取得部302は、例えば、入力データにおける手動送り状態情報の手動送りパルス波形401-405の各々の直後から所定の時間内で工作機械10の可動部が移動した距離を示すデータをラベルデータ(正解データ)として取得する。
具体的には、ラベル取得部302は、例えば、
図3の下段に示すように、生成された手動送りパルス波形401-405の各々の直後の時刻t
1-t
5から200ms等の指定時間(
図2Bのb[ms]に相当)内に工作機械10の可動部が移動した距離(例えば、網掛けで示す領域411-415のパルスの時間積分の値)を、ラベルデータ(正解データ)として取得する。ラベル取得部302は、取得したラベルデータを記憶部304に記憶する。
なお、指定時間は、200msに限定されず、少なくとも区切られた手動送りパルス波形401-405の指定時間より短い任意の時間に設定されてもよい。
【0021】
学習部303は、上述の入力データとラベルとの組を訓練データとして受け付ける。学習部303は、受け付けた訓練データを用いて、教師あり学習を行うことにより、工作機械10の可動部の移動距離を予測する学習済みモデル250を構築する。
そして、学習部303は、構築した学習済みモデル250を予測装置20に対して提供する。
なお、教師あり学習を行うための訓練データは、多数用意されることが望ましい。例えば、顧客の工場等で実際に稼働している様々な場所の工作機械10から訓練データが取得されてもよい。
【0022】
図4は、
図1の予測装置20に提供される学習済みモデル250の一例を示す図である。ここでは、学習済みモデル250は、
図4に示すように、工作機械10において現在行われている手動送りの手動送り状態情報を入力層として、当該手動送り状態情報により現在から所定の時間(例えば、200ms等)後の工作機械10の可動部の移動距離の推定値を出力層とする多層ニューラルネットワークを例示する。
ここで、現在行われている手動送りの手動送り状態情報には、当該手動送り操作における手動送りパルス波形、当該手動送り操作時の干渉物までの距離、当該手動送り操作を行っているユーザのユーザ識別情報、当該手動送り操作が行われた日付と時刻、及び当該手動送り操作で操作されている軸番号が含まれる。
なお、現在行われている手動送り状態情報には、工作機械10が設置された場所の温度や湿度等の環境条件が含まれてもよい。
【0023】
また、学習部303は、学習済みモデル250を構築した後に、新たな訓練データを取得した場合には、学習済みモデル250に対してさらに教師あり学習を行うことにより、一度構築した学習済みモデル250を更新するようにしてもよい。
そうすることで、普段のユーザによる手動ハンドル(図示しない)の操作から訓練データを自動的に得ることができるため、予測の精度を日常的に上げることができる。
【0024】
上述した教師あり学習は、オンライン学習で行ってもよく、バッチ学習で行ってもよく、ミニバッチ学習で行ってもよい。
オンライン学習とは、工作機械10において手動送りが行われ、訓練データが作成される都度、即座に教師あり学習を行うという学習方法である。また、バッチ学習とは、工作機械10において手動送りが行われ、訓練データが作成されることが繰り返される間に、繰り返しに応じた複数の訓練データを収集し、収集した全ての訓練データを用いて、教師あり学習を行うという学習方法である。さらに、ミニバッチ学習とは、オンライン学習と、バッチ学習の中間的な、ある程度訓練データが溜まるたびに教師あり学習を行うという学習方法である。
【0025】
記憶部304は、RAM(Random Access Memory)等であり、状態観測部301により取得された入力データ、ラベル取得部302により取得されたラベルデータ、及び学習部303により構築された学習済みモデル250等を記憶する。
以上、予測装置20が備える学習済みモデル250を生成するための機械学習について説明した。
次に、運用フェーズにおける予測装置20について説明する。
【0026】
<運用フェーズにおける予測装置20>
図1に示すように、運用フェーズにおける予測装置20は、入力部201、予測部202、決定部203、通知部204、及び記憶部205を含んで構成される。
なお、予測装置20は、
図1の機能ブロックの動作を実現するために、CPU(Central Processing Unit)等の図示しない演算処理装置を備える。また、予測装置20は、各種の制御用プログラムを格納したROMやHDD(Hard Disk Drive)等の図示しない補助記憶装置や、演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのRAMといった図示しない主記憶装置を備える。
【0027】
そして、予測装置20において、演算処理装置が補助記憶装置からOSやアプリケーションソフトウェアを読み込み、読み込んだOSやアプリケーションソフトウェアを主記憶装置に展開させながら、これらのOSやアプリケーションソフトウェアに基づいた演算処理を行なう。この演算結果に基づいて、予測装置20が各ハードウェアを制御する。これにより、
図1の機能ブロックによる処理は実現される。つまり、予測装置20は、ハードウェアとソフトウェアが協働することにより実現することができる。
【0028】
入力部201は、工作機械10において現在行われている手動送りの手動送り状態情報を、工作機械10から入力する。入力部201は、入力された手動送り状態情報を予測部202に対して出力する。
【0029】
予測部202は、入力部201により入力された手動送り状態情報を、
図3の学習済みモデル250に入力し、現在から所定の時間後の工作機械10の可動部の移動距離を予測する。
図5A及び
図5Bは、予測部202の予測処理を説明する一例を示す図である。なお、
図5A及び
図5Bに示すパルス波形は、工作機械10のユーザが月曜日の時刻10時0分からX軸(例えば、軸番号「1」等)を手動ハンドル(図示しない)で操作した場合に、工作機械10から取得された手動送りパルス波形の一例である。
図5Aに示すように、予測部202は、取得された手動送りパルス波形のうち、現在の時刻から500ms前までの手動送りパルス波形を、現在行われている手動送り操作時の干渉物までの距離、当該手動送り操作を行っているユーザのユーザ識別情報、当該手動送り操作が行われている日付と時刻、及び当該手動送り操作で操作されている軸番号「1」とともに、
図3の学習済みモデル250に入力する。予測部202は、
図5Bに示すように、現在から200ms後の時刻の工作機械10の可動部の移動距離を予測する。
なお、学習済みモデル250に入力される手動送りパルス波形の時間の長さは、学習済みモデル250の生成に用いられた入力データの手動送りパルス波形の時間間隔、すなわち500msに対応させてもよい。学習済みモデル250が出力する移動距離の推定値は、学習済みモデル250の生成に用いられたラベルデータの距離を工作機械10の可動部が移動するのにかかった時間、すなわち200msに対応してもよい。
また、予測部202は、10msや50ms等の時間間隔の予測周期で移動距離の推定値を予測してもよい。これにより、工作機械10は、手動送りにおいて衝突を回避することができる。
【0030】
決定部203は、予測部202により予測周期毎に予測された移動距離の推定値と干渉物までの距離とに基づいて、工作機械10の可動部が干渉物に衝突するか否かを判定する。
より具体的には、決定部203は、移動距離の推定値が干渉物までの距離より短い場合、衝突しないと判定することで、アラームを発生させず、手動送りの運転を続行することを決定する。
一方、決定部203は、移動距離の推定値が干渉物までの距離以上の場合、衝突すると判定することで、アラームを発生させ、手動送りの運転を中止させることを決定する。
そうすることで、予測装置20は、学習済みモデル250を用いて予測された移動距離の推定値に基づいて干渉チェックを行うため、ユーザの操作に近い予測をすることができ、アラームの頻度を抑えることができる。
【0031】
通知部204は、決定部203により衝突すると判定された場合、工作機械10及び/又は制御装置15に含まれる液晶ディスプレイ等の出力装置(図示しない)に、アラーム及び運転中止を出力してもよい。なお、通知部204は、スピーカ(図示せず)を介して音声により通知してもよい。
【0032】
記憶部205は、ROMやHDD等であり、各種の制御用プログラムとともに、学習済みモデル250を記憶してもよい。
【0033】
<運用フェーズにおける予測装置20の予測処理>
次に、本実施形態に係る予測装置20の予測処理に係る動作について説明する。
図6は、運用フェーズにおける予測装置20の予測処理について説明するフローチャートである。ここで示すフローは、予測周期毎に繰り返し実行される。
【0034】
ステップS11において、入力部201は、工作機械10において現在行われている手動送りの手動送り状態情報を、工作機械10から入力する。
【0035】
ステップS12において、予測部202は、ステップS11で入力された、現在行われている手動送りの手動送り状態情報を学習済みモデル250に入力し、工作機械10の可動部の移動距離の推定値を予測する。
【0036】
ステップS13において、決定部203は、ステップS12で予測された移動距離の推定値と干渉物までの距離との比較に基づいて、工作機械10の可動部が干渉物に衝突するか否かを判定する。衝突すると判定した場合、処理はステップS14に進み、衝突しないと判定した場合、処理は終了する。
【0037】
ステップS14において、通知部204は、ステップS13で決定されたアラーム及び運転中止を通知する。
【0038】
以上により、一実施形態に係る予測装置20は、工作機械10において現在行われている手動送りの手動送り状態情報を学習済みモデル250に入力し、工作機械10の可動部の移動距離の推定値を予測する。そして、予測装置20は、予測された移動距離の推定値と干渉物までの距離との比較に基づいて、可動部が干渉物に衝突するか否かを事前に検知することができる。
すなわち、予測装置20は、学習済みモデル250を用いて予測された移動距離の推定値に基づいて干渉チェックを行うため、ユーザの操作に近い予測をすることができ、手動送りにおいて過度にアラームを発生させることなく、可動部の衝突を防止することができる。
【0039】
以上、一実施形態について説明したが、予測装置20、及び機械学習装置30は、上述の実施形態に限定されるものではなく、目的を達成できる範囲での変形、改良等を含む。
【0040】
<変形例1>
上述の実施形態では、機械学習装置30は、工作機械10、制御装置15、及び予測装置20と異なる装置として例示したが、機械学習装置30の一部又は全部の機能を、工作機械10、制御装置15、又は予測装置20が備えるようにしてもよい。
【0041】
<変形例2>
また例えば、上述の実施形態では、予測装置20は、工作機械10や制御装置15と異なる装置として例示したが、予測装置20の一部又は全部の機能を、工作機械10又は制御装置15が備えるようにしてもよい。
あるいは、予測装置20の入力部201、予測部202、決定部203、通知部204及び記憶部205の一部又は全部を、例えば、サーバが備えるようにしてもよい。また、クラウド上で仮想サーバ機能等を利用して、予測装置20の各機能を実現してもよい。
さらに、予測装置20は、予測装置20の各機能を適宜複数のサーバに分散される、分散処理システムとしてもよい。
【0042】
<変形例3>
また例えば、上述の実施形態では、予測装置20は、機械学習装置30から提供された学習済みモデル250を用いて、1つの工作機械10から取得した現在行われている手動送りの手動送り状態情報から工作機械10の可動部の移動距離の推定値を予測したが、これに限定されない。例えば、
図7に示すように、サーバ50は、機械学習装置30により生成された学習済みモデル250を記憶し、ネットワーク60に接続されたm個の予測装置20A(1)-20A(m)と学習済みモデル250を共有してもよい(mは2以上の整数)。これにより、新たな工作機械、及び予測装置が配置されても学習済みモデル250を適用することができる。
なお、予測装置20A(1)-20A(m)の各々は、工作機械10A(1)-10A(m)の各々と接続される。
また、工作機械10A(1)-10A(m)の各々は、
図1の工作機械10に対応し、互いに同じ機種の工作機械である。予測装置20A(1)-20A(m)の各々は、
図1の予測装置20に対応する。
あるいは、
図8に示すように、サーバ50は、例えば、予測装置20として動作し、ネットワーク60に接続された工作機械10A(1)-10A(m)の各々に対して、現在行われている手動送りの手動送り状態情報から可動部の移動距離の推定値を予測してもよい。これにより、新たな工作機械が配置されても学習済みモデル250を適用することができる。
なお、工作機械10A(1)-10A(m)が2以上の複数の異なる機種の場合、機械学習装置30は機種毎に学習済みモデル250を生成し、サーバ50は生成された機種毎の学習済みモデル250を記憶してもよい。
【0043】
<変形例4>
また例えば、上述の実施形態では、工作機械10は、ユーザによる手動ハンドル(図示しない)の操作に応じて可動部を手動送りしつつ、予測装置20は、50ms等の予測周期毎に工作機械10の可動部の移動距離の推定値を予測したが、これに限定されない。例えば、工作機械10は、ユーザによる手動ハンドル(図示しない)の操作が行われても、パルス信号の発生から予測周期分遅らせて可動部を動作させてもよい。すなわち、予測装置20は、過去の予測の正誤を確認してから工作機械10に可動部を動作させることで、衝突を防ぐことができる。
【0044】
図9A及び
図9Bは、工作機械10の可動部をパルス信号の発生から予測周期分遅らせて動作させる場合の一例を示す図である。なお、
図9A及び
図9Bに示すパルス波形は、工作機械10のユーザが月曜日の時刻10時0分からX軸(例えば、軸番号「1」等)を手動ハンドル(図示しない)で操作した場合に、工作機械10から取得された手動送りパルス波形の一例である。
図9Aの上段は、予測装置20が現在の時刻までに工作機械10から取得した手動送りパルス波形を実線で示す。一方、
図9Aの下段は、現在の時刻までに工作機械10の可動部が動作した手動送りパルス波形、すなわち
図9Aのパルス波形と比べて予測周期(50ms)分遅れた手動送りパルス波形を示す。
【0045】
具体的には、予測装置20の決定部203は、現在の時刻における可動部の移動距離の推定値D1が予測された200ms前の時刻から現在の時刻までの時間における可動部の実際の移動距離D2を、
図9Aの上段の実線で示す手動送りパルス波形の時間積分から計算してもよい。決定部203は、計算した実際の移動距離D2と、移動距離の推定値D1とを比較する。決定部203は、移動距離の推定値D1が実際の移動距離D2以上の場合、移動距離の推定値D1が正しいと判定し、移動距離の推定値D1と干渉物までの距離とに基づいて、工作機械10の可動部が干渉物に衝突するか否かを判定してもよい。
一方、移動距離の推定値D1が実際の移動距離D2より小さい場合、決定部203は、移動距離の推定値D1が誤っていると判定する。この場合、決定部203は、
図9Bに示すように、現在のパルス波形が一定のまま続く等とする従来の予測方法により予測される、網掛けで示す移動距離の推定値D3と干渉物までの距離とに基づいて、工作機械10の可動部が干渉物に衝突するか否かを判定してもよい。
【0046】
<変形例5>
また例えば、上述の実施形態では、学習済みモデル250は、予め、工作機械10で行われた任意の手動送り操作における手動送り操作時の手動送りパルス波形、手動送り操作時の干渉物までの距離、手動送り操作を行ったユーザのユーザ識別情報、手動送り操作が行われた日付と時刻、及び手動送り操作で操作された軸番号を含む手動送り状態情報を入力データとして生成されたが、これに限定されない。例えば、機械学習装置30は、ユーザ識別情報、手動送り操作が行われた日付と時刻、軸番号に関して訓練データとして入力するのではなく、ユーザ識別情報毎、手動送り操作が行われた曜日毎、手動送り操作が行われた時間帯毎、又は軸番号毎に学習済みモデル250を生成してもよい。例えば、ユーザ識別情報毎に学習済みモデル250が生成されることで、予測装置20は、各ユーザにおける工作機械10の手動ハンドル(図示しない)の操作の癖を考慮して、工作機械10の可動部の移動距離の推定値を精度良く予測することができる。
【0047】
<変形例6>
また例えば、上述の実施形態では、学習済みモデル250は、
図4に示すように、現在行われている手動送りの手動送り状態情報が入力されることで、現在から所定の時間(例えば、200ms等)後の工作機械10の可動部の移動距離の推定値を出力したが、これに限定されない。例えば、学習済みモデル250は、現在行われている手動送りの手動送り状態情報が入力されることで、現在から所定の時間(例えば、200ms等)後の工作機械10の手動ハンドル(図示しない)が発生させる推定パルス波形を出力してもよい。
図10は、推定パルス波形を出力する学習済みモデル250Aの一例を示す図である。
図10の学習済みモデル250Aは、現在行われている手動送りの手動送り状態情報を入力層として、現在から所定の時間(例えば、200ms等)後の工作機械10の手動ハンドル(図示しない)が出力する推定パルス波形を出力層とする多層ニューラルネットワークを例示する。
【0048】
なお、予測装置20は、
図10の学習済みモデル250Aを用いて推定パルス波形を予測する場合で、工作機械10がユーザによる手動ハンドル(図示しない)の操作が行われても、パルス信号の発生から予測周期分遅らせて可動部を動作させる場合、過去の予測の正誤を確認してから工作機械10に可動部を動作させてもよい。そうすることで、予測装置20は、工作機械10の可動部の衝突を防ぐことができる。
【0049】
図11A及び
図11Bは、工作機械10の可動部をパルス信号の発生から予測周期分遅らせて動作させる場合の一例を示す図である。なお、
図11A及び
図11Bに示すパルス波形は、工作機械10のユーザが、月曜日の時刻10時0分からX軸(例えば、軸番号「1」等)を手動ハンドル(図示しない)で操作することにより発生した手動送りパルス波形の一例である。
図11Aの上段は、予測装置20が現在の時刻までに工作機械10から取得した手動送りパルス波形を実線で示す。一方、
図11Aの下段は、現在の時刻までに工作機械10の可動部が動作した手動送りパルス波形、すなわち
図11Aのパルス波形と比べて予測周期(50ms)分遅れた手動送りパルス波形を示す。
【0050】
具体的には、予測装置20の決定部203は、例えば、
図11Aの上段に示すように、現在の時刻から200ms前の時刻で予測された、破線で示す推定パルス波形と、実線で示す実際の手動送りパルス波形とを比較する。決定部203は、実際の手動送りパルス波形が推定パルス波形を上回ることが無かった場合、推定パルス波形から予測される可動部の移動距離の推定値と干渉物までの距離とに基づいて、工作機械10の可動部が干渉物に衝突するか否かを判定してもよい。
一方、決定部203は、実際の手動送りパルス波形が推定パルス波形を上回ることがあった場合、
図11Bに示すように、現在のパルス波形が一定のまま続く等とする従来の予測方法に基づいてパルス波形を推定する。決定部203は、推定されたパルス波形から算出される移動距離の推定値と干渉物までの距離とに基づいて、工作機械10の可動部が干渉物に衝突するか否かを判定してもよい。
【0051】
なお、一の実施形態における、予測装置20、及び機械学習装置30に含まれる各機能は、ハードウェア、ソフトウェア又はこれらの組み合わせによりそれぞれ実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【0052】
予測装置20、及び機械学習装置30に含まれる各構成部は、電子回路等を含むハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、コンピュータにインストールされる。また、これらのプログラムは、リムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。また、ハードウェアで構成する場合、上記の装置に含まれる各構成部の機能の一部又は全部を、例えば、ASIC(Application Specific Integrated Circuit)、ゲートアレイ、FPGA(Field Programmable Gate Array)、CPLD(Complex Programmable Logic Device)等の集積回路(IC)で構成することができる。
【0053】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(Non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(Tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAMを含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(Transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は、無線通信路を介して、プログラムをコンピュータに供給できる。
【0054】
なお、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0055】
以上を換言すると、本開示の機械学習装置、予測装置、及び制御装置は、次のような構成を有する各種各様の実施形態を取ることができる。
【0056】
(1)本開示の機械学習装置30は、手動送り可能な工作機械10で行われた任意の手動送り操作における手動送り操作時の手動送りパルス波形を含む手動送り状態情報を入力データとして取得する状態観測部301と、入力データに含まれる手動送り状態情報の手動送りパルス波形の直後から所定の時間内で工作機械の可動部が移動した距離、を示すラベルデータを取得するラベル取得部302と、状態観測部301により取得された入力データと、ラベル取得部302により取得されたラベルデータと、を用いて、教師あり学習を実行し、学習済みモデル250を生成する学習部303と、を備える。
この機械学習装置30によれば、工作機械10に対して行われる手動送りによる可動部の移動距離の推定値を予測する学習済みモデル250を生成することができる。
【0057】
(2)手動送り状態情報は、手動送り操作時の干渉物までの距離、手動送り操作を行ったユーザのユーザ識別情報、手動送り操作が行われた日付と時刻、及び手動送り操作で操作された軸番号のいずれかを含んでもよい。
そうすることで、機械学習装置30は、手動送りによる可動部の移動距離の推定値をより正確に予測できる学習済みモデル250を生成することができる。
【0058】
(3)状態観測部301は、工作機械10の機種毎に入力データを取得し、ラベル取得部302は、工作機械10の機種毎にラベルデータを取得し、学習部303は、工作機械10の機種毎の入力データとラベルデータと、を用いて、工作機械10の機種毎に学習済みモデル250を生成してもよい。
そうすることで、工作機械10の機種に応じた可動部の移動距離の推定値を予測する学習済みモデル250を生成することができる。
【0059】
(4)本開示の予測装置20は、(1)から(3)のいずれかの機械学習装置30により生成された学習済みモデル250と、手動送り可能な工作機械10に対して現在行われている手動送りの手動送り状態情報を入力する入力部201と、入力部201により入力された手動送り状態情報を学習済みモデル250に入力し、手動送り状態情報で現在から所定の時間後の工作機械10の可動部の移動距離を予測する予測部202と、を備える。
この予測装置20によれば、手動送りにおいて過度にアラームを発生させることなく、工作機械10の可動部の衝突を防止することができる。
【0060】
(5)予測部202は、所定の時間より短い時間間隔で周期的に移動距離を予測してもよい。
そうすることで、確度高く工作機械10の可動部の衝突を防止することができる。
【0061】
(6)学習済みモデル250を、予測装置20からネットワーク60を介してアクセス可能に接続されるサーバ50に備えてもよい。
そうすることで、新たな工作機械10、制御装置15、及び予測装置20が配置されても学習済みモデル250を適用することができる。
【0062】
(7)(1)から(3)のいずれかの機械学習装置30を備えてもよい。
そうすることで、上述の(1)から(6)のいずれかと同様の効果を奏することができる。
【0063】
(8)本開示の制御装置15は、(4)から(7)の予測装置20を備える。
この制御装置15によれば、上述の(4)から(7)のいずれかと同様の効果を奏することができる。
【符号の説明】
【0064】
10 工作機械
15 制御装置
20 予測装置
201 入力部
202 予測部
203 決定部
250 学習済みモデル
30 機械学習装置
301 状態観測部
302 ラベル取得部
303 学習部
50 サーバ