Skip to content

BobSim CLI Workflow ​

Use the make targets to run BobSim studies without the app, for batch work, scripts, and CI. Run them from the BobSim repository root. Most targets run inside the BobSim Docker image and share the builds in _3_StandardSim/BuildBobLib/ with the app.

To list every target with a description, run make help.

Run The Standard Studies ​

StandardSim is the high-fidelity simulation lane under _3_StandardSim/. Use it when a question depends on the full Modelica vehicle response.

StudyUse it forTarget
RampSteerEvalOpen-loop ramp-steer handling responsemake standard-eval-ramp-steer
SteadyStateEvalSettled lateral-acceleration operating pointsmake standard-eval-steady-state
TransientEvalStep steer and continuous sine responsemake standard-eval-transient
FourPostEvalHeave and roll suspension and chassis metricsmake standard-eval-four-post

To run all four:

bash
make standard-eval-all

Each target builds what it needs first. The three maneuver studies depend on make standard-build. FourPostEval depends on make standard-build-four-post. The build targets depend on the records in BobLib/Records/VehicleDefn/, so after Write to MBD changes them, make rebuilds before it runs.

Reports go to _3_StandardSim/generated_results/, for example ramp_steer_eval_report.pdf.

The CLI reads the app's config copies

When you edit a study config in the app, BobSim writes the change to _5_App/user_data/config/active/. After that, the make standard-eval-* targets read that copy, not the checked-in file under _3_StandardSim/. Set BOBSIM_SEED_CONFIGS=1 to force the checked-in file.

See StandardSim for what each study does.

Run EnvelopeSim ​

EnvelopeSim is a reduced-order lane for GGV and YMD envelope maps. It is a separate implementation of these calculations.

bash
make envelope-ggv
make envelope-ymd
make envelope-all

envelope-all runs both. Use these outputs for quick plausibility checks, reviews of tire, aero, and mass assumptions, and limit trends. Use StandardSim when the question depends on multibody transient behavior.

See EnvelopeSim for details.

Run OptSim ​

OptSim is the sensitivity and response-surface lane under _4_OptSim/.

TargetRuns
make opt-standardStandardSim pre-screen sensitivities
make opt-envelopeEnvelopeSim sensitivities
make opt-refinedRefined StandardSim response surfaces

See OptSim / DOE for details.

Check Vehicle Records ​

Check that the BobLib records match the active vehicle.yml without the app:

bash
make sync-vehicle
make sync-vehicle-write

make sync-vehicle reports stale records and exits with an error if it finds any. make sync-vehicle-write regenerates them.

These two targets run on the host, not in Docker. They need a Python environment with the BobSim dependencies. See Run BobSim Without Docker.

Other Targets ​

TargetWhat it does
make shellOpens a shell inside the container
make ciRuns lint, typecheck, and tests
make clean-appResets app state in _5_App/user_data/
make clean-ownedDeletes root-owned generated results and app data through the container

Add RUN= to a Docker target to run it on the host instead of in Docker. See Run BobSim Without Docker.

Debug A Failed CLI Run ​

  1. Check that the build target completed.
  2. Check that execution.cleanup is false in the workflow config. The runner default and all four shipped configs use false.
  3. Run the workflow again.
  4. Inspect the retained run directory under the build tree.
  5. Read overrides.txt, run.log, and the result CSV.

See A run failed and you want the raw directory for the paths.

Released as open-source vehicle simulation tooling.