exponenta event banner

Импорт дорог OpenDRIVE в сценарий управления

OpenDRIVE ® [1] - это открытый формат файла, позволяющий указать большие и сложные сети дорог. С помощью приложения Driving Script Designer можно импортировать дороги и полосы движения из файла OpenDRIVE в сценарий движения. Затем к сценарию можно добавить актеров и датчики и создать синтетические детекторы полос движения и объектов для тестирования алгоритмов вождения, разработанных в MATLAB ®. Кроме того, для тестирования алгоритмов вождения, разработанных в Simulink ®, можно использовать блок считывателя сценариев для считывания дорожной сети и действующих лиц в модель.

Импорт дорог и полос OpenDRIVE в drivingScenario вместо в приложении используйте roadNetwork функция.

Импорт файла OpenDRIVE

Откройте приложение «Конструктор сценариев управления». В командной строке MATLAB введите:

drivingScenarioDesigner

Чтобы импортировать файл OpenDRIVE, на панели инструментов приложения выберите Импорт, а затем Сеть дорог OpenDRIVE. Выбранный файл должен быть допустимым файлом OpenDRIVE типа .xodr или .xml. Кроме того, файл должен соответствовать спецификации формата OpenDRIVE версии 1.4H.

Из корневой папки MATLAB перейдите к этому файлу и откройте его:

matlabroot/examples/driving/data/intersection.xodr

Поскольку невозможно импортировать дорожную сеть OpenDRIVE в существующий файл сценария, приложение предлагает сохранить текущий сценарий управления.

На Холсте сценария приложения отображается импортированная дорожная сеть. Дороги в этой сети имеют длину тысячи метров. Увеличьте изображение (нажмите Ctrl + Plus) на дороге, чтобы проверить ее более тщательно.

Осмотр дорог

Импортированная дорожная сеть показывает пару двухполосных дорог, пересекающихся с одной двухполосной дорогой.

Убедитесь, что дорожная сеть импортирована так, как ожидалось, с учетом следующих ограничений и поведения в приложении.

Ограничения импорта OpenDRIVE

Приложение Driving Script Designer не поддерживает все компоненты спецификации OpenDRIVE.

  • Можно импортировать только полосы движения, информацию о типах полос и дороги. Импорт дорожных объектов и сигналов дорожного движения не поддерживается.

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

  • Полосы с переменной шириной не поддерживаются. Для ширины задается наибольшая ширина в пределах этой полосы. Например, если ширина полосы варьируется от 2 до 4 метров, приложение устанавливает ширину полосы в 4 метра.

  • Дороги с информацией о типе полосы движения, указанной как driving, border, restricted, shoulder, и parking поддерживаются. Полосы движения с любой другой информацией о типах полос движения импортируются как пограничные полосы.

  • Дороги со стилями разметки нескольких полос, указанными как 'Unmarked', 'Solid', 'DoubleSolid', 'Dashed', 'DoubleDashed', 'SolidDashed', и 'DashedSolid' поддерживаются.

  • Стили разметки полос движения Bott Dots, Curbs, и Grass не поддерживаются. Полосы с этими стилями разметки импортируются как немаркированные.

Ориентация дороги

В приложении Driving Script Designer ориентация дорог может отличаться от ориентации дорог в других инструментах, отображающих дороги OpenDRIVE. В таблице показано различие в ориентации между приложением и OpenDRIVE ODR Viewer.

Конструктор сценариев управленияСредство просмотра ODR OpenDRIVE

В средстве просмотра ODR OpenDrive ось X проходит вдоль нижней части средства просмотра, а ось Y - вдоль левой части средства просмотра.

В приложении «Конструктор сценариев управления» ось Y проходит по нижней части холста, а ось X - по левой части холста. Эта мировая система координат в приложении совпадает с системой координат транспортного средства (XV, YV), используемой транспортными средствами в сценарии вождения, где:

  • В данном сценарии XV-ось (продольная ось) указывает вперед от транспортного средства.

  • Ось YV (боковая ось) указывает влево от транспортного средства, если смотреть вперед.

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

Центры дорог по краям

В приложении «Конструктор сценариев вождения» местоположение и ориентация дорог определяются дорожными центрами. При создании дороги в приложении центры дорог всегда находятся в середине дороги. Однако при импорте дорожных сетей OpenDRIVE в приложение некоторые дороги имеют свои центры дорог на краях дорог. Такое поведение происходит, когда дороги OpenDRIVE явно указаны как правые или левые полосы.

Рассмотрим разделенную магистраль в импортированном файле OpenDRIVE. Во-первых, включите взаимодействие дорог, чтобы можно было видеть центры дорог. В левом нижнем углу Холста сценария нажмите кнопку Настроить Холст сценария и выберите Включить взаимодействие дорог.

  • Полосы с правой стороны шоссе имеют свои дорожные центры на правом краю.

  • Полосы с левой стороны шоссе имеют свои дорожные центры на левом краю.

Добавление субъектов и датчиков в сценарий

К сценарию, содержащему дороги OpenDRIVE, можно добавить актеров и датчики. Однако к сценарию нельзя добавить другие дороги. Если сценарий содержит дорожную сеть OpenDRIVE, кнопка «Добавить дорогу» на панели инструментов приложения отключается. Кроме того, в сценарий нельзя импортировать дополнительные сети дорог OpenDRIVE.

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

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

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

Сконфигурируйте камеру для обнаружения полос движения. На левой панели на вкладке «Датчики» разверните раздел «Параметры обнаружения». Затем задайте для параметра Detection Type значение Lanes.

Создание синтетических обнаружений

Чтобы создать обнаруженные дорожки с камеры, на панели инструментов приложения нажмите кнопку Выполнить. По мере выполнения сценария Ego-Centric View отображает сценарий с точки зрения ego-транспортного средства. График птичьего глаза отображает левую и правую границы эго-транспортного средства.

Чтобы экспортировать обнаруженные объекты в рабочую область MATLAB, на панели инструментов приложения щелкните Экспорт > Экспорт данных датчика. Присвойте переменной рабочей области имя и нажмите кнопку ОК.

Опция «Экспорт» > «Экспорт функции MATLAB» отключена. Если сценарий содержит дороги OpenDRIVE, то нельзя экспортировать функцию MATLAB, которая генерирует сценарий и его обнаружения.

Сохранить сценарий

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

Этот файл сценария можно повторно открыть из приложения. Кроме того, этот синтаксис можно использовать в командной строке MATLAB.

drivingScenarioDesigner(scenarioFileName)

При повторном открытии этого файла кнопка «Добавить дорогу» остается выключенной.

Если вы разрабатываете алгоритм вождения в Simulink, вы можете использовать блок чтения сценариев для чтения дорог и актеров из drivingScenario объект или файл сценария в модели. Файлы сценариев, содержащие большие сети дорог OpenDRIVE, могут занимать до нескольких минут для чтения моделей. Блок чтения сценариев не считывает данные датчика напрямую. Чтобы добавить датчики, созданные в приложении, в модель Simulink, можно создать модель, содержащую сценарий и датчики, выбрав Экспорт > Экспорт модели Simulink. В этой модели блок считывателя сценариев считывает сценарий, а блоки датчиков радара и зрения моделируют датчики.

Ссылки

[1] Dupuis, Marius и др. Спецификация формата OpenDRIVE. Редакция 1.4, Выпуск Н, No документа VI2014.106. Бад Айблинг, Германия: VIRES Simulationstechnologie GmbH, 4 ноября 2015 г.

См. также

Приложения

Блоки

Объекты

Функции

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

Внешние веб-сайты