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

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

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

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

Откройте Driving Scenario Designer приложения. В командной строке MATLAB введите:

drivingScenarioDesigner

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

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

matlabroot/examples/driving/data/intersection.xodr

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

В Scenario Canvas приложения отображается импортированная дорожная сеть. Дороги в этой сети - тысячи метров в длину. Увеличьте изображение (нажмите Ctrl+Plus) на дороге, чтобы осмотреть его более внимательно.

Осмотр дорог

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

Проверьте, что дорожная сеть импортирована должным образом, учитывая следующие ограничения и поведение в приложении.

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

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

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

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

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

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

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

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

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

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

Driving Scenario DesignerOpenDRIVE ODR Viewer

В средстве просмотра ODR OpenDRIVE ось X проходит вдоль дна средства просмотра, а ось Y запуски вдоль левой оси средства просмотра.

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

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

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

Дополнительные сведения о системах координат см. в разделе «Системы координат в Automated Driving Toolbox».

Дорожные центры на ребрах

В приложении Driving Scenario Designer расположение и ориентация дорог определяются road centers. Когда вы создаете дорогу в приложении, дорожные центры всегда находятся посередине дороги. Однако, когда вы импортируете дорожные сети OpenDRIVE в приложение, некоторые дороги имеют свои дорожные центры на ребрах дорог. Такое поведение происходит, когда дороги OpenDRIVE явно заданы как правые полосы или левые полосы.

Рассмотрим разделенную магистраль в импортированном файле OpenDRIVE. Во-первых, включите взаимодействие дорог, чтобы вы могли увидеть дорожные центры. В левом нижнем углу Scenario Canvas нажмите кнопку Configure the Scenario Canvas и выберите Enable road interactions.

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

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

Добавьте актёров и датчики к сценарию

Можно добавить актёров и датчики в сценарий, содержащий дороги OpenDRIVE. Однако добавить другие дороги в сценарий нельзя. Если сценарий содержит дорожную сеть OpenDRIVE, кнопка Add Road на панели инструментов приложения отключается. В сложение, вы не можете импортировать дополнительные дорожные сети OpenDRIVE в сценарий.

Перед добавлением актёра и датчиков, если у вас включено взаимодействие дорог, рассмотрите их отключение, чтобы предотвратить случайное перетаскивание центров дорог и изменение дорожной сети. Если взаимодействие дорог включено, в левом нижнем углу Scenario Canvas нажмите кнопку Configure the Scenario Canvas, а затем снимите Disable road interactions.

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

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

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

Сгенерируйте синтетические обнаружения

Чтобы сгенерировать обнаружения маршрута из камеры, на панели инструментов приложения нажмите Run. Когда сценарий запускается, Ego-Centric View отображает сценарий с точки зрения автомобиля , оборудованного датчиком. В Bird’s-Eye Plot отображаются левые и правые контуры автомобиля , оборудованного датчиком.

Чтобы экспортировать обнаружения в рабочее пространство MATLAB, на панели инструментов приложения нажмите Export > Export Sensor Data. Назовите переменную рабочей области и нажатия кнопки OK.

Export Export MATLAB Function > опцией отключена. Если сценарий содержит дороги OpenDRIVE, тогда вы не можете экспортировать функцию MATLAB, которая генерирует сценарий и его обнаружения.

Сценарий сохранения

После генерации обнаружений щелкните Save, чтобы сохранить файл сценария. В сложение можно сохранить модели датчиков как отдельные файлы. Можно также сохранить модели дороги и актёра вместе как отдельный файл сценария.

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

drivingScenarioDesigner(scenarioFileName)

При повторном открытии этого файла кнопка Add Road остается отключенной.

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

Ссылки

[1] Dupuis, Marius, et al. Спецификация формата OpenDRIVE. Редакция 1.4, Выпуск H, № документа VI2014.106. Bad Aibling, Германия: VIRES Simulationstechnologie GmbH, 4 ноября 2015 года.

См. также

Приложения

Блоки

Объекты

Функции

Похожие темы

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