Main Content

driving.scenario.guardrailMesh

Mesh representation of guardrail in driving scenario

Description

example

mesh = driving.scenario.guardrailMesh creates a mesh representation of a guardrail as an extendedObjectMesh object, mesh.

Examples

collapse all

Add the prebuilt guardrail mesh to a driving scenario. Then, use lidarPointCloudGenerator System object to generate a point cloud of the guardrail mesh.

Create and show the prebuilt guardrail mesh.

mesh = driving.scenario.guardrailMesh;
show(mesh);

Figure contains an axes. The axes contains an object of type patch.

Create a driving scenario.

s = drivingScenario;

Add a straight road to the driving scenario. The road has one lane in each direction.

road1 = road(s, [0 0 0; 25 0 0], 'Lanes', lanespec([1 1]));

Add a guardrail to the road along the right edge.

barrier(s, road1, 'Mesh', mesh); 

Add a car as an ego vehicle and as a non-ego actor and apply the car mesh to both using driving.scenario.carMesh.

carMesh = driving.scenario.carMesh;
egoVehicle = vehicle(s,'ClassID',1,'Mesh',carMesh);
smoothTrajectory(egoVehicle,[1 -2 0; 21.3 -2 0], 20);
car = vehicle(s,'Position',[15 2 0],'Yaw',180,'ClassID',1,'Mesh',carMesh);

Plot the driving scenario. Set name-value pair 'Meshes','on' to show the meshes of the actors in the plot.

plot(s,'Meshes','on');

Create a lidarPointCloudGenerator System object. Set the actor profiles of the System object to those in the driving scenario.

lidar = lidarPointCloudGenerator;
lidar.ActorProfiles = actorProfiles(s);

Generate a lidar point cloud of the driving scenario.

player = pcplayer([-20 20],[-10 10],[0 4]);

while advance(s)
  tgts = targetPoses(egoVehicle);
  rdmesh = roadMesh(egoVehicle);
  [ptCloud, isValidTime] = lidar(tgts,rdmesh,s.SimulationTime);
  if isValidTime
      view(player,ptCloud);
  end
end

Figure contains an axes. The axes contains 6 objects of type patch, line.

Figure Point Cloud Player contains an axes. The axes contains an object of type scatter.

Output Arguments

collapse all

Mesh representation of guardrail, returned as an extendedObjectMesh object. The origin of the mesh is located at its geometric center.

You can develop your own meshes by using this prebuilt guardrail mesh as a starting point. At the MATLAB® command line, enter:

edit driving.scenario.guardrailMesh
Introduced in R2021a