Создайте график сценария вождения
plot(
создает 3-D график с ортонормальной перспективой, как видно из непосредственно над сценарием вождения scenario
)scenario
.
plot(
задает опции с использованием одной или нескольких пар "имя-значение". Например, можно использовать эти опции для отображения дорожных центров и точек пути актёра на графике.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'
- Отображать точки пути актёра'off'
(по умолчанию) | 'on'
Отображать точки пути актёра, заданные как разделенная разделенными запятой парами, состоящая из 'Waypoints'
и 'off'
или 'on'
. Точки пути определяют траекторию действия актёра.
'Meshes'
- Отображать сетки актёра'off'
(по умолчанию) | 'on'
Отобразите сетки актёра вместо кубоидов, заданные как разделенная разделенными запятой парами, состоящая из 'Meshes'
и 'off'
или 'on'
.
'ActorIndicators'
- Субъекты, вокруг которых можно нарисовать индикатор[]
(по умолчанию) | вектор ActorID
целые числаАктёры, вокруг которых можно нарисовать индикаторы, заданные как разделенная разделенными запятой парами, состоящая из 'ActorIndicators'
и вектор ActorID
целые числа. График сценария вождения рисует круги вокруг актёров, которые имеют указанную ActorID
значения. Каждый кружок является тем же цветом, что и актёр, которого он окружает. Круги не являются зонами покрытия датчика.
Используйте эту пару "имя-значение", чтобы выделить автомобиль , оборудованный датчиком в сценариях вождения, которые содержат несколько транспортных средств.
Чтобы повернуть любой график, в окне рисунка выберите View > Camera Toolbar.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.