Repository navigation
Conversation
rhorvath02
approved these changes
Oct 29, 2026
Member
|
@raorjun failing CI |
raorjun
force-pushed
the
feat/bump-boblib-main
branch
from
October 29, 2026 22:20
7a5b9b9 to
d2bcabe
Compare
BobLib #37-#58 replace the flat pVehicle records with owner-named nested records and remove the Templates packages. The generator now writes the new layout, following BobLib MIGRATION.md. - The vehicle record holds chassis (frontAxle, rearAxle, frame), battery, controller, inverter, motor, transmission, brakes, driveline and aero. For the default car its chassis matches the BobLib record field for field. - Templates go to a generated package, Experiments.Standards.BobSimTemplates. They extend BaseClasses.PartialVehicleSim and PartialDoubleWishboneFourPost. The four-post template keeps the rig bar bindings frAxleDW(pAxle(stabilizer = pFrStabar)). - controller.finalDriveRatio and the brake links are bound the way BobLib binds them. A vehicle file cannot set pVCU.finalDriveRatio. - pDriveline maps through the MIGRATION.md driveline table. diff_use_lsd selects ClutchLSD or Open. Fields with no BobLib home stay unbound. The status payload and the CLI list each one with the reason. An unknown field or unequal left and right halfshaft values stop generation. - Brake placement is front Outboard and rear Inboard, the BobLib VehicleSim default. vehicle.yml has no placement input, and the status says so. - brake.front_bias binds pVehicle.brakes.frontBrakeBias in the VehicleSim template only, so a bias change still leaves FourPostSim current. - The solved pose is now VehicleSim.pInitialization. preserve keeps it only when the active entry was solved for this record and the record matches. legacy drops it. A pose for another record blocks generation. - The makefile, the SHARK overlay restore and the app source links follow the new paths.
BobLib #46 moved the maneuver parameters from vcu to the StandardDriver instance driver. The override aliases now name driver.*. targetVel still maps to initialVel. vcu.frRampSteerDuration has no replacement. On the old pin it only set the default of stepDuration. The step-steer cases now send stepDuration, which maps to driver.stepDuration, and the alias for frRampSteerDuration is gone. A case that still sends frRampSteerDuration fails the override check as an unknown name.
FourPost wrote pVehicle.pFrAxleDW.springFreeLength and springTable. The
override check now rejects them as unknown names. They are now
pVehicle.chassis.{front,rear}Axle.actuation.*. The bar rates still go only to
the rig bars pFrStabar and pRrStabar. The override probe uses the same names.
The schedule test reads the tables from BaseClasses.PartialFourPostRig and
KnCInputs, where BobLib now defines them.
On the default car the static balance now passes. The largest force residual
is 1.6e-12 N, against 4.39 N at 118 s on BobLib 1bd6d78. The docs record both.
The DOE blocks named the old flat records, such as pFrAxleDW and pAero. They now name the nested record paths from BobLib MIGRATION.md, such as chassis.frontAxle.actuation and aero. pTorsionalStiff becomes chassis.frame with param torsionalStiffness. The record reader follows a dotted block through the nested modifications. A param can also be a nested modification, such as unsprungMass(m = ...). The override names become pVehicle.<block>.<param>, which match the compiled init XML. _doe_config.yaml is regenerated.
The steady-state study forced steadyStateAyGain 0.05 and steadyStateAyTi 1.0. BobLib #46 retuned the defaults to 0.04 and 1.6. With the old gains the sampled steering holds a limit cycle and fails the ay-rate settle check. The old pin had the same defaults as the removed values, so its behavior does not change.
raorjun
force-pushed
the
feat/bump-boblib-main
branch
from
October 29, 2026 22:21
d2bcabe to
9c9a0c8
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
BobSim pins BobLib 1bd6d78. BobLib #37–#58 fix the FourPost force-closure drift (#48) and add mounted driveline and inboard caliper reactions (#40, #41, #45, #48). This PR moves the pin to BobLib main 7363fc1. It migrates BobSim to the new class paths and nested records, as BobLib
MIGRATION.mddescribes.Changes
Experiments.Standards.BobSimTemplates.pDrivelinethrough theMIGRATION.mdtable.diff_use_lsdselectsClutchLSDorOpen.vehicle.ymlinput that has no BobLib field.Outboardand rearInboard, the BobLib VehicleSim default. The status says that it is a default.brake.front_biasbinds in the VehicleSim template only.VehicleSim.pInitialization.preserveandlegacykeep their meaning.vcu.*becomesdriver.*.frRampSteerDurationis removed. Step steer sendsdriver.stepDuration.pVehicle.chassis.<axle>Axle.actuation.*. The bar rates still go only to the rig bars.How to check
make lint typecheck test: 1158 passed.test_bobsim_sources_do_not_reference_legacy_boblib_generation_layoutneeds git, so it fails in a worktree container. It passes on the host.make standard-eval-four-poston the default car:match.make standard-eval-transient: 8 of 8 cases run. Every override readback ismatch.make sync-vehiclelists the unbound driveline inputs and the brake-placement default.Notes
Baselines need a decision
The baseline is not refreshed.
test_baseline_provenance_matches_simulation_inputsfails until someone reviews a refresh. On the new pin:quality.ay_fit_erroris 0.051, above its 0.05 gate.A value-only refresh is ready for four_post, ramp_steer and transient. It changes no tolerances and leaves the steady state untouched. It is not in this PR.
Unbound inputs
diff_T_capacity_max,diff_clutchEffectiveRadius,diff_w_transition,diff_c_viscousand the halfshaftJEquivalentfields have no BobLib field. The ClutchLSD differential is not recalibrated.Overlap
#151 pins BobLib 2e16f1d (BobLib #31, still open). It edits
engines/boblib,app/modelica_generator.py,app/static/app.js,transient_eval_sim.pyandtests/test_modelica_generator.py, so it conflicts with this PR. BobLib #31 needs the new record paths.Stack
8 of 8, on #158.