В этом примере показано, как создать сценарий вождения и создать детекторы датчиков зрения и радара из сценария с помощью приложения Конструктор сценариев вождения. Эти синтетические данные можно использовать для тестирования контроллеров или алгоритмов слияния датчиков.
В этом примере показан весь рабочий процесс создания сценария и создания синтетических данных датчика. Кроме того, можно создать данные датчика из предварительно разработанных сценариев. См. раздел Готовые сценарии вождения в конструкторе сценариев вождения.
Чтобы открыть приложение, в командной строке MATLAB ® введитеdrivingScenarioDesigner.
Добавьте криволинейную дорогу к холсту сценария. На панели инструментов приложения щелкните Добавить дорогу. Затем щелкните один угол холста, удлините дорогу до противоположного угла и дважды щелкните холст, чтобы создать дорогу.

Чтобы создать кривую дороги, добавьте центр дороги, вокруг которого ее нужно искривить. Щелкните правой кнопкой мыши середину дороги и выберите «Добавить центр дороги». Затем перетащите добавленный центр дороги в один из пустых углов полотна.

Для дальнейшей настройки дороги можно щелкнуть и перетащить любой центр дороги. Для создания более сложных кривых добавьте дополнительные центры дорог.
По умолчанию дорога представляет собой одну полосу движения и не имеет разметки полосы движения. Чтобы сделать сценарий более реалистичным, преобразуйте дорогу в двухполосное шоссе. На левой панели на вкладке «Дороги» разверните раздел «Полосы движения». Задайте для параметра «Количество полос» значение [1 1]. Приложение устанавливает для параметра «Ширина полосы» значение 3.6 метров, что является типичной шириной полосы движения шоссе.

Белая сплошная разметка полос на любом краю дороги указывает на обочину дороги. Жёлтая, двойная сплошная разметка полосы в центре указывает на то, что дорога является дорогой с двусторонним движением. Для проверки или изменения этих полос в списке «Разметка полосы движения» выберите одну из полос движения и измените ее параметры.
Чтобы добавить барьеры вдоль краев криволинейной дороги, используйте панель инструментов приложения или контекстное меню дороги. На панели инструментов приложения щелкните Добавить актера > Барьер Джерси. Переместите курсор к правому краю дороги и щелкните мышью, чтобы добавить вдоль нее барьер. Также откроется вкладка Барьеры на левой панели. Чтобы добавить зазор 1 м между сегментами барьера, измените значение свойства «Зазор сегмента (m)» на вкладке «Барьеры» на 1.

Чтобы добавить ограждение к левому краю дороги с помощью контекстного меню дороги, щелкните его правой кнопкой мыши и выберите «Добавить ограждение» > «Левое ребро». С помощью свойства «Зазор между сегментами» на вкладке «Барьеры» задайте расстояние между сегментами ограждения в 1 м.

По умолчанию первым автомобилем, добавляемым в сценарий, является эго-автомобиль, который является основным автомобилем в сценарии вождения. Эго-транспортное средство содержит датчики, которые обнаруживают разметку полосы движения, пешеходов или другие автомобили в сценарии. Добавьте эго-транспортное средство, а затем добавьте второй автомобиль для эго-транспортного средства для обнаружения.
Чтобы добавить эго-автомобиль, щелкните правой кнопкой мыши один конец дороги и выберите «Добавить автомобиль». Чтобы задать траекторию автомобиля, щелкните его правой кнопкой мыши, выберите «Добавить ППМ» и добавьте ППМ вдоль дороги для прохождения автомобиля. После того, как вы добавите последний ППМ вдоль дороги, нажмите Enter. Автомобиль autorotates в направлении первого ППМ. Для большей точности по траектории можно скорректировать ППМ. Можно также щелкнуть контур правой кнопкой мыши для добавления новых ППМ.

Треугольник обозначает позу транспортного средства, при этом начало координат расположено в центре задней оси транспортного средства.
Отрегулируйте скорость автомобиля. На левой панели на вкладке «Исполнители» установите для параметра «Постоянная скорость» значение 15 м/с. Для дополнительного контроля скорости автомобиля установите скорость между ППМ в столбце v (м/с) таблицы «ППМ», «Скорости», «Время ожидания» и «Время ожидания».
Добавьте транспортное средство для обнаружения датчиков эго-транспортного средства. На панели инструментов приложения щелкните Добавить актера и выберите Автомобиль. Добавьте второй автомобиль с ППМ, проезжающий по полосе напротив эго-транспортного средства и на другом конце дороги. Оставьте без изменений скорость и другие настройки автомобиля.

Добавьте к сценарию пешехода, переходящего дорогу. Увеличьте изображение середины дороги, щелкните правой кнопкой мыши на одной стороне дороги и выберите «Добавить пешехода». Затем, чтобы задать путь пешехода, добавьте ППМ на другой стороне дороги.

По умолчанию цвет пешехода почти совпадает с цветом разметки полосы движения. Чтобы сделать пешехода более выделяющимся, на вкладке «Действующие лица» щелкните соответствующий цветовой фрагмент для пешехода, чтобы изменить его цвет.
Чтобы проверить скорость автомобилей и пешехода, проведите симуляцию. При необходимости настройте скорости актера или другие свойства, выбрав актера на левой панели вкладки «Актеры».

Например, если автомобили сталкиваются с пешеходом, в столбце v (м/с) таблицы Waypoints, Speeds, Wait Times и Yaw отрегулируйте скорости автомобилей или пешехода. В качестве альтернативы, в столбце «ожидание» («s») таблицы, установите время ожидания для автомобилей на ППМ до того, как пешеход пересечет улицу.
По умолчанию моделирование заканчивается, когда первый исполнитель завершает свою траекторию. Чтобы завершить моделирование только после того, как все участники завершат свою траекторию, на панели инструментов приложения сначала щелкните Настройки. Затем установите для параметра Stop Condition значение Last actor stops.
Добавьте камеру, радар и датчики лидара к эго-транспортному средству. Эти датчики используются для генерации обнаружений и данных облака точек из сценария.
На панели инструментов приложения щелкните Добавить камеру. На полотне датчика показаны стандартные места для размещения датчиков. Для добавления датчика камеры к переднему бамперу эго-транспортного средства щелкните по самому переднему предварительно заданному местоположению датчика.

Для более точного размещения датчиков можно отключить параметры привязки. В левом нижнем углу холста датчика нажмите кнопку «Настроить холст датчика».![]()
По умолчанию камера обнаруживает только актеров, а не полосы движения. Чтобы включить обнаружение полос движения, на вкладке «Датчики» на левой панели разверните раздел «Параметры обнаружения» и установите для параметра «Тип обнаружения» значение Objects & Lanes. Затем разверните раздел «Параметры полосы движения» и при необходимости обновите параметры.
Привязать радиолокационный датчик к переднему левому колесу. Щелкните правой кнопкой мыши заданное местоположение датчика для колеса и выберите Добавить радар (Add Radar). По умолчанию датчики, добавленные к колесам, являются датчиками малой дальности.
Наклоните датчик радара к передней части автомобиля. Наведите курсор на зону покрытия, затем щелкните и перетащите угловую маркировку.

Добавьте идентичный радиолокационный датчик к переднему правому колесу. Щелкните правой кнопкой мыши датчик на переднем левом колесе и выберите «Копировать». Затем щелкните правой кнопкой мыши заданное местоположение датчика для переднего правого колеса и выберите Вставить (Paste). Ориентация скопированного датчика отражает ориентацию датчика на противоположном колесе.

Прикрепите лидарный датчик к центру крыши транспортного средства. Щелкните правой кнопкой мыши на заданном местоположении датчика для центра крыши и выберите «Добавить лидар».

Датчик лидара отображается черным цветом. Серый цвет, окружающий транспортное средство, является зоной покрытия датчика. Уменьшите изображение, чтобы увидеть полный вид зон покрытия для различных датчиков.

Чтобы создать данные от датчиков, щелкните Выполнить (Run). По мере выполнения сценария график птичьего глаза отображает обнаруженные объекты и данные облака точек.

В Ego-Centric View отображается сценарий с точки зрения транспортного средства ego.

Поскольку указан лидарный датчик, в Ego-Centric View и Bird 's-Eye Plot вместо кубовидных представлений отображаются сетчатые представления актёров. Лидарные датчики используют эти более подробные представления субъектов для генерации данных облака точек. Холст сценария по-прежнему отображает только кубовидные представления. Датчики радара и зрения основывают свои обнаружения на кубоидных представлениях.
Чтобы отключить сети актера, определенные типы обнаружений или другие аспекты отображения, используйте свойства в разделе Отображение на панели инструментов приложения.
По умолчанию сценарий заканчивается, когда первый актер прекращает движение. Чтобы запустить сценарий в течение заданного периода времени, на панели инструментов приложения щелкните Параметры и измените условие остановки.
Затем экспортируйте обнаружение датчика:
Чтобы экспортировать данные датчика в рабочую область MATLAB, на панели инструментов приложения выберите Экспорт > Экспорт данных датчика. Назовите переменную рабочего пространства и нажмите кнопку ОК. Приложение сохраняет данные датчика как структуру, содержащую данные датчика, такие как позиции актера, обнаружения объектов и обнаружения полос движения на каждом шаге времени.
Для экспорта функции MATLAB, генерирующей сценарий и данные датчика, выберите Экспорт > Экспорт функции MATLAB. Эта функция возвращает данные датчика в виде структуры, сценарий в виде drivingScenario и модели датчиков как системные объекты. Путем изменения этой функции можно создать варианты исходного сценария. Пример этого процесса см. в разделе Программное создание вариантов сценария управления.
После создания обнаружений нажмите кнопку Сохранить, чтобы сохранить файл сценария. Можно также сохранить модели датчиков в виде отдельных файлов и сохранить модели дорог и акторов вместе в виде отдельного файла сценария.
Этот файл сценария можно повторно открыть из приложения. Кроме того, этот синтаксис можно использовать в командной строке MATLAB.
drivingScenarioDesigner(scenarioFileName)
drivingScenario объект. В командной строке MATLAB используйте этот синтаксис, где scenario - имя экспортируемого объекта.drivingScenarioDesigner(scenario)
sensors является объектом датчика или массивом ячеек таких объектов.drivingScenarioDesigner(scenario,sensors)
drivingScenario объект в модели. Этот блок не считывает данные датчика напрямую. Чтобы добавить датчики, созданные в приложении, в модель Simulink, создайте модель, содержащую сценарий и датчики, выбрав Экспорт > Экспорт модели Simulink. В модели сгенерированный блок чтения сценариев считывает сценарий, а сгенерированные блоки датчиков определяют датчики.drivingRadarDataGenerator | drivingScenario | insSensor | lidarPointCloudGenerator | visionDetectionGenerator