Создайте ведущий график сценария
plot(
создает 3-D график с ортонормированной перспективой, как замечено по сразу выше ведущего сценария, scenario
)scenario
.
plot(
задает опции с помощью одной или нескольких пар "имя-значение". Например, можно использовать эти опции, чтобы отобразить дорожные центры и агента waypoints на графике.scenario
,Name,Value
)
Создайте ведущий сценарий, содержащий дорогу фигуры 8, заданную в мировых координатах сценария. Преобразуйте мировые координаты сценария к системе координат автомобиля, оборудованного датчиком.
Создайте пустой ведущий сценарий.
scenario = 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(scenario,roadCenters,roadWidth,bankAngle); plot(scenario)
Добавьте автомобиль, оборудованный датчиком в сценарий. Расположите транспортное средство в мировых координатах (20, –20) и ориентируйте его под –15 углами рыскания степени.
ego = actor(scenario,'ClassID',1,'Position',[20 -20 0],'Yaw',-15);
Получите дорожные контуры в координатах автомобиля, оборудованного датчиком при помощи roadBoundaries
функция. Задайте автомобиль, оборудованный датчиком как входной параметр.
rbEgo1 = roadBoundaries(ego);
Отобразите результат на видимом с большого расстояния графике.
bep = birdsEyePlot; lbp = laneBoundaryPlotter(bep,'DisplayName','Road'); plotLaneBoundary(lbp,rbEgo1)
Получите дорожные контуры в мировых координатах при помощи roadBoundaries
функция. Задайте сценарий как входной параметр.
rbScenario = roadBoundaries(scenario);
Получите дорожные контуры в координатах автомобиля, оборудованного датчиком при помощи driving.scenario.roadBoundariesToEgo
функция.
rbEgo2 = driving.scenario.roadBoundariesToEgo(rbScenario,ego);
Отобразите дорожные контуры на видимом с большого расстояния графике.
bep = birdsEyePlot; lbp = laneBoundaryPlotter(bep,'DisplayName','Road boundaries'); plotLaneBoundary(lbp,{rbEgo2})
Создайте ведущий сценарий, содержащий кривую дорогу, две дороги подряд и двух агентов: автомобиль и велосипед. Оба агента проходят дорога в течение 60 секунд.
Создайте ведущий объект сценария.
scenario = 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(scenario,roadcenters,roadwidth);
Добавьте две дороги подряд с шириной по умолчанию, с помощью дорожных центральных точек в каждом конце.
roadcenters = [700 0 0; 100 0 0]; road(scenario,roadcenters)
ans = Road with properties: Name: "" RoadID: 2 RoadCenters: [2x3 double] RoadWidth: 6 BankAngle: [2x1 double]
roadcenters = [400 400 0; 0 0 0]; road(scenario,roadcenters)
ans = Road with properties: Name: "" RoadID: 3 RoadCenters: [2x3 double] RoadWidth: 6 BankAngle: [2x1 double]
Получите дорожные контуры.
rbdry = roadBoundaries(scenario);
Добавьте автомобиль и велосипед к сценарию. Расположите автомобиль в начале первой дороги подряд.
car = vehicle(scenario,'ClassID',1,'Position',[700 0 0], ... 'Length',3,'Width',2,'Height',1.6);
Расположите велосипед дальше в будущем.
bicycle = actor(scenario,'ClassID',3,'Position',[706 376 0]', ... 'Length',2,'Width',0.45,'Height',1.5);
Постройте сценарий.
plot(scenario,'Centerline','on','RoadCenters','on'); title('Scenario');
Отобразите положения агента и профили.
poses = actorPoses(scenario)
poses=2×1 struct array with fields:
ActorID
Position
Velocity
Roll
Pitch
Yaw
AngularVelocity
profiles = actorProfiles(scenario)
profiles=2×1 struct array with fields:
ActorID
ClassID
Length
Width
Height
OriginOffset
MeshVertices
MeshFaces
RCSPattern
RCSAzimuthAngles
RCSElevationAngles
scenario
— Ведущий сценарийdrivingScenario
объектВедущий сценарий в виде drivingScenario
объект.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
plot(sc,'Centerline','on','RoadCenters','on')
отображает центральную линию и дорожные центры каждого дорожного сегмента.'Parent'
— Оси, в которых можно построить графикAxes
объектОси, в которых можно построить график в виде разделенной запятой пары, состоящей из 'Parent'
и Axes
объект. Если вы не задаете Parent
, создается новая фигура.
'Centerline'
— Отобразите центральную линию дорог'off'
(значение по умолчанию) | 'on'
Отобразите центральную линию дорог в виде разделенной запятой пары, состоящей из 'Centerline'
и 'off'
или 'on'
. Центральная линия следует за серединой каждого дорожного сегмента. Центральные линии прерывисты через области, такие как пересечения или дорожные разделения.
'RoadCenters'
— Отобразите дорожные центры'off'
(значение по умолчанию) | 'on'
Отобразите дорожные центры в виде разделенной запятой пары, состоящей из 'RoadCenters'
и 'off'
или 'on'
. Дорожные центры задают дороги, показанные в графике.
'Waypoints'
— Отобразите агента waypoints'off'
(значение по умолчанию) | 'on'
Отобразите агента waypoints в виде разделенной запятой пары, состоящей из 'Waypoints'
и 'off'
или 'on'
. Waypoints задают траекторию агента.
'Meshes'
— Отобразите сетки агента'off'
(значение по умолчанию) | 'on'
Отобразите сетки агента вместо кубоидов в виде разделенной запятой пары, состоящей из 'Meshes'
и 'off'
или 'on'
.
'ActorIndicators'
— Агенты, вокруг которых можно чертить индикатор[]
(значение по умолчанию) | вектор из ActorID
целые числаАгенты, вокруг которых можно чертить индикаторы в виде разделенной запятой пары, состоящей из 'ActorIndicators'
и вектор из ActorID
целые числа. Ведущий график сценария рисует круги вокруг агентов, которые имеют заданный ActorID
значения. Каждый круг является тем же цветом как агент, которого это окружает. Круги не являются зонами охвата датчика.
Используйте эту пару "имя-значение", чтобы подсветить автомобиль, оборудованный датчиком в ведущих сценариях, которые содержат несколько транспортных средств.
Чтобы вращать любой график, в окне рисунка, выбирают View> Camera Toolbar.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.