Nutzung — Übersicht¶
Praktische Anleitungen, wie das Repo im realen Betrieb genutzt wird.
Inhalt¶
- UKF im Einsatz — Wie man den UKF für eine
konkrete Anlage konfiguriert:adm1da_full_spec()-Factory,ObservationModel-Kanäle,MeasurementCalendarfür sparse Lab-Messungen, Online-Schleife. - Twin-Experimente — End-to-End-Validierung gegen
eine bekannte Wahrheit. Das vorgefertigterun_twin_experiment.pyund Interpretation der Diagnose-Plots. - Kalibrierungs-Artefakt — Wie das YAML-Format
zwischen Kalibrierung und Schätzung aussieht und wie der Filter es beim Hochfahren aufträgt.
Gesamtbild¶
Im Live-Betrieb sieht der Datenfluss so aus:
Historische Messdaten ──► PyADM1ODE_calibration ──► kalibriertes Modell
│
Live-Sensoren ────────────────────────────────────► PyADM1ODE_estimate
│
▼
Zustandsschätzung x_hat
│
▼
Regler / UI
Schritte für ein neues Setup:
- Plant über PyADM1ODE bauen — entweder die Beispiel-Builder
build_simple_plant()/build_multi_stage_plant()ausexample_plants/oder einen eigenen über die PyADM1ODE-PlantConfigurator-API. - Kalibriertes Artefakt via
load_artifact(...)einlesen und mit
apply_to_plant(...)auf die Plant auftragen. - State-Vektor-Spec über die
adm1da_full_spec()-Factory bauen,
liefert alle 41 ADM1-States mit Observability-basierten Defaults. Substrat-Eingänge alsInputSpec-Liste anhängen. Bei besonderer Sensorik perSensorQualityProfileeinzelne Blöcke aufwerten. - Observation-Model mit den verfügbaren Sensorkanälen verdrahten.
Eingebaute Extractor-Funktionen decken Q_gas, Q_ch4, P_el, P_th_used, stored_volume und State-Auslesungen ab. - MeasurementCalendar für die Sample-Rate-Verwaltung anhängen,
wenn Messungen mit unterschiedlichen Raten kommen. - SR-UKF instanziieren (= aktueller
UnscentedKalmanFilter),
ukf.reset(x0, P0)mit realistischer Initial-Kovarianz, in der Online-Schleife abwechselndpredict()undupdate()aufrufen. - Vor Produktiv-Einsatz: Twin-Experiment laufen lassen, NIS-Mean
und Coverage prüfen (siehe Twin-Experimente).