exponenta event banner

Создание блоков датчиков с помощью конструктора сценариев управления

В этом примере показано, как обновить датчики радара и камеры модели Simulink ® с помощью приложения «Конструктор сценариев вождения». Приложение «Конструктор сценариев вождения» позволяет быстро и в интерактивном режиме создавать несколько конфигураций датчиков. Затем можно использовать эти сгенерированные конфигурации датчиков в существующих моделях Simulink для более тщательного тестирования алгоритмов управления.

Перед началом этого примера добавьте папку файла примера в путь поиска MATLAB ®.

addpath(genpath(fullfile(matlabroot,'examples','driving')))

Проверка и моделирование модели

Модель, используемая в этом примере, реализует алгоритм слияния датчиков автономного экстренного торможения (AEB). Дополнительные сведения об этой модели см. в примере автономного экстренного торможения с синтезом датчиков. Откройте эту модель.

open_system('AEBTestBenchExample')

Сценарий вождения и генераторы обнаружения датчиков, используемые для тестирования алгоритма, находятся в подсистеме Vehicle Environment > Actors and Sensor Simulation. Откройте эту подсистему.

open_system('AEBTestBenchExample/Vehicle and Environment/Actors and Sensor Simulation')

Блок чтения сценариев считывает актёров и дороги из указанного файла конструктора сценариев вождения. Блок выводит не-эго актеров. Затем эти акторы передаются в блоки датчиков генератора управляющих радиолокационных данных и генератора детектирования зрения. Во время моделирования эти блоки генерируют обнаружения субъектов, не являющихся эго.

Смоделировать и визуализировать сценарий на Bird 's-Eye Scope. На панели инструментов модели в разделе Результаты проверки (Review Results) щелкните Область действия птичьего глаза (Bird 's-Eye Scope). В области нажмите кнопку Найти сигналы, а затем нажмите кнопку Выполнить, чтобы запустить моделирование. В этом сценарии модель AEB заставляет эго-транспортное средство вовремя тормозить, чтобы избежать столкновения с ребенком-пешеходом, который переходит улицу.

В этом примере выполняется замена существующих датчиков в этой модели новыми датчиками, созданными в приложении «Конструктор сценариев вождения».

Загрузить сценарий в приложении

В модели используется сценарий управления, основанный на одном из предварительно разработанных сценариев протокола тестирования Euro NCAP. Эти сценарии можно загрузить из приложения Конструктор сценариев вождения. Более подробную информацию об этих сценариях см. в разделе Сценарии вождения Euro NCAP в Конструкторе сценариев вождения.

Загрузите файл сценария в приложение.

drivingScenarioDesigner('AEB_PedestrianChild_Nearside_50width_overrun.mat')

Чтобы смоделировать сценарий в приложении, щелкните Выполнить. При моделировании приложения, в отличие от моделирования модели, эго-транспортное средство сталкивается с пешеходом. Приложение использует предопределенную траекторию эго-транспортного средства, в то время как модель использует алгоритм AEB для управления траекторией и торможения эго-транспортного средства.

Датчики нагрузки

Загруженный файл сценария содержит только дороги и действующих лиц в сценарии. В отдельном файле содержатся датчики. Чтобы загрузить эти датчики в сценарий, на панели инструментов приложения выберите Открыть > Датчики. Откройте окно AEBSensor.mat файл, расположенный в папке примера. Либо из корневой папки MATLAB перейдите к этому файлу и откройте его: matlabroot/examples/driving/AEBSensors.mat.

На переднем бампере эго-транспортного средства установлен радиолокационный датчик. На переднем окне эго-транспортного средства установлен датчик камеры.

Обновить датчики

Обновите датчики радара и камеры, изменив их расположение на транспортных средствах ego.

  1. На холсте датчика щелкните и перетащите датчик радара к предварительно определенному Front Window местоположение.

  2. Щелкните и перетащите датчик камеры на предварительно определенный Front Bumper местоположение. В этом заранее определенном месте приложение обновляет камеру с датчика малой дальности на датчик большой дальности.

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

  4. Сохраните копию этого нового сценария и конфигурацию датчика в записываемом местоположении.

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

На этом рисунке показан образец обновленной конфигурации датчика.

Экспорт сценария и датчиков в Simulink

Чтобы создать блоки Simulink для сценария и его датчиков, на панели инструментов приложения выберите «Экспорт» > «Экспорт модели Simulink». В этой модели показаны образцы блоков, экспортированные из приложения.

open_system('AEBGeneratedScenarioAndSensors')

При отсутствии изменений в дорогах и актерах в сценарии блок чтения сценариев считывает те же данные о дорогах и актерах, которые использовались в модели AEB. Генератор данных радара и генератор обнаружения зрения блокируют модель радара и камеры, созданных в приложении.

Копирование экспортированного сценария и датчиков в существующую модель

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

Для начала в модели AEB снова откройте подсистему Vehicle Environment > Actors and Sensor Simulation.

open_system('AEBTestBenchExample/Vehicle and Environment/Actors and Sensor Simulation')

Далее, чтобы справиться со сценарием и блоками датчиков с сгенерированными, выполните следующие действия:

  1. Удалите существующие блоки «Считыватель сценариев», «Генератор радиолокационных данных» и «Генератор обнаружения видения». Не удаляйте сигнальные линии, вводимые в блок считывателя сценариев или выводимые из блоков датчиков. Либо отсоедините эти блоки, не удаляя их, и прокомментируйте их вне модели. С помощью этой опции можно сравнить существующие блоки с новыми и при необходимости вернуться назад. Выберите каждый блок. Затем на вкладке «Блок» выберите «Комментарий».

  2. Скопируйте блоки из созданной модели в модель AEB.

  3. Откройте скопированный блок чтения сценариев и задайте для параметра Source of ego vehicle значение Input port. Нажмите кнопку OK. Модель AEB определяет транспортное средство ego в блоке Pack Ego Actor, которое подключается к порту Ego Vehicle блока считывателя сценариев.

  4. Подключите существующие сигнальные линии к скопированным блокам. Чтобы очистить компоновку модели, на вкладке Формат (Format) модели выберите Автокомпоновка (Auto Orrange).

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

Моделирование обновленной модели

Чтобы визуализировать обновленное моделирование сценария, снова откройте область «Птичий глаз», нажмите кнопку «Найти сигналы» и нажмите кнопку «Выполнить». При этой обновленной конфигурации датчика эго-автомобиль вовремя не тормозит.

Чтобы попробовать различные конфигурации датчиков, перезагрузите сценарий и датчики в приложении, экспортируйте новые сценарии и датчики и скопируйте их в модель AEB.

По завершении моделирования модели удалите папку файла примера из пути поиска MATLAB.

rmpath(genpath(fullfile(matlabroot,'examples','driving')))

См. также

Приложения

Блоки

Связанные темы