BobLib is a physically grounded, open-source Modelica library for vehicle dynamics simulation. It provides modular multibody vehicle models, tire models (MF5.2), and standardized test procedures for analyzing vehicle behavior.
This library is designed to support high-fidelity simulation workflows and serve as the core modeling layer for the broader BobDyn ecosystem.
BobLib focuses on:
- First-principles multibody vehicle modeling
- Modular subsystem design (chassis, suspension, tire, powertrain)
- Standardized test procedures (ISO, K&C)
- Clean parameterization via records
- Compatibility with OpenModelica workflows
⚠️ Current Status: The chassis subsystem is the most mature component. Vehicle tests (ISO4138, K&C) are functional. Other areas are under active development.
Clone this repository into your OpenModelica libraries directory:
git clone https://github.com/BobDyn/BobLib.git ~/.openmodelica/libraries/BobLibAlternatively, add the repo path manually in OMEdit:
- Tools → Options → Libraries → Add Path
In OMEdit:
- Open OMEdit
- Load
BobLib - Browse the package tree
Good entry points:
Standards.ISO4138Standards.FrKnCStandards.RrKnC
Or explore:
Tests.TestVehicle.*
BobLib/
├── Vehicle/ # Physical system models (core library)
├── Resources/ # Parameter records and definitions
├── Standards/ # ISO and K&C test procedures
├── Utilities/ # Math and multibody utilities
├── Tests/ # Validation and development tests
Core physical models:
-
Chassis- Double wishbone suspension
- Linkages (bellcrank, rod, damper, spring)
- Tire models (MF5.2 with combined slip)
-
Powertrain -
Electronics -
Aero(placeholder)
This is where full vehicle assemblies are built.
Parameter definitions and records:
- Vehicle definitions (
VehicleDefn) - Subsystem records (suspension, tire, etc.)
- MF5.2 parameter sets
These enable clean separation between:
- structure (Vehicle/)
- data (Resources/)
Implements standardized vehicle tests:
ISO4138(steady-state cornering)KnC(Kinematics & Compliance)
Includes:
.momodels (test definitions).mosscripts (build/run automation)
Validation and development testing:
- Unit-style tests for subsystems
- Full vehicle test configurations
- Tire validation (MF5.2)
Examples:
Tests.TestVehicle.TestSuspension.*
Tests.TestVehicle.TestPowertrain.*
Reusable components:
- Math (vector, tensor ops)
- Multibody utilities (constraints, actuators)
- FMI utilities (WIP)
BobLib follows a strict design philosophy:
-
Physics-first No black-box models unless explicitly encapsulated (e.g., MF5.2)
-
Modularity Subsystems are composable and replaceable
-
Separation of concerns
- Structure →
Vehicle/ - Parameters →
Resources/ - Tests →
Standards/,Tests/
- Structure →
-
DAE-consistent modeling Designed for robust simulation with DAE solvers (IDA/DASSL)
- Chassis is the only fully mature subsystem
- Aero is not yet implemented
- Powertrain and electronics are early-stage
- Some tests are exploratory rather than production-ready
- Expand suspension architectures (bellcrank variants, push/pullrod configs)
- Improve solver robustness and initialization
- Add transient tire dynamics (relaxation length)
- Integrate with BobSim for DOE workflows
- Improve FMU parameter exposure
Contributions are welcome. Focus areas:
- Model robustness
- Additional templates
- Test coverage
- Documentation
This project is licensed under the GNU General Public License v3.0 (GPLv3).
You are free to use, modify, and distribute this software, including for commercial purposes, provided that any distributed modifications or derivative works are also licensed under GPLv3 and include the corresponding source code.
See the LICENSE file for full details.
- BobSim – simulation orchestration and DOE workflows
- BobDocs – documentation site (https://bobdyn.com)
Developed as part of the BobDyn project.