(57)【特許請求の範囲】
【請求項１】
少なくとも１つの電動機が軸を駆動して工作物を加工する加工機械と、
加工プログラムに基づき、前記加工機械の軸を駆動するための指令を生成する数値制御装置と、
前記数値制御装置の内部情報を取得する内部情報取得部と、
前記内部情報取得部により取得された前記内部情報としきい値との比較結果に基づいて、前記加工機械が加工した工作物の良否を判定する仮判定部と、
前記仮判定部により良否判定された工作物を少なくとも含んだ精度検査対象の工作物について、当該工作物の精度に関する実測結果に基づいて良否を判定する最終判定部と、
前記仮判定部による判定結果および前記最終判定部による判定結果に基づいて、前記仮判定部による判定処理に用いられるしきい値を更新するしきい値更新部と、
を備え、
前記しきい値更新部は、
前記仮判定部により良と判定されかつ前記精度検査対象の工作物の全てについて前記最終判定部により良と判定された場合、既に設定されていたしきい値に、１より小さくかつ０より大きい第１の係数を乗算して得られる値を、新しいしきい値として設定し、
前記仮判定部により良と判定されかつ前記精度検査対象の工作物の中に前記最終判定部により否と判定されたものが含まれていた場合、既に設定されていたしきい値に、前記第１の係数より小さくかつ０より大きい第２の係数を乗算して得られる値を、新しいしきい値として設定し、
前記仮判定部により否と判定されかつ前記精度検査対象の工作物の中に前記最終判定部により良と判定されたものが含まれていた場合、既に設定されていたしきい値に、１より大きい第３の係数を乗算して得られる値を、新しいしきい値として設定し、
前記仮判定部により否と判定されかつ前記精度検査対象の工作物の全てについて前記最終判定部により否と判定された場合、既に設定されていたしきい値を維持する、加工機械システム。
【請求項２】
前記加工機械が加工した工作物の、少なくとも加工形状もしくは加工面についての精度を実測する測定器をさらに備える、請求項１に記載の加工機械システム。
【請求項３】
各組が前記加工機械と該加工機械に対応して設けられた前記数値制御装置とで構成される複数組の製造セルと、少なくとも１つの前記測定器と、の間で相互に通信可能に接続する通信ネットワークと、
前記通信ネットワークと通信可能に接続され、各前記製造セルの動作を制御するセルコントローラと、
をさらに備え、
前記内部情報取得部、前記仮判定部、前記最終判定部、および前記しきい値更新部は、前記セルコントローラ内に設けられる、請求項２に記載の加工機械システム。
【請求項４】
複数の前記セルコントローラと通信可能に接続され、各前記セルコントローラにおいて取得された前記仮判定部による判定結果に関する情報、各前記セルコントローラにおいて取得された前記最終判定部による判定結果に関する情報、および、前記測定器により取得された前記加工機械が加工した工作物の精度に関する実測結果、を記録して管理するホストコントローラをさらに備える、請求項３に記載の加工機械システム。
【請求項５】
前記加工機械は、回転軸および直線軸を前記電動機により駆動して工作物を加工する機械であり、
前記内部情報は、前記直線軸に対する位置指令と前記直線軸についての測定位置との差分である位置偏差に関する情報を含む、請求項１〜４のいずれか一項に記載の加工機械システム。
【請求項６】
前記加工機械は、複数の回転軸および複数の直線軸を前記電動機により駆動して工作物を加工する機械であり、
前記内部情報は、前記回転軸および前記直線軸に設けられた工具に対する前記加工プログラムに基づく位置指令と前記工具の位置についての測定位置との差分である工具に関する位置偏差に関する情報を含む、請求項１〜４のいずれか一項に記載の加工機械システム。
【請求項７】
前記加工機械が加工する工作物の加工対象領域ごとに、前記仮判定部による判定処理に用いられるしきい値が設定される、請求項１〜６のいずれか一項に記載の加工機械システム。
【請求項８】
前記内部情報は、前記数値制御装置が生成する加速度の次元を有する指令をハイパスフィルタに通すことにより抽出される高周波成分を、２階積分して得られるデータを含む、請求項１〜７のいずれか一項に記載の加工機械システム。
【請求項９】
前記内部情報は、前記加工機械に取り付けたセンサにより取得された情報と加工位置もしくは加工時刻とで紐付けされたデータを含む、請求項１〜８のいずれか一項に記載の加工機械システム。
【請求項１０】
前記内部情報取得部により取得された内部情報、前記加工機械が加工した工作物の精度に関する実測結果、前記仮判定部による判定結果に関する情報、および前記最終判定部による判定結果に関する情報、を含んで構成される状態変数を観測する状態観測部と、
前記状態変数に基づいて作成される訓練データセットに従って、前記内部情報取得部が取得すべき内部情報を学習する学習部と、
を有する機械学習器をさらに備える、請求項１〜９のいずれか一項に記載の加工機械システム。
【請求項１１】
前記状態観測部が観測する前記状態変数として、前記しきい値更新部によって設定されたしきい値、および前記加工プログラムをさらに含む、請求項１０に記載の加工機械システム。
【請求項１２】
前記学習部が前記訓練データセットに従って学習した結果に基づいて、現在の前記状態変数の入力に応答して、前記内部情報取得部が取得すべき内部情報を決定する意思決定部をさらに備える、請求項１０または１１に記載の加工機械システム。
【請求項１３】
前記学習部は、
前記仮判定部による判定結果に関する情報と前記最終判定部による判定結果に関する情報とに基づいて報酬を計算する報酬計算部と、
前記状態変数および前記報酬に基づいて、前記内部情報取得部が取得すべき内部情報を選択するための関数を更新する関数更新部と、
を備える請求項１０〜１２のいずれか一項に記載の加工機械システム。
【請求項１４】
前記報酬計算部は、
前記仮判定部により良と判定されかつ前記精度検査対象の工作物の全てについて前記最終判定部により良と判定された場合、および、前記仮判定部により否と判定されかつ前記精度検査対象の工作物の全てについて前記最終判定部により否と判定された場合は、報酬を増やし、
前記仮判定部により良と判定されかつ前記精度検査対象の工作物の中に前記最終判定部により否と判定されたものが含まれていた場合、および、前記仮判定部により否と判定されかつ前記精度検査対象の工作物の中に前記最終判定部により良と判定されたものが含まれていた場合は、報酬を減らす、請求項１３に記載の加工機械システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作物の良否を判定する加工機械システムに関する。
【背景技術】
【０００２】
製造工場においては、工作機械、射出成形機、もしくはアーク溶接などのロボットといったような加工機械により、工作物（ワーク）の加工や溶接などの作業が行われている。また、工作物を加工するために、複数の加工機械によって製造ライン、例えば製造セルが構築されている。この場合、製造セルを構築している各工作機械は、通信ネットワークを介してセルコントローラにより制御されている。セルコントローラは、さらに上位にあるマスタコントローラによって管理されている。
【０００３】
このような加工機械システムにおいては、加工機械によって加工された工作物の良否判定は、工作物の全数に対する検査あるいは抜き取り検査によって行われる。
【０００４】
例えば、半導体デバイスの製造システムにおいて、装置ログ情報の履歴データから複数の異常判定しきい値を作成し、ウェハ加工処理の異常判定を行うものが知られている（例えば、特許文献１参照。）。
【０００５】
また例えば、ワーク加工装置において、作業工程についてサンプリング箇所を設定し、その箇所毎の信号の標準偏差により、作業工程の異常の有無を監視する方法が知られている（例えば、特許文献２参照。）。
【０００６】
また例えば、射出成形機の成形品品質に影響を与える圧力、速度、時間等の物理量を測定し、上限値および下限値を設定して成形品の良否判定を行う要否判別装置が知られている（例えば、特許文献３参照。）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−１４６４５９号公報
【特許文献２】特開２００２−３４１９０９号公報
【特許文献３】特開２０１０−７６１７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
加工機械によって加工された工作物の良否判定を工作物の全個数について行えば検査精度が高くはなるが、多くの工数がかかり、効率が悪い。一方で、全数検査ではなく抜き取り検査を行えば、良否判定対象の工作物の個数を削減することはできるが、不良品を取りこぼしてしまう可能性がある。
【０００９】
従って本発明の目的は、上記問題に鑑み、精度検査対象の工作物の個数を削減しつつ不良品の取りこぼしを防止することができる加工機械システムを提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を実現するために、本発明においては、加工機械システムは、少なくとも１つの電動機が軸を駆動して工作物を加工する加工機械と、加工プログラムに基づき、加工機械の軸を駆動するための指令を生成する数値制御装置と、数値制御装置の内部情報を取得する内部情報取得部と、内部情報取得部により取得された内部情報としきい値との比較結果に基づいて、加工機械が加工した工作物の良否を判定する仮判定部と、仮判定部により良否判定された工作物を少なくとも含んだ精度検査対象の工作物について、当該工作物の精度に関する実測結果に基づいて良否を判定する最終判定部と、仮判定部による判定結果および最終判定部による判定結果に基づいて、仮判定部による判定処理に用いられるしきい値を更新するしきい値更新部と、を備える。
【００１１】
ここで、加工機械システムは、加工機械が加工した工作物の、少なくとも加工形状もしくは加工面についての精度を実測する測定器をさらに備えてもよい。
【００１２】
また、加工機械システムは、各組が加工機械と該加工機械に対応して設けられた数値制御装置とで構成される複数組の製造セルと、少なくとも１つの測定器と、の間で相互に通信可能に接続する通信ネットワークと、通信ネットワークと通信可能に接続され、各製造セルの動作を制御するセルコントローラと、をさらに備え、内部情報取得部、仮判定部、最終判定部、およびしきい値更新部は、セルコントローラ内に設けられてもよい。
【００１３】
また、加工機械システムは、複数のセルコントローラと通信可能に接続され、各セルコントローラにおいて取得された仮判定部による判定結果に関する情報、各セルコントローラにおいて取得された最終判定部による判定結果に関する情報、および、測定器により取得された加工機械が加工した工作物の精度に関する実測結果、を記録して管理するホストコントローラをさらに備えてもよい。
【００１４】
また、しきい値更新部は、仮判定部により良と判定されかつ精度検査対象の工作物の全てについて最終判定部により良と判定された場合、既に設定されていたしきい値に、１より小さくかつ０より大きい第１の係数を乗算して得られる値を、新しいしきい値として設定し、仮判定部により良と判定されかつ精度検査対象の工作物の中に最終判定部により否と判定されたものが含まれていた場合、既に設定されていたしきい値に、第１の係数より小さくかつ０より大きい第２の係数を乗算して得られる値を、新しいしきい値として設定し、仮判定部により否と判定されかつ精度検査対象の工作物の中に最終判定部により良と判定されたものが含まれていた場合、既に設定されていたしきい値に、１より大きい第３の係数を乗算して得られる値を、新しいしきい値として設定し、仮判定部により否と判定されかつ精度検査対象の工作物の全てについて最終判定部により否と判定された場合、既に設定されていたしきい値を維持するようにしてもよい。
【００１５】
加工機械は、回転軸（Ｃ軸）および直線軸（Ｘ軸）を電動機により駆動して工作物を加工する機械であってもよく、内部情報は、直線軸に対する位置指令と直線軸についての測定位置との差分である位置偏差に関する情報を含んでもよい。
【００１６】
加工機械は、複数の回転軸および複数の直線軸を電動機により駆動して工作物を加工する機械であってもよく、内部情報は、回転軸および直線軸に設けられた工具に対する加工プログラムに基づく位置指令と工具の位置についての測定位置との差分である工具に関する位置偏差に関する情報を含んでもよい。
【００１７】
また、加工機械が加工する工作物の加工対象領域ごとに、仮判定部による判定処理に用いられるしきい値が設定されてもよい。
【００１８】
また、内部情報は、数値制御装置が生成する加速度の次元を有する指令をハイパスフィルタに通すことにより抽出される高周波成分を、２階積分して得られるデータを含んでもよい。
【００１９】
また、内部情報は、加工機械に取り付けたセンサにより取得された情報と加工位置もしくは加工時刻とで紐付けされたデータを含んでもよい。
【００２０】
また、加工機械システムは、内部情報取得部により取得された内部情報、加工機械が加工した工作物の精度に関する実測結果、仮判定部による判定結果に関する情報、および最終判定部による判定結果に関する情報、を含んで構成される状態変数を観測する状態観測部と、状態変数に基づいて作成される訓練データセットに従って、内部情報取得部が取得すべき内部情報を学習する学習部と、を有する機械学習器をさらに備えてもよい。
【００２１】
ここで、状態観測部が観測する状態変数として、しきい値更新部によって設定されたしきい値、および加工プログラムをさらに含んでもよい。
【００２２】
また、加工機械システムは、学習部が訓練データセットに従って学習した結果に基づいて、現在の状態変数の入力に応答して、内部情報取得部が取得すべき内部情報を決定する意思決定部をさらに備えてもよい。
【００２３】
また、学習部は、仮判定部による判定結果に関する情報と最終判定部による判定結果に関する情報とに基づいて報酬を計算する報酬計算部と、状態変数および報酬に基づいて、内部情報取得部が取得すべき内部情報を選択するための関数を更新する関数更新部と、を備えてもよい。
【００２４】
また、報酬計算部は、仮判定部により良と判定されかつ精度検査対象の工作物の全てについて最終判定部により良と判定された場合、および、仮判定部により否と判定されかつ精度検査対象の工作物の全てについて最終判定部により否と判定された場合は、報酬を増やし、仮判定部により良と判定されかつ精度検査対象の工作物の中に最終判定部により否と判定されたものが含まれていた場合、および、仮判定部により否と判定されかつ精度検査対象の工作物の中に最終判定部により良と判定されたものが含まれていた場合は、報酬を減らすようにしてもよい。
【発明の効果】
【００２５】
本発明によれば、精度検査対象の工作物の個数を削減しつつ不良品の取りこぼしを防止することができる加工機械システムを実現することができる。
【図面の簡単な説明】
【００２６】
【図１】本発明の第１の実施形態による加工機械システムの原理ブロック図である。
【図２】数値制御装置内の軸制御部および数値制御装置に接続される加工機械の構成を示すブロック図である。
【図３】本発明の第１の実施形態による加工機械システムの動作フローを示すフローチャートである。
【図４】図３に示した仮判定部による判定処理、最終判定部による判定処理、およびしきい値更新部によるしきい値の更新処理の動作フローを示すフローチャートである。
【図５】本発明の第２の実施形態による加工機械システムの原理ブロック図である。
【図６】本発明の第３の実施形態による加工機械システムの原理ブロック図（その１）である。
【図７】本発明の第３の実施形態による加工機械システムの原理ブロック図（その２）である。
【図８】本発明の第４の実施形態による加工機械システムの原理ブロック図である。
【図９】本発明の第４の実施形態による、強化学習を適用した機械学習器を備える加工機械システムの機械学習に係る動作フローを示すフローチャートである。
【図１０】ニューロンのモデルを示す模式図である。
【発明を実施するための形態】
【００２７】
図１は、本発明の第１の実施形態による加工機械システムの原理ブロック図である。また、図２は、数値制御装置内の軸制御部および数値制御装置に接続される加工機械の構成を示すブロック図である。以降、異なる図面において同じ参照符号が付されたものは同じ機能を有する構成要素であることを意味するものとする。理解を容易にするために、これらの図面は縮尺を適宜変更している。また、図面に示される形態は本発明を実施するための一つの例であり、本発明は図示された形態に限定されるものではない。
【００２８】
本発明の第１の実施形態による加工機械システム１は、加工機械１１と、数値制御装置１２と、内部情報取得部１３と、仮判定部１４と、最終判定部１５と、しきい値更新部１６と、を備える。また、加工機械システム１は、加工機械１１が加工した工作物の、少なくとも加工形状もしくは加工面についての精度を実測する測定器１７をさらに備える。本実施形態では、仮判定部１４において、数値制御装置１２の内部情報としきい値更新部１６によって設定されたしきい値との比較結果に基づいて、加工機械１１が加工した工作物の良否の判定を暫定的に行い、最終判定部１５において、仮判定部１４により否と判定された工作物を少なくとも含んだ精度検査対象の工作物について、当該工作物の精度に関する実測結果に基づいて最終的な良否判定を行うことで、精度検査対象の工作物の個数を削減しつつ不良品の検出取りこぼしを防止する。
【００２９】
加工機械１１は、電動機２１が軸（駆動体）２２を駆動して工作物（ワーク）を加工するものである。加工機械１１の例としては、ＮＣ工作機械、射出成形機、アーク溶接などの産業用ロボット、ＰＬＣ、搬送機、計測器、試験装置、プレス機、圧入器、印刷機、ダイカストマシン、食品機械、包装機、溶接機、洗浄機、塗装機、組立装置、実装機、木工機械、シーリング装置、または切断機などがあるが、加工機械１１の種類自体は本発明を特に限定するものではない。
【００３０】
加工機械１１において、用途に応じて工具や工作物（ワーク）などが装着される軸（駆動体）２２は、少なくとも１個設けられる。例えば、加工機械１１が旋盤である場合は直線軸および回転軸が組み合わされて設けられ、加工機械１１がマシニングセンタである場合は軸２２として複数の直線軸および複数の回転軸が組み合わされた形で設けられる。なお、図示の例では、一例として軸２２を３個としたが、軸２２の個数自体は本発明を限定するものではない。一般に１個の軸２２に対応して、１個の電動機２１および１個のアンプ２３が設けられる。
【００３１】
加工機械１１内の電動機２１は、工具や工作物（ワーク）などが装着された軸（駆動体）２２の駆動源として用いられ、電動機２１と軸２２との間の動力伝達機構に応じて軸２２を直線駆動もしくは回転駆動する。なお、電動機２１の種類や構成は本発明を限定するものではなく、誘導電動機や同期電動機のような交流電動機であっても、あるいは直流電動機であってもよい。電動機２１の駆動電力はアンプ２３によって供給される。
【００３２】
加工機械１１内のアンプ２３は、後述する数値制御装置１２によって生成された指令に基づいて電動機２１に駆動電力を供給するための駆動電力を生成する電流増幅器であり、例えば、半導体スイッチング素子のフルブリッジ回路からなる逆変換器（インバータ）で構成される。数値制御装置１２内の軸制御部２４によって生成されたスイッチング指令に応じて、アンプ２３内のスイッチング素子がオンオフ駆動されることで、アンプ２３は直流電力を所望の交流電力に変換して電動機２１へ供給する。アンプ２３の種類や構成は本発明を特に限定するものではない。
【００３３】
加工機械１１には、電動機２１の速度、電動機２１を含む加工機械１１の各箇所の温度、軸２２の位置、あるいは加工機械１１で発生する振動、騒音、湿気もしくは映像情報といった各種センサ情報を取得するためのセンサ２５が設けられる。センサ２５の例としては、電動機２１の速度を検出するための速度検出器２５−１、電動機２１を含む加工機械１１の各箇所の温度を検出するための温度検出器（図示せず）、軸２２の位置を検出するための位置検出器２５−２、振動を検出するための振動センサ（図示せず）、騒音を検出するための音響センサ（図示せず）、湿気を検出するための湿度センサ（図示せず）、映像を検出するためのＣＣＤカメラ（図示せず）などがある。
【００３４】
測定器１７は、加工機械１１が加工した工作物の、少なくとも加工形状もしくは加工面についての精度を実測する。測定器１７の種類や構成は本発明を特に限定するものではなく、例えば、光学的もしくは電子的な手法により工作物の加工形状や加工面についての精度を実測する。測定器１７による実測結果は最終判定部１５へ送られる。
【００３５】
数値制御装置１２は、所定の加工プログラムに基づき、加工機械１１の軸２２を駆動するための指令を生成する軸制御部２４を有する。軸制御部２４は、加工機械１１内のアンプ２３に対応して設けられる。図２では、軸制御部２４を１個とした場合について示したが、加工機械１１内の軸２２が複数個の場合は、その個数に応じた軸制御部２４が設けられる。加工プログラムは、加工機械１１が所定の作業を行うためのコマンド処理をプログラミングした情報である。例えば、多関節ロボットの場合には、アーム部を作業位置に移動させるための動作コマンドや、任意の信号を外部に通知するコマンド、任意の信号の状態を読取るコマンド、などの情報が加工プログラムに含まれる。また、加工プログラムには、作業位置の位置情報や、操作する信号の番号も含まれる。もちろん、プログラム上に登録可能なコマンドであれば何でもよい。つまり、ここに例示したプログラミング情報に本発明は限定されない。
【００３６】
軸制御部２４は、位置制御部３１、速度制御部３２、および電流制御部３３を備える。位置制御部３１は、上記の制御装置（例えば後述するセルコントローラ１９またはホストコントローラ１００など）から受信した加工プログラムに基づく位置指令と、位置検出器２５−２によって測定された軸２２の測定位置である位置フィードバック値と、の差分である位置偏差に基づいて、速度指令を生成する。速度制御部３２は、位置制御部３１から受信した速度指令と、速度検出器２５−１によって測定された電動機２１の速度である速度フィードバック値と、の差分である速度偏差に基づいて、電流指令（トルク指令）を生成する。電流制御部３３は、速度制御部３２から受信した電流指令と、電流検出器（図示せず）によって測定されたアンプ２３から電動機２１へ流れる電流である電流フィードバック値と、の差分である電流偏差に基づいて、アンプ２３内のスイッチング素子をオンオフ制御するためのスイッチング指令を生成する。例えばアンプ２３がＰＷＭ制御方式のインバータである場合は、電流制御部３３によって生成されるスイッチング指令はＰＷＭ指令である。これにより、アンプ２３は、軸制御部２４によって生成されたスイッチング指令に応じて、アンプ２３内のスイッチング素子がオンオフ駆動されることで、アンプ２３は直流電力を所望の交流電力に変換して電動機２１へ供給する。
【００３７】
内部情報取得部１３は、仮判定部１４における判定処理に用いる内部情報を、数値制御装置１２から取得する。
【００３８】
内部情報取得部１３が取得する内部情報は、加工機械１１内の演算処理装置（図示せず）における計算に用いられ、あるいは加工機械１１内のメモリ（図示せず）に保存され、あるいは加工機械１１に設けられたセンサ２５によって取得される情報であって、例えば、位置指令と測定位置との差分である位置偏差に関するデータ、負荷データ、各種センサ情報などがある。
【００３９】
位置指令と測定位置との差分である位置偏差に関する内部情報は、例えば次の２つがある。例えば、加工機械１１が、回転軸（Ｃ軸）および直線軸（Ｘ軸）を電動機２１により駆動して工作物を加工する旋盤のような機械である場合は、直線軸に対する位置指令と直線軸についての測定位置との差分である位置偏差が、工作物の形状精度に影響を与えるので、当該位置偏差に関する情報を内部情報として利用する。また例えば、加工機械１１が、複数の回転軸（Ｃ軸）および複数の直線軸（Ｘ軸）を電動機２１により駆動して工作物を加工するマシニングセンタのような機械である場合は、加工を行う工具先端とワークの位置関係で形状精度が決まるため、回転軸および直線軸に設けられた工具に対する加工プログラムに基づく位置指令と工具の位置についての測定位置との差分である工具に関する位置偏差に関する情報を、内部情報として利用する。
【００４０】
位置偏差に関する内部情報以外に、次のような内部情報が例として挙げられる。
【００４１】
例えば、工作物の加工面を撮像して得られる画像データを解析すると、工作物の加工面の粗さは高周波成分を有することが一般的に知られている。そこで本実施形態では、工作物の加工面の粗さは、数値制御装置１２が生成するトルク指令や電流指令などといった加速度の次元を有する指令に起因するものであると考えて、数値制御装置１２が生成する加速度の次元を有する指令をハイパスフィルタに通すことによって高周波成分を抽出し、この高周波成分を２階積分することで得られる位置次元を有するデータ（ドリフト成分がなく、面粗さに相当するデータ）を、内部情報として利用してもよい。この内部情報を用いて仮判定部１４の判定処理を行えば、最終判定部１５における面精度に関する判定結果を効率よく評価することができる。
【００４２】
また例えば、加工機械１１に取り付けたセンサ２５により取得された情報と、工作物の加工位置もしくは加工時刻と、で紐付けされたデータを、内部情報として利用してもよい。例えば、電動機２１の温度は加工物の形状精度に影響を与え、加工機械１１で発生する振動や騒音は、加工物の面精度に影響を与えることが知られているが、これら温度情報、振動情報、映像情報および音響情報を内部情報に含めてもよい。センサ２５により取得された情報を用いて仮判定部１４の判定処理を行えば、最終判定部１５における面精度に関する判定結果を効率よく評価することができる。
【００４３】
また例えば、数値制御装置１２内の軸制御部２４に設けられた速度制御部３２により生成される電流指令（トルク指令）、速度検出器２５−１により取得された速度フィードバック値、電流検出器（図示せず）によって測定されたアンプ２３から電動機２１へ流れる電流である電流フィードバック値、などを内部情報に含めてもよい。また例えば、加工機械１１で用いられる加工プログラムを内部情報に含めてもよい。
【００４４】
以上説明したように内部情報は複数のものが考えられるが、これら内部情報は、加工機械１１が加工する工作物を識別する番号（以下、「工作物識別番号」と称する。）と紐付けされた状態で、内部情報取得部１３によって取得され、仮判定部１４へ送られる。
【００４５】
図１の加工機械システム１の構成について説明を戻すと、仮判定部１４は、内部情報取得部１３により取得された内部情報としきい値更新部１６で設定されたしきい値との比較結果に基づいて、加工機械１１が加工した工作物の良否を判定する。仮判定部１４による判定結果はしきい値更新部１６へ送られる。
【００４６】
最終判定部１５は、仮判定部１４により良否判定された工作物を少なくとも含んだ精度検査対象の工作物について、当該工作物の精度に関する実測結果に基づいて良否を判定する。工作物の精度は測定器１７によって測定されたものであり、少なくとも加工形状もしくは加工面についての精度に関するものである。精度検査対象の工作物は、仮判定部１４により良否判定された工作物を少なくも含んでいればよく、例えば良否判定された工作物が１０個の場合、精度検査対象の工作物は、当該良否判定された工作物１０個そのものであるか、あるいは当該良否判定された工作物１０個を含み合計１１個以上であればよい。最終判定部１５による判定結果はしきい値更新部１６へ送られる。
【００４７】
しきい値更新部１６は、仮判定部１４による判定結果および最終判定部１５による判定結果に基づいて、仮判定部１４による判定処理に用いられるしきい値を更新する。しきい値は上限しきい値および下限しきい値が設定される。すなわち、内部情報が上限しきい値と下限しきい値との間に収まる場合は、仮判定部１４は「工作物は良である」と判定し、内部情報が上限しきい値を超える場合および下限しきい値を下回る場合は、仮判定部１４は「工作物は否である」と判定する。
【００４８】
しきい値は、仮判定部１４による判定処理に用いられる内部情報取得部１３が取得する内部情報ごとに設定される。例えば、内部情報が直線軸に対する位置指令と直線軸についての測定位置との差分である位置偏差に関する情報である場合は、当該位置偏差に対応するしきい値が設定され、内部情報が回転軸および直線軸に設けられた工具に対する加工プログラムに基づく位置指令と工具の位置についての測定位置との差分である工具に関する位置偏差に関する情報である場合は、当該位置偏差に対応するしきい値が設定される。この場合、加工機械１１が加工する工作物の加工対象領域ごとに要求精度は異なることから、仮判定部１４による判定処理に用いられるしきい値は、加工機械１１が加工する工作物の加工対象領域ごとに設定される。数値制御装置１２が生成する加速度の次元を有する指令をハイパスフィルタに通すことによって高周波成分を抽出し、この高周波成分を２階積分することで得られる位置次元を有するデータに関する内部情報については、それに応じたしきい値が設定される。同様に、温度情報、振動情報および音響情報を内部情報については、それに応じたしきい値が設定される。各内部情報に対応するしきい値は、しきい値更新部１６により、仮判定部１４による判定結果および最終判定部１５による判定結果に基づいて適宜更新される。しきい値更新部１６により設定（更新）されたしきい値は、仮判定部１４へ送られる。しきい値更新部１６によるしきい値の更新処理の詳細については次に説明する。
【００４９】
なお、上述した内部情報取得部１３、仮判定部１４、最終判定部１５およびしきい値更新部１６は、例えばソフトウェアプログラム形式で構築されてもよく、あるいは各種電子回路とソフトウェアプログラムとの組み合わせで構築されてもよい。例えばこれらをソフトウェアプログラム形式で構築する場合は、加工機械システム１内にある演算処理装置をこのソフトウェアプログラムに従って動作させることで、上述の各部の機能を実現することができる。またあるいは、内部情報取得部１３、仮判定部１４、最終判定部１５およびしきい値更新部１６を、各部の機能を実現するソフトウェアプログラムを書き込んだ半導体集積回路として実現してもよい。
【００５０】
次に、本実施形態による加工機械システム１の動作原理について説明する。図３は、本発明の第１の実施形態による加工機械システムの動作フローを示すフローチャートである。
【００５１】
ステップＳ１０１において、加工機械１１は、数値制御装置１２から受信した指令に基づき、アンプ２３から電力を供給して電動機２１を駆動させ、用途に応じて工作物（ワーク）や工具などが装着された軸２２を駆動することで、工作物（ワーク）を加工する。
【００５２】
ステップＳ１０２では、内部情報取得部１３は、加工機械１１による工作物の加工期間中、数値制御装置１２から内部情報を取得し、センサ２５から内部情報としての各種センサ情報を取得する。
【００５３】
ステップＳ１０３では、仮判定部１４は、内部情報取得部１３により取得された内部情報としきい値更新部１６で設定されたしきい値とを比較し、この比較結果に基づいて、加工機械１１が加工した工作物の良否を判定する。仮判定部１４による判定結果はしきい値更新部１６へ送られる。ステップＳ１０３における仮判定部１４による判定処理の詳細については後述する。
【００５４】
ステップＳ１０４では、最終判定部１５は、仮判定部１４により良否判定された工作物を少なくとも含んだ精度検査対象の工作物について、当該工作物の精度に関する測定器１７による実測結果に基づいて良否を判定する。最終判定部１５による判定結果はしきい値更新部１６へ送られる。
【００５５】
ステップＳ１０５では、しきい値更新部１６は、ステップＳ１０３における仮判定部１４による判定結果およびステップＳ１０４における最終判定部１５による判定結果に基づいて、ステップＳ１０３における仮判定部１４による判定処理に用いられるしきい値を更新する。しきい値更新部１６により設定されたしきい値は、仮判定部１４へ送られる。ステップＳ１０５におけるしきい値更新部１６によるしきい値の更新処理の詳細については後述する。
【００５６】
ステップＳ１０６では、加工機械１１による工作物の加工を終了するか否かが判定される。加工機械１１は、数値制御装置１２から受信した指令に基づき動作するので、数値制御装置１２から加工終了の指令を受信すれば加工は終了することになる。数値制御装置１２からの加工終了の指令は、例えば、加工プログラムに規定されていたり、あるいは作業者による所定の操作により出力されたり、あるいは停電などの異常が検知された場合などに出力されるのが一般的であり、ステップＳ１０６の処理内容自体は本発明を特に限定するものではない。ステップＳ１０６において加工終了と判定されない場合、ステップＳ１０１へ戻り、加工機械１１による工作物の加工を継続する。
【００５７】
ここで、ステップＳ１０３における仮判定部１４による判定処理、ステップＳ１０４における最終判定部１５による判定処理、およびステップＳ１０５におけるしきい値更新部１６によるしきい値の更新処理の詳細について説明する。
【００５８】
図４は、図３に示した仮判定部による判定処理、最終判定部による判定処理、およびしきい値更新部によるしきい値の更新処理の動作フローを示すフローチャートである。
【００５９】
ステップＳ１０３では、仮判定部１４は、内部情報取得部１３により取得された内部情報としきい値更新部１６で設定されたしきい値とを比較し、この比較結果に基づいて、加工機械１１が加工した工作物の良否を判定する。上述したように、しきい値は内部情報取得部１３が取得する内部情報ごとに設定されるものである。例えば、内部情報が位置指令と測定位置との差分である位置偏差に関するものである場合は、内部情報である位置偏差が、上限しきい値と下限しきい値との間に収まる場合は、「工作物は良である」と判定され、上限しきい値を超える場合および下限しきい値を下回る場合は、「工作物は否である」と判定される。また例えば、内部情報が、数値制御装置１２が生成する加速度の次元を有する指令をハイパスフィルタに通すことによって高周波成分を抽出し、この高周波成分を２階積分することで得られる位置次元を有するデータ（ドリフト成分がなく、面粗さに相当するデータ）に関するものである場合は、当該内部情報が上限しきい値と下限しきい値との間に収まる範囲にあるとき、工作物の加工面の粗さは「良」と判定され、それ以外の場合は、「工作物は否である」と判定される。温度情報、振動情報、映像情報および音響情報である内部情報についても、同様に良否判定される。
【００６０】
ステップＳ１０３において、仮判定部１４により、「工作物は良である」と判定された場合、ステップＳ１０４−１へ進み、「工作物は否である」と判定された場合、ステップＳ１０４−２へ進む。
【００６１】
ステップＳ１０４−１では、最終判定部１５は、仮判定部１４により良否判定された工作物を少なくとも含んだ精度検査対象の工作物の全てに、当該工作物の精度に関する測定器１７による実測結果に基づいて、良であるかを判定する。ステップＳ１０４−１において、最終判定部１５により「精度検査対象の工作物の全てが良である」と判定された場合、ステップＳ１０５−１へ進む。一方、ステップＳ１０４−１において、最終判定部１５により「精度検査対象の工作物の全てが良である」と判定されなかった場合は、「精度検査対象の工作物の中に否とされるものが含まれている」ことを意味しており、この場合は、ステップＳ１０５−２へ進む。
【００６２】
同様に、ステップＳ１０４−２では、最終判定部１５は、仮判定部１４により良否判定された工作物を少なくとも含んだ精度検査対象の工作物の全てに、当該工作物の精度に関する測定器１７による実測結果に基づいて、否であるかを判定する。ステップＳ１０４−２において、最終判定部１５により「精度検査対象の工作物の全てが否である」と判定されなかった場合は、「精度検査対象の工作物の中に良とされるものが含まれている」ことを意味しており、ステップＳ１０５−３へ進む。一方、ステップＳ１０４−２において、最終判定部１５により「精度検査対象の工作物の全てが否である」と判定された場合は、ステップＳ１０５−４へ進む。
【００６３】
ステップＳ１０５−１は、ステップＳ１０３において仮判定部１４により良と判定されかつステップＳ１０４−１において精度検査対象の工作物の全てについて最終判定部１５により良と判定された場合に、しきい値更新部１６により実行されるものである。この場合、仮判定部１４による判定結果と最終判定部１５による判定結果が一致しており、しきい値更新部１６で既に設定されていたしきい値を、より小さい値に狭めて評価効率を高めることができるので、既に設定されていたしきい値に、１より小さくかつ０より大きい第１の係数α1を乗算して得られる値を、新しいしきい値として設定する。
【００６４】
ステップＳ１０５−２は、ステップＳ１０３において仮判定部１４により良と判定されかつステップＳ１０４−１において精度検査対象の工作物の中に最終判定部１５により否と判定されたものが含まれていた場合に、しきい値更新部１６により実行されるものである。この場合、仮判定部１４による判定結果と最終判定部１５による判定結果が一致しておらず、仮判定部１４による判定処理に用いたしきい値では、精度検査対象の工作物に否となるものが含まれてしまうことになるので、既に設定されていたしきい値に、第１の係数α1より小さくかつ０より大きい第２の係数α2を乗算して得られる値を、新しいしきい値として設定する。
【００６５】
ステップＳ１０５−３は、ステップＳ１０３において仮判定部１４により否と判定されかつステップＳ１０４−２において精度検査対象の工作物の中に最終判定部１５により良と判定されたものが含まれていた場合に、しきい値更新部１６により実行されるものである。この場合、仮判定部１４により否と判定されていた工作物があったにもかかわらず最終判定部１５により精度検査対象の工作物の中に良と判定されたものが含まれてしまうことになることを意味し、すなわち、仮判定部１４による判定処理に用いたしきい値では、本来であれば良である工作物であるはずの工作物についてまで否と誤判定してしまっているということである。そこでこの場合、しきい値更新部１６で既に設定されていたしきい値を、より大きい値に変更するために、既に設定されていたしきい値に、１より大きい第３の係数α3を乗算して得られる値を、新しいしきい値として設定する。
【００６６】
ステップＳ１０５−４は、ステップＳ１０３において仮判定部１４により否と判定されかつステップＳ１０４−２において精度検査対象の工作物の全てについて最終判定部１５により否と判定された場合、しきい値更新部１６により実行されるものである。この場合、仮判定部１４による判定結果と最終判定部１５による判定結果が一致していることから、既に設定されていたしきい値を維持する。
【００６７】
このように、しきい値更新部１６は、仮判定部１４による判定結果と最終判定部１５による判定結果とが一致するか否かによって０＜α2＜α1＜１＜α3の関係が成り立つ係数を、既に設定されていたしきい値に乗算することで、新しいしきい値を設定する。ステップＳ１０５−１〜Ｓ１０５−４のいずれかの処理を経て図３のステップＳ１０６へ進む。ステップＳ１０６において加工機械１１による工作物の加工が終了と判定されるまで、しきい値更新部１６によるしきい値の更新処理は繰り返し実行される。この繰り返し処理により、仮判定部１４による判定結果と最終判定部１５による判定結果とができるだけ一致するようにしきい値に適宜設定されることになる。仮判定部１４による判定結果と最終判定部１５による判定結果との一致する精度が高まれば、最終判定部１５による精度検査対象の工作物（ワーク）の個数を減らすことができるとともに、不良品の検出取りこぼしを防止することができる。
【００６８】
続いて、本発明の第２の実施形態について説明する。図５は、本発明の第２の実施形態による加工機械システムの原理ブロック図である。本発明の第２の実施形態による加工機械システム２は、第１の実施形態における加工機械１１とこれに対応して設けられる数値制御装置１２とで構成される製造セル１０を複数組備えるセル製造システムとして構成される。
【００６９】
図５に示すように、本発明の第２の実施形態による加工機械システム２は、複数の製造セル１０と少なくとも１つの測定器１７との間で相互に通信可能に接続する通信ネットワーク１８と、通信ネットワーク１８と通信可能に接続され、各製造セル１０の動作を制御するセルコントローラ１９と、をさらに備える。本実施形態における加工機械システム２では、内部情報取得部１３、仮判定部１４、最終判定部１５、およびしきい値更新部１６は、セルコントローラ１９内に設けられる。
【００７０】
製造セル１０とセルコントローラ１９とは、例えばイントラネットなどのようなネットワーク１８を介して通信可能に相互接続される。セルコントローラ１９内の内部情報取得部１３は、ネットワーク１８を介して各製造セル１０における数値制御装置１２から内部情報を取得する。また、セルコントローラ１９内の最終判定部１５は、ネットワーク１８を介して各製造セル１０に接続された測定部１７から各製造セル１０における加工機械１１が加工した工作物の制度に関する実測結果を取得する。このため、セルコントローラ１９は、ネットワーク１８に対する通信インタフェースとして通信部２０を備える。
【００７１】
製造セル１０は、製品を製造する複数の加工機械１１をフレキシブルに組合せた集合である。製造セル１０は、例えば各種工作機械やロボットといった複数個もしくは複数種類の加工機械１１により構築されているが、製造セル１０における加工機械１１の個数は限定されない。例えば、製造セル１０は、あるワークが複数の加工機械１１により順次に処理されることによって最終的な製品となる製造ラインでありうる。また例えば、製造セル１０は、２つ以上の加工機械１１の各々により処理された２つ以上の工作物（部品）を製造工程の途中で別の加工機械１１によって組み合せることにより最終的な工作物（製品）を完成させる製造ラインであってもよい。また例えば、２以上の製造セル１０により処理された２つ以上の工作物を組み合せることにより、最終的な工作物（製品）を完成させてもよい。
【００７２】
製造セル１０は、製品を製造する工場に配置されている。これに対して、セルコントローラ１９は、製造セル１０が配置された工場に配置されてもよく、あるいは工場とは異なる建屋に配置されてもよい。例えば、セルコントローラ１９は、製造セル１０が配置された工場の敷地にある別の建屋に配置されていてもよい。
【００７３】
加工機械システム２について、上述した以外の構成要素については図１〜４を参照して説明した構成要素と同様であるので、同一の構成要素には同一符号を付して当該構成要素についての詳細な説明は省略する。
【００７４】
以上説明した本発明の第２の実施形態によれば、内部情報取得部１３、仮判定部１４、最終判定部１５、およびしきい値更新部１６は、製造セル１０ごとに個別に設けられるのではなく、セルコントローラ１９内にまとめて設けられるので、各製造セル１０の運用コストや処理負担を低減するとともにシステムの大型化を防止することができる。
【００７５】
続いて、本発明の第３の実施形態について説明する。図６および図７は、本発明の第３の実施形態による加工機械システムの原理ブロック図である。本発明の第３の実施形態による加工機械システム３は、第２の実施形態におけるセルコントローラ１９の上位に、ホストコントローラ１００を設けたセル製造システムとして構成される。図６は、ホストコントローラ１００に１個のセルコントローラ１９が通信可能に接続される例を示し、図７は、ホストコントローラ１００に複数個のセルコントローラ１９が通信可能に接続される例を示している。
【００７６】
ホストコントローラ１００は、各セルコントローラ１９において取得された仮判定部１４による判定結果に関する情報、各セルコントローラ１９において取得された最終判定部１５による判定結果に関する情報、および、各測定器１７により取得された各加工機械１１が加工した工作物の精度に関する実測結果、を記録して管理する。また、ホストコントローラ１００は、取得した各情報を表示する機能も有する。
【００７７】
ホストコントローラ１００は、例えば、工場から遠隔地にある事務所に配置されていてもよい。この場合には、セルコントローラ１９とホストコントローラ１００とは、通信装置３２、例えばインターネットのネットワークを介して通信可能に相互接続される。
【００７８】
加工機械システム３について、上述した以外の構成要素については図１〜６を参照して説明した構成要素と同様であるので、同一の構成要素には同一符号を付して当該構成要素についての詳細な説明は省略する。
【００７９】
以上説明した本発明の第３の実施形態によれば、各セルコントローラ１９において取得された仮判定部１４による判定結果に関する情報、各セルコントローラ１９において取得された最終判定部１５による判定結果に関する情報、および、各測定器１７により取得された各加工機械１１が加工した工作物の精度に関する実測結果、を記録、管理および表示することができる。
【００８０】
続いて、本発明の第４の実施形態について説明する。図８は、本発明の第４の実施形態による加工機械システムの原理ブロック図である。本発明の第４の実施形態による加工機械システム４は、第１〜第３の実施形態における加工機械システムにおいて、内部情報取得部１３が取得すべき内部情報の種類を学習する機械学習器４０をさらに備えたものである。第４の実施形態における機械学習器４０は、上述の第１〜第３の実施形態のいずれにも適用可能であるが、ここでは第１の実施形態に適用した場合について説明する。
【００８１】
本発明の第４の実施形態による加工機械システム４は、状態観測部１１１と学習部１１２とを有する機械学習器４０と、意思決定部１１３をさらに備える、
【００８２】
状態観測部１１１は、内部情報取得部１３により取得された内部情報、加工機械１１が加工した工作物の精度に関する実測結果、仮判定部１４による判定結果に関する情報、および最終判定部１５による判定結果に関する情報、を含んで構成される状態変数を観測する。また、状態観測部１１１が観測する状態変数に、しきい値更新部１６によって設定されたしきい値、および加工プログラムをさらに含めてもよい。
【００８３】
学習部１１２は、状態観測部１１１が観測した状態変数に基づいて作成される訓練データセットに従って、内部情報取得部１３が取得すべき内部情報を学習する。学習部１２が用いる学習アルゴリズムはどのようなものを用いてもよいが、機械学習器４０は、装置に入力されるデータの集合から、その中にある有用な規則や知識表現、判断基準などを解析により抽出し、その判断結果を出力するとともに、知識の学習を行う機能を有する。本実施形態では、学習アルゴリズムとして強化学習を用いる。機械学習器４０は、例えば、ＧＰＧＰＵ（Ｇｅｎｅｒａｌ−Ｐｕｒｐｏｓｅ ｃｏｍｐｕｔｉｎｇ ｏｎ Ｇｒａｐｈｉｃｓ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔｓ）や大規模ＰＣクラスター等を適用することにより実現されるのが好ましい。
【００８４】
学習部１１２は、報酬計算部１２１と関数更新部１２２とを備える
【００８５】
報酬計算部１２１は、仮判定部１４による判定結果に関する情報と最終判定部１５による判定結果に関する情報とに基づいて報酬を計算する。
【００８６】
関数更新部１２２は、状態観測部１１１が観測した状態変数および報酬計算部１２１が計算した報酬に基づいて、内部情報取得部１３が取得すべき内部情報を選択するための関数（行動価値テーブル）を更新する。関数（行動価値テーブル）の更新方法については後述する。
【００８７】
学習部１１２が、状態観測部１１１で観測された状態変数を多層構造で演算し、関数（行動価値テーブル）をリアルタイムで更新してもよい。例えば、関数更新部１２２は、状態観測部１１１によって観測された状態変数および報酬計算部１２１によって計算された報酬に基づいて、ニューラルネットワークモデルに従って、内部情報取得部１３が取得すべき内部情報を選択するための関数（行動価値テーブル）を更新するようにしてもよい。ここで、状態変数を多層構造で演算する方法として、例えば多層ニューラルネットワークを用いることができる。
【００８８】
報酬計算部１２１は、仮判定部１４により良と判定されかつ精度検査対象の工作物の全てについて最終判定部１５により良と判定された場合、および、仮判定部１４により否と判定されかつ精度検査対象の工作物の全てについて最終判定部１５により否と判定された場合は、仮判定部１４による判定結果と最終判定部１５による判定結果が一致しており、仮判定部１４による判定処理のために内部情報取得部１３が取得していた内部情報は適切であったことを意味するので、報酬を増やす。
【００８９】
一方、報酬計算部１２１は、仮判定部１４により良と判定されかつ精度検査対象の工作物の中に最終判定部１５により否と判定されたものが含まれていた場合、および、仮判定部１４により否と判定されかつ精度検査対象の工作物の中に最終判定部１５により良と判定されたものが含まれていた場合は、仮判定部１４による判定結果と最終判定部１５による判定結果が一致しておらず、仮判定部１４による判定処理のために内部情報取得部１３が取得していた内部情報は不適切であったことを意味するので、報酬を減らす、
【００９０】
意思決定部１１３は、上述の学習部１１２が訓練データセットに従って学習した結果に基づいて、現在の状態変数の入力に応答して、内部情報取得部１３が取得すべき内部情報を決定する。決定された内部情報取得部１３が取得すべき内部情報に関する学習結果は、内部情報取得部１３へ送られ、内部情報取得部１３はこの学習結果に基づき、数値制御装置１２から内部情報を取得することになる。このように、本発明の第４の実施形態によれば、内部情報取得部１３により数値制御装置１２から取得されるべき最も効率の良い内部情報が自動的に学習される。
【００９１】
図９は、本発明の第４の実施形態による、強化学習を適用した機械学習器を備える加工機械システムの機械学習に係る動作フローを示すフローチャートである。
【００９２】
一般に、強化学習では行動の初期値はランダムに選択される。本実施例では、ステップＳ２０１において、行動である「内部情報取得部１３が取得すべき内部情報」をランダムに選択する。
【００９３】
ステップＳ２０２では、加工機械１１は、数値制御装置１２から受信した指令に基づき、アンプ２３から電力を供給して電動機２１を駆動させ、用途に応じて工作物（ワーク）や工具などが装着された軸２２を駆動することで、工作物（ワーク）を加工する。この間、内部情報取得部１３は現時点での内部情報を取得し、測定器１７は、加工機械１１が加工した工作物の精度に関する実測結果を取得し、仮判定部１４および最終判定部１５はそれぞれ判定処理を行い、しきい値更新部１６はしきい値の更新処理を行う。
【００９４】
ステップＳ２０３において、状態観測部１１１は、内部情報取得部１３により取得された内部情報、加工機械１１が加工した工作物の精度に関する実測結果、仮判定部１４による判定結果に関する情報、および最終判定部１５による判定結果に関する情報、を含んで構成される状態変数を観測する。また、状態観測部１１１は、状態変数としてさらに、しきい値更新部１６によって設定されたしきい値、および加工プログラムを観測してもよい。
【００９５】
次いで、ステップＳ２０４において、状態観測部１１１は、観測した仮判定部１４による判定結果と最終判定部１５による判定結果とが一致したか否かを判別する。仮判定部１４により良と判定されかつ精度検査対象の工作物の全てについて最終判定部１５により良と判定された場合、および、仮判定部１４により否と判定されかつ精度検査対象の工作物の全てについて最終判定部１５により否と判定された場合は、ステップＳ２０５において報酬計算部１２１は報酬を増やす。一方、仮判定部１４により良と判定されかつ精度検査対象の工作物の中に最終判定部１５により否と判定されたものが含まれていた場合、および、仮判定部１４により否と判定されかつ精度検査対象の工作物の中に最終判定部１５により良と判定されたものが含まれていた場合は、ステップＳ２０６において報酬計算部１２１は報酬を減らす。
【００９６】
ステップＳ２０７では、関数更新部１２２は、状態観測部１１１によって観測された状態変数および報酬計算部１２１によって計算された報酬に基づいて、内部情報取得部１３が取得すべき内部情報を選択するための関数（行動価値テーブル）を更新する。
【００９７】
ステップＳ２０８では、意思決定部１１３は、ステップＳ２０７において更新された関数に基づいて、報酬が最も多く得られる内部情報取得部１３が取得すべき内部情報を選択（決定）し、これを出力する。意思決定部１１３によって決定された内部情報取得部１３が取得すべき内部情報は、ステップＳ２０９において内部情報取得部１３へ通知される。
【００９８】
その後、ステップＳ２０２へ戻る。これ以降、加工機械システム４が停止するまで、ステップＳ２０２〜Ｓ２０８の処理が繰り返し実行される。これにより、機械学習器４０は、内部情報取得部１３が取得すべき内部情報を学習していく。なお、訓練データセットを、複数のモータ駆動装置から取得してもよく、この場合、学習部１１２は、複数の加工機械システムに対して取得される訓練データセットに従って、ステップＳ２０１〜Ｓ２０９の処理を繰り返し実行し、内部情報取得部１３が取得すべき内部情報を学習していく。複数の加工機械システムに対して訓練データセットが取得されると機械学習器４０の学習精度は向上する。
【００９９】
次に、強化学習を用いた機械学習器４０について、より詳細に説明する。
【０１００】
強化学習の問題設定として、次のように考える。
・加工機械システムは環境の状態を観測し、行動を決定する。
・環境は何らかの規則に従って変化し、さらに自分の行動が、環境に変化を与えることもある。
・行動するたびに報酬信号が帰ってくる。
・最大化したいのは将来にわたっての（割引）報酬の合計である。
・行動が引き起こす結果を全く知らない、または不完全にしか知らない状態から学習はスタートする。すなわち、加工機械システムは実際に動作して初めて、その結果をデータとして得ることができる。つまり、試行錯誤しながら最適な行動を探索する必要がある。
・人間の動作を真似るように事前学習（教師あり学習や、逆強化学習といった手法）した状態を初期状態として、良いスタート地点から学習をスタートさせることもできる。
【０１０１】
ここで、「強化学習」とは、判定や分類だけではなく、行動を学習することにより、環境に行動が与える相互作用を踏まえて適切な行動を学習、すなわち、将来的に得られる報酬を最大にするための学習する方法である。このことは、本実施形態において、内部情報取得部１３が取得する内部情報が最適化されるといった、未来に影響を及ぼすような行動を獲得できることを表している。例えばＱ学習の場合で説明を続けるが、それに限るものではない。
【０１０２】
Ｑ学習は、ある環境状態ｓの下で、行動ａを選択する価値Ｑ（ｓ，ａ）を学習する方法である。つまり、ある状態ｓのとき、価値Ｑ（ｓ，ａ）の最も高い行動ａを最適な行動として選択すればよい。しかし、最初は状態ｓと行動ａとの組合せについて、価値Ｑ（ｓ，ａ）の正しい値は全く分かっていない。そこで、エージェント（行動主体）は、ある状態ｓの下で様々な行動ａを選択し、その時の行動ａに対して報酬が与えられる。それにより、エージェントはより良い行動の選択、すなわち正しい価値Ｑ（ｓ，ａ）を学習していく。
【０１０３】
さらに、行動の結果、将来にわたって得られる報酬の合計を最大化したいので、最終的にＱ（ｓ，ａ）＝Ｅ［Σγtｒt］となるようにすることを目指す。ここで、期待値は、最適な行動に従って状態変化したときについてとるものとし、それは、それは分かっていないので、探索しながら学習することになる。そのような価値Ｑ（ｓ，ａ）の更新式は、例えば式１により表すことができる。
【０１０４】
【数１】
0006348137.tif 000002
【０１０５】
上記の式１において、ｓtは時刻ｔにおける環境の状態を表し、ａtは時刻ｔにおける行動を表す。行動ａtにより、状態はｓt+1に変化する。ｒt+1は、その状態の変化により貰える報酬を表している。また、ｍａｘの付いた項は、状態ｓt+1の下で、その時に分かっている最もＱ値の高い行動ａを選択した場合のＱ値にγを乗じたものになる。γは、０＜γ≦１のパラメータで、割引率と呼ばれる。αは学習係数で、０＜α≦１の範囲とする。
【０１０６】
式１は、試行ａtの結果帰ってきた報酬ｒt+1を元に、状態ｓtにおける行動ａtの評価値Ｑ（ｓt，ａt）を更新する方法を表している。状態ｓにおける行動ａの評価値Ｑ（ｓt，ａt）よりも、報酬ｒt+1＋行動ａによる次の状態における最良の行動ｍａｘ ａの評価値Ｑ（ｓt+1，ｍａｘ ａt+1）の方が大きければ、Ｑ（ｓt，ａt）を大きくするし、反対に小さければ、Ｑ（ｓt，ａt）も小さくする事を示している。つまり、ある状態におけるある行動の価値を、結果として即時帰ってくる報酬と、その行動による次の状態における最良の行動の価値に近づけるようにしている。
【０１０７】
ここで、Ｑ（ｓ，ａ）の計算機上での表現方法は、すべての状態行動ペア（ｓ，ａ）に対して、その値をテーブル（行動価値テーブル）として保持しておく方法と、Ｑ（ｓ，ａ）を近似するような関数を用意する方法がある。後者の方法では、前述の更新式は、確率勾配降下法などの手法で近似関数のパラメータを調整していくことで実現することができる。近似関数としては、後述のニューラルネットワークを用いることができる。
【０１０８】
また、強化学習での価値関数の近似アルゴリズムとして、ニューラルネットワークを用いることができる。ニューラルネットワークは、たとえば図１０に示すようなニューロンのモデルを模したニューラルネットワークを実現する演算装置およびメモリ等で構成される。図１０は、ニューロンのモデルを示す模式図である。
【０１０９】
図１０に示すように、ニューロンは、複数の入力ｘ（図では、一例として、入力ｘ1〜入力ｘ3）に対する出力ｙを出力するものである。各入力ｘ1〜ｘ3には、この入力ｘに対応する重みｗ（ｗ1〜ｗ3）が掛けられる。これにより、ニューロンは、式２により表現される出力ｙを出力する。なお、入力ｘ、出力ｙおよび重みｗは、すべてベクトルである。また、下記の式２において、θはバイアスであり、ｆkは活性化関数である。
【０１１０】
【数２】
0006348137.tif 000003
【０１１１】
以上説明した本発明の第４の実施形態では、機械学習器４０を、第１の実施形態に適用したが、第２および第３の実施形態のいずれにも適用可能である。例えば、第２の実施形態に適用する場合は機械学習器４０をセルコントローラ１９に設ければよく、第３の実施形態に適用する場合は機械学習器４０をセルコントローラ１９もしくはホストコントローラ１００に設ければよい。
【０１１２】
なお、上述した状態観測部１１１、学習部１１２、および意思決定部１１３は、例えばソフトウェアプログラム形式で構築されてもよく、あるいは各種電子回路とソフトウェアプログラムとの組み合わせで構築されてもよい。例えばこれらをソフトウェアプログラム形式で構築する場合は、このソフトウェアプログラムに従って動作させるための演算処理装置を設けたり、クラウドサーバ上においてこのソフトウェアプログラムを動作させたりすることで、上述の各部の機能を実現することができる。またあるいは、状態観測部１１１および学習部１１２を備える機械学習器４０を、各部の機能を実現するソフトウェアプログラムを書き込んだ半導体集積回路として実現してもよい。またあるいは、状態観測部１１１および学習部１１２を備える機械学習器４０のみならず意思決定部１１３も含めた形で、各部の機能を実現するソフトウェアプログラムを書き込んだ半導体集積回路を実現してもよい。
【符号の説明】
【０１１３】
１、２、３、４    加工機械システム
１０    製造セル
１１    加工機械
１２    数値制御装置
１３    内部情報取得部
１４    仮判定部
１５    最終判定部
１６    しきい値更新部
１７    測定器
１８    通信ネットワーク
１９    セルコントローラ
２０    通信部
２１    電動機
２２    軸（駆動体）
２３    アンプ（電流増幅器）
２４    軸制御部
２５    センサ
２５−１    速度検出器
２５−２    位置検出器
３１    位置制御部
３２    速度制御部
３３    電流制御部
４０    機械学習器
１００    ホストコントローラ
１１１    状態観測部
１１２    学習部
１１３    意思決定部
１２１    報酬計算部
１２２    関数更新部
【図１】
0006348137.tif 000004
【図２】
0006348137.tif 000005
【図３】
0006348137.tif 000006
【図４】
0006348137.tif 000007
【図５】
0006348137.tif 000008
【図６】
0006348137.tif 000009
【図７】
0006348137.tif 000010
【図８】
0006348137.tif 000011
【図９】
0006348137.tif 000012
【図１０】
0006348137.tif 000013