график

Создайте ведущий график сценария

Синтаксис

plot(sc)
plot(sc,Name,Value)

Описание

пример

plot(sc) создает 3-D график с ортонормированной перспективой, как замечено по сразу выше ведущего сценария, sc.

пример

plot(sc,Name,Value) задает опции с помощью одной или нескольких пар "имя-значение". Например, можно использовать эти опции, чтобы отобразить дорожные центры и агента waypoints на графике.

Примеры

свернуть все

Создайте ведущий сценарий, содержащий дорогу фигуры 8, заданную в мировых координатах сценария. Преобразуйте мировые координаты сценария к системе координат автомобиля, оборудованного датчиком.

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

sc = drivingScenario;

Добавьте дорогу фигуры 8 к сценарию. Отобразите сценарий.

roadCenters = [0  0  1
             20 -20  1
             20  20  1
            -20 -20  1
            -20  20  1
              0   0  1];

roadWidth = 3;
bankAngle = [0 15 15 -15 -15 0];
road(sc,roadCenters,roadWidth,bankAngle);
plot(sc)

Добавьте автомобиль, оборудованный датчиком в сценарий. Расположите автомобиль в мировых координатах (20, –20) и ориентируйте его под –15 углами отклонения от курса степени.

ego = actor(sc,'Position',[20 -20 0],'Yaw',-15);

Получите дорожные контуры в координатах автомобиля, оборудованного датчиком при помощи функции roadBoundaries. Задайте автомобиль, оборудованный датчиком как входной параметр.

rbEgo1 = roadBoundaries(ego);

Отобразите результат на видимом с большого расстояния графике.

bep = birdsEyePlot;
lbp = laneBoundaryPlotter(bep,'DisplayName','Road');
plotLaneBoundary(lbp,rbEgo1)

Получите дорожные контуры в мировых координатах при помощи функции roadBoundaries. Задайте сценарий как входной параметр.

rbScenario = roadBoundaries(sc);

Получите дорожные контуры в координатах автомобиля, оборудованного датчиком при помощи функции driving.scenario.roadBoundariesToEgo.

rbEgo2 = driving.scenario.roadBoundariesToEgo(rbScenario,ego);

Отобразите дорожные контуры на видимом с большого расстояния графике.

bep = birdsEyePlot;
lbp = laneBoundaryPlotter(bep,'DisplayName','Road boundaries');
plotLaneBoundary(lbp,{rbEgo2})

Создайте ведущий сценарий, содержащий кривую дорогу, две дороги подряд и двух агентов: автомобиль и велосипед. Оба агента проходят дорога в течение 60 секунд.

Создайте ведущий объект сценария.

sc = drivingScenario('SampleTime',0.1','StopTime',60);

Создайте кривую дорогу с помощью дорожных центральных точек после дуги круга с 800-метровым радиусом. Дуга запускается на уровне 0 °, заканчивается на уровне 90 ° и выбирается в шаге на 5 °.

angs = [0:5:90]';
R = 800;
roadcenters = R*[cosd(angs) sind(angs) zeros(size(angs))];
roadwidth = 10;
road(sc,roadcenters,roadwidth);

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

roadcenters = [700 0 0; 100 0 0];
road(sc,roadcenters)
roadcenters = [400 400 0; 0 0 0];
road(sc,roadcenters)

Получите дорожные контуры.

rbdry = roadBoundaries(sc);

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

car = vehicle(sc,'Position',[700 0 0],'Length',3,'Width',2,'Height',1.6);

Расположите велосипед дальше в будущем.

bicycle = actor(sc,'Position',[706 376 0]','Length',2,'Width',0.45,'Height',1.5);

Постройте сценарий.

plot(sc,'Centerline','on','RoadCenters','on');
title('Scenario');

Отобразите положения агента и профили.

poses = actorPoses(sc)
poses = 2x1 struct array with fields:
    ActorID
    Position
    Velocity
    Roll
    Pitch
    Yaw
    AngularVelocity

profiles = actorProfiles(sc)
profiles = 2x1 struct array with fields:
    ActorID
    ClassID
    Length
    Width
    Height
    OriginOffset
    RCSPattern
    RCSAzimuthAngles
    RCSElevationAngles

Входные параметры

свернуть все

Ведущий сценарий, заданный как объект drivingScenario.

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: plot(sc,'Centerline','on','RoadCenters','on') отображает центральную линию и дорожные центры каждого дорожного сегмента.

Оси, в которых можно построить график, заданный как пара, разделенная запятой, состоящая из 'Parent' и объекта Axes. Если вы не задаете Parent, новая фигура создается.

Отобразите центральную линию дорог, заданных как пара, разделенная запятой, состоящая из 'Centerline' и 'off' или 'on'. Центральная линия следует за серединой каждого дорожного сегмента. Центральные линии прерывисты через области, такие как пересечения или дорожные разделения.

Отобразите дорожные центры, заданные как пара, разделенная запятой, состоящая из 'RoadCenters' и 'off' или 'on'. Дорожные центры задают дороги, показанные в графике.

Отобразите агента waypoints, заданный как пара, разделенная запятой, состоящая из 'Waypoints' и 'off' или 'on'. Waypoints задают траекторию агента.

Советы

  • Чтобы вращать любой график, в окне рисунка, выбирают View> Camera Toolbar.

Введенный в R2017a