(57)【要約】電力を貯蔵および提供するために使用される１つまたは複数のバッテリなどを有する指定された物理的ターゲットシステムの動作を制御するように自動制御システムを実装するための技法が説明される。たとえばリアルタイムにかつバッテリの長期動作を最適化するように、バッテリからのＤＣ電力の自動制御を行うために、各バッテリの状態の特性が使用され得る。いくつかの状況では、複数のバッテリが、複数の制御システムを使用することによって制御され、各制御システムはバッテリのうちの１つに関連付けられ、複数の制御システムの間の相互作用を使用して分散された様式で全体的制御が調整される。制御される１つまたは複数のバッテリを含むシステムは、いくつかの状況において、１つもしくは複数の電源および／または１つもしくは複数の電気負荷のような追加のコンポーネントをさらに含んでよく、そのようなシステムのタイプの非排他的例は、１つまたは複数の家庭電力システムである。【特許請求の範囲】
【請求項１】
コンピュータに実装された方法であって、
１つまたは複数のコンピューティングシステムにより少なくとも部分的に実装された自動制御システムによって、バッテリにより供給された電気の直流（ＤＣ）を用いて前記バッテリにより出力される電力を制御するのに使用するための情報を受け取るステップであって、前記受け取られた情報は、複数のルールに基づくモデルを含み、前記複数のルールは各々が、評価するための１つまたは複数の条件を有し、前記複数のルールは、出力される前記電力の前記制御中に定義された範囲に前記バッテリの内部状態を維持することを含む１つまたは複数の定義された目標を達成するように、前記バッテリに接続されたＤＣ−ＤＣアンプを操作することを伴う制約を指定する、ステップと、
前記自動制御システムによって、前記受け取られた情報に基づいて、前記バッテリにより出力される前記電力を制御するステップと
を含み、前記ステップは、
前記自動制御システムによって、１つまたは複数の時間において、前記１つまたは複数の時間における前記バッテリの１つまたは複数の属性についての現在の値を識別するセンサ情報、および前記１つまたは複数の時間において満たされるべき１つまたは複数の電気負荷に関する情報を取得するステップと、
前記自動制御システムによって、前記取得されたセンサ情報に少なくとも部分的に基づいて、前記１つまたは複数の時間についての前記バッテリの前記内部状態の１つまたは複数の推定値を生成するステップと、
前記自動制御システムによって、前記モデルと、前記バッテリの前記内部状態の前記１つまたは複数の推定値と、前記１つまたは複数の電気負荷とに少なくとも部分的に基づいて、前記１つまたは複数の時間中に前記定義された範囲に前記バッテリの前記内部状態を維持しながら、前記１つまたは複数の電気負荷のうちの少なくとも一部を満たすように前記１つまたは複数の時間において前記バッテリが供給する電力の１つまたは複数の量を決定するステップと、
前記自動制御システムによって、電力の前記１つまたは複数の決定された量の各々について、出力される電力が電力の前記決定された量を満たすように、前記ＤＣ−ＤＣアンプの１つまたは複数の設定を実装するステップと
を含む、コンピュータに実装された方法。
【請求項２】
前記１つまたは複数の時間は、第１の時間およびより後の第２の時間を含み、
前記１つまたは複数の電気負荷は、前記第１の時間における第１の電気負荷、および前記第２の時間における第２の電気負荷を含み、
前記１つまたは複数の時間において前記バッテリが供給する電力の前記１つまたは複数の量の前記決定するステップは、前記第１の電気負荷よりも小さい前記第１の時間における第１の量の電力を供給することを決定するステップ、および前記第２の電気負荷を満たす前記第２の時間における第２の量の電力を供給することを決定するステップを含み、
前記ＤＣ−ＤＣアンプの前記１つまたは複数の設定の前記実装ステップは、前記第１の量の電力が前記第１の時間において供給されるように、前記第１の時間において前記ＤＣ−ＤＣアンプの少なくとも１つの第１の設定を実装するステップ、および前記第２の量の電力が前記第２の時間において供給されるように、前記第２の時間において前記ＤＣ−ＤＣアンプの少なくとも１つの第２の設定を実装するステップを含む請求項１に記載のコンピュータに実装された方法。
【請求項３】
前記ＤＣ−ＤＣアンプは、電界効果トランジスタ（ＦＥＴ）アンプであり、前記ＤＣ−ＤＣアンプの前記１つまたは複数の設定の前記実装ステップは、供給する電流の量を決定するステップ、および前記ＦＥＴアンプのゲートに電圧を印加して、前記決定された量の電流を生成するステップを含む、請求項１に記載のコンピュータに実装された方法。
【請求項４】
前記ＤＣ−ＤＣアンプは、降圧コンバータまたは昇圧コンバータのうちの少なくとも一方の一部であり、前記ＤＣ−ＤＣアンプの前記１つまたは複数の設定の前記実装ステップは、供給する電圧の量を決定するステップ、および前記降圧コンバータまたは前記昇圧コンバータのうちの前記少なくとも一方を修正して、前記決定された量の電圧を生成するステップを含む請求項１に記載のコンピュータに実装された方法。
【請求項５】
前記取得されたセンサ情報は、前記バッテリに関連付けられた電流、電圧、および１つまたは複数の温度の現在の値を識別し、前記バッテリの前記内部状態の前記１つまたは複数の推定値の前記生成するステップは、定義されたバッテリ温度モデルを使用して、前記現在の値に少なくとも部分的に基づいて前記バッテリの追加の内部温度を推定するステップを含む請求項１に記載のコンピュータに実装された方法。
【請求項６】
前記取得されたセンサ情報は、前記バッテリに関連付けられた電流、電圧、または温度のうちの少なくとも１つの現在の値を識別し、前記バッテリの前記内部状態の前記１つまたは複数の推定値の前記生成するステップは、前記バッテリの追加の内部温度または前記バッテリの内部化学反応状態のうちの少なくとも一方を推定するステップを含む請求項１に記載のコンピュータに実装された方法。
【請求項７】
前記取得されたセンサ情報は、前記バッテリに関連付けられた電流、電圧、または温度のうちの少なくとも１つの現在の値を識別し、前記バッテリの前記内部状態の前記１つまたは複数の推定値の前記生成するステップは、前記バッテリの少なくとも１つの内部温度を推定するステップを含み、前記定義された範囲は、前記バッテリが早期の損傷を生じることなく動作する前記バッテリの内部温度の範囲を含む請求項１に記載のコンピュータに実装された方法。
【請求項８】
前記モデルは、前記バッテリに接続された前記ＤＣ−ＤＣアンプを操作して、充電のために前記バッテリに供給される電力の制御中に前記定義された範囲に前記バッテリの前記内部状態を維持することを伴う制約を指定する１つまたは複数のルールをさらに含み、前記方法は、前記自動制御システムによって、充電のために前記バッテリに供給される前記電力を制御するステップをさらに含み、前記ステップは、
前記自動制御システムによって、１つまたは複数の追加の時間において、前記１つまたは複数の追加の時間における前記バッテリの１つまたは複数の属性についての現在の値を識別する追加のセンサ情報、および前記１つまたは複数の追加の時間において前記バッテリに提供されるべき１つまたは複数の電気供給量に関する情報を取得するステップと、
前記自動制御システムによって、前記取得された追加のセンサ情報に少なくとも部分的に基づいて、前記１つまたは複数の追加の時間についての前記バッテリの前記内部状態の１つまたは複数の追加の推定値を生成するステップと、
前記自動制御システムによって、前記モデルと、前記バッテリの前記内部状態の前記１つまたは複数の追加の推定値と、前記１つまたは複数の電気供給量とに少なくとも部分的に基づいて、前記１つまたは複数の追加の時間中に前記定義された範囲に前記バッテリの前記内部状態を維持しながら、前記１つまたは複数の電気供給量の少なくとも一部を受け入れるように、前記１つまたは複数の追加の時間において前記バッテリが受け取る電力の１つまたは複数の追加の量を決定するステップと、
前記自動制御システムによって、電力の前記１つまたは複数の決定された追加の量の各々について、前記バッテリに供給される電力が電力の前記決定された追加の量を満たすように、前記ＤＣ−ＤＣアンプの１つまたは複数の設定を実装するステップと
を含む請求項１に記載のコンピュータに実装された方法。
【請求項９】
前記受け取られた情報に含まれる前記モデルは、前記バッテリのバッテリタイプに応じて構成され、前記方法は、出力される前記電力の前記制御するステップの前の初期トレーニング期間の間に、前記バッテリの前記１つまたは複数の属性の値の変化、および前記バッテリにより供給されている電気負荷の変化を監視し、前記監視された値の変化および前記監視された電気負荷の変化に対応するように前記モデルを修正することによって、前記バッテリに固有の情報に前記モデルを適合させるステップをさらに含む請求項１に記載のコンピュータに実装された方法。
【請求項１０】
出力される前記電力の前記制御するステップは、前記バッテリの増大するインピーダンスに少なくとも部分的に基づく前記バッテリの前記１つまたは複数の属性の値の経時的変化を監視することによって、前記受け取られた情報に含まれる前記モデルを前記バッテリに固有の追加の情報に適合させるステップと、前記モデルを前記監視された変化に対応するように修正するステップとをさらに含み、決定され前記実装するステップによって出力されるようになされる前記バッテリが供給する電力の少なくとも１つの量は、前記修正されたモデルに少なくとも部分的に基づく請求項１に記載のコンピュータに実装された方法。
【請求項１１】
前記自動コントローラシステムは、前記バッターに接続的に結合されたバッテリコントローラコンポーネントを含み、制御アクション決定コンポーネントをさらに含み、前記制御アクション決定コンポーネントは、前記バッテリから遠隔で、前記１つまたは複数のコンピューティングシステムのうちの少なくとも１つにおいて実行されており、１つまたは複数のコンピュータネットワークを介して前記バッテリコントローラコンポーネントと通信し、前記制御アクション決定コンポーネントは、電力の前記１つまたは複数の量の前記決定するステップを少なくとも行い、電力の前記決定された１つまたは複数の量に関して、前記１つまたは複数のコンピュータネットワークを介して前記バッテリコントローラコンポーネントに命令を送るステップをさらに行い、前記バッテリコントローラコンポーネントは、前記送られた命令に少なくとも部分的に基づいて、前記ＤＣ−ＤＣアンプの前記１つまたは複数の設定の前記実装ステップを少なくとも行い、前記方法は、前記バッテリコントローラコンポーネントによって、前記制御アクション決定コンポーネントから前記１つまたは複数のコンピュータネットワークを介していかなる命令も受け取らずに追加の時間において、前記バッテリにより出力される前記電力を制御するステップをさらに含み、前記ステップは、
前記バッテリコントローラコンポーネントによって、前記追加の時間において、前記追加の時間における前記バッテリの前記１つまたは複数の属性についての現在の値を識別する追加のセンサ情報を取得するステップと、
前記バッテリコントローラコンポーネントによって、前記取得された追加のセンサ情報に少なくとも部分的に基づいて、前記追加の時間についての前記バッテリの前記内部状態の追加の推定値を生成するステップと、
前記バッテリコントローラコンポーネントによって、前記バッテリの前記内部状態の前記追加の推定値に少なくとも部分的に基づいて、前記追加の時間において前記定義された範囲に前記バッテリの前記内部状態を維持するように、前記追加の時間において前記バッテリが供給する電力の追加の量を決定するステップと、
前記バッテリコントローラコンポーネントによって、出力される電力が電力の前記決定された追加の量を満たすように、前記ＤＣ−ＤＣアンプの１つまたは複数の設定を実装するステップと
を含む請求項１に記載のコンピュータに実装された方法。
【請求項１２】
前記自動制御システムによって、現在の電気負荷なしで追加の時間において、前記バッテリにより出力される前記電力を制御するステップをさらに含み、前記ステップは、
前記自動制御システムによって、前記追加の時間において、前記追加の時間における前記バッテリの前記１つまたは複数の属性についての現在の値を識別する追加のセンサ情報を取得するステップと、
前記自動制御システムによって、前記取得された追加のセンサ情報に少なくとも部分的に基づいて、前記追加の時間についての前記バッテリの前記内部状態の追加の推定値を生成するステップと、
前記自動制御システムによって、前記モデルと、前記バッテリの前記内部状態の前記追加の推定値とに少なくとも部分的に基づいて、前記追加の時間において前記定義された範囲に前記バッテリの前記内部状態を維持するように、前記追加の時間において前記バッテリが供給する電力の追加の量を決定するステップと、
前記自動制御システムによって、出力される電力が電力の前記決定された追加の量を満たすように、前記ＤＣ−ＤＣアンプの１つまたは複数の設定を実装するステップと
を含む請求項１に記載のコンピュータに実装された方法。
【請求項１３】
自動制御システムの少なくとも一部を実装する１つまたは複数のデバイスに方法を実行させるコンテンツを記憶した非一時的コンピュータ可読媒体であって、前記方法は、
前記自動制御システムによって、電気の直流（ＤＣ）を供給するバッテリからの電力を制御するのに使用するための情報を受け取るステップであって、前記受け取られた情報は、前記バッテリからの電力の前記制御中に定義された範囲に前記バッテリの内部状態を維持することを含む１つまたは複数の定義された目標を達成するように、前記バッテリに接続されたＤＣ−ＤＣアンプを操作することを伴う制約を指定する前記バッテリのモデルを含む、ステップと、
前記自動制御システムによって、前記受け取られた情報に基づいて、前記バッテリからの前記電力を制御するステップと
を含み、前記ステップは、
前記自動制御システムによって、複数の時間における前記バッテリの１つまたは複数の属性についての値を識別するセンサ情報、および前記複数の時間において満たされるべき電気負荷に関する情報を取得するステップと、
前記自動制御システムによって、前記取得されたセンサ情報に少なくとも部分的に基づいて、前記複数の時間についての前記バッテリの前記内部状態の推定値を生成するステップと、
前記複数の時間のうちの１つまたは複数について前記自動制御システムによって、前記定義された範囲に前記バッテリの前記内部状態を維持しながら、前記電気負荷のうちの少なくとも一部を満たすように前記１つまたは複数の時間において前記バッテリが供給する電力の１つまたは複数の量を決定するステップであって、前記決定は、前記バッテリが供給する電力の量の変化率を制御するために前記バッテリにより供給された電力の少なくとも１つの以前の量に少なくとも部分的に基づき、前記決定は、さらに、前記モデルと、前記バッテリの前記内部状態の前記推定値と、前記電気負荷とに少なくとも部分的に基づく、ステップと、
前記自動制御システムによって、電力の前記１つまたは複数の決定された量の各々について、出力される電力が電力の前記決定された量を満たすように、前記ＤＣ−ＤＣアンプの１つまたは複数の設定を実装するステップと
を含む、非一時的コンピュータ可読媒体。
【請求項１４】
前記バッテリの前記モデルは、前記バッテリから出力される電力の量の変化を前記変化率に対する定義された限界閾値よりも小さくするように制限する１つまたは複数のルールを含み、前記記憶されたコンテンツは、ソフトウェア命令であって、実行されたとき、前記１つまたは複数のデバイスのうちの少なくとも１つに、さらに、前記バッテリにより供給された電力の前記少なくとも１つの以前の量を識別させ、前記定義された範囲に前記バッテリの前記内部状態を維持する目標変化率であって前記定義された限界閾値内である目標変化率を決定させるソフトウェア命令を含み、前記１つまたは複数の時間において前記バッテリが供給する電力の前記１つまたは複数の量の前記決定するステップはさらに、前記決定された目標変化率を満たすように行われ、前記１つまたは複数のルールに少なくとも部分的に基づく請求項１３に記載の非一時的コンピュータ可読媒体。
【請求項１５】
前記１つまたは複数の時間において前記バッテリが供給する電力の前記１つまたは複数の量の前記決定するステップは、少なくとも１つの以前の電気負荷を識別するステップと、前記少なくとも１つの以前の電気負荷から前記複数の時間において満たされるべき電気負荷への電気負荷の変化の１つまたは複数の量を決定するステップと、電気負荷の変化の前記決定された１つまたは複数の量に少なくとも部分的に基づいて、電力の前記決定された１つまたは複数の量のうちの少なくとも１つを選択するステップとをさらに含む請求項１３に記載の非一時的コンピュータ可読媒体。
【請求項１６】
前記１つまたは複数の時間において前記バッテリが供給する電力の前記１つまたは複数の量の前記決定するステップは、前記バッテリの内部インピーダンスに少なくとも部分的に基づく前記バッテリの前記内部状態の少なくとも１つの以前の推定値を識別するステップと、前記少なくとも１つの以前の推定値から前記複数の時間についての前記バッテリの前記内部状態の前記推定値への前記バッテリの推定された内部インピーダンスの変化の１つまたは複数の量を決定するステップと、前記バッテリの前記推定された内部インピーダンスの変化の前記決定された１つまたは複数の量に少なくとも部分的に基づいて、電力の前記決定された１つまたは複数の量のうちの少なくとも１つを選択するステップとをさらに含む請求項１３に記載の非一時的コンピュータ可読媒体。
【請求項１７】
前記１つまたは複数の時間において前記バッテリが供給する電力の前記１つまたは複数の量の前記決定ステップは、前記バッテリの内部温度に少なくとも部分的に基づく前記バッテリの前記内部状態の少なくとも１つの以前の推定値を識別するステップと、前記少なくとも１つの以前の推定値から前記複数の時間についての前記バッテリの前記内部状態の前記推定値への前記バッテリの推定された内部温度の変化の１つまたは複数の量を決定するステップと、前記バッテリの前記推定された内部温度の変化の前記決定された１つまたは複数の量に少なくとも部分的に基づいて、電力の前記決定された１つまたは複数の量のうちの少なくとも１つを選択するステップとをさらに含む請求項１３に記載の非一時的コンピュータ可読媒体。
【請求項１８】
１つまたは複数のデバイスの１つまたは複数のハードウェアプロセッサと、
命令を記憶する１つまたは複数のメモリと
を備えるシステムであって、前記命令は、前記１つまたは複数のハードウェアプロセッサのうちの少なくとも１つによって実行されたとき、バッテリからまたは前記バッテリへ供給される電力の直流（ＤＣ）特性を制御するアクチュエータを操作するための指定された制約を有する前記バッテリのモデルを受け取ることと、
指示された時間において前記バッテリの１つまたは複数の属性の値を識別するセンサ情報、および前記指示された時間において満たされるべき電気負荷または前記指示された時間において前記バッテリに提供されることが可能な電気供給量のうちの少なくとも一方に関する追加の情報を取得することと、
前記取得されたセンサ情報に少なくとも部分的に基づいて、直接観測可能でない前記バッテリの内部状態の前記指示された時間についての１つまたは複数の推定値を生成することと、
前記指示された時間において定義された範囲に前記バッテリの前記内部状態を維持することの一部として、前記モデルと前記バッテリの前記内部状態の前記１つまたは複数の推定値とに少なくとも部分的に基づいて、前記電気負荷の少なくとも一部を満たす前記指示された時間において前記バッテリが供給する電力の量、または前記電気供給量の少なくとも一部を受け入れることにより前記指示された時間において前記バッテリが受け取る電力の量を決定することと、
前記指示された時間に出力される電力が前記バッテリが供給する電力の前記決定された量を満たすように、または前記指示された時間に前記バッテリに供給される電力が前記バッテリが受け取る電力の前記決定された量を満たすように、前記アクチュエータの１つまたは複数の設定を実装することと
によって前記バッテリからまたは前記バッテリへ供給される前記電力を制御する自動制御システムを前記少なくとも１つのハードウェアプロセッサに実装させる、システム。
【請求項１９】
前記アクチュエータは、ＤＣ−ＤＣアンプであり、前記自動制御システムは、前記電気負荷の少なくとも一部を満たすように、前記指示された時間において前記バッテリが供給する電力の前記量を決定することと、前記指示された時間において出力される電力が前記バッテリの供給する電力の前記決定された量を満たすように、前記ＤＣ−ＤＣアンプの１つまたは複数の設定を実装することとによって、前記バッテリから供給される電力を制御する請求項１８に記載のシステム。
【請求項２０】
前記バッテリの前記受け取られたモデルは、複数のルールを含み、前記複数のルールは、前記バッテリからまたは前記バッテリへ供給される前記電力の制御中に前記定義された範囲に前記バッテリの前記内部状態を維持することを含む１つまたは複数の定義された目標を達成するように、前記アクチュエータを操作することを伴う制約を指定し、前記複数のルールは、前記バッテリが第１の定義された閾値を超える現在の電荷を有する場合、前記バッテリを充電しないための１つまたは複数のルールと、前記バッテリが第２の定義された閾値を下回る現在の電荷を有する場合、前記バッテリを放電させないための１つまたは複数のルールと、前記バッテリを充電または放電すると前記バッテリの推定された内部温度が定義された範囲の外となるであろう場合、前記バッテリを充電または放電しないための１つまたは複数のルールとを含む請求項１８に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
関連出願の相互参照
本出願は、参照により全体が本明細書に組み込まれている、２０１６年３月４日に出願された「Ｕｓｉｎｇ  Ｂａｔｔｅｒｙ  ＤＣ  Ｃｈａｒａｃｔｅｒｉｓｔｉｃｓ  Ｔｏ  Ｃｏｎｔｒｏｌ  Ｐｏｗｅｒ  Ｑｕａｌｉｔｙ」という名称の米国特許仮出願第６２／３０４，０３４号明細書の利益を主張する。
【０００２】
操作することができる入力または他の制御要素を有する様々なタイプの物理的システムのための自動制御システムを実装し、その制御されている物理的システムの所望の出力または他の挙動を提供しようとする様々な試みがなされている。そのような自動制御システムは、様々なタイプのアーキテクチャおよび基礎となるコンピューティング技術を使用し、制御されている物理的システムの状態の不確実性に関連する問題、非常に短い時間量および部分的情報のみで制御判断をする必要などに対処しようとすることを含めて、そのような機能を実装しようとしている。そのような自動制御システムの一例は、負荷をサポートするために電力を放電し、および／または電源からの電力を使用して充電するバッテリの動作を制御するためのシステムを含み、バッテリの内部温度および／または化学状態に関する不確実性、ならびに場合によっては負荷、電源、および／またはバッテリ内部状態の継続的変化を伴う。
【０００３】
しかしながら、多数の制約条件（場合によっては競合する）の管理、他のシステムと調和されての動作に関することを含めて、既存の自動制御システムならびにそれらの基礎となるアーキテクチャおよびコンピューティング技術では様々な困難が存在する。複数の競合する制約条件および／または目標が存在する状況において１つまたは複数のバッテリを制御しようとすると、特に困難が生じ得る。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願第１４／７４６，７３８号明細書
【特許文献２】米国特許出願第６２／１８２，９６８号明細書
【特許文献３】米国特許出願第６２／１８２，７９６号明細書
【特許文献４】国際ＰＣＴ  Ｐａｔｅｎｔ  Ａｐｐｌｉｃａｔｉｏｎ  Ｎｏ．ＰＣＴ／ＵＳ２０１５／０３７０２２
【図面の簡単な説明】
【０００５】
【図１】ターゲットシステムの協調分散制御を行うためのシステムが構成され始動され得る例示的環境を示すネットワーク図である。
【図２】ターゲットシステムの協調分散制御を行うためのシステムが実装され得る例示的環境を示すブロック図である。
【図３】ターゲットシステムの協調分散制御を構成された様式で行うためにシステムの実施形態を実行するのに適した例示的なコンピューティングシステムを示すブロック図である。
【図４】協調分散判断（Collaborative Distributed Decision：ＣＤＤ）システムルーチンの例示的実施形態のフロー図である。
【図５Ａ】ＣＤＤ判断モジュール構築（CDD Decision Module Construction）ルーチンの例示的実施形態のフロー図である。
【図５Ｂ】ＣＤＤ判断モジュール構築ルーチンの例示的実施形態のフロー図である。
【図６Ａ】判断モジュールルーチンの例示的実施形態のフロー図である。
【図６Ｂ】判断モジュールルーチンの例示的実施形態のフロー図である。
【図７Ａ】ＣＤＤ制御アクション決定（CDD Control Action Determination）ルーチンの例示的実施形態のフロー図である。
【図７Ｂ】ＣＤＤ制御アクション決定ルーチンの例示的実施形態のフロー図である。
【図８Ａ】ＣＤＤ調整制御管理（CDD Coordinated Control Management）ルーチンの例示的実施形態のフロー図である。
【図８Ｂ】ＣＤＤ調整制御管理ルーチンの例示的実施形態のフロー図である。
【図９】ターゲットシステムが制御されるためのルーチンの例示的実施形態のフロー図である。
【図１０】バッテリの状態の特性を使用してバッテリからのＤＣ電力の自動制御を行うためのシステムの実施形態の例示的コンポーネントを示すブロック図である。
【図１１】調和されて複数のバッテリからのＤＣ電力の自動制御を行うシステムの実施形態の例示的コンポーネントを示すブロック図である。
【図１２】家庭の発電および電力使用が外部エンティティによって監視および同期されている、ソーラー電力が生成されている家庭電力システムの一部である、バッテリからのＤＣ電力の自動制御を行うためのシステムの実施形態の例示的コンポーネントを示すブロック図である。
【図１３】家庭の発電および電力使用の典型的な監視および同期が一時的に中断された、ソーラー電力が生成されている家庭電力システムの一部である、バッテリからのＤＣ電力の自動制御を行うためのシステムの実施形態の例示的コンポーネントを示すブロック図である。
【図１４】バッテリからのＤＣ電力の自動制御を可能にするようにバッテリの状態および動作をモデル化するシステムの実施形態の例示的なコンポーネントを示すブロック図である。
【図１５】家庭の発電および電力使用が外部エンティティによって監視および同期されている、バッテリの状態の特性を使用してバッテリからのＤＣ電力の自動制御を行うシステムの実施形態の性能の例示的視覚表示を示すブロック図である。
【図１６】家庭の発電および電力使用の典型的な監視および同期が一時的に中断された、バッテリの状態の特性を使用してバッテリからのＤＣ電力の自動制御を行うシステムの実施形態の性能の例示的視覚表示を示すブロック図である。
【図１７】バッテリの状態の特性を使用してバッテリからのＤＣ電力の自動制御を行うためのシステムの実施形態の例示的コンポーネントを示すブロック図である。
【図１８】バッテリの状態の特性を使用してバッテリからのＤＣ電力の自動制御を行うためのシステムの実施形態の例示的コンポーネントを示すブロック図である。
【図１９】バッテリの状態の特性を使用してバッテリからのＤＣ電力の自動制御を行うためのシステムの実施形態の例示的コンポーネントを示すブロック図である。
【図２０】調和されて複数のバッテリからのＤＣ電力の自動制御を行うシステムの実施形態の例示的コンポーネントを示すブロック図である。
【図２１】調和されて複数のバッテリからのＤＣ電力の自動制御を行うシステムの実施形態の例示的コンポーネントを示すブロック図である。
【図２２】調和されて複数のバッテリからのＤＣ電力の自動制御を行うシステムの実施形態の例示的コンポーネントを示すブロック図である。
【図２３】調和されて複数のバッテリからのＤＣ電力の自動制御を行うシステムの実施形態の例示的コンポーネントを示すブロック図である。
【図２４】バッテリの状態の特性を使用してバッテリからのＤＣ電力の自動制御を行うとともに、価格予測および追加の情報を使用してシステムの経済的性能を向上する、システムの実施形態の例示的コンポーネントを示すブロック図である。
【図２５】バッテリコントローラコンポーネントの例示的アーキテクチャを示すブロック図である。
【図２６】例示的フィードバックコントローラを示すブロック図である。
【図２７】バッテリのバッテリモデルをトレーニングするための例示的アーキテクチャを示すブロック図である。
【図２８】バッテリに関する追跡（tracking）制御システムのためのフィードバック利得を計算するための例示的アーキテクチャを示すブロック図である。
【図２９】バッテリ制御システムのための例示的アーキテクチャを示すブロック図である。
【発明を実施するための形態】
【０００６】
指定された物理的システムまたは他のターゲットシステムの少なくともいくつかの動作を制御または他の形で操作するように自動制御システムを実装するための技法が説明される。少なくともいくつかの実施形態では、物理的ターゲットシステムは、電力を貯蔵および提供するために使用される１つまたは複数のバッテリを含み、ターゲットシステムを制御するための自動化された動作は、各バッテリの状態の特性を使用して、バッテリから提供されるＤＣ（直流）電力の自動制御を行うことを含み、たとえば、バッテリに接続されたＤＣ−ＤＣアンプ（たとえば、ＦＥＴ、または電界効果トランジスタ、アンプ）を使用して、バッテリから出力される電流および／または電圧の量をリアルタイムにバッテリの長期動作を最適化するように制御することによって、自動制御を行う。ＤＣ−ＤＣアンプは、たとえば、その入力（供給）からその出力（負荷）への電流を逓増しながら電圧を逓減する降圧コンバータ（buck converter）（またはステップダウンコンバータ）の一部、および／またはその入力（供給）からその出力（負荷）への電流を逓減しながら電圧を逓増する昇圧コンバータ（boost converter）（またはステップアップコンバータ）の一部とすることができ、これらは、本明細書では一般に「昇圧／降圧コントローラ」または「降圧／昇圧コントローラ」と呼ばれることがある。加えて、いくつかの実施形態および状況では、複数のバッテリが、複数の制御システムを使用することによる様式で制御され、各制御システムはバッテリのうちの１つに関連付けられ、複数のバッテリに対する複数の関連付けられた制御システムの間の相互作用に基づくような分散された様式で、複数のバッテリの全体的制御が調整される。制御される１つまたは複数のバッテリを含むシステムは、いくつかの実施形態および状況において、１つもしくは複数の電源および／または１つもしくは複数の電気負荷のような追加のコンポーネントをさらに含んでよく、そのようなシステムのタイプの一非排他的例は、発電源（たとえば、ソーラーパネル、風力タービンなど）および住宅または企業からの電気負荷を任意選択で含み得る、１つまたは複数の家庭またはビジネス電力システムである。自動制御システムを実装および使用して１つまたは複数のバッテリを有するターゲットシステムを制御するための技法に関連する追加の詳細が以下に含まれる。
【０００７】
説明される技法は、様々な利益および利点を提供することができる。そのような利益および利点の非排他的例は、（たとえば、バッテリのＤＣ電流および電圧を変えることによって）ＤＣ側のバッテリの電力出力を制御することと、バッテリに接続されたインバータにより提供されるＡＣ（交流）電圧および／または電流を単一の指定されたレベルに固定するのではなく、（たとえば、化学量論的範囲などの１つまたは複数の化学量論的限界内でバッテリの内部の化学的性質を維持することによって）内部温度および／または他のバッテリパラメータに関してバッテリをその最適なまたは最適に近い物理的状態で動作することを可能にすることと、不可逆的バッテリ損傷の可能性という代償を支払うが最大電力を提供する飽和レベルでバッテリを動作させることとを含み、このようにして、バッテリの化学的性質の変化が可逆的であって短絡および他の不可逆的損傷が低減または除去される好ましい範囲で、バッテリが動作することを可能にすることによって、バッテリ寿命および他の動作性能が上述された技法により最適化されまたは他の形で向上され得る。加えて、少なくともいくつかの実施形態では、バッテリの自動制御は、他のコンポーネント（たとえば、負荷および／または外部電力網）との電力出力量共鳴を向上および維持するためのバッテリの能動制御をさらに含むことができ、したがって、提供される電力の量は、電力出力要求または負荷量の少なくとも定義されたパーセンテージまたは他の量（たとえば、５０％、６５％、１００％、または任意の他の定義されたパーセンテージもしくは他の量）を満たしながらも、必要とされる量を超えない。このようにして、そのような実施形態は、バッテリ損傷または他の問題（たとえば過剰加熱）を生じてもバッテリの出力電圧または電流を固定しすべての電力要求を満たす既存のシステムではなく、可能な場合に電力出力要求を満たしながら、制御されるバッテリの内部状態および（寿命を含む）動作性能を管理する自動制御システムとして概念化され得る。上記および本明細書のいくつかの他の箇所で論じられる利益および動作は、バッテリから出力される電力を制御することに関するが、同じ技法が、１つまたは複数の電源からバッテリ内に貯蔵される電力を制御するために使用されてよく、そうすることで、電力を貯蔵しながら、バッテリが、熱または他のバッテリパラメータに関してその最適なまたは最適に近い物理的状態で動作するようにし、また、電力が１つまたは複数の電源により供給されるための電力入力要求の少なくとも定義されたパーセンテージまたは他の量（たとえば、５０％、６５％、１００％、または任意の他の定義されたパーセンテージもしくは他の量）を満たしながら、バッテリの化学的性質の変化が可逆的である好ましい範囲で、バッテリが動作することを可能にすることによって、バッテリ寿命および他の動作性能を最適化しまたは他の形で向上するようにすることは理解されよう。追加の利益および利点は、以下を含み、ここで、特に示されない限り、本明細書で使用される特徴または結果を「最適化する」という用語は、一般にその特徴または結果を（たとえば、部分的または完全な最適化によって）改善することを意味し、本明細書で使用される「リアルタイム」という用語は、制御されている結果のコンポーネントまたはシステムに固有の時間フレーム（たとえば、秒の分数、秒、分など）に関することを意味する。
−  Ｉ（電流）、Ｖ（電圧）、およびＲ（出力されている電力の量）のようなＤＣ制御変数を最適化することによって、バッテリ寿命を改善することができる
−  バッテリの化学的性質の事前の特徴付けと関連してＤＣ制御変数（Ｉ，Ｖ，Ｒ）を最適化することによってバッテリ寿命を改善することができ、また、性能および寿命を改善するようにＤＣレベルで最適化することができる
−  ＡＣ相の目的を解決するためにＤＣ領域でリアルタイムに変数を最適化することができる
−  他のグリッドコンポーネントなしでバッテリ出力のみの制御によるなどして、共鳴動作をもたらすグリッド周波数に一致するようにリアルタイムでＡＣ出力を最適化することができる
−  充電／放電サイクルを改善して長期バッテリ利用可能性を改善することができる
−  ＡＣ負荷応答を改善することができる
−  長期バッテリ利用可能性を改善することと組み合わせてＡＣ負荷応答を改善することができる
−  バッテリコントローラが、プロセッサ上で組み込まれたソフトウェアとして自己充足的に動作できる
−  バッテリコントローラが、外部位置（たとえば、クラウドまたは他のネットワークアクセス可能位置）から継続的に監視および更新されることができる
−  バッテリコントローラが、バッテリ特性を送信して性能を改善することができる
−  静止型無効電力補償装置ハードウェアの出費を回避することができる
以下により詳細に一部が論じられるように、様々な他の利益および利点が少なくともいくつかの実施形態でさらに実現され得る。
【０００８】
図１０は、バッテリの状態の特性を他の関連する情報と共に使用してバッテリからのＤＣ電力の自動制御を行うためのシステムの実施形態の例示的コンポーネントを示すブロック図１０００を含み、具体的には、例示的システム１０００の様々なコンポーネントは、以下でさらに論じられるように、定義された制約条件、ルール、および他の基準に照らして、１つまたは複数の定義された目標に応じてバッテリの動作を制御するように相互作用する。いくつかの実施形態では、バッテリを制御するための自動化された活動が、電力を求める外部要求（たとえば、バッテリが電力を供給できる先のユーティリティからの要求）のできる限り多く（たとえば、そのような要求のうちの少なくとも定義されたパーセンテージまたは量）を満たしながら、リアルタイムに、および／またはバッテリの長期動作（たとえば、バッテリの寿命）を最適化するように行われ得る。
【０００９】
図１０００の示された例では、バッテリ１０１０が示されており、バッテリ１０１０は、バッテリコントローラコンポーネント１０４０（本明細書では、「追跡コントローラ」および／または「バッテリ追跡コントローラ」と呼ばれることもある）から対応する制御信号をアクチュエータ１０３０が受け取ることを介して制御され、バッテリコントローラがバッテリのＤＣ出力として生成されるべき電力の量を指定することなどによって制御される。生成されるべき指定された電力量は、たとえば、出力される電力を指定された量だけ増加もしくは減少すること、または電力出力を変更しないことを指示する情報を含むことができる。ここでは示されていないが、バッテリの出力は、電力を１つまたは複数の負荷（図示せず）に提供する働きをすることができ、少なくともいくつかの実施形態では、バッテリの電力出力をＡＣ電力に変換して対応する負荷をサポートするためにインバータ／整流器コンポーネントに接続されることができ、そのようなインバータは、たとえば、ＡＣ電力の電圧および／または周波数を調節することによってバッテリから提供される電力を制御することができる。同様に、ここではやはり示されていないが、バッテリの入力は、１つまたは複数の電源（図示せず）から電力を受け取る働きをすることができ、少なくともいくつかの実施形態では、電源からのＡＣ電力入力をバッテリのためのＤＣ電力に変換するためにインバータ／整流器コンポーネントに接続されることができ、そのような整流器は、たとえば、ＡＣ電力の電圧および／または周波数を調節することによってバッテリに提供される電力を制御することができる。
【００１０】
どのようにバッテリを制御するかを決定することの一部として、バッテリコントローラコンポーネントは、バッテリの内部状態（図示せず）、たとえば、電圧、電流、温度などの現在の値に関して、センサモジュール１０２０から入力を受け取り、対応する情報をＣＤＩエージェント１０５０に供給する。本明細書ではＣＤＤ（協調分散判断）判断モジュールまたはシステムと呼ばれることもあるＣＤＩエージェントが、バッテリの状態に関連するバッテリコントローラからの情報を受け取り、また、ユーティリティにより制御される電気グリッド（図示せず）に対してバッテリが電力を時々または常に供給する状況などにおいて、ユーティリティコンポーネント１０６０からの電力供給要求を受け取る。具体的には、ＣＤＩエージェントは、ユーティリティから特定の要求を受け取り、バッテリの状態に関する情報を受け取って分析し、バッテリについて現在の時間に行う対応する動作（たとえば、バッテリから供給される出力電力の量、および／またはバッテリにより受け取られ貯蔵される入力電力の量）を決定し、少なくともいくつかの状況では、（たとえば、バッテリの推定された内部温度および／またはバッテリの推定された内部の化学的性質に関して）所望の非飽和範囲またはレベルでバッテリが動作することを可能にすることなどのために、バッテリの現在の状態および定義された目標を所与としてバッテリ性能に対する他の制約条件も満たすように要求が満足できる場合、リアルタイムに電力に関するユーティリティからの要求を完全または部分的に満たすように試みることを伴う。バッテリについて現在の時間に行う対応する動作を決定した後、ＣＤＩエージェントは、対応する追跡制御信号をバッテリコントローラに提供し、バッテリコントローラは、追跡制御信号の対応する動作をもたらすためにアクチュエータをどのように現在修正または操作するか（たとえば、バッテリから出力される電流の量について行う正または負の変更の量）を決定し、上述されたように対応する制御信号をアクチュエータに送る。
【００１１】
図１０には示されていないが、ＣＤＩエージェントおよび／またはバッテリコントローラは、いくつかの実施形態では、バッテリの内部状態を推定し、その内部状態に部分的に基づいて行う特定の動作を選択するために使用されるバッテリの記憶されたモデルを含む。たとえば、いくつかの実施形態では、任意のタイプのバッテリに適用可能な汎用バッテリモデルが使用されてよく、他の実施形態では、バッテリのタイプ（たとえば、リチウムイオンまたはニッケルカドミウムなど、電気を貯蔵および／または生成するために使用される化学反応のタイプ）に固有のバッテリモデルが使用されてよく、さらに他の実施形態では、使用中の特定のバッテリ専用に設計および／または構成されたバッテリモデルが使用されてよい。加えて、少なくともいくつかの実施形態では、特定のバッテリを有する特定のシステムで当初採用されたバッテリモデルが、経時的に更新されて、（たとえば、観測可能なバッテリ状態の変化が、対応する外部バッテリ電気負荷および／または電源にどのように相関するかを監視することによって、）モデルの基礎となる構造に改善を反映すること、ならびに／またはモデルをトレーニングして使用中の特定のバッテリおよび／もしくはシステムに固有の動作特性を反映することなどができ、特定のバッテリおよび／またはシステムに対してモデルをトレーニングしまたは他の形で適合させるとき、トレーニング／適合動作は、いくつかの実施形態では、自動制御システムを使用してバッテリを制御する前に最初にトレーニング段階で行われてよく、および／または、いくつかの実施形態では、（たとえば、バッテリのインピーダンスプロファイルの経時的変化を反映するために、）自動制御システムがバッテリを制御している間に継続的または定期的に行われてよい。そのようなモデルの構築および使用を含むモデルに関する追加の詳細は、本明細書の他の箇所に含まれる。加えて、いくつかの実施形態では、バッテリコントローラおよびＣＤＩエージェントは、別個のコンポーネントとして実装されてよく（たとえば、バッテリコントローラは、バッテリに取り付けられまたは他の形式でバッテリの位置にあるハードウェアおよび／またはファームウェアに全体としてまたは部分的に実装され、ＣＤＩエージェントは、バッテリ位置から遠隔の１つまたは複数のコンピューティングシステム上で実行され任意選択で１つまたは複数の介在コンピュータネットワークを介してバッテリコントローラと通信するソフトウェア命令によって、部分的に実装される）、他の実施形態では、ＣＤＩエージェントおよびバッテリコントローラは、（バッテリの位置にあるかそれから離れているかにかかわらず）単一のコンポーネントとして実装されてよい。バッテリについて行う動作を決定するためのＣＤＩエージェントの動作に関するさらなる詳細は、以下により詳細に論じられる。
【００１２】
加えて、図１０に関連して示されていないが、いくつかの実施形態では、複数のバッテリ（たとえば、数十、数百、数千、数百万など）の各々が、同様にそのバッテリのアクションを制御する関連付けられたＣＤＩエージェントを有してよく、様々なバッテリが、ユーティリティまたは他のエンティティに集合的電力を供給するために調和されて一緒に動作する。そのような実施形態では，ユーティリティまたは他の外部エンティティは、バッテリを含む様々なシステムにより使用するための同期および監視信号を送ることができ、様々なバッテリに関連付けられた複数のＣＤＩエージェントが、相互作用して情報を交換し、バッテリの動作の間の少なくとも部分的調整を維持することができる。
【００１３】
図１１は、たとえばリアルタイムにかつバッテリの長期動作を最適化するように、調和されて複数のバッテリからのＤＣ電力の自動制御を行うシステム１１００の実施形態のコンポーネントの一例を示すブロック図である。具体的には、ｎ個の関連付けられたバッテリ（図示せず）のうちの１つの動作を各々が制御する、複数のＣＤＩエージェント１０５０ａ〜ｎが示されている。図１１の例では、各ＣＤＩエージェントは、それに関連付けられたバッテリのバッテリ状態情報のみを受け取るのではなく、任意選択で、電力を求めるユーティリティからの要求を含む追加の情報、ユーティリティに関連するステータス情報、および／またはバッテリからユーティリティの電気グリッド（図示せず）に供給される電力の予測される価格情報を受け取ることもできる。各ＣＤＩエージェントは、この例では、ルールおよびオプティマイザコンポーネントをさらに含み、ルールは、関連付けられたバッテリを満足させる目標および制約条件を指定し、オプティマイザコンポーネントは、それらのルールおよび他の入力情報を使用して、関連付けられたバッテリの対応する自動制御判断を行い、これらは、関連付けられたバッテリについてのターゲット情報としてＣＤＩエージェントによって出力される。そのようなルールおよびそのようなオプティマイザコンポーネントの動作の仕様および使用に関連する追加の詳細は、本明細書に含まれる。図１１は、コンバイナコンポーネント１１１０をさらに示し、コンバイナコンポーネント１１１０は、様々なＣＤＩエージェントからの情報を組み合わせて、制御されているバッテリにより提供されている集合的電力に対応するユーティリティの要求に対する集合的応答を決定する。
【００１４】
また、説明されている技法は、以下にいくつかがさらに論じられるターゲットシステムの様々な他のタイプと共に使用され得ること、ならびに本発明は、特定のターゲットシステムおよび対応する自動制御システムについて論じられる技法に限定されないことは理解されよう。例示のため、以下に説明されるいくつかの実施形態では、特定のタイプのターゲットシステムと共に説明されている技法を使用し、また、特定の様式で決定された特定のタイプの制御アクティビティを行うことを含めて、特定のタイプの動作が行われる。これらの例は、例示のため提供され、簡潔にするために単純化されるが、本発明の技法は、他の環境内および他のタイプの自動制御アクション決定技法を含む様々な他の状況で使用されてよく、それらの一部は以下に論じられる。
【００１５】
より一般的には、制御または他の形で操作されるターゲットシステムは、様々な様式で相互接続された多数の要素を有してよく、それらの要素の一部は、ターゲットシステムの動作に影響を与えるために、対応する自動制御システムが修正または他の形で操作することができる入力または他の制御要素である。少なくともいくつかの実施形態および状況では、ターゲットシステムは、１つまたは複数の出力をさらに有し、ターゲットシステムが物理的物品を生成または修正している、または他の形で物理的効果を生成している場合などに、制御要素の操作が１つまたは複数の出力に作用する。たとえば、１つまたは複数のバッテリの自動制御を含むターゲットシステムの出力は、それらのバッテリにより提供されている電力を含むことができ、入力および他の制御要素は、１つまたは複数のバッテリから提供されている電力を操作するために使用されるアクチュエータおよび／またはバッテリ追跡コントローラを含むことができる。
【００１６】
特定のターゲットシステムのためのそのような自動制御システムを実装することの一部として、協調分散判断（ＣＤＤ）システムの実施形態は、説明されている技法を使用して、特定のターゲットシステムを制御するのに使用するための１つまたは複数のＣＤＩエージェント（ＣＤＤ判断モジュールもしくはシステム、またはそのようなモジュールもしくはシステムの部分とも呼ばれる）を含む、自動制御システムを構築および実装するのに関与する様々な自動化されたアクティビティを行うことができる。例示的ＣＤＤシステムのそのようなアクティビティのいくつかの態様は、以下に提供されるが、追加の詳細は、２０１５年６月２２日に出願された「Ｃｏｏｐｅｒａｔｉｖｅ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｃｏｎｔｒｏｌ  Ｏｆ  Ｔａｒｇｅｔ  Ｓｙｓｔｅｍｓ」という名称の特許文献１、２０１５年６月２２日に出願された「Ｃｏｏｐｅｒａｔｉｖｅ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｃｏｎｔｒｏｌ  Ｏｆ  Ｔａｒｇｅｔ  Ｓｙｓｔｅｍｓ」という名称の特許文献２、２０１５年６月２２日に出願された「Ｇａｕｇｅ  Ｓｙｓｔｅｍｓ」という名称の特許文献３、および２０１５年６月２２日に出願された「Ｃｏｏｐｅｒａｔｉｖｅ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｃｏｎｔｒｏｌ  Ｏｆ  Ｔａｒｇｅｔ  Ｓｙｓｔｅｍｓ」という名称の特許文献４に含まれ、これらの各々は、参照によりその全体が本明細書に含まれる。
【００１７】
具体的には、ＣＤＤシステムは、いくつかの実施形態では、１つまたは複数のユーザと相互作用してターゲットシステムの記述を取得する判断モジュール構築コンポーネントを実装することができ、ターゲットシステムの記述は、ターゲットシステムの様々な要素に関連する制約、およびターゲットシステムの制御中に達成されるべき１つまたは複数の目標を含む。次いで、判断モジュール構築コンポーネントは、様々な自動化されたアクションを行って、ターゲットシステムの制御を行う際に使用するための１つまたは複数の実行可能判断モジュール（「判断要素」および／または「エージェント」と呼ばれることもある）を生成、テスト、および展開する。１つまたは複数の実行可能判断モジュールが展開および実行されると、ＣＤＤシステムは、各判断モジュールが生成する制御アクションを最適化もしくは他の形で強化するための各判断モジュールの制御アクション決定コンポーネント、および／またはターゲットシステムの制御を共同で行っている複数の判断モジュールの制御アクションを調整するための１つもしくは複数の調整制御管理コンポーネントなど、判断モジュールによるターゲットシステムの制御を管理するために実行されている判断モジュールの内部または外部の様々なコンポーネントをさらに提供することができる。
【００１８】
上記されたように、協調分散判断（ＣＤＤ）システムは、いくつかの実施形態では、指定されたターゲットシステムのための自動制御システムを構築および実装して、たとえば、ターゲットシステムの動作に作用する（たとえば、ターゲットシステムの１つまたは複数の出力に作用する）ターゲットシステムの入力または他の制御要素を修正または他の形で操作することに関与する、様々な自動化されたアクティビティを行うために、説明されている技法の少なくともいくつかを使用することができる。そのようなターゲットシステムのための自動制御システムは、いくつかの状況において、ターゲットシステムの協調分散制御を提供する分散されたアーキテクチャを有し、これは、たとえば、ターゲットシステムの部分を各々が制御し互いに対して部分的に分離された様式で動作する複数の判断モジュールを有する。その場合、自動制御システムのための様々な判断モジュールの動作は、常にすべての判断モジュールの完全に同期された収束が保証または達成されなくても、各々が１つまたは複数の時間において１つまたは複数の他の判断モジュールとのコンセンサスに達することなどによって、少なくとも部分的に同期され得る。
【００１９】
ＣＤＤシステムは、いくつかの実施形態では、１つまたは複数のユーザと相互作用してターゲットシステムの記述を取得する判断モジュール構築コンポーネントを実装することができ、ターゲットシステムの記述は、ターゲットシステムの様々な要素に関連する制約、およびターゲットシステムの制御中に達成されるべき１つまたは複数の目標を含む。次いで、判断モジュール構築コンポーネントは、様々な自動化されたアクションを行って、ターゲットシステムの制御を行う際に使用するための１つまたは複数の実行可能判断モジュールを生成、テスト、および展開する。したがって、判断モジュール構築コンポーネントは、生成された判断モジュールがターゲットシステムの制御を行うように実行される、後の実行時段階よりも前に生じる、構成またはセットアップ段階の一部として動作することができ、いくつかの実施形態および状況では、判断モジュール構築コンポーネントは、自動制御システムのための判断モジュールを追加、除去、または修正することなどのために、１つまたは複数の判断モジュールを有する自動制御システムを改善、拡張、または他の形で修正するための初期展開の後に（たとえば、自動制御システムは、ターゲットシステムを制御するために使用され続ける間に）さらに使用され得る。
【００２０】
いくつかの実施形態では、生成され展開された一部または全部の自動制御システムは、自動制御システムの実行時動作中の実行のためにそれらの中に様々なコンポーネントをさらに提供することができ、いくつかの実施形態および状況では、そのようなコンポーネントを判断モジュール内に含めることなどによって提供することができる。そのようなコンポーネントは、たとえば、各判断モジュール（または一部の判断モジュール）の制御アクション決定コンポーネントを含むことができ、これにより、その判断モジュールが生成する制御アクションを最適化または他の形で決定し改善する。たとえば、判断モジュール内のそのような制御アクション決定コンポーネントは、いくつかの実施形態では、１つまたは複数の目標に関して、複数の相互に関係した制約条件を有するターゲットシステムのための判断モジュールのモデルに照らして、最適に近い解を反映するために、特定の時間についての判断モジュールの制御アクションを自動的に決定することを試みることができ、その場合、そのような最適に近い解は、完全に最適化された解の閾値量内である部分的に最適化された解に少なくとも部分的に基づいて決定されることができる。実行する１つまたは複数の制御アクションのそのような決定は、特定の時間に、１つまたは複数の判断モジュールの各々について発生し、また、いくつかの状況において少なくともいくつかの判断モジュールによって進行中の制御に関して複数回にわたって繰り返され得る。いくつかの実施形態では、判断モジュール用のモデルは、ターゲットシステムの少なくとも部分を表す制約条件に部分的に基づいて結合された微分方程式のセットを反映するハミルトン関数として実装されて、たとえば、モデルおよびそのハミルトン関数実装が、発展するハミルトン関数内に追加の式を加えることによって複数時間期間にわたって更新されることを可能にする。
【００２１】
いくつかの実施形態では、自動制御システムの実行時動作中の実行のために生成および展開された自動制御システム内に含まれたコンポーネントは、自動制御システムのためのターゲットのシステムの制御を共同で行っている複数の判断モジュールの制御アクションを調整するための１つまたは複数の調整制御管理コンポーネントをさらに含むことができる。たとえば、いくつかの実施形態では、一部または全部の判断モジュールの各々が、そのような制御アクション決定コンポーネントを含むことにより、その判断モジュールのローカル解および提案された制御アクションを自動制御システム内の１つまたは複数の他の判断モジュールのそれらと同期しようと試みることができ、たとえば、判断モジュールのローカルモデルおよび１つまたは複数の他の判断モジュールのモデルから同時に解を提供するそれら他の判断モジュールとのコンセンサス共有モデルを決定することによって同期を試みる。そのようなモジュール間同期は、繰り返し発生して、特定の時間において各判断モジュールについての１つまたは複数の制御アクションを決定し、また進行中の制御に関して複数回にわたって繰り返され得る。加えて、各判断モジュールのモデルは、いくつかの実施形態では、ターゲットシステムの少なくとも部分を表す制約条件に部分的に基づいて結合された微分方程式のセットを反映するハミルトン関数として実装されて、たとえば、各判断モジュールのモデルおよびそのハミルトン関数実装が、判断モジュールのローカルモデルに関する初期ハミルトン関数内に１つまたは複数の他の判断モジュールのモデルに関する追加の式を加えることによって、それらの他の判断モジュールのモデルと組み合わされることを可能にする。
【００２２】
上記されたように、説明されている技法は、様々なタイプの物理的システムまたは他のターゲットシステムのための自動制御システムを提供するために使用され得る。１つまたは複数の実施形態では、自動制御システムは、１つまたは複数の電源（たとえば、１つまたは複数のソーラーパネルグリッド、１つまたは複数の風力タービンなど）および１つまたは複数の蓄電および電源機構（たとえば、１つまたは複数のバッテリ）を含む住宅立地などにおいて、マイクログリッド電気設備を制御するために生成および提供および使用される。自動制御システムは、たとえば、（たとえば、ホームオートメーションシステムの一部として）マイクログリッド電気設備において動作して、たとえば、特定の時間において特定の量の電気を提供するためにローカル電気グリッドのオペレータからの要求を受け取って、そのような各要求を受け入れるかどうかを決定することによってマイクログリッド電気設備の動作を制御することができる。要求が受け入れられた場合、制御アクションは、要求された電気を提供するためにどの電源（たとえば、ソーラーパネル、バッテリなど）を使用するかを選択することをさらに含むことができ、また別様に、制御アクションは、生成されている電気を（たとえば、バッテリを充電するために）少なくとも１つのエネルギー貯蔵機構に提供するように決定することをさらに含んでよい。そのような物理的システムの出力は、ローカル電気グリッドに提供される電気を含み、自動制御システムが実装する目標は、たとえば、電気の提供からのマイクログリッド電気設備の利益を最大化することであり得る。
【００２３】
１つまたは複数の実施形態では、自動制御システムは、バッテリ、モータ、および場合によってはエンジンを有する輸送手段、たとえば、ペダルを踏むユーザから、ならびに／またはバッテリおよび／もしくはエンジンによって電力供給されるモータから電力がもたらされ得る電動自転車を制御するために、生成および提供および使用される。自動制御システムは、たとえば、輸送手段またはユーザに対して動作して、たとえば、モータに電力供給するためのバッテリからのエネルギーを現在の時間において除去するかどうかを決定する（また、除去する場合、バッテリからどのくらいのエネルギーを除去するかをさらに決定する）ことによって、輸送手段の動作を制御する、または代わりに、余分なエネルギー（たとえば、エンジンにより生成され、その場合、エンジンからどれだけのエネルギーを生成するかをさらに決定する、および／または制動もしくは下り坂惰走から捕捉される）をバッテリに加えることができる。そのような物理的システムの出力は、輸送手段を動かすモータの作用を含み、自動制御システムが実装する目標は、たとえば、バッテリから生成されるエネルギーを最小限にして１つもしくは複数の指定された速さで輸送手段を動かすこと、および／またはエンジンによる燃料の使用を最小限にすることであり得る。
【００２４】
バッテリは、たとえば、ソーラーパネルおよび他の光起電力システム、電気自動車および他の輸送手段などと共に、様々な他の状況で使用されてよく、説明されている技法の実施形態によって同様に制御され得ることは理解されよう。
【００２５】
説明されている技術の使用により、以下のような有益な属性または動作の非限定的な例を含む、特定の実施形態における様々なタイプの利益を提供することもできる。
−  テキスト（または他の非構造化）データが利用可能でユーザ履歴が最小限であるコールドスタート環境において関心／所望コンテンツを推論する
−  ますます豊かになるユーザ履歴を取り入れることができる継続的方法で推論を改善する
−  明示的／暗黙的、正／負、および好ましくはリアルタイムまたはリアルタイムに近い様式でフィードバックの追加によって推論性能を改善する
−  ビジネス価値を提供する特定分野専門家から情報を得て推論フレームワークにそれらを埋め込む
−  新しい状態を表し得る新しい非構造化データを動的に追加し、較正された方法で既存のモデルを更新する
−  推論システムを再正規化して競合に対応する
−  自然言語モデルに基づく新しい環境で即座に推論を行う
−  統計モデルとして新しい情報を追加し、自然言語モデルと統合して推論／予測を大幅に改善する
−  性能を改善のみする方法で新しいデータを統合し古いデータを分離する
−  データの安全な方法で推論を行う
−  分散されたネットワークにおける個別の推論要素を統合し全体的性能を改善する
−  一般ユーザの観点からルールおよび情報をシステムに簡単にプログラミングする
−  モバイルデバイスの帯域幅に適した方法で安価にコンピュータ推論を行う
−  制約条件情報を組み込む
実施形態によってはいくつかの例示的利益のすべては含まないことがあり、実施形態によっては列挙されていないいくつかの利益を含むことがあることは理解されよう。
【００２６】
図２は、ターゲットシステムの協調分散制御を行うためのシステム２００が実装され得る例示的環境を示すブロック図であり、システム２００は、たとえば、図１０〜図２９および本明細書の他の箇所に関連して論じられる事態などで、（たとえば、リアルタイムに、バッテリの長期動作を最適化するように）バッテリから提供されたＤＣ電力の自動制御を行うために各バッテリの状態の特性を使用することによって、１つまたは複数のバッテリを有する物理的ターゲットシステムを制御する。具体的には、システム２００は、図２のターゲットシステムが、（たとえば、制御要素２６１に関して）制御されるバッテリを含む場合、図１１のシステム１１００にいくつかの点で類似し、たとえば、図２のＣＤＤ判断モジュール２２４（または、それらのＣＤＤ制御アクション決定コンポーネント２４４および／またはＣＤＤ調整制御管理コンポーネント２４６）は、図１１のＣＤＩエージェント１０５０に対応するが、図２ではＣＤＤ判断モジュールの動作に関する追加の詳細を伴う。
【００２７】
具体的には、図２の例示的環境では、ターゲットシステム１  ２６０をアクティブに制御する際に使用するために自動制御システム２２２が展開および実装される、ターゲットシステム１  ２６０が示されている。そのようなターゲットシステムは、ターゲットシステムに固有の様式でターゲットシステムの動作を実装するための様々な機械的、電子的、化学的、生物学的、および／または他のタイプのコンポーネントを含むことができることは理解されよう。図２の例では、判断モジュール２２４は、個別判断モジュール２２４ａ、２２４ｂなどから２２４ｎまでとして表され、ターゲットシステム１  ２６０に対してローカルで、および／または１つもしくは複数の介在コンピュータネットワーク（図示せず）を介してリモートで実行していてよい。示された例では、判断モジュール２２４の各々は、ＣＤＤ制御アクション決定コンポーネント２４４のローカルコピーを含み、たとえば、そのローカル判断モジュール２２４ａをサポートするコンポーネント２４４ａ、そのローカル判断モジュール２２４ｂをサポートするコンポーネント２４４ｂ、およびそのローカル判断モジュール２２４ｎをサポートするコンポーネント２４４ｎを有する。同様に、様々な判断モジュール２２４のアクションは、示された実施形態においてピアツーピアで調整および同期され、判断モジュール２２４の各々は、そのような同期を行うためのＣＤＤ調整制御管理コンポーネント２４６のコピーを含み、コンポーネント２４６ａはそのローカル判断モジュール２２４ａをサポートし、コンポーネント２４６ｂはそのローカル判断モジュール２２４ｂをサポートし、コンポーネント２４６ｎはそのローカル判断モジュール２２４ｎをサポートする。
【００２８】
判断モジュール２２４および自動制御システム２２２が実行されると、判断モジュール２２４間の様々な相互作用２７５が行われて、たとえば、判断モジュールの現在のモデルおよび他の状態に関する情報を共有して様々な判断モジュール間の協調および調整を可能にし、それにより、たとえば、特定の判断モジュールが、１つまたは複数の他の判断モジュールに対して部分的に同期されたコンセンサス様式で（いくつかの状況では、すべての判断モジュール２２４のコンセンサスアクションが収束する完全に同期された様式で）動作する。判断モジュール２２４および自動制御システム２２２の動作中に、様々な状態情報２４３が、ターゲットシステム２６０から自動制御システム２２２によって取得されることができ、様々な状態情報２４３は、（たとえば、ターゲットシステム１の制御要素２６１に対応する図示されていないバッテリに関する）初期状態情報および経時的に変化する状態情報などであり、判断モジュール２２４により行われた制御アクションからのターゲットシステム１における出力または他の結果を含む。
【００２９】
この例におけるターゲットシステム１は、自動制御システム２２２が操作し得る様々な制御要素２６１（たとえば、バッテリおよびそれらの電力出力）を含み、この例では、各判断モジュール２２４は、それが操作する１つまたは複数の制御要素２６１からなる別個のグループを有することができる（したがって、判断モジュールＡ２２４ａは、相互作用２６９ａを行って制御要素Ａ２６１ａに対して制御アクションＡ２４７ａを行い、判断モジュールＢ２２４ｂは、相互作用２６９ｂを行って制御要素Ｂ２６１ｂに対して制御アクションＢ２４７ｂを行い、判断モジュールＮ２２４ｎは、相互作用２６９ｎを行って制御要素Ｎ２６１ｎに対して制御アクションＮ２４７ｎを行う）。そのような制御アクションは、ターゲットシステム１の他の要素の内部状態２６３に影響を与え、それは、１つもしくは複数の出力２６２（たとえば、複数のバッテリから生成される集約電力）を引き起こすまたは１つもしくは複数の出力２６２に影響することを任意選択で含む。本明細書の他の箇所でより詳細に論じられるように、制御要素２６１ａは、たとえば、制御されているターゲットシステム１の特定の第１のバッテリ（図示せず）に接続されたＦＥＴアクチュエータとすることができ、他の制御要素２６１ｂ〜ｎは、同様に、ターゲットシステム１の他のバッテリ（図示せず）に接続された他のＦＥＴアクチュエータとすることができる。ターゲットシステム１の動作が進行中に、内部状態情報２６３の少なくとも一部が、判断モジュールの一部または全部に提供されて、それらの進行中の制御アクションに影響し、判断モジュール２２４ａ〜２２４ｎの各々は、この例では、場合によっては、状態情報２４３ａ〜２４３ｎの別個のセットをそれぞれ有する。
【００３０】
他の箇所でより詳細に論じられるように、各判断モジュール２２４は、そのような状態情報２４３、およびターゲットシステムに関する判断モジュールのローカルモデル２４５を使用して、たとえば複数の時間期間の各々について、次に行う特定の制御アクション２４７を決定することができるが、他の実施形態および状況では、特定の自動制御システムは、１つの時間期間のみ、またはいくつかの時間期間のみに、特定のターゲットシステムとの相互作用を行うことができる。たとえば、判断モジュール２２４のためのローカルＣＤＤ制御アクション決定コンポーネント２４４は、その判断モジュールのローカルモデル２４５についての最適に近いローカル解を決定することができ、ローカルＣＤＤ調整制御管理コンポーネント２４６は、そのような決定されたローカルおよび／または同期解に基づいて判断モジュールのローカルモデル２４５を更新することを含めて、他の判断モジュール２２４を反映するように同期されたコンセンサス解を決定する。したがって、自動制御システム２２２の実行中、自動制御システムは、状態情報を要求し、ターゲットシステム２６０の制御要素２６１の値を修正しまたは他の形で制御要素２６１を操作する命令を提供することを含めて、ターゲットシステム２６０との様々な相互作用を行う。たとえば、複数の時間期間の各々において、判断モジュール２２４ａは、ターゲットシステムの１つまたは複数の制御要素２６１ａと１つまたは複数の相互作用２６９ａを行うことができ、同様に、判断モジュール２２４ｂは、１つまたは複数の別の制御要素Ｂ２６１ｂと１つまたは複数の相互作用２６９ｂを行うことができ、判断モジュール２２４ｎは、ターゲットシステム２６０の１つまたは複数の制御要素Ｎ２６１ｎと１つまたは複数の相互作用２６９ｎを行うことができる。他の実施形態および状況では、少なくともいくつかの制御要素は、各時間期間中に制御アクションを行わなくてよい。
【００３１】
他の実施形態および状況（たとえば、単一のバッテリのみが制御されている）では、自動制御システムの展開されたコピーが、単一の実行判断モジュールのみを含んでよく、たとえば、ローカルＣＤＤ制御アクション決定コンポーネントを含むが、（同期および相互作用する他の判断モジュールが存在しないため）いかなるローカルＣＤＤ調整制御管理コンポーネントも含まない。
【００３２】
図２には示されていないが、たとえば２２２の自動制御システムの動作の分散された性質は、自動制御システム２２２が使用されている間に、判断モジュール２２４のグループに対する修正が時間経過につれて修正されるのを可能にすることを含めて、様々な判断モジュールの部分的に分離された動作を可能にして、（たとえば、異なる家庭電力システムなどにおいて、使用中に基礎となるバッテリへの変更を反映するために、）たとえば、新しい判断モジュール２２４を追加し、および／または既存の判断モジュール２２４を除去する。同様に、特定の判断モジュール２２４および／または２２８に対する変更が行われてよく、たとえば、時間経過につれて、特定判断モジュールに固有のルールもしくは他の制約を変更すること、および／または特定の判断モジュールに固有の目標を変更することができ、新しい対応するモデルが、そのような判断モジュール内で生成および展開され、いくつかの実施形態および状況では、対応する自動制御システムが、対応するターゲットシステムの制御動作を継続しながら行われることを含む。また、図２の例では、各自動制御システムは単一のターゲットシステムを制御するものとして説明されているが、他の実施形態および状況では、他の構成が使用されてよく、たとえば、単一の自動制御システムが複数のターゲットシステム（たとえば、複数の相互に関連するターゲットシステム、同じタイプの複数のターゲットシステムなど）を制御し、および／または、複数の自動制御システムが単一のターゲットシステムを制御するように動作してよく、たとえば、各々がそのターゲット制御システムの異なる部分を制御するように独立して動作することによってそのようにする。同様に、他の実施形態および状況において他の構成が使用され得ることは理解されよう。
【００３３】
図１２は、より大きなターゲットシステムの一部としてバッテリを制御する実施形態を示し、この例では、そのターゲットシステムは、ソーラーパネルを含む家庭電力システムを含むシステム１２００であり、したがって、図１０および／または図１１に関して先に論じられた例示的実施形態が、いくつかの状況では、例示的システム１２００のような、より大きなシステムの一部として使用されてよい。具体的には、図１２のブロック図はソーラー電力が生成されている家庭電力システムの一部である、バッテリからのＤＣ電力の自動制御を行うためのシステム１２００の実施形態の例示的コンポーネントを示し、自動制御は、たとえば、リアルタイムに、および／またはバッテリの長期動作を最適化するように行われ、家庭の発電および電力使用が、外部エンティティによって、たとえば、システム１２００のバッテリを制御するために１つまたは複数のＣＤＩエージェントを提供または管理するエンティティによって監視および同期される。図１２の例では、例示的な家庭の電力システムが、外部電気グリッドにも接続され、それは、様々な時間に外部電気グリッドから電力を受け取り、また電力を提供し、バッテリは、ソーラー電力システムにより生成された電力を貯蔵し、電力を適宜に住宅および／または電気グリッドに供給する役割をする。
【００３４】
図１２の示された例では、バッテリ１０１０、センサモジュール１０２０、バッテリ用アクチュエータ１０３０、オンサイトバッテリ追跡コントローラ１０４０などを含む、図１０のコンポーネントに類似するコンポーネントが引き続き示されている。しかしながら、図１２の例では、図１０のＣＤＩエージェント１０５０は、例示的住宅の物理的位置に存在するコンポーネントの一部として示されておらず、たとえば、この場合、図１２に関して使用されているＣＤＩエージェントは、代わりに遠隔位置（たとえば、クラウドまたは他のコンピュータネットワーク位置）で実行され、図１０に関して示されたのと同様に追跡および／または同期信号を図１２のバッテリ追跡コントローラ１０４０に提供する。そのような追跡および／または同期信号は、たとえば、現在の時間または直後の時間のバッテリの所望の電力出力および／または所望のバッテリパラメータ（たとえば、内部温度、電圧、電流など）を含むことができる。加えて、本明細書の他の箇所でより詳細に論じられるように、ＣＤＩエージェントは、バッテリ１０１０（および制御されている任意の他のバッテリ）に関する監視された情報、外部電気グリッドを管理するユーティリティからの電力要求、使用される定義された制約条件または他のルールなどに基づいて、そのような追跡および／または同期信号を生成することができる。
【００３５】
加えて、いくつかの追加のコンポーネントが図１２に示されており、これらのコンポーネントは、バッテリからの出力電力を受け取り、および／または貯蔵のためにバッテリへ電力を供給するインバータ／整流器モジュール１２１０、電力を生成し、自身の関連付けられたセンサおよびインバータを有するソーラーパネル１２２０、外部電気グリッドに対する電力の受取りおよび／または供給をし、住宅の負荷１２４０への配電を制御する配電箱１２３０などを含む。加えて、図１２のバッテリ追跡コントローラ１０４０の動作を制御するのを支援するための２つのローカル制御エージェント１２６０および１２７０が示されており、エージェント１  １２６０は、バッテリ追跡コントローラと直接的に相互作用し、エージェント２  １２７０は、バッテリのための出力のＡＣ相を住宅電力システムおよび／またはグリッドのそれとを同期するためのアクティビティを行って、たとえば、受け取られおよび／または提供されている電力の共鳴を提供する。バッテリ追跡コントローラ１０４０ならびにエージェント１２６０および１２７０（ユーティリティセンサプロセッサ以外）は、この例では一緒に「制御プロセッサ」と呼ばれ、バッテリ追跡コントローラは、システムステータス更新を提供し、エージェント間の通信は、そのようなマルチエージェントアーキテクチャをサポートするように管理される。エージェント２のトモグラフィが、非破壊Ｘ線を使用してバッテリ状態の動的変化を追跡する。加えて、外部エンティティ１２８０（たとえば、外部電気グリッドを提供または管理するユーティリティ）が、この例では監視および同期信号をバッテリ追跡コントローラ１０４０に提供して、たとえば、多数のそのような家庭電力システムおよび／または他のカスタマを介して使用および／または提供されている電力を調整する。
【００３６】
図１２の例ではソーラーパネルシステムにおけるバッテリ１０１０の使用を伴うが、バッテリは様々なタイプの環境およびシステムで充電および／または放電されてよく、対応するＣＤＩエージェントの同様のアクティビティが、本明細書に説明されている様式でそのようなアクティビティを制御するために使用されてよいことは理解されよう。
【００３７】
図１５は、図１２の例のように、家庭の発電および電力使用が外部エンティティによって監視および同期されている、バッテリの状態の特性を使用してバッテリからのＤＣ電力の自動制御を行うシステムの実施形態の性能の例示的視覚表示を示すブロック図１５００である。具体的には、図１５の例では、チャート１５２０は、ＣＤＩエージェントの自動制御下で１つまたは複数の家庭電力システムのためのユーティリティから時間経過に伴って受け取られる電力要求を示し、チャート１５３０は、ＣＤＩエージェントの自動制御に基づいてユーティリティからの要求に応答して家庭電力システムによって供給される電力を示し、チャート１５１０はこれらのチャートを組み合わせたものである。示されるように、ＣＤＩエージェントの自動制御は、時間経過を伴ってユーティリティ要求に対して高精度な応答を提供するとともに、家庭電力システムにおける１つまたは複数のバッテリの性能の最適化もする。加えて、チャート１５４０は、ＣＤＩエージェントの自動制御に基づいて家庭電力システムにおける１つまたは複数のバッテリによって供給される増分電力をさらに示す。
【００３８】
図１３は、図１２のシステム１２００の例と類似するシステム１３００のさらなる例を示すが、ここで、システム１３００は、電力要求を提供するユーティリティまたは他の外部エンティティから監視／同期信号の損失により、制限された緊急モードで動作している。具体的には、システム１３００のブロック図は、制御されているバッテリ１０１０、ソーラーパネル１２２０、配電箱１２３０、および住宅負荷１２４０を含む、図１２のシステム１２００の要素と類似するいくつかの要素を示す。しかしながら、図１３の例では、エンティティ１２８０からの信号は中断されており、それに応じて、バッテリ１０１０の制御は、図１２の通常のバッテリ追跡コントローラ１０４０から、図１３の代替的緊急バッテリ追跡コントローラ１３４０に切り替えられている。加えて、エージェント２  １２７０に関連して図１２に示されたコンポーネントが図１３に示されておらず、システムは、図１３の状況において欠損している監視／同期信号なしでは図１２の位相同期および共鳴機能を提供しない。この例では、緊急バッテリ追跡コントローラ１３４０は、監視／同期信号なしでバッテリ１０１０の動作を維持する一時的に動作して、たとえば、バッテリ状態に基づくが、ユーティリティからの電力要求に応答を試みることなく、たとえば、バッテリ状態に関する情報を受け取り、バッテリ動作に関する対応する命令を発行する。少なくともいくつかの実施形態における緊急コントローラの動作に関して追加の詳細が以下に説明される。
【００３９】
図１６は、バッテリの状態の特性を使用してバッテリからのＤＣ電力の自動制御を行うシステムの実施形態の性能の例示的視覚表示を示すことに関して、図１５のブロック図１５００に類似するブロック図１６００であるが、図１３の例のように、家庭の発電および電力使用の典型的な監視および同期が一時的に中断されている。具体的には、図１６の例では、チャート１６２０は、ＣＤＩエージェントの自動制御下で１つまたは複数の家庭電力システムのためのユーティリティから時間経過に伴って行われるが、一時的中断により家庭電力システムによって受け取られない電力要求を示し、チャート１６３０は、時間経過に伴って家庭電力システムによって供給される電力を示し、チャート１６１０は、供給される電力に関する情報、およびユーティリティの電力要求に関する家庭電力システムの情報を一緒に組み合わせるが、それらの電力要求は、一時的中断の時間中はそれらが受け取られないので０に設定されている。チャート１６４０は、ＣＤＩエージェントの自動制御に基づいて家庭電力システムにおける１つまたは複数のバッテリにより供給される増分電力をさらに示し、図示されるように、ユーティリティ電力要求の欠損にかかわらず、ＣＤＩエージェントは、利用可能な部分的情報に基づいて可能な限り家庭電力システムにおける１つまたは複数のバッテリの性能を継続して最適化するために、１つまたは複数のバッテリの内部状態のような他のファクタに基づいて１つまたは複数のバッテリの電力出力を依然として制御する。
【００４０】
図１４は、たとえばリアルタイムにかつバッテリの長期動作を最適化するように、バッテリからのＤＣ電力の自動制御を可能にするためのバッテリの状態および動作のモデル１４００の例示的なコンポーネントを示すブロック図である。具体的には、図１４のモデル１４００は、バッテリの充電パス１４１０、バッテリの放電パス１４２０、バッテリの熱モデル１４４０、リポジトリ１４３０、および、バッテリ上に配置されバッテリにより生成されるネルンスト電圧１４８０によってサポートされ得る負荷１４５０の表現を含む。本明細書の他の箇所でより詳細に論じられるように、少なくともいくつかの実施形態および状況では、バッテリの制御は、飽和モデル１４６０に対応する飽和レベルでバッテリの動作を防止しまたは最小限にすることを含むことができ、バッテリの寿命を短くしおよび／またはバッテリに対する他の有害な影響を与える最適温度範囲または他のセットの動作特性の外側でバッテリが動作する。代わりに常時または可能な限り線形範囲でバッテリが動作するように制御することによって、本明細書の他の箇所でより詳細に論じられるように、増大されたバッテリ寿命および／または他の改善された動作特性を含む様々な利益が得られる。
【００４１】
図１７は、たとえばリアルタイムにかつバッテリの長期動作を最適化するように、バッテリの状態の特性を使用してバッテリからのＤＣ電力の自動制御を行うための例示的システム１７００の実施形態を示すブロック図である。具体的には、図１０のシステム１０００のそれと同様に、ＣＤＩエージェント１７５０は、バッテリシステム１７１０の動作を制御するように動作するが、バッテリシステムの詳細（たとえば、バッテリ、センサ、アクチュエータ、バッテリ追跡コントローラなど）は示されていない。また、追加の情報１７４０は、バッテリの内部状態に関する情報を維持すること、ならびに（たとえば、情報パブリッシュ／サブスクライブまたは他のプッシュシステムの一部として）交換され内部状態情報を更新するために使用される様々な情報を送信およびリッスンするコンポーネントを監視することを含む、バッテリシステムを制御することの一部として使用および交換される情報を表すために示される。
【００４２】
図１８は、たとえばリアルタイムにかつバッテリの長期動作を最適化するように、バッテリの状態の特性を使用してバッテリからのＤＣ電力の自動制御を行うためのシステム１８００の実施形態の例示的コンポーネントを示すブロック図である。具体的には、示されたシステムは、状態推定器コンポーネント１８５５を含む様々なコンポーネント内へのデータフローおよびそれらの間のデータフローを示し、状態推定器コンポーネント１８５５は、様々なバッテリパラメータ（たとえば、ネルンスト電位、飽和に対する増分値、容量など）、他の測定値（たとえば、電圧、電流、温度など）、およびバッテリに適用される増分制御（たとえば、絶対値または増分変化としての提供する所望の電力）を含む、バッテリに関する情報を受け取り、バッテリの対応する状態を推定する。さらに、状態推定器コンポーネントは、この例では、受信バッテリパラメータ情報を１つまたは複数の定義された様式で適合させるパラメータ適合エンジン（ＰＡＥ）１８６５を含む。状態推定器コンポーネントは、推定された状態に関する出力をＬＱ追跡器（LQ tracker）コンポーネント１８４５に提供し、ＬＱ追跡器コンポーネント１８４５はバッテリ追跡器コントローラとして動作して、推定されたバッテリ状態情報および他の追跡パラメータを受け取り、バッテリに対する１つまたは複数の最適または略最適制御アクションを計算し、バッテリに適用されるようにそれらの制御アクションを出力する。
【００４３】
図１９は、たとえばリアルタイムにかつバッテリの長期動作を最適化するように、バッテリの状態の特性を使用してバッテリからのＤＣ電力の自動制御を行うためのシステム１９００の実施形態の例示的コンポーネントを示すブロック図である。具体的には、図１９は、図１８の例を継続し、図１８の状態推定器コンポーネント１８５５の例示的実施形態に関するさらなる詳細を提供し、図１９の例では、状態推定器コンポーネント１８５５は離散カルマンフィルタ１９５５である。この例では、フィルタ１９５５は、予め推定されたバッテリパラメータに関する情報、それらのパラメータの初期値、およびバッテリに対して行われる増分制御アクションに関する情報を入力として取り込み、そうした情報を使用してバッテリパラメータの新しい推定値を生成して、バッテリにおける進行中の変更を捕捉するために動的にバッテリパラメータ推定値を更新する。
【００４４】
図２０は、たとえばリアルタイムにかつバッテリの長期動作を最適化するように、調和されて複数のバッテリからのＤＣ電力の自動制御を行うシステム２０００の実施形態の例示的コンポーネントを示すブロック図である。具体的には、図２０のシステム２０００は、図１２のそれといくつかの類似点を有するが、（たとえば、この例では、たとえば１つまたは複数の地域、州、国などに対応する、百万個のそのようなバッテリおよび関連付けられたシステムにわたる）多数のバッテリおよび関連付けられたシステムの調整された制御をサポートするシステムの例示的アーキテクチャを示す。具体的には、示された例では、オンサイトバッテリ追跡コントローラを有する様々なバッテリおよび関連付けられたシステム２００５（たとえば、ソーラーパネルを有する家庭電力システム）が、バッテリおよび関連付けられたシステム２００５についての電力要求を提供する１つまたは複数のユーティリティ２０８５、ならびにバッテリおよび関連付けられたシステム２００５についての分散制御システム２０７５を管理するためのシステム管理の役割をする１つまたは複数のエンティティ２０９０と共に示される。
【００４５】
この例では、分散制御システム２０７５は、オンラインコンピューティング環境（たとえば、Ｍｉｃｒｏｓｏｆｔ  Ａｚｕｒｅ）を介するなどして、ネットワークアクセス可能な位置に集中化された様式で実装されるが、それは他の実施形態では他の様式で実装されてもよい。分散制御システム２０７５は、ユーティリティ２０８６とインターフェースをとって相互作用する１つまたは複数のコンポーネント、バッテリおよび関連付けられたシステム２００５とインターフェースをとって相互作用する１つまたは複数のコンポーネント、ならびに、分散制御システム２０７５を監視および／または制御するためにシステム管理エンティティ２０９０が相互作用することができる１つまたは複数の監視および／または構成コンポーネントを含む。加えて、バッテリおよび関連付けられたシステム２００５をサポートする様々なＣＤＩエージェント（たとえば、バッテリパックおよび関連付けられたシステム当たり１つのＣＤＩエージェント）が、ネットワークアクセス可能位置で実行され、一緒にクラスタ化され、様々なクラスタ間通信機構（たとえば、様々なトピックを有するパブリッシュ／サブスクライブシステム、少なくともいくつかのＣＤＩエージェントおよび／またはクラスタの間の通信サービスバスなど）が使用される。クラスタは、様々な実施形態において様々な様式で形成され、たとえば、地理的位置（たとえば、システム電気グリッド変電所領域の一部である）および／または動作特性のような１つまたは複数の特性を共有する関連付けられたバッテリおよびシステムを有することに基づいて、ＣＤＩエージェントをグループ化してよい。加えて、クラスタは、段階的および／または階層的にＣＤＩエージェントを調整するために使用されてよく、たとえば、まずクラスタ内でＣＤＩエージェントを調整し、次いで、２つ以上のクラスタ間などで、また任意選択で（たとえば、階層的に構造化された）複数の層のクラスタを用いて調整する。様々な追加のコンポーネントが、分散制御システム２０７５の一部として提供され使用されてよく、たとえば、サイト管理システムが、ＣＤＩエージェントならびに／またはバッテリおよび関連付けられたシステムにおける変更を管理し（たとえば、新しいバッテリシステムのための新しいＣＤＩエージェントを追加し、および／またはシステム２０７５管理から除去されている既存のバッテリシステムのための既存のＣＤＩエージェントを除去する；新しいＣＤＩエージェントを特定のクラスタに追加し、および／またはクラスタから既存のＣＤＩエージェントを除去する；クラスタを作成、除去、および修正するなど）、ネットワークアクセス可能位置から利用可能なストレージサービスが、使用される状態情報および他の情報を記憶し、ネットワークアクセス可能位置から利用可能なリソース管理サービスが、ネットワークアクセス可能位置により提供されるコンピューティングリソースを管理するなどである。
【００４６】
図２１は、たとえばリアルタイムにかつバッテリの長期動作を最適化するように、調和されて複数のバッテリからのＤＣ電力の自動制御を行うシステム２１００の実施形態の例示的コンポーネントを示すブロック図である。具体的には、図２１は、マイクログリッドネットワークまたは他のネットワークのバッテリおよび関連付けられたシステムが、少なくともいくつかの実施形態において、バッテリおよび関連付けられたシステムのサブセット２１３５を介して制御および管理され得ることを示し、これは、他のバッテリおよび関連付けられたシステムが分散制御システムの一部でない場合などに行われる。そのような状況では、仮想ネットワークモデルは、制御されていない（この例では、ＤＥＲまたは分散エネルギーリソースと呼ばれる）他のバッテリおよび関連付けられたシステムに関する情報を推定することを含めて、全体としてマイクログリッドネットワークまたは他のネットワークに関する情報をモデル化し推定するように作成され得る。
【００４７】
図２２は、図２１の例を継続し、調和されて制御されているＤＥＲコンポーネントに関する追加の情報を含む。具体的には、図２２は、たとえばリアルタイムにかつバッテリの長期動作を最適化するように、調和されて複数のバッテリからのＤＣ電力の自動制御を行うシステム２２００の実施形態の例示的コンポーネントを示すブロック図である。システム２２００は、複数の調整されたＣＤＩエージェントを有する図２０の分散制御システム２０７５に類似するネットワーク化されたシステム２２４５の表現を含み、ネットワーク化されたシステム２２４５は、この例ではＳＥＲＡ（Smart Energy Reference Architecture：スマートエネルギー参照アーキテクチャ）とも呼ばれる。この例では、ネットワーク化されたシステム２２４５は、様々なＤＥＲコンポーネントからの監視情報を受け取り、ＤＥＲシステムのバッテリ追跡コントローラコンポーネントに同期信号を出力してそれらの動作を制御する。
【００４８】
図２３は、図２１および図２２の例を継続し、バッテリおよび関連付けられたＣＤＩエージェントのシステム全体の動作に関する情報をシミュレートまたは他の形で推定するために、図２１に関連して言及されたような仮想ネットワークに関する情報などを含む、図２２のネットワーク化されたシステム２２４５に関する追加の情報を含む。具体的には、図２３は、たとえばリアルタイムにかつバッテリの長期動作を最適化するように、調和されて複数のバッテリからのＤＣ電力の自動制御を行うシステム２３００の実施形態の例示的コンポーネントを示すブロック図である。システム２３００は、各々に関連付けられた１つまたは複数のＣＤＩエージェントを有する仮想発電プラント、仮想負荷、仮想変電所、および仮想ＤＥＲを含む様々な要素のモデルまたは他の視覚表示を含む。様々な要素が、ＤＥＲコンポーネントの一部のみが制御されている状況でも、全体としてシステム全体の動作を推定または他の形でモデル化することを含めて、図示されるように情報を交換する。様々なＣＤＩエージェントはさらに、本明細書の他の箇所でより詳細に論じられるように、平均場表現を使用してそれらのアクションを調整する。
【００４９】
図２４は、定義された基準に従ってバッテリの動作を制御するように様々なコンポーネントが相互作用する、図１０のシステム１０００に類似するシステム２４００を示すが、追加の要素２４５５が図２４では示されている。具体的には、図２４は、たとえばリアルタイムにかつバッテリの長期動作を最適化するように、バッテリの状態の特性を使用してバッテリからのＤＣ電力の自動制御を行うとともに、価格予測および追加の情報を使用してシステムの経済的性能を向上する、システム２４００の実施形態の例示的コンポーネントを示すブロック図である。図２４の追加の要素２４５５は、システム２４００が、気象データ、過去および現在の価格データなどに基づくなどして、ユーティリティに供給される電力の予測された価格に関する情報を取得し使用することを可能にし、それにより、たとえば、バッテリ寿命および／または他の性能特性に関連する他の制約条件と組み合わせるなどして、１つまたは複数の経済的制約条件を最適化または他の形で強化するように、さらに、バッテリの制御を管理する。
【００５０】
（「ハイブリッド追跡器」とも呼ばれる）外部エンティティからの監視／同期信号を使用する典型的なバッテリ追跡コントローラの例示的実施形態に関する追加の詳細は、以下の通りである。
【００５１】
汎用リチウムイオンハイパワーバッテリセル用の追跡制御システムの一例示的実施形態が、図１４の電気回路表現によってモデル化され得る。モデル１４００は、充電および放電動作におけるセルを特徴付ける化学反応を表すために、電流源および電圧源を含む。制御アクションは、追跡コントローラによって駆動されるアクチュエータによって仲介される。コントローラは、現在の蓄電レベルおよび電力需要に応じてセルの望ましい応答を決定する推論モジュールによって生成される望ましい電力信号を追跡する。インバータまたは整流器回路はこの例ではモデル化されず、理想化されたアクチュエータがこのモデルに使用される。
【００５２】
図１４の回路の動的挙動は、以下の微分方程式によって与えられる。
【００５３】
【数１】
2019513000.tif 000002
【００５４】
ここで、状態
【００５５】
【数２】
2019513000.tif 000003
【００５６】
であり、制御ｕ（ｔ）∈Ｒであり、時系列はｔ∈Ｒにより表される。
関数Ｇ（ｘ1（ｔ）、ｘ2（ｔ）、ｘ3（ｔ）、ｘ4（ｔ）、ｕ（ｔ））は、（２）によって与えられる。
【００５７】
【数３】
2019513000.tif 000004
【００５８】
簡単にするために、引数におけるパラメータに対する依存が抑制されている。パラメータ：α1，α2，β1，…，β9，φ1，φ2，λ1，…，λ4は、セルモデル内の物理的コンポーネント（すなわち、レジスタ、コンデンサ、電圧および電流源、ならびに飽和限界）を表す。パラメータτは、履歴データを使用して推定され得る時間遅延である。パラメータ：α1，α2，β1，…，β6，φは、セルモデル内の物理的コンポーネント（すなわち、レジスタ、コンデンサ、電圧および電流源、ならびに飽和限界）を表す。制御設計は、小さい時間区間にわたる区分線形確率微分方程式による（１）の近似解を生成する。
したがって、ｔ0，ｔ1，…，ｔi，ｔi+1，…，を時系列の区画とする。各区間［ｔi，ｔi+1）において、［ｔi，ｔi+1）にわたる以下の形式の解を求める。
【００５９】
【数４】
2019513000.tif 000005
【００６０】
【数５】
2019513000.tif 000006
【００６１】
上式において、
【００６２】
【数６】
2019513000.tif 000007
【００６３】
は、δｘ（ｔ）の条件付き平均であり、
【００６４】
【数７】
2019513000.tif 000008
【００６５】
は、以下の区分線形確率モデルに基づいてカルマンフィルタから取得される条件付き率である。確率的増分δｘ（ｔ）は、以下の確率微分方程式を満たす。
【００６６】
【数８】
2019513000.tif 000009
【００６７】
ここで、ノイズはゼロ平均を有し、共分散は、たとえば以下の近似において取り出される２次項に比例する。
【００６８】
【数９】
2019513000.tif 000010
【００６９】
式中、ε＞０であり、Ｉは単位行列である。センサは、電力、電圧、および電流測定値を提供する。バッテリセンサからの観測値は、
ｙ（ｔ）＝ｘ（ｔ）＋θ（ｔ）
によって、モデル化され、観測ノイズθ（ｔ）はセンサの特性であり、ゼロ平均および共分散行列は信号対ノイズ比仕様から決定される。
（３）および（５）から、増分観測値は、
δｙ（ｔ）＝δｘ（ｔ）＋θ（ｔ）
によって与えられ、ここで、δｙ（ｔ）＝ｙ（ｔ）−ｘ（ｔi）である。
追跡問題の効果は、以下の形式の基準を有する。
【００７０】
【数１０】
2019513000.tif 000011
【００７１】
追跡値
【００７２】
【数１１】
2019513000.tif 000012
【００７３】
は、動的に、バッテリの望ましい電力挙動を定義するルールから生成される。ＣＤＩエージェントからのルールは、元の状態ベクトル（電力、電流、電圧、温度）の観点から与えられないことがあり、与えられない場合、望ましい増分状態
【００７４】
【数１２】
2019513000.tif 000013
【００７５】
の観点から望ましい挙動を示すように変換される。そのようなルールの第１の例が以下に与えられる。
ルール１：電力需要の少なくとも７８％が１週間にわたって満足されるべきである
ルール２：バッテリ寿命≧５年
ルール３：バッテリに関して、充電および放電の量の閾値を満たす
そのようなルールの第２の例が以下に与えられる。
【００７６】
１．最大充電限界：現在の電荷が第１の定義された閾値レベルを超えた場合、バッテリを充電しない
２．最小充電限界：現在の電荷が第２の定義された閾値レベルを下回る場合、バッテリを放電させない
３．率限界：変化率に対する第３の定義された限界閾値よりも速くバッテリに対する望ましい電力入力／出力を変更しない
４．充電と放電の切替え：電力がゼロに近いときに、１つまたは複数の第４の定義された閾値レベルに基づくなどして、速すぎるまたは頻繁すぎる充電と放電の切替え（またはその逆）を防止するために、変化率を低下させる
５．バッテリ温度を維持する：温度が上昇し始めた場合、現在のバッテリ状態に基づいて所望の電力出力を調整する（すなわち、バッテリ充電が低度で温度が上昇し始めた場合、それを充電する）
第２の例のこれらのルールの一部として、できる限り（本明細書では「Ｑファクタ」を最大化すると呼ばれることがある）、たとえば７０％の率で、電力要求を満たす。電力要求が、所望のレベル（たとえば、３０％、４０％、５０％、６０％、７０％、８０％、９０％など）より大きくおよび／または小さく満たされている場合、上記のルールのうちの１つまたは複数での重み付けが、いくつかの実施形態では、上または下に調節されて、満たされる電力要求のレベルをそれぞれ低下または上昇させ、そのような変更からバッテリ寿命を対応してそれぞれ増加または減少させることができる。
ここでのルールは、増分に関し、長い時間フレーム（週、年）にわたる平均を移動平均［ｔi，ｔi+1］に変換する。バッテリモデルでは、温度は、一般的に電力、電圧、および電流よりもかなり速く変化する。その問題は、青木の分割法に動機付けられ、完全状態空間問題が、異なる時間区間で解決される２つの副問題へ変換できるように、状態変数を介して分離され得る。温度コントローラは「高速コントローラ」と呼ばれ、電力／電圧／電流コントローラは「低速コントローラ」と呼ばれ、以下の詳細は低速コントローラに関するものである。具体的には、低速コントローラに関して解決されるべき最適制御追跡問題は、下記のように要約され得る。
【００７７】
【数１３】
2019513000.tif 000014
【００７８】
上式は以下に従う。
【００７９】
【数１４】
2019513000.tif 000015
【００８０】
【数１５】
2019513000.tif 000016
【００８１】
【数１６】
2019513000.tif 000017
【００８２】
（７）において、
【００８３】
【数１７】
2019513000.tif 000018
【００８４】
およびＴ（ｔ−τ）は、前の時間区間ｔi-1≦ｔ≦ｔiの平均温度である。したがって、λＴ（ｔ−τ）はｔi≦ｔ≦ｔi+1の定数と考えられる。
（６）〜（９）で定式化された最適化問題は分離原理の仮定を満たす。これは以下の手法につながる。
ステップ１：別に記載されるカルマンフィルタによって生成されるｔi≦ｔ≦ｔi+1についての条件付き平均
【００８５】
【数１８】
2019513000.tif 000019
【００８６】
および条件付き率
【００８７】
【数１９】
2019513000.tif 000020
【００８８】
を決定する。
ステップ２：（６）〜（９）を解いて、以下の形式のフィードバック解を得る。
【００８９】
【数２０】
2019513000.tif 000021
【００９０】
上式で、Ｋj（ｔ），ｊ＝０，１，２およびΨ（ｔ）は、最適化から得られる利得およびアフィン項である。
ステップ３：（１０）におけるδｘ（ｔ）および
【００９１】
【数２１】
2019513000.tif 000022
【００９２】
を、カルマンフィルタの出力からの
【００９３】
【数２２】
2019513000.tif 000023
【００９４】
および
【００９５】
【数２３】
2019513000.tif 000024
【００９６】
と置き換える。
ステップ４：以下の方程式を積分する。
【００９７】
【数２４】
2019513000.tif 000025
【００９８】
すべてのｉについての区間［ｔi，ｔi+1］は、利得Ｋj（ｔ），ｊ＝０，１，２およびΨ（ｔ）が各区間にわたって一定とみなされることができるように充分に小さく選択され、ｔiで評価される。
定数式の変形を使用して、
【００９９】
【数２５】
2019513000.tif 000026
【０１００】
における（１１）の積分は、
【０１０１】
【数２６】
2019513000.tif 000027
【０１０２】
によって与えられる。
被積分関数がｔiにおけるインパルスであると仮定してインパルス近似（impulsive approximation）を使用して積分する（１２）。したがって、低速コントローラについての増分制御は、
【０１０３】
【数２７】
2019513000.tif 000028
【０１０４】
となる。
高速コントローラについて解決して、高速コントローラについての増分制御
【０１０５】
【数２８】
2019513000.tif 000029
【０１０６】
を得る。２つの増分制御の線形結合をとると、
【０１０７】
【数２９】
2019513000.tif 000030
【０１０８】
を得る。
ｔi+1におけるバッテリに対する制御は、
【０１０９】
【数３０】
2019513000.tif 000031
【０１１０】
によって与えられる。
ｔi+1における状態は、
【０１１１】
【数３１】
2019513000.tif 000032
【０１１２】
である。
ｔi+1における状態の率は、
【０１１３】
【数３２】
2019513000.tif 000033
【０１１４】
である。
（１６）と（１７）の両方が、
【０１１５】
【数３３】
2019513000.tif 000034
【０１１６】
を更新する将来の要件のためにルールモジュールに送られる。この手法は次の区間で繰り返される。これは、バッテリコントローラのアーキテクチャ２５００を示す図２５で示される。
【０１１７】
セルのモデルは、たとえば、１ｋＷの定格リチウムイオンバッテリに典型的な以下のパラメータでトレーニングされる。
【０１１８】
【表１】
2019513000.tif 000035
【０１１９】
バッテリ動作に関して、この例のコントローラは、パラメータおよび近似エラーにおける不確定性を非常によく補償し、良好な品質のロバスト性および時間応答を示す。
【０１２０】
汎用リチウムイオンハイパワーバッテリセル、および低速コントローラなどに関して、使用中のバッテリの状態を継続的に推定する例示的実施形態に関する追加の詳細は、以下のようである。
状態更新についての確率微分方程式は、
ｄδｘ（ｔ）＝Ａ（ｔ）δｘ（ｔ）ｄｔ＋Ｂ（ｔ）δｕ（ｔ）ｄｔ＋ｆ（ｔ）ｄｔ＋ｄω（ｔ）      （１）
であり、ここで、状態δｘ（ｔ）∈Ｒ3、ｕ（ｔ）∈Ｒ1であり、Ａ（ｔ）は３×３行列であり、Ｂ（ｔ）は３×１ベクトルであり、ｆ（ｔ）は３×１ベクトルであり、ω（ｔ）は３×１ベクトルである。ノイズは、ゼロ平均を有し、共分散行列Ｗ、たとえばω（ｔ）〜Ν（０，Ｗ）を有する。
観測方程式は、
δｙ（ｔ）＝δｘ（ｔ）＋θ（ｔ）      （２）
によって与えられ、ここで、測定値δｙ（ｔ）∈Ｒ3であり、θ（ｔ）は３×１ベクトルである。ノイズは、ゼロ平均を有し、共分散行列Ｖ、たとえばθ（ｔ）〜Ν（０，Ｖ）を有する。
状態更新方程式は、
【０１２１】
【数３４】
2019513000.tif 000036
【０１２２】
であり、カルマン利得Ｋは、
Ｋ（ｔ）＝Ｐ（ｔ）Ｖ-1      （４）
によって与えられる３×３行列であり、共分散更新方程式は、
【０１２３】
【数３５】
2019513000.tif 000037
【０１２４】
である。
ｔi≦ｔ＜ｔi+1について条件付き平均
【０１２５】
【数３６】
2019513000.tif 000038
【０１２６】
および条件付き率
【０１２７】
【数３７】
2019513000.tif 000039
【０１２８】
を決定するために、第１のステップが、
【０１２９】
【数３８】
2019513000.tif 000040
【０１３０】
およびｐ（ｔi）＝０を初期化する。
第２のステップでは、ｐ（ｔ）についてｔi≦ｔ＜ｔi+1において（５）を数値的に解く（たとえば、ルンゲクッタ法）。第３のステップでは、（４）を使用してカルマン利得を得る。
第４のステップでは、数値的に（３）を解き、ここで、パラメータＡ（ｔ）、Ｂ（ｔ）、および観測値δｙ（ｔ）は既知とされている。これは、ｔi≦ｔ＜ｔi+1について条件付き平均
【０１３１】
【数３９】
2019513000.tif 000041
【０１３２】
および条件付き率
【０１３３】
【数４０】
2019513000.tif 000042
【０１３４】
を提供する。
【０１３５】
上述されたような汎用リチウムイオンハイパワーバッテリセルおよび低速コントローラなどに関して、使用中のバッテリのフィードバック利得を計算する例示的実施形態に関する追加の詳細は、以下のようである。
解決されるべき最適制御追跡問題は、下記のように要約され得る。
【０１３６】
【数４１】
2019513000.tif 000043
【０１３７】
上式は以下に従う。
【０１３８】
【数４２】
2019513000.tif 000044
【０１３９】
【数４３】
2019513000.tif 000045
【０１４０】
【数４４】
2019513000.tif 000046
【０１４１】
新しい状態変数
【０１４２】
【数４５】
2019513000.tif 000047
【０１４３】
および新しい制御変数
【０１４４】
【数４６】
2019513000.tif 000048
【０１４５】
を定義し、（２−４）における状態方程式は、
【０１４６】
【数４７】
2019513000.tif 000049
【０１４７】
に書き換えられることができ、ここで初期条件ｚ（ｔi）＝０であり、
【０１４８】
【数４８】
2019513000.tif 000050
【０１４９】
である。
解決されるべき最適制御追跡問題は、下記のように要約され得る。
【０１５０】
【数４９】
2019513000.tif 000051
【０１５１】
上式は以下に従う。
【０１５２】
【数５０】
2019513000.tif 000052
【０１５３】
ただし、
【０１５４】
【数５１】
2019513000.tif 000053
【０１５５】
である。
フィードバック則は、
【０１５６】
【数５２】
2019513000.tif 000054
【０１５７】
である。Σ（ｔ）は行列であり、φ（ｔ）はベクトルである。これらは、以下の常微分方程式を解くことによって提供される。
【０１５８】
【数５３】
2019513000.tif 000055
【０１５９】
【数５４】
2019513000.tif 000056
【０１６０】
（５）から、
【０１６１】
【数５５】
2019513000.tif 000057
【０１６２】
であり、ここで、
【０１６３】
【数５６】
2019513000.tif 000058
【０１６４】
である。
分離原理によって、まず決定論的問題を解くことによって、ＫLQ（ｔ）およびΨ（ｔ）を計算することができ、次いで、（８）における状態ｚ（ｔ）を
【０１６５】
【数５７】
2019513000.tif 000059
【０１６６】
に置き換えて、（９）に示されるようにｖ（ｔ）を得る。
【０１６７】
【数５８】
2019513000.tif 000060
【０１６８】
被積分関数がｔiにおけるインパルスであると仮定してインパルス近似を使用して、
【０１６９】
【数５９】
2019513000.tif 000061
【０１７０】
を得る。
決定論的問題に関する状態値を得るために、以下の微分方程式を解く。
【０１７１】
【数６０】
2019513000.tif 000062
【０１７２】
そのような動作のためのアーキテクチャが図２８のシステム２８００に示される。
【０１７３】
緊急バッテリ追跡コントローラの例示的実施形態に関する追加の詳細は、以下のようである。
バッテリシステムの状態空間モデルは、
【０１７４】
【数６１】
2019513000.tif 000063
【０１７５】
ｙ（ｔ）＝Ｃδｘ（ｔ）      （２）
である。
状態オブザーバは、
【０１７６】
【数６２】
2019513000.tif 000064
【０１７７】
という形式であり、ここで、
【０１７８】
【数６３】
2019513000.tif 000065
【０１７９】
は、ｘ（ｔ）の推定値であり、Ｋは、閉ループ追跡器に切り替える前にハイブリッド追跡器によって計算された最新のカルマンフィルタ利得である。
方程式（３）は以下のように書き換えられる。
【０１８０】
【数６４】
2019513000.tif 000066
【０１８１】
この式の両辺のラプラス変換を行うと、
【０１８２】
【数６５】
2019513000.tif 000067
【０１８３】
となり、ここで、
【０１８４】
【数６６】
2019513000.tif 000068
【０１８５】
および
【０１８６】
【数６７】
2019513000.tif 000069
【０１８７】
である。
【０１８８】
【数６８】
2019513000.tif 000070
【０１８９】
について解くと、
【０１９０】
【数６９】
2019513000.tif 000071
【０１９１】
を見出す。
（６）の両辺にＣを掛け、
【０１９２】
【数７０】
2019513000.tif 000072
【０１９３】
をｙ（ｓ）に置き換えると、
ｙ（ｓ）＝Ｃ（ｓＩ−Ａ＋ＫＣ）-1（Ｂδｕ（ｓ）＋ｆ（ｓ）＋Ｋｙ（ｓ））      （７）
を得る。
ｙ（ｓ）について解くと、
（Ｉ−Ｃ（ｓＩ−Ａ＋ＫＣ）-1Ｋ）ｙ（ｓ）＝Ｃ（ｓＩ−Ａ＋ＫＣ）-1（Ｂδｕ（ｓ）＋ｆ（ｓ））      （８）
ｙ（ｓ）＝［Ｉ−Ｃ（ｓＩ−Ａ＋ＫＣ）-1Ｋ］-1Ｃ（ｓＩ−Ａ＋ＫＣ）-1（Ｂδｕ（ｓ）＋ｆ（ｓ））      （９）
を見出す。
【０１９４】
Ｇu（ｓ）＝［Ｉ−Ｃ（ｓＩ−Ａ＋ＫＣ）-1Ｋ］-1Ｃ（ｓＩ−Ａ＋ＫＣ）-1Ｂ      （１０）
Ｇf（ｓ）＝［Ｉ−Ｃ（ｓＩ−Ａ＋ＫＣ）-1Ｋ］-1Ｃ（ｓＩ−Ａ＋ＫＣ）-1      （１１）
とすると、
ｙ（ｓ）＝Ｇu（ｓ）δｕ（ｓ）＋Ｇf（ｓ）ｆ（ｓ）      （１２）
となる。
ｙref（ｔ）を、（１８）において
【０１９５】
【数７１】
2019513000.tif 000073
【０１９６】
およびδｕ（ｔ）＝０と設定することによって得られる基準信号として、δｘ（ｔ）について解くと、
ｙref（ｔ）＝−（ＡTＡ）-1ＡTｆ      （１３）
を得る。
ＰＩコントローラを、
【０１９７】
【数７２】
2019513000.tif 000074
【０１９８】
であるように設計する。
ここで、Ｋpは比例利得であり、Ｋiは決定されるべき積分利得であり、
ｙref（ｓ）＝−（ＡTＡ）-1ＡTｆ／ｓ
である。
フィードバックコントローラ２６００が図２６に示される。（１２）と（２４）を組み合わせると、
【０１９９】
【数７３】
2019513000.tif 000075
【０２００】
を得る。
ｙ（ｓ）について解くと、
【０２０１】
【数７４】
2019513000.tif 000076
【０２０２】
を得る。
ここで、決定されるべきＫpおよびＫiを有するフィードバック制御システムを安定化する。閉ループ伝達関数は、以下の通りである。
【０２０３】
【数７５】
2019513000.tif 000077
【０２０４】
【数７６】
2019513000.tif 000078
【０２０５】
Ｔ（ｓ）のすべての極がｓ平面の開いた左半分に配置されるように、ＫpおよびＫiを選択する。
数値実装
ＫpおよびＫiを計算する数値アルゴリズムが、以下に示される。先に言及されたように、バッテリシステムの状態空間モデルは下記のようになる。
【０２０６】
【数７７】
2019513000.tif 000079
【０２０７】
δｙ（ｔ）＝Ｃδｘ（ｔ）      （１９）
状態オブザーバは、
【０２０８】
【数７８】
2019513000.tif 000080
【０２０９】
という形式であり、ここで、
【０２１０】
【数７９】
2019513000.tif 000081
【０２１１】
は、ｘ（ｔ）の推定値であり、Ｋは、閉ループ追跡器に切り替える前にハイブリッド追跡器によって計算された最新のカルマンフィルタ利得である。δｙ（ｔ）は、履歴測定データから得られる。方程式（２０）は以下のように書き換えられる。
【０２１２】
【数８０】
2019513000.tif 000082
【０２１３】
方程式（２１）は、
【０２１４】
【数８１】
2019513000.tif 000083
【０２１５】
によって近似される。
非積分関数がｔにおけるインパルスであると仮定すると、
【０２１６】
【数８２】
2019513000.tif 000084
【０２１７】
を得る。
ＰＩコントローラを、
【０２１８】
【数８３】
2019513000.tif 000085
【０２１９】
であるように設計する。ここで、Ｋpは比例利得であり、Ｋiは決定されるべき積分利得であり、δｙrefは、（１８）において
【０２２０】
【数８４】
2019513000.tif 000086
【０２２１】
およびδｕ（ｔ）＝０と設定することによって得られる基準信号であり、ここで、δｘ（ｔ）について解くと、
δｙref＝−（ＡTＡ）-1ＡTｆ      （２５）
を得る。
方程式（２３）、（２４）および（２５）に従って、二乗残差の積分
【０２２２】
【数８５】
2019513000.tif 000087
【０２２３】
が最小化されるように、ＫpおよびＫiについて最小二乗問題を解く。
【０２２４】
【数８６】
2019513000.tif 000088
【０２２５】
【数８７】
2019513000.tif 000089
【０２２６】
【数８８】
2019513000.tif 000090
【０２２７】
【数８９】
2019513000.tif 000091
【０２２８】
ここで、ナイキストによって、Ｎは、状態遷移行列Ａの最小固有値λminによって決定される。すなわち、
【０２２９】
【数９０】
2019513000.tif 000092
【０２３０】
である。
【０２３１】
【数９１】
2019513000.tif 000093
【０２３２】
、
【０２３３】
【数９２】
2019513000.tif 000094
【０２３４】
、δｙn＝δｙ（ｎΔ）として、（２８）におけるδｕ（ｎΔ）を（２７）で置き換えると、
【０２３５】
【数９３】
2019513000.tif 000095
【０２３６】
【数９４】
2019513000.tif 000096
【０２３７】
【数９５】
2019513000.tif 000097
【０２３８】
を得る。
動的プログラミング手法を使用して問題を解く。到達コスト（cost-to-go）関数は、
【０２３９】
【数９６】
2019513000.tif 000098
【０２４０】
【数９７】
2019513000.tif 000099
【０２４１】
として記述され、ここで、
【０２４２】
【数９８】
2019513000.tif 000100
【０２４３】
であり、それをリカッチ形式
【０２４４】
【数９９】
2019513000.tif 000101
【０２４５】
と同等にし、ここで、Φnは対称正定行列を表し、Φnは正のベクトルであり、Ωnは正のスカラーである。方程式（３５）、（３６）および（３２）におけるダイナミクスを組み合わせると、
【０２４６】
【数１００】
2019513000.tif 000102
【０２４７】
【数１０１】
2019513000.tif 000103
【０２４８】
を得る。
この式を最小化するために、それらにおけるＫpおよびＫiを有する項を分離し、
【０２４９】
【数１０２】
2019513000.tif 000104
【０２５０】
【数１０３】
2019513000.tif 000105
【０２５１】
ＫpおよびＫiの各要素について導関数をとり、値を０に設定する。これは、Φn、Φn、およびΩnについて最適利得Ｋp*およびＫi*の解をもたらす。Ｋp*およびＫi*で評価された（３８）における価値関数とリカッチ形式（３６）を同等として、Φn、Φn、およびΩnについて解き、その後、Ｋp*およびＫi*の数値を求める。
【０２５２】
複数の家庭ソーラー電力システムのネットワークの一部としてのバッテリを制御する例示的実施形態に関する追加の詳細は、以下の通りであり、この例では、ＭｉｃｒｏｓｏｆｔのＡｚｕｒｅなどのオンラインネットワーク環境におけるモノのインターネット（ＩｏＴ）性能をサポートする機能を使用する。
アーキテクチャ
この例では、アーキテクチャは、複数の場所における数百万のバッテリを制御するように設計される。アーキテクチャは、以下のコンポーネントから構成される。
−  バッテリ制御ユニット：これらは、オンサイトにあり、ネットワーク接続が失われた場合でもバッテリの制御を可能にする
−  バッテリインターフェース（Ａｚｕｒｅ  ＩｏＴハブ）：これは、各バッテリ制御ユニットに対するデータの送信および受信を可能にする
−  ユーティリティインターフェース（Ａｚｕｒｅ  ＩｏＴハブ）：ユーティリティ会社に対するデータの送信および受信を可能にする
−  ＣＤＩエージェント：制御する各バッテリに対して１つのエージェントが存在し、これらは、バッテリインターフェースを介してバッテリと通信するとともに、互いに通信して最適制御を決定する
−  サイト管理：このコンポーネントは、バッテリが制御に自動的に追加されまたは制御から自動的に除去されることを可能にするように、ＣＤＩエージェントのネットワークを適合させる
−  監視：このコンポーネントは、ＣＤＩエージェントの重要な統計を追跡して、すべてが作動していることをユーザが確認することを可能にし、問題が発生した場合に処置するために診断を提供する。
バッテリ制御ユニット
バッテリ制御ユニットは、オンサイトでハードウェアに配置され、バッテリに直接接続される。バッテリ制御ユニットは、クラウドに接続して、Ａｚｕｒｅモノのインターネット（ＩｏＴ）ハブを介してそれらの所望の制御を受け取る。接続が失われたとき、制御ユニットは、バッテリに対するバックアップ制御を提供し、それらが安定した状態に留まることを保証する。
バッテリインターフェース
上述されたように、各サイトは、Ａｚｕｒｅ  ＩｏＴ（モノのインターネット）ハブを介してこの例示的システムに接続する。これは、ＨＴＴＰＳまたはＡＭＱＰＳプロトコルを使用して行われる。ＩｏＴハブは、我々がバッテリの数を数百万に拡張することを可能にし、認証およびメッセージルーティングを処理する。各バッテリ制御ユニットは、それがセンサデータを送る固有のトピック、および他のコンポーネントが制御メッセージをバッテリに戻すことができる固有のトピックを有する。
ユーティリティインターフェース
別のプロセスは、ユーティリティに対するユーティリティ要求の読み取り／書き込みを担当する。このインターフェースは、おそらくＳＣＡＤＡの変形形態であるが、ユーティリティ会社に適するように適合され得る。
ＣＤＩエージェント
各バッテリは、バッテリのための最適制御を計算するための「ＣＤＩエージェント」として知られるプロセスを有する。エージェントは、Ａｚｕｒｅクラウドにおいてサービスバスリスナー（service bus listener）として実装される。エージェントは、ＡＭＱＰを使用してＡｚｕｒｅサービスバスを介して他のエージェントと通信する。各エージェントは、それが制御するバッテリからＩｏＴトピックをサブスクライブするので、そのバッテリの現在の状態を受け取ることができる。
およそ全体的に最適な制御を計算するために、ＣＤＩエージェントは、それらの推定状態および最適制御を互いに通信する（「平均場（mean field）」として知られる）。計算およびメッセージ受け渡しをスケーラブルに維持するために、ＣＤＩエージェントは、位置および場合によってはバッテリタイプに基づいて、２または３レベルの階層にクラスタ化される。クラスタは、たとえば、各変電所レベルについて作成され、１００〜１０００個のエージェントに及ぶ。各クラスタは、クラスタ内のすべてのエージェントがパブリッシュおよびサブスクライブするサービスバストピックを有する。クラスタ間で状態を共有するために、各クラスタ内の特定のノードがマスタとしてマーク付けされる。このノードは、加えて、他のマスタノードにより共有される別のトピックをサブスクライブし、それに状態を送る。
サイト管理
サイト管理のために使用される別のセットのノードが存在し、すなわち、それらのノードは、バッテリが追加もしくは除去されたときにＣＤＩエージェントのネットワークを適合させ、または障害が発生したときにネットワークを修理するために使用される。
ネットワーク構造は、エージェントおよびバッテリ制御ユニットのリスト、ならびに各エージェントがパブリッシュおよびサブスクライブすべきトピックのリストによって符号化される。このデータは、Ａｚｕｒｅストレージサービス内で保存される。エージェントの作成、破棄、および更新は、Ａｚｕｒｅリソース管理ＡＰＩを使用して行われる。
新しいバッテリがインストールされると、システムは、バッテリ制御ユニットから、システムに追加する要求のための新しいメッセージを受け取り、この要求は、追加先の適切なＣＤＩエージェントクラスタを見つけるために必要とされるバッテリに関するデータ（タイプ、位置、変電所など）を含む。
バッテリが（たとえば、接続の喪失のため）短時間オフラインになったとき、ＩｏＴハブは、バッテリの状態の最終の推定値を管理し、それが再接続するまで、バッテリはバックアップローカル制御に入る。しかしながら、バッテリが（たとえば、それが永続的に切断されたため）長時間オフラインになったとき、サイト管理コンポーネントは次いで、関連付けられたＣＤＩエージェントを停止する。
クラスタがアンバランスになりすぎたとき、すなわち、それらは、多すぎるまたは少なすぎるノードを有するとき、サイト管理コンポーネントは、近接性またはバッテリタイプに基づくなどして、クラスタを２つに分割し、または近くのクラスタを１つに組み合わせる。サイト管理コンポーネントは、影響を受けたエージェントに、それらがサブスクライブまたはパブリッシュするトピックの新しいリストを送る。ＣＤＩマスタノードの選定もサイト管理コンポーネントによって行われる。
監視
監視コンポーネントは、以下を確実にするために、各バッテリ制御ユニットおよび各ＣＤＩエージェントからのメッセージをリッスンする。
−  メッセージが期待されるように送られる
−  総電力がユーティリティの許容範囲内で生成される
−  バッテリ健全性が各場所で各バッテリについて維持される
ＣＤＩエージェントがバッテリの制御に失敗している場合、監視は、ダッシュボードを介してユーザに警告し、また、そのエージェントを再始動するようにサイト管理コンポーネントに信号伝達することができる。バッテリ制御ユニットが充分な時間の間に応答するのに失敗している場合、監視は、誰かにそれらのバッテリがオフラインになっていることを確認させる、または必要に応じて現場に行かせるように警告することができる。電力がユーティリティの要求に合うように生成されていない場合、いくつかのバッテリについてバッテリ健全性が維持されていない場合、監視エージェントは、ＣＤＩエージェントにメッセージを送って、需要をより良く満たすまたはバッテリ寿命を確保するようにそれらのパラメータを更新する。
更新／メンテナンス
バッテリ制御コードの更新のために、バッテリ制御ユニットは、新しいコードをダウンロードするための第１のメッセージ、次いで、現在のプロセスを停止するための第２のメッセージを送り、新しくダウンロードされたコードに切り替わる。ＣＤＩエージェントコードの更新のために、サイト管理コンポーネントは、稼働しているエージェントを１つずつ止めて、それらを新しいバージョンのコードで再始動することができる。監視、サイト管理、およびユーティリティリスナーに新しいコードを展開するために、更新されたバージョンが並行して開始され、動作することが確認され、次いで、古いバージョンが廃止される。
【０２５３】
上記のように、いくつかの実施形態および状況では、一般のバッテリモデルは、使用中の特定のバッテリの制御が開始する前および／またはそのような制御および使用をしている間などに、使用中の特定のバッテリに固有の属性および特性を反映するようにトレーニングされる。モデルをトレーニングする例示的実施形態に関する追加の詳細は、以下の通りである。
パラメータ学習エンジンは、電力バッテリセルの増分モデルにおけるパラメータを、特定の電力バッテリセルを反映するように適合させると言われる。
確率微分方程式は、
ｄδｘ（ｔ）＝Ａ（ｔ）δｘ（ｔ）ｄｔ＋Ｂ（ｔ）δｕ（ｔ）ｄｔ＋ｆ（ｔ）ｄｔ＋ｄω（ｔ）      （１）
であり、ここで、状態δｘ（ｔ）∈Ｒ3、ｕ（ｔ）∈Ｒ1であり、Ａ（ｔ）は３×３行列であり、Ｂ（ｔ）は３×１ベクトルであり、ｆ（ｔ）は３×１ベクトルであり、ω（ｔ）は３×１ベクトルである。ノイズは、ゼロ平均を有し、共分散行列Ｗ、たとえばω（ｔ）〜Ν（０，Ｗ）を有する。
観測方程式は、
δｙ（ｔ）＝δｘ（ｔ）＋θ（ｔ）      （２）
によって与えられ、ここで、測定値δｙ（ｔ）∈Ｒ3であり、θ（ｔ）は３×１ベクトルである。ノイズは、ゼロ平均を有し、共分散行列Ｖ、たとえばθ（ｔ）〜Ν（０，Ｖ）を有する。
パラメータ学習エンジンは、Ａ行列を推定して、９個の値のベクトルｖｅｃｔ（ａ11，ａ12，ａ13，ａ21，ａ22，ａ23，ａ31，ａ32，ａ33）を作成する。これらのパラメータは、増分状態動的更新よりも遅く変化することが期待され、したがって、離散カルマンフィルタがＡパラメータを推定するために使用され得る。このパラメータ学習エンジンは、Ｂ（ｔ）、δｕ（ｔ）、ｆ（ｔ）、ω（ｔ）、δｙ（ｔ）、およびθ（ｔ）の値が、時間ｔi、ｔi-1、およびｔi-2において既知とされる。
【０２５４】
Ψt＝ｖｅｃｔ（ａ11，ａ12，ａ13，ａ21，ａ22，ａ23，ａ31，ａ32，ａ33）t
であり、パラメータのダイナミクスが、Ψt+1＝Ψt＋Λt      （３）
であり、ただしΛtはＮ（０，λ）であるとする。
定数式の変形を使用して（１）を解くと、
【０２５５】
【数１０４】
2019513000.tif 000106
【０２５６】
を得られ、そしてインパルス近似を使用すると、
【０２５７】
【数１０５】
2019513000.tif 000107
【０２５８】
を得られ、そして指数項で一次テイラー級数展開を適用すると、
δｘ（ｔi+1）＝（Ｉ＋Ａ（ｔi+1−ｔi））（δｘ（ｔi）＋Ｂ（ｔi）δｕ（ｔi）＋ｆ（ｔi）＋ω（ｔi））      （６）
を得られる。
（２）よりδｘ（ｔi）＝δｙ（ｔi）−θ（ｔi）で置換すると、
δｙ（ｔi+1）
＝（Ｉ＋Ａ（ｔi+1−ｔi））（δｙ（ｔi）＋Ｂ（ｔi）δｕ（ｔi）＋ｆ（ｔi）＋ω（ｔi）−θ（ｔi））
＋θ（ｔi+1）      （７）
を得られる。
表記を簡単にするために、
ｙ（ｔi）＝δｙ（ｔi）＋Ｂ（ｔi）δｕ（ｔi）＋ｆ（ｔi）      （８）
とすると、
δｙ（ｔi+1）＝（Ｉ＋Ａ（ｔi+1−ｔi））（γ（ｔi）＋ω（ｔi）−θ（ｔi））＋θ（ｔi+1）
δｙ（ｔi+1）＝Ａ（ｔi+1−ｔi）γ（ｔi）＋（γ（ｔi）＋ω（ｔi）−θ（ｔi））＋θ（ｔi+1）＋Ω（ｔi+1）
であり、ここで、Ω（ｔi+1）はノイズ項である。そして、
δｙ（ｔi+1）−γ（ｔi）
＝Ａ（ｔi+1−ｔi）γ（ｔi）＋ω（ｔi）−θ（ｔi）＋θ（ｔi+1）
＋Ω（ｔi+1）
＝Ａ（ｔi+1−ｔi）（γ（ｔi））＋Ξ（ｔi+1）      （９）
を得る。
独立ノイズベクトルの和を、Ξ（ｔi+1）＝ω（ｔi）−θ（ｔi）＋θ（ｔi+1）＋Ω（ｔi+1）とする。これは、ゼロ平均を有し、ノイズが独立しているので共分散行列は個々の分散の和である。
ここで、長い区間にわたって一定である、Ａにおける９個のパラメータ値を推定するため、時間ｔi、ｔi-1、およびｔi-2において（９）を以下のように記述し、
δｙ（ｔi）−γ（ｔi-1）＝Ａ（ｔi−ｔi-1）（γ（ｔi-1））＋Ξ（ｔi）
δｙ（ｔi-1）−γ（ｔi-2）＝Ａ（ｔi-1−ｔi-2）（γ（ｔi-2））＋Ξ（ｔi-1）
δｙ（ｔi-2）−γ（ｔi-3）＝Ａ（ｔi-2−ｔi-3）（γ（ｔi-2））＋Ξ（ｔi-2）
パラメータについてパラメータ観測方程式の行列形式で以下のように書き換え、
【０２５９】
【数１０６】
2019513000.tif 000108
【０２６０】
ここで、
【０２６１】
【数１０７】
2019513000.tif 000109
【０２６２】
は、ゼロ平均および対角共分散行列を有する９×１ガウスベクトルであり、対角成分は、Ｗ＋２Ｖ＋Ｃｏｖ（Ω）の対角要素と等しい。
ここで、以下を得る。
【０２６３】
【数１０８】
2019513000.tif 000110
【０２６４】
上式において、
【０２６５】
【数１０９】
2019513000.tif 000111
【０２６６】
であり、
【０２６７】
【数１１０】
2019513000.tif 000112
【０２６８】
であり、
【０２６９】
【数１１１】
2019513000.tif 000113
【０２７０】
である。
ここで、パラメータ
【０２７１】
【数１１２】
2019513000.tif 000114
【０２７２】
を推定するために離散カルマンフィルタを使用する。
（３）および（１０）に示されるように、パラメータダイナミクス方程式およびパラメータ観測方程式は、
Ψi+1＝Ψi＋Λi
【０２７３】
【数１１３】
2019513000.tif 000115
【０２７４】
であり、ここで、ΛiはＮ（０，λ）であり、
【０２７５】
【数１１４】
2019513000.tif 000116
【０２７６】
はＮ（０，Ｗ＋２Ｖ＋Ｃｏｖ（Ω））であり、
【０２７７】
【数１１５】
2019513000.tif 000117
【０２７８】
（（１１）に示されている）であり、観測値
【０２７９】
【数１１６】
2019513000.tif 000118
【０２８０】
（（１０）に示されている）である。
離散カルマンフィルタ方程式が続く。
状態推定値の予測方程式は、
Ψi+1|i＝Ψi|i      （１２）
であり、測定値を有する補正方程式は、
【０２８１】
【数１１７】
2019513000.tif 000119
【０２８２】
であり、ここで
【０２８３】
【数１１８】
2019513000.tif 000120
【０２８４】
は利得行列である。
Σとして示されるカルマンフィルタについての共分散行列は、予測方程式
Σi+1|i＝Σi|i＋λ      （１４）
および補正方程式
【０２８５】
【数１１９】
2019513000.tif 000121
【０２８６】
によって計算される。
利得は、
【０２８７】
【数１２０】
2019513000.tif 000122
【０２８８】
である。
初期条件は、
Σ0|0＝０0      （１７）
である。
図２７は、パラメータ適応エンジン（Parameter Adaptive Engine：ＰＡＥ）が中心的要素であるパラメータ学習エンジンのアーキテクチャ２７００を示す。モデルのパラメータはシステムの状態よりも遅く変化する。
【０２８９】
上記されたように、いくつかの実施形態および状況では、動作しているバッテリの内部状態が推定されることができ、たとえば、バッテリの内部温度を推定する。本明細書に論じられたようにバッテリ温度を管理するのではなく、従来のシステムは、それらが温度を少しでも使用する場合、外部温度が高すぎると、温度を管理するためにバッテリの動作を制御するのではなく、一般的にバッテリの動作を停止するだけであることに留意されたい。加えて、以下の例示的温度モデルでは説明されないが、いくつかの実施形態では、追加の動作が、バッテリを取り囲む外部温度を管理することに少なくとも部分的に基づいてバッテリの内部温度を制御するために行われることがあり、たとえば、バッテリの推定された内部状態に少なくとも部分的に基づいて外部温度を制御することによって行われる。
バッテリ温度モデルを使用してそのような内部バッテリ温度を推定する例示的実施形態に関する追加の詳細は、以下の通りである。
（高速で動作する）バッテリ温度の増分動的挙動が、微分方程式
【０２９０】
【数１２１】
2019513000.tif 000123
【０２９１】
によって与えられ、ここで、τは、拡散効果を表す時間遅延であり、ｖ（ｔ）は、下記のように、増分状態ベクトルδｘ（ｔ）（電力、電圧、電流）、および低速制御追跡器についての増分制御δｕ（ｔ）の線形関数である。
【０２９２】
ｖ（ｔ）＝ｂ・δｘ（ｔ）＋ｃ・δｕ（ｔ）＋ｖ（ｔ）      （２）
パラメータａ、ｂ、ｃ、およびτは、履歴データを使用して非線形最小二乗推定器によって推定されることができ、ｖ（ｔ）は、ガウスノイズである。
（１）のラプラス変換は、
ｓδＴ（ｓ）＝ａｅ-STδＴ（ｓ）＋ｖ（ｓ）      （３）
（ｓ−ａｅ-ST）δＴ（ｓ）＝ｖ（ｓ）      （４）
である。
（４）における項（ｓ−ａｅ-ST）を、形式
【０２９３】
【数１２２】
2019513000.tif 000124
【０２９４】
のパデ近似［１］によって近似し、ここで、ＰおよびＱはｓにおける多項式であり、オーダーｏ（Ｐ）＞ｏ（Ｑ）である。（１）のラプラス変換は、
【０２９５】
【数１２３】
2019513000.tif 000125
【０２９６】
によって近似される。
低周波数近似のために、形式
【０２９７】
【数１２４】
2019513000.tif 000126
【０２９８】
ただし、
Ｐ（ｓ）＝ｓ2＋ａ1ｓ＋ａ0      （６）
Ｑ（ｓ）−β1ｓ＋β0      （７）
のパデ近似を選択する。
【０２９９】
ｗ（ｓ）＝Ｐ（ｓ）δＴ（ｓ）      （８）
と定義する。
（８）におけるＰ（ｓ）を（６）で置き換えて、
ｓ2δＴ（ｓ）＋ａ1ｓδＴ（ｓ）＋ａ0δＴ（ｓ）＝ｗ（ｓ）      （９）
を得る。
（９）の逆ラプラス変換は、
【０３００】
【数１２５】
2019513000.tif 000127
【０３０１】
である。
ｙ1（ｔ）−δＴ（ｔ）、および
【０３０２】
【数１２６】
2019513000.tif 000128
【０３０３】
と定義し、
【０３０４】
【数１２７】
2019513000.tif 000129
【０３０５】
を得る。
（５）および（８）から、
ｗ（ｓ）＝Ｑ（ｓ）ｖ（ｓ）      （１２）
も得る。
（１２）におけるＱ（ｓ）を（７）で置き換えると、
ｗ（ｓ）＝β1ｓｖ（ｓ）＋β0ｖ（ｓ）      （１３）
を得る。
（１３）の逆ラプラス変換は、
【０３０６】
【数１２８】
2019513000.tif 000130
【０３０７】
である。
（１４）におけるｖ（ｔ）を（２）で置き換えると、
【０３０８】
【数１２９】
2019513000.tif 000131
【０３０９】
が得られ、ここで、ｖ1（ｔ）はガウスノイズである。
（１５）において、
【０３１０】
【数１３０】
2019513000.tif 000132
【０３１１】
、δｘ（ｔ）、およびδｕ（ｔ）の値を、低速コントローラの単位時間区間中に一定に設定し、すなわち、
【０３１２】
【数１３１】
2019513000.tif 000133
【０３１３】
として、さらに
【０３１４】
【数１３２】
2019513000.tif 000134
【０３１５】
を高速コントローラについての制御変数とすると、
【０３１６】
【数１３３】
2019513000.tif 000135
【０３１７】
を得る。
（１７）における状態方程式は、以下のように書き換えられる。
【０３１８】
【数１３４】
2019513000.tif 000136
【０３１９】
ただし、
【０３２０】
【数１３５】
2019513000.tif 000137
【０３２１】
であり、Ω（ｔ）はガウスノイズである。
高速コントローラに関する最適制御追跡問題は、下記のように要約される。
【０３２２】
【数１３６】
2019513000.tif 000138
【０３２３】
【数１３７】
2019513000.tif 000139
【０３２４】
分離原理によって、高速コントローラについての増分制御
【０３２５】
【数１３８】
2019513000.tif 000140
【０３２６】
を得ることができ、ここで、
【０３２７】
【数１３９】
2019513000.tif 000141
【０３２８】
離散カルマンフィルタを実行することによる状態推定値であり、ＫおよびΦは、決定論的追跡問題を解決することによって得られる。
最終的に、２つの増分制御δｕL（ｔ）およびδｕH（ｔ）の線形結合を行って、以下の増分制御δｕ（ｔ）を得た。
【０３２９】
δｕ（ｔ）＝ε1δｕL（ｔ）＋ε2δｕH（ｔ）    （２２）
ただし、
ε1＋ε2＝１
および
０≦ε1，ε2≦１
である。
注記：
【０３３０】
【数１４０】
2019513000.tif 000142
【０３３１】
についての（２，１）パデ近似、その後の（ｓ＝ａｅ-ST）についての（２，１）パデ近似は、以下の通りである。
【０３３２】
【数１４１】
2019513000.tif 000143
【０３３３】
（６）および（７）から、
【０３３４】
【数１４２】
2019513000.tif 000144
【０３３５】
を得る。
一般に、ＰおよびＱがそれぞれ、ｍおよびｎのオーダーである場合、（１１）および（１４）は、以下のように一般化され得る。
【０３３６】
【数１４３】
2019513000.tif 000145
【０３３７】
【数１４４】
2019513000.tif 000146
【０３３８】
図２９は、バッテリ制御システムのための例示的アーキテクチャ２９００を示すブロック図である。例示的アーキテクチャは、たとえば、以下のコンポーネントを含む。
−  平均パルス出力をバッテリコントローラからの指令された電力に合致させるために使用されるＤＣ−ＤＣコンバータなどの昇圧／降圧コンバータ
−  インバータ／整流器、たとえば、電力インバータは、バッテリが放電しているときにＤＣからＡＣに変換し、整流器は、バッテリが充電しているときにＡＣからＤＣに変換する
−  Ａ／Ｄコンバータ、たとえば、連続的な物理量をその量の振幅を表すデジタル数に変換するアナログ／デジタルコンバータ
−  Ｄ／Ａコンバータ、たとえば、デジタルデータ（通常はバイナリ）をアナログ信号（電流、電圧、または電荷）に変換するデジタル／アナログコンバータ
−  バッテリコントローラ、たとえば、ＣＤＩエージェントによって生成された所望の電力信号とほぼ共鳴してバッテリが動作するように、昇圧／降圧コンバータを駆動／制御する、（たとえば、本明細書の他の箇所でより詳細に論じられるように、状態推定器、パラメータ学習エンジン、ならびに状態および状態率追跡器コントローラを含む）増分フィードバックハイブリッド追跡制御システム
−  たとえば、バッテリパラメータを推論し、寿命および性能ルールを使用して所望の電力信号に対する追跡信号を生成するための、ＣＤＩエージェント
−  たとえば、バッテリの所望の出力電力／充電電力予測を生成するための、需要予測器（Demand Forecaster）
【０３３９】
図３は、構成された様式で指定された物理的システムまたは他のターゲットシステムの少なくともいくつかの動作を制御または他の形で操作するための自動制御システムを実装するための技法を実施するのに適した例示的コンピューティングシステムを示すブロック図であり、たとえば、図１０〜図２９に関しておよび明細書の他の箇所で上記に論じられた様式で、（たとえば、リアルタイムにかつバッテリの長期動作を最適化するように、）各バッテリの状態の特性を使用して、バッテリから提供されるＤＣ電力の自動制御を行うことによって、１つまたは複数のバッテリを有する物理的ターゲットシステムを制御する。特に、図３は、ＣＤＤシステムの少なくともいくつかの機能を提供するのに適したサーバコンピューティングシステム３００を示すが、他の実施形態では、複数のコンピューティングシステムが実行のために使用されてよい（たとえば、実行時制御が発生する前の初期構成およびセットアップのためのＣＤＤ判断モジュール構築コンポーネント、ならびに実際の実行時制御のための１つもしくは複数のコピーのＣＤＤ制御アクション決定コンポーネント３４４および／またはＣＤＤ調整制御管理コンポーネント３４６を、別個のコンピューティングシステムに実行させる）。図３はまた、ＣＤＤシステム３４０のカスタマまたは他のユーザによって使用され得る様々なクライアントコンピュータシステム３５０、ならびに、制御されるバッテリを有する１つまたは複数のターゲットシステム（この例では、１つまたは複数のコンピュータネットワーク３９０を介してＣＤＤシステム３４０にアクセス可能なターゲットシステム１  ３６０およびターゲットシステム２  ３７０）を示す。
【０３４０】
サーバコンピューティングシステム３００は、示された実施形態では、１つまたは複数のハードウェアＣＰＵ（「中央処理装置」）コンピュータプロセッサ３０５、様々なＩ／Ｏ（「入力／出力」）ハードウェアコンポーネント３１０、ストレージ３２０、およびメモリ３３０を含むコンポーネントを有する。示されたＩ／Ｏコンポーネントは、ディスプレイ３１１、ネットワーク接続３１２、コンピュータ可読メディアドライブ３１３、および他のＩ／Ｏデバイス３１５（たとえば、キーボード、マウス、スピーカなど）を含む。加えて、示されたクライアントコンピュータシステム３５０は各々が、サーバコンピューティングシステム３００のコンポーネントに類似するコンポーネントを有することができ、それらのコンポーネントは、１つまたは複数のＣＰＵ３５１、Ｉ／Ｏコンポーネント３５２、ストレージ３５４、およびメモリ３５７を含むが、簡潔にするためにコンピューティングシステム３５０について一部の詳細は示されていない。ターゲットシステム３６０および３７０も各々が、サーバコンピューティングシステム３００に関して示されたコンポーネントの一部または全部に類似するコンポーネントを有する１つまたは複数のコンピューティングシステム（図示せず）を含むが、簡潔にするため、この例にはそのようなコンピューティングシステムおよびコンポーネントは示されていない。
【０３４１】
ＣＤＤシステム３４０は、メモリ３３０において実行されており、コンポーネント３４２〜３４６を含み、いくつかの実施形態では、これらのシステムおよび／またはコンポーネントは各々が、様々なソフトウェア命令を含み、これらの命令は、実行されたとき、本明細書の他の箇所に説明されているようにＣＤＤシステムの実施形態を提供するように、ＣＰＵプロセッサ３０５のうちの１つまたは複数をプログラムする。ＣＤＤシステム３４０は、ネットワーク３９０を介して（たとえば、インターネットおよび／またはワールドワイドウェブを介して、プライベートセルラーネットワークを介してなど）コンピューティングシステム３５０と、また、この例ではターゲットシステム３６０および３７０と相互作用することができる。この例示的実施形態では、ＣＤＤシステムは、本明細書の他の箇所でより詳細に論じられるように、カスタマまたは他のユーザのために構成された様式で判断モジュールを生成および展開することに関連する機能を含む。他のコンピューティングシステム３５０も、ＣＤＤシステム３４０および／またはそのコンポーネントとの相互作用の一部として、様々なソフトウェアを実行していてよい。たとえば、クライアントコンピューティングシステム３５０は、ＣＤＤシステム３４０（たとえば、ウェブブラウザの一部、専用のクライアントサイドアプリケーションプログラムなどとして）と相互作用するためにメモリ３５７におけるソフトウェアを実行していてよく、それにより、たとえば、ＣＤＤシステム３４０の１つまたは複数のインターフェース（図示せず）と相互作用して、自動制御システム（たとえば、バッテリを有する１つまたは複数の物理的ターゲットシステムを制御する際に使用するためにＣＤＤシステム３４０によって以前に作成されている記憶された自動制御システム３２５）または他の判断モジュール３２９を構成および展開し、また、他の箇所でより詳細に論じられるように様々な他のタイプのアクションを行う。ＣＤＤシステム３４０の機能に関連する様々な情報、たとえば、ＣＤＤシステムのユーザに関連する情報３２１（たとえば、アカウント情報）、および制御されるバッテリを有する１つまたは複数のターゲットシステムに関連する情報３２３が、ストレージ３２０に記憶され得る。
【０３４２】
コンピューティングシステム３００および３５０ならびにターゲットシステム３６０および３７０は例示にすぎず、本発明の範囲を限定することは意図されていないことは理解されよう。むしろ、コンピューティングシステムは各々が、複数の相互作用しているコンピューティングシステムまたはデバイスを含んでよく、コンピューティングシステム／ノードは、インターネットなどの１つもしくは複数のネットワーク、ウェブ、またはプライベートネットワーク（たとえば、移動通信ネットワークなど）を介することを含めて、図示されていない他のデバイスに接続され得る。より一般的には、コンピューティングノードまたは他のコンピューティングシステムもしくはデバイスは、相互作用しまた説明されたタイプの機能を実行し得るハードウェアの任意の組合せを含んでよく、そのようなハードウェアは、限定としてではなく、デスクトップまたは他のコンピュータ、データベースサーバ、ネットワークストレージデバイスおよび他のネットワークデバイス、ＰＤＡ、携帯電話、無線電話、ポケットベル、電子手帳、インターネット機器、テレビベースのシステム（たとえば、セットトップボックスおよび／またはパーソナル／デジタルビデオレコーダを使用する）、ならびに適切な通信能力を含む様々な他の消費者製品を含む。加えて、示されたＣＤＤシステム３４０およびそのコンポーネントにより提供される機能は、いくつかの実施形態では、追加のコンポーネントに分散されることがある。同様に、いくつかの実施形態では、ＣＤＤシステム３４０および／もしくはＣＤＤコンポーネント３４２〜３４６の機能の一部は提供されなくてよく、ならびに／または他の追加の機能が利用可能であってよい。
【０３４３】
また、様々な要素が使用中にメモリまたはストレージに記憶されているように示されているが、これらの要素およびこれらの部分は、メモリ管理およびデータ整合性のためにメモリおよび他のストレージデバイスの間で転送されてよいことは理解されよう。あるいは、他の実施形態では、ソフトウェアモジュールおよび／またはシステムの一部または全部が、別のデバイス上のメモリにおいて実行され、コンピュータ間通信を介して、示されたコンピューティングシステムと通信することができる。したがって、いくつかの実施形態では、説明されている技法の一部または全部は、１つもしくは複数のソフトウェアプログラム（たとえば、ＣＤＤシステム３４０および／もしくはＣＤＤコンポーネント３４２〜３４６）および／またはデータ構造によって、たとえば、１つもしくは複数のソフトウェアプログラムのソフトウェア命令の実行ならびに／またはそのようなソフトウェア命令および／もしくはデータ構造の記憶によって構成されたとき、１つもしくは複数のプロセッサおよび／またはメモリおよび／またはストレージを含むハードウェア手段によって実行され得る。さらに、いくつかの実施形態では、システムおよび／またはコンポーネントの一部または全部が、他の様式で、たとえば、ファームウェアおよび／またはハードウェアに少なくとも部分的にまたは完全に実装された手段を使用することによって、実装または提供されてよく、そうしたファームウェアおよび／またはハードウェアは、以下に限定されないが、１つまたは複数の特定用途向け集積回路（ＡＳＩＣ）、標準集積回路、コントローラ（たとえば、適切な命令を実行することによるコントローラであり、マイクロコントローラおよび／または組み込みコントローラを含む）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、コンプレックスプログラマブルロジックデバイス（ＣＰＬＤ）などを含む。コンポーネント、システム、およびデータ構造の一部または全部は、ハードディスクもしくはフラッシュドライブもしくは他の不揮発性ストレージデバイス、揮発性もしくは不揮発性メモリ（たとえばＲＡＭ）、ネットワークストレージデバイス、または適切なドライブ（たとえば、ＤＶＤディスク、ＣＤディスク、光ディスクなど）によってもしくは適切な接続を介して読み取られる携帯媒体物品などの非一時的コンピュータ可読記憶媒体に、（たとえば、ソフトウェア命令または構造化されたデータとして）記憶されてもよい。システム、コンポーネントおよびデータ構造は、いくつかの実施形態では、無線ベースおよび有線／ケーブルベースの媒体を含む様々なコンピュータ可読伝送媒体上で、生成されたデータ信号として（たとえば、搬送波の一部、または他のアナログもしくはデジタル伝播信号として）送信されてもよく、（たとえば、単一のもしくは多重化されたアナログ信号の一部として、または複数の離散デジタルパケットもしくはフレームとして）様々な形態をとってよい。そのようなコンピュータプログラム製品は、他の実施形態では他の形態をとってもよい。したがって、本発明は他のコンピュータシステム構成で実施され得る。
【０３４４】
例示目的のため、特定のタイプのターゲットシステムについて、および特定の様式で決定された特定のタイプの制御アクティビティについてを含めて、具体的に特定のタイプの動作が行われるいくつかの実施形態に関して、いくつかの追加の詳細が以下に含まれる。これらの例は、例示目的で提供され、簡潔にするために単純化されるが、本発明の技法は、他の環境内および他のタイプの自動制御アクション決定技法を含む様々な他の状況で使用されてよく、それらの一部は以下に論じられる。
【０３４５】
図１は、１つまたは複数のターゲットシステムの協調分散制御を行うためのシステムが構成され始動され得る例示的環境を示すネットワーク図である。具体的には、ＣＤＤシステム１４０の実施形態は、１つまたは複数のコンピューティングシステム１９０上で実行されており、示された実施形態において、オンラインで動作しグラフィカルユーザインターフェース（ＧＵＩ）（図示せず）および／または他のインターフェース１１９を提供し、クライアントコンピューティングシステム１１０の１つまたは複数のリモートユーザを可能にし、１つまたは複数の介在コンピュータネットワーク１１０を介してＣＤＤシステム１４０と相互作用し、１つまたは複数の判断モジュールを構成および作成し、自動制御システムの一部として含み、制御される１つまたは複数のターゲットシステムの各々と使用することを含む。
【０３４６】
具体的には、ターゲットシステム１１６０およびターゲットシステム２１７０は、この例で示された例示的ターゲットシステムであるが、特定の実施形態および状況では、１つのみのターゲットシステムまたは多数のターゲットシステムが利用可能であってよく、そのような各ターゲットシステムは、ターゲットシステムに固有の様式でターゲットシステムの動作を実装するために、様々な機械的、電子的、化学的、生物学的、および／または他のタイプのコンポーネントを含んでよいことは理解されよう。この例では、１つまたは複数のユーザ（図示せず）は、ＣＤＤシステム１４０と相互作用して、ターゲットシステム１のための例示的自動制御システム１２２を生成することができ、自動制御システムは、この例では、後で展開および実装されたときにターゲットシステム１  １６０の制御部分と協調的に相互作用する複数の判断モジュール１２４を含む。自動制御システム１２２を作成するためにユーザがＣＤＤシステム１４０と相互作用するプロセスは、他の箇所でより詳細に論じられるように、時間経過につれて様々な相互作用を含むことができ、そのような相互作用は、場合によっては、ユーザの異なるグループの独立したアクションを含む。加えて、自動制御システム１２２を作成および／またはトレーニングまたはテストするプロセスの一部として、それは、たとえば部分的初期状態情報を取得するために、示されたようにターゲットシステム１と１つまたは複数の相互作用を行うことができるが、一部または全部のトレーニングアクティビティは、少なくともいくつかの実施形態では、ターゲットシステム１における制御アクションの効果を、それらの制御アクションを実際にその時に実装することなくシミュレートすることを含む。
【０３４７】
自動制御システム１２２が作成された後、自動制御システムは、ＣＤＤシステム１４０の１つまたは複数のコンピューティングシステム１９０において自動制御システム１２２を任意選択で実行することなどによって、ターゲットシステム１  １６０の制御を含む動作を始めるように展開され実装されて、コンピュータネットワーク１００を介してターゲットシステム１と相互作用することができる。他の実施形態および状況では、自動制御システム１２２は、そうではなく、ターゲットシステム１の一部である１つまたは複数のコンピューティングシステム（図示せず）などにおいて、自動制御システム１の一部または全部の展開されたコピー１２１に関して示されたように、ターゲットシステム１に対してローカルに、自動制御システム１２２の一部または全部（たとえば、複数の判断モジュール１２４のうちの１つまたは複数）のローカルコピーを実行することによって展開され得る。
【０３４８】
自動制御システム１２２に関して論じられたのと同様に、（同じユーザ、重複するユーザ、または自動制御システム１２２を作成するのに関わったユーザと完全に無関係なユーザであるかにかかわらず）１つまたは複数のユーザが、コンピュータネットワーク１００を介してＣＤＤシステム１４０と同様に相互作用して、ターゲットシステム２  １７０の一部または全部を制御するのに使用するための別個の自動制御システム１２６を作成する。この例では、ターゲットシステム２のための自動制御システム１２６は、自動制御システム１２６のための制御アクションのすべてを行う単一の判断モジュール１２８のみを含む。自動制御システム１２６は、たとえば、１つもしくは複数のコンピューティングシステム１９０、および／またはターゲットシステム２の一部である１つもしくは複数のコンピューティングシステム（図示せず）においてローカルに実行されるように、自動制御システム１２２に関して論じられたのと同様に、ターゲットシステム２について同様に展開および実装され得るが、自動制御システム２の展開されたコピーは、この例では示されない。さらに、自動制御システム１２２および／または１２６は、それぞれ特定の判断モジュール１２４および１２８とは別の他のコンポーネントおよび／または機能をさらに含むことができるが、そのような他のコンポーネントおよび／または機能は図１に示されていないことは理解されよう。
【０３４９】
ネットワーク１００は、たとえば、インターネットなど、おそらく様々な別々の当事者によって運用されるリンクされたネットワークからなる公的にアクセス可能なネットワークとすることができ、ＣＤＤシステム１４０は、ネットワーク１００を介して任意のユーザにまたは特定のユーザのみに利用可能である。他の実施形態では、ネットワーク１００は、プライベートネットワーク、たとえば、特権を与えられていないユーザに部分的または全体的にアクセス可能でない会社または大学のネットワークであり得る。さらに他の実施形態では、ネットワーク１００は、インターネットへおよび／またはインターネットからのアクセスを有する１つまたは複数のプライベートネットワークを含むことができる。したがって、示された実施形態におけるＣＤＤシステム１４０は、１つまたは複数のコンピュータネットワーク１００を介して様々なユーザをサポートするようにオンラインで実装されるが、他の実施形態において、代わりに、ＣＤＤシステム１４０のコピーは、他の様式で実装されてもよく、たとえば、１つまたは複数のコンピュータネットワーク１００は代わりに会社または他の組織の内部コンピュータネットワークである場合などに、単一のユーザまたは関連するユーザのグループ（たとえば、会社または他の組織）をサポートするように実装され、ＣＤＤシステムのそのようなコピーは、任意選択で、会社または他の組織の外部の他のユーザに利用可能でない。ＣＤＤシステム１４０のオンラインバージョン、および／またはＣＤＤシステム１４０のローカルコピーバージョンは、いくつかの実施形態および状況では、たとえば、相互作用を行って判断モジュールおよび対応する自動制御システムを生成し、ならびに／またはそのような判断モジュールおよび対応する自動制御システムを様々な様式で展開および実装するために、１つまたは複数のユーザがＣＤＤシステムの様々な動作を利用するための様々な利用料を提供するような、利用料ベースで動作する。加えて、ＣＤＤシステム１４０、そのコンポーネントの各々（１つもしくは複数のＣＤＤ制御アクション決定コンポーネントおよび／または１つもしくは複数のＣＤＤ調整制御管理コンポーネントなど、コンポーネント１４２および任意選択の他のコンポーネント１１７を含む）、判断モジュールの各々、ならびに／または自動制御システムの各々は、ソフトウェア命令を含むことができ、ソフトウェア命令は、１つまたは複数のコンピューティングシステム（図示せず）上で１つまたは複数のプロセッサ（図示せず）によって実行されて、たとえば、それらのプロセッサおよびコンピューティングシステムを、それらのプログラムされた機能を実行することに関して特化されたマシンとして動作するように構成する。
【０３５０】
図１および図２には示されていないが、自動制御システム１２２などの自動制御システムの動作の分散された性質により、様々な判断モジュールの部分的に分離された動作を可能にし、それは、自動制御システム１２２の使用中に時間経過とともに修正される判断モジュール１２４のグループに対して修正すること、たとえば、新しい判断モジュール１２４の追加および／または既存の判断モジュール１２４の除去を可能にすることを含む。同様に、特定の判断モジュール１２４および／または１２８に対して変更が行われてよく、たとえば、特定の判断モジュールに固有のルールまたは他の制約を変更し、および／または特定の判断モジュールに固有の目標を時間経過とともに変更し、新しい対応するモデルが、そのような判断モジュール内で生成および展開され、いくつかの実施形態および状況では、対応する自動制御システムが、対応するターゲットシステムの制御動作を継続する間にそれらが行われることを含む。加えて、各自動制御システムは、図１および図２の例では単一ターゲットシステムを制御するように説明されているが、他の実施形態および状況では、他の構成が使用されてよく、たとえば、単一の自動制御システムが複数のターゲットシステム（たとえば、複数の相互に関連するターゲットシステム、同じタイプの複数のターゲットシステムなど）を制御し、および／または、複数の自動制御システムが、単一のターゲットシステムを制御するように動作し、たとえば、各々が独立して動作してそのターゲット制御システムの異なる部分を制御することによって動作してもよい。同様に他の構成が他の実施形態および状況で使用され得ることは理解されよう。
【０３５１】
図４は、協調分散判断（ＣＤＤ）システムルーチン４００の例示的実施形態のフロー図である。このルーチンは、たとえば、図３のＣＤＤシステム３４０および／または図１のＣＤＤシステム１４０の実行によって提供されて、たとえば、指定されたターゲットシステムのために自動制御システムを構築および実装するための機能を提供することができる。
【０３５２】
ルーチンの示された実施形態がブロック４１０で始まり、ここでは、情報または命令が受け取られる。ブロック４２０において、ブロック４１０の情報または命令が、特定のターゲットシステムのための自動制御システムの一部として使用するための１つまたは複数の判断モジュールを作成または改訂する標識を含むと決定された場合、ルーチンはブロック４２５へと続き、判断モジュール構築コンポーネントの実行を開始し、ブロック４３０で、ブロック４２５で作成されたターゲットシステムのための１つまたは複数の得られた判断モジュールを取得および記憶する。そのような判断モジュール構築コンポーネントのルーチンの一例は、図５Ａ〜図５Ｂに関連してより詳細に論じられる。
【０３５３】
ブロック４３０の後、またはそうではなく、ブロック４１０で受け取られた情報もしくは命令が１つもしくは複数の判断モジュールを作成もしくは改訂するものではないとブロック４２０で決定された場合、ルーチンはブロック４４０へと続き、ブロック４１０で受け取られた情報または命令が、指定されたターゲットシステムを制御するために１つまたは複数の作成された判断モジュールを展開することを指示するかどうかを決定し、たとえば、１つまたは複数の判断モジュールは、そのターゲットシステムのための自動制御システムの一部である。展開すべき１つまたは複数の判断モジュールは、展開が実質的に作成と同時に行われるように、ブロック４２５に関して直前に作成されていてよく、他の状況では、以前に作成され後で使用するために記憶された１つまたは複数の判断モジュールを含んでよい。そのようなターゲットシステムのための１つまたは複数のそのような判断モジュールを展開することが決定された場合、ルーチンはブロック４５０へと続き、ターゲットシステムの環境に対してローカルの１つもしくは複数のコンピューティングシステム上で、またはそうではなく、１つもしくは複数の介在コンピュータネットワークを介してターゲットシステムと通信する１つもしくは複数のリモートコンピューティングシステム（たとえば、ＣＤＤシステムのプロバイダの制御下の１つもしくは複数のコンピューティングシステム）上などで、そのターゲットシステムのためのそれら１つまたは複数の判断モジュールの実行を開始する。
【０３５４】
ブロック４５０の後、ルーチンはブロック４６０へと続き、１つまたは複数の集中化された調整制御管理コンポーネントなどを介して、複数の判断モジュールの外部から展開されているそれらの判断モジュールの分散された管理を行うかどうかを決定する。そうする場合、ルーチンはブロック４６５へと続き、それらの判断モジュールと使用するための１つまたは複数のそのような集中化されたＣＤＤ調整制御管理コンポーネントの実行を開始する。ブロック４６５の後、またはそうではなく、外部からそのような分散された管理を行わないとブロック４６０で決定された場合（たとえば、１つだけの判断モジュールが実行される場合、複数の判断モジュールが実行されるが、分散されたピアツーピアでそれらの動作を調整する場合など）に、ルーチンはブロック４７０へと続き、任意選択で、１つもしくは複数の判断モジュールの動作および／またはターゲットシステムで発生する結果のアクティビティに関する情報を、後の分析および／または報告などのために、取得および記憶する。
【０３５５】
そうではなく、ブロック４１０で受け取られた情報または命令が１つまたは複数の判断モジュールを展開するのではないとブロック４４０で決定された場合、ルーチンは代わりにブロック４８５に続き、必要に応じて１つまたは複数の他の示された動作を行う。たとえば、そのような他の許可される動作は、他の様式で（たとえば、ターゲットシステムに関する出力または他の状態情報を監視することによって）ターゲットシステムの動作に関する結果情報を取得すること、判断モジュールの動作の結果および／または対応するターゲットシステムのアクティビティを分析すること、そのような動作および／またはアクティビティに関して報告を生成するまたは他の形で情報をユーザに提供することを含み得る。加えて、いくつかの実施形態では、経時的な特定のターゲットシステムのアクティビティの分析は、ターゲットシステムの動作においてパターンが識別されるのを可能にすることができ、たとえば、それらのパターンを反映しそれらに基づいて応答するために、そのターゲットシステムのモデルが（手動または自動化された学習様式で）相応に修正されることを可能にする。加えて、他の箇所でより詳細に論じられるように、部分的に分離された様式での自動制御システムのための複数の判断モジュールの分散された動作は、自動制御システムが動作中に様々な変更が行われることを可能にし、たとえば、１つまたは複数の新しい判断モジュールを追加すること、１つまたは複数の既存の判断モジュールを除去すること、（たとえば、判断モジュールのモデルの一部であるターゲットシステムを記述するルールまたは他の情報を変更することによって）特定の判断モジュールの動作を修正することなどを可能にする。加えて、自動制御システムにおける部分的に複数のそのような判断モジュールの分離された性質は、たとえば、ネットワーク通信問題または他の問題が、そうでなければ判断モジュールの個別化された制御アクションが調整されることを可能にする、複数の判断モジュール間の通信を防止する場合に、１つまたは複数のそのような判断モジュールが折に触れて独立して動作することを可能にし、そのような状況では、一部または全部のそのような判断モジュールが個別化された様式で動作を続けて、たとえば、最適または最適に近い解が、ターゲットシステムのための自動制御システムを共同で提供するグループの複数の判断モジュールの間の調整および同期から識別できない場合でも、ターゲットシステムのための有用な続行する制御動作を提供することができる。
【０３５６】
ブロック４７０または４８５の後、ルーチンはブロック４９５へと続き、たとえば停止する明示的標識が受け取られるまで、継続するかどうかを決定する。継続すると決定された場合、ルーチンはブロック４１０に戻り、そうでない場合はブロック４９９に進んで終了する。
【０３５７】
図５Ａ〜図５Ｂは、ＣＤＤ判断モジュール構築ルーチン５００の例示的実施形態のフロー図である。ルーチンは、たとえば、図３のコンポーネント３４２および／または図１のコンポーネント１４２の実行によって提供されることができ、たとえば、ユーザが所望のターゲットシステムを記述する情報を提供することを可能にする機能を提供し、対応する自動化された動作を行って、指定された様式でターゲットシステムを制御するのに使用するための１つまたは複数の判断モジュールを構築する。ルーチンの示された実施形態は、表示されたＧＵＩ（グラフィカルユーザインターフェース）などを介して特定の様式でユーザと相互作用するが、ルーチンの他の実施形態は、他の様式で、たとえば、ユーザの代わりに実行プログラムが呼び出す定義されたＡＰＩ（アプリケーションプログラミングインターフェース）を介して、ユーザと相互作用してよいことは理解されよう。いくつかの実施形態では、ルーチンはさらに、統合された開発環境の一部として実装されてもよく、または、たとえば、インターネットなどの公衆ネットワークを介して複数のリモートユーザに利用可能なオンラインインターフェースを実装することによって、１つもしくは複数のユーザが使用できる他のソフトウェアツールとして実装されもよく、他の実施形態では、ＣＤＤシステムおよび／または特定のＣＤＤコンポーネントのコピーが、たとえば、組織またはグループの制御下でコンピューティングシステム上で実行されることによって、単一の組織または１つもしくは複数のユーザからなる他のグループをサポートするために使用されてもよい。加えて、ＣＤＤ判断モジュール構築コンポーネントは、いくつかの実施形態および状況では、ターゲットシステムに関するルールおよび他の記述情報を指定するためにユーザが相互作用するルールエディタコンポーネント、ならびに、ユーザ指定されたルールおよび他の情報を処理して１つまたは複数の対応する判断モジュールを作成するルールコンパイラエンジンなど、複数のサブコンポーネントに分割され得る。
【０３５８】
ルーチン５００の示された実施形態がブロック５１０で始まり、ここでは、ルーチンは、１つまたは複数のユーザへの表示されたユーザインターフェースを、たとえば、ルーチンを実装しているコンポーネントのオンラインバージョンで受け取られた要求を介して、またはそうではなく、１つもしくは複数のそのようなユーザによってそれらが制御するコンピューティングシステム上でルーチンが実行されていることに基づいて、提供または更新する。ルーチンの示された実施形態では、例示の目的で、様々な動作が連続した様式で発生するように示されているが、そのようなユーザインターフェースとのユーザ相互作用は、反復する様式で、ならびに／または複数の時間期間および／もしくはユーザセッションにわたって行われてよく、さらに以下に論じられるように、様々な様式でユーザに以前に提案されたユーザインターフェースを更新すること（たとえば、ユーザアクションを反映する、ルーチンの動作によってもしくは別のコンポーネントから生成されたユーザフィードバックを反映するなど）を含むことは理解されよう。
【０３５９】
ブロック５１０の後、ルーチンはブロック５２０へと続き、制御されるターゲットシステムを記述する１つまたは複数のそのようなユーザからの情報を受け取り、この情報は、１つまたは複数の操作可能な制御要素および任意選択で制御要素が影響を及ぼす１つまたは複数の出力を含む、ターゲットシステムの複数の要素に関する情報と、要素に関わる制約を指定するルールに関する情報と、システムの制御中に利用可能となる状態情報に関する情報（たとえば、特定の要素の値または他の状態変数）と、ターゲットシステムの制御中に達成すべき１つまたは複数の目標とを含む。そのような情報は、１つまたは複数のユーザから時間の期間にわたって取得されることができ、そうすることは、いくつかの実施形態では、たとえば、異なるユーザの異なる領域の専門知識および／またはターゲットシステムの異なる部分を反映するために、第１のグループの１つまたは複数のユーザが、ターゲットシステムに関連するある種の情報を提供し、１つまたは複数の他の第２のグループのユーザが、ターゲットシステムに関する他の情報を独立して提供することを含むことは理解されよう。
【０３６０】
ブロック５２０の後、ルーチンはブロック５２５へと続き、ユーザ入力で受け取られた任意のエラーを識別し、ブロック５１０に関連して論じられた対応する様式で表示を更新することなどによって、ユーザにそれらのエラーを訂正するように促す。そのようなエラーの識別はブロック５２０で情報を受け取った後に発生するように示されているが、そうではなく、一部または全部のそのようなエラーは、たとえば、ユーザが指定するルールまたは他の情報における構文エラーを識別するために、ユーザがユーザインターフェースに情報を入力しているときに識別されてよいことは理解されよう。ブロック５２５の後、ルーチンの示された実施形態はブロック５３０へと続き、任意選択で、ターゲットシステムに関する情報を、各々がターゲットシステムの部分に対応する複数のサブセットへ分解し、たとえば、各サブセットは、ルーチンによって作成されている自動制御システムにより操作可能な１つまたは複数の異なる制御要素を有し、任意選択で、ターゲットシステムの各部分を記述するルールおよび他の情報の重複するまたは完全に異なる目標および／またはセットを有する。他の箇所でより詳細に論じられるように、そのような分解は、行われる場合、いくつかの状況において、ユーザが入力する情報の異なるサブグループをユーザが指示すことによって手動で、および／または指定されている情報の分析に基づいて（たとえば、ターゲットシステムに関して供給されるルールのサイズおよび他の記述情報に基づく、異なるルールまたは目標または他の情報の間の相互関係に基づくなどして）ルーチンによって自動化された様式で、行われることができる。他の実施形態では、そのような分解は行われなくてよい。
【０３６１】
ブロック５３０の後、ルーチンはブロック５３５へと続き、ターゲットシステム記述情報の各サブセットについて（または、そのようなサブセットが識別されない場合にすべての受け取られた情報について）、そのサブセット（またはすべての情報）を、そのサブセット（またはすべての情報）についての制約、目標、および他の指定された情報を封入する制約条件のセットへ変換する。ブロック５４０では、ルーチンは、次いで、変換プロセスから発生する任意のエラーを識別し、何らかのエラーが識別された場合、ブロック５２５および５１０に関連して説明されたのと同様の様式などで、ユーザにそれらのエラーを訂正するように促す。この例では示されていないが、ルーチンは、いくつかの状況において、ブロック５２５および／または５４０でそのようなエラーが識別された場合にブロック５１０に戻って、対応するフィードバックをユーザへ表示し、ユーザが訂正を行い、ブロック５２０〜５４０などの後続の動作を再実行することを可能にすることができる。ブロック５４０において変換プロセスで識別されたエラーは、たとえば、グループとして制約を満たすことが不可能である場合などの、不整合な制約に関係付けられたエラーを含み得る。
【０３６２】
ブロック５４０の後、ルーチンはブロック５４５へと続き、制約条件の各セット（またはブロック５３０でサブセットが識別されなかった場合は単一の制約条件のセット）について、１つまたは複数の検証ルールを制約条件のセットに適用して、制約条件が表す対応する情報の全体的効果をテストし、ブロック５２５、５４０、および５１０に関する様式と同様に、識別された任意のエラーを訂正するように１つまたは複数のユーザに促す。そのような検証ルールは、他の箇所でより詳細に論じられるように、可制御性、可観測性、安定性、および目標完全性、ならびにユーザにより追加された任意の検証ルールのうちの１つまたは複数をテストし得る。ブロック５５０で、ルーチンは次いで、制約条件の各検証されたセットを、基礎となる情報が対応するターゲットシステムの少なくとも一部をモデル化する結合された微分方程式のセットに変換する。
【０３６３】
ブロック５５０の後、ルーチンはブロック５５３へと続き、結合された微分方程式の各セットについてモデルをトレーニングすることに関連するアクティビティを行い、そうすることは、使用するトレーニング時間窓のサイズ、時間窓内の複数のトレーニング時間スライスのサイズ、および／または時間窓内のトレーニング時間スライスのタイプのうちの１つまたは複数を決定することを含む。いくつかの実施形態および状況では、１つまたは複数のそのようなサイズまたはタイプの情報の決定は、デフォルトまたは予め指定された情報によって行われるが、他の実施形態および状況では、ユーザがそのような情報を指定してもよく、または、そのような情報の自動決定が、１つもしくは複数の様式で（たとえば、異なるサイズをテストし、結果を評価して最良の性能を伴うサイズを見つけることによって）行われてもよい。異なるタイプの時間スライスは、たとえば、重複するまたは重複しない時間スライスの連続を含んでよく、そうすることで、第２の時間スライスに関するトレーニングは、第１の時間スライスの結果のみに（それらが重複しない場合に）依存することができ、またはそうではなく（それらが部分的または全体として重複する場合に）第１の時間スライスの少なくとも部分について既に決定された情報の更新に少なくとも部分的に基づくことができる。ブロック５５３の後、ルーチンはブロック５５５へと続き、モデルを表す結合された微分方程式の各セットについて、ターゲットシステムの部分的初期状態情報を使用してそのセットの結合された微分方程式のモデルをトレーニングし、そうすることは、時間窓にわたって、たとえば時間窓を通して連続する時間スライスにおいて制御アクションを行う効果をシミュレートすることによって、ターゲットシステムについて知られていないおよび／または直接観測可能でない変数の値を推定し、トレーニングされたモデルのシミュレートされた性能をテストすることを含む。トレーニングおよびテストに関連する追加の詳細は、本明細書の他の箇所に含まれる。
【０３６４】
ブロック５５５の後、ルーチンはブロック５６０へと続き、トレーニングおよびテストが成功したかどうかを決定し、成功しない場合はブロック５１０に戻り、対応するフィードバック情報をユーザへ表示し、成功の欠如させたエラーをユーザが訂正することを可能にする。しかし、代わりに、ブロック５６０で、テストおよびトレーニングが成功したと決定された場合、ルーチンは代わりにブロック５７０へと続き、各トレーニングおよびテストされたモデルについて実行可能判断モジュールを生成し、このモジュールは、そのモデル、およびローカルＣＣＤ制御アクション決定コンポーネントを含み、ローカルＣＣＤ制御アクション決定コンポーネントは、実行されたときに、判断モジュールが使用し、モデルに含まれる情報に基づいて、またその判断モジュールについての１つまたは複数の目標に照らして、ターゲットシステムについて行う最適または最適に近い制御アクションを決定する。生成された実行可能判断モジュールは、いくつかの実施形態および状況では、時間経過と共に様々な判断モジュールの各モデルを同期させることなどによって、ターゲットシステムのための自動制御システムを共同で提供する複数の判断モジュールの制御アクションを調整するためのローカルＣＣＤ調整制御管理コンポーネントをさらに含む。ブロック５７０の後、ルーチンはブロック５８０へと続き、使用のために生成された実行可能判断モジュールを提供し、そうすることは、任意選択で、後での実行および／または展開のためにそれらを記憶することを含む。
【０３６５】
ブロック５８０の後、ルーチンはブロック５９５へと続き、たとえば停止する明示的標識が受け取られるまで、継続するかどうかを決定する。継続すると決定された場合、ルーチンはブロック５１０に戻り、そうでない場合はブロック５９９に進んで終了する。
【０３６６】
図６Ａ〜図６Ｂは、実行されている判断モジュールの一般的表現に対応するルーチン６００の例示的実施形態のフロー図を示す。ルーチンは、たとえば、判断モジュール３２９の実行によって、または図３の自動制御システム３２５および／もしくは図１もしくは図２の判断モジュール１２４もしくは１２８の一部として提供されることができ、たとえば、判断モジュールについて符号化された情報またはモデルに固有の様式でターゲットシステムの少なくとも部分を制御するための機能を提供し、そうすることは、判断モジュールによってその制御アクティビティ中に達成されるべき１つまたは複数の目標を反映することを含む。他の箇所でより詳細に論じられるように、いくつかの実施形態および状況では、複数の判断モジュールは、特定のターゲットシステムを制御するために共同で協調的に動作することができ、たとえば各判断モジュールは、ターゲットシステムのための１つまたは複数の異なる制御要素を制御し、またはターゲットシステムの部分を表しもしくはそれと相互作用し、他の実施形態および状況では、単一の判断モジュールがターゲットシステムを制御するように単独で動作することができる。ルーチン６００はさらに、特定の例示的判断モジュールによって実行されるアクションを、ターゲットシステムの部分を制御する際にそれが展開されたときに反映するが、判断モジュールの少なくとも部分の実行は、他の時間に行われてもよく、図５Ａ〜図５ＢのＣＤＤ判断モジュール構築ルーチン５００に関連してより詳細に論じられるように、たとえば、判断モジュールが展開される前に判断モジュールに関するモデルを初めにトレーニングする。
【０３６７】
ルーチン６００の示された実施形態はブロック６１０で始まり、ここでは、判断モジュールの初期モデルが決定され、初期モデルは、制御されるターゲットシステムの少なくとも部分、ターゲットシステムの制御に関連する達成を試みる判断モジュールの１つまたは複数の目標、および任意選択でターゲットシステムの初期状態情報を含む。ルーチンはブロック６１５へと続き、図５Ａ〜図５Ｂのブロック５５３および５５５に関連してより詳細に論じられるように、必要に応じて初期モデルをトレーニングするための１つまたは複数のアクションを行うが、いくつかの実施形態および状況では、ブロック６１５のそのようなトレーニングは、図５Ａ〜図５Ｂのルーチン５００によって初期トレーニングがされない場合のみに行われ、他の実施形態および状況では、ブロック６１５のトレーニングは、判断モジュールが実行を開始したときに（たとえば、初期作成およびトレーニングの後に直ちに展開されない場合に）ターゲットシステムの現在の状態に関する情報を捕捉し、および／または、ブロック６３０で開始される図７Ａ〜図７Ｂのルーチン７００に関連してより詳細に論じられるように、折に触れてモデルを再トレーニングするために行われる。
【０３６８】
ブロック６１５の後、ルーチンはブロック６１７へと続き、判断モジュールの各制御アクション判断を行うために使用する時間期間を決定し、たとえば、ターゲットシステムにおける制御要素修正が必要とされる率を反映する、および／または制御要素の将来の操作を変更し得る新しく来る状態情報が受け取られる率を反映する。次いで、ルーチンはブロック６２０へと続き、判断モジュールの実行の始動から前進する第１の時間期間から始まって、次の時間期間を開始する。次いで、ブロック６２０〜６８０が、判断モジュールの実行が中断または終了されるまで、そのような各時間期間が進むループで実行されるが、他の実施形態では、特定の判断モジュールが、その各実行の際に単一の時間期間のみで実行され得る。
【０３６９】
ブロック６２５では、ルーチンは、任意選択で、時間期間の状態情報を取得し、状態情報は、たとえば、最終の時間期間が始まってからターゲットシステムまたは１つもしくは複数の関連する外部ソースに関して受け取られた、および／または必要に応じてターゲットシステムの１つもしくは複数の要素の現在の値または対応する変数を能動的に取り込むことによって受け取られた現在の状態情報である。ブロック６３０では、ルーチンは次いで、判断モジュールのローカルＣＣＤ制御アクション決定コンポーネントの実行を開始し、そのようなルーチンの一例は、図７Ａ〜図７Ｂのルーチン７００に関連してより詳細に論じられる。ブロック６３５では、ブロック６３０におけるコンポーネントの実行の結果が受け取られ、そうすることは、現在の時間期間について判断モジュールが行うことができる１つまたは複数の提案された制御アクション決定を含む現在の時間期間および判断モジュールについてのローカル解を有する判断モジュールの更新されたモデルを取得するか、または、ブロック６３０におけるコンポーネントの実行の許容される時間において判断モジュールについてローカル解が見つけられなかったという標識を受け取ることを含む。ブロック６４０で解が見つけられたかどうかが決定され、見つけられた場合、ブロック６４２へと続いて、判断モジュールの更新されたモデルを記憶し、そうでない場合、ブロック６４３へと続き、判断モジュールの先行モデルを使用して、図７Ａ〜図７Ｂのルーチン７００に関連してより詳細に論じられるように、以前のモデル（たとえば、状態情報の最近の変化および／または他の判断モジュールのアクティビティの最近の変化をあったとしても反映していない）に基づいて現在の時間期間について提案された１つまたは複数の制御アクション決定を決定する。
【０３７０】
ブロック６４２または６４３の後、ルーチンはブロック６４４へと続き、ローカル判断モジュールと同じ自動制御システムの一部のような現在のターゲットシステムの部分を他の判断モジュールが共同で制御しているかどうかを決定し、そうしている場合はブロック６４５へと続く。そうでない場合、ルーチンは、実行する最終の決定された制御アクションとして判断モジュールのローカルの提案された制御アクションを選択し、ブロック６７５へと続いて、現在の時間期間にそれらの制御アクションを実装する。
【０３７１】
他の動作している判断モジュールがある場合、ブロック６４５においてルーチンは、判断モジュールのローカル解の提案された制御アクション決定を、同じターゲットシステムを共同で制御している他の判断モジュールのアクティビティと同期する際に使用するための、ＣＤＤ調整制御管理（ＣＣＭ）コンポーネントのローカルコピーを、ローカル判断モジュールが含むかどうかを決定する。含む場合、ルーチンはブロック６４７へと続き、判断モジュールの１つまたは複数の提案された制御アクション決定、および判断モジュールの対応する現在のローカルモデルを、ローカルＣＤＤ  ＣＣＭコンポーネントに提供し、そうでない場合、ブロック６４９へと続いて、判断モジュールの１つまたは複数の提案された制御アクション決定、および判断モジュールの対応するローカルモデルを、１つまたは複数の集中化されたＣＤＤ  ＣＣＭコンポーネントに提供する。
【０３７２】
ブロック６４７または６４９の後、ルーチンはブロック６５５へと続き、ブロック６４７または６４９におけるＣＤＤ  ＣＣＭコンポーネントのアクションの結果を取得し、そうすることは、さらに更新されたモデルが現在の判断モジュールに関する時間期間に行う１つまたは複数の最終制御アクション決定を示すように、現在の判断モジュールのローカルモデルと１つまたは複数の他の判断モジュールからの情報との同期により得られるさらに更新されたモデルを取得すること、または、そのような同期が許容される時間内に完成されていないという標識を取得することのいずれかを含む。ルーチンはブロック６６０へと続き、同期が完成されたかどうかを決定し、完成された場合、ブロック６６５へと続いて、同期によるさらに更新されたモデルを記憶し、そうでない場合、ブロック６７０へと続き、時間期間についての最終制御アクション決定として、判断モジュールに対してローカルに従来の提案された制御アクション決定を使用する。
【０３７３】
ブロック６６５または６７０の後、ルーチンはブロック６７５へと続き、たとえば、値を修正するもしくは他の形でターゲットシステムの１つもしくは複数の制御要素を操作するターゲットシステムにおける１つもしくは複数のイフェクチュエータ（effectuator）と相互作用することによって、または他の形でそのような修正もしくは他の操作を生じさせるようにターゲットシステムに入力を提供することによって、ターゲットシステムに判断モジュールについての１つまたは複数の最終の決定された制御アクションを実装する。ブロック６８０では、ルーチンは任意選択で、行われた制御アクションのターゲットシステムにおける結果に関する情報を取得し、そのような取得された結果に関する、および／または現在の時間期間の判断モジュールのアクティビティに関する情報を、ＣＤＤシステムに記憶および／または提供する。
【０３７４】
ブロック６８０の後、ルーチンはブロック６９５へと続き、たとえば終了または中断する標識が受け取られるまで、継続するかどうかを決定する（たとえば、ターゲットシステムの現在の動作の終了、またはターゲットシステムの少なくとも部分を制御する判断モジュールの使用の終了を反映する）。継続すると決定された場合、ルーチンはブロック６２０に戻って、次の時間期間を開始し、そうでない場合はブロック６９９へと続き、終了する。
【０３７５】
図７Ａ〜図７Ｂは、ＣＤＤ制御アクション決定ルーチン７００の例示的実施形態のフロー図である。ルーチンは、たとえば、図３のコンポーネント３４４および／または図２のコンポーネント１４４ａ〜ｎもしくは２４４の実行によって提供されて、たとえば、特定の時間期間中にターゲットシステムに関して提案および／または実装する判断モジュールについての制御アクションを決定し、いくつかの実施形態では、可能な場合に１つまたは複数の目標に関して行う最適に近い（たとえば、最適解の閾値内の）アクションを決定するために最適化を行うことを含む。ルーチンの示された実施形態は、特定の判断モジュールにローカルで実行され、したがって、一部または全部の判断モジュールは各々がそのようなルーチンのローカルバージョンを実装し得るが、他の実施形態では、ルーチンは、１つまたは複数の判断モジュールが１つまたは複数のネットワークを介して相互作用する１つまたは複数のコンポーネントによって、集中化された様式で実装されてよく、たとえば、特定の判断モジュールが、ローカル判断モジュールの代わりに動作するのではなく、特定の時間に使用されるように指示される。
【０３７６】
ルーチンの示された実施形態７００は、ブロック７０３で始まり、ここでは、情報または要求が受け取られる。ルーチンはブロック７０５へと続き、情報または要求のタイプを決定し、それに応じて進行する。具体的には、ローカル判断モジュールの現在のモデルが与えられたとして現在の時間期間についての解を決定することを試みる要求が、ブロック７０３で受け取られた場合、ルーチンはブロック７１０へと続き、ブロック７１０〜７９０に関連してより詳細に論じられるようなアクティビティの実行を始める。そうではなく、ブロック７６０および７６５に関連してより詳細に論じられるように、ローカル判断モジュールの現在のモデルについて１つまたは複数のルールまたは他の制約を緩和する要求が受け取られたとブロック７０５で決定された場合、ルーチンはブロック７６５へと続く。ブロック７７５および７８０に関連してより詳細に論じられるように、ローカル判断モジュールの現在のモデルに対する１つまたは複数のルールまたは他の制約を修復する要求が受け取られたとブロック７０５で決定された場合、ルーチンはブロック７８０へと続き、（たとえば、ＣＤＤ判断モジュール構築コンポーネントと相互作用するため、またはそうではなく別の様式で１つもしくは複数のユーザと相互作用するために）ルール修復プロセス中に使用するユーザ入力を取得して、たとえば、ローカル判断モジュールの現在のモデルが、さらにもたらされるユーザアクションに基づいて後で更新もしくは置換されることを可能にし、または任意選択で、ターゲットシステムの動作が中断され得る場合に、そのような更新されたモデルが受け取られるまでルーチン７００をさらに実行するのを待つ。そうではなく、情報または要求が別のタイプであるとブロック７０５で決定された場合、ルーチンは代わりにブロック７０８へと続き、適宜に１つまたは複数の他の指示された動作を行い、次いでブロック７９９に進む。そのような他の指示された動作は、たとえば、ローカル判断モジュールと共にターゲットシステムを共同で制御している１つまたは複数の他の判断モジュールによって提案または実行される現在のモデルおよび／または制御アクションに関する情報（たとえば、図８Ａ〜図８Ｂのルーチン８００に関連してより詳細に論じられるように、コンセンサスまたは収束された共有モデルを生成することによって、そのような他の判断モジュールとローカル判断モジュールのモデルを同期する際に使用する）を受け取ること、ルーチン７００の進行中の動作に使用するためのモデルまたはモデルの基礎となる情報に対する更新を（たとえば、ＣＤＤ判断モジュール構築コンポーネントから、たとえば、ブロック７８０で行われた相互作用の結果を）受け取ること、図６Ａ〜図６Ｂのルーチン６００で論じられたように使用するためなどに、ターゲットシステムの現在の状態情報を受け取ることなどを含み得る。
【０３７７】
現在の時間期間についてローカル判断モジュールの現在のモデルに基づいて解の要求がブロック７０３で受け取られたとブロック７０５で決定された場合、ルーチンはブロック７１０へと続き、ターゲットシステムの少なくとも部分のローカル判断モジュールの現在のモデルを表す結合された微分方程式の現在のセットを、任意選択で現在の時間についてのターゲットシステムについての追加の状態情報と共に受け取る。ルーチンは次いで、ブロック７１５へと続き、ブロック７５５、７７０、および７３０に関連してより詳細に論じられるように、たとえば、ルーチンは対応する判断モジュールの初期実行の際に初めて呼び出される場合、または進行中の動作からのエラー測定が再トレーニングの必要を指示する場合に、モデルをトレーニングまたは再トレーニングするかどうかを決定する。モデルをトレーニングまたは再トレーニングすると決定された場合、ルーチンはブロック７２０へと続き、たとえば図５Ａ〜図５Ｂのルーチン５００のブロック５５３に関連して先に論じられたのと同様に、トレーニング時間窓のサイズ、時間窓内のトレーニング時間スライスのサイズ、および／またはトレーニング時間窓内のトレーニング時間スライスのタイプのうちの１つまたは複数を決定する。ブロック７２０の後、ルーチンはブロック７２５へと続き、ターゲットシステムの部分的初期状態情報を使用してモデルをトレーニングし、そうすることは、図５Ａ〜図５Ｂのルーチン５００のブロック５５５に関連してより詳細に論じられるように、時間スライスの各々について時間窓にわたって制御アクションを行う効果をシミュレートすることによって、知られていないおよび／または直接観測可能でないターゲットシステムについての状態変数の値を推定することを含む。
【０３７８】
ブロック７２５の後、またはそうではなくブロック７１５でモデルをトレーニングもしくは再トレーニングしないと決定された場合、ルーチンはブロック７３０へと続き、区分線形解析を行って、ブロック７１０で取得された現在のモデルおよび任意の追加の状態情報の解を決定するように試み、解は（決定された場合、）現在の時間期間に行うべきローカル判断モジュールについての１つまたは複数の提案された制御アクション決定を含み、また、いくつかの実施形態では、他の箇所でより詳細に論じられるように、１つまたは複数のモデルエラーゲージを使用して、現在のモデルに関して１つまたは複数のエラー測定を行う。ルーチンは次いで。ブロック７３５に続き、ブロック７３０の動作に許容される時間量（たとえば、現在の時間期間の定義されたサブセットまたは割合）内でブロック７３０の動作が解を決定したかどうかを決定し、解を決定した場合、ブロック７４０へと続き、解を反映するように、結合された微分方程式の現在のセットおよびその結果のローカル判断モジュールの現在のモデルを更新し、結果の更新された情報はルーチン７００の出力として提供される。
【０３７９】
そうではなく、ブロック７３０の動作が解を決定しなかったとブロック７３５で決定された場合、ルーチンはブロック７４５へと続き、解を決定するさらなる試みのために追加の時間が現在の時間期間内で利用可能であるかどうかを決定し、利用可能でない場合、ブロック７９０へと続いて、現在の時間期間について解が決定されなかったことを指示するルーチン７００の出力を提供する。
【０３８０】
他方、現在の時間期間内で追加の時間が利用可能である場合、ルーチンは、ブロック７５５〜７８０へと続けて実行し、解を識別するための１つまたは複数のさらなる試みを行う。さらなる解決定の試みを続けるために充分な時間が利用可能な場合、ブロック７５５〜７８０の動作のうちの１つまたは複数が、与えられた時間期間において複数回繰り返して行われ得ることは理解されよう。具体的には、ルーチンは、追加の時間が利用可能であるとブロック７４５で決定された場合にブロック７５５へと続き、ここでは、それは、ブロック７３０に関連して論じられたゲージからのモデルエラー測定値などに基づいて、モデルに対する修正が必要とされることを指示する１つまたは複数の閾値を超えるモデルエラー測定値を、１つまたは複数のゲージからの測定値が指示するかどうかを決定する。指示されない場合、ルーチンはブロック７６０へと続き、現在の時間期間について緩和されるべき利用可能な現在のモデルにおける（時間期間中に以前に緩和されることが試みられていない）１つまたは複数のルールまたは他の制約が（これが、現在の時間期間においてルートのこの部分の最初の通過ではない場合に）存在するかどうかを決定し、存在する場合、ブロック７６５へと続き、１つまたは複数のそのようなルールまたは他の制約を緩和し、ブロック７３０に戻って、それらの緩和されたルールまたは他の制約に基づいて、改訂されたモデルを用いて区分線形解析を再試行する。
【０３８１】
そうではなく、ゲージの１つまたは複数からのモデルエラー測定値が１つまたは複数の対応する閾値を満たすのに充分であるとブロック７５５で決定された場合、ルーチンは代わりにブロック７７０へと続き、そうするのに充分なエラーを指示するゲージの１つまたは複数に基づいて、たとえばモデルに対する更新の１つまたは複数の時間期間にわたる蓄積されたエラーに基づいて、モデルを再トレーニングするかどうかを決定する。再トレーニングする場合、ルーチンはブロック７２０に戻って、ブロック７２０および７２５でそのような再トレーニングを行い、次いでブロック７３０へと続いて、結果の再トレーニングモデルを用いて区間線形解析を再試行する。
【０３８２】
そうではなく、モデルを再トレーニングしないとブロック７７０で決定された場合（または、モデルが、現在の時間期間において既に再トレーニングされてブロック７３０の結果の再試行が解を見つけるのに再び失敗した場合）、ルーチンはブロック７７５へと続き、ゲージの１つまたは複数からのモデルエラー測定値が、修復される必要があるエラーを潜在的に有するモデルにおける１つまたは複数のルールまたは他の制約のサブセットを指示するかどうかを決定する。指示される場合、ルーチンはブロック７８０へと続き、ＣＤＤ判断モジュール構築コンポーネントを介して１つまたは複数のユーザへ情報を提供して、ユーザが適宜にルールまたは他の制約を改訂することを可能にするが、他の実施形態では、そうではなく、一部または全部のそのようなルール修復アクティビティが自動化された様式で試みられまたは行われる。ブロック７８０の後、またはそうではなく、どのルールも修復しないとブロック７７５で決定された場合、ルーチンはブロック７９０へと続き、現在の時間期間において解が決定されなかったという標識を提供する。ブロック７４０、７０８、または７９０の後、ルーチンはブロック７９９に進んで終了する。そうではなく、ルーチン７００が、ルーチンのための実行しているコンポーネントに対してリモートの１つまたは複数の判断モジュールをサポートする集中化されたルーチンとして実装された場合、ルーチン７００は代わりにブロック７０３に戻って、さらなる情報または要求を待つことは理解されよう。
【０３８３】
図８Ａ〜図８Ｂは、ＣＤＤ調整制御管理ルーチン８００の例示的実施形態のフロー図である。ルーチンは、たとえば、図３のコンポーネント３４６および／または図２のコンポーネント１４６ａ〜ｎの実行によって提供されて、たとえば、ターゲットシステムを共同で制御している複数の判断モジュールの間で現在のモデルおよびそれらの提案された制御アクションを同期させることを試みることができる。ルーチンの示された実施形態では、同期は、可能な場合にコンセンサス共有モデルで表されるパレート均衡を決定するパレートゲーム技法を使用して、１つまたは複数の他の判断モジュールの現在の状態に関する情報に基づく、特定のローカル判断モジュールに関する中間共有モデルと、その特定のローカル判断モジュールのローカルの現在のモデルとの対の様式で行われるが、他の実施形態では、他のタイプの同期方法が使用されてよい。加えて、示された実施形態では、ルーチン８００は、特定のローカル判断モジュールについてローカルで行われ、たとえば、そのローカル判断モジュール内に含まれることによって行われるが、他の実施形態では、ルーチン８００は、１つまたは複数の判断モジュールであって、そのルーチンのためのコンポーネントを実装するコンピューティングシステムからリモートであり、１つまたは複数のコンピュータネットワークを介してそれらの判断モジュールと通信する、１つまたは複数の判断モジュールをサポートするように集中化された様式で実装されてよく、たとえば、特定の判断モジュールが、ローカル判断モジュールの代わりに動作するのではなく、特定の時間に使用されるように指示される。
【０３８４】
ルーチン８００の示された実施形態は、ブロック８０５で始まり、ここでは、それが情報または別の標識を受け取るのを待つ。ルーチンはブロック８１０へと続き、別の判断モジュールに関するコンセンサスモデルまたは他の更新された情報が受け取られたかどうかを、たとえばこの別の判断モジュールのために実行されるルーチン８００のコピーから、決定し、受け取られた場合、ブロック８１５へと続き、ブロック８３０に関連してより詳細に論じられるように、ルーチン８００の現在のコピーが代わりに実行されているローカル判断モジュールと共に使用するためのローカル中間共有モデル情報を、受け取られた情報を使用して更新する。そうではなく、ブロック８０５で受け取られた情報または要求が１つもしくは複数の他の判断モジュールに関連する情報でないとブロック８１０で決定された場合、またはブロック８１５の後で、ルーチンはブロック８２０へと続き、１つまたは複数の他の判断モジュールについての情報を含むローカル判断モジュールの中間共有モデルに関する情報を使用することによって、ローカル判断モジュールの現在のローカルモデルについての同期を現在行うかどうかを決定し、たとえば、ブロック８０５で（たとえば、その判断モジュールに対してローカルなＣＤＤ制御アクション決定コンポーネントのコピーについてのルーチン７００の動作に基づいて）ローカル判断モジュールのモデルに対する更新が受け取られるたびに、および／または、ローカル判断モジュールの中間共有モデルを更新する情報がブロック８０５で受け取られブロック８１５で使用され、もしくは代わりにブロック８０５で明示的に指示されるたびに、そのような同期を行う。同期が現在実行されるべき場合、ルーチンはブロック８２５へと続き、そのような同期アクティビティに関連するブロック８２０〜８８０の実行を始める。そうでない場合、ルーチンはブロック８８５へと続き、適宜に１つまたは複数の他の指示された動作を行って、たとえば、ルーチン８００の動作に関する現在の情報を求めるＣＤＤシステムもしくは他の要求元からの要求を受け取り、および／または（たとえば、前の要求を反映するために）対応する情報を１つまたは複数のエンティティに提供する。
【０３８５】
ブロック８０５で受け取られた更新されたモデルに関連する情報などに基づいて、同期が現在行われるべきとブロック８２０で決定された場合、ルーチンはブロック８２５へと続き、同期の際に使用するローカル判断モジュールについての現在のローカルモデルを取得し、このモデルは、ローカル判断モジュールに関するローカル解に基づく現在の時間期間において行う１つまたは複数の提案された制御アクションを含む。ルーチンは次いで、ブロック８３０へと続き、ターゲットシステムの制御に共同して参加している１つまたは複数の他の判断モジュール（たとえば、すべての他の判断モジュール）についての情報を表すローカル判断モジュールの中間共有モデルについての情報を取り出し、その中間共有モデルは、それらの１つまたは複数の他の判断モジュールのローカル解からもたらされる１つまたは複数の他の提案された制御アクションを同様に表し、任意選択で、部分的または完全な同期がそれらの１つまたは複数の他の判断モジュールについてそれら自体の間で行われた後に取り出す。
【０３８６】
ルーチンは次いで、ブロック８３５へと続き、ローカル判断モジュールの現在のモデルと中間共有モデルとの両方に解を同時に提供することによって、ローカル判断モジュールの現在のモデルと中間共有モデルとを同期するコンセンサス共有モデルを決定しようと試みる。いくつかの実施形態では、ブロック８３５の動作は、ローカルモデルと中間共有モデルが組み合わされて、１つまたは複数の解が識別されるべき組合せモデルを作成する場合などに、図７Ａ〜図７Ｂのルーチン７００のブロック７１０〜７３０に関連して論じられたのと同様に行われる。他の箇所でより詳細に論じられるように、いくつかの実施形態では、ローカル現在のモデルおよび中間共有モデルは各々が、ハミルトン関数によって表され、それぞれのハミルトン関数について加法的にそのような組み合わされたモデルの簡単な作成を可能にし、図６Ａ〜図６Ｂおよび図７Ａ〜図７Ｂのルーチン６００および／または７００の動作はそれぞれ、そのようなハミルトン関数を使用してそれらが更新および他の形で操作するモデルを同様に表す。
【０３８７】
ブロック８３５の後、ルーチンはブロック８４０へと続き、同期が行われるように試みられる現在の時間期間の断片または他の部分などの許容される時間の量においてブロック８３５の動作が成功したかどうかを決定し、成功した場合、ルーチンはブロック８４５へと続き、コンセンサス共有モデルを反映するようにローカル判断モジュールのローカルモデルおよび中間共有モデルの両方を更新する。前述されたように、集合的グループの１つまたは複数の他の判断モジュールを表す中間共有モデルを変更すると共に、各判断モジュールがコンセンサス共有モデルを繰り返し決定するために充分な時間が許容される場合、集合的グループの判断モジュールは、最終的に単一の収束された共有モデルに収束することができるが、他の実施形態および状況では、そのような収束に充分な時間が存在しないことがあり、または他の問題がそのような収束を妨げることがある。ブロック８４５の後、ルーチンはブロック８５０へと続き、任意選択で、ローカル判断モジュールについて決定されたコンセンサス共有モデル（および／または８３５の動作がそのような収束された共有モデルを作成する際の最後のステップである場合には、収束された共有モデル）を他の判断モジュールに通知し、たとえば、通知される判断モジュールの各々がルーチン８００のそれ自体のローカルバージョンを実装しており、提供される情報は、現在のローカル判断モジュールの新しく構築されたコンセンサス共有モデルからの情報を含むそれら他の判断モジュールの中間共有モデルの一部として使用される場合に、そのように通知する。
【０３８８】
そうではなく、許容される時間内で同期が発生しなかったとブロック８４０で決定された場合、ルーチンは続いてブロック８６０〜８７５を実行して、図７Ａ〜図７Ｂのルーチン７００のブロック７４５〜７８０に関連して論じられたのと同様に、１つまたは複数の修正との同期を再試行し、充分な時間が利用可能である場合は繰り返し再試行することがある。示された例では、ルーチンは、追加の時間が、同期の１つまたは複数のそのような再試行に利用可能であるかどうかをブロック８６０で決定し、利用可能でない場合、ルーチンはブロック８８０へと続き、許容される時間内で同期が行われなかったという標識を提供する。さもなければ、ルーチンはブロック８７０へと続き、ローカル判断モジュールの現在のモデルおよび／またはローカル判断モジュールの中間共有モデルでその情報が表される１つもしくは複数の他の判断モジュールの一方または両方に関して、ルールもしくは他の制約を緩和すること、ルールもしくは他の制約を修復すること、および／またはモデルを再トレーニングすることのうちの１つまたは複数を実行するために１つまたは複数のアクションを行う。このように進行するとブロック８７０で決定された場合、ルーチンはブロック８７５へと続き、往々にしてルーチン７００に関連して論じられたのと同様に１つずつ、対応するアクションを行い、そうすることは、その結果の更新をローカル判断モジュールの現在のモデルおよび／またはローカル判断モジュールのローカル中間共有モデルに対して行うことを含み、その後、ルーチンはブロック８３５に戻って、ローカル判断モジュールのローカルモデルと中間共有モデルの同期を再試行する。
【０３８９】
そうではなく、緩和、修復、および／または再トレーニングに関してさらなるアクションが行われないとブロック８７０で決定された場合、ルーチンは代わりにブロック８８０へと続く。ブロック８５０、８８０、または８８５の後、ルーチンはブロック８９５へと続き、たとえばルーチン８００の動作を停止または中断する明示的標識が受け取られるまで、継続するかどうかを決定して、たとえば、ターゲットシステムの動作の終了、ならびに／またはターゲットシステムを制御するためのローカル判断モジュールおよび／もしくは複数の判断モジュールの集合的グループの使用の終了を反映するようにする。継続すると決定された場合、ルーチンはブロック８０５に戻り、そうでない場合はブロック８９９に進んで終了する。
【０３９０】
図９は、ターゲットシステムとターゲットシステムの少なくとも部分を制御している１つまたは複数の判断モジュールとの間の相互作用に関して、代表的な一般的ターゲットシステムについて実行されるルーチン９００の例示的実施形態のフロー図を示す。ルーチンは、たとえば、図３のターゲットシステム３６０および／もしくは３７０ならびに／または図１および図２のターゲットシステム１６０および／もしくは１７０の実行によって提供されて、たとえば、ターゲットシステムに固有の動作を実装することができる。ルーチンの示された実施形態は、１つまたは複数の判断モジュールとターゲットシステムの相互作用に焦点を当てていること、ならびに、多くまたはすべてのそのようなターゲットシステムが、簡潔にするためにここでは示されていないそれらのターゲットシステムに固有の様式で多くの他の動作を行うことは理解されよう。
【０３９１】
ルーチンはブロック９１０で始まり、ここでは、それが、任意選択で、ターゲットシステムについてのＣＤＤシステムの自動制御システムにおいて使用するためのターゲットシステムの初期状態情報をＣＤＤシステムに提供し、たとえば、ＣＤＤシステムもしくはターゲットシステムのためのその自動制御システムからの要求に応答して、またはそうではなく（たとえば、ターゲットシステムの始動時に実行されるように）ターゲットシステムに固有の構成に基づいて提供する。ブロック９１０の後、ルーチンはブロック９２０へと続き、自動制御システムの１つまたは複数のそのような判断モジュールによって実行されるターゲットシステムの複数の要素の１つまたは複数の制御要素についての１つまたは複数の修正された値または他の操作を含む、ターゲットシステムのための自動制御システムを実装する１つまたは複数の判断モジュールの集合的グループからの１つまたは複数の入力を受け取る。他の箇所でより詳細に論じられるように、ブロック９２０、９３０、９４０は、複数の時間期間の各々について繰り返して行われてよく、それは、ターゲットシステムに応じて時間が大きく異なることがある（たとえば、マイクロ秒、ミリ秒、秒の１００分の１、秒の１０分の１、１秒、２秒、５秒、１０秒、１５秒、３０秒、１分、５分、１０分、１５分、３０分、１時間など）。
【０３９２】
ブロック９２０の後、ルーチンはブロック９３０へと続き、受け取られた入力に基づいてターゲットシステムにおいて１つまたは複数のアクションを行い、そうすることは、任意選択で、制御要素の操作に基づいてターゲットシステム内で１つまたは複数の結果の出力または他の結果を生成することを含む。ブロック９４０では、ルーチンは次いで、任意選択で、ターゲットシステム内の出力もしくは他の結果に関する情報を提供し、および／またはターゲットシステムに関する他の現在の状態情報を、ＣＤＤシステムの自動制御システム、および／または自動制御システムの特定の判断モジュールに提供する。ルーチンは次いで、ブロック９９５へと続き、たとえばターゲットシステムの動作を停止または中断する明示的標識が受け取られるまで、継続するかどうかを決定する。継続すると決定された場合、ルーチンはブロック９２０に戻って、次の時間期間についての次のセットの制御アクションを始め、そうでない場合はブロック９９９に進んで終了する。他の箇所でより詳細に論じられるように、特定の判断モジュールに提供される状態情報は、外部システムからターゲットシステムへの要求を含むことができ、自動制御システムおよびその判断モジュールは、その要求にどのように応答するかを１つまたは複数の様式で決定することができる。
【０３９３】
本明細書に説明された非排他的な例示的実施形態が以下の項でさらに論じられる。
【０３９４】
１．コンピュータに実装された方法であって、
１つまたは複数のコンピューティングシステムにより少なくとも部分的に実装された自動制御システムによって、バッテリにより供給された電気の直流（ＤＣ）を用いてバッテリにより出力される電力を制御するのに使用するための情報を受け取るステップであって、受け取られた情報は、複数のルールに基づくモデルを含み、複数のルールは各々が、評価するための１つまたは複数の条件を有し、複数のルールは、出力される電力の制御中に定義された範囲にバッテリの内部状態を維持することを含む１つまたは複数の定義された目標を達成するように、バッテリに接続されたＤＣ−ＤＣアンプを操作することを伴う制約を指定する、ステップと、
自動制御システムによって、受け取られた情報に基づいて、バッテリにより出力される電力を制御するステップと
を含み、上記ステップは、
自動制御システムによって、１つまたは複数の時間において、１つまたは複数の時間におけるバッテリの１つまたは複数の属性についての現在の値を識別するセンサ情報、および１つまたは複数の時間において満たされるべき１つまたは複数の電気負荷に関する情報を取得するステップと、
自動制御システムによって、取得されたセンサ情報に少なくとも部分的に基づいて、１つまたは複数の時間についてのバッテリの内部状態の１つまたは複数の推定値を生成するステップと、
自動制御システムによって、モデルと、バッテリの内部状態の１つまたは複数の推定値と、１つまたは複数の電気負荷とに少なくとも部分的に基づいて、１つまたは複数の時間中に定義された範囲にバッテリの内部状態を維持しながら、１つまたは複数の電気負荷のうちの少なくとも一部を満たすように１つまたは複数の時間においてバッテリが供給する電力の１つまたは複数の量を決定するステップと、
自動制御システムによって、電力の１つまたは複数の決定された量の各々について、出力される電力が電力の決定された量を満たすように、ＤＣ−ＤＣアンプの１つまたは複数の設定を実装するステップと
を含む、コンピュータに実装された方法。
【０３９５】
２．１つまたは複数の時間は、第１の時間およびより後の第２の時間を含み、
１つまたは複数の電気負荷は、第１の時間における第１の電気負荷、および第２の時間における第２の電気負荷を含み、
１つまたは複数の時間においてバッテリが供給する電力の１つまたは複数の量の決定ステップは、第１の電気負荷よりも小さい第１の時間における第１の量の電力を供給することを決定するステップ、および第２の電気負荷を満たす第２の時間における第２の量の電力を供給することを決定するステップを含み、
ＤＣ−ＤＣアンプの１つまたは複数の設定の実装するステップは、第１の量の電力が第１の時間において供給されるように、第１の時間においてＤＣ−ＤＣアンプの少なくとも１つの第１の設定を実装するステップ、および第２の量の電力が第２の時間において供給されるように、第２の時間においてＤＣ−ＤＣアンプの少なくとも１つの第２の設定を実装するステップを含む、項１に記載のコンピュータに実装された方法。
【０３９６】
３．第１の電気負荷よりも小さい第１の時間における第１の量の電力を供給することを決定するステップは、第１の電気負荷を満たすように第１の時間において電力のより大きな量を供給することが、バッテリの内部状態を定義された範囲を超えさせる可能性が高いと決定するステップを含む、項２に記載のコンピュータに実装された方法。
【０３９７】
４．１つまたは複数の時間においてバッテリが供給する電力の１つまたは複数の量の決定ステップは、
第１の時間において第１の電気負荷を満たしバッテリが供給できる第１の時間における第１の量の電力を決定するステップと、
第１の時間についてのバッテリの内部状態の１つまたは複数の推定値のうちの１つに少なくとも部分的に基づいて、バッテリの内部状態が定義された範囲を超えると決定するステップと、
バッテリの内部状態が定義された範囲を超えると決定するステップに少なくとも部分的に基づいて、第１の量よりも小さく第１の電気負荷を満たすのに充分ではない第２の量の電力を決定するステップと
を含み、
ＤＣ−ＤＣアンプの１つまたは複数の設定の実装するステップは、第２の量の電力が第１の時間において供給されるように、第１の時間においてＤＣ−ＤＣアンプの少なくとも１つの第１の設定を実装するステップを含む、項１から３のいずれかに記載のコンピュータに実装された方法。
【０３９８】
５．ＤＣ−ＤＣアンプは、電界効果トランジスタ（ＦＥＴ）アンプであり、ＤＣ−ＤＣアンプの１つまたは複数の設定の実装するステップは、供給する電流の量を決定するステップ、およびＦＥＴアンプのゲートに電圧を印加して、決定された量の電流を生成するステップを含む、項１から４のいずれかに記載のコンピュータに実装された方法。
【０３９９】
６．ＤＣ−ＤＣアンプは、降圧コンバータまたは昇圧コンバータのうちの少なくとも一方の一部であり、ＤＣ−ＤＣアンプの１つまたは複数の設定の実装するステップは、供給する電圧の量を決定するステップ、および降圧コンバータまたは昇圧コンバータのうちの少なくとも一方を修正して、決定された量の電圧を生成するステップを含む、項１から５のいずれかに記載のコンピュータに実装された方法。
【０４００】
７．取得されたセンサ情報は、バッテリに関連付けられた電流、電圧、および１つまたは複数の温度の現在の値を識別し、バッテリの内部状態の１つまたは複数の推定値の生成するステップは、定義されたバッテリ温度モデルを使用して、現在の値に少なくとも部分的に基づいてバッテリの追加の内部温度を推定するステップを含む、項１から６のいずれかに記載のコンピュータに実装された方法。
【０４０１】
８．取得されたセンサ情報は、バッテリに関連付けられた電流、電圧、または温度のうちの少なくとも１つの現在の値を識別し、バッテリの内部状態の１つまたは複数の推定値の生成するステップは、バッテリの追加の内部温度またはバッテリの内部化学反応状態のうちの少なくとも一方を推定するステップを含む、項１から７のいずれかに記載のコンピュータに実装された方法。
【０４０２】
９．取得されたセンサ情報は、バッテリに関連付けられた電流、電圧、または温度のうちの少なくとも１つの現在の値を識別し、バッテリの内部状態の１つまたは複数の推定値の生成するステップは、バッテリの少なくとも１つの内部温度を推定するステップを含み、定義された範囲は、バッテリが早期の損傷を生じることなく動作するバッテリの内部温度の範囲を含む、項１から８のいずれかに記載のコンピュータに実装された方法。
【０４０３】
１０．バッテリは、１つまたは複数の電動デバイスを有するシステムの一部であり、１つまたは複数の電気負荷に関する取得された情報は、１つまたは複数の電動デバイスからの電気需要の量を含む、項１から９のいずれかに記載のコンピュータに実装された方法。
【０４０４】
１１．バッテリは、電気グリッドに接続され、１つまたは複数の電気負荷に関する取得された情報は、電力がバッテリから供給されるように求める電気グリッドのオペレータからの要求を含む、項１から１０のいずれかに記載のコンピュータに実装された方法。
【０４０５】
１２．モデルは、バッテリに接続されたＤＣ−ＤＣアンプを操作して、充電のためにバッテリに供給される電力の制御中に定義された範囲にバッテリの内部状態を維持することを伴う制約を指定する１つまたは複数のルールをさらに含み、方法は、自動制御システムによって、充電のためにバッテリに供給される電力を制御するステップをさらに含み、上記ステップは、
自動制御システムによって、１つまたは複数の追加の時間において、１つまたは複数の追加の時間におけるバッテリの１つまたは複数の属性についての現在の値を識別する追加のセンサ情報、および１つまたは複数の追加の時間においてバッテリに提供されるべき１つまたは複数の電気供給量に関する情報を取得するステップと、
自動制御システムによって、取得された追加のセンサ情報に少なくとも部分的に基づいて、１つまたは複数の追加の時間についてのバッテリの内部状態の１つまたは複数の追加の推定値を生成するステップと、
自動制御システムによって、モデルと、バッテリの内部状態の１つまたは複数の追加の推定値と、１つまたは複数の電気供給量とに少なくとも部分的に基づいて、１つまたは複数の追加の時間中に定義された範囲にバッテリの内部状態を維持しながら、１つまたは複数の電気供給量の少なくとも一部を受け入れるように、１つまたは複数の追加の時間においてバッテリが受け取る電力の１つまたは複数の追加の量を決定するステップと、
自動制御システムによって、電力の１つまたは複数の決定された追加の量の各々について、バッテリに供給される電力が電力の決定された追加の量を満たすように、ＤＣ−ＤＣアンプの１つまたは複数の設定を実装するステップと
を含む、項１から１１のいずれかに記載のコンピュータに実装された方法。
【０４０６】
１３．バッテリは、太陽光発電機を有するシステムの一部であり、バッテリに提供されるべき１つまたは複数の電気供給量に関する取得された情報は、太陽光発電機から利用可能な電気供給の量を含む、項１２に記載のコンピュータに実装された方法。
【０４０７】
１４．受け取られた情報に含まれるモデルは、バッテリのバッテリタイプに応じて構成され、方法は、出力される電力の制御するステップの前の初期トレーニング期間の間に、バッテリの１つまたは複数の属性の値の変化、およびバッテリにより供給されている電気負荷の変化を監視し、監視された値の変化および監視された電気負荷の変化に対応するようにモデルを修正することによって、バッテリに固有の情報にモデルを適合させるステップをさらに含む、項１から１３のいずれかに記載のコンピュータに実装された方法。
【０４０８】
１５．出力される電力の制御するステップは、バッテリの増大するインピーダンスに少なくとも部分的に基づくバッテリの１つまたは複数の属性の値の経時的変化を監視することによって、受け取られた情報に含まれるモデルをバッテリに固有の追加の情報に適合させるステップと、モデルを監視された変化に対応するように修正するステップとをさらに含み、決定され実装するステップによって出力されるようになされるバッテリが供給する電力の少なくとも１つの量は、修正されたモデルに少なくとも部分的に基づく、項１から１４のいずれかに記載のコンピュータに実装された方法。
【０４０９】
１６．自動コントローラシステムは、バッターに接続的に結合されたバッテリコントローラコンポーネントを含み、制御アクション決定コンポーネントをさらに含み、制御アクション決定コンポーネントは、バッテリから遠隔で１つまたは複数のコンピューティングシステムのうちの少なくとも１つにおいて実行されており、１つまたは複数のコンピュータネットワークを介してバッテリコントローラコンポーネントと通信し、制御アクション決定コンポーネントは、電力の１つまたは複数の量の決定するステップを少なくとも行い、電力の決定された１つまたは複数の量に関して、１つまたは複数のコンピュータネットワークを介してバッテリコントローラコンポーネントに命令を送るステップをさらに行い、バッテリコントローラコンポーネントは、送られた命令に少なくとも部分的に基づいて、ＤＣ−ＤＣアンプの１つまたは複数の設定の実装ステップを少なくとも行う、項１から１５のいずれかに記載のコンピュータに実装された方法。
【０４１０】
１７．バッテリコントローラコンポーネントによって、制御アクション決定コンポーネントから１つまたは複数のコンピュータネットワークを介していかなる命令も受け取らずに追加の時間において、バッテリにより出力される電力を制御するステップをさらに含み、上記ステップは、
バッテリコントローラコンポーネントによって、追加の時間において、追加の時間におけるバッテリの１つまたは複数の属性についての現在の値を識別する追加のセンサ情報を取得するステップと、
バッテリコントローラコンポーネントによって、取得された追加のセンサ情報に少なくとも部分的に基づいて、追加の時間についてのバッテリの内部状態の追加の推定値を生成するステップと、
バッテリコントローラコンポーネントによって、バッテリの内部状態の追加の推定値に少なくとも部分的に基づいて、追加の時間において定義された範囲にバッテリの内部状態を維持するように、追加の時間においてバッテリが供給する電力の追加の量を決定するステップと、
バッテリコントローラコンポーネントによって、出力される電力が電力の決定された追加の量を満たすように、ＤＣ−ＤＣアンプの１つまたは複数の設定を実装するステップと
を含む、項１６に記載のコンピュータに実装された方法。
【０４１１】
１８．自動制御システムによって、現在の電気負荷なしで追加の時間において、バッテリにより出力される電力を制御するステップをさらに含み、上記ステップは、
自動制御システムによって、追加の時間において、追加の時間におけるバッテリの１つまたは複数の属性についての現在の値を識別する追加のセンサ情報を取得するステップと、
自動制御システムによって、取得された追加のセンサ情報に少なくとも部分的に基づいて、追加の時間についてのバッテリの内部状態の追加の推定値を生成するステップと、
自動制御システムによって、モデルと、バッテリの内部状態の追加の推定値とに少なくとも部分的に基づいて、追加の時間において定義された範囲にバッテリの内部状態を維持するように、追加の時間においてバッテリが供給する電力の追加の量を決定するステップと、
自動制御システムによって、出力される電力が電力の決定された追加の量を満たすように、ＤＣ−ＤＣアンプの１つまたは複数の設定を実装するステップと
を含む、項１から１７のいずれかに記載のコンピュータに実装された方法。
【０４１２】
１９．１つまたは複数の時間においてバッテリが供給する電力の１つまたは複数の量の決定するステップは、バッテリが供給した電力の少なくとも１つの以前の量に関する情報を取り出すステップと、１つまたは複数の時間において定義された範囲にバッテリの内部状態を維持することの一部として、バッテリが供給する電力の量の変化率をさらに制御するために、電力の決定された１つまたは複数の量を選択するステップと、をさらに含む、項１から１８のいずれかに記載のコンピュータに実装された方法。
【０４１３】
２０．少なくとも１つの以前の電気負荷を識別するステップと、少なくとも１つの以前の電気負荷から１つまたは複数の電気負荷への電気負荷の変化の１つまたは複数の量を決定するステップと、電気負荷の変化の決定された１つまたは複数の量に少なくとも部分的に基づいて、電力の決定された１つまたは複数の量の選択をさらに行うステップとをさらに含む、項１から１９のいずれかに記載のコンピュータに実装された方法。
【０４１４】
２１．バッテリの内部インピーダンスに少なくとも部分的に基づくバッテリの内部状態の少なくとも１つの以前の推定値を識別するステップと、少なくとも１つの以前の推定値から１つまたは複数の推定値へのバッテリの推定された内部インピーダンスの変化の１つまたは複数の量を決定するステップと、バッテリの推定された内部インピーダンスの変化の決定された１つまたは複数の量に少なくとも部分的に基づいて、電力の決定された１つまたは複数の量の選択をさらに行うステップとをさらに含む、項１から２０のいずれかに記載のコンピュータに実装された方法。
【０４１５】
２２．バッテリの内部温度に少なくとも部分的に基づくバッテリの内部状態の少なくとも１つの以前の推定値を識別するステップと、少なくとも１つの以前の推定値から１つまたは複数の推定値へのバッテリの推定された内部温度の変化の１つまたは複数の量を決定するステップと、バッテリの推定された内部温度の変化の決定された１つまたは複数の量に少なくとも部分的に基づいて、電力の決定された１つまたは複数の量の選択をさらに行うステップとをさらに含む、項１から２１のいずれかに記載のコンピュータに実装された方法。
【０４１６】
２３．ソフトウェア命令を記憶した非一時的コンピュータ可読媒体であって、ソフトウェア命令は、実行されると、自動制御システムの少なくとも一部を実装する１つまたは複数のデバイスに項１から２２のいずれかに記載の方法を実行させる、非一時的コンピュータ可読媒体。
【０４１７】
２４．システムであって、
１つまたは複数のデバイスの１つまたは複数のハードウェアプロセッサと、
１つまたは複数のハードウェアプロセッサのうちの少なくとも１つによって実行されると、項１から２２のいずれかに記載の方法をシステムに実行させる命令を記憶している１つまたは複数のメモリと
を備えるシステム。
【０４１８】
いくつかの実施形態では、上記に論じられたルーチンによって提供される機能は、より多くのルーチンに分割されるまたはより少ないルーチンに統合されるなど、代替的方法で提供されてよいことも理解されよう。同様に、いくつかの実施形態では、示されたルーチンは、他の示されたルーチンがそれぞれ欠けたときもしくはそのような機能を含むとき、または提供される機能の量が変更されたときなどに、説明されたものより多いまたは少ない機能を提供してよい。加えて、様々な動作が、特定の様式（たとえば、直列、並列、同期、または非同期など）および／または特定の順序で行われるように示されることがあるが、他の実施形態において他の順序および他の様式で動作が実行され得ることは当業者には理解されよう。また、上記に論じられたデータ構造は、異なる様式で、たとえば、単一のデータ構造を複数のデータ構造に分割させることによって、または複数のデータ構造を単一のデータ構造に統合させることによって構造化され得ることは、当業者には理解されよう。同様に、いくつかの実施形態では、示されたデータ構造は、他の示されたデータ構造がそれぞれ欠けたときもしくはそのような情報を含むとき、または記憶される情報の量またはタイプが変更されたときなどに、説明されたものより多いまたは少ない情報を提供してよい。
【０４１９】
上記から、例示のために特定の実施形態が本明細書で説明されているが、本発明の趣旨および範囲から逸脱することなく様々な修正が行われ得ることは理解されよう。したがって、本発明は、添付の特許請求の範囲およびそれに記載された要素による場合を除いて限定されない。加えて、本発明の特定の態様が特定の請求形態で以下に提案されるが、本発明者らは、任意の利用可能な請求形式で本発明の様々な態様を企図する。たとえば、本発明の一部の態様のみがコンピュータ可読媒体で実施されるものとして現在記載されているが、同様に他の態様もそのように実施されてよい。
【図１】
2019513000.tif 000147
【図２】
2019513000.tif 000148
【図３】
2019513000.tif 000149
【図４】
2019513000.tif 000150
【図５Ａ】
2019513000.tif 000151
【図５Ｂ】
2019513000.tif 000152
【図６Ａ】
2019513000.tif 000153
【図６Ｂ】
2019513000.tif 000154
【図７Ａ】
2019513000.tif 000155
【図７Ｂ】
2019513000.tif 000156
【図８Ａ】
2019513000.tif 000157
【図８Ｂ】
2019513000.tif 000158
【図９】
2019513000.tif 000159
【図１０】
2019513000.tif 000160
【図１１】
2019513000.tif 000161
【図１２】
2019513000.tif 000162
【図１３】
2019513000.tif 000163
【図１４】
2019513000.tif 000164
【図１５】
2019513000.tif 000165
【図１６】
2019513000.tif 000166
【図１７】
2019513000.tif 000167
【図１８】
2019513000.tif 000168
【図１９】
2019513000.tif 000169
【図２０】
2019513000.tif 000170
【図２１】
2019513000.tif 000171
【図２２】
2019513000.tif 000172
【図２３】
2019513000.tif 000173
【図２４】
2019513000.tif 000174
【図２５】
2019513000.tif 000175
【図２６】
2019513000.tif 000176
【図２７】
2019513000.tif 000177
【図２８】
2019513000.tif 000178
【図２９】
2019513000.tif 000179
【手続補正書】
【提出日】平成30年11月5日(2018.11.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータに実装された方法であって、
１つまたは複数のコンピューティングシステムにより少なくとも部分的に実装された自動制御システムによって、バッテリにより供給された電気の直流（ＤＣ）を用いて前記バッテリにより出力される電力を制御するのに使用するための情報を受け取るステップであって、前記受け取られた情報は、複数のルールに基づくモデルを含み、前記複数のルールは各々が、評価するための１つまたは複数の条件を有し、前記複数のルールは、出力される前記電力の前記制御中に定義された範囲に、前記バッテリの内部温度を含む前記バッテリの内部状態を維持することを含む１つまたは複数の定義された目標を達成するように、前記バッテリに接続されたＤＣ−ＤＣアンプを操作することを伴う制約を指定する、ステップであって、前記定義された範囲は、早期の損傷を生じることなく前記バッテリが動作する前記バッテリの内部温度の範囲を含む、ステップと、
前記自動制御システムによって、前記受け取られた情報に基づいて、前記バッテリにより出力される前記電力を制御するステップと
を含み、前記ステップは、
前記自動制御システムによって、１つまたは複数の時間において、前記１つまたは複数の時間における前記バッテリの１つまたは複数の属性についての現在の値を識別するセンサ情報、および前記１つまたは複数の時間において満たされるべき１つまたは複数の電気負荷に関する情報を取得するステップと、
前記自動制御システムによって、前記取得されたセンサ情報に少なくとも部分的に基づいて、前記１つまたは複数の時間についての前記バッテリの前記内部温度の１つまたは複数の推定値を含む、前記１つまたは複数の時間についての前記バッテリの前記内部状態の１つまたは複数の推定値を生成するステップと、
前記自動制御システムによって、前記モデルと、前記バッテリの前記内部状態の前記１つまたは複数の推定値と、前記１つまたは複数の電気負荷とに少なくとも部分的に基づいて、前記１つまたは複数の時間中に前記定義された範囲に前記バッテリの前記内部温度を維持しながら、前記１つまたは複数の電気負荷のうちの少なくとも一部を満たすように前記１つまたは複数の時間において前記バッテリが供給する電力の１つまたは複数の量を決定するステップと、
前記自動制御システムによって、電力の前記１つまたは複数の決定された量の各々について、出力される電力が電力の前記決定された量を満たすように、前記ＤＣ−ＤＣアンプの１つまたは複数の設定を実装するステップと
を含む、コンピュータに実装された方法。
【請求項２】
前記１つまたは複数の時間は、第１の時間およびより後の第２の時間を含み、
前記１つまたは複数の電気負荷は、前記第１の時間における第１の電気負荷、および前記第２の時間における第２の電気負荷を含み、
前記１つまたは複数の時間において前記バッテリが供給する電力の前記１つまたは複数の量の前記決定するステップは、前記第１の電気負荷よりも小さい前記第１の時間における第１の量の電力を供給することを決定するステップ、および前記第２の電気負荷を満たす前記第２の時間における第２の量の電力を供給することを決定するステップを含み、
前記ＤＣ−ＤＣアンプの前記１つまたは複数の設定の前記実装するステップは、前記第１の量の電力が前記第１の時間において供給されるように、前記第１の時間において前記ＤＣ−ＤＣアンプの少なくとも１つの第１の設定を実装するステップ、および前記第２の量の電力が前記第２の時間において供給されるように、前記第２の時間において前記ＤＣ−ＤＣアンプの少なくとも１つの第２の設定を実装するステップを含む請求項１に記載のコンピュータに実装された方法。
【請求項３】
前記第１の電気負荷よりも小さい前記第１の時間における第１の量の電力を供給することを決定するステップは、前記第１の電気負荷を満たすように前記第１の時間において電力のより大きな量を供給することが、前記バッテリの前記内部状態を定義された範囲を超えさせる可能性が高いと決定するステップを含む請求項２に記載のコンピュータに実装された方法。
【請求項４】
１つまたは複数の時間においてバッテリが供給する電力の１つまたは複数の量の決定するステップは、
第１の時間において第１の電気負荷を満たしバッテリが供給できる第１の時間における第１の量の電力を決定するステップと、
第１の時間についてのバッテリの内部状態の１つまたは複数の推定値のうちの１つに少なくとも部分的に基づいて、バッテリの内部状態が定義された範囲を超えると決定するステップと、
バッテリの内部状態が定義された範囲を超えると決定するステップに少なくとも部分的に基づいて、第１の量よりも小さく第１の電気負荷を満たすのに充分ではない第２の量の電力を決定するステップと
を含み、
ＤＣ−ＤＣアンプの１つまたは複数の設定の実装するステップは、第２の量の電力が第１の時間において供給されるように、第１の時間においてＤＣ−ＤＣアンプの少なくとも１つの第１の設定を実装するステップを含む、請求項１に記載のコンピュータに実装された方法。
【請求項５】
前記ＤＣ−ＤＣアンプは、電界効果トランジスタ（ＦＥＴ）アンプであり、前記ＤＣ−ＤＣアンプの前記１つまたは複数の設定の前記実装するステップは、供給する電流の量を決定するステップ、および前記ＦＥＴアンプのゲートに電圧を印加して、前記決定された量の電流を生成するステップを含む、請求項１に記載のコンピュータに実装された方法。
【請求項６】
前記ＤＣ−ＤＣアンプは、降圧コンバータまたは昇圧コンバータのうちの少なくとも一方の一部であり、前記ＤＣ−ＤＣアンプの前記１つまたは複数の設定の前記実装するステップは、供給する電圧の量を決定するステップ、および前記降圧コンバータまたは前記昇圧コンバータのうちの前記少なくとも一方を修正して、前記決定された量の電圧を生成するステップを含む請求項１に記載のコンピュータに実装された方法。
【請求項７】
前記取得されたセンサ情報は、前記バッテリに関連付けられた電流、電圧、および１つまたは複数の温度の現在の値を識別し、前記バッテリの前記内部状態の前記１つまたは複数の推定値の前記生成するステップは、定義されたバッテリ温度モデルを使用して、前記現在の値に少なくとも部分的に基づいて前記バッテリの前記内部温度を推定するステップを含む請求項１に記載のコンピュータに実装された方法。
【請求項８】
前記取得されたセンサ情報は、前記バッテリに関連付けられた電流、電圧、または温度のうちの少なくとも１つの現在の値を識別し、前記バッテリの前記内部状態の前記１つまたは複数の推定値の前記生成するステップは、前記バッテリの内部化学反応状態を推定するステップをさらに含む請求項１に記載のコンピュータに実装された方法。
【請求項９】
前記取得されたセンサ情報は、前記バッテリに関連付けられた電流、電圧、または温度のうちの少なくとも１つの現在の値を識別する請求項１に記載のコンピュータに実装された方法。
【請求項１０】
前記バッテリは、１つまたは複数の電動デバイスを有するシステムの一部であり、１つまたは複数の電気負荷に関する取得された情報は、１つまたは複数の電動デバイスからの電気需要の量を含む、請求項１に記載のコンピュータに実装された方法。
【請求項１１】
前記バッテリは、電気グリッドに接続され、１つまたは複数の電気負荷に関する取得された情報は、電力がバッテリから供給されるように求める電気グリッドのオペレータからの要求を含む、請求項１に記載のコンピュータに実装された方法。
【請求項１２】
前記モデルは、前記バッテリに接続された前記ＤＣ−ＤＣアンプを操作して、充電のために前記バッテリに供給される電力の制御中に前記定義された範囲に前記バッテリの前記内部状態を維持することを伴う制約を指定する１つまたは複数のルールをさらに含み、前記方法は、前記自動制御システムによって、充電のために前記バッテリに供給される前記電力を制御するステップをさらに含み、前記ステップは、
前記自動制御システムによって、１つまたは複数の追加の時間において、前記１つまたは複数の追加の時間における前記バッテリの１つまたは複数の属性についての現在の値を識別する追加のセンサ情報、および前記１つまたは複数の追加の時間において前記バッテリに提供されるべき１つまたは複数の電気供給量に関する情報を取得するステップと、
前記自動制御システムによって、前記取得された追加のセンサ情報に少なくとも部分的に基づいて、前記１つまたは複数の追加の時間についての前記バッテリの前記内部状態の１つまたは複数の追加の推定値を生成するステップと、
前記自動制御システムによって、前記モデルと、前記バッテリの前記内部状態の前記１つまたは複数の追加の推定値と、前記１つまたは複数の電気供給量とに少なくとも部分的に基づいて、前記１つまたは複数の追加の時間中に前記定義された範囲に前記バッテリの前記内部状態を維持しながら、前記１つまたは複数の電気供給量の少なくとも一部を受け入れるように、前記１つまたは複数の追加の時間において前記バッテリが受け取る電力の１つまたは複数の追加の量を決定するステップと、
前記自動制御システムによって、電力の前記１つまたは複数の決定された追加の量の各々について、前記バッテリに供給される電力が電力の前記決定された追加の量を満たすように、前記ＤＣ−ＤＣアンプの１つまたは複数の設定を実装するステップと
を含む請求項１に記載のコンピュータに実装された方法。
【請求項１３】
バッテリは、太陽光発電機を有するシステムの一部であり、バッテリに提供されるべき１つまたは複数の電気供給量に関する取得された情報は、太陽光発電機から利用可能な電気供給の量を含む、請求項１２に記載のコンピュータに実装された方法。
【請求項１４】
前記受け取られた情報に含まれる前記モデルは、前記バッテリのバッテリタイプに応じて構成され、前記方法は、出力される前記電力の前記制御するステップの前の初期トレーニング期間の間に、前記バッテリの前記１つまたは複数の属性の値の変化、および前記バッテリにより供給されている電気負荷の変化を監視し、前記監視された値の変化および前記監視された電気負荷の変化に対応するように前記モデルを修正することによって、前記バッテリに固有の情報に前記モデルを適合させるステップをさらに含む請求項１に記載のコンピュータに実装された方法。
【請求項１５】
出力される前記電力の前記制御するステップは、前記バッテリの増大するインピーダンスに少なくとも部分的に基づく前記バッテリの前記１つまたは複数の属性の値の経時的変化を監視することによって、前記受け取られた情報に含まれる前記モデルを前記バッテリに固有の追加の情報に適合させるステップと、前記モデルを前記監視された変化に対応するように修正するステップとをさらに含み、決定され前記実装するステップによって出力されるようになされる前記バッテリが供給する電力の少なくとも１つの量は、前記修正されたモデルに少なくとも部分的に基づく請求項１に記載のコンピュータに実装された方法。
【請求項１６】
前記自動コントローラシステムは、前記バッテリに接続的に結合されたバッテリコントローラコンポーネントを含み、制御アクション決定コンポーネントをさらに含み、前記制御アクション決定コンポーネントは、前記バッテリから遠隔で、前記１つまたは複数のコンピューティングシステムのうちの少なくとも１つにおいて実行されており、１つまたは複数のコンピュータネットワークを介して前記バッテリコントローラコンポーネントと通信し、前記制御アクション決定コンポーネントは、電力の前記１つまたは複数の量の前記決定するステップを少なくとも行い、電力の前記決定された１つまたは複数の量に関して、前記１つまたは複数のコンピュータネットワークを介して前記バッテリコントローラコンポーネントに命令を送るステップをさらに行い、前記バッテリコントローラコンポーネントは、前記送られた命令に少なくとも部分的に基づいて、前記ＤＣ−ＤＣアンプの前記１つまたは複数の設定の前記実装するステップを少なくとも行う、請求項１に記載のコンピュータに実装された方法。
【請求項１７】
前記方法は、前記バッテリコントローラコンポーネントによって、前記制御アクション決定コンポーネントから前記１つまたは複数のコンピュータネットワークを介していかなる命令も受け取らずに追加の時間において、前記バッテリにより出力される前記電力を制御するステップをさらに含み、前記ステップは、
前記バッテリコントローラコンポーネントによって、前記追加の時間において、前記追加の時間における前記バッテリの前記１つまたは複数の属性についての現在の値を識別する追加のセンサ情報を取得するステップと、
前記バッテリコントローラコンポーネントによって、前記取得された追加のセンサ情報に少なくとも部分的に基づいて、前記追加の時間についての前記バッテリの前記内部状態の追加の推定値を生成するステップと、
前記バッテリコントローラコンポーネントによって、前記バッテリの前記内部状態の前記追加の推定値に少なくとも部分的に基づいて、前記追加の時間において前記定義された範囲に前記バッテリの前記内部状態を維持するように、前記追加の時間において前記バッテリが供給する電力の追加の量を決定するステップと、
前記バッテリコントローラコンポーネントによって、出力される電力が電力の前記決定された追加の量を満たすように、前記ＤＣ−ＤＣアンプの１つまたは複数の設定を実装するステップと
を含む請求項１６に記載のコンピュータに実装された方法。
【請求項１８】
前記自動制御システムによって、現在の電気負荷なしで追加の時間において、前記バッテリにより出力される前記電力を制御するステップをさらに含み、前記ステップは、
前記自動制御システムによって、前記追加の時間において、前記追加の時間における前記バッテリの前記１つまたは複数の属性についての現在の値を識別する追加のセンサ情報を取得するステップと、
前記自動制御システムによって、前記取得された追加のセンサ情報に少なくとも部分的に基づいて、前記追加の時間についての前記バッテリの前記内部状態の追加の推定値を生成するステップと、
前記自動制御システムによって、前記モデルと、前記バッテリの前記内部状態の前記追加の推定値とに少なくとも部分的に基づいて、前記追加の時間において前記定義された範囲に前記バッテリの前記内部状態を維持するように、前記追加の時間において前記バッテリが供給する電力の追加の量を決定するステップと、
前記自動制御システムによって、出力される電力が電力の前記決定された追加の量を満たすように、前記ＤＣ−ＤＣアンプの１つまたは複数の設定を実装するステップと
を含む請求項１に記載のコンピュータに実装された方法。
【請求項１９】
１つまたは複数の時間においてバッテリが供給する電力の１つまたは複数の量の決定するステップは、バッテリが供給した電力の少なくとも１つの以前の量に関する情報を取り出すステップと、１つまたは複数の時間において定義された範囲にバッテリの内部状態を維持することの一部として、バッテリが供給する電力の量の変化率をさらに制御するために、電力の決定された１つまたは複数の量を選択するステップと、をさらに含む、請求項１に記載のコンピュータに実装された方法。
【請求項２０】
少なくとも１つの以前の電気負荷を識別するステップと、少なくとも１つの以前の電気負荷から１つまたは複数の電気負荷への電気負荷の変化の１つまたは複数の量を決定するステップと、電気負荷の変化の決定された１つまたは複数の量に少なくとも部分的に基づいて、電力の決定された１つまたは複数の量の選択をさらに行うステップとをさらに含む、請求項１に記載のコンピュータに実装された方法。
【請求項２１】
バッテリの内部インピーダンスに少なくとも部分的に基づくバッテリの内部状態の少なくとも１つの以前の推定値を識別するステップと、少なくとも１つの以前の推定値から１つまたは複数の推定値へのバッテリの推定された内部インピーダンスの変化の１つまたは複数の量を決定するステップと、バッテリの推定された内部インピーダンスの変化の決定された１つまたは複数の量に少なくとも部分的に基づいて、電力の決定された１つまたは複数の量の選択をさらに行うステップとをさらに含む、請求項１に記載のコンピュータに実装された方法。
【請求項２２】
バッテリの内部温度に少なくとも部分的に基づくバッテリの内部状態の少なくとも１つの以前の推定値を識別するステップと、少なくとも１つの以前の推定値から１つまたは複数の推定値へのバッテリの推定された内部温度の変化の１つまたは複数の量を決定するステップと、バッテリの推定された内部温度の変化の決定された１つまたは複数の量に少なくとも部分的に基づいて、電力の決定された１つまたは複数の量の選択をさらに行うステップとをさらに含む、請求項１に記載のコンピュータに実装された方法。
【請求項２３】
自動制御システムの少なくとも一部を実装する１つまたは複数のデバイスに方法を実行させるコンテンツを記憶した非一時的コンピュータ可読媒体であって、前記方法は、
前記自動制御システムによって、電気の直流（ＤＣ）を供給するバッテリからの電力を制御するのに使用するための情報を受け取るステップであって、前記受け取られた情報は、前記バッテリからの電力の前記制御中に定義された範囲に前記バッテリの内部温度を維持することを含む１つまたは複数の定義された目標を達成するように、前記バッテリに接続されたＤＣ−ＤＣアンプを操作することを伴う制約を指定する前記バッテリのモデルを含み、前記定義された範囲は、早期の損傷を減らすように前記バッテリが動作する前記バッテリの内部温度の範囲を含む、ステップと、
前記自動制御システムによって、前記受け取られた情報に基づいて、前記バッテリからの前記電力を制御するステップと
を含み、前記ステップは、
前記自動制御システムによって、複数の時間における前記バッテリの１つまたは複数の属性についての値を識別するセンサ情報、および前記複数の時間において満たされるべき電気負荷に関する情報を取得するステップと、
前記自動制御システムによって、前記取得されたセンサ情報に少なくとも部分的に基づいて、前記複数の時間についての前記バッテリの前記内部温度の推定値を生成するステップと、
前記複数の時間のうちの１つまたは複数について前記自動制御システムによって、前記定義された範囲に前記バッテリの前記内部温度を維持しながら、前記電気負荷のうちの少なくとも一部を満たすように前記１つまたは複数の時間において前記バッテリが供給する電力の１つまたは複数の量を決定するステップであって、前記決定は、前記バッテリが供給する電力の量の変化率を制御するために前記バッテリにより供給された電力の少なくとも１つの以前の量に少なくとも部分的に基づき、前記決定は、さらに、前記モデルと、前記バッテリの前記内部温度の前記推定値と、前記電気負荷とに少なくとも部分的に基づく、ステップと、
前記自動制御システムによって、電力の前記１つまたは複数の決定された量の各々について、出力される電力が電力の前記決定された量を満たすように、前記ＤＣ−ＤＣアンプの１つまたは複数の設定を実装するステップと
を含む、非一時的コンピュータ可読媒体。
【請求項２４】
前記バッテリの前記モデルは、前記バッテリから出力される電力の量の変化を前記変化率に対する定義された限界閾値よりも小さくするように制限する１つまたは複数のルールを含み、前記記憶されたコンテンツは、ソフトウェア命令であって、実行されたとき、前記１つまたは複数のデバイスのうちの少なくとも１つに、さらに、前記バッテリにより供給された電力の前記少なくとも１つの以前の量を識別させ、前記定義された範囲に前記バッテリの前記内部温度を維持する目標変化率であって前記定義された限界閾値内である目標変化率を決定させるソフトウェア命令を含み、前記１つまたは複数の時間において前記バッテリが供給する電力の前記１つまたは複数の量の前記決定するステップはさらに、前記決定された目標変化率を満たすように行われ、前記１つまたは複数のルールに少なくとも部分的に基づく請求項２３に記載の非一時的コンピュータ可読媒体。
【請求項２５】
前記１つまたは複数の時間において前記バッテリが供給する電力の前記１つまたは複数の量の前記決定するステップは、少なくとも１つの以前の電気負荷を識別するステップと、前記少なくとも１つの以前の電気負荷から前記複数の時間において満たされるべき電気負荷への電気負荷の変化の１つまたは複数の量を決定するステップと、電気負荷の変化の前記決定された１つまたは複数の量に少なくとも部分的に基づいて、電力の前記決定された１つまたは複数の量のうちの少なくとも１つを選択するステップとをさらに含む請求項２３に記載の非一時的コンピュータ可読媒体。
【請求項２６】
前記１つまたは複数の時間において前記バッテリが供給する電力の前記１つまたは複数の量の前記決定するステップは、前記バッテリの内部インピーダンスに少なくとも部分的に基づく前記バッテリの内部状態の少なくとも１つの以前の推定値を識別するステップと、前記少なくとも１つの以前の推定値から前記複数の時間についての前記バッテリの前記内部状態の後続の推定値への前記バッテリの推定された内部インピーダンスの変化の１つまたは複数の量を決定するステップと、前記バッテリの前記推定された内部インピーダンスの変化の前記決定された１つまたは複数の量に少なくとも部分的に基づいて、電力の前記決定された１つまたは複数の量のうちの少なくとも１つを選択するステップとをさらに含む請求項２３に記載の非一時的コンピュータ可読媒体。
【請求項２７】
前記１つまたは複数の時間において前記バッテリが供給する電力の前記１つまたは複数の量の前記決定するステップは、前記バッテリの内部温度に少なくとも部分的に基づく前記バッテリの内部状態の少なくとも１つの以前の推定値を識別するステップと、前記少なくとも１つの以前の推定値から前記複数の時間についての前記バッテリの前記内部温度の前記推定値への前記バッテリの推定された内部温度の変化の１つまたは複数の量を決定するステップと、前記バッテリの前記推定された内部温度の変化の前記決定された１つまたは複数の量に少なくとも部分的に基づいて、電力の前記決定された１つまたは複数の量のうちの少なくとも１つを選択するステップとをさらに含む請求項２３に記載の非一時的コンピュータ可読媒体。
【請求項２８】
１つまたは複数のデバイスの１つまたは複数のハードウェアプロセッサと、
命令を記憶する１つまたは複数のメモリと
を備えるシステムであって、前記命令は、前記１つまたは複数のハードウェアプロセッサのうちの少なくとも１つによって実行されたとき、バッテリからまたは前記バッテリへ供給される電力の直流（ＤＣ）特性を制御するアクチュエータを操作するための指定された制約を有する前記バッテリのモデルを受け取ることと、
指示された時間において前記バッテリの１つまたは複数の属性の値を識別するセンサ情報、および前記指示された時間において満たされるべき電気負荷または前記指示された時間において前記バッテリに提供されることが可能な電気供給量のうちの少なくとも一方に関する追加の情報を取得することと、
前記取得されたセンサ情報に少なくとも部分的に基づいて、直接観測可能でない前記バッテリの内部状態の前記指示された時間についての１つまたは複数の推定値を生成することと、
前記指示された時間において定義された範囲に前記バッテリの前記内部状態を維持することの一部として、前記モデルと前記バッテリの前記内部状態の前記１つまたは複数の推定値とに少なくとも部分的に基づいて、前記電気負荷の少なくとも一部を満たす前記指示された時間において前記バッテリが供給する電力の量、または前記電気供給量の少なくとも一部を受け入れることにより前記指示された時間において前記バッテリが受け取る電力の量を決定することと、
前記指示された時間に出力される電力が前記バッテリが供給する電力の前記決定された量を満たすように、または前記指示された時間に前記バッテリに供給される電力が前記バッテリが受け取る電力の前記決定された量を満たすように、前記アクチュエータの１つまたは複数の設定を実装することと
によって前記バッテリからまたは前記バッテリへ供給される前記電力を制御する自動制御システムを前記少なくとも１つのハードウェアプロセッサに実装させる、システム。
【請求項２９】
前記アクチュエータは、ＤＣ−ＤＣアンプであり、前記自動制御システムは、前記電気負荷の少なくとも一部を満たすように、前記指示された時間において前記バッテリが供給する電力の前記量を決定することと、前記指示された時間において出力される電力が前記バッテリの供給する電力の前記決定された量を満たすように、前記ＤＣ−ＤＣアンプの１つまたは複数の設定を実装することとによって、前記バッテリから供給される電力を制御する請求項２８に記載のシステム。
【請求項３０】
前記バッテリの前記受け取られたモデルは、複数のルールを含み、前記複数のルールは、前記バッテリからまたは前記バッテリへ供給される前記電力の制御中に前記定義された範囲に前記バッテリの前記内部状態を維持することを含む１つまたは複数の定義された目標を達成するように、前記アクチュエータを操作することを伴う制約を指定し、前記複数のルールは、前記バッテリが第１の定義された閾値を超える現在の電荷を有する場合、前記バッテリを充電しないための１つまたは複数のルールと、前記バッテリが第２の定義された閾値を下回る現在の電荷を有する場合、前記バッテリを放電させないための１つまたは複数のルールと、前記バッテリを充電または放電すると前記バッテリの推定された内部温度が定義された範囲の外となるであろう場合、前記バッテリを充電または放電しないための１つまたは複数のルールとを含む請求項２８に記載のシステム。
【国際調査報告】
2019513000.tif 000180