JP2022136350A - 時系列データ解析に基づいたシステム制御 - Google Patents

時系列データ解析に基づいたシステム制御 Download PDF

Info

Publication number
JP2022136350A
JP2022136350A JP2021196075A JP2021196075A JP2022136350A JP 2022136350 A JP2022136350 A JP 2022136350A JP 2021196075 A JP2021196075 A JP 2021196075A JP 2021196075 A JP2021196075 A JP 2021196075A JP 2022136350 A JP2022136350 A JP 2022136350A
Authority
JP
Japan
Prior art keywords
input signal
window
controller
test signal
statistics
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021196075A
Other languages
English (en)
Other versions
JP2022136350A5 (ja
Inventor
ヂャン・ジン
Jing Zhang
ニコフスキ・ダニエル
Nikovski Daniel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JP2022136350A publication Critical patent/JP2022136350A/ja
Publication of JP2022136350A5 publication Critical patent/JP2022136350A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0259Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
    • G05B23/0283Predictive maintenance, e.g. involving the monitoring of a system and, based on the monitoring results, taking decisions on the maintenance schedule of the monitored system; Estimating remaining useful life [RUL]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0259Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
    • G05B23/0286Modifications to the monitored process, e.g. stopping operation or adapting control
    • G05B23/0294Optimizing process, e.g. process efficiency, product quality
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0221Preprocessing measurements, e.g. data collection rate adjustment; Standardization of measurements; Time series or signal analysis, e.g. frequency analysis or wavelets; Trustworthiness of measurements; Indexes therefor; Measurements using easily measured parameters to estimate parameters difficult to measure; Virtual sensor creation; De-noising; Sensor fusion; Unconventional preprocessing inherently present in specific fault detection methods like PCA-based methods
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0224Process history based detection method, e.g. whereby history implies the availability of large amounts of data
    • G05B23/024Quantitative history assessment, e.g. mathematical relationships between available data; Functions therefor; Principal component analysis [PCA]; Partial least square [PLS]; Statistical classifiers, e.g. Bayesian networks, linear regression or correlation analysis; Neural networks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0243Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults model based detection method, e.g. first-principles knowledge model
    • G05B23/0245Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults model based detection method, e.g. first-principles knowledge model based on a qualitative model, e.g. rule based; if-then decisions
    • G05B23/0248Causal models, e.g. fault tree; digraphs; qualitative physics
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0256Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults injecting test signals and analyzing monitored process response, e.g. injecting the test signal while interrupting the normal operation of the monitored system; superimposing the test signal onto a control signal during normal operation of the monitored system

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Testing Of Devices, Machine Parts, Or Other Structures Thereof (AREA)

Abstract

【課題】システムの動作を示す時系列データの統計を生成するためのコントローラを提供する。【解決手段】コントローラ100は、システムの動作を示す入力信号104を受取るとともに、さまざまな循環シフトでテスト信号106を複数回回転させて、入力信号104を含む行列データ構造を形成するテスト信号106のさまざまな回転を引起こす。入力信号104およびテスト信号106は、時間の経過に応じて単調に測定された値を有する時系列データである。コントローラ100はさらに、行列データ構造にスライディング3次元(3D)ウィンドウ法を適用して、テスト信号106の回転に対する入力信号の統計を生成するように構成される。スライディング3Dウィンドウ法は、行列データ構造にわたってウィンドウを反復的に移動させて、ウィンドウ内の行列データ構造のセグメントに関する統計の値を計算する。【選択図】図1A

Description

本開示は、概して、システム制御に関し、より特定的には、時系列データ解析に基づいてシステムの動作を制御するための装置に関する。
現代のコンピュータシステムは、さまざまな物理システムおよび/またはマシンから大量の情報を収集する。このような物理システム(以下、システムとする)を良好に機能している状態で維持することは、これらシステムの動作に関する重要な課題であり、メンテナンスを実行する方法および時期はこれらシステムの動作の経済的側面に極めて多大な影響を及ぼす。1つのメンテナンス戦略として、システムの故障後にのみシステムを修理するという戦略がある(改良保全としても公知である)。この戦略は最適ではない。なぜなら、故障したシステム全体を修理する場合、システムの故障前に部品を1つだけ交換する場合よりも費用がかかる可能性があり、また、システムが故障すると材料が無駄になったり製品品質が許容できないレベルになったりする可能性があり、さらには、システムの操作人員を危険に晒す恐れがあるからである。改良保全が実現可能な選択肢または経済的選択肢ではない状況では、たとえば1年などの一定間隔でのシステムの定期的なメンテナンスといった異なる戦略が採用される。このような安全上重要なシステムの例としてエレベータおよび車両が挙げられる。一般には、それらのメンテナンスは1年に1回行われ、対応する検査証明書が発行される。このような戦略は予防保全として一般に公知である。
予防保全は、システムメンテナンスに関連する安全性の問題に対処するものであるが、経済的に最適ではない場合が多い。たとえば、予防保全では、メンテナンスサイクルの長さはしばしば任意(たとえば、1年または1ヶ月)であり、検査当局の都合および検査工程(たとえば、自動車用の検査ラベルの発行)の物流管理に応じて、システムが実際に必要とするよりも長くなる。さらに、メンテナンスサイクルが1回の場合、グループ内のすべてのシステムにとって最適でない可能性がある。というのも、システムのうちいくつかが新しい場合、これらの新しいシステムはそれほど頻繁にメンテナンスを必要としないのに対して、それより古いシステムははるかにより頻繁にメンテナンスを必要とする可能性があるからである。この状況では、時間ベースの予防保全戦略が用いられる。時間ベースの予防保全は予知保全とも称される。
予知保全戦略は、システムパラメータを測定するためのセンサの使用を可能にする。システム動作の計装化が増えるにつれて、システムの動作を監視するセンサから大量のデータが収集されるようになる。いくつかのセンサからのデータは比較的高い周波数で生成される可能性もあり、結果として得られるデータが大量となる。システムに関連付けられたセンサからのデータを解析して、システムの状態が判断され得る。たとえば、場合によっては、システムに関連付けられたセンサからのデータストリームを解析して、システムが予想通りに実行していない(機器故障と称する)かどうかを判断してもよい。しかしながら、予知保全戦略は時間がかかるとともにトレーニングデータを必要とする。たとえば、予知保全を実際の環境に適合させる場合、この予知保全は、センサからのデータストリームを解析するために一定量のトレーニングデータを必要とし、さらに、高精度の学習モデルを得るのに長い時間を要する。たとえば、より古いシステムおよび新しいシステムを含むシステムからなるグループの場合、当該グループ内のすべてのシステムのためのトレーニングデータを収集する必要があり、さらに、グループ内の各システムのためのモデルを設計してトレーニングする必要がある。さらに、さまざまなシステム用のモデルはそれぞれ異なる態様で設計する必要があるので、予知保全戦略での迅速な適合化が不可能となる。
したがって、最適かつ実現可能な態様でシステムの動作を制御するための効率的な装置が必要とされている。
いくつかの実施形態の目的は、システムの動作を示す時系列データの統計を生成するためのコントローラを提供することである。また、いくつかの実施形態の目的は、時系列データについての生成された統計に従ってシステムの動作を制御することである。
いくつかの実施形態は、システムの動作を制御するために入力信号をテスト信号と比較する必要があるという認識に基づいている。本明細書で用いられる場合、当該システムは、暖房、換気および空調(Heating, Ventilating, and Air-Conditioning:HVAC)システム、ロボットアセンブリ、エレベータドアシステム、車両、およびモータを含み得るがこれらに限定されない。システムの動作の例としては、特定のパラメータに従ってHVACシステムを動作させること、特定のタスクに従ってロボットアームを動作させること、および、エレベータドアを開閉させることを含み得るが、これらに限定されない。いくつかの実施形態では、テスト信号および入力信号はシステムの動作を示す時系列データであり得る。他のいくつかの実施形態では、テスト信号および入力信号は2つの異なる信号であり得る。この場合、テスト信号はシステムの正常動作を示し、入力信号はシステムのリアルタイムの動作を示す。本明細書で用いられる場合、時系列データは、時間的に連続して測定および/または決定される一連の値である。
いくつかの実施形態は、テスト信号のさまざまな回転に対する入力信号の統計を生成することがテスト信号に対して入力信号を比較することと同様であるという認識に基づいている。このために、いくつかの実施形態の目的は、テスト信号をさまざまな循環シフトで複数回回転させて、テスト信号のさまざまな回転を引起こすことである。いくつかの実施形態では、テスト信号は、当該テスト信号の最後のエントリを最初の位置に移動させるとともに他のすべてのエントリを次の位置にシフトさせることによって、循環シフトで回転させられる。他のいくつかの実施形態では、テスト信号は、テスト信号の最初のエントリを最後の位置に移動させるとともに、他のすべてのエントリを前の位置にシフトさせることによって、循環シフトで回転させられる。循環シフトの値は、エントリを形成するテスト信号のサンプルの数を決定する。いくつかの実施形態の目的はまた、少なくともテスト信号および入力信号のさまざまな回転を用いて行列データ構造を形成することである。
いくつかの実施形態は、テスト信号のさまざまな回転に対する入力信号の統計が、スライディング3次元(three-dimensional:3D)ウィンドウ法を行列データ構造に適用することによって生成されるという認識に基づいている。スライディング3次元(3D)ウィンドウ法の「スライディング(sliding)」部分は、入力信号の統計を決定するために行列データ構造にわたってウィンドウを反復的に移動させるスライディング3次元(3D)ウィンドウ法を指し得る。スライディング3次元(3D)ウィンドウ法の「3次元(3D)ウィンドウ」部分は、同じウィンドウ内で定義された(テスト信号のさまざまな回転であり得るかまたは完全なテスト信号であり得る)他のすべてのセグメントに対する当該ウィンドウ内の入力信号についての統計を決定するスライディング3次元(3D)ウィンドウ法を指し得る。
したがって、スライディング3Dウィンドウ法は、ウィンドウ内の行列データ構造における入力信号のセグメントについての統計の値を決定するために、行列データ構造にわたってウィンドウを反復的に移動させる。さらに、スライディング3次元(3D)ウィンドウ法は、単一のウインドウを用いて、テスト信号のさまざまな回転または完全なテスト信号に対する入力信号のセグメントについての統計を決定するために用いられる。したがって、本明細書中に開示されるスライディング3次元(3D)ウィンドウ法は、入力信号のセグメントをテスト信号と比較するために複数のウィンドウを用いる現在利用可能なスライディング法と比べて、実現可能な方法で入力信号の統計を決定する。たとえば、テスト信号および入力信号が同じである場合、現在利用可能なスライディング法は、ウィンドウ内で定義された入力信号の或るセグメントを、他の複数のウィンドウ内で定義された入力信号の複数の他のセグメントと比較する。しかしながら、スライディング3次元(3D)ウィンドウ法の場合、ウィンドウ内で定義された入力信号のセグメントは、同じウィンドウ内で定義された入力信号の複数の他のセグメントと比較される。
現在位置におけるウィンドウについての入力信号の統計の現在値を決定するために、スライディング3Dウィンドウ法は、現在位置におけるウィンドウ内のテスト信号の各回転の現在セグメントに対する、現在位置におけるウィンドウ内の入力信号の現在セグメントの統計観測値を計算する。いくつかの実施形態の目的は、現在位置におけるウィンドウ内の入力信号の現在セグメントの統計観測値を計算する間、前の位置におけるウィンドウに関して決定された少なくともいくつかの対応する統計観測値を用いることである。このために、入力信号の統計を生成するために実行すべき計算が減らされ得る。したがって、入力信号の統計は、より最適および/または効率的な方法で決定され得る。
いくつかの実施形態は、入力信号の現在セグメントについての統計観測値が、有効な統計観測値および無効な統計観測値を含み得るという認識に基づいている。有効な統計観測値は、各々の有効なテスト信号セグメントの値を含む、入力信号の現在セグメントの値同士の差を含み得る。各々の有効なテスト信号セグメントの値を含む入力信号の現在セグメントの値同士の差は、正規化されていないユークリッド距離を定義する。無効な統計観測値は、各々の無効なテスト信号セグメントの値を含む入力信号の現在セグメントの値同士の差を含み得る。本明細書で用いられる場合、無効なテスト信号セグメントは、テスト信号において定義される時間インデックスの単調性を妨害する、ウィンドウで定義されるテスト信号の回転の現在セグメントに対応し得る。有効なテスト信号セグメントは、テスト信号において定義される時間インデックスの単調性を妨害しない、ウインドウで定義されるテスト信号の回転の現在セグメントに対応し得る。
いくつかの実施形態の目的は、テスト信号の単調性を妨害するテスト信号の回転の現在セグメントに関して計算された無効な統計観測値を除外することによって、入力信号の現在セグメントについての統計観測値から現在位置におけるウインドウについての入力信号の統計の現在値を計算することである。たとえば、現在値は、有効な統計観測値の最大値または最小値のうち少なくとも1つであってもよい。
さらに、いくつかの実施形態では、スライディング3Dウィンドウ法において、ウィンドウは、入力信号の統計の現在値を決定した後、行列データ構造にわたって現在位置から次の位置へと動かされる。いくつかの実施形態は、スライディング3Dウィンドウ法でウィンドウを移動させるためのシフトの値を決定する。いくつかの実施形態では、スライディング3Dウィンドウ法でウィンドウを移動させるためのシフトの値は、テスト信号を回転させるための循環シフトの隣接し合う値の差に等しい。このようにして、スライディング3Dウィンドウ法では、ウィンドウは、行列データ構造にわたって反復的に移動して入力信号の統計を生成する。
いくつかの実施形態は、入力信号の統計が、所与の時系列データ(たとえば、入力信号)および所与のウィンドウサイズmのためにスライディング3次元ウィンドウによって適用されるウィンドウの最大値を計算するサブルーチンによって決定されるという理解に基づいている。このために、いくつかの実施形態は、ウィンドウサイズmの各ウィンドウごとに最大値をサーチすることで、ウィンドウサイズmに依存する0(m(n-m+1))=0(mn)のオーダの時間複雑度をもたらすように構成されたブルートフォース(brute-force)(総当たり)法を適用する。ブルートフォース法の時間複雑度はウィンドウサイズmに依存するものであるので、(ブルートフォース法を用いて)統計を計算するのに必要な時間は、ウィンドウサイズmに対して比例的に増加するだろう。このために、いくつかの実施形態の目的は、時間複雑度がウィンドウサイズmに依存することのないように、かつ、ブルートフォース法と比較してより少ない時間で入力信号の統計を計算することを可能にするように、両端キュー法またはセグメントツリー法のうち少なくとも1つを用いて入力信号の統計を計算することである。
いくつかの実施形態は、入力信号の「本質(true essence)」を捕捉するための、またはテスト信号に対する入力信号の「本質」を捕捉するためのウィンドウの正確なウィンドウサイズmが未知であるという理解に基づいている。このために、いくつかの実施形態の目的は、行列データ構造の入力信号の各位置においてさまざまなウィンドウサイズの複数のウィンドウを適用することによって、入力信号の多次元統計を生成するためにスライディング3次元(3D)ウィンドウ法を適用することである。いくつかの実施形態では、現在位置におけるウィンドウについての入力信号の統計の現在値の第1の次元を計算する間、スライディング3Dウィンドウ法は、現在位置におけるウィンドウのサイズとは異なるサイズの重複ウィンドウに関して決定された少なくともいくつかの統計観測値を再利用する。さらに、さまざまなウィンドウサイズを持つ複数のウィンドウを適用するというこのような柔軟性は、入力信号の生成された多次元統計がシステムの動作をさまざまな用途で制御することを可能にする。
いくつかの実施形態は、最適かつ実現可能な方法で生成される入力信号の統計(または多次元統計)を用いて、最適かつ実現可能な方法でシステムの動作が制御されるという認識に基づいている。このために、いくつかの実施形態は、入力信号の統計の異常を検出すると、システムの動作を停止するか、またはシステムのアクチュエータに対する制御コマンドを決定する。他のいくつかの実施形態は、入力信号の統計に基づいてシステムの動作の制約を決定し、決定された制約を受けるシステムのアクチュエータに対する制御コマンドを決定する。さらに他のいくつかの実施形態は、システムの或る動作サイクルの終わりに入力信号の統計を決定して、次の動作サイクルのためにシステムの動作を調整する。
一実施形態に従うと、システムの動作を制御するためのコントローラが提供される。当該コントローラは、入力信号とテスト信号との比較に基づいて当該システムの当該動作を制御する。当該入力信号および当該テスト信号は、時間の経過に応じて単調に測定された値を有する時系列データである。当該コントローラは、少なくとも1つのプロセッサと、命令が格納されたメモリとを備える。当該命令は、当該少なくとも1つのプロセッサによって実行されると、当該コントローラに、当該システムの当該動作を示す当該入力信号を受取らせ、当該テスト信号をさまざまな循環シフトで複数回回転させて、当該入力信号を含む行列データ構造を形成する当該テスト信号のさまざまな回転を引起こさせ、スライディング3次元(3D)ウィンドウ法を当該行列データ構造に適用して、当該テスト信号の回転に対する当該入力信号の統計を生成させ、当該スライディング3Dウィンドウ法は、当該行列データ構造にわたってウィンドウを反復的に移動させて、当該ウィンドウ内における当該行列データ構造のセグメントについての当該統計の値を計算し、現在位置における当該ウィンドウについての当該入力信号の当該統計の現在値を計算するために、当該スライディング3Dウィンドウ法は、前の位置における当該ウィンドウに関して決定された少なくともいくつかの対応する統計観測値を用いて、当該現在位置における当該ウィンドウ内における当該テスト信号の複数回の回転の各々についての複数の現在セグメントに対する当該現在位置における当該ウィンドウ内の当該入力信号の現在セグメントの統計観測値を計算し、当該時系列データの単調性を妨害する当該テスト信号の当該複数回の回転の複数の現在セグメントに関して決定された無効な統計観測値を除いて、当該入力信号の当該現在セグメントの当該統計観測値から当該入力信号の当該統計の当該現在値を決定し、当該ウィンドウを当該行列データ構造にわたって当該現在位置から次の位置へと移動させるように構成され、当該命令は、当該少なくとも1つのプロセッサによって実行されると、当該コントローラに、当該入力信号の当該統計に従って当該システムの当該動作を制御させる。
本開示のいくつかの実施形態に従った、システムの動作を制御するためのコントローラを示すブロック図である。 本開示のいくつかの実施形態に従った、テスト信号のさまざまな回転後バージョンをもたらすための概略を示す図である。 本開示のいくつかの実施形態に従った、行列データ構造を形成するための概略を示す図である。 本開示のいくつかの実施形態に従った、行列データ構造に適用されるウィンドウを示す図である。 本開示のいくつかの実施形態に従った、入力信号の統計を決定するためのスライディング3次元(3D)ウィンドウ法を示す図である。 本開示のいくつかの実施形態に従った、スライディング3次元(3D)ウィンドウ法の反復プロセスを示す概略図である。 本開示のいくつかの実施形態に従った、スライディング3次元(3D)ウィンドウ法によって適用されるさまざまなウィンドウサイズの複数のウィンドウを示す概略図である。 本開示のいくつかの実施形態に従った時系列データを示す概略図である。 本開示のいくつかの実施形態に従った、入力信号の統計を計算するためのアルゴリズムの概要を示す図である。 本開示のいくつかの実施形態に従った、入力信号とテスト信号のさまざまな回転後バージョンとの間の要素間の距離を計算するためのアルゴリズムを示す図である。 本開示のいくつかの実施形態に従った、両端キュー方法を用いてスライディング3次元ウィンドウ法によって適用されるウィンドウの最大値を決定するためのアルゴリズムを示す図である。 本開示のいくつかの実施形態に従った、セグメントツリーを構築するためのアルゴリズムを示す図である。 本開示のいくつかの実施形態に従った、セグメントツリー法を用いてスライディング3次元ウィンドウ法によって適用されるウィンドウの最大値を決定するためのアルゴリズムを示す図である。 本開示のいくつかの実施形態に従った、セグメントツリーおよびウィンドウサイズに基づいて範囲最大値を計算するためのアルゴリズムを示す図である。 本開示のいくつかの実施形態に従った、コントローラを用いてシステムを制御するための環境を示す図である。 本開示の他のいくつかの実施形態に従った、コントローラを用いてシステムを制御するための環境を示す図である。 本開示のさらに他のいくつかの実施形態に従った、コントローラを用いてシステムの動作を制御するための環境を示す図である。 本開示のさらに他のいくつかの実施形態に従った、コントローラを用いてシステムの動作を制御するための環境を示す図である。 本開示のいくつかの実施形態に従った、システムを制御するためのコントローラを示す全体ブロック図である。
以下の記載では、説明を目的として、本開示を完全な理解をもたらすために多数の具体的な詳細が記載される。しかしながら、本開示は、これらの具体的な詳細なしでも実施され得ることが当業者には明らかとなるだろう。他の場合には、装置および方法は、本開示を不明瞭にすることを避けるためにブロック図の形態でのみ示される。
本明細書および請求項で使用される「たとえば」、「例として」および「などの」という語句ならびに「備える」、「有する」、「含む」およびこれらのその他の動詞形の各々は、1つ以上のコンポーネントまたはその他のアイテムの列挙とともに使用される場合、オープンエンドと解釈されねばならない。これは、その列挙が付加的なコンポーネントまたはアイテムを除外するとみなされるべきではないことを意味する。「~に基づく」という語は、少なくとも部分的に基づいていることを意味する。さらに、本明細書で使用される用語および専門語は説明を目的としたものであって限定するものとみなされるべきではないことが理解されるはずである。本明細書で用いられる見出しはいずれも、便宜的なものにすぎず、法的効果または限定効果を持つものではない。
図1Aは、本開示のいくつかの実施形態に従った、システム102の動作を制御するためのコントローラ100を示すブロック図である。システム102の例は、HVAC(暖房、換気および空調)システム、ロボットアセンブリ、エレベータドアシステム、車両、およびモータ(たとえば、誘導モータ、サーボモータなど)を含み得るが、これらに限定されない。システム102の動作の例は、特定のパラメータに従ってHVACシステムを動作させること、特定のタスクに従ってロボットアームを動作させること、エレベータドアを開閉させること、および、特定の軌道に従ってサーボモータによって質量を移動させることを含み得るが、これらに限定されない。コントローラ100は、システム102の動作を制御するようにシステム102に関連付けられてもよい。一実施形態に従うと、コントローラ100は、システム102から入力信号(Y)104を受取り、入力信号104をテスト信号(X)106と比較して、システム102の動作を制御するように構成される。入力信号104およびテスト信号106は、時間の経過に応じて単調に測定された値を有する時系列データである。言い換えれば、入力信号104およびテスト信号106は時系列の値である。時系列は、時間的に連続して測定および/または決定される一連の値である。時系列における各値は、それぞれの値に関連付けられたタイムスタンプによって定義され得る時間のインスタンスに対応する。時系列の値は、それらのタイムスタンプに従って順々に並べられる。時間のインスタンスは、絶対時間および/または相対時間、たとえば、システム102の動作開始からの時間、によって示されてもよい。相対時間のインスタンスは、システム102の動作のさまざまな実行を表わすさまざまな信号の測定のアライメントを容易にし得るので、有利である。さらに、時系列データは、システム102の動作の物理変数の測定の値の時系列を含む。このような物理変数の例は、質量を移動させるモータのトルクおよび/または電圧、当該質量の位置、速度および/または加速度などを含む。時系列データの各値は、システム102の動作の物理量の測定値を含む単一の次元であってもよく、または、システム102の動作のさまざまな物理量の測定値を含む多次元であってもよい。
入力信号104は、Y=[y,y,…,yn-1]として数学的に表わされてもよく、ここで、「n」は入力信号104の長さを示し、
Figure 2022136350000002
は時間インスタンスl(または位置l)でサンプリングされた値である。この場合、l=0,1,n-1である。たとえば、入力信号104の長さが10(たとえば、n=10)である場合、入力信号104はY=[y,y,…,y]として表わされてもよい。テスト信号106および入力信号104は同じ長さnであってもよい。テスト信号106は、X=[x,x,…,xn-1]として数学的に表わされてもよい。たとえば、テスト信号106の長さが10である場合、テスト信号106は、X=[x,x,…,x]と表わされてもよい。いくつかの実施形態に従うと、コントローラ100は、入力信号104をテスト信号106と比較するために、テスト信号106のさまざまな回転後バージョンを生成することによって行列データ構造を形成する。たとえば、コントローラ100は、図1Bの詳細な説明において記載されるように、テスト信号106のさまざまな回転後バージョンを生成するように構成される。
図1Bは、本開示のいくつかの実施形態に従った、テスト信号106のさまざまな回転後バージョン108を生成するための概略図を示す。一実施形態に従うと、コントローラ100は、テスト信号106のさまざまな回転後バージョン108を生成するために、テスト信号106をさまざまな循環シフトで複数回回転させるように構成される。テスト信号106のさまざまな回転後バージョン108は、複数の回転後テスト信号を含み、複数の回転後テスト信号の各回転後テスト信号は、テスト信号106とは異なる循環シフトで回転させられる。いくつかの実施形態では、テスト信号106を回転させるのに用いられる循環シフトは、自然数シーケンス(たとえば、1,2,3,…,n-1)の後に続く循環シフト値(循環シフトの値とも称される)を有する関数であり得る。たとえば、循環シフトが自然数シーケンスの後に続く関数である場合、コントローラ100は、図1Bに示されるように、循環シフトを用いてテスト信号106をn-1回だけ回転させて、n-1個の回転後テスト信号を含むさまざまな回転後バージョン108を生成する。言い換えれば、循環シフトが自然数シーケンスの後に続く関数である場合、コントローラ100は、循環シフト値(たとえば、1,2,3,…,n-1)を用いてテスト信号106を回転させて、さまざまな回転後バージョン108を生成する。ここで、さまざまな回転後バージョン108の第1の回転後テスト信号は、1の循環シフト値で回転させられ、さまざまな回転後バージョン108の第2の回転後テスト信号は、2の循環シフト値で回転させられ、同様に、さまざまな回転後バージョン108の「n-1」の回転後テスト信号は、n-1の循環シフト値で回転させられる。したがって、循環シフト値(たとえば、1,2,3,…,n-1)は、対応する回転後テスト信号(第1の回転後テスト信号、第2の回転後テスト信号、…、「n-1」の回転後テスト信号)を形成するようにシフトされるべきテスト信号106のサンプルの数を決定する。さらに、循環シフトが自然数シーケンスの後に続く関数である場合、コントローラ100は、n-1個の回転後テスト信号のうち隣接する任意の2個の回転後テスト信号間の循環シフト値の差が1に等しくなるように、n-1個の回転後テスト信号を生成する。他のいくつかの実施形態では、テスト信号106を回転させるのに用いられる循環シフトは、偶数の自然数シーケンス(たとえば、2,4,…,n-2)の後に続く循環シフト値を有する関数であり得る。さらに他のいくつかの実施形態では、テスト信号106を回転させるのに用いられる循環シフトは、奇数の自然数シーケンス(たとえば、1,3,…,n-1)の後に続く循環シフト値を有する関数であり得る。
さらに、いくつかの実施形態では、テスト信号106を回転させるのに用いられる循環シフトは左循環シフトであり得る。循環シフトが左循環シフトに対応する場合、コントローラ100は、図1Bに示されるように、テスト信号106の第1のエントリ106a(たとえば、値x)を最後の位置108nに移動させる一方で、他のすべてのエントリを前の位置にシフトさせることによって、さまざまな回転後バージョン108の第1の回転後テスト信号を生成する。他のいくつかの実施形態では、テスト信号106を回転させるのに用いられる循環シフトは右循環シフトであり得る。循環シフトが右循環シフトに対応する場合、コントローラ100は、テスト信号106の最後のエントリ106n(たとえば、値x)を第1の位置108aに移動させる一方で、他のすべてのエントリを次の位置にシフトさせることによって、さまざまな回転後バージョン108の第1の回転後テスト信号を生成する。
たとえば、循環シフトが自然数シーケンスの後に続くとともに左循環シフトに対応する関数である場合、コントローラ100は、n-1個の回転後テスト信号を生成する。これらは、数学的には、X(i)=[xi+1,xi+2,…,xn-1,x,x,…,x]と表わされる。この場合、i=0,1,…,n-2である。特に、入力信号および/またはテスト信号のx部分は、信号の1つ以上のサンプルを含み得る。
このように、コントローラ100は、さまざまな循環シフトでテスト信号106を複数回回転させて、テスト信号106のさまざまな回転後バージョン108を生成する。さらに、コントローラ100は、図1Cの詳細な説明で記載したように、テスト信号106のさまざまな回転後バージョン108を用いて行列データ構造を形成するように構成される。
図1Cは、本開示のいくつかの実施形態に従った、入力信号104とテスト信号106のさまざまな回転後バージョン108とに基づいて行列データ構造を形成するための概略を示す。いくつかの実施形態では、テスト信号106および入力信号104は2つの異なる時系列データであり得る。たとえば、テスト信号106はシステム102の正常動作を示す時系列データであり得るとともに、入力信号104はシステム102の動作を示す時系列データであり得る。本明細書で用いられる場合、システム102の正常動作は、システム102が特定の要件のために構成される場合、第1の過去の期間中にシステム102によって実行される動作に対応し得るとともに、異常または故障を含まない。本明細書で用いられる場合、システム102の動作は、システム102が特定の要件のために構成される場合、リアルタイムで、または第2の過去の期間中にシステム102によって実行される動作に対応し得るとともに、異常または故障を含むこともあれば含まないこともある。第2の過去の期間は第1の過去の期間とは異なる。このために、コントローラ100は、テスト信号106とテスト信号106のさまざまな回転後バージョン108とを用いて、入力信号104を含む行列データ構造110を形成するように構成される。たとえば、コントローラ100は、いくつかの列「a」(たとえば、a=n)およびいくつかの行「b」を備える行列データ構造110を形成する。ここで、行列データ構造110における第1の行は入力信号104であり、行列データ構造110における第2の行はテスト信号106であり、残りのb-2行は、テスト信号106のさまざまな回転後バージョン108である。このようにして、コントローラ100は、テスト信号106および入力信号104が2つの異なる時系列データである場合に、テスト信号106とテスト信号106のさまざまな回転後バージョン108とを用いて、入力信号104を含む行列データ構造110を形成し得る。
他のいくつかの実施形態では、テスト信号106は入力信号104のコピーであってもよい。たとえば、テスト信号106は入力信号104に等しい(すなわち、X=Y)。たとえば、テスト信号106および入力信号104はシステム102のリアルタイム動作であってもよい。このために、コントローラ100は、テスト信号106のさまざまな回転後バージョン108を用いて、テスト信号106を含む行列データ構造110′を形成するように構成される。たとえば、コントローラ100は、いくつかの列「a」(たとえば、a=n)およびいくつかの行「b」を備える行列データ構造110′を形成する。ここで、行列データ構造110′における第1の行はテスト信号106であり、残りのb-1行はテスト信号106のさまざまな回転後バージョン108である。
このようにして、コントローラ100は、テスト信号106が入力信号104のコピーである場合、テスト信号106のさまざまな回転後バージョン108を用いてテスト信号106を含む行列データ構造110′を形成し得る。いくつかの実施形態は、行列データ構造110内のテスト信号106とテスト信号106のさまざまな回転後バージョン108とに対する入力信号104の統計が、入力信号104とテスト信号106との間の比較を表わすように生成されるとの認識に基づいている。そのために、いくつかの実施形態の目的は、入力信号104の統計を生成するために、スライディング3次元(3D)ウィンドウ法を行列データ構造110に適用することである。たとえば、図1D~図1Fの詳細な説明で記載されるように、コントローラ100は、さらに、行列データ構造110(または行列データ構造110′)にスライディング3次元(3D)ウィンドウ法を適用して、さまざまな回転後バージョン108(すなわち、回転後テスト信号)に対する入力信号104(またはテスト信号106)の統計を生成するように構成される。
本開示では、スライディング3次元(3D)ウィンドウ法の名称の3D部分は、2次元入力信号およびウィンドウの第3次元に沿ったテスト信号の回転を同時にカバーするためのウィンドウの能力を指している。この名称は、明確にするために用いられるものであって限定として用いられるものではない。
図1Dは、本開示のいくつかの実施形態に従った、行列データ構造110に適用されるウィンドウ112を示す。一実施形態に従うと、スライディング3次元(3D)ウインドウは、行列データ構造110の入力信号104における位置においてウインドウ112(すなわち、影付き部分)を適用することによって、入力信号104における位置(たとえば、位置114)における入力信号104の統計の値を決定する。ウィンドウ112は、構成可能なウィンドウサイズmであり得る。さらに、スライディング3次元(3D)ウィンドウ法は、ウィンドウ112を次の位置に移動させて、行列データ構造110の入力信号104における次の位置における入力信号104の統計の値を決定する。このようにして、スライディング3次元ウィンドウ法は、現在位置における入力信号104の統計の現在値を決定した後に、ウィンドウ112を、行列データ構造110にわたって行列データ構造110内の現在位置(たとえば、位置114)から次の位置へと反復的に移動させる。言い換えれば、スライディング3次元(3D)ウィンドウ法は、ウィンドウ112内において、行列データ構造110における入力信号104のセグメント116についての統計の値を決定するために、ウィンドウ112を行列データ構造110にわたって反復的に移動させる。セグメント116は、ウィンドウ112の構成可能なウィンドウサイズmによって定義される入力信号104のサブシーケンスであり得る。
本明細書で用いられる場合、現在位置は、ウィンドウ112が適用される行列データ構造110の入力信号104における時間インスタンスに対応し得る。本明細書で用いられる場合、次の位置は、現在位置に至るまでのいずれかの後続位置に対応し得る。スライディング3次元(3D)ウィンドウ法の「スライディング」部分は、スライディング3次元(3D)ウィンドウ法が、入力信号104の統計を決定するために、ウインドウ112を行列データ構造110にわたって反復的に移動させることを指し得る。スライディング3次元(3D)ウィンドウ法の「3次元(3D)ウィンドウ」部分は、スライディング3次元(3D)ウィンドウ法が、或るウィンドウ(たとえば、ウィンドウ112)内にて定義された他のすべてのセグメント(たとえば、テスト信号106全体)に対する当該ウィンドウ内の時系列データ(たとえば、入力信号104)についての統計を決定することを指し得る。したがって、スライディング3次元(3D)ウィンドウ法は、単一のウインドウ(すなわち、ウインドウ112)を用いて、テスト信号106(すなわち、テスト信号全体)に対する入力信号104のセグメントについての統計を決定することを可能にする。
本明細書で用いられる場合、入力信号104の統計は入力信号104の「行列プロファイル」に対応し得る。「行列プロファイル」は時系列データであってもよい。さらに、「行列プロファイル」は、数学的にZ=[z,z,…,zn-m]として表わされてもよい。ここで、Z[j]=zは、位置j(または入力信号104のj番目のセグメント)において決定される入力信号104の統計の値である。ここでは、j=0,1,…,n-mである。入力信号104のj番目のセグメントは、数学的にYj,…,j+m-1≡[y,yj+1,…,yj+m-1]として表わされてもよい。
ここで、説明のために、ウィンドウサイズm=4のウィンドウ112について検討する。しかしながら、ウィンドウサイズは、入力信号104の長さ以内であるかまたは入力信号104の長さに等しい任意の構成可能なサイズであり得る。たとえば、ウィンドウ112のウィンドウサイズは、数学的に1≦m≦nとして定義され得る。ここで、説明のために、入力信号104の統計の値(たとえば、z)を決定するための、入力信号104の位置114(たとえば、初期値y)から始まるウインドウ112について検討する。しかしながら、ウィンドウ112は、入力信号104の統計の対応する値(たとえば、z0,1,n-m)をそれぞれ決定するために、入力信号104の任意の値(たとえば、y0,1,n-m)からランダムに始まってもよい。たとえば、コントローラ100は、図1Eの詳細な説明において記載されるように、スライディング3次元(3D)ウィンドウ法を適用することによって、位置114における入力信号104の統計の値(たとえば、z)を決定する。
図1Eは、本開示のいくつかの実施形態に従った、入力信号104の統計を決定するためのスライディング3次元(3D)ウィンドウ法を示す。図1Eは、図1Dに関連付けて説明される。いくつかの実施形態は、ウィンドウ112内のテスト信号106のさまざまな回転後バージョン108が無効なテスト信号セグメント118および有効なテスト信号セグメントを含むという理解に基づいている。本明細書で用いられる場合、無効なテスト信号セグメント118は、テスト信号106における時間インデックスの単調性を妨害する回転後テスト信号セグメントに対応し得る。たとえば、ウィンドウ112内で定義された回転後テスト信号X(6)、X(7)、およびX(8)は、位置114におけるウィンドウ112についての無効なテスト信号セグメント118と見なされる。なぜなら、3つの回転後テスト信号X(6)、X(7)、およびX(8)は全て、ウィンドウ112内において、テスト信号106の値xが時間の経過に応じてテスト信号106の値xの後に続くことを示しているからである。これは、テスト信号106において定義される時間インデックスの単調性を妨害するものである。有効なテスト信号セグメントは、テスト信号106のうち、無効なテスト信号セグメント118を除く現在セグメントを含み得る。
このために、いくつかの実施形態では、ステップ120において、コントローラ100は、スライディング3次元(3D)ウィンドウ法を適用して、現在位置におけるウィンドウ112内のテスト信号106の現在セグメントに対する、現在位置(たとえば、位置114)におけるウィンドウ112内の入力信号104の現在セグメント(たとえば、セグメント116)についての統計観測値(局所的統計とも称される)を計算する。たとえば、現在位置におけるウィンドウ112内のテスト信号106の現在セグメントは、ウィンドウ112によって定義される現在のテスト信号セグメント(たとえば、x,x,x,およびxの時系列値を含むセグメント)と、ウィンドウ112内で定義されるテスト信号106のさまざまな回転後バージョン108とを含む。言い換えれば、コントローラ100は、現在位置におけるウィンドウ112内の他のすべてのセグメントに対する、現在位置におけるウィンドウ112内の入力信号104の現在セグメントの統計観測値を計算するように構成される。一実施形態に従うと、現在位置における入力信号104の現在セグメントの統計観測値は、ウィンドウ112内で定義されたテスト信号106の各現在セグメントの値を含む、入力信号104の現在セグメントの値同士の差を含む。言い換えれば、現在位置における入力信号104の現在セグメントの統計観測値は、入力信号104の現在セグメントと、ウィンドウ112内で定義されたテスト信号106の各々の現在セグメントとの間の要素間の差を含み得る。たとえば、ウィンドウ112内で定義された現在のテスト信号セグメント(たとえば、x,x,x,x)に対する位置114におけるウィンドウ112内の入力信号104のセグメント116の統計観測値は、数学的に、{|y-x|,|y-x|,|y-x|,|y-x|}として計算され得る。このように、コントローラ100は、入力信号104の現在セグメントの統計観測値を計算するために、ウィンドウ112内で定義されたテスト信号106の各々の現在セグメントの値を含む入力信号104の現在セグメント(たとえば、セグメント116)の値同士の絶対差を計算するように構成される。
このために、入力信号104の現在セグメントの統計観測値は、有効な統計観測値および無効な統計観測値を含み得る。現在位置におけるウィンドウ112についての有効な統計観測値は、単調時間インデックスを有するテスト信号106の各々の現在セグメントの値を含む、入力信号104の現在セグメントの値同士の差を含む。言い換えれば、現在位置におけるウィンドウ112についての有効な統計観測値は、ウィンドウ112内で定義された各々の有効なテスト信号セグメントの値を含む、入力信号104の現在セグメントの値同士の差を含む。現在位置におけるウィンドウ112についての無効な統計観測値は、ウィンドウ112内で定義された各々の無効なテスト信号セグメントの値を含む、入力信号104の現在セグメントの値同士の差を含む。
他のいくつかの実施形態では、コントローラ100は、スライディング3次元(3D)ウィンドウ法を適用して、現在位置におけるウィンドウ112内で定義された無効なテスト信号セグメントを除外することによって、現在位置におけるウィンドウ112内で定義された有効なテスト信号セグメントに対する現在位置(たとえば、位置114)におけるウィンドウ112内の入力信号104の現在セグメント(たとえば、セグメント116)についての有効な統計観測値を計算する。なぜなら、テスト信号106は時系列データであり、単調な時間依存性を有するからである。
ステップ122において、コントローラ100は、スライディング3次元(3D)ウィンドウ法を適用して、入力信号104の現在セグメント(たとえば、セグメント116)の統計観測値から、入力信号104の統計の現在値(たとえば、値z)を決定する。一実施形態に従うと、コントローラ100は、テスト信号106の単調性を妨害するテスト信号106の現在セグメントに関して決定された無効な統計観測値を除いて、入力信号104の現在セグメント(たとえば、セグメント116)の統計観測値から入力信号104の統計の現在値を決定するように構成される。言い換えれば、コントローラ100は、入力信号104の現在セグメント(たとえば、セグメント116)の有効な統計観測値から入力信号104の統計の現在値を決定するように構成される。たとえば、入力信号104の統計の現在値は、数学的に、
Figure 2022136350000003
として決定され得る。ここで、表記
Figure 2022136350000004
は、入力信号104の現在セグメント(たとえば、セグメント116)の有効な統計観測値から計算され得る。たとえば、表記
Figure 2022136350000005
は、数学的に、
Figure 2022136350000006
として計算され得る。表記d(.,.)は、(l≦p1≦∞)と表わされる)正規化されていないユークリッド距離を定義する。このために、位置jにおける入力信号104の統計は、入力信号104のj番目のサブシーケンスとテスト信号106における最も近くに隣接するシーケンスとの間の距離である。言い換えれば、コントローラ100は、位置jにおける入力信号104の統計の現在値を決定するために、入力信号104の現在セグメント(たとえば、セグメント116)と、ウィンドウ112内で定義された有効なテスト信号セグメントの各々との間の距離を計算する。たとえば、コントローラ100は、位置jにおける入力信号104の統計の現在値(たとえば、値z)を決定するために、
Figure 2022136350000007
要素間の距離を計算し、計算された距離の中から最小距離を決定する。入力信号104の統計は入力信号104のグローバル統計とも称され得る。
ステップ124において、コントローラ100は、スライディング3次元(3D)ウィンドウ法を適用して、行列データ構造110にわたってウィンドウ112を現在位置(たとえば、位置114)から次の位置へ移動させる。一実施形態に従うと、コントローラ100は、行列データ構造110においてウィンドウ112を現在位置(たとえば、位置114)から次の位置へと移動させるためのシフトの値を決定するように構成される。いくつかの実施形態では、行列データ構造110においてウィンドウ112を現在位置(たとえば、位置114)から次の位置へと移動させるための値は、テスト信号106のさまざまな回転後バージョン108内の任意の2つの隣接する回転後テスト信号間の循環シフト値の差と等しくなり得る。他のいくつかの実施形態では、行列データ構造110においてウィンドウ112を現在位置(たとえば、位置114)から次の位置へと移動させるための値は、予め定義された値であり得る。
さらに、コントローラ100は、シフトの決定された値に基づいて、行列データ構造110においてウィンドウ112を現在位置(たとえば、位置114)から次の位置へと移動させるように構成される。たとえば、行列データ構造110においてウィンドウ112を次の位置へと移動させると、次の位置におけるウィンドウ112は図1Fに示されるとおりとなる。
図1Fは、本開示のいくつかの実施形態に従った、スライディング3次元(3D)ウィンドウ法の反復プロセスを示す概略図である。図1Fは、図1Eに関連付けて説明される。行列データ構造110においてウィンドウ112を次の位置(たとえば、位置126)に移動させると、コントローラ100は折り返してステップ120に戻る。ステップ120において、コントローラ100は、スライディング3次元(3D)ウィンドウ法を適用して、現在位置におけるウィンドウ112内のテスト信号106の現在セグメントに対する、現在位置(たとえば、位置126)におけるウィンドウ112内の入力信号104の現在セグメント(たとえば、セグメント128)の統計観測値を計算する。いくつかの実施形態は、現在位置(たとえば、位置126)におけるウィンドウ112内の入力信号104の現在セグメント(たとえば、セグメント128)の統計観測値が、前の位置(たとえば、位置114)におけるウィンドウ112についての予め計算されたいくつかの統計観測値を含むという認識に基づいている。たとえば、現在位置(たとえば、位置126)におけるウィンドウ112内の入力信号104の現在セグメント(たとえば、セグメント128)についての予め計算された統計観測値は、前の位置(たとえば、位置114)における列130について計算された統計観測値を含む。列130は、現在位置(たとえば、位置126)におけるウィンドウ112と前の位置(たとえば、位置114)におけるウィンドウ112との間における重複領域であり得る。そのために、いくつかの実施形態の目的は、位置126におけるウインドウ112内の入力信号104のセグメント128の統計観測値を計算する間、前の位置(たとえば、位置114)におけるウインドウ112に関して決定された少なくともいくつかの対応する統計観測値を用いることである。したがって、コントローラ100は、入力信号104の統計を決定するために統計観測値の計算を最適化する。
いくつかの実施形態は、行列データ構造110内の1つの位置におけるウィンドウ112についての無効なテスト信号セグメントが、行列データ構造110内の別の位置におけるウィンドウ112とは異なるものであるとの認識に基づいている。たとえば、位置114におけるウィンドウ112についての無効セグメント118は、回転後テスト信号X(6)、X(7)、およびX(8)を含み、位置126におけるウィンドウ112についての無効セグメント132は、回転後テスト信号X(5)、X(6)、およびX(7)を含む。このため、前の位置においてウィンドウ112に関して決定された少なくともいくつかの対応する統計観測値を用いるために、いくつかの実施形態は、ステップ120において、有効な統計観測値および無効な統計観測値の両方を含む統計観測値を計算する。
さらに、ステップ122において、コントローラ100は、スライディング3次元(3D)ウィンドウ法を適用して、テスト信号106の単調性を妨害するテスト信号106の現在セグメントに関して決定された無効な統計観測値を除いて、入力信号104の現在セグメントの統計観測値から入力信号104の統計の現在値(たとえば、値z)を決定する。位置126におけるウインドウ112の場合、無効なテスト信号セグメント132は、ウインドウ112内で定義された回転後テスト信号X(5)、X(6)、およびX(7)を含み得る。なぜなら、ウインドウ112内で定義された回転後テスト信号X(5)、X(6)、およびX(7)がテスト信号106において定義された時間インデックスの単調性を妨害するからである。
ステップ124において、コントローラ100は、スライディング3次元(3D)ウィンドウ法を適用して、図1Eの詳細な説明において上述したように、行列データ構造110においてウィンドウ112を現在位置(たとえば、位置126)から次の位置へと移動させる。
このように、コントローラ100は、スライディング3次元(3D)ウィンドウ法を適用して、行列データ構造110にわたってウィンドウ112を現在位置(たとえば、位置126)から次の位置まで反復的に移動させて、終了条件に達するまで入力信号104の統計を生成する。いくつかの実施形態では、終了条件は、ウィンドウ112が入力信号104のyn-mの値を有する位置(たとえば、位置132)にあるという条件であり得る。他のいくつかの実施形態では、終了条件は、ウィンドウ(たとえば、ウィンドウサイズm=1のウィンドウ)が、入力信号104のyn-1の値を有する位置にあるという条件であってもよい。位置132におけるウインドウ112の場合、無効なテスト信号セグメント136は、ウインドウ112内で定義された回転後テスト信号X(0)、X(1)、およびX(2)を含み得る。なぜなら、ウインドウ112内で定義された回転後テスト信号X(0)、X(1)、およびX(2)がテスト信号106において定義された時間インデックスの単調性を妨害するからである。位置132におけるウィンドウ112の場合、コントローラ100は、位置126におけるウィンドウ112の場合に説明したのと同様に、入力信号104の統計の現在値(たとえば、値zn-m)を計算する。このために、コントローラ100は、テスト信号106に関する入力信号104の統計(たとえばZ=[z,z,…,zn-m])を生成する。このように生成された入力信号104の統計は、入力信号104の統計の値を有する時系列信号であり得る。
さらに、コントローラ100は、入力信号104の統計に従ってシステム102の動作を制御するように構成される。たとえば、コントローラ100は、入力信号104の統計をしきい値と比較し得るとともに、入力信号の統計がしきい値よりも大きい場合、システム102の動作の異常を判断し得る。
ここで、説明のために、図1D~図1Fにおいて、行列データ構造110にわたって適用されるウィンドウ112について検討する。しかしながら、ウィンドウ112は、行列データ構造110′にわたって適用されてもよい。この場合、入力信号104に相当するテスト信号106の統計(「行列プロファイル」)は、数学的に、Z=[z,z,…,zn-m]として表わされてもよい。ここで、Z[j]=zは、テスト信号106のj番目のセグメントについて計算されたテスト信号106の統計の値である。この場合、j=0,1,…,n-mである。テスト信号106の統計の値(たとえば、z)は、数学的に、
Figure 2022136350000008
として決定され得る。このために、位置jにおけるテスト信号106の統計は、テスト信号106のj番目のサブシーケンスとテスト信号106におけるその最近傍シーケンスとの間の距離である。言い換えれば、コントローラ100は、スライディング3Dウィンドウ法が、テスト信号106のさまざまなセグメントをテスト信号106の他のセグメントと比較することによって、それ自体に対するテスト信号106(すなわち、入力信号104)の統計を決定するように、スライディング3Dウィンドウ法を適用する。
ここで、説明のために、図1D~図1Fでは、さまざまな位置(たとえば、位置114および位置126)における同じウィンドウサイズ(たとえば、m=4)のウィンドウ112について検討する。しかしながら、いくつかの実施形態では、ウィンドウサイズは、行列データ構造110における位置ごとに異なり得る。たとえば、行列データ構造110における2つの異なる位置においてスライディング3次元(3D)ウィンドウ法によって適用されるウィンドウ112は、2つの異なるウィンドウサイズを有し得る。いくつかの実施形態は、入力信号104の「本質」を捕捉するための、またはテスト信号106に対する入力信号104の「本質」を捕捉するためのウィンドウ112の正確なウィンドウサイズmが未知であるとの理解に基づいている。本明細書で用いられる場合、入力信号104の「本質」は、入力信号104の他のセグメントに対する入力信号104の或るセグメントの固有の特性であり得る。本明細書で用いられる場合、テスト信号106に対する入力信号104の「本質」は、テスト信号106に対する入力信号104の或るセグメントの外来性の特性であり得る。このために、いくつかの実施形態の目的は、スライディング3次元(3D)ウィンドウ法を適用して、行列データ構造110の入力信号104の各位置においてさまざまなウィンドウサイズの複数のウィンドウを適用することによって入力信号104の多次元統計を生成することである。たとえば、入力信号104の特定の1つの位置におけるさまざまなウィンドウサイズの複数のウィンドウは図2に示すとおりである。
図2は、本開示のいくつかの実施形態に従った、スライディング3次元(3D)ウィンドウ法によって適用されるさまざまなウィンドウサイズの複数のウィンドウを示す概略図である。一実施形態に従うと、コントローラ100は、スライディング3次元(3D)ウィンドウ法を適用して、行列データ構造110の入力信号104における各位置においてさまざまなウィンドウサイズの複数のウィンドウを適用する。たとえば、コントローラ100は、スライディング3次元(3D)ウィンドウ法を適用して、行列データ構造110の入力信号104における位置206において、ウィンドウサイズm=3の第1のウィンドウ200、ウィンドウサイズm=4の第2のウィンドウ202、およびウィンドウサイズm=5の第3のウィンドウ204を適用する。複数のウィンドウ200、202および204の各ウィンドウのウィンドウサイズは異なっているので、各ウィンドウを用いて入力信号104の各位置においてコントローラ100によって決定される入力信号104の統計の値は異なっている。言い換えれば、コントローラ100は、入力信号104の各位置において複数のウィンドウ200、202および204を適用することによって、行列データ構造110の入力信号104における各位置についての入力信号104の統計の複数のさまざまな値を決定する。入力信号104全体に関して決定される入力信号104の統計のこれらの複数のさまざまな値は入力信号104の多次元統計と称されてもよい。一実施形態に従うと、ウインドウ200、202および204のうちの1つを用いて位置206における入力信号104の統計の値を決定する一方で、コントローラ100は、位置206において重複ウインドウについて予め計算された少なくともいくつかの統計観測値を再利用するように構成され得る。位置206におけるウィンドウ200についての重複ウィンドウは、ウィンドウ202およびウィンドウ204であり得る。なぜなら、ウィンドウ200が、ウィンドウ202およびウィンドウ204との重複領域208を有しているからである。ウィンドウ202についての重複ウィンドウは、ウィンドウ200およびウィンドウ204であり得る。というのも、ウィンドウ202はウィンドウ200との重複領域208を有しており、さらに、ウィンドウ202はウィンドウ202と同等であるとともにウィンドウ204と重複している領域を有しているからである。ウィンドウ204についての重複ウィンドウはウィンドウ200およびウィンドウ202であり得る。というのも、ウィンドウ204はウィンドウ200との重複領域208を有しており、さらに、ウィンドウ204はウィンドウ202と同等であるとともにウィンドウ202と重複している領域を有しているからである。
図2に示すように、ウィンドウ200は、ウィンドウサイズm以外に、ウィンドウ202および204と比べて異なる事例であり得る。たとえば、ウィンドウ200は、ウィンドウ200の第1の行における中心位置についての入力信号104の統計の値を決定するために用いられる。しかしながら、ウィンドウ202および204は、ウィンドウ202および204内の開始位置についての入力信号104の統計の値を決定するために用いられる。
図3は、本開示のいくつかの実施形態に従った時系列データ301を示す概略図である。時系列データ301は、入力信号104およびテスト信号106のうち少なくとも1つに対応し得る。時系列データ301は、時間の経過に応じて順々に測定された一連の値x,x,…,xn-1である。いくつかの実施形態では、時系列データ301は、システム102のアクチュエータの動作から測定された値(たとえば、x,x,…,xn-1)を有する一次元信号であり得る。たとえば、時系列データ301は、値301a、値301b、…、値301nにそれぞれ対応する値x,x,…,xn-1を有してもよい。値301a、301b、…、および301nは、それぞれ、時間インスタンスt,t,…,tn-1においてサンプリングされた信号301の値であり得る。信号301は、システム102のアクチュエータの動作から収集された信号であり得る。一実施形態では、コントローラ100は、時系列データ301内の(単一の値を有する)各位置ごとに時系列データ301の統計の値を決定する。本実施形態では、時系列データ301内の値と統計の値との間のマッピングは1対1のマッピングである。別の実施形態では、コントローラ100は、時系列データ301内の(単一の値を有する)各位置ごとに時系列データ301の統計(すなわち、多次元統計)の複数の異なる値を決定する。本実施形態では、時系列データ301内の値と統計の複数の異なる値との間のマッピングは、1対多のマッピングである。
他のいくつかの実施形態では、時系列データ301は、システム102のさまざまなアクチュエータの動作から測定された値(たとえば、x,x,…,xn-1)を有する多次元信号であり得る。たとえば、時系列データ301は、値301aおよび値303a、値301bおよび値303b、…、値301nおよび値303nをそれぞれ含む値x,x,…,xn-1を有していてもよい。値301a、301b、…および301nは、それぞれ、時間インスタンスt,t,…,tn-1においてサンプリングされた信号301の値であり得る。値303a、303b、…、303nは、それぞれ、時間インスタンスt,t,…,tn-1においてサンプリングされた信号303の値であり得る。信号301および303は、システム102のさまざまなアクチュエータの動作から収集された信号であり得る。一実施形態では、コントローラ100は、時系列データ301内の(複数の値を有する)各位置ごとに時系列データ301の統計の値を決定する。本実施形態では、時系列データ301における複数の値と統計の値との間のマッピングは、多対1のマッピングである。別の実施形態では、コントローラ100は、時系列データ301内の(複数の値を有する)各位置ごとに時系列データ301の統計(すなわち、多次元統計)の複数のさまざまな値を決定する。この実施形態では、時系列データ301における複数の値と統計の複数のさまざまな値との間のマッピングは多対多のマッピングである。
図4Aは、本開示のいくつかの実施形態に従った、入力信号104の統計を計算するためのアルゴリズムの概要を示す。いくつかの実施形態は、所与の時系列データ(たとえば、入力信号104)および所与のウィンドウサイズmについてのスライディング3次元ウィンドウによって適用されるウィンドウの最大値を計算するサブルーチンによって統計値が決定されるとの理解に基づいている。このために、いくつかの実施形態はブルートフォース法を適用する。ブルートフォース法は、ウィンドウサイズmに依存する0(m(n-m+1))=0(mn)のオーダの時間複雑度をもたらす最大値をウィンドウサイズmのすべてのウィンドウごとにサーチするように構成されている。ブルートフォース法の時間複雑度はウィンドウサイズmに依存しているので、(ブルートフォース法を用いて)統計を計算するのに必要な時間は、ウィンドウサイズmに対して比例的に増加するだろう。このために、いくつかの実施形態の目的は、時間複雑度がウィンドウサイズmに依存しないように、かつ、ブルートフォース法と比較してより少ない時間で入力信号の統計を計算することを可能にするように、両端キュー法またはセグメントツリー法のうち少なくとも1つを用いて入力信号の統計を計算することである。たとえば、両端キュー法またはセグメントツリー法のうち少なくとも1つを用いて入力信号の統計を計算するためにコントローラ100が実行するアルゴリズム(すなわち、アルゴリズム1)は、図4(A)に示す通りである。
アルゴリズム1は、コントローラ100上で実行されて複数の演算を実行する。コントローラ100は、アルゴリズム1の実行に基づいて、時系列データ(X)、ウィンドウサイズ(m)、および引数(「オプション」)を受取る。アルゴリズム1は、入力信号およびテスト信号が時系列データ(X)に等しいとみなす。引数「オプション」は、両端キュー法(「deque」)およびセグメントツリー法(「segtree」)のうち少なくとも1つを選択するために用いられる。さらに、コントローラ100は、時系列データ(以下、時系列データを入力信号(X)と称する)の長さ(n)を決定し、入力信号の統計を計算するための長さn-m+1の配列を初期化する。コントローラ100は、入力信号と入力信号のさまざまな回転後バージョンとの間の要素間の距離(「eleDist」)を計算する。さらに、要素間の距離を計算するためのアルゴリズムは図4Bに示す通りである。
図4Bは、本開示のいくつかの実施形態に従った、要素間の距離を計算するためのアルゴリズム(アルゴリズム1.1)を示す。アルゴリズム1.1は、コントローラ100上で実行されて、要素間の距離を計算するために複数の演算を実行する。特に、アルゴリズム1.1の実行後、コントローラ100は、まず、入力信号(X)および変数iを受取る。変数iは、入力信号のi番目の回転後バージョンを示す。さらに、コントローラ100は、入力信号の長さを決定するとともに、入力信号のi番目の回転後バージョンを生成する。コントローラ100は、入力信号と入力信号のi番目の回転後バージョンとの間の要素間の距離を計算する。さらに、コントローラ100は、入力信号と入力信号のi番目の回転後バージョンとの間の要素間の距離を含む配列「eleDist」を返す。配列「eleDist」は、入力信号の長さと同様の長さを有し得る。
図4Aを参照すると、アルゴリズム1は、オプションが「deque」に等しいかどうかをチェックするようにコントローラ100を構成する。オプションが「deque」に等しい場合、アルゴリズム1は、両端キュー法を適用して、スライディング3次元ウィンドウ法によって適用されるウィンドウの最大値を決定するようにコントローラ100を構成する。さらに、スライディング3次元ウィンドウ法によって適用されるウィンドウの最大値を両端キュー法を用いて決定するためのアルゴリズムは、図4(C)に示す通りである。
図4Cは、本開示のいくつかの実施形態に従った、両端キュー方法を用いて、スライディング3次元ウィンドウ法によって適用されるウィンドウの最大値を決定するためのアルゴリズム(アルゴリズム1.2)を示す。アルゴリズム1.2は、ウィンドウの最大値を決定するために複数の演算を実行するために実行される。アルゴリズム1.2の実行後、コントローラ100は、入力信号(X)およびウィンドウサイズ(m)を受取り、入力信号の長さを決定する。さらに、コントローラ100は、ウィンドウサイズ(m)が1に等しいかどうかをチェックし、ウィンドウサイズ(m)が1に等しい場合、入力信号(X)を返す。コントローラ100は、空の両端キュー(Q)を初期化し、空のベクトル(「slidMax」)を初期化する。さらに、コントローラ100は、現在位置においてスライディング3次元ウィンドウ法によって適用されたウィンドウに対応しない入力信号の値の時間インデックスを除去する。コントローラ100は、入力信号の現在値(X[l])よりも小さい入力信号の全ての値の時間インデックスを両端キュー(Q)から除去する。さらに、コントローラ100は、両端キュー(Q)の右端に変数lを付加し、ベクトル(「slidMax」)の右端に入力信号の値X[Q[0]]を付加する。このようにして、入力信号の各値が、一旦、両端キュー(Q)に追加され得るとともに両端キュー(Q)から除去され得ることで、ウィンドウサイズmに依存しない時間複雑度0(n)がもたらされる。さらに、コントローラ100は、スライディング3次元ウィンドウ法によって適用されるウィンドウの最大値を含むベクトル(「slidMax」)を返す。
図4Aを参照すると、アルゴリズム1は、「オプション」が「segtree」に等しいかどうかをチェックする。「オプション」が「segtree」に等しい場合、コントローラ100はセグメントツリーを構築する。たとえば、セグメントツリーを構築するためのアルゴリズムは図4Dに示すとおりである。
図4Dは、本開示のいくつかの実施形態に従った、セグメントツリーを構築するためのアルゴリズム(アルゴリズム1.3.1)を示す。アルゴリズム1.3.1は、セグメントツリーを構築するためにコントローラ上で実行される命令のセットを含む。アルゴリズム1.3.1が実行された後、コントローラ100は、入力信号(X)を受取って、入力信号の長さ(n)を決定する。さらに、コントローラ100は、2nに等しい長さを有する新しいゼロ配列(「ST」)を初期化し、入力信号を当該配列(「ST」)の後半部にコピーしてセグメントツリー(「ST」)を構築する。
図4Aを参照すると、アルゴリズム1は、スライディング3次元ウィンドウ法によって適用されるウィンドウの最大値を決定するために、セグメントツリー法を適用するようにコントローラ100を構成する。さらに、スライディング3次元ウィンドウ法によって適用されるウィンドウの最大値をセグメントツリー法を用いて決定するためのアルゴリズムは図4Eに示す通りである。
図4Eは、本開示のいくつかの実施形態に従った、スライディング3次元ウィンドウ法によって適用されるウィンドウの最大値をセグメントツリー法を用いて決定するためのアルゴリズム(アルゴリズム1.3.2)を示す。アルゴリズム1.3.2は、ウィンドウの最大値を決定するためにコントローラ100上で実行される命令のセットを含む。アルゴリズム1.3.2がコントローラ100上で実行されると、コントローラ100は、構築されたセグメントツリー(「ST」)およびウィンドウサイズ(m)を受取る。コントローラ100は、セグメントツリー(「ST」)の長さを2の値で割ることによって入力信号の長さを決定する。コントローラ100は、新しい空ベクトル(「slidMax」)を初期化し、セグメントツリー(「ST」)およびウィンドウサイズmに基づいて範囲最大値(「rm」)を計算する。さらに、コントローラ100は、範囲最大値(「rm」)をベクトル(「slidMax」)に付加する。このようにして、範囲最大値(「rm」)は、反復的に計算され得るととも、範囲最大値(「rm」)がベクトル(「slidMax」)に反復的に付加される。この場合、j=0,1,…,n-mである。さらに、コントローラ100は、スライディング3次元ウィンドウ法によって適用されるウィンドウの最大値を含むベクトル(「slidMax」)を返す。セグメントツリー(「ST」)およびウィンドウサイズmに基づいて範囲最大値(「rm」)を計算するためのアルゴリズムは図4Fに示す通りである。
図4Fは、本開示のいくつかの実施形態に従った、セグメントツリー(「ST」)およびウィンドウサイズmに基づいて範囲最大値(「rm」)を計算するためのアルゴリズム(アルゴリズム1.3.3)を示す。アルゴリズム1.3.3はコントローラ100上で実行される。アルゴリズム1.3.3の実行後、コントローラ100は、構築されたセグメントツリー(「ST」)、第1の変数(「left」=「j」)、第2の変数(「right」=「j+m」)を受取る。さらに、コントローラ100は、セグメントツリー(「ST」)の長さ(n)を2の値で割って、第1の変数を
Figure 2022136350000009
として計算するとともに、第2の変数を
Figure 2022136350000010
として計算することによって、入力信号の長さを求める。コントローラ100は、浮動小数点数(「max」)を初期化する。たとえば、浮動小数点数を「-1.0×10」程に小さく初期化してもよい。さらに、コントローラ100は、最大値を計算し、1つ以上の条件を満たすと当該最大値を浮動小数点数に更新して、浮動小数点数(「max」)を返す。
図4Aを参照すると、アルゴリズム1は、現在値(MP[j])が位置jにおいて適用されるウィンドウに関して常に「現在までの最小の値(up-till-now minimum)」lの距離であるならば、入力信号の統計の現在値(すなわち、MP[j]=z)を計算するようにコントローラ100を構成する。アルゴリズム1はまた、ウィンドウ内で定義されるとともに入力信号の時間インデックスの単調性を妨害しない回転後バージョンの各々に対する入力信号のセグメントについての統計の現在値を計算するようにコントローラ100を構成する。したがって、アルゴリズム1は、位置jに位置するウィンドウについてのMP[j]を返すようにコントローラ100を構成する。
このように、コントローラ100は、両端キュー法およびセグメントツリー法のうち少なくとも1つを用いて入力信号の統計を決定するように構成される。実験に基づくと、時間複雑度は、両端キュー方法が適用される場合、0(n)のオーダとして決定される。実験に基づくと、時間複雑度は、セグメントツリー法が適用される場合、0(nlog n)のオーダとして決定される。いずれの場合も、時間複雑度はウィンドウサイズmに依存しない。したがって、スライディング3次元ウィンドウ法またはセグメントツリー法のうち少なくとも1つを用いるコントローラ100は、入力信号の統計を計算するためにブルートフォース法を用いるコントローラと比較して、より少ない時間で入力信号の統計を計算する。さらに、コントローラ100は、入力信号の計算された統計を用いてシステム102の動作を制御するように構成される。たとえば、コントローラ100は、図5~図8の詳細な説明で記載するように、入力信号の計算された統計を用いてシステム102の動作を制御する。
図5は、本開示のいくつかの実施形態に従った、コントローラ100を用いてシステム102を制御するための環境を示す。この例では、システム102はモータである。システム102は、モータの動作を監視するためのさまざまなセンサを含み得る。一実施形態に従うと、システム102は、システム102の温度を測定するためのセンサ500(たとえば、温度センサ)を含む。センサ500は、システム102の温度を時系列データとして記録する。一実施形態に従うと、コントローラ100は、システム102の温度を示す時系列データを入力信号502として受取る。この例示的な実施形態では、テスト信号(たとえば、テスト信号106)と入力信号502とは同じである。言い換えれば、テスト信号は、入力信号502のコピーであり得る。そのために、コントローラ100は、図1A~図1Fの詳細な説明で記載するように、入力信号502のさまざまなセグメントを入力信号502の他のセグメントと比較することによって、それ自体に対する入力信号502の統計を決定する。
コントローラ100はさらに、入力信号502の統計を少なくとも1つのしきい値504と比較して、入力信号502の統計の異常を検出するように構成される。いくつかの実施形態では、少なくとも1つのしきい値504は、システム102の正常動作温度を示す温度値(または温度値の統計)であり得る。このために、コントローラ100は、入力信号502の統計がしきい値より大きいかどうかを判断して、入力信号502の統計の異常を検出する。他のいくつかの実施形態では、少なくとも1つのしきい値504は、システム102の正常動作温度範囲を示す値の範囲であり得る。このために、コントローラ100は、入力信号502の統計が値の範囲内であるかどうかをチェックして、入力信号502の統計の異常を検出する。さらに、いくつかの実施形態では、コントローラ100は、入力信号502の統計の異常の検出に応答して、モータを正常動作温度にするためにアクチュエータ508に対する制御信号506を決定するように構成されてもよい。たとえば、コントローラ100は、モータに関連付けられた外部冷却システム(たとえば、ファン)を起動してモータを正常動作温度にするための制御信号を生成してもよい。他のいくつかの実施形態では、コントローラ100は、入力信号502の統計の異常の検出に応答して、モータの動作を停止するための制御信号506を決定するように構成されてもよい。そのために、モータは、異常が検出されると、モータの動作を停止させ得るかまたは正常動作温度で動作させ得る。
図6は、本開示の他のいくつかの実施形態に従った、コントローラ100を用いてシステム102を制御するための環境を示す。この例では、システム102は車両である。本明細書で用いられる場合、車両は、乗用車、バスまたはローバなどの任意のタイプの車輪付き車両であり得る。また、車両は、自律型車両であってもよく、半自律型車両であってもよい。一実施形態に従うと、コントローラ100は、車両の動き(すなわち、動作)を制御するように構成される。動作の例には、車両のステアリングシステム600および車両のブレーキシステム602によって制御される車両の横運動が含まれる。一実施形態では、ステアリングシステム600およびブレーキシステム602はコントローラ100によって制御される。付加的または代替的には、ステアリングシステム600およびブレーキシステム602は車両の運転者によって制御されてもよい。
車両はまた、コントローラ100によって、または車両の他の構成要素によって制御され得るエンジン604を含み得る。付加的には、車両は、有線または無線の通信チャネルを介してコントローラ100の通信機能を可能にするためのトランシーバ612を備えてもよい。車両はまた、車両の動き量および内部状態を検知するための1つ以上のセンサ610を含み得る。センサ610の例には、全地球測位システム(global positioning system:GPS)、加速度計、慣性測定ユニット、ジャイロスコープ、シャフト回転センサ、トルクセンサ、偏向センサ、圧力センサ、および流量センサが含まれる。1つ以上のセンサ610が車両のさまざまなアクチュエータに関連付けられ得る。たとえば、車両のアクチュエータは、ステアリングシステム600に関連付けられたステアリングホイール606、ブレーキシステム602に関連付けられたブレーキ608などを含み得る。1つ以上のセンサ610は、ステアリングシステム600の物理変数、ブレーキシステム602の物理変数、またはそれらの組合わせのうち少なくとも1つを時系列データとして測定し得る。たとえば、ステアリングシステム600の物理変数は、ステアリングホイール606などに関連付けられた操舵角であってもよい。たとえば、ブレーキシステム602の物理変数は、ブレーキ608などに関連付けられたブレーキトルクであってもよい。ステアリングシステム600の物理変数は、車両の動作中に車両の回転を制御するために用いられてもよく、ブレーキシステム602の物理変数は、車両の動作中に車両の加速を制御するために用いられてもよい。
一実施形態に従うと、コントローラ100は、時系列データを入力信号(たとえば、入力信号104)として受取るように構成される。時系列データがステアリングシステム600の物理変数またはブレーキシステム602の物理変数のうち少なくとも1つに対応する場合、入力信号は、1次元信号(たとえば、一変量時系列(Univariate Time Series:UTS)信号)である。時系列データがステアリングシステム600の物理変数とブレーキシステム602の物理変数との組合わせに対応している場合、入力信号は多次元信号(たとえば、多変量時系列(Multivariate Time Series:MTS)信号)である。さらに、コントローラ100は、図1A~図1Fの詳細な説明において記載されるように、入力信号の統計を生成するように構成される。
さらに、コントローラ100は、入力信号の統計を生データの統計と比較するように構成される。たとえば、生データの統計は、車線維持アプリケーションなどにおけるステアリングシステム600およびブレーキシステム602の正常動作のための統計を含んでもよい。さらに、コントローラ100は、入力信号の統計と生データの統計との比較に基づいて、車線維持などについての制約(たとえば、操舵角制約、加速度制約など)を決定するように構成されている。さらに、コントローラ100は、決定された制約を受ける車両のアクチュエータ(たとえば、ステアリングホイール606、ブレーキ608など)に対する制御コマンド(たとえば、舵角角、ブレーキトルクなど)を決定するように構成されている。車両のアクチュエータは、コントローラ100から制御コマンドを受取ると、道路上の車線を確実に維持するようにする。
図7は、本開示のさらに他の実施形態に従った、コントローラ100を用いてシステム102の動作を制御するための環境を示す。この例では、システム102はHVACシステムである。「HVAC」システムは、蒸気圧縮サイクルを実現する任意の暖房、換気および空調(HVAC)システムを指す。HVACシステムは、屋外空気だけを建物の占有者に供給するシステムから、建物の温度を制御するだけのシステム、または温度および湿度を制御するシステムに至る非常に広範なシステムセットにわたっている。
HVACシステムは、部屋700を調整するように構成される。部屋700は、占有者702、704、706および708によって占有されている。矢印710は、部屋700を調整するためにHVACシステムによって供給される空気を表わす。コントローラ100は、(第1の動作サイクルとも称される)第1の期間中に入力信号(たとえば、入力信号104)を受取るように構成される。たとえば、入力信号は、第1の期間(たとえば、24時間)にわたるHVACシステムの動作パラメータを示す。動作パラメータの例として、HVACシステムの膨張弁の位置、HVACシステムのコンプレッサの速度、HVACシステムの室内ファンの速度、HVACシステムの室外ファンの速度などが含まれ得る。コントローラ100は、図1A~図1Fの詳細な説明で記載するように、HVACシステムから受取った入力信号の統計を生成するように構成される。コントローラ100はさらに、HVACシステムの最適な電力消費に対応する動作パラメータを含む多次元時系列データの統計を格納するように構成される。
さらに、コントローラ100は、入力信号の統計を多次元時系列データの統計と比較することによって、入力信号の統計の異常を判断するように構成されている。この例において、入力信号の統計の異常は、最適な電力消費からの逸脱をもたらす動作パラメータの変動であり得る。コントローラ100は、さらに、システム102がたとえば次の24時間である(第2の動作サイクルとも称される)第2の期間に最適な電力消費で動作するように、当該判断された異常に基づいて、当該第2の期間にわたってシステム102を制御するように構成される。最適な電力消費で動作するようにシステム102を制御するために、コントローラ100は、第1の期間中に異常が判断される時間インスタンスまたは持続時間を決定し得るとともに、決定された時間インスタンスにおける動作パラメータと第2の期間における期間とを制御し得る。このようにして、コントローラ100は、一期間にわたる入力信号の統計を決定するとともに、別の期間にわたるシステム102の動作を調整するように構成される。
図8は、本開示のさらに他の実施形態に従った、コントローラ100を用いてシステム102を制御するための環境を示す。この例では、システム102はコンベヤベルトシステムである。コンベヤベルトシステムの動作は、質量800を第1の位置から第2の位置に移動させる動作を含み得る。第1の位置および第2の位置は2つの異なる位置である。コンベヤベルトシステム102は、コンベヤベルト802および少なくとも2つのプーリ804を含み得る。さらに、コンベヤベルトシステム102はモータ(たとえばサーボモータ)を含み得る。2つのプーリ804のうち少なくとも1つは、システム102の動作を実行するためにモータに接続されてもよい。たとえば、モータは、プーリ804を所定の速度で回転させて質量800を第1の位置から第2の位置に移動させるように構成し得る。付加的には、システム102は、プーリ804の速度(たとえば、モータの速度)などを測定するための1つ以上のセンサを含み得る。1つ以上のセンサは、プーリ804の速度を時系列データとして記録し得る。一実施形態に従うと、コントローラ100は、プーリ804の速度を示す時系列データを入力信号として受取る。さらに、コントローラ100は、図1A~図1Fの詳細な説明で記載するように、入力信号についての統計を生成するように構成される。
いくつかの実施形態に従うと、コントローラ100は、入力信号の生成された統計をシステム102の予想される故障時間(残存耐用時間(Remaining Useful Life:RUL)とも称される)に関係付けるように構成された予測モデルを含み得る。一実施形態に従うと、予測モデルは、予めトレーニングされた機械学習モデルであり得る。さらに、いくつかの実施形態では、予測モデルは、システム102の予想される故障時間に基づいて、第1の通知を出力するように構成され得る。第1の通知は、システム102を修理することを示す第1のメッセージ、または、システム102の実行を可能にすることを示す第2のメッセージを含み得る。第1の通知に基づいて、コントローラ101は、システム102の動作を停止させるかまたは可能にするように構成されてもよい。
他のいくつかの実施形態では、予測モデルは、システム102の予想される故障時間に基づいて、第2の通知を出力するように構成され得る。たとえば、第2の通知は、モータの速度を制限することを示すメッセージを含み得る。コントローラ101は、第2の通知に基づいて、モータの速度を制限するための制約(たとえば、速度制約)を決定するように構成されてもよい。このようにして、コントローラ100は、システム102を制御するように構成される。
コントローラ100の全体ブロック図を図9に示して説明する。
図9は、本開示のいくつかの実施形態に従った、システム102を制御するためのコントローラ100の全体ブロック図である。コントローラ100は、コントローラ100を他のシステムおよびデバイスに接続するいくつかのインターフェイスを有し得る。たとえば、ネットワークインターフェイスコントローラ(network interface controller:NIC)914は、バス912を介してコントローラ100をネットワーク916に接続するように適合される。コントローラ100は、ネットワーク916を介して、無線または有線で入力信号104を受取り得る。付加的または代替的には、入力信号104は入力インターフェイス902を介して受取られてもよい。
コントローラ100は、格納された命令を実行するように構成されたプロセッサ904と、プロセッサ904によって実行可能な命令を格納するメモリ906とを含む。プロセッサ904は、シングルコアプロセッサ、マルチコアプロセッサ、コンピューティングクラスタ、または任意の数の他の構成であり得る。メモリ906は、ランダムアクセスメモリ(random access memory:RAM)、読取り専用メモリ(read only memory:ROM)、フラッシュメモリ、または任意の他の好適なメモリシステムを含み得る。プロセッサ904は、バス912を介して1つ以上の入出力デバイスに接続される。さらに、コントローラ100は、プロセッサ904のための実行可能な命令を格納するさまざまなモジュールを格納するように適合されたストレージデバイス908を含む。ストレージデバイス908は、ハードドライブ、光学ドライブ、サムドライブ、ドライブの配列、またはそれらの任意の組合せを用いて実装され得る。
ストレージデバイス908は、システム動作制御モジュール910を格納するように構成される。システム動作制御モジュール910は、図4Aの詳細な説明で記載したアルゴリズム(アルゴリズム1)に対応し得る。いくつかの例示的な実施形態では、プロセッサ904は、システム動作制御モジュール910を実行して、システム102の動作を示す入力信号104を受取るとともに、さまざまな循環シフトでテスト信号(たとえば、テスト信号106)を複数回回転させて、入力信号104を含む行列データ構造110を形成するテスト信号のさまざまな回転を引起こすように構成される。さらに、プロセッサ904は、システム動作制御モジュール910を実行して、スライディング3次元(3D)ウィンドウ法を行列データ構造110に適用することで、テスト信号106の回転に対する入力信号104の統計を生成するとともに、入力信号104の統計に従ってシステム102の動作を制御するように構成される。スライディング3Dウィンドウ法は、行列データ構造110にわたってウィンドウ(たとえば、ウィンドウ112)を反復的に移動させて、ウィンドウ内の行列データ構造110のセグメントについての統計の値を計算する。現在位置におけるウィンドウに対する入力信号104の統計の現在値を計算するために、スライディング3Dウィンドウ法は、前の位置におけるウィンドウに関して決定された少なくともいくつかの対応する統計観測値を用いて、現在位置におけるウィンドウ内のテスト信号の各回転の現在セグメントに対する現在位置におけるウィンドウ内の入力信号の現在セグメントの統計観測値を計算するとともに、時系列データの単調性を妨害するテスト信号の回転の現在セグメントに関して決定された無効な統計観測値を除いて、入力信号の現在セグメントの統計観測値から入力信号104の統計の現在値を決定するように構成される。さらに、スライディング3Dウィンドウ法は、ウィンドウを行列データ構造110にわたって現在位置から次の位置に移動させるように構成される。
加えて、コントローラ100は出力インターフェイス918を含み得る。いくつかの実現例では、コントローラ100は、さらに、出力インターフェイス918を介して、システム102のアクチュエータに制御コマンドを送出するように構成される。他のいくつかの実現例では、コントローラ100は、出力インターフェイス918を介して、システム102の動作の制約を受ける制御コマンドをシステム102のアクチュエータに送出するように構成される。さらに他のいくつかの実現例では、コントローラ100は、出力インターフェイス918を介してシステム102の動作を停止させるための制御信号をシステム102に送出するように構成される。
上記の説明は、例示的な実施形態のみを提供するものであって、本開示の範囲、利用可能性または構成を限定することを意図するものではない。むしろ、例示的な実施形態の上記の記載は、1つ以上の例示的な実施形態を実現するための実施可能な記載を当業者に提供するだろう。添付の特許請求の範囲に記載されるように開示される主題の精神および範囲から逸脱することなしに、要素の機能および構成においてなされ得るさまざまな変更が企図される。
上記の説明では、実施形態の完全な理解を提供するために具体的な詳細が与えられている。しかしながら、当業者であれば、当該実施形がこれらの具体的な詳細なしでも実施され得ることを理解するだろう。たとえば、開示される主題におけるシステム、プロセス、および他の要素は、実施形態を不必要な詳細により不明瞭にしないために、ブロック図の形態でコンポーネントとして示され得る。他の場合では、実施形態を不明瞭にすることを避けるために、周知のプロセス、構造および技術は、不必要な詳細なしで示されることがある。さらに、さまざまな図面における同様の参照番号および名称は同様の要素を示す。
また、個々の実施形態は、フローチャート、フロー図、データフロー図、構造図またはブロック図として示されるプロセスとして説明され得る。フローチャートは、動作を連続したプロセスとして記載する可能性もあるが、動作の多くは並列にまたは同時に実行され得る。加えて、動作の順序は並べ替えられてもよい。プロセスは、その動作が完了すると終了され得るが、記載されていないかまたは図に含まれていない付加的なステップを含む可能性もある。さらに、特定的に説明される任意のプロセスにおけるすべての動作がすべての実施形態において実行され得るわけではない。プロセスは方法、関数、手順、サブルーチン、サブプログラムなどに対応し得る。プロセスが関数に対応する場合、関数の終了は、呼び出し関数またはメイン関数への関数の復帰に対応し得る。
さらに、開示される主題の実施形態は、少なくとも部分的に、手動または自動のいずれかで実現され得る。手動または自動の実現例は、マシン、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、または、これらの任意の組み合せを用いることによって実行され得るかまたは少なくとも支援され得る。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードで実現される場合、必要なタスクを実行するべきプログラムコードまたはコードセグメントはマシン可読媒体に格納され得る。プロセッサが必要なタスクを実行し得る。
本明細書において概説されるさまざまな方法またはプロセスは、さまざまなオペレーティングシステムまたはプラットフォームのいずれか1つを採用する1つ以上のプロセッサ上で実行可能なソフトウェアとしてコード化され得る。加えて、そのようなソフトウェアは、いくつかの好適なプログラミング言語および/またはプログラミングもしくはスクリプトツールのいずれかを用いて書込まれ得るとともに、フレームワークまたは仮想マシン上で実行される実行可能なマシン言語コードまたは中間コードとしてコンパイルされ得る。典型的には、プログラムモジュールの機能は、さまざまな実施形態において所望されるように組合わされてもよく、または分散されてもよい。
本開示の実施形態は、一例として提供された方法として具現化され得る。本方法の一部として実行される動作は任意の適切な態様で順序付けられてもよい。したがって、例示的な実施形態では連続的な動作として示されているが、動作が示されるのとは異なる順序で実行される実施形態が、いくつかの動作を同時に実行することも含めて、構築され得る。本開示は、いくつかの好ましい実施形態を参照して記載されてきたが、本開示の精神および範囲内で他のさまざまな適応および変更がなされ得ることが理解されるべきである。したがって、そのようなすべての変形および変更を本開示の真の精神および範囲内に収めるように網羅することが、添付の特許請求の範囲の局面である。

Claims (17)

  1. 入力信号とテスト信号との比較に基づいてシステムの動作を制御するためのコントローラであって、前記入力信号および前記テスト信号は、時間の経過に応じて単調に測定された値を有する時系列データであり、前記コントローラは、少なくとも1つのプロセッサと、命令が格納されたメモリとを備え、前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記コントローラに、
    前記システムの前記動作を示す前記入力信号を受取らせ、
    前記テスト信号をさまざまな循環シフトで複数回回転させて、前記入力信号を含む行列データ構造を形成する前記テスト信号のさまざまな回転を引起こさせ、
    スライディング3次元(3D)ウィンドウ法を前記行列データ構造に適用して、前記テスト信号の回転に対する前記入力信号の統計を生成させ、前記スライディング3Dウィンドウ法は、前記行列データ構造にわたってウィンドウを反復的に移動させて、前記ウィンドウ内における前記行列データ構造のセグメントについての前記統計の値を計算し、現在位置における前記ウィンドウに関する前記入力信号の前記統計の現在値を計算するために、前記スライディング3Dウィンドウ法は、
    前の位置における前記ウィンドウに関して決定された少なくともいくつかの対応する統計観測値を用いて、前記現在位置における前記ウィンドウ内における前記テスト信号の複数回の前記回転の各々についての複数の現在セグメントに対する前記現在位置における前記ウィンドウ内の前記入力信号の現在セグメントの統計観測値を計算し、
    前記時系列データの単調性を妨害する前記テスト信号の前記複数回の回転の複数の現在セグメントに関して決定された無効な統計観測値を除いて、前記入力信号の前記現在セグメントの前記統計観測値から前記入力信号の前記統計の前記現在値を決定し、
    前記ウィンドウを前記行列データ構造にわたって前記現在位置から次の位置に移動させるように構成され、前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記コントローラに、
    前記入力信号の前記統計に従って前記システムの前記動作を制御させる、コントローラ。
  2. 前記スライディング3Dウィンドウ法は、さまざまなサイズのウィンドウに関して決定されるさまざまな次元を有する前記入力信号の多次元統計を計算し、前記現在位置における前記ウィンドウについての前記入力信号の前記統計の前記現在値の第1の次元を計算するために、前記スライディング3Dウィンドウ法は、前記現在位置における前記ウィンドウの前記サイズとは異なるサイズの重複ウィンドウに関して決定された少なくともいくつかの統計観測値を再利用する、請求項1に記載のコントローラ。
  3. 前記テスト信号は、前記スライディング3Dウィンドウ法が、前記入力信号のさまざまなセグメントを前記入力信号の他のセグメントと比較することによって前記テスト信号自体に対する前記入力信号の前記統計を決定するように、前記入力信号のコピーである、請求項1に記載のコントローラ。
  4. 前記テスト信号は、前記システムの正常動作を表わすための前記入力信号とは異なる、請求項1に記載のコントローラ。
  5. 前記テスト信号は多次元であり、前記システムのさまざまなアクチュエータの動作から収集された複数のさまざまな連続データのシーケンスを含む、請求項1に記載のコントローラ。
  6. 前記現在位置における前記ウインドウについての有効な統計観測値は、単調時間インデックスで前記テスト信号の前記回転の各現在セグメントの値を有する前記入力信号の前記現在セグメントの値の間の差を含み、前記入力信号の前記統計の前記現在値は、前記有効な統計観測値の最大値または最小値である、請求項1に記載のコントローラ。
  7. 前記差は、正規化されていないユークリッド距離を定義する、請求項6に記載のコントローラ。
  8. 前記コントローラは、前記テスト信号の最後のエントリを第1の位置に移動させる一方で他のすべてのエントリを次の位置にシフトさせることによって、または、前記テスト信号の最初のエントリを最後の位置に移動させる一方で他のすべてのエントリを前の位置にシフトさせることによって、循環シフトで前記テスト信号を回転させ、前記循環シフトの値は、エントリを形成する前記テスト信号のサンプルの数を決定する、請求項1に記載のコントローラ。
  9. 前記スライディング3Dウィンドウ法で前記ウィンドウを移動させるためのシフトの値は、前記テスト信号を回転させるための前記循環シフトの隣接し合う値の差に等しい、請求項1に記載のコントローラ。
  10. 前記スライディング3Dウィンドウ法は、両端キュー法を用いて前記入力信号の前記統計を決定する、請求項1に記載のコントローラ。
  11. 前記スライディング3Dウィンドウ法は、セグメントツリー法を用いて前記入力信号の前記統計を決定する、請求項1に記載のコントローラ。
  12. 前記プロセッサは、前記入力信号の前記統計の異常を検出すると、前記システムの前記動作を停止するように構成される、請求項1に記載のコントローラ。
  13. 前記プロセッサは、前記入力信号の前記統計に基づいて前記システムのアクチュエータに対する制御コマンドを決定するように構成される、請求項1に記載のコントローラ。
  14. 前記プロセッサは、前記入力信号の前記統計に基づいて前記システムの前記動作の制約を決定するとともに、前記決定された制約を受ける前記システムのアクチュエータに対する制御コマンドを決定するように構成される、請求項1に記載のコントローラ。
  15. 前記プロセッサは、次の動作サイクルのために前記システムの前記動作を調整するために、前記システムの動作サイクルの終わりに前記入力信号の前記統計を決定するように構成される、請求項1に記載のコントローラ。
  16. 入力信号とテスト信号との比較に基づいてシステムの動作を制御するための方法であって、前記入力信号および前記テスト信号は、時間の経過に応じて単調に測定された値を有する時系列データであり、プロセッサが、前記方法を実現するための格納された命令と連結され、前記命令は、前記プロセッサによって実行されると、前記方法のステップを実行し、前記ステップは、
    前記システムの前記動作を示す前記入力信号を受取るステップと、
    前記テスト信号をさまざまな循環シフトで複数回回転させて、前記入力信号を含む行列データ構造を形成する前記テスト信号のさまざまな回転を引起こすステップと、
    スライディング3次元(3D)ウィンドウ法を前記行列データ構造に適用して、前記テスト信号の回転に対する前記入力信号の統計を生成するステップとを含み、前記スライディング3Dウィンドウ法は、前記行列データ構造にわたってウィンドウを反復的に移動させて、前記ウィンドウ内における前記行列データ構造のセグメントについての前記統計の値を計算し、現在位置における前記ウィンドウに関する前記入力信号の前記統計の現在値を計算するために、前記スライディング3Dウィンドウ法は、
    前の位置における前記ウィンドウに関して決定された少なくともいくつかの対応する統計観測値を用いて、前記現在位置における前記ウィンドウ内における前記テスト信号の複数回の前記回転の各々についての複数の現在セグメントに対する前記現在位置における前記ウィンドウ内の前記入力信号の現在セグメントの統計観測値を計算するステップと、
    前記時系列データの単調性を妨害する前記テスト信号の前記複数回の回転の複数の現在セグメントに関して決定された無効な統計観測値を除いて、前記入力信号の前記現在セグメントの前記統計観測値から前記入力信号の前記統計の前記現在値を決定するステップと、
    前記ウィンドウを前記行列データ構造にわたって前記現在位置から次の位置に移動させるステップとを含み、前記方法のステップはさらに、
    前記入力信号の前記統計に従って前記システムの前記動作を制御するステップを含む、方法。
  17. 入力信号とテスト信号との比較に基づいてシステムの動作を制御するための方法を実行するためのプロセッサによって実行可能なプログラムが具現化される非一時的なコンピュータ可読記憶媒体であって、前記入力信号および前記テスト信号は、時間の経過に応じて単調に測定された値を有する時系列データであり、前記方法は、
    前記システムの前記動作を示す前記入力信号を受取るステップと、
    前記テスト信号をさまざまな循環シフトで複数回回転させて、前記入力信号を含む行列データ構造を形成する前記テスト信号のさまざまな回転を引起こすステップと、
    スライディング3次元(3D)ウィンドウ法を前記行列データ構造に適用して、前記テスト信号の回転に対する前記入力信号の統計を生成するステップとを含み、前記スライディング3Dウィンドウ法は、前記行列データ構造にわたってウィンドウを反復的に移動させて、前記ウィンドウ内における前記行列データ構造のセグメントについての前記統計の値を計算し、現在位置における前記ウィンドウに関する前記入力信号の前記統計の現在値を計算するために、前記スライディング3Dウィンドウ法は、
    前の位置における前記ウィンドウに関して決定された少なくともいくつかの対応する統計観測値を用いて、前記現在位置における前記ウィンドウ内における前記テスト信号の複数回の前記回転の各々についての複数の現在セグメントに対する前記現在位置における前記ウィンドウ内の前記入力信号の現在セグメントの統計観測値を計算するステップと、
    前記時系列データの単調性を妨害する前記テスト信号の前記複数回の回転の複数の現在セグメントに関して決定された無効な統計観測値を除いて、前記入力信号の前記現在セグメントの前記統計観測値から前記入力信号の前記統計の前記現在値を決定するステップと、
    前記ウィンドウを前記行列データ構造にわたって前記現在位置から次の位置に移動させるステップとを含み、前記方法はさらに、
    前記入力信号の前記統計に従って前記システムの前記動作を制御するステップを含む、非一時的なコンピュータ可読記憶媒体。
JP2021196075A 2021-03-07 2021-12-02 時系列データ解析に基づいたシステム制御 Pending JP2022136350A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/194,288 2021-03-07
US17/194,288 US11599104B2 (en) 2021-03-07 2021-03-07 System control based on time-series data analysis

Publications (2)

Publication Number Publication Date
JP2022136350A true JP2022136350A (ja) 2022-09-20
JP2022136350A5 JP2022136350A5 (ja) 2024-06-06

Family

ID=83117151

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021196075A Pending JP2022136350A (ja) 2021-03-07 2021-12-02 時系列データ解析に基づいたシステム制御

Country Status (2)

Country Link
US (1) US11599104B2 (ja)
JP (1) JP2022136350A (ja)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9256224B2 (en) * 2011-07-19 2016-02-09 GE Intelligent Platforms, Inc Method of sequential kernel regression modeling for forecasting and prognostics
US9659250B2 (en) * 2011-08-31 2017-05-23 Hitachi Power Solutions Co., Ltd. Facility state monitoring method and device for same
US10949206B2 (en) * 2013-07-15 2021-03-16 Texas Instruments Incorporated Transposing a matrix using a streaming engine
US20200143292A1 (en) * 2018-11-01 2020-05-07 General Electric Company Signature enhancement for deviation measurement-based classification of a detected anomaly in an industrial asset
US20200250584A1 (en) * 2019-01-31 2020-08-06 Marketech International Corp. Modeling method for smart prognostics and health management system and computer program product thereof
US11353859B2 (en) * 2019-03-19 2022-06-07 Mitsubishi Electric Research Laboratories, Inc. System and method for anomaly detection in time-varying system operations
US10558207B1 (en) * 2019-04-11 2020-02-11 Sas Institute Inc. Event monitoring system
US11215535B2 (en) * 2019-11-14 2022-01-04 Hitachi, Ltd. Predictive maintenance for robotic arms using vibration measurements

Also Published As

Publication number Publication date
US11599104B2 (en) 2023-03-07
US20220283577A1 (en) 2022-09-08

Similar Documents

Publication Publication Date Title
US11235461B2 (en) Controller and machine learning device
CN111496781B (zh) 数字孪生驱动的机械臂建模、控制与监测一体化集成系统
US11163277B2 (en) Abnormality detection system, support device, and model generation method
CN110832422B (zh) 机器学习装置、校正参数调整装置及机器学习方法
US10908591B2 (en) Machine learning device and machining time prediction device
JP2017033526A (ja) 故障条件を学習する機械学習方法及び機械学習装置、並びに該機械学習装置を備えた故障予知装置及び故障予知システム
US11531327B2 (en) Abnormality determination device and abnormality determination system
US11144032B2 (en) Time to failure analysis of robotic arm cabling
JP2018120327A (ja) 制御装置、制御プログラムおよび制御システム
JP6647473B1 (ja) 異常検知装置および異常検知方法
US11726469B2 (en) Error-based method for calculating a remaining useful life of an apparatus
US10962957B2 (en) Collision position estimation device and machine learning device
WO2022030041A1 (ja) 予測システム、情報処理装置および情報処理プログラム
CN115026835A (zh) 一种机器人机械臂伺服系统整体性能调优方法
WO2022130611A1 (ja) 情報処理装置及び情報処理方法
JP2022136350A (ja) 時系列データ解析に基づいたシステム制御
US11803178B2 (en) Event estimation system and event estimation method
EP3589457B1 (en) Monitored control system
EP3907053B1 (en) Method for optimizing the movement of a machine for working panels and system thereof
JP6378249B2 (ja) サーボ制御および機械運動の遅れを考慮する加工時間予測機能を有する数値制御装置
US20220414555A1 (en) Prediction system, information processing apparatus, and information processing program
KR20210138498A (ko) 테스트 벤치를 작동하기 위한 장치 및 방법
CN115099070B (zh) 基于数字孪生的底盘数据获取方法、装置及存储介质
JP7457752B2 (ja) データ分析システム、データ分析方法、及びプログラム
CN117406759B (zh) 一种管道机器人爬行校准方法和系统