(57)【要約】      （修正有）【課題】研削条件を最適化するための支援を行う研削盤の支援装置及び支援方法を提供する。【解決手段】支援装置１００は、複数の動作指令データの設定状態を含む研削条件を状態情報として取得する状態情報取得部１１０と、当該研削条件の下で得られる評価対象の評価結果を取得する評価結果取得部１２０と、評価結果に基づいて状態情報に対する報酬を算出する報酬算出部１３０と、状態情報と報酬とに基づく強化学習において生成され、状態情報に応じた動作指令データの調整に関する政策を記憶する政策記憶部１５０と、状態情報及び政策に基づき、調整可能な複数の動作指令データの候補の中から、調整する動作指令データ及び動作指令データの調整量を決定する行動決定部１６０と、行動決定部１６０による決定内容を、行動情報として制御装置２０に出力可能な行動情報出力部１７０とを備える。【選択図】図７
2020157425.tif 000002
【特許請求の範囲】
【請求項１】
研削盤の制御装置によって制御可能な複数の動作指令データの設定状態を含む研削条件を、状態情報として取得する状態情報取得部と、
予め設定された複数の評価対象に関して、前記研削条件の下で得られる前記評価対象の評価結果を取得する評価結果取得部と、
前記評価結果に基づいて、前記状態情報に対する報酬を算出する報酬算出部と、
前記状態情報と前記報酬とに基づく強化学習において生成された価値関数から得られた政策であって、前記評価結果が最適となるように前記状態情報に応じた前記動作指令データの調整に関する前記政策を記憶する政策記憶部と、
前記状態情報及び前記政策に基づき、調整可能な複数の前記動作指令データの候補の中から、調整する前記動作指令データ、及び、前記動作指令データの調整量を決定する行動決定部と、
前記行動決定部による決定内容を、行動情報として前記制御装置に出力可能な行動情報出力部と、
を備え、
前記評価対象は、前記研削盤により研削加工された工作物の研削品質、研削加工後における砥石車の表面状態又は摩耗量、及び、前記工作物の研削加工に要する加工時間の少なくとも一つを含む、研削盤の支援装置。
【請求項２】
前記報酬算出部は、前記研削品質が予め設定された基準以上である場合に、プラスの前記報酬を与える、請求項１に記載の研削盤の支援装置。
【請求項３】
前記報酬算出部は、前記砥石車の表面状態が予め設定された基準以上である場合、又は、前記砥石車の摩耗量が予め設定された基準以下である場合に、プラスの前記報酬を与える、請求項１に記載の研削盤の支援装置。
【請求項４】
前記報酬算出部は、前記加工時間が予め設定された基準以下である場合に、プラスの前記報酬を与える、請求項１に記載の研削盤の支援装置。
【請求項５】
前記評価対象は、前記研削盤の消費電力を含み、
前記報酬算出部は、前記消費電力が予め設定された基準以下である場合に、プラスの前記報酬を与える、請求項１に記載の研削盤の支援装置。
【請求項６】
前記評価対象は、加工時に前記工作物に加わる加工負荷を含み、
前記報酬算出部は、前記加工負荷が予め設定された基準以下である場合に、プラスの前記報酬を与える、請求項１に記載の研削盤の支援装置。
【請求項７】
前記評価対象は、複数の前記研削盤が設けられた研削盤ラインにおける各々の前記研削盤の稼働率を含み、
前記報酬算出部は、前記稼働率が予め設定された基準以上である場合に、プラスの前記報酬を与える、請求項１に記載の研削盤の支援装置。
【請求項８】
前記研削盤の支援装置は、前記報酬算出部が複数の前記評価対象の各々に対して付与する前記報酬の重み付けを行う重み付け部を備える、請求項１−７の何れか一項に記載の研削盤の支援装置。
【請求項９】
前記研削条件は、前記研削盤が配置される場所の温度、又は、前記研削盤の温度を含む、請求項１−８の何れか一項に記載の研削盤の支援装置。
【請求項１０】
前記評価対象は、前記研削品質のバラつき度合を含み、
前記報酬算出部は、前記バラつき度合が予め設定された基準以下である場合に、プラスの前記報酬を与える、請求項９に記載の研削盤の支援装置。
【請求項１１】
前記研削盤の支援装置は、さらに、
前記価値関数を記憶する価値関数記憶部と、
前記状態情報を前記行動情報に基づいて調整した調整後状態情報、及び、前記調整後状態情報に対する前記報酬に基づき、前記価値関数記憶部に記憶された前記価値関数を更新可能な価値関数更新部と、
更新された前記価値関数に基づいて前記政策を更新する政策更新部と、
を備える、請求項１−１０の何れか一項に記載の研削盤の支援装置。
【請求項１２】
研削盤の制御装置によって制御可能な複数の動作指令データの設定状態を含む研削条件を、状態情報として取得する状態情報取得部と、
予め設定された複数の評価対象に関して、前記研削条件の下で得られる前記評価対象の評価結果を取得する評価結果取得部と、
前記評価結果に基づいて、前記状態情報に対する報酬を算出する報酬算出部と、
前記状態情報と前記報酬とに基づく強化学習において生成された価値関数を記憶する価値関数記憶部と、
前記価値関数から得られた政策であって、前記評価結果が最適となるように前記状態情報に応じた前記動作指令データの調整に関する前記政策を記憶する政策記憶部と、
前記状態情報及び前記政策に基づいて、調整可能な複数の前記動作指令データの候補の中から、調整する前記動作指令データ、及び、前記動作指令データの調整量を決定する行動決定部と、
前記行動決定部による決定内容を、行動情報として前記制御装置に出力可能な行動情報出力部と、
前記状態情報を前記行動情報に基づいて調整した調整後状態情報、及び、前記調整後状態情報に対する前記報酬に基づき、前記価値関数記憶部に記憶された前記価値関数を更新可能な価値関数更新部と、
更新された前記価値関数に基づいて前記政策を更新する政策更新部と、
を備え、
前記評価対象は、前記研削盤により研削加工された工作物の研削品質、研削加工後の砥石車の表面状態、及び、前記工作物の研削加工に要する加工時間の少なくとも一つを含む、研削盤の支援装置。
【請求項１３】
前記研削盤の支援装置は、さらに、
前記状態情報と前記評価結果との関係を表す評価結果推定モデルを記憶する評価結果推定モデル記憶部と、
前記状態情報と前記評価結果推定モデルとに基づき、調整後の前記研削条件の下で得られる前記評価結果を推定する評価結果推定部と、
備え、
前記評価結果取得部は、前記評価結果推定部が推定した推定評価結果を前記評価結果として取得可能である、請求項１１又は１２に記載の研削盤の支援装置。
【請求項１４】
前記評価結果取得部は、前記評価結果推定部が推定した前記推定評価結果、及び、前記研削盤を用いて実際に研削加工した際に得られる前記評価結果の少なくとも一方を取得可能である、請求項１３に記載の研削盤の支援装置。
【請求項１５】
前記評価結果推定モデル記憶部は、前記評価結果推定モデルとして、前記状態情報と前記研削品質との関係を表す研削品質推定モデルを記憶し、
前記評価結果推定部は、前記状態情報と前記研削品質推定モデルとに基づき、前記研削条件の下で研削加工した前記工作物の前記研削品質を推定する、請求項１３又は１４に記載の研削盤の支援装置。
【請求項１６】
前記評価結果推定モデル記憶部は、前記評価結果推定モデルとして、前記状態情報と前記研削盤の構造部材の熱変位量との関係を表す熱変位量算出モデルを記憶し、
前記評価結果推定部は、前記状態情報及び前記熱変位量算出モデルに基づいた算出された前記熱変位量と、前記状態情報とに基づき、前記砥石車の摩耗量を算出する、請求項１３又は１４に記載の研削盤の支援装置。
【請求項１７】
請求項１３−１６の何れか一項に記載の研削盤の支援装置を用いた研削盤の支援方法であって、
前記評価結果推定部による前記推定評価結果を前記評価結果として前記報酬を算出し、前記価値関数記憶部に記憶された前記価値関数を更新すると共に、更新された前記価値関数に基づいて前記政策を更新する第一学習工程と、
実際に研削加工した際に得られる前記評価結果に基づいて前記報酬を算出し、前記価値関数記憶部に記憶された前記価値関数を更新する第二学習工程と、
を備える、研削盤の支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、研削盤の支援装置及び支援方法に関するものである。
【背景技術】
【０００２】
特許文献１には、条件記憶部に記憶された加工条件に従って研削装置の各構成要素を制御することにより、同一の加工結果が得られるようにする技術が開示されている。特許文献１に記載の技術は、工作物に加わる荷重又はスピンドルモータの負荷電流を基準値と比較し、その差が大きくなった場合に加工条件の調整を行うことにより、加工条件の最適化を図っている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−５１６４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の技術において、工作物に加わる荷重又はスピンドルモータの負荷電流と基準値との差が大きくなった要因を特定することは容易でない。そのため、制御可能な複数の構成要素の中から、どの構成要素を調整すれば加工条件が最適化されるかについての判断が難しい。
【０００５】
本発明は、研削条件を最適化するための支援を行う研削盤の支援装置及び支援方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
（１．第一の研削盤の支援装置）
本発明の第一の研削盤の支援装置は、研削盤の制御装置によって制御可能な複数の動作指令データの設定状態を含む研削条件を、状態情報として取得する状態情報取得部と、予め設定された複数の評価対象に関して、前記研削条件の下で得られる前記評価対象の評価結果を取得する評価結果取得部と、前記評価結果に基づいて、前記状態情報に対する報酬を算出する報酬算出部と、前記状態情報と前記報酬とに基づく強化学習において生成された価値関数から得られた政策であって、前記評価結果が最適となるように前記状態情報に応じた前記動作指令データの調整に関する前記政策を記憶する政策記憶部と、前記状態情報及び前記政策に基づき、調整可能な複数の前記動作指令データの候補の中から、調整する前記動作指令データ、及び、前記動作指令データの調整量を決定する行動決定部と、前記行動決定部による決定内容を、行動情報として前記制御装置に出力可能な行動情報出力部とを備える。前記評価対象は、前記研削盤により研削加工された工作物の研削品質、研削加工後における砥石車の表面状態又は摩耗量、及び、前記工作物の研削加工に要する加工時間の少なくとも一つを含む。
【０００７】
当該研削盤の支援装置は、強化学習において生成された価値関数から得られた政策に基づき、状態情報に応じた行動の決定（即ち、調整する動作指令データ及び動作指令データの調整量の決定）を行う。また、当該支援装置は、決定された行動に応じた行動情報を制御装置に出力することで、研削盤による研削加工における研削条件の設定を支援する。
【０００８】
特に、研削盤による研削加工では、切削加工等に比べて精度の高い加工が要求される。その一方で、研削盤による研削加工では、研削加工が進むにつれて砥石車が摩耗し、砥石車の径が変化する。このように、研削条件が刻々と変化する中で、複数の評価対象の各々に対して高い評価結果を得られるような動作指令データの調整を行うことは容易でない。
【０００９】
これに対し、支援装置は、状態情報に応じて決定した行動に関する行動情報を制御装置に出力し、研削盤は、支援装置から出力された行動情報に基づいて動作指令データを調整する。よって、研削盤は、研削条件が最適化された状態で研削加工を行うことができ、その結果、最適な評価結果を得ることができる。
【００１０】
（２．第二の研削盤の支援装置）
本発明の第二の研削盤の支援装置は、研削盤の制御装置によって制御可能な複数の動作指令データの設定状態を含む研削条件を、状態情報として取得する状態情報取得部と、予め設定された複数の評価対象に関して、前記研削条件の下で得られる前記評価対象の評価結果を取得する評価結果取得部と、前記評価結果に基づいて、前記状態情報に対する報酬を算出する報酬算出部と、前記状態情報と前記報酬とに基づく強化学習において生成された価値関数を記憶する価値関数記憶部と、前記価値関数から得られた政策であって、前記評価結果が最適となるように前記状態情報に応じた前記動作指令データの調整に関する前記政策を記憶する政策記憶部と、前記状態情報及び前記政策に基づいて、調整可能な複数の前記動作指令データの候補の中から、調整する前記動作指令データ、及び、前記動作指令データの調整量を決定する行動決定部と、前記行動決定部による決定内容を、行動情報として前記制御装置に出力可能な行動情報出力部と、前記状態情報を前記行動情報に基づいて調整した調整後状態情報、及び、前記調整後状態情報に対する前記報酬に基づき、前記価値関数記憶部に記憶された前記価値関数を更新可能な価値関数更新部と、更新された前記価値関数に基づいて前記政策を更新する政策更新部とを備える。前記評価対象は、前記研削盤により研削加工された工作物の研削品質、加工後の砥石車の表面状態又は摩耗量、及び、前記工作物の加工に要する加工時間の少なくとも一つを含む。
【００１１】
当該研削盤の支援装置は、複数の動作指令データの設定状態を含む研削条件を状態情報とし、調整する動作指令データ及び動作指令データの調整量を行動情報とする強化学習を行う。そして、当該支援装置は、状態情報と、当該状態情報に対する報酬とに基づく強化学習を行いながら、行動情報を決定するための価値関数及び政策を更新することにより、政策の向上を図ることができる。
【００１２】
そして、当該支援装置は、強化学習において生成された価値関数から得られた政策に基づき、状態情報に応じた行動を決定し、決定された行動に応じた行動情報を制御装置に出力することで、研削盤による研削加工における研削条件の設定を支援する。そして、研削盤は、支援装置から出力された行動情報に基づいて動作指令データを調整することにより、研削条件が最適化された状態で研削加工を行うことができる。その結果、研削盤は、最適な評価結果を得ることができる。
【００１３】
（３．研削盤の支援方法）
本発明の研削盤の支援方法は、上記した第二の研削盤の支援装置と同じ構成を備えた支援装置を用いた研削盤の支援方法であって、前記評価結果推定部による前記推定評価結果を前記評価結果として前記報酬を算出し、前記価値関数記憶部に記憶された前記価値関数を更新すると共に、更新された前記価値関数に基づいて前記政策を更新する第一学習工程と、実際に研削加工した際に得られる前記評価結果に基づいて前記報酬を算出し、前記価値関数記憶部に記憶された前記価値関数を更新する第二学習工程とを備える。
【００１４】
当該研削盤の支援方法は、第一学習工程において、評価結果推定部による推定評価結果を評価結果として報酬を算出するので、支援装置は、実際の研削加工を行うことなく強化学習を行うことができる。よって、支援装置は、第一学習工程において、不良品の発生や砥石車の早期摩耗に伴うコストの発生を回避できると共に、短時間での政策の向上を図ることができる。また、当該研削盤の支援方法は、第二学習工程において、実際に研削加工した際に得られる評価結果に基づいて報酬を算出する。つまり、支援装置は、研削盤を用いた実際の研削加工を通して得られる評価結果に基づき、強化学習を行うので、政策の更なる向上を図ることができる。
【図面の簡単な説明】
【００１５】
【図１】研削盤支援システムの概略構成を示す図である。
【図２】研削盤の平面図である。
【図３】研削盤支援システムの構成を示す機能ブロック図である。
【図４】研削品質推定装置の構成を示す機能ブロック図である。
【図５】摩耗量推定装置の構成を示す機能ブロック図である。
【図６】粗研送り動作の開始位置での工作物と砥石車との相対位置を示す図である。
【図７】支援装置の学習フェーズの構成を示す機能ブロック図である。
【図８】研削盤支援システムにより実行される学習工程を示すフローチャートである。
【図９】学習工程の中で実行される第一学習工程を示すフローチャートである。
【図１０】学習工程の中で実行される第二学習工程を示すフローチャートである。
【図１１】支援装置の推定フェーズの構成を示す機能ブロック図である。
【図１２】研削盤支援システムにより実行される支援程を示すフローチャートである。
【発明を実施するための形態】
【００１６】
（１．研削盤支援システム１の概要）
最初に、図１を参照して、研削盤支援システム１の概要を説明する。研削盤支援システム１は、研削盤ライン２と、外部装置３と、推定装置４と、支援装置１００とを備える。
【００１７】
研削盤ライン２は、工作物Ｗを研削加工する複数の研削盤１０により構成される。研削盤１０は、円筒研削盤、カム研削盤等、種々の構成の研削盤を適用可能である。外部装置３は、研削盤１０により研削加工された工作物Ｗの研削品質や、研削加工後の砥石車１６（図２参照）の表面状態を検出する際に用いられる。推定装置４は、研削盤１０により研削加工された工作物Ｗの研削品質や、研削加工後の砥石車１６の摩耗量を推定する際に用いられる。つまり、研削盤支援システム１は、工作物Ｗの研削品質や砥石車１６の表面状態を把握するにあたり、外部装置３による検出結果を取得することも可能であり、推定装置４による推定結果を取得することも可能である。
【００１８】
支援装置１００は、研削盤ライン２を構成する各研削盤１０、外部装置３及び推定装置４と通信可能に設けられる。なお、支援装置１００は、研削盤１０に組み込まれた装置とすることもできる。支援装置１００は、予め設定された複数の評価対象に関して、各々の評価を最大化するための支援を行う。評価対象としては、例えば、工作物Ｗの研削品質や砥石車１６の表面状態等が例示される。支援装置１００は、評価対象の評価結果に応じて、研削盤１０の制御装置２０によって制御可能な動作指令データを適宜調整する。
【００１９】
具体的に、支援装置１００には、強化学習において生成された価値関数から得られた政策が記憶されている。そして、支援装置１００は、政策に基づき、現在の研削条件の下で調整可能な複数の動作指令データの候補の中から、調整する動作指令データの選択、及び、選択した動作指令データの調整量を決定する。これにより、研削盤支援システム１は、各々の研削盤１０において研削条件の最適化を図ることができる。
【００２０】
（２．研削盤１０の構成）
次に、図２及び図３を参照して、研削盤１０の構成を説明する。本実施形態では、研削盤１０が砥石台トラバース型の円筒研削盤である場合を例に挙げる。ただし、研削盤支援システム１は、研削盤１０として、テーブルトラバース型の研削盤を用いることも可能である。研削盤１０は、主として、ベッド１１、主軸台１２、心押台１３、トラバースベース１４、砥石台１５、砥石車１６、定寸装置１７、砥石車修正装置１８、及び、制御装置２０を備える。
【００２１】
ベッド１１は、設置面上に固定されている。主軸台１２は、ベッド１１の上面に設けられ、工作物Ｗを工作物Ｗの中心軸線回り（Ｚ軸回り）に回転可能に支持する。心押台１３は、ベッド１１の上面において、主軸台１２に対向する位置に設けられている。そして、主軸台１２及び心押台１３が、工作物Ｗを回転可能に両端支持する。工作物Ｗは、主軸台１２に設けられたモータ１２ａの駆動により回転される。
【００２２】
トラバースベース１４は、ベッド１１の上面において、工作物Ｗの中心軸線方向（Ｚ軸方向）に移動可能に設けられている。トラバースベース１４は、ベッド１１に設けられたモータ１４ａの駆動により移動する。砥石台１５は、トラバースベース１４の上面において、工作物Ｗに接近及び離間する方向（Ｘ軸方向）に移動可能に設けられている。砥石台１５は、トラバースベース１４に設けられたモータ１５ａの駆動により移動する。
【００２３】
砥石車１６は、円盤状に形成され、砥石台１５に回転可能に支持されている。砥石車１６は、砥石台１５に設けられたモータ１６ａの駆動により回転する。砥石車１６は、複数の砥粒を結合材により固定されて構成されている。砥粒には、一般砥粒と超砥粒が存在する。一般砥粒としては、アルミナや炭化ケイ素などのセラミックス質の材料などが良く知られている。超砥粒は、ダイヤモンドやＣＢＮである。定寸装置１７は、ベッド１１の上面に設けられ、工作物Ｗの外周面に接触可能な一対の接触子を備えており、工作物Ｗの加工部位の寸法（径）を計測する。
【００２４】
砥石車修正装置１８は、砥石車１６の表面状態を修正する。砥石車修正装置１８は、砥石車１６の修正として、ツルーイングとドレッシングの少なくとも一方を行う。さらに、砥石車修正装置１８は、砥石車１６の寸法（径）を測定する機能も有する。
【００２５】
ここで、ツルーイングは、形直し作業であり、研削によって砥石車１６が摩耗した場合に工作物Ｗの形状に合わせて砥石車１６を成形する作業、偏摩耗によって砥石車１６の振れを取り除く作業等である。ドレッシングは、目直し（目立て）作業であり、砥粒の突き出し量を調整したり、砥粒の切れ刃を創成したりする作業である。ドレッシングは、目つぶれ、目詰まり、目こぼれ等を修正する作業であって、通常ツルーイング後に行われる。また、ツルーイングとドレッシングは、特段区別することなく実施される場合もある。
【００２６】
図３に示すように、制御装置２０は、ＮＣプログラム及びＰＬＣの制御プログラムに基づいて、各駆動装置を制御する。ＮＣプログラムは、後述する動作指令データに基づいて生成され、制御装置２０は、当該ＮＣプログラムに基づいて、各駆動装置１２ａ，１４ａ，１５ａ，１６ａ，１７，１８（図３では「１２ａ等」と記載する）を制御する。ＰＬＣの制御プログラムは、入力機器の指令信号のＯＮ／ＯＦＦに応じて出力機器を動作する。
【００２７】
例えば、制御装置２０は、定寸装置１７により測定される工作物Ｗの径に基づいて、工作物Ｗが仕上げ形状となるまで研削を行う。また、制御装置２０は、砥石車１６の交換、修正（ツルーイング、ドレッシング）を実施する場合に、各モータ１４ａ，１５ａ，１６ａ、及び、砥石車修正装置１８等を制御する。なお、図３では、工作物Ｗにおいて砥石車１６によって研削される部位が研削部位として示される。
【００２８】
研削盤１０は、さらに、駆動装置１２ａ等の実動作データを検出するセンサ２１、構造部材１５等の状態（構造部材１５等の状態を表すデータ）を検出するセンサ２２、研削によって変化する研削部位Ｗに関するデータ（研削部位データ）を検出するセンサ２３を備える。センサ２１は、例えば、モータ１２ａの駆動電流を検出する電流センサ、モータ１２ａの現在位置（回転角度）を検出する位置センサ等である。センサ２１は、他の駆動装置１４ａ，１５ａ，１６ａ，１７，１８についても同様の情報を検出する。センサ２２は、例えば、構造部材１５等の振動を検出する振動センサ、構造部材１５等の変形量を検出する歪センサ、構造部材１５等の温度、研削盤１０が配置される場所の気温を検出する温度センサ等である。振動センサは、振動に対応する加速度を検出するセンサ、振動に対応する音波を検出するセンサ等を適用できる。センサ２３は、研削によって変化する工作物Ｗの寸法（径）を検出する定寸装置１７、研削時における研削点温度を検出する温度センサ等である。
【００２９】
（３．外部装置３の例）
次に、外部装置３の例について説明する。本実施形態において、研削盤支援システム１には、外部装置３として、研削盤１０にて砥石車１６によって研削加工された工作物Ｗの研削品質データを工作物Ｗ毎に検出する研削品質検出装置が設けられている。
【００３０】
研削品質データには、例えば、加工変質層データ（研削焼け等のデータ）、表面性状データ（表面粗さ等のデータ）、びびり模様データ等が含まれる。つまり、外部装置３は、加工変質層データ（研削焼け、研削による軟化層等に関するデータ）を取得する加工変質層検出器、表面性状データ（表面粗さ等に関するデータ）を取得する表面性状測定器、びびり模様データを取得するびびり検出器等である。なお、外部装置３は、当該データを直接取得する装置としてもよい。また、外部装置３は、相関を有する別データを取得して、当該別データを用いて演算することにより目的のデータを取得する装置、即ち、目的のデータを間接的に取得する装置としてもよい。
【００３１】
加工変質層データは、加工変質層の有無に関するデータとしてもよいし、加工変質層の程度に関するスコアとしてもよい。表面性状データは、例えば表面粗さの値そのものとしてもよいし、表面粗さの程度に関するスコアとしてもよい。また、びびり模様データは、びびり模様の有無に関するデータとしてもよいし、びびり模様の程度に関するスコアとしてもよい。各スコアは、例えば、複数段階の評点などで表される。
【００３２】
また、研削盤支援システム１は、研削品質検出装置によって検出された工作物Ｗの研削品質データを、砥石車１６の表面状態に対応する表面状態データとして取得することも可能である。なお、研削盤支援システム１は、外部装置３として、上記した研削品質検出装置以外の外部装置３（例えば、砥石車１６の表面状態を検出する装置等）を設けることも可能である。
【００３３】
（４．推定装置４の例）
次に、推定装置４について説明する。推定装置４は、予め設定された研削加工に関する評価対象に関して、所定の研削条件の下で研削盤１０が工作物Ｗを研削加工した際の評価対象の評価結果を推定する。推定装置４は、例えば、工作物Ｗの研削品質を推定する研削品質推定装置５０と、砥石車１６の摩耗量を推定する摩耗量推定装置６０とを備える。なお、推定装置４は、研削盤１０に組み込まれた装置とすることもでき、研削盤１０とは別ユニットとすることもできる。
【００３４】
また、推定装置４は、研削加工のシミュレーション装置としても機能する。例えば、推定装置４は、研削盤支援システム１の使用者による入力を受け付ける入力装置４ａと、入力装置４ａへの入力内容、及び、支援装置１００から出力された情報（行動情報）を取得する研削条件取得部４１を備える。また、推定装置４は、研削条件取得部４１が取得した入力内容及び情報に基づいて設定された仮想の研削条件を記憶する研削条件記憶部４２を備える。
【００３５】
そして、推定装置４は、研削条件記憶部４２に記憶された仮想の研削条件に基づいて研削加工のシミュレーションを行い、当該研削条件の下で研削盤１０が工作物Ｗを研削加工した場合の評価対象に対する評価結果を推定することも可能である。つまり、推定装置４は、仮想の研削条件に基づく研削加工のシミュレーションを行うことにより、研削盤１０による実際の研削加工を行うことなく、評価対象の評価結果を推定することができる。
【００３６】
また、推定装置４は、研削盤１０が実際に研削加工した際に得られる研削条件データに基づいて、評価対象の評価結果を推定することも可能である。この場合、支援装置１００は、外部装置３による検出結果を評価結果として取得する代わりに、推定装置４による推定結果を評価結果として取得することも可能である。
【００３７】
（４−１．研削品質推定装置５０）
図４に示すように、研削品質推定装置５０は、データ取得部５１と、研削品質推定モデル記憶部５２と、研削品質推定部５３とを備える。データ取得部５１は、工作物Ｗの研削品質を推定するのに必要となる研削条件データを取得する。具体的に、データ取得部５１は、研削条件データとして、動作指令データを取得する。動作指令データは、工程毎の指令切込速度、工程切替時の移動体１４，１５の指令位置、砥石車１６の指令回転速度、工作物Ｗの指令回転速度等である。なお、研削盤１０による工作物Ｗの研削加工は、粗研、精研、微研及びスパークアウト等の複数の研削工程により行われ、研削盤１０は、動作指令データに基づいて工程の切替を行う。
【００３８】
また、データ取得部５１は、研削条件データとして、制御装置２０により制御される駆動装置１２ａ等の実動作データをセンサ２１から取得する。センサ２１が検出する実動作データとしては、モータ１２ａ等の駆動電流、モータ１２ａ等の実位置等が例示される。さらに、データ取得部５１は、研削条件データとして、砥石車１６により工作物Ｗの研削を行う際の実測データをセンサ２２及びセンサ２３から取得する。センサ２２が検出する実測データとしては、構造部材１５等の振動、構造部材１５等の変形量、構造部材１５等の温度、研削盤１０が配置される場所の気温等が例示され、センサ２３が検出する実測データとしては、工作物Ｗの寸法（外径）、研削点温度等が例示される。そして、データ取得部５１は、工作物Ｗ毎に、研削初期から研削終期までの実動作データ及び実測データを取得する。
【００３９】
なお、推定装置４が仮想の研削条件に基づく研削加工のシミュレーションを行う場合において、データ取得部５１は、研削条件記憶部４２に記憶された仮想の研削条件データを取得する。つまり、研削条件データには、動作指令データや実動作データ、実測データが含まれる。
【００４０】
研削品質推定モデル記憶部５２は、研削条件データと工作物Ｗの研削品質との関係を表す研削品質推定モデルを記憶する。研削品質推定モデルは、機械学習を用いて生成された学習モデルである。研削品質推定モデルは、工作物Ｗの研削品質として、工作物Ｗの加工変質層の状態、工作物Ｗの表面性状、及び工作物Ｗのびびり模様状態を推定する。なお、研削品質推定モデルは、上記した全ての研削品質を推定する場合に限られず、上記した全ての研削品質のうち一部のみを推定することも可能である。研削品質推定部５３は、データ取得部５１が取得した研削条件データと、研削品質推定モデル記憶部５２に記憶された研削品質推定モデルとに基づき、工作物Ｗの研削品質を推定する。
【００４１】
（４−２．摩耗量推定装置６０）
図５に示すように、摩耗量推定装置６０は、砥石台位置情報取得部６１と、温度情報取得部６２と、熱変位量算出モデル記憶部６３と、熱変位量算出部６４と、摩耗量算出部６５とを備える。
【００４２】
砥石台位置情報取得部６１は、研削盤１０に設けられた砥石台位置検出装置６０ａにより検出された砥石台１５の位置情報を取得する。砥石台位置検出装置６０ａは、砥石台１５のＸ軸方向における位置を検出する装置であり、砥石台位置検出装置６０ａとしては、モータ１５ａに取り付けられたエンコーダやトラバースベース１４に取り付けられたリニアスケール等が例示される。本実施形態において砥石台位置情報取得部６１は、位置情報として、研削加工完了時点での砥石台１５のＸ軸方向における位置情報を取得する。
【００４３】
温度情報取得部６２は、砥石台位置検出装置６０ａにより検出された砥石台１５の位置情報に対応するタイミングで、センサ２３が検出した構造部材１５等の温度を、温度情報として取得する。センサ２３は、少なくとも、工作物Ｗと砥石車１６との軸間距離の変動に影響を及ぼす構造部材１５等の温度を検出する。例えば、センサ２３は、ベッド１１、トラバースベース１４、砥石台１５等に取り付けられる。
【００４４】
なお、推定装置４が仮想の研削条件に基づく研削加工のシミュレーションを行う場合において、砥石台位置情報取得部６１及び温度情報取得部６２は、研削条件記憶部４２に記憶された仮想の研削条件データを取得する。つまり、研削条件データには、研削加工完了時点での砥石台１５のＺ軸方向における位置情報、及び、工作物Ｗと砥石車１６との軸間距離の変動に影響を及ぼす構造部材１５等の温度が含まれる。
【００４５】
熱変位量算出モデル記憶部６３は、構造部材１５等の温度と構造部材１５等の熱変位量との関係を表す熱変位量算出モデルを記憶する。熱変位量算出モデルは、機械学習を用いて生成された学習モデルである。熱変位量算出モデルは、工作物Ｗの研削個数と位置情報との関係を表す回帰式とに基づいて算出される砥石車１６の摩耗量を位置情報から差し引いた値を構造部材１５等の熱変位量として算出する。なお、熱変位量算出モデルは、当該熱変位量と構造部材１５等の温度を学習データセットとする教師有り学習により生成される。
【００４６】
熱変位量算出部６４は、構造部材１５等の温度及び熱変位量算出モデルに基づいて、構造部材１５等の熱変位量を算出する。具体的に、熱変位量算出部６４は、センサ２３により検出された構造部材１５等の温度を入力データとして、熱変位量算出モデルを用いることにより、熱変位量を出力する。なお、熱変位量は、熱変位が存在しない状態を基準とした場合の熱変位量である。
【００４７】
摩耗量算出部６５は、砥石台１５の位置情報、及び、熱変位量算出部６４により算出された熱変位量に基づき、砥石車１６の摩耗量を算出する。なお、砥石車１６の摩耗量は、直前の工作物Ｗの研削加工完了時点を基準とした砥石車１６の摩耗量であってもよく、前回補正した時点を基準とした砥石車１６の摩耗量であってもよい。
【００４８】
ここで、図６の（ａ）、（ｂ）、（ｃ）、（ｄ）を参照して、工作物Ｗと砥石車１６との相対位置について説明する。なお、本実施形態において、研削加工送り動作には、粗研を行うための粗研送り動作、精研を行うための精研送り動作、微研を行うための微研送り動作、スパークアウトを行うための送り停止動作が含まれる。そして、図６の（ａ）、（ｂ）、（ｃ）、（ｄ）には、砥石車１６が粗研を行うための粗研送り動作の開始位置まで移動したときの工作物Ｗと砥石車１６との相対位置が図示されている。
【００４９】
図６の（ａ）に示すように、工作物Ｗと砥石車１６の軸間距離は、Ｘｄ１となる。このとき、砥石車１６の外径は、Ｄｔ１であるとする。工作物Ｗの外径は、研削前の素材径となる。工作物Ｗと砥石車１６の離間距離は、Ｘｓ１となる。
【００５０】
図６の（ｂ）には、研削盤１０の構造部材１５等の熱変位、例えば、ベッド１１や砥石台１５の熱変位によって、工作物Ｗと砥石車１６の軸間距離が、Ｘｄ２になったとする。このときの熱変位量は、ΔＸｈとする。そうすると、工作物Ｗと砥石車１６の離間距離は、Ｘｓ１よりも大きなＸｓ２となる。
【００５１】
図６の（ｃ）では、砥石車１６の摩耗及びツルーイングにより、砥石車１６の外径が小さくなり、Ｄｔ２となる。工作物Ｗと砥石車１６の軸間距離は、（ａ）と同一のＸｄ１であるとする。このとき、工作物Ｗと砥石車１６の離間距離は、Ｘｓ１よりも大きなＸｓ３となる。
【００５２】
図６の（ｄ）では、研削盤１０の構造部材１５等の熱変位によって、工作物Ｗと砥石車１６の軸間距離が、（ｂ）と同一のＸｄ２であるとする。熱変位量は、ΔＸｈであるとする。このとき、工作物Ｗと砥石車１６の離間距離は、Ｘｓ１，Ｘｓ２，Ｘｓ３よりも大きなＸｓ４となる。
【００５３】
つまり、砥石車１６の摩耗及びツルーイング、並びに、研削盤１０の構造部材１５等の熱変位により、工作物Ｗと砥石車１６の離間距離が変化する。その結果、粗研送り動作の開始位置が一定であっても、粗研送り動作を開始してから、砥石車１６が工作物Ｗに接触し、実際に粗研が行われるまでの時間（以下「空研削時間」と称す）は、砥石車１６の摩耗量及びツルーイング量、研削盤１０の構造部材１５等の熱変位量Ｘｈに伴って変化する。
【００５４】
これに対し、図６の（ｂ）に示す例では、熱変位量Ｘｈを把握し、粗研送り動作の開始位置を熱変位量Ｘｈの分だけ補正することにより、工作物Ｗと砥石車１６の離間距離を、図６の（ａ）と同一のＸｓ１とすることができる。また、図６の（ｃ）に示す例では、砥石車１６の外径の変化分（Ｄｔ１−Ｄｔ２）を把握し、研送り動作の開始位置を外径の変化分（Ｄｔ１−Ｄｔ２）だけ補正することにより、工作物Ｗと砥石車１６の離間距離を、図６の（ａ）と同一のＸｓ１とすることができる。このとき、工作物Ｗと砥石車１６の軸間距離は、Ｘｄ３となる。
【００５５】
同様に、図６の（ｄ）に示す例では、熱変位量Ｘｈ及び砥石車１６の外径の変化分（Ｄｔ１−Ｄｔ２）を把握し、粗研送り動作の開始位置を（Ｘｈ＋（Ｄｔ１−Ｄｔ２））だけ補正することにより、工作物Ｗと砥石車１６の離間距離を、図６の（ａ）と同一のＸｓ１とすることができる。このとき、工作物Ｗと砥石車１６の軸間距離は、Ｘｄ３となる。
【００５６】
このように、研削盤１０は、熱変位量Ｘｈ、及び、砥石車１６の外径Ｄｔ１，Ｄｔ２を把握し、粗研送り動作の開始位置を補正することにより、工作物Ｗと砥石車１６との離間距離を一定にする。これにより、研削盤１０は、空研削時間を短縮することができ、その結果、研削サイクルタイムの短縮を図ることができる。また、研削盤支援システム１は、粗研送り動作の開始位置を補正する際に摩耗量算出部６５が算出する砥石車１６の摩耗量に基づいて、砥石車１６の摩耗量又は表面状態を推定する。
【００５７】
（５．学習フェーズにおいて機能する支援装置１００の構成）
次に、図７を参照して、学習フェーズにおいて機能する支援装置１００の構成を説明する。図７に示すように、支援装置１００は、学習フェーズにおいて機能する構成として、以下の構成を備える。即ち、支援装置１００は、状態情報取得部１１０と、評価結果取得部１２０と、報酬算出部１３０と、価値関数記憶部１４０と、政策記憶部１５０と、行動決定部１６０と、行動情報出力部１７０と、価値関数更新部１８０と、政策更新部１９０とを主に備える。
【００５８】
状態情報取得部１１０は、制御装置２０によって制御可能な複数の動作指令データの設定状態を含む研削条件を、状態情報として取得する。例えば、状態情報取得部１１０は、状態情報として、砥石車１６と工作物Ｗとの回転速度比、砥石車１６の切込量、砥石車１６の送り速度、粗研、精研及び微研の時間配分や加工量等の割合、スパークアウト時における砥石車１６の回転数、構造部材１５等の温度、研削盤１０が配置される場所の気温等を取得する。
【００５９】
評価結果取得部１２０は、予め設定された評価対象に関して、所定の研削条件の下で得られる評価対象の評価結果を取得する。例えば、評価結果取得部１２０は、評価結果として、研削加工後の工作物Ｗの研削品質、研削加工後の砥石車１６の表面状態又は摩耗量、工作物Ｗの加工に要する加工時間、研削盤１０の消費電力、工作物Ｗに加わる加工負荷、研削盤ライン２における各々の研削盤１０の稼働率等を取得する。評価結果取得部１２０は、評価対象に対する評価結果を、研削盤１０に設けられた各種センサ等、外部装置３及び推定装置４から取得することができる。
【００６０】
また、評価結果取得部１２０は、推定装置４に設けられた研削品質推定装置５０や摩耗量推定装置６０による推定評価結果を、評価結果として取得することができる。つまり、評価結果取得部１２０は、研削品質推定装置５０や摩耗量推定装置６０が推定した推定評価結果、及び、研削盤１０を用いて実際に研削加工した際に得られる評価結果の双方を取得することができる。
【００６１】
報酬算出部１３０は、所定の研削条件の下で得られる評価対象の評価結果に基づき、当該状態情報（研削条件）に対する報酬を算出する。報酬算出部１３０は、評価結果が良好である場合に、状態情報に対してプラスの報酬を与える一方、評価結果が良好でない場合に、状態情報に対してマイナスの報酬（罰則）を与える。
【００６２】
例えば、報酬算出部１３０は、評価結果の一つである工作物Ｗの研削品質に関して、当該研削品質が予め設定された基準以上である場合に、プラスの報酬を与える。一方、報酬算出部１３０は、当該研削品質が当該基準を下回る場合に、マイナスの報酬を与える。また、報酬算出部１３０は、評価結果の一つである砥石車１６の表面状態又は摩耗量に関して、当該表面状態が予め設定された基準以上である場合、又は、砥石車１６の摩耗量が予め設定された基準以下である場合に、プラスの報酬を与える。一方、報酬算出部１３０は、当該表面状態が当該基準を下回る場合、又は、砥石車１６の摩耗量が当該基準を上回る場合に、マイナスの報酬を与える。
【００６３】
同様に、報酬算出部１３０は、評価結果の一つである加工時間に関して、当該加工時間が設定された基準以下である場合に、プラスの報酬を与える一方、当該加工時間が当該基準を超える場合に、マイナスの報酬を与える。さらに、報酬算出部１３０は、評価結果の一つである研削盤１０の稼働率に関して、当該稼働率が予め設定された基準以上である場合に、プラスの報酬を与える一方、当該稼働率が当該基準を下回る場合に、マイナスの報酬を与える。
【００６４】
また、報酬算出部１３０は、評価結果の一つである研削盤１０の消費電力に関して、当該消費電力が予め設定された基準以下である場合に、プラスの報酬を与える一方、当該消費電力が当該基準を上回る場合に、マイナスの報酬を与える。さらに、報酬算出部１３０は、評価結果の一つである加工負荷に関して、当該加工負荷が予め設定された基準以下である場合に、プラスの報酬を与える一方、当該加工負荷が当該基準を上回る場合に、マイナスの報酬を与える。
【００６５】
このように、報酬算出部１３０は、評価対象毎に報酬を算出する。また、報酬算出部１３０は、評価対象毎に設定された基準と評価結果との差に応じた報酬を付与する。即ち、評価結果と基準との差がプラス方向に大きい場合には、評価結果と基準との差がプラス方向に小さい場合よりも大きな報酬を与える。同様に、評価結果と基準との差がマイナス方向に大きい場合には、評価結果と基準との差がマイナス向に小さい場合よりも大きな罰則を与える。
【００６６】
価値関数記憶部１４０は、状態情報取得部１１０が取得した状態情報と報酬算出部１３０が算出した報酬とに基づく強化学習において生成された価値関数を記憶する。価値関数は、学習フェーズにおいて、評価対象の評価結果が最適となるように状態情報に応じた動作指令データの調整に関する政策を得るために生成される関数である。価値関数は、例えば、Ｑ学習、Ｓａｒｓａ、モンテカルロ法等の強化学習アルゴリズムにより生成される。
【００６７】
政策記憶部１５０は、価値関数記憶部１４０に記憶された価値関数から得られた政策を記憶する。政策は、調整可能な複数の動作指令データの候補の中から、調整する動作指令データを選択し、選択した動作指令データの調整量を決定するための基準である。
【００６８】
行動決定部１６０は、状態情報及び政策に基づき、調整する動作指令データを選択し、選択した動作指令データの調整量を決定する。このとき、行動決定部１６０は、政策及び強化学習アルゴリズムに従い、価値関数に基づく選択（利用）と、価値関数に基づかない選択（探査）とを折りませながら動作指令データの選択を行う。
【００６９】
行動情報出力部１７０は、行動決定部１６０による決定内容を、行動情報として研削盤１０の制御装置２０に出力する。そして、制御装置２０は、行動情報出力部１７０から取得した行動情報に基づいて動作指令データを調整し、研削盤１０は、行動情報に基づいて調整された新たな研削条件（調整後状態情報）の下で、新たな工作物Ｗに対する研削加工を行う。その後、状態情報取得部１１０は、調整された新たな研削条件を新たな状態情報として取得し、評価結果取得部１２０は、新たな研削条件の下で得られる評価対象の評価結果を取得する。続いて、報酬算出部１３０は、新たな研削条件の下で得られた評価結果に基づき、新たな状態情報（調整後状態情報）に対する報酬を算出する。
【００７０】
また、行動情報出力部１７０は、行動情報を推定装置４に出力することも可能である。この場合、推定装置４の研削条件取得部４１は、行動情報を取得し、研削条件記憶部４２に記憶された仮想の研削条件を更新する。そして、推定装置４は、更新された新たな仮想の研削条件に基づいて研削加工のシミュレーションを行い、当該研削条件の下で研削盤１０が工作物Ｗを研削加工した場合の評価対象に対する評価結果を推定する。
【００７１】
その後、状態情報取得部１１０は、研削条件取得部４１に記憶された仮想の研削条件を新たな状態情報として取得し、評価結果取得部１２０は、推定装置４による評価対象の推定評価結果を取得する。続いて、報酬算出部１３０は、推定装置４による推定評価結果に基づき、新たな状態情報に対する報酬を算出する。つまり、報酬算出部１３０は、調整前の状態情報から調整後状態情報へ状態を遷移させた行動情報に対する評価を、調整後状態情報（新たな状態情報）に対する報酬として算出する。
【００７２】
価値関数更新部１８０は、行動情報に基づいて調整した新たな状態情報（調整後状態情報）、及び、新たな状態情報（調整後状態情報）に対する報酬に基づき、価値関数記憶部１４０に記憶された価値関数を更新する。なお、価値関数更新部１８０は、強化学習アルゴリズムに基づいて価値関数を更新すればよく、例えば、マイナスの報酬が与えられた場合に、価値関数の更新をやめることも可能である。政策更新部１９０は、更新された価値関数に基づき、政策記憶部１５０に記憶された政策を更新する。
【００７３】
（６．学習工程）
ここで、図８に示すフローチャートを参照しながら、学習フェーズにおいて研削盤支援システム１が行う学習工程を説明する。
【００７４】
図８に示すように、研削盤支援システム１は、学習工程で行う最初の工程として、推定装置４による推定評価結果を用いて強化学習を行う第一学習工程（Ｓ１）を実行する。その後、研削盤支援システム１は、研削盤１０による実際の研削加工後に得られた実際の評価結果を用いて強化学習を行う第二学習工程（Ｓ２）を実行する。
【００７５】
この点に関して、支援装置１００による強化学習を行う際に、価値関数記憶部１４０には、支援装置１００の使用者が作成した暫定の価値関数が記憶され、政策記憶部１５０には、使用者が作成した暫定の政策が記憶される。また、最初の研削条件は、使用者が暫定的に設定する。
【００７６】
つまり、学習フェーズの初期段階で価値関数記憶部１４０に記憶される価値関数は、改善の余地が多く、価値関数から得られる政策も未熟である。従って、研削盤１０が未熟な政策に基づいて調整された新たな研削条件の下で研削加工を行った場合に、評価対象の評価結果が良好でない可能性も高くなる。その結果、不良品の発生や砥石車１６の早期摩耗に伴うコストが嵩むことが懸念される。
【００７７】
そこで、支援装置１００は、学習工程の初期段階において、推定装置４による推定評価結果を用いて強化学習を行う。この場合、支援装置１００は、実際の研削加工をすることなく、強化学習を行うことができるので、不良品の発生や砥石車１６の早期摩耗に伴うコストの発生を回避できる。またこの場合、支援装置１００は、実際に研削加工しながら強化学習を行う場合と比べて、評価対象に対する評価結果を短時間で得られるので、価値関数及び政策の更新を短時間で行うことができる。
【００７８】
その後、支援装置１００は、政策が向上した段階で、研削盤１０で実際に研削加工した後に得られる実際の評価結果を用いて強化学習を行う。これにより、支援装置１００は、不良品の発生及び砥石車１６の早期摩耗を抑制しつつ、政策の更なる向上を図ることができる。
【００７９】
（６−１．第一学習工程）
次に、図９に示すフローチャートを参照しながら、学習工程の中で実行される第一学習工程（Ｓ１）について説明する。
【００８０】
図９に示すように、支援装置１００は、第一学習工程（Ｓ１）の中で実行される最初の工程として、初期設定を行う（Ｓ１１）。Ｓ１１の工程において、支援装置１００の使用者は、使用者が生成した暫定の価値関数及び政策を価値関数記憶部１４０及び政策記憶部１５０に記憶する。また、研削条件取得部４１は、使用者が推定装置４の入力装置４ａを用いて入力した暫定の研削条件を取得し、研削条件記憶部４２に記憶する。
【００８１】
Ｓ１１の工程後、行動決定部１６０は、調整可能な複数の動作指令データの候補の中から、調整する動作指令データを選択し、選択した動作指令データの調整量を決定する（Ｓ１２）。その後、行動情報出力部１７０は、行動決定部１６０による決定内容に基づき、行動情報を推定装置４に出力する（Ｓ１３）。
【００８２】
Ｓ１３の工程後、推定装置４は、研削条件取得部４１が行動情報出力部１７０から取得した行動情報に基づいて研削条件を調整し、調整後の研削条件を新たな研削条件として研削条件記憶部４２に記憶する（Ｓ１４）。その後、推定装置４は、調整後の新たな研削条件の下で得られる評価対象の評価結果を推定する（Ｓ１５）。
【００８３】
Ｓ１５の工程後、支援装置１００は、推定装置４の研削条件記憶部４２に記憶された新たな研削条件を、新たな研削条件を状態情報として取得すると共に、評価対象の推定評価結果を評価結果として取得する（Ｓ１６）。次に、報酬算出部１３０は、推定評価結果に基づき、調整後の研削条件に対する報酬（行動情報に対する評価）を算出する（Ｓ１７）。
【００８４】
Ｓ１７の工程後、価値関数更新部１８０は、新たな状態情報、及び、当該状態情報に対する報酬に基づき、価値関数記憶部１４０に記憶された価値関数を更新する（Ｓ１８）。なお、Ｓ１８の工程において、価値関数更新部１８０は、強化学習アルゴリズムに従い、価値関数の更新を省略することも可能である。つまり、価値関数更新部１８０は、報酬が算出される毎に、当該報酬に基づいて価値関数の更新を行ってもよく、報酬の算出を所定回数行った後に報酬の平均値やバラつき（例えば、標準偏差）等を算出し、当該報酬の平均値に基づいて価値関数の更新を行ってもよい。また、価値関数更新部１８０は、算出された報酬がプラスの報酬である場合に限り、価値関数の更新を行ってもよく、算出された報酬又は罰則と予め設定された基準値との差が大きい場合に限り、価値関数の更新を行ってもよい。
【００８５】
Ｓ１８の工程後、政策更新部１９０は、更新された価値関数に基づき、政策記憶部１５０に記憶された政策の更新を行う（Ｓ１９）。その後、支援装置１００は、第一学習工程（Ｓ１）を終了するか否かの判定を行う（Ｓ２０）。例えば、使用者は、推定装置４による研削加工のシミュレーションを所定回数（例えば１０００回）行うことを、第一学習工程（Ｓ１）の終了条件として設定することができる。そして、支援装置１００は、第一学習工程（Ｓ１）の終了条件が成立した場合（Ｓ２０：Ｙｅｓ）、本工程を終了し、第一学習工程（Ｓ１）の終了条件が成立していない場合（Ｓ２０：Ｎｏ）、Ｓ１２の工程に戻る。
【００８６】
このように、支援装置１００は、第一学習工程（Ｓ１）において、実際の研削加工を行うことなく強化学習を行うことができる。よって、支援装置１００は、学習フェーズの初期段階において、不良品の発生や砥石車１６の早期摩耗に伴うコストの発生を回避できると共に、短時間での政策の向上を図ることができる。
【００８７】
（６−２．第二学習工程）
次に、図１０に示すフローチャートを参照しながら、学習工程の中で実行される第二学習工程（Ｓ２）について説明する。
【００８８】
図１０に示すように、行動決定部１６０は、第二学習工程（Ｓ２）の中で実行される最初の工程として、調整可能な複数の動作指令データの候補の中から、調整する動作指令データを選択し、選択した動作指令データの調整量を決定する（Ｓ２１）。なお、Ｓ２１の工程は、第一学習工程（Ｓ１）におけるＳ１２の工程と同様である。その後、行動情報出力部１７０は、行動決定部１６０による決定内容に基づき、行動情報を制御装置２０に出力する（Ｓ２２）。
【００８９】
Ｓ２２の工程後、制御装置２０は、行動情報出力部１７０から取得した行動情報に基づいて研削条件を調整し、調整後の新たな研削条件の下で、研削盤１０による実際の研削加工を行う（Ｓ２３）。その後、状態情報取得部１１０は、調整後の新たな研削条件を新たな状態情報（調整後状態情報）として取得し、評価結果取得部１２０は、調整後の研削条件の下で得られた評価対象の評価結果を取得する（Ｓ２４）。
【００９０】
Ｓ２４の工程後、報酬算出部１３０は、評価結果取得部１２０が取得した評価結果に基づき、新たな状態情報に対する報酬（行動情報に対する評価）を算出する（Ｓ２５）。続いて、価値関数更新部１８０は、新たな状態情報、及び、当該状態情報に対する報酬に基づき、価値関数記憶部１４０に記憶された価値関数を更新する（Ｓ２６）。続いて、政策更新部１９０は、更新された価値関数に基づき、政策記憶部１５０に記憶された政策の更新を行う（Ｓ２７）。なお、Ｓ２５からＳ２７までの工程は、第一学習工程（Ｓ１）におけるＳ１７からＳ１９までの工程と同様である。
【００９１】
その後、支援装置１００は、第二学習工程（Ｓ２）を終了するか否かの判定を行う（Ｓ２８）。例えば、使用者は、研削盤１０による研削加工を所定回数（例えば１０００回）行うことを、第二学習工程（Ｓ２）の終了条件として設定することができる。そして、支援装置１００は、第二学習工程（Ｓ２）の終了条件が成立した場合（Ｓ２８：Ｙｅｓ）、本工程を終了し、第二学習工程（Ｓ２）の終了条件が成立していない場合（Ｓ２８：Ｎｏ）、Ｓ２１の工程に戻る。
【００９２】
このように、支援装置１００は、第二学習工程（Ｓ２）において、研削盤１０を用いた実際の研削加工を通して得られる評価結果に基づき、強化学習を行うので、政策の更なる向上を図ることができる。
【００９３】
以上説明したように、支援装置１００は、学習フェーズにおいて、複数の動作指令データの設定状態を含む研削条件を状態情報とし、調整する動作指令データ及び動作指令データの調整量を行動情報とする強化学習を行う。そして、支援装置１００は、状態情報と、当該状態情報に対する報酬とに基づく強化学習を行いながら、行動情報を決定するための価値関数及び政策を更新することにより、政策の向上を図ることができる。
【００９４】
また、評価結果取得部１２０は、研削品質推定装置５０や摩耗量推定装置６０が推定した推定評価結果、及び、研削盤１０を用いて実際に研削加工した際に得られる評価結果の双方を取得することができる。そして、支援装置１００は、強化学習の進捗状況等に応じて、研削品質推定装置５０や摩耗量推定装置６０による推定評価結果、及び、実際に研削加工した際に得られる評価結果の何れかを取得することができる。これにより、支援装置１００は、強化学習における学習効率を高めつつ、良品の発生や砥石車１６の早期摩耗に伴うコストの発生を回避することができる。
【００９５】
（７．推定フェーズにおいて機能する支援装置１００の構成）
次に、図１１を参照して、推定フェーズにおいて機能する支援装置１００の構成を説明する。図１１に示すように、支援装置１００は、推定フェーズにおいて機能する構成として、以下の構成を備える。即ち、支援装置１００は、状態情報取得部１１０と、評価結果取得部１２０と、報酬算出部１３０と、政策記憶部１５０と、行動決定部１６０と、行動情報出力部１７０とを主に備える。なお、上記した推定フェーズにおいて機能する支援装置１００の各構成は、学習フェーズにおいて機能する支援装置１００の対応する構成と同等である。
【００９６】
これに加え、支援装置１００は、報酬算出部１３０が複数の評価対象の各々に対して与える報酬の重み付けを行う重み付け部１３１を更に備える。重み付け部１３１は、複数の評価対象のうち一部の評価対象の重要度が他の評価対象の重要度よりも高い場合に、当該一部の評価対象に対し、他の評価対象よりも与える報酬又は罰則の程度を大きくする。なお、各々の評価対象に対する報酬の重み付けは、使用者による設定が可能である。
【００９７】
例えば、評価対象の一部である工作物Ｗの研削品質の重要度が他の評価対象よりも高い場合において、重み付け部１３１は、研削品質が良好であった場合に、状態情報に対する報酬を通常よりも高くする一方、研削品質が良好でなかった場合に、状態情報に対する罰則を通常よりも重くする。これにより、支援装置１００は、評価対象の重要度に応じた最適な研削条件となるような行動（調整する動作指令データ、及び、動作指令データの調整量）の決定を行うことができる。なお、重み付け部１３１は、学習フェーズにおける支援装置１００の構成に含めることも可能である。
【００９８】
（８．第二学習工程）
次に、図１２に示すフローチャートを参照しながら、研削盤支援システム１により実行される支援工程について説明する。なお、図１２に示すフローチャートにおいて、支援工程は、研削盤１０による研削加工が終了した際に開始される。
【００９９】
図１２に示すように、支援工程の中で実行される最初の工程として、状態情報取得部１１０は、制御装置２０に設定された研削条件を状態情報として取得し、評価結果取得部１２０は、当該研削条件の下で得られた評価対象の評価結果を取得する（Ｓ３１）。なお、評価結果取得部１２０は、評価対象に対する評価結果を、研削盤１０に設けられた各種センサ等、外部装置３及び推定装置４から取得することができる。また、評価結果取得部１２０は、外部装置３の代わりに、推定装置４に設けられた研削品質推定装置５０及び摩耗量推定装置６０による推定結果を、評価結果として取得してもよい。次に、報酬算出部１３０は、評価結果取得部１２０が取得した評価結果に基づき、状態情報に対する報酬を算出する（Ｓ３２）。
【０１００】
Ｓ３２の工程後、行動決定部１６０は、状態情報取得部１１０が取得した状態情報と政策記憶部１５０に記憶された政策とに基づき、調整可能な複数の動作指令データの候補の中から、調整する動作指令データを選択し、選択した動作指令データの調整量を決定する（Ｓ３３）。次に、行動情報出力部１７０は、行動決定部１６０による決定内容に基づき、行動情報を制御装置２０に出力する（Ｓ３４）。その後、制御装置２０は、行動情報出力部１７０から取得した行動情報に基づいて研削条件を調整し、調整後の研削条件の下で、研削盤１０による新たな研削加工を開始する（Ｓ３５）。
【０１０１】
Ｓ３５の工程が終了すると、研削盤支援システム１は、支援工程を終了する。そして、研削盤支援システム１は、研削盤１０による研削加工が終了する毎に、支援工程を新たに開始する。
【０１０２】
以上説明したように、支援装置１００は、推定フェーズにおいて、学習フェーズでの強化学習において生成された価値関数から得られた政策に基づき、状態情報に応じた行動（調整する動作指令データ及び動作指令データの調整量の決定）を行う。また、支援装置１００は、決定された行動に応じた行動情報を制御装置２０に出力することで、研削盤１０による研削加工における研削条件の設定を支援する。
【０１０３】
この点に関して、特に、研削盤１０による研削加工では、切削加工等に比べて精度の高い加工が要求される。その一方で、研削盤１０による研削加工では、研削加工が進むにつれて砥石車１６が摩耗し、砥石車１６の径が変化する。このように、研削条件が刻々と変化する中で、複数の評価対象の各々に対して高い評価結果を得られるような動作指令データの調整を行うことは容易でない。
【０１０４】
これに対し、支援装置１００は、状態情報に応じて決定した行動に関する行動情報を制御装置２０に出力し、研削盤１０は、支援装置１００から出力された行動情報に基づいて動作指令データを調整する。よって、研削盤１０は、研削条件が最適化された状態で研削加工を行うことができ、その結果、最適な評価結果を得ることができる。
【０１０５】
また、支援装置１００は、政策に基づいて調整する動作指令データの選択、及び、選択した動作指令データの調整量の決定を行う。この場合、支援装置１００は、複数の評価対象のうちの一部の評価結果が不良であった場合に、良好であった評価対象の評価結果を維持しつつ、不良であった評価結果が向上するような研削条件の調整を行うことができる。つまり、支援装置１００は、複数の評価対象の各々について評価結果が良好となるような研削条件の設定を支援することができる。
【０１０６】
例えば、評価対象が研削加工後の工作物Ｗの研削品質である場合において、支援装置１００は、工作物Ｗの研削品質が不良であれば、研削品質が改善されるような動作指令データの調整を行うことができる。なお、研削品質が不良であった場合とは、工作物Ｗに加工変質層が発生した場合、工作物Ｗの表面性状が所定閾値以上であった場合、工作物Ｗにびびり模様が発生した場合等が例示される。
【０１０７】
また、評価対象が砥石車１６の表面状態である場合において、支援装置１００は、砥石車１６の表面状態に応じて、最適なタイミングで砥石車１６のツルーイング又はドレッシングを行うことができる。この場合、研削盤１０は、砥石車１６の表面状態が良好なときにツルーイング又はドレッシングを行う場合と比べて、砥石車１６の工具寿命を長期化することができる。またこの場合、研削盤１０は、ツルーイング又はドレッシングの回数を少なくすることができる分、ツルーイング又はドレッシングに伴う研削加工の停止回数を減らすことができる。さらにこの場合、研削盤１０は、砥石車１６の表面状態が悪化した状態で研削加工が行われることを防止できるので、不良品の発生を抑制できる。
【０１０８】
さらに、評価対象が砥石車１６の摩耗量である場合において、支援装置１００は、例えば、一つの工作物Ｗの研削加工での砥石車１６の摩耗量が基準を上回る場合に、摩耗量が少なくなるような動作指令データの調整を行うことができる。よって、研削盤１０は、砥石車１６の工具寿命の長期化を図ることができる。
【０１０９】
支援装置１００は、評価対象が加工時間である場合において、加工時間が基準を上回る場合に、加工時間が短くなるような動作指令データの調整を行うことができる。これにより、研削盤１０は、研削サイクルタイムの短縮を図ることができる。
【０１１０】
これに加え、支援装置１００は、評価対象が研削盤ライン２の各々の研削盤１０の稼働率である場合において、一の研削盤１０の稼働率が基準を下回る場合に、当該一の研削盤１０の稼働率が上がるような動作指令データの調整を行うことができる。また、設定された生産計画の中でボトルネックとなる工程がある場合に、研削盤ライン２を構成する研削盤１０の一部の稼働率が低下することがある。これに対し、支援装置１００は、ボトルネックとなる工程に応じて各々の研削盤１０の加工時間を調整することができる。例えば、支援装置１００は、ボトルネックとなる工程以外の工程での加工時間を長く確保することで、工作物Ｗの研削品質や砥石車１６の摩耗量の向上を図ることができる。
【０１１１】
支援装置１００は、評価対象が研削盤１０の消費電力である場合において、消費電力が基準を上回る場合に、消費電力が小さくなるような動作指令データの調整を行うことができる。これにより、研削盤１０は、消費電力の低減を図ることができる。また、支援装置１００は、評価対象が研削加工時に工作物Ｗに加わる加工負荷である場合において、加工負荷が基準を上回る場合に、加工負荷が小さくなるような動作指令データの調整を行うことができる。これにより、研削盤１０は、研削加工時における研削抵抗を抑制できる。
【０１１２】
支援装置１００は、評価対象が研削品質のバラつきの度合である場合において、バラつきの度合いが基準を上回る場合に、バラつきが小さくなるような動作指令データの調整を行うことができる。例えば、研削盤１０は、配置される場所の気温や、構造部材１５等の温度の違いがある場合に、他の研削条件が同じであっても、研削品質の評価結果が異なる場合がある。これに対し、支援装置１００は、学習フェーズにおいて、研削盤１０が配置される場所の気温や構造部材１５等の温度による研削品質のバラつきの度合いが大きくなる傾向があった場合に、研削盤１０が配置される場所の気温や構造部材１５等の温度に応じた動作指令データの調整を行うような政策を生成することができる。
【０１１３】
なお、支援装置１００は、研削品質のバラつき度合を評価対象とする場合に、所定回数の研削加工又は研削加工のシミュレーションを行った時点で、研削品質のバラつき度合を算出する。例えば、支援装置１００は、研削品質と基準との差に関する標準偏差を求めることにより、研削品質のバラつき度合を算出する。なお、研削品質のバラつき度合の算出は、外部装置３により行うことも可能である。
【０１１４】
（９．その他）
以上、上記実施形態に基づき本発明を説明したが、本発明は上記実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の変形改良が可能であることは容易に推察できるものである。例えば、学習工程は、第一学習工程（Ｓ１）を行った後に第二学習工程（Ｓ２）を行う場合を例に挙げて説明したが、学習工程は、第二学習工程（Ｓ２）のみを行ってもよい。
【符号の説明】
【０１１５】
２：研削盤ライン、  １０：研削盤、  １２：主軸台（構造部材の一例）、  １３：心押台（構造部材の一例）、  １４：トラバースベース（構造部材の一例）、  １５：砥石台（構造部材の一例）、  １６：砥石車、  ２０：制御装置、  ５２：研削品質推定モデル記憶部（評価結果推定モデルの一例）、  ５３：研削品質推定部（評価結果推定部の一例）  ６３：熱変位量算出モデル記憶部（評価結果推定モデルの一例）、  ６５：摩耗量算出部（評価結果推定部の一例）、  １００：支援装置、  １１０：状態情報取得部、  １２０：評価結果取得部、  １３０：報酬算出部、  １３１：重み付け部、  １４０：価値関数記憶部、  １５０：政策記憶部、  １６０：行動決定部、  １７０：行動情報出力部、  １８０：価値関数更新部、  １９０：政策更新部、  Ｗ：工作物
【図１】
2020157425.tif 000003
【図２】
2020157425.tif 000004
【図３】
2020157425.tif 000005
【図４】
2020157425.tif 000006
【図５】
2020157425.tif 000007
【図６】
2020157425.tif 000008
【図７】
2020157425.tif 000009
【図８】
2020157425.tif 000010
【図９】
2020157425.tif 000011
【図１０】
2020157425.tif 000012
【図１１】
2020157425.tif 000013
【図１２】
2020157425.tif 000014