Skip to content

BobDynA high-fidelity, open-source vehicle simulation framework

BobDyn

Vehicle Model Structure ​

BobDyn models the vehicle as a hierarchy of physical systems. The structure is explicit, so you can trace geometry, loads, constraints, and response signals from full-vehicle behavior down to subsystem assumptions.

Start with BobDyn/BobSim to set up a vehicle, run studies, and get metrics, plots, and reports. Go to BobDyn/BobLib to inspect, change, or debug the vehicle models directly.

Text version
  • Vehicle Model
    • Unactuated Vehicle: mass, inertia, reference frames
      • Chassis Assembly
        • Driver & Frame: sprung mass, compliance
        • Suspension System
          • Front Axle and Rear Axle
            • Axle Structure: mounts, hardpoints, wheel centers
              • Steering System
              • Wheel & Tire Model: mass, inertia, compliance
                • Contact & Wheel Dynamics
                • Tire Force & Slip Behavior
            • Linkages & Shocks: rods, bellcranks, springs, dampers, masses
            • Stabars
      • Aerodynamic Loads
    • Powertrain Interface

How BobDyn Works ​

The driver feels a vehicle's response, not its equations. So BobDyn describes vehicles with response metrics, keeps the model inspectable, and makes every study traceable from configuration to report.

BobDyn/BobLib provides the physical vehicle model in Modelica. BobDyn/BobSim runs repeatable studies on that model and turns the results into plots, metrics, and reports. You can inspect, compare, and reuse those results across design iterations.

Every part of the pipeline is plain text under version control:

PartWhere it lives
Physical modelsModelica. Geometry, constraints, and force generation are written from first principles.
ConfigurationVehicle records, test setups, and simulation parameters in YAML and Modelica .mo files
ExecutionPython workflows for simulation, extraction, analysis, and reporting. You can extend, change, or replace them.
ResultsOutputs link back to the model structure, configuration, and equations that produced them.

What You Can Do With BobDyn ​

CapabilityDescription
Standard testsRun repeatable studies such as steady-state cornering, transient steering response, and kinematics/compliance workflows.
Automated reportingTurn simulation output into metrics, plots, CSV files, and engineering reports with no manual post-processing.
Model correlationUse full-system simulation results as reference data for reduced-order models, design tools, and simplifying assumptions.
Design explorationSweep parameters, compare configurations, and see how physical changes affect vehicle-level behavior.

Sample Outputs ​

The two animations show input samples: a closed-loop PI control input and an open-loop prescribed-frequency input.

Closed-Loop PI Input Sample

A proof-of-concept closed-loop PI radius-control input. It is not presented as a tuned controller.

Open-Loop Frequency Input Sample

An open-loop prescribed steering-frequency input showing the vehicle response under a commanded steering sweep.

The PDF reports come from BobDyn/BobSim StandardSim workflows. They are separate studies, not the input samples above. Open a PDF link for a wider view.

SteadyStateEval Report

Ramp-steer velocity-isoline workflow with controller behavior, response traces, fitted handling metrics, and CSV-ready summary values.

Loading…

TransientEval Report

Step-steer and sine-response workflow with gain, phase, lag, rise-time, and overshoot metrics from the same Modelica vehicle model.

Loading…

Quick Start ​

Run BobSim from a source checkout in Docker. You need Git, Make, and Docker. The BobSim image contains OpenModelica and Python.

bash
git clone --recurse-submodules https://github.com/BobDyn/BobSim.git
cd BobSim
make init
make docker-build
make app

Then open http://127.0.0.1:8765 and follow:

text
Setup -> Save Vehicle -> Write to MBD -> Simulation -> Archive

BobSim app showing the guided Setup view with vehicle architecture controls and preview

To run all four standard studies without the app, run make standard-eval-all. It builds the Modelica executables when they are missing, then runs RampSteerEval, SteadyStateEval, TransientEval, and FourPostEval. The PDF reports and metrics CSVs go to _3_StandardSim/generated_results/.

The BobSim Startup tutorial covers each step. To use the released desktop app from the GitHub Release instead, see Run BobSim Without Docker. The desktop app needs a local OpenModelica to simulate.

Released as open-source vehicle simulation tooling.