Main Content

Simulation 3D Vehicle

Implement vehicle in 3D environment

  • Library:
  • Vehicle Dynamics Blockset / Vehicle Scenarios / Sim3D / Sim3D Vehicle / Components

  • Simulation 3D Vehicle block

Description

The Simulation 3D Vehicle block implements a vehicle with four wheels in the 3D simulation environment.

To use this block, ensure that the Simulation 3D Scene Configuration block is in your model. If you set the Sample time parameter of this block to -1, the block uses the sample time specified in the Simulation 3D Scene Configuration block.

The block input uses the vehicle Z-down right-handed (RH) Cartesian coordinate system defined in SAE J6701. The coordinate system is inertial and initially aligned with the vehicle geometric center:

  • X-axis — Along vehicle longitudinal axis, points forward

  • Y-axis — Along vehicle lateral axis, points to the right

  • Z-axis — Points downward

Tip

Verify that the Simulation 3D Vehicle block executes before the Simulation 3D Scene Configuration block. That way, Simulation 3D Vehicle prepares the signal data before the Unreal Engine® 3D visualization environment receives it. To check the block execution order, right-click the blocks and select Properties. On the General tab, confirm these Priority settings:

  • Simulation 3D Scene Configuration0

  • Simulation 3D Vehicle-1

For more information about execution order, see Control and Display Execution Order.

You can configure the Simulation 3D Vehicle with Ground Following block to import custom meshes and control vehicle lights.

Ports

Input

expand all

Vehicle and wheel translation, in m. Array dimensions are 5-by-3.

  • Translation(1,1), Translation(1,2), and Translation(1,3) — Vehicle translation along the inertial vehicle Z-down X-, Y-, and Z- axes, respectively.

  • Translation(...,1), Translation(...,2), and Translation(...,3) — Wheel translation relative to vehicle, along the vehicle Z-down X-, Y-, and Z- axes, respectively.

The signal contains translation information according to the axle and wheel locations.

Translation=[XvYvZvXFLYFLZFLXFRYFRZFRXRLYRLZRLXRRYRRZRR]

TranslationArray ElementTranslation Axis

Vehicle, Xv

Translation(1,1)Inertial vehicle Z-down X-axis

Vehicle, Yv

Translation(1,2)Inertial vehicle Z-down Y-axis

Vehicle, Zv

Translation(1,3)Inertial vehicle Z-down Z-axis

Front left wheel, XFL

Translation(2,1)Vehicle Z-down X-axis

Front left wheel, YFL

Translation(2,2)Vehicle Z-down Y-axis

Front left wheel, ZFL

Translation(2,3)Vehicle Z-down Z-axis

Front right wheel, XFR

Translation(3,1)Vehicle Z-down X-axis

Front right wheel, YFR

Translation(3,2)Vehicle Z-down Y-axis

Front right wheel, ZFR

Translation(3,3)Vehicle Z-down Z-axis

Rear left wheel, XRL

Translation(4,1)Vehicle Z-down X-axis

Rear left wheel, YRL

Translation(4,2)Vehicle Z-down Y-axis

Rear left wheel, ZRL

Translation(4,3)Vehicle Z-down Z-axis

Rear right wheel, XRR

Translation(5,1)Vehicle Z-down X-axis

Rear right wheel, YRR

Translation(5,2)Vehicle Z-down Y-axis

Rear right wheel, ZRR

Translation(5,3)Vehicle Z-down Z-axis

Vehicle and wheel rotation, in rad. Array dimensions are 5-by-3.

  • Rotation(1,1), Rotation(1,2), and Rotation(1,3) — Vehicle rotation about the inertial vehicle Z-down X-, Y-, and Z- axes, respectively.

  • Rotation(...,1), Rotation(...,2), and Rotation(...,3) — Wheel rotation relative to vehicle, about the vehicle Z-down X-, Y-, and Z- axes, respectively.

The signal contains rotation information according to the axle and wheel locations.

Rotation=[RollvPitchvYawvRollFLPitchFLYawFLRollFRPitchFRYawFRRollRLPitchRLYawRLRollRRPitchRRYawRR]

RotationArray ElementRotation Axis

Vehicle, Rollv

Rotation(1,1)Inertial vehicle Z-down X-axis

Vehicle, Pitchv

Rotation(1,2)Inertial vehicle Z-down Y-axis

Vehicle, Yawv

Rotation(1,3)Inertial vehicle Z-down Z-axis

Front left wheel, RollFL

Rotation(2,1)Vehicle Z-down X-axis

Front left wheel, PitchFL

Rotation(2,2)Vehicle Z-down Y-axis

Front left wheel, YawFL

Rotation(2,3)Vehicle Z-down Z-axis

Front right wheel, RollFR

Rotation(3,1)Vehicle Z-down X-axis

Front right wheel, PitchFR

Rotation(3,2)Vehicle Z-down Y-axis

Front right wheel, YawFR

Rotation(3,3)Vehicle Z-down Z-axis

Rear left wheel, RollRL

Rotation(4,1)Vehicle Z-down X-axis

Rear left wheel, PitchRL

Rotation(4,2)Vehicle Z-down Y-axis

Rear left wheel, YawRL

Rotation(4,3)Vehicle Z-down Z-axis

Rear right wheel, RollRR

Rotation(5,1)Vehicle Z-down X-axis

Rear right wheel, PitchRR

Rotation(5,2)Vehicle Z-down Y-axis

Rear right wheel, YawRR

Rotation(5,3)Vehicle Z-down Z-axis

Vehicle and wheel scale, dimensionless. Array dimensions are 5-by-3.

  • Scale(1,1), Scale(1,2), and Scale(1,3) — Vehicle scale along the inertial vehicle Z-down X-, Y-, and Z- axes, respectively.

  • Scale(...,1), Scale(...,2), and Scale(...,3) — Wheel scale relative to vehicle, along vehicle Z-down X-, Y-, and Z- axes, respectively.

The signal contains scale information according to the axle and wheel locations.

Scale=[XVscaleYVscaleZVscaleXFLscaleYFLscaleZFLscaleXFRscaleYFRscaleZFRscaleXRLscaleYRLscaleZRLscaleXRRscaleYRRscaleZRRscale]

ScaleArray ElementScale Axis

Vehicle, Xvscale

Scale(1,1)Vehicle Z-down X-axis

Vehicle, Yvscale

Scale(1,2)Vehicle Z-down Y-axis

Vehicle, Zvscale

Scale(1,3)Vehicle Z-down Z-axis

Front left wheel, XFLscale

Scale(2,1)Vehicle Z-down X-axis

Front left wheel, YFLscale

Scale(2,2)Vehicle Z-down Y-axis

Front left wheel, ZFLscale

Scale(2,3)Vehicle Z-down Z-axis

Front right wheel, XFRscale

Scale(3,1)Vehicle Z-down X-axis

Front right wheel, YFRscale

Scale(3,2)Vehicle Z-down Y-axis

Front right wheel, ZFRscale

Scale(3,3)Vehicle Z-down Z-axis

Rear left wheel, XRLscale

Scale(4,1)Vehicle Z-down X-axis

Rear left wheel, YRLscale

Scale(4,2)Vehicle Z-down Y-axis

Rear left wheel, ZRLscale

Scale(4,3)Vehicle Z-down Z-axis

Rear right wheel, XRRscale

Scale(5,1)Vehicle Z-down X-axis

Rear right wheel, YRRscale

Scale(5,2)Vehicle Z-down Y-axis

Rear right wheel, ZRRscale

Scale(5,3)Vehicle Z-down Z-axis

Light controls input signal, specified as a 1-by-6 Boolean vector. Each element of the vector turns a specific vehicle light on or off, as indicated in this table. A value of 1 turns the light on; a value of 0 turns the light off

Vector ElementVehicle Light

(1,1)

Headlight high beam

(1,2)

Headlight low beam

(1,3)

Brake

(1,4)

Reverse

(1,5)

Left signal

(1,6)

Right signal

Dependencies

To create this port, on the Light Controls tab, select Enable light controls.

Data Types: Boolean

Parameters

expand all

Vehicle Parameters

If you set Actor type to Passenger vehicle, use the Vehicle type parameter to specify the vehicle. This table provides links to the vehicle dimensions.

Vehicle type SettingVehicle Dimensions
Muscle car

Muscle Car

Sedan

Sedan

Sport utility vehicle

Sport Utility Vehicle

Small pickup truck

Small Pickup Truck

Hatchback

Hatchback

Box truck

Box Truck

Dependencies

Selecting Custom enables parameters that allow you to import a custom mesh for your vehicle.

Path to custom mesh.

To create a custom vehicle mesh, see Prepare Custom Vehicle Mesh for the Unreal Editor.

Example: /MathWorksSimulation/Vehicles/Muscle/Meshes/SK_Sedan.SK_Sedan

Dependencies

To enable this parameter, set Type to Custom.

Select the color of the vehicle.

Name of vehicle. By default, when you use the block in your model, the block sets the Name parameter to SimulinkVehicleX. The value of X depends on the number of Simulation 3D Vehicle with Ground Following and Simulation 3D Vehicle blocks that you have in your model.

Sample time, Ts. The graphics frame rate is the inverse of the sample time.

Light Controls

Select whether to control the vehicle headlights. Use the enabled parameters to set the light parameters, including headlight intensity.

Dependencies

Selecting this parameter:

  • Creates the input port Light controls

  • Enables these light parameters.

    LightsLight Parameters
    Headlights

    • Headlight color

    • High beam intensity

    • Low beam intensity

    • High beam cone half angle

    • Low beam cone half angle

    • Left headlight beam orientation

    • Right headlight beam orientation

    Brake lights

    Brake light intensity

    Reverse lights

    Reverse light intensity

    Turn signal lights

    • Turn signal light intensity

    • Period

    • Pulse width

Headlights

Headlight color, specified as a normalized 1-by-3 vector of RGB triplet values.

Dependencies

To enable this parameter, select Enable light controls.

Data Types: int8 | uint8

High beam intensity, in cd.

Dependencies

To enable this parameter, select Enable light controls.

Data Types: double

Low beam intensity, in cd.

Dependencies

To enable this parameter, select Enable light controls.

Data Types: double

High beam cone half angle, in rad.

Dependencies

To enable this parameter, select Enable light controls.

Data Types: double

Low beam cone half angle, in rad.

Dependencies

To enable this parameter, select Enable light controls.

Data Types: double

Pitch and yaw orientation of the left headlight beam orientation in the Z-down coordinate system, specified as a 1-by-2 vector, in rad. The first element of the vector, [1,1], is the pitch angle. The second element of the vector, [1,2] is the yaw angle.

Dependencies

To enable this parameter, select Enable light controls.

Data Types: double

Pitch and yaw orientation of the right headlight beam orientation in the Z-down coordinate system, specified as a 1-by-2 vector, in rad. The first element of the vector, [1,1], is the pitch angle. The second element of the vector, [1,2] is the yaw angle.

Dependencies

To enable this parameter, select Enable light controls.

Brake Lights

Brake light intensity, in cd/m^2.

Dependencies

To enable this parameter, select Enable light controls.

Data Types: double

Reverse Lights

Reverse light intensity, in cd/m^2.

Dependencies

To enable this parameter, select Enable light controls.

Data Types: double

Turn Signal Lights

Turn signal light intensity, in cd/m^2.

Dependencies

To enable this parameter, select Enable light controls.

Data Types: double

Turn signal light period, in s.

Dependencies

To enable this parameter, select Enable light controls.

Data Types: double

Turn signal light pulse width, as a percent of the period.

Dependencies

To enable this parameter, select Enable light controls.

Data Types: double

Initial Values

Initial vehicle and wheel translation, in m. Array dimensions are 5-by-3.

  • Translation(1,1), Translation(1,2), and Translation(1,3) — Initial vehicle translation along the inertial vehicle Z-down coordinate system X-, Y-, and Z- axes, respectively.

  • Translation(...,1), Translation(...,2), and Translation(...,3) — Initial wheel translation relative to vehicle, along the vehicle Z-down X-, Y-, and Z- axes, respectively.

The parameter contains translation information according to the axle and wheel locations.

Translation=[XvYvZvXFLYFLZFLXFRYFRZFRXRLYRLZRLXRRYRRZRR]

TranslationArray ElementTranslation Axis

Vehicle, Xv

Translation(1,1)Inertial vehicle Z-down X-axis

Vehicle, Yv

Translation(1,2)Inertial vehicle Z-down Y-axis

Vehicle, Zv

Translation(1,3)Inertial vehicle Z-down Z-axis

Front left wheel, XFL

Translation(2,1)Vehicle Z-down X-axis

Front left wheel, YFL

Translation(2,2)Vehicle Z-down Y-axis

Front left wheel, ZFL

Translation(2,3)Vehicle Z-down Z-axis

Front right wheel, XFR

Translation(3,1)Vehicle Z-down X-axis

Front right wheel, YFR

Translation(3,2)Vehicle Z-down Y-axis

Front right wheel, ZFR

Translation(3,3)Vehicle Z-down Z-axis

Rear left wheel, XRL

Translation(4,1)Vehicle Z-down X-axis

Rear left wheel, YRL

Translation(4,2)Vehicle Z-down Y-axis

Rear left wheel, ZRL

Translation(4,3)Vehicle Z-down Z-axis

Rear right wheel, XRR

Translation(5,1)Vehicle Z-down X-axis

Rear right wheel, YRR

Translation(5,2)Vehicle Z-down Y-axis

Rear right wheel, ZRR

Translation(5,3)Vehicle Z-down Z-axis

Initial vehicle and wheel rotation, about the vehicle Z-down X-, Y-, and Z- axes.

Array dimensions are 5-by-3.

  • Rotation(1,1), Rotation(1,2), and Rotation(1,3) — Initial vehicle rotation about the inertial vehicle Z-down coordinate systemX-, Y-, and Z- axes, respectively.

  • Rotation(...,1), Rotation(...,2), and Rotation(...,3) — Initial wheel rotation relative to vehicle, about the vehicle Z-down X-, Y-, and Z- axes, respectively.

The parameter contains rotation information according to the axle and wheel locations.

Rotation=[RollvPitchvYawvRollFLPitchFLYawFLRollFRPitchFRYawFRRollRLPitchRLYawRLRollRRPitchRRYawRR]

RotationArray ElementRotation Axis

Vehicle, Rollv

Rotation(1,1)Inertial vehicle Z-down X-axis

Vehicle, Pitchv

Rotation(1,2)Inertial vehicle Z-down Y-axis

Vehicle, Yawv

Rotation(1,3)Inertial vehicle Z-down Z-axis

Front left wheel, RollFL

Rotation(2,1)Vehicle Z-down X-axis

Front left wheel, PitchFL

Rotation(2,2)Vehicle Z-down Y-axis

Front left wheel, YawFL

Rotation(2,3)Vehicle Z-down Z-axis

Front right wheel, RollFR

Rotation(3,1)Vehicle Z-down X-axis

Front right wheel, PitchFR

Rotation(3,2)Vehicle Z-down Y-axis

Front right wheel, YawFR

Rotation(3,3)Vehicle Z-down Z-axis

Rear left wheel, RollRL

Rotation(4,1)Vehicle Z-down X-axis

Rear left wheel, PitchRL

Rotation(4,2)Vehicle Z-down Y-axis

Rear left wheel, YawRL

Rotation(4,3)Vehicle Z-down Z-axis

Rear right wheel, RollRR

Rotation(5,1)Vehicle Z-down X-axis

Rear right wheel, PitchRR

Rotation(5,2)Vehicle Z-down Y-axis

Rear right wheel, YawRR

Rotation(5,3)Vehicle Z-down Z-axis

Initial vehicle and wheel scale, dimensionless. Array dimensions are 5-by-3.

  • Scale(1,1), Scale(1,2), and Scale(1,3) — Initial vehicle scale along the inertial vehicle Z-down X-, Y-, and Z- axes, respectively.

  • Scale(...,1), Scale(...,2), and Scale(...,3) — Initial wheel scale relative to vehicle, along vehicle Z-down X-, Y-, and Z- axes, respectively.

The parameter contains scale information according to the axle and wheel locations.

Scale=[XVscaleYVscaleZVscaleXFLscaleYFLscaleZFLscaleXFRscaleYFRscaleZFRscaleXRLscaleYRLscaleZRLscaleXRRscaleYRRscaleZRRscale]

ScaleArray ElementScale Axis

Vehicle, Xvscale

Scale(1,1)Vehicle Z-down X-axis

Vehicle, Yvscale

Scale(1,2)Vehicle Z-down Y-axis

Vehicle, Zvscale

Scale(1,3)Vehicle Z-down Z-axis

Front left wheel, XFLscale

Scale(2,1)Vehicle Z-down X-axis

Front left wheel, YFLscale

Scale(2,2)Vehicle Z-down Y-axis

Front left wheel, ZFLscale

Scale(2,3)Vehicle Z-down Z-axis

Front right wheel, XFRscale

Scale(3,1)Vehicle Z-down X-axis

Front right wheel, YFRscale

Scale(3,2)Vehicle Z-down Y-axis

Front right wheel, ZFRscale

Scale(3,3)Vehicle Z-down Z-axis

Rear left wheel, XRLscale

Scale(4,1)Vehicle Z-down X-axis

Rear left wheel, YRLscale

Scale(4,2)Vehicle Z-down Y-axis

Rear left wheel, ZRLscale

Scale(4,3)Vehicle Z-down Z-axis

Rear right wheel, XRRscale

Scale(5,1)Vehicle Z-down X-axis

Rear right wheel, YRRscale

Scale(5,2)Vehicle Z-down Y-axis

Rear right wheel, ZRRscale

Scale(5,3)Vehicle Z-down Z-axis

More About

expand all

References

[1] Vehicle Dynamics Standards Committee. Vehicle Dynamics Terminology. SAE J670. Warrendale, PA: Society of Automotive Engineers, 2008.

[2] Technical Committee. Road vehicles — Vehicle dynamics and road-holding ability — Vocabulary. ISO 8855:2011. Geneva, Switzerland: International Organization for Standardization, 2011.

Introduced in R2019b