Создайте объект типа дорожной полосы
возвращает объект типа дорожной полосы со свойствами 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]);
Задайте траектории транспортного средства при помощи точек пути. Установите скорости траектории транспортного средства.
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', 'Border', '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 десатурирует цвет, и цвет маршрута выглядит серым. Значение 1 полностью насыщает цвет, и цвет маршрута является чистым цветом. Можно изменить значение прочности, чтобы изменить уровень насыщения.
Примечание
Используйте силу пары "имя-значение" цвета маршрута, чтобы задать Strength свойство объекта типа маршрута.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
lt - Тип маршрутаDrivingLaneType | объекта BorderLaneType | объекта RestrictedLaneType | объекта ShoulderLaneType | объекта ParkingLaneType объектТип маршрута, возвращенный как
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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.