Создайте дорожный текстовый объект маршрута
возвращает дорожный текстовый объект маршрута со свойствами lt
= laneType(type
)Type
, Color
, и Strength
задавать различные типы маршрута для дороги.
Можно использовать этот объект создать ведущие сценарии с дорогами, которые имеют ведущие маршруты, маршруты границы, ограниченные маршруты, маршруты плеча и парковку маршрутов. Можно также загрузить этот сценарий в приложение Driving Scenario Designer.
Для получения дополнительной информации на шагах, вовлеченных в использование laneType
функция с drivingScenario
возразите и приложение Driving Scenario Designer, смотрите Больше О.
устанавливает свойства выходного текстового объекта маршрута при помощи одной или нескольких пар "имя-значение".lt
= laneType(type
,Name,Value
)
В этом примере показано, как задать типы маршрута и симулировать ведущий сценарий для дороги с четырьмя маршрутами, которая имеет различные типы маршрута.
Создайте ведущий объект маршрута со значениями свойств по умолчанию.
drivingLane = laneType('Driving')
drivingLane = DrivingLaneType with properties: Type: Driving Color: [0.8000 0.8000 0.8000] Strength: 1
Создайте текстовый объект маршрута парковки. Задайте цвет и значения свойств силы.
parkingLane = laneType('Parking','Color',[1 0 0],'Strength',0.1)
parkingLane = ParkingLaneType with properties: Type: Parking Color: [1 0 0] Strength: 0.1000
Создайте трехэлементный, неоднородный массив типа маршрута путем конкатенации управления и текстовых объектов маршрута парковки. Массив типа маршрута содержит типы маршрута для дороги с четырьмя маршрутами.
lt = [parkingLane drivingLane drivingLane parkingLane];
Создайте спецификацию маршрута для дороги с четырьмя маршрутами. Добавьте массив типа маршрута в спецификацию маршрута.
ls = lanespec([2 2],'Type',lt);
Создайте ведущий объект сценария. Добавьте дорогу с четырьмя маршрутами с техническими требованиями маршрута ls
к ведущему сценарию.
scenario = drivingScenario;
roadCenters = [0 0 0;40 0 0];
road(scenario,roadCenters,'Lanes',ls)
ans = Road with properties: Name: "" RoadID: 1 RoadCenters: [2x3 double] RoadWidth: 14.5500 BankAngle: [2x1 double]
Постройте сценарий. Сценарий содержит дорогу с четырьмя маршрутами, которая имеет два маршрута парковки и два ведущих маршрута.
plot(scenario) legend('Driving Lane','Parking Lane')
Создайте неоднородный массив текстового объекта маршрута, чтобы задать управление, плечо и типы маршрута границы для дороги с четырьмя маршрутами.
lt = [laneType('Shoulder') laneType('Driving') laneType('Driving') laneType('Border','Color',[0.5 0 1],'Strength',0.1)];
Отобразите массив текстового объекта маршрута.
lt
lt=1×4 object
1x4 heterogeneous LaneType (ShoulderLaneType, DrivingLaneType, BorderLaneType) array with properties:
Type
Color
Strength
Смотрите значения свойств.
c = [{lt.Type}' {lt.Color}' {lt.Strength}']; cell2table(c,'VariableNames',{'Type','Color','Strength'})
ans=4×3 table
Type Color Strength
________ ____________________ ________
Shoulder 0.59 0.59 0.59 1
Driving 0.8 0.8 0.8 1
Driving 0.8 0.8 0.8 1
Border 0.5 0 1 0.1
Передайте массив текстового объекта маршрута, как введено lanespec
функция, и затем создает объект спецификации маршрута для дороги с четырьмя маршрутами.
lspec = lanespec([2 2],'Type',lt);
Задайте дорожные центры.
roadCenters = [0 0 0; 40 0 0];
Чтобы добавить дороги, создайте ведущий объект сценария.
scenario = drivingScenario('StopTime',8);
Добавьте дороги с заданными дорожными центрами и типами маршрута к ведущему сценарию.
road(scenario,roadCenters,'Lanes',lspec);
Добавьте два транспортных средства в сценарий. Расположите транспортные средства на ведущий маршрут.
vehicle1 = vehicle(scenario,'ClassID',1,'Position',[5 2 0]); vehicle2 = vehicle(scenario,'ClassID',1,'Position',[35 -2 0]);
Задайте траектории транспортного средства при помощи waypoints. Установите скорости траектории транспортного средства.
waypoints1 = [5 2;10 2;20 2;25 2;30 5;34 5.5]; smoothTrajectory(vehicle1,waypoints1,10) waypoints2 = [35 -2;20 -2;10 -2;5 -2]; smoothTrajectory(vehicle2,waypoints2,5)
Постройте сценарий. Чтобы усовершенствовать симуляцию один временной шаг за один раз, вызовите advance
функция в цикле. Приостановите каждые 0,01 секунды, чтобы наблюдать движение транспортных средств на графике. Первое транспортное средство перемещается вдоль траектории в ведущем маршруте. Это дрейфует к маршруту плеча для чрезвычайной остановки.
% Create a custom figure window and define an axes object fig = figure; movegui(fig,'center'); hView = uipanel(fig,'Position',[0 0 1 1],'Title','Scenario with Shoulder, Driving, and Border Lanes'); hPlt = axes(hView); % Plot the generated driving scenario along with the waypoints. plot(scenario,'Waypoints','on','Parent',hPlt); while advance(scenario) pause(0.01) end
type
— Тип маршрута'Driving'
| 'Border'
| 'Restricted'
| 'Shoulder'
| 'Parking'
Тип маршрута в виде 'Driving'
'Граница'
, 'Restricted'
, 'Shoulder'
, или 'Parking'
.
Тип маршрута | Описание |
'Driving' | Маршруты для управления |
'Border' | Маршруты на дорожных границах |
'Restricted' | Маршруты зарезервированы для высоких транспортных средств заполнения |
'Shoulder' | Маршруты зарезервированы для чрезвычайной остановки |
'Parking' | Маршруты вместе с ведущими маршрутами, предназначенными для парковки транспортных средств |
Примечание
Тип маршрута ввел, устанавливает Type
свойство выходного текстового объекта маршрута.
Типы данных: char |
string
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
laneType('Driving','Color','r')
'Color'
— Цвет маршрутаЦвет маршрута в виде разделенной запятой пары, состоящей из 'Color'
и триплет RGB или название цвета.
Задайте триплет RGB как трехэлементный вектор-строку, содержащий интенсивность красных, зеленых, и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]
, например, [0.4 0.6 0.7]
. Эта таблица приводит значения триплета RGB, которые задают цвета по умолчанию для различных типов маршрута.
Тип маршрута | Триплет RGB (Значения по умолчанию) | Внешний вид |
'Driving' | [0.8 0.8 0.8]
|
|
'Border' | [0.72 0.72 0.72]
|
|
'Restricted' | [0.59 0.56 0.62]
|
|
'Shoulder' | [0.59 0.59 0.59]
|
|
'Parking' | [0.28 0.28 0.28]
|
|
Кроме того, вы можете задать имена некоторых простых цветов. Эта таблица приводит опции именованного цвета и эквивалентные значения триплета RGB.
Название цвета | Триплет RGB | Внешний вид |
---|---|---|
'red' | [1 0 0]
|
|
'green' | [0 1 0]
|
|
'blue' | [0 0 1]
|
|
'cyan'
| [0 1 1]
|
|
'magenta' | [1 0 1]
|
|
'yellow' | [0.98 0.86 0.36]
|
|
'black' | [0 0 0]
|
|
'white' | [1 1 1]
|
|
Примечание
Используйте пару "имя-значение" цвета маршрута, чтобы установить Color
свойство выходного текстового объекта маршрута.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| char
| string
'Strength'
— Сила цвета маршрутаСила маршрута окрашивает в виде разделенной запятой пары, состоящей из 'Strength'
и действительный скаляр в области значений [0, 1]. Значение 0
desaturates цвет и цвет маршрута кажется серым. Значение 1
полностью насыщает цвет, и цвет маршрута является чистым цветом. Можно варьироваться значение силы, чтобы изменить уровень насыщения.
Примечание
Используйте силу пары "имя-значение" цвета маршрута, чтобы установить Strength
свойство текстового объекта маршрута.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
lt
— Тип маршрутаDrivingLaneType
возразите | BorderLaneType
возразите | RestrictedLaneType
возразите | ShoulderLaneType
возразите | ParkingLaneType
объектТип маршрута, возвращенный как a
DrivingLaneType
объект
BorderLaneType
объект
RestrictedLaneType
объект
ShoulderLaneType
объект
ParkingLaneType
объект
Возвращенный объект lt
зависит от значения входа type
.
type | lt |
'Driving' | DrivingLaneType объект |
'Border' | BorderLaneType объект |
'Restricted' | RestrictedLaneType объект |
'Shoulder' | ShoulderLaneType объект |
'Parking' | ParkingLaneType объект |
Можно создать неоднородный LaneType
массив путем конкатенации этих различных текстовых объектов маршрута.
Можно добавить дороги, которые имеют несколько типов маршрута к ведущему сценарию путем выполнения этих шагов
Создайте пустой drivingScenario
объект.
Создайте текстовый объект маршрута, который задает различные типы маршрута на дороге при помощи laneType
.
Используйте текстовый объект маршрута в качестве входа к lanespec
возразите и задайте технические требования маршрута для дороги.
Используйте lanespec
возразите, как введено против road
функционируйте и добавьте дороги, которые имеют заданные типы маршрута к ведущему сценарию.
Можно использовать plot
функция, чтобы визуализировать ведущий сценарий.
Можно также импортировать ведущий сценарий, содержащий дороги, которые имеют различные типы маршрута в приложение Driving Scenario Designer. Импортировать drivingScenario
возразите названному scenario
в приложение используйте синтаксис drivingScenarioDesigner(scenario)
. В сценариях вы можете:
Добавьте или отредактируйте дорожные центры.
Добавьте агентов и задайте траектории агента.
Смонтируйте датчики на автомобиле, оборудованном датчиком и симулируйте обнаружение контуров маршрута и агентов.
Примечание
Редактирование параметров маршрута сбрасывает все маршруты на импортированной дороге к типу маршрута 'Driving'
со значениями свойств по умолчанию.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.