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.
| Study | Use it for | Target |
|---|---|---|
| RampSteerEval | Open-loop ramp-steer handling response | make standard-eval-ramp-steer |
| SteadyStateEval | Settled lateral-acceleration operating points | make standard-eval-steady-state |
| TransientEval | Step steer and continuous sine response | make standard-eval-transient |
| FourPostEval | Heave and roll suspension and chassis metrics | make standard-eval-four-post |
To run all four:
make standard-eval-allEach 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.
make envelope-ggv
make envelope-ymd
make envelope-allenvelope-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/.
| Target | Runs |
|---|---|
make opt-standard | StandardSim pre-screen sensitivities |
make opt-envelope | EnvelopeSim sensitivities |
make opt-refined | Refined StandardSim response surfaces |
See OptSim / DOE for details.
Check Vehicle Records
Check that the BobLib records match the active vehicle.yml without the app:
make sync-vehicle
make sync-vehicle-writemake 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
| Target | What it does |
|---|---|
make shell | Opens a shell inside the container |
make ci | Runs lint, typecheck, and tests |
make clean-app | Resets app state in _5_App/user_data/ |
make clean-owned | Deletes 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
- Check that the build target completed.
- Check that
execution.cleanupisfalsein the workflow config. The runner default and all four shipped configs usefalse. - Run the workflow again.
- Inspect the retained run directory under the build tree.
- Read
overrides.txt,run.log, and the result CSV.
See A run failed and you want the raw directory for the paths.
Related Pages
- BobSim Use Guide for the app workflow
- BobDyn/BobSim overview for the repository structure and target names
- Configuration for YAML sections and build settings
- Development for the full
maketarget reference
