Create a roadrunner
object, specifying the
path to an existing project. For example, this code shows the path to a project, on a
Windows® machine, located at "C:\RR\MyProject"
. This code assumes that
RoadRunner is installed in the default location, and returns an object,
rrApp
, that provides functions for performing basic tasks such as
opening, closing, and saving scenes and projects.
Note
If you are opening RoadRunner from MATLAB for the first time, or if you have changed the RoadRunner installation location since you last opened it from MATLAB, you can use the roadrunnerSetup
function to specify new default
project and installation folders to use when opening RoadRunner. You can save these folders between MATLAB sessions by selecting the Across MATLAB
sessions
option from the corresponding drop down.
Open an existing scene in RoadRunner by using the openScene
function, specifying the
roadrunner
object rrApp
and the filename of the
specific scene that you want to open. Then, use the newScenario
function to
create a new
scenario.
Create an object for the RoadRunner authoring API, rrApi
, that references the object for the
current RoadRunner instance rrApp
. The rrApi
object enables you
to programmatically author scenes and scenarios, such as by adding and modifying roads, actors,
and logic components, using MATLAB.
Extract the scene and scenario objects from the
Scene
and
Scenario
properties of the authoring API object
rrApi
,
respectively. The extracted
Scene
object enables you to specify the scene in
which to add scene components such as roads and lanes. The extracted
Scenario
(RoadRunner Scenario) object
enables you to specify the scenario in which to add scenario components such as actors and
logic.
Extract the object for your
RoadRunner project from the
Project
property of the authoring API object
rrApi
. The extracted
Project
object enables you to
specify the project folder for the current
RoadRunner session from which to retrieve asset objects. You can use the asset objects to
assign assets to roads in your scene, or to actors in your
scenario.
To get a PhaseLogic
object, rrLogic
, that
represents the RoadRunner scenario logic, extract the PhaseLogic
property of
the scenario object
scnro
.
To modify the default scenario Simulation Time
condition, first
extract the RootPhase
property of the phase logic object
rrLogic
. Then, extract the
SimulationTimeCondition
object from the
EndCondition
property of the root phase
rootPhs
.
To set a new simulation time for the scenario, specify a value for the
Time
property of the SimulationTimeCondition
object
simTime
.
To simulate the scenario, you must first add a Vehicle
actor to
the scenario. Use the getAsset
function to extract a
VehicleAsset
object, mySedan
, that represents
the Sedan.fbx
asset in the project prj
. Then,
use the addActor
function, specifying the scenario object
scnro
, the asset object, and the location at which to place the
actor.
Place the vehicle actor car
at the world origin, specified as
[0 0 0]
. If you do not know the exact coordinates at which you
want to place the actor, you can relocate the actor based on an existing point or
anchor. For example, you can use findSceneAnchor
to reference an
existing anchor in the scene, then use anchorToPoint
to relocate
the actor from its current location to the location specified by the referenced
anchor. For more information, see findSceneAnchor
and
anchorToPoint
.
Run the simulation by using the simulateScenario
function.
RoadRunner simulates the scenario for the time specified by
simTime
.