OpenDRIVE® [1] - открытый формат файла, позволяющий задавать большие и сложные дорожные сети. Используя приложение Driving Scenario Designer, можно импортировать дороги и полосы из файла OpenDRIVE в сценарий вождения. Затем можно добавить актёров и датчики к сценарию и сгенерировать синтетические обнаружения маршрута и объектов для проверки ваших алгоритмов вождения, разработанных в MATLAB®. В качестве альтернативы протестировать алгоритмы вождения, разработанные в Simulink®можно использовать блок Scenario Reader, чтобы считать дорожную сеть и актёров в модель.
Импорт дорог и полос OpenDRIVE в drivingScenario
объект вместо в приложение используйте roadNetwork
функция.
Откройте 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) на дороге, чтобы осмотреть его более внимательно.
На импортированной дорожной сети видна пара двухполосных дорог, пересекающихся с одной двухполосной дорогой.
Проверьте, что дорожная сеть импортирована должным образом, учитывая следующие ограничения и поведение в приложении.
Приложение 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 Designer | OpenDRIVE 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 года.