R2024a

New Features, Bug Fixes, Compatibility Considerations

Cuboid Scenario Simulation

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.

Unreal Engine Scenario Simulation

 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.

Additionally, using the sim3d.Editor class to customize scenes with the Automated Driving Toolbox Interface for Unreal Engine Projects requires Simulink 3D Animation.

 Compatibility Considerations

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.

 Compatibility Considerations

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

RoadRunner Scenario Simulation

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.

Scenario Generation

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)

New Functions and Objects

The Scenario Builder for Automated Driving Toolbox support package now includes these new functions and objects.

Function or ObjectDescription
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 Enhancements

You 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 Enhancement

The 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)

New Function

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.

New Examples

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.

Euro NCAP Test Suite

 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 Enhancement

The 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 Enhancement

You 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 Enhancement

The 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.

New Functions

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.

New Examples

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 Enhancement

The 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 Enhancement

The 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)

Feature Enhancements

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.

Example Enhancements

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.

Localization and Mapping

 RGB-D SLAM: Implement complete feature-based RGB-D SLAM workflow with the rgbdvslam object

The new rgbdvslam object in Computer Vision Toolbox™ and its supporting object functions enable you to implement a complete visual simultaneous localization and mapping workflow using RGB-D camera data.

To use the rgbdvslam object, you must have a Navigation Toolbox™ license.

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.

Applications

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.