3D Simulation for Vehicle Dynamics Blockset
Vehicle Dynamics Blockset™ provides a co-simulation framework that models driving algorithms in Simulink® and visualizes their performance in a 3D environment. This 3D simulation environment uses the Unreal Engine® from Epic Games®.
Note
Simulating models in the 3D visualization environment requires Simulink 3D Animation™.
Simulink blocks related to the 3D visualization environment are in the Vehicle Dynamics Blockset > Vehicle Scenarios > Sim3D block library. These blocks provide the ability to:
Configure prebuilt scenes in the 3D simulation environment.
Place and move vehicles within these scenes.
Set up cameras the vehicles.
Simulate camera outputs based on the environment around the vehicle.
This simulation tool is commonly used to supplement real data when developing, testing, and verifying the vehicle performance of automated driving algorithms. In conjunction with a vehicle model, you can use these blocks to perform realistic closed-loop simulations that encompass the entire automated driving stack, from perception to control.
For more details on the simulation environment, see How Unreal Engine Simulation for Vehicle Dynamics Blockset Works.
3D Simulation Blocks
Scenes
To configure a model to co-simulate with the 3D simulation environment, add a Simulation 3D Scene Configuration block to the model. Using this block, you can choose from a set of prebuilt 3D scenes where you can test and visualize your vehicle performance. The following image is from the Virtual Mcity scene.
The toolbox includes these scenes.
Scene | Description |
---|---|
Straight Road | Straight road segment |
Curved Road | Curved, looped road |
Parking Lot | Empty parking lot |
Double Lane Change | Straight road with barrels and traffic signs that are set up for executing a double lane change maneuver |
Open Surface | Flat, black pavement surface with no road objects |
US City Block | City block with intersections, barriers, and traffic lights |
US Highway | Highway with cones, barriers, traffic lights, and traffic signs |
Large Parking Lot | Parking lot with parked cars, cones, curbs, and traffic signs |
Virtual Mcity | City environment that represents the University of Michigan proving grounds (see Mcity Test Facility); includes cones, barriers, an animal, traffic lights, and traffic signs |
If you have the Vehicle Dynamics Blockset Interface for Unreal Engine Projects support package, then you can modify these scenes or create new ones. For more details, see Customize 3D Scenes for Vehicle Dynamics Simulations.
Vehicles, Tractors, and Trailers
To define a virtual vehicle in a scene, add a 3D Environment Vehicle to your model. Using the blocks, you can control the movement of the vehicle by supplying the X, Y, and yaw values that define its position and orientation at each time step. You can also specify the color and type of vehicle.
The toolbox includes these 3D Environment Vehicle blocks and these vehicle types.
3D Environment Vehicle Block | Vehicle Types |
---|---|
| |
Communication
You can define virtual sensors and attach them at various positions on the vehicles. The toolbox includes these sensor modeling and configuration blocks.
Block | Description |
---|---|
Simulation 3D Camera Get | Provides an interface to an ideal camera in the 3D visualization environment. The image output is a red, green, and blue (RGB) array. |
Simulation 3D Actor Transform Get | Gets the actor translation, rotation, and scale for the Simulink simulation environment. |
Simulation 3D Actor Transform Set | Sets the actor translation, rotation, and scale in the Unreal Engine 3D visualization environment |
Simulation 3D Message Get | Retrieves data from the Unreal Engine 3D visualization environment. |
Simulation 3D Message Set | Sends data to the Unreal Engine 3D visualization environment. |
Algorithm Testing and Visualization
Vehicle Dynamics Blockset Interface for Unreal Engine Projects 3D simulation blocks provide the tools for testing and visualizing path planning, vehicle control, and perception algorithms.
Closed-Loop Systems
After you design and test a perception system within the 3D simulation environment, you can then use it to drive a control system that actually steers a vehicle. In this case, rather than manually set up a trajectory, the vehicle uses the perception system to drive itself. By combining perception and control into a closed-loop system in the 3D simulation environment, you can develop and test more complex algorithms, such as lane keeping assist and adaptive cruise control.