initialPhaseForActor
Description
Examples
Add an actor to your scenario and extract the object that represents its initial phase. All actors in a scenario must have a corresponding initial action phase for the simulation to run.
By default, RoadRunner Scenario creates an initial phase for every actor. To reference an initial phase
programmatically in MATLAB®, use the initialPhaseForActor
function to create an object for the initial phase of the specified actor. You can then
use the initial phase object to programmatically specify subsequent logic phases for the
associated actor in the RoadRunner scenario logic.
Set Up RoadRunner Scenario
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.
rrApp = roadrunner(ProjectFolder="C:\RR\MyProject");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.
openScene(rrApp,"ScenarioBasic.rrscene")
newScenario(rrApp)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.
rrApi = roadrunnerAPI(rrApp);
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.scn = rrApi.Scene; scnro = rrApi.Scenario;
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.prj = rrApi.Project;
Add Actor and Create Object for Initial Phase
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].
mySedan = getAsset(prj,"Vehicles/Sedan.fbx","VehicleAsset"); car = addActor(scnro,mySedan,[0 0 0]);
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.anchorPoint = findSceneAnchor(scnro,"ScenarioStart"); carPoint = car.InitialPoint; anchorToPoint(carPoint,anchorPoint,PosePreservation="reset-pose")
PhaseLogic property of your scenario object
scnro. By default, RoadRunner Scenario creates an initial phase in the scenario logic for each actor added to a scenario.
Use the initialPhaseForActor
function to extract the object for the initial phase of the actor car. You
can use the initial phase object initPhase to modify the properties of the
initial phase or specify subsequent logic
phases.rrLogic = scnro.PhaseLogic; initPhase = initialPhaseForActor(rrLogic,car);
Run the simulation by using the simulateScenario function. If
you do not specify logic phases to alter actor behavior, the actor performs the
default lane-following behavior.
simulateScenario(rrApp)
Input Arguments
Scenario logic object, specified as a PhaseLogic object. The
PhaseLogic object represents the root phase for the scenario in the
RoadRunner scenario logic and contains all logic components for the scenario.
Example: initPhase = initialPhaseForActor(rrLogic,car) extracts
initial phase for the actor car from the scenario phase logic
rrLogic.
Actor associated with the initial phase to extract, specified as one of these objects:
Vehicle— Represents a vehicle actor in the RoadRunner scenario.Character— Represents a character actor in the RoadRunner scenario.MovableObject— Represents a movable object actor in the RoadRunner scenario.
Output Arguments
Initial phase for the actor, returned as an ActorActionPhase
object.
Version History
Introduced in R2025a
See Also
roadrunnerAPI | addPhaseInSerial | addPhaseInParallel | addPhase | addAction
Topics
- RoadRunner Scenario Fundamentals (RoadRunner Scenario)
- Simulate a RoadRunner Scenario Using MATLAB Functions
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Sélectionner un site web
Choisissez un site web pour accéder au contenu traduit dans votre langue (lorsqu'il est disponible) et voir les événements et les offres locales. D’après votre position, nous vous recommandons de sélectionner la région suivante : .
Vous pouvez également sélectionner un site web dans la liste suivante :
Comment optimiser les performances du site
Pour optimiser les performances du site, sélectionnez la région Chine (en chinois ou en anglais). Les sites de MathWorks pour les autres pays ne sont pas optimisés pour les visites provenant de votre région.
Amériques
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)