Создание объекта типа полосы движения
возвращает объект типа дорожной полосы со свойствами lt = laneType(type)Type, Color, и Strength определение различных типов полос движения для дороги.
Этот объект можно использовать для создания сценариев движения с дорогами, имеющими полосы движения, пограничные полосы, ограниченные полосы движения, обочины и парковочные полосы. Этот сценарий также можно загрузить в приложение «Конструктор сценариев управления».
Для получения подробной информации о шагах, связанных с использованием laneType функции с помощью drivingScenario объект и приложение «Конструктор сценариев управления» см. в разделе Подробнее.
задает свойства объекта типа выходной полосы движения, используя одну или несколько пар имя-значение.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 функция для визуализации сценария вождения.
Можно также импортировать сценарий движения, содержащий дороги с различными типами полос движения, в приложение Конструктор сценариев движения. drivingScenario объект с именем scenario в приложении, используйте синтаксис drivingScenarioDesigner(scenario). В сценариях можно:
Добавьте или отредактируйте центры дорог.
Добавление актёров и определение траекторий актёров.
Монтировать датчики на эго-транспортном средстве и имитировать обнаружение действующих лиц и границ полос движения.
Примечание
При редактировании параметров полосы все полосы движения в импортированной дороге сбрасываются в соответствии с типом полосы. 'Driving' со значениями свойств по умолчанию.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.