Physical and radar characteristics of actors in driving scenario
returns the physical and radar characteristics,
profiles = actorProfiles(
all actors in a driving scenario,
scenario. Actors include
Vehicle objects and
Barrier segments, which you can create using the
barrier functions, respectively.
You can use actor profiles as inputs to radar, vision, and lidar sensors, such as
Create Driving Scenario with Multiple Actors and Roads
Create a driving scenario containing a curved road, two straight roads, and two actors: a car and a bicycle. Both actors move along the road for 60 seconds.
Create the driving scenario object.
scenario = drivingScenario('SampleTime',0.1','StopTime',60);
Create the curved road using road center points following the arc of a circle with an 800-meter radius. The arc starts at 0°, ends at 90°, and is sampled at 5° increments.
angs = [0:5:90]'; R = 800; roadcenters = R*[cosd(angs) sind(angs) zeros(size(angs))]; roadwidth = 10; cr = road(scenario,roadcenters,roadwidth);
Add two straight roads with the default width, using road center points at each end. To the first straight road add barriers on both road edges.
roadcenters = [700 0 0; 100 0 0]; sr1 = road(scenario,roadcenters); barrier(scenario,sr1) barrier(scenario,sr1,'RoadEdge','left') roadcenters = [400 400 0; 0 0 0]; road(scenario,roadcenters);
Get the road boundaries.
rbdry = roadBoundaries(scenario);
Add a car and a bicycle to the scenario. Position the car at the beginning of the first straight road.
car = vehicle(scenario,'ClassID',1,'Position',[700 0 0], ... 'Length',3,'Width',2,'Height',1.6);
Position the bicycle farther down the road.
bicycle = actor(scenario,'ClassID',3,'Position',[706 376 0]', ... 'Length',2,'Width',0.45,'Height',1.5);
Plot the scenario.
Display the actor poses and profiles.
allActorPoses = actorPoses(scenario)
allActorPoses=242×1 struct array with fields: ActorID Position Velocity Roll Pitch Yaw AngularVelocity
allActorProfiles = actorProfiles(scenario)
allActorProfiles=242×1 struct array with fields: ActorID ClassID Length Width Height OriginOffset MeshVertices MeshFaces RCSPattern RCSAzimuthAngles RCSElevationAngles
Because there are barriers in this scenario, and each barrier segment is considered an actor,
actorProfiles functions return the poses of all stationary and non-stationary actors. To only obtain the poses and profiles of non-stationary actors such as vehicles and bicycles, first obtain their corresponding actor IDs using the
movableActorIDs = [scenario.Actors.ActorID];
Then, use those IDs to filter only non-stationary actor poses and profiles.
movableActorPoseIndices = ismember([allActorPoses.ActorID],movableActorIDs); movableActorPoses = allActorPoses(movableActorPoseIndices)
movableActorPoses=2×1 struct array with fields: ActorID Position Velocity Roll Pitch Yaw AngularVelocity
movableActorProfiles = allActorProfiles(movableActorPoseIndices)
movableActorProfiles=2×1 struct array with fields: ActorID ClassID Length Width Height OriginOffset MeshVertices MeshFaces RCSPattern RCSAzimuthAngles RCSElevationAngles
scenario — Driving scenario
Driving scenario, specified as a
profiles — Actor profiles
structure | array of structures
Actor profiles, returned as a structure or as an array of structures. Each structure contains the physical and radar characteristics of an actor.
The actor profile structures have these fields.
|Scenario-defined actor identifier, specified as a positive integer.|
|Classification identifier, specified as a nonnegative integer. |
|Length of actor, specified as a positive real-valued scalar. Units are in meters.|
|Width of actor, specified as a positive real-valued scalar. Units are in meters.|
|Height of actor, specified as a positive real-valued scalar. Units are in meters.|
|Offset of actor's rotational center from its geometric center, specified as a real-valued vector of the form [x, y, z]. The rotational center, or origin, is located at the bottom center of the actor. For vehicles, the rotational center is the point on the ground beneath the center of the rear axle. Units are in meters.|
|Mesh vertices of actor, specified as an n-by-3 real-valued matrix of vertices. Each row in the matrix defines a point in 3-D space.|
|Mesh faces of actor, specified as an
m-by-3 matrix of integers. Each row of
|Radar cross-section (RCS) pattern of actor, specified as a
|Azimuth angles corresponding to rows of |
|Elevation angles corresponding to rows of |
For full definitions of these structure fields, see the
Introduced in R2017a