(57)【要約】【課題】最適な切削液吐出条件を算出可能な切粉除去装置及び情報処理装置を提供する。【解決手段】切粉を除去するために物体を吐出する切粉除去装置における吐出条件を決定する情報処理装置２１は、切粉の除去効率を示すデータを、環境の現在状態を表す状態変数として観測する状態観測部１０６と、吐出条件を示すラベルデータを取得するラベルデータ取得部１０８と、状態変数とラベルデータとを関連付けて学習する学習部１１０とを備える。又は、情報処理装置２１は、切粉の除去効率の適否判定結果を示す判定データを取得する判定データ取得部１０８と、状態変数と判定データとを用いて、吐出条件と、切粉の除去効率とを関連付けて学習する学習部１１０とを備える。【選択図】図３
2019111637.tif 000002
【特許請求の範囲】
【請求項１】
切粉を除去するために物体を吐出する切粉除去装置における吐出条件を決定する情報処理装置であって、
前記切粉の除去効率を示すデータを、環境の現在状態を表す状態変数として観測する状態観測部と、
前記吐出条件を示すラベルデータを取得するラベルデータ取得部と、
前記状態変数と、前記ラベルデータとを関連付けて学習する学習部と、
を備える情報処理装置。
【請求項２】
切粉を除去するために物体を吐出する切粉除去装置における吐出条件を決定する情報処理装置であって、
前記切粉の除去効率を示すデータを、環境の現在状態を表す状態変数として観測する状態観測部と、
前記切粉の除去効率の適否判定結果を示す判定データを取得する判定データ取得部と、
前記状態変数と前記判定データとを用いて、前記吐出条件と、前記切粉の除去効率とを関連付けて学習する学習部と、
を備える情報処理装置。
【請求項３】
前記学習部は、
前記適否判定結果に関連する報酬を求める報酬計算部と、
前記報酬を用いて、前記切粉の除去効率に対する前記吐出条件の価値を表す関数を更新する価値関数更新部とを備える、
請求項２記載の情報処理装置。
【請求項４】
前記学習部は、前記状態変数と前記判定データとを多層構造で演算する、
請求項１又は２記載の情報処理装置。
【請求項５】
前記学習部による学習結果に基づいて、前記吐出条件に基づく指令値を出力する意思決定部を更に備える、
請求項１又は２記載の情報処理装置。
【請求項６】
前記学習部は、複数の前記切粉除去装置のそれぞれについて得られた前記状態変数及び前記判定データを用いて、前記吐出条件を学習する、
請求項１又は２記載の情報処理装置。
【請求項７】
前記情報処理装置は、クラウドサーバに存在する、
請求項１又は２記載の情報処理装置。
【請求項８】
切粉を除去するために物体を吐出する切粉除去装置であって、
吐出条件を決定する情報処理装置を含み、
前記情報処理装置は、
前記切粉の除去効率を示すデータを、環境の現在状態を表す状態変数として観測する状態観測部と、
前記吐出条件を示すラベルデータを取得するラベルデータ取得部と、
前記状態変数と、前記ラベルデータとを関連付けて学習する学習部と、を備える
切粉除去装置。
【請求項９】
切粉を除去するために物体を吐出する切粉除去装置であって、
吐出条件を決定する情報処理装置を含み、
前記情報処理装置は、
前記切粉の除去効率を示すデータを、環境の現在状態を表す状態変数として観測する状態観測部と、
前記切粉の除去効率の適否判定結果を示す判定データを取得する判定データ取得部と、
前記状態変数と前記判定データとを用いて、前記吐出条件と、前記切粉の除去効率とを関連付けて学習する学習部と、を備える
切粉除去装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、切粉除去装置及び情報処理装置に関し、特に最適な切削液吐出条件を算出可能な切粉除去装置及び情報処理装置に関する。
【背景技術】
【０００２】
近年、工場の自動化が進み、無人運転で多数の製品が生産されるようになった。機械加工においても自動化が進み、ワークの交換にロボット等を利用することで、長時間の無人運転が行われるようになっている。
【０００３】
このような自動化された機械加工システムでは、加工不良を防ぐため、加工により発生する切粉を加工領域から自動的に除去する手段が必要である。切粉の堆積する位置は様々であるから、その堆積位置を正確に特定し、効率よく除去することが求められている。
【０００４】
例えば特許文献１には、ロボット等の比較的自由に移動できる装置に、ビジョンカメラ等の切粉堆積状況検出手段と、切削液ノズル等の切粉除去手段とを設け、切粉堆積状況検出手段が検出した切粉堆積位置に切削液を吐出することで切粉を除去する技術が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６−１２０５８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１記載の技術では、切削液の吐出条件（典型的には流量など）が最適化されていない。このため、切粉の堆積状況等によっては、必要以上に多くの切削液を吐出し、ポンプやホース等の機械要素に負担をかけたり、消費電力や切粉除去に要する時間を浪費してしまうという問題があった。
【０００７】
そこで本発明の目的は、最適な切削液吐出条件を算出可能な切粉除去装置及び情報処理装置を提供することである。
【課題を解決するための手段】
【０００８】
本発明の一態様にかかる情報処理装置は、切粉を除去するために物体を吐出する切粉除去装置における吐出条件を決定する情報処理装置であって、前記切粉の除去効率を示すデータを、環境の現在状態を表す状態変数として観測する状態観測部と、前記吐出条件を示すラベルデータを取得するラベルデータ取得部と、前記状態変数と、前記ラベルデータとを関連付けて学習する学習部と、備える。
本発明の一態様にかかる情報処理装置は、切粉を除去するために物体を吐出する切粉除去装置における吐出条件を決定する情報処理装置であって、前記切粉の除去効率を示すデータを、環境の現在状態を表す状態変数として観測する状態観測部と、前記切粉の除去効率の適否判定結果を示す判定データを取得する判定データ取得部と、前記状態変数と前記判定データとを用いて、前記吐出条件と、前記切粉の除去効率とを関連付けて学習する学習部と、を備える。
本発明の一態様にかかる情報処理装置は、前記学習部は、前記適否判定結果に関連する報酬を求める報酬計算部と、前記報酬を用いて、前記切粉の除去効率に対する前記吐出条件の価値を表す関数を更新する価値関数更新部とを備える。
本発明の一態様にかかる情報処理装置は、前記学習部は、前記状態変数と前記判定データとを多層構造で演算する。
本発明の一態様にかかる情報処理装置は、前記学習部による学習結果に基づいて、前記吐出条件に基づく指令値を出力する意思決定部を更に備える。
本発明の一態様にかかる情報処理装置は、前記学習部は、複数の前記切粉除去装置のそれぞれについて得られた前記状態変数及び前記判定データを用いて、前記吐出条件を学習する。
本発明の一態様にかかる情報処理装置は、前記情報処理装置は、クラウドサーバに存在する。
本発明の一態様にかかる切粉除去装置は、切粉を除去するために物体を吐出する切粉除去装置であって、吐出条件を決定する情報処理装置を含み、前記情報処理装置は、前記切粉の除去効率を示すデータを、環境の現在状態を表す状態変数として観測する状態観測部と、前記吐出条件を示すラベルデータを取得するラベルデータ取得部と、前記状態変数と、前記ラベルデータとを関連付けて学習する学習部と、を備える。
本発明の一態様にかかる切粉除去装置は、切粉を除去するために物体を吐出する切粉除去装置であって、吐出条件を決定する情報処理装置を含み、前記情報処理装置は、前記切粉の除去効率を示すデータを、環境の現在状態を表す状態変数として観測する状態観測部と、前記切粉の除去効率の適否判定結果を示す判定データを取得する判定データ取得部と、前記状態変数と前記判定データとを用いて、前記吐出条件と、前記切粉の除去効率とを関連付けて学習する学習部と、を備える。
【発明の効果】
【０００９】
本発明により、最適な切削液吐出条件を算出可能な切粉除去装置及び情報処理装置を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】切粉除去装置の一例を示す図である。
【図２】情報処理装置２１の概略的なハードウェア構成図である。
【図３】情報処理装置２１の概略的な機能ブロック図である。
【図４】情報処理装置２１の一形態を示す概略的な機能ブロック図である。
【図５】機械学習方法の一形態を示す概略的なフローチャートである。
【図６】他の実施の形態における情報処理装置２１の概略的な機能ブロック図である。
【図７Ａ】ニューロンを説明する図である。
【図７Ｂ】ニューラルネットワークを説明する図である。
【図８】他の実施の形態における情報処理装置２１の概略的な機能ブロック図である。
【図９】切粉除去装置を組み込んだ切粉除去システムの一形態を示す概略的な機能ブロック図である。
【図１０】切粉除去装置を組み込んだ切粉除去システムの一形態を示す概略的な機能ブロック図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態を図面と共に説明する。
図１はロボットを用いた工作機械の切粉除去装置の一例を示す図である。切粉除去装置は、工作機械１と、工作機械１の機外に設置されたロボット２と、ロボット２に取り付けた、切削液等を吐出するクーラントガン４と、移動装置であるロボット２に取り付けた、ビジョンカメラ等の視覚センサ３と、ロボット２に搭載された情報処理装置２１から構成される。
【００１２】
工作機械１は、ベッド５上に、加工空間である機械内部を外部から遮断するスプラッシュガード７を備え、切削液や、ワークの加工によって生じる切粉が機械内部から外部に飛散するのを防止している。スプラッシュガード７には開口部９ａ，９ｂが設けられ、開口部９ａ，９ｂにはそれぞれ、開閉自在の開閉扉８ａ，８ｂが取り付けられている。機械内部にはワーク（図示せず）を載置するテーブル６、工具を交換する工具交換装置１０が配設されている。工作機械１は制御装置（図示せず）により制御され、ワークの加工を行う。
【００１３】
ロボット２は、ロボット２の制御装置２０によって制御される多関節のアームを備えたロボットであり、アームの先端にクーラントガン４を取り付けている。ロボット２の制御装置２０は情報処理装置２１を備えている。なお、クーラントガン４はロボットのアーム先端に取り付けられたハンドにより把持しても良い。
【００１４】
ロボット２は、工作機械１がワークの加工を行わない期間に、アームの先端を開口部９ｂから機械内部に侵入させ、ロボット２に取り付けた視覚センサ３などの検出装置により、切粉の堆積状況を確認し、堆積した切粉に対してアームの先端に取り付けられたクーラントガン４から、ワークの加工に用いられる切削液、つまりクーラントを噴射して、機械内部に堆積した切粉を清掃し、切粉を機外に排出する。また、切粉除去は、切粉液の噴射だけではなく、空気、切削液等の流体と共に切粉を吸引する形態であっても良い。情報処理装置２１は、視覚センサ３などの検出装置により検出された切粉の堆積状況に係る情報を処理し、切粉の除去が必要な箇所を判定する処理を行う。なお、情報処理装置２１はロボットの制御装置２０に内蔵されて構成してもよいし、ロボットの制御装置２０と独立して構成してもよい。なお、情報処理装置２１による切粉の堆積状況に係る情報処理については、特許文献１に具体的に記載されており公知であるため、ここでは詳細な説明を省略する。
【００１５】
図２は、情報処理装置２１の要部を示す概略的なハードウェア構成図である。情報処理装置２１が備えるＣＰＵ１１は、情報処理装置２１を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２又は不揮発性メモリ１４に格納されたプログラムをバス１９を介して読み出し、プログラムに従って情報処理装置２１全体を制御する。ＲＡＭ１３には計算データや表示データ等が一時的に格納される。また、ＲＯＭ１２又は不揮発性メモリ１４に記憶されたプログラムや各種データが、実行時／利用時にＲＡＭ１３に展開されても良い。
【００１６】
入出力装置６０は例えばディスプレイ、キーボード、通信インタフェース等を含み、インタフェース１８を介してＣＰＵ１１からの情報を受けて表示すると共に、キーボードや無線／有線通信により外部から入力された各種データをＣＰＵ１１に渡す。
【００１７】
図３は、第１の実施形態による情報処理装置２１の概略的な機能ブロック図である。情報処理装置２１は、切粉の除去効率（除去率、除去所要時間、又は除去所要エネルギーなど）に対する、吐出条件（切削液等の流量、又はポンプ出力など）を、いわゆる機械学習により自ら学習するためのソフトウェア（学習アルゴリズム等）及びハードウェア（プロセッサ（ＣＰＵ１１）等）を含む。情報処理装置２１が学習するものは、切粉の除去効率と、吐出条件と、の相関性を表すモデル構造に相当する。
【００１８】
図３に機能ブロックで示すように、情報処理装置２１は、切粉の除去効率（除去率、除去所要時間、又は除去所要エネルギーなど）を示すデータＳ１を含む環境の現在状態を表す状態変数Ｓとして観測する状態観測部１０６と、吐出条件（切削液等の流量、又はポンプ出力など）を示すデータＤ１を含む判定データＤを取得する判定データ取得部１０８と、状態変数Ｓと判定データＤとを用いて、切粉の除去効率と、吐出条件と、を関連付けて学習する学習部１１０とを備える。
【００１９】
状態観測部１０６は、例えばプロセッサ（ＣＰＵ１１）の一機能として構成できる。或いは状態観測部１０６は、例えばプロセッサ（ＣＰＵ１１）を機能させるためのＲＯＭ１２に記憶されたソフトウェアとして構成できる。
【００２０】
状態観測部１０６が観測する状態変数Ｓのうち、切粉の除去効率Ｓ１は、例えば特許文献１の装置を用いて切粉の清掃を行った際に、清掃前の切粉の量と清掃後に残存している切粉の量との比（除去率）、所定の除去率を達成するために要した清掃時間（除去所要時間）、所定の除去率を達成するために要した電力量などのエネルギー（除去所要エネルギー）などを記録することによって取得できる。
【００２１】
また、状態観測部１０６は、切粉の除去効率Ｓ１に加えて、切粉の堆積状況Ｓ２、クーラントガン４のノズルの位置及び向きＳ３、切粉自体の形状Ｓ４などを状態変数Ｓに含めても良い。切粉の堆積状況Ｓ２は、視覚センサ３で得られる切粉の分布面積や、重量センサ（図示しない）で得られる切粉の重量として取得できる。例えば加工空間である機械内部を予め有限のエリア番号に分割しておき、エリア番号ごとに、分布面積や重量に基づき、分布状況をレベル１，レベル２・・・などと複数のレベルで表現することとしても良い。ノズルの位置及び向きＳ３は、特許文献１の装置より、座標及びベクトルとして取得できる。切粉自体の形状Ｓ４は、視覚センサ３により取得可能である。例えば、切粉の大きさや形状タイプ毎にユニークな識別番号を定義しておき、Ｓ４として識別番号を入力することができる。
【００２２】
判定データ取得部１０８は、例えばプロセッサ（ＣＰＵ１１）の一機能として構成できる。或いは判定データ取得部１０８は、例えばプロセッサ（ＣＰＵ１１）を機能させるためのＲＯＭ１２に記憶されたソフトウェアとして構成できる。
【００２３】
判定データ取得部１０８が取得する判定データＤのうち、吐出条件（切削液等の流量、又はポンプ出力など）Ｄ１は、例えば特許文献１の装置を用いて切粉の清掃を行った際に吐出した切削液等の流量、ポンプ出力などを記録することによって取得できる。
【００２４】
また、判定データ取得部１０８は、吐出条件Ｄ１に加えて、ノズルの断面積又は断面形状を示すデータＤ２などを判定データＤに含めても良い。
【００２５】
学習部１１０は、例えばプロセッサ（ＣＰＵ１１）の一機能として構成できる。或いは学習部１１０は、例えばプロセッサ（ＣＰＵ１１）を機能させるためのＲＯＭ１２に記憶されたソフトウェアとして構成できる。学習部１１０は、機械学習と総称される任意の学習アルゴリズムに従い、切粉の除去効率と、吐出条件と、の関連性を学習する。学習部１１０は、前述した状態変数Ｓと判定データＤとを含むデータ集合に基づく学習を反復実行することができる。
【００２６】
このような学習サイクルを繰り返すことにより、学習部１１０は、切粉の除去効率と、吐出条件と、の相関性を暗示する特徴を自動的に識別することができる。学習アルゴリズムの開始時には、切粉の除去効率と、吐出条件と、の相関性は実質的に未知であるが、学習部１１０は、学習を進めるに従い徐々に特徴を識別して相関性を解釈する。切粉の除去効率と、吐出条件と、の相関性が、ある程度信頼できる水準まで解釈されると、学習部１１０が反復出力する学習結果は、現在状態（つまり切粉の除去効率）に対して、吐出条件をどのように決定するかという行動の選択（つまり意思決定）を行うために使用できるものとなる。つまり学習部１１０は、学習アルゴリズムの進行に伴い、切粉の除去効率と、吐出条件をどのように決定するかという行動との、相関性を最適解に徐々に近づけることができる。
【００２７】
上記したように、情報処理装置２１は、状態観測部１０６が観測した状態変数Ｓと判定データ取得部１０８が取得した判定データＤとを用いて、学習部１１０が機械学習アルゴリズムに従い、切粉の除去効率と、吐出条件と、の関連性を学習するものである。状態変数Ｓは、切粉の除去効率という外乱の影響を受け難いデータで構成され、また判定データＤは、吐出条件を取得することにより一義的に求められる。したがって、情報処理装置２１によれば、学習部１１０の学習結果を用いることで、切粉の除去効率に対応する吐出条件を、演算や目算によらずに自動的に、しかも正確に求めることができるようになる。
【００２８】
そして、吐出条件を、演算や目算によらずに自動的に求めることができれば、切粉の除去効率を指定するだけで、それに見合う吐出条件を迅速に決定することができる。したがって、吐出条件の決定を効率よく行うことができる。
【００２９】
上記構成を有する情報処理装置２１では、学習部１１０が実行する学習アルゴリズムは特に限定されず、機械学習として公知の学習アルゴリズムを採用できる。図４は、図３に示す情報処理装置２１の一形態であって、学習アルゴリズムの一例として強化学習を実行する学習部１１０を備えた構成を示す。強化学習は、学習対象が存在する環境の現在状態（つまり入力）を観測するとともに現在状態で所定の行動（つまり出力）を実行し、その行動に対し何らかの報酬を与えるというサイクルを試行錯誤的に反復して、報酬の総計が最大化されるような行動（本願の情報処理装置２１では切粉の除去効率を最大化できるような吐出条件）を最適解として学習する手法である。
【００３０】
図４に示す情報処理装置２１において、学習部１１０は、状態変数Ｓに基づいて吐出条件が決定された場合における切粉の除去効率の適否判定結果に関連する報酬Ｒを求める報酬計算部１１２と、報酬Ｒを用いて、吐出条件の価値を表す関数Ｑを更新する価値関数更新部１１４とを備える。学習部１１０は、価値関数更新部１１４が関数Ｑの更新を繰り返すことによって切粉の除去効率に対応する吐出条件を学習する。
【００３１】
学習部１１０が実行する強化学習のアルゴリズムの一例を説明する。この例によるアルゴリズムは、Ｑ学習（Ｑ−ｌｅａｒｎｉｎｇ）として知られるものであって、行動主体の状態ｓと、その状態ｓで行動主体が選択し得る行動ａとを独立変数として、状態ｓで行動ａを選択した場合の行動の価値を表す関数Ｑ（ｓ，ａ）を学習する手法である。状態ｓで価値関数Ｑが最も高くなる行動ａを選択することが最適解となる。状態ｓと行動ａとの相関性が未知の状態でＱ学習を開始し、任意の状態ｓで種々の行動ａを選択する試行錯誤を繰り返すことで、価値関数Ｑを反復して更新し、最適解に近付ける。ここで、状態ｓで行動ａを選択した結果として環境（つまり状態ｓ）が変化したときに、その変化に応じた報酬（つまり行動ａの重み付け）ｒが得られるように構成し、より高い報酬ｒが得られる行動ａを選択するように学習を誘導することで、価値関数Ｑを比較的短時間で最適解に近付けることができる。
【００３２】
価値関数Ｑの更新式は、一般に下記の数１式のように表すことができる。数１式において、ｓｔ及びａｔはそれぞれ時刻ｔにおける状態及び行動であり、行動ａｔにより状態はｓｔ＋１に変化する。ｒｔ＋１は、状態がｓｔからｓｔ＋１に変化したことで得られる報酬である。ｍａｘＱの項は、時刻ｔ＋１で最大の価値Ｑになる（と時刻ｔで考えられている）行動ａを行ったときのＱを意味する。α及びγはそれぞれ学習係数及び割引率であり、０＜α≦１、０＜γ≦１で任意設定される。
【００３３】
【数１】
2019111637.tif 000003
【００３４】
学習部１１０がＱ学習を実行する場合、状態観測部１０６が観測した状態変数Ｓ及び判定データ取得部１０８が取得した判定データＤは、更新式の状態ｓに該当し、吐出条件をどのように決定するべきかという行動は、更新式の行動ａに該当し、報酬計算部１１２が求める報酬Ｒは、更新式の報酬ｒに該当する。よって価値関数更新部１１４は、吐出条件の価値を表す関数Ｑを、報酬Ｒを用いたＱ学習により繰り返し更新する。
【００３５】
報酬計算部１１２が求める報酬Ｒは、例えば、吐出条件を決定した後に決定した吐出条件に基づいて切粉の除去を行ったときに、切粉の除去効率が「適」と判定される場合（例えば、除去率が高くなる場合、除去所要時間、除去所要エネルギーが低くなる場合など）に正（プラス）の報酬Ｒとし、切粉の除去効率が「否」と判定される場合（例えば、除去率が低くなる場合、除去所要時間、除去所要エネルギーが高くなる場合など）に負（マイナス）の報酬Ｒとすることができる。正負の報酬Ｒの絶対値は、互いに同一であってもよいし異なっていてもよい。また、判定の条件として、判定データＤに含まれる複数の値を組み合わせて判定するようにしても良い。
【００３６】
価値関数更新部１１４は、状態変数Ｓと判定データＤと報酬Ｒとを、関数Ｑで表される行動価値（例えば数値）と関連付けて整理した行動価値テーブルを持つことができる。この場合、価値関数更新部１１４が関数Ｑを更新するという行為は、価値関数更新部１１４が行動価値テーブルを更新するという行為と同義である。Ｑ学習の開始時には環境の現在状態と吐出条件との相関性は未知であるから、行動価値テーブルにおいては、種々の状態変数Ｓと判定データＤと報酬Ｒとが、無作為に定めた行動価値の値（関数Ｑ）と関連付けた形態で用意されている。なお報酬計算部１１２は、判定データＤが分かればこれ対応する報酬Ｒを直ちに算出でき、算出した値Ｒが行動価値テーブルに書き込まれる。
【００３７】
行動に対して与えられる報酬Ｒを用いてＱ学習を進めると、より高い報酬Ｒが得られる行動を選択する方向へ学習が誘導され、選択した行動を現在状態で実行した結果として変化する環境の状態（つまり状態変数Ｓ及び判定データＤ）に応じて、現在状態で行う行動についての行動価値の値（関数Ｑ）が書き換えられて行動価値テーブルが更新される。この更新を繰り返すことにより、行動価値テーブルに表示される行動価値の値（関数Ｑ）は、適正な行動ほど大きな値となるように書き換えられる。このようにして、未知であった環境の現在状態（切粉の除去効率）とそれに対する行動（吐出条件）との相関性が徐々に明らかになる。つまり行動価値テーブルの更新により、切粉の除去効率と、吐出条件と、の関係が最適解に徐々に近づけられる。
【００３８】
図５を参照して、学習部１１０が実行する上記したＱ学習のフロー（つまり機械学習方法の一形態）をさらに説明する。まずステップＳＡ０１で、価値関数更新部１１４は、その時点での行動価値テーブルを参照しながら、状態観測部１０６が観測した状態変数Ｓが示す現在状態で行う行動として吐出条件を無作為に選択する。次に価値関数更新部１１４は、ステップＳＡ０２で、状態観測部１０６が観測している現在状態の状態変数Ｓを取り込み、ステップＳＡ０３で、判定データ取得部１０８が取得している現在状態の判定データＤを取り込む。次に価値関数更新部１１４は、ステップＳＡ０４で、判定データＤに基づき、吐出条件が適当であったか否かを判断し、適当であった場合、ステップＳＡ０５で、報酬計算部１１２が求めた正の報酬Ｒを関数Ｑの更新式に適用し、次いでステップＳＡ０６で、現在状態における状態変数Ｓ及び判定データＤと報酬Ｒと行動価値の値（更新後の関数Ｑ）とを用いて行動価値テーブルを更新する。ステップＳＡ０４で、吐出条件が適当でなかったと判断した場合、ステップＳＡ０７で、報酬計算部１１２が求めた負の報酬Ｒを関数Ｑの更新式に適用し、次いでステップＳＡ０６で、現在状態における状態変数Ｓ及び判定データＤと報酬Ｒと行動価値の値（更新後の関数Ｑ）とを用いて行動価値テーブルを更新する。学習部１１０は、ステップＳＡ０１〜ＳＡ０７を繰り返すことで行動価値テーブルを反復して更新し、吐出条件の学習を進行させる。なお、ステップＳＡ０４からステップＳＡ０７までの報酬Ｒを求める処理及び価値関数の更新処理は、判定データＤに含まれるそれぞれのデータについて実行される。
【００３９】
図６は、図３に示す情報処理装置２１の他の形態であって、学習アルゴリズムの他の例として教師あり学習を実行する学習部１１０を備えた構成を示す。教師あり学習は、入力と出力との関係が未知の状態で学習を開始する前述した強化学習と異なり、入力とそれに対応する出力との既知のデータセット（教師データと称する）が予め大量に与えられ、それら教師データから入力と出力との相関性を暗示する特徴を識別することで、新たな入力に対する所要の出力を推定するための相関性モデル（本願の情報処理装置２１では切粉の除去効率と吐出条件との対応関係）を学習する手法である。
【００４０】
図６に示す情報処理装置２１において、学習部１１０は、状態変数Ｓ及び判定データＤから切粉の除去効率に対応する吐出条件を導く相関性モデルＭと予め用意された教師データＴから識別される相関性特徴との誤差Ｅを計算する誤差計算部１１６と、誤差Ｅを縮小するように相関性モデルＭを更新するモデル更新部１１８とを備える。学習部１１０は、モデル更新部１１８が相関性モデルＭの更新を繰り返すことによって切粉の除去効率と吐出条件との対応関係を学習する。
【００４１】
相関性モデルＭの初期値は、例えば、切粉の除去効率と吐出条件との相関性を単純化して（例えば一次関数で）表現したものであり、教師あり学習の開始前に学習部１１０に与えられる。教師データＴは、例えば、過去の切粉の除去作業において取得された実績値（切粉の除去効率と、吐出条件と、の既知のデータセット）によって構成でき、教師あり学習の開始前に学習部１１０に与えられる。誤差計算部１１６は、学習部１１０に与えられた大量の教師データＴから切粉の除去効率と、吐出条件と、の相関性を暗示する相関性特徴を識別し、この相関性特徴と、現在状態における状態変数Ｓ及び判定データＤに対応する相関性モデルＭとの誤差Ｅを求める。モデル更新部１１８は、例えば予め定めた更新ルールに従い、誤差Ｅが小さくなる方向へ相関性モデルＭを更新する。
【００４２】
次の学習サイクルでは、誤差計算部１１６は、更新後の相関性モデルＭに従って切粉の除去を試行することにより変化した状態変数Ｓ及び判定データＤを用いて、それら変化した状態変数Ｓ及び判定データＤに対応する相関性モデルＭに関し誤差Ｅを求め、モデル更新部１１８が再び相関性モデルＭを更新する。このようにして、未知であった環境の現在状態（切粉の除去効率）とそれに対する行動（吐出条件の決定）との相関性が徐々に明らかになる。つまり相関性モデルＭの更新により、切粉の除去効率と、吐出条件と、の関係が、最適解に徐々に近づけられる。
【００４３】
なお、情報処理装置２１では、学習の初期段階は学習部１１０が教師あり学習を実行し、学習がある程度進行した段階で、教師あり学習で得た切粉の除去効率に対応する吐出条件を初期値として学習部１１０が強化学習を実行するように構成することもできる。強化学習における初期値がある程度の信頼性を有しているので、比較的迅速に最適解に到達することができる。
【００４４】
前述した強化学習や教師あり学習を進める際に、例えばＱ学習の代わりに、ニューラルネットワークを用いることができる。図７Ａは、ニューロンのモデルを模式的に示す。図７Ｂは、図７Ａに示すニューロンを組み合わせて構成した三層のニューラルネットワークのモデルを模式的に示す。ニューラルネットワークは、例えば、ニューロンのモデルを模した演算装置や記憶装置等によって構成できる。
【００４５】
図７Ａに示すニューロンは、複数の入力ｘ（ここでは一例として、入力ｘ１〜入力ｘ３）に対する結果ｙを出力するものである。各入力ｘ１〜ｘ３には、この入力ｘに対応する重みｗ（ｗ１〜ｗ３）が掛けられる。これにより、ニューロンは、次の数２式により表現される出力ｙを出力する。なお、数２式において、入力ｘ、出力ｙ及び重みｗは、すべてベクトルである。また、θはバイアスであり、ｆｋは活性化関数である。
【００４６】
【数２】
2019111637.tif 000004
【００４７】
図７Ｂに示す三層のニューラルネットワークは、左側から複数の入力ｘ（ここでは一例として、入力ｘ１〜入力ｘ３）が入力され、右側から結果ｙ（ここでは一例として、結果ｙ１〜結果ｙ３）が出力される。図示の例では、入力ｘ１、ｘ２、ｘ３のそれぞれに対応の重み（総称してｗ１で表す）が乗算されて、個々の入力ｘ１、ｘ２、ｘ３がいずれも３つのニューロンＮ１１、Ｎ１２、Ｎ１３に入力されている。
【００４８】
図７Ｂでは、ニューロンＮ１１〜Ｎ１３の各々の出力を、総称してｚ１で表す。ｚ１は、入カベクトルの特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルｚ１のそれぞれに対応の重み（総称してｗ２で表す）が乗算されて、個々の特徴ベクトルｚ１がいずれも２つのニューロンＮ２１、Ｎ２２に入力されている。特徴ベクトルｚ１は、重みＷ１と重みＷ２との間の特徴を表す。
【００４９】
図７Ｂでは、ニューロンＮ２１〜Ｎ２２の各々の出力を、総称してｚ２で表す。ｚ２は、特徴ベクトルｚ１の特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルｚ２のそれぞれに対応の重み（総称してｗ３で表す）が乗算されて、個々の特徴ベクトルｚ２がいずれも３つのニューロンＮ３１、Ｎ３２、Ｎ３３に入力されている。特徴ベクトルｚ２は、重みＷ２と重みＷ３との間の特徴を表す。最後にニューロンＮ３１〜Ｎ３３は、それぞれ結果ｙ１〜ｙ３を出力する。
なお、三層以上の層を為すニューラルネットワークを用いた、いわゆるディープラーニングの手法を用いることも可能である。
【００５０】
情報処理装置２１においては、状態変数Ｓと判定データＤとを入力ｘとして、学習部１１０が上記したニューラルネットワークに従う多層構造の演算を行うことで、吐出条件（結果ｙ）を出力することができる。また、情報処理装置２１においては、ニューラルネットワークを強化学習における価値関数として用い、状態変数Ｓと行動ａとを入力ｘとして、学習部１１０が上記したニューラルネットワークに従う多層構造の演算を行うことで、当該状態における当該行動の価値（結果ｙ）を出力することもできる。なお、ニューラルネットワークの動作モードには、学習モードと価値予測モードとがあり、例えば学習モードで学習データセットを用いて重みｗを学習し、学習した重みｗを用いて価値予測モードで行動の価値判断を行うことができる。なお価値予測モードでは、検出、分類、推論等を行うこともできる。
【００５１】
上記した情報処理装置２１の構成は、プロセッサ（ＣＰＵ１１）が実行する機械学習方法（或いはソフトウェア）として記述できる。この機械学習方法は、吐出条件を学習する機械学習方法であって、コンピュータのＣＰＵが、切粉の除去効率Ｓ１を、ロボットの制御を行う環境の現在状態を表す状態変数Ｓとして観測するステップと、調整された吐出条件に従った切粉の除去効率の適否判定結果を示す判定データＤを取得するステップと、状態変数Ｓと判定データＤとを用いて、切粉の除去効率と、吐出条件と、を関連付けて学習するステップとを有する。
【００５２】
図８は、第２の実施形態による情報処理装置２１を示す。情報処理装置２１は、状態データ取得部１３０から、状態観測部１０６が観測する状態変数Ｓの切粉の除去効率Ｓ１などを状態データＳ０として取得する。状態データ取得部１３０は、工作機械１の各部や、ロボット２が備える各種センサ、作業者による適宜のデータ入力等から、状態データＳ０を取得することができる。
【００５３】
情報処理装置２１は、吐出条件を機械学習により自ら学習するためのソフトウェア（学習アルゴリズム等）及びハードウェア（プロセッサ（ＣＰＵ１１）等）に加えて、学習結果に基づいて求めた吐出条件をロボット２への指令として出力するためのソフトウェア（演算アルゴリズム等）及びハードウェア（プロセッサ（ＣＰＵ１１）等）を含むものである。
【００５４】
意思決定部１２２は、例えばプロセッサ（ＣＰＵ１１）の一機能として構成できる。或いは意思決定部１２２は、例えばプロセッサ（ＣＰＵ１１）を機能させるためのＲＯＭ１２に記憶されたソフトウェアとして構成できる。意思決定部１２２は、学習部１１０が学習した結果に基づいて、切粉の除去効率に対する、吐出条件を決定する指令を含む指令値Ｃを生成し、生成した指令値Ｃとして出力する。意思決定部１２２が指令値Ｃをロボット２に対して出力した場合、これに応じて、環境の状態が変化する。
【００５５】
状態観測部１０６は、意思決定部１２２による環境への指令値Ｃを出力した後に変化した状態変数Ｓを次の学習周期において観測する。学習部１１０は、変化した状態変数Ｓを用いて、例えば価値関数Ｑ（すなわち行動価値テーブル）を更新することで、吐出条件を学習する（強化学習の場合）。
【００５６】
意思決定部１２２は、学習結果に基づいて求めた吐出条件を指令する指令値Ｃをロボット２へと出力する。この学習周期を繰り返すことにより、情報処理装置２１は吐出条件の学習を進め、その信頼性を徐々に向上させる。
【００５７】
上記構成を有する情報処理装置２１は、実施の形態１の情報処理装置２１と同等の効果を奏する。特に実施の形態２の情報処理装置２１は、意思決定部１２２の出力によって環境の状態を変化させることができる。他方、実施の形態１の情報処理装置２１では、学習部１１０の学習結果を環境に反映させるための意思決定部に相当する機能を、外部装置に求めることができる。
【００５８】
図９は、切粉除去装置１６０を複数備えた切粉除去システム１７０を示す。切粉除去システム１７０は、少なくとも同一の作業を行う複数の切粉除去装置１６０、１６０’と、それら切粉除去装置１６０、１６０’を互いに接続する有線／無線のネットワーク１７２とを備え、複数の切粉除去装置１６０のうち少なくとも１つが、上記した情報処理装置２１を備える切粉除去装置１６０として構成される。また切粉除去システム１７０は、情報処理装置２１を備えない切粉除去装置１６０’を含むことができる。切粉除去装置１６０、１６０’は、同じ目的の作業に必要とされる機構を有する。
【００５９】
上記構成を有する切粉除去システム１７０は、複数の切粉除去装置１６０、１６０’のうちで情報処理装置２１を備える切粉除去装置１６０が、学習部１１０の学習結果を用いて、所望の切粉の除去効率に対応する吐出条件を、演算や目算によらずに自動的に、しかも正確に求めることができる。また、少なくとも１つの切粉除去装置１６０の情報処理装置２１が、他の複数の切粉除去装置１６０、１６０’のそれぞれについて得られた状態変数Ｓ及び判定データＤに基づき、全ての切粉除去装置１６０、１６０’に共通する吐出条件を学習し、その学習結果を全ての切粉除去装置１６０、１６０’が共有するように構成できる。したがって切粉除去システム１７０によれば、より多様なデータ集合（状態変数Ｓ及び判定データＤを含む）を入力として、吐出条件の学習の速度や信頼性を向上させることができる。
【００６０】
図１０は、切粉除去装置１６０’を備えた他の実施形態による切粉除去システム１７０’を示す。切粉除去システム１７０’は、情報処理装置２１と、同一の機械構成を有する複数の切粉除去装置１６０’と、それら切粉除去装置１６０’と情報処理装置２１とを互いに接続する有線／無線のネットワーク１７２とを備える。
【００６１】
上記構成を有する切粉除去システム１７０’は、情報処理装置２１が、複数の切粉除去装置１６０’のそれぞれについて得られた状態変数Ｓ及び判定データＤに基づき、全ての切粉除去装置１６０’に共通する切粉の除去効率に対する吐出条件を学習し、その学習結果を用いて、切粉の除去効率に対する吐出条件を、演算や目算によらずに自動的に、しかも正確に求めることができる。
【００６２】
切粉除去システム１７０’は、情報処理装置２１が、ネットワーク１７２に用意されたクラウドサーバ等に存在する構成を有することができる。この構成によれば、複数の切粉除去装置１６０’のそれぞれが存在する場所や時期に関わらず、必要なときに必要な数の切粉除去装置１６０’を情報処理装置２１に接続することができる。
【００６３】
切粉除去システム１７０、１７０’に従事する作業者は、情報処理装置２１による学習開始後の適当な時期に、情報処理装置２１による吐出条件の学習の到達度（吐出量の信頼性）が要求レベルに達したか否かの判断を実行することができる。
【００６４】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【００６５】
例えば、情報処理装置２１が実行する学習アルゴリズム、演算アルゴリズム、制御アルゴリズム等は、上述したものに限定されず、様々なアルゴリズムを採用できる。
【００６６】
また、例えば、情報処理装置２１は、状態変数Ｓとして、どのエリアからどの順番で掃除していくかという情報も入力、出力できるようにすることとしても良い。例えば工作機械内の加工空間を有限のエリア（マス）に分割する。そして各マスごとに、上述の状態変数Ｓ１，Ｓ２，・・・、ラベル、及び掃除順序を示す序数（全９マスであれば１乃至９のいずれか）を学習器に入力する。これにより、例えば所望の切粉の除去効率を実現するための掃除順序を学習させることが可能である。
【符号の説明】
【００６７】
１  工作機械
２  ロボット
２０  制御装置
２１  情報処理装置
３  視覚センサ
４  クーラントガン
５  ベッド
７  スプラッシュガード
８ａ，８ｂ  開閉扉
１０  工具交換装置
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  不揮発性メモリ
１８  インタフェース
１９  バス
６０  入出力装置
１０６  状態観測部
１０８  判定データ取得部
１１０  学習部
１１２  報酬計算部
１１４  価値関数更新部
１１６  誤差計算部
１１８  モデル更新部
１２０  機械学習装置
１２２  意思決定部
１３０  状態データ取得部
１６０，１６０’  切粉除去装置
１７０，１７０’  切粉除去システム
１７２  ネットワーク
【図１】
2019111637.tif 000005
【図２】
2019111637.tif 000006
【図３】
2019111637.tif 000007
【図４】
2019111637.tif 000008
【図５】
2019111637.tif 000009
【図６】
2019111637.tif 000010
【図７Ａ】
2019111637.tif 000011
【図７Ｂ】
2019111637.tif 000012
【図８】
2019111637.tif 000013
【図９】
2019111637.tif 000014
【図１０】
2019111637.tif 000015