Driving Scenario to RoadRunner Scenario: Export driving scenario to RoadRunner scenario programmatically
You can now export the road network, static and dynamic actors in a driving
scenario created using the drivingScenario object, to a RoadRunner scenario. For more information, see the Export Driving Scenario to RoadRunner Scenario Simulation
example.
3D Visualization of Driving Scenario: Visualize 3D plot of driving scenario using Unreal Engine viewer
Use the new plotSim3d function to visualize the 3D plot of a driving
scenario using Unreal Engine® viewer in MATLAB®. You can advance the scenario and visualize the 3D plot at each
time step of the scenario.
Simulation 3D Environment Upgrade: Run 3D simulations on Linux platforms
The 3D visualization engine that comes installed with Automated Driving Toolbox™ has been updated to run on Linux® platforms. Previously, the 3D visualization ran on only Windows® platforms.
For more information, see Unreal Engine Simulation Environment Requirements and Limitations.
Unreal Engine Simulation Requirements: Simulating models in Unreal Engine environment requires Simulink 3D Animation
Starting in R2024a, simulating models with these Simulation 3D blocks requires Simulink® 3D Animation™. The blocks allow Simulink software to integrate with Unreal Engine so that you can interrogate the world around the vehicle for virtually testing perception, control, and planning algorithms.
| 3D Environment Block Type | Block |
|---|---|
| Configuration and Vehicles | |
| Sensors |
Additionally, using the sim3d.Editor
class to customize scenes with the Automated Driving Toolbox Interface for
Unreal Engine Projects requires Simulink
3D Animation.
Simulating models and interfacing with Unreal Engine in the 3D environment requires Simulink 3D Animation.
Simulation 3D Environment Upgrade: Run 3D simulations using Unreal Engine 5.1
The 3D visualization engine that comes installed with Simulink 3D Animation has been updated to Unreal Engine 5.1. Previously, the toolbox used Unreal Engine 4.27.
For information about using Unreal Engine to create custom scenes, see Customize Unreal Engine Scenes for Automated Driving and Unreal Engine Simulation Environment Requirements and Limitations.
If your Simulink model uses an Unreal Engine executable or project developed using a prior release of the Automated Driving Toolbox Interface for Unreal Engine Projects support package, the simulation may return an error. To migrate the project so that it is compatible with the R2024a version of the support package, see Migrate Projects Developed Using Prior Support Packages.
Simulation 3D Scene Configuration Block: Use additional weather configurations to simulate adverse weather conditions
Starting in R2024a, you can configure the Simulation 3D Scene Configuration block to design enhanced weather scenarios within a 3D visualization environment. Additional weather configurations include:
Sun position based on geolocation
Snowfall conditions
Volumetric cloud parameters
Raindrop interaction on camera sensors
Publish ready-to-run actor behaviors for reuse and improving RoadRunner simulation performance
In R2024a, you can generate ready-to-run packages for your Simulink models that include RoadRunner scenario blocks and MATLAB System blocks containing RoadRunner simulation APIs.
Using ready-to-run packages as your actor behaviors allows you to associate the same behavior with multiple actors in your scenario, modify behavior parameters locally for each actor, and improve simulation performance. For more information, see Publish Ready-to-Run Actor Behaviors for Reuse and Simulation Performance.
To create a ready-to-run package, use the publishActor function. For example, you can publish
myActorBehaviorModel as a ready-to-run package. After you
create your package as a ZIP file, you can attach it to
multiple actors in your scenario.
Simulink.publish.publishActor('myActorBehaviorModel', PackageType='ReadyToRun');
View RoadRunner Scenario actor parameters in Simulation Data Inspector
In R2024a, you can view the following run-time attributes of a RoadRunner Scenario actor in the Simulink Data Inspector from the information recorded
in a simulation log by using the view function.
Position
Velocity
Angular Velocity
Sensor Simulation for RoadRunner Scenario Enhancement: Simulate RoadRunner Scenario with sensor models defined in Simulink without manually creating sensorSimulation object
and registering sensors
You can now simulate a RoadRunner Scenario with sensor models defined in Simulink without manually creating a SensorSimulation
object and then registering the sensors using the
addSensors function. In prior releases, you manually
create a SensorSimulation object and register sensors by
specifying the block paths to sensor models using the
addSensors function.
For more information, see the Add Sensors to RoadRunner Scenario Using Simulink example.
prepareSimulation and simulateScenario
Functions: Prepare simulation data and simulate RoadRunner scenarios
Use prepareSimulation to submit simulation data to the RoadRunner Scenario simulation engine using MATLAB.
Use simulateScenario to simulate the current scenario of the
specified RoadRunner Scenario application.
Anchors in RoadRunner Scenario: Specify anchor types when remapping anchors and retrieve anchor attribute information
When remapping anchors with the remapAnchor function, use the AnchorType
argument to specify a scene or scenario anchor.
Use getAnchors to retrieve information on all anchors in the current
RoadRunner Scenario instance using MATLAB.
importScene Function: Import HERE HD Map data and toggle
use of lane groups to build roads
You can now import HERE HD Map data into RoadRunner programmatically by using
the importScene
MATLAB function. The importoptions argument of the function supports these option
configuration objects, which enable you to specify options for importing HERE HD
Map data.
hereHDMapImportOptions — Options for importing
HERE HD Map data into a RoadRunner scene.
hereHDMapLoadOptions — Options for loading HERE
HD Map data into a RoadRunner scene.
hereProtoFilesOptions — Options for importing
data from HERE HD Map protobuf files into a RoadRunner scene.
When you specify options for building RoadRunner HD Map files into RoadRunner scene, you can now use the UseLaneGroups
property of the roadrunnerHDMapBuildOptions object. Use this
property to toggle the use of lane groups when you build roads from imported HD
map data. For more information, see the importoptions argument of the importScene
function.
importScene Function: Specify additional properties when
importing a scene
When you import a scene in RoadRunner with importScene, you can specify these additional properties:
SmoothFitRoadGeometryOptions — Option to
specify a smoothFitRoadGeometryOptions
object.
ImportRegion — Option to specify an area of the
road network to be imported from an ASAM OpenDRIVE® file.
exportScene Function: Specify additional properties when
exporting a scene
When you export a scene from RoadRunner with exportScene, you can specify these additional properties:
EnforceConnectedRoadContinuity — Option to
enforce continuity between the reference lines of roads connected
end-to-end.
SyntheticOpenCRGOptions — Synthetic ASAM OpenCRG® file options, specified as a
syntheticOpenCRGOptions object.
ApplyParkingSlope — Option to apply parking
slope.
EmbedTextures — Option to embed the exported
textures inside the exported file.
For more information, see the exportoptions argument of the
exportScene function.
exportScenario Function: Specify file path to save
ASAM OpenDRIVE file during ASAM OpenSCENARIO export
When you export an ASAM OpenSCENARIO® 1.x file from RoadRunner Scenario by using the exportScenario function, you can now specify a file path to
which to save an ASAM OpenDRIVE file. Use the OpenDriveFileName property of the
openScenarioExportOptions object to specify the file path
for the ASAM OpenDRIVE file. For more information, see the exportoptions argument of the
exportScenario function.
exportScenario Function: Specify additional properties
during ASAM OpenSCENARIO export
When you export an ASAM OpenSCENARIO 1.x file from RoadRunner Scenario using the exportScenario function, you can now specify these additional properties:
SceneGraphOptions — Specify a
sceneGraphExportOptions configuration
object.
OpenDriveFileName — Specify the file path for
an ASAM OpenDRIVE file.
MoveNonInstantaneousInitActions — Move any
non-instantaneous InitActions to stories upon
export.
NoOpsAction — Options to specify a no
operations (no-ops) action type.
For more information, see the exportoptions argument of the
exportScenario function.
Functionality being removed or changed
Changes to RoadRunner Scenario Reader and RoadRunner Scenario Writer blocks
Behavior change
There are three changes to RoadRunner Scenario Reader block:
For the Action Type parameter, the name of
the ActionTypes field of the Actor
Action structure has been changed to
ActionType.
For the Action Type parameter, when you set
the Topic Category parameter to
Action and Action Type
parameter to Lane Change, the
LaneValue field of the
LaneChangeTarget structure has a data type of
int32 instead of
double.
There is one change to RoadRunner Scenario Writer block:
When you configure the block by setting the Topic
Category parameter to Actor
and Actor Type parameter to
Vehicle, the NumWheels
field has a data type uint32 instead of
uint64.
Changes to RoadRunner simulation APIs
Behavior change
There are five changes to RoadRunner simulation APIs:
For the getAction function, the name of the
TimeTransitionDynamics field of the
LateralOffsetAction structure has been
changed to TransitionDynamics.
For the getAction function, the name of the
Type field of the
ChangeParameterAction structure has been
changed to ParameterType.
For the BoundingBox attribute of the ActorModel object, the names of the fields
min and max have been
changed to Min and Max.
For the ActorSimulation object, the run-time attribute
Children returns a cell array instead of an
array.
For the ActorSimulation object, using the
get object function with the
"ActorSimulation" input parameter returns a
cell array instead of an array.
openScenarioExportOptions no longer supports several
properties
As of R2024a, the openScenarioExportOptions object no
longer supports these properties:
SceneGraphFormatName
SceneGraphFileName
ExportSceneGraph
OpenSceneGraphOptions
To configure your scene graph export settings, specify the
SceneGraphOptions property by using a
sceneGraphExportOptions configuration object
instead.
Feature Enhancement: Enhanced detect object function of
laneBoundaryDetector object
For the detect object function of the laneBoundaryDetector object, you can now display a progress bar of
lane detections per frame by specifying the ShowProgress
name-value argument.
Scenario Builder Enhancements: New features and feature enhancements (April 2024, Version 24.1.1)
The Scenario Builder for Automated Driving Toolbox support package now includes these new functions and objects.
| Function or Object | Description |
|---|---|
egoToWorldLaneBoundarySegments | Converts tracked lane boundaries to lane boundary segments in world coordinates. |
laneBoundarySegment | Stores the lane boundary information of a road segment. |
laneBoundaryGroup | Groups lane boundaries in lane boundary segment objects. |
getLanesInRoadRunnerHDMap | Creates RoadRunner HD Map from lane information. |
To use these functions and objects, you must download the Scenario Builder for Automated Driving Toolbox from the Add-On Explorer. For more information about installing add-ons, see Get and Manage Add-Ons.
laneData Object and addData Object
Function EnhancementsYou can now set the additional property TrackIDs,
which specifies the track IDs of the lane boundaries detected at each
timestamp.
The addData object function of the
laneData object now has the additional name-value
argument TrackIDs. You can use the name-value argument
TrackIDs to add track IDs for lane boundaries to
the input laneData object.
getMapROI Function EnhancementThe function now returns the georeference field
values latitude and longitude as the
center of the bounding box specified by the input lat,
lon, and extent values. The
value of altitude is 0.
Previously, when you specified the extent input
argument as a nonzero value, the returned latitude and
longitude values represented the bottom-left corner
of the bounding box specified by the input lat,
lon, and extent values, and if
you did not specify the extent input argument, the
function returned the latitude and
longitude values as the first elements of the input
lat and lon values,
respectively.
Scenario Builder Enhancements: New feature and new examples (June 2024, Version 24.1.2)
You can now use the addElevation function to add elevation to scene data by
using a georeferenced point cloud.
To use the function, you must download the Scenario Builder for Automated Driving Toolbox from the Add-On Explorer. For more information about installing add-ons, see Get and Manage Add-Ons.
The Generate RoadRunner Scene Using Aerial Hyperspectral and Lidar Data example shows how to generate a scene containing trees and buildings by using aerial hyperspectral and lidar data, and reconstruct roads using OpenStreetMap® data.
The Georeference Sequence of Point Clouds for Scene Generation example shows how to register and stitch a sequence of point clouds and georeference the resulting registered point cloud by using GPS data.
The Georeference Aerial Point Cloud for Scene Generation example shows how to georeference an aerial point cloud by using coordinate reference system (CRS) information. This example also uses the georeferenced point cloud to add elevation information to maps such as an OpenStreetMap or RoadRunner HD Map.
Renamed Support Package: Scenario Variant Generator for Automated Driving Toolbox renamed to Automated Driving Toolbox Test Suite for Euro NCAP Protocols
As of R2024a, the Scenario Variant Generator for Automated Driving Toolbox support package has been renamed to the Automated Driving Toolbox Test Suite for Euro NCAP® Protocols.
Euro NCAP Test Suite Enhancements and Examples: Feature improvement, and new examples
getCollisionData Function EnhancementThe output of the getCollisionData function now contains yaw angle data for
the actors involved in the collision. In the collision
object output as the Collision field of the
collisionInfo argument, the structures in the
Actor1Info and Actor2Info
properties, now include a Yaw field which specifies the
yaw angle of the corresponding actor at the time of collision.
varyActorProperties Object Function
EnhancementYou can now specify front and rear overhang variations for an actor by
specifying the RearOverhang and
FrontOverhang fields, as a pair, to the
Dimension name-value argument of the varyActorProperties object function.
generateVariants Function EnhancementThe output of the generateVariants function, variantInfo
structure, now includes a structure, EgoTrajectory, which
contains ego trajectory parameters such as: Timestamps,
Waypoints, Roll,
Pitch, and Yaw.
The Automated Driving Toolbox Test Suite for Euro NCAP Protocols support package now includes these functions.
ncapSpec | Generates Euro NCAP® test specifications |
ncapScenario | Generates seed scenario descriptor for Euro NCAP test |
table2scenario | Generates scene and scenario from tabular data |
generateWaypoints | Generates waypoints to perform lane change and lane drift |
To use these functions, you must download the Automated Driving Toolbox Test Suite for Euro NCAP Protocols support package from the Add-On Explorer. For more information about installing add-ons, see Get and Manage Add-Ons.
The AEB Test Bench for Euro NCAP Scenarios example shows how to
configure and simulate the AEB test bench with a Euro NCAP scenario by using the ncapScenario function. You can assess the performance of an
AEB system with RoadRunner Scenario per Euro NCAP testing protocol.
The AEB Euro NCAP Testing with RoadRunner Scenario example shows how to generate a Euro NCAP Safety Assist Automatic Emergency Braking Car-to-Car scenarios and their variants, and simulate them using the AEB test bench with RoadRunner Scenario. The example enables you to automate iterative testing of all scenario variants using Simulink Test™ and analyze the consolidated report per Euro NCAP testing protocols.
The Generate RoadRunner Scenario Using Tabular Data for AEB Car-to-Car Testing example shows how to generate variants of a seed scenario that you can use for testing AEB systems per the European New Car Assessment (Euro NCAP) test protocols.
The Generate RoadRunner Scenario Variants by Modifying Actor Assets example shows how to modify actor assets in a seed scenario to generate scenario variants for RoadRunner simulator.
The Generate Variants for Testing AEB Car-to-Car Scenarios example shows how to create an automated emergency braking (AEB) seed scenario using tabular data and generate its variants by varying the speeds of the ego and target vehicles.
Feature Enhancements: ncapSpec and
ncapScenario function enhancements (April 2024, Version
24.1.1)
ncapSpec Function EnhancementThe ncapSpec function now returns additional fields for these
output arguments:
ncapTestSpec — Returns the
SeedScenarioIndex field, which contains
the row index of the seed scenario specifications in the
variationSpec output.
specInfo — Returns the
MetaData field, which contains metadata
information of generated scenario variants.
ncapScenario Function EnhancementThe ncapScenario function now supports these additional
Euro NCAP test scenarios:
"SA LSS LKA Solid Line"
"SA LSS LKA Dashed Line"
"SA LSS ELK Road Edge"
"SA LSS ELK Solid Line"
"SA LSS ELK Oncoming vehicle"
"SA LSS ELK Overtaking vehicle
intentional"
"SA LSS ELK Overtaking vehicle
unintentional"
"VRU AEB Lateral CM Oncoming"
"VRU AEB Lateral CM Overtaking
unintentional"
"VRU AEB Lateral CM Overtaking
intentional"
To use these functions, you must download the Automated Driving Toolbox Test Suite for Euro NCAP Protocols support package from the Add-On Explorer. For more information about installing add-ons, see Get and Manage Add-Ons.
Feature and Example Enhancements: ncapScenario function
and Vehicle Dynamics subsystem enhancements (May 2024,
Version 24.1.2)
The ncapScenario function now supports these additional
Euro NCAP test scenarios:
"VRU AEB Reverse CPRs"
"VRU AEB Reverse CPRm"
The Euro NCAP test bench now adds 14DOF vehicle variant support in the
Vehicle Dynamics subsystem to specify the ego vehicle
dynamics.
The Vehicle Dynamics subsystem in the AEB Euro NCAP Testing with RoadRunner Scenario and AEB Test Bench for Euro NCAP Scenarios examples now enables you
to specify 14DOF vehicle variant in addition to the previously supported
3DOF vehicle variant.
To use the features and examples, you must download the Automated Driving Toolbox Test Suite for Euro NCAP Protocols support package from the Add-On Explorer. For more information about installing add-ons, see Get and Manage Add-Ons.
RGB-D SLAM: Implement complete feature-based RGB-D SLAM workflow with the
rgbdvslam object
Stereo Visual SLAM: Implement complete feature-based stereo visual SLAM
workflow with the stereovslam object
The new stereovslam object in Computer Vision Toolbox and its supporting object functions enable you to implement a
complete visual simultaneous localization and mapping workflow using stereo
camera data.
To use the stereovslam object, you must have a Navigation Toolbox license.
V2X MAP Message Example: Generate V2X MAP message from RoadRunner
The Generate V2X MAP Message from RoadRunner example shows how to generate a MAP message per the China Society of Automotive Engineers (CSAE) standards, using RoadRunner HD Map, for vehicle-to-everything (V2X) communication. You can also model a roadside unit (RSU) that transmits local geographic information to the vehicles within its range.