Skip to content

Entry Points ​

The standard entry points are the Modelica models in BobLib.Experiments.Standards. BobSim workflows and direct OpenModelica runs both start from them.

ModelUse it forBobSim studies
VehicleSimFull-vehicle maneuver simulationRampSteerEval, SteadyStateEval, TransientEval
FourPostSimSuspension and chassis response in heave and rollFourPostEval
VehicleFMIFMI export, driver-in-the-loop, and software-in-the-loop workNone

VehicleSim ​

VehicleSim is the main maneuver simulation. It follows the VehicleInterfaces demo-style assembly and inserts BobLib physics through subsystem redeclares. See Static Vehicle Templates for the template stack.

The vehicle-level assembly contains:

SubsystemDefault model
RoadVehicleInterfaces.Roads.FlatRoad
AtmosphereBobLib.Atmospheres.ConstantAtmosphere
Driver environmentBobLib.DriverEnvironments.Internal.Driver
Chassis and suspensionBobLib.Chassis.Chassis_DW with bellcrank double-wishbone axles and stabilizer bars
BrakesBobLib.Chassis.Brakes.BasicVCUBrakes
AeroBobLib.Aero.CFDAeroMap
BatteryBobLib.EnergyStorage.BatteryPack
VCUBobLib.Controllers.StandardVCU
InverterBobLib.PowerElectronics.InverterDC
MotorBobLib.ElectricDrives.Motor
TransmissionBobLib.Transmissions.FixedRatioTransmission
DrivelineBobLib.Drivelines.RearFinalDriveDifferential
WorldModelica.Mechanics.MultiBody.World

Subsystems share signals through one VehicleInterfaces controlBus and the BobLib AtmosphereBus. See Control Bus.

Maneuver modes ​

Set the maneuver with vcu.useMode on StandardVCU:

vcu.useModeManeuver
0Open-loop ramp steer (default)
1Open-loop sinusoidal steer
2Step steer
3Closed-loop steady-state lateral acceleration

In mode 3, the VCU ramps vcu.targetAy and drives measured accY to that target with a handwheel-angle PI controller. The VCU speed controller holds longitudinal speed.

Outputs ​

GroupVariables
MotionvelX, velY, accX, accY, yawVel, roll, sideslip
SteeringhandwheelAngle, handwheelTorque, steerExcess, leftSteerAngle, rightSteerAngle
Tire loadsFz_FL, Fz_FR, Fz_RL, Fz_RR

Tire transients ​

The standard chassis models redeclare the MF52 slip model of all four tires to:

text
BobLib.Chassis.Suspension.Tires.MF52.SlipModel.TransientSlip

The transient slip model reads relaxation parameters from the tire model records pVehicle.pFrTireModel.relaxation and pVehicle.pRrTireModel.relaxation. Their type is:

text
BobLib.Records.VehicleRecord.Chassis.Suspension.Templates.Tire.MF52.RelaxationRecord

If the relaxation coefficients are not populated, the model falls back to default longitudinal and lateral relaxation lengths.

Animation and batch runs ​

The standard models declare:

text
inner parameter Boolean headless = false

With the default, OMEdit shows MultiBody animation geometry. Set headless = true for batch or CI runs that do not need it.

FourPostSim ​

FourPostSim isolates suspension and chassis response for heave and roll sweeps. It extends a four-post architecture template. Its outputs are two FourPostEvalRecord instances, frKnC and rrKnC, which hold K&C-style response data for the front and rear axles.

VehicleFMI ​

VehicleFMI is a full vehicle whose only public inputs are the driver commands: steering-wheel angle, accelerator pedal, and brake pedal. The VCU and EV plant stay inside the model. Use it when an external source owns the driver commands, such as an FMI host, a driver-in-the-loop rig, or early software-in-the-loop work.

Released as open-source vehicle simulation tooling.