KR20180123075A - 전력 출력을 제어하기 위한 배터리 dc 특성들의 사용 - Google Patents

전력 출력을 제어하기 위한 배터리 dc 특성들의 사용 Download PDF

Info

Publication number
KR20180123075A
KR20180123075A KR1020187028607A KR20187028607A KR20180123075A KR 20180123075 A KR20180123075 A KR 20180123075A KR 1020187028607 A KR1020187028607 A KR 1020187028607A KR 20187028607 A KR20187028607 A KR 20187028607A KR 20180123075 A KR20180123075 A KR 20180123075A
Authority
KR
South Korea
Prior art keywords
battery
electrical power
automatic control
additional
electrical
Prior art date
Application number
KR1020187028607A
Other languages
English (en)
Other versions
KR102019140B1 (ko
Inventor
울프 콘
비슈누 베트리벌
조나단 크로스
펭보 장
마이클 루이스 산도발
브라이언 샤퍼
닐 마스터
브랜던 와이즈
데이비드 케틀러
Original Assignee
베리톤 알파, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 베리톤 알파, 인코포레이티드 filed Critical 베리톤 알파, 인코포레이티드
Publication of KR20180123075A publication Critical patent/KR20180123075A/ko
Application granted granted Critical
Publication of KR102019140B1 publication Critical patent/KR102019140B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J7/00Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
    • H02J7/0063Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries with circuits adapted for supplying loads from the battery
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J7/00Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
    • H02J7/0013Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries acting upon several batteries simultaneously or sequentially
    • H02J7/0025Sequential battery discharge in systems with a plurality of batteries
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J7/00Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
    • H02J7/0068Battery or charger load switching, e.g. concurrent charging and load supply
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J7/00Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
    • H02J7/007Regulation of charging or discharging current or voltage
    • H02J7/007188Regulation of charging or discharging current or voltage the charge cycle being controlled or terminated in response to non-electric parameters
    • H02J7/007192Regulation of charging or discharging current or voltage the charge cycle being controlled or terminated in response to non-electric parameters in response to temperature
    • H02J7/007194Regulation of charging or discharging current or voltage the charge cycle being controlled or terminated in response to non-electric parameters in response to temperature of the battery
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02MAPPARATUS FOR CONVERSION BETWEEN AC AND AC, BETWEEN AC AND DC, OR BETWEEN DC AND DC, AND FOR USE WITH MAINS OR SIMILAR POWER SUPPLY SYSTEMS; CONVERSION OF DC OR AC INPUT POWER INTO SURGE OUTPUT POWER; CONTROL OR REGULATION THEREOF
    • H02M3/00Conversion of dc power input into dc power output
    • H02M3/02Conversion of dc power input into dc power output without intermediate conversion into ac
    • H02M3/04Conversion of dc power input into dc power output without intermediate conversion into ac by static converters
    • H02M3/10Conversion of dc power input into dc power output without intermediate conversion into ac by static converters using discharge tubes with control electrode or semiconductor devices with control electrode
    • H02M3/145Conversion of dc power input into dc power output without intermediate conversion into ac by static converters using discharge tubes with control electrode or semiconductor devices with control electrode using devices of a triode or transistor type requiring continuous application of a control signal
    • H02M3/155Conversion of dc power input into dc power output without intermediate conversion into ac by static converters using discharge tubes with control electrode or semiconductor devices with control electrode using devices of a triode or transistor type requiring continuous application of a control signal using semiconductor devices only
    • H02M3/156Conversion of dc power input into dc power output without intermediate conversion into ac by static converters using discharge tubes with control electrode or semiconductor devices with control electrode using devices of a triode or transistor type requiring continuous application of a control signal using semiconductor devices only with automatic control of output voltage or current, e.g. switching regulators
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J7/00Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
    • H02J7/007Regulation of charging or discharging current or voltage
    • H02J7/00712Regulation of charging or discharging current or voltage the cycle being controlled or terminated in response to electric parameters
    • H02J7/007182Regulation of charging or discharging current or voltage the cycle being controlled or terminated in response to electric parameters in response to battery voltage

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Charge And Discharge Circuits For Batteries Or The Like (AREA)
  • Secondary Cells (AREA)
  • Supply And Distribution Of Alternating Current (AREA)
  • Dc-Dc Converters (AREA)
  • Remote Monitoring And Control Of Power-Distribution Networks (AREA)

Abstract

기술들은 전기 전력을 저장하고 제공하기 위해 사용된 하나 이상의 배터리들을 갖고와 같은, 특정된 물리적 타겟 시스템들의 동작들을 제어하기 위한 자동 제어 시스템들을 구현하기 위해 설명된다. 각각의 배터리의 상태의 특성들은 실시간 방식으로 및 배터리의 장기적 동작을 최적화하기 위해서와 같은, 배터리로부터의 DC 전력의 자동 제어를 수행하기 위해 사용될 수 있다. 몇몇 상황들에서, 다수의 배터리들은 각각이 배터리들 중 하나와 연관된 다수의 시스템들을 사용함으로써, 및 다수의 제어 시스템들 사이에서의 상호 작용들을 사용하여 분산 방식으로 조정되는 전체 제어를 갖고 제어된다. 제어될 하나 이상의 배터리들을 포함하는 시스템은, 하나 이상의 전기 소스들 및/또는 하나 이상의 전기 로드들과 같은, 몇몇 상황들에서 부가적인 구성요소들을 추가로 포함할 수 있으며, 이러한 시스템의 유형의 하나의 비-배타적 예는 하나 이상의 가정용 전기 전력 시스템들이다.

Description

전력 출력을 제어하기 위한 배터리 DC 특성들의 사용
관련 출원들에 대한 상호-참조
본 출원은 2016년 3월 4일에 출원되고 "전력 품질을 제어하기 위한 배터리 DC 특성들의 사용"이라는 제목의 미국 가 특허 출원 번호 제62/304,034호의 이득을 주장하며, 이것은 여기에서 전체적으로 참조로서 통합된다.
제어 시스템이 제어되는 물리적 시스템들의 원하는 출력 또는 다른 거동을 제공하려고 시도하기 위해 조작할 수 있는 입력들 또는 다른 제어 요소들을 가진 다양한 유형들의 물리적 시스템들에 대한 자동 제어 시스템들을 구현하기 위해 다양한 시도들이 이루어져 왔다. 이러한 자동 제어 시스템들은 제어되는 물리적 시스템의 상태에서의 불확실성에 관련된 이슈들, 매우 짧은 시간 양들에서 및 단지 부분적 정보만을 갖고 제어 판단들을 하기 위한 요구 등을 처리하려고 시도하기 위해를 포함하여, 이러한 기능을 구현하려고 시도하기 위해 다양한 유형들의 아키텍처들 및 기본 컴퓨팅 기술들을 사용하여 왔다. 이러한 자동 제어 시스템의 일 예는, 배터리의 내부 온도 및/또는 화학적 상태에 대한 불확실성을 갖고, 및 잠재적으로 로드, 소스 및/또는 배터리 내부 상태에서의 진행 중인 변화들을 갖고, 로드를 지원하기 위해 전기 전력을 방전시키고 있으며 및/또는 소스로부터의 전기 전력을 사용하여 충전하고 있는 배터리의 동작들을 제어하기 위한 시스템을 포함한다.
그러나, 다수의 제약들을 관리하는 것(때때로 상충되는), 다른 시스템들과 협력 방식으로 동작하는 것 등에 대하여를 포함한, 다양한 어려움들이 기존의 자동 제어 시스템들 및 그것들의 기본 아키텍처들 및 컴퓨팅 기술들에 따라 존재한다. 특정한 어려움들은 다수의 상충되는 제약들 및/또는 목표들이 존재하는 상황들에서 하나 이상의 배터리들을 제어하려고 시도할 때 발생할 수 있다.
기술들은 전기 전력을 저장하고 제공하기 위해 사용된 하나 이상의 배터리들을 갖고와 같은, 특정된 물리적 타겟 시스템들의 동작들을 제어하기 위한 자동 제어 시스템들을 구현하기 위해 설명된다.
본 발명에 따른, 컴퓨터-구현 방법은,
적어도 부분적으로 하나 이상의 컴퓨팅 시스템들에 의해 구현된 자동 제어 시스템에 의해, 배터리에 의해 공급된 전기 전류(DC)를 통해 상기 배터리에 의해 출력되는 전기 전류를 제어하는데 사용하기 위한 정보를 수신하는 단계로서, 상기 수신된 정보는 각각이 평가할 하나 이상의 조건들을 가지며 출력되는 상기 전기 전력의 제어 동안 정의된 범위에서 상기 배터리의 내부 상태를 유지하는 것을 포함한 하나 이상의 정의된 목표들을 달성하기 위한 방식으로 상기 배터리에 연결된 DC-DC 증폭기를 조작하는 것을 수반한 제한들을 특정하는 다수의 규칙들에 기초한 모델을 포함하는, 상기 수신 단계; 및
상기 자동 제어 시스템에 의해 및 상기 수신된 정보에 기초하여, 상기 배터리에 의해 출력되는 상기 전기 전력을 제어하는 단계로서:
상기 자동 제어 시스템에 의해 및 하나 이상의 시간들에서, 상기 하나 이상의 시간들에서 상기 배터리의 하나 이상의 속성들에 대한 현재 값들을 식별하는 센서 정보, 및 상기 하나 이상의 시간들에서 만족될 하나 이상의 전기 로드들에 대한 정보를 획득하는 단계;
상기 자동 제어 시스템에 의해 및 상기 획득된 센서 정보에 적어도 부분적으로 기초하여, 상기 하나 이상의 시간들 동안 상기 배터리의 내부 상태의 하나 이상의 추정치들을 생성하는 단계;
상기 자동 제어 시스템에 의해, 및 상기 모델에 및 상기 배터리의 내부 상태의 하나 이상의 추정치들에 및 상기 하나 이상의 전기 로드들에 적어도 부분적으로 기초하여, 상기 하나 이상의 시간들 동안 상기 정의된 범위에서 상기 배터리의 내부 상태를 유지하면서 상기 하나 이상의 전기 로드들 중 적어도 일부를 만족시키기 위해 상기 하나 이상의 시간들에서 공급할 상기 배터리에 대한 전기 전력의 하나 이상의 양들을 결정하는 단계; 및
상기 자동 제어 시스템에 의해 및 상기 하나 이상의 결정된 전기 전력의 양들의 각각에 대해, 출력되는 전기 전력이 상기 결정된 전기 전력의 양을 만족시키게 하기 위해 상기 DC-DC 증폭기의 하나 이상의 설정들을 구현하는 단계를 포함한, 상기 제어 단계를 포함한다.
도 1은 타겟 시스템들의 협력 분산 제어를 수행하기 위한 시스템이 구성되고 개시될 수 있는 예시적인 환경을 예시한 네트워크 다이어그램이다.
도 2는 타겟 시스템들의 협력 분산 제어를 수행하기 위한 시스템이 구현될 수 있는 예시적인 환경을 예시한 블록도이다.
도 3은 구성된 방식들로 타겟 시스템들의 협력 분산 제어를 수행하기 위한 시스템의 실시예를 실행하기에 적합한 예시적인 컴퓨팅 시스템들을 예시한 블록도이다.
도 4는 협력적 분산 판단(CDD) 시스템 루틴의 예시적인 실시예의 흐름도를 예시한다.
도 5a 및 도 5b는 CDD 판단 모듈 구성 루틴의 예시적인 실시예의 흐름도를 예시한다.
도 6a 및 도 6b는 판단 모듈 루틴의 예시적인 실시예의 흐름도를 예시한다.
도 7a 및 도 7b는 CDD 제어 동작 결정 루틴의 예시적인 실시예의 흐름도를 예시한다.
도 8a 및 도 8b는 CDD 조정 제어 관리 루틴의 예시적인 실시예의 흐름도를 예시한다.
도 9는 제어되는 타겟 시스템을 위한 루틴의 예시적인 실시예의 흐름도를 예시한다.
도 10은 배터리로부터의 DC 전력의 자동 제어를 수행하기 위해 배터리의 상태의 특성들을 사용하기 위한 시스템의 실시예의 예시적인 구성요소들을 예시한 블록도이다.
도 11은 조정 방식으로 다수의 배터리들로부터의 DC 전력의 자동화 제어를 수행하는 시스템의 실시예의 예시적인 구성요소들을 예시한 블록도이다.
도 12는 발생되는 태양광 발전을 가진 가정용 전기 전력 시스템의 부분인 배터리로부터의 DC 전력의 자동 제어를 수행하기 위한 시스템의 실시예의 예시적인 구성요소들을 예시한 블록도이며, 가정용 발전 및 사용은 외부 엔티티에 의해 모니터링되고 동기화된다.
도 13은 발생되는 태양광 발전을 가진 가정용 전기 전력 시스템의 부분인 배터리로부터의 DC 전력의 자동 제어를 수행하기 위한 시스템의 실시예의 예시적인 구성요소들을 예시한 블록도이며, 여기에서 가정용 발전 및 사용의 통상적인 모니터링 및 동기화는 일시적으로 중단된다.
도 14는 배터리로부터의 DC 전력의 자동 제어를 가능하게 하기 위해 배터리의 상태 및 동작을 모델링하기 위한 시스템의 실시예의 예시적인 구성요소들을 예시한 블록도이다.
도 15는 배터리로부터의 DC 전력의 자동 제어를 수행하기 위해 배터리의 상태의 특성들을 사용하는 시스템의 실시예의 성능의 예시적인 시각적 디스플레이들을 예시한 블록도이며, 가정용 발전 및 사용은 외부 엔티티에 의해 모니터링되고 동기화된다.
도 16은 배터리로부터의 DC 전력의 자동 제어를 수행하기 위해 배터리의 상태의 특성들을 사용하는 시스템의 실시예의 성능의 예시적인 시각적 디스플레이들을 예시한 블록도이며, 여기에서 가정용 발전 및 사용의 통상적인 모니터링 및 동기화는 일시적으로 중단된다.
도 17은 배터리로부터의 DC 전력의 자동 제어를 수행하기 위해 배터리의 상태의 특성들을 사용하기 위한 시스템의 실시예의 예시적인 구성요소들을 예시한 블록도이다.
도 18은 배터리로부터의 DC 전력의 자동 제어를 수행하기 위해 배터리의 상태의 특성들을 사용하기 위한 시스템의 실시예의 예시적인 구성요소들을 예시한 블록도이다.
도 19는 배터리로부터의 DC 전력의 자동 제어를 수행하기 위해 배터리의 상태의 특성들을 사용하기 위한 시스템의 실시예의 예시적인 구성요소들을 예시한 블록도이다.
도 20은 조정 방식으로 다수의 배터리들로부터의 DC 전력의 자동 제어를 수행하는 시스템의 실시예의 예시적인 구성요소들을 예시한 블록도이다.
도 21은 조정 방식으로 다수의 배터리들로부터의 DC 전력의 자동 제어를 수행하는 시스템의 실시예의 예시적인 구성요소들을 예시한 블록도이다.
도 22는 조정 방식으로 다수의 배터리들로부터의 DC 전력의 자동 제어를 수행하는 시스템의 실시예의 예시적인 구성요소들을 예시한 블록도이다.
도 23은 조정 방식으로 다수의 배터리들로부터의 DC 전력의 자동 제어를 수행하는 시스템의 실시예의 예시적인 구성요소들을 예시한 블록도이다.
도 24는 배터리로부터의 DC 전력의 자동 제어를 수행하기 위해서뿐만 아니라 시스템의 재무 성과를 강화하도록 가격 예측들 및 부가적인 정보를 사용하기 위해 배터리의 상태의 특성들을 사용하기 위한 시스템의 실시예의 예시적인 구성요소들을 예시한 블록도이다.
도 25는 배터리 제어기 구성요소의 예시적인 아키텍처를 예시한 블록도이다.
도 26은 예시적인 피드백 제어기를 예시한 블록도이다.
도 27은 배터리에 대한 배터리 모델을 트레이닝하기 위한 예시적인 아키텍처를 예시한 블록도이다.
도 28은 배터리를 위한 추적 제어 시스템에 대한 피드백 이득을 계산하기 위한 예시적인 아키텍처를 예시한 블록도이다.
도 29는 배터리 제어 시스템에 대한 예시적인 아키텍처를 예시한 블록도이다.
기술들은 특정된 물리적 시스템들 또는 다른 타겟 시스템들의 적어도 몇몇 동작들을 제어하거나 또는 그 외 조작하기 위한 자동 제어 시스템들을 구현하기 위해 설명된다. 적어도 몇몇 실시예들에서, 물리적 타겟 시스템들은 전기 전력을 저장하고 제공하기 위해 사용된 하나 이상의 배터리들을 포함하며, 타겟 시스템들을 제어하기 위한 자동 동작들은, 실시간 방식으로 및 배터리의 장기적 동작을 최적화하기 위해, 배터리로부터 출력되는 전기 전류 및/또는 전압의 양을 제어하기 위해 배터리에 연결된 DC-DC 증폭기(예로서, FET, 또는 전계-효과 트랜지스터, 증폭기)를 사용하는 것에 의해서와 같은, 배터리로부터 제공되는 DC(직류) 전력의 자동 제어를 수행하고 각각의 배터리의 상태의 특성들을 사용하는 것을 포함한다. DC-DC 증폭기는, 예를 들면, 그것의 입력(서플라이)으로부터 그것의 출력(로드)으로 전류를 올리는 동안 전압을 낮추는 벅(buck) 변환기(또는 스텝-다운 변환기)의 부분이며 및/또는 그것의 입력(서플라이)으로부터 그것의 출력(로드)으로 전류를 낮추는 동안 전압을 올리는 부스트 변환기(또는 스텝-업 변환기)의 부분일 수 있으며, 일반적으로 때로는 여기에서 "부스트/벅 제어기" 또는 "벅/부스트 제어기"로 불리운다. 또한, 몇몇 실시예들 및 상황들에서, 다수의 배터리들은 각각이 배터리들 중 하나와 연관되는 다수의 제어 시스템들을 사용하는 것에 의해 이러한 방식으로 제어될 수 있으며, 다수의 배터리들의 전체 제어는, 다수의 배터리들에 대한 다수의 연관된 제어 시스템들 사이에서의 상호 작용들에 기초하는 것과 같은, 분산 방식으로 조정된다. 제어될 하나 이상의 배터리들을 포함하는 시스템은, 하나 이상의 전기 소스들 및/또는 하나 이상의 전기 로드들과 같은, 몇몇 실시예들 및 상황들에서 부가적인 구성요소들을 추가로 포함할 수 있으며, 이러한 유형의 시스템의 하나의 비-배타적 예는 가정 또는 비즈니스로부터의 전기적 로드뿐만 아니라 전기 발생 소스들(예로서, 태양광 패널들, 풍력 발전용 터빈들 등)을 선택적으로 포함할 수 있는 하나 이상의 가정용 또는 비즈니스용 전기 전력 시스템들이다. 부가적인 세부사항들은 하나 이상의 배터리들을 가진 타겟 시스템들을 제어하도록 자동 제어 시스템들을 구현 및 사용하기 위해 이러한 기술들에 관련되어 이하에서 포함된다.
설명된 기술들은 다양한 이득들 및 이점들을 제공할 수 있다. 이러한 이득들 및 이점들의 비-배타적 예들은 DC 측 상에서 배터리의 전력 출력을 제어하는 것(예로서, 배터리의 DC 전류 및 전압을 변경함으로써), 배터리로 하여금, 단일 특정 레벨에서 배터리에 연결된 인버터에 의해 제공되는 고정된 AC(교류) 전압 및/또는 전류보다는, 내부 온도 및/또는 다른 배터리 파라미터들에 대하여 그것의 최적의 또는 준-최적의 물리적 상태에서 동작하도록 허용하는 것(예로서, 화학량적 범위와 같은, 하나 이상의 화학적 화학량적 제한들 내에서 배터리의 내부 화학적 성질을 유지함으로써), 및 배터리가 최대 전력을 제공하는 포화 레벨에서 그러나 가능한 비-가역성 배터리 손상의 댓가로 동작하게 하는 것을 포함하며 - 이러한 방식으로, 배터리 수명 및 다른 동작 성능은 배터리로 하여금 배터리 화학적 성질 변화들이 가역성이며 단락 회로들 및 다른 비-가역성 손상이 감소되거나 또는 제거되는 바람직한 범위에서 동작하도록 허용함으로써, 설명된 기술들에 의해 최적화되거나 또는 그 외 강화될 수 있다. 또한, 적어도 몇몇 실시예들에서, 배터리의 자동 제어는 다른 구성요소들(예로서, 로드 및/또는 외부 전력 그리드)을 갖고 전력 출력 양 공진을 강화하고 유지하기 위해 배터리의 능동적 제어를 추가로 포함할 수 있으며, 따라서 제공된 전력의 양은, 또한 적어도 정의된 퍼센티지 또는 다른 양의 전력 출력 요청들 또는 로드 양들(예로서, 50%, 65%, 100% 또는 임의의 다른 정의된 퍼센티지 또는 다른 양)을 만족시키면서, 요구되는 것을 초과하지 않는다. 이러한 방식으로, 이러한 실시예들은 배터리의 출력 전압 또는 전류를 고정시키며 그것이 배터리 손상 또는 다른 문제들(예로서, 과도한 가열)을 야기할지라도 모든 전력 요청들을 이행하는 기존의 시스템들보다는, 가능하다면 전력 출력 요청들을 만족시키면서, 제어되는 배터리의 내부 상태 및 동작 성능(수명을 포함한)을 관리하기 위해 자동 제어 시스템으로서 개념화될 수 있다. 여기에서 상기 및 몇몇 다른 위치들에서 논의된 이득들 및 동작들은 배터리로부터 출력되는 전력을 제어하는 것에 관련되지만, 동일한 기술들이, 배터리로 하여금 전력을 저장하는 동안 열 및 다른 배터리 파라미터들에 대하여 그것의 최적의 또는 준-최적의 물리적 상태에서 동작하게 하며, 하나 이상의 소스들에 의해 공급되는 전력에 대한 적어도 정의된 퍼센티지 또는 다른 양의 전력 입력 요청들(예로서, 50%, 65%, 100% 또는 임의의 다른 정의된 퍼센티지 또는 다른 양)을 만족시키면서, 배터리가 배터리 화학 변화들이 가역성인 바람직한 범위에서 동작하도록 허용함으로써 배터리 수명 및 다른 동작 성능을 최적화하거나 또는 그 외 강화하게 하도록, 하나 이상의 소스들로부터 배터리로 저장되는 전력을 제어하기 위해 사용될 수 있다는 것이 이해될 것이다. 부가적인 이득들 및 이점들은 다음을 포함하며, 여기에서 사용된 바와 같이 용어 특징 또는 결과를 '최적화하는 것'은 일반적으로 상기 특징 또는 결과를 개선하는 것(예로서, 부분적 또는 전체 최적화를 통해)을 의미하며, 여기에서 사용된 바와 같이 용어 '실시간'은 달리 표시되지 않는다면, 제어되는 결과적인 구성요소 또는 시스템에 특정된 시간 프레임(예로서, 초, 초들, 분들 등의 부분들)에 대하여 의미한다:
ㆍI(전류), V(전압) 및 R(출력되는 전력의 양)과 같은, DC 제어 변수들을 최적화함으로써 배터리 수명을 개선할 수 있다
ㆍ배터리 화학의 이전 특성화와 함께 DC 제어 변수들(I, V, R)을 최적화함으로써 배터리 수명을 개선할 수 있으며, 성능 및 수명을 개선하기 위해 DC 레벨에서 최적화할 수 있다
ㆍAC 위상에서 오브젝티브들을 해결하기 위해 DC 도메인에서 실시간으로 변수들을 최적화할 수 있다
ㆍ다른 그리드 구성요소들 없이 단지 배터리 출력의 제어를 통해서와 같은, 공진 동작을 야기하는 그리드 주파수를 매칭시키기 위해 실시간으로 AC 출력을 최적화할 수 있다
ㆍ장기적 배터리 가용성을 개선하기 위해 충전/방전 사이클들을 개선할 수 있다
ㆍAC 로드 응답을 개선할 수 있다
ㆍ장기적 배터리 가용성을 개선하는 것과 조합하여 AC 로드 응답을 개선할 수 있다
ㆍ배터리 제어기는 자급자족 방식으로 프로세서상에서 내장 소프트웨어로서 구동할 수 있다
ㆍ배터리 제어기는 외부 위치(예로서, 클라우드 또는 다른 네트워크-액세스 가능한 위치)로부터 계속해서 모니터되링고 업데이트될 수 있다
ㆍ배터리 제어기는 성능을 개선하기 위해 배터리 특성들을 송신할 수 있다
ㆍ정적 바 보상기 하드웨어의 비용들을 피할 수 있다
다양한 다른 이득들 및 이점들은 이하에서 보다 상세하게 논의되는 바와 같이, 적어도 몇몇 실시예들에서 추가로 실현될 수 있다.
도 10은 배터리로부터의 DC 전력의 자동 제어를 수행하기 위해 다른 관련된 정보와 함께 배터리의 상태의 특성들을 사용하기 위한 시스템의 실시예의 예시적인 구성요소들을 예시한 블록도(1000)를 포함하며 - 특히, 예시적인 시스템(1000)의 다양한 구성요소들은, 이하에서 추가로 논의되는 바와 같이, 정의된 제약들, 규칙들 및 다른 기준들을 고려하여 하나 이상의 정의된 목표들에 따라 배터리의 동작들을 제어하도록 상호 작용한다. 몇몇 실시예들에서, 배터리를 제어하기 위한 자동화 활동들은, 가능한(예로서, 이러한 요청들의 적어도 정의된 퍼센티지 또는 양) 전력에 대한 많은 외부 요청들을(예로서, 배터리가 전력을 공급할 수 있는 유틸리티로부터의) 만족시키면서, 실시간 방식으로 및/또는 배터리의 장기적 동작(예로서, 배터리의 수명)을 최적화하기 위해 수행될 수 있다.
도 1000의 예시된 예에서, 배터리 제어기가 배터리의 DC 출력으로서 발생될 전력의 양을 특정하는 것에 의해서와 같은, 작동기(1030)가 배터리 제어기 구성요소(1040)(또한 여기에서 가끔은 "추적 제어기" 및/또는 배터리 추적 제어기"로 불리우는)로부터 대응하는 제어 신호를 수신하는 것을 통해 제어되는 배터리(1010)가 도시된다. 발생될 특정된 전력 양은 예를 들면, 특정된 양만큼 출력되는 전력을 증가시키거나 또는 감소시키도록, 또는 전력 출력을 변경하지 않도록 표시한 정보를 포함할 수 있다. 여기에서 예시되지 않지만, 배터리의 출력은 하나 이상의 로드들(도시되지 않음)로 전력을 제공하도록 작용할 수 있으며, 적어도 몇몇 실시예들에서 대응하는 로드들을 지원하기 위해 배터리의 전력 출력을 AC 전력으로 변환하도록 인버터/정류기 구성요소에 연결될 수 있다 - 이러한 인버터는, 예를 들면, AC 전력의 전압 및/또는 주파수를 조절함으로써 배터리로부터 제공되는 전력을 제어할 수 있다. 유사하게, 여기에서 또한 예시되지 않지만, 배터리의 입력은 하나 이상의 소스들(도시되지 않음)로부터 전력을 수신하도록 작용할 수 있으며, 적어도 몇몇 실시예들에서 소스들로부터 배터리를 위한 DC 전력으로 AC 전력 입력을 변환하도록 인버터/정류기 구성요소에 연결될 수 있다 - 이러한 정류기는, 예를 들면, AC 전력의 전압 및/또는 주파수를 조절함으로써 배터리에 제공되는 전력을 제어할 수 있다.
배터리를 제어하는 방법을 결정하는 부분으로서, 배터리 제어기 구성요소는, 전압, 전기 전류, 온도 등에 대한 현재 값들과 같은, 배터리의 내부 상태(도시되지 않음)에 관한 입력을 센서 모듈(1020)로부터 수신하며, 대응하는 정보를 CDI 에이전트(1050)로 공급한다. 또한 여기에서 가끔은 CDD(협력적 분산 판단) 판단 모듈 또는 시스템으로 불리우는, CDI 에이전트는 배터리의 상태에 관련된 정보를 배터리 제어기로부터 수신하며, 또한 배터리가 언젠가 또는 항상 유틸리티에 의해 제어된 전기 그리드(도시되지 않음)로 전력을 공급하는 상황에서와 같은, 유틸리티 구성요소(1060)로부터 전력 공급 요청들을 수신한다. 특히, CDI 에이전트는 유틸리티로부터 특정한 요청을 수신하고, 배터리의 상태에 대한 정보를 수신 및 분석하며, 현재 배터리에 대해 취할 대응 동작들(예로서, 배터리로부터 공급될 출력 전력의 양, 및/또는 배터리에 의해 수신되고 저장될 입력 전력의 양)을 결정하고, 이것은 적어도 몇몇 상황들에서, 배터리로 하여금 원하는 비-포화 범위 또는 레벨(예로서, 배터리의 추정된 내부 온도 및/또는 배터리의 추정된 내부 화학에 대하여)에서 동작할 수 있게 하기 위해서와 같은, 배터리의 현재 상태 및/또는 정의된 목표(들)를 고려해볼 때 배터리 성능에 대한 다른 제약들을 또한 만족시키는 방식으로 요청이 만족될 수 있다면 실시간 방식으로 전력에 대한 유틸리티로부터의 요청을 완전히 또는 부분적으로 만족시키려고 시도하는 것을 수반한다. 현재 배터리에 대해 취할 대응 동작들을 결정한 후, CDI 에이전트는, 추적 제어 신호에 대한 대응 동작들(예로서, 배터리로부터 출력되는 전류의 양에서 이루어질 양 또는 음의 변화의 양)을 유발하기 위해 현재 작동기를 수정하거나 또는 조작하는 방법을 결정하는, 대응하는 추적 제어 신호를 배터리 제어기로 제공하며, 상기 논의된 바와 같이 대응하는 제어 신호를 작동기로 전송한다.
도 10에 예시되지 않지만, CDI 에이전트 및/또는 배터리 제어기는 몇몇 실시예들에서 배터리의 내부 상태를 추정하며 상기 내부 상태에 부분적으로 기초하여 수행할 특정한 동작들을 선택하기 위해 사용되는 배터리의 저장 모델을 포함할 수 있다. 예를 들면, 몇몇 실시예들에서, 임의의 유형의 배터리에 적용 가능한 일반 배터리 모델이 사용될 수 있는 반면, 다른 실시예들에서 배터리의 유형(예로서, 리튬 이온 또는 니켈 카드뮴과 같은, 전기를 저장하고 및/또는 발생시키기 위해 사용된 화학 반응의 유형)에 특정적인 배터리 모델이 사용될 수 있으며, 다른 실시예들에서 구체적으로 사용 중인 특정한 배터리를 위해 설계되고 및/또는 구성되는 배터리 모델이 사용될 수 있다. 또한, 적어도 몇몇 실시예들에서, 처음에 특정한 배터리를 가진 특정한 시스템에서 이용되는 배터리 모델은 모델의 기본 구조에 대한 개선들을 반영하기 위해 및/또는 사용 중인 특정한 배터리 및/또는 시스템에 특정된 동작 특성들을 반영하도록 모델을 트레이닝하기 위해서와 같은, 시간에 걸쳐 업데이트될 수 있다 - 모델을 트레이닝하거나 또는 그 외 특정한 배터리 및/또는 시스템에 적응시킬 때, 트레이닝/적응 동작들은 몇몇 실시예들에서, 배터리를 제어하기 위해 자동 제어 시스템을 사용하기 전에 트레이닝 단계에서 처음에 수행될 수 있으며, 및/또는 몇몇 실시예들에서 자동 제어 시스템이 배터리를 제어하는 동안 계속해서 또는 주기적으로 수행될 수 있다(예로서, 배터리의 임피던스 프로파일에서 시간에 걸친 변화들을 반영하기 위해). 그것들의 구성 및 사용을 포함한, 이러한 모델들에 관한 부가적인 세부사항들은 여기에서 다른 곳에 포함된다. 또한, 몇몇 실시예들에서 배터리 제어기 및 CDI 에이전트가 별개의 구성요소들로서 구현될 수 있으며(예로서, 배터리 제어기는 배터리에 부착되는 하드웨어 및/또는 펌웨어에 또는 그 외 배터리의 위치에 전체적으로 또는 부분적으로 구현되며, CDI 에이전트는 배터리 위치로부터 원격인 하나 이상의 컴퓨팅 시스템들 상에서 실행하며 선택적으로 하나 이상의 매개 컴퓨팅 네트워크들을 통해 배터리 제어기와 통신하는 소프트웨어 지시들에 의해 부분적으로 구현된다), 다른 실시예들에서 CDI 에이전트 및 배터리 제어기는 단일 구성요소로서 구현될 수 있다(배터리의 위치에 있든 또는 그로부터 원격이든). 배터리에 대해 취할 동작들을 결정하기 위해 CDI 에이전트의 동작에 관한 추가 세부사항들은 이하에서 보다 상세하게 논의된다.
또한, 도 10에 대하여 예시되지 않지만, 몇몇 실시예들에서, 다수의 배터리들(예로서, 수십, 수백, 수천, 수백만 등)은 각각 유사한 방식으로, 및 유틸리티 또는 다른 엔티티들로 총 전력을 공급하기 위해 조정 방식으로 함께 동작하는 다양한 배터리들을 갖고 상기 배터리의 동작들을 제어하는 연관된 CDI 에이전트를 가질 수 있다. 이러한 실시예들에서, 유틸리티 또는 다른 외부 엔티티는 배터리들을 포함한 다양한 시스템들에 의해 사용을 위해 동기화 및 모니터링 신호들을 전송할 수 있으며, 다양한 배터리들과 연관된 다수의 CDI 에이전트들은 정보를 교환하기 위해 상호 작용하며 배터리들의 동작들 사이에서 적어도 부분적인 조정을 유지할 수 있다.
도 11은 실시간 방식으로 및 배터리들의 장기적 동작을 최적화하기 위해서와 같은, 조정 방식으로 다수의 배터리들로부터의 DC 전력의 자동 제어를 수행하는 시스템(1100)의 실시예의 구성요소들의 일 예를 예시한 블록도이다. 특히, 다수의 CDI 에이전트들(1050a 내지 1050n)이 예시되며, 이것은 각각 n개의 연관된 배터리들(도시되지 않음) 중 하나의 동작을 제어한다. 도 11의 예에서, 각각의 CDI 에이전트는 그것의 연관된 배터리에 대한 배터리 상태 정보를 수신할 뿐만 아니라, 또한 선택적으로 유틸리티로부터의 전력에 대한 요청들, 유틸리티에 관련된 상태 정보, 및/또는 배터리들로부터 유틸리티의 전기 그리드(도시되지 않음)로 공급되는 전력에 대한 예측된 가격 정보를 포함하는 부가적인 정보를 수신할 수 있다. 각각의 CDI 에이전트는 이 예에서 규칙들 및 최적화기 구성요소를 추가로 포함하며, 상기 규칙들은 연관된 배터리에 대해 만족시키기 위한 목표들 및 제약들을 특정하며, 최적화기 구성요소는 연관된 배터리에 대한 대응하는 자동 제어 판단들을 하기 위해 이들 규칙들 및 다른 입력 정보를 사용하며, 이것은 연관된 배터리에 대한 타겟 정보로서 CDI 에이전트에 의해 출력된다. 이러한 규칙들의 명세 및 사용 및 이러한 최적화기 구성요소의 동작들에 관련된 부가적인 세부사항들이 여기에 포함된다. 도 11은 제어되는 배터리들에 의해 제공되는 총 전력에 대응하는, 유틸리티의 요청들에 대한 총 응답을 결정하기 위해 다양한 CDI 에이전트들로부터의 정보를 조합하는 조합기 구성요소(1110)를 추가로 예시한다.
설명된 기술들은, 그 중 일부가 이하에서 추가로 논의되는, 매우 다양한 다른 유형들의 타겟 시스템들과 함께 사용되며, 본 발명은 특정한 타겟 시스템들 및 대응하는 자동 제어 시스템들에 대해 논의된 기술들에 제한되지 않는다는 것이 또한 이해될 것이다. 예시적인 목적들을 위해, 특정한 유형들의 타겟 시스템들을 갖고 설명된 기술들을 사용하는 것에 대하여 및 특정한 방식들로 결정되는 특정한 유형들의 제어 활동들을 수행하기 위해를 포함한, 특정 유형들의 동작들이 수행되는 몇몇 실시예들이 이하에서 설명된다. 이들 예들은 예시적인 목적들을 위해 제공되며 간결성을 위해 단순화되고, 본 발명의 기술들은 다른 환경들에서 및 다른 유형들의 자동 제어 동작 결정 기술들을 갖고를 포함한, 매우 다양한 다른 상황들에서 사용될 수 있으며, 그 중 일부는 이하에서 논의된다.
보다 일반적으로, 제어되거나 또는 그 외 조작될 타겟 시스템은 다양한 방식들로 상호-연결되는 다수의 요소들을 가질 수 있으며, 이들 요소들의 서브세트는 대응하는 자동 제어 시스템이 타겟 시스템의 동작에 영향을 주기 위해 수정하거나 또는 그 외 조작할 수 있는 입력들 또는 다른 제어 요소들이다. 적어도 몇몇 실시예들 및 상황들에서, 타겟 시스템은, 타겟 시스템이 물리적 제품들을 생산하거나 또는 수정하거나 또는 그 외 물리적 결과들을 생성하는 경우와 같은, 제어 요소들의 조작들이 영향을 주는 하나 이상의 출력들을 추가로 가질 수 있다. 예를 들면, 하나 이상의 배터리들의 자동 제어를 수반한 타겟 시스템의 출력은 배터리들에 의해 제공되는 전기 전력을 포함할 수 있으며, 입력들 또는 다른 제어 요소들은 하나 이상의 배터리들로부터 제공되는 전력을 조작하기 위해 사용된 작동기(들) 및/또는 배터리 추적 제어기(들)를 포함할 수 있다.
특정한 타겟 시스템에 대한 이러한 자동 제어 시스템을 구현하는 부분으로서, 협력적 분산 판단(CDD) 시스템의 실시예는, 특정한 타겟 시스템들을 제어하는데 사용하기 위한 하나 이상의 CDI 에이전트들(또한 CDD 결정 모듈 또는 시스템, 또는 이러한 모듈 또는 시스템의 일 부분으로서 불리우는)을 포함한, 자동 제어 시스템을 구성하고 구현하는데 수반된 다양한 자동화 활동들을 수행하기 위해 설명된 기술들을 사용할 수 있다. 예시적인 CDD 시스템의 이러한 활동들의 몇몇 양상들이 이하에서 제공되며, 부가적인 세부사항들은 2015년 6월 22일에 출원되고 "타겟 시스템들의 협력적 분산 제어"라는 제목의 미국 특허 출원 번호 제14/746,738호에서; 2015년 6월 22일에 출원되고 "타겟 시스템의 조정 분산 제어의 애플리케이션들"이라는 제목의 미국 특허 출원 번호 제62/182,968호에서; 2015년 6월 22일에 출원되고 "게이지 시스템들"이라는 제목의 미국 특허 출원 번호 제62/182,796호에서; 및 2015년 6월 22일에 출원되고 "타겟 시스템들의 조정 분산 제어"라는 제목의 국제 PCT 특허 출원 번호 PCT/US2015/037022에 포함되며, 그 각각은 여기에서 전체적으로 참조로서 통합된다.
특히, CDD 시스템은, 타겟 시스템의 다양한 요소들에 관련된 제약들, 및 타겟 시스템의 제어 동안 달성될 하나 이상의 목표들을 포함한, 타겟 시스템의 디스크립션을 획득하기 위해 하나 이상의 사용자들과 상호 작용하는 판단 모듈 구성 구성요소를 구현할 수 있으며 - 판단 모듈 구성 구성요소는 그 후 타겟 시스템의 제어를 수행할 때 사용하기 위한 하나 이상의 실행 가능한 판단 모듈들(또한 때로는 "판단 요소들" 및/또는 "에이전트들"로서 불리우는)을 생성하고, 테스트하며 배치하기 위해 다양한 자동화 동작들을 수행한다. 하나 이상의 실행 가능한 판단 모듈들이 배치되고 실행될 때, CDD 시스템은, 판단 모듈이 생성하는 제어 동작들을 최적화하거나 또는 그 외 강화하기 위해 각각의 판단 모듈의 제어 동작 결정 구성요소, 및/또는 타겟 시스템의 제어를 총괄적으로 수행하는 다수의 판단 모듈들의 제어 동작들을 조정하기 위해 하나 이상의 조정 제어 관리 구성요소들과 같은, 타겟 시스템의 제어를 관리하기 위해 실행되는 판단 모듈들 내에서 또는 그 외부에서 다양한 구성요소들을 추가로 제공할 수 있다.
상기 주지된 바와 같이, 협력적 분산 판단(CDD) 시스템은 몇몇 실시예들에서, 그것의 동작에 영향을 주는(예로서, 타겟 시스템의 하나 이상의 출력들에 영향을 주는) 타겟 시스템의 입력들 또는 다른 제어 요소들을 수정하거나 또는 그 외 조작하기 위해서와 같은, 특정된 타겟 시스템에 대한 자동 제어 시스템을 구성하고 구현하는데 수반된 다양한 자동화 활동들을 수행하기 위해 설명된 기술들 중 적어도 일부를 사용할 수 있다. 이러한 타겟 시스템을 위한 자동 제어 시스템은 몇몇 상황들에서, 각각이 타겟 시스템의 일 부분을 제어하는 다수의 판단 모듈들을 갖는과 같은, 타겟 시스템의 협력적 분산 제어를 제공하며 서로에 대하여 부분적으로 분리된 방식으로 동작하는 분산 아키텍처를 가질 수 있다. 그렇다면, 자동 제어 시스템을 위한 다양한 판단 모듈들의 동작들은, 모든 판단 모듈들의 완전히 동기화된 융합이 항상 보장되거나 또는 달성되지 않을지라도, 각각이 1회 이상 하나 이상의 다른 판단 모듈들과의 일치에 도달함으로써와 같은, 적어도 부분적으로 동기화될 수 있다.
CDD 시스템은 몇몇 실시예들에서, 타겟 시스템의 다양한 요소들에 관련된 제한들, 및 타겟 시스템의 제어 동안 달성될 하나 이상의 목표들을 포함한, 타겟 시스템의 디스크립션을 획득하기 위해 하나 이상의 사용자들과 상호 작용하는 판단 모듈 구성 구성요소를 구현할 수 있으며 - 판단 모듈 구성 구성요소는 그 후 타겟 시스템의 제어를 수행하는데 사용하기 위한 하나 이상의 실행 가능한 판단 모듈들을 생성하고, 테스트하며 배치하기 위해 다양한 자동화 동작들을 수행한다. 판단 모듈 구성 구성요소는 따라서 생성된 판단 모듈들이 타겟 시스템의 제어를 수행하기 위해 실행되는, 나중의 런-타임 단계 전에 발생하는 구성 또는 셋업 단계의 부분으로서 동작할 수 있지만, 몇몇 실시예들 및 상황들에서 판단 모듈 구성 구성요소는 자동 제어 시스템을 위한 판단 모듈들을 부가하고, 제거하거나 또는 수정하기 위해서와 같은, 하나 이상의 판단 모듈들을 가진 자동 제어 시스템을 개선하거나 또는 확대하거나 또는 그 외 수정하기 위해 초기 배치 후 추가로 사용될 수 있다(예로서, 자동 제어 시스템이 타겟 시스템을 제어하기 위해 계속해서 사용되는 동안).
몇몇 실시예들에서, 생성되고 배치되는 몇몇 또는 모든 자동 제어 시스템들은, 몇몇 실시예들 및 상황들에서 판단 모듈들 내에 이러한 구성요소들을 포함함으로써와 같은, 자동 제어 시스템의 런타임 동작 동안 실행을 위해 그것들 내에 다양한 구성요소들을 추가로 제공할 수 있다. 이러한 구성요소들은, 예를 들면, 판단 모듈이 생성하는 제어 동작들을 최적화하거나 또는 그 외 결정하며 개선하기 위해 각각의 판단 모듈의(또는 몇몇 판단 모듈들의) 제어 동작 결정 구성요소를 포함할 수 있다. 예를 들면, 판단 모듈에서 이러한 제어 동작 결정 구성요소는 몇몇 실시예들에서, 하나 이상의 목표들에 대하여 및 다수의 상호-관련된 제약들을 가진 타겟 시스템을 위한 판단 모듈의 모델을 고려하여 준-최적의 솔루션을 반영하기 위해 특정한 시간 동안 판단 모듈의 제어 동작들을 자동으로 결정하려고 시도할 수 있다 - 그렇다면, 이러한 준-최적의 솔루션은 완전히 최적화된 솔루션의 임계량 내에 있는 부분적으로 최적화된 솔루션에 적어도 부분적으로 기초할 수 있다. 수행할 하나 이상의 제어 동작들의 이러한 결정은 특정한 시간 동안 및 하나 이상의 판단 모듈들의 각각에 대해 발생할 뿐만 아니라, 몇몇 상황들에서 적어도 몇몇 판단 모듈들에 의해 진행 중인 제어 동안 다수 회에 걸쳐 반복될 수 있다. 몇몇 실시예들에서, 판단 모듈을 위한 모델은, 모델 및 그것의 해밀토니안(Hamiltonian) 함수 구현이 진화한 해밀토니안 함수 내에 부가적인 표현들을 부가함으로써 다수의 시간 기간들에 걸쳐 업데이트되도록 허용하기 위해서와 같은, 타겟 시스템의 적어도 부분을 나타내는 제약들에 부분적으로 기초하여 결합 미분 방정식들의 세트를 반영하는 해밀토니안 함수로서 구현된다.
몇몇 실시예들에서, 자동 제어 시스템의 런타임 동작 동안 실행을 위해 생성되고 배치된 자동 제어 시스템 내에 포함된 구성요소들은 자동 제어 시스템을 위한 타겟 시스템의 제어를 총괄적으로 수행하는 다수의 판단 모듈들의 제어 동작들을 조정하기 위해 하나 이상의 조정 제어 관리 구성요소들을 추가로 포함할 수 있다. 예를 들면, 몇몇 또는 모든 판단 모듈들은 각각, 하나 이상의 다른 판단 모듈들의 모델들 및 판단 모듈의 로컬 모델로부터 솔루션들을 동시에 제공하는 이들 다른 판단 모듈들과의 일치 공유 모델을 결정함으로써와 같은, 자동 제어 시스템에서 하나 이상의 다른 판단 모듈들의 것들과 상기 판단 모듈의 로컬 솔루션 및 제안된 제어 동작들을 동기화하려고 시도하기 위해 몇몇 실시예들에서 이러한 제어 동작 결정 구성요소를 포함할 수 있다. 이러한 모듈-간 동기화들은 특정한 시간에 각각의 판단 모듈에 대한 하나 이상의 제어 동작들을 결정하기 위해, 뿐만 아니라 진행 중인 제어 동안 다수 회에 걸쳐 반복되도록 반복적으로 발생할 수 있다. 또한, 각각의 판단 모듈의 모델은 몇몇 실시예들에서, 각각의 판단 모듈의 모델 및 그것의 해밀토니안 함수 구현이 판단 모듈의 로컬 모델에 대한 초기 해밀토니안 함수 내에 이들 다른 판단 모듈들의 모델들에 대한 부가적인 표현들을 부가함으로써 하나 이상의 다른 판단 모듈들의 모델들과 조합되도록 허용하기 위해서와 같은, 타겟 시스템의 적어도 부분을 표현한 제약들에 부분적으로 기초하여 결합 미분 방정식들의 세트를 반영하는 해밀토니안 함수로서 구현된다.
상기 주지된 바와 같이, 설명된 기술들은 다양한 유형들의 물리적 시스템들 또는 다른 타겟 시스템들에 대한 자동 제어 시스템들을 제공하기 위해 사용될 수 있다. 하나 이상의 실시예들에서, 자동 제어 시스템은 하나 이상의 전기 소스들(예로서, 하나 이상의 태양광 패널 그리드들, 하나 이상의 풍력 발전용 터빈들 등) 및 하나 이상의 전기 저장 및 소스 메커니즘들(예로서, 하나 이상의 배터리들)을 포함하는 주거 위치에서와 같은, 마이크로-그리드 전기 설비를 제어하기 위해 생성되고 제공되며 사용된다. 자동 제어 시스템은, 예를 들면, 특정한 시간들에서 특정한 양의 전기를 제공하기 위해 국소적 전기 그리드의 조작자로부터 요청들을 수신하기 위해, 및 각각의 이러한 요청을 수용할지를 결정함으로써 마이크로-그리드 전기 설비의 동작을 제어하기 위해서와 같은, 마이크로-그리드 전기 설비에서(예로서, 가정용 자동화 시스템의 부분으로서) 동작할 수 있다. 요청이 수용되면, 제어 동작들은 요청된 전기를 제공하기 위해 어떤 전기 소스(예로서, 태양광 패널, 배터리 등)를 사용할지를 선택하는 것을 추가로 포함할 수 있으며, 그 외 제어 동작들은 생성되는 전기를 적어도 하나의 에너지 저장 메커니즘으로 제공하기 위해(예로서, 배터리를 충전하기 위해) 결정하는 것을 추가로 포함할 수 있다. 이러한 물리적 시스템의 출력들은 국소적 전기 그리드로 제공되는 전기를 포함하며, 자동 제어 시스템이 구현하는 목표는, 예를 들면, 전기의 제공으로부터의, 마이크로-그리드 전기 설비에 대한 이득들을 최대화하는 것일 수 있다.
하나 이상의 실시예들에서, 자동 제어 시스템은 배터리, 모터 및 몇몇 경우들에서, 전력이 페달을 밟고 있는 사용자로부터 및/또는 배터리 및/또는 엔진에 의해 동력을 공급받는 모터로부터 올 수 있는 전기 자전거와 같은, 엔진을 가진 차량을 제어하기 위해 생성되며 제공되고 사용된다. 자동 제어 시스템은, 예를 들면, 현재 모터에 동력을 공급하기 위해 배터리로부터 에너지를 제거할지를 결정함으로써 차량의 동작을 제어하기 위해(및 그렇다면 얼마나 많은 에너지를 배터리로부터 제거할지를 추가로 결정하기 위해) 또는 대신에 배터리로 과도한 에너지를 부가하기 위해(예로서, 에너지에 의해 생성된 바와 같이, 및 그렇다면 에너지로부터 얼마나 많은 에너지를 생성할지를 추가로 결정하기 위해; 및/또는 제동 또는 내리막 해안으로부터 캡처된 바와 같이)와 같은, 차량 상에서 또는 사용자에 대해 동작할 수 있다. 이러한 물리적 시스템의 출력들은 차량을 이동시키기 위해 모터의 효과들을 포함하며, 자동 제어 시스템이 구현하는 목표는, 예를 들면, 배터리로부터 생성된 에너지의 최소치를 갖고 하나 이상의 특정된 속도들에서 차량을 이동시키며, 및/또는 엔진에 의해 연료의 사용을 최소화하는 것일 수 있다.
배터리들은 매우 다양한 다른 상황들에서 사용될 수 있으며, 태양광 패널들 및 다른 광전지 시스템들, 전기 차들 및 다른 차량들 등을 갖고와 같은, 설명된 기술들의 실시예들에 의해 유사하게 제어될 수 있다는 것이 이해될 것이다.
설명된 기술들의 사용은 또한, 다음과 같이 유리한 속성들 또는 동작들의 비-배타적 예들을 포함한, 다양한 유형들의 이득들을 특정한 실시예들에서 제공할 수 있다:
ㆍ텍스트 (또는 다른 구조화되지 않음) 데이터가 이용 가능한 콜드 스타트 환경에서 및 최소 사용자 이력을 갖고 관심들/원하는 콘텐트를 추론한다;
ㆍ점점 더 풍부한 사용자 이력들을 통합할 수 있는 연속 방식으로 추론을 개선한다;
ㆍ피드백, 명시적/암시적, 긍정/부정의 부가로 및 바람직하게는 실시간 또는 거의 실시간 방식으로 추론 성능을 개선한다;
ㆍ비즈니스 값을 제공하는 정보를 도메인 전문가들로부터 도출하며, 추론 프레임워크에 그것들을 내장한다;
ㆍ새로운 상태들을 나타낼 수 있는 새로운 구조화되지 않은 데이터를 동적으로 부가하며, 교정 방식으로 기존의 모델을 업데이트한다;
ㆍ충돌들을 수용하기 위해 추론 시스템을 재정규화한다;
ㆍ자연어 모델에 기초하여 새로운 환경에서 즉시 추론한다;
ㆍ정적 모델로서 새로운 정보를 부가하며, 추론/예측을 상당히 개선하기 위해 자연어 모델과 통합한다;
ㆍ단지 성능만을 개선하는 방식으로 새로운 데이터를 통합하고 오래된 데이터를 해체한다;
ㆍ데이터 보안 방식으로 추론을 수행한다;
ㆍ분산 네트워크에서 별개의 추론 요소들을 통합하며 전체 성능을 개선한다;
ㆍ전문이 아닌 사용자 관점으로부터 시스템으로 규칙들 및 정보를 쉽게 프로그램한다;
ㆍ이동 디바이스들의 대역폭에 적합한 방식으로 컴퓨터 추론들을 저렴하게 수행한다; 및
ㆍ제약 정보를 통합한다.
몇몇 실시예들은 모든 몇몇 예시적인 이득들을 포함하지 않을 수 있으며, 몇몇 실시예들은 열거되지 않은 몇몇 이득들을 포함할 수 있다는 것이 이해될 것이다.
도 2는, 도 10 내지 도 29에 대하여 및 여기에서의 다른 곳에서 논의된 문제에서와 같은, 배터리로부터 제공되는 DC 전력의 자동 제어를 제공하기 위해(예로서, 실시간 방식으로 및 배터리의 장기적 동작을 최적화하기 위해) 각각의 배터리의 상태의 특성들을 사용함으로써 하나 이상의 배터리들을 가진 물리적 타겟 시스템들을 제어하기 위해서와 같은, 타겟 시스템들의 협력적 분산 제어를 수행하기 위한 시스템(200)이 구현될 수 있는 예시적인 환경을 예시한 블록도이다. 특히, 시스템(200)은 도 2의 CDD 판단 모듈들(224)(또는 그것들의 CDD 제어 동작 결정 구성요소들(244) 및/또는 CDD 조정 제어 관리 구성요소들(246))이 도 11의 CDI 에이전트들(1050)에 대응한다는 것과 같은, 및 도 2의 타겟 시스템이 제어될 배터리들을 포함한다면(예로서, 제어 요소들(261)에 대하여), 도 11의 시스템(1100)의 몇몇 점들에서 유사하지만, CDD 결정 모듈들의 동작에 관해 도 2에서의 부가적인 세부사항들을 갖는다.
특히, 도 2의 예시적인 환경에서, 타겟 시스템 1(260)이 예시되며, 상기 자동 제어 시스템(222)은 타겟 시스템 1(260)을 능동적으로 제어할 때 사용하기 위해 배치되고 구현된다. 이러한 타겟 시스템은 타겟 시스템에 특정된 방식으로 타겟 시스템의 동작들을 구현하기 위해 다양한 기계적, 전자적, 화학적, 생물학적, 및/또는 다른 유형들의 구성요소들을 포함할 수 있다는 것이 이해될 것이다. 도 2의 예에서, 판단 모듈들(224)은 개개의 판단 모듈들(224a, 224b 등, 내지 224n)로서 표현되며, 타겟 시스템 1(260)에 대하여 국소적으로 및/또는 하나 이상의 매개 컴퓨터 네트워크들(도시되지 않음)을 통해 원격 방식으로 실행할 수 있다. 예시된 예에서, 판단 모듈들(224)의 각각은, 그것의 국소적 판단 모듈(224a)을 지원하는 구성요소(244a), 그것의 국소적 판단 모듈(224b)을 지원하는 구성요소(244b), 및 그것의 국소적 판단 모듈(224n)을 지원하는 구성요소(244n)를 갖고와 같은, CDD 제어 동작 결정 구성요소(244)의 로컬 사본을 포함한다. 유사하게, 다양한 판단 모듈들(224)의 동작들은 예시된 실시예에서 피어-투-피어 방식으로 조정되고 동기화되며, 판단 모듈들(224)의 각각은, 그것의 국소적 판단 모듈(224a)을 지원하는 구성요소(246a), 그것의 국소적 판단 모듈(224b)을 지원하는 구성요소(246b), 및 그것의 국소적 판단 모듈(224n)을 지원하는 구성요소(246n)를 갖고, 이러한 동기화를 수행하기 위해 CDD 조정 제어 관리 구성요소(246)의 사본을 포함한다.
판단 모듈들(224) 및 자동 제어 시스템(222)이 실행됨에 따라, 특정한 판단 모듈이 하나 이상의 다른 판단 모듈들에 대하여 부분적으로 동기화된 일치 방식으로(및 몇몇 상황들에서 판단 모듈들(224)의 모두의 일치 동작들이 융합되는 완전 동기화 방식으로) 동작하기 위해서와 같은, 다양한 판단 모듈들 사이에서의 협력 및 조정을 가능하게 하기 위해 판단 모듈들의 현재 모델들 및 다른 상태에 대한 정보를 공유하기 위해서와 같은, 판단 모듈들(224) 사이에서의 다양한 상호 작용들(275)이 수행된다. 판단 모듈들(224) 및 자동 제어 시스템(222)의 동작 동안, 초기 상태 정보 및 시간에 걸친 변화하는 상태 정보(예로서, 타겟 시스템(1)의 제어 요소들(261)에 대응하는, 도시되지 않지만 배터리들에 대하여)와 같은, 및 판단 모듈들(224)에 의해 수행된 제어 동작들로부터의 타겟 시스템(1)에서의 출력들 또는 다른 결과들을 포함한, 다양한 상태 정보(243)가 타겟 시스템(260)으로부터 자동 제어 시스템(222)에 의해 획득될 수 있다.
이 예에서 타겟 시스템(1)은 자동 제어 시스템(222)이 조작할 수 있는 다양한 제어 요소들(261)(예로서, 배터리들 및 그것들의 전력 출력)을 포함하며, 이 예에서 각각의 판단 모듈(224)은 그것이 조작하는 하나 이상의 제어 요소들(261)의 별개의 그룹을 가질 수 있다(판단 모듈 A(224a)이 제어 요소들 A(261a) 상에서 제어 동작들 A(247a)을 수행하기 위해 상호 작용들(268a)을 수행하고, 판단 모듈 B(224b)이 제어 요소들 B(261b) 상에서 제어 동작들 B(247b)을 수행하기 위해 상호 작용들(269b)을 수행하며, 판단 모듈 N(224n)이 제어 요소들 N(261n) 상에서 제어 동작들 N(247n)을 수행하기 위해 상호 작용들(269n)을 수행하도록). 이러한 제어 동작들은, 선택적으로 하나 이상의 출력들(262)(예로서, 다수의 배터리들로부터 생성되는 총 전기 전력)을 야기하거나 또는 영향을 주기 위해서를 포함한, 타겟 시스템(1)의 다른 요소들의 내부 상태(263)에 영향을 준다. 여기에서의 다른 곳에서 보다 상세하게 논의되는 바와 같이, 제어 요소(261a)는, 예를 들면, 제어되는 타겟 시스템(1)의 특정한 제 1 배터리(도시되지 않음)에 연결된 FET 작동기일 수 있으며, 다른 제어 요소들(261b 내지 261n)은 유사하게 타겟 시스템(1)의 다른 배터리들(도시되지 않음)에 연결된 다른 FET 작동기들일 수 있다. 타겟 시스템(1)의 동작이 진행 중이므로, 내부 상태 정보(263) 중 적어도 일부는 그것들의 진행 중인 제어 동작들에 영향을 주기 위해 판단 모듈들 중 일부 또는 모두에 제공되며, 판단 모듈들(224a 내지 224n)의 각각은 가능하게는, 이 예에서, 각각, 상태 정보(243a 내지 243n)의 개별 세트를 갖는다.
다른 곳에서 보다 상세하게 논의되는 바와 같이, 각각의 판단 모듈(224)은, 다수의 시간 기간들의 각각 동안과 같은, 다음에 수행할 특정한 제어 동작들(247)을 결정하기 위해 타겟 시스템에 대한 판단 모듈의 이러한 상태 정보(243) 및 국소 모델(245)을 사용할 수 있지만, 다른 실시예들 및 상황들에서, 특정한 자동 제어 시스템은 단지 하나의 시간 기간 동안 또는 단지 몇몇 시간 기간들 동안에만 특정한 타겟 시스템과의 상호 작용들을 수행할 수 있다. 예를 들면, 판단 모듈(224)에 대한 국소적 CDD 제어 동작 결정 구성요소(244)는 상기 판단 모듈의 국소 모델(245)을 위한 준-최적의 위치 솔루션을 결정할 수 있으며, 국소적 CDD 조정 제어 관리 구성요소(246)는, 결정되는 이러한 국소적 및/또는 동기화된 솔루션들에 기초하여 판단 모듈의 국소 모델(245)을 업데이트하기 위해서를 포함한, 판단 모듈들(224)의 다른 것을 반영하기 위해 동기화된 일치 솔루션을 결정한다. 따라서, 자동 제어 시스템(222)의 실행 동안, 자동 제어 시스템은, 상태 정보를 요청하기 위해, 및 타겟 시스템(260)의 값들을 수정하거나 또는 그 외 그것의 제어 요소들(261)을 조작하기 위한 지시들을 제공하기 위해서를 포함한, 타겟 시스템(260)과의 다양한 상호 작용들을 수행한다. 예를 들면, 다수의 시간 기간들의 각각 동안, 판단 모듈(224a)은 타겟 시스템의 하나 이상의 제어 요소들(261a)과 하나 이상의 상호 작용들(269a)을 수행할 수 있지만, 판단 모듈(224b)은 유사하게 하나 이상의 별개의 제어 요소들 B(261b)과 하나 이상의 상호 작용들(269b)을 수행할 수 있으며, 판단 모듈(224n)은 타겟 시스템(260)의 하나 이상의 제어 요소들 N(261n)과 하나 이상의 상호 작용들(269n)을 수행할 수 있다. 다른 실시예들 및 상황들에서, 적어도 몇몇 제어 요소들은 각각의 시간 기간 동안 제어 동작들을 수행하지 않을 수 있다.
다른 실시예들 및 상황들에서(예로서, 단지 단일 배터리만이 제어된다면), 자동 제어 시스템의 배치된 사본은, 국소적 CDD 제어 동작 결정 구성요소를 포함하지만 임의의 국소적 CDD 조정 제어 관리 구성요소를 포함하지 않도록(동기화하고 상호 작용할 다른 판단 모듈들이 없으므로)과 같은, 단지 단일 실행 판단 모듈만을 포함할 수 있다.
도 2에 예시되지 않지만, 222의 것들과 같은 자동 제어 시스템들의 동작들의 분산 특징은 다양한 판단 모듈들의 부분적으로 분리된 동작들을 허용하고, 새로운 판단 모듈들(224)을 부가하기 위해 및/또는 기존의 판단 모듈들(224)을 제거하기 위해(예로서, 상이한 가정용 전력 시스템들에서와 같은, 사용 중인 기본 배터리들에 대한 변화들을 반영하기 위해)와 같은, 자동 제어 시스템(222)이 사용 중인 동안 판단 모듈들(224)의 그룹에 대한 수정들이 시간에 걸쳐 수정되도록 허용하기 위해 포함한다. 유사한 방식으로, 특정한 판단 모듈에 특정된 규칙들 또는 다른 제약들을 변경하기 위해 및/또는 시간에 걸쳐 특정한 판단 모듈에 특정된 목표들을 변경하기 위해서와 같은, 변화들이 특정한 판단 모듈들(224 및/또는 228)에 대해 이루어질 수 있으며, 새로운 대응하는 모델이, 대응하는 자동 제어 시스템이 대응하는 타겟 시스템의 제어 동작들을 계속하는 동안 몇몇 실시예들 및 상황들에서를 포함한, 이러한 판단 모듈 내에서 생성되고 배치된다. 또한, 각각의 자동 제어 시스템이 도 2의 예들에서 단일 타겟 시스템을 제어하는 것으로 설명되지만, 단일 자동 제어 시스템이 다수의 타겟 시스템들(예로서, 다수의 상호-관련된 타겟 시스템들, 동일한 유형의 다수의 타겟 시스템들 등)을 제어하기 위해서와 같은, 다른 구성들이 다른 실시예들 및 상황들에서 사용될 수 있으며, 및/또는 다수의 자동 제어 시스템들이 각각 상기 타겟 제어 시스템의 상이한 부분들을 제어하기 위해 독립적으로 동작함으로써와 같은, 단일 타겟 시스템을 제어하기 위해 동작할 수 있다. 다른 구성들이 유사하게 다른 실시예들 및 상황들에서 사용될 수 있다는 것이 이해될 것이다.
도 12는 보다 큰 타겟 시스템의 부분으로서 배터리를 제어하는 실시예를 예시하며, 이것은 이 예에서 태양광 패널을 포함한 가정용 전력 시스템을 수반한 시스템(1200)이며 - 따라서, 도 10 및/또는 도 11에 대하여 이전에 논의된 예시적인 실시예들은 몇몇 상황들에서 예시적인 시스템(1200)과 같은 보다 큰 시스템의 부분으로서 사용될 수 있다. 특히, 도 12의 블록도는, 실시간 방식으로 및/또는 배터리의 장기적 동작을 최적화하기 위해서와 같은, 생성되는 태양광 발전을 가진 가정용 전기 전력 시스템의 부분인 배터리로부터의 DC 전력의 자동 제어를 수행하기 위한 시스템(1200)의 실시예의 예시적인 구성요소들을 예시하며, 상기 가정용 발전 및 사용은, 시스템(1200)의 배터리를 제어하기 위해 하나 이상의 CDI 에이전트들을 제공하거나 또는 관리하는 엔티티와 같은, 외부 엔티티에 의해 모니터링되고 동기화된다. 도 12의 예에서, 예시적인 가정의 전력 시스템은 또한 그것이 다양한 시간들에서 전력을 수신하고 전력을 제공하는 외부 전기 그리드에 연결되며, 배터리는 태양광 발전 시스템에 의해 생성된 전기 전력을 저장하며 가정 및/또는 적절한 경우 전기 그리드로 전력을 공급하도록 작용한다.
도 12의 예시된 예에서, 배터리(1010), 센서 모듈(1020), 배터리를 위한 작동기(1030), 온-사이트 배터리 추적 제어기(1040) 등을 포함한, 도 10의 것들과 유사한 구성요소들이 계속해서 예시된다. 도 12의 예에서, 그러나, 도 10의 CDI 에이전트(1050)는, 도 12에 대하여 사용 중인 CDI 에이전트가 대신에 원격 위치에서(예로서, 클라우드 또는 컴퓨터 네트워크 위치에서) 실행 중이며 도 10에 대하여 예시된 것과 유사한 방식으로 도 12의 배터리 추적 제어기(1040)로 추적 및/또는 동기화 신호들을 제공한다면과 같은, 예시적인 가정의 물리적 위치에서 존재하는 구성요소들의 부분으로서 예시되지 않는다. 이러한 추적 및/또는 동기화 신호들은, 예를 들면, 현재 시간 또는 바로 다음 시간 동안 배터리의 원하는 전력 출력 및/또는 원하는 배터리 파라미터들(예로서, 내부 온도, 전압, 전류 등)을 포함할 수 있다. 또한, 여기에서의 다른 곳에서 보다 상세하게 논의되는 바와 같이, CDI 에이전트(들)는 배터리(1010)(및 제어되는 임의의 다른 배터리들)에 대한 모니터링된 정보, 외부 전기 그리드를 관리하는 유틸리티로부터의 전력 요청들, 정의된 제약들 또는 사용될 다른 규칙들 등에 기초하여 이러한 추적 및/또는 동기화 신호들을 생성할 수 있다.
또한, 배터리로부터 출력 전력을 수신하며 및/또는 저장을 위해 배터리로 전기 전력을 공급하는 인버터/정류기 모듈(1210), 전기 전력을 생성하며 그 자신의 연관된 센서 및 인버터를 갖는 태양광 패널(1220), 전력을 수신하며 및/또는 외부 전기 그리드로 공급하고 가정을 위해 로드(1240)로의 전력 분배를 제어하는 배전함(1230)을 포함한, 다수의 부가적인 구성요소들이 도 12에 예시된다. 또한, 두 개 의 국소 제어 에이전트들(1260 및 1270)은 도 12의 배터리 추적 제어기(1040)의 동작을 제어하는 것을 돕기 위해 예시되며, 에이전트1(1260)은 배터리 추적 제어기와 직접 상호 작용하며, 에이전트2(1270)는 수신되고 및/또는 제공되는 전력에 대한 공진을 제공하기 위해서와 같은, 가정용 전력 시스템 및/또는 그리드의 것과 배터리에 대한 전력의 AC 위상을 동기화하기 위한 활동들을 수행한다. 배터리 추적 제어기(1040) 및 에이전트들(1260 및 1270)(유틸리티 센서 프로세서가 아닌)은 이 예에서 '제어 프로세서'로서 함께 불리우며, 배터리 추적 제어기는 시스템 상태 업데이트들을 제공하며, 에이전트들 사이에서의 통신들은 이러한 다중-에이전트 아키텍처를 지원하기 위해 관리된다. 에이전트2의 단층 촬영은 비-파괴성 x-선을 사용하여 배터리 상태에서의 동적 변화들을 추적한다. 또한, 외부 엔티티(1280)(예로서, 외부 전기 그리드를 제공하거나 또는 관리하는 유틸리티)는, 다수의 이러한 가정용 전력 시스템들 및/또는 다른 고객들을 통해 사용되고 및/또는 제공되는 전력을 조정하는 것과 같은, 모니터링 및 동기화 신호들을 이 예에서 배터리 추적 제어기(1040)로 제공한다.
도 12의 예는 태양광 패널 시스템에서 배터리(1010)의 사용을 수반하지만, 배터리들은 다양한 유형들의 환경들 및 시스템들에서 충전되고 및/또는 방전될 수 있으며, 대응하는 CDI 에이전트의 유사한 활동들이 여기에서 설명된 방식으로 이러한 활동들을 제어하기 위해 사용될 수 있다는 것이 이해될 것이다.
도 15는 배터리로부터의 DC 전력의 자동 제어를 수행하기 위해 배터리의 상태의 특성들을 사용하는 시스템의 실시예의 성능의 예시적인 시각적 디스플레이들을 예시한 블록도(1500)이며, 가정용 발전 및 사용은 도 12의 예에서와 같은, 외부 엔티티에 의해 모니터링되고 동기화된다. 특히, 도 15의 예에서, 차트(1520)는 CDI 에이전트(들)의 자동 제어 하에서 하나 이상의 가정용 전력 시스템들에 대한 유틸리티로부터 시간에 걸쳐 수신되는 전력 요청들을 예시하고, 차트(1530)는 CDI 에이전트(들)의 자동 제어에 기초하여 유틸리티로부터의 요청들에 응답하여 가정용 전력 시스템(들)에 의해 공급되는 전력을 예시하며, 차트(1510)는 상기 차트들을 함께 조합한다. 예시된 바와 같이, CDI 에이전트(들)의 자동 제어는 시간에 걸쳐 유틸리티 요청들에 대한 매우 정확한 응답들을 제공하지만, 또한 가정용 전력 시스템(들)에서 하나 이상의 배터리들의 성능을 최적화시킨다. 또한, 차트(1540)는 CDI 에이전트(들)의 자동 제어에 기초하여 가정용 전력 시스템(들)에서 하나 이상의 배터리들에 의해 공급된 증가 전력을 추가로 예시한다.
도 13은 도 12의 시스템(1200)의 것과 유사한 시스템(1300)의 추가 예를 예시하지만, 여기에서 시스템(1300)은 전력 요청들을 제공하는 유틸리티 또는 다른 외부 엔티티로부터의 모니터링/동기화 신호들의 손실로 인해 제한된 비상 모드에서 동작하고 있다. 특히, 시스템(1300)의 블록도는, 제어되고 있는 배터리(1010), 태양광 패널(1220), 배전함(1230) 및 가정용 로드(1240)를 포함한, 도 12의 시스템(1200)의 것과 유사한 다수의 요소들을 예시한다. 그러나, 도 13의 예에서, 엔티티(1280)로부터의 신호들은 방해되며, 이에 응답하여 배터리(1010)의 제어는 도 12의 통상의 배터리 추적 제어기(1040)로부터 도 13에서의 대안적인 비상 배터리 추적 제어기(1340)로 스위칭되었다. 또한, 에이전트2(1270)에 대하여 도 12에 예시된 구성요소들은, 시스템이 도 13의 상황에서 손실되는 모니터링/동기화 신호들 없이 도 12의 위상 동기화 및 공진 기능을 제공하지 않으므로, 도 13에서 예시되지 않는다. 이 예에서, 비상 배터리 추적 제어기(1340)는, 배터리 상태에 대한 정보를 수신하기 위해, 및 배터리 상태에 기초하지만 유틸리티로부터의 전력 요청들에 응답하려고 시도하지 않고와 같은, 배터리 동작에 대한 대응하는 지시들을 발행하기 위해서와 같은, 모니터링/동기화 신호들의 부재 시 배터리(1010)의 동작을 유지하기 위해 임시 방식으로 동작한다. 부가적인 세부사항들이 적어도 몇몇 실시예들에서 비상 제어기의 동작에 대하여 이하에서 설명된다.
도 16은 배터리로부터의 DC 전력의 자동 제어를 수행하기 위해 배터리의 상태의 특성들을 사용하는 시스템의 실시예의 성능의 예시적인 시각적 디스플레이들을 예시하는 것에 대하여, 도 15의 블록도(1500)와 유사한 블록도(1600)이지만, 여기에서 가정용 발전 및 사용의 통상적인 모니터링 및 동기화는 도 13의 예에서와 같이, 일시적으로 중단된다. 특히, 도 16의 예에서, 차트(1620)는 CDI 에이전트(들)의 자동 제어 하에서 하나 이상의 가정용 전력 시스템들에 대한 유틸리티에 의해 시간에 걸쳐 이루어지지만 일시적 중단으로 인해 가정용 전력 시스템들에 의해 수신되지 않는 전력 요청들을 예시하며, 차트(1630)는 시간에 걸쳐 가정용 전력 시스템(들)에 의해 공급되는 전력을 예시한다. 차트(1610)는 공급된 전력에 대한 정보 및 유틸리티의 전력 요청들에 대한 가정용 전력 시스템의 정보를 함께 조합하지만, 이들 전력 요청들은 그것들이 수신되지 않으므로 일시적 중단의 시간 동안 0으로 설정된다. 차트(1640)는 CDI 에이전트(들)의 자동 제어에 기초하여 가정용 전력 시스템(들)에서 하나 이상의 배터리들에 의해 공급된 증가 전력을 추가로 예시하며 - 도시된 바와 같이, 유틸리티 전력 요청들의 부족에도 불구하고, CDI 에이전트(들)는, 이용 가능한 부분 정보에 기초하여 가능한 정도로 가정용 전력 시스템(들)에서의 하나 이상의 배터리들의 성능을 계속해서 최적화하기 위해, 하나 이상의 배터리들의 내부 상태와 같은, 다른 인자들에 기초하여 하나 이상의 배터리들의 전력 출력을 여전히 제어한다.
도 14는 실시간 방식으로 및 배터리의 장기적 동작을 최적화하기 위해서와 같은, 배터리로부터의 DC 전력의 자동 제어를 가능하게 하기 위해, 배터리의 상태 및 동작의 모델(1400)의 예시적인 구성요소들을 예시한 블록도이다. 특히, 도 14의 모델(1400)은 배터리에 대한 충전 경로(1410), 배터리에 대한 방전 경로(1420), 배터리에 대한 열 모델(1440), 저장소(1430), 뿐만 아니라 배터리 상에 위치되며 배터리에 의해 생성된 네른스트(nernst) 전압(1480)에 의해 지원되는 로드(1450)의 표현들을 포함한다. 여기에서의 다른 곳에서 보다 상세하게 논의되는 바와 같이, 적어도 몇몇 실시예들 및 상황들에서, 배터리의 제어는 배터리의 수명을 감소시키며 및/또는 배터리에 대한 다른 유해한 효과들을 부과하는 다른 세트의 동작 특성들 또는 최적의 온도 범위 밖에서 동작하는 배터리를 갖고와 같은, 포화 모델(1460)에 대응하는 포화 레벨에서 배터리의 동작을 방지하거나 또는 최소화하는 것을 포함할 수 있다. 대신 항상 또는 가능한 한 많이 선형 범위에서 동작하도록 배터리를 제어함으로써, 여기에서의 다른 곳에서 보다 상세하게 논의되는 바와 같이, 증가된 배터리 수명 및/또는 다른 개선된 동작 특성들을 포함한, 다양한 이득들이 획득된다.
도 17은 실시간 방식으로 및 배터리의 장기적 동작을 최적화하기 위해서와 같은, 배터리로부터의 DC 전력의 자동 제어를 수행하기 위해 배터리의 상태의 특성들을 사용하기 위한 예시적인 시스템(1700)의 실시예를 예시한 블록도이다. 특히, 도 10의 시스템(1000)의 것과 유사한 방식으로, CDI 에이전트(1750)는 예시되지 않은 배터리 시스템의 세부사항들(예로서, 배터리, 센서(들), 작동기들, 배터리 추적 제어기 등)을 갖고, 배터리 시스템(1710)의 동작을 제어하도록 동작한다. 부가적인 정보(1740)가 또한 배터리의 내부 상태에 대한 정보를 유지하기 위해서를 포함한, 배터리 시스템을 제어하며, 내부 상태 정보를 업데이트하기 위해 교환되고 사용되는 다양한 정보를 전송하고 이를 청취하기 위해 구성요소들을 모니터링하는 부분으로서(예로서, 정보 공개/가입 또는 다른 푸시 시스템의 부분으로서) 사용되고 교환되는 정보를 보여주기 위해 예시된다.
도 18은 실시간 방식으로 및 배터리의 장기적 동작을 최적화하기 위해서와 같은, 배터리로부터의 DC 전력의 자동 제어를 수행하기 위해 배터리의 상태의 특성들을 사용하기 위한 시스템(1800)의 실시예의 예시적인 구성요소들을 예시한 블록도이다. 특히, 예시된 시스템은, 다양한 배터리 파라미터들(예로서, 네른스트 전위, 포화까지의 증가 값, 용량 등), 다른 측정치들(예로서, 전압, 전류, 온도 등) 및 배터리에 적용된 증가 제어(예로서, 절대 값 또는 증분적 변화로서, 제공하기 위한 원하는 전력)를 포함한 배터리에 대한 정보를 수신하며, 배터리의 대응하는 상태를 추정하는 상태 추정기 구성요소(1855)를 포함한, 다양한 구성요소들로의 및 그 사이에서의 데이터 흐름을 보여준다. 상태 추정기 구성요소는 또한 이 예에서 하나 이상의 정의된 방식들로 인입하는 배터리 파라미터 정보를 적응시키는 파라미터 적응화 엔진(PAE)(1865)을 포함한다. 상태 추정기 구성요소는 추정된 배터리 상태 정보 및 다른 추적 파라미터들을 수신하기 위해, 배터리에 대한 하나 이상의 최적의 또는 거의 최적의 제어 동작들을 계산하기 위해, 및 배터리에 적용될 이들 제어 동작들을 출력하기 위해 배터리 추적 제어기로서 동작하는, LQ 추적기 구성요소(1845)로 추정된 상태에 대한 출력을 제공한다.
도 19는 실시간 방식으로 및 배터리의 장기적 동작을 최적화하기 위해서와 같은, 배터리로부터의 DC 전력의 자동 제어를 수행하기 위해 배터리의 상태의 특성들을 사용하기 위한 시스템(1900)의 실시예의 예시적인 구성요소들을 예시한 블록도이다. 특히, 도 19는 도 18의 예를 계속하며, 도 19의 예에서, 이산 칼만 필터(1955)인, 도 18의 상태 추정기 구성요소(1855)의 예시적인 실시예에 관한 추가 세부사항들을 제공한다. 이 예에서, 필터(1955)는 이전 추정된 배터리 파라미터들에 대한 입력 정보, 파라미터들에 대한 초기 값들, 및 배터리에 대해 취해진 증분 제어 동작들에 대한 정보로서 취하며, 배터리에서 진행 중인 변화들을 캡처하기 위해 배터리 파라미터 추정치들을 동적으로 업데이트하도록, 배터리 파라미터들의 새로운 추정치를 생성하기 위해 정보를 사용한다.
도 20은 실시간 방식으로 및 배터리들의 장기적 동작을 최적화하기 위해서와 같은, 조정 방식으로 다수의 배터리들로부터의 DC 전력의 자동 제어를 수행하는 시스템(2000)의 실시예의 예시적인 구성요소들을 예시한 블록도이다. 특히, 도 20의 시스템(2000)은 도 12의 것과 몇몇 유사성들을 갖지만, 다수의 배터리들 및 연관된 시스템들의 조정된 제어를 지원하기 위해(예로서, 하나 이상의 지역들, 상태들, 국가들 등에 대응하도록과 같은, 이 예에서 일 백만개의 이러한 배터리들 및 연관된 시스템들에 걸쳐) 시스템의 예시적인 아키텍처를 예시한다. 특히, 예시된 예에서, 온-사이트 배터리 추적 제어기들을 가진 다양한 배터리들 및 연관된 시스템들(2005)(예로서, 태양광 패널들을 가진 가정용 전력 시스템들)이, 배터리들 및 연관된 시스템들(2005)에 대한 전력 요청들을 제공하는 하나 이상의 유틸리티들(2085), 및 배터리들 및 연관된 시스템들(2005)에 대한 분산 제어 시스템(2075)을 관리하기 위해 시스템 관리자로서 작용하는 하나 이상의 엔티티들(2090)과 함께, 예시된다.
이 예에서, 분산 제어 시스템(2075)은 온라인 컴퓨팅 환경(예로서, Microsoft Azure)을 통해서와 같은, 네트워크-액세스 가능한 위치에서 집중화 방식으로 구현되지만, 그것은 다른 실시예들에서 다른 방식들로 구현될 수 있다. 분산 제어 시스템(2075)은 유틸리티들(2085)과 인터페이스하며 상호 작용하기 위한 하나 이상의 구성요소들, 배터리들 및 연관된 시스템들(2005)과 인터페이스하고 상호 작용하기 위한 하나 이상의 구성요소들, 및 시스템 관리 엔티티들(2090)이 분산 제어 시스템(2075)을 모니터링하고 및/또는 제어하기 위해 상호 작용할 수 있는 하나 이상의 모니터링 및/또는 구성 구성요소들을 포함한다. 또한, 배터리들 및 연관된 시스템들(2005)을 지원하는 다양한 CDI 에이전트들(예로서, 배터리 팩 및 연관된 시스템당 하나의 CDI 에이전트를 갖고)은 네트워크-액세스 가능한 위치에서 실행되며, 사용된 다양한 클러스터-간 통신 메커니즘들(예로서, 다양한 토픽들을 가진 공개/가입 시스템, 적어도 몇몇 CDI 에이전트들 및/또는 클러스터들 사이에서의 통신 서비스 버스 등)을 갖고, 함께 클러스터링된다. 클러스터들은, 지리적 위치(예로서, 시스템 전기 그리드 서브스테이션 영역의 부분인) 및/또는 동작 특성들과 같은, 하나 이상의 특성들을 공유하는 연관된 배터리들 및 시스템들을 갖는 것에 기초하여 CDI 에이전트들을 그룹핑하기 위해서와 같은, 다양한 실시예들에서 다양한 방식들로 형성될 수 있다. 또한, 클러스터들은, 먼저 클러스터 내에서 CDI 에이전트들을 조정하고, 그 후 둘 이상의 클러스터들 등 사이에서 조정하기 위해서와 같은, 스테이지들 및/또는 티어들에서, 및 선택적으로 클러스터들의 다수의 티어들(예로서, 계층 방식으로 구조화된)을 갖고 CDI 에이전트들을 조정하기 위해 사용될 수 있다. 다양한 부가적인 구성요소들은 CDI 에이전트들 및/또는 배터리들 및 연관된 시스템들에서의 변화들을 관리하기 위해(예로서, 새로운 배터리 시스템들을 위한 새로운 CDI 에이전트들을 부가하기 위해 및/또는 시스템(2075) 관리로부터 제거되는 기존의 배터리 시스템들에 대한 기존의 CDI 에이전트들을 제거하기 위해; 특정한 클러스터들에 새로운 CDI 에이전트들을 부가하기 위해 및/또는 클러스터들로부터 기존의 CDI 에이전트들을 제거하기 위해; 클러스터들을 생성하고, 제거하며, 수정하기 위해; 등) 사이트 관리 시스템, 상태 정보 및 사용되고 있는 다른 정보를 저장하기 위해 네트워크-액세스 가능한 위치로부터 이용 가능한 저장 서비스들, 네트워크-액세스 가능한 위치에 의해 제공된 컴퓨팅 리소스들을 관리하기 위한 네트워크-액세스 위치로부터 이용 가능한 리소스 관리 서비스들 등과 같은, 분산 제어 시스템(2075)의 부분으로서 제공되며 사용될 수 있다.
도 21은 실시간 방식으로 및 배터리들의 장기적 동작을 최적화하기 위해서와 같은, 조정 방식으로 다수의 배터리들로부터의 DC 전력의 자동 제어를 수행하는 시스템(2100)의 실시예의 예시적인 구성요소들을 예시한 블록도이다. 특히, 도 21은 배터리들 및 연관된 시스템들 중 다른 것이 분산 제어 시스템의 부분이 아닌 경우와 같은, 배터리들 및 연관된 시스템들의 마이크로-그리드 네트워크 또는 다른 네트워크가 배터리들 및 연관된 시스템들의 서브세트(2135)를 통해 적어도 몇몇 실시예들에서 제어되고 관리될 수 있다는 것을 예시한다. 이러한 상황들에서, 가상 네트워크 모델은 제어되지 않은 다른 배터리 및 연관된 시스템(이 예에서, DER, 또는 분산 에너지 리소스로서 불리우는)에 대한 정보를 추정하기 위해서를 포함하여, 전체로서 마이크로-그리드 네트워크 또는 다른 네트워크에 대한 정보를 모델링하고 추정하기 위해 생성될 수 있다.
도 22는 도 21의 예를 계속하며, 조정 방식으로 제어되는 DER 구성요소들에 대한 부가적인 정보를 포함한다. 특히, 도 22는 실시간 방식으로 및 배터리들의 장기적 동작을 최적화하기 위해서와 같은, 조정 방식으로 다수의 배터리들로부터의 DC 전력의 자동 제어를 수행하는 시스템(2200)의 실시예의 예시적인 구성요소들을 예시한 블록도이다. 시스템(2200)은 다수의 조정된 CDI 에이전트들을 가진 도 20의 분산 제어 시스템(2075)과 유사한 네트워킹 시스템(2245)의 표현을 포함하며, 네트워킹 시스템(2245)은 또한 이 예에서 SERA(스마트 에너지 참조 아키텍처)로 불리운다. 이 예에서, 네트워킹 시스템(2245)은 다양한 DER 구성요소들로부터 모니터링 정보를 수신하며, 그것들의 동작을 제어하기 위해 DER 시스템들의 배터리 추적 제어기 구성요소들로 동기화 신호들을 출력한다.
도 23은 도 21 및 도 22의 예들을 계속하며, 배터리들 및 연관된 CDI 에이전트들의 전체 시스템의 동작에 대한 정보를 시뮬레이션하거나 또는 그 외 추정하기 위해, 도 21에 대하여 주지된 바와 같이 가상 네트워크에 대한 정보를 포함하기 위해서와 같은, 도 22의 네트워킹 시스템(2245)에 대한 부가적인 정보를 포함한다. 특히, 도 23은 실시간 방식으로 및 배터리들의 장기적 동작을 최적화하기 위해서와 같은, 조정 방식으로 다수의 배터리들로부터의 DC 전력의 자동 제어를 수행하는 시스템(2300)의 실시예의 예시적인 구성요소들을 예시한 블록도이다. 시스템(2300)은 가상 발전소, 가상 로드, 가상 서브스테이션(들), 및 가상 DER(들)을 포함하는 다양한 요소들의 모델들 또는 다른 시각적 표현들을 포함하며, 하나 이상의 CDI 에이전트들은 각각과 연관된다. 다양한 요소들은, 단지 DER 구성요소들의 서브세트만이 제어되는 상황들에서도, 전체로서 전체 시스템의 동작을 추정하거나 또는 그 외 모델링하기 위해서를 포함하여, 도시된 바와 같이 정보를 교환한다. 다양한 CDI 에이전트들은, 여기에서의 다른 곳에서 보다 상세하게 논의되는 바와 같이, 그것들의 동작들을 조정하기 위해 평균 장 표현을 추가로 사용한다.
도 24는 도 10의 시스템(1000)과 유사한 시스템(2400)을 예시하며, 여기에서 다양한 구성요소들은 정의된 기준들에 따라, 그러나 도 24에 예시된 부가적인 요소들(2455)을 갖고, 배터리의 동작들을 제어하기 위해 상호 작용한다. 특히, 도 24는 실시간 방식으로 및 배터리들의 장기적 동작을 최적화하기 위해뿐만 아니라 시스템의 재무 성과를 강화하기 위해 가격 예측들 및 부가적인 정보를 사용하기 위해서와 같은, 배터리로부터의 DC 전력의 자동 제어를 수행하기 위해 배터리의 상태의 특성들을 사용하기 위한 시스템(2400)의 실시예의 예시적인 구성요소들을 예시한 블록도이다. 도 24의 부가적인 요소들(2455)은 시스템(2400)으로 하여금, 배터리 수명 및/또는 다른 성능 특성들에 관련된 다른 제약들과 조합하여와 같은, 하나 이상의 재무 제약들을 최적화하거나 또는 그 외 강화하기 위해 배터리의 제어를 추가로 관리하도록과 같은, 날씨 데이터, 과거 및 현재 가격 데이터 등에 기초하여서와 같은, 유틸리티에 공급된 전력에 대한 예측된 가격들에 대한 정보를 획득하고 사용하도록 허용한다.
외부 엔티티(또는 '하이브리드 추적기'로서 불리우는)로부터의 모니터링/동기화 신호들을 사용하는 통상적인 배터리 추적 제어기의 예시적인 실시예에 관한 부가적인 세부사항들은 다음과 같다.
일반적인 리튬 이온 고전력 배터리 셀에 대한 추적 제어 시스템의 일 예시적인 실시예는 도 14에서 전기 회로 표현에 의해 모델링될 수 있다. 모델(1400)은 충전 및 방전 동작들에서 셀을 특성화하는 화학 반응들을 표현하기 위해 전류 및 전압 소스들을 포함한다. 제어 동작들은 추정 제어기에 의해 구동된 작동기에 의해 중재된다. 제어기는 현재 전기 저장 레벨의 함수로서 셀의 원하는 응답, 및 전력 수요를 결정하는 추론 모듈에 의해 생성되는 원하는 전력 신호를 추적한다. 인버터 또는 정류기 회로들은 이 예에서 모델링되지 않으며, 이상화된 작동기가 이러한 모델을 위해 사용된다.
도 14에서 회로의 동적 거동은 다음과 같이 미분 방정식에 의해 주어진다:
Figure pct00001
(1)
여기에서 상태
Figure pct00002
, 및 제어 u(t)∈R, 및 시간 라인은 t∈R에 의해 표현된다.
함수(G(x1(t), x2(t), x3(t), x4(t), u(t)))는 (2)에 의해 제공된다
Figure pct00003
(2)
단순성을 위해, 논거에서 파라미터들에 대한 의존성은 억제되어 왔다. 파라미터들: α1, α2, β1, ..., β9, φ1, φ2, λ1, ..., λ4는 셀 모델에서의 물리적 구성요소들(즉, 저항기들, 커패시터, 전압, 전류 소스들 및 포화 한계들)을 나타낸다. 파라미터(τ)는 시간 지연이며, 이것은 이력 데이터를 사용하여 추정될 수 있다. 파라미터들: α1, α2, β1, ..., β6, φ는 셀 모델에서의 물리적 구성요소들(즉, 저항기들, 커패시터, 전압, 전류 소스들 및 포화 한계들)을 나타낸다. 제어 설계는 작은 시간 간격들에 걸쳐 구간별 선형 스토캐스틱 미분 방정식에 의해 (1)의 근사 해법을 생성한다. 따라서, t0, t1 ... ti, ti + 1...,을 시간 라인의 분할이라고 하자. 각각의 시간 간격 [ti, ti + 1)에서, 우리는 [ti, ti + 1)에 걸쳐 형식의 해법들을 찾으며,
Figure pct00004
(3)
Figure pct00005
(4)
여기에서
Figure pct00006
Figure pct00007
의 조건부 평균이며,
Figure pct00008
는 다음의 구간별 선형 스토캐스틱 모델에 기초하여 칼만 필터로부터 획득된 조건부 레이트이다. 스토캐스틱 증분(
Figure pct00009
)은 다음의 스토캐스틱 미분 방정식을 만족시킨다:
Figure pct00010
여기에서 잡음은 제로 평균을 가지며 공분산은 근사치에서 제거되는 2차 항에 비례하고, 예로서,
Figure pct00011
이고, 여기에서
Figure pct00012
이며 I는 단위 행렬이다. 센서들은 전력, 전압, 및 전류 측정들을 제공한다. 배터리 센서들로부터의 관측들은 다음에 의해 모델링되며,
y(t) = x(t) + θ(t)
여기에서 관측 잡음 θ(t)은 센서들의 특성이며, 제로 평균 및 공분산 행렬은 신호 대 잡음 비 규격들로부터 결정된다.
(3) 및 (5)로부터, 증분 관측이 δy(t) = y(t) - x(ti)을 갖고, 다음에 의해 제공된다.
δy(t) = δx(t) + θ(t).
추적 문제의 효과는 다음 형식의 기준을 갖는다
Figure pct00013
추적 값(
Figure pct00014
)은 동적으로, 배터리의 원하는 전력 거동을 정의한 규칙들로부터 생성된다. CDI 에이전트로부터의 규칙들은 원래 상태 벡터(전력, 전류, 전압, 온도)에 대하여 주어지지 않을 수 있으며, 아니라면, 원하는 증분 상태(
Figure pct00015
)에 대하여 원하는 거동을 서술하기 위해 이전된다는 것을 주의하자. 이러한 규칙들의 제 1 예는 이하에서 제공된다.
규칙 1: 한 주에 걸쳐, 전력 수요의 적어도 78%가 만족되어야 한다.
규칙 2: 배터리 수명 ≥ 5년.
규칙 3: 배터리에 대해, 충전 및 방전의 양에 대한 임계치들을 만족시킨다.
이러한 규칙들의 제 2 예는 이하에서 제공된다.
1. 최대 충전 한계: 현재 충전이 제 1 정의된 임계 레벨을 초과한다면 배터리를 충전하지 않는다.
2. 최소 충전 한계: 현재 충전이 제 2 정의된 임계 레벨 미만이면 배터리를 방전시키지 않는다.
3. 레이트 제한: 충전 레이트에 대한 제 3 정의된 임계 한계보다 빨리 배터리에 대한 원하는 파워 인/아웃을 변경하지 않는다.
4. 충전 및 방전 사이에서의 스위칭: 하나 이상의 제 4 정의된 임계 레벨들에 기초하여서와 같은, 너무 빠르게 또는 빈번하게 충전 및 방전(또는 반대로) 사이에서의 스위칭을 방지하기 위해 전력이 거의 0일 때 충전의 레이트를 감소시킨다.
5. 배터리 온도를 유지한다: 온도가 상승하기 시작하면, 현재 배터리 상태에 기초하여 원하는 전력 출력을 조정한다(즉, 배터리 충전이 낮으며 온도가 증가하기 시작하면, 그것을 충전한다).
제 2 예의 이들 규칙들의 부분으로서, 예를 들면, 70%의 레이트로와 같은, 가능한 많이(여기에서 때로는 "Q 인자"를 최대화하는 것으로 불리우는) 전력 요청들을 이행한다. 전력 요청들이 원하는 레벨(예로서, 30%, 40%, 50%, 60%, 70%, 80%, 90% 등) 이상 및/또는 이하로 만족된다면, 상기 규칙들 중 하나 이상을 가진 가중은 몇몇 실시예들에서 이러한 변화들로부터, 각각, 만족된 전력 요청들의 레벨을 낮추거나 또는 올리기 위해, 및 각각 그에 대응하여 배터리 수명을 증가시키거나 또는 감소시키기 위해 위로 또는 아래로 조정될 수 있다.
여기에서의 규칙들은 증분들과 관련되며, 긴 시간 프레임(주들, 해들)에 걸친 평균치를 [ti, ti + 1]에 걸친 이동 평균으로 변환한다. 배터리 모델에 대해, 온도는 통상적으로 전력, 전압 및 전류보다 훨씬 빠르게 변한다. 아오키(Aoki)의 분할 방법에 의해 동기가 부여될 때, 문제는 전체 상태 공간 문제가 상이한 시간 간격들을 갖고 해결되는 두 개의 서브-문제들로 변화될 수 있도록 상태 변수들을 통해 분리될 수 있다. 온도 제어기는 "고속 제어기"로서 전력/전압/전류 제어기는 "저속 제어기"로 불리우며, 다음의 세부사항들은 저속 제어기에 관한 것이다. 특히, 저속 제어기에 대해 해결될 최적의 제어 추적 문제는 다음과 같이 요약될 수 있고:
Figure pct00016
다음을 조건으로 한다
Figure pct00017
Figure pct00018
Figure pct00019
(7)에서,
Figure pct00020
이고, 및 T(t-τ)는 이전 시간 간격(ti -1≤t≤ti) 동안 평균 온도이다. 따라서 λT(t-τ)는 ti≤t≤ti +1 동안 상수로 고려될 수 있다. (6) 내지 (9)에서 만들어진 최적화 문제는 분리 원칙의 가정들을 만족시킨다. 이것은 다음의 접근법으로 이어진다.
단계 1: 별개의 노트에 설명되는, 칼만 필터에 의해 생성된 ti≤t≤ti +1 동안 조건부 평균(
Figure pct00021
) 및 조건부 레이트(
Figure pct00022
)를 결정한다.
단계 2: (6) 내지 (9)를 풀고, 다음의 형식의 피드백 해법을 획득한다.
Figure pct00023
여기에서 Kj(t), j = 0, 1, 2이며 ψ(t)는 최적화에서 기인한 이득들 및 아핀(affine) 항들이다.
단계 3. (10)에서의
Figure pct00024
Figure pct00025
를 칼만 필터의 출력들로부터의
Figure pct00026
Figure pct00027
로 대체한다.
단계 4. 다음의 식을 통합한다.
Figure pct00028
모든 i에 대한 간격들([ti, ti +1])은 이득들(Kj(t), j = 0, 1, 2) 및 ψ(t)가 각각의 간격에 걸쳐 일정한 것으로 고려될 수 있도록 충분히 작게 선택되며, ti에서 평가된다.
일정한 공식의 변화를 사용하여,
Figure pct00029
에서 (11)의 적분은 다음에 의해 제공된다.
Figure pct00030
피적분 함수들은 ti에서의 임펄스들이라고 가정하면 임펄스 근사를 사용하여 (12)를 통합시킨다. 따라서, 저속 제어기에 대한 증분 제어는 다음과 같다.
Figure pct00031
고속 제어기에 대해 풀면, 우리는 고속 제어기에 대한 증분 제어를 얻는다,
Figure pct00032
. 두 개의 증가 제어들의 선형 조합을 취하면, 우리는 다음을 얻는다.
Figure pct00033
ti +1에서 배터리에 대한 제어는 다음에 의해 제공된다.
Figure pct00034
ti +1에서 상태는 다음과 같다.
Figure pct00035
ti +1에서 상태의 레이트는 다음과 같다.
Figure pct00036
(16) 및 (17) 양쪽 모두는
Figure pct00037
를 업데이트하기 위해 미래 요건들에 대한 규칙 모듈로 전송된다. 이러한 접근법은 다음 간격에서 반복된다. 이것은 배터리 제어기의 아키텍처(2500)를 보여주는, 도 25에서 예시된다.
셀의 모델은, 예를 들면, 1 kW 정격 리튬 이온 배터리를 대표하는, 다음의 파라미터들을 갖고, 트레이닝될 수 있다.
[파라미터 표]
Figure pct00038
배터리 동작에 대하여, 이 예를 위한 제어기는 파라미터들에서의 불확실성 및 근사 오류들을 매우 잘 보상하며, 강건성 및 시간 응답의 양호한 품질을 보인다.
일반적인 리튬 이온 고전력 배터리 셀에 대한 및 저속 제어기에 대한과 같은, 사용 중인 배터리에 대한 상태를 계속해서 추정하는 예시적인 실시예에 대한 부가적인 세부사항들은 다음과 같다:
상태 업데이트를 위한 스토캐스틱 미분 방정식은 다음과 같다:
Figure pct00039
여기에서 상태 δx(t)∈R3, u(t)∈R1, A(t)는 3×3 행렬이고, B(t)는 3×1 벡터이고, f(t)는 3×1 벡터이며 ω(t)는 3×1 벡터이다. 잡음은 제로 평균 및 공분산 행렬(W)을 가지며, 예로서 ω(t)∼N(0, W)이다.
관측 방정식은 다음에 의해 제공된다.
δy(t) = δx(t) + θ(t) (2)
여기에서 δy(t)∈R3이며, θ(t)는 3×1 벡터이다. 잡음은 제로 평균 및 공분산 행렬(V)을 가지며, 예로서 θ(t)∼N(0,V)이다.
상태 업데이트 식은 다음과 같다:
Figure pct00040
여기에서 칼만 이득(K)은 3×3 행렬이며, 다음에 의해 제공되며,
Figure pct00041
공분산 업데이트 식은 다음과 같다:
Figure pct00042
ti≤t≤ti +1에 대한 조건부 평균(
Figure pct00043
) 및 조건부 레이트(
Figure pct00044
)를 결정하기 위해, 제 1 단계는
Figure pct00045
=0 및 P(ti)=0을 초기화하는 것이다.
제 2 단계는 ti≤t≤ti +1에 대해, P(t)에 대한 (5)를 수치적으로 푸는 것이다(예로서, 룽게-쿠타(Runge-Kutta) 법). 제 3 단계는 (4)를 사용하여, 칼만 이득을 얻는 것이다.
제 4 단계는 수치적으로 (3)을 푸는 것이며, 여기에서 파라미터들(A(t), B(t)) 및 관측들(δy(t))은 알려져 있다. 이것은 ti≤t≤ti +1에 대한 조건부 평균(
Figure pct00046
) 및 조건부 레이트(
Figure pct00047
)를 제공한다.
일반적인 리튬 이온 고전력 배터리 셀에 대한 및 상기 설명된 바와 같은 저속 제어기에 대한 것과 같은, 사용 중인 배터리에 대한 피드백 이득을 계산하는 예시적인 실시예에 관한 부가적인 세부사항들은, 다음과 같다:
해결될 최적의 제어 추적 문제는 다음과 같이 요약될 수 있고:
Figure pct00048
다음을 조건으로 한다.
Figure pct00049
Figure pct00050
Figure pct00051
새로운 상태 변수(
Figure pct00052
) 및 새로운 제어 변수(
Figure pct00053
)를 정의하면, (2 내지 4)에서의 상태 방정식은 새로운 조건들(z(ti) = 0)을 갖고,
Figure pct00054
로서 재기록될 수 있으며,
Figure pct00055
이다.
해결될 최적의 제어 추적 문제는 다음과 같이 요약되고:
Figure pct00056
다음을 조건으로 한다.
Figure pct00057
를 갖고,
Figure pct00058
.
피드백 법칙
Figure pct00059
이다.
∑(t)는 행렬이며, φ(t)는 벡터이다. 그것들은 다음의 상미분 방정식들을 품으로서 제공된다.
Figure pct00060
Figure pct00061
(5)로부터,
Figure pct00062
이고,
여기에서
Figure pct00063
.이다.
분리 원칙에 의해, 우리는 결정적 문제를 먼저 품으로써 KLQ(t) 및 ψ(t)를 산출할 수 있으며, 그 후 (9)에 도시된 바와 같이, v(t)를 얻기 위해 (8)에서의 상태(z(t))를
Figure pct00064
로 대체한다.
Figure pct00065
ti에서 피적분 함수들이 임펄스들이라고 가정하는 임펄스 근사치를 사용하여, 다음을 산출한다.
Figure pct00066
결정적 문제에 대한 상태 값을 얻기 위해, 다음의 미분 방정식을 푼다.
Figure pct00067
이러한 연산들에 대한 아키텍처는 도 28의 시스템(2800)에서 예시된다.
비상 배터리 추적 제어기의 예시적인 실시예에 대한 부가적인 세부사항들은 다음과 같다:
배터리 시스템의 상태 공간 모델은:
Figure pct00068
이고,
상태 관측자는 다음의 형식이다:
Figure pct00069
여기에서
Figure pct00070
는 x(t)의 추정치이며 K는 우리가 폐쇄-루프 추적기로 스위칭하기 전에 하이브리드 추적기에 의해 계산된 마지막 칼만 필터 이득이다.
식 (3)은 다음과 같이 재기록될 수 있다:
Figure pct00071
우리는 식의 양쪽 측면들 모두의 라플라스 변환을 취한다:
Figure pct00072
여기에서
Figure pct00073
Figure pct00074
이다.
Figure pct00075
에 대해 풀면, 우리는 다음을 발견한다:
Figure pct00076
(6)의 양 측들 모두에 대해 C로 곱하며 y(s)로
Figure pct00077
를 대체하여, 우리는 다음을 얻는다:
Figure pct00078
y(s)에 대해 풀면, 우리는 다음을 발견한다:
Figure pct00079
Figure pct00080
.
Figure pct00081
이라고 하면,
Figure pct00082
이다.
yref(t)를 (18)에서
Figure pct00083
및 δu(t) = 0을 설정하고, 그 후 δx(t)를 품으로써 획득될 수 있는, 기준 신호라 하면,
Figure pct00084
을 산출한다.
PI 제어기를 설계하며, 따라서
Figure pct00085
이며,
여기에서 Kp는 비례 이득이고 Ki는 결정될 적분 이득이며,
Figure pct00086
이다.
피드백 제어기(2600)는 도 26에 도시된다. (12) 및 (24)를 조합하여, 다음을 산출한다.
Figure pct00087
y(s)를 풀어서, 우리는 다음을 얻는다:
Figure pct00088
이제 결정될 Kp 및 Ki를 갖고 피드백 제어 시스템을 안정화시킨다.
폐쇄-루프 전달 함수는:
Figure pct00089
이다.
T(s)의 극들 모두가 s-평면의 개방된 좌측 절반에 위치되도록 Kp 및 Ki를 선택하자.
수치적 구현
Kp 및 Ki를 계산하기 위한 수치 알고리즘이 이하에서 도시된다. 이전에 언급된 바와 같이, 배터리 시스템의 상태 공간 모델은 다음과 같다:
Figure pct00090
상태 관측자는 다음의 형태이며:
Figure pct00091
여기에서
Figure pct00092
은 x(t)의 추정치이며 K는 우리가 폐쇄-루프 추적기로 스위칭하기 전에 하이브리드 추적기에 의해 계산된 마지막 칼만 필터 이득이다. δy(t)는 이력 측정 데이터로부터 획득된다. 식(20)은 다음과 같이 재기록될 수 있다:
Figure pct00093
식(21)은 다음에 의해 근사될 수 있다.
Figure pct00094
t에서 피적분 함수들이 임펄스들이라고 가정하면, 우리는 다음을 갖는다.
Figure pct00095
PI 제어기를 설계하며, 따라서
Figure pct00096
이고,
여기에서 Kp는 비례 이득이며 Ki는 결정될 적분 이분이고, δyref는 (18)에서
Figure pct00097
및 δu(t) = 0을 설정하고, 그 후 δx(t)를 품으로써 획득될 수 있는, 기준 신호이며, 다음을 산출한다.
Figure pct00098
식(23), (24), 및 (25)를 조건으로, 제곱 잔차(residual)들의 적분(
Figure pct00099
)이 최소화되도록 Kp 및 Ki에 대한 최소 제곱 문제를 푼다.
Figure pct00100
이고,
여기에서, 나이퀴스트에 의해, N은 상태 전이 행렬(A)의 최소 고유치들(λmin)에 의해 결정되며, 즉,
Figure pct00101
이고,
Figure pct00102
이며 (28)에서의 δu(n△)을 (27)로 대체하면, 다음을 산출한다:
Figure pct00103
동적 프로그래밍 접근법을 사용하여 문제를 풀자. 비용 이동 함수는
Figure pct00104
을 갖고, 다음과 같이 기록되며:
Figure pct00105
그것을 리카티(Riccati) 형식과 동일시한다.
Figure pct00106
여기에서 Φn은 대칭 양 한정 행렬을 나타내고, Φn은 양의 벡터이며, Ωn은 양의 스칼라이다. 식(35) 및 식 (36) 및 (32)에의 역학들을 조합하여, 다음을 산출한다.
Figure pct00107
이러한 표현을 최소화하기 위해, 그것들에서 Kp 및 Ki를 갖고 항들을 분리하며,
Figure pct00108
이다.
Kp 및 Ki의 각각의 요소에 대하여 도함수를 취하며, 값을 0으로 설정한다. 이것은 Φn, Φn, Ωn에 대하여 최적의 이득(
Figure pct00109
Figure pct00110
)에 대한 해법을 산출한다.
Figure pct00111
Figure pct00112
에서 평가된 (38)에서 명도 함수와 리카티 형식(36)이 같음을 표시하며, Φn, Φn, Ωn, 그 후
Figure pct00113
Figure pct00114
에 대한 수치 값들을 푼다.
다수의 가정용 태양광 발전 시스템들의 네트워크의 부분으로서 배터리를 제어하는 예시적인 실시예에 대한 부가적인 세부사항들은 다음과 같으며, 이 예에서 마이크로소프트의 Azure와 같은 온라인 네트워크 환경에서 사물 인터넷(IoT) 능력들을 지원하기 위한 기능을 사용한다.
아키텍처
이 예에서, 아키텍처는 다수의 사이트들에서 수백만 개의 배터리들을 제어하도록 설계된다. 아키텍처는 다음의 구성요소들로 이루어진다:
ㆍ배터리 제어 유닛들, 이것들은 현장에 존재하며 네트워크 연결이 손실되는 경우에도 배터리들의 제어를 허용한다.
ㆍ배터리 인터페이스(Azure IoT 허브). 이것은 각각의 배터리 제어 유닛으로의 데이터의 전송 및 수신을 허용한다.
ㆍ유틸리티 인터페이스(Azure IoT 허브). 유틸리티 회사로의 데이터의 전송 및 수신을 허용한다.
ㆍCDI 에이전트들. 각각의 배터리가 제어하기 위한 하나의 에이전트가 있다; 이것들은 배터리 인터페이스를 통해 배터리들로 전달하며, 서로 최적의 제어를 결정한다.
ㆍ사이트 관리. 이러한 구성요소는 배터리들이 제어로부터 자동으로 부가되거나 또는 제거되도록 허용하기 위해 CDI 에이전트들의 네트워크를 적응시킨다.
ㆍ모니터링. 이러한 구성요소는 사용자가 모든 것이 작동하고 있음을 검증하도록 허용하기 위해, 및 문제가 발생하였다면 조치를 취하기 위한 진단들을 제공하기 위해 CDI 에이전트들의 바이탈 통계들을 추적한다.
배터리 제어 유닛들
배터리 제어 유닛들은 현장에서, 하드웨어에 위치되며, 배터리에 직접 연결된다. 배터리 제어 유닛들은 Azure 사물 인터넷(IoT) 허브를 통해 그것들의 원하는 제어를 수신하기 위해 클라우드에 연결한다. 연결이 손실될 때, 제어 유닛들은 그것들이 안정된 상태에 있음을 보장하기 위해 배터리들로 백업 제어를 제공한다.
배터리 인터페이스
상기 언급된 바와 같이, 각각의 사이트는 Azure IoT(사물 인터넷) 허브를 통해 이러한 예시적인 시스템에 연결할 것이다. 이것은 HTTPS 또는 AMQPS 프로토콜들을 사용하여 행해질 것이다. IoT 허브는 우리가 배터리들의 수를 수백만 개까지 스케일링하도록 허용하며, 인증 및 메시지 라우팅을 핸들링할 것이다. 각각의 배터리 제어 유닛은 그것이 배터리로 센서 데이터를 전송하는 고유 토픽, 및 다른 구성요소들이 배터리로 다시 제어 메시지들을 전송할 수 있는 고유 토픽을 가질 것이다.
유틸리티 인터페이스
또 다른 프로세스는 유틸리티로의 유틸리티 요청들을 판독/기록할 책임이 있다. 이러한 인터페이스는 SCADA의 이형일 가능성이 있지만, 유틸리티 회사에 맞추도록 적응될 수 있다.
CDI 에이전트들
각각의 배터리는 배터리에 대한 최적의 제어를 계산하기 위해 "CDI 에이전트"로서 알려진, 프로세스를 가질 것이다. 에이전트들은 Azure 클라우드에서 서비스 버스 청취자들로서 구현될 것이다. 에이전트들은 AMQP를 사용하여 Azure 서비스 버스를 통해 다른 에이전트들과 통신한다. 각각의 에이전트는 그것을 제어하는 배터리로부터 IoT 토픽에 가입하며, 따라서 그것의 배터리의 현재 상태를 수신할 수 있다.
대략적인 전역적으로 최적의 제어를 계산하기 위해, CDI 에이전트들은 서로("평균 장"으로 알려진) 그것들의 추정 상태 및 최적의 제어를 통신한다. 계산 및 메시지 전달을 스케일링 가능하게 유지하기 위해, CDI 에이전트들은, 위치 및 가능하게는 배터리 유형에 기초하여, 2- 또는 3-레벨 계층으로 클러스터링된다. 클러스터들은, 예를 들면, 각각의 서브스테이션 레벨애 대해 생성되며, 범위가 100 내지 1000개 에이전트들까지 이를 수 있다. 각각의 클러스터는 클러스터에서의 모든 에이전트들이 공개하고 가입하는 서비스 버스 토픽을 갖는다. 클러스터들 사이에서의 상태를 공유하기 위해, 각각의 클러스터에서의 특정한 노드는 마스터로서 표시된다. 이러한 노드는 부가적으로 다른 마스터 노드들에 의해 공유된 또 다른 토픽에 가입하고 그것으로 상태를 전송한다.
사이트 관리
사이트 관리를 위해 사용되는, 즉 배터리들이 부가되거나 또는 제거됨에 따라 CDI 에이전트들의 네트워크를 적응시키며, 고장이 발생한다면 네트워크를 수리할 수 있는 또 다른 세트의 노드들이 있다.
네트워크 구조는 에이전트들 및 배터리 제어 유닛들의 리스트에 의해 인코딩될 뿐만 아니라, 토픽들의 리스트는 각각의 에이전트가 공개하고 가입해야 한다. 이러한 데이터는 Azure 저장 서비스 내에 저장된다. 에이전트들을 생성하고, 파괴하며, 업데이트하는 것은 Azure 리소스 관리 API를 사용하여 행해진다.
새로운 배터리가 설치될 때, 시스템은 시스템에 부가하기 위해 요청을 위한 새로운 메시지들을 배터리 제어 유닛으로부터 수신할 것이며; 이러한 요청은 부가할 적절한 CDI 에이전트 클러스터를 찾기 위해 요구될 배터리에 대한 데이터(유형, 위치, 서브스테이션 등)를 포함할 것이다.
배터리가 짧은 시간 동안 오프라인이 될 때(예로서, 연결의 손실로 인해), 그 후 IoT 허브는 배터리의 상태의 마지막 추정치를 관리하며, 배터리는 그것이 재연결될 때까지 백업 로컬 제어에 들어간다. 그러나, 배터리가 장시간 동안 오프라인이 되면(예로서, 그것이 영구적으로 연결 해제되기 때문에), 사이트 관리 구성요소는 그 후 연관된 CDI 에이전트를 정지시킨다.
클러스터들이 너무 불균형해질 때, 즉, 그것들이 너무 많거나 또는 너무 적은 노드들을 가질 때, 사이트 관리 구성요소는 근접성 또는 배터리 유형에 기초하여서와 같은, 클러스터를 두 개로 분리하거나 또는 근처의 클러스터들을 하나로 조합한다. 사이트 관리 구성요소는 그것들이 가입하고 공개한 토픽들의 새로운 리스트들을 영향을 받은 에이전트들에 전송한다. CDI 마스터 노드들의 선발은 또한 사이트 관리 구성요소에 의해 행해진다.
모니터링
모니터링 구성요소는 다음을 확인하기 위해 각각의 배터리 제어 유닛 및 각각의 CDI 에이전트로부터 메시지들을 청취한다.
ㆍ메시지들이 예상된 바와 같이 전송된다.
ㆍ전체 전력은 유틸리티의 허용 오차들 내에서 생성된다.
ㆍ배터리 건강은 각각의 사이트에서 각각의 배터리에 대해 유지된다.
CDI 에이전트가 배터리를 제어하는데 실패하면, 모니터링은 대시보드를 통해 사용자에게 알리며, 또한 상기 에이전트를 재시작하기 위해 사이트 관리 구성요소에 시그널링한다. 배터리 제어 유닛들이 충분한 시간 동안 응답하는데 실패하면, 모니터링은 누군가가 그것들의 배터리가 오프라인이 됨을 확인하게 하거나 또는 누군가가 필요하다면 사이트로 나가게 하도록 알릴 수 있다. 전력이 유틸리티의 요건들에 대해 생성되지 않거나, 또는 배터리 건강이 몇몇 배터리들에 대해 유지되지 않는다면, 모니터링 에이전트는 수요를 보다 양호하거나 충족시키거나 또는 배터리 수명을 절약하기 위해 그것들의 파라미터들을 업데이트하도록 메시지들을 CDI 에이전트들에 전송할 수 있다.
업데이트들/유지보수
배터리 제어 코드에 대한 업데이트들을 위해, 배터리 제어 유닛은 새로운 코드를 다운로드하기 위해 제 1 메시지를, 및 그 후 현재 프로세스들을 정지시키고 새롭게 다운로딩된 코드로 스위칭하도록 제 2 메시지를 전송받는다. CDI 에이전트 코드로의 업데이트들을 위해, 사이트 관리 구성요소는 한 번에 하나씩 실행 중인 에이전트들을 정지시킬 수 있으며, 코드의 새로운 버전을 갖고 그것들을 재시작할 수 있다. 모니터링, 사이트 관리, 및 유틸리티 청취자에 대한 새로운 코드를 배치하기 위해, 업데이트딘 버전이 동시에 시작되며, 작동하도록 검증되고, 그 후 오래된 버전은 해제된다.
상기 주지된 바와 같이, 몇몇 실시예들 및 상황들에서, 일반적인 배터리 모델은 사용 중인 특정한 배터리의 제어가 시작하기 전에 및/또는 이러한 제어 및 사용 동안과 같은, 사용 중인 특정한 배터리에 특정된 속성들 및 특성들을 반영하기 위해 트레이닝될 수 있다. 모델을 트레이닝하는 예시적인 실시예에 관한 부가적인 세부사항들은 다음과 같다:
파라미터 학습 엔진은 특정한 전력 배터리 셀을 반영하기 위해 전력 배터리 셀에 대한 증분 모델에서 파라미터들을 적응시키기 위해 설명된다.
스토캐스틱 미분 방정식은 다음과 같으며:
Figure pct00115
여기에서 상태 δx(t)∈R3, u(t)∈R1 A(t)는 3×3 행렬이고, B(t)는 3×1 벡터이고, f(t)는 3×1 벡터이며 ω(t)는 3×1 벡터이다. 잡음은 제로 평균 및 공분산 행렬(W), 예로서 ω(t)∼N(0, W)을 갖는다.
관측 방정식은 다음에 의해 제공되며,
Figure pct00116
여기에서 측정치 δy(t)∈R3이며, θ(t)는 3×1 벡터이다. 잡음은 제로 평균 및 공분산 행렬(V), 예로서 θ(t)∼N(0, V)을 갖는다.
파라미터 학습 엔진은 9개의 값들(
Figure pct00117
)의 벡터를 생성하는, A 행렬을 추정한다. 이들 파라미터들은 증분 상태 동적 업데이트들보다 느리게 변하는 것으로 예측되며, 따라서 이산 칼만 필터는 A 파라미터들을 추정하기 위해 사용될 수 있다. 이러한 파라미터 학습 엔진을 위해, B(t), δu(t), f(t), ω(t), δy(t), 및 θ(t)의 값들은 시간들(ti, ti-1 및 ti-2)에서 알려져 있다.
Figure pct00118
이라고 하며
파라미터들의 역학은
Figure pct00119
이며 (3)
여기에서 Λt는 N(0, λ)이다.
상수 식의 변형을 사용하여 (1)을 풀면, 우리는 다음을 얻으며
Figure pct00120
임펄스 근사치를 사용하여, 다음을 산출하고,
Figure pct00121
지수 항에 대한 1차 테일러 급수 전개를 적용하여, 다음을 산출한다.
Figure pct00122
(2)로부터 δx(ti) = δy(ti) - θ(ti)를 치환하여, 다음을 산출한다.
Figure pct00123
표기법을 단순화하기 위해,
Figure pct00124
이라고 하면,
Figure pct00125
이며,
여기에서 Ω(ti + 1)은 잡음 항이다. 그 후 우리는 다음을 갖는다.
Figure pct00126
독립 잡음 벡터들의 합을 제로 평균을 갖는
Figure pct00127
이라고 하며 잡음들이 독립적이기 때문에, 공분산 행렬은 개개의 분산들의 합이다.
이제, 긴 간격들에 걸쳐 일정한, A에서 9개의 파라미터 값들을 추정하기 위해, 우리는 시간들(ti, ti-1 및 ti-2)에서 (9)를 기록하며,
Figure pct00128
이고,
다음과 같이, 파라미터들에 대한 파라미터 관측 방정식에 대한 행렬 형태로 재기록하고,
Figure pct00129
여기에서
Figure pct00130
는 제로 평균 및 대각 공분산 행렬을 가진 9×1 가우시안 벡터이며, 대각 엔트리들은 W + 2V + Cov(Ω)의 대각 요소들과 동일하다.
이제, 우리는 다음을 가지며,
Figure pct00131
여기에서
Figure pct00132
Figure pct00133
Figure pct00134
Figure pct00135
이다.
이제 우리는 파리미터들(
Figure pct00136
)을 추정하기 위해 이산 칼만 필터를 사용한다.
(3) 및 (10)에서 도시된 바와 같이, 파라미터 역학 방정식 및 파라미터 관측 방정식은 다음과 같으며,
Figure pct00137
여기에서 Λi는 N(0, λ)이고,
Figure pct00138
는 (11)에 도시된 바와 같이 N(0, W + 2V + Cov(Ω)),
Figure pct00139
)이며, 관측은 (10)에 도시된 바와 같이
Figure pct00140
이다.
이산 칼만 필터 방정식들이 이어진다.
상태 추정의 예측기 방정식은 다음과 같으며
Figure pct00141
측정치를 가진 수정 방정식은 다음과 같고
Figure pct00142
여기에서
Figure pct00143
은 이득 행렬이다.
∑로 표기된, 칼만 필터에 대한 공분산 행렬은 예측기 방정식에 의해 계산되며,
Figure pct00144
이고, 수정 방정식은,
Figure pct00145
이다.
이득은 다음과 같다.
Figure pct00146
초기 조건은 다음과 같다.
Figure pct00147
도 27은 파라미터 학습 엔진의 아키텍처(2700)를 예시하며, 파라미터 적응형 엔진(PAE)은 중심 구성요소이다. 모델의 파라미터들은 시스템의 상태보다 느리게 변한다.
상기 주지된 바와 같이, 몇몇 실시예들 및 상황들에서, 배터리의 내부 온도를 추정하기 위해서와 같은, 동작 배터리의 내부 상태가 추정될 수 있다. 여기에서 논의된 방식으로 배터리 온도를 관리하기보다는, 이전 시스템들은, 그것들이 온도를 사용한다면, 온도를 관리하기 위해 배터리의 동작들을 제어하기보다는, 외부 온도가 너무 높은 경우 배터리의 동작을 단지 멈춘다는 것이 주의된다. 또한, 이하에서 예시적인 온도 모델에서 설명되지 않지만, 몇몇 실시예들에서 부가적인 동작들은, 배터리의 추정된 내부 상태에 적어도 부분적으로 기초하여 외부 온도를 제어함으로써와 같은, 배터리를 둘러싸는 외부 온도를 관리하는 것에 적어도 부분적으로 기초하여 배터리의 내부 온도를 제어하기 위해 수행될 수 있다.
이러한 내부 배터리 온도를 추정하기 위해 배터리 온도 모델을 사용하는 예시적인 실시예에 관한 부가적인 세부사항들은 다음과 같다:
배터리 온도의 증분적 동적 거동(고속으로 실행하는)은 미분 방정식에 의해 주어지며,
Figure pct00148
여기에서 τ는 확산 효과를 나타내는 시간 지연이며, v(t)는 보다 낮은 속도 제어 추적기를 위한 증분 상태 벡터(δx(t)(전력, 전압, 전류)) 및 증분 제어(δu(t))의 선형 함수이다.
Figure pct00149
파라미터들(a, b, c 및 τ)은 이력 데이터를 사용하여 비-선형 최소 제곱 추정기에 의해 추정될 수 있으며, v(t)는 가우스 잡음이다.
(1)의 라플라스 변환은 다음과 같다.
Figure pct00150
우리는 형식(
Figure pct00151
)의 파데 근사값 [1]을 갖고 (4)에서 항(s-ae-sτ)을 근사하며, 여기에서 P 및 Q는 s에서 다항식들이며, 차수 o(P)>o(Q)이다. (1)의 라플라스 변환은 다음에 의해 근사된다.
Figure pct00152
저 주파수 근사를 위해 우리는 다음을 갖고 형식(
Figure pct00153
)의 파데 근사값을 선택한다.
Figure pct00154
우리는 다음을 정의한다.
Figure pct00155
(8)에서의 P(s)를 (6)으로 대체하며, 다음을 산출한다.
Figure pct00156
(9)의 역 라플라스 변환은 다음과 같다.
Figure pct00157
Figure pct00158
을 정의하며, 우리는 다음을 갖는다.
Figure pct00159
(5) 및 (8)로부터, 우리는 또한 다음을 갖는다.
Figure pct00160
(12)에서의 Q(S)를 (7)로 대체하며, 다음을 산출한다.
Figure pct00161
(13)의 역 라플라스 변환은
Figure pct00162
이다.
(14)에서의 v(t)를 (2)로 대체하여, 다음을 산출하며,
Figure pct00163
여기에서 v1(t)는 가우스 잡음이다.
(15)에서, 우리는 보다 낮은 속도 제어기의 단위 시간 간격 동안
Figure pct00164
, δx(t) 및 δu(t)의 값들을 일정하게 설정하며, 즉,
Figure pct00165
이고,
Figure pct00166
을 고속 제어기에 대한 제어 변수라고 하여, 다음을 산출한다
Figure pct00167
(17)에서 상태 방정식은 다음으로서 재기록될 수 있다:
Figure pct00168
을 갖고
Figure pct00169
이며,
Ω(t)는 가우스 잡음이다.
고속 제어기에 대한 최적의 제어 추적 문제는 다음과 같이 요약된다:
Figure pct00170
분리 원칙에 의해, 우리는 고속 제어기에 대한 증분 제어를 얻을 수 있으며,
Figure pct00171
여기에서
Figure pct00172
는 이산 칼만 필터를 실행하는 것에 의한 상태 추정치이고, K 및 φ는 결정적 추적 문제를 품으로써 획득된다.
결국, 우리는 증분 제어(δu(t))를 얻기 위해 두 개의 증분 제어들(δuL(t) 및 δuH(t))의 선형 조합을 취하며,
Figure pct00173
여기에서 ∈1 + ∈2 = 1 및 0 ≤∈1, ∈2 ≤ 1이다.
주의들:
Figure pct00174
에 대한 (2, 1) 파데 근사치 그 후
Figure pct00175
에 대한 (2, 1) 파데 근사치는 다음이다
Figure pct00176
(6) 및 (7)로부터, 우리는 다음을 갖는다
Figure pct00177
일반적으로, P 및 Q가 각각 m 및 n의 차수이면, (11) 및 (14)는 다음과 같이 일반화될 수 있다,
Figure pct00178
도 29는 배터리 제어 시스템에 대한 예시적인 아키텍처(2900)를 예시한 블록도이다. 예시적인 아키텍처는, 예를 들면, 다음의 구성요소들을 포함한다:
- 배터리 제어기로부터 명령된 전력에 평균 펄싱 출력을 매칭시키기 위해 사용된 DC-DC 변환기와 같은, 부스트/벅 변환기;
- 전력 인버터는 배터리가 방전될 때 DC를 AC로 변환하며, 정류기는 배터리가 충전 중일 때 AC를 DC로 변환하는 것과 같은, 인버터/정류기;
- 연속적 물리량을 양의 진폭을 나타내는 디지털 수로 변환하는 아날로그-대-디지털 변환기와 같은, A/D 변환기;
- 디지털 데이터(보통 이진)를 아날로그 신호(전류, 전압, 또는 전하)로 변환하는 디지털-아날로그 변환기와 같은, D/A 변환기;
- 배터리가 CDI 에이전트에 의해 발생된 원하는 전력 신호를 갖고 거의 공진에서 동작하도록 부스트/벅 변환기를 구동/제어하는 증분적 피드백 하이브리드 추적 제어 시스템(예로서, 여기에서 다른 곳에서 보다 상세하게 논의되는 바와 같이, 상태 추정기, 파라미터 학습 엔진, 및 상태 및 상태 레이트 추적기 제어기를 포함하는)과 같은, 배터리 제어기;
- 배터리 파라미터들을 추론하기 위해 및 원하는 전력 신호에 대한 추적 신호를 발생시키도록 수명 및 성능 규칙들을 사용하기 위해서와 같은, CDI 에이전트; 및
- 배터리의 원하는 출력 전력/충전 전력 예측을 생성하기 위해서와 같은, 수요 예측기.
도 3은 도 10 내지 도 29에 대하여 및 여기에서의 다른 곳에서 상기 논의된 문제에서와 같은, 배터리로부터 제공되는 DC 전력의 자동 제어를 수행하기 위해(예로서, 실시간 방식으로 및 배터리의 장기적 동작을 최적화하기 위해) 각각의 배터리의 상태의 특성들을 사용함으로써 하나 이상의 배터리들을 가진 물리적 타겟 시스템들을 제어하도록과 같은, 구성된 방식들로 특정된 물리적 시스템들 또는 다른 타겟 시스템들의 적어도 몇몇 동작들을 제어하거나 또는 그 외 조작하기 위해 자동 제어 시스템들을 구현하기 위한 기술들을 수행하는데 적합한 예시적인 컴퓨팅 시스템들을 예시한 블록도이다. 특히, 도 3은 CDD 시스템의 적어도 몇몇 기능을 제공하기에 적합한 서버 컴퓨팅 시스템(300)을 예시하지만, 다른 실시예들에서 다수의 컴퓨팅 시스템들이 실행을 위해 사용될 수 있다(예로서, 런-타임 제어가 발생하기 전에 초기 구성 및 셋업을 위해 CDD 결정 모듈 구성 구성요소, 및 실제 런-타임 제어를 위한 CDD 제어 동작 결정 구성요소(344) 및/또는 CDD 조정 제어 관리 구성요소(346)의 하나 이상의 사본들을 실행하는 별개의 컴퓨팅 시스템들을 갖도록). 도 3은 또한 CDD 시스템(340)의 고객들 또는 다른 사용자들에 의해 사용될 수 있는 다양한 클라이언트 컴퓨터 시스템들(350), 뿐만 아니라 제어될 배터리들을 가진 하나 이상의 타겟 시스템들(이 예에서, 하나 이상의 컴퓨터 네트워크들(390)을 통해 CDD 시스템(340)에 액세스 가능한 타겟 시스템 1(360) 및 타겟 시스템 2(370))을 예시한다.
서버 컴퓨팅 시스템(300)은 예시된 실시예에서 하나 이상의 하드웨어 CPU("중앙 프로세싱 유닛") 컴퓨터 프로세서들(305), 다양한 I/O("입력/출력") 하드웨어 구성요소들(310), 저장 장치(320), 및 메모리(330)를 포함하는 구성요소들을 갖는다. 예시된 I/O 구성요소들은 디스플레이(311), 네트워크 연결(312), 컴퓨터-판독 가능한 미디어 드라이브(313), 및 다른 I/O 디바이스들(315)(예로서, 키보드, 마우스, 스피커들 등)을 포함한다. 또한, 예시된 클라이언트 컴퓨터 시스템들(350)은 각각, 하나 이상의 CPU들(351), I/O 컴퓨터들(352), 저장 장치(354), 및 메모리(357)를 포함한, 서버 컴퓨팅 시스템(300)의 것들과 유사한 구성요소들을 가질 수 있지만, 몇몇 세부사항들은 간결성을 위해 컴퓨팅 시스템들(350)에 대해 예시되지 않는다. 타겟 시스템들(360 및 370)은 또한 각각 서버 컴퓨팅 시스템(300)에 대하여 예시된 구성요소들 중 일부 또는 모두와 유사한 구성요소들을 가진 하나 이상의 컴퓨팅 시스템들(도시되지 않음)을 포함할 수 있지만, 이러한 컴퓨팅 시스템들 및 구성요소들은 간결성을 위해 이 예에서 예시되지 않는다.
CDD 시스템(340)은 메모리(330)에서 실행하며 구성요소들(342 내지 346)을 포함하고, 몇몇 실시예들에서 시스템 및/또는 구성요소들은 각각 실행될 때 여기에서의 다른 곳에서 설명되는 바와 같이 CDD 시스템의 실시예를 제공하도록 CPU 프로세서들(305) 중 하나 이상을 프로그램하는 다양한 소프트웨어 지시들을 포함한다. CDD 시스템(340)은 네트워크(390)를 통해(예로서, 인터넷 및/또는 월드 와이드 웹을 통해, 사설 셀룰러 네트워크를 통해 등) 컴퓨팅 시스템들(350), 뿐만 아니라 이 예에서 타겟 시스템들(360 및 370)과 상호 작용할 수 있다. 이러한 예시적인 실시예에서, CDD 시스템은 여기에서의 다른 곳에서 보다 상세하게 논의되는 바와 같이, 고객들 또는 다른 사용자들에 대해 구성된 방식들로 판단 모듈들을 생성하고 배치하는 것에 관련된 기능을 포함한다. 다른 컴퓨팅 시스템들(350)은 또한 CDD 시스템(340) 및/또는 그것의 구성요소들과의 상호 작용들의 부분으로서 다양한 소프트웨어를 실행할 수 있다. 예를 들면, 클라이언트 컴퓨팅 시스템들(350)은 다른 곳에서 보다 상세하게 논의되는 바와 같이, 자동 제어 시스템들(예로서, 배터리들을 갖고 하나 이상의 물리적 타겟 시스템들을 제어하는데 사용하기 위해 CDD 시스템(340)에 의해 이전에 생성된 저장된 자동 제어 시스템들(325)) 또는 다른 판단 모듈들(329)을 구성 및 배치하기 위해, 뿐만 아니라 다양한 다른 유형들의 동작들을 수행하기 위해 CDD 시스템(340)의 하나 이상의 인터페이스들(도시되지 않음)과 상호 작용하도록과 같은, CDD 시스템(340)(예로서, 웹 브라우저, 특수화된 클라이언트-측 애플리케이션 프로그램 등의 부분으로서)과 상호 작용하도록 메모리(357)에서 소프트웨어를 실행할 수 있다. CDD 시스템의 사용자들에 관련된 정보(321)(예로서, 계정 정보), 및 제어될 배터리들을 가진 하나 이상의 타겟 시스템들에 관련된 정보(323)와 같은, CDD 시스템(340)의 기능에 관련된 다양한 정보가 저장 장치(320)에 저장될 수 있다.
컴퓨팅 시스템들(300 및 350) 및 타겟 시스템들(360 및 370)은 단지 예시적이며 본 발명의 범위를 제한하도록 의도되지 않는다는 것이 이해될 것이다. 컴퓨팅 시스템들은 대신에 각각 다수의 상호 작용하는 컴퓨팅-시스템들 또는 디바이스들을 포함할 수 있으며, 컴퓨팅 시스템들/노드들은, 인터넷과 같은 하나 이상의 네트워크들을 통해, 웹을 통해, 또는 사설 네트워크들(예로서, 이동 통신 네트워크들 등)을 통해를 포함하여, 예시되지 않은 다른 디바이스들에 연결될 수 있다. 보다 일반적으로, 컴퓨팅 노드 또는 다른 컴퓨팅 시스템 또는 디바이스는, 제한 없이 데스크탑 또는 다른 컴퓨터들, 데이터베이스 서버들, 네트워크 저장 디바이스들 및 다른 네트워크 디바이스들, PDA들, 휴대 전화들, 무선 전화들, 페이저들, 전자 수첩들, 인터넷 기기들, 텔레비전-기반 시스템들(예로서, 셋-탑 박스들 및/또는 개인/디지털 비디오 레코더들을 사용하여), 및 적절한 통신 능력들을 포함하는 다양한 다른 소비자 제품들을 포함한, 상호 작용하며 설명된 유형들의 기능을 수행할 수 있는 하드웨어의 임의의 조합을 포함할 수 있다. 또한, 예시된 CDD 시스템(340) 및 그것의 구성요소들에 의해 제공된 기능은 몇몇 실시예들에서 부가적인 구성요소들에 분배될 수 있다. 유사하게, 몇몇 실시예들에서, CDD 시스템(340) 및/또는 CDD 구성요소들(342 내지 346)의 기능 중 일부는 제공되지 않을 수 있으며 및/또는 다른 부가적인 기능이 이용 가능할 수 있다.
다양한 아이템들이 사용되는 동안 메모리에 또는 저장 장치상에 저장되는 것으로 예시되지만, 이들 아이템들 또는 그것들의 부분들은 메모리 관리 및 데이터 무결성의 목적들을 위해 메모리 및 다른 저장 디바이스들 사이에서 전달될 수 있다는 것이 또한 이해될 것이다. 대안적으로, 다른 실시예들에서, 소프트웨어 모듈들 및/또는 시스템들 중 일부 또는 모두는 또 다른 디바이스 상에서의 메모리에서 실행하며 컴퓨터-간 통신을 통해 예시된 컴퓨팅 시스템들과 통신할 수 있다. 따라서, 몇몇 실시예들에서, 설명된 기술들 중 일부 또는 모두는, 하나 이상의 소프트웨어 프로그램들의 소프트웨어 지시들의 실행에 의해 및/또는 이러한 소프트웨어 지시들 및/또는 데이터 구조들의 저장에 의해서와 같은, 하나 이상의 소프트웨어 프로그램들(예로서, CDD 시스템(340) 및/또는 CDD 구성요소들(342 내지 346)에 의해) 및/또는 데이터 구조들에 의해 구성될 때 하나 이상의 프로세서들 및/또는 메모리 및/또는 저장 장치를 포함하는 하드웨어 수단에 의해 수행될 수 있다. 더욱이, 몇몇 실시예들에서, 시스템들 및/또는 구성요소들 중 일부 또는 모두는, 이에 제한되지 않지만, 하나 이상의 애플리케이션-특정 집적 회로들(ASIC들), 표준 통합 회로들, 제어기들(예로서, 적절한 지시들을 실행하며, 마이크로제어기들 및/또는 내장 제어기들을 포함함으로써), 필드-프로그램 가능한 게이트 어레이들(FPGA들), 복합 프로그램 가능한 로직 디바이스들(CPLD들) 등을 포함하여, 펌웨어 및/또는 하드웨어에서 적어도 부분적으로 또는 완전히 구현되는 수단들을 사용하는 것에 의해서와 같은, 다른 방식들로 구현되거나 또는 제공될 수 있다. 구성요소들, 시스템들 및 데이터 구조들 중 일부 또는 모두는 또한, 하드 디스크 또는 플래시 드라이브 또는 다른 비-휘발성 저장 디바이스, 휘발성 또는 비-휘발성 메모리(예로서, RAM), 네트워크 저장 디바이스, 또는 적절한 드라이브(예로서, DVD 디스크, CD 디스크, 광학 디스크 등)에 의해 또는 적절한 연결을 통해 판독될 휴대용 미디어 물품과 같은, 비-일시적 컴퓨터-판독 가능한 저장 매체상에 저장될 수 있다(예로서, 소프트웨어 지시들 또는 구조화된 데이터로서). 시스템들, 구성요소들 및 데이터 구조들은 또한 몇몇 실시예들에서, 무선-기반 및 유선/케이블-기반 매체들을 포함한, 다양한 컴퓨터-판독 가능한 송신 매체들 상에서 발생된 데이터 신호들로서(예로서, 캐리어 파 또는 다른 아날로그 또는 디지털 전파 신호의 부분으로서) 송신될 수 있으며, 다양한 형태들(예로서, 단일 또는 다중화된 아날로그 신호의 부분으로서, 또는 다수의 별개의 디지털 패킷들 또는 프레임들로서)을 취할 수 있다. 이러한 컴퓨터 프로그램 제품들은 또한 다른 실시예들에서 다른 형태들을 취할 수 있다. 따라서, 본 발명은 다른 컴퓨터 시스템 구성들을 갖고 실시될 수 있다.
예시적인 목적들을 위해, 몇몇 부가적인 세부사항들이 특정 유형들의 동작들이, 특정한 유형들의 타겟 시스템들에 대하여 및 특정한 방식들로 결정된 특정한 유형들의 제어 활동들에 대해서를 포함하여, 특정 방식들로 수행되는 몇몇 실시예들에 대하여 이하에 포함된다. 이들 예들은 예시적인 목적들을 위해 제공되며 간결성을 위해 단순화되고, 본 발명의 기술들은, 다른 환경들에서 및 그 일부가 이하에서 논의되는 다른 유형들의 자동화 제어 동작 결정 기술들을 갖고를 포함하여, 매우 다양한 다른 상황들에서 사용될 수 있다.
도 1은 하나 이상의 타겟 시스템들의 협력적 분산 제어를 수행하기 위한 시스템이 구성되고 개시될 수 있는 예시적인 환경을 예시한 네트워크 다이어그램이다. 특히, CDD 시스템(140)의 실시예는, 온라인 방식으로 동작하며 클라이언트 컴퓨팅 시스템들(110)의 하나 이상의 원격 사용자들로 하여금 제어될 하나 이상의 타겟 시스템들의 각각을 갖고 사용하기 위해 자동 제어 시스템의 부분으로서 포함하도록 하나 이상의 판단 모듈들을 구성하고 생성하기 위해 CDD 시스템(140)과 하나 이상의 매개 컴퓨터 네트워크들(100)을 통해 상호 작용할 수 있게 하기 위해 그래픽 사용자 인터페이스(GUI)(도시되지 않음) 및/또는 다른 인터페이스들(119)을 제공하기 위해 예시된 실시예에서 포함한, 하나 이상의 컴퓨팅 시스템들(190) 상에서 실행하고 있다.
특히, 타겟 시스템 1(160) 및 타겟 시스템 2(170)은 이 예에 예시된 예시적인 타겟 시스템들이지만, 단지 하나의 타겟 시스템 또는 다수의 타겟 시스템들이 특정한 실시예들 및 상황들에서 이용 가능할 수 있으며, 각각의 이러한 타겟 시스템은 타겟 시스템에 특정된 방식으로 타겟 시스템의 동작들을 구현하기 위해 다양한 기계적, 전자적, 화학적, 생물학적, 및/또는 다른 유형들의 구성요소들을 포함할 수 있다는 것이 이해될 것이다. 이 예에서, 하나 이상의 사용자들(도시되지 않음)은 타겟 시스템(1)을 위한 예시적인 자동 제어 시스템(122)을 생성하기 위해 CDD 시스템(140)과 상호 작용할 수 있으며, 자동 제어 시스템은 이 예에서 나중에 배치되고 구현될 때 타겟 시스템 1(160)의 부분들을 제어하기 위해 협력적으로 상호 작용할 다수의 판단 모듈들(124)을 포함한다. 자동 제어 시스템(122)을 생성하기 위해 CDD 시스템(140)과 상호 작용하는 사용자들의 프로세스는, 다른 곳에서 보다 상세하게 논의되는 바와 같이, 몇몇 경우들에서, 상이한 그룹들의 사용자들의 독립 동작들을 포함하여, 시간에 걸친 다양한 상호 작용들을 수반할 수 있다. 또한, 자동 제어 시스템(122)을 생성하고 및/또는 트레이닝하거나 또는 테스트하는 프로세스의 부분으로서, 그것은, 부분적 초기 상태 정보를 획득하기 위해서와 같은, 예시된 대로 타겟 시스템(12)과 하나 이상의 상호 작용들을 수행할 수 있지만, 몇몇 또는 모든 트레이닝 활동들은 적어도 몇몇 실시예들에서 그때 이들 제어 동작들을 실제로 구현하지 않고 타겟 시스템(1)에서 제어 동작들의 효과들을 시뮬레이션하는 것을 포함할 수 있다.
자동 제어 시스템(122)이 생성된 후, 자동 제어 시스템은, 컴퓨터 네트워크들(100)을 통해 타겟 시스템(1)과 상호 작용하도록, CDD 시스템(140)의 하나 이상의 컴퓨팅 시스템들(190) 상에서 자동 제어 시스템(122)을 선택적으로 실행함으로써와 같은, 타겟 시스템 1(160)을 수반한 동작들을 수행하기 시작하기 위해 배치되고 구현될 수 있다. 다른 실시예들 및 상황들에서, 자동 제어 시스템(122)은 대신에, 타겟 시스템(1)의 부분인 하나 이상의 컴퓨팅 시스템들(도시되지 않음) 상에서와 같은, 자동 제어 시스템(1)의 일부 또는 모두의 배치된 사본(121)에 대하여 예시된 바와 같이, 타겟 시스템(1)에 국소적인 방식으로 자동 제어 시스템(122)(예로서, 다수의 판단 모듈들(124) 중 하나 이상) 중 일부 또는 모두의 국소적 사본들을 실행함으로써 배치될 수 있다.
자동 제어 시스템(122)에 대하여 논의된 것과 유사한 방식으로, 하나 이상의 사용자들(동일한 사용자들, 중첩 사용자들, 또는 자동 제어 시스템(122)을 생성하는데 수반되는 것들에 완전히 관련되지 않은 사용자들인지에 관계없이)은 타겟 시스템 2(170) 중 일부 또는 모두를 제어하는데 사용하기 위한 별개의 자동 제어 시스템(126)을 생성하기 위해 CDD 시스템(140)과 컴퓨터 네트워크(100)를 통해 유사하게 상호 작용할 수 있다. 이 예에서, 타겟 시스템(2)을 위한 자동 제어 시스템(126)은 자동 제어 시스템(126)을 위한 제어 동작들 모두를 수행할 단일 판단 모듈(128)만을 포함한다. 자동 제어 시스템(126)은, 하나 이상의 컴퓨팅 시스템들(190) 상에서 및/또는 타겟 시스템(2)의 부분인 하나 이상의 컴퓨팅 시스템들(도시되지 않음) 상에서 국소적으로 실행하기 위해서와 같은, 자동 제어 시스템(122)에 대하여 논의된 것과 유사한 방식으로 타겟 시스템(2)에 대해 유사하게 배치되고 구현될 수 있지만, 자동 제어 시스템(2)의 배치된 사본은 이 예에서 예시되지 않는다. 자동 제어 시스템들(122 및/또는 126)은 각각, 특정한 판단 모듈들(124 및 128)로부터 분리된 다른 구성요소들 및/또는 기능을 추가로 포함할 수 있지만, 이러한 다른 구성요소들 및/또는 기능은 도 1에 예시되지 않는다는 것이 추가로 이해될 것이다.
네트워크(100)는, 가능하게는, 예를 들면, 인터넷과 같은, 다양한 별개의 당사자들에 의해 동작된, 연계된 네트워크들의 공개적으로 액세스 가능한 네트워크일 수 있으며, CDD 시스템(140)은 네트워크(100)를 통해 임의의 사용자들 또는 단지 특정한 사용자들에게 이용 가능하다. 다른 실시예들에서, 네트워크(100)는, 예를 들면, 특권이 없는 사용자들에게 전체적으로 또는 부분적으로 액세스 가능하지 않은 기업 또는 대학 네트워크와 같은, 사설 네트워크일 수 있다. 계속해서 다른 실시예들에서, 네트워크(100)는 인터넷으로 및/또는 그로부터의 액세스를 가진 하나 이상의 사설 네트워크들을 포함할 수 있다. 따라서, 예시된 실시예에서 CDD 시스템(140)이 하나 이상의 컴퓨터 네트워크들(100)을 통해 다양한 사용자들을 지원하기 위해 온라인 방식으로 구현되지만, 다른 실시예들에서, CDD 시스템(140)의 사본은 대신에, 하나 이상의 컴퓨터 네트워크들(100)이 대신에 회사 또는 다른 조직의 내부 컴퓨터 네트워크인 경우와 같은, 단일 사용자 또는 관련된 사용자들의 그룹(예로서, 회사 또는 다른 조직)을 지원하기 위해서와 같은, 다른 방식들로 구현될 수 있으며, CDD 시스템의 이러한 사본은 회사 또는 다른 조직들의 외부에 있는 다른 사용자들에게 선택적으로 이용 가능하지 않다. CDD 시스템(140)의 온라인 버전 및/또는 CDD 시스템(140)의 로컬 사본 버전은 몇몇 실시예들 및 상황들에서 요금-기반 방식으로 동작할 수 있으며, 따라서 하나 이상의 사용자들은 판단 모듈들 및 대응하는 자동 제어 시스템들을 생성하기 위해 상호 작용들을 수행하도록, 및/또는 이러한 판단 모듈들 및 대응하는 자동 제어 시스템들을 다양한 방식들로 배치하거나 또는 구현하도록과 같은, CDD 시스템의 다양한 동작들을 사용하기 위해 다양한 요금들을 제공한다. 또한, CDD 시스템(140), 그것의 구성요소들의 각각(하나 이상의 CDD 제어 동작 결정 구성요소들 및/또는 하나 이상의 CDD 조정 제어 관리 구성요소들과 같은, 구성요소(142) 및 선택적 다른 구성요소들(117)을 포함한), 판단 모듈들의 각각, 및/또는 자동 제어 시스템들의 각각은 그것들의 프로그램된 기능을 수행하는 것에 대하여 특수화된 기계들로서 동작하도록 이들 프로세서들 및 컴퓨팅 시스템들을 구성하기 위해서와 같은, 하나 이상의 프로세서들(도시되지 않음)에 의해 하나 이상의 컴퓨팅 시스템들(도시되지 않음) 상에서 실행하는 소프트웨어 지시들을 포함할 수 있다.
도 1 및 도 2에 예시되지 않지만, 122의 것들과 같은 자동 제어 시스템들의 동작들의 분산 특징은 다양한 판단 모듈들의 부분적으로 분리된 동작들을 허용하고, 새로운 판단 모듈들(124)을 부가하기 위해 및/또는 기존의 판단 모듈들(124)을 제거하기 위해서와 같은, 자동 제어 시스템(122)이 사용 중인 동안 판단 모듈들(124)의 그룹에 대한 수정들이 시간에 걸쳐 수정되도록 허용하기 위해 포함한다. 유사한 방식으로, 특정한 판단 모듈에 특정된 규칙들 또는 다른 제약들을 변경하기 위해 및/또는 시간에 걸쳐 특정한 판단 모듈에 특정된 목표들을 변경하기 위해서와 같은, 변화들이 특정한 판단 모듈들(124 및/또는 128)에 대해 이루어질 수 있으며, 새로운 대응하는 모델이, 대응하는 자동 제어 시스템이 대응하는 타겟 시스템의 제어 동작들을 계속하는 동안 몇몇 실시예들 및 상황들에서를 포함한, 이러한 판단 모듈 내에서 생성되고 배치된다. 또한, 각각의 자동 제어 시스템이 도 1 및 도 2의 예들에서 단일 타겟 시스템을 제어하는 것으로 설명되지만, 다른 실시예들 및 상황들에서, 다수의 타겟 시스템들(예로서, 다수의 상호-관련 타겟 시스템들, 동일한 유형의 다수의 타겟 시스템들 등)을 제어하기 위해 단일 자동 제어 시스템을 위해서와 같은, 다른 구성들이 사용될 수 있으며, 다수의 자동 제어 시스템들은 각각이 상기 타겟 제어 시스템의 상이한 부분들을 제어하기 위해 독립적으로 동작함으로써, 단일 타겟 시스템을 제어하도록 동작할 수 있다. 다른 구성들은 다른 실시예들 및 상황들에서 유사하게 사용될 수 있다는 것이 이해될 것이다.
도 4는 협력적 분산 판단(CDD) 시스템 루틴(400)의 예시적인 실시예의 흐름도이다. 루틴은, 특정된 타겟 시스템들을 위한 자동 제어 시스템들을 구성하고 구현하기 위한 기능을 제공하기 위해서와 같은, 예를 들면, 도 3의 CDD 시스템(340) 및/또는 도 1의 CDD 시스템(140)의 실행에 의해 제공될 수 있다.
루틴의 예시된 실시예는 블록(410)에서 시작되며, 여기에서 정보 또는 지시들이 수신된다. 블록(420)에서 블록(410)의 정보 또는 지시들이 특정한 타겟 시스템을 위한 자동 제어 시스템의 부분으로서 사용을 위해 하나 이상의 판단 모듈들을 생성하거나 또는 개정하기 위한 표시를 포함한다는 것이 결정된다면, 루틴은 판단 모듈 구성 구성요소의 실행을 개시하기 위해 블록(425)으로 이어지며, 블록(430)에서 블록(425)에서 생성되는 타겟 시스템을 위한 하나 이상의 결과적인 판단 모듈들을 획득하고 저장한다. 이러한 판단 모듈 구성 구성요소를 위한 루틴의 일 예는 도 5a 및 도 5b에 대하여 보다 상세하게 논의된다.
블록(430) 후, 또는 블록(420)에서 블록(410)에서 수신된 정보 또는 지시들이 하나 이상의 판단 모듈들을 생성하거나 또는 개정하지 않는다는 것이 대신 결정되면, 루틴은, 블록(410)에서 수신된 정보 또는 지시들이, 상기 타겟 시스템을 위한 자동 제어 시스템의 부분인 하나 이상의 판단 모듈들을 위해서와 같은, 특정된 타겟 시스템을 제어하기 위해 하나 이상의 생성된 판단 모듈들을 배치하는 것으로 표시하는지를 결정하기 위해 블록(440)으로 이어진다. 배치하기 위한 하나 이상의 판단 모듈들은 블록(425)에 대하여 직전에 생성되었으며, 따라서 배치는 생성과 대체로 동시인 방식으로 발생하거나, 또는 다른 상황들에서 이전 시간에 생성되고 나중 사용을 위해 저장되는 하나 이상의 판단 모듈들을 포함할 수 있다. 이러한 타겟 시스템을 위한 하나 이상의 이러한 판단 모듈들을 배치하는 것으로 결정된다면, 루틴은 타겟 시스템의 환경에 국소적인 하나 이상의 컴퓨팅 시스템들 상에서, 또는 대신에 하나 이상의 중재자 컴퓨터 네트워크들(예로서, CDD 시스템의 제공자의 제어하에 있는 하나 이상의 컴퓨팅 시스템들)을 통해 타겟 시스템과 통신하는 하나 이상의 원격 컴퓨팅 시스템들 상에서와 같은, 상기 타겟 시스템을 위한 이들 하나 이상의 판단 모듈들의 실행을 개시하기 위해 블록(450)으로 이어진다.
블록(450) 후, 루틴은 하나 이상의 집중화된 조정 제어 관리 구성요소들을 통해서와 같은, 이들 판단 모듈들의 외부에 있는 방식으로 배치되는 다수의 판단 모듈들의 분산 관리를 수행할지를 결정하기 위해 블록(460)으로 이어진다. 그렇다면, 루틴은 이들 판단 모듈들과 함께 사용하기 위한 하나 이상의 이러한 집중화된 CDD 조정 제어 관리 구성요소들의 실행을 개시하기 위해 블록(465)으로 이어진다. 블록(465) 후, 또는 외부 방식으로 이러한 분산 관리를 수행하지 않는 것으로 대신 결정된다면(예로서, 단지 하나의 판단 모듈이 실행된다면, 다수의 판단 모듈들이 실행되지만 분산된 피어-투-피어 방식으로 그것들의 동작들을 조정한다면, 등), 루틴은, 나중 분석 및/또는 보고를 위해서와 같은, 타겟 시스템에서 발생하는 하나 이상의 판단 모듈들의 동작 및/또는 결과적인 활동들에 대한 정보를 선택적으로 획득하고 저장하기 위해 블록(470)으로 이어진다.
블록(440)에서, 블록(410)에서 수신된 정보 또는 지시들이 하나 이상의 판단 모듈들을 배치하지 않는 것으로 대신 결정된다면, 루틴은 적절한 경우 하나 이상의 다른 표시된 동작들을 수행하기 위해 대신에 블록(485)으로 이어진다. 예를 들면, 이러한 다른 허가된 동작들은 다른 방식들로(예로서, 타겟 시스템에 대한 출력들 또는 다른 상태 정보를 모니터링함으로써) 타겟 시스템의 동작에 대한 결과 정보를 획득하는 것, 대응하는 타겟 시스템들의 판단 모듈들의 동작들 및/또는 활동들의 결과들을 분석하는 것, 보고들을 생성하거나 또는 그 외 이러한 동작들 및/또는 활동들에 관한 정보를 사용자들에게 제공하는 것 등을 포함할 수 있다. 또한, 몇몇 실시예들에서, 시간에 걸친 특정한 타겟 시스템의 활동들의 분석은, 이들 패턴들을 반영하기 위해 및 그것들에 기초하여 응답하기 위해 상기 타겟 시스템의 모델이 그에 따라 수정되도록(수동으로 또는 자동 학습 방식으로) 허용하기 위해서와 같은, 타겟 시스템의 동작에서 패턴들이 식별되도록 허용할 수 있다. 또한, 다른 곳에서 보다 상세하게 논의되는 바와 같이, 부분적으로 분리된 방식으로 자동 제어 시스템을 위한 다수의 판단 모듈들의 분산 동작은, 하나 이상의 새로운 판단 모듈들을 부가하기 위해, 하나 이상의 기존의 판단 모듈들을 제거하기 위해, 특정한 판단 모듈의 동작을 수정하기 위해(예로서, 판단 모듈에 대한 모델의 부분인 타겟 시스템을 설명하는 규칙들 또는 다른 정보를 변경함으로써) 등과 같은, 자동 제어 시스템이 동작 중인 동안 다양한 변화들이 이루어지도록 허용한다. 또한, 자동 제어 시스템에서 다수의 이러한 판단 모듈들의 부분적으로 분리된 특징은, 네트워크 통신 이슈들 또는 다른 문제들이 그 외 그것들의 개별화된 제어 동작들이 조정되도록 허용할 다수의 판단 모듈들 사이에서의 통신을 방지한다면과 같은, 하나 이상의 이러한 판단 모듈들이 때로는 개별적으로 동작하도록 허용한다 - 이러한 상황들에서, 몇몇 또는 모든 이러한 판단 모듈들은, 최적의 또는 준-최적의 해법들이 타겟 시스템을 위한 자동 제어 시스템을 총괄하여 제공하는 다수의 판단 모듈들의 그룹 사이에서 조정 및 동기화로부터 식별될 수 없을지라도 타겟 시스템을 위한 유용한 진행 중인 제어 동작들을 제공하기 위해서와 같은, 개별화된 방식으로 계속해서 동작할 수 있다.
블록들(470 또는 485) 후, 루틴은, 종료하기 위한 명확한 표시가 수신될 때까지와 같은, 계속할지를 결정하기 위해 블록(495)으로 이어진다. 계속하는 것으로 결정된다면, 루틴은 블록(410)으로 돌아가며, 그 외 블록(499)으로 이어지고 종료된다.
도 5a 및 도 5b는 CDD 판단 모듈 구성 루틴(500)의 예시적인 실시예의 흐름도를 예시한다. 루틴은, 예를 들면, 사용자들이 관심 있는 타겟 시스템을 설명하는 정보를 제공하도록 허용하기 위한 기능을 제공하기 위해, 및 특정된 방식들로 타겟 시스템을 제어하기 위해 사용할 하나 이상의 판단 모듈들을 구성하도록 대응하는 자동화 동작들을 수행하기 위해서와 같은, 도 3의 구성요소(342) 및/또는 도 1의 구성요소(142)의 실행에 의해 제공될 수 있다. 루틴의 예시된 실시예는, 디스플레이된 GUI(그래픽 사용자 인터페이스)를 통해서와 같은, 특정한 방식들로 사용자들과 상호 작용하지만, 루틴의 다른 실시예들은 사용자를 대신하여 실행 프로그램이 불러오는 정의된 API(애플리케이션 프로그래밍 인터페이스)를 통해서와 같은, 다른 방식들로 사용자들과 상호 작용할 수 있다는 것이 이해될 것이다. 몇몇 실시예들에서, 루틴은, 인터넷과 같은 공중 네트워크를 통해 다양한 원격 사용자들에게 이용 가능한 온라인 인터페이스를 구현함으로써와 같은, 하나 이상의 사용자들이 사용하기 위해 이용 가능한 통합 개발 환경 또는 다른 소프트웨어 툴의 부분으로서 추가로 구현될 수 있지만, 다른 실시예들에서 CDD 시스템 및/또는 특정한 CDD 구성요소들의 사본은, 조직 또는 그룹의 제어 하에서 컴퓨팅 시스템들 상에서 실행됨으로써와 같은, 하나 이상의 사용자들의 단일 조직 또는 다른 그룹을 지원하기 위해 사용될 수 있다. 또한, CDD 판단 모듈 구성 구성요소는 몇몇 실시예들 및 상황들에서, 타겟 시스템을 위한 규칙들 및 다른 디스크립션 설명을 특정하기 위해 사용자들이 상호 작용하는 규칙 편집기 구성요소, 및 하나 이상의 대응하는 판단 모듈들을 생성하기 위해 사용자-특정 규칙들 및 다른 정보를 프로세싱하는 규칙 컴파일러 엔진과 같은, 다수의 서브-구성요소들로 분리될 수 있다.
루틴(500)의 예시된 실시예는 블록(510)에서 시작되며, 여기에서 루틴은 루틴을 구현하는 구성요소의 온라인 버전에서 수신된 요청을 통해, 또는 대신에 그것들이 제어하는 컴퓨팅 시스템들 상에서 하나 이상의 이러한 사용자들에 의해 실행되는 루틴에 기초하여와 같은, 하나 이상의 사용자들에게 디스플레이된 사용자 인터페이스를 제공하거나 또는 업데이트한다. 다양한 동작들이 예시의 목적을 위해 직렬 방식으로 발생하는 것으로 루틴의 예시된 실시예에서 도시되지만, 이러한 사용자 인터페이스와의 사용자 상호 작용들은, 이하에서 추가로 논의되는 바와 같이, 다양한 방식들로 사용자에게 이전에 디스플레이된 사용자 인터페이스를 업데이트하기 위해(예로서, 사용자 동작을 반영하기 위해, 루틴의 동작에 의해 또는 또 다른 구성요소로부터 생성된 사용자 피드백을 반영하기 위해 등)를 포함한, 반복적 방식으로 및/또는 다수의 시간 기간들 및/또는 사용자 세션들을 통해 발생할 수 있다는 것이 이해될 것이다.
블록(510) 후, 루틴은 하나 이상의 조작 가능한 제어 요소들 및 선택적으로 제어 요소가 영향을 주는 하나 이상의 출력들을 포함하는 타겟 시스템의 복수의 요소들에 대한 정보, 상기 요소들을 수반한 제한들을 특정하는 규칙들에 대한 정보, 시스템의 제어 동안 이용 가능할 상태 정보에 대한 정보(예로서, 특정한 요소들의 값들 또는 다른 상태 변수들), 및 타겟 시스템의 제어 동안 달성할 하나 이상의 목표들을 포함한, 제어될 타겟 시스템을 기술한 정보를 하나 이상의 이러한 사용자들로부터 수신하기 위해 블록(520)으로 이어진다. 타겟 시스템의 상이한 부분들 및/또는 상이한 사용자들의 전문가의 상이한 영역들을 반영하기 위해서와 같은, 몇몇 실시예들에서 하나 이상의 사용자들의 제 1 그룹이 타겟 시스템에 관련된 몇몇 정보를 공급하기 위해 및 사용자들의 하나 이상의 다른 제 2 그룹들이 타겟 시스템에 대한 다른 정보를 독립적으로 제공하기 위해서를 포함한, 이러한 정보는 하나 이상의 사용자들로부터 시간 기간에 걸쳐 획득될 수 있다는 것이 이해될 것이다.
블록(520) 후, 루틴은 사용자 입력에서 수신된 임의의 오류들을 식별하기 위해, 및 블록(510)에 대하여 논의된 것에 대응하는 방식으로 디스플레이를 업데이트함으로써와 같은, 이들 오류들을 정정하도록 사용자(들)를 촉구하기 위해, 블록(525)으로 이어진다. 이러한 오류들의 식별은 블록(520)에서 정보의 수신 후 발생하는 것으로 예시되지만, 몇몇 또는 모든 이러한 오류들은, 사용자들이 특정하는 규칙들 또는 다른 정보에서의 구문 오류들을 식별하기 위해서와 같은, 사용자들이 사용자 인터페이스로 정보를 입력함에 따라 대신 식별될 수 있다는 것이 이해될 것이다. 블록(525) 후, 루틴의 예시된 실시예는 각각의 서브세트가 루틴에 의해 생성되는 자동 제어 시스템에 의해 조작 가능한 하나 이상의 상이한 제어 요소들을 갖는 것과 같은, 각각이 타겟 시스템의 일 부분에 대응하는 다수의 서브세트들로 타겟 시스템에 대한 정보를 선택적으로 분해하며, 중첩하거나 또는 완전히 개별적인 목표들 및/또는 세트들의 규칙들 및 타겟 시스템의 각각의 부분들을 기술하는 다른 정보를 선택적으로 갖기 위해 블록(530)으로 이어진다. 다른 곳에서 보다 상세하게 논의되는 바와 같이, 이러한 분해는, 수행된다면, 몇몇 상황들에서 그것들이 입력하는 정보의 상이한 서브그룹들을 표시한 사용자들에 의해 수동으로, 및/또는 특정된 정보의 분석에 기초하여(예로서, 타겟 시스템을 위해 공급된 규칙들 및 다른 기술 정보의 크기에 기초하여, 상이한 규칙들 또는 목표들 또는 다른 정보 사이에서의 상호-관계들에 기초하여 등) 루틴에 의해 자동화 방식으로 수행될 수 있다. 다른 실시예들에서, 어떤 이러한 분해도 수행되지 않을 수 있다.
블록(530) 후, 루틴은, 타겟 시스템 기술 정보의 각각의 서브세트에 대해(또는 어떤 이러한 서브세트들도 식별되지 않는다면 수신된 정보 모두에 대해), 상기 서브세트(또는 모든 정보)를 상기 서브세트에 대한(또는 모든 정보에 대한) 제한, 목표들, 및 다른 특정된 정보를 캡슐화하는 제약들의 세트로 변환하기 위해 블록(535)으로 이어진다. 블록(540)에서, 루틴은 그 후 변환 프로세스로부터 발생하는 임의의 오류들을 식별하며, 임의의 것이 식별된다면, 블록들(525 및 510)에 대하여 설명된 것과 유사한 방식으로와 같은, 이들 오류들을 정정하도록 사용자를 촉구할 수 있다. 이 예에서 예시되지 않지만, 루틴은 몇몇 상황들에서 블록들(525 및/또는 540)에서 이러한 오류들이 식별될 때, 사용자(들)에게 대응하는 피드백을 디스플레이하기 위해 및 사용자(들)가 정정들을 하고 블록들(520 내지 540)의 것들과 같은 다음의 동작들을 재수행하도록 허용하기 위해 블록(510)으로 되돌아간다. 블록(540)에서의 변환 프로세스에서 식별된 오류들은 예를 들면, 그룹으로서 제한들이 만족시키는 것이 불가능하다면과 같은, 부합하지 않은 제한들에 관련된 오류들을 포함할 수 있다.
블록(540) 후, 루틴은 제약들의 각각의 세트에 대해(또는 블록(530)에서 어떤 서브세트들도 식별되지 않는다면 단일 제약), 제약들이 나타내는 대응 정보의 전체 실효성을 테스트하기 위해 및 블록들(525, 540 및 510)에 대한 것과 유사한 방식으로 식별되는 임의의 오류들을 정정하도록 하나 이상의 사용자들을 촉구하기 위해 제약들의 세트에 하나 이상의 검증 규칙들을 적용하도록 블록(545)으로 이어진다. 이러한 검증 규칙들은 다른 곳에서 보다 상세하게 논의되는 바와 같이, 제어 가능성, 관측 가능성, 안정성 및 목표 완전성, 뿐만 아니라 임의의 사용자-부가 검증 규칙들 중 하나 이상을 테스트할 수 있다. 블록(550)에서, 루틴은 그 후 기본 정보가 대응하는 타겟 시스템의 적어도 일 부분을 모델링하는 결합된 미분 방정식들의 세트로 각각의 검증된 세트의 제약들을 변환한다.
블록(550) 후, 루틴은 사용할 트레이닝 시간 윈도우의 크기, 시간 윈도우 내에서 다수의 트레이닝 시간 슬라이스들의 크기, 및/또는 시간 윈도우 내에서 트레이닝 시간 슬라이스의 유형 중 하나 이상을 결정하기 위해서를 포함한, 결합된 미분 방정식들의 각각의 세트에 대한 모델을 트레이닝하는 것에 관련된 활동들을 수행하기 위해 블록(553)으로 이어진다. 몇몇 실시예들 및 상황들에서, 하정보의 하나 이상의 이러한 크기들 또는 유형들의 결정은 디폴트 또는 사전-특정 정보를 사용함으로써 수행되지만, 다른 실시예들 및 상황들에서 사용자들은 이러한 정보를 특정할 수 있거나, 또는 이러한 정보의 자동 결정이 하나 이상의 방식들로(예로서, 상이한 크기들을 테스트하며 최상의 성능을 가진 크기들을 찾기 위해 결과들을 평가함으로써) 수행될 수 있다. 상이한 유형들의 시간 슬라이스들은, 예를 들면, 중첩하거나 또는 중첩하지 않는 시간 슬라이스들의 연속을 포함할 수 있으며, 따라서 제 2 시간 슬라이스에 대한 트레이닝은 제 1 시간 슬라이스의 결과들에만 의존적일 수 있거나(그것들이 중첩하지 않는다면) 또는 대신에 제 1 시간 슬라이스의 적어도 일부에 대해 이미 결정된 정보를 업데이트하는 것에 적어도 부분적으로 기초할 수 있다(그것들이 부분적으로 또는 전체적으로 중첩한다면). 블록(553) 후, 루틴은 시간 윈도우 전체에 걸쳐 연속적인 시간 슬라이스들에 대해서와 같은, 시간 윈도우에 걸쳐 제어 동작들을 수행하는 효과들을 시뮬레이션함으로써 타겟 시스템에 대해 알려져 있지 않으며 및/또는 직접 관측 가능한 변수의 값들을 추정하기 위해, 및 트레이닝된 모델의 시뮬레이션된 성능을 테스트하기 위해서를 포함한, 타겟 시스템에 대한 부분적인 초기 상태 정보를 사용하여 상기 결합된 미분 방정식들의 세트에 대한 모델을 트레이닝하기 위해 블록(555)으로 이어진다. 트레이닝 및 테스트에 관련된 부가적인 세부사항들은 여기에서의 다른 곳에 포함된다.
블록(555) 후, 루틴은 트레이닝 및 테스트가 성공적인지를 결정하기 위해 블록(560)으로 이어지며, 아니라면 그것들이 성공의 부족을 야기한 오류들을 정정하도록 허용하기 위해 사용자들에게 대응하는 피드백 정보를 디스플레이하도록 블록(510)으로 되돌아간다. 그러나, 대신 블록(560)에서 테스트 및 트레이닝이 성공적이라고 결정된다면, 루틴은 상기 모델을 포함하는 각각의 트레이닝되고 테스트된 모델에 대한 실행 가능한 판단 모듈, 뿐만 아니라 모델에 포함된 정보에 기초하여 및 상기 판단 모듈에 대한 하나 이상의 목표들을 고려하여 타겟 시스템에 대해 수해할 최적의 또는 거의 최적의 제어 동작들을 결정하기 위해 실행될 때 판단 모듈이 사용할 국소적 CCD 제어 동작 결정 구성요소를 생성하기 위해 대신에 블록(570)으로 이어진다. 생성된 실행 가능한 판단 모듈은 몇몇 실시예들 및 상황들에서, 시간에 걸쳐 다양한 판단 모듈들의 각각의 모델들을 동기화함으로써와 같은, 타겟 시스템에 대한 자동 제어 시스템을 총괄하여 제공할 다수의 판단 모듈들의 제어 동작들을 조정하기 위해 국소적 CCD 조정 제어 관리 구성요소를 추가로 포함할 수 있다. 블록(570) 후, 루틴은 나중 실행 및/또는 배치를 위해 그것들을 선택적으로 저장하기 위해서를 포함한, 사용을 위해 생성된 실행 가능 판단 모듈들을 제공하도록 블록(580)으로 이어진다.
블록(580) 후, 루틴은 종료하기 위한 명시적 표시가 수신될 때까지와 같은, 계속할지를 결정하기 위해 블록(595)으로 이어진다. 계속하는 것으로 결정된다면, 루틴은 블록(510)으로 돌아가며, 그 외 블록(599)을 계속하고 종료된다.
도 6a 및 도 6b는 실행되는 판단 모듈의 일반적인 표현에 대응하는 루틴(600)의 예시적인 실시예의 흐름도를 예시한다. 루틴은, 예를 들면, 그것의 제어 활동들 동안 판단 모듈에 의해 달성될 하나 이상의 목표들을 반영하기 위해서를 포함하여, 판단 모듈에 대해 인코딩된 모델 및 정보에 특정된 방식으로 타겟 시스템의 적어도 일 부분을 제어하기 위한 기능을 제공하도록과 같은, 판단 모듈(329)의 실행에 의해 또는 도 3의 자동 제어 시스템(325) 및/또는 도 1 또는 도 2의 판단 모듈(124 또는 128)의 부분으로서 제공될 수 있다. 다른 곳에서 보다 상세하게 논의되는 바와 같이, 몇몇 실시예들 및 상황들에서, 각각의 판단 모듈이 타겟 시스템을 위한 하나 이상의 별개의 제어 요소들을 제어하거나 또는 그 외 타겟 시스템의 일 부분과 상호 작용하는 것과 같은, 다수의 판단 모듈들은 특정한 타겟 시스템을 제어하도록 총괄하여 및 협력적으로 동작할 수 있지만, 다른 실시예들 및 상황들에서 단일 판단 모듈은 타겟 시스템을 제어하기 위해 단독으로 동작할 수 있다. 루틴(600)은 그것이 타겟 시스템의 일 부분을 제어하는데 배치될 때 특정한 예시적인 판단 모듈에 의해 수행된 동작들을 추가로 반영하지만, 판단 모듈의 적어도 부분들의 실행은, 도 5a 및 도 5b의 CDD 판단 모듈 구성 루틴(500)에 대하여 보다 상세하게 논의된 바와 같이, 판단 모듈이 배치되기 전에 판단 모듈을 위한 모델을 처음에 트레이닝하기 위해서와 같은, 다른 시간들에 발생할 수 있다.
루틴(600)의 예시된 실시예는 블록(610)에서 시작되며, 여기에서 제어될 타겟 시스템, 판단 모듈이 타겟 시스템의 제어에 관련되어 달성하려고 시도하는 하나 이상의 목표들 및 선택적으로 타겟 시스템에 대한 초기 상태 정보의 적어도 일 부분을 기술하는 판단 모듈을 위한 초기 모델이 결정된다. 루틴은 도 5a 내지 도 5b의 블록들(553 및 555)에 대하여 보다 상세하게 논의된 바와 같이, 요구된다면 초기 모델을 트레이닝하기 위한 하나 이상의 동작들을 수행하기 위해 블록(615)으로 이어지며 - 몇몇 실시예들 및 상황들에서, 블록(615)을 위한 이러한 트레이닝은 초기 트레이닝이 단지 도 5a 및 도 5b의 루틴(500)에 의해서 행해지지 않을 경우에만 수행되지만, 다른 실시예들 및 상황들에서, 블록(615)의 트레이닝은 판단 모듈이 실행하기 시작하는 시간에(예로서, 초기 생성 및 트레이닝 후 즉시 배치되지 않는다면) 타겟 시스템의 현재 상태에 대한 정보를 캡처하기 위해 및/또는 블록(630)에 의해 개시된 바와 같이 도 7a 및 도 7b의 루틴(700)에 대하여 보다 상세하게 논의되는 바와 같이 가끔 모델을 재-트레이닝하기 위해 수행된다.
블록(615) 후, 루틴은, 타겟 시스템에서 제어 요소 수정들이 요구되는 레이트를 반영하기 위해 및/또는 제어 요소들의 미래 조작들을 변경할 수 있는 새로운 인입 상태 정보가 수신되는 레이트를 반영하기 위해서와 같은, 판단 모듈에 대한 각각의 제어 동작 판단을 수행하기 위해 사용할 시간 기간을 결정하기 위해 블록(617)으로 이어진다. 루틴은 그 후 판단 모듈의 실행의 개시로부터 앞으로 이동하는 제 1 시간 기간으로 시작하는, 다음 시간 기간을 시작하기 위해 블록(620)으로 이어진다. 블록들(620 내지 680)은 그 후 판단 모듈의 실행이 중단되거나 또는 종료될 때까지 전진하는 각각의 이러한 시간 기간 동안 루프에서 수행되지만, 다른 실시예들에서 특정한 판단 모듈은 그것이 실행될 때마다 단지 단일 시간 기간 동안 실행할 수 있다.
블록(625)에서, 루틴은 타겟 시스템에 대해 수신된 현재 상태 정보 또는 마지막 시간 기간이 시작된 이래 하나 이상의 관련된 외부 소스들과 같은, 및/또는 요구된 대로 타겟 시스템의 하나 이상의 요소들의 현재 값들 또는 대응하는 변수들을 능동적으로 검색함으로써, 시간 기간 동안 상태 정보를 선택적으로 획득한다. 블록(630)에서, 루틴은 그 후 판단 모듈의 국소적 CCD 제어 동작 결정 구성요소의 실행을 개시하며, 이러한 루틴의 일 예는 도 7a 및 도 7b의 루틴(700)에 대하여 보다 상세하게 논의된다. 블록(635)에서, 블록(630)에서의 구성요소의 실행의 결과들은, 현재 시간 기간 동안 국소적 해법을 가진 판단 모듈 및 판단 모듈이 현재 시간 기간 동안 수행할 수 있는 하나 이상의 제안된 제어 동작 결정들을 포함하는 판단 모듈을 위한 업데이트된 모델을 획득하기 위해, 또는 블록(630)에서의 구성요소의 실행을 위해 허용된 시간에서 어떤 국소적 해법도 판단 모듈에 대해 발견되지 않았다는 표시를 수신하기 위해서를 포함한, 블록(630)에서의 구성요소의 실행의 결과들이 수신된다. 그 후 블록(640)에서 해법이 발견되었는지가 결정되며, 그렇다면 판단 모듈에 대한 업데이트된 모델을 저장하기 위해 블록(642)으로 이어지며, 그 외 도 7a 및 도 7b의 루틴(700)에 대하여 보다 상세하게 논의된 바와 같이, 이전 모델에 기초하여(예로서, 상태 정보에서의 최근의 변화들 및/또는 만약에 있다면, 다른 판단 모듈들의 활동들에서의 최근의 변화들을 반영하지 않은) 현재 시간 기간 동안 제안된 하나 이상의 제어 동작 결정들을 결정하기 위해 판단 모듈을 위한 이전 모델을 사용하기 위해 블록(643)으로 이어진다.
블록들(642 또는 643) 후, 루틴은 다른 판단 모듈들이, 국소적 판단 모듈과 동일한 자동 제어 시스템의 부분과 같은, 현재 타겟 시스템의 부분들을 총괄적으로 제어하는지를 결정하기 위해 블록(644)으로 이어지며, 그렇다면 블록(645)으로 이어진다. 그렇지 않다면, 루틴은 수행할 최종 결정된 제어 동작으로서 판단 모듈의 국소 제안 제어 동작들을 선택하며, 현재 시간 기간 동안 이들 제어 동작들을 구현하기 위해 블록(675)으로 이어진다.
다른 동작 판단 모듈들이 있다면, 블록(645)에서의 루틴은 국소적 판단 모듈이 동일한 타겟 시스템을 총괄적으로 제어하는 다른 판단 모듈들의 활동들과 판단 모듈의 국소적 해법들에 대한 제안된 제어 동작 결정들을 동기화하는데 사용하기 위한 CDD 조정 제어 관리(CCM) 구성요소의 로컬 사본을 포함하는지를 결정한다. 그렇다면, 루틴은 판단 모듈의 하나 이상의 제안된 제어 동작 결정들 및 판단 모듈을 위한 대응하는 현재 국소적 모델을 국소적 CDD CCM 구성요소에 제공하기 위해 블록(647)으로 이어지며, 그렇지 않다면 판단 모듈을 위한 하나 이상의 제안된 제어 동작 결정들 및 판단 모듈의 대응하는 국소적 모델을 하나 이상의 집중화된 CDD CCM 구성요소들에 제공하기 위해 블록(649)으로 이어진다.
블록들(647 또는 649) 후, 루틴은, 하나 이상의 다른 판단 모듈들로부터의 정보와 현재 판단 모듈에 대한 국소적 모델의 동기화에서 비롯된 추가 업데이트된 모델을 획득하기 위해서를 포함한, 블록(647 또는 649)에서의 CDD CCM 구성요소(들)의 동작들의 결과들을 획득하기 위해 블록(655)으로 이어지며, 따라서 추가 업데이트된 모델은 현재 판단 모듈에 대해 시간 기간 동안 수행할 하나 이상의 최종 제어 동작 결정들, 또는 어떤 이러한 동기화도 허용된 시간에 완료되지 않았다는 표시를 나타낸다. 루틴은 동기화가 완료되었는지를 결정하기 위해 블록(660)으로 이어지며, 그렇다면 동기화로부터 추가 업데이트된 모델을 저장하기 위해 블록(665)으로 이어지며, 그렇지 않다면 시간 기간 동안 최종 제어 동작 결정들로서 판단 모듈에 대해 국소적으로 이전 제안된 제어 동작 결정들을 사용하기 위해 블록(670)으로 이어진다.
블록들(665 또는 670) 후, 루틴은, 값들을 수정하거나 또는 그 외 타겟 시스템의 하나 이상의 제어 요소들을 조작하는 타겟 시스템에서의 하나 이상의 효과 발생기들과 상호 작용함으로써, 또는 그 외 이러한 수정들 또는 다른 조작들이 발생하게 하기 위해 타겟 시스템으로 입력을 제공함으로써와 같은, 타겟 시스템에서 판단 모듈을 위한 하나 이상의 최종 결정된 제어 동작들을 구현하기 위해 블록(675)으로 이어진다. 블록(680)에서, 루틴은 선택적으로 수행된 제어 동작들의 타겟 시스템에서의 결과들에 대한 정보를 획득하며, 이러한 획득된 결과들에 대한 및/또는 현재 시간 기간 동안 판단 모듈의 활동들에 대한 정보를 저장하고 및/또는 CDD 시스템으로 제공한다.
블록(680) 후, 루틴은, 종료하거나 또는 중단을 위한 표시가 수신될 때까지(예로서, 타겟 시스템의 현재 동작의 종료 또는 타겟 시스템의 적어도 일 부분을 제어하기 위해 판단 모듈의 사용의 종료를 반영하기 위해)와 같은, 계속할지를 결정하기 위해 블록(695)으로 이어진다. 계속하는 것으로 결정되면, 루틴은 다음 시간 기간을 시작하기 위해 블록(620)으로 되돌아가며, 그렇지 않다면 블록(699)으로 이어지고 종료된다.
도 7a 및 도 7b는 CDD 제어 동작 결정 루틴(700)의 예시적인 실시예의 흐름도이다. 루틴은, 예를 들면, 몇몇 실시예들에서 가능하다면 하나 이상의 목표들에 대하여 수행할 거의 최적의 동작들(예로서, 최적의 해법의 임계치 내에 있는)을 결정하기 위한 최적화를 수행하기 위해서를 포함하여, 특정한 시간 기간 동안 타겟 시스템에 대해 제안하고 및/또는 구현하기 위한 판단 모듈을 위한 제어 동작들을 결정하기 위해서와 같은, 도 3의 구성요소(344) 및/또는 도 2의 구성요소들(144a 내지 144n 또는 244)의 실행에 의해 제공될 수 있다. 루틴의 예시된 실시예가 특정한 판단 모듈에 국소적인 방식으로 수행되어, 몇몇 또는 모든 판단 모듈들이 각각 이러한 루틴의 국소 버전을 구현할 수 있지만, 다른 실시예들에서 루틴은 특정한 판단 모듈이 국소적 판단 모듈을 대신하여 동작하기보다는 특정한 시간에 사용되도록 표시된다와 같은, 하나 이상의 판단 모듈들이 하나 이상의 네트워크들을 통해 상호 작용하는 하나 이상의 구성요소들에 의해 집중화 방식으로 구현될 수 있다.
루틴(700)의 예시된 실시예는 블록(703)에서 시작되며, 여기에서 정보 또는 요청이 수신된다. 루틴은 정보 또는 요청의 유형을 결정하기 위해, 및 그에 따라 진행하기 위해 블록(705)으로 이어진다. 특히, 요청이 블록(703)에서 국소적 판단 모듈의 현재 모델을 고려해볼 때 현재 시간 기간 동안 해법을 결정하려고 시도하기 위해 수신된다면, 루틴은 블록(710 내지 790)에 대하여 보다 상세하게 논의되는 바와 같이, 이러한 활동들을 수행하기 시작하기 위해 블록(710)으로 이어진다. 블록들(760 및 765)에 대하여 보다 상세하게 논의되는 바와 같이, 블록(705)에서 국소적 판단 모듈의 현재 모델에 대한 하나 이상의 규칙들 또는 다른 제한들을 완화시키기 위한 요청이 수신되다고 대신 결정되면, 루틴은 블록(765)으로 이어진다. 블록(705)에서 블록들(775 및 780)에 대하여 보다 상세하게 논의되는 바와 같이, 요청이 국소적 판단 모듈의 현재 모델에 대한 하나 이상의 규칙들 또는 다른 제한들을 복구하기 위해 수신된다고 결정되면, 루틴은, 국소적 판단 모듈을 위한 현재 모델이 추가 결과적인 사용자 동작들에 기초하여 나중에 업데이트되고 교체되도록 허용하기 위해, 또는 타겟 시스템의 동작이 중단될 수 있다면, 이러한 업데이트된 모델이 수신될 때까지 선택적으로 루틴(700)을 추가로 수행하기를 기다리기 위해서와 같은, 규칙 복구 프로세스 동안 사용할 사용자 입력을 획득하기 위해(예로서, CDD 판단 모듈 구성 구성요소와 상호 작용하기 위해, 또는 또 다른 방식으로 하나 이상의 사용자들과 대신 상호 작용하기 위해) 블록(780)으로 이어진다. 블록(705)에서 정보 또는 요청이 또 다른 유형이라고 대신 결정되면, 루틴은 적절한 경우 하나 이상의 다른 표시된 동작들을 수행하며, 그 후 블록(799)으로 진행하기 위해 대신 블록(708)으로 이어진다. 이러한 다른 표시된 동작들은, 예를 들면, 루틴(700)의 진행 중인 동작에서의 사용을 위한 모델 또는 모델에 대한 기본 정보에 대한 업데이트들을 수신하기 위해(예로서, 블록(780)에서 수행된 상호 작용들로부터의 결과들과 같은, CDD 판단 모듈 구성 구성요소로부터), 도 6a 및 도 6b의 루틴(600)에서 논의된 바와 같은 사용을 위해서와 같은, 타겟 시스템을 위한 현재 상태 정보를 수신하는 등을 위해, 국소적 판단 모듈(도 8a 내지 도 8b의 루틴(800)에 대하여 보다 상세하게 논의되는 바와 같이, 일치 또는 융합된 공유 모델을 생성함으로써 이러한 다른 판단 모듈들과 국소적 판단 모듈의 모델을 동기화하는데 사용하기 위한과 같은)을 갖고 타겟 시스템을 총괄적으로 제어하는 하나 이상의 다른 판단 모듈들에 의해 제안되거나 또는 수행된 현재 동작들 및/또는 현재 모델들에 대한 정보를 수신하는 것을 포함할 수 있다.
블록(705)에서 해법에 대한 요청이 현재 시간 기간 동안 및 국소적 판단 모듈의 현재 모델에 기초하여 블록(703)에서 수신되었다고 결정되면, 루틴은, 선택적으로 현재 시간 동안 타겟 시스템에 대한 부가적인 상태 정보와 함께, 타겟 시스템의 적어도 일 부분의 국소적 판단 모듈에 대한 현재 모델을 나타내는 결합된 미분 방정식들의 현재 세트를 수신하기 위해 블록(710)으로 이어진다. 루틴은 그 후, 블록들(755, 770 및 730)에 대하여 보다 상세하게 논의되는 바와 같이, 대응하는 판단 모듈의 초기 실행 시 루틴이 처음으로 호출된다면 또는 진행 중인 동작들로부터의 오류 측정들이 재트레이닝을 위한 요구를 표시한다면과 같은, 모델을 트레이닝하거나 또는 재트레이닝할지를 결정하기 위해 블록(715)으로 이어진다. 모델을 트레이닝하거나 또는 재트레이닝하는 것으로 결정되면, 루틴은, 도 5a 및 도 5b의 루틴(500)의 블록(553)에 대하여 이전에 논의된 것과 유사한 방식으로와 같은, 트레이닝 시간 윈도우 크기, 시간 윈도우 내에서 트레이닝 시간 슬라이스들의 크기, 및/또는 트레이닝 시간 윈도우 내에서의 트레이닝 시간 슬라이스들의 유형 중 하나 이상을 결정하기 위해 블록(720)으로 이어진다. 블록(720) 후, 루틴은, 도 5a 및 도 5b의 루틴(500)의 블록(555)에 대하여 보다 상세하게 논의되는 바와 같이, 시간 슬라이스들의 각각 동안 시간 윈도우에 걸쳐 제어 동작들을 수행하는 효과들을 시뮬레이션함으로써, 알려지지 않고 및/또는 직접 관측 가능한 타겟 시스템에 대한 상태 변수들의 값들을 추정하기 위해서를 포함하여, 모델을 트레이닝하기 위해 타겟 시스템에 대한 부분적 초기 상태 정보를 사용하기 위해 블록(725)으로 이어진다.
블록(725) 후, 또는 블록(715)에서 모델을 트레이닝하거나 또는 재트레이닝하지 않는 것으로 대신 결정되면, 루틴은 현재 모델에 대한 해법 및 블록(710)에서 획득된 임의의 부가적인 상태 정보를 결정하려고 시도하기 위한 구간결 선형 분석을 수행하기 위해 블록(730)으로 이어지며, 다른 곳에서 보다 상세하게 논의되는 바와 같이, 해법(결정된다면)은 현재 시간 동안 취할 뿐만 아니라, 몇몇 실시예들에서, 현재 모델에 대하여 하나 이상의 오류 측정들을 행하기 위해 하나 이상의 모델 오류 게이지들을 사용할 국소적 판단 모듈에 대한 하나 이상의 제안된 제어 동작 결정들을 포함한다. 루틴은 그 후 블록(730)에서의 동작들이 블록(730)의 동작에 대해 허용된 시간의 양(예로서, 현재 시간 기간의 정의된 서브세트 또는 부분) 내에서 해법을 결정하였는지를 결정하기 위해 블록(735)으로 이어지며, 그렇다면 해법을 반영하기 위해 국소적 판단 모듈에 대한 결과적인 현재 모델 및 결합된 미분 방정식들의 현재 세트를 업데이트하기 위해 블록(740)으로 이어지며, 결과적인 업데이트된 정보는 루틴(700)의 출력으로서 제공된다.
블록(735)에서 블록(730)에서의 동작이 해법을 결정하지 않았다고 대신 결정되면, 루틴은 해법을 결정하려는 추가 시도들을 위해 현재 시간 기간 내에서 부가적인 시간이 이용 가능한지를 결정하기 위해 블록(745)으로 이어지며, 그렇지 않다면 어떤 해법도 현재 시간 기간 동안 결정되지 않음을 표시하는 루틴(700)의 출력을 제공하기 위해 블록(790)으로 이어진다.
그러나 부가적인 시간이 현재 시간 기간 내에서 이용 가능하다면, 루틴은 해법을 식별하려는 하나 이상의 추가 시도들을 수행하기 위해 블록들(755 내지 780)을 계속해서 수행한다 - 블록들(755 내지 780)의 동작들 중 하나 이상은 추가 해법 결정 시도들이 계속하기 위해 충분한 시간이 이용 가능하다면 주어진 시간 기간 동안 다수 회 반복적으로 수행될 수 있다는 것이 이해될 것이다. 특히, 루틴은 블록(745)에서 부가적인 시간이 이용 가능한 것으로 결정된다면 블록(755)으로 이어지며, 여기에서 블록(730)에 대하여 논의된 게이지들로부터의 모델 오류 측정들에 기초하여서와 같은, 하나 이상의 게이지들로부터의 측정들이 모델에 대한 수정들을 나타내는 하나 이상의 임계치들을 초과하는 모델 오류 측정들이 요구됨을 나타내는지를 결정한다. 그렇지 않다면, 루틴은 현재 시간 기간 동안(현재 시간 기간 동안 이것이 라우팅의 이러한 부분을 통한 제 1 패스가 아니라면, 시간 기간 동안 완화되려고 이전에 시도되지 않은) 완화되기 위해 이용 가능한 현재 모델에서의 하나 이상의 규칙들 또는 다른 제한들이 있는지를 결정하기 위해 블록(760)으로 이어지며, 그렇다면 하나 이상의 이러한 규칙들 또는 다른 제한들을 완화시키기 위해 및 이들 완화된 규칙들 또는 다른 제한들에 기초하여 개정된 모델을 갖고 구간별 선형 분석을 재시도하도록 블록(730)으로 돌아가기 위해 블록(765)으로 이어진다.
블록(755)에서 게이지들 중 하나 이상으로부터의 모델 오류 측정치들이 하나 이상의 대응하는 임계치들을 만족시키기에 충분하다고 대신 결정되면, 루틴은 대신, 모델에 대한 업데이트들의 하나 이상의 시간 기간들에 걸쳐 누적된 오류들에 기초하여서와 같은, 그렇게 하기에 충분한 오류들을 나타내는 게이지들 중 하나 이상에 기초하여 모델을 재트레이닝할지를 결정하기 위해 블록(770)으로 이어진다. 그렇다면, 루틴은 블록들(720 및 725)에서 이러한 재-트레이닝을 수행하기 위해 블록(720)으로 돌아가며, 그 후 결과적인 재-트레이닝된 모델을 갖고 구간별 선형 분석을 재시도하기 위해 블록(730)으로 이어진다.
블록(770)에서 모델을 재트레이닝하지 않는 것으로 대신 결정되면(또는 모델이 현재 시간 기간 동안 이미 재트레이닝되었으며 블록(730)에서의 결과적인 재시도가 해법을 찾는데 다시 실패하였다면), 루틴은 게이지들 중 하나 이상으로부터의 모델 오류 측정들이 복구되도록 요구하는 오류들을 잠재적으로 가진 모델에서의 하나 이상의 규칙들 또는 다른 제한들의 서브세트를 표시하는지를 결정하기 위해 블록(775)으로 이어진다. 그렇다면, 루틴은, 사용자들이 적절하다면 규칙들 또는 다른 제한들을 개정하도록 허용하기 위해 CDD 판단 모듈 구성 구성요소를 통해 하나 이상의 사용자들로 정보를 제공하기 위해 블록(780)으로 이어지지만, 다른 실시예들에서 몇몇 또는 모든 이러한 규칙 복구 활동들은 대신 자동화 방식으로 시도되거나 또는 수행될 수 있다. 블록(780) 후, 또는 블록(775)에서 임의의 규칙들을 복구하지 않는 것으로 대신 결정되면, 루틴은 어떤 해법도 현재 시간 기간 동안 결정되지 않았다는 표시를 제공하기 위해 블록(790)으로 이어진다. 블록들(740, 708, 또는 790) 후, 루틴은 블록(799)으로 이어지며 종료된다. 루틴(700)이 루틴을 위한 실행 구성요소로부터 원격에 있는 하나 이상의 판단 모듈들을 지원하는 집중화 루틴으로서 대신 구현된다면, 루틴(700)은 대신 추가 정보 또는 요청들을 대기하기 위해 블록(703)으로 돌아갈 수 있다는 것이 이해될 것이다.
도 8a 및 도 8b는 CDD 조정 제어 관리 루틴(800)의 예시적인 실시예의 흐름도이다. 루틴은, 예를 들면, 타겟 시스템을 총괄적으로 제어하는 다수의 판단 모듈들 사이에서 현재 모델들 및 그것들의 제안된 제어 동작들을 동기화하려고 시도하기 위해서와 같은, 도 3의 구성요소(346) 및/또는 도 2의 구성요소들(146a 내지 146n)의 실행에 의해 제공될 수 있다. 루틴의 예시된 실시예에서, 동기화는 가능하다면 일치 공유 모델에서 표현되는 파레토(Pareto) 평형을 결정하기 위해 파레토 게임 기술을 사용함으로써, 특정한 국소적 판단 모듈의 국소적 현재 모델 및 하나 이상의 다른 판단 모듈들의 현재 상태에 대한 정보에 기초하는 상기 판단 모듈에 대한 중간 공유 모델 사이에서 구간별 방식으로 수행되지만, 다른 실시예들에서 다른 유형들의 동기화 방법들이 사용될 수 있다. 또한, 예시된 실시예에서, 루틴(800)은 상기 국소적 판단 모듈 내에 포함됨으로써와 같은, 특정한 국소적 판단 모듈에 대한 국소적 방식으로 수행되지만, 다른 실시예들에서, 루틴(800)은 루틴에 대한 구성요소를 구현하는 컴퓨팅 시스템으로부터 원격이며 국소적 판단 모듈 대신에 동작하기보다는 특정한 시간에 사용되도록 표시된 특정한 판단 모듈과 같은, 하나 이상의 컴퓨터 네트워크들을 통해 이들 판단 모듈들과 통신하는 하나 이상의 판단 모듈들을 지원하기 위해 집중화 방식으로 구현될 수 있다.
루틴(800)의 예시된 실시예는 블록(805)에서 시작되며, 여기에서 그것은 정보 또는 또 다른 표시를 수신하려고 기다린다. 루틴은 상기 다른 판단 모듈을 위해 실행하는 루틴(800)의 사본으로부터와 같은, 일치 모델 또는 또 다른 판단 모듈에 대한 다른 업데이트된 정보가 수신되는지를 결정하기 위해 블록(810)으로 이어지며, 그렇다면 블록(830)에 대하여 보다 상세하게 논의되는 바와 같이, 그 대신에 루틴(800)의 현재 사본이 실행하는 국소적 판단 모듈과 함께 사용하기 위한 국소적 중간 공유 모델 정보를 업데이트하도록 수신된 정보를 사용하기 위해 블록(815)으로 이어진다. 블록(810)에서 블록(805)에서 수신된 정보 또는 요청이 하나 이상의 다른 판단 모듈들에 관련된 정보가 아니라고 대신 결정되면, 또는 블록(815) 후, 루틴은, 블록(805)에서 국소적 판단 모듈의 모델에 대한 업데이트가 수신될 때마다(예로서, 상기 판단 모듈에 국소적인 CDD 제어 동작 결정 구성요소의 사본에 대한 루틴(700)의 동작에 기초하여) 및/또는 국소적 판단 모듈의 중간 공유 모델을 업데이트하기 위한 정보가 블록(805)에서 수신되고 블록(815)에서 사용될 때마다 이러한 동기화를 행하기 위해서와 같은, 또는 대신에 블록(805)에서 명시적으로 표시된 바와 같이, 하나 이상의 다른 판단 모듈들에 대한 정보를 포함하는 국소적 판단 모듈의 중간 공유 모델에 대한 정보를 사용함으로써 국소적 판단 모듈의 현재 국소적 모델에 대한 동기화를 현재 수행할지를 결정하기 위해 블록(820)으로 이어지며 - 동기화가 현재 수행된다면, 루틴은 블록(825)으로 이어지며 이러한 동기화 활동들에 관련된 블록들(820 내지 880)을 수행하기 시작한다. 그렇지 않다면, 루틴은, 루틴(800)의 동작에 대한 현재 정보에 대한 CDD 시스템 또는 다른 요청기로부터의 요청들을 수신하기 위해 및/또는 하나 이상의 엔티티들로(예로서, 이전 요청들을 반영하기 위해) 대응하는 정보를 제공하기 위해서와 같은, 적절한 경우 하나 이상의 다른 표시된 동작들을 수행하기 위해 블록(885)으로 이어진다.
블록(820)에서 동기화는, 블록(805)에서 수신되는 업데이트된 모델-관련 정보에 기초하여서와 같이, 현재 수행된다고 결정되면, 루틴은 동기화 시 사용할 국소적 판단 모듈에 대한 현재 국소적 모델을 획득하기 위해 블록(825)으로 이어지며, 상기 모델은 국소적 판단 모듈에 대한 국소적 해법에 기초하여 현재 시간 기간 동안 수행할 하나 이상의 제안된 제어 동작들을 포함한다. 루틴은 그 후 타겟 시스템을 제어하는데 총괄적으로 참여하는 하나 이상의 다른 판단 모듈들(예로서, 모든 다른 판단 모듈들)에 대한 정보를 나타내는 국소적 판단 모듈의 중간 공유 모델에 대한 정보를 검색하기 위해 블록(830)으로 이어지며, 상기 중간 공유 모델은 선택적으로, 부분적 또는 완전한 동기화가 스스로 사이에서 이들 하나 이상의 다른 판단 모듈들에 대해 수행된 후, 이들 하나 이상의 다른 판단 모듈들의 국소적 해법들에서 비롯된 하나 이상의 다른 제안된 제어 동작들을 유사하게 나타낸다.
루틴은 그 후 국소적 판단 모듈의 현재 모델 및 중간 공유 모델 양쪽 모두에 해법들을 동시에 제공함으로써 국소적 판단 모듈의 현재 모델 및 중간 공유 모델을 동기화하는 일치 공유 모델을 결정하려고 시도하기 위해 블록(835)으로 이어진다. 몇몇 실시예들에서, 블록(835)의 동작들은, 국소적 모델 및 중간 공유 모델이 하나 이상의 해법들이 식별될 조합 모델을 생성하기 위해 조합된다면과 같은, 도 7a 및 도 7b의 루틴(700)의 블록들(710 내지 730)에 대하여 논의된 것과 유사한 방식으로 수행된다. 다른 곳에서 보다 상세하게 논의되는 바와 같이, 몇몇 실시예들에서, 국소적 현재 모델 및 중간 공유 모델은 각각 각각의 해밀토니안 함수들에 대한 부가적인 방식으로 이러한 조합된 모델의 간단한 생성을 가능하게 하기 위해 해밀토니안 함수에 의해 표현될 수 있으며, 도 6a 및 도 6b 및 도 7a 및 도 7b의 루틴들(600 및/또는 700)의 동작들은 각각, 이러한 해밀토니안 함수들을 사용하여 그것들이 업데이트하며 그 외 조작하는 모델들을 유사하게 나타낸다.
블록(835) 후, 루틴은 동기화기 수행되도록 시도되는 현재 시간 기간의 일부 또는 다른 부분과 같은, 허용된 양의 시간에서 블록(835)의 동작이 성공하였는지를 결정하기 위해 블록(840)으로 이어지며, 그렇다면 루틴은 일치 공유 모델을 반영하기 위해 국소 모델 및 국소적 판단 모듈의 중간 공유 모델 양쪽 모두를 업데이트하기 위해 블록(845)으로 이어진다. 이전에 주지된 바와 같이, 공동 그룹의 하나 이상의 다른 판단 모듈들을 나타내는 변화하는 중간 공유 모델들을 갖고 일치 공유 모델을 반복적으로 결정하기 위해 충분한 시간이 각각의 판단 모듈에 대해 허용된다면, 공동 그룹의 판단 모듈들은 결국 단일 융합된 공유 모델 상에 융합될 수 있지만, 다른 실시예들 및 상황들에서, 이러한 융합이 발생하기에 충분한 시간이 없을 수 있거나, 또는 다른 이슈들이 이러한 융합을 방지할 수 있다. 블록(845) 후, 루틴은 통지된 판단 모듈들의 각각이 라우팅(800)의 그 자신의 국소 버전을 구현하며 제공된 정보가 현재 국소적 판단 모듈의 새롭게 구성된 일치 공유 모델로부터의 정보를 포함하는 이들 다른 판단 모듈들의 중간 공유 모델의 부분으로서 사용될 것이라면과 같은, 국소적 판단 모듈에 대해 결정된 일치 공유 모델에(및/또는 835의 동작들이 이러한 융합된 공유 모델을 생성하는데 마지막 단계이면, 융합된 공유 모델에) 다른 판단 모듈들을 선택적으로 통지하기 위해 블록(850)으로 이어진다.
블록(840)에서 동기화가 허용된 시간에 발생하지 않았다고 대신 결정되면, 루틴은 때때로 충분한 시간이 이용 가능한 경우 반복적으로, 및 도 7a 및 도 7b의 루틴(700)의 블록들(745 내지 780)에 대하여 논의된 것과 유사한 방식으로, 하나 이상의 수정들과의 동기화를 재시도하기 위해 블록들(860 내지 875)을 계속해서 수행한다. 예시된 예에서, 루틴은 블록(860)에서 부가적인 시간이 동기화 시 하나 이상의 이러한 재시도들을 위해 이용 가능한지를 결정하며, 아니라면, 루틴은 허용된 시간 내에서 어떤 동기화도 수행되지 않았다는 표시를 제공하기 위해 블록(880)으로 이어진다. 그렇지 않다면, 루틴은 국소적 판단 모듈의 현재 모델 및/또는 정보가 국소적 판단 모듈의 중간 공유 모델에 나타내어지는 하나 이상의 다른 판단 모듈들 중 하나 또는 양쪽 모두에 대하여, 규칙들 또는 다른 제한들을 완화시키는 것, 규칙들 또는 다른 제한들을 복구하는 것, 및/또는 모델을 재트레이닝하는 것 중 하나 이상을 수행하기 위해 하나 이상의 동작들을 취하도록 블록(870)으로 이어진다. 블록(870)에서 이러한 방식으로 진행하는 것으로 결정되면, 루틴은, 국소적 판단 모듈의 현재 모델에 대한 및/또는 국소적 판단 모듈의 국소적 중간 공유 모델에 대한 결과적인 업데이트들을 야기하기 위해서를 포함하여, 루틴(700)에 대하여 논의된 것과 유사한 방식으로 때때로 한 번에 하나씩, 대응하는 동작들을 수행하기 위해 블록(875)으로 이어지며, 그 후 루틴은 국소적 판단 모듈의 국소적 모델 및 중간 공유 모델을 동기화하려고 재시도하기 위해 블록(835)으로 돌아간다.
블록(870)에서 어떤 추가 동작들도 완화, 복구 및/또는 재-트레이닝에 대하여 수행되지 않는다고 대신 결정되면, 루틴은 대신 블록(880)으로 이어진다. 블록들(850, 880 또는 885) 후, 루틴은, 타겟 시스템의 동작에 대한 종료 및/또는 타겟 시스템을 제어하기 위해 다수의 판단 모듈들의 공동 그룹 및/또는 국소적 판단 모듈의 사용에 대한 종료를 반영하기 위해서와 같은, 루틴(800)의 동작을 종료하거나 또는 중단하기 위한 명시적 표시가 수신될 때까지와 같은, 계속할지를 결정하기 위해 블록(895)으로 이어진다. 계속하는 것으로 결정되면, 루틴은 블록(805)으로 돌아가며, 그렇지 않다면 블록(899)으로 이어지고 종료된다.
도 9는 타겟 시스템 및 타겟 시스템의 적어도 일 부분을 제어하는 하나 이상의 판단 모듈들 사이에서의 상호 작용들에 대하여, 대표적인 일반 타겟 시스템에 대해 수행된 루틴(900)의 예시적인 실시예의 흐름도를 예시한다. 루틴은, 예를 들면, 타겟 시스템에 특정된 동작들을 구현하기 위해서와 같은, 도 3의 타겟 시스템(360 및/또는 370), 및/또는 타겟 시스템(160 및/또는 170)의 실행에 의해 제공될 수 있다. 루틴의 예시된 실시예는 하나 이상의 판단 모듈들과 타겟 시스템의 상호 작용들에 초점을 맞추며, 많은 또는 모든 이러한 타겟 시스템들은 간결성을 위해 여기에 예시되지 않은 이들 타겟 시스템들에 특정된 방식으로 많은 다른 동작들을 수행할 것이라는 것이 이해될 것이다.
루틴은 블록(910)에서 시작되며, 여기에서 그것은 선택적으로, 타겟 시스템을 위한 CDD 시스템 또는 그것의 자동 제어 시스템으로부터의 요청에 응답하여, 또는 대신에 타겟 시스템에 특정된(예로서, 타겟 시스템의 개시 시 수행될) 구성에 기초하여서와 같은, 타겟 시스템에 대한 CDD 시스템의 자동 제어 시스템에서의 사용을 위해 타겟 시스템에 대한 초기 상태 정보를 CDD 시스템으로 제공한다. 블록(910) 후, 루틴은, 자동 제어 시스템의 하나 이상의 이러한 판단 모듈들에 의해 수행되는 타겟 시스템의 복수의 요소들의 하나 이상의 제어 요소들에 대한 하나 이상의 수정된 값들 또는 그것의 다른 조작들을 포함한, 타겟 시스템에 대한 자동 제어 시스템을 구현하는 하나 이상의 판단 모듈들의 공동 그룹으로부터 하나 이상의 입력들을 수신하기 위해 블록(920)으로 이어진다. 다른 곳에서 보다 상세하게 논의된 바와 같이, 블록들(920, 930, 940)은 다수의 시간 기간들의 각각 동안 반복적으로 수행될 수 있으며, 이것은 타겟 시스템에 의존하여 시간이 크게 달라질 수 있다(예로서, 마이크로초, 밀리초, 100분의 1초, 10분의 1초, 1초, 2초, 5초, 10초, 15초, 30초, 1분, 5분, 10분, 15분, 30분, 1시간 등).
블록(920) 후, 루틴은 제어 요소들의 조작들에 기초하여 타겟 시스템 내에서 하나 이상의 결과적인 출력들 또는 다른 결과들을 선택적으로 생성하기 위해서와 같은, 수신된 입력들에 기초하여 타겟 시스템에서 하나 이상의 동작들을 수행하기 위해 블록(930)으로 이어진다. 블록(940)에서, 루틴은 그 후 타겟 시스템 내에서 출력들 또는 다른 결과들에 대한 정보를 선택적으로 제공하며 및/또는 타게 시스템에 대한 다른 현재 상태 정보를 CDD 시스템의 자동 제어 시스템으로 및/또는 자동 제어 시스템의 특정한 판단 모듈로 제공한다. 루틴은 그 후, 타겟 시스템의 동작을 종료하거나 또는 중단하기 위한 명시적인 표시가 수신될 때까지와 같은, 계속할지를 결정하기 위해 블록(995)으로 이어진다. 계속하는 것으로 결정되면, 루틴은 다음 시간 기간 동안 다음 세트의 제어 동작들을 시작하기 위해 블록(920)으로 돌아가며, 그렇지 않다면 블록(999)으로 이어지고 종료된다. 다른 곳에서 보다 상세하게 논의되는 바와 같이, 특정한 판단 모듈에 제공되는 상태 정보는 외부 시스템들로부터 타겟 시스템으로 요청들을 포함할 수 있으며, 자동 제어 시스템 및 그것의 판단 모듈들은 하나 이상의 방식들로 응답하는 방법을 결정할 수 있다.
여기에 설명된 비-배타적 예시적인 실시예들은 다음의 조항들에서 추가로 논의된다.
1. 컴퓨터-구현 방법에 있어서:
하나 이상의 컴퓨팅 시스템들에 의해 적어도 부분적으로 구현된 자동 제어 시스템에 의해, 배터리에 의해 공급된 전기 직류(DC)를 통해 배터리에 의해 출력되는 전기 전류를 제어하는데 사용하기 위한 정보를 수신하는 단계로서, 상기 수신된 정보는 각각이 평가할 하나 이상의 조건들을 가지며 출력되는 상기 전기 전력의 제어 동안 정의된 범위에서 상기 배터리의 내부 상태를 유지하는 것을 포함한 하나 이상의 정의된 목표들을 달성하기 위한 방식으로 상기 배터리에 연결된 DC-DC 증폭기를 조작하는 것을 수반하는 제한들을 특정하는 다수의 규칙들에 기초한 모델을 포함하는, 상기 수신 단계; 및
상기 자동 제어 시스템에 의해 및 상기 수신된 정보에 기초하여, 상기 배터리에 의해 출력되는 상기 전기 전력을 제어하는 단계로서:
상기 자동 제어 시스템에 의해 및 하나 이상의 시간들에서, 상기 하나 이상의 시간들에서 상기 배터리의 하나 이상의 속성들에 대한 현재 값들을 식별하는 센서 정보, 및 상기 하나 이상의 시간들에서 만족될 하나 이상의 전기 로드들에 대한 정보를 획득하는 단계;
상기 자동 제어 시스템에 의해 및 상기 획득된 센서 정보에 적어도 부분적으로 기초하여, 상기 하나 이상의 시간들 동안 상기 배터리의 내부 상태의 하나 이상의 추정치들을 생성하는 단계;
상기 자동 제어 시스템에 의해, 및 상기 모델에 및 상기 배터리의 내부 상태의 하나 이상의 추정치들에 및 상기 하나 이상의 전기 로드들에 적어도 부분적으로 기초하여, 상기 하나 이상의 시간들 동안 상기 정의된 범위에서 상기 배터리의 내부 상태를 유지하면서 상기 하나 이상의 전기 로드들 중 적어도 일부를 만족시키기 위해 상기 하나 이상의 시간들에서 공급할 상기 배터리에 대한 전기 전력의 하나 이상의 양들을 결정하는 단계; 및
상기 자동 제어 시스템에 의해 및 상기 하나 이상의 결정된 전기 전력의 양들의 각각에 대해, 출력되는 전기 전력이 상기 결정된 전기 전력의 양을 마족시키게 하기 위해 상기 DC-DC 증폭기의 하나 이상의 설정들을 구현하는 단계를 포함한, 상기 제어 단계를 포함하는, 컴퓨터-구현 방법.
2. 조항 1에 있어서, 상기 하나 이상의 시간들은 제 1 시간 및 나중 제 2 시간을 포함하고,
상기 하나 이상의 전기 로드들은 제 1 시간에 제 1 전기 로드를 및 제 2 시간에 제 2 전기 로드를 포함하고,
상기 하나 이상의 시간들에서 공급할 상기 배터리에 대한 전기 전력의 하나 이상의 양들의 결정은 상기 제 1 전기 로드보다 작은 제 1 시간에서 전기 전력의 제 1 양을 공급하기 위한 결정 및 상기 제 2 전기 로드를 만족시키는 제 2 시간에서 전기 전력의 제 2 양을 공급하기 위한 결정을 포함하며,
상기 DC-DC 증폭기의 하나 이상의 설정들의 구현은 상기 전기 전력의 제 1 양이 상기 제 1 시간에 공급되게 하기 위해 상기 제 1 시간에서 상기 DC-DC 증폭기의 적어도 하나의 제 1 설정을 구현하는 단계, 및 상기 전기 전력의 제 2 양이 상기 제 2 시간에 공급되게 하기 위해 상기 제 2 시간에서 상기 DC-DC 증폭기의 적어도 하나의 제 2 설정을 구현하는 단계를 포함하는, 컴퓨터-구현 방법.
3. 조항 2에 있어서, 상기 제 1 전기 로드보다 작은 제 1 시간에서 상기 전기 전력의 제 1 양을 공급하기 위한 결정은 상기 제 1 전기 로드를 만족시키기 위해 상기 제 1 시간에서 전기 전력의 보다 큰 양을 공급하는 것이 상기 배터리의 내부 상태가 상기 정의된 범위를 초과하게 할 가능성이 있다고 결정하는 단계를 포함하는, 컴퓨터-구현 방법.
4. 조항 1 내지 조항 3 중 어느 하나에 있어서, 상기 하나 이상의 시간들에서 공급할 상기 배터리에 대한 전기 전력의 하나 이상의 양들의 결정은:
상기 제 1 시간에서 제 1 전기 로드를 만족시키며 상기 배터리가 공급할 수 있는 제 1 시간에서 전기 전력의 제 1 양을 결정하는 단계;
제 1 시간 동안 있는 상기 배터리의 내부 상태의 하나 이상의 추정치들 중 하나에 적어도 부분적으로 기초하여, 상기 배터리의 내부 상태가 상기 정의된 범위를 초과함을 결정하는 단계; 및
상기 배터리의 내부 상태가 상기 정의된 범위를 초과한다고 결정하는 것에 적어도 부분적으로 기초하여, 상기 제 1 양보다 작으며 상기 제 1 전기 로드를 만족시키기에 충분하지 않은 전기 전력의 제 2 양을 결정하는 단계를 포함하며,
상기 DC-DC 증폭기의 하나 이상의 설정들의 구현은 상기 전기 전력의 제 2 양이 상기 제 1 시간에 공급되게 하기 위해 상기 제 1 시간에서 상기 DC-DC 증폭기의 적어도 하나의 제 1 설정을 구현하는 단계를 포함하는, 컴퓨터-구현 방법.
5. 조항 1 내지 조항 4 중 어느 하나에 있어서, 상기 DC-DC 증폭기는 전계-효과 트랜지스터(FET) 증폭기이며, 상기 DC-DC 증폭기의 하나 이상의 설정들의 구현은 공급할 전류의 양을 결정하는 단계 및 상기 결정된 양의 전류를 생성하기 위해 상기 FET 증폭기의 게이트로 전압을 인가하는 단계를 포함하는, 컴퓨터-구현 방법.
6. 조항 1 내지 조항 5 중 어느 하나에 있어서, 상기 DC-DC 증폭기는 벅 변환기 또는 부스트 변환기 중 적어도 하나의 부분이며, 상기 DC-DC 증폭기의 하나 이상의 설정들의 구현은 공급할 전압의 양을 결정하는 단계, 및 상기 결정된 양의 전압을 생성하기 위해 상기 벅 변환기 또는 상기 부스트 변환기 중 적어도 하나를 수정하는 단계를 포함하는, 컴퓨터-구현 방법.
7. 조항 1 내지 조항 6 중 어느 하나에 있어서, 상기 획득된 센서 정보는 상기 배터리와 연관된 전기 전류, 전압 및 하나 이상의 온도들에 대한 현재 값들을 식별하며, 상기 배터리의 내부 상태의 하나 이상의 추정치들의 생성은 상기 현재 값들에 적어도 부분적으로 기초하여 상기 배터리의 부가적인 내부 온도를 추정하기 위해 정의된 배터리 온도 모델을 사용하는 단계를 포함하는, 컴퓨터-구현 방법.
8. 조항 1 내지 조항 7 중 어느 한 하나에 있어서, 상기 획득된 센서 정보는 상기 배터리와 연관된 전기 전류, 전압 또는 온도 중 적어도 하나에 대한 현재 값을 식별하며, 상기 배터리의 내부 상태의 하나 이상의 추정치들의 생성은 상기 배터리의 부가적인 내부 온도 또는 상기 배터리에 대한 내부 화학 반응 상태 중 적어도 하나를 추정하는 단계를 포함하는, 컴퓨터-구현 방법.
9. 조항 1 내지 조항 8 중 어느 하나에 있어서, 상기 획득된 센서 정보는 상기 배터리와 연관된 전기 전류, 전압 또는 온도 중 적어도 하나에 대한 현재 값을 식별하며, 상기 배터리의 내부 상태의 하나 이상의 추정치들의 생성은 상기 배터리의 적어도 하나의 내부 온도를 추정하는 단계를 포함하며, 상기 정의된 범위는 상기 배터리가 너무 이른 손상을 야기하지 않고 상기 배터리가 동작하는 배터리의 내부 온도들의 범위를 포함하는, 컴퓨터-구현 방법.
10. 조항 1 내지 조항 9 중 어느 하나에 있어서, 상기 배터리는 하나 이상의 전기 동력식 디바이스들을 가진 시스템의 부분이며, 상기 하나 이상의 전기 로드들에 대한 상기 획득된 정보는 상기 하나 이상의 전기 동력식 디바이스들로부터의 전기 수요의 양을 포함하는, 컴퓨터-구현 방법.
11. 조항 1 내지 조항 10 중 어느 하나에 있어서, 상기 배터리는 전기 그리드에 연결되며, 상기 하나 이상의 전기 로드들에 대한 상기 획득된 정보는 상기 배터리로부터 공급될 전기 전력에 대한 상기 전기 그리드의 조작자로부터의 요청들을 포함하는, 컴퓨터-구현 방법.
12. 조항 1 내지 조항 11 중 어느 하나에 있어서, 상기 모델은 충전 동안 상기 배터리에 공급되는 전기 전력의 제어 동안 상기 정의된 범위에서 상기 배터리의 내부 상태를 유지하기 위해 상기 배터리에 연결된 상기 DC-DC 증폭기를 조작하는 것을 수반한 제한들을 특정하는 하나 이상의 규칙들을 추가로 포함하며, 상기 방법은 상기 자동 제어 시스템에 의해, 충전 동안 상기 배터리에 공급되는 전기 전력을 제어하는 단계를 더 포함하고, 상기 제어 단계는:
상기 자동 제어 시스템에 의해 및 하나 이상의 부가적인 시간들에서, 상기 하나 이상의 부가적인 시간들에서 상기 배터리의 하나 이상의 속성들에 대한 현재 값들을 식별하는 부가적인 센서 정보, 및 상기 하나 이상의 부가적인 시간들에서 상기 배터리에 제공될 하나 이상의 전기 공급 양들에 대한 정보를 획득하는 단계;
상기 자동 제어 시스템에 의해 및 상기 획득된 부가적인 센서 정보에 적어도 부분적으로 기초하여, 상기 하나 이상의 부가적인 시간들 동안 상기 배터리의 내부 상태의 하나 이상의 부가적인 추정치들을 생성하는 단계;
상기 자동 제어 시스템에 의해, 및 상기 모델에 및 상기 배터리의 내부 상태의 하나 이상의 부가적인 추정치들에 및 상기 하나 이상의 전기 공급 양들에 적어도 부분적으로 기초하여, 상기 하나 이상의 부가적인 시간들 동안 상기 정의된 범위에서 상기 배터리의 내부 상태를 유지하면서 상기 하나 이상의 전기 공급 양들 중 적어도 일부를 수용하기 위해 상기 하나 이상의 부가적인 시간들에서 수신할 상기 배터리에 대한 전기 전력의 하나 이상의 부가적인 양들을 결정하는 단계; 및
상기 자동 제어 시스템에 의해 및 전기 전력의 상기 하나 이상의 결정된 부가적인 양들의 각각에 대해, 상기 배터리에 공급되는 전기 전력이 상기 결정된 전기 전력의 부가적인 양을 만족시키게 하기 위해 상기 DC-DC 증폭기의 하나 이상의 설정들을 구현하는 단계를 포함하는, 컴퓨터-구현 방법.
13. 조항 12에 있어서, 상기 배터리는 태양광 발전기를 가진 시스템의 부분이며, 상기 배터리에 제공될 상기 하나 이상의 전기 공급 양들에 대한 상기 획득된 정보는 상기 태양광 발전기로부터 이용 가능한 전기 공급의 양을 포함하는, 컴퓨터-구현 방법.
14. 조항 1 내지 조항 13 중 어느 하나에 있어서, 상기 수신된 정보에 포함된 상기 모델은 상기 배터리의 배터리 유형에 대해 구성되며, 상기 방법은, 출력되는 상기 전기 전력의 제어 전 초기 트레이닝 기간 동안, 상기 배터리의 하나 이상의 속성들의 값들에서의 변화들 및 상기 배터리에 의해 공급되는 전기 로드들에서의 변화들을 모니터링하며, 값들에서의 상기 모니터링된 변화들 및 전기 로드들에서의 상기 모니터링된 변화들에 대응하도록 상기 모델을 수정함으로써 상기 배터리에 특정된 정보에 상기 모델을 적응시키는 단계를 더 포함하는, 컴퓨터-구현 방법.
15. 조항 1 내지 조항 14 중 어느 하나에 있어서, 출력되는 상기 전기 전력의 제어 단계는 상기 배터리의 증가하는 임피던스에 적어도 부분적으로 기초하는 상기 배터리의 하나 이상의 속성들의 값들에서 시간에 걸친 변화들을 모니터링하며, 상기 모니터링된 변화들에 대응하도록 상기 모델을 수정함으로써 상기 배터리에 특정된 부가적인 정보에 상기 수신된 정보에 포함된 상기 모델을 적응시키는 단계를 더 포함하며, 결정되며 상기 구현에 의해 출력되도록 야기되는 공급할 상기 배터리에 대한 전기 전력의 적어도 하나의 양은 상기 수정된 모델에 적어도 부분적으로 기초하는, 컴퓨터-구현 방법.
16. 조항 1 내지 조항 15에 있어서, 상기 자동 제어 시스템은 상기 배터리에 연결적으로 결합된 배터리 제어기 구성요소를 포함하며 상기 하나 이상의 컴퓨팅 시스템들 중 적어도 하나 상에서 상기 배터리로부터 원격으로 실행하며 하나 이상의 컴퓨터 네트워크들을 통해 상기 배터리 제어기 구성요소와 통신하는 제어 동작 결정 구성요소를 추가로 포함하고, 상기 제어 동작 결정 구성요소는 적어도 전기 전력의 하나 이상의 양들의 결정을 수행하며 상기 결정된 전기 전력의 하나 이상의 양들에 대한 지시들을 상기 하나 이상의 컴퓨터 네트워크들을 통해 상기 배터리 제어기 구성요소로 전송하는 것을 추가로 수행하고, 상기 배터리 제어기 구성요소는 적어도 상기 전송된 지시들에 적어도 부분적으로 기초하여 상기 DC-DC 증폭기의 하나 이상의 설정들의 구현을 수행하는, 컴퓨터-구현 방법.
17. 조항 16에 있어서, 상기 배터리 제어기 구성요소에 의해 및 상기 제어 동작 결정 구성요소로부터 상기 하나 이상의 컴퓨터 네트워크들을 통해 임의의 지시들을 수신하지 않고 부가적인 시간에, 상기 배터리에 의해 출력되는 상기 전기 전력을 제어하는 단계를 더 포함하며, 상기 제어 단계는:
상기 배터리 제어기 구성요소에 의해 및 상기 부가적인 시간에서, 상기 부가적인 시간에서 상기 배터리의 하나 이상의 속성들에 대한 현재 값들을 식별하는 부가적인 센서 정보를 획득하는 단계;
상기 배터리 제어기 구성요소에 의해 및 상기 획득된 부가적인 센서 정보에 적어도 부분적으로 기초하여, 상기 부가적인 시간 동안 상기 배터리의 내부 상태의 부가적인 추정치를 생성하는 단계;
상기 배터리 제어기 구성요소에 의해, 및 상기 배터리의 내부 상태의 부가적인 추정치에 적어도 부분적으로 기초하여, 상기 부가적인 시간 동안 상기 정의된 범위에서 상기 배터리의 내부 상태를 유지하기 위해 상기 부가적인 시간에 공급할 상기 배터리에 대한 전기 전력의 부가적인 양을 결정하는 단계; 및
상기 배터리 제어기 구성요소에 의해, 출력되는 전기 전력이 상기 결정된 전기 전력의 부가적인 양을 만족시키게 하기 위해 상기 DC-DC 증폭기의 하나 이상의 설정들을 구현하는 단계를 포함하는, 컴퓨터-구현 방법.
18. 조항 1 내지 조항 17 중 어느 하나에 있어서, 상기 자동 제어 시스템에 의해 및 현재 전기 로드가 없는 부가적인 시간에, 상기 배터리에 의해 출력되는 상기 전기 전력을 제어하는 단계를 더 포함하며, 상기 제어 단계는:
상기 자동 제어 시스템에 의해 및 상기 부가적인 시간에서, 상기 부가적인 시간에서 상기 배터리의 하나 이상의 속성들에 대한 현재 값들을 식별하는 부가적인 센서 정보를 획득하는 단계;
상기 자동 제어 시스템에 의해 및 상기 획득된 부가적인 센서 정보에 적어도 부분적으로 기초하여, 상기 부가적인 시간 동안 상기 배터리의 내부 상태의 부가적인 추정치를 생성하는 단계;
상기 자동 제어 시스템에 의해, 및 상기 모델에 및 상기 배터리의 내부 상태의 부가적인 추정치에 적어도 부분적으로 기초하여, 상기 부가적인 시간 동안 상기 정의된 범위에서 상기 배터리의 내부 상태를 유지하기 위해 상기 부가적인 시간에 공급할 상기 배터리에 대한 전기 전력의 부가적인 양을 결정하는 단계; 및
상기 자동 제어 시스템에 의해, 출력되는 전기 전력이 상기 결정된 전기 전력의 부가적인 양을 만족시키게 하기 위해 상기 DC-DC 증폭기의 하나 이상의 설정들을 구현하는 단계를 포함하는, 컴퓨터-구현 방법.
19. 조항 1 내지 조항 18 중 어느 하나에 있어서, 상기 하나 이상의 시간들에서 공급할 상기 배터리에 대한 상기 전기 전력의 하나 이상의 양들의 결정 단계는 상기 배터리가 공급한 전기 전력의 적어도 하나의 이전 양에 대한 정보를 검색하는 단계, 및 상기 하나 이상의 시간들 동안 상기 정의된 범위에서 상기 배터리의 내부 상태를 유지하는 부분으로서, 상기 배터리가 공급하는 전기 전력의 양에서의 변화의 레이트를 추가로 제어하기 위해 상기 결정된 전기 전력의 하나 이상의 양들을 선택하는 단계를 더 포함하는, 컴퓨터-구현 방법.
20. 조항 1 내지 조항 19 중 어느 하나에 있어서, 적어도 하나의 이전 전기 로드를 식별하는 단계, 상기 적어도 하나의 이전 전기 로드로부터 상기 하나 이상의 전기 로드들로 전기 로드에서의 변화의 하나 이상의 양들을 결정하는 단계, 및 전기 로드에서 상기 결정된 변화의 하나 이상의 양들에 적어도 부분적으로 기초하여 상기 결정된 전기 전력의 하나 이상의 양들의 선택을 추가로 수행하는 단계를 더 포함하는, 컴퓨터-구현 방법.
21. 조항 1 내지 조항 20 중 어느 하나에 있어서, 상기 배터리의 내부 임피던스에 적어도 부분적으로 기초하는 상기 배터리의 내부 상태의 적어도 하나의 이전 추정치를 식별하는 단계, 상기 적어도 하나의 이전 추정치로부터 상기 하나 이상의 추정치들로 상기 배터리의 추정된 내부 임피던스에서의 변화의 하나 이상의 양들을 결정하는 단계, 및 상기 배터리의 추정된 내부 임피던스에서의 변화의 상기 결정된 하나 이상의 양들에 적어도 부분적으로 기초하여 상기 결정된 전기 전력의 하나 이상의 양들의 선택을 추가로 수행하는 단계를 더 포함하는, 컴퓨터-구현 방법.
22. 조항 1 내지 조항 21 중 어느 하나에 있어서, 상기 배터리의 내부 온도에 적어도 부분적으로 기초하는 상기 배터리의 내부 상태의 적어도 하나의 이전 추정치를 식별하는 단계, 상기 적어도 하나의 이전 추정치로부터 상기 하나 이상의 추정치들로 상기 배터리의 추정된 내부 온도에서의 변화의 하나 이상의 양들을 결정하는 단계, 및 상기 배터리의 상기 추정된 내부 온도에서의 변화의 상기 결정된 하나 이상의 양들에 적어도 부분적으로 기초하여 상기 결정된 전기 전력의 하나 이상의 양들의 선택을 추가로 수행하는 단계를 더 포함하는, 컴퓨터-구현 방법.
23. 실행될 때, 자동 제어 시스템의 적어도 부분을 구현한 하나 이상의 디바이스들이 조항 1 내지 조항 22 중 어느 하나의 방법을 수행하게 하는 소프트웨어 지시들을 저장한 비-일시적 컴퓨터-판독 가능한 매체.
24. 시스템에 있어서:
하나 이상의 디바이스들의 하나 이상의 하드웨어 프로세서들; 및
상기 하나 이상의 하드웨어 프로세서들 중 적어도 하나에 의해 실행될 때, 상기 시스템이 조항 1 내지 조항 22 중 어느 하나의 방법을 수행하게 하는 지시들을 저장한 하나 이상의 메모리들을 포함하는, 시스템.
몇몇 실시예들에서, 상기 논의된 루틴들에 의해 제공된 기능은, 보다 많은 루틴들 중에서 분리되거나 또는 보다 적은 루틴들로 통합되는 것과 같은, 대안적인 방식들로 제공될 수 있다는 것이 또한 이해될 것이다. 유사하게, 몇몇 실시예들에서, 예시된 루틴들은, 다른 예시된 루틴들이 각각 대신 부족하거나 또는 이러한 기능을 포함할 때, 또는 제공되는 기능의 양이 변경될 때와 같은, 설명된 것보다 많거나 또는 적은 기능을 제공할 수 있다. 또한, 다양한 동작들이 특정한 방식으로(예로서, 직렬로 또는 병렬로, 동기식으로 또는 비동기식으로 등) 및/또는 특정한 순서로 수행되는 것으로 예시될 수 있지만, 이 기술분야의 숙련자들은 다른 실시예들에서 동작들이 다른 순서들로 및 다른 방식들로 수행될 수 있다는 것을 이해할 것이다. 이 기술분야의 숙련자들은 또한, 다수의 데이터 구조들로 분리된 단일 데이터 구조를 가짐으로써 또는 단일 데이터 구조로 통합된 다수의 데이터 구조들을 가짐으로써와 같은, 상이한 방식들로 상기 논의된 데이터 구조들이 구조화될 수 있다는 것을 이해할 것이다. 유사하게, 몇몇 실시예들에서, 예시된 데이터 구조들은, 다른 예시된 데이터 구조들이 각각 대신 부족하거나 또는 이러한 정보를 포함할 때, 또는 저장되는 정보의 양 또는 유형들이 변경될 때와 같은, 설명된 것보다 많거나 또는 적은 정보를 저장할 수 있다.
앞서 말한 것으로부터, 특정 실시예들이 예시의 목적들을 위해 여기에서 설명되었지만, 다양한 수정들이 본 발명의 사상 및 범위로부터 벗어나지 않고 이루어질 수 있다는 것이 이해될 것이다. 따라서, 본 발명은 여기에 나열된 첨부된 청구항들 및 요소들에 의해서를 제외하고 제한되지 않는다. 또한, 본 발명의 특정한 양상들은 특정한 청구항 형태들로 이하에서 제공되지만, 본 발명자들은 임의의 이용 가능한 청구항 형태로 본 발명의 다양한 양상들을 고려한다. 예를 들면, 본 발명의 단지 몇몇 양상들만이 현재 컴퓨터-판독 가능한 매체에 구체화된 것으로 나열될 수 있지만, 다른 양상들이 마찬가지로 그렇게 구체화될 수 있다.

Claims (20)

  1. 컴퓨터-구현 방법에 있어서,
    적어도 부분적으로 하나 이상의 컴퓨팅 시스템들에 의해 구현된 자동 제어 시스템에 의해, 배터리에 의해 공급된 전기 전류(DC)를 통해 상기 배터리에 의해 출력되는 전기 전류를 제어하는데 사용하기 위한 정보를 수신하는 단계로서, 상기 수신된 정보는 각각이 평가할 하나 이상의 조건들을 가지며 출력되는 상기 전기 전력의 제어 동안 정의된 범위에서 상기 배터리의 내부 상태를 유지하는 것을 포함한 하나 이상의 정의된 목표들을 달성하기 위한 방식으로 상기 배터리에 연결된 DC-DC 증폭기를 조작하는 것을 수반한 제한들을 특정하는 다수의 규칙들에 기초한 모델을 포함하는, 상기 수신 단계; 및
    상기 자동 제어 시스템에 의해 및 상기 수신된 정보에 기초하여, 상기 배터리에 의해 출력되는 상기 전기 전력을 제어하는 단계로서:
    상기 자동 제어 시스템에 의해 및 하나 이상의 시간들에서, 상기 하나 이상의 시간들에서 상기 배터리의 하나 이상의 속성들에 대한 현재 값들을 식별하는 센서 정보, 및 상기 하나 이상의 시간들에서 만족될 하나 이상의 전기 로드들에 대한 정보를 획득하는 단계;
    상기 자동 제어 시스템에 의해 및 상기 획득된 센서 정보에 적어도 부분적으로 기초하여, 상기 하나 이상의 시간들 동안 상기 배터리의 내부 상태의 하나 이상의 추정치들을 생성하는 단계;
    상기 자동 제어 시스템에 의해, 및 상기 모델에 및 상기 배터리의 내부 상태의 하나 이상의 추정치들에 및 상기 하나 이상의 전기 로드들에 적어도 부분적으로 기초하여, 상기 하나 이상의 시간들 동안 상기 정의된 범위에서 상기 배터리의 내부 상태를 유지하면서 상기 하나 이상의 전기 로드들 중 적어도 일부를 만족시키기 위해 상기 하나 이상의 시간들에서 공급할 상기 배터리에 대한 전기 전력의 하나 이상의 양들을 결정하는 단계; 및
    상기 자동 제어 시스템에 의해 및 상기 하나 이상의 결정된 전기 전력의 양들의 각각에 대해, 출력되는 전기 전력이 상기 결정된 전기 전력의 양을 만족시키게 하기 위해 상기 DC-DC 증폭기의 하나 이상의 설정들을 구현하는 단계를 포함한, 상기 제어 단계를 포함하는, 컴퓨터-구현 방법.
  2. 제 1 항에 있어서,
    상기 하나 이상의 시간들은 제 1 시간 및 나중 제 2 시간을 포함하며,
    상기 하나 이상의 전기 로드들은 상기 제 1 시간에서 제 1 전기 로드를 및 상기 제 2 시간에서 제 2 전기 로드를 포함하고,
    상기 하나 이상의 시간들에서 공급할 상기 배터리에 대한 전기 전력의 하나 이상의 양들의 결정 단계는 상기 제 1 전기 로드보다 작은 제 1 양의 전기 전력을 상기 제 1 시간에서 공급하도록 결정하는 단계 및 상기 제 2 전기 로드를 만족시키는 제 2 양의 전기 전력을 상기 제 2 시간에서 공급하도록 결정하는 단계를 포함하며,
    상기 DC-DC 증폭기의 상기 하나 이상의 설정들의 구현 단계는 상기 제 1 시간에서 상기 제 1 양의 전기 전력이 공급되게 하기 위해 상기 제 1 시간에서 상기 DC-DC 증폭기의 적어도 하나의 설정을 구현하는 단계, 및 상기 제 2 시간에서 상기 제 2 양의 전기 전력이 공급되게 하기 위해 상기 제 2 시간에서 상기 DC-DC 증폭기의 적어도 하나의 제 2 설정을 구현하는 단계를 포함하는, 컴퓨터-구현 방법.
  3. 제 1 항에 있어서,
    상기 DC-DC 증폭기는 전계-효과 트랜지스터(FET) 증폭기이며, 상기 DC-DC 증폭기의 상기 하나 이상의 설정들의 구현 단계는 공급할 전류의 양을 결정하는 단계 및 상기 결정된 전류의 양을 생성하기 위해 상기 FET 증폭기의 게이트로 전압을 인가하는 단계를 포함하는, 컴퓨터-구현 방법.
  4. 제 1 항에 있어서,
    상기 DC-DC 증폭기는 벅 변환기 또는 부스트 변환기 중 적어도 하나의 부분이며, 상기 DC-DC 증폭기의 상기 하나 이상의 설정들의 구현 단계는 공급할 전압의 양을 결정하는 단계, 및 상기 결정된 전압의 양을 생성하기 위해 상기 벅 변환기 또는 상기 부스트 변환기 중 적어도 하나를 수정하는 단계를 포함하는, 컴퓨터-구현 방법.
  5. 제 1 항에 있어서,
    상기 획득된 센서 정보는 상기 배터리와 연관된 전기 전류, 전압 및 하나 이상의 온도들에 대한 현재 값들을 식별하며, 상기 배터리의 내부 상태의 상기 하나 이상의 추정치들의 생성 단계는 상기 현재 값들에 적어도 부분적으로 기초하여 상기 배터리의 부가적인 내부 온도를 추정하기 위해 정의된 배터리 온도 모델을 사용하는 단계를 포함하는, 컴퓨터-구현 방법.
  6. 제 1 항에 있어서,
    상기 획득된 센서 정보는 상기 배터리와 연관된 전기 전류, 전압 또는 온도 중 적어도 하나에 대한 현재 값을 식별하며, 상기 배터리의 내부 상태의 상기 하나 이상의 추정치들의 생성 단계는 상기 배터리의 부가적인 내부 온도 또는 상기 배터리에 대한 내부 화학 반응 상태 중 적어도 하나를 추정하는 단계를 포함하는, 컴퓨터-구현 방법.
  7. 제 1 항에 있어서,
    상기 획득된 센서 정보는 상기 배터리와 연관된 전기 전류, 전압 또는 온도 중 적어도 하나에 대한 현재 값을 식별하며, 상기 배터리의 내부 상태의 상기 하나 이상의 추정치들의 생성 단계는 상기 배터리의 적어도 하나의 내부 온도를 추정하는 단계를 포함하며, 상기 정의된 범위는 상기 배터리가 너무 이른 손상을 야기하지 않고 동작하는 상기 배터리의 내부 온도의 범위를 포함하는, 컴퓨터-구현 방법.
  8. 제 1 항에 있어서,
    상기 모델은 충전을 위해 상기 배터리에 공급되는 전기 전력의 제어 동안 상기 정의된 범위에서 상기 배터리의 내부 상태를 유지하기 위해 상기 배터리에 연결된 상기 DC-DC 증폭기를 조작하는 것을 수반한 제한들을 특정하는 하나 이상의 규칙들을 더 포함하며, 상기 방법은, 상기 자동 제어 시스템에 의해, 충전을 위해 상기 배터리에 공급되는 상기 전기 전력을 제어하는 단계를 더 포함하고, 상기 제어 단계는:
    상기 자동 제어 시스템에 의해 및 하나 이상의 부가적인 시간들에서, 상기 하나 이상의 부가적인 시간들에서 상기 배터리의 하나 이상의 속성들에 대한 현재 값들을 식별하는 부가적인 센서 정보, 및 상기 하나 이상의 부가적인 시간들에서 상기 배터리에 제공될 하나 이상의 전기적 공급 양들에 대한 정보를 획득하는 단계;
    상기 자동 제어 시스템에 의해 및 상기 획득된 부가적인 센서 정보에 적어도 부분적으로 기초하여, 상기 하나 이상의 부가적인 시간들 동안 상기 배터리의 내부 상태의 하나 이상의 부가적인 추정치들을 생성하는 단계;
    상기 자동 제어 시스템에 의해, 및 상기 모델에 및 상기 배터리의 내부 상태의 상기 하나 이상의 부가적인 추정치들에 및 상기 하나 이상의 전기적 공급 양들에 적어도 부분적으로 기초하여, 상기 하나 이상의 부가적인 시간들 동안 상기 정의된 범위에서 상기 배터리의 내부 상태를 유지하면서 상기 하나 이상의 전기적 공급 양들 중 적어도 일부를 수용하도록 상기 하나 이상의 부가적인 시간들에서 수신할 상기 배터리에 대한 전기 전력의 하나 이상의 부가적인 양들을 결정하는 단계; 및
    상기 자동 제어 시스템에 의해 및 상기 하나 이상의 결정된 전기 전력의 부가적인 양들의 각각에 대해, 상기 배터리에 공급되는 전기 전력이 상기 결정된 전기 전력의 부가적인 양을 만족시키게 하기 위해 상기 DC-DC 증폭기의 하나 이상의 설정들을 구현하는 단계를 포함하는, 컴퓨터-구현 방법.
  9. 제 1 항에 있어서,
    상기 수신된 정보에 포함된 상기 모델은 상기 배터리의 배터리 유형에 대해 구성되며, 상기 방법은, 출력되는 상기 전기 전력의 제어 전 초기 트레이닝 기간 동안, 상기 배터리의 하나 이상의 속성들의 값들에서의 변화들 및 상기 배터리에 의해 공급되는 전기 로드들에서의 변화들을 모니터링하며, 값들에서의 상기 모니터링된 변화들 및 전기 로드들에서의 상기 모니터링된 변화들에 대응하도록 상기 모델을 변경함으로써 상기 배터리에 특정적인 정보에 상기 모델을 적응시키는 단계를 더 포함하는, 컴퓨터-구현 방법.
  10. 제 1 항에 있어서,
    출력되는 상기 전기 전력의 제어 단계는 상기 배터리의 증가하는 임피던스에 적어도 부분적으로 기초하는 상기 배터리의 하나 이상의 속성들의 값들에서 시간에 걸친 변화들을 모니터링하며, 상기 모니터링된 변화들에 대응하도록 상기 모델을 변경함으로써 상기 배터리에 특정적인 부가적인 정보에 상기 수신된 정보에 포함된 상기 모델을 적응시키는 단계를 더 포함하며, 결정되며 상기 구현에 의해 출력되도록 야기되는 공급할 상기 배터리에 대한 전기 전력의 적어도 하나의 양은 상기 수정된 모델에 적어도 부분적으로 기초하는, 컴퓨터-구현 방법.
  11. 제 1 항에 있어서,
    상기 자동 제어기 시스템은 상기 배터리에 연결 결합된 배터리 제어기 구성요소를 포함하며 하나 이상의 컴퓨팅 시스템들 중 적어도 하나 상에서 상기 배터리로부터 원격으로 실행하며 하나 이상의 컴퓨터 네트워크들을 통해 상기 배터리 제어기 구성요소와 통신하는 제어 동작 결정 구성요소를 더 포함하고, 상기 제어 동작 결정 구성요소는 적어도 전기 전력의 상기 하나 이상의 양들의 결정을 수행하며 또한 상기 결정된 전기 전력의 하나 이상의 양들에 대한 지시들을 상기 하나 이상의 컴퓨터 네트워크들을 통해 상기 배터리 제어기 구성요소로 전송하는 것을 수행하고, 상기 배터리 제어기 구성요소는 적어도 상기 전송된 지시들에 적어도 부분적으로 기초하여 상기 DC-DC 증폭기의 하나 이상의 설정들의 구현을 수행하며, 상기 방법은 상기 배터리 제어기 구성요소에 의해 및 상기 하나 이상의 컴퓨터 네트워크들을 통해 상기 제어 동작 결정 구성요소로부터 임의의 지시들을 수신하지 않고 부가적인 시간에서, 상기 배터리에 의해 출력되는 상기 전기 전력을 제어하는 단계를 더 포함하며, 상기 제어 단계는:
    상기 배터리 제어기 구성요소에 의해 및 상기 부가적인 시간에, 상기 부가적인 시간에 상기 배터리의 하나 이상의 속성들에 대한 현재 값들을 식별하는 부가적인 센서 정보를 획득하는 단계;
    상기 배터리 제어기 구성요소에 의해 및 상기 획득된 부가적인 센서 정보에 적어도 부분적으로 기초하여, 상기 부가적인 시간 동안 상기 배터리의 내부 상태의 부가적인 추정치를 생성하는 단계;
    상기 배터리 제어기 구성요소에 의해, 및 상기 배터리의 내부 상태의 부가적인 추정치에 적어도 부분적으로 기초하여, 상기 부가적인 시간 동안 상기 정의된 범위에서 상기 배터리의 내부 상태를 유지하기 위해 상기 부가적인 시간에 공급할 상기 배터리에 대한 전기 전력의 부가적인 양을 결정하는 단계; 및
    상기 배터리 제어기 구성요소에 의해, 출력되는 전기 전력이 상기 결정된 전기 전력의 부가적인 양을 만족시키게 하기 위해 상기 DC-DC 증폭기의 하나 이상의 설정들을 구현하는 단계를 포함하는, 컴퓨터-구현 방법.
  12. 제 1 항에 있어서,
    상기 자동 제어 시스템에 의해 및 현재 전기 로드 없이 부가적인 시간에, 상기 배터리에 의해 출력되는 상기 전기 전력을 제어하는 단계를 더 포함하며, 상기 제어 단계는:
    상기 자동 제어 시스템에 의해 및 상기 부가적인 시간에, 상기 부가적인 시간에 상기 배터리의 하나 이상의 속성들에 대한 현재 값들을 식별하는 부가적인 센서 정보를 획득하는 단계;
    상기 자동 제어 시스템에 의해 및 상기 획득된 부가적인 센서 정보에 적어도 부분적으로 기초하여, 상기 부가적인 시간 동안 상기 배터리의 내부 상태의 부가적인 추정치를 생성하는 단계;
    상기 자동 제어 시스템에 의해, 및 상기 모델에 및 상기 배터리의 내부 상태의 부가적인 추정치에 적어도 부분적으로 기초하여, 상기 부가적인 시간 동안 상기 정의된 범위에서 상기 배터리의 내부 상태를 유지하기 위해 상기 부가적인 시간에 공급할 상기 배터리에 대한 전기 전력의 부가적인 양을 결정하는 단계; 및
    상기 자동 제어 시스템에 의해, 출력되는 전기 전력이 상기 결정된 전기 전력의 부가적인 양을 만족시키게 하기 위해 상기 DC-DC 증폭기의 하나 이상의 설정들을 구현하는 단계를 포함하는, 컴퓨터-구현 방법.
  13. 자동 제어 시스템의 적어도 부분을 구현한 하나 이상의 디바이스들이 방법을 수행하게 하는 콘텐트들을 저장한 비-일시적 컴퓨터-판독 가능한 매체에 있어서,
    상기 방법은:
    상기 자동 제어 시스템에 의해, 전기 직류(DC)를 공급하는 배터리로부터 전기 전력을 제어하는데 사용하기 위한 정보를 수신하는 단계로서, 상기 수신된 정보는 상기 배터리로부터 상기 전기 전력의 제어 동안 정의된 범위에서 상기 배터리의 내부 상태를 유지하는 것을 포함한 하나 이상의 정의된 목표들을 달성하기 위해 상기 배터리에 연결된 DC-DC 증폭기를 조작하는 것을 수반한 제한들을 특정하는 상기 배터리의 모델을 포함하는, 상기 수신 단계; 및
    상기 자동 제어 시스템에 의해 및 상기 수신된 정보에 기초하여, 상기 배터리로부터의 상기 전기 전력을 제어하는 단계로서:
    상기 자동 제어 시스템에 의해, 다수의 시간들에서 상기 배터리의 하나 이상의 속성들에 대한 값들을 식별하는 센서 정보, 및 상기 다수의 시간들에서 만족될 전기 로드들에 대한 정보를 획득하는 단계;
    상기 자동 제어 시스템에 의해 및 상기 획득된 센서 정보에 적어도 부분적으로 기초하여, 상기 다수의 시간들 동안 상기 배터리의 내부 상태의 추정치들을 생성하는 단계;
    상기 다수의 시간들 중 하나 이상 동안 상기 자동 제어 시스템에 의해, 상기 정의된 범위에서 상기 배터리의 내부 상태를 유지하면서 상기 전기 로드들 중 적어도 일부를 만족시키기 위해 상기 하나 이상의 시간들에서 공급할 상기 배터리에 대한 전기 전력의 하나 이상의 양들을 결정하는 단계로서, 상기 결정은 상기 배터리가 공급하는 전기 전력의 양에서의 변화의 레이트를 제어하기 위해 상기 배터리에 의해 공급된 전기 전력의 적어도 하나의 이전 양에 적어도 부분적으로 기초하며, 상기 결정은 또한 상기 모델에 및 상기 배터리의 내부 상태의 추정치들에 및 상기 전기 로드들에 적어도 부분적으로 기초하는, 상기 결정 단계; 및
    상기 자동 제어 시스템에 의해 및 상기 하나 이상의 결정된 전기 전력의 양들의 각각에 대해, 출력되는 전기 전력이 상기 결정된 전기 전력의 양을 만족시키게 하기 위해 상기 DC-DC 증폭기의 하나 이상의 설정들을 구현하는 단계를 포함한, 상기 제어 단계를 포함하는, 비-일시적 컴퓨터-판독 가능한 매체.
  14. 제 13 항에 있어서,
    상기 배터리의 모델은 변화의 레이트에 대한 정의된 임계 한계보다 작도록 상기 배터리로부터 출력되는 전기 전력의 양을 변경하는 것을 제한하는 하나 이상의 규칙들을 포함하며, 상기 저장된 콘텐트들은 실행될 때, 또한 상기 하나 이상의 디바이스들 중 적어도 하나가 상기 배터리에 의해 공급된 전기 전력의 적어도 하나의 이전 양을 식별하게 하며 상기 정의된 범위에서 상기 배터리의 내부 상태를 유지하고 상기 정의된 임계 한계 내에 있는 변화의 타겟 레이트를 결정하게 하는 소프트웨어 지시들을 포함하며, 상기 하나 이상의 시간들에서 공급할 상기 배터리에 대한 전기 전력의 하나 이상의 양들의 결정은 또한 상기 결정된 변화의 타겟 레이트를 만족시키도록 수행되며 상기 하나 이상의 규칙들에 적어도 부분적으로 기초하는, 비-일시적 컴퓨터-판독 가능한 매체.
  15. 제 13 항에 있어서,
    상기 하나 이상의 시간들에서 공급할 상기 배터리에 대한 전기 전력의 하나 이상의 양들의 결정 단계는 적어도 하나의 이전 전기 로드를 식별하는 단계, 상기 다수의 시간들에서 상기 적어도 하나의 이전 전기 로드로부터 만족될 상기 전기 로드들로 전기 로드에서의 변화의 하나 이상의 양들을 결정하는 단계, 및 전기 로드에서 상기 결정된 변화의 하나 이상의 양들에 적어도 부분적으로 기초하여 상기 결정된 전기 전력의 하나 이상의 양들 중 적어도 하나를 선택하는 단계를 더 포함하는, 비-일시적 컴퓨터-판독 가능한 매체.
  16. 제 13 항에 있어서,
    상기 하나 이상의 시간들에서 공급할 상기 배터리에 대한 전기 전력의 하나 이상의 양들의 결정 단계는 상기 배터리의 내부 임피던스에 적어도 부분적으로 기초하는 상기 배터리의 내부 상태의 적어도 하나의 이전 추정치를 식별하는 단계, 상기 다수의 시간들 동안 상기 적어도 하나의 이전 추정치들로부터 상기 배터리의 내부 상태의 추정치들로 상기 배터리의 추정된 내부 임피던스에서의 변화의 하나 이상의 양들을 결정하는 단계, 및 상기 배터리의 상기 추정된 내부 임피던스에서의 상기 결정된 변화의 하나 이상의 양들에 적어도 부분적으로 기초하여 상기 결정된 전기 전력의 하나 이상의 양들 중 적어도 하나를 선택하는 단계를 더 포함하는, 비-일시적 컴퓨터-판독 가능한 매체.
  17. 제 13 항에 있어서,
    상기 하나 이상의 시간들에서 공급할 상기 배터리에 대한 전기 전력의 하나 이상의 양들의 결정 단계는 상기 배터리의 내부 온도에 적어도 부분적으로 기초하는 상기 배터리의 내부 상태의 적어도 하나의 이전 추정치를 식별하는 단계, 상기 다수의 시간들 동안 상기 적어도 하나의 이전 추정치로부터 상기 배터리의 내부 상태의 추정치들로 상기 배터리의 추정된 내부 온도에서의 변화의 하나 이상의 양들을 결정하는 단계, 및 상기 배터리의 추정된 내부 온도에서의 상기 결정된 변화의 하나 이상의 양들에 적어도 부분적으로 기초하여 상기 결정된 전기 전력의 하나 이상의 양들 중 적어도 하나를 선택하는 단계를 더 포함하는, 비-일시적 컴퓨터-판독 가능한 매체.
  18. 하나 이상의 디바이스들의 하나 이상의 하드웨어 프로세서들; 및
    지시들을 저장한 하나 이상의 메모리들로서, 상기 지시들은, 상기 하나 이상의 하드웨어 프로세서들 중 적어도 하나에 의해 실행될 때, 상기 적어도 하나의 하드웨어 프로세서로 하여금:
    상기 배터리로부터 또는 그것으로 공급된 상기 전기 전력의 직류(DC) 특성들을 제어하는 작동기를 조작하기 위한 특정된 제한들을 갖는 상기 배터리의 모델을 수신하고;
    표시된 시간에서 상기 배터리의 하나 이상의 속성들에 대한 값들을 식별하는 센서 정보, 및 상기 표시된 시간에서 만족될 전기 로드 또는 상기 표시된 시간에서 상기 배터리로 제공되기 위해 이용 가능한 전기 공급 양 중 적어도 하나에 대한 부가적인 정보를 획득하고;
    상기 획득된 센서 정보에 적어도 부분적으로 기초하여, 직접 관측 가능하지 않은 상기 배터리의 내부 상태의 하나 이상의 추정치들을 상기 표시된 시간 동안 생성하고;
    상기 표시된 시간 동안 정의된 범위에서 상기 배터리의 내부 상태를 유지하는 부분으로서, 및 상기 모델에 및 상기 배터리의 내부 상태의 하나 이상의 추정치들에 적어도 부분적으로 기초하여, 상기 전기 로드 중 적어도 일부를 만족시키기 위해 상기 표시된 시간에 공급할 상기 배터리에 대한 전기 전력의 양, 또는 상기 전기 공급 양 중 적어도 일부를 수용함으로써 상기 표시된 시간에 수신할 상기 배터리에 대한 전기 전력의 양을 결정하며;
    상기 표시된 시간 동안 출력되는 전기 전력이 공급할 상기 배터리에 대한 상기 결정된 전기 전력의 양을 만족시키게 하거나, 또는 상기 표시된 시간 동안 상기 배터리로 공급되는 전기 전력이 수신할 상기 배터리에 대한 상기 결정된 전기 전력의 양을 만족시키게 하도록 상기 작동기의 하나 이상의 설정들을 구현함으로써, 배터리로부터 또는 그것으로 공급된 전기 전력을 제어하는 자동 제어 시스템을 구현하게 하는, 상기 하나 이상의 메모리들을 포함하는, 시스템.
  19. 제 18 항에 있어서,
    상기 작동기는 DC-DC 증폭기이며, 상기 자동 제어 시스템은 상기 전기 로드 중 적어도 일부를 만족시키기 위해 상기 표시된 시간에 공급할 상기 배터리에 대한 전기 전력의 양을 결정함으로써 및 상기 표시된 시간 동안 출력되는 전기 전력이 공급할 상기 배터리에 대한 상기 결정된 전기 전력의 양을 만족시키게 하기 위해 상기 DC-DC 증폭기의 하나 이상의 설정들을 구현함으로써 상기 배터리로부터 공급된 전기 전력을 제어하는, 시스템.
  20. 제 18 항에 있어서,
    상기 배터리의 수신된 모델은 상기 배터리로부터 또는 그것으로 공급된 상기 전기 전력의 제어 동안 상기 정의된 범위에서 상기 배터리의 내부 상태를 유지하는 것을 포함한 하나 이상의 정의된 목표들을 달성하기 위한 방식으로 상기 작동기를 조작하는 것을 수반한 제한들을 특정하는 다수의 규칙들을 포함하며, 상기 다수의 규칙들은 상기 배터리가 제 1 정의된 임계치를 초과하는 전류 전하를 갖는다면 상기 배터리를 충전하지 않기 위한 하나 이상의 규칙들, 및 상기 배터리가 제 2 정의된 임계치 미만인 전류 전하를 갖는다며 상기 배터리를 방전시키지 않기 위한 하나 이상의 규칙들, 및 그렇게 하는 것이 정의된 범위 밖에 있는 상기 배터리의 추정된 내부 온도를 야기한다면 상기 배터리를 충전하거나 또는 방전시키지 않기 위한 하나 이상의 규칙들을 포함하는, 시스템.
KR1020187028607A 2016-03-04 2017-03-06 전력 출력을 제어하기 위한 배터리 dc 특성들의 사용 KR102019140B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662304034P 2016-03-04 2016-03-04
US62/304,034 2016-03-04
US15/096,091 2016-04-11
US15/096,091 US20170271984A1 (en) 2016-03-04 2016-04-11 Using battery dc characteristics to control power output
PCT/US2017/020960 WO2017152180A1 (en) 2016-03-04 2017-03-06 Using battery dc characteristics to control power output

Publications (2)

Publication Number Publication Date
KR20180123075A true KR20180123075A (ko) 2018-11-14
KR102019140B1 KR102019140B1 (ko) 2019-09-09

Family

ID=59743274

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187028607A KR102019140B1 (ko) 2016-03-04 2017-03-06 전력 출력을 제어하기 위한 배터리 dc 특성들의 사용

Country Status (6)

Country Link
US (2) US20170271984A1 (ko)
EP (1) EP3424139B1 (ko)
JP (1) JP6584040B2 (ko)
KR (1) KR102019140B1 (ko)
CN (1) CN109478848B (ko)
WO (1) WO2017152180A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190040303A (ko) * 2016-09-22 2019-04-17 로베르트 보쉬 게엠베하 원격 파라미터 추정을 구비한 2차 전지 관리 시스템
KR20210119764A (ko) * 2020-03-25 2021-10-06 한국핵융합에너지연구원 플라즈마 시뮬레이션을 위한 데이터의 입력 장치 및 방법

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5968719B2 (ja) * 2012-08-06 2016-08-10 京セラ株式会社 管理システム、管理方法、制御装置及び蓄電池装置
US10133250B2 (en) * 2014-06-20 2018-11-20 Veritone Alpha, Inc. Managing construction of decision modules to control target systems
US10224579B2 (en) 2015-12-31 2019-03-05 Robert Bosch Gmbh Evaluating capacity fade in dual insertion batteries using potential and temperature measurements
US10243385B2 (en) 2016-01-29 2019-03-26 Robert Bosch Gmbh Secondary battery management system
US10686321B2 (en) 2016-01-29 2020-06-16 Robert Bosch Gmbh Secondary battery management
US10263447B2 (en) 2016-01-29 2019-04-16 Robert Bosch Gmbh Secondary battery management system
US10361567B2 (en) * 2016-02-05 2019-07-23 Indian Institute Of Technology Madras (Iitm) Complementary engagement of battery banks to augment life, performance and capacity of energy storage system
US20170271984A1 (en) 2016-03-04 2017-09-21 Atigeo Corp. Using battery dc characteristics to control power output
US10303131B2 (en) * 2016-05-13 2019-05-28 Veritone Alpha, Inc. Using sensor data to assist in controlling a target system by modeling the functionality of the target system
US10761516B2 (en) * 2016-11-02 2020-09-01 Johnson Controls Technology Company Systems and methods for real-time detection and communication of health and performance degradation in a distributed building automation network
US10097435B2 (en) * 2016-11-02 2018-10-09 Johnson Controls Technology Company Systems and methods for real-time detection and communication of health and performance degradation in a distributed building automation network
FR3066660B1 (fr) * 2017-05-22 2020-04-03 Safran Electronics & Defense Procede de commande d'un circuit electronique commute
US10648692B2 (en) 2017-07-27 2020-05-12 Johnson Controls Technology Company Building management system with multi-dimensional analysis of building energy and equipment performance
CN107622324A (zh) * 2017-09-01 2018-01-23 燕山大学 一种考虑多微网能量交互的鲁棒环境经济调度方法
DE102017217550A1 (de) * 2017-10-02 2019-04-04 Siemens Healthcare Gmbh Identifikation von Bildartefakten mittels maschinellen Lernens
US10310959B2 (en) 2017-11-07 2019-06-04 Bank Of America Corporation Pre-deployment validation system using intelligent databases
KR102269106B1 (ko) 2017-11-20 2021-06-24 주식회사 엘지화학 배터리 파워 한계 값 제어 방법
JP6947081B2 (ja) * 2018-02-27 2021-10-13 トヨタ自動車株式会社 電池の充放電制御方法および電池システム
DE102018208396A1 (de) * 2018-05-28 2019-11-28 Mahle International Gmbh Verfahren zum Betreiben eines Ladesystems mit mehreren Ladepunkten
JPWO2019235645A1 (ja) * 2018-06-08 2021-06-17 パナソニックIpマネジメント株式会社 バッテリ管理システム及びバッテリ管理方法
US10666076B1 (en) 2018-08-14 2020-05-26 Veritone Alpha, Inc. Using battery state excitation to control battery operations
US10452045B1 (en) 2018-11-30 2019-10-22 Veritone Alpha, Inc. Controlling ongoing battery system usage while repeatedly reducing power dissipation
US10816949B1 (en) * 2019-01-22 2020-10-27 Veritone Alpha, Inc. Managing coordinated improvement of control operations for multiple electrical devices to reduce power dissipation
US11097633B1 (en) 2019-01-24 2021-08-24 Veritone Alpha, Inc. Using battery state excitation to model and control battery operations
US11644806B1 (en) 2019-01-24 2023-05-09 Veritone Alpha, Inc. Using active non-destructive state excitation of a physical system to model and control operations of the physical system
US10938897B2 (en) * 2019-01-31 2021-03-02 EMC IP Holding Company LLC Extended group service changes
US11069926B1 (en) * 2019-02-14 2021-07-20 Vcritonc Alpha, Inc. Controlling ongoing battery system usage via parametric linear approximation
JP7324632B2 (ja) * 2019-07-12 2023-08-10 株式会社シマノ 出力装置、学習モデルの生成方法、およびコンピュータプログラム
US11407327B1 (en) 2019-10-17 2022-08-09 Veritone Alpha, Inc. Controlling ongoing usage of a battery cell having one or more internal supercapacitors and an internal battery
KR102601197B1 (ko) * 2021-04-20 2023-11-13 한국전자통신연구원 인공 지능 기반의 p2p 전력 거래 방법 및 p2p 전력 거래 장치
US11892809B2 (en) 2021-07-26 2024-02-06 Veritone, Inc. Controlling operation of an electrical grid using reinforcement learning and multi-particle modeling
US11650253B2 (en) * 2021-07-30 2023-05-16 Jiangnan University State estimation method for power battery formation process based on convex space filtering
WO2023015316A1 (en) * 2021-08-06 2023-02-09 Igrenenergi, Inc. System and method for dynamically balancing power from distributed power sources in a battery pack
US20230135253A1 (en) * 2021-11-01 2023-05-04 Electronics And Telecommunications Research Institute Method of managing distributed energy resources and system for performing the same
CN114995545B (zh) * 2022-05-31 2024-03-26 中国第一汽车股份有限公司 一种车辆热管理系统的控制方法、装置、设备及介质
CN115102432A (zh) * 2022-07-15 2022-09-23 武汉理工大学 一种多永磁同步电机列车牵引系统的协同控制器及方法
CN117973090B (zh) * 2024-03-29 2024-06-07 锦浪科技股份有限公司 一种异构多变换器系统的同步稳定裕度计算方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110298626A1 (en) * 2010-06-03 2011-12-08 William Fechalos Battery system and management method
US20150032394A1 (en) * 2013-07-24 2015-01-29 Rohm Co., Ltd. Power management system

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08123507A (ja) 1994-10-27 1996-05-17 Fujitsu Ltd ロバスト制御装置
US6088689A (en) 1995-11-29 2000-07-11 Hynomics Corporation Multiple-agent hybrid control architecture for intelligent real-time control of distributed nonlinear processes
US5727128A (en) 1996-05-08 1998-03-10 Fisher-Rosemount Systems, Inc. System and method for automatically determining a set of variables for use in creating a process model
US5755378A (en) 1997-01-21 1998-05-26 Ford Global Technologies, Inc. Method and system for controlling an automotive HVAC system to prevent formation of cabin thermal stratification
US5963447A (en) 1997-08-22 1999-10-05 Hynomics Corporation Multiple-agent hybrid control architecture for intelligent real-time control of distributed nonlinear processes
US6317837B1 (en) 1998-09-01 2001-11-13 Applianceware, Llc Internal network node with dedicated firewall
US6694044B1 (en) 1999-09-16 2004-02-17 Hewlett-Packard Development Company, L.P. Method for motion classification using switching linear dynamic system models
AU2001275020A1 (en) 2000-09-21 2002-04-02 Theradoc.Com, Inc. Systems and methods for manipulating medical data via a decision support system
US7574383B1 (en) 2001-04-11 2009-08-11 I2 Technologies Us, Inc. System and method for providing distributed inventory management
US20030069868A1 (en) 2001-06-29 2003-04-10 Vos Jules Jakob Distributed decision processing system
JP3906843B2 (ja) 2002-01-16 2007-04-18 トヨタ自動車株式会社 電圧変換装置の制御装置および電圧変換方法並びに記憶媒体,プログラム,駆動システムおよび駆動システムを搭載する車輌
WO2003067448A1 (en) 2002-02-02 2003-08-14 E-Wings, Inc. Distributed system for interactive collaboration
US7072808B2 (en) 2002-02-04 2006-07-04 Tuszynski Steve W Manufacturing design and process analysis system
US20030234812A1 (en) 2002-06-24 2003-12-25 Drucker Steven M. Visual decision maker
US7072723B2 (en) 2002-10-23 2006-07-04 Clearsight Systems Inc. Method and system for optimization of general problems
US7739183B2 (en) 2004-06-03 2010-06-15 Voudrie Jeffrey D Real-time client portfolio management system
US20060218074A1 (en) 2004-11-23 2006-09-28 Wolf Kohn Automated trading platform
US8261283B2 (en) 2005-02-16 2012-09-04 Yissum Research Development Company Of Hebrew University Of Jerusalem System and method for backfilling with system-generated predictions rather than user runtime estimates
US7565333B2 (en) 2005-04-08 2009-07-21 Caterpillar Inc. Control system and method
JP4653219B2 (ja) * 2005-06-10 2011-03-16 アギア システムズ インコーポレーテッド 再充電可能なバッテリの多閾値充電
WO2008086114A2 (en) 2007-01-03 2008-07-17 Gridpoint, Inc. Utility console for controlling energy resources
JP5517398B2 (ja) 2007-03-15 2014-06-11 三菱重工業株式会社 蓄電システム
US9721312B2 (en) 2007-03-21 2017-08-01 Steven Y. Goldsmith Customized electric power storage device for inclusion in a microgrid
CA2701997A1 (en) 2007-11-07 2009-11-12 Edsa Micro Corporation Systems and methods for real-time forecasting and predicting of electrical peaks and managing the energy, health, reliability, and performance of electrical power systems based onan artificial adaptive neural network
JP5343512B2 (ja) 2008-10-30 2013-11-13 トヨタ自動車株式会社 電池パック入出力制御装置
WO2010068931A1 (en) 2008-12-12 2010-06-17 Atigeo Llc Providing recommendations using information determined for domains of interest
US8949772B1 (en) 2009-06-01 2015-02-03 Amazon Technologies, Inc. Dynamic model based software application development
JP4807443B2 (ja) 2009-07-08 2011-11-02 トヨタ自動車株式会社 二次電池の温度推定装置
US9093840B2 (en) 2010-07-02 2015-07-28 Alstom Technology Ltd. System tools for integrating individual load forecasts into a composite load forecast to present a comprehensive synchronized and harmonized load forecast
US8751432B2 (en) 2010-09-02 2014-06-10 Anker Berg-Sonne Automated facilities management system
US20120072181A1 (en) 2010-09-22 2012-03-22 Behzad Imani Method and apparatus for optimizing hvac systems in buildings
KR101293635B1 (ko) * 2010-12-29 2013-08-05 주식회사 엘지화학 이차전지 셀의 퇴화 정도를 반영한 배터리 팩의 관리 장치와 방법 및 이를 구비한 배터리 팩
US8606788B2 (en) 2011-06-15 2013-12-10 Microsoft Corporation Dictionary for hierarchical attributes from catalog items
TW201331066A (zh) 2011-10-10 2013-08-01 普羅泰拉公司 在固定路線應用程式下用於電池壽命最大化的系統及方法
US9496748B2 (en) 2011-10-25 2016-11-15 General Electric Company Integrated power system control method and related apparatus with energy storage element
US8816627B2 (en) 2011-11-10 2014-08-26 Mitsubishi Electric Research Laboratories, Inc. Energy efficient motion control system
JP5739788B2 (ja) 2011-11-15 2015-06-24 株式会社東芝 充放電計画立案システムおよび充放電計画立案方法
US20130253942A1 (en) 2012-03-22 2013-09-26 Hong Kong Baptist University Methods and Apparatus for Smart Healthcare Decision Analytics and Support
US20130274936A1 (en) 2012-04-15 2013-10-17 Swan, Llc Broadcast energy demand systems and methods
JP2014036521A (ja) 2012-08-09 2014-02-24 Panasonic Corp アダプタ及び電動工具
WO2014030349A1 (ja) 2012-08-23 2014-02-27 日本電気株式会社 エネルギー管理システム、エネルギー管理方法、そのエネルギー管理方法を利用したサーバ装置および端末装置
JP5575203B2 (ja) 2012-10-24 2014-08-20 三菱電機株式会社 車両の発電装置および発電制御方法
JP2014113006A (ja) * 2012-12-05 2014-06-19 Panasonic Corp 充放電管理装置、パワーコンディショナ、蓄電装置、プログラム
CN103036230B (zh) 2012-12-10 2016-03-23 上海市电力公司 一种基于工程应用的交直流混联大电网的动态等值方法
US20140250377A1 (en) 2013-03-04 2014-09-04 Atigeo Llc Method and system for searching and analyzing large numbers of electronic documents
US9400491B2 (en) 2013-03-15 2016-07-26 Rockwell Automation Technologies, Inc. Stabilized deteministic optimization based control system and method
JP6185321B2 (ja) * 2013-07-24 2017-08-23 ローム株式会社 二次電池パックの管理方法および電源管理システム、電子機器
US20150058078A1 (en) 2013-08-26 2015-02-26 Microsoft Corporation Rule to constraint translator for business application systems
RU2578759C2 (ru) 2013-09-06 2016-03-27 Общество С Ограниченной Ответственностью "Кибернетические Технологии" Устройство управления в киберфизических системах, преимущественно для управления мобильными роботами и/или беспилотными летательными аппаратами
US9957843B2 (en) 2013-12-31 2018-05-01 General Electric Company Methods and systems for enhancing control of power plant generating units
US9581981B2 (en) 2014-03-06 2017-02-28 Mitsubishi Electric Corporation Method and apparatus for preconditioned continuation model predictive control
US10186123B2 (en) 2014-04-01 2019-01-22 Avigilon Fortress Corporation Complex event recognition in a sensor network
US10133250B2 (en) 2014-06-20 2018-11-20 Veritone Alpha, Inc. Managing construction of decision modules to control target systems
US20160125435A1 (en) 2014-10-31 2016-05-05 Microsoft Technology Licensing , LLC Interrogation of mean field system
JP6330639B2 (ja) * 2014-12-01 2018-05-30 トヨタ自動車株式会社 蓄電システムおよびその制御方法
US20170271984A1 (en) 2016-03-04 2017-09-21 Atigeo Corp. Using battery dc characteristics to control power output
CN109478045B (zh) 2016-04-28 2022-09-27 维利通阿尔法公司 使用预测来控制目标系统
US20170315517A1 (en) 2016-04-28 2017-11-02 Rockwell Automation Technologies, Inc. Systems and methods to reduce energy usage of industrial machines using an enhanced motion profile

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110298626A1 (en) * 2010-06-03 2011-12-08 William Fechalos Battery system and management method
US20150032394A1 (en) * 2013-07-24 2015-01-29 Rohm Co., Ltd. Power management system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190040303A (ko) * 2016-09-22 2019-04-17 로베르트 보쉬 게엠베하 원격 파라미터 추정을 구비한 2차 전지 관리 시스템
KR20210119764A (ko) * 2020-03-25 2021-10-06 한국핵융합에너지연구원 플라즈마 시뮬레이션을 위한 데이터의 입력 장치 및 방법

Also Published As

Publication number Publication date
EP3424139B1 (en) 2023-07-26
JP2019513000A (ja) 2019-05-16
US10601316B2 (en) 2020-03-24
EP3424139A4 (en) 2019-11-13
CN109478848A (zh) 2019-03-15
JP6584040B2 (ja) 2019-10-02
EP3424139A1 (en) 2019-01-09
CN109478848B (zh) 2020-11-17
US20170271984A1 (en) 2017-09-21
KR102019140B1 (ko) 2019-09-09
US20190044440A1 (en) 2019-02-07
WO2017152180A1 (en) 2017-09-08

Similar Documents

Publication Publication Date Title
KR102019140B1 (ko) 전력 출력을 제어하기 위한 배터리 dc 특성들의 사용
US10520905B2 (en) Using forecasting to control target systems
JP6626224B2 (ja) センサデータを使用して、ターゲットシステムの機能性をモデル化することによってターゲットシステムにおける制御を支援すること
US20210167619A1 (en) Using Battery State Excitation To Control Battery Operations
Alavi et al. Forecast-based consensus control for DC microgrids using distributed long short-term memory deep learning models
KR102232513B1 (ko) 인공지능 기반 예측적 ess 충방전 운용 장치 및 방법
US10969757B1 (en) Controlling ongoing battery system usage while repeatedly reducing power dissipation
US10816949B1 (en) Managing coordinated improvement of control operations for multiple electrical devices to reduce power dissipation
Ullah et al. A computationally efficient consensus-based multiagent distributed EMS for DC microgrids
US10686327B2 (en) Energy storage controller
Zhang et al. Testbed implementation of reinforcement learning-based demand response energy management system
US11069926B1 (en) Controlling ongoing battery system usage via parametric linear approximation
Loka et al. Coordinated load frequency control of a smart hybrid power system using the DEMA-TD3 algorithm
CN113690885A (zh) 一种供电控制方法及供电平台
WO2021076313A1 (en) Controlling use of a battery cell having an internal supercapacitor and battery
Tran et al. Model predictive energy management for building microgrids with IoT-based controllable loads
Stoyanova et al. Distributed model predictive control strategies for coordination of electro‐thermal devices in a cooperative energy management concept
JP2017042032A (ja) エネルギーシステムのエネルギー生産を管理する方法、および関連する管理装置
Beura et al. Load frequency control of two area microgrid using reinforcement learning controller
Jendoubi et al. Hybrid storage system control for real-time power bal-ancing in a hybrid renewable energy system
Palaniappan et al. Implementation of Machine Learning-based DER Local Control Schemes on Measurement Devices for Counteracting Communication Failures
CN117277423A (zh) 分布式电源云边端协同的实时电压控制方法及相关装置
CN118281850A (zh) 一种配电网的复合协同控制方法
CN115660207A (zh) 一种微电网能量优化管理的方法、系统、设备及介质
Short-Term Forecast Based Consensus Control for DC Microgrids Using Distributed Long Short-Term Memory Deep Learning Models

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant