(58)【調査した分野】(Int.Cl.,DB名)
前記寿命確率予測部は、前記状態観測部が状態変数として観測した寿命関連データに基づいて、前記確率モデルのパラメータを更新して最適化する確率モデル最適化部を備える、
請求項1に記載の寿命予測装置。
前記寿命確率予測部は、前記状態観測部が状態変数として観測した寿命関連データに基づいて、前記確率モデルに基づいて前記消耗部品の交換確率密度を累積した交換寿命の累積確率分布を作成し、作成した累積確率分布を用いて前記消耗部品の交換寿命を予測する累積分布算出部を備える、
請求項1又は2に記載の寿命予測装置。
【背景技術】
【0002】
工作機械やロボット等の製造機械を構成する部品の内、工具や液晶パネル、モータの絶縁抵抗、軸受け、ギア、ベルト、フィルタ等のような、摩耗、劣化、疲労等の理由で機能を果たせなくなり交換される消耗部品の寿命は、条件によって変動するため推定することが困難である。
【0003】
製造機械の消耗部品の内、工具の寿命を推定する代表的な方法としては、例えば、テイラーの寿命方程式が知られている(特許文献1等)。テイラーの寿命方程式を用いて工具寿命を推定する際には、加工に用いる工具やワークの材質などの加工条件に基づいて常数を定め、定めた常数をテイラーの寿命方程式に当て嵌めることにより、さまざまな加工条件において工具寿命を推定することができる。また、加工時間や加工回数などに基づいて工具の寿命を推定する技術も提案されている(特許文献2等)。
【0004】
テイラーの寿命方程式を用いる方法では、上記の通り加工条件に応じて工具やワークに基づいた常数の計算が必要であり、加工条件が頻繁に変化する工作機械においては常数の決定が煩雑となり実用性に欠けるという問題がある。また、加工時間や加工回数による寿命の推定を行う方法では、いずれも実加工に基づいた経験則による推定であるため、やはり加工条件が頻繁に変化する状況では高い精度で寿命を予測することができない。その為、現状ではオペレータが都度工具を点検し、経験と勘で寿命を判断している。
【0005】
寿命予測の精度を高めるための従来技術として、本件出願人が先に出願した特許文献3では、工具の寿命が尽きたとオペレータが判断し工具を交換した時までの単位時間毎の加工情報を収集し、工具寿命が残っている場合の加工情報を機械学習(クラスタ分析)により分類し、現在の加工情報が上記クラスタに属するかを求め、工具寿命が残っているかどうかを判定する技術を開示している。この方法を用いることで、煩雑な寿命方程式の計算をすることなく、精度の高い工具寿命の推定が可能となる。
【0006】
また、特許文献4では、部品の状態を示すデータを随時収集し、過去の部品交換の際に一定の傾向を示しているデータを抽出し、前回の部品交換時と現在のデータの傾向が類似した時、部品の交換時期に到達したと判定したり、未来のデータ値を予測することで次回の交換時期を推定したりする技術を開示している。この方法を用いることで、現実の稼働状況に即して部品寿命を推測し、無駄な点検を削減することが可能となる。
【発明を実施するための形態】
【0018】
以下、本発明の実施形態を図面と共に説明する。
図1は本発明の一実施形態による寿命予測装置の要部を示す概略的なハードウェア構成図である。寿命予測装置1は、ロボットや工作機械等の製造機械を制御する制御装置として実装することができる。また、寿命予測装置1は、製造機械を制御する制御装置と併設されたパソコンや、制御装置とネットワークを介して接続されたセルコンピュータ、ホストコンピュータ、クラウドサーバ等のコンピュータとして実装することが出来る。
図1は、製造機械を制御する制御装置として寿命予測装置1を実装した場合の例を示している。
【0019】
本実施形態による寿命予測装置1が備えるCPU11は、寿命予測装置1を全体的に制御するプロセッサである。CPU11は、ROM12に格納されたシステム・プログラムをバス20を介して読み出し、該システム・プログラムに従って寿命予測装置1全体を制御する。RAM13には一時的な計算データや表示データ、図示しない入力部を介してオペレータが入力した各種データ等が一時的に格納される。
【0020】
不揮発性メモリ14は、例えば図示しないバッテリでバックアップされるなどして、寿命予測装置1の電源がオフされても記憶状態が保持されるメモリとして構成される。不揮発性メモリ14には、インタフェース15を介して外部機器72から読み込まれた制御用プログラムや表示器/MDIユニット70を介して入力された制御用プログラム、寿命予測装置1の各部や製造機械から取得された各種データ(例えば、ワーク硬さ、クーラント種類、送り速度、主軸回転数、刃先温度、切削時間、切削距離、削抵抗(送り軸、主軸アンプ電流値)、交換部品コスト、部品ストック数等)が記憶される。不揮発性メモリ14に記憶された制御用プログラムや各種データは、実行時/利用時にはRAM13に展開されても良い。また、ROM12には、公知の解析プログラムなどの各種のシステム・プログラム(後述する機械学習装置100との入出力を制御するためのシステム・プログラムを含む)があらかじめ書き込まれている。
【0021】
インタフェース15は、寿命予測装置1とUSB装置等の外部機器72と接続するためのインタフェースである。外部機器72側からは制御用プログラムや各種パラメータ等が読み込まれる。また、寿命予測装置1内で編集した制御用プログラムや各種パラメータ等は、外部機器72を介して外部記憶手段に記憶させることができる。PMC(プログラマブル・マシン・コントローラ)16は、寿命予測装置1に内蔵されたシーケンスプログラムで工作機械及び該工作機械の周辺装置(例えば、工具交換用のロボットハンドといったアクチュエータ)にI/Oユニット17を介して信号を出力し制御する。また、工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、CPU11に渡す。
【0022】
表示器/MDIユニット70はディスプレイやキーボード等を備えた手動データ入力装置であり、インタフェース18は表示器/MDIユニット70のキーボードからの指令,データを受けてCPU11に渡す。インタフェース19は各軸を手動で駆動させる際に用いる手動パルス発生器等を備えた操作盤71に接続されている。
【0023】
製造機械が備える軸を制御するための軸制御回路30はCPU11からの軸の移動指令量を受けて、軸の指令をサーボアンプ40に出力する。サーボアンプ40はこの指令を受けて、工作機械が備える軸を移動させるサーボモータ50を駆動する。軸のサーボモータ50は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路30にフィードバックし、位置・速度のフィードバック制御を行う。なお、
図1のハードウェア構成図では軸制御回路30、サーボアンプ40、サーボモータ50は1つずつしか示されていないが、実際には制御対象となる製造機械に備えられた軸の数だけ用意される。
【0024】
スピンドル制御回路60は、製造機械への主軸回転指令を受け、スピンドルアンプ61にスピンドル速度信号を出力する。スピンドルアンプ61はこのスピンドル速度信号を受けて、製造機械のスピンドルモータ62を指令された回転速度で回転させ、工具を駆動する。スピンドルモータ62にはポジションコーダ63が結合され、ポジションコーダ63が主軸の回転に同期して帰還パルスを出力し、その帰還パルスはCPU11によって読み取られる。
【0025】
インタフェース21は、寿命予測装置1と機械学習装置100とを接続するためのインタフェースである。機械学習装置100は、機械学習装置100全体を統御するプロセッサ101と、システム・プログラム等を記憶したROM102、機械学習に係る各処理における一時的な記憶を行うためのRAM103、及び学習モデル等の記憶に用いられる不揮発性メモリ104が、バス105を介して接続されて構成される。機械学習装置100は、インタフェース21を介して寿命予測装置1で取得可能な各情報(例えば、オペレータにより入力された加工条件(ワーク材質、加工種類、切込量、切削量等)、工具情報、切削条件(主軸回転数、送り速度)、動作状態(加工時の主軸負荷等)等)を観測することができる。また、寿命予測装置1は、機械学習装置100から出力される製造機械が備える消耗部品の寿命の予測を表示器/MDIユニット70に表示する。
【0026】
図2は、第1の実施形態による寿命予測装置1と機械学習装置100の概略的な機能ブロック図である。
図2に示した各機能ブロックは、
図1に示した寿命予測装置1が備えるCPU11、及び機械学習装置100のプロセッサ101が、それぞれのシステム・プログラムを実行し、寿命予測装置1及び機械学習装置100の各部の動作を制御することにより実現される。
【0027】
本実施形態の寿命予測装置1は、不揮発性メモリ14に記憶された制御用プログラム(数値制御用のプログラム)や加工条件、切削条件等の設定に基づいて製造機械2が備えるサーボモータ50やスピンドルモータ62等のモータの制御やこれらモータの状態を検出する数値制御部34、及びシーケンスプログラムに基づいて図示しない製造機械2の周辺機械の制御や製造機械2及び周辺装置からの信号の検出を行うシーケンス制御部36を備える。数値制御部34が制御に用いた加工条件,切削条件等、数値制御部34が取得した製造機械2が備えるモータの状態、シーケンス制御部36が取得した製造機械2及び周辺装置から検出された信号は、機械学習装置100に対して出力される。
【0028】
一方、寿命予測装置1が備える機械学習装置100は、数値制御部34及びシーケンス制御部36から出力される各データを製造機械2の動作状態を示す状態変数として観測する状態観測部130、状態観測部130が観測した状態変数に基づいて製造機械2の消耗部品の寿命確率を予測する寿命確率予測部140、寿命確率予測部140が構築した確率モデルを解析して製造機械2の消耗部品の寿命に特に関連する状態変数を該消耗部品の寿命の特徴を示すデータとして選択する特徴選択部150を備え、また、状態観測部130が観測した状態変数を記憶する状態変数記憶部200が不揮発性メモリ104上に確保されている。
【0029】
状態観測部130は、数値制御部34及びシーケンス制御部36から出力される各データの内で、観測対象として設定されているデータ(寿命関連データ)を、製造機械2の動作状態を示す状態変数として観測する機能手段である。状態観測部130に対して観測対象として設定するべき寿命関連データは、交換寿命の予測対象とする消耗部品に応じて異なり、例えば製造機械2としてのマシニングセンタで加工に用いられる工具の交換寿命を予測するのであれば、ワークの硬さや切削時間、送り速度、主軸回転数等を観測対象とし、製造機械2としての放電加工機で用いられるイオン交換フィルタの交換寿命を予測するのであれば、加工液の種類やフィルタリング時間等を観測対象とするのが好ましいが、本発明の寿命予測装置1では、運用を続けるにつれて特徴選択部150により観測対象として適切な寿命関連データが選択されていくため、最初の段階では観測可能な全ての寿命関連データを観測対象として設定しておくと良い。即ち、状態観測部130は、初期においてはオペレータが観測対象として指定した寿命関連データを状態変数として観測し、また、特徴選択部150により消耗部品の寿命の特徴を示す寿命関連データの選択が行われた後には、特徴選択部150が選択した寿命関連データを状態変数として観測する。
【0030】
寿命確率予測部140は、状態観測部130が状態変数として観測した寿命関連データに基づいて製造機械2の消耗部品毎の確率モデルを構築・更新し、構築した確率モデルを用いて消耗部品の寿命を予測する機能手段である。本発明では、中心極限定理(すべての確率分布はガウス分布に収束)、及びストレスや疲労により故障する部品の寿命分布にガウス分布が一般的に利用されていることから、状態観測部130が観測した寿命関連データのそれぞれと、製造機械2の消耗部品の交換確率との関係がガウス分布に従うと仮定し、寿命関連データx
i(i=1,2,…,n、nは寿命関連データの個数)と消耗部品の交換確率を示す確率密度関数f
j(x
i)(j=1,2,…,m、mは消耗部品の個数)との関係を、例えば以下の数1式で例示される部品交換確率密度関数を用いてモデル化する(
図3)。数1式において、x
iは寿命関連データ、μ
ijはj番目の消耗部品の部品交換時の寿命関連データx
iの平均、σ
ij2値はj番目の消耗部品の部品交換時の寿命関連データx
iの分散である。なお、数1式に示した部品交換確率密度関数を確率モデルとして用いる場合、それぞれの寿命関連データと消耗部品の交換確率との間には正の相関(正比例)があることを前提とし、消耗部品の交換確率との間に負の相関がある寿命関連データについては、予め該寿命関連データに対して前処理(例えば、逆数を取る等)を行い、消耗部品の交換確率と正の相関となるように変換して用いる。
【0032】
寿命確率予測部140は、初めに確率モデルを構築する際には数1式に示した確率密度関数f
j(x
i)のパラメータである平均μ
ijと分散σ
ij2について初期値として設定された値を用い、後に製造機械2を運用していく中で状態観測部130が観測した状態変数に基づいてこれらパラメータを更新していくことで、製造機械2の消耗部品の交換確率の確率モデルを最適化していく。なお、数1式に示した確率密度関数f
j(x
i)のパラメータである平均μ
ijと分散σ
ij2の初期値は、例えば、表示器/MDIユニット70からオペレータに入力させたり、他の装置の学習済みのパラメータを転送して用いたりする等すれば良く、ある程度の確からしい確率密度関数f
j(x
i)のパラメータを最初に与えておくことで、寿命関連データが収集されていない段階からでも、所定の精度で製造機械2の消耗部品の交換寿命を予測することができる。確率モデルの最適化の役割を果たす機能手段である確率モデル最適化部142は、製造機械2の消耗部品が交換される直前に状態観測部130が観測した寿命関連データx
iに基づいて、確率密度関数f
j(x
i)のパラメータを、以下の数2式及び数3式を用いて更新する。数2式及び数3式において、x
iは寿命関連データ、Nは観測データの累積総数(>0)、μ
ij0,σ
ij0は各パラメータの初期値、μ
ij,σ
ijは更新前の各パラメータ、μ
ijN,σ
ijNは更新後のパラメータである。なお、状態観測部130が観測して、確率モデルの最適化に用いられた寿命関連データx
iは、状態変数記憶部200に記憶される。
【0035】
寿命確率予測部140は、この様にしてモデル化された製造機械2の消耗部品の交換確率密度関数f
j(x
i)に基づいて、製造機械2の消耗部品の交換確率をリアルタイムに予測する。より具体的には、寿命確率予測部140が備える累積分布算出部144は、それぞれの交換確率密度関数f
j(x
i)について、寿命関連データx
iが平均=0、分散=1となるように標準化した上で、以下の数4式に示される、各寿命関連データx
iを要素とした多次元ガウス分布の確率密度関数f
pj(x)を作成し、この多次元ガウス分布を用いて製造機械2の消耗部品の交換確率をリアルタイムに予測する。数4式において、ベクトルxは、各寿命関連データx
iを要素としたベクトル(特徴ベクトル)、Dはベクトルxの次元数であり、Tは転置行列であることを示す符号である。
【0037】
図4は、累積分布算出部144が作成する多次元ガウス分布をグラフで例示するものである。なお、
図4では、説明を簡単にするために2つの寿命関連データを用いた場合の多次元ガウス分布の例を示しているが、実際には更に多くの寿命関連データを用いた多次元のグラフとなる。累積分布算出部144は、上記したように作成した消耗部品の交換確率の多次元ガウス分布における、標準化を行う前のベクトルxの原点である標準化前原点が標準化された領域に写像された点O
jを求める。
【0038】
次に、累積分布算出部144は、
図5に示すように、標準化前原点の位置O
jと多次元ガウス分布の中心を結ぶ基準直線l
bj(即ち、ベクトルO
jを順逆両方向へと延長したもの)を求め、更に、今現在において状態観測部130が観測している寿命関連データの点x
sから基準直線l
bjに対して下ろした垂線l
vjと、基準直線l
bjとの交点位置のベクトルx
mjを求める(即ち、ベクトルO
jと(ベクトルx
s−ベクトルx
mj)の内積が0となるベクトルx
mjを求める)。そして、累積分布算出部144は、以下の数5式で示される、標準化前原点の位置O
jから基準直線l
bjに沿って製造機械2の消耗部品の交換確率密度を累積した消耗部品の交換寿命の累積確率分布g
bj(x,O
j)を求め、求めた消耗部品の交換寿命の累積確率分布g
bj(x,O
j)を用いて、ベクトルx
mjの位置における製造機械2の消耗部品の交換確率を算出する。累積分布算出部144が算出した製造機械2の消耗部品の交換確率は、例えば表示器/MDIユニット70に対して出力しても良いし、図示しないネットワークを介してセルコンピュータ、ホストコンピュータやクラウドサーバ等のコンピュータへと送信して利用するようにしても良い。
【0040】
特徴選択部150は、寿命確率予測部140が構築した確率モデルを解析して製造機械2の消耗部品の寿命に特に関連する状態変数を該消耗部品の寿命の特徴を示すデータとして選択する機能手段である。特徴選択部150は、状態変数記憶部200に記憶された寿命関連データに基づいて特徴選択を実行し、寿命関連データの種類(特徴)削減を行う。以下では、公知の貪欲探索アルゴリズムを用いた特徴選択の例を示すが、特徴の選択ができる手法であればどのような手法であっても良く、例えば遺伝的アルゴリズムなども利用できる。
【0041】
特徴選択部150が備える機能手段である特徴削減部152は、状態変数記憶部200に記憶されているそれぞれの寿命関連データの種類(ワーク材質、送り速度等)毎に、該寿命関連データの種類を一時的に除外した上で、交差検証部154に指令して1つデータ種類を除外した寿命関連データに対して公知の交差検証を行わせ、その確率モデルの汎化性能を評価する。
【0042】
交差検証部154は、例えばk番目の寿命関連データの種類が除外された場合の寿命関連データ種類の組(x
1,x
2,…,x
(k-1),x
(k+1),…,x
n)の集合が与えられた時、この寿命関連データの組の集合をランダムに2つのグループに分割し、一方を訓練データ、一方をテストデータとし、訓練データに基づいて最適化された確率モデルを作成した上で、該確率モデルに対するテストデータの当てはまり度合いを汎化性能を示す値として算出する。この当てはまり度合いの算出には、例えば、
図6に例示されるように、訓練データを用いて作成された確率モデルの中心からの所定の距離内に、テストデータがどれだけの個数あるのか等といった簡易な基準を用いて評価するようにしても良い。交差検証部154は、与えられた寿命関連データの組の集合に対して訓練データとテストデータの分割、及び分割された訓練データとテストデータを用いた汎化性能の算出を所定の回数(検証回数)だけ繰り返し、算出された複数の汎化性能の算出値の平均値乃至積算値を寿命関連データの種類を除外した場合の寿命関連データに関する最終的な汎化性能値として出力する。
【0043】
そして、特徴削減部152は、1番目の寿命関連データ種類を除外した場合の寿命関連データの汎化性能値、2番目の寿命関連データ種類を除外した場合の寿命関連データの汎化性能値、…、n番目の寿命関連データ種類を除外した場合の寿命関連データの汎化性能値という複数の汎化性能値の内で最も高い汎化性能値が算出された際の寿命関連データ種類の組を選択し、その際に除外されていた寿命関連データ種類については製造機械2の消耗部品の寿命との関連が薄いとし、状態観測部130が観測する状態変数から取り除く。そして、残りの観測対象とする寿命関連データの種類に対して、更に、それぞれの寿命関連データの種類毎に、該寿命関連データの種類を除外した上で、交差検証部154に指令して交差検証を行い、確率モデルの汎化性能を評価する。特徴削減部152は、この様な処理を繰り返して、
図7に示すように、削減前後における確率モデルの最大の汎化性能の差が予め定めた所定の規定幅以下となった場合に収束したと判断して特徴選択の処理を終了する。そして、特徴選択部150は、最終的に残った寿命関連データの種類のみを、以後の状態観測部130による状態観測の対象とし、製造機械2の消耗部品の交換寿命の推定に使用する。
【0044】
図8は、確率モデル最適化部142が実行する処理の概略的なフローチャートである。
図8のフローチャートに示される処理は、予め定めた所定の周期毎(例えば、寿命予測装置1の制御周期毎)に実行される。
●[ステップSA01]確率モデル最適化部142は、製造機械2の消耗部品の交換が行われるか否かを判定する。消耗部品の交換が行われている場合にはステップSA02に処理を移行し、行われていない場合には今回の周期における処理を終了する。
●[ステップSA02]確率モデル最適化部142は、状態観測部130が観測している寿命関連データの種類毎に、ステップSA03〜SA05を繰り返し実行する。
【0045】
●[ステップSA03]確率モデル最適化部142は、状態観測部130が直前に観測した寿命関連データを取得する。
●[ステップSA04]確率モデル最適化部142は、ステップSA03で取得した寿命関連データを用いて、交換対象とされる消耗部品に関する確率モデルのパラメータを更新する。
●[ステップSA05]確率モデル最適化部142は、ステップSA03で取得した寿命関連データを、状態変数記憶部200に記憶する。
【0046】
図9は、累積分布算出部144が実行する処理の概略的なフローチャートである。
図9のフローチャートに示される処理は、予め定めた所定の周期毎(例えば、寿命予測装置1の制御周期毎)に実行される。
●[ステップSB01]累積分布算出部144は、それぞれの寿命関連データを平均=0、分散=1となるように標準化する。
●[ステップSB02]累積分布算出部144は、寿命関連データx
iを要素とした多次元ガウス分布の確率密度関数f
pj(x)を作成する。
【0047】
●[ステップSB03]累積分布算出部144は、状態観測部130が観測した寿命関連データを取得する。
●[ステップSB04]累積分布算出部144は、ステップSB02で作成した多次元ガウス分布の確率密度関数f
pj(x)に基づいて消耗部品の交換寿命の累積確率分布を作成し、作成した累積確率分布を用いてステップSB03で取得した寿命関連データに基づいた製造機械2の消耗部品の交換寿命の確率を算出する。
【0048】
●[ステップSB05]累積分布算出部144は、ステップSB04で算出した製造機械2の消耗部品の交換寿命の確率を出力する。
【0049】
図10は、特徴削減部152が実行する処理の概略的なフローチャートである。
図10のフローチャートに示される処理は、オペレータからの指示や、予め定めた所定のタイミング(例えば、観測された寿命関連データが所定の数を超えたタイミング等)に実行される。
●[ステップSC01]特徴削減部152は、状態変数記憶部200から寿命関連データを取得する。
●[ステップSC02]特徴削減部152は、寿命関連データの種類毎にステップSC03〜SC04を繰り返し実行する。
【0050】
●[ステップSC03]特徴削減部152は、寿命関連データ種類tをステップSC01で取得した寿命関連データから一時的に除外する。
●[ステップSC04]特徴削減部152は、ステップSC04で寿命関連データ種類tを除外した寿命関連データに基づいて、交差検証により該寿命関連データから作成される確率モデルの汎化性能を算出するように交差検証部154へ指令する。
【0051】
●[ステップSC05]特徴削減部152は、ステップSC02〜SC04で算出された各汎化性能の内の最大値が収束したか否かを判定する。収束した場合には本処理を終了し、収束していない場合にはステップSC06へ処理を移行する。
●[ステップSC06]特徴削減部152は、ステップSC02〜SC04で算出された汎化性能の内の最大値が算出された際に除外されていた寿命関連データ種類tを、寿命関連データの観測対象から削除し、状態変数記憶部200から削除又は使用しない旨フラグ等を付与し、ステップSC02へ処理を移行する。
【0052】
図11は、交差検証部154が実行する処理の概略的なフローチャートである。
図11のフローチャートに示される処理は、特徴削減部152からの指令により実行される。
●[ステップSD01]交差検証部154は、予め定められた検証回数だけステップSD02〜SD04を繰り返し実行する。
●[ステップSD02]交差検証部154は、特徴削減部152から与えられた寿命関連データを訓練データとテストデータにランダムに分割する。
【0053】
●[ステップSD03]交差検証部154は、訓練データに基づいて最適化された確率モデルを作成する。
●[ステップSD04]交差検証部154は、ステップSD03で作成した確率モデルとテストデータとを用いて、特徴削減部152から与えられた寿命関連データの汎化性能を示す値を算出する。
【0054】
●[ステップSD05]交差検証部154は、ステップSD01〜SD04で算出された検証回数分の汎化性能の算出値を積算し、積算した値を最終的な汎化性能値として出力する。
【0055】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【0056】
例えば、機械学習装置100の各部で実行されるアルゴリズムは、同様の目的を達成できるのであれば、上述したものに限定されず、様々なアルゴリズムを採用できる。