exponenta event banner

driving.scenario.guardrailMesh

Сетчатое представление ограждения в сценарии вождения

Описание

пример

mesh = driving.scenario.guardrailMesh создает сеточное представление ограждения в виде extendedObjectMesh объект, mesh.

Примеры

свернуть все

Добавьте готовую сетку ограждения в сценарий управления. Затем используйте lidarPointCloudGenerator Системный объект для создания облака точек сетки ограждения.

Создайте и покажите предварительно построенную сетку ограждения.

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

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

Создайте сценарий управления.

s = drivingScenario;

Добавьте прямую дорогу к сценарию движения. Дорога имеет по одной полосе в каждом направлении.

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

Добавьте ограждение к дороге вдоль правого края.

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

Добавьте автомобиль в качестве эго-транспортного средства и в качестве не эго-актера и примените автомобильную сетку к обоим с помощью 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);

Постройте график сценария вождения. Задать пару имя-значение 'Meshes','on' показать сети актеров в сюжете.

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

Создать lidarPointCloudGenerator Системный объект. Установите профили субъектов объекта System в соответствии со сценарием управления.

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

Создайте облако точек лидара в управляющем сценарии.

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.

Выходные аргументы

свернуть все

Сетчатое представление ограждения, возвращенное как extendedObjectMesh объект. Начало координат сетки находится в ее геометрическом центре.

Можно создать собственные сетки, используя в качестве начальной точки эту предварительно построенную сетку ограждения. В командной строке MATLAB ® введите:

edit driving.scenario.guardrailMesh
Представлен в R2021a