(57)【特許請求の範囲】
【請求項１】
センサによって計測された機械装置の物理量の計測値を取得し、前記計測値のうちの第１時点から第Ｎ時点（Ｎは２以上の整数）までの計測値をセンサデータとして取得するセンサデータ取得部と、
前記センサデータに基づいて時系列に順次計算される、前記Ｎよりも少ない個数の内部変数を保持する内部変数保持部と、
第ｊ＋１時点（ｊは１からＮ−１までの整数）に対応する前記内部変数を、前記第ｊ＋１時点の前記センサデータと第ｊ時点に対応する前記内部変数とに基づいて計算する内部変数計算部と、
前記第Ｎ時点の前記内部変数に基づいて前記第１時点から前記第Ｎ時点までの前記センサデータに含まれる統計的な特徴を抽出した特徴量を計算する特徴量計算部と、
前記特徴量に基づいて前記機械装置の状態を診断する状態診断部と、
を備える情報処理装置。
【請求項２】
前記特徴量は、前記センサデータの分散、標準偏差、二乗平均平方根、歪度、及び尖度のうちの少なくとも一つである
請求項１に記載の情報処理装置。
【請求項３】
前記機械装置はモータによって駆動され、
前記センサデータ取得部は、前記モータの駆動に伴って前記センサで計測される、位置、速度、加速度、動作指令、電流、電圧、トルク、力、圧力、音声、及び光量の計測値のうちの少なくとも一つを前記センサデータとして取得する
請求項１又は２に記載の情報処理装置。
【請求項４】
前記第１時点の前記内部変数を予め設定した最大値と予め設定した最小値との間の値に決定する初期化処理を実行する初期化処理部を備える
請求項１から３の何れか１項に記載の情報処理装置。
【請求項５】
前記センサデータ取得部は、前記センサデータを取得する時間の間隔である取得周期、前記機械装置の動作の状況を表す動作信号、及び前記センサデータにおけるデータ値のうちの少なくとも一つに基づいて前記第１時点から前記第ｊ時点までの間の２点以上の時点を決定し、決定した前記２点以上の時点に基づいて内部変数を更新するための計算許可フラグを生成し、
前記内部変数計算部は、前記計算許可フラグの示す各第ｕ時点（ｕは１以上、且つ前記ｊ以下の整数）について、前記計算許可フラグに内部変数を更新する旨の内容が含まれていない場合に、第ｕ＋１時点の前記内部変数を、前記第ｕ時点の前記内部変数の値に決定する
請求項４に記載の情報処理装置。
【請求項６】
前記センサデータ取得部は、前記センサデータを取得する時間の間隔である取得周期、前記機械装置の動作の状況を表す動作信号、及び前記センサデータのうちの少なくとも一つに基づいて前記第１時点から第Ｎ時点までの間の１点以上の時点を決定し、決定した前記１点以上の時点に基づいて内部変数を初期化するための初期化トリガを生成し、
前記初期化処理部は、前記初期化トリガに基づいて前記内部変数を初期化する処理を実行する
請求項４に記載の情報処理装置。
【請求項７】
前記内部変数計算部は、時刻が古い前記センサデータが前記特徴量に与える影響よりも時刻が新しい前記センサデータのほうが前記特徴量に与える影響を大きくするように重みをつけるための、０より大きく１より小さい忘却係数に基づいて前記内部変数を計算する
請求項１から６の何れか１項に記載の情報処理装置。
【請求項８】
前記内部変数に基づいて、前記特徴量の計算の収束の度合いを定量的に示す指標である収束度を計算する収束度計算部を備える
請求項７に記載の情報処理装置。
【請求項９】
前記状態診断部は、
前記特徴量を含む状態量を取得する状態量取得部と、
前記機械装置が正常な状態の状態量に基づいて前記機械装置の状態と前記特徴量との関係を学習する学習部と、
前記学習部が学習した結果に基づいて前記機械装置の異常の度合いを定量的に示す指標である異常度を計算する異常度計算部と、
前記異常度に基づいて前記機械装置の状態を診断した診断結果を決定する意思決定部と、
を備える請求項１から８の何れか１項に記載の情報処理装置。
【請求項１０】
前記状態診断部は、
前記特徴量を含む状態量を取得する状態量取得部と、
前記機械装置の状態と前記状態量との関係を紐付ける学習用データに基づいて前記機械装置の状態と前記状態量との関係を学習する学習部と、
前記学習部に入力された状態量と前記学習部による学習結果とに基づいて前記機械装置の状態を推定する状態推定部と、
前記状態推定部が推定した結果に基づいて前記診断の結果を決定する意思決定部と、
を備える請求項１から９の何れか１項に記載の情報処理装置。
【請求項１１】
機械装置の物理量を計測するセンサから、第１時点から第Ｎ時点（Ｎは２以上の整数）までの各時点における前記物理量の計測値をセンサデータとして取得する第１ステップと、
前記センサデータに基づいて時系列に順次計算される、前記Ｎよりも少ない個数の内部変数を保持する第２ステップと、
第ｊ＋１時点（ｊは１からＮ−１までの整数）に対応する前記内部変数を、前記第ｊ＋１時点の前記センサデータと第ｊ時点に対応する前記内部変数とに基づいて計算する第３ステップと、
前記第Ｎ時点の前記内部変数に基づいて前記第１時点から前記第Ｎ時点までの前記センサデータに含まれる統計的な特徴を抽出した特徴量を計算する第４ステップと、
前記特徴量に基づいて前記機械装置の状態を診断する第５ステップと、
を含む情報処理方法。
【請求項１２】
前記第１時点の前記内部変数を予め設定した最大値と最小値との間の値に決定する初期化処理を実行するステップを更に有する
請求項１１に記載の情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、機械装置の状態を診断するための情報処理を実施する情報処理装置及び情報処理方法に関する。
【背景技術】
【０００２】
例えば、ボールねじ、減速機などの機械部品が含まれる機械装置では、機械部品が経年劣化し、摩擦の増加、振動の発生、筐体の破損といった様々な異常が生じる。このため、この種の異常を早期に発見して把握する情報処理装置は、効率的な工場での運用に重要とされている。【０００３】
機械装置の状態を診断する情報処理装置の例が、下記特許文献１に記載されている。特許文献１には、時系列に取得されるセンサデータを予め設定された期間に渡って保持し、保持したセンサデータから平均値、分散等の特徴量を計算する方法が記載されている。また、特許文献１では、計算した特徴量を予め設定された期間に渡って保持し、保持した特徴量に基づいて歪度等の指標を計算し、計算した値を過去の値と比較することで機械装置の異常を検知することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０２０−３５３７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の情報処理装置においては、センサの信号によって得られるセンサデータを設定期間に渡って保持する必要があり、膨大な記憶容量が要求されるという課題がある。例えば、センサデータを得るためのサンプリング周波数が２ｋＨｚであれば、１秒間に２千点の値が得られる。ここで、センサデータを計算機で扱うためのデータ型をｉｎｔ型４バイトとすると、例えば６０秒間のセンサデータを得るためには４８０キロバイト（＝４バイト×２ｋＨｚ×６０秒間）のメモリが必要となる。産業用に使われる多くのマイクロコントローラのＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）が数キロから数メガバイト程度であることから、情報を処理可能な装置が限定されてしまうという問題があった。【０００６】
また、センサデータをマイクロコントローラではなくサーバ装置のストレージに保持して別途オフラインで処理する方法も考えられる。しかしながら、このようなストレージは、サーバ装置を設置するスペース、サーバ装置を管理するための管理コストなどの観点から、工場に数台程度しか用意できないのが現状である。このため、数台のストレージでは、日々蓄積されていく膨大なデータを処理しきれないという問題がある。例えば、工場に前述のセンサが１０個備えられた機械装置が１０台あり、それらが２４時間稼働する場合を考える。この場合、一ヶ月毎に２テラバイト以上（≒１０個×１０台×４バイト×２［ｋＨｚ］×３６００秒×２４時間×３０日＝２．０７３６テラバイト）のデータが追加されることになり、サーバ装置の計算機にとって大きな負担となる。【０００７】
本開示は、上記に鑑みてなされたものであって、計算能力の高い計算機及び記憶容量の大きな計算機を用いることなく、機械装置の状態を診断するための情報処理を実施できる情報処理装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するため、本開示に係る情報処理装置は、センサデータ取得部と、内部変数保持部と、内部変数計算部と、特徴量計算部と、状態診断部とを備える。センサデータ取得部は、センサによって計測された機械装置の物理量の計測値を取得し、当該計測値のうちの第１時点から第Ｎ時点（Ｎは２以上の整数）までの計測値をセンサデータとして取得する。内部変数保持部は、センサデータに基づいて時系列に順次計算される、Ｎよりも少ない個数の内部変数を保持する。内部変数計算部は、第ｊ＋１時点（ｊは１からＮ−１までの整数）に対応する内部変数を、第ｊ＋１時点のセンサデータと第ｊ時点に対応する内部変数とに基づいて計算する。特徴量計算部は、第Ｎ時点の内部変数に基づいて第１時点から第Ｎ時点までのセンサデータに含まれる統計的な特徴を抽出した特徴量を計算する。状態診断部は、特徴量に基づいて機械装置の状態を診断する。
【発明の効果】
【０００９】
本開示に係る情報処理装置によれば、計算能力の高い計算機及び記憶容量の大きな計算機を用いることなく、機械装置の状態を診断するための情報処理を実施できるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１における情報処理装置を含む情報処理システムの構成例を示す図
【図２】実施の形態１における機械装置及びその周辺装置のハードウェア構成例を示す図
【図３】図２に示すドライバが備える処理回路をプロセッサ及びメモリで構成する場合の構成例を示す図
【図４】図２に示すドライバが備える処理回路を専用のハードウェアで構成する場合の構成例を示す図
【図５】実施の形態１におけるモータ速度及びモータトルクの時系列の波形を示す図
【図６】実施の形態１におけるモータトルク及び各種の特徴量の時系列の波形を示す図
【図７】実施の形態１における特徴量の経年変化の様子の一例を示す図
【図８】実施の形態１における情報処理方法の説明に供するフローチャート
【図９】実施の形態２における情報処理装置を含む情報処理システムの構成例を示す図
【図１０】実施の形態２におけるモータトルク及び各種の特徴量の時系列の波形を示す図
【図１１】実施の形態３における情報処理装置を含む情報処理システムの構成例を示す図
【図１２】実施の形態３におけるモータトルク及び各種の特徴量の時系列の波形を示す図
【図１３】実施の形態４における情報処理装置を含む情報処理システムの構成例を示す図
【図１４】実施の形態４におけるモータトルク及び各種の特徴量の時系列の波形を示す図
【図１５】図１４に示す初期化トリガ及び収束度の時系列の波形を時刻Ｔｒ２から時刻Ｔｒ３までの期間に渡って拡大した図
【図１６】実施の形態５における情報処理装置を含む情報処理システムの構成例を示す図
【図１７】実施の形態５における状態診断部の構成例を示す図
【図１８】実施の形態５における特徴量とモータ速度の設定値との関係を示す図
【図１９】実施の形態５における主成分分析の結果を示す図
【図２０】実施の形態５における主成分分析の異常度を示す図
【図２１】実施の形態５における異常度の経年変化の様子の一例を示す図
【図２２】実施の形態６における情報処理装置を含む情報処理システムの構成例を示す図
【図２３】実施の形態６における状態診断部の構成例を示す図
【図２４】実施の形態６における状態推定部の構造の例を示す図
【発明を実施するための形態】
【００１１】
以下に、本開示の実施の形態における情報処理装置及び情報処理方法を図面に基づいて詳細に説明する。
【００１２】
実施の形態１．
図１は、実施の形態１における情報処理装置１０００を含む情報処理システム１００の構成例を示す図である。情報処理システム１００は、図１に示すように、情報処理装置１０００と、機械装置１００８と、センサ１０１０と、モータ１００９と、装置制御部１０９９とを備える。モータ１００９は、機械装置１００８に駆動力を付与することで機械装置１００８を駆動する。機械装置１００８がモータ１００９によって駆動される際、センサ１０１０は機械装置１００８の物理量を計測する。機械装置１００８が計測する物理量の例は、位置、速度、加速度、動作指令、電流、電圧、トルク、力、圧力、音声、又は光量である。なお、本実施の形態では、モータ速度及びモータトルクを一例として説明する。モータ速度はモータ１００９の回転速度であり、モータトルクはモータ１００９が発生するトルクである。
【００１３】
センサ１０１０は、物理量の計測値を含むセンサ信号を情報処理装置１０００及び装置制御部１０９９に出力する。装置制御部１０９９は、センサ信号に基づいて、モータ１００９を制御するための制御信号を決定する。モータ１００９は、装置制御部１０９９から出力される制御信号によって制御される。
【００１４】
情報処理装置１０００は、センサデータ取得部１００１と、内部変数保持部１００２と、内部変数計算部１００３と、特徴量計算部１００４と、初期化処理部１００５と、状態診断部１００６とを備える。
【００１５】
センサデータ取得部１００１は、センサ１０１０によって計測された機械装置１００８の物理量の計測値を取得する。前述したように、物理量の計測値は、センサ１０１０が送信するセンサ信号に含まれている。また、センサデータ取得部１００１は、取得した計測値のうちの第１時点から第Ｎ時点までの計測値をセンサデータとして保持する。ここで、Ｎは２以上の整数である。内部変数保持部１００２は、当該Ｎよりも少ない個数の内部変数を一時的に保持する。内部変数は、センサデータに基づいて時系列に順次計算される変数である。内部変数は、特徴量の計算に用いられる。内部変数及び特徴量の詳細は、後述する。
【００１６】
内部変数計算部１００３は、センサデータ取得部１００１から送信されるセンサデータと、内部変数保持部１００２から送信される内部変数とを受信する。内部変数計算部１００３は、センサデータと内部変数とに基づいて内部変数を更新する。より一般化して説明すると、内部変数計算部１００３は、第ｊ＋１時点に対応する内部変数を、第ｊ＋１時点のセンサデータと第ｊ時点に対応する内部変数とに基づいて計算することで、内部変数を逐次的に更新していく。ここで、ｊは１からＮ−１までの整数である。即ち、内部変数計算部１００３は、ある時点でのセンサデータと、ある時点よりも１時点前の内部変数に基づいて、当該ある時点における内部変数を計算する。計算された内部変数は、内部変数保持部１００２に送信される。
【００１７】
特徴量計算部１００４は、センサデータ取得部１００１から送信されるセンサデータと、内部変数保持部１００２から送信される内部変数とを受信する。特徴量計算部１００４は、センサデータ及び内部変数に基づいて特徴量を計算する。より一般化して説明すると、特徴量計算部１００４は、内部変数に基づいて、第１時点から第Ｎ時点までのセンサデータに含まれる統計的な特徴を抽出した特徴量を計算する。計算された特徴量は、状態診断部１００６に送信される。
【００１８】
初期化処理部１００５は、初期化処理を実行する。初期化処理は、内部変数保持部１００２が保持する内部変数を初期値に設定する処理である。より一般化して説明すると、初期化処理部１００５は、第１時点の内部変数を、予め設定した最大値と予め設定した最小値との間の値に決定する処理を行う。
【００１９】
状態診断部１００６は、特徴量に基づいて機械装置１００８の状態を診断する診断処理を行い、診断処理の結果である診断結果を出力する。
【００２０】
図２は、実施の形態１における機械装置１００８及びその周辺装置のハードウェア構成例を示す図である。図２には、機械装置１００８の構成例として、サーボモータ１２３０を駆動源として用いた機械装置１００８が示されている。サーボモータ１２３０が発生した駆動トルクは、サーボモータ軸１２３１から出力され、カップリング１２２０を介してボールねじ軸１２２４に入力される。ボールねじ１２１０は、回転動作をねじ機構で直動の動作に変換し、可動部１２１２を動作させる。なお、図示は省略するが、可動部１２１２は、異なる機械部品に接続され、可動された機械部品が機械装置１００８の目的に応じて利用される。
【００２１】
可動部１２１２は、ガイド１２１３で所望の方向へ移動を制限される。ガイド１２１３は、機械装置１００８が精度良く動作できるように可動部１２１２を補助している。サーボモータ１２３０には、図示のように、サーボモータ軸１２３１を予め定めた、位置、速度又はトルクに追従して駆動できるように、回転角度を計測するエンコーダ１２３３と、電流を計測する電流センサ１２３２とが併設されているのが一般的である。ドライバ１２４０は、電流センサ１２３２から得た情報を元にフィードバック制御を行い、駆動に必要な電力をサーボモータ１２３０に供給する。フィードバック制御に必要な計算は、図１の装置制御部１０９９が実施する。なお、本実施の形態では、状態を診断するために用いるセンサデータの例として、モータトルクを例示するが、これに限定されない。機械装置１００８の状態が情報として含まれるものならよく、前述した、位置、速度、加速度、電流、電圧、トルク、力、圧力、音声、光量などの物理量でもよい。また、これらの物理量に代えて、画像情報などでもよい。
【００２２】
また、図２では、センサ１０１０の例として、電流センサ１２３２及びエンコーダ１２３３を例示しているが、これらに限定されない。他の例として、レーザ変位計、ジャイロセンサ、振動計、加速度センサ、電圧計、トルクセンサ、圧力センサ、マイク、光センサ、カメラなどが例示できる。また、センサ１０１０の取り付け位置は、必ずしもサーボモータ１２３０に近接している必要はなく、機械装置１００８の状態を診断するのに適している位置であればよい。例えば、加速度センサをガイド１２１３の外面等に設置し、センサデータとして加速度を計測してもよい。
【００２３】
ＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）１２６０は、サーボモータ１２３０の動作命令をドライバ１２４０へ送る。また、必要に応じてＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）１２７０が、用意される場合がある。この場合、ＰＣ１２７０は、ＰＬＣ１２６０へ命令を発信するために使用される。ＰＣ１２７０として、産業用ＰＣ（Ｆａｃｔｏｒｙ  Ａｕｔｏｍａｔｉｏｎ  ＰＣ又はＩｎｄｕｓｔｒｉａｌ  ＰＣ）が用いられる場合もある。
【００２４】
また、図示のように、ＰＬＣ１２６０の状態をモニタするＰＬＣ用の表示器１２５０と、ＰＣ１２７０の状態をモニタするＰＣ用の表示器１２８０とが用意される場合がある。なお、図示は省略するが、サーボモータ１２３０等の駆動源は、一つの機械装置１００８に複数設けられることが一般的である。このため、ドライバ１２４０も必要に応じて複数用意されることがある。また、単一のＰＬＣ１２６０が統括して、或いは複数のＰＬＣ１２６０が協調して機械装置１００８を動作させる場合がある。これらの構成の場合にも、本実施の形態で示す情報処理装置１０００は、同様に実施可能である。
【００２５】
図３は、図２に示すドライバ１２４０が備える処理回路をプロセッサ１２９１及びメモリ１２９２で構成する場合の構成例を示す図である。処理回路がプロセッサ１２９１及びメモリ１２９２で構成される場合、ドライバ１２４０の処理回路の各機能は、ソフトウェア、ファームウェア、又はソフトウェアとファームウェアとの組み合わせによって実現される。ソフトウェア又はファームウェアはプログラムとして記述され、メモリ１２９２に格納される。処理回路では、メモリ１２９２に記憶されたプログラムをプロセッサ１２９１が読み出して実行することによって、各機能を実現する。即ち、処理回路は、ドライバ１２４０の処理が結果的に実行されることになるプログラムを格納するためのメモリ１２９２を備える。また、これらのプログラムは、ドライバ１２４０の手順及び方法をコンピュータに実行させるものであるとも言える。
【００２６】
ここで、プロセッサ１２９１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、又はＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）と称される演算手段であってもよい。メモリ１２９２は、例えば、ＲＡＭ、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭ（登録商標）（Ｅｌｅｃｔｒｉｃａｌｌｙ  ＥＰＲＯＭ）などの、不揮発性又は揮発性の半導体メモリとしてもよい。また、メモリ１２９２を、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、又はＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）などの、記憶手段としてもよい。
【００２７】
図４は、図２に示すドライバ１２４０が備える処理回路を専用のハードウェアで構成する場合の構成例を示す図である。処理回路が専用のハードウェアで構成される場合、図４に示す処理回路１２９３は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、又はこれらを組み合わせたものとしてもよい。ドライバ１２４０の機能を、機能毎に処理回路１２９３によって実現してもよく、複数の機能をまとめて処理回路１２９３によって実現してもよい。なお、ドライバ１２４０とＰＬＣ１２６０とは、ネットワークを介して接続してもよい。また、ＰＣ１２７０は、クラウドサーバ上に存在してもよい。
【００２８】
ハードウェア構成の一例は前述の通りであるが、ドライバ１２４０、ＰＬＣ１２６０、ＰＣ１２７０は必須ではなく、本開示に係る情報処理装置を実施するためのデバイスを別途用意し、当該デバイスの内部で実施してもよい。例えば、バッテリ、マイコン、センサ、表示器、通信機能を備えた単独のデバイスを使用し、機械装置１００８の音声をマイクで取得したセンサデータに基づいて、機械装置１００８の状態を推定する構成としてもよい。
【００２９】
また、表示器類は必須ではなく、ＰＬＣ用の表示器１２５０又はＰＣ用の表示器１２８０で結果を表示する代わりに、ドライバ１２４０、ＰＬＣ１２６０に備えられた既存のＬＥＤなどを使用して、結果を表示してもよい。また、表示器で結果を示さずに、異常が生じたことを診断した際にサーボモータ１２３０の駆動を停止するような構成にしてもよい。
【００３０】
また、本実施の形態では、モータ速度をサーボモータ１２３０に備えられたエンコーダ１２３３から得ることとして説明したが、これに限定されない。例えば、図１の構成において、モータ１００９へ駆動の命令を下す装置制御部１０９９からの制御信号を用いてモータ速度を得るようにしてもよい。
【００３１】
また、本実施の形態において、サーボモータ１２３０は回転型のサーボモータとして説明としたが、リニア型のサーボモータ、誘導機モータ、ステッピングモータ、ブラシモータ、超音波モータ等、その他のモータ又は駆動源を用いて実施してもよい。また、ボールねじ１２１０及びカップリング１２２０は、構成品の例であってこれらに限定されない。減速機、ガイド、ベルト、スクリュー、ポンプ、ベアリング、筐体等、その他多様な部品で構成された機械装置に対しても、本開示に係る情報処理装置への適用は可能である。
【００３２】
次に、実施の形態１における情報処理装置１０００の動作について、図面及び数式を用いて詳細に説明する。まず、サーボモータ１２３０を用いて機械装置１００８を駆動した際に電流センサ１２３２から得られるセンサデータに関して、図５を用いて説明する。図５は、実施の形態１におけるモータ速度及びモータトルクの時系列の波形を示す図である。
【００３３】
電流センサ１２３２から直接得られる信号は、モータ１００９内を流れる三相の電流を計測した信号である。モータトルクは、三相の電流に適切な変換を施すことで計算することができる。なお、電流センサ１２３２によって検出された三相の電流値を、センサデータとして診断に用いてもよい。また、エンコーダ１２３３から得られる信号は、モータ１００９の回転角度を表す位置情報である。従って、位置情報に対して数値微分等の処理を施せば、モータ１００９の回転速度であるモータ速度が得られる。このため、電流センサ１２３２から得られる信号に代えて、エンコーダ１２３３から得られる信号をセンサデータとして診断に用いてもよい。
【００３４】
図５（ａ）、（ｂ）の横軸は、時間を表している。図５（ａ）にはモータ速度の時系列の波形が示され、図５（ｂ）にはモータトルクの時系列の波形が示されている。これらは、モータ１００９が停止している状態から位置決めと呼ばれる単発の駆動を実施した際の波形である。また、図５（ｂ）の波形の取得周期であるサンプリング周期は０．５ミリ秒であり、取得時間は６秒である。従って、センサデータの点数であるデータ点数Ｎは、１２０００点（＝６０００ミリ秒÷０．５ミリ秒）である。なお、ここで示すサンプリング周期、取得時間及びデータ点数Ｎは一例であり、これらの数値に限定されるものではない。また、本例では、位置決めの回数は１回としているが、位置決めの回数は複数回でもよい。また、ここでは、モータ１００９を位置決めする場合の動作について説明するが、これに限定されない。本実施の形態は、位置決め以外の制御、例えば速度制御又はトルク制御への適用も可能である。
【００３５】
図５（ａ）のモータ速度に関して説明する。まず、時刻Ｔｒ０から時刻Ｔｒ１の間は、モータ１００９は停止しており、モータ速度は０［ｒ／ｍｉｎ］である。この期間を「Ｔｓ１」と表記する。続いて、時刻Ｔｒ１から時刻Ｔｒ２の間にモータ１００９は加速し、モータ速度は５００［ｒ／ｍｉｎ］まで上昇する。この期間を「Ｔａ」と表記する。続いて、時刻Ｔｒ２から時刻Ｔｒ３の間は、モータ速度は一定で５００［ｒ／ｍｉｎ］のままである。この期間を「Ｔｅ」と表記する。続いて、時刻Ｔｒ３から時刻Ｔｒ４の間にモータ１００９は減速し、モータ速度は０［ｒ／ｍｉｎ］まで下降する。この期間を「Ｔｄ」と表記する。続いて、時刻Ｔｒ４から時刻Ｔｒ５の間は、モータ１００９は停止しており、モータ速度０［ｒ／ｍｉｎ］のままである。この期間を「Ｔｓ２」と表記する。以上の動作を図示すると、図５（ａ）に示されるような台形状の波形となる。なお、このような台形状の波形は一例であり、これに限定されない。モータ１００９の駆動に伴うセンサデータから機械装置１００８の状態が得られる動作であればよく、モータ速度の波形の形状はどのようなものでもよい。
【００３６】
次に、図５（ｂ）のモータトルクに関して説明する。期間Ｔｓ１において、モータ１００９は停止しており、モータ１００９の動作に必要なモータトルクはほぼ０［Ｎｍ］である。続く期間Ｔａでは、機械装置１００８を加速させるためのトルクが必要となり、期間Ｔｓ１よりも大きなモータトルクが発生する。なお、粘性摩擦等の影響により機械装置１００８に粘性摩擦が存在すると、図５のように、速度に応じて必要なトルクが徐々に大きくなる場合もある。続く期間Ｔｅでは、機械装置１００８の速度は変わらず、ほぼ一定のモータトルクが発生している。続く期間Ｔｄでは、機械装置１００８を減速させるためのトルクが必要となり、期間Ｔｅのモータトルクから見て負方向にモータトルクが発生する。最後の期間Ｔｓ２において、モータ１００９は停止しており、モータ１００９の動作に必要なモータトルクは、ほぼ０［Ｎｍ］である。
【００３７】
以上に説明したモータトルクは、ほぼ理想的な機械装置１００８の動作に必要なトルクである。但し、実際には、電気的な振動、又は機械的な振動、摩擦等の影響により、図５（ｂ）に示すような、大なり小なりのノイズがモータトルクに発生する。機械装置１００８の部品であるボールねじ軸１２２４、ガイド１２１３、カップリング１２２０等が劣化した場合、前述の摩擦又は振動の大きさが変化し、モータトルクを含むセンサデータに摩擦又は振動の影響が現れることが知られている。そのため、センサデータを統計的な手法で解析し、特徴量と呼ばれる幾つかの指標を計算して装置の異常を検出することが行われる。
【００３８】
センサデータ取得部１００１は、センサ１０１０から時系列に逐次生成されるセンサ信号を取得し、デジタル化されたセンサデータを生成する。生成されたセンサデータは、内部変数計算部１００３及び特徴量計算部１００４のうちの少なくとも一つに渡される。センサデータ取得部１００１は、センサデータを生成する際、必要に応じて機械装置１００８の状態に関係のないノイズを除去するフィルタ処理を実行してもよい。
【００３９】
次に、内部変数保持部１００２、内部変数計算部１００３、特徴量計算部１００４及び初期化処理部１００５の機能及び動作について、幾つかの種類の特徴量を例にとり、詳細に説明する。
【００４０】
まず、時刻及びセンサデータの数式中の表記に関して説明する。特徴量計算に用いるセンサデータの取得を開始した時点を「第１時点」と呼ぶ。センサデータは、第１時点から第Ｎ時点までに、合計でＮ個得られる。ここで、Ｎは２以上の整数である。また、第ｊ番目のセンサデータを取得した時点を「第ｊ時点」と呼ぶ。ここで、ｊは１からＮ−１までの整数である。第ｊ時点で得られたセンサデータを「ｘｊ」と記す。以降、説明を簡単にするため、センサデータは、予め定めた時間間隔毎に取得されることとする。なお、言うまでもないが、センサデータは、不定期に取得されてもよい。
【００４１】
内部変数保持部１００２は、１時点前の内部変数を保持する。内部変数は１種類とは限らず、特徴量に応じて複数種類保持する場合もある。保持する内部変数の種類が、特徴量の計算の基となるセンサデータの時系列の数よりも小さいほど、メモリの削減効果が高い。内部変数保持部１００２は、特徴量それ自体を内部変数の一つの種類として保持してもよい。
【００４２】
初期化処理部１００５は、保持した内部変数を初期値に設定する初期化処理を実行する。初期値は、初期化処理の際に設定する値である。初期化処理部１００５は、例えば情報処理装置１０００の電源が投入され、センサデータ取得部１００１が最初にセンサデータを取得した時刻である第１時点で初期化処理を実施する。初期値は、後述するように０とするのが簡単であるが、必ずしも０でなくともよい。例えば、適切な初期値の付近に上限値と下限値を定め、初期値を上限値と下限値との間に適宜決定してもよい。なお、後述する一部の特徴量は、内部変数及び特徴量の初期値を極端に小さい値にすると計算が安定しない場合がある。この場合、初期値を０以外の値にすることで計算が安定化する。また、センサデータに対する定常的な値が０でない特徴量も存在する。そのような特徴量を用いる場合、想定される特徴量の値を初期値とすることで、計算の収束を早めることができる。例えば、本実施の形態で示す特徴量の一つである尖度は、正規分布に近い性質を持つセンサデータに対して３程度の値になることが知られている。そのため、尖度の初期値を３にすることで、多くの種類のセンサに対して収束の早い計算が行える。以降、特徴量の具体的な例として、平均値、分散、標準偏差、二乗平均平方根、歪度、尖度、最大値、最小値、ピーク値、ピークピーク値及び波高率を用いたときの、各特徴量の逐次的な計算方法を、その導出手順と共に示す。なお、以降、各特徴量の逐次的な計算を、単に「逐次計算」と呼ぶ場合がある。
【００４３】
まず、特徴量の最も単純な一例として、平均値ｍの逐次計算に関する計算手順を示す。第１時点から第ｊ時点までのセンサデータｘ１〜ｘｊに対する平均値ｍｊは、以下の公知の数式（１）で定義される。この数式（１）は、算術平均値又は相加平均値とも呼ばれる。
【００４４】
【数１】
0006935046.tif 000002
【００４５】
前述のように、第ｉ時点のセンサデータはｘｊである。従って、第３時点の平均値ｍ３は、以下の数式（２）のように表せる。
【００４６】
【数２】
0006935046.tif 000003
【００４７】
ここで、第１時点から第３時点までの時系列のセンサデータをメモリ１２９２には記憶せず、第３時点の情報を幾つかの内部変数として保持する。そして、第３時点の内部変数と第４時点のセンサデータとに基づいて、第４時点の平均値を求める方法を考える。まず、第４時点の平均値ｍ４は、定義式である数式（１）に従って、以下の数式（３）のように表せる。
【００４８】
【数３】
0006935046.tif 000004
【００４９】
上記の数式（３）を用いて平均値ｍ４を算出する場合、第１から第４時点までの時系列のセンサデータを用いており、過去のサンプル数分のセンサデータを保持するメモリが必要となる。しかし、第３時点での平均値ｍ３と、第３時点までのセンサデータの点数を表す変数Ｌ３＝３を内部変数として保持すれば、第４時点の平均値ｍ４は、以下の数式（４）で表せる。
【００５０】
【数４】
0006935046.tif 000005
【００５１】
上記の数式（４）に、数式（２）及びＬ３＝３を代入すると、平均値ｍ４を定義式で求めた数式（３）の結果と一致する。
【００５２】
一般化して考えると、第ｊ＋１時点の平均値ｍｊ＋１は、以下の数式（５）のように表せる。
【００５３】
【数５】
0006935046.tif 000006
【００５４】
即ち、第ｊ＋１時点の平均値ｍｊ＋１は、以下の数式（６）で逐次的に求められる。
【００５５】
【数６】
0006935046.tif 000007
【００５６】
ここで、第ｊ＋１時点の変数Ｌｊ＋１は、以下の数式（７）で逐次的に求まる。
【００５７】
【数７】
0006935046.tif 000008
【００５８】
上記の数式（７）で第ｊ時点の変数を保持することは、逐次計算中の時刻ｊの情報を保持していることと等しい。センサデータｘｊ＋１は、第ｊ＋１時点で新しく取得される。結果として、第ｊ＋１時点の平均値ｍｊ＋１を求めるために第ｊ時点で保持すべき内部変数は、平均値ｍｊ及び変数Ｌｊである。
【００５９】
第２時点の内部変数を計算する際、簡単のため、変数Ｌ及び平均値ｍの初期値Ｌ１，ｍ１は０とするか、初期化処理直後の変動を避けるため、初期化処理時のセンサデータの値に応じて決定するのがよい。例えば、特徴量に平均値を用いる場合、変数Ｌの初期値Ｌ１＝０、平均値ｍの初期値ｍ１＝ｘ１とすると、結果が定義式である数式（１）と一致する。
【００６０】
次に、特徴量の一例として、分散ｖの逐次計算に関する計算手順を示す。第１時点から第ｊ時点までのセンサデータｘ１〜ｘｊに対する分散ｖｊは、以下の公知の数式（８）で定義される。
【００６１】
【数８】
0006935046.tif 000009
【００６２】
なお、上記の数式（８）の代わりに、分母をｊ−１とする不偏分散を用いることもあるが、その場合も同様の手順で導出可能である。
【００６３】
ここで、センサデータを確率変数と見なすと、その分散ｖは、以下の数式（９）で表せるということが知られている。
【００６４】
【数９】
0006935046.tif 000010
【００６５】
上記数式（９）において、記号“Ｅ［］”は、角括弧内の確率変数の期待値を表している。従って、上記数式（９）を用いて上記数式（８）に示される第ｊ時点の分散ｖｊは、以下の数式（１０）で表せる。
【００６６】
【数１０】
0006935046.tif 000011
【００６７】
従って、第１時点から第ｊ＋１時点までのセンサデータｘ１〜ｘｊ＋１に対する分散ｖｊ＋１は、以下の数式（１１）で表せる。
【００６８】
【数１１】
0006935046.tif 000012
【００６９】
また、上記の数式（１１）を変形すると、分散ｖｊ＋１は、以下の数式（１２）で表せる。
【００７０】
【数１２】
0006935046.tif 000013
【００７１】
そして、上記の数式（１０）と数式（１２）とから、以下の数式（１３）が導かれる。
【００７２】
【数１３】
0006935046.tif 000014
【００７３】
従って、上記の数式（１３）より、第ｊ＋１時点の分散ｖｊ＋１は、以下の数式（１４）で逐次的に求められる。
【００７４】
【数１４】
0006935046.tif 000015
【００７５】
上記のように、第ｊ＋１時点の変数Ｌｊ＋１は、前述の数式（７）で逐次的に求められる。また、第ｊ＋１時点の平均値ｍｊ＋１は、前述の数式（６）で逐次的に求められる。そして、第ｊ＋１時点のセンサデータｘｊ＋１は、第ｊ＋１時点で新しく取得される。結果として、第ｊ＋１時点の分散ｖｊ＋１を求めるために第ｊ時点で保持すべき内部変数は、変数Ｌｊ、分散ｖｊ及び平均値ｍｊである。なお、分散ｖｊに代えて標準偏差ｓｊを保持してもよい。
【００７６】
第２時点の内部変数を計算する際、簡単のため、変数Ｌ及び分散ｖの初期値Ｌ１，ｖ１は０とするか、初期化処理直後の変動を避けるため、初期化処理時のセンサデータの値等に応じて決定するのがよい。ただし、分散ｖの初期値ｖ１を０に近い値に設定すると、後述の別の特徴量の逐次計算で分散ｖが分母に現れる場合に計算が安定しない。このため、０よりもある程度大きい値を初期値に用いるとよい場合もある。
【００７７】
次に、特徴量の一例として、標準偏差ｓの逐次計算に関する計算手順を示す。第１時点から第ｊ時点までのセンサデータｘ１〜ｘｊに対する標準偏差ｓｊは、以下の公知の数式（１５）で定義される。
【００７８】
【数１５】
0006935046.tif 000016
【００７９】
即ち、標準偏差ｓｊは、前述の手順で逐次的に求めた分散ｖｊから直ちに求まる。そのため、標準偏差ｓｊを逐次的に計算するために保持すべき内部変数は、分散ｖｊと同じである。
【００８０】
次に、特徴量の一例として、二乗平均平方根ｒの逐次計算に関する計算手順を示す。第１時点から第ｊ時点までのセンサデータｘ１〜ｘｊに対する二乗平均平方根ｒｊは、以下の公知の数式（１６）で定義される。これは、ＲＭＳ（Ｒｏｏｔ  Ｍｅａｎ  Ｓｑｕａｒｅ：実効値）とも呼ばれる。
【００８１】
【数１６】
0006935046.tif 000017
【００８２】
従って、第１時点から第ｊ＋１時点までのセンサデータに対する二乗平均平方根ｒｊ＋１は、以下の数式（１７）のように表せる。
【００８３】
【数１７】
0006935046.tif 000018
【００８４】
上記の数式（１６）と数式（１７）とから、二乗平均平方根の二乗ｒｊ＋１２は、以下の数式（１８）のように表せる。
【００８５】
【数１８】
0006935046.tif 000019
【００８６】
上記の数式（１８）より、第ｊ＋１時点の二乗平均平方根の二乗ｒｊ＋１２は、以下の数式（１９）で逐次的に求められる。
【００８７】
【数１９】
0006935046.tif 000020
【００８８】
上記のように、第ｊ＋１時点の変数Ｌｊ＋１は、前述の数式（７）で逐次的に求められる。また、第ｊ＋１時点のセンサデータｘｊ＋１は、第ｊ＋１時点で新しく取得される。結果として、第ｊ＋１時点の二乗平均平方根の二乗ｒｊ２を求めるために第ｊ時点で保持すべき内部変数は、二乗平均平方根の二乗ｒｊ２及び変数Ｌｊである。
【００８９】
第２時点の内部変数を計算する際、簡単のため、変数Ｌ及び二乗平均平方根の二乗ｒｊ２の初期値Ｌ１，ｒ１２は０とするか、初期化処理直後の変動を避けるため初期化処理時のセンサデータの値等に応じて決定するのがよい。
【００９０】
次に、特徴量の一例として、歪度ｗの逐次計算に関する計算手順を示す。センサデータｘを確率変数と見なし、確率変数ｘの平均値ｍ及び標準偏差ｓを用いると、歪度ｗは、以下の公知の数式（２０）で定義される。
【００９１】
【数２０】
0006935046.tif 000021
【００９２】
前述したように、記号“Ｅ［］”は、角括弧内の確率変数の期待値を表している。上記の数式（２０）を展開し、整理すると、以下の数式（２１）のように表せる。
【００９３】
【数２１】
0006935046.tif 000022
【００９４】
上記の数式（２１）の変形では、センサデータｘの期待値Ｅ［ｘ］が、平均値ｍと等しいという性質を利用している。
【００９５】
次に、第１時点から第ｊ時点までのセンサデータｘ１〜ｘｊに対する歪度ｗｊについて考える。上記数式（２１）において、右辺の分子第１項の期待値Ｅ［ｘ３］を変数Ａｊで表し、右辺の分子第２項の期待値を変数Ｂｊで表すと、歪度ｗｊは、以下の数式（２２）のように表せる。
【００９６】
【数２２】
0006935046.tif 000023
【００９７】
上記の数式（２２）において、右辺の分母にある標準偏差ｓｊに関しては、前述の数式（１５）で逐次的に計算できる。
【００９８】
次に、上記の数式（２２）の第ｊ時点の変数Ａｊ，Ｂｊに関する逐次計算を考える。まず、第ｊ時点の変数Ａｊは、以下の数式（２３）で表せる。
【００９９】
【数２３】
0006935046.tif 000024
【０１００】
同様に、第ｊ＋１時点の変数Ａｊ＋１は、以下の数式（２４）で表せる。
【０１０１】
【数２４】
0006935046.tif 000025
【０１０２】
上記の数式（２３）と数式（２４）とから、変数Ａｊ＋１は、以下の数式（２５）のように表せる。
【０１０３】
【数２５】
0006935046.tif 000026
【０１０４】
従って、上記の数式（２５）より、第ｊ＋１時点の変数Ａｊ＋１は、以下の数式（２６）で逐次的に求められる。
【０１０５】
【数２６】
0006935046.tif 000027
【０１０６】
上記のように、第ｊ＋１時点の変数Ｌｊ＋１は、前述の数式（７）で逐次的に求められる。また、第ｊ＋１時点のセンサデータｘｊ＋１は、第ｊ＋１時点で新しく取得される。ここで、第ｊ＋１時点の変数Ａｊ＋１を求めるために第ｊ時点で保持すべき内部変数は、変数Ａｊ及び変数Ｌｊである。
【０１０７】
また、第ｊ時点の変数Ｂｊは、以下の数式（２７）で表せる。
【０１０８】
【数２７】
0006935046.tif 000028
【０１０９】
上記の数式（２７）のように、変数Ｂｊは前述の二乗平均平方根の二乗ｒｊ２と一致することが分かり、これは前述の数式（１９）で逐次的に求められる。従って、第１時点から第ｊ時点までのセンサデータｘ１〜ｘｊに対する歪度ｗｊは、以下の数式（２８）で求まる。
【０１１０】
【数２８】
0006935046.tif 000029
【０１１１】
同様に、第１時点から第ｊ＋１時点までのセンサデータｘｊ＋１に対する歪度ｗｊ＋１は、以下の数式（２９）で求まる。
【０１１２】
【数２９】
0006935046.tif 000030
【０１１３】
上記のように、第ｊ＋１時点の変数Ａｊ＋１は、前述の数式（２６）で逐次的に求められる。また、第ｊ＋１時点の平均値ｍｊ＋１は、前述の数式（６）で逐次的に求められる。そして、第ｊ＋１時点の二乗平均平方根の二乗ｒｊ２は、前述の数式（１９）で逐次的に求められる。また、第ｊ＋１時点の標準偏差ｓｊ＋１は、前述の数式（１５）で逐次的に求められる。そして、第ｊ＋１時点のセンサデータｘｊ＋１は、第ｊ＋１時点で新しく取得される。結果として、第１時点から第ｊ＋１時点までのセンサデータｘｊ＋１に対する歪度ｗｊ＋１を求めるために、第ｊ時点で保持すべき内部変数は、変数Ａｊ，Ｌｊ、平均値ｍｊ、二乗平均平方根の二乗ｒｊ２及び標準偏差ｓｊである。標準偏差ｓｊに代えて分散ｖｊを保持してもよい。また、二乗平均平方根の二乗ｒｊ２に代えて二乗平均平方根ｒｊを保持してもよい。
【０１１４】
なお、数式が煩雑になるため割愛するが、逐次計算のための変数Ａｊに代えて、歪度ｗｊを保持しても同様の計算結果が得られる数式が求まる。また、第２時点の内部変数を計算する際、簡単のため、変数Ａｊ，Ｌｊ、及び平均値ｍｊ、二乗平均平方根の二乗ｒｊ２、標準偏差ｓｊの各初期値は０とするか、初期化処理直後の変動を避けるため、初期化処理時のセンサデータの値等に応じて決定するのがよい。
【０１１５】
次に、特徴量の一例として、尖度ｋの逐次計算に関する計算手順を示す。センサデータｘを確率変数と見なし、確率変数ｘの標準偏差ｓｊを用いると、尖度ｋは、以下の公知の数式（３０）で定義される。
【０１１６】
【数３０】
0006935046.tif 000031
【０１１７】
前述したように、記号“Ｅ［］”は、角括弧内の確率変数の期待値を表している。なお、本稿で説明する計算方法では、正規分布となる確率変数に対する尖度は３である。本稿と異なる定義として、正規分布の尖度が０となるよう、数式（３０）の右辺に“−３”のバイアスをかける定義も存在するが、同様の手順で以下の数式に対応する数式の導出が可能である。
【０１１８】
上記の数式（３０）を展開し、整理すると、以下の数式（３１）のように表せる。
【０１１９】
【数３１】
0006935046.tif 000032
【０１２０】
上記の数式（３１）の変形では、センサデータｘの期待値Ｅ［ｘ］が、平均値ｍと等しいという性質を利用している。
【０１２１】
次に、第１時点から第ｊ時点までのセンサデータｘ１〜ｘｊに対する尖度ｋｊについて考える。上記数式（３１）において、右辺の分子第１項の期待値Ｅ［ｘ４］を変数Ｃｊで表す。また、右辺の分子第２項の期待値及び第３項の期待値は、それぞれ変数Ａｊ，Ｂｊで表せる。従って、尖度ｋｊは、以下の数式（３２）で表せる。
【０１２２】
【数３２】
0006935046.tif 000033
【０１２３】
上記の数式（３２）において、標準偏差ｓｊ、変数Ａｊ，Ｂｊに関しては、それぞれ前述の数式（１５）、数式（２６）及び数式（２７）で逐次的に計算できる。
【０１２４】
次に、上記の数式（３２）の第ｊ時点の変数Ｃｊに関する逐次計算を考える。まず、第ｊ時点の変数Ｃｊは、以下の数式（３３）で表せる。
【０１２５】
【数３３】
0006935046.tif 000034
【０１２６】
同様に、第ｊ＋１時点の変数Ｃｊ＋１は、以下の数式（３４）で表せる。
【０１２７】
【数３４】
0006935046.tif 000035
【０１２８】
上記の数式（３３）と数式（３４）とから、変数Ｃｊ＋１は、以下の数式（３５）のように表せる。
【０１２９】
【数３５】
0006935046.tif 000036
【０１３０】
上記の数式（３５）より、第ｊ＋１時点の変数Ｃｊ＋１は、以下の数式（３６）で逐次的に求められる。
【０１３１】
【数３６】
0006935046.tif 000037
【０１３２】
ここで、上記数式（２７）のように、変数Ｂｊは、前述の二乗平均平方根の二乗ｒｊ２と一致する。従って、第１時点から第ｊ時点までのセンサデータｘ１〜ｘｊに対する尖度ｋｊは、以下の数式（３７）で求まる。
【０１３３】
【数３７】
0006935046.tif 000038
【０１３４】
同様に、第１時点から第ｊ＋１時点までのセンサデータｘ１〜ｘｊ＋１に対する尖度ｋｊ＋１は、以下の数式（３８）で求まる。
【０１３５】
【数３８】
0006935046.tif 000039
【０１３６】
上記のように、第ｊ＋１時点の変数Ｃｊ＋１は、前述の数式（３６）で逐次的に求められる。また、第ｊ＋１時点の変数Ａｊ＋１は、前述の数式（２６）で逐次的に求められる。そして、第ｊ＋１時点の平均値ｍｊ＋１は、前述の数式（６）で逐次的に求められる。また、第ｊ＋１時点の二乗平均平方根の二乗ｒｊ２は、前述の数式（１９）で逐次的に求められる。また、第ｊ＋１時点の標準偏差ｓｊ＋１は、前述の数式（１５）で逐次的に求められる。そして、第ｊ＋１時点のセンサデータｘｊ＋１は、第ｊ＋１時点で新しく取得される。結果として、第１時点から第ｊ＋１時点までのセンサデータｘｊ＋１に対する尖度ｋｊ＋１を求めるために、第ｊ時点で保持すべき内部変数は、変数Ａｊ，Ｌｊ，Ｃｊ、平均値ｍｊ、二乗平均平方根の二乗ｒｊ２、標準偏差ｓｊである。標準偏差ｓｊに代えて分散ｖｊを保持してもよい。また、二乗平均平方根の二乗ｒｊ２に代えて二乗平均平方根ｒｊを保持してもよい。
【０１３７】
なお、第２時点の内部変数を計算する際、簡単のため、変数Ａｊ，Ｌｊ，Ｃｊ、及び平均値ｍｊ、二乗平均平方根の二乗ｒｊ２、標準偏差ｓｊの各初期値は０とするか、初期化処理直後の変動を避けるため、初期化処理時のセンサデータの値等に応じて決定するのがよい。また、センサデータが正規分布に近い性質を持つことが分かっている場合、尖度は３程度の値になることが知られている。そのため、尖度ｋの初期値ｋ１を３としてもよい。
【０１３８】
次に、特徴量の一例として、最大値の逐次計算に関する計算手順を示す。第１時点から第ｊ時点までのセンサデータｘ１〜ｘｊに対する最大値ａｊは、以下の公知の数式（３９）で定義される。
【０１３９】
【数３９】
0006935046.tif 000040
【０１４０】
最大値ａの逐次的な計算方法は、以下の方法で容易に実現できることが知られている。第ｊ時点の最大値ａｊを保持しておき、第ｊ＋１時点のセンサデータｘｊと第ｊ時点の最大値ａｊとのうちで大きな方を、第ｊ＋１時点の最大値ａｊ＋１として保持する。即ち、第ｊ＋１時点の最大値ａｊ＋１は、以下の数式（４０）で逐次的に計算できる。
【０１４１】
【数４０】
0006935046.tif 000041
【０１４２】
なお、最大値の初期値、即ち最大値ａ１には、同時刻のセンサデータｘ１を代入するのがよい。
【０１４３】
次に、特徴量の一例として、最小値の逐次計算に関する計算手順を示す。第１時点から第ｊ時点までのセンサデータｘ１〜ｘｊに対する最小値ｎｊは、以下の公知の数式（４１）で定義される。
【０１４４】
【数４１】
0006935046.tif 000042
【０１４５】
最小値ｎの逐次的な計算方法は、以下の方法で容易に実現できることが知られている。第ｊ時点の最小値ｎｊを保持しておき、第ｊ＋１時点のセンサデータｘｊと第ｊ時点の最小値ｎｊとのうちで小さな方を、第ｊ＋１時点の最小値ｎｊ＋１として保持する。即ち、第ｊ＋１時点の最小値ｎｊ＋１は、以下の数式（４２）で逐次的に計算できる。
【０１４６】
【数４２】
0006935046.tif 000043
【０１４７】
なお、最小値の初期値、即ち最小値ｎ１には、同時刻のセンサデータｘ１を代入するのがよい。
【０１４８】
次に、特徴量の一例として、ピーク値の逐次計算に関する計算手順を示す。ピーク値という言葉には幾つかの定義が存在するが、本稿では、第１時点から第ｊ時点までのピーク値ｐｊを以下の数式（４３）で定義する。
【０１４９】
【数４３】
0006935046.tif 000044
【０１５０】
上記数式（４３）の定義では、ピーク値はセンサデータｘ１〜ｘｊのうちで絶対値の最も大きな値としている。ピーク値の逐次的な計算方法は、以下の方法で実現できる。第ｊ時点のピーク値ｐｊを保持しておき、第ｊ＋１時点のセンサデータｘｊと第ｊ時点のピーク値ｐｊのうちで大きな方を、第ｊ＋１時点のピーク値ｐｊ＋１として保持する。即ち、第ｊ＋１時点のピーク値ｐｊ＋１は、以下の数式（４４）で逐次的に計算できる。
【０１５１】
【数４４】
0006935046.tif 000045
【０１５２】
ピーク値の初期値、即ちピーク値ｐ１には、同時刻のセンサデータの絶対値|ｘ１|を代入するのがよい。或いは、前述の数式（４０）及び数式（４２）を用いて、第ｊ時点の最大値ａｊと最小値ｎｊとが得られている場合、以下の数式（４５）でピーク値を求めることもできる。
【０１５３】
【数４５】
0006935046.tif 000046
【０１５４】
同様に、第ｊ＋１時点の最大値ａｊ＋１と最小値ｎｊ＋１とが得られている場合、以下の数式（４６）でピーク値を求めることができる。
【０１５５】
【数４６】
0006935046.tif 000047
【０１５６】
結果として、第ｊ＋１時点のピーク値ｐｊ＋１を求めるために、第ｊ時点で保持すべき内部変数は、ピーク値ｐｊである。なお、ピーク値ｐｊに代えて、最大値ａｊ及び最小値ｎｊを保持してもよい。
【０１５７】
次に、特徴量の一例として、ピークピーク値の逐次計算に関する計算手順を示す。ピークピーク値は、最大値と最小値との差である。ピークトゥピーク（ｐｅａｋ−ｔｏ−ｐｅａｋ）と呼ばれることもある。
【０１５８】
第１時点から第ｊ時点までのセンサデータｘ１〜ｘｊに対するピークピーク値ｐｐｊは、以下の公知の数式（４７）で定義される。
【０１５９】
【数４７】
0006935046.tif 000048
【０１６０】
即ち、前述の数式（４０）と数式（４２）とから、最大値ａｊ及び最小値ｎｊを逐次的に計算しておくことで、ピークピーク値ｐｐｊが直ちに求まる。
【０１６１】
同様に、第ｊ＋１時点の最大値ａｊ＋１と最小値ｎｊ＋１とが得られている場合、以下の公知の数式（４８）でピークピーク値ｐｐｊ＋１を求めることができる。
【０１６２】
【数４８】
0006935046.tif 000049
【０１６３】
結果として、第ｊ＋１時点のピークピーク値ｐｐｊ＋１を求めるために、第ｊ時点で保持すべき内部変数は、最大値ａｊ及び最小値ｎｊである。
【０１６４】
次に、特徴量の一例として、波高率の逐次計算に関する計算手順を示す。第１時点から第ｊ時点までのセンサデータｘ１〜ｘｊに対する波高率ｐｒｊは、以下の数式（４９）で定義される。
【０１６５】
【数４９】
0006935046.tif 000050
【０１６６】
上記数式（４９）に示されるように、波高率ｐｒｊは、前述のピーク値ｐｊを前述の二乗平均平方根ｒｊで割った値である。波高率ｐｒｊは、ピークトゥアールエムエス（ｐｅａｋ−ｔｏ−ＲＭＳ）、クレストファクタ（ｃｒｅｓｔ  ｆａｃｔｏｒ）と呼ばれることもある。なお、センサデータが正の方向に偏った値を取ることがわかっている場合などには、ピーク値ｐｊに代えて最大値ａｊを用いることもある。
【０１６７】
同様に、第１時点から第ｊ＋１時点までのセンサデータｘ１〜ｘｊに対する波高率ｐｒｊ＋１は、以下の数式（５０）で求まる。
【０１６８】
【数５０】
0006935046.tif 000051
【０１６９】
即ち、前述の数式（４４）又は数式（４５）を用いてピーク値ｐｊ＋１を逐次的に計算すると共に、数式（１９）を用いて二乗平均平方根ｒｊ＋１を逐次的に計算し逐次的に計算しておくことで、波高率ｐｒｊ＋１が直ちに求まる。
【０１７０】
結果として、第ｊ＋１時点の波高率ｐｒｊ＋１を求めるために、第ｊ時点で保持すべき内部変数は、ピーク値ｐｊ及び二乗平均平方根の二乗ｒｊ２である。なお、ピーク値ｐｊに代えて、最大値ａｊ及び最小値ｎｊを保持してもよい。また、二乗平均平方根の二乗ｒｊ２に代えて、二乗平均平方根ｒｊを保持してもよい。
【０１７１】
上述のように、内部変数計算部１００３は、各特徴量を計算するための内部変数を逐次計算する。内部変数計算部１００３は、この逐次計算をｊ＝１からｊ＝Ｎ―１まで実施する。これにより、特徴量計算部１００４が第１時点から第Ｎ時点でのセンサデータｘ１〜ｘｊに対応する特徴量を決定することができる。なお、特徴量の種類毎に更新の数式、及び内部変数保持部１００２が保持する内部変数は異なる。その一方で、内部変数保持部１００２が内部変数を保持し、内部変数計算部１００３が内部変数を逐次計算し、特徴量計算部１００４が内部変数に基づいて特徴量を計算する点は、特徴量の種類に依らず同様である。
【０１７２】
次に、前述の方法を用いてセンサデータの一つであるモータトルクの特徴量を逐次的に計算した結果について、図６を参照して説明する。図６は、実施の形態１におけるモータトルク及び各種の特徴量の時系列の波形を示す図である。なお、以降では、記載の煩雑さを避けるため、特徴量等に付していた記号の表記を適宜省略する。
【０１７３】
図６（ａ）には、図５（ｂ）に示したものと同様のモータトルクの波形が示されている。図６（ａ）、（ｂ）の横軸は、時間を表している。また、図６（ａ）には、有次元の特徴量のうちモータトルクと同じ単位［Ｎｍ］を持つ、平均値、標準偏差、二乗平均平方根（ＲＭＳ）、最大値及び最小値の時系列の波形が示されている。またピークピーク値は、最大値と最小値との差であり、簡単のため図示しない。また、ピーク値は、最大値と最小値のうち、絶対値が大きいものを示す値であり、簡単のため図示しない。また、分散は、標準偏差を二乗したものであり、単位が異なるので図示しない。
【０１７４】
図６（ｂ）には、無次元の特徴量、即ち単位を持たない特徴量である、歪度、尖度及び波高率の時系列の波形が示されている。次に、図６（ａ）、（ｂ）に示される各特徴量の挙動に関して説明する。
【０１７５】
平均値は、期間Ｔｓ１ではほぼ０であり、期間Ｔａでは徐々に増加し、期間Ｔｅでは僅かに減少し、期間Ｔｄでは徐々に減少し、期間Ｔｓ２では僅かに減少している。
【０１７６】
標準偏差は、期間Ｔｓ１ではほぼ一定の小さい値であり、期間Ｔａでは徐々に増加し、期間Ｔｅでは僅かに減少し、期間Ｔｄでは徐々に増加し、期間Ｔｓ２では僅かに減少している。
【０１７７】
二乗平均平方根は、期間Ｔｓ１ではほぼ一定の小さい値であり、期間Ｔａでは徐々に増加し、期間Ｔｅでは僅かに減少し、期間Ｔｄではほぼ一定であり、期間Ｔｓ２では僅かに減少している。
【０１７８】
最大値は、期間Ｔｓ１ではほぼ一定の正の小さい値であり、期間Ｔａではモータトルクが過去の最大値を超える毎に増加しており、期間Ｔｅ、期間Ｔｄ及び期間Ｔｓ２では一定である。
【０１７９】
最小値は、期間Ｔｓ１ではほぼ一定の負の小さい値であり、期間Ｔａ及び期間Ｔｅでは一定、期間Ｔｄではモータトルクが過去の最小値を超える毎に減少しており、期間Ｔｓ２では一定である。
【０１８０】
歪度は、期間Ｔｓ１ではほぼ０であり、期間Ｔａが始まる時刻Ｔｒ１では急峻に大きい正の値に増加し、その後の期間Ｔａでは徐々に小さい値に減少し、期間Ｔｅでは僅かに増加し、期間Ｔｄでは僅かに減少し、期間Ｔｓ２では僅かに増加している。
【０１８１】
尖度は、期間Ｔｓ１では２程度から３程度まで増加し、期間Ｔａが始まる時刻Ｔｒ１では急峻に大きい正の値に増加し、その後の期間Ｔａでは徐々に小さい値に減少し、期間Ｔｅでは僅かに増加し、期間Ｔｄでは僅かに増加した後に減少し、期間Ｔｓ２では僅かに増加している。
【０１８２】
波高率は、期間Ｔｓ１では２程度から３程度まで増加し、期間Ｔａが始まる時刻Ｔｒ１では急峻に大きい正の値に増加し、その後の期間Ｔａでは徐々に小さい値に減少し、期間Ｔｅでは僅かに増加し、期間Ｔｄではほぼ一定であり、期間Ｔｓ２では僅かに増加している。
【０１８３】
図６（ａ）、（ｂ）に示した各時点の特徴量は、各時点より過去のモータトルクに対する特徴量が逐次的に計算されたものである。そのため、例えば平均値は、図６（ａ）の全期間（Ｔｓ１＋Ｔａ＋Ｔｅ＋Ｔｄ＋Ｔｓ２）のモータトルクを保持して一括計算で求めた値と、逐次的に求めた図６（ａ）の最終時刻である時刻Ｔｒ５の値とは一致する。
【０１８４】
なお、図６では、特徴量の推移を変わりやすくするために、特徴量計算部１００４もまた、センサデータの取得周期毎に各特徴量を計算している。ここで、ある期間に渡るセンサデータに対して特徴量を計算する場合、内部変数計算部１００３は、センサデータの取得周期毎に内部変数を逐次計算する必要がある。一方、例えば数式（２９）で表される歪度、数式（３８）で表される尖度のように、自身を内部変数として含めない特徴量を用いる場合、特徴量計算部１００４は、必要に応じて特徴量を計算することとしてもよい。例えば、時刻Ｔｒ０時点から時刻Ｔｒ５までの期間に渡るセンサデータに対する特徴量を１点だけ求めたく、且つ途中の時間での特徴量の推移が不要な場合である。このような場合、特徴量計算部１００４は、時刻Ｔｒ５の時点、即ちセンサデータのデータ点数Ｎが１２０００に達した時点の１回だけ特徴量を計算するように構成されていてもよい。このように構成すれば、情報処理装置１０００の計算負荷の低減が可能である。
【０１８５】
次に、状態診断部１００６が、特徴量を用いて機械装置１００８の状態を診断する手順について、図７を参照して説明する。図７は、実施の形態１における特徴量の経年変化の様子の一例を示す図である。図７には、前述の方法で計算した特徴量を定期的にプロットした結果が示されている。定期的とは、例えば一月毎である。図７の横軸は時間であり、機械装置１００８の運用時間を表している。
【０１８６】
状態診断部１００６は、特徴量に対して、しきい値Ｆｔｈ１を設け、特徴量がしきい値Ｆｔｈ１を超えた場合に、機械装置１００８に異常が生じていると診断する。特徴量には、前述したどのような特徴量を用いてもよい。また、複数の特徴量をそれぞれ計算し、各特徴量に個別のしきい値を設定してもよい。
【０１８７】
図７において、時刻Ｔｔａ０は運用を開始した時刻である。時刻Ｔｔａ０から時刻Ｔｔａ１より前までの特徴量は、多少のばらつきを生じながらも、しきい値Ｆｔｈ１よりも小さい値を保っている。状態診断部１００６は、特徴量がしきい値Ｆｔｈ１を下回っている場合には、機械装置１００８が正常である旨の診断を下し、その診断結果を出力する。
【０１８８】
また、図７の例では、時間の経過と共に特徴量の平均的な値が徐々に増加していき、時刻Ｔｔａ１で特徴量がしきい値Ｆｔｈ１を上回っている。この場合、状態診断部１００６は、時刻Ｔｔａ１で機械装置１００８に異常が生じたという診断を下し、その診断結果を出力する。
【０１８９】
しきい値Ｆｔｈ１の決め方は様々である。例えば過去の別の機械装置に異常が生じた際の特徴量に基づいて、しきい値Ｆｔｈ１を決定してもよい。また、機械装置１００８の運用を開始した直後の特徴量を参考にして、しきい値Ｆｔｈ１を決定してもよい。また、しきい値Ｆｔｈ１は、動的に設定してもよい。例えば複数の機械装置１００８を運用しながら、それらの特徴量を個別に計算し、装置ごとの特徴量のばらつきを考慮して定期的にしきい値Ｆｔｈ１を変更してもよい。また、機械装置１００８の特性を考慮したシミュレーション等で求めた特徴量に基づいて、しきい値Ｆｔｈ１を決定してもよい。また、本実施の形態において、しきい値Ｆｔｈ１は、正常な状態の上限値を表しているが、より小さな値が異常を示す特徴量を用いる場合は、正常な状態の下限値をしきい値Ｆｔｈ１として設定してもよい。更に、上限値及び下限値からなる２つのしきい値を併用してもよい。また、診断結果は一つである必要はなく、複数の特徴量に対して診断を実施し、特徴量毎に診断結果を出力してもよい。
【０１９０】
また、本実施の形態では、特徴量が一度でもしきい値Ｆｔｈ１を超えた場合に、機械装置１００８が異常であるという診断を下しているが、この手法に限定されない。ノイズ等の影響による誤った診断、即ち誤判定を減らすため、一定の期間の異常度の分布に基づいた検定（Ｓｔａｔｉｓｔｉｃａｌ  ｔｅｓｔ）を行うなどの統計的な手法を採用してもよい。
【０１９１】
以上に説明した処理により、図８に示すフローチャートが導かれる。図８は、実施の形態１における情報処理方法の説明に供するフローチャートである。
【０１９２】
まず、センサデータ取得部１００１は、機械装置１００８の物理量を計測するセンサ１０１０から、第１時点から第Ｎ時点（Ｎは２以上の整数）までの各時点における物理量の計測値をセンサデータとして取得する（ステップＳ１０１）。内部変数保持部１００２は、センサデータに基づいて時系列に順次計算される、Ｎよりも少ない個数の内部変数を保持する（ステップＳ１０２）。内部変数計算部１００３は、第ｊ＋１時点（ｊは１からＮ−１までの整数）に対応する内部変数を、第ｊ＋１時点のセンサデータと第ｊ時点に対応する内部変数とに基づいて計算する（ステップＳ１０３）。特徴量計算部１００４は、第Ｎ時点の内部変数に基づいて第１時点から第Ｎ時点までのセンサデータに含まれる統計的な特徴を抽出した特徴量を計算する（ステップＳ１０４）。状態診断部１００６は、特徴量に基づいて機械装置の状態を診断する（ステップＳ１０５）。
【０１９３】
なお、図８のフローチャートでは省略したが、第１時点の内部変数を予め設定した最大値と最小値との間の値に決定する初期化処理を実行するステップが含まれていてもよい。
【０１９４】
以上説明したように、実施の形態１における情報処理装置によれば、センサデータ取得部は、センサによって計測された機械装置の物理量の計測値を取得し、当該計測値のうちの第１時点から第Ｎ時点（Ｎは２以上の整数）までの計測値をセンサデータとして取得する。内部変数保持部は、センサデータに基づいて時系列に順次計算される、Ｎよりも少ない個数の内部変数を保持する。内部変数計算部は、第ｊ＋１時点（ｊは１からＮ−１までの整数）に対応する内部変数を、第ｊ＋１時点のセンサデータと第ｊ時点に対応する内部変数とに基づいて計算する。特徴量計算部は、第Ｎ時点の内部変数に基づいて第１時点から第Ｎ時点までのセンサデータに含まれる統計的な特徴を抽出した特徴量を計算する。このように構成された情報処理装置によれば、Ｎよりも少ない個数の内部変数を保持することにより、第１時点から第Ｎ時点までのセンサデータを保持する必要がない。これにより、計算能力の高い計算機及び記憶容量の大きな計算機を用いることなく、特徴量の計算処理が可能になるという従来にない顕著な効果が得られる。
【０１９５】
また、実施の形態１における情報処理装置は、特徴量に基づいて機械装置の状態を診断する状態診断部を備える。これにより、計算能力の高い計算機及び記憶容量の大きな計算機を用いることなく、機械装置の状態を診断するための情報処理を実施することができる。
【０１９６】
なお、実施の形態１における情報処理装置は、第１時点の内部変数を予め設定した最大値と予め設定した最小値との間の値に決定する初期化処理を実行する初期化処理部を備えていてもよい。このような初期化処理部を備えることにより、誤判定の確率を低減させ、診断処理の精度を高めることができる。
【０１９７】
また、実施の形態１における情報処理方法によれば、第１ステップでは、機械装置の物理量を計測するセンサから、第１時点から第Ｎ時点（Ｎは２以上の整数）までの各時点における物理量の計測値がセンサデータとして取得される。第２ステップでは、センサデータに基づいて時系列に順次計算される、Ｎよりも少ない個数の内部変数が保持される。第３ステップでは、第ｊ＋１時点（ｊは１からＮ−１までの整数）に対応する内部変数が、第ｊ＋１時点のセンサデータと第ｊ時点に対応する内部変数とに基づいて計算される。第４ステップでは、第Ｎ時点の内部変数に基づいて第１時点から第Ｎ時点までのセンサデータに含まれる統計的な特徴を抽出した特徴量が計算される。第５ステップでは、特徴量に基づいて機械装置の状態が診断される。このような、第１から第５ステップの処理を含む情報処理方法によれば、Ｎよりも少ない個数の内部変数が保持されるので、第１時点から第Ｎ時点までのセンサデータを保持する必要がない。これにより、計算能力の高い計算機及び記憶容量の大きな計算機を用いることなく、機械装置の状態を診断するための情報処理を実施できるという従来にない顕著な効果が得られる。
【０１９８】
なお、実施の形態１における情報処理方法には、上記第１から第５ステップの他、第１時点の内部変数を予め設定した最大値と予め設定した最小値との間の値に決定する初期化処理を実行するステップが含まれていてもよい。このような初期化処理のステップを含むことにより、誤判定の確率を低減させ、診断処理の精度を高めることができる。
【０１９９】
実施の形態２．
図９は、実施の形態２における情報処理装置２０００を含む情報処理システム１００Ａの構成例を示す図である。図９に示す情報処理システム１００Ａでは、図１に示す情報処理システム１００の構成において、情報処理装置１０００が情報処理装置２０００に置き替えられ、装置制御部１０９９が装置制御部２０９９に置き替えられている。情報処理装置２０００では、センサデータ取得部１００１がセンサデータ取得部２００１に置き替えられ、内部変数計算部１００３が内部変数計算部２００３に置き替えられ、特徴量計算部１００４が特徴量計算部２００４に置き替えられている。その他の構成は、図１に示す情報処理システム１００と同一又は同等である。なお、同一又は同等の構成部には同一の符号を付すと共に、重複する説明は省略する。
【０２００】
センサデータ取得部２００１は、センサデータ取得部１００１の処理に加え、動作信号に基づいて内部変数を更新するか否かを決定するための計算許可フラグを生成する。より一般化して説明すると、センサデータ取得部２００１は、センサデータを取得する時間の間隔である取得周期、機械装置１００８の動作の状況を表す動作信号、センサデータにおけるデータ値のうちの少なくとも一つに基づいて第１時点から第ｊ時点（ｊは１からＮ−１までの整数（但し、Ｎは２以上の整数））までの間の２点以上の時点を決定し、決定した２点以上の時点に基づいて内部変数を更新するための計算許可フラグを生成する。
【０２０１】
内部変数計算部２００３は、内部変数計算部１００３の処理に加え、計算許可フラグに内部変数を更新する旨の内容が含まれている場合に内部変数を更新する。一方、計算許可フラグに内部変数を更新する旨の内容が含まれていない場合、内部変数計算部２００３は、内部変数の値に前回時刻のものを引き継がせる処理を行う。より一般化して説明すると、内部変数計算部２００３は、計算許可フラグの示す各第ｕ時点（ｕは１以上、且つｊ以下の整数（但し、ｊは１からＮ−１までの整数、且つＮは２以上の整数））について、第ｕ＋１時点の内部変数を、第ｕ時点の内部変数の値に決定する。
【０２０２】
特徴量計算部２００４は、特徴量計算部１００４の処理に加え、計算許可フラグに特徴量を更新する旨の内容が含まれている場合に特徴量を更新する。計算許可フラグに特徴量を更新する旨の内容が含まれていない場合、特徴量計算部２００４は、特徴量に前回時刻のものを引き継がせる処理を行う。
【０２０３】
情報処理装置２０００の外部にある装置制御部２０９９は、装置制御部１０９９の処理に加え、機械装置１００８の動作の状況を表す動作信号を出力する。機械装置１００８が、例えばモータにより駆動される機械装置の場合、速度が一定の場合の特徴量を用いたときにノイズが少ないセンサデータが得られ、機械装置１００８の状態を高精度に推定できることがある。そのため、モータ１００９の速度が一定となっている場合にのみ内部変数や特徴量の値を更新するように構成することで、機械装置１００８の状態診断に更に有用な特徴量を計算できるようになる。
【０２０４】
次に、前述の方法を用いてセンサデータの一つであるモータトルクの特徴量を逐次的に計算した結果について、図１０を参照して説明する。図１０は、実施の形態２におけるモータトルク及び各種の特徴量の時系列の波形を示す図である。
【０２０５】
図１０（ａ）には、図５（ａ）に示したモータ速度の時系列の波形と同じものが示されている。また、図１０（ｂ）には、センサデータ取得部２００１が決定した計算許可フラグの時系列の波形が示されている。
【０２０６】
計算許可フラグの結果の示し方の例として、内部変数を更新する場合にフラグ値を“１”とし、更新しない場合にフラグ値を“０”とすることが挙げられる。センサデータ取得部２００１は、速度が“０“ではなく、且つ一定である場合に内部変数が更新されるように、時刻Ｔｒ２から時刻Ｔｒ３までの期間Ｔｅで計算許可フラグのフラグ値を“１”としている。また、期間Ｔｅ以外、即ち期間Ｔｓ１、期間Ｔａ、期間Ｔｄ及び期間Ｔｓ２において、センサデータ取得部２００１は、計算許可フラグのフラグ値を“０”としている。なお、図９では、速度一定の例を５００［ｒ／ｍｉｎ］としている。
【０２０７】
速度が０の場合に内部変数を更新しない理由の一つに、モータ１００９が停止している際は機械装置１００８が動作せず、機械装置１００８の状態に応じた情報がセンサデータに現れないことが挙げられる。但し、機械装置１００８の構成によっては、モータ１００９が停止している際にも機械装置１００８の状態に応じた情報がセンサデータに現れる場合がある。このような場合には、停止時にも内部変数が更新されるよう構成されていてもよい。なお、計算許可フラグのフラグ値が“０”の際の動作は、内部変数及び特徴量が変化しなければよく、例えば今回の値に前回の値を上書きするように計算を実施しても、計算自体をスキップしてもよい。
【０２０８】
次に、計算許可フラグの決定方法として、機械装置１００８の動作の状況を表す動作信号から決定した例を示す。本例では、モータの速度及び加速度の２つを動作信号として用いる。モータの加速度の絶対値が小さく、且つ速度の絶対値が大きい場合、計算許可フラグのフラグ値を“１”にする。基準となる加速度及び速度は、機械装置１００８又はモータ１００９の諸元等を参考に、予め定めておくのがよい。動作信号は、装置制御部２０９９から得られる。
【０２０９】
また、モータ１００９の動作が予め決められている場合には、モータ速度を参照しなくてもよい。例えば、モータ１００９が動き始めてから予め定めた時刻になった際に計算許可フラグのフラグ値を“１”にし、更に予め定めた別の時刻の経過後に計算許可フラグのフラグ値を“０”にするようにしてもよい。これらの処理を行う場合、センサデータを取得する時間間隔であるサンプリング周期を参照することができる。
【０２１０】
図１０（ｃ）には、図５（ｂ）に示したものと同様のモータトルクの時系列波形が示されている。また、図１０（ｃ）には、図６（ａ）に示したものと同じ特徴量の時系列波形が示されている。また、図１０（ｄ）には、図６（ｂ）に示したものと同じ特徴量の時系列波形が示されている。
【０２１１】
図１０（ｃ）、（ｄ）の何れの特徴量も、期間Ｔｅを除く期間Ｔｓ１、期間Ｔａ、期間Ｔｄ及び期間Ｔｓ２では値が変化していない。これは、図１０（ｃ）の計算許可フラグが示すように、期間Ｔｅを除く期間では内部変数及び特徴量の更新が実施されないよう、内部変数計算部２００３及び特徴量計算部２００４が構成されているためである。一方、期間Ｔｅでは、何れの特徴量も随時更新されており、期間Ｔｅの終了時点である時刻Ｔｒ３までに、ほぼ一定値に収束している。このような構成によれば、実施の形態１の効果に加え、機械装置１００８の状態を更に高精度に推定することができる。
【０２１２】
以上説明したように、実施の形態２における情報処理装置によれば、センサデータ取得部は、センサデータを取得する時間の間隔である取得周期、機械装置の動作の状況を表す動作信号、及びセンサデータにおけるデータ値のうちの少なくとも一つに基づいて第１時点から第ｊ時点までの間の２点以上の時点を決定し、決定した２点以上の時点に基づいて計算許可フラグを生成する。内部変数計算部は、計算許可フラグの示す各第ｕ時点（ｕは１以上、且つ前記ｊ以下の整数）について、第ｕ＋１時点の内部変数を、第ｕ時点の内部変数の値に決定する。このように構成された情報処理装置によれば、機械装置の動作状況に応じてノイズが少ないセンサデータを得ることができる。これにより、実施の形態１の効果を得た上で、更に機械装置の状態を高精度に推定できるという効果が得られる。
【０２１３】
実施の形態３．
図１１は、実施の形態３における情報処理装置３０００を含む情報処理システム１００Ｂの構成例を示す図である。図１１に示す情報処理システム１００Ｂでは、図９に示す情報処理システム１００Ａの構成において、情報処理装置２０００が情報処理装置３０００に置き替えられている。情報処理装置３０００では、センサデータ取得部２００１がセンサデータ取得部３００１に置き替えられ、初期化処理部１００５が初期化処理部３００５に置き替えられている。その他の構成は、図９に示す情報処理システム１００Ａと同一又は同等である。なお、同一又は同等の構成部には同一の符号を付すと共に、重複する説明は省略する。
【０２１４】
センサデータ取得部３００１は、図１に示すセンサデータ取得部１００１の処理に加え、内部変数を初期化する時点を決めるための初期化トリガを生成する。より一般化し、且つより具体的に説明すると、センサデータ取得部３００１は、センサデータを取得する時間の間隔である取得周期、機械装置１００８の動作の状況を表す動作信号、及びセンサデータのうちの少なくとも一つに基づいて第１時点から第Ｎ時点までの間の１点以上の時点を決定し、決定した１点以上の時点に基づいて内部変数を初期化するための初期化トリガを生成する。
【０２１５】
初期化処理部３００５は、初期化処理部１００５の処理に加え、初期化トリガの示す時点に基づいて内部変数の初期化処理を実施する。
【０２１６】
機械装置１００８が、例えばモータ１００９により駆動される機械装置の場合、加速中、一定速度で回転中、減速中、停止中などといった運転状況毎に特徴量の傾向が異なる場合がある。このような場合、運転状況毎に特徴量の計算を切り分けた方が、機械装置１００８の状態を高精度に推定できることがある。そのため、モータ１００９の速度変化が変更される時点など、運転状況が変わる時点で内部変数を初期化することで、機械装置１００８の状態推定に更に有用な特徴量を計算できるようになる。
【０２１７】
次に、前述の方法を用いてセンサデータの一つであるモータトルクの特徴量を逐次的に計算した結果について、図１２を参照して説明する。図１２は、実施の形態３におけるモータトルク及び各種の特徴量の時系列の波形を示す図である。
【０２１８】
図１２（ａ）には、図５の（ａ）に示したモータ速度の時系列の波形と同じものが示されている。また、図１２（ｂ）には、センサデータ取得部３００１が決定した、初期化トリガの時系列の波形が示されている。
【０２１９】
初期化トリガの結果の示し方の例として、内部変数を初期化する場合に信号レベルを“１”とし、初期化しない場合に信号レベルを“０”とすることが挙げられる。センサデータ取得部３００１は、モータ速度の変化、即ち加速度が生じた時点で内部変数を初期化するように、時刻Ｔｒ１、時刻Ｔｒ２、時刻Ｔｒ３及び時刻Ｔｒ４で初期化トリガの信号レベルを“１”とし、それ以外の時刻で信号レベルを“０”としている。
【０２２０】
次に、初期化トリガの決定方法として、機械装置１００８の動作の状況を表す動作信号から決定した例を示す。本例では、モータのジャーク、即ち加速度の時間微分値を動作信号として用いる。モータのジャークの絶対値が大きい場合、初期化トリガの信号レベルを“１”にしている。基準となるジャークの大きさは、機械装置１００８又はモータ１００９の諸元等を参考に、予め定めておくのがよい。動作信号は、装置制御部２０９９から得られる。
【０２２１】
また、モータ１００９の動作が予め決められている場合には、モータ速度を参照せずともよい。例えば、モータ１００９が動き始めてから予め定めた時刻になった際に、瞬間的に初期化トリガの信号レベルを“１”とするように構成してもよい。或いは、特定の時間が経過する毎に初期化トリガの信号レベルを瞬間的に“１”にするよう構成してもよい。これらの処理を行う場合、センサデータを取得する時間間隔であるサンプリング周期を参照することができる。
【０２２２】
また、モータ１００９の動作開始から停止までの一連のセンサデータ毎に特徴量を計算したい場合、モータ１００９が動き出した時点で初期化処理を実施するように、初期化トリガを決定してもよい。このように構成することで、モータの移動距離が長い動作と、短い動作とを一律に１回の位置決め動作として扱うことができる。
【０２２３】
図１２（ｃ）には、図５（ｂ）に示したものと同様のモータトルクの時系列波形が示されている。また、図１２（ｃ）には、図６（ａ）に示したものと同じ特徴量の時系列波形が示されている。また、図１２（ｄ）には、図６（ｂ）に示したものと同じ特徴量の時系列波形が示されている。
【０２２４】
図１０（ｃ）、（ｄ）の何れの特徴量も、時刻Ｔｒ０、時刻Ｔｒ１、時刻Ｔｒ２、時刻Ｔｒ３及び時刻Ｔｒ４の直後に値が変化し始め、各期間Ｔｓ１、期間Ｔａ、期間Ｔｅ、期間Ｔｄ及び期間Ｔｓ２が終わるまでに、各特徴量はほぼ一定値に収束している。このような構成によれば、実施の形態１の効果に加え、機械装置１００８の状態を更に高精度に推定することができる。また、実施の形態２の効果に加え、モータ１００９が一定速度を持たない条件で運転する場合にも適用できるので、適用範囲を拡大することができる。
【０２２５】
以上説明したように、実施の形態３における情報処理装置によれば、センサデータ取得部は、センサデータを取得する時間の間隔である取得周期、機械装置の動作の状況を表す動作信号、及びセンサデータにおけるデータ値のうちの少なくとも一つに基づいて第１時点から第ｊ時点までの間の１点以上の時点を決定し、決定した１点以上の時点に基づいて内部変数を初期化するための初期化トリガを生成する。初期化処理部は、初期化トリガに基づいて内部変数を初期化する処理を実行する。このように構成された情報処理装置によれば、運転状況毎に特徴量の計算を切り分けることができる。これにより、実施の形態１の効果を得た上で、更に、機械装置の状態を高精度に推定できるという効果が得られる。また、モータが一定速度を持たない条件で運転する場合にも適用できるので、実施の形態２の効果を得た上で、更に運転条件に関する適用範囲を拡大できるという効果が得られる。
【０２２６】
実施の形態４．
図１３は、実施の形態４における情報処理装置４０００を含む情報処理システム１００Ｃの構成例を示す図である。図１３に示す情報処理システム１００Ｃでは、図１１に示す情報処理システム１００Ｂの構成において、情報処理装置３０００が情報処理装置４０００に置き替えられている。情報処理装置４０００では、内部変数計算部１００３が内部変数計算部４００３に置き替えられ、特徴量計算部１００４が特徴量計算部４００４に置き替えられ、状態診断部１００６が状態診断部４００６に置き替えられている。また、新たに収束度計算部４００７が設けられている。その他の構成は、図１１に示す情報処理システム１００Ｂと同一又は同等である。なお、同一又は同等の構成部には同一の符号を付すと共に、重複する説明は省略する。
【０２２７】
内部変数計算部４００３は、内部変数計算部１００３の処理に加え、忘却係数に基づいて内部変数を計算する。特徴量計算部４００４も同様に、特徴量計算部１００４の処理に加え、当該忘却係数に基づいて特徴量を計算する。忘却係数は、時刻が古いセンサデータが特徴量に与える影響よりも、時刻が新しいセンサデータが特徴量に与える影響の方が大きくなるように重みをつけるための係数であり、０より大きく１より小さい値を有している。
【０２２８】
収束度計算部４００７は、内部変数に基づいて、特徴量の計算の収束の度合いを定量的に示す指標である収束度を計算する。状態診断部４００６は、収束度計算部４００７が計算した収束度が一定の条件を満たす時点の特徴量を基に、機械装置１００８の状態を診断する。
【０２２９】
次に、内部変数計算部４００３及び特徴量計算部４００４の処理について詳細に説明する。特徴量の具体的な例として、指数移動平均値、指数移動分散、指数移動標準偏差、指数移動二乗平均平方根、指数移動歪度及び指数移動尖度を用いたときの、各特徴量の逐次計算方法を、その導出手順と共に示す。
【０２３０】
まず、特徴量の一例として、指数移動平均の逐次計算に関する計算手順を示す。前述した平均値とは異なり、時刻毎に持たせた重みを考慮した重み付き平均値が知られている。重み付き平均値の例として、忘却係数λを乗じた重みが付与された重み付きのセンサデータを平均する方法がある。忘却係数λは、前述したように、時刻が古いセンサデータに与える影響よりも、時刻が新しいセンサデータに与える影響の方が大きくなるように重み付けするための係数である。以降、この処理を指数移動平均と呼び、その値を指数移動平均値と呼ぶ。指数移動平均値は、指数平滑移動平均値と呼ばれることもある。また、“１”から忘却係数λを減じた“１−λ”を平滑化係数と呼ぶ場合もある。
【０２３１】
まず、第１時点から第ｊ時点までのセンサデータｘ１〜ｘｊに対する指数移動平均値ｍ'ｊは、以下の数式（５１）で定義される。
【０２３２】
【数５１】
0006935046.tif 000052
【０２３３】
例えば、λ＝０．９と設定した場合、第３時点の指数移動平均値ｍ'３は、以下の数式（５２）のように表せる。
【０２３４】
【数５２】
0006935046.tif 000053
【０２３５】
忘却係数λを用いた指数移動平均では、上記のように古いデータよりも最近のデータにおける係数が大きくなっている（０．８１＜０．９＜１）。これは平均を算出する際に最近のデータ、即ち時刻の新しいデータを重視しているといえる。忘却係数λが０に近いほど古いデータを忘れ易くなり、逆に１に近いほど古いデータを忘れにくくなる。
【０２３６】
次に、指数移動平均値の逐次計算方法を考える。第１時点から第ｊ＋１時点までのセンサデータｘ１〜ｘｊ＋１に対する指数移動平均値ｍ'ｊ＋１は、以下の数式（５３）のように変形できる。
【０２３７】
【数５３】
0006935046.tif 000054
【０２３８】
即ち、第ｊ＋１時点の指数移動平均値ｍ'ｊ＋１は、以下の数式（５４）で逐次的に求められる。
【０２３９】
【数５４】
0006935046.tif 000055
【０２４０】
ここで、センサデータｘｊ＋１は、第ｊ＋１時点で新しく取得される。また、第ｊ＋１時点の変数Ｌ'ｊは、以下の数式（５５）で表せる。
【０２４１】
【数５５】
0006935046.tif 000056
【０２４２】
更に、変数Ｌ'ｊの逐次計算の方法を考える。第ｊ＋１時点の変数Ｌ'ｊ＋１は、以下の数式（５６）のように表せる。
【０２４３】
【数５６】
0006935046.tif 000057
【０２４４】
即ち、第ｊ＋１時点の変数Ｌ'ｊ＋１は、以下の数式（５７）で逐次的に計算できる。
【０２４５】
【数５７】
0006935046.tif 000058
【０２４６】
結果として、第ｊ＋１時点の指数移動平均値ｍ'ｊ＋１を計算するのに保持しておくべき内部変数は、第ｊ時点の指数移動平均値ｍ'ｊ及び変数Ｌ'ｊである。
【０２４７】
第２時点の内部変数を計算する際、簡単のため、変数Ｌ'ｊ及び指数移動平均値ｍ'ｊの初期値Ｌ'１，ｍ'１は０とするか、初期化処理直後の変動を避けるため、初期化処理時のセンサデータの値等に応じて決定するのがよい。
【０２４８】
次に、予め設定する忘却係数λの決定方法に関して説明する。忘却係数λは０より大きく、１より小さい値に設定するのが望ましい。忘却係数λは、１に近い場合に過去の情報を忘れにくく、０に近い場合に過去の情報を忘れ易くなる。忘却係数λを１にすると、センサデータの情報を忘却せず、逐次計算の数式は実施の形態１と一致する。また、忘却係数を０にすると、時刻が一つ経過した際に全てのセンサデータの情報を忘れるため、２つ以前過去のセンサデータに対する特徴量は求まらない。多くの場合、忘却係数は１に近く、且つ１未満の値、例えば０．９から０．９９９程度の値に設定するのがよい。忘却係数λを用いた指数移動平均等を計算する場合、センサデータを特徴量に反映する重みの多くは、時定数と呼ぶ直近の短い期間に集中する。ここで時定数τは、以下の数式（５８）で計算できる。
【０２４９】
【数５８】
0006935046.tif 000059
【０２５０】
上記数式（５８）において、「ｄｔ」はサンプリング周期を表している。また、直近の特定の時間帯のセンサデータに対して多くの重みを付けて特徴量を計算したい場合には、「λ＝１−ｄｔ／τ」の数式に用いて忘却係数λを決定してもよい。この数式は、上記数式（５８）を変形したものである。
【０２５１】
例えば、直近の２０ミリ秒のセンサデータに対して多くの重みを付けて特徴量を計算したい場合には、時定数を２０ｍｓとする。このとき、サンプリング周期が０．５ｍｓであれば、忘却係数λ＝０．９７５となる。また、時定数τに代えて、時定数τの逆数である推定周波数（単位ｒａｄ／ｓ）を用いて忘却係数λを設定することとしてもよい。
【０２５２】
次に、特徴量の一例として、指数移動分散の逐次計算に関する計算手順を示す。前述のように、時刻毎に忘却係数λを乗じて重みを付加された重み付きセンサデータを用いた分散を「指数移動分散」と呼ぶ。
【０２５３】
まず、センサデータを確率変数と見なすと、その分散は前述の数式（９）で表せるということが知られている。そのため、第ｊ時点の指数移動分散ｖ'ｊは、以下の数式（５９）で表せる。
【０２５４】
【数５９】
0006935046.tif 000060
【０２５５】
従って、第１時点から第ｊ＋１時点までのセンサデータｘ１〜ｘｊ＋１に対する指数移動分散ｖ'ｊ＋１は、以下の数式（６０）で表せる。
【０２５６】
【数６０】
0006935046.tif 000061
【０２５７】
上記の数式（６０）を変形すると、指数移動分散ｖ'ｊ＋１は、以下の数式（６１）で表せる。
【０２５８】
【数６１】
0006935046.tif 000062
【０２５９】
上記の数式（５９）と数式（６１）とから、以下の数式（６２）が導かれる。
【０２６０】
【数６２】
0006935046.tif 000063
【０２６１】
従って、上記の数式（６２）より、第ｊ＋１時点の指数移動分散ｖ'ｊ＋１は、以下の数式（６３）で逐次的に求められる。
【０２６２】
【数６３】
0006935046.tif 000064
【０２６３】
上記のように、第ｊ＋１時点の変数Ｌ'ｊ＋１は、前述の数式（５７）で逐次的に求められる。また、第ｊ＋１時点の指数移動平均値ｍ'ｊ＋１は、前述の数式（５４）で逐次的に求められる。そして、第ｊ＋１時点のセンサデータｘｊ＋１は、第ｊ＋１時点で新しく取得される。結果として、第ｊ＋１時点の指数移動分散ｖ'ｊ＋１を求めるために第ｊ時点で保持すべき内部変数は、変数Ｌ'ｊ、指数移動分散ｖ'ｊ及び指数移動平均値ｍ'ｊである。なお、指数移動分散ｖ'ｊに代えて、後述の指数移動標準偏差ｓ'ｊを保持してもよい。
【０２６４】
第２時点の内部変数を計算する際、簡単のため、変数Ｌ'、指数移動分散ｖ'及び指数移動平均ｍ'の初期値Ｌ'１，ｖ'１，ｍ'１は０とするか、初期化処理直後の変動を避けるため、初期化処理時のセンサデータの値等に応じて決定するのがよい。
【０２６５】
次に、特徴量の一例として、指数移動標準偏差ｓ'ｊの逐次計算に関する計算手順を示す。前述のように、時刻毎に忘却係数λを乗じて重みを付加された重み付きセンサデータを用いた標準偏差を「指数移動標準偏差」と呼ぶ。
【０２６６】
まず、第１時点から第ｊ時点までのセンサデータｘ１〜ｘｊに対する指数移動標準偏差ｓ'ｊは、指数移動分散ｖ'ｊから以下の数式（６４）で定義される。
【０２６７】
【数６４】
0006935046.tif 000065
【０２６８】
即ち、指数移動標準偏差ｓ'ｊは、前述の手順で逐次的に求めた指数移動分散ｖ'ｊから直ちに求まる。そのため、指数移動標準偏差ｓ'ｊを逐次的に計算するために保持すべき内部変数は、指数移動分散ｖ'ｊと同じである。
【０２６９】
次に、特徴量の一例として、指数移動二乗平均平方根の逐次計算に関する計算手順を示す。前述のように、時刻毎に忘却係数λを乗じて重みを付加された重み付きセンサデータを用いた二乗平均平方根を「指数移動二乗平均平方根」と呼ぶ。
【０２７０】
まず、第１時点から第ｊ時点までのセンサデータｘ１〜ｘｊに対する指数移動二乗平均平方根ｒ'ｊは、以下の数式（６５）で定義される。
【０２７１】
【数６５】
0006935046.tif 000066
【０２７２】
従って、第１時点から第ｊ＋１時点までのセンサデータｘ１〜ｘｊ＋１に対する指数移動二乗平均平方根ｒ'ｊ＋１は、以下の数式（６６）のように表せる。
【０２７３】
【数６６】
0006935046.tif 000067
【０２７４】
上記の数式（６５）と数式（６６）とから、指数移動二乗平均平方根の二乗ｒ'ｊ＋１２は、以下の数式（６７）のように表せる。
【０２７５】
【数６７】
0006935046.tif 000068
【０２７６】
上記の数式（６７）より、第ｊ＋１時点の指数移動二乗平均平方根の二乗ｒ'ｊ＋１２は、以下の数式（６８）で逐次的に求められる。
【０２７７】
【数６８】
0006935046.tif 000069
【０２７８】
上記のように、第ｊ＋１時点の変数Ｌ'ｊ＋１は、前述の数式（５７）で逐次的に求められる。また、センサデータｘｊ＋１は、第ｊ＋１時点で新しく取得される。結果として、第ｊ＋１時点の指数移動二乗平均平方根の二乗ｒ'ｊ＋１２を求めるために第ｊ時点で保持すべき内部変数は、指数移動二乗平均平方根の二乗ｒ'ｊ２及び変数Ｌ'ｊである。
【０２７９】
第２時点の内部変数を計算する際、簡単のため、変数Ｌ'ｊ及び指数移動二乗平均平方根の二乗ｒ'ｊ２の初期値Ｌ'１，ｒ'１は０とするか、初期化処理直後の変動を避けるため、初期化処理時のセンサデータの値等に応じて決定するのがよい。
【０２８０】
次に、特徴量の一例として、指数移動歪度の逐次計算に関する計算手順を示す。前述のように、時刻毎に忘却係数λを乗じて重みを付加された重み付きセンサデータを用いた歪度を「指数移動歪度」と呼ぶ。
【０２８１】
前述の数式（２０）より求められた数式（２２）を参照すると、第１時点から第ｊ時点までのセンサデータｘ１〜ｘｊに対する指数移動歪度ｗ'ｊは、以下の数式（６９）で表せる。
【０２８２】
【数６９】
0006935046.tif 000070
【０２８３】
また、上記の数式（６９）の指数移動平均値ｍ'ｊに関しては前述の数式（５４）で逐次的に計算でき、上記の数式（６９）の指数移動標準偏差ｓ'ｊに関しては前述の数式（６３）、（６４）で逐次的に計算できる。
【０２８４】
次に上記数式（６９）の第ｊ時点の変数Ａ'ｊ，Ｂ'ｊに関する逐次計算を考える。まず、第ｊ時点の変数Ａ'ｊ，Ｂ'ｊは、以下の数式（７０）、（７１）で表せる。
【０２８５】
【数７０】
0006935046.tif 000071
【数７１】
0006935046.tif 000072
【０２８６】
また、第ｊ＋１時点の変数Ａ'ｊ＋１は、以下の数式（７２）で表せる。
【０２８７】
【数７２】
0006935046.tif 000073
【０２８８】
上記の数式（７２）から、変数Ａ'ｊ＋１は、以下の数式（７３）ように表せる。
【０２８９】
【数７３】
0006935046.tif 000074
【０２９０】
上記の数式（７３）より、第ｊ＋１時点の変数Ａ'ｊ＋１は、以下の数式（７４）で逐次的に求められる。
【０２９１】
【数７４】
0006935046.tif 000075
【０２９２】
ここで、第ｊ＋１時点の変数を求めるために第ｊ時点で保持すべき内部変数は、変数Ｌ'ｊ，Ａ'ｊである。また、第ｊ＋１時点の変数Ｌ'ｊ＋１は前述の数式（５７）で逐次的に求められる。また、第ｊ時点の変数Ｂ'ｊは、以下の数式（７５）で表せる。
【０２９３】
【数７５】
0006935046.tif 000076
【０２９４】
ここで、上記の数式（７５）のように、変数Ｂ'ｊは、前述の指数移動二乗平均平方根の二乗ｒ'ｊ２と一致することが分かり、これは前述の数式（６８）で逐次的に求められる。従って、第１時点から第ｊ時点までのセンサデータｘ１〜ｘｊに対する指数移動歪度ｗ'ｊは、以下の数式（７６）で求まる。
【０２９５】
【数７６】
0006935046.tif 000077
【０２９６】
同様に、第１時点から第ｊ＋１時点までのセンサデータｘ１〜ｘｊ＋１に対する指数移動歪度ｗ'ｊ＋１は、以下の数式（７７）で求まる。
【０２９７】
【数７７】
0006935046.tif 000078
【０２９８】
上記のように、第ｊ＋１時点の変数Ａ'ｊ＋１は、前述の数式（７４）で逐次的に求められる。また、第ｊ＋１時点の指数移動平均値ｍ'ｊ＋１は前述の数式（５４）で逐次的に求められる。そして、第ｊ＋１時点の指数移動二乗平均平方根の二乗ｒ'ｊ２は、前述の数式（６８）で逐次的に求められる。また、第ｊ＋１時点の指数移動標準偏差ｓ'ｊ＋１は前述の数式（６４）で逐次的に求められる。そして、第ｊ＋１時点のセンサデータｘｊ＋１は、第ｊ＋１時点で新しく取得される。結果として、第１時点から第ｊ＋１時点までのセンサデータｘｊ＋１に対する指数移動歪度ｗ'ｊ＋１を求めるために、第ｊ時点で保持すべき内部変数は、変数Ａ'ｊ，Ｌ'ｊ、指数移動平均値ｍ'ｊ、指数移動二乗平均平方根の二乗ｒ'ｊ２及び指数移動標準偏差ｓ'ｊである。指数移動標準偏差ｓ'ｊに代えて指数移動分散ｖ'ｊを保持してもよい。また、指数移動二乗平均平方根の二乗ｒ'ｊ２に代えて指数移動二乗平均平方根ｒ'ｊを保持してもよい。
【０２９９】
なお、数式が煩雑になるため割愛するが、逐次計算のための変数Ａ'ｊに代えて、指数移動歪度ｗ'ｊを保持しても同様の計算結果が得られる数式が求まる。また、第２時点の内部変数を計算する際、簡単のため、変数Ａ'ｊ，Ｌ'ｊ、及び指数移動平均値ｍ'ｊ、指数移動二乗平均平方根の二乗ｒ'ｊ２、指数移動標準偏差ｓ'ｊの各初期値は０とするか、初期化処理直後の変動を避けるため、初期化処理時のセンサデータの値等に応じて決定するのがよい。
【０３００】
次に、特徴量の一例として、指数移動尖度の逐次計算に関する計算手順を示す。前述のように、時刻毎に忘却係数λを乗じて重みを付加された重み付きセンサデータを用いた尖度を「指数移動尖度」と呼ぶ。
【０３０１】
前述の数式（３０）より求められた数式（３２）を参照すると、第１時点から第ｊ時点までのセンサデータｘ１〜ｘｊに対する指数移動尖度ｋ'ｊは、以下の数式（７８）で表せる。
【０３０２】
【数７８】
0006935046.tif 000079
【０３０３】
ここで、第ｊ時点の変数Ｃ'ｊは、以下の数式（７９）で表せる。
【０３０４】
【数７９】
0006935046.tif 000080
【０３０５】
また、上記の数式（７８）の変数Ａ'ｊ，Ｂ'ｊ、指数移動平均値ｍ'ｊ、指数移動標準偏差ｓ'ｊに関しては、前述の数式（５４）、（６３）、（６４）、（６８）、（７４）、（７５）で逐次的に計算できる。
【０３０６】
次に上記数式（７９）の第ｊ時点の変数Ｃ'ｊに関する逐次計算を考える。まず、第ｊ＋１時点の変数Ｃ'ｊ＋１は、以下の数式（８０）で表せる。
【０３０７】
【数８０】
0006935046.tif 000081
【０３０８】
上記の数式（７９）と数式（８０）とから、変数Ｃ'ｊ＋１は、以下の数式（８１）のように表せる。
【０３０９】
【数８１】
0006935046.tif 000082
【０３１０】
上記の数式（８１）より、第ｊ＋１時点の変数Ｃ'ｊ＋１は、以下の数式（８２）で逐次的に求められる。
【０３１１】
【数８２】
0006935046.tif 000083
【０３１２】
ここで、上記の数式（７５）のように、変数Ｂ'ｊは、前述の指数移動二乗平均平方根の二乗ｒ'ｊ２と一致し、指数移動二乗平均平方根の二乗ｒ'ｊ２は、前述の数式（６８）で逐次的に求められる。従って、第１時点から第ｊ時点までのセンサデータｘ１〜ｘｊに対する指数移動尖度ｋ'ｊは、以下の数式（８３）で求まる。
【０３１３】
【数８３】
0006935046.tif 000084
【０３１４】
同様に、第１時点から第ｊ＋１時点までのセンサデータｘ１〜ｘｊ＋１に対する指数移動尖度ｋ'ｊ＋１は、以下の数式（８４）で求まる。
【０３１５】
【数８４】
0006935046.tif 000085
【０３１６】
上記のように、第ｊ＋１時点の変数Ｃ'ｊ＋１は、前述の数式（８２）で逐次的に求められる。また、第ｊ＋１時点の変数Ａ'ｊ＋１は前述の数式（７４）で逐次的に求められる。そして、第ｊ＋１時点の指数移動平均値ｍ'ｊ＋１は前述の数式（５４）で逐次的に求められる。また、第ｊ＋１時点の指数移動二乗平均平方根の二乗ｒ'ｊ＋１２は前述の数式（６８）で逐次的に求められる。また、第ｊ＋１時点の指数移動標準偏差ｓ'ｊ＋１は前述の数式（６３）、（６４）で逐次的に求められる。そして、第ｊ＋１時点のセンサデータｘｊ＋１は、第ｊ＋１時点で新しく取得される。結果として、第１時点か指数移動二乗平均平方根の二乗ｒ'ｊ２は、前述の数式（６８）で逐次的に求められる。ら第ｊ＋１時点までのセンサデータｘｊ＋１に対する指数移動尖度ｋ'ｊ＋１を求めるために、第ｊ時点で保持すべき内部変数は、変数Ａ'ｊ，Ｌ'ｊ、指数移動平均値ｍ'ｊ、指数移動二乗平均平方根の二乗ｒ'ｊ２及び指数移動標準偏差ｓ'ｊである。指数移動標準偏差ｓ'ｊに代えて指数移動分散ｖ'ｊを保持してもよい。また、指数移動二乗平均平方根の二乗ｒ'ｊ２に代えて指数移動二乗平均平方根ｒ'ｊを保持してもよい。
【０３１７】
なお、数式が煩雑になるため割愛するが、逐次計算のための変数Ａ'ｊに代えて、指数移動歪度ｗ'ｊを保持しても同様の計算結果が得られる数式が求まる。また、第２時点の内部変数を計算する際、簡単のため、変数Ａ'ｊ，Ｌ'ｊ、及び指数移動平均値ｍ'ｊ、指数移動二乗平均平方根の二乗ｒ'ｊ２、指数移動標準偏差ｓ'ｊの各初期値は０とするか、初期化処理直後の変動を避けるため、初期化処理時のセンサデータの値等に応じて決定するのがよい。
【０３１８】
また、センサデータが正規分布に近い性質を持つことが分かっている場合、指数移動尖度ｋ'ｊは３程度の値になることが知られている。そのため、指数移動尖度ｋ'ｊの初期値ｋ'１を３としてもよい。
【０３１９】
また、直近の時間に重みをつけた最大値、最小値、ピークピーク値、ピーク値及び波高率（以下、適宜「最大値等」と呼ぶ）の計算に関しては、実施の形態１で示したような、前回の最大値等から今回の最大値等を更新することはできない。しかしながら、例えば最大値等となる可能性が高い候補値を内部変数として幾つか保持しておき、規定の時刻が経過したら保持した候補値を削除するという手順を踏めばよい。このようにすれば、直近の時間のセンサデータに対応する最大値等を計算することができる。
【０３２０】
次に、収束度計算部４００７の動作に関する計算手順を示す。忘却係数λを用いた特徴量の逐次計算では、内部変数から逐次計算の収束度合いを定量的に表す収束度を計算することができる。例えば、内部変数の一つである変数Ｌ'ｊは、数式（５７）で逐次的に計算されることから、入力されるセンサデータに関係なく、１／（１−λ）の値へ漸近することが分かる。そのため、変数Ｌ'ｊの初期値Ｌ'１を０以上、且つ１／（１−λ）未満とした場合に、収束度が０から１までの値をとれるように、以下の数式（８５）で収束度ｄｉを定義することが考えられる。
【０３２１】
【数８５】
0006935046.tif 000086
【０３２２】
本実施の形態では、上記の数式（８５）を使って収束度を計算するが、収束度は上記に限るものではなく、計算の収束に伴い増加する値であればどのような定義のものでもよい。但し、計算の収束に伴って値が単調増加し、特定の値に漸近するものが基準として利用しやすい。例えば、上記の数式（８５）の右辺全体をＭ乗（Ｍは正の実数）した、｛（１−λ）Ｌ'ｊ｝Ｍを収束度と定義する。この収束度は、０から１までの値をとり、且つ計算の収束に伴って単調増加するので好ましい定義式である。
【０３２３】
次に、前述の方法を用いてセンサデータの一つであるモータトルクの特徴量を逐次的に計算した結果について、図１４を参照して説明する。図１４は、実施の形態４におけるモータトルク及び各種の特徴量の時系列の波形を示す図である。
【０３２４】
図１４（ａ）には、図５の（ａ）に示したモータ速度の時系列の波形と同じものが示されている。また、図１４（ｂ）には、図１２（ｂ）に示した初期化トリガの時系列の波形と同じものが示されている。
【０３２５】
図１４（ｃ）には、収束度計算部４００７が数式（８５）を用いて計算した収束度の時系列の波形が示されている。逐次計算が始まった時刻Ｔｒ０、初期化トリガが“１”を示した、時刻Ｔｒ１、時刻Ｔｒ２、時刻Ｔｒ３及び時刻Ｔｒ４で、収束度は０になっている。これらは、初期化処理が実行され、内部変数の一つである第ｊ時点の変数Ｌ'ｊが０になったためである。ここで、第ｊ時点は、初期化トリガが“１”を示した時点を指している。収束度は、各初期化処理が実施された以降に増加し、徐々に１に漸近している。
【０３２６】
図１４（ｄ）には、図５の（ｂ）に示したものと同様のモータトルクの時系列波形が示されている。また、図１４（ｄ）には、モータトルクと同じ単位［Ｎｍ］を持つ、指数移動平均値、指数移動標準偏差及び指数移動二乗平均平方根（ＲＭＳ）の時系列の波形を示している。なお、図が煩雑になるのを避けるため「指数移動」の表記は省略している。
【０３２７】
図１４（ｅ）には、無次元の特徴量、即ち単位を持たない特徴量である、指数移動歪度及び指数移動尖度の時系列の波形を示している。ここで、忘却係数λは０．９７５としている。また、図１４（ｄ）と同様に、「指数移動」の表記は省略している。次に、図１４（ｄ）、（ｅ）の逐次計算された各特徴量の挙動に関して説明する。
【０３２８】
指数移動平均値は、時刻Ｔｒ０から時刻Ｔｒ５までの全期間に渡って、モータトルクに僅かに遅れつつも、モータトルクに追従している。これは、直近の短時間のモータトルクに対して大きな重みを付けて平均値を計算する本実施の形態の性質を示している。
【０３２９】
指数移動標準偏差は、期間Ｔｓ１では、ほぼ一定の小さい値になっている。期間Ｔａ、期間Ｔｅ、期間Ｔｄ及び期間Ｔｓ２では、初期化トリガが１になった直後に増加し、その後、次の初期化トリガが１になるまでの間減少し、ほぼ一定値に収束している。
【０３３０】
指数移動二乗平均平方根（ＲＭＳ）は、期間Ｔｓ１ではほぼ一定の小さい値になっている。期間Ｔａでは、モータトルクの増加に伴い徐々に増加している。期間Ｔｅでは、ほぼ一定値に収束している。期間Ｔｄでは、モータ１００９の絶対値の増大に伴い徐々に増加している。期間Ｔｓ２では、ほぼ一定の小さい値に収束している。
【０３３１】
指数移動歪度は、期間Ｔｓ１ではほぼ０になっている。これは、期間Ｔｓ１のモータトルクが左右対称の確率分布となっているためである。期間Ｔａが始まる時刻Ｔｒ１では、歪度は一時的に正の値になり、その後負の値になっている。これは、モータトルクが０から増加したため、０付近の古いデータと増大後の新しいデータとが一時的に混在し、モータトルクの確率分布が乱れているためである。
【０３３２】
また、指数移動歪度は、期間Ｔｅでは時刻Ｔｒ２の直後に一時的に正の値になり、その後ほぼ０に収束している。指数移動歪度は、期間Ｔｄでは時刻Ｔｒ３の直後に一時的に正の値になり、その後ほぼ一定の値に収束している。指数移動歪度は、期間Ｔｓ２では時刻Ｔｒ４の直後に一時的に負の値になり、その後ほぼ０に収束している。
【０３３３】
更に、指数移動尖度は、期間Ｔｓ１ではほぼ３程度の値になっている。値が３になるのは、正規分布に対する指数移動尖度の特性であり、期間Ｔｓ１でモータトルクが正規分布に近い性質をもっていたことを表している。指数移動尖度は、期間Ｔａが始まる時刻Ｔｒ１の直後に負の値となり、その後の正の値になっている。更にその後、指数移動尖度は、時刻Ｔｒ２までにほぼ一定の値に収束している。これは、モータトルクが０から増加したため、０付近の古いデータと増大後の新しいデータとが一時的に混在し、モータトルクの確率分布が乱れているためである。
【０３３４】
また、指数移動尖度は、期間Ｔｅが始まる時刻Ｔｒ２の直後に負の値となり、その後に正の値になっている。更にその後、指数移動尖度は、時刻Ｔｒ３までにほぼ一定の値に収束している。
【０３３５】
また、指数移動尖度は、期間Ｔｄが始まる時刻Ｔｒ３の直後に負の値となり、その後に正の値になっている。更にその後、指数移動尖度は、時刻Ｔｒ４までにほぼ一定の値に収束している。
【０３３６】
また、指数移動尖度は、期間Ｔｓ２が始まる時刻Ｔｒ４の直後に負の値となり、その後に正の値になっている。更にその後、指数移動尖度は、時刻Ｔｒ５までに徐々に一定の値に収束しつつある。
【０３３７】
次に、収束度計算部４００７によって計算された収束度の挙動、及び状態診断部４００６の動作に関して、図１５を用いて説明する。図１５は、図１４に示す初期化トリガ及び収束度の時系列の波形を時刻Ｔｒ２から時刻Ｔｒ３までの期間に渡って拡大した図である。
【０３３８】
図１５において、時刻Ｔｒ２では初期化トリガが“１”を示しており、初期化処理が実行される。初期化処理が実行されると、内部変数の一つである第ｊ時点の変数Ｌ'ｊが０になり、収束度が０になる。ここで、第ｊ時点は初期化トリガが“１”を示した時点を指している。収束度は、初期化後に増加し、徐々に１に漸近している。
【０３３９】
状態診断部４００６は、収束度計算部４００７が数式（８５）を用いて計算した収束度が一定の条件を満たす時点での特徴量を基に、機械装置１００８の状態を診断する。例えば、収束度に対してしきい値Ｃｔｈを設定する。状態診断部４００６は、収束度がしきい値Ｃｔｈを超えている時点の特徴量を用いて機械装置１００８の状態を診断する。ここで、しきい値Ｃｔｈは、収束度が漸近する１に近い値に設定するのがよい。しきい値Ｃｔｈの一例は０．９９である。
【０３４０】
ここで、しきい値Ｃｔｈを超えた時点の時刻を「Ｔｘ」と表記する。また、収束度がしきい値Ｃｔｈを超えない時刻Ｔｒ２から時刻Ｔｘまでの期間を「Ｔｎ」と表記する。また、収束度がしきい値Ｃｔｈを超えた時刻ＴｘからＴｒ３までの期間を「Ｔｃ」と表記する。
【０３４１】
状態診断部４００６は、期間Ｔｎにおいて計算された特徴量は機械装置１００８の診断には用いず、期間Ｔｃにおいて計算された特徴量を機械装置１００８の診断に用いるのがよい。このような構成によれば、内部変数が初期化された場合に計算の結果が十分収束したときの特徴量を用いることができる。これにより、実施の形態３の効果に加え、機械装置の状態を更に高精度に推定できる。
【０３４２】
以上説明したように、実施の形態４における情報処理装置は、実施の形態３の構成に対し、更に収束度計算部を備える。収束度計算部は、内部変数に基づいて、特徴量の計算の収束の度合いを定量的に示す指標である収束度を計算する。この構成により、内部変数が初期化された場合に計算の結果が十分収束したときの特徴量を用いることができる。これにより、実施の形態３の効果を得た上で、更に機械装置の状態を高精度に推定できるという効果が得られる。
【０３４３】
実施の形態５．
図１６は、実施の形態５における情報処理装置５０００を含む情報処理システム１００Ｄの構成例を示す図である。図１６に示す情報処理システム１００Ｄでは、図１に示す情報処理システム１００の構成において、状態診断部１００６が状態診断部５００６に置き替えられている。その他の構成は、図１に示す情報処理システム１００と同一又は同等である。同一又は同等の構成部には同一の符号を付すと共に、重複する説明は省略する。なお、本実施の形態では、状態診断部５００６を図１に示す情報処理装置１０００に適用する例で説明するが、図９、図１１又は図１３に示す、情報処理装置２０００，３０００，４０００のうちの何れに適用してもよい。
【０３４４】
図１７は、実施の形態５における状態診断部５００６の構成例を示す図である。状態診断部５００６は、状態量取得部５４０１と、学習部５４０２と、異常度計算部５４０３と、意思決定部５４０４とを備える。状態量取得部５４０１は、特徴量を含む状態量を取得する。学習部５４０２は、機械装置１００８が正常な状態の状態量に基づいて、機械装置１００８の状態と特徴量との関係を学習する。異常度計算部５４０３は、学習部５４０２が学習した学習結果に基づいて機械装置１００８の異常度合いを定量的に示す指標である異常度を計算する。意思決定部５４０４は、異常度計算部５４０３が計算した異常度に基づいて機械装置１００８の状態を診断した診断結果を決定する。
【０３４５】
次に、状態量取得部５４０１、学習部５４０２、異常度計算部５４０３及び意思決定部５４０４の動作について説明する。
【０３４６】
状態量取得部５４０１は、特徴量と共に、機械装置１００８に付与する設定値を含む情報を状態量として取得する。特徴量の一例として、前述の方法で逐次計算した歪度を用いることが考えられる。また、状態量の一つとして用いる機械装置１００８の情報として、モータ速度の設定値を利用することが考えられる。図５（ａ）に示した例では、モータ速度の最大が５００［ｒ／ｍｉｎ］となるよう装置制御部１０９９を設定している。本実施の形態では、モータ速度の設定値は５００［ｒ／ｍｉｎ］であるとする。なお、本実施の形態では、状態量取得部５４０１への入力情報が、歪度及びモータ速度の設定値という２つの場合を例示するが、この例に限定されない。状態量取得部５４０１への入力情報は、３以上であってもよい。
【０３４７】
図１８は、実施の形態５における特徴量とモータ速度の設定値との関係を示す図である。図１８には、特徴量の一例である歪度とモータ速度の設定値との組を１つのデータとして複数プロットしている。横軸はモータ速度の設定値であり、縦軸は歪度である。特徴量は複数でもよく、状態量は３次元の概念で表示されるものでもよい。また、モータ速度以外の状態量を用いてもよい。黒塗りの丸は、機械装置１００８が正常な状態である正常データである。白塗りの丸は、機械装置１００８に何らかの異常が発生した場合の異常データである。図１８に示すように正常データとして、機械装置１００８が正常な状態の状態量を数多く得ていることが望ましい。図１８をみると、正常データは、モータ速度の設定値が大きいほど特徴量が大きくなる傾向にあることがわかる。一方、異常データは、モータ速度の設定値が比較的小さいにも関わらず、特徴量が比較的大きくなっている。
【０３４８】
学習部５４０２及び異常度計算部５４０３の構成例として、主成分分析（ｐｒｉｎｃｉｐａｌ  ｃｏｍｐｏｎｅｎｔ  ａｎａｌｙｓｉｓ）を用いた異常度の計算方法が知られている。主成分分析は、多次元のデータである状態量を分散の大きい方向から順に軸を取り直す方法である。主成分分析を用いた学習部５４０２は、予め得られている正常データの分散共分散行列の固有値及び固有ベクトルを計算し、元の状態量を主成分の空間に線形写像する。元の状態量をベクトルｘ、写像後のベクトルをｙとすると、ベクトルｘの写像は、以下の数式（８６）で表せる。
【０３４９】
【数８６】
0006935046.tif 000087
【０３５０】
学習部５４０２は、正常データを基に、この線形写像を表す行列である表現行列Ａを決定する。学習部５４０２は、複数用意した正常データから求めた分散共分散行列に関する固有値及び固有ベクトルが複数得られる。得られた複数の固有値に関し、固有値が大きい順に対応する複数の固有ベクトルを並べる。そして、並べて作成された複数の固有ベクトルによる行列が表現行列Ａとなる。本実施の形態の例で説明すると、２つの状態量を用いて２行１列の固有ベクトルが作成される。そして２行１列の固有ベクトルが２つ並べられて、２行２列の表現行列が作成される。なお、本例とは異なるが、得られた固有値の数より少ない固有ベクトルを並べて、表現行列を作成することで、写像後のベクトルの次元を、元の状態量のベクトルの次元よりも小さくしてもよい。
【０３５１】
図１９は、実施の形態５における主成分分析の結果を示す図である。図１９には、図１８のデータが再掲され、且つ固有値が最も大きい第１主成分の軸と、固有値が２番目に大きい第２主成分の軸とが示されている。固有値は、主成分分析の結果として得られる。また、図１９には、主成分分析の結果を分かりやすくするために、第１主成分の軸と第２主成分の軸が交差する位置を中心に、各主成分の分散に対応する固有値に従って、楕円状の信頼区間が示されている。信頼区間は、データの分布がある確率で収まると期待される区間である。例えば、正常データの９０％が収まると期待される９０％信頼区間、正常データの９９％が収まると期待される９９％信頼区間などがある。信頼区間は、一般的な統計学の手法で計算できる。
【０３５２】
図１９において、正常データは９９％信頼区間の内部にあるのに対し、異常データは９９％信頼区間の外部に位置している。この異常データは、機械装置１００８が正常であれば、１％程度の確率でしか生じないとされるデータと判断される。そのため、機械装置１００８に異常が発生している可能性があると判断される。一方、主成分分析を用いずに単純に特徴量に対してしきい値を設けた場合、異常データが正常データの分布に収まってしまい、診断が困難となる場合がある。
【０３５３】
実施の形態５の異常度計算部５４０３は、機械装置１００８の異常の度合いを定量的に示す指標である異常度を計算する。異常度の例として、Ｔ２統計量と呼ばれる指標を用いる。Ｔ２統計量は、主成分分析による写像後のデータが各主成分の軸の中心座標からの距離を軸ごとの分散で標準化した指標である。各主成分の軸の中心座標からの距離は「マハラノビス距離」とも呼ばれる。
【０３５４】
図２０は、実施の形態５における主成分分析の異常度を示す図である。図２０には、図１９に示した正常データ、異常データ、９０％信頼区間、９９％信頼区間を前述の固有値を用いて標準化した場合の図が示されている。また、図２０には、第１主成分の軸と第２主成分の軸とが交差する点と、異常データとの間の距離が異常度として示されている。また、図１９では楕円状となっていた９０％信頼区間及び９９％信頼区間が、図２０では円形になっている。図２０のように、マハラノビス距離の概念を用いて図示すれば、正常時のデータのばらつきを考慮した異常度合いの判断が可能となる。
【０３５５】
実施の形態５では、異常度計算部５４０３として、主成分分析で求めた主成分に写像後のＴ２統計量を用いて異常度を算出する方法を述べたが、この方法に限定されない。Ｔ２統計量の代わりに、Ｑ統計量と呼ばれる指標を用いてもよい。また、主成分分析と同じように正常データを学習してその分布を覚え、新たなデータに対して異常度を算出可能な方法として、教師なし学習と呼ばれる様々な手法が存在する。例えば、１クラスサポートベクターマシン（Ｏｎｅ  ｃｌａｓｓ  Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）、マハラノビス・タグチ法（Ｍａｈａｌａｎｏｂｉｓ  Ｔａｇｕｃｈｉ  Ｍｅｔｈｏｄ）、自己組織化写像（Ｓｅｌｆ−Ｏｒｇａｎｉｚｉｎｇ  Ｍａｐｓ）等の方法を用いてもよい。また、必要に応じて、入力される状態量に正規化処理等の前処理を施してから異常度を計算してもよい。
【０３５６】
実施の形態５の意思決定部５４０４は、前述の方法で計算した異常度を用いて機械装置１００８の状態を診断した結果を決定する。意思決定部５４０４が、特徴量を用いて機械装置１００８の状態を診断する手順について、図２１を参照して説明する。図２１は、実施の形態５における異常度の経年変化の様子の一例を示す図である。図２１には、前述の方法で計算した異常度を定期的にプロットした結果が示されている。定期的とは、例えば一月毎である。図２１の横軸は時間であり、機械装置１００８の運用時間を表している。
【０３５７】
意思決定部５４０４は、異常度に対して、しきい値Ｆｔｈｂを設け、異常度がしきい値Ｆｔｈｂを超えた場合に、機械装置１００８に異常が生じていると診断する。
【０３５８】
図２１において、時刻Ｔｔｂ０は運用を開始した時刻である。時刻Ｔｔｂ０から時刻Ｔｔｂ１より前までの異常度は、多少ばらつきを生じながらも、しきい値Ｆｔｈｂよりも小さい値を保っている。意思決定部５４０４は、異常度がしきい値を下回っている場合には、機械装置１００８が正常である旨の診断を下し、その診断結果を出力する。
【０３５９】
また、図２１の例では、時間の経過と共に異常度の平均的な値が徐々に増加していき、時刻Ｔｔｂ１で異常度がしきい値Ｆｔｈｂを上回っている。この場合、状態診断部５００６は、時刻Ｔｔｂ１で機械装置１００８に異常が生じたという診断を下し、その診断結果を出力する。
【０３６０】
しきい値Ｆｔｈｂの決め方は様々である。例えば正常データの９９％信頼区間に相当する異常度をしきい値Ｆｔｈｂとすることが考えられる。また、過去の別の機械装置に異常が生じた際の異常度をしきい値Ｆｔｈｂとしてもよい。また、機械装置１００８の運用を開始した直後の異常度を参考にして定めてもよい。また、しきい値Ｆｔｈｂは、動的に設定してもよい。例えば複数の機械装置を運用しながら、それらの異常度を個別に計算し、装置ごとの異常度のばらつきを考慮して定期的にしきい値Ｆｔｈｂを決定してもよい。そのように情報処理装置を構成した場合、複数の機械装置のうち一つが故障した際に、故障した装置の異常度がその他の装置の異常度に比べて大きくなるため、異常の検知が可能となる。
【０３６１】
また、本実施の形態では、異常度が一度でもしきい値Ｆｔｈｂを超えた場合に、機械装置１００８が異常であるという診断を下しているが、この手法に限定されない。ノイズ等の影響による誤った診断、即ち誤判定を減らすため、一定の期間の異常度の分布に基づいた検定を行うなどの統計的な手法を採用してもよい。
【０３６２】
以上説明したように、実施の形態５における情報処理装置は、機械装置の異常の度合いを定量的に示す指標である異常度に基づいて機械装置の状態を診断する。これにより、他の実施の形態の効果を得た上で、更に機械装置の状態を高精度に推定できるという効果が得られる。
【０３６３】
実施の形態６．
図２２は、実施の形態６における情報処理装置６０００を含む情報処理システム１００Ｅの構成例を示す図である。図２２に示す情報処理システム１００Ｅでは、図１に示す情報処理システム１００の構成において、状態診断部１００６が状態診断部６００６に置き替えられている。その他の構成は、図１に示す情報処理システム１００と同一又は同等である。同一又は同等の構成部には同一の符号を付すと共に、重複する説明は省略する。なお、本実施の形態では、状態診断部６００６を図１に示す情報処理装置１０００に適用する例で説明するが、図９、図１１又は図１３に示す、情報処理装置２０００，３０００，４０００のうちの何れに適用してもよい。
【０３６４】
図２３は、実施の形態６における状態診断部６００６の構成例を示す図である。状態診断部６００６は、状態量取得部６４０１と、学習部６４０２と、状態推定部６４０３と、意思決定部６４０４とを備える。状態量取得部６４０１は、特徴量を含む状態量を取得する。学習部６４０２は、機械装置１００８の状態と、状態量取得部６４０１が取得する状態量との関係を紐付ける学習用データに基づいて機械装置１００８の状態と当該状態量との関係を学習する。状態推定部６４０３は、学習部６４０２に入力された状態量と学習部６４０２による学習結果とに基づいて機械装置１００８の状態を推定する。意思決定部６４０４は、状態推定部６４０３が推定した結果に基づいて機械装置１００８の状態を診断した診断結果を決定する。
【０３６５】
状態量取得部６４０１は、特徴量と共に、機械装置１００８に付与する設定値を含む情報を状態量として取得する。特徴量の一例として、前述の方法で逐次計算した歪度及び尖度を用いることが考えられる。また、状態量の一つとして用いる機械装置１００８の情報として、前述のモータ速度の設定値を利用することが考えられる。なお、本実施の形態では、状態量取得部６４０１への入力情報が、歪度、尖度及びモータ速度の設定値という３つの場合を例示するが、この例に限定されない。状態量取得部６４０１への入力情報は、４以上であってもよい。
【０３６６】
学習部６４０２及び状態推定部６４０３は、例えば、ニューラルネットワークモデルに従って、いわゆる教師あり学習によって、状態量と機械装置１００８の状態との関係を学習してもよい。ここで、ある入力（状態量）と結果（ラベル）のデータの組である学習用データを大量に学習部に与えることで、それらのデータにある特徴を学習し、入力から結果を推定するモデルを教師あり学習と呼んでいる。ニューラルネットワークは、複数のニューロンからなる入力層、複数のニューロンからなる中間層（隠れ層）、及び複数のニューロンからなる出力層で構成される。中間層は、１層でもよく、２層以上でもよい。
【０３６７】
図２４は、実施の形態６における状態推定部６４０３の構造の例を示す図である。入力は状態量である。説明をわかりやすくするため、図２４のニューラルネットワークは、入力数を３、層数を３としている。複数の入力が、Ｘ１からＸ３で構成される入力層に入力されると、入力値にＷ１１からＷ１６で構成される重みＷ１を乗じた値が、Ｙ１とＹ２とで構成される中間層に入力される。更に、中間層の入力値に、Ｗ２１からＷ２６で構成される重みＷ２を乗じた値が、Ｚ１からＺ３で構成される出力層から出力される。この出力結果は、重みＷ１の値と重みＷ２の値に依存して変化する。
【０３６８】
実施の形態６のニューラルネットワークによる学習の一例では、入力層Ｘ１〜Ｘ３に状態量１〜３を入力して、出力層Ｚ１〜Ｚ３から出力される各状態の確率が学習用データのラベルと一致するように重みＷ１及び重みＷ２を調整する。なお、実施の形態６における学習処理を実行した学習済みの状態推定部６４０３を搭載した情報処理装置６０００を構成してもよい。学習済みの状態推定部６４０３は、学習済のデータ、学習済のプログラム、又はこれらの組み合わせで構成してもよい。学習済みの状態推定部６４０３を用いることにより、他の情報処理装置を用いた学習の結果を利用することができるため、新たに学習を行わずに、診断を実現できる情報処理装置６０００を提供することができる。
【０３６９】
図２４には、歪度が入力層Ｘ１に入力され、尖度が入力層Ｘ２に入力され、モータ速度の設定値が入力層Ｘ３に入力される例が示されている。歪度は入力層Ｘ１に入力される状態量１の例示であり、尖度は入力層Ｘ２に入力される状態量２の例示であり、モータ速度の設定値は入力層Ｘ３に入力される状態量３の例示である。また、出力層Ｚ１からは、状態１の確率として機械装置１００８のボールねじ軸１２２４が故障している確率が出力される。出力層Ｚ２からは、状態２の確率として機械装置１００８のカップリング１２２０が故障している確率が出力される。出力層Ｚ３からは、状態３の確率として機械装置１００８が正常な状態である確率が出力される。出力の計算には、例えば全ての出力の和が１、即ち１００％となるように、例えばソフトマックス関数（ｓｏｆｔｍａｘ  ｆｕｎｃｔｉｏｎ）を用いてもよい。この関数を用いると、推定の結果が理解しやすくなる。
【０３７０】
図２４に示すニューラルネットワークは、学習部６４０２に入力される学習用データに基づいて作成されるデータセットに従って、教師あり学習により、機械装置１００８の状態と状態量１〜３との関係を学習する。学習時には、ラベルと呼ばれる機械装置１００８の真の状態を示す情報が正しく得られているものとし、状態１〜３のうちの何れかの出力が１（確率が１００％）、それ以外の出力が０（確率が０％）となるように学習するのがよい。
【０３７１】
学習部６４０２及び状態推定部６４０３の構成はニューラルネットワークに限らなくてもよい。例えば、ｋ近傍法、二分木探索、サポートベクターマシン、線形回帰、ロジスティック回帰等、状態量とラベルとの関係を学習し、状態量から状態を推定する方法が数多く知られている。従って、これの手法を適用して、学習部６４０２及び状態推定部６４０３を構成してもよい。
【０３７２】
意思決定部６４０４は、状態推定部６４０３の推定した結果に基づいて機械装置１００８の状態を診断した診断結果を決定する。例えば、機械装置１００８が正常な可能性が最も高い場合、機械装置１００８の診断結果として正常である旨を示す診断結果を出力するのがよい。また、ボールねじ軸１２２４が故障している確率又はカップリング１２２０が故障している確率が最も高い場合、故障箇所を示す診断結果を出力するのがよい。また、ボールねじ軸１２２４が故障している確率とカップリング１２２０が故障している確率との和が、正常な確率よりも大きい場合、何れかの部品が故障していることを示す結果を出力するのがよい。
【０３７３】
以上説明したように、実施の形態６における情報処理装置は、機械装置の状態と状態量との関係を紐付ける学習用データに基づいて機械装置の状態と当該状態量との関係を学習し、その学習結果と学習時に用いた状態量とに基づいて機械装置の状態を推定する。これにより、実施の形態１の効果を得た上で、更に機械装置の状態を高精度に推定できるという効果が得られる。
【０３７４】
以上の実施の形態に示した構成は、一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、実施の形態同士を組み合わせることも可能であるし、要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【０３７５】
１００，１００Ａ，１００Ｂ，１００Ｃ，１００Ｄ，１００Ｅ  情報処理システム、１０００，２０００，３０００，４０００，５０００，６０００  情報処理装置、１００１，２００１，３００１  センサデータ取得部、１００２  内部変数保持部、１００３，２００３，４００３  内部変数計算部、１００４，２００４，４００４  特徴量計算部、１００５，３００５  初期化処理部、１００６，４００６，５００６，６００６  状態診断部、１００８  機械装置、１００９  モータ、１０１０  センサ、１０９９，２０９９  装置制御部、１２１０  ボールねじ、１２１２  可動部、１２１３  ガイド、１２２０  カップリング、１２２４  ボールねじ軸、１２３０  サーボモータ、１２３１  サーボモータ軸、１２３２  電流センサ、１２３３  エンコーダ、１２４０  ドライバ、１２５０，１２８０  表示器、１２６０  ＰＬＣ、１２７０  ＰＣ、１２９１  プロセッサ、１２９２  メモリ、１２９３  処理回路、４００７  収束度計算部、５４０１，６４０１  状態量取得部、５４０２，６４０２  学習部、５４０３  異常度計算部、６４０３  状態推定部、５４０４，６４０４  意思決定部。
【要約】
情報処理装置（１０００）において、内部変数保持部（１００２）は、センサデータ取得部（１００１）によって取得されたセンサデータに基づいて時系列に順次計算される、Ｎよりも少ない個数の内部変数を保持する。内部変数計算部（１００３）は、第ｊ＋１時点（ｊは１からＮ−１までの整数）に対応する内部変数を、第ｊ＋１時点のセンサデータと第ｊ時点に対応する内部変数とに基づいて計算する。特徴量計算部（１００４）は、第Ｎ時点の内部変数に基づいて第１時点から第Ｎ時点までのセンサデータに含まれる統計的な特徴を抽出した特徴量を計算する。状態診断部（１００６）は、特徴量に基づいて機械装置（１００８）の状態を診断する。【図１】
0006935046.tif 000088
【図２】
0006935046.tif 000089
【図３】
0006935046.tif 000090
【図４】
0006935046.tif 000091
【図５】
0006935046.tif 000092
【図６】
0006935046.tif 000093
【図７】
0006935046.tif 000094
【図８】
0006935046.tif 000095
【図９】
0006935046.tif 000096
【図１０】
0006935046.tif 000097
【図１１】
0006935046.tif 000098
【図１２】
0006935046.tif 000099
【図１３】
0006935046.tif 000100
【図１４】
0006935046.tif 000101
【図１５】
0006935046.tif 000102
【図１６】
0006935046.tif 000103
【図１７】
0006935046.tif 000104
【図１８】
0006935046.tif 000105
【図１９】
0006935046.tif 000106
【図２０】
0006935046.tif 000107
【図２１】
0006935046.tif 000108
【図２２】
0006935046.tif 000109
【図２３】
0006935046.tif 000110
【図２４】
0006935046.tif 000111