Skip to content

[FMU] Export fixed architectures with editable calibration - #57

Merged
rhorvath02 merged 5 commits into
review/boblib-release-gatesfrom
review/boblib-fmu-calibration
Oct 25, 2026
Merged

rhorvath02 merged 5 commits into
review/boblib-release-gatesfrom
review/boblib-fmu-calibration

Conversation

@rhorvath02

@rhorvath02 rhorvath02 commented Oct 22, 2026 •

Copy link
Copy Markdown
Member

Purpose

Build each fixed vehicle architecture once and reuse its FMU with different calibration before initialization.

Approach

Add the architecture catalog, configurable exporter and source/build manifests. Preserve independent calibration and derived dependencies, use fixed-capacity curves/maps with active counts, and reject missing or silently frozen numeric fields. Apply guarded OMC runtime corrections and include compiler reproducers.

Validation

187 export/runtime checks passed. A fresh rear-inboard full-vehicle FMU passed all seven drive/brake/re-launch tests. Co-Simulation is tested; Model Exchange and complete architecture-catalog acceptance remain unverified.

@rhorvath02
rhorvath02 force-pushed the review/boblib-fmu-calibration branch from 01c7376 to 4caadfe Compare October 22, 2026 08:44

@raorjun raorjun left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The runtime FMU tests do not run the vehicle export path or the calibration-inventory guard. CI stays green if the guard or the real vehicle manifest breaks.

Comment thread Tests/test_fmu_events.py
The runtime tests stubbed parameter_manifest and skipped validate_record_inventory. This test exports the default vehicle and checks one calibration change at runtime.
@raorjun

raorjun commented Oct 23, 2026

Copy link
Copy Markdown
Member

Fixed in c367cee. The new Tests/test_fmu_vehicle_calibration.py runs under BOBLIB_TEST_FMU_RUNTIME=1. It calls the real exporter.build for the default architecture, with no stubs. It checks that the inventory is not empty, and that driverMass, baseMass and both springTables are editable while frame mass is derived. With fmpy, +50 kg on driverMass raises the derived frame mass by exactly 50 kg and raises total Fz. It passed locally in 600 s. With validate_record_inventory forced to raise, it fails. The fmu CI job now runs it. Expect about 8-12 more minutes.

@rhorvath02
rhorvath02 merged commit 37cf05a into main Oct 25, 2026
4 checks passed
@rhorvath02
rhorvath02 deleted the review/boblib-fmu-calibration branch October 25, 2026 05:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agent-assisted Developed with AI agent assistance.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants